m channel filter banks channel filter banks m block and
play

M- -Channel Filter Banks: Channel Filter Banks: M Block and - PDF document

M- -Channel Filter Banks: Channel Filter Banks: M Block and Lapped Transforms Block and Lapped Transforms Trac D. Tran ECE Department The Johns Hopkins University Baltimore MD 21218 Outline Outline Block transforms DCT: discrete


  1. M- -Channel Filter Banks: Channel Filter Banks: M Block and Lapped Transforms Block and Lapped Transforms Trac D. Tran ECE Department The Johns Hopkins University Baltimore MD 21218 Outline Outline � Block transforms � DCT: discrete cosine transform � Lapped transforms � LOT: lapped orthogonal transform � TDLT: time-domain lapped transform � MLT: modulated lapped transform � General filter bank connection � Applications � Audio coding: MP3, AAC � Image coding: JPEG, HD-Photo or JPEG-XR 1

  2. Filter Bank Interpretation Filter Bank Interpretation x[n] x[n] H (z) M F (z) H (z) M F (z) M M 0 0 0 0 H (z) M F (z) H (z) M F (z) M Q M Q 1 1 1 1 ^ ^ x[n] x[n] H (z) M F (z) H (z) M F (z) M M M- -1 1 M- -1 1 M M � Local cosine basis: a family of M-channel cosine- = modulated filter bank. [ ] [ ] h n p n k k � Efficient block-based implementation Discrete Cosine Transform Discrete Cosine Transform π ⎡ ⎤ 2 − = ≤ ≤ Type I DCT : p [ n ] c c cos nk , 0 k,n M ⎢ ⎥ k n k ⎣ ⎦ M M ⎡ π ⎤ ⎛ ⎞ 2 1 − = + ≤ ≤ − ⎜ ⎟ Type II DCT : p [ n ] c cos ⎢ n k ⎥ , 0 k,n M 1 k k ⎝ ⎠ ⎣ ⎦ M 2 M ⎡ ⎛ + ⎞ π ⎤ 2 1 − = ≤ ≤ − ⎜ ⎟ Type III DCT : p [ n ] c cos ⎢ k n ⎥ , 0 k,n M 1 k n ⎝ ⎠ ⎣ ⎦ M 2 M ⎡ π ⎤ ⎛ + ⎞ ⎛ ⎞ 2 1 1 − = + ≤ ≤ − ⎜ ⎟ ⎜ ⎟ Type IV DCT : [ ] cos ⎢ ⎥ , 0 1 p n n k k,n M k ⎝ ⎠ ⎝ ⎠ ⎣ ⎦ M 2 2 M ⎧ = 1 2 , k 0 , M = ⎨ where c k ⎩ 1 , otherwise � Real, orthogonal block transforms with fast implementations � JPEG & MPEG use Type-II DCT (symmetric basis) [Rao] 2

  3. DCT Type- -II II DCT Type ⎧ − + π ⎡ ⎤ M 1 2 ( 2 n 1 ) m ∑ = ⎪ X [ m ] K x [ n ] cos ⎢ ⎥ ⎪ ⎣ ⎦ m M 2 M = n 0 DCT basis DCT basis ⎨ + π − ⎡ ⎤ ⎪ M 1 2 ∑ ( 2 m 1 ) n = K x [ n ] X [ m ] cos ⎢ ⎥ ⎪ n ⎣ ⎦ ⎩ M 2 M = m 0 = − m , n 0 , 1 ,..., M 1 8 x 8 block 8 x 8 block ⎧ 1 = y y ⎪ DC DC , i 0 c c vertical edges vertical edges n n = ⎨ e e K u 2 u q q i e e ⎪ r middle frequency middle frequency r ≠ f f ⎩ 1 , i 0 w w o o l l horizontal edges horizontal edges • orthogonal • orthogonal y y • real coefficients • real coefficients c c n n e e u u q q • symmetry symmetry • e e r r f f h h g g • near • near- -optimal optimal i i h h • fast algorithms fast algorithms • DCT Symmetry DCT Symmetry ( ( ) ) ⎛ − − + π ⎞ m 2 M 1 n 1 ⎜ ⎟ cos ⎝ ⎠ 2 M ( ) − − + π ⎛ ⎞ 2 M 2 2 n 1 m = ⎜ ⎟ cos ⎝ ⎠ 2 M ( ) π + π ⎡ ⎤ 2 Mm 2 n 1 m = − cos ⎢ ⎥ ⎣ ⎦ 2 M 2 M ( ) DCT basis functions + π ⎡ ⎤ 2 n 1 m = ± cos ⎢ ⎥ are either symmetric ⎣ ⎦ 2 M or anti-symmetric 3

  4. DCT: Recursive Property DCT: Recursive Property � An M-point DCT–II can be implemented via an M/2-point DCT–II and an M/2-point DCT–IV ⎡ ⎤ [ ] ⎡ ⎤ II I J C 0 1 = II M/2 ⎢ ⎥ C ⎢ ⎥ − M IV ⎣ ⎦ ⎣ ⎦ J I 0 C J 2 M/2 Butterfly II C M/2 DCT input samples coefficients C IV J M/2 Fast DCT Implementation Fast DCT Implementation 13 multiplications and 29 additions per 8 input samples 13 multiplications and 29 additions per 8 input samples 4

  5. Block DCT Block DCT ⎡ ⎤ ⎡ ⎤ ⎡ ⎤ II X x C 0 1 1 M ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ II X x 0 C 0 ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ = 2 2 M ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ M II M 0 C 0 ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ M ⎢ ⎥ ⎣ ⎦ II ⎣ ⎦ X ⎣ ⎦ x 0 C N N M input blocks, output blocks each of size M of DCT coefficients, each of size M Block DCT Coding Framework Block DCT Coding Framework … … … 0 0 … 1 1 DCT Q IDCT 2 2 3 3 0 0 1 1 DCT Q IDCT 2 2 3 3 0 0 1 1 DCT Q IDCT 2 2 3 3 … … … 5

  6. Block Transform Block Transform … … … − x y 1 x ˆ P Q P m m m − x ˆ 1 x y P Q P + + m 1 + m 1 m 1 … … … Lena: JPEG Q factor = 5 � Different blocks are processed independently � Cause discontinuities at block boundary in reconstruction Blocking Artifact Blocking Artifact 4-point Data DCT Q, DeQ Q, DeQ IDCT Blocking artifact − − N 1 N 1 ∑∑ = = T T X T YT Y ( i , j ) t t i j = = i 0 j 0 � X is the weighted combination of basis images. � Blocking artifact is generated if basis images are not smooth at boundaries. 6

  7. 8x8 DCT Basis 8x8 DCT Basis Has some large coefficients at block boundaries � More discontinuities at boundaries � Blocking artifact will be created Filter Bank Connection Filter Bank Connection x [ n ] ˆ n x [ ] M M z z -1 M P − M C − 1 z 1 P C Q z -1 z − 1 z M M z z -1 z − 1 M z M Analysis Synthesis x [ n ] M H 0 z ( ) M F 0 z ( ) M M M Q M H 1 z ( ) F 1 z ( ) M M ˆ n x [ ] M H M − 1 z ( ) M F M − 1 z ( ) M M 7

  8. Lapped Transform Connection Lapped Transform Connection � Global Matrix Representation ˆ n ˆ n x y y x Inverse LT n n LT ⎡ ⎤ ⎡ ⎤ ⎡ ⎤ ⎡ ⎤ ⎡ ⎤ ⎡ ⎤ M O M M O M G 1 ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ y E E x x ˆ G G y ˆ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ − − − − n 1 1 0 n 1 n 1 0 1 n 1 ⎢ ⎥ = ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ = ⎢ ⎥ ⎢ ⎥ y E E x x ˆ G G y ˆ n 1 0 n ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ n 0 1 n ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ y E E x ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ x ˆ G G y ˆ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ + + n 1 1 0 n 1 + + n 1 0 1 n 1 ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎣ M ⎦ ⎣ O ⎦ ⎣ M ⎦ ⎣ M ⎦ ⎣ O ⎦ ⎣ M ⎦ T T a s � Perfect Reconstruction Condition: T T = I s a � G E + G E = I , G E = G E = 0 . 0 0 1 1 0 1 1 0 Lapped Transform Basis: A Sneak Preview Lapped Transform Basis: A Sneak Preview Longer filters (16-tap) � Coefficients are close to zero at boundaries � 16x16 images � Smoother basis vectors and images � How to achieve this? � 8

  9. Two LT Families Two LT Families � Conventional Lapped Transform � First proposed in 1985 (Malvar et al. ) � Post-processing of the DCT output � Time-Domain Lapped Transform � First proposed in 2001 (Tran et al. ) � Pre-processing of the DCT input Conventional Lapped Transform Conventional Lapped Transform … … 1/2 1/2 DCT IDCT reconstructed signal 1/2 1/2 Q 1/2 1/2 − 1 V 1/2 1/2 V IDCT DCT 1/2 1/2 Q 1/2 1/2 − V 1 1/2 1/2 V IDCT DCT 1/2 1/2 … … … … post-processing pre-processing Block size is 4 here, can be generalized to other even block sizes. � Forward: Each coefficient is a function of two input blocks � Inverse: Each coefficient contributes to two output blocks � � Overlap-add structure smoothens the block boundaries. 9

  10. Time- -Domain Lapped Transform Domain Lapped Transform Time Q DCT 1/2 IDCT 1/2 1/2 1/2 1/2 1/2 1/2 1/2 − 1 V V 1/2 Q DCT IDCT 1/2 1/2 1/2 1/2 1/2 1/2 − V 1/2 1 V IDCT DCT Q ⎡ ⎤ 1 I J = ⎢ ⎥ Post-filter P -1 W Pre-filter P Existing Structure − ⎣ ⎦ J I 2 ⎡ ⎤ Post-filter can be viewed as de-blocking filter I 0 � = ⎢ ⎥ P W W More compatible to DCT-based schemes ⎣ ⎦ 0 V � Used in ⎡ ⎤ � I 0 − = 1 P W ⎢ ⎥ W − 1 ⎣ ⎦ 0 V Forward Transform Filters Forward Transform Filters Prefiltering: X0 P S0 = = S PX , S PX 0 0 1 1 Y DCT Input to DCT: S X1 Lower half of S 0 and upper half of S 1 . S1 P Block size: M ⎡ ⎤ ⎡ ⎤ ⎡ ⎤ S P X P M = = = = × i 0 0 i 0 S ⎢ ⎥ PX ⎢ ⎥ P ⎢ ⎥ , P : M Let: i i i ⎣ ⎦ ⎣ ⎦ ⎣ ⎦ P 2 S P X 1 i 1 1 i ⎡ ⎤ ⎡ ⎤ ⎡ ⎤ ⎡ ⎤ ⎡ ⎤ S P X P 0 X X × = = = = = 01 1 0 1 M / 2 M 0 0 Y CS C ⎢ ⎥ C ⎢ ⎥ C ⎢ ⎥ ⎢ ⎥ H ⎢ ⎥ × M 2 M ⎣ S ⎦ ⎣ P X ⎦ ⎣ 0 P ⎦ ⎣ X ⎦ ⎣ X ⎦ × 10 0 1 M / 2 M 0 1 1 ⎡ ⎤ P 0 × = 1 M / 2 M H C ⎢ ⎥ Forward transform: × M 2 M ⎣ 0 ⎦ P × M / 2 M 0 Each row of H is a 2M-tap filter (basis function). 10

Recommend


More recommend