专利名称:用于码激励线性预测语音编码的整形的固定码簿搜索的制作方法
技术领域:
本发明涉及声码器,具体涉及由此产生的固定码簿响应表示。
图1和2表示按照现有技术码激励线性预测(CELP)声码器的发射单元和接收单元。在图1中,发射单元是第一声码器1。第一声码器1包括线性预测编码(LPC)滤波器2。LPC滤波器2经结点4连接到感知加权滤波器3。感知加权滤波器3连接到差错最小滤波器5。差错最小滤波器5连接到第一自适应码簿6和第一固定码簿7。第一自适应码簿6连接到第一自适应码簿增益单元8。第一固定码簿7连接到第一固定码簿增益单元9。第一自适应码簿增益单元8的输出和第一固定码簿增益单元9的输出连接到结点10。结点10连接到结点4。
一般来说,第一声码器1连续地分析数字语音输入的时间段。每个时间段称之为信号帧。声码器1估算表征每个信号帧的参量。这些参量是用位模式表示,这些位模式组合成位帧。与它们表示的信号帧比较,位帧可以更快地被发射,或位帧存储占用较少的存储空间。
现在,参照图1,给出已知IS 127 EVRC CDMA型编码器(声码器1)运行的概括描述。为了更详细地了解声码器1的运行,请参阅与数字语音编码有关的教科书。声码器1是一种多速率声码器,它的全速率运行相当于8千位每秒(kbps),半速率运行相当于4 kbps。数字语音输入被分成20 msec的信号帧。每个信号帧再被分成约6.6msec的第一信号帧,第二信号帧和第三信号帧。
当声码器1以全速率运行时,信号帧通过LPC滤波器2,它提取表征整个信号帧的LPC参量和输出28个LPC位形式的LPC参量。该信号帧离开LPC滤波器,通过结点4,感知加权滤波器3,和差错最小滤波器5。感知加权滤波器3和差错最小滤波器5并不从信号帧提取参量位,而是给以后的处理为它作准备。
接着,该信号帧被第一自适应码簿6接收。第一自适应码簿6估算整个帧的音调,并输出表征整个帧音调的7个ACB位。然后,第一自适应码簿增益单元8估算第一子帧,第二子帧,和第三子帧的自适应码簿增益。3个ACBG位估算第一子帧的自适应码簿增益。另外3个ACBG位估算第二子帧的自适应码簿增益。而且,另有3个ACBG位估算第三子帧的自适应码簿增益。
接着,该信号通过结点10,结点4,感知加权滤波器3,和差错最小滤波器5,被第一固定码簿7接收。第一固定码簿7估算第一子帧,第二子帧,和第三子帧的随机非语言特征。35个FCB位表示第一子帧的固定码簿响应。另外35个FCB位表示第二子帧的固定码簿响应。而且,还有35个FCB位表示第三子帧的固定码簿响应。
接着,第一固定码簿增益单元9估算第一子帧,第二子帧,和第三子帧的固定码簿增益。5个FCBG位估算第一子帧的固定码簿增益。另外5个FCBG位估算第二子帧的固定码簿增益。而且,另有5个FCBG位估算第三子帧的固定码簿增益。
此时,所有的位模式(LPC,ADC,ADCG,FCB,FCBG)组合成位帧。表示信号帧的位帧是完全的,因此,可以发送到第二声码器11用于合成,或存储在存储器中用于以后的检索。对于数字语音输入的每个信号帧,以上的过程不断地重复进行。
图2表示用于合成各个位帧的第二声码器11中解码部分。第二声码器11包括第二自适应码簿12,第二固定码簿13,第二自适应码簿增益单元14,第二固定码簿增益单元15,和合成滤波器16。第二声码器11接收各个LPC位,ACBG位,ACB位,FCB位,和FCBG位。第二声码器11按照现有技术的熟知方式利用这些位重建原始信号帧的估算。
分配到以上给出的各个参量位帧内码位位置的总数与运行在全速率8 kbps下的声码器1有关。总之,该位帧包括28个LPC位;7个ADC位;3+3+3=9个ACBG位;35+35+35=105个FCB位;和5+5+5=15个FCBG位。所以,该位帧内的位总数为164位。
如上所述,声码器1是一种多速率声码器,声码器1的半速率为4 kbps。当声码器1在半速率下运行时,就不再可能发射有164个码位位置大小的位帧,而仍然实时地跟上进入的数字语音输入。取而代之,该位帧大小必须减小到约80个码位位置。
当声码器1(IS 127 EVRC CDMA编码器)在其半速率(4 kbps)下运行时,码位位置按照以下的次序配给22个LPC位;7个ACB位;3+3+3=9个ACBG位;10+10+10=30个FCB位;和4+4+4=12个FCBG位。所以,该位帧内的位总数为80位。可以看出,FCB位承担了位帧大小减小的主要份额。
由于本发明与固定码簿有关,简要地概括一下声码器1中固定码簿计算的操作。在全速率(8 kbps)下,表示该帧固定码簿响应分配的105个码位位置有能力在三个子帧的每个子帧中放置8个估算脉冲。这一点用图解的方法表示在图3中。
在图3中,第一信号线17表示提交给固定码簿7用于估算的第二剩余信号。第一子帧18被分成53个抽样点,第二子帧19也被分成53个抽样点,而第三子帧20被分成54个抽样点。
为了最佳地估算信号线17上第二剩余信号的特征,正的和/或负的脉冲21位于选取的抽样点上。例如,第二信号线22表示脉冲21的极性和位置,用于估算第一信号线17的第二剩余信号。位置和极性是子帧18,19,20中每个子帧FCB位表征的数据。换句话说,对于每个子帧,固定码簿7估算8个至10个脉冲21的最佳位置,用于表示第一信号线17的第二剩余信号,那个子帧的FCB位识别脉冲21的位置和极性。
当第二声码器11接收到FCB位时,基于正脉冲和负脉冲21的位置可以用数学方法构造一个包络23,为的是估算第一信号线17的第二剩余信号。这是用图解的方法表示在第三信号线24上。当然,每个子帧的FCBG位会影响各个子帧内包络23的峰值幅度和谷值幅度,所以,包络23的峰值幅度和谷值幅度与第二剩余信号内实际峰值和谷值的平均幅度匹配。
当声码器1在全速率(8 kbps)下运行时,分配给固定码簿响应的位帧内105个码位位置能够表示8个脉冲每子帧的位置和极性,如图中第二信号线22和第三信号线24所示。当声码器1在半速率(4kbps)下运行时,分配给固定码簿响应的帧内30个码位位置只能表示3个脉冲每子帧的位置和极性。
当声码器1在半速率下运行时和包络23’是按照脉冲21’位置用数学方法构造的情况下,第四信号线25表示正脉冲和负脉冲21’的位置。可以清楚地看出,在半速率下运行时得到的包络23’并不近似于第一信号线17的第二剩余信号,而声码器1在全速率下运行时得到的包络23几乎接近于第一信号线17的第二剩余信号。
我们已观察到,当位帧传输采用中位速率至高位速率(例如,4.8kbps至16 kbps)时,第一声码器1和第二声码器11处理数字语音具有足够好的重建质量。然而,当位速率在4.8 kbps以下(例如,对应于半速率的4 kbps)时,合成的语音质量大大下降。质量差的主要原因是不准确地表示各个子帧的固定码簿响应,如图3中的第四信号线25所示。
质量差的表示是分配在位帧内的有限位数(例如,30位)表示所有子帧固定码簿响应的结果。因为当位速率是低时位帧大小不能增大,在技术上就需要有这样一种声码器和运行声码器的方法,它可以更准确地表示信号帧或子帧的固定码簿响应,而仍利用该位帧内有限数目的码位位置。
按照本发明的声码器包括有多个脉冲序列项(entry)的固定码簿,用于比较信号帧或子帧的剩余信号。固定码簿的项被加工成正被编码的信号帧或子帧。噪声信号存储在发射声码器中。在编码期间,该噪声信号被与它决定的参量有关的滤波作用整形,这些参量表现信号帧或子帧的特征。让整形后的噪声信号通过阈值滤波器得到一个脉冲序列。选取固定码簿响应作为该脉冲序列的那部分(即,项),它与信号帧或子帧的剩余信号有最佳的匹配。那部分的被索引位置指定为包括在位帧内的固定码簿位。相同的噪声信号也存储在解码声码器中。同样的有源滤波和阈值滤波作用加到相同的噪声信号上得到相同的脉冲序列。所以,该位帧的固定码簿位将索引脉冲序列的适当部分,它表示合成期间所用的固定码簿响应。
根据以下给出的详细描述和附图,可以更充分地理解本发明,这些描述和附图仅仅用于举例说明,而不是对本发明的限制。在这些附图中,给相同的元件赋予相同的参考数字。
图1表示按照现有技术的发射声码器;图2表示按照现有技术声码器中的解码部分;图3表示按照现有技术与固定码簿响应有关的各种信号;图4表示按照本发明的发射声码器;图5表示第二剩余信号与各个脉冲序列的比较以确定固定码簿响应;图6表示利用固定码簿整形单元以得出可能的固定码簿响应;图7表示与固定代码码簿整形单元有关的各种信号;和图8表示按照本发明声码器中的解码部分。
图4表示按照本发明发射的第一声码器50。声码器50包括LPC滤波器2;感知加权滤波器3;差错最小滤波器5;第一自适应码簿6;第一自适应码簿增益单元8;和第一固定码簿增益单元9。按照本发明,我们特别感兴趣的是第一固定码簿整形单元51和改进的第一固定码簿52。第一固定码簿整形单元51连接到第一固定码簿52,并接收包括LPC位,ACB位,和ACBG位在内的输入。
第一声码器50的运行方法相当于以上描述的方法,不同的是与固定码簿响应估算的关系。当估算第一子帧18时,不是确定三个脉冲21’的最佳位置,而是把第二剩余信号(信号线17)与多个可能的脉冲序列进行比较,确定哪一个脉冲序列与第二剩余信号最匹配。
用图说明,这个比较表示在图5中。由于分配10个码位位置表示给定子帧的固定码簿响应,所以,第一固定码簿52就有1024(2^10=1024)个可能的脉冲序列与第二剩余信号进行比较。完成该比较并确定最佳的匹配序列,然后,把最佳匹配序列的地址考虑成该子帧的FCB位,以下要给以更充分的描述。
由于第一固定码簿52仅仅比较1024个不同的脉冲序列,重要的是必须仔细地选取这些脉冲序列,以便尽可能找到最接近的匹配。按照本发明,我们发现,给定子帧的固定码簿响应与表征该子帧的LPC位,ACB位,和ACBG位具有对应关系。基于这个发现,本发明提供第一固定码簿整形单元51,在估算该子帧的固定码簿响应之前,它产生第一固定码簿52可能的脉冲序列。
现在,参照图6和7描述第一固定码簿整形单元51的运行。第一固定码簿整形单元51有一个存储在其中均匀分布的随机噪声f(n),如信号线53所示。随机噪声f(n),例如,高斯分布随机噪声,有一个平坦的频谱。让随机噪声f(n)通过线性预测(LP)加权滤波器54和音调锐化滤波器55。滤波器54和55是有源滤波器,其意义是它们对信号的作用是受输入的控制。滤波器54和55改变随机噪声f(n),产生一个如信号线56所示的输出信号fs(n)。输出信号fs(n)有衰减的峰值。换句话说,根据LPC滤波器2,第一自适应码簿6,和第一自适应码簿增益单元8确定的参量,随机噪声f(n)已被滤波器54和55频谱整形。
LP加权滤波器54和音调锐化滤波器55的运行受到与LPC位,ACB位,和ACBG位有关公式的控制。这些公式在图6中表示,其中A(z)表示LPC滤波器2的输出;ga是量化的ACB增益;和P是音调滞后(由自适应码簿6确定)。实际上,LP加权滤波器54展宽极点
和
倍。
LP加权滤波器54和音调锐化滤波器55是普通常用的滤波器。这些滤波器的公式和运行特征是已知的。然而,按照本发明所公开的把LP加权滤波器54与音调锐化滤波器55组合使用在现有技术中是未知的。有关LP加权滤波器54和音调锐化滤波器55更多的信息,可以参照该主题的教科书,例如,W.B.Kleijn等人所箸“Speech Coding andSynthesis”一书,Elsevier Press,1995,pp.89-90。
让音调锐化滤波器55的输出fs(n)通过非线性阈值滤波器57得到如信号线58所示脉冲序列P(n)。阈值滤波器57有一个可调节的上阈值和下阈值。设定所有出现在这两个阈值之间的信号fs(n)为零。出现在上阈值之上一段预定持续时间的信号fs(n)成为正脉冲21″,类似地,出现在下阈值之下一段预定持续时间的信号fs(n)成为负脉冲21″。
脉冲21″的稀疏程度(sparcity)可以受阈值滤波器57上阈值和下阈值设定的控制。例如,若这两个阈值非常接近,即,接近于零,则许多脉冲21″出现在脉冲序列P(n)中。若这两个阈值设定成互相远离,即,远离开零,则很少脉冲21″出现在脉冲序列P(n)中。按照本发明,我们确定,这个稀疏程度最好大致设定在85%至93%的范围,其意义是样本中85%至90%应该等于零,留下大约4至7个脉冲每子帧。
若本发明保持53至54个脉冲每子帧,如图3所示,则存储在固定码簿整形单元51中的随机噪声f(n)延续54+1024=1078个样本,在6.7 msec子帧的情况下,这相当于约133 msec的持续时间。固定码簿响应的可能性是由54个样本宽度的窗口(也称之为矢量)确定的,这个窗口在脉冲序列P(n)上移动。
窗口的零位置用参考数字60表示。紧接着窗口60之上的脉冲序列用第一固定码簿52的被索引项(0)表示(见图5)。窗口的第一移动位置用参考数字61表示。紧接着窗口61之上的脉冲序列用第一固定码簿52的被索引项(1)表示。窗口的第二移动位置用参考数字62表示。紧接着窗口62之上的脉冲序列用第一固定码簿52的被索引项(2)表示。不断地重复移动窗口的过程,直至表示被索引项(1023)的最后移位窗口63是由第一固定码簿52确定。
使随机噪声f(n)具有2156个样本持续时间也可能的。在此情况下,窗口或矢量以两个样本为增量移动,得到固定码簿1024个可能的序列。事实上,通过延长随机噪声的持续时间和增大窗口的增量步长,可以把这个模式更进一步发展。
确定第一子帧18的固定码簿响应为与第一子帧第二剩余信号最佳匹配的脉冲序列。那个项的索引(它等于窗口沿脉冲序列P(n)移动位置的数目)是第一子帧18的FCB位。然后,可以构成第一固定码簿52新的脉冲序列,第二子帧19就有其确定的固定码簿响应。然后,可以再构成第一固定码簿52新的脉冲序列,第三子帧20就有其确定的固定码簿响应。
应当注意,本发明的变化只是定期地确定第一固定码簿52新的脉冲序列。例如,只是对于每个新的信号帧可以构成新的脉冲序列,而不是对于每个新的子帧,事实上,这是本发明一个优选实施例。或者,对于每隔一个信号帧,等等,可以构成新的项。通过把固定码簿的脉冲序列的重复构成限制于每个信号帧或每隔一个信号帧,使涉及的计算简单化。此外,重复使用固定码簿的脉冲序列往往足以准确地估算固定码簿响应,因为在所涉及的简短时间内语音不会有重大的变化。
图8表示接收的第二声码器64中解码部分。第二声码器64包括第二自适应码簿12,第二自适应码簿增益单元14,第二固定码簿增益单元15,和合成滤波器16。按照本发明,我们特别感兴趣的是第二固定码簿整形单元65和改进的第二固定码簿66。
第二固定码簿整形单元65的操作与第一声码器50中第一固定码簿整形单元51相同。在第二固定码簿整形单元65内部,存储相同的随机噪声f(n)副本,它表示在图7的信号线53上。第二固定码簿整形单元65包括相同的有源滤波器54和55,以及相同的阈值滤波器57,其上阈值和下阈值的设定与第一固定码簿整形单元51中阈值滤波器57上阈值和下阈值的设定相同。所以,第二固定码簿整形单元65能够产生一个脉冲序列P(n),它有1078个样本的样本持续时间,与以上第一固定码簿整形单元51中产生的脉冲序列P(n)相同,它表示在图7的信号线58上。
一旦产生了脉冲序列P(n),沿着脉冲序列P(n)移动54个样本长度窗口若干个位置(等于FCB位表示的索引),第二固定码簿66可以确定固定码簿响应。在紧靠移位窗口之上的脉冲序列P(n)部分是第一声码器50确定的固定码簿响应正确估算。所有第二声码器信号帧合成的其他方面是按照现有技术图2中所示的解码声码器11。
应当注意,第一固定码簿52中的脉冲序列项,可用于估算第二剩余信号,每个项可以包括大约4至7个脉冲。这与现有技术中3个脉冲每子帧估算第二剩余信号相比有很大的提高。这种提高导致显著地提高重建的语音质量。
本发明的一个重要特征是允许第一固定码簿52中4至7个脉冲每序列,这个事实是,从其中取出项的脉冲序列P(n)是按照成型信号其他确定的参量构成的。按照本发明,我们发现,那些其他确定的参量,例如,LPC参量,ACB参量,和ACBG参量,与预期的固定码簿响应有关或相关。所以,可以利用这些参量整形有限大小固定码簿的脉冲序列,当完成分析时,可能的脉冲序列具有相当高的似然性与第二剩余信号匹配。
若有4至7个脉冲的脉冲序列只是随机地产生的,则有限大小的固定码簿(1024个可能的序列)在统计上不足以提供适当的脉冲序列与大多数连续变化的第二剩余信号匹配。换句话说,若1024个可能的脉冲序列中每个序列有沿该序列随机放置的4至7个脉冲,则与第二剩余信号最佳匹配的脉冲序列,例如由固定码簿确定的,很可能是一个很差的匹配,该帧或子帧的重建语音是不准确的。
应当注意,第二声码器64不需要接收任何额外数据以重建第一固定码簿52所用的脉冲序列P(n),这一点是有利的。重建脉冲序列P(n)中使用的LPC位,ACB位,和ACBG位是第二声码器64在重建语音信号中已经需要的,所以,在该位帧中没有包含额外的数据。
在整个公开的内容和附图中,参照放置在子帧内样本点上的脉冲。显而易见,这种说明仅仅是数学运算和公式的图解表示。图解表示应当简化现有技术与本发明之间差别所说明的内容。实际上,固定码簿52和66以及固定码簿整形单元51和65处理以这些图解表示为基础的数学运算和公式。
而且,本发明描述的第一固定码簿整形单元51和第二固定码簿整形单元65是与第一固定码簿52和第二固定码簿66分开的组件。分开的表示是为了简化所公开的内容。实际上,固定码簿整形单元和固定码簿可以合并成单个物理组件。此外,声码器50和64内其他表示的“黑盒”组件可以合并,从而使一个物理组件可以完成一项或多项任务或操作,这些任务或操作与几个所述“黑盒”组件有关。例如,加权滤波器54可以与音调锐化滤波器55和阈值滤波器57组合成单个组件,完成以上便于分开表示的多个操作。
为了便于比较,虽然在现有技术中描述IS 127 EVRC CDMA编码器,应当理解,可以利用本发明改进任何声码器的性能,而与声码器中所用的组件和/或声码器的操作无关。此外,虽然本发明特别适用于改进低位速率下运行的声码器性能;应当理解,本发明可以改进中位速率至高位速率下运行的声码器估算准确度。
以上技术说明中所用的特定数值不应当考虑成对本发明的限制。提供的特定数值只是为了便于完整地了解本发明的一个实施例。应当理解,本发明对于在技术说明例子中所用特定数值之外运行的声码器也是有益的。例如,信号帧的持续时间可以大于或小于20msec。信号帧可以有多于或少于3个子帧,或没有子帧。除了53或54个样本以外,在子帧中可以取任何数目的样本。
虽然,本发明是如此描述的;显而易见,可以有不同的方法描述本发明。这种变化不应该看成是偏离了本发明的精神和范围,专业人员知道,所有这些改动都应该包括在以下权利要求书的范围内。
权利要求
1.一种运行声码器的方法,包括以下步骤提供固定码簿,预定信号,和至少一个参量提取单元;接收用于由该声码器处理的输入信号;利用至少一个参量提取单元至少提取一个参量,该参量表现输入信号的特征;改变与该至少一个参量有关的预定信号,得到改变的信号;和确定改变的信号的一部分,用于表示输入信号的至少一部分的固定码簿响应。
2.按照权利要求1的方法,其中所述确定步骤包括把输入信号的至少一部分的剩余信号与改变的信号的不同部分进行比较,并确定不同部分中哪些部分与该剩余信号最佳匹配。
3.按照权利要求1的方法,其中预定信号是高斯随机噪声信号。
4.按照权利要求1的方法,其中改变的信号的该部分的被索引位置是以位模式为特征,并包括在表示输入信号的位帧内。
5.按照权利要求1的方法,还包括步骤提供感知加权滤波器,且其中所述改变步骤包括让预定信号通过感知加权滤波器。
6.按照权利要求5的方法,其中感知加权滤波器是受线性预测编码输出影响的有源滤波器,该线性预测编码输出表现至少该输入信号的一部分的特征。
7.按照权利要求1的方法,还包括步骤提供音调锐化滤波器,且其中所述改变步骤包括让预定信号通过音调锐化滤波器。
8.按照权利要求7的方法,其中音调锐化滤波器是受自适应码簿输出和自适应码簿增益输出影响的有源滤波器,每个输出表现至少该输入信号的一部分的特征。
9.按照权利要求1的方法,还包括步骤在所述确定步骤之前,利用阈值滤波器过滤改变的信号。
10.按照权利要求1的方法,还包括步骤提供感知加权滤波器,音调锐化滤波器,和阈值滤波器,且其中所述改变步骤包括让预定信号通过感知加权滤波器,音调锐化滤波器,和阈值滤波器。
11.按照权利要求1的方法,其中至少一个参量提取单元包括线性预测编码单元,且该至少一个参量是用线性预测编码位表示。
12.按照权利要求1的方法,其中该至少一个参量提取单元包括自适应码簿单元,且该至少一个参量是用自适应码簿位表示。
13.按照权利要求1的方法,其中该至少一个参量提取单元包括自适应码簿增益单元,且该至少一个参量是用自适应码簿增益位表示。
14.按照权利要求1的方法,其中该至少一个参量提取单元包括线性预测编码单元,自适应码簿单元,和自适应码簿增益单元,且该至少一个参量包含用线性预测编码位,自适应码簿位,和自适应码簿增益位表示的参量。
15.一种运行声码器的方法,包括以下步骤接收用于由该声码器处理的位帧;改变与该帧内第1位有关的预定信号,得到改变的信号;利用该帧内第2位索引该改变的信号的一部分;和确定该被索引部分,用于表示该位帧的至少一部分的固定码簿响应。
16.按照权利要求15的方法,其中第1位表示该位帧的至少一部分的线性预测编码响应。
17.按照权利要求15的方法,其中第1位表示该位帧的至少一部分的线性预测编码响应,自适应码簿响应,和自适应码簿增益响应。
18.按照权利要求15的方法,其中该被索引部分是脉冲序列。
19.按照权利要求18的方法,其中该脉冲序列包括多个零项和多个脉冲项,且零项与脉冲项的比率是在85%至95%的范围内。
20.按照权利要求15的方法,其中所述位帧包括诸子帧,且被索引部分表示该位帧中一个子帧的固定码簿响应。
全文摘要
固定码簿响应能够更好地表现声码器输入信号的特征,因为固定码簿的项被加工成正被处理的输入信号。均匀分布的随机噪声信号存储在发射声码器中。在发射声码器编码期间,该噪声信号被加权滤波器和音调锐化滤波器整形,这两个滤波器是受待编码输入信号的线性预测编码,音调,和音调增益特征的条件控制。让整形后的噪声信号通过阀值滤波器,得到有给定稀疏程度的脉冲序列。选取固定码簿响应作为与输入信号的剩余信号有最佳匹配的脉冲序列部分。
文档编号G10L19/00GK1271925SQ0010707
公开日2000年11月1日 申请日期2000年4月27日 优先权日1999年4月28日
发明者银金·埃辛, 迈克尔·C·里奇安 申请人:朗迅科技公司