MPEG 4, H.264 Compression StandardsMPEG 4, H.264 Compression Standards
Presented by Dukhyun Chang
(dhchang@mmlab.snu.ac.kr)
ContentsContents
Introduction
Features of the H.264/AVC
Profile & performance of H.264/AVC
Conclusion
Evolution of Video coding StandardsEvolution of Video coding Standards
ITU-T
Standard
Joint
ITU-T/MPEG
Standards
MPEG
Standard
1988 1990 1992 1994 1996 1998 2000 2002 2004
H.261
(Version 1)
H.261
(Version 2)
H.263 H.263+ H.263++
H.262/MPEG-2 H.264/MPEG-4 AVC
MPEG-1
MPEG-4
(Version 1)
MPEG-4
(Version 2)
Structure of H.264/AVC video encoderStructure of H.264/AVC video encoder
Control
Data
Video Coding Layer
Data Partitioning
Network Abstraction Layer
H.323/IP MPEG-2 etc.H.320 MP4FF
Coded Macroblock
Coded Slice/Partition
ApplicationsApplications
Broadcast
Streaming
Content
Server
Internet
Link
Mobile
Communication
Storage
DMB
Multimedia Service
VCL
NAL
Mpeg-2
systems
RTP
payload
ISO media
file format
encapsulation
H.320,
H.324/M
NAL gives VCL network
independent interface
Data Structure of MPEGData Structure of MPEG
GOP GOP GOPSH SH SH
I B B P B B P …… BBB P
slice
slice
MB MB MB MB MB MB ….
Y1
Y3
Y2
Y4
Cb Cr
Sequence
GOP
Picture
Slice
Macroblock
ContentsContents
Introduction
Features of the H.264/AVC
Profile & Performance of H.264/AVC
Conclusion
Basic coding structure of H.264/AVC for a macroblockBasic coding structure of H.264/AVC for a macroblock
Entropy
Coding
Scaling & Inv.
Transform
Motion-
Compensation
Control
Data
Quant.
Transf. coeffs
Motion
Data
Intra/Inter
Coder
Control
Decoder
Motion
Estimation
Transform/
Scal./Quant.
-
Input
Video
Signal
Split into
Macroblocks
16x16 pixels
Intra-frame
Prediction
De-blocking
Filter
Output
Video
Signal
New features of H.264
TransformTransform
MPEG-4 AVC
MPEG-2 / MPEG-4
Integer
Transform
Incoming
4x4 Block
transformed
4x4 Block
DCT
Transform
Incoming
8x8 Block
transformed
8x8 Block
Intra & Inter Coding StructureIntra & Inter Coding Structure
Intra Coding Structure
– Intra Frame  Motion estimation cannot be exploited
• Eliminate spatial redundancy
– Directional spatial prediction
Motion Compensation
– Various block sizes and shapes for motion compensation
• More precise compensation
0
Sub-macroblock
partitions
0
1
0 1
0 1
2 3
0
0
1
0 1
0
2
1
3
1 macroblock partition of
16*16 luma samples and
associated chroma samples
Macroblock
partitions
2 macroblock partitions of
16*8 luma samples and
associated chroma samples
4 sub-macroblocks of
8*8 luma samples and
associated chroma samples
2 macroblock partitions of
8*16 luma samples and
associated chroma samples
1 sub-macroblock partition
of 8*8 luma samples and
associated chroma samples
2 sub-macroblock partitions
of 8*4 luma samples and
associated chroma samples
4 sub-macroblock partitions
of 4*4 luma samples and
associated chroma samples
2 sub-macroblock partitions
of 4*8 luma samples and
associated chroma samples
Motion CompensationMotion Compensation
Multiple reference pictures
– Arbitrary weights
– Regardless of the temporal direction
– Can use B-Slice as reference
Adaptive Deblocking FilterAdaptive Deblocking Filter
Deblocking Filter
– There are severe blocking artifacts
• 4*4 transforms and block-based motion compensation
– Result in bit rate savings of around 6~9%
– Improve subjective quality and PSNR of the decoded picture
Without Filter With AVC Deblocking Filter
FMO (1/2)FMO (1/2)
FMO (Flexible Macroblock Ordering)
– Slice (composed in FMO)  Enhance Robustness to data loss
Picture
Slice Group
Slice
…
.
.….
Independently-
decodable
FMO (2/2)FMO (2/2)
Slice #0
Slice #1
Slice #2
Subdivision of a picture into
slices when not using FMO
Slice Group #0
Slice Group #1
Slice Group #2
Subdivision of a QCIF frame into slices when
utilizing FMO
Slice Group #0
Slice Group #1
ASOASO
ASO (Arbitrary Slice Ordering)
– Independently-decoded Slice
• Enables sending and receiving the slice in any order
• Improve end-to-end delay in real-time application
Picture Picture
Internet protocol network
Slice Slice
Start to
decode
Entropy CodingEntropy Coding
CAVLC (Context Adaptive Variable Length Coding)
– Context : already coded information of the neighboring
blocks and the coding status of the current block
– Optimized VLC tables are provided for each context to code
the coefficients in different statistical conditions
CABAC (Context Adaptive Binary Arithmetic Codes)
– Use a binary arithmetic coding engine
– Compression improvement is consequence of
• Adaptive probability estimation
• Improved context modeling scheme
– Exploiting symbol correlations by using contexts
– Average bit-rate saving over CAVLC 5~15%
ProfilesProfiles
Comparison to Previous StandardsComparison to Previous Standards
ConclusionConclusion
H.264 is the standard of both ITU-T VCEG and ISO/IEC MPEG
gains in compression efficiency of up to 50% compared to
previous standards
New key features are:
– Enhanced motion compensation
– Small blocks for transform coding
– Integer transform
– Improved deblocking filter
– Enhanced entropy coding
Increased complexity relative to prior standards
ReferencesReferences
Ralf Schafer, Thomas Wiegand and Heiko Schwarz, “The emerging H.264/AVC
standard,” in EBU technical review, Jan. 2003.
Jorn Ostermann et al., “Video coding with H.264/AVC: Tools, Performance, and
Complexity,” in IEEE Circuit and systems magazine, first quarter. 2004.
Thomas Wiegand et al., “Overview of the H.264/AVC Video Coding Standard,” in
IEEE transactions on circuits and systems for video technology, Vol. 12, No.7,
July. 2003.
M. Mahdi Ghandi and Mohammad Ghanbari, “The H.264/AVC Video Coding
Standard for the Next Generation Multimedia Communication,” in IAEEE Jounal.

28 h 264-avc_by_dhchang

  • 1.
    MPEG 4, H.264Compression StandardsMPEG 4, H.264 Compression Standards Presented by Dukhyun Chang (dhchang@mmlab.snu.ac.kr)
  • 2.
    ContentsContents Introduction Features of theH.264/AVC Profile & performance of H.264/AVC Conclusion
  • 3.
    Evolution of Videocoding StandardsEvolution of Video coding Standards ITU-T Standard Joint ITU-T/MPEG Standards MPEG Standard 1988 1990 1992 1994 1996 1998 2000 2002 2004 H.261 (Version 1) H.261 (Version 2) H.263 H.263+ H.263++ H.262/MPEG-2 H.264/MPEG-4 AVC MPEG-1 MPEG-4 (Version 1) MPEG-4 (Version 2)
  • 4.
    Structure of H.264/AVCvideo encoderStructure of H.264/AVC video encoder Control Data Video Coding Layer Data Partitioning Network Abstraction Layer H.323/IP MPEG-2 etc.H.320 MP4FF Coded Macroblock Coded Slice/Partition
  • 5.
  • 6.
    Data Structure ofMPEGData Structure of MPEG GOP GOP GOPSH SH SH I B B P B B P …… BBB P slice slice MB MB MB MB MB MB …. Y1 Y3 Y2 Y4 Cb Cr Sequence GOP Picture Slice Macroblock
  • 7.
    ContentsContents Introduction Features of theH.264/AVC Profile & Performance of H.264/AVC Conclusion
  • 8.
    Basic coding structureof H.264/AVC for a macroblockBasic coding structure of H.264/AVC for a macroblock Entropy Coding Scaling & Inv. Transform Motion- Compensation Control Data Quant. Transf. coeffs Motion Data Intra/Inter Coder Control Decoder Motion Estimation Transform/ Scal./Quant. - Input Video Signal Split into Macroblocks 16x16 pixels Intra-frame Prediction De-blocking Filter Output Video Signal New features of H.264
  • 9.
    TransformTransform MPEG-4 AVC MPEG-2 /MPEG-4 Integer Transform Incoming 4x4 Block transformed 4x4 Block DCT Transform Incoming 8x8 Block transformed 8x8 Block
  • 10.
    Intra & InterCoding StructureIntra & Inter Coding Structure Intra Coding Structure – Intra Frame  Motion estimation cannot be exploited • Eliminate spatial redundancy – Directional spatial prediction Motion Compensation – Various block sizes and shapes for motion compensation • More precise compensation 0 Sub-macroblock partitions 0 1 0 1 0 1 2 3 0 0 1 0 1 0 2 1 3 1 macroblock partition of 16*16 luma samples and associated chroma samples Macroblock partitions 2 macroblock partitions of 16*8 luma samples and associated chroma samples 4 sub-macroblocks of 8*8 luma samples and associated chroma samples 2 macroblock partitions of 8*16 luma samples and associated chroma samples 1 sub-macroblock partition of 8*8 luma samples and associated chroma samples 2 sub-macroblock partitions of 8*4 luma samples and associated chroma samples 4 sub-macroblock partitions of 4*4 luma samples and associated chroma samples 2 sub-macroblock partitions of 4*8 luma samples and associated chroma samples
  • 11.
    Motion CompensationMotion Compensation Multiplereference pictures – Arbitrary weights – Regardless of the temporal direction – Can use B-Slice as reference
  • 12.
    Adaptive Deblocking FilterAdaptiveDeblocking Filter Deblocking Filter – There are severe blocking artifacts • 4*4 transforms and block-based motion compensation – Result in bit rate savings of around 6~9% – Improve subjective quality and PSNR of the decoded picture Without Filter With AVC Deblocking Filter
  • 13.
    FMO (1/2)FMO (1/2) FMO(Flexible Macroblock Ordering) – Slice (composed in FMO)  Enhance Robustness to data loss Picture Slice Group Slice … . .…. Independently- decodable
  • 14.
    FMO (2/2)FMO (2/2) Slice#0 Slice #1 Slice #2 Subdivision of a picture into slices when not using FMO Slice Group #0 Slice Group #1 Slice Group #2 Subdivision of a QCIF frame into slices when utilizing FMO Slice Group #0 Slice Group #1
  • 15.
    ASOASO ASO (Arbitrary SliceOrdering) – Independently-decoded Slice • Enables sending and receiving the slice in any order • Improve end-to-end delay in real-time application Picture Picture Internet protocol network Slice Slice Start to decode
  • 16.
    Entropy CodingEntropy Coding CAVLC(Context Adaptive Variable Length Coding) – Context : already coded information of the neighboring blocks and the coding status of the current block – Optimized VLC tables are provided for each context to code the coefficients in different statistical conditions CABAC (Context Adaptive Binary Arithmetic Codes) – Use a binary arithmetic coding engine – Compression improvement is consequence of • Adaptive probability estimation • Improved context modeling scheme – Exploiting symbol correlations by using contexts – Average bit-rate saving over CAVLC 5~15%
  • 17.
  • 18.
    Comparison to PreviousStandardsComparison to Previous Standards
  • 19.
    ConclusionConclusion H.264 is thestandard of both ITU-T VCEG and ISO/IEC MPEG gains in compression efficiency of up to 50% compared to previous standards New key features are: – Enhanced motion compensation – Small blocks for transform coding – Integer transform – Improved deblocking filter – Enhanced entropy coding Increased complexity relative to prior standards
  • 20.
    ReferencesReferences Ralf Schafer, ThomasWiegand and Heiko Schwarz, “The emerging H.264/AVC standard,” in EBU technical review, Jan. 2003. Jorn Ostermann et al., “Video coding with H.264/AVC: Tools, Performance, and Complexity,” in IEEE Circuit and systems magazine, first quarter. 2004. Thomas Wiegand et al., “Overview of the H.264/AVC Video Coding Standard,” in IEEE transactions on circuits and systems for video technology, Vol. 12, No.7, July. 2003. M. Mahdi Ghandi and Mohammad Ghanbari, “The H.264/AVC Video Coding Standard for the Next Generation Multimedia Communication,” in IAEEE Jounal.