从HEVC到VVC:变换技术的演进(1)—— 主变换(Primary transform)

在视频编码标准过去三十多年的发展历程中,离散余弦变换(Discrete Cosine Transform,DCT)Type 2 (后面简称为DCT2)因其较低的实现复杂度以及相对高效的变换增益,成为多项国际视频标准中的关键核心编码技术。然而,随着设备终端计算能力的不断提高以及市场对视频压缩性能需求的持续增强,更高性能更精细的新型变换技术逐渐成为研究热点,并被成功推向多项视频编码标准。

本文分别以国际视频编码标准HEVC(High-Efficiency Video Coding)和正在制定过程中的VVC(Versatile Video Coding)标准为例,阐述了变换技术在这两代国际视频压缩标准之间将近十年时间里的技术演进。

一、 HEVC中的变换技术

HEVC标准制定的一个重要应用场景是高分辨率视频的编码,例如1080P和4K视频,已有的研究成果表明,在传统基于块的混合编码框架下,采用更大块的预测和变换对高分辨图像和视频的压缩性能有非常显著的提高。在2010年10月广州会议中,JCTVC专家组对不同尺寸的DCT2进行了深入的性能及复杂度评估,最终于两次会后的2011年11月日内瓦会议采纳了由Cisco和TI联合提出的JCTVC-E243技术提案[1],该提案提供了包括4点,8点,16点和32点四种不同尺寸的DCT变换设计。

下图为HEVC所采纳的32点DCT2变换核,从32点DCT2变换核的设计可以看出,4点,8点和16点DCT2的变换核可由32点DCT2变换核导出,这是DCT2所具备的一个低复杂度的特性。根据JCTVC-E243,在对二维数据作变换时,HEVC对水平变换和垂直变换的输出采用了不同的移位操作,保证了变换的中间数据维持在16比特的精度,更有助于硬件和软件实现的优化。

从HEVC到VVC:变换技术的演进(1)—— 主变换(Primary transform)_第1张图片

另外,HEVC的DCT2保证了DCT2变换核的对称性,同时支持矩阵相乘和部分蝶形(Partial Butterfly)两种计算方法,并且两种计算方法的输出结果完全相同,因此可以根据具体的codec实现方式(硬件或者软件实现)灵活选择更有效的计算方法。HEVC的32点正变换的蝶形算法如下图所示,其中包含了完整的16点,8点和4点的DCT2正变换蝶形算法,这一特性使得不同尺寸的变换可以复用同一计算流程,这对于硬件实现可以达到节省乘法器的目的。

从HEVC到VVC:变换技术的演进(1)—— 主变换(Primary transform)_第2张图片

除了DCT2,HEVC在2011年11月日内瓦会议同时也采纳了由Samsung提出的4点DST Type 7变换,DST Type 7的数学公式表述如下:

从HEVC到VVC:变换技术的演进(1)—— 主变换(Primary transform)_第3张图片

 近年的研究成果表明,基于一阶零均值马尔科夫模型的预测残差分布,可以推导得出帧内垂直预测模式的预测残差在垂直方向上的协方差矩阵如下(假设垂直方向的相关系数趋近1)[2, 3],

从HEVC到VVC:变换技术的演进(1)—— 主变换(Primary transform)_第4张图片

该协方差矩阵的特征向量可以通过数学证明恰巧为DST Type 7(以下简称为DST7)变换的基函数。在HEVC标准制定的早期阶段,多家公司提出针对帧内预测残差的改进变换算法,其核心想法均基于上面的数学推导所得出的结论:垂直帧内预测残差的最优垂直变换以及水平帧内预测残差的最优水平变换为DST7。基于复杂度和性能折衷方面的考虑,HEVC仅采纳了4点DST7用于帧内预测残差的变换,对于其它尺寸和帧间预测残差仍然采用DCT2。

二、HEVC之后的变换技术演进

HEVC所采纳的变换技术均基于固定的图像统计特性假设,然而实际图像预测残差呈现明显的动态变化特性,因此,变换所带来的编码性能增益受限于单一的变换核选择。近十年的研究成果表明[4,5,6],对预测残差采用多候选变换的方案能够更好地适应预测残差动态变化的统计特性,并且显著地进一步提高变换增益。

最早将多候选变换的技术方案推向标准会议的提案是2009年MPEG西安会议的m16926[7]技术提案,然而该提案所提出的变换核由离线训练得出(也就是KLT),不支持快速算法,没有很好地匹配当时的硬件计算能力。如第二节介绍,即使在2013年正式推出的HEVC标准,其采纳的变换技术对于8点及以上的情况,仍然采用了具有成熟的快速算法的DCT2。

在HEVC推出的两年后,Qualcomm于2015年率先推出基于DCT/DST的多候选变换的技术方案EMT(Enhanced Multiple Transform,又常称为Adaptive Multiple Transform)[8],该技术方案定义了三组变换集,每组变换集包含了DST7, DST1, DCT5 和DCT8其中的两种变换。

从HEVC到VVC:变换技术的演进(1)—— 主变换(Primary transform)_第5张图片

变换集的选择由帧内预测模式来决定,并且帧内预测模式和变换集的对应关系由固定查找表定义。

从HEVC到VVC:变换技术的演进(1)—— 主变换(Primary transform)_第6张图片 EMT之所以比传统的单一的DCT2技术方案更有效,是因为DCT2的基函数仅适用于拟合均匀的残差分布,而EMT的候选变换组合则能够拟合不均匀的残差分布。下图所示为EMT变换集0所支持的四种候选变换组合的基图像(basis image),从左至右分别为(水平DST7,垂直DST7;水平DST7,垂直DCT8;水平DCT8,垂直DST7;水平DCT8,垂直DCT8)。

从HEVC到VVC:变换技术的演进(1)—— 主变换(Primary transform)_第7张图片

EMT采用10比特变换核系数精度,同时应用于帧内预测残差和帧间预测残差。根据测试结果报告,EMT在帧内编码的编码增益达到了2.9%,并且在2K和4K测试序列的编码增益达到了更高的3.4%,是HEVC之后少有的几项编码增益达到2%以上的技术之一,成为后来VVC标准变换技术的起点和基础。

同时期变换技术的发展还包括由微软亚洲研究院(MSRA)提出的信号相关变换(Signal Dependent Transform),然而该技术基于不可分离变换,并且需要在线地更新变换核,这对于目前的硬件计算能力是非常大的挑战,目前在VVC的标准化进程中还没有相应的提案跟进,但是这对于VVC之后的技术发展打开了一扇门,为技术人员提供了新的思路和线索。

HEVC之后的一项重要的新型变换技术还包括不可分离的二次变换(Non-Separable Secondary Transform, NSST),作者将在后续的文章进行更详细的介绍。

三、VVC中的变换技术

VVC的技术框架沿用HEVC,变换尺寸扩展到64点,变换技术以DCT2和EMT为起点。经过2018年7月Ljubljana会议的讨论,大会采纳了简化版本的EMT,并改名为MTS(Multiple Transform Selection),MTS仅保留了一组包含DST7和DCT8两种变换的变换集,并且去除了变换集和帧内预测模式的依赖性。

2018年10月澳门会议采纳了由腾讯音视频实验室提出的8比特变换核技术提案JVET-L0285 [9],该技术保留了全部的HEVC变换,同时提出了新的64点DCT2变换核以及新的8点,16点和32点DST 7, DCT8变换核。该提案所提供的8比特变换核具有和10比特变换核在高码率及中码率几乎相同的压缩性能,同时保留了8比特变换核精度,降低了硬件的实现复杂度以及硬件更新换代的成本。VVC所采纳的64点正变换的蝶形算法如下图所示,其中包含了完整的32点,16点,8点和4点的DCT2正变换蝶形算法。

从HEVC到VVC:变换技术的演进(1)—— 主变换(Primary transform)_第8张图片

根据2018年10月澳门会议记录,MTS的主要复杂度在于32点的DST7和DCT8所需的大量乘法运算。由于DST7/DCT8不具备DCT2的对称性,针对DST7/DCT8的快速算法研究也比较有限,采用基于矩阵乘法的32点的DST7和DCT8将带来远高于DCT2的计算复杂度。为了解决这一技术瓶颈,多家公司提出相应的技术解决方案,目的是降低DST7/DCT8的计算复杂度,也就是乘法次数。经过多轮角逐,最终于2019年1月Marrakesh会议采纳了由腾讯音视频实验室提出的快速DST7/DCT8算法[10,11],该算法支持矩阵乘法和快速算法两种等效实现方式,同时达到了50%左右的乘法次数降低,从而基本定案了VVC中主变换(Primary transform)的设计。与此同时,大会还采纳了由LG Electronics提出的针对32点DST7/DCT8的归零方案 [12],实现了基于矩阵乘法实现的50%乘法数降低,从而去除了变换模块的技术瓶颈(worst-case)。

针对帧间变换技术,2019年1月的Marrakesh会议采纳了由华为提出的子块变换技术(Sub-block Transform,SBT) [13],该技术假设帧间预测残差分布的局部性,也就是预测残差分布在残差块的局部1/2或者1/4区域,从而降低变换系数的高频分量,减少标记残差块是否为0的编码代价,提高压缩性能。

四、 总结

本文总结了HEVC标准中主变换技术的设计方案,介绍了业界在HEVC之后对变换技术的继续探索和新一代VVC标准中变换技术的演进。新一代VVC标准采纳了基于多候选变换的技术方案,这是视频编码标准中的一个技术跨越,音视频实验室深度参与并主导了变换技术在VVC标准中的研制工作,在这个过程中贡献了多项技术提案,其中两项被VVC标准采纳。这两项技术定义了VVC标准全部主变换核,并使DST7/DCT8快速算法成为可能。

五、 参考文献

[1] A. Fuldseth, G. Bjøntegaard, M. Sadafale, M. Budagavi, "Transform design for HEVC with 16 bit intermediate data representation", JCTVC-E0243, Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11 5th Meeting: Geneva, CH, 16-23 March, 2011.

[2] J. Han, A. Saxena, and K. Rose, “Towards jointly optimal spatial prediction and adaptive transform in video/image coding,” in IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP), March 2010, pp. 726–729.

[3] Chuohao Yeo, Yih Han Tan, Zhengguo Li, S. Rahardja, "Mode-dependent fast separable klt for block-based intra coding", Circuits and Systems (ISCAS) 2011 IEEE International Symposium on, pp. 621-624, May 2011.

[4] B. Zeng and J. Fu, “Directional discrete cosine transforms: A new framework for image coding,” IEEE Trans. Circuits Syst. Video Technol., vol. 18, no. 3, pp. 305–313, Mar. 2008.

[5] X. Zhao, L. Zhang, S. Ma, and W. Gao, “Video coding with rate-distortion optimized transform,” IEEE Trans. Circuits Syst. Video Technol., vol 22, no. 1, pp. 138–151, 2012.

[6] X. Cao, and Y. He, “Singular vector decomposition based adaptive transform for motion compensation residuals,” in Proc. IEEE International Conference on Image Processing, pp. 4127-4131, 2014.

[7] X. Zhao, L. Zhang, S. Ma, W. Gao, "Rate-Distortion Optimized Transform", ISO/IEC JTCl/SC29/WG11 MPEG m16926, Oct 2009.

[8] X. Zhao, J. Chen, M. Karczewicz, L. Zhang, X. Li and W.-J. Chien, “Enhanced Multiple Transform for Video Coding,” in Proc. Data Compression Conference, pp. 73–82, 2016.

[9] X. Zhao, X. Li, S. Liu, “CE6: On 8-bit primary transform core (Test 6.1.3),” JVET-L0285, Joint Video Exploration Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11, Macao, CN, Oct. 2018.

[10] X. Zhao, X. Li, Y. Luo, S. Liu, “CE6: Fast DST-7/DCT-8 with dual implementation support (Test 6.2.3),” JVET-M0497, Joint Video Exploration Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11, Marrakesh, MA, January 2019.

[11] Z. Zhang, X. Zhao, X. Li, Z. Li, S. Liu, “Fast Adaptive Multiple Transform for Versatile Video Coding,” Proc. Data Compression Conference, 2019.

[12] M. Koo, M. Salehifar, J. Lim, S. Kim, “CE6-related: 32 point MTS based on skipping high frequency coefficients,” JVET-M0297, Joint Video Exploration Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11, Marrakesh, MA, January 2019.

[13] Y. Zhao, H. Gao, H. Yang, J. Chen, “CE6: Sub-block transform for inter blocks (Test 6.4.1),” JVET-M0140, Joint Video Exploration Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11, Marrakesh, MA, January 2019.

 

你可能感兴趣的:(视频编码)