Farbwiedergabe

Auf dem Bildschirm

Ganz einfach!

Farbe auf dem Bildschirm darzustellen ist einfach. Die gängigen Browser akzeptieren die Angabe der Farbe durch drei Zahlen, die Werte von 0 bis 255 annehmen können, also durch je ein Byte darstellbar sind. Drei Bytes, am besten als Hexadezimalzahlen einzugeben, für die Helligkeit der rot, grün und blau leuchtenden Pünktchen, und schon ergibt sich die gewünschte Mischfarbe auf dem Schirm. Die Hintergrundfarbe unter dem Text, den Sie gerade lesen, habe ich durch die Angabe background-color:#333333; eingestellt, das sind dichtgepackt die drei Zahlen 51, 51, 51 in hexadezimaler Schreibweise, der Reihe nach für Rot, Grün und Blau. Die Überschrift hat ihre Farbe durch "color:#dd2244;" erhalten. Es ist in der Tat sehr einfach.

Doch nicht so einfach?

Schwieriger wird es, wenn man an genauer Farbwiedergabe interessiert ist, oder auch, wenn man genau wissen will – im Sinne von geräteunabhängigen Kennzahlen – welche Farbe sich bei einer bestimmten Wahl der drei Bytes ergibt. Zum Beispiel Grün, eingestellt durch 0, 255, 0. Im folgenden Bildchen sind zwei Sätze von Leuchtsubstanzen in die Normfarbtafel eingetragen (siehe z.B. Phosphors for cathode ray tubes).

Bild 1: Zwei Sätze von Leuchtsubstanzen für Kathodenstrahlröhren. Es können ja nur die Farben wiedergegeben werden, die innerhalb des von den Primärfarben aufgespannten Dreiecks liegen, während der gesamte Farbraum die schuhsohlenförmige Fläche ausfüllt.

Für Grün könnte Zn2SiO4:Mn mit der Farbart x=0.208, y=0.704 verwendet werden, oder aber ZnS:Cu,Au,Al mit x=0.310, y=0.595. Bei manchen Monitoren ist der Weißpunkt auf eine Farbtemperatur von 9300 Kelvin eingestellt, bei vielen anderen auf 6500 Kelvin; über die Farbvalenzen der verwendeten Phosphore geben die Datenblätter nur selten Auskunft.
Das kleinere, grau unterlegte Dreieck in obigem Diagramm (Bild 1), der SMPTE-C Primärvalenzen-Satz der Phosphore (SMPTE: Society of Motion Picture and Television Engineers), ist heute de facto Standard für Fernsehbildschirme (Kathodenstrahlröhren) in Amerika – die EBU (Union der europäischen Rundfunkanstalten) hat sich auf etwas andere Kennzahlen festgelegt, die dem PAL- und dem SECAM-Farbfernsehen zugrunde liegen.
SMPTE-C             EBU (PAL, SECAM)
    Rot  Grün  Blau 
x 0.63 0.31 0.155
y 0.34 0.595 0.07
    Rot  Grün  Blau 
x 0.64 0.29 0.15
y 0.33 0.60 0.06
Der Weißpunkt ist in beiden Fällen auf D65 gelegt, mit
xw=0.312713, yw=0.329016.

Es sind nicht allein die Farbkoordinaten, die für die Auswahl der Phosphore entscheidend sind: Lichtausbeute, Nachleuchtdauer und Stabilität sind weitere wichtige Kriterien.
Es existiert eine Vielfalt von Leuchtsubstanzen für Kathodenstrahlröhren; die flachen TFT-Schirme erzeugen die Farben durch Farbfilter.
Es ist also festzuhalten: die durch drei Zahlenwerte für die Helligkeit von Rot, Grün und Blau festgelegte Farbe ist geräteabhängig.

Farbprofile und Paletten

Will man erreichen, dass Bilder von verschiedenen Geräten (im Rahmen des Möglichen) gleich wiedergegeben werden, so muss man von den gerätespezifischen Farbangaben auf geräteunabhängige Maßzahlen für die Farbe übergehen. Die Grundlage dafür bietet der CIE-XYZ Farbraum, der in dem Abschnitt über Farbmetrik ausführlich behandelt wurde, oder daraus abgeleitete Farbräume. Die Umrechnungsvorschrift oder die Umrechnungstabellen zwischen geräteabhängigen und -unabhängigen Maßzahlen stellen das Farbprofil eines Gerätes dar.

Da die Farbinformation vor der Darstellung auf dem Schirm umcodiert werden kann, wurde für die Vereinheitlichung der Farbdarstellung im Internet ein Standard-Farbraum sRGB vorgeschlagen, der heute weitestgehend akzeptiert ist. Unabhängig von den tatsächlich verwendeten Phosphoren bieten moderne Geräte die Möglichkeit, den sRGB-Farbraum als Standard zu wählen. Da außerdem die Unterschiede zwischen der sRGB-Empfehlung und den SMPTE-C und EBU Farbräumen sehr gering sind, empfiehlt es sich, bei der Herstellung von Bildern für das Internet und auch in den meisten anderen Fällen, den sRGB-Farbraum vorauszusetzen.
Moderne Scanner und Tintenstrahldrucker (insbesondere Fotodrucker) haben standardmäßig das sRGB-Farbprofil als Ausgabe- bzw. Eingabe-Farbprofil voreingestellt, bieten aber auch die Möglichkeit, andere Profile zu verwenden. Darauf werden wir später noch genauer eingehen.

Ist es Ihnen schon einmal unangenehm aufgefallen, dass Ihr Fernseher nicht alle Farben wiedergeben kann?

Vor allem für hochwertige Farbdrucke wurde von der Firma Adobe der Adobe-RGB(1998)-Farbraum entworfen. Die Palette (gamut) des Vierfarbendruckes ragt nämlich im blaugrünen Bereich aus dem sRGB-Dreieck heraus, siehe Bild 2. Auch wenn der Adobe-RGB Farbraum auf dem Bildschirm nicht korrekt wiedergegeben werden kann, so kann es doch sinnvoll sein, bei der Berechnung von Farben eines Bildes, das auf einem guten Drucker ausgegeben werden soll, diesen Farbraum zugrunde zu legen (und die Druckerparameter entsprechend zu wählen).

sRGB             Adobe RGB (1998)
    Rot  Grün  Blau 
x 0.64 0.30 0.15
y 0.33 0.60 0.06
    Rot  Grün  Blau 
x 0.64 0.21 0.15
y 0.33 0.71 0.06
Weißpunkt für beide ist D65 (wie oben).

Glücklicherweise ist es nur selten nötig, die Farbe auf dem Bildschirm ganz genau festzulegen. Das Auge passt sich an die mittlere Farbstimmung an, und wir empfinden objektiv vorhandene Unterschiede in der Farbwiedergabe kaum als störend. Wenn man aber z.B Fotos für den Druck nachbearbeiten will und erwartet, dass eine Korrektur, die sich auf dem Bildschirm positiv auswirkt, auch die Druckausgabe gleichermaßen verbessert, dann spielt die Genauigkeit der Farbwiedergabe auf dem Monitor schon eine Rolle.

Durch die (additive!) Mischung der Primärfarben lassen sich nur Farben erzielen, die in der Normfarbtafel innerhalb des Dreiecks liegen, dessen Eckpunkte die Farbkoordinaten der Primärvalenzen sind.




Bild 2: Das CIE-x-y-Diagramm mit Spektralfarbenzug, Purpurgerade und einem Vergleich verschiedener Farbbereiche: sRGB (bunt), Adobe-RGB (1998) (grau ausgezogenes Dreieck) und der im Vierfarbendruck mit Druckfarben nach DIN 16539 mögliche Bereich (weiß umrandet).

Es sieht fast so aus, als ob durch sRGB Primärvalenzen die meisten Farben nicht reproduziert werden könnten. Aber die Abstände in der Farbtafel entsprechen nicht den empfundenen Farbunterschieden. Es fehlen stark gesättigte Purpur-, Blaugrün- und Grüntöne, die sind aber ohnehin nur sehr selten zu beobachten.




Helligkeits- und Farbabstufungen: die Gamma-Korrektur

Wenn man nur eine begrenzte Anzahl von Helligkeitsstufen zur Verfügung hat, ist es zweckmäßig, die Abstufungen möglichst gleichmäßig zu wählen. Gleichmäßig in bezug auf die Empfindung, man betrachtet ein Fernsehbild ja nicht mit geeichten Messgeräten.

In der Kathodenstrahlröhre wird die Stärke des Elektronen-Strahlstromes durch die Gitterspannung geregelt. Die Helligkeit Y ist dem Strahlstrom proportional, aber es zeigt sich, dass der Strom nichtlinear von der Gitterspannung abhängt und zwar ungefähr nach einem Potenzgesetz:

I/I0=(V/V0)γ
Der Exponent, das berüchtigte γ (Gamma), liegt im Bereich von ungefähr 2 bis 3. Die Erfahrung hat gezeigt, dass ein γ von 2.2 bei einer gleichmäßigen Zunahme der Gitterspannung eine Zunahme der Helligkeit bewirkt, die (bei nicht zu heller Beleuchtung im Raum) als gleichmäßig empfunden wird.

Bezeichnen wir mit L die empfindungsmäßige, mit Y die farbmetrische Helligkeit. Beide sollen für "Weiß" den Wert 1, für "Schwarz" den Wert 0 haben, und nach den vorausgegangenen Überlegungen gilt
Y = Lγ.(1)
Sind die Eigenschaften der Kathodenstrahlröhre in den Anfangszeiten von Fernsehen und Video unseren Bedürfnissen entgegengekommen, so überlässt man heute die notwendige "Gamma-Korrektur" nicht mehr den apparativen Gegebenheiten, sondern Umrechnungsformeln oder eingebaute "Umrechnungstabellen" (englisch: Look-Up-Tables, LUT) sorgen dafür, dass diese wie gewünscht und mit dem richtigen γ geschieht. Aber welcher Wert von γ optimal ist, hängt von Umgebungsbedingungen ab, insbesondere von der allgemeinen Helligkeit im Raum, an die sich das Auge anpasst. Je heller die Umgebung ist, desto kleiner ist das Gamma, das als optimal empfunden wird. Gedruckte Bilder werden üblicherweise bei größerer Helligkeit betrachtet als Fernsehbilder, daher wird dort für die Abstufung der Druckfarben ein Gamma von ca. 1.6 gewählt.

Aus technischen Gründen nimmt man für ganz geringe Helligkeit (wieder vereinfachend) einen linearen Zusammenhang zwischen L und Y an und modifiziert die obige Formel etwas. Sie lautet dann
Y = [(L + a)/(1 + a)]γ,(2)
wobei a eine (verglichen mit 1) kleine, positive Konstante ist. Für L = 0 ergibt sich hieraus ein kleiner positiver Wert für Y; dies wird korrigiert, indem für ganz geringe Helligkeiten
Y = kL(3)
angesetzt wird. (Die Konstante k wird so gewählt, dass diese Gerade eine Tangente an die Kurve ist.) Für uns ist hiervon nur wichtig, dass Y(L=0) = 0 ist. Die Umkehrformel
L = (1+a)Y(1/γ) – a (4)
gilt wieder nur für nicht zu kleine Werte von Y.

Ja, aber welche Werte von γ und a werden denn nun verwendet? In dem sRGB-Vorschlag (M. Stokes, M. Anderson, S. Chandrasekhar, R. Motta 1996) für die Farbdarstellung im Internet wird γ = 2.4, a=0.055 empfohlen, dies entspreche einem effektiven γ von 2.2; auch im Adobe-RGB Raum ist γ=2.2 (annähernd).
Man findet im Internet Testbilder, mit deren Hilfe man das Gamma seines Monitors bestimmen kann; ich habe diese Idee aufgegriffen und selbst ein entsprechendes Bildchen hergestellt. Wie zu erwarten, werden die Parameter von den Reglern von Helligkeit und Kontrast beeinflusst.
Man muss das Bild aus so großer Entfernung betrachten, dass man die Streifen des linken Feldes nicht mehr wahrnimmt. Neben dem grauen Feld, das die gleiche Helligkeit wie der linke Streifen hat, kann man den Wert von γ ablesen. Für die folgenden Demonstrationen wurde γ=2.2 vorausgesetzt; Sie sollten das γ ihres Monitors kennen.


Bild 3: Gamma-Testbild


Farbdarstellung

Rot-Grün-Blau-Maßzahlen

Unabhängig davon, wie z.B. beim Fernsehen das Farbsignal für die Übertragung verschlüsselt wird, sind letzten Endes bei der Erzeugung eines Bildpunktes auf dem Schirm die Intensitäten der drei Primärfarben Rot, Grün und Blau maßgeblich. Entsprechendes gilt, wenn uns ein Grafikprogramm oder die Programmiersprache PostScript verschiedene Möglichkeiten bietet, Farbe auszuwählen: in allen Fällen sind es die Rot-Grün-Blau-Maßzahlen, durch die der Elektronenstrahl gesteuert wird.
In bestimmten Intensitäten gemischt, ergeben die drei Primärfarben "Weiß". Dieses Weiß lässt sich durch die entsprechenden "Schräubchen" und Drehknöpfe noch feinjustieren; wenn das geschehen ist, dann sind dadurch die drei Maximalwerte der Helligkeiten festgelegt, die jeweils durch die Zahl 255 gekennzeichnet werden (bzw. hexadezimal #ff). Die Abstufung der drei Farben muss genau gleich erfolgen, damit sich bei drei gleichen Maßzahlen Grau ergibt, mit anderen Worten: die oben besprochene Gamma-Korrektur gilt für jede der drei Farben gleichermaßen.
Ich möchte im folgenden die Maximalhelligkeiten auf 1 normieren, so wie das auch in PostScript gehandhabt wird.
Die durch die drei Bytes (in Einheiten von 1/255) verschlüsselten Farbmaßzahlen sollen R', G', B' genannt werden. R, G, B seien die entsprechenden farbmetrischen Maßzahlen, und es gilt

R = [(R' + a)/(1 + a)]γ,
G = [(G' + a)/(1 + a)]γ,(5)
B = [(B' + a)/(1 + a)]γ,
mit den oben eingeführten Konstanten γ und a.
Für die additive Farbmischung gelten nur dann die einfachen Rechenregeln, wie sie im Abschnitt "Farbmetrik" beschrieben wurden, wenn die farbmetrischen Maßzahlen zugrunde gelegt werden, wegen der Nichtlinearität der Gamma-Korrektur gelten sie nicht für die hier verwendeten "korrigierten" (d.h. an die Empfindung angepassten) Größen R', G', B'.
Kennt man die Farbkoordinaten der Primärfarben, so kann man aus R, G, B schließlich die Maßzahlen X, Y, Z und alle daraus abgeleiteten bestimmen, und umgekehrt aus den Maßzahlen X, Y, Z auch R, G, B sowie R', G', B' gewinnen. Somit hat man die Möglichkeit, zumindest auf dem Bildschirm eine sehr genaue Farbdarstellung zu erreichen. Zur Illustration finden Sie hier das zur Erzeugung der folgenden Grafik (Bild 4) benutzte Quellprogramm.
Bild 4: Das CIE-xy-Diagramm (genauer: 1931-CIE-Diagramm für den 2-Grad-Beobachter) als – zugegebenermaßen nicht sehr originelles – Beispiel für die Berechnung von Bildschirmfarben. Vorausgesetzt wurde der sRGB-Farbraum.
Sie können im Internet zahlreiche Abbildungen dieses Diagramms finden. Viele (Beispiel Wikipedia) st