Progressive Graphics File
PGF steht für Progressive Graphics File und ist ein Grafikformat für komprimierte Rastergrafiken. Es wurde als verbesserten Ersatz für das in die Jahre gekommene JPEG-Format entworfen. Die Daten werden entweder verlustfrei oder verlustbehaftet komprimiert abgespeichert.
Eigenschaften
PGF ist wie JPEG und JPEG 2000 für natürliche Bilder konzipiert. Künstlich generierte Rasterbilder wie Screenshots oder Logos werden besser mit PNG abgespeichert. JPEG 2000 und PGF basieren beide auf der diskreten Wavelet-Transformation (DWT). Die Kompressionsrate von PGF kommt bei gleicher Bildqualität nicht ganz an diejenige von JPEG 2000 heran ist aber klar besser als bei JPEG. JPEG 2000 bezahlt diesen Umstand mit einer sehr hohen Kodierungs- und Dekodierungszeit, wohingegen die Kodierungs- und Dekodierungsgeschwindigkeit von PGF mit der hohen Geschwindigkeit von JPEG vergleichbar ist.
Das größte Plus von PGF gegenüber vielen anderen Bildformaten ist jedoch die spezielle Anordnung des Datenstroms, welche einen progressiven Bildaufbau gestattet. Die Bilddaten sind im Datenstrom so angeordnet, dass das Dekodieren eines ersten Teilabschnittes ausreicht, um eine verkleinerte Version des Endbildes perfekt darstellen zu können. Mit jedem weiteren dekodierten Abschnitt kann danach das Bild in seiner Größer vervierfacht werden. Somit eignet sich PGF für die Bildübertragung über ein Netzwerk besonders gut, weil die Empfängerin frühzeitig einen ersten Eindruck über das übertragene Bild erhält.
Aber nicht nur im Internet hat PGF große Vorzüge: auch die separat gespeicherten Vorschaubilder im Windows Explorer oder bei Digitalkameras im Exif-Dateiformat könnten durch PGF der Vergangenheit angehören.
PGF unterstützt keine farbindizierten Bilder, ansonsten aber eine große Anzahl verschiedener Rasterformate, insbesondere auch Transparenzinformation analog zu PNG:
- Graustufenbild mit 1, 8, 16 oder 31 Bit
- RGB Farbild mit 12, 16 (565), 24 oder 48 Bit pro Pixel
- ARGB Farbbild mit 32 Bit pro Pixel
- L*a*b Farbbild mit 24 oder 48 Bit pro Pixel
- CMYK Farbbild mit 32 oder 64 Bit pro Pixel
Technische Details
Die PGF-Prozesskette umfasst die folgenden Schritte:
- Transformation des Farbraumes (wenn Farbbild)
- Diskrete Wavelet-Transformation
- Quantisierung
- Progressive Präkodierung
Das ganze Verfahren arbeitet ausschliesslich mit Ganzzahlarithmetik und benötigt nicht einmal Multiplikationen und Divisionen. Daher eignet es sich bestens für eine direkte Hardware-Umsetzung.
Testbilder
Die folgende Abbildung zeigt ein Kodak-Testbild der Grösse 200x300 Pixel in verschiedenen Kompressionsstufen. Die verlustlos komprimierte Version (mit 1/1 bezeichnet) benötigt im PNG-Format 145,3 KByte und im PGF-Format 91,2 KByte. Das zweite Bild von links benötigt noch 21,4 KByte und ist somit um einen Faktor 6,8 kleiner als das Originial im PNG-Format. Das dritte Bild von links benötigt 12,7 KByte und ist 11,4 mal kleiner als das Original. Schliesslich das vierte Bild benötigt nur noch 1/20 der Grösse des PNG-Bildes.
Weblinks
- PGF-Webpräsenz mit vielen Information und Download, englisch
- xeraina Image Viewer Bildbetrachter/Konverter für die gängigsten Bildformate inklusive PGF. Freeware für nichtkommerziellen Gebrauch.
- xeraina GmbH, Entwicklerin des PGF Verfahrens