Multidimensional and Directional Filter Banks
Total Page:16
File Type:pdf, Size:1020Kb
Outline Multidimensional and Directional Filter Banks 1. Multidimensional filter banks • Sampling lattices • Filter design Minh N. Do 2. Laplacian pyramid frames Department of Electrical and Computer Engineering University of Illinois at Urbana-Champaign 3. Iterated directional filter banks www.ifp.uiuc.edu/∼minhdo [email protected] Joint work with Martin Vetterli (EPFL and UC Berkeley), Arthur Cunha, Yue Lu, Jianping Zhou (UIUC) 1. Multidimensional Filter Banks 1 1. Multidimensional Filter Banks Filter Banks Motivation Wavelets and filter banks... fundamental link between continuous and discrete domains Looking for... analysis synthesis y1 x1 Mallat H1 2 2 G1 • Discrete-domain expansions for sampled data x + xˆ H 2 2 G0 0 y x • Structured transforms with fast algorithms 0 0 • Seamless connection with continuous-domain expansions Answer: Filter banks and associated bases and frames. 2 G 1 Daubechies 2 G1 + + 2 G0 2 G0 1. Multidimensional Filter Banks 2 1. Multidimensional Filter Banks 3 Multidimensional Filter Banks “True” Multidimensional Filter Banks ω2 π • Common approach: use 1-D techniques in a separable fashion HH1L Q x −π π ω1 HH 0Η Q −π • More flexibility: – True multidimensional filters → directional filters – Sampling via lattices → discrete rotations • Limitations: – very constrained filter design (separable filters) – only rectangular frequency partition possible 1. Multidimensional Filter Banks 4 1. Multidimensional Filter Banks 5 Sampling via Lattices Multidimensional Signals and Filtering • Discrete-time d-dimensional signal: In 1D (downsample by 2): def T d n1 x[n], n = (n1,...,nd) ∈ Z In 2D (downsample by 2): • The z-transform: d −n n ni X(z)= x[n]z where z = zi d i=1 nX∈Z Y • Filtering with h[n] yields y[n]= x[n] ∗ h[n]= x[k]h[n − k] d kX∈Z Y (z)= X(z)H(z) 1. Multidimensional Filter Banks 6 1. Multidimensional Filter Banks 7 Multidimensional Sampling Examples of Sampling Lattices Sampling operation is represented by a d × d nonsingular integer matrix M. Separable lattice in two dimensions: Downsampling x [n]= x[Mn]. d 2 0 D = 1 0 2 Upsampling d 2 2 x[k] if n = Mk, k ∈ Z D = xu[n]= 2 0 2 (0 otherwise. Sampling lattice Quincunx lattice in two dimensions: def d LAT (M) = n : n = Mk, k ∈ Z 1 1 = all linear combinations of columns of M with integer coefficients D = 1 1 −1 1 2 D = def 2 1 0 Sampling density is equal to |M| = |det M| 1. Multidimensional Filter Banks 8 1. Multidimensional Filter Banks 9 Sampling Lattices and Matrices Examples of Multidimensional Sampling Theorem 1. LAT (A) = LAT (B) if and only if A = BE where E is a unimodular (i.e. det E = ±1) integer matrix. Example: Four basic unimodular matrices (shearing operators) 1 1 1 −1 1 0 1 0 R = , R = , R = , R = . 0 0 1 1 0 1 2 1 1 3 −1 1 Theorem 2. [Smith form] Any integer matrix M can be factorized as M = UDV where U and V are unimodular integer matrices and D is an integer diagonal matrices. Example: For quincunx matrices 1 −1 1 1 ↓ R ↓ Q Q = , Q = 0 1 1 1 −1 1 1 0 1 1 Q0 = R1D0R2 = R2D1R1 and Q1 = R0D0R3 = R3D1R0, R = Q = = R D R 3 −1 1 1 −1 1 0 0 3 where D0 = diag(2, 1) and D1 = diag(1, 2) 1. Multidimensional Filter Banks 10 1. Multidimensional Filter Banks 11 Multidimensional Sampling in Frequency-Domain (1/2) Multidimensional Sampling in Frequency-Domain (2/2) Upsampling by M Downsampling by M T Xu(ω)= X(M ω), 1 X (ω)= X(M −T (ω − 2πk)). M d |det(M)| Xu(z)= X(z ). T k∈NX(M ) M def m m T Here z = (z 1,..., z d) , where mi is the i-th column of M. Here N (M) is the set of integer vectors of the form Mt, t ∈ [0, 1)d. 1. Multidimensional Filter Banks 12 1. Multidimensional Filter Banks 13 Polyphase Representation Examples of Polyphase Representations Separable lattice • Polyphase components with respect to the sampling matrix M: xi[n]= x[Mn + li] 2 0 M = 0 2 d where {li} is the set of |M| integer vectors of the form Mt, t ∈ [0, 1) • Each polyphase component “lives” on a coset. 2 2 −1 2 2 −1 2 2 −1 −1 2 2 X(z1, z2)= X00(z1, z2)+z1 X10(z1, z2)+z2 X01(z1, z2)+z1 z2 X11(z1, z2) def d Ci = m : m = Mn + li, n ∈ Z , 0 ≤ i ≤|M|− 1 Quincunx lattice |M|−1 d Ci = Z , Ci Cj = ∅, i 6= j. i=0 [ \ 1 1 M = −1 1 • In the z-domain: |M|−1 −li M X(z)= z Xi(z ) −1 −1 −1 i=0 X(z1, z2)= X0(z1z2, z1z )+ z X1(z1z2, z1z ) X 2 1 2 1. Multidimensional Filter Banks 14 1. Multidimensional Filter Banks 15 Polyphase-Domain Analysis Filter Bank in the Polyphase-Domain Filter and downsample ANALYSIS SYNTHESIS ANALYSIS SYNTHESIS −l0 D D l0 H0 D D G0 z z x[n] −→ H(z) −→ (↓ M) −→ c[n] −l D l H1 D D G1 z 1 D z 1 + X + Xˆ X Hp Gp Xˆ |M|−1 C(z)= Hi(z)Xi(z)= H(z)x(z) −l l HN−1 D D GN−1 z |D|−1 D D z |D|−1 i=0 X def T def where x(z) = (X0(z),...,X|M|−1(z)) , and H(z) = (H0(z),...,H|M|−1(z)) • Critically sampled: |D| = N Upsample and filter • Perfect reconstruction: Gp(z)Hp(z)= I|D| c[n] −→ (↑ M) −→ G(z) −→ p[n] • Biorthogonal: Perfect reconstruction + critically sampled Pi(z)= Gi(z)C(z) or p(z)= G(z)C(z) T −1 T −1 • Orthogonal: Hp(z)= Gp (z ) and Gp(z)Gp (z )= I def T def T where G(z) = (G0(z),...,G|M|−1(z)) , and p(z) = (P0(z),...,P|M|−1(z)) (i.e. Gp(z) is a paraunitary matrix) 1. Multidimensional Filter Banks 16 1. Multidimensional Filter Banks 17 A Reduction Theorem for Biorthogonal Filter Banks Example: Quincunx Filter Bank Theorem 3. [ZhouD:04] Suppose G(z) is an N × N matrix and y0 GN−1(z) is its submatrix obtained by deleting the last row of G(z). H0 Q Q G0 Suppose H(z) is another N × N matrix and HN−1(z) is its submatrix x + xˆ obtained by by deleting the last column of H(z). y1 H1 Q Q G1 Then G(z)H(z)= IN if and only if Possible frequency partitions: GN−1(z)HN−1(z)= IN−1, (1) ω1 ω1 i+N (π, π) (π, π) GN,i(z)= α(z)(−1) det Hi,N−1 (z), (2) 1 0 −1 i+N 0 1 H z α z G z , i,N ( )= ( )(−1) det N−1,i ( ) (3) ω0 ω0 where α(z) = det G(z) is an arbitrary nonzero filter, Hi,N−1 (z) is the submatrix of HN−1(z) obtained by deleting its ith row, and GN−1,i (z) is G z the submatrix of N−1( ) obtained by deleting its ith column. Equivalent biorthogonal condition for FIR filters: If G(z) and H(z) have FIR entries, then additionally α(z)= αzk H0(z)G0(z)+ H0(−z)G0(−z) = 2, and N Corollary 1. A -channel biorthogonal FIR filter bank is completely −k k determined by its first N − 1 channels, and a scaled delay in the last H1(z)= z G0(−z), G1(z)= z H0(−z). channel. 1. Multidimensional Filter Banks 18 1. Multidimensional Filter Banks 19 Filter Design Problem Design via Mapping 1. Start with a 1D solution: Filter design amounts to solve P (1D)(z)+ P (1D)(−z) = 2 and P (1D)(z)= H(1D)(z)G(1D)(z) P (z)+ P (−z) = 2, (easy) 2. Apply a 1D to MD mapping to each filter: where F (1D)(z) → F (MD)(z)= F (1D)(M(z)) P (z)= H0(z)G0(z) (hard) • If M(z) = −M(−z) then the perfect reconstruction condition is preserved Fundamental problem in multi-dimensions: no factorization theorem. P (MD)(z)+ P (MD)(−z)= P (1D)(M(z)) + P (1D)(M(−z))=2 How to avoid MD factorization? • Can design the mapping to preserve and obtain other properties, like One possibility: Map 1D filters to MD filters... linear phase, vanishing moments, directional vanishing moments, ... (McClellan:73, TayK:93, ChenV:93, CunhaD:04) This only works for biorthogonal filter banks... 1. Multidimensional Filter Banks 20 1. Multidimensional Filter Banks 21 MD Orthogonal FB Design using Cayley Transform Example: Two-Channel Filter Banks Cayley Orthogonal Paraunitary Transform Para-skew-Hermitian Polyphase-domain: Cayley-domain: Filter Banks matrices matrices U (z) U (z) H (z) H (z) U(z)= 00 01 H(z)= 00 01 . Definition. [Cayley transform] The Cayley transform of a matrix U(z) is U (z) U (z) H (z) H (z) 10 11 10 11 −1 H(z)= I + U(z) I − U(z) . The paraunitary condition The PSH condition T T U(z)U (z−1)= I H(z−1)= −H (z) Definition. H(z) is a para-skew-Hermitian (PSH) matrix if it satisfies becomes becomes −1 T −1 −1 −1 H(z )= −H (z), for real coefficients. U00(z)U00(z )+ U01(z)U01(z ) = 1, H00(z )= −H00(z), −1 −1 −1 U00(z)U10(z )+ U01(z)U11(z ) = 0, H11(z )= −H11(z), U z N N −1 −1 −1 Proposition 1.