一种实现丢包隐藏的方法和装置制造方法及图纸

技术编号:3980808 阅读:170 留言:0更新日期:2012-04-11 18:40
本发明专利技术实施例公开了实现丢包隐藏的方法和装置,通过结合丢失帧之前的数据和丢失帧之后的数据恢复丢失帧的技术方案增强了恢复的丢失帧数据与丢失帧之后的数据之间的相关性,进而改善了恢复的丢失帧数据与丢失帧之后的数据之间相位的连续性,提高了语音数据的质量。

【技术实现步骤摘要】

本专利技术涉及网络通信
,尤指一种实现丢包隐藏的方法和装置
技术介绍
最初,IP网络是为传输包含较大的包且不需要实时可靠传送的数据流而设计的。 而现在IP网络中也传输语音数据。语音的传输需要实时可靠地传送较小的语音包,当一个 语音包在传输过程中被丢弃时,通常没有时间重新传送该被丢弃的包。另外,当一个语音包 经过了一段较长的路由而在需要播放时不能及时到达时,这个包已经失去了存在的意义。 因此在基于IP网络协议的语音(VoIP,Voice over Internet Protocol)系统中,语音包不 能及时到达或不能到达时,都被认为该语音包丢失了。网络传输过程中的丢包是在网络传输语音数据时服务质量下降的主要原因。而丢 包隐藏技术是指通过合成的数据包补偿丢失的包,来减小传输过程中的丢包对语音质量的 影响。如果没有有效的语音丢包隐藏技术,即使是设计和管理得最好的IP网络也不能提供 长话级品质的通信。而设计良好的解决丢包问题的技术,能很大程度上提高语音传输的质 量。因此在现有技术中,不同的机制被用来隐藏由于丢包引起的影响。例如G. 711协议的 附录1中记录了以基音波形替代为基础的丢包隐藏方法。基音波形替代是一种基于收端的处理技术,它根据语音的特点对丢失的数据帧进 行补偿。下面介绍基音波形替代技术的原理、实现过程以及存在的缺点。在语音信号中,一般清音从波形上看是杂乱无章的,而浊音在波形上则表现出周 期性。基音波形替代的主要原理是首先,利用丢失帧前一帧的信息,即波形缺口位置的前 一帧的信息来估计出基音周期P,然后,用缺口位置之前的,长度为P的一段波形来补偿波 形的缺口。图1是现有技术中利用基音波形补偿丢失帧的示意图。如图1所示,帧2为丢 失的音频帧,帧长为L,帧1是帧2之前的音频帧,帧3是帧2之后的音频帧,且帧1和帧2 都是完好的数据帧。假定已经检测出丢失帧前一帧,即帧2对应的基音周期为P,在图1中 用区间1表示,那么根据浊音的周期性特点,就可以把丢失帧的前一帧的最后一个基音周 期的数据,也就是区间1对应的数据复制到丢失帧,以重建丢失帧2的信号。如果一个基音 周期的数据不足以把丢失帧的空缺填满,即基音周期P <丢失帧的帧长L,则重复复制区间 1的数据到丢失帧的空缺进行填充。例如在图1中,L = 2P,因此在复制区间1中的数据到 区间2之后,还要再次复制区间1中的数据到区间3,即需要两个基音周期才能填满丢失帧。在现有技术中一般使用自相关分析的方法来获得基音波形替代方法中所使用的 基音周期P。自相关分析是一种常用的语音时域波形分析方法,由相关函数来定义。相关函 数可用来测定信号间的时域相似性,当进行相关的两个信号完全不同时,相关函数的值接 近于零;当进行相关的两个信号的波形相同时,则会在超前或滞后处出现峰值。因此,自相关函数可用于研究信号本身,如波形的同步性、周期性等等。图2是现有技术中利用自相关分析来计算基音周期的方法的示意图。在图2中, 长度为35ms的语音数据是历史缓冲区(HB)中的一段数据,即丢失帧之前的一段数据。TW 是模版窗,该窗的尾部与HB中数据的尾部对齐,R对应TW在HB中的起始位置。由于最大 可能基音周期为15ms,因此通常取TW的长度W为20ms。SW是滑动窗,其窗长与模版窗TW 的长度相同,也为20ms,TW的位置保持不变,而SW的起始位置L从HB的起始位置1点开始 滑动到Q点,从HB的1点到Q点的长度等于最大可能基音周期减去最小可能基音周期。在 Sff的滑动过程中计算SW中的采样点和TW中的采样点的自相关值,以搜索最佳匹配点,在 最佳匹配点处SW中的采样点信号与TW中的采样点信号的自相关值最大。则最佳匹配点和 Tff的起始位置R之间的距离P即为所估计的基音周期。在上述过程中,用x(i)表示HB中的第i个采样点,且HB中采样点个数,即35ms 数据中的采样点个数为LEN,SW和TW中采样点个数,即20ms数据中的采样点个数为W,则 SW中的采样点信号与TW中的采样点信号的相关函数CR如公式(1)所示<formula>formula see original document page 6</formula><formula>formula see original document page 6</formula>其中,SW和TW分别表示滑动窗和模板窗中的采样点序列,k为与滑动窗SW的起始 位置L对应的HB中的采样点的序号,也就是SW向右滑动的距离。在现有技术标准中用k 点对应的SW与TW的自相关值与滑动窗SW的能量比值作为匹配值corr(k),如公式(2)所 示corr(k)= . CR(k)(2)V m=l最佳匹配点BK是在搜索过程中于匹配值的最大值BC(Best Corr)对应的k点的 位置,BC如公式(3)所示BC = max {corr (k) 11 彡 k 彡 MaxPitch-MinPitch}(3)其中,MaxPitch是最大可能基音周期长度数据中的采样点个数,MinPitch是最小 可能基音周期长度数据中的采样点个数。计算出最佳匹配点BK后,即可估计出基音周期P,如公式(4)所示P = MaxPitch-BK+1(4)为了减少计算量,在现有技术中给出了先隔点抽样计算匹配值,找出一个粗糙的 匹配点,然后在匹配点附近逐点计算匹配值,以进一步精确最佳匹配点的位置的方法。得到HB中数据的基音周期P后,如果直接用HB中最后基音周期长度的数据对丢 失帧缺口进行重复填充,则会在两个基音周期数据的拼接处产生波形的突变。为了保证拼 接处的平滑,在用HB中的最后一个基音周期的数据对丢失帧进行填充之前,要对HB中最后 1/4基音周期的数据进行平滑处理。图3是现有技术中对历史缓冲区中最后1/4基音周期 的数据进行平滑处理的示意图。如图3所示,将HB中最后一个基音周期之前的四分之一基音周期数据乘以上升窗,将HB最后四分之一基音周期数据乘以下降窗,并将上述两个1/4 基音周期的数据做叠加,然后用叠加得到的1/4基音周期数据替换掉HB中最后1/4基音周 期中的内容,以保证HB中的前帧原始信号和填充的丢失帧信号之间的平滑过渡。对HB中的最后一个基音周期的数据进行图3所示的平滑处理后,对丢失帧进行补 偿。图4是现有技术中用平滑后的基音周期数据补偿丢失帧的示意图。如图4所示,信号 “Input”是丢失了两个帧的音频信号,且丢失帧之前的1/4基音周期数据,即历史缓冲区HB 中的最后1/4基音周期数据已经用图3所示的方法进行了平滑。用HB中最后一个基音周 期的数据填满第一个丢失帧后,需要在第一个丢失帧的尾部延伸1/4基音周期的长度的数 据,如信号“After 10ms”所示。在用HB中的最后一个基音周期数据填充第一个丢失帧时还需要保存一个和基音 周期相关的数据的偏移量OFFSET,它将用在有连续丢包的情况下。假定基音周期的长度为 P,完整一帧对应的长度为L,则填满一帧后,OFFSET的值为0FFSET = L% P。在图4中,将第一个丢失帧填满后,将历史缓冲区HB尾部的两个基音周期的数据 放入到一个缓冲区PB中,然后在HB尾部向后二又四本文档来自技高网...

【技术保护点】
一种实现丢包隐藏的方法,其特征在于,该方法包括:设置长度与丢失数据长度相等的丢失帧主缓冲区和丢失帧临时缓冲区;利用丢失数据之前的已知数据中的一个基音周期数据,填充丢失帧主缓冲区;利用丢失数据之后的已知数据中的一个基音周期数据,或利用丢失数据之前的已知数据中的一个基音周期数据,填充丢失帧临时缓冲区;对丢失帧主缓冲区和丢失帧临时缓冲区中的数据进行叠加处理,并用所述叠加处理后的数据补偿丢失帧。

【技术特征摘要】

【专利技术属性】
技术研发人员:詹五洲王东琦
申请(专利权)人:华为终端有限公司
类型:发明
国别省市:94[中国|深圳]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1
相关领域技术
  • 暂无相关专利