Aufbau von ICC-Profilen

Das Color Management-System besteht aus Farbprofilen und dem Farbrechner. Die Betriebssysteme von Microsoft und Apple liefern den Farbrechner mit und obendrein installieren Programme wie Adobe Photoshop zusätzlich ihren eigenen Farbrechner.

Farbrechner sind relativ 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.

ICC Profile vermitteln zwischen den unterschiedlichen Farbräumen der unterschiedlichen Geräte

Die ICC-Spezifikation teilt Gerätefarbräume in drei Klassen:

  • Input Devices (Eingabegeräte wie 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 (Scriptable Image Processing System).

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, ...
Profil-Header Tag Table Tagged Element Data 128 Bytes 4 Bytes 12 Bytes pro Tag unterschiedliche Größen Anzahl der Tags Sig Size
Schemadarstellung eines Profils
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 Canon-Tintenstrahldrucker in Mac OS Color Sync-Dienstprogramm

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.
Tabelle: Tag-Arten
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.

1260 px
1387
y x Eingabegerät Ausgabegerät ICC-Profil