Hevc 4 Videosense
Hevc 4 Videosense
Hevc 4 Videosense
A quick overview of HEVC -current statusProf. Dr. Touradj Ebrahimi December 16th, 2011 VideoSense skype meeting http://www.videosense.eu
Multimedia Signal Processing Group Swiss Federal Institute of Technology, Lausanne
B frames, improved de-blocking filter, smaller blocks for transform, enhanced entropy coding
Network friendliness
Enabled through the Network Adaptation Layer (NAL) design
Error resilience
Data partitioning, flexible macroblock ordering (FMO), slices, redundant
Temporal scalability
Enabled by flexible reference picture management via hierarchical
predictions
Multimedia Signal Processing Group Swiss Federal Institute of Technology, Lausanne
Control Data
Deblocking Filter
Intra/Inter MB select
Macroblocks: 1616 luma + 2 88 chroma samples Input: Association of luma and chroma and
conventional sub-sampling of chroma (4:2:0) Block based motion displacement Motion vectors over picture boundaries Variable block-size motion Block transforms Scalar quantization I, P, and B coding types
Macroblocks
16
16
16
16
1
8
Sub-macroblocks
1
4
Transform Coding
The H.264/MPEG-4 AVC standard uses 3 transforms depending on the type of prediction residue to be coded: 1. 44 Hadamard Transform for the luminance DC coefficients in MBs coded with the Intra 1616 mode 2. 22 Hadamard Transform for the chrominance DC coefficients in any MB 3. 44 integer transform based on the DCT for all the other blocks
-1
... 0 2 8 10 1 3 9 11 4 6 12 14 5 7 13 15 18 19 20 21 22 23 AC 24 25 Cb 16 Cr 17 2x2 DC
Mode 2 - DC + + + + + + +
Mode 5 Vertical-Right
Mode 6 Horizontal-Down
Mode 7 Vertical-Left
Mode 8 Horizontal-Up
H.264/AVC Profiles
10
11
2.
while achieving an RD performance at any supported spatial, temporal, or SNR resolution that is comparable to single-layer coding at that particular resolution, and without significantly increasing the decoding complexity.
12
13
Scalable Storage
Scalable export of video content Graceful expiration or deletion Surveillance DVRs and Home PVRs
Enhancement Services
Upgrade delivery from 1080i/720p to 1080p DTV broadcasting, optical storage devices
14
Stream Switching
Viable for some application scenarios Lacks flexibility within the network Requires more storage/complexity at server
Transcoding
Low cost, designed for specific application needs Already deployed in many application domains
Spatio-Temporal-Quality Cube
Spatial Resolution global bitstream 4CIF
15
CIF Bit Rate (Quality, SNR) low QCIF high 60 30 15 7.5 Temporal Resolution
2007 !
16
Spatial decimation
texture Hierarchical MCP & Intra prediction motion Base layer coding Multiplex
Spatial decimation
Progressive SNR refinement texture coding H. /AVC compatible base layer bit-stream
17
(a) coding with hierarchical B pictures, (b) non-dyadic hierarchical prediction structure, (c) hierarchical prediction structure with a structural encoder/ decoder delay of zero. The numbers below the pictures specify the coding order, and the symbols Tk specify the temporal layers with k representing the corresponding temporal layer identifier.
Trading Enhancement Layer Coding Efficiency and Drift for Packet-based Quality Scalable Coding
18
(a) base layer only control, (b) enhancement layer only control, (c) two-loop control, (d) key picture concept of SVC for hierarchical prediction structures, where key pictures are marked by the hatched boxes.
Multimedia Signal Processing Group Swiss Federal Institute of Technology, Lausanne
19
20
10~15% gains over simulcasting Performs within 10% of single layer coding
[Segall& Sullivan, T-CSVT, Sept07]
Multimedia Signal Processing Group Swiss Federal Institute of Technology, Lausanne
SVC Profiles
21
22
23
24
Many prediction structures possible to exploit inter-camera redundancy: trade-off in memory, delay, computation and coding efficiency.
Time
(JVT) MVC
View
MVC: Technical Solution Current H.264/AVC multiview extension does not require any
changes to lower-level syntax
Very compatible with single-layer AVC hardware
25
Inter-view prediction
Enabled through flexible design of decoded reference picture
management Allow decoded pictures from other views to be inserted and removed from reference picture buffer
26
27
28
Inter prediction
Adaptive interpolation filter (AIF)
2-D non-separable AIF (AD08, AE16) Separable AIF (COM16-C219, AG10) Directional AIF (DAIF) (AG21, AG22, AH17, AH18) Enhanced DAIF (E-DAIF) (AI12,
COM16-C125, COM16-C126) Enhanced AIF (EAIF) (C464, AI38, AJ30) Switch interpolation filters with offsets (SIFO) (C463, AI35, AJ29, COM16-C126) High precision filter (HPF) (AI33) Single-pass encoding (AJ29, AK26)
1/8-pel motion compensated prediction (MCP) (AD09) Extended MCP block size (COM16-C123) Competition-based MV prediction (AC06)
29
AG11, AH20, AJ24, AI36) Very large block transform (COM16-C123) Adaptive prediction error coding (APEC) (AB06, AD07, AE15) Adaptive quantization matrix selection (AQMS) (AC07, AD06, AF08, AI19) Rate-distortion optimized quantization (RDO-Q) (AH21)
30
Entropy coding
Parallel CABAC (COM16-C405, AI32)
In-loop filter
Block-based adaptive loop filter (BALF) (AI18, AJ13) Quadtree-based adaptive loop filter (QALF) (COM16-
C181, AK22)
Post filter (AI34, COM16C128) Internal bit depth increasing (IBDI) (AE13, AF07)
31
Eighth meeting: San Jose, United States 1-10 Feb. 2012 [ISO/IEC CD] Ninth meeting: Geneva, Switzerland 30 Apr. 9 May 2012 Tenth meeting: Stockholm, Sweden 11-20 July 2012 [ISO/IEC DIS] Eleventh meeting: Shanghai, China 10-19 Oct. 2012 Twelfth meeting: Geneva, Switzerland 17-23 Jan. 2013 [ISO/IEC FDIS & ITU-T Consent]
32
Class A results were not tested subjectively Classes B to E were tested subjectively Proponents performance were anonymized Proposal survey output documents:
Decoder speed JCTVC-A201 Architectural outline JCTVC-A202 Table of design elements JCTVC-A203
33
Key milestones
Test Model under Consideration" (TMuC)
July 2010 (Geneva): JCTVC-B204
34
35
36
37
38
High-level Structure:
High-level support for frame rate temporal nesting
and random access Rectangular tile-structured scanning Wavefront-structured processing dependencies for parallelism Slices with spatial granularity possibly smaller than largest coding unit: 16x16 or larger
39
40
boundaries for
not allowed for Intra
41
Intra-picture Prediction:
Angular intra prediction 17 directions for 4x4 3 directions for 64x64 34 directions for others Planar intra prediction Chroma intra prediction separate from or
42
Inter-picture Prediction:
Luma motion compensation interpolation 1/4 sample precision, 8x8 separable with 6 bit tap values Chroma motion compensation interpolation 1/8 sample precision, 4x4 separable with 6 bit tap values Advanced motion vector prediction with
43
Entropy coding:
In High Efficiency configuration: Context-
adaptive binary arithmetic entropy coding In Low Complexity configuration: Contextadaptive variable-length entropy coding
sample picture storage and output In Low Complexity configuration: 8 bit-persample storage and output
Multimedia Signal Processing Group Swiss Federal Institute of Technology, Lausanne
44
In-Loop Filtering:
Deblocking filter Sample-adaptive offset filter In High Efficiency configuration: Adaptive loop
45
46
Slice structure
Unit of packetization for transmission purpose Independently decodable No prediction across slice borders Entropy coding restarted between slices
Tile structure
Similar to JPEG and JPEG 2000
47
Basic unit of region splitting used for inter/intra coding Always square From 8x8 luma samples up to the size of LCU Allows recursive splitting into four equally sized blocks, starting from the LCU Skipped LCU
No refresh
Non-skipped LCU
Intra or inter prediction
48
2Nx2N
Nx2N
2NxN
NxN
49
Intra Prediction
50
51
52
AMVP
53
54
55
Transform
nS = 4 {64, 64, 64, 64} {83, 36,-36,-83} {64,-64,-64, 64} {36,-83, 83,-36} nS = 8 {64, 64, 64, 64, 64, 64, 64, 64} {89, 75, 50, 18,-18,-50,-75,-89} {83, 36,-36,-83,-83,-36, 36, 83} {75,-18,-89,-50, 50, 89, 18,-75} {64,-64,-64, 64, 64,-64,-64, 64} {50,-89, 18, 75,-75,-18, 89,-50} {36,-83, 83,-36,-36, 83,-83, 36} {18,-50, 75,-89, 89,-75, 50,-18} nS = 32 {64 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64} {90 90 88 85 82 78 73 67 61 54 46 38 31 22 13 4 -4-13-22-31-38-46-54-61-67-73-78-82-85-88-90-90} {90 87 80 70 57 43 25 9 -9-25-43-57-70-80-87-90-90-87-80-70-57-43-25 -9 9 25 43 57 70 80 87 90} {90 82 67 46 22 -4-31-54-73-85-90-88-78-61-38-13 13 38 61 78 88 90 85 73 54 31 4-22-46-67-82-90} {89 75 50 18-18-50-75-89-89-75-50-18 18 50 75 89 89 75 50 18-18-50-75-89-89-75-50-18 18 50 75 89} {88 67 31-13-54-82-90-78-46 -4 38 73 90 85 61 22-22-61-85-90-73-38 4 46 78 90 82 54 13-31-67-88} {87 57 9-43-80-90-70-25 25 70 90 80 43 -9-57-87-87-57 -9 43 80 90 70 25-25-70-90-80-43 9 57 87} {85 46-13-67-90-73-22 38 82 88 54 -4-61-90-78-31 31 78 90 61 4-54-88-82-38 22 73 90 67 13-46-85} {83 36-36-83-83-36 36 83 83 36-36-83-83-36 36 83 83 36-36-83-83-36 36 83 83 36-36-83-83-36 36 83} {82 22-54-90-61 13 78 85 31-46-90-67 4 73 88 38-38-88-73 -4 67 90 46-31-85-78-13 61 90 54-22-82} {80 9-70-87-25 57 90 43-43-90-57 25 87 70 -9-80-80 -9 70 87 25-57-90-43 43 90 57-25-87-70 9 80} {78 -4-82-73 13 85 67-22-88-61 31 90 54-38-90-46 46 90 38-54-90-31 61 88 22-67-85-13 73 82 4-78} {75-18-89-50 50 89 18-75-75 18 89 50-50-89-18 75 75-18-89-50 50 89 18-75-75 18 89 50-50-89-18 75} {73-31-90-22 78 67-38-90-13 82 61-46-88 -4 85 54-54-85 4 88 46-61-82 13 90 38-67-78 22 90 31-73} {70-43-87 9 90 25-80-57 57 80-25-90 -9 87 43-70-70 43 87 -9-90-25 80 57-57-80 25 90 9-87-43 70} {67-54-78 38 85-22-90 4 90 13-88-31 82 46-73-61 61 73-46-82 31 88-13-90 -4 90 22-85-38 78 54-67} {64-64-64 64 64-64-64 64 64-64-64 64 64-64-64 64 64-64-64 64 64-64-64 64 64-64-64 64 64-64-64 64} {61-73-46 82 31-88-13 90 -4-90 22 85-38-78 54 67-67-54 78 38-85-22 90 4-90 13 88-31-82 46 73-61} {57-80-25 90 -9-87 43 70-70-43 87 9-90 25 80-57-57 80 25-90 9 87-43-70 70 43-87 -9 90-25-80 57} {54-85 -4 88-46-61 82 13-90 38 67-78-22 90-31-73 73 31-90 22 78-67-38 90-13-82 61 46-88 4 85-54} {50-89 18 75-75-18 89-50-50 89-18-75 75 18-89 50 50-89 18 75-75-18 89-50-50 89-18-75 75 18-89 50} {46-90 38 54-90 31 61-88 22 67-85 13 73-82 4 78-78 -4 82-73-13 85-67-22 88-61-31 90-54-38 90-46} {43-90 57 25-87 70 9-80 80 -9-70 87-25-57 90-43-43 90-57-25 87-70 -9 80-80 9 70-87 25 57-90 43} {38-88 73 -4-67 90-46-31 85-78 13 61-90 54 22-82 82-22-54 90-61-13 78-85 31 46-90 67 4-73 88-38} {36-83 83-36-36 83-83 36 36-83 83-36-36 83-83 36 36-83 83-36-36 83-83 36 36-83 83-36-36 83-83 36} {31-78 90-61 4 54-88 82-38-22 73-90 67-13-46 85-85 46 13-67 90-73 22 38-82 88-54 -4 61-90 78-31} {25-70 90-80 43 9-57 87-87 57 -9-43 80-90 70-25-25 70-90 80-43 -9 57-87 87-57 9 43-80 90-70 25} {22-61 85-90 73-38 -4 46-78 90-82 54-13-31 67-88 88-67 31 13-54 82-90 78-46 4 38-73 90-85 61-22} {18-50 75-89 89-75 50-18-18 50-75 89-89 75-50 18 18-50 75-89 89-75 50-18-18 50-75 89-89 75-50 18} {13-38 61-78 88-90 85-73 54-31 4 22-46 67-82 90-90 82-67 46-22 -4 31-54 73-85 90-88 78-61 38-13} { 9-25 43-57 70-80 87-90 90-87 80-70 57-43 25 -9 -9 25-43 57-70 80-87 90-90 87-80 70-57 43-25 9} { 4-13 22-31 38-46 54-61 67-73 78-82 85-88 90-90 90-90 88-85 82-78 73-67 61-54 46-38 31-22 13 -4}
56
nS = 16 {64 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64} {90 87 80 70 57 43 25 9 -9-25-43-57-70-80-87-90} {89 75 50 18-18-50-75-89-89-75-50-18 18 50 75 89} {87 57 9-43-80-90-70-25 25 70 90 80 43 -9-57-87} {83 36-36-83-83-36 36 83 83 36-36-83-83-36 36 83} {80 9-70-87-25 57 90 43-43-90-57 25 87 70 -9-80} {75-18-89-50 50 89 18-75-75 18 89 50-50-89-18 75} {70-43-87 9 90 25-80-57 57 80-25-90 -9 87 43-70} {64-64-64 64 64-64-64 64 64-64-64 64 64-64-64 64} {57-80-25 90 -9-87 43 70-70-43 87 9-90 25 80-57} {50-89 18 75-75-18 89-50-50 89-18-75 75 18-89 50} {43-90 57 25-87 70 9-80 80 -9-70 87-25-57 90-43} {36-83 83-36-36 83-83 36 36-83 83-36-36 83-83 36} {25-70 90-80 43 9-57 87-87 57 -9-43 80-90 70-25} {18-50 75-89 89-75 50-18-18 50-75 89-89 75-50 18} { 9-25 43-57 70-80 87-90 90-87 80-70 57-43 25 -9}
Loop filtering
57
58
Intra-only configuration
59
QPI
QPI
IDR Picture
time
Low-delay configuration
60
QPBL3=QPI+3
QPBL3=QPI+3
QPBL3=QPI+3
QPBL3=QPI+3
1 2 0
3 4
5 6
7 8
QPBL2=QPI+2 QPBL1=QPI+1
time
Random-access configuration
61
5 3
QPBL4=QPI+4
6
Referenced B Picture
7 4
Non-referenced B Picture
2 1
GPB(Generalized P and B) Picture
0
QPBL3=QPI+3 QPBL2=QPI+2
QPI
Referenced B Picture
QPBL1=QPI+1
time