#《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,就首先要正确地解开封装,然后进行视频音频解码.所以 ...
随机推荐
- json的结构和表示方式(对象object、数组array)
json简单说就是javascript中的对象和数组,所以这两种结构就是对象和数组两种结构,通过这两种结构可以表示各种复杂的结构 1.对象:对象在js中表示为“{}”括起来的内容,数据结构为 {key ...
- Kubernetes 服务自动发现CoreDNS
前言 Service服务,是一个概念,逻辑通过selector标签代理指定后端pod.众所周知,pod生命周期短,状态不稳定,pod错误异常后新生成的Pod IP会发生变化,之前Pod的访问方式均不可 ...
- Linux测试环境简单使用教程
0. 本blog 简单说明一下 Linux测试环境尤其是 CentOS测试环境的开发测试使用, 教程可能不会很长, 主要是入门. 0.1 Linux简介: Linux 的历史基本上不用阐述, linu ...
- 深入JVM类加载器机制,值得你收藏
先来一道题,试试水平 public static void main(String[] args) { ClassLoader c1 = ClassloaderStudy.class.getClass ...
- Python程序打包EXE遇到的各种坑
废话不多说,反正我现在还没成功,不过我记录一下遇到的坑! 1:安装相关库太慢 解决办法:离线安装 在一大堆教程中,要安装好几个库,但是有些库用pip在线安装一直卡死(看不到进度条,就当卡死吧),这个问 ...
- @ComponentScan注解,basePackages参数通配符
@ComponentScan(basePackages = "com.ofo.test")当basePackages的直使用通配符,使用**,不能使用*.引用:https://bl ...
- XDOJ
1000.a+b. #include<bits/stdc++.h> using namespace std; int a,b; int main() { ios::sync_with_st ...
- 《C# 爬虫 破境之道》:第二境 爬虫应用 — 第六节:反爬策略研究
之前的章节也略有提及反爬策略,本节,我们就来系统的对反爬.反反爬的种种,做一个了结. 从防盗链说起: 自从论坛兴起的时候,网上就有很多人会在论坛里发布一些很棒的文章,与当下流行的“点赞”“分享”一样, ...
- ORB-SLAM2 论文&代码学习 —— 概览
转载请注明出处,谢谢 原创作者:MingruiYU 原创链接:https://www.cnblogs.com/MingruiYu/p/12347171.html *** 本文要点: ORB-SLAM2 ...
- k8s 开船记-全站登船:Powered by .NET Core on Kubernetes
今天 18:30 左右,我们迈出了 kubernetes 航行的关键一步——全站登船,完成了全站应用从 docker swarm 集群向 k8s 集群的切换,以前所未有的决心与信心重新开起这艘巨轮,而 ...