Title: The Story of Wavelets Theory and Engineering Applications
1The Story of WaveletsTheory and Engineering
Applications
- Stationary discrete wavelet transform
- Two-dimensional wavelet transform
- 2D-DWT using MATLAB
- Implementation issues
- Image compressing using 2D-DWT
2Stationary Wavelet Transfporm(SWT)
- DWT is not time invariant Not Good !
- What makes DWT time varying? Decimation (down
sampling) - DWT can be made time invariant, however, the
transform must be redundant!!! - Stationary wavelet transform
- ?-decimated DWT
- ?-decimated DWT???
- At any given level you can have two different
DWT, due to choice in discarding even or odd
indexed elements during subsampling - At J levels, you can have N2J different DWTs.
The particular DWT chosen can be denoted by ??1
?2 ?N, ?j1, if odd indexed elements are
chosen, ?j0, if even indexed elements are chosen
3SWT
- SWT is defined as the average of all ?-decimated
DWTs - For 6 level DWT?64 DWTs
- For 10 level DWT ?1024 DWTs
- .
- An efficient algorithm
where
Hj
Hj-1
Gj
Gj-1
Note No subsampling is involved!!!.
4SWT
- Does it work? MATLAB DEMO
5Applications of SWT
- Denoising denoisingdenoising
- MATLAB demo noisy doppler noisy quadchirp
- Interval dependent thresholds
61D-DWT?2D-DWT
- Recall fundamental concepts of 1D-DWT
- Provides time-scale (frequency) representation of
non-stationary signals - Based on multiresolution approximation (MRA)
- Approximate a function at various resolutions
using a scaling function, ?(t) - Keep track of details lost using wavelet
functions, ?(t) - Reconstruct the original signal by adding
approximation and detail coeff. - Implemented by using a series of lowpass and
highpass filters - Lowpass filters are associated with the scaling
function and provide approximation - Highpass filters are associated with the wavelet
function and provide detail lost in approximating
the signal
72-D DWT
- How do we generalize these concepts to 2D?
- 2D functions ?? images f(x,y) ?? Im,n
intensity function - What does it mean to take 2D-DWT of an image? How
do we interpret? - How can we represent an image as a function?
- How do we define low frequency / high frequency
in an image? - How to we compute it?
- Why would we want to take 2D-DWT of an image
anyway? - Compression
- Denoising
- Feature extraction
82D Scaling/Wavelet Functions
- We start by defining a two-dimensional scaling
and wavelet functions - If ?(t) is orthogonal to its own translates,
- is also orthogonal to its own translates.
Then, if fo(x,y) is the projection of f(x,y) on
the space Vo generated by s??(x,y)
92D-DWT
- Just like in 1D we generated an approximation of
the 2D function f(x,y). Now, how do we compute
the detail lost in approximating this function? - Unlike 1D case there will be three functions
representing the details lost - Details lost along the horizontal direction
- Details lost along the vertical direction
- Details lost along the diagonal direction
- 1D ? Two sets of coeff. a(k,n) d (k,n)
- 2D? Four sets of coefficients a(k,n), b(k, n),
c(k, n) d(k,n)
10Four Faces of 2D-DWT
- One level of 2D DWT reconstruction
Approximation coefficients
Detail coefficients along the horizontal
direction
Detail coefficients along the vertical direction
Detail coefficients along the diagonal direction
11Implementation of 2D-DWT
COLUMNS
LL
ROWS
H
2 1
COLUMNS
LH
INPUT IMAGE
COLUMNS
ROWS
HL
G
2 1
ROWS
HH
COLUMNS
INPUT IMAGE
LLH
LH
LL
LH
LL
LHL
LHH
HH
HH
HL
HL
12Up and Down Up and Down
Downsample columns along the rows For each row,
keep the even indexed columns, discard the odd
indexed columns
2 1
Downsample columns along the rows For each
column, keep the even indexed rows, discard the
odd indexed rows
Upsample columns along the rows For each row,
insert zeros at between every other sample
(column)
Upsample rows along the columns For each column,
insert zeros at between every other sample (row)
13Implementing 2D-DWT
Decomposition
ROW i
14Reconstruction
LL
H
H
LH
G
ORIGINAL IMAGE
HL
H
G
G
HH
152-D DWT ON MATLAB
Load Image (must be .mat file)
Choose wavelet type
Hit Analyze
Choose display options