Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

I'm trying to convert some BMP files into JPEG format at highest quality (Q = 100) until I realize there is a "Progressive" option here.

One of my BMP file is 2.9MB. After converting to JPEG format without progressive the new file size is 338.2KB and with progressive the new file size gets down to 283.2KB only.

I have read Wikipedia article about what this progressive JPEG is for, but my concern is comparing to normal JPEG, the quality of progressive JPEG get worse or they will be the same?

share|improve this question

2 Answers 2

up vote 6 down vote accepted

There are a couple of nice posts here that seem to describe why Progressive compression may be better and it seems to come down to the fact that in Progressive JPEG the compressed data is ordered more efficiently and that blocky image data and noise get separated and compressed separately.

I've highlighted the important pieces below, they describe it better than I ever could.

As a result I would expect that progressive JPEG is better compression, but not any significant change in image quality.

Progressive JPEG has two different coding features:

  1. Spectral Selection
  2. Successive Approximation

What you describe is just the first feature (first DC, then AC bands). However, it is the second feature which is the major reason for different coding efficiency of Progressive JPEG. With Successive Approximation, you first store the higher bits of the coefficients (low precision, coarse image), then the lower bits (high precision, detailed image). In usual images, the noise is concentrated in the lower bits. Therefore, the Huffman encoder can be more efficient in symbol coding in the higher bit range where less noise is. The Successive Approximation coding thus separates the noise from the image, and that is the reason for better coding efficiency (noise is hardly compressible).

The more noise (detail) the image has, the better the coding efficiency of Progressive JPEG. The less noise (blur) the image has, the better the coding efficiency of Sequential (Non-progressive) JPEG.

Note that most Progressive JPEG coders use a mixture of Spectral Selection coding and Successive Approximation coding. For better coding efficiency, mainly Successive Approximation is relevant, and you can try to find optimal Successive Approximation paramters (the point where to separate the precision - Ah/Al in the JPEG standard) for your class of images. For example, I sometimes found an optimal point Al=4 for my images (4 lower bits separately coded).

share|improve this answer

The advantage of progressive JPEG is that if an image is being viewed on-the-fly as it is transmitted, one can see an approximation to the whole image very quickly, with gradual improvement of quality as one waits longer; this is much nicer than a slow top-to-bottom display of the image. The disadvantage is that each scan takes about the same amount of computation to display as a whole baseline JPEG file would.

The image should be exactly the same, it only takes more processing to display.

Source

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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