Simulation of the 1-dimensional Discrete Cosine and Fourier Transforms

- DCT and DFT -

Attention! If you have problems in displaying the applet, it might be because your browser does not have the (unfortunately still) necessary Java 1.2 plugin.


In image and video compression, algorithms can either directly base on the values of the pixels or they can perform a transformation into the frequency domain. Most Internet applications today aim to reach a high transmission rate. To obtain this, the psysiological properties of the Human Visual System have been studied carefully and one now knows that people a more sensitive to low frequencies than to high frequencies. Thus, transform algorithms into the frequency domain have gained high popularity as the compression rate can be easily adjusted in the frequency domain without high impact on the visual quality.

Most of the Internet compressions standards for still image compression (JPEG) and video (Motion JPEG, H.261, H.263) are based on the Discrete Cosine Transform (DCT) which splits an image up into blocks of 8x8 pixels.

We have observed that most of the students being confronted with the DCT for the first time have big trouble understanding the idea of a transform (people are used to think in spatial domain, but not in frequency domain) as well as understanding the formula itself. The DCT is a special case of the Discrete Fourier Transform (DFT). While the DFT takes complex values in the frequency domain, the DCT takes strictly real values.

Our applet tries to clear out the problems with both transformas DCT and DFT by invoking the "play instinct" of students: The user can chose discrete 8x1 (1-D) input values in the range 0 to 255 for the grey value of the pixels. In the frequency domain, rulers allow to adjust the amplitudes of the different frequencies. A backward transform plots the resulting grey values from the chosen ampitudes over the initial input values. The task is to find the "correct" amplitudes in the frequency domain to recover the initial signal. Of course, we have included a solution to the problem...

A detailed explanation of the mathematical background as well as of the usage of the applet can be downloaded from the following list [german!].
[Transformationen.pdf] (759KB)
[] (21.872KB)

Please feel free to mail us your comments to the applet. We look forward to your opinion.

The source code is available, but not public. Please contact Claudia Schremmer for the source code of the applet.

© 2000 - LS Praktische Informatik IV

Developed by Holger Wons
Coached by Claudia Schremmer

Last modified: Tue Feb 6 15:51:33 MET 2001