专利名称::线谱频率矢量量化的方法及系统的制作方法
技术领域:
:本发明涉及多媒体语音编码
技术领域:
,尤其涉及一种线谱频率矢量量化的方法及系统。
背景技术:
:随着近几年计算机技术的不断发展,各种多媒体应用越来越受到人们的青睐。作为多媒体应用不可缺少的语音编码技术,在最近十几年也取得了很大的进步。在语音编码
技术领域:
,线谱频率(LSF:LinearSpectralFrequency)系数精度关系到语音编码质量、声道幅度谱特性等方面的好坏,所以一般采用对LSF矢量进行量化来保证LSF系数精度。对LSF矢量进4亍量化,就是对LSF矢量系凄史的量化。在AMR-WB+(ExtendedAdaptiveMultiRateWide,BandCodec)中对LSF矢量系数的量化具体实现方法如下首先求出当前帧的LSF残差矢量r("):r(/)=z(")-p(")其中,,p(")=-1),/《为第n帧LSF矢量,廳朋一,V为LSF均值矢量,p(n)为当前帧预测值矢量,r"(n-l)为前一帧量化后的LSF残差矢量;进而,得到1^残差矢量^[^/1,...,^];之后,对LSF残差矢量r=[^^...,^;]进行分裂多级矢量量化(S-MSVQ),其被分裂为两个子矢量r,(/)和r2(/7),其中r,(/7)是9维,r,07)是7维,对这两个子矢量再分别进行两级矢量量化,在第一级矢量量化中,用8比特量化ri(/7),8比特量化r,");在第一级矢量量化后,得到两个量化残差矢量,记作r,'=r,-r",,/=1,2。在第二级矢量量化中,再将「分裂成3个子矢量,。分裂成2个子矢量,分别用下表l中分配的比特数进行量化:表l:LSF矢量量化比特分配表<table>tableseeoriginaldocumentpage7</column></row><table>最后,用均方误差准则作为量化过程中的失真测度。通常,对于一个输入的LSP矢量或者LSF残差矢量ri,i=l,2和码书中的第k个码字来说,量化的过程就是在码书中寻找使下式E值最小的那个码字的索引号其中,m和n表示子矢量中的第一个和最后一个元素在整个LSF矢量中的元素序号。于是,得出对LSF矢量量化需要的比特数为一级矢量量化中9维矢量rl(n)需要8比特,7维矢量r2(n)需要8比特;二级矢量量化中,4个3维矢量分别需要6、7、7和5比特,4维矢量需要5比特,总共需要46比特。那么,针对上述AMR-WB+中LSF矢量量化的过程,能否再提高矢量量化的精度,即提高语音主客观的质量,或者提出另外一种矢量量化的方法及系统,是本发明研究的对象。
发明内容为此,本发明所要解决的技术问题是提供一种LSF矢量量化的方法及系统,来实现对LSF矢量的量化,减少平均量化误差,以得到好的量化效果。于是,本发明提供了一种线谱频率矢量量化的方法,包括将当前帧线谱频率矢量或者当前帧线语频率残差矢量分为两组子矢量{",}、所述当前帧线谱频率残差矢量为当前帧线谱频率矢量减去均值线谱频率矢量、再减去当前帧的前一帧线镨频率矢量对当前帧线谱频率矢量的贡献所得到的差值;对其中一组子矢量{",}进行矢量量化后得到一组子矢量系数值"Z',选择其中部分子矢量系数值";对未量化的一组子矢量{}系数进行预测,得到子矢量系数预测值6,—"';将所述未量化的一组子矢量{6,}系数与其相应的子矢量系数预测值6/""进行差值运算,得到一组预测值残差矢量{6,对该预测值残差矢量仏,'}进行矢量量化。其中,对所述一组子矢量{",}进行分组,对相应组的子矢量进行矢量量化得到子矢量系数值^",选择相应组中部分矢量系数值对未量化的一组子矢量{6,}系数进行预测。其中,所述对未量化的一组子矢量{、}系数进行预测,求预测值的公式为+1>,^<"%),其中,a为线性预测系数,由"%所确定,k为自然数,"%为所述一组子矢量{",}的部分矢量的量化值,其组成的矩阵为《—对子矢量{6,}预测的预测系数組成的预测矩阵为'Vo,,…'r0,i^而,…,n,r'"-'i,0,广"-1.1,…,其中m为待量化LSF残差系数的个数,预测值组成的矩阵为「1、"m-1,0,。"-1,1".""m-l,w-1「1、说明书第4/12页进一步,求最佳预测值6的方法为对于每一帧LSF残差矢量,通过从co个预先计算好的预测矩阵/,中选择一个预测误差最小的预测矩阵,其判断准则为,其中,/为0,1,…,co-1:利用均方误差准则进行判断,计算针对不同的预测矩阵7,所对应的均方误差£,,=-6f""'"')2,/=0,l,...,w-1,其中,对应不同的子矢量m和n值不同,计算出£,的最小值^:并找出对应的预测矩阵&,此预测矩阵&即为最佳预测矩阵,并根据最佳预测矩阵求出预测值6,。其中,对所述一组预测值残差矢量{'}系数进行分组,分别对所述组子矢量进行矢量量化。其中,所述当前帧的前一帧线镨频率矢量对当前帧线语频率矢量的贡献矢量分量值为-^W/.",,—,.,,其中,表示第n-l帧第i个残差线谱频率系数,固为经验值。本发明还提供了一种实现线镨频率矢量量化的系统,包括执行将当前帧线镨频率矢量系数或者当前帧线语频率残差矢量系数进行分組、得到两组子矢量{",}、仏J步骤的分组单元(10);执行对其中一组子矢量,}直接进行矢量量化后得到一组矢量系数值fl,"步骤的矢量量化单元(11);执行从所述矢量系数值","中选择部分矢量系数值0L对未量化的一组于矢量^,)系数进行预测,得到矢量系数预测值6,f'步骤的预测单元(12);执行所迷子矢量{6,}系数与其相应的矢量系数预测值6进行差值运算,得到一组预测值残差矢量{6,'}步骤的残差矢量单元(13);当前帧线谱频率矢量系数或者当前帧线谱频率残差矢量系数在分组单元(10)进行分组后,到矢量量化单元(11)中对其中一组子矢量仏,}进行矢量量化,利用矢量量化单元(11)中得到的部分矢量系数在预测单元(12)对未量化的一组子矢量{6,}系数进行预测,并在残差矢量单元U3)中求得残差矢量{6,'},并回到矢量量化单元(11)对所述残差矢量{6,'}进行量化。其中,所述分组单元(l()),还包括对一组子矢量{}进行分组、得到相应组子矢量步骤的子分组单元(101)。其中,所述预测单元(12),还包括^丸行对于每一帧LSF残差矢量,通过从co个预先计算好的预测矩阵&中选择一个预测误差最小的预测矩阵,其判断准则为,其中,/为0,1,…,co-l:利用均方误差准则进行判断,计算针对不同的预测矩阵所对应的均方误差,<formula>formulaseeoriginaldocumentpage10</formula>其中,对应不同的子矢量m和n值不同,计算出£,的最小值&:<formula>formulaseeoriginaldocumentpage10</formula>,并找出^对应的预测矩阵&,此预测矩阵&即为最佳预测矩阵,并根据最佳预测矩阵i,求出最佳预测值6"'步骤的最佳预测值单元(121)。其中,所述残差矢量单元(13),还包括执行对所述预测值残差矢量{6,'}系数进行分组,得到对应组预测值残差子矢量步骤的残差矢量分组单元(131)。可见,本发明采用分组形式,利用对其中一组于矢量的量化来预测另外一组未被量化的子矢量,进而求出未被量化的子矢量组对应的预测值残差矢量,再进一歩对该预测值残差矢量进行矢量量化,实现了对LSF矢量或者LSF残差矢量量化;通过对本发明和AMR-WB+所述矢量量化方法基于ITU-T的评测标准协议P.862,利用客观评测标准WB-PESQ进行的语音质量客观评测可以得出,本发明相对于AMR-WB+提高了语音质量的感知评价PESQ(PerceptualEvaluationofSpeechQuality)分值。图1为本发明实施例的系统框图;图2为A歐-WB+与本发明实施例的语音质量的感知评价测试结果对比图。具体实施方式下面,结合附图对本发明实施例进行详细描述。本发明采用分组的方法通过矢量量化、预测、求残差矢量、再矢量量化的方法实现对LSF矢量或者LSF残差矢量量化,其实现的机理是利用了帧内及帧间LSF矢量系数的相关性。下面以本发明实施例来具体说明矢量量化的过程实施例1以16维LSF矢量为例,对16维LSF矢量进行矢量量化,首先计算LSF残差矢量,对LSF残差矢量进行矢量量化,其优点在于,可以提高LSF系数矢量量化的精度,具体实现步骤为首先求出LSF残差矢量,{ra—,}=,.-廳tm一械_preii—,},/=0,1,...,14,15其中,/,《,为当前第n帧第i个LSF矢量系数,me""—械为LSF均值矢量的第i个LSF系数,严W—表示当前第n帧的第i个LSF预测系数,即当前帧的前一帧LSF矢量对当前帧LSF矢量的贡献,其具体由一阶滑动平均(MA)预观ll法3寻到jwet/=Mt/xrey—/《/■—,.,:其中,—为当前帧的前一帧,即第n-1帧第i个ISF差值系数,MU为经验值,一般取值在0.3~0.8之间;对当前帧LSF残差矢量系数ks—/《,进行分组,分为两组子矢量^,)和{6,},其分别对应的矢量系数为<formula>formulaseeoriginaldocumentpage12</formula>对其中一组子矢量,例如^,)用19比特进行矢量量化,得到量化后的矢量系数值为","rea'—&/0',,厂e,v—,res'一/々/7,res—/s/6'',res—,res一/,s/;2,res—is/j,res—〗选择其中一部分或者全部矢量量化系数值a'L,本实施例选择使用全部矢量量化系数值。%对未量化的一组子矢量{6,}系数进行预测,得到矢量系数预测值、—"'为其中,为线性预测系数,由a^所确定,k为自然数,a;为所述一组子矢量{",}的部分矢量的量化值。其中,选择一部分和全部矢量量化后的值来进行预测,其区别仅在于得出的矢量量化精度不同,选择全部矢量进行预测,其得出的矢量量化精度高些,不影响本发明的实施;其中,作为优逸的,也可以先将子矢量{",}再进行分组,分为若干个子矢量,分别对相应组的子矢量进行矢量量化,例如分三组,子矢量{a,.,}={w—,re,s'—!、/2,ms'—Z,1^}子矢量{a'2)={res—/5/6,一,Vg,re5—/《。}:<formula>formulaseeoriginaldocumentpage13</formula>对这三组子矢量先用10比特、9比特、9比特进行矢量量化,得到矢量量化值:<formula>formulaseeoriginaldocumentpage13</formula>},这样做的优点在于,矢量量化的结果更精确,不影响本发明的实施;本发明所采用的求预测值的公式为—|>Mx";),其中,。,,为线性预测系数,由";所确定,k为自然数,"'^为所述一组子矢量{",}的部分矢量的量化值,其组成的矩阵为<formula>formulaseeoriginaldocumentpage13</formula>对子矢量{6,}预测的预测系数组成的预测矩阵为<formula>formulaseeoriginaldocumentpage13</formula>,其中m为待量化LSF残差系数的个数,预测值组成的矩阵为<formula>formulaseeoriginaldocumentpage13</formula>进而,求出本实施例中的"%为<formula>formulaseeoriginaldocumentpage14</formula>其中,作为一种实施例,利用{6,}前后两个量化的LSF系数来预测^》系数,其中,对^力/15不进行预测,经计算得到矢量系数预测值6,f为<formula>formulaseeoriginaldocumentpage14</formula>将子矢量{6,}系数与其相应的矢量系数预测值《,—'"进行差值运算,得到一组预测值残差矢量{6,'}={66,—'"}为<formula>formulaseeoriginaldocumentpage14</formula>,其中j=3、5、7、9、11、13;之后,再将预测值残差矢量{6,'}和^」《5—起进行矢量量化,其量化需要27比特;其中,作为优选的,对预测值残差矢量{6,'}也可以先进行分组,分成若千个子矢量后,再对相应的子矢量进行矢量量化,例如,将上述未量化的预测值残差及"M—/<5分成两纟且子矢量{6,,'}仏,2'}:<formula>formulaseeoriginaldocumentpage14</formula><formula>formulaseeoriginaldocumentpage14</formula>然后分别使用9比特、9比特矢量量化所述子矢量{6,这样做的结果是LSF矢量量化的精度更高,不影响本发明的实施;至此,对16维LSF矢量进行矢量量化就完成了,各个子矢量对应的最佳量化矢量(即最佳码本)的索引号。共需要的矢量量化数维46比特;其中,依据各ISF系数对误差的敏感程度不同,对矢量^,J分配10比特、{",2}、分配10比特,矢量{。,,}分配10比特,矢量0,"分配1O比特,矢量{、2'}分配10比特,总共需要50比特,不影响本发明的实施;或者,依据各ISF系数对误差的敏感程度不同,也可以,对矢量^,J分配9比特,矢量{",2}分配9比特,矢量{",3}分配8比特,矢量{671'}分配8比特,矢量.(、2'}分配8比特,总共需要42比特,不影响本发明的实施。对应本发明实施例的一种实现线谱频率矢量量化的系统,如图1所示,包括执行将当前帧线谱频率矢量系数或者当前帧线谱频率残差矢量系数进行分组、得到两组子矢量{",}、{6,}步骤的分组单元(10);执行对其中一组子矢量{",}直接进行矢量量化后得到一组矢量系数值","步骤的矢量量化单元(11);执行从所述矢量系数值"/'中选择部分矢量系数值"对未量化的一组子矢量{6,}系数进行预测,得到矢量系数预测值6,w步骤的预测单元(12);执行所述子矢量{6,}系数与其相应的矢量系数预测值6'"进行差值运算,得到一組预测值残差矢量{6,'}步骤的残差矢量单元(13);当前帧线语频率矢量系数或者当前帧线谱频率残差矢量系数在分组单元(10)进行分组后,到矢量量化单元(11)中对其中一组子矢量{",}进行矢量量化,利用矢量量化单元(11)中得到的部分矢量系数在预测单元(12)对未量化的一组子矢量{}系数进行预测,并在残差矢量单元U3)中求得残差矢量{"},并回到矢量量化单元(11)对所述残差矢量{、'}进行量化;其中,所述分组单元(IO),还包括对一组子矢量{",}进行分组,例如分为子矢量(a,J、{",2},得到相应组子矢量步骤的子分组单元(101);其中,所述预测单元U2),还包括执行对于每一帧LSF残差矢量,通过从co个预先计算好的预测矩阵/,中选择一个预测误差最小的预测矩阵,其判断准则为,其中,/为0,1,…,w-l,利用均方误差准则进行判断,计算针对不同的预测矩阵&所对应的均方误A二t(6,—6「'*')2,/=0,l....,w-l,其中,对应不同的子矢量m和n值不同,计算出£,的最小值£,:£义=^^"(£,),/=0,1,...,6>—1,并找出&对应的预测矩阵&,此预测矩阵^即为最佳预测矩阵,并根据最佳预测矩阵/^求出最佳预测值fc,一'"步骤的最佳预测值单元(121);其中,所述残差矢量单元(13),还包括执行对所述预测值残差矢量仏,'}系数进行分组,例如,分为仏,,'}、{、21'},得到对应组预测值残差子矢量步骤的残差矢量分组单元(131)。实施例2本实施例是一种增强型的帧内预测方法,本实施例与实施例1不同之处,具体在于所述预测值6,w的最佳值为针对不同LSF残差矢量对应不同的线性预测系数,j,即对应于不同的预测矩阵7,,不妨设/=,即有w个不同的预测矩阵,利用均方误差准则进行判断,计算针对不同的预测矩阵所对应的均方误差£,,=尤(6,-6f"*')2,/=0,l,...,w-1,对应不同的子矢量m和n值不同。户"'计算出£,的最小值,=M"(£,),/=0,1,...,《-1并找出对应的使i,值最小的预测矩阵,此预测矩阵&即为最佳预测矩阵;其余步骤与实施例l相同,在此不再重复描述。实施例3本实施例是一种直接对对16维LSF矢量进行矢量量化的方法,与实施例l不同之处在于直接对LSF矢量进行分组,分为两组子矢量{"'}、其相应的矢量系数为<formula>formulaseeoriginaldocumentpage17</formula>其余步骤与实施例l相同,在此不再重复描述。为检验本发明实施例所述方法及系统的性能,我们对AMR-WB+和本发明方法实施例的语音质量进行了客观评测,评测软件为ITU-T的P.862客观评测标准WB-PESQ。测试序列为3GPP组织提供的AMR-WB+的测试序列,由16个测试序列组成,其中包括语音、音乐、语音背景音乐,音乐背景语音等,如图2所示,测试序列均为wav单声道波形文件,采样频率为16000Hz,输出釆样频率为16000Hz,编码速率为10.4kbit/s;由此可见,对任意序列,本发明的PESQ分值均比AMRWB+要高0.025~0.455个MOS(MeanOpinionScore)分。综上所述,本发明实施例所述方法及系统相比于AMR-WB+的语音质量提高了PESQ分值。本发明实施例所述方法及系统减少了平均量化误差,经过统计本发明方法实施例和AMR-WB+的量化误差,本发明方法实施例的平均量化误差是AMRWB+的0.6倍左右,量化效果更好。以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。权利要求1、一种线谱频率矢量量化的方法,其特征在于,包括将当前帧线谱频率矢量或者当前帧线谱频率残差矢量分为两组子矢量{,}、{},所述当前帧线谱频率残差矢量为当前帧线谱频率矢量减去均值线谱频率矢量、再减去当前帧的前一帧线谱频率矢量对当前帧线谱频率矢量的贡献所得到的差值;对其中一组子矢量,}进行矢量量化后得到一组子矢量系数值^",选择其中部分子矢量系数值^,对未量化的一组子矢量{}系数进行预测,得到子矢量系数预测值6,—'";将所述未量化的一组子矢量{~}系数与其相应的子矢量系数预测值—'"进行差值运算,得到一组预测值残差矢量,对该预测值残差矢量{'}进行矢量量化。2、根据权利要求l所述的方法,其特征在于,对所述一组子矢量{",}进行分组,对相应组的子矢量进行矢量量化得到子矢量系数值",",选择相应组中部分矢量系数值对未量化的一组子矢量仏,}系数进行预测。3、根据权利要求1所述的方法,其特征在于,所述对未量化的一组子矢量{6,}系数进行预测,求预测值的公式为V'u玄(。,"';,j,其中,rm为线性预测系^t,由^,所确定,k为自然数,";为所述一组子矢量{",}的部分矢量的量化值,其组成的矩阵为对子矢量{6,}预测的预测系数组成的预测矩阵为<formula>formulaseeoriginaldocumentpage2</formula>,其中m为待量化LSF残差系数的个数,预测值组成的矩阵为<formula>formulaseeoriginaldocumentpage3</formula>4、根据权利要求3所述的方法,其特征在于,求最佳预测值6,—'"的方法为对于每一帧LSF残差矢量,通过从co个预先计算好的预测矩阵^中选择一个预测误差最小的预测矩阵,其判断准则为,其中,/为0,1,…,利用均方误差准则进行判断,计算针对不同的预测矩阵所对应的均方误差£',,<formula>formulaseeoriginaldocumentpage3</formula>其中,对应不同的子矢量m和n值不同,/二川计算出£,的最小值五,£;二M/"(《),/:^0,l,…,ft)-1,并找出&对应的预测矩阵A,此预测矩阵A即为最佳预测矩阵,并根据最佳预测矩阵A求出预测值6。5、根据权利要求l所述的方法,其特征在于,对所述一组预测值残差矢量{,'}系数进行分组,分别对所述组子矢量进行矢量量化。6、根据权利要求l所述的方法,其特征在于,所述当前帧的前一帧线谱频率矢量对当前帧线语频率矢量的贡献矢量分量值为=Mf/.",,_,,,其中,…表示第n-l帧第i个残差线谱频率系数,丽为经验值。7、一种线谱频率矢量量化的系统,其特征在于,包括执行将当前帧线谱频率矢量系数或者当前帧线谱频率残差矢量系数进行分组、得到两组子矢量{",}、》,}步骤的分组单元(10);执行对其中一组子矢量{〃,}直接进行矢量量化后得到一组矢量系数值","步骤的矢量量化单元(11);执行从所述矢量系数值","中选择部分矢量系数值"%对未量化的一组子矢量{6,}系数进行预测,得到矢量系数预测值6,—"'步骤的预测单元(12);执行所述子矢量{6,}系数与其相应的矢量系数预测值6"进行差值运算,得到一组预测值残差矢量{6,'}步骤的残差矢量单元(13);当前帧线语频率矢量系数或者当前帧线谱频率残差矢量系数在分组单元(IO)进行分组后,到矢量量化单元(ll)中对其中一组子矢量{",}进行矢量量化,利用矢量量化单元(11)中得到的部分矢量系数在预测单元(12)对未量化的一组子矢量{}系数进行预测,并在残差矢量单元(13)中求得残差矢量{'},并回到矢量量化单元(11)对所述残差矢量{6,'}进行量化。8、根据权利要求7所述的系统,其特征在于,所述分组单元(IO),还包括对一组子矢量{^}进行分组、得到相应组子矢量步骤的子分组单元(101)。9、根据权利要求7所述的系统,其特征在于,所述预测单元(12),还包括执行对于每一帧LSF残差矢量,通过从co个预先计算好的预测矩阵^中选择一个预测误差最小的预测矩阵,其判断准则为,其中,/为0,1,…,oo-l:利用均方误差准则进行判断,计算针对不同的预测矩阵W,所对应的均方误差£,,<formula>formulaseeoriginaldocumentpage4</formula>,其中,对应不同的子矢量m和n值不同,计算出A的最小值A:<formula>formulaseeoriginaldocumentpage4</formula>并找出f,对应的预测矩阵^,此预测矩阵&即为最佳预测矩阵,并根据最佳预测矩阵A求出最佳预测值6,—"'步骤的最佳预测值单元(121)。10、根据权利要求7所述的系统,其特征在于,所述残差矢量单元(13),还包括执行对所迷预测值残差矢量{'}系数进行分组,得到对应组预测值残差子矢量步骤的残差矢量分组单元(131)。全文摘要本发明提供了一种线谱频率矢量量化的方法,包括将当前帧线谱频率矢量或者当前帧线谱频率残差矢量分为两组子矢量{a<sub>i</sub>}、{b<sub>j</sub>},对其中一组子矢量{a<sub>i</sub>}进行矢量量化后得到一组子矢量系数值a<sub>i</sub><sup>q</sup>,选择其中部分子矢量系数值a<sub>j,k</sub><sup>q</sup>对未量化的一组子矢量{b<sub>j</sub>}系数进行预测,得到子矢量系数预测值b<sub>j</sub><sup>predict</sup>;将所述未量化的一组子矢量{b<sub>j</sub>}系数与其相应的子矢量系数预测值b<sub>j</sub><sup>predict</sup>进行差值运算,得到一组预测值残差矢量{b<sub>j</sub>′},对该预测值残差矢量{b<sub>j</sub>′}进行矢量量化。通过对本发明和AMR-WB+所述矢量量化方法基于ITU-T的评测标准协议P.862,利用客观评测标准WB-PESQ进行的语音质量客观评测可以得出,本发明相对于AMR-WB+提高了语音质量的感知评价PESQ分值。文档编号G10L19/00GK101145344SQ200610153330公开日2008年3月19日申请日期2006年9月15日优先权日2006年9月15日发明者张德军,李立雄申请人:华为技术有限公司