法律状态公告日
法律状态信息
法律状态
2016-01-20
未缴年费专利权终止 IPC(主分类):G10L19/00 授权公告日:20061108 终止日期:20141203 申请日:20041203
专利权的终止
2006-11-08
授权
授权
2005-08-24
实质审查的生效
实质审查的生效
2005-06-29
公开
公开
技术领域
本发明属于语音编码技术领域,特别涉及多帧联合处理低码率参数语音编码技术。
背景技术
语音编码在通信系统、语音存储回放系统、具有语音功能的消费类产品中有广泛的应用。近些年来国际电信联盟(ITU)、一些区域组织和一些国家相继制定了一系列语音压缩编码标准,在编码速率为1.2kb/s到16kb/s上得到了令人满意的语音质量。目前国内外的研究主要集中在1.2kb/s以下速率高质量语音压缩编码上,主要用于无线通信、保密通信、大容量语音存储回放等。由于编码速率太低,必须采用多帧联合(即超帧)处理的参数语音编码技术,其中最关键的是如何对声道参数进行量化,因为声道参数量化所需要的比特数最高,对它量化的质量将决定语音可懂度。
直接对声道A参数量化效果不好,因此需要将声道A参数转成线谱对参数,然后再进行量化。如图1所示,该方法包括以下步骤:
(1)对输入语音信号样点按时间顺序分帧,将连续的若干帧组成一个超帧;
(2)对超帧按时间顺序进行处理,然后对当前超帧中的每一帧提取声道A参数;
(3)将当前超帧中的每一帧提取的声道A参数转换成线谱对参数;
(4)再从该线谱对参数中减去相应的直流分量,该直流分量是用大量语音样本统计得到的;
(5)然后利用已处理过的上一个超帧线谱对参数对当前超帧中的每一帧线谱对参数的进行预测,从去直流线谱对参数中减去该预测值,得到当前超帧的余量线谱对参数;
(6)再对预测余量参数进行矢量量化,得到的量化后的预测余量参数加上对应的直流分量和预测值后得到量化后的线谱对参数;同时将量化后的预测余量参数送入延迟单元,延迟一个超帧为下一个超帧预测使用;
(7)最后将量化后的线谱对参数转换成声道A参数,得到量化后的声道A参数。
上述已有技术对线谱对参数不做平滑,直接进行处理,并且对于超帧全部线谱对参数进行矢量量化。对于1200b/s以上速率参数编码,由于量化线谱对参数可用比特数较多,可以用上述直接方法对线谱对参数量化,仍然能够得到好的量化效果。对于更低码率语音参数编码,由于可用比特数少,又没有平滑有效去除参数的随机扰动,因而声道参数量化精度低,量化效率及量化效果差,进而得到语音质量不好。
发明内容
本发明的目的是为克服已有技术的不足之处,提出一种超帧声道参数平滑和重要帧抽取矢量量化的方法。该方法能够去除声道参数高频随机扰动,比较好的利用帧之间、超帧之间的相关性,提高声道参数量化精度,并降低所需运算量。特别适用于更低码率语音参数编码。
本发明提出的超帧声道参数量化方法,包括以下步骤:
(1)对输入语音信号样点按时间顺序分帧,将连续的若干帧组成一个超帧;
(2)对当前超帧中的每一帧提取声道A参数;
(3)将当前超帧中的每一帧声道A参数转换成线谱对参数;
(4)对当前超帧线谱对参数按时间方向平滑,去除该参数的高频随机扰动;
(5)对当前超帧中的每一帧提取清浊音参数;
(6)对当前超帧的清浊音参数进行矢量量化,得到当前超帧量化后的清浊音参数量化值;
(7)根据当前超帧清浊音参数量化值确定当前超帧模式;
(8)根据当前超帧的模式确定当前超帧抽取帧的模式,被抽取的帧定为重要帧,其余的帧定为非重要帧;
(9)根据当前超帧的模式确定当前超帧中重要帧中每一个线谱对参数的直流分量,并从每一个线谱对参数中减去相应的直流分量;
(10)根据当前超帧模式和前一个超帧的模式确定一组重要帧线谱对参数预测系数;
(11)利用该组预测系数和前一超帧中最后一帧量化后的余量线谱对参数计算预测值;从当前超帧重要帧中每一个已去直流线谱对参数中减去相应的预测值,得到当前超帧重要帧的余量线谱对参数;
(12)对当前超帧中重要帧的余量线谱对参数进行矢量量化,得到当前超帧量化后的重要帧余量线谱对参数;
(13)将上述步骤(9)得到的直流分量和上述步骤(11)得到的预测值加到量化后的重要帧余量线谱对参数中得到量化后的重要帧线谱对参数;
(14)利用量化后的重要帧线谱对参数,通过插值的方法产生量化后的非重要帧线谱对参数;
(15)将当前超帧量化后的重要帧线谱对参数及非重要帧线谱对参数转换成声道A参数,得到量化后的声道A参数。
本发明的对线谱对参数在量化之前先对线谱对参数进行低频滤波的平滑的方法可采用离散余弦变换,丢弃高频系数,然后再做反离散余弦变换,得到平滑后的线谱对参数。
本发明确定当前超帧中重要帧和非重要帧的具体方法为:将每一个超帧最后一帧定为重要帧(这样做可以使前后超帧更好的衔接),第一帧定为非重要帧,以便利用前一超帧中的最后一帧的插值能力;其它帧确定原则是语音段中影响可懂度大的帧定为重要帧(例如语音起始段、过渡段等,它们可以从量化后的当前超帧清浊音参数看出),还需要考虑要有利于插值,尽量使非重要帧不相邻。
如果编码速率较高,对于非重要帧的插值误差矢量量化方法可采用与它前后相邻最近的两个重要帧的量化后的线谱对参数插值产生,插值误差可以忽略;也可以用少量比特做矢量量化,以达到更好的全超帧声道参数矢量量化精度。
本发明的特点及技术效果
本发明的特点是对线谱对参数在量化之前先进行平滑,去除参数的高频随机扰动,然后根据当前超帧的模式去除非重要帧,只对重要帧线谱对参数量化,量化后的非重要帧的线谱对参数是通过量化后的重要帧线谱对参数进行插值得到的。传统语音生成模型认为人在发音过程中声道形状在短时间内是保持不变的,实际上由于动作、呼吸及其它一些原因,声道管壁会有一定的随机运动,因此造成提取的声道参数会有小的随机扰动。这种扰动使声道参数分布扩散,降低帧与帧之间声道参数的相关性,并使声道参数矢量量化误差加大。本发明通过试验,发现去除声道参数高频随机扰动后合成出的语音和原始语音几乎听不出差别。去除高频随机扰动后的声道参数分布范围缩小、帧之间的相关性增加,有利于提高预测增益和插值精度,也有利于矢量量化的精度。
本发明采用跨超帧离散余弦变换,丢弃变换的高频分量,达到去除高频随机扰动、平滑声道参数的目的。试验测试表明,经过这样平滑的声道参数矢量量化精度提高十分显著。
平滑后的声道参数帧与帧之间相关性得到增强,一个帧的声道参数可以用它相邻两边帧的声道参数插值来近似,不一定花费比特对它量化。本发明提出抽取重要帧声道参数量化的方法,对于提取重要帧后剩余的非重要帧不做量化,而是使用量化后的重要帧通过插值来得到。这样每个超帧所需要量化的声道参数数目得到降低,如果使用同样数目比特进行矢量量化,可以提高量化的精度,由于矢量量化维数减小,使量化运算量也得到降低。
本方法可以提高声道参数的量化精度,使合成语音具有更高的可懂性。该方法适合300~1200b/s低速率参数语音编码。
附图说明
图1为已有技术的超帧声道参数矢量量化方法流程框图。
图2为本发明提出的超帧声道参数平滑和抽取矢量量化方法流程框图。
具体实施方式
本发明提出的超帧声道参数矢量量化的方法结合附图及实施例进一步说明如下:
本发明的方法流程如图2所示,包括以下步骤:
(1)对输入语音信号样点按时间顺序分帧,将连续的若干帧组成一个超帧;
(2)对当前超帧中的每一帧提取声道A参数;
(3)将当前超帧中的每一帧声道A参数转换成线谱对参数;
(4)对当前超帧线谱对参数进行低频滤波的按时间方向平滑;
(5)对当前超帧中的每一帧提取清浊音参数;
(6)对当前超帧的清浊音参数进行矢量量化,得到当前超帧量化后的清浊音参数量化值;
(7)根据当前超帧清浊音参数量化值确定当前超帧模式;
(8)根据当前超帧的模式确定当前超帧抽取帧的模式,被抽取的帧定为重要帧,其余的帧定为非重要帧;
(9)根据当前超帧的模式确定当前超帧中重要帧中每一个线谱对参数的直流分量,并从每一个线谱对参数中减去相应的直流分量;
(10)根据当前超帧模式和前一个超帧的模式确定一组重要帧线谱对参数预测系数;
(11)利用该组预测系数和前一超帧中最后一帧量化后的余量线谱对参数(通过多模式预测器)计算预测值;从当前超帧重要帧中每一个已去直流线谱对参数中减去相应的预测值,得到当前超帧重要帧的余量线谱对参数;
(12)对当前超帧中重要帧的余量线谱对参数进行矢量量化,得到当前超帧量化后的重要帧余量线谱对参数;
(13)将上述步骤(9)得到的直流分量和上述步骤(11)得到的预测值加到量化后的重要帧余量线谱对参数中得到量化后的重要帧线谱对参数;
(14)利用量化后的重要帧线谱对参数,通过插值的方法产生量化后的非重要帧线谱对参数;
(15)将当前超帧量化后的重要帧线谱对参数及非重要帧线谱对参数转换成声道A参数,得到量化后的声道A参数。
本发明上述方法各步骤的具体实施例分别详细说明如下:
上述方法步骤(1)对输入语音信号样点按时间顺序分帧,将连续的若干帧组成一个超帧的实施例是按8khz频率采样、已经过高通滤波去除工频干扰的语音样点。每20ms,也就是160个语音样点构成一帧,连续6帧组成一个超帧(根据编码速率选择一个超帧所晗帧的数目,例如编码速率为1200b/s可以选3帧,600b/s选6帧等)。
上述方法步骤(2)的实施例为:按美国政府2400b/s多带激励的线性预测(MELP)语音编码算法标准所描述的方法对当前超帧中的每一帧都提取10阶声道A参数an=[a1n,a2n,…,a10n](n=1,2,…,6)。
上述方法步骤(3)的实施例为:按美国政府2400b/s多带激励的线性预测(MELP)语音编码算法标准所描述的方法将当前超帧中的每一帧声道A参数转换成线谱对参数fn=[f1n,f2n,…,f10n],(n=1,2,…,6)。
上述方法步骤(4)的实施例为:设上一超帧最后一个帧的线谱对参数为fi0(i=1,2,…,10),下一个超帧头一帧和第二帧线谱对参数为fi7,fi8(i=1,2,…,10)。对这三个超帧的有关9帧线谱对参数按时间方向进行9点离散余弦变换,设变换系数为Fi(l),(l=0,1,…,8;i=1,2,…,10),只计算低频6组变换系数,这相当于用丢掉3组高频系数去除高频随机扰动
式中
用这6组低频变换系数计算经过平滑的当前超帧线谱对参数fn=[f1n,f2n,…,f10n],(n=1,2,…,6)如下式
上述方法步骤(5)的实施例为:按美国政府2400b/s多带激励的线性预测(MELP)语音编码算法标准所描述的方法对当前超帧中的每一帧都提取5个子带的清浊音参数,子带为清音用“0”表示,子带为浊音用“1”表示。这样一个超帧中6个帧总共有30个子带清浊音参数,构成一个30维的矢量,每一维的值为“0”或“1”,记做B
上述方法步骤(6)中的实施例为:对上述清浊音矢量B用4比特矢量量化,总共有16种超帧清浊音矢量量化值,每一个矢量量化值对应一种超帧模式;本实施例的矢量量化值码表由表1给出,对应的超帧模式也在表1中给出。量化失真测度采用加权欧氏距离准则,即使下式所示的失真D最小
D=(B-Bi)·W·(B-Bi)T
其中Bi(i=0,1,…,15)是矢量量化码本中的一个码字,加权矩阵W是一个对角矩阵,其值用来表示各子带重要性的不同。通常低带最重要,随着频带的升高重要性依次降低,对每帧的5个子带分配不同的权重,在本实施例中,5个子
带权重的比例为16∶8∶4∶2∶1,反映了低频子带比高频子带更重要,从而加权矩阵W如下所示:
每个码字都代表了超帧的一种模式,也就是说,通过超帧清浊判决参数的量化,可以确定超帧的模式。清浊音矢量量化码字是通过对训练语音样本统计得到的出现次数最多的16种超帧清浊音矢量。
上述方法步骤(7)的实施例为:通过步骤(5)的实施例中对清浊音矢量B量化的结果,利用表1确定当前超帧的模式,记作B0,下标“0”表示当前超帧。
上述方法步骤(8)的实施例为:利用步骤(7)确定的当前超帧的模式,通过查表1确定当前超帧的重要帧和非重要帧。表1重要帧的确定是根据当前超帧清浊音量化结果和前述原则来决定的。本实施例采用每超帧含4个重要帧,2个非重要帧。第1帧总是定为非重要帧,可以利用前一超帧的第6帧的插值能力。第6帧总是定为重要帧,以保证超帧之间插值的连续性。其它重要帧的选取则考虑该帧对语音可懂性是否重要和是否有利于插值来确定。
另外一种抽取的方法可以采用均匀抽取方式,例如1、3、5帧定为非重要帧,2、4、6帧定为重要帧。但效果没有本实施例的方法好。
表1超帧清浊音矢量量化码表和对应的超帧模式及重要帧序号
上述方法步骤(9)的实施例为:使用上述步骤(7)的实施例方法得到的当前超帧模式B0确定当前超帧各重要帧线谱对参数的直流分量矢量
ln=fn-dn(F0),n∈(2,3,…,6)
直流分量
上述方法步骤(10)的实施例为:根据当前超帧模式B0和前一超帧模式B-1的转移模式(B-1,B0)确定一组线谱对参数预测系数矩阵an(B-1,B0),n∈(2,3,…,6),它是一个10×10的矩阵。
上述方法步骤(11)的实施例为:利用上述步骤(10)的实施例方法得到的预测系数矩阵an(B-1,B0)和前一超帧中最后一帧量化后的去直流线谱对参数矢量
上式中的T代表转置。预测系数矩阵an(B-1,B0)是用训练语音得到的。本实施例的具体做法是按转移模式(B-1,B0)将训练语音分集,对每个集分别求an(B-1,B0),使下式最小:
式中E代表求平均。
上述方法步骤(12)的实施例的具体做法为:将当前超帧中4个重要帧的40个余量线谱对参数组成2个20维的矢量,第一个矢量由各重要帧的前5个余量线谱对参数组成,第二个矢量由各重要帧的后5个余量线谱对参数组成,然后分别用24和21个比特进行分级矢量量化,分级比特数分别为9、8、7和8、7、6。
上述方法步骤(13)中将相应的直流分量和预测值加到当前超帧相应的量化后的余量线谱对参数中,得到当前超帧重要帧量化后的线谱对参数,即
式中和分别是当前超帧中第n帧量化后的线谱对参数矢量和量化后的余量线谱对参数矢量,该帧应该属于重要帧。
上述方法步骤(14)的实施例具体做法为:当两个非重要帧不相邻时,它们的量化后的线谱对参数分别由各自所相邻的两个重要帧插值得到,设n为非重要帧序号,那么
当两个非重要帧相邻时,设它们的帧序号分别为n和n+1,那么它们的线谱对参数由下式插值得到
上述方法步骤(15)的实施例为:按照美国政府2400b/s多带激励的线性预测(MELP)语音编码算法标准所描述的方法将量化后的线谱对参数转换成声道A参数,即得到量化后的声道A参数。
机译: 一种用于对量化参数VIDEO进行编码的方法,一种用于对量化参数VIDEO及相关设备和程序进行解码的方法
机译: 矢量量化设备,矢量去量化设备,矢量量化方法和矢量去量化方法
机译: 矢量量化设备,矢量去量化设备,矢量量化方法和矢量去量化方法