Dateiformate & Datenkompression

Da beim Arbeiten mit 16 oder 32 Bit float schnell große Datenmengen anfallen, folgt hier eine Übersicht zu Dateigrößen der einzelnen Formate. Untersucht wurden ausschließlich verlustlose Kompressionsverfahren.



Alle Werte sind in Byte angegeben und nach Größe sortiert. Die Werte hängen stark vom zu komprimierenden Bildinhalt ab. Für den Test wurde folgendes, besonders komplexes Bild (Grain) verwendet.

Testbild: Macbeth Color Checker mit Grain. (Original 1280*960)

Weitere Erläuterungen zu den einzelnen Formaten und unterschiedlichen Kompressionsverfahren sind im Buch aufgeführt.

Lineare Kameradaten / RAW *update

Professionelle digitale Filmkameras, wie ARRIFLEX D21 oder RED ONE, speichern die auf den Sensor treffenden Bildhelligkeiten in einem sog. RAW-Format ab. Die gespeicherten RAW-Files einer Kamera sollten nicht als Bilder, sondern vielmehr als Daten betrachtet werden, auf deren visuelle Reproduktion noch Einfluss genommen werden kann.

Die Daten der RAW-Files enthalten keinerlei Gammaverzerrung.

Im Vergleich dazu speichern tapebasierte Consumer oder Prosumer Kameras (miniDV, DVCam, DigiBeta oder D-SLRs wie die 5D oder 7D) komplette Bilder, die für die korrekte Darstellung am Monitor gammakorrigiert sind.

Virtuelle Beleuchtung im linearen Workflow

Nachfolgend werden die Auswirkungen des linaren Workflows auf die virtuelle Beleuchtung betrachtet. Als Referenz dient folgendes Foto, das den Ball in heller Umgebung zeigt, um die Aufhellung seines Schattens durch die indirekte Beleuchtung deutlich zu machen.

Reale Aufnahme.

Die Szene wurde in Maya mit den gemessenen Lichtparametern nachgestellt und gerendert. Das Augenmerk liegt nicht auf realistischem Modelling und Texturierung, sonder auf der Lichtstimmung und Schatten.

Um die Ergebnisse nicht zu verfälschen und den Gesamteindruck der Beleuchtung besser abzubilden, wird kein Compositing, sondern ausschließlich ein 3D-Rendering betrachtet.

Rendering der Szene im linearen Workflow.

Im nonlinearen Workflow sieht das Ergebnis mit denselben Settings folgendermaßen aus:

Rendering der Szene im nonlinearen Workflow.

Fazit: Das Rendering im linearen Workflow bildet die reale Lichtstimmung besser nach. Besonders im Bereich der Schatten wirkt das nonlineare Rendering zu dunkel.

Compositing: Screen vs. Add

Dieser Post betrachtet die Auswirkungen des linearen Workflows auf die sog. Operatoren im Compositing, genauer die Operatoren SCREEN und ADD.

Operatoren beschreiben die mathematische Verknüpfung zweier Bildebenen. Der Operator ADD bezeichnet die Addition der Farbwerte der Bildebenen A und B. ADD = A + B. Der Operator Screen subtrahiert vom Ergebnis im Anschluss an die Addition das Produkt aus beiden Farbwerten. SCREEN = A + B − (A ∙ B) = 1 − (1 − A) ∙ (1 − B).

Im Folgenden sollen 2 verschiedene Lichtanteile (diffus und spekular) des CG-Renderings im Compositing zusammengeführt werden. Rein Physikalisch entspricht dies einer Addition der beiden Helligkeitswerte der Bildebenen.

Im nonlinearen Workflow:
Werden im Compositing die verschiedene Anteile des Lichtes zusammengeführt, erscheint das visuelle Ergebnis des Operators ADD zu hell. Besonders in den Highlights fehlt Zeichnung. Aus diesem Grund wurde der Operator SCREEN eingeführt um das Ergebnis des ADD-Operators abzuschwächen und dem realen Lichtverhalten anzunähern.

Im linearen Workflow:
Hier ist der "Workaround" des SCREEN-Operators hinfällig. Der Operator ADD entspicht dem physikalischen Verhalten von Licht und erzielt den gewünschten Fotorealismus.

Mathematische Erläuterungen finden sich im Buch.

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