Course 18.327 and 1.130 Wavelets and Filter Banks

advertisement
Course 18.327 and 1.130
Wavelets and Filter Banks
Signal and Image Processing: finite
length signals; boundary filters and
boundary wavelets; wavelet
compression algorithms.
Finite-Length Signals
y-2
y-1
y0
y1
o
yN-1
o
=
h0
h1
h2
h0
h1
y[n]
h-1
h0 h-1
h1 h0 h-1
r r r
x-2
x-1
x0
x1
o
xN-1
o
unknown
LMN
H(ω)
x[n]
length N
(finite length)
unknown
2
1) zero-padding
x[n]
m -2 -1 0 1 2 3 m
n
filtered by [1, 1]
y[n]
m
n
-2 -1 0 1 2 3
filtered by [1, -1]
y[n]
m
-2 -1 0 1 2 3
n
artificial edge resulting
from zero-padding
3
2) Periodic Extension
…
x[N] = x[0]
x[n]
…
…
n
- 1 0 1 2 … N-1 N
wrap-around
o
y0
y1
o
=
yN-1
N-output
h1 h0 h-1 h-2 m h2 h1
h1 h0 h-1 m h3 h2
h-1 h-2
m h2 h1 h0
xN-2
xN-1
x0
x1
x2
o
xN-1
x0
o
circulant matrix = H
4
What is the eigenvector for the circulant matrix?
[ 1 eiω ei2ω m ei(N-1)ω ] T
We need
eiNω = 1 = ei0ω
∴ Nω = 2πk
,
ω =
2πk
N
discrete set of ω’s
For the 0th row,
N-1
H[k] = ∑ h[n]
e-i
2πk
N n
n=0
5
1 1 1 m
1 w w2
[H]
1 w2 w4
o o
o
1 wN-1
1
H[0]
H[1]
wN-1
r
w2(N-1) = [F]
o
H[N-1]
k=0k=1
k=N-1
LOOOOMOOOON
2π
i
w=eN
F
HF = FΛ
Λ contains the Fourier coefficients
2πk
Nn
H[k] = ∑
n
h[n]e-i
∑ ∑ h[n -
]x[]e-i
If x[] =
ei
n
n 2πk0
N 2πk
Nn
= H[k]X[k]
⇒ X[k] = δ[k – k0]
⇒ H[k]X[k] = H[k0]X[k]
6
3) Symmetric Extension
1) Whole point symmetry – when filter is whole
point symmetric.
2) Half point symmetry – when filter is half point
symmetric.
e.g. Whole point symmetry: filter and signal
h1x2 + h0x1 + h1x0
h0 h1
h1x1 + h0x0 + h1x1
h1 h0 h1
=
h1x0 + h0x1 + h1x2
h1 h0 h1
r
r r
x2
x1
x0
x1
x2
7
e.g. whole point symmetry – filter,
half-point symmetry - signal
h1x2 +
h1x1 +
h1x0 +
h1x0 +
h0x1 + h1x0
h0x0 + h1x0
h0x0 + h1x1
h0x1 + h1x2
Half point symmetry
h1 h0 h1
h1 h0 h1
=
h1 h0 h1
r
r r
x2
x1
x0
x0
x1
x2
Whole point symmetry
8
Downsampling a whole-point symmetric signal with
even length N
at the left boundary:
x
x
-2 -1 0
1
⇒ still whole-point symmetric after ↓2.
2
at the right boundary:
x
x
x
⇒ half-point symmetric after ↓2.
N-1
odd
E.g. 9/7 filter: whole-point symmetric
use the above extension for signal ⇒ N
N/2
exactly
N/2
9
Downsample a half-point symmetric signal
x
⇒ nothing guaranteed
x
x
-3 -2 -1 0 1
2
Linear-phase filters
H(ω) = A(ω)e-iωα
1) half-point symmetric,
α = fraction
2) whole-point symmetric,
α = integer
Symmetric extension of finite-length signal
X(ω) = B(ω)e-iωβ
10
The output:
Y(ω) = H(ω)X(ω)
W
W
H
H
W
H
H
W
W
H
W
H
W = whole-point symmetry
H = half-point symmetry
The above extensions ensure the continuity of function
values at boundaries, but not the continuity of
derivatives at boundaries.
11
4) Polynomial Extrapolation (not useful in image
processing)
• Useful for PDE with boundary conditions.
x0
x1
0 1
x2
x3
4 coefficients ⇒ fits up to 3rd order
polynomials.
2 3
a + bn + cn2 + dn3 = x(n)
1 0 0 0
1 1 1 1
1 2 22 23
1 3 32 33
LOMON
A
a
x0
b = x1
c
x2
d
x3
12
Then,
x–1 = [1 -1 1 -1]
PDE
a
b = [1 -1 1 -1] A–1
c
d
x0
x1
x2
x3
f(x) = ∑ ckφ(x – k)
k
Assume f(x) has polynomial behavior near boundaries
p-1
∑ αixi = f(x) = ∑ ckφ(x – k)
k
i=0
{φ (• - k)} orthonormal
p-1
⇒ ∑ αi ∫ φ(x – k)xidx = ck
i=0
LOMON
µik
13
µ00 µ10 m µ p-1
0
µ01
µ11 µ21
m
o
α0
c0
α1
c1
=
o
αp-1
o
cp-1
Using the computed αi’s, we can extrapolate,
α0
e.g. c–1 = [µ0–1 µ1–1 m µp–-11] o
αp-1
DCT idea of symmetric extension
cf. DFT X[k] = ∑
n
complex-valued
2πk
x[n]e-i N n
Want real-valued results.
14
1 m
0
N-1
N
m
2N-1
2N
DFT of this extended signal:
N-1
2πk
–i 2N n
∑ x[n]e
2N-1
+ ∑
LOOMOON
n=N
n=0
N-1
N-1
2πk
π
i
(2N-1-m)
2N
∑ x[m]e
m=0
= ∑ x[n]
n=0
2πk
x[2N-1-n]e-i 2N n
2πk
2πk
i
{e 2N n
+
2πk
e-i 2N (2N-1-n)}
N-1
n=0
X(k) ck ∑ √N2 x[n]cos πNk (n+½) m DCT – II used in JPEG
ck =
1
√2
k=0
1
k = 1, 2, …, N - 1
15
Download