语音编码设备和语音解码设备的制作方法

文档序号:2821939阅读:278来源:国知局
专利名称:语音编码设备和语音解码设备的制作方法
技术领域
本发明涉及诸如在手提电话等数字通信中所使用的使用最低比特率(bit rate)的语音(speech)编码算法的语音编码设备和语音解码设备。
背景技术
需要比特率最低的语音压缩编码方法来适应诸如手提电话等数字移动通信中用户的增长,许多研究机构已进行研究和开发。在日本,作为手提电话中的标准系统的编码系统使用Motorola开发的比特率为11.2kbps的VSELP以及NTT Mobile Communications Network INC.所开发的比特率为5.6kbps的PSI-CELP,已生产具有这些系统的手提电话。
此外,在国际上,把Nippon Telegrph和Telephone Corporation及FranceTelecom共同开发的ITU-T选择的CS-ACELP用作8kbps的国际标准语音编码系统G.729。计划在日本使用该系统作为手提电话的语音编码系统。
上述系统都是通过修改CELP系统(码激励线性预测M.R.Schroeder在Proc.ICASSP′85的第937-940页的“比特率低的高质量语音”中所述)来实现的。该系统的特点是利用了这样的方法,该方法把语音分割成激励信息和元音truct信息,以存储在码本(code book)中的多个激励样品的索引对激励信息进行编码,同时对相应于元音truct信息的LPC(线性预测系数)进行编码,以及考虑到激励信息编码中的元音truct信息对输入语音进行比较(A-b-S综合分析)。
将使用

图1来描述CELP系统的基本算法。图1是示出CELP系统中的语音编码设备的结构的方框图。在图1所示的语音编码设备中,LPC分析部件2对输入的语音数据1进行自相关分析和LPC分析来获得LPC。LPC分析部件2还对获得的LPC进行编码来获得经编码的LPC。此外,LPC分析部件2还对获得的经编码的LPC进行解码来获得经解码的LPC。
激励产生部件5取得存储在自适应(adaptive)码本3和随机(stochastic)码本4(分别叫做自适应代码矢量(或自适应激励)和随机代码矢量(或随机激励))中的激励样品并把各个激励样品提供给LPC合成部件6。LPC合成部件6以在LPC分析部件2处获得的经解码的LPC对在激励产生部件5处获得的两个激励进行滤波。
比较部件7分析在LPC合成部件6处获得的两个合成语音与输入语音的关系,获得二个合成语音的一个最佳值(最佳增益),把分别经过最佳增益的功率调节的每个合成语音相加来获得总的合成语音,并在总合成语音与输入语音之间进行距离计算。比较部件7还相对于自适应码本3和随机码本4中的所有激励样品,在输入语音与通过执行激励产生部件5和LPC合成部件6的功能而获得的每个其它许多合成语音之间进行距离计算,并获得其距离在所获得的距离中最小的激励样品的索引。然后,比较部件7把获得的最佳增益、各个码本的激励样品的索引及相应于各个索引的二个激励样品提供给参数编码部件8。
参数编码部件8对最佳增益进行编码来获得编码增益,并把此编码增益、编码LPC和激励样品的索引提供给发送路径9。此外,参数编码部件8还使用编码增益和相应于各个索引的两个激励来产生实际激励信号(合成激励),并把该激励信号存储在自适应码本3中并同时删除旧的激励样品。
此外,LPC合成部件6处的合成一般使用线性预测系数和高频增强型滤波器或具有长期预测系数(通过对输入语音的长期预测分析而获得)的感知(perceptural)加权滤波器。此外,以通过进一步分割分析间隔而获得的某一间隔(叫做子帧)对自适应码本和随机码本进行激励搜索。
接着将描述随机码本。
自适应码本是使用存在于人的声带振动的间隔处的长期相关来进行有效压缩的码本,并存储先前合成的激励。另一方面,随机码本是反映激励信号的统计特征的固定码本。例如,作为随机码本中所存储的激励样品,有随机数序列、脉冲序列、通过对语音数据的统计训练而获得的随机数序列/脉冲序列或具有以代数方式(代数码本)产生的相对少数脉冲的脉冲序列。近来尤其关注代数码本,并知道通过它以少的计算量来获得诸如8kbps等比特率的好的声音质量。
然而,应用具有少量脉冲的代数码本以较低的比特率进行编码产生了这样的现象,即声音质量主要使无声辅音和背景噪声大大退化。另一方面,应用具有诸如随机数序列等大量脉冲的激励以较低的比特率进行编码产生了这样的现象,即声音质量主要使有声语音大大退化。为了改善退化,检查具有多码本(其中进行有声/无声判断)的方法。然而,该方法的处理复杂,且有时因语音信号的判断差错而产生音位变体(allophone)。
如上所述,没有一个代数码本与对有声语音、无声语音和背景噪声的任何有效编码匹配。因此,需要获得能对任何有声语音、无声语音和背景噪声进行有效编码的语音编码设备和语音解码设备。

发明内容
本发明的一个目的是提供能对任何有声语音、无声语音和背景噪声进行有效编码并以少量的信息和少量的计算获得质量优良的语音的语音编码设备和语音解码设备。
本发明的发明人注意到,在应用脉冲序列以低的比特率进行编码的情况下,脉冲位置相对靠近语音的有声声音片段,而脉冲位置相对远离语音的无声声音和背景噪声片段。换句话说,发明人已注意到,在有声语音中需要能量集中的激励样品(他们是人的声带波的特征),在此情况下有选中其位置靠近的少量脉冲的趋势,而在无需语音和背景噪声中需要具有更多随机数特征的激励,在此情况下,有选中大量能量分散的脉冲的趋势。
基于上述考虑,发明人已发现,通过辨认脉冲位置的距离来识别语音是有声声音片段还是无声声音片段和背景噪声片段来提高感知力,且根据识别结果应用适应于有声声音片段和无声和背景噪声片段的各个脉冲序列来实现本发明。
本发明的一个特点是使用多个码本(每个码本具有其特征不同的两个子码本)并把每个子码本的激励矢量相加来获得激励矢量。依据该算法,在脉冲位置靠近的情况下出现少量脉冲激励的特征,这是由激励矢量与少量脉冲的位置关系引起的,而在脉冲位置远离的情况下出现大量脉冲激励的特征,这适用于包含背景噪声的语音信号的特征。
相应地,不用使用特别的有声/无声语音判断算法,本发明可自动地选择最适用于输入信号中的局部化(localized)特征的激励,对任何有声语音、无声语音和背景噪声进行有效编码,并以少量信息和少量计算来获得声音质量优良的合成语音。
附图概述图1是示出常规CELP系统中的语音编码设备的结构的方框图;图2是示出具有本发明的语音编码设备和语音解码设备的无线电通信设备的结构的方框图;图3是示出依据本发明第一实施例到第三实施例的语音编码设备的结构的方框图;图4是示出依据本发明第一实施例到第三实施例的CELP系统的语音解码设备的结构的方框图;图5示出依据本发明第一实施例的语音编码设备/语音解码设备中的随机码本的方框图;图6A和图6B是存储在随机码本的子码本中的子激励矢量的概念图;图7A到7F是说明激励样品的产生方法的概念图;图8是示出依据本发明第二实施例的语音编码设备/语音解码设备中的随机码本的方框图;图9是示出依据本发明第三实施例的语音编码设备/语音解码设备中的随机码本的方框图;图10A和图10B是存储在随机码本的子码本中的子激励矢量的概念图;图11A到11F是说明激励样品的产生方法的概念图;以及图12是示出依据存储本发明的语音编码设备/语音解码设备的程序的数据媒体的示意图。
本发明的较佳实施方式将参考附图详细地描述本发明的实施例。
(实施例1)图2是示出具有依据本发明的第一实施例到第三实施例的语音编码/解码设备的无线电通信设备的结构的方框图。
在此无线电通信设备中,在发送一侧,在诸如麦克风等语音输入器件21处把语音转换成模拟电信号并输出到A/D转换器22。在A/D转换器22处把模拟语音信号转换成数字语音信号并输出到语音编码部件23。语音编码部件23对数字语音信号进行语音编码处理并把经编码的数据输出到调制/解调器电路24。调制/解调器电路24对经编码的语音信号进行数字调制而输出到无线电发射电路25。无线电发射电路25对经调制的信号进行预定的无线电发射处理。经由天线26发射信号。此外,处理器31使用存储在RAM 25和ROM 26中的数据进行适当的处理。
另一方面,在无线电通信设备的接收一侧,在天线26处接收到被接收的信号在无线电接收电路27处经过预定的无线电接收处理,并被输出到调制/解调电路24。调制/解调电路24对接收到的信号进行解调处理并把经解调的信号输出到语音解码部件28。语音解码部件28对经解调的信号进行解码处理来获得经解码的数字语音信号,并把经解码的数字语音信号输出到D/A转换器29。D/A转换器29把从语音解码部件28输出的经解码的数字语音信号转换成经解码的模拟语音信号,以输出到诸如扬声器等语音输出器件30。最后,语音输出器件30把经解码的模拟电信号转换成经解码的语音而输出。
由诸如DSP等处理器31使用存储在RAM 32和ROM 33中的码本来操作语音编码部件23和语音解码部件28。操作程序也存储在ROM 33中。
图3是示出依据本发明第一到第三实施例的CELP系统中的语音编码设备的结构的方框图。该语音编码设备包含在图2所示的语音编码部件23中。此外,图3所示的自适应码本43存储在图2所示的RAM 32中,且图3所示的随机码本44存储在图2所示的ROM 33中。
在图3所示的语音编码设备(以下,也叫做编码器)中,LPC分析部件42对输入的语音数据41进行自相关分析和LPC分析获得LPC。LPC分析部件42还对获得的LPC进行编码来获得LPC码。此外,LPC分析部件42还对获得的LPC码进行解码来获得经解码的LPC。在编码中,一般执行转换成诸如LSP(线性频谱对)等具有良好配合操作性的参数,然后通过VQ(矢量量化)进行编码。
激励产生部件45取得存储在自适应码本43和随机码本44(分别叫做自适应代码矢量(或自适应激励)和随机代码矢量(或随机激励))中的激励样品并把各个激励样品提供给LPC合成部件46。自适应码本是其中存储先前合成的激励信号的码本,它也是表示使用在不同的先前时间即时间间隔处合成的激励中的哪一个合成激励的索引。
LPC合成部件46以在LPC分析部件42处获得的经解码的LPC对在激励产生部件45处获得的两个激励进行滤波。
比较部件47分析在LPC合成部件46处获得的两个合成语音与输入语音的关系,获得两个合成语音的最佳值(最佳增益),并把分别经过最佳增益的功率调节的每个合成语音相加来获得总的合成语音,以及在总合成语音与输入语音之间进行距离计算。比较部件47还相对于自适应码本43和随机码本44中的所有激励样品,在输入语音与通过执行激励产生部件45和LPC合成部件46的功能而获得的每个其它许多合成语音之间进行距离计算,并获得其距离在所获得的距离中最小的激励样品的索引。然后,比较部件47把获得的最佳增益、各个码本的激励样品的索引及相应于各个索引的两个激励样品提供给参数编码部件48。
参数编码部件48对最佳增益进行编码来获得增益码,并把增益码、LPC码和激励样品的索引提供给发送路径49。此外,参数编码部件48还使用增益码和相应于索引的两个激励来产生实际激励信号(合成激励),并把该激励信号存储在自适应码本43中并同时删除旧的激励样品。
此外,LPC合成部件46处的合成一般使用线性预测系数和高频增强型滤波器或具有长期预测系数(通过对输入语音的长期预测分析而获得)的感知加权滤波器。此外,一般以通过进一步分割分析间隔而获得的某一间隔(叫做子帧)对自适应码本和随机码本进行激励搜索。
图4是示出依据本发明第一实施例到第三实施例的CELP系统中的语音解码设备的结构的方框图。该语音解码设备包含在图2所示的语音解码部件28中。此外,图4所示的自适应码本53存储在图2所示的RAM 32中,且图4所示的随机码本54存储在图2所示的ROM 33中。
在图4所示的语音解码设备中,参数解码部件52从发送路径51获得经编码的语音信号,同时获得激励码本(自适应码本53和随机码本54)的各个编码激励样品、编码LPC和编码增益。然后,参数解码部件52使用编码的LPC获得解码LPC并使用编码增益获得解码增益。
激励产生部件55把每个激励样品分别与解码增益相乘来获得经解码的激励信号。在此阶段,激励产生部件55把获得的经解码的激励信号存储在自适应码本53中作为激励样品,同时删除旧的激励样品。LPC合成部件56以解码LPC对经解码的激励信号进行滤波来获得合成语音。
此外,这两个激励码本与包含在图3所示的语音编码设备中的码本(图3中的标号43和44)相同。从参数解码部件52(相应于以下所述的图5所示的短虚线(来自比较部件47的控制)来提供取得激励样品的样品数(自适应码本的代码和随机码本的代码)。
以下对图5给出描述来详细地说明在具有以上结构的语音编码设备和语音解码设备中,语音存储激励样品的随机码本44和54的功能。图5是示出依据本发明第一实施例的语音编码设备和语音解码设备中的随机码本的方框图。
随机码本具有第一码本61和第二码本62,第一码本61和第二码本62分别具有两个子码本61a、61b和62a、62b。随机码本还具有增益计算部件63,增益计算部件63使用子码本61a和62a中的脉冲位置计算来自子码本61b和62b的输出的增益。
子码本61a和62a主要用于语音是有声声音(脉冲位置相对靠近)的情况,且它通过存储单个脉冲构成的多个子激励矢量来形成。子码本61b和62b主要用于语音是无声声音或背景噪声(脉冲位置相对远离)的情况,且它通过存储由具有多个脉冲(其中功率是分散的)的序列构成的多个子激励矢量来形成。在如上所述形成的随机码本中产生激励样品。此外,以下将描述靠近和远离的脉冲位置。
此外,子码本61a和62b是通过以代数方式排列脉冲的方法来形成的,子码本61b和62b是通过把矢量长度(子帧长度)分割成几个片段间隔并如此构造而使单个脉冲总是位于每个片段间隔(脉冲分散于整个长度)处而形成。
预先形成这些码本。在本实施例中,如图5所示,把码本的数目设定为两个,每个码本具有两个子码本。
图6A示出存储在第一码本61的子码本61a中的子激励矢量。图6B示出存储在第一码本61的子码本61b中的子激励矢量。类似地,第二码本62的子码本62a和62b分别具有图6A和图6B所示的子激励矢量。
此外,使用随机数来形成子码本61b和62b中的子激励矢量的脉冲的位置和极性。依据上述结构,即使在存在某些波动时,也可形成其中功率均匀地分散于整个矢量长度上的子激励矢量。图6B示出在片段间隔数为四的情况下的一个例子。此外,在这两个子码本中,同时使用同一索引(数)的各个子激励矢量。
接着通过描述来说明使用具有上述结构的随机码本的语音编码。
增益计算部件63依据来自语音编码设备的比较部件47的代码来计算激励矢量数(索引)。比较部件47所提供的代码相应于激励矢量数,因此,由该代码来确定激励矢量数。增益计算部件63从子码本61a和62a中取得具有相应于所确定的激励矢量数的少量脉冲的子激励矢量。增益计算部件还使用所取得的子激励矢量的脉冲位置来计算相加(addition)增益。由以下公式(1)来给出相加增益计算g=|P1-P2|/L...公式(1)这里,g为相加增益,P1和P2分别是码本61a和62a中的脉冲位置,L是矢量长度(子帧长度)。此外,||代表绝对值。
依据以上公式(1),当脉冲位置更加靠近(脉冲距离变短)时,相加增益变小,而当脉冲位置更加远离时,脉冲位置变大,且下限为0,上限为1。相应地,当脉冲位置更靠近时,子码本61b和62b的增益相对更小。结果,相应于有声声音的子码本61a和62b的影响变大。另一方面,当脉冲位置更加远离(脉冲距离变大)时,子码本61b和62b的增益相对更大。结果,相应于无声声音和背景噪声的子码本61b和62b的影响变大。通过进行上述增益控制来获得感觉上优良的声音。
接着,增益计算部件63参考比较部件47所提供的激励矢量的数目,从子码本61b和62b中获得脉冲数目大的两个子激励矢量。把来自子码本61b和62b的这两个子激励矢量分别提供给增益计算部件64和65,以把它们与增益计算部件63处获得的相加增益相乘。
此外,激励矢量相加部件66通过参考比较部件47所提供的激励矢量的数目从子码本61a中获得具有少量脉冲的子激励矢量,还从子码本61b中获得与增益计算部件63处获得的相加增益相乘的子激励矢量。然后,激励矢量相加部件66把获得的子激励矢量相加来获得激励矢量。类似地,激励矢量相加部件67通过参考比较部件47所提供的激励矢量的数目从子码本62a中获得具有少量脉冲的子激励矢量,还从子码本62b中获得与增益计算部件63处获得的相加增益相乘的子激励矢量。然后,激励矢量相加部件67把获得的子激励矢量相加来获得激励矢量。
把分别通过相加子激励矢量而获得的激励矢量提供给激励矢量相加部件68而相加。依据上述处理,获得激励样品(随机代码矢量)。把激励样品提供给激励产生部件45和参数编码部件48。
另一方面,解码一侧预先准备与编码器中相同的自适应码本和随机码本,并根据从发送路径发送的每个码本的各个索引、LPC码和增益码,把各个激励样品与相加的增益相乘。然后,解码一侧以解码的LPC对所加的样品进行滤波,以对语音进行解码。
接着将使用图7A到图7F来描述上述算法所选中的激励样品的一个例子。假设第一码本61的索引为j,第二码本62的索引为m或n。
从图7A和图7B可理解,在j+m的情况下,由于子码本61a和62a的子激励矢量的位置相对靠近,所以使用先前所述的公式(1)来计算小的相加增益值。相应地,子码本61b和62b的相加增益小。因此,如图7C所示,激励矢量相加部件68获得由分别反映图7A和图7B中所示的子码本61a和62a的特征的少量脉冲构成的激励样品。此激励样品对有声语音是有效的。
此外,从图7A和图7B可理解,在j+n的情况下,由于子码本61a和62a的子激励矢量的位置相对远离,所以使用先前所述的公式(1)来计算大的相加增益值。相应地,子码本61b和62b的相加增益大。因此,如图7F所示,激励矢量相加部件68获得分别反映图7D和图7E中所示的子码本61b和62b特征的激励样品,该激励样品具有能量分散的强的随机特征。此激励样品对无声语音/背景噪声是有效的。
本实施例描述了使用两个码本(两个信道)的情况。然而,最好把本发明应用于使用三个或三个以上的码本(三个或三个以上信道)的情况。在此情况下,作为增益计算部件63中的公式即公式(1)的分子,使用两个脉冲之间间隔的最小值或所有脉冲间隔的平均值。例如,在码本的数目为三个且把最小脉冲间隔用作公式(1)的分子的情况下,由以下公式(2)给出计算公式g=min(|P1-P2|,|P2-P3|,|P3-P1|)/L ...公式(2)这里,g为相加增益,P1、P2和P3是这三个码本中的各个脉冲位置,L是矢量长度(子帧长度)。此外,||代表绝对值。
如上所述,依据本实施例,多个码本具有两个子码本,每个子码本具有其特征不同的各个子激励矢量,通过把每个子激励矢量相加来获得激励矢量,从而可相应于具有各种特征的输入信号。
此外,由于将与子激励矢量相乘的增益相应于子激励矢量的特征而改变,所以可反映通过增益调节存储在语音的两个码本中的激励矢量的两种特征,从而使得可有效地进行最适用于具有各种特征的输入信号特征的编码和解码。
具体来说,由于两个子码本中的一个存有由少量脉冲构成的多个子激励矢量,而另一个子码本存有由大量脉冲构成的多个子激励矢量,所以可通过具有少量脉冲的特征的激励样品来实现有声语音中的优良的声音质量,并可进行最适用于具有各种特征的输入信号的特征的激励的产生。
此外,由于增益计算部件使用由少量脉冲构成的子激励矢量的脉冲位置的距离来计算增益,所以可通过其距离靠近的少量脉冲来实现有声语音的声音质量优良的合成语音,同时以能量分散的大量脉冲来实现无声语音/背景噪声中的感觉上优良的合成语音。
在上述相加增益计算中,通过使用确定为相加增益的固定值来简化处理。在此情况下,不需要安装增益计算部件63。即使在此情况下,也可通过适当地改变固定值的设定来实现匹配即时需求的合成语音。例如,可通过设定小标度范围(scale)的相加增益对诸如男性嗓音等嗓音低的爆破音实现极好的编码,同时通过设定大标度范围的相加增益对诸如背景噪声等随机语音实现极好的编码。
此外,除了使用脉冲位置来计算相加增益的一种方法以及把固定系数提供给相加增益的另一种方法以外,最好还应用适当地使用输入信号功率电平、解码LPC或自适应码本来计算相加增益的方法。例如,它可通过准备确定有声语音特征(诸如元音和驻波)或无声语音特征(诸如背景噪声和无声辅音)的函数并在有声语音特征的情况下设定小的增益而在无声语音特征的情况下设定大的增益来实现适用于局部化语音特征的极好编码。
(第二实施例)将描述增益计算部件从LPC分析部件42中获得经解码的LPC并使用获得的LPC进行有声/无声判断的情况。
图8是示出依据本发明第二实施例的语音编码设备/语音解码设备中的随机码本的方框图。具有随机码本的语音编码设备和语音解码设备的结构与第一实施例相同(图3和图4)。
随机码本具有第一码本71和第二码本72,第一码本71和第二码本72分别具有两个子码本71a、71b和72a、72b。随机码本还具有增益计算部件73,增益计算部件73使用子码本71a和72a中的脉冲位置计算来自子码本71b和72b的输出的增益。
子码本71a和72a主要用于语音是有声声音(脉冲位置相对靠近)的情况,且它通过存储单个脉冲构成的多个子激励矢量来形成。子码本71b和72b主要用于语音是无声声音或背景噪声(脉冲位置相对远离)的情况,且它通过存储由具有多个脉冲(功率被分散在其中)的序列构成的多个子激励矢量来形成。在如上所述形成的随机码本中产生激励样品。
此外,子码本71a和72a是通过以代数方式排列脉冲的方法来形成的,子码本71b和72b是通过把矢量长度(子帧长度)分割成几个片段间隔并如此构造而使单个脉冲总是位于每个片段间隔(脉冲分散于整个长度)处而形成。
预先形成这些码本。在本实施例中,如图8所示,把码本的数目设定为两个,每个码本具有两个子码本。码本的数目和子码本的数目不限。
图6A示出存储在第一码本71的子码本71a中的子激励矢量。图6B示出存储在第一码本71的子码本71b中的子激励矢量。类似地,第二码本72的子码本72a和72b分别具有图7A和图7B所示的子激励矢量。
此外,使用随机数来形成子码本71b和72b中的子激励矢量的脉冲的位置和极性。依据上述结构,即使在存在某些波动时,也可形成其中功率均匀地分散于整个矢量长度上的子激励矢量。图6B示出在片段间隔数为四的情况下的一个例子。此外,在这两个子码本中,同时使用同一索引(数)的各个子激励矢量。
接着通过描述来说明使用具有上述结构的随机码本的语音编码。
增益计算部件73从LPC分析部件42获得经解码的LPC并使用获得的LPC来进行有声/无声判断。具体来说,相对于与例如有声语音、无声语音和背景噪声等每一种模式相关的许多数据,增益计算部件73预先收集相应于LPC(例如通过把LPC转换成脉动响应或LPC倒频谱(cepstrum)而获得)的数据。然后,这些数据经过统计处理,根据结果,产生有声、无声和背景噪声的判断规则。作为该规则的一个例子,一般使用线性确定函数和贝叶斯判断。然后,根据该规则而获得的判断结果,通过以下公式(3)的规则而获得加权系数RR=L 当判定为有声语音时R=L×0.5当判定为无声语音/背景噪声...公式(3)这里R为加权系数,L是矢量长度(子帧长度)。
接着,增益计算部件73从语音编码设备中的比较部件47接收激励矢量数(索引数)的指令,依据该指令,分别从子码本71a和72a中取得具有少量脉冲的指定数目的子激励矢量。增益计算部件73还使用所取得的子激励矢量的脉冲位置来计算相加增益。依据以下公式来进行相加增益的计算g=|P1-P2|/R...公式(4)这里,g为相加增益,P1和P2分别是码本71a和72a中的脉冲位置,R加权系数。此外,||代表绝对值。
依据以上公式(3)和(4),当脉冲位置更加靠近时,相加增益变小,而当脉冲位置更加远离时,脉冲位置变大,且下限为0,上限为L/R。相应地,当脉冲位置更靠近时,子码本71b和72b的增益相对更小。结果,相应于有声声音的子码本71a和72b的影响变大。另一方面,当脉冲位置更加远离(脉冲距离变大)时,子码本71b和72b的增益相对更大。结果,相应于无声声音和背景噪声的子码本71b和72b的影响变大。通过进行上述增益控制来获得感觉上优良的声音。
此外,激励矢量相加部件76通过参考比较部件47所提供的激励矢量的数目从子码本61a中获得具有少量脉冲的子激励矢量,还从子码本71b中获得与增益计算部件73处获得的相加增益相乘的子激励矢量。然后,激励矢量相加部件76把获得的子激励矢量相加来获得激励矢量。类似地,激励矢量相加部件76通过参考比较部件47所提供的激励矢量的数目从子码本72a中获得具有少量脉冲的子激励矢量,还从子码本72b中获得与增益计算部件73处获得的相加增益相乘的子激励矢量。然后,激励矢量相加部件77把获得的子激励矢量相加来获得激励矢量。
把分别通过相加子激励矢量而获得的激励矢量提供给激励矢量相加部件68而相加。依据上述处理,获得激励样品(随机代码矢量)。把激励样品提供给激励产生部件45和参数编码部件48。
另一方面,解码一侧预先准备与编码器中相同的自适应码本和随机码本,并根据从发送路径发送的每个码本的各个索引、LPC代码和增益代码,把各个激励样品与相加的增益相乘。然后,解码一侧以经解码的LPC对所加的样品进行滤波,以对语音进行解码。
在此阶段,必须把经解码的LPC提供给本实施例的随机码本这与第一实施例不同。具体来说,在此阶段,参数解码背景52把获得的LPC与随机码本的样品数一起提供给随机码本(相应于,图4中从参数解码部件52至随机码本54的信号线包括来自“LPC分析部件42”的信号线和表示“来自比较部件47的控制”的控制线)。
通过以上算法选中的激励样品与第一实施例及图7A到7F所示的相同。
如上所述,依据本实施例,增益计算部件73使用经解码的LPC来进行有声/无声判断,并使用依据公式(3)获得的加权系数R来计算相加增益,导致有声语音时的小增益和无声语音及背景噪声时的大增益。从而,获得的激励样品为有声语音中的少量脉冲和无声语音及背景噪声中包含更多噪声的大量脉冲。相应地,可通过如上所述的自适应脉冲位置进一步改善效果,从而可使合成语音实现更优良的声音质量。
此外,本实施例中的语音编码还对传输误差有效果。在以常规的有声/无声判断来进行编码时,一般通过LPC来切换随机码本。因此,当传输误差引入错误的判断时,有时以完全不同的激励样品来进行解码,导致低的抗传输误差的能力。
相反,在本实施例的语音编码中,如果在解码时的有声/无声判断中使用错误的LPC,则只有相加增益的值稍稍改变,而传输误差所引起的退化极少。因而,依据本实施例,可获得声音质量优良的合成语音而不会受到LPC代码的传输误差的很大影响,同时由LPC来进行适配。
本实施例描述了使用两个码本(两个信道)的情况。然而,最好把本发明应用于使用三个或三个以上的码本(三个或三个以上信道)的情况。在此情况下,作为增益计算部件63中的公式即公式(4)的分子,使用两个脉冲之间间隔的最小值或所有脉冲间隔的平均值。
第一和第二实施例描述了调节来自子码本61b、62b、71b和72b的输出的增益的情况。然而,在脉冲位置靠近时如此调节来自子码本的输出的增益从而对具有少量脉冲的激励矢量有大的影响,而当脉冲位置远离时对具有大量脉冲的激励矢量有大的影响,在此情况下,最好调节来自子码本61a、62a、71a和72a的输出或调节来自所有子码本的输出。
(第三实施例)本实施例将描述切换从相应于脉冲间隔的距离的子码本中获取的激励矢量的情况。
图9是示出依据本发明第三实施例的语音编码设备/语音解码设备中的随机码本的方框图。具有随机码本的语音编码设备和语音解码设备的结构与第一实施例相同(图3和图4)。
随机码本具有第一码本91和第二码本92,第一码本91和第二码本92分别具有两个子码本91a、91b和92a、92b。随机码本还具有激励切换指令部件93,激励切换指令部件93在来自子码本91b和92b的相应于子码本91a和92a中的脉冲位置的输出之间进行切换。
子码本91a和92a主要用于语音是有声声音(脉冲位置相对靠近)的情况,且它通过存储单个脉冲构成的多个子激励矢量来形成。子码本91b和92b主要用于语音是无声声音或背景噪声(脉冲位置相对远离)的情况,且它通过存储由具有多个脉冲(其中功率是分散的)的序列构成的多个子激励矢量来形成。在如上所述形成的随机码本中产生激励样品。
此外,子码本91a和92a是通过以代数方式排列脉冲的方法来形成的,子码本91b和92b是通过把矢量长度(子帧长度)分割成几个片段间隔并如此构造而使单个脉冲总是位于每个片段间隔(脉冲分散于整个长度)处而形成。
预先形成这些码本。在本实施例中,如图9所示,把码本的数目设定为两个,每个码本具有两个子码本。码本的数目和子码本的数目不限。
图10A示出存储在第一码本91的子码本91a中的子激励矢量。图10B示出存储在第一码本91的子码本91b中的子激励矢量。类似地,第二码本92的子码本92a和92b分别具有图10A和图10B所示的子激励矢量。
此外,使用随机数来形成子码本91b和92b中的子激励矢量的脉冲的位置和极性。依据上述结构,即使在存在某些波动时,也可形成其中功率均匀地分散于整个矢量长度上的子激励矢量。图10B示出在片段间隔数为四的情况下的一个例子。此外,在这两个子码本中,不同时使用同一索引(数)的各个子激励矢量。
接着通过描述来说明使用具有上述结构的随机码本的语音编码。
激励切换指令部件93依据来自语音编码设备的比较部件47的代码来计算激励矢量数(索引)。比较部件47所提供的代码相应于激励矢量数,因此,由该代码来确定激励矢量数。激励切换指令部件93从子码本91a和92a中取得具有相应于所确定的激励矢量数的少量脉冲的子激励矢量。此外,激励切换指令部件还使用所取得的子激励矢量的脉冲位置来进行如下所述的判断|P1-P2|<Q使用子码本91a和92a|P1-P2|≥Q使用子码本91b和92b,这里,P1和P2分别是码本91a和92a中的脉冲位置,Q为常数,||代表绝对值。
在以上判断中,当脉冲位置靠近时选中具有少量脉冲的激励矢量,而当脉冲位置远离时选中具有大量脉冲的激励矢量。如上所述进行判断和选择使得可实现在感觉上优良的声音。常数Q是预定的。可通过改变常数Q来改变具有少量脉冲的激励与具有大量脉冲的激励的比值。
激励切换指令部件93依据切换信息(切换信号)和激励的代码(样品数),从子码本91a和92a或子码本91b和92b中取得激励矢量。在第一和第二开关94和95处进行切换。
把获得的激励矢量提供给激励矢量相加部件96以相加。如此获得激励样品(随机代码矢量)。把激励样品提供给激励产生部件45和参数编码部件48。此外,在解码一侧,把激励样品提供给激励产生部件55。
接着将使用图11A到图11F来描述上述算法所选中的激励样品的一个例子。假设第一码本91的索引为j,第二码本92的索引为m或n。
从图11A和图11B可理解,在j+m的情况下,由于子码本91a和92a的子激励矢量的脉冲位置相对靠近,所以激励切换指令部件93依据以上判断选择具有少量脉冲的子激励矢量。然后,激励矢量相加部件96把分别从图11A和图11B所示的子码本91a和92a选中的两个子激励矢量相加,并获得具有由图11C所示的强脉冲特征的激励样品。此激励样品对有声语音是有效的。
此外,从图11A和图11B可理解,在j+n的情况下,由于子码本91a和92a的子激励矢量的脉冲位置相对远离,所以激励切换指令部件93依据以上判断选择具有大量脉冲的子激励矢量。然后,激励矢量相加部件96把分别从图11A和图11B所示的子码本91b和92b选中的两个子激励矢量相加,并获得具有由图11F所示的能量分散的强随机特征的激励样品。此激励样品对无声语音/背景噪声是有效的。
如上所述,依据本实施例,通过切换多个码本都必须获得的两个子码本中的激励矢量,并使用从每个码本中的任一个子码本中获得的激励矢量来产生激励样品。这样,可通过数量更少的计算来对应于具有各种特征的输入信号。
由于两个子码本中的一个存有由少量脉冲构成的多个子激励矢量,而另一个子码本存有由大量脉冲(其中功率是分散的)构成的多个子激励矢量,所以可对有声语音使用具有少量脉冲的激励样品,而对无声语音/背景噪声使用具有大量脉冲的其它激励样品。从而可获得具有优良声音质量的合成语音,还可获得具有优良性能的具有各种特性的输入信号。
此外,由于激励切换指令部件切换从相应于脉冲位置之间的距离的子码本中获取的激励矢量,所以可通过其距离靠近的少量脉冲来实现有声语音的声音质量优良的合成语音,同时以能量分散的大量脉冲来实现无声语音/背景噪声中的感觉上优良的合成语音。此外,由于激励切换指令部件从子码本中获取激励矢量同时进行切换,所以例如不必计算增益并把该增益与随机码本中的矢量相乘。
即,由于根据由少量脉冲构成的子激励矢量的脉冲位置之间的相对距离来进行上述切换,所以可通过其距离靠近的少量脉冲来实现有声语音的声音质量优良的合成语音,同时以能量分散的大量脉冲来实现无声语音/背景噪声中的感觉上优良的合成语音。
本实施例描述了使用两个码本(两个信道)的情况。然而,最好把本发明应用于使用三个或三个以上的码本(三个或三个以上信道)的情况。在此情况下,作为激励切换指令部件93中的判断基础,使用了两个脉冲之间间隔的最小值或所有脉冲间隔的平均值。例如,在使用三个码本及两个脉冲之间间隔的最小值的情况下,判断基础如下min(|P1-P2|,|P2-P3|,|P3-P1|)<Q 使用子码本amin(|P1-P2|,|P2-P3|,|P3-P1|)≥Q 使用子码本b这里,P1、P2和P3分别是各个码本中的脉冲位置,Q为加权系数,||代表绝对值。
在依据本实施例的语音编码/解码中,可以与第二实施例相同的方式来组合有声/无声判断算法。换句话说,在编码一侧,激励切换指令部件从LPC分析部件中获得经解码的LPC并使用该LPC进行有声/无声判断,在解码一侧,把经解码的LPC提供给随机码本。依据上述处理,可通过采用适当的脉冲位置来改善效果,并实现具有更优良的声音质量的合成语音。
通过在编码一侧和解码一侧并相应于判断结果分别提供有声/无声判断部件来实现以上结构,使得Q变量成为用于判断激励切换指令部件的阈值。在此情况下,在有声语音的情况下把Q设定在大的标度范围,而在无声语音的情况下把Q设定在小的标度范围,以使具有少量脉冲的激励的数目与具有大量脉冲的激励的数目的比值相应于语音的局部化特征而改变。
此外,在执行反向的有声/无声判断的情况下(把不发送的其它解码参数用作代码),可能因传输误差而产生错误的判断。依据本实施例中的编码/解码,由于只通过改变阈值Q来进行有声/无声判断,所以错误的判断只影响阈值Q在有声语音和无声语音情况之间的差。相应地,错误的判断所产生的影响非常小。
此外,可使用输入信号功率的电平、经解码的LPC及使用自适应码本来适当地计算Q的方法。例如,使用以上参数预先准备确定有声语音特征(诸如元音和驻波)或无声语音特征(诸如背景噪声和无声辅音)的函数,并在有声特征时把Q设定在大的标度范围而在无声特征时把Q设定在小的标度范围。依据上述处理,可在有声特征间隔中使用少量脉冲构成的激励样品,并在无声特征间隔中使用大量脉冲构成的另一个激励样品,从而可获得自适应于局部化语音特征的极好编码性能。
此外,把依据第一到第三实施例的语音编码/解码描述为语音编码设备/语音解码设备,然而可把语音编码/解码构成软件。例如,可把用于上述语音编码/解码的程序存储在ROM中,并依据该程序由CPU的指令进行操作。此外,如图12所示,可把程序101a、自适应码本101b和代数码本101c存储在计算机可读的记录媒体101中,把记录媒体101的程序101a、自适应码本101b和随机码本101c写入计算机的RAM中,并依据该程序进行操作。这些情况还实现了与上述第一到第三实施例相同的功能和效果。
第一到第三实施例描述了当激励矢量具有少量脉冲时脉冲数目为一的情况,在激励矢量具有矢量脉冲时还可使用脉冲数目等于或大于两个的激励矢量。在此情况下,在进行脉冲位置的远近判断时,最好应用于多个脉冲中其位置最靠近的脉冲的间隔。
第一到第三实施例描述了本发明适用于CELP系统中的语音编码设备/语音解码设备,然而,本发明可应用于使用“码本”的任何语音编码/解码,因为本发明的特征在于随机码本。例如,本发明可应用于“RPE-LPT”(它是通过GSM的标准全速率编码解码器)及“MP-MLQ”(它是ITU-T的国际标准编码解码器“G.723.1”)。
本申请基于1998年6月9日提交的HEI10-160119号及1998年9月11日提交的HEI10-258271号日本专利申请,这里包括这两个申请的全部内容作为参考。
工业应用性依据本发明的语音编码设备和语音解码设备可应用于使用低比特率低的语音编码算法的手提电话和数字通信。
本申请基于1998年6月9日提交的HEI10-160119号及1998年9月11日提交的HEI10-258271号日本专利申请,这里包括这两个申请的全部内容作为参考。
权利要求
1.一种用于在CELP系统中进行语音编码的设备,其特征在于所述设备包括自适应码本,其中存储先前合成的激励信号;随机码本,其中存储多个激励矢量,所述随机码本具有其中存储由少量脉冲构成的激励矢量的第一子码本和其中存储由大量脉冲构成的激励矢量的第二子码本;使用从所述自适应码本和所述随机码本中获取的激励信息、使用通过对输入语音信号进行LPC分析而获得的LPC来获得合成语音的装置;使用所述合成语音与所述输入语音信号之间的关系来获得所述合成语音的增益信息的装置;以及发送所述LPC、所述激励信息和所述增益信息的装置。
2.如权利要求1所述的设备,其特征在于所述随机码本还具有相应于所述第一子码本中的激励矢量的脉冲之间的距离来控制所述第一子码本和所述第二子码本中的各个激励矢量的增益的控制装置及使用增益被控制的激励矢量来获得激励信息的计算装置。
3.如权利要求1所述的设备,其特征在于所述控制装置在所述第一子码本中的激励矢量的脉冲之间的距离短的情况下使所述第二子码本中的激励矢量的增益相对小,而在所述第一子码本的激励矢量的脉冲之间的距离长的情况下使所述第二子码本中的激励矢量的增益相对大。
4.如权利要求3所述的设备,其特征在于所述控制装置依据以下公式1来计算增益,g=|P1-P2|/L ...公式(1)这里,g为增益,P1和P2为所述第一子码本中的各个激励矢量位置,L为矢量长度。
5.如权利要求1所述的设备,其特征在于所述随机码本还具有相应于所述第一子码本中的激励矢量之间的距离而指令从所述第一子码本和所述第二子码本中获取距离矢量的指令装置及依据所述指令装置的指令在所述第一子码本和所述第二子码本中的距离矢量的输出之间进行切换的切换装置。
6.一种用于在CELP系统中进行语音编码的设备,其特征在于所述设备包括自适应码本,其中存储先前合成的激励信号;随机码本,其中存储多个激励矢量,所述随机码本具有其中存储由少量脉冲构成的激励矢量的第一子码本和其中存储由大量脉冲构成的激励矢量的第二子码本;使用从所述自适应码本和所述随机码本中获取的激励信息、使用通过对输入语音信号进行LPC分析而获得的LPC来获得合成语音的装置;使用所述LPC对所述输入语音信号进行有声/无声判断的装置;使用所述合成语音与所述输入语音信号之间的关系来获得所述合成语音的增益信息的装置;以及发送所述LPC、所述激励信息和所述增益信息的装置。
7.如权利要求6所述的设备,其特征在于所述随机码本还具有相应于所述第一子码本中的激励矢量的脉冲之间的距离来控制所述第一子码本和所述第二子码本中的各个激励矢量的增益的控制装置及使用增益被控制的激励矢量来获得激励信息的计算装置。
8.如权利要求6所述的设备,其特征在于所述控制装置在所述第一子码本中的激励矢量的脉冲之间的距离短的情况下使所述第二子码本中的激励矢量的增益相对小,而在所述第一子码本的激励矢量的脉冲之间的距离长的情况下使所述第二子码本中的激励矢量的增益相对大。
9.如权利要求7所述的设备,其特征在于所述控制装置依据以下公式2来计算增益,g=|P1-P2|/R ...公式(6)这里,g为增益,P1和P2为所述第一子码本中的各个激励矢量位置,R代表加权系数,在有声/无声判断的结果指示有声语音的情况下为矢量长度L,而在有声/无声判断的结果指示无声语音的另一种情况下为L×0.5。
10.如权利要求6所述的设备,其特征在于所述随机码本还具有相应于所述第一子码本中的激励矢量之间的距离而指令从所述第一子码本和所述第二子码本中获取距离矢量的指令装置及依据所述指令装置的指令在所述第一子码本和所述第二子码本中的距离矢量的输出之间进行切换的切换装置。
11.一种用于在CELP系统中进行语音解码的设备,其特征在于所述设备包括自适应码本,其中存储先前合成的激励信号;随机码本,其中存储多个激励矢量,所述随机码本具有其中存储由少量脉冲构成的激励矢量的第一子码本和其中存储由大量脉冲构成的激励矢量的第二子码本;接收从编码一侧发送的LPC、激励信息和增益信息的装置;以及使用与所述增益信息相乘的所述激励信息和所述LPC对语音进行解码的装置。
12.如权利要求11所述的设备,其特征在于所述设备还包括把所述LPC提供给所述随机码本的装置。
13.一种用于在CELP系统中进行语音编码的方法,其特征在于所述方法包括以下步骤相应于随机码本中的第一子码本中的激励矢量的脉冲之间的距离来控制第一子码本和第二子码本中的各个激励矢量的增益,所述随机码本具有其中存储由少量脉冲构成的激励矢量的第一子码本和其中存储由大量脉冲构成的激励矢量的第二子码本;使用增益被控制的激励矢量来获得激励信息;使用从所述自适应码本和所述随机码本中获取的激励信息、使用通过对输入语音信号进行LPC分析而获得的LPC来获得合成语音;以及使用所述合成语音与所述输入语音信号之间的关系来获得所述合成语音的增益信息。
14.如权利要求13所述的方法,其特征在于所述方法还包括使用所述LPC对所述输入语音信号进行有声/无声判断的步骤。
15.一种用于在CELP系统中进行语音编码的方法,其特征在于所述方法包括以下步骤相应于随机码本中的第一子码本中的激励矢量的脉冲之间的距离选择第一子码本或第二子码本中的一个激励矢量,所述随机码本具有其中存储由少量脉冲构成的激励矢量的第一子码本和其中存储由大量脉冲构成的激励矢量的第二子码本;使用选中的激励矢量来获得激励信息;使用从所述自适应码本和所述随机码本中获取的激励信息、使用通过对输入语音信号进行LPC分析而获得的LPC来获得合成语音;以及使用所述合成语音与所述输入语音信号之间的关系来获得所述合成语音的增益信息。
16.如权利要求15所述的方法,其特征在于所述方法还包括使用所述LPC对所述输入语音信号进行有声/无声判断的步骤。
17.一种计算机可读的记录媒体,其特征在于所述媒体存储语音编码程序、其中存有先前合成的激励信号的自适应码本以及其中存有多个激励矢量的随机码本,所述随机码本具有其中存储由少量脉冲构成的激励矢量的第一子码本和其中存储由大量脉冲构成的激励矢量的第二子码本,所述程序包括以下过程相应于所述随机码本所述第一子码本中的激励矢量的脉冲之间的距离来控制所述第一子码本和第二子码本中的各个激励矢量的增益;使用增益被控制的激励矢量来获得激励信息;使用从所述自适应码本和所述随机码本中获取的激励信息、使用通过对输入语音信号进行LPC分析而获得的LPC来获得合成语音;以及使用所述合成语音与所述输入语音信号之间的关系来获得所述合成语音的增益信息。
全文摘要
第一码本61和第二码本62分别具有两个子码本,在各个码本中,相加部件66和67通过把分别从两个子码本中取得的子激励矢量相加来获得各个激励矢量。相加部件68通过把这些激励矢量相加来获得激励样品。依据上述结构,可在各个子码本中存储具有不同特征的子激励矢量。因此,可相应于具有各种特征的输入信号并在解码时实现优良的声音质量。
文档编号G10L19/12GK1272939SQ9980092
公开日2000年11月8日 申请日期1999年6月8日 优先权日1998年6月9日
发明者森井利幸, 安永和敏 申请人:松下电器产业株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1