Lineare Arbeitsabläufe und Farbverwaltung

Lineare Arbeitsabläufe sind ein Verfahren zum Schattieren, Beleuchten und Rendern, das viele Vorteile gegenüber der direkten Arbeit mit nichtlinearen Videowerten wie sRGB bietet. Die Farbverwaltung ermöglicht einen linearen Arbeitsablauf durch die korrekte Umwandlung von Farben zwischen den verschiedenen Farbräumen für Eingabe, Rendering, Anzeige und Ausgabe.

Farbräume geben eine Farbe eindeutig an, und zwar in Bezug auf die primären Komponenten sowie den Weißpunkt, die Codierung und andere Attribute. So unterscheiden sich beispielsweise die primären Werte für Rot, Grün und Blau, die für ein sRGB-Bild auf einer Webseite verwendet werden, von denen eines P3-Digital-Cinema-Projektors, und auch die Umgebungslichtbedingungen für die Web- und Kinoansicht sind unterschiedlich. Trotzdem ist es möglich, Farben für die Anzeige auf einem Standardbildschirm oder einem Projektor präzise umzuwandeln, da sowohl die sRGB- als auch die DCI-P3-Farbräume gut charakterisiert sind. Um jedoch eine RGB-Dreiergruppe wie (0,5, 0,25, 0,25) richtig interpretieren zu können, muss der beabsichtigte Farbraum bekannt sein.

Moderne Renderer ahmen nach, wie Lichtdurchlässigkeit, Absorption, Reflexion und Refraktion in der realen Welt funktionieren. Die Beleuchtung in einer 3D-Szene sollte daher der tatsächlichen Beleuchtung im Freien oder im Studio sehr ähnlich sein, wobei die Farbwerte direkt proportional zur Menge der Lichtenergie sind. Dies wird als szenenbezogener linearer Arbeitsbereich oder kurz szenenlinear bezeichnet. In einem solchen Farbraum gibt es keine maximale Helligkeit: (1,0, 1,0, 1,0) ist die Farbe, die von einem typischen Beobachter, der vollständig an die Beleuchtung angepasst ist, als "weiß" angesehen wird, aber Lichtquellen und Spiegelreflexionen können viel heller sein.

Anzeigegeräte verfügen jedoch über eine maximale Helligkeit, die ebenfalls durch (1,0, 1,0, 1,0) oder (255, 255, 255) angegeben wird, wenn sie als 8-Bit-Ganzzahl ausgedrückt werden. Selbst auf einem HDR-Gerät ist dieser hellste Wert nicht annähernd so hell, wie es in der realen Welt vorkommen kann. Daher müssen die HDR-Werte der Szene für die Anzeige einem begrenzteren Bereich zugeordnet werden. Wenn Sie die Farbwerte einfach herunterskalieren, um sie an den Anzeigebereich anzupassen, erhalten Sie ein unangenehm "trübes" Bild. Dazu benötigen Sie eine Ton-Map mit fotografischer Reaktion.

Zusätzlich zu einem hohen Dynamikbereich ist es oft auch wünschenswert, einen Farbraum mit einem großen Farbspektrum zum Rendern zu verwenden. Dies ermöglicht die Darstellung von mehr Farben und ist besonders wichtig bei der Erstellung von Inhalten für digitales Kino und HDR-TV, die größere Farbspektren aufweisen als sRGB und HDTV (Rec. 709).

Bei der Farbverwaltung werden die entsprechenden Transformationen angewendet, um die Farben nach Bedarf in andere Farbräume umzuwandeln. Diese Transformationen werden an bestimmten Punkten im kreativen Prozess angewendet:

Bildeingaben

Die richtige Vorgehensweise für ein Eingabebild, z. B. eine Textur, hängt von der Verwendung des Bilds in der Szene ab. Sie hängt auch vom Bild selbst ab, einschließlich des aktuellen Farbraums, der Codierung und des Bildzustands (ob die Farbwerte proportional zu den in der Szene referenzierten Luminanzwerten oder den in der Anzeige referenzierten Luminanzwerten sind).

Auf Bilder, die für Nicht-Farbdaten verwendet werden, darf keine Transformation angewendet werden. Dazu gehören Relief-, Normalen- und Verschiebungs-Maps sowie Maps, die für andere Attribute wie Transluzenz, Glanzfarbe, Reflexionsvermögen usw. verwendet werden.

Für Bilder, die Farbwerte darstellen, gibt es mehrere Möglichkeiten:
  • Die meisten HDR-Bilder sind bereits in der Szene linear, einschließlich OpenEXR-, HDR- und einiger TIFF-Dateien. Sie erfordern möglicherweise keine Linearisierung im Ton, benötigen jedoch möglicherweise eine Transformation, um die Primärfarben und den Weißpunkt des Eingabebereichs in die des Renderbereichs zu konvertieren, wenn sie unterschiedlich sind.
  • Bei Bildern, die mit einem bestimmten Gerät aufgenommen wurden, sollte eine Eingabetransformation angewendet werden, die für dieses Gerät spezifisch ist. Dazu gehören Aufnahmen von digitalen Filmkameras und Filmplatten von ADX-kalibrierten Scannern. Andere Typen gescannter Filmplatten erfordern in der Regel eine Art von logarithmischer bis linearer Transformation.
  • Bei Bildern, die für die Anzeige vorbereitet wurden, sollte das Gamma entfernt werden. Dazu gehören viele gängige Grafikformate wie JPEG, PNG, BMP, Targa und einige TIFF-Dateien. Es ist jedoch sehr wichtig, zu beachten, dass die Farbwerte nach dem Entfernen des Gamma-Werts linear proportional zur Luminanz der Anzeige und nicht zur Luminanz der Szene sind. Dies ist für Texturen in Ordnung, da es bedeutet, dass keine Werte über 1,0 vorhanden sind. Dies ist für Bilder korrekt, die für Basisfarbe, Transparenz und andere Farb-Maps verwendet werden.

Vorschau

Um ein szenenlineares Bild anzuzeigen, muss es für die Anzeige konvertiert werden. Diese Transformation besteht in der Regel aus zwei Schritten:
  • Im ersten Schritt werden die Werte, auf die sich die Szene bezieht, in einen auf die Anzeige bezogenen Raum konvertiert. Dies kann beispielsweise eine Tone Map zum Konvertieren von Farben aus einem dynamischen Bereich in den Bereich 0,0-1,0 sowie eine Änderung von Primärfarben umfassen.

  • Im zweiten Schritt werden die Werte für eine bestimmte Anzeige konvertiert. Dies kann eine weitere Änderung der Primärparameter, des entsprechenden Gammas und der Kodierung als geeignete Ganzzahlwerte beinhalten.

Bilder werden in der Regel unter Beleuchtungsbedingungen angezeigt, die wesentlich dunkler als eine Szene im Freien oder ein hell beleuchteter Filmsatz sind. Daher werden Tone Maps verwendet, um HDR-Werte in den Anzeigebereich zu komprimieren, wobei eine fotografische Reaktion ein angenehmes Bild erzeugt. Tone Maps wenden in der Regel eine S-förmige Kurve an, die Kontrast und Sättigung erhöht, um den niedrigeren Dynamikbereich und die dunkleren Anzeigebedingungen auszugleichen. Diese Kurve ordnet auch einen Wert von 1,0 im Renderbereich einem niedrigeren Wert zu, um im Anzeigebereich Platz für hellere Glanzlichter zu lassen.

Die einfache Anwendung von Gamma reicht nicht aus, um ein szenenlineares Bild vollständig für die Anzeige vorzubereiten. Ohne Tone Map bleiben Farbwerte über 1,0 über 1,0 und werden vom Bildschirm abgeschnitten.

Renderausgaben

Ob eine Transformation auf die gerenderte Ausgabe angewendet werden soll, hängt von der Verwendung dieser Dateien ab.
  • Wenn die Dateien weiter verarbeitet werden, sollten sie im szenenlinearen Renderingbereich belassen werden. Dadurch wird der gesamte dynamische Bereich für Vorgänge wie Zusammensetzen und Verschneiden verfügbar. Die Tone Map und die Anzeigetransformation sind jedoch weiterhin erforderlich, um diese Dateien auf einem Bildschirm anzuzeigen, da sie andernfalls zu dunkel erscheinen.
  • Wenn die Dateien direkt angezeigt werden (z. B. auf einer Webseite), sollten die Tone Map und die Anzeigecodierung eingebacken werden.
  • In einigen Fällen müssen Sie stattdessen möglicherweise eine andere Transformation anwenden, um die Dateien in einen bestimmten Raum zu konvertieren.