120 likes | 378 Views
Motion representation. Pixel-based: One MV at each pixel, with some smoothness constraint between adjacent MVs. Global: Entire motion field is represented by a few global parameters. Region-based: Entire frame is divided into regions, each region corresponding
E N D
Motion representation Pixel-based: One MV at each pixel, with some smoothness constraint between adjacent MVs. Global: Entire motion field is represented by a few global parameters Region-based: Entire frame is divided into regions, each region corresponding to an object or subobject with consistent motion, represented by a few parameters. Block-based: Entire frame is divided into blocks, and motion in each block is characterized by a few parameters.
Typically, the displaced frame difference, computed on a block-by-block basis, is minimized. How? - exhaustive search, or (much faster) - gradient-based, multiresolution, or log search Real MV may not always be multiples of pixels. To allow subpixel MV, the search step size must be less than 1 pixel, e.g. ½ pixel (the image has to be interpolated…)
Mesh-based motion estimation • Using a triangular or a quadrilateral mesh
Block-based vs mesh-based • In mesh-based, motion in each element is interpolated from nodal MVs • In mesh-based: two problems – Set up the mesh in the anchor frame, so that the mesh conforms with object boundaries: mesh generation – Given a mesh in the anchor frame, determine nodal positions in the target frame: motion estimation
Video coding: outline • Predict a new frame from a previous frame and only code the prediction error • Prediction error will be coded using the DCT method • Those regions that cannot be predicted well will be coded directly using DCT • Work on each macroblock (MB) (16x16 pixels) independently for reduced complexity – Motion compensation done at the MB level – DCT coding of error at the block level (8x8 pixels)