摘 要:该文提出一种新的码率控制算法,基于人眼显著性区域的检测,以优化视频编码效率。该算法利用像素级的恰可感知失真(JND)模型,精准预测人眼对图像失真感知的阈值。通过分析相邻帧间的像素值变化,识别出图像中的显著性区域,并基于JND模型进一步细分这些区域。通过构建一个多级码率分配框架,以指导不同区域的码率分配。实验结果显示,在低码率环境下,该算法能够显著提升显著性区域的视觉质量,同时保持码率控制的精确性。相比现有的HM16.9算法,在码率精确性基本不变的情况下,该文算法的BD-Rate下降0.028 9%,BD-PSNR提升0.001 6%,多个测试序列的结构相似性ΔSSIM平均提升0.000 69。
关键词:HEVC;显著性区域;码率控制;恰可感知失真模型;原始图像
中图分类号:TN919.8 文献标志码:A 文章编号:2095-2945(2024)34-0011-07
Abstract: This paper proposes a new bitrate control algorithm based on human visual saliency detection to optimize video coding efficiency. This algorithm utilizes a pixel-level Just Noticeable Distortion (JND) model to accurately predict the threshold for human eye perception of image distortion. By analyzing the pixel value changes between adjacent frames, salient regions in the image are identified, and these regions are further subdivided based on the JND model. By constructing a multi-level rate allocation framework to guide rate allocation in different regions. The experimental results show that in low-bitrate environments, this algorithm can significantly improve the visual quality of saliency while maintaining the accuracy of bit rate control. Compared with the existing HM16.9 algorithm, while the bit rate accuracy remains basically unchanged, the BD-Rate of the algorithm in this paper decreases by 0.028 9%, the BD-PSNR increases by 0.001 6%, and the average structural similarity ΔSSIM of multiple test sequences increases by 0.000 69.
Keywords: HEVC; saliency; bitrate control; Just Noticeable Distortion (JND) model; original image、
传统的图像/视频编码技术主要针对空间域冗余、时间域冗余以及统计冗余进行压缩编码,但很少考虑到人眼视觉系统特性和心理效应,因此大量视觉冗余数据被编码并传输,为了进一步提高编码的效率,基于心理学和生理学的最小可察觉失真模型广泛关注。恰可感知失真(Just Noticeable Distortion,JND)模型基于人眼视觉系统的生理特性,通过对图像中每个像素的亮度、对比度等视觉特性进行分析,来预测人眼能够察觉到的最小失真程度。常用来指导图像或视频的感知编码和处理,如预处理、码流控制、运动估计等。
新一代高效视频编码标准HEVC(High Efficiency Video Coding)标准[1]中采用的是λ域的码率控制模型,该模型主要通过拉格朗日参数λ来控制码率。针对λ域的码率控制模型的改进与优化有许多研究方向,其中将人眼视觉特性与码率控制相结合的方法是研究的热点之一。无论哪种研究方法,归根结底都是为了提升编码性能,在尽可能低的码率下,实现更优的图像质量。文献[2]采用JND计算空域视觉敏感度,通过帧差法计算时域视觉敏感度,从而获得基于空-时域的码率分配权重。文献[3]通过时\空域显著图来确定视频帧的感兴趣区域,然后指导帧级和最大编码单元(Largest Coding Unit,LCU)级比特位分配。文献[4]提出一种基于感兴趣区域(Region of Interest,ROI)和JND相结合的分级量化方法,针对低码率视频的应用,指导各区域的量化。
本文主要研究基于人眼显著性检测的码率分配算法,通过空域JND模型预测视频帧中人眼最小可察觉失真度,估计每一个LCU的码率分配权重。利用相邻帧之间的同位置上像素值差异,判断图像中的显著性区域。本文算法在HEVC的λ域码率控制模型的基础上,结合空域JND模型和时域帧差法,对视频帧显著性区域建立分级、分区域的码控策略,优化和改进原有HEVC码率控制算法,将码率更好地分配到人眼感兴趣的区域上,提高图像质量。
1 HEVC码率控制算法
目前HEVC标准采用R-λ码控模型[5],该模型已被证明要优于R-Q、R-ρ模型,其表达式为
λ=α×Rβ 。 (1)
HEVC码率控制算法主要包含2个步骤:码率分配和量化参数确定。码率分配过程分为图像组(Group of Pictures,GOP)级、帧级和LCU级,如下所示。
GOP级:根据总码率、帧率、GOP长度及已编码帧的比特消耗,预分配GOP级的比特。GOP级比特分配的计算公式
式中:RPicAvg是每帧的理论目标比特数;Ncoded是视频序列已经编码的总帧数;Rcoded是已编码帧的实际编码比特数;SW是平滑比特分配的滑动窗口,用于使比特消耗和编码图像的质量更加平缓,通常设置为40。
帧级:根据GOP级剩余比特数,为每帧图像按权重分配帧级目标比特数。在帧级码率分配中,每一帧依照自身权重与未编码内容的总权重之比在剩余的比特数中分配比特。帧级比特分配的计算公式
式中:权重参数ω是根据帧的编码结构以及bpp(bits per pixel,每像素比特数)查表决定。
LCU级:根据帧级剩余比特数,为每个LCU按权重分配目标比特数。JCTVC-M0036提案[6]采用自适应比率的方法计算每个编码单元的比特分配权重。LCU级比特分配的计算公式
式中:权重参数ω是根据前一编码单元的参数进行计算,见公式(5)。
由于率失真优化过程所获得的量化参数(Quantization Parameter,QP)的编码复杂度较高,为了降低编码复杂度,Li等[5]通过大量实验获得了ln(λ)与QP之间存在线性关系,如计算公式
, (6)
。 (7)
量化参数确定后,即可对当前图像进行编码,该图像编码完成后得到实际编码比特bpp。利用bpp更新参数α和β,以便后续图像码率控制时使用。参数具体更新方法
, (8)
,(9)
, (10)
式中:λreal表示编码中实际的拉格朗日乘子;Rreal表示编码中实际的编码比特;δα和δβ是与bpp相关的常量,用于调节公式的收敛速度。
2 基于显著性区域检测的分等级码控策略
2.1 JND预测与显著性区域检测
本文研究采用像素域中的JND模型,该模型综合考量了亮度掩蔽(Luminance Masking,LM)和对比度掩蔽(Contrast Masking,CM)两大关键视觉效应。在亮度较高的区域,人眼对亮度的变化较为敏感;而在亮度较低的区域,人眼对亮度的变化则不太敏感。在纹理复杂度高的区域,人眼对这些区域不是很敏感;而对纹理复杂度低的区域表现敏感,比如平坦区域出现块效应、噪声等,人眼很容易察觉。
借鉴文献[7]中的JND模型,本研究建立了一个能够精确映射人类视觉特性的模型。该模型通过空间掩蔽效应函数和亮度能见度函数的协同作用,精确计算了图像中每个像素区域的最大可容忍失真量,公式如下
,(11)
式中:f1和f2分别为空域掩蔽效应函数和亮度能见度函数;bg(x,y)与mg(x,y)分别表示像素(x,y)区域的背景亮度函数与最大亮度梯度函数。其中,bg(x,y)函数是通过一个加权低通滤波器计算像素(x,y)区域的平均背景亮度值,mg(x,y)函数是计算像素(x,y)周围水平、左对角、右对角和垂直4个方向亮度变化的最大加权平均值。
图1是序列BasketballPass和BQSquare的原始灰度图像,分别对应图1(a)、图1(b)。图2是经过JND模型预测得到的图像,黑色区域表示JND值较小,白色区域表示JND值较大。白色区域多数为亮度、对比度较大和纹理复杂的区域。减少这些区域的比特数分配,人眼察觉不到图像质量的变化,从而将节省的比特数用于提升其他区域的图像质量。图3为失真图像,是原始图像与JND图像的差值生成的。主观测试显示观察者难以辨识出原始图像与失真图像之间的差异。基于以上分析,该模型能够反映人眼对图像失真感知能力,从而指导LCU级码率分配权重。
时域视觉特征主要关注的是图像中像素值随时间的变化情况。由于人眼对于图像中运动物体的变化和动态特性更为敏感,更容易成为视觉注意的焦点。通过比较相邻帧之间的同位置上像素值差异,可以反映出图像中物体的运动情况。因此,采用帧差技术来精确评估视频帧之间的动态变化。定义全局双向帧差为
式中:W和H分别为当前帧的宽度和高度;fn(i,j)、 fn-1(i,j)和fn+1(i,j)分别为当前帧、前一参考帧和后一参考帧对应(i,j)位置的像素值。对于局部编码单元,引入LCU双向差值度量,其定义为
式中:lcun(i,j)、lcun-1(i,j)和lcun+1(i,j)分别为当前LCU、前一参考帧中对应LCU和后一参考帧中对应LCU编码单元(i,j)位置的像素值。由于式(12)揭示出时域上视频帧变化的平均水平,这为算法提供了一个基准:当LCU局部变化程度DLCU超出帧平均水平Dframe,这些区域更有可能吸引观察者的注意力;反之,当DLCU小于Dframe,则这些区域不太可能成为视觉焦点。
图4(a)为序列BasketballPass的原始图像,画面中的人是主要的运动区域,很显然是人眼关注的焦点。通过实验发现,图4(b)所示的白色区域为显著性区域,黑色为非显著性区域,检测结果与人眼视觉观察的区域基本吻合。因此,利用双向差分均值可以较好地反映视频中变化区域,找出显著性区域,并结合码率分配算法,提升显著性区域的图像质量。
2.2 结合JND和SR的分等级策略
传统的视频编码方法通常基于感兴趣区域(Region of Interest,ROI)进行帧内划分,但这种方法往往未能充分考虑人眼的视觉特性。为了更精细地适应人眼的视觉特性,结合JND模型和显著性区域(SR),将视频帧细分为非显著性区域(NSR)、显著性区域级别1(SR_level1)和显著性区域级别2(SR_level2)。基于这一细分,构建了一个新的三级码率分配模型,实现更优化的码率资源分配。
根据公式(11),JNDLCU和JNDframe的计算公式分别为
式中:W为图像的宽度;H为图像的高度;n为LCU的大小。
当LCU属于NSR区域时,则LCU级权重WLCU由式(16)得到。
, (16)
式中:WSLCU是空域视觉灵敏度权重,与JND(i,j)成反比;WTLCU是时域视觉灵敏度权重,计算非视觉显著性区域的D(i)平均值[2]。
当LCU属于SR区域,且JNDLCU小于阈值JNDframe时,该区域属于SR_level1,适当减少编码比特数的分配,LCU级权重WLCU由式(17)得到。
, (17)
式中:感兴趣因子P的参数η1、η2分别取值为0.2、3。WTLCU是时域视觉灵敏度权重,计算视觉显著性区域的D(i)平均值[2]。
当LCU属于SR区域,且JNDLCU大于阈值JNDframe时,该区域属于SR_level2,适当增加编码比特数的分配,LCU级权重WLCU由式(18)得到。
, (18)
式中:感兴趣因子P的参数η1、η2分别取值为0.25、20。
在视频帧的视觉分析中,引入了一个关键参数——感兴趣因子P。当SR区域占据较大的帧面积时,人眼对其的兴趣度相对降低,导致P值减小。这种视觉特性反映了人眼倾向于关注那些具有较小面积但高显著性的区域。因此,P值与SR区域的面积成反比关系,公式为
式中:Sframe是当前帧的面积;SROI是感兴趣区域的总面积;参数η1、η2决定P的取值大小和范围。
2.3 算法流程
提出的码率控制算法流程如图5所示,具体步骤如下。
步骤1:根据公式(2)获得GOP级目标比特数TGOP;
步骤2:由公式(3)计算帧级目标比特TCurrPic;
步骤3:将整帧图像划分为NSR,SR_level1,SR_le
vel2的三级码率分配区域;
步骤4:根据LCU所属区域类别,计算LCU级权重WLCU;
步骤5:将WLCU作为码率分配权重ωCurrLCU,代入HEVC的LCU级码率分配公式(4),计算每个LCU的目标比特数TCurrLCU;
步骤6:由公式(6)、公式(7)计算得到LCU级的λCurrLCU、QPCurrLCU用于编码;
步骤7:当单个LCU编码完成后,将依据公式(8)至公式(10)对R-λ模型的参数进行更新,然后返回步骤3,直到单帧的所有LCU编码完成后。
步骤8:完成单帧编码后,返回步骤2,以此循环直到GOP、视频序列编码完成。
3 实验结果
将本文提出的算法添加到HEVC的标准测试模型HM16.9中,并以HM16.9的方法为基准,从码率精确性、率失真性能等角度测试本文算法的性能。采用的配置文件为“encoder_randomaccess_main.cfg”。视频测试序列见表1。
通常采用德尔塔码率(Bjøntegaard-Delta Rate,BD-Rate)来衡量码率控制算法的率失真性能。为了方便计算BD-Rate,本文每个序列只使用4个目标码率值,见表2。
4.1码率精确性
3.1 码率精确性
码率精确性体现了算法对输出码率的控制能力,目标码码率与实际编码码率之间的误差越小,说明算法的码率控制能力越好,精确性越高。目标码率与编码实际输出码率之间误差定义为Rerror,计算公式为
式中:Rtarget为初始设置的目标码率;Ractual为编码后实际的输出码率。
从测试结果(表3)可知,本文所提算法的实际输出码率与目标码率之间的误差平均值在6.8%。本文算法与K0103算法[5]、HM16.9算法的码率控制误差基本一致。
3.2 率失真性能
率失真性能比较(以德尔塔码率(Bjøntegaard-Delta rate,BD-Rate)和峰值信噪比(Bjøntegaard-Delta PSNR,BD-PSNR)形式)是视频压缩中使用的客观度量指标,用于在目标比特率下比较2种不同视频编码器或同一视频编码器的不同算法的码率失真性能或压缩效率,是一种常用的视频编码器评价方法。表4显示了HM16.9与本文提出的新算法的测试结果。
从实验结果(表4)可知,相比HM16.9算法,本文提出的码率控制算法的BD-Rate下降0.028 9%,BD-PSNR提升0.001 6%。其中,序列BlowingBubbles的BD-Rate提升0.817 6%,BD-PSNR提升0.032 3%,在低码率下性能提升明显。
3.3 SSIM性能比较
结构相似度(Structure Similarity Index Measure,SSIM)是图像主观质量的客观评价指标,是一种常用的视频编码器评价方法。结构相似度差值定义为
, (21)
式中:ΔSSIMnew为本文提出算法的结构相似度指标值。ΔSSIManchor为HM16.9算法的结构相似度指标值。实验结果见表5。
从测试结果(表5)可知,相比于K0103算法、HM16.9算法,本文算法的SSIM值有所提高,图像的主观质量得到有效改善。以序列FourPeople为例,如图6所示,本文算法的SSIM性能表现更好。
3.4 图像主观质量
为了更好地衡量视频编码后的图像质量,基于人眼主观对编码重建视频质量作出评价,分别针对K0103算法、HM16.9算法和本文算法对HEVC标准测试序列进行比对测试。
图7是序列BlowingBubbles在目标码率150 kbps下,3种算法编码后的图像效果对比。在低码率下,本文算法的重建视频质量表现更好,小女孩的人脸部分更清晰,图像中块效应更少,明显优于其他2种算法。
4 结论
为了提高视频在有限带宽下的图像质量,本文提出一种基于人眼显著性区域检测的码率控制算法。通过像素域的JND模型来预测和指导LCU级码率分配权重。其次,采用帧差法找出图像中的SR区域。最后,结合JND模型对SR区域进行再划分,建立多级码率分配模型,指导各区域码率分配的选择。实验结果表明,相比HM16.9算法,在保证码率精确性的情况下,本文所提的分区域等级的码率分配算法更符合人眼视觉特性,能够有效提升视频的主观质量。
参考文献:
[1] SULLIVAN,OHM J G, 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-1668.
[2] 杨郑龙,王国中,朱林林.基于空-时域视觉敏感度的码率分配算法[J].计算机应用与软件,2019,36(1):239-245,276.
[3] 周建政,施伟元,毛科技.一种兴趣区域检测的H.265码率控制方法[J].浙江工业大学学报,2018,46(3):316-320.
[4] 喻莉,冯慧,张军涛,等.低码率下基于ROI与JND的分级量化方法[J].电视技术,2013,37(17):33-35.
[5] LI B,LI H,LI L. JCTVC-K0103,Rate control by R-lambda model for HEVC[S].[S.L.]: ITU-T SG16 Contribution,2012.
[6] LI B,LI H,LI L. JCTVC-M0036,Adaptive bit allocation for R-lambda model rate control in HM[C]//JCT-VC of ITU-T SG16 WP3 and ISO / IEC JTC1 / SC29 / WG11 13th Meeting,Incheon,Rep.of Korea,Doc,2013.
[7] CHUN H C, YUN C L. A perceptually tuned subband image coder based on the measure of just-noticeable-distortion profile[J].IEEE Transactions on Circuits and Systems for Video Technology,1995,5(6):467.
作者简介:亢润龙(1989-),男,硕士,助教。研究方向为视频编解码。