... jetzt muss ich dann doch mal ein paar Dinge klarstellen:
.. soweit auch alles richtig. Vor allem bei CMYK-Ausgabeprofilen scheint es mit dem Hintergrundprozess "collink" noch einige Speicherverwaltungsprobleme zu geben. Sie führen dazu, dass der Prozess unglaublich langsam wird und eine menge Daten vom RAM auf die Festplatte auslagert. Manchmal stoppt der Prozess auch, da er vom System keinen weiteren Speicher bekommt. Graeme ist das Problem bekannt, wir haben bereits eine Reihe debugging-Versionen getestet, das Problem ist aber noch nicht gelöst. Mit RGB-Ausgabeprofilen sollte es keine Probleme geben: die ganze Prozedur nimmt dann ca. ein bis zwei Minuten pro Bild in Anspruch (inklusive bildspezifischen Gamutmapping). Weitere Performance-Verbesserungen sind in Planung.
Auch beim eigentlichen Gamutmapping gibt es noch einige Ungereimtheiten, die geklärt werden sollten. So ist mir z.B. bei hochgesättigten, dunklen Rot- und hellen Cyan-Tönen ein Zeichnungsverlust aufgefallen, der so nicht stattfinden dürfte.
Diese Bugs verhindern im Moment noch einen produktiven Einsatz, ich bin aber sehr zuversichtlich, dass sie bald gelöst sein werden -- die Richtung stimmt jedenfalls: Graemes Tools liefern genau das, was "konventionellem" ICC-Farbmanagement fehlt und ich denke/hoffe, das s derartige Funktionen in ein paar Jahren zum Standardrepertoire eines ordentlichen Colormanagement-Systems gehören werden.
ok.
Das würde stimmen, wenn sRGB und AdobeRGB LUT-Profile wären. Da sie aber Matrix-Profile sind, findet das Gamut-Mapping ausschließlich im Ausgabeprofil statt. Und zwar mit "vorgebackenen" Gamut-Mappings: bereits der Hersteller der Profilierungssoftware hat entschieden, wie das aussieht, also welche Farben wie stark komprimiert werden sollen und ab wo geclippt wird (ja, ich spreche von clipping im perzeptiven Intent!) -- und zwar ohne das Bild oder den Quellfarbraum zu kennen. Das das nicht in allen Fällen zu optimalen Ergebnissen führen kann, dürfte jedem klar sein.
Hier setzt GaMapICC/ArgyllCMS ein: zuerst wird der Quellfarbraum analysiert, dann ein optimiertes Gamutmapping errechnet und in ein DeviceLink-Profil geschrieben und schließlich werden die Bilder damit konvertiert.
Dieses Gamutmapping kann entweder
- Quellprofilspezifisch sein (das heißt: der komplette Quellfarbraum wird in den Zielfarbraum "gequetscht". Diese Situation hat Thomas fälschicherweise als Standard-ICC-CM-Verhalten bezeichnet. Das Standard-Verhalten ist aber noch dumpfer, da es den Quellfarbraum nicht berücksichtigt (das Zielprofil berechnet sein Gamutmapping ohne das Quellprofil zu kennen)
- oder Quellbildspezifisch sein (optimal für Einzelbilder)
- oder Quellsequenzspezifisch sein (optimal für Serien von Bildern, die gleich behandelt werden sollen). In diesem Fall wird die Vereinigungsmenge aller Bild-Gamuts als Quelle für das Gamutmapping verwendet.