基于小波变换的图像压缩编码研讨.ppt

基于小波变换的图像压缩编码研讨

基于小波变换的图象压缩算法SPIHT的MATLAB实现 姓名:高志斌 学号:200330002 报告日期:2004-4-20 基于小波变换的图像压缩 小波图像压缩是一种重要的图像压缩方法,它具有好的空间分辨率和好的频率分辨率的特性,使变换系数的能量同时在频率上和空间上集中,达到去除像素冗余度的作用。 在MATLAB中可以有多种实现小波变换的方法。本报告使用多级二维离散小波变换来构建小波系数表。用wavedec2及waverec2函数编程,将其cs构建成一个[a,h;v,d]的矩阵,使之变换级数使用形参传递。 小波系数表(越往左上角越低频越重要) 小波系数的压缩编码 算数编码 EZW算法( Embedded zero-tree wavelet algorithm ) Shaprio等人1993年发表,是小波图像压缩史上具有里程碑意义的一个算法。该算法核心是对小波分解后的子带系数定义一种零树结构,这种零树结构基于频率衰减假设,即在同一方向上粗糙尺度子带的系数要比相应位置精细尺度子带的系数大,然后采用连续逼近量化和熵编码生成嵌入式码流。 SPIHT (Set Partitioning in Hierarchical Trees)算法 1996年Amir Said和William Pearlman在EZW算法基础上提出。不同于EZW算法利用零树根(zerotree root)来表示大量不重要小波系数;SPIHT算法采用树分割的方法,力图使不重要系数保持在更大子集中。分割判决用二进制的方式传送给收端,从而提供了比EZW更有效的重要图编码方法。 JPEG2000等 SPIHT不同子带的小波系数首先按空间位置构成许多小波树,所有小波系数组成阵列。除了最低分辨率的子带(左上角的)以外,这些系数是上一级更低子带系数的子孙。与EZW不同的是,SPIHT表示不重要小波系数集合的方式与EZW不同,见下图。 算法的MATLAB实现 大致流程: SPIHT 参考文献:A New,Fast,and Efficient Image Codec Based on Set Partitioning in Hierarchical Trees》Amir Said,William A.Pearlman,IEEE 1996 Initialization: Output Sn; set the LSP as empty list and add the coordinates (i,j) ∈ H to the LIP and only those with descendents also to the LIS, as type A entries. Sorting Pass 2.1 for each entry (i,j) in the LIP do: 2.1.1 Output Sn (i,j) 2.1.2 If Sn (i,j)=1, then move (i,j) to the LSP and output the sign of A(i,j) (这里的A(i,j)指的是小波系数表里对应的值:对A的处理有许多想法:目前我实现的两种spiht算法中有一种是把A”拉”成一条向量;另一种算法把A矩阵的两个坐标使用(实部+J*虚部)来保存) 2.2 for each entry (i,j) in the LIS do: 2.2.1 if the entry is of type D then ? output Sn(D(i,j)) if Sn(D(i,j))=1 then * for each (k,l)∈O(i,j) do: o Output Sn(k,l) If Sn(k,l) =1 then add (k,l) to the LSP and output the sign of A(k,l) If Sn(k,l) =0 then add (k,l) to the end of LIP * If L(i,j) ≠ φ then move (i,j) to the end of the LIS as entry of type L, and go to step 2.2.2; otherwise remove entry from the LIS: 2.2.2 if the entry is of type L then Output Sn(L(i,j)) If Sn(L(i,j))=1 then * add each (k,l)∈O(i,j) to the end of the LIS as entry of type D * remove from the LIS 3.Refinement Pass: For eac

文档评论(0)

1亿VIP精品文档

相关文档