Is JPEG lossless when quality is set to 100?

As correctly answered above, using a “typical” JPEG encoder at quality 100 does not give you lossless compression. Lossless JPEG encoding exists, but it’s different in nature and seldom used.

I’m just posting to say why quality 100 does not mean lossless.

In JPEG compression information is mostly lost during the DCT coefficient quantization step (8-by-8 coefficient blocks are divided by a 8-by-8 quantization table, so they become smaller –> ‘more compressible’). When you set JPEG quality to 100, no real quantization takes place (because the quantization table will be all 1s, at least with standard IJG-JPEG tables), so in fact you don’t lose information here..

However, there are mainly two factors leading to information loss even when no quantization takes place:

  1. Typically, JPEG compression reduces color information (becase the human visual system is less senstitive to that than to lumimance). Therefore, even at quality 100 you may be carrying out chrominance subsampling (which means, dropping half or more Cb and Cr coefficients). When this happens, information is lost, even when no quantization happens. However, you can tell the encoder to preserve full chromimance (so called 4:4:4 color sampling).
  2. Nevertheless, JPEG encoding implies going to the DCT domain, which causes rounding of coefficients. Rounding discards some information. This will happen regardless of all other options.

Leave a Comment