CN104658539A - 一种语音编码器码流的转码方法 - Google Patents
一种语音编码器码流的转码方法 Download PDFInfo
- Publication number
- CN104658539A CN104658539A CN201310598532.5A CN201310598532A CN104658539A CN 104658539 A CN104658539 A CN 104658539A CN 201310598532 A CN201310598532 A CN 201310598532A CN 104658539 A CN104658539 A CN 104658539A
- Authority
- CN
- China
- Prior art keywords
- alpha
- frame
- sigma
- line spectral
- speech
- 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.)
- Pending
Links
Landscapes
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
本发明公开了一种语音编码器码流的转码方法,属于语音编解码技术领域。通信网1发送的A码流经过比特流解析单元,解码单元,参数转换单元、编码单元和比特流封装单元得到通信网2接收的B码流,所述通信网1、2是使用不同语音编码标准的通信网络。
Description
技术领域
本发明涉及一种语音编码器码流的转码方法,属于语音编解码技术领域。
背景技术
不同的通信网络常使用不同的语音编码标准。为了保证通信网络间的互通性,在通信网络之间连接时,常需要在不同编码器之间进行“转码”。设通信网1使用A型语音编解码器,通信网2使用B型语音编解码器。传统的语音转码方法是以先解码再编码(DTE)的方式进行转码,即用通信网1所使用的A型语音解码器对接收到的比特流进行解码,得到时间域的语音信号,然后再用通信网2所使用的B型语音编码器对该时间域语音信号进行编码,将编码后的比特流发送到通信网2。这种转码方法的计算复杂度高,时延较大,所需的存储量也较大,两次编解码也使合成语音质量不高。
发明内容
本发明针对以上问题的提出,而研制一种语音编码器码流的转码方法。
一种语音编码器码流的转码方法,其特征在于:通信网1发送的A码流经过比特流解析单元,解码单元,参数转换单元、编码单元和比特流封装单元得到通信网2接收的B码流,通信网1、2是使用不同语音编码标准的通信网络,例如使用AMR标准的无线网,使用G.729AB标准的IP网。
本发明技术方案带来的有益效果如下:
(1)由于对线谱对系数转码时,事先使用了支持向量回归(SVR)算法对大量语音数据进行训练,从而得到发送端线谱对系数与接收端线谱对系数的映射模型。在此基础上,进行输入线谱对系数到输出线谱对系数的映射,使线谱对系数的转换更为精确,提高了合成语音的质量。
(2)将解码所得的基音延迟整数部分T0作为编码端开环搜索结果,这样在进行闭环搜索时,可根据T0的值来限制闭环搜索范围,从而提高了合成语音质量,也使计算量有所减小。
(3)在静音***描述帧的转码过程中,采用能量参数直接映射的方法,去掉了静音***描述帧能量的计算,使得算法复杂度降低,存储量相应减少。
(4)从输入的比特流中提取帧类型信息,这样就可在转码过程中不进行帧类型判断,而直接在比特流输出时将帧类型转换为与接收到的帧类型相同,有效地提高了接收端的合成语音质量。
附图说明
图1是本发明的流程图。
图2是本发明的语音帧转码方法流程图。
图3是本发明的静音***描述帧参数转码方法流程图。
图4AMR到G.729AB转码的DTE方法与本发明转码方法的PESQ比较。
图5AMR到G.729AB转码的DTE方法与本发明转码方法的WMOPS比较。
具体实施方式
下面结合附图对本发明做进一步说明:
如图1所示:通信网1发送的A码流经过比特流解析单元,解码单元,参数转换单元、编码单元和比特流封装单元得到通信网2接收的B码流,所述通信网1、2是使用不同语音编码标准的通信网络。
这里以AMR到G.729AB的参数转码过程为例,阐述本发明的具体实现过程,即上述A编码标准为AMR,B编码标准为G.729AB,通信网1为无线通信网,通信网2为IP网。AMR帧长为20ms,G.729AB帧长为10ms,两者子帧长度都为5ms,AMR一帧对应G.729AB两帧。转码具体方案如下:
比特流解析单元用于接收无线通信网发送的AMR码流,具体步骤如下:
(1)根据AMR的帧结构,从接收到的AMR码流中依次提取帧类型(SPEECH_GOOD、SPEECH_BAD、SID_FIRST、SID_UPDATE、SID_BAD、NO_DATA)、模式信息(MR_4.75kbps、MR_5.15kbps、MR_5.9kbps、MR_6.7kbps、MR_7.4kbps、MR_10.2kbps、MR_12.2kbps)和参数比特。
(2)根据AMR的帧结构,将参数比特转化为量化编码后的参数值,即语音帧的线谱对系数、基音延迟、固定码本非零脉冲位置和符号及增益,或静音***描述帧的线谱对系数和语音能量。
(3)根据帧类型信息判断当前帧为语音帧(SPEECH_GOOD、SPEECH_BAD)、静音***描述帧(SID_UPDATE、SID_BAD)或非传输帧(SID_FIRST、NO_DATA)
解码单元用于AMR解码器从参数比特中解码,得到语音参数值及合成语音,具体步骤如下:
(1)若当前帧为语音帧:
用AMR解码器对量化编码后的参数值解码得语音参数,包括线谱对系数、基音延迟、固定码本非零脉冲位置和符号、自适应码本增益和固定码本增益;用AMR解码器由以上语音参数进行语音重建,得到重构语音s'(n)。
(2)若当前帧为静音***描述帧:
用AMR解码器对量化编码后的参数值解码得静音***描述帧的线谱对系数和语音能量。
参数转换单元用于对AMR解码所得的语音参数进行转码,得到G.729AB量化编码所需的语音参数,具体步骤如下:
(1)若接收到的AMR帧类型为语音帧(SPEECH_GOOD或SPEECH_BAD),则转码流程如图2所示:
(a)线性预测分析:
线谱对系数的转码包括离线的映射模型参数获取和在线的参数映射。
映射模型参数获取的过程为,首先由AMR和G.729AB编码器对大量(10个小时以上)、各种类型(如成年男声、成年女声、男童声、女童声等)、各种语言(如汉语、英语、法语等)的语音数据分别进行编码,分别得到K组和2K组量化的线谱对系数:LSPAMR(k,i)和LSPG.729AB(2k,i),i=1,…,n,k=1,…,K,其中n为线谱对系数矢量的维数。再用支持向量回归算法计算LSPAMR和LSPG.729AB之间的映射模型:LSPG.729AB_1(i)=LSPG.729AB_2(i)=wi TLSPAMR(i)+bi的参数wi、bi,其中,LSPG.729AB_1(i)、LSPG.729AB_2(i)分别表示AMR当前帧对应的G.729AB的两帧的线谱对系数,i=1,…,n。
转码时,就可由AMR线谱对系数LSPAMR(i)使用n个映射模型:
LSPG.729AB_1(i)=LSPG.729AB_2(i)=wi TLSPAMR(i)+bi,i=1,…,n,分别计算出LSPG.729AB(i),i=1,…,n。
用支持向量回归算法计算LSPAMR和LSPG.729AB之间的映射模型参数wi、bi具体过程为:
定义第k帧(G.729AB第2k帧)语音的线谱对系数LSPAMR和LSPG.729AB分别为训练数据x和y,即记x(k,i)=LSPAMR(k,i),y(k,i)=LSPG.729AB(2k,i),用n个回归函数fi(x)=wi Tx+bi拟合数据{x(k,i),y(k,i)},k=1,…,K,i=1,…,n。
定义n个映射函数
其中,aki和aki *是拉格朗日因子。对于给定的i,拉格朗日因子的求解过程为:
定义Lagrange函数:
其中Ci为常数且Ci>0,ζki≥0和为松弛因子,ε为拟合精度。最大化目标函数:
其中,拉格朗日因子aki和aki *满足 构成一个典型的二次规划问题。利用KKT条件:αki=0→ykif(xki)≥1;0<αki<C→ykif(xki)=1;αi=C→ykif(xki)≤1,使用序列最小优化算法解此二次规划问题。序列最小优化算法步骤如下:
(1)给定拉格朗日因子初值,一般取αki=0;
(2)计算训练数据的KKT条件,找到违反KKT条件的数据点(x1i,y1i)对应的拉格朗日因子α1i,将其作为两个拟优化的拉格朗日因子之一;
(3)在训练数据中寻找满足max|fi(x1i)–fi(x2i)+y2i-y1i|的数据点(x2i,y2i)对应的拉格朗日因子作为α2i。拉格朗日因子α1i和α2i挑选完毕,保持其他拉格朗日因子不变,形成一个最小规模的二次规划问题,即求解最优的和
(4)求解上述最小二次规划问题:
其中Eki=fi old(xki)–yki训练误差。
当y1i≠y2i时,
当y1i=y2i时,
得到一对新的拉格朗日因子和
(5)检查是否存在违反KKT条件的数据点,存在则返回步骤2);否则,得到整个问题的最优解,进行下一步。
(6)得到回归函数:
其中: N为支持向量的数量。
由以上得到的映射关系将AMR的线谱对系数映射得到G.729AB相应帧的线谱对系数,即
LSPG.729AB_1=LSPG.729AB_2=f(LSPAMR);
将其作为G.729AB未量化的线谱对系数。
将得到的未量化的线谱对系数转化为线谱频率系数,按G.729AB编码标准量化编码后发送到IP网。
根据G.729AB编码标准,将映射所得的一组线谱对系数与前一帧或几帧的线谱对系数进行插值,得到每一子帧未量化的线谱对系数,再由每一子帧未量化的线谱对系数计算出各子帧未量化的线性预测系数A(z)。将映射所得的一组线谱对系数进行量化,得到当前帧一组量化的线谱对系数,将当前帧量化的线谱对系数与前一帧或几帧量化的线谱对系数进行插值,得到每一子帧的量化的线谱对系数,再由每一子帧的量化的线谱对系数计算出各子帧量化的线性预测系数A'(z)。未量化的和量化的线性预测系数分别用于计算感知加权滤波器W(z)=A(z/γ1)/A(z/γ2)(γ1和γ2为感知加权系数)和合成滤波器1/A'(z)的系数。
(b)开环基音搜索:
基于码激励线性预测的语音编码算法中,基音搜索分两步完成。第一步为开环基音搜索,大致估算基音周期,记为T_op,目的是为闭环基音搜索提供一个粗略的范围,以减小闭环基音搜索的计算量。第二步则是在T_op附近进行闭环基音搜索。
在进行转码时,省略通常的开环基音搜索过程,而将解码所得的基音延迟的整数部分T0直接作为G.729AB编码标准编码的开环基音搜素结果T_op:
T_opG.729AB_1=T_opG.729AB_2=T0AMR;
其中,T_opG.729AB_1、T_opG.729AB_2分别表示AMR当前帧对应的G.729AB的两帧的开环基音延迟。
(c)计算感知加权合成滤波器的冲激响应和自适应码本搜索的目标信号
感知加权合成滤波器H(z)=A(z/γ1)/(A'(z)A(z/γ2))的冲激响应h(n)用于自适应码本和固定码本的搜索,一般每子帧计算一次。冲激信号经滤波器A(z/γ1)后,再相继经过1/A'(z)和1/A(z/γ2)得到h(n)。
自适应码本搜索的目标信号x(n)的计算过程为:首先计算线性预测滤波器的残差信号resLP(n),计算公式为:
其中,s'(n)为解码所得的重构语音,为量化的线性预测系数,P为线性预测滤波器的阶数。然后将残差信号resLP(n)通过感知加权合成滤波器H(z),即进行resLP(n)与h(n)卷积,得到目标信号x(n):
x(n)=resLP(n)*h(n);
(d)自适应码本搜索
自适应码本搜索包括闭环基音搜索和自适应码本矢量的计算。
闭环基音搜索的准则是使解码端的重构语音和编码端的重构语音之间的均方误差最小,即使R(k)最大:
其中,x(n)为目标信号,yk(n)为在延时k的过去滤波激励(过去的激励与h(n)的卷积),len为子帧长度。
进行闭环基音搜索时,搜索范围限制在预选值T_op附近,并根据解码所得的整数基音延迟T0的值确定闭环基音搜索的范围:
[T0-g(T0),T0+g(T0)],
其中,
进行限定范围的闭环基音搜索,得到最佳整数基音延迟k。若按接收端编码标准,k在分辨率为分数延时的范围内,则应对最佳整数延时附近的分数进行测试。内插归一化相关系数R(k)并搜索它的最大值,得到分数基音周期。
其中,ε为分数延时分辨率的倒数,t=0,1,…,ε-1,bm为内插滤波器系数。
基音延迟确定后,在给出的整数延时k和分数延时t处内插过去的激励u(n)来计算自适应码本矢量:
自适应码本确定后,就可计算自适应码本的增益gp:
其中,len为子帧长度,x(n)为自适应码本搜索的目标信号,v(n)与h(n)的卷积y(n)为自适应码本矢量滤波信号,即y(n)=v(n)*h(n),这里h(n)为感知加权合成滤波器H(z)的冲激响应。
(e)固定码本搜索
固定码本矢量可表示为:
其中,δ(n)为单位脉冲,Np为固定码本矢量中非零脉冲的个数,len为子帧长度。m1,m2,...,表示非零脉冲的位置,S1,S2,...,表示相应位置非零脉冲的符号(1或-1),c(n)为len维矢量,除Np个非零脉冲外,其它元素均为0。
固定码本搜索是用加权的解码端的重构语音s'w(n)和加权的编码端的重构语音之间的均方误差最小化准则来搜索固定码本矢量,即确定码本矢量中非零脉冲的位置和符号。
固定码本搜索的具体过程为,首先计算目标信号
x2(n)=x(n)-gpy(n),n=0,1,Λ,len-1;
其中,x(n)为自适应码本搜索的目标信号,y(n)=v(n)*h(n)为自适应码本矢量滤波信号,gp为自适应码本增益,len子帧长度。
若c为码本矢量,那么使下式最大的码本矢量即为所求:
其中,d是x2(n)和感知加权合成滤波器的脉冲响应h(n)的相关信号,是h(n)的自相关矩阵,T表示矩阵转置。
矢量d的各元素按下式计算:
其中,len为子帧长度。对称矩阵的各个元素按下式计算:
式(1)中有关分子的项可由下式表示:
其中,ui表示第i个脉冲的位置,Si表示第i个脉冲的符号,Np为固定码本矢量中非零脉冲的个数。式(1)中的分母由下式给出:
使式(1)最大的u1,u2,...即为所求的非零脉冲位置。
在转码时,可由AMR解码所得到的固定码本矢量的位置m1,m2,Λ,,限定G.729AB固定码本搜索时的搜索范围,使固定码本的搜索在m1,m2,Λ,位置附近进行简化的搜索。
用AMR解码器解码所得的重构语音与G.729AB编码器编码所得的重构语音之间的均方加权误差最小来搜索固定码本增益的码本,即使下式最小:
其中,x为固定码本搜索的目标矢量,y为自适应码本矢量滤波信号,z是固定码本矢量与h(n)的卷积:
其中,len为子帧长度。
(2)若接收到的AMR帧类型为静音***描述帧(SID_UPDATE、SID_BAD),则转码流程图如图3所示。
(a)将解码所得的AMR的线谱对系数作为G.729AB相应帧的线谱对系数:
LSPG.729AB_1=LSPG.729AB_2=LSPAMR
其中,LSPG.729AB_1、LSPG.729AB_2分别表示AMR当前帧对应的G.729AB的两帧的线谱对系数。
(b)将解码所得的AMR的语音能量参数转换为G.729AB相应帧的能量参数:
enerG.729AB_1=enerG.729AB_2=1.09enerAMR+981
其中,enerG.729AB_1、enerG.729AB_2分别表示AMR当前帧对应的G.729AB的两帧的能量参数。
编码单元用于对以上所得参数进行量化编码,具体步骤为:
(1)若当前帧为语音帧,参数包括线谱对系数、基音延迟、固定码本非零脉冲位置和符号、自适应码本增益和固定码本增益,用G.729AB编码器对各个参数进行量化、编码,得到信息比特。
(2)若当前帧为静音***描述帧,参数为线谱对系数和语音能量,将其按G.729AB编码标准进行量化、编码,得到信息比特。
比特流封装单元用于将参数比特、模式信息和帧类型打包输出,其中输出的帧类型根据接收到的帧类型进行赋值。若接收到的AMR帧类型为语音帧(SPEECH_GOOD或SPEECH_BAD),则G.729AB帧类型赋值为语音帧(RATE_8000);若接收到的AMR帧类型为静音***描述帧(SID_UPDATE或SID_BAD),则G.729AB帧类型赋值为静音***描述帧(RATE_SID);若接收到的AMR帧类型为非传输帧(NO_DATA或SID_FIRST),则G.729AB帧类型赋值为非传输帧(RATE_0)。
(1)由于对线谱对系数转码时,事先使用了支持向量回归算法对大量语音数据进行训练,从而得到发送端线谱对系数与接收端线谱对系数的映射模型。在此基础上,进行输入线谱对系数到输出线谱对系数的映射,使线谱对系数的转换更为精确,提高了合成语音的质量。
(2)将解码所得的基音延迟整数部分T0作为编码端开环搜索结果,这样在进行闭环搜索时,可根据T0的值来限制闭环搜索范围,从而提高了合成语音质量,也使计算量有所减小。
(3)在静音***描述帧的转码过程中,采用能量参数直接映射的方法,去掉了静音***描述帧能量的计算,使得算法复杂度降低,存储量相应减少。
(4)从输入的比特流中提取帧类型信息,这样就可在转码过程中不进行帧类型判断,而直接在比特流输出时将帧类型转换为与接收到的帧类型相同,有效地提高了接收端的合成语音质量。
图4中给出了AMR到G.729AB转码时,传统DTE方法和本发明提供的参数转码方法的语音质量结果比较。以AMR的标准测试序列t10.pcm~t19.pcm经AMR各速率编码得到的比特流作为输入,每个码速的编码比特流分别用DTE方法和本发明提供的方法转换为G.729AB码流,然后分别用G.729AB的解码器进行解码得到合成语音,再将得到的合成语音与对应AMR的标准测试序列(t10.pcm~t19.pcm)分别进行PESQ客观语音质量评价。
图5中给出了AMR到G.729AB转码时,传统DTE方法和本发明提供的参数转码方法的运算复杂度结果比较。从AMR的标准测试序列中选取多段语音(语音文件见图4)进行WMOPS测试,将每个模式最坏情况下的结果列于表中。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,根据本发明的技术方案及其发明构思加以等同替换或改变,都应涵盖在本发明的保护范围之内。
Claims (6)
1.一种语音编码器码流的转码方法,其特征在于:通信网1发送的A码流经过比特流解析单元,解码单元,参数转换单元、编码单元和比特流封装单元得到通信网2接收的B码流,所述通信网1、2是使用不同语音编码标准的通信网络。
2.根据权利要求1所述的一种语音编码器码流的转码方法,其特征在于:比特流解析单元用于接收通信网1发送的A码流,具体步骤如下:
(1)根据通信网1的A编码标准的帧结构,从输入的A码流的相应比特位提取模式信息、帧类型信息和参数比特。
(2)根据通信网1的A编码标准的帧结构,将参数比特转化为语音参数量化编码后的参数值,语音帧的参数包括线谱对系数、基音延迟、固定码本非零脉冲位置和符号及增益;静音***描述帧的参数为线谱对系数和语音能量。
(3)从A码流中提取帧类型信息,判断接收到的帧类型为语音帧、非传输帧或静音***描述帧。
3.根据权利要求1所述的一种语音编码器码流的转码方法,其特征在于:解码单元用于A解码器从参数比特中解码,得到语音参数值及合成语音,具体步骤如下:
(1)如果接收到的帧类型为静音***描述帧,则根据接收到的参数索引值解码,得到语音参数值,参数为线谱对系数和能量ener。
(2)如果接收到的帧类型为语音帧,则:
(a)根据接收到的参数索引值,解码得到语音参数值,参数包括线谱对系数、基音延迟的整数部分T0和分数部分T0_frac、固定码本非零脉冲位置和符号、量化的自适应码本增益g'p和量化的固定码本增益g'c,
(b)根据上述语音参数,用通信网1的A编码标准进行语音重建,得到重构语音s'(n),
(c)得到重构语音s'(n)后,不进行A解码器中的后置处理。
4.根据权利要求1所述的一种语音编码器码流的转码方法,其特征在于:参数转换单元用于对解码所得的语音参数进行转码,得到通信网2的B编码标准量化编码所需的语音参数,具体步骤如下:
(1)若接收到的为语音帧,则转码步骤为:
(a)线性预测分析:
线谱对系数的转码包括离线的映射模型参数获取和在线的参数映射,
映射模型参数获取的过程为,首先由A、B编码器对10小时以上的语音数据、各种类型、各种语言的语音数据分别进行编码,得到K组量化的线谱对系数,所述各种类型包括成年男声、成年女声、男童声、女童声;各种语言包括汉语、英语、法语、西班牙语、***语:LSPA(k,i)和LSPB(k,i),k=1,…,K,i=1,…,n,其中n为线谱对系数矢量的维数;再用支持向量回归算法计算LSPA和LSPB之间的映射模型:LSPB(i)=wi TLSPA(i)+bi的参数wi、bi,i=1,…,n;转码时,就可由A编码器线谱对系数LSPA(i)使用n个映射模型:LSPB(i)=wi TLSPA(i)+bi,i=1,…,n,分别计算出LSPB(i),i=1,…,n;
用支持向量回归(SVR)算法计算LSPA和LSPB之间的映射模型参数wi、bi具体过程为:
定义第k帧语音的线谱对系数LSPA和LSPB分别为训练数据x和y,即记x(k,i)=LSPA(k,i),y(k,i)=LSPB(k,i);用n个回归函数fi(x)=wi Tx+bi拟合数据{x(k,i),y(k,i)},k=1,…,K,i=1,…,n;
定义n个映射函数
其中,aki和aki *是拉格朗日因子;对于给定的i,拉格朗日因子的求解过程为:
定义Lagrange函数:
其中Ci为常数且Ci>0,ζki≥0和为松弛因子,ε为拟合精度;最大化目标函数:
其中,拉格朗日因子aki和aki *满足 构成一个典型的二次规划问题,利用KKT条件:αki=0→ykif(xki)≥1;0<αki<C→ykif(xki)=1;αi=C→ykif(xki)≤1,使用序列最小优化算法解此二次规划问题,序列最小优化算法步骤如下:
1)给定拉格朗日因子初值,一般取αki=0;
2)计算训练数据的KKT条件,找到违反KKT条件的数据点(x1i,y1i)对应的拉格朗日因子α1i,将其作为两个拟优化的拉格朗日因子之一;
3)在训练数据中寻找满足max|fi(x1i)–fi(x2i)+y2i-y1i|的数据点(x2i,y2i)对应的拉格朗日因子作为α2i。拉格朗日因子α1i和α2i挑选完毕,保持其他拉格朗日因子不变,形成一个最小规模的二次规划问题,即求解最优的和
4)求解上述最小二次规划问题:
其中Eki=fi old(xki)–yki训练误差;
当y1i≠y2i时,
当y1=y2时,
得到一对新的拉格朗日因子和
5)检查是否存在违反KKT条件的数据点,存在则返回步骤2);否则,得到整个问题的最优解,进行下一步;
6)得到回归函数:
其中: N为支持向量的数量;
在进行转码时,由支持向量回归算法建立的映射模型,根据接收到的一组线谱对系数进行线谱对系数的映射,得到B编码器所需的一组线谱对系数,作为B编码标准的未量化的线谱对系数;
将得到的未量化的线谱对系数转化为线谱频率系数,按B编码标准量化编码后发送到通信网2;
根据通信网2的B编码标准,将映射所得的一组线谱对系数与前一帧或几帧的线谱对系数进行插值,得到每一子帧未量化的线谱对系数,再由每一子帧未量化的线谱对系数计算出各子帧未量化的线性预测系数A(z),将映射所得的一组线谱对系数进行量化,得到当前帧一组量化的线谱对系数,将当前帧量化的线谱对系数与前一帧或几帧量化的线谱对系数进行插值,得到每一子帧的量化的线谱对系数,再由每一子帧的量化的线谱对系数计算出各子帧量化的线性预测系数A'(z),未量化的线性预测系数A(z)和量化的线性预测系数A'(z)分别用于计算感知加权滤波器W(z)=A(z/γ1)/A(z/γ2)和合成滤波器1/A'(z)的系数,所述γ1和γ2为感知加权系数;
(b)开环基音搜索:
基于码激励线性预测的语音编码算法中,基音搜索分两步完成。第一步为开环基音搜索,大致估算基音周期,记为T_op,目的是为闭环基音搜索提供一个粗略的范围,以减小闭环基音搜索的计算量;第二步则是在T_op附近进行闭环基音搜索。
在进行转码时,省略通常的开环基音搜索过程,而将解码所得的基音延迟的整数部分T0直接作为B编码标准编码的开环基音搜素结果T_op:
T_opB=T0A,
(c)计算感知加权合成滤波器的冲激响应和自适应码本搜索的目标信号,
感知加权合成滤波器H(z)=A(z/γ1)/(A'(z)A(z/γ2))的冲激响应h(n)用于自适应码本和固定码本的搜索,一般每子帧计算一次。冲激信号经滤波器A(z/γ1)后,再相继经过1/A'(z)和1/A(z/γ2)得到h(n);
自适应码本搜索的目标信号x(n)的计算过程为:首先计算线性预测滤波器的残差信号resLP(n),计算公式为:
其中,s'(n)为解码所得的重构语音,为量化的线性预测系数,P为线性预测滤波器的阶数。然后将残差信号resLP(n)通过感知加权合成滤波器H(z),即进行resLP(n)与h(n)卷积,得到目标信号x(n):
x(n)=resLP(n)*h(n);
(d)自适应码本搜索,
自适应码本搜索包括闭环基音搜索和自适应码本矢量的计算;
闭环基音搜索的准则是使解码端的重构语音和编码端的重构语音之间的均方误差最小,即使R(k)最大:
其中,x(n)为目标信号,yk(n)为在延时k的过去滤波激励,即过去的激励与h(n)的卷积,len为子帧长度;
进行闭环基音搜索时,搜索范围限制在预选值T_op附近,并根据解码所得的整数基音延迟T0的值确定闭环基音搜索的范围:
[T0-g1(T0),T0+g2(T0)],
其中,g1、g2分别为T0的函数;
进行限定范围的闭环基音搜索,得到最佳整数基音延迟k,若按接收端编码标准,k在分辨率为分数延时的范围内,则应对最佳整数延时附近的分数进行测试。内插归一化相关系数R(k)并搜索它的最大值,得到分数基音周期;
其中,ε为分数延时分辨率的倒数,t=0,1,…,ε-1,bm为内插滤波器系数;基音延迟确定后,在给出的整数延时k和分数延时t处内插过去的激励u(n)来计算自适应码本矢量:
自适应码本确定后,就可计算自适应码本的增益gp:
其中,len为子帧长度,x(n)为自适应码本搜索的目标信号,v(n)与h(n)的卷积y(n)为自适应码本矢量滤波信号,即y(n)=v(n)*h(n),这里h(n)为感知加权合成滤波器H(z)的冲激响应;
(e)固定码本搜索
固定码本矢量可表示为:
其中,δ(n)为单位脉冲,Np为固定码本矢量中非零脉冲的个数,len为子帧长度。m1,m2,...,表示非零脉冲的位置,S1,S2,...,表示相应位置非零脉冲的符号(1或-1),c(n)为len维矢量,除Np个非零脉冲外,其它元素均为0;
固定码本搜索是用加权的解码端的重构语音s'w(n)和加权的编码端的重构语音之间的均方误差最小化准则来搜索固定码本矢量,即确定码本矢量中非零脉冲的位置和符号;
固定码本搜索的具体过程为,首先计算目标信号
x2(n)=x(n)-gpy(n),n=0,1,Λ,len-1;
其中,x(n)为自适应码本搜索的目标信号,y(n)=v(n)*h(n)为自适应码本矢量滤波信号,gp为自适应码本增益,len子帧长度;
若c为码本矢量,那么使下式最大的码本矢量即为所求:
其中,d是x2(n)和感知加权合成滤波器的脉冲响应h(n)的相关信号,是h(n)的自相关矩阵,T表示矩阵转置;
矢量d的各元素按下式计算:
其中,len为子帧长度。对称矩阵的各个元素按下式计算:
式(1)中有关分子的项可由下式表示:
其中,ui表示第i个脉冲的位置,Si表示第i个脉冲的符号,Np为固定码本矢量中非零脉冲的个数;式(1)中的分母由下式给出:
使式(1)最大的u1,u2,...即为所求的非零脉冲位置;
在转码时,可由解码所得到的固定码本矢量的位置m1,m2,Λ,,限定按照接收端编码标准进行固定码本搜索时的搜索范围,使固定码本的搜索在m1,m2,Λ,位置附近进行简化的搜索;
用A解码器解码所得的重构语音与B编码器编码所得的重构语音之间的均方加权误差最小来搜索固定码本增益的码本,即使下式最小:
其中,x为固定码本搜索的目标矢量,y为自适应码本矢量滤波信号,z是固定码本矢量与h(n)的卷积:
其中,len为子帧长度;
(2)若接收到的帧类型为静音***描述帧,则转码过程如下:
(a)将解码所得的当前帧与上一静音***描述帧的量化的线谱对系数插值,作为B编码标准编码端相应帧未量化的线谱对系数:
其中,LSP(1)、LSP(0)分别表示当前帧和上一静音***描述帧的线谱对系数,n为线谱对系数的维数,α为插值系数;
(b)将解码得到的能量参数ener转换为B编码标准编码端相应帧的能量参数:
enerB=a·enerA+b,
其中,a,b为线性拟合系数。
5.根据权利要求1所述的一种语音编码器码流的转码方法,其特征在于:编码单元用于对以上所得参数进行量化编码,具体步骤为:
(1)若当前帧为语音帧,参数包括线谱对系数、基音延迟、固定码本非零脉冲位置和符号、自适应码本增益和固定码本增益,按通信网2的编码标准对各个参数进行量化、编码,得到参数比特;
(2)若当前帧为静音***描述帧,参数为线谱对系数和语音能量,将其按通信网2的编码标准进行量化、编码,得到参数比特。
6.根据权利要求1所述的一种语音编码器码流的转码方法,其特征在于:比特流封装单元用于将参数比特、模式信息和帧类型打包输出,其中输出的帧类型根据接收到的帧类型进行赋值,使输入与输出的帧类型相同,即接收到的数据帧为语音帧,则输出的帧类型也为语音帧;接收到的数据帧为静音帧,则输出的帧类型也为静音帧,不再根据重构语音进行帧类型的判断。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310598532.5A CN104658539A (zh) | 2013-11-20 | 2013-11-20 | 一种语音编码器码流的转码方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310598532.5A CN104658539A (zh) | 2013-11-20 | 2013-11-20 | 一种语音编码器码流的转码方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104658539A true CN104658539A (zh) | 2015-05-27 |
Family
ID=53249579
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310598532.5A Pending CN104658539A (zh) | 2013-11-20 | 2013-11-20 | 一种语音编码器码流的转码方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104658539A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022179406A1 (zh) * | 2021-02-26 | 2022-09-01 | 腾讯科技(深圳)有限公司 | 音频转码方法、装置、音频转码器、设备以及存储介质 |
-
2013
- 2013-11-20 CN CN201310598532.5A patent/CN104658539A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022179406A1 (zh) * | 2021-02-26 | 2022-09-01 | 腾讯科技(深圳)有限公司 | 音频转码方法、装置、音频转码器、设备以及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
USRE49363E1 (en) | Variable bit rate LPC filter quantizing and inverse quantizing device and method | |
US6260009B1 (en) | CELP-based to CELP-based vocoder packet translation | |
CN1815558B (zh) | 语音中非话音部分的低数据位速率编码 | |
US7191125B2 (en) | Method and apparatus for high performance low bit-rate coding of unvoiced speech | |
CN101577605B (zh) | 基于滤波器相似度的语音lpc隐藏和提取算法 | |
US20050053130A1 (en) | Method and apparatus for voice transcoding between variable rate coders | |
US6754630B2 (en) | Synthesis of speech from pitch prototype waveforms by time-synchronous waveform interpolation | |
CN103236262B (zh) | 一种语音编码器码流的转码方法 | |
CN100527225C (zh) | 基于celp的语音代码之间的代码转换方案 | |
KR100367700B1 (ko) | 음성부호화기의 유/무성음정보 추정방법 | |
CN1890713B (zh) | 用于数字信号压缩编码的多脉冲字典的索引间的编码转换的方法及*** | |
CN108109629A (zh) | 一种基于线性预测残差分类量化的多描述语音编解码方法和*** | |
JP2002544551A (ja) | 遷移音声フレームのマルチパルス補間的符号化 | |
CN104658539A (zh) | 一种语音编码器码流的转码方法 | |
Tandel et al. | Implementation of CELP CODER and to evaluate the performance in terms of bit rate, coding delay and quality of speech | |
Kim et al. | An efficient transcoding algorithm for G. 723.1 and EVRC speech coders | |
CN103457703B (zh) | 一种g.729到amr12.2速率的转码方法 | |
Nishiguchi | Harmonic vector excitation coding of speech | |
Huang | AMR TO G. 729A SPEECH TRANSCODING WITH FAST CODEBOOK SEARCH | |
Lin et al. | AN EFFICIENT TRANSCODING SCHEME FOR G. 729 AND G. 723.1 SPEECH CODECS: INTEROPERABILITY OVER THE INTERNET | |
Giacobello et al. | Estimation of frame independent and enhancement components for speech communication over packet networks | |
Byun et al. | An Approach to the Decoder Complexity Reduction in Waveform Interpolation Speech Coding |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20150527 |
|
WD01 | Invention patent application deemed withdrawn after publication |