0
$\begingroup$

I am not entirely sure that this is the right stack exchange, but I couldn't find any other suitable one - please redirect me if necessary.

There exists mathematically defined colour spaces which help us represent colors with accuracy/efficiency in computers, and different color spaces will capture different ranges of the human visible colour gamut, and because our screens cannot represent colors as raw wavelengths we must use these spaces instead.(correct me if anything said there is wrong)

How do these relate to how our computer screens actually show colour? From what I understand, our screens only take in N-bit RGB signals for their LCDs, so why do we worry about having all these complex, computationally expensive colourimetric spaces, when we want to do colour processing or storage etc. For example, the sRGB space has a gamma encoding, to represent a different data range with the same amount of bits... but that gamma encoding (for a greater range of dark tones?) cannot actually be displayed on screen. And CIE xyY might be excellent for spectrum based rendering and accurately producing and grading colours - but I understand that we cannot actually see their results, only RGB approximations. Again correct me if any of the above is wrong! I say none of this with much authority, which is mainly why I have to ask this question :)

We are storing different, nuanced, "perception correct", data in this 8-bit channel format - but is that extra nuance is lost as soon as we send it off to our raw RGB 8-bit channel screens, and if so, doesn't that loss invalidate (to some extent) all our extra measures to produce ever more accurate and wider gamuts?

This question focusses on R8G8B8A8 displays, as I imagine HDR would have a different story.

$\endgroup$
6
  • $\begingroup$ You are not representing more data with the same number of bits. You are representing different data which exploits properties of the human visual system. Gamma compression effectively results in non-uniform quantisation. Look up Weber's law. $\endgroup$
    – lightxbulb
    Commented Aug 12, 2020 at 12:57
  • $\begingroup$ @lightxbulb What I meant by that was that it's used to encode a greater range of dark tones, I think I'm right in saying? It encodes data differently to how a raw RGB would work - as do all color spaces - but the screen cannot actually display that...? I think? That's essentially my whole question $\endgroup$
    – FShrike
    Commented Aug 12, 2020 at 12:59
  • $\begingroup$ It encodes data in the exact same way a "raw RGB" would. Assuming 8bits you still encode values in $[0,255]$, what has changed is what these values represent. In the most general case you can use those values to index into a LUT from which to retrieve the actual values. Gamma correction is more restrictive than the above, in the sense that these values use the gamma curve as a LUT. As far as monitors go - sure you can always take a 1bit monitor and have secondary quantisation effects due to that. $\endgroup$
    – lightxbulb
    Commented Aug 12, 2020 at 13:52
  • $\begingroup$ CRTs used to follow a similar power law which meant that you were supposed to feed in gamma corrected input and it would have been reproduced as expected. I have no idea about LCDs, but I assume a similar thing must hold in order to exploit the human visual system's characteristics. $\endgroup$
    – lightxbulb
    Commented Aug 12, 2020 at 13:56
  • $\begingroup$ @lightxbulb I refer to modern lcds. As far as I understand, they take in “raw” RGB and by raw I mean to say it’s not exactly encoded in any way it just represents intensity values in a linear fashion..? $\endgroup$
    – FShrike
    Commented Aug 12, 2020 at 13:58

2 Answers 2

1
$\begingroup$

Several reasons. Im listing them in random order

  • There are entire industries that do other things than display things on computer screens. If you were to print a booklet, make a package, movie projection or paint a car you would probably be wise to be able to mathematically model it for design, quality control and documentation purposes.

  • Not all screen suck and not all are good. Quite many screens out there can show wider color ranges than sRGB, or wider but still not entire sRGB. See sRGB is well suited for the designs it was designed for namely crt screens. LCD screens have had hard time coming to sRGB gamut, but we are getting there. So many screens can not even do sRGB and many now exceed it.

    The RGB color on each screen is different! Unless you have a screen that has been calibrated to sRGB odds are low that it shows sRGB (even if it does bet goes off in few weeks). Now for most people this is ok they arent aware how much off their screen is (i remember calibrating for first time o was quite shocked).

    Anyway point is that you might be interested is describing the color so that you can do same color, not just same numeric value, on a different screen or display technology.

  • You might be doing color science and communicating measurements to others, or calculate how fast humans can separate the colors.

  • You might be developing a light simulator, i dunno like for movie special effects and or technical design and your interested in the light spectrums.

  • You might need to do distributions of colors visually

And so on...

As for gamna encoding your screen is not linear. If your screen were tuned linear it would be crappy indeed. And in anycase good screens have 10 to 12 bits of color to work with so gamma correcting is no problem.

As for spectral colors CIE is not dealing with spectrums... Not at all. All 3 component color is dealing with human perception. Spectrums are way different things, the thing you call orange on screen and what your physics book called wavelength are different things.

$\endgroup$
5
  • $\begingroup$ I accept the need for standardised systems and consistency. I also respect that there are other industries. I was more angling for the literal display technology side of things... I’m interested in whether our LCD displays can be capable of representing colour spaces such as sRGB or Adobe RGB or CIE xyY or CIELAB etc. natively - no conversion to simple 8-but rgb intensities necessary. $\endgroup$
    – FShrike
    Commented Aug 12, 2020 at 16:22
  • $\begingroup$ Thank you nonetheless though it was a great answer to perhaps a poorly worded question :) $\endgroup$
    – FShrike
    Commented Aug 12, 2020 at 16:23
  • $\begingroup$ @Idiotic Srike it depends on the monitor and its calibration (my work monitor can ahow whole sRGB, but obviously since its a digital device it can only show digital values) i believe the monitors in collor correction room can nearly show full Adobe RGB. I doubt anything we have deviced can display the entire CIE spectrum as thats the entire fidelty we humans can see as that would mean youd need specialized color luminants for the special wavelengths) $\endgroup$
    – joojaa
    Commented Aug 12, 2020 at 16:27
  • $\begingroup$ I had absolutely no idea! Thank you thas a perfect answer. They natively take the sRGB or Adobe RGB encoding and render that with no conversions? $\endgroup$
    – FShrike
    Commented Aug 12, 2020 at 17:04
  • $\begingroup$ @IdioticShrike ultimately there is some dedicated hardware in between so the graphics card makes comversions as does the monitor for the final stage that is analog. But "color" is a hard subject i mean generally speaking the structures and strength calculatiln courses were deemed really hatd by engineering students but color on a pire technical level is as hard or harder. $\endgroup$
    – joojaa
    Commented Aug 12, 2020 at 17:19
1
$\begingroup$

The real story here is actually very interesting and can be enlightening. So I offer this alternate answer to help better answer this question. Also, my answer below is a very specific to this question. The full story is too big to put here, but worth the trouble of learning.

In the 1930-50's researchers started looking into the human visual system. These studies looked into the range and brightness of colors that humans can see. The results were surprising. Our color range is somewhat limited and that color range is effected by how bright the room is. While we can see 6 magnitudes of order with respect to brightness, the number of colors we can see at each of these 1 million brightness levels varies. In a moderately lit room we can see a heck of a lot more colors then we can in a very bright room.

When the television was first being created it had to account for these differences. But a television outputs color at a fairly narrow range of brightness (especially the early television) which is about 1 to 100 nits. (with humans being able to see between 1 and 1 million nits) This is a fairly low lighting level and we see more colors (including black and white) in a dimly lit room. So the television needed to output more dim colors then bright colors at the same brightness and the logarithmic color curve was born.

The sRGB color space is a direct result. It is our eye with its tricky ability to see lots of colors in dim lighting that forces this curve on the hardware.

But, the technology behind monitors continues marching forward and today we have monitors that can produce upwards of 1,000 nits of brightness, not to mention that brightness can be varied much more broadly. Also, modern monitors can produces a wider range of colors then early monitors. Further, movie makers and game developers can not easily "think" in logarithmic space we mere humans tend to think much better in linear space. So there really needs to be a way to translate from logarithmic space to linear space so media creators can more easily reason and about and work with the colors they produce. Also, now that we have monitors that can produce colors at different levels it sure would be nice to be able to convert movies and games into the "native" space that any given monitor actually displays.

In fact, it would be much better to "ship" all our media with the best possible colors and then convert it to whatever the display that media is being shown on is capable of.

And that is exactly what a lot of modern media creators do. So the relationship between the color space and what is shown on your monitor is actually a fairly complex dance between what is shipped in the media, the capabilities of your video hardware and the capabilities of the monitor it is being shown on. An 8 bit color encoding may end up going through multiple translations before it makes it to your 8 bit monitor. While the same media being shown on a 10 bit monitor could go through a very different set of translations.

With monitors showing colors in 8, 10, or 12 bits per color. Many can now easily represent most of the standard media color spaces and choosing one to work or visualize in is more a matter of personal taste or need then physical necessity.

$\endgroup$
5
  • $\begingroup$ Thank you for your response. You mentioned a complex dance of conversions... would my final LCD display accept the sRGB data from my GPU over the cable, and before display convert that into pure RGB intensity values, to program the individual pixels? $\endgroup$
    – FShrike
    Commented Aug 15, 2020 at 10:55
  • $\begingroup$ Just found out about EOTFs... seems like they are responsible for the final conversions into linear tristimuli? $\endgroup$
    – FShrike
    Commented Aug 15, 2020 at 11:09
  • $\begingroup$ The final format will be dependent on the display, usually it is specific to the model/brand. The video hardware on your computer will query the display for its acceptable formats, its response combined with your settings in windows will determine the actual format sent to the display. It will then convert that to a display specific format for final display. If for example you have an SD display that doesn't respond to queries for its capabilities then the format sent to the display will be sRGB (most likely). To get extended formats you need HD support in all the hardware/software involved.. $\endgroup$
    – pmw1234
    Commented Aug 15, 2020 at 17:42
  • $\begingroup$ We set the value to sRGB if we dont know. This is not the same as it is sRGB. If you have ever calibrated a monitor youd know even two monitors of same make and model are not the same. $\endgroup$
    – joojaa
    Commented Aug 18, 2020 at 4:10
  • $\begingroup$ The goal of monitor calibration is to match the colors we see on the monitor to the colors being sent to the monitor. Don't confuse a colorspace with the variations between individual pieces of hardware. $\endgroup$
    – pmw1234
    Commented Aug 19, 2020 at 12:53

Your Answer

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

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