语音中非话音部分的低数据位速率编码的制作方法

文档序号:2821635阅读:145来源:国知局
专利名称:语音中非话音部分的低数据位速率编码的制作方法
技术领域
本发明总的涉及语音处理领域,本发明尤其涉及语音中非话音部分的低数据位速率编码的方法和装置。
背景技术
采用数字技术进行话音传输已经非常广泛,尤其是在长途和数字无线电话应用领域更是这样。接着,这又在确定可以在信道上发送的最少信息量并同时保持重新构筑的语音感觉质量方面,引起了人们的兴趣。如果发送信息是通过简单地进行取样和数字化来进行的,则为实现传统的模拟电话语音质量时需要每秒64千位(kbps)数量级的数据速率。然而,通过采用语音分析,随后采用适当的编码、传输,再在接收机处重新合成,可以大大减小数据速率。
我们把采用获取与人的语音发生模型有关的参数对语音进行压缩的技术的装置称为语音编码器。语音编码器将输入的语音信号分为一些时间段,或者是一些分析帧。语音编码器通常包括编码器或译码器,或编码译码器。编码器对输入的语音帧进行分析,并获取某些相关的参数,随后将这些参数量化成二进制表述,即,量化成一组数据位或二进制的数据包。这些数据包在通信信道上传送到接收机和译码器。译码器对数据包进行处理,并将它们解量化,产生参数,随后再用这些解量化的参数,对这些语音帧进行重新合成。
语音编码器的作用是通过去除语音中所有固有的自然冗余,将数字化的语音信号压缩成低数据位速率的信号。数字压缩是通过用一组参数来代表输入的语音帧并用量化来代表具有一组数据位的参数来实现的。如果输入的语音帧的数据位数是Ni,而由语音编码器所产生的数据包的数据位数是No,那么由语音编码器所实现的压缩倍数是Cr=Ni/No。我们所面临的挑战是在实现目标压缩倍数的同时,保持高话音质量的译码语音。语音编码器的性能取决于(1)上述语音模型或分析及合成处理过程的组合的良好程度,以及(2)在每帧的目标数据位速率No时,参数量化过程进行的量化程度。所以,语音模型的目标是用每帧较少的一组参数,来捕获语音信号的基本部分或目标话音质量。
在低数据位速率下有效地对语音进行编码的一种有效的技术是多模式编码。多模式编码对不同类型的输入语音帧实施不同的模式规则或编译码规则。每一种模式或编译码过程以最有效的方式来表达某种类型的语音段(即,发声的、不发声的,或者是背景噪声)。采用一种外部模式决定机构来检查输入的语音帧,并对采用什么模式用于该帧作出决定。通常,通过从输入的帧中取出几个参数,并对它们进行评估,而作出采用哪一种模式的决定,以开环方式决定所采用的模式。所以,模式决定是在事先不知道输出语音的准确情况即按照语音质量或其他的特性测量来说输出语音与输入的语音有多大的相似程度而作出的。语音编译码器的一种典型的开环模式决定见美国专利5,414,796,该专利已转让给本发明的受让人。
多模式编码可以是固定速率的,对每一帧采用相同数量的数据位No;也可以采用变速率的,这时,不同的模式采用不同的数据位速率。变速率编码仅采用将编译码器参数编码成适合获得目标质量水平的数据位数。因此,采用变数据位速率(VBR)技术,在明显较低的平均速率下,可以得到与固定速率、更高速率编码器相同的目标话音质量。典型的变速率语音编码器见美国专利5,414,796,该专利已转让给本发明的受让人。
目前,人们无论是在商业上还是在研究兴趣上都强烈地希望开发一种能在中等的到较低数据位速率(在2.4到4kbps或以下的范围内)下工作的高质量的语音编码器。其应用范围包括无线电话、卫星通信、互联网电话、各种多媒体和话音流应用、话音邮件以及其他的话音储存系统。其驱动力是在数据包丢失的情况下,需要具有高容量,以及对较强性能的要求。近来建立各种语音编码标准的努力是推动低速语音编码规则的研究和开发的另一直接的驱动力。低速语音编码器在每一许可的应用带宽下生成更多的信道或用户,并且与合适信道编码附加层耦合的低速语音编码器可以适合编码器技术规范的整个数据位预算,并在信道出现差错的情况下,仍具有较强的性能。
所以,多模式VBR语音编码是一种在低数据位速率下对语音进行编码的有效的机制。传统的多模式技术需要对各个语音段(如,非话音的、话音的以及过渡部分)设计有效的编码方案或模式以及用于背景噪声或无声的模式。语音编码器的全部性能取决于每一种模式工作的良好程度,而编码器的平均速率取决于用于非话音的、话音的、以及语音其他部分不同模式的数据位速率。为了实现低平均速率下的目标质量,必须设计一些有效的、高性能的模式,并且其中的某些模式必须在较低的数据位速率下工作。通常,话音的和非话音的语音段是在高数据速率下捕获的,而背景噪声和无声部分是用在明显较低的速率下工作的模式来代表的。所以,需要有一种低数据速率的编码技术,在采用每一帧最少数量的数据位的时候能够捕获语音的非话音部分。
发明概述本发明是一种采用每一帧最少数量的数据位准确捕获语音的非话音部分的低数据速率编码技术。因此,按照本发明对语音的非话音部分进行编码的方法最好包括这样一些步骤,即,从一个语音帧中获取高时间分辨率的能量系数;对高时间分辨率的能量系数进行量化处理;从经量化的能量系数中产生高时间分辨率的能量包;并且通过使随机生成的噪声矢量具有能量包络的量化值来重新构筑剩余的信号。
本发明还提供了一种对语音的非话音部分进行编码的语音编码器,它包括从一个帧的语音中获取高时间分辨率的能量系数的装置;使高时间分辨率的能量系数量化的装置;从量化的能量系数中产生高时间分辨率的能量包络的装置;以及通过使随机产生的噪声矢量具有量化的能量包络值来重新构筑残留信号的装置。
本发明还提供了对语音的非话音部分进行编码的语音编码器,它最好包括从一个帧的语音中获取高时间分辨率的能量系数的模块;使高时间分辨率的能量系数量化的模块;从量化的能量系数中产生高时间分辨率的能量包络的模块;以及通过使随机产生的噪声矢量具有量化的能量包络值来重新构筑残留信号的模块。
附图简述

图1是由语音编码器在每一端处终断的通信信道的方框图。
图2是一编码器的方框图。
图3是一译码器的方框图。
图4是描述对用于语音的非话音部分进行低数据速率编码的技术的步骤的流程图。
图5A-E给出的是信号幅度对于离散时间的关系。
图6是描绘锥形进位矢量量化编码过程的功能方框图。
较佳实施例的详细描述图1中,第一编码器10接收数字化的语音取样s(n),并对取样信号s(n)进行编码,用于在传输介质12或通信信道12上传输到第一译码器14。译码器14对经编码的语音取样信号进行译码,并合成输出语音信号s合成(n)。对于沿相反方向上进行的传输,第二编码器16对数字化的语音取样信号s(n)进行编码,而该取样信号是在通信信道18上传输的。第二译码器20接收经编码的语音取样信号,并对其进行译码,产生经合成的输出语音信号s合成(n)。
语音取样信号S(n)代表已经按照本领域方法(如,脉冲编码调制(PCM)、压扩μ律或A律)中的任何一种方法数字化和量化的语音信号。
正如本领域中人们所知道的那样,语音取样信号S(n)被组织成输入数据帧,其中,每一帧包含预定数量的数字化语音取样信号s(n)。在一种典型的实施例中,采用8kHz的取样速率,这时,每一20毫秒的帧包含160个取样信号。在下面描述的实施例中,从8kbps(全速率)到4kbps(二分之一速率)到2kbps(四分之一速率)到1kbps(八分之一),数据传输的速率在逐个帧的基础上是可变的。最好数据传输速率是可变的,这是因为对于包含相对较少语音信息的数据帧来说,可以有选择地采用较低的数据速率。正如本领域中的普通技术人员所了解的那样,也可以采用其他的取样速率、帧大小和数据传输速率。
第一编码器10和第二译码器20一起包含一个第一语音编码器或语音编译码器。同样,第二编码器16和第一译码器14一起包含一个第二语音编码器。本领域中的技术人员能够理解,语音编码器能够用数字信号处理器(DSP)、专用集成电路(ASIC)、离散电路的逻辑门电路、固件或传统的可编程软件模块和微处理器来构成。软件模块可以做在RAM存储器、按块擦除存储器、寄存器、或本领域中已知的其他形式的可写储存介质。也可以用任何一种传统的处理器、控制器或状态机来代替微处理器。特别设计用于语音编码的专用集成电路见美国专利5,727,123和申请日为1994年2月16日、标题为“声码器专用集成电路”的美国专利申请08/197,417,二者均已转让给本发明的受让人。
图2中,可以用在语音编码器中的编码器100包括模式决定模块102、基音估计模块104、LP分析模块106、LP分析滤波器108、LP量化模块110和残留量化模块112。输入语音帧s(n)被提供到模块决定模块102、基音估计模块104、LP分析模块106以及LP分析滤波器108。模式决定模块102根据每一输入语音帧s(n)的周期性,产生模式索引IM和模式M。按照周期性对语音帧进行分类的各种方法见申请日为1997年3月11日、标题是“METHOD AND APPARATUS FOR PERFORMING REDUCEDRATE VARIABLE RATE VOCODING”的美国专利申请08/815,354,该专利申请已转让给本发明的受让人。这些方法也已并入电信行业协会行业暂行标准TIA/EIA IS-127和TIA/EIA IS-733。
基音估计模块104根据每一输入的语音帧s(n)产生基音索引IP和滞后值P0。LP分析模块106对每一输入的语音帧s(n)执行线性预告分析,产生LP参数a。LP参数a被提供到LP量化模块110。LP量化模块110还接收模式M。LP量化模块110产生LP索引ILP以及经量化的参数。LP分析滤波器108除了输入语音帧s(n)以外还接收经量化的LP参数。LP分析滤波器108产生LP残留信号R[n],它代表输入语音帧s(n)和量化的线性预告参数之间的误差。LP残留R[n]、模式M和量化LP参数被提供到残留量化模块112。根据这些值,残留量化模块112产生残留索引IR和经量化的残留信号 图3中,语音编码器中可以使用的译码器200包括LP参数译码模块202、剩余译码模块204、模式译码模块206以及LP合成滤波器208。模式译码模块206接收模式索引IM并对其进行译码,由此产生模式M。LP参数译码模块202接收模式M,和LP索引ILP。LP参数译码模块202对接收值进行译码,以产生经量化的LP参数。剩余译码模块204接收剩余索引IR、基音索引IP和模式索引IM。剩余译码模块204对接收值进行译码,产生量化的残留信号 经量化的残留信号 和经量化的LP参数被提供到LP合成滤波器208,由它来合成经译码的输出语音信号 图2所示编码器100各种模块的操作和构成以及图3中所示译码器是本领域中已知的,其详细描述见L.B Rabiner和R.W.Schafer的Digital Processing ofSpeech Signal,396-453(1978)。典型的编码器和典型的译码器见美国专利5,414,796。
图4中的流程图描述了一种按照一种实施例用于语音的非话音段低数据速率编码技术。图4中所示的低速率非话音编码模式提供了一种在更低平均数据速率下的多模式语音编码器,通过准确捕获每一帧数量较少的数据位的非话音部分,它保留了整体较高的话音质量。
在步骤300,编码器对非话音的以及不是非话音的输入语音帧执行外部数量确定和识别。速率的确定是通过考虑到从语音帧S[n]获取的几个参数来完成的,这里,n=1,2,3,…,N,比如,帧的能量(E)、帧的周期(Rp)以及频谱倾斜(Ts)。将这些参数与一组预定的阈值比较。根据比较的结果,判断当前帧是否是非话音的。如下所述,如果当前帧是非话音的,则将其编码为非话音的帧。
按照下面的等式,可以确定帧的能量E=1N*Σm=1NS[m]*S[m]]]>按照下面的等式,可以决定帧的周期 k=1,2,…,N这里, 是x的自相关函数。按照下面的等式,可以确定频谱倾斜Ts=(Eh/El)这里,Eh和El是Sl[n]和Sh[n]的能量值,Sl和Sh是原始语音帧S[n]的低通和高通分量,它们可以由一组低通滤波器和高通滤波器来产生。
在步骤302,进行LP分析,产生非话音帧的线性预告剩余。线性预告(LP)是采用本领域中众所周知的技术来完成的,详见美国专利5,414,796,和L.B.Rabinet与R.W.Schafer的Digital Processing of Speech Signals 396-458(1978)。N取样的非话音LP剩余R[n]是从输入语音帧S[n]中产生的,这里,n=1,2,…,N。正如在上面对比文献中所描述的那样,采用已知的LSP量化技术,在线性频谱对(LSP)域中使LP参数量化。原始语音信号幅度与离散时间索引之间的关系见图5A中所示。经量化的非话音语音信号幅度与离散时间索引之间的关系见图5B所示。原始非话音剩余信号幅度与离散时间索引之间的关系见图5C所示。能量包络幅度与离散时间索引之间的关系见图5D所示。经量化的非话音残留信号幅度与离散时间索引之间的关系见图5E所示。
在步骤304,获取非话音残留信号的精细时间分辨率能量参数。执行下面的步骤,从非话音剩余R[n]中获取几个(M)本地能量参数Ei,这里,i=1,2,…,M。将N个取样剩余R[n]分成(M-2)子块Xi,这里,i=1,2,3,…,M-1,每一块Xi的长度是L=N/(M-2)。从前一帧的过去(past)量化剩余中得到L个取样的过去剩余块X1。(L个取样的过去剩余块X1含有最后语音帧N个取样剩余的最后L个取样)。从下一个帧的LP剩余中得到L个取样的将来剩余块XM。(L个取样的将来剩余块XM含有下一个语音帧N取样LP剩余开头的L个取样。)按照下面的等式,从M个块Xi中的每一个中产生M个本地能量参数Ei,这里,i=1,2,…,M。
E=1L*Σm=1NXi[m]*Xi[m]]]>在步骤306,按照锥形进位矢量量化(PVQ)方法,用Nr个数据位,对M个能量参数进行编码。所以,用Nr个数据位对M-1个本地能量值Ei进行编码,形成量化的能量值Wi,这里,i=2,3,…,M。采用数据位N1,N2,…,NK的K个步骤的PVQ编码方案,从而N1+N2+…+NK=Nr,即,用于量化非话音剩余R[n]的数据位总数。对于k个级(stage)中的每一个级,执行下面的步骤(这里,k=1,2,…,K)。对于第一级(即,k=1),将频带数设置在Bk=Bl=1,并且频带长度设置在Lk=1。对于每一频带Bk,按照下面的等式,设置平均值meanj,这里,j=1,2,…,Bkmeanj=1Lj*Σm=1LjEm]]>用Nk=Nl将Bk平均值meanj量化,而形成平均值qmeanj的量化组,这里,j=1,2,…,Bk。将属于每一频带Bk的能量除以相关量化的平均值qmeanj,而产生新的一组能量值{Ek,i}={El,i},这里,i=1,2,…,M。在第一级的情况下(即,对于k=1),对于每一i,(i=1,2,…,M)El,I=Ei/qmeansl分成子频带、获取每一频带的平均值、用每一级的数据位使平均值量化,并且随后将子频带的分量除以子带的量化平均值,对于每一以后的级k,重复这一过程,这里k=2,3,…,K-1。
在第k级,采用全部Nk个数据位,用为每一频带而设计的各个VQ,使Bk子频带中每一个的分矢量量化。M=8以及级=4的PVQ编码过程是通过图6中所示的例子来描述的。
在步骤308,形成M个量化的能量矢量。通过用最终剩余的分矢量和量化平均值最终使上述PVQ编码过程反向,从编码簿(codebook)和代表PVQ信息的Nr个数据位中形成M个量化的能量矢量。图7中通过举例,描述了M=3以及级k=3时的PVQ译码过程。正如本领域中的普通技术人员能够理解的那样,非话音的(UV)增益可以用任何一种传统的编码技术来量化。编码技术方案并非仅限于图4-7中所描述的实施例的PVQ方案。
在步骤310,形成高分辨率的能量包络。按照下面计算,从经译码的能量值Wi,形成N个取样(即,语音帧的长度),高时间分辨率的能量包络ENV[n],这里,n=1,2,3,…,N,i=1,2,3,…,M。M个能量值代表语音当前剩余M-2个子帧的能量,每一子帧的长度L=N/M。W1和WM的值分别代表最后的剩余帧的过去的L个取样,和下一个剩余帧未来L个取样的能量。
如果Wm-1、Wm和Wm+1分别代表第m-1个、第m个和第m+1个子带的能量,那么对于n=m*L-L/2至n=m*L+L/2,代表第m个子帧的能量包络ENV[n]的采样计算如下对于n=m*L-L/2,一直到n=m*L,ENV[n]=Wm-1+(1/L)*(n-m*L+L)*(Wm-Wm-1)]]>并且对于n=m*L,一直到n=m*L+L/2,ENV[n]=Wm+(1/L)*(n-m*L)*(Wm+1-Wm)]]>假设m=2,3,4,…,M,对于M-1个频带中的每一个频带,重复对能量包络ENV[n]进行计算的步骤,以计算整个能量包络ENV[n],这里,对于当前剩余帧,n=1,2,…,N。
在步骤312,通过使能量包络ENV[n]对随机噪声进行着色,形成量化后的非话音残留信号。按照下面的等式,形成量化后的非话音剩余qR[n]qR[n]=噪声[n]*ENV[n],n=1,2,…,N这里,噪声[n]是具有单位方差的随机白噪声信号,它是由与编码器和译码器同步的随机数发生器模拟产生的。
在步骤314,形成量化的非话音语音帧。正如在本领域中以及在上述美国专利5,414,796中以及L.B.Rabiner与R.W.Schafer在Digital Processing of SpeechSignal,396-458(1978)中所描述的那样,采用传统的LP合成技术,通过将量化后的非话音语音进行逆向LP滤波,产生量化的非话音剩余qS[n]。
在一种实施例中,通过测量感测的(perceptual))误差测量如感测的信噪比(PSNR),可以执行质量控制步骤,而PSNR定义如下
PSNR=10*log10Σn=1N(x[n]-e[n])2Σn=1Ne[n]*e[n]]]>这里,x[n]=h[n]*R[n],而e(n)=h[n]*qR[n],“*”表示卷积或滤波操作,h(n)是感测的加权LP滤波器,而R[n]和qR[n]分别是原始的和量化的非话音剩余。将PSNR与一预定的阈值比较。如果PSNR小于该阈值,则非话音编码方案就不会进行恰当地得到执行,并且可以执行更高速率的编码方式,代替更精确地捕获当前帧。另一方面,如果PSNR超过预定的阈值,则非话音的编码方案就得到了很好的执行,并保留该模式判断。
上文中已经描述了本发明的较佳实施例。然而,对本领域中普通技术人员而言,在不偏离本发明的精神和范围的情况下,还可以对这些实施例作各种各样的修正。所以,本发明并非仅限于这些实施例,而应当以权利要求书来限定本发明。
权利要求
1.一种对非话音语音进行低数据位速率语音编码的方法,其特征在于,它包含将输入的语音帧标识为非话音的语音帧;对所述非话音语音帧进行线性预告分析,以产生非话音的线性预告残余;从所述非话音的线性预告残余中,获取高时间分辨率的能量参数;对所述高时间分辨率的能量参数进行编码;对所述高时间分辨率的能量参数进行量化处理,形成经量化的能量矢量;形成高时间分辨率的能量包络;通过用所述高时间分辨率的能量包络使随机噪声着色(coloring),生成量化的非话音残余;以及生成量化的非话音语音帧。
2.如权利要求1所述的方法,其特征在于,所述获取高时间分辨率能量参数包含获取M个本地能量参数Ei,其中,i=1,2,…,M,它是通过执行下述步骤而从非话音残余R[n]中获得的将N-取样残余R[n]划分成(M-2)个子块Xi,其中,i=2,3,…,M-1,每一子块Xi具有长度L=N/(M-2);从前一帧过去量化残余中获取L-取样过去残余块X1;从后一帧的线性预告残余中获取L-取样未来残余块XM;按照下面的等式,从M个子块中的每一子块Xi,i=1,2,…,M,中生成M个本地能量参数Ei,这里,i=1,2,…,ME=1L*Σm=1LXi[m]*Xi[m].]]>
3.如权利要求1所述的方法,其特征在于,形成高时间分辨率能量包络包含采用从下一帧得到的先行参数值以及从前一帧得到的前一参数值,使用于帧边界处的当前帧的能量包络光滑。
4.如权利要求1所述的方法,其特征在于,形成高分辨率能量包络包含按照下面的计算,从经解码的能量值Wi,i=1,2,3,…M,来形成N-取样高时间分辨率的能量包络ENV[n]、语音帧的长度,这里,n=1,2,3,…N,M个能量值代表语音当前残余的M-2个子帧的能量,每一子帧具有的长度是L=N/M;W1和WM的值分别代表最后的残余帧过去L个取样的能量以及下一残余帧未来L个取样的能量;Wm-1、Wm和Wm+1分别代表第(m-1)、第m和第(m+1)个子带的能量;对于n=m*L-L/2至n=m*L+L/2,代表第m个子帧的能量包络ENV[n]的取样值计算为对于n=m*L-L/2直至n=m*L,ENV[n]=Wm-1+(1/L)*(n-m*L+L)*(Wm-Wm-1);]]>以及对于n=m*L直至n=m*L+L/2,ENV[n]=Wm+(1/L)*(n-m*L)*(Wm+1-Wm),]]>其中,所述计算能量包络ENV[n]的步骤是假设m=2,3,4,…,M,对于M-1个带中的每一个,重复进行的,以计算整个能量包络ENV[n],这里,对于当前残余帧,n=1,2,…,N。
5.如权利要求1所述的方法,其特征在于,对所述高时间分辨率能量参数进行编码包含按照锥形进位矢量量化方法对所述能量参数进行编码。
6.一种对非话音语音进行低数据位速率语音编码的语音编码器,其特征在于,它包含将输入的语音帧标识为非话音的语音帧的装置;对所述非话音语音帧进行线性预告分析以产生非话音的线性预告残余的装置;从所述非话音的线性预告残余中获取高时间分辨率的能量参数的装置;对所述高时间分辨率的能量参数进行编码的装置;对所述高时间分辨率的能量参数进行量化处理以形成经量化的能量矢量的装置;形成高时间分辨率的能量包络的装置;通过用所述高时间分辨率的能量包络使随机噪声着色以生成量化的非话音残余的装置;以及生成量化的非话音语音帧的装置。
全文摘要
一种用于语音的非话音部分的低数据速率编码方案,它包括这样一些步骤从语音帧获取高时间分辨率能量系数、使能量系数量化、从量化的能量系数中产生高时间分辨率的能量包络,以及用能量包络的量化值形成随机产生的噪声矢量从而重新构筑残留信号。能量包络可以采用线性插入技术来产生。可以获得后处理测量,并将其与预定的阈值比较,以确定编码规则是否执行恰当。
文档编号G10L19/14GK1815558SQ200410045610
公开日2006年8月9日 申请日期1999年11月12日 优先权日1998年11月13日
发明者A·达斯, S·曼朱那什 申请人:高通股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1