在线性预测型语音编码器,如码激励线性预测(CELP)语音编码器中,流入的原始语音信号通常被划分成称为帧的块。典型的帧长度为20毫秒或160个样本,其帧长度通常用于,例如,传统的电话频带蜂窝应用中。这些帧通常被进一步划分成子帧,这些子帧长度通常为5毫秒或40个样本。
在如上面提到的传统语音编码器中,描述声道,音调和其它特征的参数在语音编码过程中从原始语音信号中提取出来。变化很慢的参数在帧-帧的基础上计算。这种较慢变化的参数的例子包括所谓的短时预测(STP)参数,该参数描述声道信息。STP参数定义了线性预测语音编码器中合成滤波器的滤波器系数。变化很快的参数,例如,音调,以及新的形状和新的增益参数通常为每个子帧计算。
在参数被计算之后,它们被量化。STP参数常常转换为更适于量化的表示形式,例如,线谱频率(LSF)表示。在该技术领域将STP参数转换成LSF表示也是众所周知的。
一旦参数被量化,在参数信息交叉存取和调制之前,误差控制编码和校验和信息被加入其中。然后,参数信息通过通信信道传送给接收机,在此,语音解码器基本上执行上面描述的语音编码过程的反过程以便合成非常近似原始语音信号的语音信号。在语音解码器中,通常对合成语音信号进行后滤波以增强信号的感知质量。
使用线性预测模型例如CELP模型的语音编码器一般很好地适用于语音编码,因此,在这种编码器中,非语音信号如背景噪声的合成或再现常常很差。在很差的信道条件下,例如,当量化参数信息被信道误差扭曲时,背景噪声的再现恶化的更厉害。即使在清晰的信道条件下,背景噪声通常被接收机处的听者感知为波动而不稳定的噪声。在CELP编码器中,这个问题的原因主要是均方误差(MSE)准则,该准则通常在通过合成分析环与目标信号和合成信号之间很差的相关组合中使用。在很差的信道条件下,如上面提到的,该问题甚至更糟,因为,背景噪声电平波动的很大。听者会感觉非常吵,因为背景噪声被期望变化的很慢。
在清晰和吵闹的信道条件下,都能改进背景噪声感知质量的一个方法可以包括使用声音活动检测器(VADs),该检测器做出关于正在编码的信号是语音或非语音的硬判断(例如是或非)。基于该硬判断,不同的处理技术可以应用于解码器。例如,如果判断是非语音,那麽解码器会假设信号是背景噪声,并且可以平滑背景噪声中的频谱变化。然而,该硬判断技术的不利之处是允许听者听到的语音处理操作和非语音处理操作之间的解码器切换。
除了前面提到的问题,在较低的比特率下(例如低于8kb/s),背景噪声的再现甚至恶化的更厉害。在很低的比特率下以及很坏的信道条件下,背景噪声常常被听作振颤效果,该效果是解码背景噪声电平的不自然变化造成的。
因此,理想的是,在线性预测语音解码器如CELP解码器中再现背景噪声,同时避免前面提到的不期望的背景噪声的听者感知效果。
本发明给出背景噪声的改善的再现。解码器能够逐渐的(即平缓的)增加或降低对正在重构的信号所施加的能量包络平滑。这样,背景噪声再现的问题可以通过平滑能量包络解决,而不会感知到能量包络平滑操作的使能/禁止。
欧洲专利申请号No.0,843,301描述了一种方法,该方法用于在工作于不连续发送模式下的移动终端中产生柔和的噪声。随机激励控制参数在发送端计算并且在接收端被修正。这样产生一个准确而柔和的噪声,该噪声与发送端的背景噪声相匹配。除了其它柔和噪声参数之外,这些参数仅仅在语音脉冲过程中被计算。不良条件的语音编码参数的中值替换了原始参数。
美国专利申请号No.04,630,305描述了一种自动增益选择器,用于噪声抑制系统,该系统在接收含噪声语音信号时增强语音质量以产生噪声抑制后的语音信号。这个过程是利用谱增益修正完成的,其中根据多个参数,如信道编号,当前信道SNR和整体平均的背景噪声来选择各个信道的增益。
欧洲专利申请号No.0,786,760指导利用解码器来产生柔和参数,其中的解码器在特定段上利用输入信号的自相关值的加权平均来估计背景噪声的估计统计值。此外,还引入了平滑转换,这种转换渐进地在语音脉冲间引入柔和噪声。
WO 96/34382描述了一种方法,用于确定信号的当前部分是语音还是噪声。这一点是通过将以前部分和当前部分相比来完成的,这将最终确定当前信号部分是语音还是噪声。
IEEE论文“A voice activity detector employing softdecision based noise spectrum adaptation(采用基于软判断的噪声谱自适应的话音活动检测器)”1998年关于声学、语音和信号处理的IEEE国际会议,ICASSP’98,vol.1,12-15 1998年五月,365-368页,XP002085126,Seattle,WA,US描述了一种声音活动检测器(VAD)用于变比特率语音编码。噪声统计已知为一种先验信息,而噪声统计是基于噪声谱自适应算法利用软判断来估计的。
详细描述
示例图1给出传统线性预测语音解码器如CELP解码器的有关部分,这将有利于对本发明的理解。在图1的传统解码器部分,参数确定装置11从语音编码器接收(通过没有给出的传统通讯信道)一些表示参数的信息,这些参数可以被解码器用来尽可能好的重构原始语音信号。根据编码器信息,参数确定装置11为当前帧或子帧确定能量参数和其它参数。在图1中,能量参数被表示为EnPar(i),其它参数(在13表示)表示为OtherPar(i),i为当前子帧(或帧)的子帧(或帧)的索引。这些参数被输入到语音重构装置15,该重构装置根据能量参数和其它参数合成或重构原始语音,背景噪声的近似值。
能量参数EnPar(j)的传统例子包括用于CELP模型的传统固定码书增益,长时预测增益,帧能量参数。其它参数OtherPar(i)的传统例子包括以前提到的STP参数的LSF表示。输入到图1的语音重构装置15的能量参数和其它参数对于该领域的工作人员来说是已知的。
图2说明了根据本发明的示例线性预测解码器(例如CELP解码器)的有关部分。图2的解码器包括图1的传统参数确定装置11和语音重构装置25。然而,图2中参数确定装置11输出的能量参数EnPar(i)被输入到能量参数修正装置21,该装置输出修正后的能量参数EnPar(i)mod。修正后的能量参数和参数确定装置11产生的参数EnPar(i),OtherPar(i)一起输入到语音重构装置25。
能量参数修正装置21接收参数确定装置11输出的其它参数作为控制输入23,而且接收表示信道条件的控制输入。根据这些控制输入,能量参数修正装置选择性地修正能量参数EnPar(i)并输出修正后的能量参数EnPar(i)mod。修正的能量参数改进了背景噪声的再现,而不会有前面提到的不利之处:如图1所示的传统解码器中与背景噪声再现相关的听者感知。
在本发明的一个示例实现中,能量参数修正装置21尝试仅仅在稳态背景噪声下平滑能量包络。稳态背景噪声意味着基本恒定的背景噪声,如在驾驶汽车移动中使用蜂窝电话时出现的背景噪声。在一个示例实现中,本发明使用了当前和以前的短时合成滤波器系数(STP参数)来获得信号平稳性测量值。这些参数能很好地抵御信道误差。利用当前和以前的短时滤波器系数测量平稳性的例子如下所示:
等式1
在上面的等式1中,lsfj表示与当前子帧相关的短时滤波器系数的线谱频率表示的第j个线谱频率系数。同样在等式1中,lsfAverj表示来自以前N帧的第j个短时滤波器系数的lsf表示的平均值,其中N可以设置为8。这样,等式1中求和符号右边的计算对短时滤波器系数的每个线谱频率表示进行。作为一个例子,通常存在10个短时滤波器系数(对应于10阶合成滤波器),因此有10个对应的线谱频率表示,因此j应该表示lsf的索引1到10。在该例子中,对于每个子帧,将在等式1中计算10个值(每个短时滤波器系数1个值),这10个值将被加在一起给出该子帧的平稳性测量值,diff。
注意到即使在短时滤波器系数和对应线谱频率表示每帧仅更新一次时,等式1仍然在子帧基础上适用。这是可能的,因为传统的解码器为每个子帧内插每个线谱频率lsf值。这样,在传统的CELP解码操作中,每个子帧被分配了一组内插lsf值。利用前面提到的例子,每个子帧将被分配10个内插lsf值。
等式1中的项lsfAverj可以,但不必解决lsf值的子帧内插。例如,lsfAverj可以表示N个以前lsf值的均值,N个以前帧的每一帧有一个该值,或者表示4N个以前lsf值的平均值,每N个以前帧的4个子帧中的每一子帧有一个该值(利用内插的lsf值)。在等式1中,lsf的跨度可以是0~π,其中π是采样频率的一半。
另一个计算等式1中lsfAverj项的方式是:
lsfAverj(i)=Al·lsfAverj(i-1)+A2·lsfj(i)
等式1A
其中lsfAverj(i)和lsfAverj(i-1)项分别对应于第i和i-1帧的第j个lsf表示,lsfj(i)是第i帧的第j个lsf表示。对于第一个帧,其中i=1,可以为lsfAverj(i-1)(=lsfAverj(0))项选择适当的初始值(例如经验值)。A1和A2的示例值包括A1=0.84和A2=0.16。上面等式1A的计算复杂度低于上面描述的示例8帧运行平均的复杂度。
在等式1的平稳性测量值的另一个可选公式中,分母中的lsfAverj可以替换为lsfj。
等式1的平稳性测量值,diff表示了当前子帧的频谱与在预定数量的以前帧上平均得到的平均谱的差异程度。谱型上的差异与信号能量中强烈的变化(例如,在谈话出现时,门的撞击等)相关程度很大。对于大多数类型的背景噪声,djff非常低,而对于浊音语音diff值很大。
对于难于编码的信号,例如背景噪声,最好是保证平滑的能量包络而不是精确的波形匹配,后者很难实现。平稳性测量值,diff被用于确定需要进行多少能量包络平滑。能量包络平滑应该被平稳引入或从解码过程中除去以便避免可感知的平滑操作的启用/禁止。因此,diff测量值被用来定义混合因子k,该方法的示例公式如下所示:
k=min(K2,max(0,diff-K1))/K2
等式2
其中K1和K2被选择为使得混合因子k对于浊音语音非常近似1(不做能量包络平滑),而对于平稳性背景噪声为0(全部做能量包络平滑)。K1和K2的示例值为K1=0.4,K2=0.25。图6给出了平稳性测量diff和上面举例给出的K1=0.4,K2=0.25的混合因子k之间的关系。混合因子k可以表示为diff测量值的任何其它适当的函数,k=F(diff)。
图2的能量参数修正装置21也用到了与以前子帧相关的能量参数以产生修正的能量参数EnPar(i)mod。例如,修正装置21可以计算图2中传统的所接收能量参数EnPar(j)的时间均值。例如,时间均值可以如下计算:
等式3
其中bi被用来得出能量参数的加权和。例如,bi的值可以被设置为1/M以便根据以前的M个子帧给出能量参数值的实际均值。等式3的平均不需要在子帧的基础上计算,而是可以在M帧的基础上进行。平均的基础取决于被平均的能量参数和期望的处理类型。
一旦利用等式3计算了能量参数的时间均值EnPar(i)avg,混合因子k被用来控制使用所接收能量参数值EnPar(i)和平均能量参数值EnPar(i)avg之间的平稳切换或渐进切换。一个使用混合因子k的示例等式如下所示:
EnPar(i)mod=k·EnPar(i)+(1-k)·EnPar(i)avg
等式4
根据等式4可以清楚看到,当k很小(平稳背景噪声)时,主要使用了平均能量参数来平滑能量包络,另一方面,当k很大时,主要使用了当前参数。对于中间k值,将会计算当前参数和平均参数的混合值。还注意到等式3和4的处理可以适用于任何期望的能量参数、期望的任意多的参数和能量参数的任何期望组合。
现在参考输入到图2的能量参数修正装置21的信道条件,通常可以在线性预测解码器如CELP解码器中得到这种信道条件信息。例如以信道解码信息和CRC校验和的形式得到。例如,如果没有CRC校验错误,这表明是好的信道条件,但是如果给定子帧序列中出现太多CRC校验和错误,则表明在编码器和解码器之间存在内部状态误匹配。最后,如果给定帧具有CRC校验和错误,那麽表明该帧是一个坏帧。在上面描述的好信道条件下,例如,能量参数修正装置可以采用保守方法,在等式3中设置M=4或5。在前面提到的所怀疑的编码器/解码器内部状态误匹配情况中,图2的能量参数21可以,例如通过将等式2中的K1值从0.4增加到例如0.55来改变混合因子k。如可以从等式4和图6看到的,值K1的增加将使得混合因子k对于很宽范围的diff值保持在0(全平滑),这样加强等式4的时间平均能量参数项EnPar(i)avg的影响。如果信道条件信息表明是一个坏帧,那麽图2的能量参数修正装置21可以例如,既增加等式2中的K1值也增加等式3中的M值。
图3图解说明了图2的能量参数修正装置21的示例实现。在图3的实施方案中,EnPar(i)和由lsf(i)表示的当前子帧的lsf值被接收并存储在存储器31中。平稳性判断装置33从存储器31获得当前和以前的1sf值,并应用上面的等式1来确定平稳性测量值,diff。然后,平稳性判断装置将diff提供给混合因子确定装置35,该装置应用上面的等式2来确定混合因子k。混合因子确定装置然后将混合因子k提供给混合逻辑电路37。
能量参数平均装置39从存储器31获得当前和以前的EnPar(i)值并实现上面的等式3。能量参数平均装置然后将EnPar(i)avg提供给混合逻辑电路37,该电路还接收当前能量参数EnPar(i)。混合逻辑电路37实现上面的等式4以产生EnPar(i)mod,该值与上面描述的参数EnPar(i)和OtherPar(i)一起被输入给语音重构装置25。混合因子确定装置35和能量参数平均装置39都可以接收通常可获得的信道条件信息作为控制输入,并能够如上面描述的响应各种信道条件来采用适当的操作。
图4说明了图2和图3中给出的示例线性预测解码器装置的示例操作。在41,参数确定装置11根据编码器信息确定语音参数。因此,在43,平稳性确定装置33确定背景噪声的平稳性测量值。在45,混合因子确定装置35基于平稳性测量值和信道条件信息确定混合因子k。在47,能量参数平均装置39确定时间平均能量参数EnPar(i)avg。在49,混合逻辑电路37将混合因子k施加给当前能量参数EnPar(i)和平均后的能量参数EnPar(i)avg来确定修正后的能量参数EnPar(i)mod。在40,修正后的能量参数EnPar(i)mod连同参数EnPar(i)和OtherPar(i)一起被提供给语音重构装置,根据这些参数,原始语音的近似值包括背景噪声可以被重构出来。
图7说明了图2和3的语音重构装置25的部分示例实现。图7说明了在通常的涉及能量参数的计算中,参数EnPar(i)和EnPar(i)mod是如何被语音重构装置25使用的。重构装置25使用参数EnPar(i)用于常规的能量参数计算,该计算影响到解码器的任何优选将与对应的编码器内部状态匹配的内部状态,例如,音调纪录。重构装置25使用了修正后的参数EnPar(i)mod用于所有的其它能量参数计算。通过比较,图1的传统重构装置15使用EnPar(i)用于所有图7给出的传统能量参数计算,参数OtherPar(i)(图2和图3)可以用于重构装置25,其方式相同于在传统重构装置15使用的方式。
图5是根据本发明示例通讯系统的方框图。在图5中,根据本发明的解码器52被提供给收发机(XCVR)53中,该设备通过通讯信道55与收发机54通讯。解码器52通过信道55从收发机54中的编码器56处接收参数信息,并为收发机53处的听者提供重构语音和背景噪声。作为一个例子,图5的收发机53和54可以是蜂窝电话,信道55可以是经过蜂窝电话网络的通讯信道。本发明语音解码器52的其它应用很多并且很容易明白。
对本领域内的技术人员很明白的是,根据本发明的语音解码器可以很容易地利用,例如,适当编程的数字信号处理器(DSP)或其它数据处理设备来实现,仅仅使用这种设备或与外部支持逻辑电路组合来实现。
上面描述的根据本发明的语音解码提高了再现背景噪声的能力,在无差错条件和坏信道条件情况下都是这样,并且不会有不可以接受的语音性能的降低。本发明的混合因子促使平滑地激活或禁止能量平滑操作,因此,不会在重构语音中有可感知的恶化,而这种恶化是因为激活/禁止能量平滑操作引起的。而且,因为用于能量平滑操作中的以前参数信息的量相对很小,这使得重构语音信号恶化的风险很小。
尽管本发明的示例实施方案已经在上面详细描述,这并不会限制本发明的范围,这可以在实施方案的变化中实践。