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