Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

HEVC Definitions and high-level syntax

4,755 views

Published on

Lecture 2 of HEVC course. This lecture is about HEVC definitions and syntex

Published in: Technology
  • Be the first to comment

HEVC Definitions and high-level syntax

  1. 1. Copyright © 2013 LOGTEL Lecture 2 - High Level Syntax
  2. 2. Copyright © 2013 LOGTEL Ref HEVC Encoder Motion Est. Motion Comp. + Intra Pred. Intra Inter - Residual T & Q CABAC Bit-Stream Q-1 & T-1 + + MVs Intra Est. Mode SAO Params Est. Deblk. &SAO Filter Control Reconstructed RefRefRef. DPB RefRefRef Input Video SAO params Quantized residuals Reference samples Intra/Inter Decision MVs/Intra modes
  3. 3. Copyright © 2013 LOGTEL Bitstream Structure VPSVPS SPSSPS PPSPPS Slice Header Slice Header Slice DataSlice Data Picture #1 * * * * Slice Header Slice Header Slice DataSlice Data Picture #k Slice Header Slice Header Slice DataSlice Data * * * * Notes •VPS/SPS/PPS can be either a part of bitstream or can be transmitted by other means (e.g. out-of-band). •SPS/PPS are accessed through referencing to facilitate with applications where SPS/PPS are signaled out-of-band •VPS/SPS/PPS/Slice are encapsulated in NAL unit with 16-bits header
  4. 4. Copyright © 2013 LOGTEL High-Level Syntax (VPS/SPS(  VPS – dedicated to convey information that is common for multiple layers, i.e. each layer refers same VPS  SPS – contain information which applies to all slices of a video sequence and is fixed within this sequence:  Profile, level, picture size, number sub-layers  Enabling flags  Restrictions  Temporal scalability control  Visual usability information (VUI) Note: there is duplication of some information between SPS and VPS
  5. 5. Copyright © 2013 LOGTEL High-Level Syntax (PPS, Slice Header(  PPS – conveys information which could change from picture to picture  Reference list size  Initial QP  Enabling flags  Tiles/Wavefronts  Slice Header - conveys information that can change from slice to slice  POC, Slice type  Reference picture lists  Prediction weights  Tiles Entry points
  6. 6. Copyright © 2013 LOGTEL Selected Picture Types (IDR, CRA)  IDR - pictures following the IDR in decoding order cannot use pictures decoded prior to the IDR as reference:  CRA – pictures following the CRA in both decoding and presentation order cannot use pictures decoded prior the CRA as reference: 11 2 3 4 0 2 3 11 4 0 CRA CRA Decoding order: Presentation order: Leading pictures
  7. 7. Copyright © 2013 LOGTEL 11 2 3 4 0 2 3 11 4 0 CRA CRARADLRASL Selected Picture Types: (RADL, RASL) Leading pictures - following in decoding order but preceding in presentation order. Leading pictures are divided into two types: • RADL (random access decodable leading) – can be correctly decoded if decoding starts with the current CRA • RASL (random access skipped leading) - can’t be correctly decoding if decoding starts with the current CRA and therefore this picture should be skipped. Decoding order: Presentation order: Leading pictures
  8. 8. Copyright © 2013 LOGTEL Picture/Slice Syntax Coding Tree Block (CTB): Picture/Slice/Tile is partitioned into square coding tree blocks (CTBs). The size of CTB is signaled in SPS (16x16, 32x32, 64x64). Luma CTB covers a square picture area of N ×N samples and the corresponding chroma CTBs cover each (N/2) × (N/2) samples (in 4:2:0 format). Coding Block (CB): Each CTB can be further partitioned into multiple coding blocks (CBs). The size of the CB can range from the same size as the CTB to the minimum size (8×8). The minimum CU size (maximal depth of coding block tree) is signaled in SPS
  9. 9. Copyright © 2013 LOGTEL 9 Picture/Slice Syntax (cont.)
  10. 10. Copyright © 2013 LOGTEL CTU/CU Syntax Coding Tree Units (CTU): The luma CTB and the two chroma CTBs, together with the associated syntax, form coding tree unit (CTU). The CTU is the basic processing unit similar to MB in prior standards. Coding Unit (CU): The luma CB and the chroma CBs, together with the associated syntax, form a coding unit (CU). Each CU can be either Intra or Inter predicted. Actually CU is the basic unit for compression.
  11. 11. Copyright © 2013 LOGTEL CTU/CU Syntax (2( 64x64 CTU smallest CU (SCU(
  12. 12. Copyright © 2013 LOGTEL CTU/CU Syntax (3) - traversing All CUs in a CTU are encoded (traversed( in Z–Scan order: 64x64 CTU The above figure was granted by Benjamin Bross “Relax it's only HEVC”, WBU-ISOG Forum, European Broadcast Union, Geneva, Switzerland, November 28, 2012
  13. 13. Copyright © 2013 LOGTEL CTU/CU Syntax (4( Formally CTU specifies quad-tree traversed in ‘inorder’. Note: unlike to prior standards where MB header is followed by data, in HEVC ‘headers are dispersed’: CTU Header CTU Header CU DataCU Data CTU CU HdrCU Hdr * * * * CU DataCU DataCU HdrCU Hdr
  14. 14. Copyright © 2013 LOGTEL CTU/CU Syntax (5( Prediction Block (PB): Each CB is partitioned in 1, 2 or 4 prediction blocks (PBs). Prediction Unit (PU): The luma PB and the chroma PBs, together with the associated syntax, form a prediction unit (PU). 2Nx2N NxN only if CB is smallest CB 2Nx2N NxN 2NxN Nx2N INTRA INTER
  15. 15. Copyright © 2013 LOGTEL CTU/CU Syntax (6( Inter Assymetric Partitions: conditioned by amp_enabled_flag in SPS nLx2N nRx2N 2NxnU 2NxnD 2NxnU 2NxnD nRx2NnLx2N When assymetric partitions are beneficial:
  16. 16. Copyright © 2013 LOGTEL CTU/CU Syntax (7( Transform Block (TB( : Each luma CB can be quadtree partitioned into one, four or larger number of TBs. The number of transform levels is controlled by max_transform_hierarchy_depth_inter and max_transform_hierarchy_depth_intra. Example: CB divided into two TB levels (the block #1 is split into four blocks): 00 22 33 1,21,2 1,31,3 1,01,0 1,11,1 0 2 3 1,0 1,1 1,2 1,3
  17. 17. Copyright © 2013 LOGTEL CTU/CU Syntax (8( CTU Header: CU partitioning, sample adaptive offset (SAO) parameters. CU Header: PU and TU partitioning CTU Header CTU Header CU DataCU Data CTU CU HdrCU Hdr * * * * CU DataCU DataCU HdrCU Hdr Notes: The smallest luma PB size is 4 × 8 or 8 × 4 samples (4x8 and 8x4 are permitted only for uni-directional predictions). Chroma PBs mimic corresponding luma partition with the scaling factor 1/2 (for 4:2:0) until 8x8 sizes.

×