Presentation is loading. Please wait.

Presentation is loading. Please wait.

1 Integer-to-Integer Transform 整 數 轉 換整 數 轉 換 Speaker: 丁 建 均 國立台灣大學電信工程學研究所.

Similar presentations


Presentation on theme: "1 Integer-to-Integer Transform 整 數 轉 換整 數 轉 換 Speaker: 丁 建 均 國立台灣大學電信工程學研究所."— Presentation transcript:

1 1 Integer-to-Integer Transform 整 數 轉 換整 數 轉 換 Speaker: 丁 建 均 國立台灣大學電信工程學研究所

2 2 Integer-to-Integer Transform Outline: (1) Introduction (2) Several popular integer transforms (3) Method 1: Prototype Matrix (4) Method 2: Lifting Scheme (5) Method 3: Triangular Matrix Scheme (6) Method 4: Improvement Triangular Matrix Scheme (7) Examples (8) Conclusion and Future Work Speaker: 丁 建均

3 3  Definition of the Integer Transform 原始定義: input, output 皆為整數的運算 修正後的定義: input, output 皆為 summations of powers of 2 例如 皆為 integer transform

4 4  The integer transform in the matrix form, a k = 0 or 1 or, C is an integer.

5 5 Example: is an integer transform is not an integer transform 4-point Walsh (Hadamard) transform

6 6  Advantages of the Integer Transform: We can use the fixed-point processor to implement it exactly. --- less computation time, --- less cost for implementation. However, many popular operations are non-integer transforms.

7 7 Discrete Fourier transform: Discrete cosine transform: RGB to YCbCr Transform Karhunen-Loeve transform Wavelet transform

8 8 How do we convert a non-integer transform into an integer transform?

9 9 最簡單的方法: truncation However, after truncation, the reversibility property is always lost. ( 以 RGB-to-YCbCr transform 為例)

10 10  In JPEG 2000 standard, the RGB-to-YCbCr transform is approximated as follows: is satisfied

11 11  Walsh (Hadamard) transform 也是 integer transform 當中一個重要的 例子 (Harmuth, 1970) Walsh transform

12 12  In Ohta’s work in 1980 (KLA transform, one of the color transform)  In MPEG-4 (4-point DCT)

13 13 Question: How to convert other non-integer transforms into the integer transforms that satisfy the following requirements: (2) Reversibility (1) Integerization (3) Accuracy B  A, B̃  A -1 (or B   A, B̃   -1 A -1 ) A, A -1 : original non-integer transform pair, B, B̃: integer transform pair (4) Bit Constraint: The denominator ( 分母) 2 k should not be too large. (5) Less Complexity

14 14  Development of Integer Transforms: (A) Prototype Matrix Method (suitable for 2, 4, 8 and 16-point DCT, DST, DFT) (B) Lifting Scheme (suitable for 2 k -point DCT, DST, DFT) (C) Triangular Matrix Scheme (suitable for any matrices, satisfies Goals 1 and 2) (D) Improved Triangular Matrix Scheme (suitable for any matrices, satisfies Goals 1 ~ 5)

15 15 Method 1: Prototype Matrix ( 模型矩陣) 基本精神:原來的 transform 長什麼樣子, integer transform 的「模型」就長什麼樣子  W. K. Cham, “Development of integer cosine transform by the principles of dynamic symmetry”, Proc. Inst. Elect. Eng., pt. 1, vol. 136, no. 4, pp. 276-282, Aug. 1989.  S. C. Pei and J. J. Ding, “The integer Transforms analogous to discrete trigonometric transforms,” IEEE Trans. Signal Processing, vol. 48, no. 12, pp. 3345-3364, Dec. 2000.

16 16 0.9808  a 1, 0.8315  a 2, 0.5556  a 3, 0.1951  a 4, 0.9239  b 1, 0.3827  b 1. 8-Point DCT 6 parameters

17 17 Constraints for the 6 parameters (1),, (2) B  B T = D, D is a diagonal matrix (orthogonality) ( 大小順序和原來一樣) 這個式子看起來簡單,但是其實有 56 個 constraints 但由於 DCT 的 prototype matrix 有特殊的對稱性 所以可以簡化成只有一個 constraint

18 18  Example: a 1 = 5, a 2 = 3, a 3 = 2, a 4 = 1, b 1 = 3, b 2 = 1

19 19 Other possible choices for the 6 parameters  a 1 = 8, a 2 = 5, a 3 = 3, a 4 = 2, b 1 = 5, b 2 = 2  a 1 = 10, a 2 = 9, a 3 = 6, a 4 = 2, b 1 = 17, b 2 = 7  a 1 = 45, a 2 = 39, a 3 = 26, a 4 = 9, b 1 = 46, b 2 = 19

20 20 --- Disadvantage of the Prototype Matrix Method:  Only suitable for the case of sinusoid type transforms (e.g., the discrete Fourier, cosine, sine, and Hartley Transforms).  Only suitable for the case of N = 4, 6, 8, and 16. In other cases, the prototype becomes very complicated (too many unknowns and too many orthogonality constraints)

21 21 Method 2: Lifting Scheme Important Milestone  Lifting scheme: Decomposing a 2  2 original matrix into 3 lifting matrices.  W. Sweldens, “The lifting scheme: a construction of second generation wavelets,” Applied Comput. Harmon. Anal., vol. 3, no. 2, pp. 186-200, 1996.  T. D. Tran, “The binDCT: fast multiplierless approximation of the DCT,” IEEE Signal Proc. Lett., vol. 7, no. 6, pp. 141-144, June 2000.

22 22  Decomposing a 2  2 matrix: or Constraint: det(B) = ad  bc = 1. a b c d (a-1)/c (d-1)/c c

23 23 為什麼要這麼做? 因為對角為 1 的三角矩陣,在經過 quantization 之後,一定還是 reversible

24 24 approximation where

25 25  Extension to the 2 k -point case Many 2 k -point discrete operations can be decomposed into (N/2)  log 2 N butterflies Example: 8-point discrete Fourier transform (DFT) x[0] x[4] x[2] x[6] x[1] x[5] x[3] x[7] X[0] X[1] X[2] X[3] X[4] X[5] X[6] X[7] 1w21w2 1w21w2 1ww2w31ww2w3

26 26 In fact, each butterfly is a 2  2 transform. We can apply the lifting-scheme to integerize it. x 1 x 2 y 1 y 2 a b c d

27 27  Advantages: --- Easy for design (avoiding solving the N(N  1) orthogonality constraint) --- Flexibility:  1 /2 k1,  2 /2 k2,  3 /2 k3, are free to choose --- The fast algorithm of the original non-integer transform can be preserved.  The 2 k -point integer discrete Fourier, cosine, sine, Hartley, and Wavelet transforms can hence be derived (k can be any integer). S. Oraintara, Y. J. Chen, and T. Q. Nguyen, “Integer fast Fourier transform”, IEEE Trans. Signal Processing, vol. 50, no. 3, pp. 607-618, March 2002.

28 28 Method 3: Triangular Matrix Scheme  Lifting scheme: 2  2 matrix  Triangular matrix scheme: Generalizing the lifting scheme for N  N matrices, where N can be any integer. P. Hao and Q. Shi., “Matrix factorizations for reversible integer mapping”, IEEE Trans. Signal Processing, vol. 49, no. 10, pp. 2314-2324, Oct. 2001. S. C. Pei and J. J. Ding, “Improved reversible integer transform”, ISCAS, pp. 1091-1094, May 2006.

29 29 Important discovery: “All” the reversible non-integer transforms (det(A))  0) can be converted into the reversible integer transforms by the triangular matrix scheme.

30 30  Any matrix whose determinant is a power of 2 can be decomposed as follows: A = DLUS D: diagonal matrix L: lower triangular matrix, U: upper triangular matrix, S: One row lower triangular matrix

31 31 A = DLUS 和 lifting scheme 比較 (1) 把變成下三角矩陣 (2) 把變成上三角矩陣 (3) 多了 diagonal matrix D 使得 det(A) 不再限定為 1

32 32  Advantages of Triangular Matrix Decomposition: -- The inverse of a triangular matrix is easy to compute. -- The inverse of an integer triangular matrix is also an integer triangular matrix.

33 33 A = D L U S quantization B = D L 1 U 1 S 1 original transform integer transform inverse integer transform B -1 = S 1 -1 U 1 -1 L 1 -1 D -1

34 34 If det(A)  2 k A  A The performance of a discrete transform remains unchanged after multiplied by a constant.

35 35 Method 4: Further Improvements of the Triangular Matrix Scheme (1) Accuracy Problem A = D L U S quantization B = D L 1 U 1 S 1 Entries of triangular matrices 的值越小,誤差越小 誤差:

36 36 Decompose PAQ instead of A row permutation matrix column permutation matrix PAQ = D L U S PBQ = D L 1 U 1 S 1 B = P T D L 1 U 1 S 1 Q T Try to find P and Q to minimize the entries of L, U, and S

37 37 A systematical way to determine P and Q was proposed in There are (N! ) 2 ways to find P and Q S. C. Pei and J. J. Ding, “Improved reversible integer transform”, ISCAS, pp. 1091-1094, May 2006.

38 38 (2) Complexity Problem 乍看之下,變成三個 triangular matrices 好像會增加運算時間, 其實不然 Upper triangular matrix 和 lower triangular matrix 可 以同時 implemented.

39 39 (3) Further Generalization 對角線其實不必都等於 1 Why? 這樣的運算其實可以變成可逆的整數轉換 forward inverse

40 40 x 和 y 之間有一對一的關係 x12345678910 y1235678 1112 以此類推, y = ax, a  1 必定也可以變成可逆轉換

41 41 PAQ = D L U S |d n |  1, |u n |  1,

42 42 這樣的方法,被稱作 scaled lifting scheme 或 scaled triangular matrix scheme S. C. Pei and J. J. Ding, “Scaled lifting scheme and generalized reversible integer transform,” ISCAS, pp. 3203-3206, May 2007.

43 43 Examples  Integer Color Transform RGB to YCbCr Transform x 1 [1] = 4B, x 1 [2] = R, x 1 [3] =  2G, Y =  y 1 [3]/2, Cr = y 1 [2], Cb = y 1 [1]/4.

44 44 NRMSE (normalized root mean square error) of the RGB-to- YCbCr transform in JPEG 2000: 20.83% NRMSE of the proposed RGB-to-YCbCr transform: 0.1687% S. C. Pei and J. J. Ding, “Reversible integer color transform,” IEEE Trans. Image Processing, vol. 16, no. 6, pp. 1686-1690, June 2007. S. C. Pei and J. J. Ding, “Improved reversible integer-to-integer color transforms,” IEEE International Conference on Image Processing, Nov. 2009.

45 45  210-Point Integer Fourier Transform

46 46 Conclusion and Future Work  The integer transform can apparently improve the efficiency of digital signal processing and is important in VLSI design.  Future works: (1) Faster design algorithm to find the optimal integer transform. (2) Applied to the multi-channel filter system (Since it can be expressed by a matrix) (3) Pseudo-reversible integer transform (the case of det(A)=0) http://djj.ee.ntu.edu.tw/Integer.ppt


Download ppt "1 Integer-to-Integer Transform 整 數 轉 換整 數 轉 換 Speaker: 丁 建 均 國立台灣大學電信工程學研究所."

Similar presentations


Ads by Google