处理丢失帧的语音通信系统及方法

文档序号:2821226阅读:142来源:国知局
专利名称:处理丢失帧的语音通信系统及方法
参考引用在此整体结合以下美国专利申请以资参考并使其构成本申请的一部分1998年9月18日提交的,序列号为09/156,650的美国专利申请“Speech Encoder Using Gain Normalization That Combines Open AndClosed Loop Gain”,Conexant文档号为98RSS399;1999年9月22日提交的,序列号为60/155,321的美国临时申请,“4kbits/s Speech Coding”,Conexant文档号为99RSS485;以及2000年5月19日提交的,序列号为09/574,396的美国专利申请,“ANew Speech Gain Quantization Strategy”,Conexant文档号为99RSS312。
背景技术
本发明一般涉及话音通信系统中语音的编码和解密,更具体地说,涉及处理错误帧或丢失帧的方法和设备。
为了对基本的语音建模,对语音信号按时间采样并按帧存储作为待被数字化处理的离散波形。然而,为了更有效地使用语音的通信带宽,在发送之前,特别是当语音要在有限带宽约束下传输时要对语音进行编码。对于不同的语音编码问题已经提出多种算法。例如,可对语音信号执行合成分析的编码方法。在编码语音时,语音编码算法试图以需要最小带宽的方式表示语音信号的特征。例如,语音编码算法设法除去语音信号中的冗余性。第一步是除去短期相关性。一种信号编码技术是线性预测编码(LPC)。在使用LPC方法时,将任意特定时间的语音信号值模型化为先前值的线性函数。通过使用LPC方法,能够降低短期相关性,并可通过估计并应用某些预测参数表示该信号来确定有效的语音信号表示。作为语音信号中短期相关性包络的LPC频谱,例如可由LSF(线谱频率)表示。在除去语音信号中的短期相关性之后,保留有LPC残余信号。这种残余信号包含需要被模型化的周期性信息。除去语音中的冗余性的第二步是对周期性信息建模。可使用音调预测对周期性信息建模。语音的某些部分具有周期性,而其它部分则没有。例如,声音“aah”有周期性信息,而声音“shhh”则没有周期性信息。
在使用LPC技术时,传统的源编码器作用于语音信号,以便提取待被编码的建模和参数信息,用于通过通信信道与传统的源解码器通信。把建模和参数信息编码为较小信息量的一种方法是使用量化。参数的量化涉及在表或码本中选择最接近的项表示该参数。这样,例如如果码本包含0,0.1,0.2,0.3等,则可由0.1表示参数0.125。量化包括标量量化和矢量量化。在标量量化中,在表或码本中按上述选择最接近参数的项。与此相对照,矢量量化组合两个或多个参数,并在表或码本中选择最接近被组合的参数的项。例如矢量量化可以在码本中选择最接近参数之间的差的项。用于一次矢量量化两个参数的码本常被称为二维码本。一个n-维码本一次量化n个参数。
量化的参数可被打包为若干数据包,从编码器发送至解码器。换言之,一旦被编码,表示输入语音信号的参数就被发送至收发器。这样,例如可将LSF量化,并且将对应于码本中的索引转换为若干位,然后从编码器发送至解码器。根据该实施例,每一个包可表示该语音信号的一个帧的一部分,一个语音帧,或不止一个语音帧。在收发器处,解码器接收被编码的信息。因为解码器被配置为知道语音信号被编码的方式,故解码器可对编码的信息解码,以便重构用于回放人耳感觉如同原来语音的声音信号。然而,至少有一个数据包在传输期间丢失可能是不可避免的,从而解码器并没有收到由编码器发送的所有信息。例如,当语音从一蜂窝式电话向另一蜂窝式电话传输时,在接收不良或有噪声时数据可能丢失。因而,向解码器发送编码的建模和参数信息需要一种方法,该方法使得解码器能够校正或调整丢失的数据包。虽然现有技术描述了某些用于调整丢失的数据包的方法,例如通过外推试图猜测丢失的包中是些什么信息,但这些方法受到限制,以至需要改进的方法。
除了LSF信息之外,向解码器发送的其它参数也可能丢失。例如在CELP(码激励线性预测)语音编码中,有两种类型的增益也要被量化并向解码器发送。第一种类型的增益是音调增益GP,也称为自适应码本增益。自适应码本增益有时(包括这里)以下标“a”而不是下标“p”标记。第二类增益是固定码本增益GC。语音编码算法具有包括自适应码本增益和固定码本增益的量化参数。其他参数可包括例如代表话音语音(voiced speech)周期性的音调滞后。如果语音编码器对语音信号分类,也可以向解码器发送关于语音信号分类的信息。对于将语音分类并以不同模式操作的改进的语音编码器/解码器,参见2000年5月19日提交的美国专利申请09/574,396,“A New Speech Gain Quantization Strategy,”Conexant文档号为99RSS312,该文献先前已被引用在此作为参考。
因为这些和其它参数信息是通过不完善的传输装置向解码器发送,这些参数的某些会丢失或永远不会被解码器收到。对于每一语音帧传输一个信息包的语音通信系统,一个包的丢失就造成一帧信息的丢失。为了重构或估计丢失的信息,现有技术系统根据参数的丢失已尝试了不同的方法。某些方法简单地使用实际上由解码器收到的来自先前帧的参数。这些现有技术方法有其不足之处,不够精确并有问题。这样就需要一种改进的方法来校正或调整丢失的信息,使得再生一个尽可能接近原来的语音信号的语音信号。
为了节省带宽,某些现有技术语音通信系统不从编码器向解码器传输固定码本激励。这些系统具有本地高斯时间序列产生器,所述时间序列产生器使用初始固定种子值(seed)产生随机激励值,然后每当系统遇到包含静音或背景噪声的帧时就更新该种子值。这样,对于每一个噪声帧,种子值都发生改变。因为编码器和解码器具有按相同的顺序使用相同的种子值的相同的高斯时间序列产生器,因而它们对噪声帧产生相同的随机激励值。然而,如果一个噪声帧丢失而没有被解码器收到,则编码器和解码器对相同的噪声帧使用不同的种子值,从而失去它们的同步性。这样,就需要一种语音通信系统,它不向解码器发送固定码本激励值,但是当传输期间帧丢失时,能够维持编码器与解码器之间的同步。

发明内容
在使用改进的方法处理从编码器向解码器传输期间丢失信息的语音通信系统和方法中,可发现本发明各个单独的方面。特别地,该改进的语音通信系统能够对一丢失的数据包中丢失的信息产生更精确的估计。例如,该改进的语音通信系统能够更精确处理丢失的信息,诸如LSF,音调滞后(或自适应码本激励),固定码本激励和/或增益信息。在不向解码器发送固定码本激励值的语音通信系统的一个实施例中,即使先前的噪声帧在传输期间丢失,该改进的编码器/解码器也能够对给定的噪声帧产生相同的随机激励值。
本发明第一个单独的方面是一种语音通信系统,该系统以受控的自适应方式通过把LSF之间的最小间隔设置为一增加的值,然后对后续的帧降低该值来处理丢失的LSF信息。
本发明第二个单独的方面是一种语音通信系统,该系统通过从多个先前收到的帧的音调滞后外推而估计丢失的音调滞后。
本发明第三个单独的方面是一种语音通信系统,该系统接收后续收到的帧的音调滞后,并使用先前收到的帧的音调滞后与后续收到的帧的音调滞后之间的曲线拟合,微调其对丢失帧的音调滞后的估计,以便在由后续帧使用自适应码本缓冲器之前对其进行调整或校正。
本发明第四个单独的方面是一种语音通信系统,该系统对周期状语音丢失增益参数的估计不同于其对非周期状语音丢失增益参数的估计。
本发明第五个单独的方面是一种语音通信系统,该系统对丢失的自适应码本增益参数的估计不同于其对丢失的固定码本增益参数的估计。
本发明第六个单独的方面是一种语音通信系统,该系统基于一自适应数量的先前收到的帧的子帧的平均自适应码本增益参数,确定用于非周期状语音的丢失帧的丢失的自适应码本增益参数。
本发明第七个单独的方面是一种语音通信系统,该系统基于一自适应数量的先前收到的帧的子帧的平均自适应码本增益参数,及自适应码本激励能量对总激励能量的比值,确定用于非周期状语音的丢失帧的丢失的自适应码本增益参数。
本发明第八个单独的方面是一种语音通信系统,该系统基于一自适应数量的先前收到的帧的子帧的平均自适应码本增益参数,自适应码本激励能量对总激励能量的比值,及先前收到的帧的谱倾斜和/或先前收到的帧的能量,确定用于非周期状语音的丢失帧的丢失的自适应码本增益参数。
本发明第九个单独的方面是一种语音通信系统,该系统将用于非周期状语音的一个丢失帧的丢失的自适应码本增益参数设置为任意高的数。
本发明第十个单独的方面是一种语音通信系统,该系统对于非周期状语音的一个丢失帧的所有子帧,将丢失的固定码本增益参数设置为零。
本发明第十一个单独的方面是一种语音通信系统,该系统基于先前收到的帧的能量与该丢失帧的能量的比值,确定用于该非周期状语音丢失帧的当前子帧的丢失的固定码本增益参数。
本发明第十二个单独的方面是一种语音通信系统,该系统基于先前收到的帧的能量与该丢失帧的能量的比值,确定用于该丢失帧的当前子帧的丢失的固定码本增益参数,然后减小该参数以设置用于该丢失帧的其余子帧的丢失的固定码本增益参数。
本发明第十三个单独的方面是一种语音通信系统,该系统对于在接收帧之后要丢失的第一个周期状语音帧,将丢失的自适应码本增益参数设置为一任意高的数。
本发明第十四个单独的方面是一种语音通信系统,该系统对于在接收帧之后要丢失的第一个周期状语音帧,将丢失的自适应码本增益参数设置为一任意高的数,然后减小该参数,以设置用于该丢失帧的其余子帧的丢失的自适应码本增益参数。
本发明第十五个单独的方面是一种语音通信系统,该系统在多个先前收到的帧的平均自适应码本增益参数超过一阈值的情况下,将用于一丢失的周期状语音的固定码本增益参数设置为零。
本发明第十六个单独的方面是一种语音通信系统,该系统在多个先前收到的帧的平均自适应码本增益参数不超过一阈值的情况下,基于先前收到的帧的能量与丢失帧的能量的比值,确定用于该丢失的周期状语音帧的当前子帧的丢失的固定码本增益参数。
本发明第十七个单独的方面是一种语音通信系统,该系统在多个先前收到的帧的平均自适应码本增益参数超过一阈值的情况下,基于先前收到的帧的能量与丢失帧的能量的比值,确定用于该丢失帧的当前子帧的丢失的固定码本增益参数,然后减小该参数以便设置用于该丢失帧的其余子帧的丢失的固定码本增益参数。
本发明第十八个单独的方面是一种语音通信系统,该系统使用一种子值随机产生一固定码本激励用于一给定帧,该种子值的值由该帧中的信息确定。
本发明第十九个单独的方面是一种语音通信解码器,该解码器在估计丢失帧中的丢失参数并合成语音之后,使该合成的语音能量与先前收到的帧的能量匹配。
本发明第二十个单独的方面是或者独立地或者以某种方式组合的以上任何单独方面。
在实现以上或者独立地或者以某种方式组合的任何单独方面的编码和/或解码语音信号的方法中,进一步还能够发现本发明的多个单独的方面。
结合附图,参考以下优选实施例的详细说明,本发明的其它方面,优点和新颖特性将更为明显。


图1是具有源编码器和源解码器的语音通信系统的功能框图。
图2是图1的语音通信系统更详细的功能框图。
图3是由图1的语音通信系统的一实施例使用的源编码器的示例性的第一级即语音预处理器的功能框图。
图4是一功能框图,示例性地示出由图1的语音通信系统的一实施例使用的源编码器的第二级。
图5是一功能框图,示例性地示出由图1的语音通信系统的一实施例使用的源编码器的第三级。
图6是一功能框图,示例性地示出由图1的语音通信系统的一实施例使用的源编码器的第四级,用于处理非周期性语音(模式0)图7是一功能框图,示例性地示出由图1的语音通信系统的一实施例使用的源编码器的第四级,用于处理周期性语音(模式1)。
图8是用于处理来自根据本发明建立的语音编码器的编码信息的语音解码器的一实施例的框图。
图9表示一假设的接收帧和丢失帧的例子。
图10表示现有技术系统中和根据本发明建立的语音通信系统中,接收帧和丢失帧以及指定给每一帧的LSF之间的最小间隔的一假设的例子。
图11示出一假设的例子,表示现有技术语音通信系统如何对每一帧指定并使用音调滞后和增量音调滞后信息。
图12示出一假设的例子,表示根据本发明建立的语音通信系统如何对每一帧指定并使用音调滞后和增量音调滞后信息。
图13示出一假设的例子,表示当有丢失帧时,根据本发明建立的语音通信系统如何对每一帧指定自适应增益参数信息。
图14示出一假设的例子,表示现有技术编码器对于包含静音或背景噪声的每一帧如何使用种子值产生随机激励值。
图15示出一假设的例子,表示现有技术解码器对于包含静音或背景噪声的每一帧如何使用种子值产生随机激励值,及在有丢失帧的情况下是如何与编码器失去同步的。
图16是表示根据本发明的非周期状语音处理的一个例子的流程图。
图17是表示根据本发明的周期状语音处理一个例子的流程图。
具体实施例方式
首先对整个语音通信系统进行一般的说明,然后对本发明的实施例进行详细描述。
图1为语音通信系统的示意框图,表示通信系统中语音编码器和解码器的一般使用。语音通信系统100通过通信信道103传输并再生语音。通信信道103可包括例如导线,光纤,或光学链路,但其一般至少部分包含射频链路,如在蜂窝式电话中可看到的那样,这种链路常常必须支持需要共享带宽资源的多路、同时语音交换。
一个存储装置可连接到通信信道103以暂时存储用于延迟再生或回放的语音信息,例如执行应答机功能,语音电子邮件等。类似地,在例如仅记录并存储语音用于随后回放的通信系统100的单个装置实施例中,通信信道103可由这种存储装置代替。
具体来说,话筒111实时产生语音信号。话筒111把语音信号送到A/D(模拟到数字)转换器115。A/D转换器115把模拟语音信号转换为数字形式,然后把该数字化的语音信号传送到语音编码器117。
语音编码器117使用从多种编码方式中选择的一种方式对该数字化语音编码。该多种编码方式的每一种都使用特定的技术,试图优化得到的再生的语音的质量。在工作在该多种方式中的任何一种方式时,语音编码器117产生一系列建模和参数信息(例如“语音参数”)并把该语音参数传送到一可选的信道编码器119。
该可选的信道编码器119与信道解码器131协同工作通过通信信道103传送语音参数。信道解码器131把该语音参数转发到语音解码器133。语音解码器133的工作方式对应于语音编码器117,其试图尽可能精确地从所述语音参数再生原来的语音。语音解码器133把再生的语音传送到D/A(数字到模拟)转换器135,使得再生的语音可通过扬声器137听到。
图2是表示图1的示例性通信装置的功能框图。通信装置151包括语音编码器和解码器两者,用于同时捕获并再生语音。通常在单一框架内,通信装置151例如可包括蜂窝式电话,便携式电话,计算系统,或某些其它的通信装置。另外,如果装设了存储器元件用于存储编码的语音信息,则通信装置151可包括应答机,录音机,话音邮件系统,或其它通信存储器装置。
话筒155和A/D转换器157把数字话音信号传送到编码系统159。编码系统159进行语音编码,并把得到的语音参数信息传送到通信信道。被传送的语音参数信息可被指定用于在远地的另一通信装置(未示出)。
在接收到语音参数信息时,解码系统165进行语音解码。解码系统把语音参数信息传送到D/A转换器167,在此,该模拟语音输出可在扬声器169播放。最终结果是再生出尽可能与原来捕获的语音相似的声音。
编码系统159包括执行语音编码的语音处理电路185,也包括执行可选信道编码的可选信道处理电路187。类似地,解码系统165包括执行语音解码的语音处理电路189,以及执行信道解码的可选信道处理电路191。
虽然语音处理电路185和可选信道处理电路187是分开表示的,但它们可部分或整体地组合为单个的单元。例如,语音处理电路185和信道处理电路187可共享单个的DSP(数字信号处理器)和/或其它处理电路。类似地,语音处理电路189和可选信道处理电路191可完全分开或部分或整体组合。此外,整体或部分地组合还可用于语音处理电路185和189,信道处理电路187和191,处理电路185,187,189和191,或者根据情况处理。此外,每一个或所有控制解码器和/或编码器操作方面的电路可被称为控制逻辑,并可通过例如微处理器,微控制器,CPU(中央处理器),ALU(算法逻辑单元),协处理器,ASIC(专用集成电路),或任何其它类型电路和/或软件实现。
编码系统159和解码系统165都使用存储器161。在源编码过程期间,语音处理电路185使用语音存储器177的固定码本181和自适应码本183。类似地,在源解码过程期间,语音处理电路189使用固定码本181和自适应码本183。
虽然所示的语音存储器177由语音处理电路185与189共用,但也可以对每一处理电路185与189指定一个或多个分开的语音存储器。存储器161还包含处理电路185,187,189和191使用的软件,以便执行源编码和解码过程中所需的各种功能。
在讨论语音编码中改进的实施例细节之前,在此提供对整个语音编码算法的概述。本说明书中所涉及的改进的语音编码算法例如可以是基于CELP模式的eX-CELP(扩展的CELP)算法。eX-CELP算法的细节在转让给同一受让人Conexant System,Inc.的美国专利申请中已讨论,此前已在此引用以资参考1999年9月22日提交的,序列号为60/155,321的美国临时申请“4 kbits/s Speech Coding,”Conexant文档号为99RSS485。
为了以低位速率(诸如每秒4千位)达到通行的质量(toll quality),改进的语音编码算法与传统的CELP算法的严格波形匹配标准有所偏离,且力图捕获输入信号可感知的重要特征。为此,改进的语音编码算法根据一定的特征,诸如噪声状内容级(degree of content),尖锐状内容级,话音内容级,非话音内容级,幅度频谱演变,能量轮廓的演变,周期性的演变等等,分析输入信号,并使用这一信息来控制在编码和量化过程期间的加权。基本原则是要精确地表示感知上的重要特征,并允许较不重要特征方面有相对较大的误差。其结果是,改进的语音编码算法集中在感知匹配,而不是波形匹配。集中在感知匹配的结果是获得了满意的语音再生,因为假设在每秒4千位的位速率下,波形匹配不够精确,无法真实的捕获输入信号中的所有信息。于是,改进的语音编码器进行某些优先性划分以获得改进的结果。
在一具体的实施例中,该改进的语音编码器使用20毫秒,或每秒具有160个采样的帧尺度,每一帧被划分为两个或三个子帧。子帧的数目取决于子帧处理的模式。在该具体实施例中,对每个语音帧可选择两种模式之一模式0和模式1。重要的是,处理子帧的方式取决于该模式。在该具体实施例中,模式0采用每帧两个子帧,其中每个子帧持续时间为10毫秒,或包含80个采样。类似地,在该示例性实施例中,模式1采用每帧三个子帧,其中第一和第二子帧持续时间为6.625毫秒,或包含53个采样,而第三个子帧持续时间为6.75毫秒,或包含54个采样。在这两种模式下,均可使用15毫秒的超前(look ahead)。对于两种模式0和1,均可使用一第十阶线性预测(LP)模型来表示信号的谱包络。LP模型例如可通过使用延迟决策,切换多级预测矢量量化方案在线性谱频(LSF)域中编码。
模式0使用传统的语音编码算法,诸如CELP算法。然而,模式0并非用于所有的语音帧,而是如以下更为详细的讨论,选择模式0是要处理除了“周期状”语音的所有语音帧。为了方便,“周期状”语音在这里被称为周期语音,所有其它语音为“非周期”语音。这种“非周期”语音包括其典型的参数诸如音调相关性和音调滞后迅速改变的过渡帧,以及其信号主要是噪声状的帧。模式0把每一帧分解为两个子帧。模式0对每一子帧进行一次音调滞后编码,且其具有二维矢量量化器,以便对每一子帧进行一次音调增益(即自适应码本增益)和固定码本增益的联合编码。在该示例性例子中,固定码本包含两个脉冲子码本和一个高斯子码本;这两个脉冲子码本分别有两个和三个脉冲。
模式1与传统的CELP算法不同。模式1处理包含周期语音的帧,它们一般有高度的周期性并常常可由一平滑音调轨迹很好地表示。该具体的实施例中,模式1采用每帧三个子帧。在子帧处理之前,每出现一帧就对音调滞后进行一次编码,作为音调预处理的一部分,并从该滞后导出插入的音调轨迹。这些子帧的三个音调增益显示出很好的稳定性,并在闭环子帧处理之前基于均方误差准则使用预矢量量化被联合量化。可从加权的语音中导出非量化的这三个基准音调增益,它们是基于帧的音调预处理的副产品。使用预量化音调增益,进行传统的CELP子帧处理,所不同在于剩下三个固定码本增益未被量化。在基于延迟决策方法的子帧处理之后,使用能量的移动平均预测联合量化这三个固定码本增益。随后使用完全量化的参数合成这三个子帧。
基于包含在帧中的语音的分类对每一语音帧选择处理模式的方式,以及周期语音处理的新颖方法,允许以显著较少的位进行增益量化,而在语音感知质量上没有任何明显的损失。以下提供处理语音的这种方式的细节。
图3-7是表示由图1和2中所示语音编码器的一实施例使用的多级编码方法的功能框图。具体来说,图3是表示包括多级编码方法的第一级的语音预处理器193的功能框图;图4是表示第二级的功能框图;图5和6是表示第三级的模式0的功能框图;以及图7是表示第三级的模式1的功能框图。包括编码器处理电路的语音编码器,一般在软件指令下工作以便执行以下功能。
读取输入的语音并以帧的形式缓存。转到图3的语音预处理器193,把输入语音192的帧提供给静音增强器195,其确定该语音帧是否纯粹是静音,即只有“静音噪声”。语音增强器195基于帧自适应地检测当前帧是否是纯粹的“静音噪声”。如果信号192是“静音噪声”,则语音增强器195使该信号192倾斜为其零电平。否则,如果信号192不是“静音噪声”,则语音增强器195不改变信号192。语音增强器195对非常低电平的噪声清除掉干净语音的静音部分,由此提高该干净语音的感知质量。在输入的语音信号来源于A-定律源时,语音增强功能的效果变得尤为明显;就是说,就在通过当前语音编码算法处理之前,该输入已经通过A-定律编码和解码。由于A-定律将0附近的采样值(例如-1,0,+1)放大为-8或+8,A-定律中的放大能够变换不可听到的静音噪声为清晰可听到的噪声。在由语音增强器195的处理之后,语音信号被提供给高通滤波器197。
高通滤波器197去除低于一定截止频率的频率,并允许高于该截止频率的频率通过到达噪声衰减器199。在该具体实施例中,高通滤波器197与ITU-T的G.729语音编码标准的输入高通滤波器相同。就是说,它是带有140赫兹(Hz)截止频率的第二阶极-零滤波器。当然,高通滤波器197不必是这种滤波器,而是可构造为本领域技术人员所知的任何类型的合适的滤波器。
噪声衰减器199执行噪声抑制算法。在该具体实施例中,噪声衰减器199对环境噪声进行最大5分贝(dB)的微弱噪声衰减,以便通过语音编码算法改进参数的估计。可使用本领域技术人员所知的多种技术中的任何一种来增强静音、构建高通滤波器197并衰减噪声。语音预处理器193的输出是被预处理的语音200。
当然,静音增强器195、高通滤波器197和噪声衰减器199可按可使用本领域技术人员所知的适用于该特定应用的方式以任何其它装置代替或修改。
转到图4,提供了公用的基于帧的语音信号处理功能框图。换言之,图4示出基于逐帧的语音信号的处理。在进行模式相关处理250之前,这种帧处理的进行与模式(即模式0或1)无关。预处理的语音200由感知加权滤波器252接收,该滤波器操作用以加强预处理的语音信号200的低谷区域并减弱其尖峰区域。感知加权滤波器252可按本领域技术人员所知的并适用于特定应用的方式以任何其它装置代替或修改。
LPC分析器260接收该预处理的应用信号200并估计语音信号200的短期谱包络。LPC分析器260从定义语音信号200的特征中提取LPC系数。在一个实施例中,对每一帧进行三个第十阶LPC分析。它们的中心在该帧的中间三分之一,最后三分之一,及帧的超前。重复对该超前的LPC分析,用于下一个帧,作为中心为该帧的第一个三分之一的LPC分析。这样,对于每一帧,产生四组LPC参数。LPC分析器260还可将LPC系数量化至,例如线谱频率(LSF)域。LPC系数的量化可以是标量量化或矢量量化,并可在任何适当的域中以业内任何已知的方式进行。
分类器270通过例如查看帧的绝对最大值,反射系数,预测误差,来自LPC分析器260的LSF矢量,第十阶自相关,最近的音调滞后和最近的音调增益,来获得关于预处理语音200的特征信息。这些参数是本领域技术人员所熟知的,因此在此不再解释。分类器270使用这些信息控制编码器的其它方面,诸如信噪比的估计,音调的估计,分类,谱平滑,能量平滑和增益归一化。同样,这些方面是本领域技术人员所熟知的,因此这里不再解释。以下提供分类算法的简要总结。
分类器270借助于音调预处理器254,根据帧的主要特征把每一帧分类为六类之一。这些类型是(1)静音/背景噪声;(2)噪声/似非话音语音;(3)非话音;(4)过渡音(包括启动);(5)非稳定话音;及(6)稳定话音。分类器270可使用任何一种方法把输入信号分类为周期信号和非周期信号。例如,分类器270可把预处理语音信号,该帧的后一半的音调滞后和相关性,及其它信息作为输入参数。
可使用各种标准以确定是否可将语音认为是周期性的。例如,如果语音是稳定的话音信号,则可认为语音是周期性的。某些人可能认为周期性语音包含稳定话音语音和非稳定话音语音,但为了本说明书的说明,周期性语音包括稳定话音语音。此外,周期性语音可以是平滑和稳定的语音。当话音信号在一帧内的变化不大于一定量时,该语音信号被认为是“稳定”的。这种语音信号更可能具有良好定义的能量轮廓。如果一语音的自适应码本增益GP大于一阈值,则该语音信号是“稳定”的。例如,如果阈值为0.7,则当其自适应码本增益GP大于0.7时,子帧内的语音信号被认为是稳定。非周期性语音,或没有话音的语音,包括非话音语音(例如,摩擦音诸如“shhh”声音),过渡音(例如启动音(onsets),补偿音(offsets)),背景噪声和静音。
更具体地说,在该示例性实施例中,语音编码器初始地导出以下参数谱倾斜(每帧对第一反射系数进行四次估计)κ(k)=Σn=1L-1sk(n)·sk(n-1)Σn=0L-1sk(n)2;k=0,1,...,3,---(1)]]>其中L=80是在其上计算反射系数的窗口,而sk(n)是由以下等式给出的第k段Sk(n)=s(k·40-20+n)·wh(n),n=0,1,...79, (2)其中wh(n)为80个采样汉明窗,而s(0),s(1),...,s(159)是该预处理语音信号的当前帧。
绝对最大值(跟踪绝对信号最大值,每帧进行8次估算)χ(k)=max{s(n)|,n=ns(k),ns(k)+1,...,ne(k)-1},k=0,1,...,7 (3)其中ns(k)和ne(k)分别是用于在该帧的第k·160/8次采样时刻搜索第k个最大值的开始点和结束点。一般来说,段的长度是音调周期的1.5倍且这些段部分重叠。这样,就可获得该振幅包络的平滑轮廓。
谱倾斜,绝对最大值和音调相关参数构成了分类的基础。然而,对这些参数的其它处理和分析是在分类决定之前进行的。所述参数处理最初是向这三个参数加权。在某种意义上,加权是通过减去来自背景噪声的影响来去除这些参数中的背景噪声成分。这提供了一种“独立”于任何背景噪声并由此更为一致的参数空间,并改进了分类对背景噪声的稳定性。
根据以下方程式即方程式4-7,对于每一帧,将噪声的音调周期能量的连续均值、噪声的谱倾斜、噪声的绝对最大值、以及噪声的音调相关性更新八次。由方程式4-7定义的以下参数每帧被估计/采样八次,提供具有精细的参数空间时间分辨率噪声的音调周期能量的连续均值<EN,P(k)>=α1·<EN,P(k-1)>+(1-α1)·EP(k),(4)其中EN,P(k)是在该帧的k·160/8次采样时刻音调周期的归一化能量。由于音调周期一般超过20个采样(160采样/8),在其上计算能量的各段可能重叠。
噪声的谱倾斜的连续均值<κN(k)>=α1·<κN(k-1)>+(1-α1)·κ(k模2) (5)噪声的绝对最大值的连续均值<χN(k)>=α1·<XN(k-1)>+(1-α1)·χ(k) (6)噪声的音调相关的连续均值<RN,P(k)>=α1·<RN,P(k-1)>+(1-α1)·RP(7)其中RP是该帧的后一半的输入音调相关值。自适应常数α1是自适应的,虽然典型值是α1=0.99。
背景噪声对信号的比值根据以下公式计算γ(k)=<EN,P(k)>Ep(k).---(8)]]>参数噪声衰减限制为30dB,即,γ(k)={γ(k)>0.968?0.968γ(k)}(9)
根据以下方程式10-12,通过去除噪声成分获得无噪声参数(加权参数)集加权谱倾斜的估计κw(k)=κw(k模2)-γ(k)·<κN(k)> (10)加权的绝对最大值估计χw(k)=χw(k)-y(k)·<χN(k)> (11)加权音调相关估计Rw,P(k)=RP-γ(k)·<RN,P(k)> (12)分别根据以下方程式13和14计算作为一阶近似斜率的加权倾斜和加权最大值的演变,作为一阶近似斜率∂κw(k)=Σl=17l·(χw(k-7+l)-χw(k-7))Σl=17l2---(13)]]>∂κw(k)=Σl=17l·(κw(k-7+l)-κw(k-7))Σl=17l2---(14)]]>一旦对帧的八个采样点更新了方程式4到14的参数,从方程式4-14的参数计算以下基于帧的参数最大加权音调相关
Rw,pmax=max{Rw,p(k-7+l),l=0,1,...,7}---(15)]]>平均加权音调相关Rw,pavg=18Σl=07Rw,p(k-7+l).---(16)]]>平均加权音调相关连续均值<Rw,pavg(m)>=α2·<Rw,pavg(m-1)>+(1-α2)·Rw,pavg,---(17)]]>其中m是帧数,α2=0.75是自适应常数。
音调滞后的归一化标准偏差σLP(m)=1μLP(m)Σl=02(Lp(m-2+l)-μLP(m))23---(18)]]>其中Lp(m)是输入音调滞后,μLP(m)是以下公式给出的过去三个帧上音调滞后的均值μLP(m)=13Σl=02(Lp(m-2+1)..---(19)]]>最小加权谱倾斜Knmin=min{κw(k-7+l),l=0,1,...,7}---(20)]]>最小加权谱倾斜的连续均值<κwmin(m)>=α2·<κwmin(m-1)>+(1-α2)·κwmin.---(21)]]>
平均加权谱倾斜κwavg=18Σl=07κw(k-7+l).---(22)]]>加权谱倾斜的最小斜率∂κwmin=min{∂κw(k-7+l),l=0,1,...,7.---(23)]]>加权谱倾斜的累计斜率∂κwacc=Σl=07∂κw(k-7+l).---(24)]]>加权最大值的最大斜率∂χwmax=max{∂χw(k-7+l),l=0,1,...,7---(25)]]>加权最大值的累计斜率∂χwacc=Σl=07∂χw(k-7+l).---(26)]]>由方程式23、25和26给出的参数用来标记一帧是否有可能包含启动音(onset),由方程式16-18、20-22给出的参数用来标记一帧是否有可能是以话音语音为主。基于这些初始标记、过去的标记和其它信息,该帧被分类为六个类型之一。
有关分类器270对预处理语音200进行分类的方式在转让给同一受让人,即Conexant Systems,Inc.的美国专利申请中有更详细的描述,其先前已有引用这里作为参考1999年9月22日提交的,序列号为60/155,321的美国临时申请“4 kbits/s Speech Coding”,Conexant的文档号为99RSS485。
LSF量化器267从LPC分析器260接收LPC系数,并量化LPC系数。可以是包括标量量化或矢量量化的任何已知量化方法的LSF量化的目的,是要以较少的位来表示这些系数。在这一具体实施例中,LSF量化器267对第十阶LPC模型进行量化。LSF量化器267还可以平滑LSF,以便减少LPC合成滤波器的谱包络中不希望有的波动。LSF量化器267把量化的系数Aq(z)268发送到语音编码器的子帧处理部分250。语音编码器的子帧处理部分是模式相关的。虽然最好是LSF,但量化器267能够把LPC系数量化到LSF域以外的域中。
如果选择了音调预处理,则加权的语音信号256被发送到音调预处理器254。音调预处理器254与开环的音调估计器272协作以便修改该加权的语音256,使得其音调信息能够被更精确地量化。音调预处理器254使用,例如,已知的对音调周期的压缩或扩张技术,以便改进语音编码器量化音调增益的能力。换言之,音调预处理器254修改加权的语音信号256,以便更好地匹配该估计的音调轨迹,这样当产生感知上不可区分的再生语音时,可更精确地适配编码模型。如果编码器处理电路选择音调预处理模式,则音调预处理器254进行加权语音信号256的音调预处理。音调预处理器254使该加权的语音信号256扭曲,以便匹配将由解码器处理电路产生的内插的音调值。当应用音调预处理时,该扭曲的语音信号被称为修正的加权语音信号258。如果不选择音调预处理模式,则该加权的语音信号256通过音调预处理器254而不作音调预处理(并为了方便,仍然称为“改进的加权的语音信号”258)。音调预处理器254可包括一波形内插器,其功能和实现是本领域技术人员所熟知的。波形内插器使用已知的前向-后向波形内插技术可改进某些不规则的过渡段,以便提高语音信号的规则性并抑制不规则性。通过音调预处理器254估计该加权的信号256的音调增益和音调相关。开环音调估计器272从该加权的语音256提取关于音调特征的信息。音调信息包含音调滞后和音调增益信息。
音调预处理器254还通过开环音调估计器272与分类器270相互作用,以便通过语音信号分类器270使分类精细化。因为音调预处理器254获得关于该语音信号的附加信息,故分类器270可使用该附加信息精细调整其语音信号的分类。在进行音调预处理之后,音调预处理器254向该语音编码器的模式相关子帧处理部分250输出音调轨迹信息284及非量化音调增益286。
一旦分类器270把该预处理的语音200分类为多个可能的类型之一,该预处理的语音信号200的分类号码就被作为控制信息280发送到模式选择器274及模式相关子帧处理器250。模式选择器274使用分类号码选择操作模式。在该特定实施例中,分类器270把该预处理的语音信号200分类为六个可能的类型之一。如果预处理的语音信号200是稳定的话音语音(例如称为“周期性”语音),则模式选择器274将模式282设置为模式1。否则,模式选择器274将模式282设置为模式0。模式信号282被发送到语音编码器的模式相关子帧处理器部分250。模式信息282被添加到向解码器发送的位流。
在该特定实施例中,应当小心解释将语音标记为“周期性”和“非周期性”。例如,使用模式1编码的帧是那些基于每帧仅由七位导出的音调轨迹284在该整个帧保持高音调相关和高音调增益的帧。因而,选择模式0而不是模式1可能是由于仅由七位表示的音调轨迹284不精确,而不一定是由于缺乏周期性。因而,使用模式0被编码的信号可能很好包含了周期性,虽然每帧仅使用七位未能很好地表示音调轨迹。因而,模式0以每帧七位对音调轨迹进行两次编码,即每帧总共14位,以便更正确地表示音调轨迹。
本说明书中图3-4和其它图示上的每一功能框图不必是分离的结构,可以是彼此组合,或按需要具有更多的功能块。
语音解码器的模式相关子帧处理部分250以模式0和模式1两种模式操作。图5-6提供了模式0子帧处理的功能框图,而图7表示语音编码器第三级的模式1子帧处理的功能框图。图8示出与所述改进的语音编码器一致的一语音解码器的功能框图。该语音解码器执行位流到算法参数的逆映射,随后是模式相关合成。这些图示及模式更为详细的描述在转让给相同受让人,即Conexant Systems,Inc.的美国专利申请中有述,其先前已引用在此作为参考2000年5月19日提交的,序列号为09/574,396的美国专利申请“A New Speech Gain Quantization Strategy,”Conexant文档号为99RSS312。
代表语音信号的量化的参数可被打包,然后以数据包的形式从编码器发送至解码器。在以下所描述的示例性实施例中,逐帧分析该语音信号,其中每一帧具有至少一个子帧,且每一数据包包含一个帧的信息。这样,在该例中,每一帧的参数信息是以信息包被发送的。换言之,对每一帧有一个数据包。当然,其它的变形也是可能的,这与实施例有关,每一数据包可表示一帧的一部分,一个以上的语音帧,或多个帧。
LSFLSF(线谱频率)是LPC谱(即语音谱的短期包络)的表示。LSF可被看作若干特定的频率,在这些频率处,对该语音谱进行采样。例如,如果系统使用十阶LPC,则每帧将有10个LSF。在连续的LSF之间必须有一最小间隔,使得它们不会产生准不稳定滤波器。例如如果fi是第i个LSF,且等于100Hz,则第(i+1)个LSF fi+1必须至少是fi加最小间隔。例如,如果fi=100Hz且最小间隔为60Hz,则fi+1必须至少为160Hz,并可以是任何大于160Hz的频率。最小间隔是不随帧变化的一个固定数,并且编码器和解码器都知道,以便它们能够协同操作。
假设编码器使用预测编码对实现低位速率的语音通信所必需的LSF编码(与非预测编码相反)。换言之,编码器使用先前的一个帧或多个帧的量化的LSF来预测当前帧的LSF。编码器从LPC谱导出出的当前帧的预测LSF与真实的LSF之间的误差被量化并发送到解码器。解码器按与编码器相同的方式确定当前帧的预测LSF。然后通过获知由编码器发送的误差,解码器能够计算出当前帧的真实LSF。然而,如果包含LSF信息的帧丢失会如何?转向图9,假设编码器发送帧0-3,而解码器只收到帧0,2和3。帧1是丢失或“被抹掉”的帧。如果当前帧是丢失的帧1,则解码器没有计算真实的LSF所必须的误差信息。结果是现有技术系统不能计算真实的LSF,而是把该LSF设置为前一帧的LSF,或一定数量先前帧的平均LSF。这一方法的问题在于当前帧的LSF可能是非常不精确的(与真实的LSF比较),且后续帧(即图9的例子中帧2,3)使用帧1不精确的LSF确定它们自己的LSF。于是,由丢失帧所引起的LSF外推误差影响到后续帧的LSF的精确性。
在本发明的示例实施例中,一种改进的语音解码器包括一计数器,它对该丢失帧之后的好帧进行计数。图10示出与每一帧相关联的最小LSF间隔的一例。假设解码器收到好帧0,但帧1丢失。在现有技术方法之下,LSF之间的最小间隔是不变的固定数(图10中是60Hz)。相反,当改进的语音解码器注意到有丢失帧时,它增加该帧的最小间隔以避免生成准不稳定滤波器。这一“受控的自适应LSF间隔”的增加量取决于对该特定情形多大的间隔增量为最佳。例如,该改进的语音解码器可能考虑信号的能量(或信号功率)如何随时间演变,信号的频率内容(频谱)如何随时间演变,以及计数器确定丢失帧的最小间隔应当被设置为怎样的值。本领域的技术人员能够通过简单的实验确定出怎样的最小间隔值可满足使用。分析语音信号和/或其参数以导出适当的LSF的优点在于,得到的LSF可更接近该帧真实的(但丢失的)LSF。
自适应码本激励(音调滞后)由自适应码本激励和固定码本激励组成的总激励eT由以下方程式描述eT=gp*exp+gc*exc(27)其中gp和gc分别是该量化的自适应码本增益和固定码本增益,exp和exc是自适应码本激励和固定码本激励。缓存器(也称为自适应码本缓冲器)保存来自前一帧的eT及其分量。基于当前帧的音调滞后参数,语音通信系统从缓存器选择一eT,并使用它作为当前帧的exp。gp,gc和exc是从当前帧获得的。然后exp,gp,gc和exc被带入到公式中以计算用于当前帧的eT。将该计算的eT及其分量存储在缓存器中用于当前帧。该过程重复,由此该缓存的eT用作为下一个帧的exp。这样,该编码方法(它由解码器复制)的反馈特性是明显的。由于方程式中的信息被量化,编码器和解码器被同步。注意,缓存器是一种自适应码本类型的(但不同于用于增益激励的自适应码本)。
图11示出由现有技术语音系统发送的用于四个帧1-4的音调滞后信息的例子。现有技术的编码器将发送用于当前帧的音调滞后和增量值,其中该增量值是当前帧的音调滞后与前一帧的音调滞后之间的差,EVRC(增强的可变速率编码器)标准规定了对增量音调滞后的使用。这样,例如,关于帧1的信息包将包含音调滞后L1和增量(L1-L0),其中L0是前一帧0的音调滞后;关于帧2的信息包将包含音调滞后L2和增量(L2-L1);关于帧3的信息包将包含音调滞后L3和增量(L3-L2),等等。注意,相邻帧的音调滞后可能相等,于是增量值可能为零。如果帧2丢失且不再会由解码器收到,则在帧2时刻可得到的关于音调滞后的唯一信息是音调滞后L1,因为前一帧1并未丢失。音调滞后L2和增量(L2-L1)信息的丢失造成两个问题。第一个问题是如何对丢失的帧2估计精确的音调滞后L2。第二个问题是如何防止在估计音调滞后L2中出现的误差在后续帧中产生误差。某些现有技术系统并没有试图解决这两个问题任何一个。
为试图解决第一个问题,某些现有技术系统使用来自前一良好帧1的音调滞后L1作为用于丢失帧2的估计的音调滞后L2’,即便如此,该估计的音调滞后L2’与真实的音调滞后L2之间的任何差都可能是误差。
第二个问题是如何防止在估计音调滞后L2’中出现的误差在后续帧中产生误差。回想先前的讨论,帧n的音调滞后是用来更新自适应码本缓存器的,该自适应码本缓存器接着由后续帧使用。估计的音调滞后L2’与真实的音调滞后L2之间的误差将在自适应码本缓存器中产生一个误差,该误差将在后续接收的帧中产生误差。换言之,在估计的音调滞后L2’中产生的误差可能造成编码器的自适应码本缓存器与解码器的自适应码本缓存器之间失去同步。作为进一步的例子,在当前丢失帧2的处理期间,现有技术解码器将使估计的音调滞后L2’为音调滞后L1(其可能不同于真实的音调滞后L2)以得到帧2的exp。因而,使用有误差的音调滞后造成为帧2选择了错误的exp,且这一误差通过后续帧传播。为了解决现有技术中的这一问题,当解码器收到帧3时,解码器现在有音调滞后L3和增量(L3-L2),且这样能够逆向计算真实的音调滞后L2应当为何。真实的音调滞后L2简单地就是音调滞后L3减去增量(L3-L2)。这样,现有技术解码器就能够校正由帧3使用的自适应码本缓存器。但由于已由该估计的音调滞后L2’对丢失的帧2进行了处理,故修正丢失的帧2为时已晚。
图12示出若干帧的假设的情形,表示解决因丢失音调滞后信息而造成的两个问题而改进的语音通信系统的示例实施例的操作。假设帧2丢失,而收到帧0,1,3和4。在解码器处理丢失帧2的期间,该改进的解码器可使用来自先前帧1的音调滞后L1。另外且最好是,该改进的解码器可基于先前一个(多个)帧的一个(多个)音调滞后进行外推以确定一估计的音调滞后L2’,其结果可能是比音调滞后L1更为精确的估计。于是,例如,解码器可使用音调滞后L0和L1来外推该估计的音调滞后L2’。外推方法可以是任何外推法,例如曲线拟合方法,该方法假设自过去具有一平滑的音调轮廓来估计该丢失音调滞后L2,一种方法是使用过去音调滞后的平均,或任何其它外推方法。因为不需要发送增量值,该方法降低了从编码器向解码器发送的位数。
为了解决第二个问题,当改进的解码器收到帧3时,解码器有正确的音调滞后L3。然而,如上所述,帧3使用的自适应码本缓存器由于在估计音调滞后L2’中的任何外推误差而可能不正确。该改进的解码器试图校正在帧2中估计音调滞后L2’中的误差,以免影响帧2之后的帧,但无需发送增量音调滞后信息。一旦改进的解码器获得音调滞后L3,就使用诸如曲线拟合等内插方法调整或精细调整其先前音调滞后L2’的估计。通过获知音调滞后L1和L3,曲线拟合方法可以比当不知道音调滞后L3时更精确估计L2’。其结果是得到精细调整的音调滞后L2”,它用来调整或校正供帧3使用的自适应码本缓存器。更具体地说,精细调整的音调滞后L2”用来调整或校正自适应码本缓存器中的量化的自适应码本激励。于是,该改进的解码器减少了必须发送的位数,同时以满足大多数情形的方式精细调整音调滞后L2’。这样,为了降低音调滞后L2中任何误差对后续收到的帧的影响,通过假设平滑的音调轮廓,该改进的解码器可使用下一个帧3的音调滞后L3和先前收到的帧1的音调滞后L1精细调整音调滞后L2的先前的估计。这一基于该丢失帧之前和之后收到的帧的音调滞的估计方法的精确性可以是非常好的,因为对于话音语音,音调轮廓一般是平滑的。
增益在帧从编码器向解码器的传输期间,帧的丢失还会造成增益参数失,增益参数,诸如,自适应码本增益gp和固定码本增益gc的丢。每一帧包含多个子帧,其中每一子帧均具有增益信息。这样,帧的丢失造成该帧的每一子帧的增益信息的丢失。语音通信系统必须估计该丢失帧的每一子帧的增益信息。一个子帧的增益信息可能不同于另一子帧的增益信息。
现有技术系统采取不同方法估计该丢失帧的子帧的增益,诸如使用来自先前良好帧的最后一个子帧的增益作为该丢失帧的每一子帧的增益。另一变形是使用来自先前良好帧的最后一个子帧的增益作为该丢失帧的第一子帧的增益,并在该增益被用作该丢失帧的后续子帧的增益之前逐渐对其进行衰减。换言之,例如,如果每一帧有四个子帧,收到帧1但帧2丢失,则收到的帧1的最后一个子帧的增益参数被用作为丢失帧2的第一子帧的增益参数,然后使该增益参数减小一定量并用作该丢失帧2的第二子帧的增益参数,再次减小该增益参数并用作丢失帧2的第三子帧的增益参数,该增益参数进而被减小并用作丢失帧2的最后一个子帧的增益参数。另一方法是检查一固定数量的先前收到的帧的子帧的增益参数,以计算平均增益参数,然后将其用作丢失帧2的第一子帧的增益参数,其中可逐渐减小该增益参数并将其用作该丢失帧的其余子帧的增益参数。再一方法是通过检查一固定数量的先前收到的帧的子帧导出增益参数的中间值,并使用该中间值作为该丢失帧2的第一子帧的增益参数,其中可逐渐减小该增益参数并将其用作该丢失帧的其余子帧的增益参数。显然,现有技术方法没有对自适应码本增益和固定码本增益执行不同的恢复方法;它们对两种类型的增益使用相同的恢复方法。
该改进的语音通信系统还可处理因丢失帧而丢失的增益参数。如果语音通信系统在周期状语音和非周期状语音之间作出区分,则系统可针对每一类型的语音以不同的方式处理丢失的增益参数。此外,该改进的系统对丢失的自适应码本增益的处理不同于对丢失的固定码本增益的处理。首先考察非周期状语音的情形。为了确定估计的自适应码本增益gp,该改进的解码器计算先前收到的自适应数量的帧的子帧的平均的gp。由解码器估计的当前帧(即丢失帧)的音调滞后,用来确定要考察的先前收到的帧的个数。一般来说,音调滞后越大,用来计算平均的gp的先前收到的帧的数目就越大。因而,该改进的解码器对非周期状语音使用音调同步化平均方法来估计自适应码本增益gp。然后该改进的解码器基于以下公式计算指示gp预测良好程度的ββ=自适应码本激励能量/总激励能量eT=gp*exp2/(gp*exp2+gc*exc2) (28)β从0到1变化,表示自适应码本激励能量与激励能量的百分比结果。β越大,自适应码本激励能量的效果就越大。虽然不是必须的,但该改进的解码器最好以不同方式处理非周期状语音和周期状语音。
图16示出解码器处理非周期状语音的示例性流程图。步骤1000确定当前帧是否是接收帧(即“好”帧)之后丢失的第一帧。如果当前帧是好帧之后第一个丢失的帧,步骤1002确定由解码器处理的当前子帧是否是帧的第一子帧。如果当前子帧是第一子帧,步骤1004计算一定数目的先前子帧的平均的gp,其中所述一定数量子帧的数目取决于当前子帧的音调滞后。在一示例实施例中,如果该音调滞后小于或等于40,则平均gp基于两个先前子帧;如果音调滞后大于40但小于或等于80,则gp基于四个先前子帧;如果音调滞后大于80但小于或等于120,则gp基于六个先前子帧;并如果音调滞后大于120,则gp基于八个先前子帧。当然,这些值是任意的并可设置为与子帧长度相关的任意其它值。步骤1006确定最大β是否超过一定的阈值。如果最大β超过一定的阈值,步骤1008将用于该丢失帧的所有子帧的固定码本增益gc设置为零,且将用于该丢失帧的所有子帧的gp设置为一任意高的数,诸如0.95,而不是以上确定的平均gp。该任意高的数表明一良好的话音信号。该丢失帧的当前子帧的gp所设置的任意高的数可基于多个因素,包括但不限于一确定数目的先前帧的最大β,先前收到的帧的谱倾斜,及先前收到的帧的能量。
否则,如果最大β不超过一确定的阈值(即先前收到的帧包含语音的启动音),则步骤1010将用于该丢失帧的当前子帧的gp设置为(i)以上确定的平均的gp及(ii)任意选择的高的数(例如0.95)两者中的最小值。另一可替代方式是,基于先前收到的帧的谱倾斜,先前收到的帧的能量,和以上确定的平均的gp及任意选择的高的数(例如0.95)中的最小值,设置该丢失帧的当前子帧的gp。在最大值β不超过一定阈值的情形下,该固定码本增益gc是基于先前子帧中增益标度固定码本激励的能量和当前子帧中固定码本激励的能量的。具体地说,由先前子帧中增益标度固定码本激励的能量除当前子帧中固定码本激励的能量,对结果求平方根并乘以衰减分数,然后设置为gc,如以下公式所示gc=衰减因子*平方根(gp*eXC i-12/eXC i2) (29)另外,解码器可基于先前收到的帧的能量与当前丢失帧的能量的比值,导出用于该丢失帧的当前子帧的gc。
返回步骤1002,如果当前帧不是第一个子帧,步骤1020设置该丢失帧的当前子帧的gp为由前一子帧的gp衰减或降低的值。其余子帧的每个gp被设置为由前一子帧的gp进一步衰减的值。用与步骤1010及公式29中相同的方式计算当前子帧的gc。
返回步骤1000,如果这不是好帧之后第一个丢失帧,步骤1022按与步骤1010及公式29中相同的方式计算当前子帧的gc。步骤1022还将该丢失帧的当前子帧的gp设置为由前一子帧的gp衰减或降低的值。因为解码器以不同方式估计gp和gc,故解码器能够比现有技术系统更为精确地估计它们。
现在根据图17中所示的示例流程图考察周期状语音的情形。由于解码器可使用不同的方法来估计周期状语音和非周期状语音的gp和gc,因此,对该增益参数的估计可以比现有技术方法更为精确。步骤1030确定当前帧是否是收到帧(即“良好”帧)之后丢失的第一帧。如果当前帧是良好帧之后的第一个丢失帧,则步骤1032将当前帧的所有子帧的gc设置为零,并将当前帧的所有子帧的gP设置为一任意高的数,例如0.95。如果当前帧不是良好帧之后第一个丢失帧(例如是第二丢失帧,第三丢失帧等),步骤1034将当前帧的所有子帧的gc设置为零,并将gP设置为由前一子帧的gP衰减的值。
图13示出若干帧以表示该改进的语音解码器的运行的情形。假设帧1,3和4是好(即收到的)帧,而帧2,5-8是丢失帧。如果当前丢失帧是好帧之后第一个丢失的帧,解码器将该丢失帧的所有子帧的gp设置为任意高的数(例如0.95)。返回图13,这将适用于丢失帧2和5。第一丢失帧5的gp被逐渐衰减以设置其它丢失帧6-8的gp。因而,例如如果丢失帧5的gp被设置为0.95,则丢失帧6的gp被设置为0.9,且丢失帧7的gp被设置为0.85,丢失帧8的gp被设置为0.8。对于gc,解码器自先前收到的帧计算平均的gp,且如果这一平均的gp超过一定的阈值,则将该丢失帧的所有子帧的gC设置为零。如果平均的gP没有超过一定的阈值,解码器使用上述设置非周期状信号的gC相同的方法设置这里的gC。
在解码器估计一丢失帧中的丢失帧参数(例如LSF,音调滞后,增益,分类等)并分析得到的语音之后,解码器通过外推技术能够使该丢失帧的合成语音的能量与收到的前一帧的能量匹配。尽管有丢失帧,这可进一步改进原始语音再生的精确性。
用于产生固定码本激励的种子值为了节省带宽,在背景噪声或静音期间,语音编码器不必向解码器传输固定码本激励。而是,编码器和解码器两者都能够使用高斯时间序列产生器随机地在本地产生激励值。编码器和解码器两者都配置为以相同的顺序产生相同的随机激励值。其结果是,因为对一给定的噪声帧,解码器能够在本地与编码器产生相同的激励值,故无需从编码器向解码器传输激励值。为了产生随机激励值,高斯时间序列产生器使用初始种子值产生第一随机激励值,然后该产生器将该种子值更新为新值。然后,该产生器使用该更新的种子值产生下一个随机激励值,并将该种子值更新为另一值。图14示出假设的若干帧的情形,说明在语音编码器中的高斯时间序列产生器如何使用种子值产生随机激励值,并如何更新种子值以产生下一个随机激励值。假设帧0和4包含语音信号,而帧2,3和5包含静音或背景噪声。在找到第一噪声帧(即帧2)时,解码器使用初始种子值(称为“种子值1”)产生随机激励值,用作该帧的固定码本激励。对该帧的每一采样,种子值都被改变以产生新的固定码本激励。这样,如果帧被采样160次,则种子值将改变160次。这样,在遇到下一个噪声帧(噪声帧3)时,编码器使用第二个且不同的种子值(即种子值2)产生用于该帧的随机激励值。虽然从技术上,对第一帧的每一采样该种子值均发生改变,因此用于第二帧的第一采样的种子值不是“第二”种子值,但为了方便,这里将用于第二帧的第一采样的种子值称为种子值2。对于噪声帧4,编码器使用第三种子值(不同于第一和第二种子值)。为了对噪声帧6产生随机激励值,高斯时间序列产生器既可以种子值1开始,也可使用种子值4继续进行,这取决于语音通信系统的实现。通过将编码器和解码器配置为以相同的方式更新种子值,编码器和解码器能够产生相同的种子值,由此以相同的顺序产生相同的随机激励值。然而,在现有技术语音通信系统中,丢失帧破坏了编码器与解码器之间这种同步。
图15示出图14中所示的假设的情形,但这是从解码器的角度来看的。假设噪声帧2丢失,而帧1和3被解码器收到。因为噪声帧2丢失,解码器认为它与前一帧1是同一类型(即为一语音帧)。在作出有关丢失的噪声帧2的错误的假设之后,解码器认为噪声帧3是第一噪声帧,而实际上它是解码器遇到的第二个噪声帧。因为对于遇到的每一噪声帧的每一采样,种子值都被更新,因此解码器将错误地使用种子值1产生用于噪声帧3的随机激励值,而此时应当使用种子值2。因而该丢失的帧造成编码器与解码器之间失去同步性。因为帧2是噪声帧,因此解码器使用种子值1而编码器使用种子值2并不重要,因为结果是与原始噪声不同的噪声。对于帧3也一样。然而,重要的是种子值的误差对后续收到的包含语音的帧的影响。例如,注意看语音帧4。基于种子值2而本地产生的高斯激励用来继续更新帧3的自适应码本缓存器。当处理帧4时,基于诸如帧4中的音调滞后这样的信息,从帧3的自适应码本缓存器提取自适应码本激励。由于编码器使用种子值3来更新帧3的自适应码本缓存器,而解码器正在使用种子值2(错误的种子值)更新帧3的自适应码本缓存器,在某些情形下,更新帧3的自适应码本缓存器造成的差别会给帧4造成质量问题。
根据本发明建立的改进的语音通信系统不使用初始固定种子值,然后每当系统遇到噪声帧时更新该种子值。而是,该改进的编码器和解码器对于给定的帧从该帧中的参数导出种子值。例如,可以使用当前帧中的谱信息,能量和/或增益信息来产生用于该帧的种子值。例如,可以使用表示谱的若干位(例如5位b1,b2,b3,b4,b5),及表示能量的若干位(例如3位c1,c2,c3),形成一个串b1,b2,b3,b4,b5,c1,c2,c3,其值即为该种子值。假设谱由01101表示,能量由011表示,则种子值是01101011。当然,从帧中的信息导出种子值的其它可替代的方法也是可能的,并包含在本发明的范围之内。因而,在图15的噪声帧2丢失的例子中,解码器将能够导出出用于噪声帧3的种子值,该种子值与由编码器导出的种子值相同。这样,一个丢失的帧便不会破坏编码器与解码器之间的同步性。
虽然已经展示和描述了该主题发明的实施例和具体实现,但很明显,更多的实施例与实现方式属于本主题发明的范围之内。因而,除去依照权利要求及其等同物外,本发明不受限制。
权利要求
1.一种语音通信系统包括编码器,处理语音帧并对于每一语音帧确定音调滞后参数;发送器,与该编码器耦合,发送用于每一语音帧的音调滞后参数;接收器,从该发送器逐帧接收所述音调滞后参数;控制逻辑,与该接收器耦合,用于部分基于音调滞后参数重新合成该语音信号;丢失帧检测器,检测有一帧是否未被该接收器收到;帧恢复逻辑,当丢失帧检测器检测到丢失帧时,使用多个先前收到的帧的音调滞后参数外推该丢失帧的音调滞后参数。
2.根据权利要求1的语音通信系统,其中所述帧恢复逻辑使用该丢失帧之后收到的帧的音调滞后参数设置该丢失帧的音调滞后参数。
3.根据权利要求1的语音通信系统,其中所述丢失帧检测器和/或帧误差逻辑是控制逻辑的一部分。
4.根据权利要求1的语音通信系统,其中当接收器收到丢失帧之后的帧中的音调滞后参数时,帧恢复逻辑使用该丢失帧之后的该帧的音调滞后参数,调整先前设置的用于该丢失帧的音调滞后参数。
5.根据权利要求4的语音通信系统,还包括自适应码本缓存器,该缓存器包含用于一第一帧的总激励,该总激励包含量化的自适应码本激励成分,其中缓存的总激励被提取作为所述第一帧之后的帧的自适应码本激励,且帧恢复逻辑使用该丢失帧之后的该帧的音调滞后参数来调整该量化的自适应码本激励。
6.根据权利要求2的语音通信系统,其中帧恢复逻辑从该丢失帧之后收到的帧的音调滞后参数外推该丢失帧的音调滞后参数。
7.根据权利要求1的语音通信系统,其中在帧恢复逻辑设置用于该丢失帧的丢失参数之后,解码器从丢失帧重新合成语音并调整合成语音的能量以与从以前接收的帧合成的语音的能量匹配。
8.根据权利要求2的语音通信系统,其中在帧恢复逻辑设置用于该丢失帧的丢失参数之后,解码器从丢失帧重新合成语音并调整合成语音的能量以与从以前接收的帧合成的语音的能量匹配。
9.根据权利要求3的语音通信系统,其中在帧恢复逻辑设置用于该丢失帧的丢失参数之后,解码器从丢失帧重新合成语音并调整合成语音的能量以与从以前接收的帧合成的语音的能量匹配。
10.一种在通信系统中编码或解码语音的方法,包括下列步骤(a)基于逐帧提供语音信号,其中每一帧包含多个子帧;(b)基于该语音信号确定用于每一帧的一个参数;(c)基于逐帧发送参数;(d)基于逐帧接收参数;(e)检测包含该参数的帧是否丢失;(f)如果帧丢失则处理用于该丢失帧的丢失参数;(g)对这些参数进行解码以再生该语音信号。
11.根据权利要求10的方法,其中该丢失参数是该丢失帧的音调滞后参数,且处理步骤至少部分基于先前收到的帧的音调滞后参数来设置该丢失帧的丢失的音调滞后参数。
12.根据权利要求11的方法,其中该处理步骤基于多个先前收到的帧的音调滞后参数来设置该丢失帧的丢失的音调滞后参数。
13.根据权利要求11的方法,其中处理步骤基于丢失帧之后收到的帧的音调滞后参数设置该丢失帧的丢失的音调滞后参数。
14.根据权利要求11的方法,还包括以下步骤在处理步骤设置该丢失帧的丢失参数之后,从该丢失帧重新合成语音;以及调整该合成语音的能量以匹配来自一先前收到的帧的合成语音的能量。
全文摘要
一种改进的语音通信系统及方法,该改进的语音通信系统能够对一丢失的数据包中丢失的信息产生更精确的估计。例如,该改进的语音通信系统能够更精确处理丢失的信息,诸如LSF,音调滞后(或自适应码本激励),固定码本激励和/或增益信息。在不向解码器发送固定码本激励值的语音通信系统的一个实施例中,即使先前的噪声帧在传输期间丢失,该改进的编码器/解码器也能够对给定的噪声帧产生相同的随机激励值。
文档编号G10L19/02GK1516113SQ20031012156
公开日2004年7月28日 申请日期2001年7月9日 优先权日2000年7月14日
发明者A·拜尼亚斯恩, E·施罗默特, H-Y·苏, A 拜尼亚斯恩, 弈 申请人:康奈克森特系统公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1