一种采用高阶线性预测系数分组矢量量化的语音编解方法

文档序号:2833376阅读:283来源:国知局
专利名称:一种采用高阶线性预测系数分组矢量量化的语音编解方法
技术领域
本发明涉及一种采用高阶线性预测系数分组矢量量化的语音编解方法,属于语音编码技术领域。
背景技术
基本的语音通信过程如说明书附图I所示,对语音编解码器的要求是在保证语音质量的前提下,编码码流的比特率越低越好。采用矢量量化技术、线性预测分析技术和数据插值技术的编解码器能够很好地满足这个要求。在基于上述技术的语音编解码器中,线性预测系数的编解码过程为在编码端,用莱文森-德宾算法算法求解线性预测系数,并转化为相应的线谱频率参数,用存储在本地的码本对线谱频率参数进行矢量量化,得到码本的索引号。这些索引号会和其它语音编码参数一起被打包成比特流,通过通信网络传送到 输出端。在解码端,根据从编码器传送的索引号解码出线谱频率参数,并转化为对应的线性预测系数,最后根据线性预测系数及其它编码参数合成出语音,整个过程的原理如说明书附图2所示。矢量量化是一种高效的数据压缩方法,如说明书附图3所示,它是将若干个标量数据组构成一个矢量,然后在矢量空间中进行整体量化。对I个N维编码端待量化矢量X,从N维码本矢量集Y= {y (I),y (2),. . .,y (L)}中选择与x最匹配的矢量y (i),在信道中只需传输y(i)在码本Y中的索引号i即可。在解码端,根据索引号i即可找到对应矢量y(i),并作为解码结果输出。码本的设计可使用LBG算法。为了降低矢量量化所需的码本体积,分裂式矢量量化技术应运而生。分裂式矢量量化技术是比较适合于高阶线谱频率参数量化的一种方法,分裂矢量量化的过程如图4所示。分裂式矢量量化是指将待量化矢量分为几个低维子矢量,每个子矢量分别使用不同的码本量化。计算出信号线谱频率参数后,将线谱频率参数分为T个子矢量Isftl, Isf1,.. .,Isf^1,每一部分分别使用不同的码本作矢量量化,得到索引号0,1,…,T-1,由这T个索引号联合表示LSF参数。同理,在解码端由这T个索引号恢复T个子矢量Isftl, Isf1,.. .,IsfV1,再合并出完整LSF参数,并进一步计算线性预测系数。说明书附图4中的矢量量化在编码端表示码本搜索,在解码端表示码本提取。同传统的矢量量化技术相比,分裂式矢量量化所需的码本体积大大减小。但其还存在两个问题第一,从高阶线性预测系数直接计算高阶线谱频率参数,运算量很大,运算量与线性预测系数个数的平方成正比;第二,针对T个子矢量,需要分别设计T组码本,因此高阶线谱频率参数所需要的码本总量仍然很大。在语音信号分析中,常把语音x(n)看作是一个时间序列模型的输出,x(n)可表示为
Mx(n) + 工a(i)x[n - i) = < (/ )
;=1其中,M为线性预测分析阶数。a(i),i = 1,2,…,M为模型参数,也称线性预测系数。e(n)为激励信号。x(n)也可以等效为e(n)经过一个全极点滤波器(也称合成滤波器)H(z)的输出,H(z)可表示为
Hi-) = I =-—-
_7]称)I+!>(/)-
i=l其中,A(z)称为预测误差滤波器。给定输入语音信号(或其自相关函数),系数a(i)可以由莱文森-德宾(Levinson-Durbin)算法求出;实际应用当中,除了使用线性预测系数表征声道模型外,还常使用反射系数k(i)和线谱频率(线谱频率)参数lsf(i),使用lsf(i)生成H(Z)时,和k(i) 一样容易保证H(Z)的稳定性,且lsf(i)量化特性和内插特性均优于k(i),使得产生相同质量的合成语音所需的编码码率得以降低,因此,目前对线性预测参数的矢量量化通常在线谱频率域上进行。这三种参数之间的关系如下
(I)已知线性预测系数a(i),求反射系数k(i)的递推方法为k (m) =-a (m, m),a (m-1, i) = [a (m, i) +k (m) a (m, m - i) ] / [I - k (i)]。其中,m是阶数,m = M,M-1,. . .,I。a(m,i)是m阶的第i个线性预测系数。k(m)是第m个反射系数。(2)已知反射系数k(i),求线性预测系数a(i)的递推方法为a(m,m)=k(m),a (m, i) = [a (m - I, i) +k (m) a (m - I, m - i)],其中,m是阶数,m=l, 2, . . .,M。a(m, i)是m阶的第i个线性预测系数,i =I, 2, , m-lo k(m)是第m个反射系数。(3)已知线性预测系数a⑴,求线谱频率参数Isf⑴的方法为使用线性预测系数a(i)可以构建两个多项式P(Z)和Q(Z);P (z) =A (z)+z-(M+1)A (z-1),Q (z) =A (z) -z_(m+1)A (z_1)。方程P (z)=0与Q (z)=0在余弦域的根lspP(i)与lspQ (i)称为线谱对系数,求解线谱频率参数的数值方法有许多种,如代数式方程求根法和DFT方法等。可以证明,当A(Z)的零点都位于单位圆内时,多项式P (z)和Q(Z)具有如下性质P(Z)和Q(Z)的零点都位于单位圆上,P(Z)和Q(Z)的零点沿着单位圆上随着《的增加交替出现,若除去P(z)的I和Q(Z)的- I这两个零点,P(Z)和Q(Z)还各有M个零点。当A(Z)满足最小相位特性时,可以由线性预测系数唯一确定线谱频率参数。由lspP(i)、lspQ(i)计算反余弦即可得到Isfp⑴、Isf0⑴。lsfp(i) =arccos [lspP (i)],lsfQ(i) =arccos [lspQ (i)]。(4)已知线谱频率参数Isf (i),求线性预测系数a (i)的方法为使用线谱频率参数Isfp(i) Isf0(i)可以计算lsfP(i)、lsfQ(i),即lspp(i) =cos [lsfp (i)],lspQ(i) =cos [lsfQ (i)]。使用LSP参数lSpP(i)lSpQ(i)可以构建两个多项式P(z)和Q(Z)P (z) = (l+z_1) II (I-Ispp ⑴ Z-1),
Q (z) = (l-z_1) n (l-lspQ ⑴ z-1)。其中,n表示连乘。A(Z)可以用多项式P(Z)和Q(Z)表示为A (Z) = [P(z)+Q (Z)]/2。
对音频信号进行线性预测分析时,分析精度与线性预测的阶数直接相关。对语音信号来说,10阶线性预测分析就足够合成出高质量的语音。对音乐或具有复杂背景声的信号,则需要提高线性预测分析阶数以获得更多的频谱细节。但是高阶线性预测分析也带来了另外一些问题。在编码时,线性预测系数在传输之前要先经过量化,以降低数码率。线谱频率(线谱频率)具有良好的内插特性和抗量化误差能力,矢量量化通常在线谱频率域进行。但随着线性预测阶数增加,现有语音编码器均使用代数式方程求根法由线性预测系数a(i)求解线谱频率参数lsf(i),从线性预测系数计算线谱频率参数所需的运算量与线性预测系数个数的平方成正比;同时,即使采用分裂矢量量化技术,对高阶线谱频率矢量量化所需的码本体积也很大,故高阶线性预测分析在低码率、高质量语音编码器中的应用非常困难。缩略语和关键术语定义VQ :Vector Quantization,矢量量化。线性预测LinearPrediction,线性预测。线性预测系数Linear Prediction Coefficient,线性预测系数。Levinson算法也称为Levinson-Durbin算法,莱文森-德宾算法,是一种基于自相关函数计算线性预测系数的方法。LSP Linear Spectrum Pair,线谱对。LSF Linear Spectrumfrequency,线谱频率。

发明内容
为了克服上述的不足,本发明的目的在于提供一种采用高阶线性预测系数分组矢量量化的语音编解方法,其能够应用于低码率、高质量语音编解码器中,能够减少对高阶线谱频率矢量量化所需的码本体积和计算量。本发明采取的技术方案分如下,分编码和解码两步骤I、一种采用高阶线性预测系数分组矢量量化的语音编解方法;分编码和解码两步骤,第一步编码,编码按照以下步骤进行(I)使用莱文森-德宾算法进行高阶线性预测分析得到R个线性预测系数a(i)并且R=dM;可由已知R个线性预测系数a(i)得到R个反射系数k(i) (i = 1,2,…,R);所述已知R个线性预测系数a(i),求R个反射系数k(i)的递推方法为k (m) =-a (m, m),a (m-1, i) = [a (m, i) +k (m) a (m, m_i) ] / [l~k (i)],其中,m是阶数,m = R,R_1,…,I ;a(m, i)是进行m阶线性预测时的第i个线性预测系数,k(m)是第m个反射系数;所述R、M、d均为正整数,R范围为10 100,M范围为8 16 ;R、M、d须满足关系R=dM ;(2)反射系数k分组器将R个反射系数k(i) (i = 1,2,...,10分为(1组,每组包含相邻M个反射系数k(i) (i = I, 2, . . . , M);所述的第j组的第i个系数k(j, i)与k(i)的关系表示为 k(j,i)=k(jM+i) (j=0, I,..., d-1 ;i = 1,2,...,10;所述1 1、(1均为正整数,所述M范围为8 16,R、M、d须满足关系R=dM;(3)对每组M阶反射系数k(j,i),经过k —a转化器计算出对应的M阶线性预测系数a(j,i) (j=0, I, ...,d -l ;i = 1,2,...,M);所述R、M、d均为正整数,所述M范围为8 16,R、M、d须满足关系R=dM,R范围为10 100 ;所述已知反射系数k(i),求线性预测系数a(i)的递推方法为a(m,m)=k(m),a (m, i) = [a (m-1, i) +k (m) a (m - I, m - i)],其中,m是阶数,m=l,2,...,M;a(m, i)是m阶线性预测时的第i个线性预测系数,
i= I, 2, . . . , m-1 ;k(m)是第m个反射系数;(4)对每组已知M个线性预测系数a(j,i)经过a — Isf转化器计算出对应的线谱频率参数 Isf (j,i) (j=0, l,...,d-l ;i = 1,2,...,M);所述 M 范围为 8 16,d 为正整数,R、M、d须满足关系R=dM,所述R、M、d均为正整数;所述已知线性预测系数a(i),求线谱频率参数lsf(i)的方法为使用线性预测系数a(i)可以构建两个多项式P(Z)和Q(Z);P(z)=A(z)+z_(m+1)A(z_1),Q (z) =A (z) _z-(m+1)A (z-1);
M所述+二一,M是线性预测阶数,z代表Z变换域的自变量;方程P(Z)=O 与 Q(Z)=O 在余弦域的根分别为 lspp(i)与 lspQ(i),i=l, 2,. . . ,M+1,称lspP(i)与lspQ(i)为线谱对系数,当A(Z)的零点都位于单位圆内时,P(z)和Q(Z)的零点都位于单位圆上,P(Z)和Q(Z)的零点沿着单位圆上随着《的增加交替出现,若除去I和- I这两个零点,P (z)和Q(Z)各有M个零点,当A(Z)满足最小相位特性时,可以由线性预测系数a(i)唯一确定线谱频率参数lspP(i)与lspQ(i), i = I, 2, . . . , M/2 ;由Ispp⑴、lspQ(i)计算反余弦即可得到lsfP(i)、lsfQ(i);lsfp(i) =arccos [lspP (i)],lsfQ(i) =arccos [lspQ (i)];lsfp(i)、lsfQ(i)交错排列Isf(2i)=lsfP(i),Isf(2i+l) =lsfQ(i);可得lsf(i);(5)矢量量化器使用相同的量化码本对d组线谱频率参数分别作矢量量化得到d个索引号,索引号和其它编码参数一起被打包成比特流进入通信网络并被传送到输出端;第二步解码,解码按照以下步骤进行(I)根据通信网络接收的d个索引号可以恢复d组线谱频率参数Isf (j,i)(j=0, I,...,d-1 ;i = 1,2,...,M),对d组线谱频率参数使用Isf— a转化器计算对应的M阶线性预测系数a(j,i) (j=0, I, . ..,d-1 ;i = 1,2,所述M范围为8 16,R范围为10 100,R、M、d满足关系R=dM ;所述R、M、d均为正整数;所述已知线谱频率参数Isf (i),使用Isf — a转化器计算对应的M阶线性预测系数a(i)的方法为将偶数序号的lsf(i)参数定义为lSfP(i),奇数序号的lsf(i)参数定义为Isf0Q),lsfp(i) =Isf (2i),lsfQ(i) =Isf(2i+l);其中,i=l, 2, ,M/2 ;对线谱频率参数Isfp⑴、lsfQ(i)取余弦可以计算LSP参数lspP(i)、lspQ(i),即 lspp(i) =cos [lsfp (i)],lspQ(i)=cos[lsfQ(i)];使用LSP参数lspP(i)、lspQ(i)可以构建两个多项式P (z)和Q(Z)P(Z) =(1 + 2-1 )|"|[1 — Ilspr (、/):-1 + z-2],
U/2Q(Z) ={l-z-l)\{[l-2lspQ{i)z-1 +Z-2]。
仁I其中,n表示连乘,Z代表Z变换域的自变量,M是线性预测阶数代表系数a(i)的数目;多项式A (Z)可以用多项式P (Z)和Q (Z)表示为A (Z) = [P(z)+Q (Z)]/2。
M根据表达式= I + [ ainz",按照z-i系数对应相等的原则,即可确定出
/=1
a(i)的值,(2)对d组M阶线性预测系数a (j,i)使用a — k转化器计算对应的M阶反射系数k(j, i) (j=0, I,..., d-1 ;i = 1,2,.. ,M),R、M、d 须满足关系 R=dM;R 范围为 10 100 ;所述M范围为8 16,R范围为10 100,R、M、d满足关系R=dM ;所述R、M、d均为正整数;所述已知线性预测系数a (i),使用a — k转化器求反射系数k(i)的递推方法为k (m) =-a (m, m),a (m-1, i) = [a (m, i) +k (m) a (m, m_i) ] / [l~k (i)],其中,m是阶数,m = M,M-l,…,I ;a(m,i)是m阶的第i个线性预测系数,k(m)是第m个反射系数;所述M范围为8 16,R范围为10 100,R、M、d满足关系R=dM ;所述R、M、d均为正整数;(3)对d组反射系数k(j,i) (j=0, I, ...,d-1)使用反射系数组合器按顺序组成R阶反射系数 k(jM+i)=k(j,i) (j=0,= 1,2,...,M);所述 M 范围为 8 16,R 范围为10 100,R、M、d满足关系R=dM,所述R、M、d均为正整数;(4)对R阶反射系数k(i)使用k —a转化器转换为R阶线性预测系数a(i)(i=l, 2,…,R) :R范围为10 100,R、M、d满足关系R=dM,M范围为8 16,所述R、M、d均为正整数;所述已知R阶反射系数k⑴,使用k — a转化器求R阶线性预测系数a⑴的递推方法为a (m, m) =k (m),a (m, i) = [a (m - I, i) +k (m) a (m - I, m - i)],其中,m是阶数,m=l, 2, . . . , R ;a(m, i)是m阶的第i个线性预测系数,i =1,2,. . .,m - 1,k(m)是第m个反射系数,R范围为10 100,R、M、d满足关系R=dM,M范围为8 16,所述R、M、d均为正整数;·
本发明的有益效果如下(I)显著降低使用高阶线性预测系数的语音编码器的运算量。将高阶线性预测系数分解为多组低阶线性预测系数,然后再计算对应的线谱频率参数。计算多组低阶线谱频率参数所需的运算量要小于直接计算高阶线谱频率所需的运算量。(2)减少矢量量化所用码本的体积,进而减少码本的存储量。将反射系数划分为多个子组,然后将各子组的反射系数转化为线谱频率参数后分别予以矢量量化。各子组的线谱频率参数都分布在(0,Ji)区间内,因此可以使用相同的码本做矢量量化,减少了总的码本矢量的个数,从而节省了码本存储空间。(3)本发明适合应用到变码率分级语音编码算法中。各个子组根据反射系数划分,而各个反射系数是与线性预测阶数无关的。基于此,在传输码流时,根据信道带宽情况,可以首先传送低阶线性预测分析得到的反射系数生成的线谱频率系数索引;若信道带宽允许,再传输更高阶数的反射系数生成的线谱频率系数索引。


图I为语首通/[目过程不意图;图2为现有的基于线谱频率参数和矢量量化技术的语音编码器即语音编解码器中LP系数编码工作过程示意图;图3为矢量量化原理图;图4为分裂式矢量量化原理图;图5为本发明技术原理框图。
具体实施例方式基本的语音通信过程如说明书附图I所示,原始的语音信号经过发送端语音编码器后变成码流,码流经过信道传输到接收端的语音解码器后恢复出原始的语音信号。现有的基于线谱频率参数和矢量量化技术的语音编码器如说明书附图2所示,原始的待编码语音信号LP分析模块后,得到LP系数;LP系数经过LSF计算模块后,得到LSF系数;LSF系数经过矢量量化模块后,得到码本索引参数;码本索引参数经过通信信道被传输到接收端。接收端解码过程与编码过程相反,接收的经过逆矢量量化模块后,得到LSF系数;LSF系数经过LP系数计算模块后,得到LP系数;LP系数即被用于合成语音模块中来合成语音信号。实用的语音编码器的编码参数除了 LSF码本索引参数外,还包括如基音周期、固定码本索引等,但这些参数的处理与本发明关联不大,故此处没有赘述。矢量量化原理图如说明书附图3所示,待量化的矢量通入码书搜索器,码书搜索器搜索编码器码本中与待量化的矢量最接近的码字,并将该码字索引经过通信信道传输到接收端。接收端解码过程与编码过程相反,码书提取器根据接收的索引,从解码器码本得到解码输出矢量。分裂式矢量量化原理图如说明书附图4所示,LP系数LSF计算模块得到LSF系数,该LSF系数矢量被简单分割一系列长度较小的矢量。而后分别进行矢量量化得到多个索引值,这些索引值经数据打包,经过通信信道传输到接收端。接收端解码过程与编码过程相反,数据先经过拆包模块得到多个索引值,每个索引值经过反量化得到一系列长度较小的矢量,这些长度较小的矢量被LSF组合模块组合为LSF系数矢量,进而经过LP恢复模块恢复出LP系数用于合成语音。本发明采取的技术方案分两步骤I.编码技术方案(I)使用莱文森-德宾算法进行高阶线性预测分析,得到R个线性预测系数a (i)。适当选取R,使之满足R=dM。图5中,a —k转化器使用背景技术中提及的方法,可由R个 a(i)得到 R 个反射系数 k(i), i = 1,2, ,R。在编码技术方案中涉及的变量R、M、d的取值范围均相同,R、M、d均为正整数,R范围为10 100,M范围为8 16 ;R、M、d须满足关系R=dM ;已知线性预测系数a (i),求反射系数k(i)的递推方法为k (m) =-a (m, m),a (m-1, i) = [a (m, i) +k (m) a (m, m_i) ] / [1-k (i)]。其中,m是阶数,m = M,M-1,. . .,I。a (m,i)是m阶的第i个线性预测系数。k(m)是第m个反射系数。(2)如图5所示,反射系数k分组器将R个反射系数分为d组,每组包含相邻M个反射系数。例如,第j组的第i个系数k(j,i)与k(i)的关系可以表示为k (j,i)=k(jM+i),j=0, I, . . . , d-1, i = 1,2,...,M。(3)对每组M阶反射系数,图5中k —a转化器使用背景技术中提及的方法计算出对应的 M 阶线性预测系数 a (j,i),j=0, 1, ,d-1,i = 1,2, ,M。(4)对每组M个线性预测系数,图5中a— Isf转化器使用背景技术中提及的方法计算出对应的线谱频率参数Isf (j, i), j=0, I,. . . , d-l,i = I, 2,. . . ,Mo由于这些组的线谱频率参数都分布在(0,Ji)区间,分布情况类似,因此可用相同的码本量化它们。(5)矢量量化器矢量量化使用相同的量化码本对d组线谱频率参数分别作矢量量化,得到d个索引号。这些索引号会进入通信网络,并被传送到输出端。2.解码技术方案;(I)根据通信网络接收的d个索引号可以恢复d组线谱频率参数Isf (j,i),j=0, I,. . .,d-1, i = 1,2,. . .,M。对d组线谱频率参数。对d组M阶线谱频率参数,使用图5中Isf — a转化器计算对应的M阶线性预测系数a (j, i), j=0, I,. . .,d_l, i = 1,2,. . .,M。在解码技术方案中涉及的变量R、M、d的取值范围均相同,R、M、d均为正整数,R范围为10 100,M范围为8 16 ;R、M、d须满足关系R=dM ;(2)对d组M阶线性预测系数a (j, i),使用图5中a — k转化器计算对应的M阶反射系数 k(j, i),j=0, I, . . . , d-1, i = I, 2, . . . , Mo(3)对d组反射系数k (j,i),j=0,I,. . .,d-1。使用图5中反射系数组合器按顺序组成 R 阶反射系数 k(jM+i)=k(j, i), j=0, I, . . . , d_l, i = 1,2, · · ·,Μ。(4)对R阶反射系数k(i),图5中k — a转化器使用背景技术中提及的方法转换为R阶线性预测系数a (i),i = 1,2,...,R。以R=50、M = 10、d = 5为例,在线性预测系数编码输出50bit的情况下,运算量、
码本体积等的情况如下。
权利要求
1. 一种采用高阶线性预测系数分组矢量量化的语音编解方法,其特征在于分编码和解码两步骤, 第一步编码, 编码按照以下步骤进行 (1)使用莱文森-德宾算法进行高阶线性预测分析得到R个线性预测系数a(i)并且R=dM ;可由已知R个线性预测系数a(i)得到R个反射系数k(i) (i = I, 2, . . . , R); 所述已知R个线性预测系数a(i),求R个反射系数k(i)的递推方法为k(m)=-a(m,m), a (m-1, i) = [a (m, i) +k (m) a (m, m - i) ] / [I - k (i)], 其中,m是阶数,m = R,R-l,…,l;a(m,i)是进行m阶线性预测时的第i个线性预测系数,km)是第m个反射系数; 所述R、M、d均为正整数,R范围为10 100,M范围为8 16 ;R、M、d须满足关系R=dM ; (2)反射系数k分组器将R个反射系数k(i)(i = 1,2,...,R)分为d组,每组包含相邻M个反射系数k(i) (i = I, 2,, M);所述的第j组的第i个系数k(j, i)与k(i)的关系表示为 k(j,i)=k(jM+i) (j=0, ;i = 1,2,...,10;所述1 ^、(1均为正整数,1 范围为10 100,M范围为8 16 ;R、M、d须满足关系R=dM ; (3)对每组M阶反射系数k(j,i),经过k— a转化器计算出对应的M阶线性预测系数a(j, i) (j=0, 1, ,d-l ;i = 1,2, ,M);所述 R、M、d 均为正整数,R 范围为 10 100,M范围为8 16 ;R、M、d须满足关系R=dM; 所述已知反射系数k(i),求线性预测系数a(i)的递推方法为 a (m, m) =k (m), a (m, i) = [a (m-1, i) +k (m) a (m - I, m - i)], 其中,m是阶数,m=l, 2,. . .,M ;a (m,i)是m阶线性预测时的第i个线性预测系数,i =I, 2, . . . , m - I ;k(m)是第m个反射系数; (4)对每组已知M个线性预测系数a(j, i)经过a — Isf转化器计算出对应的线谱频率参数 Isf (j,i) (j=0, ;i = 1,2,...,M);所述 R、M、d 均为正整数,R 范围为 10 .100,M范围为8 16 ;R、M、d须满足关系R=dM ; 所述已知线性预测系数a(i),求线谱频率参数lsf(i)的方法为 使用线性预测系数a(i)可以构建两个多项式P(Z)和Q(Z);P(z)=A(z)+z^(m+1)A(z^), Q(Z)=A(Z) -z; 所述
全文摘要
本发明公开了一种采用高阶线性预测系数分组矢量量化的语音编解方法,其能够应用于低码率、高质量语音编解码器中,能够减少对高阶线谱频率矢量量化所需的码本体积和计算量。
文档编号G10L19/04GK102867516SQ20121033461
公开日2013年1月9日 申请日期2012年9月10日 优先权日2012年9月10日
发明者殷福亮, 陈喆, 汪林, 张旭 申请人:大连理工大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1