MPEG 4, H.264 Compression Standard

Download Report

Transcript MPEG 4, H.264 Compression Standard

MPEG 4, H.264 Compression Standards
Presented by Dukhyun Chang
([email protected])
-1/20-
Contents
Introduction
Features of the H.264/AVC
Profile & performance of H.264/AVC
Conclusion
-2/20-
Evolution of Video coding Standards
ITU-T
Standard
H.261
H.261
H.263 H.263+ H.263++
(Version 1) (Version 2)
Joint
ITU-T/MPEG
Standards
H.262/MPEG-2
MPEG
Standard
MPEG-1
1988
-3/20-
1990
1992
H.264/MPEG-4 AVC
MPEG-4
(Version 1)
1994
1996
MPEG-4
(Version 2)
1998
2000
2002
2004
Structure of H.264/AVC video encoder
Video Coding Layer
Coded Macroblock
Control
Data
Data Partitioning
Coded Slice/Partition
Network Abstraction Layer
H.320
-4/20-
MP4FF
H.323/IP
MPEG-2
etc.
Applications
NAL gives VCL network
independent interface
DMB
Multimedia Service
H.320,
H.324/M
Mpeg-2
systems
NAL
Broadcast
Mobile
Communication
VCL
Content
Server
Link
Internet
Streaming
-5/20-
RTP
payload
ISO media
file format
encapsulation
Storage
Data Structure of MPEG
Sequence
GOP
SH
GOP
Macroblock
-6/20-
GOP
SH
GOP
I B B P B B P B B …… B P
slice
Picture
Slice
SH
slice
MB MB MB MB MB MB ….
Y1
Y2
Y3
Y4
Cb
Cr
Contents
Introduction
Features of the H.264/AVC
Profile & Performance of H.264/AVC
Conclusion
-7/20-
Basic coding structure of H.264/AVC for a macroblock
Input
Video
Signal
Coder
Control
Transform/
Scal./Quant.
Split into
Macroblocks
16x16 pixels
Control
Data
Decoder
Quant.
Transf. coeffs
Scaling & Inv.
Transform
Entropy
Coding
Intra-frame
Prediction
Intra/Inter
MotionCompensation
De-blocking
Filter
New features of H.264
Output
Video
Signal
Motion
Data
Motion
Estimation
-8/20-
Transform
MPEG-4 AVC
Incoming
4x4 Block
Integer
Transform
transformed
4x4 Block
DCT
Transform
transformed
8x8 Block
MPEG-2 / MPEG-4
Incoming
8x8 Block
-9/20-
Intra & 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
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
2 macroblock partitions of
8*16 luma samples and
associated chroma samples
0
0
0
Sub-macroblock
partitions
2 sub-macroblock partitions
of 8*4 luma samples and
associated chroma samples
0
1
-10/20-
2 sub-macroblock partitions
of 4*8 luma samples and
associated chroma samples
0
0
0
1
2
3
1
1
1 sub-macroblock partition
of 8*8 luma samples and
associated chroma samples
4 sub-macroblocks of
8*8 luma samples and
associated chroma samples
4 sub-macroblock partitions
of 4*4 luma samples and
associated chroma samples
0
1
2
3
1
Motion Compensation
Multiple reference pictures
Arbitrary weights
– Regardless of the temporal direction
– Can use B-Slice as reference
–
-11/20-
Adaptive 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
-12/20-
With AVC Deblocking Filter
FMO (1/2)
FMO (Flexible Macroblock Ordering)
Slice Group
-13/20-
Slice
.….
–
….
Picture
Independentlydecodable
Slice (composed in FMO)  Enhance Robustness to data loss
FMO (2/2)
Slice #0
Slice Group #0
Slice #1
Slice Group #1
Slice #2
Slice Group #2
Slice Group #0
Slice Group #1
Subdivision of a picture into
slices when not using FMO
-14/20-
Subdivision of a QCIF frame into slices when
utilizing FMO
ASO
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
-15/20-
Entropy 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
–
–
-16/20-
Exploiting symbol correlations by using contexts
Average bit-rate saving over CAVLC 5~15%
Profiles
-17/20-
Comparison to Previous Standards
-18/20-
Conclusion
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
-19/20-
References
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.
-20/20-