H.264 / MPEG-4 Part 10
Nimrod PelegMarch 2003
Encoder
..image sequence
0101...bit stream
+DCT Q VLC
Q-1
DCT-1
+
MEMM.C.
-+
Intra / Interswitch
++
M.E.
Encoder
..image sequence
0101...bit stream
+DCT Q VLC
Q-1
DCT-1
+
MEMM.C.
-+
Intra / Interswitch
++
M.E.
Encoder
..image sequence
0101...bit stream
+DCT Q VLC
Q-1
DCT-1
+
MEMM.C.
-+
Intra / Interswitch
++
M.E.
Encoder
..image sequence
0101...bit stream
+DCT Q VLC
Q-1
DCT-1
+
MEMM.C.
-+
Intra / Interswitch
++
M.E.
Encoder
..image sequence
0101...bit stream
+DCT Q VLC
Q-1
DCT-1
+
MEMM.C.
-+
Intra / Interswitch
++
M.E.
Previous Standards
H.264 Brief review• Goal
– Develop a high-performance video coding standard.• Start from zero.• No backward compatibility.• Assumptions
– Block based.– Software implementation.– Network friendly.
H.264 Encoder
0101...
bit stream+
IDCT QEntropyCoder
Q-1
IDCT -1
+
FramesStoreM.C.
-+
Intra/InterSwitch
++
M.E.
..Image sequence
Coding control
Transform
• DCT like.• Integer arithmetic only.
– without multiplications.• Optional use of a 4x4 transform block size.
Quantization • Compounding quantization step.• Thirty-two different quantization step sizes.
– The step sizes are increased at a compounding rate of approximately 12.5%.
• Different quantizer for luminance, chrominance.• Two different coefficient-scanning patterns.
– The simple zigzag scan.– The double scan.
Frames Store• The H.264 standard offers the option of having
multiple reference frames in inter picture coding.
• Up to five different reference frames could be selected.– Resulting in better subjective video quality and more
efficient coding of the video frame under consideration.• Using multiple reference frames might help
making the H.264 bit-stream error resilient.
Motion Estimation & Compensation
• Motion Estimation is where H.264 makes most of its gains in coding efficiency.
• Quarter pixel accurate motion compensation.
• Translation only.• The standard does not determine which
algorithm should be used.
Motion Estimation & Compensation
• Seven optional modes.
Different modes of dividing a macroblock for motion estimation in H.264
Entropy Coding • H.264 has adopted two approaches for entropy
coding :– Universal Variable Length Codes (UVLCs)
• One table.– Context-Based Adaptive Binary Arithmetic Coding
(CABAC)
Intra prediction
• 9 optional prediction modes for each 4x4 luma block.
• 4 optional modes for a 16x16 luma block.• 4 optional prediction modes for a 8x8 chroma
component.• One mode for 4x4 chroma block.
Summery• Transform
– IDCT– Optional use of a 4x4 transform block size.
• Quantizer– step sizes are increased at a compounding rate of approximately
12.5%.– Two coefficient-scanning patterns.
• Motion estimation and compensation– Translation only.– A number of different block sizes are used for motion prediction.– Quarter pixel positions are used for motion prediction.
Summery
• Frames store– Multiple reference frames may be used for
prediction.• Entropy coding
– Only one regular VLC is used for symbol coding.