IEEE TRANSACTIONS ON SIGNAL PROCESSING, VOL. 51, NO. 5, MAY 2003 1439 Computation of Forward Inverse MDCT Using Clenshaw s Recurrence Formula Vladimir Nikolajevic, Student Member, IEEE, Gerhard Fettweis, Senior Member, IEEE Abstract The forward inverse modified discrete cosine transform (MDCT) are two of the most computational intensive operations in the MPEG audio coding stard. In this paper, we used Clenshaw s recurrence formula to transform kernels of the MDCT IMDCT of the general length. Efficient implementations of MDCT IMDCT are obtained. The proposed regular structures are particularly suitable for parallel VLSI realization. Our solution requires less hardware, we achieved significant savings for a number of operations compared with existing related systems. Index Terms Audio coding, modified discrete cosine transform (MDCT), MPEG. I. INTRODUCTION THE MPEG audio coding stard employs the dynamically windowed modified discrete cosine transform (MDCT) to achieve a high-quality performance. Direct computation of the MDCT in MPEG coding of the inverse MDCT (IMDCT) in MPEG decoding are computationally intensive tasks. Therefore, efficient algorithms for the MDCT IMDCT are of prime importance within the audio coding decoding process. Recently, Chiang Liu have proposed recursive algorithms for the forward inverse MDCT [1], which can be implemented by parallel VLSI filters. In addition, Wang et al. [2], Chau Siu [3], [4] Aburdene et al. [5] have proposed recursive algorithms for the general length discrete cosine transform (DCT). Based on the concept of the previously reported algorithms, we used Clenshaw s recurrence formula to transform kernels of the MDCT IMDCT, we propose new recursive structures for the general length MDCT IMDCT. The proposed regular structures are particularly suitable for parallel VLSI realization require less hardware number of operations than the one proposed in [1]. II. CLENSHAW S RECURRENCE FORMULA Clenshaw s recurrence formula is an elegant efficient way to evaluate a sum of coefficients times functions that obey a recurrence formula [6]. In this paper, it is used to obtain recur- sive algorithms for the forward inverse MDCT. Let us first see the formulation of Clenshaw s recurrence formula. Suppose that the desired sum is that obeys the recurrence relation for some functions. 1 Downward order: We define the quantities, by the following recurrence: Clenshaw s recurrence formula states that the sum computed by [6] 2 Upward order: We define the quantities, by the following recurrence: Clenshaw s recurrence formula states that the sum computed by III. DERIVATION OF THE MDCT ALGORITHM (1) (2) (3) can be (4) (5) can be Let,. The MDCT of is given by [1] (6) Manuscript received July 17, 2001; revised October 31, 2002. This work was supported in part by Deutsche Forschungsgemeinschaft under contract SFB 358-A6. The associate editor coordinating the review of this paper approving it for publication was Prof. Tsuhan Chan. V. Nikolajevic is with the Sony International (Europe) GmbH Advanced Technology Center, Stuttgart, Germany (e-mail: nikola@sony.de). G. Fettweis is with Mobile Communications Systems, Department of Electrical Engineering, Dresden University of Technology, Dresden, Germany (e-mail: fettweis@ifn.et.tu-dresden.de). Digital Object Identifier 10.1109/TSP.2002.808123 where is the window length, is the number of transform coefficients. To obtain the recursive transfer function of, let (7) (8) 1053-587X/03$17.00 2003 IEEE
1440 IEEE TRANSACTIONS ON SIGNAL PROCESSING, VOL. 51, NO. 5, MAY 2003 We define Further, we have (9) comparing with (2), we obtain (10a) (10b) Now, according to (5) for upward order, we define from (6), it follows that (11) Fig. 1. Recursive implementation of MDCT derived by using upward order Clenshaw s recurrence formula. (a) According to (13). (b) According to (14). From (11) for, wehave,we have (12) if we put this into the previous equation, after mathematical if we put this in the previous equation, we obtain Formula (13) could be rewritten as (13) (14) Therefore, we recursively generate the from the input sequence according to (11). At the th step, the th MDCT coefficient is evaluated from either (13) or (14). Fig. 1(a) (b) shows the digital implementation for the computation of the th transform element according to (13) (14), respectively. All elements of the transformation can be computed in parallel can be implemented in VLSI. These implementations require one fewer delay element than the method presented in [1]; see Table I. They require the same number of multipliers adders. To compute points of output, one needs ( ) multiplications ( ) additions per output sample, whereas the approach [1] requires ( ) multiplications 3 additions. According to (3) for downward order, we can also define from (4), it follows that (15) (16)
NIKOLAJEVIC AND FETTWEIS: COMPUTATION OF FORWARD AND INVERSE MDCT 1441 TABLE I COMPARISON OF PROPOSED SOLUTIONS AND [1],we have if we put this into the previous equation, we will obtain Formula (17) can be rewritten as (17) From (15) for, we have if we put this into the previous equation, after mathematical (18) Again, we recursively generate the from the input sequence, only now, it is according to (15). At the th step, the th MDCT coefficient is evaluated from either (17) or (18). Fig. 2(a) (b) shows the digital implementation for the computation of the th transform element according to (17) (18), respectively. All elements of the transformation can be computed in parallel can be implemented in VLSI. These implementations require one fewer delay element than the method presented in [1], but the input sequence is in reverse order; see Table I. They require the same number of multipliers adders. To compute points of output, one needs ( ) multiplications ( ) additions per output sample, whereas the approach [1] requires ( ) multiplications 3 additions. If we summarize the results of proposed implementations for MDCT from Table I, it can be seen that we achieved significant savings for number of operations: approximately a 50% saving for the number of multiplications a 30% saving for Fig. 2. Recursive implementation of MDCT derived by using downward order Clenshaw s recurrence formula. (a) According to (17). (b) According to (18). the number of additions. We also decreased the number of delay elements for one. The first solution with upward order is rather superior to the second one with downward order because of natural order of the input sequence. IV. DERIVATION OF THE IMDCT ALGORITHM Let,. The IMDCT of is given by [1] To obtain the recursive transfer function of let (19) (20)
1442 IEEE TRANSACTIONS ON SIGNAL PROCESSING, VOL. 51, NO. 5, MAY 2003 Similarly as for the MDCT, we define (21) Further, we have even Formula (25) could be rewritten as (25b) comparing with (2), we obtain (22a) (22b) From (23), for, we have even. Now, according to (5) for upward order, we define if we put this into the previous equation, after mathematical from (6), it follows that (23) (26a),we have even if we put this into the previous equation, we obtain even (24) even. (26b) is recursively generated from the input sequence according to (23). At the th step, the th IMDCT coefficient is evaluated from either (25) or (26). Figs. 3 4 show the digital implementation for the computation of the th transform element according to (25) (26), respectively. All elements of the transformation can be computed in parallel can be implemented in VLSI. The implementation in Fig. 3 requires one delay element less than the method presented in [1] but one multiplier more. The number of adders is the same. To compute points of output, one needs ( ) multiplications ( ) additions per output sample, whereas the approach [1] requires multiplications additions. The implementation in Fig. 4 requires one delay element less than the method presented in [1]; see Table I. The numbers of multipliers adders are the same. To compute points of output, one needs multiplications additions per output sample. According to (3) for downward order, we can also define (25a) (27)
NIKOLAJEVIC AND FETTWEIS: COMPUTATION OF FORWARD AND INVERSE MDCT 1443 Fig. 3. Recursive implementation of IMDCT according to (25) derived by using upward order Clenshaw s recurrence formula. (a) M. (b) M even. Fig. 5. Recursive implementation of IMDCT derived by using downward order Clenshaw s recurrence formula. (a) According to (29). (b) According to (30)., we get if we put this into the previous equation, we will obtain Formula (29) can be rewritten as (29) From (27) for, we have if we put this into the previous equation, after mathematical (30) Fig. 4. Recursive implementation of IMDCT according to (26) derived by using upward order Clenshaw s recurrence formula. (a) M. (b) M even. from (4), it follows that (28) Again, is recursively generated from the input sequence but, now, according to (27). At the th step, the th IMDCT coefficient is evaluated from either (29) or (30). Fig. 5(a) (b) shows the digital implementation for the computation of the th transform element according to (29) (30), respectively. All elements of the transformation can be computed in parallel can be implemented in VLSI. The implementation in Fig. 5(a) requires one delay element less than the method presented in [1], we do not need to
1444 IEEE TRANSACTIONS ON SIGNAL PROCESSING, VOL. 51, NO. 5, MAY 2003 be concerned with whether is even or, but the input sequence is in reverse order. The number of adders is the same, but the number of multipliers is one more. To compute points of output, one needs multiplications ( ) additions per output sample, whereas the approach [1] requires multiplications 3 additions. The implementation in Fig. 5(b) requires one delay element less than the method presented in [1], we do not need to be concerned with whether is even or, but the input sequence is in reverse order; see Table I. The numbers of multipliers adders are the same. To compute points of output, one needs ( ) multiplications ( ) additions per output sample. If we summarize the results of proposed implementations for inverse MDCT from Table I, it can be seen that we achieved approximately 30% saving for number of additions. We also decreased the number of delay elements for one. In addition, in proposed solutions for inverse MDCT with downward order, it does not need to be considered the parity of, but in some implementations, it might be necessary to have additional memory. From the other side in proposed solutions with upward order, it is not necessary to have additional memory, in most implementations, is even; therefore, only one realization for inverse MDCT is required. Again, we can say that the first solution with upward order is rather superior to the second one with downward order because of natural order of the input sequence. V. CONCLUSION In this paper, we proposed new recursive algorithms for the forward inverse MDCT of general length, which are suitable for parallel VLSI implementation. The Clenshaw s recurrence formula is used for derivation. Our solutions are compared with the method presented in [1]. The comparison is given in Table I. We proposed two solutions with upward downward order of input data for both forward inverse MDCT. Our solutions require significantly fewer number of operations (30 50%) as well as one delay element less compared with the method presented in [1]. In addition, in proposed solutions for inverse MDCT with downward order, the parity of does not need to be considered, but in some implementations, it might be necessary to have additional memory. From the other side, in proposed solutions with upward order, it is not necessary to have additional memory, in most implementations, is even; therefore, only one realization for inverse MDCT is required. REFERENCES [1] H.-C. Chiang J.-C. Liu, Regressive implementations for the forward inverse MDCT in MPEG audio coding, IEEE Signal Processing Lett., vol. 3, pp. 116 118, Apr. 1996. [2] Z. Wang, G. A. Jullien, W. C. Miller, Recursive algorithms for the forward inverse discrete cosine transform with arbitrary length, IEEE Signal Processing Lett., vol. 1, pp. 101 102, July 1994. [3] L.-P. Chau W.-C. Siu, Recursive algorithm for the discrete cosine transform with general lengths, Electron. Lett., vol. 30, pp. 197 198, Feb. 1994. [4], Efficient recursive algorithm for the inverse discrete cosine transform, IEEE Signal Processing Lett., vol. 7, pp. 276 277, Oct. 2000. [5] M. F. Aburdene, J. Zheng, R. J. Kozick, Computation of discrete cosine transform using Clenshaw s recurrence formula, IEEE Signal Processing Lett., vol. 2, pp. 155 156, Aug. 1995. [6] W. H. Press, S. A. Teukolsky, W. T. Vetterling, B. P. Flannery, Numerical Recipes in C. Cambridge, U.K.: Cambridge Univ. Press, 1992. [7] V. Nikolajevic G. Fettweis, New recursive algorithms for the forward inverse MDCT, in Proc. IEEE Workshop Signal Process. Syst., Antwerp, Belgium, Sept. 2001. [8] Information technology Coding of moving pictures associated audio for digital storage media at up to about 1.5 Mbit/s, Part 3: Audio,, ISO/IEC JTC1/SC29/WG11 MPEG, IS11172 3, 1992. [9] Information technology Generic coding of moving pictures associated audio, Part 3: Audio,, ISO/IEC JTC1/SC29/WG11 MPEG, IS13818 3, 1994. Vladimir Nikolajevic (S 94) received the M.Sc./ Dipl.-Ing. degree in electrical engineering from the University of Belgrade, Yugoslavia, in 1994. From 1994 to 1998, he was a research teaching assistant with the Telecommunication Department, Faculty of Electrical Engineering, University of Belgrade. From 1998 to 2001, he was a research assistant with Dresden University of Technology, Dresden, Germany. Since August 2001, he has been with Sony International (Europe), Stuttgart, Germany. Gerhard Fettweis (S 82 M 90 SM 98) received the M.Sc./Dipl.-Ing. Ph.D. degree in electrical engineering from the Aachen University of Technology (RWTH), Aachen, Germany, in 1986 1990, respectively. From 1990 to 1991, he was a Visiting Scientist at the IBM Almaden Research Center, San Jose, CA, working on signal processing for disk drives. From 1991 to 1994, he was a Scientist with TCSI, Berkeley, CA, where he was responsible for signal processor developments for mobile phones. Since September 1994, he has held the Mannesmann Mobilfunk Chair for Mobile Communications Systems at the Dresden University of Technology, Dresden, Germany. Since 1999 he has been the CTO of Systemonic, a startup spun out of TU Dresden, focussing on broadb wireless chip-sets. Dr. Fettweis has been an elected member of the IEEE Solid State Circuits Society s Administrative Committee since 1999 of the IEEE ComSoc Board of governors from 1998 to 2000, respectively. He has been associate editor for IEEE TRANSACTIONS ON CIRCUITS AND SYSTEMS II associate editor for the IEEE JOURNAL ON SELECTED AREAS IN COMMUNICATIONS wireless series. He has organized been on the program committees of numerous IEEE workshops conferences.