DCT, what is the benefit of using it for image processing?

I noticed that it is used in JPEG compression.

Can i use it for something else?

Is it useful for motion detection?

Is it useful for compressing further? If I convert an image to its DCT I could remove the higher frequencies to zero, then convert back to image. Would that make the image size smaller in bytes?

I have ordered books on Amazon about DCT but I cannot wait to start working with it.

In a brief synopsis/paragragh what could I consider DCT of an image for?



2 Answers 2


DCT stands for Discrete Cosine Transform. It is a member of the family of Fourier transforms. Hence it computes/displays the amount and distribution of spectral components of the signal being transformed. Its distinguishing features are that it produces real transform coefficients, it is computed using only real arithmetic and it packs signal energy into low frequency components (thats why it is used in transform based data compression algorithms). For data compression purposes DCT is only an example of other available methods and it serves only the beginnig part of such codecs. You must also consider entropy based coding, perceptual metric evaluation and Quantizer design issues to realize any practical benefits from such transforms.

  • $\begingroup$ I got so much to learn. Need more books. Thanks $\endgroup$ Commented Feb 8, 2015 at 20:29
  • $\begingroup$ your welcome. In the mean time, until your ordered books arrive, you can have a look at the following paper, which braodly explains the use of DCT in image and video coding: s000.tinyupload.com/?file_id=10310508805072810917 $\endgroup$
    – Fat32
    Commented Feb 8, 2015 at 20:57
  • $\begingroup$ Packs energy into low frequency components for many natural images. You can contrive non-natural images for which the DCT is bad, but you may have better luck with DFT. There is some work by Jain and others which one can look up that says that the Karhunen-Loeve Transform of a AR(1) process looks like a DCT in some sense, which can be used as one justification for why its good as well. $\endgroup$
    – Batman
    Commented May 4, 2015 at 20:52

DCT is not actually the step of compression in JPEG, as it was mentioned in other answers, it

computes/displays the amount and distribution of spectral components of the signal being transformed.

so, If you have an Image that is 64*64 bits, the result of DCT is also 64*64 matrix. BUT, since the right bottom part of the DCT outcome matrix contains only the highest frequencies, which for us-humans- can't not actually differ from a little higher or lower frequencies, so JPEG removes these frequencies and you will not observe that difference.

JPEG compression philosophy have applied what actually do the eyes of humans observe, if a baby Weight have gone from 3KG to 6KG you can observe that change and feel it, BUT, if your friends weight have changed from 78KG to 80KG you can't observe that change, that's because humans can observe change only on the low frequencies not the high ones. after you remove these high frequencies , only then you have started to compress the photo(in JPEG there is still3 more steps to finish the compression and encoding process)

  • $\begingroup$ Interesting answer. If I WANTED to include non-human observable signals how would I do that? I am thinking in the context of motion detection you see $\endgroup$ Commented May 5, 2015 at 7:21
  • $\begingroup$ It's not this simple. Humans can perfectly well observe high frequencies, and in fact the human eye has dedicated hardware (wetware) to detect sharp edges. What humans cannot detect is low-amplitude high frequency signals in the presence of unrelated high amplitude signals at other high frequencies. That's why JPEG stores only the high-amplitude terms. But "JPEG artifacts" are well-known enough, and these happen at edges where there are a lot of related high-frequency components. $\endgroup$
    – MSalters
    Commented May 5, 2015 at 9:57
  • $\begingroup$ yeah, you are right of course, but in images, the word "amplitude", is not used exactly as in signal processing, what do you think ? $\endgroup$ Commented May 5, 2015 at 10:03

Not the answer you're looking for? Browse other questions tagged or ask your own question.