zoukankan      html  css  js  c++  java
  • 无参考评估在云信的视频测试实践

    导读:在实时音视频领域,如何实现视频的全自动化评估是一个业界共同的难题。无参考(NR)技术不需要关于参考视频的任何信息,无疑是视频全自动化评估的曙光。本篇文章来自网易智企资深测试工程师,主要介绍云信测试组最近在使用的一种视频无参考评估方法,及其自动化应用方案。各渠道文章转载需注明来源及作者。

    一、背景介绍

    视频质量评估的目的是准确衡量出人眼对于视频内容的感知。源视频在经过采集编码传输解码等模块传输到人眼之后,会不可避免的引入一些压缩失真,严重的时候甚至会有绿屏、花瓶、马赛克等问题。在业界评估视频质量有两种常用方法:视频质量主观评估和视频质量客观评估。

    常见的主观实验流程一般如下:

    1. 选取有代表性的源视频

    2. 添加待衡量的视频处理方案

    3. 按照ITU标准设计主观实验

    4. 招募志愿者观看视频并打分

    5. 收集主观打分并剔除无效数据

    6. 数据建模并得出实验结论。

    视频质量客观评估通过一些评估标准来量化视频质量,主要分为三种全参考(FR)、部分参考(RR)、无参考(NR)。

    全参考评估比较处理前后的两段视频每个像素的差别。

    部分参考评估提取两段视频的一些特性,并依此给予它们评分。

    全参考评估和部分参考评估均为有参评估,常见的评估算法有PSNR, SSIM VIF VMAF PEVQ等,需要输入视频和输出视频才能得出评估结果,适用于离线测试。

    无参考评估是在没有任何原视频的参考下进行评估,比较适合线上视频评估、视频增强和视频合并等场景。

    显然主观评估是一个周期长,费时费力的过程。通过主观打分来验证所有视频质量是不可行的。客观评估通过一些与主观质量评估结果相近的数学模型来量化人眼对于视频内容的感知,可以提升一些评估的效率。

    在网易云信的视频类效果评估测试中,包括对编码器优化(H264、X264效果优化)、编码器升级(H264升级到H265,H264升级到VP8)、Qos优化等的测试以主观评估为主,客观评估为辅。在客观评估的方式中,全参考的评估方式比如PSNR、SSIM、VMA等主要用于编码器的优化和升级测试中。当然除了全参考的评估方式,网易云信测试团队也在尝试应用无参考评估到音视频相关的测试中。下面将介绍网易云信最近在使用的一种视频无参考评估方法。

    二、Video Quality Indicators简单介绍

    Video Quality Indicators 是一款开源的音视频无参考评估方案,提供了视频的卡顿、噪声、横纹、画面缺失、曝光度等无参考分析。在intel开源的QosTestFramework中使用了Video Quality Indicators为其无参考评估的一个方法。Video Quality Indicators(http://vq.kt.agh.edu.pl//metrics.html),支持windows、mac、linux。 通过分析yuv文件,来评估视频文件质量。官网提供了多种调用方案,Bash、Python、Matlab等。支持对卡顿、画面缺失、块效应、横纹、躁点、画面闪烁等进行分析。 主要支持分析的字段信息如下:

     

    其他字段展示详见:http://vq.kt.agh.edu.pl//metrics.html 下面通过一段视频来展示下 Video Quality Indicators 的分析效果(截取自官网):

    http://m.v.qq.com/play/play.html?vid=p3134yyavun&url_from=share&second_share=0&share_from=copy 

    三、QosService框架设计

    Video Quality Indicators提供15种视频相关指标的分析结果,而且Video Quality Indicators分析的是图像,即给出的是帧与帧之间的对比结果,所以一段5分钟的视频,在平均帧率25帧的情况下,Video Quality Indicators会提供7500个数据点。原数据类型多且数据量大,为了方便分析,降低工具使用门槛,提升工具利用率,对Video Quality Indicators提供的无参考分析功能进行了服务化。 在服务化过程中,使用了tornado为服务框架,在QosTestFramework的基础上,将分析结果持久化到数据库中,最后使用前端进行分析结果的展示。 整体实现架构如下所示:

     

    用户通过输入UID、CID来触发视频文件的分析和分析结果显示。 DL VIDEO:与录制服务器交互下载录制文件到本地 Ffmpeg:转码对应的文件到yuv格式(Video Quality Indicators仅支持分析yuv格式) VQ:Video Quality Indicators对对应的yuv文件进行分析并且将数据持久化到数据库中 前端最终呈现:

     

    无参考分析实例:

    源视频为:http://m.v.qq.com/play/play.html?vid=l3135pqxd80&url_from=share&second_share=0&share_from=copy

    可以看到视频运动的小牛附近画面模糊并且存在部分噪点,使用QosService分析的结果如下:

     

    Blur表示了画面的清晰度,blur数值大于5,说明画面比较模糊,数值越大代表画面越模糊。如图软件的分析结果表示清晰度异常,与实际情况相符

     

    Noise表示画面中存在的噪点,数值越大,表明噪点越多,画面质量越差。Noise大于30,即认为画面的噪点过大。如图软件的分析结果表示噪点异常,与实际情况相符

     

    Blockloss:表示画面中存在的画面缺失,这个视频画面完整度较好,测算出的值与实际情况保持一致

     

    Contrast:表示画面的对比度,这个视频中图像的对比度在肉眼可接受的范围内,测算出的值与实际情况保持一致

     

    Freezing:表示画面的卡顿情况,这个视频中未出现卡顿,测算出的值与实际情况保持一致

     

    四:总结和展望

    在实时音视频领域,如何实现视频的全自动化评估是一个业界共同的难题。无参考(NR)技术不需要关于参考视频的任何信息,无疑是视频全自动化评估的曙光。引用下鲁迅先生的名言:其实地上本没有路,走的人多了,也便成了路。致敬下为视频全自动化评估做出努力的业界同胞们。

    各渠道文章转载需注明来源及作者。

    了解网易云信音视频通话

    >>>

    了解网易云信

    ,来自网易核心架构的通信与视频云服务>>

    更多技术干货,欢迎关注vx公众号“网易智慧企业技术+”。系列课程提前看,精品礼物免费得,还可直接对话CTO。

  • 相关阅读:
    如何把一个用户加入sodu组
    linux bond配置步骤,七种bond模式说明
    python 面向对象(进阶篇)
    lnmp搭建的常见错误
    Linux运维人员如何学习python编程
    运维日常工作知识总结
    《JS原型》
    《读王福朋有感》
    《使用Win32DiskImager安装Ubuntu16.04》
    因为无耻的查重系统,我删除了四篇随笔
  • 原文地址:https://www.cnblogs.com/wangyiyunxin/p/13539785.html
Copyright © 2011-2022 走看看