You are on page 1of 23

H.

264/AVC
Evolution of Video coding Standards

ITU-T H.261 H.261


H.263 H.263+ H.263++
Standard (Version 1) (Version 2)

Joint
ITU-T/MPEG H.262/MPEG-2 H.264/MPEG-4 AVC
Standards

MPEG MPEG-4 MPEG-4


MPEG-1
Standard (Version 1) (Version 2)

1988 1990 1992 1994 1996 1998 2000 2002 2004


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 Conversational
 3GPP Conversational H.324/M
 H.323 Conversational Internet/best effort IP/RTP
 3GPP Conversational IP/RTP/SIP
 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 Services
Structure of H.264/AVC video encoder

Video Coding Layer

Control Coded Macroblock


Data
Data Partitioning

Coded Slice/Partition

Network Abstraction Layer


H.320 MP4FF H.323/IP MPEG-2 etc.
High-Level VCL Summary
 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 other
standards for the same quality

5
Macroblocks and Slices
 Macroblocks: 16x16 luma + 8x8 for chroma samples
 Slice: a set of MBs that can be decoded without use of
other slices
 I slice: intra-prediction (I-MBs)
 P slice: possibly one inter-prediction signal (I- and P-MBs)
 B slice: up to two inter-prediction signals (I- and B-MBs)
 SP slice: P slice to facilitate switching between coded streams
 SI slice: I slice to to facilitate switching between coded streams
Enhanced MC (Inter Prediction)
 Every macroblock can be split in one of 7 ways for improved
motion estimation
Enhanced MC (Inter Prediction)
 Accuracy of motion compensation = 1/4 pixel
 Up to 5 reference frames for SDTV size @ L3
 Reference B pictures
 Weighted predictions
 Motion Estimation 을 수행하는 신호에 적응적으로 가중치를
주어 계산한 후 예측신호를 생성
Intra Spatial Prediction
using surrounding available samples
Intra 4x4 Prediction
Modes

4 modes for 16x16 intra prediction

Intra 16x16
Prediction
Modes
Transform
 MBs are divided up into 4x4 or 8x8 blocks
 Transformation matrix T4x4 or T8x8 is applied to residual
data of every block
 For the DC Coefficients,
 Hadamard transform H4x4 for the 4×4 array of luma DC
coefficients in Intra MBs predicted in 16×16 mode.
 Hadamard transform H2x2 for the 2 × 2 array of chroma DC
coefficients (in any macroblock).
Quantization
 Logarithmic step size control
 A total of 52 values of Qstep are supported by the standard,
indexed by a Quantization Parameter, QP.
 Qstep doubles in size for every increment of 6 in QP.
 Can change to any step size at macroblock level
 Quantization reconstruction is one multiply, one add,
one shift
Adaptive Deblocking Filter
 Blocking artifacts
 4*4 transforms and block-based motion compensation
 Block edges are typically reconstructed with less accuracy than
interior pixels.
 Improve subjective and objective quality of the decoded
picture
 Result in bit rate savings of around 6~9%

Original Frame Reconstructed, Reconstructed,


QP=36 (no filter) QP=36 (with filter)
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
 Exploiting symbol correlations by using contexts
 Average bit-rate saving over CAVLC 5~15%

-13/20-
Error Resilience Tools
 Flexible Macroblock Order (FMO)
 Arbitrary Slide Order (ASO)
 Redundant Slice (RS)
 Data Partitioning (DP)

14
MB to Slice Group Mappings
 Flexible Macroblock Ordering (FMO)
 a subset of the macroblocks may contain one or more slices
 Application example: Error resilience
Arbitrary Slice Ordering (ASO)
 The decoding order of the slices could be arbitrary
 Application example: reduce end-end transmission delay
in RT app
H.264/AVC 의 해상도의 크기

17
Profiles

-18/20-
Basic Coding Structure

19
Comparison to Previous Standards

 The set of test sequences for this comparison consists of


 four QCIF (10 and 15 Hz) sequence
 176 x144 resolution at 10–256 kb/s
 four CIF (15 Hz and 30 Hz) sequence
 CIF 352 x 288 resolution at 128–1024 kb/s
-20/20-
Comparision of Standards

Feature/Standard MPEG-1 MPEG-2 MPEG-4 part 2 H.264/MPEG-4


(visual) part 10
Macroblock size 16x16 16x16 (frame mode) 16x16 16x16
16x8 (field mode)
Block Size 8x8 8x8 16x16, 16x8, 8x8 16x16, 8x16, 16x8,
8x8, 4x8, 8x4, 4x4

Transform 8x8 DCT 8x8 DCT 8x8 4x4, 8x8 Int DCT
DCT/Wavelet 4x4, 2x2 Hadamard
Quantization Scalar Scalar quantization Vector Scalar quantization
quantization with with step size of quantization with step size of
step size of constant increment increase at the rate
constant of 12.5%
increment
Entropy coding VLC VLC VLC VLC, CAVLC,
CABAC
Motion Estimation & Yes Yes Yes Yes, more flexible
Compensation Up to 16 MVs per
MB
Playback & Random Yes Yes Yes Yes
Access
Comparision of Standards (cont’d..)

Feature/Standard MPEG-1 MPEG-2 MPEG-4 part 2 H.264/MPEG-4 part


(visual) 10
Pel accuracy Integer, ½-pel Integer, ½-pel Integer, ½-pel, Integer, ½-pel,
¼-pel ¼-pel
Profiles No 5 8 3
Reference picture one one one multiple
Bidirectional forward/backward forward/backward forward/backward forward/forward
prediction mode forward/backward
backward/backward
Picture Types I, P, B, D I, P, B I, P, B I, P, B, SP, SI
Error robustness Synchronization & Data partitioning, Synchronization, Data partitioning,
concealment FEC for important Data partitioning, Parameter setting,
packet Header extension, Flexible macroblock
transmission Reversible VLCs ordering, Redundant
slice, Switched slice
Transmission rate Up to 1.5Mbps 2-15Mbps 64kbps - 2Mbps 64kbps -150Mbps

Compatibility with n/a Yes Yes No


previous standards
Encoder complexity Low Medium Medium High
References
 Related group
MPEG website http://www.mpeg.org
JVT website: ftp://ftp.imtc-files.org/jvt-experts
www.mpegif.org
 Test software
H.264/AVC JM Software: http://bs.hhi.de/~suehring/tml/download
 Test sequences
http://ise.stanford.edu/video.html
http://kbs.cs.tu-berlin.de/~stewe/vceg/sequences.htm
http://www.its.bldrdoc.gov/vqeg
ftp.tnt.uni-hannover.de/pub/jvt/sequences/
http://trace.eas.asu.edu/yuv/yuv.html
 Papers
Wiegand, T.; Sullivan, G.J.; Bjontegaard, G.; Luthra, A., “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.
Sullivan, G.J.; Wiegand, T., "Video Compression - From Concepts to the H.264/AVC Standard,"
Proceedings of the IEEE , vol.93, no.1, pp.18-31, Jan. 2005
Jorn Ostermann et al., “Video coding with H.264/AVC: Tools, Performance, and Complexity,” in
IEEE Circuit and systems magazine, first quarter. 2004.
M. Mahdi Ghandi and Mohammad Ghanbari, “The H.264/AVC Video Coding Standard for the
Next Generation Multimedia Communication,” in IAEEE Journal

You might also like