Inside Collection (Course): Image Coding
Summary: An explanation of how motion estimation for MCPC works.
Motion estimation is the processes which generates the motion vectors that determine how each motion compensated prediction frame is created from the previous frame.
Block Matching (BM) is the most common method of
motion estimation. Typically each macroblock (
BM can be very computationally demanding if all shifts of each
macroblock are analysed. For example, to analyse shifts of up
to
Significant savings can be made with hierarchical BM, in which an approximate motion estimate is obtained from exhaustive search using a lowpass subsampled pair of images, and then the estimate is refined by a small local search using the full resolution images. Subsampling 2:1 in each direction reduces the number of macroblock pels and the number of shifts by 4:1, producing a computational saving of 16:1!
There are many other approaches to motion estimation, some using the frequency or wavelet domains, and designers have considered scope to invent new methods since this process does not need to be specified in coding standards. The standards need only specify how the motion vectors should be interpreted by the decoder (a much simpler process). Unfortunately, we do not have time to discuss these other approaches here.