视频信息的增长使得高效的视频编码显得尤为重要,人们对视频质量的要求也越来越高.现有的高效视频编码标准(high efficiency video coding,HEVC)是以优化峰值信噪比(peak signal to noise ratio,PSNR)为目标,存在着大量的视觉冗余,比特分配的过程中并没有考虑人类视觉系统(human visual system,HVS)[1]对视频场景的差异化感知.利用HVS的视觉特性,能够更有效地进行比特分配,获得较好的主观质量.文献[2]将结构相似度(structural similarity,SSIM)加入到误差平方和(sum of squared error,SSE)的计算中,将两者结合进行率失真优化,再根据率失真函数修正拉格朗日因子.文献[3]利用SSIM的倒数的衍生式替代SSE,并根据视频图像中的运动信息指导率失真优化.文献[4]利用视觉显著性,在保持视频主观质量的前提下进一步提高压缩效率.基于SSIM与视频显著性从一定程度上提高了视频编码的感知质量,但是SSIM和视频显著性与人眼主观感知一致性有限.理论上,与人眼主观感知最一致的失真测度是恰可感知失真(just noticeable distortion,JND).JND是视频编码方向常见的视觉计算模型,该模型反映了人眼恰可感知到的主观失真阈值[5],可以结合人类视觉系统的多种感知特性,利用分通道处理以及信息融合的方式得到最合适的视觉感知阈值.因此,众多学者构建了各种JND模型,比如像素域JND模型[6-7]、变换域JND模型[8-9]等.在基于像素域的JND模型探索中,文献[10]建立了基于纹理特性、亮度信息和时域掩盖效应的JND计算模型;结合HVS特性,文献[11]通过像素域建模与变换域建模已被应用于图像处理与视频编码.文献[12]和文献[13]在此基础上结合人眼时域相关感知特性,使感知模型计算精准度得到进一步提升.目前结合JND的视频编码方案只能提供从“不可感知”到“恰可感知”的失真模型,事实上人眼在视频失真的感知过程中存在多个JND等级.多JND等级可以描述不同编码参数、不同视频内容下人眼对失真的真实感知程度,因此本研究利用主观实验探究视频的多JND等级,从感知失真的角度优化视频编码.1 视频多JND等级模型1.1 图像多JND模型从图像出发,图像的结构是图像的总体特征.根据影响人眼感知质量的图像内容特征(纹理复杂度、纹理规则性)以及人脸这个独特的因素,将图像划分为人脸区域、平坦区域、纹理中等几何不规则(medium texture and irregular geometry,MTIG)区域、纹理中等几何规则(medium texture and regular geometry,MTRG)区域、纹理复杂区域.图像区域分类基本流程如图1所示.10.13245/j.hust.210903.F001图1图像区域分类步骤对标准测试序列Johnny进行截取得到用于测试的人脸区域.对除人脸外其他单一类型的视频序列进行拍摄,拍摄的图像缩略图如图2所示.10.13245/j.hust.210903.F002图2拍摄的不同类型视频序列主观实验选取3位图像/视频领域的专业人员和 12 位非专业人员,共15位.其中男性9名,女性6名.根据主观实验方法,对每幅实验图像进行主观实验,并找到每幅图像的所有JND点,即不同的编码量化参数(Qn),不同图像的Qn构成了不同图像的多JND等级.通过大量的主观实验发现,在Qn为27之前很难察觉到失真.因此对每个实验图像使用不同的Qn(27~51,步长为1)进行编码,编码器使用HM16.5,编码配置为lowdelay_P.原始图像为未编码图像,待测试图像为Qn=27对应的重建图像.观察者使用side-by-side方式观察两幅图像,若观察不到差异则将测试图像替换为编码Qn=28对应的重建图像.若可观察到差异则将Qn=27对应的重建图像记录为Js,1,并将对比图像替换为Qn=27对应的重建图像,待测试图像为Qn=28对应的重建图像,依次类推寻找到所有的JND点.在观察JND点的过程中,规定当某个JND点有75%以上的观测者观察到与上一感知失真等级有差别时对应的Qn为下一个感知失真等级.实验结果如图3所示,给出了多JND等级的主观感知失真测度Js,n与Qn之间的关系模型.10.13245/j.hust.210903.F003图3不同区域编码Qn与主观JND等级的关系通过图3可以观察出,图像Js,n与Qn之间的关系可用线性模型近似表示,即Js,n=ωQn+β,其中:ω为拟合曲线的斜率;β为拟合曲线的截距,ω和β取值如表1所示.10.13245/j.hust.210903.T001表1模型参数取值区域类别ωβ人脸0.378 5-11.04平坦0.209 2-6.16MTIG0.283 1-8.64MTRG0.340 0-10.06复杂0.258 5-8.12当人眼对某类别区域的敏感度较高时,Qn在27~51范围内的JND点会增加,即Qn轻微变化就会引起视频观测者的察觉,这时拟合曲线比较陡峭,斜率ω的值比较大,即拟合曲线的斜率ω值越大,人眼对该类别区域的敏感度越高,该类别区域编码导致的失真越容易引起观测者的察觉.1.2 视频多JND模型人眼对于视频中不同速度的物体有不同的感知特性.选取图2所示的素材,通过移动相机来控制视频序列的速度,将视频分类为静止、慢速、中速和快速,进而通过建立每个视频的JND等级来研究人眼对待测速度的敏感程度.五个类别的图像都呈现以下特点:在慢速运动时人眼对其失真敏感,静止与中速运动次之,快速运动时人眼对其感知敏感性降低.不同类别的图像,人眼对其不同运动速度下的敏感性差异程度也不一样.由主观实验可以观察出:对于同一区域类别,当速度由慢至快变化时,每个JND等级对应的起始Qn变化较均匀.对于同一主观失真等级,与视频内容静止时的Qn相比,慢速运动对应的Qn偏小,而中速和快速运动对应的Qn偏大.根据主观JND等级数据处理可得到每种类别的每个速度相对于其静止时的Qn差(ΔQ),如表2所示,因此视频主观感知失真测度Jv,n与ΔQ之间的关系为Jv,n=ωQn+β+ΔQ.10.13245/j.hust.210903.T002表2同一主观失真等级下相对于静止的ΔQ区域类别慢速中速快速平坦-312MTIG-113MTRG-212复杂-2142 基于多JND等级的感知视频编码2.1 整体框架本文整体步骤如下所示:步骤1 输入编码视频,进行人脸检测,并根据纹理的复杂度与规则性判断其他编码树单元(coding tree unit,CTU)的类别;步骤2 判断该编码帧是否为I帧(intra picture),是则跳转到步骤3,否则跳转到步骤4,若编码完毕,则结束编码;步骤3 根据各CTU的类别对应其斜率,即该块平均绝对误差(MAD)的权重,计算各CTU的每像素比特数、lambda,计算最终Qn,并跳转到下一帧,返回步骤2;步骤4 根据原HM算法计算出各CTU的比特分配及Qn,根据各CTU的类别及运动复杂度查表得到ΔQ来调整各CTU的Qn,并跳转到下一帧,返回步骤2.其中步骤3是对帧内编码帧的CTU层比特分配算法进行改进,步骤4是对帧间编码帧的CTU层比特分配算法进行改进,这两部分将在第2.3节进行详细讨论.2.2 视频CTU的分类首先将图像划分为若干个64×64的块,使用OpenCV中的Adaboost算法对图像中的人脸进行检测,并将包含人脸区域的块标记为人脸区域.其次对其他的CTU块进行纹理规则性的检测,分别标记出纹理平坦区域、纹理中等区域与纹理复杂区域,再次对纹理中等的区域进行纹理规则性的检测,划分为MTIG区域与MTRG区域.采用梯度最大加权平均值(maximal weighted average of gradients)作为衡量纹理复杂度的客观测度[10].该算法通过对图像进行简单运算可快速得到纹理复杂度.用四个方向高通滤波器来检测出四个不同方向的梯度值,每个像素点取最大的梯度值来得到一个最大梯度矩阵,再将该矩阵求平均得到图像梯度的最大加权平均值来表征图像纹理复杂度.经过计算及实验得出当纹理复杂度为[0,5)时,定义为纹理平坦区域;纹理复杂度为[5,20)时,定义为纹理中等区域;纹理复杂度为[20,+∞)时,定义为纹理复杂区域.值得注意的是,采用更复杂的算法衡量纹理复杂度可能会带来更准确的结果,但同时会伴随着算法复杂度的提升和编码时间的增加.本研究所指的规则性是指图像纹理的几何规则性,使用基于支持向量机(SVM)的图像纹理规则性进行客观测度.选取与纹理规则性相关的四个特征量(能量,逆差矩,熵,对比度)作为输入数据,寻找了47幅图像作为训练集(其中30幅不规则图像,17幅规则图像)进行训练,实现软件为C++ OpenCV,核函数使用RBF高斯径向基核函数,输入计算图像灰度矩阵的四个参数(能量、逆差矩、熵、对比度),输出为图像的二分类结果(MTIG、MTRG).最终通过训练得到用于图像规则性检测的SVM模型.采用文献[14]使用的基于背景掩模的帧间差值作为视频运动快慢特性的衡量.通过对多个视频的编码及主观实验可以观察出:对于运动速度,当计算结果为[0,8)时,定义为静止;当计算结果为[8,20)时,定义为慢速;当计算结果为[20,40)时定义为中速;当计算结果为[40,+∞)时定义为快速.2.3 感知比特分配与编码本文算法的目标为根据当前帧的目标比特数以及各CTU的分类,以优化感知质量为目标,为帧内每个CTU分配合理的目标比特数.在视频编码标准中,离散余弦变换(discrete cosine transform,DCT)系数通常服从拉普拉斯分布,其率失真函数为R(D)=ln(αD)-1 (0D≤α-1);0 (Dα-1), (1)式中:α为与视频内容特性相关的参数;D为表示客观失真程度的参数.对于拉普拉斯信源,α=2/σ,其中σ为DCT系数的标准差,σ2=kσj2,σj2为变换前视频残差信号的方差.由于残差信号的MAD通常被用于反映残差信号的方差,且易于计算,因此可以认为式(1)中的α就是残差信号的MAD.在帧内编码中,假设感知失真Dp与客观失真之间存在线性关系,即Dp=ωD,则由式(1)可以得到:R(Dp)=ln(αωD)-1 (0ωD≤ α-1);0 (ωDα-1). (2)因此,∂Di/∂Ri=-(αiωi)-1e-R,(3)式中:Ri为第i个CTU的目标比特数;Di为第i个CTU的感知失真;αi为第i个CTU残差信号的MAD;ωi由CTU的主观失真和客观失真之间的关系得到.最小化率失真代价J=D+λR,其中λ可由当前帧的目标比特数Rc预测得到,则最优解须要满足∂J/∂Ri=0,即∂Dp/∂Ri=-λ.(4)由式(3)和(4)可以得到Ri=-ln(αiωiλ).可见不同CTU间的最优目标比特数之间有如下关系Ri/Rj=ln(αiωiλ)/ln(αjωjλ).因此,第i个CTU分配的目标比特数为Ri=Rcln(αiωiλ)/∑j=1Mln(αjωjλ),(5)式中M为当前帧内CTU的个数.综上可见:使用式(5)即可实现一帧内所有CTU的目标比特数分配,即可计算出每像素目标比特数b.在对帧内编码帧的码控算法改进中,将各CTU类别对应的Js,n-Qn线性拟合斜率ωi作为块MAD的权重,计算出每个CTU带权的bi,然后计算每个CTU对应的拉格朗日因子λ=αbβ,其中α和b与视频内容特性有关,使用与当前图像处于相同层且距离最近的图像编码完后的更新值.最后根据Qn和ln λ之间的线性关系[15]Qn=4.200 5ln λ+13.712 2来确定每个CTU的Qn.在对帧间编码帧的比特分配算法进行改进中,根据HM16.5中原码率控制算法进行计算,对于每个CTU计算获得的Qn,根据该CTU的类别及运动速度(快、中、慢)从表2中得到相应的ΔQ来对原算法计算得到的Qn进行调整.由于合适的人脸类别不同运动速度的单一内容实验序列难以获取,因此表2中没有人脸类别的ΔQ.通过理论分析与编码试验将算法中人脸类别的ΔQ设置为-1和-2,其中慢速为-2,中速快速为-1.3 实验结果在HM16.5上测试提出算法的性能,使用lowdelay_P编码格式进行编码,目标码率分别为512 kbit/s,1.0×106 bit/s和1.5×106 bit/s.表3为3个序列在不同码率下的编码码率、PSNR、SSIM以及编码时间对比,可以看出提出的算法在实际编码码率与HM16.5相似的情况下,序列整体客观质量与HM16.5相近.10.13245/j.hust.210903.T003表3本文算法与HM16.5算法结果对比视频限制码率/106HM16.5本文算法码率/(kbit·s-1)PSNR/dBSSIM编码时间/s码率/(kbit·s-1)PSNR/dBSSIM编码时间/sKimono1.51 500.1135.640.9221276.741 500.2435.880.9211 402.45Office1 500.8835.410.956296.161 498.7434.840.956318.45Squirrel1 500.4833.270.941801.391 506.2733.010.940867.12Kimono1.01 000.0733.810.8951126.841 000.1333.810.8941 212.51Office1 000.2634.800.952258.101 000.8034.340.951265.17Squirrel998.5231.850.918739.73994.3931.810.915808.99Kimono0.5500.0830.990.822902.78500.0831.070.825982.53Office500.0533.160.938198.79499.7433.140.938201.99Squirrel500.0629.880.872602.93500.0029.880.872662.59Average—1 000.0633.200.91689.271 000.0433.090.91746.87由于本文算法须要在编码端增加人脸检测、区域分类等步骤,因此在上述测试条件下编码时间平均增加了7.29%,但对解码复杂度没有任何影响.图4~6给出了编码主观质量的示意图.图4为Kimono序列在码率1.5M码率限制下,第40帧的图像及局部放大图,HM16.5编码结果下局部PSNR10.13245/j.hust.210903.F004图4Kimono序列第40帧的图像及局部放大图对比10.13245/j.hust.210903.F005图5Squirrel序列第50帧的图像及局部放大图对比10.13245/j.hust.210903.F006图6Office序列第43帧的图像及局部放大图对比为36.38 dB,SSIM为0.904,本文算法下局部PSNR为37.35 dB,SSIM为0.919;图5给出了Squirrel序列在码率1M码率限制下,第50帧的图像及局部放大图,HM16.5编码结果下局部PSNR为30.78 dB,SSIM 为0.851,本文算法下局部PSNR为31.71 dB,SSIM 为0.889;图6为Office序列在0.5M码率限制下,第33帧的局部放大图,HM16.5编码结果下局部PSNR为32.94 dB,SSIM为0.892,本文算法下局部PSNR为33.63 dB,SSIM为0.903.从各图中的局部放大图可以看出:本文算法在相同的编码码率下,均能提供比HM16.5更好的主观质量,且人眼关注区域的局部PSNR与SSIM均有较为明显的提升,验证了感知编码算法的有效性.本文算法通过多JND等级的感知模型,对不同视频区域分配不同的码率,利用不同视频质量多JND等级模型对传统编码器进行优化.与传统编码器相比,在编码码率相似,客观PSNR与HM16.5相似的情况下,本文算法编码的视频细节信息丰富,主观质量优于HM16.5中的原算法.
使用Chrome浏览器效果最佳,继续浏览,你可能不会看到最佳的展示效果,
确定继续浏览么?
复制成功,请在其他浏览器进行阅读
复制地址链接在其他浏览器打开
继续浏览