这篇文章提出了一个PSNR-B指标,旨在衡量 压缩图像的块效应强度 或 去块效应后的残留块效应强度(比较去块效应算法的优劣)。
1. 故事
现有的PSNR虽然形式简单、物理意义清晰,但与主观质量关系不大;SSIM(同时考虑亮度相似度、对比度相似度和结构相似度)和主观质量更贴近,但无法反映块效应强度。
2. 失真变化
首先,我们设无损图像为\(x\),编解码后为压缩图像\(y\),去压缩失真后的图像为\(\tilde{y}\)。我们将像素分为两类:
\(\Vert x_i - \tilde{y}_i \Vert^2 < \Vert x_i - y_i \Vert^2\),即去压缩失真比较成功的像素点。
\(\Vert x_i - \tilde{y}_i \Vert^2 > \Vert x_i - y_i \Vert^2\),即去压缩失真比较失败的像素点。
我们求这两类区域的距离差的均值:\(\bar{\alpha} = ave(\Vert x_i - y_i \Vert^2 - \Vert x_i - \tilde{y}_i \Vert^2), \bar{\beta} = ave(\Vert x_i - \tilde{y}_i \Vert^2 - \Vert x_i - y_i \Vert^2)\)。
所谓失真变化,就是\(\bar{\alpha} - \bar{\beta}\)。该值越大,块效应抑制越明显,去块效应算法越成功。
对于一般的低通滤波器,\(\bar{\alpha}\)虽然很大,但\(\bar{\beta}\)也很大,因此通常是失败的。对于H264内置的环路滤波器,它会自适应地根据 像素点与块边缘的距离 以及 局部灰度梯度信息,选择滤波位置和滤波器尺寸,从而让\(\bar{\beta}\)不至于过大,而\(\bar{\alpha}\)与低通滤波器相当大。但是,该环路滤波器的决策非常耗时,通常会占据1/3以上的解码器复杂度。
3. 方法(PSNR-B)
在本节,作者提出一种对块效应敏感的图像质量指标,作者称之为peak signal-to-noise ratio including blocking effects (PSNR-B)。
我们首先假设图像由整数个块(tiling)组成。例如:
图中每一个块都是\(8 \times 8\)的块,一共有64个。定义以下块类别:
分别代表:纵向接壤块边缘的像素对、纵向非接壤块边缘的像素对、横向接壤块边缘的像素对 和 横向非接壤块边缘的像素对。看图就好了,文字贼绕。
定义两个指标:
前者代表块边缘变化强度,后者代表非块边缘(块内)变化强度。随着量化逐渐粗糙,前者的增大会明显快于后者。
还考虑一个因素:随着块增大,块效应也会逐渐明显。【反过来,如果块很小,那么远看是看不出块效应的】因此我们定义一个块效应因数(blocking effect factor, BEF):
\[
BEF(y) = \eta \cdot [ D_B (y) - D_B^C (y) ]
\]
其中的\(\eta\)随着块尺寸的增大而增大:
例如在H264压缩标准下,一张图像内可以有多种不同尺寸的块。此时就有:
作者定义MSE-B和PSNR-B如下:
注意了,其中的MSE是有参考的指标,但BEF本身是无参考的指标。
4. 实验
我们看看对H264环路滤波器的测试情况。
通过四个视频作者发现:环路滤波器有时可以稍微提升视频的PSNR,有时没有太大作用。而低通滤波器会严重损失PSNR。
SSIM实验结果与PSNR接近,但不同点在于:在有些视频中,低通滤波后的SSIM要比原始压缩图像的SSIM更高。这与主观体验是基本一致的,说明SSIM更趋近于主观质量。
这是PSNR-B的实验结果。可以看到,当量化比较粗糙时,低通滤波器也发挥了作用。