拍乐云基于AV1的实时视频系统技术实践
- 技术文章
实时视频系统对于时延的要求极高,视频编码器必须满足实时性的要求。新一代视频标准AV1相比主流H.264在Rate-distortation性能的提升上是以复杂度的上升为代价的,当前应用设备的碎片化非常严重、设备的运算能力差异巨大,这些都是新技术落地实时系统面临的挑战。本次分享将围绕拍乐云在设计Pano Venus实时AV1通信系统时的一些技术实践展开深入分析与讲解,期望和大家共同探索实时视频技术的未来。
PART 01
背景
视频编码标准的历史
视频编码标准的发展已经有近40年的历史了,在视频编码标准的发展中,国际电信联盟(ITU)和运动图像专家组(MPEG)这两个组织具有举足轻重的地位。
最早是视频编码标准H.120和H.261就是国际电信联盟在上个世纪80年代所制定,然后运动图像专家组制定了MPEG-1,MPEG-1是以VCD之名被大家所熟知的编码标准。
接下来两大组织联手成立了联合视频专家组(JVET),联合视频专家组定了MPEG-2中的视频部分,也被称为H.262。MPEG-2是以DVD之名被大家所了解,可以说MPEG-2是迄今为止最成功的视频标准之一,绝不逊色于现在的H.264-AVC。
后来国际电信联盟又制定了H.263标准,运动图像专家组制定了MPEG-4,这两个标准都没有取得像MPEG-2这样的成功. 然后两大组织再次联手(JVET)制定了H.264-AVC标准。H.264制定于二十一世纪初,到现在已经近20年,却依然在行业应用占据了绝对的领先地位,独领风骚二十年。
联合视频专家组在2014年制定了H.265-HEVC,其技术值得称道,但是专利费用的混乱和昂贵,阻碍了H.265在行业内的应用,无法撼动H.264的地位。JVET后续又制定了H.266-VVC,其专利授权问题依然需要被关注,如果H.266能提供比较友好的专利授权方案,未来会是充满期望的。
另一个重要的视频标准组织是以Google为代表的开放媒体联盟(AOM),AOM制定的AV1标准,展示出超过H.265-HEVC的编码性能,拥有丰富的编码工具支持,可以极大地提高视频的压缩比,节省大量带宽,同时,AV1 作为开放媒体联盟 AOM 制定的第一代标准,除了有非常好的生态支持,还提供了免费的专利政策,相比 H.265 / H.266 等知识产权政策不明确的视频标准,有巨大的优势。清晰明确的专利政策也是 AV1 在产业界被推崇的一大优势。
除了上述三家标准组织,AVS也值得一提。AVS是我国自己的标准组织,它定义的AVS标准迄今已经发展到AVS-3,从AVS分享的数据来看,AVS-3具备了优秀的编码性能,不过要建立AVS的生态,依然非常困难。
编码器的基本框架
虽然编码标准的发展经历了多个迭代,新的编码工具令人眼花缭乱,不过编码器的基本框架却没有大的变化。
从H.261到现在的H.266和AV1, 都依然是混合编码框架,其核心模块包括:块的分割(16x16~128x128)、基于块的预测(intra and inter prediction)、基于块的变换(transform)、量化(quantization)、熵编码(entropy coding)。对于开发视频应用的同学来说,不需要了解编码器和解码器的技术细节,不过需要了解一些最基本的概念,比如说关键帧(Key-frame/I-frame)。
所谓关键帧,就是它的块预测仅使用帧内预测(intra prediction),这就意味着,关键帧并不依赖于它之前或者之后的帧,只需要关键帧的数据是完整的,就可以被正确解码(这个描述忽略了SPS/PPS等参数集, 参数集的重要性可以被认为是等同于关键帧),这就是在实时系统中,当解码遇到错误的时候,会采用关键帧请求的技术来恢复解码的原因。
PART 02
Pano Venus 的挑战
拍乐云实时低码高清编码引擎Pano Venus,采用新一代视频编码标准AV1,克服了AV1运算复杂度过高的问题,创新地提出多种加速编码算法,大幅提升实时视频的编码性能和编码速度。经过算法和处理器特性相关的优化,可以在全平台设备上将编码时延控制在毫秒级,同时,在相同的视频质量下,Pano Venus的所需带宽相比主流采用H.264标准的编码引擎平均降低40%到70%,其所使用的编码器是目前已知的国内最快的AV1编码器。
PART 03
AV1编码性能的提升,源于它的高复杂度。我们需要对AV1编码和解码的复杂度有比较清晰的认知。以目前开源的aomenc和dav1d为参照,我们通过一些实验来分析,下文是一些测试结果。
解码性能:
编码性能:
这个测试数据可见,尽管AOM开源的aomenc和Vidaolan的dav1d在性能上已经做了非常大的优化,但是相比Cisco开源的openH.264,AV1编码和解码的复杂度增加仍然非常巨大, 这些对落地AV1于实时场景造成了很大挑战。Pano Venus以aomenc和dav1d作为benchmark,尤其针对移动ARM平台,实现了多种加速算法和平台相关的工程优化,为AV1的落地打造了可能。
PART 04
[L|S] [Number] [T] [Number] [h] [KEY] [SHIFT]
PART 05
Pano Venus 的未来
更灵活的编码复杂度伸缩方案, 覆盖更多设备
主观视觉编码, 进一步提升编码性能
支持桌面编码工具集, 支持桌面编码
并行编码框架, 充分利用多核处理器的性能, 提升编码效率
AV1技术虽然早已加入到WebRTC,但由于算法复杂度比H.264高很多倍,实时性一直是大家特别担心的问题。拍乐云对AV1在实时通信方面做了积极的商业化探索,我们坚信技术的创新能为多媒体生态的发展创造更大的想象力。
参考文献
