Lossless JPEG Saving

Log-in or register.

Lossless JPEG Saving

The JPEG codec used in RealWorld Photos applications since version 2008.1 supports lossless and partially lossless operations with a JPEG image.

JPEG compression

JPEG compression was designed to be lossy, which means the encoded image is not saved exactly, but at a relatively very high compression ratio. The small loss of quality outweighs the high compression ratio if the image in question is a photograph. Unfortunately, when a JPEG image is repeatedly modified and saved, the loss caused by the compression accumulates.

Lossless processing

A JPEG image is divided into tiles (called MCUs - minimum compression units) and each tile is processed separately. The size of the tiles is 8x8 pixels, but JPEG can save chrominance (hue) information at smaller resolution and therefore a 8x8 pixels of chrominance information can effectively affect for example 16x16 pixels.

The JPEG codec in RW apps detects which tiles were not changed since the original JPEG image was opened and if such tiles are found, they are copied from the original image without any loss.

Practical usage

To modify your JPEG images losslessly, no special care needs to be taken. If you for example watermark an image and save it, only the portion affected with the watermark will be re-encoded. When cropping or extending the canvas, make sure to make the cuts on tile (MCU) boundaries if you want to have the image saved losslessly. To simplify this task, the crop tool supports tiled mode that only allows you to crop at 16 pixel boundaries.

Limitations

  • If you convert a PNG to JPEG, the JPEG will NOT be the same as the PNG, the lossless saving only works from JPEG to JPEG.
  • The lossless operations are only supported for standard YCbCr JPEGs (these are the most common JPEGs - every digial camera produces these JPEGs), it is NOT supported for Adobe RGB, grayscale, or CMYK JPEGs.

Recent comments

user icon Anonymous
Select background
I wish there were...