#《H.264和MPEG-4视频压缩》# 二. 图像质量
为了规范、评价、比较不同的视频通信系统,我们需要建立评价图像质量的准则。视觉效果的测量非常困难,而且并不精确,因为影响结果的因素众多。图像质量的认定是一个主观化的东西,许多影响它的因素都难以给出完整而准确的测量。观察者对图像质量的感觉与它的目的非常相关,比如,看一部DVD影片、参加视频会议、手语的通信或者监视视频中的识别等。客观的标准通常准确,可以重复,但是目前尚没有与人类主观感觉完全一致的客观标准。
主观视频质量评估
影响主观标准的因素
人眼的视觉是由一套很复杂的系统相互作用形成的,如眼、脑等等,对视频的感觉受空间(图像中的局部有多么清晰,或有没有明显的失真)和时间(运动是否自然)两个方面的影响。可是观察者的感觉常常也会被其它东西影响,比如环境、立场以及场景与人物相关的程度等。有特定任务的用户往往会注视图像的特定部分,所以对于图像的质量好坏的评价也会和普通的电影观众有区别。而且有实验表明,如果在舒适、注意力不易分散的环境中,观察者对视频的感觉会较好(排除视频质量自身的差异)。
其他的对视觉效果的影响还有注意程度(注意图像中一连串的点还是整体浏览整个图像)和“最近效应”(最近看过的影片比以前看过的影片对感觉的影响大)。所有这些因素都难于精确测量和量化。
ITU-R 500
ITU-R BT.500-11 规定了一些主观标准的测试程序,常用的一种是DSCQS(double stimulus continuous quality scale)测试程序。测试者先顺序观看一对图像和短片A和B,然后对A和B的质量在五个级别上给出打分,从“很好”到“差”。在这种典型测试中,测试者往往要看许多组,然后分别对每一对给出结论。在每一组序列中只有一个是原视频,剩下的都是经过特定处理的视频。
随机的测试顺序让测试者不知道哪个是原始数据,哪个是处理过的数据,以免测试者有一个主观的预判断。在测试的最后,测试结果被转换成一定的分值(有时表示为平均主观分值)反映处理视频相对于原视频的质量。
像DSCQS这种测试,被用于比较主客观视觉质量评价准则。但是它实施仍有一定的问题。因为结果会由于测试者和测试用的视频序列的不同而大相径庭,可以通过重复地测试不同的视频和换用不同的测试者来弥补这一问题。同时一个专家(熟悉视频压缩可能带来的变化和结果的人)可能给出并不准确的结果,所以测试者最好不要是视频的专家。这就意味着需要很多的人参与测试,因为一个外行人会很快得学会识别这些视频的特征(成为“专家”)。这些因素是得DSCQS的实施需要大量物质和时间上的消耗。
客观视频质量评估
视频压缩和视频处理的开发人员主要依靠的是客观标准,PSNR(峰值信噪比)是最常用的方法,但是它仍有局限性,因此更复杂、更能反映人眼视觉效果的方法仍有待开发。
PSNR
峰值信噪比PSNR见公式(1),它是原始图像与处理图像之间均方误差相对于(2n-1)2的对数值(信号最大值的平方,n是每个采样值的比特数)。
PNSRdB=10log10(2n-1)2/MSE (1)
PSNR的计算简单而快速,因而它在视频图像的压缩和解压缩的质量评估方面广受欢迎。图2.18中显示的3幅图中(a)是原图,(b)、(c)是处理后的图像。图像(b)的PSNR值为30.6dB,图像(c)的PSNR值为28.3dB(较差)。
用PSNR来测量图像质量也有一定局限性。PSNR需要一幅图作为比较的基准,但这在一些情况下面并不容易确定“原图”的忠实程度。同时PSNR的测量结果与ITU-500中定义的主观测量结果也不完全吻合。通常,PSNR值高意味着图像质量好,PNSR值低意味着图像质量差,但是一个特定的PSNR值不能绝对反映主观认识。例如,图2.19显示可图2.18的背景模糊后的图像,其PSNR值只有27.7dB。但与PSNR显示的结果相反,大多数的人都会认为图2.19的质量明显比图2.18(c)好,因为脸部更清晰。这就说明了PSNR值不能绝对反映主观认识,因为人眼视觉的重点在脸部区域,所以这一部分的失真也最敏感。

图片来源《新一代视频压缩编码标准——H.264/AVC》
end。
“人生不像做饭,不能等万事具备了才下锅。”
#《H.264和MPEG-4视频压缩》# 二. 图像质量的更多相关文章
- 03:H.264编码原理以及视频压缩I、P、B帧
一:前言 H264是新一代的编码标准,以高压缩高质量和支持多种网络的流媒体传输著称,在编码方面,我理解的他的理论依据是:参照一段时间内图像的统计结果表明,在相邻几幅图像画面中, 一般有差别的像素只有1 ...
- H.264视频压缩标准
H.264 这部分一直在讲,但是却没有系统的来说.接下来要详细. 参看:H.264视频压缩标准 一.简介 H.264是最新的视频压缩标准,它也称为MPEG-4 Part 10或AVC(高级视频编码). ...
- 6. H.264/AVC编码器原理
1. H.264/AVC的应用 H.264 不仅具有优异的压缩性能,而且具有良好的网络亲和性,这对实时的视频通信是十分重要的.和 MPEG-4 中的重点是灵活性不同,H.264 着重在压缩的高效率和传 ...
- H.264码流结构解析
from:http://wenku.baidu.com/link?url=hYQHJcAWUIS-8C7nSBbf-8lGagYGXKb5msVwQKWyXFAcPLU5gR4BKOVLrFOw4bX ...
- H.264 与 MPEG-4 压缩格式的变革
h.264 和 mpeg-4 的关系: h.264 /avc ( advanced video coding )标准,是 mpeg-4 的第 10 部分. mpeg-4的初衷是将dvd质量的图像码流从 ...
- 【二】H.264/MPEG-4 Part 10 White Paper 翻译之 Prediction of Intra Macroblocks
翻译版权所有,转载请注明出处~ xzrch@2018.09.14 ------------------------------------------------------------------- ...
- H.264 White Paper学习笔记(二)帧内预测
为什么要有帧内预测?因为一般来说,对于一幅图像,相邻的两个像素的亮度和色度值之间经常是比较接近的,也就是颜色是逐渐变化的,不会一下子突变成完全不一样的颜色.而进行视频编码,目的就是利用这个相关性,来进 ...
- H.264简介
H.264/MPEG-4 AVC (H.264) 是1995年自MPEG-2视频压缩标准发布以后最新的, 最有前途的视频压缩标准. H.264是由ITU-U和ISO/IEC联合开发组共同开发的最新国际 ...
- H.264开源解码器评测
转自:http://wmnmtm.blog.163.com/blog/static/38245714201142883032575/ 要播放HDTV,就首先要正确地解开封装,然后进行视频音频解码.所以 ...
随机推荐
- [校内训练19_09_03]c Huge Counting
题意 有一个定义在 k 维非负整点上的函数:$f(x_1,x_2,...,x_k):N_{0}^{k}->\{0,1\}$ ,定义方法如下: 若存在$j∈[1,k],x_j=0$,则$f(x_1 ...
- linux容器技术和Docker
linux容器技术和Docker 概述 Docker在一定程度上是LXC的增强版,早期的Docker使用LXC作为容器引擎,所以也可以说Docker是LXC的二次封装发行版,目前docker使用的容器 ...
- markdown常用语法使用笔记+使用技巧(持续更新......)
参考引用内容: 简书教程 一 基本语法 1. 标题 语法: 在想要设置为标题的文字前面加#来表示,一个#是一级标题,二个#是二级标题,以此类推.支持六级标题. 注:标准语法一般在#后跟个空格再写文字 ...
- Kubernetes-Ingress资源详解
什么是Ingress #阿里云称之为ingress路由!在 Kubernetes 集群中,主要用于接入外部请求到k8s内部,Ingress是授权入站连接到达集群服务的规则集合,为您提供七层负载均衡能力 ...
- node使用art-template的过滤器
引言 art-template过滤器在我看来,其实就是定义一个函数,模板字符串通过调用该函数处理相关的数据,得到相应的返回结果,显示在页面上.因此我们可以注册一个过滤器,处理相关的数据.这里使用nod ...
- js之split()和join()的用法
说明 这几天写了一个简单的vue项目,需要截取字符串,一时间想到了正则表达式,还折腾了还一会儿,最后上网查了一下,使用split()再简单不过了,也顺便回忆一下join().可见我有多菜,哈哈,学了这 ...
- Flutter 入门 --- 内部分享
八月部门给分配的分享任务,由于项目太赶,推迟一个月. 选 Flutter 这个主题,是因为现在它慢慢流行起来了,而我却不了解,故而借此契机,上手试试. 简介 Flutter 是 Google 推出的跨 ...
- 聊聊“装箱”在CLR内部的实现
原文连接:https://mattwarren.org/2017/08/02/A-look-at-the-internals-of-boxing-in-the-CLR/ 作者 Matt Warren. ...
- 位运算在状态压缩DP中的应用
一.判断一个数字X的i位是不是1 方法: << (i-)) & x > ) 原理: 1左移(i-1)位,相当于制造了一个就i位上是1其他位都是0的一个二进制数.将这个数 ...
- vcs/verdi filist
. 现在很多verilog 的filelist 文件中用如下形式来指定文件所在的目录就行了,而不必指定具体文件 ./testbench/ppc460_PLB4/p464s_test_top_tb.v ...