APP下载

应用于H.26X的通用无损帧内编码优化算法

2021-08-11林庆毫翁晓雨陈国捷

哈尔滨工业大学学报 2021年8期
关键词:码率残差编码

林 敏,林庆毫,翁晓雨,陈国捷

(特种光纤与光接入网重点实验室(上海大学),上海 201900)

高级视频编码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))。

图1 H.26X帧内编码过程Fig.1 H.26X intra-frame coding process

帧内预测是H.26X无损帧内编码的核心部分。对每个预测单元(prediction unit,PU),H.26X执行帧内预测得到相应的预测残差Ri,j为

Ri,j=Pi,j-Ii,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最小尺寸的限制,角度预测在图像中纹理丰富的区域始终无法得到良好的预测结果;其次,当被预测块靠近参考像素的边沿存在不连续性时,角度预测很可能会插入原始块中本不存在的方向性条纹。

图2 “KristenAndSara”第一帧及其帧内预测的残差(亮度)Fig.2 First frame of “KristenAndSara”and its intra-frame prediction residuals (luma)

2 基于残差中值边缘检测的无损帧内编码

针对预测残差图像中存在丰富的边缘特征这一统计结果,本文提出了基于残差中值边缘检测(residual median edge detection,R-MED)的无损帧内编码算法。算法通过对预测残差进行二次预测,有效地压缩了残差图像中丰富的边缘特征,从而降低待编码系数的整体能量,最终降低视频码率。

2.1 残差中值边缘检测算法

(2)

图3 R-MED的预测策略Fig.3 Prediction strategy of R-MED

2.2 R-MED算法应用

通过上述分析,证明R-MED适合应用到H.26X残差图像的二次预测中。如图1(c)所示,本文对经过H.26X帧内预测后,进行熵编码前的预测残差进行再处理。以PU为基本单位,将各PU的首行、首列作为参考点,对剩下的数据点逐点应用R-MED算法并计算新的残差Di,j

(3)

然后分别计算处理前后的残差总能量:

(4)

(5)

最后选择总能量较小的一组进行熵编码。通过残差的总能量判断是否选用经过二次处理的残差是因为,H.26X在对预测残差进行编码前,需要使用哥伦布-莱斯码或指数哥伦布码对其进行二值化,二值化后码字的长度将与残差的绝对幅值呈指数关系[16]。图4是一个4×4的预测单元经过H.265+R-MED算法处理前后的效果,其残差总能量明显降低。

图4 一个经过R-MED处理的预测单元Fig.4 A prediction unit processed by R-MED

为了验证R-MED算法的有效性,统计了在H.265标准下,部分测试序列第一帧经过算法处理后整体能量的变化率。统计结果如表1所示,同时绘制测试序列“KristenAndSara”第一帧经过算法处理前后的残差图像,如图5所示。统计结果显示单帧图像的残差能量平均降低67.9%,观察“KristenAndSara”第一帧的残差图像发现边缘特征极大减少,证明R-MED算法对预测残差图像有很准确的预测能力。

表1 应用H.265+R-MED算法后残差能量的变化率Tab.1 Reduced ratio of residual energy processed by H.265+R-MED

图5 “KristenAndSara”的预测残差经过R-MED处理后的结果(亮度)Fig.5 Output of prediction residual of “KristenAndSara”processed by R-MED (luma)

3 实验结果与分析

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。

表2 R-MED算法应用在H.265及H.266的码率优化Tab.2 Bit rate optimization of R-MED algorithm applied in H.265 and H.266

与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个测试序列的性能。

表3 R-MED算法应用在H.265及H.266的性能统计Tab.3 Performance statistics of R-MED algorithm applied in H.265 and H.266 %

表4 R-MED与其他算法的码率优化(对比H.265)Tab.4 Bit rate optimization of R-MED and other algorithms (versus H.265) %

表5 R-MED与其他算法的性能统计(对比H.265)Tab.5 Performance statistics of R-MED and other algorithms (versus H.265) %

上述算法中,文献[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算法与其他优化算法的联合应用,并将该方法拓展到有损编码、帧间编码。

猜你喜欢

码率残差编码
基于缓存补偿的视频码率自适应算法
基于残差-注意力和LSTM的心律失常心拍分类方法研究
基于双向GRU与残差拟合的车辆跟驰建模
移动视频源m3u8多码率节目源终端自动适配技术
生活中的编码
一种基于HEVC 和AVC 改进的码率控制算法
基于残差学习的自适应无人机目标跟踪算法
《全元诗》未编码疑难字考辨十五则
子带编码在图像压缩编码中的应用
基于深度卷积的残差三生网络研究与应用