前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >SVT-AV1:为 VOD 应用提供更好的复杂度与编码性能折衷

SVT-AV1:为 VOD 应用提供更好的复杂度与编码性能折衷

作者头像
用户1324186
发布于 2021-12-02 02:21:43
发布于 2021-12-02 02:21:43
8850
举报
文章被收录于专栏:媒矿工厂媒矿工厂

来源:SPIE 2021 主讲人:FouedBen Amara 内容整理:张一炜 本次演讲主要对 SVT-AV1 的特点及其实现思想进行了介绍,提出了一种对比编码器的测试流程,并将 SVT-AV1 与其他编码器在 VOD 视频上的复杂度与编码性能进行了对比。

目录

  • 研究动机
  • SVT-AV1 编码器
    • 多维度的并行处理
    • 结构优化
  • 对比实验
    • 测试流程
    • 与其他编码器的对比
    • SVT AV1 fast encoding 对比
  • 结论

研究动机

很大一部分的视频数据流量来自于视频点播。在点播视频的压缩中,目前需要能够进一步降低编码器的复杂度与提高压缩效率,相关的低复杂度编码器的研究也很有必要。并且,也需要一个更好的评价编码器性能的框架,并针对 VOD 点播场景的处理流程进行优化。

因此,针对上述问题,可以使用 SVT(Scalable Video Technology) AV1 编码器。SVT-AV1 在处理速度、质量与延时之间具有较好的可伸缩性

SVT-AV1 编码器

SVT-AV1 在有限的资源下具有较好的压缩性,具有以下三个特征

  • 多维度的并行处理;
  • 结构性优化(多阶段的划分决策与模式选择);
  • 算法优化。

上述优化使得 SVT-AV1 编码器可以在降低编码复杂度的同时最大程度上的实现高效压缩。

多维度的并行处理

SVT-AV1 的并行处理主要在三个方面,如下图所示。

SVT AV1 并行结构

在 process 层级的并行上,SVT-AV1 将编码流程中的不同模块分离出来,其中的不同的处理函数可以并行运行。在 picture 层级的并行上,SVT-AV1 会并行处理一组图片,并在参考图像的编码完成前阻塞当前图片的编码进程以确保依赖关系。在 Segment 层级的并行上,SVT-AV1 支持波前并行处理的方式,将一张图片分成不同的 segment,并在考虑编码依赖关系下进行并行处理。

结构优化

在结构优化方面,由于在编码过程中包括块划分在内的可选模式非常多,因此 SVT-AV1 使用了多阶段的块划分和模式选择,由精到细,逐步筛选出最终的 SB 划分结果和编码的模式。

SVT-AV1 的模式选择不是递归结构,而是将运动估计的数据与所有可能的划分结果一起作为输入。并且每一轮决策的判断方法逐渐变得复杂,候选模式的数量也随着阶段的增加而大量减小。

SVT AV1 模式选择

目前 SVT-AV1 已经作为 AOM 中 Software Implementation Working Group(SIWG) 中的参考软件,并已经开源。

在过去的一年中,SVT-AV1 的进一步优化主要包括了以下方面。

  • 添加中等和快速模式下的复杂度和编码性能的折衷,并新增了 M7 和 M8 两种配置以适应更广范围下的复杂度要求;
  • 优化部分特征,包括 Temporal Dependency Model(TPL), 内容自适应 QP 以及预测结构;
  • 高负载度模式的模式选择算法优化;
  • 添加 1-pass 和 2-pass 码率控制的初始支持,并正在努力增加其他功能;
  • 单线程以及多线程的内存使用优化;
  • 添加 AVX2 和 AVX512 指令集优化。

对比实验

测试流程

在与其他编码器的对比实验中,主要对比了 AV1 的 SVT-AV1 实现与 libaom 实现,以及 VP9、x264、x265、以及 VVenC 等其他的开源编码器。整体的测试流程如下图所示。

测试流程

测试时将不同的视频分为单独的 shot 分别进行编码,每一个 shot 中包括了相同的场景。并将原始的 1080p 视频下采样到不同的分辨率进行编码,以比较不同编码器在不同分辨率下的表现。而在评测指标方面包括了 VMAF、PSNR、SSIM 以及与 libaom AV1 相比的 BD-rate,同时也对编码时间进行了统计以作为复杂度的评估。

对比实验中的测试集总共有如下 3 个:

  • Mixed Premium VOD/ UGC VOD;
  • ElFuente - Premium VOD;
  • UGC VOD(Youtube UGC test set)。

三个测试集中包括了不同的场景、分辨率以及 QP 大小。在三个测试集下的 BD-rate 结果如下图所示。图中的横坐标为编码所需时间,纵坐标为相比于 libaom AV1 的 BD-rate 大小。图中的曲线由不同编码器在不同编码配置下的编码结果构成。

与其他编码器的对比

测试集 1 BD-rate 与编码时间关系图

测试集 2 BD-rate 与编码时间关系图

测试集 3 BD-rate 与编码时间关系图

对比三个测试集上的结果,可以看出,SVT-AV1 在复杂度与编码性能之间存在很好的可伸缩性。在对编码性能有要求时,SVT-AV1 的 M0 配置下可以实现与 libaom AV1 相同的 RD 性能,但是编码时间更短。而在对编码时间有要求时,SVT-AV1 可以实现与 x264 , x265的快速模式下 相当的复杂度,而在性能方面要明显好于 x264 与 x265。

SVT AV1 fast encoding 对比

对于 SVT-AV1 快速编码的作用,下图展示了先使用 SVT-AV1 的快速模式(M8) 编码找到 RD 曲线上的操作点,再使用其他的预设的模式进行编码后的 RD 性能与直接使用期望模式编码性能的对比图。图中的纵坐标 SVT AV1 的编码结果与 libaom AV1 2 pass 编码相比的 BD-rate 大小,横坐标为编码时间。

SVT AV1 fast coding 作用

初始的快速模式设置使得 SVT AV1 可以快速的找到合适的编码参数,再减少编码与时间较有帮助。下图展示了这两种编码方式下,对应编码模式循环减少的百分比与 RD 性能损失。可以看出一开始的快速编码有效的减少了编码过程中的循环所消耗的时间,并且对于 RD 性能的损失也在可以接受的范围。

Fast encoding 下的循环减少百分比与 RD 性能损失

结论

  • SVT AV1 对于不同的测试序列和测试条件下,都能很好的发挥其在编码复杂度和编码性能之间的可伸缩性。
  • 快速编码参数选择相比于动态的优化方式在减小编码复杂度上效果更为明显。

最后附上演讲视频:

http://mpvideo.qpic.cn/0bc3qmaagaaadaafpye7sbqvba6daobqaaya.f10002.mp4?dis_k=27f74d2269408161f6c5ecf59b54ab3a&dis_t=1638411643&vid=wxv_2151502879034048513&format_id=10002&support_redirect=0&mmversion=false

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-11-25,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 媒矿工厂 微信公众号,前往查看

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 研究动机
  • SVT-AV1 编码器
    • 多维度的并行处理
    • 结构优化
  • 对比实验
    • 测试流程
    • 与其他编码器的对比
    • SVT AV1 fast encoding 对比
  • 结论
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档