MLow:Meta 的低比特率音频编解码器

  • 在 Meta,我们通过 WhatsApp、Instagram 和 Messenger 等应用程序为数十亿人提供实时通信 (RTC) 支持。
  • 我们正在努力为每个人提供高质量的体验,让他们都能使用 RTC,即使是那些可能没有最快连接或最新手机的人。
  • 多年来,越来越多的人依赖我们的产品拨打电话,因此我们一直在研究新的方法,以确保所有通话都具有稳定的音频质量。
  • 我们开发了 Meta Low Bitrate (MLow) 编解码器:这是一种新工具,可以提高音频质量,尤其是对于那些使用低速连接的用户。

RTC 产品使用许多组件来提供完整的体验,其中一个关键组件是音频/视频编解码器。这些编解码器有助于压缩采集的音频/视频数据,使其能高效地通过互联网发送给接收方,保持实时体验。例如,典型通话采集的原始音频大小为 768 kbps(单声道,采样频率 48kHz,位深度 16),现代编解码器能够将其压缩到 25-30 kbps。通常,这种压缩是以一定的质量(信息损失)为代价的,但好的编解码器可以通过利用对音频信号性质的深入了解以及心理声学,在质量、比特率和复杂性三者之间取得平衡。

MLow:Meta 的低比特率音频编解码器
图 1:增加复杂性或比特率通常能提高质量,但好的编解码器能在平衡其他两者的同时实现更高的质量。

构建一个优秀的编解码器是一项相当具有挑战性的工作,这也是我们很少看到新编解码器出现的原因。上一个广为人知的优秀开源编解码器是 2012 年发布的 Opus,它已成为互联网上各种应用的首选编解码器。Meta 已将 Opus 用于满足其所有 RTC 需求,迄今为止,它为我们提供了良好的服务,帮助向全球数十亿用户提供高质量的通话。

我们构建新编解码器的动机

鉴于 Meta 产品中 RTC 的大规模使用,我们可以看到编解码器在各种网络场景中的表现,以及它对最终用户体验的影响。特别是,我们观察到有相当一部分通话在整个通话过程或部分通话过程中网络连接状况不佳。通常情况下,带宽估计模块(BWE)会检测网络质量,当网络质量下降时,我们需要降低编解码器的工作比特率,以避免网络拥塞并保持音频流畅,这就影响了上述的三方平衡。更复杂的是,在网络质量不佳的情况下进行视频通话,几乎没有音频空间,从而进一步降低了音频比特率。Opus 的最低工作频率为 6 kbps,在窄带模式(0 – 4kHz)下运行,无法充分捕捉人声产生的所有声音频率,因此听起来不够清晰自然。

在过去的两年里,我们看到了一些基于机器学习(ML)的新型音频编解码器的发展,它们能以极低的比特率提供高质量的音频。2022 年 10 月,Meta 发布了 Encodec,它能以极低的比特率实现令人惊叹的清晰音频质量。虽然这些基于人工智能/ML 的编解码器能以较低的比特率获得极佳的音质,但这往往是以高昂的计算成本为代价的。因此,只有非常高端(昂贵)的手机才能可靠地运行这些编解码器,而在低端设备上运行的用户在低比特率条件下仍然会遇到音频质量问题。因此,这些计算成本较高的新型编解码器的净影响实际上仅限于一小部分用户。

我们仍有大量用户使用低端设备。例如,我们 20% 以上的通话是在 ARMv7 设备上进行的,WhatsApp 上每天数以千万计的通话是在 10 年以上的设备上进行的。鉴于编解码器有多种选择,而且我们致力于确保所有用户(无论他们使用何种设备)都能获得高质量的通话体验,因此我们显然需要一种对计算要求极低的编解码器,它在这些最低比特率下仍能提供高质量的音频。

MLow 编解码器

2021 年末,我们在新编解码器的开发上取得了突破性进展。经过近两年的积极开发和测试,我们自豪地宣布推出 Meta Low Bitrate 音频编解码器(又名 MLow),其质量是 Opus 的两倍(POLQA MOS 1.89 vs 3.9 @ 6kbps WB)。更重要的是,我们在实现如此高音质的同时,还将 MLow 的计算复杂度保持在比 Opus 低 10% 的水平。

下面的图 2 显示了一个 1-5 级的 MOS(平均意见分)图,并比较了 Opus 和 MLow 在不同比特率下的 POLQA 分数。如图所示,在最低比特率下,MLow 比 Opus 有巨大优势,因为在最低比特率下,MLow 比 Opus 更快达到质量饱和。

MLow:Meta 的低比特率音频编解码器
图 2:在一个大型文件数据集中,Opus(WB)与 MLow 在不同比特率下的 POLQA 分数比较。

我们已经在所有 Instagram 和 Messenger 通话中全面推出了 MLow,并正在 WhatsApp 上积极推广。

能够以较低的比特率对高质量音频进行编码,还能实现更有效的前向纠错(FEC)策略。与 Opus 相比,有了 MLow,我们就能以更低的比特率打包 FEC,这大大有助于改善丢包情况下的音频质量。

在码率为 14 kbps,接收端丢包率高达 30% 情况下,Opus 无法编码任何带内 FEC。在 10% 的数据包丢失率下,它至少需要 19 kbps 才能编码任何带内 FEC,这会影响音频恢复。

MLow 内部结构

MLow 基于经典 CELP(编码激励线性预测)编解码器的概念,在激励生成、参数量化和编码方案方面取得了进步。图 3 是编解码器内部工作原理的高级视觉图。左边是输入信号(原始 PCM 音频)进入编码器,然后编码器将信号分成低频和高频两个频段。然后,每个频段分别进行编码,同时利用共享信息实现更好的压缩效果。所有输出信号都会通过范围编码器进一步压缩并生成编码有效载荷。解码器在得到有效载荷后,会进行完全相反的处理,以生成输出音频信号。

MLow:Meta 的低比特率音频编解码器
图 3:高级 MLow 编码器和解码器架构。

通过这些分频优化,我们能够使用极少的比特对高频段进行编码,从而使 MLow 能够使用更低的比特率提供超宽带(32kHz 采样)。

下一步是什么?

MLow大大提高了低端设备的音频质量,同时还能确保通话是端到端加密的。我们对过去两年所取得的成就感到非常兴奋–从开发新的编解码器到成功地向全球数十亿用户交付。我们将继续努力,通过提供更多冗余音频来改善严重丢包网络中的音频恢复,而 MLow 可以让我们高效地做到这一点。我们将继续努力,让所有用户都能更轻松地进行高质量的音频通话。

作者:Jatin Kumar、Bikash Agarwalla、Sriram Srinivasan、King Wei Hor、Tim Wong
链接:https://engineering.fb.com/2024/06/13/web/mlow-metas-low-bitrate-audio-codec/

本文来自作者投稿,版权归原作者所有。如需转载,请注明出处:https://www.nxrte.com/jishu/49566.html

(0)

相关推荐

发表回复

登录后才能评论