G.729标准中线谱对系数转换及量化的方法

文档序号:2836839阅读:560来源:国知局
专利名称:G.729标准中线谱对系数转换及量化的方法
技术领域
本发明属于语音编解码领域,涉及一种支持G.729标准的LSP(Line Spectrum Pairs,线谱对)系数到LSF (Line Spectral Frequencies,线谱频率)系 数快速转换、以及对其量化的方法。
背景技术
G. 729 i吾音编石马丰示7隹采用"CS-ACELP" (the Conjugate-Structured Algebraic Code Excited Linear Prediction,共轭结构代数码本激励线性预测编码)算法。 它综合了波形编码和参数编码的优点,以自适应预测编码技术为基础,釆用 了矢量量化、合成分析和感觉加权等技术。该标准应用在广泛的领域中,包 括IP电话、无线通信、数字卫星系统和数字专用线路。该标准的比特率为8 kbps,其处理得到的语音信号质量好,缺点为算法复杂,这给语音信号的实 时性处理带来麻烦。相关技术标准参考ITU. ITU-TReco咖endationG. 729. Coding of speech at 8 kbits/s using conjugate-structure algebraic-code—excited linear-prediction (CS-ACELP) [G]. ITU: [s. n.], 1996.在王见卩介段,i吾音编角军石马 的实现一般采用DSP (digital signal processor,数字信号处理器)。整个 编码过程包括预处理、自相关计算、LP系数计算、LP-LSP系数的转换、 LSP系数的转换及量化、LSP系数的内插转换等、理解加权、开环音调搜索、 自适应码书搜索、固定码书搜索、增益的量化、存储器的修正等。其中LSP 系数转换及量化部分的算法复杂度比较高,其计算量在整个编解码过程当中 所占的权重比较大。
在LSP系数的量化计算中,10个LSP系数A首先转换到规格化的频率域
[0,"中使用LSF的表示"'来进行量化。这10个LSF系数满足排序特性u〈",a〈…〈《〈"。在G.729标准中,其计算的过程实质上就是在一个含 有64个点(在0到;r之间)的余弦值的码书中搜索出与这10个LSP系数最为 匹配的10个点。在该码书中,第1个点到64个点按从大到小的顺序依次排
列。其计算过程如下首先,从码书中的最小值(即第64个点)开始,与i 比较大小。若大于等于仏。,则第64个点即是仏。所对应的点;若小于仏。,
则前面一点继续与之进行比较,直到找到刚刚大于等于《的点为止,对应
的点即为^。最匹配的;对应点找到之后,再经过一系列运算就得到了w,。。
另外9个点等前面的点搜索完毕后,再接着在码书中被找到的点的前一点重 新开始搜索。对应点找到之后,再经过一系列运算就得到了^。直到10个 点全部找到,IO个臥全部计算得到之后,转换完成。
上述这个转换过程计算过于繁琐,表现在
(1) 采用全搜索的方法,使得码书中的64个点基本需要全部搜索一遍;
(2) 每个o),都需要等前面的搜索计算得到之后才能进入码书搜索。
在G. 729编解码标准中多处运用到这个转换算法,累积下来浪费的时间
a雨名
10个LSP系数转换为LSF系数之后,进入量化阶段。目前在LSF系数 量化领域存在有两种方法,介绍如下
一种既按照G. 729标准原来的计算方法,采用全搜索的方法,计算平方 误差得到,输入矢量必须和每个码字进行比较。量化过程算法复杂度主要是 集中在一级码书的搜索, 一级码书有128个10维的码字,要计算得到目标矢 量与各个码字的平方误差,最后比较得到最小平方误差的码字。这里减法运 用了 128X 10+127共1407次,乘法运用了 128X 10共1280次,加法运用了 128X9共1152次。全搜索矢量量化编码必须经过大量的加减乘运算后才能 得到最终匹配结果。本方法虽然能够很精确地找到要找的码字,但是搜索过 程计算量过于繁重。另一种方法是首先计算线谱对参数矢量的每个码本中的各个码字矢量 与坐标原点的距离,根据每个码本中的各码字矢量与坐标原点的距离大小进 行排序,构建距离码本及其位置索引;再按照最小距离准则在距离码本及其 位置索引中搜索与待量化矢量距离最小的码字矢量,得到一个初歩搜索结 果;再在该初步搜索结果的一定范围内,根据最小距离准则进行搜索,得到 最终搜索结果。该算法能够降低原有标准中搜索过程的复杂度,且大大提高 效率。但是其存在着一个缺点,即当正确的码字离原点的距离和目标矢量离 原点的距离相差比较大时,或者说当正确的码字不在初步搜索结果的一定范 围之内时,则会发生错误,这样这个正确的码字就不会被找到了。在初歩搜 索结果找到之后,将再搜索的范围扩大很多,这能解决上述错误的发生,但 这失去了原有方法计算效率高的优点。
因此,从LSP系数到LSF系数的转换到量化,按上述这些计算方法,浪 费时间比较多,这势必要影响到语音处理的效率。

发明内容
本发明的目的就是针对现有技术的不足,提供一种G. 729标准中LSP系 数到LSF系数快速转换及对其量化的方法。该方法大大降低了算法的复杂度, 提高了效率,并且优化后的音质基本不变。
在LSP系数到LSF系数的转换计算过程当中,10个LSP系数在0到;r中 间的64个点中所对应的10个点位置分布均匀。本发明方法利用LSP系数这 个特性,将64个点分区后同时进入搜索。
本发明方法包括LSP系数到LSF系数的转换方法和量化方法。
LSP系数到LSF系数的转换过程如下
(1)首先是对码书进行初始化,将从大到小的顺序排列的64个点分成10 个区,其中首尾两个区各为8个点,中间8个区各为6个点;IO个线谱对系 数《,(,=1,..,10)分别与IO个区相对应。(2) 在码书的10个区中的最大值点义_ (即各个区中第1个点)分别同 时与10个线谱对系数& G = I,..,IO )进行比较
a. 若Z,大于本区的g.,则本区内%_的后一个点继续与本区的仏进行 比较,直到在本区内找到一个点小于本区的《,为止;则找到的点的前一个点 为《,最匹配的点;
b. 若^^小于本区的仏,则取前一个区的最小值点义,(即前一个区中
的最后一个点,为第6个点或第8个点)与本区的《,进行比较,若还小于A,
则继续用义皿的前1个点与A进行比较,直到找到一个点大于等于A,该点
即为A最匹配的点;
c. 若i,等于本区的义,则该点即为仏最匹配的点。
(3) 将找到的10个与对应的10个^最匹配的点通过计算得到10个LSF 系数臥。计算方法按照现有G.729标准中的方法。
本发明利用10个LSP系数在0到;r中间的64个点中所对应的10个点 位置分布均匀的特性,提出了将64个点分为10个区,并同时对10个LSP 系数在分区内的码字进行全搜索的新方法。新方法解决了原有算法需对整个 码书全搜索的缺点,在新方法中, 一般在对应区内搜索一半的码字即可找到 全部的10个点;新方法解决了原有算法中前面的LSP系数需要等后面的LSP 系数搜索出结果之后才能进入搜索的缺点,新方法中10个LSP系数全部同 时进入搜索;从这两点看,本发明与原有算法相比,明显降低了算法复杂度, 提高了 LSP系数到LSF系数的转换效率。其实在G. 729标准中,类似的转换 算法不占少数,这里仅以LSP系数到LSF系数的转换这个过程作为例子,说 明这种快速转化的思想。
在LSF系数量化的过程当中,分析已有的两种方法的缺点,发现正确的 码字离目标矢量距离比较小,并不能表示正确的码字离原点的距离和目标矢量离原点的距离相差比较小。码本中的码字和目标矢量可能在个别维的坐标 上坐标值相差很大,而两者离原点距离却相等或者接近,这样的码字显然不 是要找的码字。这种错误的码字,若在某一维上的坐标与目标矢量对应的坐 标差很多,则一般在另一维或者另外多维的坐标和目标矢量对应的坐标也会 差很多,但是它离原点的距离可能比正确码字离原点距离更接近目标矢量离 原点的距离。因此由于这些点的存在,可能会导致正确的码字不在再搜索的 范围之内,而搜索不到。
本发明方法中量化的具体方法是
(4) 首先对标准中已有的一级码书进行初始化转换,将原有码书中的所 有10维的码字(
Xo, "1,J^2,^3, X4,义5,义6,义7, 乂8,义9
)转换成5维的码字ty。,乂,力力凡), 乂 = ^、^,+12, },为该码字在",和",+1所在平面投影的距离的平方。
(5) 将10个LSF系数所构成的矢量U。,臥,队,欣,队,欣,欣备欣,欣)按照步
骤④中的方法转化为5维的目标矢量(Z。,二,Z2,^,Z4), Z,H.VW。
(6) 计算码书中的各个码字与目标矢量之间的平方误差,具体是转换后 的码书中的5个投影距离的平方与目标矢量的5个对应的投影距离的平方
Z,相减后平方,再将5个平方值相加得到平方误差;最小平方误差对应的码
字即为最佳码字。
(7) 根据对一级码书的搜索结果,完成余下的计算,得到最后的量化结 果。计算方法按照现有G.729标准中的方法。
本发明利用码字到5个相连的两维所在平面的投影的距离的平方将原有 的10维码字转化为5维码字。这不像在方法二中,将10维数据转化为1个 距离值。码本中部分码字和目标矢量可能在个别维的坐标上坐标值相差很 大,但是它离原点的距离很接近目标矢量离原点的距离,这里各维存在的误 差是l个距离值所不能体现的。而在本发明中,这些错误码字与目标矢量之 间的各位的误差则体现在5个投影距离当中。则本发明可以避免出现选中这些错误码字的情况的发生。降维使得目标矢量对整个码书的全搜索过程的计 算量大大降低。
本发明优化后的音质与用方法一得到的音质基本一样,且比用方法二得 到的音质要佳。
具体实施例方式
一种G. 729标准中线谱对系数转换及量化的方法,其中转换方法是
(1) 首先是对码书进行初始化。将从大到小的顺序排列的64个点分成10 个区,其中首尾两个区各为8个点,中间8个区各为6个点;IO个线谱对系 数仏("i,…,io)分别与IO个区相对应。
这里的分区充分利用了 10个LSP系数在0到;r中间的64个点中所对应 的10个点位置分布均匀,和该码书第1个点到64个点按从大到小的顺序依
次排列的两个特性。
(2) 在码书的10个区中的最大值点x^ (即各个区中第1个点)分别同 时与lO个线谱对系数g,(,-i,..,io)进行比较
a. 若x皿大于本区的仏,则本区内义,的后一个点继续与本区的仏进行 比较,直到在本区内找到一个点小于本区的g,为止;则找到的点的前一个点 为^最匹配的点;
b. 若1_小于本区的仏,则取前一个区的最小值点x,(即前一个区中 的最后一个点,为第6个点或第8个点)与本区的《,进行比较,若还小于《, 则继续用义,的前1个点与《,进行比较,直到找到一个点大于等于a,该点 即为《,最匹配的点;
c. 若义_等于本区的《;,则该点即为a最匹配的点。
按照上述方法, 一般在对应区内搜索一半的码字即可全部找到全部的10 个点,解决了在原有算法中需要对整个码书进行全搜索的缺点;在本发明中10个LSP系数全部同时进入搜索,解决了在原有算法中前面的LSP系数需要
等后面的LSP系数搜索出结果之后才能进入搜索的缺点。
(3) 将找到的IO个与对应的10个^最匹配的点计算得到IO个LSF系数
w,。计算方法按照现有G. 729标准中的方法。
该方法利用10个LSP系数在0到;r中间的64个点中所对应的10个点 位置分布均匀的特性,提出了将64个点分为10个区,并同时对10个LSP 系数在分区内的码字进行全搜索的新方法。本发明与原有算法相比,明显降 低了算法复杂度,提高了 LSP系数到LSF系数的转换效率。
量化的方法是
(4) 首先对标准中已有的一级码书进行初始化转换,将原有码书中的所 有10维的码字U。,力,;d,;d,;d,;c"》转换成5维的码字(U,,凡,JW」, JM2/+;c2,.+12, x为该码字在",和"w所在平面投影的距离的平方。
(5) 将10个LSF系数所构成的矢量(欣,砂类,欣,欣,狄,欣,欣,欣,欣)按照步 骤(4)中的方法转化为5维的目标矢量(z。,z,,;,z,zj, z, = w2/+ 2/+12。
利用码字到5个相连的两维所在平面的投影的距离的平方将原有的10 维码字转化为5维码字。这样可以使得转换后的5个投影距离包含有原有10 维矢量的10个坐标值的大部分信息。这不像方法二那样,将原有矢量转化 为1个简单的距离值,这会导致原有10维矢量的10个坐标值的大部分信息 丢失。
(6) 计算码书中的各个码字与目标矢量之间的平方误差,具体是转换后 的码书中的5个投影距离的平方x与目标矢量的5个对应的投影距离的平方
z,.相减后平方,再将5个平方值相加得到平方误差;最小平方误差对应的码
字即为最佳码字。
降维使得目标矢量对整个码书的全搜索过程不像方法一中的大计算量。这里码书的初始化过程中的计算是在量化之前就完成的,在编码过程当中不 包括这部分计算。而这里主要是目标矢量的降维过程以及量化过程。在整个
搜索过程中,减法运用了 128X5+127共767次,乘法运用了 10+128X5共 650次,加法运用了 5+128X4共517次。这样的计算量基本上是方法一的一 半,即效率提高了一倍。
(7)根据对一级码书的搜索结果,完成余下的计算,得到最后的量化结 果。计算方法按照现有G.729标准中的方法。
本发明利用码字到5个相连的两维所在平面的投影的距离的平方将原有 的10维码字转化为5维码字。通过降维得到的5个投影距离包含有原有10 维矢量的10个坐标值的大部分信息,同时降维使得目标矢量对整个码书全 搜索过程的计算量减少了一半。
本发明相对于传统方法,在算法复杂度上降低了许多。同时得到的语音 音质与用传统方法得到的音质基本一样,且比用传统方法得到的音质要佳。
权利要求
1.G.729标准中线谱对系数转换及量化的方法,包括线谱对系数到线谱频率系数的转换方法和量化方法,其特征在于线谱对系数到线谱频率系数的转换方法是(1)首先是对码书进行初始化,将从大到小的顺序排列的64个点分成10个区,其中首尾两个区各为8个点,中间8个区各为6个点;10个线谱对系数qi(i=1,…,10)分别与10个区相对应;(2)在码书的10个区中的最大值点XMAX分别同时与10个线谱对系数qi(i=1,…,10)进行比较a.若XMAX大于本区的qi,则本区内XMAX的后一个点继续与本区的qi进行比较,直到在本区内找到一个点小于本区的qi为止;则找到的点的前一个点为qi最匹配的点;b.若XMAX小于本区的qi,则取前一个区的最小值点XMIN与本区的qi进行比较,若还小于qi,则继续用XMIN的前1个点与qi进行比较,直到找到一个点大于等于qi,该点即为qi最匹配的点;c.若XMAX等于本区的qi,则该点即为qi最匹配的点;(3)将找到的10个与对应的10个qi最匹配的点通过计算得到10个线谱频率系数ωi;量化的具体方法是(4)首先对标准中已有的一级码书进行初始化转换,将原有码书中的所有10维的码字(x0,x1,x2,x3,x4,x5,x6,x7,x8,x9)转换成5维的码字(y0,y1,y2,y3,y4),yi=x2i2+x2i+12,yi为该码字在x2i和x2i+1所在平面投影的距离的平方;(5)将10个线谱频率系数所构成的矢量(ω0,ω1,ω2,ω3,ω4,ω5,ω6,ω7,ω8,ω9)转换成5维的目标矢量(z0,z1,z2,z3,z4),zi=ω2i2+ω2i+12;(6)计算码书中的各个码字与目标矢量之间的平方误差,具体是转换后的码书中的5个投影距离的平方yi与目标矢量的5个对应的投影距离的平方zi相减后平方,再将5个平方值相加得到平方误差;最小平方误差对应的码字即为最佳码字;(7)根据对一级码书的搜索结果,通过计算得到最后的量化结果。
全文摘要
本发明涉及G.729标准中线谱对系数转换及量化的方法。传统方法运算复杂、影响语音处理效率。本发明中转换方法是首先将码书中的64个点分成10个区,10个线谱对系数q<sub>i</sub>分别与10个区相对应,然后将10个区中的最大值点与10个q<sub>i</sub>比较,将找到的10个与对应的10个q<sub>i</sub>最匹配的点通过计算得到10个LSF系数ω<sub>i</sub>。量化方法是首先将原有码书中的所有10维的码字转换成5维的码字,然后将10个LSF系数所构成的矢量转化为5维的目标矢量,计算码书中的各个码字与目标矢量之间的平方误差,得到最后的量化结果。本发明在算法复杂度上降低了许多。同时得到的语音音质与用传统方法得到的音质基本一样,且比用传统方法得到的音质要佳。
文档编号G10L19/14GK101409075SQ20081016215
公开日2009年4月15日 申请日期2008年11月27日 优先权日2008年11月27日
发明者戴一奇, 洪爱金, 潘剑侠, 陈科明, 琪 马 申请人:杭州电子科技大学;杭州初灵信息技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1