高级视频编码H.264/AVC(advanced video coding)、高性能视频编码H.265/HEVC、多功能视频编码H.266/VVC是由国际电信联盟与国际标准化组织联合专家组制定的一系列视频压缩编码标准[1-3],代表着自2003年至今各时期最先进的视频编码技术。帧内编码是H.26X系列标准中的重要组成部分,其利用图像的空间相关性进行数据压缩,视频的关键帧也只使用帧内编码处理。加之近年来,自动驾驶视觉、云游戏、远程桌面共享、后期制作、医学影像存档等应用的发展使得视频无损帧内编码的需求日益增多[4]。因而探索无损帧内编码的优化算法有很高的研究和应用价值。
H.26X系列标准可以通过简单地跳过变换、量化、去块滤波、自适应样点补偿等可能引入失真的步骤,实现无损帧内压缩[5]。但也因此使得待编码系数具有较高的能量,为后续的熵编码带来极大的压力。为优化H.26X系列标准无损帧内编码的性能,国内外学者进行了大量的研究。Kamisli[6]提出了一种不会引入失真的整数离散正弦变换,一定程度上弥补了跳过变换带来的码率损失;Sanchez等[7]针对不同的残差数值分布特征设计了3组映射规则,整体降低了残差的能量;Xu等[8]提出的残差差分脉冲编码调制(residual differential pulse code modulation, RDPCM)是HEVC屏幕图像编码扩展标准(HEVC screen content coding extension, HEVC-SCC)的一部分,通过对残差进行再处理的方式提高了编码效率;Wien等[1]提出的区块差分脉冲编码调制(block differential pulse code modulation, BDPCM)是H.266标准的一部分,通过在水平或垂直方向上使用临近像素迭代预测的方式提高了预测准确性;有学者将DPCM的思想扩展到任意预测角度,提出了多种基于样本点的帧内角度预测(sample-based angular intra-prediction, SAP),进一步提高了预测准确性[9-11];元辉等[12]提出了一种新颖的不需要编码预测模式信息的帧内预测方案;Zhang等[13]分析了亮度通道与色差通道之间的关系,设计了3个模型,使用亮度通道对色差通道进行帧内预测;Li等[14]通过将参考像素拓展到多行的方式提高了帧内预测的准确性。
上述文献中提出的算法对帧内编码的性能均有不同程度的优化,但仍存在以下待改进的问题:文献[6]设计的整数变换方法局限性很大,且没有量化的配合很难降低待编码系数的能量,因此带来的码率优化较小;文献[7-8]设计的残差分段映射方案没有考虑残差独特的空间相关性,仍有优化空间;文献[9-14]都是设法增加或优化预测模式来提高帧内预测的准确性,然而各代H.26X标准中的帧内预测模式不断增多,在最新的H.266中已经达到67种,很难再挖掘出优化空间,可以预见今后这类改进带来的优化会越来越小;最后,上述大部分方案具有一定的应用范围的局限性,很难在各代的H.26X标准中通用。基于上述原因,本文提出了一种在H.264、H.265、H.266中通用的无损帧内编码优化算法。该算法利用帧内预测残差具有丰富的边缘特征这一统计结果,对预测残差进行处理。首先将当前编码块的残差首行、首列作为参考点;然后利用中值边缘检测(median edge detection, MED)对剩余点逐点进行预测并求得新的残差;最后统计处理前后的残差能量,选择能量较小的一组进行熵编码。算法经过测试,得到了明显的码率优化。
1 H.26X无损帧内编码H.26X系列标准中的帧内编码方案经过各世代的持续优化,但整体框架仍保持一致,包含帧内预测-变换-量化-熵编码4个基本过程(图 1(a))。帧内编码过程中引入失真的是变换和量化操作,因此可通过跳过变换和量化,仅保留帧内预测和熵编码来实现基础的H.26X无损帧内编码[5](图 1(b))。
帧内预测是H.26X无损帧内编码的核心部分。对每个预测单元(prediction unit, PU),H.26X执行帧内预测得到相应的预测残差Ri, j为
${{R}_{i, j}}={{P}_{i, j}}-{{I}_{i, j}} $ | (1) |
式中Ii, j表示原始像素值,Pi, j表示通过参考像素结合不同的帧内预测方式得到的预测值。H.26X的帧内预测模式包括平滑预测(DC模式、planar模式)和方向预测两大类,随着编码标准的发展,预测模式的数量不断增多。H.264仅使用9种预测模式[3],H.265增加到35种[2],H.266达到了67种[1]。
图 2展示了在H.265标准下经过帧内预测后的残差图像(数值整体平移128以绘制负值)。出于多种原因,尽管帧内预测的准确性不断提高,残差中仍然可能保留丰富的边缘特征。首先,由于PU最小尺寸的限制,角度预测在图像中纹理丰富的区域始终无法得到良好的预测结果;其次,当被预测块靠近参考像素的边沿存在不连续性时,角度预测很可能会插入原始块中本不存在的方向性条纹。
针对预测残差图像中存在丰富的边缘特征这一统计结果,本文提出了基于残差中值边缘检测(residual median edge detection, R-MED)的无损帧内编码算法。算法通过对预测残差进行二次预测,有效地压缩了残差图像中丰富的边缘特征,从而降低待编码系数的整体能量,最终降低视频码率。
2.1 残差中值边缘检测算法MED已被应用在图像的低复杂度无损压缩(low complexity lossless compression for images, LOCO-I)[7, 15]算法中。但与LOCO-I使用MED对原始像素进行预测不同,本文考虑到MED具有很强的边缘检测能力,恰好残差图像中包含丰富的边缘特征,因此将其应用到残差图像的二次预测上。R-MED的新预测值P′i, j由下式给出
${{{{P}'}}_{i, j}}=\left\{ \begin{matrix} \min ({{R}_{i, j-1}}, {{R}_{i-1, j}}), & {{R}_{i-1, j-1}}>\max ({{R}_{i, j-1}}, {{R}_{i-1, j}}) \\ \max ({{R}_{i, j-1}}, {{R}_{i-1, j}}), & {{R}_{i-1, j-1}} <\min ({{R}_{i, j-1}}, {{R}_{i-1, j}}) \\ {{R}_{i, j-1}}+{{R}_{i-1, j}}-{{R}_{i-1, j-1}}, & \text{otherwise} \\ \end{matrix} \right. $ | (2) |
如图 3所示,R-MED可以精准地得到强边缘处的预测值。当Ri-1, j-1>max(Ri, j-1, Ri-1, j)时(见图 3(a)),如果Ri, j-1>Ri-1, j,那么在P′i, j左侧的垂直方向上很可能存在明显的垂直边缘,此时最佳预测值为Ri-1, j;反之则很可能在上方存在明显的水平边缘,此时最佳预测值为Ri, j-1。类似地,图 3(b)展示了Ri-1, j-1 < min (Ri, j-1, Ri-1, j)时,P′i, j的选择依据。
此外,如果R-MED没有检测到明显的水平或垂直边缘,将采取模仿水平/垂直方向相邻点变化趋势的预测策略。如图 3(c)所示,P′i, j周围的参考点并不满足式(2)的前两个条件,表明该区域变化平坦没有复杂纹理。P′i, j上方参考点的数值由20降低到18(-2),左侧参考点的数值由20增加到21(+1),因此P′i, j模仿上方的变化趋势得到P′i, j=Ri, j-1-2=21-2=19,或模仿左侧的变化趋势得到P′i, j=Ri-1, j+1=18+1=19。
2.2 R-MED算法应用通过上述分析,证明R-MED适合应用到H.26X残差图像的二次预测中。如图 1(c)所示,本文对经过H.26X帧内预测后,进行熵编码前的预测残差进行再处理。以PU为基本单位,将各PU的首行、首列作为参考点,对剩下的数据点逐点应用R-MED算法并计算新的残差Di, j
${{D}_{i, j}}=\left\{ \begin{matrix} {{R}_{i, j}}, & i=0\ \text{or}\ j\text{=0} \\ {{{{P}'}}_{i, j}}-{{R}_{i, j}}, & \text{otherwise} \\ \end{matrix} \right. $ | (3) |
然后分别计算处理前后的残差总能量:
${{E}_{\text{src}}}=\sum\nolimits_{i}{\sum\nolimits_{j}{R_{i, j}^{2}}} $ | (4) |
${{E}_{\text{R-MED}}}=\sum\nolimits_{i}{\sum\nolimits_{j}{D_{i, j}^{2}}} $ | (5) |
最后选择总能量较小的一组进行熵编码。通过残差的总能量判断是否选用经过二次处理的残差是因为,H.26X在对预测残差进行编码前,需要使用哥伦布-莱斯码或指数哥伦布码对其进行二值化,二值化后码字的长度将与残差的绝对幅值呈指数关系[16]。图 4是一个4×4的预测单元经过H.265+R-MED算法处理前后的效果,其残差总能量明显降低。
为了验证R-MED算法的有效性,统计了在H.265标准下,部分测试序列第一帧经过算法处理后整体能量的变化率。统计结果如表 1所示,同时绘制测试序列“KristenAndSara”第一帧经过算法处理前后的残差图像,如图 5所示。统计结果显示单帧图像的残差能量平均降低67.9%,观察“KristenAndSara”第一帧的残差图像发现边缘特征极大减少,证明R-MED算法对预测残差图像有很准确的预测能力。
R-MED算法分别在H.265参考软件HM-SCC-16[17]和H.266参考软件VTM-12[18]中实现,并在视频联合专家组制定的公共测试条件下使用全帧内(all intra, AI)配置进行实验。为了证明算法的适用性,测试序列使用专家组推荐的ClassA-ClassF共6类25个序列,测试序列的相关属性及R-MED算法对比H.265及H.266的测试结果见表 2、3。
与H.265参考软件HM-16相比,经过R-MED算法处理的视频序列达到了最大18.45%,平均7.04%的码率优化,平均编码时间仅增加4%,同时由于经过处理的待编码残差能量大幅减少,缓解了后续熵编解码器的压力,因此平均解码速度加快5%,另外还证明比HEVC-SCC扩展标准中的RDPCM性能更好;与H.266参考软件VTM-12相比,视频码率达到了最大17.36%,平均5.98%的优化,编码时间平均增加17%,解码速度提升17%,同时证明比H.266标准中的BDPCM性能更好。
此外,为了证明R-MED算法性能良好,在表 4、5中给出了近年多种针对H.265无损帧内编码的优化算法与R-MED算法的性能比较。表中数据指对比H.265跳过变换量化方案的优化程度。由于大部分文献并未给出完整的测试序列的实验数据,因此仅能对比表 4所示的5个测试序列的性能。
上述算法中,文献[11]提出的SAP+SWP2+DTM方案获得了最佳的码率优化,但编解码时间大幅增加。相比之下R-MED以增加少量编码时间的代价获得了可观的码率优化,证明所提算法具有较高的实用价值。
4 结论针对H.26X系列编码标准中,无损帧内预测得到的残差仍保留特殊的空间相关性,整体待编码残差能量较高的问题,提出了基于残差中值边缘检测的无损帧内编码优化算法。算法通过对预测残差进行边缘检测得到高准确度的预测值,由此计算得到新的能量大幅降低的残差值。在H.265与最新的H.266标准的参考软件中应用提出的优化算法,平均码率分别降低7.04%和5.98%,编解码时间变化细微,具有显著的实用价值。同时该算法具有很强的通用性,可在H.26X系列标准中应用,也可与各种帧内预测优化方法结合使用,甚至有可能在编码结构相似的数字音视频编码技术标准(audio video standard, AVS)、AV1(AOMedia Video 1)标准中应用。不足的是,文中描述的算法暂时只能应用在无损编解码中,今后的工作将研究R-MED算法与其他优化算法的联合应用,并将该方法拓展到有损编码、帧间编码。
[1] |
WIEN M, BROSS B. Versatile video coding——Algorithms and specification[C]//2020 IEEE International Conference on Visual Communications and Image Processing (VCIP). Macau: IEEE Press, 2020: 1. DOI: 10.1109/VCIP49819.2020.9301820
|
[2] |
SULLIVAN G J, OHM J R, HAN W J, et al. Overview of the high efficiency video coding (HEVC) standard[J]. IEEE Transactions on Circuits and Systems for Video Technology, 2012, 22(12): 1649. DOI:10.1109/TCSVT.2012.2221191 |
[3] |
MARPE D, WIEGAND T, SULLIVAN G J. The H.264/MPEG4 advanced video coding standard and its applications[J]. IEEE Communications Magazine, 2006, 44(8): 134. DOI:10.1109/MCOM.2006.1678121 |
[4] |
DE-LUXÁN-HERNÁNDEZ S, VENUGOPAL G, GEORGE V, et al. A fast lossless implementation of the intra subpartition mode for VVC[C]//2020 IEEE International Conference on Image Processing (ICIP). Abu Dhabi: IEEE, 2020: 1118. DOI: 10.1109/ICIP40778.2020.9191103
|
[5] |
MRAK M, XU Jizheng. Improving screen content coding in HEVC by transform skipping[C]//2012 Proceedings of the 20th European Signal Processing Conference (EUSIPCO). Bucharest: IEEE, 2012: 1209
|
[6] |
KAMISLI F. Lossless image and intra-frame compression with integer-to-integer DST[J]. IEEE Transactions on Circuits and Systems for Video Technology, 2019, 29(2): 502. DOI:10.1109/TCSVT.2017.2787638 |
[7] |
SANCHEZ V, AULÍ-LLINÀS F, SERRA-SAGRISTÀ J. Piecewise mapping in HEVC lossless intra-prediction coding[J]. IEEE Transactions on Image Processing, 2016, 25(9): 4004. DOI:10.1109/TIP.2016.2571065 |
[8] |
XU Jizheng, JOSHI R, COHEN R A. Overview of the emerging HEVC screen content coding extension[J]. IEEE Transactions on Circuits and Systems for Video Technology, 2016, 26(1): 50. DOI:10.1109/TCSVT.2015.2478706 |
[9] |
ZHOU Minhua, GAO Wen, JIANG Minqiang, et al. HEVC lossless coding and improvements[J]. IEEE Transactions on Circuits and Systems for Video Technology, 2012, 22(12): 1839. DOI:10.1109/TCSVT.2012.2221524 |
[10] |
SANCHEZ V, LLINÀS F A, RAPESTA J B, et al. Improvements to HEVC intra coding for lossless medical image compression[C]//2014 Data Compression Conference. Snowbird: IEEE, 2014: 423. DOI: 10.1109/DCC.2014.76
|
[11] |
WIGE E, YAMMINE G, AMON P, et al. Sample-based weighted prediction with directional template matching for HEVC lossless coding[C]//2013 Picture Coding Symposium (PCS). San Jose: IEEE, 2013: 305. DOI: 10.1109/PCS.2013.6737744
|
[12] |
元辉, 常义林, 卢朝阳, 等. 一种降低预测模式开销的帧内预测方法[J]. 西安电子科技大学学报, 2010, 37(6): 981. YUAN Hui, CHANG Yilin, LU Zhaoyang, et al. Intra prediction method for reducing prediction mode information[J]. Journal of Xidian University, 2010, 37(6): 981. DOI:10.3969/j.issn.1001-2400.2010.06.001 |
[13] |
ZHANG Kai, CHEN Jianle, ZHANG Li, et al. Enhanced cross-component linear model for chroma intra-prediction in video coding[J]. IEEE Transactions on Image Processing, 2018, 27(8): 3983. DOI:10.1109/TIP.2018.2830640 |
[14] |
LI Jiahao, LI Bin, XU Jizheng, et al. Efficient multiple-line-based intra prediction for HEVC[J]. IEEE Transactions on Circuits and Systems for Video Technology, 2018, 28(4): 947. DOI:10.1109/TCSVT.2016.2633377 |
[15] |
WEINBERGER M J, SEROUSSI G, SAPIRO G. The LOCO-I lossless image compression algorithm: principles and standardization into JPEG-LS[J]. IEEE Transactions on Image Processing, 2000, 9(8): 1309. DOI:10.1109/83.855427 |
[16] |
SOLE J, JOSHI R, NGUYEN N, et al. Transform coefficient coding in HEVC[J]. IEEE Transactions on Circuits and Systems for Video Technology, 2012, 22(12): 1765. DOI:10.1109/TCSVT.2012.2223055 |
[17] |
BOSSEN F, SUEHRING K, IWAMURA S, et al. HEVC reference software HM-16[CP/OL]. [2021-03-18]. https://vcgit.hhi.fraunhofer.de/jvet/HM
|
[18] |
BOSSEN F, GALLASSO M P, WIECKOWSKI A, et al. VVC reference software VTM-12.0[CP/OL]. [2021-02-01]. https://vcgit.hhi.fraunhofer.de/jvet/VVCSoftware_VTM
|