CN101409075B - 一种g.729标准中线谱对系数转换及量化的改进方法 - Google Patents
一种g.729标准中线谱对系数转换及量化的改进方法 Download PDFInfo
- Publication number
- CN101409075B CN101409075B CN2008101621579A CN200810162157A CN101409075B CN 101409075 B CN101409075 B CN 101409075B CN 2008101621579 A CN2008101621579 A CN 2008101621579A CN 200810162157 A CN200810162157 A CN 200810162157A CN 101409075 B CN101409075 B CN 101409075B
- Authority
- CN
- China
- Prior art keywords
- point
- line spectrum
- area
- coefficient
- standard
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Landscapes
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
本发明涉及G.729标准中线谱对系数转换及量化的方法。传统方法运算复杂、影响语音处理效率。本发明中转换方法是:首先将码书中的64个点分成10个区,10个线谱对系数qi分别与10个区相对应,然后将10个区中的最大值点与10个qi比较,将找到的10个与对应的10个qi最匹配的点通过计算得到10个LSF系数ωi。量化方法是:首先将原有码书中的所有10维的码字转换成5维的码字,然后将10个LSF系数所构成的矢量转化为5维的目标矢量,计算码书中的各个码字与目标矢量之间的平方误差,得到最后的量化结果。本发明在算法复杂度上降低了许多。同时得到的语音音质与用传统方法得到的音质基本一样,且比用传统方法得到的音质要佳。
Description
技术领域
本发明属于语音编解码领域,涉及一种支持G.729标准的LSP(Line Spectrum Pairs,线谱对)系数到LSF(Line Spectral Frequencies,线谱频率)系数快速转换、以及对其量化的改进方法。
背景技术
G.729语音编码标准采用“CS-ACELP”(the Conjugate-Structured Algebraic Code Excited Linear Prediction,共轭结构代数码本激励线性预测编码)算法。它综合了波形编码和参数编码的优点,以自适应预测编码技术为基础,采用了矢量量化、合成分析和感觉加权等技术。该标准应用在广泛的领域中,包括IP电话、无线通信、数字卫星系统和数字专用线路。该标准的比特率为8kbps,其处理得到的语音信号质量好,缺点为算法复杂,这给语音信号的实时性处理带来麻烦。相关技术标准参考ITU.ITU-T Recommendation G.729.Coding of speech at 8kbits/s using conjugate-structure algebraic-code-excited linear-prediction(CS-ACELP)[G].ITU:[s.n.],1996.在现阶段,语音编解码的实现一般采用DSP(digital signal processor,数字信号处理器)。整个编码过程包括:预处理、自相关计算、LP系数计算、LP-LSP系数的转换、LSP系数的转换及量化、LSP系数的内插转换等、理解加权、开环音调搜索、自适应码书搜索、固定码书搜索、增益的量化、存储器的修正等。其中LSP系数转换及量化部分的算法复杂度比较高,其计算量在整个编解码过程当中所占的权重比较大。
在LSP系数的量化计算中,10个LSP系数qi首先转换到规格化的频率域[0,π]中使用LSF的表示ωi来进行量化。这10个LSF系数满足排序特性0<ω1<ω2<...<ω10<π。在G.729标准中,其计算的过程实质上就是在一个含有64个点(在0到π之间)的余弦值的码书中搜索出与这10个LSP系数最为匹配的10个点。在该码书中,第1个点到64个点按从大到小的顺序依次排列。其计算过程如下:首先,从码书中的最小值(即第64个点)开始,与q10比较大小。若大于等于q10,则第64个点即是q10所对应的点;若小于q10,则前面一点继续与之进行比较,直到找到刚刚大于等于q10的点为止,对应的点即为q10最匹配的;对应点找到之后,再经过一系列运算就得到了ω10。另外9个点等前面的点搜索完毕后,再接着在码书中被找到的点的前一点重新开始搜索。对应点找到之后,再经过一系列运算就得到了ωi。直到10个点全部找到,10个ωi全部计算得到之后,转换完成。
上述这个转换过程计算过于繁琐,表现在:
(1)采用全搜索的方法,使得码书中的64个点基本需要全部搜索一遍;
(2)每个ωi都需要等前面的ωi搜索计算得到之后才能进入码书搜索。
在G.729编解码标准中多处运用到这个转换算法,累积下来浪费的时间会更多。
10个LSP系数转换为LSF系数之后,进入量化阶段。目前在LSF系数量化领域存在有两种方法,介绍如下:
一种既按照G.729标准原来的计算方法,采用全搜索的方法,计算平方误差得到,输入矢量必须和每个码字进行比较。量化过程算法复杂度主要是集中在一级码书的搜索,一级码书有128个10维的码字,要计算得到目标矢量与各个码字的平方误差,最后比较得到最小平方误差的码字。这里减法运用了128×10+127共1407次,乘法运用了128×10共1280次,加法运用了128×9共1152次。全搜索矢量量化编码必须经过大量的加减乘运算后才能得到最终匹配结果。本方法虽然能够很精确地找到要找的码字,但是搜索过程计算量过于繁重。
另一种方法是:首先计算线谱对参数矢量的每个码本中的各个码字矢量与坐标原点的距离,根据每个码本中的各码字矢量与坐标原点的距离大小进行排序,构建距离码本及其位置索引;再按照最小距离准则在距离码本及其位置索引中搜索与待量化矢量距离最小的码字矢量,得到一个初步搜索结果;再在该初步搜索结果的一定范围内,根据最小距离准则进行搜索,得到最终搜索结果。该算法能够降低原有标准中搜索过程的复杂度,且大大提高效率。但是其存在着一个缺点,即当正确的码字离原点的距离和目标矢量离原点的距离相差比较大时,或者说当正确的码字不在初步搜索结果的一定范围之内时,则会发生错误,这样这个正确的码字就不会被找到了。在初步搜索结果找到之后,将再搜索的范围扩大很多,这能解决上述错误的发生,但这失去了原有方法计算效率高的优点。
因此,从LSP系数到LSF系数的转换到量化,按上述这些计算方法,浪费时间比较多,这势必要影响到语音处理的效率。
发明内容
本发明的目的就是针对现有技术的不足,提供一种G.729标准中LSP系数到LSF系数快速转换及对其量化的改进方法。该方法大大降低了算法的复杂度,提高了效率,并且优化后的音质基本不变。
在LSP系数到LSF系数的转换计算过程当中,10个LSP系数在0到π中间的64个点中所对应的10个点位置分布均匀。本发明方法利用LSP系数这个特性,将64个点分区后同时进入搜索。
本发明方法包括LSP系数到LSF系数转换的改进方法和对LSF系数量化的改进方法。
LSP系数到LSF系数转换的改进方法具体过程如下:
(1)首先是对码书进行初始化,将从大到小的顺序排列的64个点分成10个区,其中首尾两个区各为8个点,中间8个区各为6个点;10个线谱对系数qi(i=1,…,10)分别与10个区相对应。
(2)在码书的10个区中的最大值点XMAX(即各个区中第1个点)分别同时与10个线谱对系数qi(i=1,…,10)进行比较:
a.若XMAX大于本区的qi,则本区内XMAX的后一个点继续与本区的qi进行比较,直到在本区内找到一个点小于本区的qi为止;则找到的点的前一个点为qi最匹配的点;
b.若XMAX小于本区的qi,则取前一个区的最小值点XMIN(即前一个区中的最后一个点,为第6个点或第8个点)与本区的qi进行比较,若还小于qi,则继续用XMIN的前1个点与qi进行比较,直到找到一个点大于等于qi,该点即为qi最匹配的点;
c.若XMAX等于本区的qi,则该点即为qi最匹配的点。
(3)将找到的10个与对应的10个qi最匹配的点通过计算得到10个LSF系数ωi。计算方法按照现有G.729标准中的方法。
本发明利用10个LSP系数在0到π中间的64个点中所对应的10个点位置分布均匀的特性,提出了将64个点分为10个区,并同时对10个LSP系数在分区内的码字进行全搜索的新方法。新方法解决了原有算法需对整个码书全搜索的缺点,在新方法中,一般在对应区内搜索一半的码字即可找到全部的10个点;新方法解决了原有算法中前面的LSP系数需要等后面的LSP系数搜索出结果之后才能进入搜索的缺点,新方法中10个LSP系数全部同时进入搜索;从这两点看,本发明与原有算法相比,明显降低了算法复杂度,提高了LSP系数到LSF系数的转换效率。其实在G.729标准中,类似的转换算法不占少数,这里仅以LSP系数到LSF系数的转换这个过程作为例子,说明这种快速转化的思想。
在LSF系数量化的过程当中,分析已有的两种方法的缺点,发现正确的码字离目标矢量距离比较小,并不能表示正确的码字离原点的距离和目标矢量离原点的距离相差比较小。码本中的码字和目标矢量可能在个别维的坐标上坐标值相差很大,而两者离原点距离却相等或者接近,这样的码字显然不是要找的码字。这种错误的码字,若在某一维上的坐标与目标矢量对应的坐标差很多,则一般在另一维或者另外多维的坐标和目标矢量对应的坐标也会差很多,但是它离原点的距离可能比正确码字离原点距离更接近目标矢量离原点的距离。因此由于这些点的存在,可能会导致正确的码字不在再搜索的范围之内,而搜索不到。
本发明方法中对LSF系数量化的改进方法具体是:
(4)首先对标准中已有的一级码书进行初始化转换,将原有码书中的所有10维的码字(x0,x1,x2,x3,x4,x5,x6,x7,x8,x9)转换成5维的码字(y0,y1,y2,y3,y4),yk=x2k 2+x2k+1 2,yk为该码字在x2k和x2k+1所在平面投影的距离的平方。
(5)将10个LSF系数所构成的矢量(ω0,ω1,ω2,ω3,ω4,ω5,ω6,ω7,ω8,ω9)按照步骤(4)中的方法转化为5维的目标矢量(z0,z1,z 2,z3,z4),zk=ω2k 2+ω2k+1 2。
(6)计算码书中的各个码字与目标矢量之间的平方误差,具体是转换后的码书中的5个投影距离的平方yk与目标矢量的5个对应的投影距离的平方zk相减后平方,再将5个平方值相加得到平方误差;最小平方误差对应的码字即为最佳码字。
(7)根据对一级码书的搜索结果,完成余下的计算,得到最后的量化结果。计算方法按照现有G.729标准中的方法。
本发明利用码字到5个相连的两维所在平面的投影的距离的平方将原有的10维码字转化为5维码字。这不像在方法二中,将10维数据转化为1个距离值。码本中部分码字和目标矢量可能在个别维的坐标上坐标值相差很大,但是它离原点的距离很接近目标矢量离原点的距离,这里各维存在的误差是1个距离值所不能体现的。而在本发明中,这些错误码字与目标矢量之间的各位的误差则体现在5个投影距离当中。则本发明可以避免出现选中这些错误码字的情况的发生。降维使得目标矢量对整个码书的全搜索过程的计算量大大降低。
本发明优化后的音质与用方法一得到的音质基本一样,且比用方法二得到的音质要佳。
具体实施方式
一种G.729标准中线谱对系数转换及量化的改进方法,其中LSP系数到LSF系数转换的改进方法具体是:
(1)首先是对码书进行初始化。将从大到小的顺序排列的64个点分成10个区,其中首尾两个区各为8个点,中间8个区各为6个点;10个线谱对系数qi(i=1,…,10)分别与10个区相对应。
这里的分区充分利用了10个LSP系数在0到π中间的64个点中所对应的10个点位置分布均匀,和该码书第1个点到64个点按从大到小的顺序依次排列的两个特性。
(2)在码书的10个区中的最大值点XMAX(即各个区中第1个点)分别同时与10个线谱对系数qi(i=1,…,10)进行比较:
a.若XMAX大于本区的qi,则本区内XMAX的后一个点继续与本区的qi进行比较,直到在本区内找到一个点小于本区的qi为止;则找到的点的前一个点为qi最匹配的点;
b.若XMAX小于本区的qi,则取前一个区的最小值点XMIN(即前一个区中的最后一个点,为第6个点或第8个点)与本区的qi进行比较,若还小于qi,则继续用XMIN的前1个点与qi进行比较,直到找到一个点大于等于qi,该点即为qi最匹配的点;
c.若XMAX等于本区的qi,则该点即为qi最匹配的点。
按照上述方法,一般在对应区内搜索一半的码字即可全部找到全部的10个点,解决了在原有算法中需要对整个码书进行全搜索的缺点;在本发明中10个LSP系数全部同时进入搜索,解决了在原有算法中前面的LSP系数需要等后面的LSP系数搜索出结果之后才能进入搜索的缺点。
(3)将找到的10个与对应的10个qi最匹配的点计算得到10个LSF系数ωi。计算方法按照现有G.729标准中的方法。
该方法利用10个LSP系数在0到π中间的64个点中所对应的10个点位置分布均匀的特性,提出了将64个点分为10个区,并同时对10个LSP系数在分区内的码字进行全搜索的新方法。本发明与原有算法相比,明显降低了算法复杂度,提高了LSP系数到LSF系数的转换效率。
对LSF系数量化的改进方法具体是:
(4)首先对标准中已有的一级码书进行初始化转换,将原有码书中的所有10维的码字(x0,x1,x2,x3,x4,x5,x6,x7,x8,x9)转换成5维的码字(y0,y1,y2,y3,y4),yk=x2k 2+x2k+1 2,yk为该码字在x2k和x2k+1所在平面投影的距离的平方。
(5)将10个LSF系数所构成的矢量(ω0,ω1,ω2,ω3,ω4,ω5,ω6,ω7,ω8,ω9)按照步骤(4)中的方法转化为5维的目标矢量(z0,z1,z 2,z3,z4),zk=ω2k 2+ω2k+1 2。
利用码字到5个相连的两维所在平面的投影的距离的平方将原有的10维码字转化为5维码字。这样可以使得转换后的5个投影距离包含有原有10维矢量的10个坐标值的大部分信息。这不像方法二那样,将原有矢量转化为1个简单的距离值,这会导致原有10维矢量的10个坐标值的大部分信息丢失。
(6)计算码书中的各个码字与目标矢量之间的平方误差,具体是转换后的码书中的5个投影距离的平方yk与目标矢量的5个对应的投影距离的平方zk相减后平方,再将5个平方值相加得到平方误差;最小平方误差对应的码字即为最佳码字。
降维使得目标矢量对整个码书的全搜索过程不像方法一中的大计算量。这里码书的初始化过程中的计算是在量化之前就完成的,在编码过程当中不包括这部分计算。而这里主要是目标矢量的降维过程以及量化过程。在整个搜索过程中,减法运用了128×5+127共767次,乘法运用了10+128×5共650次,加法运用了5+128×4共517次。这样的计算量基本上是方法一的一半,即效率提高了一倍。
(7)根据对一级码书的搜索结果,完成余下的计算,得到最后的量化结果。计算方法按照现有G.729标准中的方法。
本发明利用码字到5个相连的两维所在平面的投影的距离的平方将原有的10维码字转化为5维码字。通过降维得到的5个投影距离包含有原有10维矢量的10个坐标值的大部分信息,同时降维使得目标矢量对整个码书全搜索过程的计算量减少了一半。
本发明相对于传统方法,在算法复杂度上降低了许多。同时得到的语音音质与用传统方法得到的音质基本一样,且比用传统方法得到的音质要佳。
Claims (1)
1.一种G.729标准中线谱对系数转换及量化的改进方法,包括线谱对系数到线谱频率系数转换的改进方法和对线谱频率系数量化的改进方法,其特征在于:
线谱对系数到线谱频率系数转换的改进方法具体是:
(1)首先是对码书进行初始化,将按从大到小的顺序排列的64个点分成10个区,其中首尾两个区各为8个点,中间8个区各为6个点;10个线谱对系数q分别与10个区相对应,i=1,...,10;
(3)将找到的10个与对应的10个qi最匹配的点通过计算得到10个线谱频率系数ωi,计算方法按照现有G.729标准中的方法;
对线谱频率系数量化的改进方法具体是:
(4)首先对G.729标准中已有的一级码书进行初始化转换,将原有码书中的所有10维的码字(xo,x1,x2,x3,x4,x5,x6,x7,x8,x9)转换成5维的码字(y0,y1,y2,y3,y4),其中yk=x2k 2+x2k+1 2,k=0,...,4,yk为该码字在x2k和x2k+1所在平面投影的距离的平方;
(5)将10个线谱频率系数所构成的矢量(ω0,ω1,ω2,ω3,ω4,ω5,ω6,ω7,ω8,ω9)转换成5维的目标矢量(z0,z1,z2,z3,z4),其中zk=ω2k 2+ω2k+1 2,k=0,...,4;
(6)计算码书中的各个码字与目标矢量之间的平方误差,具体是转换后的码书中的5个投影距离的平方yk与目标矢量的5个对应的投影距离的平方zk相减后平方,再将5个平方值相加得到平方误差;最小平方误差对应的码字即为最佳码字;
(7)根据对一级码书的搜索结果,完成余下的计算,得到最后的量化结果,计算方法按照现有G.729标准中的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008101621579A CN101409075B (zh) | 2008-11-27 | 2008-11-27 | 一种g.729标准中线谱对系数转换及量化的改进方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008101621579A CN101409075B (zh) | 2008-11-27 | 2008-11-27 | 一种g.729标准中线谱对系数转换及量化的改进方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101409075A CN101409075A (zh) | 2009-04-15 |
CN101409075B true CN101409075B (zh) | 2011-05-11 |
Family
ID=40572055
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2008101621579A Active CN101409075B (zh) | 2008-11-27 | 2008-11-27 | 一种g.729标准中线谱对系数转换及量化的改进方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101409075B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104143337B (zh) * | 2014-01-08 | 2015-12-09 | 腾讯科技(深圳)有限公司 | 一种提高音频信号音质的方法和装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1488135A (zh) * | 2000-11-30 | 2004-04-07 | ���µ�����ҵ��ʽ���� | 线性预测编码参数的矢量量化装置 |
CN1540627A (zh) * | 2003-10-30 | 2004-10-27 | 北京首信股份有限公司 | 用于语音编码的线谱对加权量化矢量快速搜索算法 |
-
2008
- 2008-11-27 CN CN2008101621579A patent/CN101409075B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1488135A (zh) * | 2000-11-30 | 2004-04-07 | ���µ�����ҵ��ʽ���� | 线性预测编码参数的矢量量化装置 |
CN1540627A (zh) * | 2003-10-30 | 2004-10-27 | 北京首信股份有限公司 | 用于语音编码的线谱对加权量化矢量快速搜索算法 |
Non-Patent Citations (3)
Title |
---|
JP特开平8-185200A 1996.07.16 |
TELECOMMUNICATION STANDARDIZATION SECTOR OF ITU.CODING OF SPEECH AT 8 kbit/s USING CONJUGATE-STRUCTURE ALGEBRAIC-CODE-EXCITED LINEAR-PREDICTION(CS-ACELP).《CODING OF SPEECH AT 8 kbit/s USING CONJUGATE-STRUCTURE ALGEBRAIC-CODE-EXCITED LINEAR-PREDICTION(CS-ACELP)》.1999,第10-13页. * |
陈亮 等.LSP参数的快速计算及其高效量化研究.《解放军理工大学学报(自然科学版)》.2001,第2卷(第5期),第24-27页. * |
Also Published As
Publication number | Publication date |
---|---|
CN101409075A (zh) | 2009-04-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105723455B (zh) | 用于编码音频信号的编码器、音频发送系统和用于确定校正值的方法 | |
CN102842305B (zh) | 一种基音检测的方法和装置 | |
EP2791935B1 (en) | Low complexity repetition detection in media data | |
US8271270B2 (en) | Method, apparatus and system for encoding and decoding broadband voice signal | |
US7805292B2 (en) | Method and apparatus for audio transcoding | |
KR20120043160A (ko) | 다단계 양자화 방법 및 장치 | |
CN105431901B (zh) | 椎体矢量量化器形状搜索 | |
WO2006083550A2 (en) | Audio compression using repetitive structures | |
CN107408390B (zh) | 线性预测编码装置、线性预测解码装置、它们的方法以及记录介质 | |
CN102708871A (zh) | 基于条件高斯混合模型的线谱对参数降维量化方法 | |
CN101937680A (zh) | 码书分类重排矢量量化方法及其矢量量化器 | |
JP5006404B2 (ja) | ベクトル量子化装置 | |
CN102025998B (zh) | 一种数字图像信号矢量量化码书设计方法 | |
CN101409075B (zh) | 一种g.729标准中线谱对系数转换及量化的改进方法 | |
Choi et al. | Speech recognition using quantized LSP parameters and their transformations in digital communication | |
Zhu et al. | Minimax partial distortion competitive learning for optimal codebook design | |
KR20130112869A (ko) | 양자화 장치 및 양자화 방법 | |
JP2010164762A (ja) | 特徴量抽出装置、特徴量抽出方法、およびプログラム | |
Shahnawazuddin et al. | Sparse coding over redundant dictionaries for fast adaptation of speech recognition system | |
JPH07111456A (ja) | 音声圧縮方法および装置 | |
CN109346093B (zh) | 一种低速率声码器子带清浊音参数提取与量化的融合方法 | |
CN110660400B (zh) | 立体声信号的编码、解码方法、编码装置和解码装置 | |
CN101908341B (zh) | 一种基于g.729算法的语音编码优化方法 | |
CN101377926B (zh) | 加速量化循环程序功能的音频编码方法 | |
CN101630510B (zh) | Amr语音编码中lsp系数量化的快速码本搜索的方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |