解码器复杂度感知的AV1编码优化

2021-04-14 10:31:28 浏览数 (1)

本文是来自Demuxed2020的一篇演讲,演讲者是来自Visionular的Zoe Liu,演讲的主题是介绍解码器复杂度感知的AV1编码优化。

与之前的VP9相比,AV1包含了100多种编码工具,然而提高编码效率的同时却给AV1带了极大的编码复杂度。AV1编码器的编码效率和编码速度经过开源社区的不断地优化,迄今为止,有三种众所周知的开源AV1编码器:SVT-AV1、rav1e和libaom。以libaom为例,从2019年1月到2020年4月, AV1编码器的速度提高了10倍以上,并且编码效率也并发提高10%。

在本次演讲中,Zoe将从另一个角度解决AV1编码优化问题,即解码器复杂度感知的AV1编码优化问题。通常,在磨练优化AV1编码器的策略和算法时,我们都在尝试更好地胜过现有解决方案的更高编码效率,同时加快为实际产品准备的编码速度。实际上,感知解码器复杂度可以反过来收集对AV1编码器设计的反馈,因此AV1编码器不仅可以在编码效率和编码速度之间取得足够好的折衷,而且还可以减轻解码器方面的负担,以便将AV1部署到更广泛的应用中。

首先,Zoe简要概述dav1d的当前性能,包括专门收集的有关其解码速度和功耗的统计信息。dav1d的解码速度已得到一致确认,其性能优于所有其他现有的AV1软件解码器。为了检查其在手机上的性能,他们针对ffmpeg-h264软件解码器和openhevc软件解码器评估了dav1d在几种典型的移动设备上的CPU使用率[%],使用的内存[MB],电流[mA],消耗的功率[mW] ,电压[mV]和温度[℃]。结果表明,在功耗方面,dav1d排在上述两个解码器之间,比ffmpeg-h264差,但比openhevc好。

此外,他们与合作者合作,广泛收集了运行在dav1d上的解码速度统计信息,尤其是在低端移动设备上。例如,他们的合作者选择了18个常见的测试序列,使用SVT-AV1 Preset 6生成AV1比特流,并使用Qualcomm Snapdragon 801四核处理器在XiaoMi 4上对其进行解码。视频测试集包括720x536、960x536、960x480、1024x576和2024x536的分辨率。可以看出,在较高的编码比特率下,在此类设备上使用解码器对实时解码将非常具有挑战性。

然后,Zoe介绍几种可能直接影响解码器复杂度性能的编码工具。对于特定的内容,某些编码工具可能会在解码器端引起很大的复杂性,而如果在编码器端跳过此类工具,则编码效率可能只会受到很小程度的降低。例如,AV1的块大小从4x4一直到128x128,通过关闭非常大的分区或最小的分区,可以实现良好的折衷,以获得足够好的编码效率,同时不会引起太多的解码器端计算复杂性,从而使解码器即使在较低的带宽下也能够实时进行解码。解码器复杂度感知的AV1编码优化概念将进一步帮助推动AV1的推出。

0 人点赞