1. Overview of the High Efficiency Video Coding
(HEVC) Standard
Guided By (Dharmendra Savaliya)14mece05
Prof. Tanish Zaveri (Hitesh Patel)14mece11
2. HEVC Introduction
Typical HEVC
HEVC Video Coding Layer
HEVC Video Coding Technique
HEVC Application
3. Joint project between ISO/IEC/MPEG and ITU-T/VCEG
• ISO/IEC: MPEG-H Part 2 (23008-2)
• ITU-T: H.265
• The JCT-VC committee
• Joint Collaborative Team on Video Coding
• Target: roughly half the bit-rate at the same subjective quality compared to
H.264/AVC
• Requirements:
• Progressive required for all profiles and levels
• Interlaced support using field SEI message
• Video resolution: sub QVGA to 8Kx4K, with more focus on higher resolution
video content (1080p and up)
• Color space and chroma sampling: YUV420, YUV422, YUV444, RGB444
• Bit-depth: 8-14 bits
5. A picture is partitioned into CTUs.
The CTU is the basic processing unit.
It contains luma CTBs and chroma CTBs.
A luma CTB covers L ×L samples.
Two chroma CTBs cover each L/2 ×L/2 samples.
HEVC supports variable-size CTBs.
The value of L may be equal to 16, 32, or 64.
It is selected according to needs of encoders.
In terms of memory and computational requirements.
Large CTB is beneficial when encoding high-resolution video
content.
6. Coding unit (CU) and coding block (CB)
The root of quadtree is CTU.
CTU is partitioned into CUs recursively.
A CU consists of one luma CB and two chroma CB.
Each CU has an associated partitioning into prediction
units (PUs) and a tree of transform units (TUs)
7. CTBs can be used as CBs or can be partitioned into
multiple CBs using quadtree structures.
The quadtree splitting process can be iterated until
the size for a luma CB reaches a minimum allowed
luma CB size (8 ×8 or larger).
8. Prediction unit (PU) and prediction block (PB)
A PU partitioning structure has its root at the CU level
PB size can be from 64×64 down to 4×4
The prediction mode for CU is signed as being Intra or
Inter
When it is signed as intra, the PB (prediction block) size is
same as CB size for all block
- CB can be spilt into four PB quadrant when CB
size is equal to small CB size.
- It allows mode selection for block as small as 4 x 4.
10. Transform unit (TU) and transform block (TB)
A TU tree structure has its root at the CU level.
A luma CB may be identical to the luma TB or may be
split into smaller luma TBs.
TB size can be 4×4, 8×8, 16×16, and 32×32
11. Motion compensation
Quarter-sample precision is used for the MVs.
7-tap or 8-tap filters are used for interpolation of
fractional-sample positions.
Intrapicture prediction
33 directional modes, planar (surface fitting), DC (flat)
Modes are encoded by deriving most probable modes
(MPMs) based on those of previously decoded
neighboring PBs.
12. Quantization control
Uniform reconstruction quantization (URQ)
Entropy coding
Context adaptive binary arithmetic coding (CABAC)
In-Loop deblocking filtering
Similar to the one in H.264
More friendly to parallel processing
Sample adaptive offset (SAO)
Nonlinear amplitude mapping
For better reconstruction of amplitude by histogram
analysis
13. HEVC : block-based hybrid video coding
① Inter picture prediction
Temporal statistical dependences
② Intra picture prediction
Spatial statistical dependences
③ Transform coding
Spatial statistical dependences
14. Planar prediction (Intra_Planar)
Amplitude surface with a horizontal and vertical slope
derived from boundaries
DC prediction (Intra_DC)
Flat surface with a value matching the mean value of the
boundary samples
Directional prediction (Intra_Angular)
33 different directional prediction is defined for square
TB sizes from 4×4 up to 32×32
15. Fig. 6. Modes and directional orientations for intrapicture prediction
16. • HEVC supports motion vectors with units of
one quarter of the distance between luma
samples.
Fractional Sample Interpolation
It is used to generate the prediction samples for non
integer sampling positions.
17. For residual coding, a CB can be recursively partitioned
into transform blocks.
The partitioning is signaled by a residual quadtree.
• Subdivision of a CTB into CBs and TBs.
• Solid lines: CB boundaries, dotted lines: TB boundaries
18. A slice is divided into rows of CTUs.
This supports parallel processing of rows of CTUs
by using several processing threads in the encoder
or decoder.
Wavefront parallel processing (WPP)
19. HEVC uses transform coding of the prediction error
residual.
The residual block is partitioned into multiple square
TBs.
The supported transform block sizes are 4×4, 8×8,
16×16, and 32×32.
1. Core Transform
2. Alternative integer Transform
3. Scaling and Quantization
20. HEVC uses only CABAC for entropy coding.
Context modeling
The number of contexts used in HEVC is less than in
H.264/MPEG-4 AVC.
Entropy coding design actually provides better compression.
Adaptive coefficient scanning
Coefficient scanning is performed in 4×4 subblocks for all TB
sizes.
The selection of the coefficient scanning order depends on
the directionalities of the intrapicture prediction.
21. • Adaptive coefficient scanning
The horizontal scan is used when the prediction direction is close to
vertical.
The vertical scan is used when the prediction direction is close to
horizontal.
For other prediction directions, the diagonal up-right scan is used.
22. Two processing steps, a deblocking filter (DBF) followed
by an sample adaptive offset (SAO) filter, are applied to
the reconstructed samples.
The DBF is intended to reduce the blocking artifacts due to
block-based coding.
The DBF is only applied to the samples located at block
boundaries.
The SAO filter is applied adaptively to all samples satisfying
certain conditions.
e.g. based on gradient.
23. Deblocking Filter
It is applied to all samples adjacent to a PU or TU boundary.
HEVC only applies the deblocking filter to the edge that are
aligned on an 8×8 sample grid.
This restriction reduces the worst-case computational
complexity without noticeable degradation of the visual
quality.
It also improves parallel-processing operation.
The processing order of the deblocking filter is defined as
horizontal filtering for vertical edges for the entire picture
first, followed by vertical filtering for horizontal edges.
24. SAO (sample adaptive offset)
It is a process that modifies the decoded samples by
conditionally adding an offset value to each sample after the
application of the deblocking filter, based on values in look-up
tables transmitted by the encoder.
It is performed on a region basis, based on filtering type selected
per CTB.
sao_type_idx 0: it is not applied to the CTB.
sao_type_idx 1: band offset filtering
sao_type_idx 2: edge offset filtering
25. SAO
In the band offset mode.
The selected offset value directly depends on the sample
amplitude.
The full sample amplitude range is uniformly split into 32
segments called bands.
The sample values belonging to four of these bands are modified
by adding transmitted values.
The main reason for using four consecutive bands is that in the
smooth areas artifacts can appear.
26. SAO
In the edge offset mode.
a horizontal, vertical, or one of two diagonal gradient directions is used for
the edge offset classification in the CTB.
Each sample in the CTB is classified into one of five EdgeIdx categories.
27. I_PCM mode(bits)
The prediction, transform, quantization and entropy
coding are bypassed.
The samples are directly represented by a pre-defined
number of bits.
Its main purpose is to avoid excessive consumption of
bits when the signal characteristics are extremely
unusual.
28. Lossless mode
The transform, quantization, and other processing that
affects the decoded picture are bypassed.
The residual signal from inter- or intrapicture prediction
is directly fed into the entropy coder.
It allows mathematically lossless reconstruction.
SAO and deblocking filtering are not applied to this
regions.
29. Transform skipping mode
Only the transform is bypassed.
It improves compression for certain types of video
content such as computer-generated images or graphics
mixed with camera-view content.
It can be applied to TBs of 4×4 size only.
30. Harmonic has announced support for HEVC within its
market-leading ProMedia solution. ProMedia Live supports
live streaming from Mobile to HD for real-time video to
software clients on smartphones, tablets, computers,
gaming and streaming-player consoles. This capability will
be extended to allow ProMedia to support resolutions up-
to and including Ultra HD. Promedia Xpress brings
Harmonic’s quality/performance leadership to file
transcoding by adding HEVC and allowing efficient
handling of all types of content, including Ultra HD for on-
demand streaming, again to software decode clients.
31. A multitude of tech companies are starting to adapt the new standard
and offer support. Companies such as Harmonic will be announcing
support for the standard. Many others such as LG, Panasonic, Sony,
Toshiba, Philips, Sharp, ARM, Intel, Nvidia, Qualcomm, Realtek
Semiconductor and Mozilla have backed the codec, and even Google
will support it in Chrome and hasn’t ruled out YouTube support. Apple
has even moved to support HEVC on its iPads — those sold in 2012 are
HEVC compliant.
Why the initial lag in adoption of the new codec?
One explanation was the uncertainty of price and what it would cost to
use HEVC. Also the incorporation of HEVC playback into the iOS or
Android platforms, either via an app or OS upgrade.
32. 32
IEEE TRANSACTIONS ON CIRCUITS AND
SYSTEMS FOR VIDEO TECHNOLOGY, VOL. 22,
NO. 12, DECEMBER 2012
Overview of the High Efficiency Video Coding
(HEVC) Standard By Gary J. Sullivan, Fellow, IEEE,
Jens-Rainer Ohm, Member, IEEE, Woo-Jin Han,
Member, IEEE, and Thomas Wiegand, Fellow, IEEE