17

I am trying to figure out why JPEG compression causes noise in the red spectrum that is larger and fuzzier in regards to, say, the blue spectrum. I've seen this question and I am not looking for a workaround; I just want to know why red is prone to more distortion during compression.

This behavior is highly visible in 'political campaign' images (where the picture is rendered in red, blue, and some shade of tan), but is visible elsewhere too. Here is an example:
Image of Spock in red, light blue, and tan. Notice the border along the red side?

3
  • I don't think it's a 'red' issue in this example. Rather it's an issue of high contrast areas: 'blue meeting blue' vs. 'blue meeting red'.
    – DA01
    Sep 13, 2013 at 18:51
  • I thought somebody might say that :). If you zoom in on the area of his right ear (from our perspective, his left) and look along the border, it still has less noise than the opposite ear.
    – person27
    Sep 13, 2013 at 23:28
  • If you view the image (say, right-click, view image, or copy image location then paste that in a new tab) and zoom in (say, hold CTRL while using scroll wheel), you'll see there is distortion on the blue sides of the fence too - notably, in the hair near the red it is really bad, but you see it even on the pale blue against dark blue. I suspect our eyes are more atuned to the effect on red - it might be that the blurred portions have higher contrast when blurred in red than, say, blue, or it might be a property of our eyes - I'm not sure (but you could measure the tones to test). Aug 16, 2018 at 2:51

6 Answers 6

14

Everything @Scott said is true but for better understanding of the WHY and even how come RED seems to look worse, I direct you to this information (emphasis mine and edited for flow)

JPEG ... is designed for compressing either full-color or gray-scale images of natural, real-world scenes [and] is a lossy compression algorithm...

JPEGs are best suited for continuous tone images like photographs or natural artwork; not so well on sharp-edged or flat-color art like lettering, simple cartoons, or line drawings. JPEGs support 24-bits of color depth or 16.7 million colors.

JPEG is actually just a compression algorithm, not a file format. JPEG is designed to exploit certain properties of our eyes, namely, that we are more sensitive to slow changes of brightness and color than we are to rapid changes over a short distance.

While JPEGs are usually the best choice for photographs, on 8-bit monitors they are force-dithered into an 8-bit palette. JPEG compression is treated as 24 bit data (8 bit for gray), regardless of the colors in the original image. Therefore, if you reduce an image from 24-bit to 8-bit prior to JPEG compression, the compression ratio will actually worsen as will the overall quality.

JPEG compression introduces noise into solid-color areas, which can distort and even blur flat-color graphics. This is why JPEGs are not well suited to flat-color sharp-edged art or type. A JPEG can reduce a 900K 24-bit image to 45K (high quality) or 30K (medium quality), a factor of 20:1 to 30:1. With JPEGs, however, the more you compress, the more edge definition and sharpness you lose. JPEGs do not support transparency, either.

It is important to note that saving a graphic to JPEG format with compression should be a last step. Compression effects are cumulative. This means that every time you re-save a JPEG file, you are compressing it further, and thereby tossing away data (photographic detail) that you can't get back.

Now for the super technical details that explain the prevalence of the RED (which is a trick on the eye actually) you might want to read this information (again emphasis is mine)

The starting point of the JPEG compression are the pixels in the primary colors red, green and blue, which are for a lossy compression is not optimally suited. Before the actual compression simply convert the RGB colors, for example, in the YCrCb model that the first channel stores the pure brightness information (Y), so the average of the brightness of the red, blue and green channel. Stores in the second channel is the deviation of the red channel of the average brightness, and in the third channel, the deviation of the blue channel. The value for the green channel can be calculated from this and does not need to be specially recorded. Once you have separated as components luminance (brightness) and chrominance (color), you can reduce the resolution of the two chrominance channels to half or a quarter, as they for the sharpness does not matter. The visual cortex of humans contains independent systems for the perception of colors and shapes, and the color-blind would ignore the former fine resolution color boundaries anyway, the color detection system works again with a three to four times as low resolution as the form of recognition.

Hope that helps you understand better all that's going on.

3
  • The English in the second quote is... um... esoteric. Sep 13, 2013 at 9:05
  • 4
    @AndrewLeach, you are absolutely correct, it was written to be very technical and focus on the GUTS of the science, so it can be a bit "dry" if you will or "technical" but I felt it merited mention because it shed light on important elements. Sep 14, 2013 at 9:34
  • 1
    I think he meant "ungrammatical." In any event, an explanation from nature is a little off-base IMO: the red in the sample image is very "pure" and therefore very light in the R channel. The G & B channels in this area are very dark. Because of this fact, the quantization effects are more pronounced: there are no other colors masking the artifacts. If you examine the sample image on a per-channels basis you will see more pronounced artifacts wherever one of the channel's data differs significantly from the other two.
    – horatio
    Oct 17, 2013 at 16:19
4

JPG is a lossy compression method. This means every time you save a jpg image data is thrown away in order to save file size (kb). It is important to realize that this loss of data happens each and every time you save a jpg. So if you open a jpg, then save it as a jpg you have thrown away more image data. It is in areas where the data loss has occurred that artifacts (or scum or fuzziness) begin to appear.

This loss of data is most often noticeable where colors transition from one field of solid color to another field of solid color. There's no direct issue with any particular color specifically. It is more about large areas of similar colors.

For images which contain only large areas of flat color, formats such as gif are more appropriate than jpg. The gif format was designed to maintain large areas of flat color.

1
  • 5
    does not answer the question.
    – Nearoo
    Apr 13, 2018 at 9:24
2

Take a look at YCbCr luma component:

enter image description here

See, it is not about red color (nor blue and green color).
It is about the sharp-edges that are visible in YCbCr luma component.

Let's change colors from RGB to GBR. The same blurring is visible again:

enter image description hereenter image description here

The same does happen to the strong blue color:

enter image description here

0

JPEG compresses colour equally and therefor does not cause a blur with red, however, the human eye might. The human eye has approximately 7 million cones and about 65% of them receive red light. This may be why we see reds blur more than other colours... because we see "more" red.

2
  • Yes you are right, no actual bias; however, the implication was that the red plays more trick on the human eye, followed by blue and then green. If you look at TV sets for example, you often notice the RED is the most commonly set too high, BLUE is second and GREEN is third, just a human brain thing I guess, don't know why exactly. Sep 14, 2013 at 9:31
  • Of course that doesn't account for individual sensitivities and/or color blindness, just saying in anecdotal generalization as it applies to the majority of the population in the center of the bell curve. Sep 14, 2013 at 9:44
0

Compression artifacts from hard edges are proportional to the contrast of the edges--the red-blue edge is the contrastiest thing in that image.

Any saturated primary fares badly in the jpg color representation scheme. The difference in the example image is a saturated red vs. a dull blue-gray.

The tenet that "chroma subsampling doesn't affect sharpness" also tends to fail for saturated primaries bordering black.

-1

Due to our natural environment being predominantly green, our eyes are most sensitive to green. We can detect more subtleties in the green portion of the spectrum. Evolution - avoiding predators, identifying prey. It is this inequality in colour perception that probably leads to red components in images looking different.

2
  • 1
    I'm not really sure that I understand the relationship between an increased sensitivity to the color green and its effect on how we perceive red. Red is a primary color; it is not mixed with and contains no green.
    – person27
    Oct 17, 2013 at 14:29
  • 1
    This is not even really correct. Human spectral sensitivities center (average) on yellow (600nm), with human perception being basically RGB. Anything else (yellow included) is computed.
    – horatio
    Oct 17, 2013 at 16:31

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.