HarmonyOS开发者限时福利来啦!最高10w+现金激励等你拿~ 了解详情
写点什么

通过 Top 500 美拍短视频看 AV1 的性能表现

  • 2020-02-20
  • 本文字数:4950 字

    阅读完需:约 16 分钟

通过 Top 500 美拍短视频看 AV1 的性能表现

导语

AV1 以其出色的压缩性能,无疑是自 2017 年以来备受关注的新生代视频编码标准。业界也相继对 AV1 进行了一些评测工作,如 Facebook、Netflix 对它的编码复杂度也从早期的 VP9 的近千倍降到了百倍。为了验证 AV1 在短视频上的性能,美图音视频团队自 2018 年 11 月,基于 Top 500 美拍短视频进行了一次全面的 AV1 性能评估,对标编码器采用在实际生成环境中使用的主流视频编码器 x264、x265、VP9。


本文将详细介绍整个评估过程,结合实验数据,综合评价 AV1 在短视频上的性能表现。

AV1 在实验中的表现

在对本文进行阐述前,我们先来看看 AV1 的综合表现,评估结果表明,AV1 的压缩效率优势明显,但是编码耗时仍相对较长:


  • 相比于 x264 high profile、x265 main profile 及 VP9 ,AV1 在相同质量下分别能获得 36.0%、26.9%、31.8% 的码率增益。并且,随着视频分辨率的增加,AV1 的码率增益优势更加明显;

  • 在编码耗时上,AV1 分别是 x264 high profile 的 395 倍、x265 main profile 的 36 倍、VP9 的 156 倍。

研究背景

AV1(全称,AOMedia Video 1)无疑是自 2017 年以来备受关注的新生代视频编码标准,原因在于它的高压缩性能。经业界测试数据表明,如莫斯科国立大学(MSU)、Facebook、Netflix 均进行了相关实验,都证实了 AV1 已超越 H.265 和 VP9,成为目前压缩率最高的视频编码标准。然而,它的高复杂度也曾令人震惊,数据表明 2018 年初,相比于 VP9 编码器点播速度档,AOM/libaom[1] 的编码时长是 VP9 编码时长近一千倍。近两年来,无论是 AV1 的标准制定团队 AOM,还是其他厂商,如 Intel,都致力于优化 AV1 的速度性能,近日,有相关数据表明 AV1 已接近使用水平[2]。


在软硬件的支持性方面,越来越多的软件或平台开始支持 AV1 视频播放,如 Mozilla 的 Firefox 浏览器,Chromium 浏览器内核,微软 Windows 10 平台,以及 Android Q 系统;谷歌、英特尔、ARM、高通、三星、索尼等头部硬件厂商也纷纷加入到硬件解码器的研发队列中,可以预见移动端 AV1 硬解支持将在 2020 年迅速普及[3]。


针对 AV1 进行全面的编码性能评估实验


在 AV1 的浪潮来临之际,我们针对美拍 Top 500 及头部达人的视频,采用 2018 年 v1.0.0 版本 libaom 对 AV1 的压缩效率及编码复杂度进行了一次全面的编码性能评估实验。实验对标的编码器选用在实际生成环境中使用的主流视频编码器 x264、x265、VP9,质量评价指标采用 PSNR、SSIM 及 VMAF-Phone 模型。


视频测试序列的选择


测试序列取自美拍 Top 500 及来自头部达人的热门、优质视频,实际参与评估实验的视频有 523 个,这些视频具有以下特点:


  • 大部分是手机拍摄的视频,包括照片视频、手机录屏的视频、官方制作发布的视频;

  • 压缩后的视频;

  • 大部分是 SD/HD(480p/540p/720p),而不是官方测试机构常用的 UHD/4K、8K;

  • 大部分视频帧率都是 30 fps;

  • 大部分视频宽幅比都是 16:9;

  • 大部分视频处于 10s~60s 之间。

视频测试序列的复杂度分析

一个编码器的压缩效率与视频内容息息相关,因此在进行编码器评估工作之前,我们先对每个视频进行了复杂度分析。依据 ITU-T 主观质量评价标准《ITU-T P.910》[4]所描述的方法,我们通过对每个视频计算最大空间复杂度信息 (SI) 、最大时间复杂度信息 (TI) 来描述测试序列的复杂度。由于某些视频中存在大量场景切换,因此我们还计算了平均 SI、TI 来综合衡量序列复杂度。


图 1、图 2 分别展示了 Top 500 美拍视频(前 6s)的 SI-TI 分布情况。结果表明,我们的大部分视频处于,对应于 ITU-T 主观质量评价标准《ITU-T P.910》中的 A(One person, mainly head and shoulders, limited detail and motion)、B(One person with graphics and/or more detail)、C 类(More than one person),该数据结果与美拍的业务场景也十分契合。


图 1 Top 500 美拍视频 SI-TI(max) 散点分布图


图 2 Top 500 美拍视频 SI-TI (average) 散点分布图

编码器的选择

对于 AV1,我们采用 AOM AV1 提供的参考软件(AOM/libaom);对于 H.264/AVC、H.265/HEVC、VP9,我们采用 ffmpeg 4.0.2 对应的编码库。表 1 列出了实验中使用的编码器版本。


表 1 实验中采用的编码器版本

编码参数的配置

我们分别基于 CRF、ABR 两种码率控制配置下对编码器性能进行评估。不同编码器的 CRF 配置见表 2,我们取 6 个 CRF 值进行多组编码,并将 CRF 编码后得到的码率作为 2-pass ABR 编码的目标码率。


表 2 CRF 配置


具体每个编码器的配置方案如表 3 所示。


表 3 编码器详细配置

评估结果

我们采用 BD-Rate 来衡量各个编码器的压缩效率,复杂度性能则采用编码时长之间的倍数关系来描述。BD-Rate 是通过对比率失真曲线,计算相同质量下平均的码率差异来衡量两种编码方案的 RD 性能优劣。在评估结果的描述上,我们将从 AV1 的角度出发,计算 AV1 相对于其他编码方案的 BD-Rate 性能。其中,失真的计算维度采用 PSNR、SSIM,另外,针对 1080p 的序列会加入 VMAF-Phone 模型的评价结果。同样,在对比复杂度性能时,我们也会计算 AV1 相对于其他编码方案的编码时间的倍数。以下是具体在 CRF/QP、ABR 上的结果。


值得注意的是,短视频由于其 UGC 居多的特性,其视频源和近年来被广泛使用的 VMAF AI 模型使用的 Netflix 视频源训练集差异较大,因此原生 VMAF 模型并不能很好地评价短视频内容的画质。

CRF/QP 的结果

图 3、图 4 是 CRF/QP 码率控制方式下,分别以 PSNR、SSIM 为质量评价指标展现的 AV1 相比于 x264 high profile、x265 main profile、libvpx-vp9 在相同质量下节省的码率。


从 PSNR 的维度来看,AV1 的 BD-Rate 相比于前述的三种编码器分别平均节省了 35.88%,26.17%,36%。并且,从分辨率维度来看,随着分辨率的增加,AV1 的码率增益越大。对比 x264 high profile、x265 main profile 和 VP9,我们可以发现 x265 main 的压缩效率在各分辨率下都要优于 x264 high profile 和 VP9,在低分辨率下 x264 high profile 的压缩效率略优于 VP9,在大分辨率下 VP9 的压缩效率逐渐逼近 x265 main profile。


从 SSIM 的维度来看,AV1 的 BD-Rate 分别节省了 35.33%,22.24%,68.52%。需要说明的是,其中 libvpx-vp9 以 SSIM 维度计算的 BD-Rate 并不具有准确的物理意义,因为相比于 AV1,两条 RD 曲线近乎平行(如图 6~图 9 所示),所以无法准确找到同一质量的两个码率点进行比较。可以说 BD-Rate 不适用于展现以 SSIM 维度来衡量的 RD 性能,应该加上 BD-PSNR 的统计指标加以验证。图 6~图 9 是各个分辨率下随机抽取的一个序列的 RD 曲线。RD 曲线越高,说明率失真性能越好。可以发现在 SSIM 衡量指标下,RD 性能的变化趋势与 BD-Rate 结果一致,有:AV1 > x265 main profile > x264 high profile > VP9。


同理,BD-Rate 也不适用于展现以 VMAF-Phone 模型来衡量的 RD 性能,图 10 是取自 1080p 下某个视频序列的 RD 曲线。不难发现,在 VMAF-Phone 画质损伤衡量指标下,难以很好地区分 x264 high profile、x265 main profile 与 AV1 的孰优孰劣, 而 VP9 的 RD 性能明显差于其他编码器。


从编码复杂度上,如 图 5 所示,AV1 相比于 x264 high profile、x265 main profile、libvpx-vp9 的编码时间分别为 370.89 倍、44.34 倍、168.88 倍。同时,我们发现在大分辨率视频上, VP9 在 RD 性能接近 x265 main profile 的情况下,编码时长降到 x265 main profile 约五分之一。


图 3 AV1 相对于 x264 high profile、x265 main profile、libvpx-vp9 的 BD-Rate 节省比例(质量标准:PSNR 码控方式:CRF/QP)


图 4 AV1 相对于 x264 high profile、x265 main profile、libvpx-vp9 的 BD-Rate 节省比例(质量标准:SSIM 码控方式:CRF/QP)


图 5 AV1 相对于 x264 high profile、x265 main profile、libvpx-vp9 增加的编码耗时倍数(码控方式:CRF/QP)


图 6 360p 示例视频 RD 曲线(质量标准:SSIM 码控方式:CRF/QP)


图 7 540p 示例视频 RD 曲线(质量标准:SSIM 码控方式:CRF/QP)


图 8 720p 示例视频 RD 曲线(质量标准:SSIM 码控方式:CRF/QP)


图 9 1080p 示例视频 RD 曲线(质量标准:SSIM 码控方式:CRF/QP)


图 10 1080p 示例视频 RD 曲线(质量标准:VMAF-Phone model 码控方式:CRF/QP)

ABR 的结果

图 11、图 12 是 ABR 码率控制方式下,分别以 PSNR、SSIM 为质量评价指标展现的 AV1 相比于 x264 high profile、x265 main profile、libvpx-vp9 在相同质量下节省的码率。


从 PSNR 的维度来看,AV1 的性能与 CRF/QP 的结果类似,BD-Rate 相比于前述的三种编码器分别平均节省了 36.21%,27.64%,27.69%,且 RD 性能的增益优势也随分辨率增加而增加。与在 CRF/QP 下不同的是,VP9 的压缩性能在 ABR 下远优于 x264 high profile,与 x265 main profile 不相上下,在高分辨率下甚至超越了 x265 main profile。


从 SSIM 的维度来看,AV1 的 BD-Rate 分别节省了 32.96%,21.59%,62.35%。同样地,图 14 ~ 图 17 给出了四个分辨率下示例视频序列的 RD 曲线来直观比较各个编码器的 RD 性能。类似于 CRF/QP 的结果,RD 曲线的排序结果与 BD-Rate 排序结果一致,有:AV1 > x265 main profile > x264 high profile > VP9。


同样,在以 VMAF-Phone 来衡量画质时,AV1 与 x264 high profile、x265 main profile 的 RD 性能非常接近,VP9 依然处于劣势,如图 18 所示。


从编码复杂度上(如图 13 ),AV1 相比于 x264 high profile、x265 main profile、libvpx-vp9 的编码时间分别为 420.50 倍,28.69 倍,143.53 倍。


图 11 AV1 相对于 x264 high profile、x265 main profile、libvpx-vp9 的 BD-Rate 节省比例(质量标准:PSNR 码控方式: ABR)


图 12 AV1 相对于 x264 high profile、x265 main profile、libvpx-vp9 的 BD-Rate 节省比例(质量标准:SSIM 码控方式: ABR)


图 13 AV1 相对于 x264 high profile、x265 main profile、libvpx-vp9 增加的编码耗时倍数(码控方式:ABR)


图 14 360p 示例视频 RD 曲线(质量标准:SSIM 码控方式:ABR)


图 15 540p 示例视频 RD 曲线(质量标准:SSIM 码控方式:ABR)


图 16 720p 示例视频 RD 曲线(质量标准:SSIM 码控方式:ABR)


图 17 1080p 示例视频 RD 曲线(质量标准:SSIM 码控方式:ABR)


图 18 1080p 示例视频 RD 曲线(质量标准:VMAF-Phone model 码控方式:ABR)

结论

从 AV1 在短视频上的评估结果来看,我们可以得到与 Facebook[5]类似的一些结论,比如 AV1 相比于 VP9、x264 high profile 在相同质量下可以节省 30% ~ 40% 的码率。同时我们还得到了 AV1 相对于 x265 main profile 的表现:在相同质量下大约可以节省 27% 的码率。而在编码耗时上,AV1 的速度进步明显,相比于 Facebook 在 v0.1.0 AV1 上的结果:5869.9x( AV1 vs x264 high profile )、658.5x( AV1 vs VP9),v1.0.0 版本的 AV1 是 x264 high profile 的 395.7 倍、VP9 的 156.2 倍、x265 main profile 的 36.5 倍。


除此之外,我们还发现了 VP9 在短视频上的一些特性。首先,VP9 在通过 SSIM 及 VMAF 评价时表现较差。其次,VP9 在 ABR 下相对于 CRF 有更好的表现,其压缩性能与 x265 main profile 接近,但编码速度却比后者快了 5 倍。


另外,对编码器评估工作有如下几点启示:


在质量评价工具的选择上,原生 VMAF-Phone 模型并不能很好地区分各个编码器在短视频场景下的画质。


RD 性能统计指标的选择上,一种更为准确的方式是结合 BD-Rate、BD-PSNR 共同来衡量。


相信以上结论会引发音视频领域工程师的一些思考,并推进 AV1 在各自生产线中的使用。

未来规划

美图会持续跟进 AV1 在移动端和主流浏览器上的解码支持的成熟度,针对核心用户的视频内容率先应用 AV1 编码,降低用户观看高分辨率视频内容的时间成本,并给用户带来更好的画质体验。毕竟用户在观看 AV1 视频时,在相同码率下,将获得相比 x264、x265 及 VP9 更高的画质,或者相同质量下降低 30%~40% 的下载时长。另外,我们的编码器评估工作尚未停止,结合 Intel 近年来相继开源的 SVT-HEVC、SVT-AV1 编码器,我们会在后续的工作中加入对 SVT 系列编码器的评估。

作者介绍

美图编解码技术团队,致力于视频编解码器的研发,关注视频内容的 AI 前处理和动态自适应分发,主要负责美图视频内容的智能化、高效化编码和分发。


本文转载自美图技术公众号。


原文链接:https://mp.weixin.qq.com/s/8sq1A7hKu38MnTvmxHU_fg


2020-02-20 22:401574

评论

发布
暂无评论
发现更多内容

如何管理项目干系人?

敏捷开发

项目管理 项目干系人

使用 DataEase 制作动态轮播仪表板

搞大屏的小北

透视华为云云原生数据库的演进,能给行业带来哪些启发?

华为云开发者联盟

数据库 云原生 后端 华为云 企业号 1 月 PK 榜

NFTScan 与 AlienSwap 达成战略合作伙伴,双方在 NFT 数据层面展开合作

NFT Research

NFT

等保堡垒机选择哪个厂家好?咨询电话多少?

行云管家

等保 堡垒机 等级保护

【HA小知识】DRBD数据不一致怎么办?怎么处理?

行云管家

高可用 ha 高可用软件

redis.conf 7.0 生产配置详解,全网最全

码哥字节

NoSQL 数据库 redis 底层原理 Redis 7

软件测试/测试开发 | Jenkins 持续集成体系介绍

测试人

软件测试 持续集成 jenkins 自动化测试 测试开发

写作的“收益”超乎想象

王中阳Go

深度思考 学习方法 写作 写作技巧 写作感悟

pip安装报错:Command python setup.py egg_info failed with error code 1

Geek_7ubdnf

Python

【碎碎念】下雪了

Firshare

年终总结

跨域:后端工程师最熟悉的陌生“人”

华为云开发者联盟

后端 华为云 跨域 企业号 1 月 PK 榜

Halcon快速入门教程

嵌入式视觉

定位 算子 测量 HALCON 工业智慧视觉

服务网格|如何使用 Amesh 配置插件

API7.ai 技术团队

Service Mesh 服务网格 APISIX 网关 Kubernetes Serverless

Java基本语法

Geek_7ubdnf

Java

10分钟在 Rainbond 上部署 mall 电商项目

北京好雨科技有限公司

pip安装后仍有ImportError No module named XX问题解决

Geek_7ubdnf

Python

ModuleNotFoundError No module named 'PIL'问题解决

Geek_7ubdnf

Python

不写代码就实现了自动化测试,面试官都惊呆了!Apipost的自动化测试功能强烈推荐

徐天

自动化测试 apipost

屡获殊荣|旺链科技亮相2022中国双链年会并喜获佳绩

旺链科技

区块链 区块链技术 双链年会

Java中Get和Post的使用

Geek_7ubdnf

Java

MegCC 新版本来啦!新增 Benchmark 等工具,性能大幅提升!有奖征文活动同步启动

MegEngineBot

深度学习 benchmark MegEngine MegCC 模型编译器

性能再升级,XMeter Cloud专业版正式上线

EMQ映云科技

物联网 IoT 云服务 mqtt 企业号 1 月 PK 榜

当你输入网址,小手一点,然后发生了什么

华为云开发者联盟

前端 HTTP 华为云 企业号 1 月 PK 榜

年中盘点 | 2022年,PaaS 再升级

亚马逊云科技 (Amazon Web Services)

PaaS 亚马逊云科技 Builder 专栏

软件测试/测试开发 | Jenkins job 机制该如何使用?

测试人

软件测试 jenkins 自动化测试 测试开发

长安汽车*IoTDB | 构建1.5亿时间序列车况数据处理方案,查询稳定实现毫秒级返回

Apache IoTDB

从TMMI角度谈谈质量度量

老张

软件测试 质量度量

怎样快速地迁移 MySQL 中的数据?

C++后台开发

MySQL 数据库 中间件 后端开发 C++开发

华为云发布CodeArts Check代码检查服务 守护软件质量和安全

科技热闻

Linux下OpenCV出现错误:ASSERT false in file qasciikey.cpp, line 501

Geek_7ubdnf

Linux OpenCV

通过 Top 500 美拍短视频看 AV1 的性能表现_文化 & 方法_美图技术_InfoQ精选文章