在 libvpx、VP8、VP9 和 HEVC 等各种编码器实现中,早就发现在预处理阶段过程中从源视频信号去除噪声对客观压缩效率的提升存在好处。通常使用常规的块匹配运动搜索来构建运动轨迹,并沿着轨迹比较每对像素,根据像素间的差异确定时域滤波器系数,对原始帧滤波后进行编码,其重建与原始(未滤波)帧进行比较计算失真。实验结果表明,该方法可显著提高压缩性能。
本文提出了一种非局部均值滤波核(non-local mean filter kernel),以用于源信号的时域滤波。该方法不是比较一对像素之间的差异来决定滤波系数,而是以 L2 范数为准则比较以两个像素为中心的像素块之间的差异,然后将差异以相对帧噪声水平进行归一化,得到滤波器系数,其中帧的噪声水平也是从源视频帧估计的。
一、DENOISING SCHEME IN VIDEO COMPRESSION
该去噪方案是专门针对分层金字塔编码结构设计的。本节讨论讨论视频信号去噪、时域滤波器核及其与编解码器的集成。
1. Noise Removal and Bit Rate Reduction
在视频压缩中,编码过程 (E) 是首先将源视频信号 V 分解为重建表示和残差信号 R,然后将 V 转换为比特流的过程。在有损压缩中,残差信号在量化步骤中被丢弃。设 rate(·) 表示残差信号在比特流中的比特率。编码器设置 rate(R)=0。
源视频信号记作 V,视频信号中的噪声为 N,设 V* 表示源视频的真实信号(无噪声)。由于编码过程中的量化过程中引入伪影(量化噪声 R),而量化步长是量化噪声的唯一决定因素,因此我们假设量化噪声 R 与源视频信号产生过程中由于物理条件引入的噪声 N 无关。因此源信号可以写成:
编码过程变成:
在这个模型中,编码器在压缩过程中保留真实信号 V* 加上噪声 N。然而,噪声是不希望的信息,因为它会降低视觉质量(有意添加噪声的情况除外,例如,电影颗粒噪声),并减弱重建帧之间的时间一致性,最终降低压缩效率。因此,期望降低 rate (N),或者理想地设置 rate(N)=0。
2. Video Denoising in Hierarchical Coding Structure
去噪并不一定能提高视频编码的压缩效率。噪声信号的去除不可避免地降低了客观度量(例如,PSNR),因为失真的度量是根据源视频信号计算的。
本文的解决方案是在分层编码结构中仅对关键帧和第0层的帧应用去噪。在AV1中,每组图片(GOP) 的层次结构有固定的长度,如图1所示。分层编码结构最重要的特点是不同层的比特率分配。视频信号的乱序编码遵循金字塔结构,其中低层帧通常使用编码比特率较高,并作为高层帧的参考帧。该方案显著提高了编码效率。在 AV1 中,关键帧和第0层的帧占用比特率预算的最大百分比。图2显示了不同层的平均编码帧大小的示例,其中包含 mobile cif 和 highway cif 的示例。
实验表明,对每帧进行去噪,并不能提高 AV1 的压缩性能。原因是高层帧的比特率预算太小,无法平衡比特率降低和PSNR降低之间的权衡。只有关键帧和第 0 层的帧具有显著的比特率节省的潜力。
去噪的效果如图3所示。在本例中,编码150帧,显示第一个GOP的PSNR值。我们观察到,在去噪后,虽然关键帧的PSNR值下降了约 2dB,但后续帧的 PSNR 值提高了。这是因为去噪后的关键帧为后面的帧提供了更好的参考,导致该 GOP 的 PSNR 提高。同时,降低了关键帧的码率预算。因此,整体压缩性能显著提高。
(理解:视频的源信号存在噪声,如果对全部帧去噪可能造成客观指标(如PSNR等)的降低,但同时去噪也可以降低需要传输噪声的码率,时域滤波提升编码器性能是通过 PSNR 和 码率 的综合权衡)
3. GOP Based Temporal Filter for HEVC
Wennersten等人提出了一种基于 Gop 的HEVC时域滤波器。它对第 0 层和第 1 层的帧应用滤波。对待滤波帧前后相邻的帧进行运动补偿,以找到最匹配的样本。滤波器系数取决于像素间的差异,以及量化参数(QP)。滤波后的像素值 f(i) 由下式计算:
其中 pj(i) 为第 j 个运动补偿帧的像素值,p0(i)为当前帧的像素值,wj,a(i)为可用帧数为 a 时第 j 个运动补偿帧的权值,N 为候选帧数。对于亮度分量,权重 wj,a(i) 定义为
如果当前帧数是 16 的倍数,则 s1 = 1.5,否则 s1 = 0.95; S2 = 0.4。Sj,a定义为:
对于色度分量,权值wj,a(i)定义为:
式中s3 = 0.55。
4. Non-local Mean Temporal Filtering Scheme
在本节中,本文提出了AV1的非局部时域滤波方案。与第 3 节中描述的滤波器相比,本文强调了两个主要因素:使用(1) patch difference 和 (2) noise level 自适应地确定滤波器系数。
与现有方法类似,我们的方法将当前帧划分为 M × M 块。对于每个块,以当前帧相邻之前和之后的帧作为参考帧进行运动估计,只保留均方误差最小 (MSE) 的最佳匹配 patch 作为相邻帧的候选patch 。当前块也是一个候选 patch。将总共N个候选 patch 组合在一起生成滤波后的输出。
设 f(i) 表示滤波后的像素值,pj(i) 表示第 j 个 patch 的像素值。滤波过程为:
其中 wj(i) 是 N 个 patch 中第 j 个 patch 的权重。
与第 3 节中描述的滤波器不同,本文采用基于 patch 的 diff 而不是 像素-像素 的 diff 来确定滤波器系数。基于 patch 的 diff 的优点是不会引入系统噪声,这是去噪所需要的特性。权重由 patch diff确定为:
式中,Dj(i) 为当前块与第 j 个候选 patch 之差的平方和:
其中 p0 表示当前帧,Ωi 表示 patch 窗口,一个 L×L 的正方形。h 是控制由欧氏距离测量的权重衰减的关键参数。
的大小对滤波系数有显著的影响。一般来说,在patch差不变的情况下,h 的增加会导致参考 patch的权重高于当前帧,这表明时域滤波的强度更强。在本文的应用中,h 由源视频信号的噪声水平决定,使滤波器系数适应不同噪声的视频。设 σ 为噪声的标准差,将 h 作为 σ 的单调递增因子表示为:
其中 t1 = 4, t2 = 0.7, t3 = 0.5,由实验确定。通过这种方式,当视频信号的噪声更强时,可以应用更强的滤波平滑。
值得一提的是,本文发现将 h 表示为 σ 的平滑递增函数比我们之前的工作提供了更好的压缩性能,之前的工作中,通过假设存在一个中心噪声电平,其中大多数视频的噪声都处于一个小范围内,表示 h = C × exp(1−σ) × σ。这种公式适用于许多视频,但当在可能出现任何噪声水平的大型视频数据集上进行测试时,这种假设就不成立了。
二、EXPERIMENTAL RESULTS
提出的时间滤波在 libaom AV1 框架中实现。本文还实现了基于 GOP 的时域滤波器,以进行比较。请注意,在[12]中,仅使用当前帧前后两帧进行滤波,而在本文方法中使用了三帧。
因此,参数 sj,a 总是被设置为 0.3。两种滤波器只应用于关键帧和第0层的帧,块大小M = 32,窗口大小 L = 5,总共 N = 7 个参考帧。参数 σ 是用 [16] 从当前帧估计出来的。
本文在速度为1 (-cpu-used =1)、恒定质量模式(-end-usage =q)、最大帧数为 150 的情况下,评估了720p和1080p视频的压缩性能。压缩效率的提高分别以PSNR、SSIM和VMAF的BD率降低来衡量。负值表示编码性能较好。
以没有滤波的情况作为 Anchor,将[12]中提出的滤波器和本文的滤波器比较,性能如表1所示。这两种滤波器都显著提高了编码效率。本文提出的非局部均值滤波器在[12]上的相对编码性能如表2所示。显然,在 kernel 估计中使用带有噪声水平感知的基于 patch 的 diff 有一定的编码优势。
仔细观察单个视频片段的编码性能可以发现,编码增益较大的视频片段是噪声水平相对较高的视频片段,例如 vidyo1 720p60、vidyo3 720p60。对于噪声水平非常低的视频,本文的方法可能会提供边际性能(marginal performance)增益,例如屏幕内容视频: life 1080p30。
图4给出了一个可视化的例子。用[12]中的滤波器(中行)和本文的滤波器(最后一行)绘制源图像与滤波后图像之间的Y、U、V通道的差值。从Y 分量的差分图像中,观察到本文的滤波器比现有滤波器去除更少的结构信息,从 U、V 分量中,可以看到本文的滤波器比其他滤波器更好地捕获了源图像中呈现的强噪声。
[12] P. Wennersten. Encoder-only gop-based temporal filter. ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11, Document: JCTVC-AI0023- v2, 2019.
[16] Shen-Chuan Tai and Shih-Ming Yang. A fast method for image noise estimation using laplacian operator and adaptive edge detection. In 2008 3rd International Symposium on Communications, Control and Signal Processing, pages 1077–1081. IEEE, 2008.