HEVC色度帧内预测模式搜索优化

2021-08-07 10:26高搴桧
现代计算机 2021年17期
关键词:色度亮度编码

高搴桧

(上海交通大学电子信息与电气工程学院,上海 200240)

0 引言

视频是多媒体技术中重要的信息载体,而视频应用的核心技术就是视频编码,也称为视频压缩,目的是尽可能去除视频数据中的冗余成分,减少表征视频的数据量,便于视频存储与实时传输。新一代视频编码标准——高性能视频编码(High Efficiency Video Coding,HEVC)是目前主流的国际正式标准,与前代AVC/H.264标准相比,HEVC/H.265在同样的编码质量下将压缩效率提高了50%左右,软硬件实现也具有更好的实用性[1]。

预测编码是视频编码中的核心技术,其中帧内预测利用当前图像内的相邻已编码块的像素重建值对待编码块进行预测填充,可以有效去除视频的空域相关性。由于待编码像素块的预测值往往和它的真实像素值相差无几,因此,帧内预测对预测残差而不是原始像素进行编码和传输,可以节省编码比特数,大幅提高编码效率。在实际的高清视频应用中,为了达到实时编码,编码器硬件对流水时序的要求很高。然而在HEVC官方测试模型HM中,色度帧内预测模式依赖于亮度分量最终模式的确定,其搜索过程需在亮度帧内预测模式搜索结束并延迟一段周期之后才能启动,这将导致帧内预测编码阶段占据非常长的时钟周期。为了实现硬件流水线优化,可以在传统算法的基础上适当做一些预搜索改进。本文基于HM传统帧内预测算法的基本思想,提出了色度帧内预测模式搜索优化算法,并在不同类别的视频测试序列下进行性能测试。

1 传统帧内模式搜索算法描述

预测单元(PU)是预测编码的基本单元,每个PU包含1个亮度预测块(PB)和2个色度预测块。两个色度PB分别对应Cb、Cr分量信息,同一亮度PB的两个色度PB共享同一个彩色帧内预测模式。帧内PU的划分分为2N×2N和N×N两种划分模式,如图1所示。其中2N×2N划分模式指对于8×8、16×16、32×32、64×64全尺寸的CU,PU尺寸与CU尺寸相同,不再向下划分;N×N划分模式只针对最小尺寸即8×8大小的CU,PU可选择继续往下划分为4个4×4大小的PU,该划分模式比较适应图像的局部统计特性,可获得更加准确的帧内预测结果[2]。

图1 帧内预测PU的划分

本文采用的视频测试序列均为 4 ∶2 ∶0色度采样格式。由于亮度PB和色度PB的最小尺寸均为4×4,在 4 ∶2 ∶0色度采样格式下采用N×N划分模式,8×8亮度PB会向下划分为4个4×4的亮度PB,4个亮度PB可以采用不同的帧内亮度预测模式;而色度PB受尺寸制约将不再继续划分,此时色度PB虽然像素尺寸为 4×4,但其实覆盖了整个8×8图像区域的像素点。HEVC通过遍历CU下的每一种PU划分情况,以PU为基本单元,分别进行亮度、色度帧内预测。

1.1 亮度模式搜索过程

HEVC的亮度分量帧内预测共支持35种预测模式,如图2所示。其中模式0为平面(Planar)预测模式,适用于像素值呈渐变趋势的区域;模式1为直流(DC)预测模式,适用于图像的大面积平坦区域;模式2-34为角度预测模式,预测像素值由当前像素位置按照模式规定方向向参考像素数组进行映射获取,下图中的33个预测方向用格数来表示角度。

图2 HEVC帧内预测模式

相比于H.264/AVC标准中仅采用9种帧内预测模式,HEVC帧内预测模式的增加会显著提高编码效率。但由于所需率失真优化(RDO)计算次数大幅增加,编码过程将变得更加复杂且耗费时间。因此,HM模型默认使用帧内快速搜索算法,分为粗略的模式决策(Rough Mode Decision,RMD)和RDO判决两个阶段进行[3]。在RMD阶段,对参考像素值进行填充和平滑滤波后,遍历35种帧内预测模式,通过参考像素计算出每种模式下的预测像素值及每种模式基于哈达玛变换的率失真代价JRMD:

JRMD=SATD+λ·RHADmode

(1)

其中,SATD作为失真量度,是源图像的原始亮度像素值与预测块的预测像素值相减得到的预测残差经哈达玛变换后的绝对值误差和;λ是基于量化参数(QP)确定的拉格朗日乘子;RHADmode表示相应模式进行编码时的码率比特数。通过从35个模式中选取相应数量的JRMD最小的模式,构建全率失真优化候选模式列表,RMD阶段候选模式数量与PU尺寸的关系如表1所示。

表1 RMD阶段候选模式数量

为进行高效编码,HEVC为每个帧内PU引入了3个最可能模式(Most Probable Mode,MPM),MPM由当前PU左侧和上方的相邻已编码块的模式确定,所选取的相邻PU的位置如图3所示。在确定全率失真优化候选模式列表后,构建MPM列表进行补充,并开始启动RDO判决阶段。

图3 MPM列表参考块位置关系

在RDO判决阶段,HEVC遍历RMD全率失真优化候选模式列表中的每个模式,利用:

JRDO=SSD+λ·Rtotal

(2)

计算出每种模式的率失真代价JRDO,式中SSD为误差平方和。式(2)与式(1)相比,用SSD计算的率失真代价包含各模式的实际编码过程(变换、量化、反变换、反量化、重建等),计算量巨大的同时提升了模式决策的准确度;而相比于Rtotal,RHADmode中减少了对残差数据的编码,减少了运算复杂度。最终,选取JRDO最小的模式作为亮度分量帧内预测模式。

1.2 色度模式搜索过程

在确定最终的亮度帧内预测模式后开始执行色度帧内预测模式的搜索。色度分量在帧内预测中共采用5种预测模式:

(1)色度模式0——Planar模式,相当于亮度模式0;

(2)色度模式1——垂直模式,相当于亮度模式26;

(3)色度模式2——水平模式,相当于亮度模式10;

(4)色度模式3——DC模式,相当于亮度模式1;

(5)色度模式4——亮度分量的最终模式X(0 ≤ X ≤ 34)。

若亮度分量的最终模式X是亮度模式集{0,26,10,1}(记为模式集Ψ)中的一种,则将对应的色度预测模式替换为对角模式34,如表2所示。同一亮度PB的两个色度PB建立同一个色度帧内预测候选模式列表,共享同一帧内色度预测模式。对于 4 ∶2 ∶0色度采样格式下的N×N划分模式,色度模式4将对应8×8亮度PB左上角4×4子块的亮度帧内预测模式,而不考虑另外3个亮度子块对应的预测模式。遍历以上5种模式,通过RDO判决出率失真代价最小的模式作为最优的色度分量预测模式。

表2 色度帧内预测模式

2 色度帧内模式搜索优化算法

目前,快速帧内编码算法的研究主要集中于利用CU的深度信息跳过一些不太可能选择的模式,或利用当前PU内像素的梯度信息减少进入率失真决策的帧内模式的数量[4-5],但对色度模式搜索的快速算法的研究非常少。文献[6]中虽然提出了快速色度帧内模式决策方案,降低了色度模式决策的复杂度,但对硬件流水的优化效果不明显。由于在硬件流水上,色度帧内预测编码需要等到亮度模式确定后才可以构造色度帧内预测候选模式列表,这需要等待非常长的时间。尤其当整个CTU被划分为较多8×8尺寸的CU时,CU数目较多,而如表1所示,8×8 CU在RMD阶段的候选模式数量为8,远多于其他尺寸CU的候选模式数量,这种情况下每个8×8 CU需要对8种模式做变换、量化、反量化、反变换以及进行RDO优化计算,全部亮度帧内预测编码阶段占据非常长的周期。为了在硬件流水上提前搜索色度帧内预测模式,考虑到色度帧内预测共5种预测模式,且只有色度模式4采用对应的亮度帧内预测模式,其余4种色度模式为固定模式,又考虑到色度模式命中亮度帧内预测模式的概率约70%,故而本文研究了可实现硬件流水线优化的色度帧内预测模式搜索优化算法,综合提出了六种不同的搜索优化方案并进行相互比较。这些方法如下:

(1)直接使用亮度最终模式LM作为色度最终模式。

(2)在亮度最终模式LM确定后,使用类似于亮度帧内预测RMD阶段的模式判决方法,选择色度帧内预测候选模式列表中基于哈达玛变换的率失真代价JRMD最小的模式作为色度最终模式。

(3)在亮度帧内预测RMD阶段结束后,使用亮度RMD阶段的最优模式LRM(JRMD最小)代替亮度最终模式LM,构建色度模式候选列表{Ψ,LRM}。针对N×N划分模式,将调用8×8亮度PB的第一个4×4子块在RMD阶段的最优模式作为LRM;若LRM命中模式集Ψ中的一种时,将Ψ中对应的模式替换为对角模式34。对所得到的色度模式候选列表{Ψ,LRM}中的5种模式分别进行色度RMD,即进行基于哈达玛变换的率失真优化模式判决,并选出色度最优模式、次优模式。最终,对比真正的亮度最优模式LM与RMD阶段的最优模式LRM,进行色度模式修正:如果LM=LRM,色度最优模式保持不变;如果LM≠LRM,具体模式修正操作如表3所示。

表3 模式修正方法

为了保证解码无误,用亮度最终模式LM构建真正的色度模式候选列表{Ψ,LM},并将修正后的色度最优模式与{Ψ,LM}相对比,确定最终色度帧内预测模式编号。

(4)方案D与方案C的流程基本相同,区别在于针对N×N划分模式,将调用整个8×8亮度PB在RMD阶段的最优模式作为LRM。

(5)方案E针对8×8与非8×8尺寸的CU设定了两套模式判决算法流程,如图4所示。

图4 方案E算法流程示意图

①对于8×8尺寸的CU,按照方案C的流程进行模式判决;

②对于其他尺寸的CU,首先选择出模式集Ψ中基于哈达玛变换的率失真代价JRMD最小的模式CRM。在亮度最终模式LM确定后,若LM=CRM,直接选取CRM作为最终的色度模式;若LM≠CRM,对模式LM和CRM进行RDO模式判决,对比率失真代价再确定色度最终模式。

(6)方案F与方案E的流程基本相同,区别在于针对8×8尺寸的CU采用方案D进行模式判决。

3 实验结果

本文采用了六个类别下共22个JCT-VC官方视频测试序列,在AI配置下,分别基于BD-Rate和BD-PSNR指标将以上六种色度帧内预测模式搜索优化方案与官方HM16.20模型进行性能对比。为提升实验结果的准确性,本次实验基于两组不同的QP范围对以上视频测试序列进行测试:在正常QP设置(nm)下,QP值分别取22、27、32、37;在高QP设置(lb)下,QP值分别取32、37、42、47。表4展示了在nm情况下,该六种方案与HM16.20模型的传统色度帧内预测模式搜索方案相比较的实验对比结果。表中性能数据BD-Rate和BD-PSNR均为各方案相较于HM16.20的变化量。

表4 正常QP(nm)下六种方案与HM16.20相比较的实验对比结果

综合全部的测试序列,总结各方案分别在nm和lb设置下的平均测试性能如表5所示,并列举了各方案在不同类别的典型视频测试序列下的RDO拟合曲线如图5所示。

表5 六种方案的平均测试性能数据总结

(a)ClassA/Traffic_2560×1600_30_crop-AI(b)ClassB/Kimono1_1920×1080_24-AI

通过不同视频测试序列下的RDO拟合曲线,不难看出在同一视频测试序列下各方案的RDO拟合曲线均几乎重合,说明各方案对测试序列的类型依赖性较弱,性能趋向平稳。由表5所示的各方案平均测试性能总结,可以看出各方案的性能相较于HM16.20均有不同程度的下降,但性能影响不大。考虑到本文主要目的为在硬件流水上提前搜索色度帧内预测模式,6种方案中只有方案C、D、E、F可以达到这种效果,而这4种方案中方案E的性能最好,故而最终选用方案E作为色度帧内预测模式搜索优化最优方案。方案E的性能总结如表6所示。最后,通过在NCsim上进行仿真得出:一个8×8 CU在使用原始HM帧内预测算法的情况下,从启动亮度RDO判决到得到色度最终模式共需82个时钟周期,而使用方案E后该过程仅需要60个时钟周期,可节省22个时钟周期。对于一个64×64尺寸的CTU则共可节省1408个时钟周期,硬件流水线优化效果显著。

表6 色度帧内预测模式搜索优化最优方案E性能总结

ClassD2.56511.3036-0.1119-0.0816ClassE3.11892.0569-0.1529-0.0987ClassF2.50301.4593-0.1895-0.1276

4 结语

本文提出了针对高性能视频编码器HEVC的色度帧内预测模式搜索优化算法的六种方案,并在不同类别的视频测试序列下进行性能测试。最终所选取的最优算法方案与HM16.20相比性能影响非常小,但硬件流水线优化效果显著,可用于对高清视频有实时编码需求的编码器硬件设计应用中。

猜你喜欢
色度亮度编码
用于遥感影像亮度均衡的亮度补偿方法
住院病案首页ICD编码质量在DRG付费中的应用
唐古特大黄有效成分与色度相关性分析
一招让显示器好用百倍
本本亮度巧调节,工作护眼两不误
亮度一样吗?
高效视频编码帧内快速深度决策算法
谈“理想声音的概念”在演唱中的应用
两种校准光谱辐射亮度计色度参数方法的比较研究
粉煤灰颗粒和粉煤灰处理精制棉黑液的比较