【图像处理】基于二叉树的改进SPIHT算法matlab代码

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代码问题可私信交流。

部分理论引用网络文献,若有侵权联系博主删除。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

matlab科研助手

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值