干货 | VMAF视频质量评估在视频云转码中的应用

做者介绍:姜生,PP云高级技术经理,10余年视频编解码算法设计优化,流媒体应用等领域开发经验。git

一 、VMAF 技术介绍:github

VMAF 的全称是:Visual Multimethod Assessment Fusion,视频质量多方法评价融合。这项技术是由美国Netflix公司开发的一套主观视频质量评价体系。2016年1月,VMAF 正式开源;算法

下载地址:数据库

https://github.com/Netflix/vmaf网络

二 、通行视频质量评价方法的局限:机器学习

评价一个编码后的视频流与压缩前的视频流质量对比值,通行的方法是PSNR(峰值信噪比),或者SSIM(结构类似度)。这些是客观评价方法。这些方法评价的结果与主观的感觉有时候相差很大,请看下图(来自Netflix 的官网):ide

干货 | VMAF视频质量评估在视频云转码中的应用

图一学习

上面四幅图,取自4幅静态画面,畸变程度不同。用PSNR指标来评分,上面两幅图的PSNR值大约为31dB, 下方两个的PSNR值约为34dB,这代表上面两幅图PNSR 值至关,下面两幅图的PSNR值也至关。若是让人眼来主观评价呢,对于左侧上下两幅“人群”图片,很难察觉有何差别,可是右侧两幅“狐狸”视频的差别就很明显了。Netflix综合不一样观众的评价,对上下两个“人群”给出的主观分数是82(上方)和96(下方),而两个“狐狸”的分数分别是27(上方)和58(下方)。测试

上面的示例说明PSNR一类的客观评价与实际的主观感觉相差较大。这说明这种方法不足以全面正确的评价视频的质量,为此Netflix 决定寻找新的方法。优化

3、Neflix对视频源特性的分析:

  1. 收集与用例密切相关的数据集:

虽然针对视频质量指标的设计和测试已经有能够公开使用的数据库,但这些数据库的内容缺少多样性。而多样性正是流媒体服务的最大特色。因为视频质量的评估远不只仅是压缩失真的评估,因此应该考虑更广范围的画质损失,不只有压缩致使的损失,还有传输过程当中的损失、随机噪声,以及几何变形等状况。

  1. 视频源的特性:

做为流媒体公司, Netflix 提供了适合各种人群观看的大量影视内容,例如儿童内容、动漫、动做片、纪录片,视频讲座等. 另外这些内容还包含各类底层源素材特征,例如胶片颗粒、传感器噪声、计算机生成的材质、始终暗淡的场景或很是明亮的色彩等。过去通行的质量指标并无考虑不一样类型的源内容,如动漫或者视频讲座一类,也未考虑胶片颗粒,而在专业娱乐内容中这些都是很是广泛的信号特征。

  1. 失真的来源:

通常而言,流播视频是经过TCP传输的,丢包和误码绝对不会致使视觉损失。这就使得编码过程当中的两类失真最终影响到观众所感觉到的体验质量(QoE):压缩失真以及缩放失真。

为了针对不一样的用例构建数据集,Netflix选择了34个源短片做为样本(参考视频),每一个短片长度是6秒,主要来自于流行的电视剧和电影。源短片包含具有各类高级特征的内容(动漫、室内/室外、镜头摇移、面部拉近、人物、水面、显著的物体、多个物体)以及各类底层特性(胶片噪声、亮度、对比度、材质、活动、颜色变化、色泽浓郁度、锐度)。将这些源短片编码为H.264/AVC格式的视频流,分辨率介于384x288到1920x1080之间,码率介于375kbps到20,000kbps之间,最终得到了大约300个畸变(Distorted)视频。这些视频涵盖了很大范围的视频码率和分辨率,足以反映实际生活中多种多样的网络环境。

接着,经过主观测试肯定非专业观察者对于源短片编码后视频画质损失的评价。参考视频和畸变视频将按顺序显示在家用级别的电视机上。若是畸变视频编码后的分辨率小于参考视频,则会首先放大至源分辨率随后才显示在电视上。将全部观察者针对每一个畸变视频的分数汇总在一块儿计算出微分平均意见分数(Differential Mean Opinion Score)即DMOS,并换算成0-100的标准分,其中100分是指参考视频的分数。

4、评价的结果:

Netflix 推出了二维散点图来讲明上面分析的结果,我从中选取四幅有表明性的散点图。

散点图中,横轴对应了观察者给出的DMOS分数,纵轴对应了不一样质量指标预测的分数。每个点表明了一个畸变视频。咱们为下列四个指标绘制了散点图:

  • PSNR亮度份量(Luminancecomponent)

  • SSIM

  • Multiscale FastSSIM

  • PSNR-HVS

干货 | VMAF视频质量评估在视频云转码中的应用

图二

注意:相同颜色的点对应了畸变视频和相应参考视频的结果。从图中能够看出,这些指标的分数与观察者给出的DMOS分数并不是始终一致。以左上角的PSNR图为例,PSNR值约为35dB,而“人工校订”的DMOS值的范围介于10(存在恼人的画质损失)到100(画质损失几乎不可察觉)之间。

上图中的专有名词:

斯皮尔曼等级相关系数(Spearman’srank correlation coefficient,SRCC)

皮尔森积差相关系数(Pearsonproduct-moment correlation coefficient,PCC)

上面的SRCC, PCC属于几率统计的概念,能够参考相关文档,这两个值越大越好。

为了找到一个有效的评价标准,必须选定一个有效的指标,指标必须呈现与DMOS 有限的单调性。下图中选定了三个典型的参考视频:一个高噪声视频,一个CG动漫,一个电视剧,并用每一个视频的不一样畸变版本的预测分数与DMOS分数建立散点图。为了得到有效的相对质量分数,咱们但愿不一样视频短片在质量曲线的相同范围内能够实现一致的斜率(Slope)。

干货 | VMAF视频质量评估在视频云转码中的应用

PSNR散点图中,在34dB到36dB的范围内,电视剧PSNR数值大约2dB的变化对应的DMOS数值变化约为50(50到100),但CG动漫一样范围内相似的2dB数值变化对应的DMOS数值变化低于20(40到60)。虽然CG动漫和电视剧短片的SSIM和FastSSIM体现出更为一致的斜率但表现依然不够理想。

简单总结来讲,传统指标不适合用来评价视频质量。为了解决这一问题,咱们使用了一种基于机器学习的模型设计能真实反映人对视频质量感知状况的指标。下文将介绍这一指标。

5、 VMAF 方法:

基本想法:

面对不一样特征的源内容、失真类型,以及扭曲程度,每一个基本指标各有优劣。经过使用机器学习算法(支持向量机(Support Vector Machine,SVM)回归因子)将基本指标“融合”为一个最终指标,能够为每一个基本指标分配必定的权重,这样最终获得的指标就能够保留每一个基本指标的全部优点,借此可得出更精确的最终分数。咱们还使用主观实验中得到的意见分数对这个机器学习模型进行训练和测试。

VMAF可在支持向量机(SVM)回归因子中使用下列基本指标进行融合:

  1. 视觉信息保真度(Visual Information Fidelity,VIF):

VIF是一种得到普遍使用的图像质量指标,在最初的形式中,VIF分数是经过将四个尺度(Scale)下保真度的丢失状况结合在一块儿衡量的。在VMAF中咱们使用了一种改进版的VIF,将每一个尺度下保真度的丢失看做一种基本指标。

  1. 细节丢失指标(Detail LossMetric,DLM):

LM是一种图像质量指标,其基本原理在于:分别衡量可能影响到内容可见性的细节丢失状况,以及可能分散观众注意力的没必要要损失。这个指标最初会将DLM和Additive Impairment Measure(AIM)结合在一块儿算出最终分数。

  1. 运动:

这是一种衡量相邻帧之间时域差分的有效措施。计算像素亮度份量的均值反差便可获得该值。

下列散点图对所选参考短片(高噪声视频、CG动漫、电视剧)得出的VMAF指标分数。为了方便对比,咱们也附上了上文提到的结果最理想的PSNR-HVS指标散点图。无疑VMAF的效果更好。

干货 | VMAF视频质量评估在视频云转码中的应用

干货 | VMAF视频质量评估在视频云转码中的应用

六 总结:

改善视频压缩标准,以更智能的方式肯定最实用的编码系统和编码一整套参数,这些要求在当今的互联网大环境中十分重要。咱们认为,使用传统的指标会妨碍到视频编码技术领域的技术进步,然而单纯依赖人工视觉测试在不少状况下并不可行。所以咱们但愿VMAF能解决这一问题,使用来自咱们内容中的样本帮助你们设计和验证算法。

七 、拓展:

  1. per title 编码:

咱们但愿能利用VMAF 绘制每个clip 的不一样分辨率下的bitrate vs MOS 的曲线图,并保存这个曲线图。在实际点播的时候,根据resolution,MOS 选择一个最佳的bitrate,来编码:

下面是我绘制的Bkimono_1920x1080_8_24_240.yuv 的散点图:

干货 | VMAF视频质量评估在视频云转码中的应用

设置编码参数时,若是须要达到MOS=80的清晰度,bitrate 能够选择2.0MB. 能够看出当bitrate 超过3MB 后,MOS 值变化很是缓慢,对于指定的MOS 值,咱们能够选择一个bitrate 降低20%甚至更多的bitrate的编码参数,可是MOS 不会降低1%。

这中方法相比单纯经过优化编码器的方法,效果要明显不少,智能不少,同时实现起来要容易。应该就是当前窄带高清的理念了。

  1. per trunk 编码:

对于每个clip 而言,不一样的gop,或者不一样的时间段,视频流的细节和运动特色不同,能够用VMAF 的方法为每个时间段作评价,进而实时调整编码参数,在一样的质量前提下,尽可能下降码率。

相关文章
相关标签/搜索