Mike Chaney's Tech Corner
November 22, 2024, 02:14:22 PM *
Welcome, Guest. Please login or register.
Did you miss your activation email?

Login with username, password and session length
News: Qimage registration expired? New lifetime licenses are only $59.99!
 
   Home   Help Login Register  
Pages: [1]
  Print  
Author Topic: Color management implementation details  (Read 18751 times)
pbbandurian
Newbie
*
Posts: 6


« on: June 16, 2022, 10:53:01 PM »

Nowhere can I find an explanation of how color management is implemented. I've read Real World Color Management by Fraser, Murphy, and Bunting. There is a vast amount of material there but my simple-minded question is never, in my reading, directly addressed. I've read and thought about this quite a bit and the following is the best I can come up with. I look for corrections and clarifications. Thanks in advance.

The case I wish to understand is pretty typical and general: an image file, a color aware display program, think PS or LR on a computer, and output device such as a monitor or projector. Assume the image file is in the aRGB color space and the output device is calibrated and profiled to the sRGB target color space. Note the two color spaces are different and that the profile is loaded into the graphics card's LUT. Also, note that all data sent to the display device is adjusted by the data in the LUT whether that data has a color space associated with it or not.

So here is the path and adjustments of the numbers that describe colors in an image. The image file has numbers that describe colors in the aRGB color space. The color aware imaging program, e.g. PS or LR or lots of other examples, reads those numbers in aRGB space, and converts them to the target color space of the imaging device described by the profile, and sends them via the graphics card with LUT adjustments to the output device. Put that way seems simple enough. But, I've never read it!

Is this correct? Is the color aware imaging program when converting the image file to the target color space and the LUT doing double duty, i.e. the same thing twice? I don't think so: the LUT corrects for the device not being exactly in the target color space to which the image data is converted by PS, etc. Are other things going on of which I am not aware?

Feedback? Thanks.

Cheers, Peter


Logged
admin
Administrator
Forum Superhero
*****
Posts: 4220



Email
« Reply #1 on: June 17, 2022, 10:46:51 AM »

Hi Peter,

Graphics cards don't apply profiles.  The only operation performed by the graphics card is called a "device gamma ramp" which sets tone curves so that brightness looks "linear" and there are no color casts when you view images, icons, etc. in non color managed software and to "linearize" the monitor's color before a profile is applied.  These tone curve adjustments can be part of a monitor profile and Windows will apply the tone curve part of the profile by sending only the tone curves from the profile to the device gamma ramp function.

Think of monitor profiling in Windows as a two step process.  Step one is the gamma ramp part that basically sets your desktop, UI, icons, etc. to the proper "gamma" which makes things have the proper brightness and makes grays actually look gray and not color tinted.  Step two is where the profile is applied and that is done in your color managed software.  So if your monitor really does conform to sRGB, there may be a gamma ramp that is "pre applied" (some call this a calibration) by Windows or a third party startup program: this gets the monitor to have the proper tonality for sRGB.  Then when you use Qimage, LR, PS, or any color managed software to view your aRGB image, that software converts the image from aRGB to sRGB and plops the result on the monitor.  It knows to convert it to sRGB because Windows has sRGB listed as your monitor profile: that sRGB entry as your monitor's device profile is nothing but a tag to tell software what to use during the conversion.  Windows is not color managed (at the OS level) so when you set your device profile in Windows color management, all you are doing is providing a way for color managed software to look up what your monitor profile is supposed to be so they can use it.

Regards,
Mike
Logged
pbbandurian
Newbie
*
Posts: 6


« Reply #2 on: June 18, 2022, 07:24:16 PM »

Mike:

Thank you for clarifying this for me.

In the world of video - movies! - I believe no profile corrections are applied to the images before display, whether through a projector or on a monitor. Rather, the image files  are in some color space such as P3, aRGB, sRGB/Rec.709, etc. and the display device calibrated to be in the same color space. In this case, no profile is needed and so none need even be generated, correct? If I'm correct, then a device different from the usual Colormunki, Spyder, etc is needed. Do you know what device is needed to calibrate a projector to be sure it is spot on the correct color space? Where do I find them at an affordable price?  I suspect they do not have the price efficiency of scale as profilers do. Thanks.

Cheers, Peter
Logged
admin
Administrator
Forum Superhero
*****
Posts: 4220



Email
« Reply #3 on: June 18, 2022, 09:59:43 PM »

You are correct that if you know the color space of the display device and you "feed" it an image in that color space, nothing needs to be done and it will look correct.  There are a few specialty monitors that operate in Adobe RGB color space for example, and if your desktop background is in Adobe RGB, it'll look correct on the monitor.

I have no idea how you would profile a projector.  Might be able to google it and find a way.

Mike
Logged
pbbandurian
Newbie
*
Posts: 6


« Reply #4 on: June 27, 2022, 07:48:24 AM »

Mike:

I know you have a business to run so I don't want to take up too much of your time. I hope this will be my last time querying you. On the other hand, responding to customer's, such as me, is part of your business...

Your responses to my questions have enlightened me. But, there remains one puzzle. In Win 10 I can adjust in Display Settings ( right click on desktop, choose Display Settings from the drop down - I'm explicit to be sure we're on the same page) to I choose a color profile different from the default  profile generated at my last profiling session to some other in the drop down list. It can be any profile such any of the computer manufacturer's preloaded profiles. Or it could be profiles such as  sRGB, aRGB, etc. that I have manually loaded via the advanced color settings interface. The display immediately appears to change color temperature and brightness. I suspect that Explorer windows, OS settings windows, browser windows, etc. reflect what is in the LUT changing gamma and overall brightness. And I expect, as you have explained, the OS does not apply the profile proper to the display. The question is, why does the color temperature appear to change? Or am I mistaken and what appears to me to be a color temperature change is really just an apparent color shift due to the change in brightness? Or even slight differences in the RGB LUT relative values generating slight tints. Though the slight tints here just happen to emulate lower color temperature.

An additional point: Using the keyboard - I'm working on a laptop for this discussion - monitor brightness control does not give the what I'm calling the color temperature change, warming, effect. Whatever is happening, as described above, is not just a simple dimming of the display.

Thanks for your insights.
Cheers, Peter
« Last Edit: June 27, 2022, 06:46:34 PM by pbbandurian » Logged
admin
Administrator
Forum Superhero
*****
Posts: 4220



Email
« Reply #5 on: June 27, 2022, 09:19:17 PM »

If I go to Color Management in Windows 11 (Windows 10 is similar), I get the attached screen.  I can add a profile that should make a ridiculous change like ProPhoto or Wide Gamut RGB and then select it on that screen or under "Display Settings".  Doesn't make any difference: I get no change whatsoever on the screen when it should make a huge change if it was actually doing something (anything).

If you are getting a change, you probably have a utility installed that loads the TRC found in the profile: which can change color.  Many monitor profiling tools like the Spyder, ColorMunki, etc. auto-install those pre-calibration utilities.

Regards,
Mike
Logged
pbbandurian
Newbie
*
Posts: 6


« Reply #6 on: June 28, 2022, 05:39:44 AM »

Mike:

Loading, as you have described and I have done, a (ridiculous) profile should not, as you have explained to me, make "no" difference as the OS does not perform color management. I expected that thanks to you. Now you have additionally educated me: the profiling program I use, currently Spyder, formerly xRite (ColorMunki), have installed a program that auto-loads the TRC in the LUT when a new profile is selected. As described, not all profiles change what I interpret as a color temperature change. I presume that means that not all profiles have a TRC embedded. Is there a utility that allows checking if a TRC is embedded in the profile? And allows me to look at it? If the LUT varies by RGB, then that would confirm color changes due to the TRC/LUT. And that would make my understanding of color management implementation just a little more compete.

Cheers, Peter
Logged
admin
Administrator
Forum Superhero
*****
Posts: 4220



Email
« Reply #7 on: June 28, 2022, 11:37:54 AM »

This is the best free ICC profile inspecting tool.  It will allow you to look at the tables and TRC but it doesn't do 3D gamut graphics:

https://www.color.org/profileinspector.xalter

Mike
Logged
pbbandurian
Newbie
*
Posts: 6


« Reply #8 on: July 01, 2022, 05:58:25 AM »

Mike:

As it turns out, long ago I downloaded and "installed" Profile Inspector. I didn't find much use for it and have all but forgotten it because I didn't find it displayed much that I understood. Thanks to you, I now understand a little. I'm disappointed that it will not plot the rgbTRC simultaneously. Also, can you point me to a source that explains the contents of the vcgt table? Thanks.

Cheers, Peter


Logged
admin
Administrator
Forum Superhero
*****
Posts: 4220



Email
« Reply #9 on: July 01, 2022, 11:20:26 AM »

It'll display the TRC for channels 0,1,2 (RGB) simultaneously: click on the A2B1 tag, click the Input Channels tab.  The input channels are the TRC and one exists for each A2B look up table.

Not sure where to find info on the VCGT spec/format.  It doesn't look like it is part of the ICC spec so it might be an add-on (like black point compensation).

Mike
Logged
pbbandurian
Newbie
*
Posts: 6


« Reply #10 on: July 12, 2022, 05:36:44 AM »

Mike:

I had to scratch my head as it's been a long time since I learned of A2B2, etc. Buried in the appendices of Real World Color Management. In any case, there doesn't seem to be an A2B1 tag. See attachment. Nor an input channels tab.

Hope you had a nice holiday. I've tried to give you a little rest.  Grin

Cheers, Peter

Logged
admin
Administrator
Forum Superhero
*****
Posts: 4220



Email
« Reply #11 on: July 12, 2022, 11:14:10 AM »

That's a 3x3 matrix profile: it doesn't have any lookup tables.  And many of those have just a gamma value for TRC.

Mike
Logged
Pages: [1]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.21 | SMF © 2015, Simple Machines Valid XHTML 1.0! Valid CSS!
Security updates 2022 by ddisoftware, Inc.