Showcase Design : 2D-DCT/IDCT
|
Previous Next
Introduction
Jaskay Technology presents an 8x8 2D-DCT/IDCT with the capability of processing 4:2:2 VGA video at 25fps with just a 3.84MHz clock speed, or at 15fps with just 2.304MHz clock speed (or 0.25clks/symbol in the general case). Low power consumption, coming in part from the low clock speed and in part from specific low-power techniques, and computational accuracy were top design criteria.
All of JPEG1, H.261, H.263, MPEG-1, MPEG-2 and MPEG-4 use an 8x8 2D-DCT/IDCT as part of their image compression methodologies. A short backgrounder to what a 'DCT' is and why it is useful in image compression is now given.
DCT is an acronym for Discrete Cosine Transform, which is the discrete version of the Fourier Cosine Transform. The Fourier Cosine Transform itself is the Real part of the full Complex Fourier Transform. In the digital world, where data has been sampled, it is the Discrete Fourier Transfom (DFT) that finds application, often in the form of the ubiquitous FFT or Fast Fourier Transform. However, whereas the full complex Fourier transform has many uses, for data compression it is not necessary to know the imaginary part (the Fourier Sine Transform).
The Discrete Cosine Transform may be used to good effect in the compression of spatially correlated data. This is because the more spatially correlated a given dataset, the fewer cosine waveforms need to be summed in order to represent it to a reasonable degree of accuracy. Therefore many values output from the DCT may be approximated to zero (or are zero within the bounds of quantisation). Compression of such data using standard techniques then becomes straightforward. The non-zero values may also be compressed depending on the frequency of their occurrence.
Image data is normally highly spatially correlated in both the X and Y axis, and therefore a two-dimensional DCT may be used to transform the data before compression techniques are applied.
1 This applies to the original JPEG standard. The later JPEG2000 uses a wavelet transform.
Previous Next
|