IEEE SIGNAL PROCESSING LETTERS, VOL. 6, NO. 3, MARCH 1999 61 On Fast Algorithms for Computing the Inverse Modified Discrete Cosine Transform Yun-Hui Fan, Vijay K. Madisetti, Member, IEEE, and Russell M. Mersereau, Fellow, IEEE Abstract—Two new fast algorithms for computing the inverse modified discrete cosine transform (IMDCT) as used in the adaptive spectral entropy coder (ASPEC) [2] are proposed. A fixed-point error analysis is presented to determine the number of significant bits required for fixed-point implementations. Index Terms—Audio coding, discrete cosine transform, discrete Hartley transform, discrete transform, error analysis, quantiza- tion, signal reconstruction. I. INTRODUCTION T HE MODIFIED discrete cosine transform (MDCT) is part of the time domain aliasing cancellation (TDAC) transform that appeared in [6]. The ASPEC coder utilizes the oddly stacked TDAC transform. We will consider the transform of lengths of power of two. In important practical applications, e.g., playback media, the computational speed of a decoder is of more importance than the encoder, and a majority of the computational resources is consumed in the transform computation. Therefore, we will present two fast IMDCT algorithms and, more importantly, a fixed-point error evaluation. It will be shown in Section II that while both algorithms are FFT-like, many differences do exist. Due to a slight difference in the decomposition processes, the two algorithms possess very different characteristics—one requires fewer operations and less memory but is unsuitable for fixed- point implementation, while the other requires relatively more operations and memory, but is more suitable for fixed-point implementation. In Section III, an experimental evaluation of fixed-point errors of the latter algorithm will be presented. II. IMDCT ALGORITHMS The IMDCT discussed in this article is defined by the equation [2] (1) where and . is a positive integer. The IMDCT combines an interpolation by a Manuscript received February 18, 1997. This work was supported by the U.S. Air Force under Contract F33615-94C-1493 RASSP Technology Base Program, 1994–1997, to GTRC/DSP Laboratory. The associate editor coordinating the review of this manuscript and approving it for publication was Prof. A. Tewfik. The authors are with the Center for Signal and Image Processing, Electrical and Computer Engineering, Georgia Institute of Technology, Atlanta, GA 30332-0250 USA (e-mail: yhfan@ee.gatech.edu). Publisher Item Identifier S 1070-9908(99)01791-5. factor of two and an inverse transform. Direct implementation requires additions and multiplications. The first algorithm (IMDCT-I) is a variation of the algorithm by Lee in [4]. The derivation begins with multiplying both sides of (1) by , which is always nonzero for integer . After some manipulation with the equation and separation of the output into two halves, we get a pair of equations as follows. for where . Fur- ther decomposition requires an additional manipulation similar to that of the decimation-in-time FFT. The whole process is repeated as many times as necessary to completely decompose the IMDCT into several sets of two-point transforms. The flowgraph of a 16-point IMDCT using this algorithm is shown in Fig. 1(a). However, after more carefully examining the flowgraph we realize that the flowgraph can be simplified and, consequently, the number of operations can be drasti- cally reduced. The resultant flowgraph is shown in Fig. 1(b). The required numbers of additions and multiplications are and , respectively. In contrast to [3], which showed a fast algorithm requiring additions and multiplications, our algorithm requires fewer additions. When the subsequent windowing and adding are considered for perfect reconstruction, our algorithm can be easily modified to absorb the window and result in a computation that requires additions and multiplications totally. That is, a total of operations are required, which is fewer than the number of operations shown in [8], which is based on the fast algorithm developed in [3]. The second algorithm (IMDCT-II) is inspired by [5] and based on the fast Hartley transform (FHT) derived in [1]. The basic operation here is decomposing the summation (over the odd samples) into a summation of sines and a summation of cosines. The derivation begins by separating the outputs of (1) into two halves, and treating each half as a summation over 1070–9908/99$10.00 1999 IEEE