Der Aufbau von ICC-Profilen
Das Color Management-System besteht aus Farbprofilen und dem Farbrechner. Die Betriebssysteme von Microsoft und Apple Computers liefern den Farbrechner mit und obendrein installieren Programme wie Adobe Photoshop zusätzlich ihren eigenen Farbrechner. Farbrechner sind relative simple Programme für die Farbraumtransformation – sie basieren auf den Formeln für die Transformation von RGB nach XYZ oder Lab und XYZ oder Lab nach CMYK und weiteren Farbraumtransformationen. Obendrein liefern die Betriebssysteme bei der Installation einen Satz von Basisprofilen (z.B. generische Monitorprofile).
Geräteprofile versorgen den Farbrechner mit den Informationen, die für die Konvertierung von Farbdaten zwischen den Gerätefarbräumen und geräte-unabhängigen Farbräumen benötigt werden. Die ICC-Spezifikation teilt Gerätefarbräume in drei Klassen: Input Devices (z.B. Kamera und Scanner), Display Divices (Monitor) und Output Devices (Drucker).
Digitalkamera und Scanner betten Profile bei der Aufnahme bzw. beim Scan in die Bilddatei ein, Monitore und Drucker speichern ihre Profile bei der Installation als eigenständige Datien in speziellen Ordnern des Betriebssystems.
| Windows 9x/ME | c:\windows\system\color |
| Windows NT | c:\winnt\system32\color |
| Windows 2000/XP | c:\winnt\system32\spool\drivers\color |
| MacOS | HD:System:ColorSync_Profile |
| MacOS X | /System/Library/ColorSync/Profiles/ |
ICC-Profile sind ein standardisiertes Daten- und Dateiformat, das in ICC File Format for Color Profiles 4.0.0 auf 116 Seiten überaus detailliert und auch verständlich beschrieben ist (mit einer gehörigen Portion Bürokratie am Anfang). Ein Farbrechner muss alle ICC-kompatiblen Farbprofile interpretieren können.
Profildaten
ICC-Profile sind Binärdaten – d.h. sie können nicht mit einem einfachen Editor geöffnet und im Klartext gelesen werden, sondern nur Anwendungen, die Profildaten interpretieren, können die Informationen und Anweisungen eines Profils anzeigen oder sogar ändern. Zum Lieferumfang von Mac OS X gehört das Color Sync-Dienstprogramm, dass Profildaten anzeigen kann, für Windows XP bietet Microsoft das Color Controll Panel an, das einen ähnlichen Funktionsumfang aufweist, aber nicht im Installationsumfang des Betriebssystems enthalten ist. Darüber hinaus bietet das ICC einen Profile Inspector für den Einblick auf Profile für den PC.
Das Erzeugen und Ändern von Profilen ist nur mit kommerziellen Profil-erzeugenden Programmen möglich (z.B. der Software für die Profilierung von Monitoren und Druckern). Nur das Mac OS X-Betriebssystem erlaubt einen Schreibzugriff auf Profildaten im Terminal durch die Skripting-Umgebung SIPS.
Profilarten
Die ICC-Spezifikation definiert sieben Arten von Profilen. Interessant sind in erster Linie die ersten drei Geräteprofile:
- Input (scnr) für Scanner und Digitalkamera
- Display (mntr) für CRT- und LCD-Monitore und Projektoren
- Output (prtr) für Drucker, Druckmaschinen und digitale Belichter
- Device Link (link), Profile für den Proofdruck
- ColorSpace Conversion (spac) für die Umrechnung von Farbräumen
- Named Color (nmcl) für Sonderfarben wie Pantone, HKS, RAL, usw.
- Abstract (abst) für abstrakte benutzerdefinierte Farbräume
Ein ICC-Profil besteht aus drei Teilen:
- Header – allgemeine Informationen zum Profil als Text
- Tag Table Definition – Inhaltsverzeichnis des Profils – hier müssen die Elemente des Profils, die als Tag bezeichnet werden, aufgezählt werden
- Tagged Element Data – Umrechnungstabellen, Matrizen, Tone-Reproduction Curves, Primärfarben, ...
| Size | Volle Größe des Profils in Bytes |
| CMM | Bevorzugtes CMM |
| Version | Versionsnummer der ICC-Specs |
| Device Class | Beschreibung der Profilklasse (Display, Input, Output, DeviceLink, Colorspace, Abstract) |
| Color Space | Beschreibung des Herkunftsfarbraums, normalerweise RGB oder CMYK, sonst Gray, XYZ, Lab, Luv, HLS, HSV, Yxy, CMY, ... |
| Connection Space | Der im Profil verwendete PCS (Profile Connection Space) LAB oder XYZ |
| Date and Time | Erstellungsdatum |
| Plattform | Bevorzugtes Betriebssystem (Microsoft, Apple, Sun, Silicon Graphics) |
| Flags | Beschreibung, ob das Profil in einer Datei eingebettet ist oder unabhängig von Farbdaten benutzt werden kann |
| Device Manufacturer | Hersteller des Geräts |
| Device Model | Modell des Geräts |
| Device Attributs | Informationen über zusätzliche Geräteeigenschaften, z.B. verwendete Papiere |
| Rendering Intent | Emfehlung zum Rendering Intent |
| Illuminant | Beschreibung der XYZ/Lab-Werte der Lichtquelle des PCS (Profile Connection Space) |
| Creator | Angaben über den Erzeuger des Profils oder die Erzeugersoftware |
Tabelle: Beschreibung der Header-Informationen
Profildaten ansehen (z.B. mit „Color Sync-Dienstprogramm" auf Mac OS)
Header-Informationen eines relativ neuen Canon-Tintenstrahldruckers.
In der ICC-Spezifikation sind 43 verschiedene Tags beschrieben. Je nach Art des Profils sind in einem Profil fünf bis zwölf Tags enthalten. Jedes Tag und seine Geräte werden in die Tag Table Definition eingetragen. Die zugehörigen Daten zu jedem Tag finden sich unter Tagged Element Data und werden durch eine Referenz angebunden, d.h. in der Tag Table stehen die Adressen, an denen die jeweiligen Daten beginnen.
Die Tags lassen sich wiederum in drei Gruppen teilen:
- Required Tags
- mit denen jedes ICC-Color Management Modul die Farbumrechnung durchführen kann
- Optionale Tags
- zusätzliche Informationen, die in der ICC-Spezifikation definiert sind und die zur Qualitätsverbesserung beitragen können
- Private Tags
- zusätzliche Informationen, die der Hersteller in sein Profil aufnehmen darf und die nur von der CMM des Herstellers gelesen werden können. Solche Tags sind z.B. das vcgt-Tag (Video Card Gamma Tag) in den Profilen von Apple-Monitoren und das Mtbx-Tag, das in Profilen aus AdobeGamma und MonacoEZcolor auftaucht.
| Info Tags | ProfileDescriptionTag | Profilname für die informative Darstellung |
| DeviceMfgDescTag | Darstellbare Beschreibung des Herstellers | |
| DeciveModellDescTag | Darstellbare Beschreibung des Gerätemodells | |
| CopyrightTag | z-bit Ascii Profile Copyright Information | |
| CalibrationDateTimeTag | Profile Calibration Date and Time | |
| CharTargetTag | Characterization Target such as IT8/7.2 | |
| TechnologyTag | Device Technology Information such as LCD, CRT, Dye Sublimation, etc. | |
| ucrbgTag | Under Color Removal and Black Generation Description | |
| MatrixTags | redMatrixColumnTag | Relative XYZ Values of Red Phosphor or Colorant (Die erste Spalte, die in TRC/Matrix-Transformationen benutzt wird) |
| greenMatrixColumnTag | Relative XYZ Values of green Phosphor or Colorant | |
| blueMatrixColumnTag | Relative XYZ Values of blue Phosphor or Colorant | |
| redTRCTag | Red Channel Tone Reproduction Curve | |
| greenTRCTag | Green Channel Tone Reproduction Curve | |
| BlueTRCTag | Blue Channel Tone Reproduction Curve | |
| GrayTRCTag | Gray Tone Tone Reproduction Curve | |
| LUT Tags | AtoB0 / A280 Tag | LUT structure; Device to PCS, Intent Perceptual |
| AtoB1 / A2B1 Tag | LUT structure; Device to PCS, Intent Colorimetric | |
| AtoB2 / A2B2 Tag | LUT structure; Device to PCS, Intent Saturation | |
| BT0A0 / B2A0 Tag | LUT structure; PCS to Device, Intent Perceptual | |
| BtoA1 / B2A1 Tag | LUT structure; PCS to Device, Intent Colorimetric | |
| BtoA2 / B2A2 Tag | LUT structure; PCS to Device, Intent Saturation | |
| Whitepoint Tags | ChromaticAdaptionTag | Converts XYZ Color from the actual illumination source to PCS illuminant. (Erforderlich, wenn die Lichtquelle nicht D50 ist). |
| MediaWhitePointTag | Media XYZ white point | |
| MediaBlackPointTag | Media XYZ black point | |
| PostScript Tags | ps2CRD0Tag | PostScript Level 2 Color Rendering Dictionary: Perceptual |
| ps2CRD1Tag | PostScript Level 2 Color Rendering Dictionary: colorimetiric | |
| ps2CRD2Tag | PostScript Level 2 Color Rendering Dictionary: saturation | |
| ps2CRD3Tag | PostScript Level 2 Color Rendering Dictionary: ICC-absolute | |
| Ps2CSATag | PostScript Level 2 Color Space Array | |
| Ps2RenderingIntentTag | PostScript Level 2 Rendering Intent |
Der Farbraum wird durch Tabellen beschrieben, in denen die Lage einer endlichen Anzahl von Stützstellen gespeichert wird. Zwischen den Stützstellen wird interpoliert. Profile, die auf Lookup-Tabellen basieren, eignen sich besonders gut zur Charakterisierung realer Ein- und Ausgabegeräte (Scanner, Kameras, Drucker, belichter, Monitore, ... ). Arbeitsfarbräume zur medienneutralen Speicherung hingegen sollten möglichst keine Ungleichmäßigkeiten enthalten, da diese bei der Verrechnung schnell zu Banding führen.
Für eine ausreichende Genauigkeit sind umfangreiche Tabellen erforderlich, so dass LUT-Profile mit 400 KB bis 2 MB zu Buche schlagen.
Da ein Arbeitsfarbraum generell an jede Datei angehängt werden sollte, würde die Verwendung von LUT-Profilen als Arbeitsfarbraum das Datenvolumen deutlich erhöhen. Ferner können immer noch einige Programme und Geräte (z.B. Kameras) LUT-Profile nicht direkt verarbeiten.
Bei der Umrechnung von Farbwerten wird für einen Eingabefarbwert der entsprechende Ausgabefarbwert in dieser Tabelle nachgeschlagen. Die Tabelle kann natürlich nicht beliebig viele Farbwerte enthalten, sondern nur eine festgelegte Anzahl.
In der Praxis enthält ein Profil zwischen 5000 bis 40.000 Farbwerte, die als Stützstellen oder GridPoints bezeichnet werden. Zwischen den Stützstellen interpoliert das CMM (Color Management Module). Je höher die Anzahl der Stützstellen, umso genauer ist das Profil, da Interpolationsfehler vermieden werden.
Für jeden Rendering Intent ist im Profil eine eigene mehrdimensionale Tabelle erforderlich. AtoB-Tags enthalten Tabellen für die Umrechnung vom Gerätefarbraum zum PCS und BtoA-Tags für die Umrechnung vom PCS zum Gerätefarbraum.
Das ergibt bei zwei Umwandlungsrichtungen (PCS to Device und Device to PCS) und drei Rendering Intents (Farbmetrisch, Perceptual und Saturation) maximal sechs mehrdimensionale Tabellen (LUT) in einem Profil.
Normalerweise wird bei tabellenbasierten Profilen CIELab als PCS bevorzugt, da die meisten Ausgabegeräte im CMYK-Farbsystem arbeiten. Die Farbwerte müssen vom PCS mit drei Kanälen (XYZ oder Lab) in das CMYK-Farbsystem mit seinen vier Kanälen umgerechnet werden. Dafür ist CIELab besser geeignet als CIE-XYZ.

