当前位置:网站首页>如何正确的评测视频画质
如何正确的评测视频画质
2022-07-05 09:27:00 【百度Geek说】
导读:本文从影响画质的因素是什么、为什么要不断提升视频画质等问题开始,进而介绍了画质评测的重要性、影响视频画质评测置信度的因素,最后介绍了自研的画质评测系统灵镜及其业务落地情况。
全文5506字,预计阅读时间14分钟。
一、引言
作为视频业务,经常需要:
对比不同的视频,从而确定哪个视频的画质更好,以便可以为用户带来更好的体验。
对比不同编码参数生成的视频,以便确定在哪些配置下产生的视频能带来最好的体验。
对比不同产品的视频画质,以便做到知彼知己,并在对比之中带来较好的用户体验。
总之,需要回答一个问题:究竟哪个是画质最好的视频?本文将从影响画质的因素、为什么要不断提升视频画质、画质评测的重要性、如何正确的评测视频画质、自研的画质评测系统——灵镜来介绍我们如何利用灵镜来客观、置信、高效的评测视频画质,进而提升用户体验。
二、影响画质的因素是什么
当我们提及“视频”时,一般指得均是“数字视频”。视觉信号经过记录、压缩、存储才能产生我们所说的“视频”。同时,由于 HVS(HVS, human visual system,人类视觉系统) 的特点,在视频记录、压缩、存储的过程中,我们可以在视觉质量损失和视频数据压缩之间做出权衡,而不影响视觉质量。
一般而言,影响视频画质的因素主要有以下几点:
分辨率:图像中的像素数量,在特定尺寸下,分辨率越高,像素越多,显示的细节则更精细。
帧率:一秒内显示的图像数量,电影的帧率一般是 24fps,标准电视的帧率通常是 30fps。
亮度:可以显示的图像照明强度的范围,人眼能感知到的亮度范围为 10-3尼特~ 106 尼特。
位深:每个像素可以显示的颜色数量,位深度越大,可显示的颜色越多,从而渐变更平滑、更自然。
色域:色域是某个特定的色彩的子集,用以表示可以显示的所有颜色的范围。色域一般使用 CIE 1931 色度图上的面积来表示,CIE 1931 曲线的边缘代表可见光光谱颜色的范围。
码率:编码每秒视频需要的 bit数量称之为码率(bitrate)。在一定条件下,码率会影响视频质量,码率越低,压缩率越大,画质相对越差。当然,并非码率越高画质越好,在很多情况下,更高的码率带来的往往却只是带宽的浪费。
三、为什么要提升画质
我们经常认为:改善影响视频画质的诸多因素,提升视频的画质,就会提升用户体验,进而会提升产品的相关用户指标。因此,本着以终为始的原则,我们要不断提升视频画质。
然而,事实确实如此吗?我们是否想过如下的问题:
用户视频观看时长的增加或降低是视频画质的波动导致的吗?
用户在观看视频时,是视频内容的影响力更大还是视频画质的影响力更大?
为什么《西游记》的画质比较粗糙,却能循环播放 30 多年,并创造出最高 96%收视率的奇迹?
当提升了分辨率、帧率等因素后,画质变好了,但是这同时也意味着需要消耗的带宽、算力、电量等必然会增加。在手机耗电量与画质、播放流畅度与画质之间,用户会选择画质优先吗?
提升视频的分辨率和帧率还意味着带宽成本的增加,例如 4K视频比 1080P视频的带宽成本要高 3~4 倍。那么,对于流媒体服务商而言,如果对如上的几个问题还存疑的话,为什么要提升画质呢?
2020年,华纳兄弟与皮克斯等公司的双盲测实验发现,多数消费者其实并无法分辨 8K 与 4K的区别。
看起来,画质提升的必要性并不强烈。既然如此,为什么还要提升视频画质呢?为什么整个视频行业都在为了视频画质的提升而不断努力呢?
1. 显示设备的分辨率不断升级。例如,HUAWEI Mate 40 Pro的屏幕分辨率就达到了2K(2772x1344) 标准。对于电视而言,8K电视目前也成为了趋势。如果视频本身的分辨率依然停留在 480P时代,那么在高分辨率的屏幕上观看时,就会出现比较明显的马赛克效应。
2. 视频采集设备不断升级。例如,iPhone 13 Pro可以支持4K/60fps 的视频拍摄,即便是 Android 的千元机档位VIVO Y53S,视频的最低拍摄分辨率也达到了 720P。在这种情况下,如果视频消费端的分辨率还停留在较低分辨率(例如 480P),那就会带来拍摄预览和回放观看体验严重不一致的问题。
3. 视频编解码算法不断升级。有多大的硬件资源,就会产生多复杂的软件产品。不断进化的编解码算法为更高画质的应用提供了底层支撑。当具备了制造飞机的技术时,就不会满足与只制造自行车。
4. 不断丰富的消费级应用和玩法需要更高的画质。根据国家广电总局发布的《5G 高新视频——VR 视频技术白皮书(2020) 》(https://t.hk.uy/baZR),用于 VR视频节目制作与交换中的视频,建议目前最低使用7680x3840 像素数。尤其是在元宇宙之中,要感知到色声香味触法,太差的画质是无法达到要求的。
5. 不断增加的竞对产品。此时,视频画质的基线水平取决于处在该行业中的竞对产品。并且,视频画质已经成为一种对外宣传的有效手段,例如 B 站的 4K/120fps 视频,西瓜的 4K高清修复技术……这无形之中就会形成一种用户对视频画质的预期,当产品的画质如果低于这种预期的时候,用户体验就会降低。当然,更高的画质依赖更高性能的设备和更高的带宽。但是我们需要明白:同样能得 100 分,能力只能到 100 分和卷面只有 100 分之间的差距是非常大的。
四、为什么评测视频画质如此重要
如前所述,众多原因推动视频画质不断提升。然而,没有度量就无法改进,没有度量也就无法评测画质是否有提升、提升的程度如何。另外,在工作中,需要通过评估视频画质来确定流媒体系统的整体要求、对比竞品提供的服务、确定端到端的视频质量等。
视频画质评估如同度量衡一般,构成视频画质提升以及编解码器改进的基石。
4.1 主观评估
评测视频画质的显而易见的方式就是征求用户的意见,这也就是我们所说的:主观评估。但是,主观评估具备如下的问题:
主观评估是一个繁琐的、非自动化的过程,不可能利用主观评估来评测每个视频。
不同的个体对相同的视频画质感知不同,因此主观评估的结果会随评估者的不同而出现波动。
4.2 客观评估
即便如此,主观评估仍然是一种有价值的方法,并且可以为客观视频画质评估算法提供数据支撑,例如VMAF 就是利用算法指标对主观评估建模的结果。利用算法来评估视频的画质我们称之为:客观评估。
4.3 主、客评估之间的关系
需要注意的是,在视频画质评估领域,虽然算法可以快速、高效、自动的评测视频画质,但是算法也仅仅是对主观评估结果的拟合、预测。也就是说,客观评估算法必须与主观评估之间保持感知上的一致性。
正因为如此,在实际工作中,客观算法一般用以衡量大盘数据,而对于视频编解码器的调整、编解码参数的优化等效果评估,还是会以主观评估为主。MSU Video Codecs Comparisons大赛中,主观打分的结果也是一项重要的指标,例如HEVC/AV1 2019的比赛结果。作为工程师,我们总想着用算法、模型来解决一切问题,然而,我们必须要意识到,并不是所有的问题都可以用算法、模型来解决的。还记得《谁动了我的奶酪》中的“哼哼”吗?
视频画质主、客观评估算法这里不再过多介绍,更详细的信息可以参考《数字视频概念,方法和测量指标》(https://t.hk.uy/baZT)的视频质量指标这一章。
五、影响评测置信度的因素有哪些?
主观评估是画质提升的基石,如何才能保证主观评估结果的客观性、置信度是视频画质评测的核心问题。
为了保证主观评估的置信度,ITU-T 第 9 研究组(SG9, study group 9)提出了若干建议作为主观评估方法,例如ITU-R BT.500。
在工作中,我们发现:不按照标准和规范执行,主观评估的结果肯定是不置信的。但是,有了标准和规范,按照标准和规范来执行主观画质评测,主观评估的结果就置信了吗?
在工作中,我们发现,并非如此。标准提供了建议,但是具体执行却受限于各种因素,这些受限的因素会影响最终的结果置信度。
一个看起来非常简单的事情(不就是找人来打个分吗),实际上却并不简单。
5.1 评测样本的问题
视频样本本身对视频画质主观评估的结果会产生非常大的影响,实际评测过程中,遇到的样本相关的问题主要有如下几种:
1. 评测视频时间较长,场景变化较大。这种情况下,用户可能没有耐心看完整个视频,或者跳跃性的观看视频,导致在评测过程中忽略部分信息而而导致最终结果置信度较差。
2. 评测的视频中存在产品 logo。视频中的 logo 会对用户的主观评测带来额外的信息干扰,进而干扰到最终的评测结果。实际评测过程中,我们也观察到视频中的 logo 确实会影响用户的主观打分。
3. 评测视频的场景覆盖率较低,或者只覆盖了部分产品场景。例如只选取了风景、人物等场景的视频,而缺失了运动类,知识类等场景的视频。
5.2 评测工具的问题
1. 视频缩放带来的误差。为了能够同时对比两个视频,一般而言,评测工具会同时播放待评估的两个视频来让用户主观打分。但是,如下图所示,当视频分辨率比较大时(1080x1920),这种方式就会导致视频显示区域的缩放,进而导致视频中画质较差的地方因为视频显示区域的缩放而隐藏。
2. 视频重叠带来的误差。为了解决上一个问题,评估工具会增加如下图所示的重叠样式来避免缩放带来的误差问题,同时也希望重叠方式能够更直接的对比出视频间的差异。
但是,在实际评估中,我们发现这种看起来比较好的方式因为存在视频画面的阶段,也会导致主观评估结果的不置信。用户在评估过程中,需要不停的拖动画面的分割线,来观察视频不同区域的画质差异。并且对于 ROI编码的视频而言,用一个视频的区域 A和另一个视频的区域 B做对比,本身就非常不合理。
3. 视频运动带来的误差。和图片不同,视频是一个在时间上连续变化的帧序列。而这种视频本身的运动和变化会在一定程度上隐藏视频中某些帧的某些区域的画质问题。这也就是我们常说的 HVS 的运动掩蔽效应。为了避免这种误差,尤其是对于编解码算法的研发人员,往往希望能够对视频进行逐帧对比,以发现潜在的隐藏风险。虽然诸如 QuickTime、VLC等播放器提供了单帧播放能力,但是评测工具却较少提供单帧对比的能力。
4. 忽略播放设备的差异带来的误差。工作中,我们不止一次的发现用 PC 的评估工具来评估移动设备的播放效果的场景。利用标准和规范指导下的工具得到了一个结果,却忽视了不同设备下显示效果的差异,最终导致这个本来应该置信的结果变得非常不置信。尤其是对于 HDR视频而言,设备的差异性会体现的更加明显。
5.3 评测者的认知差异
1. 评测者的惯性认知带来的误差。对于固定顺序出现的对比评估,我们发现评测者总是会根据前面几对样本的结果来对后面的结果进行预测,然后按照预测的结果来打分,而不是完全按照自己个主观感知来打分。这种预测的惯性认知会给评估带来非常大的干扰和误差。
2. 评测者的关注焦点不同带来的误差。不同的评测者对同一画面的关注点不同而带来的评估结果波动较大的问题在实际评估工作中经常出现。例如用户从背景、前景、亮度、美妆等不同角度来评估时,给出的打分也不相同。
六、画质评测利器——灵境
历时 2 年多,经历近 500+ 主观评估,1000+ 评估样本,1000+ 评测人员(专家和普通用户),趟过一个又一个的坑,利用技术解决实际评测中遇到的一个又一个的不置信因素,逐步建成了目前较为置信的视频画质评估系统——灵镜。
灵镜基于 ITU 标准,依托自研的 10+ 项专利技术,借助百度强大的视频基础技术,在不断实践的基础之上而形成的一款支持多端(PC,Android,iOS)评测的视频画质评测服务。
同时灵镜还提供视频画质评估的一站式服务,涵盖了:从视频生产至视频消费的全链路画质评估,画质、成本等全方位的评测以及解析。
在评测方式上,灵镜支持PC、Android、iOS设备上的横屏/竖屏,专家/普通用户,全屏/非全屏等24种评测模式,其中部分评测模式如下所示:
1. 单屏评测
2. 同屏重叠评测(同时支持 DCR 和 CCR 两种评估模式,并且为了保证置信度,采用视频同区域对比的方式进行同屏重叠对比,可以滑动视频区域来选择不同区域的视频进行对比)
3. 专家评测
4. 同屏评测
除此之外,灵镜还提供了:
摄像头 Mock 能力,实现用指定视频替换摄像头的采集数据
画质客观评估能力,例如 VMAF,PSNR,SSIM等,对于 PSNR,灵镜还提供了空间可视化能力,以便进行更客观的评测
视频属性计算能力,例如 SITI,色度,饱和度,亮度,码率,帧率,分辨率等
视频处理&检测能力,例如静态帧检测,单色帧检测,音画同步检测,异常视频构造等
灵镜通过分层的思想——基础设施层、灵镜工具层、灵镜服务层,上层对下层能力进行封装,在保证使用灵活性的同时使得服务更符合业务需求。
对于业务而言,灵镜提供了如下所示的视频画质评测服务的全流程闭环管理:
目前,灵镜已经服务于百度 FEED,好看,直播、网盘、小度等的视频画质评测&检测,并发挥着重要作用。同时灵镜也在实践中证明了其置信度。
接下来,我们还将继续完善灵镜的能力:
单帧对比评测能力
HDR 评测体系
8K,120fps的高分辨率、高帧率评测体系
美颜、美妆等评测体系
……
推荐阅读:
边栏推荐
- An article takes you into the world of cookies, sessions, and tokens
- 22-07-04 Xi'an Shanghao housing project experience summary (01)
- 利用请求头开发多端应用
- 顶会论文看图对比学习(GNN+CL)研究趋势
- Hosting environment API
- [team PK competition] the task of this week has been opened | question answering challenge to consolidate the knowledge of commodity details
- [reading notes] Figure comparative learning gnn+cl
- A keepalived high availability accident made me learn it again
- [object array A and object array B take out different elements of ID and assign them to the new array]
- 【两个对象合并成一个对象】
猜你喜欢
Unity skframework framework (24), avatar controller third person control
Shutter uses overlay to realize global pop-up
Node collaboration and publishing
Unity SKFramework框架(二十三)、MiniMap 小地图工具
LeetCode 556. Next bigger element III
利用请求头开发多端应用
Can't find the activitymainbinding class? The pit I stepped on when I just learned databinding
Generate confrontation network
OpenGL - Model Loading
Information and entropy, all you want to know is here
随机推荐
Applet data attribute method
云计算技术热点
Applet customization component
阿里十年测试带你走进APP测试的世界
mysql安装配置以及创建数据库和表
Creation and reference of applet
LeetCode 503. 下一个更大元素 II
[two objects merged into one object]
信息與熵,你想知道的都在這裏了
What about wechat mall? 5 tips to clear your mind
SQL learning - case when then else
Applet network data request
Node の MongoDB Driver
一文详解图对比学习(GNN+CL)的一般流程和最新研究趋势
2310. The number of bits is the sum of integers of K
OpenGL - Model Loading
【sourceTree配置SSH及使用】
测试老鸟浅谈unittest和pytest的区别
[listening for an attribute in the array]
深入浅出PyTorch中的nn.CrossEntropyLoss