Upload
badripatro1
View
153
Download
2
Tags:
Embed Size (px)
Citation preview
-1/20-
MPEG 4, H.264 Compression StandardsMPEG 4, H.264 Compression Standards
Presented by Dukhyun Chang([email protected])
-2/20-
ContentsContents
IntroductionFeatures of the H.264/AVCProfile & performance of H.264/AVC Conclusion
-3/20-
Evolution of Video coding Evolution of Video coding StandardsStandards
ITU-TStandard
JointITU-T/MPEG
Standards
MPEGStandard
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-1MPEG-4
(Version 1)MPEG-4
(Version 2)
-4/20-
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
-5/20-
ApplicationsApplications
Broadcast
Streaming
Content Server
InternetLink
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
-6/20-
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
Y4Cb Cr
Sequence
GOP
Picture
Slice
Macroblock
-7/20-
ContentsContents
IntroductionFeatures of the H.264/AVCProfile & Performance of H.264/AVCConclusion
-8/20-
Basic coding structure of H.264/AVC for a macroblBasic coding structure of H.264/AVC for a macroblockock
EntropyCoding
Scaling & Inv. Transform
Motion-Compensation
ControlData
Quant.Transf. coeffs
MotionData
Intra/Inter
CoderControl
Decoder
MotionEstimation
Transform/Scal./Quant.-
InputVideoSignal
Split intoMacroblocks16x16 pixels
Intra-frame Prediction
De-blockingFilter
OutputVideoSignal
New features of H.264
-9/20-
TransformTransform
MPEG-4 AVC
MPEG-2 / MPEG-4
Integer Transform
Incoming 4x4 Block
transformed4x4 Block
DCT Transform
Incoming 8x8 Block
transformed8x8 Block
-10/20-
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
-11/20-
Motion CompensationMotion Compensation
Multiple reference pictures– Arbitrary weights– Regardless of the temporal direction– Can use B-Slice as reference
-12/20-
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
-13/20-
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/20-
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 #0Slice Group #1
-15/20-
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 todecode
-16/20-
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/20-
ProfilesProfiles
-18/20-
Comparison to Previous StandardsComparison to Previous Standards
-19/20-
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
-20/20-
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.