28 h 264-avc_by_dhchang


Published on

Published in: Technology
  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

28 h 264-avc_by_dhchang

  1. 1. MPEG 4, H.264 Compression StandardsMPEG 4, H.264 Compression StandardsPresented by Dukhyun Chang(dhchang@mmlab.snu.ac.kr)
  2. 2. ContentsContentsIntroductionFeatures of the H.264/AVCProfile & performance of H.264/AVCConclusion
  3. 3. Evolution of Video coding StandardsEvolution of Video coding StandardsITU-TStandardJointITU-T/MPEGStandardsMPEGStandard1988 1990 1992 1994 1996 1998 2000 2002 2004H.261(Version 1)H.261(Version 2)H.263 H.263+ H.263++H.262/MPEG-2 H.264/MPEG-4 AVCMPEG-1MPEG-4(Version 1)MPEG-4(Version 2)
  4. 4. Structure of H.264/AVC video encoderStructure of H.264/AVC video encoderControlDataVideo Coding LayerData PartitioningNetwork Abstraction LayerH.323/IP MPEG-2 etc.H.320 MP4FFCoded MacroblockCoded Slice/Partition
  5. 5. ApplicationsApplicationsBroadcastStreamingContentServerInternetLinkMobileCommunicationStorageDMBMultimedia ServiceVCLNALMpeg-2systemsRTPpayloadISO mediafile formatencapsulationH.320,H.324/MNAL gives VCL networkindependent interface
  6. 6. Data Structure of MPEGData Structure of MPEGGOP GOP GOPSH SH SHI B B P B B P …… BBB PslicesliceMB MB MB MB MB MB ….Y1Y3Y2Y4Cb CrSequenceGOPPictureSliceMacroblock
  7. 7. ContentsContentsIntroductionFeatures of the H.264/AVCProfile & Performance of H.264/AVCConclusion
  8. 8. Basic coding structure of H.264/AVC for a macroblockBasic coding structure of H.264/AVC for a macroblockEntropyCodingScaling & Inv.TransformMotion-CompensationControlDataQuant.Transf. coeffsMotionDataIntra/InterCoderControlDecoderMotionEstimationTransform/Scal./Quant.-InputVideoSignalSplit intoMacroblocks16x16 pixelsIntra-framePredictionDe-blockingFilterOutputVideoSignalNew features of H.264
  9. 9. TransformTransformMPEG-4 AVCMPEG-2 / MPEG-4IntegerTransformIncoming4x4 Blocktransformed4x4 BlockDCTTransformIncoming8x8 Blocktransformed8x8 Block
  10. 10. Intra & Inter Coding StructureIntra & Inter Coding StructureIntra Coding Structure– Intra Frame  Motion estimation cannot be exploited• Eliminate spatial redundancy– Directional spatial predictionMotion Compensation– Various block sizes and shapes for motion compensation• More precise compensation0Sub-macroblockpartitions010 10 12 30010 102131 macroblock partition of16*16 luma samples andassociated chroma samplesMacroblockpartitions2 macroblock partitions of16*8 luma samples andassociated chroma samples4 sub-macroblocks of8*8 luma samples andassociated chroma samples2 macroblock partitions of8*16 luma samples andassociated chroma samples1 sub-macroblock partitionof 8*8 luma samples andassociated chroma samples2 sub-macroblock partitionsof 8*4 luma samples andassociated chroma samples4 sub-macroblock partitionsof 4*4 luma samples andassociated chroma samples2 sub-macroblock partitionsof 4*8 luma samples andassociated chroma samples
  11. 11. Motion CompensationMotion CompensationMultiple reference pictures– Arbitrary weights– Regardless of the temporal direction– Can use B-Slice as reference
  12. 12. Adaptive Deblocking FilterAdaptive Deblocking FilterDeblocking 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 pictureWithout Filter With AVC Deblocking Filter
  13. 13. FMO (1/2)FMO (1/2)FMO (Flexible Macroblock Ordering)– Slice (composed in FMO)  Enhance Robustness to data lossPictureSlice GroupSlice…..….Independently-decodable
  14. 14. FMO (2/2)FMO (2/2)Slice #0Slice #1Slice #2Subdivision of a picture intoslices when not using FMOSlice Group #0Slice Group #1Slice Group #2Subdivision of a QCIF frame into slices whenutilizing FMOSlice Group #0Slice Group #1
  15. 15. ASOASOASO (Arbitrary Slice Ordering)– Independently-decoded Slice• Enables sending and receiving the slice in any order• Improve end-to-end delay in real-time applicationPicture PictureInternet protocol networkSlice SliceStart todecode
  16. 16. Entropy CodingEntropy CodingCAVLC (Context Adaptive Variable Length Coding)– Context : already coded information of the neighboringblocks and the coding status of the current block– Optimized VLC tables are provided for each context to codethe coefficients in different statistical conditionsCABAC (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. 17. ProfilesProfiles
  18. 18. Comparison to Previous StandardsComparison to Previous Standards
  19. 19. ConclusionConclusionH.264 is the standard of both ITU-T VCEG and ISO/IEC MPEGgains in compression efficiency of up to 50% compared toprevious standardsNew key features are:– Enhanced motion compensation– Small blocks for transform coding– Integer transform– Improved deblocking filter– Enhanced entropy codingIncreased complexity relative to prior standards
  20. 20. ReferencesReferencesRalf Schafer, Thomas Wiegand and Heiko Schwarz, “The emerging H.264/AVCstandard,” in EBU technical review, Jan. 2003.Jorn Ostermann et al., “Video coding with H.264/AVC: Tools, Performance, andComplexity,” in IEEE Circuit and systems magazine, first quarter. 2004.Thomas Wiegand et al., “Overview of the H.264/AVC Video Coding Standard,” inIEEE 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 CodingStandard for the Next Generation Multimedia Communication,” in IAEEE Jounal.