Information Technology Reference
In-Depth Information
MPEG-1 and MPEG-2 also use a simple compression scheme on the vectors. Figure 5.21 shows that in the case
of a large moving object, all the vectors within the object will be identical or nearly so. A horizontal run of
macroblocks can be associated to form a structure called a slice (see section 5.14 ). The first vector of a slice is
sent as an absolute value, but subsequent vectors will be sent as differences. No advantage is taken of vertical
vector redundancy.
Figure 5.21: In a slice, the first vector is sent as an absolute value, whereas subsequent vectors are sent as
differences. When a large moving object is to be coded, several macroblocks may have the same velocity and this
is efficiently coded in a slice.
Real moving objects will not coincide with macroblocks and so the motion compensation will not be ideal but the
prediction error makes up for any shortcomings. Figure 5.20(b) shows the case where the boundary of a moving
object bisects a macroblock. If the system measures the moving part of the macroblock and sends a vector, the
decoder will shift the entire block making the stationary part wrong. If no vector is sent, the moving part will be
wrong. Both approaches are legal in MPEG-1 and MPEG-2 because the prediction error compensates for the
incorrect values. An intelligent coder might try both approaches to see which required the least prediction error
data.
The prediction error concept also allows the use of simple but inaccurate motion estimators in low-cost systems.
The greater prediction error data are handled using a higher bit rate. On the other hand if a precision motion
estimator is available, a very high compression factor may be achieved because the prediction error data are
minimized. MPEG does not specify how motion is to be measured; it simply defines how a decoder will interpret the
vectors. Encoder designers are free to use any motion-estimation system provided that the right vector protocol is
created. Chapter 3 contrasted a number of motion estimation techniques.
Figure 5.22(a) shows that a macroblock contains both luminance and colour difference data at different resolutions.
Most of the MPEG-2 Profiles use a 4:2:0 structure which means that the colour is down- sampled by a factor of two
in both axes. Thus in a 16 x 16 pixel block, there are only 8 x 8 colour difference sampling sites. MPEG-2 is based
upon the 8 x 8 DCT (see section 3.7 ) and so the 16 x 16 block is the screen area which contains an 8 x 8 colour
difference sampling block. Thus in 4:2:0 in each macroblock there are four luminance DCT blocks, one R - Y DCT
block and one B - Y DCT block, all steered by the same vector.
Figure 5.22: The structure of a macroblock. (A macroblock is the screen area steered by one vector.) (a) In 4:2:0,
there are two chroma DCT blocks per macroblock whereas in 4:2:2 (b) there are four, 4:2:2 needs 33 per cent more
data than 4:2:0.
In the 4:2:2 Profile of MPEG-2, shown in Figure 5.22(b), the chroma is not downsampled vertically, and so there is
twice as much chroma data in each macroblock which is otherwise substantially the same.
In MPEG-4 a number of refinements are made to motion compensation in addition to the MPEG-2 tools which are
still available. One of these tools is a more complex form of vector compression which will be described in section
5.21 . This cuts down the bit rate needed for a given set of vector data and has a number of benefits. By retaining
the existing macroblock size, a higher compression factor results from the reduced vector data. However, the
opportunity then arises to increase the vector density. Optionally, MPEG-4 allows one vector to be associated with
Search WWH ::




Custom Search