AVS3 Block Partitioning
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).
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).
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.
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.
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.
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).
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.
References:
- AVS3 — Part 2: Video. Draft text of AVS video group
- 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.
- 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.