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

2020-07-02 11:10:21 浏览数 (1)

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

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

0 人点赞