1 内容介绍
为在保持多级树集合分裂(SPIHT)算法编码速度的同时提高其性能,提出一种基于二叉树的改进SPIHT算法.对D型集合分裂得到的4个系数进行二叉树编码,优先编码L型集合的重要性,并以较高的概率提前判断二叉树根节点的重要性,从而提高编码效率.实验结果表明,该算法的执行速度与SPIHT算法相当,且具有较高的峰值信噪比.
随着现代社会越来越大量的信息需要存储和传输,通常 会对这些信息进行压缩。人们不仅希望压缩算法有较高的压 缩比,而且希望算法执行速度快。小波变换具有良好的时频 局部表达能力和多分辨率分析特性,并有快速分解重构算法, 在图像编码领域得到了广泛的应用。嵌入式零树编码算 法[1](Embedded Zerotree Wavelet, EZW)是一种基于小波变换 的图像压缩算法,它通过不同尺度的小波系数在每个比特平 面的空间相似性构造零树,从而用一个零树根成功地预测了 大量非重要系数,取得了比基于离散余弦变换的 JPEG 更好 的 压 缩 效 果 。 多 级 树 集 合 分 裂 (Set Partitioning in Hierarchical Trees, SPIHT)算法[2]对 EZW 算法做了重要改 进,其具有更高的压缩效率、更快的执行速度等优点,是目 前基于零树结构的压缩算法中的较优的算法[3]。SPECK(Set Partitioning Embedded block)算法[4]加快了计算速度并进一步 利用了子带内相连系数块的关系。 为寻找速度快并且压缩效果好的算法,人们进行了很多 研究。文献[5]在小波变换的基础上提出了一种四叉树编码方 案,以较低的复杂度取得了较快的执行速度。文献[6]引入 2 个重要性矩阵,并在扫描时按照分辨率级依次处理系数和 集合,减少了重要性判断时的比较次数。文献[7]提出了一种 基于高频子带自适应扫描的图像编码算法, 通过小波系数的 绝对值大小及所处背景亮度,自适应确定同一高频子带小波 系数的扫描次序,取得了一定的效果。文献[8]利用人眼视觉 特性对小波系数进行加权。 为取得更好的压缩效果,以上文献中几乎所有算法都需 要进行无损压缩(熵编码)以便提高算法效率。然而,进行熵 编码需要很大的计算量。如果在 SPIHT 算法中使用算术编 码,编码时间将会多一倍以上。为在保持 SPIHT 算法速度 的同时改进压缩效果,本文提出一种新的基于 SPIHT 和二叉 树的快速编码算法。该算法与上述文献不同,虽然文献[9]提 出了一种基于提升小波的二叉树图像编码方法,不过此方法 中的二叉树是一种和 SPIHT 的方向树类似的跨尺度的零树结 构,而本文算法中的二叉树则建立在同一尺度的相邻系数上。
2 仿真代码
function code = func_2_code(sig)
% 对2*2小块的(4,3,2,1)个系数的重要性进行二叉树编码
ls = length(sig);
if ls<=2
code = sig;
elseif ls==3
ss = sig(1) + sig(2)*2;
if ss == 0
code = 0;
elseif ss == 1
code = [1,1,0];
elseif ss==2
code = [1,0];
else
code = [1,1,1];
end
code = [code,sig(3)];
else
ss = sig(1) + sig(2)*2;
if ss == 0
code = 0;
elseif ss == 1
code = [1,1,0];
elseif ss==2
code = [1,0];
else
code = [1,1,1];
end
ss = sig(3) + sig(4)*2;
if ss == 0
code = [code, 0];
elseif ss == 1
code = [code, 1,1,0];
elseif ss==2
code = [code, 1,0];
else
code = [code, 1,1,1];
end
end
3 运行结果
4 参考文献
[1]黄可坤. 基于二叉树的改进SPIHT算法[J]. 计算机工程, 2012, 38(15):4.
[1] Shapiro J. Embedded Image Coding Using Zerotrees of Wavelet
Coefficients[J]. IEEE Transactions on Signal Processing, 1993,
41(12): 3445-3462.
[2] Said A, Pearlman W A. A New, Fast, and Efficient Image Codec
Based on Set Partitioning in Hierarchical Trees[J]. IEEE
Transactions on Circuits System Video Technology, 1996, 6(3):
243-250.
[3] Brahimi T, Melit A, Khelifi F. An Improved SPIHT Algorithm for
Lossless Image Coding[J]. Digital Signal Processing, 2009, 19(2):
220-228.
[4] Pearlman W A, Islam A, Nagaraj N, et al. Efficient
Low-complexity Image Coding with a Set-partitioning Embedded
Block Coder[J]. IEEE Transactions on Circuits System Video
Technology, 2004, 14(11): 1219-1235.
[5] Hsiang S T, Woods J W. Embedded Image Coding Using
Zeroblock of Subband/Wavelet Coefficients and Context
Modeling[C]//Proceedings of Data Compression Conference.
Washington D. C., USA: [s. n.], 2001: 83-92.
[6] 宋春林, 冯 瑞, 金 炜. 改进的多分辨率 SPIHT 算法[J].
计算机工程, 2008, 34(4): 241-243.
[7] 王向阳, 杨红颖. 基于高频子带自适应扫描的改进零树图像编
码算法[J]. 计算机研究与发展, 2003, 30(3): 469-475.
[8] 李 玲, 王向阳. 基于视觉敏感特性的小波域图像编码算法研
究[J]. 小型微型计算机系统, 2010, 31(4): 780-783.
博主简介:擅长智能优化算法、神经网络预测、信号处理、元胞自动机、图像处理、路径规划、无人机等多种领域的Matlab仿真,相关matlab代码问题可私信交流。
部分理论引用网络文献,若有侵权联系博主删除。