Physikalische Gesetzmäßigkeiten - Teil 2

Die Skalierung eines Farbwertes mit dem Faktor 2, um dessen Helligkeit zu verdoppeln, führt in einem traditionellen Workflow zu einem falschen Ergebnis. Der am Monitor sichtbare RGB-Farbwert [32, 25, 2] wird fälschlicherweise zum Wert [149, 115, 8] "verdoppelt".
Die Berechnung wird anhand der gammavorentzerrten Bilddaten durchgeführt. Der darin befindliche RGB-Farbwert [100, 89, 26] verzweifacht sich zum Wert [200, 178, 52]. Dieser zeigt sich allerdings als Farbwert [149, 115, 8] am Monitor. Eigentlich sollte der Wert [64, 50, 4] zu sehen sein. Dies entspräche einer korrekten Verdopplung der Helligkeit, die nur durch den Gebrauch eines linearen Workflows errechnet werden kann.

In diesem werden die Bilddaten vor der Berechnung in ihren Ursprungszustand gebracht. Dazu dient eine Gammakorrektur entgegen der Gammavorentzerrung, also Gamma = 2,2. (0,45*2,2 = 1)
Anstatt dem Rotwert 100, der ein Gamma von 0,45 enthält, wird der Wert 32 verdoppelt und anschließend wieder zur korrekten Darstellung mit der Gammavorentzerrung versehen.

Gammakorrektur:


Verdopplung und Gammavorentzerrung:


Die Verdopplung eines Wertes im linearen Workflow


Das Resultat des korrekten Workflows ist ein Bild, das dem länger belichteten Foto wesentlich ähnlicher ist. Geringe Differenzen verbleiben aufgrund der Bauweise einer Digital-Kamera.

Das Foto bei doppelter Belichtungszeit

Die Verdopplung der Helligkeit im linearen Workflow

Physikalische Gesetzmäßigkeiten - Teil 1

Physikalische Gesetzmäßigkeiten werden bei der Ausführung von Bildberechnungen auf gammavorentzerrten Bilddaten nicht befolgt. Die visuellen Auswirkungen zeigen sich in Form einer unrealistischen Helligkeitsverteilung. Rein mathematisch lässt sich das Problem einfach anhand eines Beispiels erklären:

Ein digitales Foto (RGB, je 8 Bit) ist um eine Blende zu dunkel geraten und soll zum Ausgleich um den Faktor 2 aufgehellt werden (Gain = 2 oder Exposure +1).
Das Ausgangsmaterial: Eine zu dunkel geratene Aufnahme

Der exemplarische RGB-Farbwert [100, 89, 26] wird von der Bearbeitungssoftware mit einer simplen Multiplikation zu [200, 178, 52] umgerechnet. Das Foto ist nun aufgehellt, entspricht jedoch nicht dem Foto des gleichen Motives, das bei einer doppelt so langen Belichtungszeit aufgenommen wurde. Warum?
Das gleiche Foto bei doppelter Belichtungszeit

Die errechnete Aufhellung unterscheidet sich deutlich

Wichtig zu bemerken ist, dass das Foto von der Kamera bei der Aufnahme gammavorentzerrt (Gamma = 0,45) wurde, was den Normalfall darstellt. Der Rotwert 100 im vorentzerrten Bild repräsentiert also einen Rotwert von 32 in der linearen Version des Bildes.


(Die Berechnung erfolgt unter der Normierung mit 256 Farbstufen um die Gammafunktion mit Werten zwischen 0 und 1 anzuwenden.)

Desweiteren erscheint der Wert 100 auf dem Monitor (Gamma 2,2) wie erwünscht mit der Helligkeit des Wertes 32, was der eigentliche Grund für die Gammavorentzerrung ist.
Der Rotwert 32 bis zur Darstellung

Der im Zuge der Belichtungskorrektur neu errechneter Rotwert 200 erscheint am Monitor mit der Helligkeit des Wertes 149, da



Der eigentliche Sinn der Farbkorrektur war es, die Helligkeit zu verdoppeln. Der auf dem Monitor sichtbare Wert 32 sollte zum Wert 64 umgerechnet werden. Durch eine mathematische Verdopplung ergibt sich jedoch der wesentlich hellere Wert 149!

Im nächsten Teil dieses Beitrags wird die Helligkeitskorrektur im linearen Workflow am selben Beispiel beschrieben.
Die Verdopplung der Helligkeit im linearen Workflow

Die Gammafunktion

Die Gammafunktion spielt im linearen Workflow eine große Rolle. Mit ihr lässt sich die Kennlinie eines Monitors recht gut beschreiben. Die Formel der Funktion lautet einfach

Ausgangswert = Eingangswert^Gamma


Gamma = 2,2 und Gamma = 0,45

Betrachtet man einen Eingangswert auf der horizontalen Achse, so kann man einen geringeren Ausgangswert auf der vertikalen Achse ablesen. Davon ausgenommen sind die Werte Null und Eins, sie bleiben unangetastet. Selbiges gilt für Farbwerte: Ein mit einem Gamma von 2,2 manipuliertes Bild bleibt in den Farbwerten #000000 (Schwarz) und #FFFFFF (Weiß) unangetastet, alle Anderen werden verringert, dunkle Farben in besonders hohem Maße. Das Ergebnis wird durch das obere Bild des letzten Blogeintrags veranschaulicht.

Die Funktion Gamma = 0,45 hat den umgekehrten Effekt und hebt so die beschriebene Wirkung auf. Bilder mit dieser Gammavorentzerrung erscheinen am Monitor mit der korrekten Helligkeitsverteilung.

Der lineare Workflow in der 3D Computergrafik

Die folgenden Bilder verdeutlichen den Vorteil des linearen Workflows. Unter Verwendungen eines (physikalisch korrekten) quadratischen Lichtabfalls scheint das traditionelle Rendering zu dunkel. Unter Verwendung des linearen Workflows (unteres Bild) wirkt der Lichtabfall realistischer; das Objekt im Hintergrund wird sichtbar.

Traditionelles Rendering ohne Beachtung des linearen Workflows.
Rendering unter Berücksichtigung des linearen Workflows.

Grundlagen zum linearen Workflow.

Die Kernproblematik des linearen Workflows besteht im Grunde aus dem nonlinearen Helligkeitsverhalten von Wiedergabegeräten. Farbwerte eines Fotos, die zur Wiedergabe an einen Monitor gehen, erscheinen dort mit einer geringeren Helligkeit. Das hängt mit der Kennlinie des Monitors zusammen (Monitorgamma).

Diese wird bei der Aufnahme durch eine Kennlinie in der Kamera ausgeglichen, um das Bild korrekt wiedergeben zu können. Durch diese sog. Gammavorentzerrung wird das Bild also aufgehellt und die Helligkeitsverteilung der fotografierten Szene am Monitor sichtbar.

Gesamt-Gamma mit Gamma-Vorentzerrung










Mit Hilfe der Gammavorentzerrung werden beliebige Szenen also trotz Monitorgamma korrekt abgebildet.

Das Problem tritt erst bei der Bearbeitung der Bilder auf. Die in den Bildern gespeicherte Gammavorentzerrung führt zu einem Konflikt mit der 2D- und 3D-Computergrafik: die Berechnungen einer Bildbearbeitungssoftware setzen unkorrigierte Daten voraus.

Werden die Berechnungen auf gammavorentzerrten Bildern ausgeführt, so hat dies negative Auswirkungen auf das visuelle Resultat, da physikalische Gesetzmäßigkeiten nicht befolgt werden. Der sogenannte lineare Workflow beschreibt die korrekte Berechnung auf unkorrigierten, sogenannten linearen Bilddaten.