Transcript Chapter 4

Chapter 7
Wavelets and Multi-resolution
Processing
Background
Image Pyramids
Total number of elements in a P+1 level pyramid for P>0 is
1 1
1
4 2
N (1   2  ...  P )  N
4 4
4
3
2
Example
Subband Coding
An image is decomposed into a set of band-limited
components, called subbands, which can be
reassembled to reconstruct the original image without
error.
Z-Transform
The Z-transform of sequence x(n) for n=0,1,2

is:
n
X ( z) 
 x(n) z
n  
Down-sampling by a factor of 2:
1
x ( n )  x ( 2n )  X ( z )  X ( z )  X (  z )
2
1/ 2
down
1/ 2
down
Up-sampling by a factor of 2:
 x(n / 2), n  0,2,4...
x (n)  
 X up ( z )  X ( z 2 )
otherwise
0
up
Z-Transform (cont’d)
If the sequence x(n) is down-sampled
and then up-sampled to yield x^(n),
then:
1
ˆ
X ( z )  X ( z )  X (  z )
2
From Figure 7.4(a), we have:
1
Xˆ ( z )  G0 ( z )H 0 ( z ) X ( z )  H 0 (  z ) X (  z )
2
1
 G1 ( z )H1 ( z ) X ( z )  H1 (  z ) X (  z )
2
1
Xˆ ( z )  H 0 ( z )G0 ( z )  H1 ( z )G1 ( z )X ( z )
2
1
 H 0 (  z )G0 ( z )  H1 (  z )G1 ( z )X (  z )
2
Error-Free Reconstruction
H 0 ( z )G0 ( z )  H1 ( z )G1 ( z )  0
H 0 ( z )G0 ( z )  H1 ( z )G1 ( z )  2
•
Matrix expression
[G0 ( z) G1( z)]Hm ( z)  [2 0]
•
Analysis modulation matrix Hm(z):
 H 0 ( z ) H 0 (  z )
Hm ( z )  

H
(
z
)
H
(

z
)
1
 1

 H1 (  z ) 
G0 ( z )
2

 G ( z )  det(H ( z ))  H (  z )
0
 1 


m
FIR Filters
• For finite impulse response (FIR) filters, the
determinate of Hm is a pure delay, i.e.,
det(Hm ( z))  az ( 2k 1)
• Let a=2
• Let a=-2
g 0 ( n )  ( 1) n h1 ( n )
g1 ( n )  ( 1) n 1 h0 ( n )
g 0 ( n )  ( 1) n 1 h1 ( n )
g1 ( n )  ( 1) n h0 ( n )
Bi-orthogonality
Let P(z) be defined as:
2
P( z )  G0 ( z ) H 0 ( z ) 
H 0 ( z ) H1 (  z )
det(Hm ( z ))
2
G1 ( z ) H1 ( z ) 
H 0 (  z ) H1 ( z )  P(  z )
det(Hm ( z ))
Thus, G0 ( z)H0 ( z)  G0 ( z)H0 ( z)  2
Taking inverse z-transform:
 g (k )h (n  k )  (1)  g (k )h (n  k )  2 (n)
n
0
0
0
k
Or,
0
k
 g (k )h (2n  k ) 
0
k
0
g0 (k ), h0 (2n  k )   (n)
Bi-orthogonality (Cont’d)
It can be shown that:
g1(k ), h1(2n  k )   (n)
g0 (k ), h1(2n  k )  0
g1(k ), h0 (2n  k )  0
Or, hi (2n  k ), g j (k )   (i  j ) (n ), i, j  {0,1}
Examples: Table 7.1
Table 7.1
2-D Case
Daubechies Orthonormal Filters
Example 7.2
The Haar Transform
Oldest and simplest known orthonormal
wavelets.
T=HFH where
F: NXN image matrix,
H: NxN transformation matrix.
Haar basis functions hk(z) are defined over
the continuous, closed interval [0,1] for
k=0,1,..N-1 where N=2n.
Haar Basis Functions
k  2 p  q  1 where0  p  n  1,
q  0 or 1 for p  0,1  q  2 p for p  0
h0 ( z )  h00 ( z ) 
1
, z  [0,1]
N
2 p / 2 ( q  1) / 2 p  z  ( q  0.5) / 2 p
1  p/2
hk ( z )  h pq ( z ) 
( q  0.5) / 2 p  z  q / 2 p
 2
N 
otherwise,z  [0,1]
0
Example
Multiresolution Expansions
Multiresolution analysis (MRA)
A scaling function is used to create a
series of approximations of a function
or image, each differing by a factor of 2.
Additional functions, called wavelets,
are used to encode the difference in
information between adjacent
approximations.
Series Expansions
A signal f(x) can be expressed as a linear
combination of expansion functions:
f ( x) 
a  ( x)
k
k
k
Case 1: orthonormal basis:  j ( x),k ( x)   jk
Case 2: orthogonal basis:  j ( x),k ( x)  0 j  k
2
2
2
A
f
(
x
)


(
x
),
f
(
x
)

B
f
(
x
)
Case 3: frame:
 k
k
Scaling Functions
Consider the set of expansion functions
composed of integer translations and
binary scaling of the real, square-integrable
function, (x),i.e.,
 j,k ( x)  2 j / 2 (2 j x  k )
By choosing  wisely, {j,k(x)} can be made
to span L2(R)
Haar Scaling Function
MRA Requirements
Requirement 1: The scaling function is
orthogonal to its integer translates.
Requirement 2:The subspaces spanned by
the scaling function at low scales are nested
within those spanned at higher resolutions.
Requirement 3:The only function that is
common to all Vj is f(x)=0
Requirement 4: Any function can be
represented with arbitrary precision.
Wavelet Functions
Wavelet Functions
A wavelet function, y(x), together with its
integer translates and binary scalings,
spans the difference between any two
adjacent scaling subspace, Vj and Vj+1.
y j ,k ( x )  2 y ( 2 x  k )
j/2
y ( x) 
 h (n)
y
n
2 (2 x  n)
j
hy (n)  (1)n h (1  n)
Haar Wavelet Functions
Wavelet Series Expansion
f ( x) 
c
j0
(k ) j0 ,k ( x ) 
k
c j0 ( k ) 
d j (k ) 


d (k )y
j
j  j0
k
f ( x ) j0 ,k ( x )dx
 f ( x)y
j ,k
( x )dx
j ,k
( x)
Harr Wavelet Series Expansion of y=x2
Discrete Wavelet Transform
W ( j0 , k ) 
f ( x )

M
1
j0 ,k
( x)
x
Wy ( j, k ) 
f ( x )y

M
1
j ,k
( x)
x
f ( x) 
W ( j , k )

M
1

k
0
j0 ,k
( x) 

W ( j, k )y

M
1
y
j  j0
k
j ,k
( x)
The Continuous Wavelet Transform
Wy ( s, ) 
1
f ( x) 
Cy



f ( x)y s , ( x)dx
 

Wy ( s, )
0 
y s , ( x )
s2
dds
x 
y s, ( x)  y (
)
s
s
1
Cy 



(u )
u
2
du
Misc. Topics
The Fast Wavelet Transform
Wavelet Transform in Two Dimensions
Wavelet Packets