AliPLC 智能丢包补偿算法,提升弱网环境的通话质量

简介: 带来更流畅的通话体验

在线视频/语音通话逐渐成为人们日常生活的一部分,而复杂多变的网络环境会导致部分音频包无法传送到接收端,造成语音信号的短时中断或者卡顿,这会严重影响通话体验,为解决这类问题,阿里云视频云音频技术团队在综合考虑效果、性能开销、实时性等诸多因素后,研发了实时因果的智能丢包补偿算法 AliPLC (Ali Packet Loss Concealment),采用低复杂度的端到端的生成对抗网络来解决语音在传输过程中的丢包问题。


实时通信中,信号不好怎么办?

随着互联网技术的飞速发展,直播,在线教育,音视频会议,社交泛娱乐,互动游戏等新兴的交互方式正在改变着人们的生活。值得一提的是,它们的兴起都离不开实时通信技术 (Real Time Communication, RTC) 的发展。图 1 展现了 RTC 通信中音频链路的简要流程,主要包含:采集、前处理 (3A)、编码、传输、解码、丢包补偿、混音、播放等环节。

1.png

图 1. RTC 中的音频链路示意图


语音信号通过编码压缩技术,在网络上进行分帧传送。然而由于网络环境的影响会导致部分音频包无法传送到接收端,造成语音信号的短时中断或者卡顿,进而影响长时通话过程中的音质和可懂度。为解决以上问题,丢包补偿 (Packet Loss Concealment,PLC) 算法应运而生。PLC 算法可以通过利用所有已得到的信息对丢失的音频包进行恰当的补偿,使之不易被察觉,从而保证了接收侧音频的清晰度和流畅度,给用户带来更好的通话体验。


音频补偿算法业内研究现状

丢包是数据在网络中进行传输时会经常遇到的一种现象,也是引起 VOIP(Voice Over Internet Phone, VOIP) 通话中语音质量下降的主要原因之一。传统的 PLC 解决方案主要基于信号分析原理 [1-2],大致可以分为基于发送端补偿的方案和基于接收端补偿的方案。前者的基本原理是利用编码冗余信息来恢复丢包的内容。


然而,该方法需要占用额外带宽,且存在编解码器不兼容的问题。后者的基本原理是利用丢包前的解码参数信息来重构出丢失的语音信号。传统的 PLC 方法最大的优点是计算简单,可在线补偿;缺点是补偿的能力有限,只能有效对抗 40ms 左右的丢包。应对长时连续突发丢包时,传统算法会出现机械音,波形快速衰减等无法有效补偿的情况。因此,上述传统的 PLC 方法的处理能力满足不了现网业务的需求。


近年来,硬件和算法都有了显著的进步,越来越多深度学习的方法被应用到语音信号处理领域。当然,PLC 算法也不例外。现有的深度 PLC 方法都是在接收端利用深度学习的模型生成丢失的音频包,大致可以分为两个通用的工作框架:


第一个是实时因果处理框架,只使用历史的未丢失帧进行后处理。在进行实时处理时,按迭代方法的不同大致可以分为基于循环神经网络的自回归方法 [3-4] 和基于生成对抗网络的并行方法 [5-6] 两种,但往往涉及较大的参数量和计算量。


第二个是离线非因果处理框架,除了使用历史未丢失帧之外,还有可能使用了包括未来帧的更广泛的上下文信息 [7-8]。离线处理方法通常关注的是如何填充语音信号中的空白,而且通常不考虑计算复杂度,难以在实际应用场景中部署。


智能丢包补偿算法:AliPLC

1. 算法原理

在综合考虑业务使用场景,补偿效果、性能开销、实时性等诸多因素后,阿里云视频云音频技术团队研发了实时因果的智能丢包补偿算法:AliPLC(Ali Packet Loss Concealment),采用低复杂度的端到端的生成对抗网络来解决语音在传输过程中的丢包问题。该算法具有以下优点:

  • 算法没有任何延时;
  • 可以实时流式处理;
  • 可以生成高质量的语音;
  • 不用单独进行平滑操作就能保证丢包前后音频的平滑和连贯性。


2. 算法性能

AliPLC 算法的参数量为 590k, 在主频为 2GHz 的 Intel Core i5 四核机器上补偿一帧 20ms 的音频数据所需时间为 1.5ms, 在推演的过程中不产生任何延时。


3. 应用场景

表哥.png


4. 效果展示

下面分别对中文男女生测试语料的丢包补偿前后效果进行展示。主观听感上,补偿之后的语音卡顿减少,流畅度和清晰度都有明显的提升。


中文男声固定连续丢包60ms:

丢包音频音频

Webrtc neteq plc 补出音频

opus plc 补出音频音频

AliPLC 补出音频音频


不同方法的波形图对比:

2.png

从图中可以明显的看出,在固定丢包 60ms 时,经过 AliPLC 算法处理后的音频的连贯性更好,也不存在衰减等无法补偿的情况。


中文女声固定连续丢包120ms:

丢包音频音频

WebRTC neteq plc 补出音频

opus plc 补出音频音频

AliPLC 补出音频音频

3.png

从图中可以明显的看出,在固定丢包 120ms 时,AliPLC 算法的补偿效果较其他算法好一些;neteq_plc 算法通过简单的基因周期的重复和衰减完成丢包补偿,在长时丢包发生时,听起来有很重的机械音,而且会影响未丢包部分的波形;opus_plc 算法的补偿能力有限,只能有效补偿 40ms 左右,多于 40ms 的丢包会被衰减为静音。


AliPLC 客观指标评测

我们采用 POLQA 和 STOI 两种客观指标对不同 PLC 算法的补偿效果进行了测评,在不同丢包率下它们的分数如下图所示。其中横坐标表示丢包率,纵坐标表示分数。POLQA 分数的取值范围为 0-4.5,STOI 分数的取值范围为 0-1,两种客观指标的分数越高,说明补偿后语音信号的质量越好,可懂度越高。

4.png

从图中可以明显的看出 AliPLC 算法在 POLQA 和 STOI 两种客观指标上都优于其他 PLC 算法。AliPLC 算法与 neteq_plc 算法相比:POLQA 平均提升 0.54 分 ,STOI 平均提升 21.7%;AliPLC 算法与 opus_plc 算法相比:POLQA 平均提升 0.45 分 ,STOI 平均提升 3.4%; AliPLC 算法在丢包 30% 时的指标比 neteq_plc 算法在丢包 20% 时的指标还要好一些,即 AliPLC 算法可以使接受侧多抗 10%-20% 的丢包。


AliPLC 补偿算法的后续创新

AliPLC 作为阿里云视频云音频技术团队音频解决方案的一部分,充分利用深度学习中 GAN 网络能够有效地生成高质量的音频这一能力,在方法上进行创新,用较低的计算复杂度,提供连续丢包补偿的能力,提升用户在弱网环境下的通话体验。在未来,阿里云视频云音频技术团队将继续探索基于深度学习 + 信号处理的的音频技术,为更广泛的用户创造极致的音频体验。



参考文献

[1] S. M. Kay and S. L. Marple, “Spectrum analysis A modern perspective,” Proceedings of the IEEE, vol. 69, no. 11, pp. 1380–1419, 1981.

[2] C. A. Rodbro, M. N. Murthi, S. V. Andersen, and S. H. Jensen, “Hidden Markov model-based packet loss concealment for voice over IP,” IEEE Transactions on Audio, Speech, and Language Processing, vol. 14, no. 5, pp. 1609–1623, 2006.

[3] M. M. Mohamed and B. W. Schuller, “ConcealNet: An End- to-end Neural Network for Packet Loss Concealment in Deep Speech Emotion Recognition,” arXiv:2005.07777 [cs, eess], May 2020, arXiv: 2005.07777.

[4] F. Stimberg et al., "WaveNetEQ — Packet Loss Concealment with WaveRNN," 2020 54th Asilomar Conference on Signals, Systems, and Computers, 2020, pp. 672-676.

[5] S. Pascual, J. Serra`, and J. Pons, “Adversarial Auto-Encoding for Packet Loss Concealment,” arXiv:2107.03100 [cs, eess], Jul. 2021, arXiv: 2107.03100.
[6] J. Wang, Y. Guan, C. Zheng, R. Peng, and X. Li, “A temporal-spectral generative adversarial network based end-to-end packet loss concealment for wideband speech transmission,” The Journal of the Acoustical Society of America, vol. 150, no. 4, pp. 2577–2588, Oct. 2021.
[7] O. Ronneberger, P. Fischer, and T. Brox, “U-Net: Convolutional Networks for Biomedical Image Segmentation,” arXiv:1505.04597 [cs], May 2015, arXiv: 1505.04597 version: 1.
[8] A. Marafioti, N. Perraudin, N. Holighaus, and P. Majdak, “A context encoder for audio inpainting,” IEEE/ACM Transactions on Audio, Speech, and Language Processing, vol. 27, no. 12, pp. 2362–2372, 2019.


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

相关文章
|
4月前
|
机器学习/深度学习 算法 调度
14种智能算法优化BP神经网络(14种方法)实现数据预测分类研究(Matlab代码实现)
14种智能算法优化BP神经网络(14种方法)实现数据预测分类研究(Matlab代码实现)
418 0
|
8月前
|
机器学习/深度学习 数据采集 算法
智能限速算法:基于强化学习的动态请求间隔控制
本文分享了通过强化学习解决抖音爬虫限速问题的技术实践。针对固定速率请求易被封禁的问题,引入基于DQN的动态请求间隔控制算法,智能调整请求间隔以平衡效率与稳定性。文中详细描述了真实经历、问题分析、技术突破及代码实现,包括代理配置、状态设计与奖励机制,并反思成长,提出未来优化方向。此方法具通用性,适用于多种动态节奏控制场景。
296 6
智能限速算法:基于强化学习的动态请求间隔控制
|
4月前
|
算法 安全 定位技术
【创新未发表】【无人机路径巡检】三维地图路径规划无人机路径巡检GWO孙发、IGWO、GA、PSO、NRBO五种智能算法对比版灰狼算法遗传研究(Matlab代码实现)
【创新未发表】【无人机路径巡检】三维地图路径规划无人机路径巡检GWO孙发、IGWO、GA、PSO、NRBO五种智能算法对比版灰狼算法遗传研究(Matlab代码实现)
321 40
|
9月前
|
人工智能 自然语言处理 算法
阿里云 AI 搜索开放平台:从算法到业务——AI 搜索驱动企业智能化升级
本文介绍了阿里云 AI 搜索开放平台的技术的特点及其在各行业的应用。
915 3
|
4月前
|
传感器 机器学习/深度学习 监控
【路径规划】一种越野环境下车辆驾驶风险规避运动规划算法(Matlab代码实现)
【路径规划】一种越野环境下车辆驾驶风险规避运动规划算法(Matlab代码实现)
115 1
|
6月前
|
机器学习/深度学习 存储 算法
强化学习算法基准测试:6种算法在多智能体环境中的表现实测
本文系统研究了多智能体强化学习的算法性能与评估框架,选用井字棋和连珠四子作为基准环境,对比分析Q-learning、蒙特卡洛、Sarsa等表格方法在对抗场景中的表现。实验表明,表格方法在小规模状态空间(如井字棋)中可有效学习策略,但在大规模状态空间(如连珠四子)中因泛化能力不足而失效,揭示了向函数逼近技术演进的必要性。研究构建了标准化评估流程,明确了不同算法的适用边界,为理解强化学习的可扩展性问题提供了实证支持与理论参考。
333 0
强化学习算法基准测试:6种算法在多智能体环境中的表现实测
|
8月前
|
传感器 人工智能 算法
企业内训|智能调控系统算法与优化——某汽车厂商
5月9日,东北某市,TsingtaoAI团队为某汽车厂商的智能驾驶业务和研发团队交付“智能调控系统算法与优化”课程。 本课程系统化解析智能调控系统的核心算法原理与前沿优化技术,深度融合经典控制、现代控制及模型预测控制(MPC)三大理论体系,聚焦自动驾驶与工业自动化场景的实践需求。课程从硬件层(传感器、异构计算芯片、执行器)到软件层(闭环反馈、实时优化)逐层拆解系统架构,结合车辆横纵向控制等实际案例,详解PID参数整定、LQR最优控制、MPC多目标优化等关键技术。
208 16
|
9月前
|
人工智能 自然语言处理 算法
通义灵码 CCF 算法大会首秀,解码研发智能落地「黄金三角」| 文末领取PPT
通义灵码在首届中国计算机学会(CCF)算法大会现场亮相,与领域学者、企业专家、学生开发者共话大模型与 AI 辅助编程对算法创新和开发效率带来的改变。现场交流讨论氛围热烈,广大开发者对通义灵码表现出高度关注和实践热情。
|
12月前
|
存储 监控 算法
剖析基于Java算法驱动的智能局域网管控之道
本文探讨了基于Java语言的局域网控制方案,结合链表数据结构与令牌桶算法,解决设备管理和流量调度难题。通过链表灵活存储网络设备信息,实现高效设备管理;令牌桶算法则精准控制流量,确保网络平稳运行。二者相辅相成,为校园、企业等局域网提供稳固高效的控制体系,保障业务连续性和数据安全。