一种语音数据丢包的补偿方法及装置的制作方法

文档序号:7856151阅读:283来源:国知局
专利名称:一种语音数据丢包的补偿方法及装置的制作方法
技术领域
本发明涉及通信技术领域,尤其涉及一种语音数据丢包的补偿方法及装置。
背景技术
语音数据包在网络之间互连的协议(IP, Internet Protocol)网络传输过程中,为保证数据传输的实时性,一般采取不可靠传输方式进行数据传输,例如,采用用户数据包协 议(UDP,User Datagram Protocol)的传输方式,贝U必然存在丢包。如何降低网络丢包带来的语音质量的下降,是IP网络承载语音数据的重要研究课题。现有技术中,通常采用以下两种方式现有技术一、数据包冗余技术在发送端,同一个数据包发送多份,只要有ー份数据未丢失,那么在接收端就可以完整的恢复出原始数据;现有技术ニ、前和后帧合成技木根据丢包的前ー帧和后ー帧,分别采取阶线性预测方法分别生成两帧预测数据,再由这两帧数据进行混合加权平滑内插过渡处理,生成补偿数据。但是,在上述现有技术中,由于需要将同一个数据包发送多份,对网络带宽的占用将成倍增长,可能导致网络更加恶化,并且,网络丢包可能是连续突发的,发送的多份数据可能同时丢失,这样在接收端还是不能恢复该丢失包,降低语音质量,还会由于丢包引起时延。而在上述现有技术ニ中,补偿数据包由前后帧合成,必须接收到后一帧数据才能补偿,如果出现连续丢包,则补偿效果差,从而引起较大时延。

发明内容
本发明实施例提供了一种语音数据丢包的补偿方法及装置,用以补偿丢失的语音数据包。本发明实施例提供的语音数据丢包的补偿方法,包括当侦测到丢失帧时,在接收到的语音数据中提取基音周期;计算接收到的最后ー帧正常语音数据的后向相位,所述后向相位为语音数据的帧尾与最后ー个基音周期波峰的时间间隔;计算所述丢失帧的前向相位,所述前向相位为语音数据帧头与第一个基音周期波峰的时间间隔,为基音周期与所述后向相位的差;在所接收到的数据中,截取最后一帧相位与所述前向相位相同的数据,作为补偿数据。本发明实施例提供的语音数据丢包的补偿装置,包括提取单元,用于当侦测到丢失帧时,在接收到的语音数据中提取基音周期;计算单元,用于计算接收到的最后ー帧正常语音数据的后向相位,所述后向相位为语音数据的帧尾与最后ー个基音周期波峰的时间间隔;所述计算単元,还用于计算所述丢失帧的前向相位,所述前向相位为语音数据帧头与第ー个基音周期波峰的时间间隔,为基音周期与所述后向相位的差;截取单元,用于在所接收到的数据中,截取最后一帧相位与所述前向相位相同的数据,作为补偿数据。从以上技术方案可以看出,本发明实施例具有以下优点一旦发生丢帧,在已经收到的语音数据中提取基音周期,计算出接收到的最后ー帧正常数据的后向相位,该后向相位等于最后ー个波峰与帧尾的时间差,计算丢失帧的前向相位,前向相位为语音数据帧头与第一个基音周期波峰的时间间隔,等于基音周期与后向相位的差,在所接收到的正常数据中截取最后ー帧相位与前向相位相同的数据,作为补偿数据,由此,基于声音的渐变特性,近似认为相邻周期的基音周期变化趋势是稳定的,从而估计出丢失帧的前向相位,再通过移相得到补偿数据,使得补偿数据更接近丢失数据,减小语音数据失真,且不会造成时延。


图I为本发明实施例中语音波形示意图;图2为本发明实施例中的语音数据丢包的补偿方法的一个实施例示意图;图3为本发明实施例中的语音数据丢包的补偿方法的另ー个实施例示意图; 图4为本发明实施例中的语音数据丢包的补偿装置的一个实施例示意图;图5为本发明实施例中的语音数据丢包的补偿装置的另ー个实施例示意图。
具体实施例方式本发明实施例提供了一种语音数据丢包的补偿方法及装置,用于利用时间冗余特性对丢失的语音数据包进行预测补偿。下面分别进行详细说明。请參阅图1,本发明是实施例中的语音波形示意图,图中所标示的前向相位tp为语音数据帧头与第一个基音周期T的波峰的时间间隔,后向相位tn为语音数据帧尾与最后ー个基音周期T的波峰的时间间隔。人在说话时发音的音频在频域和幅度上是ー个连续的渐变过程,音频数据在时间上有很多重复数据,这种特性被称为时间冗余特性。本发明实施例中的语音数据丢包的补偿方法利用该特性对丢失的数据包进行预测补偿,基于声音的渐变特性,近似认为相邻周期的基音周期相同或变化趋势是稳定的,由此得到最接近丢失帧的补偿数据。请參阅图2,本发明实施例中的语音数据丢包的补偿方法的一个实施例包括101、当侦测到丢失帧时,在接收到的语音数据中提取基音周期;在数据传输过程中,当设备侦测到丢失帧时,在接收到的正常语音数据中提取基音周期T,侦测语音数据帧是否丢失,检测丢包方法为基于序号连续性进行检測,为现有技木,此处不再赘述。102、计算接收到的最后ー帧正常语音数据的后向相位,该后向相位为语音数据的帧尾与最后ー个基音周期波峰的时间间隔;本实施例中,图I中tn为后向相位,后向相位是语音数据的帧尾与最后ー个基音周期T波峰的时间间隔,因此,计算后向相位tn是将所接收到的语音数据的最后ー帧正常语音数据的帧尾与最后ー个基音周期T波峰的时间间隔。103、计算丢失帧的前向相位,该前向相位为语音数据帧头与第一个基音周期波峰的时间间隔,等于基首周期与后向相位的差;tp=T_tn104、在所接收到的数据中,截取最后一帧相位与所述前向相位相同的数据,作为补偿数据。为使得补偿数据更接近丢失数据,截取所接收到的数据中最接近丢失数据的数据帧相位为前向相位tp的数据,作为补偿数据,也即截取所接收到的数据中最后ー帧相位为前向相位tp的数据,作为补偿数据。需要说明的是,将该补偿数据作为正常接收的数据存放在数据缓存区中,若后续发生连续丢包,可将该补偿数据作为基准数据,按照前述IOf 104的步骤获得补偿数据。本发明实施例中,一旦发生丢帧,在已经收到的语音数据中提取基音周期,计算出 接收到的最后ー帧正常数据的后向相位,该后向相位等于最后一个波峰与帧尾的时间差,计算丢失帧的前向相位,前向相位为语音数据帧头与第一个基音周期波峰的时间间隔,等于基音周期与后向相位的差,在所接收到的正常数据中截取最后ー帧相位与前向相位相同的数据,作为补偿数据,由此,基于声音的渐变特性,近似认为相邻周期的基音周期相同或变化趋势是稳定的,从而估计出丢失帧的前向相位,再通过移相得到补偿数据,使得补偿数据更接近丢失数据,减小语音数据的失真,且不会造成时延。为便于理解,下面以另ー实施例详细描述本发明实施例中的语音数据丢包的补偿方法,请參与图3,本发明实施例中的语音数据丢包的补偿办法的另ー个实施例包括201、当侦测到丢失帧时,在接收到的语音数据中提取基音周期;202、计算接收到的最后ー帧正常语音数据的后向相位,所述后向相位为语音数据的帧尾与最后ー个基音周期波峰的时间间隔;203、计算丢失帧的前向相位,该前向相位为语音数据帧头与第一个基音周期波峰的时间间隔,数值大小等于基音周期与该后向相位的差;204、根据已收到语音数据的相位变化值,修正该前向相位;根据已经收到语音数据的相位变化值,修正tp的值,相位变化值反映相位变化趋势,则根据最近两帧的前向相位修正所计算出的前向相位tp。进ー步地,修正方法可以为,将最后一帧的前两帧前向相位之差,与当前的前向相位相加,得到当前的前向相位的修正值,具体地,设前两帧的前向相位分别为tpl、tp2,则修正后的前向相位的值tp' =tp+(tp2-tpl)。205、修正该补偿数据的频率和幅度;本实施例中,修正补偿数据的频率和幅度的方式,与步骤204中修正补偿数据的前向相位相同,具体地,将所接收的数据最后一帧的前两帧频率之差,与当前频率相加,得到补偿数据的频率的修正值,将所接收的数据最后一帧的前两帧幅度之差,与当前幅度相カロ,得到补偿数据的幅度的修正值。206、在所接收到的数据中,截取最后一帧相位与修正后的前向相位相同的数据,作为补偿数据;为使得补偿数据更接近丢失数据,截取所接收到的数据中最接近丢失数据的数据帧相位为前向相位tp’的数据,作为补偿数据,也即截取所接收到的数据中最后ー帧相位为前向相位tp’的数据,作为补偿数据。207、将该补偿数据进行平滑处理,得到最終补偿数据。根据补偿数据与前一帧数据在帧之间的衔接处的差值,以及当前时刻的幅度,将得到的补偿数据进行平滑处理,具体地,该补偿数据的前一帧的最后一个点的幅度为A0,T为数据帧长度,N为可调参数,I < N < 10,t为距T/N处的时间差,0 < t < T/N,补偿数据
的幅度在t时刻为A (t)0步骤206中得到的补偿数据与该前一帧数据的幅度在两帧衔接
处存在差值AA=AO-A(O),则平滑后的数据幅度A’ (t)=A (t)+ ( AA/(T/N) XtX需要说明的是,将该补偿数据作为正常接收的数据存放在数据缓存区中,若后续
发生连续丢包,可将该补偿数据作为基准数据,按照前述20广205的步骤获得补偿数据。以下是根据本实施例中的语音数据丢包的补偿方法,对语音数据丢包进行实际的
补偿效果表,平均主观得分(MOS,Mean Opinion Score)改善情况明显。
权利要求
1.一种语音数据丢包的补偿方法,其特征在于,包括 当侦测到丢失帧时,在接收到的语音数据中提取基音周期; 计算接收到的最后ー帧正常语音数据的后向相位,所述后向相位为语音数据的帧尾与最后ー个基音周期波峰的时间间隔; 计算所述丢失帧的前向相位,所述前向相位为语音数据帧头与第一个基音周期波峰的时间间隔,为基音周期与所述后向相位的差; 在所接收到的数据中,截取最后一帧相位与所述前向相位相同的数据,作为补偿数据。
2.根据权利要求I所述的方法,其特征在于,所述计算所述丢失帧的前向相位之后包括 根据已收到语音数据的相位变化值,修正所述前向相位。
3.根据权利要求I或2所述的方法,其特征在于,所述根据已收到语音数据的相位变化值,修正所述前向相位包括 将所述最后ー帧的前两帧前向相位之差,与所述前向相位相加,得到所述前向相位的修正值。
4.根据权利要求I至3任一项所述的方法,其特征在于,所述根据已收到语音数据的相位变化值,修正所述前向相位之后包括 修正所述补偿数据的频率和幅度。
5.根据权利要求4所述的方法,其特征在干,所述修正所述补偿数据的频率和幅度包括 将所述最后ー帧的前两帧频率之差,与当前频率相加,得到所述补偿数据的频率的修正值; 将所述最后ー帧的前两帧幅度之差,与当前幅度相加,得到所述补偿数据的幅度的修正值。
6.根据权利要求I至5任一项所述的方法,其特征在于,所述修正所述补偿数据的频率和幅度之后包括 将所修正的补偿数据进行平滑处理。
7.根据权利要求I至5任一项所述的方法,其特征在于,所述将所修正的补偿数据进行平滑处理具体包括 根据补偿数据与前一帧数据在帧之间的衔接处的差值,以及当前时刻的幅度,将得到的补偿数据进行平滑处理。
8.一种语音数据丢包的补偿装置,其特征在于,包括 提取单元,用于当侦测到丢失帧时,在接收到的语音数据中提取基音周期; 计算单元,用于计算接收到的最后ー帧正常语音数据的后向相位,所述后向相位为语音数据的帧尾与最后ー个基音周期波峰的时间间隔; 所述计算単元,还用于计算所述丢失帧的前向相位,所述前向相位为语音数据帧头与第一个基音周期波峰的时间间隔,为基音周期与所述后向相位的差; 截取单元,用于在所接收到的数据中,截取最后一帧相位与所述前向相位相同的数据,作为补偿数据。
9.根据权利要求8所述的装置,其特征在于,所述装置还包括修正単元,用于根据已收到语音数据的相位变化值,修正所述前向相位; 所述修正単元,还用于修正所述补偿数据的频率和幅度。
10.根据权利要求8或9所述的装置,其特征在干, 所述计算単元,还用于将所述最后ー帧的前两帧前向相位之差,与所述前向相位相加,得到所述前向相位的修正值; 所述计算単元,还用于将所述最后ー帧的前两帧频率之差,与当前频率相加,得到所述补偿数据的频率的修正值,将所述最后一帧的前两帧幅度之差,与当前幅度相加,得到所述补偿数据的幅度的修正值。
11.根据权利要求8至10任一项所述的装置,其特征在于,所述装置还包括 处理单元,用于将所修正的补偿数据进行平滑处理,具体为根据补偿数据与前ー帧数据在帧之间的衔接处的差值,以及当前时刻的幅度,将得到的补偿数据进行平滑处理。
全文摘要
本发明实施例公开了一种语音数据丢包的补偿方法及装置,用于补偿丢失的语音数据包。本发明实施例方法包括当侦测到丢失帧时,在接收到的语音数据中提取基音周期,计算接收到的最后一帧正常语音数据的后向相位,根据该后向相位计算所述丢失帧的前向相位,在所接收到的数据中,截取最后一帧相位与该前向相位相同的数据,作为补偿数据。
文档编号H04L1/00GK102833037SQ20121024868
公开日2012年12月19日 申请日期2012年7月18日 优先权日2012年7月18日
发明者刘金华 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1