七牛云基于 AV1 的转码系统实践
什么是 AV1?
以 Google 为代表的开放媒体联盟(AOM, Alliance for Open Media)所制定的 AV1 标准,在保持相同画质的条件下,码率可比 H.265 低 20%左右。同时其免费的专利政策与广泛的生态支持(尤其是浏览器的支持),相比于 H.265 等视频编码标准,优势显著,成为产业界推广 AV1 的重要原因之一。
AV1 中的编码技术
AV1 依然采用了混合编码框架。尽管在编码架构上没有显著的创新突破,但在不同的编码模块中引入了新的编码工具,以实现高性能的压缩效果。
块划分
在 AV1 中,最大的块被称作 super-block,其最大尺寸可达 128x128。AV1 运用了递归分区树的划分方式,每个 2Nx2N 的块可以递归地划分成 4 个 NxN 的子块,直至最小的块为 4x4。对于每一个 2Nx2N 的块,可选择 10 种类型划分,例如 AB 划分,Rect 划分等。
帧内/帧间预测
AV1 除了在传统的帧内预测方向上细化出更多的预测方向,还新增加了递归滤波预测和跨分量预测,以及可显著提升屏幕内容压缩性能的调色板模式和帧内块拷贝模式。
在帧间预测压缩工具方面,相比帧内压缩工具更加丰富,AV1 扩展到最大支持 7 个参考帧进行预测。此外,双向预测还支持多种不同方式生成预测块,像是楔形分割预测,加权运动补偿等。
变换/量化和熵编码
AV1 的变换核尺寸扩展到支持从 4x4 到 64x64,并且还支持长方形的变换块尺寸。变换核类型除了支持传统的 DCT,还支持 ADST,fADST,IDT。由于变换和反变换能够随意组合,所以 AV1 共支持 16 种类型组合。变换尺寸以及变换类型组合种类的增多,使得编码复杂度大幅提升。
环内滤波
环内滤波是目前视频编码标准的必要组成部分之一。AV1 除了去块滤波,还增加了约束方向增强滤波器(用于保留物体边缘的清晰度,提升重建图像质量)、环内修复滤波器以及电影颗粒胶片效果合成器等,以此来提高编码效率。
AV1 编码架构图
AV1 复杂度分析
新编码工具的引入,使得 AV1 编码性能得以提升,但其编码复杂度亦极具上升。我们首先做的是对 AV1 的编码复杂度有清晰的认识,以当下开源的 libaom 和 x265 为例,我们进行了测试。
从表格中的测试数据可以看出,尽管目前 libaom 一直在不断的优化,并取得了很大的进展,然而 AV1 相比 x265 虽有 25%左右的码率节省,但是其编码耗时却增加了 28 倍左右。因此如何平衡码率节省与复杂度成为了首要任务。
编码工具集自适应适配
不同的视频场景需要适配不同的编码参数集,以达到最佳的编码质量平衡。在丰富的编码工具集合中,针对当前的输入视频能够快速准确选择应该使用的编码工具,这是打造 AV1 编码器的主要优化难点。通过提取输入视频的特征,如纹理特征,运动强度等,来选择合适的前处理与编码参数。
下图列出了七牛云 AV1 根据输入视频自适应选择编码参数的测试结果,可以看出与 H.265 相比,其编码速度领先 H.265,且在同等质量 PSNR 下,更省码率。
AV1 的采用
七牛云自研了多标准的编码器,其中就包括了 QNAV1。AV1 不仅提升了视频的压缩效率,更在实时音视频场景中实现了画质的显著提升。在同等码率下,AV1 能够提供比 H.265 更清晰的视频画质,甚至在屏幕共享等特定场景下,压缩率提升高达 80%。
对于用户而言,AV1 的优势是实实在在的。无论是在移动设备上观看视频,还是在网络条件不佳的环境中享受直播,AV1 都能够为用户提供更流畅、更清晰的观看体验。此外,AV1 的高压缩率也意味着用户可以节省更多的流量,享受更高的性价比。
AV1 的行业应用场景广泛,已被广泛应用于视频点播、直播、实时音视频 RTC 等各类场景。其极致的编码压缩体验和超清画质效果,使 AV1 成为提升行业视频服务水平的关键技术。AV1 不仅在视频领域得以应用,在图片领域也有涉及。七牛云目前已全面支持 AVIF,AVIF 得益于其出色的帧内编码压缩技术,可大幅降低各类图片的体积,让用户以最低成本获得小而美的图片体验。
评论