< Back to blog

AVS3 Block Partitioning

Denis Fedorov
Written byDenis Fedorov

Welcome back! In this article, I will review block splitting methods and coding unit tree shape of the third generation of Audio Video Coding Standard (AVS3).

Coding unit tree

AVS3 is developed on top of its predecessor – AVS2, one of its objectives is to adapt to the growing demand for Ultra High Definition content (4K, 8K).

Pic 1. A quadtree structure example of AVS2

Audio Video Standard is a block-based video coding framework. For block partitioning, AVS2 uses the quadtree scheme only (pic 1), which is not efficient for 8k videos. To fix this, AVS3 developed a more flexible partitioning scheme: quadtree (QT), binary tree (BT), and extended quadtree (EQT) (pic 2).

Pic 2. Quadtree, Binary Tree, and Extended Quadtree splitting schemes example of AVS3

 

For each largest coding unit, one bit is first used to indicate whether the large coding unit (LCU) is divided into QT or not. If not, one more bit is then used to represent whether the LCU is divided into EQT or BT (pic 3). Once the coding unit is divided into BT or EQT, QT cannot be used in the subsequent partition process.

Pic 3. Signaling on LCU splits in AVS3

Intra Derived Tree

AVS3 has an additional mode for splitting Intra coding units into smaller prediction units. It splits the luma component only. CU could be split into 4 PUs vertically or horizontally. There are six split modes; you can see them in pic 4. In terms of symmetry, the derived modes can be subdivided into two classes:

  • Symmetric modes: 2N×hN and hN×2N, which are designed to improve the signaling efficiency of side information
  • Asymmetric modes: 2N×nU, 2N×nD, nL×2N, and nR×2N, which are designed to improve the flexibility of the partition structure to the asymmetric texture 

And there is one thing that should be mentioned for asymmetric modes (2MxnD, 2MxnU, nLx2N, nRx2N) – they are initially split into 2 PUs: large and small. Then large PU is split into three sub-PUs with the same params; as a result, there are 3+1 PUs. This way, the prediction accuracy can be improved as per its stronger correlation between the prediction sample and the reference sample.

Also, when DT is used, the transform unit is forced to split according to the prediction units.

Pic 4. Split schemes of Intra Derived Tree mode in AVS3. Sub-PUs with the same mode are marked with grey color.

The intra-DT flag is signaled at CU level. The split direction and split type are subsequently transmitted when the intra-DT flag is true.

Intra DT is applied only for the luma component, so chroma is not split, and chroma PU remains the same size as CU. Here is an example in pic 5.

Pic 5. VQ Analyzer. Example of AVS3 prediction block structure. Blue solid lines - tree splits of luma and chroma, blue dashed lines – tree splits of luma only, green dashed lines – Intra DT luma splits.

 

Chroma tree split restriction

AVS3 has a particular restriction for splitting chroma components - both chroma sides should be at least 4 pixels in chroma down-sampled resolution (8 pixels in luma resolution). If partitioning could create smaller chroma blocks, then chroma splitting is not performed. So chroma coding block remains bigger than the partitioned luma blocks (pic 5, pic 6).

Pic 6. VQ Analyzer. Example of AVS3 luma split PU with non-split chroma PU. The Luma region is highlighted on the chroma parts.

 

Non-rectangular block splitting

There are special modes of Angular Weighted Prediction (AWP) for Inter blocks and Spatial Angular Weighted Prediction (SAWP) for Intra blocks that act like splitting CU into two PUs by a slope line. Initially, each part is predicted with different prediction param; they are combined then using a weight mask that is generated by a slope line with a smooth transition (pic 7). A more detailed review of these modes is presented in the individual article.

 

Pic 7. VQ Analyzer. Example of SAWP prediction block in AVS3.

 

References:

  1. AVS3 — Part 2: Video. Draft text of AVS video group
  2. L. Wang, X. Cao, B. Niu, Q. Yu, J. Zheng and Y. He, "Derived Tree Block Partition for AVS3 Intra Coding," 2019 Picture Coding Symposium (PCS), 2019, pp. 1-5, doi: 10.1109/PCS48520.2019.8954542.
  3. J. Zhang, C. Jia, M. Lei, S. Wang, S. Ma, and W. Gao, "Recent Development of AVS Video Coding Standard: AVS3," 2019 Picture Coding Symposium (PCS), 2019, pp. 1-5, doi: 10.1109/PCS48520.2019.8954503.