Home Articles FAQs XREF Games Software Instant Books BBS About FOLDOC RFCs Feedback Sitemap

discrete cosine transform

You are here: irt.org | FOLDOC | discrete cosine transform

<mathematics> (DCT) A technique for expressing a waveform as a weighted sum of cosines.

The DCT is central to many kinds of signal processing, especially video compression.

Given data A(i), where i is an integer in the range 0 to N-1, the forward DCT (which would be used e.g. by an encoder) is:

 B(k) =    sum    A(i) cos((pi k/N) (2 i + 1)/2)
        i=0 to N-1

B(k) is defined for all values of the frequency-space variable k, but we only care about integer k in the range 0 to N-1. The inverse DCT (which would be used e.g. by a decoder) is:

 AA(i)=    sum    B(k) (2-delta(k-0)) cos((pi k/N)(2 i + 1)/2)
        k=0 to N-1

where delta(k) is the Kronecker delta.

The main difference between this and a discrete Fourier transform (DFT) is that the DFT traditionally assumes that the data A(i) is periodically continued with a period of N, whereas the DCT assumes that the data is continued with its mirror image, then periodically continued with a period of 2N.

Mathematically, this transform pair is exact, i.e. AA(i) == A(i), resulting in lossless coding; only when some of the coefficients are approximated does compression occur.

There exist fast DCT algorithms in analogy to the Fast Fourier Transform.


Nearby terms: disconnect « Discordianism « discrete « discrete cosine transform » discrete Fourier transform » discrete preorder » discriminated union

FOLDOC, Topics, A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z, ?, ALL

©2018 Martin Webb