AV1是AOM于2018年发布的一代视频编码标准,相比于VP9其编码效率提升30%,相对于H.26X系列标准,AV1完全免去专利费可以自由使用。
AV1和其他视频编码标准类似,也采用基于块的编码架构。当编码器读进一帧图像,首先将其划分为互不重叠的super block(SB),然后对SB进一步划分编码。
Super Block
SB是AV1中的最大编码单元,类似于HEVC中的CTU,在AV1中SB的尺寸可以是128x128或64x64,由sequence header中的语法元素use_128x128_superblock指定
SB可以进一步划分,类似于HEVC中的CTU划分为CU,亮度划分块的尺寸从128x128到4x4(色度最小到4x4)。AV1支持10种划分模式,
图1 AV1编码块划分方式
图1是AV1编码块支持的10种划分方式,其中R表示可以递归划分,可见AV1的矩形划分块不能再进行子划分,只有QT划分能进行子划分。
图2 AV1具体划分模式
除PARTITION_NONE外,AV1支持的9种划分模式具体如图2,可以分为三类,第一类4子块划分包括PARTITION_SPLIT, PARTITION_VERT_4, PARTITION_HORZ_4,第二类3子块划分(T-Shape)包括PARTITION_HORZ_A, PARTITION_HORZ_B, PARTITION_VERT_A, PARTITION_HORZ_B ,第三类2子块划分包括PARTITION_HORZ, PARTITION_VERT 。对于8x8和128x128块不允许使用PARTITION_VERT_4 ,PARTITION_HORZ_4 划分。且对于8x8块还不能使用T-Shape划分。
Tile
AV1中的Tile划分和HEVC类似,用于提升编码的并行效率,不同Tile之间互不依赖。
图3 AV1的Tile划分
如图3,Tile就是将图像划分为一些矩形区域,每个区域内包含一些SB块。图像中每个Tile相互独立,各自编码。AV1规定最小的Tile可以只包含一个SB,最大的Tile宽度不超过4096,尺寸不超过4096x2304,一帧图像最多有512个Tile。
参考
-
https://aomedia.org/
-
https://aomedia.googlesource.com/aom/
-
J. Han et al., "A Technical Overview of AV1," in Proceedings of the IEEE, vol. 109, no. 9, pp. 1435-1462, Sept. 2021, doi: 10.1109/JPROC.2021.3058584.
-
Y. Chen et al., "An Overview of Core Coding Tools in the AV1 Video Codec," 2018 Picture Coding Symposium (PCS), San Francisco, CA, USA, 2018, pp. 41-45, doi: 10.1109/PCS.2018.8456249.