视频质量评估(VQA)一直是个很活跃的研究领域,原因其一是业内一直缺少一种统一且准确的评估标准,其二是影响视频质量的因素过多,且包含很多主观因素,难以客观、定量地评价。经过这么多年的研究,已经诞生了非常多的视频质量评估方法,本文将简单地对它们进行分类及介绍。
相关阅读推荐
《视频直播:Windows中各类画面源的截取和合成方法总结》

《视频直播关键技术:流畅、拥塞和延时追赶》

《短视频技术详解:Android端的短视频开发技术》

客观质量评估方法分类
首先,视频质量评估方法可分为主观测试和客观测试两大类。主观测试即通过人类肉眼观察的手段来评分,可以说是最能体现观众对视频质量感受的方法,也是其他客观评价方法的终极目标。但主观测试极端耗费人力和时间,是无法直接在工业领域应用的。

而客观评估方法,按照国际电信联盟(ITU)的建议,可以根据输入的数据类型被分为5大类:媒体层(Media-layer)模型、参数集层(Parametric packet-layer)模型、参数规划(Parametric planning)模型、码流层(Bitstream-layer)模型、混合(Hybrid)模型。其中媒体层模型直接使用媒体信息进行运算分析给出评价结果,而其他类型的评估方法则是根据编码参数或网络信道状态等等外部变量来评估质量。

媒体层模型的方法可以依据是否需要输入编码前的原始视频数据进一步划分为全参考(FR,Full-Reference)、部分参考(RR,Reduced-Reference)和无参考(NR,No-Reference)三类。故名思议,全参考使用完整的原始视频信号作为对比数据,而部分参考则使用经过提取的部分视频特征作为对比数据,无参考则仅使用用户得到的实际数据来评价视频质量。这三类方法的准确度和适用场合均大有不同。

Figure1 FR,RR,NR视频质量评估的差异

全参考视频质量评估
显然的,在这三类方法中,有完整的原始数据作为对比源的全参考质量评估方法结果会更加准确。但是也正因为其需要使用原始数据,实际应用时会存在较大的限制,所以一般仅在非实时的评估系统中会被使用。例如在开发过程中配置编码参数或比较不同编码器的性能时,大多会采用这类方法。

早期的全参考评估方法,一般直接使用像素差值作为衡量依据,比如均方差(MSE)、峰值信噪比(PSNR)等。这类方法计算简单,且能够一定程度反应图像的失真程度,所以至今仍然有很多应用在使用它们。

但是毕竟人类主观上不光只是依靠单个像素的差异来评价视频质量的。且不说视频中包含的大量运动信息,即便只考虑静态图像,同样的像素差值以不同的分布规律分布在不同的位置上时,对视频质量的影响也是不一样的。为了更好的评价视频质量,研究人员根据人类自然视觉上的特性,提出了许多新的评价方法。例如基于结构相似度的VSSIM,以及综合统计了多种影响因子的VQM等。它们的评价结果相对前一类方法都更为接近人眼主观感受。这里借用一下出自K.Seshadrinathan, A. C. Bovik的文献“Motion Tuned Spatio-Temporal Quality Assessmentof Natural Videos”里的图来展示一下PSNR,VSSIM,VQM的区别。下方三张图横坐标为客观测试分数,纵坐标则为主观测试分数。可以看到PSNR的结果与主观分数差异较大,VSSIM则存在不同类型的视频评价准确度不一的问题,VQM相对来说结果最好。

Figure2 PSNR,VSSIM,VQM客观评测分数与主观评测分数对比

后来,研究人员引入了基于人类视觉系统(HVS)的感知模型,进一步提升了视频质量评估的准确性。这其中比较有代表性的是MOVIE(MOtion-based Video IntegrityEvalution)。这种方法会计算视频中物体的运动矢量,联合时域和空域的失真信息,最终得到一个符合主观感受的失真评价分数。在众多全参考视频质量评估方法中,MOVIE属于结果较为优秀的一种。但是同时,MOVIE的运算复杂度也要远高于前面提及的几种算法。下图横坐标为MOVIE应用在视频质量专家组(VQEG)数据库提供的测试序列上得到的客观评分,纵坐标为主观测试得分。

Figure3 MOIVE客观评分与主观评分对比

部分参考视频质量评估
全参考视频质量评估需要完整的原始视频信号,也就是未经压缩的像素数据。这个量级的数据一般是无法实时传输的,这也就导致无法在远程实时监测视频质量。为了解决这个问题,人们提出了部分参考的评估方法。这类方法会提取原始视频信号中某些特征值,利用它们来评价视频质量。常见的特征值有DCT系数、运动矢量等。作为一种介于全参考与无参考之间的折中方案,它够解决远程传输的问题,而其代价是准确度的降低。现有的部分参考质量评估方法大都仅能达到与PSNR准确度相当的水平。

无参考视频质量评估
无参考视频质量评估不再需要失真前的数据,而仅需要和观众实际得到的相同的视频信息,就能得到一个大体的质量评分。这类方法虽然实现起来较为困难,但是一旦实现,即可很灵活地应用在视频相关的各个领域,是一种比较理想的视频质量评估手段。但是到目前为止,无参考评估仍然没有一个较为成熟的方案。一方面其评估结果的准确性与有参考的评估方法相比还有一定差距,另一方面其对视频内容有比较大的依赖性,普适性仍不能够得到保证。

不过无参考视频质量评价目前已是视频质量相关研究的重点。并且,近些年机器学习技术的进步与普及,也为解决如何在没有参考对比的前提下评价视频质量这个问题提供了新的方向。目前业界也已经有了一些借助机器学习手段来进行无参考视频质量评估的尝试,其效果如何仍有待验证。相信随着研究者们的不断探索与尝试,未来我们能够得到一种成熟的方案。

总结
视频质量评估的内容非常多,本文仅仅粗略地介绍了客观视频质量评价的种类以及它们的适用场景。在实际应用时,仍需要根据实际情况来选择合适的方法。例如是否需要比较不同帧率或不同分辨率的视频质量,是否需要考虑网络抖动的影响等等。最后,用下面的分类图做一个总结:

Figure4 视频质量评估方法大致分类

另外,想要了解更多关于即时通讯和音视频技术的干货文章,可以移步网易云信博客。

音视频技术:视频质量评价方法简介相关推荐

  1. 一种全景视频的主观质量评价方法(译)

    A subjective visual quality assessment method of panoramic videos ICME 2017 abstract 与传统的2D视频不同,在头戴式 ...

  2. 音视频技术:视频质量评价方法简介 1

    视频质量评估(VQA)一直是个很活跃的研究领域,原因其一是业内一直缺少一种统一且准确的评估标准,其二是影响视频质量的因素过多,且包含很多主观因素,难以客观.定量地评价.经过这么多年的研究,已经诞生了非 ...

  3. 视频质量评价方法简介

    周鑫 2017年毕业于浙江大学,读研期间主要进行视频编码相关研究,目前在通信与视频部门进行转码引擎相关研发. 作者简介 ●●● 引言 视频质量评估(VQA)一直是个很活跃的研究领域,原因其一是业内一直 ...

  4. 流媒体视频质量评价(单刺激连续质量评价方法)

    2019独角兽企业重金招聘Python工程师标准>>> Stefan Winkler等人在论文<Video Quality Evaluation for Internet St ...

  5. H.264 无参考视频质量评价方法 (使用了基于遗传编程方法的符号回归)

    Nicolas Staelens 等人在<Constructing a No-Reference H.264/AVC Bitstream-based Video Quality Metric u ...

  6. H.264 视频质量评价方法 (基于视频内容)

    Michal Ries等人在论文<Content Based Video Quality Estimation for H.264/AVC Video Streaming>中,描述了一种基 ...

  7. 基于运动特征的视频质量评价方法(基于H.264)

    Michal Ries等人在论文<Motion Based Reference-Free Quality Estimation for H.264/AVC Video Streaming> ...

  8. 视频主观质量评价方法

    视频主观质量评价就是选择一批非专家类型的受测者,让他们在一个特定的受控环境中,连续观看一系列的测试序列大约10至30分钟,然后采用不同方法让他们对视频序列的质量进行评分,最后求得平均意见分(Mean ...

  9. 全参考客观视频质量评价方法 (MSE, PSNR,SSIM)原理

    全参考客观视频质量评价方法是指把原始参考视频与失真视频在每一个对应帧中的每一个对应像素之问进行比较.准确的讲,这种方法得到的并不是真正的视频质量,而是失真视频相对于原始视频的相似程度或保真程度.最简单 ...

最新文章

  1. 2000DC和DNS迁移到2003 R2
  2. Haskell语言实现求解一个整数所有因子的代码及运行结果
  3. linux 内核驱动的poll,Linux驱动基石之POLL机制
  4. 鼠标在计算机上被关闭了怎么处理,鼠标驱动程序丢失导致系统自动关闭的解决方法...
  5. C#的float、double与decimal
  6. Python format功能
  7. 我这么努力读个博士,难道只是为了进个高校拿5000每月的工资?
  8. Windows 10 开启 Num Lock
  9. 如何在JavaScript中将字符串的首字母大写?
  10. java实现rabbitmq简单队列模型,生产者 消费者 消息队列
  11. YIi 数据操作备注
  12. 0代码隐藏GroupedTableView上边多余的间隔
  13. PATB 1019. 数字黑洞 (20)
  14. 微信小程序记账报表小程序
  15. 【手写源码-设计模式17】-迭代器模式-基于客户与商品数据遍历
  16. protobuf3 oneof
  17. 总体、样本、样本的抽样分布
  18. html怎么引用桌面图片,html怎么引入图片?
  19. SICP练习1.16
  20. 6.2已知5个学生信息,要求输出成绩最高的学生的信息

热门文章

  1. 51CTO完成B轮融资,围绕1400万社区用户的IT学习平台要怎么做?
  2. php删除数组中指定值的元素
  3. 《电子基础与维修工具核心教程》——2.6 节点分压原理
  4. 基于bmob的校园资料分享互助平台
  5. Gulp:插件编写入门
  6. VS2010 win32项目windows窗体程序 向导生成代码解析
  7. Script:优化crs_stat命令的输出
  8. [通用技术]在不同语言中用协程实现全排列算法(C++/Lua/Python/C#)
  9. Java序列化的作用和反序列化
  10. 60分钟正则从入门到深入