written 6.2 years ago by | modified 2.8 years ago by |
Subject: Multimedia System
Topic: Video Compression Techniques
Difficulty: Medium
written 6.2 years ago by | modified 2.8 years ago by |
Subject: Multimedia System
Topic: Video Compression Techniques
Difficulty: Medium
written 6.2 years ago by |
Motion compensation is an algorithmic technique used to predict a frame in a video, given the previous and/or future frames by accounting for motion of the camera and/or objects in the video.
It is employed in the encoding of video data for video compression, for example in the generation of MPEG-2 files. Motion compensation describes a picture in terms of the transformation of a reference picture to the current picture.
The reference picture may be previous in time or even from the future. When images can be accurately synthesized from previously transmitted/stored images, the compression efficiency can be improved.
Motion compensation exploits the fact that, often, for many frames of a movie, the only difference between one frame and another is the result of either the camera moving or an object in the frame moving.
In reference to a video file, this means much of the information that represents one frame will be the same as the information used in the next frame.
Using motion compensation, a video stream will contain some full (reference) frames; then the only information stored for the frames in between would be the information needed to transform the previous frame into the next frame.
Each image is divided into macro blocks of size N × N.
By default, N = 16 for luminance images. For chrominance images, N = 8 if 4:2:0 chroma sub sampling is adopted.
Motion compensation is performed at the macro block level.
The current image frame is referred to as Target Frame.
A match is sought between the macro block in the Target Frame and the most similar macro block in previous and/or future frame(s) (referred to as Reference frame(s)).
The displacement of the reference macro block to the target macro block is called a motion vector MV.
Figure below shows the case of forward prediction in which the Reference frame is taken to be a previous frame.
MV search is usually limited to a small immediate neighborhood both horizontal and vertical displacements in the range [−p, p].
This makes a search window of size (2p + 1) × (2p + 1)