从服贸会近百场直播,解析低延迟直播背后的编码技术

近日,2020年中国国际服务贸易交易会在北京落幕。与以往不同,今年的服贸会采取线上线下结合的方式举办,线上会议30场,线上线下相结合会议70场,线上直播活动近百场,“云会议”、“云展览”、“云洽谈”成为本次服贸会的重要特色。

服贸会上,每一场实时互动的云上会议和商务洽谈,其实都是一次低延迟直播活动。为了降低用户侧在通讯中的延迟,使其尽量“不可感知”,各路厂商均加大投入以优化延迟,因为这是低延迟直播场景中的首要核心性能指标。

为适配低延迟场景关于延迟和画质的核心需求,金山云依托深耕多年的视频编码引擎—KSC265,并以诸多定制算法为基础,构建了一条适用于低延迟编码的路径,使得编码延迟在该场景下大为降低的同时,几乎不影响画质。整体而言,得益于持续的快速算法创新,金山云低延迟直播在编码引擎层面上,相较于开源编码器x264/x265的zerolatency档位基线水平的加速比达到了2倍以上,而BD-rate损失只有不到1。

自制编码块评价标准提速编码过程

目前,视频编码都是基于块进行的,将一帧视频划分为不同的块,然后对每个块再分别进行编码处理。当下,几乎所有的视频编码器都会在块划分和运动估计环节上消耗主要计算时间。因此,如何提高这两者的计算效率成为低延迟直播场景下首要考虑的问题。

低延迟直播场景下,视频画面相对稳定且变化并不丰富,不同编码块的编码参数之间在时空上具有非常高的相关性。利用这一特性,金山云在块划分环节上对深度决策及模式决策设置快速终止条件,并设计了一种评价标准衡量编码块的时空复杂度,以此为基准进行快速划分模式决策,在满足一定条件下即可终止搜索,大大减少了模式搜索计算量。利用这项技术,金山云将块划分编码过程加速了5倍。

配图1.png

两步运动估计流程大幅降低编码器计算量

基于块的运动估计,其基本思想是将图像序列的每一帧分成许多不重叠的块,并认为宏块内所有像素的位移量都相同,然后对每个宏块到参考帧某一给定搜索范围内根据一定的匹配准则找出与当前块最相似的块,即匹配块,匹配块与当前块的相对位移即为运动矢量。运动估计的目的在于消除视频信息在时间上的冗余,降低视频传输的比特数。

如上所述,由于低延迟直播场景在时间维度上的变化并不丰富,即存在大量冗余,因而不需要过于繁杂的搜索即可得到精准的运动估计匹配。金山云视频云团队利用这一特性设计了两步运动估计流程,即粗粒度估计和细粒度估计。在粗粒度估计过程中,基于上述块划分结果进行快速匹配,从而能够在初期过滤掉绝大部分的候选匹配块。在细粒度估计中,金山云视频云团队采用了多项独创的编码工具,从平移估计、运动分析、纹理分析这三个维度来进行组合决策,从而达到匹配块精选的目的。这种由粗到细的级联运动估计流程可以极大程度降低编码器的计算量,从实际测试结果看来,其在低延迟直播场景中的加速比能达到3倍以上。

配图2.png

得益于在音视频、AI、大数据等方面的技术能力,金山云低延迟直播技术大大提升了直播互动体验,目前已在电商、游戏、教育等场景中使用。随着5G、云计算、AI、VR等技术的发展,直播将迎来更大的想象空间,而金山云低延迟直播编码技术也将持续升级,为用户带来更高品质的低延迟直播体验。