如何确定一个视频质量的好坏一直以来都是个棘手的问题。目前常用的方法就是通过人眼来直接观看,但是由于人眼的主观性及观看人员的单体差异性,对于同样的视频质量,不同的人的感受是不一样的。为此多个研究机构提出了视频质量客观测试方法,即利用机器或程序来评价视频质量的方法。本文正是要介绍一下其中的一种方法:VQM,并且总结了一些有关VQM视频质量评价方法的资料。VQM方法给出的客观分数比较符合主观感受,属于比较好的一种质量评价算法。


各种视频质量评价方法对比:

目前最常见的客观测试标准是PSNR(峰值信噪比)测试算法,但是其测试结果与主观评价结果的一致性较差,不能完全反应人眼的主观感觉。因此有多个机构提出了与主观评价结果一致性较好的客观评价算法,如美国国家电信和信息管理局(NTIA)提出的视频质量度量(VQM)算法及其模型、英国电信BT提出的全参考视频质量模型及其算法(BTFR)、巴西电信发展研究中心(CPqD)提出的基于分段的图像评价(IES)算法,以及泰克公司和Sarnoff公司提供的PQR算法等,这些客观算法都是在模拟人眼视觉模型的基础上建立的。

为验证这些客观测试标准与主观评价结果的一致性,视频质量专家组(VQEG)在2003年进行的第二次视频质量专题测试中,对上述客观算法与主观算法的关联性进行了验证测试,测试结果如表1和表2所示,可以发现,NTIA提供的VQM客观视频质量评价方法对于PAL制及N视频格式都有较好的表现,与主观测试结果的一致性较好。

表1 PAL制式下客观评价与主观评价结果关联性

表2 NTSC制式下客观评价与主观评价结果关联性

VQM 客观测试标准是利用统计学原理模拟实际的人眼视觉系统,在提取参考及其对应的测试图像中人眼能够感知的图像特征值(亮度、色彩、时空变化等信息)的基础上,计算得出视频质量客观评价值,该评价值为人眼可感知的模糊、块失真、不均匀/不自然的运动、噪音和错误块等损伤的综合反映,其值位于0~1之间,值越小越好。

VQM的具体处理过程

如图1所示:

1.   参考及测试视频流的采集保存及模拟/数字信号转换;
2.   测试视频流的校准,依据参考视频,去除测试视频中的时间偏移、空间偏移、增益等非编解码引入的变化;
3.   提取参考及测试视频图像中人眼可感知的特征:模糊、块失真、不均匀/不自然的运动、噪音和错误块等信息;
4.   对于步骤3提取的每一种特征值进行一定的差分比较计算,依据视频测试序列的长短进行统计平均;
5.   使用VQM合并计算公式合并步骤4计算的每种特征值的统计平均值,给出最终的视频质量客观评价值(VQM),最终计算获得的VQM值位于0到1之间,数值越小代表视频质量越好。

以上文字出处:http://www.h3c.com.cn/About_H3C/Company_Publication/IP_Lh/2010/10/Home/Catalog/201006/679125_30008_0.htm

VQM客观和主观之间的对应关系

Yubing Wang在《Survey of Objective Video Quality Measurements》文章中给出了VQM客观分数与主观质量(DMOS)之间的对应关系:

注:该图是Wolf和Pinson在1992-1999年期间11次实验数据的合集。

主观感受单位是DMOS,取值在0-1之间,数值越小,代表主观感受越好。

由图可见,VQM客观分数和人眼主观感受(DMOS)之间是线性关系的。

视频质量评价方法:VQM的更多相关文章

  1. 全参考视频质量评价方法(PSNR,SSIM)以及与MOS转换模型

    转载处:http://blog.csdn.NET/leixiaohua1020/article/details/11694369 最常用的全参考视频质量评价方法有以下2种: PSNR(峰值信噪比):用 ...

  2. 一种H.264高清视频的无参考视频质量评价算法(基于QP和跳过宏块数)

    本文记录一种无参考视频质量评价算法.这是我们自己实验室前两年一个师姐做的,算法还是比较准确的,在此记录一下. 注意本算法前提是高清视频.而且是H.264编码方式. 该方法主要使用两个码流里面的参数进行 ...

  3. 视频客观质量评价工具:MSU Video Quality Measurement Tool【ssim,psnr】

    MSU Video Quality Measurement Tool(msu vqmt)是莫斯科国立大学(Moscow State University)的Graphics and Media Lab ...

  4. 图像质量评价方法PSNR+SSIM&&评估指标SROCC,PLCC

    update:2018-04-07 今天发现ssim的计算里面有高斯模糊,为了快速计算,先对每个小块进行计算,然后计算所有块的平均值.可以参考源代码实现,而且代码实现有近似的在里面!matlab中中图 ...

  5. 视频质量评估学习Note

    术语"编解码器 Coder/Decoder"是压缩器/解压缩器或编码器/解码器一词的缩写.顾名思义,编码可使视频文件变小以进行存储,然后在需要再次使用时将压缩后的数据转换成可用的图 ...

  6. 视频主观质量评价工具:MSU Perceptual Video Quality tool

    MSU Perceptual Video Quality tool是莫斯科国立大学(Moscow State University)的Graphics and Media Lab制作的一款视频主观评价 ...

  7. Pixelmetrix :OTT Media Grinder (OTT TV 质量评价设备)

    有关OTT TV 质量评价方法方面的研究少之又少.国内貌似还几乎没有相关的研究.不过在国外已经找到相关的产品了,翻译了一下产品手册的部分内容,很有参考价值,尤其是其提出的8个指标. 概述 OTT Me ...

  8. HDTV(1920x1080)码率和视频质量关系的研究 1 (前期准备)

    Hans Hoffmann等人在论文<Studies on the Bit Rate Requirements for a HDTV Format With 1920 x 1080 pixel ...

  9. BP神经网络及其在教学质量评价中 的应用

    本文学习笔记是自己的理解,如有错误的地方,请大家指正批评.共同进步.谢谢! 之前的教学质量评价,仅仅是通过对教学指标的简单处理.如求平均值或人为的给出各指标的权值来加权求和,其评价结果带有非常大主观性 ...

随机推荐

  1. 安装 Apache 源代码包

    把自己在网易博客的文章迁移过来 cd /lamp/httpd-2.2.9 ./configure --prefix=/usr/local/apache2/ --sysconfdir=/usr/loca ...

  2. 345. Reverse Vowels of a String【Easy】【双指针-反转字符串中的元音字符】

    Write a function that takes a string as input and reverse only the vowels of a string. Example 1: In ...

  3. 字符串Hash相关

    其实也并不是什么特别难的算法,但是我个人实在是不太喜欢字符串之类的东西(字符串神马的真的是麻烦),于是一直拖着不想看,然后模板题之类的也懒得做. Hash的思想其实也没什么复杂的,就是给定一系列字符串 ...

  4. 日期(date)运用座谈会

    前言 最近老被小伙伴戳:其实这些都是些很基础的东西,一边完善工具类:一边整理一下关于date的常见运用:以后使用起来就不需要到处去找了:争取做到想要的这儿都有. 正文 private static f ...

  5. 26、Flask实战第26天:cms用户模型定义

    编辑cms.models.py from exts import db from datetime import datetime class CMSUser(db.Model): __tablena ...

  6. BigInt的实现——C++编程风格读书笔记

    C++编程风格这本书前面一些章节都觉得很简明易懂,但是读到效率这一章是才充分认识到读别人的代码还是很痛苦的一件事.书中给出的需要改进的初始类如下: class BigInt { private: ch ...

  7. 为Go语言GC正名-20秒到100微妙的演变史

    http://blog.csdn.net/erlib/article/details/51850912 https://blog.twitch.tv/gos-march-to-low-latency- ...

  8. 微软工具ILMerge

    释义 ILMerge是一个可用于将多个.NET程序集合并为单个程序集的实用程序. ILMerge接收一组输入程序集并将它们合并到一个目标程序集中.输入程序集列表中的第一个程序集是主程序集. 当主组件是 ...

  9. openssh相关

    openssh相关    DSA RSA,非对称加密,产生公钥.私钥,前者存放在remote,后者存放在local,ssh-keygen产生公钥私钥时,提示输入私钥密码,防止私钥泄露被盗    ssh ...

  10. volitale最经典理解

    volatile跟Java的内存模型有关,非volatile变量时,平常情况,线程执行时会将变量从主内存加载到线程工作内存,建立一个副本,在某个时刻写回. valatile指的每次都读取主内存的值,有 ...