from
The Free On-line Dictionary of Computing (8 July 2008)
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}.
(1997-03-10)