首页 > 范文大全 > 正文

基于改进SPIHT的医学图像压缩

开篇:润墨网以专业的文秘视角,为您筛选了一篇基于改进SPIHT的医学图像压缩范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

【摘要】为了满足医学数据的存储和传输的需要,在SPIHT算法的基础上,提出了一种基于改进spiht医学图像压缩算法,实现了对医学图像的编码。该算法在减少编码时间的同时,能够得到较高的压缩比,重建图像的峰值信噪比也有明显的提高。选取几幅医学图像进行有效性的验证,试验结果表明:此算法可以更好地保留图像的客观质量,提高了编解码的效率,获得了较好的压缩效果。

【关键词】医学图像压缩;改进SPIHT算法;小波变换;峰值信噪比

1.引言

随着远程医疗系统的逐步成熟和发展,对于数据压缩和通信标准都提出了严格要求。

医学图像压缩的目的在于保留原始医学图像数据中蕴含的真实信息前提下,同时用较少的比特数据来表征医学图像,从而减少医学图像数据的存储空间和远程医疗中的传输时间,最终满足海量医学图像数据有效存储和实时传输的实际应用需求。

小波变换是近年来发展起来的一种新的时频分析方法,它在时域和频域同时具有良好的局部化特征,特别适合对ECG这类非平稳信号进行分析和数据压缩[2]。1993年,J.M.Shapiro利用小波系数之间的自相似性,提出了嵌入式零树编码算法[3](Embedded Zerotree Wavelet,EZW)。EZW有很好的均方误差性能、适中的复杂度和嵌入式位流,引起了压缩研究界的兴趣。1996年,由A.Said和W.A.Pearlman提出的多级树集合分裂算法[4](Set Partitioning in Hierarchical Tree.SPIHT)是对EZW算法的改进,但是具有更高的压缩效率,在相同的比特率下,即使不需要熵编码环节,SPIHT[5]也总能取得优于EZW的量化性能。本文结合小波变换和改进SPIHT算法来实现医学图像的编码,从而达到较优的压缩重建效果。

2.改进的SPIHT算法

对于SPIHT算法,该算法需要不断重复地对小波系数进行扫描,与其阈值进行比较,才能找到重要的系数,从而提高了访问内存的次数,增加了内存的负荷;同时在进行LSP,LIP分类扫描时,对D型态和L型态进行编码时,存在着对部分重要小波系数进行冗余编码的情况,大大降低了编解码的效率。改进的SPIHT算法可以有效解决这些问题。

2.1 调整小波系数的大小顺序

将小波系数由大到小进行排序,将排序好的小波系数矩阵存放到一维数组A当中,并且把相对应的小波系数的坐标存放到一维数组B当中,这样的调整使得排序的次数大大减少,从而在进行编码解码时,减少了对小波系数的扫描次数和内存的访问次数,提高编解码效率。

2.2 改变集合分布关系

SPIHT算法采用的各集合关系为:

(1)

式中,表示结点和所有后代的坐标集合;表示结点的所有后代的坐标集合;表示结点的直接后代的坐标集合;表示结点除直接后代以外所有后代的坐标集合。

由于同一个高频上的第一个分量和其他三个分量存在着很强的相关性,所以在SPIHT算法中,在判定编码是否有效时,可以只对无效集合的第一个分量进行判定,如果其值小于阈值,则此集合判定为无效,这样能减少对无效集合扫描的次数,但也有可能导致误判,最终影响图像的重构效果。改进的SPIHT算法对初始节点后续N代内子孙进行全扫描,而对N代后的子孙只对第1分量进行扫描,(N的取值是由小波系数的能量分布决定的,能量越集中,N值越小),这样能够平衡编码的性能,从而提高编码的效率。

改进SPIHT算法的各集合关系为:

(2)

式中,表示结点的N代以内子孙的集合;表示结点的N代以外子孙的集合;表示子带第1分量上N代以外子孙的集合;表示子带第2,3,4分量上N代以外子孙的集合。

2.3 一维数组存放小波系数

在编码过程中,SPIHT使用了三个链表:不重要系数表LIP(the list of insignifi-cant pixels),重要系数表LSP(the list of significant pixels),和不重要集合表LIS(the list of insignificant sets)。这三个表与四叉树相对应,当链表过长时,所需内存会增大,这样会使得编解码速率大大降低。

改进的SPIHT算法采用一维数组来存放已排序好的小波系数,在扫描小波系数时,小于阈值的小波系数不加以考虑,提高了编解码的速率。

2.4 消除部分重要小波系数的冗余编码

消除冗余编码的流程图如图1所示。

从图1可知:在改进的SPIHT算法中,当判断4个O(a,b)和前三个D(a,b)都不重要时,则不需对L(i,j)和最后一个D(a,b)扫描,就能判断出它的重要性。而在SPIHT算法中,则必须对其进行扫描,这样就会产生编码的冗余。

2.5 小波系数的重要性判断及解码

改进SPIHT算法中系数的重要性判断函数如下:

(3)

式中,表示所输出的编码码字;表示坐标为的小波系数;表示所设定的阈值;Sx是位平面的码字。其构成的依据是同一小波系数在两个相邻的位平面上不一定都是重要的。进行解码时所依据的公式如下:

(4)

式中,n表示小波系数的第n级子代;a表示最高级的位平面;b表示渐进传输结束位平面。

3.实验结果及讨论

本文采用10幅512×512×8的医学图像进行测试,并使用标准的512×512×8的Lena图像进行对比说明,选用int9/7滤波器作为小波,该小波滤波器具有线性相位,且长度较短,计算速度快,适合医学图像的压缩。使用SPIHT算法和改进的SPIHT算法,进行5级小波分解,整个过程全部在Microsoft visual studio 2008平台上实现。实验结果如图2和表1所示。

从表一所示仿真实验数据可以看出,改进SPIHT算法的重建图像压缩效果较为明显,在相同的压缩比下,改进SPIHT算法所得的PSNR值要优于SPIHT算法,也就是说改进SPIHT算法能更好的保留重建图像的客观质量。由图2所示的三个图像对比中也可以直观看出图像重建的效果,定量地体现了改进算法的优越性,更加进一步说明了改进算法在提高编解码效率的同时,也能保证图像的客观质量。

4.结论

改进SPIHT算法主要通过对小波系数进行排序,再消除部分重要系数编码冗余,最后调整扫描集合分割的策略来对SPIHT算法进行改进。相比传统算法,本文设计的基于小波分解和改进SPIHT算法编码方案可以明显地提高重建图像的峰值信噪比,能保证医学图像的重建质量,满足医学数据存储和传输的需要。今后将继续研究如何利用提升小波变换和改进SPIHT算法来进行医学图像压缩,并且利用CUDA并行处理技术对压缩算法进行优化。

参考文献

[1]孙延奎.小波分析及其应用[M].北京:机械工业出版社,2005.

[2]周炯磐,丁晓明,编著.信源编码原理[M].人民邮电出版社,1996.

[3]Shapiro J M.Embedded image coding using zerotrees of wavelet coefficients[J].IEEE Trans on Signal Processing,1993,41(12):3445-3462.

[4]Amir Said.William A Pearlman.A new,fast and efficient image codec based on set portioning in hierarchical trees[J].IEEE Trans cstv,1996,6(3):243-249.

[5]姜会亮,胡学龙,郭振民等.整数(5,3)小波变换结合SPIHT的无损图像压缩[J].计算机工程与应用,2005, 41(14):69-70.

作者简介:张伟(1988—),男,内蒙古包头人,长江大学电子与通信工程专业在读硕士研究生,研究方向:数字信号处理。