包括至少一个编码器的传输系统的制作方法

文档序号:2819544阅读:194来源:国知局
专利名称:包括至少一个编码器的传输系统的制作方法
技术领域
本发明涉及包括至少一个对信号进行编码的编码器、至少一个用于将编码信号传输给至少一个接收机的发射机、至少一个对被编码信号进行译码的译码器和至少一个自适应预测滤波器的传输系统。
本发明也涉及终端单元、编码器、译码器和自适应预测滤波器。
这样的传输系统可以毫无困难地从例如1993年3月29-30日,伦敦,CCITT(国际电话和电报咨询委员会)第15调查小组的文件入口(Doc.AH.)为93-D.3的文件“G.728定点规程草案”和从CCITT建议G.728“利用低延迟编码激励的线性预测以每秒16千位编码语音信号”中找到。这两个文件今后将以[Ⅰ]和[Ⅱ]来表示。当要进行给定传输能力的多重使用时,总是可以应用这样的传输系统。在编码期间信号位速率的减小使得可以例如通过一个每秒64千位的传输信道同时进行四个电话通话。
给定传输能力的多重使用在无线电信道中非常重要,如果考虑到移动无线电系统用户的不断增加,就很容易理解这一点。当使用了位速率减小的编码器和合适的译码器时,还可以更加有利地使用具有任意的存储媒介的存储器的存储容量,这是因为为了存储信息信号所需要的存储空间较小。
线性预测用于位速率降低是公知的。在[Ⅰ]和[Ⅱ]中,用自适应预测滤波器计算预测系数。利用辅助信号的样值逐段地进行这一计算。辅助信号可以是例如来自人的(电)音频信号或语音信号。或者,辅助信号也可以是在按照“通过综合进行分析”原理工作的编码器中产生的合成音频或语音信号。利用预测系数获得了辅助信号的预测样值(预测值)和该信号的以前样值之间的线性相关。这样地来确定预测系数,以使得对一部分样值所计算出的全部误差的平方和为最小值。误差在此被理解为样值和其预测值之差。对此,在下面将给出更准确的说明。
在[Ⅰ]和[Ⅱ]中,被激励的信号被综合滤波器转换为合成音频信号。这一合成音频信号与要被编码的音频信号相减,其差值被用来使被激励信号的选择最佳化。
预测系数的计算需要有从合成音频信号的样值获得的相关系数。根据相关系数计算预测系数需要许多电路和大量的费用。为了减少这些电路和费用,以递推方式计算预测系数。首先,根据两个第一相关系数计算第一反射系数。从第一反射系数获得第一预测系数。此外,还计算预测误差,该预测误差表示预测的质量。其次,利用下一个(第二)相关系数、以前计算的预测系数(此时只考虑第一预测系数)以及当前的预测误差来确定(第二)第二反射系数。利用这一(第二)反射系数和以前计算的预测系数(此时只考虑第一预测系数)重新计算以前计算的预测系数。然后计算下一个(第二)预测系数和新的预测误差。多次地重复对以前计算的预测系数的重新计算和对下一个预测系数的计算,以便使得所有必需的预测系数都已知。
在[Ⅱ]中,用浮点算法来获得足够的精度。浮点算法的缺点是要求的电路很庞大。为此,在[Ⅰ]中提出使用16位定点算法,在该算法中,计算的结果和中间结果保持所谓的成组浮点格式(block floating point format)。这被理解为一组数的浮点格式的表示,但是,由于这一约束,该组中的所有数具有相同的阶码(以2为基数)。这样选择该公共阶码,使得所有的尾数在预定范围之内。在[Ⅰ]中建议所有的尾数在-1和+1之间。例如在成组浮点格式中,根据以往经验,所示的预测系数呈现其数量级可以为10的值。如果在重新计算预测系数时出现了例如溢出,即如果重新计算的预测系数将为1或大于1,则所有以前计算的预测系数的尾数将被除以2,并且公共阶码(以2为基数)将增值1。然后再开始重新计算。由于溢出所导致的成组浮点格式的改变在此将称作成组浮点格式的修改。对于重复的重新计算,只需要以前计算的预测系数的尾数,并且只有16位的分辨率。将分辨率从至少17位降低到16位(对于计算来说这往往是有必要的),可以以不同的方式实现。将通过举例来说明根据[Ⅰ]的降低方式。例如,如果以17位的分辨率刚刚计算了第三反射系数(在第三反射系数和将要从第三反射系数获得的第三预测系数之间只有数值表示方面的差别),就通过舍入将其缩短为16位,这样就能够以16位的定点算法来重新计算两个第一预测系数。如果在该重新计算期间有溢出,则在重新计算结束时被舍入的第三反射系数例如也被除以2,具有16位分辨率的结果被作为第三预测系数的尾数进行存储。除法运算在16位(包括符号位)之后停止。由于二进制的缘故,这一操作相应于小数点移动一位而最低有效位被删去。这一过程使不准确性(特别是对于大量的预测系数)大到不能被接受。
本发明的目的是不降低计算精度而减小在开头一段所述类型的传输系统的计算电路及所花费的费用。具有这一特性的传输系统包括至少一个对信号进行编码的编码器;
至少一个将已编码信号发送给至少一个接收机的发射机;
至少一个对已编码信号进行译码的译码器;以及至少为编码器提供的至少一个自适应预测滤波器,该自适应预测滤波器包括根据辅助信号的部分样值计算相关系数的装置,该辅助信号依赖于该信号或译码信号;以及根据相关系数以N位定点算法确定反射和预测系数的装置;
该传输系统还包括以下装置,以便递推地确定将以成组浮点格式表示的预测系数a)用于计算第K个反射系数的装置;
b)用于在利用在a)中获得的第K个反射系数的同时重新计算K-1个以前计算的预测系数的装置;
c)一种修改装置,用于如果在b)中获得的K-1个以前计算的预测系数的重新计算期间出现了溢出,从而使得N位不再足以表示重新计算的预测系数时,就修改已被重新计算的和尚未被重新计算的该K-1个预测系数的成组浮点格式;
d)用于对在c)中已出现溢出的预测系数继续进行K-1个预测系数的重新计算的装置;
e)用于将在a)中所计算的第K个反射系数转换为浮点格式的数的装置,该数的阶码用在c)中确定的成组浮点格式的阶码来表示;以及
f)用于将在e)中获得的数作为第K个预测系数来进行存储的装置。
如果在预测系数的重新计算期间出现了溢出,根据[Ⅰ],就修改所有K-1个以前计算的预测系数的浮点格式,然后从头开始重新计算。与此相反,因为不需要再次计算已被重新计算的预测系数,所以本发明的实施例免除了计算电路的不少部分,特别在有大量系数的场合中更是如此。本发明基于这样的认识即除成组浮点格式外,已被重新计算的预测系数对应于当重复地进行重新计算时将会出现的那些值。
不应这样地理解以上所指出的、以及还将在下面指出的那些装置的次序,即它们在时间上也以这样的次序进行启动。
本发明的另一实施例包括2a)用于计算具有N+1位的最小分辨率的第K个反射系数的装置;
2b)用于缓冲具有N+1位的最小分辨率的第K个反射系数的装置;
2c)用于将在2b)中被缓冲的第K个反射系数转换为在e)中定义的浮点格式的装置,该浮点格式的尾数具有至少N+1位的分辨率;
2d)用于将在2c)中获得的尾数舍入为N位的装置;以及2e)用于将在2d)中被舍入的尾数作为第K个预测系数的尾数来进行存储的装置。
本发明的传输系统与[Ⅰ]描述的传输系统的不同之处在于在第K个反射系数的第一次计算之后以N+1位的最小精度对其进行缓冲。对于K-1个以前计算的预测系数的重新计算,所使用的是这样的值,该值被限为N位,从而不同于被缓冲的值。如果在重新计算K-1个以前计算的预测系数期间出现了溢出,在重新计算结束之后就用例如2来除该被缓冲的值,然后将其舍入为N位。这种在(修改的)成组浮点格式中体现第K个预测系数的方法产生了最多与在[Ⅰ]中的相应误差一样大的误差。但是,同等重要的是发现了本发明中的误差的正负符号出现的次数是相等的,这一点与[Ⅰ]不同。
利用两个简单的例子来证实这些断言。
假定可用3(N=3)位来表示结果、可用至少4位来表示中间结果。还假定由于溢出,修改需要除以4。以定点表示的具有4位分辨率的第K个反射系数的数值实例如下在第一个实例中,第K个反射系数具有的值为+5/8。在二进制系统中,该反射系数被表示为0.101,第一个零表示符号。根据[Ⅰ],有以下步骤a)0.101 (第K个反射系数+5/8,具有4位分辨率);
b)0.11 (a)的值舍入为3位,以便重新计算K-1个以前计算的预测系数);
c)0.00 (b)的值被除以4,也具有3位分辨率。该值是以2为阶码和以2为基数的成组浮点格式的第K个反射系数的尾数)为了作出用近似c)来代替a)时关于误差的断言,c)将首先再被乘以4。如此获得的值和输出值的差就是误差F。在当前的情形中(表示为分数),F=(-5/8)=-5/8。
与此相反,根据本发明有
a)0.101 (第K个反射系数+5/8,具有4位分辨率),b)0.001 (a)的值被除以4,也具有4位分辨率),c)0.01 (b)的值舍入为3位)。
与上述断言类似,现在得到误差F=(1-5/8)=3/8。如果0.011(+3/8)被选作输出值,根据[Ⅰ]的同一方案,对于误差有值F=(0-3/8)=-3/8。根据本发明,现在有F=(0-3/8)=-3/8。
现在参看附图描述本发明及其实施例,在附图中

图1表示可在其中应用本发明的特定的传输系统,图2表示自适应预测滤波器的基本电路图,图3表示语音编码器的基本电路图,图4表示阐明本发明和已有技术之间的差别的图示。
图1表示一个在发射侧包括编码器101和发射机102且在接收侧包括接收机103和译码器104的传输系统。编码器101与发射机102的组合和/或接收机103与译码器104的组合构成终端单元LE。
编码器101利用自适应预测滤波器10A来编码语言信号10a。根据本发明,该滤波器具有在下面将会清楚的特性。语言信号10a具有每秒64千位的位速率。编码器101将该位速率减小到已编码信号10b的位速率。已编码信号10b的位速率为每秒16千位。信号10b由语音信号10a的参数组成,这些参数被逐部分地确定。
发射机102利用图示的传输信道将已编码信号10b(如果需要,可被转换为传输码)发送给接收机103,接收机103将该发送信号转换为信号10c,除了编码和传输误差外,该信号10c对应于信号10b。
译码器104也利用自适应预测滤波器10B来译码信号10c。译码结果是信号10d。除了编码、译码和传输误差外,信号10d对应于语音信号10a。自适应预测滤波器10A和10B按照“列文森-德宾(Levinson-Durbin)递推”来确定与信号相关的滤波系数(预测系数)。“列文森-德宾递推”是以逐步的方式确定一组线性方程的解的算法,该组方程的系数矩阵是Toeplitz矩阵,即沿着给定的对角线具有相同元素的对称矩阵。
自适应预测滤波器的NCOF个预测系数(NCOF代表这些系数的个数)不容置疑地是这一要求的结果,即预测误差平方之和作为给定长度的信号部分的平均数应为最小。
例如,如果样值S(K)施加到滤波器的输入端,则以下线性组合就将是在时刻n的滤波器的输出值y(n)=Σi=1NCOFa(i)*s(n-i)---(1)]]>该值y(n)被认为是预测样值s(n)。在用包括LSEG样值的部分来形成误差平方之和时Σi=0LSEG-1[y(n+i)+s(n+i)]2---(2)]]>如果将(1)代入(2)、同时在(2)中使系数a(i)最小,则如果将在这一部分之外的样值设定为零就产生了Toeplitz矩阵。在这种情况下,Toeplitz矩阵的元素就是在输入信号的取样时刻该输入信号自相关函数的值,此后该函数将被称为自相关系数r(minc)。在Prentice-Hall出版社1978年出版的、作者为L.R.Rabiner/R.W.Schafer的《Digital Processing of Speech Signals(语音信号的数字处理)》中可以找到对“列文森-德宾递推”的详细描述。
被Rabiner/Schafer以公式(8.67)至(8.72)表示的“列文森-德宾递推”的算法在下面被表示为伪代码,这是因为该代码容许对算术单元将执行的、用于计算预测系数的程序步进行更好的检测的缘故。
“列文森-德宾递推”(伪代码)输入值NCOF=预测系数r(0)…r(NCOF)=自相关系数输出值a(0)…a(NCOF)=预测系数a(0)=1.0 O1a(1)=-r(1)/r(0) O2alpha=r(0)+r(1)*a(1) O3For minc=2,3,4,...,NCOF O4{sum=0 O5for ip=0,1,2,3,...,minc-1 O6sum=sum+r(minc-ip)*a(ip) O7O8rc=-sum/alpha O9alpha=alpha+sum*rc O10O11if(alpha<=0.0)break O12O13For ip=1,2,3,...,minc/2 O14{R1=a(ip)+rc*a(minc-ip)) O15R2=a(minc-ip)+rc*a(ip)) O16a(ip)=R1 O17a(minc-ip)=R2 O18O19a(minc)=rc O20O21
为了使在伪代码中给出的程序步更加清楚,将进一步说明上述的几行算法。
需要将带有NCOF和NCOF+1自相关系数名的预测系数作为输入数据。预测系数NCOF与公式(1)中的滤波系数a(i)的个数相等。通过在此没有描述、但本领域技术人员公知的其它功能部件来确定自相关系数r(0)、r(1)等、直至r(NCOF)。
预测系数a(0)、a(1)等、直至a(NCOF)是输出数据。
行01和02包括对两个第一预测系数的赋值。在行03中对辅助变量alpha(NCOF=1的预测误差)赋值,其被加数是第零个自相关系数,其加数是第一相关系数和第一预测系数的乘积。
如果预测系数NCOF等于1,计算就结束了,否则,就进行具有流动变量minc的循环,该变量取从2至NCOF的所有整数。在对于流动变量minc的循环中,如行017和108所示,所有以前计算的预测系数a(1)、a(2)等、直至a(minc-1)都被改变(重新计算)。在对于流动变量minc的当前值要被执行的全部指令结束时,如行020所示,就对具有记号minc的预测系数赋值。这一预测系数将被记作第K个预测系数;对于流动变量minc的当前值被第一次计算的变量sum和rc(反射系数)将得到相同的增加。
在具有流动变量minc的循环中还进行了两个另外的循环,这两个循环不交错并具有流动变量ip,如行06和014所示,该变量的上限值依赖于流动变量minc的当前值。
辅助变量是名为alpha、sum、rc、R1和R2的那些变量。辅助变量alpha是根据公式(2)的误差平方之和,并且还具有说明意义alpha是误差信号(预测误差)的能量值。该值总是正的。因此,如行012所示,如果alpha的值小于或等于零,就停止计算。变量rc也具有说明意义它是在所谓声道(vocal tract)的管状模型中起作用的所谓反射系数。如行09所示,作为辅助变量sum和alpha的商出现的反射系数属于每个预测系数。
根据自适应滤波器的哪一个系数要被计算,语音编码方法的大多数实时实现都基于16位定点算术单元,同时中间结果可以以增强的精度(例如32位)而局部地获得。“列文森递推”的结果的精度决定性地取决于递推中的计算精度。就计算精度而言,在伪代码中的最敏感的位置,就是可以以较高的分辨率得到乘法和除法的中间结果后再将这些中间结果降低为简单的分辨率的位置。它们特别是行02、03、07、09、010、015、016和020。
参看以下伪代码描述以16位定点算法实现“列文森-德宾递推”的模块。首先介绍几个定义>>右移操作<<左移操作round(reg)用32位宽的寄存器“reg”进行的舍入操作。假定在“reg”中的位被编号为0、1、2、…、31,符号位是位31,以及每个位的权从位30向位0减小。具有16位精度的舍入就意味着位15与位16相加、此后位16至31就被作为结果。
*2*定点乘法;
/定点除法;
由于执行除法的代价是非常高昂的,所以只对于绝对必要的位置才准确地计算除法的结果。除法的结果在存储结果的寄存器中右齐平。
xh指32位字x的16个最高有效位。
x1指32位字x的16个最低有效位。
16位定点“列文森递推”(伪代码)EXPa=0; X1den=r
; X2num=r[1]; X3if(num<0)num=-num; X4a2=num/den; X5a2=a2<<15; X6a1=round(a2); X7if(r[1]>0)a1=-a1; X8rc1=a1h; X9a[1]=a1h; X10a01=0; X11a0h=r
; X12a0=a0+rc1*2*r[1]; X13a0=round(a0); X14alpha=a0h; X15for(minc=2;minc<=NCOF;minc++) X16{a0=0; X17for(ip=1;ip<minc;ip++) X18a0=a0+r[minc-ip]*2*a[ip] X19X20a0=a0<<EXPa; X21a11=0; X22a1=r[minc]; X23a0=a0+a1; X24a0=round(a0); X25sign=a0h; X26
num=a0h; X27if(num<0)num=-num; X28if(num>=alpha) X29goto LEDUMO_failed; X30a2=num/alpha; X31a2=a2<<15; X32a1=round(a2); X33if(a0>0)a1=-a1; X34rc=a1h; X35X36a11=0; X37a1h=alpha; X38a1=a1+rc*2*a0h; X39a1=round(a1); X40if(alpha<=0) X41goto LEDUMO_failed; X42alpha=a1h; X43X44a0=0; X45a1=0; X46for(ip=1;ip<=(minc>>1);ip++) X47{a0h=a[ip]; X48a0=a0+rc*2*a[minc-ip]; X49a0=round(a0); X50If(overflow in a0) X51{EXPa=EXPa+1; X52for(Ip=1;Ip<minc;Ip++) X53a[Ip]=a[Ip]>>1; X54a0h=a[ip]; X55a0=a0+rc*2*a[minc-ip]; X56a0=round(a0); X57
} X58a1h=a[minc-ip]; X59a1=a1+rc*2*a[ip]; X60a1=round(a1); X61If(overflow in a1) X62{EXPa=EXPa+1; X63for(Ip=1;Ip<minc;Ip++) X64a[Ip]=a[Ip]>>1; X65a0h=a[ip]; X66a0=a0+rc*2*a[minc-ip]; X67a0=round(a0); X68a1h=a[minc-ip]; X69a1=a1+rc*2*a[ip]; X70a1=round(a1); X71} X72a[ip]=a0h; X73a[minc-ip]=a1h; X74} X75a2=a2>>EXPa; X76a2=round(a2); X77if(sign>0)a2=-a2; X78a[minc]=a2h; X79} X80a
=EXPa; X81return; X82X83X83LEDUMO_failed: X84a
=-1; X85return; X86
伪代码说明在定点表示中,预测系数a[i]只能取-1、0和+1、0之间的值。但是,由于在递归期间系数a[i]会超过1、0(行X47…X75),所以以成组浮点格式来表示所有的系数a[i]。这就是说,所有预测系数被归一化为公共基数2EXPa,因此所有归一化的预测系数的尾数又处在-1、0和+1、0之间。在“列文森递推”的开始时还未计算系数,因此阶码EXPa被设为0(行X1)。
因为不需要再计算a(0)=1.0,所以在此不执行01。
在具有游动变量minc的循环中类似地变换行02和03。因此下面说明定点分辨率。
首先描述行05至07的定点实现在行X17和X19,a0表示32位宽的累加寄存器。乘输入寄存器装入自相关系数r[minc-ip]。另一乘输入寄存器装入以前计算的、归一化的预测系数a[ip]的尾数;对于所有这些系数,相关的阶码EXPa是一样的。应当特别指出,因为不必再乘以a
=1,所以系数a
没有被包括在归一化中。
在行X21,通过左移位装置将累加的最后结果(先不包括a
*2*r[minc]部分)从浮点表示缩短为定点表示,以便对在累加器a0中的32位结果进行归一化。
在行X22至X24中,在使用另一个32位宽的寄存器a1时将a
*2*r[minc]部分加起来。应当指出,由于寄存器a1的使用,辅助寄存器a1仍然能够在其它位置保持以前的值,所以寄存器a1的下部将被删除。
在行X25至X28,预备用于除法的计数器项(counter term),以便计算当前(第K个)反射系数rc。除法需要具有16位数据宽度的正的输入数据,在行X25通过对在a0中的32位宽的结果进行舍入操作可获得这一输入数据。
直接对在除法器单元的输入端的寄存器进行装入,以便进行用于当前(第K个)反射系数rc的计算的除法计算。在此应当指出,在[I]中执行除以从行X24的a0恢复的alpha和num的浮点值的除法。这就对应着所需计算速度的显著增大。
以17位的精度来计算行X31中的除法的结果,第17位对舍入操作是必需的。在行X33和行X77进行这一舍入,以便分别计算当前(第K个)反射系数和当前(第K个)预测系数。在行X32,在舍入操作之前,使该除法的结果(它的17位被右侧对齐地存储在32位宽的寄存器92中)适应于固定设置的小数点。在行X34已使用了正确的符号之后,通过读出上部的16位宽的字a1h,从而最后就从32位宽的寄存器a1的上部获得了当前反射系数rc。
在行X37至X40,以已知的方式计算alpha的新值,但是所有的输入和输出变量都以16位定点格式来表示。在此也要特别指出这一事实在[I]中的这一位置,以alpha和a0h(a0h相应于行09中的sum)的浮点表示来进行计算,这相应于所需计算速度的显著增大。
在行X45至X47,修改以前计算的预测系数(重新计算和成组浮点格式的修改)。这相应于从行015至018的操作。要注意的是,如果在分别重新计算预测系数a[ip]和a[minc-ip]时出现了溢出,所有系数(即已经被重新计算和尚未被重新计算的系数,就是以前计算的系数)a[1]、a[2]、…a[minc-1]就被减小1/2(=分别在行X54和X65右移1位)。当分别在行X55、X56、X57和X66至X71进行重新计算时,就再也不会出现溢出。
在已经结束了对旧的(以前计算的)系数的调整之后,就根据rc计算新的(第K个)预测系数a[minc](见行020)。应当指出,在定点格式中,新的(第K个)系数也以成组浮点格式被存储。因此,以上计算的、可以以非规一化的定点格式得到的反射系数rc在右移EXPa位之后被存储在a[minc]中。对于在此给出的解法,仍被存储在寄存器a2中并且具有17位分辨率的反射系数首先被右移EXPa位,然后以16位的精度被舍入。这是与在[I]中发表的解法完全不同的,在[I]中,在除法运算之后已被直接舍入的反射系数被右移EXPa位并且通过被限制成16位而得到新的预测系数。在这一位置处的明显不同导致了在此描述的“列文森递推”的16位定点实施方案,这一定点实施方案产生了更好的结果,即计算所花费的代价显著地比[I]中所示的解法少。
图2表示自适应预测滤波器。这样的预测滤波器包括狭义上的滤波器2和控制单元1。狭义上的滤波器2按照公式(1)产生输出值y(n)并通过导线a2将它们输出。通过导线b1给狭义上的滤波器2和控制单元提供输入值S(n)。
控制单元1可再被粗略地细分为两个功能部件1A和1B。功能部件1A根据一部分输入信号计算相关系数并将这些值传送给功能部件1B,功能部件1B根据这些值、通过利用以上描述的装置来归纳公式(2)从而确定新的预测系数。控制单元1然后通过导线b1由部件1B计算的整组系数来代替到目前为止使用的预测系数。所述包括功能部件1B的滤波器可以在现代的语音编译码器中被多次使用。
图3表示预测语音编码器,利用该语音编码器,已编码的语音信号也被译码,以便改善编码。因此,省略了对译码器的专门描述。
要被编码的语音信号通过导线6a以样值的形式提供给编码器。减法器6从该要被编码的语音信号中减去又被该编码器译码的语音信号的恰当的值,该语音信号通过导线4a提供给减法器6。通过导线6b将差值传送给部件9,该部件9求该差值信号的频谱加权(为了进行广泛的表示,请比较例如1990年IEEE S9.1第453至456页上CHEN,J.H.的HIGH-QUALITY 16 KB/S SPEECH CODING WITH A ONE-WAY DELAY LESS THAN 2MS(单向延迟小于2微秒的高质量每秒16千位的语音编码)),此后,对于部分语音信号形成和存储误差平方之和。对于在导线6a上的部分语音信号,检测128个不同的编码任选项,最后,将产生最小误差的任选项作为代码信号传送给接收机。
这128个任选项来自于这一事实标号为1的代码薄存储了128个所谓的矢量。每一矢量是样值的一个序列,该序列包括对信号的模拟,利用该对信号的模拟可以例如激励人的声道谐振。从代码簿1中顺序地读出矢量并利用可控定标器2对它们进行定标(这相应于在人的声音产生时对音量的控制)。定标器2由部件3进行控制。然后,被定标的矢量传送给具有后向预测作用的预测器4、5和8。预测器形成了对人的声道动作的仿照。它包括如图2所示的滤波器5、8。此外,这样的滤波器被包括在部件3和9中。通过导线1a传送例如已在当前语音信号部分中导致最小误差的矢量的编号。
图4以图示形式说明以上关于两个例子的描述内容,就是说,说明了由于以成组浮点格式将具有尾数的预测系数转换为3位,本发明总的来说产生了比已有技术(I)好的结果。输出数据都是具有4位分辨率的正二进制数。在图4中,上面的图表示了以二进制表示的输出数据的赋值(省略了符号位)相对于它们的分数表示,这样使得对下面的两幅图的核实更为容易。
中间的图表示在输出数据首先按照[I]被舍入、然后尾数以3位的分辨率被计算时产生的误差F。
下面的图表示在尾数首先以4位的分辨率被计算、然后被舍入为3位时产生的误差F。误差F的比例在两种情形中都是相同的,并且对应于上面的图的比例。
权利要求
1.传输系统,其特征在于包括至少一个对信号(10a)进行编码的编码器(101);至少一个将已编码信号(10b)发送给至少一个接收机(103)的发射机(102);至少一个对已编码信号进行译码的译码器(104),以及至少为编码器提供的至少一个自适应预测滤波器(10A,10B),该自适应预测滤波器包括根据辅助信号的部分样值计算相关系数的装置,该辅助信号依赖于该信号或被译码的信号,以及根据相关系数以N位定点算法确定反射和预测系数的装置;该传输系统还包括以下装置,以便递推地确定将以成组浮点格式表示的预测系数a)用于计算第K个反射系数的装置(X31);b)用于在利用在a)中获得的第K个反射系数的同时重新计算K-1个以前计算的预测系数的装置(X74,X75);c)装置(X51-X58;X62-X72),用于如果在K-1个以前计算的预测系数的重新计算期间出现了溢出,从而使N位不再足以表示重新计算的预测系数时,就修改已被重新计算和尚未被重新计算的该K-1个预测系数的成组浮点格式;d)用于对在c)中已出现溢出的预测系数继续进行K-1个预测系数的重新计算的装置(X62-X72);e)用于将第K个反射系数转换为浮点格式的数的装置(X76),该数的阶码用在c)中确定的成组浮点格式的阶码来表示;以及f)用于将在e)中获得的数作为第K个预测系数来进行存储的装置(X79)。
2.如权利要求1的传输系统,其特征在于还包括2a)用于计算具有N+1位的最小分辨率的第K个反射系数的装置(X31);2b)用于缓冲具有N+1位的最小分辨率的第K个反射系数的装置(a2);2c)用于将在2b)中被缓冲的第K个反射系数转换为根据e)的浮点格式(权利要求1)的装置(X76),该浮点格式的尾数具有至少N+1位的分辨率;2d)用于将在2c)中获得的尾数舍入为N位的装置(X77);以及2e)用于将在2d)中被舍入的尾数作为第K个预测系数的尾数来进行存储的装置(X79)。
3.一种终端单元(LE),其特征在于包括至少一个编码器(101)和/或至少一个译码器(104);至少一个发射机(102)和/或至少一个接收机(103);以及至少一个自适应预测滤波器(10A,10B),该自适应预测滤波器包括根据信号的部分样值计算相关系数的装置,以及根据相关系数以N位定点算法确定反射和预测系数的装置;该终端单元还包括以下装置,以便递推地确定将以成组浮点格式表示的预测系数a)用于计算第K个反射系数的装置(X31);b)用于在利用在a)中获得的第K个反射系数的同时重新计算K-1个以前计算的预测系数的装置(X74,X75);c)装置(X51-X58;X62-X72),用于如果在K-1个以前计算的预测系数的重新计算期间出现了溢出,从而使N位不足以表示重新计算的预测系数时,就修改已被重新计算和尚未被重新计算的该K-1个预测系数的成组浮点格式;d)用于对在c)中已出现溢出的预测系数继续进行K-1个预测系数的重新计算的装置(X62-X72);e)用于第K个反射系数转换为浮点格式的数的装置(X76),该数的阶码用在c)中确定的成组浮点格式的阶码来表示;以及f)用于将在e)中获得的数作为第K个预测系数来进行存储的装置(X79)。
4.如权利要求3的终端单元,其特征在于还包括2a)用于计算具有N+1位的最小分辨率的第K个反射系数的装置(X31);2b)用于缓冲具有N+1位的最小分辨率的第K个反射系数的装置(a2);2c)用于将在2b)中被缓冲的第K个反射系数转换为根据e)的浮点格式(权利要求3)的装置(X76),该浮点格式的尾数具有至少N+1位的分辨率;2d)用于将在2c)中获得的尾数舍入为N位的装置(X77);以及2e)用于将在2d)中被舍入的尾数作为第K个预测系数的尾数来进行存储的装置(X79)。
5.一种对信号(10a)进行编码的编码器(101),其特征在于包括至少一个自适应预测滤波器(10A,10B),该自适应预测滤波器包括根据辅助信号的部分样值计算相关系数的装置,该辅助信号依赖于该信号或译码信号;以及根据相关系数以N位定点算法确定反射和预测系数的装置;该编码器还包括以下装置,以便递推地确定将以成组浮点格式表示的预测系数a)用于计算第K个反射系数的装置(X31);b)用于在利用在a)中获得的第K个反射系数的同时重新计算K-1个以前计算的预测系数的装置(X74,X75);c)装置(X51-X58;X62-X72),用于如果在K-1个以前计算的预测系数的重新计算期间出现了溢出,从而使N位不足以表示重新计算的预测系数时,就修改已被重新计算和尚未被重新计算的该K-1个预测系数的成组浮点格式;d)用于对在c)中已出现溢出的预测系数,继续进行K-1个预测系数的重新计算的装置(X62-X72);e)用于第K个反射系数转换为浮点格式的数的装置(X76);该数的阶码用在c)中确定的成组浮点格式的阶码来表示;以及f)用于将在e)中获得的数作为第K个预测系数来进行存储的装置(X79)。
6.如权利要求5的编码器(101),其特征在于还包括2a)用于计算具有N+1位的最小分辨率的第K个反射系数的装置(X31);2b)用于缓冲具有N+1位的最小分辨率的第K个反射系数的装置(a2);2c)用于将在2b)中被缓冲的第K个反射系数转换为根据e)的浮点格式(权利要求5)的装置(X76),该浮点格式的尾数具有至少N+1位的分辨率;2d)用于将在2c)中获得的尾数舍入为N位的装置(X77);以及2e)用于将在2d)中被舍入的尾数作为第K个预测系数的尾数来进行存储的装置(X79)。
7.一种对信号(10c)进行译码的译码器(104),其特征在于包括至少一个自适应预测滤波器(10B),该自适应预测滤波器包括根据辅助信号的部分样值计算相关系数的装置,该辅助信号依赖于该信号或译码信号;以及根据相关系数以N位定点算法确定反射和预测系数的装置;该译码器还包括以下装置,以便递推地确定将以成组浮点格式表示的预测系数a)用于计算第K个反射系数的装置(X31);b)用于在利用在a)中获得的第K个反射系数的同时重新计算K-1个以前计算的预测系数的装置(X74,X75);c)装置(X51-X58;X62-X72),用于如果在K-1个以前计算的预测系数的重新计算期间出现了溢出,从而使N位不足以表示重新计算的预测系数时,就修改已被重新计算和尚未被重新计算的该K-1个预测系数的成组浮点格式;d)用于对在c)中已出现溢出的预测系数继续进行K-1个预测系数的重新计算的装置(X62-X72);e)用于将第K个反射系数转换为浮点格式的数的装置(X76),该数的阶码用在c)中确定的成组浮点格式的阶码来表示;以及f)用于将在e)中获得的数作为第K个预测系数来进行存储的装置(X79)。
8.如权利要求7的译码器(104),其特征在于还包括2a)用于计算具有N+1位的最小分辨率的第K个反射系数的装置(X31);2b)用于缓冲具有N+1位的最小分辨率的第K个反射系数的装置(a2);2c)用于将在2b)中被缓冲的第K个反射系数转换为根据e)的浮点格式(权利要求7)的装置(X76),该浮点格式的尾数具有至少N+1位的分辨率;2d)用于将在2c)中获得的尾数舍入为N位的装置(X77);以及2e)用于将在2d)中被舍入的尾数作为第K个预测系数的尾数来进行存储的装置(X79)。
9.一种自适应预测滤波器(图2),其特征在于包括根据信号的部分样值计算相关系数的装置;以及根据相关系数以N位定点算法确定反射和预测系数的装置;还包括以下装置,以便递推地确定将以成组浮点格式表示的预测系数a)用于计算第K个反射系数的装置(X31);b)用于在利用在a)中获得的第K个反射系数的同时重新计算K-1个以前计算的预测系数的装置(X74,X75);c)装置(X51-X58;X62-X72),用于如果在K-1个以前计算的预测系数的重新计算期间出现了溢出,从而使N位不足以表示重新计算的预测系数时,就修改已被重新计算和尚未被重新计算的该K-1个预测系数的成组浮点格式;d)用于对在c)中已出现溢出的预测系数继续进行K-1个预测系数的重新计算的装置(X62-X72);e)用于将第K个反射系数转换为浮点格式的数的装置(X76),该数的阶码用在c)中确定的成组浮点格式的阶码来表示;以及f)用于将在e)中获得的数作为第K个预测系数来进行存储的装置(X79)。
10.如权利要求9的自适应预测滤波器(图2),其特征在于还包括2a)用于计算具有N+1位的最小分辨率的第K个反射系数的装置(X31);2b)用于缓冲具有N+1位的最小分辨率的第K个反射系数的装置(a2);2c)用于将在2b)中被缓冲的第K个反射系数转换为根据e)的浮点格式(权利要求9)的装置(X76),该浮点格式的尾数具有至少N+1位的分辨率;2d)用于将在2c)中获得的尾数舍入为N位的装置(X77);以及2e)用于将在2d)中被舍入的尾数作为第K个预测系数的尾数来进行存储的装置(X79)。
全文摘要
本发明提出的传输系统包括至少一个对信号(10a)进行编码的编码器(101)。该系统还包括至少一个发射机(102)、至少一个接收机(103)和至少一个译码器(104)。至少为编码器(101)提供了至少一个自适应预测滤波器(10A,1B),利用该自适应预测滤波器编码语音或音频信号,同时减小了它们的位速率。根据“列文森-德宾递推”以定点算法递推地确定自适应预测滤波器(10A,10B)的滤波系数。
文档编号G10L25/06GK1109264SQ94190265
公开日1995年9月27日 申请日期1994年5月2日 优先权日1993年5月5日
发明者R·霍夫曼 申请人:菲利浦电子有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1