1 简介 多级树集合分裂(Set Partitioningin Hierarchi⁃cal Trees,SPIHT)算法相比嵌入式零树小波(Em⁃bedded Zero Wavelet,EZW)和优化截取内嵌码块编码(Embedded Block Coding with Optimized Trunca⁃tion,
1 简介
多级树集合分裂(Set Partitioning in Hierarchi⁃cal Trees,SPIHT)算法相比嵌入式零树小波(Em⁃bedded Zero Wavelet,EZW)和优化截取内嵌码块编码(Embedded Block Coding with Optimized Trunca⁃tion,EBCOT)节省了大量硬件资源和内存单元,具有很好的渐进传输特性。另外,SPIHT算法的复杂度较低,峰值信噪比较高,是 FPGA 系统实现医学图像编码压缩的较好选择。
编辑
编辑
2 部分代码
function [app_sig,det_sig] = fldwt9_7(input_signal)% Function
% [app_sig,det_sig] = fldwt9_7(input_signal)
%
% The forward lifting discrete wavelet transform (FLDWT) using the 9-7 Antonini filters
[x,y] = size(input_signal);
if x ~=1
input_signal = input_signal'; %%making it a row vector
end
alp = -1.586134342;
bet = -0.05298011854;
gam = 0.8829110762;
delt = 0.4435068522;
psi = 1.149604398;
%%%we deem the number of the vector is even
s0 = input_signal(1:2:length(input_signal)); %%信号的奇数 %%对信号进行奇偶分裂
d0 = input_signal(2:2:length(input_signal)); %%信号的偶数
tt = length(s0);
s0 = [s0 s0(tt-1)]; %将s0倒数第二个数复制到末尾,变为257个元素
d0 = d0 + alp*(s0(1:length(s0)-1) + s0(2:length(s0))); %%%对d0256个数进行了变化
s0 = s0(1:tt); %%恢复没增加前的s0,即变为256个元素
d0 = [d0(1) d0]; %%将d0的第一个元素复制一次,放在第一个元素位置,将其它元素顺延
s0 = s0 + bet*(d0(2:length(d0)) + d0(1:length(d0)-1));
d0 = d0(2:tt+1);%%将d0变为256个元素
s0 = [s0 s0(tt-1)];
d0 = d0 + gam*(s0(1:length(s0)-1) + s0(2:length(s0)));
s0 = s0(1:tt);
d0 = [d0(1) d0];
s0 = s0 + delt*(d0(2:length(d0)) + d0(1:length(d0)-1));
d0 = d0(2:tt+1);
app_sig = psi*s0;
det_sig = (1/psi)*d0;
if x~=1
app_sig = app_sig';
det_sig = det_sig';
end
3 仿真结果
编辑
4 参考文献
[1]赵米旸, 陈卫东, 卢晓燕. 基于SPIHT的改进图像压缩算法[J]. 应用光学, 2007, 28(4):5.
博主简介:擅长智能优化算法、神经网络预测、信号处理、元胞自动机、图像处理、路径规划、无人机等多种领域的Matlab仿真,相关matlab代码问题可私信交流。
部分理论引用网络文献,若有侵权联系博主删除。