当前位置:文档之家› 改进的嵌入式小波零树编码算法

改进的嵌入式小波零树编码算法

改进的嵌入式小波零树编码算法
改进的嵌入式小波零树编码算法

维普资讯 https://www.doczj.com/doc/d9168574.html,

嵌入式小波零树(EZW)算法

首先根据实际需要确定扫描次数D=codeDim,然后进行D次主扫描和辅扫描。 1、初始化 首先获取扫描次序表scanlist,表中每行的数字依次是该元素的(1)扫描序号、(2)对应于数据矩阵中位置的行号r、(3)对应于数据矩阵中位置的列号c、(4)值Mat(r,c),即 scanlist (i) = [ i, r, c, Mat(r,c) ]编码扫描的对象就是次序表scanlist,而非数据矩阵Mat。然后构建初始符号矩阵flagMat,其中每个元素均为字符“Z”。 2、主扫描 在第d次(1<= d <=codeDim)扫描中,输入阈值为T(d),首先依次对次序表的每一行scanlist(i)按照如下步骤扫描: (1)如果上一次扫描得到的flagMat中,处于位置(r,c)的符号为“O”,则表示相应的Mat(r,c)是重要的,不需要通过本次扫描再次编码,故作跳过处理。 (2)将scanlist(i,4)(即Mat(r,c))的绝对值与阈值T(d) 比较,如果是重要的系数,则令flagMat(r,c)的值为P或N,并存入主扫描表scancode中,并将Mat(r,c)的值以及相应的行、列数(r,c)存入重要数列表imptvalue中,将符号P或N存入重要数符号列表imptflag中。(3)如果是不重要的系数,则首先检查flagMat(r,c),若是符号“X”,则表示这个点是不重要的,作跳过处理不再扫描。

(4)如果点(r,c)处于第一分解级,即r>row/2或c>col/2,没有子孙系数,且其系数是不重要的,则该点flagMat的符号为Z,存入主扫描表scancode中。 (5)如果点(r,c)满足r=threshold if scanlist(i,4)>=0 flaglist(scanlist(i,2),scanlist(i,3))='P'; scancode=[scancode 'P']; imptvalue=[imptvalue;abs(scanlist(i,4)),scanlist(i,2),scanlist(i,3)]; imptflag=[imptflag 'P'];

零树编码算法小波系数

零树编码算法 一零树编码算法的基本思想 众所周知,小波系数的能量集中程度越高,需要编码的系数越少,编码所需的比特数就越少,所以小波压缩都是利用变换分解后的图象能量分布集中这一特性来编码的。小波系数的能量集中程度对图象编码非常重要,而不同层次上,相同空间滤波方向上的小波系数之间的相关性也非常重要。零树编码的基本思想就是基于这种相关性。 经过小波变换后的图象被分解成若干个子频带,其中子带HH是低频分量,是原始图象的平滑版本,子带HL是水平方向上的高频,垂直方向上的低频分量;子带LH是垂直方向上的高频,水平方向的低频分量;子带HH是高频分量,揭示了原始图象在斜方向的边缘信息。 为了提高对小波系数的压缩性能,Jerome M. Shapiro提出了一种新的数据结构零树(zerotree),如果小波系数x的绝对值小于给定的阈值T,则此系数是可以忽略的。零树的方法是基于这样一个假设:如果在较粗的级别上,一个小波系数是小于阈值,可以忽略的,则所有在相同方向,相同位置的更高的级别上的系数也基本上是可以忽略不记的。经验证明这个假设通常是正确的。更特殊的情况下,在一个多级的子带系统里,除了最高频的子带之外,在每一级别的每个系数都是和该系数在更高的级别相同方位的系数集合相对应的,我们把在较粗的级别上的系数叫做父亲,而在所有在更高的级别上相应位置的系数都叫做后代,同样的,对于任一给定的后代,在更粗的级别上相同方位上对应的系数叫做祖先。 对于一个QMF-金字塔算法的子带分解,如图所示,除了最低频的子带之外,所有的父亲结点都有4个儿子,而最低频的结点是有3个儿子。对系数的扫描顺序的原则是不可以有一个儿子结点是在它的父亲结点之前被扫描。对于一个N 级的变换,扫描是先从最低频的子带开始的,这里记作LLn,然后扫描子带HLn,LHn,和HHn,然后扫描第n-1级的系数,以此类推。在金字塔分解中这种扫描模式的图示见下图,可以看到在一个给定的子带每个系数都是在下一个子带的对应系数之前被扫描的。 x和它的所

嵌入式小波零树编码压缩

嵌入式小波零树(EZW)算法的过程详解和Matlab代码(3)解码过程收藏 1、初始化 (1)全局初始化:包括获取扫描次序列表scanorder,初始化符号矩阵flagMat,创建以下几个空表:重要系数重构列表recvalue,量化器编号列表rIlist,上一次解码用到的辅扫描表qu antiflagOld。 (2)每级扫描的初始化:获取本级解码需要的主扫描表scancode和辅扫描表quantiflag。创建解码矩阵DecodeMat,量化符号列表编号qrNum,主扫描表扫描编号scNum。 2、构造逆量化器 (1)逆量化器包括两个部分,一是量化值部分,与编码程序中的量化器函数代码相同;二是量化器编号列表rIlist的构造,这个是难点和重点,把它构造出来,才能解码出重要系数的数值。(2)以下是编码过程中经过4次扫描产生的辅扫描表quantiflag和量化器编号列表rIlist: Q:0 1 1 R:1 1 1 Q:1 1 1 1 0 0 0 1 1 0 R:2 3 3 1 1 1 1 1 1 1 Q:1 0 1 1 0 1 0 0 1 0 0 1 1 0 0 1 1 0 0 0 1 0 1 0 1 0 0 1 0 1 0 1 1 0 0 0 1 1 0 R:5 7 7 3 2 2 2 3 3 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Q:0 1 1 1 0 0 1 0 0 1 1 0 0 0 1 0 0 1 1 1 1 0 0 1 0 0 1 0 1 0 1 1 1 0 0 0 0 0 1 0 1 1 0 0 1 0 1 0 0 1 1 0 0 1…… R:11 14 15 7 4 5 4 6 7 4 2 3 3 2 2 3 3 2 2 2 3 2 3 2 3 2 2 3 2 3 2 3 3 2 2 2 3 3 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1…… 仔细观察可以发现两者之间存在一种函数关系: 以第一级扫描产生的三个量化符号(0,1,1)为例,其编号列表为(1,1,1),在随后的第

嵌入式零树小波EZW编码及其算法改进

嵌入式零树小波EZW编码及其算法改进 在基于小波变换的1. 嵌入式零树小波编码算法EZW 1. 1 算法原理: 内嵌编码[1](embedded coding)就是编码器将待编码的比特流按重要性的不同进行排序,根据目标码率或失真度大小要求随时结束编码;同样,对于给定 码流解码器也能够随时结束解码,并可以得到相应码流截断处的目标码率的恢 复由一副EZW 算法利用小波系数的特点较好地实现了1) 零树预测 一副经过小波变换的定义一个零树的数据结构:一个小波系数x,对于 一个给定的门限T,如果|x| 2) 用零树结构编码重要重要3) 逐次逼近量化(Successive-Approximation Quantization,SAQ) 内嵌编码的核心在于采用了逐次逼近的量化方法(SAQ)。SAQ 按顺序使 用了一系列阈值T0、T1,┄,TN-1 来判决重要性,其中Ti=Ti-1/2,初始阈值 T0 按如下条件选择,OXjO2T0,其中Xj 表示所有变换系数。 在编(译)码过程中,始终保持着两个分离的列表:主表和辅表。主表对 应于编码中的不重要的集合或系数,其输出信息起到了恢复各重要值的空间位 置结构的作用,而辅表是编码的有效信息,输出为各重要系数的二进制值。编 码分为主、辅两个过程:在主过程中,设定阈值为Ti,按上述原理对主表进行扫 描编码,若是重要系数,则将其幅值加入辅表中,然后将该系数在数组中置为零,这样当阈值减小时,该系数不会影响新零树的出现;在辅过程中,对辅表中 的重要系数进行细化,细化过程类似于比特平面编码。对阈值Ti 来说,重要系 数的所在区间为[Ti,2Ti],若辅表中的重要系数位于[Ti,3Ti/2],则用符号0 表示,否则用符号1 表示。编码在两个过程中交替进行,在每个主过程前将阈值减半。

零树小波图像压缩

零树小波图像压缩专题(1) 默认分类 2008-06-14 20:05:49 阅读51 评论0字号:大中小订阅 前几天我们讨论了几种简单的小波图像压缩方案,不过这些技术都比较粗糙,效率低。现在我们从小波编码起步,探讨几种高效的小波压缩方案。 信号的传输和处理少不了编码技术的支持,信号编码可以极大地压缩信息量,增强抗干扰能力等。同样地,小波变换作为一种信号处理技术,也有其独特的编码结构。在《基于小波变换的图像压缩技术初探》一文中,我们提到,二维小波变换具有塔式结构,如图1 图1 那么这种塔式结构里,小波系数和相应的位置信息的组织关系是怎样的呢?仔细观察图1,我们可以发现,各个子图像(或称子频带)之间组成了一个从低频带指向高频带的树状结构,如图2所示: 图2

图2中,以HH3单个元素为根形成的子孙树,从它们的方向和空间位置可以看出,这种小波树中,各级分解子带的系数之间存在很大的相似性!基于这一性质,Lewis和Knowles在1992年提出了小波零树编码算法。这种算法的一大特点,也是一大缺点,即量化后系数为0的系数的子孙系数也置0。这种一刀切的处理很容易把重要的子孙系数忽略掉,故L-K零树编码算法存在一定的不足。 零树小波图像压缩专题(2)——EZW算法的原理步骤 默认分类 2008-06-14 20:08:33 阅读99 评论0字号:大中小订阅 如果一个小波系数被量化为0,而它存在一个子孙量化后不为0,则这个点称为孤立零点。适应孤立零点的情况而改进的零树编码算法就称为嵌入式零树小波编码算法,简称EZW 算法,是Shapiro在1993年提出的。 对于一个阈值T,若小波系数x满足|x| >= T ,则称x关于T是重要的系数,反之称x关于T是不重要的系数;若x是不重要的系数,并且其所有子孙都是不重要的,则称x是关于T的零树根;若x本身是不重要的系数,但它存在重要的子孙,则称x是关于T的孤立零点。 对于给定的阈值,EZW算法下图所示的Z型顺序扫描、处理小波系数(扫描顺序有两种:raster、Morton)。

小波用于编码―――零树编码方案-Read

小波用于编码 ――― 零树编码方案 1 小波变换应用于图像压缩编码 用小波变换的方法进行图像数据的压缩编码是变换编码的一种,将时域信号变换到小波域后会得到一个多分辨率、能量集中的系数空间。能量越集中,系数被压缩的程度就越大。 早在小波分析出现之前,人们就试图用多分辨率分析的思想对信号进行处理,以突破傅立叶变换的局限性,最著名的是Burt 和Adelson 的Laplace 金字塔编码;后来,Mallat[11]提出了小波多分辨率分析算法;Daubechies 用基于离散滤波器迭代的方法构造了紧支集的规范正交小波基,使小波分解可以用信号和离散滤波器的卷积运算来实现,从而使小波分解被广泛应用于图像分解。 正交小波对应一个正交镜像滤波器,就是说低通滤波器h 和高通滤波器g 正交。双正交小波有两个小波,即小波Ψ和它的对偶小波ψ~ ,它们对应的滤波器分别为{h,g }和{g h ~,~}。其中,h 与g ~正交,g 与h ~正交,即满足: 1n n n h )1(g ~+--=;1n n n h ~)1(g +--=;)5.3(h ~h 0 ,k n k 2n n δ=∑+ 进行图像的压缩编码时,用一个小波分解,用另一个重构。母波选择的合适与否直接影响着图像编码的结果,正交小波的变换明显的不如双正交小波。本文采用的均是附录二中介绍的双正交小波。 小波变换是变换编码的一种,也要经过变换、量化和压缩三个步骤。将原始图像进行离散小波变换(DWT )后,如果立即进行相应的逆变换,会得到精确的原始图像,当然这要忽略在计算时带来的误差。 对于一幅图像所得到的小波系数的能量要比在时域时集中的多,这样就很有利于将其量化为字符流。现代的量化方法有很多:如:标量量化、向量量化和零树编码量化等都是非常有效的。最后要对得到的字符流进行无损压缩,这要用到一些经典的方法,如:Huffman 、ADPCM 、RLE 等。 下面将讨论一种零树编码量化的方法。

相关主题
文本预览
相关文档 最新文档