Warum nimmt die Dateigröße bei der Konvertierung von RAW nach TIFF so stark zu?

7

Ich habe CR2-Dateien (Canon RAW-Format) in TIFF-Dateien konvertiert, um ein Zeitraffervideo in Photoshop zu erstellen. Dabei stellte ich erstaunt fest, dass die Dateigröße von 23,9 MB bei den .CR2-Dateien auf 132,7 MB für die TIFF-Dateien stieg (dies sind übrigens 5760 x 3840 Pixel große Bilder). Die Bilder wurden in Lightroom von .CR2 in 16-Bit-TIFFs ohne Komprimierung konvertiert.

Anfangs hatte ich naiv keine Zunahme der Dateigröße erwartet, da keine neuen Informationen erstellt werden. Als ich weiter nachdachte, stellte ich fest, dass aufgrund des Bayer-Filters nur ein R-, G- oder B-Wert pro Pixel in der Rohdatei aufgezeichnet und der Rest in der TIFF-Datei interpoliert wird.

Dies würde eine Verdreifachung der Dateigröße erklären. 23,9 MB auf 132,7 MB sind jedoch mehr als das 5,5-fache. Ich habe eine der TIF-Dateien in Photoshop überprüft - es handelt sich um eine einzelne Ebene ohne Alphakanäle. Woher kommen die zusätzlichen Megabyte?

Mark Fisher
quelle
Wie viele Bits haben die TIFF-Dateien? 16? Wie viele Bits enthalten Ihre .CR2-Dateien? (höchstens ist es 14 und könnte weniger sein, je nachdem welches Kameramodell Sie haben)
Michael C
Die TIFFs sind 16 bpc. Huh, ich dachte immer, die .CR2-Dateien wären auch 16 bpc. Habe gerade das Handbuch überprüft - sie sind 14bpc. Dies führt zu einer 3,4-fachen Zunahme der Dateigröße. Immer noch ein bisschen kurz ...
Mark Fisher
Ich denke, es wäre mehr als 3,4 - Sie wechseln von einem einzelnen 14-Bit-Wert für jede Sensorvertiefung zu 3 16-Bit-Werten. Und .CR2-Dateien werden auch verlustfrei komprimiert.
Michael C
Aaah, ich verstehe. Ich wusste nicht, dass .CR2-Dateien komprimiert wurden. Ich mache es 5760 * 3840 * 16 * 3 / (8 * 2 * 20) = 126,6 MB reines Bilddatum für die TIFF-Dateien. Jetzt im richtigen Stadion, aber keine Ahnung, was die zusätzlichen 6 MB ausmacht. Kann sicher keine Metadaten sein?
Mark Fisher
1
Es gibt auch dieses ausgefallene Plugin, das im Laufe der Zeit einige schrittweise Anpassungen vornimmt.
null

Antworten:

11

TIFF ist ein Containerformat, das eine Sammlung anderer Standards unterstützt. Wie bei jedem Container hängt es davon ab, was Sie (oder wer auch immer den von Ihnen verwendeten TIFF-Export geschrieben hat) beschlossen haben, ihn einzufügen.

Aufgrund der Dateigröße ist Ihr Konverter unkomprimiert auf 16 bpc / RGB umgestiegen. Wenn ja, dann sieht diese Dateigröße ungefähr richtig aus. Wenn es nicht komprimiert ist, können wir es leicht bestätigen ...

5760 x 3860 = 22.118.400 ( Gesamtpixel )

x 3 = 66.355.200 (3 Farben pro Pixel, R / G / B)

x 2 = 132.710.400 (Gesamtbildgröße in Bytes, wobei 16 Bit = 2 Byte)

132,7 MB entsprechen Ihrer ursprünglichen Dateigröße. Die eigentliche Datei ist etwas größer, um den TIFF-Header, Metadaten und möglicherweise eine Vorschau aufzunehmen.

Es gibt mehrere Hauptgründe, warum das TIFF so viel größer ist:

Interpolation - Jedes Pixel auf dem Sensor ist entweder eines von R, G oder B. Um ein vollständiges RGB-Bild zu erhalten, schätzt der Rohkonverter die beiden anderen Farben (z. B. R / B für G-Pixel) aus den umgebenden Pixeln. Das bedeutet, dass unsere Rohdatei nur 1/3 der Daten speichern muss, die unser TIFF vor dem Start erstellt. Die wirklich rohen unkomprimierten Sensordaten, die gespeichert werden, sind in diesem Fall knapp 39 MB groß.

Die Komprimierung wird dann aktiviert und reduziert diese 39 MB weiter. Die Komprimierung kann optimiert werden, wenn Sie wissen, welcher Typ und welches Format die Daten im Vergleich zu allgemeinen Komprimierungsalgorithmen haben. Im CR2-Fall wird ein verlustfreies JPEG verwendet, das die Größe um etwa 25% zu verringern scheint .

Weitere Informationen: CR2 ist eigentlich ein TIFF - basiertes Format , das eine lossless Graustufen JPEG speichert (nach dieser Seite ) , die von verwiesen wird ExifTool: Canon Raw - Dateiformat - die es wert a lesen , wenn nichts anderes , als Phil Harvey schimpfen über einige der (viele) Unzulänglichkeiten von TIFF.


Zusätzliche Informationen zum Abdecken von Kommentaren: Die 'zusätzlichen' 6 MB sind wahrscheinlich 0's' und werden nur aufgefüllt, damit die 14-Bit-Werte an die 16-Bit-Grenze (2 Byte) angepasst werden, die Lightroom verwenden muss, da sie mit ganzen Bytes arbeitet. Lightroom codiert die Ausgabe so, dass sie der Tiefe entspricht, mit der es gearbeitet hat, selbst wenn TIFF unkomprimierte 14-Bit / Kanal unterstützt, was IIRC nicht tut technisch korrekte TIFFs, die niemand öffnen kann (und meiner Erfahrung nach nicht zum ersten Mal).

James Snell
quelle
2
Im Abschnitt zur Grauberechnung kann es hilfreich sein, anzugeben, dass "X 2" eine Verknüpfung für "X (16 Bit pro Farbwert pro Pixel / 8 Bit pro Byte)" ist.
Michael C
Ja, denn die Zeiten 2 sind wirklich mal 16 Bits geteilt durch 8 Bits pro Byte.
Michael C
2
Diese Berechnung berücksichtigt jedoch die 16bpc. Es stellt sich heraus, dass es keine zusätzlichen 6 MB gibt, wie ich gedacht hatte. Ich bin erst kürzlich zu Mac gewechselt und hatte nicht bemerkt, dass 10 ^ 6 Bytes als Definition für ein MB verwendet werden, anstatt 2 ^ 20 Bytes wie in Windows. Alles wird berücksichtigt!
Mark Fisher
Ich habe in der Frage keinen Hinweis auf Ihren Mac gesehen. Ja, ein als 2 ^ 20 definierter MB ist fast 5% größer als ein als 10 ^ 6 definierter MB.
Michael C
2
Alle Farbwerte für jedes Pixel werden unter Verwendung der Werte aus umgebenden Pixelvertiefungen interpoliert. Das heißt, sogar ein Pixel mit einer grünen Maske enthält eine Interpolation von umgebenden Pixeln, um den Grünwert dieses Pixels in der RGB-Ausgabe zu berechnen. Dies liegt an der Tatsache, dass die Bayer-Maske das Licht der beiden anderen Farben, die zu jeder Pixelvertiefung gelangen, nicht vollständig eliminiert.
Michael C