专栏首页音视频技术衡量视频质量有哪些指标和工具?

衡量视频质量有哪些指标和工具?

视频质量指标是用于预测观众对视频质量的实际评估结果的算法,涉及包括比较编解码器和不同的编码配置,协助生产和实时体验质量(QoE)监控在内的诸多视频处理与制作环节。本文从编解码器与编码配置角度而非用户体验与质量监控出发,描述了最常用的客观质量指标与部署工具。

文 / Jan Ozer

翻译 / 咪宝

审校 / John

原文

https://www.streamingmedia.com/Articles/Editorial/Featured-Articles/Buyers-Guide-to-Video-Quality-Metrics-130675.aspx

了解视频质量指标

表1提供了最常用的视频质量指标分级标准,其中最左侧表示视频质量平均主观意见得分(MOS)反映观众基于实际观看体验质量给出的主观评价,等级从1到5等递增。虽然不同于一般计算机算力指标,但平均主观意见得分 MOS依旧是评价画面质量与用户观看体验的黄金标准,因为它提供了最好的预测实际主观评级的参考消息。尽管越靠右侧的会有所提升,但MOS依旧无可替代。

请注意,并非所有以平均意见得分表示的指标都是主观的。几个视频质量测量工具使用五点MOS标度输出客观评级,当您浏览产品列表时应当清晰地区别这些评级是计算机生成的一系列客观数据。

表1.常见的视频质量指标以及相关的功能和解释。(http://dzceab466r34n.cloudfront.net/Images/ArticleImages/122565-Ozer-Metrics-Buyers-Guide-table-1-ORG.png)

按照左侧的功能,Basis是度量的理论基础(ML代表机器学习),由于PSNR(峰值信噪比)和SSIM(结构相似性)仅基于数学算法,二者仅适用于评价静态图像质量且算法本身不会随着时间的推移而迭代升级。根据SSIMplus的开发者SSIMWave的说法,机器学习有助于SSIMplus算法随时间的推移而迭代升级改进,他们也将继续这样改善算法。相比之下,VMAF(视频多方法评估融合)是基于机器学习增强的算法,可随时间的推移而迭代升级;并且开发者也可针对内容特定数据集对该算法进行训练以获得更好的预测价值,例如针对基于卡通频道的卡通视频或基于体育频道的体育视频单独优化,这也就是为什么表格上的预测价值评级会呈现此般结果。

表中的所有客观指标都是“参考”指标,这意味着它们是通过比较编码文件与源文件来计算质量的。通常,MOS测试不涉及参考源视频文件,但一些开发者通常会尝试这样做。基于参考的测量比无参考测量更佳精准,后者主要用于那些基于参考的测量无法实现(无源视频)或不能实用(实时编码)的测试场景中。

评分是衡量视频质量的尺度,随度量标准而变化。接下来我将基于几个新特性为大家详细说明如何使用和阐述度量标准并展示不同应用程序的度量标准的适用范围。例如我们将视频没有令人不安的伪像时的结果作为“无伪影”的阈值,而将观众认为视频刚开始出现画质劣化时的结果作为“伪影可能存在”的阈值。取而代之的是,您可以简单地使用所显示的评级系统详细说明优秀、良好、公平、差和劣质视频所对应的分数。

让VMAF发挥作用的一个特性是6点差异构成了一个通常被认为有75%的观众可以注意到的明显差异,如果两个编解码器的VMAF等级相差2点则推测该差异不明显,原因是观众心理不会在意到二者质量差别,尽管其中某个视频的分数更高。

设备评级是对特定设备的视频质量进行评级的能力,可以解释为什么在iPhone上看起来很棒的视频在4K电视上播放却难以令人满意。SSIMplus在此项评级中领先于其他数十个设备评级,而VMAF有三个评级:标准、手机和最近推出的4K评级。

最后的区别是所有权:除SSIMplus之外的所有评测方法都是开源的,这意味着它们可用于各种工具,包括一些免费工具如FFmpeg。

指标总结

以下是对每个指标的简要总结。

PSNR-可能是业界使用最广泛的指标,但也被认为具有准确度最低的预测值。尽管其现在仍然被Netflix、Facebook等公司用于编解码器比较等场景,但使用率正在下降。

SSIM拥有比PSNR准确度略高的预测值但其知名度较低,虽然受到一些编解码器研究人员和编码工程师的青睐,但其使用率同期间在下降。

SSIMplus是非常实用且备受推崇的度量标准,但SSIMplus是非开源的,这意味着SSIMplus 不能被用于除SSIMWave以外的其他任何工具,且授权费用起价约为995美元。

VMAF是由Netflix发明的开源视频评测标准,应用十分广泛。VMAF专为在编码阶梯上评估多分辨率梯级编码流而设计与调整,其背后是Netflix备受推崇的per-title和per-clip编码堆栈引擎,功能强大的同时具有光明的发展前景。

工具

有多种产品可以使用我在表2中展示的的五种计算指标,当然可使用这五种计算指标的产品远不止这些,我会选择对我而言更为熟悉的产品。如果您发现有未列出的此类别产品,请通过janozer@gmail.com与我联系并讨论。

需要注意的是,这里有一个包含来自各大公司的实时质量评测算法的独立产品类别,其中有SSIMWave(SSIMPlus Live Monitor)、Telestream(Inspector Live)、Tektronix(Sentry),这些被用于测量和监控视频质量以确保可持续的用户体验(QoE),但这并非本次介绍的重点。

表2.用于测量视频质量的工具。(http://dzceab466r34n.cloudfront.net/Images/ArticleImages/122568-Ozer-Metrics-Table-2-Large-ORG.png)

就表2中工具的高级分类而言,FFmpeg作为生成测试分数的开源方案被包含在内,但显然其缺乏可视化等功能。这些功能对于理解度量标准至关重要,为了更好地解释度量标准,当您在使用客观指标时至少需要关注两个分数:平均值和最低帧值。

为什么需要这样做?如果比较使用CBR和VBR编码的视频,其总体分数通常相对接近;然而CBR视频可能包含会导致视频质量下降且对观看体验造成不利影响的瞬时瑕疵。FFmpeg提供了一个单独的分数且不包含最低分,这也让开发者感到困惑。相比之下,莫斯科大学视频质量测量工具(VQMT)允许开发者输出任意数量的“坏帧”以识别存在的问题并呈现可视化结果,分析相关数值如何随视频持续时间而变化。

您可以从图1中的SSIMWave VOD监视器中看到这一点,该监视器正在跟踪基于不同 Per-title编码技术编码的多个视频质量。显而易见的是,有些视频的质量明显降低。在SSIMWave工具中,开发者可以单击所绘制值中的任意位置并从任意测试视频中查看该帧。此功能便于开发者识别潜在的问题区域并验证问题是否真正存在,最重要的是,如果开发者需要仔细比较文件则亟需这样一个带有GUI和可视化内容的工具。

图1. SSIMWave的VOD Monitor工具提供非常灵活的可视化结果。(http://dzceab466r34n.cloudfront.net/Images/ArticleImages/122572-Ozer-Metrics-Fig1-large-ORG.png)

除了FFmpeg之外的这些工具大致分为以下三类: VQMT和VideoQuest是主要用于实验的单用户桌面工具,SSIMWave VOD Monitor是基于Centos用于多用户实验和规模化生产的监视工具,Hybrik是我们唯一可实现几乎无限量的批量生产的云入口。开发者如果在实际工作中参考表2中的特性将有助于他们区别以上几种工具并精准选择。

在操作范例方面,VQMT和VideoQuest可以使用相似的命令行操作,将最多两个编码文件与GUI中的单个源进行比较;而SSIMwave和Hybrik工具都可将多个文件与GUI中的单个文件进行比较以加快操作速度;使用Hybrik工具,开发者可以下载包含多个文件结果的CSV从而简化导入和分析过程。相比之下,开发者如果使用VQMT、VideoQuest和VOD Monitor则必须从单个CSV文件中复制并粘贴单个分数,这无疑是耗费时间且容易出错的。

此外,VQMT和VideoQuest在指定的操作系统上运行并且二者仅允许一位管理员访问;相比之下SSIMWave VOD监视器在CentOS上运行,其基于浏览器的GUI可以被任何支持CentOS的计算机访问;Hybrik则是一个SaaS Web应用程序,任何有浏览器和服务都可以访问Hybrik。虽然VQMT和VideoQuest都提供了批量操作功能,但SSIMWave和Hybrik可由REST API驱动,这就意味着开发者可轻松地将SSIMWave和Hybrik的结果集成到生产环境中。

交叉分辨率是指将多个分辨率文件与单个源文件进行比较的功能,常用于衡量编码阶中所有文件的质量。使用VQMT和VideoQuest,开发者首先需要将较低分辨率的文件转换成与源文件相同分辨率的YUV文件,这是一件非常耗时且需要大量磁盘空间的工作;相比之下,SSIMWave和Hybrik则不需要这样,开发者可使用SSIMWave或Hybrik直接比较360p文件与1080p源文件而无需事先转换。其中的SSIMWave更为先进,可比较不同分辨率及不同帧速率的文件,例如比较1080p 60fps与720p 30fps文件。

除此之外,VideoQuest和SSIMWave还可将源文件版本和编码后文件版本的帧自动对齐,这对会在视频开头添加或删除帧的编码器来说十分必要,避免了许多繁杂的工作——如果使用VQMT,那么开发者必须手动对齐源文件版本和编码后版本的帧,而这如果在Hybrik上根本不可能做到。

度量标准是不言自明的,我们讨论了视频输出以上“坏帧”的能力。与文件相关的信息可从那些与其他非度量数据相关的文件中收集,例如Elecard VideoQuest的一个特殊优势便是能够显示图2所示的帧和文件信息。具体来说,理想情况是开发者可查看GOP中并列帧类型并且知道所比较的图像帧都是大约相似大小的P帧是很棒的功能,其他与测试文件相关的更多比较数据可帮助开发者对其中进行更深度比较和分析。

图2. VideoQuest提供了与许多重要文件相关的数据。(http://dzceab466r34n.cloudfront.net/Images/ArticleImages/122573-Ozer-Metrics-Figure-2-Large-ORG.png)

我们介绍了上面可视化显示和设备评级的结果,其中的输出是指分析完成后传递评分信息至开发者的过程。单文件输出意味着20种不同的打开、复制与粘贴操作,用于记录20个不同的分数。在这方面,使用Hybrik,开发者可以将无限数量的文件输出到单个CSV中,大幅度减少开发者面对一些复杂分析过程时的工作量。

我会将功能表数据集成到以下与产品相关的操作中。

FFmpeg仅适用于那些使用免费工具的资深开发者。

VQMT是一种可快速上手且具有出色可视化功能的工具,包含广泛的指标选择和出色的命令行程序。如果开发者需要进行多个文件的比较那么VQMT是一个很好的工具。

VideoQuest-Trails VQMT具有出色的可用性且提供了与文件相关的核心数据,具有很强的查看和比较视频的能力,是深层次比较文件的绝佳工具。

SSIMWave VOD监视器是唯一具有SSIMplus指标但缺乏对VMAF支持的工具。其具备出色的多文件可视化,业界领先的设备支持以及出色的高容量和多用户功能。VOD监视器还具有一些独特的指标如感知保真度指标,其原理是排除源视频中的视觉缺陷从而更加客观精准地对编码结果进行评分,所得出的加权平均指数允许开发者将视频中的质量变化解构为最终评级。总的来说,这是一款功能十分强大的工具。

Hybrik-视频分析是Hybrik云编码平台的一个特性而非单独产品,这无疑是一个坏消息,因为对绝大多数用户来说购买仅用于分析的功能并不划算。Hybrik提供了一系列可靠的指标和QC工具(参见图3),而云端允许Hybrik使用比单台计算机更强大的算力以处理更多的文件。如果开发者需要大批量处理较长或较高分辨率的文件,Hybrik是最合适的选择。

图3. Hybrik的指标和QC工具。

(http://dzceab466r34n.cloudfront.net/Images/ArticleImages/InlineImages/122571-Hybrik-ORG.png)

本文分享自微信公众号 - LiveVideoStack(livevideostack)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-04-11

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • HttpClient参观记:.net core 2.2 对HttpClient到底做了神马

    .net core 于 10月17日发布了 ASP.NET Core 2.2.0 -preview3,在这个版本中,我看到了一个很让我惊喜的新特性:HTTP C...

    ShenduCC
  • 场景:当所有的 Controller,都需要传入某个参数,代码如何写?

    假设有个场景,每一个 controller 都需要接收一个共同的参数,那么除了在每一个方法中都加入这个参数之外,还有一个方法就是使用@ControllerAdv...

    水货程序员
  • Kali Linux + Windows10双系统安装教程

    1.kali2.0镜像文件 - 下载地址:https://www.kali.org/downloads/

    南山南的杨先生
  • 滚动条插件

    最近项目中 老板需要 将聊天界面 的滚动条美化一下,所以主编海百了一波,发现一个样式和兼容性不错的滚动条插件 jQuery自定义滚动条样式插件mCustomSc...

    冯杰宁
  • 100篇泛癌研究文献解读之激酶相关基因融合事件

    为了分析不同类型、组织起源肿瘤的共性、差异以及新课题。TCGA于2012年10月26日-27日在圣克鲁兹,加州举行的会议中发起了泛癌计划。参考:https://...

    生信技能树
  • Eureka 源码分析之 Eureka Client

    Eureka是一种基于REST(Representational State Transfer)的服务,主要用于AWS云,用于定位服务,以实现中间层服务器的负载...

    程序员果果
  • selenium Firefox 设置代理(认证)0

    版权声明:如需转载本文章,请保留出处! https://blog.csdn.net/xc_z...

    周小董
  • HttpServletRequest 使用@Autowired 注解会有问题吗?

    SpringBoot 中,默认注入的对象是单例对象,那么,我们如果注入一个 HttpServletRequest,会有问题吗?因为每次请求,Request 是不...

    水货程序员
  • selenium自动化测试资源整理(chrome,chromedriver、firefox,geckodriver)

    版权声明:如需转载本文章,请保留出处! https://blog.csdn.net/xc_zhou...

    周小董
  • Spring的JavaConfig

        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

    冯杰宁

扫码关注云+社区

领取腾讯云代金券