CN103457703B - 一种g.729到amr12.2速率的转码方法 - Google Patents
一种g.729到amr12.2速率的转码方法 Download PDFInfo
- Publication number
- CN103457703B CN103457703B CN201310379944.XA CN201310379944A CN103457703B CN 103457703 B CN103457703 B CN 103457703B CN 201310379944 A CN201310379944 A CN 201310379944A CN 103457703 B CN103457703 B CN 103457703B
- Authority
- CN
- China
- Prior art keywords
- frame
- lsp
- amr
- vad
- coefficient
- 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.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims abstract description 45
- 239000013598 vector Substances 0.000 claims abstract description 22
- 230000015572 biosynthetic process Effects 0.000 claims abstract description 10
- 238000003786 synthesis reaction Methods 0.000 claims abstract description 10
- 238000013139 quantization Methods 0.000 claims abstract description 5
- 230000003044 adaptive effect Effects 0.000 claims description 21
- 230000005284 excitation Effects 0.000 claims description 15
- 230000005540 biological transmission Effects 0.000 claims description 9
- 230000008569 process Effects 0.000 claims description 8
- 125000004122 cyclic group Chemical group 0.000 claims description 6
- 238000004364 calculation method Methods 0.000 claims description 5
- 238000001914 filtration Methods 0.000 claims description 5
- 238000006467 substitution reaction Methods 0.000 claims description 4
- 102100029469 WD repeat and HMG-box DNA-binding protein 1 Human genes 0.000 claims description 2
- 101710097421 WD repeat and HMG-box DNA-binding protein 1 Proteins 0.000 claims description 2
- 230000001174 ascending effect Effects 0.000 claims description 2
- 239000011159 matrix material Substances 0.000 claims description 2
- 239000000203 mixture Substances 0.000 claims description 2
- 230000010355 oscillation Effects 0.000 claims description 2
- 230000008707 rearrangement Effects 0.000 claims description 2
- 238000005070 sampling Methods 0.000 claims description 2
- 238000005516 engineering process Methods 0.000 abstract description 4
- 238000012545 processing Methods 0.000 abstract description 4
- 230000006835 compression Effects 0.000 description 8
- 238000007906 compression Methods 0.000 description 8
- 238000012360 testing method Methods 0.000 description 8
- 238000010295 mobile communication Methods 0.000 description 6
- 238000004891 communication Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 5
- 230000001413 cellular effect Effects 0.000 description 4
- 238000006243 chemical reaction Methods 0.000 description 4
- 239000000243 solution Substances 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000007796 conventional method Methods 0.000 description 2
- 230000007547 defect Effects 0.000 description 2
- 238000003780 insertion Methods 0.000 description 2
- 230000037431 insertion Effects 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 238000001228 spectrum Methods 0.000 description 2
- 239000007993 MOPS buffer Substances 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000011056 performance test Methods 0.000 description 1
- 238000012805 post-processing Methods 0.000 description 1
- 238000001303 quality assessment method Methods 0.000 description 1
- 238000010845 search algorithm Methods 0.000 description 1
Landscapes
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
本发明公开了一种G.729到AMR12.2速率的转码方法,属于信号处理技术领域。本发明将输入比特流输入到G.729AB解码单元,利用G.729AB解码单元对输入比特流进行解码,然后将解码得到的帧类型、LSP系数、基音延时、固定码本矢量、码本增益以及合成语音输入G.729AB到AMR‑12.2kbps转码单元,对每一部分进行相应的转码,最后将转码后的各个参数输入到AMR‑12.2kbps编码单元,按照AMR‑12.2kbps量化方法重新量化后,写入到输出比特流。
Description
技术领域
本发明涉及一种G.729到AMR12.2速率的转码方法,属于信号处理技术领域。
背景技术
信息的传输与交换在当代人们生活中不可或缺,在诸多信息数据中,语音数据无疑占有举足轻重的地位。数字语音通信具有高可靠性、高抗干扰能力等优点,随着通信技术的不断发展,其所占的比重越来越大。为了提高通信效率,数字语音压缩编码技术得到了广泛应用,出现了多种语音压缩编码标准。为了保证网际间的互通性,语音编码器之间的无缝连接变得越来越重要。要实现不同网络间的语音码流顺利转换,就需要把一端编码器的码流转换成另一端所能识别的码流,这种码流转换技术就称为语音转码。
G.729和AMR是两种使用广泛的语音压缩编码标准。G.729是国际电信联盟(ITU)于2006年制定的8kbps语音编码协议,G.729A是G.729标准的简化版本;G.729B是与G.729(A)配合的静音压缩标准;G.729AB是指将低复杂度的G.729A和具有静音压缩功能的G.729B联合使用的语音编码标准,它在实际中应用最多,已广泛用于IP电话、视频会议***等领域。AMR是WCDMA移动通信***的自适应多速率语音编码标准,它共有8个速率,其中12.2kbps是其最高速率,该标准在蜂窝移动通信***中发挥着重要作用。
为了实现IP电话和蜂窝移动通信***之间的互通,需要进行G.729AB与AMR编码器之间的转码工作。传统的解决方法是采用先解后编(Decode then Encode,DTE)方式进行转码,即用源解码器将传输的比特流进行解码,恢复出重建语音,然后再使用目标编码器对重建语音进行编码,生成目标解码器可以解码的码流。这种方法虽然能够完成不同编码器之间的转码操作,但存在转码后语音质量低、计算复杂度高和延时长等缺点。
发明内容
本发明针对以上问题的提出,而研制一种G.729到AMR12.2速率的转码方法。
本发明采取的技术方案如下:
将输入比特流输入到G.729AB解码单元,利用G.729AB解码单元对输入比特流进行解码,然后将解码得到的帧类型、LSP系数、基音延时、固定码本矢量、码本增益以及合成语音输入G.729AB到AMR-12.2kbps转码单元,对每一部分进行相应的转码:根据解码得到的帧类型信息来对目标帧的VAD信息做出判断;将解码端得到的LSP系数和整数基音延时分别作为编码端的LSP系数和开环基音延时;利用输入语音与重构语音之间的均方误差最小准则,同时采用G.729AB的快速搜索方法和AMR-12.2kbps 1/6分辨率,搜索编码端的闭环基音延时;用加权输入语音和加权重构语音之间的均方误差最小准则来搜索固定码本中的码矢,在搜索过程中利用量化信号的最大绝对值来获得部分脉冲的位置,同时减少部分脉冲的搜索个数。最后对各个参数进行编码,得到输出比特流。
本发明的有益效果:为了验证本发明方法的有效性,进行了若干实验测试。测试中,将经过转码后的输出比特流经过AMR-12.2kbps解码后,得到转码后的语音,然后对该语音进行测试。本发明使用PESQ、MOS-LQO作为转码后客观语音质量的衡量指标。测试序列选用ITU-T在G.729AB和AMR中提供的10组标准文件,测试结果如表3,表3在具体实施方式里面。从表3中可以看出,本发明的转码方法在计算量上比传统方式下降了44%左右,PESQ值和MOS-LQO都有所增加。
附图说明
图1 G.729AB和AMR编解码算法原理框图。
图2 G.729AB与AMR帧结构对应图。
图3 G.729AB到AMR12.2kbps转码装置。
图4 G.729AB到AMR-12.2kbps的转码。
图5 LSP参数解码流程图。
图6基音延时解码流程图。
图7闭环基音搜索流程图。
图8固定码本搜索流程图。
具体实施方式
下面结合附图对本实用新型最进一步说明:
G.729AB和AMR是两种使用广泛的语音压缩编码标准。G.729是国际电信联盟(ITU)于2006年制定的8kbps语音编码协议,G.729A是G.729标准的简化版本;G.729B是与G.729(A)配合的静音压缩标准;G.729AB是指将低复杂度的G.729A和具有静音压缩功能的G.729B联合使用的语音编码标准,它在实际中应用最多,已广泛用于IP电话、视频会议***等领域。AMR是WCDMA移动通信***的自适应多速率语音编码标准,它共有8个速率,其中12.2kbps是其最高速率,该标准在蜂窝移动通信***中发挥着重要作用。
为了实现IP电话和蜂窝移动通信***之间的互通,需要进行G.729AB与AMR编码器之间的转码工作。传统的解决方法是采用先解后编(Decode then Encode,DTE)方式进行转码,即用源解码器将传输的比特流进行解码,恢复出重建语音,然后再使用目标编码器对重建语音进行编码,生成目标解码器可以解码的码流。这种方法虽然能够完成不同编码器之间的转码操作,但存在转码后语音质量低、计算复杂度高和延时长等缺点。
为了解决上述DTE方式语音转码存在的问题,本发明给出了一种在G.729AB与AMR-12.2kbps间高效的转码方法。该方法在保证语音质量的前提下,使转码算法的计算复杂度降低40%以上。该发明具有转码后语音质量高、计算复杂度低、转码算法延时小等优点,从而可降低设备的成本,保证不同设备供应商间设备的兼容与互通。
G.729AB与AMR均基于CELP语音生成模型,两个编码算法对于语音信号的处理过程基本相同。G.729AB和AMR编解码算法的原理框图如图1所示:在编码端,首先,都需要将输入语音经过预处理后,通过VAD判决进行分类,分为语音帧和非语音帧;然后,根据不同的帧类型选用不同的编码方法:对于语音帧,采用高速率的语音帧编码算法;对于非语音帧,采用DTX技术进行编码处理,将需要传送的噪声信息通过SID帧发送到解码端;最后,将编码后的比特流进行传输。在解码端,根据不同的帧类型,选择不同的解码算法来生成合成语音:对非语音帧,采用CNG算法生成合成语音;对语音帧,采用语音帧解码算法生成合成语音。最后对合成语音作一些后置处理以改善音质。
现有技术介绍
为了解决DTE方式转码存在的问题,国内外提出了一些转码方法。下面结合几篇外文文献和专利,对现有转码技术进行简要介绍。
现有技术简介
(1)2004年,M.Ghenania在文献“Low-cost Smart Transcoding Algorithmbetween ITU-T G.729(8kbit/s)and 3GPP NB-AMR(12.2kbit/s)”中提出了一种G.729与AMR12.2kbit/s之间的转码方法。其基本思路是:将源解码器解码得到的LSP参数和基音延时参数直接赋值给目标编码器;对于代数码书,则利用源编码器搜索得到的代数码书脉冲位置附近的N个非零脉冲构成子代数码书;然后,目标编码器在子代数码书上,采用目标编码器的代数码书搜索算法来得到代数码书脉冲位置和符号。
(2)在公开号为US20050075868A1的美国专利中,申请人公开了一种从EVRC到G.729AB转码的方法。其基本思路是:通过内插EVRC的LSP参数来得到G.729AB的LSP参数,将EVRC的闭环基音延时赋值给G.729AB的开环基音延时,利用EVRC固定码本搜索结果以及G.729AB相关信号的最大值来限制G.729AB固定码本的搜索范围。
现有技术缺点
(1)在目标编码器开启DTX功能时,需要采用VAD算法来重新判断当前输入帧的VAD信息,其中VAD操作会使整体转码操作的计算复杂度增加。
(2)闭环基音搜索部分采用直接参数转换,虽然可以大幅度降低计算量,但是语音质量下降较多,无法满足电信用户的要求。
(3)利用源编码器固定码本的脉冲搜索结果来限制目标编码器的固定码本搜索范围,使得语音质量下降明显。
本发明技术方案的详细阐述
本发明所要解决的技术问题
(1)在目标编码器开启DTX功能时,需要采用VAD算法来重新判决当前输入帧的VAD信息,其中VAD操作会使整体转码操作的计算复杂度增加。
(2)闭环基音搜索部分采用直接参数转换,虽然可以大幅度降低计算量,但是语音质量下降较多。
(3)利用源编码器固定码本的脉冲搜索结果来限制目标编码器的固定码本搜索范围,使得语音质量下降明显。
为了解决以上技术问题,在特定速率下,本发明给出一种有效的转码方法,在满足不同编码器间有效互通的同时,可以降低转码计算复杂度,提升转码后的语音质量。
本发明提供的完整技术方案如下:
本发明首先利用G.729AB解码器对输入比特流进行解码,得到帧类型、LSP系数、基音延时、固定码本矢量、码本增益以及合成语音,将合成语音作为输入语音输入到AMR编码器。然后对每一部分进行相应的转码:根据输入比特流中的帧类型信息来对目标帧的VAD信息做出判断;将解码端得到的LSP系数和整数基音延时分别作为编码端的LSP系数和开环基音延时;利用输入语音与重构语音之间的均方误差最小准则,同时采用G.729AB的快速搜索方法和AMR-12.2kbps 1/6分辨率,搜索编码端的闭环基音延时;用加权输入语音和加权重构语音之间的均方误差最小准则来搜索固定码本中的码矢,在搜索过程中利用量化信号的最大绝对值来获得部分脉冲的位置,同时减少部分脉冲的搜索个数。最后对各个参数进行编码,得到输出比特流。
G.729AB与AMR-12.2kbps之间转码的首要问题是帧长不同,G.729AB是对10ms语音帧进行编码,而AMR-12.2kbps是对20ms语音帧进行编码。为了解决语音帧长度不同的问题,其对应关系如图2所示:将2个G.729AB语音帧对应1个AMR语音帧,它们具有相同的子帧结构,G.729AB将1个语音帧分成2个5ms子帧,AMR将一个语音帧分成4个5ms子帧。
本发明给出的G.729AB到AMR-12.2kbps转码装置结构图如图3所示。该装置由3个单元组成:G.729AB解码单元、G.729AB到AMR-12.2kbps转码单元和AMR-12.2kbps编码单元。本发明具体实现过程如图4所示。
G.729AB解码单元
G.729AB解码单元包括比特解析单元、帧类型解码单元、语音帧解码单元和非语音帧解码单元、合成滤波单元。语音帧解码单元和非语音帧解码单元包括LSP解码单元、基音延时解码单元、固定码本解码单元和增益解码单元。
(1)比特解析单元
比特解析单元用于对输入比特流的比特分配进行解析。语音帧、SID帧、非传输帧的有效长度不同,语音帧的有效长度为80bits,SID帧的有效长度为15bits,非传输帧的有效长度为0bits。表1和表2分别给出了语音帧和SID帧比特流顺序及其对应的参数说明。
(2)帧类型解码单元
根据输入有效比特流的长度来判断帧类型:若长度为80,则为语音帧,ftype=1;若长度为15,则为SID帧,ftype=2;若长度为0,则为不传输帧,ftype=0。
(3)语音帧解码单元
语音帧解码单元包括LSP解码单元、基音延时解码单元、固定码本解码单元和增益解码单元。
表1语音帧发送参数及其顺序
表2静音帧发送参数及其顺序
1)LSP解码单元
LSP参数解码流程图如图5:
①根据L0、L1、L2、L3解析出LSP的量化输出
这里,ξ1i(L1)表示第一级码本中序号为L1的码矢量中的第i个参数,ξ2i(L2)表示第二级低维码本中序号为L2的码矢量中的第i个参数,ξ3i(L3)表示第二级高维码本中序号为L3的码矢量中的第i个参数。
②为避免在量化合成滤波中出现尖锐的震荡,需调整解码后的参数:式(1)中的循环变量i从2到10取值,每次增加1,每次循环中执行:若满足条件,则执行操作。
其中,J为最小距离。这个调整要作两次,第一次J=0.0012,第二次J=0.0006。
③计算当前帧m的量化LSF系数
这里,是前几帧量化输出,是当前帧的量化输出,是滑动平均预测器的系数,可以由L0码书搜索得到。
④计算得到之后,检查对应滤波器的稳定性,步骤如下:
Ⅰ、按照的升序重新排列
Ⅱ、若则
Ⅲ、若则
Ⅳ、若则
⑤由LSF系数求出LSP系数
计算得到的LSP系数作为G.729AB的第二子帧,第一子帧的LSP系数用相邻帧对应的参数线性内插得到:
其中,是前一帧10ms的LSP系数,是当前10ms帧的LSP系数。
⑥将LSP系数转换为LP系数ai,具体步骤如下:
Ⅰ、循环变量i取值范围从1到5,每次增加1;每次变量i循环时,执行
f1(i)=-2q2i-1f1(i-1)+2f1(i-2)操作;
Ⅱ、循环变量j取值范围从i-1到1,每次减少1;每次循环变量j循环时,执行f1(j)=f1(j)-2q2i-1f1(j-1)+f1(j-2)操作;
其中,f1(0)=1,f1(-1)=0;将q2i-1替换成q2i即可得到f2(i);
Ⅲ、由f1(i),f2(i)计算f1'(i),f2'(i):f1'(i)=f1(i)+f1(i-1),i=1,…,5;
f2'(i)=f2(i)+f2(i-1),i=1,…,5
Ⅳ、计算LP系数:
2)基音延时解码单元
基音延时解码流程图如图6:
①计算奇偶校验位P:由收到的P1前6位异或得到P;
②如果P与P0不相同,则认为接收发生了错误,当前帧第一子帧的基音延时T1用前一帧第二子帧的基音延时T2来替代;
如果P与P0相同,则认为接收正确,那么利用收到的基音延时序号P1寻找基音延时的整数部分和分数部分:如果P1<197,int(T1)=(P1+2)/3+19,frac=P1-3*int(T1)+58;否则,int(T1)=P1-112,frac=0。
③第二子帧T2的整数部分由P2和t_min得到:
t_min=int(T1)-5
若t_min<20,则t_min=20;
t_max=t_min+9
若t_max>143则t_max=143;
t_min=t_max-9
T2解码:
int(T2)=(P1+2)/3-1+t_min,frac=P2-2-3*((P2+2)/3-1)
④确定基音延时后,在给出的整数延时k和分数延时t处,内插过去的激励resLP(n)来计算自适应码本矢量v(n):
这个内插滤波器b60由在±59处截断的汉明窗截取取样函数sinx/x得到,在±60处(b60(60)=0)用0填充,该滤波器的截止频率为3.6KHz。
3)固定码本解码单元
固定码本是代数码本结构,每个码本矢量含有N个非零脉冲,每个脉冲的幅度或正或负。脉冲位置由接收到的固定码本序号C来得到,脉冲符号由S码得到,构造固定码本矢量c(n):
c(n)=S0δ(n-C0)+S1δ(n-C1)+S2δ(n-C2)+S3δ(n-C3),n=0,…,39; (6)
如果基音延时的整数部分T小于子帧长度40,c(n)按照下式修正:
4)增益解码单元
增益解码是在子帧上进行的,接收到的增益码本序号GA、GB均是2维码本,利用下式计算每子帧的自适应码本增益和固定码本增益相关因子γ:
γ=GA2(GA)+GB2(GB); (9)
其中,GA1、GA2、GB1、GB2中的下标是维号。量化固定码本增益计算公式如下:
其中,g'c是预测的固定码本增益。
(4)非语音帧解码单元
非语音帧LSP解码与语音帧LSP解码基本相同;基音延时值通过在范围[40,103]内随机产生;固定码本的脉冲位置及脉冲符号也是随机产生的;自适应码本增益限制在0.5内,在[0,0.5]范围内随机选择;能量值作为固定码本增益。
(5)合成滤波单元
对于语音帧,将得到的自适应和固定码本矢量分别乘以各自的增益,相加可得激励信号;然后将激励信号通过LP合成滤波器得到合成语音信号。
对于非语音帧,激励信号采用三个信号的混合,其中两个信号来自G.729AB的激励信号,另一个来自高斯白噪声发生器;将上述得到的激励信号通过LP合成滤波器,得到舒适噪声信号。
G.729AB到AMR-12.2kbps转码单元
G.729AB到AMR-12.2kbps转码单元用于得到AMR-12.2kbps编码所需的参数。具体步骤如下:
(1)VAD部分
本发明屏蔽AMR编码时的VAD操作,利用G.729AB解码得到的帧类型信息判断AMR-12.2kbps编码时VAD的信息,具体作法如下:
1)若G.729AB解码得到的帧类型ftype=1,则VAD_flagG.729AB=1;否则,VAD_flagG.729AB=0。
2)根据连续两帧G.729AB的VAD_flag判断AMR编码端VAD_flag的值,VAD_flag的值为
VAD_flagAMR=VAD_flagG.729AB_1||VAD_flagG.729AB_2, (11)
这里,VAD_flagG.729AB_1表示第一帧G.729AB的VAD信息,VAD_flagG.729AB_2表示第二帧G.729AB的VAD信息。
(2)LSP部分
将G.729AB第2n-1帧和第2n帧的LSP参数,传递给AMR-12.2kbps第n帧的第二子帧和第四子帧,即
其中,表示G.729AB第2n-1帧的LSP系数,表示G.729AB第2n帧的LSP系数,表示AMR-12.2kbps第n帧的第二子帧,表示AMR-12.2kbps第n帧的第四子帧。
第一和第三子帧的LSP系数由下式得到:
将得到LSP系数转换为LP系数ai,具体步骤如下:
1)循环变量i取值范围从1到5,每次增加1;每次变量i循环时,执行f1(i)=-2q2i- 1f1(i-1)+2f1(i-2)操作;
2)循环变量j取值范围从i-1到1,每次减少1;每次循环变量j循环时,执行
f1(j)=f1(j)-2q2i-1f1(j-1)+f1(j-2)操作;
其中,f1(0)=1,f1(-1)=0;将q2i-1替换成q2i即可得到f2(i);
3)由f1(i),f2(i)计算f1'(i),f2'(i):f1'(i)=f1(i)+f1(i-1),i=1,…,5;
f2'(i)=f2(i)+f2(i-1),i=1,…,5
4)计算LP系数:
(3)开环基音搜索部分
将G.729AB第2n-1帧和第2n帧的第一子帧闭环基音参数作为AMR-12.2kbps第n帧的两个开环基音参数:
(4)自适应码本搜索部分
本发明利用G.729AB闭环基音搜索的思想简化AMR-12.2kbps整数部分的搜索过程,并且根据AMR-12.2kbps的1/6分辨率进行分数部分的搜索,具体搜索流程图如图7所示:
1)计算基音延时的搜索范围[t0_min,t0_max]
在第一/第三子帧,t0_min=max{18,TOP-3},t0_max=min{143,TOP+3}。在第二/第四子帧,t0_min=max{18,T1-5},t0_max=min{143,T1+4},其中T1是前一子帧(第一或第三子帧)基音分数延时的最大整数部分。
2)计算LP滤波器的残差信号resLP(n):
其中,s(n)是G.729AB解码后得到的合成语音;是量化了的预测系数。
3)将残差信号resLP(n)通过感知加权合成滤波器,从而得到用于自适应码本搜索的目标信号x(n),即
x(n)=resLP(n)*h(n); (19)
4)计算x(n)与h(n)的相关:
5)将LP残差信号赋值给激励信号u(n):
u(n)=resLP(n),n=0,…,39;
6)计算R(k):
7)求出R(k)最大值对应的k,即为最佳整数基音延时。
8)在最佳整数基音延时k附近的分数(从-3/6到-3/6,步长为1/6)内插R(k):
其中,b24是内插滤波器系数,t=0,…,5分别对应分数0、1/6、2/6、3/6、-2/6和-1/6。搜索R(k)t的最大值所对应的t,即为最佳分数基音延时。
9)确定基音延时后,在给出的整数延时k和分数延时t处内插过去的激励u(n)来计算自适应码本矢量v(n):
其中,b60是内插滤波器系数。
10)计算自适应码本的增益:
其中,y(n)=v(n)*h(n)。
(5)固定码本搜索部分
固定码本搜索流程图如图8所示:
1)计算固定码本搜索的目标信号x2(n):
其中,y(n)=v(n)*h(n)是自适应码本矢量滤波,是量化了的自适应码本增益。
2)计算x2(n)与h(n)的相关信号d(n):
3)计算h(n)的自相关矩阵Φ,其中Φ的每个元素按下式计算:
4)计算量化信号b(n):
5)计算符号信号S(n)=sgn[b(n)]。
6)脉冲搜索位置预选。按量化信号|b(n)|从大到小的顺序重置每个轨道的脉冲位置。用前M区的脉冲位置作为搜索脉冲的候选,取M=5。
7)记录|b(n)|最大值的位置及其所在轨道数。将i0固定在所有轨道中|b(n)|最大值的位置,i1固定在下一轨道中|b(n)|最大值的位置。
8)在候选的脉冲搜索位置上,按照AMR编码标准里的深度优先树方法搜索出其它8个脉冲的位置,即脉冲{i2,i3}、{i4,i5}、{i6,i7}、{i8,i9}在依次轨道上成对地、顺序地在嵌套环中搜索出。搜索准则是使下式最大:
其中,mi是第i个脉冲的位置,N是脉冲的个数,N=10。
9)计算固定码本矢量c(n):
其中,Si是第i个脉冲的符号,mi是第i个脉冲的位置,N是脉冲的个数,N=10。
10)计算固定码本增益gc:
AMR-12.2kbps编码单元
AMR-12.2kbps编码单元用于将转码后的参数按照AMR-12.2kbps量化方法重新量化后,写入到输出比特流。
本发明技术方案带来的有益效果
为了验证本发明方法的有效性,进行了若干实验测试。测试中,将经过转码后的输出比特流经过AMR-12.2kbps解码后,得到转码后的语音,然后对该语音进行测试。本发明使用PESQ、MOS-LQO作为转码后客观语音质量的衡量指标。测试序列选用ITU-T在G.729AB和AMR中提供的10组标准文件,测试结果如表3。从表3中可以看出,本发明的转码方法在计算量上比传统方式下降了44%左右,PESQ值和MOS-LQO都有所增加。
表3 DTE方法与本发明方法性能测试结果对比
本发明的实施在大幅度地降低计算量的同时,提高了语音质量,降低了通信设备的成本和功耗,因此本发明具有广泛的应用价值和前景。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,根据本发明的技术方案及其发明构思加以等同替换或改变,都应涵盖在本发明的保护范围之内。
本发明涉及的缩略语和关键术语定义如下:
AMR:Adaptive Multi-Rate自适应多速率。
WCDMA:Wideband Code Division Multiple Access宽带码分多址。
IP:Internet Protocol网络协议。
CELP:Code Excited Linear Prediction码激励线性预测。
VAD:Voice Activity Detector语音激活检测。
DTX:Discontinuous Transmission不连续传输。
CNG:Comfort Noise Generator舒适噪音生成。
SID:Silence Insertion Descriptor静音***描述。
MA:Moving Average滑动平均。
LP:Linear Prediction线性预测。
LPC:Linear Predictive Coding线性预测编码。
LSP:Linear Spectrum Pair线谱对。
LSF:Linear Spectrum Frequency线谱频率。
PESQ:Perceptual Evaluation of Speech Quality主观语音质量评估。
MOS-LQO:Mean Opinion Score–Listening Quality Objective平均意见分数-客观听觉质量。
ITU-T:International Telecommunication Union-Telecommunicationstandardization sector国际电信联盟-电信标准化部门。
MOPS:Million Operations Per Second百万次操作每秒。
DTE:Decode then Encode。
Claims (2)
1.一种G.729到AMR12.2速率的转码方法,其特征在于:将输入比特流输入到G.729AB解码单元,利用G.729AB解码单元对输入比特流进行解码,然后将解码得到的帧类型、LSP系数、基音延时、固定码本矢量、码本增益以及合成语音输入G.729AB到AMR-12.2kbps转码单元,对每一部分进行相应的转码,最后将转码后的各个参数输入到AMR-12.2kbps编码单元,按照AMR-12.2kbps量化方法重新量化后,写入到输出比特流;
G.729AB到AMR-12.2kbps转码单元的工作过程为:
(1)VAD部分
屏蔽AMR编码时的VAD操作,利用G.729AB解码得到的帧类型信息判断AMR-12.2kbps编码时VAD的信息,具体作法如下:
1)若G.729AB解码得到的帧类型ftype=1,则VAD_flagG.729AB=1;否则,VAD_flagG.729AB=0;
2)根据连续两帧G.729AB的VAD_flag判断AMR编码端VAD_flag的值,VAD_flag的值为
VAD_flagAMR=VAD_flagG.729AB_1||VAD_flagG.729AB_2; (11)
这里,VAD_flagG.729AB_1表示第一帧G.729AB的VAD信息,VAD_flagG.729AB_2表示第二帧G.729AB的VAD信息;
(2)LSP部分
将G.729AB第2n-1帧和第2n帧的LSP参数,传递给AMR-12.2kbps第n帧的第二子帧和第四子帧,即
其中,表示G.729AB第2n-1帧的LSP系数,表示G.729AB第2n帧的LSP系数,表示AMR-12.2kbps第n帧的第二子帧的LSP系数,表示AMR-12.2kbps第n帧的第四子帧的LSP系数;
第一和第三子帧的LSP系数由下式得到:
各子帧LSP系数的奇数项记为q2i-1,偶数项记为q2i,各子帧的LSP系数转换为对应的LP系数ai的过程均可由如下步骤实现:
1)循环变量i取值范围从1到5,每次增加1;每次变量i循环时,执行f1(i)=-2q2i-1f1(i-1)+2f1(i-2)操作;
2)循环变量j取值范围从i-1到1,每次减少1;每次循环变量j循环时,执行f1(j)=f1(j)-2q2i-1f1(j-1)+f1(j-2)操作;
其中,f1(0)=1,f1(-1)=0;将q2i-1替换成q2i即可得到f2(i);
3)由f1(i),f2(i)计算f1'(i),f2'(i):f1'(i)=f1(i)+f1(i-1),i=1,...,5;f2'(i)=f2(i)+f2(i-1),i=1,…,5
4)计算LP系数:
(3)开环基音搜索部分
将G.729AB第2n-1帧和第2n帧的第一子帧闭环基音参数作为AMR-12.2kbps第n帧的两个开环基音参数:
(4)自适应码本搜索部分
1)计算基音延时的搜索范围[t0_min,t0_max]
在第一/第三子帧,t0_min=max{18,TOP-3},t0_max=min{143,TOP+3};在第二/第四子帧,t0_min=max{18,Tpmi-5},t0_max=min{143,Tpmi+4},其中Tpmi是前一子帧基音分数延时的最大整数部分;
2)计算LP滤波器的残差信号resLP(n):
其中,s(n)是G.729AB解码后得到的合成语音;是量化了的LP系数,其中i=1,2,…,10;
3)将残差信号resLP(n)通过感知加权合成滤波器h(n),从而得到用于自适应码本搜索的目标信号x(n),即
x(n)=resLP(n)*h(n); (19)
4)计算x(n)与h(n)的相关:
5)将LP残差信号赋值给激励信号u(n):
u(n)=resLP(n),n=0,…,39;
6)计算R(k):
7)求出R(k)最大值对应的k,即为最佳整数基音延时;
8)在最佳整数基音延时k附近以分数1/6为步长内插R(k):
其中,b24是内插滤波器系数,t=0,…,5分别对应分数0、1/6、2/6、3/6、-2/6和-1/6;搜索R(k)t的最大值所对应的t,即为最佳分数基音延时;
9)确定基音延时后,在给出的整数延时k和分数延时t处内插过去的激励u(n)来计算自适应码本矢量v(n):
其中,b60是内插滤波器系数;
10)计算自适应码本的增益:
其中,y(n)=v(n)*h(n);
(5)固定码本搜索部分
1)计算固定码本搜索的目标信号x2(n):
其中,y(n)=v(n)*h(n)是自适应码本矢量滤波,是量化了的自适应码本增益;
2)计算x2(n)与h(n)的相关信号d(n):
3)计算h(n)的自相关矩阵φ,其中φ的每个元素按下式计算:
4)计算量化信号b(n):
5)计算符号信号S(n)=sgn[b(n)];
6)脉冲搜索位置预选;按量化信号|b(n)|从大到小的顺序重置每个轨道的脉冲位置;用前M区的脉冲位置作为搜索脉冲的候选,取M=5;
7)记录|b(n)|最大值的位置及其所在轨道数;将i0固定在所有轨道中|b(n)|最大值的位置,i1固定在下一轨道中|b(n)|最大值的位置;
8)在候选的脉冲搜索位置上,按照AMR编码标准里的深度优先树方法搜索出其它8个脉冲的位置,即脉冲{i2,i3}、{i4,i5}、{i6,i7}、{i8,i9}在依次轨道上成对地、顺序地在嵌套环中搜索出;搜索准则是使下式最大:
其中,mi是第i个脉冲的位置,N是脉冲的个数,N=10;
9)计算固定码本矢量c(n):
其中,Si是第i个脉冲的符号,mi是第i个脉冲的位置,N是脉冲的个数;
10)计算固定码本增益gc:
2.根据权利要求1所述的一种G.729到AMR12.2速率的转码方法,其特征在于:G.729AB解码单元的步骤如下:
(1)比特解析单元
比特解析单元用于对输入比特流的比特分配进行解析;语音帧、SID帧、非传输帧的有效长度不同,语音帧的有效长度为80bits,SID帧的有效长度为15bits,非传输帧的有效长度为0bits;
(2)帧类型解码单元
根据输入有效比特流的长度来判断帧类型:若长度为80bits,则为语音帧,ftype=1;若长度为15bits,则为SID帧,ftype=2;若长度为0bits,则为非传输 帧,ftype=0;
(3)语音帧解码单元
语音帧解码单元包括LSP解码单元、基音延时解码单元、固定码本解码单元和增益解码单元;
1)LSP解码单元
①根据序号分别为L0、L1、L2、L3的码矢量解析出LSP的量化输出
这里,ξ1i(L1)表示第一级码本中序号为L1的码矢量中的第i个参数,ξ2i(L2)表示第二级低维码本中序号为L2的码矢量中的第i个参数,ξ3i(L3)表示第二级高维码本中序号为L3的码矢量中的第i个参数;
②为避免在量化合成滤波中出现尖锐的震荡,需调整解码后的参数:式(1)中的循环变量i从2到10取值,每次增加1,每次循环中执行:若满足条件,则执行操作;
其中,J为最小距离;这个调整要作两次,第一次J=0.0012,第二次J=0.0006;
③计算当前帧m的量化LSF系数
这里,是前几帧量化输出,是当前帧的量化输出,是滑动平均预测器的系数,可以由L0码书搜索得到;
④计算得到当前帧m的量化LSF系数之后,检查对应滤波器的稳定性,步骤如下:
Ⅰ、按照的升序重新排列
Ⅱ、若则
Ⅲ、若则
Ⅳ、若则
⑤由LSF系数求出LSP系数
计算得到的LSP系数作为G.729AB的第二子帧,第一子帧的LSP系数用相邻 帧对应的参数线性内插得到:
其中,是前一帧10ms的LSP系数,是当前10ms帧的LSP系数;
⑥各子帧LSP系数的奇数项记为q2i-1,偶数项记为q2i,将各子帧的LSP系数转换为对应的LP系数ai的过程均可由如下步骤实现:
Ⅰ、循环变量i取值范围从1到5,每次增加1;每次变量i循环时,执行f1(i)=-2q2i-1f1(i-1)+2f1(i-2)操作;
Ⅱ、循环变量j取值范围从i-1到1,每次减少1;每次循环变量j循环时,执行f1(j)=f1(j)-2q2i-1f1(j-1)+f1(j-2)操作;其中,f1(0)=1,f1(-1)=0;将q2i-1替换成q2i即可得到f2(i);
Ⅲ、由f1(i),f2(i)计算f1'(i),f2'(i):f1'(i)=f1(i)+f1(i-1),i=1,…,5;f2'(i)=f2(i)+f2(i-1),i=1,…,5
Ⅳ、计算LP系数:
2)基音延时解码单元
①计算奇偶校验位P:由收到的P1前6位异或得到P;
②如果P与P1的前6比特的奇偶校验P0不相同,则认为接收发生了错误,当前帧第一子帧的基音延时T1用前一帧第二子帧的基音延时T2来替代;
如果P与P0相同,则认为接收正确,那么利用收到的基音延时序号P1寻找基音延时的整数部分和分数部分:如果P1<197,int(T1)=(P1+2)/3+19,frac=P1-3·int(T1)+58;否则,int(T1)=P1-112,frac=0;
③第二子帧T2的整数部分由P2和基音周期取值下限t_min得到:
t_min=int(T1)-5
若t_min<20,则t_min=20;
基音周期取值上限t_max=t_min+9
若t_max>143则t_max=143;
t_min=t_max-9
T2解码:
int(T2)=(P1+2)/3-1+t_min,frac=P2-2-3·((P2+2)/3-1);
④确定基音延时后,在给出的整数延时k和分数延时t处,内插过去的残差信号resLP(n)来计算自适应码本矢量v(n):
这个内插滤波器b60是由在±59处截断的汉明窗截取取样函数sinx/x得到的,在±60处用0填充,b60(60)=0,该滤波器的截止频率为3.6KHz;
3)固定码本解码单元
固定码本是代数码本结构,每个码本矢量含有N个非零脉冲,每个脉冲的幅度或正或负;脉冲位置由接收到的固定码本序号C0、C1、C2、C3来得到,脉冲符号由S码(S0、S1、S2、S3)得到,构造固定码本矢量c(n):
c(n)=S0δ(n-C0)+S1δ(n-C1)+S2δ(n-C2)+S3δ(n-C3),n=0,...,39 (6)
如果基音延时的整数部分T小于子帧长度40,c(n)按照下式修正:
4)增益解码单元
增益解码是在子帧上进行的,接收到的增益码本序号GA、GB均是2维码本,利用下式计算每子帧的自适应码本增益和固定码本增益相关因子γ:
γ=GA2(GA)+GB2(GB), (9)
其中,GA1和GA2分别为第一级第一子帧和第二子帧的增益码本、GB1和GB2分别为第二级第一子帧和第二子帧的增益码本;量化固定码本增益计算公式如下:
其中,g'c是预测的固定码本增益;
(4)非语音帧解码单元
非语音帧LSP解码与语音帧LSP解码基本相同;基音延时值通过在范围[40,103]内随机产生;固定码本的脉冲位置及脉冲符号也是随机产生的;自适应码本增益限制在0.5内,在[0,0.5]范围内随机选择;能量值作为固定码本增益;
(5)合成滤波单元
1)对于语音帧,将得到的自适应和固定码本矢量分别乘以各自的增益,相加可得激励信号;然后将该激励信号通过LP合成滤波器得到合成语音信号;
2)对于非语音帧,激励信号采用三个信号的混合,其中两个信号来自G.729AB的激励信号,另一个来自高斯白噪声发生器;将该激励信号通过LP合成滤波器,得到舒适噪声信号。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310379944.XA CN103457703B (zh) | 2013-08-27 | 2013-08-27 | 一种g.729到amr12.2速率的转码方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310379944.XA CN103457703B (zh) | 2013-08-27 | 2013-08-27 | 一种g.729到amr12.2速率的转码方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103457703A CN103457703A (zh) | 2013-12-18 |
CN103457703B true CN103457703B (zh) | 2017-03-01 |
Family
ID=49739706
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310379944.XA Expired - Fee Related CN103457703B (zh) | 2013-08-27 | 2013-08-27 | 一种g.729到amr12.2速率的转码方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103457703B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022179406A1 (zh) * | 2021-02-26 | 2022-09-01 | 腾讯科技(深圳)有限公司 | 音频转码方法、装置、音频转码器、设备以及存储介质 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8032359B2 (en) * | 2007-02-14 | 2011-10-04 | Mindspeed Technologies, Inc. | Embedded silence and background noise compression |
CN101783142B (zh) * | 2009-01-21 | 2012-08-15 | 北京工业大学 | 转码方法、装置和通信设备 |
CN102543089B (zh) * | 2012-01-17 | 2013-04-17 | 大连理工大学 | 一种窄带码流转换为宽带码流的转换装置 |
CN103093757B (zh) * | 2012-01-17 | 2014-10-29 | 大连理工大学 | 一种窄带码流转换为宽带码流的转换方法 |
CN103236262B (zh) * | 2013-05-13 | 2015-08-26 | 大连理工大学 | 一种语音编码器码流的转码方法 |
-
2013
- 2013-08-27 CN CN201310379944.XA patent/CN103457703B/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
CN103457703A (zh) | 2013-12-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
USRE49363E1 (en) | Variable bit rate LPC filter quantizing and inverse quantizing device and method | |
CN1154086C (zh) | Celp转发 | |
CN1735927B (zh) | 用于高质量语音编码转换的方法和装置 | |
KR100264863B1 (ko) | 디지털 음성 압축 알고리즘에 입각한 음성 부호화 방법 | |
AU2007305960B2 (en) | Pitch lag estimation | |
CN100578617C (zh) | 代码转换方法及代码转换装置 | |
US10431233B2 (en) | Methods, encoder and decoder for linear predictive encoding and decoding of sound signals upon transition between frames having different sampling rates | |
WO2008148321A1 (fr) | Appareil de codage et de décodage et procédé de traitement du bruit de fond et dispositif de communication utilisant cet appareil | |
CN1437747A (zh) | 闭环多模混合域线性预测(mdlp)语音编解码器 | |
KR20030041169A (ko) | 무성 음성의 코딩 방법 및 장치 | |
CN108231083A (zh) | 一种基于silk的语音编码器编码效率提高方法 | |
JP2005520206A (ja) | オーディオ・トランスコーダにおける適応コードブック・ピッチ・ラグ計算方法 | |
CN1890713B (zh) | 用于数字信号压缩编码的多脉冲字典的索引间的编码转换的方法及*** | |
US8380495B2 (en) | Transcoding method, transcoding device and communication apparatus used between discontinuous transmission | |
CN103236262A (zh) | 一种语音编码器码流的转码方法 | |
KR20030025092A (ko) | 음성패킷 변환을 위한 lsp 파라미터 변환장치 및 방법 | |
CN103457703B (zh) | 一种g.729到amr12.2速率的转码方法 | |
CN112614495A (zh) | 一种软件无线电多制式语音编解码器 | |
Kim et al. | An efficient transcoding algorithm for G. 723.1 and EVRC speech coders | |
KR20110086919A (ko) | 에스엠브이 및 에이엠알 음성 부호화 기법을 위한 상호부호화 방법 및 장치 | |
Lin et al. | Efficient Candidate Scheme for Fast Codebook Search in G. 723.1 | |
Garrido et al. | Towards iLBC speech coding at lower rates through a new formulation of the start state search | |
Patel et al. | Implementation and Performance Analysis of g. 723.1 speech codec | |
Chibani | Increasing the robustness of CELP speech codecs against packet losses. | |
CN104658539A (zh) | 一种语音编码器码流的转码方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20170301 |
|
CF01 | Termination of patent right due to non-payment of annual fee |