详解SoundStream:一款端到端的神经音频编解码器( 二 )


在SoundStream中 , 我们提出了一种新的残差向量量化器(RVQ)来解决这个问题 。 该量化器由多个层组成(在我们的实验中多达80个) 。 第一层以中等分辨率量化码向量(codevector) , 接下来的每一层都处理前一层的残差 。
将量化过程分成几层可以大大减少码本大小 。 例如 , 3kbps时每秒100个向量 , 使用5个量化层 , 码本大小从10亿减少到了320 。 此外 , 我们可以添加或移除量化层来轻松增加或减少比特率 。
由于传输音频时网络条件可能会发生变化 , 理想情况下 , 编解码器应该是“可伸缩的” , 这样它可以根据网络状态改变其比特率 。 虽然大多数传统编解码器都是可伸缩的 , 但以前的可学习编解码器需要专门针对每种目标比特率进行训练和部署 。
为了规避这个限制 , 我们利用了SoundStream中量化层数控制比特率的机制 , 提出了一种称为“量化器丢弃”的新方法 。
在训练期间 , 我们随机删除一些量化层来模拟不同的比特率 。 这会让解码器针对任何比特率的传入音频流都学到良好的表现 , 从而帮助SoundStream变得“可伸缩” , 让单个训练模型可以运行在任何比特率下 , 表现还能与专门针对这些比特率训练的模型一样好 。
详解SoundStream:一款端到端的神经音频编解码器
文章图片
SoundStream模型的对比(越高越好):在18kbps下训练 , 有量化器丢弃(Bitratescalable);没有量化器丢弃(Nobitratescalable)并使用可变数量的量化器评估;或以固定比特率进行训练和评估(Bitratespecific) 。 加入量化器丢弃后 , 与针对特定比特率的模型(每个比特率专门训练一个模型)相比 , 比特率可伸缩模型(所有比特率使用一个模型)不会损失任何质量 。
3
最先进的音频编解码器
详解SoundStream:一款端到端的神经音频编解码器】SoundStream在3kbps下的质量就优于12kbps的Opus , 接近9.6kbps的EVS质量 , 同时使用的数据量减少到了3.2到4分之一 。 这意味着使用SoundStream编码音频可以使用低得多的带宽提供类似的质量 。
此外 , 在相同的比特率下 , SoundStream的性能优于基于自回归网络的Lyra当前版本 。 与已经针对生产用途进行部署和优化的Lyra不同 , SoundStream仍处于试验阶段 。 未来 , Lyra将整合SoundStream的组件 , 以提供更高的音频质量并降低复杂性 。
详解SoundStream:一款端到端的神经音频编解码器
文章图片
3kbps的SoundStream与最先进的编解码器的质量对比 。 MUSHRA分数是主观质量的指标(越高越好) 。
这些音频示例展示了SoundStream与Opus、EVS和原始Lyra编解码器的性能对比 。
4
联合音频压缩和增强过程
在传统的音频处理管道中 , 压缩和增强(去除背景噪声)通常由不同的模块执行 。 例如 , 音频增强算法可以应用在发送端(在压缩音频之前) , 或接收端(在音频解码之后) 。 在这样的设置中 , 每个处理步骤都会带来端到端的延迟 。
相反 , SoundStream的设计是压缩和增强可以由同一模型联合执行 , 而不会增加整体延迟 。 在以下示例中 , 我们展示了通过动态激活和停用去噪(5秒不去噪、5秒去噪、5秒不去噪 , 以此类推)来融合压缩与背景噪声抑制过程 。 (示例见原文
5
结论
在需要传输音频的场景 , 无论是在流式传输视频时还是在电话会议期间 , 都需要高效的压缩过程 。 SoundStream是改进机器学习驱动的音频编解码器的重要一步 。
它的表现优于之前最先进的编解码器 , 如Opus和EVS;它可以按需增强音频 , 并且只需部署一个(而非多个)可伸缩的模型即可处理多种比特率 。