Information Technology Reference
In-Depth Information
Figure 5.40: An MPEG-2 coder. See text for details.
The buffer in the decoder has a finite capacity and the encoder must model the decoder's buffer occupancy so that
it neither overflows nor underflows. An overflow might occur if an I picture is transmitted when the buffer content is
already high. The buffer occupancy of the decoder depends somewhat on the memory access strategy of the
decoder. Instead of defining a specific buffer size, MPEG-2 defines the size of a particular mathematical model of a
hypothetical buffer. The decoder designer can use any strategy which implements the model, and the encoder can
use any strategy which doesn't overflow or underflow the model. The elementary stream has a parameter called
the video buffer verifier (VBV) which defines the minimum buffering assumptions of the encoder.
As was seen in Chapter 1 , buffering is one way of ensuring constant quality when picture entropy varies. An
intelligent coder may run down the buffer contents in anticipation of a difficult picture sequence so that a large
amount of data can be sent.
MPEG-2 does not define what a decoder should do if a buffer underflow or overflow occurs, but since both
irrecoverably lose data it is obvious that there will be more or less of an interruption to the decoding. Even a small
loss of data may cause loss of synchronization and in the case of long GOP the lost data may make the rest of the
GOP undecodable. A decoder may chose to repeat the last properly decoded picture until it can begin to operate
correctly again.
Buffer problems occur if the VBV model is violated. If this happens then more than one underflow or overflow can
result from a single violation. Switching an MPEG bitstream can cause a violation because the two encoders
concerned may have radically different buffer occupancy at the switch.
5.17 The elementary stream
Figure 5.41 shows the structure of the elementary stream from an MPEG- 2 encoder. The structure begins with a
set of coefficients representing a DCT block. Six or eight DCT blocks form the luminance and chroma content of
one macroblock. In P and B pictures a macroblock will be associated with a vector for motion compensation.
Macroblocks are associated into slices in which DC coefficients of I pictures and vectors in P and B pictures are
differentially coded. An arbitrary number of slices forms a picture and this needs I/P/B flags describing the type of
picture it is. The picture may also have a global vector which efficiently deals with pans.
Several pictures form a group of pictures (GOP). The GOP begins with an I picture and may or may not include P
and B pictures in a structure which may vary dynamically.
 
Search WWH ::




Custom Search