这篇文章提出了一个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. 第04组 Beta冲刺(4/5)

    队名:new game 组长博客 作业博客 组员情况 鲍子涵(队长) 过去两天完成了哪些任务 地图移动 接下来的计划 素材和脚本相连 引入声音素材 还剩下哪些任务 让游戏本体运行 遇到了哪些困难 时间 ...

  2. Python连载53-UDP、TCP、FTP编程实例

    一.服务器程序要求永远运行,一般用死循环来处理 1.服务器改造版本V03(主程序 原封不动,这里只修改了运行的程序) if __name__ == "__main__": whil ...

  3. Qt Designer布局预览正常,代码调用时所有控件堆在一起

    一.实验环境 1.Windows10x64 2.anaconda4.6.9 + python3.7.1(anaconda集成,不需单独安装) 3.pyinstaller3.5 二.问题描述 1.Qt ...

  4. 使用logging模块进行封装,让bug无处遁寻

    import logging from scripts.handle_config import conf from scripts.constants import LOGS_DIR class H ...

  5. linux检测远程端口是否打开

    常用telnet ip port 方式(如telnet 172.17.193.18 5902)测试远程主机端口是否打开,或者用于测试当前环境与远程主机的端口之间的防火墙开通与否. telnet [ro ...

  6. Python中model转dict

    问题 在query出来的行信息object中有一个dict变量,这个变量存储了字典信息 for u in session.query(User).all(): print u.__dict__ 但是这 ...

  7. maven新建项目的几种方式和启动

    方式一: 第1步:转到 New 菜单 Other.. -> Maven -> Maven Project ,然后单击 Next .如下图所示 - 第2步:在New Maven Projec ...

  8. MySQL Linux环境的安装配置

    在Kali中已经内置了MySQL(镜像可以从mysql.com/downloads/ 下载安装) 奇怪的是博主我的kali内置的是mariaDB数据库,所以我也懒得弄MySQL了!直接mariaDB吧 ...

  9. 裸奔的支付X聊天,你还敢用吗?

    - 语音消息 使用HTTP明文传输,没有任何加密措施,使用域名为up-mayi.django.t.taobao.com,从报文中可以看出,语音消息是以文件形式在网络中传输的,下图为一次语音的发送传输过 ...

  10. ABP进阶教程4 - 分页排序

    点这里进入ABP进阶教程目录 下载插件 打开Datatables官网(https://datatables.net/download/) 下载插件,复制到JD.CRS.Web.Mvc\wwwroot\ ...