首页> 中国专利> 一种适用于数字信号短时相关性模型之间的互用性的方法

一种适用于数字信号短时相关性模型之间的互用性的方法

摘要

本发明涉及数字信号,特别是语音信号的码转换,尤其涉及由执行第一种格式的一种编码所获取的信息、按第二种格式进行的编码。这些第一和第二格式,通过使用由各自的LPC(线性预测编码)系数所代表的滤波器,在数字信号采样块上使用LPC短期预测模型。所述第二种格式的LPC系数是由对代表至少一个第一格式的LPC系数的数值插值计算所确定的,所述插值计算在至少一个第一给定块和一个之前的块之间进行。根据本发明,当为每个当前块根据一个预定标准,例如,数字信号(41)的平稳性,从一组因数的预先选择中选择(42)至少一个插值因数(α),插值计算(43)动态地执行。

著录项

  • 公开/公告号CN101208741A

    专利类型发明专利

  • 公开/公告日2008-06-25

    原文格式PDF

  • 申请/专利权人 法国电信;

    申请/专利号CN200680023048.8

  • 申请日2006-04-12

  • 分类号G10L19/14;

  • 代理机构北京市金杜律师事务所;

  • 代理人罗朋

  • 地址 法国巴黎

  • 入库时间 2023-12-17 20:23:48

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2017-05-31

    未缴年费专利权终止 IPC(主分类):G10L19/14 授权公告日:20110831 终止日期:20160412 申请日:20060412

    专利权的终止

  • 2011-08-31

    授权

    授权

  • 2008-08-20

    实质审查的生效

    实质审查的生效

  • 2008-06-25

    公开

    公开

说明书

技术领域

本发明涉及数字信号的编码/解码,尤其涉及例如音频信号(语音或声音)的多媒体信号的传输和存储。

背景技术

本发明的目的是为了根据第一线形预测编码(LPC,LinearPredictive Coding)模型的参数有效地确定第二短期预测模型或线形预测编码的参数。

在数据压缩领域,编码器往往利用信号的相关性质来完成编码,例如长时预测滤波器正是利用谐波结构的性质,而短期预测滤波器也正是利用了信号的局部平稳性。典型的应用是语音信号可以被视为,例如,在10到20ms时隙里的一个平稳的信号。因此在适当的加窗技术之后,可以按照一组样本(即帧)的方式对所述语音信号进行分析。短时相关性可以通过不同时间的线形滤波器建模,线性滤波器的系数可以通过基于较短持续时间(例如在上述例子引用的10ms到20ms之内)的帧的线形预测分析来获取。

线形预测编码是最常用的数字编码技术之一。所述线形预测编码包括:对要编码的信号进行LPC分析,以确定一个LPC滤波器,然后一方面量化所述的滤波器,另一方面对激励信号进行建模和编码。所述的LPC分析是通过对所述待建模的信号或所述信号的改进形式中的预测误差求最小值来执行的。级数P的自回归线形预测模型包括通过一个P个过去样本的线性组合(预测原理)来确定时刻n的信号样本。短时预测滤波器,表示为A(z),模拟了信号的频域卷积:

A(z)=Σi=0P-ai×z-1

时刻n的信号(即S(n))与其预测值的差值组成了预测错误:

e(n)=S(n)-S~(n)=S(n)+Σi=1PaiS(n-i)

预测系数是通过计算给出的预测错误的能量E的最小值而获取:

E=Σne(n)2=Σn(S(n)+Σi=1PaiS(n-i))2

所述系统的解析已经很清楚了,特别是用Schur算法规则或Levinson-Durbin算法规则来解析。

滤波器的系数ai必须传输给接收器。但是,由于所述的系数ai没有良好的量化性质,所以优选地,需要进行变换。最常见的变换如下所述:

-PARCOR系数,代表局部相关性,局部相关性由反射系数和部分相关性系数组成,

-PARCOR系数的对数区比率LAR,

-线性光谱对LSP。

由于LSP系数适合向量量化,因此所述的LSP主要用于表示LPC滤波器。其他对LSP系数的等价表示如下所示:

-LSF(线形谱对参数,Line Spectral Frequency)系数,

-ISP(导抗光谱对,Immittance Spectral Pair)coefficients)系数,

-或者,甚至是ISF(导抗光谱频率Immittance SpectralFrequency)系数。

线形预测利用信号的局部类平稳性。但是,其局部平稳性的假设并非总是成立。特别是,当LPC系数没有足够经常更新时,LPC分析的质量就会下降。提高计算LPC参数所用的频率,通过更好地追踪信号频谱的变化明显地改善LPC分析的质量。但是,上述情况导致了待传输滤波器数量的增加,因此比特率也会相应地增加。

此外,计算所述LPC参数太频繁也会导致系统复杂度增加的问题,因为确定LPC参数会增加计算的复杂度。通常,LPC参数的计算包括:

-对信号进行加窗,

-计算(P+1)个信号的自相关函数(P为预测级数),

-从自相关函数中确定系数ai,比如利用Levinson-Durbin算法,

-把他们转换为量化和插值的性能更好的一组参数,

-对已变换的参数进行量化和插值操作,

-执行逆变换。

例如,在ITUT G.729标准化的8千比特/秒的编码器中,一个第10阶的LPC分析每10ms(在有80个样本的块中)执行一次,提取LPC参数的模块占了整个8千比特/秒G.729编码器的15%的复杂度。如果一个简单的LPC分析每10ms块执行一次,所述G.729编码器每5ms对已变换的LPC参数进行插值运算以得到一次LPC参数。

在ITUT G.723.1的标准化编码器中,每30ms的帧执行四次第10阶的LPC分析,或者每7.5ms(含有60个样本的子帧,也称为块)执行一次LPC分析,其占用了所述编码器10%的复杂度。然而,为了减少比特率,只有最后一个子帧的参数才被量化。对于前三个子帧,对已传输的量化参数进行插值运算。

当几个编码需要被同一处理单元(比如一个用于并行管理多个通信的网关或一个用于分配多个多媒体内容的服务器)同时执行时,LPC分析的复杂度将更加关键。网络中传输的信号压缩格式的多样性将进一步加剧所述LPC分析的复杂度问题。

因此,比特率/质量/复杂度的折中成为LPC分析的首要问题就不难理解了。

为了提供灵活性和连贯性,现代的创新的多媒体通信业务需要能够在各种情况下运行。多媒体通信扇区的动态性以及网络、接入设备和终端的多厂商的性质导致了压缩格式的增加,因为它们存在于通信链中,应用或者串行(编码转换),或者并行(多格式编码或者多状态编码)的多种编码方式。

在传输链中,当通过编码器传输的被压缩的信号帧不能再以它本来的格式继续被传输的时候,编码转换就显得非常必要了。所述的编码转换是用于将该帧转换为其他帧格式,以与传输链的继续相兼容。最基本(也是现在最常用)的编码转换解决方案是首尾相连地设置一个解码器和一个编码器。被压缩的帧以第一种格式到达系统,然后被解压缩。接着,被解压缩的信号再一次被压缩成被传输链所兼容的第二种格式。一个解码器和一个编码器首尾相连的级联形式被称为“一前一后”(tandem)。“一前一后”的解决方案增加了系统的复杂度(主要由于再次编码),也降低了信号的质量(由于再次编码是基于被解码的信号,所述的被解码的信号可以看作源信号的一个劣化的形式)。除此而外,一帧信号在到达终端之前会经过多个这样的“一前一后”(tandem),这样便造成了计算量的积聚增大和信号质量的巨大衰退,对整个系统有着重大的影响。另外,由每个“一前一后”(tandem)造成的延迟累积起来并恶化通信的相互作用。

运算的复杂度也会对多种格式压缩系统造成问题,所述的多种格式压缩系统可以将同一个内容压缩成几种格式。典型的情况就是内容服务器以多种形式广播同一个内容,以适合接入和网络的条件和不同用户的终端。由于需求的格式数量的增长,这样的多样编码系统越来越复杂,以至于系统资源很快变得有限。

另一种并行多样编码的情况是具有后验确定的多种模式压缩,后验确定方式描述如下。在每个待编码的信号段中,执行多种压缩模式,选择对于已给定标准的最优模式或得到最佳比特率/失真率的模式。同样,每个压缩模式的复杂度限制了他们的数量并且/或者导致了非常有限数量的模式的预先选取。

因此,可能的压缩形式的多样性再一次带来了问题。

现有技术中试图解决上述问题的尝试描述如下:

如今,大多数的多样译码系统一方面不考虑各种信号格式之间的相互关系,另一方面也不考虑信号格式和信号内容之间的相互作用。但是,一些在最近所谓的“智能”数据转换技术已不再局限于解码然后再编码的过程,而是利用了编码格式之间的相似性,因此降低复杂度和算法引起的延迟同事限制信号衰弱。并且,人们提出了挖掘编码格式之间的相似性以减少多样并行编码操作的复杂度。对于同一个编码格式的参数,编码器之间的区别存在于建模、计算的方法和/或频率,甚至是量化中。如今对于优化两个LPC模型之间的并行多样编码的研究非常有限。

典型的情况是,如果一个参数分别被两个表示为A和B的数据格式用同样的方法计算和量子化,所述参数的数据转换是在比特级完成的,即将所述参数的比特域从格式A的比特流中复制到格式B的比特流。如果所述参数用同样的方法被计算,而用不同的方式被量化,则通常应该用编码格式B所用的方法来重新量化所述参数。相似地,如果格式A和B没有以同一频率计算参量(比如,如果所述格式A和B的帧或子帧长度是不同的),则所述的参数必须被内插值替换。只对上述参数执行这一步是可能的,而无需回到整个信号。所述的数据转换只在参数级执行。进一步的,LSP系数通常也在“参数”级被转换了。

在现有技术的方法中,为了从第一个数据格式的参数中得到第二个数据格式的LPC参数,通常需要对第一种格式连续帧或子帧中的LPC参数进行插值运算,所述第一种格式连续帧或子帧对应第二个格式的当前帧或子帧。比如,第一种方法包括了对与当前帧大致对应的第二种格式的LPC滤波器系数进行插值运算,以计算用来模拟第二个格式的LPC滤波器的系数:

pB(m)=αpA(n-1)+βpA(n)

其中,pB(m)是第二个模式的帧(m)的系数向量,pA(n)是第一个模式的帧n的系数向量,α和β是插值因数。通常,β等于(1-α)。

例如,对TIA-IS127EVRC编码器和3GPP NB-AMR编码器之间进行数据转换按照如下所述:

“一种通过直接的参数转换的适用于AMR和EVRC多媒体语音数字信号编解器的创新的代码转换的算法”Seongho Seo et al.,in Proc.ICASSP 2003,pp.177-180,vol.II,EVRC编码器在帧m时的LSP系数(pEVRC(m))可由对AMR编码器在帧m和帧(m-1)时的被量化的LSP系数进行线形插值运算(pAMR(m)和pAMR(m-1))得出,按照以往的经验选取的插值运算因数(α=0.84):

pEVRC(m)=0.84pAMR(m)+0.16pAMR(m-1)

相反地,在AMR编码器的帧m时的LSP系数可以由对量化的LSP系数在EVRC编码器(α=0.96)的帧m和(m-1)时进行线形插值运算得出。

pAMR(m)=0.96pEVRC(m)+0.04pEVRC(m-1)

根据考虑到两种LPC分析的不同特性的统计研究,优化插值运算因数的确定过程也被进一步提出。(所述的不同特性包括分析类型,分析窗口的长度和位置,自相关系数所应用的带宽的扩展等。)

当两种编码格式在同一频率进行LPC分析时,往往应用这种简易的情况。在上述例子中,两个编码器每20ms帧执行一次LPC分析。当所述的两个编码器格式不以同一频率执行LPC分析时,往往应该考虑更大一块的持续时间,也即,两个编码格式的LPC参数的各自更新时间的公倍数.用于插值运算的第一种格式的两帧和插值因数的选取,因此取决于的第二种格式的帧在该组帧中所处的等级。

因此,在从ITU-TG.723.1编码器(30ms帧)到EVRC编码器(20ms帧)的数据转换中,所述的G.723.1编码器的两帧与所述的EVRC编码器的三帧相对应。所述的数据转换在Kyung Tae Kim et al.,in Proc.IEEE VTS 2001,pp.1561-1564的“用于G.723.1和EVRC语音编码器的代码转换运算法则”中有特别的描述。

用于插值运算的G.723.1编码器的两帧和插值因数的选取,取决于EVRC的一帧在所述三帧中的等级:

pEVRC(3m)=0.5417pG.723.1(2m-1)+0.4583pG.723.1(2m+1)

pEVRC(3m+1)=0.8750pG.723.1(2m)+0.1250pG.723.1(2m+1)

pEVRC(3m+2)=0.2083pG.723.1(2m)+0.7917pG.723.1(2m+1)

因此,在现有技术的代码转换技术中,插值因数组是按照第二种格式的帧在其所在帧组中的时间位置来确定的。即使是更加复杂的代码转换方法,所述的代码转换方法包括两个以上第一种格式的滤波器或甚至是第二种格式的过去滤波器,使用固定的一组插值系数。

所述的固定的插值因数导致了对第二种格式的滤波器的错误估计,特别是在非静态的区域里。为了弥补上述情况,本发明提出了一种自适应的(或动态的)的插值运算。

发明内容

本发明的一个目的是在多样代码中动态地确定一组插值因数。

本发明的另一目的是限制插值因数组的数目,优选地考虑到一个想要的质量/复杂度的折中,并且,对于一个给定的复杂度,优化质量或者,相反地,对于一个给定的质量,最小化复杂度。

为此,本发明首先提出一种根据第二种编码格式的编码方法,所述第二编码格式的信息是通过根据第一编码格式的至少一个编码步骤而获取的。第一和第二格式通过使用由各自的LPC系数所表示的滤波器,在数字信号采样块上使用(特别是对于编码语音信号)LPC短期预测模型,特别地,在本方法中,第二格式的LPC系数是由对代表至少一个第一格式的LPC系数的数值在至少一个第一给定块和一个在第一块之前的第二块(n-1)之间进行插值运算所确定的。

根据一个本发明的一个现行的优选的定义,上述插值运算是动态进行的,即,根据一个预定标准,从预先选择的多个因数中,为每个当前的块选择一个插值因数。

术语“预先选择”应该理解为预先组成的一组插值系数,所述插值系数并不特定地,可以包括上述定义的α和β的因数。(α和β对,或者是用于分别对三个采样块n,n-1和n-2进行插值计算的三个因数α、β和γ),或者只有系数α,特别是当一个相应的因数β可以通过简单的关系推导出(例如,β=1-α)。

因此,取代现有技术中使用固定的一组插值因数,本发明提出确定多组插值因数的其中一组,并且对于每个LPC分析块,使用从该预先组成的组中的一组插值因数。

从预先组成的组中挑选是根据上述预定标准动态进行的。所述预定标准可以优选地涉及到给定块和在前块之间的数字信号的平稳性的终止的检测。

预先选择可以是根据启发式选择或者甚至是从一个初步的统计研究初步建立,详细的描述请见下文。

附图说明

此外,通过参照以下附图所作的对非限制性实施例所作的详细描述,本发明的其它特征、优点将会变得更加明显。

图1是一个用以实现本发明的编码转换模块的示意图;

图2是根据对为第一编码信号SC1的连续的n-2,n-1,n块所估计第一格式的LPC系数的表示数值进行插值运算,以估计连续的m-1,m,m+1块的第二格式的LPC系数的表示数值的示意图;

图3A和3B分别示出包括根据本发明的码转换模块参与的并行编码及码转换系统;

图4是根据本发明的,用于从预先选择中动态选出插值因数的一个计算机程序产品的总的算法的流程图;

图5示例了根据本发明的一个优选实施例的,建立预先选择的步骤;

图6A和6B以柱状图示例了作为第二编码器的G.729标准化编码器的三帧的前二帧,其各自插值因数α的优化值。

图7A示例了作为第一译码器的G723标准化编码器的1帧(30ms)与作为第二编码器的G.729标准化编码器的3帧(10ms)之间的相关性;

图7B示例了G.729编码器的子帧(5ms)与G.723.1编码器的子帧(7.5ms)之间的相关性;

图8A、8B和8C示出为作为第二编码器的G.729的标准化编码器的三个当前的连续的帧的分别通过现有技术的静态插值计算(实线“静态”曲线)和通过根据本发明的精细的动态插值计算(虚线“精细”曲线)的所获取的频谱失真分布的示意图;

图9A和9B示出了分别为G729的编码器的两个当前连续帧的通过精细的动态插值计算(虚线“精细”曲线)和粗糙的动态插值计算(实线“粗糙”曲线)所获取的频谱失真分布的示意图;

图10为动态选择插值因数α的一个算法事实例的流程图。

具体实施方式

在讨论本发明的具体实施例的细节之前,必须指明本发明,通常情况下也可以表示图1所表示的一个码转换模块。码转换MOD可以安排在如下述两者之间:

-输入信号S的一个第一编码器COD1,根据第一种格式可以用于如传输一个第一种已编码的信号SC1,以及

-同一个输入信号S的一个第二编码器COD2,根据第二种格式可以用于传输如一个第二种已编码的信号SC2。

在码转换的配置中,第一编码器COD1开始对输入信号S1进行完全地或部分地编码。但是,在任意一种情况,都要保证足以确定根据第一种格式的LPC系数。根据本发明的码转换模块MOD至少恢复出根据第一格式编码所获取的LPC系数,或者这些系数的表示数值,例如向量(LSP)1,以及从上述的数值中通过插值计算估计出系数(LPC)2(或者表示数值(LSP)2)。系数(LPC)2(或者表示数值(LSP)2)将被第二编码器COD2用于构建第二种格式的第二编码信号SC2。该估测有利地确定一次(第一种格式的)LPC系数并且通过一个极为简单的插值计算,将其与第二编码格式相适应。因此应用了术语“码转换”。

因此,根据本发明的码转换模块MOD通常适用于从执行至少一个根据第一种格式同一个输入信号S的编码步骤(用于恢复包括根据第一种格式的(LPC)1系数的表示数值的信息的步骤)所获取的信息(尤其包括从第一编码获取的LPC系数或者所述系数的表示数值,例如向量(LSP)1),按照第二种格式对信号S进行编码。

自然地,所述第一和第二格式,通过使用由各自的LPC系数所代表的滤波器,在数字信号采样块上(参考随后的图2)使用,特别是编码语音信号S,LPC短期预测模型,

模块因此包括:

-输入5(图1)用于接收由第一格式获取的表示LPC系数的(LPC)1信息,包括如(LSP)1的数值,

-一个处理单元(图1中的模块1、2、3、4)用于根据至少一个第一给定块(图2中记为n)和一个紧跟着第一块n的第二块(图2中记为n-1)之间的第一格式所获取的代表LPC系数的数值(LSP)1确定第二种格式的LPC系数(表示为(LPC)2。或者如果图1中的插值模块1处理LSP向量值,该系数将特别地表示为图1中的数值(LSP)2)。

对于所述插值的基本原理将在以下加以解释。以第一种格式编码的信号SC1包括连续的采样块n,n-1,n-2等。代表第一种格式的LPC系数的数值(LSP)1[n],(LSP)1[n-1]等已获取。码转换模块对所述的值进行插值计算,例如,可以是(LSP)2[m]=αi(LSP)1[n-1]i(LSP)1[n]的类型,从根据下文描述所选择的插值因数αi和βi获取数值(LSP)2[m]。数值(LSP)2[m]表示以第二种格式编码且对应于块n的信号SC2的当前块m的第二格式的LPC系数。以第二种格式编码的信号SC2还包括连续的采样块(也称为“帧”)在图2中标记为m-1,m,m+1。

根据本发明,码转换的处理单元动态地执行插值计算,通过根据一个预定标准,从一个预先选择(模块3)的因数(α1,α2,...,αK)中为每个当前块n选出至少一个插入系数α1。典型的预定标准是信号S时间上的连续(或者信号的“平稳性”),或者是与信号S联系的一个或多个参数的相关信号的任何其它稳定性标准(增益,能量,长期参数LTP,基本谐波的周期(或者“倾角”)),并且优选地由COD1计算。作为一个变量,可以提供一个信号近似标准。

在图1所示的例子中,码转换模块的输入5接收表示为(LPC)1的参数,通知模块2以检测信号S的平稳性的终止。此外,码转换模块MOD包括一个存储器3,典型的是,可编址的,并且存储插入因数的预先选择,表示为例子中的(α1,α2,...,αK)。在示例中所述的符号表述如下:

-基于两个连续的块n和n-1进行插值运算,因此对于信号SC2的每个当前块m需要应用两个插值因数αi和βi,并且

-两个因数αi和βi可以简单地通过αi=1-βi的关系相互导出,其中αi和βi均在0到1之间。

当然,如上所述,本实施方式具有多种变形,特别是用于插值计算的连续块的数目。

此处,一个计算模块4将根据选定的插值因数αi,按照上文给出的简单关系αi=1-βi确定因数βi。模块1根据所述两个因数αi和βi,对向量数值(LSP)1(..模块n和n-1)进行插值运算,以建立针对第二种格式(标记为(LSP)2)的LPC系数的向量(LSP)2,以组成第二个编码信号SC2。

码转换模块MOD对于多串行编码(称为“码转换”)和并行多编码(称为“多编码”和“多模式”编码)都很有用。图1中所描述的模块MOD的情况是并行配置。图3A的情况相同,同一个信号S并行地输入两个编码器COD1和COD2,然而连接到第二个编码器COD2的码转换模块MOD从编码器COD1获取信息(LPC)1,以利于实现本发明,特别是第一种编码格式所获取的代表LPC系数的数值。两个编码器分别独立地传输两个编码信号SC1和SC2。图3B所示的码转换的情形是截然不同的,因为输入信号S仅由第一编码器COD1接收,COD1将用于实施本发明的信息(LPC)1传输给码转换模块MOD。然而,此处,提供一个模块DECOD模块,将信号SC1至少部分地从第一编码器COD1处解码并且输入给第二个编码器COD2。此处使用码转换模块MOD的部分优势是因为不需要全部信号SC1从第一种编码器中全部解码,也不需要应用将信号以第二种格式记录的全部步骤。

术语“智能码转换”系统或“智能多编码”系统即可适用(特别是以并行形式安排的编码器电池)。

本发明的目的也包括该系统,包括:

-一个根据第一种格式的编码器COD1和一个根据第二种格式的编码器COD2,通过使用分别由LPC系数表示的滤波器,对数字信号采样块使用LPC短期预测模型,

-根据本发明的一个上述类型的码转换模块MOD。

在上述系统中,优选地将所述码转换模块MOD直接集成在根据第二种格式的编码器COD2上(图3A和图3B)。

本发明的目标也包括一个用来在一个存储器中存储一个上述讨论类型的码转换模块的计算机程序产品。参照图4,追溯其概要算法,所述计算机软件,当运行该模块时包括下述指令:

-用于根据至少一个给定块n和一个紧跟着块n的块n-1之间的第一格式所获取的代表LPC系数的数值(LSP)1的插值运算,确定(步骤S43)第二种格式的LPC系数的表示为(LSP)2的数值。

-以及尤其是,根据预定标准,从预先选择的因数中为每个模块选择至少一个插值因数αi,以动态地进行此插值计算。

例如,在图4所表示的实施例中,该标准可以与信号的平稳性相联系,测试4 1可以基于例如由第一编码器COD1传递给它的(LPC)1信息,检测信号的平稳性是否出现偶然的中断。如果实际检测到平稳性的终止(测试41输出箭头N),改变对因数α的选取,模块从预先选择中选取一个最佳因数αi,并且基于所述因数αi进行插值计算。否则(测试41的输出箭头O),保留在步骤41之前发生的初始化步骤40所确定的因数α的数值。

下述将描述最佳因数αi的选取方式和初步建立预先选择的例子。

建立预先选择的例子(a1,α2,...,αk)

以下描述如何确定组成预先选择的插值因数组。根据本发明,将从所述预先选择中动态地选择插值因数。

在一个实施例的选择中,根据本发明的插值计算可以包括一个与一个第一给定块(n)相关联的第一因数β,和一个与一个第二定块(n-1)相关联的第二因数α。在本发明一个变化的实施例中,同样可以利用一个与再前面的一个块(n-2)相关联的系数γ。

在仅使用两个因数α和β的实施例中,第一和第二因数可以优选地通过一个α=1-β类型的联系相互导出,这两个因数优选地在“0”和“1”之间。

在第一个实施例中,上述的预先选择初始时可以设定为包括数值“ 0”、“ 1”或者至少一个在“0”和“1”之间的数值,例如是“0.5”。

因此,在本实施例中,插值因数的设定和该集合的大小可以是试探式地确定。一个大小为3、试探式确定的基本例子,由α{0;0.5;1}的值组成(根据上述的关系β=1-α)。

在另外一个实施例中,比第一个复杂很多,插值因数的预先选择是根据一个初步的统计研究初步确定的,如下所述实施。

参照图5,优选地,实施所述的统计研究:

a)如下建立:

-通过多个模块M第一格式(集合51)所获取的代表LPC系数的数值的各个集合,和通过多个模块N的第二格式所获取的(集合53)代表LPC系数的数值,

-插值因数第一个集合(50)(α1,α2,...,αk)选择以包括根据本发明的预先选择-为此,用于形成第一集合的元素的个数K应该选择足够大,

b)对于每个块n,从第一集合50开始,根据一个选定的标准,选择一个更好的插值因数α(n),尤其是插值计算的数值(在步骤52中计算的集合,表示为{[E(LSP)2j]i},其中j在0到M-1之间,i在1到N之间)和由第二格式获取的LPC系数的代表数值(集合53)之间的一段距离(步骤54)。因此获取插值系数α(n)的第二个集合55,具有更小的范围,例如可以去除元素α(n)中很少或者从未被调用过的,并且保留该集合中最冗余的元素。作为补充或者变形,也可以通过将处于平均程度的彼此相近的元素归成一组,以限制该集合的大小。

插值因数α(n)集合大小的缩小可以基于研究图6A或6B中一个所示类型的柱状图。柱状图的类型表示:

-在x轴,因数K(α1,α2,...,αk)最初随机选择,例如在0和1之间,并且相隔固定的间隔0.01,

-在y轴,每个系数α1,α2,...,αk相关的出现的个数以及在上述步骤b)中该因数被确认为最佳的插值系数α(n)。

插值因数α(n)的个数的大小可以通过选择在柱状图(图6A和图6B的箭头)中发生概率最大的因数α1,α2,...,αk而降低。

此外,应该记住,LPC系数的代表数值((LSP)1,(LSP)2)在此处应该理解为,例如,向量LSP的值(线性光谱对,在上文中定义),但是并不仅限于此。

为了进一步减小所获取的第二集合的大小,对第二集合可以优选地重复上述步骤b),然后进行后续的子步骤,直到获取所有上述的预先选择。

基于一个初步的统计研究,所述的第二实施例通过例子,如下详细描述。为了简单起见,本发明的原理用两种格式以相同的速度进行LPC分析来示意。此外,本发明同样适用于以不同的速度进行LPC分析的两种格式,见下述一个实施例。数值α的集合的大小首先被选定,该集合由统计研究所确定,如下所示。

首先建立LPC系数的两个集合,例如,以LSP(“线性光谱对”)向量的形式。所述LSP向量是从多个(N个)帧中得到的第一编码格式A{pA(n)}n=1,...,N,以及第二编码格式B{pB(n)}n=1,...,N所获得的。在多编码的情况下,两个建立的集合对应于两个编码器非量化的LSP。在码转换的情况下,两个集合对应于格式B的非量化的LSP以及格式A的去量化LSP。含I0个因数的第一集合{αi}i=I,...,I0也被选出。该集合可以包括按规律排序的[α1,αI0]区间内的I0个数值,其中,αi=α1+(i-1)(I0-1)(αI0-α1)(例如,在区间[0,1]内的间隔为0.01的101个值)。

对于该第一集合中每个下标为n的块,标记为α(n)的最佳因数根据特定的标准从第一集合中得以确定。优选地,α(n)满足由第一格式的A向量的插值计算所获取的向量p~B(n)=α(n)pA(n-1)+(1-α(n))pA(n),尽可能地接近由第二格式所获取的向量pB(n)。在常规的LPC编码中用到的两个LPC参数的集合之间,使用多个距离标准,例如,两个LSP向量的均方差(加权或者未加权)或者从系数αi所计算的频谱失真度量。

参照如图6A和图6B所表示的柱状图,对于“最佳”α(n)的研究使得集合的大小根据柱状图的峰值数而减小。该选择明显地可以考虑了复杂度的限制。一旦该I1被选定(实际中I1<<I0),包括I1个值的最佳集合α被确定。可以选择不同的方式。例如通过选择在柱状图中的I1的峰值所对应的x坐标作为α的元素,采用分级方式,通过从I1的初始值中,为每个块确认最优值α(n)以建立等级。然后,对每个等级重新计算最优值α的数值,并且重复上述用概要术语概括的步骤b)的方法。优选地,如果集合的尺寸小,将使用一个更加“穷举”的方法,通过在相邻的两个I1-uplet数值之间施加一个最小的差值(例如0.01),计算在I1-uplet[0,1]I1中的最佳的I1-uplet(α1,...αI1),按照(α1<...<αI1)排序。也可以将研究的数值限制在柱状图的峰值的x坐标附近。

插值因数的一个集合的动态选择

以下描述如何从上文所获取的预先选择中动态地选出合适的插值因数的一个集合。

在实际应用中,一旦确定了插值因数的集合,形成了上文所述的预先选择,就有必要定义如何从该集合中选出一个插值系数的集合。该个插值系数的集合用于确定每个下标为n的块的分级。

作为一个普通的准则,从预先选择的因数中至少为每个当前块选出一个插值因数α,优选地预先进行。

在实际量化时,一个简单的方法是,当插值系数最接近目标系数(即,例如LSF类型的系数被量化)的事件发生后,测试所有被选择的插值因数。在多编码的前提下,该用于确定第二格式的目标参数的后验选择,必须牺牲所谓的“智能”多种编码方式的好处也即分析和提取某些参数的模块的减少所带来复杂度的降低,才可以适用。

在一个多编码的前提下,预先选定一组因数是非常有好处的。该在先的分类是根据一个特定的标准,优选地,是一个局部平稳性标准来执行的。

因此,根据一个优选的特征,插值因数的在先选择基于一个检测到的数字信号的局部平稳性标准来进行预先选择。

例如,信号平稳性的终止首先是被发现,在主动检测事件时,确定两个必须给予最大权重的滤波器的参数。第一格式的某些选定参数的变化将优选地用于评价平稳性标准。例如,主要可以运用第一编码方式所获取的LPC系数。在稍后的另一个示例的实施例中将给出参数的另一个例子。

质量/复杂度的权衡

优选地,方法的复杂度可以根据期望质量/复杂度的权衡进行调整(或者目标复杂度或者期望质量)。

依靠质量/复杂度的权衡,插值因数的集合的确定或多或少会有效率(也即,或多或少有能力选择因数的优化集合)。在一个变化的实施例中,考虑到选择因数集合的算法的效率,可以根据选择算法建立的等级来重新计算插值因数的数值。因此,可以理解,确定插值因数的一组集合以及相关分级的程序可以重复。同样,可以注意到,可以根据分级程序的质量来调整所有的插入因数的集合的大小:即,实际上,如果为了复杂度的原因必须进行一个基本的分类程序,而使用一个精细的动态插值系数(具有多个插值系数)是不明智的。

因此,根据本发明的一个优选特征,必须牢记根据预定的质量/复杂度的权衡来选择预先选择的元素的个数。典型地,用于检测平稳性终止的参数个数越多,预先选择中的元素个数也随之增多。

实施例

下文描述的实施方式用于在两个不同的编码格式ITU-T G.729和ITU-T G.723.1.之间进行码转换。所述两种标准化的编码格式以及他们的LPC模型将首先在下文中给出描述。

8kbit/s ITU-T G.729和6.3kbit/s ITU-T G.723.1编码器

所述的两个编码器属于著名的CELP编码器族,综合分析的编码器。

具有综合分析的编码器,重建的信号的综合模型用于编码器以提取建模欲编码的信号的参数。所述信号可以基于8kHz的频率进行采样(300-3400Hz的话音带宽)或者一个更高的频率,例如16kHz用于宽带编码(带宽从50Hz到7kHz)。依据应用以及期望质量,压缩比在1到16之间变化:所述的编码器在话音带宽以2到16kbit/s的比特率工作,以及宽带模式的6到32kbit/s的比特率。

在CELP-类型的数字编码设备中,也即现在最常用的综合分析的编码器中,语音信号被采样,并且转换成L个采样块的序列。每个块通过从一个地址簿(也称为字典)中提取的波形的滤波而合成,通过一个增益相乘,通过两个时间上相异的滤波器。激励字典是L个采样的波形的有限集合。第一个滤波器是长期预测滤波器。一个“LTP”(长期预测)分析用于评估研究语音信号周期性的长期预测器的参数。

第二个滤波器,即本发明所关心的,是短期预测器。“LPC”(线性预测编码)分析方法可以获取所述的短期预测参数,代表语音路径的转移函数以及表征信号频谱的包络。用于确定创新序列的方法是综合分析方法:在编码器上,大量激励字典的创新序列由两个滤波器LTP和LPC所滤波,并且选出的波形是能够生成根据一个感知上的权重标准,也即众所周知的CELP标准的最接近原始信号的合成信号。

对于解码,比编码更加复杂。编码器所生成的比特流允许解码器在去复用后获取每个参数的量化指数。参数的解码和合成模型的应用允许重建信号。

ITU-T G.729编码器致力于限制在3.4kHz带宽的语音信号并且以8kHz的频率采样,细分为10ms的帧(80个采样),每个帧再分为40个采样(5ms)的2个子帧(编号为0和1)。每10ms运行一次LPC分析(每次针对一个帧)用使用一个30ms的非对称的窗和一个5ms的“向前看”分析的自相关方法。加窗的语音信号的前11个自相关的系数先是根据所谓的“Levinson”算法计算。所述的系数将转换到线性频谱对(LSP)可以利于所述的系数进行量化和插值计算。LSP数值的量化是基于四阶的交换预测向量的18比特量化。线性预测滤波器量化和非量化的系数用于第二个子帧,而对于第一个子帧,LPC系数(量化和非量化)是通过在相邻的子帧中对应的LSP值的线性插值而获取的(图7A和7B中当前帧和前一帧的第二子帧)。该插值运算应用于余弦域的LSP对系数。

感知权重滤波器从量化前的线性预测滤波器中推导出。插值后的滤波器的量化和非量化的LSP系数重新恢复成为LPC系数用以为每个子帧建立合成和感知权重滤波器。

对于ITU-T G.723.1编码器,必须声明,后者语音信号的工作限制于带宽为3.4kHz并且以8kHz采样分为30ms的帧(240个采样点)。每个帧包括四个7.5ms(60个采样)的子帧。该四个子帧成对分组为一个15ms的超子帧(120个采样)。对于每个子帧,通过一个以每个子帧为中心、汉明(Hamming)窗采样数180的自相关方法进行10阶LPC分析(对于最后一个子帧,运用一个7.5ms的look-ahead向前看分析)。对于每个子帧,先计算11个自相关的系数,然后运用“Levinson”算法计算LPC系数。所述非量化的LPC系数用于为每个子帧建立感知权重滤波器。最后一个子帧的LPC滤波器通过预测向量量化器的方式加以量化。LPC首先转化为LSP系数。LSP的量化是通过一阶的24比特的预测向量量化而进行的。

以该种方式量化的最后一个子帧的LSP系数被解码,然后与前一帧的最后一个子帧的LSP系数进行插值计算,以获取前三个帧的系数。所述LSP系数重新恢复为LPC系数,以建立4个子帧的合成滤波器。

从6.3kbit/s ITU-T G.723.1编码器到8kbit/s ITU-T G.729编码器的码转换以确定LPC系数

此处,码转换在“参数级”完成。第二种格式的LSP系数是通过第一种去量化编码格式的LSP系数的动态插值计算所确定的。进行插值计算后的系数通过第二种格式的方法量化。

如图7A所示,常规情况下如果采用一个共同的时间源,一个G.723.1帧对应三个G.729帧。图7B表示一个G.723.1帧和三个G.729帧以及他们各自的子帧。可以看出G.729子帧(5ms)与G.723.1子帧(7.5ms)并不同步。

两种格式以不同的速率进行LPC分析,所以插值系数的集合要依赖于在它的三组帧中的G.729帧的等级。这些集合和他们的大小是由一个统计研究所确定的。形成LSP向量的两个集合,这些集合由G.723.1编码器{pG.723.1(n)}n=1,...,N以及G.729编码器{pG.729(m)}m=1,...,3N(N=9000)获取,其中pG.723.1(n)是G.723.1编码器(帧长度30ms)的第n帧的去量化LSP矢量,而pG.729(m)是G.729编码器的第m帧即将被量化的LSP矢量(帧长度10ms)。

初始时,选出一个具有101个因数的集合{αi},具有在区间[0,1]顺序分布且等间隔为0.01的101个数值。对于每个在该集合中索引为(3n+i)的帧确定一个最优的,标记为α(3n+i),因此可以使与pG.729(3n+i)相对应的滤波器和插值计算滤波器(对应于p~G.729(3n+i)=α(3n+i)pG.723.1(n-1)+(1-α(3n+i))pG.723.1(n))之间的频谱失真值最小,换言之:

α(3n+i)=Arg(minα[0,1]SD(pG.723.1(n),p~G.729((3n+i),α)))

符号所确定的条目可以大致与图5中的元素{[E(LSP)2j]i}相对应,在此处简单地指明最优因数α(n)由子帧所估计,此处子帧为相关的采样块。

图8A,8B和8C比较了由静态插值计算和根据本发明比较精细动态插值计算所获取的频谱失真分布。他们清楚地显示了动态插值计算所带来的性能水平的改进。静态插值因数依赖于在一组的三个帧中的G.729帧(i=0,1,2)所处的等级。对于一个给定的索引i,该固定的系数可以进行优化使得在插值计算的滤波器和目标滤波器之间的频谱失真最小化。即,固定的插值计算在下式中给出:

p~G.729(3n)=0.77pG.723.1(n-1)+0.23pG.723.1(n)

p~G.729(3n+1)=0.36pG.723.1(n-1)+0.64pG.723.1(n)

p~G.729(3n+2)=0.02pG.723.1(n-1)+0.98pG.723.1(n)

图6A和6B示出α(3n+i)其中i=0和1(每组三个帧中的前两个)的数值分布柱状图。检查精细自适应插值计算的“优化的”α(3n+i)柱状图显示在区间[0,1]边缘的两个峰值和一个在静态插值数值(箭头指示最大值)附近的另一个最大值(较少标记)。因此插值因数的集合的大小选为3。然后,通过根据柱状图中3个峰值的x坐标附近排序的三个一组的搜索,以确定具有3个数值α的最佳集合。对于三个帧一组的第一帧(各自地第二个),插值因数的的集合是{0.24;0.68;0.98}(或者第二个对应的{0.01;0.39;0.82})。图9A和图9B示出自适应的插值计算的性能等级,尽管更粗糙,却接近于那些精细自适应插值所获取的曲线,也明显优于静态插值计算的曲线。

插值因数的集合的选取如下。

在静态插值因数的数值优选区域之外,一个精细的自适应的插值计算“优化”因数α(3n+i)的分布包括在区间[0,1]边缘的两个峰值。在多数情况中,这两个极值对应于非静止区域表现出在平稳性的终止,例如,一个攻击或消灭。因此在三个可能的集合中选出一个插值因数集合的步骤包括一检测平稳性局部终止的第一步骤,且该步骤使用一平稳性标准。然后,在一个肯定的检测事件中确定G.729帧是发生在中断之前还是之后。

图10给出了用于选择插值因数的算法的简化流程图。在步骤80中评价平稳性标准,而步骤81分辨信号是静态还是非静态的。如果是静态的(步骤81后的箭头Y),赋给α(m)的值为中间值α2i(步骤82)。否则,(信号非静态-步骤81后的箭头N),执行一个测试用于:

-是否中断发生在G.729编码器的第(3m+i)帧之前(测试83后的箭头O)。在这种情况中,柱状图的初始赋值为一个因数α1i(步骤84)。

-是否中断发生在G.729编码器的第(3m+i)帧之后(测试83的箭头N)。在这种情况中,柱状图的末尾赋值为一个因数α3i(步骤84)。

因此,需要记住,以更普遍的术语并且不考虑帧或者子帧,则:

-在测试81中检测到平稳性中断的时刻(或区域)-实际上,该平稳性中断时刻会典型地在给定的以第一种编码格式的块(n)和前一块(n-1)之间被检测到。

-在测试83中,需要处理的第二种编码格式的当前块(m)的时间位置,与该检测到的中断时刻相比较,

-而且,在插值计算中,如果第二格式的块(m)被定位在中断时刻(trup)之后,则将与给定块(n)(对应于步骤85)相关联的第一格式的LPC系数赋予更多的权重,或者如果第二格式的块(m)被定位在中断时刻(trup)之前,则将与前一块(n-1)(对应于步骤84)相关联的第一格式的LPC系数赋予更多的权重。

更好地,该权重可以考虑块(n)和(n-1)相对于块(m)和中断时刻的相对时间临近程度。

G.723.1编码器的至少一个参数的变形优选地用于评估局部的平稳性。可以采用多种类型的参数:例如LSP向量(或者其他的LPC表示),倾斜阶段,固定激励增益,等等。也可能使用其他从G.723.1合成信号所计算得出的参数(例如每个子帧的信号能量)。如果变形可以通过简单的均方差(可以是加权的),也可以使用更加复杂的方式,例如,通过考虑倍数或者约数来估计斜度路径的趋势。同样可以包括在当前的G.729之前的帧所提取的参数。标准数量及其类型的选择依赖于理想的质量/复杂度权衡。一个多标准的方法(基于两个连续的G.723.1LPC滤波器之间的频谱失真,斜度路径的趋势和子帧中G.723.1合成信号的能量差异)可以用来对局部平稳性进行精确的测量,并且随后,有效地从三个中选择出一个最佳的插值因数。检测是通过比较不同的平稳性测量值和阈值来完成的。所述的阈值优选地由优化分类所获取的不同的测量值的分布的统计研究来确定。

为了说明考虑到选择算法的误差的因素而重新计算插值因数的集合所来带来的变化,下面将描述基于单一标准的简单实施例。例如对于G.723.1合成信号的每5ms块的能量变化。

Ei用于指示对应于G.729帧3n+i的第二帧、G.723.1编码器所计算的5ms块合成信号的能量。对于每个G.729的帧3n+i,计算两个能量比率ρ1(0)和ρ1(1)

ρi(0)=1-|2EiEi+E-1-1|andρi(1)=1-|2EiEi+E2-1|

其中E-1是G.723.1合成信号的能量,是对它的前一帧(帧(n-1))最后5ms块的计算。

选择插值因数的算法如下:

α(3n+i)=αi2

if(ρ1(0)<Sandρ1(1)>S),α(3n+i)=αi3

else,if(ρ1(0)>Sandρ1(1)<S),α(3n+i)=αi1

在统计研究之后,阈值数值S和S’确定以利于插值因数接近于静态系数,这将在中断被明显检出时限制动态插值计算。前面已解释清楚,根据该决策算法所运行的分类来重新计算插值因数。在一个变化的实施例中,动态插值程序可以是保守的,在该情况下,静态插值因数选为平均的插值因数αi2而只有极限因数(αi1,αi3)被优化。

当然,以上对本发明的实施例进行了描述,但是本发明并不局限于此,可以扩展到各种变形。

在实际中,为了保持精确,上述描述限制在第二种格式当前帧的LPC参数是由第二种格式两个连续帧的LPC参数的自适应插值计算所确认的情形中。然而,应该理解,本发明可以应用于更加复杂的插值配置,例如,涉及第一种格式多于两个帧的和/或,必要时第二种格式其他帧的情况。

因此,根据本发明的方法不局限于第二种格式的LPC系数是由第一种格式LPC系数的插值计算推导出来的实施例。相反,一个变化的实施例中,包括使用第一种和第二种格式(可能为在先的块所确认的)的LPC系数进行插值计算。

此外,根据本发明的一个方法在上文中被定义为包括一个给定的块(n)和至少一个在前的块(n-1)。该给定块可以是当前块,而在前的块(n-1)是一个过去的块。然而可以理解,作为一个变化的实施例,如果根据本发明处理过程允许延迟,插值计算可以基于当前的块(n)和将来的块(n+1)进行。

类似地,本发明可以应用于采样块而不是第一或者第二种格式(例如子帧)。

最后,在上文中给出的用LSP矢量表示LPC参数仅仅是一个示例。当然,本发明也适用于其他的LPC表示方式。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号