职场文秘网

首页 > 心得体会 > 学习材料 / 正文

应用于VVC,视频编码的感知率失真优化算法*

2023-02-05 09:05:07

何委林,李立华,熊淑华,何小海*

(1.四川大学,四川 成都 610065;
2.河北省地质矿产勘查开发局第六地质大队,河北 石家庄 050086)

为了进一步提升视频压缩性能,增强视频编码技术的通用性,国际电信联盟电信标准化部 门(International Tele-communication Union for Telecommunication Standardization Sector,ITU-T)和国际标准化组织/国际电工技术委员 会(International Standardization Organization/International Electrotechnical Commission,ISO/IEC)共同开发了新一代视频编码标准。2020 年7 月,新一代视频编码标准——多功能视频编码(Versatile Video Coding,VVC)[1]得以发布。与上一代高性能视频编码(High Efficiency Video Coding,HEVC)标准相比,VVC 标准性能提升能达到45%以上[2]。率失真优化(Rate-Distortion Optimization,RDO)是实现视频压缩失真与比特率平衡,确保编码效率的重要环节。然而,VVC 标准和HEVC 标准一样,在率失真优化中,仍然采用均方误差(Mean Square Error,MSE)等客观指标作为失真度量,未充分考虑人眼视觉感知特性,使得视频压缩编码客观质量与人眼主观视觉感受并不完全一致。

结合人眼视觉感知特性对视频编码率失真优化过程进行改进,国内外学者进行了大量的研究。比如,文献[3]提出采用结构相似度(Structure Similarity,SSIM)作为感知视觉度量指标,以代替传统的客观失真度量指标,能有效提升编码增益。文献[4]、文献[5]、文献[6]综合考虑了编码树单元(Coding Tree Unit,CTU)空间与时间感知的相关性,利用这些感知特征调整相应的拉格朗日乘子来指导率失真优化过程,并以SSIM 作为失真度量指标,能有效提升HEVC 视频感知编码性能。文献[7]提出了一种基于感知加权均方误差的RDO 模型,推导出一种新的拉格朗日乘子。

本文参考上述研究成果,通过提取CTU 的纹理和运动特征构建感知因子,对拉格朗日乘子λ进行自适应调节,并应用于CTU 编码过程,提高了VVC 视频感知编码的性能。

1.1 率失真优化

视频编码的主要目标就是在保证一定视频质量前提下尽量减少编码速率,或在限定速率条件下尽量减小编码失真。率失真优化[8]是基于率失真理论的编码参数优化方法,是保证编码器效率的主要手段,在视频编码中扮演着非常重要的角色,贯穿整个视频编码系统[9]。VVC 标准的率失真优化过程仍是基于λ选取最优编码参数集的过程。

率失真优化过程就是在限定码率RC条件下,搜寻编码参数集B中的最优编码参数,使得视频编码失真最小,即:

式中:RC为限定码率;
D(B)为使用编码参数集B中参数进行编码时的失真。该约束性问题可通过引入拉格朗日乘子λ,将其转换为非约束性优化问题[8]:

假如编码中子任务相对独立,即编码单元之间的失真和码率互不相关,则最优编码参数可通过最小化每个编码子任务的率失真代价获取[8],即:

式中:Ji,j为第i个编码子任务采用第j组参数进行编码的率失真代价;
Di,j为第i个编码子任务采用第j组参数进行编码的失真;
Ri,j为第i个编码子任务采用j组参数进行编码的码率。

1.2 人眼视觉感知特性

研究表明,人眼视觉感知机制通常包括对比敏感度、掩蔽、中央凹、视觉注意力以及注意力的多模态等[10]。其中,视觉掩蔽效应是一种常见的视觉现象,指一种刺激对象的存在对另一种刺激对象的可见性造成影响,使得另一刺激对象不可见或不可察觉甚至消除的效应。在视频处理中,视觉掩蔽效应通常表现在空间域和时间域。在空间域表现为人眼对纹理复杂区域的失真不太敏感,而对纹理较平坦区域的失真较为敏感;
在时间域表现为人眼对于运动缓慢区域的失真不太敏感,而对运动较剧烈区域的失真较为敏感。通俗讲即是纹理较平坦区域和运动较缓慢区域的失真更容易被人眼所察觉。此外,大量实验表明人眼对亮度分量比色度分量更为敏感[10]。基于人眼对视频空间域和时间域不同特征的感知特性,利用CTU 的纹理和运动特征来指导视频编码的率失真优化过程,可有效提升视频感知编码性能。

2.1 纹理特征感知因子提取

对于视频图像的纹理特征,可以采用各类滤波算子提取梯度信息描述,也可通过获取亮度方差或频域中的频率信息等方式表征。为了使计算复杂度相对较低,通过提取当前帧CTU 的亮度方差值来表征纹理复杂度。通常来讲,亮度方差值越大,表明当前CTU 纹理越复杂,反之则表明当前CTU 纹理越平坦。

从概率论的理论中可知,随机变量X的方差可表示为:

式中:D(X)为随机变量X的方差;
E(X)为随机变量X的均值。

同理,当前帧第k个CTU 的亮度分量平方均值和亮度分量均值可分别表示为:

式中:I(x,y)为第k个CTU 内位置为(x,y)的像素点的亮度分量值;
L为CTU 的大小尺寸;
Msq(k)为第k个CTU 的亮度分量平方均值;
Ava(k)为第k个CTU 的亮度分量均值。

则第k个CTU 的亮度分量方差为:

式中:Var(k)为第k个CTU 的亮度分量方差。

在得到当前帧中CTU 的亮度分量方差后,可计算出当前帧所有CTU 亮度方差值的均值为:

人眼对于纹理复杂度不同区域具有不同的感知度,对纹理较平坦区域比纹理较复杂区域的失真更为敏感,能够容忍的失真更小。因此,根据当前CTU 的亮度方差值,定义当前CTU 的纹理特征感知因子Ftex(k)为:

式中:Varmax为当前帧中CTU 亮度方差值的最大值;
Varmin为当前帧中CTU 亮度方差值的最小值;
C1是为避免分母为0 而设定的常数,取C1=1/2552。

由式(10)知,对于当前帧中纹理较平坦的CTU,Ftex(k)的值为0,对于纹理较复杂的CTU,Ftex(k)的值为正数,且纹理越复杂,Ftex(k)的值越大。纹理特征感知因子Ftex(k)线性归一化在[0,1)范围内。

2.2 运动特征感知因子提取

视频图像的运动特征可通过当前CTU 与参考CTU 的运动矢量差或帧间亮度差值等方式进行表征。由于当前CTU 的运动矢量在编码前难以获取,为了计算简便,使用当前CTU 与前一帧(参考帧)同一位置CTU 的亮度分量的绝对误差和(Sum of Absolute Difference,SAD)来表征当前CTU 的运动程度。SAD 值越大,则认为当前CTU 运动越剧烈,反之则运动越缓慢。

当前帧第k个CTU 与前一帧相同位置CTU 的SAD 值为:

式中:SAD(k)为当前帧第k个CTU 与前一帧相同位置CTU 的SAD 值;
Ic(k)(x,y)为第k个CTU 内位置为(x,y)的像素点的亮度分量值;
Ir(k)(x,y)为前一帧相同位置CTU 的像素点的亮度分量值;
L为CTU 的大小尺寸。

在得到当前帧中CTU 的SAD 值后,可计算出当前帧中所有CTU 的SAD 值的均值为:

人眼对于运动程度不同的区域具有不同的感知度,对运动较剧烈区域的失真比运动较缓慢区域的失真更为敏感,能够容忍的失真更小。因此,根据当前CTU 的SAD 值定义当前CTU 的运动特征感知因子Fmot(k)为:

式中:SADmax为当前帧中CTU 的SAD值的最大值;
SADmin为当前帧中CTU 的SAD值的最小值;
C2是为避免分母为0 而设定的常数,在本算法中取C2=1/255。由式(14)知,对于当前帧中运动较剧烈的CTU,Fmot(k)的值为0,对于运动较缓慢的CTU,Fmot(k)的值为正数,运动越缓慢,Fmot(k)值越大。运动特征感知因子Fmot(k)线性归一化在[0,1)范围内。

2.3 VVC 感知率失真优化算法

由当前帧第k个CTU 的纹理特征感知因子Ftex(k)和运动特征感知因子Fmot(k),可构建当前CTU的感知特征因子F(k),用于对拉格朗日乘子λ进行自适应调整,形成基于感知的自适应拉格朗日乘子λhvp,对非I 帧CTU 进行率失真优化编码。

感知特征因子F(k)定义为:

式中:w1和w2为权重因子,分别表示纹理感知特征和运动感知特征在感知调节中所占的比重;
w1,w2∈[0,1] 且w1+w2=1,在本算法中,设w1=w2=0.5,即纹理特征和运动特征在感知优化中同等重要;
s为缩放因子,用于限定感知特征因子F(k)的数值范围;
α为自适应调整系数;
F-pmot为当前帧中非0 值的运动特征感知因子的均值;
F-ptex为当前帧中非0 值的纹理特征感知因子的均值。

α的计算方式为:

式中:NCTU为当前帧中CTU 的总个数;
NZE为当前帧中纹理特征感知因子和运动特征感知因子均为0的CTU 的个数;
NNZE为当前帧中纹理特征感知因子和运动特征感知因子不同时为0 的CTU 的个数。NZE+NNZE=NCTU。

式中:Npmot为当前帧中运动特征感知因子为非0 值的CTU 的个数;
Nptex为当前帧中纹理特征感知因子为非0 值的CTU 的个数。

则基于人眼感知的自适应拉格朗日乘子λhvp为:

在VVC 标准码率控制算法中,相邻两个CTU的λ值应限制在[1/21/3,21/3]之内[8]。因此,为了避免λhvp值过大造成编码性能明显下降,本算法对F(k)的取值进行限定,忽略λ值的负增量。设定F(k)的取值范围为:

I 帧为后续帧的参考帧,其质量波动对后续帧的影响较大,因此仅对非I 帧的CTU 执行优化算法。经过大量实验发现,当缩放因子s=0.05 时,具有较好的率失真性能。由以上论述知,用于VVC 视频编码的感知率失真优化算法可描述为:

3.1 实验环境配置

在VVC 标准参考软件VTM12.0 上进行测试,以验证本文所提算法的有效性。计算机配置为11th Gen Intel(R)Core(TM)i7-11730H CPU@ 3.30 GHz,16 GB 内存,Windows 10 操作系统。采用标准测试环境下的lowdelay_P 配置,编码结构为IPPPPPPP;
IntraPeriod 为-1,即仅第一帧为I 帧,其余为P 帧;
GOPSize 为8,即1 个GOP 包含8 帧。测试序列从标准测试视频序列集中选取,从ClassB~F 中每组选取3 个测试序列进行测试,ClassB~E 组视频分辨率分别为1 920×1 080,832×480,416×240,1 280×720,ClassF 为分辨率不同的屏幕内容测试序列。量化参数QP 分别取22,27,32,37,在固定QP 模式下对所有测试序列前100 帧进行编码测试。

3.2 实验结果分析

分别以多尺度结构相似性(Multi-scale Structure Similarity,MS-SSIM)和峰值信噪比(Peak-Signalto-Noise Ratio,PSNR)作为视频质量评价指标。MS-SSIM 是结合人眼视觉特性的图像质量评价方法,综合了场景的亮度、对比度和结构信息,同时考虑了多尺度信息,比单一尺度的SSIM 评价方法更能适应观测条件的变化[11]。视频图像的平均MSSSIM 值通过Y,U,V分量的MS-SSIM 值加权和计算得到[12],即:

式中:ωY=0.8;
ωU=ωV=0.1。

PSNR 是常用的视频质量客观评价指标,通过逐个像素比较灰度值差别并进行统计平均来判别质量的优劣,反映的是整幅图像的失真程度[13]。对于输入视频格式为4 ∶2 ∶0 的测试序列,视频图像的平均PSNR 值通过Y,U,V分量的PSNR 值加权和计算得到[14],即:

采用BD-rate[15]来对比本文所提算法与VTM12.0标准算法的率失真性能。BD-rate 表示在相同质量评价指标(MS-SSIM或PSNR)下码率变化的百分比,BD-rate 为负表示在相同MS-SSIM 或PSNR 下码率降低,为正表示在相同MS-SSIM 或PSNR 下码率增加。表1 为低延时配置(lowdelay_P,LDP)下所提算法相对于VTM12.0 的BD-rate 结果,表2 为LDP下各视频组平均BD-rate 值比较。

表1 LDP 下本文所提算法相对于VTM12.0 的BD-rate 结果/%

表2 LDP 下各视频组平均BD-rate 值比较/%

由表1 和表2 可知,本文所提方法相对于VTM12.0 标准算法,其率失真性能有所提升。以YUV-PSNR 作为视频质量评价指标时,BD-rate 平均降低0.09%,即表明视频序列在相同PSNR 下,能节省0.09%的码率。以YUV-MS-SSIM 作为视频质量评价指标时,BD-rate 平均降低0.15%,即表明视频序列在相同MS-SSIM 下,能节省0.15%的码率。通过表2 可以看出,ClassE 率失真性能提升较为明显,BD-rate 平均降低0.15%和0.23%,而ClassB 性能提升效果则相对较小。其原因在于本算法仅对人眼非敏感区域CTU 的编码参数进行修正,而ClassB 测试序列由于分辨率更高,CTU 数量更多,人眼敏感与非敏感区域CTU 占比可能存在较大差异,使得修正因子自适应取值范围不能与其更好匹配。另外,亮度分量更易被人眼所感知。从实验结果看出,对于Y分量而言,以Y-PSNR 作为视频质量评价指标时,BD-rate 平均降低0.08%,以Y-MS-SSIM 作为视频质量评价指标时,BD-rate 平均降低0.12%。

为了更直观地比较两种算法的率失真性能,以BQSquare 测试序列为例,图1 给出了BQSquare测试序列以YUV-PSNR 作为质量评价指标的率失真曲线,图2 给出了BQSquare 测试序列以YUVMS-SSIM 作为质量评价指标的率失真曲线。由BQSquare 序列的率失真曲线图可以看出,本文所提算法的率失真曲线在VTM12.0 标准算法率失真曲线的上方,表明在相同视频质量指标下,所提算法具有更低的码率,同时也表明在相同码率下,所提算法具有更好的视频质量。

图1 BQSquare 序列以YUV-PSNR 作为质量评价指标的率失真曲线

图2 BQSquare 序列以YUV-MS-SSIM 作为质量评价指标的率失真曲线

本文提出了应用于VVC 视频编码的感知率失真优化算法。该算法首先提取视频帧中CTU 的纹理和运动特征因子;
其次根据人眼视觉感知特征,联合纹理和运动特征因子构建基于视觉感知的特征因子;
最后利用构建的特征因子对率失真优化中的关键参数λ进行修正,并用于CTU 级的视频编码。通过在VTM12.0 平台进行测试表明,该方法能有效提升新一代视频编码标准VVC 编码器的率失真性能。本文所提方法是基于视频帧失真无依赖关系的假设,然而实际编码中采用了帧间预测技术,使得率失真性能相互依赖,下一步可考虑视频帧间率失真性能的相互依赖关系,对率失真性能进行进一步优化。

猜你喜欢 码率人眼纹理 基于缓存补偿的视频码率自适应算法计算机应用(2022年9期)2022-09-25田志强东坡赤壁诗词(2022年3期)2022-05-29移动视频源m3u8多码率节目源终端自动适配技术电子测试(2022年4期)2022-03-17一种基于HEVC 和AVC 改进的码率控制算法科学技术创新(2021年2期)2021-01-21基于BM3D的复杂纹理区域图像去噪软件(2020年3期)2020-04-20使用纹理叠加添加艺术画特效摄影之友(影像视觉)(2018年12期)2019-01-28基于状态机的视频码率自适应算法计算机应用(2018年7期)2018-08-27TEXTURE ON TEXTURE质地上的纹理Coco薇(2017年8期)2017-08-03闪瞎人眼的,还有唇优雅(2016年12期)2017-02-28看人,星光璀璨缭人眼电影故事(2016年5期)2016-06-15

Tags: 失真   应用于   感知  

搜索
网站分类
标签列表