背景技术
在数字移动通信和语音存储领域中,为了有效利用电波和存储媒体,使用用于对语音信息进行压缩、高效率编码的语音编码装置。尤其是基于CELP(Code Excited Linear Prediction:码激励线性预测编码)方式的方式广泛实用于中、低比特率中。CELP技术示于M.R.Schroeder and B.S.Atal:“Code-Excited Linear Prediction(CELP):High-quality Speech at Very Low Bit Rates(码激励线性预测:极低比特率的高质量语音)”,Proc.ICASSP-85,25.1.1,pp.937-940,1985。
CELP型语音编码方式是将语音划分为某个一定的帧长度(5ms~50ms左右),对各帧进行语音的线性预测,用由已知波形构成的自适应码矢量和噪声码矢量对每帧的通过线性预测所得的预测残差(激励信号)进行编码。
自适应码矢量是从保存过去生成的驱动音源矢量的自适应码本中选择使用的,而噪声码矢量是从保存预先准备的确定数目个具有确定形状的矢量的噪声码本中选择使用的。
特别是,噪声码本中保存的噪声码矢量使用随机的噪声序列矢量、或通过将几个脉冲配置在不同位置上而生成的矢量等。特别是,后者的代表性的例子可举出1996年ITU-T作为国际标准推荐的CS-ACELP(ConjugateStructure and Algebraic CELP:共轭结构和代数CELP)。CS-ACELP技术示于“Recommenddaion G.729:Coding of Speech at 8 Kbit/s using Conjugate-Structure Algebraic-Code-Excited Linear-Predication(CS-ACELP)(推荐G.729:使用共轭结构代数码激励线性预测的8k比特/s的语音编码)”,March1996。
在CS-ACELP中,噪声码本使用代数码本(Algebraic Codebook)。由CS-ACELP的代数码本生成的噪声码矢量是在40个样本(5ms)的子帧中有振幅为-1或+1的4个冲激的矢量(4个脉冲以外的位置基本上全部为零)。由于振幅的绝对值被固定为1,所以为了表达音源矢量,只需表达各脉冲的位置和极性(正负)即可。因此,无需作为40(子帧长度)维的矢量而保存在码本中,不用码本存储用的存储器。此外,由于振幅为1的脉冲在矢量中只有4个,所以其特长是能够大幅度削减用于码本搜索的运算量等。
此外,在CS-ACELP中,通过用采用第一子帧的音调的差分量化来表达第二子帧的音调,对自适应码矢量信息高效地进行编码。此外,在音调搜索中,由于采用下述结构等,即,通过以帧为单位的开环音调搜索而将候选音调缩小为1个,在该候选音调的近旁进行以子帧为单位的闭环音调搜索,所以还能削减搜索所需的运算量。
这里,参照图1来具体说明现有的CS-ACELP编码装置。图1示出现有CS-ACELP语音编码装置的基本结构,在图l中,输入缓冲器1将输入数字语音信号逐帧更新并缓冲必要的长度,输出子帧分割器2、LPC分析器3、及加权合成滤波器4所需的数据。
子帧分割器2将从输入缓冲器1输入的1帧输入数字信号分割为2个子帧,将第一子帧的信号输出到第一目标计算器5,而将第二子帧的信号输出到第二目标计算器6。LPC分析器3从输入缓冲器1输入分析所需的数字语音信号,进行LPC分析,将线性预测系数输出到LPC量化器7及第二LPC插值器8。加权合成滤波器4将从输入缓冲器1输入的1帧数字语音信号、和从第二LPC插值器8输出的线性预测系数a1、a2作为输入,对输入语音信号进行听觉加权,输出到开环音调搜索器9。
LPC量化器7对从LPC分析器3输出的线性预测系数进行量化,将量化LPC输出到第一LPC插值器10,同时将量化LPC的编码数据L输出到解码器。第二LPC插值器8将从LPC分析器3输出的LPC作为输入,进行第一子帧的LPC的插值,将第一及第二子帧的未量化LPC分别作为a1、a2而输出。第一LPC插值器10将从LPC量化器7输出的量化LPC作为输入,进行第一子帧的量化LPC的插值,将第一及第二子帧的量化LPC分别作为qa1、qa2而输出。
第一目标计算器5将子帧分割器2分割出的第一子帧的数字语音信号、紧前的第二子帧中从第二滤波器状态更新器11输出的滤波器状态st1、以及第一子帧的量化及未量化LPC即qa1及a1作为输入,计算目标矢量,输出到第一闭环音调搜索器12、第一目标更新器13、第一增益码本搜索器14、及第一滤波器状态更新器15。第二目标矢量更新器6将从子帧分割器2输出的第二子帧的数字语音信号、当前帧的第一子帧中从第一滤波器状态更新器15输出的滤波器状态st2、以及第二子帧的量化及未量化LPC即qa2及a2作为输入,计算目标矢量,输出到第二闭环音调搜索器16、第二目标更新器17、第二增益码本搜索器18、及第二滤波器状态更新器11。
开环音调搜索器9将从加权合成滤波器4输出的加权输入语音信号作为输入,进行音调周期性的提取,将开环音调周期输出到第一闭环音调搜索器12。第一闭环音调搜索器12将第一目标矢量、开环音调、候选自适应码矢量、及冲激响应矢量分别从第一目标计算器5、开环音调搜索器9、自适应码本19、及第一冲激响应计算器20输入,在开环音调的近旁进行闭环音调搜索,将闭环音调P1输出到第二闭环音调搜索器16及第一音调周期化滤波器21及解码器,将自适应码矢量输出到第一音源生成器22,将在自适应码矢量上叠加第一冲激响应所得的合成矢量输出到第一目标更新器13、第一增益码本搜索器14、及第一滤波器状态更新器15。
第一目标更新器13将第一目标矢量及第一自适应码合成矢量分别从第一目标计算器5及第一闭环音调搜索器12输入,计算噪声码本用的目标矢量,输出到第一噪声码本搜索器23。第一增益码本搜索器14将第一目标矢量、第一自适应码合成矢量、及第一噪声码合成矢量分别从第一目标计算器5、第一闭环音调搜索器12、及第一噪声码本搜索器8输入,从增益码本29中选择最佳的量化增益,输出到第一音源生成器22及第一滤波器状态更新器15。
第一滤波器状态更新器15将第一目标矢量、第一自适应码合成矢量、第一噪声码合成矢量、及第一量化增益分别从第一目标矢量计算器5、第一闭环音调搜索器12、第一噪声码本搜索器23、及第一增益码本搜索器14输入,进行合成滤波器的状态更新,输出滤波器状态st2。第一冲激响应计算器20将第一子帧的未量化LPC即a1、及第一子帧的量化LPC即qa1作为输入,计算将听觉加权滤波器和合成滤波器级联连接所得的滤波器的冲激响应,输出到第一闭环音调搜索器12及第一音调周期化滤波器21。
第一音调周期化滤波器21将第一闭环音调及第一冲激响应矢量分别从第一闭环音调搜索器12及第一冲激响应计算器20输入,对第一冲激响应矢量进行音调周期化,输出到第一噪声码本搜索器23。第一噪声码本搜索器23将从第一目标更新器13输出的更新后的第一目标矢量、从第一音调周期化滤波器21输出的周期化后的第一冲激响应矢量、及从噪声码本24输出的候选噪声码矢量作为输入,从噪声码本24中选择最佳的噪声码矢量,将对选择出的噪声码矢量进行周期化所得的矢量输出到第一音源生成器22,将在选择出的噪声码矢量上叠加周期化的第一冲激响应矢量所得的合成矢量输出到第一增益码本搜索器14及第一滤波器状态更新器15,将表示选择出的噪声码矢量的代码S1输出到解码器。
噪声码本24保存规定数目个具有规定形状的噪声码矢量,将噪声码矢量输出到第一噪声码本搜索器23及第二噪声码本搜索器25。
第一音源生成器22将自适应码矢量、噪声码矢量、及量化增益从第一闭环音调搜索器12、第一噪声码本搜索器23、及第一增益码本搜索器14输入,生成音源矢量,将生成的音源矢量输出到自适应码本19。自适应码本19将从第一音源生成器22及第二音源生成器26交替输出的音源矢量作为输入,更新自适应码本,将候选自适应码矢量交替输出到第一闭环音调搜索器12及第二闭环音调搜索器16。增益码本29保存预先准备的量化增益(自适应码矢量分量及噪声码矢量分量),输出到第一增益码本搜索器14及第二增益码本搜索器18。
第二闭环音调搜索器16将第二目标矢量、第一子帧的音调、候选自适应码矢量、及冲激响应矢量分别从第二目标计算器6、第一闭环音调搜索器12、自适应码本19、及第二冲激响应计算器27输入,在第一子帧的音调的近旁进行闭环音调搜索,将闭环音调P2输出到第二音调周期化滤波器28及解码器,将自适应码矢量输出到第二音源生成器26,将在自适应码矢量上叠加第二冲激响应所得的合成矢量输出到第二目标更新器17、第二增益码本搜索器18、及第二滤波器状态更新器11。
第二目标更新器17将第二目标矢量及第二自适应码合成矢量分别从第二目标计算器6及第二闭环音调搜索器16输入,计算噪声码本用的目标矢量,输出到第二噪声码本搜索器25。第二增益码本搜索器18将第二目标矢量、第二自适应码合成矢量、及第二噪声码合成矢量分别从第二目标计算器6、第二闭环音调搜索器16、及第二噪声码本搜索器25输入,从增益码本29中选择最佳的量化增益,输出到第二音源生成器26及第二滤波器状态更新器11。
第二滤波器状态更新器11将第二目标矢量、第二自适应码合成矢量、第二噪声码合成矢量、及第二量化增益分别从第二目标矢量计算器6、第二闭环音调搜索器16、第二噪声码本搜索器25、及第二增益码本搜索器18输入,进行合成滤波器的状态更新,输出滤波器状态st1。
第二冲激响应计算器27将第二子帧的未量化LPC即a2、及第二子帧的量化LPC即qa2作为输入,计算将听觉加权滤波器和合成滤波器级联连接所得的滤波器的冲激响应,输出到第二闭环音调搜索器16及第二音调周期化滤波器28。第二音调周期化滤波器28将第二闭环音调及第二冲激响应矢量分别从第二闭环音调搜索器16及第二冲激响应计算器27输入,对第二冲激响应矢量进行音调周期化,输出到第二噪声码本搜索器25。
第二噪声码本搜索器25将从第二目标更新器17输出的更新后的第二目标矢量、从第二音调周期化滤波器28输出的周期化后的第二冲激响应矢量、及从噪声码本24输出的候选噪声码矢量作为输入,从噪声码本24中选择最佳的噪声码矢量,将对选择出的噪声码矢量进行周期化所得的矢量输出到第二音源生成器26,将在选择出的噪声码矢量上叠加周期化过的第二冲激响应矢量所得的合成矢量输出到第二增益码本搜索器18及第二滤波器状态更新器11,将表示选择出的噪声码矢量的代码S2输出到解码器。第二音源生成器26将自适应码矢量、噪声码矢量、及量化增益分别从第二闭环音调搜索器16、第二噪声码本搜索器25、及第二增益码本搜索器18输入,生成音源矢量,将生成的音源矢量输出到自适应码本19。
从LPC量化器7输出的LPC数据L、从第一闭环音调搜索器12输出的音调P1、从第一噪声码本搜索器23输出的噪声码矢量数据S1、从第一增益码本搜索器14输出的增益数据G1、从第二闭环音调搜索器16输出的音调P2、从第二噪声码本搜索器25输出的噪声码矢量数据S2、及从第二增益码本搜索器18输出的增益数据G2被编码,作为比特串经传输线路输出到解码器。此外,第二子帧的处理在第一子帧的处理全部结束后进行,第二子帧的音调用第一子帧的音调进行差分量化。
以下,参照图1来说明具有上述结构的CS-ACELP语音编码装置的操作。首先,在图1中,语音信号被输入到输入缓冲器1。输入缓冲器1将输入的作为编码对象的数字语音信号以1帧(10ms)为单位进行更新,向子帧分割器2、LPC分析器3、及加权合成滤波器4提供必要的缓冲数据。
LPC分析器3用从输入缓冲器1提供的数据进行线性预测分析,计算线性预测系数(LPC),输出到LPC量化器7及第二LPC插值器8。在LPC量化器7中,将LPC变换到LSP域进行量化,将量化LSP输出到第一LPC插值器10。在第一LPC插值器10中,将输入的量化LSP作为第二子帧的量化LSP,第一子帧的量化LSP用紧前帧的第二子帧的量化LSP通过线性插值进行插值。
得到的第一及第二子帧的量化LSP被变换为LPC后,作为量化LPC分别作为qa1、qa2被输出。在第二LPC插值器8中,将输入的未量化LPC变换为LSP后,与第一LPC插值器10同样,第一子帧的LSP被插值,在第一及第二子帧的LSP被决定后被变换为LPC,其后作为未量化LPC分别作为a1、a2被输出。
在加权合成滤波器4中,从输入缓冲器1输入1帧(10ms)作为量化对象的数字数据串,通过用未量化LPC即a1、a2构成的加权合成滤波器4进行滤波来计算加权输入语音信号,输出到开环音调搜索器9。
在开环音调搜索器9中,对过去生成的加权输入语音信号进行缓冲,将新生成的加权输入语音信号附加到缓冲器中,由附加后的数据串来求归一化自相关函数,根据此来提取加权输入语音信号的周期。提取出的周期被输出到第一闭环音调搜索器12。
在子帧分割器2中,从输入缓冲器输入作为编码对象的1帧数字信号串,将其分割为2个子帧,将第一子帧(时间上靠前的子帧)提供给第一目标计算器5,而将第二子帧(时间上靠后的子帧)提供给第二目标计算器6。
在第一目标计算器5中,用第一子帧的量化LPC即qa1、和未量化LPC即a1来构成量化合成滤波器和加权合成滤波器,在紧前帧的第二子帧中用第二滤波器状态更新器11求出的滤波器状态st1来计算除去量化合成滤波器的零输入响应后的加权输入语音信号(目标矢量),向第一闭环音调搜索器12、第一目标矢量更新器13、第一增益码本搜索器14、及第一滤波器状态更新器15输出目标矢量。
在第一冲激响应计算器20中,求用量化LPC即qa1构成的量化合成滤波器、和用未量化LPC即a1构成的加权合成滤波器级联连接所得的滤波器的冲激响应,输出到第一闭环音调搜索器12及第一音调周期化滤波器21。在第一闭环音调搜索器12中,通过在从自适应码本19中取出的自适应码矢量上叠加第一冲激响应,来计算加权合成语音矢量(自适应码本分量),提取生成使该值和第一目标矢量之间的误差最小的自适应码矢量的音调。此时进行的音调搜索只对从开环音调搜索器9输入的开环音调的近旁进行。
通过求出的音调而生成的自适应码矢量被输出到第一音源生成器22,用于音源矢量的生成,在自适应码矢量上叠加冲激响应而生成的第一自适应码合成矢量被输出到第一目标更新器13、第一增益码本搜索器14、及第一滤波器状态更新器15。在第一目标更新器13中,从第一目标计算器5输出的第一目标矢量中,减去第一闭环音调搜索器12输出的第一自适应码合成矢量乘以最佳增益所得的积,来计算第一噪声码本搜索用目标矢量,将该计算结果输出到第一噪声码本搜索器23。
第一噪声码本搜索器23通过在从噪声码本24中取出的噪声码矢量上叠加从第一音调周期化滤波器21输入的音调周期化后的第一冲激响应,来计算加权合成语音矢量(噪声码本分量),选出使其与第一噪声码本用目标矢量之间的误差最小的噪声码矢量。选出的噪声码矢量通过音调周期化滤波器被周期化,输出到第一音源生成器22,用于音源矢量的生成。此外,在噪声码矢量上叠加音调周期化后的冲激响应而生成的第一噪声码合成矢量被输出到第一增益码本搜索器14及第一滤波器状态更新器15。
设输入数据为x(n),n=0,1,…,39(子帧长度-1),音调周期为T,周期化增益为β,则第一音调周期化滤波器21如下述式1所示,对从第一冲激响应计算器20输入的冲激响应进行滤波,输出到第一噪声码本搜索器23。
x(n)=x(n)+β×x(n-T),n≥T 式1
该滤波器所用的音调周期T是从第一闭环音调搜索器12输入的P1。第一增益码本搜索器14从第一目标计算器5、第一闭环音调搜索器12、及第一噪声码本搜索器23分别输入第一目标矢量、第一自适应码合成矢量、及第一噪声码合成矢量,从增益码本29中选择使第一目标矢量、和第一自适应码合成矢量乘以量化自适应码增益所得的积及第一噪声码合成矢量乘以量化噪声码增益所得的积之和的矢量之间的平方误差最小的、量化自适应码增益和量化噪声码增益的组合。
选择出的量化增益被输出到第一音源生成器22及第一滤波器状态更新器15,用于音源矢量的生成及合成滤波器的状态更新。第一音源生成器22将从第一闭环音调搜索器12输入的自适应码矢量、和从第一噪声码本搜索器23输入的音调周期化后的噪声码矢量分别乘以从第一增益码本搜索器14输入的量化增益(自适应码本分量)及量化增益(噪声码本分量),将乘以量化增益后的自适应码矢量和噪声码矢量相加,生成第一子帧的音源矢量。
生成的第一子帧的音源矢量被输出到自适应码本,来更新自适应码本。第一滤波器状态更新器15更新量化合成滤波器及加权合成滤波器级联连接所得的滤波器的状态。滤波器的状态如下来求:将从第一目标计算器5输入的目标矢量,减去乘以量化增益(自适应码本分量)后的自适应码合成矢量及乘以量化增益(噪声码本分量)后的噪声码合成矢量。求出的滤波器状态作为st2被输出,用作第二子帧的滤波器状态,由第二目标计算器6使用。
第二目标计算器6用第二子帧的量化LPC即qa2、及未量化LPC即a2,来构成量化合成滤波器及加权合成滤波器,在第一子帧中用第一滤波器状态更新器15求出的滤波器状态st2计算除去量化合成滤波器的零输入响应后的加权输入语音信号(目标矢量),向第二闭环音调搜索器16、第二目标矢量更新器17、第二增益码本搜索器25、及第二滤波器状态更新器11输出第二目标矢量。
第二冲激响应计算器27求用量化LPC即qa2构成的量化合成滤波器、和用未量化LPC即a2构成的加权合成滤波器级联连接所得的滤波器的冲激响应,输出到第二闭环音调搜索器16及第二音调周期化滤波器28。第二闭环音调搜索器16通过在从自适应码本19中取出的自适应码矢量上叠加第二冲激响应,来计算加权合成语音矢量(自适应码本分量),提取生成使其与第二目标矢量之间的误差最小的自适应码矢量的音调。此时进行的音调搜索只对从第一闭环音调搜索器12输入的第一子帧的音调P1的近旁进行。
通过求出的音调而生成的自适应码矢量被输出到第二音源生成器26,用于音源矢量的生成,在自适应码矢量上叠加冲激响应而生成的第二自适应码合成矢量被输出到第二目标更新器17、第二增益码本搜索器18、及第二滤波器状态更新器11。第二目标更新器17从第二目标计算器6输出的第二目标矢量中,减去第二闭环音调搜索器16输出的第二自适应码合成矢量乘以最佳增益所得的积,来计算第二噪声码本搜索用目标矢量,输出到第二噪声码本搜索器25。
第二噪声码本搜索器25通过在从噪声码本24中取出的噪声码矢量上叠加从第二音调周期化滤波器28输入的音调周期化后的第二冲激响应,来计算加权合成语音矢量(噪声码本分量),选出使其与第二噪声码本用目标矢量之间的误差最小的噪声码矢量。选出的噪声码矢量通过第二音调周期化滤波器被周期化,输出到第二音源生成器26,用于音源矢量的生成。
此外,在噪声码矢量上叠加音调周期化后的冲激响应而生成的第二噪声码合成矢量被输出到第二增益码本搜索器18及第二滤波器状态更新器11。设输入数据为x(n),n=0,1,…,39(子帧长度-1),音调周期为T,周期化增益为β,则第二音调周期化滤波器28对从第二冲激响应计算器27输入的冲激响应进行如上述式1所示的滤波,输出到第二噪声码本搜索器25。
该滤波器所用的音调周期T是从第二闭环音调搜索器16输入的P2。第二增益码本搜索器18从第二目标计算器6、第二闭环音调搜索器16、及第二噪声码本搜索器25分别输入第二目标矢量、第二自适应码合成矢量、及第二噪声码合成矢量,从增益码本29中选择使第二目标矢量、和第二自适应码合成矢量乘以量化自适应码增益所得的积及第二噪声码合成矢量乘以量化噪声码增益所得的积之和的矢量之间的平方误差最小的、量化自适应码增益和量化噪声码增益的组合。
选择出的量化增益被输出到第二音源生成器26及第二滤波器状态更新器11,用于音源矢量的生成及合成滤波器的状态更新。第二音源生成器26将从第二闭环音调搜索器16输入的自适应码矢量、和从第二噪声码本搜索器25输入的音调周期化后的噪声码矢量分别乘以从第二增益码本搜索器18输入的量化增益(自适应码本分量)及量化增益(噪声码本分量),将乘以量化增益后的自适应码矢量和噪声码矢量相加,生成第二子帧的音源矢量。生成的第二子帧的音源矢量被输出到自适应码本19,来更新自适应码本。
第二滤波器状态更新器11更新量化合成滤波器及加权合成滤波器级联连接所得的滤波器的状态。滤波器的状态如下来求:将从第二目标计算器6输入的目标矢量,减去乘以量化增益(自适应码本分量)后的自适应码合成矢量及乘以量化增益(噪声码本分量)后的噪声码合成矢量。求出的滤波器状态作为st1被输出,用作下一帧的第一子帧的滤波器状态,由第一目标计算器5使用。自适应码本19将通过第一音源生成器22及第二音源生成器26生成的音源信号按时间排列来缓冲,存储闭环音调搜索所需长度的过去生成的音源信号。
自适应码本的更新对每个子帧进行1次,将自适应码本的缓冲器移位1个子帧后,新生成的音源信号被复制到缓冲器的最后。在通过子帧分割器2分割出的量化对象信号中,先进行第一子帧的编码处理,在第一子帧的编码处理全部结束后,进行第二子帧的编码处理,第二子帧输出的音调P2用第一子帧输出的音调P1进行差分量化,传输到解码器端。
1帧的处理结束后,从LPC量化器7输出的LPC数据L、从第一闭环音调搜索器12输出的音调P1、从第一噪声码本搜索器23输出的噪声码矢量数据S1、从第一增益码本搜索器14输出的增益数据G1、从第二闭环音调搜索器16输出的音调P2、从第二噪声码本搜索器25输出的噪声码矢量数据S2、及从第二增益码本搜索器18输出的增益数据G2被编码,作为比特串经传输线路输出到解码器。
然而,在上述现有语音编码装置中,由于候选音调通过开环音调搜索而只缩小1个候选,所以最终决定的音调未必最佳。为了解决该问题,可以考虑在开环音调搜索中输出2个候选以上的候选音调,对这些候选进行闭环音调搜索,但是由于在上述编码装置中在子帧间进行音调的差分量化,所以只对第一子帧选择最佳音调。
实施发明的最好形式
以下,参照附图来详细说明本发明的实施例。
(实施例1)
图3是本发明实施例1的语音编码装置的结构方框图。在图3中,输入缓冲器101将输入数字语音信号逐帧更新并缓冲编码所需长度的数据,输出子帧分割器102及LPC分析器103和加权合成滤波器104所需的数据。
子帧分割器102将从输入缓冲器1输入的1帧输入数字信号分割为2个子帧,将第一子帧的信号输出到第一目标计算器105,而将第二子帧的信号输出到第二目标计算器106。LPC分析器103从输入缓冲器101输入分析所需的数字语音信号,进行LPC分析,将线性预测系数输出到LPC量化器107及第二LPC插值器108。
加权合成滤波器104输入从输入缓冲器101输入的1帧数字语音信号、和从第二LPC插值器108输出的线性预测系数a1、a2,对输入语音信号进行听觉加权,输出到候选音调选择器109。LPC量化器107对从LPC分析器103输出的线性预测系数进行量化,将量化LPC输出到第一LPC插值器110,同时将量化LPC的编码数据L输出到解码器。
第二LPC插值器108将从LPC分析器103输出的LPC作为输入,进行第一子帧的LPC的插值,将第一及第二子帧的LPC分别作为a1、a2而输出。第一LPC插值器110输入从LPC量化器107输出的量化LPC,进行第一子帧的量化LPC的插值,将第一及第二子帧的量化LPC分别作为qa1、qa2而输出。第一目标计算器105输入通过子帧分割器102分割出的第一子帧的数字语音信号、紧前的第二子帧中从第二滤波器状态更新器111输出的滤波器状态st1、以及第一子帧的量化及未量化LPC即qa1及a1,计算目标矢量,输出到第一闭环音调搜索器112、第一目标更新器113、第一增益码本搜索器114、及第一滤波器状态更新器115。
第二目标矢量更新器106输入从子帧分割器102输出的第二子帧的数字语音信号、当前帧的第一子帧中从第一滤波器状态更新器115输出的滤波器状态st2、以及第二子帧的量化及未量化LPC即qa2及a2,计算目标矢量,输出到第二闭环音调搜索器116、第二目标更新器117、第二增益码本搜索器118、及第二滤波器状态更新器111。
候选音调选择器109输入从加权合成滤波器104输出的加权输入语音信号,进行音调周期性的提取,将候选音调周期输出到第一闭环音调搜索器112。第一闭环音调搜索器112将第一目标矢量、候选音调、候选自适应码矢量、及冲激响应矢量分别从第一目标矢量计算器105、候选音调选择器109、自适应码本119、及第一冲激响应计算器120输入,在各候选音调的近旁进行闭环音调搜索,将闭环音调输出到第二闭环音调搜索器116及第一音调周期化滤波器121,将自适应码矢量输出到第一音源生成器122,将在自适应码矢量上叠加第一冲激响应所得的合成矢量输出到第一目标更新器113、第一增益码本搜索器114、及第一滤波器状态更新器115。
第一目标更新器113将第一目标矢量及第一自适应码合成矢量分别从第一目标计算器105及第一闭环音调搜索器112输入,计算噪声码本用的目标矢量,输出到第一噪声码本搜索器123。第一增益码本搜索器114将第一目标矢量、第一自适应码合成矢量、及第一噪声码合成矢量分别从第一目标计算器105、第一闭环音调搜索器112、及第一噪声码本搜索器123输入,从增益码本129中选择最佳的量化增益,输出到第一音源生成器122及第一滤波器状态更新器115。
第一滤波器状态更新器115将第一目标矢量、第一自适应码合成矢量、第一噪声码合成矢量、及第一量化增益分别从第一目标矢量计算器105、第一闭环音调搜索器112、第一噪声码本搜索器123、及第一增益码本搜索器114输入,进行合成滤波器的状态更新,输出滤波器状态st2。第一冲激响应计算器120输入第一子帧的LPC即a1、及第一子帧的量化LPC即qa1,计算将听觉加权滤波器和合成滤波器级联连接所得的滤波器的冲激响应,输出到第一闭环音调搜索器112及第一音调周期化滤波器121。
第一音调周期化滤波器121将第一闭环音调及第一冲激响应矢量分别从第一闭环音调搜索器112及第一冲激响应计算器120输入,对第一冲激响应矢量进行音调周期化,输出到第一噪声码本搜索器123。第一噪声码本搜索器123输入从第一目标更新器113输出的更新后的第一目标矢量、从第一音调周期化滤波器121输出的周期化后的第一冲激响应矢量、及从噪声码本124输出的候选噪声码矢量,从噪声码本124中选择最佳的噪声码矢量,将对选择出的噪声码矢量进行周期化所得的矢量输出到第一音源生成器122,将在选择出的噪声码矢量上叠加周期化的第一冲激响应矢量所得的合成矢量输出到第一增益码本搜索器114及第一滤波器状态更新器115,将表示选择出的噪声码矢量的代码S1输出到解码器。
噪声码本124保存预定数目个具有预定形状的噪声码矢量,将噪声码矢量输出到第一噪声码本搜索器123及第二噪声码本搜索器125。第一音源生成器122将自适应码矢量、噪声码矢量、及量化增益分别从第一闭环音调搜索器112、第一噪声码本搜索器123、及第一增益码本搜索器114输入,生成音源矢量,将生成的音源矢量输出到自适应码本119。
自适应码本119输入从第一音源生成器122及第二音源生成器126交替输出的音源矢量,更新自适应码本,将候选自适应码矢量交替输出到第一闭环音调搜索器112及第二闭环音调搜索器116。增益码本219保存预先准备的量化增益(自适应码矢量分量及噪声码矢量分量),输出列第一增益码本搜索器114及第二增益码本搜索器118。
第二闭环音调搜索器116将第二目标矢量、第一子帧的音调、候选自适应码矢量、及冲激响应矢量分别从第二目标计算器106、第一闭环音调搜索器112、自适应码本119、及第二冲激响应计算器127输入,在第一子帧的音调的近旁进行闭环音调搜索,将闭环音调输出到第二音调周期化滤波器128及解码器,将自适应码矢量输出到第二音源生成器126,将在自适应码矢量上叠加第二冲激响应所得的合成矢量输出到第二目标更新器117、第二增益码本搜索器118、及第二滤波器状态更新器111。
第二目标更新器117将第二目标矢量及第二自适应码合成矢量分别从第二目标计算器106及第二闭环音调搜索器116输入,计算噪声码本用的目标矢量,输出到第二噪声码本搜索器125。第二增益码本搜索器118将第二目标矢量、第二自适应码合成矢量、及第二噪声码合成矢量分别从第二目标计算器106、第二闭环音调搜索器116、及第二噪声码本搜索器125输入,从增益码本129中选择最佳的量化增益,输出到第二音源生成器126及第二滤波器状态更新器111。
第二滤波器状态更新器111将第二目标矢量、第二自适应码合成矢量、第二噪声码合成矢量、及第二量化增益分别从第二目标矢量计算器106、第二闭环音调搜索器116、第二噪声码本搜索器125、及第二增益码本搜索器118输入,进行合成滤波器的状态更新,输出滤波器状态st1。第二冲激响应计算器127将第二子帧的LPC即a2、及第二子帧的量化LPC即qa2作为输入,计算将听觉加权滤波器和合成滤波器级联连接所得的滤波器的冲激响应,输出到第二闭环音调搜索器116及第二音调周期化滤波器128。
第二音调周期化滤波器128将第二闭环音调及第二冲激响应矢量分别从第二闭环音调搜索器116及第二冲激响应计算器127输入,对第二冲激响应矢量进行音调周期化,输出到第二噪声码本搜索器125。第二噪声码本搜索器125将从第二目标更新器117输出的更新后的第二目标矢量、从第二音调周期化滤波器128输出的周期化后的第二冲激响应矢量、及从噪声码本124输出的候选噪声码矢量作为输入,从噪声码本124中选择最佳的噪声码矢量,将对选择出的噪声码矢量进行周期化所得的矢量输出到第二音源生成器126,将在选择出的噪声码矢量上叠加周期化过的第二冲激响应矢量所得的合成矢量输出到第二增益码本搜索器118及第二滤波器状态更新器111,将表示选择出的噪声码矢量的代码S2输出到解码器。第二音源生成器126将自适应码矢量、噪声码矢量、及量化增益分别从第二闭环音调搜索器116、第二噪声码本搜索器125、及第二增益码本搜索器118输入,生成音源矢量,将生成的音源矢量输出到自适应码本119。
从LPC量化器107输出的LPC数据L、从第一闭环音调搜索器112输出的音调P1、从第一噪声码本搜索器123输出的噪声码矢量数据S1、从第一增益码本搜索器114输出的增益数据G1、从第二闭环音调搜索器116输出的音调P2、从第二噪声码本搜索器125输出的噪声码矢量数据S2、及从第二增益码本搜索器118输出的增益数据G2被编码,作为比特串经传输线路输出到解码器。此外,第二子帧的处理在第一子帧的处理全部结束后进行,第二子帧的音调P2用第一子帧的音调P1进行差分量化。
下面,参照图3至图5来说明具有如上构成的语音编码装置的操作。首先,在图3中,语音信号被输入到输入缓冲器101。输入缓冲器101将输入的作为编码对象的数字语音信号以1帧(10ms)为单位进行更新,向子帧分割器102、LPC分析器103、及加权合成滤波器104提供必要的缓冲数据。
LPC分析器103用从输入缓冲器101提供的数据进行线性预测分析,计算线性预测系数(LPC),输出到LPC量化器107及第二LPC插值器108。在LPC量化器107中,将LPC变换到LSP域进行量化,将量化LSP输出到第一LPC插值器110。第一LPC插值器将输入的量化LSP作为第二子帧的量化LSP,用紧前帧的第二子帧的量化LSP通过线性插值对第一子帧的量化LSP进行插值。
得到的第一及第二子帧的量化LSP被变换为LPC后,作为量化LPC分别作为qa1、qa2被输出。在第二LPC插值器108中,将输入的未量化LPC变换为LSP后,与第一LPC插值器110同样,第一子帧的LSP被插值,在第一及第二子帧的LSP被决定后,被变换为LPC后,作为未量化LPC分别作为a1、a2被输出。
在加权合成滤波器104中,从输入缓冲器101输入1帧(10ms)作为量化对象的数字数据串,通过用未量化LPC即a1、a2构成的加权合成滤波器进行滤波来计算加权输入语音信号,输出到候选音调选择器109。
在候选音调选择器109中,对过去生成的加权输入语音信号进行缓冲,将新生成的加权输入语音信号附加到缓冲器中,由附加后的数据串来求归一化自相关函数,根据此来提取加权输入语音信号的周期。此时,按照归一化自相关函数从大到小的顺序,选择确定数目以下的候选音调。选择用归一化自相关函数来进行,将归一化自相关函数的最大值乘以预定阈值系数(例如0.7)以得到阈值,进行选择,使得只输出给出该阈值以上的归一化自相关函数的候选音调。在G.729中,采用下述手法:在开环音调搜索时将搜索范围分为3个区间,从各个区间中逐个候选地选择合计3个候选,从该3个候选中只选1个候选;但是也可以通过上述选择法从该3个候选中选择1个候选以上、3个候选以下的候选,在闭环音调搜索器中决定最终候选。选择出的候选音调周期被输出到第一闭环音调搜索器112。该候选音调选择器109的结构将用图4后述。
子帧分割器102从输入缓冲器输入作为编码对象的1帧数字信号串,将其分割为2个子帧,将第一子帧(时间上靠前的子帧)提供给第一目标计算器105,而将第二子帧(时间上靠后的子帧)提供给第二目标计算器106。
在第一目标计算器105中,用第一子帧的量化LPC即qa1、和未量化LPC即a1来构成量化合成滤波器和加权合成滤波器,在紧前帧的第二子帧中用第二滤波器状态更新器111求出的滤波器状态st1来计算除去量化合成滤波器的零输入响应后的加权输入语音信号(目标矢量),向第一闭环音调搜索器112、第一目标矢量更新器113、第一增益码本搜索器114、及第一滤波器状态更新器115输出目标矢量。
在第一冲激响应计算器120中,求用量化LPC即qa1构成的量化合成滤波器、和用未量化LPC即a1构成的加权合成滤波器级联连接所得的滤波器的冲激响应,输出到第一闭环音调搜索器112及第一音调周期化滤波器121。第一闭环音调搜索器112通过在从自适应码本119中取出的自适应码矢量上叠加第一冲激响应,来计算加权合成语音矢量(自适应码本分量),提取生成使该值和第一目标矢量之间的误差最小的自适应码矢量的音调。此时进行的音调搜索只对从候选音调选择器109输入的候选音调的近旁进行。
通过求出的音调而生成的自适应码矢量被输出到第一音源生成器122,用于音源矢量的生成,在自适应码矢量上叠加冲激响应而生成的第一自适应码合成矢量被输出到第一目标更新器113、第一滤波器状态更新器115、及第一增益码本搜索器114。第一目标更新器113从第一目标计算器105输出的第一目标矢量中,减去第一闭环音调搜索器112输出的第一自适应码合成矢量乘以最佳增益所得的积,来计算第一噪声码本搜索用目标矢量,输出到第一噪声码本搜索器123。第一噪声码本搜索器123通过在从噪声码本124中取出的噪声码矢量上叠加从第一音调周期化滤波器121输入的音调周期化后的第一冲激响应,来计算加权合成语音矢量(噪声码本分量),选出使其与第一噪声码本用目标矢量之间的误差最小的噪声码矢量。
选出的噪声码矢量通过音调周期化滤波器被周期化,输出到第一音源生成器122,用于音源矢量的生成。此外,在噪声码矢量上叠加音调周期化后的冲激响应而生成的第一噪声码合成矢量被输出到第一增益码本搜索器114及第一滤波器状态更新器115。设输入数据为x(n),n=0,1,...,39(子帧长度-1),音调周期为T,周期化增益为β,则第一音调周期化滤波器121对从第一冲激响应计算器120输入的冲激响应进行如上述式1所示的滤波,输出到第一噪声码本搜索器123。该滤波器所用的音调周期T是从第一闭环音调搜索器112输入的P1。
此外,式1中的β是紧前的子帧中的量化自适应码增益(音调增益)。第一增益码本搜索器114从第一目标计算器105、第一闭环音调搜索器112、及第一噪声码本搜索器123分别输入第一目标矢量、第一自适应码合成矢量、及第一噪声码合成矢量,从增益码本129中选择使第一目标矢量、和第一自适应码合成矢量乘以量化自适应码增益所得的积及第一噪声码合成矢量乘以量化噪声码增益所得的积之和的矢量之间的平方误差最小的、量化自适应码增益和量化噪声码增益的组合。
选择出的量化增益被输出到第一音源生成器122及第一滤波器状态更新器115,用于音源矢量的生成及合成滤波器的状态更新。第一音源生成器122将从第一闭环音调搜索器112输入的自适应码矢量、和从第一噪声码本搜索器123输入的音调周期化后的噪声码矢量分别乘以从第一增益码本搜索器114输入的量化增益(自适应码本分量)及量化增益(噪声码本分量),将乘以量化增益后的自适应码矢量和噪声码矢量相加,生成第一子帧的音源矢量。
生成的第一子帧的音源矢量被输出到自适应码本,来更新自适应码本。第一滤波器状态更新器115更新量化合成滤波器及加权合成滤波器级联连接所得的滤波器的状态。滤波器的状态如下来求:将从第一目标计算器105输入的目标矢量,减去乘以从第一增益码本搜索器114输出的量化增益(自适应码本分量)后的从第一闭环音调搜索器112输出的自适应码合成矢量、及乘以从第一增益码本搜索器114输出的量化增益(噪声码本分量)后的从第一噪声码本搜索器123输出的噪声码合成矢量。求出的滤波器状态作为st2被输出,用作第二子帧的滤波器状态,由第二目标计算器106使用。
第二目标计算器106用第二子帧的量化LPC即qa2、及未量化LPC即a2,来构成量化合成滤波器及加权合成滤波器,在第一子帧中用第一滤波器状态更新器115求出的滤波器状态st2计算除去量化合成滤波器的零输入响应后的加权输入语音信号(目标矢量),向第二闭环音调搜索器116、第二目标矢量更新器117、第二增益码本搜索器118、及第二滤波器状态更新器111输出第二目标矢量。
第二冲激响应计算器127求用量化LPC即qa2构成的量化合成滤波器、和用未量化LPC即a2构成的加权合成滤波器级联连接所得的滤波器的冲激响应,输出到第二闭环音调搜索器116及第二音调周期化滤波器128。第二闭环音调搜索器116通过在从自适应码本119中取出的自适应码矢量上叠加第二冲激响应,来计算加权合成语音矢量(自适应码本分量),提取生成使其与第二目标矢量之间的误差最小的自适应码矢量的音调。此时进行的音调搜索只对从第一闭环音调搜索器112输入的第一子帧的音调P1的近旁进行。通过求出的音调而生成的自适应码矢量被输出到第二音源生成器126,用于音源矢量的生成,在自适应码矢量上叠加冲激响应而生成的第二自适应码合成矢量被输出到第二目标更新器117、第二滤波器状态更新器111、及第二增益码本搜索器118。
第二目标更新器117从第二目标计算器106输出的第二目标矢量中,减去第二闭环音调搜索器116输出的第二自适应码合成矢量乘以最佳增益所得的积,来计算第二噪声码本搜索用目标矢量,输出到第二噪声码本搜索器125。第二噪声码本搜索器125通过在从噪声码本124中取出的噪声码矢量上叠加从第二音调周期化滤波器128输入的音调周期化后的第二冲激响应,来计算加权合成语音矢量(噪声码本分量),选出使其与第二噪声码本用目标矢量之间的误差最小的噪声码矢量。选出的噪声码矢量通过第二音调周期化滤波器被周期化,输出到第二音源生成器126,用于音源矢量的生成。
此外,在噪声码矢量上叠加音调周期化后的冲激响应而生成的第二噪声码合成矢量被输出到第二增益码本搜索器118及第二滤波器状态更新器111。设输入数据为x(n),n=0,1,...,39(子帧长度-1),音调周期为T,周期化增益为β,则第二音调周期化滤波器128对从第二冲激响应计算器127输入的冲激响应进行如上述式1所示的滤波,输出到第二噪声码本搜索器25。该滤波器所用的音调周期T是从第二闭环音调搜索器116输入的P2。第二增益码本搜索器118从第二目标计算器106、第二闭环音调搜索器116、及第二噪声码本搜索器125分别输入第二目标矢量、第二自适应码合成矢量、及第二噪声码合成矢量,从增益码本129中选择使第二目标矢量、和第二自适应码合成矢量乘以量化自适应码增益所得的积及第二噪声码合成矢量乘以量化噪声码增益所得的积之和的矢量之间的平方误差最小的、量化自适应码增益和量化噪声码增益的组合。选择出的量化增益被输出到第二音源生成器126及第二滤波器状态更新器111,用于音源矢量的生成及合成滤波器的状态更新。
第二音源生成器126将从第二闭环音调搜索器116输入的自适应码矢量、和从第二噪声码本搜索器125输入的音调周期化后的噪声码矢量分别乘以从第二增益码本搜索器118输入的量化增益(自适应码本分量)及量化增益(噪声码本分量),将乘以量化增益后的自适应码矢量和噪声码矢量相加,生成第二子帧的音源矢量。生成的第二子帧的音源矢量被输出到自适应码本,来更新自适应码本。第二滤波器状态更新器111更新量化合成滤波器及加权合成滤波器级联连接所得的滤波器的状态。
滤波器的状态如下来求:将从第二目标计算器106输入的目标矢量,减去乘以从第二增益码本搜索器118输出的量化增益(自适应码本分量)后的从第二闭环音调搜索器116输出的自适应码合成矢量、及乘以从第二增益码本搜索器118输出的量化增益(噪声码本分量)后的从第二噪声码本搜索器125输出的噪声码合成矢量。求出的滤波器状态作为st1被输出,用作下一帧的第一子帧的滤波器状态,由第一目标计算器105使用。自适应码本119将通过第一音源生成器122及第二音源生成器126生成的音源信号按时间排列来缓冲,存储闭环音调搜索所需长度的过去生成的音源信号。
自适应码本的更新对每个子帧进行1次,将自适应码本的缓冲器移位1个子帧后,新生成的音源信号被复制到缓冲器的最后。在通过子帧分割器102分割出的量化对象信号中,先进行第一子帧的编码处理,在第一子帧的编码处理全部结束后,进行第二子帧的编码处理,第二子帧的音调P2用第一子帧的音调P1进行差分量化,传输到解码器端。
1帧的处理结束后,从LPC量化器107输出的LPC数据L、从第一闭环音调搜索器112输出的音调P1、从第一噪声码本搜索器123输出的噪声码矢量数据S1、从第一增益码本搜索器114输出的增益数据G1、从第二闭环音调搜索器116输出的音调P2、从第二噪声码本搜索器125输出的噪声码矢量数据S2、及从第二增益码本搜索器118输出的增益数据G2被编码,作为比特串经传输线路输出到解码器。
接着,用图4来说明候选音调选择器109的细节。在图4中,归一化自相关函数计算器201将加权输入语音信号作为输入,计算其归一化自相关函数,输出到分类部件即区间分割器202。区间分割器202将从归一化自相关函数计算器201输出的归一化自相关函数通过音调滞后(ピツチラゲ)值分割为3个区间,分别输出到第一最大值搜索器203、第二最大值搜索器204、及第三最大值搜索器205。
第一最大值搜索器203将区间分割器202分割出的第一区间的自相关函数作为输入,从其中将归一化自相关函数的最大值和给出该最大值的音调滞后值输出到候选选择器207,而将上述自相关函数的最大值输出到第四最大值搜索器206。第二最大值搜索器204将区间分割器202分割出的第二区间的自相关函数作为输入,从其中将归一化自相关函数的最大值和给出该最大值的音调滞后值输出到选择器207,而将上述自相关函数的最大值输出到第四最大值搜索器206。第三最大值搜索器205将区间分割器202分割出的第三区间的自相关函数作为输入,从其中将归一化自相关函数的最大值和给出该最大值的音调滞后值输出到选择器207,而将上述自相关函数的最大值输出到第四最大值搜索器206。
第四最大值搜索器206从第一最大值搜索器203、第二最大值搜索器204、及第三最大值搜索器205输入各区间中归一化自相关函数的最大值,将其中的最大值输出到阈值计算器208。阈值计算器208将从第四最大值搜索器206输出的归一化自相关函数的最大值作为输入,将其乘以阈值常数来计算阈值,输出到候选选择器207。候选选择器207从第一最大值搜索器203、第二最大值搜索器204、及第三最大值搜索器205分别输入各区间中归一化自相关函数的最大值和给出该最大值的音调滞后值,只选择给出超过从阈值计算器208输入的阈值的归一化自相关函数的音调滞后,输出该音调滞后和选择出的音调滞后的个数。
在现有开环音调搜索器9中,在相当于候选选择器207的模块中,不输出多个候选音调,而是在对3个区间中求出的归一化自相关函数的最大值进行加权后,只输出1个候选。该加权是如果选短的音调滞后则容易进行的加权,用于避免倍音调错误等。这对具有2种以上的音调周期性的信号等未必有效。由于将候选数缩小到1个,所以有时未必输出最佳的作为自适应码本的音调滞后。
本发明为了解决该问题,不进行加权处理,而是输出多个候选音调,在闭环音调搜索时决定音调。由此,对于具有2种以上音调周期性的信号等,也能够在自适应码本中选择最佳的音调。此外,由于在计算自相关的情况下能够防止选择相关值不太高的候选,所以不会对进行差分量化的子帧的音调造成恶劣影响。
作为保留多个候选音调的方法,也提出始终保留确定个数个候选,但是在该情况下,第一子帧特有的音调被最终选出,常常对进行差分量化的第二子帧的音调造成恶劣影响。因此,在本发明中,通过包括候选选择器207,在整个1帧中计算自相关的情况下,不输出相关值不太高的候选。由此,不将不适用差分量化的子帧特有的音调作为预备选择候选而输出。在进行用于避免倍音调错误的加权的情况下,能够在闭环音调搜索中最终决定音调时进行。在图4中,区间分割器202将区间分为3个,但是也可以分割为此以外的数目。
图5是图4所示的候选音调选择器109的处理内容的流程图。在图5中,首先,在步骤(以下,省略为ST)101中,计算加权输入信号的归一化自相关函数ncor[n],Pmin≤n≤Pmax(Pmin是音调搜索范围的下限,Pmax是音调搜索范围的上限)。
接着,在ST102中,求第一区间(Pmin≤n≤Pmax1,Pmax1是第一区间中音调的上限)中给出归一化自相关函数的最大值的音调滞后P1。接着,在ST103中,求第二区间(Pmin≤n≤Pmax2,Pmax2是第二区间中音调的上限)中给出归一化自相关函数的最大值的音调滞后P2。接着,在ST104中,求第三区间(Pmin2≤n≤Pmax)中给出归一化自相关函数的最大值的音调滞后P3。ST102、ST103、ST104的处理顺序是任意的。
求出P1、P2、及P3后,在ST105中,从ncor[P1]、ncor[P2]、及ncor[P3]中选最大值作为ncor max。接着,在ST306中,对循环计数i和候选音调数计数ncand进行复位。接着,在ST307中,检查ncor[Pi]是否超过阈值Th*ncor_max(Th是用于设定阈值的常数),如果ncor[Pi]超过阈值,则进行ST308的处理,将Pi作为候选音调,递增候选计数ncand。在ncor[Pi]不满阈值的情况下,跳过ST308。在ST308的处理后,在ST309中,循环计数i递增。循环计数在跳过ST308的处理的情况下也同样递增。
在ST309中递增循环计数后,在ST310中,检查循环计数是否小于3,在小于3的情况下,返回到ST307,重复循环处理,对在3个区间中求出的全部候选进行阈值处理。在ST310中,如果循环计数超过3,则由于对在3个区间中求出的全部候选完成了阈值处理,所以循环处理结束,在ST311中,输出候选音调数ncand及候选音调pcand[n],0≤n≤ncand,候选音调选择的处理结束。
此外,图6是本发明实施例1中语音解码装置的结构方框图。以下,参照图6来说明其结构及操作。在图6中,LPC解码器401根据从编码器端传输的LPC的信息L对LPC进行解码,输出到LPC插值器402。LPC插值器402输入从LPC解码器401输出的LPC进行插值处理后,将第一及第二子帧的量化(解码)LPC、即qa1及qa2输出到合成滤波器411。自适应码矢量解码器403输入从编码器端传输来的第一子帧及第二子帧的音调信息P1及P2,根据音调P1及P2从自适应码本404中取出自适应码矢量,输出到音源生成器410。
自适应码本404按每个子帧来更新并缓冲从音源生成器410输出的音源矢量,输出到自适应码矢量解码器403。噪声码矢量解码器405输入从编码器端传输来的第一及第二子帧的噪声码本信息S1、S2,将与S1、S2对应的噪声码矢量从噪声码本406中取出,输出到音调周期化滤波器409。噪声码本406保存与编码器的内容相同的内容,将噪声码矢量输出到噪声码矢量解码器。增益解码器407输入从编码器端传输来的第一及第二子帧的增益信息G1、G2,将与G1、G2对应的增益从增益码本408中取出,对量化增益进行解码,输出到音源生成器410。
增益码本408保存与编码器的内容相同的内容,将量化增益输出到增益解码器407。音调周期化滤波器409将从噪声码矢量解码器输出的噪声码矢量、和从编码器端传输来的音调信息P1、P2作为输入,对噪声码矢量进行音调周期化,输出到音源生成器410。音源生成器410将自适应码矢量、音调周期化过的噪声码矢量、及解码增益分别从自适应码矢量解码器403、音调周期化滤波器409、及增益解码器407输入,将生成的音源矢量输出到合成滤波器411及自适应码本404。
合成滤波器411用从LPC插值器402输出的qa1、qa2来构筑合成滤波器,将从音源生成器410输出的音源矢量作为滤波器输入进行滤波处理,向子帧缓冲器412输出解码语音信号。子帧缓冲器412存储1子帧从合成滤波器411输出的解码语音信号,输出到帧缓冲器413。帧缓冲器413将从子帧缓冲器412输出的1子帧解码语音信号作为输入,存储1帧(2个子帧)并输出。
参照图6来说明具有上述结构的解码装置的操作。从编码器端传输来的LPC信息L通过LPC解码器401进行解码。解码LPC通过LPC插值器402进行与编码器端同样的插值处理,得到第一子帧的量化LPC即qa1、和第二子帧的量化LPC即qa2。qa1用于构成第一子帧的合成滤波器,qa2用于构成第二子帧的合成滤波器。
从编码器端传输来的第一及第二子帧的音调信息P1、P2被输入到自适应码矢量解码器403及音调周期化滤波器409。首先,用P1将第一子帧的自适应码矢量从自适应码本404中取出,作为解码自适应码矢量而输出到音源生成器410。从编码器端传输来的第一及第二子帧的噪声码信息S1、S2被输入到噪声码矢量解码器,首先,用S1将第一子帧的噪声码矢量从噪声码本406中取出,输出到音调周期化滤波器409。
音调周期化滤波器409与编码器端同样根据上述式1用音调周期P1进行噪声码矢量的音调周期化,输出到音源生成器410。从编码器端传输来的增益信息G1、G2被输入到增益解码器407,首先,用G1将第一子帧的增益从增益码本408中取出,对自适应码增益及噪声码增益进行解码,输出到音源生成器410。音源生成器410将从自适应码矢量解码器403输出的自适应码矢量乘以从增益解码器407输出的自适应码增益所得的矢量、和从音调周期化滤波器409输出的音调周期化后的噪声码矢量及从增益解码器407输出的噪声码增益相乘所得的矢量相加,输出到合成滤波器。
输出到合成滤波器的解码音源矢量同时也被输出到自适应码本404,成为下一子帧所用的自适应码本的一部分。合成滤波器411将从音源生成器410输出的解码音源矢量作为输入,通过用qa1构成的合成滤波器来合成第一子帧的解码语音,输出到子帧缓冲器412。接着,用第二子帧的音调信息P2、噪声码信息S2、增益信息G2、及解码LPC即qa2进行同样的语音解码处理。最后,从解码器输出帧缓冲器413中缓冲的2个子帧(1帧)解码语音信号,结束1帧的语音信号的解码处理。
这样,根据上述实施例,能够实现语音编码装置及语音编码解码装置,在由包含差分量化的子帧的输入数据来求候选音调时,通过保留1个以上的候选,(与只保留一个候选的情况相比),能够实现精度更好的音调搜索,而且通过过多地保留多个候选,能够回避选择不差分量化的子帧特有的音调的危险性。
(实施例2)
图7是本发明实施例2的语音编码装置的结构方框图。该语音编码装置具有下述结构:不是用加权输入信号、而是用残差信号进行候选音调的选择,不进行噪声码矢量的音调周期化。
在图7中,输入缓冲器501将输入数字语音信号逐帧更新并缓冲编码所需长度的数据,输出子帧分割器502、LPC分析器503、及逆滤波器504所需的数据。子帧分割器502将从输入缓冲器501输入的1帧输入数字信号分割为2个子帧,将第一子帧的信号输出到第一目标计算器505,将第二子帧的信号输出到第二目标计算器506。LPC分析器503从输入缓冲器501输入分析所需的数字语音信号,进行LPC分析,将线性预测系数输出到LPC量化器507及第二LPC插值器508。
逆滤波器504将从输入缓冲器501输入的1帧数字语音信号、和从第一LPC插值器510输出的线性预测系数qa1、qa2作为输入,进行输入语音信号的逆滤波处理,输出到候选音调选择器509。LPC量化器507对从LPC分析器503输出的线性预测系数进行量化,将量化LPC输出到第一LPC插值器510,同时将量化LPC的编码数据L输出到解码器。第二LPC插值器508将从LPC分析器503输出的LPC作为输入,进行第一子帧的LPC的插值,将第一及第二子帧的LPC分别作为a1、a2而输出。
第一LPC插值器510将从LPC量化器507输出的量化LPC作为输入,进行第一子帧的量化LPC的插值,将第一及第二子帧的量化LPC分别作为qa1、qa2而输出。第一目标计算器505将子帧分割器502分割出的第一子帧的数字语音信号、紧前的第二子帧中从第二滤波器状态更新器511输出的滤波器状态st1、以及第一子帧的量化及未量化LPC即qa1及a1作为输入,计算第一目标矢量,输出到第一闭环音调搜索器512、第一噪声码本搜索器513、第一增益码本搜索器514、及第一滤波器状态更新器515。
第二目标矢量更新器506将从子帧分割器502输出的第二子帧的数字语音信号、当前帧的第一子帧中从第一滤波器状态更新器515输出的滤波器状态st2、以及第二子帧的量化及未量化LPC即qa2及a2作为输入,计算第二目标矢量,输出到第二闭环音调搜索器516、第二目标更新器517、第二增益码本搜索器518、及第二滤波器状态更新器511。候选音调选择器509将从逆滤波器504输出的残差信号作为输入,进行音调周期性的提取,将候选音调周期输出到第一闭环音调搜索器512。
第一闭环音调搜索器512将第一目标矢量、候选音调、候选自适应码矢量、及冲激响应矢量分别从第一目标计算器505、候选音调选择器509、自适应码本519、及第一冲激响应计算器520输入,从各候选音调中进行闭环音调搜索,将闭环音调输出到第二闭环音调搜索器516及解码器,将自适应码矢量输出到第一音源生成器521,将在自适应码矢量上叠加第一冲激响应所得的合成矢量输出到第一噪声码本搜索器513、第一增益码本搜索器514、及第一滤波器状态更新器515。第一噪声码本搜索器513将第一目标矢量、第一自适应码合成矢量、及第一冲激响应矢量分别从第一目标计算器505、第一闭环音调搜索器512及第一冲激响应矢量计算器520输入,将从噪声码本522输出的候选噪声码矢量作为输入,从噪声码本522中选择最佳的噪声码矢量,将选择出的噪声码矢量输出到第一音源生成器521,将在选择出的噪声码矢量上叠加第一冲激响应矢量所得的合成矢量输出到第一增益码本搜索器514及第一滤波器状态更新器515,将表示选择出的噪声码矢量的代码S1输出到解码器。
第一增益码本搜索器514将第一目标矢量、第一自适应码合成矢量、及第一噪声码合成矢量分别从第一目标计算器505、第一闭环音调搜索器512、及第一噪声码本搜索器513输入,从增益码本523中选择最佳的量化增益,输出到第一音源生成器521及第一滤波器状态更新器515。第一滤波器状态更新器515将第一目标矢量、第一自适应码合成矢量、第一噪声码合成矢量、及第一量化增益分别从第一目标矢量计算器505、第一闭环音调搜索器512、第一噪声码本搜索器513、及第一增益码本搜索器514输入,进行合成滤波器的状态更新,输出滤波器状态st2。第一冲激响应计算器520将第一子帧的未量化LPC即a1、及第一子帧的量化LPC即qa1作为输入,计算将听觉加权滤波器和合成滤波器级联连接所得的滤波器的冲激响应,输出到第一闭环音调搜索器512及第一噪声码本搜索器513。
噪声码本522保存预定数目个具有预定形状的噪声码矢量,将噪声码矢量输出到第一噪声码本搜索器513及第二噪声码本搜索器517。第一音源生成器521将自适应码矢量、噪声码矢量、及量化增益分别从第一闭环音调搜索器512、第一噪声码本搜索器513、及第一增益码本搜索器514输入,生成音源矢量,将生成的音源矢量输出到自适应码本519。
自适应码本519将从第一音源生成器521及第二音源生成器524交替输出的音源矢量作为输入,更新自适应码本,将候选自适应码矢量交替输出到第一闭环音调搜索器512及第二闭环音调搜索器516。增益码本523保存预先准备的量化增益(自适应码矢量分量和噪声码矢量分量),输出到第一增益码本搜索器514及第二增益码本搜索器518。
第二闭环音调搜索器516将第二目标矢量、第一子帧的音调、候选自适应码矢量、及冲激响应矢量分别从第二目标计算器506、第一闭环音调搜索器512、自适应码本519、及第二冲激响应计算器525输入,在第一子帧的音调的近旁进行闭环音调搜索,将闭环音调作为P2输出到解码器(这里,P2用P1进行差分量化后传输到解码器端),将自适应码矢量输出到第二音源生成器524,将在自适应码矢量上叠加第二冲激响应所得的合成矢量输出到第二噪声码本搜索器517、第二增益码本搜索器518、及第二滤波器状态更新器511。
第二增益码本搜索器518将第二目标矢量、第二自适应码合成矢量、及第二噪声码合成矢量分别从第二目标计算器506、第二闭环音调搜索器516、及第二噪声码本搜索器517输入,从增益码本中选择最佳的量化增益,输出到第二音源生成器524及第二滤波器状态更新器511。第二滤波器状态更新器511将第二目标矢量、第二自适应码合成矢量、第二噪声码合成矢量、及第二量化增益分别从第二目标矢量计算器506、第二闭环音调搜索器516、第二噪声码本搜索器517、及第二增益码本搜索器518输入,进行合成滤波器的状态更新,输出滤波器状态st1。
第二冲激响应计算器525将第二子帧的LPC即a2、及第二子帧的量化LPC即qa2作为输入,计算将听觉加权滤波器和合成滤波器级联连接所得的滤波器的冲激响应,输出到第二闭环音调搜索器516及第二噪声码本搜索器517。第二噪声码本搜索器517将从第二目标计算器506输出的第二目标矢量、及从第二闭环音调搜索器516输出的第二自适应码合成矢量、从第二冲激响应计算器525输出的第二冲激响应矢量、及从噪声码本522输出的候选噪声码矢量作为输入,从噪声码本522中选择最佳的噪声码矢量,将对选择出的噪声码矢量输出到第二音源生成器524,将在选择出的噪声码矢量上叠加第二冲激响应矢量所得的合成矢量输出到第二增益码本搜索器518及第二滤波器状态更新器511,将表示选择出的噪声码矢量的代码S2输出到解码器。第二音源生成器524将自适应码矢量、噪声码矢量、及量化增益分别从第二闭环音调搜索器516、第二噪声码本搜索器517、及第二增益码本搜索器518输入,生成音源矢量,将生成的音源矢量输出到自适应码本519。
从LPC量化器507输出的LPC数据L、从第一闭环音调搜索器512输出的音调P1、从第一噪声码本搜索器513输出的噪声码矢量数据S1、从第一增益码本搜索器514输出的增益数据G1、从第二闭环音调搜索器516输出的音调P2、从第二噪声码本搜索器517输出的噪声码矢量数据S2、及从第二增益码本搜索器518输出的增益数据G2被编码,作为比特串经传输线路输出到解码器(P2用P1进行差分量化)。此外,第二子帧的处理在第一子帧的处理全部结束后进行。
以下,参照图7至图9来说明具有上述结构的语音编码装置的操作。首先,在图7中,语音信号被输入到输入缓冲器501。输入缓冲器501将输入的作为编码对象的数字语音信号以1帧(10ms)为单位进行更新,向子帧分割器502、LPC分析器503、及逆滤波器504提供必要的缓冲数据。LPC分析器503用从输入缓冲器501提供的数据进行线性预测分析,计算线性预测系数(LPC),输出到LPC量化器507及第二LPC插值器508。
LPC量化器507将LPC变换到LSP域进行量化,将量化LSP输出到第一LPC插值器510。第一LPC插值器510将输入的量化LSP作为第二子帧的量化LSP,第一子帧的量化LSP通过紧前帧的第二子帧的量化LSP和当前帧的第二子帧的量化LSP之间的线性插值进行插值来求。得到的第一及第二子帧的量化LSP被变换为LPC后,作为量化LPC分别作为qa1、qa2被输出。在第二LPC插值器508中,将输入的未量化LPC变换为LSP后,与第一LPC插值器510同样,第一子帧的LSP被插值,在第一及第二子帧的LSP被决定后,被变换为LPC后,作为未量化LPC分别作为a1、a2被输出。
逆滤波器504从输入缓冲器501输入1帧(10ms)作为量化对象的数字数据串,通过用量化LPC即qa1、qa2构成的逆滤波器进行滤波来计算残差信号,输出到候选音调选择器509。候选音调选择器509对过去生成的残差信号进行缓冲,将新生成的残差信号附加到缓冲器中,由附加后的数据串来求归一化自相关函数,根据此来提取残差信号的周期。此时,按照归一化自相关函数从大到小的顺序,选择确定数目以下的候选音调。选择用归一化自相关函数来进行,将归一化自相关函数的最大值乘以预定阈值系数(例如0.7)以得到阈值,进行选择,使得只输出给出该阈值以上的归一化自相关函数的候选音调。选择出的候选音调周期被输出到第一闭环音调搜索器512。该候选音调选择器的结构将用图8后述。
子帧分割器502从输入缓冲器输入作为编码对象的1帧数字信号串,将其分割为2个子帧,将第一子帧(时间上靠前的子帧)提供给第一目标计算器505,而将第二子帧(时间上靠后的子帧)提供给第二目标计算器506。
第一目标计算器505用第一子帧的量化LPC即qa1、和未量化LPC即a1来构成量化合成滤波器和加权合成滤波器,在紧前帧的第二子帧中用第二滤波器状态更新器511求出的滤波器状态st1来计算除去量化合成滤波器的零输入响应后的加权输入语音信号(第一目标矢量),向第一闭环音调搜索器512、第一噪声码本搜索器513、第一增益码本搜索器514、及第一滤波器状态更新器515输出第一目标矢量。
第一冲激响应计算器520求用量化LPC即qa1构成的量化合成滤波器、和用未量化LPC即a1构成的加权合成滤波器级联连接所得的滤波器的冲激响应,输出到第一闭环音调搜索器512及第一噪声码本搜索器513。第一闭环音调搜索器512通过在从自适应码本519中取出的自适应码矢量上叠加第一冲激响应,来计算加权合成语音矢量(自适应码本分量),提取生成使其和第一目标矢量之间的误差最小的自适应码矢量的音调。此时进行的音调搜索用从候选音调选择器509输入的候选音调进行,从候选音调中进行选择。
通过求出的音调而生成的自适应码矢量被输出到第一音源生成器521,用于音源矢量的生成,在自适应码矢量上叠加冲激响应而生成的第一自适应码合成矢量被输出到第一噪声码本搜索器513、第一滤波器状态更新器515、及第一增益码本搜索器514。第一噪声码本搜索器513通过在从噪声码本522中取出的噪声码矢量上叠加从第一冲激响应计算器520输入的第一冲激响应,来计算加权合成语音矢量(噪声码本分量),在与第一自适应码合成矢量进行组合的情况下,选出使其与第一目标矢量之间的误差最小的噪声码矢量。
选出的噪声码矢量被输出到第一音源生成器521,用于音源矢量的生成。此外,在噪声码矢量上叠加第一冲激响应而生成的第一噪声码合成矢量被输出到第一增益码本搜索器514及第一滤波器状态更新器515。第一增益码本搜索器514从第一目标计算器505、第一闭环音调搜索器512、及第一噪声码本搜索器513分别输入第一目标矢量、第一自适应码合成矢量、及第一噪声码合成矢量,从增益码本523中选择使第一目标矢量、和第一自适应码合成矢量乘以量化自适应码增益所得的积及第一噪声码合成矢量乘以量化噪声码增益所得的积之和的矢量之间的平方误差最小的、量化自适应码增益和量化噪声码增益的组合。
选择出的量化增益被输出到第一音源生成器521及第一滤波器状态更新器515,用于音源矢量的生成及合成滤波器的状态更新。第一音源生成器521将从第一闭环音调搜索器512输入的自适应码矢量、和从第一噪声码本搜索器514输入的噪声码矢量分别乘以从第一增益码本搜索器514输入的量化增益(自适应码本分量)及量化增益(噪声码本分量),将乘以量化增益后的自适应码矢量和噪声码矢量相加,生成第一子帧的音源矢量。
生成的第一子帧的音源矢量被输出到自适应码本,来更新自适应码本。第一滤波器状态更新器515更新量化合成滤波器及加权合成滤波器级联连接所得的滤波器的状态。滤波器的状态如下来求:将从第一目标计算器505输入的目标矢量,减去乘以从第一增益码本搜索器514输出的量化增益(自适应码本分量)后的从第一闭环音调搜索器512输出的自适应码合成矢量、及乘以从第一增益码本搜索器514输出的量化增益(噪声码本分量)后的从第一噪声码本搜索器513输出的噪声码合成矢量。求出的滤波器状态作为st2被输出,作为第二子帧的滤波器状态,由第二目标计算器506使用。
第二目标计算器506用第二子帧的量化LPC即qa2、及未量化LPC即a2,来构成量化合成滤波器及加权合成滤波器,在第一子帧中用第一滤波器状态更新器515求出的滤波器状态st2计算除去量化合成滤波器的零输入响应后的输入语音信号(第二目标矢量),向第二闭环音调搜索器516、第二噪声码本搜索器517、第二增益码本搜索器518、及第二滤波器状态更新器511输出第二目标矢量。
第二冲激响应计算器525求用量化LPC即qa2构成的量化合成滤波器、和用未量化LPC即a2构成的加权合成滤波器级联连接所得的滤波器的冲激响应,输出到第二闭环音调搜索器516及第二噪声码本搜索器517。第二闭环音调搜索器516通过在从自适应码本519中取出的自适应码矢量上叠加第二冲激响应,来计算加权合成语音矢量(自适应码本分量),提取生成使其与第二目标矢量之间的误差最小的自适应码矢量的音调。此时进行的音调搜索只对从第一闭环音调搜索器512输入的第一子帧的音调Pl的近旁进行。
通过求出的音调而生成的自适应码矢量被输出列第二音源生成器524,用于音源矢量的生成,在自适应码矢量上叠加冲激响应而生成的第二自适应码合成矢量被输出到第二噪声码本搜索器517、第二滤波器状态更新器511、及第二增益码本搜索器518。第二噪声码本搜索器517通过在从噪声码本522中取出的噪声码矢量上叠加从第二冲激响应计算器525输入的第二冲激响应,来计算加权合成语音矢量(噪声码本分量),在与第二自适应码合成矢量进行组合的情况下,选出使其与第二目标矢量之间的误差最小的噪声码矢量。
选出的噪声码矢量被输出到第二音源生成器524,用于音源矢量的生成。此外,在噪声码矢量上叠加第二冲激响应而生成的第二噪声码合成矢量被输出到第二增益码本搜索器518及第二滤波器状态更新器511。第二增益码本搜索器518从第二目标计算器506、第二闭环音调搜索器516、及第二噪声码本搜索器517分别输入第二目标矢量、第二自适应码合成矢量、及第二噪声码合成矢量,从增益码本523中选择使第二目标矢量、和第二自适应码合成矢量乘以量化自适应码增益所得的积及第二噪声码合成矢量乘以量化噪声码增益所得的积之和的矢量之间的平方误差最小的、量化自适应码增益和量化噪声码增益的组合。
选择出的量化增益被输出到第二音源生成器524及第二滤波器状态更新器511,用于音源矢量的生成及合成滤波器的状态更新。第二音源生成器524将从第二闭环音调搜索器516输入的自适应码矢量、和从第二噪声码本搜索器525输入的噪声码矢量分别乘以从第二增益码本搜索器518输入的量化增益(自适应码本分量)及量化增益(噪声码本分量),将乘以量化增益后的自适应码矢量和噪声码矢量相加,生成第二子帧的音源矢量。生成的第二子帧的音源矢量被输出到自适应码本519,来更新自适应码本519。
第二滤波器状态更新器511更新量化合成滤波器及加权合成滤波器级联连接所得的滤波器的状态。滤波器的状态如下来求:将从第二目标计算器506输入的目标矢量,减去乘以从第二增益码本搜索器518输出的量化增益(自适应码本分量)后的从第二闭环音调搜索器516输出的自适应码合成矢量、及乘以从第二增益码本搜索器518输出的量化增益(噪声码本分量)后的从第二噪声码本搜索器517输出的噪声码合成矢量。求出的滤波器状态作为st1被输出,用作下一帧的第一子帧的滤波器状态,由第一目标计算器505使用。
自适应码本519将通过第一音源生成器521及第二音源生成器524生成的音源信号按时间排列来缓冲,存储闭环音调搜索所需长度的过去生成的音源信号。自适应码本的更新对每个子帧进行1次,将自适应码本的缓冲器移位1个子帧后,新生成的音源信号被复制到缓冲器的最后。在通过子帧分割器502分割出的量化对象信号中,先进行第一子帧的编码处理,在第一子帧的编码处理全部结束后,进行第二子帧的编码处理,第二子帧输出的音调P2用第一子帧的音调P1进行差分量化。
1帧的处理结束后,从LPC量化器507输出的LPC数据L、从第一闭环音调搜索器512输出的音调P1、从第一噪声码本搜索器513输出的噪声码矢量数据S1、从第一增益码本搜索器514输出的增益数据G1、从第二闭环音调搜索器516输出的音调P2、从第二噪声码本搜索器517输出的噪声码矢量数据S2、及从第二增益码本搜索器518输出的增益数据G2被编码,作为比特串经传输线路输出到解码器。
接着,用图8来说明候选音调选择器509的细节。在图8中,归一化自相关函数计算器601将残差信号作为输入,计算其归一化自相关函数,输出到第一候选选择器602。第一候选选择器602从归一化自相关函数计算器601输出的归一化自相关函数中,在音调的搜索范围内按值从大到小的顺序,将预定数目个(例如NCAND个)作为候选音调输出到最大值搜索器603及第二候选选择器605。
最大值搜索器603从第一候选选择器602输出的前NCAND个归一化自相关函数中,将最大值(音调搜索范围内成为最大值的归一化自相关函数的值)输出到阈值计算器604。阈值计算器604将从最大值搜索器603输出的最大归一化自相关函数的值乘以预定的阈值常数Th,输出到第二候选选择器605。第二候选选择器605从第一候选选择器602输出的NCAND个候选中,只选择给出超过从阈值计算器604输出的阈值的归一化自相关函数的候选音调,作为候选音调而输出。
在与这种本发明实施例相对的现有候选音调选择器中,一般将从第一候选选择器602输出的候选音调原封不动地输出(到闭环音调搜索器)。该处理的流程图示于图2。在图2中,首先,在ST1中,求残差信号的归一化自相关函数ncor[n](Pmin≤n≤Pmax,Pmin是音调搜索范围的下限,Pmax是音调搜索范围的上限);接着,在ST2中,对候选音调计数(循环计数)i进行清零;接着在ST3中,选择使ncor[n](Pmin≤n≤Pmax)最大的n作为候选音调Pi;接着在ST4中,用最小值MIN清除ncor[Pi],将Pi作为第(i+1)个候选音调而存储到pcand[i],递增候选音调计数(循环计数)i;接着,在ST5中,判定是否到达候选音调计数(循环计数)i被预定的候选数NCAND,如果未到达NCAND,则重复ST3至ST5的循环处理,而如果到达NCAND,则结束循环处理,移至ST6的处理,输出NCAND个候选音调。
然而,如果采用这样仅仅选择前NCAND个归一化自相关函数大的方法,则有时将归一化自相关函数不太大的也在较后次序上保留为候选。此外,有时这种候选对第一子帧的相关高,但是对第二子帧的相关低。在此情况下,如果在第一子帧中进行闭环音调搜索,则有时即使在候选选择器602中(在图2中,是在选择出的候选音调中)次序低,在第一子帧中的闭环音调搜索中也作为音调被选择。由于这种音调是第一子帧特有的,所以在对第二子帧的音调进行差分量化的情况下,使编码语音品质大大恶化。
本发明为了解决该问题一边输出多个候选音调,一边通过包括第二候选选择器605,在整个1帧中计算自相关的情况下,使得不输出相关值不太高的候选,避免第1子帧特有的音调在第1子帧的闭环音调搜索时被选。
图9是图8所示的候选音调选择器509的处理内容的流程图。在图9中,首先,在ST201中,计算残差信号的归一化自相关函数ncor[n],Pmin≤n≤Pmax(Pmin是音调搜索范围的下限,Pmax是音调搜索范围的上限)。接着,在ST202中,对候选数i进行清零。接着,在ST203中,选择使ncor[n]最大的n(Pmin≤n≤Pmax)作为P0。接着,在ST204中,将ncor[P0]的值代入ncor_max后,用MIN(最小值)清除ncor[P0],将P0作为第一候选音调而存储到pcand[0],递增候选计数i。
接着,在ST205,进行与ST203进行的处理相同的处理,选择使ncor[n]最大的n(Pmin≤n≤Pmax)作为Pi。接着,在ST206中,判定ncor[Pi]是否大于阈值Th×ncor_max。这里,Th是设定阈值的常数。在ST206中,如果判定为ncor[Pi]大于阈值,则进行ST207的处理,ncor[Pi]用MIN清除,Pi作为第(i+1)个候选音调而存储到pcand[i],递增候选计数i。在ST207后,在ST208中,判定是否到达候选计数i被预定的数(NCAND),如果未到达NCAND,则返回到ST205的处理,重复ST205、ST206、ST207的候选选择的循环处理。
在ST208中,如果循环计数i到达NCAND,则结束候选选择的循环处理,移至ST209的处理。此外,在ST206中,在ncor[Pi]不满阈值的情况下,处理也移至ST209,转移到计数候选选择的处理。在ST209中,候选计数i的值被存储到候选数ncan。最后,在ST210中,输出候选音调pcand[n](0≤n≤ncan)和候选音调数ncan。
图10是本发明实施例2中解码装置的方框图。以下,参照图10来说明其结构及操作。在图10中,LPC解码器801根据从编码器端传输的LPC的信息L对LPC进行解码,输出到LPC插值器802。LPC插值器802输入从LPC解码器801输出的LPC进行插值处理后,将第一及第二子帧的量化(解码)LPC、即qa1及qa2输出到合成滤波器810。
自适应码矢量解码器803输入从编码器端传输来的第一子帧及第二子帧的音调信息P1及P2,根据音调P1及P2从自适应码本804中取出自适应码矢量,输出到音源生成器809。
自适应码本804按每个子帧来更新并缓冲从音源生成器809输出的音源矢量,输出到自适应码矢量解码器。噪声码矢量解码器805输入从编码器端传输来的第一及第二子帧的噪声码本信息S1、S2,将与S1、S2对应的噪声码矢量从噪声码本中取出,输出到音源生成器809。噪声码本806保存与编码器端的码本相同的内容,将噪声码矢量输出到噪声码矢量解码器805。
增益解码器807输入从编码器端传输来的第一及第二子帧的增益信息G1、G2,将与G1、G2对应的增益从增益码本808中取出,对量化增益进行解码,输出到音源生成器809。增益码本808保存与编码器的内容相同的内容,将量化增益输出到增益解码器807。音源生成器809将自适应码矢量、噪声码矢量、及解码增益分别从自适应码矢量解码器803、噪声码矢量解码器805、及增益解码器807输入,将生成的音源矢量输出到合成滤波器810及自适应码本804。
合成滤波器810用从LPC插值器802输出的qa1、qa2来构筑合成滤波器,将从音源生成器809输出的音源矢量作为滤波器输入进行滤波处理,向子帧缓冲器811输出解码语音信号。子帧缓冲器811存储1子帧从合成滤波器810输出的解码语音信号,输出到帧缓冲器812。帧缓冲器812将从子帧缓冲器811输出的1子帧解码语音信号作为输入,存储1帧(2个子帧)并输出。
对于具有上述结构的解码器,以下参照图10来说明其操作。从编码器端传输来的LPC信息L通过LPC解码器801进行解码。解码LPC通过LPC插值器802进行与编码器端同样的插值处理,得到第一子帧的量化LPC即qa1、和第二子帧的量化LPC即qa2。插值处理是通过紧前帧中解码过的qa2及当前帧中解码过的qa2的LSP域中的线性插值来求qa1的处理。qa2原封不动地使用由传输来的LPC信息L解码过的LPC。qa1用于构成第一子帧的合成滤波器,qa2用于构成第二子帧的合成滤波器。
从编码器端传输来的第一及第二子帧的音调信息P1、P2被输入到自适应码矢量解码器803。这里,由于P2用P1进行差分量化,所以实际上第二子帧所用的音调通过“P1+P2”来求。
首先,用P1将第一子帧的自适应码矢量从自适应码本804中取出,作为解码自适应码矢量而输出到音源生成器809。从编码器端传输来的第一及第二子帧的噪声码信息S1、S2被输入到噪声码矢量解码器,首先,用S1将第一子帧的噪声码矢量从噪声码本806中取出,输出到音源生成器809。
从编码器端传输来的增益信息G1、G2被输入到增益解码器807,首先,用G1将第一子帧的增益从增益码本808中取出,对自适应码增益及噪声码增益进行解码,输出到音源生成器809。音源生成器809将从自适应码矢量解码器803输出的自适应码矢量乘以从增益解码器807输出的自适应码增益所得的矢量、和从噪声码矢量解码器805输出的噪声码矢量及从增益解码器807输出的噪声码增益相乘所得的矢量相加,输出到合成滤波器。
输出到合成滤波器的解码音源矢量同时也被输出到自适应码本804,成为下一子帧所用的自适应码本的一部分。合成滤波器810将从音源生成器809输出的解码音源矢量作为输入,通过用qa1构成的合成滤波器来合成第一子帧的解码语音,输出到子帧缓冲器811。子帧缓冲器811的内容被复制到帧缓冲器812的前半。接着,用第二子帧的音调信息P2(和P1)、噪声码信息S2、增益信息G2、及解码LPC即qa2进行同样的语音解码处理,第二子帧的解码语音信号被输出到子帧缓冲器811,复制到帧缓冲器812的后半。最后,从解码器输出帧缓冲器812中缓冲的2个子帧(1帧)解码语音信号,结束1帧的语音信号的解码处理。
在本实施例中,在候选音调选择器509中是将进行候选音调的选择时的输入信号作为残差信号的,但是也可以像实施例1中的候选音调选择器109所示的那样,用加权输入语音信号来进行。
这样,根据上述实施例,能够实现语音编码装置及语音编码解码装置,在由包含差分量化的子帧的输入数据来求候选音调时,通过保留1个以上的候选,能够实现精度更好的音调搜索,而且通过过多地保留多个候选,能够回避选择不差分量化的子帧特有的音调的危险性。
(实施例3)
图11是包括本发明实施例1、2中任一个的语音编码装置或语音解码装置的语音信号发送机及接收机的方框图。在图11中,语音信号输入装置901将话筒等的语音信号变换为电信号,输出到A/D变换器902。A/D变换器902将从语音信号输入装置输出的模拟语音信号变换为数字信号,输出到语音编码器903。
语音编码器903通过本发明实施例1、2的语音编码装置进行语音编码,输出到RF调制器904。RF调制器904将通过语音编码器903编码过的语音信息变换为用于加载在电波等传播媒体上来送出的信号,输出到发送天线905。发送天线905将从RF调制器904输出的发送信号作为电波(RF信号)来送出。图中,906表示从发送天线905送出的电波(RF信号)。
此外,接收天线907接收电波(RF信号)906,输出到RF解调器908。RF解调器908将从接收天线907输入的接收信号变换为编码过的语音信号,输出到语音解码器909。语音解码器909将从RF解调器输出的编码过的语音信号作为输入,通过本发明实施例1、2所示的语音解码装置进行解码处理,将解码语音信号输出到D/A变换器910。D/A变换器910从语音解码器909输入解码语音信号,变换为模拟语音信号,输出到语音输出装置911。扬声器等语音输出装置911从D/A变换器输入模拟语音信号,输出语音。
参照图11来说明具有上述结构的语音信号发送机及接收机。首先,语音通过语音输入装置901变换为电模拟信号,输出到A/D变换器902。接着,上述模拟语音信号通过A/D变换器902变换为数字语音信号,输出到语音编码器903。接着,语音编码器903进行语音编码处理,将编码过的信息输出到RF调制器904。接着,RF调制器进行用于将编码过的语音信号的信息作为调制、放大、代码扩展等的电波送出的操作,输出到发送天线905。最后,从发送天线905送出电波(RF信号)906。
另一方面,在接收机中,用接收天线907接收电波(RF信号),接收信号被送至RF解调器908。RF解调器908进行用于将代码解扩、解调等电波信号变换为编码信息的处理,将编码信息输出到语音解码器909。语音解码器909进行编码信息的解码处理,将数字解码语音信号输出到D/A变换器910。D/A变换器910将从语音解码器909输出的数字解码语音信号变换为模拟解码语音信号,输出到语音输出装置911。最后,语音输出装置911将电模拟解码语音信号变换为解码语音来输出。
上述发送机及接收机可以用于便携电话等移动通信设备的移动台或基站装置。传输信息的媒体不限于本实施例所示的电波,也可以利用光信号等,而且也可以使用有线传输线路。
上述实施例1及2所示的语音编码装置或语音解码装置、以及上述实施例3所示的发送装置及接收装置也可以作为软件记录在磁盘、光磁盘、盒式ROM(ROMカ一ト リッヅ)等记录媒体来实现,通过使用该记录媒体,能够通过使用这种记录媒体的个人计算机等来实现语音编码装置/解码装置及发送装置/接收装置。
本发明的语音编码装置及语音解码装置可以适用于数字无线通信系统中的基站装置及通信终端装置的发送装置和接收装置。
如上所述,本发明的语音编码装置能够提取可以代表输入信号的周期性和对音调信息进行差分量化的多个子帧的音调、而且作为自适应码本的音调滞后也合适的音调。在本发明中,在预备选择多个候选音调后对每个子帧进行音调的正式选择的结构中,在预备选择多个候选音调时通过阈值处理来限制候选预备选择数,从而在子帧间对音调周期进行差分量化的情况下,能够抑制语音品质的恶化。
此外,根据本发明,通过包括上述语音编码装置或语音解码装置作为语音编码器或语音解码器,能够实现可以提供更高品质的语音品质的发送装置或接收装置。
本说明书基于1998年10月27日申请的特愿平10-305740号。其内容包含于此。