As far as I know, the RGB to YCbCr conversion is just a linear transformation, yet the Y channel successfully captures the intensity value of each pixel. How?

In other words, where do these magic numbers come from?


Y' in (Y',Cb,Cr) is called the Luma component, and on its own it represents a reasonable black and white image. But Y' is not an accurate representation of the actual Luminance; for blue and red objects its value is way too low. This is described as the Constant Luminance Error. For a better result the order of some operations must be changed; the wrong order exists because it was easier to create NTSC TV this way.

I refer you to my friend Dr. Poynton: https://poynton.ca/notes/video/Constant_luminance.html , and in his other publications and PhD thesis: http://poynton.ca/PDFs/Poynton-2018-PhD.pdf .


Likely someone above my pay grade can explain it better – but here goes:

When I went to school more than half a century ago – Color TV broadcast signals only needed to broadcast signal intelligence for two colors i.e. green and blue. The red value is gleaned by adding the green and blue and subtracting this value from the total. On an oscilloscope, the signals are displayed on an X and Y axis. The Y axis value is the intensity. As to details, my mind is cloudy. Maybe this post will prompt a better explanation.

  • Yep. Color can be represented by CIE1931 XYZ, and Y represents intensity. Y represents intensity and is linear (gamma=1) Chromaticity (color regardless of intensity) is determined by the coordinates of x and y where x=X/(X+Y+Z) and y=Y/(X+Y+Z) – doug May 6 '19 at 3:36

A simple answer is: by definition! That's how it's constructed. In order for Y to be like this, i.e. to be the intensity, they came up with 'magic numbers' after some experiments on live humans.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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