尽管AV1的编码速度距离理想的水平还有一定差距,但是随着rav1e(由Xiph,Mozilla和Vimeo支持)和SVT-AV1(由Netflix和Intel支持)的大规模部署,这一现状有望被迅速突破。
文 / Ewout ter Hoeven
译 / john
原文  
https://medium.com/@ewoutterhoeven/av1-is-ready-for-prime-time-svt-av1-beats-x265-and-libvpx-in-quality-bitrate-and-speed-31c1960703db
https://medium.com/@ewoutterhoeven/av1-is-ready-for-prime-time-part-2-decoding-performance-d3428221313
今天,我将演示SVT-AV1如何以相同码率更快地提供更高质量的内容。结合dav1d的快速AV1解码, AV1编解码器即将为全面推广做好准备。

第1部分:质量

除了免费和开源之外,AV1的最大优势是能在相同码率下实现更高的质量。rav1e开发人员已经构建了一款出色的用以对比视频质量的工具,其被称为AreWeCompressedYet?。我向其提交了libvpx、x265和SVT-AV1编码器的运行代码,其中前两个为现阶段适用最广泛的高质量编码。
在X轴上,码率以每个像素的位数表示。因此0.02表示每个像素平均花费0.02位,而0.1表示每个像素平均花费0.1位。例如,对于1080p 30fps的视频,其码率分别为1,25 Mb / s(每个像素平均花费0.02位时)和6,25 Mb / s(每个像素平均花费0.1位时)。
对于x265和libvpx,我们就以下三种情况进行测试:最高质量、最慢速度(veryslow)与CPU零使用率(cpu-used=0)(x265 placebo?导致该测试集的质量较差)。SVT-AV1在下图中使用Enc-mode 4与Enc-mode 6,而SVT-AV1具有更快与更慢的模式,范围从Enc-mode 8到Enc-mode 0。
首先是PSNR和MS SSIM,这两项客观指标都可以计算输入和输出视频流之间的数学误差。我们将这些值显示在Y轴上,值越高表示质量越高。
在PSNR和MS-SSIM指标上,SVT-AV1 Enc-mode 6(绿色)和Enc-mode 4(黄色)均提供比x265(红色)和libvpx(蓝色)更好的客观质量。
随后我们继续加入了一个主观指标,该指标应更好地代表用户如何体验视频质量—— VMAF由Netflix开发,旨在更好地评估用户的感知质量。
SVT-AV1的主观质量比客观质量差一些。Enc—mode 4仍然胜过libvpx和x265,但是Enc-mode 6稍差一些。

第2部分:速度

为了比较速度,我启用了一些Google Cloud实例以实现公平的比较。两个实例基于64 GB DDR4的Cascade Lake平台并都使用16个vCPU(8个内核,16个线程——SVT-AV1在16 GB btw上运行良好)。此设置下的性能应与配备Ryzen 7 3700X或Core i9-9900K的高端台式机相当。
所有编码器均使用带有Release配置的GCC 8.3.0进行编译。我对两种情况的两个文件进行了基准测试:代表常规1080p内容的1250帧1080p 8位4:2:0剪辑和代表高端HDR电影内容的250帧2160p 10位 4:2:0剪辑。每个编码器运行两次,并使用最快的运行速度。下面的结果以每秒帧数为单位:
如我们所见,SVT-AV1Enc-mode 5、Enc-mode6和Enc-mode 7明显比libvpx和x265都快。同样,libaom甚至在快速预设(cpu-used = 5)下也非常慢。
规范化后,差异变得更加清晰。
在8-bit 视频“Sintel“上,Enc-mode 4比libvpx快32%而比x265慢4%。Enc-mode7在10-bit视频”Foodmarket“上与基准的差距甚至更大。

第3部分:深入研究

因此,我们现在已经全面了解,与libvpx(VP9)和x265(H.265)相比,SVT-AV1可以同时更快,并以相同的码率提供更高的质量。在本节中,我将深度比较不同的SVT-AV1编码器模式下所需的位数。我们将主要关注MS-SSIM的客观质量和VMAF的主观质量。

Enc-mode 7

在Enc-mode7中,SVT-AV1仍需要3.6%~9.2%甚至更多的位数才能达到与libvpx相似的MS SSIM(客观)质量。对于类似的VMAF(主观)质量则取决于分辨率,为9.5%~23.4%甚至更高。
与x265相比,其结果要好一些,它使用1.6%~10.9%甚至更少的位数实现相似的MS-SSIM质量;而VMAF下所需位数则更少,为10.4%~1.4%。
同时,SVT-AV1比libvpx快6,42倍,比x265快4,68倍。

Enc-mode 6

与Enc-mode7相比,Enc-mode 6将达到相似质量所需的位数减少了约4%~8%;与x265相比,MS-SSIM的码率现在显著降低;而与libvpx相比,其码率仍需要更高一些。
Enc-mode 6比libvpx快4.60倍,比x265快3.35倍。

Enc-mode 5

Enc-mode 5在MS-SSIM指标上击败libvpx拔得头筹;在所有指标上,它几乎都比x265更好。
Enc-mode 5比libvpx快3.01倍,比x265快2.2倍。

Enc-mode 4

Enc-mode 4通过大幅降低双位数的码率得以优于x265。平均来看,对于实现相等的PSNR质量,它需要20.1%甚至更少的位数;对于实现相等的MS-SSIM质量则需要19.2%或者更少的位数;而对于实现相等的VMAF质量则需要9.2%或者更少的位数。同时,Enc-mode4仅比基准慢4%。
而与libvpx相比其增益要更小一些,在实现相同的PSNR、MS-SSIM和VMAF质量下,平均码率分别降低了8.8%、9.0%和3.1%。但是,Enc-mode 4可以32%的较高速度实现相同质量。

结论

尽管SVT-AV1仍处于大规模的开发之中,但其已经达到了基于多核计算机以相同的码率在更高速度下实现更高质量的效果。在使用Enc-mode 4的大多数高端计算机甚至在使用Enc-mode 6或更高版本的中档计算机都可为长达一小时的视频进行长时间的编码。
可以在SVT-AV1存储库中找到该架构说明,同时也提供FFmpeg和Gstreamer的插件(补丁)。您可以在AppVeyor上找到预编译的64位Windows可执行文件,该媒体autobuild_suite还支持SVT-AV1为FFmpeg的构建与SVT-AV1补丁。
x86和ARM平台上的AV1解码器性能

x86

PC市场的AV1解码已经非常成熟。过去的几个月中,dav1d内被添加了许多SSSE3程序集用以提高其在较旧的CPU(Haswell和Zen之前的版本)上的性能。
借助dav1d 0.5.0,AVX2性能也有所提高,图中显示的结果已经非常快了。
Google创建了一个新的解码器libgav1。其主要针对ARM CPU进行优化。在x86上进行的快速测试表明,在几乎所有情况下,即使是单线程性能,libgav1也比dav1d和libaom都差。
因此,现在我们暂时不谈针对x86的libgav1,让我们看看dav1d 0.5.0与libaom的比较测试结果。单线程dav1d的速度在1.5到2.5之间。
可以看到,多线程的提升为2.3到4.5倍。

ARM

现在,如何在受到锂电池能耗限制的移动设备ARMv8平台上启用AV1软件解码并尽可能发挥其效能成为大家探索的首要领域。在过去的一年中,我们看到dav1d的性能稳步提高。单线程性能提高了30%到50%。
自发布以来,多线程性能甚至提高了80%至90%。
那么,让我们看看新产品表现如何——libgav1的单线程仍然比libaom和dav1d慢很多。它是多线程的,与libaom差不多但与dav1d差异明显。
回顾一下dav1d,在常见商用化的CPU上,我们看到像Snapdragon 410这样的低端CPU仍在1080p解码方面遇到不小的困难,720p应该是非常可行的;而当CPU包含4个高性能内核时,像Snapdragon 835这样的高端设备可以以超过60 fps的速度执行1080p解码。尽管这会影响电池寿命,但是对于短时间帧序列而言没什么大不了的。

结论

Dav1d 0.5.0将于本周发布,其仍然是市面上最快的AV1解码器。由于增加了SSSE3组件,现在几乎所有x86 CPU都可以进行1080p AV1解码,并且几乎所有四核CPU都可以使用4K。在ARM方面,低端设备可能有720p,高端设备可能有1080p,但是必须考虑能耗对电池的影响。
未来我们将进一步测试编解码能耗与电池寿命之间的关系。
●     这些AWCY运行:https  ://beta.arewecompressedyet.com/  job x265-veryslow-limited%402019-08-23-c job  vp9-cpu0%402019-09-03  job SVT-AV1-enc-mode-7  %402019-10-06&job= SVT-AV1-enc-mode-6%402019-10-06&job= SVT-AV1-enc-mode-5%402019-10-06&job= SVT-AV1-enc-mode-4%402019-10-06
●     这些效果结果:https  :  //docs.google.com/spreadsheets/d/1p3PJQMkyhIrXEL6MBBQiwTnWmGyHY_zuw7_XAD0def4/edit#gid=959310253
●     这些编译和基准测试命令:https  :  //gist.github.com/EwoutH/b908f3527d630326266de0d6e2a953fd
●     运行Ubuntu 18.04 LTS的Google ComputeEngine n2-standard-16(16个vCPU,64 GB内存)Cascade Lake实例

LiveVideoStack 秋季招聘

LiveVideoStack正在招募编辑/记者/运营,与全球顶尖多媒体技术专家和LiveVideoStack年轻的伙伴一起,推动多媒体技术生态发展。同时,也欢迎你利用业余时间、远程参与内容生产。了解岗位信息请在BOSS直聘上搜索“LiveVideoStack”,或通过微信“Tony_Bao_”与主编包研交流。

准备好迎接AV1的黄金时代了吗?相关推荐

  1. 万物互联来袭 你准备好迎接5G新时代了吗?

    目录 01.从移动通讯到移动互联的初次革命 02.从移动互联到万物互联的全新篇章 03.5G网络+人工智能构建万物互联网 04.5G网络+车联网打造未来智慧交通 05.携手与引领共策未来5G之路 欢迎 ...

  2. 您的游戏准备好迎接春节假期了吗?

    春节假期近在咫尺,这也意味着有更多的用户会选择投入游戏的怀抱.合理利用假期提高收益,是值得每一个移动游戏开发者学习的技巧,本篇文章将为您解读那些善于利用假期时间节点的游戏开发者们的做法,希望可以对大家 ...

  3. 准备好迎接你的“新同事”了吗?他叫人工智能 | 精选

    ▼ 大型年度AI人物评选--2017中国AI英雄风云榜,评选进行中! 奖项设置:技术创新人物TOP 10,商业创新人物TOP 10 表彰人物:华人科学家.学者.企业家.创业者 评委阵容:资深媒体人.A ...

  4. 准备好迎接您的新同事了吗?他叫人工智能(Artificial Intelligence)

    [网易智能讯11月22日消息]去年秋天,谷歌翻译推出了一个全新升级的人工智能翻译引擎,该引擎翻译文本有时与人工翻译文本"几乎无法区分".约 斯特·赛驰只能不停转动他的眼睛.这位德国 ...

  5. 开年书单来袭,你准备好迎接2020了吗?

    来源 | 异步 2020年来了,这类在去年就刷屏朋友圈的图又来了. 无论2019年里的得失如何,大家都开始整理心情,迎接2020年. 关于2020年,你有什么新的计划了吗?新年第一本书选哪本读呢?异步 ...

  6. 机器人流程自动化崛起,中国是否准备好迎接智能自动化时代?

    来源:亿欧智库 摘要:机器人流程自动化(Robotic Process Automation, RPA)正迅速成为企业改善服务.提高效率和降低成本的关键工具.对此,PWC针对国内RPA市场展开了调查, ...

  7. 准备好迎接2021黑色星期五的爆单了吗?

    想必大家都听说过俗语--早起的鸟儿有虫吃,early-bird一词就源自黑色星期五,早起的消费者能抢到打折爆款,早做打算的商家才能从容应对爆单的处理. 国内的双十一刚刚过去,而2021黑色星期五倒计时 ...

  8. 太美医疗eTMF已经准备好迎接eCTD的时代了!

    eTMF临床研究主文档管理系统 据调研,eTMF临床研究主文档管理系统,是继EDC及CTMS之后使用最为广泛的临床研究信息化系统,是为临床研究高度定制的成熟临床试验文档管理解决方案.作为临床研究过程一 ...

  9. 一加新机来袭,你准备好迎接一台“性能小怪兽”了吗?

    一加已经成为了"品质"的代名词了,每年两场发布会都变得万众期待.之前可能国内只有少部分消费者了解一加手机,但是现在一加已经靠品质获得了喝彩和忠实的粉丝. 一加手机从面世以来一直都是 ...

最新文章

  1. 中国队拿下口罩人脸识别世界第一!还将推出全球最大公开人脸数据集
  2. 图像去噪 使用dct变换进行去噪
  3. Codeforces Round #726 (Div. 2) E2. Erase and Extend (Hard Version) 贪心
  4. React开发(178):ant design table基础用法
  5. 前端学习(1155):常量const03
  6. ansible 修改文件变量_基于ansible的批量配置生成
  7. 收集4:文件打开方式
  8. PAT (Basic Level) Practice1002 写出这个数
  9. Xbox One:未来的客厅主角
  10. 如何在 Mac 上设置 iCloud 功能?
  11. python强制声明变量类型_python声明变量类型吗
  12. vue ajax 上传,vue中用ajax上传文件
  13. 怎么用计算机打对错,丶符号怎么打-Word里的对√ 和 错× 怎么打出来的?
  14. js 字串转换HTML,js转化html字符
  15. MySQL原理与学习
  16. [UVALive3942] Remember the Word 字符串
  17. [转] 同期群分析Cohort Analysis
  18. appstore上架助手
  19. java IO、NIO、AIO详解
  20. 移动端基于Vant组件封装底部弹出搜索多选列表

热门文章

  1. 少样本 N-way K-shot
  2. 用一个I/O口控制1个三色指示灯, 2个单色指示灯
  3. 手机计算机怎么改背景,qq聊天背景隔离区怎么制作?QQ隔离区背景制作教程(电脑版手机版)...
  4. Excel单元格中引用当前工作表名称
  5. 全国百强县排名完全名单——你老家上榜了吗?
  6. PXC部署,配置,操作原理
  7. 安卓小米系统开发一些适配问题
  8. 软件设计概念-指导原则|Aspects|设计元素
  9. “好歌曲”进“主打之争” 刘欢原创大碟打头阵
  10. 安装软件出现Microsoft Visual C++ 2015 Redistributable (x64) 安装失败 win10卸载2017再次进行即可