语音分析方法和语音编码方法及其装置的制作方法

文档序号:7573917阅读:173来源:国知局
专利名称:语音分析方法和语音编码方法及其装置的制作方法
技术领域
本发明涉及一种语音分析方法,按照这种方法输入语音信号被划分成作为编码单位的各数据块或者各帧,检测与以编码单位为基础的语音信号的基频周期相对应的音调,并且按照该方法根据所检测的一个编码单位到另一个编码单位的音调分析语音信号。本发明还涉及一种采用这种语音分析方法的语音编码方法和装置。
迄今为止,已有各种编码方法,通过利用在时域、频域的统计特性和人的音质特性对声音信号(包括语音信号和一般声音信号)进行编码以实现信号压缩。编码方法可以粗略地分为时域编码,频域编码和分析/合成编码。
例如,高效语音信号编码包含正弦波分析编码,例如谐波编码或多频带激励(MBE)编码,分频带编码(SBC),线性预测编码(LPC),离散余弦变换(DCT),改进的DCT(MDCT)和快速傅里叶变换(FFT)。
在用于LPC余值、MBE、STC或者谐波编码的常规的谐波编码方法中,对于粗略音调的音调搜索是在开环中进行的,其后进行对细微音调的高精度的音调搜索。在对细微音调进行搜索的过程中,高精度的音调搜索(对于部分音调的搜索利用小于一个整数的采样值)和对频域内波形的幅值估计是同时进行的。进行这种高精度的音调搜索是为了使频谱的合成波形在其整个范围内,即合成频谱和初始频谱,例如LPC余值频谱的畸变降至最少。
然而,在人的语音的频谱中,不一定出现频率对应于整数倍基波的频谱部分。相反,这些频谱部分会沿频率轴线轻微地移动。在这种情况下,即使利用一单个基波或在语音信号的整个频谱范围内的音调进行高精度音调的搜索,也可能无法正确在实现频谱幅值的正确估计。
因此,本发明的目的是提供一种语音分析方法,用于正确地估计语音频谱中与整数倍基波存在偏差的谐波的幅值,以及提供一种利用上述语音分析方法产生一高清晰度放音输出的方法和装置。
在本发明所述的语音分析方法中,按照预设的编码单位,将输入的语音信号在时间轴上划分,检测等同于如此划分为编码单位的语音信号的基本周期的音调,并且,根据所检测的从一个编码单位到另一个编码单位的音调分析语音信号。该方法包含以下步骤将与输入的语音信号相对应的信号的频谱分解成在频率轴上的多个频带,利用由从一个频带到另一个频带的频谱形状形成的音调同时进行音调搜索和谐波幅值的估计。
根据本发明中的语音分析方法,可以正确地估计与整数倍基波有偏差的谐波的幅值。
在本发明的编码方法和装置中,输入的语音信号在时间轴上划分成预设的多个编码单位,检测与在每个编码单位中的语音信号的基本周期相对应的音调,并且根据所检测的从一个编码单位到另一个编码单位的音调对语音信号进行编码。将对应于输入语音信号的信号频谱划分成频率轴上的多个频带,并且,利用由从一个频带到另一个频带的频谱形状形成的音调同时进行音调搜索和谐波幅值的估计。
根据本发明中的语音分析方法,可以正确估计与整数倍基波有偏差的谐波的幅值,因此产生一高清晰度的无嗡嗡声感觉或畸变的放音输出。
具体地说,输入语音信号的频谱在频率轴上划分成多个频带,在每一个频带中音调搜索和谐波幅值估计是同时进行的。频谱形状是由谐波构成的。根据先前利用开环粗略音调搜索检测的粗略音调对频谱整体进行第一音调搜索,同时进行在精度上高于第一音调搜索的第二音调搜索,对频谱的每个高频范围侧和低频范围侧进行独立的搜索。可以准确地估计与整数倍基波有偏差的语音频谱的谐波幅值,从而产生一高清晰度放音输出。


图1是表示适于实现体现本发明的语音编码方法的语音编码装置的基本结构的方块图。
图2是表示适于实现体现本发明的语音编码方法的语音编码装置的基本结构的方块图。
图3是表示适于体现本发明的语音编码装置的更详细结构的方块图。
图4是表示适于体现本发明的语音编码装置的更详细结构的方块图。
图5是表示估计谐波幅值的基本操作程序。
图6是表示逐帧处理的频谱的重叠情况。
图7a和7b是表示基准的发生。
图8a、8b和8c表示整体搜索和分部搜索。
图9是表示典型的整体搜索操作程序的流程图。
图10是表示在高频范围内典型的整体搜索操作程序的流程图。
图11是表示在一低频范围内整体搜索操作程序的流程图。
图12是表示用于最后设定音调的典型操作程序的流程图。
图13是表示对每一频域求出谐波幅值最佳值的典型操程序的流程图。
图14是图13的接续,用于表示对每一频域求出谐波幅值最佳值的典型的操作程序的流程图。
图15是表示输出数据的比特速率。
图16是表示采用体现本发明的语音编码装置的便携式终端中的发射端结构的方块图。
图17是表示采用体现本发明的语音编码装置的便携式终端中的接收端结构的方块图。
下面参照附图,对本发明优选实施例进行更详细的说明。
图1是表示语音编码装置(语音编码器)的基本结构,以实现该体现本发明的语音分析方法和语音编码方法。
图1所示的作为语音信号编码器基础的基本原理是编码器具有第一编码单元110,用于求出输入语音信号的短期预测余值,例如线性预测编码(LPC)余值,以便进行正弦分析编码例如谐波编码;和第二编码单元120,用于利用该具有相位复现性的信号波形编码方式对输入语音信号编码,第一编码单元110和第二编码单元120分别用于对输入信号的发浊音(V)部分编码和对输入信号的发清音(UV)部分编码。
第一编码单元110采用一种编码结构,其利用正弦分析编码例如谐波编码或多频带激励(MBE)编码方式对例如LPC余值进行编码。第二编码单元120采用一种结构,其利用闭环搜索和使用例如合成方法分析的闭环搜索的最佳矢量值,利用矢量量化进行按代码激励的线性预测(CELP)。
在图1所示的实施例中,提供到输入端101的语音信号传送到LPC反滤波器111和第一编码单元110中的LPC分析和量化单元113。利用LPC分析量化单元113得到的LPC系数或所谓的α-参数送到第一编码单元110中的LPC反滤波器111。从LPC反滤波器111提取输入语音信号的线性预测余值(LPC余值)。从LPC分析量化单元113,提取一线性频谱对(LSPs)的量化输出并传送到输出端102,下文予以解释。从LPC反滤波器111得到的LPC余值送到正弦分析编码单元114。正弦分析编码单元114进行音调检测并计算频谱包络线的幅值值,以及利用一V/UV鉴别单元115进行V/UV鉴别。从正弦分析编码单元114得到的频谱包络线的幅值传送到矢量量化单元116。作为频谱包络线的按矢量-量化的输出、来自矢量量化单元116的代码簿索引,通过一开关117送到输出端103,同时,正弦分析编码单元114的输出通过开关118送到输出端104。V/UV鉴别单元115的一V/UV鉴别输出送到输出端105并作为一控制信号送到开关117、118。如果输入的语音信号是浊音(V),则该索引和音调分别在输出端103、104选择和取出。
在图1所示本实施例中的第二编码单元120,具有一代码激励线性预测编码(CELP编码)结构;和利用一闭环搜索采用一合成法分析对时域波形进行矢量-量化,其中噪声代码簿121的输出是利用一加权合成滤波器进行合成的,形成的加权的语音送到减法器123,加权语音和提供给输入端101并从该处通过按声觉加权的滤波器125的语音信号之间的误差被取出,因此将得出的误差送到间距计算电路124,以便进行间距计算,并利用噪声代码簿121搜索一使误差最小的矢量。如前面说明的,CELP编码用于对发清音的语音部分编码。作为来自噪声代码簿121的UV数据的代码簿索引经过开关127在输出端107取出,该开关当V/UV鉴别的结果是清音(UV)时按通。
图2是表示语音信号解码器基本结构的方块图,作为图1中语音信号编码器的配对装置,用于实现完成本发明的语音解码方法。
参照图2,作为来自图1所示输出端102的线性频谱对(LSP)的量化输出的一代码簿索引提供到输入端202。图1中输出端103、104和105的输出,即间距、V/UV鉴别输出和索引数据,作为包络线量化输出数据分别提供到输入端203到205。由图1的输出端107输出的发清音数据的索引数据提供到输入端207。
作为输入端203的包络线量化输出的索引送到用于反矢量量化的一反矢量量化单元212,以求出送到一浊音语音合成器211的一LPC余值的频谱包络线。浊音语音合成器211利用正弦合成法合成浊音语音的线性预测编码(LPC)余值。将来自输入端204、205的音调和V/UV鉴别输出也送入合成器214。来自浊音语音合成单元211的浊音语音部分的LPC余值送给一LPC合成滤波器214。来自输入端207的UV数据的索引数据送到清音语音合成单元220,在其中为了取得清音语音部分的LPC余值,必须参考噪声代码簿。将这些LPC余值也传送到LPC合成滤波器214。在LPC合成滤波器214中,浊音部分的LPC余值和清音部分的LPC余值利用LPC合成独立进行处理。另一方面,合在一起的浊音部分LPC余值和清音部分的余值可以利用LPC合成进行处理。来自输入端202的LSP索引数据送到LPC参数再现单元213,在其中将LPC的α-参数取出并送到LPC合成滤波器214。利用LPC合成滤波器214合成的语音信号在输出端201取出。
参照图3,说明图1中表示的语音信号编码器的更详细的结构。在图3中,与图1所示相同的部件或元件利用相同的参考数字表示。
在图3所示的语音信号编码器中,提供到输入端101的语音信号利用高通滤波器HPF109滤波,用以去掉无用范围的信号,并由此传送到LPC分析/量化单元113的LPC分析电路132和反LPC滤波器111。
LPC分析/量化单元113的LPC分析电路132使用一汉明窗口(具有按照采样频率Fs=8千赫得到的输入信号波形的256个量级的采样的输入信号波形长度)作为一个数据块,利用自相关法求出线性预测系数,即所谓的α-参数。作为数据输出单位的成帧间隔设定为大约160采样值。如果采样频率为8千赫,例如一帧间隔为20毫秒或160采样。
来自LPC分析电路132的α参数送到α-LSP变换电路133,用以变换为线性频谱对(LSP)参数。这样将利用直接型滤波器系数求出的α参数变换为例如10个即5对LSP参数。实现这一变换采用例如Newton-Rhapson方法。将α参数变换成LSP参数的原因是LSP参数在内插特性上优于α参数。
来自α-LSP变换电路133的LSP参数利用LSP量化器134进行矩阵或矢量量化。可以在进行矢量量化之前,取帧与帧的差,或汇集多个帧进行矩阵量化。在这种情况下,每20毫秒计算的两个帧的LSP参数(每帧为20毫秒长)一起使用并利用矩阵量化和矢量量化进行处现,为了在LSP范围内量化LSP参数,α或K参数可以直接进行量化。量化器134的量化输出,即LSP量化的索引数据,可以在102端取出,同时,量化的LSP矢量直接送到LSP内插电路136。
LSP内插电路136内插按每20毫秒或40毫秒量化的LSP矢量,以提供八倍速率(超密采样)。即,LSP矢量每2.5毫秒进行更新。原因在于,如果利用谐波编码解码方法通过分析/合法处理余留波形,则合成的波形的包络线呈现出非常光滑的波形,从而,如果每20毫秒LPC系数突然变化,则可能会产生一种不相干的噪声。即,如果LPC系数每2.5毫秒逐渐变化一次,就可以防止这种不相干的噪声产生。
为了利用每2.5毫秒产生的内插LSP矢量对输入语音进行反滤波,将量化LSP参数利用LSP-至-α变换电路137变换为α-参数,其为例如10级直接型滤波器的滤波器系数。当利用每2.5毫秒更新的α参数进行反滤波以产生一平滑的输出时,LSP-向-α变换电路137的输出送到LPC反滤波器电路111。反LPC滤波器111的输出送到正弦分析编码单元114(例如一谐波编码电路)中的正交变换电路145,例如DCT电路。
从LPC分析/量化单元113中的LPC分析电路132得到的α-参数送到按声觉加权滤波器计算电路139,在其中求出按声觉加权的数据。将这些加权的数据送到按声觉加权矢量量化器116和送到第二编码单元120中的按声觉加权滤波器125和按声觉加权合成滤波器122。
谐波编码电路中的正弦分析编码单元114利用谐波编码方法分析反LPC滤波器111的输出。即,进行音调检测,对各个谐波的幅值Am的计算和对浊音(V)部分/清音(UV)部分进行鉴别,以及通过维的变换,可使随音调变化的为数很多的各个幅值Am或各个谐波的包络线成为恒定不变的。
在图3中所示的正弦分析编码单元114的示例中,使用了常用的谐波编码。尤其是在多频带激励(MBE)编码中,假设在模型化过程中在每个频率区域或频带内同一时间点(在同一数据块或帧内)出现浊音部分或清音部分。在其它的谐波编码技术中,唯一判断的是在一数据块或在一帧内的语音是浊音还是清音。在下面的说明中,如果整个频带是UV,则判断指定的帧是UV,在这种情况下涉及到MBE编码。对MBE的分析合成方法的技术的具体实施例在以本申请的受让人名义申请的专利申请号为No.491442的日本专利申请中可以找到。
图3所示正弦分析编码单元114的开环音调搜索单元141和过零计数器142分别由从输入端101输入语音信号和通过高通滤波器(HPF)109输入信号。向正弦分析编码单元114的正交变换电路145提供有来自反LPC滤波器111的LPC余值或线性预测余值。
开环音调搜索单元141取得输入信号的LPC余值,以便利用开环搜索实现对较粗略的音调的搜索。提取的粗略音调数据送到正如下面说明的细微音调搜索单元,在其中利用闭环搜索进行细微音调的搜索。使用的音调数据称其为音调滞后,即表示为时间轴上采样的数目的音调周期。浊音/清音(V/UV)判别单元115的判别输出还可以用作为开环音调搜索的一个参数。值得注意的是只能将从判断为浊音(V)的语声信号部分提取的音调信息用于上述开环音调搜索。
正交变换电路145进行正交变换,例如256点离散傅里叶变换(DFT),将在时间轴上的LPC余值变换为在频率轴上的频谱幅值数据。正交交换电路145的输出送到细微音调搜索单元146和其构成用于估计频谱幅值或包络线的频谱估计单元148。
将利用从开环音调搜索单元141提取的相对粗略的音调数据,以及通过DFT利用正交变换单元145获得的频域数据,输入细微音调搜索单元146。在粗略音调Po的基础上,细微音调搜索单元146实现由整体搜索和分部搜索构成的两步高精度音调搜索。
整体搜索是一种音调提取方法,按照该方法,一组采样值以粗略音调为中心振荡,从而选择音调。分部搜索是一种音调检测的方法,按照这种方法,一部分数目的采样值,即利用部分数目表示的一定数目的采样值以该粗略音调为中心变动,以便选择音调。
对于上述整体搜索和分部搜索的技术,所谓分析-合成方法是用于选择音调以使合成的功率谱与原始语声功率谱最接近。
在频谱估计单元148中,对每个谐波的幅值和作为谐波的总和的频谱包络线根据作为LPC余值正交变换输出的频谱幅值和音调进行估计,并送到细微音调搜索单元146,V/UV鉴别单元115和按声觉加权矢量量化单元116。
V/UV鉴别单元115根据下面五个量值鉴别一帧的V/UV,五个量值为正交变换电路145的输出,来自细微音调搜索单元146的一最佳音调,来自频谱估计单元148的频谱幅值数据,来自开环音调搜索单元141的归一的自相关r(P)的最大值和来自过零计数器142的过零记数值。另外,对于MBE的以频带为基准的V/UV鉴别的边界位置也可以作为V/UV鉴别的一个条件。V/UV分辨单元115的鉴别输出可以在输出端105得出,频谱估计单元148的一输出单位或矢量量化单元116的一输入单位设有一些数据变换单位(进行一种采样速率变换的单元)。考虑到在频率轴线上分离频带的数目和按音调形成的数据的数目不同,数据变换单元的数目用于将包络线的幅值数据|Am|设定为一常数。即,如果有效频带上升至3400KHz,根据音调可以将有效频带分为8到63个频带。按逐个频带得到的幅值数据|Am|的数目Mmx+1在从8到63范围内变化。因此,数据数目变换单元将可变化数目Mmx+1的幅值数据变换为预定数目M的数据,例如为44个数据。
来自数据数目变换单元的预定数目M例如为44的幅值数据或包络线数据(提供于频谱估计单元148的输出单元或矢量量化单元116的输入单元),按照预定数目的数据例如为44个数据,作为一个单元,利用矢量量化单元116,通过进行加权矢量量化一起进行处理。这种加权值由按声觉加权滤波器计算电路139的输出提供。包络线系数可以从矢量量化器116利用一开关117在输出端103取出。先于进行加权矢量量化,对于由一预定数目数据构成的一矢量利用一合理的泄漏系数取出在帧间的差值是适当的。
下面说明第二编码单元120。第二编码单元120具有一所谓CELP编码结构,并且特别适用于给输入语音信号的清音部分编码。在用于输入语音信号的清音部分的CELP编码结构中,有与清音的LPC余值相对应的噪声输出(作为噪声代码簿或者所谓随机代码簿121的代表性的输出值)通过一增益控制电路126送到按声觉加权合成滤波器122。加权合成滤波器122利用LPC合成对输入噪声进行LPC合成,并且将产生的加权清音信号送到减法器123。将由从输入端101通过一高通滤波器(HPF)109并且通过一按声觉加权滤波器125按声觉加权的一信号输入减法器123。减法器求出这一信号和来自合成滤波器122的信号之间的差或误差。同时,从按声觉加权滤波器125的输出值先减去按声觉加权合成滤波器的一零输入响应。该误差输入音距计算单元124以计算间距。在噪声代码簿121中搜索使误差最小的一代表性的矢量值。以上是利用分析合成方法采用闭环搜索的时域波形的矢量量化的概括。
作为关于来自采用CELP编码结构的第二编码器120的清音(UV)部分的数据,从噪声代码簿121取出代码簿中的形状索引和从增益电路126取出代码簿中的增益索引。形状索引(即从噪声代码簿121得到的UV数据)通过一开关127s送到输出端107s,同时,增益索引,即增益电路126的UV数据通过一开关127g送到输出端107g。
这些开关127s、127g和117、118的开与关取决于V/UV鉴别单元115的V/UV判断结果。确切地说,如果现时传输的帧的语音信号中的V/UV鉴别结果表明是浊音的(V),则开关117、118接通,而如果现时传输的帧的语音信号是清音的(UV),则开关127s、127g接通。
图4是图2中表示的一语音信号解码器的更详细的结构。在图4中,用相同的数字表示图2中所示的元件。
在图4中,对应于图1和3的输出端102的LSPs矢量量化输出,即代码簿索引提供给输入端202。
LSP系数送到用于LPC参数再现单元213的LSP变换矢量量化器231,以便将反矢量变换量化为线性频谱对(LSP)数据,然后提供给用于LSP内插的LSP内插电路232、233。利用LSP-向-α变换电路234、235将形成的内插数据变换为α参数,再送到LSP合成滤波器214。LSP内插电路232和LSP向-α变换电路234是设计为用于浊音(V),而LSP内插电路233和LSP-向α变换电路235设计为用于清音(UV)。LPC合成滤波器214由浊音LPC合成滤波器236和清音LPC合成滤波器237构成。即,对于浊音和清音,可以独立地进行LPC系数内插,用于防止任何可能从浊音到清音或者反之的过渡部分中,由于内插具有完全不同的特点的LSPs产生的不利影响。
将对应于加权矢量量化频谱包络线Am的代码簿索引数据提供给对应于图1和3编码器输出端103的图4所示输入端203。来自图1和3所示的终端104的音调数据提供给输入端204,来自图1和3的终端105的V/UV鉴别数据提供给输入端205。
来自输入端203的频谱包络线Am的矢量-量化系数数据送到用于反矢量量化的反矢量量化器212,在其中进行数据数目变换与相反的变换。形成的频谱包络线数据送到正弦合成电路215。
在编码过程中,如果先于频谱矢量量化求出帧间的差,则在为产生频谱包络线数据而进行的反矢量量化后对帧间的差进行解码。
将来自输入端204的音调和来自输入端205的V/UV鉴别数据送入正弦合成电路215。从正弦合成电路215得到对应于图1和3所示的LPC反滤波器111的输出值的LPC余值数据并送到加法器218。这种正弦合成具体技术公开于例如由本受让人提出的申请号为4-91442和6-198451号日本专利申请中。
反矢量量化器212的包络线数据和来自输入端204、205的音调以及V/UV鉴别数据送到噪声合成电路216(其构成用于对浊音部分添加噪声)。噪声合成电路216的输出通过一加权叠加电路217送到加法器218。具体地说,将噪声添加到LPC余值信号中的浊音部分,要考虑如果利用正弦波合成产生作为一送到浊音声音部分的LPC合成滤波器输入值的激励信号,则会产生一低音调的嗡嗡感觉(例如男性语声),并且在浊音和清音之间音质突然地变化,因而使听觉感觉不自然。这种噪声涉及到与语音编码数据相关的参数例如音调、频谱包络线的幅值、帧内的最大幅值、或与浊音语声部分的LPC合成滤波器的输入相关的余值信号电平,其实为一种激励信号。
加法器218的和输出送到用于LPC合成滤波器214的浊音部分的合成滤波器236,在其中进行LPC合成以便形成随时间的波形数据,然后利用一用于浊音的后置滤波器238v滤波并送到加法器239。
将来自图3的输出端107s和107g作为UV数据的形状索引和增益索引,分别提供给图4中的输入端207s和207g,然后由该处提供给清音合成单元220。来自207s端的形状索引送到清音合成单元220的噪声代码簿221,而来自连接端207g的增益索引送到增益电路222。从噪声代码簿221读出的有代表性的输出值是一对应于清音LPC余值的噪声信号部分。这一部分变为在增益电路222的一预定增益幅值并送到开窗口电路223以便使与浊音结合部平滑。
开窗口电路223的输出送到用于LPC合成滤波器214的清音(UV)合成滤波器237。利用LPC合成处理送到合成滤波器237的数据,以变成为对于清音的按时间的波形数据。在将清音的按时间的波形数据送到加法器239之前利用用于清音的后置滤波器238进行滤波。
在加法器239中,来自用于浊音的后置滤波器238v的按时间的波形信号和来自清音的后置滤波器238u的清音的按时间波形数据彼此相加,并且将形成的数据和从输出端201取出。
如图5表示利用第一编码单元110的基本操作过程,在其中采用本发明的语音分析方法。
在LPC分析步骤S51以及开环音调搜索(粗略高调搜索)步骤S55送入输入语音信号。
在LPC分析步骤S51中,采用按照输入信号波形的256采样长度作为一个数据块的汉明窗口,用以利用自相关法求出线性预定系数或所谓的α-参数。
然后在LSP量化和LPC反滤波步骤S52,将在步骤S52得到的α-参数,利用LPC量化器进行按矩阵-或矢量-量化。另一方面,将α参数送到LPC反滤波器以得出输入语音信号的线性预测余值(LPC余值)。
此后,在对LPC余值信号开窗口的步骤S53中,将一适当的窗口,例如一汉明窗口运用于在步骤S52取出的LPC余值信号。如图6所示,该窗口跨于两相邻帧。
接着,在进行FFT的步骤S54,将在步骤S53经开窗口的LPC余值按例如250点进行快速傅里叶变换(FFT),用以变换为作为在频率轴上的参数的FFT频谱部分。在N点处经快速傅里叶变换的语音信号的频谱,由与0到π相关的X(0)到X(N/2-1)频谱数据构成。
在开环音调搜索(粗略音调搜索)步骤S55,将输入信号的LPC余值取出,以便利用开环进行粗略音调搜索,以输出一粗略音调。
在细微音调搜索和频谱幅值估计步骤S56中,利用在步骤S55得到的FFT频谱数据和一预设的基准上计算频谱幅值。
下面解释在图3所示的语音编码器中的正交变换电路145和频谱估计单元148的频谱幅值的估计。
首先,按照下式确定在如下的对X(j)、E(j)和A(m)说明时所用的参数X(j)(1≤j≤128)FFT频谱E(j)(1≤j≤128)基频A(m)谐波的幅值利用如下的方程(1)确定频谱幅值的估计误差∈m∈(m)=Σj=ambm(|X(j)|-|A(m)|E(j)|)2-----(1)]]>上述FFT频谱X(j)是利用正交变换的付里叶变换得到的频率轴上的参数。基频E(j)假设已预置。
对通过对方程(1)求导并令结果值为0得到的如下的方程δs(m)δ|A(m)|=-2Σj=ambm{|X(j)|-|A(m)||E(j)|}|E(j)|=0]]>对具求解,以便求出产生一极限值的A(m),即A(m)产生上述估计误差的最小值,该A(m)用以形成如下的方程(2)|A(m)|=Σj=ambm|X(j)||E(j)|Σj=ambm|E(j)|2]]>…(2)在上述方程中,a(m)和b(m)代表按单一音调ω0将频谱由它的低范围到它的高范围划分所得到的第m个频带的上限和下限FFT系数的系数。第m个谐波频带的中心频率对应于(a(m)+b(m))/2。
按照以上的基频E(j),256点的汉明窗口本身可以被利用。另外,通过将各个零值插入236点的汉明窗口以得到例如2048点的窗口,以及利用256或2048点对后者进行FFT得到的这种频谱可以利用。然而,在这样的情况下,在估计谐波的幅值|A(m)|时需要应用偏差,使得E(o)将按照图7b中所示的(a(m)+b(m)))/2位置叠加。在这种情况下,该方程更准确地变为如下的方程(3)|A(m)|=Σj=ambm|X(j)||E(j-am+bm2)|Σj=ambm|E(j-am+bm2)|2]]>(3)与之相似,第m个频带的估计误差∈(m)按如下的方程表示∈(m)=Σj=ambm(|X(j)|-|A(m)||E(j-am+nm2)|)2]]>…(4)
在这种情况下,基频E(j)限定在-128≤j≤127或-1024≤j≤1023的域内。
下面具体解释如在图3中所示的利用高精度音调搜索单元146进行的高精度音调搜索。
为了对谐波频谱的幅值高精度估计,需要得到高精度音调。即,如果音调是低精度的,不可能实现正确的幅值评估,使得不可能产生清晰播放的语音。
转来分析根据本发明的语音分析方法中的音调搜索操作的基本程序,利用开环音调搜索单元141进行先前的粗略开环音调搜索,得到粗略音调值P。根据这一粗略音调值P0,然后利用细微音调搜索单元146进行由整体搜索和分部搜索组成的两阶段细微音调搜索。
利用开环音调搜索单元141得到的粗略音调是根据正被分析的该帧的LPC余值自相关最大值得到的,并考虑与在向前和向后两侧各帧中的开环音调(粗略音调)相结合才得到的。
整体搜索是对频谱的所有频带进行的,而分部搜索是对由该频带划分出的每一频带进行的。
参照图9到12的流程图,解释细微音调搜索的典型操作程序。粗略音调值P0是一以采样数目为单位表示音调周期的所谓的音调滞后,而K代表循环重复的次数。
细微音调搜索按照整体搜索、高范围侧分部搜索和低范围侧分部搜索。在这些搜索步骤中,进行音调搜索,使得合成的频谱与原来的频谱之间的误差即估计误差∈(m)最小。因此,由方程(3)确定的谐波幅值|A(m)|和由方程(4)计算的估计误差∈(m)都包含在细微音调搜索步骤中,使得细微音调搜索和频谱各部分的幅值估计同时进行。
图8a表示利用整体搜索对频谱中所有的频带进行音调检测的方式。由该图可以看出,如果试图按照单一音调ω0来估计所有各频带中的频谱组成部分的幅值。会导致形成在原始频谱与合成的频谱之间的大的相位移,如果借助于这种方法本身,就表明不可能实现可靠的幅值估计。
图9表示上述整体检索的操作的具体程序。
在步骤S1,分别设定NUMP_INT、NUMP_FLT和STEP_SIZE的数值,它们分别举出对于整体搜索的采样数目、对于分部搜索的采样数目以及对于分部搜索的步骤S的规模。作为具体的实例,NUMP_INT=3,NUMP_FLT=5以及STEP_SIZE=0.25。
在步骤S2,由粗略音调P0和NUMP_INT确定音调Pch的起始值,而环路计数器由于K复零(K=0)而被复零。
在步骤S3,计算各谐波的幅值|An|、仅关于低频范围∈r1的各幅值误差之和以及仅关于高频范围∈rh的各幅值误差之和。下文解释在步骤这S3的具体操作。
在步骤S4,检查仅关于低频范围∈rh的各幅值误差之和与仅关于高频范围的各幅值误差之和的总和是否小于(极小值min∈r,或K=0’。如果这一条件没有满足,程序不经过步骤S5,而进行到步骤S6。如果上述条件满足,则程序进行到步骤S5,设定min∈r=∈r1+∈rh]]>min∈r1=∈r1]]>min∈rh=∈rh]]>(最终音调)Finalpitch=Pch’Am_tmp(m)=|A(m)|。
在步骤S6,令Pch=Pch+1。
在步骤S7,检查,K小于NUMP_INT’的条件是否满足。如果这一条件满足,程序返回到步骤S3。如果相反,程序转移到步骤S8。
图8b表示对于在频谱的高频侧通过分部搜索进行的音调检测方法。由这一图可以看出,可以使对于高频范围的估计误差要小于在如前所述的对于频谱中的所有频带进行整体搜索情况下的相应误差。
图10表示对于高频范围侧实施分部搜索的具体程序。
在步骤S8,设Pch=FinalPitch-(NUMP_FLT-1)/2×STEP_SIZEK=0Final Pitch是如上所述对所有频带进行整体搜索得到的音调。
在步骤S9,检查“K=(NUMP_FLT-1)/2”的条件是否满足。如果这一条件不满足,程序转移到步骤S10。如果这一条件满足,程序转移到步骤S11。
在步骤S10,在程序转移到步骤S12之前,由音调Pch和输入的语音信号的频谱X(j)计算谐波的幅值|Am|和仅关于高频范围侧的幅值误差的和∈rh。下面解释在这一步骤S10中的具体实施。
在程序转到步骤12之前,在步骤S11,设∈rh=min∈rh|A(m)|=Am-tmp(m)在步骤S12,检查“∈rh小于∈r或k=0”的条件是否满足。如果这个条件不满足,程序就不经过S13而转移到步骤S14。如果上述条件满足,程序就转移到S13。
在步骤S13,设min∈r=∈rhFinal Pitch_h=PchAm-h(m)=|A(m)|在步骤S14,设Pch=Pch+STEP_SIZEK=K+1在步骤S14,设Pch=Pch+STEP_SIZEK=K+1在步骤S15,检查“K小于NUMP_PLT”的条件是否满足。如果这个条件满足,程序回复到步骤S9。假如上述条件不满足,程序转移到步骤S16。
图8C表示对于频谱中的低频范围侧通过分部搜索进行音调检测的方式,由这一图可以看出,可以使在低频范围侧的估计误差小于对于整个频谱的整体搜索的情况下的相应估计误差。
图11表示在低频范围侧实施分部搜索的具体程序。
在步骤S16,设Pch=Final Pitch-(NUMP_FLF-1)/2×STEP_SIZEK=0Final Pitch是通过上述的对整个频谱进行整体搜索得到的音调。
在步骤S17,检查“K等于(NUMP_FLT-1)/2”的条件是否满足。如果这一条件下满足,程序转移到步骤S18。如果上述条件满足,程序转移到步骤S19。
在步骤S18,在程序转移到步骤S20之前,根据音调Pch和输入的语音信号的频谱X(j),计算谐波的幅值|Am|和仅关于低频范围侧的幅值误差。下面解释在这一步骤S18的具体实施。
在步骤S19,在程序转移到步骤S20之前,设∈r1=min∈r1|A(m)|=Am_tmp(m)在步骤S20,检查“∈r1小于min∈r或K=0”这一条件是否满足。如果这种条件不满足,程序不经过步骤S21而进行到步骤S22。假如上述条件满足,程序转移到步骤S21。
在步骤S21,设min∈r=∈r1Final Pitch_1=PchAm_1(m)=|A(m)|在步骤S22,设Pch=Pch+STEP_SIZEK=K+1在步骤S23,判别“K小于NUMP-FLT”这一条件是否满足。如果这一条件满足,程序回复到步骤S17。如果上述条件不满足,程序转移到步骤S24。
图12具体表示由通过如图9到11所示的对于频谱的所有频带进行整体搜索和对于高频范围侧和低频范围侧两侧进行分部搜索得到的音调数据产生最终输出的音调所实施的程序。
在步骤S24,利用由Am_1(m)中的低频范围侧的Am_1(m)和由Am_h(m)中的高频范围侧的Am_h(m)产生Final_Am(m)。
在步骤S25,检查“Final Pitch_h小于20”的这一条件是否满足。如果这一条件不满足,程序不经过步骤S26而进行到步骤S27如果上述条件满足,程序转移到步骤S26。
在步骤26,设Final Pitch_h=20。
在步骤S27,检查“Final Pitch_1小于20”的这一条件是否满足。如果这一条件不满足,程序不经步骤S28而终止。如果上述条件满足,程序转移到步骤S28。
在步骤S28,设
Final Pitch_1=20终止该过程。
上述步骤S25到28表示最小音调按20限制的一种情况。
上述实施的程序提供了Final Pitch_1、Final Pitch_h和Final_Am(m)。
图13和14表示为了根据通过上述音调检测程序得到的音调而求出在由频谱划分的各频带中的最佳谐波的幅值的图解式的途径。
在步骤S30,设ω0=N/PchTh=N/2·β∈r1=0∈rh=0以及Send=[Pch2]]]>,其中ω0是在用一个音调描绘从低频到高频范围的范围的情况下的音调。N是用于在语音信号中的FFT化的LPC余值(residuals)中的采样数目,Th是用于将低频范围侧与高频范围侧区分的一个系数。另一方面,β是按照-β=50/125的说明性的数值的预置变量。在上等式中,Send是在整个频谱内的谐波的数目,并通过对音调Pch/2的分数部分进行四舍五入而为一整数值。
在步骤S31,将m的数值置为零,该m是指明将频谱在频率轴上划分为多个频带中的第m个频带即对应于第m次谐波的频带的一个变量。
在步骤S32,检查“m的数值为0”这一条件是否满足。如果这一条件不满足,程序转移到步骤S33,如果上述条件满足,程序转移到步骤S34。
在步骤S33,设a(m)=b(m-1)+1在步骤S34,设a(m)设为0。
在步骤S35,设b(m)=hint((m+0.5)×ω0)其中nint取为一最接近的整数。
在步骤S36,检查“b(m)不小于N/2”这一条件是否满足。假如,这一条件不满足,程序不经过步骤S37而进行到步骤S38。如果上述条件满足,设b(m)=N/2-1在步骤S38,确定利用如下方程表示的谐波幅值|Am||A(m)|=Σj=ambmX(j)||E(nint{(j-mω0)})|Σj=ambm|E(nint{j-mω0})|2]]>在步骤S39,确定由如下方程表示的估计误差∈(m)∈(m)=Σj=ambm(|X(j)|-|A(m)|E(nint{j-mω0})|)2]]>在步骤S40,判别“b(m)不大于Th”这一条件是否满足。如果这一条件不满足,程序转移到步骤S41。如果上述条件满足,程序转移到步骤S42。
在步骤S41,设∈rh=∈rh+∈(m)在步骤S42,设∈r1=∈r1+∈(m)在步骤S43,设m=m+1在步骤S44,检查“m不大于Send”这一条件是否满足。如果这一条件满足,程序回复到步骤S32。如果上述条件不满足,过程终止。
如果使用按照速率R采样乘以与X(j)同样大的量得到的基频E(j),分别利用如下方程提供谐波幅值|Am|和估计误差∈(m)|A(m)|=Σj=ambm(|X(j)||E(nint+{j-mω0)·R})|Σj=ambm|E(nint+{(j-mω0)·R})|2]]>∈(m)=Σj=ambm(|X(j)|-|A(m)||E(nint+{(j-mω0)·R})|)2]]>
例如,可以采用通过在256点的汉明窗口中填充各零点和进行2048点的FFT,接着进行8倍的超密采样得到的这样的基频E(j)。
对于在本发明的语音分析方法中的音调检测,通过对仅关于低频范围侧∈r1的幅值误差与仅关于高频范围侧∈th的幅值误差之和独立地进行最优化使之最小,可以得到对于频谱中的每一频带的谐波幅值最佳数值。
即,如果在上述步骤S18中仅需要该仅关于低频范围侧∈r1的幅值误差的和,这就足以进行对于从m=0到m=Th的域内的上述过程。相反,如果在步骤S10中仅需要该仅关于低频范围侧∈rh的幅值误差的和,这就足以进行从m=Th到m=Send的域内的上述过程。然而,在这种情况下需要对于低频和高频范围侧之间的轻微重叠区进行接合部处理程序,以便防止由于在低频和高频范围侧之间的音调偏移在该接合部引起谐波的降低。
在用于进行上述语音分析方法的编码器中,无论需要哪一个,实际发送的音调可以是Final Pitch_1或Final Pitch hO理由在于,如果在解码器中对经编码的语音信号进行合成和解码时,谐波的位置或多或少地产生偏移,在整频谱内能正确地估计谐波的幅值,因此不会存在问题。如果例如按照一种音调向解调器发送Final Pitch_1,在高频范围侧的频谱位置会在与固有的位置有轻微偏差的位置处。然而,这种偏差在音质上感觉不是不偷快的。
当然,如果在比特速率方面允许,可以按照音调参数发送Final Pitch_1或Final Pitch-h,或者,可以发送Final Pitch_1和Final Pitch-h之间的差,在哪一种隋况下,解码器都要将Final Pitch_1和Final Pitch-h适用于低频范围侧频谱和高频范围侧频谱,以便进行正弦分析,产生更自然的合成声音。虽然整体搜索在上述实施例中是在整个频谱内进行的,但可以在每个划分的频带进行整体搜索。
同时,语音编码装置可以输出不同比特速率的数据,以满足所需语音质量的要求,因此输出数据按变化的比特速率输出。
具体地说,输出数据的比特速率可以在低比特速率和高比特速率之间进行转换。例如,如果低比特速率是2Kbps(每秒千比特),高比特速率是6Kbps,输出数据比特速率表示在图15。
对于浊音部分由输出端104输出的音调信息始终按照8比特/20ms(8比特/20毫秒),在输出端105的V/UV判定输出始终为1比特/20ms。在输出端102输出的用于LSP量化的索引数据在32比特/40ms和48比特/40ms之间转换。另一方面,对于在输出端103输出的浊音部分(V)的索引在15比特/20ms和87比特/20ms之间转换,而对于清音部分(UV)的索引数据在11比特/10ms和23比特/5ms之间转换。因此,对于浊音部分(V)的输出数据分别为40比特/20ms和120比特/20ms,即各为2千比特/秒和6千比特/秒。对于清音部分(UV)的输出数据分别为39比特/20ms和117比特/20ms,约为2千比特/秒和6千比特/秒。对用于LSP量化的索引数据,用于浊音部分(V)的索引数据和用于清音部分(UV)的索引数据将结合相关的部分顺序地解释。
下面解释在图3所示的语音编码器中的浊音/清音(V/UV)判定单元的具体结构。
在浊音/清音(V/UV)判定单元115中,对于现时帧的V/UV判定是根据正交交换单元145的输出,来自细微音调搜索单元146的最佳音调,来自频谱估计单元148的频谱幅值数据、来自开环音调搜索单元141的自相关量r’(1)的归一化的最大值和来自过零点计数器412的过零点计数值做出的。以频带为基础的V/UV判定结果中的边界位置与对于MBE的对应边界位置相类似,也被用作对现时帧的V/UV判定的一个条件。
下面解释采用对于MBE以频带为基础的V/DV判定结果的V/UV判定结果。
由如下方程表示一代表用于MBE的m次谐波幅值或幅值|Am|的参数|&Agr;(m)|=Σj=amb|Ξ(j)||&Egr;(j)|Σj=ambm|&Egr;(j)|2]]>在上述方程中,|X(j)|是根据对LPC余值进行DFT得到的频谱,而|E(j)|是根据对256点的汉明窗口进行DFT得到的基准信号的频谱。由如下方程表示信噪比(NSR)NSR=Σj=ambm{|X(j)|-|Am||E(j)|}2Σj=ambm|S(j)|2]]>
如果NSR值大于预设的阈值,例如为0.3,即如果误差较大,对于该频带接近|X(j)|乘|An| |E(j)|,可以判定为不良,即该激励信号|E(j)|判定作为基准是不适当的。因此,该频带被判定为清音(UV)部分。否则,该近似值可被判定为是很好满足要求的,这样该频带被判别为是浊音(V)部分。
各个频带(谐波)的NSR代表由一个谐波到另一个谐波的频谱相似性。利用如下方程确定具有该NSR或NSRall(全)的谐波的按增益加权的和NSRall=(∑m|Am|NSRm)/(∑m|Am|)根据这一频谱相似性NSRall是大于还是小于某一阈值,确定用于V/UV的标准基础。这里这一阈值设为ThNSR=0.3。这一标准值是与LPC余值的自相关作用的最大值、帧功率和过零点相关的。按照一用于NSRall<ThNSR的标准基础,如果该标准是适用的,或者没有适用的标准,则该帧分别是V或UV。
具体标准如下按照NSRall<ThNSR,如果numZeroXP<24,frmPow>340和ro>0.32,则该帧是V。
按照NSRall≥ThNSR,如果numZeroXP>30,frmPow<9040和ro<0.23,则该帧是UV。
根据上述,各变量定义如下numZeroXP每帧过零次数fmPow帧功率r’(1)最大自相关作用值通过参照作为一组按照上述确定的那些标准的标准基础,进行V/UV判定。同时,如果对于多个频带的音调搜索适用于对MBE的以频带为基础的V/UV判定,可以防止由于谐波位移形成的错误操作的产生,使之能更精确地进行V/UV判定。
如上所述的信号编码装置和信号解码装置可以用作语音编码解码器,如用于在图16和17中的实例所示的便携式通信终端或便携式电话。
具体地说,图16表示采用如在图1和图3中所示构成的语音编码单元160的便携式终端中的发送端的结构。利用放大器162对利用拾音器161汇集的语音信号进行放大,并利用A/D变换器163变换为数字信号,然后再送到语音编码单元60。这一语音编码单元160是按照图1和图3所示构成的。来自A/D变换器163的数字信号送到单元160的输入端101。语音编码单元160按照参照图1和图3所解释的进行编码操作。图1和图2中的输出端上的输出信号作为语音编码单元160的输出信号送到发送信道中的编码单元164,在其中将信道编码附加到该信号上。发送信道中的编码单元164的输出信号送到用于调制电路165中进行调制,所形成的调制信号经过(D/A)数/模变换器166和RF放大器送到天线168。
图17表示利用具有如在图2和图4所示基本结构的语音解码单元260的便携式终端的接收器结构。利用RF放大器262放大由图17中的天线261接收的语音信号,并经过模/数(A/D)变换器263送到解调电路264进行解调。经解调的信号送到传输信道中的解码单元265。解码电路264的输出信号送到语音解码单元,在其中进行参照图2解释的解码。图2中的输出端的输出信号作为来自语音解码单元260的信号送到数/模(D/A)变换器266,它的输出的模拟量语音信号送到扬声器。
本发明并不局限于仅用于描述本发明的上述实施例。例如,图1和图3中的语音分析侧(编码器侧)的结构,或者图2和4中的语音合成侧(解码器侧)的结构,可以利用所谓的数字信号处理器(DSP)利用软件编程来实现。本发明的应用范围并不限于传输或记录/重现,而是可用于音调压缩变换、速度变换、利用标准合成语声或噪声抑制。
在图3中的按照硬件解释的语音分析侧(编码侧)的结构可以利用所谓的数字信号处理器(DSP)通过软件编程以类似方式实现。
本发明并不限于传输或记录/重现,而是可以适用于各种其它应用,例如音调变换,速度变换、利用标准合成语音或噪声抑制。
权利要求
1.一种语音分析方法,按照该方法,根据预设的编码单位将输入的语音信号沿时间轴划分,检测等效于如此划分为编码单位的语音信号的基本周期的音调,及根据检测的音调从一个编码单位到另一个编码单位分析语音信号,包含以下步骤将对应于输入语音信号的信号的频谱划分成在频率轴上的多个频带;以及利用由一个频带到另一个频带按照频谱形状形成的音调,同时进行音调搜索和谐波幅值的估计。
2.如权利要求1所述的语音分析方法,其特征在于所说频谱形状是由谐波结构的。
3.如权利要求1所述的语音分析方法,其特征在于所说音调搜索和谐波幅值估计是根据由开环搜索先前检测的粗略音调进行的。
4.如权利要求1所述的语音分析方法,其特征在于音调搜索是高精度音调搜索,由根据通过所述粗略音调搜索检测的粗略音调进行的第一音调搜索以及精度高于所述第一音调搜索的第二音调搜索构成,以及其中所述第二音调搜索在频谱的高频范围侧和低频范围侧中的每一侧是独立进行的。
5.如权利要求1所述的语音分析方法,其特征在于所说第一音调搜索是对频谱按其整体进行的,以及其中第二音调搜索对于该频谱中的低频范围侧和低频范围侧是独立进行的。
6.一种语音编码方法,其特征在于根据预设的编码单位将输入的语音信号在时间轴上划分,检测等效于如此被划分为编码单位的语音信号的基本周期的音调,以及根据检测的音调从一个编码单位到另一个编码单位对语音信号进行编码,包含以下步骤将对应于输入的语音信号的信号的频谱划分为在频率轴上的多个频带;以及利用由一个频带到另一个频带的频谱波形形成的音调同时进行音调搜索和谐波幅值估算。
7.如权利要求6所述的信号编码方法,其特征在于所说频谱的形状是谐波结构的,以及其中所说高精度音调搜索包含根据利用所述粗略搜索检测的粗略音调进行第一音调搜索和精度高于所述第一音调搜索的第二音调搜索,第二音调搜索是在同时进行的音调搜索和谐波幅值估计的步骤中进行的。
8.如权利要求6所述的信号编码方法,其特征在于所述第一音调搜索是对频谱按整体进行的,以及其中所述第二音调搜索是在频谱中的高频范围侧和低频范围侧中的每一侧独立进行的。
9.一种语声编码装置,其特征在于根据预设的编码单位将输入的语音信号在时间轴上划分,检测等效于如此划分成编码单位的语音信号的基本周期的音调,以及根据检测的音调由一个编码单位到另一个编码单位分析该语音信号,该装置包含一装置,用于将对应于输入的语音信号的信号的频谱在频率轴上划分为多个频带;以及一装置,用于利用由频谱中的从一个频带到另一个频带形成的音调,同时进行音调搜索和谐波幅值估算。
10.如权利要求9所述的信号编码装置,其特征在于频谱的形状是谐波结构的,以及所述用于同时进行音调搜索和谐波幅值估计的装置进行高精度音调搜索,其包含由粗略音调搜索检测的粗略音调进行的第一音调搜索以及精度高于第一音调搜索的第二音调搜索。
11.如权利要求9所述的信号编码装置,其特征在于所述的第一音调搜索是对于频谱整体进行的,以及其中所述第二音调搜索在频谱中的高频范围侧和低频范围侧中的每一侧中独立地进行。
全文摘要
语音分析方法和语音编码方法和装置,即使语音频谱中的谐波与基波的整数倍有偏差,可以正确地估计谐波的幅值,产生高清晰度的重放输出。为此,输入的语音的频谱在频率轴上被划分为多个频带,在其中的每一频带中利用由频谱形状形成的最佳音调同时进行音调搜索和谐波幅值估计。利用作为频谱形状的谐波结构,和根据通过开环粗略音调搜索先前检测的粗略音调,进行高精度音调搜索。
文档编号H04B14/04GK1187665SQ9712600
公开日1998年7月15日 申请日期1997年10月17日 优先权日1996年10月18日
发明者西口正之, 松本淳, 饭岛和幸, 井上晃 申请人:索尼公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1