在视频压缩标准过去三十多年的发展历程中,方向预测(angular intra prediction)因其较低的实现复杂度以及相对高效的编码增益,成为多项国际视频标准(如H.264/AVC,VP9,AVS1,HEVC等)中的关键编码技术。然而,随着设备终端计算能力的不断提高以及市场对视频压缩性能需求的持续增强,更高性能更精细的方向预测技术逐渐成为研究热点,并被成功推向多项视频编码标准。
本文分别以国际视频编码标准HEVC(High-Efficiency Video Coding)和正在制定过程中的VVC(Versatile Video Coding)标准为例,阐述了方向预测技术在这两代国际视频压缩标准之间的技术演进。
一、HEVC中的帧内预测技术
HEVC标准制定的一个重要应用场景是高分辨率视频的编码,例如1080P和4K视频。已有的研究成果表明,在传统基于块的混合编码框架下,采用更大块的预测和变换对高分辨图像和视频的压缩性能有非常显著的提高。因此,在HEVC编码标准中,预测单元的大小可以从4x4到64x64。同时,对于较大的预测单元,8个帧内预测方向已不能很好地预测视频图像中的方向性纹理。因此,HEVC将预测方向的个数从H.264/AVC的8个增加到33个 [1]。
下图是HEVC的33个方向预测模式,分别被标记为模式2~模式34,其中每个1/8象限中包含8个预测方向,它们所对应的位移参数分别是 [2, 5, 9, 13, 17, 21, 26, 32]。这些位移参数的物理含义是预测角度的正切值,即 [2/32, 5/32, 9/32, 13/32, 17/32, 21/32, 26/32, 32/32],以32/32为例,其代表45°预测方向(正切值为1)。同时根据角度的正切值可以看出, HEVC采用的是1/32像素精度的预测精度。H 和V分别代表水平和垂直方向,标记符号中的数字部分代表着该模式的位移参数,例如V+2表示垂直方向具有+2位移参数的预测方向。从这些位移参数可以看出,靠近水平和垂直方向的角度分布更加密集一些,而靠近对角线方向的角度的分布相对稀疏一些。这个设计准则是因为在传统的视频和图像中,接近水平和垂直方向的图案的出现概率相对较高,而对角线附近方向的图案的出现概率相对较低。
在HEVC的帧内预测过程中,当前块内的所有像素根据指定的预测方向被映射到左侧或者上侧参考像素。具体来讲,对于模式18 ~ 模式34,当前块的像素被映射到上侧参考像素,对于模式2~模式17,当前块的像素被映射到左侧参考像素。当映射后的像素的位置的坐标出现负数,左侧的参考列会映射到上侧参考列的左侧来对其进行扩展或者上侧的参考行会映射到左侧参考列的上方来对其进行扩展。下图是将左侧参考像素映射到上侧参考像素的例子,图中的粗线条代表着预测方向,细线条代表着参考像素的映射过程。
在当前块内的像素被映射到参考像素之后,用最邻近的两个参考像素通过线性插值来生成预测像素值,公式如下所示:
其中,wy表示最邻近的两个参考像素Ri,0和Ri,1的权重因子。
由于当前块的预测方向和其周围块的预测方向有很强的相关性,为了编码这些预测方向的索引信息,HEVC需要建立一个长度是3的Most Probable Mode (MPM) 列表,该列表中的候选项依赖于当前块左侧和上侧的参考块的预测模式 [2]。对于每个预测单元,首先编码一个标识符MPM Flag,用来表示当前的预测方向是否属于MPM列表,如果当前预测方向属于MPM列表,则使用truncated unary codeword来编码MPM 索引。否则,使用5-bit fixed length codeword来对编码剩下的预测模式。由于编码端和解码端使用同样的方法建立MPM列表,该列表不需要传递到解码端。
二、 VVC中的方向预测技术
VVC的技术框架沿用HEVC,帧内预测单元的大小仍然是从4x4到64x64,但是VVC采纳了更加精细的帧内预测方向来更好的预测视频和图像中的结构信息,其中包括65个传统的帧内预测方向以及28个Wide Angular Intra Prediction Mode (简称为WAIP) [3-5] [9]。WAIP预测模式是指超过45度对角线方向的预测模式。如下图所示,其中模式2 ~ 66表示传统的帧内预测模式,模式 -1 ~ -14以及模式67 ~ 80表示WAIP预测模式。
WAIP模式由腾讯音视频实验室,法国Technicolor公司和华为联合提出,该提案JVET-K0500 [4] 针对矩形预测单元中方向预测的不对称性分布问题作了进一步优化。在VVC中,不仅有四叉树划分,还有二叉树和三叉树划分,因此VVC中不仅有正方形的预测单元,还有矩形的预测单元。对于正方形的预测单元来说,模式2 ~ 模式66的使用概率是均匀分布的,但是对于矩形的预测单元来说,这些模式的使用概率是不均匀的。具体来讲,对于水平的矩形预测单元(宽大于高的预测单元),左下方的预测模式(比如模式2 ~ 模式7)的使用概率要低于右上方的预测模式(比如模式61~模式66)。对于垂直的矩形预测单元(高大于宽的预测单元),左下方的预测模式(比如模式2 ~ 模式7)的使用概率要高于右上方的预测模式(比如模式61~模式66)。下图统计了BasketBallDrill 测试序列在量化参数设定为22的情况下,16x8 块中各个预测模式的使用概率(该表是基于33个方向预测进行统计的),其中水平坐标代表着不同的预测模式,垂直坐标代表着各个模式的使用概率。从表中可以看出 模式32 ~ 34的使用概率要明显高于模式2 ~ 4的使用概率。
针对这个非对称问题,对于水平的预测单元,模式67~ 80被用来替换模式2~ 15;而对于垂直的预测单元,模式-1 ~ -14被用来替换模式53 ~ 66。不同宽高比的矩形预测单元使用到的WAIP模式数量是不同的,具体如下表所示:
矩形块宽高比 | WAIP模式数量 |
---|---|
宽/ 高 = 2 or 1/2 | 6 |
宽/ 高 = 4 or 1/4 | 10 |
宽/ 高 = 8 or 1/8 | 12 |
宽/ 高 = 16 or 1/16 | 14 |
在WAIP模式被采纳之后,对于不同的编码单元,其帧内预测方向的范围都是从该预测单元左下角的对角线到右上角的对角线。下图中是水平的矩形预测单元的帧内预测方向范围的示意图。
对于帧内预测过程,VVC沿用了HEVC中预测像素向参考像素的映射过程,但是VVC采用了两组不同的插值滤波器来更好的拟合不同块大小和不同的预测方向下数据的统计特性。对于靠近水平和垂直方向的方向预测,采用4-tap Cubic 插值滤波器来更好的保留图像的边缘信息,对于靠近对角线方向的方向预测,采用4-tap Gaussian 插值滤波器来生成更加平滑的预测图像 [6]。
与HEVC一样,VVC中所有的预测单元都采用统一的编码方式对帧内预测模式进行编码。但是由于VVC需要编码67个预测模式,如果当前的预测模式不在MPM列表中,则需要使用6个比特位来对其进行编码。为了能够使用较少的比特数来对预测模式进行编码,需要提高MPM 列表中编码模式的选中概率,因此,VVC将MPM 列表的大小从3扩展到6 [7]。考虑到Planar 预测模式具有很高的选中概率,腾讯音视频实验室提出将Planar预测模式作为优先模式放置于MPM列表首位,该方法经过多家公司的相关提案验证,进一步提高了帧内预测模式编码的性能 [8],最终该技术在今年3月份的日内瓦会议被VVC所采纳 [8]。
三、 总结
本文总结了HEVC和VVC标准中帧内方向预测的设计方案。与HEVC相比,新一代VVC标准采纳了65 个帧内预测方向,WAIP预测模式,4-tap Cubic and Gaussian滤波器,以及6 个MPM。音视频实验室深度参与了方向预测技术在VVC标准中的研制工作,在这个过程中贡献了多项技术提案,其中两项被VVC标准采纳并且定义了VVC的全部帧内预测方向。
参考文献
[1] J. Lainema, F. Bossen, W-J Han, J. Min, and K. Ugur, “Intra Coding of the HEVC Standard,” IEEE Trans. Circuits Syst. Video Technol., vol. 22, no. 12, pp. 1792–1801, Dec. 2012.
[2] X. Zhang, S. Liu, M. Guo, X. Guo, and S. Lei, “Non-CE6: Intra mode coding with fixed length binarization,” Joint Video Exploration Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11, JVTVC-H0435, San Jose, 1-10 Feb, 2012.
[3] L. Zhao, S. Liu, X. Zhao, and X. Li, “CE3-related: Wide angular intra prediction for non-square blocks,” Joint Video Exploration Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11, JVET-K0289, Ljubljana, SL, Jul. 2018.
[4] F. Racapé, G. Rath, F. Urban, L. Zhao, S. Liu, X. Zhao, X. Li, A. Filippov, V. Rufitskiy, and J. Chen, “CE3-related: Wide-angle intra prediction for non-square blocks”, Joint Video Exploration Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11, JVET-K0500, Ljubljana, SL, Jul. 2018.
[5] L. Zhao, X. Zhao, S. Liu, and X. Li, “CE3-related: Unification of angular intra prediction for square and non-square blocks,” Joint Video Exploration Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11, JVET-L0279, Macau, CN, Oct. 2018.
[6] A. Filippov, V. Rufitskiy, J. Chen, G. Van der Auwera, A. K. Ramasubramonian, V. Seregin, T. Hsieh and M. Karczewicz, “CE3: A combination of tests 3.1.2 and 3.1.4 for intra reference sample interpolation filter,” Joint Video Exploration Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11, JVET-L0628, Macao, CN, Oct. 2018.
[7] L. Li, J. Heo, J. Choi, J. Choi, S. Yoo, S. Kim, and J. Lim, “CE3-6.2.1: Extended MPM list,” Joint Video Exploration Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11, JVET-L0165, Macao, CN, Oct. 2018.
[8] L. Zhao, X. Zhao, S. Liu, and X. Li, “CE3-3.3: MPM list harmonization,” JVET-N0393, Joint Video Exploration Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11, Geneva, CH, Mar. 2019.
[9] L. Zhao, X. Zhao, S. Liu, X. Li, J. Lainema, G. Rath, F. Racapé, and F. Urban, “Wide Angular Intra Prediction for Versatile Video Coding”, IEEE Data Compression Conference, Snowbird, Utah, USA, pp. 1–10, Mar. 2019.