[Openicc] XICC specification draft
Chris Murphy
lists at colorremedies.com
Sun Jun 26 13:24:20 EST 2005
On Jun 25, 2005, at 7:26 PM, Bob Friesenhahn wrote:
>> I think in any case it would make sense for applications to
>> normalize to sRGB as a destination in a a remote display context.
>> Then the entire xserver window on the remote machine could do
>> simple full screen display compensation from sRGB to actual
>> display profile (and if there is no display profile, as could be
>> expected on some systems, at least there has been at least some
>>
>
> This assumes that the display is a good match for sRGB. Maybe its
> capabilities far exceed that of sRGB and the user wants to take
> advantage of these extended capabilities.
Yes it does. I agree if now is the planning stage for future CM
behavior, it should be built with the future in mind, not today's
displays.
Support for wide gamut displays mandates display compensation on a
wide scale basis or the display is not usable for even reliable
display of web graphics, let alone more sophisticated image display.
As I see it, a smarter xserver is unavoidable.
What are the ways to do this?
1. full device independent color data (tagged RGB and CMYK and LAB)
support between xclient and xserver, and for the xserver to do
display compensation.
2. xclient normalizes to some yet undecided wide gamut color space;
and then expect the xserver to do display compensation from that
space to that of the actual display.
3. xserver informs xclient of remote display's color space; and
xclient prematches to that space.
Case #3 is probably easiest to implement, and the xclient could
assume sRGB as the destination if the xserver hasn't reported the
remote display's profile - i.e. built in legacy support. I imagine
it's unlikely for all xservers everywhere to instantly have the
ability to report the local display profile.
> The xclient is the 'application'. If the client displays to
> multiple displays, then it will need to know the capabilities of
> each one. One display might be black and white while the other
> supports 12-bits/sample RGB.
Well darn. See now in Case #3, the assumption is that *all* xclients
are smart and are doing display compensation for the remote display.
This too probably can't always be assumed, can it?
So really this is less about xserver capabilities (other than the
minimum necessary ingredient which is for it to report a display
profile back to the xclient or its OS), and about how to have general
support for displays with various capabilities.
I think it's asking a lot of extra work by application developers to
have to write display compensation into every single application that
will display something. It seems redundant. What are the barriers in
implementing an architecture where the application developer can have
three options?
1. Assumed source space for all RGB drawing commands (default). This
would likely be something like sRGB for at least the next five years.
The window server assumes this as source, then does display
compensation for all applications.
2. Application explicitly informs window server of some other source
space to use. (apps requiring more sophistication can opt in for this.)
3. Application explicitly informs window server that data is
prematched, so it doesn't do any display compensation at all.
Chris Murphy
Color Remedies (TM)
www.colorremedies.com/realworldcolor
---------------------------------------------------------
Co-author "Real World Color Management, 2nd Ed"
Published by PeachPit Press (ISBN 0-321-26722-2)
More information about the openicc
mailing list