I’m just starting out in the Web world and was just told by someone else who I respect that I should be careful with the JPEG graphics format because it’s “lossy”. I have no idea what that means, however. Can you enlighten me?
While I’m a big fan of the JPEG graphics format myself – just about every screenshot on Ask Dave Taylor is in JPEG format – I know exactly what your friend is talking about. A lossy graphics format is one where a small amount of information about the original picture is lost each time the image is saved.
To understand why that happens, it’s critical that you know that the Joint Photographic Experts Group “JPEG” format uses a compression algorithm to try and shrink down the resultant image file size. You can see this quite easily by creating a 100×100 pixel solid black image then saving it as a JPEG. It’ll be amazingly small considering that it’s actually holding information on 10,000 different individual pixels or dots of information (on my Mac, it’s only 823 bytes in size).
The specific compression that JPEG uses is quite fascinating, built upon fractals and Mandelbrot sets, but that’s another story entirely (which you can start learning about at Bernard Mandelbrot’s site)
Anyway, back to lossy JPEG compression!
The problem is that when JPEG compressed images are re-expanded, there’s just less information available than there had been before. This doesn’t change for a given static JPEG file, but if you keep editing the file, each time you save it, you’re compressing it a bit more, that is, losing a bit more information from the original.
Let’s have a quick look. First off, here’s a nice, detailed original image I’m going to start with:
This is saved in 100% quality so while it has some loss simply because it’s in JPEG format, it’s the minimum possible.
Now I’m going to open up and save the image a half-dozen times, using 75% image quality each time so I’ve got a constantly degrading image. Here’s the result:
It still looks surprisingly good, given that the first image is 190Kbytes and the second is only 18Kbytes. A testimonial to the brilliance of the compression algorithm.
But we have lost data. Let’s zoom in on the tiger’s eye and you’ll be able to see what I mean.
In the following image, the eye on the left is from the original Tiger image, and the eye on the right is the same section of the photo, but from the highly compressed file:
As is clearly obvious, the price we’ve paid for a much smaller file size is that we’ve lost quite a bit of the original image detail. In pictures of this nature, it might not seem terrible, but the loss of image data in JPEG format is a significant issue for photographers and others who need to retain original image quality.
Anyway, I hope that clarifies why JPEG is considered a “lossy” format!
thank u sir
“PNG is frequently better suited, not least because PNG files are often smaller than their JPEG counterparts” http://www.xlo.co/blog/general/png-vs-jpeg
I agree with your assessment, Kevin, except that from my experience producing a site with a wide readership, I know that not every browser out there has support for PNG format. Then GIFs have problems of their own if you use more than 256 colors or seek color fidelity. Everything has pro’s and con’s, of course.
As you yourself pointed out, JPEG stands for Joint Photographic Experts Group. The key word here is “photographic”.
You also said “just about every screenshot on Ask Dave Taylor is in JPEG format”. Given that JPEG is specifically tuned for photographs, why would you choose it for screenshots? It tends to make unnecessarily bulky and ugly screenshots (and icons, line art, etc.) compared to other formats (specifically GIF and 8-bit PNG). Try it yourself. Compress a screenshot with JPEG and GIF and compare them. 8-bit PNG is even better than GIF, but requires a bit more knowledge of what you are doing — if you end up with a 24- or 32-bit PNG, it won’t be smaller.
JPEG is designed specifically for photographs. It performs well there, but generally not in other areas. There are more appropriate formats for other purposes.
Ah, you’re absolutely correct, Paul. I don’t know where “fractal” got stuck in my head about JPEG compression algorithms. In any case, whatever algorithm is used, the explanation of why JPEG is a “lossy” graphics format is still valid.
I believe JPEG is based on the Discrete Cosine Transform (DCT) followed by quantization — a sort of “rounding”, which is the lossy part — followed by Huffman (or even arithmetic) coding, and *not* on Fractals or Mandlebrot sets.
See http://www.faqs.org/faqs/compression-faq/part2/