一种变换域的丢帧补偿方法及装置制造方法
【专利摘要】本发明公开了一种变换域的丢帧补偿方法及装置,包括:使用当前丢失帧的前一帧或前若干帧的频域系数,计算当前丢失帧的频域系数,进行频域-时域变换得到初始补偿信号;进行波形调整,得到补偿信号,以较低运算复杂度,达到了更好的补偿效果。或对当前丢失帧的全部或部分频点,利用前若干帧的相应频点的相位和幅值,外推得到当前丢失帧相应频点的相位和幅值,进而得到相应频点的频域系数,通过频域-时域变换得到补偿信号,大大提高了音调帧的补偿效果。可通过判断算法选择上述方法补偿当前丢失帧,达到更好的补偿效果。对语音信号帧和音乐信号帧差异化处理,在各种场景下都能获得良好的补偿效果。通过增益调整,平稳补偿能量,减小补偿噪声。
【专利说明】一种变换域的丢帧补偿方法及装置
【技术领域】
[0001]本发明涉及语音频编解码领域,尤其涉及一种变换域的丢帧补偿方法及装置。
【背景技术】
[0002]在网络通信中,分组技术应用十分广泛,各种形式的信息如语音或者音频等数据通过编码后采用分组技术在网络上传输,如VoIP(网络电话)等。由于信息发送端发送容量的限制,或在指定延迟时间内分组信息帧没有到达接收端缓冲区,或是网络拥挤堵塞等造成帧信息的丢失,引起解码端合成音质的急剧下降,因此需要采用补偿技术对丢失帧的数据进行补偿。丢帧补偿技术就是一种减轻这种由于丢帧导致的音质下降的技术。
[0003]相关的变换域语音频丢帧补偿方法最为简单的是采用重复前一帧的变换域信号或者使用静音替代的方法。该方法虽然实现简单且没有延迟,但是补偿效果一般;其他的补偿方式如GAPES(缺口数据幅值相位估计技术)需要先将MDCT系数转化成DSTFT(离散短时傅里叶变换)系数再进行补偿,该方法运算复杂度高,消耗内存多;另一种方法采用整形噪声插入技术进行语音频丢帧补偿,该方法对类噪声信号的补偿效果较好,对谐波音频信号的补偿效果甚差。
[0004]综上所述,相关的变换域丢帧补偿技术多数效果不明显,运算复杂度高和延迟时间过长,或是对某些信号补偿效果较差。
【发明内容】
[0005]本发明要解决的技术问题是提供一种变换域的丢帧补偿方法及装置,能够以较低的运算复杂度,实现无延时的,更好的补偿效果。
[0006]为解决上述技术问题,本发明的一种变换域的丢帧补偿方法,所述方法包括:
[0007]使用当前丢失帧的前一帧或前若干帧的频域系数,计算当前丢失帧的频域系数,对计算得到的当前丢失帧的频域系数进行频域-时域变换,得到当前丢失帧的初始补偿信号;
[0008]对所述初始补偿信号进行波形调整,得到当前丢失帧的补偿信号。
[0009]进一步地,对所述初始补偿信号进行波形调整,得到当前丢失帧的补偿信号,包括:
[0010]对当前丢失帧进行基音周期估计,判断基音周期估计得到的基音周期值是否可用,如果基音周期值不可用,则将当前丢失帧的初始补偿信号作为当前丢失帧的补偿信号;如果基音周期值可用,则使用当前丢失帧的前一帧的时域信号对初始补偿信号进行波形调
難
iF.ο
[0011]进一步地,对当前丢失帧进行基音周期估计,包括:
[0012]对当前丢失帧之前的最后一个正确接收帧的时域信号进行基音搜索,得到当前丢失帧之前的最后一个正确接收帧的基音周期值和最大归一化自相关值,将得到的基音周期值作为当前丢失帧的基音周期值。[0013]进一步地,还包括:
[0014]在对当前丢失帧之前的最后一个正确接收帧的时域信号进行基音搜索之前,对当前丢失帧之前的最后一个正确接收帧的时域信号进行低通滤波或降采样处理,对低通滤波或降采样处理后的当前丢失帧之前的最后一个正确接收帧的时域信号进行基音搜索。
[0015]进一步地,对当前丢失帧进行基音周期估计,包括:
[0016]计算出当前丢失帧之前的最后一个正确接收帧的基音周期值,将计算得到的基音周期值作为当前丢失帧的基音周期值,利用计算得到的基音周期值计算出当前丢失帧的最大归一化自相关值。
[0017]进一步地,判断基音周期估计得到的基音周期值是否可用,包括:
[0018]判断是否满足下面条件中的任意一个,如果满足任意一个,则认为基音周期值不可用,包括:
[0019](I)第一丢失帧的初始补偿信号的过零率大于第一阈值Z1,其中,Z1 > O ;
[0020](2)当前丢失帧之前的最后一个正确接收帧的低频能量与整帧能量的比值小于第二阈值ER1,其中,ER1 > O ;
[0021](3)当前丢失帧之前的最后一个正确接收帧的谱倾斜小于第三阈值TILT,其中,O
<TILT < I ;
[0022](4)当前丢失帧之前的最后一个正确接收帧的后半帧的过零率超过前半帧的过零
率若干倍。
[0023]进一步地,还包括:
[0024]在判断不满足所述条件(I)?条件(4)中的任意一个时,按照以下原则进行基音周期值是否可用的判断:
[0025](a)在当前丢失帧位于静音段时,认为基音周期值不可用;
[0026](b)在当前丢失帧不位于静音段,且所述最大归一化自相关值大于第四阈值民时,认为基音周期值可用,其中,O < R2 < I ;
[0027](c)在不符合原则(a)和原则(b),且当前丢失帧之前的最后一个正确接收帧的过零率大于第五阈值Z3,认为基音周期值不可用,其中,Z3 > O ;
[0028](d)在不符合原则(a)、(b)和(C),且此时的长时对数能量与当前丢失帧之前的最后一个正确接收帧的对数能量的差大于第六阈值E4时,认为基音周期值不可用,其中,E4 >O ;
[0029](e)在不符合原则(a)、(b)、(c)和(d)且当前丢失帧之前的最后一个正确接收帧的对数能量与此时的长时对数能量的差超过第七阈值E5,并且所述最大归一化自相关值大于第八阈值R3时,认为基音周期值可用,其中,E5 >0,O < R3 < I ;
[0030](f)在不符合原则(a)、(b)、(c)、(d)和(e)时,检查当前丢失帧之前的最后一个正确接收帧的谐波特性,当表示谐波特性的值小于第九阈值H时,认为基音周期值不可用;当表示谐波特性的值大于等于第九阈值H时,认为基音周期值可用,其中,H < I。
[0031]进一步地,使用当前丢失帧的前一帧的时域信号对初始补偿信号进行波形调整,包括:
[0032]⑴建立长度为L+Q的缓存区,L为帧长,L1 > O ;
[0033](ii)对缓存区的前L1个单元进行初始化,所述初始化包括:在当前丢失帧为第一丢失帧时,配置缓存区的前L1个单元为当前丢失帧的初始补偿信号的前L1长度的信号;在当前丢失帧不为第一丢失帧时,配置缓存区的前L1个单元为对当前丢失帧的前一个丢失帧的初始补偿信号进行波形调整时所用缓存区中的最后L1长度的信号;
[0034](iii)将当前丢失帧的前一帧的最后一个基音周期的时域信号连同缓存区中的L1长度的信号一起,不断重复复制到缓存区中,直至填满缓存区,在进行每次复制时,如果缓存区中已有的信号的长度为1,那么此次复制将信号复制到缓存区的1-L1到1+T-1的位置上,其中I > 0,T为基音周期,对于形成的长度为L1的交叠区,交叠区中的信号由两部分信号加窗后对应点相加而得到;
[0035](iv)将缓存区中的前L长度的信号作为当前丢失帧的补偿信号。
[0036]进一步地,还包括:
[0037]为当前丢失帧之后的第一个正确接收帧,构建长度为L的缓存区,按照步骤(ii)和步骤(iii)相应的方法填满缓存区,将缓存区中的信号与对所述当前丢失帧之后的第一个正确接收帧解码得到的时域信号做加窗交叠相加,将得到的信号作为所述当前丢失帧之后的第一个正确接收帧的时域信号。
[0038]进一步地,使用当前丢失帧的前一帧的时域信号对初始补偿信号进行波形调整,包括:
[0039]构建长度为kL的缓存区,L为帧长,k>0 ;
[0040]对缓存区的前L1个单元进行初始化,其中,L1 > 0,所述初始化包括:在当前丢失帧为第一丢失帧时,配置缓存区的前L1个单元为当前丢失帧的初始补偿信号的前L1长度的信号;在当前丢失帧不为第一丢失帧时,配置缓存区的前L1个单元为对当前丢失帧的前一个丢失帧的初始补偿信号进行波形调整时所用缓存区中的最后L1长度的信号;
[0041]将当前丢失帧的前一帧的最后一个基音周期的时域信号连同缓存区中的L1长度的信号一起,不断重复复制到缓存区中,直至填满缓存区得到长度为kL的时域信号,在进行每次复制时,如果缓存区中已有的信号的长度为1,那么此次复制将信号复制到缓存区的1-L1到1+T-1的位置上,其中I > 0,T为基音周期,对于形成的长度为L1的交叠区,交叠区中的信号由两部分信号加窗后对应点相加而得到;
[0042]按照时序顺序将缓存区中的信号依次作为当前丢失帧到第q丢失帧的补偿信号,在q小于k时,将缓存区中的第q+Ι帧信号与对当前丢失帧之后的第一个正确接收帧解码得到的时域信号做交叠相加,将得到的信号作为当前丢失帧之后的第一个正确接收帧的时域信号;或者,
[0043]按照时序顺序将缓存区中的前k-Ι帧信号依次作为当前丢失帧到第k-Ι丢失帧的补偿信号,缓存区中的第k帧信号用于与第k丢失帧的初始补偿信号做交叠相加,将得到的信号作为第k丢失帧的补偿信号。
[0044]进一步地,还包括:
[0045]在对初始补偿信号进行波形调整后,还将波形调整后的信号乘以一个增益,将乘以增益后的信号作为当前丢失帧的补偿信号。
[0046]进一步地,在进行基音搜索时,对于语音信号巾贞和音乐信号巾贞使用不同的基音搜索上下限。
[0047]进一步地,在当前丢失帧之前的最后一个正确接收帧为语音信号帧时,使用上述方法判断当前丢失帧的基音周期值是否可用。
[0048]进一步地,在当前丢失帧之前的最后一个正确接收帧为音乐信号帧时,使用以下方法判断当前丢失帧的基音周期值是否可用,包括:
[0049]如果当前丢失帧位于静音段,认为基音周期值不可用;或者,
[0050]如果当前丢失巾贞不位于静音段,最大归一化自相关值大于第十九阈值R4, O < R4
<I,认为基音周期值可用;最大归一化自相关值不大于R4,认为基音周期值不可用。
[0051]进一步地,还包括:在得到当前丢失帧的补偿信号后,在补偿信号中添加噪声。
[0052]进一步地,在补偿信号中添加噪声,包括:
[0053]将历史信号或初始补偿信号本身,通过一个高通滤波器或者频谱倾斜滤波器得到
噪声信号;
[0054]估计当前丢失帧的噪声增益值;
[0055]将得到的噪声信号乘以估计得到的当前丢失帧的噪声增益值,将乘噪声增益值后的噪声信号加入所述补偿信号中。
[0056]进一步地,还包括:
[0057]在得到当前丢失帧的补偿信号之后,还将补偿信号乘以尺度因子。
[0058]进一步地,还包括:
[0059]在得到当前丢失帧的补偿信号之后,根据当前丢失帧的帧类型,确定是否将当前丢失帧的补偿信号乘以尺度因子,如果确定乘以尺度因子,则进行所述将补偿信号乘以尺度因子的操作。
[0060]进一步地,一种变换域的丢帧补偿方法,所述方法包括:
[0061]获得当前丢失帧之前若干帧的各频点的相位和幅值;
[0062]对获得的当前丢失帧之前若干帧的各频点的相位和幅值进行线性或非线性外推,得到当前丢失帧的各频点的相位和幅值;
[0063]通过当前丢失帧的各频点的相位和幅值得到当前丢失帧的各频点的频域系数,通过频域-时域变换得到当前丢帧的补偿信号。
[0064]进一步地,获得当前丢失帧之前若干帧的各频点的相位和幅值;对获得的当前丢失帧之前若干帧的各频点的相位和幅值进行线性或非线性外推,得到当前丢失帧的各频点的相位和幅值;通过当前丢失帧的各频点的相位和幅值得到当前丢失帧的各频点的频域系数,包括:
[0065]在当前丢失帧为第P帧时,对当前丢失帧之前的若干帧时域信号,采用改进的离散正弦变换MDST算法得到第p-2帧和第p-3帧的MDST系数,将得到的第p-2帧和第p-3帧的MDST系数与第p-2帧和第p-3帧的MDCT系数组成MDCT-MDST域的复数信号;
[0066]将第p-2帧和第p-3帧的相位线性外推得到第P帧各频点的MDCT-MDST域的复数信号的相位;
[0067]使用第p-2帧相应频点的幅值代替第P帧各频点的幅值;
[0068]根据第P帧各频点的MDCT-MDST域的复数信号的相位和第P帧各频点的幅值推断第P帧在各频点的MDCT系数。
[0069]进一步地,还包括:
[0070]根据当前丢失帧之前的最近c个正确接收帧的帧类型,选择是否对当前丢失帧的各频点均利用当前丢失帧之前若干帧的各频点处的相位和幅值,进行线性或非线性外推得到当前丢失帧的各频点的相位和幅值。
[0071]进一步地,还包括:
[0072]在得到当前丢失帧的补偿信号之后,还将补偿信号乘以尺度因子。
[0073]进一步地,还包括:
[0074]在得到当前丢失帧的补偿信号之后,根据当前丢失帧的帧类型,确定是否将当前丢失帧的补偿信号乘以尺度因子,如果确定乘以尺度因子,则进行所述将补偿信号乘以尺度因子的操作。
[0075]进一步地,一种变换域的丢帧补偿方法,所述方法包括:
[0076]通过判断算法,选择使用上述的第一种方法或者上述的第二种方法补偿当前丢失帧。
[0077]进一步地,通过判断算法,选择使用上述的第一种方法或者上述的第二种方法补偿当前丢失帧,包括:
[0078]判断帧类型,如果当前丢失帧为音调帧,则使用上述的第二种方法补偿当前丢失帧;如果当前丢失帧为非音调帧,则使用上述的第一种方法补偿当前丢失帧。
[0079]进一步地, 判断帧类型,包括:
[0080]获取当前丢失帧的前η个正确接收帧的帧类型标识,如果前η个正确接收帧中音调帧的数目大于第十一阈值IV则认为当前丢失帧为音调帧;否则认为当前丢失帧为非音调中贞,其中,O ^ n0 ^ η, n ^ I。
[0081]进一步地,包括:
[0082]计算帧的谱平坦度,判断谱平坦度的值是否小于第十阈值K,如果小于K则认为该帧为音调帧;否则,认为该帧为非音调帧,其中,O < K < I。
[0083]进一步地,在计算谱平坦度时,用于计算的频域系数是时域-频域变化后原始的频域系数,或是将原始频域系数经过频谱整形后的频域系数。
[0084]进一步地,判断帧类型,包括:
[0085]使用时域-频域变化后原始的频域系数以及将原始频域系数经过频谱整形后的频域系数分别计算帧的谱平坦度,得到帧对应的两个谱平坦度;
[0086]根据得到的其中一个谱平坦度的值是否小于第十阈值K,设定该帧是否为音调帧;根据得到的其中另一个谱平坦度的值是否小于另一阈值K’,重新设定该帧是否为音调帧;
[0087]其中,在谱平坦度的值小于K时,则设定帧为音调帧;否则,设定帧为非音调帧,在另一个谱平坦度的值小于K’时,重新设定该帧为音调帧;其中,O < KS 1,0 < K’ < I。
[0088]进一步地,一种变换域的丢帧补偿装置,所述装置包括:频域系数计算单元、变换单元和波形调整单元,其中:
[0089]所述频域系数计算单元,用于使用当前丢失帧的前一帧或前若干帧的频域系数,计算当前丢失帧的频域系数;
[0090]所述变换单元,用于对所述频域系数计算单元计算得到的当前丢失帧的频域系数进行频域-时域变换,得到当前丢失帧的初始补偿信号;
[0091]所述波形调整单元,用于对所述初始补偿信号进行波形调整,得到当前丢失帧的补偿信号。[0092]进一步地,所述波形调整单元,具体用于对当前丢失帧进行基音周期估计,判断基音周期估计得到的基音周期值是否可用,如果基音周期值不可用,则将当前丢失帧的初始补偿信号作为当前丢失帧的补偿信号;如果基音周期值可用,则使用当前丢失帧的前一帧的时域信号对初始补偿信号进行波形调整。
[0093]进一步地,所述波形调整单元包括基音周期子单元,其中:
[0094]所述基音周期子单元,用于对当前丢失帧之前的最后一个正确接收帧的时域信号进行基音搜索,得到当前丢失帧之前的最后一个正确接收帧的基音周期值和最大归一化自相关值,将得到的基音周期值作为当前丢失帧的基音周期值;或者,
[0095]计算出当前丢失帧之前的最后一个正确接收帧的基音周期值,将计算得到的基音周期值作为当前丢失帧的基音周期值,利用计算得到的基音周期值计算出当前丢失帧的最大归一化自相关值。
[0096]进一步地,所述基音周期子单元,还用于在对当前丢失帧之前的最后一个正确接收帧的时域信号进行基音搜索之前,对当前丢失帧之前的最后一个正确接收帧的时域信号进行低通滤波或降采样处理,对低通滤波或降采样处理后的当前丢失帧之前的最后一个正确接收帧的时域信号进行基音搜索。
[0097]进一步地,所述波形调整单元包括基音周期值判断子单元,其中:
[0098]所述基音周期值判断子单元,用于判断是否满足下面条件中的任意一个,如果满足任意一个,则认为基音周期值不可用,包括:
[0099](I)第一丢失帧的初始补偿信号的过零率大于第一阈值Z1,其中,Z1 > O ;
[0100](2)当前丢失帧之前的最后一个正确接收帧的低频能量与整帧能量的比值小于第二阈值ER1,其中,ER1 > O ;
[0101](3)当前丢失帧之前的最后一个正确接收帧的谱倾斜小于第三阈值TILT,其中,O
<TILT < I ;
[0102](4)当前丢失帧之前的最后一个正确接收帧的后半帧的过零率超过前半帧的过零
率若干倍。
[0103]进一步地,所述基音周期值判断子单元,还用于在判断不满足所述条件(I)?条件(4)中的任意一个时,按照以下原则进行基音周期值是否可用的判断:
[0104](a)在当前丢失帧位于静音段时,认为基音周期值不可用;
[0105](b)在当前丢失帧不位于静音段,且所述最大归一化自相关值大于第四阈值民时,认为基音周期值可用,其中,O < R2 < I ;
[0106](c)在不符合原则(a)和原则(b),且当前丢失帧之前的最后一个正确接收帧的过零率大于第五阈值Z3,认为基音周期值不可用,其中,Z3 > O ;
[0107](d)在不符合原则(a)、(b)和(C),且此时的长时对数能量与当前丢失帧之前的最后一个正确接收帧的对数能量的差大于第六阈值E4时,认为基音周期值不可用,其中,E4 >O ;
[0108](e)在不符合原则(a)、(b)、(c)和⑷且当前丢失帧之前的最后一个正确接收帧的对数能量与此时的长时对数能量的差超过第七阈值E5,并且所述最大归一化自相关值大于第八阈值R3时,认为基音周期值可用,其中,E5 >0,O < R3 < I ;
[0109](f)在不符合原则(a)、(b)、(c)、(d)和(e)时,检查当前丢失帧之前的最后一个正确接收帧的谐波特性,当表示谐波特性的值小于第九阈值H时,认为基音周期值不可用;当表示谐波特性的值大于等于第九阈值H时,认为基音周期值可用,其中,H < I。
[0110]进一步地,所述波形调整单元包括调整子单元,其中:
[0111]所述调整子单元,用于(i)建立长度为L+U的缓存区,L为帧长,L1X);
[0112](ii)对缓存区的前L1个单元进行初始化,所述初始化包括:在当前丢失帧为第一丢失帧时,配置缓存区的前L1个单元为当前丢失帧的初始补偿信号的前L1长度的信号;在当前丢失帧不为第一丢失帧时,配置缓存区的前L1个单元为对当前丢失帧的前一个丢失帧的初始补偿信号进行波形调整时所用缓存区中的最后L1长度的信号;
[0113](iii)将当前丢失帧的前一帧的最后一个基音周期的时域信号连同缓存区中的L1长度的信号一起,不断重复复制到缓存区中,直至填满缓存区,在进行每次复制时,如果缓存区中已有的信号的长度为1,那么此次复制将信号复制到缓存区的1-L1到1+T-1的位置上,其中I > 0,T为基音周期,对于形成的长度为L1的交叠区,交叠区中的信号由两部分信号加窗后对应点相加而得到;
[0114](iv)将缓存区中的前L长度的信号作为当前丢失帧的补偿信号。
[0115]进一步地,所述调整子单元,还用于为当前丢失帧之后的第一个正确接收帧,构建长度为L的缓存区,按照步骤(ii)和步骤(iii)相应的方法填满缓存区,将缓存区中的信号与对所述当前丢失帧之后的第一个正确接收帧解码得到的时域信号做加窗交叠相加,将得到的信号作为所述当前丢失帧之后的第一个正确接收帧的时域信号。
[0116]进一步地,所述波形调整单元包括调整子单元,其中:
[0117]所述调整子单元,用于构建长度为kL的缓存区,L为帧长,k > O ;
[0118]对缓存区的前L1个单元进行初始化,其中,L1 > 0,所述初始化包括:在当前丢失帧为第一丢失帧时,配置缓存区的前L1个单元为当前丢失帧的初始补偿信号的前L1长度的信号;在当前丢失帧不为第一丢失帧时,配置缓存区的前L1个单元为对当前丢失帧的前一个丢失帧的初始补偿信号进行波形调整时所用缓存区中的最后L1长度的信号;
[0119]将当前丢失帧的前一帧的最后一个基音周期的时域信号连同缓存区中的L1长度的信号一起,不断重复复制到缓存区中,直至填满缓存区得到长度为kL的时域信号,在进行每次复制时,如果缓存区中已有的信号的长度为1,那么此次复制将信号复制到缓存区的1-L1到1+T-1的位置上,其中I > 0,T为基音周期,对于形成的长度为L1的交叠区,交叠区中的信号由两部分信号加窗后对应点相加而得到;
[0120]按照时序顺序将缓存区中的信号依次作为当前丢失帧到第q丢失帧的补偿信号,在q小于k时,将缓存区中的第q+Ι帧信号与对当前丢失帧之后的第一个正确接收帧解码得到的时域信号做交叠相加,将得到的信号作为当前丢失帧之后的第一个正确接收帧的时域信号;或者,
[0121]按照时序顺序将缓存区中的前k-Ι帧信号依次作为当前丢失帧到第k-Ι丢失帧的补偿信号,缓存区中的第k帧信号用于与第k丢失帧的初始补偿信号做交叠相加,将得到的信号作为第k丢失帧的补偿信号。
[0122]进一步地,所述波形调整单元还包括增益子单元,其中:
[0123]所述增益子单元,用于在对初始补偿信号进行波形调整后,还将波形调整后的信号乘以一个增益,将乘以增益后的信号作为当前丢失帧的补偿信号。[0124]进一步地,所述基音周期子单元在进行基音搜索时,对于语音信号帧和音乐信号帧使用不同的基音搜索上下限。
[0125]进一步地,所述基音周期值判断子单元在当前丢失帧之前的最后一个正确接收帧为语音信号帧时,使用上述方法判断当前丢失帧的基音周期值是否可用。
[0126]进一步地,所述基音周期值判断子单元,还用于在当前丢失帧之前的最后一个正确接收帧为音乐信号帧时,使用以下方法判断当前丢失帧的基音周期值是否可用,包括:
[0127]如果当前丢失帧位于静音段,认为基音周期值不可用;或者,
[0128]如果当前丢失帧不位于静音段,最大归一化自相关值大于第十九阈值R4, O < R4
<I,认为基音周期值可用;最大归一化自相关值不大于R4,认为基音周期值不可用。
[0129]进一步地,所述波形调整单元还包括噪声添加子单元,其中:
[0130]所述噪声添加子单元,用于在得到当前丢失帧的补偿信号后,在补偿信号中添加噪声。
[0131]进一步地,所述噪声添加子单元,具体用于将历史信号或初始补偿信号本身,通过一个高通滤波器或者频谱倾斜滤波器得到噪声信号;
[0132]估计当前丢失帧的噪声增益值;
[0133]将得到的噪声信号乘以估计得到的当前丢失帧的噪声增益值,将乘噪声增益值后的噪声信号加入所述补偿信号中。
[0134]进一步地,所述装置还包括尺度因子单元,其中:
[0135]所述尺度因子单元,用于在所述波形调整单元得到当前丢失帧的补偿信号之后,将补偿信号乘以尺度因子。
[0136]进一步地,所述尺度因子单元,具体用于在所述波形调整单元得到当前丢失帧的补偿信号之后,根据当前丢失帧的帧类型,确定是否将当前丢失帧的补偿信号乘以尺度因子,如果确定乘以尺度因子,则进行所述将补偿信号乘以尺度因子的操作。
[0137]进一步地,一种变换域的丢帧补偿装置,所述装置包括:第一相位幅值获取单元、第二相位幅值获取单元和补偿信号获取单元,其中:
[0138]所述第一相位幅值获取单元,用于获得当前丢失帧之前若干帧的各频点的相位和幅值;
[0139]所述第二相位幅值获取单元,用于对获得的当前丢失帧之前若干帧的各频点的相位和幅值进行线性或非线性外推,得到当前丢失帧的各频点的相位和幅值;
[0140]所述补偿信号获取单元,用于通过当前丢失帧的各频点的相位和幅值得到当前丢失帧的各频点的频域系数,通过频域-时域变换得到当前丢帧的补偿信号。
[0141]进一步地,所述第一相位幅值获取单元,具体用于在当前丢失帧为第P帧时,对当前丢失帧之前的若干帧时域信号,采用改进的离散正弦变换MDST算法得到第p-2帧和第P-3帧的MDST系数,将得到的第p-2帧和第p-3帧的MDST系数与第p_2帧和第p-3帧的MDCT系数组成MDCT-MDST域的复数信号;
[0142]所述第二相位幅值获取单元,具体用于将第p-2帧和第p-3帧的相位线性外推得到第P帧各频点的MDCT-MDST域的复数信号的相位;使用第P-2帧相应频点的幅值代替第P帧各频点的幅值;
[0143]所述补偿信号获取单元,具体用于根据第P帧各频点的MDCT-MDST域的复数信号的相位和第P帧各频点的幅值推断第P帧在各频点的MDCT系数
[0144]进一步地,所述装置还包括频点选择单元,其中:
[0145]所述频点选择单元,用于根据当前丢失帧之前的最近c个正确接收帧的帧类型,选择是否对当前丢失帧的各频点均利用当前丢失帧之前若干帧的各频点处的相位和幅值,进行线性或非线性外推得到当前丢失帧的各频点的相位和幅值。
[0146]进一步地,所述装置还包括尺度因子单元,其中:
[0147]所述尺度因子单元,用于在所述补偿信号获取单元得到当前丢失帧的补偿信号之后,将补偿信号乘以尺度因子。
[0148]进一步地,所述尺度因子单元,具体用于在所述补偿信号获取单元得到当前丢失帧的补偿信号之后,根据当前丢失帧的帧类型,确定是否将当前丢失帧的补偿信号乘以尺度因子,如果确定乘以尺度因子,则进行所述将补偿信号乘以尺度因子的操作。
[0149]进一步地,一种变换域的丢帧补偿装置,所述装置包括:判断单元,其中:
[0150]所述判断单元,用于通过判断算法,选择使用上述的第一种装置或者上述的第二种装置补偿当前丢失帧。
[0151]进一步地,所述判断单元,具体用于判断帧类型,如果当前丢失帧为音调帧,则使用上述的第二种装置补偿当前丢失帧;如果当前丢失帧为非音调帧,则使用上述的第一种装置补偿当前丢失帧。
[0152]进一步地,所述判断单元,具体用于获取当前丢失帧的前η个正确接收帧的帧类型标识,如果前η个正确接收帧中音调帧的数目大于第十一阈值iv则认为当前丢失帧为音调帧;否则认为当前丢失帧为非音调帧,其中,O ≤η0≤η, n≤ 10
[0153]进一步地,所述判断单元,具体用于计算帧的谱平坦度,判断谱平坦度的值是否小于第十阈值K,如果小于K则认为该帧为音调帧;否则,认为该帧为非音调帧,其中,O ≤ K ≤ 1
[0154]进一步地,所述判断单元在计算谱平坦度时,用于计算的频域系数是时域-频域变化后原始的频域系数,或是将原始频域系数经过频谱整形后的频域系数。
[0155]进一步地,所述判断单元,具体用于使用时域-频域变化后原始的频域系数以及将原始频域系数经过频谱整形后的频域系数分别计算帧的谱平坦度,得到帧对应的两个谱平坦度;
[0156]根据得到的其中一个谱平坦度的值是否小于第十阈值K,设定该帧是否为音调帧;根据得到的其中另一个谱平坦度的值是否小于另一阈值K’,重新设定该帧是否为音调帧;
[0157]其中,在谱平坦度的值小于K时,则设定帧为音调帧;否则,设定帧为非音调帧,在另一个谱平坦度的值小于K’时,重新设定该帧为音调帧;其中,O ≤ K≤ 1,0 ≤ K’ ≤1。
[0158]综上所述,本发明使用当前丢失帧的前一帧或前若干帧的频域系数计算当前丢失帧的频域系数,对计算得到的当前丢失帧的频域系数进行频域-时域变换,得到当前丢失帧的初始补偿信号;对初始补偿信号进行波形调整,得到当前丢失帧的补偿信号,能够以较低运算复杂度,达到更好的语音频信号的丢帧补偿效果,并且大大缩短了延迟时间。
【专利附图】
【附图说明】
[0159]图1是本发明中对丢失帧名称定义的示意图;[0160]图2 (A)是本发明实施例1的变换域的丢帧补偿方法的流程图;
[0161]图2(B)是本发明实施例1中计算当前丢失帧的频域系数的方法的示意图;
[0162]图3是本发明实施例1中对初始补偿信号进行波形调整方法的流程图;
[0163]图4是本发明实施例1中波形调整方法的示意图;
[0164]图5本发明实施例2中得到当前丢失帧各频点的频域系数方法的流程图;
[0165]图6是本发明实施例3中的判断算法的流程图;
[0166]图7是本发明实施例4中基音搜索的示意图;
[0167]图8是本发明实施例4中判断搜索得到的当前丢帧的基音周期是否可用的示意图;
[0168]图9是本发明实施例5的流程图;
[0169]图10是本发明实施方式的一种变换域的丢帧补偿装置的架构图;
[0170]图11是本发明实施方式的装置中的波形调整单元的架构图;
[0171]图12是本发明实施方式的另一种变换域的丢帧补偿装置的架构图。
【具体实施方式】
[0172]为使本发明的目的、技术方案和优点更加清楚明白,下文将结合附图对本发明的实施例进行详细说明。需要说明的是,在不`冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。
[0173]如图1所示,紧随正确接收帧的第一个丢失帧被称为第一丢失帧,紧随第一丢失帧的连续的第二个丢失帧被称为第二丢失帧,以此类推。
[0174]实施例1:
[0175]如图2(A)所示,本实施方式的变换域的丢帧补偿方法,包括:
[0176]步骤101:使用当前丢失帧的前一帧或若干帧的频域系数,计算得到当前丢失帧的频域系数,对计算得到的频域系数进行频域-时域变换得到当前丢失帧的初始补偿信号;
[0177]若干帧为两帧或两个以上帧。
[0178]步骤102:对初始补偿信号进行波形调整,得到当前丢失帧的补偿信号;
[0179]下面结合附图分别对步骤101和步骤102进行具体说明。
[0180]如图2(B)所示,计算得到当前丢失帧的频域系数的具体方法包括:
[0181]步骤一:将当前丢失帧的前一帧的频域系数作适当衰减,然后作为当前丢失帧的频域系数,即:
[0182]当前丢失帧为第P帧时,
[0183]cp (m) = a *cp_1 (m), m = O,..., M-1 ;
[0184]其中cp(m)表示第p帧在频点m处的频域系数,M为频点总数,α为衰减系数, a ^ I, α可以对于每个丢失帧采用固定值,也可以对第一丢失帧,第二丢失帧,,
第k丢失帧等采用不同的值。
[0185]也可以将当前丢失帧前若干帧的频域系数的加权平均作适当衰减,然后作为当前丢失帧的频域系数。
[0186]步骤二:优选地,也可以将上述得到的当前丢失帧的各频点的频域系数分别乘以一个随机符号,得到新的当前丢失帧的各频点的频域系数,即:
[0187]cp(m) = sgn (m) *cp (m), m = O,..., M-1,
[0188]其中,sgn (m)为频点m处的随机符号。
[0189]如图3所示,步骤102中对初始补偿信号进行波形调整的方法包括:
[0190]102a:对当前丢失帧进行基音周期估计,具体基音周期估计的方法如下:
[0191]首先,使用自相关方法对当前丢失帧之前的最后一个正确接收帧的时域信号进行基音搜索,得到当前丢失帧之前的最后一个正确接收帧的基音周期值和最大归一化自相关值,将得到的基音周期值作为当前丢失帧的基音周期值;
[0192]即寻找t e [Tfflin, TfflaJ,O < Tfflin < Tfflax < L 使得
【权利要求】
1.一种变换域的丢帧补偿方法,其特征在于,所述方法包括: 使用当前丢失帧的前一帧或前若干帧的频域系数,计算当前丢失帧的频域系数,对计算得到的当前丢失帧的频域系数进行频域-时域变换,得到当前丢失帧的初始补偿信号;对所述初始补偿信号进行波形调整,得到当前丢失帧的补偿信号。
2.如权利要求1所述的方法,其特征在于,对所述初始补偿信号进行波形调整,得到当前丢失帧的补偿信号,包括: 对当前丢失帧进行基音周期估计,判断基音周期估计得到的基音周期值是否可用,如果基音周期值不可用,则将当前丢失帧的初始补偿信号作为当前丢失帧的补偿信号;如果基音周期值可用,则使用当前丢失帧的前一帧的时域信号对初始补偿信号进行波形调整。
3.如权利要求2所述的方法,其特征在于,对当前丢失帧进行基音周期估计,包括: 对当前丢失帧之前的最后一个正确接收帧的时域信号进行基音搜索,得到当前丢失帧之前的最后一个正确接收帧的基音周期值和最大归一化自相关值,将得到的基音周期值作为当前丢失帧的基音周期值。
4.如权利要求3所述的方法,其特征在于,还包括: 在对当前丢失帧之前的最后一个正确接收帧的时域信号进行基音搜索之前,对当前丢失帧之前的最后一个正确接收帧的时域信号进行低通滤波或降采样处理,对低通滤波或降采样处理后的当前丢失帧之前的最后一个正确接收帧的时域信号进行基音搜索。
5.如权利要求2所述的方法,其特征在于,对当前丢失帧进行基音周期估计,包括: 计算出当前丢失帧之前的最后一个正确接收帧的基音周期值,将计算得到的基音周期值作为当前丢失帧的基音周期值,利用计算得到的基音周期值计算出当前丢失帧的最大归一化自相关值。
6.如权利要求2、3、4或5所述的方法,其特征在于,判断基音周期估计得到的基音周期值是否可用,包括: 判断是否满足下面条件中的任意一个,如果满足任意一个,则认为基音周期值不可用,包括: (1)第一丢失帧的初始补偿信号的过零率大于第一阈值Z1,其中,Z1> O ; (2)当前丢失帧之前的最后一个正确接收帧的低频能量与整帧能量的比值小于第二阈值 ER1,其中,ER1 > O ; (3)当前丢失帧之前的最后一个正确接收帧的谱倾斜小于第三阈值TILT,其中,O<TILT < I ; (4)当前丢失帧之前的最后一个正确接收帧的后半帧的过零率超过前半帧的过零率若干倍。
7.如权利要求6所述的方法,其特征在于,还包括: 在判断不满足所述条件(I)~条件(4)中的任意一个时,按照以下原则进行基音周期值是否可用的判断: (a)在当前丢失帧位于静音段时,认为基音周期值不可用; (b)在当前丢失帧不位于静音段,且所述最大归一化自相关值大于第四阈值R2时,认为基音周期值可用,其中,O < R2 < I ; (C)在不符合原则(a)和原则(b),且当前丢失帧之前的最后一个正确接收帧的过零率大于第五阈值Z3,认为基音周期值不可用,其中,Z3 > O ; (d)在不符合原则(a)、(b)和(C),且此时的长时对数能量与当前丢失帧之前的最后一个正确接收帧的对数能量的差大于第六阈值E4时,认为基音周期值不可用,其中,E4 > O ; (e)在不符合原则(a)、(b)、(c)和(d)且当前丢失帧之前的最后一个正确接收帧的对数能量与此时的长时对数能量的差超过第七阈值E5,并且所述最大归一化自相关值大于第八阈值R3时,认为基音周期值可用,其中,E5 > O,O < R3 < 1 ; (f)在不符合原则(a)、(b)、(C)、(d)和(e)时,检查当前丢失帧之前的最后一个正确接收帧的谐波特性,当表示谐波特性的值小于第九阈值H时,认为基音周期值不可用;当表示谐波特性的值大于等于第九阈值H时,认为基音周期值可用,其中,H < 1。
8.如权利要求2所述的方法,其特征在于,使用当前丢失帧的前一帧的时域信号对初始补偿信号进行波形调整,包括: (1)建立长度为L+Q的缓存区,L为帧长,L1 > O ; (?)对缓存区的前L1个单元进行初始化,所述初始化包括:在当前丢失帧为第一丢失帧时,配置缓存区的前L1个单元为当前丢失帧的初始补偿信号的前L1长度的信号;在当前丢失帧不为第一丢失帧时,配置缓存区的前L1个单元为对当前丢失帧的前一个丢失帧的初始补偿信号进行波形调整时所用缓存区中的最后L1长度的信号; (111)将当前丢失帧的前一帧的最后一个基音周期的时域信号连同缓存区中的1^长度的信号一起,不断重复复制到缓存区中,直至填满缓存区,在进行每次复制时,如果缓存区中已有的信号的长度为1,那么此次复制将信号复制到缓存区的1-L1到1+T-1的位置上,其中1 > O,T为基音周期,对于形成的长度为L1的交叠区,交叠区中的信号由两部分信号加窗后对应点相加而得到; (1v)将缓存区中的前L长度的信号作为当前丢失帧的补偿信号。
9.如权利要求8所述的方法,其特征在于,还包括: 为当前丢失帧之后的第一个正确接收帧,构建长度为L的缓存区,按照步骤(11)和步骤(111)相应的方法填满缓存区,将缓存区中的信号与对所述当前丢失帧之后的第一个正确接收帧解码得到的时域信号做加窗交叠相加,将得到的信号作为所述当前丢失帧之后的第一个正确接收帧的时域信号。
10.如权利要求2所述的方法,其特征在于,使用当前丢失帧的前一帧的时域信号对初始补偿信号进行波形调整,包括: 构建长度为kL的缓存区,L为帧长,k> O ; 对缓存区的前L1个单元进行初始化,其中,L1 > 0,所述初始化包括:在当前丢失帧为第一丢失帧时,配置缓存区的前L1个单元为当前丢失帧的初始补偿信号的前L1长度的信号;在当前丢失帧不为第一丢失帧时,配置缓存区的前L1个单元为对当前丢失帧的前一个丢失帧的初始补偿信号进行波形调整时所用缓存区中的最后L1长度的信号; 将当前丢失帧的前一帧的最后一个基音周期的时域信号连同缓存区中的L1长度的信号一起,不断重复复制到缓存区中,直至填满缓存区得到长度为kL的时域信号,在进行每次复制时,如果缓存区中已有的信号的长度为1,那么此次复制将信号复制到缓存区的1-L1到1+T-1的位置上,其中1 > 0,T为基音周期,对于形成的长度为L1的交叠区,交叠区中的信号由两部分信号加窗后对应点相加而得到;按照时序顺序将缓存区中的信号依次作为当前丢失帧到第q丢失帧的补偿信号,在q小于k时,将缓存区中的第q+Ι帧信号与对当前丢失帧之后的第一个正确接收帧解码得到的时域信号做交叠相加,将得到的信号作为当前丢失帧之后的第一个正确接收帧的时域信号;或者, 按照时序顺序将缓存区中的前k-Ι帧信号依次作为当前丢失帧到第k-Ι丢失帧的补偿信号,缓存区中的第k帧信号用于与第k丢失帧的初始补偿信号做交叠相加,将得到的信号作为第k丢失帧的补偿信号。
11.如权利要求8~10任意之一所述的方法,其特征在于,还包括: 在对初始补偿信号进行波形调整后,还将波形调整后的信号乘以一个增益,将乘以增益后的信号作为当前丢失帧的补偿信号。
12.如权利要求3所述的方法,其特征在于,在进行基音搜索时,对于语音信号帧和音乐信号帧使用不同的基音搜索上下限。
13.如权利要求7所述的方法,其特征在于,在当前丢失帧之前的最后一个正确接收帧为语音信号帧时,使用权利要求6或7的方法判断当前丢失帧的基音周期值是否可用。
14.如权利要求13所述的方法,其特征在于,在当前丢失帧之前的最后一个正确接收帧为音乐信号帧时,使用以下方法判断当前丢失帧的基音周期值是否可用,包括: 如果当前丢失帧位于静音段,认为基音周期值不可用;或者, 如果当前丢失帧不位于静音段,最大归一化自相关值大于第十九阈值r4,o < R4 < I,认为基音周期值可用;最大归一化自相关值不大于R4,认为基音周期值不可用。
15.如权利要求8~10任意之一所述的方法,其特征在于,还包括:在得到当前丢失帧的补偿信号后,在补偿信号中添加噪声 。
16.如权利要求15所述的方法,其特征在于,在补偿信号中添加噪声,包括: 将历史信号或初始补偿信号本身,通过一个高通滤波器或者频谱倾斜滤波器得到噪声信号; 估计当前丢失帧的噪声增益值; 将得到的噪声信号乘以估计得到的当前丢失帧的噪声增益值,将乘噪声增益值后的噪声信号加入所述补偿信号中。
17.如权利I所述的方法,其特征在于,还包括: 在得到当前丢失帧的补偿信号之后,还将补偿信号乘以尺度因子。
18.如权利17所述的方法,其特征在于,还包括: 在得到当前丢失帧的补偿信号之后,根据当前丢失帧的帧类型,确定是否将当前丢失帧的补偿信号乘以尺度因子,如果确定乘以尺度因子,则进行所述将补偿信号乘以尺度因子的操作。
19.一种变换域的丢帧补偿方法,其特征在于,所述方法包括: 获得当前丢失帧之前若干帧的各频点的相位和幅值; 对获得的当前丢失帧之前若干帧的各频点的相位和幅值进行线性或非线性外推,得到当iu丢失帧的各频点的相位和幅值; 通过当前丢失帧的各频点的相位和幅值得到当前丢失帧的各频点的频域系数,通过频域-时域变换得到当前丢帧的补偿信号。
20.如权利要求19所述的方法,其特征在于,获得当前丢失帧之前若干帧的各频点的相位和幅值;对获得的当前丢失帧之前若干帧的各频点的相位和幅值进行线性或非线性外推,得到当前丢失帧的各频点的相位和幅值;通过当前丢失帧的各频点的相位和幅值得到当前丢失帧的各频点的频域系数,包括: 在当前丢失帧为第P帧时,对当前丢失帧之前的若干帧时域信号,采用改进的离散正弦变换MDST算法得到第P-2帧和第P-3帧的MDST系数,将得到的第p_2帧和第p_3帧的MDST系数与第p-2帧和第p-3帧的MDCT系数组成MDCT-MDST域的复数信号; 将第p-2帧和第p-3帧的相位线性外推得到第P帧各频点的MDCT-MDST域的复数信号的相位; 使用第P-2帧相应频点的幅值代替第P帧各频点的幅值; 根据第P帧各频点的MDCT-MDST域的复数信号的相位和第P帧各频点的幅值推断第P帧在各频点的MDCT系数。
21.如权利要求20所述的方法,其特征在于,还包括: 根据当前丢失帧之前的最近c个正确接收帧的帧类型,选择是否对当前丢失帧的各频点均利用当前丢失帧之前若干帧的各频点处的相位和幅值,进行线性或非线性外推得到当前丢失帧的各频点的相位和幅值。
22.如权利要求19所述的方法,其特征在于,还包括: 在得到当前丢失帧的补偿信号之后,还将补偿信号乘以尺度因子。
23.如权利要求22所述·的方法,其特征在于,还包括: 在得到当前丢失帧的补偿信号之后,根据当前丢失帧的帧类型,确定是否将当前丢失帧的补偿信号乘以尺度因子,如果确定乘以尺度因子,则进行所述将补偿信号乘以尺度因子的操作。
24.一种变换域的丢帧补偿方法,其特征在于: 通过判断算法,选择使用权利要求1~18或者权利要求19~23的方法补偿当前丢失帧。
25.如权利要求24所述的方法,其特征在于,通过判断算法,选择使用权利要求1~18或者权利要求19~23的方法补偿当前丢失帧,包括: 判断帧类型,如果当前丢失帧为音调帧,则使用权利要求19~23的方法补偿当前丢失帧;如果当前丢失帧为非音调帧,则使用权利要求1~18的方法补偿当前丢失帧。
26.如权利要求25所述的方法,其特征在于,判断帧类型,包括: 获取当前丢失帧的前η个正确接收帧的帧类型标识,如果前η个正确接收帧中音调帧的数目大于第十一阈值IV则认为当前丢失帧为音调帧;否则认为当前丢失帧为非音调帧,其中,0 ^ n0 ^ η, n ^ 10
27.如权利要求25所述的方法,其特征在于,判断帧类型,包括: 计算帧的谱平坦度,判断谱平坦度的值是否小于第十阈值K,如果小于K则认为该帧为音调帧;否则,认为该帧为非音调帧,其中,O < K < I。
28.如权利要求27所述的方法,其特征在于,在计算谱平坦度时,用于计算的频域系数是时域-频域变化后原始的频域系数,或是将原始频域系数经过频谱整形后的频域系数。
29.如权利要求25所述的方法,其特征在于,判断帧类型,包括:使用时域-频域变化后原始的频域系数以及将原始频域系数经过频谱整形后的频域系数分别计算帧的谱平坦度,得到帧对应的两个谱平坦度; 根据得到的其中一个谱平坦度的值是否小于第十阈值K,设定该帧是否为音调帧;根据得到的其中另一个谱平坦度的值是否小于另一阈值K’,重新设定该帧是否为音调帧; 其中,在谱平坦度的值小于K时,则设定帧为音调帧;否则,设定帧为非音调帧,在另一个谱平坦度的值小于K’时,重新设定该帧为音调帧;其中,OSKSl,OS K’ <1。
30.一种变换域的丢帧补偿装置,其特征在于,所述装置包括:频域系数计算单元、变换单元和波形调整单元,其中: 所述频域系数计算单元,用于使用当前丢失帧的前一帧或前若干帧的频域系数,计算当前丢失帧的频域系数; 所述变换单元,用于对所述频域系数计算单元计算得到的当前丢失帧的频域系数进行频域-时域变换,得到当前丢失帧的初始补偿信号; 所述波形调整单元,用于对所述初始补偿信号进行波形调整,得到当前丢失帧的补偿信号。
31.如权利要求30所述的装置,其特征在于: 所述波形调整单元,具体用于对当前丢失帧进行基音周期估计,判断基音周期估计得到的基音周期值是否可用,如果基音周期值不可用,则将当前丢失帧的初始补偿信号作为当前丢失帧的补偿信号;如果基音周期值可用,则使用当前丢失帧的前一帧的时域信号对初始补偿信号进行波形调整。
32.如权利要求31所述的装置,其特征在于,所述波形调整单元包括基音周期子单元,其中: 所述基音周期子单元,用于对当前丢失帧之前的最后一个正确接收帧的时域信号进行基音搜索,得到当前丢失帧之前的最后一个正确接收帧的基音周期值和最大归一化自相关值,将得到的基音周期值作为当前丢失帧的基音周期值;或者, 计算出当前丢失帧之前的最后一个正确接收帧的基音周期值,将计算得到的基音周期值作为当前丢失帧的基音周期值,利用计算得到的基音周期值计算出当前丢失帧的最大归一化自相关值。
33.如权利要求32所述的装置,其特征在于: 所述基音周期子单元,还用于在对当前丢失帧之前的最后一个正确接收帧的时域信号进行基音搜索之前,对当前丢失帧之前的最后一个正确接收帧的时域信号进行低通滤波或降采样处理,对低通滤波或降采样处理后的当前丢失帧之前的最后一个正确接收帧的时域信号进行基音搜索。
34.如权利要求31、32或33所述的装置,其特征在于,所述波形调整单元包括基音周期值判断子单元,其中: 所述基音周期值判断子单元,用于判断是否满足下面条件中的任意一个,如果满足任意一个,则认为基音周期值不可用,包括: (1)第一丢失帧的初始补偿信号的过零率大于第一阈值Z1,其中,Z1> O ; (2)当前丢失帧之前的最后一个正确接收帧的低频能量与整帧能量的比值小于第二阈值 ER1,其中,ER1 > O ;(3)当前丢失帧之前的最后一个正确接收帧的谱倾斜小于第三阈值TILT,其中,O<TILT < I ; (4)当前丢失帧之前的最后一个正确接收帧的后半帧的过零率超过前半帧的过零率若干倍。
35.如权利要求34所述的装置,其特征在于: 所述基音周期值判断子单元,还用于在判断不满足所述条件(I)~条件(4)中的任意一个时,按照以下原则进行基音周期值是否可用的判断: (a)在当前丢失帧位于静音段时,认为基音周期值不可用; (b)在当前丢失帧不位于静音段,且所述最大归一化自相关值大于第四阈值R2时,认为基音周期值可用,其中,O < R2 < I ; (C)在不符合原则(a)和原则(b),且当前丢失帧之前的最后一个正确接收帧的过零率大于第五阈值Z3,认为基音周期值不可用,其中,Z3 > O ; (d)在不符合原则(a)、(b)和(C),且此时的长时对数能量与当前丢失帧之前的最后一个正确接收帧的对数能量的差大于第六阈值E4时,认为基音周期值不可用,其中,E4 > O ; (e)在不符合原则(a)、(b)、(c)和(d)且当前丢失帧之前的最后一个正确接收帧的对数能量与此时的长时对数能量的差超过第七阈值E5,并且所述最大归一化自相关值大于第八阈值R3时,认为基音周期值可用,其中,E5 > O,O < R3 < I ; (f)在不符合原则(a)、(b)、(C)、(d)和(e)时,检查当前丢失帧之前的最后一个正确接收帧的谐波特性,当表示谐波特性的值小于第九阈值H时,认为基音周期值不可用;当表示谐波特性的值大于等于第九阈值 H时,认为基音周期值可用,其中,H < I。
36.如权利要求31所述的装置,其特征在于,所述波形调整单元包括调整子单元,其中: 所述调整子单元,用于(i)建立长度为L+Q的缓存区,L为帧长,L1 > O ; (?)对缓存区的前L1个单元进行初始化,所述初始化包括:在当前丢失帧为第一丢失帧时,配置缓存区的前L1个单元为当前丢失帧的初始补偿信号的前L1长度的信号;在当前丢失帧不为第一丢失帧时,配置缓存区的前L1个单元为对当前丢失帧的前一个丢失帧的初始补偿信号进行波形调整时所用缓存区中的最后L1长度的信号; (iii)将当前丢失帧的前一帧的最后一个基音周期的时域信号连同缓存区中的1^长度的信号一起,不断重复复制到缓存区中,直至填满缓存区,在进行每次复制时,如果缓存区中已有的信号的长度为1,那么此次复制将信号复制到缓存区的1-L1到1+T-1的位置上,其中I > O,T为基音周期,对于形成的长度为L1的交叠区,交叠区中的信号由两部分信号加窗后对应点相加而得到; (iv)将缓存区中的前L长度的信号作为当前丢失帧的补偿信号。
37.如权利要求36所述的装置,其特征在于: 所述调整子单元,还用于为当前丢失帧之后的第一个正确接收帧,构建长度为L的缓存区,按照步骤(ii)和步骤(iii)相应的方法填满缓存区,将缓存区中的信号与对所述当前丢失帧之后的第一个正确接收帧解码得到的时域信号做加窗交叠相加,将得到的信号作为所述当前丢失帧之后的第一个正确接收帧的时域信号。
38.如权利要求31所述的装置,其特征在于,所述波形调整单元包括调整子单元,其中: 所述调整子单元,用于构建长度为kL的缓存区,L为帧长,k > O ; 对缓存区的前L1个单元进行初始化,其中,L1 > O,所述初始化包括:在当前丢失帧为第一丢失帧时,配置缓存区的前L1个单元为当前丢失帧的初始补偿信号的前L1长度的信号;在当前丢失帧不为第一丢失帧时,配置缓存区的前L1个单元为对当前丢失帧的前一个丢失帧的初始补偿信号进行波形调整时所用缓存区中的最后L1长度的信号; 将当前丢失帧的前一帧的最后一个基音周期的时域信号连同缓存区中的L1长度的信号一起,不断重复复制到缓存区中,直至填满缓存区得到长度为kL的时域信号,在进行每次复制时,如果缓存区中已有的信号的长度为1,那么此次复制将信号复制到缓存区的1-L1到1+T-1的位置上,其中I > O,T为基音周期,对于形成的长度为L1的交叠区,交叠区中的信号由两部分信号加窗后对应点相加而得到; 按照时序顺序将缓存区中的信号依次作为当前丢失帧到第q丢失帧的补偿信号,在q小于k时,将缓存区中的第q+Ι帧信号与对当前丢失帧之后的第一个正确接收帧解码得到的时域信号做交叠相加,将得到的信号作为当前丢失帧之后的第一个正确接收帧的时域信号;或者, 按照时序顺序将缓存区中的前k-Ι帧信号依次作为当前丢失帧到第k-Ι丢失帧的补偿信号,缓存区中的第k帧信号用于与第k丢失帧的初始补偿信号做交叠相加,将得到的信号作为第k丢失帧的补偿信号。
39.如权利要求36、37或38所述的装置,其特征在于,所述波形调整单元还包括增益子单元,其中: 所述增益子单元,用于在对初始补偿信号进行波形调整后,还将波形调整后的信号乘以一个增益,将乘以增益后的信号作为当前丢失帧的补偿信号。
40.如权利要求32所述的装置,其特征在于: 所述基音周期子单元在进行基音搜索时,对于语音信号帧和音乐信号帧使用不同的基音搜索上下限。
41.如权利要求35所述的装置,其特征在于: 所述基音周期值判断子单元在当前丢失帧之前的最后一个正确接收帧为语音信号帧时,使用权利要求34或35判断当前丢失帧的基音周期值是否可用。
42.如权利要求41所述的装置,其特征在于: 所述基音周期值判断子单元,还用于在当前丢失帧之前的最后一个正确接收帧为音乐信号帧时,使用以下方法判断当前丢失帧的基音周期值是否可用,包括: 如果当前丢失帧位于静音段,认为基音周期值不可用;或者, 如果当前丢失帧不位于静音段,最大归一化自相关值大于第十九阈值氏,0 < R4 < I,认为基音周期值可用;最大归一化自相关值不大于R4,认为基音周期值不可用。
43.如权利要求36、37或38所述的装置,其特征在于,所述波形调整单元还包括噪声添加子单元,其中: 所述噪声添加子单元,用于在得到当前丢失帧的补偿信号后,在补偿信号中添加噪声。
44.如权利要求43所述的装置,其特征在于: 所述噪声添加子单元,具体用于将历史信号或初始补偿信号本身,通过一个高通滤波器或者频谱倾斜滤波器得到噪声信号; 估计当前丢失帧的噪声增益值; 将得到的噪声信号乘以估计得到的当前丢失帧的噪声增益值,将乘噪声增益值后的噪声信号加入所述补偿信号中。
45.如权利要求31所述的装置,其特征在于,所述装置还包括尺度因子单元,其中: 所述尺度因子单元,用于在所述波形调整单元得到当前丢失帧的补偿信号之后,将补偿信号乘以尺度因子。
46.如权利要求45所述的装置,其特征在于: 所述尺度因子单元,具体用于在所述波形调整单元得到当前丢失帧的补偿信号之后,根据当前丢失帧的帧类型,确定是否将当前丢失帧的补偿信号乘以尺度因子,如果确定乘以尺度因子,则进行所述将补偿信号乘以尺度因子的操作。
47.一种变换域的丢帧补偿装置,其特征在于,所述装置包括:第一相位幅值获取单元、第二相位幅值获取单元和补偿信号获取单元,其中: 所述第一相位幅值获取单元,用于获得当前丢失帧之前若干帧的各频点的相位和幅值; 所述第二相位幅值获取单元,用于对获得的当前丢失帧之前若干帧的各频点的相位和幅值进行线性或非线性外推,得到当前丢失帧的各频点的相位和幅值; 所述补偿信号获取单元,用于·通过当前丢失帧的各频点的相位和幅值得到当前丢失帧的各频点的频域系数,通过频域-时域变换得到当前丢帧的补偿信号。
48.如权利要求47所述的装置,其特征在于: 所述第一相位幅值获取单元,具体用于在当前丢失帧为第P帧时,对当前丢失帧之前的若干帧时域信号,采用改进的离散正弦变换MDST算法得到第p-2帧和第p-3帧的MDST系数,将得到的第P-2帧和第p-3帧的MDST系数与第p-2帧和第p-3帧的MDCT系数组成MDCT-MDST域的复数信号; 所述第二相位幅值获取单元,具体用于将第P-2帧和第p-3帧的相位线性外推得到第P帧各频点的MDCT-MDST域的复数信号的相位;使用第p-2帧相应频点的幅值代替第P帧各频点的幅值; 所述补偿信号获取单元,具体用于根据第P帧各频点的MDCT-MDST域的复数信号的相位和第P帧各频点的幅值推断第P帧在各频点的MDCT系数。
49.如权利要求48所述的装置,其特征在于,所述装置还包括频点选择单元,其中: 所述频点选择单元,用于根据当前丢失帧之前的最近c个正确接收帧的帧类型,选择是否对当前丢失帧的各频点均利用当前丢失帧之前若干帧的各频点处的相位和幅值,进行线性或非线性外推得到当前丢失帧的各频点的相位和幅值。
50.如权利要求37所述的装置,其特征在于,所述装置还包括尺度因子单元,其中: 所述尺度因子单元,用于在所述补偿信号获取单元得到当前丢失帧的补偿信号之后,将补偿信号乘以尺度因子。
51.如权利要求50所述的装置,其特征在于:所述尺度因子单元,具体用于在所述补偿信号获取单元得到当前丢失帧的补偿信号之后,根据当前丢失帧的帧类型,确定是否将当前丢失帧的补偿信号乘以尺度因子,如果确定乘以尺度因子,则进行所述将补偿信号乘以尺度因子的操作。
52.一种变换域的丢帧补偿装置,其特征在于,所述装置包括:判断单元,其中: 所述判断单元,用于通过判断算法,选择使用权利要求30~46或者权利要求47~51的装置补偿当前丢失帧。
53.如权利要求52所述的装置,其特征在于: 所述判断单元,具体用于判断帧类型,如果当前丢失帧为音调帧,则使用权利要求47~51的装置补偿当前丢失帧;如果当前丢失帧为非音调帧,则使用权利要求30~46的装置补偿当前丢失帧。
54.如权利要求53所述的装置,其特征在于: 所述判断单元,具体用于获取当前丢失帧的前η个正确接收帧的帧类型标识,如果前η个正确接收帧中音调帧的数目大于第十一阈值η0,则认为当前丢失帧为音调帧;否则认为当前丢失帧为非音调帧,其中,O ^nO ^ η, n ^ 10
55.如权利要求53所述的装置,其特征在于: 所述判断单元,具体用于计算帧的谱平坦度,判断谱平坦度的值是否小于第十阈值K,如果小于K则认为该帧为音调帧;否则,认为该帧为非音调帧,其中,O < K < I。
56.如权利要求55所述的装置,其特征在于: 所述判断单元在计算谱平坦度时,用于计算的频域系数是时域-频域变化后原始的频域系数,或是将原始频域系数经过频谱整形后的频域系数。
57.如权利要求53所述的装置,其特征在于: 所述判断单元,具体用于使用时域-频域变化后原始的频域系数以及将原始频域系数经过频谱整形后的频域系数分别计算帧的谱平坦度,得到帧对应的两个谱平坦度; 根据得到的其中一个谱平坦度的值是否小于第十阈值K,设定该帧是否为音调帧;根据得到的其中另一个谱平坦度的值是否小于另一阈值K’,重新设定该帧是否为音调帧;其中,在谱平坦度的值小于K时,则设定帧为音调帧;否则,设定帧为非音调帧,在另一个谱平坦度的值小于K’时,重新设定该帧为音调帧;其中,O < K < 1,0 < K’ < I。
【文档编号】G10L19/005GK103854649SQ201210498677
【公开日】2014年6月11日 申请日期:2012年11月29日 优先权日:2012年11月29日
【发明者】关旭, 袁浩, 刘末飞 申请人:中兴通讯股份有限公司