对信息信号编码的方法和设备的制作方法

文档序号:2821440阅读:234来源:国知局
专利名称:对信息信号编码的方法和设备的制作方法
技术领域
本发明通常涉及信号压缩系统,且尤其涉及码激励线性预测(CELP)型语音编码系统。
背景技术
数字语音和音频信号的压缩众所周知。为了在通信信道中有效地传输信号,或者为了在诸如固态存储设备或计算机硬盘的数字媒体设备中存储所述信号,通常需要对信号进行压缩。尽管存在多种压缩(或“编码”)技术,在数字语音编码方面一种称为码激励线性预测(CELP)的方法非常受欢迎,这种方法是“综合分析”(analysis-by-synthesis)编码算法家族中的一员。综合分析通常指的是编码过程,在此过程中使用数字模型的多个参数合成一组候选信号,并与输入信号比较并分析失真。随后将对应最小失真的一组参数进行传输或存储,并最终使用这组参数重建原始输入信号的估计。CELP是一种特殊的综合分析的方法,它使用一个或多个码本,其中每个码本本质上包含多组源自码本并与码本索引对应的编码矢量。
例如,图1是依照现有技术的CELP编码器100的结构图。在CELP编码器100中,将输入信号s(n)应用于线性预测编码(LPC)分析模块101,其中线性预测编码用于估计短时频谱包络。获得的谱参数(或LP参数)由变换函数A(z)表示。谱参数应用于LPC量化模块102,该模块将谱参数进行量化,产生适用于多路复用器108的量化后的谱参数Aq。随后量化后的谱参数Aq传送给多路复用器108,而多路复用器基于量化后的谱参数和一组与码本相关的、由平方差最小化/参数量化模块107确定的参数τ,β,k和γ,产生编码码流。
量化后的谱参数,或LP也本地传送给LPC合成滤波器105,该滤波器具有对应的变换函数1/Aq(z)。LPC合成滤波器105还从第一组合器110接收组合激励信号u(n),并基于量化后的谱参数Aq和组合激励信号u(n)产生输入信号的估计(n)。组合激励信号u(n)按照如下方式产生。基于索引参数τ从自适应码本(ACB)103中选择自适应码本编码矢量cτ。随后基于增益参数β对自适应码本编码矢量cτ进行加权,并且将此加权后的自适应码本编码矢量传送给第一组合器110。第一组合器110随后通过将加权的自适应码本编码矢量cτ与加权的固定码本编码矢量ck组合,产生组合激励信号u(n)。
LPC合成滤波器105将输入信号的估计(n)传送给第二组合器112。第二组合器112也接收输入信号s(n)并将输入信号s(n)减去输入信号的估计(n)。输入信号s(n)和输入信号估计(n)之间的差应用于感知差加权滤波器106,该滤波器基于(n)和s(n)之间的差和加权函数W(z)产生感知加权差信号e(n)。感知加权差信号e(n)随后传送到平方差最小化/参数量化模块107。平方差最小化/参数量化模块107使用差信号e(n)确定一组最佳的与码本相关的参数τ,β,k和γ,用于产生输入信号s(n)的最佳估计(n)。
图2是与编码器100对应的依照现有技术的解码器200的结构图。如本领域技术人员熟知的那样,解码器200中的多路信号分离器使用编码器100产生的编码码流,在与编码器100执行的合成过程相同的过程中,解码出那组最佳的与码本相关的参数,及τ,β,k,和γ。因此,如果解码器200接收的由编码器100产生的编码码流没有差错,解码器200的语音(n)输出可以作为编码器100产生的输入语音估计(n)的精确复制进行重建。
尽管CELP编码器100概念上可用,但是由于在实现中需要将计算复杂性保持在尽可能低的水平,所以它并不是一种实用的编码器。而图3是依照现有技术的典型的编码器300的结构图,该编码器使用与编码器100图示的编码系统同等但是更加实际的系统。为了更好地理解编码器100和编码器300之间的关系,我们给出从编码器100到编码器300的数学推导。为了阅读方便,变量通常以z变换的形式给出。
从图1中可以发现感知差加权滤波器106基于输入信号和估计的输入信号产生加权的差信号e(n),即E(z)=W(z)(S(z)-S^(z))....(1)]]>根据这个表达式,加权函数W(z)可以分布在各项,且输入信号估计(n)可以分解成加权码本编码矢量的和的滤波E(z)=W(z)S(z)-W(z)Aq(z)(βCτ(z)+γCk(z))....(2)]]>项值W(z)S(z)对应加权的输入信号。通过将加权的输入信号W(z)S(z)定义为Sw(z)=W(z)S(z),并通过变换函数H(z)=W(z)/Aq(z)对编码器100的加权合成滤波器105进行定义,等式2可以改写为如下形式E(z)=Sw(z)-H(z)(βCτ(z)+γCk(z)).(3)通过使用z变换符号,滤波器状态不需要显式地定义。从现在起采用矢量符号,其中矢量长度L是当前子帧的长度,从而等式3可通过叠加法则可以改写为如下形式e=sw-H(βcτ+γck)-hzir,(4)其中
·H是根据诸如合成滤波器303和304的加权合成滤波器的脉冲响应形成的LxL零状态加权合成卷积矩阵,并与变换函数Hzs(z)或H(z)对应,该矩阵可以表示如下 ·hzir是对应于前一个输入状态H(z)的Lxl零输入响应,·sw是Lxl感知差加权输入信号,·β是标量自适应码本(ACB)增益,·cτ是对应索引τ的Lxl ACB编码矢量,·γ是标量固定码本(FCB)增益,以及·ck是对应索引k的Lxl FCB编码矢量。
通过将H分布在各项,并让输入目标矢量xw=sw-hzir,可以获得如下表达式e=xw-βHcτ-γHck.(6)等式6表示了由编码器300的第三组合器307产生的感知加权差(或失真)矢量e(n),并由组合器307连接到平方差最小化/参数量化模块308。
根据上面的表示,可以通过平方差最小化/参数量化模块308推导出加权的感知加权差,即‖e‖2的最小值的公式。平方差的范数如下ε=‖e‖2=‖xw-βHcτ-γHck‖2.(7)由于复杂性的限制,语音编码系统的实际实现中典型地采用顺序方式最小化平方差。就是说,首先优化ACB组件(通过假设FCB分项值为零),然后采用给定的(前面优化的)ACB组件优化FCB组件。ACB/FCB增益,即与码本相关的参数β和γ可以或不用再次优化,再次优化就是根据给定顺序选择的ACB/FCB编码矢量cτ和ck进行量化。
顺序搜索的原理如下所述。首先,让γ=0,对等式7表示的平方差的范数进行修改,从而扩展获得ϵ=||xw-βHcτ||2=xwTxw-2βxwTHcτ+β2cτTHTHcτ....(8)]]>随后通过取ε关于β的偏导数,并将数值设为零,可以确定平方差的最小值∂ϵ∂β=xwTHcτ-βcτTHTHcτ=0....(9)]]>这样产生(顺序)最优的ACB增益β=xwTHcτcτTHTHcτ....(10)]]>回到等式8取代最优的ACB增益,得到τ*=argminτ{xwTxw-(xwTHcτ)2cτTHTHcτ},...(11)]]>其中τ*是顺序确定的最优ACB索引参数,即最小化相等式的ACB索引参数。由于xw不依赖于τ,等式11可以改写为如下形式τ*=argmaxτ{(xwTHcτ)2cτTHTHcτ}....(12)]]>现在,通过让yτ等于加权合成滤波器303滤波后的ACB编码矢量cτ,即yτ=Hcτ,等式13可以简化为τ*=argmanτx{(xwTyτ)2yτTyτ},...(13)]]>类似地,等式10可以简化为β=xwTyτyτTyτ....(14)]]>
因此等式13和14表示了按照顺序方法确定最优ACB索引τ和ACB增益β必要的两个表达式。这些表达式现在可以用于确定顺序最优的FCB索引和增益表达式。首先,从图3中可以发现,第二组合器306产生矢量x2,其中x2=xw-βHcτ。第一组合器305将感知差加权滤波器302的输出sw(n)减去加权合成滤波器301滤波后的过去激励信号u(n-L)产生矢量xw。项值βHcτ是ACB编码矢量cτ滤波和加权后的值,即ACB编码矢量cτ经过加权合成滤波器303滤波,然后基于ACB增益参数β进行加权。取代等式7中的表达式x2=xw-βHcτ,得到ε=x2-γHck‖2.(15)其中γHck是FCB编码矢量ck滤波和加权后的值,即FCB编码矢量ck经过加权合成滤波器304滤波,然后基于FCB增益参数γ进行加权。与上面最优ACB索引参数τ*推导类似,显然k*=argmaxk{(x2THck)2ckTHTHck},---(16)]]>其中k*是顺序最优FCB索引参数,即最大化相等式的FCB索引参数。通过将不依赖于k的项值分组,即让d2T=x2TH]]>和φ=HTH,等式16可以简化为k*=argmaxk{(d2Tck)2ckTΦck},---(17)]]>其中顺序优化FCB增益γ按照如下方式给出γ=d2TckckTΦck.---(18)]]>因此编码器300提供了一种按照顺序方式确定与最优激励矢量相关的参数τ,β,k和γ的方法和设备。然而,由于优化等式没有考虑选择一个码本编码矢量对于选择另外码本编码矢量的影响,所以参数τ,β,k,和γ的顺序确定事实上未达到最优。
为了更好的优化与码本相关的参数τ,β,k和γ,一篇由Woodward,J.P和Hanzo,L.,在1995年9月26到28日召开的IEEEConference on Radio Receivers and Associated Systems第114到118页发表的题为“Improvements to the Analysis-by Synthesis Loop in CELPCodecs”的论文讨论了几种联合搜索过程。其中一种讨论的联合搜索过程采取ACB和FCB全搜索。然而,如论文中所述,这样的联合搜索的复杂性几乎是顺序搜索过程的60倍。论文中讨论的另一种联合搜索过程可以获得与ACB和FCB全搜索相近的结果,而复杂性比顺序搜索过程增加30%到40%。然而,考虑处理器负载的话,当要求处理器运行不断增加的应用程序时,30%到40%复杂性的增加甚至都会给处理器带来额外的负担。
因此,有必要提供一种采取更为有效的方式确定综合分析中与码本相关的参数τ,β,k,和γ的方法和设备,且该方法和设备不涉及依照现有技术的联合搜索过程的复杂性。


图1是依照现有技术的码激励线性预测(CELP)编码器的结构图。
图2是依照现有技术的CELP解码器的结构图。
图3是依照现有技术另一种CELP编码器的结构图。
图4是依照本发明实施例的CELP编码器的结构图。
图5是依照本发明实施例图4所示CELP编码器对信号编码所执行步骤的逻辑流程图。
图6是依照本发明另一种实施例的CELP编码器的结构图。
图7是依照本发明另一种实施例CELP编码器判断是执行联合搜索过程还是顺序搜索过程所执行步骤的逻辑流程图。
具体实施例方式
为了满足提供一种采取更为有效的方式确定综合分析中与码本相关的参数τ,β,k和γ的方法和设备,且该方法和设备不涉及依照现有技术的联合搜索过程的复杂度的需要,这里提供了一种CELP编码器,采用比依照现有技术的编码器更为有效的方式优化码本参数。在本发明一种实施例中,CELP编码器基于计算相关矩阵优化与激励矢量相关的索引,而该矩阵基于滤波后的第一激励矢量。编码器随后至少基于部分目标信号,其中目标信号基于输入信号,估计差最小化标准和相关矩阵,并对应差最小化标准产生与激励矢量相关的索引参数。在本发明另一种实施例中,编码器反向滤波目标信号,产生反向滤波目标信号,并至少部分基于反向滤波目标信号和相关矩阵估计差最小标准。在本发明另一种实施例中,还提供了一种能够根据联合搜索加权因子联合优化和/或顺序优化多个与激励矢量相关参数的CELP编码器,从而完成最优的差最小化过程。
通常,本发明的一种实施例包含对信号综合分析编码的方法。该方法包括基于输入信号产生目标信号的步骤,产生第一激励矢量的步骤以及部分基于第一激励矢量产生相关矩阵一个或多个元素的步骤。该方法进一步包括部分基于目标信号和相关矩阵的一个或多个元素估计差最小化标准的步骤,以及基于差最小化标准产生与第一激励矢量相关联的参数的步骤。
本发明另一种实施例包含对子帧综合分析编码的方法。该方法包括计算联合搜索加权因子的步骤,以及基于所计算联合搜索加权因子执行优化过程的步骤,其中优化过程是多个与激励矢量相关参数中至少两个与激励矢量相关的参数的联合优化和多个与激励矢量相关参数中至少两个与激励矢量相关的参数的顺序优化的混合。
本发明另一种实施例包含综合分析编码设备。该设备包括基于输入信号产生目标信号的方法,产生第一激励矢量的矢量生成器,以及差最小化单元,该单元部分基于第一激励矢量产生相关矩阵一个或多个元素,至少部分基于相关矩阵一个或多个元素和目标信号估计差最小化标准,并基于差最小化标准产生与第二激励矢量关联的参数。
本发明的另一种实施例包含对子帧综合分析编码的编码器。该编码器包括处理器,其中处理器计算联合搜索加权因子,并基于联合搜索加权因子执行优化过程,其中优化过程是多个与激励矢量相关参数中至少两个与激励矢量相关的参数的联合优化和多个与激励矢量相关参数中至少两个与激励矢量相关的参数的顺序优化的混合。
依照图4到图7可以更全面地阐述本发明。图4是依照本发明实施例实现综合分析编码过程的码激励线性预测(CELP)编码器400的结构图。在诸如一个或多个微处理器、微控制器、数字信号处理器(DSP)以及本领域技术人员熟知的这类其它设备的各种组合的处理器中实现编码器400,并与诸如随机存取存储器(RAM)、动态随机存取存储器(DRAM)和/或只读存储器(ROM)或存储可以由处理器执行的数据和程序的同等设备的一个或多个关联存储设备通信。
图5是依照本发明实施例编码器400对信号进行编码所执行步骤的逻辑流程图。当输入信号s(n)应用于感知差加权滤波器404时,逻辑流程500开始(502)。加权滤波器404通过加权函数W(z)对输入信号进行加权(504),产生加权输入信号sw(n),此加权输入信号可以按照矢量形式表示成矢量sw。此外,过去激励信号u(n-L)与对应的零输入响应Hzir(z)应用于加权合成滤波器402。加权输入信号sw(n)与加权合成滤波器402产生的过去激励信号u(n-L)的滤波值都传送到第一组合器414。第一组合器414将加权输入信号sw(n)减去(506)过去激励信号u(n-L)的滤波值,产生目标输入信号xw(n)。在矢量表示中,目标输入信号xw(n)可以表示成矢量xw,其中xw=sw-hzir,且hzir对应于由加权合成滤波器402滤波的过去激励信号u(n-L)。随后第一组合器414将目标输入信号xw(n)或矢量xw传送给第二组合器416。
矢量生成器406基于由差最小化单元420提供给矢量生成器的与激励矢量相关的参数τ生成(508)初始第一激励矢量cτ。在本发明实施例中,矢量生成器406是诸如存储多个矢量的自适应码本的虚拟码本,而参数τ是与存储在码本的多个矢量中一个矢量对应的索引参数。在这种实施例中,cτ是自适应码本(ACB)编码矢量。在本发明另一种实施例中,矢量生成器406是长时预测(LTP)滤波器,而参数τ是与过去激励信号u(n-L)相关的迟延。
初始第一激励矢量cτ传送给第一零状态加权合成滤波器408,该滤波器具有相应的传输函数Hzs(z),或者用矩阵H表示。加权合成滤波器408对初始第一激励矢量cτ进行滤波(510),产生信号yτ(n),或者表示成矢量形式yτ,其中yτ=Hcτ。随后,第一加权器409基于与初始第一激励矢量相关的增益参数β对滤波后的初始第一激励矢量yτ(n),或yτ进行加权(512),且加权的滤波的初始第一激励矢量βyτ,或βHcτ传送到第二组合器416。
第二组合器416将目标输入信号或矢量xw减去(514)加权的滤波的初始第一激励矢量βyτ,或βHcτ,以产生中间信号x2(n),或者以矢量形式标为矢量x2,其中x2=xw-βHcτ。随后第二组合器416将中间信号x2(n)或矢量x2传送给第三组合器418。第三组合器418还接收优选为固定码本(FCB)编码矢量的初始第二激励矢量ck的加权滤波值。优选为固定码本(FCB)的码本410基于优选为FCB索引参数的与初始第二激励矢量相关的索引参数k生成(516)初始第二激励矢量ck。初始第二激励矢量ck传送给第二零状态加权合成滤波器412,该滤波器具有对应的传输函数Hzs(z),或矩阵形式H。加权合成滤波器412对初始第二激励矢量ck进行滤波(518),产生信号yk(n),或者表示成矢量形式yk,其中yk=Hck。随后第二加权器413基于与初始第二激励矢量相关的增益参数γ对滤波后的初始第二激励矢量yk(n)或yk进行加权(520)。加权滤波后的初始第二激励矢量γyk,或γHck随后也传送到第三组合器418。
与编码器300类似,这里使用的符号定义如下
·H是根据诸如合成滤波器303和304的加权合成滤波器的脉冲响应形成的LxL零状态加权合成卷积矩阵,并与传输函数Hzs(z)或H(z)对应,该矩阵可以表示如下 ·hzir是对应于前一个输入状态H(z)的Lxl零输入响应,·sw是Lxl感知差加权输入信号,·β是与第一激励矢量相关的标量增益,·cτ是根据参数τ产生的Lxl第一激励矢量,·γ是与第二激励矢量相关的标量增益,以及·ck是根据索引参数k产生的Lxl第二激励矢量。
尽管这里将矢量生成器406描述成虚拟码本或LTP滤波器,且将码本410描述成固定码本,但是本领域技术人员明白在不违背本发明精神和范围的基础上,码本的排列和各自的编码矢量可以多种多样。例如,第一码本可以是固定码本,第二码本是自适应码本,或者第一和第二都可以是固定码本。
第三组合器418将中间信号x2(n)或中间矢量x2减去(522)加权滤波后的初始第二激励矢量γyk.或γHck,产生感知加权差信号e(n)。感知加权差信号e(n)随后传送给优选为平方差最小化/参数量化模块的差最小化单元420。差最小化单元420通过最小化差信号e(n)的平方和,使用差信号e(n)联合确定(524)多个与激励矢量相关的优化编码器400性能的参数τ,β,k和γ中的至少三个。索引参数τ和k的优化,即τ*和k*的确定分别生成(526)矢量生成器406的最优第一激励矢量cτ*和码本410的最优第二激励矢量ck*,而参数β和γ的优化分别获得最优激励矢量cτ*和ck*滤波值的最优加权(528),从而产生(530)输入信号的最佳估计s(n)。随后逻辑流程结束(532)。
与编码器300的平方差最小化/参数量化模块308通过执行顺序优化过程确定最优的一组多个与码本相关的参数τ,β,k和γ不同,编码器400的差最小化单元420通过在步骤(524)执行联合优化过程确定最优的一组与激励矢量相关的参数τ,β,k和γ。通过执行联合优化过程,由于在每个参数的优化中考虑了选择一个激励矢量对于选择另外一个激励矢量的影响,与激励矢量相关的参数τ,β,k和γ的确定是最优的。
在矢量表示中,差信号e(n)可以表示为矢量e,其中e=xw-βHcτ-γHck。该表达式表示了由编码器400的第三组合器418产生的感知权重差(或失真)信号e(n),或差矢量e,并通过组合器连接到差最小化单元420。编码器400的差最小化单元在步骤(524)执行的联合优化过程寻求最小化感知加权平方差的加权值,即‖e‖2,且可以按照如下方式推导。
基于第三组合器428产生的差矢量e,可以按照如下方式定义总平方差,或联合差ε,其中ε=‖e‖2ε=‖xw-βHcτ-γHck‖2.(19)等式19展开得到下面的等式ϵ=xwTxw-2βxwTHcτ-2γxwTHck+β2cτTHTHcτ+2βγcτTHTHck+γ2ckTHTHck.---(20)]]>等式20中出现的“矢量生成器406/码本410”或“第一码本/第二码本”的交叉项βγcτTHTHck没有出现在依照现有技术的编码器300执行的顺序优化过程中。具有由编码器400执行的联合优化分析对应的交叉项,而没有由编码其器300所执行的过程对应的项,对于分别选择最优激励矢量索引τ*和k*和对应激励矢量cτ*和ck*具有重要的作用。对上面的表达式,即等式20取偏导数,并设置偏导数等于零,获得下面一组同时得到的等式,这组等式可以用于推导合适的差最小化标准
∂ϵ∂β=xwTHcτ-βcτTHTHcτ-γcτTHTHck=0,---(21)]]>∂ϵ∂γ=xwTHck-βcτTHTHck-γckTHTHck=0.---(22)]]>将等式21和22改写成矢量形式,得到下面的等式xwTHcτck=cτTHTHcτckTHTHcτcτTHTHckckTHTHckβγ.---(23)]]>通过合并不依赖于τ或k的项,即让dT=xwTH]]>和φ=HTH可以简化等式23,产生如下等式dTcτcτ=cτTΦcτckTΦcτcτTΦckckTΦckβγ,---(24)]]>或同等地dTcτcτ=cτTckTΦcτckβγ.---(25)]]>通过让C等于编码矢量集[cτck],即C=[cτck],并解[βγ],差最小化单元420可以基于下面的等式联合确定最优的第一和第二码本增益[βγ]=dTC[CTφC]-1.(26)显然等式26与最优增益表达式,即等式10和18在顺序情况下类似,除了C包含Lx2的矩阵而不是Lxl的矢量。现在参考联合差表达式,即等式20,并改写等式20的项dT和φ,产生等式ϵ=xwTxw-2βdTcτ-2γdTck+β2cτTΦcτ+2βγcτTΦck+γ2ckTΦck,---(27)]]>或同等地ϵ=xwTxw-2dTcτckβγ+βγcτTckTΦcτckβγ.---(28)]]>在等式20中用激励矢量集C=[cτck]和与激励矢量相关的联合最优增益[βγ]=dTC[CTφC]-1代替对应的项,产生如下等式ϵ=xwTxw-2dTC([CTΦC]-1CTd)+(dTC[CTΦC]-1)CTΦC([CTΦC]-1CTd)·---(29)]]>
由于CTφC[CTφC]-1=I,等式29可以简化为ϵ=xwTxw-dTC[CTΦC]-1CTd.---(30)]]>基于等式30,编码器400的差最小化单元420可以联合确定第一和第二与激励矢量相关的索引τ*和k*的等式可以表示如下τ*k*=argmaxτ,k{dTC[CTΦC]-1CTd},---(31)]]>该等式与等式13和17类似,且等式的右边包含由差最小化单元估计的差最小化标准。等式31表示了第一和第二激励矢量cτ*和ck*同时的联合优化和基于最小加权平方差的对应的增益。
然而,这种联合优化的实现相当复杂。为了提供一种简化的、易于实现的方法,在本发明另一种实施例中,第一激励矢量cτ可以由差最小化单元420优选通过等式14预先优化,而剩下的参数ck,β和γ可以随后由差最小化单元采用联合优化的方式确定。在这种实施例中,在推导可以由差最小化单元420执行的简化表达式中,等式31的差最小化标准,即等式31的右边,可以通过展开等式消除与ck独立的项,改写成以下形式k*=argmaxk{dT[cτck]cτTΦcτcτTΦckckTΦcτckTΦck-1cτckTd}.---(32)]]>倒置内矩阵并用中间变量替代,获得用于优化与第二激励矢量相关的索引参数k的如下等式k*=argmaxk{1Dk(MAk2-2NAkBk+RkN2)}---(33)]]>其中M=cτTΦcτ,]]>N=dTcτ,Bk=cτTΦck,]]>Ak=dTck,Rk=cτTΦck,]]>而等式32倒置矩阵的行列式,即Dk,可以用如下等式表示Dk=cτTΦcτckTΦck-ckTΦcτcτTΦck=MRk-Bk2.]]>需要注意的是,M是滤波后的第一激励矢量的能量,N是加权语音和滤波后的第一激励矢量之间的相关系数,Ak是反向滤波目标矢量和第二激励矢量之间的相关系数,而Bk是滤波后的第一激励矢量和第二滤波后的激励矢量之间的相关系数。
典型地,与顺序搜索优化过程相比,联合搜索优化过程的一个缺陷在于联合搜索优化过程由于需要计算联合搜索优化等式分子和分母的额外操作带来的相对复杂性。然而,通过变换等式33的参数形成类似于等式17的表达式,联合搜索过程中第二与激励矢量相关的索引优化等式即等式33的复杂性,近似等于编码器300执行的顺序搜索中第二码本索引优化等式的复杂性。
再次参考编码器400,由于M和N2都是非负且独立于k,所以可以解下面的等式作为解等式33的替代k*=argmaxk{MN2Dk(MAk2-2NAkBk+RkN2)}---(34)]]>让ak=MAk,bk=NBk,Rk′=MN2Rk,]]>和Dk′=N2Dk,]]>等式34可以改写为k*=argmaxk{1Dk′(ak2-2akbk+Rk′)}---(35)]]>观察到Dk′=N2Dk=N2MRk-N2Bk2,]]>Rk′=MN2Rk]]>和bk=NBk,项Rk′可以表示成Dk′的形式,即Rk′=Dk′+bk2.]]>在等式35中替换后面的表达式,得到如下代数计算k*=argmaxk{1Dk′(ak2-2akbk+Dk′+bk2)}---(36a)]]>k*=argmaxk{1Dk′((ak-bk)2+Dk′)}---(36b)]]>k*=argmaxk{(ak-bk)2Dk′+1}---(36c)]]>由于等式36c中的常数即“1”对于最大化过程没有作用,该常数可以移除,从而等式36c可以改写为k*=argmaxk{(ak-bk)2Dk′}---(37)]]>接下来,联合搜索的参数可以转换为依照现有技术的顺序FCB搜索的两个预先计算的参数,从而在差最小化单元420执行的联合搜索过程中使用顺序FCB搜索算法。这两个预先计算的参数是相关矩阵φ′和反向滤波目标信号d’。再参考基于顺序搜索的CELP编码器300和等式17,在编码器300执行的顺序搜索中,最优的FCB激励矢量索引k*按照如下方式从差最小化标准中获得k*=argmaxk{(d2Tck)2ckTΦck},---(17)]]>其中等式的右边包含差最小化标准,且d2T=x2TH,]]>和φ=HTH。依照编码器400描述的实施例,可以计算等式37产生与等式17形式类似的等式。更为特殊地,等式37可以排列成分子是两个矢量(其中之一独立于k)的内积,而分母是ckTφ′ck的形式,其中相关矩阵φ′也独立于k。
为了将等式37的分母表达成与等式17的分母类似的形式,首先将等式37的分子与等式17的分子进行比较和类推。也就是,d′Tckak-bk(38)d′TckMAk-NBk(38a)d′Tck⇔(cτTΦcτ)dTck-(dTcτ)cτTΦck---(38b)]]>d′Tck⇔(yτTyτ)xwTHck-(xwTyτ)yτTHck---(38c)]]>d′T=((yτTyτ)xwT-(xwTyτ)yτT)H---(39)]]>根据等式39,显然如果等式15的最优化ACB增益γ用于顺序搜索,并进一步根据等式16说明d2T=x2TH=(xw-βyτ)TH,]]>可以推导出d′T=(yτTyτ)d2T=Md2T.---(40)]]>
其中项d′是由差最小化单元520通过对目标信号进行反向滤波产生的反向滤波目标信号。等式40说明等式37的分子仅仅是等式17分子的标量形式,且更为重要的是,编码器400的差最小化单元420执行的联合搜索过程的分子的计算复杂性本质上与编码器300执行的顺序搜索过程分子的计算复杂性相等。
接下来,为了将等式37的分母表示成与等式17的分母类似的形式,将等式37的分母与等式17的分母进行比较和类推。也就是ckTΦ′ck⇔Dk′---(41)]]>通过替代前面定义的项,可以推导出下面的同等表达式的序列ckTΦ′ck⇔N2MRk-N2Bk2---(41a)]]>ckTΦ′ck⇔N2MckTΦck-N2(cτTΦck)2---(41b)]]>由于φ=HTH是对称的,从而φ=φT=HTHckTΦ′ck⇔N2MckTΦck-N2ckTΦcτcτTΦck---(41c)]]>ckTΦ′ck⇔ckT(N2MΦ-N2ΦcτcτTΦ)ck---(41d)]]>ckTΦ′ck⇔ckT(N2MΦ-N2HTyτyτTH)ck---(41e)]]>现在让y=HTyτ,等式4le可以改写成ckTΦ′ck⇔ckT(N2MΦ-N2yyT)ck---(41f)]]>而相关矩阵可以改写成φ′=N2Mφ-N2yyT.(42)最后,差最小化单元420可以确定最优的与激励矢量相关的索引参数k*,该参数基于如下等式,对于联合优化过程根据差最小化标准(等式的右边)优化差的最小值k*=argmaxk{(d′Tck)2ckTΦ′ck}---(43)]]>
或者k*=argmaxk{(Md2Tck)2ckT(N2MΦ-N2yyT)ck}---(44)]]>由于等式17和44中的差最小化标准的形式通常相同,所以项d′和φ′可以预先计算,且任何现有的顺序搜索过程可以在不进行大的修改的基础上转换成联合搜索过程。尽管基于等式44的分母的复杂,预先计算的步骤似乎比较复杂,但是下面简单的分析将说明增加的复杂性即使不算微不足道的话也是非常低的。
首先,如上讨论所述,相比等式17的分子,等式44的分子附加的复杂性是微不足道的。给定长度为L=40个采样的子帧,附加的复杂性是每个子帧40倍。由于等式14中已经存在计算最优τ的M=yτTyτ,]]>所以不需要附加的计算。对于下面N=xwTyτ]]>的计算也一样。
其次,对于等式44的分母,y=HTyτ的产生需要几乎一半的长度L的线性卷积,或者大概40×42/2=840个乘累加(MAC)运算。
在矩阵φ=HTH产生前通过 调节脉冲响应h(n)的元素,可以有效地实现矩阵φ按照N2M的比例缩放。这只需要平方根操作和大概40个乘法操作。类似地,按照N比例缩放矢量y只需要大概40个乘法操作。最后,产生缩放后的yyT矩阵并从缩放后的φ矩阵中减去缩放后的yyT矩阵对于40×40的矩阵只需要大概840个乘累加操作。这是因为Y=yyT定义为秩1矩阵(即Y(i,j)=y(i)y(j)),而且可以在按照如下方式形成相关矩阵φ′的时候有效产生′(i,j)=(i,j)-y(i)y(j),0≤i<L,0≤j≤i.(45)对于本领域技术人员,显然根据等式45,整个相关矩阵φ′不需要一次产生。在本发明不同的实施例中,为了节省产生整个相关矩阵关联的存储器(RAM),差最小化单元420可以在给定的时间内只产生一个或多个φ′(i,j)元素,这一个或多个φ′(i,j)元素可以用于差最小化标准的估计,从而确定最优的增益参数k,即k*。此外,为了产生相关矩阵φ′,由于对称性,差最小化单元420只需要产生一部分相关矩阵,比如相关矩阵的上三角部分或下三角部分。因此,对于长度40的子帧,从顺序搜索过程到联合搜索过程所需要增加的全部复杂性近似为每子帧40+840+40+40+840=1800个乘法操作,或者对于电信应用中许多语音编码标准中典型的实现方式,大概需要1800个乘法操作/子帧×4子帧/帧×50帧/秒=360,000个操作/秒。当考虑到码本搜索程序可以轻易地达到每秒500万到1000万个操作的时候,联合搜索过程在复杂性的消耗只占3.6%到7.2%。在保持相同的性能优势的同时,这个消耗相比依照现有技术Woodward和Hanzo论文中推荐的联合搜索过程的30%到40%更为有效。
因此,可以发现,通过基于相关矩阵φ′优化与激励矢量相关的索引,编码器400可以更为有效地确定综合分析的参数τ,β,k和γ,其中相关矩阵可以在联合优化过程之前预先计算。编码器400部分基于滤波后的第一激励矢量产生相关矩阵,其中滤波后的第一激励矢量依次基于与激励矢量相关的初始第一索引参数。随后为了至少部分基于目标信号确定最优的与激励矢量相关的第二索引参数,编码器估计差最小化标准,其中目标信号依次基于输入信号和相关矩阵。然后编码器400基于差最小化标准产生最优的与激励矢量相关的第二索引参数。在本发明的另一种实施例中,编码器反向滤波目标信号,产生反向滤波目标信号d’并基于至少部分反向滤波目标信号和相关矩阵估算第二码本差最小化标准。
现在回到参考等式44,该等式说明如果矢量y=0,则联合搜索的表达式与等式17表示的对应的顺序搜索过程相等。这一点非常重要,因为如果在综合分析的过程中存在一定的次优或非线性操作,动态选择何时执行或何时不执行这里描述的联合搜索过程将非常有利。结果,在本发明的另一种实施例中,对于与激励矢量相关的参数的优化,综合分析编码器能够执行混合的联合搜索/顺序搜索过程。为了判定执行哪个搜索过程,综合分析编码器包括了在顺序搜索过程的性能和联合搜索过程的性能之间选择的选择机制。优选地,选择机制包括使用联合搜索加权因子λ来协助编码器在联合搜索和顺序搜索之间的平衡。在这样的实施例中,最优的与激励矢量相关的索引k*的表达式如下所示k*=argmaxk{(Md2Tck)2ckT(N2MΦ-λN2yyT)ck}---(46)]]>其中0≤λ≤1定义了联合搜索加权因子。如果λ=1,该表达式与等式44相同,如果λ=0,常数项(M,N)对于所有码本条目ck具有相等的影响,所以该表达式与等式17的结果一致。在这两个极值之间的数值将产生在顺序和联合搜索过程之间的一些折中。
现在参考图6和图7,图示了能够执行联合搜索过程和顺序搜索过程的综合分析解码器。图6是依照本发明另一种实施例,能够执行联合搜索过程和顺序搜索过程的典型的CELP编码器600的结构图600。图7是编码器600在判定执行联合搜索过程还是顺序搜索过程所执行步骤的逻辑流程图700。编码器600使用联合搜索加权因子λ准许编码器600来判定是执行联合搜索过程还是顺序搜索过程。编码器600通常与编码器400类似,除了编码器600包括一个零状态基音预滤波器602,该滤波器对第二码本410产生的激励矢量ck进行滤波,此外编码器还包括差最小化单元,也就是平方差最小化/参数量化模块,用于计算联合搜索加权因子λ并基于所计算的联合搜索加权因子判定是执行联合搜索过程还是顺序搜索过程。在本领域基音预滤波器是众所周知的,这里不作详述。例如,ITU Place des Nations,CH-1211Geneva 20,Switzerland提供的ITU-T(Intemational TelecommunicationUnion-Telecommunication Standardization Section)RecommendationG.729以及题为“CS-ACELP Speech Compression System with AdaptivePitch Prediction Filter Gain Based on a Measure of Periodicity”的美国专利5,664,055中都描述了典型的基音预滤波器。
零状态基音预滤波器的传输函数可以表示如下P(z)=11-β′z-τ---(47)]]>其中β′是最优的与激励矢量相关的参数增益β的函数,即β′f(β)。为了在码本搜索过程中易于实现和引入尽可能少的复杂性,在搜索过程之前,基音预滤波器602与编码器600的加权合成滤波器412的加权合成滤波器脉冲响应h(n)进行卷积。卷积的方法众所周知。然而,由于联合搜索中与激励矢量相关的增益β的最优值还未确定,现有技术的联合搜索(以及ITU-T Recommendation G.729中描述的顺序搜索过程)采用前一个子帧的量化后的与激励矢量相关的增益的函数作为基音预滤波器的增益,即β′(m)=f(βq(m-1)),其中m表示当前子帧,而m-1表示前一个子帧。由于该数值必须用于解码器,所以这里使用量化后的增益非常重要。然而,由于被编码的信号的属性很可能一直在变,所以基于前一子帧的参数用于当前帧是次优化的。
现在参考图7,对于子帧的编码,诸如编码器600的CELP编码器,通过差最小化单元604,优选的是编码器600的平方差最小化/参数量化模块计算(702)联合搜索加权因子λ判定是执行联合搜索过程还是顺序搜索过程,并基于联合搜索加权因子,由平方差最小化/参数量化模块执行(704)混合的联合搜索/顺序搜索过程,也就是对于等式46,联合优化或顺序优化第一激励矢量和对应的与激励矢量相关的第一增益参数、第二激励矢量和对应的与激励矢量相关的第二增益参数中的至少两个,或者执行两种过程之间的优化过程。
再次参考图6,在本发明的一种实施例中,在编码器600的差最小化单元执行的优化过程中,需要加重当前帧的周期性。当当前子帧的基音周期小于子帧长度且未量化的与激励矢量相关的增益较高时,这要通过调小联合搜索加权因子完成。这可以用如下表达式表示
λ=1,τ≥L0≤f(β)≤1,τ<L---(48)]]>其中f(β)依据经验确定为f(β)=1-β2,但是其它的函数同样可以。这样会对较高周期的信号使用顺序搜索过程进行更多的加重,此时基音周期小于子帧长度,从而在等式13和14表示的自适应码本搜索的时候确定周期性的程度。因此,当在确定联合搜索加权因子中加重当前帧的周期性的时候,编码器600在周期作用(β)较低的时候倾向联合优化过程,而在周期作用较高时倾向顺序优化过程。例如,当迟延τ小于子帧长度L时,周期性的程度相对较低(β=0.4),从而联合搜索加权因子的值是λ=1-(0.4)2=0.86,表示86%的权重倾向联合搜索。
在本发明的另一种实施例中,编码器600的差最小化单元604可以将因子λ作为未量化的与激励矢量相关的增益β和基音延迟的函数。这可以用如下表达式表示λ=1,τ≥L0≤f(β,τ)≤1,τ<L.---(49)]]>当迟延较低且未量化的与激励矢量相关的增益β较高时,周期效应更为突出。因此,在与激励矢量相关的增益β较高或基音延迟较低的时候,需要将因子λ控制在较小的水平。下面的函数f(β,τ)=1.0,β(1-τL)<0.21-0.18β(1-τL),otherwise---(50)]]>根据经验能够产生所需的效果。因此在确定联合搜索加权因子中对未量化的ACB增益和基音延迟加重的时候,编码器600倾向联合搜索过程,否则联合搜索加权因子的确定倾向顺序优化过程。例如,当迟延τ=30且小于子帧长度L=40,而且周期程度相对较低(β=0.4)的时候,联合搜索加权因子的值是λ=1-0.18×0.4×(1-30/40)=0.98,意味着98%的权重倾向联合搜索。
简言之,这里提供了比现有技术的编码器更为有效地优化与激励矢量相关的参数的CELP编码器。在本发明的一种实施例中,CELP编码器基于所计算的相关矩阵优化与激励矢量相关的索引,其中矩阵依次基于滤波后的第一激励矢量。然后该编码器至少部分基于目标信号和相关矩阵估算差最小化标准,其中目标信号基于输入信号,并根据差最小化标准产生与激励矢量相关的索引参数。在本发明的另一种实施例中,编码器还反向滤波目标信号产生反向滤波目标信号并估算第二码本。在本发明的另一种实施例中,提供了根据联合搜索加权因子能够联合优化和/或顺序优化码本参数的CELP编码器,从而能够执行最优的差最小化过程。
尽管这里依照特定的实施例图示并描述了本发明,但是本领域技术人员知道,在不违背下面权利要求所阐明的本发明范围的基础上,可以进行多种修改和同等替换。因此,说明书和附图只是作为阐述性的而非限制性的,且所有这类修改和替换都包括在本发明的范围内。
上面对于特定的实施例描述了好处、其它优点和问题的解决方案。然而,可能导致任何好处、优点或解决方案发生或更为显著的好处、优点、问题的解决方案和任何元素并不作为任何或所有权利要求的严格的、必需的或基本的特点或元素。在这里的使用中,术语“包括”、“包含”或任何相关的变化都指的是涵盖非排外的包括,因此,包含一系列元素的过程、方法、物品或设备并不仅仅包括这些元素,而可以包括其它没有清楚列举或这些过程、方法、条款或设备内在的元素。进一步需要说明的是,例如第一和第二,顶部和底部以及类似的相关类术语的使用仅仅作为区分实体或动作,而不需要或暗示这些实体或动作之间实际的关系或次序。
权利要求
1.一种对信号进行综合分析编码的方法,包含如下步骤基于输入信号生成目标信号;生成第一激励矢量;部分基于第一激励矢量,生成相关矩阵的一个或多个元素;部分基于目标信号和相关矩阵的一个或多个元素,估算差最小化标准;和基于差最小化标准,生成与第二激励矢量相关联的参数
2.如权利要求1所述的方法,进一步包含对目标信号反向滤波,产生反向滤波目标信号的步骤,且其中估算第二码本差最小化标准的步骤包含至少部分基于反向滤波目标信号和相关矩阵的一个或多个元素估算差最小化标准的步骤。
3.如权利要求1所述的方法,其中,根据差最小化标准生成与第二激励矢量相关联的参数包含如下步骤基于差最小化标准,生成与激励矢量相关的索引参数;和基于与激励矢量相关的索引参数,生成第二激励矢量。
4.如权利要求1所述的方法,其中,第二激励矢量是码本生成的第二编码矢量,其中在第二编码矢量生成前,第一码本生成第一编码矢量,该方法进一步包括如下步骤组合目标信号和得自第一激励矢量的矢量,产生中间矢量;基于中间矢量和第一编码矢量产生差矢量;和其中,生成相关矩阵的一个或多个元素的步骤包含基于差矢量产生相关矩阵的一个或多个元素的步骤。
5.一种对子帧进行综合分析编码的方法,包括如下步骤;计算联合搜索加权因子;和基于所计算的联合搜索加权因子执行优化过程,该过程是多个与激励矢量相关的参数中至少两个与激励矢量相关的参数的联合优化以及多个与激励矢量相关的参数中至少两个与激励矢量相关的参数的顺序优化的混合。
6.权利要求5所述的方法,其中,计算联合搜索加权因子的步骤包含确定子帧长度和确定子帧基音周期的步骤,且其中执行联合优化过程和顺序优化过程的混合优化过程的步骤包含如下步骤比较所确定的子帧长度和所确定的子帧基音周期,获得比较结果;和基于比较结果执行优化过程,该过程是多个与激励矢量相关的参数中至少两个与激励矢量相关的参数的联合优化以及多个与激励矢量相关的参数中至少两个与激励矢量相关的参数的顺序优化的混合。
7.如权利要求5所述的方法,其中,子帧包含当前子帧,其中计算联合搜索加权因子的步骤包含确定与前一子帧关联的增益的步骤,且执行联合优化过程和顺序优化过程的混合优化过程包含根据所确定的与前一子帧关联的增益,执行优化过程的步骤,其中该优化过程是多个与激励矢量相关的参数中至少两个与激励矢量相关的参数的联合优化以及多个与激励矢量相关的参数中至少两个与激励矢量相关的参数的顺序优化的混合。
8.一种综合分析编码设备,包括基于输入信号生成目标信号的装置;生成第一激励矢量的矢量生成器;和差最小化单元,该单元部分基于第一激励矢量生成相关矩阵的一个或多个元素,至少部分基于相关矩阵的一个或多个元素和目标信号估算差最小化标准,并且基于差最小化标准生成与第二激励矢量关联的至少一个参数。
9.如权利要求8所述的设备,其中,差最小化单元进一步对目标矢量进行反向滤波,产生反向滤波目标信号,且其中差最小化单元至少部分基于相关矩阵的一个或多个元素和反向滤波目标信号估算差最小化标准。
10.如权利要求8所述的设备,其中,差最小化单元基于差最小化标准生成多个参数,其中矢量生成器基于多个参数中的第一参数生成第二矢量生成器激励矢量,且其中设备进一步包含基于多个参数中的第二参数生成码本编码矢量的码本。
11.如权利要求10所述的设备,其中,设备进一步包含第一加权器,该加权器基于多个参数中的第三参数将第一增益应用于第二矢量生成器激励矢量;和第二加权器,该加权器基于多个参数中的第四参数将第二增益应用于码本编码矢量。
12.如权利要求8所述的设备,其中,设备进一步包含码本,其中第二激励矢量包含码本生成的第二编码矢量,其中在矢量生成器产生第一激励矢量之后,由码本生成第一编码矢量,其中设备进一步包含第一组合器,将目标矢量与得自第一激励矢量的矢量组合,产生中间矢量;第二组合器,基于中间矢量和第一编码矢量产生差矢量;和其中,基于差矢量,差最小化单元生成相关矩阵。
13.一种对子帧进行综合分析编码的编码器,该编码器包含处理器,该处理器计算联合搜索加权因子,并基于联合搜索加权因子,执行优化过程,该优化过程是多个与激励矢量相关的参数中至少两个与激励矢量相关的参数的联合优化以及多个与激励矢量相关的参数中至少两个与激励矢量相关的参数的顺序优化的混合。
14.如权利要求13所述的编码器,其中,处理器通过确定子帧的长度和子帧的基音周期计算联合搜索加权因子,其中处理器比较所确定的子帧长度和所确定的子帧基音周期,获得对比结果,且处理器根据对比结果执行混合优化过程。
15.如权利要求13所述的编码器,其中,子帧包含当前子帧,其中处理器通过确定与前一子帧关联的增益计算联合搜索加权因子,且处理器根据所确定的前一子帧的增益执行混合优化过程。
全文摘要
这里提供了一种比现有技术的编码器更为有效地优化与激励矢量相关的参数的CELP编码器。在一种实施例中,CELP编码器(400)基于所计算的相关矩阵 (Φ′)优化与激励矢量相关的参数(τ,β,k和γ),其中矩阵依次基于滤波后的第一激励矢量(y
文档编号G10L19/00GK1711587SQ200380102804
公开日2005年12月21日 申请日期2003年11月6日 优先权日2002年11月8日
发明者乌达·米塔尔, 詹姆斯·P·阿什利, 埃德加多·M·克鲁兹 申请人:摩托罗拉公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1