Search code examples
encodingmpeg

Mpeg frame with null moving vector


I'm not expert in MPEG frame structure. I'd like however to learn what is the difference between a MPEG frame with null moving vector, and another one with non null moving vector.


Solution

  • Motion vector is not a characteristic of a MPEG frame (picture), instead it is a property of a macroblock. Only macroblocks contained in Predicted (P) and Bi-directional (B) pictures have motion vectors. Those in Intra (I) pictures does not.

    Predicted frames contain only the "difference" between the current picture and a previous (anchor) picture. Macroblocks represents a (usually) 16x16 subpicture region. Of course each macroblock have specific coordinates. So normally each macroblock will be predicted on basis of the macroblock with the same coordinates from the previous (anchor) picture.

    Motion vector is introduced to allow predicting a macroblock from a previous macroblock, which has different coordinates related to the current one. So the motion vector describes the coordinates of the anchor macroblock relative to the current macroblock.

    Therefore "NULL" motion vector will mean that a P/B-picture macroblock will be predicted from a anchor macroblock with same coordinates.