lotus

previous page: 74  What is statistical multiplexing ? (MPEG-2)
  
page up: MPEG FAQ
  
next page: 76  What is the difference between MPEG-1 and MPEG-2 syntax?

75 How does MPEG achieve compression? (MPEG-2)




Description

This article is from the MPEG FAQ, by Frank Gadegast phade@cs.tu-berlin.de with numerous contributions by others.

75 How does MPEG achieve compression? (MPEG-2)

Here are some typical statistical conditions addressed by specific
syntax and semantic tools:

1. Spatial correlation: transform coding with 8x8 DCT.

2. Human Visual Response---less acuity for higher spatial frequencies:
lossy scalar quantization of the DCT coefficients.

3. Correlation across wide areas of the picture: prediction of the DC
coefficient in the 8x8 DCT block.

4. Statistically more likely coded bitstream elements/tokens: variable
length coding of macroblock_address_increment, macroblock_type,
coded_block_pattern, motion vector prediction error magnitude, DC
coefficient prediction error magnitude.

5. Quantized blocks with sparse quantized matrix of DCT coefficients:
end_of_block token (variable length symbol).

6. Spatial masking: macroblock quantization scale factor.

7. Local coding adapted to overall picture perception (content
dependent coding): macroblock quantization scale factor.

8. Adaptation to local picture characteristics: block based coding,
macroblock_type, adaptive quantization.

9. Constant stepsizes in adaptive quantization: new quantization scale
factor signaled only by special macroblock_type codes. (adaptive
quantization scale not transmitted by default).

10. Temporal redundancy: forward, backwards macroblock_type and motion
vectors at macroblock (16x16) granularity.

11. Perceptual coding of macroblock temporal prediction error: adaptive
quantization and quantization of DCT transform coefficients (same
mechanism as Intra blocks).

12. Low quantized macroblock prediction error: No prediction error for
the macroblock may be signaled within macroblock_type. This is the
macroblock_pattern switch.

13. Finer granularity coding of macroblock prediction error: Each of
the blocks within a macroblock may be coded or not coded. Selective
on/off coding of each block is achieved with the separate
coded_block_pattern variable-length symbol, which is present in the
macroblock only of the macroblock_pattern switch has been set.

14. Uniform motion vector fields (smooth optical flow fields):
prediction of motion vectors.

15. Occlusion: forwards or backwards temporal prediction in B
pictures. Example: an object becomes temporarily obscured by another
object within an image sequence. As a result, there may be an area of
samples in a previous picture (forward reference/prediction picture)
which has similar energy to a macroblock in the current picture (thus
it is a good prediction), but no areas within a future picture
(backward reference) are similar enough. Therefore only forwards
prediction would be selected by macroblock type of the current
macroblock. Likewise, a good prediction may only be found in a future
picture, but not in the past. In most cases, the object, or
correlation area, will be present in both forward and backward
references. macroblock_type can select the best of the three
combinations.

16. Sub-sample temporal prediction accuracy: bi-linearly interpolated
(filtered) "half-pel" block predictions. Real world motion
displacements of objects (correlation areas) from picture-to-picture do
not fall on integer pel boundaries, but on irrational . Half-pel
interpolation attempts to extract the true object to within one order
of approximation, often improving compression efficiency by at least 1
dB.

17. Limited motion activity in P pictures: skipped macroblocks. When
the motion vector is zero for both the horizontal and vertical vector
components, and no quantized prediction error for the current
macroblock is present. Skipped macroblocks are the most desirable
element in the bitstream since they consume no bits, except for a
slight increase in the bits of the next non-skipped macroblock.

18. Co-planar motion within B pictures: skipped macroblocks. When the
motion vector is the same as the previous macroblocks, and no quantized
prediction error for the current macroblock is present.

 

Continue to:













TOP
previous page: 74  What is statistical multiplexing ? (MPEG-2)
  
page up: MPEG FAQ
  
next page: 76  What is the difference between MPEG-1 and MPEG-2 syntax?