具有改进的子样求解长期预测器的数字化语言编码器的制作方法

文档序号:2835525阅读:146来源:国知局
专利名称:具有改进的子样求解长期预测器的数字化语言编码器的制作方法
技术领域
本发明涉及在低比特率下数字化语言编码。特别涉及用以确定长期予测器输出响应的编码激发线性予测语言编码器的一种新方法。
编码激发线性予测(CELP)是一种语言编码技术,它具有在低比特率(即每秒4.8到9.6千比特(kbps))下产生高质量合成语言的潜力。这一类语言编码(也被称作矢量激发线性预测或随机编码)最有可能用于数字化语言通讯及语言合成应用。可以证明,CELP(编码激发线性预测)特别适用于数字语言编码和数字无线电话通讯系统。在这系统中语言的质量,数据的速率,规模和成本是主要问题。
“编码激发”或“矢量激发”这一词组来源于下列事实,即用于语言编码器的激发序列是矢量化的。也就是用一个单个的编码字代表激发样本序列或矢量。用这种方法,即使每一样本的数据速率少于一个比特,也可以对所激发序列进行编码。存储的激发编码矢量通常是由独立的随机白色高斯序列构成。从编码本中选出一个编码矢量代表N个激发样本中的每一单元。每一个存储的编码矢量是由一个编码字代表的,也就是该编码矢量存储位置的地址。正是这个编码字,按顺序通过通信信道被送到语言合成器,在接受器那里重新构成语言帧。有关CELP编码激发线性预测)的更详细解释请见M.R.Schrseder和B.S.Atal的论著“编码激发线性预测低此特率,高质量语言”。此文发表在1985年3月召开的IEEE声学,语言信号处理国际会议文件汇编3卷937-40页。
在编码线性激发(CELP)语言编码器中,从编码本中得到的激发编码矢量被加到两个随时间变化的线性滤波器上。此滤波器模拟输入语言信号的特点。在第一个滤波器的反馈环中有一个长期预测器。这个长期预测器有2到5毫秒(ms)的延迟,用以产生语音的音调周期特性。第二个滤波器的反馈环中有一个短期预测器。这个短期预测器的延迟时间少于2毫秒,用以产生频谱包络线,即格式结构。对每一帧语言,语言编码器将一独立的编码矢量加到滤波器上,以产生一个重新构成的语言信号,并且将原来的输入信号与重新构成的语言信号进行比较,以产生一个出错信号。出错信号然后过一个加权滤波器进行加权。这个加权滤波器具有依据人的听力而作出的反应。如果选出的编码矢量所产生的加权错误信号对于当前的一帧语言具有最小的能量,那么最优化激发信号将由这个编码矢量所决定。然后,用于最优化编码矢量的编码字通过通信信道被发送。
在CEIP语言合成器中,由通信信道收到的编码字为激发矢量的编码本编址。接着,单个的编码矢量与放大系数相乘,并通过长期和短期滤波器得到一个重新构成的语言矢量。放大系数和预测器参数也是由通信信道得到的。现在已经发现,如果合成器使用的实际参数在分析阶段使用,这样可以减少错误的数量,那么就能产生一个更好质量的合成信号。因此,在CELP语言分析阶段使用这种合成参数以产生更高质量的语言被称为合成分析语言编码。
短期预测器试图通过使用刚输出过的样本S(n-i)的线性组合来预测正要输出的样本S(n),依据下列公式S(n)=α1S(n-1)+α2S(n-2)+……+αpS(n-p)+e(n)这里p是短期预测器的阶,e(n)是预测偏差,即先前样本的加权和不能代表的那一部分。假定样本速率为8kH2,预测器阶P的典型范围从8到12。加权数α1、α2、α3在此公式中称为预测器系数。从使用传统线性预测编码技术(LPC)的语言信号中可以决定出短期预测器系数。短期滤波器输出响应可用Z变换形式表达A(Z)=11-Σi=1Paiz-i]]>有关短期滤波参数的进一步讨论,请参照IEEE Trans.Commum.COM30卷600-14页。文章名称是《低比特率下的语言预测编码》。
另一方面,长期滤波器必须根据先前的样本预测出下一个输出样本。那些先前的样本延长一个相当长的时间。如果预测器仅使用单一的过去样本,那么这种预测器就是单口预测器。典型情况下,使用一到三口的预测器。对于一个单口长期滤波器的输出响应,以Z变换形式给出的长期预测器如下B (Z) = 1/(1 - BZ- L)注意此输出响应仅为此滤波器的延迟L和滤波器系数B的函数。对于声音语言,延迟L为一典型的语言音调周期,或它的倍数。在8KHz样本速率时,延迟L的合适范围应在16和143之间,此数相对于音调范围为56至500Hz。
长期预测器延迟系数L和长期预测器系数B可由开环结构或闭环结构决定。若使用开环结构,延迟L和系数B可从输入信号(或它的偏差)直接算出。在闭环结构中,可从代表长期滤波器的过去输出和输入语言信号的编码数据中以帧速率的形式计算出延迟L和系数β。在使用编码数据时,决定长期预测器的延迟是基于长期滤波器的实际状态。此状态存在于合成器中。因此,闭环结构比开环结构运行的更好,这是因为音调滤波器本身有助于出错信号的优化。而且,单口预测器在闭环结构下工作得非常好。
使用闭环结构,依据下列公式,长期滤波器的输出响应仅由长期滤波器过去的输出样本和当前的输入语言样本S(n)决定。公式如下b(n)=S(n)+βb(n-L)
这种技术直接用于音调延迟L。当L≥N时,音调延迟L大于帧长度N,这是因为因子b(n-L)对所有的样本0≤n≤N-1而言,总是代表一个过去的样本,更进一步研究,在L>N的情况下,激发放大系数r和长期预测器系数β可共同用来优化延迟L和编码字i的给定值。现已发现,这种联合优化技术显著地改进了语言质量。
然而,如果必须使长期预测器的延迟L小于帧的长度N,那么闭环方式将会失败。在高音调女性语言情况下,这种情况已经产生。例如,当女性的音调为250Hz,长期预测器的延迟L等于4毫秒。在8KHz样本速率时,250Hz的音调相当于32个样本的长期预测器延迟L。然而,人们不希望所使用的帧的长度小于4毫秒。因为所使用的帧长度越长,对CELP激发矢量的编码就更有效。于是,在8KHz样本速率时,如果用一帧的时间长度为7.5毫秒,那么帧的长度应该等于60个样本。这意味着仅有32个过去的样本对预测下一帧的60个样本有效。因此如果长期预测器延迟L小于帧的长度N,那么所需要的N个样本中仅有L个过去的样本能够确定。
在以前的工艺中已经采取了几种替代办法以解决音调延迟时间小于帧长度的问题。在试图解决联合优化长期预测延迟L和系数β的方法中,首先尝试的是假定没有激励信号存在试图直接来求解那些方程。这种方法在题为“规则脉冲激励-有效的有影响的多脉冲语言编码的新方法”一文中有解释。此文作者为Kroon,et al。见《声学、语言及信号处理会刊》卷1,ASSP-34,№5 1986十月 1054-1063页。然而,接下来,在这个方法中,必须解决有关单一系数β的非线性方程。必须解出有关β的二次或三次的解。有关β的二次或三次的解在计算上是不现实的。因此,试图使用这种方法用放大系数r联合优化系数β仍旧是不可能的。
第二种解决方法是限制长期预测器延迟L一定要大于帧长度N。此方法是由Singhal和Atal在“改进多脉冲LPC编码器在低比特率条件下运行”一文中提出的。此文发表在IEEE声、语言、信号处理国际会议文件汇编第一卷。1984年3月19日-21日1.3.1-1.3.4页。这种人为的限制音调延迟L通常不能正确地反映出音调信息。因此,使用这种方法,对于高频率语言其声音的质量会降低。
第三种解决方法是减小帧长度N的规模。使用一个较短的帧长度,长期预测器延迟L总能由过去的样本决定。然而这种方法要求严格的比特速率。使用一个较短的帧长度,必须为更多的长期预测器系数和激发矢量编码。因此信道的比特速率必须要更大,以适应额外的编码。
对于高音调说话者,存在着第二个问题。编码器使用的抽样速率为单口音调预测器的运行设置了一个上限。例如,如果音调频率实际为485Hz,那么最接近的延迟值将为16,这个数值对应为500Hz。这样相对于原有的音调频率就产生了15Hz的误差,从而降低了声音的质量。对于音调频率的谐波成份,这一误差还会被扩大,以至于引起进一步的失真。
因此,需要提供一种改进方法以决定长期预测器延迟L。高音调语言编码最优化解决方法必须兼顾到计算的复杂性和声音的质量这两个方面。
因此,本发明总的目的是提供一种能在低比特率下产生高质量语言的改进了的数字语言编码技术。
本发明更具体的目的是提供一种方法以确定在使用闭环方式时长期预测器的系数。
本发明的另一个目的是提供一种改进了的方法以确定长期预测器在其延迟系数不是整数时的输出响应。
本发明的进一步目的是提供一种改进了的CELP语言编码器。当搜索编码本来找出优化激励编码矢量时,此编码器能联合优化增益系数r和长期预测器系数β。
依据本发明的一个新颖构思,可允许系数L取非整数值,因此增加了系数L的解决办法。要做到这一点,可使用插入式滤波器以提供长期预测器状态的插入样本。在闭环应用时,长期预测器状态的将来样本不能用于插入滤波器。解决问题的方法是用音频同步地把长期预测器的状态延伸到将来,以供插入滤波器使用。当下一帧实际激励样本变得可能时,更新长期预测器状态以反映实际的激励样本(置换这些状态是基于音调同步延伸样本)。例如,插值法可以用来在两个现存样本之间插入一个样本,这样L的解被加倍为半个样本。也可选择更高的插入因数,例如选3和4,这样可以使L的解加到一个样本的1/3或1/4。
本发明,连同进一步的目标和它的先进之处,可以通过参照下列描述并参考相应的附图更好地了解。在几张图中,相似的数字标识相同的部件。


图1是编码激励线性预测语言编码器总框图,说明了在使用本发明时长期滤波器的位置;
图2A是图1中长期滤波器实施方案的详细框图,说明了当滤波器延迟L是整数时长期预测器的响应;
图2B是移位寄存器简化图,以此来说明图2A中长期预测器的运行状况;
图2C是图1中长期滤波器的另一实施方案,的详细框图,说明了当滤波器延迟L是整数时长期预测器的响应;
图3是说明图2A中长期滤波器工作情况的详细流程图;
图4是依据本发明使用的语言合成器的总框图;
图5是图1中长期滤波器的详细框图,说明依据本发明利用子样本来求解的长期预测器的响应;
图6A和图6B是图5中长期滤波器的操作过程的详细流程图;
图7是语言滞后滤波器详细框图,此滤波器用来互连图4中的短期滤波器和语言合成器的D/A转换器;
现参见图1。这里展示了依据本发明使用了长期滤波器的编码激励线性预测语言编码器100的总框图。要被分析的声音输入信号通过话筒102加到语言编码器上。输入信号(典型情况为一语言信号)被加到滤波器104。滤波器104一般情况下具有宽带滤波器特性。然而,如果语言频带宽度已达到要求,滤波器104可直接用导线联接。
由滤波器104而来的模拟语言信号然后转换为N脉冲样本序列。在A/D转换器108中每一脉冲样本的振幅由数字编码代替,如同现有技术中已知的那样。取样速率由样本时钟SC决定。在最佳实施方案中它为8.0KHz。时钟112产生样本时钟SC及帧时钟FC。
A/D108的数字化输出(可用输入语言矢量S(n)代表)加到系数分析仪110。这一输入语言矢量以分离帧的形式不断获得。也就是帧的长度,时间块是由帧时钟FC决定的。在最佳实施方案中,输入语言矢量S(n),0≤n≤N-1,代表7.5ms一帧,每一帧含N=60个样本,每一样本由12-16比特的全幅数字编码代表。在这个实施方案中,对每一语言块,每一套线性预测编码系数由系数分析仪110以开环结构产生。短脉预测器系数αi,长期预测器系数β,正常长期预测器延迟系数L,加权滤波器系数WFP及激励增益因数r(同时还有后面要讲到的最佳激励编码字)被加到多路调制器150,然后通过通信信道送到语言合成器供其使用。本实施方案所需的产生这些参数的代表性方法请参照B.S.Atal的文章《低比特率时的语言预测编码》,IEEE Trans Commun卷COM-30 600-14页 1987年4月。输入语言矢量S(n)也加到减法器130,其功能将在下面描述。
编码本ROM120存有一套M个激发矢量Ui(n),这里1≤i≤M,每一个由N个样本构成。这里0≤n≤N-1。编码本ROM120产生这些伪随机激发矢量以响应一套激发编码字i中特定的一个。激发矢量中的每一个是由一系列随机白色高斯样本组成的,当然其它类型的激发矢量也可用于本发明。如果对60个样本中的任意一个,以每一样本0.2比特的速率对激发信号编码,那么将会有4096个编码字之对应于可能的激发矢量。
为与输入矢量Si(n)相比较,对每一独立的激发矢量Ui(n),均产生一个重新构造的语言矢量Si(n)。放大单元122将激励矢量Ui(n)放大激励增益因数r倍。激励增益因数r对特定的一帧来说是一常数。激励增益因数r可由系数分析仪110预先计算出来。系数分析仪并用来分析所有激发矢量,如图1所示。激励增益因数r可与寻找最佳激发字I联合被优化。最佳激发字I是由编码本搜寻控制器140产生的。
放大了的激发信号rUi(n)通过长期滤波器124和短期滤波器126以产生重新构造的语言矢量S′i(n)。滤波器124使用长期预测器系数β和L以产生语音周期。滤波器126使用短期预测器系数αi以产生频谱包络线。长期滤波期将在下面图中做进一步详细描写。应当注意,方块124和126是实际的循环滤波器。在它们相应的反馈回路中带有长期预测器和短期预测器。
用于第i个激发编码矢量的重新结构过的语言矢量S′i(n)与输入语言矢量S(n)在减法器130中通过相减进行比较。两矢量差ei(n)表示了原有信号与重新构造过的语言单元的差别。矢量差通过加权滤波器132进行敏感性加权。加权滤波器使用的参数WTP是由参数分析仪产生的。对一有代表性的加权滤波器的变换功能可参考以前的参考资料。敏感性加权是指对人耳较为重要的那些频率,而削弱其它一些频率。
能量计算器134计算出经过加权的矢量差ei(n)的能量。然后将出错信号Ei加到编码本搜寻控制器140。搜寻控制器比较第i个出错信号,以便提供一个针对先前错误信号的激发矢量Ui(n),以便激发矢量产生最小的错误。错误最小的第i个激发矢量编码然后做为最佳激发编码I经由信道输出。在替代方案中,搜寻控制器140应能决定一个特别的编码字。此编码字带有一事先预置了临界值的出错信号。例如满足一个事先预置的出错门槛。
图1说明了本发明用于编码激励线性预测语言编码器的一个实施方案。在这一方案中,在开环结构中的长期滤波器系数L和β是由系数分析仪110决定的。另一种方法也可确定闭环系统中长期滤波器系数。此方法在前面提到的Singhal和Atal的论文中有论述。一般而论,使用由闭环结构中决定的长期滤波器参数可以改进语言编码器的操作。依据本发明所做的长期预测器的最新结构能极大地简化使用闭环结构来确定延迟L小于帧长度N的那些系数的过程。
图2A说明了图1中长期滤波器124的一种实施方案。这里L限定为整数。虽然图1表明经放大单元122放大了的激励矢量r Ui(n)做为长期滤波器124的输入,但是在图2A中,为了说明方便,仍使用有代表性的输入语言矢量S(n),因此,输入语言矢量S(n)的N个样本中的一帧,仍被加到加法器210上。加法器210产生一个输出矢量b(n)供长期滤波器124使用。输出矢量b(n)反馈到长期预测器230的延迟单元。正常长期预测器的延迟系数L也输入到延迟单元230。长期预测器延迟单元提供一个输出矢量q(n)给长期预测器多路复用器单元220。在那里由长期预测器系数β来放大长期预测器的响应。如果是一个递归滤波器,放大了的输出βq(n)然后送到加法器210,这样就完成了环路反馈。
长期滤波器124的输出响应用Z变换形式定义如下
Hn(Z) = 1/(1 - βZ- 〔( n + L )/L)这里n代表含有N个样本的一帧中一个样本的序数,0≤n≤N-1,β表示滤波器系数;L表示长期滤波器的正常延迟;在这里〔(n+L)/L〕代表最接近于小于或等于(n+L)/L的整数。长期预测器迟延〔(n+L)/L〕作为样本数n的函数而变化。这样,依据本发明,实际的长期预测器延迟变为kL,在这里L是基本的或正常的长期预测器延迟;K是从做为样本数n的函数之集合{1,2,3,4,……}中选出的一个整数。因此,长期滤波器输出响应b(n)是正常长期预测器延迟系数L和滤波器状态FS的函数。滤波器状态FS存在于每一帧的开始。这种状态对于L的所有取值都是真的。即使是在音调延迟L小于帧长度N的这种成问题的情况下,上述状态对于L的取值也是真的。
长期预测器延迟单元230的函数被存入当前输入样本,以便预测将来的样本。图2B为一移位寄存器简图。此图可以帮助了解图2A中长期预测器延迟单元230的工作情况。对于样本数l例如n=1,当前输出样本b(n)加到移位寄存器的输入端,该输入端位于图2B的右侧。对于下一个样本n=1+1,先前的样本b(n)向左移位进入移位寄存器。这一样本现在变成了第一个过去样本b(n-1)。对于下一个样本n=1+2,另一个b(n)样本左移进入移位寄存器,原有的样本再次左移一位,变成第二个过去样本b(n-2)。当L个样本移进寄存器后,原有的样本已经左移L次,现在它可由b(n-L)代表。
如上所述,延迟L应是典型的语音音调周期或是它的倍数。如果延迟L为最小长度而帧长度N为最长,那么有足够数量的过去样本会移入并存贮在寄存器内以预测下一帧语言。即使是在极端的情况下,L=N,在这里n=N-1,b(n-L)将为b(-1),它仅为一个过去样本。这样,样本b(n-L)将做为输出样本q(n)从移位寄存器中输出。
如果长期预测器延迟系数L比帧长度N短些,那不足的样本数将会由下一帧的开始部分移入移位寄存器。使用上边的例子,250Hz音调周期,音调延迟L应等于32。这样,在L=32,N=60,n=N-1=59时,b(n-L)自然应为b(27)。b(27)就代表与60个样本组成的帧首有关的将来样本。换言之,不足的过去样本已经存贮好了,以便提供一个完整的长期预测器响应。在一帧开始时,需要一个完整的长期预测器响应,因此可以进行预测器系数的闭环分析。在那种情况下,依据本发明,在那种情况下,相同的被存贮的样本b(n-L),0≤n≤L总被重复。这样,长期预测器的输出响应总是为先于当前帧的开始部分已经输入到长期预测器的延迟单元中的样本的函数。在图2B中,加长了移位寄存器以便存贮另一些kL样本。这种形式代表了对长期预测器延迟单元230的结构的修改。因此,做为填入新样本b(n)的移位寄存器,必须选择一k值,以便使b(n-kL)代表先于一帧开始时,存在于移位寄存器中的一个样本。利用先前的例子L=32。N=60输出样本q(32)应是样本q(0)的重复,它为b(0-L)=b(32-2L)或b(-32)。
因此,长期预测器延迟单元230的响应输出应与下式一致q(n)=b(n-kL)这里0≤n≤N-1,k应选最小的整数以使(n-kL)为负数。更详细地说,如果一帧中N个样本中的一个S(n)样本输入到长期预测器滤波器124,那么样本数目n为j≤n≤N+j-1。这里j是一帧中N个样本的第一个样本的索引。因此,变量k的变化应使(n-kL)总小于j。这样确保长期预测器仅使用先于每一帧开始时有效的样本,以便预测出输出响应。
现在根据图3流程图,描述图2A中长期滤波器的运行情况。由350步开始,样本数n在351步置零。正常的长期预测器延迟系数L和长期预测器系数β由352步的系数分析仪输入。在353步中,测试样本数n,以检查整个一帧是否输出了。如果n≥N,那么上述操作在361步结束。如果所有的样本还没有被计算过,那么信号样本S(n)被输入到354步。在355中,依据下面公式计算出长期预测延迟单元230的输出响应
这里〔(n+L)/L〕代表最接近小于或等于(n+L)/L的整数。例如,如果,n=56,L=32那么〔(n+L)/L〕L)应为〔(56+32)/32〕L,也就是〔2.75〕L或2L。在356步,长期滤波器的输出响应b(n)依据下列公式计算b(n)=βq(n)+S(n)这表示了乘法器220和加法器210的功能在357步,对于所有位于b(n-2)和b(n-Lmax)之间的寄存器各位上的样本,均在移位寄存器中左移一位置。这里Lmax代表可被确定的最大长期预测器的延迟。在最佳实施方案中,Lmax等于143。在358步,输出样本b(n)输出到移位寄存器的第一位b(n-1)。359步输出滤过波的样本b(n)。样本数目n然后在360步加1。并在第353步测试。当计算了所有的N个样本后,程序在361步结束。
图2C是依据本发明所做的另一种实施方法,滤波器124′是图2A中循环滤波器结构的前反馈逆转接法。输入矢量S(n)加到减法器240和长期预测器延迟单元260上。延迟了的矢量q(n)为乘法器250的输入。数字滤波器124′的输出响应H2(Z)在下列Z变换形式中给出-〔(n+L)/L」L)Hn(Z)=1-Bz式中,n代表在含有N个样本的一帧中的样本号,0≤n≤N-1,β代表长期滤波器系数;L代表长期预测器的正常延迟或延误;
(n+L)/L」代表最接近于或等于(n+L)/L的整数。滤波器124′的输出信号也可用输入信号S(n)的形式定义,如b(n)=S(n)-βS(n-
(N+L)/L」L)当0≤n≤N-1。对本领域的技术人员,下列做法是会受到欢迎的。长期预测器的结构被重新修改了,以便在长期预测器延迟L少于帧的长度N时,能够重复输出存贮在长期预测器中的相同的样本。
参考下一张图5。本图说明了图1中长期滤波器124的最佳实施方案。此方案允许对于延迟系数L有一个子样本解。一帧具有N个样本的输入语言矢量S(n)送到加法器510上。加法器510产生了一个供长期滤波器124使用的输出矢量b(n)。输出矢量b(n)反馈到长期预测器延迟矢量发生器单元530。长期预测器延迟系数L能够处理非整数值。最佳实施方案允许L处理一个是0.5倍数的数值。根据本发明所做的次样本解长期预测器的替代方案,能够充许取值为1/3的倍数,1/4的倍数或任何其它比例的倍数。
在最佳实施方案中,延迟矢量发生器530包括一个能够利储b(n)过去样本的存储器。另外,权用延迟矢量发生器530也可计算出b(n)的插入样本,并存贮在它的存贮器中。在最佳实施方案中,包含在延迟矢量发生器530中的长期预测器的状态对每一个存贮的样本b(n)有两个样本。一个样本用于b(n),另一个样本代表两个连续样本之间的插入样本。用这种方式,b(n)的样本可从延迟矢量发生器530获得。延迟矢量发生器530与整数延迟或1/2样本系数的延迟一致。插值的方法是插入有限的脉冲响应滤波器。此方法在R.Crochiere和L Rasponse合著的名为《多信号处理》一书中有描述。该书是由Prentice Hall在1983年出版的。对矢量延迟发生器530的工作情况将结合图6A和图6B的流程图作进一步详细描述。
延迟矢量发生器提供一个输出矢量q(n)给长期乘法器单元520。在乘法器单元520中,长期预测器响应放大长期预测器系数β倍。放大了的输出βq(n)然后加到加法器510以完成图5中循环滤波器124的反馈回路。
参照6A和6B,这是详细的流程图,说明由图5所示的长期滤波器的详细工作情况。依照本发明最佳实施方案,将N个点序列b(n)映射到2N个点的矢量ex(i),以此方法扩大长期预测器存贮的解。ex(i)的负指数样本包含有长期滤波器输出b(n)的扩大了的解的过去值。映射处理使长期预测器存贮的暂时解扩大两倍。这里为了简单起见仅描述单一阶段的映射,当然其它阶段也可用在本发明的其它实施方案中。
现在让我们进入到图6A的START这一步602,流程图运行到604步,在这里输入L.β.S(n)。在608步矢量q(n)依照下式构成对于0≤n≤N-1有q(n)=ex(2n-2L
(n+L)/L」
这里〔(n+L)/L〕代表最接近小于或等于(n+L)/L的整数;L是长期预测器延迟。对于声音语言而言,长期预测器延迟L可以是音调周期或音调周期的倍数。在最佳实施方案中L可以是整数或是小数部分为0.5的实数。当L的小数部分是0.5时,它的有效解为半个样本。
在610步,长期滤波器的矢量b(n)根据下式算出b(n)=βq(n)+S(n)0≤n≤N-1在612步中,长期滤波器矢量b(n)被输出。在614步中扩大的解状态ex(n)被更新以产生b(m)的插入值並把它存贮在延迟矢量发生器530的存贮器中。图6B更详细地说明了614步。下一步为616步,整个过程在616步完成并停止。
现在进入图6B中的START步622,流程图运行到624步。在此予帧中要计算的以ex(i)表示的样本在这里归零。即对于i=-M,-M+2,……,2N-1,ex(i)=0。对于阶为2M+1的插入滤波器,选M为奇数。例如,如果滤波器的阶是39,M就应为19。虽然为简单起见,选M为奇数,M也可为偶数在626步中,依据下列公式用b(n)样本预置每一个i=0,2,……2(N-1)的ex(i)其它每一个样本。
ex(2i)=b(i) 用于i=0,1.……N-1
这样当i=0.2。……2(N-1)时ex(i)保持了输出矢量b(n),为的是把当前帧映射为它的偶指数同时当i=1.3。……2(N-1)+1时奇次指数的ex(i)预置为零。
在628步,预置为零的插入的ex(i)样本通过FIR插入。重新构造。假定这种FIR滤波器的阶如上边所解释的为2M+1,那么这种重新构造使用一种对称的,零相位移滤波器。这里FIR滤波器系数是a(i),这里j=-M,-M+2,……,M-1,M,a(j)=a(-j)。仅有被指定为FIR滤波器口的偶数样本才用于样本重造。因为奇数样本已经置零。结果对于每一个重造的样本,实际是M+1而不是2M+1的样本被加权平均了。FIR插值依照下列公式实现((M+1))/2ex(i)=2∑ a2j-1〔ex(i-2j+1)+ex(i+2j-1)〕j=1这里i=-M,-M+2,……,2(N-1)-M-2,2(N-1)-M注意,要重构造的第一个样本是ex(-M),而不是所希望的1。这是因为在指数为-M,-M+2,……,-1时被插入的样本在前一帧使用当前帧中的激励估计值被重新构造。因此在当前帧中的那些样本是已知的(我们有b(n))情况下,再一次使用指向实际的而不是b(n)的估计值的滤波器口来重新构造ex(i)(i=-M,-M+2,……,-1)的样本。
在上述公式中i的最大值是2(N-1)-M。意味着i=2N-M,2N-M+2,……,2(N-1)+1,ex(i)的(M+1)/2的奇数样本仍要重新构造。然而,对于那些指数i的值,插入滤波器的上部开口指向尚未定义的将来激发样本。为了计算用于那些指数的ex(i)值,对于i=2N,2N+2,……,2N+M-1,ex(i)的将来状态通过在630步的估算得到扩大ex(i)=λex(i-2L),i=2N.2N+2,……,2N+M+1。
用在本图中的2L的最小值是2M+1。这条限制可以取消,如果我们定义ex(i)=λex(F(i-2L)),i=2N,2N+2,……,2N+M-1;
对于等于奇数的i-2L,F(i-2L)由下式给出;
对于i-2L筹于偶数的F(i-2L)由下式给出
参数λ为历史延伸放大系数,可以置成等于β,或置成一致。β是音调预测器的系数。
在632步,使用如此延伸了的激励历史,最后(M+1)/2个归零的当前延伸过的有解帧的样本可用下式计算出来((M+1))/2ex(i)=2∑ a2j-1〔ex(i-2j+1)+ex(i+2j-1)〕j=1适用于i=2N-M,2N-M+2,……,2(N-1)+1这些样本在下一子帧一旦对于ex(i),i=2N,2N+2……,2N+M-1的实际的激励样本变为用时,被重新计算。
这样,对于n=0,N-1,b(n),已经被映射到矢量ex(i)上,i=0,2,……,2(n-1)。使用FIR插入滤波器重新构造丢失的置零的样本。注意FIR插入仅用于丢失的样本这就确保不将失真引入已知的样本之中。这些样本贮存在ex(i)的偶数指数中。仅处理丢失的样本的另一好处是可以减少一半由子插入而引起的计算量。
最后,在634步,长期预测器的历史终于通过把扩充解的激励矢量ex(i)的内容下移2N点而被更新。即ex(i)=ex(i+2N)当i=-2Max-L,-1这里Max-L是使用过的长期预测器的最大延迟。下一步,636步,整个过程完成並停止。
现在参见图4,图4说明了使用本发明的长期滤波器所做的语言合成器的框图。语言合成器得到短期预测器系数α;长期预测器系数β和L,激励增益系数r及编码字I。这些参数来自通信通道,经过信号分离器450收到的。编码字I加到编码本ROM420以确定激励矢量编码本的地址。然后,单个的激励矢量UI(n)在422单元放大增益系数r倍,并由长期预测器滤波器424和短期预测器滤波器426滤波,以得到重新构造过的语言矢量S′I(n)。这一矢量代表了重新构造了的语言的一帧。然后这一矢量加到数模转换器D/A408上以产生一重新构造过的模拟信号。此模拟信号通过滤波器404进行低通滤波以减小混淆,然后加到输出变换器,例如402中的扬声器。因此,CELP合成器使用与图1CELP分析器新用的一样的编码本,增益单元,长期滤波器和短期滤波器。
图7是音调后滤波器的详细框图。音调后滤波器用于连接图4所示的语言合成器的短期滤波器426和数一模转换器D/A。音调后滤波器去除由滤波器424和426所产生的噪音以改善语言质量,由重新构造的语言矢量Si(n)的N个样本组成的一帧加到加法器710上。加法器710的输出产生一个用于音调后滤波器的输出矢量S″(I)。输出矢量S″(n)反馈到音调后滤波器的延迟样本发生器单元730。正常长期预测器延迟系数L也输出到延迟样本发生器单元730。对于本发明,L可取非整数值。如果L是一个非整数,那么插入滤波器FIR用来产生一个所需的小数样本延迟。延迟样本发生器730为乘法器单元720提供一个输出矢量q(n)。乘法器720使用属于长期预测器系数β之函数的R来放大音调后滤波器的响应。放大了的输出Rq(n)然后送到加法器710,从而完成了图7所示的音调后滤波器的反馈环路。
依据本发明,在使用长期预测器响应时,可同时优化激励增益系数r和长期预测器系数β。这两系数用于闭环结构中所有的L值。至今为止,对L<N的值这种联合优化的技术是不实际的这是因为就单个的系数β联合优化公式将变为非线性。本发明修改了长期预测器的结构,以满足一线性联合优化公式。另外,本发明能使长期预测器比单一样本有更好的解,因此提高了它的性能。
还有一点,编码本搜寻程序被进一步简化了,这是因为对于小于一帧长度的延迟,长期滤波器的零状态响应变为零。这一附加的特点使本领域的技术人员可以从编码本搜寻程序中去除长期滤波器的影响。这样,业已表明CELP语言编码器可以对所有的音调速率提供更高质量的语言,同时保留实际的制作和低此特率的优点。
这里已经显示和描述了本发明的特殊的实施方案,同时在不违反本发明的更广义的各个方面,可以做出进一步的修改和改进。例如,任何类型的语言编码(即.RELP,多脉冲,RPE,LPC,等),可以和这里所描述的子样本解长期预测器滤波器技术一起使用另外,可以做出其它的子样本解长期预测器结构的等价结构。这一结构可进行如上述的同样的计算。
权利要求
1.一种用于滤波一个每一帧具有N个样本的输入信号S(n)以提供一个输出信号b(n)的方法,(n为每一帧的样本数),此方法的特征为下列步骤(a)输入上述输入信号S(n)的一组N个数字化输入样本;(b)将存贮延迟系数L输入到存贮装置;(c)将上述输出信号b(n)的过去样本中最小的L存贮在上述存贮装置中;(d)从存贮在上述存贮装置中读出至小N个存贮样本做为延迟信号q(n)。如果L小于N,则重复地从同样存贮在上述存贮装置的样本中读出最小的一些存贮样本,做为延迟信号q(n);(e)线性组合延迟信号q(n)和输入信号S(n)以产生上述的输出信号b(n)。
2.按照权利要求1的方法,在上述生成步骤中的特征包括滤波器参数β与上述延迟信号q(n)相乘并将新得到的信号加到上述信号S(n)以产生上述输出信号b(n)的各个步骤。
3.根据权利要求1的方法,其中所述存贮装置是长期预测器的延迟设备,这里所说的存贮参数L代表上述长期预测器的正常延迟。
4.根据权利要求1的方法,其进一步特征是上述输出信号b(n)的一组N个数字化样本。
5.用于构造一个从激励矢量U(n),延迟系数L和滤波器系数β而来的N个样本的信号矢量S′(n)的信号处理设备,其中n代表一个样本数诸样本连续从0到N-1编号,上述的处理设备的特征是用于滤波上述激励矢量u(n)以提供滤了波的矢量b(n)的装置,上述滤波装置包括用于把上述激励矢量u(n),上述延迟参数L及上述滤波器参数β输入到上述滤波装置的装置,这里L可能小于N;根据下列公式q(n)=b(n-KL)用来产生延迟矢量q(n)的装置,这里选择变量q的值,使(n-qL)的值小于0;用于上述延迟矢量q(n)和上述激励矢量b(n)进行线性的装置;利用信号来处理上述滤了波的矢量b(n)以产生上述构造了的信号矢量S′(n)的装置。
6.根据权利要求5的信号处理设备,其特点是上述滤波装置按下列公式构造为循环滤波器b(n)=u(n)+βb(n-ql)
7.根据权利要求5的信号处理设备,其特征是变量q代表下列量度[(n+l)/l]其中
(n+L)/L」代表最接近小于或等于(n+L)/L的整数。
8.根据权利要求5的信号处理设备,其特点是当L>N是N=1,在这里,当L<N时,做为N的函数,从集合{1,2,3,4,……}中选出K值。
9.根据权利要求5的信号处理设备,其特点是具有编码本装置编码本装置用来存贮一组激励矢量Ui(n)并用来产生一个特殊的激励矢量以响应一选定的编码字i。
10.根据权利要求5所采用的信号处理设备,其特征是上述的构造过的信号矢量S′(n)是一语言信号。
11.构造具有由激励矢量U(n),延迟系数L和滤波器系波β来的N个样本的信号矢量S′(n)的方法,(这里n代表样本数,样本从0到N-1连续记数),其特征是具有下述各步骤(a)输入激励矢量u(n);(b)将上述长期预测器延迟系数L和上述滤波器系数β输入到长期滤波器,这里L可能小于N;(c)使用上述长期滤波器的数字滤波器,滤波上述激励矢量u(n),依据下列公式,上述数字滤波器产生滤了波的矢量b(n)b(n)=u(n)+βb(n-[(n+L)/L])[(n+L)/L]代表最接近小于或等于(n+L)/L的整数;(d)根据信号处理上述滤过波的矢量b(n)以产生上述重新构造了的信号矢量S′(n)。
12.用于滤波每一帧具有N个样本的输入信号S(n),以提供一个输出信号b(n)的数字滤波器。这里N为每一帧的样本数,上述数字滤波器具有以下特征用于输入上述输入信号S(n)的一组N个数字化输入样本的装置;用于存贮上述输出信号b(n)的过去样本中最小L的存贮装置;用于将存贮延迟系数L输入到上述存贮装置中的装置;用于从上述存贮装置中读出存贮样本中最小的N作为延迟的信号q(n),并且如果L小于N,能够重复地从上述存贮装置中读出同样的存贮样本中最小的一些值以作为延迟信号q(n)的一种装置;用于使用延迟信号q(n)和车入信号S(n)的线性组合以产生上述输出信号b(n)的装置。
13.用于滤波每一帧具有N个样本的输入信号S(n),以提供一个输出信号b(n)的数字滤波器,这里N为每一帧的样本数。上述数字滤波器具有以下特征用于输入上述输入信号S(n)的一组N个数字化输入样本的装置;依据下列公式,用于对每一个输出样本b(n)产生至少一个延迟样本q(n)延迟装置″q(n)=b(n-kL)这里当L>N时k=1;当L<N时,k的取值应保证(n-kL)的值小于零;用于把延迟信号q(n)和输入信号S(n)的进行线性组合,以产生上述输出信号b(n)的组合装置。
全文摘要
数字化语言编码器包括一具有改进的允许非整数延迟系统L的长期预测器的长期滤波器,每帧有N个样本的输入语言矢量b(N)被加到为长期滤波器产生输出矢量的加法器。b(n)被反馈回延迟矢量发生器,标称长期预测器延迟系统L还被输入延迟矢量发生器,它包括一个保持过去样本b(n)并计算和在各过去样本间存贮至少一个插入样本b(n)的存贮器。延迟矢量发生器给长期乘法器提供输出矢量,乘法器将长期预测器响应放大β倍,放大的输出βq(n)被加到加法器上以完成反馈环。
文档编号G10L19/00GK1050633SQ9010739
公开日1991年4月10日 申请日期1990年8月31日 优先权日1989年9月1日
发明者格森·艾拉·阿兰, 杰修克·马克A 申请人:莫托罗拉公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1