3 ms·
Since the DCT has an implicit even extent as opposed to the DFT which is strictly periodic it's much more resistant to removal of high frequencies. Most signals
by 0x09 13y ago
Since the DCT has an implicit even extent as opposed to the DFT which is strictly periodic it's much more resistant to removal of high frequencies. Most signals (especially image blocks) aren't periodic, so the DFT uses a lot of energy to represent the discontinuity at the edge of the signal. The DCT avoids this discontinuity by implicitly mirroring the signal at the edges. This is what is meant when the DCT is said to do better energy compaction.
signal DFT DCT II v-nice and smooth, easy for cos() to fit
\_ \_ \_ \_ _/\_ _/
\ \ \ \ / \/
^sharp, high-frequency discontinuity
this will make a large value at the top of our spectrum
The other reason is that pixel data has no imaginary component, which obviates half the DFT's spectrum, with the DFT requiring complex math regardless. The DCT is purely real-valued so it's a matter of one real output per one real input.
Since the DCT is just an even and real-valued special case of the DFT, those two make up the whole difference.