视频编解码技术日新月异,新的编解码技术赋予视频业务新的应用场景和新的用户视听体验。同时,视频作为带宽消耗大户,如何在视听体验和视频带宽之间取得最优的平衡是一个永恒的话题。视频质量评测主要用来回答:体验是否改善、带宽是否合理等问题。
然而,在实际中,受限于各种因素,视频质量评测在实践中存在着诸多问题:主观评估的置信度如何保证?如何进行规模化的主观评估?LiveVideoStackCon 2022北京站邀请来自百度的王伟老师为大家介绍百度视频质量评测的发展之路 。
文/王伟
编辑/LiveVideoStack
大家好,我是来自百度的王伟,近几年我一直在开展视频质量评估方面的工作,并经历了百度视频质量评估从无到有,从不置信到置信,从小规模到大规模的整个过程。
目前来看,我们的视频质量评测服务为百度内部所有视频相关业务提供了基础支撑,2022年整体视频评估量级达到了十几万以上。回顾整个发展历程,我们遇到了很多问题,也进行了很多探索。今天很高兴可以与大家分享我们对视频评估的认知与实践。
整体会从四个方面进行介绍,首先介绍视频质量评估的重要性,其次是面临的问题和挑战,接下来介绍面对问题我们的解决方案,最后会介绍在百度业务线的实践情况。
-01-
视频质量评测的重要性
判断一件事的重要性,确定它是否值得去做,我总结了两点,首先是确认该事物的流行度和趋势。
针对视频质量评估,我整理了两项数据,一是谷歌搜索近二十年来关于视频质量关键词的搜索趋势。整体来看,从2022年至今搜索热度持续走高,未来也可能持续受到重视。二是LiveVideoStackCon自2017年至今关于视频质量评测的议题也呈逐年上升趋势。从趋势和流行度角度分析,视频质量评测已成为一项比较重要的工作。
其次是分析视频质量评测工作在视频业务中的地位。视频质量评测体系是画质增强、编解码器优化和QoE工作的基石,可以说它是视频行业这片红海中的一块蓝岛,值得我们进行研究。对于TO B厂商,视频质量评测工作更是大有可为,拥有成熟的视频质量评测体系可以协助对各类增强算法和HDR等技术的优劣进行判断。相信该项工作后续在行业内会越加重要。
-02-
面临的问题和挑战
接下来介绍在视频质量评测工作中我们面临的问题和挑战。具体将从四个角度来分析,首先介绍视频质量评测体系,其次是传统算法在实践中遇到的问题,第三是主观评测在实践中存在的问题,最后是业务所面临的问题。
大家对视频质量评测体系中的主观评测和客观评测比较了解,工程师出身的从业者可能会更重视算法,轻视主客观评测。
但实际上,经过实践分析发现,主观评测是视频质量评测体系中不可或缺的重要组成部分,例如在HDR/SDR评估场景下,视频质量和设备以及屏幕亮度等因素都有直接关系,难以仅从算法角度来衡量。另外如果涉及编解码器采购,无论销售方提供的算法跑分有多高,我们依然无法轻易信任,视频质量的好坏最终还是要通过主观评估的方式来判断。
检测&分析是我们结合实践在体系中加入的环节,因为很多编解码器不仅针对CODEC,也可能会对帧序列等方面进行优化。例如,在某次CODEC上线后,我们发现虽然视频画质得到了提升,但因为视频帧的间隔序列被调整,导致视频卡顿率暴增。所以,我们在主客观评测的基础上额外增加了检测&分析环节,形成了目前的视频质量评测体系。
接下来介绍传统算法在实践中遇到的问题。我们认为传统算法是一把双刃剑,使用不当会导致各种错误结论。以PSNR为例,由于它是在信号级别进行计算,并且是在整帧的范围内计算折损,导致它和主观感知的差异非常大。
从上图右侧的图像中可以发现,B视频中天空和云朵的位置发生了较大折损,但它的PSNR值达到了38,对应的MOS分几乎到4,评价结果反而不错,这明显不符合人眼的主观感知。
其次,如果两个视频的PSNR值一致,该如何处理?针对4K等高清晰度视频,在全局空间上计算PSNR值很可能会出现两个视频结果一致的情况。上图中左侧的图像,两个视频的PSNR值都为42,仅依据PSNR的结果难以判断哪个视频质量更优。
SSIM存在什么问题呢?SSIM解决了区块的问题,并且引入了亮度、对比度和结构信息,它总体要优于PSNR。但在实际使用过程中,我们发现了两个问题,一是SSIM的实现版本有多个,版本不同可能导致结果不同,在使用前必须要注意确定好版本。
第二是FFmpeg的SSIM滤镜存在BUG,我们对滤镜算法进行了逆向分析,对照公式审核代码实现,可以发现代码在亮度因素的计算上存在问题。上图右侧为对比结果,其中绿线为正常结果,红线为少乘64后的结果,虽然对整体结果没有太大影响,但还是要加以注意。
VMAF的情况更加复杂,整体计算过程如上所示。首先,业务视频类型和模型训练数据存在较大差异,VMAF的默认模型是基于Netflix的HDTV数据训练而来,这和我们目前的UGC场景不符,这会导致视频质量打分和主观评测结果差异较大。我们使用该标准模型在自己的数据集上进行了试验,打分一致性仅有60%,需要引起大家重视。
第二个问题是目前消费场景以手机居多,而VMAF的手机侧打分是利用二次函数来拟合HDTV的结果,这点也要特别注意。
最后是传统算法在增强场景中的问题,在增强场景下很多传统算法会失效。以上图为例,我们将左侧图中的视频对比度提升一倍,并观察各种质量指标,结果如右图。从VIF数值上可以看出视频质量得到了增强,虽然PSNR和SSIM数值都较差,但并不代表视频质量差。VMAF数值虽然达到100,但与MOS分中5代表的含义是不同的,以上问题也要引起重视。
接下来介绍主观评测在实践中存在的问题,目前的主流方法是基于ITU-R BT.500的图像质量评价方法,但该方法存在成本高、评测效率低、不符合移动端体验等问题。
因此我们设计了一种网页版评测方法,但在使用过程中也存在较多问题,例如浏览器的观看体验和移动端体验之间也存在差异,上图分别为浏览器以及手机端的视频截图,可以发现图中蓝色的偏差较大。第二个问题是无法随时随地评测;第三是网页版无法对HDR和端超分等场景进行评测。最后是关于BT.500置信度筛选算法的问题,由于它的置信度是基于统计意义的置信度,针对部分特殊不具备统计意义的非随机场景会出现异常,假如针对一批质量较差的视频进行评测,算法会忽略用户打分的置信度。
综上,在业务发展初期,百度的视频质量评测面临如下问题:
首先是评不准,其次是针对HDR等场景评不了,最终导致评不快。
-03-
解决问题的实践之路
基于刚才提到的问题,接下来介绍我们解决问题的实践之路。具体将分为四部分,首先是工具优化,其次是工具整合,接下来是评测体系服务化,引入更多人参与,最后介绍当前的效果。
首先看工具优化,刚才提到了算法工具的正确使用是评测工作的关键,在优化算法和优化结果可分析两种思路中,我们最终采用了优化结果可分析的方案。
在优化过程中,我们尽可能将其嵌入到FFmpeg滤镜中,无法嵌入的则构建单独工具包,整体算子见上图,后面会详细进行介绍。
PSNR可视化解决了两个视频PSNR一致时如何选择的问题。我们采取了PSNR分块单独计算的优化方式。由于这将导致PSNR数据较多不好分析,于是将分块后的PSNR值进行灰度分级,把PSNR值所在的0~60这一区间映射为8位灰度图,并以视频的形式呈现出来,效果如上图所示,可以看到PSNR在每个像素点上的折损。
关于视觉信息,刚才提到PSNR值低不代表视频效果不好,于是我们另行关注了如HSL、对比度、色彩度、纹理度等指标。HSL中色调、饱和度这个点比较有意思,当时我们和UE开展项目合作,UE希望寻找一些badcase来分析色调、饱和度对画质的影响,我们提交了使用FFmpeg滤镜计算的结果后,UE反馈结果有误。
经过逆向分析发现,FFmpeg滤镜的色调、饱和度是在YUV的基础上计算,和真实的HSL空间计算差距相当大。
我们研究并重写了计算色调、饱和度的算法,上图为实际效果。对于上图中的色值,使用signalstats滤镜计算,它的色调和饱和度分别是130和77,实际上使用ColorSlurp工具计算,它的色调为30,饱和度为95%。使用我们的visualstats滤镜,可以看到结果和ColorSlurp工具的结果基本一致。
关于对比度的计算,目前相关算法很多,我们借鉴了SSIM算法中的对比度评估方案,采用像素邻域内的标准差进行对比度估计,于是我们通过计算4x4局部空间的标准差并将其作为图像对比度,最终效果不错。
关于纹理计算我们设计了两种方式,第一种是使用颜色直方图的方法,这与Matlab的方法一致,第二种是先进行Sobel滤波,滤波后进行双阈值过滤,然后计算非黑像素占比。两种方案的计算结果差距并不大,所以建议使用更加简单的直方图计算方法。
对于色彩丰富度,即判断画面色彩的艳丽和丰富程度。我们采用了上图中论文的思路来进行计算,它的思想是先将色彩空间转为RGB,而后采用图中的公式来计算画面丰富度。
我们将以上指标的算法全部集成到FFmpeg滤镜中,采用之前提升一倍对比度的视频来计算各类指标,可以看到:对比度的计算结果符合实际情况,对比度提升带来的其他指标变化也基本符合人眼感知。
接下来介绍主观评测工具的优化过程。基于百度强大的视频技术基建,我们自研了支持多端的主观质量评测APP,我们称其为灵镜(度知了)。通过将视频评测移动化,做到更符合用户消费场景,并且随时随地都可评。该工具的能力可以从几个方面来简单介绍,首先是支持PC、iOS和Android三大主要平台的评测设备,其次是支持全部的评测方法和评测方式,最后是支持SDR/HDR、端超分等各种媒体形态。
左侧为单帧模式效果,从事编解码器优化的同仁可能会比较关注。中间为较常用的普通全屏模式,为了加强对比我们还设计了支持拖拽的横版同屏全屏模式。针对小视频,我们设计了右侧的竖版同屏全屏模式,同时支持对视频从不同维度进行专业化打分。灵镜已经正式上线,大家可以搜索“度知了”下载来体验其他功能。
上面主要介绍了主观评估工具方面的问题,接下来是关于流程的问题。我们发现:在评估过程中人们存在惯性意识,评估者对评估序列中前面视频的打分会影响到对后续视频的质量判断,导致评测结果不准。
针对这个问题,我们调整了评测流程中的用户交互,首先是将评测方式转变为双盲评估,把视频顺序随机交换,混淆评测者对评测顺序的印象。其次是自建控制视频库,通过将控制视频随机插入到评测任务中来控制用户置信度。第三是进行打分信息上报,包括机型、屏幕亮度、全屏方式、打分时间等。
整体流程如上图所示,需要评测的视频在整合控制视频后形成测评任务,任务通过PC、iOS和Android端分发给评测者进行打分,完成置信筛选后,形成最终的视频MOS分。右下角为一个评测结果实例,是多位评测者对一个视频的打分情况,可以通过分析各类信息来综合判断打分置信度。
在算法工具和评估流程完善后,我们迎来了大量的视频评测需求。按照原流程,每次评测均需手工拆分任务列表,按需创建评测任务并分发,最终手工合并任务结果,该流程无法满足大量评测需求。
于是我们考虑对算法工具进行平台化整合,将评测过程划分为多个不同的评测场景(它的作用类似于模板),并将场景具体拆分为任务类型、调度算子和结果分析三部分。具体结构如中间图所示,针对不同的任务类型由调度器来调度该类型下所有的算子,最后对应不同的结果聚合和解读方式,该方法极大提高了工作效率。
从整体架构上看,我们利用评测场景这一概念将优化后的客观算法和主观评估工具进行整合,在服务化的基础上对下层能力进行调度,最终达成任务自动拆分和结果智能分析的效果,运用该方式可以实现处理大量视频评测的需求。
整合后的视频评测流程如上所示,在接收评测需求后,首先选择合适的评测场景,然后由调度器调度相应的主观评估、SITI、客观算子、分析算子等进行计算,其中客观算子部署在百度内部的FaaS平台上并通过API接口暴露出来,主观评测通过内部工具或通知等方式进行用户招募,而后完成用户打分。同时另有调度算子实时检测各算子的工作进度,待全部计算结束后调动分析算子形成最终的测试报告。
接下来举一个应用实例,上图中左侧为平时使用的一个评测场景,在选择对应的视频比例并上传视频后即可等待视频评测结果。结果如右图所示,它会按照百度的内部要求显示各类结论,例如右图中的主观分析结果显示了两个编解码器的GSB分布,正向(good)32%代表A编码器32%的视频质量优于B编码器,持平(same)代表A 66%的视频质量和B基本一致,负向(bad)为2%,由此可知A的此次优化是成功的,可以尽快上线。
除了解析结果外,评测结果还会提供很多可供分析的质量指标,包括码率分布和该场景对应所有算子的计算结果,以主观为主,客观为辅的机制协助业务侧进行分析。
随着算法工具优化和平台化整合完成,百度的视频质量主观评测任务量从22年开始飞速增长,于是评测人员数量成为了制约的主要瓶颈。
为了满足评测需求,我们计划从外部引入更多的评测人员,主要有三点理由。首先评测平台有完善的置信判断能力,其次公司内部用户的参与度和置信度有保障,第三是视觉和听觉是人类与生俱来的能力,大众对视频质量的好坏有天生的判断能力,这与需要后天养成的艺术鉴赏力不同。
因此我们构筑了组成评测人员的三级火箭模式,第一级由度知了团队内部人员组成,可以消化少量评测需求。如果评测量较大,达到300~500条/天,会以公司系统内部人员解决。如果任务量超过1000条/天,则采用外聘众包团队的方式解决。成本方面,在公司系统内由7人评测单条视频,其成本为0.2元。外聘方式成本较高,单条视频成本在1~2元左右。
在实践过程中,我们发现单条视频评测人数和对应的评测结果准确性也有关联,人数越多,评测结果和专业结论越一致,根据我们的实践,建议人数为17到19人,以上方法在实际工作中可以综合考虑成本、工期和质量等方面因素来运用。
以上是百度视频评测体系当前的运行效果,它目前支持80种以上的评测场景,内部评测效率可达到500条/天,如果使用外聘人员效率会更高,置信度达到了90%。
以上是视频评测体系服务化后承担的评测任务量趋势图,可以看到整体数量呈指数级增长。
-04-
灵镜(度知了)的业务实践
接下来介绍灵镜(度知了)的业务实践。主要分三部分,第一是灵镜(度知了)的运营模式实践,第二是云转码阶段的实践,最终是用户播放阶段的实践。
相较于前面提到的视频评测体系,我们在运营阶段整合了众测用户运营,形成了度知了的服务体系,该体系对外仅有一个接口,用户付费,平台反馈视频评测结果。
该模式被运用在百度视频业务的三个阶段中。第一是云转码,在编码阶段,目前百度所有编解码器的引入均由度知了判断准入标准,如昆仑芯、BD265、超分算法和第三方编解码等等。其次是审核阶段,度知了主要负责向策略提供模型训练的标注数据。第三是用户播放阶段,主要负责提供一些播放/转码优化策略。
它整体上的技术价值为,将视频质量评测的算法、工具、人员整合为适用于多场景、高效、置信的视频质量评估服务。业务价值即有效控制成本,让业务线的每一分钱都花得值。
接下来介绍度知了在云转码阶段的业务实践,首先以刚才提到的两个PSNR相近的视频优化结果为例,右图为运用优化算法得出的PSNR可视化分析图。可以发现,A编码器在边缘上折损比较大,B编码的稳定性较好,可视化分析给出了更直观的结论。
在转码过程中我们发现,图片在颜色空间转换后亮度和对比度发生了很大变化,PSNR的可视化效果也较差。在进行编解码时可以将优化算法的计算结果作为依据来对原图进行调优,使优化后的视频质量转好。
在用户播放阶段,我们利用度知了的视频质量评测体系对视频源进行特征分析,选择合适的转码策略,协助针对相应策略进行AB实验。
这种思路可以提升AB实验效率,例如:为了在保证用户观看体验的同时,合理控制视频的音频码率和需要画质增强的视频数量,节约公司成本。通过前置引入度知了视频评测体系,协助业务线开展小规模实验,可以为策略制定和AB实验策略提供有效决策支持。
百度现行的AB实验流程如上所示,首先进行团队内部策略验证,之后进行公司内部的主观众测评估,将样本扩大,最后将样本推至线上进行AB实验,整个流程所需的时间较短,一个编解码器的实验目前可在10日左右完成,其中新编码的评估时间仅需1天。百度的视频评测已经彻底逆转了从前“评不快、评不准、评不了”的历史形势。
这就是我今天的分享,谢谢大家!
▲扫描图中 二维码 或点击“阅读原文”▲
查看更多LiveVideoStackCon 2023上海站精彩话题