Why you should not use PNG files for image sequences

Ok, natürlich war mir klar, daß das PNG-Format nicht gerade optimal komprimiert. Ich habe es aber ungeachtet dessen trotzdem verwendet, um Einzel-Frames oder auch ganze Sequenzen von Bildern zu rendern. Nun habe ich gestern abend im Blender-Meetup eine Hinweis auf den Artikel „Why you should not use PNG files for image sequences“ entdeckt und ihn mir durchgelesen. Darin ist die Rede davon, daß als PNG gerenderte Bild-Sequenzen bis zu 20 mal (!) langsamer rendern als TIFFs oder EXRs. Das ist natürlich schon ein Argument, weshalb ich jetzt auf TIFF umgestellt habe, das es auch mit optionaler LZW-Kompression (LZW steht für Lempel-Ziv-Welch) gibt.

11:21 Uhr

War gerade einkaufen und beim Trölsch frühstücken. Obwohl ich dort seit Jahren Stammkunde bin, sind die Bedienungen nicht besonders freundlich. Draußen die eine Bettlerin, wie ihre Kollegin auf der gegenüberliegenden Straßenseite mit nackten Füßen.

Habe – erst mal für mich – eine Übersicht über die von CinePaint unterstützten Dateiformate (ich zähle 23) geschrieben, bin aber noch nicht fertig. Neben den gebräuchlichen Formaten wie PNG, TIFF oder JPG sind auch Kodak Cineon bzw. DPX – was im Prinzip fast dasselbe ist – sowie FITS, ein Dateiformat, das von der NASA verwendet wird, darunter. Ich dachte eben, so eine Übersicht könnte für den einen oder anderen nützlich sein.

Noch mehr Grafikdateiformate

In Ergänzung meines Beitrags „PNG“ hier noch etwas zu den Formaten JPG, TIFF und GIF – alles gebräuchliche Dateiformate für Grafiken. Ganz kurz: JPG oder auch JPEG – kurz für Joint Photographic Experts Group -, ist ein verlustreich komprimierendes Dateiformat mit einer Farbtiefe von 24-bit, das bedeutet 16,7 Millionen Farben. JPG wird üblicherweise für Fotos verwendet. Um beispielsweise im Gimp ein Bild als JPG abzuspeichern, muß man/frau es mit [Strg][E] exportieren.

Hier die Dialogbox, mit der man/frau im Gimp konfrontiert wird:

Dialogbox für den Export von JPGs aus dem Gimp 2.10.18

Der obige Screenshot zeigt die Einstellungen, die ich standardmäßig verwende. Die Option Smoothing benutze ich nie. Progressive muß auch nicht unbedingt selektiert werden; es bedeutet, daß das Bild nach und nach aufgebaut wird und war eigentlich nur zu Zeiten wichtig, wo man/frau sich noch mit 56k-Modems ins Internet eingewählt hat. Beim Subsampling wird das Bild in Gruppen zu je vier Pixeln aufgeteilt, aus denen dann ein Mittelwert gebildet wird.

Soviel zu JPG. TIFF– das zweite Format – ist die Abkürzung für Tagged Image File Format. Es wird häufig in der Druckvorstufe verwendet und unterstützt wie JPG eine Farbtiefe von 16,7 Millionen Farben. In einer TIFF-Datei können – wie auch in JPG – Kommentare mit abgespeichert werden. Darüber hinaus unterstützt TIFF Transparenz in Form eines Alpha-Kanals sowie die Option, mehrere Bilder in einer Datei abzuspeichern. Üblicherweise werden TIFFs entweder unkomprimiert oder mit dem verlustlos komprimirenden LZW (Lempel- Ziv-Welch) abgespeichert.

Vorsicht: Die Option JPG-Kompression sollte man /frau möglichst nicht wählen, da sie gerade von älteren Programmen teilweise nicht unterstützt wird; die Datei kann dann nicht importiert werden. Zwischen Photoshop CS2 und dem Gimp 2.10.18 klappt der Austausch dagegen; auch Inkscape 0.92 importiert TIFFs mit JPEG-Kompression. Und: Auch ImageMagick 6.9.10-23 zeigt solche TIFFs anstandslos an.

Ein Hinweis in Photoshop CS2, wenn man/frau TIFFs mit JPG-Kompression abspeichern will.

Der TIFF-Export-Dialog im Gimp:

Das dritte Format GIF (Graphics Interchange Format) wird vor allem für Bilder mit einer Farbtiefe von 8-bit (Logos, Schaubilder usw.) benutzt, das bedeutet, daß in GIF maximal 256 Farben abgespeichert sind, die in einer Palette gespeichert werden. GIF verwendet – wie auch TIFF – die verlustfreie LZW-Kompression, bei der die Bilddaten in einer Tabelle abgespeichert werden. Wichtig: GIF unterstützt Animation (animierte GIFs). Dieses Feature muß aber von der Software, mit der man/frau GIF-Dateien abspeichern will, unterstützt werden. Im Gimp ist es möglich, animierte GIFs abzuspeichern. Dabei muß jeder Frame auf einer separaten Ebene liegen.

Hier der Dialog, um GIFs aus dem Gimp heraus zu exportieren:

Wie man/frau sieht, kann man bei Animationen die betreffende Option auswählen. Dann muß angegeben werden, wie lange die Verzögerung zwischen den einzelnen Frames (in Millisekunden) ist.

Empfehlung: „Encyclopedia of Graphics File Formats“

1997 – ich hatte gerade frisch mit Computergrafik angefangen – habe ich mir für über DM 100,- die „Encyclopedia of Graphics File Formats“ von Murray/vanRyper gekauft. Bis heute imho unerreicht und jedem Interessierten wirklich wärmstens zu empfehlen, enthält dieses Buch auf über 1100 Seiten detaillierte Informationen zu über 100 Dateiformaten. Dabei werden neben so bekannten Formaten wie JPEG und TIFF auch nicht so bekannte Formate wie SPIFF behandelt. Dem Buch liegt eine CD bei, auf der nicht nur der komplette Buchinhalt zu finden ist, sondern auf der u. a. auch ein Mosaic-Browser für verschiedene Betriebssysteme (auch Unix) beiliegt.

Ein Screenshot des Inhaltsverzeichnisses:

© Copyright 1996 by James D. Murray & William vanRyper/O’Reilly & Associates, Inc.

Die beiden Autoren haben sich hier wirklich immense Arbeit gemacht, und für mich ist dieses Buch nach über zwanzig Jahren auch heute noch das definitive Nachschlagewerk.