AV1 编码块划分

AV1是AOM于2018年发布的一代视频编码标准,相比于VP9其编码效率提升30%,相对于H.26X系列标准,AV1完全免去专利费可以自由使用。

AV1和其他视频编码标准类似,也采用基于块的编码架构。当编码器读进一帧图像,首先将其划分为互不重叠的super block(SB),然后对SB进一步划分编码。

Super Block

SB是AV1中的最大编码单元,类似于HEVC中的CTU,在AV1中SB的尺寸可以是128×128或64×64,由sequence header中的语法元素use_128x128_superblock指定

AV1 编码块划分

SB可以进一步划分,类似于HEVC中的CTU划分为CU,亮度划分块的尺寸从128×128到4×4(色度最小到4×4)。AV1支持10种划分模式:

AV1 编码块划分
图1 AV1编码块划分方式

图1是AV1编码块支持的10种划分方式,其中R表示可以递归划分,可见AV1的矩形划分块不能再进行子划分,只有QT划分能进行子划分。

AV1 编码块划分
图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 。对于8×8和128×128块不允许使用PARTITION_VERT_4 ,PARTITION_HORZ_4 划分。且对于8×8块还不能使用T-Shape划分。

Tile

AV1中的Tile划分和HEVC类似,用于提升编码的并行效率,不同Tile之间互不依赖。

AV1 编码块划分
图3 AV1的Tile划分

如图3,Tile就是将图像划分为一些矩形区域,每个区域内包含一些SB块。图像中每个Tile相互独立,各自编码。AV1规定最小的Tile可以只包含一个SB,最大的Tile宽度不超过4096,尺寸不超过4096×2304,一帧图像最多有512个Tile。由于每个Tile可以独立解码,所以对于VR等应用非常有好处,它可以根据视角的移动只解码部分图像而不需要解码整个图像。

参考

  1. https://aomedia.org/
  2. https://aomedia.googlesource.com/aom/
  3. 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.
  4. 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. 

作者:寒衣
来源:Video Coding
原文:https://mp.weixin.qq.com/s/jGC7ZHny7tcgh5aKvB0Odw

版权声明:本文内容转自互联网,本文观点仅代表作者本人。本站仅提供信息存储空间服务,所有权归原作者所有。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至1393616908@qq.com 举报,一经查实,本站将立刻删除。

(0)

相关推荐

发表回复

登录后才能评论