数字信息编码的方法和装置的制作方法

文档序号:2820030阅读:301来源:国知局
专利名称:数字信息编码的方法和装置的制作方法
技术领域
本发明涉及语音编码技术和一般的语音处理。更具体地说,本发明涉及基于采用合成模式与反向自适应技术相结合而进行分析的语音编码方法。
相关
背景技术
介绍基于合成模式与反向自适应相结合进行分析的系统应用于例如低延迟代码激励线性预测(LD-CELP)语音编码解码器中,这个系统最近已由国际电信联盟(ITU)标准化,相关内容公布在“利用低延迟代码激励线性预测的16Kbit/s语音编码”文件中,ITU版权所有,1992,G.728推荐技术标准。这种语音信号压缩算法对于全世界语音编码专家都是熟知的。
数字网络用于传输数字编码信号。过去主要是传输语音信号。现在,由于电子邮件网络的广泛使用,全球的数据通信量正在日益增长。从经济观点分析,联网用户的数量在不造成网络拥挤的前提下必须达到最多。因此,开发了语音压缩算法,并利用噪声屏蔽效应使之最佳化。不过,这些编码算法并不十分适合于音频数据信号的传输。所以,解决方案是增加信号分类算法,并在检测到数据信号时使用音频数据信号压缩(VDSC)算法。目前正采用这一方案使一种16kb/s数字电路倍增装置(DCME)的传输系统标准化。低延迟代码激励线性预测语音编码解码器将被用于传输语音,同时国际电信联盟正在为音频数据传输研究开发一种新的编码算法。
在实际应用中,信号分类算法可能失效而导致或多或少地在不同的代码方案之间的频繁转换。如果下一个编码方案总是要从重置状态开始,在音频数据传输过程中这可能还不是关键的。但是,当正在传输语音时,这可能会产生十分令人讨厌的后果。
为了解决这个问题,有人提出在16kb/s的DCME系统中对于音频数据信号压缩也保持LD-CELP结构。只是应该通过例如提供大型编码簿来增加比特率以确保足够的量化。利用这样一种方法,当从一种编码方案转换到另一种方案时,就可以保证实时信号的连续波形。
这种方法有两个缺点一方面,在以较高比特率传输信号过程中会明显增加计算量。这使得该方法的实施不是非常具有吸引力,因为常规的LD-CELP需要目前市场上销售的数字信号处理器(DSPs)的几乎全部计算能力。另一方面,很可能利用特别优化的结构更加有效地对音频数据信号编码,从而得到低于40kb/s的比特率或更高的性能。目前,40kb/s对于VDSC算法似乎正是所需的比特率。很显然,应当指出,如果将已有的信号压缩算法与LD-CELP型编码解码器结合使用,也会产生这个转换问题。在必须传输音频数据信号时,已知的系统使用例如根据ITU推荐技术标准G.711(64kb/s)或G.726(32kb/s或40kb/s)建立的算法。
关于这一点,有一种被称为ADPCM的编码算法,其结构与LD-CELP的类似之处在于它包括正向出错校正。参见文献“数字通讯”,Simon Haykin,John Wiley & Sons,1988。
在美国专利US-5233660中公开了一种基于代码激励线性预测(LD-CELP)的低延迟数字语音编码器和解码器。该编码方法包括对编码簿增益和短期合成滤波参数的反向自适应调整,还包括对长期合成滤波参数的正向自适应调整。对于低延迟间距参数的有效的推导和量化可以得到这样一个总延迟值,这个值是具有同等语音质量的已有编码延迟的几分之一。
在美国专利US-5339384中也公开了一种用于语音和声音传输的CELP编码器。这种编码器适用于低延迟编码,通过对前一帧模拟的解码语音的一部分进行频谱分析,确定比常规用于解码合成时其量级高得多的合成滤波参数,然后仅仅传输能产生最低内部出错信号的向量的索引。改进的感知加权参数和新采用的后置滤波在保持高质量再现的同时,改善了一系列编码和解码操作的协调工作。
美国专利US-5228076也是有价值的,因为它包括使用上述的ADPCM编码算法。
发明概要在例如语音传输过程中,相当一部分传输时间是无声的。在这些无声间隔中,可以利用传输链路传输数据。数据和语音采用不同的代码编码,问题是需要在不同的编码器之间进行切换和避免在切换之后语音不连续。这正是对于反向适应编码方案所特别发生的情况。在除了语音以外的其它信息传输过程中,也会出现时间间隔,可以利用这些间隔在同一信道上传输其它信息。
如果要被激活的编码方案的状态一直预置在就象这个编码方案过去已经被激活的相同值,就能够消除输出信号的不连续。问题是如果编码解码器是基于反向自适应方案,如同在LD-CELP型编码方案一样,状态变量的相应初始值的产生不是那样容易的。预测器的系数依赖于过去量化的输出信号,就和在LD-CELP型编码方案中合成滤波器的系数一样。此外,状态和预测器系数依赖于过去量化的激励信号,就和增益预测器的系数依赖于LD-CELP编码方案中的合成滤波器的激励信号一样。更具体地说,问题是如果该编码解码器将要被接通,则无法得到这个过去的激励信号。即使状态变量可以恢复,在编码解码器启动过程中仍需要极大的瞬时信号处理能力,这种处理工作将会耗尽目前市场上销售的各种DSPs的处理能力。
本发明讨论了有关如何恢复状态变量的技术以及减少所需信号处理量或计算量以便于实际实施的方法。通过采用一个要关闭的编码器的输出采样值来预置一个要切换到工作状态的并行编码器的编码方案的状态来解决这个问题。
更具体地说,这个问题是通过从预置状态值中产生系数值,并从这些系数值和信号序列中恢复一个信号序列(向量)而得到解决的。这个信号序列(向量)被用于在解码器以及编码器中直接产生解码输出,例如语音,并且通常是在传输过程中连续产生的。通过恢复信号序列(向量),编码解码器可以迅速启动。
在一个简化实施例中,该系数值不是在编码解码器中产生的,而是从关闭的并行编码解码器中直接传输过来的。该传输过来的系数值被用于恢复所说信号序列(向量)。
本发明的一个目的是提供一种适合的装置和方法,这种装置和方法能够在保持重构输出信号的连续形状的情况下激活反向自适应语音编码方案,如LD-CELP型语音编码解码方案。还作了一些改进使得在初始化阶段的信号处理量能够合理地保持在低的量级。
本发明的优点是当转换到一个编码解码器时只需要中等量级的信号处理能力,可以在不使输出信号严重地不连续的前提下进行切换。如果在相同的通信信道上传输语音和数据,在转换到语音编码器时不会在语音中产生令人讨厌的影响。
附图简介

图1为由用于不同目的的两个不同的编码解码器构成的一个传输系统的上位结构方框图。
图2为基于反向自适应技术的一种常规语音编码方案的上位结构示意图。
图3a为一个LD-CELP编码器的方框图。
图3b为一个LD-CELP解码器的方框图。
图4更详细地表示了图2所示局部解码器的结构。
图5为合成滤波器的反向自适应和相应的预测器系数的一个下位结构方框图。
图6为增益预测器的反向适应和相应的预测器系数的下位结构方框图。
图7a和7b表示在LD-CELP编码解码器中执行合成滤波器操作的程序。
图8表示在一个LD-CELP型语音编码解码器中对状态进行升温(warm up)的程序流程图。
图9表示生成激励向量的一个方框图。
实施例的详细描述为了介绍本发明的优选实施例,先解释例如用于LD-CELP算法中的反向自适应语音编码方案的某些细节,是有用的。图1以方框图形式表示对于语音信号和音频数据信号采用不同编码方案的一个传输系统。在发送器侧有一个对语音进行LD-CELP编码的编码器100和一个VDSC数据编码器101。一条输入线99通过一个开关98与这些编码器相连,这些编码器的输出通过一个开关102与一个通信信道120相连。一个信号分类装置103与输入线99相连并控制开关98和102。在接收器侧,有一个用于语音解码的解码器200和一个数据解码器290。这些解码器通过一个开关203与所说通信信道相连,它们的输出端通过一个开关198与一条输出线219相连。信号分类装置103借助于另一条信号信道191与开关203和198相连,并且并行地与发送器侧开关一起控制这些开关。缓存器192与数据编码器101的备用输出端相连,并通过一个开关193与语音编码器100的一个输入端144相连。该开关是由信号分类装置103启动的。在接收器侧,有一个对应的缓存器292和一个开关293。作为一个示例性实施例,所用语音编码解码器是LD-CELP型的,并且在对语音进行编码时使用,而在传输音频数据信号时在数据编码器101中使用另一种编码方案VDSC。在当前采用的压缩模式下的信息通常是通过独立的信号信道191从发送器传输到接收器的。本发明涉及编码方案VDSC已经激活,并且信号分类装置刚好检测到语音存在的情形。这使得LD-CELP型语音编码解码器100和200都被启动。
图2非常概括地表示了一种反向自适应语音编码方案,例如用于LD-CELP中的编码方案的基本原理。在发送器侧,有一个代码簿检索单元130和一个局部解码器95。该局部解码器95与所说代码簿的一个输入端相连,该代码簿还有一个输入端用于输入信号。代码簿检索单元的一个输出端与所说局部解码器的输入端相连。发送器向接收器发送一个代码向量CW。在接收器侧,有一个局部解码器96与一个后置滤波器217相连,该后置滤波器又与输出端219相连。在发送器和接收器两侧,量化的输出信号在方框“局部解码器”95和96中分别进行重构。在发送器侧,采用了过去重构的信号的已知状态,以便为当前编码的语音段找到最佳的参数,如在下文中更加详述的。
图3a为LD-CELP编码器100以及VDSC编码器101的简化方框图。图中还表示了用于选择编码器100或101的开关102和98,用于控制开关98和102的信号分类电路103,以及缓存器192和开关193。输入信号S传送到信号分类电路103和LD-CELP编码器100。该LD-CELP编码器包括与一个向量缓存器111相连的一个PCM转换器110。编码器100还包括一个第一激励代码簿存储器112,该存储器与一个第一增益转换单元113和一个第一反向增益适配器114相连。第一增益转换单元113的输出端与一个第一合成滤波器115相连,该滤波器115具有一个输入端144,并与一个第一反向预测器适配电路116相连。合成滤波器115的输出与一个差分电路117相连,与该差分电路相连的还有一个向量缓存器111。差分电路117又与一个感知加权滤波器118相连,其输出与一个均方误差电路119相连。后者与激励代码簿存储器和通信信道120相连,所说通信信道120使LD-CELP编码器100与传输信道接收器侧的LD-CELP解码器200相连,如图3b所示。
图3b表示VDSC解码器290和开关198、203以及缓存器92和开关293。LD-CELP解码器包括一个第二激励代码簿存储器212,该存储器与通信信道120和一个第二增益转换电路213以及一个第二反向增益适配器214相连。第二增益转换电路213与一个第二合成滤波器215相连,该滤波器具有一个输入端145,并与一个第二反向预测器自适应电路216相连。一个自适应后置滤波器217的输入端与该合成滤波器215相连,其输出端与一个具有A-律或μ-律PCM输出端219的PCM转换器218相连。
LD-CELP编码器100按照下述方式工作。按照PCM A-律或μ-律转换的信号S在转换器110中转换成一致的PCM。然后输入信号被划分成由5个连续的输入信号采样值构成的信号组,称之为输入信号向量,存储在向量缓存器111中。对于每个输入信号向量,编码器使存储在代码簿112中的128个待选代码簿向量中的每一个通过第一增益转换单元113。在这个单元中每个向量与8个不同的增益因子相乘,所得到的1024个待选向量通过所说第一合成滤波器115。在差分电路117中产生的、每个输入信号向量与所说1024个待选向量之间的偏差在加权滤波器118中进行频率加权,并在电路119中求均方值。编码器识别出一个最佳代码向量,即对于输入信号向量之一能使均方偏差最小的向量,并且该最佳代码向量的一个10比特代码簿索引CW通过信道120传输到解码器200。该最佳代码向量还通过第一增益转换单元113和第一合成滤波器115以建立正确的滤波器存储,为下一个输入信号向量的编码作准备。最佳代码向量的识别和滤波器存储的更新对于所有输入信号向量重复进行。合成滤波器115的系数和第一增益转换单元的增益分别由适配电路116和114根据过去量化的信号和增益转换激励按照反向自适应方式周期地进行更新。
解码器200的解码也是在逐组实现的基础上进行。当在信道120上接收到各个10比特代码簿索引CW时,解码器进行查表操作以便从激励代码簿212中提取相应的代码向量。然后提取的代码向量通过第二增益转换电路213和第二合成滤波器215,以产生当前的解码信号向量。然后按照与在编码器100中相同的方法将第二合成滤波器215的系数和第二增益转换电路213中的增益更新。之后使解码的信号向量通过后置滤波器217以增强感知质量。后置滤波器系数利用在解码器200中得到的信息周期地进行更新。后置滤波器信号向量的5个采样值接着输入到PCM转换器218,并被转换成5个A律或μ律PCM输出采样值。当然编码器100和解码器200仅仅利用上述两个PCM律中的一个并且是相同的一个。
图4更加详细地表示了在局部解码器95和96中量化输出信号或重构信号的产生。在图3a中局部解码器包括合成滤波器115和增益转换单元113及其增益适配器114。更具体地说,激励代码簿112包括一个形状代码簿130和一个增益代码簿131,电路113和114包括乘法器132和133和一个增益预测器134。后者生成一个增益因子GAIN’,即所谓的激励向量,增益代码簿生成一个增益因子GF2。在乘法器133中生成一个总增益因子GF3。换句话说,该增益因子由预测部分GAIN’和修正部分GF2构成,后者是从存储在增益代码簿131中的8个可能的值中选择出的。在局部解码器中,图3a中所示传输的代码字CW被分解成形状代码簿索引SCI(7比特)和增益代码簿索引GCI(3比特)。从形状代码簿130中选定的激励向量与增益因子GF3相乘得到激励信号ET(1…5),并输入到合成滤波器115中。求出这个激励信号ET(1…5)的能量,以便预测下一个激励向量GAIN’的增益。所以,从增益代码簿中得出的增益因子GF2仅仅用于校正预测增益因子GAIN’的可能偏差。
图5详细表示了用于例如LD-CELP编码解码器中的反向自适应线性预测的基本原理。一条延迟线包括若干延迟元件140,每个延迟元件的延迟时间相当于一个采样周期T。这些延迟元件的输出端分别与具有预测系数A2至A51的系数元件141相连,而这些系数元件的输出端与一个加法元件142相连。这个元件又与一个差分元件143相连,该差分元件具有一个用于激励信号序列ET(1…5)的输入端,并且与所说延迟线的第一延迟元件140相连。每个延迟元件分别与一个LPC分析单元相连,所说分析单元在图3中就是反向预测适配器116。这些延迟元件还与所说输入端144相连。适配器116与各个系数元件141相连。差分元件143与延迟线之间的连接线具有一个输出端以输出一个量化输出信号,即经过解码的语音信号SD。过去重构的语音采样信号SD存储在延迟线元件140中,“T”表示一个采样周期的延迟。将该延迟线上最新的采样值利用预测器系数(A1…A51,A1=1)加权,并与激励信号ET(1…5)一起构成量化输出信号或解码语音信号SD。然后将新产生的采样值SD移到延迟线中。通过在反向预测器适配器116中采用已知的LPC技术可从解码语音的以往历史中求出相应的预测器系数A2到A51。如图5所示,元件141的输入端139与适配器116的输出端相连。根据推荐的技术标准G.728,由105个采样值构成的整个延迟线被称为“语音缓存器”,并用伪代码标记为阵列“SB(1…105)”。这个缓存器的最新部分被称为“合成滤波器”,并用伪代码标记为“STATELPC(1…50)”。
图6详尽表示了增益预测器部分的状态,该图对应于图3所示的反向增益适配器114和增益转换单元113的一部分。一个能量发生单元152与一条包括若干延迟元件150的延迟线相连,每个元件的延迟时间为5个采样周期,在元件中标记为5T。一部分延迟元件150与具有预测器系数GP2至GP11的系数元件151相连。这些系数元件与一个加法器153相连,该加法器具有用于信号GAIN’的输出端。所有延迟元件150与一个预测器适配器154相连,其输出与系数元件151相连。激励信号ET(1…5)的能量被移到延迟线中。同样,将能量的最新值用预测器系数(GP1…GP11,GP1=1)加权,从在加法器153中产生的和值得出为下一个待编码输入信号向量而预测的增益因子GAIN’。同样,通过在预测器适配器154中采用已知的LPC技术而从激励信号(1…5)的能量的过去历史中求出相应的预测器系数。顺便提到,在LD-CELP中,将增益预测器的状态变量用对数域表示,如用单元155和156所示。在其它反向自适应模式中这种表示可能是不同的。
最后,有关寻找最佳激励向量ET(1…5)的方法的知识对于理解本发明的细节似乎是有用的。参照图7a和7b,它们表示了图5所示的合成滤波器的一些部分。图7a和7b表示工作在不同状态的合成滤波器,如ITU推荐技术标准G.728第39页所述以及如在其图2/G728中用不同方框22和9代表的合成滤波器所示。例如在LD-CELP编码解码器中,5个连续的采样值汇集在一起构成待编码的向量。如果一个向量是完全的,则计算出合成滤波器瞬变信号的5个采样值,并把它们从这个输入的语音向量中减去以得到期望的向量。通过向合成滤波器中输入零输入采样值“0”,就产生瞬变信号或零输入响应ZINR(1…5),参见图7b。这个信号还可以被视作当前语音向量的预测采样值。在编码器中,形状代码簿130与增益代码簿131组合的所有1024个可能的激励向量被输入到合成滤波器,对于每个新向量从零状态开始,以得到一个零状态响应ZSTR(1…5),参见图7a。将所得到的每个激励向量的5个采样值与期望向量比较。最后,选择具有最小偏差的一个向量。一旦找到最佳激励向量,就更新合成滤波器状态。就是说,将属于选定激励向量的零状态响应加入零输入响应中,以得到解码语音的5个新采样值或者合成滤波器的5个新状态值。这一更新是在发送器侧以及接收器侧的局部解码器中完成的。
应当认真指出,上述对于图4、5、6和7的详细描述是针对发送器侧进行的,但是与对于图1、2、3a和3b一样,这些描述也同样可以应用于接收器侧。
在上面已经描述了本发明的概况并且已经描述了LD-CELP语音编码方案的最重要的细节之后,将对本发明的优选实施例进行详细描述。当反向自适应语音编码解码器诸如LD-CELP语音编码解码器要启动时,无法得到该编码解码器的状态,即在图5所示延迟线的延迟元件140或在图6所示元件150中没有任何值。只能采集到过去执行编码方案产生的量化信号。所以,为了实现平滑转换,要实施以过去输出信号的历史作为基础来恢复LD-CELP状态。在上述的示例实施例中,过去输入信号的这段历史是从VDSC编码解码器中得到的,它存储在图1所示的缓存器192和292中。应当指出,一个音频数据信号压缩编码解码器,例如举例说明的VDSC编码解码器101和290,具有一条延迟线,该延迟线中的延迟元件与图5所示LD-CELP编码解码器的元件140相似。正是在该VDSC编码解码器的延迟线中的这些状态存储在缓存器192和292中,并且当VDSC编码解码器中的处理在进行时被更新。缓存器中的值通过元件140各自的输入端144并行输入到元件140中。
从图5中可以看到,合成滤波器的状态包含过去重构的输出信号的历史。这对于上述的LD-CELP是真实的,对于VDSC编码解码器也是真实的。当图1中的信号分类电路103指出线99上是语音,并从VDSC编码解码器101和290切换到LD-CELP编码解码器100和200时,缓冲器192和292的更新过程停止。开关193和293由电路103启动一段短暂的时间,缓存器的状态值通过输入端144装载到合成滤波器延迟线的延迟元件140中。所以从缓存器192和292中取得过去计算的语音采样值的历史,并且用这些缓冲器值预置LD-CELP编码解码器100和200的合成滤波器状态。然后剩余的任务是找到激励信号ET(1…5),如果LD-CELP过去已经在运行,这些信号就会产生这些状态。如果找到这个激励信号ET(1…5),就会很容易如参照图6所述那样来预置增益预测器的状态。
在下文中,通过提供伪代码,如在ITU推荐的技术标准G.728“利用低延迟代码激励线性预测方法以16kbit/s进行语音编码”所用的伪代码解释该算法的详细内容。各种信号和系数根据推荐的技术标准G.728中的表2进行标注。
对产生增益预测器状态的描述是从合成滤波器更新程序开始的,与在LD-CELP中以正常模式运行时所做的一样。激励信号的5个采样值ET(1…5)按照下述方式输入合成滤波器首先,计算零输入响应ZINR(1…5)的5个采样值,参见图7b。当用零值输入信号“0”(瞬变)输入时,这就是合成滤波器的输出。其次,计算零状态响应ZSTR(1…5)的5个采样值,参见图7a。记住,只有5个状态是与零状态不同的。所以,在图7a中只表示了前5个状态。当用激励信号ET(1…5)输入时,零状态合成滤波器的输出向量是ZSTR(1…5)。然后通过将过去产生的分量相加计算出合成滤波器状态STATELPC(1∶5)或SB(1∶5)的5个新值STATELPC(i)=ZINR(i)+ZSTR(i);i=1,…5将这种方法记住,我们就可以导出检索激励信号ET(1…5)的方法。当通过将过去重构的信号放在矩阵STATELPC(1…50)或矩阵SB(1…105)的正确位置上,从另一个编码解码器(例如图1中所示的VDSC编码解码器)切换到LD-CELP编码解码器时,只有矩阵STATELPC(1…5)中的采样值是已知的,从而可以将STATELPC(1…50)视作图5中所示矩阵SB(1…105)的一部分。激励信号ET(1…5)隐藏在零状态响应的值中,所说零状态响应存储在要首先分离的ZSTR(1…5)中。为此,必须通过将5个零值采样值输入该合成滤波器中以产生零输入响应ZINR(1…5)。于是,可以按照下式得到零状态响应ZSTR(i)=STATELPC(i)-ZINR(i);i=1,…5当用激励信号ET(1…5)输入时,ZSTR(i)是零状态合成滤波器的输出。现在,可以通过对这个零状态响应实施反向滤波操作来求出这个向量。由于零状态响应的采样值不包含对50个预测器系数连续执行卷积运算的所有分量,所以能够完整地重构激励信号ET(1…5)。如果借助于一段伪代码来解释相应的操作,就可以更清楚地了解从零状态响应ZSTR(1…5)中恢复激励信号ET(1…5)的这个最后的步骤。在表1中,用于计算零状态响应的伪代码,如根据推荐的技术标准G.728中所采用的,表示在左栏中。在右栏中表示了用于恢复激励向量的相应的反向操作,即反向滤波操作。
表1“零状态响应计算”的反向操作零状态响应计算→反向滤波器操作1)ZSTR(1)=ET(1) →1)ET(1)=ZSTR(1)2)ZSTR(2)=ET(2)-A2·ZSTR(1)→2)ET(2)=ZSTR(2)+A2·ZSTR(1)3)ZSTR(3)=ET(3)-A3·ZSTR(1)-→ 3)ET(3)=ZSTR(3)+-A2·ZSTR(2) A3ZSTR(1)++A2·ZSTR(2)一旦得出激励信号ET(1…5〕,可以产生增益预测器的相应状态值,例如在G.728中20节所推荐的“1-向量延迟,RMS计算和对数计算”。所以为实现从任何其它编码解码器向LD-CELP型语音编码解码器的平滑转换所需要的所有信号都可以得到。增益状态的这种生产方式以下将简短地重述。激励信号ET(1…5)输入到图5所示的能量产生单元152,增益预测器状态供入延迟元件150中,产生系数元件151中的系数GP1-GP11,并产生增益激励向量GAIN’。在语音转换一开始时就产生一个代码向量CW,并耦合回馈到激励代码簿112,如图4所示产生所说激励信号ET(1…5),合成滤波器的状态被更新,同时系数元件141中的系数A2到A51也被更新,并产生解码后的语音的新值SD。为下一个代码向量CW产生增益激励向量GAIN’的一个新值。按照这种方式,在语音转换过程中LD-CELP的状态被相继更新。
现在参照图8的流程图来综述本发明的方法。这个流程图表示在提供解码输出信号的平滑转换的两个不同的语音编码解码器之间的切换过程。该方法从方框300开始,信号分类电路103检测是否在传输语音。对于选择判断结果否,VDSC编码解码器按照方框301所示对传输数据进行编码。对于选择判断结果是,则按照方框302所示,用存储在缓存器192中的VDSC编码解码器的状态值VSB(1…105)预置LD-CELP中的语音缓存器,即元件140。按照方框303所示,产生合成滤波器预测器系数A2…A51。按照方框304所示,恢复激励信号ET(1…5),在方框305所示步骤,预置增益预测器缓存器,即图6所示元件150。在方框306所示步骤产生增益预测器系数GP1到GP11,在方框307所示步骤产生增益激励向量GAIN’。如方框308所示,LD-CELP编码解码器100和200开始运行,在发送器与接收器之间传输语音。方框309表示信号分类电路103连续检测是否有音频数据在传输。在选择判断结果为否时(无音频数据),所说LD-CELP编码解码器继续运行。当选择判断结果为是时,所说VDSC编码解码器与传输线120接通,并开始对所传输的数据进行编码。
现在应当注意到VDSC编码解码器的编码方案也可以是一个反向自适应编码方案。在这种情况下,可以通过采用LD-CELP编码解码器的区域SB(1…105)中的状态值去预置VDSC编码解码器中的状态值以启动VDSC编码解码器。在图8中这是用方框310表示的。按照这种方式,本发明可以兼用作传输线中的语音和数据编码解码器。此外其它采用反向自适应编码方案的编码解码器也可以利用本发明。
在采用伪代码作非常详细的描述之前,现在首先参照附图9介绍激励信号ET(1…5)的产生。VDSC编码解码器的状态值并行存储在语音缓存器SB(1…105)的元件140中。语音缓存器中一部分的临时拷贝存储在一个存储器145中,在经过以下用伪代码更加详细地描述的处理之后输出一个信号TEMP。语音缓存器SB(1…105)的全部内容经由一个连线48输送到一个混合窗单元49。借助于单元49中的混合开窗,单元50中的列文森递归和组块51中的带宽扩展,产生出预测器系数A2到A51,并存储在一个存储器146中。系数值A2……A51经由输入端139输送到各个系数元件141。借助于信号TEMP和存储器146中的A系数,在单元147中产生零输入响应值ZINR(1…5)。在一个差分单元148中产生零状态响应值ZSTR(1…5),在单元149中产生激励信号值ET(1…5)。这些值被输送到能量发生单元152。在该处理过程开始时借助于从存储器146来的存储在系数元件141中的A因子以及从VDSC编码解码器101来的存储在元件140中的状态值就能够产生解码语音信号SD的值。
在本发明的一个简化实施例中,不是在单元49、50、51和146中产生系数值A2到A51。相反,相应的系数,即图3a和图3b所示的VDSC编码解码器中的系数B2到B51是传送到LD-CELP编码解码器的,并且通过输入端139插入到系数元件141中。
在DCME传输方案中,已知在信号分类算法中产生的错误判断可能导致每2.5毫秒从一种编码方案切换到另一种编码方案。如果其它编码方案与LD-CELP一样花费很高昂,则由于必须进行预置状态操作和正常操作模式的计算,将没有机会在两种编码方案之间的5毫秒内均衡可供使用的计算能力。所以,在转换到LD-CELP时,在2.5毫秒内可供使用的计算能力必须被初始化阶段和后续的正常操作阶段所共享。这两个阶段一起所需的计算能力不应超过在正常操作模式下所用的计算能力。下面介绍用于在初始化阶段以及在第一自适应循环中减少其复杂性的方法。
在初始化阶段,将过去的采样值拷贝到合成滤波器的状态变量中去的计算量是可以忽略不计的。增益预测器状态更新要稍微繁复一些。但是,计算合成滤波器的预测器系数A1到A51需要更大的计算能力。采用混合开窗和列文森递归过程则要求处理器能力的巨大峰值。
减少这一部分的复杂性的一种方法是在起始阶段将合成滤波器的预测器量级改变为大约仅仅为10,从而只产生最高为A11的系数。只要这个信号受到仅仅几个毫秒的影响,语音品质略有降低的时间很难被感觉到。这里的情况正是这样,因为语音缓存器SB(1…105)可以被过去的采样值立即填充。最多在30个采样值或3.75毫秒内就可以得到第一组完整的50个预测器系数。降低滤波器的量级具有的优点是在初始化阶段计算零状态响应值的复杂性较低。对于每个零状态响应的新采样值,必须进行50次乘加操作,如从图7所见。如果采用了把滤波器量级降低到10的方法,可以减少五分之四的计算量。
另一种方法是利用过去由其它编码方案VDSC产生的系数,这些系数对应于LD-CELP编码解码器的系数A1到A51。这明显地减少了用于计算开窗、ACF系数和列文森递归的计算量。
此外,在启动LD-CELP之后的第一自适应循环过程中系数更新所需的计算能力可以被挪用并转移到初始化阶段。然后先前计算出来的预测器系数可在第一或前两个适应循环过程中予以冻结。所造成的语音质量的降低是可以忽略不计的,但是计算能力方面得到的好处是明显的。
在LD-CELP的增益预测器部分可以实现进一步降低复杂性。在LD-CELP编码解码器的元件150中的增益预测器状态包含10种选择。所以,从合成滤波器状态中至少应当求出激励信号ET(1…5)的10个连续向量。此外,为了预测在初始化阶段之后的第一自适应循环中第一向量的增益,应当求出预测器系数GP2…GP11。幸好,增益预测器状态对于微弱畸变不十分敏感。这使得能够只用粗略估算值进行预置。因此,为了在初始化阶段减少复杂性,可以作出下述改进只计算最后一个激励向量ET(1…5)的增益GAIN’,并且假定这是过去计算值的平均并且是第一自适应循环的第一向量的预测值。另外,在计算第一自适应循环的第一向量过程中已经计算出一组新的预测器增益。所以,GP2…GP11=0的预置值就足够了。
一种略微复杂的方法是计算最后的一些对数增益,并求出当前的和过去的增益计算结果的平均值。
现在利用在推荐的技术标准G.728中所采用的伪代码来详细解释许多其它可能的编码方案的组合中的一个优选实施例。所表示的是从任何其它编码算法切换到LD-CELP时必须采取的步骤。
我们假设其它编码算法在过去已经产生量化输出采样值VS,以及这个信号的历史已经存储在标记为VSB(1105)矩阵中,从而VSB(105)包含最早的一个采样值,而VSB(1)包含最新一个采样值。所有其它下述的标记与推荐的技术标准G.728中所使用的一样。这样,当将要转换到LD-CELP时,要预先执行下述操作1、将矩阵VSB(1…105)中的采样值复制到SB(1…105)中;SB(1…50)与存储在STATELPC(1…50)中的合成滤波器状态变量一致,因而最后一个采样值存储在STATELPC(1)中。2、计算出51个预测器系数A(1…51),这是通过运行混合开窗模块(方框49)、列文森递归模块(方框50)和带宽扩展模块(方框51),在此A(1)=1。这些系数用于计算零输入响应值的初始化阶段和第一自适应阶段。3、增益预测器状态是通过仅仅计算最后的激励向量的对数增益和将这个值复制到SBLG()或GSTATE()的其它位置而预置的。a)计算零输入响应的5个采样值对于k=1,2,…50 作一个暂时拷贝TEMP(K)=SB(k+5)对于k=1,2,…5可以将STATELPC(){ZINR(k)=0 作为矩阵SB()的一部分。对于I=2,3,…50{ZINR(k)=ZINR(k)-TEMP(k+i-2)·Ai所以在下述情况下仅仅TEMP(i)=TEMP(i-1)} 使用矩阵SB()以代替STATELPC。ZINR(k)=ZINR(k)-TEMP(k+49)·A51TEMP(1)=ZINR(k)}b)计算零状态响应的5个采样值对于k=1,2,…5ZSTR(k)=SB(k)-ZINR(k)c)用反向滤波操作计算激励向量的5个采样值ET(1)=ZSTR(1)对于k=2,3,…5{ET(k)=ZSTR(k)对于i=2,…,kET(k)=ET(k)+ZSTR(k-i+2)·Ai}d)方框76,39,40(计算对数增益)ETRMS=ET(1)·ET(1)对于k=2,3,…,5ETRMS=ETRMS+ET(k)·ET(k)ETRMS=ETRMS DIMINVIF(ETRMS<1)ETRMS=1ETRMS=10·log10(ETRMS)e)用对数增益填充增益预测器状态对于i=1,2,…,33 GSTATE()可以作为矩阵SBLG(i)=ETRMS-GOFF SBLG()的一部分来实现。
所以它不是分开预置的。
GAINLG=SBLG(33)+GOFF对于第一自适应循环的GAIN’=10(GAINLG/20)第一向量的预测增益值。f)仅仅在编码器侧执行波形编码向量卷积运算和能量表运算(方框12,14,15)对于脉冲响应的计算,这时不需要加权滤波器。所以,方框12中AWZ()和AWP()的影响可以消除。
所述的这个程序与在第一自适应循环过程中执行的操作相结合并不比没有预置操作情况下的计算量大。如果将列文森递归(方框50)象在实际中所经常做的那样分布到若干向量,则更是如此。
上面所参照的ITU推荐技术标准G.728作为本说明书的附录。
权利要求
1.一种在传输系统中通过通信信道(120)传输信号的方法,该系统包括一个第一反向自适应编码器(100),它包括一个合成滤波器(115),所说合成滤波器包含具有滤波器状态(SB(1…105))的元件(140)和具有预测器系数(A2…A51)的系数元件(141);一个第二反向自适应编码器(101),它包含具有状态值(VSB(1…105))的元件;和一个控制电路(103),用于在所说第一和第二编码器(100,101)之间进行切换,以选择两个编码器之一在传输中使用;所说方法包括通过第二编码器(101)传输信号,并将其状态值(VSB(1…105))存储在一个缓存器(192)中;借助于所说控制电路(103)进行切换,以通过第一编码器(100)进行传输;利用所说存储的状态值(VSB(1…105))预置第一编码器(100)的状态值(SB(1…105))中的至少一部分;产生第一编码器(100)的预测器系数(A2…A51)中的至少一部分;和根据所产生的预测器系数(A2…A51)从合成滤波器(115)产生一个输出信号(SD)。
2.如权利要求1所述的一种方法,其特征在于,所说第二编码器(101)包含具有预测器系数(B2…B51)的系数元件,它们与第一编码器(100)的系数元件(141)相对应,该方法还包括以下步骤将至少一部分第二编码器(101)的预测器系数(B2…B51)存储在所说的缓存器中;和将所说存储的预测器系数(B2…B51)传输到第一编码器(100)的合成滤波器(115)的系数元件(141)中。
3.如权利要求1所述的一种方法,其特征在于,包括借助于所说的预置状态值(SB(1…105))以产生第一编码器(100)的预测器系数(A2…A51)的步骤。
4.如权利要求3所述的一种方法,其特征在于,包括仅仅产生预测器系数(A2…A51)的一部分(A2…A11)。
5.如权利要求1,2,3或4所述的一种方法,其特征在于,还包括以下步骤借助于状态值(SB(1…105))和合成滤波器(115)的预测器系数(A2…A51)产生向量(ZINR(1…5)),所说向量包含在合成滤波器(115)对于零值输入采样值(“0”)的响应中;通过从合成滤波器(115)的相应状态值(SB(1…105))中减去对于零值输入采样值(“0”)的响应中的所说向量(ZINR(1…5))以产生零状态响应的向量(ZSTR(1…5)),并将其划分成状态向量(SB(1…5));和借助于零状态响应向量(ZSTR(1…5))产生合成滤波器(115)的一个激励信号(ET(1…5))。
6.如权利要求5所述的一种方法,其特征在于,所说第一编码器(100)包括一个增益预测器(134),其中包含用于产生状态值(SBLG)的元件(150)以及用于产生预测器系数(GP2…GP11)的系数元件(151),所说方法还包括以下步骤利用所说的所产生的激励信号(ET(1…5))产生和预置所说增益预测器(134)的状态值(SBLG);借助于它的状态值(SBLG)产生所说增益预测器(134)的预测器系数(GP2…GP11);和在第一编码器(100)的初始化阶段之后为合成滤波器(115)的第一个激励信号(ET(1…5))产生一个预测增益因子(GAIN’)。
7.一种在传输系统中接收通过一条通信信道(120)传输的信号的方法,该系统包括一个第一反向自适应解码器(200),它包括一个合成滤波器(215),所说滤波器包含具有滤波器状态(SB(1…105))的元件(140),还包含具有预测器系数(A2…A51)的系数元件(141);一个第二反向自适应解码器(290),它包含具有状态值(VSB(1…105))的元件;和一个控制电路(103),用于在所说第一和第二解码器(200,290)之间进行切换,以选择两个解码器之一用于信号接收;所说方法包括以下步骤通过第二解码器(290)接收信号,并将其状态值(VSB(1…105))存储在一个缓存器(292)中;借助于控制电路(103)进行转换,以通过所说第一解码器(200)进行接收;利用所说的存储状态值(VSB(1…105))预置第一解码器(200)的至少一部分状态值(SB(1…105));产生第一解码器(200)的至少一部分预测器系数(A2…A51);和根据所产生的预测器系数(A2…A51)从合成滤波器(215)产生一个输出信号(SD)。
8.如权利要求7所述的一种方法,其特征在于,所说第二解码器(290)包含具有预测器系数(B2…B51)的系数元件,它们与第一解码器(200)的系数元件(141)相对应,该方法还包括以下步骤将第二解码器(290)的至少一部分预测器系数(B2…B51)存储在所说的缓存器中;和将所说存储的预测器系数(B2…B51)传输到第一解码器(200)的合成滤波器(215)的系数元件(141)中。
9.如权利要求7所述的一种方法,其特征在于,包括借助于所说的预置状态值(SB(1…105))产生第一解码器(200)的预测器系数(A2…A51)的步骤。
10.如权利要求9所述的一种方法,其特征在于,包括仅仅产生预测器系数(A2…A51)的一部分(A2…A11)。
11.如权利要求7,8,9或10所述的一种方法,其特征在于,还包括以下步骤借助于状态值(SB(1…105))和合成滤波器(115)的预测器系数(A2…A51)产生向量(ZINR(1…5)),所说向量包含在对于合成滤波器(115)的零值输入采样值(“0”)的响应中;通过从合成滤波器(115)的相应状态值(SB(1…105))中减去对于零值输入采样值(“0”)的响应中的所说向量(ZINR(1…5))以产生零状态响应的向量(ZSTR(1…5)),并将其划分成状态向量(SB(1…5));和借助于零状态响应向量(ZSTR(1…5))产生合成滤波器(115)的一个激励信号(ET(1…5))。
12.如权利要求11所述的一种方法,其特征在于,所说第一解码器(200)包括一个增益预测器(134),其中包含具有状态值(SBLG)的元件(150)以及具有预测器系数(GP2…GP11)的系数元件(151),所说方法还包括以下步骤利用所说的所产生的激励信号(ET(1…5))来产生和预置所说增益预测器(134)的状态值(SBLG);借助于它的状态值(SBLG)来产生所说增益预测器(134)的预测器系数(GP2…GP11);和在第一解码器(200)的初始化阶段之后为合成滤波器(215)的第一个激励信号(ET(1…5))产生一个预测增益因子(GAIN’)。
13.一种在传输系统中用于通过一条通信信道(120)传输信号的装置,该装置包括一个第一反向自适应编码器(100),它包括一个合成滤波器(115),所说合成滤波器包含具有滤波器状态(SB(1…105))的元件(140)和具有预测器系数(A2…A51)的系数元件(141);一个第二反向自适应编码器(101),它包含用于产生状态值(VSB(1…105))的元件;一个控制电路(103),它包含开关(98、102),用于将所说第一和第二编码器(100、101)中的一个与所说通信信道(120)相连;一个缓存器(192),用于当通过所说第二编码器传输信号时存储所说第二编码器(101)的状态值(VSB(1…105));装置(193、144),用于当切换成通过所说第一编码器(100)而在通信信道(120)上传输时,将至少一部分所说存储的状态值(VSB(1…105))输入到元件(140)中以得到所说第一编码器(100)的状态值(SB(1…105));一个与所说系数元件(141)的输入端(139)相连、用于产生所说第一编码器(100)的至少一部分预测器系数(A2…A51)的装置(116;49、50、51、146;192、193、139);和一个与所说系数元件(141)相连、用于从合成滤波器(115)产生一个输出信号(SD)的装置(142、143)。
14.如权利要求13所述的一种装置,其特征在于,包括在所说第二编码器(101)中用于产生预测器系数(B2…B51)的系数元件,所说系数元件对应于所说第一编码器(100)的系数元件(141);在所说缓存器(192)中用于存储所说第二编码器(101)的预测器系数(B2…B51)的装置;和用于将所说存储的预测器系数(B2…B51)传输到所说合成滤波器(115)的系数元件(141)的装置。
15.如权利要求13所述的一种装置,其特征在于,其中所说的用于产生预测器系数(A2…A51)的装置包括借助于在所说第一编码器(100)的具有状态值(SB(1…105))的元件(140)中所存储的上述状态值(VSB(1…105))来产生所说预测器系数(A2…A51)的装置(116;48,49,50,51,146)。
16.如权利要求15所述的一种装置,其特征在于,所说用于产生预测器系数(A2…A51)的装置(116、48、49、50、51、146)被设置成只产生预测器系数(A2…A51)的一部分。
17.如权利要求13-16中任何一项所述的一种装置,其特征在于,包括用于借助于状态值(SB(1…105))和合成滤波器(115)的预测器系数(A2…A51)产生向量(ZINR(1…5))的装置(147),所说向量(ZINR(1…5))被包含在所说合成滤波器(115)对于零值输入采样值(“0”)的响应中;用于产生对于零状态响应的向量(ZSTR(1…5))的装置(148),所说装置包括一个减法器(148),所说减法器从合成滤波器(115)的相应状态值中减去对于零值输入采样值(“0”)响应的向量(ZINR(1…5)),所说状态值被划分成状态向量(SB(1…5));和用于借助于对零状态响应的向量(ZSTR(1…5))以产生所说合成滤波器(115)的一个激励信号(ET(1…5))的装置(149)。
18.如权利要求17所述的一种装置,其特征在于,所说第一编码器(100)包括一个增益预测器(134),该增益预测器包含具有状态值(SBLG)的元件(150),还包含具有预测器系数(GP2…GP11)的系数元件(151),所说装置包括用于利用所产生的上述激励信号(ET(1…5))来产生和预置所说的增益预测器(134)的状态值(SBLG)的装置(152、155);与产生状态值的元件(150)相连、并与所说系数元件(151)相连的装置,所说装置借助于所说增益预测器的状态值(SBLG)产生所说增益预测器(134)的系数(GP2…GP11);和用于在第一编码器(100)的初始化阶段之后产生该合成滤波器(115)的第一激励信号(ET(1…5))的一个预测增益因子(GAIN’)的装置(153、156)。
19.一种在传输系统中用于通过一条通信信道(120)接收信号的装置,该装置包括一个第一反向自适应解码器(200),它包括一个合成滤波器(215),所说合成滤波器包含具有滤波器状态(SB(1…105))的元件(140)和具有预测器系数(A2…A51)的系数元件(141);一个第二反向自适应解码器(290),它包含具有状态值(VSB(1…5))的元件;一个控制电路(103),它包含开关(98、102),用于将所说第一和第二解码器(200、290)中的一个与所说通信信道(120)相连;一个缓存器(292),用于当通过所说第二解码器传输信号时存储所说第二解码器(290)的状态值(VSB(1…105));装置(293、145),用于当转换成通过所说第一解码器(200)而在通信信道(120)上传输时将至少一部分所说存储的状态值(VSB(1…105))输入到元件(140)中,以得到所说第一解码器(200)的状态值(SB(1…105));一个与所说系数元件(141)的输入端(139)相连、用于产生所说第一解码器(200)的至少一部分预测器系数(A2…A51)的装置(116;49、50、51、146;192、193、139);和一个与所说系数元件(141)相连、用于从合成滤波器(215)产生一个输出信号(SD)的装置(142、143)。
20.如权利要求19所述的一种装置,其特征在于,包括在所说第二解码器(290)中具有预测器系数(B2…B51)的系数元件,所说系数元件对应于所说第一解码器(200)的系数元件(141);在所说缓存器(292)中用于存储所说第二解码器(290)的预测器系数(B2…B51)的装置;和用于将所说存储的预测器系数传输到所说合成滤波器(215)的系数元件(141)的装置(293,139)。
21.如权利要求19所述的一种装置,其特征在于,其中所说用于产生预测器系数(A2…A51)的装置包括借助于在所说第一解码器(200)的具有状态值(SB(1…105))的元件(140)中所说的已存储的状态值(VSB(1…105))来产生所说预测器系数(A2…A51)的装置(116;48,49,50,51,146)。
22.如权利要求21所述的一种装置,其特征在于,所说用于产生预测器系数(A2…A51)的装置(116;48、49、50、51、146)被设置成只产生一部分预测器系数(A2…A11)。
23.如权利要求19-22中任何一项所述的一种装置,其特征在于,包括用于借助于状态值(SB(1…105))和合成滤波器(215)的预测器系数(A2…A51)以产生向量(ZINR(1…5))的装置(147),所说向量(ZINR(1…5))被包含在所说合成滤波器(215)对于零值输入采样值(“0”)的响应中;用于产生零状态响应向量(ZSTR(1…5))的装置(148),所说装置包括一个减法器(148),所说减法器从合成滤波器(115)的相应状态值中减去对于零值输入采样值响应的向量(ZINR(1…5)),所说状态值被划分成状态向量(SB(1…5));和用于借助于零状态响应的向量(ZSTR(1…5))产生所说合成滤波器(215)的一个激励信号(ET(1…5))的装置(149)。
24.如权利要求23所述的一种装置,其特征在于,所说第一解码器(200)包括一个增益预测器(134),该增益预测器包含具有状态值(SBLG)的元件(150),还包含具有预测器系数(GP2…GP11)的系数元件(151),所说装置包括用于利用所产生的激励信号(ET(1…5))以产生和预置所说增益预测器(134)的状态值(SBLG)的装置(152、155);与具有状态值的元件(150)相连、并与所说系数元件(151)相连的装置,所说装置借助于所说增益预测器的状态值(SBLG)来产生所说增益预测器(134)的系数(GP2…GP11);和用于在第一解码器(200)的初始化阶段之后产生一个第一激励信号(ET(1…5))的一个预测增益因子(GAIN’)的装置(153、156)。
全文摘要
一种语音编码器(100)接收语音信号(S),这些语音信号被编码并通过一条通信信道(120)传输。一个数据编码器(101)利用语音中的无声间隙通过该信道传输音频频带的数据。一个信号分类装置(103)在两种编码器(100、101)之间进行切换。该语音编码器具有其状态变量位于延迟线中的合成滤波器(115),预测器适配器(116),增益预测器(113、114)和激励代码簿(112)。数据编码器(101)具有延迟线,其状态变量是在一个缓存器(192)中存储并更新的。在从数据转换到语音时(103、102、193),缓存器中状态变量通过一个输入端(144)输入合成滤波器延迟线,以进行语音编码的平滑切换。要产生合成滤波器(115)的系数值和一个激励信号(ET(1…5))。通过这样做来预置增益预测器(113、114)中的一个缓存器,并产生它的预测器系数和增益。利用在语音编码器(100)中产生的数值对新近检测到的输入语音信号(S)进行编码(CW),该语音编码器是连续自适应的。接收器侧接有相应的语音和数据解码器。
文档编号G10L19/18GK1179848SQ9619284
公开日1998年4月22日 申请日期1996年2月2日 优先权日1995年2月8日
发明者R·霍夫曼 申请人:艾利森电话股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1