嵌入式编码、解码方法、编码器、解码器及系统的制作方法

文档序号:2837196阅读:401来源:国知局

专利名称::嵌入式编码、解码方法、编码器、解码器及系统的制作方法
技术领域
:本发明涉及编解码领域,尤其涉及嵌入式编码、解码方法、编码器、解码器及系统。
背景技术
:随着以分组交换为基础的IP电话技术得到越来越多的应用,语音分组传输技术迅速发展。目前,语音分组传输技术中一个亟待解决的问题是如何减小分组丟失对接收端合成语音质量的影响。在网络传输时,有些分组可能在传输过程中丢失;还有些分组到达接收端时已经超过了允许的最大传输延时而被接收端拒收;接收端根据接收到的分组对丟失的分组进行才莫拟,再根据接收到的分组和模拟出的分组得到合成语音,这样得到的合成语音的质量相对于原始语音会有较大的失真,当丢失的分组达到一定程度时,甚至无法得到合成语音。
发明内容本发明实施例提供嵌入式编码、解码方法、编码器、解码器及系统,解决由于分组丢失所引起的合成语音失真。一种嵌入式编码方法,包括如下步骤对语音信号进行ACELP编码,得到ACELP层的码流;对语音信号进行变换域编码,得到变换域层的码流。一种嵌入式解码方法,包括如下步骤判断接收到的嵌入式码流中是否包括ACELP层的码流或变换域层的码流;如果包括ACELP层的码流,则对所述码流中的ACELP层进行ACELP解码,得到所述ACELP层的合成语音;如果包括变换域层的码流,则对所述变换域层进行变换域解码,得到所述变换域层的合成语音。一种嵌入式编码器,包4参接收单元、ACELP编码单元和变换域编码单元,其中,所迷接收单元用于接收语音信号;所述ACELP编码单元用于对接收到的语音信号进行ACELP编码,输出ACELP层的码流;所述变换域编码单元用于语音信号进行变换域编码,输出变换域层的码流。一种嵌入式解码器,包括判断单元、ACELP解码单元和变换域解码单元,其中,所述判断单元用于判断接收到的嵌入式码流中是否包括ACELP层的码流或变换域层的码流,并4艮据判断结果将所述嵌入式码流发送给所述ACELP解码单元和/或变换域解码单元;所述ACELP解码单元用于对来自所述判断单元的嵌入式码流中的ACELP层进行ACELP解码,得到所述ACELP层的合成语音;所述变换域解码单元用于对来自所述判断单元的嵌入式码流中的变换域层进行变换域解码,得到所述变换域层的合成语音。一种嵌入式编解码系统,包括嵌入式编码器和嵌入式解码器,其中,所述嵌入式编码器用于对语音信号进行ACELP编码及变换域编码,得到ACELP层及变换域层的码流;并将完成编码后的码流进行网络传输;所述嵌入式解码器接收到的所述编码后的码流,对所述编码后的码流中的ACELP层进行ACELP解码、变换域层进行变换域解码。由于ACELP编码通过逐级细化激励信号,牟^f氐码率的编码信号对应于包含代数脉沖数较少的激励信号,随着码率的提升,逐层增加代数脉冲的方式不断细化激励信号,当代数脉沖增加到一定数量后,对激励信号的细化作用不明到嵌入式码流,用变换域编码弥补ACELP编码的不足,从而保证了合成语音的质量。图l是本发明实施例中嵌入式编码的流程示意图;图2是本发明实施例中嵌入式解码的流程示意图;图3a、3b是本发明实施例中嵌入式编码的工作原理图;图4是本发明实施例中嵌入式解码的工作原理图;图5是本发明实施例中编码端嵌入式码流的码率结构示意图;图6是本发明实施例中解码端嵌入式码流的码率结构示意7本发明实施例中嵌入式码流的帧比特结构示意图;图8是本发明一实施例中的嵌入式编码系统的结构示意图。具体实施方式对原始语音进行嵌入式编码,在发送端获得具有嵌入式结构的码流,在嵌入式的码流中,低码率的码元嵌入在高码率的码元中,码率最低的码元也能表示原始语音信号的主要参数,只是相对于其他码率的码元,在不同程度上损失了一些细节。当网路容量足够时,网络中传输高速率码流;当遇到网路不同程度的拥塞时,根据信道编码协议,逐渐丢弃码率较高的码元,可以保证合成语音中含有原始语音信号的主要参数,从而避免合成语音的失真。嵌入式的结构将语音信号根据需要的编码速率进行分层,各层码率顺次逐渐增大,对前几层进行ACELP编码,其余各层采用变换域编码。ACELP编码通过逐级细化激励信号,较低码率的编码信号对应于包含代数脉冲数较少的激励信号,随着码率的提升,逐层增加代数脉沖的方式不断细化激励信号,当代数脉冲增加到一定数量后,对激励信号的细化作用不明显或者变差,因此从编码速率超过预定值的层开始采用变换域编码。变换域编码可以采用变换码激励(TCX)编码或修正的离散余弦变换(MDCT)编码,以及其他的变换域编码方式。在下面的描述中,以代数码激励线性预测(ACELP)和TCX编码的编码技术联合设计的8-32kbps宽带嵌入式语音编解码方案为例进行具体说明嵌入式编码方法、嵌入式解码方法、嵌入式编码器、嵌入式解码器和嵌入式编解码系统。在前三层的ACELP编码中,通过逐级细化激励信号,较低码率的编码信号对应于包含代数脉冲数较少的激励信号,随着码率的提升,通过逐层增加代数脉冲的方式不断细化激励信号。在本实施例中,代数脉沖的搜索不是相互独立的,而是彼此存在着嵌入包含关系,每一级的脉沖,都是在保留前一级的基础上,针对更新了的目标信号,又额外搜索若千能够丰富激励信号细节的脉冲而获得的。同时,为了后两层能用到变换域编码,在前三层ACELP编码中,进行子帧循环时,每次进行五子帧循环处理,同时在编码端解码出五子帧前三层合成语音。第五子帧的合成滤波器系数和第四子帧的滤波器系数相同,写码流时仅仅编码前四子帧的参数信息。另外,本发明实施例针对前三层各个不同的速率,对合成滤波器状态进行独立更新,以此保证编解码端状态同步。在后两层的TCX编码中,用预处理后的原始语音减去本地解码出的前三层合成语音,得到的差值dl(n)作为第四层要处理的信号,对dl(n)做TCX编码,得到第四层的码流。本地解码出量化后的第四层信号,然后和本地解码出的前三层合成语音相加,得到本地解码出的前四层合成语音。用预处理后的原始语音再减去本地解码出的前四层合成语音,得到的差值信号d2(n)作为第五层要处理的信号,同样对d2(n)做TCX编码,得到第五层的码流。由此可以看出,该编码器生成的整体五层码流是嵌入式码流。同时,在对第四层和第五层分别做TCX编码时,用的是各自不同的感觉加权滤波器。在解码端,如果接收到全码流,则可以解码出要求的任意层速率的语音。也可以根据网络传输状况和终端的特点,在接收端接收到不同速率的码流,解码出不同速率的语音。即使网络状态特别差,只要传输到解码端的码流大于某一个门限,也可以解码出正常的语音,保证语音质量的连续性。发送端输入的原始语音信号可以为16kHz采样、16比特线性脉冲编码调制(PCM)语音信号,也可以为8kHz采样、16比特线性PCM语音信号。整个嵌入式结构分为五层,具体包括第一层即核心层、第二层即增强一层、第三层即增强二层、第四层即增强三层和第五层即增强四层,各层相应的编码速率即码率依次分别为8kbps、12kbps、16kbps、24kbps和32kbps;对第一至三层采用ACELP进行编码,对第四、五层采用TCX进行编码。以所述五层编码器为例,图1给出了编码方法的流程示意图,图3a、3b给出了编码的工作原理图,编码操作以20ms语音为一帧进行处理SlOl、对输入的每一帧语音信号进行预处理预处理主要是对输入的每一帧语音信号进行变采样和高通滤波。其中,变采样包括上采样和下采样如果输入的是16kHz采样的宽带语音,则进行下采样,将输入信号的采样率从16kHz降低到12.8kHz;如果输入的是8kHz采样的窄带语音,则进行上采样,将输入信号的采样率从8kHz上升到12.8kHz。高通滤波,用于去除不必要的低频成分,其截至频率为50Hz,即滤去频率低于50Hz的成分。预处理是优选的步骤,其目的在于对输入的语音信号进行优化处理,变采样将宽带语音和窄带语音的采样率统一为12.8kHz,那么20ms即一帧的样点有256=28个,样点数为2的整数次方,在后续的处理上算法比较简单;高通滤波可以将对合成语音质量造成干扰的低频成分滤除,从而提高了合成语音的质量。由于进行变采样处理后,一帧的样点为256个,采用传统的ACELP编码方法则对前三层进4亍4子帧循环处理,由于TCX编码一帧的样点为288个,为了保证后两层能够采用TCX编码,对于前三层ACELP编码中进行五子帧循环。5102、对预处理后的语音进行线性预测分析,得到表示语音信号短时谱包络的线性预测系数,并将线性预测系数转换为导抗频率对(ISP)参数后进行矢量量化,矢量量化后的ISP参数通过核心层码元携带到解码端线性预测分析就是用16阶线性预测(LP)作短时分析。这里采用Levinson-Durbin算法进行线性预测分析,每帧分析一次得到一组线性预测参数,然后转换为ISP系数并在ISP域内插,最后转化为ISF参数,并且基于对解码端的合成滤波器的稳定性和量化效率的考虑采用预测分裂矢量量化(PSVQ)方法量化第四子帧的值。在编码端,通过内插得到4子帧的线性预测参数,即每子帧合成滤波器的系数,子帧循环中第五子帧的合成滤波器系数和第四子帧合成滤波器系数相同。5103、对每帧语音进行开环基音分析,输出参数1为ISP参数量化表索引值,为子帧分析中的闭环基音分析提供一个大致的范围开环基音分析目的A^闭环基音分析提^"个;^的搜索范围,每10ms进行一次,即每帧进行两次。开环基音周期,M^吏CW=fu("_^ZM4"=17,...,115最大的d值。^(")是2倍下采样的加权语音,w(力是加权函数,w(c/)=w,(4^("),w,(cO为低延迟加权函数,w,(cf卜cw(c0,是事先设置好的一组数据;w。(rf)为前一帧延迟加权函数,取决于前面帧的基音延迟,当自适应因子v〉0.8时,wW)=cw(|r。w-4+98),否则>^(力=1,r。w是前五个为浊音的半帧中基音延迟的中值。5104、计算感觉加权合成滤波器的单位脉沖响应。帧分析结束后进入核心层、增强一层、增强二层的子帧循环,每5ms为一子帧。5105、通过自适应码书搜索和增益控制得到整数和分数基音延时及自适应码书增益由开环基音分析后的语音和各层感知加权合成滤波器的状态mem—syn0、mem—synl、mem—syn2得到各层第一级目标矢量xn、xn—12k、xn—16k用于自适应码书搜索。也就是说,每层对应有各自的目标矢量,这样才能在最大程度上保证每层参数之间的匹配。自适应码书搜索是根据核心层的第一级目标矢量xn搜索出最佳整数和分数基音延迟,输出参数2为基音延迟索引值。然后在最佳基音延迟处通过内插过去的激励得到各层的自适应码激励,分别记作vn、vn—12k、vn一16k。同时计算出自适应码书增益,^f又取核心层8kbps的自适应码书增益作为当前子帧的自适应码书增益,记作gp,即将核心层的自适应码书增益替换增强一层和增强二层的自适应码书增益,这是由于当核心层的自适应码书增益与增强一层和增强二层的自适应码书增益不同时,对增强一层和增强二层的码元的比特数的要求也相应的增加,有可能会造成比特数不足,为了避免此问题,特将核心层、增强一层和增强二层的自适应码书增益设置为相同。S106、进行核心层代数码书搜索得到核心层代数码书索引值和代数码书增益在核心层代数码书搜索之前,首先要将核心层第一级目标矢量xn减去核心层自适应码书的贡献,得到用于核心层代数码书搜索的第二级目标矢量xn2。;c"2(")-;c"(")-^.yl("》yl(n)^n(n)化(n)为核心层自适应码激励vn与感知加权合成滤波器单位脉沖响应矢量h的巻积,即自适应码书贡献。同时要更新增强一层和增强二层的目标矢量,分别记作xn2—12k、xn2—16k。计算方法和核心层的第二级目标矢量的计算方法相同,用各层的第一级目标矢量减去各层的自适应码书的贡献。根据第二级目标矢量xn2进行核心层代数码书搜索。核心层采用全搜索的方法搜索出3个脉沖,后面的增强一层和增强二层都是在前一层的基础上再搜索三个脉冲。由于不同速率脉沖的搜索不是彼此独立的,它们之间相互嵌套,因此搜索出的脉冲可逐层抛弃,以适应网络分組传输中出现的丢包现象。经过核心层代数码书搜索,得到核心层代数码书索引值作为参数3输出。同时,还得到核心层代数码书增益gc。5107、将自适应码书增益与核心层代数码书增益联合起来进行矢量量化将核心层自适应码书增益gp与核心层代数码书增益ge联合起来进行矢量量化,得到核心层增益矢量量化索引值作为参数4输出。5108、进行增强一层代数码书搜索及其增益比的量化、完成核心层的编码,整个编码器进入增强一层和增强二层的编码部分。增强一层和增强二层的编码过程主要是通过逐层增加代数码书的脉冲个数,使激励信号更精细,与目标信号更匹配。在增强一层代数码书搜索之前,首先要将增强一层的第二级目标矢量xn2—12k减去核心层代数码书的贡献得到用于增强一层代数码书搜索的第三级目标矢量xn3。屈3(")=x"2—12A:(")-gc'y2("),y2(n)-core—code(nfh(n)为核心层代数码激励core—code与感知加权合成滤波器单位脉沖响应矢量h的巻积,即核心层代数码书的贡献。同时要更新增强二层的目标矢量,记作xn3—16k,x"3—16一)=x"2—16A(w)-gc_y2(")。根据第三级目标矢量xn3,采用Focused-Search快速算法进行增强一层代数码书搜索。搜索完毕后,得到增强一层代数码书索引值作为参数5输出。同时还得到增强一层代数码书增益g、量化增强一层增益时,不是对增益g"直接量化,而是对增强一层的代数码书增益gu与量化后的核心层的代数码书增益^之比h进行标量量化,,得到增强一层增益比量化的索引值作为参数6输出。5109、增强二层代数码书搜索及其增益比的量化。在增强二层代数码书搜索之前,首先将增强二层第三级目标矢量xn3一16k減去增强一层代数码书的贡献,得到用于增强二层代数码书搜索的第四级目标矢量xn4。Xn4(n)=xn3—16k(n)-gcl.y3(n),y3(n)=layerl—code(n)吐(n)为增强一层代数码激励layerl_code与感知加权合成滤波器单位脉冲响应矢量h的巻积。根据第四级目标矢量xn4,采用Focused-Search快速算法进行增强二层代数码书搜索,得到增强二层代数码书索引值作为参数7输出。同时还得到增强二层代数码书增益ge2。将增强二层代数码书增益ge2与量化的增强一层代数码书增益^之比^进行标量量化,r2=^2/^,得到增强二层增益比量化的索引值作为参数8输出。5110、更新每层感知加权合成滤波器的状态,以用于计算下一子帧的目标矢量。前三层搜索完毕,为了计算下一子帧的目标矢量,在子帧循环的最后,要对合成滤波器的状态进行更新。由于采用的是嵌入式的编码结构,不同层对应着不同的激励信号,因此不同层的合成滤波器的状态也是不一样的。为了适应嵌入式编码结构带来的这种变化,采取了各层状态同步更新的方法。将上面得到的各层新的激励矢量通过各自合成滤波器,并将滤波器状态分别存储于mem—syn0、mem_syn1、mem—syn2,用于下一子帧各层第一级目标矢量的计算。前三层编码过程结束。由前三层搜索出的16kbps的激励信号经过后处理,合成滤波,本地解码出五子帧采样率为12.8kHz的16kbps的语音synth_16k,在合成语音时,第5子帧的合成滤波器系数用第4子帧的合成滤波器系数代替。5111、增强三层FFT系数、全局增益及噪声因子的量化做完前三层子帧循环后,求得每层的自适应码书和代数码书及其各自的增益,然后本地解码出五子帧采样率为12.8kHz的16kbps合成语音。预处理后的原始语音减去此本地解码出的合成语音得到的差值作为增强三层要处理的信号,对增强三层的信号做TCX编码,得到增强三层要编码信息的索引值-…格型矢量量化索引值、全局增益索引值和噪声因子的索引值,同时得到量化的增强三层信号。预处理后的原始语音pre一speech—TCX减去本地解码出的合成语音synth一16k,将得到的差值speech—TCX一24作为增强三层要处理的信息。在前三层做ACELP编码时,把延迟了一子帧的语音作为了当前帧,为了保证下采样滤波器的需要,预处理后的语音也延迟了12个样点。所以,当前帧比预处理后的语音延迟了52个样点。为了保证预处理后的语音pre一speech—TCX和本地解码出的16kbps的合成语音synth—16k相减时样点相对应,在做减法前,对预处理后的语音也做了52个样点的延迟,记为new—speech—24—TCX。分别取new—speech—24—TCX和synth—16内的前288个样点^故减法,得到增强三层要处理的288个样点的差值信号speechJTCX—24。对增强三层信号speech—TCX—24进行的主要操作是TCX编码首先将speech一TCX一24通过感觉加权滤波器,滤波器的变换函数为^(z)-i(z/"/(1-!)。式中i(z)是量化的LP滤波器,i(z/"是此滤波器的一种加权形式,分母l-A^是一阶高通滤波器。speech—TCX_24通过感觉加权滤波器后,得到感觉加权后的信号xnl,接着对xnl加窗,加窗方法为xnl的前32个样点和后32个样点分别乘以正弦函数"1/+0.5)/64)(i=012...63)的前后32个样点,xnl的其他值乘以常量1。对加窗后的信号xnl通过DFT变换被映射到频域,实际实施过程中,DFT的快速算法FFT被用来计算傅立叶变换的系数,因为帧长为288个样点,不是2的倍数,但9x25=288。所以,一个以9为基底的FFT变换被采用,来适应帧长的需要。根据FFT变换的性质,取288个样点的傅氏变换后的前144个有效复数值,用这144个复数值的实部和虛部共同组成一个包含288个元素的实数序列,即为当前帧288个样点的谱序列X,这些复数值的实部和虛部在序列中的顺序为(re[O],im[O],re[l],im[l],re[2],im[2],...re[N/2-l],im[N/2-l])其中,im=0,因为傅氏变换的头一个值是实数;N=288。对此语序列X,从第一个元素值开始,将连续的每8个元素值分成一个模块,共有36个模块。取每8个元素值为一个模块,是为了和频谱量化时用的8维格型矢量量化相一致。得出傅立叶变换系数之后,为了最小化低频的感觉失真,在频域对低频做自适应预加重处理。自适应低频预加重处理仅仅是针对频镨的前四分之一部分即语序列中的前9个模块进行操作的。对做完低频预加重的36个8维模块Bk即288个样点的镨序列进行格型矢量量化。在格型矢量量化中,要量化的矢量中元素值越大,量化相应码字时用的比特数越多。所以,为了保证量化码字用的比特数在事先给定的比特数范围内,在量化前对要量化的矢量进行比例缩放。先估计没有比例缩放时谱序列用的总比特数,然后根据估计的比特数和实际要求的比特数,估计比例缩放因子,得到一个估计的全局增益因子g。估计出全局增益g以后,将得到比例缩放后的语序列记为X'-X/g。相对于每个模块而言,比例缩放后的第k个模块记由RE8格的定义和性质,通过快速搜索算法,找到离输入矢量式最近的格点q,q就是输入矢量式的量化值。找到矢量《的量化值q后,对格点q所在码书的索引值进行量化。量化前先判断格点是否属于基本码书,如果属于基本码书,则q的索引值为码书的索引值加上码字的索引值Ik。码书索引用一元编码方法进行编码,码字索引值Ik是q的"排列"(rank),所谓"排列"是指如何对基本码书内的某个格点的元素进行顺序和符号的变化得到q的。量化码书索引值用比特,量化码字索引值用4比特,量化q共用5比特。如果格点q不属于基本码书,则要对码书进行Voronoi扩展,得到一个扩展的码字v,得到q的表示式为c,Mz+v,M是一个扩展因子,z为基本码书中的一个格点。此时量化q的索引值有三部分码书索引值nk,码字索引值Ik,Voronoi扩展索引矢量的每个元素的索引值。因为在基于变换的编码方法中,舒适噪声因子能提高语音的感觉质量。所以,在TCX编码中,还要计算舒适噪声因子"0/^_/^^,用3比特把"o/w—/a"or量化到0.8-1.0之间。通过格型矢量量化,得到量化的频语序列,因为量化前做了低频预加重,所以,量化后还要进行低频去加重,是低频预加重的一个逆过程。低频去加重后,进行傅氏变换的逆变换,获得量化后的时域信号对")。逆变换前要注意的是,量化前语序列的第二个元素为0,即为第一个傅氏系数的虚部,所以量化后的镨序列的第二个元素也必须强置为0。逆傅立叶变换是通过IFFT变换来实现的。前面已经提到,为了使编码量化的i番序列用的比特数在所要求的比特数范围内,在对语序列格型矢量量化前,除以一个全局增益因子g,在解码端,为了能使量化的语序列再乘以此全局增益因子,必须对此全局增益因子进行量化。下面介绍如何对此全局增益因子进行量化因为格型矢量量化前估计的全局增益因子g不能保证量化前的加权信号x和量化后加权信号^之间有最大的相关,所以,对量化的频镨逆变换后,通过下面的公式重新求得量化前的信号x和量化后的信号^之间最优的全局增益对全局增益8*用7比特在对数域进行标量量化,同时在编码端得到量化的全局增益#*。量化后的加权信号^乘以量化后的全局增益因子|*,得到幅度恢复后的量化的加权信号S'。为了减少量化带来的误差,对量化的加权信号S'重新加窗。窗的形状和加窗的方法与量化前对感觉加权信号x加窗的方法相同。为了编码第五层的信号,必须本地解码出第四层信号。所以要加窗的信号f进行去感觉加权。但语序列量化前后都加了窗,为了得到完整的量化后的去感觉加权信号,要在去感觉加权前对窗函数滤掉的部分信息进行补偿。由于当前帧和前一帧有32个样点的混叠,并且窗函数具有对称性,混叠相加技术被采用,所谓混叠相加就是用前一帧加窗信号的后32个样点和当前帧加窗信号的前32个样点相叠加。相叠加后,抵消了窗中不平坦的部分,恢复了被窗函数滤去的部分信息。混叠相加处理完成后,按照和感觉加4又相逆的过程进行去感觉加权,变换函数为/『t(z)-(1-/^-')/i(z/",去感觉加权后得出的信号,即为本地解码出的第四层信号synth—TCX_24,把信号synth—TCX_24和本地解码出的16kbps合成语音synth一16相力口,得到采样率为12.8kHz的24kbps合成语音synth_24。最后进行滤波器状态更新。S112、增强四层FFT系数、全局增益及噪声因子的量化把量化的增强三层信号和16kbps语音信号相加得到采样率为12.8kHz的24kbps合成语音。预处理后的原始语音减去24kbps的合成语音得到增强四层要处理的信号,对增强四层信号做TCX编码,得到增强四层要编码信息的索引值,增强四层要编码的信息和增强三层要编码的信息相同。后两层按帧处理。最终,输入语音通过本编码器得到五层嵌入式的码流,通过网络进行传输。图7给出了本实施例中的帧比特结构图。和增强三层编码方法相似,取预处理后的原始语音pre一speec、TCX减去本地解码的24kbps合成语音synth_24,将得到的差值信号speech—TCX_32为增强四层要处理的信号,对speech—TCX—32做TCX编码。实际上,预处理后的原始语音减去本地解码出的24kbps合成语音pre—speech一TCX-synth_24,等价于预处理后的原始语音减去本地解码出的16kbps合成语音,再减去本地解码出的第四层量化后的信号,pre_speech_TCX-synth—16-synth—TCX—24,所以,增强四层要处理的信号等价于第四层要量化的信号speech—TCX—24减去本地解码出的第四层量化后信号synth—TCX—24,speech—TCX—32=speech—TCX—24—synth—TCX—24。具体编码步骤如下对speech—TCX—32做感觉加权,感觉加权滤波器2的形式和增强三层的感觉加权滤波器1的形式相同,只是分母中的滤波器系数不同,此时用A表示,感觉力口外又滤波器2形式为『2(z)-i(z/"/(1—"2z_1)。其他各步和增强三层的运算方式是相同,直到对全局增益进行量化。又因为增强四层编码后,不需要在编码端再合成增强四层的合成语音,所以,全局增益量化后的一些步骤也就不需要再次操作了。至此,整个编码过程结束,得到五层嵌入式结构的码流,输入到网络中传输。将本实施例的嵌入式编码方法采用具体的装置实现,提出一种嵌入式编码器,参见图8,图8给出了嵌入式编码系统的结构示意图,包括第一接收单元11、ACELP单元13、变换域单元14、减法单元15和第一控制单元16,其中,第一接收单元接收语音信号后发送给第一控制单元;ACELP单元接收第一控制单元的ACELP编码信号,根据语音信号得到各ACELP层的目标信号,对各ACELP层的目标信号进行ACELP编码,并将得到的线性预测参数、各ACELP层的自适应码书激励和增益及代数码书激励和增益发送给第一控制器,ACELP编码中从第一ACELP层到最后ACELP层的激励信号逐层增加代数脉冲,且各ACELP层中的每一级的脉沖都在前一级脉冲的基础上,针对更新了的目标信号额外进行搜索;变换域单元根据第一控制单元的变换域编码信号,对变换域层目标矢量进行变换域编码,将得到的编码信息的索引值发送给第一控制单元;减法单元根据第一控制单元的减法信号,将语音信号减去变换域层各层的上一层对应的合成语音,得到变换域层各层的目标矢量并发送给第一控制单元;第一控制单元根据所需编码的层数,生成ACELP单元的ACELP编码信号、变换域单元的变换域编码信号和减法器的减法信号。还设置第一变采样单元17,第一变采样单元将第一接收单元接收到的语音信号的采样率变为12.8Hkz,并将变采样后的语音信号发送给第一控制单元。还设置第一高通滤波单元18,第一高通滤波单元将第一接收单元接收到的语音信号进行高通滤波后发送给第一控制单元。也可以既设置第一变采样单元又设置第一高通滤波单元,第一高通滤波单元将第一变采样单元变采样后的语音信号进行高通滤波后发送给第一控制单元。根据网络传输情况或者客户端选择的服务质量,将会产生不同质量的合成宽带语音。如果接收到全部的32kbps的码流,解码器不仅可以解出32kbps层对应的合成语音,还可以从32kbps的码流中提取出24kbps层、16kbps层、12kbps层和8kbps的码流进行语音合成。图5、图6分别是本实施例中编码端和解码端的嵌入式码流的码率结构示意图。图2给出了嵌入式解码的流程图,当解码端收到包含所有编码参数信息的32kbps码流后,根据所要求的解码速率进行解码。首先根据ISP参数量化表索引值解码出ISP参数并转换成线性预测系数。接着根据基音延迟索引值,得到自适应码激励;解码核心层代数码书索引值,得到核心层代数码激励。根据自适应码书增益及核心层代数码书增益索引值,分别解码出自适应码书增益和核心层代数码书增益。判断接收到的比特数,如果比特数〈40bits,则直接得到8kbps的合成激励信号,对此激励信号进行后处理,合成滤波,得到采样率为12.8kHz的8kbps的合成语音,对合成语音变采样并输出;否则根据增强一层代数码书及增益比的索引值解码出增强一层代数码激励及其增益,并与8kbps的合成激励信号相加得到12kbps的合成激励信号。再次判断接收到的比特数,如果比特数〈320bits,则直接输出12kbps的合成激励信号,对此合成激励信号进行和8kbps激励信号相同的操作,输出变采样的12kbps的合成语音;否则根据增强二层代数码书及增益比的索引值解码出增强二层代数码激励及其增益,并与12kbps的合成激励信号相加得到16kbps的合成激励信号。不管接收到的比特数〉-480bits与否,都对解码出的16kbps的合成激励信号进行后处理,合成滤波,得到采样率为12.8kHz的16kbps的合成语音。然后再判断接收到的比特数,如果比特数〈480bits,输出16kbps的变采样语音;否则根据增强三层格型矢量量化参数的索引值、感觉加权信号的全局增益参数索引值及前面解码出的线性预测系数,一起得到增强三层的解码信号,把此信号和采样率为12.8kHz的16kbps合成语音相加得到采样率为12.8kHz的24kbps合成语音。然后再判断接收到的比特数,如果比特数〈640bits,输出24kbps的变采样合成语音;否则根据增强四层格型矢量量化参数及全局增益参数的索引值和前面解码出的线性预测系数,一起得到增强四层的解码信号,把此信号和采样率为12.8kHz的24kbps合成语音相加得到采样率为12.8kHz的32kbps合成语音,对其进行变采样,最后输出32kbps变采样合成语音。变采样和上边有相似的定义,要输出宽带语音,对12.8kHz采样的语音上采样到16kHz,要输出窄带语音,对12.8kHz采样的语音下采样到8kHz。输出的所有层的宽带语音中,为了保证带宽都在[50Hz7000Hz],都扩展了带宽为[6400Hz7000Hz]的高频带信号。图4描述了嵌入式解码的工作原理图。根据表示ISP参数量化表索引值的参数l,解码出ISP参数,然后内插ISP参数,得到每一子帧的ISP参数,并转换成线性预测系数。如果要求解码出8kbps的合成语音,则根据表示基音延迟索引值的参数2解码自适应码书1,得到自适应码激励vn,根据表示核心层代数码书索引值的参数3解码出核心层代数码激励core—code,并由表示增益矢量索引值的参数4分别解码出自适应码书增益^和核心层代^:码书增益l,组成8kbps的合成激励信号exc一8k。将合成激励信号exc—8k进行后处理后通过合成滤波器,得到采样率为12.8kHz的8kbps合成语音。如果要求解码出12kbps的合成语音,则根据参数2解码自适应码书2得到自适应码激励vn—12k并对其进行滤波,根据参数3解码出核心层代数码书core_code,由参数4分别解码出自适应码书增益^和核心层代数码书增益^。再根据表示增强1层代数码书索引值的参数5和表示增强一层代数码书增益比索引值的参数6解码出增强一层代数码激励layer1—code及其增益^。它们一起组成12kbps的合成激励信号exc—12k。将合成激励信号exc一12k进行后处理后通过合成滤波器,得到采样率为12.8kHz的12kbps合成语音。如果要求解码出16kbps的合成语音,则根据参数2解码自适应码书3得到自适应码激励vn—16k并对其进行滤波,根据参数3解码出核心层代数码激励core—code,由参数4分别解码出自适应码书增益^和核心层代数码书增益l.,根据参数5和参数6解码出增强一层代数码激励layerl—code及其增益^。再根据表示增强二层代数码书索引值的参数7和表示增强二层代数码书增益比索引值的参数8解码出增强二层代数码激励layer2—code及其增益^2。它们一起组成16kbps的合成激励信号excJ6k。将合成激励信号excJ6k进行后处理后通过合成滤波器,得到采样率为12.8kHz的16kbps合成语音。如果要求解码出24kbps的合成语音,首先对解码出的16kbps的合成激励信号exc—16k进行后处理,得到采样率为12.8kHz的16kbps合成语音synthJ6。然后,根据参数9即格型矢量量化的参数及噪声因子的索引值和参数11即全局增益的索引值,得到增强三层的感觉加权信号excJCX,然后对其去感觉加权,解码出增强三层处理的信号synth一TCX,把synth一TCX和synth—16相加,得到采样率为12.8kHz的24kbps合成语音synth一24。如果要求解码出32kbps的合成语音,根据参数10即格型矢量量化的参数及噪声因子的索引值和参数12即全局增益的索引值,得到增强四层量化的感觉加权信号exc—TCX,对其去感觉加权,解码出增强四层的差值信号synth—TCX,把synthJTCX和通过高通滤波的24kbps语音信号synth—24相加,得到采样率为12.8kHz的32kbps的合成语音synth_32。将所有层的采样率为12.8kHz的合成语音通过50Hz的高通滤波器。如果输出宽带语音,则对解码出的采样率为12.8kHz的合成语音进行上采样,得到采样率为16kHz、频带范围为[50Hz-6400Hz]的语音,由于宽带语音的频带范围为[50Hz-7000Hz],所以还要对此合成语音进行高频补偿首先产生一个高斯白噪声,对其进行修正,得到高频带激励信号;高频带激励信号通过修正的合成滤波器得到合成信号,合成滤波器的系数是对解码出的线性预测系数修正得到的;把此合成信号通过一个通带为[6000Hz-7000Hz]的带通滤波器得到高频带合成信号。将高频带的合成信号与频带范围为[50Hz-6400Hz]的合成语音相加得到采样率为16kHz的输出合成语音。<table>tableseeoriginaldocumentpage19</column></row><table><table>tableseeoriginaldocumentpage20</column></row><table><table>tableseeoriginaldocumentpage21</column></row><table>表l嵌入式编码的比特分配与参数对照表表1中,sl-s46内存放的ISP参数的索引值;s47-sl60内存放的是核心层码书及增益索引值;sl61-s240内存放的是增强一层码书及增益索引值;s241-s320内存放的是增强二层码书及增益索引值;s321-s323内存放的是增强三层的噪声因子索引值;s324-s330内存放的是增强三层的全局增益索引值;s331-s480内存放的是增强三层的格型矢量量化索引值;s481-s483内存放的是增强四层的噪声因子索引值;s484-s490内存放的是增强四层的全局增益索引值;s491-s640内存放的是增强四层的格型矢量量化索引值。本实施例的编解码方法,采用具体装置实现,提出一种嵌入式解码器,参见图8,包括接收单元11、ACELP编码单元12和变换域编码单元13,接收单元接收语音信号;ACELP编码单元对接收到的语音信号进行ACELP编码,输出ACELP层的码流;变换域编码单元语音信号进行变换域编码,输出变换域层的码流。一种嵌入式解码器,包括判断单元21、ACELP解码单元22和变换域解码单元23,判断单元判断接收到的嵌入式码流中是否包括ACELP层的码流或变换域层的码流,并4艮据判断结果将嵌入式码流发送给ACELP解码单元和/或变换域解码单元;ACELP解码单元对来自所述判断单元的嵌入式码流中的ACELP层进行ACELP解码,得到ACELP层的合成语音;变换域解码单元对来自判断单元的嵌入式码流中的变换域层进行变换域解码,得到变换域层的合成语音。参见图8,一种嵌入式编解码系统包括嵌入式编码器1和嵌入式解码器2,其中,嵌入式编码器1对语音信号进行ACELP编码及变换域编码,得到ACELP层及变换域层的码流;并将完成编码后的码流进行网络传输;嵌入式解码器2接收到的编码后的码流,对编码后的码流中的ACELP层进行ACELP解码、变换域层进行变换域解码。权利要求1.一种嵌入式编码方法,其特征在于,包括如下步骤对语音信号进行ACELP编码,得到ACELP层的码流;对语音信号进行变换域编码,得到变换域层的码流。2、根据权利要求1所述的编码方法,其特征在于,所述ACELP层包括第一层到顺次向外的预定层,所述变换域层包括剩余层。3、根据权利要求1或2所述的编码方法,其特征在于,所述得到ACELP层的码流的方法包括根据语音信号得到所述各ACELP层的目标信号,对第一ACELP层的目标信号进行ACELP编码得到线性预测参数,对所述各ACELP层的目标信号进行ACELP编码得到各ACELP层的自适应码书激励和增益及代数码书激励和增益,所述ACELP编码中从第一ACELP层到最后ACELP层的激励信号逐层增加代数脉沖,且各ACELP层中的每一级的脉冲都在前一级脉沖的基础上,针对更新了的目标信号额外进行搜索。4、根据权利要求1或2所述的编码方法,其特征在于,所述得到变换域层的码流的方法包括将所述语音信号减去变换域层各层的上一层对应的合成语音,得到所述变换域层各层的目标矢量;将所述变换域层各层的目标矢量进行变换域编码,得到所述变换域层各层编码信息的索引值。5、根据权利要求4所述的编码方法,其特征在于,所述变换域编码包括变换码激励TCX编码或修正的离散余弦变换MDCT编码。6、根据权利要求5所述的编码方法,其特征在于,所述ACELP层和TCX层共五层,前三层为ACELP层,后两层为TCX层。7、一种嵌入式解码方法,其特征在于,包括如下步骤判断接收到的嵌入式码流中是否包括ACELP层的码流或变换域层的码流;如果包括ACELP层的码流,则对所述码流中的ACELP层进行ACELP解码,得到所述ACELP层的合成语音;如果包括变换域层的码流,则对所述变换域层进行变换域解码,得到所述变换域层的合成语音。8、根据权利要求7所述的解码方法,其特征在于,所述ACELP解码的方法包括码书、/敦厉力和^富;fii及f^l^5马书'激厉力和;t冒ii,4亏到所述ACELP层的合成激励信号;并根据所述码流中携带的线性预测系数对所述ACELP层的合成激励信号进行合成滤波,得到所述ACELP层的合成语音。9、根据权利要求7所述的解码方法,其特征在于,所述变换域解码的方法包括才艮据所述变换域层的编码信息的索引值得到所述变换域层的解码信号;并将所述变换域层的解码信号与上一层对应的合成语音叠加,得到所述变换域层的合成语音。10、一种嵌入式编码器,其特征在于,包括接收单元、ACELP编码单元和变换域编码单元,其中,所述接收单元用于接收语音信号;所述ACELP编码单元用于对接收到的语音信号进行ACELP编码,输出ACELP层的码流;所述变换域编码单元用于语音信号进行变换域编码,输出变换域层的码流。11、一种嵌入式解码器,其特征在于,包括判断单元、ACELP解码单元和变换域解码单元,其中,所述判断单元用于判断接收到的嵌入式码流中是否包括ACELP层的码流或变换域层的码流,并根据判断结果将所述嵌入式码流发送给所述ACELP解码单元和/或变换域解码单元;所述ACELP解码单元用于对来自所述判断单元的嵌入式码流中的ACELP层进行ACELP解码,得到所述ACELP层的合成语音;所述变换域解码单元用于对来自所述判断单元的嵌入式码流中的变换域层进行变换域解码,得到所述变换域层的合成语音。12、一种嵌入式编解码系统,其特征在于,包括嵌入式编码器和嵌入式解码器,其中,所述嵌入式编码器用于对语音信号进行ACELP编码及变换域编码,得到ACELP层及变换域层的码流;并将完成编码后的码流进行网络传输;所述嵌入式解码器接收到的所述编码后的码流,对所述编码后的码流中的ACELP层进行ACELP解码、变换域层进行变换域解码。全文摘要本发明实施例提供了一种嵌入式编码方法、解码方法、编码器、解码器和系统,该编码方法包括如下步骤对语音信号进行代数码激励线性预测ACELP编码,得到ACELP层的码流;对语音信号进行变换域编码,得到变换域层的码流。由于ACELP编码通过逐级细化激励信号,较低码率的编码信号对应于包含代数脉冲数较少的激励信号,随着码率的提升,逐层增加代数脉冲的方式不断细化激励信号,当代数脉冲增加到一定数量后,对激励信号的细化作用不明显或者变差,因此本发明实施例采用ACELP和变换域编码联合编码的方式得到嵌入式码流,用变换域编码弥补ACELP编码的不足,从而保证了合成语音的质量。文档编号G10L19/00GK101256771SQ20071008536公开日2008年9月3日申请日期2007年3月2日优先权日2007年3月2日发明者刘泽新,恒朱,锐李,李海婷,李立雄,睿范,贾懋珅,鲍长春申请人:北京工业大学;华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1