专栏首页腾讯音视频实验室腾讯天籁:基于上下文的语音丢包补偿算法

腾讯天籁:基于上下文的语音丢包补偿算法

导读 | 腾讯天籁,“天籁之音,沟通无界”,作为腾讯多媒体实验室提供的端到端实时音频解决方案,专注于持续提升人们的沟通体验,给用户提供高音质,低延时,强抗性的音频通信服务。

VoIP通话中,由于网络传输等问题,部分数据包无法被接收端接收;数据包的丢失,会造成语音的短时中断或者卡顿,进而影响长时通话过程中的音质和可懂度。

数据丢包概念图

    上述质量问题,最常用的解决方案是前向纠错(FEC, Feedforward Error Correction):在当前包加入前一个包的冗余信息并进行传输;一旦包丢失,可以通过临近包包含的冗余信息,恢复出丢失包内容。然而,编码冗余信息需要占用额外带宽,且存在编码器兼容问题。

与FEC对应地,另一种技术是丢包补偿(PLC, Packet Loss Concealment)。这项技术部署在解码端,根据已经恢复的语音帧,预测丢失帧。这项技术无需额外带宽,兼容性好。

    经典PLC方案,基于信号分析,通过正常接收包的参数,复制或者调整,预测丢包帧的波形。这种方法简单,但处理能力比较弱,只能处理好一帧数据(比如20ms)。然而,现网中的丢包事件经常会包含40至100ms以上的丢包(即突发丢包事件);因此,上述方法处理能力是满足不了现网业务的需求。

    随着深度学习的发展,工业界和学术界均在偿试引入深度学习,解决连续丢包补偿的问题。这些方案,包括基于谱回归或者生成模型等方式,预测出相关的频谱或者信号。一般地,上述方案可以最多补偿120ms连续丢包数据。然而,上述方案模型大、复杂度高;如果在中低端手机上进行部署,CPU占比高,容易引起其它问题。

    有鉴于此,腾讯多媒体实验室自研基于上下文分析的丢包补偿方案(cPLC, context-based PacketLoss Concealment),并在腾讯会议中获得应用。cPLC与其它基于深度学习方案的最大不同之处在于,充分语音信号高度结构化的特征进行建模。一般地,基于谱回归或者生成模型的方法,本质上是通过网络,逐点地预测频谱或者时域信号。比如,在16kHz采样率,一个20ms帧的数据等效于320个样本点;因此,网络的输出参数的参考量为320。再加上多层网络结构,整个网络内部的节点数非常大,这是造成上述方法大模型、高复杂度状况的根因,功耗挑战非常大。

    cPLC加大了信号处理在算法建模过程中的权重,特别地,对于语音这样一种高度结构化的信号类型,每一个音从开始、到音的延续、再到结束,在时间轴上存在稳定的上下文关系。cPLC基于上下文建模,基于历史包语音数据,预测出丢失包对应的上下文特征向量;最后,利用历史信息,预测出丢失包的语音数据。一般地,每一帧对应的上下文语音特征向量维度是远小于样本点的;因此,网络结构被大幅度简化,复杂度变得很低。举个例子,一般基于谱回归或者生成模型的方法,网络模型大小可能几MB甚至10MB以上;与之对应地,cPLC所使用的网络模型仅为600KB甚至更低。经过测试,即使在中低端手机上,使用cPLC这种基于深度学习方法进行波形重建的算法,CPU增量可以忽略不计;因此,cPLC可以满足腾讯会议这类实时音视频业务对延时和复杂度的高要求。此外,基于谱回归的方法,在模式匹配失效时,存在频谱被置零、“削语音”的情况;cPLC采用特征建模,上下文关系平稳性确保了波形生成过程的稳定性。

    在实际应用中,cPLC可作为解码器的后处理模块进行集成。如果当前包丢失时,立即激活cPLC功能,补偿一个包的数据。如果下一帧仍然未收到,会继续调用cPLC进行丢包补偿;否则,就中止cPLC调用进程。经过测试,cPLC可以有效地支持连续丢包120ms的典型场景,满足突发丢包场景的质量保障的诉求。

不同丢包补偿方法的效果

    目前开源社区使用较多的编码器是OPUS,其自带的PLC技术基于经典信号处理,可以有效补偿约20ms数据。如上图所示,可以明显看出,cPLC可以补偿更多的语音数据;理论上可以获得更好的质量体验。

不同丢包补偿方法的效果

    为了客观评估cPLC技术对质量提升的有效性,我们使用业界公知的ITU-T P.863标准进行客观评估(MOS分最高为4.75,表示质量最好;MOS分最低为1,表示质量最差)。同时,我们使用第三方网络损伤仪,模拟了不同丢包条件。

测试结果通过离散丢包和突发丢包两种方式进行描述。其中,突发丢包下,损伤仪除了指定丢包率外,还设置了连续丢包的长度;比如:10%PLR+100ms表示在10%丢包率下,每次连续丢包100ms。因此,突发丢包条件将更为苛刻。此外,我们关闭了FEC等其它抗性保障措施,以求测试结果能够反映出对比方法的单独抗丢包能力。

    观察P.863MOS分数,我们发现,在所有测试条件下,cPLC在质量上均优于OPUS-PLC技术。特别地,在突发丢包场景下,cPLC的优势更为明显。整体上,cPLC能够在10%丢包率下保持MOS分在3.0左右。因此,从业务需求看,在保持当前抗性手段不变的情况下,通过cPLC的额外提供的10-15%丢包率抗性,语音通话在弱网环境或者突发丢包场景下的质量保障将更为可靠。

大丢包场景下的测试结果

    此外,我们基于腾讯会议客户端,也测试了大丢包场景下,cPLC对质量提升的收益。横向比较,在使用相同带外FEC等抗性手段基础上,相较于OPUS-PLC技术,cPLC可以获得额外的质量收益。

    最后,我们通过序列对比进行主观质量体验,展示cPLC的丢包补偿能力。

第一条序列展示cPLC处理前后的效果。该序列包含两个部分,前一部分是数据包丢失的效果,后一部分是cPLC补偿效果。每一部分的丢包位置均发生了连续120ms丢包。主观体验看,丢包的情况,经过cPLC处理后大大缓解。

中文女声

    第二条和第三条序列,是对比OPUS-PLC和cPLC在长序列(更接近真实场景)中的丢包补偿效果(两条序列包含若干连续丢包100-120ms的事件、且丢包位置一致)。主观体验看,cPLC处理的序列长时连贯性更好。

长序列丢包补偿的效果(OPUS-PLC)

长序列丢包补偿的效果(cPLC)

作为腾讯天籁音频解决方案的一部分,cPLC,充分融合了经典信号处理和深度学习,在方法上进行创新,通过语音结构化进行上下文建模,用极简的算法复杂度,提供连续丢包补偿的能力,提升用户在弱网环境下的通话体验。腾讯多媒体实验室也将持续打造业界领先的音视频处理技术,继续为我们的客户带来更为卓越的音视频体验。

  讲师简介

肖玮

腾讯多媒体实验室专家研究员

肖玮,腾讯多媒体实验室专家研究员,15年音频技术研究经验。曾参与ITU-T、3GPP、MPEG、AVS等多个标准组织的工作,包括音频压缩、感知质量评估等方向。贡献50+篇专利(部分已授权)和50+篇标准提案;相关技术曾被多个标准和产品采纳。主要研究方向包括:语音通信、语音增强、心理听觉建模、语音质量评估等。2018年加入腾讯,负责新一代语音算法引擎研究。

本文分享自微信公众号 - 腾讯音视频实验室(TencentAVLab),作者:肖玮

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2020-07-01

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 现场报道 | SIGGRAPH Asia 2017 (DAY 1):AI让空间更智能

    SIGGRAPH(Special Interest Group for Computer GRAPHICS)是计算机图形和交互方向的一个顶会,由于参加人数众多,...

    腾讯音视频实验室
  • 云视频会议背后的语音核心技术揭秘:如何进行语音质量评估?

    导读 | 自疫情发生以来,腾讯会议每天都在进行资源扩容,日均扩容主机接近1.5万台,用户活跃度攀升。在如此高并发流量的冲击下,腾讯会议如何保证语音通信清晰流畅...

    腾讯音视频实验室
  • 智能云剪辑---国庆阅兵视频背后的高科技

    今天,北京天安门城楼前庆祝新中国成立70周年的盛大阅兵活动如期隆重举行。让我们再来领略一下阅兵中的精彩片段: ? ? ? ‍守候在电视机或者电脑前观看阅兵直...

    腾讯音视频实验室
  • 命名空间介绍之八:挂载命名空间和共享子树

    挂载命名空间是创建每-用户和每-容器文件系统树的强大而灵活的工具。本文中,我们将仔细研究共享子树特性,它可通过自动、可控的方式在挂载命名空间之间传播挂载和卸载事...

    谛听
  • 挂载信号知识

    简单点说,Shared subtrees就是一种控制子挂载点能否在其他地方被看到的技术,它只会在bind mount和mount namespace中用到,属于...

    domain0
  • 极简 GoogleDrive、OneDrive 目录列表程序 - ShareList

    访问 http://localhost:33001 WebDAV 目录 http://localhost:33001/webdav

    Erwin
  • Linux 新建扩展分区

    此时已经看见扩展分区创建完成,在扩展分区下面新建2个分区 因为现在扩展分区是20G 所以下面的2个分区都给10G

    試毅-思伟
  • 【从零学习OpenCV 4】方框滤波

    方框滤波是均值滤波的一般形式,在均值滤波中,将滤波器中所有的像素值求和后的平均值作为滤波后结果,方框滤波也是求滤波器内所有像素值的之和,但是方框滤波可以选择不进...

    小白学视觉
  • The Negotiator

    主人公:丹尼罗曼。一人与SWAT甚至FBI周旋,最终在克利斯·萨宾的帮助下证明了自己的清白。

    libo1106
  • 将磁盘误挂载到根分区下的问题处理记录

    需求说明: 因云线上服务器的根目录/空间不足,所以想购买一块磁盘挂载到服务器的/data下,将根分区下占用空间的打目录软链接到/data下。 但是在成功输入mo...

    洗尽了浮华

扫码关注云+社区

领取腾讯云代金券