User guide

MACROBLOCKS AND MOTION
The encoder divides a frame into a grid of blocks, called macroblocks,
and attempts to track the motion of each macroblock in the current
frame back to a matching area of picture in the previous frame. This
process is known as the motion search.
When the encoder finds a matching area for a block in the previous
frame its position is recorded by use of a vector. A vector is simply a
numerical representation of direction and magnitude. For example
the vector (4, -7) might mean right 4 units, down 7 units.
Because these vectors happen to represent the movement of a
macroblock they are called motion vectors. In the illustrations the
red arrows represent the motion vectors.
Storing the motion vector of each block from frame-to-frame allows
DivX to recreate much of each new frame from the last using far less
data than if each block were stored as a complete image. The process
is similar to cutting up one frame into little pieces, then maneuvering
them like a make-shift jigsaw puzzle using motion vectors in order
to recreate the next frame. Of course the resulting picture is not
perfect and DivX has to store some additional data to correct for
the difference (known as the residual). Even so, recreating the
picture using motion vectors and residual consumes far less
storage than recording the entire image for every single frame.
DivX 10
54
DivX, LLC User Guide