Most implementations of JPG store chroma (color) information at lower resolution than intensity information. The design philosophy of JPG is to give the smallest file size for an image by discarding information the eye is least likely to notice. Since the eye is less sensitive to high spatial frequencies in color than in intensity, storing chroma information at lower resolution is appealing.
Adobe Photoshop follows this practice at low quality, high compression settings, but switches to 1x1 chroma subsampling at higher resolutions. The images below allow one to compare the two approaches.
You may view the original image here in PNG format.
The following images were constructed in Photoshop using the Image Ready JPG creation facility. The quality settings refer to this tools settings.
Setting 51, 143K:
Setting 50, 125K:
Since these settings are so close, the main difference in the compression algorithm is the switch from 1x1 to 2x2 chroma subsampling. Most of the image looks nearly identical, but look at the striped rugby shirt of the man kneeling on the front row. The colors of the stripes are significantly degraded by the switch. Here is a blowup:
Notice the dramatic change from "51 quality" to "50 quality." So, is the decrease in file size going to 2x2 subsampling worth the loss of color in areas such as the shirt containing 1-pixel-wide stripes? Clearly not here, but how about in the rest of the image?
Some may also be interested in how another application fares when creating a 143K file with 2x2 chroma subsampling. Here is Paint Shop Pro 6's result at a quality setting of 15:
What do you think? Is PSP able to exploit 2x2 color subsampling to give higher quality at the same file size in other areas of the image? Let me know what you think at firstname.lastname@example.org.
For more on the effects of chroma subsampling and variations in JPG compression, see the nice page by Martin Brown, Probing JPEG Chroma Sampling.
Acknowledgements: Thanks to Ching-Wan Yip for providing the Photoshop images.
[an error occurred while processing this directive][an error occurred while processing this directive]