专利名称:在速率可变的声码器中选择编码速率的方法和装置的制作方法
技术领域:
本发明涉及一种声码器。本发明尤其涉及在速率可变的声码器中确定话音编码速率的新颖的和经改进的方法。
背景技术:
速率可变话音压缩系统一般在开始进行编码之前使用一些速率确定算法。这种速率确定算法把较高的比特率编码方法赋予了有话音出现的音频信号段,把较低的比特率编码方法赋予无声段。在这种方法中,可以实现较低的平均比特率,而重新构成的话音仍保持较高质量。因此,为了有效地进行工作,速率可变的话音声码器需要一种健全的速率确定算法,以能在各种背景噪声环境中区别话音和无声。
在1991年6月11日申请的,名称为“速率可变的声码器”的待批美国专利申请No.07/713/661中揭示了这样一种速率可变的话音压缩系统或速率可变的声码器,该专利申请已转让给本发明的受让人,援引在此,以作参考。在这种速率可变的声码器的特定的实现方法中,用码激励线性预测编码技术(CELP)以根据话音活动性的程度确定的几种速率中的一种速率对输入话音进行编码。话音的活动性程度根据除了有声话音之外还可以包含背景噪声的输入音频样值内的能量来确定。为了使声码器在各种背景噪声下都提供高质量的声音编码,需要一种合适的调整阈值的技术来补偿背景噪声对速率判定算法的影响。
声码器一般用在诸如蜂窝电话等通信设备或个人通信设备中,以对转换成数字形式进行传输的模拟音频信号进行数字信号压缩。在可以使用蜂窝电话或个人通信设备的移动的环境中,高的背景噪声能量使得用基于信号能量的速率确定算法难以把低能量的非嗓音声音从低背景噪声中区分开来。因此,经常对非嗓音声音以较低的比特率进行编码,声音质量下降,诸如“s”、“x”、“ch”、“sh”、“t”等辅音在重新构成的话音中被丢失。
根据仅把背景噪声能量作为依据的速率判定的声码器在设定阈值时没有考虑信号相对于背景噪声的强度。当背景噪声提高时,根据仅把背景噪声作为依据的声码器必然会一起压缩阈值。如果信号电平仍然维持不变,但设置阈值电平的校正方法是把信号电平与背景噪声电平一起提升,那么,压缩阈值电平不是最佳的解决方法。在速率可变的声码器内需要另一种考虑了信号强度的设置阈值电平的方法。
剩余的决定性的问题是在通过基于背景噪声能量的速率判定声码器来播放音乐时产生的。当人在说话时,他们必须暂停以便呼吸,这可以把阈值重新设置到适当的背景噪声电平上。然而,在通过声码器传输时,在音乐持续的情况下,没有暂停发生,并且阈值将持续提高,一直到开始对音乐以小于全速率的速率进行编码。在这种情况下,速率可变的编码器把音乐与背景噪声混为一谈。
发明内容
本发明是一种新颖的和经改进的在速率可变的声码器内确定编码速率的方法和装置。本发明的第一个目的是提供一种方法,用这种方法可降低把低能量的非嗓音话音作为背景噪声进行编码的概率。在本发明中,把输入信号滤波成高频分量和低频分量。然后单独地对输入信号的滤波信号进行分析,以检测是否有话音的存在。因为非嗓音话音有高频分量,所以相对于高频带来说其强度与背景噪声相比的区别比在整个频带上与背景噪声相比的区别来得更大。
本发明的第二个目的是提供一种装置,这种装置在设置阈值时考虑了信号能量以及背景噪声能量。在本发明中,根据输入信号的信噪比(SNR)的估计值来设定声音检测阈值。在一个典型的实施例中,把在存在话音期间的信号能量估计为最大信号能量,把在无声期间的背景噪声能量估计为最小信号能量。
本发明的第三个目的是提供一种通过速率可变的声码器对音乐进行编码的方法。在一个典型的实施例中,速率选择装置检测阈值电平上升的连续帧的数量,并检查帧数的周期。如果输入信号是有周期性的,这表示存在音乐。如果检测到有音乐存在,那么把阈值设置到以全速率对信号进行编码的电平上。
本发明提供一种为可变速率声码器确定编码速率的装置,包括信噪比部件,用于接收输入信号并根据所述输入信号来确定信噪比值;速率确定部件,用于接收所述信噪比值并根据所述信噪比值来确定所述编码速率。
本发明还提供一种用于为可变速率声码器确定编码速率的方法,包括以下步骤接收输入信号;根据所述输入信号来确定信噪比值;根据所述信噪比值来确定所述编码速率。
图1是本发明的方框图。
具体实施例方式
参见图1,把输入信号S(n)提供给副带能量计算部件4和副带能量计算部件6。输入信号S(n)包含音频信号和背景噪声。音频信号一般为话音,但也可以是音乐。在一个典型的实施例中,以每二十毫秒帧160样值的形式提供S(n)。在一个典型的实施例中,输入信号S(n)的频率分量从0kHz到4kHz,大约与人的话音信号的带宽相似。
在一个典型的实施例中,把4kHz的输入信号S(n)滤波成两个分立的副带。这个分立的副带分别在0到2kHz和2kHz到4kHz之间。在一个典型的实施例中,可以用副带滤波器把输入信号分成副带,这种设计在已有技术中属于熟知的技术,并且在1994年2月1日提交的,名称为“频率选择自适应滤波”的美国专利申请No.08/189,819中有详细的描述,该申请已转让给本发明的受让人,援引在此以作参考。
对于低通滤波器,副带滤波器的脉冲响应表示为hL(n),对于高通滤波器,副带滤波器的脉冲响应表示为hH(n)。可以如现有技术中所熟知的那样,简单地取副带滤波器输出的样值平方之和计算得到的信号的所产生的副带分量的能量,给出RL(0)和RH(0)值。
在一个较佳实施例中,当把输入信号S(n)提供给副带能量计算部件4时,如下计算输入帧的低频分量的能量值RL(0)RL(0)=Rs(0)·RhL(0)+2·Σi=1L-1Rs(i)·RhL(i)---(1)]]>其中,L为具有脉冲响应hL(n)的低通滤波器内的抽头数,RS(i)为输入信号S(n)的自相关函数,它由下式给出RS(i)=Σn=1NS(n)·S(n-i),]]>对i∈
(2)其中,N为帧内的样值数,RhL是低通滤波器hL(n)的自相关函数,由下式给出RhL(i)=Σn=0L-1hL(n)·hL(n-i),]]>对i∈
(3)=0]]>其它在副带能量计算部件6内用相似的方式计算高频能量RH(0)。
可以在减小计算负荷之前计算副带滤波器的自相关函数的值。另外,把计算得到的一些RS(i)值在对输入信号S(n)进行编码时的另一些计算中使用,这进一步减轻了本发明的编码速率选择的方法的纯计算负荷。例如,运算LPC滤波器抽头值需要计算一组输入信号自相关系数。
对LPC滤波器抽头值的计算在现有技术中是众所周知的,并且在上面提到美国专利申请08/004,484中有详细的描述。如果一种是用需要十个抽头的LPC滤波器对话音进行编码,除了在对信号进行编码所用的之外,仅需要计算i值从儿到L-1的RS(i)值,因为,i值从0到10的RS(i)在计算LPC滤波器抽头值时已经使用了。在一个典型的实施例中,副带滤波器具有17个抽头,L=17。
副带能量计算部件4向副带速率判定部件12提供计算得到的RL(0)值,副带能量计算部件6向副带速率判定部件14提供计算得到的RH(0)值。速率判定部件12把RL(0)值与两个预定的阈值TL1/2和TLfull作比较,把根据比较结果选定建议的编码速率RATEL。速率的选定方式如下RATEL=八分之一速率RL(0)≤TL1/2(4)RATEL=半速率TL1/2<RL(0)≤TLfull(5)RATEL=全速率RL(0)>TLfull(6)
副带速率判定部件14以相似的方式工作,并根据高频能量值RH(0)和一组不同的阈值TH1/2和THfull来选择一建议的编码速率。副带速率判定部件12把其建议的编码速率RATEL提供给编码速率选择部件16,副带速率判定部件14把其建议的编码速率RATEH提供给编码速率选择部件16。在一个典型的实施例中,编码速率选择部件16选择两个建议的速率中较高的一个速率,并把较高的速率作为选出的编码速率(ENCODING RATE)提供。
副带能量计算部件4还把低频能量值RL(0)提供给阈值修正部件8,计算下一输入帧的阈值TL1/2和TLfull。相似地,副带能量计算部件6把高频能量值RH(0)提供给阈值修正部件10,计算下一输入帧的阈值TL1/2和Tlfull。
阈值修正部件8接收低频能量值RL(0),并确定S(n)是否含有背景噪声或音频信号。在一个典型的实现方法中,阈值修正部件8确定是否有音频信号存在的方法是检查归一化自相关函数NACF,它由下式给出NACF=maxTΣn=0N-1e(n)·e(n-T)12[Σn=0N-1e2(n)+Σn=0N-1e2(n-T)]---7]]>其中,e(n)为话音质量的特性分量残留信号,它由LPC滤波器滤波输入信号S(n)引起。
由LPC滤波器对信号滤波的设计在现有技术中是众所周知的,并且在上面提及的美国专利申请08/004,484中有详细的描述。LPC滤波器对输入信号S(n)进行滤波,除去话音质量特性分量的相互影响。把NACF与阈值比较,确定是否出现了音频信号。如果NACF大于预定的阈值,它指示输入帧具有表示诸如话音或音乐的音频信号存在的周期性特征。请注意,当一部分话音和音乐不是周期性时,表现出NACF的值较小,背景噪声一般决不会显示出周期性,因此NACF几乎总是表现出较小的值。
如果确定S(n)包含背景噪声,NACF值小于阈值TH1,那末把值RL(0)用于更新当前背景噪声估计值BGNL的值。在一个典型的实施例中,TH1为0.35。把RL(0)与当前的背景噪声估计值BGNL比较。如果RL(0)小于BGNL,那末不管NACF的值如何,总把背景噪声估计值BGNL设置成等于RL(0)值。
背景噪声估计值只有在NACF小于阈值TH1时才增加。如果RL(0)大于BGNL,并且NACF小于TH1,那么把背景噪声能量BGNL设置成α1*BGNL,其中,α1为大于1的数字。在一个典型的实施例中,α1等于1.03。只要NACF小于阈值TH1,并且RL(0)大于BGNL的当前值,那末BGNL就继续增加,直到BGNL到达预定的最大值BGNmax,在该点上,背景估计值BGNL被设置到BGNmax。
如果NACF值超过第二预定值TH2表示检测到音频信号,则更新信号能量估计值SL。在一个典型的实施例中,TH2被设置成0.5。把RL(0)的值与当前低通信号能量估计值SL比较。如果RL(0)大于当前SL值,则把SL设置成等于RL(0)。如果RL(0)小于当前SL值,而且仅在NACF大于TH2时,把SL设置成等于α2*SL。在一个典型的实施例中,α2被设置为0.96。
然后,阈值修正部件8根据下面的等式8计算信噪比估计值SNRL=10·log[SLBGNL]---(8)]]>然后,阈值修正部件8根据下面的等式9-12确定量化了的信噪比ISNRL的指数ISNRL=nint[SNRL-205],]]>对20<SNRL<55 (9)=0,]]>对SNRL≤20,=7,]]>对SNRL≥55。(10)其中nint是把小数值四舍五入到最近的整数的函数。
然后阈值修正部件8根据信噪比指数ISNRL选择或计算两个换算系数kL1/2/和kLfull。下面的表1提供了一个典型的换算值查找表表1ISNRLKL1/2 Klfull0 7.0 9.01 7.0 12.62 8.0 17.03 8.6 18.54 8.9 19.45 9.4 20.96 11.025.5
7 15.8 39.8这两个值用于根据下面式子计算选择速率的阈值TL1/2=KL1/2*BGNL(11)和TLfull=KLfull*BGNL(12)其中,TL1/2为低频半速率阈值,TLfull为低频全速率阈值。
阈值修正部件8向速率判定部件12提供修正后的阈值TL1/2和TLfull。阈值修正部件10以相似的方式工作,并向副带速率判定部件14提供阈值TH1/2和THfull。
音频信号能量估计值S的初始值(S可以是SL或SH)如下进行设置。把初始信号能量估计值SINIT设置到-18.0dBm0,其中3.17dBm0表示全正弦波的信号强度,在一个典型的实施例中,它是一个幅度范围从-8031到8031的数字正弦波。SINIT一直被使用,直到确定出现了有声信号。
开始检测有声信号的方法是把NACF值与一阈值比较,当NACF在预定的连续数帧超过该阈值时,则确定出现了有声信号。在一个典型的实施例中,NACF必须连续10帧超过阈值。在这个条件得到满足后,在前10帧把信号能量估计值S设置到最大信号能量。
最初把背景噪声估计值BGNL的初始值设置成BGNmax。只要接收到的副带帧能量小于BGNmax,就把背景噪声估计值复位到接收到的副带能量电平值上,并如上所述产生背景噪声BGNL估计值。
在一个较佳实施例中,当跟了一串全速率话音帧时产生释放延迟情况,则检测低速率帧。在一个典型的实施例中,当在对四个连续的话音帧以全速率进行编码后跟一幅把编码速率设置到小于全速率的速率,并且计算得到的信噪比小于预定最小的SNR的帧时,把该帧的编码速率设置到全速率。在一个典型的实施例中,如在公式8中定义的那样,预定最小SNR为27.5dB。
在一较佳实施例中,释放延迟的帧数是信噪比的函数。在一个典型的实施例中,释放延迟的帧数如下确定释放延迟帧数=122.5<SNR<27.5 (13)释放延迟帧数=2SNR≤22.5 (14)
释放延迟帧数=0SNR≥27.5 (15)本发明还提供一种检测是否有音乐存在的方法,如上所述音乐缺少可以测量背景噪声以进行复位的暂停。该检测音乐是否存在的方法假设在通话开始时没有出现音乐。这可以使本发明的编码速率选择装置适当地估计初始背景噪声能量BGNinit。因为音乐不象背景噪声具有周期性的特征,本发明检查NACF的值来区别音乐和背景噪声。本发明的音乐检测方法根据下式计算平均NACFNACFAVE=1TΣi=1TNACF(i)---(16)]]>其中NACF由公式7定义,T为连续帧数,在这些帧中估计的背景噪声值从初始背景噪声估计值BGNINIT已经并正在增加。
如果背景噪声BGN对预定的帧数T已经增加,并且NACFAVE超过了预定阈值,那么检测到了音乐,把背景噪声BGN复位到BGNinit。应注意,为了使该方法可行,必须把值T设置得足够小,以使编码速率不低于全速率。因此,T值应当设置成有声信号和BGNinit的函数。
提供了上面对较佳实施例的描述能使本技术领域的熟练人员实现或使用本发明。对于本技术领域的熟练人员来说对这些实施例的各种变化是容易的,此处限定的一般原理可以应用于其它实施例而无需创造性技能。因此,本发明并不限于此处所示的实施例,它被赋予与由此处的原理和新颖的特征相一致的最宽的范围。
权利要求
1.一种为可变速率声码器确定编码速率的装置,其特征在于,包括信噪比部件(8,10),用于接收输入信号(S(n))并根据所述输入信号(S(n))来确定信噪比值;速率确定部件,用于接收所述信噪比值并根据所述信噪比值来确定所述编码速率。
2.如权利要求1所述的装置,还包括多个副带能量计算部件(4,6),用于接收所述输入信号(S(n))并根据预定的副带能量计算公式来确定多个副带能量值(RL(0),RH(0))。
3.如权利要求2所述的装置,其特征在于,所述速率确定部件包括多个副带速率确定部件(12,14),用于接收所述多个副带能量值(RL(0),RH(0)),并确定多个建议的副带编码速率。
4.如权利要求3所述的装置,其特征在于,还包括编码速率选择部件(16),用于接收所述多个建议的副带编码速率,并根据所述多个建议的副带编码速率来确定所述编码速率。
5.如权利要求2所述的装置,其特征在于,所述多个副带能量计算部件(4,6)根据下面的公式确定所述多个副带能量值(RL(0),RH(0))中的每个副带能量值 其中L为带通滤波器hbp(n)内的抽头数,Rs(i)为输入信号S(n)的自相关函数,Rhbp为带通滤波器hbp(n)的自相关函数。
6.如权利要求1所述的装置,其特征在于,所述信噪比部件(8,10)还包括阈值计算部件(8,10)。
7.如权利要求3或6中任一项所述的装置,其特征在于,所述阈值计算部件(8,10)置于所述副带能量计算部件(4,6)和所述副带速率确定部件之间,用于接收所述副带能量值(RL(0),RH(0))并根据所述多个副带能量值(RL(0),RH(0))来确定一组编码速率阈值。
8.如权利要求2或6中任一项所述的装置,其特征在于,所述阈值计算部件(8,10)根据所述多个副带能量值(RL(0),RH(0))来确定所述信噪比值。
9.如权利要求6所述的装置,其特征在于,所述阈值计算部件(8,10)根据所述信噪比值来确定一个换算值。
10.如权利要求9所述的装置,其特征在于,所述阈值计算部件(8,10)通过将背景噪声估计值乘以所述换算值来确定至少一个阈值。
11.如权利要求3所述的装置,其特征在于,所述副带速率确定部件(12,14)将至少一个所述多个副带能量值(RL(0),RH(0))与所述至少一个阈值相比较,来确定所述建议的编码速率。
12.如权利要求10所述的装置,其特征在于,所述速率确定部件将至少一个所述多个副带能量值(RL(0),RH(0))与所述至少一个阈值相比较,来确定所述编码速率。
13.如权利要求2所述的装置,其特征在于,所述速率确定部件确定多个建议的编码速率,其中各建议的编码速率对应于所述多个副带能量值(RL(0),RH(0))中相应的一个副带能量值,所述速率确定部件根据所述多个建议的编码速率来确定所述编码速率。
14.如权利要求1所述的装置,其特征在于,所述信噪比部件包括信噪比计算器,该信噪比计算器接收所述输入信号并根据所述输入信号来确定信噪比值;速率确定部件包括速率选择器,所述速率选择器接收所述信噪比值并根据所述信噪比值来选择所述编码速率。
15.如权利要求1所述的装置,其特征在于,还包括副带滤波子系统(4,6),用于确定所述输入信号(S(n))的各频率副带的信号能量;所述速率部件部件包括速率选择子系统,用于根据所述输入信号(S(n))的各频率副带的信号能量来选择编码速率。
16.如权利要求15所述的装置,其特征在于,所述副带滤波子系统包括多个副带能量计算部件(4,6),各所述副带能量计算部件用于确定一个频率副带信号能量。
17.如权利要求16所述的装置,其特征在于,所述信噪比部件包括多个阈值修正部件(8,10),各阈值修正部件用于使用来自对应的副带能量计算部件的频率副带信号能量来确定在该频率副带中是否存在声音信号。
18.如权利要求17所述的装置,其特征在于,各阈值修正部件(8,10)配置成根据对应的频率副带的信号能量和噪声估计值来确定一个阈值,该阈值用于确定在该频率副带中是否存在声音信号。
19.如权利要求16所述的装置,其特征在于,所述多个阈值修正部件(8,10)配置成根据所述输入信号的多个频率副带的组合的信号能量来确定一个阈值,该阈值用于确定在该频率副带中是否存在声音信号。
20.一种用于为可变速率声码器确定编码速率的方法,其特征在于,包括以下步骤接收输入信号(S(n));根据所述输入信号(S(n))来确定信噪比值;根据所述信噪比值来确定所述编码速率。
21.如权利要求20所述的方法,还包括根据预定的副带能量计算公式来确定多个副带能量值的步骤。
22.如权利要求21所述的方法,其特征在于,还包括根据所述多个副带能量值来确定多个建议的副带编码速率的步骤。
23.如权利要求21或22中任一项所述的方法,其特征在于,根据下面的公式确定所述多个副带能量值中的每个副带能量值 其中L为带通滤波器hbp(n)内的抽头数,Rs(i)为输入信号S(n)的自相关函数,Rhbp为带通滤波器hbp(n)的自相关函数。
24.如权利要求22所述的方法,其特征在于,还包括根据所述多个副带能量值来确定一组编码速率阈值的步骤。
25.如权利要求24所述的方法,其特征在于,所述确定一组编码速率阈值的步骤根据所述多个副带能量值来确定所述信噪比值。
26.如权利要求25所述的方法,其特征在于,所述确定一组编码速率阈值的步骤根据所述信噪比值来确定一个换算值。
27.如权利要求26所述的方法,其特征在于,所述确定一组编码速率阈值的步骤通过将背景噪声估计值乘以所述换算值来确定所述速率阈值。
28.如权利要求22所述的方法,其特征在于,所述确定所述编码速率的步骤将至少一个所述多个副带能量值与至少一个阈值相比较,来确定所述编码速率。
29.如权利要求24或27中任一项所述的方法,其特征在于,所述确定多个建议的副带编码速率的步骤将至少一个所述多个副带能量值与所述至少一个阈值相比较,来确定所述多个建议的副带编码速率。
30.如权利要求22所述的方法,其特征在于还包括根据所述多个副带能量值中的每一个来生成一个相应的建议的编码速率的步骤;所述确定编码速率的步骤选择所述建议的编码速率中的一个。
全文摘要
本发明提供一种降低把低能量非嗓音话音作为背景噪声进行编码的概率的方法。用数字副带滤波器(4)和(6)把输入信号分成副带,在副带速率判定部件(12)和(14)中把这些副带中的能量与一组阈值比较,然后在编码速率选择器(16)内检查这些比较结果,通过这些步骤来确定编码速率。用这种方法,可以把非嗓音话音与背景噪声区别开。本发明还提供一种用输入信号的信噪比设置阈值电平的装置,本发明还提供一种用速率可变的声码器对音乐进行编码的方法,它通过检查输入信号的周期性以把音乐与背景噪声区别开来。
文档编号G10L19/14GK1512488SQ20041000166
公开日2004年7月14日 申请日期1995年8月1日 优先权日1994年8月10日
发明者安德鲁·P·德雅克, 威廉·R·加德纳, R 加德纳, 安德鲁 P 德雅克 申请人:夸尔柯姆股份有限公司