You are correct in saying that if jpeg compression could cut the file
size without degrading the quality, the camera would save photos that
way in the first place. There is, and must inevitably be, some
degradation of the image when using jpeg, as jpeg is an inherently
lossy format. The degradation increases as the jpeg quality setting is
However, the JPEG algorithm is rather good at compressing an image by
discarding detail that we are unlikely to notice. Jpeg can provide
rather good compression with only minor visual degradation, but if you
are printing photos at 20"x30", you are more likely to notice the
degradation than someone who is printing at 4"x6".
When a photosite makes a recommendation based on pixels, this is a
simplification which assumes jpeg compression as "typically" provided
by the camera. A camera may use different amounts of jpeg compression
according to how many pixels you have asked it to save. I would
generally trust the camera manufacturers to choose appropriate amounts
of compression for the kind of users their camera targets.
For the best results, of course, you need to tell your camera to store
the photos in a raw format, without any jpeg compression. This leads
to very large file sizes, and for many purposes it is visually
acceptable to use jpeg compression with a high quality setting.
The jpeg algorithm breaks up the image into blocks of 8x8 pixels.
Within each of these blocks, it looks not at the individual pixels but
at whether there are color gradients across the pixels. A color
gradient across the pixels can be encoded quite compactly. For each
8x8 block the algorithm calculates multiple color gradients (at
different frequencies) that, when added together, approximate the
original image. The quality factor affects just how many of these
color gradients are used - the less visually significant ones can be
Well, that's a pretty hokey "quick summary" of the idea behind jpeg
compression. A much more precise description (with worked example) can
be found here:
So just how severe is the image degradation for any specific quality
level? It depends on the nature of the image. Images with
gently-changing gradients and soft edges (such as rainbows and clouds)
compress to small sizes without obvious visual degradation. Images
with sharp edges and bold color contrasts compress much less without
degradation - or alternatively, show much more degradation for a given
amount of compression.
There's a great jpeg quality browser here:
"JPEG Compression Errors Evaluation"
It shows a test image with a grid of color squares, plus a face. Wait
for the page to load completely, then click the buttons below the
image and watch how the image changes. As you reduce the quality, the
first noticeable degradation is in the text. As you reduce the quality
further, the color squares start to show artifacts, then with further
quality reduction the face becomes visually degraded too.
On this sample, you can reduce the quality quite a lot before the
degradation becomes objectionable. That's because you are viewing it
on a screen, with its limited resolution, On photographic paper you
would notice the degradation sooner, and at 20"x30" you would notice
the degradation much sooner.
I realise this doesn't provide you with a clear solution to your
dilemma. It depends on your own personal perception of the image
degradation. But I am absolutely sure what I'd do in this situation.
I would upload the high quality images. After I had printed off a
dozen or so at 20x30, and was familiar with the image quality this
produces, I'd upload a few of those same images at a lower quality and
print them off. Only if I was perfectly happy with the lower quality
printouts would I start uploading my backups at the lower quality.
I hope this addresses the issues that you raised in your question. If
not, please request clarification.
Google search strategy:
"jpeg compression" artifacts
Clarification of Answer by
15 Jun 2006 08:07 PDT
If you edit a jpeg-compressed image, the editing program must first
uncompress the original image, apply the edit, then recompress the
modified image. This can cause additional image degredation. Although
this degradation should be small if you are saving at a high quality
setting, if you do this repeatedly then the loss of degradation would
soon become significant.
Presumably that's why your application keeps a list of the changes in
a database - so that it only needs to recompress once when you export
your image, rather than every time you edit the image. That's good!
Having said that, certain kinds of changes can be made to a jpeg file
without the need to uncompress and recompress the image. I see from
the PicaJet website
that they claim to be able to "crop and rotate JPEG images without
recompressive files". That's great, although possibly it may only
apply to 90 degree rotations (check your documentation to be sure).
You can also edit metadata (e.g. IPTC fields) without needing to
recompress the image data.
To summarise: If you restrict your editing to crop, rotate and edit
metadata, there should be no image degradation. Other editing will
necessarily entail recompression of the image, with a slight image