A fast cosine transform in one and two dimensions

The discrete cosine transform (DCT) of an N-point real signal is derived by taking the discrete Fourier transform (DFT) of a 2N-point even extension of the signal. It is shown that the same result may be obtained using only an N-point DFT of a reordered version of the original signal, with a resulting saving of 1/2. If the fast Fourier transform (FFT) is used to compute the DFT, the result is a fast cosine transform (FCT) that can be computed using on the order of N \log_{2} N real multiplications. The method is then extended to two dimensions, with a saving of 1/4 over the traditional method that uses the DFT.