The Discrete Cosine Transform (DCT)

In image coding (such as MPEG and JPEG), and many audio coding
algorithms (MPEG), the *discrete cosine transform* (DCT) is used
because of its nearly optimal asymptotic theoretical
*coding gain*.^{A.12}For 1D signals, one of several DCT definitions (the one called
DCT-II)^{A.13}is given by

where

For real signals, the real part of the DFT is a kind of DCT:

Thus, the real part of a double-length FFT is the same as the DCT except for the half-sample phase shift in the sinusoidal basis functions (and a scaling by 2 which is unimportant).

In practice, the DCT is normally implemented using the same basic
efficiency techniques as in FFT algorithms. In Matlab, the functions
`dct` and
`dct2` are available for the 1D and 2D cases, respectively.

**Exercise:** Using Euler's identity, expand the cosine
in the DCT defined by Eq. (A.2) above into a sum of complex
sinusoids, and show that the DCT can be rewritten as the sum of two
phase-modulated DFTs:

[How to cite this work] [Order a printed hardcopy]

Copyright ©

Center for Computer Research in Music and Acoustics (CCRMA), Stanford University

[Automatic-links disclaimer]