1、7.17.1概述概述7.27.2矢量量化的基本原理矢量量化的基本原理7.37.3失真测度失真测度7.47.4最佳矢量量化器和码本设计最佳矢量量化器和码本设计7.57.5降低复杂度的矢量量化系统降低复杂度的矢量量化系统7.67.6语音参数的矢量量化语音参数的矢量量化7.1 7.1 概述概述v矢量量化(矢量量化(VQVQ,即,即Vector QuantizationVector Quantization)是一种是一种极其重要的信号压缩方法。极其重要的信号压缩方法。VQVQ在语音信号处理中占在语音信号处理中占十分重要的地位。广泛应用于语音编码、语音识别十分重要的地位。广泛应用于语音编码、语音识别和语
2、音合成等领域。和语音合成等领域。v量化分为两类:量化分为两类: * * 标量量化标量量化:将取样后的信号值逐个地进行量化。:将取样后的信号值逐个地进行量化。 * * 矢量量化矢量量化:将若干取样信号分成一组,即构成一:将若干取样信号分成一组,即构成一个矢量,然后对此矢量一次进行量化。个矢量,然后对此矢量一次进行量化。v凡是要用量化的地方都可以采用矢量量化凡是要用量化的地方都可以采用矢量量化。 v矢量量化是实现矢量量化是实现数据压缩数据压缩的一种有效方法,的一种有效方法,早在早在5050和和6060年代就被用于语音压缩编码。直年代就被用于语音压缩编码。直到到7070年代线性预测技术被引入语音编码
3、后,年代线性预测技术被引入语音编码后,矢量量化技术才活跃起来。矢量量化技术才活跃起来。8080年代初,矢量年代初,矢量量化技术的理论和应用研究得到迅速发展。量化技术的理论和应用研究得到迅速发展。v采用矢量量化技术对信号波形或参数进行压采用矢量量化技术对信号波形或参数进行压缩处理,可以获得很好的效益,使存储要求、缩处理,可以获得很好的效益,使存储要求、传输比特率需求或和计算量需求降低传输比特率需求或和计算量需求降低. .采用矢量量化的效果优于标量量化的原因?采用矢量量化的效果优于标量量化的原因? 矢量量化能有效的应用矢量中各分量矢量量化能有效的应用矢量中各分量之间的四种相互关联性质来消除数据中的
4、之间的四种相互关联性质来消除数据中的冗余度。这四种相互关联的性质是线性依冗余度。这四种相互关联的性质是线性依赖赖( (相关性相关性) )、非线性依赖、非线性依赖( (统计不独立统计不独立) )、概率密度函数的形状和矢量量化的维数,概率密度函数的形状和矢量量化的维数,而标量量化仅能利用线性依赖和概率密度而标量量化仅能利用线性依赖和概率密度函数的形状来消除冗余度。函数的形状来消除冗余度。矢量量化研究的目的?矢量量化研究的目的? 针对特定的信息源和矢量维数,设计针对特定的信息源和矢量维数,设计出一种最优化的量化器,在出一种最优化的量化器,在R(量化速(量化速率)一定的情况下,给出的量化失真尽率)一定
5、的情况下,给出的量化失真尽可能接近可能接近D(R)(最小量化失真最小量化失真)。7.2 7.2 矢量量化的基本原理矢量量化的基本原理 标量量化标量量化是对信号的单个样本或参数的幅度进是对信号的单个样本或参数的幅度进行量化;标量是指被量化的变量,为一维变量。行量化;标量是指被量化的变量,为一维变量。 矢量量化矢量量化的过程是将语音信号波形的的过程是将语音信号波形的K K个样点的个样点的每一帧,或有每一帧,或有K K个参数的每一参数帧构成个参数的每一参数帧构成K K维空间的维空间的一个矢量,然后对这个矢量进行量化。一个矢量,然后对这个矢量进行量化。 标量量化可以说是标量量化可以说是K K1 1的矢
6、量量化的矢量量化。矢量量化。矢量量化过程和标量量化过程相似。将过程和标量量化过程相似。将K K维维无限空间划分为无限空间划分为M M个区域边界个区域边界,然后,然后将输入矢量与这些边界进行比较将输入矢量与这些边界进行比较,并被并被量化为量化为“距离距离”最小最小的区域边界的的区域边界的中心矢量值中心矢量值。矢量量化的定义矢量量化的定义 将信号序列将信号序列 的每的每K个连续样点分成一个连续样点分成一组,形成组,形成K维欧式空间中的一个矢量,矢维欧式空间中的一个矢量,矢量量化就是把这个量量化就是把这个K维输入矢量维输入矢量X映射成另映射成另一个一个K维量化矢量。其中量化矢量构成的维量化矢量。其中
7、量化矢量构成的集合集合 称为码书或码本,码书中的每个称为码书或码本,码书中的每个矢量矢量 称为码字或者码矢。称为码字或者码矢。iyiYiY,21KiNRYYYYY 以以K K2 2进行说明进行说明: 当当K K2 2时,所得到的是二维矢量。所有可时,所得到的是二维矢量。所有可能的二维矢量就形成了一个平面。能的二维矢量就形成了一个平面。 记为(记为(a a1 1,a,a2 2), ,所有可能的(所有可能的(a a1 1,a,a2 2)就是一个二维空间。如图就是一个二维空间。如图7-17-1(a a)所示)所示图图7-1 7-1 矢量量化概念示意图矢量量化概念示意图 矢量量化就是将这个平面划分为矢
8、量量化就是将这个平面划分为M M块块S S1 1,S S2 2,S Si iS SM M,然后从每一块中找出代表值,然后从每一块中找出代表值Y Yi i(i i1 1,2 2.M.M),这就构成一个有),这就构成一个有M M个区间的二维矢量量化个区间的二维矢量量化器。图器。图7-17-1(b b)所示的是一个)所示的是一个7 7区间的二维矢量量区间的二维矢量量化器,即化器,即K K2 2,M M7 7。 通常通常这些代表值这些代表值Y Yi i称为量化矢量称为量化矢量。 对一个矢量对一个矢量X X进行量化,首先选择一个进行量化,首先选择一个合适的失合适的失真测度真测度,然后用最小失真原理,分别
9、计算用量化矢,然后用最小失真原理,分别计算用量化矢量量Y Yi i替代替代X X所带来的失真。所带来的失真。 其中其中最小失真值所对应的那个量化矢量,就是最小失真值所对应的那个量化矢量,就是矢量矢量X X的的重构矢量重构矢量(或恢复矢量)。(或恢复矢量)。 所有所有M M个量化矢量构成的集合个量化矢量构成的集合 称为称为码书码书或码本;或码本; 把码书中的每个量化矢量把码书中的每个量化矢量Y Yi i(i i1 1,2 2.M.M)称为称为码字或码矢码字或码矢。 不同的划分或不同的量化矢量选取就可以不同的划分或不同的量化矢量选取就可以构成不同的矢量量化器。构成不同的矢量量化器。注:根据仙农信息
10、论,矢量越长越好。实际中注:根据仙农信息论,矢量越长越好。实际中码书是不完备的,即矢量数是有限的,而对于码书是不完备的,即矢量数是有限的,而对于任何一个实际应用来说,矢量通常是无限的。任何一个实际应用来说,矢量通常是无限的。在实际运用中,输入矢量和码书中码字不匹配在实际运用中,输入矢量和码书中码字不匹配的情况下,这种失真是允许的。的情况下,这种失真是允许的。 iY存在的问题存在的问题 一、如何划分一、如何划分M M个区域边界个区域边界。 方法是:将大量欲处理的信号的矢量进行统计划分,方法是:将大量欲处理的信号的矢量进行统计划分,进一步确定这些划分边界的中心矢量值来得到码书。进一步确定这些划分边
11、界的中心矢量值来得到码书。 二、如何确定两矢量在进行比较时的测度。二、如何确定两矢量在进行比较时的测度。 这个测度就是两矢量间的距离,或以其中某一这个测度就是两矢量间的距离,或以其中某一矢量为基准时的失真度。它描述了当输入矢量用码矢量为基准时的失真度。它描述了当输入矢量用码书所对应的矢量来表征时所付出的代价。书所对应的矢量来表征时所付出的代价。 图图7-2 7-2 矢量量化系统的组成矢量量化系统的组成 工作过程工作过程:v在编码端在编码端,输入矢量,输入矢量X Xi i与码书中的每一个码字进行与码书中的每一个码字进行比较,分别计算出它们的失真。搜索到失真最小的比较,分别计算出它们的失真。搜索到
12、失真最小的码字码字 的序号的序号 (或该码字所在码书中的地(或该码字所在码书中的地址),这些序号就作为传输或存储的参数。址),这些序号就作为传输或存储的参数。v在恢复时在恢复时,根据此序号从恢复端的码书中找出相应,根据此序号从恢复端的码书中找出相应的码字的码字 。由于两本码书完全相同,此时失真。由于两本码书完全相同,此时失真最小,所以最小,所以 就是输入矢量就是输入矢量X Xi i的重构矢量。的重构矢量。 minjYjminjYminjY特点:特点:传输存储的不是矢量本身而是其序号,所以传输存储的不是矢量本身而是其序号,所以据有高保密性能据有高保密性能收发两端没有反馈回路,因此比较稳定收发两端
13、没有反馈回路,因此比较稳定矢量量化器的关键是编码器的设计,译码器矢量量化器的关键是编码器的设计,译码器只是简单的的查表过程。只是简单的的查表过程。 矢量量化的性能指标除了码书的大小矢量量化的性能指标除了码书的大小M M以外以外还有由于量化而产生的平均信噪比。还有由于量化而产生的平均信噪比。 矢量量化的准则矢量量化的准则:在给定码本大小:在给定码本大小K K时使量时使量化所造成的失真最小。化所造成的失真最小。 矢量量化的设计矢量量化的设计:从大量信号样本中训练出:从大量信号样本中训练出好的码书,从实际效果出发寻找最好的失真测好的码书,从实际效果出发寻找最好的失真测度定义公式,设计出最佳的矢量量化
14、系统,以度定义公式,设计出最佳的矢量量化系统,以便用最少的搜索和计算失真的计算量,来实现便用最少的搜索和计算失真的计算量,来实现最大可能的平均信噪比。最大可能的平均信噪比。7.3 7.3 失真测度失真测度 前面我们讲过设计矢量量化器的关键前面我们讲过设计矢量量化器的关键是编码器的设计。而在编码的过程中,就是编码器的设计。而在编码的过程中,就需要引入失真测度的概念。需要引入失真测度的概念。 失真测度(距离测度)失真测度(距离测度):是将输入矢量是将输入矢量X Xi i用码用码本重构矢量本重构矢量Y Yi i来表征时所产生的误差或失真的度量来表征时所产生的误差或失真的度量方法,它可以描述两个或多个
15、模型矢量间的相似程方法,它可以描述两个或多个模型矢量间的相似程度。度。11p84p84 失真测度是矢量量化和模式识别中一个失真测度是矢量量化和模式识别中一个十分重要的问题,选择合适与否直接影响系十分重要的问题,选择合适与否直接影响系统的性能。统的性能。 失真是将输入信号矢量用码书的重构矢量来表征失真是将输入信号矢量用码书的重构矢量来表征时的误差或所付出的代价。这种代价的统计平均值时的误差或所付出的代价。这种代价的统计平均值(平均失真)描述了矢量量化器的工作性。(平均失真)描述了矢量量化器的工作性。失真度选择必须具备的特性失真度选择必须具备的特性必须在主观评价上有意义,即小的失真应该对应于必须在
16、主观评价上有意义,即小的失真应该对应于好的主观语音质量;好的主观语音质量;必须是易于处理的,即在数学上易于实现,这样可必须是易于处理的,即在数学上易于实现,这样可以用于实际的矢量量化器的设计;以用于实际的矢量量化器的设计;平均失真存在并且可以计算;平均失真存在并且可以计算;易于硬件实现易于硬件实现 失真测度主要有均方误差失真测度(即欧氏距失真测度主要有均方误差失真测度(即欧氏距离)、加权的均方误差失真测度、板仓斋藤离)、加权的均方误差失真测度、板仓斋藤(ItakuraItakuraSaitoSaito)距离,似然比失真测度等,还)距离,似然比失真测度等,还有人提出的所谓的有人提出的所谓的“主观
17、的主观的”失真测度。失真测度。一、欧氏距离均方误差一、欧氏距离均方误差 设输入信号的某个设输入信号的某个K K维矢量维矢量X X,与码书中某个,与码书中某个K K维矢量维矢量Y Y进行比较,进行比较,x xi i,y,yi i分别表示分别表示X X和和Y Y中的各元中的各元素素 ,则定义均方误差为欧氏距离:则定义均方误差为欧氏距离: KYXYXyxKYXdTKiii)()()(1),(122 )1 (Ki 几种其他常用的欧氏距离:几种其他常用的欧氏距离:1.1.r r方平均误差方平均误差 KiriiryxKYXd11),(2. r2. r平均误差平均误差 rKiriiryxKYXd111),(
18、 3.3.绝对值平均误差绝对值平均误差 KiiiyxKYXd111),(4.4.最大平均误差最大平均误差 iiKirrrMyxYXdYXd 11max),(lim),(二、线性预测失真测度二、线性预测失真测度 用全极模型表示的线性预测方法,广泛应用于语用全极模型表示的线性预测方法,广泛应用于语音信号处理中。它在分析时得到的是模型的预测系数音信号处理中。它在分析时得到的是模型的预测系数. .仅由预测系数的差值,不能完全表征这两个语音信息仅由预测系数的差值,不能完全表征这两个语音信息的差别。应该直接由这些系数所描述的信号模型的功的差别。应该直接由这些系数所描述的信号模型的功率谱来进行比较。率谱来进
19、行比较。222)()()( jjeAeXf 当预测器的阶数当预测器的阶数 ,信号与模型,信号与模型完全匹配时,信号功率谱为:完全匹配时,信号功率谱为: p信号的功率谱信号的功率谱预测误差能量预测误差能量预测逆滤波器的频率响应预测逆滤波器的频率响应222)()()( jpjeAeXf 1ln),(2 aRaffdTISTa相应的,设码书中某重构矢量的功率谱为相应的,设码书中某重构矢量的功率谱为则定义则定义Itakura-Saito距离为距离为 piaaTirirrrRaa1)()(2)0()0( 这种失真测度是针对线性预测模型、用最这种失真测度是针对线性预测模型、用最大似然准则推导出来,所以特别
20、适用于大似然准则推导出来,所以特别适用于LPC参参数,描述语音信号的情况,常用于数,描述语音信号的情况,常用于LPC编码中。编码中。我们由此又推导出两种线性预测色失真测度,我们由此又推导出两种线性预测色失真测度,他们比上述具有更好的性能,即他们比上述具有更好的性能,即)ln(ln),(22RaaaRaffdTTpLLR 对比似然比失真测度对比似然比失真测度模型失真测度模型失真测度11),(22 RaaaRaffdTTpm 注:这两种失真测度都仅仅比较两矢量的注:这两种失真测度都仅仅比较两矢量的功率谱,而没有考虑其他能量信息。功率谱,而没有考虑其他能量信息。三、识别失真测度三、识别失真测度失真测
21、度的定义失真测度的定义)(),(),(EEgffdEfdLLR 加权因子加权因子输入信号矢量的归一化能量输入信号矢量的归一化能量码书重构矢量的归一化能量码书重构矢量的归一化能量 )()()(0)(FFddxxxxxxxxxxg当两矢量的能量接近时(即当两矢量的能量接近时(即 ),忽略能量差异引起的影响;当),忽略能量差异引起的影响;当两矢量能量相差很大时,即进行线性加权;而当能量差超过门限两矢量能量相差很大时,即进行线性加权;而当能量差超过门限 时,则时,则为固定值为固定值dxEE Fx7.4 最佳矢量量化器和码本的设计最佳矢量量化器和码本的设计最佳设计就是使失真最小最佳设计就是使失真最小 最
22、佳设计中,重要的问题是如何划分量最佳设计中,重要的问题是如何划分量化区间和确定量化矢量。这两个条件回答化区间和确定量化矢量。这两个条件回答了两个问题。了两个问题。一、最佳划分一、最佳划分二、最佳码书二、最佳码书一、矢量量化器最佳设计的两个条件一、矢量量化器最佳设计的两个条件最佳矢量量化器满足的两个必要条件最佳矢量量化器满足的两个必要条件1)Voronoi分割条件(最近邻准则)分割条件(最近邻准则)对信号空间的分割应满足对信号空间的分割应满足);,(),(:liYXdYXdRXSilKl根据该条件可以对信号空间进行最佳划分,根据该条件可以对信号空间进行最佳划分,得到的得到的 称为一个胞腔称为一个
23、胞腔lS2)Centroid质心条件质心条件子空间分割固定后,子空间分割固定后,Voronoi胞元胞元的质心就是量化器的码字的质心就是量化器的码字llSYXEY 对于一般的失真测度和信源分布,很难找到对于一般的失真测度和信源分布,很难找到质心的计算方法,但对于一般的分布和常用的质心的计算方法,但对于一般的分布和常用的均方失真测度,可以证明均方失真测度,可以证明 lSXllXNY1是是 中包含的矢量个数中包含的矢量个数lS二、二、LBG算法算法 1980年由年由Linde,Buzo和和Gray提出,提出,它是标量量化器中它是标量量化器中Lloyd算法的推广,在矢算法的推广,在矢量量化中是一个基本
24、算法。量量化中是一个基本算法。 LBG算法由于其理论上的严密性、应用算法由于其理论上的严密性、应用上的简便性以及较好的设计效果,得到了广上的简便性以及较好的设计效果,得到了广泛的应用,并常被作为各种改进算法的基础泛的应用,并常被作为各种改进算法的基础LBG算法步骤算法步骤第一步:初始化第一步:初始化 给出训练给出训练VQ码书所需的全部参考矢量码书所需的全部参考矢量X,X的集合用的集合用S表示;设定量化级数,失真控制门表示;设定量化级数,失真控制门限限 ,算法最大迭代次数,算法最大迭代次数L以及初始码以及初始码书书 ;设总失真;设总失真 ;迭代;迭代次数的初始化为次数的初始化为m1 ,)0()0
25、(2)0(1NYYY ) 0(D第二步:迭代第二步:迭代2)计算失真:)计算失真:1)根据最近邻准则将)根据最近邻准则将S分成分成N个子集个子集 , , , 即当即当 时,下式成时,下式成立:立:)(1mS)(mNS)(2mS)(1mSX ljiYXdYXdmiml ,),(,()1()1( NiSXmlmmlYXdD1)1()()(),(4)计算相对失真改进量)计算相对失真改进量 :3)计算新码字)计算新码字)(1)(miSXimiXNY)()()1()()()(mmmmmmDDDDD )(m 将将 与失真门限值与失真门限值 进行比较。若进行比较。若 则转入则转入 6)否则转入)否则转入5)
26、;);)(m )(m:,)()(2)(1mNmmYYY5)若)若 则转至则转至6),否则),否则m加加1,转至,转至1)Lm 第三步:结束第三步:结束6)得到最终的训练码书)得到最终的训练码书 ,)()(2)(1,mNmmYYY并输出总失真并输出总失真)(mD 为了避免迭代算法无限制循环下去,这里设为了避免迭代算法无限制循环下去,这里设置了两个阈值参数:最大迭代次数置了两个阈值参数:最大迭代次数L和失真控制和失真控制门限门限 。 的值设得远小于的值设得远小于1,当,当 时,时,表明再进行迭代运算失真得减小是有限的、可表明再进行迭代运算失真得减小是有限的、可 )(m以停止运算。以停止运算。L是限
27、制迭代次数的参数,防止是限制迭代次数的参数,防止 设置较低时迭代次数过多设置较低时迭代次数过多 三、初始码书的选择三、初始码书的选择 随机选取法随机选取法 分裂法分裂法7.5 7.5 降低复杂度的矢量量化系统降低复杂度的矢量量化系统 矢量量化系统主要由编码器和译码器组成矢量量化系统主要由编码器和译码器组成:编码器主要由码书搜索算法和码书构成,编码器主要由码书搜索算法和码书构成,译码器由查表方法和码书构成。译码器由查表方法和码书构成。 矢量量化器的研究主要围绕降低速率、减少失真和矢量量化器的研究主要围绕降低速率、减少失真和降低复杂度展开。降低复杂度展开。 降低复杂度的设计方法大致分为两类:降低复
28、杂度的设计方法大致分为两类:一类是无记忆的矢量量化器,一类是无记忆的矢量量化器,另一类是有记忆的矢量量化器另一类是有记忆的矢量量化器。一、一、无记忆的矢量量化系统无记忆的矢量量化系统 无记忆矢量量化是指量化每一个矢量时无记忆矢量量化是指量化每一个矢量时都不都不依赖于此矢量前面的其他矢量依赖于此矢量前面的其他矢量,即每一个矢量都,即每一个矢量都是独立量化的。是独立量化的。 1、全搜索矢量量化器、全搜索矢量量化器 前面我们介绍的前面我们介绍的LBG算法,在进行算法,在进行VQ编码时,编码时,采用的就是全搜索法,即对于每个输入矢量,比较采用的就是全搜索法,即对于每个输入矢量,比较它与每一个码书中的码
29、字的失真,并将失真最小的它与每一个码书中的码字的失真,并将失真最小的码字标号作为输出码字标号作为输出2. 2. 树形搜索的矢量量化系统树形搜索的矢量量化系统 树形搜索是减少矢量量化计算量的一种重要方法。树形搜索是减少矢量量化计算量的一种重要方法。 它又分为它又分为二叉树二叉树和和多叉树多叉树两种:两种: 码字码字不象普通的码字那样随意放置,不象普通的码字那样随意放置,而是排列在一棵树的接点上,如图所而是排列在一棵树的接点上,如图所示,码本尺寸为示,码本尺寸为M=8的二叉树,它的的二叉树,它的码本中共包含码本中共包含14个码字。输入矢量个码字。输入矢量X先与先与Y0和和Y1比较,计算出失真比较,
30、计算出失真d(X,Y0)和和d(X,Y1)。如果后者较小,则走下面如果后者较小,则走下面支路,同时送出支路,同时送出“1”,同理,如果,同理,如果最后达到最后达到Y101,则送出的输出角标则送出的输出角标101。这就是矢量量化的过程。这就是矢量量化的过程。表表71 二叉树与全搜索的比较二叉树与全搜索的比较失真运算量 比较运算量 存储容量最佳程度全搜索M=8M=8M=8全体二叉树2log2M=62log2M=32(M-1)=14局部二二叉树搜索的主要优点是计算量有很大减少而性叉树搜索的主要优点是计算量有很大减少而性能下降并不多,但存储量增加。能下降并不多,但存储量增加。2. 2. 多级矢量量化系
31、统多级矢量量化系统 多级矢量量化器由多级矢量量化器由若干级矢量量化器级联而成若干级矢量量化器级联而成,因而又,因而又称级联矢量量化器。称级联矢量量化器。 多级矢量量化不仅可以减少计算量还可以减少存储量。多级矢量量化不仅可以减少计算量还可以减少存储量。 多级矢量量化器由若干个小码书构成。多级矢量量化器由若干个小码书构成。图图7-5 7-5 两级矢量量化系统工作框图及码书训练两级矢量量化系统工作框图及码书训练先先采用一个小的码书,采用一个小的码书,其长度为其长度为M1,用它来用它来逼近输入信号矢量;逼近输入信号矢量;然后再用第二个小码然后再用第二个小码书,其长度为书,其长度为M2,用用它来对第一次
32、的误差它来对第一次的误差进行编码;输入矢量进行编码;输入矢量与第一级匹配,得到与第一级匹配,得到其地址编号其地址编号i,然后在然后在第二级码书中搜索与第二级码书中搜索与这个误差矢量最佳匹这个误差矢量最佳匹配的矢量,得到其地配的矢量,得到其地址编号址编号j,将将 和和 同时发送出去,在接同时发送出去,在接受端根据受端根据 和和 来来恢复原来的矢量,由恢复原来的矢量,由于每本码书的体积较于每本码书的体积较小,所以采用全搜索小,所以采用全搜索法法ijij二、二、有记忆的矢量量化系统有记忆的矢量量化系统 在量化每一个输入时,不仅与此矢量本身有关,而在量化每一个输入时,不仅与此矢量本身有关,而且也与前面
33、的矢量有关且也与前面的矢量有关 。有记忆矢量量化系统有记忆矢量量化系统反馈矢量量化反馈矢量量化自适应矢量量化自适应矢量量化分类:分类:预测矢量量化预测矢量量化PVQPVQ(Predictive VQ)(Predictive VQ)有限状态矢量量化有限状态矢量量化FSVQ(Finite-State VQ)FSVQ(Finite-State VQ)自适应矢量量化自适应矢量量化( (Adaptive VQ)Adaptive VQ)是采用是采用多个码书,量化时根据多个码书,量化时根据输入矢量的不同特征采输入矢量的不同特征采用不同的码书。用不同的码书。7.6 7.6 语音参数的矢量量化语音参数的矢量量化
34、语音参数的矢量量化语音参数的矢量量化 将语音信号经过分析,得到将语音信号经过分析,得到各种参数,然后再将这些按帧分析所得的参数构成矢量,各种参数,然后再将这些按帧分析所得的参数构成矢量,进行矢量量化。进行矢量量化。线性预测系数的矢量量化线性预测系数的矢量量化是人们最关心的问题。是人们最关心的问题。例:线性预测编码的矢量量化器(例:线性预测编码的矢量量化器(VQ LPCVQ LPC)声码器。声码器。 图图7-7 800b/s7-7 800b/s的的VQ LPCVQ LPC声码器框图声码器框图对对线性预测系数采用了矢量量化,而其余参数线性预测系数采用了矢量量化,而其余参数均采用差值标量量化均采用差
35、值标量量化v模糊模糊c c均值聚类算法目标函数为如下式所示:均值聚类算法目标函数为如下式所示: ,11(, )() ()NJmFCMkiiKikJX U YuX d X Y式式 4-33v根据目标函数的模糊根据目标函数的模糊c c均值类聚算式如下:均值类聚算式如下: 1121211(),1()()(),1,1()NmkiiikNmkiiJmikijmiuXXYkJuXd XuXkJiNd X kj,Y,Y式式 4-34v模糊矢量量化码本估计的步骤如下:模糊矢量量化码本估计的步骤如下:1 1)设定初始码本和每个码字的初始隶属度函数)设定初始码本和每个码字的初始隶属度函数 ,为了方便,为了方便可以
36、令每个码字的初始隶属度函数为相等的值;可以令每个码字的初始隶属度函数为相等的值;2 2)对于训练观察矢量序列)对于训练观察矢量序列 ,利用式(,利用式(4-344-34)计算)计算新的聚类中心新的聚类中心 及新的隶属度函数及新的隶属度函数 ;3 3)利用式()利用式(4-334-33)的目标函数,判断迭代计算是否收敛。如)的目标函数,判断迭代计算是否收敛。如果前后差值小于某个阈值,则迭代计算结束,由新的聚类中果前后差值小于某个阈值,则迭代计算结束,由新的聚类中心和隶属度函数集组成重估后的新码本;否则继续进行下一心和隶属度函数集组成重估后的新码本;否则继续进行下一轮迭代计算。轮迭代计算。ku12
37、,.,NXXXXkYkuv模糊矢量量化的步骤如下:模糊矢量量化的步骤如下:1)对于待矢量量化的输入矢量)对于待矢量量化的输入矢量 ,模糊矢量量化不是通过矢,模糊矢量量化不是通过矢量量化把输入矢量量量化把输入矢量 量化成为某个码字量化成为某个码字 ,而是把输入矢量,而是把输入矢量 量化成由隶属度函数组成的矢量量化成由隶属度函数组成的矢量 ,它,它表示表示 分别属于码字分别属于码字 的程度是多少;其中的程度是多少;其中 由下式给定:由下式给定:2)这时)这时 的量化误差由下式给定:的量化误差由下式给定: iXiXkYiX12()(),(),.,()iiiJiU Xu XuXuXiX(1,2,.,
38、)kY kJ()kiuX121211()(),1,()1()Jmikikijkmid XuXkJuXd Xkj,Y,YiX1() (,)JmkiikkDuX d X Y3) 的重构矢量由下式给定:的重构矢量由下式给定:可见可见 的重构矢量由码字的重构矢量由码字 的线性组合组成,所的线性组合组成,所以相当于增加了码本的尺寸。以相当于增加了码本的尺寸。iX11JmkkkiJmkku YXuiX(1,2,.,)kYkJ4.5.4 4.5.4 遗传算法优化码本遗传算法优化码本GAVQGAVQ算法算法图图4-9 遗传算法流程图遗传算法流程图图图4-10 基于遗传算法的矢量量化器框图基于遗传算法的矢量量化器框图