小波图像编码_第1页
小波图像编码_第2页
小波图像编码_第3页
小波图像编码_第4页
小波图像编码_第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第8章小波图像编码

8.1从子带编码到小波编码8.2PSNR失真度量法8.3EZW编码8.1从子带编码到小波编码子带编码(subbandcoding,SBC)基本概念把信号的频率分成几个子带然后对每个子带分别进行编码根据每个子带的重要性分配不同的位数来表示数据20世纪70年代,子带编码开始用在语音编码上。20世纪80年代中期开始在图像编码中使用图中的符号表示频带降低1/2,HH表示频率最高的子带,LL表示频率最低的子带。

多分辨率分析S.Mallat于1988年在构造正交小波基时提出了多分辨率分析的概念,从空间上形象的说明了小波的多分辨率的特性,根据这些科学家的理论,使用一级小波分解方法得到的图像如右图所示。图8-2用一级小波分解方法得到的图像8.1从子带编码到小波编码多分辨率分析如果在一级分解之后继续进行分析,这种分解过程叫做多分辨率分析,实际上就是多级小波分解的概念。使用多级小波分解可以得到更多的分辨率不同的图像,这些图像叫多分辨率图像。8.1从子带编码到小波编码图8-3 Lena的多分辨率图像小波分解图像方法包括:均匀分解,非均匀分解,八带分解和小波包分解.

其中八带分解使用最广泛,它属于非均匀频带分割方法。它把低频部分分解成比较窄的频带,而对每一级分解的高频部分不再进一步分解.8.1从子带编码到小波编码8.2

失真的度量方法失真度量法用峰值信号噪声比(peaksignaltonoiseratio,PSNR)来衡量,定义为最大像素值的平方与均方差(meansquareerror,MSE)之比,

(db)对8位二进制图像,

(db)其中,其中, 为原始图像的像素值, 为解压缩之后的像素值。规格化均方差(normalizedmeansquareerror,NMSE)信号噪声比(signaltonoiseratio,SNR)平均绝对误差(meanabsoluteerror,MAE)

8.3.EZW编码

EZW编码是基于如下两个重要的观察分析:自然图像通常频谱集中于低通频带。当对一幅图像进行小波变换的时候,随着尺度的减小(小尺度意味着高分辨率),子带中的能量会减小。因此平均而言,高频子带中的小波系数会小于低频子带中的。显然,如果把一幅图像进行序列化,低频信号往往是占主要地位的,高频子带只是在添加细节。大的小波系数通常比小的小波系数更为重要。8.3.EZW编码EZW(embeddedzerotreewavelet)是”嵌入式零树小波算法”的简称。它是一种用于熵编码的高效算法。W代表wavelet。EZW算法以小波变换为基础,图像在进入EZW编码器之前先要进行小波变换,以分离高低频信息。Z代表zerotree。称之为“零树”,指的是小波变换系数之间的一种数据结构。EZW使用零树来提高压缩比。E代表embedded。嵌入式编码就是渐进式编码。小波变换具有渐进特性,即先把最重要的部分进行编码,然后再将次要的部份进行编码。8.3.EZW编码EZW编码效果图

JPEG算法和JPEG2000算法的比较其中,JPEG2000采用的就是EZW算法。当他们采用相同的比特率时,明显JPEG2000的图像质量要比JPEG的图像质量好很多。小波图像编码(waveletimagecoding)的一般结构:小波变换(wavelettransform)不损失数据,但它是EZW算法具有渐进特性的基础;量化(quantization)对数据会产生损失,数据损失的程度取决于量化阈值的大小,EZW算法指的就是这个模块的算法,它的输出是符号集{P,N,T,Z,0,1}中的一系列符号;熵编码(entropyencoding)对每个输入数据值精确地确定它的概率,并根据这些概率生成一个合适的代码,使输出的码流(codestream)小于输入的码流。零树一幅图像经过若干级小波分解后,在不同子带的相同位置的变换系数是相关的。各级子带的系数之间的关系可以用树的形式表示。可以认为低频中的某个系数在其相邻的高频子带中有4个子孙,如下图。LL3对应HL3、LH3、HH3三个节点,然后每个节点都对应到下一层的四个节点。这四个子节点各自在其相邻更高子带中有其4个子孙。按照箭头方向,各级系数分别用祖系数,父系数,子系数,孙系数来称呼。零树定义:父系数和子孙系数幅度均小于阈值T的树。阈值T=16。把-13当做父系数,它绝对值小于16,而且它所有子孙系数都小于16,这样的树我们称为零树,系数-13叫做零树根。而如果把14当作父系数,固然14小于16,但是它存在子系数47大于16,这样的树就不能称之为零树。定义零树的重要意义在于,如果一棵树是零树,那么这棵树可以用一个预先定义的符号(T)来代表整棵树,从而提高了压缩比。扫描方法:EZW算法对小波系数进行编码的次序叫做扫描.包括两种方法:

1,光栅扫描2,迂回扫描扫描方式后文中的例子使用迂回扫描的方法进行的EZW算法过程准备阶段——建树对一幅经过多级小波变换后的图像,按前面讨论的零树理论,我们可以使用树来表达小波变换后的图像。以最左上角的一个数为根节点,将与其相关的次级高频信号作为它的子树进行建树操作。父-子节点对应关系如下图左侧所示。(LL3对应HL3、LH3、HH3三个节点,然后每个节点都对应到下一层的四个节点。)编码阶段编码时对小波图像系数进行多次扫描,每一遍扫描大致包含三个步骤:设置阈值每个小波系数与阈值进行比较量化系数需要维护两种表:小波系数的符号表量化表。

1.设置阈值阈值的计算公式如下:注:第一次扫描的时候就必须要决定阈值T0大小。T0不能太大,因为如果太大了,要减小很多次才能真正开始发送数据。同时T0也不能设置的过小,若太小,则第一次扫描就会将大部分数据发送出去,对于嵌入式编码而言就毫无意义,所以必须符合下列不等式:其中xi表示小波系数。这样第一次扫描时就一定会有数据被发送出去了。之后每次扫描的阈值比上一次扫描的阈值减半:注:之所以是两倍两倍减少,是因为在计算机中二进制算法更为简单,更为高效。2.主扫描主扫描:扫描每个小波系数以产生系数符号,确定重要系数和零树。扫描次序采用Morton次序,第i次扫描(i=1,2,…,L)时,算法按此顺序将小波系数与阈值Ti-1进行比较,已处理的元素由以下输出符号来表示:P:正的重要元素N:负的重要元素T:零树根(本身和所有子节点小于阈值)Z:孤立零点(存在子节点大于阈值但本身小于阈值)注:在扫描过程中,用一个主扫描表记录这些输出符号。第i次扫描结束后,将输出符号为P或N的系数的位置标记为0,以免下次主扫描重复编码。3.辅扫描辅助扫描:量化符号P和N的系数。辅扫描对已有所有主扫描表进行顺序扫描,对其中输出符号为P或N的小波系数进行量化。在量化系数之前要构造量化器。量化器的输入间隔为[Ti-1,2Ti-1),将其等分为两个量化区间[Ti-1,1.5Ti-1),[1.5Ti-1,2Ti-1),量化间隔为0.5Ti-1。若小波系数属于前一区间,则输出量化符号“0”,重构值为1.25Ti-1,否则输出量化符号为“1”,重构值为1.75Ti-1。输出的符号“0”、“1”由一个辅扫描表记录。注:例如第一次阈值是32。量化间隔为16。如果幅度在[32,48)范围里,该系数量化值为0,对应的重构值为1.25T=40。第一遍扫描Th=32主扫描[0,32)[32,64)辅扫描[32,48)[48,64)10第二遍扫描Th=16主扫描辅扫描[16,32)[0,16)[16,24)[24,32)01[32,40)[40,48)[48,56)[56,64)1100解码阶段解码与编码步骤几乎相同。设置阈值,主扫描,辅扫描。主扫描从数据流中载入主扫描代码,来恢复系数的重要信息。扫描顺序与编码时保存系数重构位置相同。当遇到P或者N,当前系数的位置加入辅助列表。当遇到T或Z时,用0表示它的系数。当图像中所有系数已被扫描,主扫描就停止。辅扫描从数据流中为辅助列表中的每个系数载入一个比特。由逆量化器恢复系数值大小。当预定性能指标达到或数据流已空时,解码停止。算法举例小波图像实例第三级子图像四叉树第二级子图像四叉树1.建树2.编码(1)第1次扫描步骤1:初始阈值T0=32。步骤2:设置存放重要系数的主缓冲存储器D1,存放量化符号的辅缓冲存储器S1。执行主扫描。当一个系数被指定为T时,所有它的子孙系数就不再被扫描,用“×”表示。如图。扫描结束后,D1中系数符号为:D1:PNZTPTTTTZTTTTTTTPTT步骤3:量化系数。对主表中的{63,34,49,47}量化。量化间隔16。扫描后得到符号:S1:1010(2)第2次扫描使用0替换上一次扫描识别出的重要系数,然后从头开始扫描系数。步骤1:新阈值T1=16。步骤2:设置存放重要系数的主缓冲存储器D2,存放量化符号的辅缓冲存储器S2。执行主扫描。当一个系数被指定为T时,所有它的子孙系数就不再被扫描,用“×”表示。如图。扫描结束后,D2中系数符号为:D2:ZTNPTTTTTTTT步骤3:量化系数。对主表中的{63,34,49,4731,23}量化。量化间隔8,量化区间有[16,32),[32,48),[48,64)。扫描后得到符号:S2:1001

10第一遍扫描Th=32主扫描[0,32)[32,64)辅扫描[32,48)[48,64)10第二遍扫描Th=16主扫描辅扫描[16,32)[0,16)[16,24)[24,32)01[32,40)[40,48)[48,56)[56,64)1100(3)根据压缩率或者数据传输率等要求决定扫描次数。此例完全做完得到下表。第6次没有辅助扫描,因为在第五次的辅助扫描中,每个分段的长度已经达到1了(量化间隔按照扫描次序分别为16,8,4,2,1),已经能够确定每个系数的具体值,所以不需要进行辅助编码。3.解码(1)第1次解码步骤1:得到阈值T0=32。步骤2:读入D1:PNZTPTTTTZTTTTTTTPTT。当遇到P或者N,当前系数的位置加入辅助列表。当遇到T或Z时,用0表示它的系数。T的子树用“×”表示,不需要扫描。当图像中所有系数已被扫描,主扫描就停止。步骤3:读入S1:1010。逆量化器和量化器相同如下图。“0”逆量化到40(量化间隔中间值),“1”逆量化到56。得到{56,-40,56,40}。(2)第2次解码步骤1:修改阈值T1=16。步骤2:读入D2:ZTNPTTTTTTTT。当遇到P或者N,当前系数的位置加入辅助列表。当遇到T或Z时,用0表示它的系数。T的子树用“×”表示,不需要扫描。当图像中所有系数已被扫描,主扫描就停止。步骤3:读入S2:1001

10。首先看红色部分,第一次解码得到{56,-40,56,40},根据量化图,第二次解码得到{60,-

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论