07第七章矢量量化

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

立: d ( X ,Yl( m1) d ( X ,Yi( m1) ),i , j l 2)计算失真:
D ( m)
N
i 1 X Sl( m )
d ( X , Yl ( m1) )
( Y1( m) , Y2( m) ,, YNm) : 3)计算新码字
Yi
( m)
1 Ni
概述 矢量量化的基本原理 失真测度 最佳矢量量化器和码本设计 降低复杂度的矢量量化系统
语音参数的矢量量化
7.1 概述
矢量量化(VQ,即Vector Quantization)是一种 极其重要的信号压缩方法。VQ在语音信号处理中占 十分重要的地位。广泛应用于语音编码、语音识别 和语音合成等领域。 量化分为两类: * 标量量化:将取样后的信号值逐个地进行量化。 * 矢量量化:将若干取样信号分成一组,即构成一 个矢量,然后对此矢量一次进行量化。 凡是要用量化的地方都可以采用矢量量化。
输入信号矢量的归一化能量
d ( f , E ) d LLR( f , f ) g( E E )
加权因子 码书重构矢量的归一化能量
0 g ( x) x x F
( x xd ) ( x F x xd ) ( x xF )
当两矢量的能量接近时(即 E E xd ),忽略能量差异引起的影响;当 两矢量能量相差很大时,即进行线性加权;而当能量差超过门限x F 时,则 为固定值
Baidu Nhomakorabea
矢量量化的定义 将信号序列 { yi } 的每K个连续样点 分成一组,形成K维欧式空间中的一 个矢量,矢量量化就是把这个K维输 入矢量X映射成另一个K维量化矢量。 其中量化矢量构成的集合 {Yi } 称为码 书或码本,码书中的每个矢量Yi 称为 码字或者码矢。
Y {Y1 ,Y2 ,YN Yi R }
存在的问题 一、如何划分M个区域边界。 方法是:将大量欲处理的信号的矢量进行统计划分, 进一步确定这些划分边界的中心矢量值来得到码书。 二、如何确定两矢量在进行比较时的测度。 这个测度就是两矢量间的距离,或以其中某一 矢量为基准时的失真度。它描述了当输入矢量用码 书所对应的矢量来表征时所应付出的代价。
7.4 最佳矢量量化器和码本的设计
一、矢量量化器最佳设计的两个条件 最佳设计就是使失真最小 最佳设计中,重要的问题是如何划分量 化区间和确定量化矢量。这两个条件回答 了两个问题: (1)、最佳划分 (2)、最佳码书
最佳矢量量化器满足的两个必要条件 1)Voronoi分割条件(最近邻准则) 对信号空间的分割应满足
K
以K=2进行说明: 当K=2时,所得到的是二维矢量。所有可 能的二维矢量就形成了一个平面。 记为(a1,a2),所有可能的(a1,a2) 就是一个二维空间。如图7-1所示
图7-1 矢量量化概念示意图
矢量量化就是将这个平面划分为M块S1, S2,…,Si…SM,然后从每一块中找出代表值 Yi(i=1,2….M),这就构成一个有M个区 间的二维矢量量化器。图(b)所示的是一个 7区间的二维矢量量化器,即K=2,M=7。 通常这些代表值Yi称为量化矢量。

特点: 传输存储的不是矢量本身而是其序号,所以 据有高保密性能;用于传输时,其传输速率 可以进一步降低; 收发两端没有反馈回路,因此比较稳定; 矢量量化器的关键是编码器的设计,译码器 只是简单的的查表过程。
矢量量化的性能指标除了码书的大小M以外还有由 于量化而产生的平均信噪比:
SNR(dB ) 10 lg E X
f ( ) X (e )
信号的功率谱
j
2
2
j
预测误差能量
2
A(e )
预测逆滤波器的频率响应
相应的,设码书中某重构矢量的功率谱为
f ( ) X (e )
j
2
p 2 A(e )
j 2
则定义Itakura-Saito距离为 a
T
d IS ( f , f )
K
几种其他常用的欧氏距离: 1. r方平均误差
1 d r ( X ,Y ) K
x
i 1
K
i
yi
r
2. r平均误差
1 d 'r ( X ,Y ) [ K
x
i 1
K
i
yi ]
r
1 r
3.绝对值平均误差
1 d1 ( X , Y ) K
x
i 1
K
i
yi
4.最大平均误差
d M ( X , Y ) lim d r ( X , Y )] m ax xi yi [
r 1 i K 1 r
二、线性预测失真测度
用全极模型表示的线性预测方法,广泛应用于语 音信号处理中。它在分析时得到的是模型的预测系数。 仅由预测系数的差值,不能完全表征这两个语音信息 的差别。应该直接由这些系数所描述的信号模型的功 率谱来进行比较。
当预测器的阶数 p ,信号与模型 完全匹配时,信号功率谱为:
2. 树形搜索的矢量量化系统 • 树形搜索是减少矢量量化计算量的一种重要方法。
• 它又分为二叉树和多叉树两种:
码字不象普通的码字那样随意放臵, 而是排列在一棵树的接点上,如图所 示,码本尺寸为M=8的二叉树,它的 码本中共包含14个码字。输入矢量X 先与Y0和Y1比较,计算出失真d(X,Y0) 和d(X,Y1)。如果后者较小,则走下面 支路,同时送出“1”,同理,如果 最后达到Y101,则送出的输出角标 101。这就是矢量量化的过程。
aT Ra

2 ln 1
p
aT Ra' r (0)ra (0) 2 r (i)ra (i)
i 1
这种失真测度是针对线性预测模型、用最 大似然准则推导出来,所以特别适用于LPC参 数描述语音信号的情况,常用于LPC编码中。 我们由此又推导出两种线性预测失真测度,它 们比上述具有更好的性能,即 ①对数似然比失真测度
d LLR ( f , f ) ln
p2

2
T Ra a ln( T ) a Ra
②模型失真测度
T a Ra d m ( f , f ) 1 T 1 a Ra 2 p 2
注:这两种失真测度都仅仅比较两矢量的 功率谱,而没有考虑其能量信息。
三、识别失真测度 失真测度的定义

矢量量化是实现数据压缩的一种有效方
法,早在50和60年代就被用于语音压缩 编码。直到70年代线性预测技术被引入 语音编码后,矢量量化技术才活跃起来。 80年代初,矢量量化技术的理论和应用 研究得到迅速发展。
7.2 矢量量化的基本原理
标量量化是对信号的单个样本或参数 的幅度进行量化;标量是指被量化的变 量,为一维变量。 矢量量化的过程是将语音信号波形 的K个样点的每一帧,或有K个参数的每 一参数帧构成K维空间的一个矢量,然 后对这个矢量进行量化。
是 Sl 中包含的矢量个数
二、LBG算法 1980年由Linde,Buzo和Gray提出, 它是标量量化器中Lloyd算法的推广,在矢 量量化中是一个基本算法。 LBG算法由于其理论上的严密性、应用上 的简便性以及较好的设计效果,得到了广泛的 应用,并常被作为各种改进算法的基础。 LBG算法是一种递推算法,从一个事先 选定的初始码本中开始进行迭代,直到系统 满足性能要求或不再有明显改进为止。
一、欧氏距离-均方误差
设输入信号的某个K维矢量X,与码书中某个K 维矢量Y进行比较,xi,yi分别表示X和Y中的各元 素 (1 i K ) ,则定义均方误差为欧氏距离:
1 d 2 ( X ,Y ) K ( X Y )T ( X Y ) ( xi yi ) 2 K i 1
失真度选择必须具备的特性: 必须在主观评价上有意义,即小的失真应该 对应于好的主观语音质量; 必须是易于处理的,即在数学上易于实现, 这样可以用于实际的矢量量化器的设计; 平均失真存在并且可以计算; 易于硬件实现。
常见失真测度方法
均方误差失真测度(即欧氏距离)
加权的均方误差失真测度 板仓-斋藤(Itakura-Saito)似然比距离 似然比失真测度 等等
X Si( m )
X
D( m 1) D( m )
4)计算相对失真改进量 (m ):
D (m) D D( m ) 将 (m )与失真门限值 进行比较。若 (m )
(m) (m)
则转入 6)否则转入5);
5)若 m L 则转至6),否则m加1,转至1) 第三步:结束 6)得到最终的训练码书 Y 并输出总失真 D ( m ) 为了避免迭代算法无限制循环下去,这里设 臵了两个阈值参数:最大迭代次数L和失真控制 (m ) 门限 。 的值设得远小于1,当 时, 表明再进行迭代运算失真的减小是有限的、可
Sl {X R K : d ( X , Yl ) d ( X , Yi );i l}
2)Centroid质心条件 子空间分割固定后,Voronoi胞元 的质心就是量化器的码字
Yl E[ X Y Sl ]
对于一般的失真测度和信源分布,很难找到 质心的计算方法,但对于一般的分布和常用的 均方失真测度,可以证明 1 Yl X N l X Sl
N N
E d ( X, Y )

2
矢量量化的准则:在给定码本大小K时使量化所造成的 失真最小。
7.3 失真测度
前面我们讲过设计矢量量化器的关键 是编码器的设计。而在编码的过程中,就 需要引入失真测度的概念。
失真测度:是将输入矢量Xi用码本重构 矢量Yi来表征时所产生的误差或失真的度量 方法,它可以描述两个或多个模型矢量间的 相似程度。
LBG算法步骤 第一步:初始化 给出训练VQ码书所需的全部参考矢量X, X的集合用S表示;设定量化级数,失真控制门 限 ,算法最大迭代次数L以及初始码 ( {Y1( 0) ,Y2( 0) ,, YN0) } ;设总失真 D ( 0 ) ;迭代次 书 数的初始化为m=1

第二步:迭代
( 1)根据最近邻准则将S分成N个子集 S1 m ) , ( ( ) S2m ) ,┅, N ) , 即当 X S1 m 时,下式成 S (m
所有M个量化矢量构成的集合 { Yi }称为 码书或码本; 把码书中的每个量化矢量Yi(i=1, 2….M)称为码字或码矢。
量化方法: 对一个矢量X进行量化,首先选择一个合 适的失真测度,然后用最小失真原理,分别 计算用量化矢量Yi替代X所带来的失真。 其中最小失真值所对应的那个量化矢量, 就是矢量X的重构矢量(或恢复矢量)。
图7-2
矢量量化系统的组成
工作过程:
在编码端,输入矢量Xi与码书中的每一个码字进行 比较,分别计算出它们的失真。搜索到失真最小的 码字 Y j min 的序号 j (或该码字所在码书中的地 址),这些序号就作为传输或存储的参数。 在恢复时,根据此序号从恢复端的码书中找出相应 的码字 Y j min 。由于两本码书完全相同,此时失真 最小,所以 Y j min 就是输入矢量Xi的重构矢量。
一、无记忆的矢量量化系统
无记忆矢量量化是指量化每一个矢量时都不 依赖于此矢量前面的其他矢量,即每一个矢量都 是独立量化的。 1、全搜索矢量量化器 前面我们介绍的LBG算法,在进行VQ编码时, 采用的就是全搜索法,即对于每个输入矢量,比较 它与每一个码书中的码字的失真,并将失真最小的 码字标号作为输出
表7-1 二叉树与全搜索的比较
失真运算量 比较运算量 存储容量 最佳程度
全体 局部
全搜索 二叉树
(m) 1
,Y
(m) 2
,,Y
(m) N

以停止运算。L是限制迭代次数的参数,防止 设臵较低时迭代次数过多 三、初始码书的选择 ① 随机选取法 ② 分裂法 ③乘积码书法
7.5 降低复杂度的矢量量化系统
• 矢量量化系统主要由编码器和译码器组成:
编码器主要由码书搜索算法和码书构成,
译码器由查表方法和码书构成。 • 矢量量化器的研究主要围绕降低速率(运算量)、 减少失真和降低复杂度(存储量)展开。 •降低复杂度的设计方法大致分为两类: 一类是无记忆的矢量量化器, 另一类是有记忆的矢量量化器。
相关文档
最新文档