一种适用于嵌入式系统实现的基于g.729算法的语音编码优化方法

文档序号:2823754阅读:180来源:国知局
专利名称:一种适用于嵌入式系统实现的基于g.729算法的语音编码优化方法
技术领域
本发明属于嵌入式系统的基于G. 729算法的语音编码控制技术领域,尤其是一种 基于G. 729算法的语音编码优化方法。
背景技术
随着现代社会通信技术的高速发展,频率资源显得越加宝贵,为了尽可能地提高 频带利用率,在语音通信系统中需要对音频数据进行压缩传输,而正是由于高质量低速率 的语音压缩标准的出现和该技术的实现和应用使得现代数字语音通信网的系统容量得到 了极大的提高。G. 726 标准中采用的 ADPCM(Adaptive Differential Pulse Code Modulation) 算法很好地综合了 APCM(Adaptive Pulse Code Modulation)算法的自适应特性和 DPCM(Differential Pulse Code Modulation)算法的差分特性,是一种性能比较好的波形 编码。它的核心思想是采取自适应的方式去选取信号量化阶的大小,即当信号之间差值 较小的时候使用小的量化阶进行编码,当信号之间差值较大的时候使用大的量化阶进行编 码;使用已经得到的前一样本值去预测下一个输入样本的值,并总是使得实际样本值和预 测样本值之间的差值达到最小。早期出现的G. 721、G. 723、G. 726和G. 727语音编码标准都 采用了 ADPCM算法。ADPCM算法相对于后来出现的CELP算法,其算法的计算量要小得多,可 以最大限度地节省系统资源。CELP (码激励线性预测)技术无疑是在目前的各种高质量低速率语音编码标准中 发展最为成功的语音编码技术之一。CELP编码技术得到的语音质量要好于所有的16kbit/ S编码率的编码标准,甚至可与编码率为32kbit/s的连续可变斜率增量调制技术(CVSD) 相媲美。正是由于该算法的优异表现,CELP编码算法已经被广泛应用于各种低速率语音压 缩编码标准当中。比如=G. 728 16kbit/s低时延码激励线性预测(LD-CELP)标准、G. 729 8kbit/s共扼结构代数码激励线性预测(CS-ACELP)标准以及G. 723. 1的5. 3kbit/s算术码 本激励线性预测(ACELP)和6. 3kbit/s多脉冲最大似然量化(MP-MLQ)标准等等。但是, CELP编码技术的缺点也十分明显其编码算法相对复杂,计算复杂度也非常高。正是由于 这一缺点,使得CELP编码技术在实际的工程实现上存在着一定的困难。G. 729语音编码标准采用基于CELP编码模型的CS-ACELP算法。其主要的技术指 标如下在无误码的情况下,得到的语音质量和编码率为32kbit/s自适应差分脉冲编码调 制得到的语音质量相当;在3%数据帧出现错误的情况下,与无误码的编码率为32kbit/s自 适应差分脉冲编码调制(ADPCM)方法对比,得到的语音质量平均评价得分(MOS)降低度不 超过0. 5。如上所述,CS-ACELP编码具有低速率、高质量、低延迟的特点,是目前理论上非常 理想的一种编码算法。目前主要应用于分组语音通信(如IP Phone)、移动无线通信、个人 通信、数字卫星通信、微波接力通信以及未来的综合业务数字通信网(ISDN)中。但是G. 729 的算法复杂度高、计算量大,对硬件的要求也高,在ARM平台上实现存在一定的难度。因此,
4减少G. 729的计算量,增加编码效率十分必要。

发明内容
为了克服已有嵌入式系统实现的基于G. 729算法的语音编码方法的算法复杂度 高、计算量大、对硬件的要求高、降低编码效率的不足,本发明提供一种降低算法的复杂度、 减少计算量、对硬件的要求较低、增加编码效率的适用于嵌入式系统实现的基于G. 729算 法的语音编码优化方法。本发明解决其技术问题所采用的技术方案是
一种适用于嵌入式系统实现的基于G. 729算法的语音编码优化方法,所述 G. 729算法在搜索相对应码值时,将搜索范围限制在开环基音分析所得到的候选延迟
附近,对每一帧语音数据作一次开环音调分析,每一帧语音数据的特性参数10ms、80个
样点,过程如下
在时间t中选取范围[Ni, N2],并将其分为三部分,即[Ni, Ni,]、[Nl,,N2,]、[N2,,
79
N2],分别求出加权语音信号f.、在这三部分内的自相关函数幻的
三个最大值= 其中,
ι = ιΗ, k=[m, μ‘], I1MΜ, m1商围内R(k)取得最大值的时间值; i = 2时,λ = [Ν \ Ν2 '3 a2M m \ N21商囿内R(k)取得最大值的时间值; i = 3时,.t = [N2', N2]d3^N2围内R(k)取得最大值的吋同值;
1.2,对及㈨“ =1,2,3进行归一化处理,如下
1.3,确定最佳开环时延Τ-,其过程如下
果 5^)2 0.85^7;),则将 '( 2)赋值给及 t ;) , RXT^ = RXQ , t2 赋值给 Top, h =t2
1.3.3,如果及込)乏0.85及'(^),则将及%)赋值给,
, t2赋值给
优化后的加权语音信号相关系数的表达式如下 作为优选的一种方案所述G. 729算法中,LSP系数/使用频率域[O,Λ"]中的LSF即巧来进行量化,即
-H^ = arccosCfj) i = Ι,^.,ΙΟ(3)
利用两个可相互切换的4阶MA预测器之一用来预测当前帧的LSF系数,计算系数和预 测系数之间的差值,使用两级矢量进行量化,第一级矢量量化使用包括128个码字的10维 矢量码本Li,第二级矢量量化使用32个码字的两个5维码本L2和L3 ; 采用一般性码字判别算法搜索最佳逼近码字,具体过程为 2. 1,求出当前输入信号矢量和f难码本里的各个码字矢量的平均值; 2. 2,计算输入信号矢量平均值和第一个码字矢量平均值的均方误差值,并设定其为 Ayn ,再计算输入信号矢量平均值和第二个码字平均值的均方误差,如果其小于Aa ,则把
该均方误差值设定为新的化ia ,如果大于,则认定当前码字为非最佳逼近码字,排除在
搜索范围之内,减去了对该码字的不必要的搜索计算,依此类推,直到比较到第Γ个码字, 并得到最佳逼近码字。进一步,在所述2. 2中,设为Z维矢量,定义矢量的均值为F为 τ维码本里的一个码字, '的均值为, Atin是当前码本搜索中已知的最小失真,若
K(mx ~mY)2 > Dmkl(4)
则矢量JT和:r的失真巩足,码字f可以被判决为非最佳逼近码字,则可以排 除在搜索范围之内。本发明的技术构思为该优化方法包括开环基音搜索的粗化、LSP系数量化算法 的优化。开环基音粗化搜索的简化算法主要针对于第一级搜索,其基本原则是在搜索精度 允许的条件下,改变搜索过程中判决准则的计算方法,以达到减少计算量的目的。LSP系数 量化算法的优化在各级矢量量化器中采用一般性码字判别算法来代替全搜索算法搜索最 佳逼近码字,从而减少了矢量量化算法的运算量和运算时间,加快了矢量量化的编码速度, 并且没有影响矢量量化的精度。本发明的有益效果主要表现在降低算法的复杂度、减少计算量、对硬件的要求较 低、增加编码效率。


图1为LSP矢量量化图。
具体实施例方式下面结合附图对本发明作进一步描述。参照图1,一种适用于嵌入式系统实现的基于G. 729算法的语音编码优化方法,所
述G. 729算法在搜索相对应码值时,将搜索范围限制在开环基音分析所得到的候选延迟
附近,对每一帧语音数据作一次开环音调分析,每一帧语音数据的特性参数10ms、80个样 点,过程如下
61. 1,在时间t中选取范围[m,N2],并将其分为三部分,即[m,Nl,]、[Nl,,N2,]、[N2,,
N2],分别求出加权语音信号在这三部分内的自相关函数及⑷Α)的
三个最大值母 ), = 1,2,3,其中,
! = ι时,k=[m, m‘], ttMαπ, m ‘旅围内玟㈨取得最大值的吋间值; Σ = 2吋,i = [MN2'} ,t2M m · N21商围内R(k)取得最大值的时间值; i = 3H, k = [Ν2', Ν2], 3Μ^2 \ Ατ2商围内R(k)取得最大值的吋间值;
1.2,对Aft) ,2 = 1,2,3进行归一化处理,如下
η γ, X —R(0
1.3,确定最佳开环时延 ;,,其过程如下
1. 3. 1,将 tl 赋值给 T。p, Tef =、,糧赋值给, RXT^ =嗎
1. 3. 2,如果 Λ奂)&0.85i ‘(4),则将 赋值给 , M1(Ti9) = RXi2) , t2 赋值给
Top' ^P =12
1.3.3,如果及佑)乏0.85丨(^),则将J (i3)赋值给MT,) , RXT^ = RXQ , t2赋值给 优化后的加权语音信号相关系数的表达式如下
38
職=Σ~k) ^^[奶(2)。 本实施例中,开环基音搜索的粗化的过程为在G. 729算法中的一些关键模块中, 在搜索相对应码值的时候都采用了多级查询的方法。多级查询的基本原理是首先按照一 定的算法或判断准则将查询或量化的范围缩小到某一较小的搜索区域内;然后再提高精 度,把搜索锁定到更小的范围;最后在一个最小的范围内进行计算判决以确定最终的值。 这种多级的查询搜索相对于全搜索过程,可以有效地减小搜索的计算量。实际情况是经过 第一级的运算后,所得到的区域已经很小,此后的运算量也会变得很小,进行优化的意义不 大。所以粗化搜索的简化算法主要针对于第一级搜索。其基本原则是在搜索精度允许的 条件下,改变搜索过程中判决准则的计算方法,以达到减少计算量的目的。下面以开环基音 分析中周期搜索为例
为了减少自适应码书的最佳时延的搜索复杂度,将其搜索范围限制在开环基音分析所
得到的候选延迟4附近。对每一帧(10ms,80个样点)语音数据都需要作一次开环音调分
析。具体过程如下
第一步,在时间t中选取范围[Ni,N2],并将其分为三部分,即[Ni,Ni,]、 [Nl,,N2,]、[N2,,N2],分别求出加权语音信号在这三部分内的自相关函数
的三个最大值 .、,. ,。,其中,
! = 1时,l = [ATUVT],A^AaAZT商围内R(k)取得最大值的时间值; = 2Bf,,I2^ mm ^1S围内R(k)取得最大值的时间值;
= 3时,k = [N2',N2],i-MN2\ F2商围内R(k)取得最大值的吋间值;
第二步,对巩,! = 1,2,3进行归一化处理,如下
第三步,确定最佳开环时延,其过程如下
1. 3. 1,将 tl 赋值给 T。p, '^=I1 , R\h、赋值给, RWiw) = RXQ
1. 3. 2,如果 5込)乏0.855'(7;),则将 赋值给, R1(Tiw) = RXt2) , t2 赋值给
1.3.3,如果及込)乏0.85及'(4),则将5込)赋值给及, RXT^j = RXi3) , t2赋值给 Top, -h
在进行第一级运算的时候,也就是计算开环基音延迟周期Ii的时候,加权语音信号相
关系数的表达式如下所示
式中、的取值范围为[N1,N2]。从上式中可以看出,其加权语音信号相关系数的表达
式是进行80次的累加求和。但是一般的语音信号变化缓慢,各个样点之间的波动幅度较 小,在优化的时候考虑每隔一个样点进行一次累加计算,去掉一半的样点计算量,累加次数 由原来的80次降低为40次,得到优化后的加权语音信号相关系数的表达式如下
由于仅仅是对累加次数进行降低,由原来的80次累加降为40次累加,再进行相关系数 值的最大值比较,然后将最大值进行归一化处理,因此,适当地降低累加次数对最终结果影 响不大,但却可缩小开环基音分析搜索中一半的计算时间。 LSP系数量化算法优化的过程为在G. 729算法中LSP系数量化的基本原理如下 LSP系数釣使用频率域[CUT]中的LSF即Wi来进行量化,即 Wi
利用两个可相互切换的4阶MA预测器之一用来预测当前帧的LSF系数。计算系数和预 测系数之间的差值,使用两级矢量进行量化。第一级矢量量化使用包括128个码字(7bit)的10维矢量码本Li,第二级矢量量化使用32个码字的两个5维码本L2和L3。LSP矢量量 化的过程如图1所示。具体步骤如下
第一步,求得目标矢量A
其中‘为MA预测系数,f^'4先前第》帧量化后的目标矢量。第二步,进行第一级矢量量化,在Ll中,以加权均方误差最小为准则来进行最佳 码矢量的搜索,从而得到它的码本索引。第三步,进行第二级矢量量化的低部分矢量量化,其目标矢量是纟与第一级搜索
到的最佳码字矢量的误差矢量,以加权后的均方误差最小为准则进行搜索。第四步,进行第二级矢量量化的高部分矢量量化,其目标矢量是低部分矢量的目 标矢量与低部分矢量量化的最佳码字矢量之间的误差矢量。第五步,对得到的两级矢量量化后的结果进行修正。参照图1,为待量化的矢量,I为结果矢量。LSP系数经过两级矢量量化,找到
能最逼近当前LSP系数的矢量码字。所谓“最佳逼近”是指能使下面的加权均方误差达到最小。
G. 729编码标准中对预测分裂矢量量化过程中各级矢量量化器选择何种搜索算法没有 进行具体规定,若采用全搜索算法,对三个码本矢量共需进行128+32=160次(码本Ll和 L3)均方误差和32次(码本L2)加权均方误差的计算,运算量相当大。采用一般性码字判别算法搜索最佳逼近码字。其基本原则如下
第一步,求出当前输入信号矢量和「难码本里的各个码字矢量的平均值(对于每个当 前输入信号矢量需要计算平均值,但是各个码字的平均值可以存储起来,避免重复计算)。第二步,计算输入信号矢量平均值和第一个码字矢量平均值的均方误差值,并设
定其为Dmimi,再计算输入信号矢量平均值和第二个码字平均值的均方误差,如果其小于
Aatl ,则把这个均方误差值设定为新的Adn ,如果大于Ain ,则认定当前码字为非最佳逼近 码字,排除在搜索范围之内,减去了对该码字的不必要的搜索计算,依此类推,直到比较到 第K个码字,并得到最佳逼近码字。具体过程是设Z为尤()维矢量,定义矢量的均值为》Γ为Γ维码 本里的一个码字,F的均值为〃¥ , A^是当前码本搜索中已知的最小失真,若
则矢量Z和:K的失真巩足D码字F可以被判决为非最佳逼近码字,则可以排 除在搜索范围之内,减去了对该码字的不必要的搜索。
优化算法的计算复杂度如下计算矢量f)的均值和码字纟的均值共需要进行2
次乘法运算和2XK次加法运算;计算矢量和码码字纟的误差失真需要进行K次乘方运
算、K次加法运算和K次减法运算。以K=IO为例,优化的算法在每次搜索过程中,最多进行 20次均值运算和9次误差失真运算,最少情况只进行10次均值运算和1次误差失真运算。 而全搜索算法每次搜索过程中都需要进行10次误差失真运算。相比而言,优化算法的误差 失真运算要少得多,而均值的运算相对而言计算简单,所以总体而言,优化算法的计算量得 到了很大的减少。由此可见,优化算法减少了矢量量化算法的运算量和运算时间,加快了矢量量化 的编码速度。由于只是改变了码字的搜索方法,并没有改变其码字的精度,所以并没有影响 矢量量化的精度。
10
权利要求
一种适用于嵌入式系统实现的基于G.729算法的语音编码优化方法,其特征在于所述G.729算法在搜索相对应码值时,将搜索范围限制在开环基音分析所得到的候选延迟附近,对每一帧语音数据作一次开环音调分析,每一帧语音数据的特性参数10ms、80个样点,过程如下1.1,在时间t中选取范围[N1,N2],并将其分为三部分,即[N1,N1’]、[N1’,N2’]、[N2’,N2],分别求出加权语音信号在这三部分内的自相关函数的三个最大值,,其中,1.2,对,进行归一化处理,如下 (1)1.3,确定最佳开环时延,其过程如下1.3.1,将t1赋值给Top,,赋值给,1.3.2,如果,则将赋值给,,t2赋值给Top,1.3.3,如果,则将赋值给,,t2赋值给Top,优化后的加权语音信号相关系数的表达式如下 (2)。dest_path_image001.jpg,106720dest_path_image002.jpg,dest_path_image003.jpg,775205dest_path_image004.jpg,dest_path_image005.jpg,295048dest_path_image006.jpg,843841dest_path_image004.jpg,620298dest_path_image005.jpg,dest_path_image007.jpg,11965dest_path_image005.jpg,945286dest_path_image001.jpg,551848dest_path_image008.jpg,dest_path_image009.jpg,490418dest_path_image010.jpg,dest_path_image011.jpg,103802dest_path_image012.jpg,dest_path_image013.jpg,44076dest_path_image010.jpg,567461dest_path_image014.jpg,dest_path_image015.jpg,357825dest_path_image016.jpg,dest_path_image017.jpg,786401dest_path_image010.jpg,264787dest_path_image018.jpg,dest_path_image019.jpg,328164dest_path_image020.jpg,dest_path_image021.jpg
2.如权利要求1所述的适用于嵌入式系统实现的基于G.729算法的语音编码优化方 法,其特征在于所述G. 729算法中,LSP系数ft使用频率域
= -SSCCQSiqi) i = Ι,.,.,ΙΟ(3)利用两个可相互切换的4阶MA预测器之一用来预测当前帧的LSF系数,计算系数和预 测系数之间的差值,使用两级矢量进行量化,第一级矢量量化使用包括128个码字的10维 矢量码本Li,第二级矢量量化使用32个码字的两个5维码本L2和L3 ; 采用一般性码字判别算法搜索最佳逼近码字,具体过程为 2. 1,求出当前输入信号矢量和1难码本里的各个码字矢量的平均值;2.2,计算输入信号矢量平均值和第一个码字矢量平均值的均方误差值,并设定其为 Alill,再计算输入信号矢量平均值和第二个码字平均值的均方误差,如果其小于Aain,则把该均方误差值设定为新的,如果大于,则认定当前码字为非最佳逼近码字,排除在搜索范围之内,减去了对该码字的不必要的搜索计算,依此类推,直到比较到第尤个码字, 并得到最佳逼近码字。
3.如权利要求2所述的适用于嵌入式系统实现的基于G.729算法的语音编码优化方法,其特征在于在所述2. 2中,设i为尤维矢量,T,定义矢量Z的均值为·,Y为K 维码本里的一个码字,f的均值为《y , Attttl是当前码本搜索中已知的最小失真,若(4)则矢量ι和;r的失真D(Xf) ^Alift,码字;r被判决为非最佳逼近码字,则排除在搜索 范围之内。
全文摘要
一种适用于嵌入式系统实现的基于G.729算法的语音编码优化方法,所述G.729算法在搜索相对应码值时,将搜索范围限制在开环基音分析所得到的候选延迟附近,对每一帧语音数据作一次开环音调分析,每一帧语音数据的特性参数10ms、80个样点;对累加次数进行降低,由原来的80次累加降为40次累加,再进行相关系数值的最大值比较,然后将最大值进行归一化处理;LSP系数使用频率域中的LSF即来进行量化。本发明能降低算法的复杂度、减少计算量、对硬件的要求较低、增加编码效率。
文档编号G10L19/02GK101908341SQ201010245828
公开日2010年12月8日 申请日期2010年8月5日 优先权日2010年8月5日
发明者孟利民, 宁双龙, 李晶 申请人:浙江工业大学;杭州普诺科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1