Progressive Graphics File
# Progressive Graphics File

PGF steht für Progressive Graphics File und ist ein Grafikformat für komprimierte Rastergrafiken. Es wurde als Ersatz für die in die Jahre gekommene JPEG-Komprimierung 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.

Der Vorteil von PGF gegenüber vielen anderen Bildformaten ist 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 darstellen zu können. Mit jedem weiteren dekodierten Abschnitt kann danach das Bild in seiner Größe vervierfacht werden. Somit eignet sich PGF für die Bildübertragung über ein Netzwerk, da der Empfänger frühzeitig einen ersten Eindruck über das übertragene Bild erhält.

Mit Version 5 ist auch die optionale Extraktion von Bildausschnitten (Region of Interest) eingeführt worden. Diese effiziente Art der Ausschnittextraktion ermöglicht die Dekodierung eines gewünschten Bildausschnittes, ohne dabei das Gesamtbild zu dekodieren. Dadurch ist ein Zugriff auf kleine Bildausschnitte in einem großen Bild in kurzer Zeit möglich. Eine solche Bildausschnittextraktion ist jedoch nur möglich, wenn die PGF-Datei in einer leicht veränderten Struktur abgespeichert wird.

Auch die separat gespeicherten Vorschaubilder im Windows-Explorer oder bei Digitalkameras im Exif-Dateiformat sind bei PGF nicht notwendig.

PGF unterstützt ab Version 5 die folgende große Anzahl verschiedener Rasterformate, insbesondere auch Transparenzinformation analog zu PNG:

* Graustufenbild mit 1, 8, 16 oder 31 Bit
* farbindiziertes-Bild mit 256 Farben
* 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 ausschließlich mit Ganzzahlarithmetik und benötigt weder Multiplikationen noch Divisionen. Es eignet sich daher für eine direkte Hardware-Umsetzung.

