语音编码解码装置及方法

文档序号:2829520阅读:270来源:国知局
专利名称:语音编码解码装置及方法
技术领域
本发明涉及对语音信号进行编码来传输的移动通信系统等中的低比特率语音编码装置,特别涉及将语音信号分离为声道信息和音源信息来表现的CELP(Code Excited Linear Prediction,码激励线性预测)型语音编码装置等。
背景技术
在数字移动通信或语音存储领域中,为了有效利用电波或存储媒体,使用语音编码装置,用于压缩语音信息,并高效率进行编码。尤其是以CELP(Code Excited Linear Prediction,码激励线性预测编码)方式为基础的方式在中、低比特率中被广泛实用化。CELP技术示于M.R.Schroeder和B.S.Atal“Code-Excited Linear Prediction(CELP)High-quality Speech at Very Low BitRates(码激励线性预测(CELP)甚低比特率的高质量语音)”,Proc.ICASSP-85,25.1.1,pp.937-940,1985”中。
CELP型语音编码方式是将语音划分为某个一定的帧长(5ms~50ms左右),对每个帧进行语音的线性预测,用已知的波形构成的自适应码矢量和噪声码矢量对每帧的通过线性预测所得的预测残差(激励信号)进行编码。自适应码矢量是从存储过去生成的驱动音源矢量的自适应码本中选择使用的,而噪声码矢量则是从存储具有预先准备的确定数目的确定形状的矢量的噪声码本中选择使用的。噪声码本中存储的噪声码矢量使用随机的噪声序列的矢量或通过将几个脉冲配置在不同的位置上而生成的矢量等。
将几个脉冲配置在不同位置上类型的噪声码本的代表性的一个有代数码本。代数码本的具体内容示于“ITU-T推荐G.729”等中。
以下参照图1来具体说明使用代数码本的噪声码矢量生成器的现有例。
图1是使用代数码本的噪声码矢量生成器的基本方框图。在图中,用加法器3将第1脉冲产生器、第2脉冲产生器2产生的脉冲相加,通过将2个脉冲放置在不同的位置上来生成噪声码矢量。代数码本的具体例示于图2及图3。图2示出在80个样本中放置2个脉冲的一例,图3示出在80个样本中放置3个脉冲的一例。在图2及图3中,表的下部记载的数是脉冲位置的组合数。
然而,在上述现有的使用代数码本的噪声码矢量生成器中,各音源脉冲的搜索位置是独立的,不利用某个音源脉冲和其他音源脉冲之间的相对位置关系。因此,有下述问题虽然能够生成各种形状的噪声码矢量,但是为了表现足够的脉冲位置需要很多的比特数,在要生成的噪声码矢量的形状出现偏斜的情况下,未必是有效的码本。此外,为了减少代数码本所需的比特数,可考虑减少音源脉冲数的手法,但是在此情况下有下述问题由于音源脉冲少,所以清音部或平稳噪声部的主观品质大大恶化。此外,有下述问题为了改善清音部或平稳噪声部的主观品质,有极性音源的模式切换这一手法,但是有时产生模式判定错误。

发明内容
本发明的目的在于提供一种音源矢量生成装置及语音编码/解码装置,能够削减噪声码本的尺寸(サイズ),能够改善清音部或平稳噪声部的品质,而且能够抑制模式判定错误时的品质恶化,并改善对清音语音或背景噪声的编码性能。
本发明提供一种语音编码解码装置,其特征在于包括音源矢量生成单元,生成由音源脉冲形成的音源矢量;扩展图案生成单元,生成扩展图案;脉冲扩展单元,按照所述生成的扩展图案,扩展所述生成的音源矢量的脉冲,其中,所述扩展图案生成单元,通过改变扩展图案的振幅值,来连续地使扩展图案的噪声性改变。
本发明还提供一种语音编码解码方法,其特征在于包括生成由音源脉冲形成的音源矢量的步骤;生成扩展图案的步骤;按照所述生成的扩展图案,扩展所述生成的音源矢量的脉冲的步骤,其中,所述生成扩展图案的步骤,通过改变扩展图案的振幅值,来连续地使扩展图案的噪声性改变。
本发明的主题是通过用部分代数码本来生成噪声码矢量,即通过在根据代数码本而生成的多个音源脉冲中,使用只生成至少2个接近的组合的噪声码矢量,来有效地削减代数码本尺寸。
此外,本发明的主题是通过将与清音语音或平稳噪声信号对应的随机码本与部分代数码本并用,即通过存储对清音部或平稳噪声部有效的音源矢量,来改善清音部或平稳噪声部的主观品质。
再者,本发明的主题是根据模式判定结果,通过切换部分代数码本尺寸、和并用的随机码本的尺寸之间的比率,来抑制模式判定错误时的品质恶化,并改善对清音语音或背景噪声的编码性能,改善主观品质。
这里,接近的脉冲是指离某个脉冲的距离在1.25ms以下、即在8kHz采样的数字信号中在10个样本左右以下的脉冲。


图1是现有的语音编码装置的结构方框图;图2是现有的二通道(チヤネル)代数码本的示例图;图3是现有的三通道代数码本的示例图;图4是本发明实施例的语音信号发送装置及语音信号接收装置的结构方框图;图5是本发明实施例1的语音编码装置的结构方框图;图6是本发明实施例1的语音解码装置的结构方框图;图7是本发明实施例1的噪声码矢量生成装置的结构方框图;图8是本发明实施例1的部分代数码本的示例图;图9是本发明实施例1的噪声码矢量编码处理流程的前段的流程图;图10是本发明实施例1的噪声码矢量编码处理流程的中段的流程图;图11是本发明实施例1的噪声码矢量编码处理流程的后段的流程图;图12是本发明实施例1的噪声码矢量解码处理流程的流程图;图13是本发明实施例1的噪声码矢量生成装置的另一结构方框图;图14是本发明实施例1的部分代数码本的另一示例图;图15是本发明实施例2的语音编码装置的结构方框图;图16是本发明实施例2的语音解码装置的结构方框图;图17是本发明实施例2的噪声码矢量生成装置的结构方框图;图18是本发明实施例2的噪声码矢量编码处理流程的流程图;图19是本发明实施例2的噪声码矢量解码处理流程的流程图;图20是本发明实施例3的语音编码装置的结构方框图;图21是本发明实施例3的语音解码装置的结构方框图;
图22是本发明实施例3的噪声码矢量生成装置的结构方框图;图23是本发明实施例3的噪声码矢量编码处理流程的流程图;图24是本发明实施例3的噪声码矢量解码处理流程的流程图;图25A是本发明实施例3的噪声码矢量和角标(イソデツクス)对应表的示例图;图25B是本发明实施例3的噪声码矢量和角标对应表的示例图;图26A是本发明实施例3的噪声码矢量和角标对应表的另一示例图;图26B是本发明实施例3的噪声码矢量和角标对应表的另一示例图;图27是本发明实施例4的语音编码装置的结构方框图;图28是本发明实施例4的语音解码装置的结构方框图;图29是本发明实施例5中使用的三脉冲音源矢量的示意图;图30A是图29所示的三脉冲音源矢量的形态的说明图;图30B是图29所示的三脉冲音源矢量的形态的说明图;图30C是图29所示的三脉冲音源矢量的形态的说明图;图31是实施例5中的2ch随机码矢量的示意图;图32是随机码本的制作中设定各脉冲的配置范围的处理的说明流程图;图33是随机码本的制作中设定各脉冲的配置范围的处理的说明流程图;图34是随机码本的制作中决定脉冲位置及极性的处理的说明流程图;图35A是随机码本中的样本间隔及脉冲位置的示意图;图35B是随机码本中的样本间隔及脉冲位置的示意图;图36是并用部分代数码本和随机码本的情况的形态的示意图;图37A是部分代数码本的块化的说明图;图37B是部分代数码本的块化的说明图;图38是随机码本的分级增加的说明图;图39是本发明实施例6的语音编码装置的结构方框图;图40是本发明实施例6的语音解码装置的结构方框图;图41是实施例6的语音编码装置及语音解码装置中使用的扩展脉冲生成器的说明图;以及图42是实施例6的语音编码装置及语音解码装置中使用的扩展脉冲生成器的说明图。
具体实施形式本发明的音源矢量生成装置采用下述结构,包括控制器,控制脉冲位置决定器,使得脉冲位置决定器决定的脉冲位置不在传输帧外。
根据该结构,能够在脉冲位置决定器决定的脉冲位置不在传输帧外的脉冲位置范围内进行搜索,生成噪声码矢量。
本发明的音源矢量生成装置采用下述结构,包括随机码本,存储包含相互不接近的多个脉冲的第2噪声码矢量;噪声码矢量生成器,根据第1及第2噪声码矢量来生成噪声码矢量。
根据该结构,通过将与清音语音或平稳噪声信号对应的随机码本与部分代数码本并用来改善清音部或平稳噪声部的主观品质。
本发明的音源矢量生成装置采用下述结构,包括模式判定器,判定语音模式;和候选脉冲位置数控制器,按照判定的语音模式来增减规定的候选脉冲位置的数目。
根据该结构,通过根据模式判定来变化代数码本和随机码本的利用比例,能够抑制模式判定差错时的品质恶化,并且改善清音语音或背景噪声的编码性能。
本发明的音源矢量生成装置采用下述结构,包括功率计算器,计算音源信号的功率;平均功率计算器,在判定的语音模式是噪声模式的情况下,计算音源信号的平均功率;上述候选脉冲位置数控制器根据平均功率来增减规定的候选脉冲位置的数目。
根据该结构,能够效率更高地抑制模式判定差错时的品质恶化,并且改善清音语音或背景噪声的编码性能。
本发明的语音编码装置采用下述结构,包括激励矢量生成器,根据从存储激励矢量的自适应码本输出的自适应码矢量、和从存储通过上述音源矢量生成装置得到的噪声码矢量的部分代数码本输出的噪声码矢量来生成新的激励矢量;激励矢量更新器,将自适应码本中存储的激励矢量更新为上述新的激励矢量;和语音合成信号生成器,用上述新的激励矢量及输入信号的量化过的线性预测分析结果来生成语音合成信号。
根据该结构,通过生成具有相互接近的至少2个脉冲的噪声码矢量,能够有效地削减代数码本尺寸,能够实现比特率及运算量小的语音编码装置。
本发明的语音解码装置采用下述结构,包括音源参数解码器,对包含自适应码矢量的位置信息及指定噪声码矢量的角标信息的音源参数进行解码;激励矢量生成器,用根据自适应码矢量的位置信息得到的自适应码矢量及根据角标信息得到的具有相互接近的至少2个脉冲的噪声码矢量来生成激励矢量;激励矢量更新器,将自适应码本中存储的激励矢量更新为上述激励矢量;以及语音合成信号生成器,用上述激励矢量及从编码端送来的量化线性预测分析结果的解码结果来生成语音合成信号。
根据该结构,使用具有相互接近的至少2个脉冲的噪声码矢量,所以能够有效地削减代数码本尺寸,能够实现比特率小的语音解码装置。
本发明的语音编码解码装置采用下述结构,包括部分代数码本,生成由3个音源脉冲构成的音源矢量,存储该音源矢量;限制器,进行限制,使得生成在上述音源矢量中至少1组音源脉冲间隔比较窄的音源矢量;和随机码本,按照部分代数码本的尺寸来自适应地使用。
根据该结构,将音源脉冲设定为3个脉冲来构成部分代数码本,所以能够实现基本性能高的语音解码装置。
本发明的语音编码解码装置采用下述结构,限制器根据音源脉冲的位置(角标)对语音的浊音/非浊音进行分类。
根据该结构,能够进行规则的音源脉冲位置搜索,所以能够将搜索所需的运算量抑制到最小必要限度。
本发明的语音编码解码装置采用下述结构,随机码本的比例增大的量等于部分代数码本的尺寸削减的量。
根据该结构,即使随模式信息等来变化随机码本尺寸,也能够共用共同部分的角标,能够抑制模式信息等的差错的影响。
本发明的语音编码解码装置采用下述结构,随机码本由多个通道构成,限制上述音源脉冲的位置,使得防止在通道间音源脉冲重叠。
根据该结构,在音源区域中能够保证由各通道生成的矢量间的正交性,所以能够构成高效率的随机码本。
本发明的语音编码解码装置采用下述结构,包括代数码本,存储音源矢量;扩展图案生成器,按照语音数据中的噪声区间的功率来生成扩展图案;和图案扩展器,按照上述扩展图案来扩展从上述代数码本输出的音源矢量的图案。
根据该结构,能够按照噪声功率来控制扩展图案的噪声性,所以能够实现对噪声电平顽健(ロバスト)的语音编码解码装置。
本发明的语音编码解码装置采用下述结构,其中,在平均噪声功率大的情况下,扩展图案生成器生成噪声性高的扩展图案,而在平均噪声功率小的情况下,生成噪声性低的扩展图案。
根据该结构,能够在噪声电平高的情况下表现更类似噪声的信号,而在噪声电平低的情况下表现更清晰(クリ一ソ)的信号。
本发明的语音编码解码装置采用下述结构,扩展图案生成器按照语音数据的模式来生成扩展图案。
根据该结构,还能够按照模式在语音区间(浊音区间)使扩展图案的噪声性为中等以下,能够改善噪声中的语音品质。
以下,参照附图来详细说明本发明的实施例。
(实施例1)图4是包括本发明的语音编码及/或解码装置的语音信号发送机及/或接收机的方框图。
在图4所示的语音信号发送机中,语音信号101由语音输入装置102变换为电模拟信号,输出到A/D变换器103。模拟语音信号由A/D变换器103变换为数字语音信号,输出到语音编码装置104。语音编码装置104进行语音编码处理,将编码过的信息输出到RF调制装置105。在RF调制装置105中,对编码过的语音信号进行调制、放大、代码扩展等用于作为电波发送的处理,将编码过的语音信号输出到发送天线1106。最后,从发送天线106送出电波(RF信号)。
另一方面,在接收机中,用接收天线107接收电波(RF信号)。接收信号被送至RF解调装置108。RF解调装置108进行代码解扩、解调等用于将电波信号变换为编码信息的处理,将编码信息输出到语音解码装置109。语音解码装置109进行编码信息的解码处理,将数字解码语音信号输出到D/A变换器110。D/A变换器110将从语音解码装置109输出的数字解码语音信号变换为模拟解码语音信号,输出到语音输出装置111。最后,语音输出装置将电模拟语音信号变换为解码语音并输出。
接着,说明具有上述结构的语音信号发送机及/或接收机中的噪声码矢量生成器。图5是实施例1的包括噪声码矢量生成器的语音编码装置的方框图。该图所示的语音编码装置包括预处理器201、LPC分析器202、LPC量化器203、自适应码本204、乘法器205、部分代数码本206、乘法器207、加法器208、LPC合成滤波器209、加法器210、听觉加权器211、误差最小化器212。
在该噪声码矢量生成器中,输入语音数据是对语音信号进行A/D变换所得的数字信号,按处理单位时间(帧)输入到预处理器201。预处理器201对输入语音数据进行主观高品质化或用于变换为适合编码状态的信号的处理,例如进行用于切去直流分量的高通滤波处理或增强语音信号特征的预加重处理等。
预处理后的信号被输出到LPC分析器202和加法器210。LPC分析器202用从预处理器201输入的信号进行LPC分析(线性预测分析),将所得的LPC(线性预测系数)输出到LPC量化器203。LPC量化器203对从LPC分析器202输入的LPC进行量化,将量化LPC输出到LPC合成滤波器209,将量化LPC的编码数据通过传输线路输出到编码器端。
自适应码本204是过去生成的激励矢量(从加法器208输出的矢量)的缓冲器,从误差最小化器212指定的位置取出自适应码矢量,输出到乘法器205。乘法器205将从自适应码本204输出的自适应码矢量乘以自适应码矢量增益,输出到加法器208。自适应码矢量增益由误差最小化器指定。部分代数码本206是具有后述图7、图13或与此类似结构的码本,将至少2个脉冲的位置接近的多个脉冲构成的噪声码矢量输出到乘法器207。
乘法器207将从部分代数码本206输出的噪声码矢量乘以噪声码矢量增益,输出到加法器208。加法器208通过进行从乘法器205输出的乘以自适应码矢量增益后的噪声码矢量和从乘法器207输出的乘以噪声码矢量增益后的噪声码矢量的矢量加法来生成激励矢量,输出到自适应码本204和LPC合成滤波器209。
输出到自适应码本204的激励矢量被用于更新自适应码本204的情况,而输出到LPC合成滤波器209的激励矢量被用于生成合成语音。LPC合成滤波器209是用从LPC量化器203输出的量化LPC构成的线性预测滤波器,用从加法器208输出的激励矢量来驱动LPC合成滤波器,将合成信号输出到加法器210。
加法器210计算从预处理器201输出的预处理后的输入语音信号和从LPC合成滤波器209输出的合成信号之间的差分(误差)信号,输出到听觉加权器211。听觉加权器211将从加法器210输出的差分信号作为输入,进行听觉加权,输出到误差最小化器212。误差最小化器212将从听觉加权器211输出的听觉加权后的差分信号作为输入,例如调整从噪声码本204中取出自适应码矢量的位置、根据部分代数码本206生成的噪声码矢量、用乘法器205所乘的自适应码矢量增益、和用乘法器207所乘的噪声码矢量增益的值,使其平方和最小,对它们进行编码,作为音源参数编码数据通过传输线路输出到解码器端。
图6是实施例1的包括噪声码矢量生成器的语音解码装置的方框图。该图所示的语音解码装置包括LPC解码器301、音源参数解码器302、自适应码本303、乘法器304、部分代数码本305、乘法器306、加法器307、LPC合成滤波器308、后处理器309。
通过传输线路将LPC编码数据和音源参数编码数据以帧为单位分别输入到LPC解码器301和音源参数解码器302。LPC解码器301对量化LPC进行解码,输出到LPC合成滤波器308。在后处理器309使用量化LPC的情况下,也同时输出到后处理器309。音源参数解码器302将取出自适应码矢量的位置信息、自适应码矢量增益、指定噪声码矢量的角标信息、以及噪声码矢量增益分别输出到自适应码本303、乘法器304、部分代数码本305、和乘法器306。
自适应码本303是过去生成的激励矢量(从加法器307输出的矢量)的缓冲器,从由音源参数解码器302输入的取出位置取出自适应码矢量,输出到乘法器304。乘法器304将从自适应码本303输出的自适应码矢量乘以从音源参数解码器302输入的自适应码矢量增益,输出到加法器307。
部分代数码本305是具有后述图7、图13或与此类似结构的与图5的206所示相同的部分代数码本,将从音源参数解码器302输入的角标指定的至少2个脉冲的位置接近的几个脉冲构成的噪声码矢量输出到乘法器306。
乘法器306将从部分代数码本输出的噪声码矢量乘以从音源参数解码器302输入的噪声码矢量增益,输出到加法器307。加法器307通过进行从乘法器304输出的乘以自适应码矢量增益后的自适应码矢量、和从乘法器306输出的乘以噪声码矢量增益后的噪声码矢量的矢量加法来生成激励矢量,输出到自适应码本303和LPC合成滤波器308。
输出到自适应码本303的激励矢量被用于更新自适应码本303的情况,而输出到LPC合成滤波器308的激励矢量被用于生成合成语音。LPC合成滤波器308是用从LPC量化器301输出的量化LPC(从编码端发送的量化LPC的解码结果)构成的线性预测滤波器,用从加法器307输出的激励矢量来驱动LPC合成滤波器,将合成信号输出到后处理器309。
后处理器309对从LPC合成滤波器308输出的合成语音进行共振峰增强处理、音调增强处理、频谱倾斜校正处理等构成的后滤波处理或用于使平稳背景噪声更易听的处理等用于改善主观品质的处理,作为解码语音数据来输出。
接着,详细说明本发明的噪声码矢量生成器。图7是本发明实施例1的噪声码矢量生成装置的结构方框图。
第1脉冲产生器401在例如图8的图案(a)的脉冲号1的栏中所示的预定候选位置之一上放置第1脉冲,输出到加法器404。同时,第1脉冲产生器401将放置第1脉冲的位置信息(选择出的脉冲位置)输出到脉冲位置限定器402。脉冲位置限定器402从第1脉冲产生器401输入第1脉冲位置,以该位置为基准来决定第2脉冲的候选位置(选择第2脉冲位置)。
第2脉冲的候选位置例如如图8的图案(a)的脉冲号2的栏中所示用相对于第1脉冲位置(=P1)的相对表现来表示。脉冲位置限定器402将第2脉冲的候选位置输出到第2脉冲产生器403。第2脉冲产生器403在从脉冲位置限定器402输入的第2脉冲的候选位置之一上放置第2脉冲,输出到加法器404。
加法器404输入从第1脉冲产生器401输出的第1脉冲和从第2脉冲产生器403输出的第2脉冲,将2个脉冲构成的第1噪声码矢量输出到切换开关409。
另一方面,第2脉冲产生器407在例如图案(b)的脉冲号2的栏中所示的预定候选位置之一上放置第2脉冲,输出到加法器408。同时,第2脉冲产生器407将放置第2脉冲的位置信息输出到脉冲位置限定器406。脉冲位置限定器406从第2脉冲产生器407输入第2脉冲位置,以该位置为基准来决定第1脉冲的候选位置。
第1脉冲的候选位置例如如图案(b)的脉冲号1的栏中所示用相对于第2脉冲位置(=P1)的相对表现来表示。脉冲位置限定器406将第1脉冲的候选位置输出到第1脉冲产生器405。第1脉冲产生器405在从脉冲位置限定器406输入的第1脉冲的候选位置之一上放置第1脉冲,输出到加法器408。
加法器408输入从第1脉冲产生器405输出的第1脉冲和从第2脉冲产生器407输出的第2脉冲,将2个脉冲构成的第2噪声码矢量输出到切换开关409。
切换开关409选择从加法器404输出的第1噪声码矢量、和从加法器408输出的第2噪声码矢量中的某一个,作为最终的噪声码矢量410来输出。该选择由来自外部的控制来指定。
在2个脉冲中将一个如上所述用绝对位置来表示、将另一个如上所述用相对位置来表现的情况下,在用绝对位置表示的脉冲位于帧末尾附近的情况下,有时用相对位置来表现的脉冲超出帧外。因此,在实际的搜索算法中,考虑只将产生超出的组合的部分作为不同图案,如图8所示分为3种搜索位置图案(a~c)进行搜索。图8示出设帧长为80个样本(0~79)、在1帧中放置2个脉冲的情况的一例。根据图8所示的码本,能够只生成根据图1所示的代数码本能够生成的噪声码矢量的总项数的一部分。在此意义上,将图8所示的本发明的代数码本称为部分代数码本。
以下参照图9~图11来说明使用图8的码本的上述实施例中噪声码矢量生成方法(编码方法、噪声码本搜索方法)的处理流程。在图9中具体示出假定脉冲的极性(+、-)被另外编码、只对脉冲位置进行编码的情况。
首先,在步骤(以下简称为ST)601中,进行循环变量i、误差函数最大值Max、角标idx、输出角标index、第1脉冲位置position1、第2脉冲位置position2的初始化。
这里,循环变量i被用作用绝对位置来表现的脉冲的循环变量,初始值是0。误差函数最大值Max被初始化为能够表现的最小值(例如“-10^32”),用于进行搜索循环中计算的误差评价函数的最大化。角标idx是赋予通过本噪声码矢量生成方法生成的各个码矢量的角标,初始值是0,每当将脉冲位置改变一个时被增量。index是最终输出的噪声码矢量的角标,position1是最终决定的第1脉冲的位置,position2是最终决定的第2脉冲的位置。
接着,在ST602中,将第1脉冲位置(p1)设置到pos1a[j]。pos1a[]是图8的图案(a)的脉冲号1的栏中所示的位置(0、2、..、72)。这里,第1脉冲是用绝对位置来表现的脉冲。
接着,在ST603中进行循环变量j的初始化。循环变量j是用相对位置来表现的脉冲的循环变量,初始值是0。这里,第2脉冲用相对位置来表现。
接着,在ST604中,将第2脉冲位置(p2)设置到p1+pos2a[j]。p1是已经在ST602中设置的第1脉冲位置,pos2a[4]{1、3、5、7}。通过减少pos2a[]的元素数,能够减少部分代数码本的尺寸(噪声码矢量的总项数)。在此情况下,需要按照减少的数目来变更图8的图案(c)的内容。此外,增加的情况也同样。
接着,在ST605中,进行在设置的2个脉冲位置上放置脉冲的情况下的误差评价函数E的计算。误差评价函数用于评价目标矢量和由噪声码矢量合成的矢量之间的误差,例如使用下述式(1)。像CELP编码器中一般常用的那样,在将噪声码矢量相对于自适应码矢量正交化的情况下,使用将式(1)变形所得的式子。在式(1)的值达到最大时目标矢量和用噪声码矢量驱动合成滤波器所得的合成矢量之间的误差达到最小。
式(1)(x′Hci)2ci′H′Hci]]>x目标矢量H合成滤波器的冲击卷积矩阵c噪声码矢量(i是角标号)接着,在ST606中,进行误差评价函数E的值是否超过误差评价函数最大值Max的判定。如果E值超过最大值Max,则进至ST607,而如果未超过,则跳过ST607而进至ST608。
在ST607中,进行index、Max、position1和position2的更新。即,将误差评价函数最大值Max更新为在ST605中算出的误差评价函数E,将index更新为idx,将position1更新为第1脉冲的位置p1,将position2更新为第2脉冲的位置p2。
接着,在ST608中,将循环变量j和角标号idx分别增量。通过将循环变量j增量来移动第2脉冲的位置,评价下一个角标号的噪声码矢量。
接着,在ST609中,进行循环变量j是否不足第2脉冲的候选位置的总数NUM2a的检查。在图8所示的部分代数码本中,NUM2a=4。在循环变量j不足NUM2a的情况下,为了重复j的循环而返回到ST604。如果循环变量j达到NUM2a,则j的循环结束,进至ST610。
在ST610中,进行循环变量i的增量。通过将循环变量i增量来移动第1脉冲的位置,评价下一个角标号的噪声码矢量。
接着,在ST611中,进行循环变量i是否不足第1脉冲的候选位置的总数NUM1a的检查。在图8所示的部分代数码本中,NUM1a=37。在循环变量i不足NUM1a的情况下,为了重复i的循环而返回到ST602。如果循环变量i达到NUM1a,则i的循环结束,进至图10的ST701。在进至ST612的时刻,图8的图案(a)的搜索结束,开始图案(b)的搜索循环。
接着,在ST701中,循环变量i被清除,成为0。在ST702中,将第2脉冲位置(p2)设置到pos2b[i]。pos2b[]是图案(b)的脉冲号2的栏中所示的位置(1、3、..、61)。这里,第2脉冲是用绝对位置来表现的脉冲。
接着,在ST703中进行循环变量j的初始化。循环变量j是用相对位置来表现的脉冲的循环变量,初始值是0。这里,第1脉冲用相对位置来表现。
接着,在ST704中,将第1脉冲位置(p1)设置到p2+pos1b[j]。p2是已经在ST702中设置的第2脉冲位置,pos1b[4]={1、3、5、7}。通过减少pos1b[]的元素数,能够减少部分代数码本的尺寸(噪声码矢量的总项数)。在此情况下,需要按照减少的数目来变更图8的图案(c)的内容。此外,增加pos1b[]的元素数的情况也同样。
接着,在ST705中,进行在设置的2个脉冲位置上放置脉冲的情况下的误差评价函数E的计算。误差评价函数用于评价目标矢量和由噪声码矢量合成的矢量之间的误差,例如使用式(1)。像CELP编码器中一般常用的那样,在将噪声码矢量相对于自适应码矢量正交化的情况下,使用将式(1)变形所得的式子。在式(1)的值达到最大时目标矢量和用噪声码矢量驱动合成滤波器所得的合成矢量之间的误差达到最小。
接着,在ST706中,进行误差评价函数E的值是否超过误差评价函数最大值Max的判定。如果E值超过最大值Max,则进至ST707,而如果未超过,则跳过ST707而进至ST708。
在ST707中,进行index、Max、position1和position2的更新。即,将误差评价函数最大值Max更新为在ST705中算出的误差评价函数E,将index更新为idx,将position1更新为第1脉冲的位置p1,将position2更新为第2脉冲的位置p2。
接着,在ST708中,将循环变量j和角标号idx分别增量。通过将循环变量j增量来移动第1脉冲的位置,评价下一个角标号的噪声码矢量。
接着,在ST709中,进行循环变量j是否不足第1脉冲的候选位置的总数NUM1b的检查。在图8所示的部分代数码本中,NUM1b=4。在循环变量j不足NUM1b的情况下,为了重复j的循环而返回到ST704。如果循环变量j达到NUM1b,则j的循环结束,进至ST710。
在ST710中,进行循环变量i的增量。通过将循环变量i增量来移动第2脉冲的位置,评价下一个角标号的噪声码矢量。
接着,在ST711中,进行循环变量i是否不足第2脉冲的候选位置的总数NUM2b的检查。在图8所示的部分代数码本中,NUM2b=36。在循环变量i不足NUM2b的情况下,为了重复i的循环而返回到ST702。如果循环变量i达到NUM2b,则i的循环结束,进至图11的ST801。在进至ST801的时刻,图案(b)的搜索结束,开始图案(c)的搜索循环。
在ST801中,循环变量i被清除,成为0。在ST802中,将第1脉冲位置(p1)设置到pos1c[i]。pos1c[]是图案(c)的脉冲号1的栏中所示的位置(74、76、78)。这里,第1、第2两个脉冲都用绝对位置来表现。
接着,在ST803中进行循环变量j的初始化。循环变量j是第2脉冲的循环变量,初始值是0。
接着,在ST804中,将第2脉冲位置(p2)设置到pos2c[j]。pos2c[]是图5(c)的脉冲号2的栏中所示的位置{73、75、77、79}。
接着,在ST805中,进行在设置的2个脉冲位置上放置脉冲的情况下的误差函数E的计算。误差函数用于评价目标矢量和由噪声码矢量合成的矢量之间的误差,例如使用式(1)所示的式子。像CELP编码器中一般常用的那样,在将噪声码矢量相对于自适应码矢量正交化的情况下,使用将式(1)变形所得的式子。在式(1)的值达到最大时目标矢量和用噪声码矢量驱动合成滤波器所得的合成矢量之间的误差达到最小。
接着,在ST806中,进行误差评价函数E的值是否超过误差评价函数最大值Max的判定。如果E值超过最大值Max,则进至ST807,而如果未超过,则跳过ST807而进至ST808。在ST807中,进行index、Max、position1和position2的更新。即,将误差评价函数最大值Max更新为在ST805中算出的误差评价函数E,将index更新为idx,将position1更新为第1脉冲的位置p1,将position2更新为第2脉冲的位置p2。
接着,在ST808中,将循环变量j和角标号idx分别增量。通过将循环变量j增量来移动第2脉冲的位置,评价下一个角标号的噪声码矢量。
接着,在ST809中,进行循环变量j是否不足第1脉冲的候选位置的总数NUM2c的检查。在图8所示的部分代数码本中,NUM2c=4。在循环变量j不足NUM2c的情况下,为了重复j的循环而返回到ST804。如果循环变量j达到NUM2c,则j的循环结束,进至ST810。
在ST810中,进行循环变量i的增量。通过将循环变量i增量来移动第1脉冲的位置,评价下一个角标号的噪声码矢量。
接着,在ST811中,进行循环变量i是否不足第1脉冲的候选位置的总数NUM1c的检查。在图8所示的部分代数码本中,NUM1c=3。在循环变量i不足NUM1c的情况下,为了重复i的循环而返回到ST802。如果循环变量i达到NUM1c,则i的循环结束,进至ST812。在进至ST812的时刻,图案(c)的搜索结束,全部搜索结束。
最后,在ST812中,输出作为搜索结果的index。与index对应的2个脉冲位置position1和position2没有必要输出,但是可以用于局部解码。各脉冲的极性(+或-)可以通过与式(1)中的矢量xH一致(通过只考虑式(1)中的xH和c的相关为正时)来预先决定,所以在上述实施例中省略了。
以下参照图12来说明使用图8码本的上述实施例中的噪声码矢量生成方法(解码方法)的处理流程。在图12中具体示出假定脉冲的极性(+、-)被另外编码、只对脉冲位置进行编码的情况。
首先,在ST901中,检查从编码器接受的噪声码矢量的角标index是否不足IDX1。IDX1是图8的码本中图案(a)的部分的码本尺寸,是图9的ST601时刻的idx的值。更具体地说,IDX1=32×4=128。如果index不足IDX1,则由于2个脉冲位置是用图案(a)来表现的部分,所以进至ST602。在index在IDX1以上的情况下,由于为图案(b)或(c)的部分,所以为了再次进行检查,而进至ST905。
在ST902中,求将index除以Num2a所得的商idx1。idx1为第1脉冲的角标号。在ST902中,int()是求()内的整数部分的函数。
接着,在ST903中,求将index除以Num2a所得的余数idx2。idx2是第2脉冲的角标号。
接着,在ST904中,分别用图案(a)的码本来决定使用ST902求出的idx1的第1脉冲的位置position1、使用ST903求出的idx2的第2脉冲的位置position2。决定的position1和position2被用于ST914。
在ST901中index在IDX1以上的情况下,进至ST905。在ST905中,检查index是否不足IDX2。IDX2是将图8的码本中的图案(a)的部分和图案(b)的部分合起来的码本尺寸,是图9的ST801时刻的idx的值。更具体地说,IDX2=32×4+31×4=252。如果index不足IDX2,则由于2个脉冲位置是用图案(b)来表现的部分,所以进至ST906。在index在IDX2以上的情况下,由于是用图案(c)来表现的部分,所以进至ST910。
在ST906中,从index中减去IDX1,进至ST907。在ST907中,求将减去IDX1后的index除以Num1b所得的商idx2。该idx2是第2脉冲的角标号。在ST907中,int()是求()内的整数部分的函数。
接着,在ST908中,求将减去IDX1后的index除以Num1b所得的余数idx1。idx1是第1脉冲的角标号。
接着,在ST909中,分别用图案(b)的码本来决定使用ST907求出的idx2的第2脉冲的位置position2、使用ST908求出的idx1的第1脉冲的位置position1。决定的position1和position2被用于ST914。
在ST905中index在IDX2以上的情况下,进至ST910。在ST910中,从index中减去IDX2,进至ST911。在ST911中,求将减去IDX2后的index除以Num2c所得的商idx1。该idx1是第1脉冲的角标号。在ST911中,int()是求()内的整数部分的函数。
接着,在ST912中,求将减去IDX2后的index除以Num2c所得的余数idx2。idx2是第2脉冲的角标号。
接着,在ST913中,分别用图案(c)的码本来决定使用ST911求出的idx1的第1脉冲的位置position1、使用ST912求出的idx2的第2脉冲的位置position2。决定的position1和position2被用于ST914。
在ST914中,用第1脉冲的位置position1和第2脉冲的位置position2来生成噪声码矢量code[]。即,生成code[position1]和code[position2]以外是0的矢量。code[position1]和code[position2]通过另外解码的极性sign1和sign2而成为+1或1(sign1及sign2取+1或1的值)。code[]是被解码的噪声码矢量。
接着,脉冲数是3个的部分代数码本的结构例示于图13。
图13中的结构例采用下述结构限定脉冲搜索位置,使得在3个中至少2个被配置在接近的位置上。与该结构对应的码本示于图14。
以下用图13加以说明。第1脉冲产生器1001例如在图14的图案(a)的脉冲号1的栏中所示的预定候选位置之一上放置第1脉冲,输出到加法器1005。同时,第1脉冲产生器1001将放置第1脉冲的位置信息输出到脉冲位置限定器1002。脉冲位置限定器1002从第1脉冲产生器1001输入第1脉冲的位置信息,以该位置为基准来决定第2脉冲的候选位置。第2脉冲的候选位置例如如图案(a)的脉冲号2的栏中所示用相对于第1脉冲的位置(=P1)的相对表现来表示。
脉冲位置限定器1002将第2脉冲的候选位置输出到第2脉冲产生器1003。第2脉冲产生器1003在从脉冲位置限定器1002输入的第2脉冲的候选位置之一上放置第2脉冲,输出到加法器1005。第3脉冲产生器1004例如在图案(a)的脉冲号3的栏中所示的预定候选位置之一上放置第3脉冲,输出到加法器1005。加法器1005进行从1001、1003、1004各脉冲产生器输出的合计3个冲击矢量的矢量加法,将3个脉冲构成的噪声码矢量输出到切换开关1031。
第1脉冲产生器1006例如在图案(d)的脉冲号1的栏中所示的预定候选位置之一上放置第1脉冲,输出到加法器1010。同时,第1脉冲产生器1006将放置第1脉冲的位置信息输出到脉冲位置限定器1007。脉冲位置限定器1007从第1脉冲产生器1006输入第1脉冲的位置信息,以该位置为基准来决定第3脉冲的候选位置。第3脉冲的候选位置例如如图案(d)的脉冲号3的栏中所示用相对于第1脉冲的位置(=P1)的相对表现来表示。
脉冲位置限定器1007将第3脉冲的候选位置输出到第3脉冲产生器1008。第3脉冲产生器1008在从脉冲位置限定器1007输入的第3脉冲的候选位置之一上放置第3脉冲,输出到加法器1010。第2脉冲产生器1009例如在图案(d)的脉冲号2的栏中所示的预定候选位置之一上放置第2脉冲,输出到加法器1010。加法器1010进行从1006、1008、1009各脉冲产生器输出的合计3个冲击矢量的矢量加法,将3个脉冲构成的噪声码矢量输出到切换开关1031。
第3脉冲产生器1011例如在图案(b)的脉冲号3的栏中所示的预定候选位置之一上放置第3脉冲,输出到加法器1015。第2脉冲产生器1012例如在图案(b)的脉冲号2的栏中所示的预定候选位置之一上放置第2脉冲,输出到加法器1015。同时,第2脉冲产生器1012将放置第2脉冲的位置输出到脉冲位置限定器1013。脉冲位置限定器1013从第2脉冲产生器1012输入第2脉冲的位置,以该位置为基准来决定第1脉冲的候选位置。第1脉冲的候选位置例如如图案(b)的脉冲号1的栏中所示用相对于第2脉冲的位置(=P2)的相对表现来表示。
脉冲位置限定器1013将第1脉冲的候选位置输出到第1脉冲产生器1014。第1脉冲产生器1014在从脉冲位置限定器1013输入的第1脉冲的候选位置之一上放置第1脉冲,输出到加法器1015。加法器1015进行从1011、1012、1014各脉冲产生器输出的合计3个冲击矢量的矢量加法,将3个脉冲构成的噪声码矢量输出到切换开关1031。
第1脉冲产生器1016例如在图案(g)的脉冲号1的栏中所示的预定候选位置之一上放置第1脉冲,输出到加法器1020。第2脉冲产生器1017例如在图案(g)的脉冲号2的栏中所示的预定候选位置之一上放置第2脉冲,输出到加法器1020。同时,第2脉冲产生器1017将放置第2脉冲的位置输出到脉冲位置限定器1018。脉冲位置限定器1018从第2脉冲产生器1017输入第2脉冲的位置,以该位置为基准来决定第3脉冲的候选位置。第3脉冲的候选位置例如如图案(g)的脉冲号3的栏中所示用相对于第2脉冲的位置(=P2)的相对表现来表示。
脉冲位置限定器1018将第3脉冲的候选位置输出到第3脉冲产生器1019。第3脉冲产生器1019在从脉冲位置限定器1018输入的第3脉冲的候选位置之一上放置第3脉冲,输出到加法器1020。加法器1020进行从1016、1017、1019各脉冲产生器输出的合计3个冲击矢量的矢量加法,将3个脉冲构成的噪声码矢量输出到切换开关1031。
第2脉冲产生器1021例如在图案(e)的脉冲号2的栏中所示的预定候选位置之一上放置第2脉冲,输出到加法器1025。第3脉冲产生器1024例如在图案(e)的脉冲号3的栏中所示的预定候选位置之一上放置第3脉冲,输出到加法器1025。同时,第3脉冲产生器1024将放置第3脉冲的位置输出到脉冲位置限定器1023。脉冲位置限定器1023从第3脉冲产生器1024输入第3脉冲的位置,以该位置为基准来决定第1脉冲的候选位置。第1脉冲的候选位置例如如图案(e)的脉冲号1的栏中所示用相对于第3脉冲的位置(=P3)的相对表现来表示。
脉冲位置限定器1023将第1脉冲的候选位置输出到第1脉冲产生器1022。第1脉冲产生器1022在从脉冲位置限定器1023输入的第1脉冲的候选位置之一上放置第1脉冲,输出到加法器1025。加法器1025进行从1021、1022、1024各脉冲产生器输出的合计3个冲击矢量的矢量加法,将3个脉冲构成的噪声码矢量输出到切换开关1031。
第1脉冲产生器1026例如在图案(h)的脉冲号1的栏中所示的预定候选位置之一上放置第1脉冲,输出到加法器1030。第3脉冲产生器1029例如在图案(h)的脉冲号3的栏中所示的预定候选位置之一上放置第3脉冲,输出到加法器1030。同时,第3脉冲产生器1029将放置第3脉冲的位置输出到脉冲位置限定器1028。脉冲位置限定器1028从第3脉冲产生器1029输入第3脉冲的位置,以该位置为基准来决定第2脉冲的候选位置。第2脉冲的候选位置例如如图案(h)的脉冲号2的栏中所示用相对于第3脉冲的位置(=P3)的相对表现来表示。
脉冲位置限定器1028将第2脉冲的候选位置输出到第2脉冲产生器1027。第2脉冲产生器1027在从脉冲位置限定器1028输入的第2脉冲的候选位置之一上放置第2脉冲,输出到加法器1030。加法器1030进行从1026、1027、1029各脉冲产生器输出的合计3个冲击矢量的矢量加法,将3个脉冲构成的噪声码矢量输出到切换开关1031。
切换开关1031从1005、1010、1015、1020、1025、1030各加法器输入的、合计6种噪声码矢量中选择1个,输出噪声码矢量1032。该选择由来自外部的控制来指定。
在图8及图14中,假定用相对位置来表现的脉冲超出帧外的情况,设有图8的图案(c)和图14的图案(c)、(f)、(i),但是由于用绝对位置来表现的脉冲的候选位置的范围偏向帧的前方,所以在用相对位置来表现的脉冲不会超出帧外的情况下,可以省略这些部分(图8的图案(c)等)。
(实施例2)图15是实施例2的包括噪声码矢量生成器的语音编码装置的结构方框图。该图所示的语音编码装置包括预处理器1201、LPC分析器1202、LPC量化器1203、自适应码本1204、乘法器1205、部分代数码本和随机码本构成的噪声码本1206、乘法器1207、加法器1208、LPC合成滤波器1209、加法器1210、听觉加权器1211、误差最小化器1212。
在该语音编码装置中,输入语音数据是对语音信号进行A/D变换所得的数字信号,按处理单位时间(帧)输入到预处理器1201。预处理器1201对输入语音数据进行主观高品质化或用于变换为适合编码状态的信号的处理,例如进行用于切去直流分量的高通滤波处理或增强语音信号特征的预加重处理等。
预处理后的信号被输出到LPC分析器1202和加法器1210。LPC分析器1202用从预处理器1201输入的信号进行LPC分析(线性预测分析),将所得的LPC(线性预测系数)输出到LPC量化器1203。LPC量化器1203对从LPC分析器1202输入的LPC进行量化,将量化LPC输出到LPC合成滤波器1209,将量化LPC的编码数据通过传输线路输出到编码器端。
自适应码本1204是过去生成的激励矢量(从加法器1208输出的矢量)的缓冲器,从误差最小化器1212指定的位置取出自适应码矢量,输出到乘法器1205。乘法器1205将从自适应码本1204输出的自适应码矢量乘以自适应码矢量增益,输出到加法器1208。自适应码矢量增益由误差最小化器指定。
部分代数码本和随机码本构成的噪声码本1206是具有后述图17所示结构的码本,将至少2个脉冲的位置接近的多个脉冲构成的噪声码矢量或稀疏率(スパ一ス率)(振幅为零的样本数占整个帧的样本数的比例)在90%左右以下的噪声码矢量中的某个输出到乘法器1207。
乘法器1207将从部分代数码本和随机码本构成的噪声码本1206输出的噪声码矢量乘以噪声码矢量增益,输出到加法器1208。加法器1208通过进行从乘法器1205输出的乘以自适应码矢量增益后的噪声码矢量和从乘法器1207输出的乘以噪声码矢量增益后的噪声码矢量的矢量加法来生成激励矢量,输出到自适应码本1204和LPC合成滤波器1209。
输出到自适应码本1204的激励矢量被用于更新自适应码本1204,而输出到LPC合成滤波器1209的激励矢量被用于生成合成语音。LPC合成滤波器1209是用从LPC量化器1203输出的量化LPC构成的线性预测滤波器,用从加法器1208输出的激励矢量来驱动LPC合成滤波器,将合成信号输出到加法器1210。加法器1210计算从预处理器1201输出的预处理后的输入语音信号和从LPC合成滤波器1209输出的合成信号之间的差分(误差)信号,输出到听觉加权器1211。
听觉加权器1211将从加法器1210输出的差分信号作为输入,进行听觉加权,输出到误差最小化器1212。误差最小化器1212将从听觉加权器1211输出的听觉加权后的差分信号作为输入,例如调整从自适应码本1204中取出自适应码矢量的位置、根据部分代数码本和随机码本构成的噪声码本1206生成的噪声码矢量、用乘法器1205所乘的自适应码矢量增益、和用乘法器1207所乘的噪声码矢量增益的值,使其平方和最小,对它们进行编码,作为音源参数编码数据1214通过传输线路输出到解码器端。
图16是实施例2的包括噪声码矢量生成器的语音解码装置的方框图。该图所示的语音解码装置包括LPC解码器1301、音源参数解码器1302、自适应码本1303、乘法器1304、部分代数码本和随机码本构成的噪声码本1305、乘法器1306、加法器1307、LPC合成滤波器1308、后处理器1309。
在该语音解码装置中,通过传输线路将LPC编码数据和音源参数编码数据以帧为单位分别输入到LPC解码器1301和音源参数解码器1302。LPC解码器1301对量化LPC进行解码,输出到LPC合成滤波器1308。在后处理器1309使用量化LPC的情况下,量化LPC也同时从LPC解码器1301输出到后处理器1309。音源参数解码器1302将取出自适应码矢量的位置信息、自适应码矢量增益、指定噪声码矢量的角标信息、以及噪声码矢量增益分别输出到自适应码本1303、乘法器1304、部分代数码本和随机码本构成的噪声码本1305、和乘法器1306。
自适应码本1303是过去生成的激励矢量(从加法器1307输出的矢量)的缓冲器,从由音源参数解码器1302输入的取出位置取出自适应码矢量,输出到乘法器1304。乘法器1304将从自适应码本1303输出的自适应码矢量乘以从音源参数解码器1302输入的自适应码矢量增益,输出到加法器1307。
部分代数码本和随机码本构成的噪声码本1305是具有图17所示结构的噪声码本,是与图15的1206所示的相同的噪声码本,将从音源参数解码器1302输入的角标指定的至少2个脉冲的位置接近的几个脉冲构成的噪声码矢量或稀疏率在90%左右以下的噪声码矢量中的某个输出到乘法器1306。
乘法器1306将从部分代数码本输出的噪声码矢量乘以从音源参数解码器1302输入的噪声码矢量增益,输出到加法器1307。加法器1307通过进行从乘法器1304输出的乘以自适应码矢量增益后的自适应码矢量、和从乘法器1306输出的乘以噪声码矢量增益后的噪声码矢量的矢量加法来生成激励矢量,输出到自适应码本1303和LPC合成滤波器1308。
输出到自适应码本1303的激励矢量被用于更新自适应码本1303的情况,而输出到LPC合成滤波器1308的激励矢量被用于生成合成语音。LPC合成滤波器1308是用从LPC量化器1301输出的量化LPC构成的线性预测滤波器,用从加法器1307输出的激励矢量来驱动LPC合成滤波器,将合成信号输出到后处理器1309。
后处理器1309对从LPC合成滤波器1308输出的合成语音进行共振峰增强处理、音调增强处理、频谱倾斜校正处理等构成的后滤波处理或用于使平稳背景噪声更易听的处理等用于改善主观品质的处理,作为解码语音数据来输出。
图17示出本发明实施例2的噪声码矢量生成装置的结构。该图所示的噪声码矢量生成装置包括实施例所示的部分代数码本1401和随机码本1402。
部分代数码本1401生成2个以上单位脉冲构成的至少2个脉冲接近的噪声码矢量,输出到切换开关1403。部分代数码本1401的噪声码矢量的生成方法具体示于实施例1。
随机码本1402存储比根据部分代数码本1401生成的噪声码矢量更多脉冲个数构成的噪声码矢量,从存储的噪声码矢量中选一个矢量,输出到切换开关1403。
随机码本1402由多个通道构成比使用单独的码本在运算量、存储量方面更有利。此外,2个脉冲接近的噪声码矢量可以由部分代数码本1401来生成,所以通过将所有脉冲都不接近、脉冲均等地放置在整个帧上的噪声码矢量存储到随机码本1402中,能够改善清音辅音或平稳噪声的性能。
此外,在帧长为80个样本的情况下,为了减少运算量,随机码本1401存储的噪声码矢量的脉冲个数最好为8~16个左右。在此情况下,如果使随机码本1401为2通道结构,则存储各通道4~8个左右的脉冲构成的矢量即可。此外,在这种稀疏矢量中,通过使各脉冲的振幅为+1或-1,能够进一步节约运算量、存储量。
切换开关1403根据来自外部的控制(例如在将本噪声码矢量用于编码器的情况下,受进行与目标之间的误差最小化的模块控制,而在用于解码器的情况下则由解码过的噪声码矢量的角标控制)来选择从部分代数码本1401输出的噪声码矢量和从随机码本1402输出的噪声码矢量中的某个,作为噪声码矢量生成器的输出噪声码矢量1404来输出。
这里,从部分代数码本1402输出的噪声码矢量和从随机码本1401输出的噪声码矢量的比例(随机∶代数)最好是1∶1~2∶1,即随机50~66%、代数34~50%。
以下参照图18来说明上述实施例中噪声码矢量生成方法(编码方法、噪声码本搜索方法)的处理流程。首先,在ST1501中进行部分代数码本的搜索。具体的搜索方法的细节如实施例1所示,通过进行式(1)的最大化来实现。部分代数码本的尺寸是IDXa,在本步骤中,决定来自部分代数码本中的最佳候选的角标index(0≤index<IDXa)。
接着,在ST1502中进行随机码本的搜索。随机码本的搜索采用在CELP编码器中一般采用的方法来进行。具体地说,对随机码本中存储的所有噪声码矢量,计算式(1)所示的评价式,决定与达到最大的矢量对应的角标index。只是,由于已经在ST1501中进行了式(1)的最大化,所以只在超过ST1501中决定的式(1)的最大值的噪声码矢量存在的情况下,将ST1501中决定的index更新为新的角标index(IDXa≤index<(IDXa+IDXr))。在超过ST1501中决定的式(1)的最大值的噪声码矢量未被存储在随机码本中的情况下,将ST1501中决定的编码数据(角标index)作为噪声码矢量的编码信息来输出。
以下参照图19来说明上述实施例中的噪声码矢量生成方法(解码方法)的处理流程。
首先在ST1601中,判定从编码器传输、解码过的噪声码矢量的编码信息index是否不足IDXa。IDXa是部分噪声码本的尺寸。本噪声码矢量生成器根据尺寸为IDXa的部分代数码本和尺寸为IDXr的随机码本构成的噪声码本来生成噪声码矢量,本噪声码本在角标0~(IDXa-1)上包括部分代数码本,在IDXa~(IDXa+IDXr-1)上包括随机码本。因此,因此,如果接受到的index不足IDXa,则根据部分代数码本来生成噪声码矢量,而如果在IDXa以上(不足(IDXa+IDXr)),则根据随机码本来生成噪声码矢量。在本步骤中,如果index不足IDXa,则进至ST1602,而如果在IDXa以上,则进至ST1604。
在ST1602中,进行部分代数码本参数的解码。具体的解码方法示于实施例1。例如在脉冲为2个的情况下,根据角标index对第1脉冲的位置position1和第2脉冲的位置position2进行解码。此外,在脉冲的极性信息也包含在index中的情况下,对第1脉冲的极性sign1和第2脉冲的极性sign2也一并进行解码。这里,sign1及sign2是+1或-1。
接着在ST1603中,根据解码过的部分代数码本参数来生成噪声码矢量。具体地说,例如在脉冲为2个的情况下,将下述矢量code
作为噪声码矢量来输出在position1的位置上放置极性为sign1、振幅为1的脉冲,在position2的位置上放置极性为sign2、振幅为1的脉冲,其他点全部为0。这里,Num是帧长或噪声码矢量长(样本)。
另一方面,在ST1601中,在index在IDXa以上的情况下,进至ST1604。在ST1604中,从index中减去IDXa。这只是为了将index变换到0~IDXr-1的范围。这里,IDXr是随机码本的尺寸。
接着在ST1605中,进行随机码本参数的解码。具体地说,例如在2通道结构的随机码本的情况下,根据index对第1通道的随机码本角标indexR1和第2通道的随机码本角标indexR2进行解码。此外,在index中包含各通道的极性信息的情况下,对第1通道的极性sign1和第2通道的极性sign2也一并进行解码。sign1及sign2是+1或1。
接着在ST1606中,根据解码过的随机码本参数来生成噪声码矢量。具体地说,例如在随机码本是2通道结构的情况下,从第1通道RCB1中取出RCB1[indexR1]
,从第2通道RCB2中取出RCB2[indexR2]
,将2个矢量相加之和作为噪声码矢量code
来输出。这里,Num是帧长或噪声码矢量长(样本)。
(实施例3)图20是实施例3的包括噪声码矢量生成器的语音编码装置的结构方框图。该图所示的语音编码装置包括预处理器1701、LPC分析器1702、LPC量化器1703、自适应码本1704、乘法器1705、部分代数码本和随机码本构成的噪声码本1706、乘法器1707、加法器1708、LPC合成滤波器1709、加法器1710、听觉加权器1711、误差最小化器1712、模式判定器713。
在该语音编码装置中,输入语音数据是对语音信号进行A/D变换所得的数字信号,按处理单位时间(帧)输入到预处理器1701。预处理器1701对输入语音数据进行主观高品质化或用于变换为适合编码状态的信号的处理,例如进行用于切去直流分量的高通滤波处理或增强语音信号特征的预加重处理等。
预处理后的信号被输出到LPC分析器1702和加法器1710。LPC分析器1702用从预处理器1701输入的信号进行LPC分析(线性预测分析),将所得的LPC(线性预测系数)输出到LPC量化器1703。LPC量化器1703对从LPC分析器1702输入的LPC进行量化,将量化LPC输出到LPC合成滤波器1709及模式判定器1713,将量化LPC的编码数据通过传输线路输出到编码器端。
模式判定器1713利用输入的量化LPC的动态及静态特征等来进行语音区间和非语音区间或浊音区间和清音区间的划分(模式判定),将判定结果输出到部分代数码本和随机码本构成的噪声码本1716。更具体地说,通过使用量化LPC的动态特征来进行语音区间/非语音区间的划分,通过使用量化LPC的静态特征来进行浊音区间/清音区间的划分。作为量化LPC的动态特征,可以使用帧间的变动量或过去判定为非语音区间的区间中的平均量化LPC和当前帧中的量化LPC之间的距离(差)等。此外,作为量化LPC的静态特征,可以使用1次反射系数等。
量化LPC通过变换为LSP、反射系数、LPC预测残差功率等其他域的参数,可以更有效地利用。此外,在能够传输模式信息的情况下,也可以不仅根据量化LPC来进行模式判定,而且利用分析输入语音数据所得的各种参数来进行更正确更细致的模式判定。在此情况下,模式信息被编码,与LPC编码数据1714及音源参数编码数据1715一起通过传输线路输出到解码器端。
自适应码本1704是过去生成的激励矢量(从加法器1708输出的矢量)的缓冲器,从误差最小化器1712指定的位置取出自适应码矢量,输出到乘法器1705。乘法器1705将从自适应码本1704输出的自适应码矢量乘以自适应码矢量增益,输出到加法器1708。
自适应码矢量增益由误差最小化器指定。部分代数码本和随机码本构成的噪声码本1706是根据从模式判定器1713输入的模式信息来切换部分代数码本和随机码本的比率的噪声码本,如图12所示,具有根据模式信息来自适应地控制(切换)部分代数码本的项数和随机码本的项数的结构,将至少2个脉冲的位置接近的多个脉冲构成的噪声码矢量或稀疏率(振幅为零的样本数占整个帧的样本数的比例)在90%左右以下的噪声码矢量中的某个输出到乘法器1707。
乘法器1707将从部分代数码本和随机码本构成的噪声码本1706输出的噪声码矢量乘以噪声码矢量增益,输出到加法器1708。加法器1708通过进行从乘法器1705输出的乘以自适应码矢量增益后的噪声码矢量和从乘法器1707输出的乘以噪声码矢量增益后的噪声码矢量的矢量加法来生成激励矢量,输出到自适应码本1704和LPC合成滤波器1709。
输出到自适应码本1704的激励矢量被用于更新自适应码本1704,而输出到LPC合成滤波器1709的激励矢量被用于生成合成语音。LPC合成滤波器1709是用从LPC量化器1703输出的量化LPC构成的线性预测滤波器,用从加法器1708输出的激励矢量来驱动LPC合成滤波器,将合成信号输出到加法器1710。
加法器1710计算从预处理器1701输出的预处理后的输入语音信号和从LPC合成滤波器1709输出的合成信号之间的差分(误差)信号,输出到听觉加权器1711。听觉加权器1711将从加法器1710输出的差分信号作为输入,进行听觉加权,输出到误差最小化器1712。
误差最小化器1712将从听觉加权器1711输出的听觉加权后的差分信号作为输入,例如调整从噪声码本1704中取出自适应码矢量的位置、根据部分代数码本和随机码本构成的噪声码本1706生成的噪声码矢量、用乘法器1705所乘的自适应码矢量增益、和用乘法器1707所乘的噪声码矢量增益的值,使其平方和最小,对它们进行编码,作为音源参数编码数据通过传输线路输出到解码器端。
图21示出实施例3的包括噪声码矢量生成器的语音解码装置。该图所示的语音解码装置包括LPC解码器1801、音源参数解码器1802、自适应码本1803、乘法器1804、部分代数码本和随机码本构成的噪声码本1805、乘法器1806、加法器1807、LPC合成滤波器1808、后处理器1809、模式判定器1810。
在该语音解码装置中,通过传输线路将LPC编码数据和音源参数编码数据以帧为单位分别输入到LPC解码器1801和音源参数解码器1802。LPC解码器1801对量化LPC进行解码,输出到LPC合成滤波器1808及模式判定器1810。在后处理器1809使用量化LPC的情况下,量化LPC也同时从LPC解码器输出到后处理器1809。模式判定器1810与图20的模式判定器1713结构相同,利用输入的量化LPC的动态及静态特征等来进行语音区间和非语音区间或浊音区间和清音区间的划分(模式判定),将判定结果输出到部分代数码本和随机码本构成的噪声码本1805及后处理器1809。
更具体地说,通过使用量化LPC的动态特征来进行语音区间/非语音区间的划分,通过使用量化LPC的静态特征来进行浊音区间/清音区间的划分。作为量化LPC的动态特征,可以使用帧间的变动量或过去判定为非语音区间的区间中的平均量化LPC和当前帧中的量化LPC之间的距离(差)等。此外,作为量化LPC的静态特征,可以使用1次反射系数等。
量化LPC通过变换为LSP、反射系数、LPC预测残差功率等其他域的参数,可以更有效地利用。此外,在能够将模式信息作为分别的信息传输的情况下,对另外传输的模式信息进行解码,将解码模式信息输出到噪声码本1805及后处理器1809。
音源参数解码器1802将取出自适应码矢量的位置信息、自适应码矢量增益、指定噪声码矢量的角标信息、以及噪声码矢量增益分别输出到自适应码本1803、乘法器1804、部分代数码本和随机码本构成的噪声码本1805、和乘法器1806。
自适应码本1803是过去生成的激励矢量(从加法器1807输出的矢量)的缓冲器,从由音源参数解码器1802输入的取出位置取出自适应码矢量,输出到乘法器1804。乘法器1804将从自适应码本1803输出的自适应码矢量乘以从音源参数解码器1802输入的自适应码矢量增益,输出到加法器1807。
部分代数码本和随机码本构成的噪声码本1805是具有图12所示结构的噪声码本,与图20的1706所示的是同一噪声码本,将从音源参数解码器1802输入的角标指定的至少2个脉冲的位置接近的几个脉冲构成的噪声码矢量或稀疏率在90%左右以下的噪声码矢量中的某个输出到乘法器1806。
乘法器1806将从部分代数码本输出的噪声码矢量乘以从音源参数解码器1802输入的噪声码矢量增益,输出到加法器1807。加法器1807通过进行从乘法器1804输出的乘以自适应码矢量增益后的自适应码矢量、和从乘法器1806输出的乘以噪声码矢量增益后的噪声码矢量的矢量加法来生成激励矢量,输出到自适应码本1803和LPC合成滤波器1808。
输出到自适应码本1803的激励矢量被用于更新自适应码本1803,而输出到LPC合成滤波器1808的激励矢量被用于生成合成语音。LPC合成滤波器1808是用从LPC量化器1801输出的量化LPC(从编码端发送的量化LPC的解码结果)构成的线性预测滤波器,用从加法器1807输出的激励矢量来驱动LPC合成滤波器,将合成信号输出到后处理器1809。
后处理器1809对从LPC合成滤波器1808输出的合成语音进行共振峰增强处理、音调增强处理、频谱倾斜校正处理等构成的后滤波处理或用于使平稳背景噪声更易听的处理等用于改善主观品质的处理,作为解码语音数据1810来输出。这些后处理用从模式判定器1808输入的模式信息来自适应地进行。即,切换应用适合每个模式的后处理,自适应地变化后处理的强弱。
图22是本发明实施例3的噪声码矢量生成装置的结构方框图。该图所示的噪声码矢量生成器包括脉冲位置限定器控制器1901、部分代数码本1902、随机码本项数控制器1903、随机码本1904。
脉冲位置限定器控制器1901按照从外部输入的模式信息将脉冲位置限定器的控制信号输出到部分代数码本1902。该控制是为了(按照模式来)增减部分代数码本的尺寸而进行的,例如在模式是清音/平稳噪声模式的情况下,通过加强限定(减少候选脉冲位置数)来减少部分代数码本的尺寸(相应地用随机码本项数控制器1903进行控制,使得随机码本1904的尺寸增大)。
由此,能够改善使用清音部或平稳噪声部等几个脉冲构成的噪声码矢量则主观品质恶化的信号的性能。脉冲位置限定器被包括在部分代数码本1902中,其具体操作示于实施例1。
部分代数码本1902是根据从脉冲位置限定器控制器1901输入的控制信号来控制内部包括的脉冲位置限定器的操作的部分代数码本,根据脉冲位置限定器对候选脉冲位置的限定程度来增减码本尺寸。部分代数码本的具体操作示于实施例1。根据本码本生成的噪声码矢量被输出到切换开关1905。
随机码本项数控制器1903进行控制,使得按照从外部输入的模式信息来增减随机码本1904的尺寸。本控制与脉冲位置限定器控制器1901的控制联动进行。即进行控制,使得在由脉冲位置限定器控制器1901增加部分代数码本1902的尺寸的情况下,随机码本项数控制器1903减少随机码本1904的尺寸,而在由脉冲位置限定器控制器1901减少部分代数码本1902的尺寸的情况下,随机码本项数控制器1903增加随机码本1904的尺寸。部分代数码本1902和随机码本1904合起来的总项数(本噪声码矢量生成器中的全部码本尺寸)始终被保持在一定值。
随机码本1904输入来自随机码本项数控制器1903的控制信号,用指定尺寸的随机码本来生成噪声码矢量,输出到切换开关1905。这里,随机码本1904也可以由多个尺寸不同的随机码本构成,但是通过由共用的1种某个确定尺寸的随机码本构成并分别使用它来用作多个尺寸的随机码本,在存储量方面更有效。
此外,随机码本1904也可以是单通道的码本,但是使用2个以上的多个通道构成的码本,在运算量和存储量方面更有利。
切换开关1905在根据来自外部的控制(在将本噪声码矢量生成器用于编码器的情况下,是来自使与目标矢量之间的误差最小化的模块的控制信号,而在用于解码器的情况下,是解码过的噪声码本的参数信息等),来选择从部分代数码本1902或随机码本1904输出的噪声码矢量中的某个,作为本噪声码矢量生成器的输出噪声码矢量1906来输出。
这里,从随机码本1904输出的噪声码矢量、和从部分代数码本1902输出的噪声码矢量的比例(随机∶代数)在浊音模式中最好是0∶1~1∶2,即随机0~34%、代数66~100%。此外,上述比例(随机∶代数)在非浊音模式中最好是2∶1~4∶1,即随机66~80%、代数20~34%。
以下参照图23来说明上述实施例中噪声码矢量生成方法(编码方法)的处理流程。
首先,在ST2001中,根据另外输入的模式信息来进行部分代数码本和随机码本的尺寸的设定。此时,部分代数码本的尺寸的设定通过增减实施例1所示的相对位置表现的脉冲的候选位置数来进行。
该相对位置表现的脉冲的增减可以机械地进行,通过削减相对位置偏离的部分来减少。更具体地说,在相对位置是{1、3、5、7}的情况下,将候选位置数减少为{1、3、5}、{1、3}、{1}。相反,在增加的情况下,将{1}增加为{1、3}、{1、3、5}。
此外,进行部分代数码本和随机码本的尺寸的设定,使得部分代数码本和随机码本的尺寸的总和为一定值。更具体地说,进行两个码本的尺寸的设定,使得在与浊音(平稳)部对应的模式中,部分代数码本的尺寸(比率)大,而在与清音部或噪声部对应的模式中,随机码本的尺寸(比率)大。
在本模块中,mode是输入的模式信息,IDXa是部分代数码本的尺寸(噪声码矢量项数),IDXr是随机码本尺寸(噪声码矢量项数),IDXa+IDXr=一定值。此外,随机码本的项数的设定例如可以通过设定参照的随机码本的范围来实现。例如,在将2通道的随机码本的尺寸在128×128=16384和64×64=4096之间切换来使用的控制中,可以如下简单地实现分别包括各通道存储128种矢量(角标0~127)的随机码本,在0~127和0~63这2种之间切换搜索的角标的范围。
在此情况下,最好使角标为0~127的矢量存在的矢量空间和角标为0~63的矢量存在的矢量空间尽量一致,如果完全不能用角标0~63的矢量来表现角标为64~127的矢量,即角标为0~63的矢量空间和角标为64~127的矢量空间完全不同,则上述随机码本尺寸的变更有时使随机码本的编码性能大大恶化,需要考虑此来形成随机码本。
在使部分代数码本和随机码本的项数总和保持一定的情况下,两个码本的尺寸设定的方法(组合)必然被限定为几种,所以尺寸设定的控制等价于切换这几种设定。在本ST中,根据输入的模式信息mode来设定部分代数码本尺寸IDXa和随机码本尺寸IDXr。
接着,在ST2002中,从部分代数码本(尺寸为IDXa)和随机码本(IDXr)中选择使与目标矢量之间的误差最小的噪声码矢量,求其角标。例如确定为如果从部分代数码本中选择噪声码本,则角标index为0~(IDXa-1)的范围,而如果从随机码本中选择,则为(IDXa-1)~(IDXa+IDXr-1)的范围。
接着,在ST2003中,将求出的角标index作为编码数据来输出。index再按照需要被编码为输出到传输线路的形式。
以下参照图24来说明上述实施例中噪声码矢量生成方法(解码方法)的处理流程。
首先,在ST2101中,根据另外解码过的模式信息mode来进行部分代数码本和随机码本的尺寸的设定。具体的设定方法如前面参照图24所述。根据模式信息mode来设定部分代数码本的尺寸IDXa及随机码本的尺寸IDXr。
接着,在ST2102中,用部分代数码本或随机码本对噪声码矢量进行解码。用哪个码本来解码,取决于另外解码过的噪声码矢量的角标index的值,在0≤index<IDXa的情况下,根据部分代数码本,而在IDXa≤index<(IDXa+IDXr)的情况下,根据随机码本来进行解码。具体地说,例如如实施例3中参照图19说明的那样来进行解码。
如果进行上述的角标的赋予,则对在不同模式下共有的噪声码矢量的项赋予不同的角标(即,即使具有完全相同形状的噪声码矢量,如果模式不同,则为不同的角标),容易受产生传输线路差错时的影响,所以如果为了回避此而对在不同模式下共有的噪声码矢量的项赋予相同角标,则能够实现具有差错抵抗力的上述噪声码矢量生成装置。其一例示于图25及图26。
图25是噪声码本尺寸为32、(子)帧长为11个样本以上、脉冲数为2的部分代数码本和2通道随机CB组合的例子,是在(子)帧末尾不考虑脉冲接近的矢量的类型。
另一方面,图26是噪声码本尺寸为16、(子)帧长为8个样本、脉冲数为2的部分代数码本和2通道随机CB组合的例子,是在(子)帧末尾考虑脉冲接近的矢量的类型。
在图25及图26两图中,第1列一栏示出第1脉冲或随机码本的第1通道,第2列一栏示出第2脉冲或随机码本的第2通道,第3列一栏示出与各个组合对应的噪声码本角标。
此外,图25A、图26A两图示出随机码本的比率低(项数少)、部分代数码本的比率高(项数多)的情况,图25B、图26B示出随机码本的比率高(项数多)、部分代数码本的比率低(项数少)的情况,只有与画有斜线的角标对应的噪声码矢量在图25A、图26A和图25B、图26B中不同。
在图25及图26中,表中的数字(除了角标)表示部分代数码本中的脉冲位置,P1、P2表示第1及第2脉冲位置,Ra、Rb表示随机码本的第1及第2通道,Ra、Rb所附的数字表示两个通道中存储的随机码矢量号。如果对应于图8的部分代数码本,则图26的角标0~5及图25的角标0~7对应于图8的图案(a),图26的角标6~9及图26的角标8~15对应于图8的图案(b),图26的角标10~11对应于图8的图案(c)(在图25中,没有与图8的图案(c)对应的部分)。
在图25及图26两图中,画有斜线的角标在被限定的范围内规则排列,所以例如在进行解码的情况下,在图26A的角标11以下,如用图12说明的那样,进行解码(IDX1=6,IDX2=10),在图26B中,只在角标在11以下、而且是偶数的情况下,进行与图26A的情况相同的解码,而在奇数的情况下,将角标除以2所得的商看作与随机码本对应的角标,能够对随机码本的各通道的矢量号进行解码。
图25也同样,在确定的角标的范围内能够规则地使角标和随机码本的矢量号相对应。此外,在编码的情况下也可以同样地考虑,能够只特别处理随机码本和部分代数码本随模式变化而切换的角标的部分并进行编码。
由此,能够只使与一部分角标对应的噪声码矢量受模式切换的影响,所以能够将因传输线路差错而引起模式差错的情况的影响抑制到最小限度。这种情况与参照上述流图(图9、12、18、19、23、24)说明的情况相比,角标index的添加方法变了,但是基本的码本搜索方法相同。
这样,通过根据模式判定来变化代数码本和随机码本的利用比例,能够抑制模式判定差错时的品质恶化,并且能够改善对清音语音或背景噪声的编码性能。
(实施例4)在本实施例中,说明下述情况计算音源信号的功率,在语音模式是噪声模式的情况下,根据音源信号的功率来计算平均功率,根据该平均功率来增减规定的候选脉冲位置。
图27是本发明实施例4的语音编码装置的结构方框图。图27所示的语音编码装置具有与图20所示的语音编码装置大致相同的结构。在图27所示的结构中,包括当前功率计算器2402,根据音源信号来计算当前功率;和噪声区间平均功率计算器2401,根据来自模式判定器1713的模式判定信息及来自当前功率计算器2402的当前功率,在语音模式是噪声模式的情况下,根据音源信号的功率来计算平均功率。
模式判定器1713如实施例3所述,利用输入的量化LPC的动态及静态特征等来进行语音区间和非语音区间或浊音区间和清音区间的划分(模式判定),将判定结果输出到部分代数码本和随机码本构成的噪声码本1716。此外,来自模式判定器1713的模式信息被送至噪声区间平均功率计算器2401。
另一方面,在当前功率计算器2402中,计算音源信号的功率。这样来监视音源信号的功率。该当前功率计算结果被送至噪声区间平均功率计算器2401。
在噪声区间平均功率计算器2401中,根据来自当前功率计算器2402的计算结果和模式判定结果来计算噪声区间的平均功率。从当前功率计算器2402向噪声区间平均功率计算器2401逐次输入当前功率的计算结果。然后,在噪声区间平均功率计算器2401中,在从模式判定器1713输入表示是噪声区间的信息时,用输入的当前功率的计算结果来计算噪声区间的平均功率。
该平均功率的计算结果被送至可变型部分代数码本/随机码本1706。在可变型部分代数码本/随机码本1706中,根据平均功率的计算结果来控制代数码本和随机码本的利用比率。该控制方法与实施例3相同。
在噪声区间平均功率计算器2401中,进行算出的噪声区间平均功率和逐次输入的当前功率之间的比较。然后,在噪声区间的平均功率比当前功率大的情况下,认为平均功率值有问题,所以将噪声区间的平均功率更新为当前功率。由此,能够更精确地控制代数码本和随机码本的利用比率。
此外,图28是本发明实施例4的语音解码装置的结构方框图。图28所示的语音解码装置具有与图21所示的语音解码装置大致相同的结构。在图28所示的结构中,包括当前功率计算器2502,根据音源信号来计算当前功率;和噪声区间平均功率计算器2501,根据来自模式判定器1810的模式判定信息及来自当前功率计算器2502的当前功率,在语音模式是噪声模式的情况下,根据音源信号的功率来计算平均功率。
模式判定器1810如实施例3所述,利用输入的量化LPC的动态及静态特征等来进行语音区间和非语音区间或浊音区间和清音区间的划分(模式判定),将判定结果输出到部分代数码本和随机码本构成的噪声码本1805及后处理器1809。此外,来自模式判定器1810的模式信息被送至噪声区间平均功率计算器2501。
另一方面,在当前功率计算器2502中,计算音源信号的功率。这样来监视音源信号的功率。该当前功率计算结果被送至噪声区间平均功率计算器2501。
在噪声区间平均功率计算器2501中,根据来自当前功率计算器2502的计算结果和模式判定结果来计算噪声区间的平均功率。从当前功率计算器2502向噪声区间平均功率计算器2501逐次输入当前功率的计算结果。然后,在噪声区间平均功率计算器2501中,在从模式判定器1810输入表示是噪声区间的信息时,用输入的当前功率的计算结果来计算噪声区间的平均功率。
该平均功率的计算结果被送至可变型部分代数码本/随机码本1805。在可变型部分代数码本/随机码本1805中,根据平均功率的计算结果来控制代数码本和随机码本的利用比率。该控制方法与实施例3相同。
在噪声区间平均功率计算器2501中,进行算出的噪声区间平均功率和逐次输入的当前功率之间的比较。然后,在噪声区间的平均功率比当前功率大的情况下,认为平均功率值有问题,所以将噪声区间的平均功率更新为当前功率。由此,能够更精确地控制代数码本和随机码本的利用比率。
这里,在噪声区间的电平大的情况下,在浊音模式中,从随机码本输出的噪声码矢量、和从部分代数码本输出的噪声码矢量的比例(随机∶代数)最好是2∶1,即随机约66%、代数约34%。此外,在非浊音模式中,上述比例(随机∶代数)最好是随机约98%、代数约2%。
这样,通过监视噪声区间、根据模式判定来变化代数码本和随机码本的利用比例,能够抑制模式判定差错时的品质恶化,并且能够改善对清音语音或背景噪声的编码性能。
在图27及图28中,就根据音源信号来计算当前功率的情况进行了说明,但是在本发明中,也可以用LPC合成后的合成信号的功率来计算平均功率。
上述语音编码装置及/或语音解码装置可以应用于移动电话等移动通信设备的移动机等通信终端装置或基站装置。传输信息的媒体不限于本实施例所示的电波,也可以利用光信号等,还可以使用有线传输线路。
上述实施例所示的语音编码/解码装置也可以作为软件记录在磁盘、光磁盘、盒式ROM(ROMカ一トリツジ)等记录媒体上来实现。通过使用该记录媒体,能够通过使用这种记录媒体的个人计算机等来实现语音编码装置/解码装置及发送装置/接收装置。
(实施例5)在本实施例中,说明将音源脉冲是3个的代数码本用作噪声码本的情况。这里,说明在噪声码本中每个子帧分配16比特的情况。在本实施例中,并用将代数码本和音源脉冲均一地配置在整个子帧上的随机码本。
在此情况下,为了不改变整个噪声码本的比特数来并用随机码本,需要削减代数码本的尺寸。如果单纯地削减代数码本尺寸,则必须减少各脉冲的候选搜索位置,难以进行大范围的搜索。因此,维持音源脉冲的搜索范围不变,削减代数码本尺寸。
具体地说,着眼于根据代数码本生成的音源矢量的形状,施加限制,使得具有使用频度低的形状的音源矢量不根据代数码本来生成,从而削减代数码本的尺寸。作为表示音源矢量形状的特征量,使用各音源脉冲的相对位置关系。即,如图29所示,使用由3个音源脉冲2601~2603构成的音源矢量的首端脉冲2601和第2个脉冲2602的间隔A、以及第2个脉冲2602和第3个脉冲2603的间隔B。根据这种特征量来决定使用频度低的矢量,削减代数码本的尺寸,并用随机码本。这样削减了尺寸的代数码本部分地使用代数码本,所以称为部分代数码本。
为了讨论部分代数码本的构成法,用图29所示的间隔A及间隔B来调查使用频度低的矢量形状。由于具有间隔A和间隔B的音源矢量存在多个,所以用根据部分代数码本生成的组合的数目来归一化。此外,考虑到在浊音部和非浊音部中倾向不同,所以利用1次反射系数等对浊音部和非浊音部进行分类,分别调查其使用频度分布。
调查的结果,知道在语音部中间隔A或间隔B的至少一个中窄矢量的使用频度高,而在非浊音部中,与浊音部相比,整体为均一的频度分布。根据该调查结果,通过施加限制,使得只生成至少1组音源脉冲间隔窄的矢量,来构成部分代数码本。
作为只生成至少1组音源脉冲间隔窄的矢量的方法,可以举出以下2种方法。
(方法1)在部分代数码本中,进行全部搜索,在搜索循环中判定当前搜索中的音源脉冲间隔是否比规定的距离窄,只以窄的作为搜索对象。
(方法2)在部分代数码本中,只搜索各音源脉冲的角标之差在规定的范围内(K)的组合。具体地说,分类为图30A~图30C所示的3种图案(图30A3个脉冲都接近的情况,图30B前2个脉冲接近的情况,图30C后2个脉冲接近的情况)来进行部分代数码本的搜索。只是,在图30A~图30C中,只示出按脉冲2601~2603的顺序排列的情况,实际上应考虑这3个脉冲排列的顺序能够想到的全部组合。
在使用方法1的情况下,可以严密地通过脉冲间隔的距离进行限制,但是在搜索循环内每次都需要进行条件分支。另一方面,在方法2中,在不均一的候选搜索位置的情况下,可以不通过严密的脉冲间隔距离进行限制,而是只规则地搜索代数码本的必要部分,无需搜索循环内的条件分支。
通过这样将音源脉冲设定为3个脉冲来构成部分代数码本,能够实现基本性能高的部分代数码本。
接着,说明与上述部分代数码本并用的随机码本。该随机码本如下构成为了改善功率分散在整个子帧上的矢量的表现性,尽量将音源脉冲均等地配置在整个子帧上。在该随机码本中,脉冲振幅为±1,限制脉冲位置,使得在各通道(ch)间音源脉冲不重叠。此外,音源脉冲的位置和振幅(极性)根据随机数来生成。图31示出音源脉冲数合计8个、2ch结构的随机码本。
该随机码本如下形成进行通道数及脉冲数的设定,进行各脉冲的配置范围的设定,进行各脉冲的位置/极性的决定。在该随机码本的形成方法中,首先,在进行通道数及脉冲数的设定后,进行各脉冲的配置范围的设定。即,设定配置各脉冲的范围长度(N_Range[i][j])。该设定如图32所示来进行。
首先,将子帧长度用脉冲数(1个通道)来分割,求N_Range0,剩余作为N_rest来保存(ST2901),接着,将N_Range0用通道数来分割,设定N_Range[i][j](ST2902)。这里,i表示通道号,j表示脉冲号。此时,在N_Range0用通道数(N_ch)除不尽的情况下,将其余数从通道号小的一方起依次分割(ST2902)。
接着,将N_Rest从子帧最后尾部上配置的脉冲的N_Range[N_ch-1][N_Pulse-1]起依次分配(ST2903)。由此,结束N_Range[i][j]的设定。
在各脉冲的配置范围的设定中,进行N_Range[i][j]的开始点(S_Range[i][j])的设定。即,在将N_Range[i][j]从子帧首端起依次配置的情况下,求各个首端位置。该开始点的设定如图33所示来进行。首先,设定各通道的首端脉冲的S_Range[i]
。在此情况下,从脉冲号小的一方起依次进行(ST3001)。接着,同样决定其余的S_Range[i]
(ST3002)。这样结束S_Range[i][j]的设定。
在如上所述进行各脉冲的配置范围的设定后,进行各脉冲的位置/极性的决定。该各脉冲的位置/极性如图34所示来进行。首先,对通道的循环计数器进行复位(ST3101)。接着,判断循环计数器i是否比N_ch小(ST3102)。如果循环计数器i比N_ch小,则对计数器和阈值进行复位(ST3103)。即,对决定的随机码矢量的数目(counter)、重复随机码矢量的生成的数目(counter_r)、及容许位置不同的脉冲数(thresh)进行复位。另一方面,如果循环计数器i不比N_ch小,则结束随机码本的形成。
接着,判断重复随机码矢量的生成的数目(counter_r)是否是最大值MAX_r(ST3104)。如果counter_r不是MAX_r,则进行码矢量的生成或根据随机数进行的脉冲位置及极性的生成(ST3106),而如果counter_r是MAX_r,则将阈值(thresh)增量,对重复计数器(counter_r)进行复位(ST3105)。然后,进行码矢量的生成或根据随机数进行的脉冲位置及极性的生成(ST3106)。在根据随机数进行的脉冲位置及极性的生成中,rand()表示整数随机数生成函数。
接着,在生成脉冲位置及极性后,检查码矢量(ST3107)。这里,比较生成的码矢量和已经在随机码本中登录的所有码矢量,检查是否存在脉冲位置重叠的码矢量。然后,对每个码矢量,对位置重叠的脉冲数进行计数。
接着,判断在随机码本内是否有位置重叠的脉冲数超过阈值的码矢量(ST3108)。如果有位置重叠的脉冲数超过阈值的码矢量,则将重复计数器(counter_r)增量(ST3109),然后,进至ST3104。另一方面,如果没有位置重叠的脉冲数超过阈值的码矢量,则将该码矢量登录到随机码本(ST3110)。即,将根据随机数生成的码矢量存储到随机码本,将计数器(counter)增量。
接着,判断计数器(counter)是否在随机码本的尺寸以上(ST3111)。如果计数器(counter)在形成的随机码本的尺寸以上,则将通道的循环计数器增量(ST3112),进至ST3102。而如果计数器(counter)在随机码本的尺寸以上,则进至ST3104。
在该随机码本的形成中,根据随机数来决定码矢量的脉冲位置及极性,进行检查,使得和已经决定的脉冲的位置不重叠。这样,开始生成全部位置不重叠者,依次增加位置重叠的脉冲数。
此外,在随机码本的形成中,均等地分割整个子帧,在不能完全均等分割的情况下,从ch2扩大ch1的范围,此外,从子帧末尾一方起扩大范围。例如,用图35来进行说明。在图35中,数字表示各脉冲(脉冲号j)的配置范围(N_Range[i][j])和开始点(S_Range[i][j]),从上向下向子帧的末尾记载。在图35A中,是4个脉冲,所以能够均等地分割整个子帧的80个样本。在图35B中,是6个脉冲,所以能够均等地分割整个子帧的80个样本。在此情况下,使ch1(7)比ch2(6)宽,而且将子帧末尾(ch18、ch27)加宽。使ch1的范围比ch2宽,是因为假定使ch1的码矢量数(码本尺寸)比ch2的码矢量数多。也可以考虑使ch1和ch2的N_Range[i][j]的值相等,零头部分在子帧后半均等地分配给各通道。
通过这样形成随机码本,能够有效地形成音源脉冲分布在整个子帧上的随机码本。此外,由于越是码本的后半,重叠的音源脉冲越多,所以在减小码本尺寸的情况下,通过从后半部减小削减,能够形成希望的码本。
接着,说明在部分代数码本和随机码本的并用中应用模式切换的情况。在此情况下,将部分代数码本按照音源脉冲形状来分块,对应于该块分级进行削减,然后分级地(自适应地)增加随机码本。
图36是将部分代数码本分块的状态图。分块与音源脉冲的形状对应来进行。该块由图37A所示的音源脉冲的脉冲间的间隔(更准确地说是角标之差)A、B来决定。即,块X~Z对应于图37B所示的区域。
通过这样分块来削减部分代数码本的尺寸,能够容易地进行尺寸的控制。具体地说,只需将相应的块的搜索循环关闭即可。
在这样将部分代数码本分割为块的同时,将随机码本分级。这里,如图38的图案(a)所示,在ch1、ch2中分级为3级。具体地说,第1级为a、b,第2级为c、d,第3级为e、f。利用它们以块为单位来削减部分代数码本,按其量来分级增加随机码本,增大随机码本的比例。对应于部分代数码本的削减及随机码本的增加来决定模式。具体地说,决定图36(a)~(c)所示的模式。该模式数是例示,在比图36更粗地进行模式设定的情况下,可以用2个模式,而在比图36更细地进行模式设定的情况下,可以用4个以上的模式。
用图36及图38来说明每个该模式使用中的随机码本。设随机码本尺寸最小的模式为(a),最大的模式为(c),中间的模式为(b)。在模式按(a)→(b)→(c)变化的情况下,在图35中,ch1的随机码本按a→(a+c)→(a+c+e),ch2的随机码本按b→(b+d)→(b+d+f)来增加尺寸。此时,为了对各模式共用的码矢量赋予在哪个模式中都相同的角标,使用下述角标分配方法。
首先,分配通过a×b生成的矢量的角标。接着,分配通过c×b及(a+c)×d生成的矢量的角标。最后,分配通过(a+c+e)×f及e×(b+d)生成的矢量的角标。该分配法的一例示于图36。
因此,在并用部分代数码本和随机码本的情况下,在部分代数码本由块X、Y、Z构成的情况下,随机码本如图36(a)所示,为随机码本的图38的图案(b)所示的部分。此外,在部分代数码本由块X、Y构成的情况下,随机码本如图36(b)所示,为随机码本的图38的图案(b)~(d)所示的部分。此外,在部分代数码本由块X构成的情况下,随机码本如图36(c)所示,为随机码本的图38的图案(b)~(f)所示的部分。
该模式切换按照来自模式判定器的控制信号即模式信息来进行。该模式信息可以对从编码器端发送来的各种信息(LPC参数、增益参数等)进行解码、按照该信息来生成,也可以使用从编码器端发送的模式信息。
这样,通过以块为单位来削减部分代数码本,分级增加随机码本,能够容易地控制部分代数码本和随机码本的尺寸。再者,由于即使在不同模式中也能够使共有码矢量角标相同,所以能够抑制模式差错的影响。
这里,以模式由浊音/清音/平稳噪声3种模式构成的情况为例,示出各个模式中部分代数码本和随机码本的构成比的具体例。该最佳比率可随比特分配而变化,但是在16比特的随机码本的例子中,最好比率为在浊音模式中(部分代数码本∶随机码本=约50%∶约50%),在清音模式中(部分代数码本∶随机码本=约10%∶约90%),在平稳噪声模式中(部分代数码本∶随机码本=约10%∶约90%,如果模式差错极小,则也可以将随机码本的比率提高到部分代数码本∶随机码本=约0%∶约100%)。在编码器端施加提高平稳噪声信号的主观品质的后处理的情况下,有时无需特别提高平稳噪声模式中随机码本的比率。
(实施例6)在本实施例中,说明下述情况根据噪声功率(过去的噪声模式区间中的平均功率)的高低,来切换扩展图案的噪声性,或者根据噪声功率的高低,来操作扩展图案的第1个样本的样本值。
图39是本发明实施例6的语音编码装置的结构方框图,图40是本发明实施例6的语音解码装置的结构方框图。在图39中,对与图27相同的部分附以与图27相同的标号,并且省略其详细说明。此外,在图40中,对与图28相同的部分附以与图28相同的标号,并且省略其详细说明。
在图39所示的语音编码装置中,具有可变型部分代数码本/随机码本3601,包括脉冲扩展器3602,扩展从该可变型部分代数码本/随机码本3601输出的音源矢量的脉冲。该音源矢量的脉冲的扩展在扩展图案生成器3603中按照生成的扩展图案来进行。该扩展图案由噪声区间平均功率计算器2401求出的噪声区间平均功率的高低、或来自模式判定器1713的模式信息来决定。
在图40所示的语音解码装置中,对应于图39所示的语音编码装置,具有可变型部分代数码本/随机码本3701,包括脉冲扩展器3702,扩展从该可变型部分代数码本/随机码本3701输出的音源矢量的脉冲。该音源矢量的脉冲的扩展在扩展图案生成器3703中按照生成的扩展图案来进行。该扩展图案由噪声区间平均功率计算器2501求出的噪声区间平均功率的高低、或来自模式判定器1810的模式信息来决定。
在图39所示的语音编码装置及图40所示的语音解码装置中的扩展图案生成器3603、3703中,如图41及图42所示,生成扩展图案。
首先,在语音编码装置中,由噪声区间平均功率计算器2401用过去判定为噪声区间的(子)帧的功率来计算噪声区间平均功率。过去的噪声区间功率被用当前功率计算器2402输出的功率逐次更新。这里算出的噪声区间的平均功率被输出到扩展图案生成器3603。在扩展图案生成器3603中,根据噪声区间的平均功率来切换扩展图案的噪声性。即,如图41所示,在扩展图案生成器3603中,对应于噪声区间的平均功率的高低,设有多个噪声性,按照平均功率的高低来选择噪声性。具体地说,在噪声区间的平均功率大的情况下,选择扩展图案的噪声性高(强)者,而在噪声区间的平均功率小的情况下,选择扩展图案的噪声性低(弱)者。
此外,也可以在噪声区间和语音区间之间切换扩展图案的噪声性。语音区间也可以进一步分为浊音区间和清音区间。在此情况下,切换如下进行,使得在噪声区间中扩展图案的噪声性高,而在语音区间中扩展图案的噪声性低。在将语音区间分为浊音区间和清音区间的情况下如下进行,使得在浊音区间中扩展图案的噪声性低,而在清音区间中扩展图案的噪声性高。噪声区间、语音区间(浊音区间、清音区间)的分类另外由模式判定器1713等进行,扩展图案的选择由扩展图案生成器3603根据从模式判定器1713输出的模式信息进行。
即,模式判定器1713判定的模式作为模式信息被输出到扩展图案生成器3603,在扩展图案生成器3603中,根据模式信息来切换扩展图案的噪声性。在此情况下,如图41所示,在扩展图案生成器3603中,对应于模式,设有多个噪声性,按照模式来选择噪声性的强弱。具体地说,在噪声模式的情况下,选择扩展图案的噪声性强者,而在语音(浊音)模式的情况下,选择扩展图案的噪声性弱者。
此外,在另一结构的扩展图案生成器3603中,对应于噪声区间的平均功率的高低,通过改变扩展图案的第1个样本的振幅值,来连续进行相当于上述切换的操作。具体地说,如图42所示,在噪声区间的平均功率大的情况下,乘以减小第1个样本的振幅值的系数,而在噪声区间的平均功率小的情况下,乘以增大第1个样本的振幅值的系数。预先制定变换函数或变换规则,使得这些系数能够用噪声区间的平均功率的值来决定。改变振幅值的样本不限于1个样本。此外,乘以系数后的扩展图案被归一化,使得与乘以系数前的图案为相同的矢量功率。
接着,在语音解码装置中,由噪声区间平均功率计算器2501用过去判定为噪声区间的(子)帧的功率来计算噪声区间平均功率。过去的噪声区间功率被用当前功率计算器2502输出的功率逐次更新。这里算出的噪声区间的平均功率被输出到扩展图案生成器3703。在扩展图案生成器3703中,根据噪声区间的平均功率来切换扩展图案的噪声性。即,如图41所示,在扩展图案生成器3703中,对应于噪声区间的平均功率的高低,设有多个噪声电平,按照平均功率的高低来选择噪声性。具体地说,在噪声区间的平均功率大的情况下,选择扩展图案的噪声性高(强)者,而在噪声区间的平均功率小的情况下,选择扩展图案的噪声性低(弱)者。
此外,在此情况下,也可以在噪声区间和语音区间之间切换扩展图案的噪声性。语音区间也可以进一步分为浊音区间和清音区间。在此情况下,切换如下进行,使得在噪声区间中扩展图案的噪声性高,而在语音区间中扩展图案的噪声性低。在将语音区间分为浊音区间和清音区间的情况下如下进行,使得在浊音区间中扩展图案的噪声性低,而在清音区间中扩展图案的噪声性高。噪声区间、语音区间(浊音区间、清音区间)的分类另外由模式判定器1810等进行,扩展图案的选择由扩展图案生成器3703根据从模式判定器1810输出的模式信息进行。
即,模式判定器1810判定的模式作为模式信息被输出到扩展图案生成器3703,在扩展图案生成器3703中,根据模式信息来切换扩展图案的噪声性。在此情况下,如图41所示,在扩展图案生成器3703中,对应于模式,设有多个噪声性,按照模式来选择噪声性的强弱。具体地说,在噪声模式的情况下,选择扩展图案的噪声性强者,而在语音(浊音)模式的情况下,选择扩展图案的噪声性弱者。
此外,在另一结构的扩展图案生成器3703中,对应于噪声区间的平均功率的高低,通过改变扩展图案的第1个样本的振幅值,来连续变化扩展图案的噪声性。具体地说,如图42所示,在噪声区间的平均功率大的情况下,乘以减小第1个样本的振幅值的系数,而在噪声区间的平均功率小的情况下,乘以增大第1个样本的振幅值的系数。在该系数和噪声区间的平均功率之间,存在预定的变换函数或变换规则,能够根据平均功率的信息来求振幅变换系数。改变振幅值的样本不限于1个样本。此外,振幅值改变了的扩展图案被归一化,使得与改变振幅值前的扩展图案为相同的矢量功率。
对于根据噪声区间的平均功率进行的扩展图案的噪声性的切换,如果例如根据模式信息准备多种,组合模式信息和平均噪声功率信息两者来进行扩展图案的切换,则即使在噪声功率大的情况下,也能够在语音区间(浊音区间)中使扩展图案的噪声性为中等以下,能够改善噪声中的语音品质。
在本实施例中,也可以与噪声区间的功率高低无关,在噪声区间和语音区间之间切换扩展图案的噪声性。在此情况下,切换与上述同样进行,使得在噪声区间中扩展图案的噪声性高,而在语音区间中扩展图案的噪声性低。在将语音区间进一步分为浊音区间和清音区间的情况下,切换如下进行,使得在浊音区间中降低扩展图案的噪声性,而在清音区间中提高扩展图案的噪声性。
在上述实施例6中,说明了使用可变型部分代数码本/随机码本的情况,但是本发明也可以应用于使用一般代数码本的情况。
本发明不限于上述实施例,而是可以进行各种变更来实施。也可以将上述实施例的装置作为软件来构成。例如,也可以将上述音源矢量生成程序存储在ROM中,按照该程序根据CPU的指示来操作。此外,也可以将音源矢量生成程序存储在计算机可读的存储媒体中,将该记录媒体的音源矢量生成程序记录到计算机的RAM中,按照程序来操作。在这种情况下,也呈现与上述实施例同样的作用、效果。
如上所述,根据本发明,能够通过只生成在根据代数码本生成的多个音源脉冲中至少2个接近的组合来削减噪声码本的尺寸。特别是,能够提供一种语音编码装置及语音解码装置,通过在削减的尺寸的部分上存储对清音部或平稳噪声部有效的音源矢量,能够改善清音部或平稳噪声部的品质。
此外,能够提供一种语音编码装置及语音解码装置,在划分为与清音部或平稳噪声部对应的模式和与其他部分(例如浊音部)对应的模式的系统中,通过自适应地切换上述削减的尺寸,能够进一步提高对清音部或平稳噪声部的品质的改善度。
本说明书基于1999年3月5日申请的特愿平11-059520号及1999年11月4日申请的特愿平11-314271号。其内容全部包含于此。
产业上的可利用性在于本发明可以应用于数字无线通信系统中的基站装置或通信终端装置。
权利要求
1.一种语音编码解码装置,其特征在于包括音源矢量生成单元,生成由音源脉冲形成的音源矢量;扩展图案生成单元,生成扩展图案;脉冲扩展单元,按照所述生成的扩展图案,扩展所述生成的音源矢量的脉冲,其中,所述扩展图案生成单元,通过改变扩展图案的振幅值,来连续地使扩展图案的噪声性改变。
2.根据权利要求1所述的语音编码解码装置,其特征在于,所述扩展图案生成单元,通过改变一个扩展图案的第1个样本的振幅值,加工所述的一个扩展图案。
3.根据权利要求1所述的语音编码解码装置,其特征在于,所述扩展图案生成单元,通过乘以系数来改变振幅值。
4.一种语音编码解码方法,其特征在于包括生成由音源脉冲形成的音源矢量的步骤;生成扩展图案的步骤;按照所述生成的扩展图案,扩展所述生成的音源矢量的脉冲的步骤,其中,所述生成扩展图案的步骤,通过改变扩展图案的振幅值,来连续地使扩展图案的噪声性改变。
全文摘要
本发明提供一种语音编码解码装置,包括音源矢量生成单元,生成由音源脉冲形成的音源矢量;扩展图案生成单元,生成扩展图案;脉冲扩展单元,按照所述生成的扩展图案,扩展所述生成的音源矢量的脉冲,其中,所述扩展图案生成单元,通过改变扩展图案的振幅值,来连续地使扩展图案的噪声性改变。
文档编号G10L19/10GK1873779SQ200610085059
公开日2006年12月6日 申请日期2000年3月2日 优先权日1999年3月5日
发明者江原宏幸, 森井利幸 申请人:松下电器产业株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1