08.01.2013 Views

DigitalVideoAndHDTVAlgorithmsAndInterfaces.pdf

DigitalVideoAndHDTVAlgorithmsAndInterfaces.pdf

DigitalVideoAndHDTVAlgorithmsAndInterfaces.pdf

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Each nonintra macroblock in an interlaced sequence<br />

can be predicted either by frame prediction (typically<br />

chosen by the encoder when there is little motion<br />

between the fields), or by field prediction (typically<br />

chosen by the encoder when there is significant interfield<br />

motion). This is comparable to field/frame coding<br />

in DV, which I described on page 463. Predictors for<br />

a field picture must be field predictors. However,<br />

predictors for a frame picture may be chosen on<br />

a macroblock-by-macroblock basis to be either field<br />

predictors or frame predictors. MPEG-2 defines several<br />

additional prediction modes, which can be selected on<br />

a macroblock-by-macroblock basis. MPEG-2’s prediction<br />

modes are summarized in Table 40.9 overleaf.<br />

Motion vectors (MVs)<br />

A motion vector identifies a region of 16×16 luma<br />

samples that are to be used for prediction. A motion<br />

vector refers to a prediction region that is potentially<br />

quite distant (spatially) from the region being coded –<br />

that is, the motion vector range can be quite large.<br />

Even in field pictures, motion vectors are specified in<br />

units of frame luma samples. A motion vector can be<br />

specified to half-sample precision: If the fractional bit of<br />

a motion vector is set, then the prediction is formed by<br />

averaging sample values at the neighboring integer<br />

coordinates – that is, by linear interpolation. Transmitted<br />

motion vector values are halved for use with<br />

subsampled chroma. All defined profiles require that no<br />

motion vector refers to any sample outside the bounds<br />

of the anchor frame.<br />

Each macroblock’s header contains a count of motion<br />

vectors. Motion vectors are themselves predicted! An<br />

initial MV is established at the start of a slice (see<br />

page 494); the motion vector for each successive<br />

nonintra macroblock is differentially coded with respect<br />

to the previous macroblock in raster-scan order.<br />

Motion vectors are variable-length encoded (VLE), so<br />

that short vectors – the most likely ones in large areas<br />

of translational motion or no motion – are coded<br />

compactly. Zero-valued motion vectors are quite likely,<br />

so provision is made for compact coding of them.<br />

484 DIGITAL VIDEO AND HDTV ALGORITHMS AND INTERFACES

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!