[argyllcms] Re: Towards understanding rendering intents

  • From: Graeme Gill <graeme@xxxxxxxxxxxxx>
  • To: argyllcms@xxxxxxxxxxxxx
  • Date: Thu, 16 Jul 2020 10:19:27 +1000

Hermann-Josef Röser wrote:

However, wouldn't using a rendering intent also require specification of an
output gamut? What does a rendering intent per se actually mean in this
case? This is, what puzzles me.

There's a big difference between gamut mapping as a concept, and
gamut mapping as implemented by native ICC machinery.

As a concept, yes you need two colorspaces/gamuts to render
between to have a gamut mapping.

As an implementation, the ICC profile format attempts to solve
this problem in a way that is very computationally efficient
by pre-encoding parts of each rendering into tables in
the ICC profiles.

So in the context of ICC profiles you select an intent
by choosing which of the tables in the profile to use.
There is no direct relationship between this and
any other gamut/colorspace.
See <https://www.argyllcms.com/doc/iccgamutmapping.html>

The ICC implementation of intends/gamut mapping is
highly imperfect compared to the concept, mostly as
a consequence of striving for computationally efficiency
and a way of avoiding having to define any particular
gamut mapping approach. (Remember this was all developed
in the days when a i486 was a high end processor, and
1Mbyte of memory was a lot.)

Attempts since then to move beyond this model
such as Microsoft's WCS have fallen rather flat.

It's certainly possible to do true gamut mapping
within the constraints of ICC profiles, as demonstrated
by ArgyllCMS capabilities, but it's not as simple or as quick
as the pure ICC based intent tables approach.

Cheers,
        Graeme Gill.

Other related posts: