CN105741843B - 一种基于延时抖动的丢包补偿方法及系统 - Google Patents

一种基于延时抖动的丢包补偿方法及系统 Download PDF

Info

Publication number
CN105741843B
CN105741843B CN201410756736.1A CN201410756736A CN105741843B CN 105741843 B CN105741843 B CN 105741843B CN 201410756736 A CN201410756736 A CN 201410756736A CN 105741843 B CN105741843 B CN 105741843B
Authority
CN
China
Prior art keywords
frame
frame losing
voice data
losing
caching
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201410756736.1A
Other languages
English (en)
Other versions
CN105741843A (zh
Inventor
许云峰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Chenxin Technology Co ltd
Qingdao Weixuan Technology Co ltd
Original Assignee
Chen Core Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Chen Core Technology Co Ltd filed Critical Chen Core Technology Co Ltd
Priority to CN201410756736.1A priority Critical patent/CN105741843B/zh
Publication of CN105741843A publication Critical patent/CN105741843A/zh
Application granted granted Critical
Publication of CN105741843B publication Critical patent/CN105741843B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

本发明涉及数据通讯领域,公开了一种基于延时抖动的丢包补偿方法及系统。与现有技术相比,本发明的实施方式先判断接收的语音数据是否存在丢帧,并在丢帧时发出丢帧指示;紧接着,根据丢帧指示在丢帧前缓存的语音数据中填充N帧冗余帧,使得缓存延时增加,从而获取丢帧后缓存的语音数据;然后,根据丢帧前缓存的语音数据及丢帧后缓存的语音数据进行丢帧补偿,使得补偿还原的语音更加精确;最后,接收端丢弃缓存中的N帧非语音帧,从而减去缓存中增加的延时,达到延时恢复的效果,其中,N为自然数。

Description

一种基于延时抖动的丢包补偿方法及系统
技术领域
本发明涉及数据通讯领域,特别涉及一种基于延时抖动的丢包补偿方法及系统。
背景技术
丢包补偿(Packet Loss Concealment,“PLC”)算法,也称为帧差错隐藏(FrameErasure Concealment,“FEC”)算法。在语音通信中由于网络质量的问题可能会导致语音数据丢失,出现大块的语音流数据消失。这个时候会导致语音戛然而止的听觉效应,造成语音的不连续。如果这个时候能估计出丢失的语音数据来补偿这些丢失的数据的话,那么就能消除由于语音丢失带来的语音质量损失。这也是PLC的基本功能,即估计丢失的语音信号,并填充语音流的缺失部分。
丢包补偿主要用于在编码打包,然后通过网络传输,在接收端解码的音频系统,如果在该过程中存在丢包现象,则进行丢包补偿。很多基于标准的码本激励线性预测(CodeExited Linear Prediction,“CELP”)的语音编解码器,都有丢包补偿功能。如:G.729,自适应速率编解码器(Adaptive Multi-Rate,“AMR”),efr等。
但对于一些非CELP编码的编解码器是不存在丢包补偿算法的,如:G.711、G.722等。所以这些编解码器需要使用丢包补偿算法。
那么如何估计丢失的语音部分?这得益于语音具有一个短时平稳性,可以根据其邻近的信号进行估计出来。
根据CELP的观点,语音的产生有两部分:声道和激励源。
可以抽象为语音算法模型:
语音的激励信号有两种:一种是周期激励信号源,另外一种是随机激励(白噪声)。这两者信号组成了信源激励e(n)。
声道主要通过极点模型来建模,通过线性预测来提取声道参数。
由激励信号通过合成滤波器最终产生语音信号。
通过这个基本的发声模型和语音的短时平稳特性就可以预测丢失的语音信号部分。
这里需要估计出两个部分:一、线性预测系数(Linear predictioncoefficient);二、激励信号。这些都可以通过邻近的信号进行估计。
现有的PLC算法中大部分都是采用外推法(Extrapolation),采用这种方法的好处是不会引入延时,但由于只能从丢帧之前的语音数据获得信息十分有限,很难获得未来的趋势变化,如:基音,幅度等。所以外推法能预测的帧数是非常少的,一旦预测帧数变多,会导致估计不准确影响语音质量。
但也有采用内插法(Interpolation)差错隐藏算法,该算法不仅可以有效利用丢帧前的语音信息还可以利用丢帧结束后的语音信息对丢失的语音帧进行联合估计,能够更加精确的还原丢失的语音。但由于采用内插法需要缓存一定的数据,会导致语音通信声音的延时,而且延时与最大能够内插的帧数相关,随着内插帧数变多,延时会进一步增大。
发明内容
本发明的目的在于提供一种基于延时抖动的丢包补偿方法及系统,通过语音缩放技术,解决采用内插技术的差错隐藏算法中的延时过长问题。
为解决上述技术问题,本发明的实施方式提供了一种基于延时抖动的丢包补偿方法,包含以下步骤:
接收端判断接收的语音数据是否存在丢帧,并在丢帧时发出丢帧指示;
所述接收端根据所述丢帧指示在丢帧前缓存的语音数据中填充N帧冗余帧,并获取丢帧后缓存的语音数据;
所述接收端根据所述丢帧前缓存的语音数据及丢帧后缓存的语音数据进行丢帧补偿;
所述接收端丢弃缓存中的N帧非语音帧,其中,N为自然数。
本发明的实施方式还提供了一种基于延时抖动的丢包补偿系统,包含:判断模块、缓存管理模块、冗余帧填充模块、丢帧补偿模块及延时恢复模块。
所述判断模块用于判断接收的语音数据是否存在丢帧,并在丢帧时向所述缓存管理模块发出丢帧指示;所述缓存管理模块用于接收所述丢帧指示,根据所述丢帧指示控制所述冗余帧填充模块在丢帧前缓存的语音数据中填充N帧冗余帧,并获取丢帧后缓存的语音数据;所述丢帧补偿模块用于根据丢帧前缓存的语音数据及丢帧后缓存的语音数据进行丢帧补偿;所述延时恢复模块用于在丢帧补偿后,丢弃缓存中的N帧非语音帧,其中,N为自然数。
本发明实施方式相对于现有技术而言,通过在丢帧前缓存的语音数据中填充N帧冗余帧,使缓存延时增加,从而获取丢帧后缓存的语音数据,再通过结合丢帧前、后缓存的语音数据对丢失的语音数据进行补偿还原,使得补偿还原的语音更加精确。同时,在对丢帧部分的语音数据进行补偿还原后,丢弃缓存中的N帧非语音帧,从而减去缓存中增加的延时,达到延时恢复的目的。
进一步地,所述缓存包括初始状态、结束状态及N种转移状态;所述冗余帧的填充只在转移状态中进行。由于缓存可能会出现各种缓存状态,因此将缓存可能出现的各种状态进行分类,即有利于简化缓存状态的管理,也保证了缓存状态不发散成无限的可能性。
进一步地,所述每种转移状态分别对应一种生成状态;所述丢帧补偿只在生成状态或结束状态中进行。有利于简化缓存状态的管理。
进一步地,在所述接收端根据所述丢帧指示在丢帧前缓存的语音数据中填充N帧冗余帧的步骤中,包括以下子步骤:
对填充冗余帧的位置的前一帧语音数据进行语音类型Classp的判断,并输出判断结果;
对所述填充冗余帧的位置的前一帧语音数据进行长时预测LTP,计算基音周期TP
对所述填充冗余帧的位置的前一帧语音数据进行线性预测LP,计算线性预测滤波器的系数,并通过分析所述线性预测滤波器计算出残差信号e(n);
根据对所述填充冗余帧的位置的前一帧语音数据的语音类型判断结果和基音周期TP对残差信号e(n)进行修改,生成新的残差信号e′(n);
将所述新的残差信号e′(n)通过综合滤波器,生成补偿信号p′(n);
将所述补偿信号p′(n)通过信号同步器,获得与下一帧同步的补偿信号p(n),所述补偿信号p(n)为填充的冗余帧。由于不同的语音类型,其稳态的时间不一样,因此对语音进行精确的分类,有助于提高丢帧补偿的效果。信号同步器的使用可以防止填充的冗余帧由于是非整数基音周期而导致与填充之后的语音数据不同步的现象。
进一步地,在所述接收端根据所述丢帧前缓存的语音数据及丢帧后缓存的语音数据进行丢帧补偿的步骤中,包含以下子步骤:
根据所述丢帧前缓存的语音数据x(n),生成后向估计信号y1(n);
根据所述丢帧后缓存的语音数据z(n),生成前向估计信号y2(n);
对所述后向估计信号y1(n)及前向估计信号y2(n)进行交叉衰减,获取缓存中丢帧部分的语音数据y(n),对缓存中的丢帧部分进行填充。在补偿还原衔接的地方由于基音周期的变动会导致衔接处的语音数据出现不同步现象,容易出现“click”音。本发明的实施方式中采用交叉衰减技术,可以对抗衔接融合的时候出现“click”音。
附图说明
图1是根据本发明第一实施方式的一种基于延时抖动的丢包补偿方法的流程图;
图2是根据本发明第一实施方式的一种基于延时抖动的丢包补偿方法的结构示意图;
图3是根据本发明第一实施方式的冗余帧填充处理器进行冗余帧填充的流程图;
图4是根据本发明第一实施方式的冗余帧填充处理器进行冗余帧填充的结构示意图;
图5是根据本发明第一实施方式的信号分类器进行语音类型判断的流程图;
图6是根据本发明第一实施方式的丢帧恢复处理子系统进行丢帧补偿的结构示意图;
图7是根据本发明第一实施方式的缓存状态转移的示意图;
图8是根据本发明第二实施方式的一种基于延时抖动的丢包补偿系统的结构示意图;
图9是根据本发明第二实施方式的冗余帧填充模块的结构示意图;
图10是根据本发明第二实施方式的丢帧补偿模块的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明的各实施方式进行详细的阐述。然而,本领域的普通技术人员可以理解,在本发明各实施方式中,为了使读者更好地理解本申请而提出了许多技术细节。但是,即使没有这些技术细节和基于以下各实施方式的种种变化和修改,也可以实现本申请各权利要求所要求保护的技术方案。
如图1所示,本发明的第一实施方式涉及一种基于延时抖动的丢包补偿方法,其具体流程如图1所示。
在步骤101中,接收端判断接收的语音数据是否存在丢帧。如果没有丢帧,则返回本步骤。如果有丢帧,则进入步骤102。
在步骤102中,接收端发出丢帧指示,并进入步骤103,在步骤103中,接收端根据丢帧指示在丢帧前缓存的语音数据中填充N帧冗余帧,并获取丢帧后缓存的语音数据,其中N为自然数。
音频系统的接收端包括缓存管理器、冗余帧填充处理器及丢帧恢复处理子系统。其中,缓存管理器用于接收丢帧指示,并控制冗余帧填充处理器在丢帧前缓存的语音数据中插入冗余帧(如图2所示,即在缓存头插入冗余帧)。
下面对冗余帧填充处理器获取冗余帧的过程作具体地说明。
如图3所示,在步骤201中,冗余帧填充处理器对填充冗余帧的位置的前一帧语音数据进行语音类型Classp的判断,并输出判断结果。
具体地说,比如丢帧前缓存的语音中有5帧,前2帧是已经播放的语音帧,后面3帧是没有播放的语音帧,在本实施方式中,按照从前到后的顺序,依次把这3帧没有播放的语音帧,称为第一帧、第二帧及第三帧。冗余帧可选择填充在第一帧的前面、第一帧与第二帧之间或第二帧与第三帧之间。若冗余帧填充在第一帧的前面,即第一帧与相邻的已播放的语音帧之间,则冗余帧填充处理器通过信号分类器对该相邻的已播放的语音帧进行语音类型的判断,同样地,若冗余帧填充在第一帧与第二帧之间,则冗余帧填充处理器通过信号分类器对第一帧进行语音类型的判断。如图4所示,本实施方式以冗余帧填充在第一帧与第二帧之间为例进行说明,其它情况与此类似,本实施方式不再赘述。
在本实施方式中,语音共有4种类型,分别为TRANSIENT(出现能量急剧变化的语音)、UNVOICED(清音态的语音)、WEAKLY_VOICED(弱元音态的语音)、VOICED(元音态的语音)。下面将对语音类型的判断过程作具体的说明。
如图5所示,在步骤301中,信号分类器先默认该语音为弱元音态的语音,在步骤302中,信号分类器判断该语音的归一化最大相关Rmax是否大于或等于0.7。
具体地说,信号分类器先将该语音的初始信号f(n)(其中,n=-288,…,-1,288个样点为最大2倍基音周期)通过低通滤波器并进行4倍的降采样,获得带宽为2khz的降采样后的信号t(n)(其中,n=-72,…,-1),再根据信号t(n)进行归一化互相关计算:即根据
寻找最大相关值的点:
再根据第一次计算的Td,寻找T=4Td附近的最大相关,
即根据
寻找最大相关值的点:
本实施方式将T0作为基音周期Tp。其中maxR(i)即为Rmax
在本步骤中,若Rmax大于或等于0.7,则进入步骤303,在步骤303中,信号分类器输出该语音的类型为元音态的语音,并进入步骤304;若Rmax小于0.7,则直接进入步骤304。
在步骤304中,信号分类器判断该语音的过零率zcr是否大于或等于20,其中过零率
若过零率大于或等于20,则进入步骤305,在步骤305中,信号分类器输出该语音的类型为清音态的语音,并进入步骤306;若过零率小于20,则直接进入步骤306。
在步骤306中,信号分类器判断该语音最后一个周期的过大峰值数cnt_peak是否大于0,其中最后一个周期的过大峰值数
若cnt_peak大于0,则进入步骤307,并认为该语音为出现能量急剧变化的语音;若在步骤305中,信号分类器输出该语音的类型为清音态的语音,而在步骤306中,该语音的cnt_peak不大于0,则认为该语音为清音态的语音;若在步骤303中,信号分类器输出该语音的类型为元音态的语音,而在步骤304中,该语音的过零率小于20,在步骤306中,该语音的cnt_peak不大于0,则认为该语音为元音态的语音;若在整个判断过程中,该语音的Rmax小于0.7,过零率小于20,cnt_peak不大于0,则认为该语音为弱元音态的语音。
在步骤202中,冗余帧填充处理器对填充冗余帧的位置的前一帧语音数据进行长时预测(Long-Term Prediction,“LTP”),计算基音周期TP。计算基音周期TP的方法已在前面作过说明,这里不再赘述。
在步骤203中,冗余帧填充处理器对填充冗余帧的位置的前一帧语音数据进行线性预测(Linear Prediction,“LP”),计算线性预测滤波器的系数,并通过分析所述线性预测滤波器计算出残差信号e(n)。
具体地说,线性预测包含两部分:加窗与自相关计算和杜宾算法(Levinson-Durbin algorithm)。自相关计算包括60Hz的频带扩展和40dB的白噪声校正。本实施方式中,LP的分析窗是一个非对称的汉明窗:
其中,该分析窗的系数生成函数,即窗函数为:
值得注意的是,线性预测滤波器A(z)及综合滤波器1/A(z)均采用8阶线性预测滤波器,其中,A(z)=1+a1z-1+a2z-2+…+a8z-8,a1、a2…a8即为A(z)的系数。根据现行的线性预测滤波器系数,就能得到当前的线性预测滤波器的系数,使用该语音的初始信号f(n),n=-289,…,-1,进行滤波就能获得残差信号e(n),n=-289,…,-1。
其中,
在步骤204中,冗余帧填充处理器根据对填充冗余帧的位置的前一帧语音数据的语音类型判断结果和基音周期TP对残差信号e(n)进行修改,生成新的残差信号e′(n)。
值得注意的是,如果该语音是元音类,如弱元音态的语音、元音态的语音,则冗余帧填充处理器先通过基音周期重复器估计同步残差信号:e(n)=e(n-T0),其中,n=0,1,…,L+80-1L为一帧的长度。然后再通过残差信号修改器对残差信号进行残差修改,生成新的残差信号e′(n)。
如果是非元音类,如出现能量急剧变化的语音、清音态的语音,为了防止过度元音化,在估计残差信号时,冗余帧填充处理器通过残差信号修改器对残差信号进行一定的修改,生成新的残差信号e′(n)。
其中,e′(n)=e(n-T0+(-1)n),n=0,1,…,L+80-1
在步骤205中,冗余帧填充处理器将新的残差信号e′(n)通过综合滤波器1/A(z),生成补偿信号p′(n)。
其中,其中,ai为线性预测系数。
在步骤206中,冗余帧填充处理器将补偿信号p′(n)通过信号同步器,获得与下一帧同步的补偿信号p(n),补偿信号p(n)即为填充的冗余帧。本实施方式是以冗余帧填充在第一帧与第二帧之间为例进行说明,所以这里所指的下一帧即为第二帧。
信号同步器主要作用是防止填充的冗余帧由于是非整数基音周期导致与填充之后的语音信号不同步,出现“click”音。冗余帧填充处理器先通过信号同步器计算同步长度:
syn_len=L+Tp-L%Tp
再根据计算出来的同步长度,获得填充语音:
p(n)=p′(n),n=0,1,…syn_len-1
值得一提的是,“Click”音为两路连续的信号融合的时候,由于边界周期不同步而导致生成的人工杂音。
接收端通过冗余帧填充处理器向丢帧前缓存的语音数据中填充冗余帧后,使缓存延时增加,从而获取丢帧后缓存的语音数据,并进入步骤104。
在步骤104中,接收端根据丢帧前缓存的语音数据及丢帧后缓存的语音数据进行丢帧补偿。
如图6所示,丢帧恢复处理子系统包括后向丢帧估计器、前向丢帧估计器及交叉衰落融合器。具体地说,需要进行丢帧补偿时,缓存管理器会向丢帧恢复处理子系统发出指示,并向后向丢帧估计器输入丢帧前缓存的语音数据x(n),向前向丢帧估计器输入丢帧后缓存的语音数据z(n)。其中,后向丢帧估计器根据丢帧前缓存的语音数据x(n),生成后向估计信号y1(n);前向丢帧估计器根据丢帧后缓存的语音数据z(n),生成前向估计信号y2(n);紧接着,交叉衰落融合器对后向估计信号y1(n)及前向估计信号y2(n)进行交叉衰减,获取缓存中丢帧的语音数据y(n),并对丢帧缓存进行填充。
本发明中,交叉衰减采用三角窗进行帧与帧之间融合,其中
其中,N为前后重叠的长度,一般长度为80。
值得注意的是,丢帧补偿中,由于基音周期的变动会导致在补偿还原衔接处出现不同步现象,容易出现“click”音,会让人非常不舒服。本发明在丢帧补偿中采用交叉衰减技术,目的就是对抗衔接融合的时候出现“click”音。
在步骤105中,接收端丢弃缓存中的N帧非语音帧。
本实施方式中,为了获取丢帧后缓存的语音数据,在丢帧前缓存的语音数据中填充N帧冗余帧,从而使得缓存延时增加,因此,在丢帧后,丢弃缓存中的N帧非语音帧,就会减去缓存中增加的延时,达到延时恢复的目的。丢弃的非语音帧的帧数与填充的冗余帧的帧数有关,而填充的冗余帧的帧数与缓存所处的状态有关。
本发明第二实施方式涉及一种基于延时抖动的丢包补偿方法。第二实施方式是在第一实施方式的基础上做的进一步改进,其改进之处在于:在本发明第二实施方式中,为了管理缓存中各种可能出现的缓存状态,使缓存状态不发散成无限的可能性,将缓存状态进行了分类,具体地说,缓存的状态包括初始状态、结束状态及N种转移状态,在本实施方式中,N取5,初始状态为缓存的第一转移状态,结束状态为缓存的第七转移状态,其余5种转移状态分别为第二转移状态、第三转移状态、……、第六转移状态。7种转移状态从初始状态开始,前一转移状态可转移到后一转移状态,如第一转移状态可转移到第二转移状态,第二转移状态可转移到第三转移状态等,值得一提的是,当缓存处于第七转移状态时,可转移至初始状态。另外,第二转移状态至第六转移状态可分别生成对应的第二生成状态至第六生成状态。其中,冗余帧的填充只在转移状态中进行,丢帧补偿只在生成状态或结束状态中进行,非语音帧的丢弃也只在生成状态或结束状态中进行。
下面将对各种缓存状态之间的状态转移过程作具体的说明。
如图7所示,当缓存处于初始状态时,若缓存管理器收到丢帧指示BFI=1,则缓存管理器会将缓存由初始状态转移到第二转移状态,并控制冗余帧填充处理器向丢帧前缓存的语音数据中填充1帧冗余帧。
当缓存处于第二转移状态时,若缓存管理器收到丢帧指示BFI=1,则缓存管理器将缓存转移到第三转移状态,并控制冗余帧填充处理器向丢帧前缓存的语音数据中填充1帧冗余帧。若缓存管理器没有收到丢帧指示(即缓存中都是好帧,BFI=0),则转入第二生成状态,并采用内插法差错隐藏算法对处于第二生成状态的缓存进行丢帧补偿,即根据丢帧前缓存的语音数据及丢帧后缓存的语音数据进行丢帧补偿。
当缓存处于第二生成状态时,若缓存管理器收到丢帧指示BFI=1,缓存中前3帧是好帧,后1帧是坏帧(坏帧即是丢帧),则缓存管理器将缓存转移到第二转移状态;若缓存管理器没有收到丢帧指示,则丢弃缓存中的1帧非语音帧,并转入初始转移状态。
当缓存处于第三转移状态时,若缓存管理器收到丢帧指示BFI=1,则将缓存转移到第四转移状态,并控制冗余帧填充处理器向丢帧前缓存的语音数据中填充1帧冗余帧。若缓存管理器没有收到丢帧指示,则将缓存转入第三生成状态,并采用内插法差错隐藏算法对处于第三生成状态的缓存进行丢帧补偿。
当缓存处于第三生成状态时,若缓存管理器收到丢帧指示BFI=1,缓存中前3帧是好帧,后2帧是坏帧,则缓存管理器将缓存转移到第三转移状态;若缓存管理器没有收到丢帧指示,则丢弃缓存中的2帧非语音帧,并转入初始转移状态。
当缓存处于第四转移状态时,若缓存管理器收到丢帧指示BFI=1,则将缓存转移到第五转移状态;若缓存管理器没有收到丢帧指示,则将缓存转入第四生成状态,并采用内插法差错隐藏算法对处于第四生成状态的缓存进行丢帧补偿。
当缓存处于第四生成状态时,若缓存管理器收到丢帧指示BFI=1,缓存中前3帧是好帧,后3帧是坏帧,则将缓存转入第四转移状态;若缓存管理器没有收到丢帧指示,则丢弃缓存中的3帧非语音帧,并转入初始转移状态。
当缓存处于第五转移状态时,若缓存管理器收到丢帧指示BFI=1,则将缓存转移到第六转移状态;若缓存管理器没有收到丢帧指示,则将缓存转入第五生成状态,并采用内插法差错隐藏算法对处于第五生成状态的缓存进行丢帧补偿。
当缓存处于第五生成状态时,若缓存管理器收到丢帧指示BFI=1,缓存中前2帧是好帧,后4帧是坏帧,则将缓存转入第五转移状态;若缓存管理器没有收到丢帧指示,则丢弃缓存中的3帧非语音帧,并转入初始转移状态。
当缓存处于第六转移状态时,若缓存管理器收到丢帧指示BFI=1,则将缓存转移到第七转移状态,并采用外推法差错隐藏算法对缓存进行丢帧补偿,即根据丢帧前缓存的语音数据进行丢帧补偿。若缓存管理器没有收到丢帧指示,则将缓存转入第六生成状态,并采用内插法差错隐藏算法对处于第六生成状态的缓存进行丢帧补偿。
当缓存处于第六生成状态时,若缓存管理器收到丢帧指示BFI=1,缓存中前1帧是好帧,后5帧是坏帧,则转入第六转移状态;若缓存管理器没有收到丢帧指示,则丢弃缓存中的3帧非语音帧,并转入初始转移状态。
当缓存处于第七转移状态时,若缓存管理器没有收到丢帧指示,则丢弃缓存中的3帧非语音帧,并转入初始转移状态。
不难发现,在生成状态与结束状态中进行丢帧补偿的方法是不同的,所以丢帧恢复处理子系统在根据丢帧前缓存的语音数据及丢帧后缓存的语音数据进行丢帧补偿前,会先判断缓存所处的状态,若缓存处于生成状态,则利用内插法差错隐藏算法对缓存进行丢帧补偿;若缓存处于结束状态,则利用外推法差错隐藏算法对缓存进行丢帧补偿。
本发明的第三实施方式涉及一种基于延时抖动的丢包补偿系统,如图8所示,该丢包补偿系统包含:判断模块、缓存管理模块、冗余帧填充模块、丢帧补偿模块及延时恢复模块。
判断模块用于判断接收的语音数据是否存在丢帧,并在丢帧时向缓存管理模块发出丢帧指示;缓存管理模块用于接收丢帧指示,根据丢帧指示控制冗余帧填充模块在丢帧前缓存的语音数据中填充N帧冗余帧,并获取丢帧后缓存的语音数据;丢帧补偿模块用于根据丢帧前缓存的语音数据及丢帧后缓存的语音数据进行丢帧补偿;延时恢复模块用于在丢帧补偿后,丢弃缓存中的N帧非语音帧,其中,N为自然数。
具体地说,缓存管理模块还用于管理缓存的状态,本发明实施方式中,缓存的状态包括7种转移状态,其中,第一转移状态为缓存的初始状态;第七转移状态为缓存的结束状态;7种转移状态从初始状态开始,前一转移状态可转移到后一转移状态,如第一转移状态可转移到第二转移状态,第二转移状态可转移到第三转移状态等,值得一提的是,当缓存处于第七转移状态时,可转移至初始状态。另外,第二转移状态至第六转移状态可分别生成对应的第二生成状态至第六生成状态。当缓存管理模块收到丢帧指示时,会根据丢帧指示及缓存所处的状态控制冗余帧填充模块进行冗余帧的填充,并控制延时恢复模块在丢帧补偿后丢弃缓存中非语音帧。
如图9所示,冗余帧填充模块包括信号分类子模块、线性预测子模块、长时预测子模块、线性预测滤波器、基音周期重复和残差信号修改子模块、综合滤波器及信号同步子模块。信号分类子模块用于对填充冗余帧部分的语音进行信号分类,并输出分类后的语音类型Classp。长时预测子模块对填充冗余帧部分的语音进行长时预测,计算基音周期TP。线性预测子模块对填充冗余帧部分的语音进行线性预测,计算线性预测滤波器A(z)的系数,并通过分析线性预测滤波器A(z)计算出残差信号e(n)。基音周期重复和残差信号修改子模块根据信号分类和基音周期TP对残差信号e(n)进行修改,并将新生成的残差信号e′(n)通过综合滤波器1/A(z),生成补偿信号p′(n)。补偿信号p′(n)通过信号同步子模块,获得与下一帧同步的补偿信号p(n),该补偿信号p(n)即为填充的冗余帧。
如图10所示,丢帧补偿模块包括向后预测估计子模块、向前预测估计子模块及交叉衰落融合子模块。向后预测估计子模块根据丢帧前缓存的语音数据x(n),生成后向估计信号y1(n);向前预测估计子模块根据丢帧后缓存的语音数据z(n),生成前向估计信号y2(n);交叉衰落融合子模块对后向估计信号y1(n)及前向估计信号y2(n)进行交叉衰减,获取缓存中丢帧的语音数据y(n),对丢帧缓存进行填充。
当丢帧补偿模块获取缓存中丢帧的语音数据y(n),对丢帧缓存进行填充后,延时恢复模块丢弃与填充的冗余帧的帧数相同的非语音帧,从而减去因填充冗余帧而造成的缓存延时,达到延时恢复的效果。
不难发现,本实施方式为第一实施方式或第二实施方式相对应的系统实施例,本实施方式可与第一实施方式或第二实施方式互相配合实施。第一实施方式或第二实施方式中提到的相关技术细节在本实施方式中依然有效,为了减少重复,这里不再赘述。相应地,本实施方式中提到的相关技术细节也可应用在第一实施方式或第二实施方式中。
值得一提的是,本实施方式中所涉及到的各模块均为逻辑模块,在实际应用中,一个逻辑单元可以是一个物理单元,也可以是一个物理单元的一部分,还可以以多个物理单元的组合实现。此外,为了突出本发明的创新部分,本实施方式中并没有将与解决本发明所提出的技术问题关系不太密切的单元引入,但这并不表明本实施方式中不存在其它的单元。
本领域的普通技术人员可以理解,上述各实施方式是实现本发明的具体实施例,而在实际应用中,可以在形式上和细节上对其作各种改变,而不偏离本发明的精神和范围。

Claims (9)

1.一种基于延时抖动的丢包补偿方法,其特征在于,包含以下步骤:
接收端判断接收的语音数据是否存在丢帧,并在丢帧时发出丢帧指示;
所述接收端根据所述丢帧指示在丢帧前缓存的语音数据中填充N帧冗余帧,并获取丢帧后缓存的语音数据;
所述接收端根据原始的丢帧前缓存的语音数据及所述丢帧后缓存的语音数据进行丢帧补偿;
所述接收端丢弃缓存中的N帧非语音帧,其中,N为自然数;
所述缓存包括初始状态、结束状态及N种转移状态;
所述冗余帧的填充只在转移状态中进行。
2.根据权利要求1所述的基于延时抖动的丢包补偿方法,其特征在于,所述每种转移状态分别对应一种生成状态;
所述丢帧补偿只在生成状态或结束状态中进行。
3.根据权利要求2所述的基于延时抖动的丢包补偿方法,其特征在于,在所述接收端丢弃缓存中的N帧非语音帧的步骤中,
所述接收端丢弃处于生成状态或结束状态的缓存中的N帧非语音帧。
4.根据权利要求2所述的基于延时抖动的丢包补偿方法,其特征在于,在所述接收端根据所述丢帧前缓存的语音数据及丢帧后缓存的语音数据进行丢帧补偿的步骤之前,还包含以下步骤:
所述接收端判断所述缓存所处的状态;
在所述接收端根据所述丢帧前缓存的语音数据及丢帧后缓存的语音数据进行丢帧补偿的步骤中,
若所述缓存处于生成状态,则所述接收端利用内插法差错隐藏算法对所述缓存进行丢帧补偿;
若所述缓存处于结束状态,则所述接收端利用外推法差错隐藏算法对所述缓存进行丢帧补偿。
5.根据权利要求1所述的基于延时抖动的丢包补偿方法,其特征在于,在所述接收端根据所述丢帧指示在丢帧前缓存的语音数据中填充N帧冗余帧的步骤中,包括以下子步骤:
对填充冗余帧的位置的前一帧语音数据进行语音类型Classp的判断,并输出判断结果;
对所述填充冗余帧的位置的前一帧语音数据进行长时预测LTP,计算基音周期TP
对所述填充冗余帧的位置的前一帧语音数据进行线性预测LP,计算线性预测滤波器的系数,并通过分析所述线性预测滤波器计算出残差信号e(n);
根据对所述填充冗余帧的位置的前一帧语音数据的语音类型判断结果和基音周期TP对残差信号e(n)进行修改,生成新的残差信号e′(n);
将所述新的残差信号e′(n)通过综合滤波器,生成补偿信号p′(n);
将所述补偿信号p′(n)通过信号同步器,获得与下一帧同步的补偿信号p(n),所述补偿信号p(n)为填充的冗余帧。
6.根据权利要求5所述的基于延时抖动的丢包补偿方法,其特征在于,所述线性预测滤波器及综合滤波器均采用8阶线性预测滤波器。
7.根据权利要求1所述的基于延时抖动的丢包补偿方法,其特征在于,在所述接收端根据所述丢帧前缓存的语音数据及丢帧后缓存的语音数据进行丢帧补偿的步骤中,包含以下子步骤:
根据所述丢帧前缓存的语音数据x(n),生成后向估计信号y1(n);
根据所述丢帧后缓存的语音数据z(n),生成前向估计信号y2(n);
对所述后向估计信号y1(n)及前向估计信号y2(n)进行交叉衰减,获取缓存中丢帧部分的语音数据y(n),对缓存中的丢帧部分进行填充。
8.一种基于延时抖动的丢包补偿系统,其特征在于,包括:判断模块、缓存管理模块、冗余帧填充模块、丢帧补偿模块及延时恢复模块;
所述判断模块用于判断接收的语音数据是否存在丢帧,并在丢帧时向所述缓存管理模块发出丢帧指示;
所述缓存管理模块用于接收所述丢帧指示,根据所述丢帧指示控制所述冗余帧填充模块在丢帧前缓存的语音数据中填充N帧冗余帧,并获取丢帧后缓存的语音数据;
所述丢帧补偿模块用于根据原始的丢帧前缓存的语音数据及所述丢帧后缓存的语音数据进行丢帧补偿;
所述延时恢复模块用于在丢帧补偿后,丢弃缓存中的N帧非语音帧,其中,N为自然数;
其中,所述缓存包括初始状态、结束状态及N种转移状态;
所述冗余帧的填充只在转移状态中进行。
9.根据权利要求8所述的基于延时抖动的丢包补偿系统,其特征在于,丢帧补偿模块包括向后预测估计子模块、向前预测估计子模块及交叉衰落融合子模块;
所述向后预测估计子模块用于根据所述丢帧前缓存的语音数据x(n),生成后向估计信号y1(n);
所述向前预测估计子模块用于根据所述丢帧后缓存的语音数据z(n),生成前向估计信号y2(n);
所述交叉衰落融合子模块用于对所述后向估计信号y1(n)及前向估计信号y2(n)进行交叉衰减,获取缓存中丢帧的语音数据y(n),对丢帧缓存进行填充。
CN201410756736.1A 2014-12-10 2014-12-10 一种基于延时抖动的丢包补偿方法及系统 Active CN105741843B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410756736.1A CN105741843B (zh) 2014-12-10 2014-12-10 一种基于延时抖动的丢包补偿方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410756736.1A CN105741843B (zh) 2014-12-10 2014-12-10 一种基于延时抖动的丢包补偿方法及系统

Publications (2)

Publication Number Publication Date
CN105741843A CN105741843A (zh) 2016-07-06
CN105741843B true CN105741843B (zh) 2019-09-20

Family

ID=56240268

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410756736.1A Active CN105741843B (zh) 2014-12-10 2014-12-10 一种基于延时抖动的丢包补偿方法及系统

Country Status (1)

Country Link
CN (1) CN105741843B (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105788601B (zh) * 2014-12-25 2019-08-30 联芯科技有限公司 VoLTE的抖动隐藏方法和装置
CN107919996A (zh) * 2016-10-10 2018-04-17 大唐移动通信设备有限公司 一种数据包传输方法及设备
CN108011686B (zh) * 2016-10-31 2020-07-14 腾讯科技(深圳)有限公司 信息编码帧丢失恢复方法和装置
CN107564533A (zh) * 2017-07-12 2018-01-09 同济大学 基于信源先验信息的语音帧修复方法和装置
CN111402905B (zh) * 2018-12-28 2023-05-26 南京中感微电子有限公司 音频数据恢复方法、装置及蓝牙设备
CN111063362B (zh) * 2019-12-11 2022-03-22 中国电子科技集团公司第三十研究所 一种数字语音通信噪音消除和语音恢复方法及装置
CN111326166B (zh) * 2020-02-25 2023-04-14 网易(杭州)网络有限公司 语音处理方法及装置、计算机可读存储介质、电子设备
CN111525985B (zh) * 2020-04-21 2022-08-26 中国人民解放军陆军勤务学院 一种北斗消息接收周期预测与丢包判定方法
CN114415600B (zh) * 2022-01-11 2024-01-23 重庆三电智能科技有限公司 一种用于总线型伺服驱动器的丢帧补偿位置算法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1441949A (zh) * 2000-05-11 2003-09-10 艾利森电话股份有限公司 语音编码中的前向纠错
CN1984203A (zh) * 2006-04-18 2007-06-20 华为技术有限公司 对丢失的语音业务数据帧进行补偿的方法
CN100426715C (zh) * 2006-07-04 2008-10-15 华为技术有限公司 一种丢帧隐藏方法和装置
CN101833954A (zh) * 2007-06-14 2010-09-15 华为终端有限公司 一种实现丢包隐藏的方法和装置
CN102034476A (zh) * 2009-09-30 2011-04-27 华为技术有限公司 语音帧错误检测及修复的方法及装置
CN103065636A (zh) * 2011-10-24 2013-04-24 中兴通讯股份有限公司 语音频信号的丢帧补偿方法和装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4303687B2 (ja) * 2003-01-30 2009-07-29 富士通株式会社 音声パケット消失隠蔽装置,音声パケット消失隠蔽方法,受信端末および音声通信システム

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1441949A (zh) * 2000-05-11 2003-09-10 艾利森电话股份有限公司 语音编码中的前向纠错
CN1984203A (zh) * 2006-04-18 2007-06-20 华为技术有限公司 对丢失的语音业务数据帧进行补偿的方法
CN100571314C (zh) * 2006-04-18 2009-12-16 华为技术有限公司 对丢失的语音业务数据帧进行补偿的方法
CN100426715C (zh) * 2006-07-04 2008-10-15 华为技术有限公司 一种丢帧隐藏方法和装置
CN101833954A (zh) * 2007-06-14 2010-09-15 华为终端有限公司 一种实现丢包隐藏的方法和装置
CN102034476A (zh) * 2009-09-30 2011-04-27 华为技术有限公司 语音帧错误检测及修复的方法及装置
CN103065636A (zh) * 2011-10-24 2013-04-24 中兴通讯股份有限公司 语音频信号的丢帧补偿方法和装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
"VoIP中的丢帧补偿策略研究的概况";徐昶 等;《舰船电子工程》;20051231;第25卷(第5期);全文 *

Also Published As

Publication number Publication date
CN105741843A (zh) 2016-07-06

Similar Documents

Publication Publication Date Title
CN105741843B (zh) 一种基于延时抖动的丢包补偿方法及系统
CN100426715C (zh) 一种丢帧隐藏方法和装置
JP4931318B2 (ja) スピーチ符号化における前方向誤り訂正
EP1886307B1 (en) Robust decoder
KR101203244B1 (ko) 통신 시스템에서 은닉 프레임들을 발생시키는 방법
JP2016539360A (ja) 時間ドメイン励振信号に基づくエラーコンシールメントを用いて、復号化されたオーディオ情報を提供するオーディオデコーダおよび復号化されたオーディオ情報を提供する方法
BRPI0910327B1 (pt) processo de dissimulação de erro de transmissão, dispositivo de dissimulação de erro de transmissão, decodificador de sinal digital e suporte físico
Sanneck Packet Loss Recovery and Control for Voice Transmission over the Internet
JPWO2005109402A1 (ja) 音声パケット送信方法、音声パケット送信装置、および音声パケット送信プログラムとそれを記録した記録媒体
JP2021006923A (ja) 適応型ノイズ推定を使用してエラー隠し信号を生成する装置及び方法
CA2915805A1 (en) Apparatus and method for improved concealment of the adaptive codebook in acelp-like concealment employing improved pitch lag estimation
Ogunfunmi et al. Speech over VoIP networks: Advanced signal processing and system implementation
CN103714820B (zh) 参数域的丢包隐藏方法及装置
US20030099236A1 (en) Method and program product for organizing data into packets
Singh et al. Computer Modeling & Performance Analysis of VoIP under Different Strategic Conditions
Gueham et al. Packet loss concealment method based on interpolation in packet voice coding
Nasr et al. On improving voice quality degraded by packet loss in data networks
KR20060002569A (ko) 수신단 기반의 패킷 손실 복구 장치 및 그 방법
CN105788601A (zh) VoLTE的抖动隐藏方法和装置
JP2006053394A (ja) 消失補償装置、消失補償方法、および消失補償プログラム
Sanneck et al. GMD Forschungszentrum Informationstechnik GmbH Schloß Birlinghoven D-53754 Sankt Augustin, Germany Telefon+ 49-2241-14-0 Telefax+ 49-2241-14-2618
Gong et al. Quality-based playout buffering with FEC for conversational voIP.
Bakri et al. Implementing the PLC Techniques with G 729 Coded to Improving the Speech Quality for VoIP Transmission
Merazka The use of FEC method for packet loss concealment for CELP based coders in packet networks
Nagano et al. A Packet Loss Recovery of G. 729 speech using discriminative model and N-gram

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
EE01 Entry into force of recordation of patent licensing contract
EE01 Entry into force of recordation of patent licensing contract

Application publication date: 20160706

Assignee: Shanghai Li Ke Semiconductor Technology Co.,Ltd.

Assignor: LEADCORE TECHNOLOGY Co.,Ltd.

Contract record no.: 2018990000159

Denomination of invention: Packet loss compensation method and system based on time delay jitter

License type: Common License

Record date: 20180615

TA01 Transfer of patent application right

Effective date of registration: 20180816

Address after: 201206 Pudong New Area, Shanghai Mingyue Road, 1258, Mingyue road 1258, 3, fourth story A406 room.

Applicant after: Chen core technology Co.,Ltd.

Address before: 200233 4 building, No. 333, No. 41, Qinjiang Road, Shanghai, Xuhui District

Applicant before: LEADCORE TECHNOLOGY Co.,Ltd.

TA01 Transfer of patent application right
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20221116

Address after: 266500 No. 687, Binhai street, Huangdao District, Qingdao, Shandong

Patentee after: Chenxin Technology Co.,Ltd.

Patentee after: Qingdao Weixuan Technology Co.,Ltd.

Address before: 201206 Pudong New Area, Shanghai Mingyue Road, 1258, Mingyue road 1258, 3, fourth story A406 room.

Patentee before: Chen core technology Co.,Ltd.

CP03 Change of name, title or address
CP03 Change of name, title or address

Address after: Room 102, Building 16, No. 1699, the Pearl River Road, Huangdao District, Qingdao, Shandong 266499

Patentee after: Chenxin Technology Co.,Ltd.

Patentee after: Qingdao Weixuan Technology Co.,Ltd.

Address before: 266500 No. 687, Binhai street, Huangdao District, Qingdao, Shandong

Patentee before: Chenxin Technology Co.,Ltd.

Patentee before: Qingdao Weixuan Technology Co.,Ltd.