No BSD License  

Highlights from
2-D lifting wavelet transform

3.25

3.2 | 4 ratings Rate this file 29 Downloads (last 30 days) File Size: 6.04 KB File ID: #11895

2-D lifting wavelet transform

by Wang Tianhui

 

05 Aug 2006 (Updated 08 Aug 2006)

Self-contained 2-D image decomposition and reconstruction based on lifting wavelet algorithm

| Watch this File

File Information
Description

WAVELIFT: Multi-level discrete two-dimension wavelet transform based on lifting method.

 c = wavelift(x, nlevel, wname) performs the follows according to the
 value of nlevel:
   nlevel > 0: decomposes 2-dimension matrix x up to nlevel level;
   nlevel < 0: does the inverse transform to nlevel level;
   nlevel = 0: sets c equal to x;

 wname is name of wavelet used for DWT or IDWT. It can be omitted.
 If so, WAVELIFT use the default Cohen-Daubechies-Feauveau (CDF) 9/7
 wavelet, which is the name 'cdf97'.Currently, WAVELIFT only support two kind of wavelets, i.e. cdf97 and spline 5/3 with the name 'spl53'.
 However, aided with the organized lifting structure illustrated below, it is adaptive to other specific lifting realizations. The only thing needed in most cases is only to modify the structure L and the mode to indicate lossy or lossless compression.

 WAVELIFT call another function COLWAVELIFT to perform 1-D FWT based on lifting method. Deliberately organized lifting structure is provided to COLWAVELIFT as a major parameter.
   
 The lifting structure is organized as follows:
 L: 1-by-1 structure with two fields lamdaz and K.
   K is two-element vector [K0, K1], which is the lifting gains.
   lamdaz is 1-by-M structure if M lifting units are used.
     lamdaz's two fields coeff and zorder denote the transfer function
     of every lifting units lamda(Z)
   e.g. for a wavelet transform with 3 lifting units as
     lamda1 = a1+a2*z, lamda2 = b1+b2*z^-1, lamda3 = c1*z^(-1)+c2*z
     and the lifting gains K0 and K1
   L is to be organized as
     lamdaz = struct('coeff', {[a1, a2], [b1, b2], [c1, c2], ...
                    'zorder', {[ 0, 1], [ 0, -1], [-1, 1 ]} );
     L = struct('lamdaz', lamdaz, 'K', [K0, K1]);

 You can test WAVELIFT with following lines:
   x=imread('E:\study\jpeg2000\images\lena.tif');
   % see the decomposition coefficients
   y=wavelift(x, 1, 'spl53'); using lossless spline 5/3 wavelet
   figure; subplot(1,2,1); imshow(x); subplot(1,2,2); imshow(mat2gray(y))
   % see the reconstruction precision
   yy=wavelift(x, 5); using lossy cdf 9/7 wavelet
   ix=wavelift(yy, -5); inverse
   sum(sum((double(x)-ix).^2))
 
 Reference:
   [1] D.S.Taubman et al., JPEC2000 Image Compression: F. S. & P.,
       Chinese Edition, section 6.4, 6.5, 10.3 and 10.4
   [2] Pascal Getreuer, waveletcdf97.m from Matlab file Exchange website

 Cantact information:
   Email/MSN messenger: wangthth@hotmail.com

 Tianhui Wang at Beijing, China, Aug 5, 2006
                  Last Revision: Aug 6, 2006

MATLAB release MATLAB 7.2 (R2006a)
Tags for This File  
Everyone's Tags
Tags I've Applied
Add New Tags Please login to tag files.
Comments and Ratings (5)
08 Aug 2006 windy li

I use the spl53 , the wavelet cofficients is float but integer,why?

05 Apr 2007 Khalil Yonis

The spl53 (lossless) transform is resulting in fraction coefficients. Shouldn?t it result only in integer coefficients to avoid quantizing and achieve the lossless state when used in compression?

08 Nov 2007 surichai fakpia  
09 May 2008 athira sg

need more explanation about codings in matlab programming

29 Jul 2009 Dakala Jayachandra

This code is very well written. Easily extendable to other Lifting structures. Thanks for posting.
But, the "Symmetric extension" is not proper. In every stage of lifting "Symmetric extension" has to be repeated, other wise "Symmetric extension" on Synthesis side will not be same as at the Analysis side, exact reconstruction will not be possible. U can check this with the following simple Lamdas:
lamda1 = a1+a2*z^-1,
lamda2 = b1+b2*z.
Thanks once again.
D.Jayachandra

Please login to add a comment or rating.
Updates
08 Aug 2006

added in the COLWAVELIFT.m the nonlinear approximate liting mode for lossless compression

Tag Activity for this File
Tag Applied By Date/Time
time frequency Wang Tianhui 22 Oct 2008 08:34:31
wavelets Wang Tianhui 22 Oct 2008 08:34:31
bior44 Cristina McIntire 23 Feb 2009 15:27:01
spline 53 Cristina McIntire 23 Feb 2009 15:27:01
cdf 97 Cristina McIntire 23 Feb 2009 15:27:01
jpeg2000 Cristina McIntire 23 Feb 2009 15:27:01
wavelet Cristina McIntire 23 Feb 2009 15:27:01
lifting Cristina McIntire 23 Feb 2009 15:27:01
bior22 Cristina McIntire 23 Feb 2009 15:27:01
lifting Dakala Jayachandra 29 Jul 2009 04:38:46

Contact us at files@mathworks.com