SlideShare a Scribd company logo
1 of 245
Download to read offline
High Efficiency Video Coding – Coding Tools and
Specification: HEVC V3 and Coming Developments
Mathias Wien
Institut für Nachrichtentechnik
RWTH Aachen University
ICME2016
Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 1 / 235
Outline Part I
1 Video Coding Systems
2 Structure of a Video Sequence
3 Specification
Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 2 / 235
Outline Part II
4 Coding Structures
5 Reference Pictures
6 High-Level Syntax
Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 3 / 235
Outline Part III
7 Intra Prediction
8 Inter Prediction
9 Residual Coding
10 Loop Filtering
11 Entropy Coding
12 Profiles in HEVC Edition 1
Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 4 / 235
Outline Part IV
13 Range Extensions
14 Annex F: Common specifications for multi-layer extensions
15 Annex G: Multiview High Efficiency Video Coding
16 Annex H: Scalable High Efficiency Video Coding
17 Annex I: 3D High Efficiency Video Coding
Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 5 / 235
Outline Part V
18 Screen Content Coding
19 Free Viewpoint Television
20 Wide Color Gamut / High Dynamic Range Coding
21 Future Video Coding
Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 6 / 235
Outline Part VI
22 Summary and Outlook
23 Books and Tools
24 Resources
25 Acronyms
26 References
Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 7 / 235
Part I
Introduction
Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 8 / 235
Outline
1 Video Coding Systems
2 Structure of a Video Sequence
3 Specification
Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 9 / 235
Video Coding Systems
source pre-processing encoding
transmission
decodingpost-processingdisplay
Generalized overview of the processing chain
Various realizations of the chain
Communication (e. g. video conferencing)
Broadcast (e. g. TV, streaming)
Storage (DVD, Blu-Ray, . . . )
Transcoding may be part of transmission
Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 10 / 235
Hybrid Coding Scheme: Encoder
Decoder
CTB
input picture
+
−
TR+Q
TB
iTR+iQ TB
+
Intra
PB
Entropy
Cod-
ing
bitstream
Deblk. Slice
Loop
Filter
Slice
rec. picture
Inter
PB
Buffer n pics
ME
PB
CTB – Coding Tree Block
ME – Motion Estimation
PB – Prediction Block
Q – Quantization
TB – Transform Block
TR – Transform
Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 11 / 235
Outline
1 Video Coding Systems
2 Structure of a Video Sequence
Representation of Color
3 Specification
Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 12 / 235
Structure of a Video Sequence
Sequence of pictures successively captured or rendered
Progressive and interlaced formats
Picture rate measured in pictures per second, unit Hertz (Hz)
Minimum picture rate at 24 Hz for fluent motion [1]
Standard Definition TV at 50/60 Hz interlaced
High Definition (HD) video at 50/60 Hz progressive
Ultra HD (UHD) video up to 120 Hz
Up to 300 Hz considered
Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 13 / 235
Chroma Sub-Sampling
Human visual system less sensitive to color than to structure and texture
⇒ full resolution luma, lower resolution chroma
Chroma sub-sampling types commonly specified by relation between
number of luma an chroma samples
YCbCr Y:X1:X2
With Y: number of luma pixels
Sub-sampling format of chroma components specified by X1 and X2
X1: horizontal sub-sampling
X2 = 0: vertical sub-sampling identical to horizontal sub-sampling
X2 = X1: no vertical sub-sampling
Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 14 / 235
Chroma Sub-Sampling
Example:
Assumed location of chroma samples relative to luma samples in HEVC
luma
chroma
(a) YCbCr 4:2:0 (b) YCbCr 4:2:2
Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 15 / 235
Outline
1 Video Coding Systems
2 Structure of a Video Sequence
3 Specification
Specification Scope
Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 16 / 235
Standardization
Driving factor for standardization: Interoperability
Desire to enable devices and applications from different manufacturers
and sources to interoperate
Definition of requirements
Application needs
Extensibility options
Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 17 / 235
Specification Scope
source pre-processing encoding
transmission
decodingpost-processingdisplay
Parsing process
Bitstream syntax
Decoding process
Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 18 / 235
Part II
HEVC Coding Structures and High-Level
Syntax
Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 19 / 235
Outline
4 Coding Structures
Random Access Points
Leading and Trailing Pictures
Temporal Sub-Layer Access
Blocks, Units, and Slices
Tiles
Block Types
5 Reference Pictures
6 High-Level Syntax
Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 20 / 235
Picture Types: Intra Random Access Points
Instantaneous Decoder Refresh (IDR)
Start of new CVS, reset of decoding process, DPB emptied
Only reference to pictures following IDR in coding order
No reference ’across’ IDR picture
Clean Random Access (CRA)
DPB left intact if within coded video sequence
Pictures after CRA in coding and output order without reference to
pictures before CRA
If used as starting point: Conformingly decodable pictures following CRA
in output order
Broken Link Access (BLA)
Renaming of CRA after splicing operation
Indicates removal of pictures containing broken / unavailable references
CVS = Coded Video Sequence, DPB = Decoded Picture Buffer
Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 21 / 235
Picture Types: Leading and Trailing Pictures
Leading Pictures
Precede associated IRAP in output order
Follow associated IRAP in coding order
Random Access Decodable Leading Picture (RADL)
Correctly decodable if decoding starts at corresponding IRAP
No reference to pictures prior to IRAP in coding and output order
Random Access Skipped Leading Picture (RASL)
May contain references to unavailable pictures if decoding starts at IRAP
Shall not be output if associated IRAP is a BLA
Trailing Pictures
Follow the associated IRAP in coding and output order
Follow all leading pictures associated to the IRAP in coding order
Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 22 / 235
Picture Types: Leading and Trailing Pictures – Example
2 70 1 3 4 5 6 8 9output ord.
coding ord. 01 2 34 56 7 9 8
pic. type RADL RADL IDR TRAIL TRAIL RADL RADL CRA TRAIL TRAIL
NUT 7 6 19 0 1 7 6 21 0 1
(a)
2 70 1 3 4 5 6 8 9 10output ord.
coding ord. 01 2 34 56 7 89
pic. type RADL RADL IDR TRAIL TRAIL RASL RASL CRA TRAIL TRAIL
NUT 7 6 19 0 1 9 8 21 0 1
(b)
NUT: NAL unit type, NAL = Network Abstraction Layer
Coding structure for demonstration purpose only
Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 23 / 235
Picture Types: Leading and Trailing Pictures – Splicing
SEQUENCE A
2 0 1 4 3 7 5 6 9 8 12 10 11 1output ord.
coding ord. 0 1 2 3 4 5 6 7 8 9
pic. type IDR RADL RADL TRAIL TRAIL CRA RASL RASL TRAIL TRAIL
NUT 19 7 6 1 0 21 9 8 1 0
SEQUENCE B
0 1 2 3 × × 5 4 8 6 7 10 9output ord.
coding ord. 0 1 2 3 4 5 6 7 8 9
pic. type IDR TRAIL TRAIL BLA RASL RASL TRAIL TRAIL CRA RASL
NUT 19 1 0 16 9 8 1 0 21 9
Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 24 / 235
Picture Types: Temporal Sub-Layer Access
Switching temporal layers
Temporal nesting: at any picture to higher or lower tid
General: switching of temporal layer only at tid = 0
Temporal sub-layer access: additional option
Temporal Sub-Layer Access (TSA)
Switch to any higher tid at TSA picture
No reference to higher tid by TSA picture
Stepwise Temporal Sub-Layer Access (STSA)
Switch to tid of STSA picture possible
Switch to higher temporal layers not possible
Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 25 / 235
Spatial Coding Structures
Blocks and Units
Block: Square or rectangular area in a color component array
Unit: Collocated blocks of the (three) color components, associated
syntax elements and prediction data (e. g. motion vectors)
Picture partitioning
Coding Tree Blocks / Coding Tree Units (CTBs / CTUs)
Each CTU in exactly one slice segment
Independent slice segment: Full header, independently decodable
Dependent slice segment: very short header, relies on corresponding
independent slice, inherits CABAC state
Slice types
I-slice: Intra prediction only
P-slice: Intra prediction and motion compensation with one reference
picture list
B-slice: Intra prediction and motion compensation with one or two
reference picture lists
CABAC: Context-based Adaptive Binary Arithmetic Coding
Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 26 / 235
Wavefront Parallel Processing (WPP)
Storage of CABAC states for synchronization
Two CTUs offset per row (availability of top-left CTU)
Entry points coded in the slice segment header
CTU CTU CTU CTU CTU CTU
0 1 2 3 4 5
CTU CTU CTU CTU
Nc Nc+1 Nc+2 Nc+3
CTU CTU
2Nc 2Nc+1
decoder1
decoder2
decoder3
slice seg.
header
CTU CTU CTU CTU CTU CTU
0 1 Nc Nc+1 2Nc 2Nc+1
··· ··· ···
ep0 ep1 ep2
Bitstream
Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 27 / 235
Tiles
Change scanning order of CTBs in picture
Slices in tiles, or tiles in slices
Reset of prediction and entropy coding → parallel processing
(entry points like WPP)
Slice 1
Slice 2
Slice 3
Slice 4
Slice 5
Slice 6
Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 28 / 235
Tiles
Change scanning order of CTBs in picture
Slices in tiles, or tiles in slices
Reset of prediction and entropy coding → parallel processing
(entry points like WPP)
Slice 1
Slice 2
Slice 3
Slice 4
Slice 5
Slice 6
Tile 1 Tile 2 Tile 3
Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 28 / 235
Tiles
Change scanning order of CTBs in picture
Slices in tiles, or tiles in slices
Reset of prediction and entropy coding → parallel processing
(entry points like WPP)
Slice 1
Slice 2 Slice 3 Slice 4
Slice 5
Tile 1 Tile 2 Tile 3
Tile 4 Tile 5 Tile 6
Tile 7 Tile 8 Tile 9
Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 28 / 235
Coding Tree Blocks and Coding Blocks (CBs)
Quadtree partitioning of CTB into CBs
If picture size not integer multiple of CTB size:
Implicit CTB partitioning to meet picture size (must be multiple of 8×8
pixels)
0
1 2
3 4
5 6
7
8 9
10 11
12 13
14 15
16
17 18
19 20
21
0
1 2
3 4 5 6
7 8 9 10 11
12 13 14 15
16
17 18 19 20
21
(a) (b)
Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 29 / 235
Prediction Blocks (PBs) and Transform Blocks (TBs)
Prediction block partitioning of a 2N×2N CB
INTER
2N×2N 2N×N N×2N N×N
2N×nU 2N×nD nL×2N nR×2N
INTRA
2N×2N
4×4
Transform block partitioning of a CB
Quadtree partitioning of CB → Residual Quad Tree (RQT)
Transform size 4×4 to 32×32
TB size 4×4 to 64×64
PB boundaries inside TBs allowed
Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 30 / 235
Outline
4 Coding Structures
5 Reference Pictures
Reference Picture Set
Reference Picture List
6 High-Level Syntax
Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 31 / 235
Reference Picture Sets (RPS)
Reference Picture Set
Set of previously decoded pictures
To be used as reference for inter prediction
Identified by POC value
Picture marking
Use in current or following pictures
Unused for reference (can be removed from DPB)
Construction
Short-term before (B)
Short-term after (A)
Long-term
spec further reading: [4]
Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 32 / 235
Short-Term RPS – Example
POC
RPS
0 8B0 *B1B2B3
0 842 61 3 5 7-1-2-3-4-5-6-7-8
1 9B0 A0*B1
2 10B0 A1A0*B1
3B0 A2A1A0*
4B1 A1A0B0 *
5B2 A0B0B1 *
6B1 A1B0 A0*
7B2 A0B1 B0 *
0 842 61 3 5 7-1-2-3-4-5-6-7-8
RPS of random access configuration from the JCT-VC
common testing conditions JCTVC-K1100 [8]
Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 33 / 235
Reference Picture List (RPL)
Reference picture lists constructed from available RPS
Size of RPL signaled in PPS or slice segment header
One list in P-slices (List0)
Two lists in B-slices (List0, List1)
Construction
List0
Short-term before
Short-term after
Long-term
List1
Short-term after
Short-term before
Long-term
Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 34 / 235
Outline
4 Coding Structures
5 Reference Pictures
6 High-Level Syntax
Network Abstraction Layer
Parameter Sets
Picture Order Count
Hypothetical Reference Decoder
Supplemental Enhancement Information
Video Usability Information
Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 35 / 235
Network Abstraction Layer (NAL)
Coded Video Sequence (CVS)
Starts with a ’new’ IRAP (associated RASLs to be discarded)
One or more CVSs in a bitstream
→ Coded Video Sequence Group (CVSG)
Network Abstraction Layer
Encapsulation of coded video sequence for transport and storage
Video coding layer (VCL) NAL units
All video data, i. e.
Slices with CTUs, PUs, TUs
Non-VCL NAL units
Parameter sets
Supplemental enhancement information
. . .
ScHaWaWe12 [9]
Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 36 / 235
NAL Unit Structure
| | | | | | | | |
. . .
byte 0 1 2 . . . . . . NU−1
1 0 0 0 0 0
NALU header RBSP
SODB
RBSP stop bitMSB LSB
RBSP: Raw byte sequence payload
Sequence of bytes comprising the coded NAL unit payload
RBSP stop bit (=’1’) plus zero bytes for byte alignment
SODB: String of data bits
Concatenation of bits in the RBSP bytes from MSB to LSB
All bits needed for the decoding process
Only the bits needed for the decoding process
Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 37 / 235
NAL Unit Header (2 bytes)
“0” NAL unit type NUH layer id temporal id
byte 1 byte 2
NAL unit type: characterize content of VCL/ non-VCL NAL unit
NAL unit header (NUH) layer id: equal to 0 for HEVC Version 1, for use in
scalable extension (spatial layers, quality layers), multi-view extension
(view id)
temporal id ( tid): temporal sub-layer identifier
Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 38 / 235
Access Units
start
AUD
(prefix)
SEI
CSS
suffix
SEI
EOS EOB
end
Access Unit (AU)
Set of all NAL units associated to exactly one picture
All NAL units of AU share output time of included picture
Not depicted
Parameter sets
Other NAL units types
Decoding Units
Decoder operation on sub-picture level
Operation of the HRD on sub-picture basis
(HRD = Hypothetical Reference Decoder, see below)
Enables sub-picture output before complete decoding of full picture
AUD Access unit delimiter
SEI Supplemental enhancement information
EOS End of sequence
EOB End of bitstream
Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 39 / 235
Parameter Sets
Hierarchical structure
Separation of information for different hierarchy levels
Highest-priority information
In-band or out-of-band transmission
Available parameter sets
Video parameter set (VPS)
Sequence parameter set (SPS)
Picture parameter set (PPS)
Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 40 / 235
Parameter Sets
VPS1
VPS2
SPS1
SPS2
SPS3
PPS1
PPS2
PPS3
PPS4
PPS5
slice headers in coded video seq. A
slice headers in coded video seq. B
slice headers in coded video seq. M
slice headers in coded video seq. N
...
...
bitstream I
bitstream II
Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 41 / 235
Coded Video Sequence Group
CVS1
CVS2
CVSG
VPS1
SPS1 PPS2 SSH lid = 1
SPS1 PPS1 SSH lid = 0
SPS3 PPS4 SSH lid = 1
SPS3 PPS3 SSH lid = 0
Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 42 / 235
Video Parameter Set
Introduced for handling of multi-layer bitstreams
General information, activated for all layers
Coded video sequence(s), included layers, available operation points
Highest layer parameter set: sets global constraints
HEVC Version 1: not needed, copy of SPS information
Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 43 / 235
Sequence Parameter Set
Activated for the coded video sequence
Profile, tier, and level
Usage of tools
Video usability information
. . .
Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 44 / 235
Picture Parameter Set
Activated per picture
May change from picture to picture (only one per picture)
Tool configuration
CABAC
Quantizers,
Loop filters
Tiles
. . .
Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 45 / 235
Slice Segment Header
Activates the chain of parameter sets (once per picture)
Slice segment header must refer PPS with identical content (but not
necessarily identical PPS id)
Includes picture order count
Includes all information needed to decode the independent slice segment
and associated dependent slice segments
Entry points for wavefront parallel decoding / tiles
Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 46 / 235
Picture Order Count (POC)
POC-2
POC-1
POC
POC+1
Identifier of picture in the DPB
Indicates output order of the pictures, strictly increasing
POC of IDR pictures always 0: start of new coded video sequence
Used for derivation of picture distance in inter prediction, scaling of
motion vectors
Constant POC delta not necessary
VPS: indication of POC relation to picture time difference possible
Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 47 / 235
Hypothetical Reference Decoder (HRD)
hypothetical
stream
scheduler
(HSS)
coded
picture
buffer
(CPB)
decoding
process
(instan-
taneous)
decoded
picture
buffer
(DPB)
output
cropping
Encoder: control of buffer states
Introduction of timing
Conformance testing
Parameter signalling in VPS or SPS
Sub-picture operation possible
AU operation → DU operation (new in HEVC)
Specified in HEVC Annex C spec , further reading: [10]
Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 48 / 235
HRD: Decoded Picture Buffer
hypothetical
stream
scheduler
(HSS)
coded
picture
buffer
(CPB)
decoding
process
(instan-
taneous)
decoded
picture
buffer
(DPB)
output
cropping
Reconstructed pictures
Reference pictures (short-term / long-term)
Pictures to be displayed
Picture output timing: Delay relative to CPB removal time
Note: Prevention of picture output possible
Signalled in the bitstream
Indicated by BLA picture type
Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 49 / 235
Supplemental Enhancement Information (SEI)
SEI message content
Not required for the decoding process
Potentially useful for the decoding process
Attached and integrated into bitstream, sent with coded video sequence
Error recovery, testing for integrity, . . .
Prefix SEI: Cannot occur after the NAL units of the coded picture
Suffix SEI: Cannot occur before the NAL units of the coded pictures
Concept of SEI from H.264|AVC, payload types aligned for inherited SEI
messages
Specified in Annex D spec
Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 50 / 235
Video Usability Information VUI
Not required by the decoding process
Information on the interpretation of the decoded video sequence
Signaling in-band (as part of SPS) or out-of-band
Parameters
Geometric relations → sample aspect ratio (SAR), overscan indication
Video signal type and color information
Frame / field indication
Default display window (suggested area within the cropping window)
HRD/ Timing information (including clock tick for picture rate)
Restrictions: Tiles, motion vectors, RPL, spatial segmentation, maximum
byte cost (picture / CTU)
Specified in Annex E spec
Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 51 / 235
Part III
HEVC Coding Tools
Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 52 / 235
Outline
7 Intra Prediction
Intra Prediction Modes
Intra Coding Example
8 Inter Prediction
9 Residual Coding
10 Loop Filtering
11 Entropy Coding
12 Profiles in HEVC Edition 1
Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 53 / 235
Intra Prediction
Decoder
CTB
input picture
+
−
TR+Q
TB
iTR+iQ TB
+
Intra
PB
Entropy
Cod-
ing
bitstream
Deblk. Slice
Loop
Filter
Slice
rec. picture
Inter
PB
Buffer n pics
ME
PB
Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 54 / 235
Intra Prediction Modes
0 : Planar
1 : DC
18
17
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
34
33
32
31
30
29
28 272625 24
23
22
21
20
19
Planar prediction: mode 0
DC intra prediction: mode 1
Numbering from diagonal-up to diagonal-down
Horizontal: mode 10, vertical: mode 26
Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 55 / 235
Intra Prediction Block size
Intra prediction mode coded per CU
Prediction block size derived from residual quadtree
Boundary samples of neighboring block used for prediction
Efficient representation
Local update of prediction source
Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 56 / 235
Intra Coding Example
DC
DC
DC
DC
DC
P
P DC
P P
DC
P
P
DC
P
P
P
DC
P
P P
DC
original
Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 57 / 235
Intra Coding Example
DC
DC
DC
DC
DC
P
P DC
P P
DC
P
P
DC
P
P
P
DC
P
P P
DC
prediction
Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 58 / 235
Intra Coding Example
DC
DC
DC
DC
DC
P
P DC
P P
DC
P
P
DC
P
P
P
DC
P
P P
DC
residual
Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 59 / 235
Outline
7 Intra Prediction
8 Inter Prediction
Motion Compensated Prediction
Motion Vector Representation
Inter Coding Examples
9 Residual Coding
10 Loop Filtering
11 Entropy Coding
12 Profiles in HEVC Edition 1
Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 60 / 235
Inter Prediction
Decoder
CTB
input picture
+
−
TR+Q
TB
iTR+iQ TB
+
Intra
PB
Entropy
Cod-
ing
bitstream
Deblk. Slice
Loop
Filter
Slice
rec. picture
Inter
PB
Buffer n pics
ME
PB
Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 61 / 235
Motion Compensated Prediction
POC-2
POC-1
POC
POC+1
Prediction from reference picture lists
Uni-prediction
P-slices only with List0, B-slices with List0 or List1
Minimum PB size 8×4 or 4×8
Bi-prediction, only in B-slices
One predictor from List0, one predictor from List1
Minimum PB size 8×8
Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 62 / 235
Motion Vector Representation
Merge mode
Motion vector (MV) derived from candidate set (spatial and temporal
neighborhood)
Merge mode candidate index coded
No motion vector difference encoded
Advanced motion vector prediction
Predictor derived from candidate set (spatial and temporal neighborhood)
Predictor index coded
Motion vector difference encoded
HeOuBrMaBi12 [12]
Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 63 / 235
Merging Motion Vectors
Merge candidate list
List with up to five different motion merge candidates (list length indicated
in the slice segment header)
Unavailable candidates are ignored
List filled to specified length → Improved loss robustness:
Available list length independent of derivation process
Additional combination of reference picture list 0 and 1 candidates for
B-slices
Merge mode granularity
PU grid size configured in the PPS
PUs below grid size share merge candidate list
Adjustable computational complexity
Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 64 / 235
Merging Motion Vectors – Spatial Candidates
A0
A1
B0B1
B2
(xP,yP)
PU
(xP,yP) (xP,yP)
(a) Merge candidates (b) 4×8 PUs
Processing order: A1,B1,B0,A0,B2
Candidates A1,B1 only if not right or bottom PU in CU with two partitions,
respectively
Maximum four spatial merge candidates
Reduced line buffer storage requirement: shifted neighbor locations for
blocks of width 4
spec
Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 65 / 235
Merging Motion Vectors – Temporal Candidates
collocated region in
reference picture
C0
C1
n −5 n −4 n −3 n −2 n −1 n
current picture
POC
td tb
Location C1 if C0 unavailable, or PU at bottom right CTU boundary
(complexity)
Applicable reference picture selected on slice basis
B-slices: Reference picture list 0 or 1 indicated by flag
Reference index of candidate always set to 0 (error resilience, complexity)
MV scaling according to POC distance
mvPU =
tb
td
·mvcol
Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 66 / 235
Predictive Motion Vector Coding
A0
A1
B0B1
B2
(xP,yP)
PU
collocated region in
reference picture
C0
C1
Advanced motion vector prediction
Reference index and motion vector difference coded!
Selection of predictor by flag (only two options)
Derivation process for each reference picture list
Locations from spatial neighborhood as shown for merge mode
Candidate MVs scaled based on POC difference
Candidate A first of A0,A1, candidate B first of B0,B1,B2
Optional: Additional temporal candidate C if A or B not available
spec
Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 67 / 235
Motion Vector Signaling: Skip spec
CU Skip
Indication via flag at beginning of CU syntax
Based on Merge mode
Only merge index signalled
No further syntax elements for CU
→ Residual inferred to be zero
→ Very cheap coding mode
Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 68 / 235
Inter Coding Examples
Legend: List 0 = diagonal-down hatch, List 1 = diagonal-up hatch, ref.idx=0: gray, ref.idx=1, dark gray
Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 69 / 235
Inter Coding Examples
(a) mvL0 (b) mvL1
Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 70 / 235
Inter Coding Examples
Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 71 / 235
Inter Coding Examples
Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 71 / 235
Outline
7 Intra Prediction
8 Inter Prediction
9 Residual Coding
Core Transforms
Quantization
Coded Representation of Transform Blocks
Special Modes
10 Loop Filtering
11 Entropy Coding
12 Profiles in HEVC Edition 1
Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 72 / 235
Residual Coding
Decoder
CTB
input picture
+
−
TR+Q
TB
iTR+iQ TB
+
Intra
PB
Entropy
Cod-
ing
bitstream
Deblk. Slice
Loop
Filter
Slice
rec. picture
Inter
PB
Buffer n pics
ME
PB
Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 73 / 235
Core Transforms
Transform block sizes 4×4, 8×8, 16×16, and 32×32
Integer approximations of the DCT-II transform matrix
Additionally, integer approximation of the DST-VI transform matrix
’Single-norm’ design per transform block size → simple quantizer
implementation
Not all perfectly orthogonal, leakage below normalization threshold
BuFuBjSzSa13 [13]
Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 74 / 235
Quantizer Step Size
... ...
nq
x
-4 -3 -2 -1 1 2 3 40
∆q
Quantizer step size ∆q derived from quantization parameter QP
Logarithmic relation of quantizer step sizes
Double step size every 6 QP
∆q( QP +1) =
6
√
2 ·∆q( QP)
Definition: ∆q = 1 for QP = 4, thereby
∆q,0 ∈ 2−4
6 ,2−3
6 ,2−2
6 ,2−1
6 ,1,2
1
6
Quantizer step sizes for QP > 5
∆q( QP) = ∆q,0( QPmod6)·2
QP
6
Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 75 / 235
Quantizer Step Size
Quantizer range
QP = 0,...,51
Resulting quantizer step sizes
0.630 ≤ ∆q ≤ 228.1
Covering value range of an 8 bit input signal
Higher input bit depth:
Extension towards finer quantization
Range extended by 6 QP steps per additional bit
Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 76 / 235
Transform Sub-Blocks (TSBs)
last significant coefficient (xlsc,ylsc)
16
16
4
4
transform sub-block
Scan of transform sub-blocks
Last significant coefficient position
Determination of transform sub-blocks with non-zero coefficients
Coded sub-block flag
spec
Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 77 / 235
Transform Sub-Block Scanning
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
0 1 2 3
4 5 6 7
8 9 10 11
12 13 14 15
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
0
1
2
3
0
2
1
3
diag.,
vert.
horiz.
(a) 4×4 diagonal (b) 4×4 horizontal (c) 4×4 vertical (d) 8×8 TSB scans
Partitioning of transform block into 4×4 transform sub-blocks (TSBs)
Scan direction selectable for 4×4 and 8×8 blocks, diagonal otherwise
Scan direction in TSB depending on (intra) prediction mode
Level distribution: ’trailing ones’ expected towards higher frequencies
Scan used in inverse direction
Start with expected ’1’ values
Level: quantized transform coefficient level nq
Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 78 / 235
Special Modes
Transform skip, applicable to 4×4 TUs
Omit transform step
Inverse quantization operation
Additional bit shift to compensate missing transform
Transform and quantization bypass
No inverse transform, no quantizer scaling
Perfect reconstruction of residual (useful e. g. for graphics content)
PCM mode
Direct encoding of pixel levels, lossless representation option for CU
Configurable bit depth (SPS)
Maximum PCM block size 32×32
Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 79 / 235
Outline
7 Intra Prediction
8 Inter Prediction
9 Residual Coding
10 Loop Filtering
Deblocking Filter
Sample Adaptive Offset
11 Entropy Coding
12 Profiles in HEVC Edition 1
Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 80 / 235
Loop Filtering
Decoder
CTB
input picture
+
−
TR+Q
TB
iTR+iQ TB
+
Intra
PB
Entropy
Cod-
ing
bitstream
Deblk. Slice
Loop
Filter
Slice
rec. picture
Inter
PB
Buffer n pics
ME
PB
Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 81 / 235
Deblocking Filter
Design considerations
Reduction of visible blocking artifacts induced from block-wise processing
Computational complexity
Parallel processing
Deblocking processing
Operation on slice / tile basis
Slice-based control of deblocking filter configuration possible
Picture-based or block-based implementations possible
Line buffer for block-based processing
[14]
Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 82 / 235
Deblocking Filter Neighborhood
vertical edges horizontal edges
q0,A1
p0,A1
q0,A2
p0,A2
q0,A3
p0,A3
q0,A4
p0,A4
q0,B1
p0,B1
q0,B2
p0,B2
q0,C1
p0,C1
q0,C2
p0,C2
q0,C3
p0,C3
q0,A1
p0,A1
q0,A2
p0,A2
q0,A3
p0,A3
q0,A4
p0,A4
q0,B1
p0,B1
q0,B2
p0,B2
q0,B3
p0,B3
q0,B4
p0,B4
q0,C
p0,C
(a) (b)
Neighborhood determination
q0,p0: reference samples in current block and neighboring block
Filtering only on 8×8 sample grid!
Edge sections of 4 sample length
Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 83 / 235
Boundary Strength
Boundary strength parameter bS
Neighboring blocks determined by q0,p0
Possible boundary parameter strength values: 0,1,2
Determination of bS
At least one intra coded block: bS = 2
Transform block boundary and non-zero coefficients: bS = 1
Motion information conditions: bS = 1
Different reference pictures or different number of motion vectors
Same number of MVs and |mvx,p −mvx,q| ≥ 1 or |mvy,p −mvy,q| ≥ 1
(full-sample resolution)
Otherwise: bS = 0
spec
Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 84 / 235
Deblocking Filter Operation
Deblocking filter operation
Operation on a 4-sample edge basis
Luma: Deblocking if bs ≥ 1
Chroma: Deblocking if bs = 2
First vertical filtering, then horizontal filtering
Independent operation on 8×8 block grid → parallel processing!
spec
Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 85 / 235
Deblocking Filter Example
(a) Original (b) Reconstruction with deblocking
Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 86 / 235
Deblocking Filter Example
(c) Structure, deblocked samples (d) Reconstruction without deblocking
Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 87 / 235
Deblocking Filter Example
(e) Normal deblocking (f) Strong deblocking
Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 88 / 235
Sample Adaptive Offset (SAO)
New filter type in ITU-T / MPEG video coding specifications
Local processing of samples
Depending on local neighborhood (edge offset), or
Depending on sample value (band offset)
Operation independent of processed samples → parallel processing
Local filter parameter adaptation
Four different offset values available (plus SAO off)
Dedicated SAO parameters for each Y, Cb, Cr component
Common SAO mode for chroma components
further reading: [15]
spec
Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 89 / 235
SAO: Edge Offset
pcp0 p1 pc
p1
p0
pc
p1
p0
pc
p1
p0
(a) horizontal (b) vertical (c) diagonal-down (d) diagonal-up
Neighborhood
Two samples from 8-connected neighborhood considered
Direction of neighborhood signaled on CTU basis
Relation of sample values determines edge offset index ie
Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 90 / 235
SAO: Edge Offset
p0 pc p1 p0 pc p1 p0 pc p1 p0 pc p1 p0 pc p1
(a) ie = 0 (b) ie = 1 (c) ie = 2
p0 pc p1 p0 pc p1 p0 pc p1
(d) ie = 4 (e) ie = 3
Offset categories
Edge offset index identifies category
Smoothing only, direction of offset predefined
Sign of SAO offsets not signaled
Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 91 / 235
SAO: Band Offset
low band transition high band
transition band position io
0 8 16 24 32 40 48 56 64 72 80 88 96 104 112 120 128 136 144 152 160 168 176 184 192 200 208 216 224 232 240 248
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
255
intensity value (example: bit depth 8bit)
Correction of sample intensity values for four transition bands
Signaling of transition band position
Offset values for transition bands freely configurable
Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 92 / 235
SAO Filter Example
(a) Reconstructed region (b) Samples with band offset active
Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 93 / 235
SAO Filter Example
(c) Reconstructed region (d) Samples with edge offset active
Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 94 / 235
SAO Filter Example
CTBs with SAO edge (lines) and band offset (gray squares)
Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 95 / 235
Outline
7 Intra Prediction
8 Inter Prediction
9 Residual Coding
10 Loop Filtering
11 Entropy Coding
Fixed Length and Variable Length Coding
Context-Based Adaptive Binary Arithmetic Coding
12 Profiles in HEVC Edition 1
Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 96 / 235
Entropy Coding
Decoder
CTB
input picture
+
−
TR+Q
TB
iTR+iQ TB
+
Intra
PB
Entropy
Cod-
ing
bitstream
Deblk. Slice
Loop
Filter
Slice
rec. picture
Inter
PB
Buffer n pics
ME
PB
Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 97 / 235
Entropy Coding
Fixed length and variable length codes (FLC, VLC)
High-level syntax
Parameter sets, slice segment header
SEI messages
Fixed-length codes, Exp-Golomb codes
Arithmetic coding
Slice level, CTUs
Context-based adaptive coding
Bypass coding (complexity, throughput)
Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 98 / 235
Variable Length and Arithmetic Coding
slice seg.
header
NALU
header
CTU CTU CTU CTU
0 NC−1 NC NS−1
··· ···
FLC FLC,VLC CABAC CABACba
ep0
VCL NAL Unit
FLC, VLC for header information
CABAC for CTUs
Byte alignment in case of multiple tiles, or with wavefront parallel
processing (not present otherwise)
CABAC = Context-based Adaptive Binary Arithmetic Coding
ba = byte alignment
Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 99 / 235
Context-Based Adaptive Binary Arithmetic Coding – CABAC
Binary Arithmetic Coder
syntax
ele-
ment
Binarizer
Context
Modeler
Adaptive
Engine
Bypass
Engine
bitstream
bin
string
binary value
bin
value coded bits
bin value coded bits
context update
Binarization
Context model selection
Binary arithmetic coding
Optimized binarization design, reduced number of non-bypass bins
compared to H.264|AVC
MaScWi03 [16]
SzBu12 [17]
Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 100 / 235
Outline
7 Intra Prediction
8 Inter Prediction
9 Residual Coding
10 Loop Filtering
11 Entropy Coding
12 Profiles in HEVC Edition 1
Profiles
Tiers and Levels
Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 101 / 235
Profiles, Tiers, and Levels in HEVC Edition 1
Main Still Picture
Main
Main 10
Annex A
Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 102 / 235
HEVC Edition 1 Profiles
Main Profile
YCbCr 4:2:0 8 bit video only
CTB block sizes 16×16, 32×32, and 64×64
Either tiles or wavefront parallel processing
Minimum tile size 256×64 pixels
Maximum number of CABAC coded bits in N×N CTU: 5
3
braw
with braw = (N2
+N/2)·Bd for YCbCr 4:2:0, bit depth Bd
Main 10 Profile
Additional support of bit depths of 9 and 10 bit
Main Still Picture Profile
Like Main, but only one picture in the bitstream
No timing constraints for the decoder
Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 103 / 235
Tiers and Levels
Profiles
Defined tool (sub-)set of specification
Tools determined from application space
Tiers and levels
Levels: Restrictions on parameters which determine decoding and
buffering capabilities (13 levels defined)
Tiers: Grouping of level limits for different application spaces (currently:
Main Tier for consumer, High Tier for professional applications)
Decoder capable of decoding Profile@Tier/Level must be able to decode
all lower levels of same and lower tier
Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 104 / 235
Extensions of HEVC
Range extensions (HEVC V.2/Ed. 2, 10/2014) V.x=ITU-Version, Ed.y=ISO/ICE Edition
Extended color formats (4:2:2, 4:4:4)
Extended bit depth
Scalable extensions(HEVC V.2/Ed. 2, 10/2014)
Simple, multiloop approach, no modifications on tool-level
Supports spatial, SNR scalability
Multi-view (HEVC V.2/Ed. 2, 10/2014)
3D extensions (HEVC V.3/Ed. 3, 04/2015)
Stereo / multi-view coding
Multi-view with depth coding
Screen Content Coding (V.4/Ed. 3, 2016)
Dedicated tools for this content type
Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 105 / 235
Part IV
Range and Multi-Layer Extensions
Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 106 / 235
Outline
13 Range Extensions
Extended Color Formats
RExt Tools
RExt Profiles
RExt Levels
14 Annex F: Common specifications for multi-layer extensions
15 Annex G: Multiview High Efficiency Video Coding
16 Annex H: Scalable High Efficiency Video Coding
17 Annex I: 3D High Efficiency Video Coding
Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 107 / 235
Range Extensions Applications
Professional Requirements
Highest quality, very high bitrates
Increased chroma resolution
Increased precision: higher bit depth
Applications
Professional: contribution, distribution
Medical applications
. . .
Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 108 / 235
4:2:2 Residual Quadtree
Y Cb Cr
YCbCr 4:2:2
Chroma shares vertical luma resolution, half horizontal resolution
Residual quadtree kept for the three components
Chroma includes two stacked N
2
×N
2
transform blocks with N×N luma
transform block
Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 109 / 235
4:4:4 Residual Quadtree
Y Cb Cr
YCbCr or GBR or YZX 4:4:4
Chroma shares vertical and horizontal luma resolution
Two option, depending on separate_colour_plane_flag
0: Residual quadtree kept for the three components
1: Each color component treated as independent monochrome plane
Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 110 / 235
RExt Tools: Transform Skip Rotation
0 1 2 3
4 5 6 7
8 9 A B
C D E F
=⇒
180◦
F E D C
B A 9 8
7 6 5 4
3 2 1 0
Rotation of residual in transform block
Signaled in SPS
Applicable to intra 4×4 transform blocks using transform skip
Only if transform and quantization bypass enabled
Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 111 / 235
RExt Tools: Implicit/Explicit Residual DPCM Coding
Implicit Residual DPCM Coding
Usage signaled in SPS
Activated only for blocks using horizontal and vertical intra prediction
Transform skip or transform and quantization bypass to be enabled
Explicit Residual DPCM Coding
Inter blocks with transform bypass
Usage and direction explicitly signaled
Example: horizontal DPCM
r(x,y)+ = r(x −1,y); for x = 1...bS −1, y = 0...bS −1
Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 112 / 235
RExt Tools: Inter-Component Residual Prediction
Tool for 4:4:4 content
Prediction of chroma component residual block from luma residual block
RC = RC +α ·RY
with α ∈ {0,±1,±2,±4,±8}
Additional decorrelation of residual signal
Gains on RGB content reported [18]
Activated in PPS
Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 113 / 235
RExt Profiles
Main
Intra
Main
4:4:4
Intra
Main
4:4:4
10 Intra
Main
4:4:4
12 Intra
Main
4:4:4
16 Intra
High Throughput
4:4:4
16 Intra
Monochrome
Monochrome
16
Monochrome 12
Main
4:2:2 Intra
Main
4:2:2
10 Intra
Main
10 Intra
Main
10
Main
12 Intra
Main
4:2:2
12 Intra
Main
12
Main
Still Picture
Main
4:4:4
Still Picture
Main
4:4:4
16
Still Picture
Main
4:4:4
Main
4:4:4
10
Main
4:4:4
12
4:2:2
Main
4:2:2
10
Main
4:2:2
12
Range extensions profiles: general profile idc = 4
High throughput profiles: general profile idc = 5
Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 114 / 235
RExt Levels
Level limits specified in Version 1 unsufficient for RExt profiles
Introduction of scaling factors
HbrFactor: High bitrate factor
Controlled by low bit rate flag spec
Values can be 1, 2, or 12, 24 for High Throughput profiles
CpbVclFactor / CpbNalFactor
Scaled by HbrFactor to apply for table A.4 spec
FormatCapabilityFactor
Scaling factor for number of bytes in an Access Unit
MinCrScaleFactor
Scaling factor for minimum compression ratio
Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 115 / 235
RExt Performance
Comparison of HEVC RExt in HM 16.2 relative to AVC FRExt in JM 18.6
Lossy coding [BD-rate %] Lossless coding, rate saving [%]
Figure from FlMaNaNgRoShSoXu16 [19]
Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 116 / 235
Outline
13 Range Extensions
14 Annex F: Common specifications for multi-layer extensions
Common Specification Structure
Parameter Sets
Bitstream Subsets
SEI messages
15 Annex G: Multiview High Efficiency Video Coding
16 Annex H: Scalable High Efficiency Video Coding
17 Annex I: 3D High Efficiency Video Coding
Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 117 / 235
Common Specification Structure for Multilayer Video
Scalable and multiview coding share concept of layers
Scalable layers: different picture resolutions, different reconstruction quality
Multiview layers: different views on the same scene
Specification approach in HEVC extensions
Unify common parts of extensions in a joint specification annex
Only separate tools in separate annexes
Chosen extension structure
Annex F: “Common syntax, semantics and decoding processes for
multilayer video coding extensions”
Annex G: “Multiview coding”
Annex H: “Syntax, semantics and decoding processes for scalable
extension”
Annex I: “3D High Efficiency Video Coding”
Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 118 / 235
Annex F: Main Features
High level syntax
Introduction of layer identification and layer reference mechanims
Specification of layer structure and layer dependencies
Usability and scalability information
Extended Concepts
Introduction of auxiliary layers (not for output)
Depth
Alpha-plane
Option for non-HEVC baselayer (H.264|AVC)
Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 119 / 235
Video Parameter Set
VPS1
SPS2 PPS2 SSH lid = 1
SPS1 PPS1 SSH lid = 0
Specification of available layers in the bitstream
Scalable layers
Multiple views
Auxiliary pictures (e. g. depth or alpha planes)
Specification of layer dependencies
Prediction relations
Layer sets
Available operation points, output layer sets
Available profiles and levels
Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 120 / 235
NAL Unit Header: Layer ID
“0” NAL unit type NUH layer id temporal id
byte 1 byte 2
Each layer has unique layer identifier lid
Scalability types defined in VPS
Indication of texture or depth layer
View order index for multi-view coding voidx
Spatial / quality scalability → dependency identifier did
Auxiliary pictures (not used for coding of primary picture)
Auxiliary picture identifier aid
No prediction between pictures with different value of aid
Meaning of the NUH bits in identifier configurable
Combination of different scalability types possible → splitting flag
Additional identifier for each layer encoded in VPS
Output-flags: control of presentation of layers
Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 121 / 235
VPS Extension: Layer Dependencies
target layer
direct reference layer
indirect reference layer
poc-1
lid = 2
lid = 1
lid = 0
lid = 1
lid = 0
poc
lid = 2
lid = 1
lid = 0
poc+1
lid = 2
Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 122 / 235
Layer Dependencies – Adaptation in Network
Strict lid hierarchy
Layer hierarchy → enable scalability
Simple MANEs: achieve sub-bistream extraction by cutting at some lid, tid
combination
Advanced MANES: analyze dependencies and make use of advanced
knowledge
MANE = Media Aware Network Element
Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 123 / 235
VPS Extension: Layer Sets
Layer set
set of lid values which can be extracted from the bitstream for decoding
(e. g. different spatial resolutions)
Output layer set (OLS)
Set of layers which are output if flag indicates OLS to be a target OLS
output_layer_flag: indicates if layer is to be output or not
Example: Depth layer not output layer, but associated texture layer is
ouput layer
alt_output_layer_flag: top non-output layer is output if output
layer not present
Example: Quality scalability, dropping of highest quality layer
Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 124 / 235
VPS: Layer Video Usability Information
Information on characteristics of layer (optional)
Cross layer picture type alignment
Cross layer IRAP alignment
Cross layer IDR alignment
Information on average bitrate, maximum bitrate
Indication of constant or variable picture rate
Hints for use of tiles, loop filters, WPP, cross layer tile alignment
Indication of restrictions on inter-layer prediction
. . .
spec
Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 125 / 235
Sequence Parameter Set Extensions
Profile/Tier/Level information conveyed in VPS for non-baselayer SPS
Reference to layer representation format in VPS, index in SPS
Multilayer extension
Constraint: Vertical component of inter-view MVs ≤ 56 luma samples
⇒ Reduced memory access (within CTB-row above collocated CTB in
inter-view reference picture)
spec
Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 126 / 235
Picture Parameter Set Extension
Specification of spatial relation of layers
Scaled reference layer offset
Offset of luma pixels collocated to corner luma pixels of reference layer
region
Reference region offset
Offset of reference layer region corner luma pixels to corner luma pixels of
reference layer picture
Resample phase information
Spatial phase shift between reference layer and current layer
spec
Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 127 / 235
PPS Extension: Color mapping table
Support of different color spaces, different layer bitdepths
Look-up table: map reference layer YCbCr values to target layer
Only increasing bitdepth between layers allowed
Figure from BoYeChRa15 [20]
Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 128 / 235
Random Access Pictures and POC
IRAP pictures not necessarily aligned over layers
Different temporal resolution
Dependencies / independencies of layers
POC reset
POC reset indication
0: No reset
1: Only MSB reset
2: MSB and LSB reset
3: More information signaled
RASL, RADL, pictures with tid > 0, discardable pictures:
Identical POC reset handling for all pictures in AU required
Clean handling after potential bitstream extraction process
If at least IDR picture in AU: only reset types 1 or 2
If lid = 0 non-IDR: no reset types 1 or 2
Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 129 / 235
Slice Segment Header Extension
Extension at beginning of slice segment header
Reserved bits before slice type syntax element (number from PPS)
Version 1: number of reserved bits equal to 0 spec
Version 2/3: Number is set to max 2 spec
Decoders shall accept any value
Activation of inter-layer prediction
Number of inter-layer reference pictures
Identifiers of inter-layer pred ref pictures ( lid)
Slice segment header extension spec
POC modification information (if applicable)
Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 130 / 235
Independent Non-Baselayer Rewriting
Capability of bitstream rewriting spec
Indication of independent non-baselayer decodability of layer lid at
temporal sub-layer tid
Profile-level syntax structure
Formal processing steps
Removal of all NAL units with lid =target lid and not SPS, PPS, EOB
Removal of SPS, PPS NAL units if not lid =target lid or lid = 0
Removal of VPS NAL units
Removal of NAL units with tid >target tid
Rewriting of lid to lid = 0 for all NAL units
→ Decodable HEVC V1 bitstream
Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 131 / 235
Annex F SEI messages
New SEI messages
plt Name Summary
160 Layers not present Indicate layers of VPS missing in bitstream [persists from SEI to change
SEI]
161 Inter-layer constrained tile sets Indicate decodability of tiles/tile sets[associated CLVS]
162 Bitstream partition nesting Carries SEI messages applicable to defined OLS [persistence depending
on nested SEIs]
163 Bitstream partition initial arrival time Initial arrival times for CPB operation [remainder of bitstream partition]
164 Sub-bitstream property Bit rate information for a sub-bitstream [CVS containing SEI]
165 Alpha channel information Control Alpha channel picture persistence [persistence specified by SEI]
166 Overlay information Identify alpha and content of overlay pictures [persistence specified by
SEI]
167 Temporal MV prediction constraints Indicate storage needs for MVs [persistence specified by SEI]
168 Frame-field information How to display pictures [associated AU]
Annex D SEI messages
Syntax of previous SEI messages unchanged
Semantics partly adapted to meet requirements of application with
multi-layer bitstreams
Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 132 / 235
Outline
13 Range Extensions
14 Annex F: Common specifications for multi-layer extensions
15 Annex G: Multiview High Efficiency Video Coding
Multiview Coding Concept
Multiview Profiles
Multiview SEI MEssages
Multiview Performance
16 Annex H: Scalable High Efficiency Video Coding
17 Annex I: 3D High Efficiency Video Coding
Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 133 / 235
Multiview Scenario
P1
picture plane C0 C2 cameras
Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 134 / 235
Multiview Scenario
P1
picture plane C0 C2 camerasC1
Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 134 / 235
Multiview Coding: View Arrangement
poc-2
poc-1
poc
C1
C2
C0
Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 135 / 235
Multiview Concept: View-Id and View Order Index
vid = 1
vid = 2
vid = 0
voidx = 0
voidx = 1
voidx = 2
C1
C2
C0
Identification of views
Relative arrangement of views for presentation: view ID vid
Ordering of views for coding: view order index voidx
Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 136 / 235
MV-HEVC Layer Terminology
Base View, Independend View
View order index voidx = 0, lid = 0
Conforming to HEVC version 1
Independent from other views
Dependent Views
Predict from reference views
Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 137 / 235
Multiview Main Profile
Multiview Main Profile: general profile idc = 6
Multiview Profile based on Main profile
Scalability ID: only view ID or AUX pictures allowed
Aux picture may carry depth information
(not used in decoding process for texture view)
Inter view MV vertical constraint flag active
→ vertical MV component restricted
All view pictures identical size; no ref local offset allowed
(all views aligned)
Number of ref layers (direct or indirect) ≤ 4
Number of pictures in DPB ≤ 8
Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 138 / 235
Annex G SEI Messages
plt Name Summary
176 3D reference displays information Information on recommended display [persistence specified by SEI]
177 Depth representation information Information on depth and disparity ranges for auxiliary pictures
178 Multiview scene information Minimum and maximum disparity in AU [associated CVS]
179 Multiview acquisition information Information on aquisition environment [associated CVS]
180 Multiview view position SEI message View position from left to right [associated CVS]
Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 139 / 235
Multiview Performance
Results of subjective evaluation from MV-HEVC verification test
JCT3V-N1001 [21]: Comparison of
MVC: AVC-based multi-view video coding (in which the non-base view is
coded using inter-view prediction)
Simulcast HEVC, in which each view is coded independently
MV-HEVC: HEVC-based multi-view video coding (in which the non-base
view is coded using inter-view prediction)
⇒ Gain of approx. 33 % compared to HEVC simulcast
⇒ Gain of approx. 50 % compared to H.264|AVC MVC
Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 140 / 235
Multiview Performance
Figure from JCT3V-N1001 [21]
Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 141 / 235
Outline
13 Range Extensions
14 Annex F: Common specifications for multi-layer extensions
15 Annex G: Multiview High Efficiency Video Coding
16 Annex H: Scalable High Efficiency Video Coding
SHVC: Coding Concept
SHVC Tools
Scalable Profiles
SHVC Coding Performance
17 Annex I: 3D High Efficiency Video Coding
Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 142 / 235
SHVC Layer Terminology
Base layer (BL)
Conforming to HEVC version 1
Lowest available layer in bitstream
Alternative option: external base layer (H.264|AVC)
Enhancement layers (EL)
Hierarchical organization
Dependent or independent from lower layers
Lower layers used for prediction in enhancement layer: reference layers
Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 143 / 235
SHVC Scalable Layers
target layer (EL2)
direct reference layer (EL1)
indirect reference layer (BL)
poc-1
lid = 2
lid = 1
lid = 0
lid = 1
lid = 0
poc
lid = 2
lid = 1
lid = 0
poc+1
lid = 2
Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 144 / 235
SHVC Specification
Approach
Simple high-level syntax approach (“simple solution”)
No changes on CTU level
Inter-layer prediction via reference picture list
Multi-loop coding: Each layer with motion compensation, loop filter, . . .
H.264|AVC- Scalable Video Coding (SVC) [22]
Single loop design
Motion compensation, loop filter only on target layer
Key picture concept: Limit drift if not all layers decoded
Claim: Performance only 10% below single layer coding
Issues
High description complexity
Performance claim only fulfilled by
very well optimized encoders
Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 145 / 235
SHVC Tools: Resampling for Inter-Layer Prediction
Size and offset of reference layer picture to target layer picture define
scaling for interpolation
Reference layer sample location derivation (16th-sample precision)
Interpolation operation
16 dedicated interpolation filters
DCTIF design: integrate with motion compensation interpolation filters
Phase alignment specified in VPS
(a) Center alignment (b) Top left alignment
Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 146 / 235
SHVC Tools: Resampling for Inter-Layer Prediction
−2 0 2 4
−16
0
16
32
48
64
Phase 0
−2 0 2 4
−16
0
16
32
48
64
Phase 1
−2 0 2 4
−16
0
16
32
48
64
Phase 2
−2 0 2 4
−16
0
16
32
48
64
Phase 3
−2 0 2 4
−16
0
16
32
48
64
Phase 4
−2 0 2 4
−16
0
16
32
48
64
Phase 5
−2 0 2 4
−16
0
16
32
48
64
Phase 6
−2 0 2 4
−16
0
16
32
48
64
Phase 7
−2 0 2 4
−16
0
16
32
48
64
Phase 8
Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 147 / 235
SHVC Tools: Coding Standard Scalability
Conventional scalable scheme
Base layer HEVC version 1
Enhancement layer with different spatial resolution, different quality
Coding standard scalability
Base layer coded with different standard (H.264|AVC)
Enhancement layer using HEVC tools
Approach
Only use access to reconstructed samples (standard agnostic)
Possible alternative: Specify means to access information regarding
partitioning, prediction modes, motion vectors (not further pursued)
Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 148 / 235
SHVC Tools: Coding Standard Scalability
poc-2
lid = 1
lid = 0
poc-1
lid = 1
lid = 0
poc
lid = 1
lid = 0
AVC BL
AVC BL
AVC BL
HEVC EL
HEVC EL
HEVC EL
Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 149 / 235
Scalable Main Profiles
Scalable Main Profile and Scalable Main 10 Profile: general profile idc = 7
Based on Main and Main 10 profiles, respectively.
Chroma format 4:2:0 for all layers
Maximum of 16 different representation formats in VPSs
Aux pictures allowed (not used in decoding process)
Layer ID lid → Dependency ID did
Number of ref layers (direct or indirect) ≤ 4
Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 150 / 235
SHVC Coding Performance
Results of subjective evaluation from SHVC verification test
JCTVC-W1004 [23]: Comparison of SHVC vs. HEVC simulcast
Figure from JCTVC-W1004 [23]
Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 151 / 235
Outline
13 Range Extensions
14 Annex F: Common specifications for multi-layer extensions
15 Annex G: Multiview High Efficiency Video Coding
16 Annex H: Scalable High Efficiency Video Coding
17 Annex I: 3D High Efficiency Video Coding
3D Video Coding Concept
3D Coding Tools
3D SEI Messages
3D Profiles
3D-HEVC Coding Performance
Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 152 / 235
3D Video Coding
Multiple views with depth information
Video → “texture view”
Depth information: represent object distance from camera
Coding of texture and depth
Ability to render additional virtual views
Exploit depth information for improved compression efficiency
Auxiliary picture carrying depth
Decoding process changed for lid > 0 (not compatible to HEVC Version 1)
Dedicated depth coding tools
Tools exploiting the relation between texture and depth
Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 153 / 235
3D Coding Scenario with Depth
0
s
z
s∆
P1
P2
f
u d1 d2
xd
zP1
zmax
zmin
d1
xd
=
f
zP1
;
d2
s∆ −xd
=
f
zP1
intercept theorem
d = d1 +d2 =
f ·xd
zP1
+
f ·(s∆ −xd)
zP1
⇒ d =
f ·s∆
zP1
Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 154 / 235
3D Coding Scenario with Depth
s∆1 s∆2
0
s
z
P1
P2
zP1
zmax
zmin
Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 154 / 235
Depth Coding
World coordinate distance zP1
between camera system and object
Range between znear and zfar
Representation by depth value vd
Reciprocal relation between depth and distance
Representation by vd = 0...vmax, e. g. vmax = 255 for 8 bit representation
depth array with same resolution as associated picture
→ depth value for each pixel
Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 155 / 235
Depth Representation
0
s
z
s∆
P1
f
u d1 d2
xd
zP1
zmax
zmin vd = 255
vd = 0
vd
Depth value vd:
zP1
=
1
vd
255
· 1
znear
− 1
zfar
+ 1
zfar
Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 156 / 235
3D Video Coding Concept
Extension of multiview approach by depth information
Enabling view synthesis at the receiver side
Generation of additional views as needed by the (N-view) display
Adaptation of the depth impression
(e. g. ’correct’ stereo on large/small screens)
Figure by Fabian Jäger, RWTH internal report
Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 157 / 235
3D Video Coding Concept
Inter-component / -view dependencies → improved prediction
Disparity compensated prediction
Inter-view prediction of motion
Inter-view prediction of residual
View synthesis prediction
Figure by Fabian Jäger, RWTH internal report
Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 157 / 235
Coding of Depth Information
Characteristics of depth map differ from texture
Homogeneous areas
Depth edges at (or close to) object boundaries
Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 158 / 235
Coding of Depth Information
Characteristics of depth map differ from texture
Homogeneous areas
Depth edges at (or close to) object boundaries
Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 158 / 235
Coding of Dependent Views
Coding tools
Disparity compensated prediction
Inter-view motion prediction
Advanced residual prediction
Illumination compensation
View synthesis prediction
Depth-based block partitioning
Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 159 / 235
Virtual Depth Estimate
Depth of reference view is available
Determine ’virtual depth’ for current view
PU grid for depth view
8×8 grid for texture view
Maximum depth value to derive disparity estimate
Use disparity estimate for prediction tools
Figure from JCT3V-K1003 [24]
Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 160 / 235
Advanced Residual Prediction (ARP)
Determination of collocated block by estimated depth
Application of weighted residual as additional predictor for residual of
current block
Prediction from temporal reference or reference view
Figure from JCT3V-K1003,JCT3V-C0049 [24, 25]
Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 161 / 235
Illumination Compensation
Callibration of cameras my vary over views
Compensated for changed by linear model
Figure from JCT3V-K1003 [24]
Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 162 / 235
View Synthesis Prediction (VSP)
Use estimated depth of reference view
Warp texture of reference view to current view
Figure from JCT3V-K1003 [24]
Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 163 / 235
Depth-Based Block Partitioning
Two motion partitions
Derive texture segmentation from depth information
Integration based on conventional motion information
Ja13 [26]
Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 164 / 235
Coding of Depth Maps
Modifications to basic coding tools
Depth modelling
Segment-wise DC coding
Depth Loop-Up Table
Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 165 / 235
Depth Modelling:Wedgelets
Explicit coding of non-rectangular partitioning
Figure from JCT3V-K1003 [24]
Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 166 / 235
Depth Modelling: Contour Partitions
Shape of partitions estimated from corresponding luma component
Figure from JCT3V-K1003 [24]
Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 167 / 235
Depth: Segment-Wise DC Coding
DC-like structure often observed in depth component
Coding of Constant Partition Values (CPV)
Single value for conventional HEVC intra prediction modes
two values for segmented blocks
Prediction from neighborhood
Coding using depth look-up table
Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 168 / 235
Depth Intra Coding
Horizontal or vertical prediction only
Prediction value from center depth pixel at boundary
No residual coded
Figure from JCT3V-K1003 [24]
Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 169 / 235
Annex I SEI Messages
SEI messages of Annexes D, F, and G apply
Additional SEI message: Alternative depth information
Global View and Depth (GVD)
Warp map
Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 170 / 235
3D Main Profile
3D Main Profile: general profile idc = 8
3D Profile based on Main profile
Aux picture to carry depth information
Scalability ID: only view ID or depth layer allowed
Inter view MV vertical constraint flag active
→ vertical MV component restricted
All view pictures identical size; no ref local offset allowed
(all views aligned)
Number of ref layers (direct or indirect) ≤ 4
Number of pictures in DPB ≤ 8
Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 171 / 235
3D-HEVC Coding Performance
Results of subjective evaluation from 3D-HEVC verification test
JCT3V-M1001 [27]: Comparison of
MV-HEVC: anchor codec for multiview and depth without block-level
changes to decoding process
3D-HEVC: enhanced compression of multiview and depth with
modifications to block-level decoding process for dependent texture views
⇒ Gain of approx. 20 % for 3D-HEVC compared to MV-HEVC
Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 172 / 235
3D-HEVC Coding Performance
Figure from JCT3V-M1001 [27]
Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 173 / 235
3D-HEVC Coding Performance
Figure from JCT3V-M1001 [27]
Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 174 / 235
Part V
Recent Extensions and Developments
Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 175 / 235
Outline
18 Screen Content Coding
Application Scenario
Screen Content Coding Tools
SCC Profiles
SCC Performance
19 Free Viewpoint Television
20 Wide Color Gamut / High Dynamic Range Coding
21 Future Video Coding
Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 176 / 235
Screen Content Coding (SCC)
Characteristics of screen content sequences differ
from camera captured video
Applications
Gaming
Remote desktops
. . .
Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 177 / 235
Screen Content Coding Tools
Additional set of tools on top of RExt profile
Intra block copy
Palette mode coding
Adaptive cross-component transformation
Adaptive motion vector resolution
Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 178 / 235
Intra Block Copy
Displaced prediction within the same picture
Displaced prediction of current PB/CB from available parts of picture
Harmonized with inter prediction under study, JCTVC-T1000 [28]
Figure from JCTVC-S1014 [29]
Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 179 / 235
Palette mode
Pixel value prediction instead of ’regular’ prediction and transform
Palette predictor, size configurable in SPS
Horizontal or vertical traversal scan of block
Differential coding of new palette entries
Figure from JCTVC-S1014 [29]
Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 180 / 235
Adaptive cross-component transformation
SCC content in 4:4:4 color format – redundancy among components
Selectable cross-component transform for decorrelation
Figure from JCTVC-S1014 [29]
Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 181 / 235
Adaptive motion vector resolution
Motion in screen content sequences
Integer pixel displacements not unlikely (e. g. when moving windows on a
desktop)
Quarter-sample motion vectors not needed in such cases
Solution
Analysis of the observed motion in the coded picture at encoder
Indication of quarter-sample or integer-sample motion vector precision
Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 182 / 235
SCC Development
Amendment for Screen Content Coding finalized, publication to follow
Tool specification integrated into main body of HEVC specification text
⇒ Closer integration, usage with other extensions easier, like RExt
Seven dedicated profiles specified
Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 183 / 235
SCC Profiles
Screen Content Coding Profiles: general profile idc = 9
Screen-Extended Main and Screen-Extended Main 10 profiles
Screen-Extended Main 4:4:4 and Screen-Extended Main 4:4:4 10 profiles
Screen-Extended High Throughput 4:4:4, Screen-Extended High
Throughput 4:4:4 10, and Screen-Extended High Throughput 14 profiles
Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 184 / 235
SCC Performance
Comparison of HM-16.4 vs. HM-16.4+SCM-4.0 for SCC CTC sequences,
lossy coding
Figure from JCTVC-U0051 [30]
Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 185 / 235
SCC Performance
Comparison of HM-16.4 vs. HM-16.4+SCM-4.0 for SCC CTC sequences,
lossy coding
Figure from JCTVC-U0051 [30]
Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 185 / 235
SCC Performance
Comparison of HM-16.4 vs. HM-16.4+SCM-4.0 for SCC CTC sequences,
lossy coding
Figure from JCTVC-U0051 [30]
Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 185 / 235
Outline
18 Screen Content Coding
19 Free Viewpoint Television
20 Wide Color Gamut / High Dynamic Range Coding
21 Future Video Coding
Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 186 / 235
Free Viewpoint Television
Extension to 3D video coding
Restriction to co-planar camera arrangement relaxed
New application scenarios
Super-Multiview
Figure from N16128 [31]
Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 187 / 235
Free Viewpoint Television
Extension to 3D video coding
Restriction to co-planar camera arrangement relaxed
New application scenarios
Free Navigation
Figure from N16128 [31]
Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 187 / 235
Status of FTV Development
MPEG Ad-Hoc Group on FTV
June 2015: Call for Evidence on Free-Viewpoint Television:
Super-Multiview and Free Navigation, N15348 [32]
February 2016: Results of the Call for Evidence on Free-Viewpoint
Television: Super-Multiview and Free Navigation, N16128 [31]
Outcome
1 proposal for Super-Multiview, 3 proposals for Free Navigation
Evaluation of results not yet conclusive
Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 188 / 235
Outline
18 Screen Content Coding
19 Free Viewpoint Television
20 Wide Color Gamut / High Dynamic Range Coding
21 Future Video Coding
Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 189 / 235
Wide Color Gamut / High Dynamic Range Coding
Colour space
Standard Dynamic Range (SDR) video
Contrast approx. 1000 : 0
ITU-R BT.709 colour space, [33]
High Dynamic Range (HDR) video
Contrast approx. 1000000 : 0
ITU-R BT.2020 colour space, [34]
Figure from N15084 [35]
Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 190 / 235
Wide Color Gamut / High Dynamic Range Coding
Dynamic Range
Figure from N15084 [35]
Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 191 / 235
Standardization Activities on HDR/WCG
ISO/IEC JTC 1/SC 29/WG 11 (MPEG)
02/2015: Requirements and Use Cases for HDR and WCG Content
Coding N15083 [36]
02/2015: Call for Evidence for HDR and WCG Video Coding N15084 [35]
06/2015: Test Results of Call for Evidence (CfE) for HDR and WCG Video
Coding N15350 [37]
10/2015: Assignment of HDR/WCG as work item to JCT-VC
JCT-VC
02/2016: Decision: no new profile, no new coding tools
02/2016: Technical report: Conversion and coding practices for
HDR/WCG video (ISO/IEC TR 23008-14), N16063 [38]
06/2016: Conversion and Coding Practices for HDR/WCG Y’CbCr 4:2:0
Video with PQ Transfer Characteristics, JCTVC-X1017 [39]
Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 192 / 235
HDR/WCG Conversion Practices: Scope
Figure from JCTVC-X1017 [39]
Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 193 / 235
Outline
18 Screen Content Coding
19 Free Viewpoint Television
20 Wide Color Gamut / High Dynamic Range Coding
21 Future Video Coding
Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 194 / 235
Future Video Coding Development
Standardization Requirements, e.g. MPEG N16359 [40]
50 % bitrate saving (30 % might suffice on important usecases)
Tentative target timeline: new standard by 2020
Variety of content (captured, computer generated, mixed, 3D, various
projections (→ 360VR), multispectral, . . . )
Licensing model(s)?
Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 195 / 235
Joint Video Exploration Team (JVET)
Exploration activities
Future Video Coding AhG in MPEG
Exploration and requirements discussions, workshops
Coding Efficiency Improvements AhG in VCEG
Key Technical Areas software, VCEG-AZ01 [41]
Foundation of JVET of MPEG and VCEG, similar to JCT-VC, Oct. 2015
Publicly available document site
http://phenix.int-evry.fr/jvet/
Publicly available software repository https:
//jvet.hhi.fraunhofer.de/svn/svn_HMJEMSoftware/
Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 196 / 235
JVET Status
Joint Exploration Model (JEM)
JVET-A1001,JVET-B1001,JVET-C1001 [42, 43, 44]
Definition of Common Testing Conditions, JVET-B1010 [45]
Definition of Ad-Hoc Groups, JVET-B1000 [46]
Definition of Exploration Experiments, JVET-B1011 [47]
Collection of new test material
JVET-A1002,JVET-B1002,JVET-C1002 [48, 49, 50]
Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 197 / 235
JEM: New Coding Tools – Block Partitioning
QTBT - Quadtree plus binary tree partitioning
Replacement of HEVC CU/PU/TU structure
→ Adaptive block size transforms, Wi03 [51]
Maximum CTU size 256×256
Figure from JVET-C1001 [44]
Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 198 / 235
JEM: New Coding Tools – Intra Coding
67 intra prediction modes, 65 directional modes
Intra prediction mode coding: 6 MPM candidates
4-tap interpolation filters for directional predictors
Enhanced boundary prediction, . . .
Figure from JVET-C1001 [44]
Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 199 / 235
JEM: New Coding Tools – Inter Coding
Sub-PU level motion vector prediction
→ Advanced temporal motion vector prediction (ATMVP)
Adaptive motion vector resolution (AMVR)
Overlapped block motion compensation (OBMC) at left and top block
boundary possible
Affine motion predition (MVs for 4×4 sub-blocks)
Local illumination compensation (LIC), Pattern-matched motion vector
derivation, bi-directional optical flow (BIO, pixel dense)
Figure from JVET-C1001 [44]
Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 200 / 235
JEM: New Coding Tools – Transform Coding
More core transforms: additional
DST-VII, DCT-VIII, DST-I and DCT-V
Mode dependent non-separable
secondary transforms
Signal dependent transform (SDT)
Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 201 / 235
JEM: New Coding Tools – Loop Filters
Re-introduction of Adaptive Loop Filters (ALF)
Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 202 / 235
JEM: New Coding Tools – Entropy Coding
Modified context modeling for transform coefficients
Multi-hypothesis probability estimation with context-dependent updating
speed
Adaptive initialization for context models
Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 203 / 235
JEM: Performance
Figure from JVET-C0001 [52]
Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 204 / 235
Part VI
Summary and Outlook
Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 205 / 235
Outline
22 Summary and Outlook
Summary
Video Coding Development: Outlook
23 Books and Tools
24 Resources
25 Acronyms
26 References
Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 206 / 235
Summary
Coding tools in HEVC version 1
Range extensions
Multilayer extensions
- Multiview
- Scalability
- 3D
Screen Content coding
Free Viewpoint Television
High Dynamic Range and Wide Color Gamut
Future Video Coding - Status of JVET
Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 207 / 235
Video Coding Development: Outlook
Towards Immersive Media
360 Virtual Reality
JVET AhG8: 360 video test conditions, JVET-C1000d [53]
MPEG FTV AhG
Lightfields
MPEG AhG on lightfield compression
Joint AhG (JPEG and MPEG) for digital representations of light/sound
fields for immersive media applications, WG1N72033 [54]
Left: 1st frame of BearAttacks sequence, Nokia. Right:
https://s3.amazonaws.com/lytro-corp-assets/blog/camera_array.png
Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 208 / 235
Outline
22 Summary and Outlook
23 Books and Tools
24 Resources
25 Acronyms
26 References
Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 209 / 235
Further Reading
Books published
Wien, Mathias. High Efficiency Video Coding – Coding Tools and
Specification, Springer Berlin Heidelberg, 2015.
Sze, Vivienne, Budagavi, Madhukar, Sullivan, Gary J. (Eds.). High
Efficiency Video Coding (HEVC) – Algorithms and Architectures, Springer
International Publishing, 2014.
Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 210 / 235
YUView Player
YUV player supporting display of statistics information
https://github.com/IENT/YUView
Play back of raw YUV files, playlists
Comparison / side-by-side views of two files
Visualization of statistics in xml-format
HEVC bitstream decoding and mode visualization
Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 211 / 235
Outline
22 Summary and Outlook
23 Books and Tools
24 Resources
25 Acronyms
26 References
Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 212 / 235
HEVC Resources (1/2)
JCT-VC Mailing List
http://mailman.rwth-aachen.de/mailman/listinfo/jct-vc
JCT-VC Document Repository
http://phenix.it-sudparis.eu/jct/index.php
http://ftp3.itu.int/av-arch/jctvc-site/
JCT-VC HM Software Repository
SVN:
https://hevc.hhi.fraunhofer.de/svn/svn_HEVCSoftware
Trac:
https://hevc.hhi.fraunhofer.de/trac/hevc
Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 213 / 235
HEVC Resources (2/2)
JCT-3V Mailing List
http://mailman.rwth-aachen.de/mailman/listinfo/jct-3v
JCT-3V Document Repository
http://phenix.int-evry.fr/jct-3v/
http://wftp3.itu.int/av-arch/jct3v-site/
JCT-3V HM Software Repository
SVN:
https://hevc.hhi.fraunhofer.de/svn/svn_3DVCSoftware/
Trac:
https://hevc.hhi.fraunhofer.de/trac/3d-hevc
Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 214 / 235
JVET Resources
JVET Mailing List
http://mailman.rwth-aachen.de/mailman/listinfo/jvet
JVET Document Repository
http://phenix.int-evry.fr/jvet/
http://wftp3.itu.int/av-arch/jvet-site/
JVET JEM Software Repository
SVN:
https://jvet.hhi.fraunhofer.de/svn/svn_HMJEMSoftware/
Trac:
https://hevc.hhi.fraunhofer.de/trac/jem/
Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 215 / 235
Outline
22 Summary and Outlook
23 Books and Tools
24 Resources
25 Acronyms
26 References
Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 216 / 235
Acronyms
3D-HEVC – 3D high efficiency video coding
AAC – Advanced audio coding
AAP – Alternative Approval Process
AHG – Ad-hoc group
AI – All intra (JCT-VC CTC)
AIF∗ – Adaptive interpolation filter
ALF∗ – Adaptive loop filter
AMD – Amendment (for ISO standard)
AMP – Asymmetric motion partitioning
AMVP – Advanced motion vector prediction
ANG∗ – Angular intra prediction
ASO – Arbitrary slice ordering (H.264|AVC)
AP – Aggregation packet
AU – Access unit
AUD – Access unit delimiter
AVC – Advanced video coding
BDSNR – Bjøntegaard Delta PSNR
BD-rate – Bjøntegaard Delta rate
BL – Base layer
BLA – Broken link access
BO – SAO band offset
Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 217 / 235
Acronyms II
BoG – Break-out group
BP – Bandpass [filter]
BPB – Bitstream partition buffer
CABAC – Context adaptive binary arithmetic coding
CAVLC – Context adaptive variable length coding
CB – Coding block
CBF∗ – Coded block flag
CBP – Coded block pattern (H.264|AVC)
CBR – Constant bitrate
CD – Committee draft
CD – Compact disk
CE – Core experiment
CfE – Call for evidence
CfP – Call for proposals
CIE – Commission internationale de l’éclairage
CIF – Common interchange format 352×288
CPB – Coded picture buffer
CRA – Clean random access
CRFB∗ – Compressed reference frame buffer
CRT – Cathode ray tube
CS – Constraint set (in CfP)
Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 218 / 235
Acronyms III
CSS – Coded slice segment
CT – Collaborative team
CTB – Coding tree block
CTC – Common testing conditions
CTU – Coding tree unit
CTX – CABAC context
CU – Coding unit
CVS – Coded Video Sequence
CVSG – Coded Video Sequence Group
DAM – Draft amendment
DC – Direct current
DCT – Discrete cosine transform
DST – Discrete sine transform
DON – Decoding order number
DPB – Decoded picture buffer
DU – Decoding unit
DCT – Discrete cosine transform
DCTIF – DCT interpolation filter
DIF∗ – DCT interpolation filter, syn. DCTIF
DIF∗ – Directional interpolation filter
DIS – Draft international standard
Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 219 / 235
Acronyms IV
DLP∗ – Decodable leading picture, syn. RADL
DMVD – Decoder side motion vector derivation
DPB – Decoded picture buffer
DPCM – Differential Pulse Code Modulation
DST – Discrete sine transform
DU – Decoding unit
DUT∗ – Directional unified transform
DVD – Digital Versatile Disk
EG – Exp-Golomb code
EL – Enhancement layer
EO – SAO edge offset
EOB – End of bitstream
EOS – End of sequence
EOTF – Electro-optical transfer function
FCD – Final committee draft
FD – Filler data
FDAM – Final draft amendment
FDIS – Final draft international standard
FLC – Fixed length code
FMO – Flexible macroblock ordering (H.264|AVC)
fps – Frames per second
Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 220 / 235
Acronyms V
FRExt – Fidelity range extensions
FU – Fragmentation unit
GBR – Green red blue, color format (see also RGB)
GOP – Group of pictures
GRD – Gradual Decoder Refresh (H.264|AVC)
HBPS – Hypothetical bitstream partition scheduler
HRD – Hypothetical reference decoder
HD – High definition
HDR – High dynamic range
HDTV – High definition television
HEVC – High efficiency video coding
HM – HEVC test model
HP – Highpass [filter]
HRD – Hypothetical reference decoder
HSS – Hypothetical stream scheduler
HTM – 3D-HEVC test model
HVC∗ – High performance video coding (name of HEVC pre-project in MPEG)
HVS – Human visual system
IBDI∗ – Internal bit-depth increase
IDCT – Inverse discrete cosine transform
IDR – Instantaneous decoder refresh
Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 221 / 235
Acronyms VI
IEC – International Electrotechnical Commission
IEEE – Institute of electrical and electronics engineers
IRAP – Intra random access point, see also RAP
IS – International standard
ISDN – Integrated services digital network
ISO – International Standardization Organization
ITU – International telecommunication union
JCT – Joint collaborative team (of ISO and ITU)
JCT-VC – Joint collaborative team on video coding
JCT-3V – Joint collaborative team on 3D video coding extension development
JEM – Joint exploration model (JVET test model)
JM – Joint model (AVC test model)
JPEG – Joint photographic experts group
JTC – Joint technical committee
JVT – Joint video team
JVET – Joint video exploration team
KLT – Karhunen-Loève transform
KTA – Key Technical Areas (H.264 based exploration software of VCEG)
LCTB∗ – Largest coded tree block, syn. CTB
LCTB∗ – Largest coded tree unit, syn. CTU
LCU∗ – Larges coding unit, syn. CTU
Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 222 / 235
Acronyms VII
LD – Low delay (JCT-VC CTC)
LP – Lowpass [filter]
LPS – Least probably symbol
LSB – Least Significant Bit
MAC – Multiplexed analog components
MBAFF – Macroblock adaptive frame/field coding (H.264|AVC)
MC – Motion compensation
MDDT∗ – Mode dependent directional transform
ME – Motion estimation
Merge – Merge Mode (MV prediction)
MMCO – Memory management control operation (H.264|AVC)
MP3 – MPEG-2 audio layer III
MPEG – Moving picture experts group
MPM – Most probable mode
MPS – Most probably symbol
MRST – Multiple RTP streams over a single media transport
MRMT – Multiple RTP streams over multiple media transports
MSB – Most Significant Bit
MSE – Mean squared error
Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 223 / 235
Acronyms VIII
MV – Motion vector
MVC – Multiview video coding (H.264|AVC)
MVD – Motion vector difference
MV-HEVC – Multiview high efficiency video coding
NAL – Network abstraction layer
MANE – Media aware network element
MB – Macroblock (H.264|AVC)
NALU – NAL unit
NB – National body (in ISO)
NGVC∗ – Next generation video coding (name of HEVC pre-project in VCEG)
NTSC – National television systems committee
NUH – NAL unit header
NUT – NAL unit type
PACI – Payload Content Information (packet)
OLS – Output layer set
PAFF – Picture adaptive frame/field coding (H.264|AVC)
PAL – Phase alternating line
PB – Prediction block
PCM – Pulse code modulation
PDAM – Proposed draft amendment
POC – Picture order count
Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 224 / 235
Acronyms IX
PPS – Picture parameter set
PSNR – Peak signal to noise ratio
PU – Prediction unit
QCIF – Quarter common intermediate format 176×144
QHD – Quarter High Definition 960×540
QP – Quantization parameter
RA – Random access (JCT-VC CTC)
RADL – Random access decodable leading picture
RAP – Random access point
RASL – Random access skipped leading picture
RBSP – Raw byte sequence payload
RD – Rate-distortion
RDO – Rate-distortion optimization
RDOQ – Rate-distortion optimized quantization
RExt – HEVC Range extensions
RGB – Red green blue, color format
RPL – Reference picture list
RPS – Reference picture set
RQT – Residual quad-tree
RTP – Real-time transport protocol
SAD – Sum of absolute differences
Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 225 / 235
Acronyms X
SAO – Sample adaptive offset
SAR – Sample aspect ratio
SATD – Sum of absolute transformed differences
SC – Sub-committee
SCC – Screen Content Coding
SD – Standard definition (TV)
SDH – Sign data hiding
SDP – Session description protocol
SECAM – Séquentiel couleur à mémoire
SEI – Supplemental enhancement information
SG – Study group
SODB – String of data bits
SHVC – Scalable high efficiency video coding
SODB – String of data bits
SOP – Structure of pictures
SPS – Sequence parameter set
SRST – Single RTP stream over a single media transport
SSD – Sum of squared differences
SSE – Sum of squared error
STSA – Stepwise temporal sub-layer access
SVC – Scalable video coding (H.264|AVC)
Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 226 / 235
Acronyms XI
TB – Transform block
TE – Tool experiment
TFD∗ – Tagged for discard [picture], syn. RASL
TSA – Temporal sub-layer access
TMuC – Test model under consideration
TMVP – Temporal motion vector predictor
TR – Truncated Rice [binarization]
TSA – Temporal sub-layer access
TSB – Transform sub-block
TSCI – Temporal scalability control information
TU – Transform unit
TV – Television
UHD – Ultra High Definition
VBR – Variable bitrate
VCEG – Visual coding experts group
VCL – Video coding layer
VGA – Video Graphics Array 640×480
VLC – Variable length code
VPS – Video parameter set
VUI – Video usability information
WCG – Wide colour gamut
WD – Working draft
WG – Working group
WPP – Wavefront parallel processing
Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 227 / 235
Acronyms XII
XGA – Extended Graphics Array 1024×768
XYZ – XYZ color space, also color format
YCbCr – Color format with luma and two chroma components
YUV – XYZ color format
(Acronyms marked with ∗ are deprecated)
Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 228 / 235
Outline
22 Summary and Outlook
23 Books and Tools
24 Resources
25 Acronyms
26 References
Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 229 / 235
References I
[1] Charles Poynton. Digital Video and HD: Algorithms and Interfaces. Waltham, MA, USA: Morgan Kaufman Publishers, 2012.
[2] High efficiency video coding. ITU-T, Apr. 2013. URL: http://www.itu.int/rec/T-REC-H.265/en.
[3] Gary J. Sullivan et al. “Overview of the High Efficiency Video Coding (HEVC) Standard”. In: IEEE Transactions on Circuits and
Systems for Video Technology 22.12 (Dec. 2012), pp. 1649–1668. DOI: 10.1109/TCSVT.2012.2221191.
[4] Rickard Sjöberg et al. “Overview of HEVC high-level syntax and reference picture management”. In: IEEE Transactions on Circuits and
Systems for Video Technology 22.12 (Dec. 2012), pp. 1858–1870. DOI: 10.1109/TCSVT.2012.2223052.
[5] Advanced video coding for generic audiovisual services. ITU-T, Jan. 2012. URL:
http://www.itu.int/rec/T-REC-H.264/en.
[6] Stephan Wenger. “H.264/AVC over IP”. In: IEEE Transactions on Circuits and Systems for Video Technology 13.7 (July 2003),
pp. 645–656. DOI: 10.1109/TCSVT.2003.814966.
[7] Thomas Wiegand et al. “Overview of the H.264/AVC Video Coding Standard”. In: IEEE Transactions on Circuits and Systems for Video
Technology 13.7 (July 2003), pp. 560–576.
[8] Frank Bossen. Common test conditions and software reference configurations. Doc. JCTVC-K1100. Shanghai, CN, 11th meeting: Joint
Collaborative Team on Video Coding (JCT-VC) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11, Oct. 2012.
[9] Thomas Schierl et al. “System Layer Integration of HEVC”. In: IEEE Transactions on Circuits and Systems for Video Technology 22.12
(Dec. 2012), pp. 1871–1884. DOI: 10.1109/TCSVT.2012.2223054.
[10] Jordi Ribas-Corbera, Philip A. Chou, and Shankar Regunathan. “A Generalized Hypothetical Reference Decoder for H.264/AVC”. In:
IEEE Transactions on Circuits and Systems for Video Technology 13.7 (July 2003), pp. 674–687. DOI:
10.1109/TCSVT.2003.814965.
[11] Jani Lainema et al. “Intra Coding of the HEVC Standard”. In: IEEE Transactions on Circuits and Systems for Video Technology 22.12
(Dec. 2012), pp. 1792–1801. DOI: 10.1109/TCSVT.2012.2221525.
[12] Philipp Helle et al. “Block Merging for Quadtree-based Partitioning in HEVC”. In: IEEE Transactions on Circuits and Systems for Video
Technology 22.12 (Dec. 2012), pp. 1720–1731. DOI: 10.1109/TCSVT.2012.2223051.
Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 230 / 235
References II
[13] Madhukar Budagavi et al. “Core Transform Design in the High Efficiency Video Coding (HEVC) Standard”. In: IEEE Journal of Selected
Topics in Signal Processing tbd (2013), tbd. DOI: 10.1109/JSTSP.2013.2270429.
[14] Andrey Norkin et al. “HEVC Deblocking Filter”. In: IEEE Transactions on Circuits and Systems for Video Technology 22.12 (Dec. 2012),
pp. 1746–1754. DOI: 10.1109/TCSVT.2012.2223053.
[15] Chih-Ming Fu et al. “Sample Adaptive Offset in the HEVC Standard”. In: IEEE Transactions on Circuits and Systems for Video
Technology 22.12 (Dec. 2012), pp. 1755–1764. DOI: 10.1109/TCSVT.2012.2221529.
[16] Detlev Marpe, Heiko Schwarz, and Thomas Wiegand. “Context-Based Adaptive Binary Arithmetic Coding in the H.264/AVC Video
Compression Standard”. In: IEEE Transactions on Circuits and Systems for Video Technology 13.7 (July 2003), pp. 620–637. DOI:
10.1109/TCSVT.2003.815173.
[17] Vivienne Sze and Madhukar Budagavi. “High Throughput CABAC Entropy Coding in HEVC”. In: IEEE Transactions on Circuits and
Systems for Video Technology 22.12 (Dec. 2012), pp. 1778–1791. DOI: 10.1109/TCSVT.2012.2221526.
[18] Wei Pu et al. RCE1: Descriptions and Results for Experiments 1, 2, 3, and 4. Doc. JCTVC-O0202. Geneva, CH, 15th meeting: Joint
Collaborative Team on Video Coding (JCT-VC) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11, Oct. 2013.
[19] David Flynn et al. “Overview of the Range Extensions for the HEVC Standard: Tools, Profiles, and Performance”. In: IEEE Transactions
on Circuits and Systems for Video Technology 26.1 (Jan. 2016), pp. 4–19. DOI: 10.1109/TCSVT.2015.2478707.
[20] Jill Boyce et al. “Overview of SHVC: Scalable Extensions of the High Efficiency Video Coding (HEVC) Standard”. In: IEEE Transactions
on Circuits and Systems for Video Technology PP.99 (2015). DOI: 10.1109/TCSVT.2015.2461951.
[21] Vittrorio Baroncini, Karsten Mueller, and Shinya Shimizu. MV-HEVC Verification Test Report. Tech. rep. JCT3V-N1001. San Diego, CA,
USA, 14th meeting, Feb. 2016. URL: http://phenix.int-evry.fr/jct-
3v/doc_end_user/documents/14_San%20Diego/wg11/JCT3V-N1001-v2.zip.
[22] Heiko Schwarz, Detlev Marpe, and Thomas Wiegand. “Overview of the Scalable Video Coding Extension of the H.264/AVC Standard”.
In: IEEE Transactions on Circuits and Systems for Video Technology 17.9 (Sept. 2007), pp. 1103–1120. DOI:
10.1109/TCSVT.2007.905532.
Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 231 / 235
References III
[23] Yan Ye, Vittrorio Baroncini, and Ye-Kui Wang. SHVC verification test report. Doc. JCTVC-W1004. San Diego, CA, USA, 23rd meeting:
Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11, Feb. 2016. URL: http:
//phenix.it-sudparis.eu/jct/doc_end_user/documents/23_San%20Diego/wg11/JCTVC-W1004-v1.zip
(visited on 07/03/2017).
[24] Ying Chen et al. Test Model 11 of 3D-HEVC and MV-HEC. Tech. rep. JCT3V-K1003. Geneva, CH, 11th meeting, Feb. 2015.
[25] Li Zhang et al. 3D-CE4: Advanced residual prediction for multiview coding. Tech. rep. JCT3V-C0049. Geneva, CH, 3rd meeting, Jan.
2013. URL:
http://phenix.int-evry.fr/jct-3v/doc_end_user/documents/3_Geneva/wg11/JCT3V-C0049-v2.zip.
[26] Fabian Jäger. “Depth-based Block Partitioning for 3D Video Coding”. In: Proc. of International Picture Coding Symposium PCS ’13.
San Jose, USA: IEEE, Piscataway, Dec. 2013.
[27] Vittrorio Baroncini, Karsten Mueller, and Shinya Shimizu. 3D-HEVC Verification Test Report. Tech. rep. JCT3V-M1001. Geneva, CH,
13th meeting, Oct. 2015. URL: http://phenix.int-evry.fr/jct-
3v/doc_end_user/documents/13_Geneva/wg11/JCT3V-M1001-v2.zip (visited on 07/03/2016).
[28] Gary J. Sullivan and Jens-Rainer Ohm. Meeting report of the 20th meeting of the Joint Collaborative Team on Video Coding (JCT-VC),
Geneva, CH, 10–1x Feb. 2015. Doc. JCTVC-T1000. 20th meeting, Geneva, CH: Joint Collaborative Team on Video Coding (JCT-VC)
of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11, Feb. 2015.
[29] Rajan Joshi et al. Screen content coding test model 3 (SCM 3). Doc. JCTVC-S1014. 19th meeting, Strasbourg, F: Joint Collaborative
Team on Video Coding (JCT-VC) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11, Oct. 2014.
[30] Bin Li, Jizheng Xu, and Gary Sullivan. Comparison of Compression Performance of HEVC Test Model 16.4 and HEVC Screen Content
Coding Extensions Test Model 4 with AVC High 4:4:4 Predictive profile. Doc. JCTVC-U0051. 21st meeting, Warsaw, PL: Joint
Collaborative Team on Video Coding (JCT-VC) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11, June 2015.
[31] Vittorio Baroncini, Masayuki Tanimoto, and Olgierd Stankiewicz. Results of the Call for Evidence on Free-Viewpoint Television:
Super-Multiview and Free Navigation. Tech. rep. N16128. San Diego, CA, USA, 114th meeting: ISO/IEC JTC1/SC29/WG11, Feb.
2016. URL: http://phenix.it-
sudparis.eu/mpeg/doc_end_user/documents/114_San%20Diego/wg11/w16128-v2-w16128.zip.
Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 232 / 235
ICME 2016 - High Efficiency Video Coding - Coding Tools and Specification: HEVC V3 and Coming Developments
ICME 2016 - High Efficiency Video Coding - Coding Tools and Specification: HEVC V3 and Coming Developments
ICME 2016 - High Efficiency Video Coding - Coding Tools and Specification: HEVC V3 and Coming Developments

More Related Content

What's hot

Introduction to Video Compression Techniques - Anurag Jain
Introduction to Video Compression Techniques - Anurag JainIntroduction to Video Compression Techniques - Anurag Jain
Introduction to Video Compression Techniques - Anurag Jain
Videoguy
 

What's hot (20)

An Introduction to Versatile Video Coding (VVC) for UHD, HDR and 360 Video
An Introduction to  Versatile Video Coding (VVC) for UHD, HDR and 360 VideoAn Introduction to  Versatile Video Coding (VVC) for UHD, HDR and 360 Video
An Introduction to Versatile Video Coding (VVC) for UHD, HDR and 360 Video
 
An Introduction to HDTV Principles-Part 1
An Introduction to HDTV Principles-Part 1    An Introduction to HDTV Principles-Part 1
An Introduction to HDTV Principles-Part 1
 
HDR and WCG Principles-Part 5
HDR and WCG Principles-Part 5HDR and WCG Principles-Part 5
HDR and WCG Principles-Part 5
 
Introduction to HEVC
Introduction to HEVCIntroduction to HEVC
Introduction to HEVC
 
An Introduction to Video Principles-Part 1
An Introduction to Video Principles-Part 1   An Introduction to Video Principles-Part 1
An Introduction to Video Principles-Part 1
 
Latest Technologies in Production & Broadcasting
Latest  Technologies in Production & BroadcastingLatest  Technologies in Production & Broadcasting
Latest Technologies in Production & Broadcasting
 
Tutorial High Efficiency Video Coding Coding - Tools and Specification.pdf
Tutorial High Efficiency Video Coding Coding - Tools and Specification.pdfTutorial High Efficiency Video Coding Coding - Tools and Specification.pdf
Tutorial High Efficiency Video Coding Coding - Tools and Specification.pdf
 
HDR and WCG Video Broadcasting Considerations
HDR and WCG Video Broadcasting ConsiderationsHDR and WCG Video Broadcasting Considerations
HDR and WCG Video Broadcasting Considerations
 
Serial Digital Interface (SDI), From SD-SDI to 24G-SDI, Part 1
Serial Digital Interface (SDI), From SD-SDI to 24G-SDI, Part 1Serial Digital Interface (SDI), From SD-SDI to 24G-SDI, Part 1
Serial Digital Interface (SDI), From SD-SDI to 24G-SDI, Part 1
 
An Overview of High Efficiency Video Codec HEVC (H.265)
An Overview of High Efficiency Video Codec HEVC (H.265)An Overview of High Efficiency Video Codec HEVC (H.265)
An Overview of High Efficiency Video Codec HEVC (H.265)
 
A short history of video coding
A short history of video codingA short history of video coding
A short history of video coding
 
Designing an 4K/UHD1 HDR OB Truck as 12G-SDI or IP-based
Designing an 4K/UHD1 HDR OB Truck as 12G-SDI or IP-basedDesigning an 4K/UHD1 HDR OB Truck as 12G-SDI or IP-based
Designing an 4K/UHD1 HDR OB Truck as 12G-SDI or IP-based
 
Video Compression Standards - History & Introduction
Video Compression Standards - History & IntroductionVideo Compression Standards - History & Introduction
Video Compression Standards - History & Introduction
 
AV1: the next generation video codec
AV1: the next generation video codecAV1: the next generation video codec
AV1: the next generation video codec
 
The Transformer in Vision | Xavier Giro | Master in Computer Vision Barcelona...
The Transformer in Vision | Xavier Giro | Master in Computer Vision Barcelona...The Transformer in Vision | Xavier Giro | Master in Computer Vision Barcelona...
The Transformer in Vision | Xavier Giro | Master in Computer Vision Barcelona...
 
Image compression 14_04_2020 (1)
Image compression 14_04_2020 (1)Image compression 14_04_2020 (1)
Image compression 14_04_2020 (1)
 
Introduction to Video Compression Techniques - Anurag Jain
Introduction to Video Compression Techniques - Anurag JainIntroduction to Video Compression Techniques - Anurag Jain
Introduction to Video Compression Techniques - Anurag Jain
 
Thinking about IP migration
Thinking about IP migration Thinking about IP migration
Thinking about IP migration
 
A Comparison of Block-Matching Motion Estimation Algorithms
A Comparison of Block-Matching Motion Estimation AlgorithmsA Comparison of Block-Matching Motion Estimation Algorithms
A Comparison of Block-Matching Motion Estimation Algorithms
 
Triangle Visibility buffer
Triangle Visibility bufferTriangle Visibility buffer
Triangle Visibility buffer
 

Viewers also liked

141219 OO brochure LMP V0.61 -HARL
141219 OO brochure LMP V0.61 -HARL141219 OO brochure LMP V0.61 -HARL
141219 OO brochure LMP V0.61 -HARL
Ricardo Fakiera
 
Comtech - Migration DVB-S to DVB-S2
Comtech - Migration DVB-S to DVB-S2Comtech - Migration DVB-S to DVB-S2
Comtech - Migration DVB-S to DVB-S2
Sematron UK Ltd
 
Jacob King Final Year Project
Jacob King Final Year ProjectJacob King Final Year Project
Jacob King Final Year Project
Jacob King
 
Technical Report on the DVB-H and DVB-SH
Technical Report on the DVB-H and DVB-SHTechnical Report on the DVB-H and DVB-SH
Technical Report on the DVB-H and DVB-SH
Partho Choudhury
 

Viewers also liked (20)

HEVC / H265 Hands-On course
HEVC / H265 Hands-On courseHEVC / H265 Hands-On course
HEVC / H265 Hands-On course
 
HEVC overview main
HEVC overview mainHEVC overview main
HEVC overview main
 
Development of a 4K H.265/ HEVC HW Encoder
Development of a 4K H.265/ HEVC HW EncoderDevelopment of a 4K H.265/ HEVC HW Encoder
Development of a 4K H.265/ HEVC HW Encoder
 
Feature hevc
Feature hevcFeature hevc
Feature hevc
 
HEVC Definitions and high-level syntax
HEVC Definitions and high-level syntaxHEVC Definitions and high-level syntax
HEVC Definitions and high-level syntax
 
HEVC VIDEO CODEC By Vinayagam Mariappan
HEVC VIDEO CODEC By Vinayagam MariappanHEVC VIDEO CODEC By Vinayagam Mariappan
HEVC VIDEO CODEC By Vinayagam Mariappan
 
Introduction to H.264 Advanced Video Compression
Introduction to H.264 Advanced Video CompressionIntroduction to H.264 Advanced Video Compression
Introduction to H.264 Advanced Video Compression
 
141219 OO brochure LMP V0.61 -HARL
141219 OO brochure LMP V0.61 -HARL141219 OO brochure LMP V0.61 -HARL
141219 OO brochure LMP V0.61 -HARL
 
Comtech - Migration DVB-S to DVB-S2
Comtech - Migration DVB-S to DVB-S2Comtech - Migration DVB-S to DVB-S2
Comtech - Migration DVB-S to DVB-S2
 
Satellite Telecom Solutions Asia Pacific (www.suarez.asia)
Satellite Telecom Solutions  Asia Pacific  (www.suarez.asia)Satellite Telecom Solutions  Asia Pacific  (www.suarez.asia)
Satellite Telecom Solutions Asia Pacific (www.suarez.asia)
 
Dtt servicios 2017
Dtt servicios 2017Dtt servicios 2017
Dtt servicios 2017
 
Presentazione Broadcast H.265 & H.264 Sematron Italia - Maggio 2016
Presentazione Broadcast H.265 & H.264 Sematron Italia  - Maggio 2016Presentazione Broadcast H.265 & H.264 Sematron Italia  - Maggio 2016
Presentazione Broadcast H.265 & H.264 Sematron Italia - Maggio 2016
 
Jacob King Final Year Project
Jacob King Final Year ProjectJacob King Final Year Project
Jacob King Final Year Project
 
rapport
rapportrapport
rapport
 
Technical Report on the DVB-H and DVB-SH
Technical Report on the DVB-H and DVB-SHTechnical Report on the DVB-H and DVB-SH
Technical Report on the DVB-H and DVB-SH
 
The H.265/MPEG-HEVC Standard
The H.265/MPEG-HEVC StandardThe H.265/MPEG-HEVC Standard
The H.265/MPEG-HEVC Standard
 
Pioneer AV Receivers 2013 - features explained
Pioneer AV Receivers 2013 - features explainedPioneer AV Receivers 2013 - features explained
Pioneer AV Receivers 2013 - features explained
 
Digital TV Successes and Failures
Digital TV Successes and FailuresDigital TV Successes and Failures
Digital TV Successes and Failures
 
Vod business-model-handbook-july-20151
Vod business-model-handbook-july-20151Vod business-model-handbook-july-20151
Vod business-model-handbook-july-20151
 
Home Theater: Surround Sound Formats
Home Theater: Surround Sound FormatsHome Theater: Surround Sound Formats
Home Theater: Surround Sound Formats
 

Similar to ICME 2016 - High Efficiency Video Coding - Coding Tools and Specification: HEVC V3 and Coming Developments

Video Coding Standard
Video Coding StandardVideo Coding Standard
Video Coding Standard
Videoguy
 
MPEG4 codec for Access Grid
MPEG4 codec for Access GridMPEG4 codec for Access Grid
MPEG4 codec for Access Grid
Videoguy
 
MPEG4 codec for Access Grid
MPEG4 codec for Access GridMPEG4 codec for Access Grid
MPEG4 codec for Access Grid
Videoguy
 
Video Compression Technology
Video Compression TechnologyVideo Compression Technology
Video Compression Technology
Tong Teerayuth
 
CODA_presentation.pdf
CODA_presentation.pdfCODA_presentation.pdf
CODA_presentation.pdf
JunZhao68
 
Video coding technology proposal by
Video coding technology proposal by Video coding technology proposal by
Video coding technology proposal by
Videoguy
 
Video coding technology proposal by
Video coding technology proposal by Video coding technology proposal by
Video coding technology proposal by
Videoguy
 
Video coding technology proposal by
Video coding technology proposal by Video coding technology proposal by
Video coding technology proposal by
Videoguy
 
Video coding technology proposal by
Video coding technology proposal by Video coding technology proposal by
Video coding technology proposal by
Videoguy
 
H.265ImprovedCE_over_H.264-HarmonicMay2014Final
H.265ImprovedCE_over_H.264-HarmonicMay2014FinalH.265ImprovedCE_over_H.264-HarmonicMay2014Final
H.265ImprovedCE_over_H.264-HarmonicMay2014Final
Donald Pian
 

Similar to ICME 2016 - High Efficiency Video Coding - Coding Tools and Specification: HEVC V3 and Coming Developments (20)

Video Coding Standard
Video Coding StandardVideo Coding Standard
Video Coding Standard
 
VVC HLS overview .pdf
VVC HLS overview .pdfVVC HLS overview .pdf
VVC HLS overview .pdf
 
MPEG4 codec for Access Grid
MPEG4 codec for Access GridMPEG4 codec for Access Grid
MPEG4 codec for Access Grid
 
MPEG4 codec for Access Grid
MPEG4 codec for Access GridMPEG4 codec for Access Grid
MPEG4 codec for Access Grid
 
Real time SHVC decoder
Real time SHVC decoderReal time SHVC decoder
Real time SHVC decoder
 
VVC tutorial at VCIP 2020 together with Benjamin Bross
VVC tutorial at VCIP 2020 together with Benjamin BrossVVC tutorial at VCIP 2020 together with Benjamin Bross
VVC tutorial at VCIP 2020 together with Benjamin Bross
 
Video Compression Technology
Video Compression TechnologyVideo Compression Technology
Video Compression Technology
 
H263.ppt
H263.pptH263.ppt
H263.ppt
 
Aruna Ravi - M.S Thesis
Aruna Ravi - M.S ThesisAruna Ravi - M.S Thesis
Aruna Ravi - M.S Thesis
 
4 imtc wiegand 131009
4 imtc wiegand 1310094 imtc wiegand 131009
4 imtc wiegand 131009
 
CODA_presentation.pdf
CODA_presentation.pdfCODA_presentation.pdf
CODA_presentation.pdf
 
Video coding technology proposal by
Video coding technology proposal by Video coding technology proposal by
Video coding technology proposal by
 
Video coding technology proposal by
Video coding technology proposal by Video coding technology proposal by
Video coding technology proposal by
 
Video coding technology proposal by
Video coding technology proposal by Video coding technology proposal by
Video coding technology proposal by
 
Video coding technology proposal by
Video coding technology proposal by Video coding technology proposal by
Video coding technology proposal by
 
H.265ImprovedCE_over_H.264-HarmonicMay2014Final
H.265ImprovedCE_over_H.264-HarmonicMay2014FinalH.265ImprovedCE_over_H.264-HarmonicMay2014Final
H.265ImprovedCE_over_H.264-HarmonicMay2014Final
 
proposal
proposalproposal
proposal
 
Barcelona keynote web
Barcelona keynote webBarcelona keynote web
Barcelona keynote web
 
videomon
videomonvideomon
videomon
 
/Home/nvlogic/desktop/spraaf3
/Home/nvlogic/desktop/spraaf3/Home/nvlogic/desktop/spraaf3
/Home/nvlogic/desktop/spraaf3
 

Recently uploaded

No Advance 8868886958 Chandigarh Call Girls , Indian Call Girls For Full Nigh...
No Advance 8868886958 Chandigarh Call Girls , Indian Call Girls For Full Nigh...No Advance 8868886958 Chandigarh Call Girls , Indian Call Girls For Full Nigh...
No Advance 8868886958 Chandigarh Call Girls , Indian Call Girls For Full Nigh...
Sheetaleventcompany
 

Recently uploaded (20)

Presentation on Engagement in Book Clubs
Presentation on Engagement in Book ClubsPresentation on Engagement in Book Clubs
Presentation on Engagement in Book Clubs
 
lONG QUESTION ANSWER PAKISTAN STUDIES10.
lONG QUESTION ANSWER PAKISTAN STUDIES10.lONG QUESTION ANSWER PAKISTAN STUDIES10.
lONG QUESTION ANSWER PAKISTAN STUDIES10.
 
Busty Desi⚡Call Girls in Sector 51 Noida Escorts >༒8448380779 Escort Service-...
Busty Desi⚡Call Girls in Sector 51 Noida Escorts >༒8448380779 Escort Service-...Busty Desi⚡Call Girls in Sector 51 Noida Escorts >༒8448380779 Escort Service-...
Busty Desi⚡Call Girls in Sector 51 Noida Escorts >༒8448380779 Escort Service-...
 
Dreaming Marissa Sánchez Music Video Treatment
Dreaming Marissa Sánchez Music Video TreatmentDreaming Marissa Sánchez Music Video Treatment
Dreaming Marissa Sánchez Music Video Treatment
 
SaaStr Workshop Wednesday w/ Lucas Price, Yardstick
SaaStr Workshop Wednesday w/ Lucas Price, YardstickSaaStr Workshop Wednesday w/ Lucas Price, Yardstick
SaaStr Workshop Wednesday w/ Lucas Price, Yardstick
 
My Presentation "In Your Hands" by Halle Bailey
My Presentation "In Your Hands" by Halle BaileyMy Presentation "In Your Hands" by Halle Bailey
My Presentation "In Your Hands" by Halle Bailey
 
Causes of poverty in France presentation.pptx
Causes of poverty in France presentation.pptxCauses of poverty in France presentation.pptx
Causes of poverty in France presentation.pptx
 
Report Writing Webinar Training
Report Writing Webinar TrainingReport Writing Webinar Training
Report Writing Webinar Training
 
ANCHORING SCRIPT FOR A CULTURAL EVENT.docx
ANCHORING SCRIPT FOR A CULTURAL EVENT.docxANCHORING SCRIPT FOR A CULTURAL EVENT.docx
ANCHORING SCRIPT FOR A CULTURAL EVENT.docx
 
Mohammad_Alnahdi_Oral_Presentation_Assignment.pptx
Mohammad_Alnahdi_Oral_Presentation_Assignment.pptxMohammad_Alnahdi_Oral_Presentation_Assignment.pptx
Mohammad_Alnahdi_Oral_Presentation_Assignment.pptx
 
BDSM⚡Call Girls in Sector 93 Noida Escorts >༒8448380779 Escort Service
BDSM⚡Call Girls in Sector 93 Noida Escorts >༒8448380779 Escort ServiceBDSM⚡Call Girls in Sector 93 Noida Escorts >༒8448380779 Escort Service
BDSM⚡Call Girls in Sector 93 Noida Escorts >༒8448380779 Escort Service
 
ICT role in 21st century education and it's challenges.pdf
ICT role in 21st century education and it's challenges.pdfICT role in 21st century education and it's challenges.pdf
ICT role in 21st century education and it's challenges.pdf
 
Air breathing and respiratory adaptations in diver animals
Air breathing and respiratory adaptations in diver animalsAir breathing and respiratory adaptations in diver animals
Air breathing and respiratory adaptations in diver animals
 
Governance and Nation-Building in Nigeria: Some Reflections on Options for Po...
Governance and Nation-Building in Nigeria: Some Reflections on Options for Po...Governance and Nation-Building in Nigeria: Some Reflections on Options for Po...
Governance and Nation-Building in Nigeria: Some Reflections on Options for Po...
 
No Advance 8868886958 Chandigarh Call Girls , Indian Call Girls For Full Nigh...
No Advance 8868886958 Chandigarh Call Girls , Indian Call Girls For Full Nigh...No Advance 8868886958 Chandigarh Call Girls , Indian Call Girls For Full Nigh...
No Advance 8868886958 Chandigarh Call Girls , Indian Call Girls For Full Nigh...
 
Thirunelveli call girls Tamil escorts 7877702510
Thirunelveli call girls Tamil escorts 7877702510Thirunelveli call girls Tamil escorts 7877702510
Thirunelveli call girls Tamil escorts 7877702510
 
VVIP Call Girls Nalasopara : 9892124323, Call Girls in Nalasopara Services
VVIP Call Girls Nalasopara : 9892124323, Call Girls in Nalasopara ServicesVVIP Call Girls Nalasopara : 9892124323, Call Girls in Nalasopara Services
VVIP Call Girls Nalasopara : 9892124323, Call Girls in Nalasopara Services
 
Dreaming Music Video Treatment _ Project & Portfolio III
Dreaming Music Video Treatment _ Project & Portfolio IIIDreaming Music Video Treatment _ Project & Portfolio III
Dreaming Music Video Treatment _ Project & Portfolio III
 
BDSM⚡Call Girls in Sector 97 Noida Escorts >༒8448380779 Escort Service
BDSM⚡Call Girls in Sector 97 Noida Escorts >༒8448380779 Escort ServiceBDSM⚡Call Girls in Sector 97 Noida Escorts >༒8448380779 Escort Service
BDSM⚡Call Girls in Sector 97 Noida Escorts >༒8448380779 Escort Service
 
Introduction to Prompt Engineering (Focusing on ChatGPT)
Introduction to Prompt Engineering (Focusing on ChatGPT)Introduction to Prompt Engineering (Focusing on ChatGPT)
Introduction to Prompt Engineering (Focusing on ChatGPT)
 

ICME 2016 - High Efficiency Video Coding - Coding Tools and Specification: HEVC V3 and Coming Developments

  • 1. High Efficiency Video Coding – Coding Tools and Specification: HEVC V3 and Coming Developments Mathias Wien Institut für Nachrichtentechnik RWTH Aachen University ICME2016 Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 1 / 235
  • 2. Outline Part I 1 Video Coding Systems 2 Structure of a Video Sequence 3 Specification Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 2 / 235
  • 3. Outline Part II 4 Coding Structures 5 Reference Pictures 6 High-Level Syntax Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 3 / 235
  • 4. Outline Part III 7 Intra Prediction 8 Inter Prediction 9 Residual Coding 10 Loop Filtering 11 Entropy Coding 12 Profiles in HEVC Edition 1 Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 4 / 235
  • 5. Outline Part IV 13 Range Extensions 14 Annex F: Common specifications for multi-layer extensions 15 Annex G: Multiview High Efficiency Video Coding 16 Annex H: Scalable High Efficiency Video Coding 17 Annex I: 3D High Efficiency Video Coding Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 5 / 235
  • 6. Outline Part V 18 Screen Content Coding 19 Free Viewpoint Television 20 Wide Color Gamut / High Dynamic Range Coding 21 Future Video Coding Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 6 / 235
  • 7. Outline Part VI 22 Summary and Outlook 23 Books and Tools 24 Resources 25 Acronyms 26 References Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 7 / 235
  • 8. Part I Introduction Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 8 / 235
  • 9. Outline 1 Video Coding Systems 2 Structure of a Video Sequence 3 Specification Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 9 / 235
  • 10. Video Coding Systems source pre-processing encoding transmission decodingpost-processingdisplay Generalized overview of the processing chain Various realizations of the chain Communication (e. g. video conferencing) Broadcast (e. g. TV, streaming) Storage (DVD, Blu-Ray, . . . ) Transcoding may be part of transmission Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 10 / 235
  • 11. Hybrid Coding Scheme: Encoder Decoder CTB input picture + − TR+Q TB iTR+iQ TB + Intra PB Entropy Cod- ing bitstream Deblk. Slice Loop Filter Slice rec. picture Inter PB Buffer n pics ME PB CTB – Coding Tree Block ME – Motion Estimation PB – Prediction Block Q – Quantization TB – Transform Block TR – Transform Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 11 / 235
  • 12. Outline 1 Video Coding Systems 2 Structure of a Video Sequence Representation of Color 3 Specification Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 12 / 235
  • 13. Structure of a Video Sequence Sequence of pictures successively captured or rendered Progressive and interlaced formats Picture rate measured in pictures per second, unit Hertz (Hz) Minimum picture rate at 24 Hz for fluent motion [1] Standard Definition TV at 50/60 Hz interlaced High Definition (HD) video at 50/60 Hz progressive Ultra HD (UHD) video up to 120 Hz Up to 300 Hz considered Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 13 / 235
  • 14. Chroma Sub-Sampling Human visual system less sensitive to color than to structure and texture ⇒ full resolution luma, lower resolution chroma Chroma sub-sampling types commonly specified by relation between number of luma an chroma samples YCbCr Y:X1:X2 With Y: number of luma pixels Sub-sampling format of chroma components specified by X1 and X2 X1: horizontal sub-sampling X2 = 0: vertical sub-sampling identical to horizontal sub-sampling X2 = X1: no vertical sub-sampling Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 14 / 235
  • 15. Chroma Sub-Sampling Example: Assumed location of chroma samples relative to luma samples in HEVC luma chroma (a) YCbCr 4:2:0 (b) YCbCr 4:2:2 Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 15 / 235
  • 16. Outline 1 Video Coding Systems 2 Structure of a Video Sequence 3 Specification Specification Scope Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 16 / 235
  • 17. Standardization Driving factor for standardization: Interoperability Desire to enable devices and applications from different manufacturers and sources to interoperate Definition of requirements Application needs Extensibility options Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 17 / 235
  • 18. Specification Scope source pre-processing encoding transmission decodingpost-processingdisplay Parsing process Bitstream syntax Decoding process Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 18 / 235
  • 19. Part II HEVC Coding Structures and High-Level Syntax Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 19 / 235
  • 20. Outline 4 Coding Structures Random Access Points Leading and Trailing Pictures Temporal Sub-Layer Access Blocks, Units, and Slices Tiles Block Types 5 Reference Pictures 6 High-Level Syntax Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 20 / 235
  • 21. Picture Types: Intra Random Access Points Instantaneous Decoder Refresh (IDR) Start of new CVS, reset of decoding process, DPB emptied Only reference to pictures following IDR in coding order No reference ’across’ IDR picture Clean Random Access (CRA) DPB left intact if within coded video sequence Pictures after CRA in coding and output order without reference to pictures before CRA If used as starting point: Conformingly decodable pictures following CRA in output order Broken Link Access (BLA) Renaming of CRA after splicing operation Indicates removal of pictures containing broken / unavailable references CVS = Coded Video Sequence, DPB = Decoded Picture Buffer Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 21 / 235
  • 22. Picture Types: Leading and Trailing Pictures Leading Pictures Precede associated IRAP in output order Follow associated IRAP in coding order Random Access Decodable Leading Picture (RADL) Correctly decodable if decoding starts at corresponding IRAP No reference to pictures prior to IRAP in coding and output order Random Access Skipped Leading Picture (RASL) May contain references to unavailable pictures if decoding starts at IRAP Shall not be output if associated IRAP is a BLA Trailing Pictures Follow the associated IRAP in coding and output order Follow all leading pictures associated to the IRAP in coding order Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 22 / 235
  • 23. Picture Types: Leading and Trailing Pictures – Example 2 70 1 3 4 5 6 8 9output ord. coding ord. 01 2 34 56 7 9 8 pic. type RADL RADL IDR TRAIL TRAIL RADL RADL CRA TRAIL TRAIL NUT 7 6 19 0 1 7 6 21 0 1 (a) 2 70 1 3 4 5 6 8 9 10output ord. coding ord. 01 2 34 56 7 89 pic. type RADL RADL IDR TRAIL TRAIL RASL RASL CRA TRAIL TRAIL NUT 7 6 19 0 1 9 8 21 0 1 (b) NUT: NAL unit type, NAL = Network Abstraction Layer Coding structure for demonstration purpose only Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 23 / 235
  • 24. Picture Types: Leading and Trailing Pictures – Splicing SEQUENCE A 2 0 1 4 3 7 5 6 9 8 12 10 11 1output ord. coding ord. 0 1 2 3 4 5 6 7 8 9 pic. type IDR RADL RADL TRAIL TRAIL CRA RASL RASL TRAIL TRAIL NUT 19 7 6 1 0 21 9 8 1 0 SEQUENCE B 0 1 2 3 × × 5 4 8 6 7 10 9output ord. coding ord. 0 1 2 3 4 5 6 7 8 9 pic. type IDR TRAIL TRAIL BLA RASL RASL TRAIL TRAIL CRA RASL NUT 19 1 0 16 9 8 1 0 21 9 Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 24 / 235
  • 25. Picture Types: Temporal Sub-Layer Access Switching temporal layers Temporal nesting: at any picture to higher or lower tid General: switching of temporal layer only at tid = 0 Temporal sub-layer access: additional option Temporal Sub-Layer Access (TSA) Switch to any higher tid at TSA picture No reference to higher tid by TSA picture Stepwise Temporal Sub-Layer Access (STSA) Switch to tid of STSA picture possible Switch to higher temporal layers not possible Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 25 / 235
  • 26. Spatial Coding Structures Blocks and Units Block: Square or rectangular area in a color component array Unit: Collocated blocks of the (three) color components, associated syntax elements and prediction data (e. g. motion vectors) Picture partitioning Coding Tree Blocks / Coding Tree Units (CTBs / CTUs) Each CTU in exactly one slice segment Independent slice segment: Full header, independently decodable Dependent slice segment: very short header, relies on corresponding independent slice, inherits CABAC state Slice types I-slice: Intra prediction only P-slice: Intra prediction and motion compensation with one reference picture list B-slice: Intra prediction and motion compensation with one or two reference picture lists CABAC: Context-based Adaptive Binary Arithmetic Coding Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 26 / 235
  • 27. Wavefront Parallel Processing (WPP) Storage of CABAC states for synchronization Two CTUs offset per row (availability of top-left CTU) Entry points coded in the slice segment header CTU CTU CTU CTU CTU CTU 0 1 2 3 4 5 CTU CTU CTU CTU Nc Nc+1 Nc+2 Nc+3 CTU CTU 2Nc 2Nc+1 decoder1 decoder2 decoder3 slice seg. header CTU CTU CTU CTU CTU CTU 0 1 Nc Nc+1 2Nc 2Nc+1 ··· ··· ··· ep0 ep1 ep2 Bitstream Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 27 / 235
  • 28. Tiles Change scanning order of CTBs in picture Slices in tiles, or tiles in slices Reset of prediction and entropy coding → parallel processing (entry points like WPP) Slice 1 Slice 2 Slice 3 Slice 4 Slice 5 Slice 6 Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 28 / 235
  • 29. Tiles Change scanning order of CTBs in picture Slices in tiles, or tiles in slices Reset of prediction and entropy coding → parallel processing (entry points like WPP) Slice 1 Slice 2 Slice 3 Slice 4 Slice 5 Slice 6 Tile 1 Tile 2 Tile 3 Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 28 / 235
  • 30. Tiles Change scanning order of CTBs in picture Slices in tiles, or tiles in slices Reset of prediction and entropy coding → parallel processing (entry points like WPP) Slice 1 Slice 2 Slice 3 Slice 4 Slice 5 Tile 1 Tile 2 Tile 3 Tile 4 Tile 5 Tile 6 Tile 7 Tile 8 Tile 9 Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 28 / 235
  • 31. Coding Tree Blocks and Coding Blocks (CBs) Quadtree partitioning of CTB into CBs If picture size not integer multiple of CTB size: Implicit CTB partitioning to meet picture size (must be multiple of 8×8 pixels) 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 (a) (b) Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 29 / 235
  • 32. Prediction Blocks (PBs) and Transform Blocks (TBs) Prediction block partitioning of a 2N×2N CB INTER 2N×2N 2N×N N×2N N×N 2N×nU 2N×nD nL×2N nR×2N INTRA 2N×2N 4×4 Transform block partitioning of a CB Quadtree partitioning of CB → Residual Quad Tree (RQT) Transform size 4×4 to 32×32 TB size 4×4 to 64×64 PB boundaries inside TBs allowed Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 30 / 235
  • 33. Outline 4 Coding Structures 5 Reference Pictures Reference Picture Set Reference Picture List 6 High-Level Syntax Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 31 / 235
  • 34. Reference Picture Sets (RPS) Reference Picture Set Set of previously decoded pictures To be used as reference for inter prediction Identified by POC value Picture marking Use in current or following pictures Unused for reference (can be removed from DPB) Construction Short-term before (B) Short-term after (A) Long-term spec further reading: [4] Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 32 / 235
  • 35. Short-Term RPS – Example POC RPS 0 8B0 *B1B2B3 0 842 61 3 5 7-1-2-3-4-5-6-7-8 1 9B0 A0*B1 2 10B0 A1A0*B1 3B0 A2A1A0* 4B1 A1A0B0 * 5B2 A0B0B1 * 6B1 A1B0 A0* 7B2 A0B1 B0 * 0 842 61 3 5 7-1-2-3-4-5-6-7-8 RPS of random access configuration from the JCT-VC common testing conditions JCTVC-K1100 [8] Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 33 / 235
  • 36. Reference Picture List (RPL) Reference picture lists constructed from available RPS Size of RPL signaled in PPS or slice segment header One list in P-slices (List0) Two lists in B-slices (List0, List1) Construction List0 Short-term before Short-term after Long-term List1 Short-term after Short-term before Long-term Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 34 / 235
  • 37. Outline 4 Coding Structures 5 Reference Pictures 6 High-Level Syntax Network Abstraction Layer Parameter Sets Picture Order Count Hypothetical Reference Decoder Supplemental Enhancement Information Video Usability Information Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 35 / 235
  • 38. Network Abstraction Layer (NAL) Coded Video Sequence (CVS) Starts with a ’new’ IRAP (associated RASLs to be discarded) One or more CVSs in a bitstream → Coded Video Sequence Group (CVSG) Network Abstraction Layer Encapsulation of coded video sequence for transport and storage Video coding layer (VCL) NAL units All video data, i. e. Slices with CTUs, PUs, TUs Non-VCL NAL units Parameter sets Supplemental enhancement information . . . ScHaWaWe12 [9] Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 36 / 235
  • 39. NAL Unit Structure | | | | | | | | | . . . byte 0 1 2 . . . . . . NU−1 1 0 0 0 0 0 NALU header RBSP SODB RBSP stop bitMSB LSB RBSP: Raw byte sequence payload Sequence of bytes comprising the coded NAL unit payload RBSP stop bit (=’1’) plus zero bytes for byte alignment SODB: String of data bits Concatenation of bits in the RBSP bytes from MSB to LSB All bits needed for the decoding process Only the bits needed for the decoding process Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 37 / 235
  • 40. NAL Unit Header (2 bytes) “0” NAL unit type NUH layer id temporal id byte 1 byte 2 NAL unit type: characterize content of VCL/ non-VCL NAL unit NAL unit header (NUH) layer id: equal to 0 for HEVC Version 1, for use in scalable extension (spatial layers, quality layers), multi-view extension (view id) temporal id ( tid): temporal sub-layer identifier Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 38 / 235
  • 41. Access Units start AUD (prefix) SEI CSS suffix SEI EOS EOB end Access Unit (AU) Set of all NAL units associated to exactly one picture All NAL units of AU share output time of included picture Not depicted Parameter sets Other NAL units types Decoding Units Decoder operation on sub-picture level Operation of the HRD on sub-picture basis (HRD = Hypothetical Reference Decoder, see below) Enables sub-picture output before complete decoding of full picture AUD Access unit delimiter SEI Supplemental enhancement information EOS End of sequence EOB End of bitstream Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 39 / 235
  • 42. Parameter Sets Hierarchical structure Separation of information for different hierarchy levels Highest-priority information In-band or out-of-band transmission Available parameter sets Video parameter set (VPS) Sequence parameter set (SPS) Picture parameter set (PPS) Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 40 / 235
  • 43. Parameter Sets VPS1 VPS2 SPS1 SPS2 SPS3 PPS1 PPS2 PPS3 PPS4 PPS5 slice headers in coded video seq. A slice headers in coded video seq. B slice headers in coded video seq. M slice headers in coded video seq. N ... ... bitstream I bitstream II Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 41 / 235
  • 44. Coded Video Sequence Group CVS1 CVS2 CVSG VPS1 SPS1 PPS2 SSH lid = 1 SPS1 PPS1 SSH lid = 0 SPS3 PPS4 SSH lid = 1 SPS3 PPS3 SSH lid = 0 Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 42 / 235
  • 45. Video Parameter Set Introduced for handling of multi-layer bitstreams General information, activated for all layers Coded video sequence(s), included layers, available operation points Highest layer parameter set: sets global constraints HEVC Version 1: not needed, copy of SPS information Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 43 / 235
  • 46. Sequence Parameter Set Activated for the coded video sequence Profile, tier, and level Usage of tools Video usability information . . . Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 44 / 235
  • 47. Picture Parameter Set Activated per picture May change from picture to picture (only one per picture) Tool configuration CABAC Quantizers, Loop filters Tiles . . . Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 45 / 235
  • 48. Slice Segment Header Activates the chain of parameter sets (once per picture) Slice segment header must refer PPS with identical content (but not necessarily identical PPS id) Includes picture order count Includes all information needed to decode the independent slice segment and associated dependent slice segments Entry points for wavefront parallel decoding / tiles Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 46 / 235
  • 49. Picture Order Count (POC) POC-2 POC-1 POC POC+1 Identifier of picture in the DPB Indicates output order of the pictures, strictly increasing POC of IDR pictures always 0: start of new coded video sequence Used for derivation of picture distance in inter prediction, scaling of motion vectors Constant POC delta not necessary VPS: indication of POC relation to picture time difference possible Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 47 / 235
  • 50. Hypothetical Reference Decoder (HRD) hypothetical stream scheduler (HSS) coded picture buffer (CPB) decoding process (instan- taneous) decoded picture buffer (DPB) output cropping Encoder: control of buffer states Introduction of timing Conformance testing Parameter signalling in VPS or SPS Sub-picture operation possible AU operation → DU operation (new in HEVC) Specified in HEVC Annex C spec , further reading: [10] Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 48 / 235
  • 51. HRD: Decoded Picture Buffer hypothetical stream scheduler (HSS) coded picture buffer (CPB) decoding process (instan- taneous) decoded picture buffer (DPB) output cropping Reconstructed pictures Reference pictures (short-term / long-term) Pictures to be displayed Picture output timing: Delay relative to CPB removal time Note: Prevention of picture output possible Signalled in the bitstream Indicated by BLA picture type Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 49 / 235
  • 52. Supplemental Enhancement Information (SEI) SEI message content Not required for the decoding process Potentially useful for the decoding process Attached and integrated into bitstream, sent with coded video sequence Error recovery, testing for integrity, . . . Prefix SEI: Cannot occur after the NAL units of the coded picture Suffix SEI: Cannot occur before the NAL units of the coded pictures Concept of SEI from H.264|AVC, payload types aligned for inherited SEI messages Specified in Annex D spec Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 50 / 235
  • 53. Video Usability Information VUI Not required by the decoding process Information on the interpretation of the decoded video sequence Signaling in-band (as part of SPS) or out-of-band Parameters Geometric relations → sample aspect ratio (SAR), overscan indication Video signal type and color information Frame / field indication Default display window (suggested area within the cropping window) HRD/ Timing information (including clock tick for picture rate) Restrictions: Tiles, motion vectors, RPL, spatial segmentation, maximum byte cost (picture / CTU) Specified in Annex E spec Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 51 / 235
  • 54. Part III HEVC Coding Tools Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 52 / 235
  • 55. Outline 7 Intra Prediction Intra Prediction Modes Intra Coding Example 8 Inter Prediction 9 Residual Coding 10 Loop Filtering 11 Entropy Coding 12 Profiles in HEVC Edition 1 Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 53 / 235
  • 56. Intra Prediction Decoder CTB input picture + − TR+Q TB iTR+iQ TB + Intra PB Entropy Cod- ing bitstream Deblk. Slice Loop Filter Slice rec. picture Inter PB Buffer n pics ME PB Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 54 / 235
  • 57. Intra Prediction Modes 0 : Planar 1 : DC 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 34 33 32 31 30 29 28 272625 24 23 22 21 20 19 Planar prediction: mode 0 DC intra prediction: mode 1 Numbering from diagonal-up to diagonal-down Horizontal: mode 10, vertical: mode 26 Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 55 / 235
  • 58. Intra Prediction Block size Intra prediction mode coded per CU Prediction block size derived from residual quadtree Boundary samples of neighboring block used for prediction Efficient representation Local update of prediction source Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 56 / 235
  • 59. Intra Coding Example DC DC DC DC DC P P DC P P DC P P DC P P P DC P P P DC original Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 57 / 235
  • 60. Intra Coding Example DC DC DC DC DC P P DC P P DC P P DC P P P DC P P P DC prediction Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 58 / 235
  • 61. Intra Coding Example DC DC DC DC DC P P DC P P DC P P DC P P P DC P P P DC residual Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 59 / 235
  • 62. Outline 7 Intra Prediction 8 Inter Prediction Motion Compensated Prediction Motion Vector Representation Inter Coding Examples 9 Residual Coding 10 Loop Filtering 11 Entropy Coding 12 Profiles in HEVC Edition 1 Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 60 / 235
  • 63. Inter Prediction Decoder CTB input picture + − TR+Q TB iTR+iQ TB + Intra PB Entropy Cod- ing bitstream Deblk. Slice Loop Filter Slice rec. picture Inter PB Buffer n pics ME PB Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 61 / 235
  • 64. Motion Compensated Prediction POC-2 POC-1 POC POC+1 Prediction from reference picture lists Uni-prediction P-slices only with List0, B-slices with List0 or List1 Minimum PB size 8×4 or 4×8 Bi-prediction, only in B-slices One predictor from List0, one predictor from List1 Minimum PB size 8×8 Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 62 / 235
  • 65. Motion Vector Representation Merge mode Motion vector (MV) derived from candidate set (spatial and temporal neighborhood) Merge mode candidate index coded No motion vector difference encoded Advanced motion vector prediction Predictor derived from candidate set (spatial and temporal neighborhood) Predictor index coded Motion vector difference encoded HeOuBrMaBi12 [12] Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 63 / 235
  • 66. Merging Motion Vectors Merge candidate list List with up to five different motion merge candidates (list length indicated in the slice segment header) Unavailable candidates are ignored List filled to specified length → Improved loss robustness: Available list length independent of derivation process Additional combination of reference picture list 0 and 1 candidates for B-slices Merge mode granularity PU grid size configured in the PPS PUs below grid size share merge candidate list Adjustable computational complexity Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 64 / 235
  • 67. Merging Motion Vectors – Spatial Candidates A0 A1 B0B1 B2 (xP,yP) PU (xP,yP) (xP,yP) (a) Merge candidates (b) 4×8 PUs Processing order: A1,B1,B0,A0,B2 Candidates A1,B1 only if not right or bottom PU in CU with two partitions, respectively Maximum four spatial merge candidates Reduced line buffer storage requirement: shifted neighbor locations for blocks of width 4 spec Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 65 / 235
  • 68. Merging Motion Vectors – Temporal Candidates collocated region in reference picture C0 C1 n −5 n −4 n −3 n −2 n −1 n current picture POC td tb Location C1 if C0 unavailable, or PU at bottom right CTU boundary (complexity) Applicable reference picture selected on slice basis B-slices: Reference picture list 0 or 1 indicated by flag Reference index of candidate always set to 0 (error resilience, complexity) MV scaling according to POC distance mvPU = tb td ·mvcol Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 66 / 235
  • 69. Predictive Motion Vector Coding A0 A1 B0B1 B2 (xP,yP) PU collocated region in reference picture C0 C1 Advanced motion vector prediction Reference index and motion vector difference coded! Selection of predictor by flag (only two options) Derivation process for each reference picture list Locations from spatial neighborhood as shown for merge mode Candidate MVs scaled based on POC difference Candidate A first of A0,A1, candidate B first of B0,B1,B2 Optional: Additional temporal candidate C if A or B not available spec Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 67 / 235
  • 70. Motion Vector Signaling: Skip spec CU Skip Indication via flag at beginning of CU syntax Based on Merge mode Only merge index signalled No further syntax elements for CU → Residual inferred to be zero → Very cheap coding mode Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 68 / 235
  • 71. Inter Coding Examples Legend: List 0 = diagonal-down hatch, List 1 = diagonal-up hatch, ref.idx=0: gray, ref.idx=1, dark gray Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 69 / 235
  • 72. Inter Coding Examples (a) mvL0 (b) mvL1 Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 70 / 235
  • 73. Inter Coding Examples Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 71 / 235
  • 74. Inter Coding Examples Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 71 / 235
  • 75. Outline 7 Intra Prediction 8 Inter Prediction 9 Residual Coding Core Transforms Quantization Coded Representation of Transform Blocks Special Modes 10 Loop Filtering 11 Entropy Coding 12 Profiles in HEVC Edition 1 Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 72 / 235
  • 76. Residual Coding Decoder CTB input picture + − TR+Q TB iTR+iQ TB + Intra PB Entropy Cod- ing bitstream Deblk. Slice Loop Filter Slice rec. picture Inter PB Buffer n pics ME PB Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 73 / 235
  • 77. Core Transforms Transform block sizes 4×4, 8×8, 16×16, and 32×32 Integer approximations of the DCT-II transform matrix Additionally, integer approximation of the DST-VI transform matrix ’Single-norm’ design per transform block size → simple quantizer implementation Not all perfectly orthogonal, leakage below normalization threshold BuFuBjSzSa13 [13] Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 74 / 235
  • 78. Quantizer Step Size ... ... nq x -4 -3 -2 -1 1 2 3 40 ∆q Quantizer step size ∆q derived from quantization parameter QP Logarithmic relation of quantizer step sizes Double step size every 6 QP ∆q( QP +1) = 6 √ 2 ·∆q( QP) Definition: ∆q = 1 for QP = 4, thereby ∆q,0 ∈ 2−4 6 ,2−3 6 ,2−2 6 ,2−1 6 ,1,2 1 6 Quantizer step sizes for QP > 5 ∆q( QP) = ∆q,0( QPmod6)·2 QP 6 Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 75 / 235
  • 79. Quantizer Step Size Quantizer range QP = 0,...,51 Resulting quantizer step sizes 0.630 ≤ ∆q ≤ 228.1 Covering value range of an 8 bit input signal Higher input bit depth: Extension towards finer quantization Range extended by 6 QP steps per additional bit Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 76 / 235
  • 80. Transform Sub-Blocks (TSBs) last significant coefficient (xlsc,ylsc) 16 16 4 4 transform sub-block Scan of transform sub-blocks Last significant coefficient position Determination of transform sub-blocks with non-zero coefficients Coded sub-block flag spec Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 77 / 235
  • 81. Transform Sub-Block Scanning 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 0 1 2 3 0 2 1 3 diag., vert. horiz. (a) 4×4 diagonal (b) 4×4 horizontal (c) 4×4 vertical (d) 8×8 TSB scans Partitioning of transform block into 4×4 transform sub-blocks (TSBs) Scan direction selectable for 4×4 and 8×8 blocks, diagonal otherwise Scan direction in TSB depending on (intra) prediction mode Level distribution: ’trailing ones’ expected towards higher frequencies Scan used in inverse direction Start with expected ’1’ values Level: quantized transform coefficient level nq Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 78 / 235
  • 82. Special Modes Transform skip, applicable to 4×4 TUs Omit transform step Inverse quantization operation Additional bit shift to compensate missing transform Transform and quantization bypass No inverse transform, no quantizer scaling Perfect reconstruction of residual (useful e. g. for graphics content) PCM mode Direct encoding of pixel levels, lossless representation option for CU Configurable bit depth (SPS) Maximum PCM block size 32×32 Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 79 / 235
  • 83. Outline 7 Intra Prediction 8 Inter Prediction 9 Residual Coding 10 Loop Filtering Deblocking Filter Sample Adaptive Offset 11 Entropy Coding 12 Profiles in HEVC Edition 1 Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 80 / 235
  • 84. Loop Filtering Decoder CTB input picture + − TR+Q TB iTR+iQ TB + Intra PB Entropy Cod- ing bitstream Deblk. Slice Loop Filter Slice rec. picture Inter PB Buffer n pics ME PB Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 81 / 235
  • 85. Deblocking Filter Design considerations Reduction of visible blocking artifacts induced from block-wise processing Computational complexity Parallel processing Deblocking processing Operation on slice / tile basis Slice-based control of deblocking filter configuration possible Picture-based or block-based implementations possible Line buffer for block-based processing [14] Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 82 / 235
  • 86. Deblocking Filter Neighborhood vertical edges horizontal edges q0,A1 p0,A1 q0,A2 p0,A2 q0,A3 p0,A3 q0,A4 p0,A4 q0,B1 p0,B1 q0,B2 p0,B2 q0,C1 p0,C1 q0,C2 p0,C2 q0,C3 p0,C3 q0,A1 p0,A1 q0,A2 p0,A2 q0,A3 p0,A3 q0,A4 p0,A4 q0,B1 p0,B1 q0,B2 p0,B2 q0,B3 p0,B3 q0,B4 p0,B4 q0,C p0,C (a) (b) Neighborhood determination q0,p0: reference samples in current block and neighboring block Filtering only on 8×8 sample grid! Edge sections of 4 sample length Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 83 / 235
  • 87. Boundary Strength Boundary strength parameter bS Neighboring blocks determined by q0,p0 Possible boundary parameter strength values: 0,1,2 Determination of bS At least one intra coded block: bS = 2 Transform block boundary and non-zero coefficients: bS = 1 Motion information conditions: bS = 1 Different reference pictures or different number of motion vectors Same number of MVs and |mvx,p −mvx,q| ≥ 1 or |mvy,p −mvy,q| ≥ 1 (full-sample resolution) Otherwise: bS = 0 spec Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 84 / 235
  • 88. Deblocking Filter Operation Deblocking filter operation Operation on a 4-sample edge basis Luma: Deblocking if bs ≥ 1 Chroma: Deblocking if bs = 2 First vertical filtering, then horizontal filtering Independent operation on 8×8 block grid → parallel processing! spec Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 85 / 235
  • 89. Deblocking Filter Example (a) Original (b) Reconstruction with deblocking Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 86 / 235
  • 90. Deblocking Filter Example (c) Structure, deblocked samples (d) Reconstruction without deblocking Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 87 / 235
  • 91. Deblocking Filter Example (e) Normal deblocking (f) Strong deblocking Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 88 / 235
  • 92. Sample Adaptive Offset (SAO) New filter type in ITU-T / MPEG video coding specifications Local processing of samples Depending on local neighborhood (edge offset), or Depending on sample value (band offset) Operation independent of processed samples → parallel processing Local filter parameter adaptation Four different offset values available (plus SAO off) Dedicated SAO parameters for each Y, Cb, Cr component Common SAO mode for chroma components further reading: [15] spec Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 89 / 235
  • 93. SAO: Edge Offset pcp0 p1 pc p1 p0 pc p1 p0 pc p1 p0 (a) horizontal (b) vertical (c) diagonal-down (d) diagonal-up Neighborhood Two samples from 8-connected neighborhood considered Direction of neighborhood signaled on CTU basis Relation of sample values determines edge offset index ie Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 90 / 235
  • 94. SAO: Edge Offset p0 pc p1 p0 pc p1 p0 pc p1 p0 pc p1 p0 pc p1 (a) ie = 0 (b) ie = 1 (c) ie = 2 p0 pc p1 p0 pc p1 p0 pc p1 (d) ie = 4 (e) ie = 3 Offset categories Edge offset index identifies category Smoothing only, direction of offset predefined Sign of SAO offsets not signaled Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 91 / 235
  • 95. SAO: Band Offset low band transition high band transition band position io 0 8 16 24 32 40 48 56 64 72 80 88 96 104 112 120 128 136 144 152 160 168 176 184 192 200 208 216 224 232 240 248 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 255 intensity value (example: bit depth 8bit) Correction of sample intensity values for four transition bands Signaling of transition band position Offset values for transition bands freely configurable Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 92 / 235
  • 96. SAO Filter Example (a) Reconstructed region (b) Samples with band offset active Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 93 / 235
  • 97. SAO Filter Example (c) Reconstructed region (d) Samples with edge offset active Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 94 / 235
  • 98. SAO Filter Example CTBs with SAO edge (lines) and band offset (gray squares) Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 95 / 235
  • 99. Outline 7 Intra Prediction 8 Inter Prediction 9 Residual Coding 10 Loop Filtering 11 Entropy Coding Fixed Length and Variable Length Coding Context-Based Adaptive Binary Arithmetic Coding 12 Profiles in HEVC Edition 1 Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 96 / 235
  • 100. Entropy Coding Decoder CTB input picture + − TR+Q TB iTR+iQ TB + Intra PB Entropy Cod- ing bitstream Deblk. Slice Loop Filter Slice rec. picture Inter PB Buffer n pics ME PB Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 97 / 235
  • 101. Entropy Coding Fixed length and variable length codes (FLC, VLC) High-level syntax Parameter sets, slice segment header SEI messages Fixed-length codes, Exp-Golomb codes Arithmetic coding Slice level, CTUs Context-based adaptive coding Bypass coding (complexity, throughput) Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 98 / 235
  • 102. Variable Length and Arithmetic Coding slice seg. header NALU header CTU CTU CTU CTU 0 NC−1 NC NS−1 ··· ··· FLC FLC,VLC CABAC CABACba ep0 VCL NAL Unit FLC, VLC for header information CABAC for CTUs Byte alignment in case of multiple tiles, or with wavefront parallel processing (not present otherwise) CABAC = Context-based Adaptive Binary Arithmetic Coding ba = byte alignment Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 99 / 235
  • 103. Context-Based Adaptive Binary Arithmetic Coding – CABAC Binary Arithmetic Coder syntax ele- ment Binarizer Context Modeler Adaptive Engine Bypass Engine bitstream bin string binary value bin value coded bits bin value coded bits context update Binarization Context model selection Binary arithmetic coding Optimized binarization design, reduced number of non-bypass bins compared to H.264|AVC MaScWi03 [16] SzBu12 [17] Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 100 / 235
  • 104. Outline 7 Intra Prediction 8 Inter Prediction 9 Residual Coding 10 Loop Filtering 11 Entropy Coding 12 Profiles in HEVC Edition 1 Profiles Tiers and Levels Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 101 / 235
  • 105. Profiles, Tiers, and Levels in HEVC Edition 1 Main Still Picture Main Main 10 Annex A Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 102 / 235
  • 106. HEVC Edition 1 Profiles Main Profile YCbCr 4:2:0 8 bit video only CTB block sizes 16×16, 32×32, and 64×64 Either tiles or wavefront parallel processing Minimum tile size 256×64 pixels Maximum number of CABAC coded bits in N×N CTU: 5 3 braw with braw = (N2 +N/2)·Bd for YCbCr 4:2:0, bit depth Bd Main 10 Profile Additional support of bit depths of 9 and 10 bit Main Still Picture Profile Like Main, but only one picture in the bitstream No timing constraints for the decoder Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 103 / 235
  • 107. Tiers and Levels Profiles Defined tool (sub-)set of specification Tools determined from application space Tiers and levels Levels: Restrictions on parameters which determine decoding and buffering capabilities (13 levels defined) Tiers: Grouping of level limits for different application spaces (currently: Main Tier for consumer, High Tier for professional applications) Decoder capable of decoding Profile@Tier/Level must be able to decode all lower levels of same and lower tier Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 104 / 235
  • 108. Extensions of HEVC Range extensions (HEVC V.2/Ed. 2, 10/2014) V.x=ITU-Version, Ed.y=ISO/ICE Edition Extended color formats (4:2:2, 4:4:4) Extended bit depth Scalable extensions(HEVC V.2/Ed. 2, 10/2014) Simple, multiloop approach, no modifications on tool-level Supports spatial, SNR scalability Multi-view (HEVC V.2/Ed. 2, 10/2014) 3D extensions (HEVC V.3/Ed. 3, 04/2015) Stereo / multi-view coding Multi-view with depth coding Screen Content Coding (V.4/Ed. 3, 2016) Dedicated tools for this content type Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 105 / 235
  • 109. Part IV Range and Multi-Layer Extensions Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 106 / 235
  • 110. Outline 13 Range Extensions Extended Color Formats RExt Tools RExt Profiles RExt Levels 14 Annex F: Common specifications for multi-layer extensions 15 Annex G: Multiview High Efficiency Video Coding 16 Annex H: Scalable High Efficiency Video Coding 17 Annex I: 3D High Efficiency Video Coding Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 107 / 235
  • 111. Range Extensions Applications Professional Requirements Highest quality, very high bitrates Increased chroma resolution Increased precision: higher bit depth Applications Professional: contribution, distribution Medical applications . . . Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 108 / 235
  • 112. 4:2:2 Residual Quadtree Y Cb Cr YCbCr 4:2:2 Chroma shares vertical luma resolution, half horizontal resolution Residual quadtree kept for the three components Chroma includes two stacked N 2 ×N 2 transform blocks with N×N luma transform block Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 109 / 235
  • 113. 4:4:4 Residual Quadtree Y Cb Cr YCbCr or GBR or YZX 4:4:4 Chroma shares vertical and horizontal luma resolution Two option, depending on separate_colour_plane_flag 0: Residual quadtree kept for the three components 1: Each color component treated as independent monochrome plane Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 110 / 235
  • 114. RExt Tools: Transform Skip Rotation 0 1 2 3 4 5 6 7 8 9 A B C D E F =⇒ 180◦ F E D C B A 9 8 7 6 5 4 3 2 1 0 Rotation of residual in transform block Signaled in SPS Applicable to intra 4×4 transform blocks using transform skip Only if transform and quantization bypass enabled Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 111 / 235
  • 115. RExt Tools: Implicit/Explicit Residual DPCM Coding Implicit Residual DPCM Coding Usage signaled in SPS Activated only for blocks using horizontal and vertical intra prediction Transform skip or transform and quantization bypass to be enabled Explicit Residual DPCM Coding Inter blocks with transform bypass Usage and direction explicitly signaled Example: horizontal DPCM r(x,y)+ = r(x −1,y); for x = 1...bS −1, y = 0...bS −1 Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 112 / 235
  • 116. RExt Tools: Inter-Component Residual Prediction Tool for 4:4:4 content Prediction of chroma component residual block from luma residual block RC = RC +α ·RY with α ∈ {0,±1,±2,±4,±8} Additional decorrelation of residual signal Gains on RGB content reported [18] Activated in PPS Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 113 / 235
  • 117. RExt Profiles Main Intra Main 4:4:4 Intra Main 4:4:4 10 Intra Main 4:4:4 12 Intra Main 4:4:4 16 Intra High Throughput 4:4:4 16 Intra Monochrome Monochrome 16 Monochrome 12 Main 4:2:2 Intra Main 4:2:2 10 Intra Main 10 Intra Main 10 Main 12 Intra Main 4:2:2 12 Intra Main 12 Main Still Picture Main 4:4:4 Still Picture Main 4:4:4 16 Still Picture Main 4:4:4 Main 4:4:4 10 Main 4:4:4 12 4:2:2 Main 4:2:2 10 Main 4:2:2 12 Range extensions profiles: general profile idc = 4 High throughput profiles: general profile idc = 5 Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 114 / 235
  • 118. RExt Levels Level limits specified in Version 1 unsufficient for RExt profiles Introduction of scaling factors HbrFactor: High bitrate factor Controlled by low bit rate flag spec Values can be 1, 2, or 12, 24 for High Throughput profiles CpbVclFactor / CpbNalFactor Scaled by HbrFactor to apply for table A.4 spec FormatCapabilityFactor Scaling factor for number of bytes in an Access Unit MinCrScaleFactor Scaling factor for minimum compression ratio Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 115 / 235
  • 119. RExt Performance Comparison of HEVC RExt in HM 16.2 relative to AVC FRExt in JM 18.6 Lossy coding [BD-rate %] Lossless coding, rate saving [%] Figure from FlMaNaNgRoShSoXu16 [19] Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 116 / 235
  • 120. Outline 13 Range Extensions 14 Annex F: Common specifications for multi-layer extensions Common Specification Structure Parameter Sets Bitstream Subsets SEI messages 15 Annex G: Multiview High Efficiency Video Coding 16 Annex H: Scalable High Efficiency Video Coding 17 Annex I: 3D High Efficiency Video Coding Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 117 / 235
  • 121. Common Specification Structure for Multilayer Video Scalable and multiview coding share concept of layers Scalable layers: different picture resolutions, different reconstruction quality Multiview layers: different views on the same scene Specification approach in HEVC extensions Unify common parts of extensions in a joint specification annex Only separate tools in separate annexes Chosen extension structure Annex F: “Common syntax, semantics and decoding processes for multilayer video coding extensions” Annex G: “Multiview coding” Annex H: “Syntax, semantics and decoding processes for scalable extension” Annex I: “3D High Efficiency Video Coding” Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 118 / 235
  • 122. Annex F: Main Features High level syntax Introduction of layer identification and layer reference mechanims Specification of layer structure and layer dependencies Usability and scalability information Extended Concepts Introduction of auxiliary layers (not for output) Depth Alpha-plane Option for non-HEVC baselayer (H.264|AVC) Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 119 / 235
  • 123. Video Parameter Set VPS1 SPS2 PPS2 SSH lid = 1 SPS1 PPS1 SSH lid = 0 Specification of available layers in the bitstream Scalable layers Multiple views Auxiliary pictures (e. g. depth or alpha planes) Specification of layer dependencies Prediction relations Layer sets Available operation points, output layer sets Available profiles and levels Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 120 / 235
  • 124. NAL Unit Header: Layer ID “0” NAL unit type NUH layer id temporal id byte 1 byte 2 Each layer has unique layer identifier lid Scalability types defined in VPS Indication of texture or depth layer View order index for multi-view coding voidx Spatial / quality scalability → dependency identifier did Auxiliary pictures (not used for coding of primary picture) Auxiliary picture identifier aid No prediction between pictures with different value of aid Meaning of the NUH bits in identifier configurable Combination of different scalability types possible → splitting flag Additional identifier for each layer encoded in VPS Output-flags: control of presentation of layers Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 121 / 235
  • 125. VPS Extension: Layer Dependencies target layer direct reference layer indirect reference layer poc-1 lid = 2 lid = 1 lid = 0 lid = 1 lid = 0 poc lid = 2 lid = 1 lid = 0 poc+1 lid = 2 Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 122 / 235
  • 126. Layer Dependencies – Adaptation in Network Strict lid hierarchy Layer hierarchy → enable scalability Simple MANEs: achieve sub-bistream extraction by cutting at some lid, tid combination Advanced MANES: analyze dependencies and make use of advanced knowledge MANE = Media Aware Network Element Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 123 / 235
  • 127. VPS Extension: Layer Sets Layer set set of lid values which can be extracted from the bitstream for decoding (e. g. different spatial resolutions) Output layer set (OLS) Set of layers which are output if flag indicates OLS to be a target OLS output_layer_flag: indicates if layer is to be output or not Example: Depth layer not output layer, but associated texture layer is ouput layer alt_output_layer_flag: top non-output layer is output if output layer not present Example: Quality scalability, dropping of highest quality layer Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 124 / 235
  • 128. VPS: Layer Video Usability Information Information on characteristics of layer (optional) Cross layer picture type alignment Cross layer IRAP alignment Cross layer IDR alignment Information on average bitrate, maximum bitrate Indication of constant or variable picture rate Hints for use of tiles, loop filters, WPP, cross layer tile alignment Indication of restrictions on inter-layer prediction . . . spec Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 125 / 235
  • 129. Sequence Parameter Set Extensions Profile/Tier/Level information conveyed in VPS for non-baselayer SPS Reference to layer representation format in VPS, index in SPS Multilayer extension Constraint: Vertical component of inter-view MVs ≤ 56 luma samples ⇒ Reduced memory access (within CTB-row above collocated CTB in inter-view reference picture) spec Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 126 / 235
  • 130. Picture Parameter Set Extension Specification of spatial relation of layers Scaled reference layer offset Offset of luma pixels collocated to corner luma pixels of reference layer region Reference region offset Offset of reference layer region corner luma pixels to corner luma pixels of reference layer picture Resample phase information Spatial phase shift between reference layer and current layer spec Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 127 / 235
  • 131. PPS Extension: Color mapping table Support of different color spaces, different layer bitdepths Look-up table: map reference layer YCbCr values to target layer Only increasing bitdepth between layers allowed Figure from BoYeChRa15 [20] Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 128 / 235
  • 132. Random Access Pictures and POC IRAP pictures not necessarily aligned over layers Different temporal resolution Dependencies / independencies of layers POC reset POC reset indication 0: No reset 1: Only MSB reset 2: MSB and LSB reset 3: More information signaled RASL, RADL, pictures with tid > 0, discardable pictures: Identical POC reset handling for all pictures in AU required Clean handling after potential bitstream extraction process If at least IDR picture in AU: only reset types 1 or 2 If lid = 0 non-IDR: no reset types 1 or 2 Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 129 / 235
  • 133. Slice Segment Header Extension Extension at beginning of slice segment header Reserved bits before slice type syntax element (number from PPS) Version 1: number of reserved bits equal to 0 spec Version 2/3: Number is set to max 2 spec Decoders shall accept any value Activation of inter-layer prediction Number of inter-layer reference pictures Identifiers of inter-layer pred ref pictures ( lid) Slice segment header extension spec POC modification information (if applicable) Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 130 / 235
  • 134. Independent Non-Baselayer Rewriting Capability of bitstream rewriting spec Indication of independent non-baselayer decodability of layer lid at temporal sub-layer tid Profile-level syntax structure Formal processing steps Removal of all NAL units with lid =target lid and not SPS, PPS, EOB Removal of SPS, PPS NAL units if not lid =target lid or lid = 0 Removal of VPS NAL units Removal of NAL units with tid >target tid Rewriting of lid to lid = 0 for all NAL units → Decodable HEVC V1 bitstream Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 131 / 235
  • 135. Annex F SEI messages New SEI messages plt Name Summary 160 Layers not present Indicate layers of VPS missing in bitstream [persists from SEI to change SEI] 161 Inter-layer constrained tile sets Indicate decodability of tiles/tile sets[associated CLVS] 162 Bitstream partition nesting Carries SEI messages applicable to defined OLS [persistence depending on nested SEIs] 163 Bitstream partition initial arrival time Initial arrival times for CPB operation [remainder of bitstream partition] 164 Sub-bitstream property Bit rate information for a sub-bitstream [CVS containing SEI] 165 Alpha channel information Control Alpha channel picture persistence [persistence specified by SEI] 166 Overlay information Identify alpha and content of overlay pictures [persistence specified by SEI] 167 Temporal MV prediction constraints Indicate storage needs for MVs [persistence specified by SEI] 168 Frame-field information How to display pictures [associated AU] Annex D SEI messages Syntax of previous SEI messages unchanged Semantics partly adapted to meet requirements of application with multi-layer bitstreams Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 132 / 235
  • 136. Outline 13 Range Extensions 14 Annex F: Common specifications for multi-layer extensions 15 Annex G: Multiview High Efficiency Video Coding Multiview Coding Concept Multiview Profiles Multiview SEI MEssages Multiview Performance 16 Annex H: Scalable High Efficiency Video Coding 17 Annex I: 3D High Efficiency Video Coding Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 133 / 235
  • 137. Multiview Scenario P1 picture plane C0 C2 cameras Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 134 / 235
  • 138. Multiview Scenario P1 picture plane C0 C2 camerasC1 Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 134 / 235
  • 139. Multiview Coding: View Arrangement poc-2 poc-1 poc C1 C2 C0 Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 135 / 235
  • 140. Multiview Concept: View-Id and View Order Index vid = 1 vid = 2 vid = 0 voidx = 0 voidx = 1 voidx = 2 C1 C2 C0 Identification of views Relative arrangement of views for presentation: view ID vid Ordering of views for coding: view order index voidx Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 136 / 235
  • 141. MV-HEVC Layer Terminology Base View, Independend View View order index voidx = 0, lid = 0 Conforming to HEVC version 1 Independent from other views Dependent Views Predict from reference views Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 137 / 235
  • 142. Multiview Main Profile Multiview Main Profile: general profile idc = 6 Multiview Profile based on Main profile Scalability ID: only view ID or AUX pictures allowed Aux picture may carry depth information (not used in decoding process for texture view) Inter view MV vertical constraint flag active → vertical MV component restricted All view pictures identical size; no ref local offset allowed (all views aligned) Number of ref layers (direct or indirect) ≤ 4 Number of pictures in DPB ≤ 8 Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 138 / 235
  • 143. Annex G SEI Messages plt Name Summary 176 3D reference displays information Information on recommended display [persistence specified by SEI] 177 Depth representation information Information on depth and disparity ranges for auxiliary pictures 178 Multiview scene information Minimum and maximum disparity in AU [associated CVS] 179 Multiview acquisition information Information on aquisition environment [associated CVS] 180 Multiview view position SEI message View position from left to right [associated CVS] Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 139 / 235
  • 144. Multiview Performance Results of subjective evaluation from MV-HEVC verification test JCT3V-N1001 [21]: Comparison of MVC: AVC-based multi-view video coding (in which the non-base view is coded using inter-view prediction) Simulcast HEVC, in which each view is coded independently MV-HEVC: HEVC-based multi-view video coding (in which the non-base view is coded using inter-view prediction) ⇒ Gain of approx. 33 % compared to HEVC simulcast ⇒ Gain of approx. 50 % compared to H.264|AVC MVC Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 140 / 235
  • 145. Multiview Performance Figure from JCT3V-N1001 [21] Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 141 / 235
  • 146. Outline 13 Range Extensions 14 Annex F: Common specifications for multi-layer extensions 15 Annex G: Multiview High Efficiency Video Coding 16 Annex H: Scalable High Efficiency Video Coding SHVC: Coding Concept SHVC Tools Scalable Profiles SHVC Coding Performance 17 Annex I: 3D High Efficiency Video Coding Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 142 / 235
  • 147. SHVC Layer Terminology Base layer (BL) Conforming to HEVC version 1 Lowest available layer in bitstream Alternative option: external base layer (H.264|AVC) Enhancement layers (EL) Hierarchical organization Dependent or independent from lower layers Lower layers used for prediction in enhancement layer: reference layers Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 143 / 235
  • 148. SHVC Scalable Layers target layer (EL2) direct reference layer (EL1) indirect reference layer (BL) poc-1 lid = 2 lid = 1 lid = 0 lid = 1 lid = 0 poc lid = 2 lid = 1 lid = 0 poc+1 lid = 2 Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 144 / 235
  • 149. SHVC Specification Approach Simple high-level syntax approach (“simple solution”) No changes on CTU level Inter-layer prediction via reference picture list Multi-loop coding: Each layer with motion compensation, loop filter, . . . H.264|AVC- Scalable Video Coding (SVC) [22] Single loop design Motion compensation, loop filter only on target layer Key picture concept: Limit drift if not all layers decoded Claim: Performance only 10% below single layer coding Issues High description complexity Performance claim only fulfilled by very well optimized encoders Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 145 / 235
  • 150. SHVC Tools: Resampling for Inter-Layer Prediction Size and offset of reference layer picture to target layer picture define scaling for interpolation Reference layer sample location derivation (16th-sample precision) Interpolation operation 16 dedicated interpolation filters DCTIF design: integrate with motion compensation interpolation filters Phase alignment specified in VPS (a) Center alignment (b) Top left alignment Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 146 / 235
  • 151. SHVC Tools: Resampling for Inter-Layer Prediction −2 0 2 4 −16 0 16 32 48 64 Phase 0 −2 0 2 4 −16 0 16 32 48 64 Phase 1 −2 0 2 4 −16 0 16 32 48 64 Phase 2 −2 0 2 4 −16 0 16 32 48 64 Phase 3 −2 0 2 4 −16 0 16 32 48 64 Phase 4 −2 0 2 4 −16 0 16 32 48 64 Phase 5 −2 0 2 4 −16 0 16 32 48 64 Phase 6 −2 0 2 4 −16 0 16 32 48 64 Phase 7 −2 0 2 4 −16 0 16 32 48 64 Phase 8 Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 147 / 235
  • 152. SHVC Tools: Coding Standard Scalability Conventional scalable scheme Base layer HEVC version 1 Enhancement layer with different spatial resolution, different quality Coding standard scalability Base layer coded with different standard (H.264|AVC) Enhancement layer using HEVC tools Approach Only use access to reconstructed samples (standard agnostic) Possible alternative: Specify means to access information regarding partitioning, prediction modes, motion vectors (not further pursued) Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 148 / 235
  • 153. SHVC Tools: Coding Standard Scalability poc-2 lid = 1 lid = 0 poc-1 lid = 1 lid = 0 poc lid = 1 lid = 0 AVC BL AVC BL AVC BL HEVC EL HEVC EL HEVC EL Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 149 / 235
  • 154. Scalable Main Profiles Scalable Main Profile and Scalable Main 10 Profile: general profile idc = 7 Based on Main and Main 10 profiles, respectively. Chroma format 4:2:0 for all layers Maximum of 16 different representation formats in VPSs Aux pictures allowed (not used in decoding process) Layer ID lid → Dependency ID did Number of ref layers (direct or indirect) ≤ 4 Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 150 / 235
  • 155. SHVC Coding Performance Results of subjective evaluation from SHVC verification test JCTVC-W1004 [23]: Comparison of SHVC vs. HEVC simulcast Figure from JCTVC-W1004 [23] Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 151 / 235
  • 156. Outline 13 Range Extensions 14 Annex F: Common specifications for multi-layer extensions 15 Annex G: Multiview High Efficiency Video Coding 16 Annex H: Scalable High Efficiency Video Coding 17 Annex I: 3D High Efficiency Video Coding 3D Video Coding Concept 3D Coding Tools 3D SEI Messages 3D Profiles 3D-HEVC Coding Performance Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 152 / 235
  • 157. 3D Video Coding Multiple views with depth information Video → “texture view” Depth information: represent object distance from camera Coding of texture and depth Ability to render additional virtual views Exploit depth information for improved compression efficiency Auxiliary picture carrying depth Decoding process changed for lid > 0 (not compatible to HEVC Version 1) Dedicated depth coding tools Tools exploiting the relation between texture and depth Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 153 / 235
  • 158. 3D Coding Scenario with Depth 0 s z s∆ P1 P2 f u d1 d2 xd zP1 zmax zmin d1 xd = f zP1 ; d2 s∆ −xd = f zP1 intercept theorem d = d1 +d2 = f ·xd zP1 + f ·(s∆ −xd) zP1 ⇒ d = f ·s∆ zP1 Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 154 / 235
  • 159. 3D Coding Scenario with Depth s∆1 s∆2 0 s z P1 P2 zP1 zmax zmin Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 154 / 235
  • 160. Depth Coding World coordinate distance zP1 between camera system and object Range between znear and zfar Representation by depth value vd Reciprocal relation between depth and distance Representation by vd = 0...vmax, e. g. vmax = 255 for 8 bit representation depth array with same resolution as associated picture → depth value for each pixel Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 155 / 235
  • 161. Depth Representation 0 s z s∆ P1 f u d1 d2 xd zP1 zmax zmin vd = 255 vd = 0 vd Depth value vd: zP1 = 1 vd 255 · 1 znear − 1 zfar + 1 zfar Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 156 / 235
  • 162. 3D Video Coding Concept Extension of multiview approach by depth information Enabling view synthesis at the receiver side Generation of additional views as needed by the (N-view) display Adaptation of the depth impression (e. g. ’correct’ stereo on large/small screens) Figure by Fabian Jäger, RWTH internal report Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 157 / 235
  • 163. 3D Video Coding Concept Inter-component / -view dependencies → improved prediction Disparity compensated prediction Inter-view prediction of motion Inter-view prediction of residual View synthesis prediction Figure by Fabian Jäger, RWTH internal report Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 157 / 235
  • 164. Coding of Depth Information Characteristics of depth map differ from texture Homogeneous areas Depth edges at (or close to) object boundaries Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 158 / 235
  • 165. Coding of Depth Information Characteristics of depth map differ from texture Homogeneous areas Depth edges at (or close to) object boundaries Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 158 / 235
  • 166. Coding of Dependent Views Coding tools Disparity compensated prediction Inter-view motion prediction Advanced residual prediction Illumination compensation View synthesis prediction Depth-based block partitioning Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 159 / 235
  • 167. Virtual Depth Estimate Depth of reference view is available Determine ’virtual depth’ for current view PU grid for depth view 8×8 grid for texture view Maximum depth value to derive disparity estimate Use disparity estimate for prediction tools Figure from JCT3V-K1003 [24] Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 160 / 235
  • 168. Advanced Residual Prediction (ARP) Determination of collocated block by estimated depth Application of weighted residual as additional predictor for residual of current block Prediction from temporal reference or reference view Figure from JCT3V-K1003,JCT3V-C0049 [24, 25] Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 161 / 235
  • 169. Illumination Compensation Callibration of cameras my vary over views Compensated for changed by linear model Figure from JCT3V-K1003 [24] Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 162 / 235
  • 170. View Synthesis Prediction (VSP) Use estimated depth of reference view Warp texture of reference view to current view Figure from JCT3V-K1003 [24] Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 163 / 235
  • 171. Depth-Based Block Partitioning Two motion partitions Derive texture segmentation from depth information Integration based on conventional motion information Ja13 [26] Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 164 / 235
  • 172. Coding of Depth Maps Modifications to basic coding tools Depth modelling Segment-wise DC coding Depth Loop-Up Table Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 165 / 235
  • 173. Depth Modelling:Wedgelets Explicit coding of non-rectangular partitioning Figure from JCT3V-K1003 [24] Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 166 / 235
  • 174. Depth Modelling: Contour Partitions Shape of partitions estimated from corresponding luma component Figure from JCT3V-K1003 [24] Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 167 / 235
  • 175. Depth: Segment-Wise DC Coding DC-like structure often observed in depth component Coding of Constant Partition Values (CPV) Single value for conventional HEVC intra prediction modes two values for segmented blocks Prediction from neighborhood Coding using depth look-up table Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 168 / 235
  • 176. Depth Intra Coding Horizontal or vertical prediction only Prediction value from center depth pixel at boundary No residual coded Figure from JCT3V-K1003 [24] Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 169 / 235
  • 177. Annex I SEI Messages SEI messages of Annexes D, F, and G apply Additional SEI message: Alternative depth information Global View and Depth (GVD) Warp map Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 170 / 235
  • 178. 3D Main Profile 3D Main Profile: general profile idc = 8 3D Profile based on Main profile Aux picture to carry depth information Scalability ID: only view ID or depth layer allowed Inter view MV vertical constraint flag active → vertical MV component restricted All view pictures identical size; no ref local offset allowed (all views aligned) Number of ref layers (direct or indirect) ≤ 4 Number of pictures in DPB ≤ 8 Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 171 / 235
  • 179. 3D-HEVC Coding Performance Results of subjective evaluation from 3D-HEVC verification test JCT3V-M1001 [27]: Comparison of MV-HEVC: anchor codec for multiview and depth without block-level changes to decoding process 3D-HEVC: enhanced compression of multiview and depth with modifications to block-level decoding process for dependent texture views ⇒ Gain of approx. 20 % for 3D-HEVC compared to MV-HEVC Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 172 / 235
  • 180. 3D-HEVC Coding Performance Figure from JCT3V-M1001 [27] Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 173 / 235
  • 181. 3D-HEVC Coding Performance Figure from JCT3V-M1001 [27] Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 174 / 235
  • 182. Part V Recent Extensions and Developments Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 175 / 235
  • 183. Outline 18 Screen Content Coding Application Scenario Screen Content Coding Tools SCC Profiles SCC Performance 19 Free Viewpoint Television 20 Wide Color Gamut / High Dynamic Range Coding 21 Future Video Coding Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 176 / 235
  • 184. Screen Content Coding (SCC) Characteristics of screen content sequences differ from camera captured video Applications Gaming Remote desktops . . . Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 177 / 235
  • 185. Screen Content Coding Tools Additional set of tools on top of RExt profile Intra block copy Palette mode coding Adaptive cross-component transformation Adaptive motion vector resolution Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 178 / 235
  • 186. Intra Block Copy Displaced prediction within the same picture Displaced prediction of current PB/CB from available parts of picture Harmonized with inter prediction under study, JCTVC-T1000 [28] Figure from JCTVC-S1014 [29] Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 179 / 235
  • 187. Palette mode Pixel value prediction instead of ’regular’ prediction and transform Palette predictor, size configurable in SPS Horizontal or vertical traversal scan of block Differential coding of new palette entries Figure from JCTVC-S1014 [29] Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 180 / 235
  • 188. Adaptive cross-component transformation SCC content in 4:4:4 color format – redundancy among components Selectable cross-component transform for decorrelation Figure from JCTVC-S1014 [29] Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 181 / 235
  • 189. Adaptive motion vector resolution Motion in screen content sequences Integer pixel displacements not unlikely (e. g. when moving windows on a desktop) Quarter-sample motion vectors not needed in such cases Solution Analysis of the observed motion in the coded picture at encoder Indication of quarter-sample or integer-sample motion vector precision Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 182 / 235
  • 190. SCC Development Amendment for Screen Content Coding finalized, publication to follow Tool specification integrated into main body of HEVC specification text ⇒ Closer integration, usage with other extensions easier, like RExt Seven dedicated profiles specified Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 183 / 235
  • 191. SCC Profiles Screen Content Coding Profiles: general profile idc = 9 Screen-Extended Main and Screen-Extended Main 10 profiles Screen-Extended Main 4:4:4 and Screen-Extended Main 4:4:4 10 profiles Screen-Extended High Throughput 4:4:4, Screen-Extended High Throughput 4:4:4 10, and Screen-Extended High Throughput 14 profiles Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 184 / 235
  • 192. SCC Performance Comparison of HM-16.4 vs. HM-16.4+SCM-4.0 for SCC CTC sequences, lossy coding Figure from JCTVC-U0051 [30] Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 185 / 235
  • 193. SCC Performance Comparison of HM-16.4 vs. HM-16.4+SCM-4.0 for SCC CTC sequences, lossy coding Figure from JCTVC-U0051 [30] Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 185 / 235
  • 194. SCC Performance Comparison of HM-16.4 vs. HM-16.4+SCM-4.0 for SCC CTC sequences, lossy coding Figure from JCTVC-U0051 [30] Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 185 / 235
  • 195. Outline 18 Screen Content Coding 19 Free Viewpoint Television 20 Wide Color Gamut / High Dynamic Range Coding 21 Future Video Coding Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 186 / 235
  • 196. Free Viewpoint Television Extension to 3D video coding Restriction to co-planar camera arrangement relaxed New application scenarios Super-Multiview Figure from N16128 [31] Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 187 / 235
  • 197. Free Viewpoint Television Extension to 3D video coding Restriction to co-planar camera arrangement relaxed New application scenarios Free Navigation Figure from N16128 [31] Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 187 / 235
  • 198. Status of FTV Development MPEG Ad-Hoc Group on FTV June 2015: Call for Evidence on Free-Viewpoint Television: Super-Multiview and Free Navigation, N15348 [32] February 2016: Results of the Call for Evidence on Free-Viewpoint Television: Super-Multiview and Free Navigation, N16128 [31] Outcome 1 proposal for Super-Multiview, 3 proposals for Free Navigation Evaluation of results not yet conclusive Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 188 / 235
  • 199. Outline 18 Screen Content Coding 19 Free Viewpoint Television 20 Wide Color Gamut / High Dynamic Range Coding 21 Future Video Coding Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 189 / 235
  • 200. Wide Color Gamut / High Dynamic Range Coding Colour space Standard Dynamic Range (SDR) video Contrast approx. 1000 : 0 ITU-R BT.709 colour space, [33] High Dynamic Range (HDR) video Contrast approx. 1000000 : 0 ITU-R BT.2020 colour space, [34] Figure from N15084 [35] Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 190 / 235
  • 201. Wide Color Gamut / High Dynamic Range Coding Dynamic Range Figure from N15084 [35] Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 191 / 235
  • 202. Standardization Activities on HDR/WCG ISO/IEC JTC 1/SC 29/WG 11 (MPEG) 02/2015: Requirements and Use Cases for HDR and WCG Content Coding N15083 [36] 02/2015: Call for Evidence for HDR and WCG Video Coding N15084 [35] 06/2015: Test Results of Call for Evidence (CfE) for HDR and WCG Video Coding N15350 [37] 10/2015: Assignment of HDR/WCG as work item to JCT-VC JCT-VC 02/2016: Decision: no new profile, no new coding tools 02/2016: Technical report: Conversion and coding practices for HDR/WCG video (ISO/IEC TR 23008-14), N16063 [38] 06/2016: Conversion and Coding Practices for HDR/WCG Y’CbCr 4:2:0 Video with PQ Transfer Characteristics, JCTVC-X1017 [39] Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 192 / 235
  • 203. HDR/WCG Conversion Practices: Scope Figure from JCTVC-X1017 [39] Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 193 / 235
  • 204. Outline 18 Screen Content Coding 19 Free Viewpoint Television 20 Wide Color Gamut / High Dynamic Range Coding 21 Future Video Coding Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 194 / 235
  • 205. Future Video Coding Development Standardization Requirements, e.g. MPEG N16359 [40] 50 % bitrate saving (30 % might suffice on important usecases) Tentative target timeline: new standard by 2020 Variety of content (captured, computer generated, mixed, 3D, various projections (→ 360VR), multispectral, . . . ) Licensing model(s)? Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 195 / 235
  • 206. Joint Video Exploration Team (JVET) Exploration activities Future Video Coding AhG in MPEG Exploration and requirements discussions, workshops Coding Efficiency Improvements AhG in VCEG Key Technical Areas software, VCEG-AZ01 [41] Foundation of JVET of MPEG and VCEG, similar to JCT-VC, Oct. 2015 Publicly available document site http://phenix.int-evry.fr/jvet/ Publicly available software repository https: //jvet.hhi.fraunhofer.de/svn/svn_HMJEMSoftware/ Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 196 / 235
  • 207. JVET Status Joint Exploration Model (JEM) JVET-A1001,JVET-B1001,JVET-C1001 [42, 43, 44] Definition of Common Testing Conditions, JVET-B1010 [45] Definition of Ad-Hoc Groups, JVET-B1000 [46] Definition of Exploration Experiments, JVET-B1011 [47] Collection of new test material JVET-A1002,JVET-B1002,JVET-C1002 [48, 49, 50] Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 197 / 235
  • 208. JEM: New Coding Tools – Block Partitioning QTBT - Quadtree plus binary tree partitioning Replacement of HEVC CU/PU/TU structure → Adaptive block size transforms, Wi03 [51] Maximum CTU size 256×256 Figure from JVET-C1001 [44] Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 198 / 235
  • 209. JEM: New Coding Tools – Intra Coding 67 intra prediction modes, 65 directional modes Intra prediction mode coding: 6 MPM candidates 4-tap interpolation filters for directional predictors Enhanced boundary prediction, . . . Figure from JVET-C1001 [44] Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 199 / 235
  • 210. JEM: New Coding Tools – Inter Coding Sub-PU level motion vector prediction → Advanced temporal motion vector prediction (ATMVP) Adaptive motion vector resolution (AMVR) Overlapped block motion compensation (OBMC) at left and top block boundary possible Affine motion predition (MVs for 4×4 sub-blocks) Local illumination compensation (LIC), Pattern-matched motion vector derivation, bi-directional optical flow (BIO, pixel dense) Figure from JVET-C1001 [44] Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 200 / 235
  • 211. JEM: New Coding Tools – Transform Coding More core transforms: additional DST-VII, DCT-VIII, DST-I and DCT-V Mode dependent non-separable secondary transforms Signal dependent transform (SDT) Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 201 / 235
  • 212. JEM: New Coding Tools – Loop Filters Re-introduction of Adaptive Loop Filters (ALF) Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 202 / 235
  • 213. JEM: New Coding Tools – Entropy Coding Modified context modeling for transform coefficients Multi-hypothesis probability estimation with context-dependent updating speed Adaptive initialization for context models Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 203 / 235
  • 214. JEM: Performance Figure from JVET-C0001 [52] Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 204 / 235
  • 215. Part VI Summary and Outlook Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 205 / 235
  • 216. Outline 22 Summary and Outlook Summary Video Coding Development: Outlook 23 Books and Tools 24 Resources 25 Acronyms 26 References Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 206 / 235
  • 217. Summary Coding tools in HEVC version 1 Range extensions Multilayer extensions - Multiview - Scalability - 3D Screen Content coding Free Viewpoint Television High Dynamic Range and Wide Color Gamut Future Video Coding - Status of JVET Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 207 / 235
  • 218. Video Coding Development: Outlook Towards Immersive Media 360 Virtual Reality JVET AhG8: 360 video test conditions, JVET-C1000d [53] MPEG FTV AhG Lightfields MPEG AhG on lightfield compression Joint AhG (JPEG and MPEG) for digital representations of light/sound fields for immersive media applications, WG1N72033 [54] Left: 1st frame of BearAttacks sequence, Nokia. Right: https://s3.amazonaws.com/lytro-corp-assets/blog/camera_array.png Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 208 / 235
  • 219. Outline 22 Summary and Outlook 23 Books and Tools 24 Resources 25 Acronyms 26 References Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 209 / 235
  • 220. Further Reading Books published Wien, Mathias. High Efficiency Video Coding – Coding Tools and Specification, Springer Berlin Heidelberg, 2015. Sze, Vivienne, Budagavi, Madhukar, Sullivan, Gary J. (Eds.). High Efficiency Video Coding (HEVC) – Algorithms and Architectures, Springer International Publishing, 2014. Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 210 / 235
  • 221. YUView Player YUV player supporting display of statistics information https://github.com/IENT/YUView Play back of raw YUV files, playlists Comparison / side-by-side views of two files Visualization of statistics in xml-format HEVC bitstream decoding and mode visualization Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 211 / 235
  • 222. Outline 22 Summary and Outlook 23 Books and Tools 24 Resources 25 Acronyms 26 References Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 212 / 235
  • 223. HEVC Resources (1/2) JCT-VC Mailing List http://mailman.rwth-aachen.de/mailman/listinfo/jct-vc JCT-VC Document Repository http://phenix.it-sudparis.eu/jct/index.php http://ftp3.itu.int/av-arch/jctvc-site/ JCT-VC HM Software Repository SVN: https://hevc.hhi.fraunhofer.de/svn/svn_HEVCSoftware Trac: https://hevc.hhi.fraunhofer.de/trac/hevc Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 213 / 235
  • 224. HEVC Resources (2/2) JCT-3V Mailing List http://mailman.rwth-aachen.de/mailman/listinfo/jct-3v JCT-3V Document Repository http://phenix.int-evry.fr/jct-3v/ http://wftp3.itu.int/av-arch/jct3v-site/ JCT-3V HM Software Repository SVN: https://hevc.hhi.fraunhofer.de/svn/svn_3DVCSoftware/ Trac: https://hevc.hhi.fraunhofer.de/trac/3d-hevc Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 214 / 235
  • 225. JVET Resources JVET Mailing List http://mailman.rwth-aachen.de/mailman/listinfo/jvet JVET Document Repository http://phenix.int-evry.fr/jvet/ http://wftp3.itu.int/av-arch/jvet-site/ JVET JEM Software Repository SVN: https://jvet.hhi.fraunhofer.de/svn/svn_HMJEMSoftware/ Trac: https://hevc.hhi.fraunhofer.de/trac/jem/ Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 215 / 235
  • 226. Outline 22 Summary and Outlook 23 Books and Tools 24 Resources 25 Acronyms 26 References Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 216 / 235
  • 227. Acronyms 3D-HEVC – 3D high efficiency video coding AAC – Advanced audio coding AAP – Alternative Approval Process AHG – Ad-hoc group AI – All intra (JCT-VC CTC) AIF∗ – Adaptive interpolation filter ALF∗ – Adaptive loop filter AMD – Amendment (for ISO standard) AMP – Asymmetric motion partitioning AMVP – Advanced motion vector prediction ANG∗ – Angular intra prediction ASO – Arbitrary slice ordering (H.264|AVC) AP – Aggregation packet AU – Access unit AUD – Access unit delimiter AVC – Advanced video coding BDSNR – Bjøntegaard Delta PSNR BD-rate – Bjøntegaard Delta rate BL – Base layer BLA – Broken link access BO – SAO band offset Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 217 / 235
  • 228. Acronyms II BoG – Break-out group BP – Bandpass [filter] BPB – Bitstream partition buffer CABAC – Context adaptive binary arithmetic coding CAVLC – Context adaptive variable length coding CB – Coding block CBF∗ – Coded block flag CBP – Coded block pattern (H.264|AVC) CBR – Constant bitrate CD – Committee draft CD – Compact disk CE – Core experiment CfE – Call for evidence CfP – Call for proposals CIE – Commission internationale de l’éclairage CIF – Common interchange format 352×288 CPB – Coded picture buffer CRA – Clean random access CRFB∗ – Compressed reference frame buffer CRT – Cathode ray tube CS – Constraint set (in CfP) Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 218 / 235
  • 229. Acronyms III CSS – Coded slice segment CT – Collaborative team CTB – Coding tree block CTC – Common testing conditions CTU – Coding tree unit CTX – CABAC context CU – Coding unit CVS – Coded Video Sequence CVSG – Coded Video Sequence Group DAM – Draft amendment DC – Direct current DCT – Discrete cosine transform DST – Discrete sine transform DON – Decoding order number DPB – Decoded picture buffer DU – Decoding unit DCT – Discrete cosine transform DCTIF – DCT interpolation filter DIF∗ – DCT interpolation filter, syn. DCTIF DIF∗ – Directional interpolation filter DIS – Draft international standard Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 219 / 235
  • 230. Acronyms IV DLP∗ – Decodable leading picture, syn. RADL DMVD – Decoder side motion vector derivation DPB – Decoded picture buffer DPCM – Differential Pulse Code Modulation DST – Discrete sine transform DU – Decoding unit DUT∗ – Directional unified transform DVD – Digital Versatile Disk EG – Exp-Golomb code EL – Enhancement layer EO – SAO edge offset EOB – End of bitstream EOS – End of sequence EOTF – Electro-optical transfer function FCD – Final committee draft FD – Filler data FDAM – Final draft amendment FDIS – Final draft international standard FLC – Fixed length code FMO – Flexible macroblock ordering (H.264|AVC) fps – Frames per second Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 220 / 235
  • 231. Acronyms V FRExt – Fidelity range extensions FU – Fragmentation unit GBR – Green red blue, color format (see also RGB) GOP – Group of pictures GRD – Gradual Decoder Refresh (H.264|AVC) HBPS – Hypothetical bitstream partition scheduler HRD – Hypothetical reference decoder HD – High definition HDR – High dynamic range HDTV – High definition television HEVC – High efficiency video coding HM – HEVC test model HP – Highpass [filter] HRD – Hypothetical reference decoder HSS – Hypothetical stream scheduler HTM – 3D-HEVC test model HVC∗ – High performance video coding (name of HEVC pre-project in MPEG) HVS – Human visual system IBDI∗ – Internal bit-depth increase IDCT – Inverse discrete cosine transform IDR – Instantaneous decoder refresh Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 221 / 235
  • 232. Acronyms VI IEC – International Electrotechnical Commission IEEE – Institute of electrical and electronics engineers IRAP – Intra random access point, see also RAP IS – International standard ISDN – Integrated services digital network ISO – International Standardization Organization ITU – International telecommunication union JCT – Joint collaborative team (of ISO and ITU) JCT-VC – Joint collaborative team on video coding JCT-3V – Joint collaborative team on 3D video coding extension development JEM – Joint exploration model (JVET test model) JM – Joint model (AVC test model) JPEG – Joint photographic experts group JTC – Joint technical committee JVT – Joint video team JVET – Joint video exploration team KLT – Karhunen-Loève transform KTA – Key Technical Areas (H.264 based exploration software of VCEG) LCTB∗ – Largest coded tree block, syn. CTB LCTB∗ – Largest coded tree unit, syn. CTU LCU∗ – Larges coding unit, syn. CTU Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 222 / 235
  • 233. Acronyms VII LD – Low delay (JCT-VC CTC) LP – Lowpass [filter] LPS – Least probably symbol LSB – Least Significant Bit MAC – Multiplexed analog components MBAFF – Macroblock adaptive frame/field coding (H.264|AVC) MC – Motion compensation MDDT∗ – Mode dependent directional transform ME – Motion estimation Merge – Merge Mode (MV prediction) MMCO – Memory management control operation (H.264|AVC) MP3 – MPEG-2 audio layer III MPEG – Moving picture experts group MPM – Most probable mode MPS – Most probably symbol MRST – Multiple RTP streams over a single media transport MRMT – Multiple RTP streams over multiple media transports MSB – Most Significant Bit MSE – Mean squared error Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 223 / 235
  • 234. Acronyms VIII MV – Motion vector MVC – Multiview video coding (H.264|AVC) MVD – Motion vector difference MV-HEVC – Multiview high efficiency video coding NAL – Network abstraction layer MANE – Media aware network element MB – Macroblock (H.264|AVC) NALU – NAL unit NB – National body (in ISO) NGVC∗ – Next generation video coding (name of HEVC pre-project in VCEG) NTSC – National television systems committee NUH – NAL unit header NUT – NAL unit type PACI – Payload Content Information (packet) OLS – Output layer set PAFF – Picture adaptive frame/field coding (H.264|AVC) PAL – Phase alternating line PB – Prediction block PCM – Pulse code modulation PDAM – Proposed draft amendment POC – Picture order count Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 224 / 235
  • 235. Acronyms IX PPS – Picture parameter set PSNR – Peak signal to noise ratio PU – Prediction unit QCIF – Quarter common intermediate format 176×144 QHD – Quarter High Definition 960×540 QP – Quantization parameter RA – Random access (JCT-VC CTC) RADL – Random access decodable leading picture RAP – Random access point RASL – Random access skipped leading picture RBSP – Raw byte sequence payload RD – Rate-distortion RDO – Rate-distortion optimization RDOQ – Rate-distortion optimized quantization RExt – HEVC Range extensions RGB – Red green blue, color format RPL – Reference picture list RPS – Reference picture set RQT – Residual quad-tree RTP – Real-time transport protocol SAD – Sum of absolute differences Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 225 / 235
  • 236. Acronyms X SAO – Sample adaptive offset SAR – Sample aspect ratio SATD – Sum of absolute transformed differences SC – Sub-committee SCC – Screen Content Coding SD – Standard definition (TV) SDH – Sign data hiding SDP – Session description protocol SECAM – Séquentiel couleur à mémoire SEI – Supplemental enhancement information SG – Study group SODB – String of data bits SHVC – Scalable high efficiency video coding SODB – String of data bits SOP – Structure of pictures SPS – Sequence parameter set SRST – Single RTP stream over a single media transport SSD – Sum of squared differences SSE – Sum of squared error STSA – Stepwise temporal sub-layer access SVC – Scalable video coding (H.264|AVC) Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 226 / 235
  • 237. Acronyms XI TB – Transform block TE – Tool experiment TFD∗ – Tagged for discard [picture], syn. RASL TSA – Temporal sub-layer access TMuC – Test model under consideration TMVP – Temporal motion vector predictor TR – Truncated Rice [binarization] TSA – Temporal sub-layer access TSB – Transform sub-block TSCI – Temporal scalability control information TU – Transform unit TV – Television UHD – Ultra High Definition VBR – Variable bitrate VCEG – Visual coding experts group VCL – Video coding layer VGA – Video Graphics Array 640×480 VLC – Variable length code VPS – Video parameter set VUI – Video usability information WCG – Wide colour gamut WD – Working draft WG – Working group WPP – Wavefront parallel processing Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 227 / 235
  • 238. Acronyms XII XGA – Extended Graphics Array 1024×768 XYZ – XYZ color space, also color format YCbCr – Color format with luma and two chroma components YUV – XYZ color format (Acronyms marked with ∗ are deprecated) Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 228 / 235
  • 239. Outline 22 Summary and Outlook 23 Books and Tools 24 Resources 25 Acronyms 26 References Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 229 / 235
  • 240. References I [1] Charles Poynton. Digital Video and HD: Algorithms and Interfaces. Waltham, MA, USA: Morgan Kaufman Publishers, 2012. [2] High efficiency video coding. ITU-T, Apr. 2013. URL: http://www.itu.int/rec/T-REC-H.265/en. [3] Gary J. Sullivan et al. “Overview of the High Efficiency Video Coding (HEVC) Standard”. In: IEEE Transactions on Circuits and Systems for Video Technology 22.12 (Dec. 2012), pp. 1649–1668. DOI: 10.1109/TCSVT.2012.2221191. [4] Rickard Sjöberg et al. “Overview of HEVC high-level syntax and reference picture management”. In: IEEE Transactions on Circuits and Systems for Video Technology 22.12 (Dec. 2012), pp. 1858–1870. DOI: 10.1109/TCSVT.2012.2223052. [5] Advanced video coding for generic audiovisual services. ITU-T, Jan. 2012. URL: http://www.itu.int/rec/T-REC-H.264/en. [6] Stephan Wenger. “H.264/AVC over IP”. In: IEEE Transactions on Circuits and Systems for Video Technology 13.7 (July 2003), pp. 645–656. DOI: 10.1109/TCSVT.2003.814966. [7] Thomas Wiegand et al. “Overview of the H.264/AVC Video Coding Standard”. In: IEEE Transactions on Circuits and Systems for Video Technology 13.7 (July 2003), pp. 560–576. [8] Frank Bossen. Common test conditions and software reference configurations. Doc. JCTVC-K1100. Shanghai, CN, 11th meeting: Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11, Oct. 2012. [9] Thomas Schierl et al. “System Layer Integration of HEVC”. In: IEEE Transactions on Circuits and Systems for Video Technology 22.12 (Dec. 2012), pp. 1871–1884. DOI: 10.1109/TCSVT.2012.2223054. [10] Jordi Ribas-Corbera, Philip A. Chou, and Shankar Regunathan. “A Generalized Hypothetical Reference Decoder for H.264/AVC”. In: IEEE Transactions on Circuits and Systems for Video Technology 13.7 (July 2003), pp. 674–687. DOI: 10.1109/TCSVT.2003.814965. [11] Jani Lainema et al. “Intra Coding of the HEVC Standard”. In: IEEE Transactions on Circuits and Systems for Video Technology 22.12 (Dec. 2012), pp. 1792–1801. DOI: 10.1109/TCSVT.2012.2221525. [12] Philipp Helle et al. “Block Merging for Quadtree-based Partitioning in HEVC”. In: IEEE Transactions on Circuits and Systems for Video Technology 22.12 (Dec. 2012), pp. 1720–1731. DOI: 10.1109/TCSVT.2012.2223051. Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 230 / 235
  • 241. References II [13] Madhukar Budagavi et al. “Core Transform Design in the High Efficiency Video Coding (HEVC) Standard”. In: IEEE Journal of Selected Topics in Signal Processing tbd (2013), tbd. DOI: 10.1109/JSTSP.2013.2270429. [14] Andrey Norkin et al. “HEVC Deblocking Filter”. In: IEEE Transactions on Circuits and Systems for Video Technology 22.12 (Dec. 2012), pp. 1746–1754. DOI: 10.1109/TCSVT.2012.2223053. [15] Chih-Ming Fu et al. “Sample Adaptive Offset in the HEVC Standard”. In: IEEE Transactions on Circuits and Systems for Video Technology 22.12 (Dec. 2012), pp. 1755–1764. DOI: 10.1109/TCSVT.2012.2221529. [16] Detlev Marpe, Heiko Schwarz, and Thomas Wiegand. “Context-Based Adaptive Binary Arithmetic Coding in the H.264/AVC Video Compression Standard”. In: IEEE Transactions on Circuits and Systems for Video Technology 13.7 (July 2003), pp. 620–637. DOI: 10.1109/TCSVT.2003.815173. [17] Vivienne Sze and Madhukar Budagavi. “High Throughput CABAC Entropy Coding in HEVC”. In: IEEE Transactions on Circuits and Systems for Video Technology 22.12 (Dec. 2012), pp. 1778–1791. DOI: 10.1109/TCSVT.2012.2221526. [18] Wei Pu et al. RCE1: Descriptions and Results for Experiments 1, 2, 3, and 4. Doc. JCTVC-O0202. Geneva, CH, 15th meeting: Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11, Oct. 2013. [19] David Flynn et al. “Overview of the Range Extensions for the HEVC Standard: Tools, Profiles, and Performance”. In: IEEE Transactions on Circuits and Systems for Video Technology 26.1 (Jan. 2016), pp. 4–19. DOI: 10.1109/TCSVT.2015.2478707. [20] Jill Boyce et al. “Overview of SHVC: Scalable Extensions of the High Efficiency Video Coding (HEVC) Standard”. In: IEEE Transactions on Circuits and Systems for Video Technology PP.99 (2015). DOI: 10.1109/TCSVT.2015.2461951. [21] Vittrorio Baroncini, Karsten Mueller, and Shinya Shimizu. MV-HEVC Verification Test Report. Tech. rep. JCT3V-N1001. San Diego, CA, USA, 14th meeting, Feb. 2016. URL: http://phenix.int-evry.fr/jct- 3v/doc_end_user/documents/14_San%20Diego/wg11/JCT3V-N1001-v2.zip. [22] Heiko Schwarz, Detlev Marpe, and Thomas Wiegand. “Overview of the Scalable Video Coding Extension of the H.264/AVC Standard”. In: IEEE Transactions on Circuits and Systems for Video Technology 17.9 (Sept. 2007), pp. 1103–1120. DOI: 10.1109/TCSVT.2007.905532. Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 231 / 235
  • 242. References III [23] Yan Ye, Vittrorio Baroncini, and Ye-Kui Wang. SHVC verification test report. Doc. JCTVC-W1004. San Diego, CA, USA, 23rd meeting: Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11, Feb. 2016. URL: http: //phenix.it-sudparis.eu/jct/doc_end_user/documents/23_San%20Diego/wg11/JCTVC-W1004-v1.zip (visited on 07/03/2017). [24] Ying Chen et al. Test Model 11 of 3D-HEVC and MV-HEC. Tech. rep. JCT3V-K1003. Geneva, CH, 11th meeting, Feb. 2015. [25] Li Zhang et al. 3D-CE4: Advanced residual prediction for multiview coding. Tech. rep. JCT3V-C0049. Geneva, CH, 3rd meeting, Jan. 2013. URL: http://phenix.int-evry.fr/jct-3v/doc_end_user/documents/3_Geneva/wg11/JCT3V-C0049-v2.zip. [26] Fabian Jäger. “Depth-based Block Partitioning for 3D Video Coding”. In: Proc. of International Picture Coding Symposium PCS ’13. San Jose, USA: IEEE, Piscataway, Dec. 2013. [27] Vittrorio Baroncini, Karsten Mueller, and Shinya Shimizu. 3D-HEVC Verification Test Report. Tech. rep. JCT3V-M1001. Geneva, CH, 13th meeting, Oct. 2015. URL: http://phenix.int-evry.fr/jct- 3v/doc_end_user/documents/13_Geneva/wg11/JCT3V-M1001-v2.zip (visited on 07/03/2016). [28] Gary J. Sullivan and Jens-Rainer Ohm. Meeting report of the 20th meeting of the Joint Collaborative Team on Video Coding (JCT-VC), Geneva, CH, 10–1x Feb. 2015. Doc. JCTVC-T1000. 20th meeting, Geneva, CH: Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11, Feb. 2015. [29] Rajan Joshi et al. Screen content coding test model 3 (SCM 3). Doc. JCTVC-S1014. 19th meeting, Strasbourg, F: Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11, Oct. 2014. [30] Bin Li, Jizheng Xu, and Gary Sullivan. Comparison of Compression Performance of HEVC Test Model 16.4 and HEVC Screen Content Coding Extensions Test Model 4 with AVC High 4:4:4 Predictive profile. Doc. JCTVC-U0051. 21st meeting, Warsaw, PL: Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11, June 2015. [31] Vittorio Baroncini, Masayuki Tanimoto, and Olgierd Stankiewicz. Results of the Call for Evidence on Free-Viewpoint Television: Super-Multiview and Free Navigation. Tech. rep. N16128. San Diego, CA, USA, 114th meeting: ISO/IEC JTC1/SC29/WG11, Feb. 2016. URL: http://phenix.it- sudparis.eu/mpeg/doc_end_user/documents/114_San%20Diego/wg11/w16128-v2-w16128.zip. Mathias Wien (RWTH) HEVC V3 and Beyond ICME2016 232 / 235