前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >WWDC 21 - 使用 AVQT 评估视频质量

WWDC 21 - 使用 AVQT 评估视频质量

作者头像
JoeyBlue
发布2021-09-07 14:50:27
1.8K0
发布2021-09-07 14:50:27
举报
文章被收录于专栏:代码手工艺人代码手工艺人

REF: WWDC 2021 - Evaluate videos whith the Advanced Video Quality Tool

AVQTAdvanced Video Quality Tool 的缩写,是苹果在 WWDC 21 上推出的一款评估视频感知质量的工具。


一、背景介绍(非WWDC内容)

1.1 视频质量评估的现状

在正式开始之前,我想跟大家科普几个概念和行业现状,这些对理解本次的内容很有帮助。

视频质量评估是个老话题了,主流的分为下面几类:

  1. 主观评测,也就是人工评估,准确率高,但成本大,难规模化
  2. 客观评测,纯依靠算法,比如PSNR(Peak Signal-to-Noise Ratio峰值信噪比),SSIM(Structural SIMilarity 结构相似性),准确率低,成本小,容易规模化
  3. 感知质量评测,代表是Netflix 的VMAF,VMAF 是基于机器学习算法,根据人工的识别结果训练模型,目的是要模拟真人评测,结果上达到接近人工评估的准确度,这也是“感知”一词的含义。优点是准确率高,也容易规模化。我们今天要聊的 AVQT 也属于此类。

还有一种分类是有源评估无源评估,有源评估顾名思义,需要有参考源,比如有一个未压缩的超清Raw视频,它作为参考源,然后在进行处理编码之后,变成一个低分辨率、低码率的的视频,这个作为评估的对象,对比参考源视频,打出分数。感知质量评测的工具都属于有源评估范畴,即需要参考源来进行评估打分。

1.2应用场景

那么视频质量评估有哪些应用场景呢?我了解到的有以下几类,供大家参考。

(1)视频分发流程

在分发视频的时候,从用户体验和成本来考虑,希望在码率和清晰度之间,找到一个比较好的平衡点,那么清晰度这个就需要有个量化的标准,需要有工具能够得到一个相对可信的量化指标

(2)编码器的研发

编码器算法的研发,也是要平衡清晰度、编码速度、编码效率(压缩率)等诸多因素,希望在清晰度一定,编码速度一定的情况下,编码效率(压缩率)尽可能高,也就是编出出来的码率尽可能低。所以它也需要有一个对视频清晰度进行量化的工具。


二、AVQT 是什么?

我们先来看一个视频分发流程:

  1. 采集到高质量原始视频
  2. 进行下采样(修改分辨率)和压缩(编码)
  3. 把得到的编码后的数据,通过CDN下发给终端用户

下采样和压缩过程会对损伤原视频画质,会造成类似马赛克的块或者模糊等伪像,如图:

为了提高用户体验,我们肯定不希望出现类似上述的问题,那么就需要一个工具,对展示给用户的视频进行评估。前面提到,人工评估的方式最准确,但是处理速度慢,成本高,而且无法自动化和规模化。

针对此问题,苹果推出了 AVQT,下面是 AVQT 的工作流程:

  1. AVQT 的输入是源视频,以及压缩后的视频
  2. 经过 AVQT 的处理,对压缩后的视频进行评估,输出打分(0-5)

AVQT是:

  1. 一个 macOS 命令行工具,现在已经可以体验
  2. 模拟真人对视频质量进行打分
  3. AVQT 支持帧级别,以及段级别的打分(一段一般是6秒,可配置)
  4. 支持基于AVFoundation的所有视频格式,包括 SDR/HDR/HDR 10/HLG 以及Dolby Vision

三、AVQT 的特点

特点1. 感知对齐,AVQT预测和人类主观评估高相关

AVQT 支持跨多种内容类型(动画、自然景观、运动场景),PSNR/SSIM 在这方面表现不佳

对比下面两张图片,第一个是高清的运动场景,PSNR 和 AVQT 的分数都很高。第二张人物场景,脸部轮廓细节缺失,AVQT的分数降低到了 2.49,属于低质量,但是 PSNR 的分数还是 35.2。这里 AVQT 的分数更准确。(这里我没有放源图片)

为了测试准确性,针对公开的测试集,对视频的多种组合进行了测试,这些测试集包含源视频、压缩后的视频、人工的打分。下面是Waterloo IVC 4K 以及 VQEG HD3 两个测试数据集:

为了客观地衡量视频质量指标的性能,我们使用了相关性和相似距离度量。

  1. PCC(Pearson Correlation Coeffiectent) 衡量线性相关度,也就是预测值和人工打分值的相关性,PCC 越高相关性越高,越高越好。
  2. RMSE(Root Mean Square Error)均方根误差,衡量预测值和人工打分的差距。值越低说明预测的越准确。

横轴是人工打分,纵轴是 AVQT 的预测值,每个点代表一个压缩的视频打分,从图上来看,在 Waterloo IVC 4K 测试集上,AVQT 和人工打分非常的接近,PCC高达0.9,RMSE 低至 0.54

VQEG HD3 测试集上,AVQT 表现的更加优秀。

特点2. 计算速度快

高计算速度是可规模化的一个至关重要的条件,AVQT 的算法为 Metal 做了设计和优化,也就是说可以非常快地处理大量的视频。而且不需要额外处理,不需要解码,AVQT会自动处理。

AVQT 可以每秒处理 175帧1080p的视频,如果有一个10分钟的 1080p,24fps的视频,不到1分半钟就能处理完。(狡猾的是,苹果没提测试设备的硬件配置)

特点3. 观察设置感知(Viewing setup aware)

观察设置是指观察者距离、显示器大小、显示分辨率等条件,这些对主观视频质量是有影响的。因此,AVQT 支持把这些条件的参数值作为输入,对感知视频质量进行预测。

比如,有两个场景,A场景观看者距离显示器1.5倍屏高的距离观看4K视频,B场景观看者距离3倍屏高的距离观看同样的4K视频, 那么很明显B场景下,因为距离远,一些躁点看不太清楚了,主观打分就更高。

AVQT 的表现也符合主观评测,距离越远,分数越高,最终会趋同。

1)安装 AVQT 命令行工具, 下载地址

2)使用 AVQT 工具进行打分,提供参考源视频,以及压缩后的视频,输出打分,默认 csv 格式

AVQT --reference sample_ref.mov --test sample_compressed.mov --output sample_output.csv

这里我自己实验了一下。从这里下载 Waterloo IVC 4K Video 公开的测试数据集进行测试。这里我选择了 H264 这个数据集里名字为20的文件夹。 我们选择以下几个视频文件进行测试:

视频类型

视频名称

分辨率

码率

帧率

源/参考视频

3840x2160_4.mp4

3840x2160

4548 kbps

30

测试视频1

960x540_1.mp4

960x540

359 kbps

30

测试视频2

960x540_4.mp4

960x540

3798 kbps

30

960x540_1 抽帧截图:

960x540_4 抽帧截图:

从上表和上图能看到 960x540_4 码率是 960x540_1 码率的 10 倍,主观上也确实清晰很多。

我们使用 AVQT 以及 PSNR (使用 --metrics AVQT PSNR 参数) 都进行评估一下:

>  AVQT --reference 3840x2160_4.mp4 --test 960x540_1.mp4 --metrics AVQT PSNR --output 549p1_all.csv

Segment[1]: AVQT: 1.58, PSNR: 24.94
Segment[2]: AVQT: 1.67, PSNR: 25.18

Results file: 549p1_all.csv
> AVQT --reference 3840x2160_4.mp4 --test 960x540_4.mp4 --metrics AVQT PSNR --output 549p4_all.csv

Segment[1]: AVQT: 3.87, PSNR: 28.31
Segment[2]: AVQT: 3.86, PSNR: 28.39

Results file: 549p4_all.csv

结果:

视频

AVQT平均分数

PSNR平均分数

960x540_1.mp4

1.62

25.06

960x540_4.mp4

3.86

28.3

AVQT 的分数差了一倍多,和实际的观看类似,PSNR 只差了3分,也就是认为是接近的,误差挺大.

输出的 csv 里包含每一帧的打分,以及每一段的打分,一段默认是6秒:

> cat 549p4_all.csv
Advanced Video Quality Tool (AVQT) - CLI
Version: 1.0.0
Test file: 960x540_4.mp4
Reference file: 3840x2160_4.mp4
Segment Duration: 6.0
Temporal Pooling: ArithmeticMean
Display Width: 1920
Display Height: 1080
Viewing Distance: 3.0
Frame Index,AVQT,PSNR
1,3.75,28.24
2,3.84,28.24
3,3.80,28.01
4,3.83,28.12
5,3.96,28.22
6,3.82,28.37
7,3.78,28.15
8,4.01,28.57
9,3.74,27.96
...
296,3.79,28.52
297,3.70,28.37
298,3.77,28.54
299,3.68,28.32
300,3.64,28.25
Segment Index,AVQT,PSNR
1,3.87,28.31
2,3.86,28.39

3)调整参数,自定义评估条件

比如:(更多的参数可以通过 AVQT -h来查看)

  • metrics: 除了 AVQT,还支持输出 PSNR MSE 等预测值
  • segment-duration: 自定义段大小,默认是6秒
  • temporal-pooling: 聚合每帧打分的算法,默认算数平方值,支持HarmonicMean, Worst10%, Worst90%, Best10%, Best90%
  • output-format: 输出格式,默认 CSV,支持 JSON
  • viewing-distance: 观察者距离,单位是屏幕高度,比如1.5H, 3H, 4.5H, 6H,默认3H,表示距离3*屏幕高度的距离观看
  • display-resolution: 显示的分辨率,默认 1920x1080,支持: 6016x3384, 5120x2880, 3840x2160, 2560x1440, 1920x1080, 3384x6016, 2880x5120, 2160x3840, 1440x2560, 1080x1920

五、使用 AVQT 优化和选择码率

选择正确的码率很具挑战性,为了帮助选择合适的码率,苹果为 HLS 创作规范发布了一些码率的指南,作为对应分辨率下的码率初始值。

我们知道,不同的视频内容有着不同的编码复杂度,所以不同的内容所需的码率也是有差异的。苹果建议在此基础上,根据 AVQT 的打分作为反馈,不断对码率进行上调/下调。

六、回顾

  • 视频编码对视频质量会有牺牲,会产生一些伪影
  • 使用 AVQT 评估你们的视频感知质量
    • macOS 命令行工具
    • 计算速度快,支持查看设置感知
    • 支持基于 AVFoundation 的所有格式
  • 使用 AVQT 来优化 HLS 层的质量
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2021-06-302,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、背景介绍(非WWDC内容)
    • 1.1 视频质量评估的现状
      • 1.2应用场景
      • 二、AVQT 是什么?
      • 三、AVQT 的特点
        • 特点1. 感知对齐,AVQT预测和人类主观评估高相关
          • 特点2. 计算速度快
            • 特点3. 观察设置感知(Viewing setup aware)
            • 五、使用 AVQT 优化和选择码率
            • 六、回顾
            相关产品与服务
            文件存储
            文件存储(Cloud File Storage,CFS)为您提供安全可靠、可扩展的共享文件存储服务。文件存储可与腾讯云服务器、容器服务、批量计算等服务搭配使用,为多个计算节点提供容量和性能可弹性扩展的高性能共享存储。腾讯云文件存储的管理界面简单、易使用,可实现对现有应用的无缝集成;按实际用量付费,为您节约成本,简化 IT 运维工作。
            领券
            问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档