Is it possible to apply DCT for JPEG image compression, Please read the problem and answer

6 views (last 30 days)
I was presenting my M-Tech thesis and during the presentation i was asked a question. My research work is based on removing blocking artifacts which comes usually after an image is compressed. During my presentation i stated that first i am compressing a JPEG image with DCT technique and because it divides the image into 8*8 block sizes, the blocking artifacts are visible at the non overlapping block boundaries. I was asked why you are compressing an image with DCT when JPEG itself is a compression technique or standard. Now my question is "IS DCT itself a compression technique or not?". "Can DCT be used just for dividing an image into 8*8 blocks only". and final question is can we compress a JPEG image with DCT? (Although i know JPEG compression is base on DCT). Please justify in detail. thanks in advance

Answers (1)

Image Analyst
Image Analyst on 25 Aug 2014
JPEG is already compressed. I don't know how you'd do DCT compression on a JPEG file. If you could do it, without reconstructing the image first, then it certainly would not help. At best it would remain the same and could even get worse if the second compression was a greater compression. It's like if you have a JPG file or an EXE file, or any other binary file. It's already compressed so if you tried to compress it into a zip file, it's not going to compress much more, if any. There are probably no more "runs" of a constant value left to remove.
To answer your questions more directly: "IS DCT itself a compression technique or not?" DCT is not a compression technique. It can be employed by compression techniques as one step of the process.
"Can DCT be used just for dividing an image into 8*8 blocks only" Yes you can divide the image into 8x8 blocks and do DCT on each block.
"can we compress a JPEG image with DCT?" Like I said, maybe (it probably needs to be uncompressed first) but it's not going to repair the image or improve it in any way. It's already compressed so compressing it more will require throwing away more information.
Disclaimer: I'm not a compression expert.
  2 Comments
Pearl Sahni
Pearl Sahni on 25 Aug 2014
Thanks you for your help. Actually i am applying DCT after reconstructing the JPEG image first as you have said. My aim to do so is to make the blocking artifacts visible and then remove them with fuzzy filter and Genetic Algorithm. Is there a need to compress a JPEG image with DCT to make the blocking artifacts visible. Can i proceed this way this way or simply use DCT for dividing an image into 8*8 blocks and apply the same on each block independently rather than compressing the JPEG image with DCT first. Please suggest if you can. Also it will be helpful for me if you please let me know how DCT can be applied independently on each block (a code would be good for me)
Image Analyst
Image Analyst on 25 Aug 2014
I'm not an expert on JPEG, but there is no need to do DCT on the JPEG image (reconstructed or not) to make the artifacts visible. With enough compression they are visible without further processing. And I just don't see why doing DCT on the data, which already has been DCT'ed, is going to help. But you're supposed to be more expert than me since it's your idea for your "M-Tech thesis" (Is that equivalent to a masters or a Ph.D.?) I suggest you talk it over with your adviser, who hopefully knows more about it than either of us.

Sign in to comment.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!