首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >腾讯天籁:基于上下文的语音丢包补偿算法

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

作者头像
腾讯多媒体实验室
发布2020-07-02 11:10:21
3.6K0
发布2020-07-02 11:10:21
举报

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

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年加入腾讯,负责新一代语音算法引擎研究。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-07-01,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 腾讯音视频实验室 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
腾讯会议
腾讯会议(Tencent Meeting)为企业打造专属的会议能力,卓越的音视频性能,丰富的会议协作能力,坚实的会议安全保障,提升协作效率,满足大中小会议全场景需求。您可以使用腾讯会议进行远程音视频会议、在线协作、会管会控、会议录制、指定邀请、布局管理、同声传译等。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档