基于 JND 的 AV1 编码器主观质量优化 | PCS 2019

AV1 作为新一代视频编码格式,具有更高的视频压缩效率和编码性能。其中,其压缩效率(码率)和压缩质量(失真)可以由拉格朗日率失真优化(Lagrangian Rate-Distortion Optimization, LRDO)技术结合起来,寻找最佳平衡效果。然而在传统的 RDO 中,拉格朗日系数  没有考虑人类视觉系统(Human Visual System, HVS)的一些生物特性,导致视频对人的主观感知质量不高。为了解决这个问题,在本文中提出了一种基于 JND(Just Noticeable Distortion)的感知 RDO 方案,每个像素点的 JND 都考虑了 HVS 的亮度适应(Luminance Adaptation, LA)、掩蔽效应(Masking Effects)和结构敏感性(Structure Sensitivity),由此推导出拉格朗日乘子,从而对每个编码块的“rate-distortion, R-D”性能作自动调节。实验表明,此文的方法相比于原本的 AV1 在相同的 SSIM 质量下,编码器平均节省了 3.93% 的比特率。

题目: JND-based Perceptual Rate Distortion Optimization for AV1 Encoder
作者: Chen Zhu, Li Song, et al.
来源: PCS 2019
代码地址: https://github.com/zc-lynen/rdo_jnd
内容整理: 高博

简介

AV1 是由 Alliance for Open Media(AOMedia)制定的新一代视频编码标准。其将编码块分区扩张到4*4~128*128,并且内部集成了增强方向帧内预测、重叠块运动补偿和多符号算术距离编码器等新颖的编码工具。相比起 HEVC 和 VP9,AV1 在保持相同视觉质量的同时降低了 20-40% 的数据比特率。

与 HEVC 和 VP9 类似的是,AV1 依然沿用了 LRDO 来选择编码参数,以实现最优的 R-D 性能。然而在 RDO 过程中用到的失真指标,比如平方和误差(SSE)和绝对差之和(SAD)都没有考虑 HVS 的特性,并且 RDO 中使用的拉格朗日乘子 λ 只和设定的编码参数有关,没有考虑视频本身特性。

为了提升视频感知质量,许多感知质量指标被提出,其中结构相似性 SSIM 由于其对 HVS 的符合度高和计算简洁而被广泛应用于感知视频编码。

但与直接引入感知质量指标不同的是,一些方法是以测量失真敏感度阈值、指定视频区域中的失真可感知度来在保持视频感知质量的同时减少码率,其中 JND 模型得到了广泛的使用。然而,现有的一些研究都没有将 JND 与 RDO 过程充分结合。并且大多数感知视频编码方法都是在 AVC 和 HEVC 上实现的,很少在 AV1 编码器上进行验证。

本文中基于视觉感知特性提出了一种有效的感知 RDO 方案并在 AV1 上进行验证。每个像素点的 JND 模型都是由 HVS 的亮度自适应、时-空掩蔽效应和结构敏感性推导而出,然后再以此 JND 模型制定 AV1 的 RDO 模型中的拉格朗日乘子  λ 。因此  λ 将会根据视频局部区域的特性自动调整。

总的来说,本文的主要贡献包括:

  • 提出了一种改进的像素域 JND 模型。
  • 提出了 AV1 的一种感知 RDO 方案,在保持视频感知质量不变的情况下减少了传输码率。
  • 进行了较为全面的实验,测定了平均优化效果。
  • 将优化代码在 github 中开源,确保了所展示结果和实验的可重复性。

拉格朗日率失真优化(AV1)

AV1 中依然沿用了拉格朗日 RDO 技术来在目标码率 RT 的限制下最小化失真度 D ,如下所示:

基于 JND 的 AV1 编码器主观质量优化 | PCS 2019

拉格朗日 R-D 成本函数 J 如下所示:

基于 JND 的 AV1 编码器主观质量优化 | PCS 2019

其中 di 和 ri 分别是第 i 个编码块的失真度和所需的比特率。其中失真度的指标包括 SSE 和 SAD,在 AV1 中 λ 的值可以表示为:

基于 JND 的 AV1 编码器主观质量优化 | PCS 2019

其中 q 是量化步长的参数, c 是一个常数。在 RDO 过程中,通过计算每个编码模式下的 J 值找出最小的 R-D 成本。从上式可以看出,AV1 的 RDO 过程中的 λ 只考虑了量化参数,而没有考虑 HVS 特性。

基于 JND 的感知 RDO 方案

在此部分,首先在 JND 的框架中加入结构保护系数,然后利用此 JND 因子指导拉格朗日乘子 λ 的感知调整。

改进的 JND 模型

JND 指 HVS 的最小可见失真阈值,可以有效度量视频的视觉冗余。JND 可在像素域和子带域测量可见性阈值,本文中采用像素域 JND 模型,估计了亮度自适应(LA)和对比度掩蔽(CM)的空间效应,也就是:

基于 JND 的 AV1 编码器主观质量优化 | PCS 2019

其中 (i,j) 表示像素点的位置。

并且在 HVS 中,人眼倾向于提取重复的视觉信息,总结视野中的规则模式进行分析和理解,因此,失真在无序纹理区域比规律结构边缘区域更不明显,因此还要在 JND 模型中补充结构保护因子。空间边缘信息经常用来评估规律纹理的细节,具有规律结构的边缘强度更高。本文采用 sobel 边缘检测算法来测算局部区域的纹理统一性,sobel 算子首先计算每个像素的水平和垂直梯度幅度,从而得到每个像素的总边缘强度。

此外,HVS 具有显著的方向选择性,并利用提取的方向信息来表示视频帧的结构。因此,提出用方向信息来表示纹理复杂度。通常复杂纹理图案包含更丰富的方向分布,而简单纹理图案只包含有限的方向分布。因此,我们使用梯度方向的分布来表征相应的图案复杂度(PC)。将像素的总边缘强度和图案复杂度相结合,就得到了结构保护因子(SP),以来对JND模型进行改进。

将掩蔽效应加入 HVS 特性的结构保护 SP 以得到视觉掩蔽效应(VM):

基于 JND 的 AV1 编码器主观质量优化 | PCS 2019

因此将 JND 框架改进为:

基于 JND 的 AV1 编码器主观质量优化 | PCS 2019

不仅如此,由于 HVS 对于快速运动的区域的敏感度较低,所以我们可以允许在快速运动区域的失真度相比静止区域的失真度高,也就是引入时间掩蔽(TM)效应。因此,我们可以引入一个时间比例因子,把空间 JND 模型拓展到时-空 JND 模型,如下所示:

基于 JND 的 AV1 编码器主观质量优化 | PCS 2019

基于 JND 的感知失真

为了将改进后的 JND 模型耦合到 AV1 的 RDO 中,提出一个感知失真指标 Dp :

基于 JND 的 AV1 编码器主观质量优化 | PCS 2019

其中 MSE 是平均平方误差,c 是为了数据稳定引入的一个常量。基于 Dp ,复杂且无规律的纹理区域引入更大失真的同时带来的视频感知质量损失会更小,这是由HVS的视觉适应和掩蔽效应带来的。基于这个感知失真指标,我们可以在编码相同视频时,在达到相同感知质量的基础上压缩更多码率。因此,公式(2)可以化为:

基于 JND 的 AV1 编码器主观质量优化 | PCS 2019

N 是编码块的数量,上式可以简化为:

基于 JND 的 AV1 编码器主观质量优化 | PCS 2019

感知自适应拉格朗日乘子

所以对于每一个编码块来说,就是求出

基于 JND 的 AV1 编码器主观质量优化 | PCS 2019

可以直接对 ri 求导,得到最小值点:

基于 JND 的 AV1 编码器主观质量优化 | PCS 2019

其中,λp 就是引入感知失真 Dp 后得到的感知自适应拉格朗日乘子。为了得到 AV1 的 R-D 曲线,我们使用 1-pass 编码结构(仅有一个关键参考帧)对测试序列进行实验,得到的部分实验结果如下图所示:

基于 JND 的 AV1 编码器主观质量优化 | PCS 2019
图 1 R-D 曲线
基于 JND 的 AV1 编码器主观质量优化 | PCS 2019

改进后的拉格朗日乘子在 AV1 的 PDO 全过程中运用,例如编码模式选择和量化,由上式可以看出该拉格朗日乘子会随着编码块的时-空特性而自动调整,在 JND 阈值较大的地方允许存在较多失真并且进行更加粗糙的量化,以把省下的比特率分配到对 HVS 来说更为重要的视觉部分,以此来提升视频的感知质量。

实验

将所提出的感知 RDO 方案运用在 AV1 上,代码基础是 aom v1.0.0, vs2019, matlab2019b,其余环境和 build 流程参考官方说明和相关资料。编码测试序列是“HEVC 测试序列(Class B-Class E)”。实验在量化模式下进行 2-pass 编码。编码器分别在量化参数 23、31、39 和 47 下进行编码,而且为了平衡编码性能和编码速度。cpu – used 参数被设定为4,如下所示:

-passes=2 -end-usage=q -cq-level=23 -cpu-used=4

将编码结果(码率,PSNR 和 SSIM)记录下来,计算 BD-Rate 和编码时间来对比原本的 AV1 编码器。下表可以看出我们提出方案的性能:

基于 JND 的 AV1 编码器主观质量优化 | PCS 2019
表 1 BD-Rate结果

可以看到相比原本的 AV1 编码器,改进后的方案在 SSIM  上的 BD-Rate 可以达到平均-3.93%。此外为了测算本方案增加的编码时间负担并与原 AV1RDO 方案进行对比,我们把 – cpu – used 调成8以让对比更加明显,下表是在一些序列上的时间对比记录:

基于 JND 的 AV1 编码器主观质量优化 | PCS 2019
表 2 编码时间对比

可以看到本方案的平均编码时间增加了4.7%,这对于编码器来说负担很小,几乎没有什么负面影响。

结论

总而言之,本文中提出了一种基于 JND 的感知 RDO 方案,并且在 AV1 编码器上进行了验证。通过改进的 JND 模型调节 RDO 过程中的拉格朗日乘子来实现感知编码效率的提升。其中 JND 模型是由 HVS 中的亮度自适应、掩蔽效应和结构敏感性来进行改进的。实验结果可看出该方案能够有效地提升 AV1 的感知编码效率。

版权声明:本文内容转自互联网,本文观点仅代表作者本人。本站仅提供信息存储空间服务,所有权归原作者所有。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至1393616908@qq.com 举报,一经查实,本站将立刻删除。

(0)

相关推荐

发表回复

登录后才能评论