这篇文章提出了一个PSNR-B指标,旨在衡量 压缩图像的块效应强度 或 去块效应后的残留块效应强度(比较去块效应算法的优劣)。

1. 故事

现有的PSNR虽然形式简单、物理意义清晰,但与主观质量关系不大;SSIM(同时考虑亮度相似度、对比度相似度和结构相似度)和主观质量更贴近,但无法反映块效应强度。

2. 失真变化

首先,我们设无损图像为\(x\),编解码后为压缩图像\(y\),去压缩失真后的图像为\(\tilde{y}\)。我们将像素分为两类:

  1. \(\Vert x_i - \tilde{y}_i \Vert^2 < \Vert x_i - y_i \Vert^2\),即去压缩失真比较成功的像素点。

  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的实验结果。可以看到,当量化比较粗糙时,低通滤波器也发挥了作用。

Paper | Quality assessment of deblocked images的更多相关文章

  1. Paper | No-reference Quality Assessment of Deblocked Images

    目录 故事背景 本文方法(DBIQ) 发表在2016年Neurocomputing. 摘要 JPEG is the most commonly used image compression stand ...

  2. Paper | Blind Quality Assessment Based on Pseudo-Reference Image

    目录 1. 技术细节 1.1 失真识别 1.2 得到对应的PRI并评估质量 块效应 模糊和噪声 1.3 扩展为通用的质量评价指标--BPRI 归一化3种质量评分 判断失真类型 加权求和 2. 总结 这 ...

  3. [论文笔记] Methodologies for Data Quality Assessment and Improvement (ACM Comput.Surv, 2009) (1)

    Carlo Batini, Cinzia Cappiello, Chiara Francalanci, and Andrea Maurino. 2009. Methodologies for data ...

  4. Paper | BLIND QUALITY ASSESSMENT OF COMPRESSED IMAGES VIA PSEUDO STRUCTURAL SIMILARITY

    目录 1. 技术细节 1.1 得到MDI 1.2 判别伪结构,计算伪结构相似性 2. 实验 动机:作者认为,基于块的压缩会产生一种伪结构(pseudo structures),并且不同程度压缩产生的伪 ...

  5. [论文笔记] Methodologies for Data Quality Assessment and Improvement (ACM Comput.Surv, 2009) (2)

    本篇博文主要对DMQ(S3.7)的分类进行了研读. 1. 这个章节提出了一种DQM的分类法(如下图) 由上图可见,该分类法的分类标准是对assessment & improvement阶段的支 ...

  6. Quality assessment and quality control of NGS data

    http://www.molecularevolution.org/resources/activities/QC_of_NGS_data_activity_new table of contents ...

  7. ITU-T G.1080 IPTV的体验质量(QoE)要求 (Quality of experience requirements for IPTV services)

    IPTV的服务质量(QoE)要求 Quality of experience requirements for IPTV services Summary This Recommendation de ...

  8. Paper | 帧间相关性 + 压缩视频质量增强(MFQE)

    目录 1. ABSTRACT 2. INTRODUCTION 3. RELATED WORKS 3.1. Quality Enhancement 3.2. Multi-frame Super-reso ...

  9. CVPR 2017 Paper list

    CVPR2017 paper list Machine Learning 1 Spotlight 1-1A Exclusivity-Consistency Regularized Multi-View ...

随机推荐

  1. python进阶之内存模型

    每一个编程语言的背后都有自己独特的内存模型支持,比如最经典的C语言,一个int类型占8字节.那么在python中不区分数据类型,定义一个变量其在内存在占用多少字节呢?python中数据的运算其内存是如 ...

  2. 【微信小程序】mpvue中页面之间传值(全网唯一真正可行的方法,中指推了一下隐形眼镜)

    摘要: mpvue中页面之间传值(注意:是页面之间,不是组件之间) 场景:A页面跳转B页面,在B页面选择商品,将商品名带回A页面并显示 使用api: getCurrentPages step1: A页 ...

  3. java之三元运算符

    逻辑运算 ? m : n;如果逻辑运算为真,则返回m,否则返回n 实例: 判断i,j两个数的大小,如果a较大,则输出1,否则输出0: 找到i,j,k三个数中的最大值: public class Tes ...

  4. Java中Set与Set<?>到底区别在哪?

    您可能知道,无界通配符 Set<?> 可以容纳任何类型的元素,而原始类型Set也可以容纳任何类型的元素.那它们之间有什么区别呢? 1.关于Set<?>的两个事实 关于Set&l ...

  5. 《细说PHP》第四版 样章 第18章 数据库抽象层PDO 2

    18.2  PDO所支持的数据库 使用PHP可以处理各种数据库系统,包括MySQL.PostgreSQL.Oracle.MsSQL等.但访问不同的数据库系统时,其所使用的PHP扩展函数也是不同的.例如 ...

  6. .Net ADO拼接带参数的SQL语句

    首先是在DAL数据访问层中的代码://数据更新的方法public static int shuxing_update(s_passnature model) { string sql = " ...

  7. C# shell32.dll 的用法

    1 首先要使用shell32  请在项目引用中添加shell32.dll 的引用  (备注:该引用是系统dll文件 在C:\Windows\System32  目录下 可以自行拷贝到项目中) priv ...

  8. wpf file embeded resource is readonly,Copy always will copy the file and its folder to the bin folder

    Wpf file embeded resource will compile the file into the assembly and it will be readonly and can no ...

  9. python基础(29):网络编程(软件开发架构、网络基础、套接字初使用)

    1. 软件开发架构 我们了解的程序之间通讯的应用可分为两种: 第一种是应用类:qq.微信.百度网盘.腾讯视频这一类是属于需要安装的桌面应用. 第二种是web类:比如百度.知乎.博客园等使用浏览器访问就 ...

  10. Threads(异步和多线程)

    Task是.NET Framework4.5出现的,线程是基于线程池的,然后提供丰富的api,Thread方法很多很强大,但是太过强大,没有限制. DoSomethingLong方法如下: /// & ...