Transforms 1
Transforms 1
Sinusoidal transforms
Non-sinusoidal transforms
Wavelet Transform
Image Transforms
EE 604
Govind Sharma
26/2/2019
G. Sharma Transforms
Separable and Unitary Transforms
Sinusoidal transforms
Non-sinusoidal transforms
Wavelet Transform
Outline
Sinusoidal transforms
Non-sinusoidal transforms
Wavelet Transform
G. Sharma Transforms
Separable and Unitary Transforms
Sinusoidal transforms
Non-sinusoidal transforms
Wavelet Transform
Image Transforms
G. Sharma Transforms
Separable and Unitary Transforms
Sinusoidal transforms
Non-sinusoidal transforms
Wavelet Transform
1 M−1
X N−1 um vn
f [m, n] |e −j2π({zM + N })
X
F [u, v ] = √
MN m=0 n=0 kernel
1 M−1
X N−1
X um
+ vn
f [m, n] = √ F [u, v ] |e j2π({z
M N
)
MN u=0 v =0 kernel
}
G. Sharma Transforms
Separable and Unitary Transforms
Sinusoidal transforms
Non-sinusoidal transforms
Wavelet Transform
G. Sharma Transforms
Separable and Unitary Transforms
Sinusoidal transforms
Non-sinusoidal transforms
Wavelet Transform
Separable Kernel
G. Sharma Transforms
Separable and Unitary Transforms
Sinusoidal transforms
Non-sinusoidal transforms
Wavelet Transform
Unitary Transform
Transform is unitary if
M−1
P N−1
A[m, n; u, v ]A∗ [m, n; u 0 , v 0 ] = δ[u − u 0 , v − v 0 ]
P
m=0 n=0
M−1
P N−1
B[m, n; u, v ]B ∗ [m, n; u 0 , v 0 ] = δ[u − u 0 , v − v 0 ]
P
m=0 n=0
M−1
P N−1
A[m, n; u, v ]A∗ [m0 , n0 ; u, v ] = δ[m − m0 , n − n0 ]
P
u=0 v =0
M−1
P N−1
B[m, n; u, v ]B ∗ [m0 , n0 ; u, v ] = δ[m − m0 , n − n0 ]
P
u=0 v =0
G. Sharma Transforms
Separable and Unitary Transforms
Sinusoidal transforms
Non-sinusoidal transforms
Wavelet Transform
Notation
f = matrix with f [m, n] as elements
F = matrix with F [u, v ] as elements
f = columns of f stacked togather
F = columns of F stacked togather
G. Sharma Transforms
Separable and Unitary Transforms
Sinusoidal transforms
Non-sinusoidal transforms
Wavelet Transform
F = Af
f = BF
AH A = I = AAH or B H B = I = BB H
G. Sharma Transforms
Separable and Unitary Transforms
Sinusoidal transforms
Non-sinusoidal transforms
Wavelet Transform
b11 A · · · b1q A
A⊗B =
.. . . ..
. . .
bp1 A · · · bpq A
A = AC ⊗ AR
B = BC ⊗ BR
G. Sharma Transforms
Separable and Unitary Transforms
Sinusoidal transforms
Non-sinusoidal transforms
Wavelet Transform
F = AC fAT
R
and
f = BC FBRT
where BC = A−1 −1
C and BR = AR .
G. Sharma Transforms
Separable and Unitary Transforms
Sinusoidal transforms
Non-sinusoidal transforms
Wavelet Transform
G. Sharma Transforms
Separable and Unitary Transforms
Sinusoidal transforms
Non-sinusoidal transforms
Wavelet Transform
kf k = kF k
G. Sharma Transforms
Separable and Unitary Transforms
Sinusoidal transforms
Non-sinusoidal transforms
Wavelet Transform
Cosine transform
2 N−1
X N−1 π 1 π
X
f [m, n] = C [u]C [v ]F [u, v ]cos u (m + cos v (n
N m=0 n=0 N 2 N
√
where C [0] = 1/ 2 and C [m] = 1, m 6= 0.
G. Sharma Transforms
Separable and Unitary Transforms
Sinusoidal transforms
Non-sinusoidal transforms
Wavelet Transform
G. Sharma Transforms
Separable and Unitary Transforms
Sinusoidal transforms
Non-sinusoidal transforms
Wavelet Transform
1 − α −α
−α 1 −α 0
.. .. ..
. . .
0
−α 1 −α
−α 1 − α
G. Sharma Transforms
Separable and Unitary Transforms
Sinusoidal transforms
Non-sinusoidal transforms
Wavelet Transform
G. Sharma Transforms
Separable and Unitary Transforms
Sinusoidal transforms
Non-sinusoidal transforms
Wavelet Transform
Sine Transform
G. Sharma Transforms
Separable and Unitary Transforms
Sinusoidal transforms
Non-sinusoidal transforms
Wavelet Transform
−α
1 −α 0
.. .. ..
. . .
0
−α 1 −α
−α 1
G. Sharma Transforms
Separable and Unitary Transforms
Sinusoidal transforms
Non-sinusoidal transforms
Wavelet Transform
Hartley Transform
G. Sharma Transforms
Separable and Unitary Transforms
Sinusoidal transforms
Non-sinusoidal transforms
Wavelet Transform
G. Sharma Transforms
Separable and Unitary Transforms
Sinusoidal transforms
Non-sinusoidal transforms
Wavelet Transform
G. Sharma Transforms
Separable and Unitary Transforms
Sinusoidal transforms
Non-sinusoidal transforms
Wavelet Transform
Hadamard Transform
The elements of the basis vectors for Hdamard transform take only
±1 so no multiplication is required. This is defined easily for
N = 2m , although can be defined for some multiples of 4 also.
Hadamard matrices are defined below:
" #
1 1 1
H2 = √
2 1 −1
For larger values of N, we define recursively as
" #
1 HN HN
H2N = HN ⊗ H2 = √
2 HN −HN
Using the notation defined earlier f for image matrix and F for
transform coefficient, for a N × N image the Hadamard transform
is given by
F = HN fHNT
G. Sharma Transforms
Separable and Unitary Transforms
Sinusoidal transforms
Non-sinusoidal transforms
Wavelet Transform
G. Sharma Transforms
Separable and Unitary Transforms
Sinusoidal transforms
Non-sinusoidal transforms
Wavelet Transform
Haar Transform
The Haar transform can be calculated recursively using the
following matrices: " #
VN
H̃N =
WN
where VN is a N/2 × N scaling (approximation) matrix and WN is
a N/2 × N wavelet (detail) matrix given below:
1 1 0 0 0 ··· 0 0 0 0
0 0 1 1 0 · · · 0 0 0 0
1 ..
VN = √ .
2
0 0 0 0 0 · · · 1 1 0 0
0 0 0 0 0 ··· 0 0 1 1
G. Sharma Transforms
Separable and Unitary Transforms
Sinusoidal transforms
Non-sinusoidal transforms
Wavelet Transform
Haar Transform
1 −1 0 0 0 ··· 0 0 0 0
0
0 1 −1 0 · · · 0 0 0 0
1 ..
WN = √ .
2
0 0 0 0 0 · · · 1 −1 0 0
0 0 0 0 0 ··· 0 0 1 −1
G. Sharma Transforms
Separable and Unitary Transforms
Sinusoidal transforms
Non-sinusoidal transforms
Wavelet Transform
Haar Transform
f 1 = H̃N f = [a1 |d 1 ]T
G. Sharma Transforms
Separable and Unitary Transforms
Sinusoidal transforms
Non-sinusoidal transforms
Wavelet Transform
G. Sharma Transforms
Separable and Unitary Transforms
Sinusoidal transforms
Non-sinusoidal transforms
Wavelet Transform
f J = [aJ |d J |d J−1 | · · · |d 1 ]T
G. Sharma Transforms
Separable and Unitary Transforms
Sinusoidal transforms
Non-sinusoidal transforms
Wavelet Transform
Daubechies Transform
α1 α2 α3 α4 0 0 · · · 0 0 0 0
0
0 α1 α2 α3 α4 · · · 0 0 0 0
VN = ..
.
0 0 0 0 0 0 · · · α1 α2 α3 α4
α 1 α 2 0 0 0 0 ··· 0 0 α3 α4
β1 β2 β3 β4 0 0 · · · 0 0 0 0
0
0 β1 β2 β3 β4 · · · 0 0 0 0
WN = ..
.
0 0 0 0 0 0 ··· β1 β2 β3 β4
β1 β2 0 0 0 0 ··· 0 0 β3 β4
√ √ √
1+√ 3 3+√ 3 3−√ 3
where α1 = −β4 = 4 2
, α2 = β3 = 4 2
,, α3 = −β2 = 4 2
,
√
1−√ 3
α4 = β1 = 4 2
G. Sharma Transforms
Separable and Unitary Transforms
Sinusoidal transforms
Non-sinusoidal transforms
Wavelet Transform
Sub-band coding
G. Sharma Transforms
Separable and Unitary Transforms
Sinusoidal transforms
Non-sinusoidal transforms
Wavelet Transform
Sub-band coding
h0 [n] ↓2 xLP [n]
G. Sharma Transforms
Separable and Unitary Transforms
Sinusoidal transforms
Non-sinusoidal transforms
Wavelet Transform
Sub-band coding
|H0 (e jω )| |H1 (e jω )|
ω
0 π/2 π
For perfect reconstruction(x [n] = x̂ [n]) we have
( (
g0 [n] = (−1)n h1 [n] g0 [n] = (−1)n+1 h1 [n]
or
g1 [n] = (−1)n+1 h0 [n] g1 [n] = (−1)n h0 [n]
G. Sharma Transforms
Separable and Unitary Transforms
Sinusoidal transforms
Non-sinusoidal transforms
Wavelet Transform
Sub-band coding
G. Sharma Transforms
Separable and Unitary Transforms
Sinusoidal transforms
Non-sinusoidal transforms
Wavelet Transform
G. Sharma Transforms
Separable and Unitary Transforms
Sinusoidal transforms
Non-sinusoidal transforms
Wavelet Transform
+∞
Z
αk = hf (x ), φ̃k (x )i = f (x )φ̃k (x )dx
−∞
G. Sharma Transforms
Separable and Unitary Transforms
Sinusoidal transforms
Non-sinusoidal transforms
Wavelet Transform
G. Sharma Transforms
Separable and Unitary Transforms
Sinusoidal transforms
Non-sinusoidal transforms
Wavelet Transform
G. Sharma Transforms
Separable and Unitary Transforms
Sinusoidal transforms
Non-sinusoidal transforms
Wavelet Transform
Requirements of MRA
(a) Ortogonal Translation: Integer translates of scaling functions
are mutually orthonormal, i.e.
hφ(x − k), φ(x − m)i = δ[k − m].
(b) Nesting property: f (x ) ∈ Vj ⇒ f (2x ) ∈ Vj+1 and
V−∞ ⊂ · · · V−1 ⊂ V0 ⊂ V1 ⊂ · · · ⊂ V∞
G. Sharma Transforms
Separable and Unitary Transforms
Sinusoidal transforms
Non-sinusoidal transforms
Wavelet Transform
Let (
1 06x <1
φ(x ) =
0 otherwise
satisfies all the requirements of MRA. There are many scale
functions with finite and infinite support that satisfy MRA
requirements.
G. Sharma Transforms
Separable and Unitary Transforms
Sinusoidal transforms
Non-sinusoidal transforms
Wavelet Transform
V2
V1
V0
G. Sharma Transforms
Separable and Unitary Transforms
Sinusoidal transforms
Non-sinusoidal transforms
Wavelet Transform
VJ = VJ−1 ⊕ WJ−1
= VJ−2 ⊕ WJ−2 ⊕ WJ−1
= V0 ⊕ W0 ⊕ · · · ⊕ WJ−2 ⊕ WJ−1
Similarly
L2 (R) = V0 ⊕ W0 ⊕ W1 ⊕ · · ·
= VJ ⊕ WJ ⊕ WJ+1 ⊕ · · ·
= · · · W−1 ⊕ W0 ⊕ W1 ⊕ · · ·
G. Sharma Transforms
Separable and Unitary Transforms
Sinusoidal transforms
Non-sinusoidal transforms
Wavelet Transform
Wavelet series
G. Sharma Transforms
Separable and Unitary Transforms
Sinusoidal transforms
Non-sinusoidal transforms
Wavelet Transform
Wavelet series
Since V0 ⊂ V1 , and φ0,0 (x ) = φ(x ) we get
X
φ0,0 (x ) = hφ [n]φ1,n (x )
n
X √
φ(x ) = hφ [n] 2φ(2x − n)
n
hψ [n] = (−1)n hφ [1 − n]
G. Sharma Transforms
Separable and Unitary Transforms
Sinusoidal transforms
Non-sinusoidal transforms
Wavelet Transform
Wavelet series
For Haar wavelet
√ scaling √
coefficients and wavelet
√ coefficients√are
hφ [0] = 1/ 2, hφ [1] = 1/ 2 and hψ [0] = 1/ 2, hψ [1] = −1/ 2.
Given a square integrable function f (x ) we can start at any scale J
and express it as
∞
X ∞ X
X ∞
f (x ) = cJ [k]φJ,k (x ) + dj [k]ψj,k (x )
k=−∞ j=J k=−∞
where
cJ [k] = hf (x ), φJ,k (x )i
dj [k] = hf (x ), ψj,k (x )i
G. Sharma Transforms
Separable and Unitary Transforms
Sinusoidal transforms
Non-sinusoidal transforms
Wavelet Transform
Wavelet series
Example: Given (
1 06x <1
f (x ) =
0 otherwise
using Haar wavelet we get for j = 0 and j = 1
c0 [0] = 1/3
d0 [0] = −1/4
√
d1 [0] = − 2/32
√
d1 [1] = −3 2/32
G. Sharma Transforms
Separable and Unitary Transforms
Sinusoidal transforms
Non-sinusoidal transforms
Wavelet Transform
Wavelet series
An algorithm to calculate wavelet series coefficients
X √
φ(x ) = hφ [n] 2φ(2x − n)
n
j
X √
φ(2 x − k) = hφ [n] 2φ(2(2j x − k) − n)
n
X √
= hφ [n] 2φ(2j+1 x − 2k − n)
n
X √
= hφ [m − 2k] 2φ(2j+1 x − m), (putting) m = 2k + n
m
Similarly
X √
ψ(2j x − k) = hψ [m − 2k] 2φ(2j+1 x − m)
m
G. Sharma Transforms
Separable and Unitary Transforms
Sinusoidal transforms
Non-sinusoidal transforms
Wavelet Transform
Wavelet series
Now
cj [k] = hf (x ), φj,k (x )i
= hf (x ), 2j/2 φ(2j x − k)i
X √
= hf (x ), 2j/2 hφ [m − 2k] 2φ(2j+1 x − m)i
m
X j+1
= hφ [m − 2k]hf (x ), 2 2 φ(2j+1 x − m)i
m
X
= hφ [m − 2k]hf (x ), φj+1,m (x )i
m
X
= hφ [m − 2k]cj+1 [m]
m
G. Sharma Transforms
Separable and Unitary Transforms
Sinusoidal transforms
Non-sinusoidal transforms
Wavelet Transform
Wavelet series
Similarly X
dj [k] = hψ [m − 2k]cj+1 [m]
m
hφ [−n] ↓2 cj [n]
cj+1 [n]
hψ [−n] ↓2 dj [n]
G. Sharma Transforms
Separable and Unitary Transforms
Sinusoidal transforms
Non-sinusoidal transforms
Wavelet Transform
Wavelet series
cj [n] ↑2 hφ [n]
+ cj+1 [n]
dj [n] ↑2 hψ [n]
G. Sharma Transforms
Separable and Unitary Transforms
Sinusoidal transforms
Non-sinusoidal transforms
Wavelet Transform
Wavelet series
Sequences hφ [n] and hψ [n] satisfy the following conditions known
as quadrature mirror filter (QMF) conditions
1. hψ [n] = (−1)n hφ [1 − n]
P √
2. hφ [n] = 2
n
P
3. hψ [n] = 0
n
hφ [n]hφ [n − 2k] = δ[k]
P
4.
n
hψ [n]hψ [n − 2k] = δ[k]
P
5.
n
hψ [n]hφ [n − 2k] = 0
P
6.
n
hφ [m − 2n]hφ [k − 2n] + hψ [m − 2n]hψ [k − 2n] = δ[m − k]
P P
7.
n n
G. Sharma Transforms
Separable and Unitary Transforms
Sinusoidal transforms
Non-sinusoidal transforms
Wavelet Transform
Wavelet series
G. Sharma Transforms
Separable and Unitary Transforms
Sinusoidal transforms
Non-sinusoidal transforms
Wavelet Transform
G. Sharma Transforms
Separable and Unitary Transforms
Sinusoidal transforms
Non-sinusoidal transforms
Wavelet Transform
G. Sharma Transforms
Separable and Unitary Transforms
Sinusoidal transforms
Non-sinusoidal transforms
Wavelet Transform
G. Sharma Transforms
Separable and Unitary Transforms
Sinusoidal transforms
Non-sinusoidal transforms
Wavelet Transform
G. Sharma Transforms
Separable and Unitary Transforms
Sinusoidal transforms
Non-sinusoidal transforms
Wavelet Transform
Resulting decomposition
G. Sharma Transforms
Separable and Unitary Transforms
Sinusoidal transforms
Non-sinusoidal transforms
Wavelet Transform
G. Sharma Transforms
Separable and Unitary Transforms
Sinusoidal transforms
Non-sinusoidal transforms
Wavelet Transform
G. Sharma Transforms
Separable and Unitary Transforms
Sinusoidal transforms
Non-sinusoidal transforms
Wavelet Transform
Bi-orthogonal wavelets
For images we would like that hφ [n] and hψ [n] have symmetric
responses. But we have seen earlier that length of these sequences
is even so symmetric response is not possible. To use a symmetric
response we drop the orthogonality condition and use bi-orthogonal
wavelets. As mentioned earlier in discussion of MRA coefficients
are calculated using dual functions. Hence
∞
X ∞ X
X ∞
f (x ) = cJ [k]φJ,k (x ) + dj [k]ψj,k (x )
k=−∞ j=J k=−∞
where
cJ [k] = hf (x ), φ̃J,k (x )i
dj [k] = hf (x ), ψ̃j,k (x )i
G. Sharma Transforms
Separable and Unitary Transforms
Sinusoidal transforms
Non-sinusoidal transforms
Wavelet Transform
Bi-orthogonal wavelets
cj [n] ↑2 hφ [n]
+ cj+1 [n]
dj [n] ↑2 hψ [n]
G. Sharma Transforms
Separable and Unitary Transforms
Sinusoidal transforms
Non-sinusoidal transforms
Wavelet Transform
G. Sharma Transforms
Separable and Unitary Transforms
Sinusoidal transforms
Non-sinusoidal transforms
Wavelet Transform
decomposition lena.jpg
G. Sharma Transforms
Separable and Unitary Transforms
Sinusoidal transforms
Non-sinusoidal transforms
Wavelet Transform
References
G. Sharma Transforms