第四章_小波与小波变换(附作业)_8395_1004_20111010171130.pptx
第四章 小波与小波变换o12:32o1新一代静态图像压缩标准新一代静态图像压缩标准-JPEG2000JPEG所具有的优良品质,使它获得极大的成功。然而,随着多媒体应用领域的激增,传统JPEG压缩技术也存在着许多不足,无法满足人们对多媒体图像资料的要求。离散余弦变换将图像压缩为88 的小块,然后依次放入文件中,这种算法靠丢弃频率信息实现压缩,因而图像的压缩率越高,频率信息被丢弃的越多。在极端情况下,JPEG图像只保留了反映图像外貌的基本信息,精细的图像细节都损失了。JPEG2000与传统 JPEG最大的不同,在于它放弃了 JPEG所采用的以离散余弦变换(DiscreteCosineTransform)为主的区块编码方式,而改采以小波变换(Wavelettransform)为主的解析编码方式。o12:32o2 JPEG2000主要有以下特点主要有以下特点 q高压缩率JPEG2000压缩性能比JPEG提高了30%50%,也就是说,在同样的图像质量下,JPEG2000可以使图像文件的大小比JPEG图像文件小30%50%。同时,使用JPEG2000的系统稳定性好,运行平稳,抗干扰性好,易于操作。q同时支持有损和无损压缩 JPEG只支持有损压缩,而JPEG2000能支持无损压缩。在实际应用中,诸如卫星遥感图像、医学图像、文物照片等重要的图像都非常适合于采用JPEG2000压缩。o12:32o3q实现了渐进传输渐进传输(Progressive Transmission)是指可以先传输图像的轮廓,然后逐步传输数据,不断提高图像质量,让图像由朦胧到清晰显示,而不必像现在的 JPEG 那样,由上到下慢慢显示,这在网络传输中有重大意义。q支持“感兴趣区域”用户可以任意指定图像上感兴趣区域(Region of Interest)的压缩质量,还可以选择指定的部分先解压缩,从而使重点突出。这种方法的优点在于它结合了接收方对压缩的主观需求,实现了交互式压缩。由于 JPEG2000采用的是小波变换算法,它所产生的压缩图像比JPEG图像更细腻、更逼真。而它所采用的新的文件格式也更利于对图像进行数字化处理。o12:32o4源图像小波压缩后重构的图像(压缩比:22:1)o12:32o5由于小波分析克服了Fourier分析的许多弱点,因此它不仅可以用于图像压缩,还可以用于许多其他领域,如信号分析、静态图像识别、计算机视觉、声音压缩与合成、视频图像分析、CT成像、地震勘探和分形力学等领域。总之,可以说凡能用Fourier分析的地方,都可以进行小波分析。小波分析应用前景十分广阔。o12:32o6小波介绍-小波简史11909年哈尔(AlfredHaar)发现了小波,并命名为哈尔小波(Haarwavelets),他最早发现和使用了小波。20世纪70年代,当时在法国石油公司工作的年轻的地球物理学家JeanMorlet提出了小波变换WT(wavelettransform)的概念。法国的科学家Y.Meyer于1986年创造性地构造出具有一定衰减性的光滑函数,他用缩放(dilations)与平移(translations)均为2j(j=0的整数)的倍数构造了L2(R)空间的规范正交基,使小波得到真正的发展。o12:32o7小波介绍-小波简史2法国的科学家StephaneMallat在构造正交小波基时提出了多分辨率的概念,从空间上形象地说明了小波的多分辨率的特性,在1988年提出了正交小波的构造方法和快速算法,叫做Mallat算法。该算法统一了在此之前构造正交小波基的所有方法,它的地位相当于快速傅立叶变换在经典傅立叶分析中的地位。InridDaubechies,RonaldCoifman和VictorWickerhauser等著名科学家把这个小波理论引入到工程应用方面做出了极其重要的贡献。例如,InridDaubechies于1988年最先揭示了小波变换和滤波器组(filterbanks)之间的内在关系,使离散小波分析变成为现实。在信号处理中,自从S.Mallat和InridDaubechies发现滤波器组与小波基函数有密切关系之后,小波在信号(如声音信号,图像信号等)处理中得到极其广泛的应用。o12:32o8小波概念小波是定义在有限间隔而且其平均值为零的一种函数,它的波形如图所示o小波与正弦波o12:32o9与正弦波相比,小波具有有限的持续时间和突变的频率和振幅,波形可以是不规则的,也可以是不对称的,在整个时间范围里的幅度平均值为零。而正弦波和余弦波具有无限的持续时间,它可从负无穷扩展到正无穷,波形是平滑的,它的振幅和频率也是恒定的。o12:32o10小波分析信号分析一般是为了获得时间和频率域之间的相互关系。傅立叶变换提供了有关频率域的信息,但时间方面的局部化信息却基本丢失。与傅立叶变换不同,小波变换通过平移母小波(motherwavelet)可获得信号的时间信息,而通过缩放小波的宽度(或者叫做尺度)可获得信号的频率特性。对母小波的缩放和平移操作是为了计算小波的系数,这些系数代表小波和局部信号之间的相互关系o12:32o11连续小波变换从小波和正弦波的形状可以看出,变化剧烈的信号,用不规则的小波进行分析比用平滑的正弦波更好,即用小波更能描述信号的局部特征。正弦波和小波(a)正弦波曲线;(b)小波曲线o12:32o12o连续小波变换(ContinuousWaveletTransform,CWT)用下式表示:o表示小波变换是信号f(x)与被缩放和平移的小波函数()之积在信号存在的整个期间里求和的结果。CWT的变换结果是许多小波系数C,这些系数是缩放因子(scale)和平移(position)的函数。o12:32o13基本小波函数()的缩放和平移操作含义如下:(1)缩放。简单地讲,缩放就是压缩或伸展基本小波,缩放系数越小,则小波越窄,如图所示。小波的缩放操作o12:32o14(2)平移。简单地讲,平移就是小波的延迟或超前。在数学上,函数f(t)延迟k的表达式为f(t-k),如图所示。小波的平移操作(a)小波函数(t);(b)位移后的小波函数(t-k)o12:32o15oCWT计算主要有如下五个步骤:步骤1:把小波(t)和原始信号f(t)的开始部分进行比较。步骤2:计算系数C。该系数表示该部分信号与小波的近似程度。系数C的值越高表示信号与小波越相似。步骤3:把小波向右移,距离为k,得到的小波函数为(t-k),然后重复步骤1和2;再把小波向右移,得到小波(t-2k),重复步骤1和2。按上述步骤一直进行下去,直到信号f(t)结束。步骤4:扩展小波(t),例如扩展一倍,得到的小波函数为(t/2)。步骤5:重复步骤14。o12:32o16连续小波变换的过程o12:32o17o小波的缩放因子与信号频率之间的关系是:缩放因子scale越小,表示小波越窄,度量的是信号的细节变化,表示信号频率越高;缩放因子scale越大,表示小波越宽,度量的是信号的粗糙程度,表示信号频率越低。o12:32o18o连续小波变换分析(b)三维图(a)二维图o12:32o19离散小波变换为了解决计算量的问题,缩放因子和平移参数都选择2j(j 0的整数)的倍数。使用这样的缩放因子和平移参数的小波变换叫做双尺度小波变换(dyadicwavelettransform),它是离散小波变换(discretewavelettransform,DWT)的一种形式。通常离散小波变换就是指双尺度小波变换。o12:32o20离散小波变换分析图使用离散小波分析得到的小波系数、缩放因子和时间关系如图所示。图(a)是20世纪40年代使用Gabor开发的短时傅立叶变换(shorttimeFouriertransform,STFT)得到的时间-频率关系图图(b)是20世纪80年代使用Morlet开发的小波变换得到的时间-缩放因子(反映频率)关系图。o12:32o21用滤波器执行离散小波变换执行离散小波变换的有效方法是使用滤波器,该方法是Mallat于1988年提出的,称为Mallat算法。这种方法实际上是一种信号分解的方法,在数字信号处理中常称为双通道子带编码。o12:32o22双通道滤波过程用滤波器执行离散小波变换的概念如图所示。S表示原始的输入信号,通过两个互补的滤波器组其中一个滤波器为低通滤波器,通过该滤波器可得到信号的近似值A(Approximations)另一个为高通滤波器,通过该滤波器可得到信号的细节值D(Detail)。o12:32o23在小波分析中,近似值是大的缩放因子计算的系数,表示信号的低频分量,而细节值是小的缩放因子计算的系数,表示信号的高频分量。实际应用中,信号的低频分量往往是最重要的,而高频分量只起一个修饰的作用。如同一个人的声音一样,把高频分量去掉后,听起来声音会发生改变,但还能听出说的是什么内容,但如果把低频分量删除后,就会什么内容也听不出来了。o12:32o24小波分解树离散小波变换可以被表示成由低通滤波器和高通滤波器组成的一棵树。原始信号通过这样的一对滤波器进行的分解叫做一级分解。信号的分解过程可以叠代,也就是说可进行多级分解。如果对信号的高频分量不再分解,而对低频分量连续进行分解,就得到许多分辨率较低的低频分量,形成一棵比较大的树。这种树叫做小波分解树(waveletdecompositiontree)分解级数的多少取决于要被分析的数据和用户的需要。o12:32o25小波分解树(a)信号分解;(b)系数结构;(c)小波分解树o12:32o26如果不仅对信号的低频分量连续进行分解,而且对高频分量也进行连续分解,这样不仅可得到许多分辨率较低的低频分量,而且也可得到许多分辨率较低的高频分量。这样分 解 得 到 的 树 叫 做 小 波 包 分 解 树(wavelet packetdecompositiontree),这种树是一个完整的二进制树。小波包分解方法是小波分解的一般化,可为信号分析提供更丰富和更详细的信息。例如,小波包分解树允许信号S表示为S=A1+AAD3+DAD3+DD2三级小波包分解树o12:32o27小波定义在数学上,小波定义为对给定函数局部化的函数。小波可由一个定义在有限区间的函数(x)来构造,(x)称为母小波(motherwavelet)或者叫做基本小波。一组小波基函数,a,b(x),可通过缩放和平移基本小波(x)来生成,其中,a为进行缩放的缩放参数,反映特定基函数的宽度(或者叫做尺度);b为进行平移的平移参数,指定沿x轴平移的位置。o12:32o28当a=2j 和b=ia 的情况下,一维小波基函数序列定义为其中,i 为平移参数,j 为缩放因子。函数f(x)以小波(x)为基的连续小波变换定义为函数f(x)和a,b(x)的内积,o12:32o29哈尔基函数基函数是一组线性无关的函数,可以用来构造任意给定的信号,例如用基函数的加权和表示。最简单的基函数是哈尔基函数(Haarbasisfunction)。哈尔基函数在1909年提出,它是由一组分段常值函数(piecewise-constantfunction)组成的函数集。这个函数集定义在半开区间0,1)上,每一个分段常值函数的数值在一个小范围里是“1”,其他地方为“0”o12:32o30如果一幅图像仅由20=1个像素组成,这幅图像在整个0,1)区间中就是一个常值函数。用 表示这个常值函数,用V0表示由这个常值函数生成的矢量空间,即它的波形如图所示这个常值函数也叫做框函数(boxfunction),它是构成矢量空间V0的基。o12:32o31如果一幅图像由21=2个像素组成,这幅图像在整个0,1)区间中有两个等间隔的子区间:0,1/2)和1/2,1),每一个区间中各有1个常值函数,分别用 和 表示。用V1表示由2个子区间中的常值函数生成的矢量空间,即它的波形如图所示这2个常值函数就是构成矢量空间V1的基。o12:32o32它的波形如图所示这4个常值函数就是构成矢量空间V2的基。如果一幅图像由22=4个像素组成,这幅图像在整个0,1)区间中有4个等间隔的子区间:0,1/4),1/4,1/2),1/2,3/4)和3/4,1),每一个区间中各有1个常值函数,分别用o和表示。用V2表示由4个子区间中的常值函数生成的矢量空间,即o12:32o33为了表示矢量空间中的矢量,每一个矢量空间Vj 都需要定义一个基(basis)。为生成矢量空间V j 而定义的基函数也叫做尺度函数(scalingfunction),这种函数通常用符号 表示。哈尔基函数定义为哈尔基尺度函数定义为其中,j为尺度因子,改变j使函数图形缩小或者放大;i为平移参数,改变i使函数沿x轴方向平移。空间矢量定义为其中,sp 表示线性生成(linearspan)o12:32o34矢量欧几里德空间(EuclideanSpace)中矢量是有限维的希尔伯特空间(HilbertSpace)中矢量是无限维的,可用函数表达式来表达。哈尔小波函数小波函数通常用 表示。与框函数相对应的小波称为基本哈尔小波函数(Haarwaveletfunctions),并由下式定义:哈尔小波尺度函数 定义为用小波函数构成的矢量空间用 表示其中,sp表示线性生成;j为尺度因子,改变j使函数图形缩小或者放大;i为平移参数,改变i使函数沿x轴方向平移。o12:32o36根据哈尔小波函数的定义,可以写出生成W0,W1和W2等矢量空间的小波函数。生成矢量空间W0的哈尔小波:它的波形如图所示。o12:32o37生成矢量空间W1的哈尔小波:它的波形如图所示。o12:32o38生成矢量空间W2的哈尔小波:它的波形如图所示。o12:32o39函数的规范化在小波变换中,有时要对基函数和小波函数进行规范化(normalization)。在半开区间0,1)中,如果函数的内积则称和是规范化的函数。哈尔基和哈尔小波分别使用下面两个式子进行规范化,其中,常数因子2j/2用来满足标准内积(innerproduct)等于1的条件。o12:32o40哈尔基的结构使用哈尔基函数 和哈尔小波函数 生成的矢量空间V j 和W j 具有下面的性质,其中,符号“”表示直和。这就是说,在矢量空间V j+1中,根据所选择的内积,生成矢量空间W j 的所有函数与生成矢量空间V j 的所有函数都是正交的,即子空间W j 是子空间V j 的正交补(orthogonalcomplement)(1)o12:32o41哈尔小波变换-求有限信号的均值和方差小波变换的基本思想是用一组小波函数或者基函数表示一个函数或者信号,例如图像信号。例例1假设有一幅分辨率只有4个像素p0,p1,p2,p3 的一维图像,对应的像素值或者叫做图像位置的系数分别为:9735,计算它的哈尔小波变换系数。步骤步骤1:求均值(averaging)。计算相邻像素对的平均值,得到一幅分辨率比较低的新图像,新的图像的分辨率是原来的1/2,相应的像素值为:84步骤步骤2:求差值(differencing)。用2个像素表示这幅图像时,图像的信息已经部分丢失,需要存储一些图像的细节系数(detailcoefficient),以便在重构时找回丢失的信息。方法是使用这个像素对的差值除以2(也等于第一个像素值减去均值),存储这个细节系数就可以恢复后2个像素值。原始图像就可以用下面的两个平均值和两个细节系数表示,841-1步骤步骤3:重复第1,2步,把由第一步分解得到的图像进一步分解成分辨率更低的图像和细节系数。在这个例子中,就用一个像素的平均值6和三个细节系数2,1和-1表示整幅图像。621-1o12:32o42分解过程如表所示o12:32o43由此可见,通过上述分解就把由4像素组成的一幅图像用一个平均像素值和三个细节系数表示,这个过程就叫做哈尔小波变换(Haarwavelettransform),也称哈尔小波分解(Haarwaveletdecomposition)。这个概念可以推广到使用其他小波基的变换。在这个例子中我们可以看到,变换过程中没有丢失信息,因为能够从所记录的数据中重构出原始图像。对这个给定的变换,我们可以从所记录的数据中重构出各种分辨率的图像。例如,在分辨率为2i的图像基础上重构出分辨率为2i+1的图像通过变换之后产生的细节系数的幅度值比较小,这就为图像压缩提供了一种途径,例如去掉一些微不足道的细节系数而不影响对重构图像的理解。o12:32o44哈尔小波变换求均值和差值的过程实际上就是一维小波变换的过程,现在用数学方法重新描述小波变换的过程。(1)用用V2中的哈尔基表示中的哈尔基表示图像I(x)9735有2j=22=4像素,因此可以用生成矢量空间V2中的框基函数的线性组合表示,其中的系数是4个正交的像素值9735,因此,o12:32o45用图形可表示为o12:32o46(2)用用V1和和W1中的函数表示中的函数表示根据式(1)有因此,I(x)可表示成其中,系数是分辨率为2时的像素平均值,为细节系数;是V1中的哈尔基函数,是W1中的哈尔小波函数。o12:32o47用图形可把I(x)表示成o12:32o48(3)用用V0,W0和和W1中的函数表示中的函数表示根据式(1)有I(x)可表示成其中,4个系数就是原始图像通过哈尔小波变换所得到的系数,用来表示整幅图像的平均值和不同分辨率下的细节系数。4个函数就是构成V2空间的基。o12:32o49用图形可表示成o12:32o50规范化算法规范化的小波变换与非规范化的小波变换相比,唯一的差别是在规范化的小波变换中需要乘一个规范化的系数。下面用一个例子说明。例例2对函数f(x)=2,5,8,9,7,4,-1,-1作哈尔小波变换。我们把f(x)看成是矢量空间V3中的一个向量,尺度因子j=3,因此最多可分解为3层,如图所示o12:32o51分解过程如下。步骤1:步骤2:步骤3:o12:32o52根据这个例子,我们可以归纳出规范化的哈尔小波变换的一般算法。假设一维阵列C 有h 个元素,h 等于2的幂,执行一维哈尔小波变换的伪代码如下:o12:32o53二维哈尔小波变换二维小波变换举例二维小波变换举例假设有一幅灰度图像,其中的一个图像块用矩阵A表示为:图像矩阵A的灰度图o12:32o54一个图像块是一个二维的数据阵列,进行小波变换时可以对阵列的每一行进行变换,然后对行变换之后的阵列的每一列进行变换,最后对经过变换之后的图像数据阵列进行编码。1.求均值与求差值求均值与求差值在图像块矩阵A中,第一行的像素值为,R0:642361606757步骤1:N0:3332333231-2927-25步骤2:N1:32.532.50.50.531-2927-25步骤3:N1:32.500.50.531-2927-25o12:32o552.图像矩阵的计算图像矩阵的计算使用求均值和求差值的方法,对矩阵的每一行进行计算,得到,其中,每一行的第一个元素是该行像素值的平均值,其余的是这行的细节系数。o12:32o56使用同样的方法,对AR的每一列进行计算,得到,o其中,左上角的元素表示整个图像块的像素值的平均值,其余是该图像块的细节系数。o12:32o57如果从矩阵中去掉表示图像的某些细节系数,事实证明重构的图像质量仍然可以接受。具体做法是设置一个阈值d,例如d=2n,就称系数ci,j是重要的(significant),否则就称系数ci,j是不重要的(insignificant)分集算法把像素集分成许多子集Tm,并且对子集中的系数幅度作如下测试:o根据结果判断该子集是否重要。o12:32o108SPIHT算法定义的编码树如图所示。编码树定义为每个节点要么没有子节点,要么有4个子节点。最低子带的一个系数C00和最高子带的系数都没有子孙。如果ci,j是父节点,它的子节点定义为c2i,2j,c2i+1,2j,c2i,2j+1,c2i+1,2j+1o12:32o109定义了4种坐标集来表示小波系数的类型:O(i,j):所有子结点(i,j)的坐标集D(i,j):所有子孙结点(i,j)的坐标集H(i,j):所有树根的坐标L(i,j)=D(i,j)-O(i,j):除子结点之外的所有子孙结点的坐标集如果说D(i,j)或L(i,j)坐标集是重要的,就意味着这个坐标集中至少有一个系数的幅度大于或等于阈值。列表:LIP(listofInsignificantPixels):不重要像素列表,用于存放单个不重要的系数LIS(listofInsignificantSets):不重要子集列表,用于存放不重要的系数树。LSP(listofSignificantPixels):重要像素列表,用于存放重要系数o12:32o110在LIP和LSP中,坐标(i,j)用来代表单独的系数在LIS列表中,坐标(i,j)用来代表所有子孙节点(i,j)的坐标集D(i,j),或者代表除子结点之外的所有子孙的坐标集L(i,j)。又把坐标集D(i,j)命名为A型树,把坐标集L(i,j)命名为B型树A型树也称D型树:LIS代表坐标集D(i,j),编码时需要检查所有的子孙系数以确定是否重要。B型树也称L型树:LIS代表坐标集L(i,j),编码时需要检查除子系数之外的所有的子孙系数以确定是否重要。o12:32o111SPIHT算法1)计算阈值和初始化。初始化把低通子带中的所有根节点的系数赋给LIP,把所有树(指定为D型树)赋给LIS,把LSP初始化为空集2)检查LIP中的所有系数以确定是否重要如果重要,输出”1”和符号位,然后把该系数移到LSP中如果不重要,输出”0”3)按照树的类型,检查LIS中所有重要的树;对D型树如果该树是重要的,输出”1”,然后对子节点的系数进行编码。如果子节点的系数是重要的,输出”1”和符号位,然后把该系数移人LSP中如果子节点的系数是不重要的,输出”0”,然后把它移人LIP中如果子节点有后裔,就把这棵树移到LIS列表的末端,并作为L型树。如果该树不重要,输出”0”对L型树如果该树是重要的,输出”1”,把每一个子节点移到LIS列表的末端作为D型树,然后把父树从LIS中删除如果该树不重要,输出”0”4)减少阈值,然后返回到(2)o12:32o112一幅4X4图像经过小波变换的两次分解后的系数为01230123创建一棵编码系数树为o12:32o113计算初始阈值T16。初始化:LIP=(0,0),LIS=(0,0)D,LSP=主扫描主扫描1:T=16输出Is(0,0)significant?yes:1LSP=(0,0)1(signbit)IsD(0,0)significant?no:0LIP=,LIS=(0,0)D,LSP=(0,0)3bits辅扫描辅扫描1:没有符号要处理 o12:32o114EBCOT编码简介最佳截断嵌入码块编码EBCOT(EmbeddedBlockCodingwithOptimizedTruncation)EBCOT算法是一种对小波变换产生的子带系数进行量化和编码的方法。它的基本思想是把每一个子带的小波变换系数分成独立编码的码块(code-block),并且对所有的码块使用完全相同的编码算法。o12:32o115如图所示,图(a)表示使用小波变换进行三级分解之后的图像子带,图(b)表示经过这种变换之后各个子带的Lena图像,EBCOT算法的基本出发点就是把每一个图像子带的系数分成独立编码的码块。o12:32o116对每一个码块进行编码时,编码器不用其他码块的任何信息,只是用码块自身的信息产 生单独的嵌入位流(bitstream)。每一码块的嵌入位流可以被截断成长度不等的位流,生成不 同的位速率,这就是EBCOT编码算法中“截断”的含义。每一码块的嵌入位流应该截断到什么程度才符合特定的目标位速率、失真限度或者其他衡量图像质量的指标,也就是在给定一个目标位速率的情况下,使重构图像的失真程度最小,DavidTaubman提出了一种认为是“最佳”的方法来截断每一个独立码块的位流,这就是EBCOT编码算法中“最佳”的含义。o12:32o117EBCOT编码算法要点包括:每一个子边带分割成一个块集 一个子边带中的所有块有相同的大小(在图像边界的块可能例外)块被独立编码 后处理操作确定范围,每个块的位流按照此范围进行截断 最后的位流由“层(layers)”的一个集合组成 在这些操作中,块编码是一个重要步骤。块编码的原因是:利用图像中块到块之间统计上的局部变化 对应用需要随机访问图像提供支持 减少硬件实现压缩或解压缩引擎时的存储器消耗 允许并行实现 o12:32o118概括地说,EBCOT编码的主要想法是把嵌入码块编码方法与码块位流的最佳截断方法 结合在一起,使重构图像的失真最小,它的主要特性包括分辨率可伸缩(resolutionscalability)、信噪比可伸缩(SNRscalability)和随机访问(randomaccess)。o12:32o119EBCOT算法包含两种不同的编码引擎(codingengine)来体现它的性能。这两种编码引擎分别叫做层1编码引擎T1(Tier1)和层2编码引擎(Tier2),如图所示。T1称为低层嵌入码块编码引擎,处理变换图像的小波变换系数,并把截断点放到码块中,生成嵌入的块位流。后者称为层信息和块汇总信息编码引擎,把来自T1的零碎码块放到不同的质量层,形成分层的位流信息,与不同的位速率相对应,并生成实际的压缩位流和文件。o12:32o120其中,分层的位流信息要点如下:每一位流作为连续层组织起来 每一层包含有从每一块来的附加贡献物(有些贡献物可能为空)与每一层关联的块截断点在位率失真意义下被优化 不需要标准化此过程即可以完成位率失真优化 o12:32o121如图给出了EBCOT分层的位流信息示例。此处的层,EBCOT称为“质量层(qualitylayers)”。图像的最终码块位流以质量层的形式组织,每一层都包含每一个码块对图像质量的贡献。为简单起见,图中只画了7个码块的位流,每一个码块的质量层只画了5个质量层,其中某些码块对质量没有贡献的层用“空(empty)”表示。EBCOT的质量层o12:32o122JPEG 2000 简介JPEG2000是由ISO/IECJTC1SC29标准化小组负责制定的新的静态图像编码国际标准,目的是利用当前的压缩技术,提供一种新的图像编码体系。根据专家组确定的目标,新标准不仅能提高对图像的压缩质量,尤其是低码率时的压缩质量,而且还将得到许多新功能,包括根据图像质量,视觉感受和分辨率进行渐进传输,对码流的随机存取和处理,开放结构,向下兼容等。下面是JPEG2000开发过程中的一些重要事件:1996年2月(维也纳)开始原始提案。1996年11月(PaloAlto)测试方法达成协议。1997年3月(Dijon)征求提案。1997年7月(Sapporo)开始需求分析。1997年11月(Sydney)算法竞争和挑选。1998年3月形成VM1版,1998年VM2,然后分为VM3A和VM3B。1998年11月融合成VM4,并于1999年3月成为WD。然后,提升为CD,FCD,FDIS,并形成不同的部分。2000年底,第1部分成为正式标准。o12:32o123JPEG2000与传统 JPEG最大的不同,在于它放弃了 JPEG所采用的以离散余弦变换(DiscreteCosineTransform)为主的区块编码方式,而改用以小波变换(Wavelettransform)为主的多解析编码方式。小波变换的主要目的是要将影像的频率成分抽取出来。JPEG2000的文件采用扩展名.j2k。JPEG2000的基本结构可以参考图o12:32o124JPEG2000有两种编码模式:基于DCT的编码模式:采用现在的基线JPEG;基于小波的编码模式:包括不能还原和能还原的变换。JPEG2000基于DCT的编码模式是为了兼容JPEG,但对算法进行了更新或改进。基于小波的编码模式采用了基于离散小波变换(DWT,digitalwavelettransform)技术,标量量化,上下文建模,算术编码,以及后压缩率配置等新技术。DWT既可以用可逆的LeGall分支滤波器实现,也可用不可逆的Daubechies双正交分支实现,前者供无损编码,后者提供高压缩率,但不支持无损编码。量化器允许嵌入死区标量方法,并与各子带独立。每一个子带划分成若干矩形块,称为JPEG2000的码块。码块的典型规格是64x64,用上下文建模(contextmodeling)和位面(bitplane)算术编码方法进行熵编码。编码的数据采用后置压缩率配置组织成等级层(qualitylayers),输出到数据包形式的码流(code-stream)中。产生的码流是可分析的,并能解析,分层,位置或分量累进,等等。o12:32o125此外,JPEG2000还提供很多功能。其中,很多是算法固有的。例如,因为编码过程对立于码块和码流的数据打包结构,就可能实现随机存取图像数据。再如,也可能编码感兴趣的任意形状的区域(ROI,RegionsofInterest)。错误恢复,抽样交替,等等。o12:32o126JPEG2000有下述优点:(1)JPEG2000作为JPEG升级版,高压缩(低比特速率)是其目标,其压缩率比 JPEG高约 30%左右。(2)JPEG2000能实现渐进传输,这是JPEG2000的一个极其重要的特征。也就是我们对 GIF格式影像常说的“渐现”特性。它先传输图像的轮廓,然后逐步传输数据,不断提高图像质量,让图像由朦胧到清晰显示,而不必是像现在的 JPEG一样,由上到下慢慢显示。(3)JPEG2000支持所谓的“感兴趣区域(ROI,regionofinterest)”特性,你可以任意指定影像上你感兴趣区域的压缩质量,还可以选择指定的部份先解压缩。这样我们就可以很方便的突出重点了。o12:32o127JPEG2000标准是以图像块作为单元进行处理的。这就意味着图像数据在进入编码器之前要对它进行分块。如图所示,左图表示对图像进行分块,右图表示对每一个图像块进行处理,中间的方框表示在对每个图像块进行正向变换之前,图像块分量的所有样本都减去一个相同的量,这叫做直流电平(DC)平移(shifting)。图像分块、直流电平变换和图像块变换o12:32o128图像分块处理时,对图像块的大小没有限制,图像的变换、量化和熵编码等所有的处理都是以图像块为单元。这样做有两个明显的好处,一是可以降低对存储器的要求,二是便于抽出一幅图像中的部分图像。其缺点是图像质量有所下降,但不明显。o12:32o129作业(deadline:10/14-5pm)1写出矢量空间W3的哈尔小波并画出它的波形。2写出44哈尔小波变换矩阵。3什么叫做零树?4解释EZW的含义。5解释SPIHT的含义。o12:32o130谢谢!o12:32o131