微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 基于矢量量化编码的数据压缩算法的研究分析

基于矢量量化编码的数据压缩算法的研究分析

时间:09-14 来源:互联网 点击:

2. 质心条件 (CentroidC ondition)
利用由上面步骤得到的训练矢量划分集 重新计算它们各自的质心,得到新的码本:
(3.3)
(3.4)
式中, 代表子集Si中训练矢量的个数。
各种矢量量化码本设计算法基本都是上面两个步骤的交替迭代的基础上得到最后的码本。不难看出,码本生成过程中的计算量是随着码本矢量的维数k和码本尺寸N的增大而急剧增长的,对于需要高维大码本的矢量量化器来说,测试所有可能的码本来寻求全局最优码本将是十分困难的。为了克服这个困难,Linde . Buzo和Gray提出了经典的LBG算法。
1980年Linde,Buzo和Gray将Lloyd算法推广到矢量空间, 算法的步骤简单描述如下:
Step 1 :给定初始码本 ,令迭代次数m=0,平均失真初始值为 ,给定失真下降阈值 ;
Step 2:用码本 中的码字作为质心,根据最佳划分原则将训练矢量集x划分为对应于每个码字的N个聚类,
满足: ;
Step 3:计算本次迭代的平均失真 判断相对误差是否满足 ,若满足,则停止算法,码本C(m)就是所求的码本;
否则,转Step 4;
Step 4:根据质心条件,计算各聚类的质心,即公式(3.5):
(3.5)
产生新码本 并置m=m+1,转Step 2
END:算法结束。

对于 LBG算法来说,初始码本选择的好坏将直接影响到后面的迭代计算结果,一个不好的初始码本会降低算法的收敛速度和最终码本的性能。因此在LBG算法中要对初始码本的选择作一定的处理。如果初始码本随机产生,即直接从训练序列中随机选择N个训练矢量作为初始码字,构成初始码本,可能会选到一些非典型的训练矢量作码字,因而该胞腔可能含有少数几个矢量甚至只有1个。另外,有可能把某些空间分得过疏。这可能会导致码本中的有些码字得不到充分利用,设计出来的码本性能就可能较差。
3.1.2 MD算法
最大下降(MD)码本设计算法与经典的LBG算法不同,它是一种分裂算法,而没有初始码本。在MD算法中,首先将训练矢量集 作为一个原始包腔,然后该包腔被它的最优分割超平面分成两个子包腔。依此类推,每次分裂产生一个包腔,直到生成最后的N个包腔,计算它们的质心,就可以得到设计的码本C={y}i=1,2,…,N)。与LBG算法相比,MD算法的计算量少并且所产生的码本性能好。另一方面,MD算法倾向于分割元素较多的胞腔,而不会去分割只有一个元素的胞腔,避免了非典型码字的形成,提高了码本的整体性能。在MD算法中,从L个包腔向(L+ l )个包腔扩展时,先要找出每个现有包腔的最优分割超平面,并计算它们各自带来的失真下降幅度,然后依据失真下降最大准则来选择究竟对哪一个包腔进行分裂。这在k维空间里是比较困难的事,需要大量的计算和比较。图3.2所示为MD算法的分裂过程示意图,图中每一步骤中有阴影的包腔 是当前符合失真下降最大准则的包腔,它被最优分割超平面分成下面的两个子包腔 和 。从L个包腔生成(L+ 1)个包腔的具体实现描述如下:
设超平面 将某胞腔 分成两个非空胞腔如式(3.6)所示:

(3.6)
式中 , , , T表示转置。
当 中的矢量被质心 量化时,胞腔的失真D(Si)定义为公式(3.7): (3.7)
则由分割超平面H,划分胞腔S,所引起的失真下降可表示为式(3.8):
(3.8)
若采用平方误差测度,则式(3.8)可以化简为式(3.9):
或 (3.9)
式中, 分别为 的元素个数, 。分别为 的质心。
从式(3.9)中可以看出,若胞腔 、 非空,则失真下降函数满足 。
我们将胞腔Si的最优分割超平面 定义为使胞腔 具有最大失真下降 的超平面。MD算法先计算出所有胞腔的最大失真下降值 , ,然后找出最大的最大失真下降值 ,即 ,最后将胞腔Sp分割成两个新胞腔。所以,L+l个胞腔是通过划分L个胞腔中具有最大失真下降的胞腔并保持其余胞腔不变而得到的。值得注意的是,每次分裂包腔时,并不需要重新计算所有包腔的失真函数,而只需找到新增加的两个包腔的最优分割超平面,计算它们各自的失真函数,再与其它包腔的失真函数值进行比较即可找出新的满足失真下降最大准则的包腔。产生最后的N个胞腔,一共需计算(2N-3)次最大失真下降函数。
3.1.3 码书设计算法比较
LBG算法是一种迭代算法,其迭代操作是标量量化劳埃德迭代操作的直接推广。LBG算法他具有如下的优点:
1. 不用初始化计算,可大大减少计算时间
2. 初始码字选自训练序列,无空胞腔问题
LBG算法在具有如上的优点的同时也有一些缺点和不足:
1. 在每次迭代的最佳划分阶段,从码书中搜索训练矢量的最近码字需要大量的存储空间和繁琐的计算;
2. 初始码书的选择影响码书训练的收敛速度和最终码书的性能;
码书设计的第一个缺点可采用各种快速码字搜索算法来解决,但这些算法无法改善码书的性能,第2个缺点产生的原因是:LBG算法是一种下降算法,每次迭代总能减少(至少保持不变)平均失真,而且每次迭代通常只能产生码书的局部变化,即每次迭代后,与旧码书相比,新码书不可能有非常大的变化。因此,一旦选定初始码书,该算法只能得到局部最优的码书,即LBG算法一般不能得到全局最优的码书。
与LBG算法相比,MD算法的计算量少且所产生的码书性能好。另一方面, MD算法倾向于分割元素较多的胞腔,而不会去分割只有一个元素的胞腔,而这种情况在LBG算法中却常常出现。然而,在MD算法中,多维胞腔的最优分割超平面的搜索是一个非常困难的问题。为减少计算量,这些算法的搜索范围被限制在与矢量空间的基本矢量正交的超平面上,这个矢量空间可由离散余弦变换(DCT)得到。但是,在这种限制条件下,算法常常搜索不到最优超平面。
3.2 码字搜索算法
3.2.1 基于不等式的快速码字搜索算法
1. 部分失真不等式排除法
部分失真搜索(Partial Distortion Search,PDS)算法是一种较简单有效的最近邻搜索算法。它的基本思想是:在计算某个码字与输入矢量之间失真测度的过程中,始终判断累加的部分失真是否已经超过目前的最小失真,如果一旦超出则终止该码字与输入矢量之间的失真计算,转而开始计算另一个码字与输入矢量的失真测度。PDS常被用来与其他快速搜索算法结合起来运用,来排除其它快速算法最后无法排除的码字。
在编码过程中计算前面部分维数的失真距离,若其超出当前最小距离,则排除此码字为最匹配码字,否则继续搜索其它码字。
据如下(3.10)所示的柯西一许瓦尔兹不等式:
(3.10)
可得一个不等式判据 若 ,则能保证 ,yi可被排除。因为|yi|可离线计算,所以节省了计算量。
首先判断 是否成立,若成立,则排除码字Yi否则,再判断是否满足 ,若满足,yi也可被排除。这缩小了搜索范围,他们还融入部分距离失真法节省计算量。双测试法的缺陷在于要求矢量的所有分量都为正值,而图像变换域编码中产生的变换系数有正有负,必须对这些系数进行正补偿,使所有矢量分量均大于零。
2. 整数投影法
整数投影法是一种适用于图像矢量量化的快速码字搜索算法。他们为每个m×m图像块 ,定义三种整数投影,如下公式(3.11)(3.12)(3.13)所示:
块状投影: (3.11)
垂直投影: (3.12)
水平投影: (3.13)
在这三种投影的基础上定义了三个不等式条件,公式(3.14)(3.15)(3.16)所示:
(3.14)
(3.15)
(3.16)
可以证明,只要不满足上述任何一个条件,可排除yi是最匹配码字。
3. 三角不等式法
基于三角不等式d(Y i,yj) d (x ,Yi)+ d (x ,yj)提出三种改进算法。第一种算法先计算码书中每两个码字之间的距离,以当前匹配码字yi为中心,2hi(h i为输入矢量与当前匹配码字之间的欧氏距离)为半径划定搜索范围,即只搜索满足d(yj,yi) 2hi的码字yj,j= 1,2,…,N;
第二种算法是将搜索范围定为满足:x-hirkrx+hi,
其中rx为输入矢量的范数,rk为码字的范数,hi为输入矢量与当前匹配码字之间的欧氏距离,此种算法不同于第一种算法,无须计算码字之间的距离;
第三种算法取前两种算法搜索区域的交集作为搜索区域。
这三种算法都涉及如何确定初始匹配码字的问题,一般取范数与输入矢量范数最相近的码字。第一、三种算法比第二种算法要多耗费存储空间来存储码字之间的距离。最小均方误差编码算法,取一长训练矢量序列,计算每个Voronoi区域内的训练矢量与该区域质心矢量(码字) 的最大距离di,求平方根后得ri,按其升序排列。编码时,从最小的ri开始,排除对任意 ,满足 .的码字;那些对所有j,满足 的码字,则采用部分失真排除判定法,确定此码字为最佳匹配码字或者在以该码字为开始的剩余码字中搜索最佳匹配码字。
3.2.2 等均值等方差最近邻搜索算法
均值等方差最近邻码字搜索算法是将均值不等式判据和用方差不等式判据相结合,进一步缩小了码字搜索范围。k维输入矢量x的方差定义公式(3.17)为
(3.17)
其中:Mx为输入矢量x的均值。
等均值等方差最近邻搜索算法所用到的方差判别准则为:
设码字 为输入矢量x的当前最近邻码字, ,输入矢量x和码字Y,的方差分别为Vx和Vyi,如果公式(3.18)成立,
(3.18)
则有d(x,yi) >d( x,yp),码字yi,可以被排除是输入矢量x的最近邻码字。对式(3.12)作适当变形,可得公式(3.19)和(3.20)
(3.19)
(3.20)
即码字Yi的方差满足以上两式时,码字Yi可以被排除是输入矢量x的最近邻码字。
由几何知识可知,在欧几里得空间 中以空间中心线L为轴心的超圆柱面上,各点的方差相等,该超圆柱面称为等方差超圆柱面。由式(3.13)和(3.14)可知,等方差判别准则将码字搜索范围限制在方差分别为Vmax和V min的两个超圆柱面内。则等均值判别准则与等方差判别准则相结合的等均值等方差最近邻搜索算法将码字的搜索范围限制在了如图3.2所示的阴影部分内。
图3.1 等均值等方差最近邻搜索算法搜索范围二维示意图

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top