一种建立增益码书的方法

文档序号:2829389阅读:446来源:国知局
专利名称:一种建立增益码书的方法
技术领域
本发明涉及移动通信领域的语音编码技术,具体来说,涉及一种建立增益码书的方法。
背景技术
随着信息社会和通信技术的高速发展,语音编码逐渐成为人们生活中一项必不可少的技术。语音编码即压缩语音信号的数字表示而使表达这些信号所需的比特需求最小。语音编码目前主要分为三类,即波形编码、参数编码和混合编码。波形编码具有适应能力强、话音质量高等优点,但所需要的比特率较高。而参数编码的比特率一般很低,但是其编码质量较差,合成出的语音自然度较低。混合编码克服了波形编码和参数编码的弱点,同时又结合了它们各自的长处,在4-16kb/s速率上可以得到高质量的合成语音。代数码激励线性预测(ACELP)语音编码作为一种非常成功的混合语音编码方法,在ITU的许多语音编码标准中得到了应用,如G.722.2、G.723.1、G.729等。
现有技术中,采用矢量量化码书的建立方法有很多。在大多数ACELP类语音编码中,自适应码书和固定码书的增益均采用矢量量化的方法,但并没有一种具有一般意义的增益码书的建立方法。在矢量量化技术中,若要得到较好的量化效果,就要充分利用量化对象的各种性质,只有这样才能得到高质量的矢量码书。因此,对于不同的量化对象,其矢量码书的建立方法中的关键技术是完全不同的。在ACELP语音编码中,自适应码书增益和固定码书增益是两个重要的量化对象,人们通常根据相邻帧固定码书增益之间的相关性,采用预测矢量量化方法来量化码书增益,以达到降低比特数的目的。但由于不同速率的ACELP语音编码器的激励帧长度不同,导致相邻帧间码书增益不同,相邻帧间码书增益的关联性不强,致使很难建立一种具有一般意义的增益码书方法。因此,人们希望找到一种具有一般意义的增益码书建立方法,使之适用于不同的语音编码系统,得到高质量的增益码书。

发明内容
本发明的目的在于提供一种建立增益码书的方法,解决现有技术中不能在ACELP语音编码中建立一般意义增益码书的问题。
为实现上述目的,本发明采用如下的技术方案一种建立增益码书的方法,该方法应用于语音编码系统中,并对训练集中的数字语音信号进行预处理后生成随机激励信号,所述的每个随机激励信号由多个激励子帧组成,其特征在于,包括如下步骤A、预编码训练集中的数字语音信号,生成包含有对数能量矢量的训练矢量序列并以数据文件的形式保存,所述每一个激励子帧对应有一所述的训练矢量序列;B、从所述数据文件中取出所述每一个子帧的训练矢量序列中的对数能量矢量,根据所述对数能量矢量求出所述随机激励信号的平均对数能量及所述平均对数能量的预测系数;C、根据所述训练矢量序列、平均对数能量及其预测系数计算感知加权平方误差,并迭代查找最小的感知加权平方误差来确定增益码书。
所述训练矢量序列除了所述随机激励信号的对数能量E,还包括每一激励子帧的自适应码书增益ga、固定码书增益gs、随机代数码矢量的能量Ea、目标矢量的能量Rx0x0、自适应码矢量经过感觉加权合成滤波器零状态响应的能量Rxx、随机码矢量经过感觉加权合成滤波器零状态响应的能量Rtt、目标矢量与自适应码矢量经过感觉加权合成滤波器零状态响应的内积Rx0x、目标矢量与随机码矢量经过感觉加权合成滤波器零状态响应的内积Rx0t和随机码矢量与自适应码矢量分别经过感觉加权合成滤波器零状态响应的内积Rxt,所述训练矢量序列构成了增益码书训练集合中的一个10维矢量,所述矢量按顺序保存于在一个二进制文件中。
所述步骤B具体包括以下步骤B1,从存储的数据文件中提取所述训练矢量序列中的每一子帧的随机激励信号的对数能量E,并求出它们的平均值E;B2,取出每一子帧的随机激励信号的对数能量E,将所述对数能量减去所述平均值E,获得所述对应子帧的随机激励信号的无偏对数能量 B3、利用所述无偏对数能量 得到随机激励信号无偏对数能量 的线性预测系数。
所述步骤C具体包括C1、设置停止门限ε和码书NB,初始化质心并获取当前码书;C2、将当前码书的体积与设置码书NB进行比较,若当前码书的体积大于等于设置码书则转到步骤C3执行,否则转到步骤C5;C3、获取当前码书的最佳划分,提取最佳划分中的当前状态下的第k次迭代累计失真DK和第k-1次迭代累计失真DK-1,若|DK-DK-1|/DK小于所述停止门限ε,则转到步骤C4执行,否则求出新的形心及对应的当前码书,再迭代执行步骤C3;C4、判断有无典型胞腔,若最大胞腔的矢量数与最小胞腔的矢量数之比大于等于所述训练矢量序列的个数,则转到步骤C2执行,否则获取新的质心,即将最大胞腔的码字与扰动因子相乘得到新的码字来代替原有最大和最小胞腔的码字,转到步骤C3执行;C5、当当前码书体积小于NB时,完成码书的建立,确定增益码书。
所述步骤B3包括B31、设置所述训练矢量序列中第n个子帧的无偏对数能量预测误差en,所述en=Etn-E%n,]]>其中 为第n个子帧无偏对数能量的预测值;B32、由所述无偏对数能量预测误差得到所有误差的平方和ERR,并根据所述平方和ERR微分求出所述随机激励信号无偏对数能量 的线性预测系数。
所述步骤B3具体包括令 为第n子帧无偏对数能量的预测值,即E%n=Σi=1pbiEtn-i]]>上式bi为预测器系数,p为预测器阶数。p的取值与编码器的子帧长度有关,令en=Etn-E%n]]>为增益码书训练矢量集合中第n子帧的无偏对数能量预测误差。则所有训练数据误差的平方和为ERR=Σn=3Nfen2=Σn=3Nf(Etn-E%n)2=Σn=3Nf(Etn-Σi=1pbiEtn-i)2]]>其中,Nf为训练码矢个数,令ERR/bi=0,可以得到一个p元一次线性方程组Σn=3NfEtnEtn-1-b1Σn=3NfEtn-12-b2Σn=3NfEtn-2Etn-1=0Σn=3NfEtnEtn-2-b1Σn=3NfEtn-1Etn-2-b2Σn=3NfEtn-22=0]]>其中p=2,得出b1=φ02φ12-φ01φ22φ122-φ11φ22,]]>b2=φ01φ12-φ11φ02φ122-φ11φ22,]]>其中,φij=Σn=3NfEtn-iEtn-j.]]>所述步骤C2中,比较当前码书的体积大于等于设置码书时,先将当前码书进行分裂,把所述码书中的每个码字乘以2个扰动因子ρ1、ρ2,得到2个新码字,其中ρ1=0.99、ρ2=1.01。
所述步骤C3执行前,先初始化迭代查找步骤,设置迭代次数k=1、初始失真D0=∞,所述步骤C3中,获取当前码书的最佳划分需要,设置总的失真为零并读入所述训练矢量序列中的一个训练矢量,求出所述训练矢量的固定码书增益的预测值;在第k次迭代的码书中找到与当前输入矢量距离最小的码字 并计算当前输入矢量状态下的第k次迭代累积失真Dk;
依次读入所述训练矢量序列中的每一个训练矢量,直到所有的训练矢量都按照上述步骤执行完成。
所述步骤C3执行前,先初始化迭代查找步骤,设置迭代次数k=1、初始失真D0=∞,所述步骤C3中,获取当前码书的最佳划分需要,设定总失真Dk=0;读入一个训练矢量,对于第n个训练矢量,利用如下的关系求出固定码书增益的预测值g%s=10(E%n+E‾)/10Ea/N]]>其中,E%n=Σi=1pbiE^n-i,]]> 为第n-i子帧中 的量化值。当n-i<0时,E^n-i=0;]]>基于下式最近相邻准则,e=Rx0x0+g^a2Rxx+γ^2g%s2Rtt-2g^aRx0x-2γ^g%sRx0t+2g^aγ^g%sRxt]]>在第k次迭代的码书中找到与当前输入矢量距离最小的码字 其最小距离为emin,则在当前输入矢量状态下的第k次迭代累积失真Dk为Dk=Dk+|emin|;]]>根据下式解出 供下一个训练矢量使用,E^n=101g[(g^s2Σi=0N-1(cn(j′))2)/N]-E‾]]>其中,g^s=γ^g%s;]]>判断是否处理完所有的训练矢量。若否,则再读入一个训练矢量知道处理完所有训练序列中的矢量。
所述步骤C3中,求出新的当前质心的步骤为设{ga(i),γ(i)},i=1,2,L,M为第k次迭代时得到的码书的第i个码字(码书大小为M),Qi为群聚在第i个码字周围的训练矢量的个数(第i个胞腔),根据最近相邻准则,第i个胞腔的累积最小平方误差为
Emin(i)=Σj=1Qiej2]]>其中, 上式中上标(j)表示落入第i个胞腔的训练参数, 和 是要求的第i个胞腔的质心,分别令Emin(i)对 的偏导数为0,可以得到一个关于 和 的方程组,解该方程组可以得到第i个胞腔质心为 通过采用上述技术方案,本发明带来了如下的有益效果本发明建立了一种具有一般意义的代数码激励线性预测语音编码器的增益码书;该建立的增益码书需要判断非典型胞腔是否存在,在判断结果为否的基础上获取增益码书,保证了所建立的增益码书中无非典型码字;而且,该方法不受编码比特率的限制,为码书增益建立了简单方便的方法,可应用于各种不同的ACELP语音编码系统,并得到高质量的增益码书,将该方法应用于4kb/s的DP-CELP语音编码器中,其试验结果表明,使用本发明所建立的6比特码书,对自适应码书增益和固定码书增益进行矢量量化,可以得到8比特标量量化时的合成语音质量。


图1是增益码书建立流程图;图2是不同比特码书的平均失真图。
具体实施例方式
下面结合附图和具体实施例对发明所述的技术方案进行详细的说明。
在ACELP语音编码中,人们通常采用预测式矢量量化技术对自适应码书增益和固定码书增益进行量化。增益码书的选择直接影响着增益的量化质量,从而间接地影响整个编码质量。然而,在不同的编码速率下,编解码器中所需的增益码书是不同的。因此,人们希望找到一种具有一般意义的增益码书建立方法,使之适用于不同的语音编码系统,得到高质量的增益码书。本发明的目的就是构建一种具有一般意义的增益码书建立方法,这种方法可应用于各种不同的ACELP语音编码系统,并得到高质量的增益码书。
本发明通过计算机对大量的数字语音信号进行处理,提取获取码书所需的信息,再根据这些信息得到代数码激励线性预测(ACELP)语音编码中所需的增益码书。本发明所建立的码书中,所有码字均为2维矢量,形如{ga,i,γi},i=1,2,L,NB。这里,ga,i为自适应码书增益,γi为固定码书增益gs的修正因子,NB为码书大小。在实际编码过程中,需要在增益码书{ga,i,γi)中搜索出使下式e最小的码字{ga,γ}e=Σn=0N-1[x0(n)-gaxu′(n)-γg%stj′(n)]2]]>这是一个闭环搜索过程,即通过使输入语音和合成滤波器输出之间的感知加权平方误差最小来确定码书增益。上式中,N为激励矢量长度,x0(n)为感知加权输入语音减去合成滤波器零输入响应的目标矢量,xu’(n)和tj’(n)分别为自适应码矢量和固定随机码矢量经过感觉加权合成滤波器的零状态响应, 为固定码书增益gs的预测值。
令Rx0x0=Σn=0N-1x02(n),]]>Rxx=Σn=0N-1xu′2(n),]]>RttΣn=0N-1tj′2(n),]]>Rx0x=Σn=0N-1x0(n)xu′(n),]]>Rx0t=Σn=0N-1x0(n)tj′(n),]]>Rxt=Σn=0N-1xu′(n)tj′(n),]]>则上式可展开为
e=Rx0x0+ga2Rxx+γ2g%s2Rtt-2gaRx0x-2γg%sRx0t+2gaγg%sRxt]]>本发明中建立增益码书的具体实施方式
见图1所示。首先,提取训练增益码书所需的参数,其次,求出随机激励信号的平均对数能量及其预测器系数,最后,根据平均对数能量及其预测器系数和其它参数,利用LBG算法训练出增益码书。具体步骤如下1.提取训练增益码书所需的参数,通过对训练集内的数字语音信号预编码,分别求出每一激励子帧的自适应码书增益ga、固定码书增益gs、随机代数码矢量的能量Ea、随机激励信号的对数能量E、目标矢量的能量Rx0x0、自适应码矢量经过感觉加权合成滤波器零状态响应的能量Rxx、随机码矢量经过感觉加权合成滤波器零状态响应的能量Rtt、目标矢量与自适应码矢量经过感觉加权合成滤波器零状态响应的内积Rx0x、目标矢量与随机码矢量经过感觉加权合成滤波器零状态响应的内积Rx0t、随机码矢量与自适应码矢量分别经过感觉加权合成滤波器零状态响应的内积Rxt,这10个参数构成了增益码书训练集合中的一个10维矢量,按顺序将他们保存在一个二进制文件中。
2.求解随机激励信号的平均对数能量及其预测器系数,第一步,从增益码书训练矢量中取出每一子帧的随机激励信号的对数能量E,并求出它们的平均值E;第二步,求增益码书训练矢量集中第n子帧的随机激励信号的无偏对数能量 Etn=En-E‾]]>其中,En为增益码书训练矢量集合中第n子帧的随机激励信号的对数能量;第三步,求随机激励信号无偏对数能量 的线性预测系数。令 为第n子帧无偏对数能量的预测值,即
E%n=Σi=1pbiEtn-i]]>上式中bi为预测器系数,p为预测器阶数。p的取值与编码器的子帧长度有关,对于8kHz采样率,当激励子帧长度为5毫秒时,取p=4,当激励子帧长度为10毫秒时,取p=2。bi的具体求解方法如下令en=Etn-E%n]]>为增益码书训练矢量集合中第n子帧的无偏对数能量预测误差。则所有训练数据误差的平方和为ERR=Σn=3Nfen2=Σn=3Nf(Etn-E%n)2=Σn=3Nt(Etn-Σi=1pbiEtn-i)2]]>其中,Nf为训练码矢个数。令ERR/bi=0,可以得到一个p元一次线性方程组,例如p=2时,线性方程组为Σn=3NfEtnEtn-1-b1Σn=3NfEtn-12-b2Σn=3NfEtn-2Etn-1=0Σn=3NfEtnEtn-2-b1Σn=3NfEtn-1Etn-2-b2Σn=3NfEtn-22=0]]>解出b1=φ02φ12-φ01φ22φ122-φ11φ22,]]>b2=φ01φ12-φ11φ02φ122-φ11φ22.]]>其中,φij=Σn=3NfEtn-iEtn-j.]]>3.训练增益码书,第一步,设定停止门限ε=0.005,码书大小为NB;第二步,利用下式得到0比特初始码书 即当前码书体积为1,以求得所有训练序列的质心;
式中,上标(j)表示第j个训练参数,Nf为训练码矢个数;第三步,判断当前码书大小是否小于NB,若否,则转到第七步;若是,则对当前码书进行分裂,即分别将码书中的每个码字乘以2个扰动因子ρ1、ρ2分裂为2个码字ρ1=0.99、σ2=1.01;第四步,设定迭代次数k=1、初始失真D0=∞;第五步,求当前码书的最佳划分,(1)设定总失真Dk=0;(2)读入一个训练矢量。对于第n个训练矢量,利用如下的关系求出固定码书增益的预测值g%s=10(E%n+E‾)/10Ea/N]]>这里,E%n=Σi=1pbiE^n-i,]]> 为第n-i子帧中 的量化值。当n-i<0时,E^n-i=0;]]>(3)基于下式最近相邻准则e=Rx0x0+g^a2Rxx+γ^2g%s2Rtt-2g^aRx0x-2γ^g%sRx0t+2g^aγ^g%sRxt]]>在第k次迭代的码书中找到与当前输入矢量距离最小的码字 其最小距离为emin,则在当前输入矢量状态下的第k次迭代累积失真Dk为Dk=Dk+|emin|;]]>(4)根据下式解出 供下一个训练矢量使用;E^n=101g[(g^s2Σi=0N-1(cn(j′))2)/N]-E‾]]>其中,g^s=γ^g%s.]]>(5)判断是否处理完所有的训练矢量。若否,则转到(2);若是,则第五步结束。
第六步,若|Dk-1-Dk|/Dk<ε,则判断有无非典型胞腔,若有则处理非典型胞腔,相对失真没有满足要求,进行下一次迭代k=k+1,并转到第五步;若无,则转到第三步。
判断非典型胞腔的方法是令Nmax为最大胞腔cmax中包含的矢量个数,Nmin为最小胞腔cmin中包含的矢量个数,若Nmax/Nmin≥10,则认为cmin为非典型胞腔。处理非典型胞腔的方法是将cmax中的码字乘以2个扰动因子ρ1、ρ2,用所得到的两个码字分别代替原cmax、cmin中的码字。
若|Dk-1-Dk|/Dk≥ε,则求出新形心,得到新码书,k=k+1,并转到第五步。求新形心的方法是设{ga(i),γ(i)},i=1,2,L,M为第k次迭代时得到的码书的第i个码字(码书大小为M),Qi为群聚在第i个码字周围的训练矢量的个数(第i个胞腔),根据最近相邻准则,第i个胞腔的累积最小平方误差为Emin(i)=Σj=1Qiej2]]>这里 上式中上标(j)表示落入第i个胞腔的训练参数, 和 是要求的第i个胞腔的形心。分别令Emin(i)对 的偏导数为0,可以得到一个关于 和 的方程组,解该方程组可以得到第i个胞腔形心为
第二步的初始形心也是利用上述方法得到,区别是胞腔个数为1,胞腔大小为Nf;第七步,训练完成,得到最终增益码书。
为了检测效果,将本发明应用到了4kb/s DP-CELP语音编码器的码书增益量化中。输入语音为8kHz采样的线性PCM信号,分析帧长为20毫秒,能量预测器阶数为2。
在实验中,根据图1所示的增益码书建立流程,建立了1到7个比特的增益码书,分别代替原编码器中的8比特标量量化码书,其失真曲线如图2所示。平均失真测度计算公式为D=1NΣj=1N|ej|]]>其中ej2=Rx0x0(j)+(g^a(j))2Rxx(j)+(γ^(j))2(g%s(j))2Rtt(j)-2g^a(j)Rx0x(j)]]>-2γ^(j)g%s(j)Rx0t(j)+2g^a(j)γ^(j)g%s(j)Rxt(j)]]>上式中上标(j)表示第j子帧的输入参数,N为子帧数, 为第j子帧量化的自适应码书增益, 为第j子帧量化的固定码书增益的修正因子, 为第j子帧固定码书增益的预测值。从图2中可以看到,比特数为5时的平均失真已经小于8比特标量量化时的平均失真,当比特数为6时,其失真曲线趋于收敛。
为了评价代数码激励线性预测语音编码中增益码书的建立方法,进行了一个客观评测,评测软件为ITU的P.861客观评测标准PESQ。用本发明方法产生了一个6比特增益码书,代替原DP-CELP算法中的增益量化方法,与原方法进行比较。汉语语音由16个句子组成,其中8句来自男性讲话,另外8句来自女性讲话。测试结果如表l所示。测试结果证明,用本发明方法产生的增益码书,在比特数为6时,与标量量化8比特时的效果相同,但节省了2个比特。PESQ客观评测结果如下表

本发明所建立的代数码激励线性预测语音编码器的增益码书,无非典型码字,而且,该方法不受编码比特率的限制。将该方法应用于4kb/s的DP-CELP语音编码器中,其试验结果表明,使用本发明所建立的6比特码书,对自适应码书增益和固定码书增益进行矢量量化,可以得到8比特标量量化时的合成语音质量。本发明也可以为其它ACELP语音编码器建立增益码书。
以上所述,仅为本发明较佳的具体实施方式
,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。
权利要求
1.一种建立增益码书的方法,该方法应用于语音编码系统中,并对训练集中的数字语音信号进行预处理后生成随机激励信号,所述的每个随机激励信号由多个激励子帧组成,其特征在于,包括如下步骤A、预编码训练集中的数字语音信号,生成包含有对数能量矢量的训练矢量序列并以数据文件的形式保存,所述每一个激励子帧对应有一所述的训练矢量序列;B、从所述数据文件中取出所述每一个子帧的训练矢量序列中的对数能量矢量,根据所述对数能量矢量求出所述随机激励信号的平均对数能量及所述平均对数能量的预测系数;C、根据所述训练矢量序列、平均对数能量及其预测系数计算感知加权平方误差,并迭代查找最小的感知加权平方误差来确定增益码书。
2.根据权利要求1所述一种建立增益码书的方法,其特征在于所述训练矢量序列除了所述随机激励信号的对数能量E,还包括每一激励子帧的自适应码书增益ga、固定码书增益gs、随机代数码矢量的能量Ea、目标矢量的能量Rx0x0、自适应码矢量经过感觉加权合成滤波器零状态响应的能量Rxx、随机码矢量经过感觉加权合成滤波器零状态响应的能量Rtt、目标矢量与自适应码矢量经过感觉加权合成滤波器零状态响应的内积Rx0x、目标矢量与随机码矢量经过感觉加权合成滤波器零状态响应的内积Rx0t和随机码矢量与自适应码矢量分别经过感觉加权合成滤波器零状态响应的内积Rxt,所述训练矢量序列构成了增益码书训练集合中的一个10维矢量,所述矢量按顺序保存于在一个二进制文件中。
3.根据权利要求2所述一种建立增益码书的方法,其特征在于所述步骤B具体包括以下步骤B1,从存储的数据文件中提取所述训练矢量序列中的每一子帧的随机激励信号的对数能量E,并求出它们的平均值E;B2,取出每一子帧的随机激励信号的对数能量E,将所述对数能量减去所述平均值E,获得所述对应子帧的随机激励信号的无偏对数能量 B3、利用所述无偏对数能量 得到随机激励信号无偏对数能量 的线性预测系数。
4.根据权利要求3所述的一种建立增益码书的方法,其特征在于所述步骤C具体包括C1、设置停止门限ε和码书NB,初始化质心并获取当前码书;C2、将当前码书的体积与设置码书NB进行比较,若当前码书的体积大于等于设置码书则转到步骤C3执行,否则转到步骤C5;C3、获取当前码书的最佳划分,提取最佳划分中的当前状态下的第k次迭代累计失真DK和第k-1次迭代累计失真DK-1,若|DK-DK-1|/DK小于所述停止门限ε,则转到步骤C4执行,否则求出新的形心及对应的当前码书,再迭代执行步骤C3;C4、判断有无典型胞腔,若最大胞腔的矢量数与最小胞腔的矢量数之比大于等于所述训练矢量序列的个数,则转到步骤C2执行,否则获取新的质心,即将最大胞腔的码字与扰动因子相乘得到新的码字来代替原有最大和最小胞腔的码字,转到步骤C3执行;C5、当当前码书体积小于NB时,完成码书的建立,确定增益码书。
5.根据权利要求3所述的一种建立增益码书的方法,其特征在于所述步骤B3包括B31、设置所述训练矢量序列中第n个子帧的无偏对数能量预测误差en,所述en=Etn-En%]]>,其中En%为第n个子帧无偏对数能量的预测值;B32、由所述无偏对数能量预测误差得到所有误差的平方和ERR,并根据所述平方和ERR微分求出所述随机激励信号无偏对数能量 的线性预测系数。
6.根据权利要求3所述的一种建立增益码书的方法,其特征在于所述步骤B3具体包括令En%为第n子帧无偏对数能量的预测值,即En%=Σi=1pbiEtn-i]]>上式中bi为预测器系数,p为预测器阶数。p的取值与编码器的子帧长度有关,令en=Etn=En%]]>为增益码书训练矢量集合中第n子帧的无偏对数能量预测误差。则所有训练数据误差的平方和为ERR=Σn=3Nfen2=Σn=3Nf(Etn-En%)2=Σn=3Nf(Etn-Σi=1pbiEtn-i)2]]>其中,Nf为训练码矢个数,令ERR/bi=0,可以得到一个p元一次线性方程组Σn=3NfEtnEtn-1-b1Σn=3NfEtn-12-b2Σn=3NfEtn-2Etn-1=0Σn=3NfEtnEtn-2-b1Σn=3NfEtn-1Etn-2-b2Σn=3NfEtn-22=0]]>其中p=2,得出b1=φ02φ12-φ01φ22φ122-φ11φ22,]]>b2=φ01φ12-φ11φ02φ122-φ11φ22,]]>其中,φij=Σn=3NfEtn-iEtn-j.]]>
7.根据权利要求4所述的一种建立增益码书的方法,其特征在于所述步骤C2中,比较当前码书的体积大于等于设置码书时,先将当前码书进行分裂,把所述码书中的每个码字乘以2个扰动因子ρ1、ρ2,得到2个新码字,其中ρ1=0.99、ρ2=1.01。
8.根据权利要求7所述的一种建立增益码书的方法,其特征在于所述步骤C3执行前,先初始化迭代查找步骤,设置迭代次数k=1、初始失真D0=∞,所述步骤C3中,获取当前码书的最佳划分需要,设置总的失真为零并读入所述训练矢量序列中的一个训练矢量,求出所述训练矢量的固定码书增益的预测值;在第k次迭代的码书中找到与当前输入矢量距离最小的码字 并计算当前输入矢量状态下的第k次迭代累积失真Dk;依次读入所述训练矢量序列中的每一个训练矢量,直到所有的训练矢量都按照上述步骤执行完成。
9.根据权利要求7所述一种建立增益码书的方法,其特征在于所述步骤C3执行前,先初始化迭代查找步骤,设置迭代次数k=1、初始失真D0=∞,所述步骤C3中,获取当前码书的最佳划分需要,设定总失真Dk=0;读入一个训练矢量,对于第n个训练矢量,利用如下的关系求出固定码书增益的预测值gs%=10(En%+E‾)/10Ea/N]]>其中,En%=Σi=1pbiE^n-i,]]> 为第n-i子帧中En-i%的量化值。当n-i<0时,E^n-i=0;]]>基于下式最近相邻准则,e=Rx0x0+g^a2Rxx+γ^2gs2%Rtt-2g^aRx0x-2γ^gs%Rx0t+2g^aγ^gs%Rxt]]>在第k次迭代的码书中找到与当前输入矢量距离最小的码字 其最小距离为emin,则在当前输入矢量状态下的第k次迭代累积失真Dk为Dk=Dk+|emin|;]]>根据下式解出 ,供下一个训练矢量使用,E^n=10lg[(g^s2Σi=0N-1(cn(j′))2)/N]-E‾]]>其中,g^s=γ^gs%;]]>判断是否处理完所有的训练矢量。若否,则再读入一个训练矢量知道处理完所有训练序列中的矢量。
10.根据权利要求8所述一种建立增益码书的方法,其特征在于所述步骤C3中,求出新的当前质心的步骤为设{ga(i),γ(i)},i=1,2,L,M为第k次迭代时得到的码书的第i个码字(码书大小为M),Qi为群聚在第i个码字周围的训练矢量的个数(第i个胞腔),根据最近相邻准则,第i个胞腔的累积最小平方误差为Emin(i)=Σj=1Qiej2]]>其中, 上式中上标(j)表示落入第i个胞腔的训练参数,ga&和γ&是要求的第i个胞腔的质心,分别令Emin(i)对ga&、γ&的偏导数为0,可以得到一个关于ga&和γ&的方程组,解该方程组可以得到第i个胞腔质心为
全文摘要
本发明公开了一种建立增益码书的方法,通过预编码训练集中的数字语音信号,生成包含有对数能量矢量的训练矢量序列并以数据文件的形式保存,所述每一个激励子帧对应有一所述的训练矢量序列;从所述数据文件中取出所述每一个子帧的训练矢量序列中的对数能量矢量,根据所述对数能量矢量求出所述随机激励信号的平均对数能量及所述平均对数能量的预测系数;根据所述训练矢量序列、平均对数能量及其预测系数计算感知加权平方误差,并迭代查找最小的感知加权平方误差来确定增益码书。解决现有技术中没有关于ACELP语音编码算法中增益码书的建立方法的问题。
文档编号G10L19/00GK101030378SQ20061003414
公开日2007年9月5日 申请日期2006年3月3日 优先权日2006年3月3日
发明者鲍长春, 窦庚欣, 范睿, 朱恒, 李立雄 申请人:北京工业大学, 华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1