H.264/AVC Video Coding Standard

Transcription

H.264/AVC Video Coding Standard Standardization, History, Goals, and ApplicationsCodec OverviewVideo Coding Layer (VCL) Picture Partitioning and Interlace Processing Codec Structure Motion-Compensated Prediction Intra Prediction Prediction Residual Coding Deblocking Filter Encoder Test ModelPerformanceNetwork Abstraction Layer (NAL) NAL Units and Types RTP Carriage and Byte Stream FormatT. Wiegand: The H.264 MPEG-4 AVC Video Coding Standard0

The JVT Project ITU-T SG16 H.26P and H.26L plans in 1993 (H.26P became H.263) ITU-T Q.6/SG16 (VCEG - Video Coding Experts Group) formed forITU-T standardization activity for video compression since 1997 August 1999: 1st test model (TML-1) of H.26L December 2001: Formation of the Joint Video Team (JVT)between VCEG and ISO/IEC JTC 1/SC 29/WG 11(MPEG - Moving Pictures Experts Group) to establish ajoint standard project - H.264 / MPEG4-AVC(similar to H.262 / MPEG-2 Video); JVT Chairs: G. J. Sullivan, A. Luthra, and T. Wiegand ITU-T Approval: May 2003 – ITU-T SG16 Final Standard Approved ISO/IEC Approval: March 2003 - Final Draft International Standard –currently balloting Extensions Project: Professional Extensions until April 2004T. Wiegand: The H.264 MPEG-4 AVC Video Coding Standard1

Goals Improved Coding Efficiency Average bit rate reduction of 50% given fixed fidelitycompared to any other standard Complexity vs. coding efficiency scalability Improved Network Friendliness Issues examined in H.263 and MPEG-4 are further improved Anticipate error-prone transport over mobile networks and thewired and wireless Internet Simple syntax specification Targeting simple and clean solutions Avoiding any excessive quantity of optional features or profileconfigurationsT. Wiegand: The H.264 MPEG-4 AVC Video Coding Standard2

Applications Entertainment Video (1-8 Mbps, higher latency) Broadcast / Satellite / Cable / DVD / VoD / FS-VDSL / DVB/ATSC/SCTE, DVD Forum, DSL Forum Conversational Services (usu. 1Mbps, low latency) H.320 Conversationalcircuit-switched 3GPP Conversational H.324/M H.323 Conversational Internet/best effort IP/RTP 3GPP Conversational IP/RTP/SIPpacket-switched Streaming Services (usu. lower bit rate, higher latency) 3GPP Streaming IP/RTP/RTSP Streaming IP/RTP/RTSP (without TCP fallback) Other Services 3GPP Multimedia Messaging ServicesT. Wiegand: The H.264 MPEG-4 AVC Video Coding Standard3

Relationship to Other Standards Identical specifications have been approved in bothITU-T / VCEG and ISO/IEC / MPEG In ITU-T / VCEG this is a new & separate standard ITU-T Recommendation H.264 ITU-T Systems (H.32x) will be modified to support it In ISO/IEC / MPEG this is a new “part” in the MPEG-4 suite Separate codec design from prior MPEG-4 visual New part 10 called “Advanced Video Coding” (AVC – similar to“AAC” position in MPEG-2 as separate codec) MPEG-4 Systems / File Format has been modified to support it H.222.0 MPEG-2 Systems also modified to support it IETF finalizing RTP payload packetizationT. Wiegand: The H.264 MPEG-4 AVC Video Coding Standard4

The Scope of Picture and VideoCoding StandardizationOnly Restrictions on the Bitstream, Syntax, and Decoder arestandardized: Permits optimization beyond the obvious Permits complexity reduction for implementability Provides no guarantees of -Processing& Error RecoveryDecodingScope of StandardT. Wiegand: The H.264 MPEG-4 AVC Video Coding Standard5

Profiles & Levels Concepts Many standards contain different configurations ofcapabilities – often based in “profiles” & “levels” A profile is usually a set of algorithmic features A level is usually a degree of capability(e.g. resolution or speed of decoding) H.264/AVC has three profiles Baseline (lower capability plus error resilience, e.g.,videoconferencing, mobile video) Main (high compression quality, e.g., broadcast) Extended (added features for efficient streaming)T. Wiegand: The H.264 MPEG-4 AVC Video Coding Standard6

Control DataH.264 AVC Layer StructureVideo Coding LayerCoded MacroblockData PartitioningCoded Slice/PartitionNetwork Abstraction LayerH.320 MP4FF H.323/IPMPEG-2T. Wiegand: The H.264 MPEG-4 AVC Video Coding Standardetc.7

High-Level VCL Summary Video coding layer is based on hybrid videocoding and similar in spirit to other standardsbut with important differences Some new key aspects are: Enhanced motion compensation Small blocks for transform coding Improved de-blocking filter Enhanced entropy coding Substantial bit-rate savings relative to otherstandards for the same qualityT. Wiegand: The H.264 MPEG-4 AVC Video Coding Standard8

Input Video SignalProgressiveFrameTopFieldBottomField Progressive andinterlaced framescan be coded asone unit Progressive vs.interlace frame issignaled but has noimpact on decoding Each field can becoded separatelyΔt Dangling fieldsInterlaced Frame (Top Field First)T. Wiegand: The H.264 MPEG-4 AVC Video Coding Standard9

Partitioning of the Picture Slices: A picture is split into 1 orseveral slices Slices are self-contained Slices are a sequence ofmacroblocks Macroblocks: Basic syntax & processing unit Contains 16x16 luma samplesand 2 x 8x8 chroma samples Macroblocks within a slicedepend on each other Macroblocks can be furtherpartitionedSlice #0Slice #1Slice #20 1 2 T. Wiegand: The H.264 MPEG-4 AVC Video Coding StandardMacroblock #4010

Flexible Macroblock Ordering (FMO) Slice Group: Pattern of macroblocks definedby a Macroblock allocation map A slice group may contain 1 toseveral slices Macroblock allocation map types: Interleaved slices Dispersed macroblock allocation Explicitly assign a slice group toeach macroblock location inraster scan order One or more “foreground” slicegroups and a “leftover” slicegroupSlice Group #0Slice Group #1Slice Group #2Slice Group #0Slice Group #1SliceGroup #0T. Wiegand: The H.264 MPEG-4 AVC Video Coding StandardSlice Group #1Slice Group #211

Interlaced Processing Field coding: each field is coded as a separate picture usingfields for motion compensation Frame coding: Type 1: the complete frameis coded as a separatepicture0 2 4 1 3 5 Type 2: the frame is scannedas macroblock pairs,for each macroblock pair:switch between frame andfield codingT. Wiegand: The H.264 MPEG-4 AVC Video Coding Standard3637Macroblock Pair12

Macroblock-Based Frame/Field Adaptive CodingA Pair of Macroblocksin Frame ModeTop/Bottom Macroblocksin Field ModeT. Wiegand: The H.264 MPEG-4 AVC Video Coding Standard13

Scanning of a Macroblock021Intra 16x16 macroblock typeonly: Luma 4x4 DC-1.30145Coded Block Pattern for236 7Luma in 8x8 block order:89 12 13signals which of the 8x8blocks contains at least10 11 14 15one 4x4 block with nonzero transform coefficients Luma 4x4 block order for4x4 intra prediction and4x4 residual codingCb 1618 19Cr172x2 DC22 23AC20212425Chroma 4x4 block order for4x4 residual coding, shown as16-25, and intra 4x4prediction, shown as 18-21and 22-25T. Wiegand: The H.264 MPEG-4 AVC Video Coding Standard14

Basic Coding StructureInputVideoSignalCoderControlSplit intoMacroblocks16x16 t.Transf. coeffsScaling & ionIntra/Inter nDataMotionEstimationT. Wiegand: The H.264 MPEG-4 AVC Video Coding Standard15

Basic Coding ransform/Scal./Quant.Quant.Transf. coeffsScaling & Inv.TransformSplit intoMacroblocks16x16 a-framePredictionIntra/InterMB ingMotionDataMotionEstimationT. Wiegand: The H.264 MPEG-4 AVC Video Coding StandardOutputVideoSignal16

Common Elements with other Standards Macroblocks: 16x16 luma 2 x 8x8 chroma samples Input: Association of luma and chroma andconventional sub-sampling of chroma (4:2:0) Block motion displacement Motion vectors over picture boundaries Variable block-size motion Block transforms Scalar quantization I, P, and B coding typesT. Wiegand: The H.264 MPEG-4 AVC Video Coding Standard17

Motion Compensation AccuracyInputVideoSignalCoderControlSplit intoMacroblocks16x16 t.Transf. coeffsScaling & ionIntra/Inter MB0Types16x808x168x80 10 12 3Output1Video4x88x88x44x4Signal0 108x80 10MotionTypes2 31DataMotion vector accuracy 1/4 (6-tap filter)T. Wiegand: The H.264 MPEG-4 AVC Video Coding Standard18

Quarter Sample Luma Interpolation Half sample positionsare obtained byapplying a 6-tap filterwith tap values:(1, -5, 20, 20, -5, 1) Quarter samplepositions are obtainedby averaging samplesat integer and halfsample positionsEFccddKLAaaBCbbDGdhnMaeipbfjqsc Hgk mrNRggSThhUIJeeffPQfull sample reference positionsfractional sample positionsT. Wiegand: The H.264 MPEG-4 AVC Video Coding Standard19

Chroma Sample InterpolationChroma interpolation is1/8-sample accuratesince luma motion is1/4-sample accurateFractional chromasample positions areobtained using theequation:BAdxdys-d xs-d yCDv ((s d x )(s d y ) A d x (s d y )B (s d x )d y C d x d y D s 2 / 2) / s 2T. Wiegand: The H.264 MPEG-4 AVC Video Coding Standard20

Multiple Reference FramesInputVideoSignalCoderControlSplit intoMacroblocks16x16 t.Transf. coeffsScaling & ionIntra/Inter tVideoSignalMotion Frames Multiple ReferenceData Generalized B Frames Weighted PredictionT. Wiegand: The H.264 MPEG-4 AVC Video Coding Standard21

Multiple Reference Frames andGeneralized Bi-Predictive Frames1. Extend motion vectorby reference pictureindex ΔΔ 0Δ 32. Provide referencepictures at decodersideΔ 14 Prior Decoded Picturesas ReferenceCurrentPicture3. In case of bi-predictivepictures: decode 2 setsof motion parametersCan jointly exploit scene cuts, aliasing, uncoveredbackground and other effects with one approachT. Wiegand: The H.264 MPEG-4 AVC Video Coding Standard22

New Types of Temporal Referencing Known dependencies (MPEG-1, MPEG-2, etc.)IPPB BB BB BPPB B New types of dependencies: Referencing order and display order are decoupled Referencing ability and picture type are decoupledIBPB BB BPBB PB BT. Wiegand: The H.264 MPEG-4 AVC Video Coding Standard23

Weighted Prediction In addition to shifting in spatial position, and selecting from amongmultiple reference pictures, each region’s prediction sample valuescan be multiplied by a weight, and given an additive offset Some key uses: Improved efficiency for B coding, e.g.,– accelerating motion,– multiple non-reference B temporally between reference pics Excels at representation of fades:– fade-in– fade-out– cross-fade from scene-to-scene Encoder can apply this to both P and B prediction typesT. Wiegand: The H.264 MPEG-4 AVC Video Coding Standard24

Intra PredictionInputVideoSignalCoderControlSplit intoMacroblocks16x16 pixels Directional spatial prediction(9 types forluma, 1 chroma)ControlTransform/Scal./Quant.DecoderScaling & Inv.TransformQ A BDataC D E F G HI a Quant.b c dJ Transf.e f gcoeffshK i j k lL m n o ter tputVideoSignal46 1 53 e.g., Mode 3:Motiondiagonal down/rightpredictionDataa, f, k, p are predicted by(A 2Q I 2) 2T. Wiegand: The H.264 MPEG-4 AVC Video Coding Standard25

Spatial prediction using surrounding “available” samples Available samples are Previously reconstructed within the same slice at thedecoder Inside the same slice Luma intra prediction either: Single prediction for entire 16x16 macroblock– 4 modes (vertical, horizontal, DC, planar) 16 individual predictions of 4x4 blocks– 9 modes (DC, 8 directional) Chroma intra prediction: Single prediction type for both 8x8 regions– 4 modes (vertical, horizontal, DC, planar)T. Wiegand: The H.264 MPEG-4 AVC Video Coding Standard26

16x16 Intra Prediction DirectionsMode 0 - Vertical1515x ' 015y ' 0Mode 1 - HorizontalPred(x, y) [ P( x' , 1) P( 1, y ' ) 16] 5Pred(x, y) [ P( 1, y ' ) 8] 4x, y 0, ,15(above and left available)x, y 0, ,15 (only left available)y15' 0Pred(x, y) [ P ( x ' , 1) 8] 4x, y 0, ,15 (only above available)x ' 0T. Wiegand: The H.264 MPEG-4 AVC Video Coding Standard27

4x4 Intra Prediction DirectionsMode 0 - VerticalMode 1 - HorizontalMode 2 - DC Mode 3 – Diagonal Down/LeftMode 4 – Diagonal Down/RightT. Wiegand: The H.264 MPEG-4 AVC Video Coding Standard28

4x4 Intra Prediction DirectionsMode 5 – Vertical-RightMode 7 – Vertical-LeftMode 6 – Horizontal-DownMode 8 – Horizontal-UpT. Wiegand: The H.264 MPEG-4 AVC Video Coding Standard29

4x4 Boundary Conditions014523678912101114Q A B C D E F G HIJKLEFGH not available since this 4x4block is outside the macroblock –replace EFGH with value of D15T. Wiegand: The H.264 MPEG-4 AVC Video Coding Standard30

Transform Quant.-Decoder 4x4Block Integer TransformSplit intoMacroblocks 116x16 pixels 1 21 1 2 H 1 1 1 1 1 22 1 Intra-frame1ControlData1Prediction Repeated transform of DCcoeffsfor 8x8 chroma and some Motion16x16Intra luma blocksIntra/Inter CompensationQuant.Transf. coeffsScaling & ideoSignalMotionDataMotionEstimationT. Wiegand: The H.264 MPEG-4 AVC Video Coding Standard31

Integer Transforms (1) Separable transform of a block B4x4 of size 4x4C 4 x 4 Tv B 4 x 4 TTh Th, Tv: horizontal and vertical transform matrix11 1 1 2 1 1 2 Tv Th 1 1 1 1 1 2 2 1 4x4 transform matrix: Easy implementation (adds and shifts) Different norms for even and odd rows of the matrixT. Wiegand: The H.264 MPEG-4 AVC Video Coding Standard32

Quantization of Transform Coefficients Logarithmic step size controlSmaller step size for chroma (per H.263 Annex T)Extended range of step sizesCan change to any step size at macroblock levelQuantization reconstruction is one multiply, one add,one shiftT. Wiegand: The H.264 MPEG-4 AVC Video Coding Standard33

Deblocking Filter Improves subjective visual and objective quality of the decodedpicture Significantly superior to post filtering Filtering affects the edges of the 4x4 block structure Highly content adaptive filtering procedure mainly removesblocking artifacts and does not unnecessarily blur the visualcontent On slice level, the global filtering strength can be adjusted tothe individual characteristics of the video sequence On edge level, filtering strength is made dependent oninter/intra, motion, and coded residuals On sample level, quantizer dependent thresholds can turnoff filtering for every individual sample Specially strong filter for macroblocks with very flatcharacteristics almost removes “tiling artifacts”T. Wiegand: The H.264 MPEG-4 AVC Video Coding Standard34

Principle of Deblocking Filterq0q1q2One dimensional visualization ofan edge positionFiltering of p0 and q0 only takes place if:p2p0p14x4 Block Edge1. p0 - q0 α(QP)2. p1 - p0 β(QP)3. q1 - q0 β(QP)Where β(QP) is considerably smaller than α(QP)Filtering of p1 or q1 takes place if additionally :1. p2 - p0 β(QP) or q2 - q0 β(QP)(QP quantization parameter)T. Wiegand: The H.264 MPEG-4 AVC Video Coding Standard35

Order of Filtering Filtering can be done on a macroblock basis that is, immediatelyafter a macroblock is decoded First, the vertical edges are filtered then the horizontal edges The bottom row and right column of a macroblock are filteredwhen decoding the corresponding adjacent macroblocksT. Wiegand: The H.264 MPEG-4 AVC Video Coding Standard36

Deblocking: Subjective Result for IntraHighly compressed first decoded intra pictureat a data rate of 0.28 bit/sample1) Without Filter2) with H264/AVC DeblockingT. Wiegand: The H.264 MPEG-4 AVC Video Coding Standard37

Deblocking: Subjective Result for InterHighly compressed decoded inter picture1) Without Filter2) with H264/AVC DeblockingT. Wiegand: The H.264 MPEG-4 AVC Video Coding Standard38

Entropy CodingInputVideoSignalCoderControlSplit intoMacroblocks16x16 t.Transf. coeffsInv. Scal. Intra/Inter onDataMotionEstimationT. Wiegand: The H.264 MPEG-4 AVC Video Coding Standard39

Variable Length Coding Exp-Golomb code is used universally foralmost all symbols except for transformcoefficients Context adaptive VLCs for coding of transformcoefficients No end-of-block, but number of coefficientsis decoded Coefficients are scanned backwards Contexts are built dependent on transformcoefficientsT. Wiegand: The H.264 MPEG-4 AVC Video Coding Standard40

Context Adaptive VLC (CAVLC) Transform coefficients are coded with the followingelements: Number of non-zero coefficients. Levels and signs for all non-zero coefficients. Total number of zeros before last non-zerocoefficient. Run before each non-zero coefficientT. Wiegand: The H.264 MPEG-4 AVC Video Coding Standard41

Number of Coefficients/Trailing ”1s” Typically the last non-zero coefficients have Level 1 The number of non-zero coefficients (example: N 6) and number of”Trailing 1s” (T1s 2) are coded in a combined symbol In this way typically 50% of the coefficients are signalled as T1s and noother level information than sign is then needed for these coefficients.The VLC table to use is adaptively chosen based on the number ofcoefficients in neighboring blocks.C o e ff654321001234567891011T. Wiegand: The H.264 MPEG-4 AVC Video Coding Standard1242

Reverse Scanning and Level Coding In a forward scan coefficients levels typically start withhigh values and decrease towards 1 (Trailing ”1s”) Therefore the value of the last nonzero coefficient is moreaccurately predictable than for the first one. Efficient adaptation is obtained by Start with a default VLC table for the first coefficient inthe reverse scan The table to use for the next coefficient is thenselected based on the context as adapted bypreviously coded levels in the reverse scan. To adapt to a wide variety of input statistics there are7 structured VLC tables to choose between.T. Wiegand: The H.264 MPEG-4 AVC Video Coding Standard43

Run Information: TotalZeros and RunBefore TotalZeros This is the total number of zeros before the last nonzerocoefficient in a forward scan. Since the number of non-zero coefficients (N) is already known,the maximum value of TotalZeros is: 16 – N, and a VLC ofappropriate length can be used. RunBefore Finally, in a reverse scan order, the run before each non-zerocoefficient is coded. Since this run can take on only a certain set of values,depending on TotalZeros and runs coded so far, a VLC withoptimal length and statistics can always be used.T. Wiegand: The H.264 MPEG-4 AVC Video Coding Standard44

Bit-Rate Savings for CAVLCBit-rate ReductionRelative to Run-Level UVLC [%]Inter-Picture tainer14121086420481216202428QT. Wiegand: The H.264 MPEG-4 AVC Video Coding Standard45

Context-based Adaptive BinaryArithmetic Codes (CABAC) Usage of adaptive probability models formost symbols Exploiting symbol correlations by usingcontexts Restriction to binary arithmetic coding Simple and fast adaptation mechanism Fast binary arithmetic codec based ontable look-ups and shifts onlyT. Wiegand: The H.264 MPEG-4 AVC Video Coding Standard46

CABAC: Technical Overviewupdate probability timationCodingengineAdaptive binary arithmetic coderChooses a modelconditioned onpast observationsMaps non-binarysymbols to abinary sequenceUses the provided modelfor the actual encodingand updates the modelT. Wiegand: The H.264 MPEG-4 AVC Video Coding Standard47

Probability Estimation Probability estimation is realized via table look-up Table contains states and transition rules upon receipt of MPB or LPB00,50120,4530,40LPBState k45MPB670,358Probabilityof LPB0,30State k 2425 26272829 30 31 3233 3435 36370,00051015202530353839 41 4345 47 49 5140 42 4446 48 50 52 53 54 55 56 57 59 60 625861 634045T. Wiegand: The H.264 MPEG-4 AVC Video Coding Standard5055States Table Entries6048

500000160000001.Bin numMapping to a binary sequence,e.g., using the unary code tree: Applies to all non-binary syntaxelements except for macroblocktype Ease of implementation Discriminate between binarydecisions (bins) by their positionin the binary sequence Usage of different models fordifferent bin num in the tablebased arithmetic coder1 2 3 4 5 6 7 .T. Wiegand: The H.264 MPEG-4 AVC Video Coding Standard49

Context Modeling Example: Coding of MVCurrent symbol:(motion vector component)Binarization:0C 30100Adaptive binaryarithmetic coderCodingEngine(bit, model no): (0,1?)1b (0,2) (1,3) (0,5) (0,5)Exploitation of intersymbol dependencies:Neighboring motion vectorcomponents A and B usedfor conditioning of currentsymbol CBACBinaryEventsctx no(C) 1b A 2, B mation 1a, if A B 2ctx no(C) 1b, else T. Wiegand: The H.264 MPEG-4 AVC Video Coding Standard50

Bit-Rate Savings for CABACbit-rate reduction [%]Average Bit-Rate Savings CABAC vs. VLC/CAVLC for SD interlace Mobile28323640QPT. Wiegand: The H.264 MPEG-4 AVC Video Coding Standard51

Coder Control Coder control is a non-normative part of H.264/AVC Goal within standardization process: demonstrate H.264/AVCperformance and make design decisions using commonconditions Choose coding parameters at encoder side„What part of the video signal should be coded using whatmethod and parameter settings?“ Constrained problem:D - DistortionR - Ratemin D(p) s.t. R(p) RTRT - Target ratepp - Parameter Vector Unconstrained Lagrangian formulation:p opt arg min{D(p) λ R (p)}pwith λ controlling the rate-distortion trade-offT. Wiegand: The H.264 MPEG-4 AVC Video Coding Standard52

Rate-Constrained Mode Decision For given values of Q and λM, minimizeD2 ( M Q) λM R( M Q)MQλMD2R- Evaluated macroblock mode out of a set of possible modes- Value of quantizer control parameter for transform coefficients- Lagrange parameter for mode decision- Sum of squared differences (luma & chroma)- Number of bits associated with header, motion, transform coefficients Set of possible macroblock modes Dependent on frame type (e.g. I, P, B) For instance, P frame in H.264 AVC:M {SKIP, INTER 16x16, INTER 16x8, INTER 8x16,INTER 8x8, INTRA 4x4, INTRA 16x16} Prior to macroblock mode decision: sub macroblock (8x8) modedecisionT. Wiegand: The H.264 MPEG-4 AVC Video Coding Standard53

Rate-Constrained Motion Estimation Integer-pixel motion search as well as fractionalsample search is performed by minimizingD1 (m) λD R(m p m )mpmλDD1R- Motion vector containing spatial displacement andpicture reference parameter Δ- Predictor for motion vector- Lagrange parameter for motion estimation- Sum of absolute differences (luminance)- Number of bits associated with motion informationT. Wiegand: The H.264 MPEG-4 AVC Video Coding Standard54

Relationship between λ and QP Experiment: Fix Lagrangian multiplier λM and λD λM Add modes with quantizer changing (DQUANT) Perform rate-constrained mode decision See [Wiegand and Girod, ICIP 2001]T. Wiegand: The H.264 MPEG-4 AVC Video Coding Standard55

Relationship between λ and QP H.263 / MPEG-4p2:λM 0.85 QPH2.263λ D λM H.264/AVC:QPH .263 2(QP 12 ) / 6( QP 12 ) / 3λ 0.85 2 Mλ D λMT. Wiegand: The H.264 MPEG-4 AVC Video Coding Standard56

A Comparison of Performance Test of different standards (Trans. on Circuits and Systemsfor Video Technology, July 2003, Wiegand et al) Using same rate-distortion optimization techniques for allcodecs “Streaming” test: High-latency (included B frames) “Real-time conversation” test: No B frames “Entertainment-quality application“ test: SD & HD resolutions Several video sequences for each test Compare four codecs: MPEG-2 (in Main profile high-latency/streaming test only) H.263 (High-Latency profile, Conversational HighCompression profile, Baseline profile) MPEG-4 Visual (Simple profile and Advanced Simpleprofile with & without B pictures) H.264/AVC (Main profile and Baseline profile)T. Wiegand: The H.264 MPEG-4 AVC Video Coding Standard57

Caution: Your Mileage Will Vary Theoretical performance versus actual implementationquality is a serious consideration Need tests on larger body of material for strongstatistical significance PSNR analysis and perceptual quality can differT. Wiegand: The H.264 MPEG-4 AVC Video Coding Standard58

Test Set for Streaming oremanQCIF10 sec.Fast camera and content motion with pan at theendContainer ShipQCIF10 sec.Still camera on slow moving sceneNewsQCIF10 sec.Still camera on human subjects with syntheticbackgroundTempeteQCIF8.67 sec.Camera zoom; spatial detail; fast random motionBusCIF5 sec.Fast translational motion and camera panning;moderate spatial detailFlower GardenCIF8.33 sec.Slow and steady camera panning overlandscape; spatial and color detailMobile & CalendarCIF8.33 sec.Slow panning and zooming; complex motion;high spatial and color detailTempeteCIF8.67 sec.Camera zoom; spatial detail; fast random motionT. Wiegand: The H.264 MPEG-4 AVC Video Coding Standard59

Test Results for Streaming ApplicationAverage bit-rate savings relative to:CoderMPEG-4 ASP H.263 HLPMPEG-2H.264/AVC MP37.44%47.58%63.57%MPEG-4 ASP-16.65%42.95%H.263 HLP--30.61%T. Wiegand: The H.264 MPEG-4 AVC Video Coding Standard60

Y-PSNR [dB]Example Streaming Test ResultTem pete CIF 15Hz383736353433323130292827262524MPEG-2H.263 HLPMPEG-4 ASPH.264/AVC MPTest Points02565127681024128015361792Bit-rate [kbit/s]T. Wiegand: The H.264 MPEG-4 AVC Video Coding Standard61

Example Streaming Test ResultTem pete CIF 15Hz80%Rate saving relative to MPEG-270%60%H.264/AVC MP50%40%30%MPEG-4 ASP20%H.263 HLP10%0%26283032343638Y-PSNR [dB]T. Wiegand: The H.264 MPEG-4 AVC Video Coding Standard62

Comparison to MPEG-4 ASPTempete CIF 30Hz3837?36 -hand353433Quality32Y-PSNR [dB]313029282726250side500?-hand sideH.264 AVCMPEG-4100015002000250030003500Bit-rate [kbit/s]T. Wiegand: The H.264 MPEG-4 AVC Video Coding Standard63

Comparison to MPEG-2, H.263, MPEG-4Tempete CIF 30Hz3837Left36 -hand353433Quality32Y-PSNR [dB]313029282726250side500Right-hand sideH.264 AVCMPEG-4100015002000250030003500Bit-rate [kbit/s]T. Wiegand: The H.264 MPEG-4 AVC Video Coding Standard64

Test Set for Real-Time kiyoQCIF10 sec.Still camera on human subject with syntheticbackgroundForemanQCIF10 sec.Fast camera and content motion with pan at theendSilentQCIF10 sec.Still camera but fast moving subjectMother & DaughterQCIF10 sec.Still camera on human subjectsCarphoneCIF10 sec.Fast camera and content motion with landscapepassingForemanCIF10 sec.Fast camera and content motion with pan at theendParisCIF10 sec.Still camera on human subjects; typicalvideoconferencing contentSeanCIF10 sec.Still camera on human subject with syntheticbackgroundT. Wiegand: The H.264 MPEG-4 AVC Video Coding Standard65

Test Results for Real-Time ConversationAverage bit-rate savings relative to:CoderH.263 CHC MPEG-4 SP H.263 BaseH.264/AVC BP27.69%29.37%40.59%H.263 CHC-2.04%17.63%MPEG-4 SP--15.69%T. Wiegand: The H.264 MPEG-4 AVC Video Coding Standard66

Example Real-Time Conversation ResultY-PSNR [dB]Paris CIF 3 CHCMPEG-4 SPH.264/AVC BPTest Points0128256384512640768Bit-rate [kbit/s]T. Wiegand: The H.264 MPEG-4 AVC Video Coding Standard67

Example Real-Time Test ResultParis CIF 15Hz50%H.264/AVC BPRate saving relative toH.263-Baseline40%30%20%H.263 CHC10%MPEG-4 SP0%2426283032343638Y-PSNR [dB]T. Wiegand: The H.264 MPEG-4 AVC Video Coding Standard68

Comparison to MPEG-2, H.263, MPEG-4Foreman QCIF 10Hz39383736 -handLeft3534Quality33Y-PSNR [dB] 32side3130292827H.264 AVCMPEG-4Right-hand side050100150Bit-rate [kbit/s]T. Wiegand: The H.264 MPEG-4 AVC Video Coding Standard20025069

Test Set for Entertainment-Quality arp & Piano720 576i8.8 sec.Fast camera zoom; local motionBasketball720 576i9.92 sec.Fast camera and content motion; high spatialdetailEntertainment720 576i10 sec.Camera and content motion; spatial detailNews720 576i10 sec.Scene cut between slow and fast moving sceneShuttle Start1280 720p10 sec.Jiggling camera, low contrast, lighting changeSailormen1280 720p10 sec.Translational and random motion; high spatialdetailNight1280 720p7.67 sec.Static camera, fast complex motionPreakness1280 720p10 sec.Camera zoom, highly complex motion, highspatial detailT. Wiegand: The H.264 MPEG-4 AVC Video Coding Standard70

Test Results Entertainment-Quality ApplicationsAverage bit-rate savings relative to:CoderMPEG-2H.264/AVC MP45%T. Wiegand: The H.264 MPEG-4 AVC Video Coding Standard71

Example Entertainment-Quality Applications ResultY-PSNR [dB]Entertainm ent SD (720x576i

T. Wiegand: The H.264 MPEG-4 AVC Video Coding Standard 4 Identical specifications have been approved in both ITU-T / VCEG and ISO/IEC / MPEG In ITU-T / VCEG this is a new & separate standard ITU-T Recommendation H.264 ITU-T Systems (H.32x) will be modified to support it