AliIAC 智能音频编解码器:在有限带宽条件下带来更高质量的音频通话体验

简介: 借助数据驱动的方式提高音频的编码效率

随着信息技术的发展,人们对实时通信的需求不断增加,并逐渐成为工作生活中不可或缺的一部分。每年海量的音视频通话分钟数对互联网基础设施提出了巨大的挑战。尽管目前全球的互联网用户绝大多数均处于良好的网络状况,但仍有不少地区处于极差的网络条件下,除此之外,即使在网络良好区域,也仍会存在弱网现象。那么如何在有限的带宽下提供高质量的音频体验就成为了一个非常重要的研究方向。


在过去的几十年间,语音或音频的编码技术都涉及大量特定领域的知识,例如语音生成模型。近些年,随着深度学习类算法的快速发展,逐渐涌现出了多种基于神经网络的音频处理算法。阿里云视频云技术团队在综合分析了实际业务场景存在的共性问题的基础上,开始探索借助数据驱动的方式提高音频的编码效率,并提出了智能音频编解码器 AliIAC (Ali Intelligent Audio Codec),可以在有限的带宽条件下提供更高质量的音频通话体验。


什么是音频编解码器?

即使没有听说过音频编解码器这个概念,在日常生活中,也一定有使用到这项技术,从收看电视节目到使用移动手机打电话,从刷短视频到观看直播,都会涉及到音频编解码技术。


音频编码的目标是将输入音频信号压缩成比特流,其所占存储空间远小于输入的原始音频信号,然后在解码端通过接收到的比特流恢复出原始音频信号,同时希望重建的信号在主观听感上与原始信号尽可能相近,编码过程如下公式所示:

image.png

其中,image.png代表时域语音信号,长度为image.png,   image.png会进一步被转换为比特流image.pngimage.png远小于image.png,解码过程如下公式所示:

image.png

传统的音频编解码器可以分为两大类:波形编解码器和参数编解码器(waveform codecs and parametric codecs)


波形编解码器

波形编解码器的重点是在解码器端产生输入音频样本的重建。


在大多数情况下,波形编解码器较依赖于变换编码技术,可以将输入的时域波形映射到时频域。然后,通过量化技术对变换系数进行量化,最后经过熵编码模块将其转化成可用于传输的比特流。在解码器端,通过相应的反变换来重建时域波形。


一般情况下,波形编解码器对待编码的音频的类型(如:语音、音乐等)做很少或不做任何假设,所以可以处理的音频范围很广泛。在中高比特率时这种方法可以产生非常高质量的音频,但在低比特率下往往会引入一些由编码引起的 artifacts,导致听感变差。


参数编解码器

参数编解码器的核心思想是通过对待编码的音频(如:语音)进行特定假设,并通过参数模型的形式将先验知识融合进编码的过程中。


编码器首先会估计模型的参数,然后经过量化模型进行进一步压缩,解码器则使用量化后的参数来驱动合成模式进行时域波形的重建。与波形编解码器不同的是,参数编解码器的目标不是在逐个样本的基础上获得高相似度的波形重建,而是生成在感知上与原始音频相近的音频。


传统音频编解码器面临的挑战

得益于 WebRTC 生态的蓬勃发展,opus 音频编解码器在业界被广泛使用,它着重于处理广泛的交互式音频应用场景,包括 VOIP (Voice over Internet Protocol)、视频会议、游戏内聊天,甚至远程现场音乐表演。


它由两种不同的编解码器构成,一个是用于语音的 SILK,另一个是用于音乐的 CELT。尽管 opus 及其他传统音频编解码器(如:EVS、AMR-WB、speex、MELP 等)都拥有着优异的效果,但在有限带宽条件下、信噪比低条件下和混响混音严重条件下均表现出了不同程度的局限性,无法应对当前复杂多变的应用场景,带来流畅清晰的音频通话体验。


AliIAC 智能音频编解码器

考虑到传统音频编解码在高码率下的优异表现及业内的主流地位,阿里云视频云音频技术团队提出了两款智能音频编解码器,E2E 版本和 Ex 版本。


其中,E2E 版本,可直接替换 opus 等传统编解码器模块,支持在 6kbps ~ 18kbps 下工作,对 16khz 音频进行编解码;Ex 版本则可在沿用传统编解码器的基础上,通过后处理的方式对 6kbps~8kbps 解码后的 16khz 音频进行修复增强,提升可懂度和音质。


算法原理

1、E2E 版本:是基于端到端的 encoder-decoder 模型,同时考虑了实际应用场景中会遇到的语音频谱损伤、存在混响及残留噪声等问题,结合 GAN 网络的训练策略,进一步提升解码后的音频质量;为了方便部署与使用,采用残差量化模块,支持单一模型可变比特率,范围在 6kbps ~ 18kbps。


2、Ex 版本:是针对被传统编解码器如:Opus, 在 6kbps ~ 8kbps 条件下解码后的音频,进行频率域修复 / 增强的深度模型。对 0 ~4kHz 频域进行幅度谱的损失补偿,在 4~8kHz 频域进行频谱的预测补偿,修复 / 增强后的音频在主观听感上(可懂度和音质)有明显提升。


算法性能

A3F3A587-96B5-415B-AD5F-0053091F082B.png

算法效果

场景一:真实场景有损频谱+混响情况

原始音频音频

opus 6kbps 效果音频

opus+Ex 增强效果音频

E2E 6kbps 效果音频

E2E 18kbps 效果音频


不同方法的频谱图对比:

原始音频.png

从主观听感和频谱图均可看出,opus 6k Ex、E2E 6k、E2E 18k 版本较opus 6k版本在效果上均有明显提升,其中 opus 6k Ex 和 E2E 6k 在前半段频谱明显有损伤的情况下解码后有些许杂音残留,E2E 18k 版本则基本接近原始音频。


场景二:真实场景带噪情况

原始音频音频

opus 6kbps 效果音频

opus+Ex 增强效果音频

E2E 6kbps 效果音频

E2E 18kbps 效果音频


不同方法的频谱图对比:

1650786312399-1efb6eff-4319-4c06-931e-d2644e83980f.png

从主观听感和频谱图均可看出,opus 6k Ex、E2E 6k、E2E 18k 版本较 opus 6k 版本在效果上均有明显提升,且音色音调均与原始音频接近。


AliIAC智能音频编解码器将继续演进

AliIAC 作为阿里云视频云音频解决方案的一部分,旨在充分利用数据驱动的思想来提高音频的编码效率,使得可以在更低带宽代价的前提下获得更好的音频通话体验。


目前,AliIAC 还处于算力、码率与效果的平衡阶段,需要进一步去解决实时性与音频生成效果稳定性等问题,但在带宽受限条件下,AliIAC 相较传统音频编解码器已经表现出了优异的效果。其中,在大多数实际场景中,E2E 18kbps 的效果与 opus 24kbps 的效果持平,E2E 6kbps 的效果与 opus 12kbps 的效果持平,平均可以节省 25% ~ 50% 的带宽消耗;而 Ex 版本则可以在不额外消耗带宽资源的前提下,主观 MOS 分平均提升 0.2 ~0.4。在未来,阿里云视频云音频技术团队将继续探索基于深度学习 + 信号处理的音频技术,创造极致的音频体验。


「视频云技术」你最值得关注的音视频技术公众号,每周推送来自阿里云一线的实践技术文章,在这里与音视频领域一流工程师交流切磋。公众号后台回复【技术】可加入阿里云视频云产品技术交流群,和业内大咖一起探讨音视频技术,获取更多行业最新信息。

相关文章
|
存储 编解码 安全
Opus从入门到精通(二):编解码器使用
opus_encoder_get_size()返回编码器状态要求的大小。注意,这段代码的未来版本可能改变大小,所以没有assuptions应该对它做出。编码器状态在内存中总是连续,复制它只要一个浅拷贝就足够了。使用opus_encoder_ctl()接口可以改变一些编码器的参数设置。所有这些参数都已有缺省值,所以只在必要的情况下改变它们。
2161 0
|
2月前
|
人工智能 编解码 监控
《AV1解码生态全景图》,迄今最全面的AV1解码生态报告
截至2025年11月最完整详尽的 AV1 解码生态全景报告
|
7月前
|
机器学习/深度学习 人工智能 算法
通义OmniAudio大模型,让 AI 看懂 360° 视频,并“听”出对应的空间音频
OmniAudio 是一项突破性的空间音频生成技术,能够直接从 360° 视频生成 FOA(First-order Ambisonics)空间音频,为虚拟现实和沉浸式娱乐带来全新可能。通过自监督 coarse-to-fine 预训练和双分支视频表示微调,OmniAudio 在非空间音频质量和空间定位准确性上显著优于现有方法。项目包含超过 103,000 个视频片段的 Sphere360 数据集,支持高质量的模型训练与评估。代码、数据及论文均已开源,助力沉浸式体验技术发展。
898 63
|
Linux 网络安全 数据安全/隐私保护
以无头模式运行 Raspberry pi
无头模式下的Raspberry Pi无需连接显示器、键盘和鼠标,通过网络远程访问进行操作,适合服务器或自动化项目。配置简单,只需在SD卡中添加特定文件即可启用SSH和Wi-Fi。
|
算法 网络安全 数据安全/隐私保护
HTTPS的性能
【10月更文挑战第23天】HTTPS的性能
320 5
|
缓存 监控 Java
通用快照方案问题之Spring Boot Admin的定义如何解决
通用快照方案问题之Spring Boot Admin的定义如何解决
399 0
|
开发框架 前端开发 Android开发
【Flutter 前端技术开发专栏】Flutter 与原生模块通信机制
【4月更文挑战第30天】本文探讨了Flutter作为跨平台开发框架与原生Android和iOS交互的必要性,主要通过方法调用和事件传递实现。文中详细介绍了Flutter与Android/iOS的通信方式,数据传输(包括基本和复杂类型),性能优化,错误处理以及实际应用案例。理解并掌握这一通信机制对开发高质量移动应用至关重要,未来有望随着技术发展得到进一步优化。
435 0
【Flutter 前端技术开发专栏】Flutter 与原生模块通信机制
|
NoSQL JavaScript 前端开发
深入浅出:使用Node.js和MongoDB构建RESTful API
在当今的软件开发领域,构建高效、可扩展的Web服务已成为开发者的重要任务之一。本文将引导读者通过现代JavaScript环境——Node.js,搭配流行的NoSQL数据库MongoDB,一步步构建一个RESTful API。不同于常规的摘要,我们将采用故事化的方式,通过一个虚构的应用“BookFinder”的开发旅程,带领读者理解API设计、数据库交互及安全性考量等关键知识点。无论你是前端工程师希望深化后端知识,还是后端新手寻求实践机会,本文都将提供你所需的指南和启示。
276 1
|
SQL BI
SQL利用Case When Then多条件判断
CASE     WHEN 条件1 THEN 结果1     WHEN 条件2 THEN 结果2     WHEN 条件3 THEN 结果3     WHEN 条件4 THEN 结果4 .........     WHEN 条件N THEN 结果N     ELSE 结果X END Case具有两种格式。
8276 0
|
Linux 调度 虚拟化
深入剖析docker核心技术(namespace、cgroups、union fs、网络)(一)
深入剖析docker核心技术(namespace、cgroups、union fs、网络)(一)
828 0