packJPG

Geschichte von packJPG

packJPG ist ein spezialisiertes Kompressionsprogramm zur weiteren Kompression von JPEG-Dateien und eine Eigenentwicklung von Matthias Stirner. Im Gegensatz zu den übrigen Formaten in dieser Kategorie vorgestellten Programmen ist packJPG nicht von der ISO zertifiziert und auch kein eigenständiges Bild-Format, da es auf JPEG aufbaut.

Das Programm wurde ursprünglich im Rahmen einer Diplomarbeit an der HTW Aalen entwickelt. Erstmals wurde packJPG im Jahre 2007 in der Version 1.9 als Freeware veröffentlicht. Das Programm wurde seit seiner Erstveröffentlichung noch verbessert, im November 2011 wurde die Version 2.5 des Programms veröffentlicht. Mit der Veröffentlichung von packJPG v2.5e ist auch der packJPG-Quellcode als Open Source unter der LGPL-Lizenz v3 für den nicht-kommerziellen Einsatz und eingeschränkt für den kommerziellen Einsatz frei verfügbar.

 

Grundlegende Informationen zu packJPG

packJPG komprimiert JPEG-Dateien, indem es sie in das PJG-Format konvertiert. Eine PJG-Datei enthält alle Informationen, um eine JPEG-Datei in ihrem ursprünglichen Zustand und ohne Verluste wiederherzustellen. Typischerweise ist eine PJG-Datei in etwa um 20% kleiner als die korrespondierende JPEG-Datei. Da momentan keine eigenständigen Betrachterprogrammer für das .PJG Format existieren, macht der Einsatz des Formats hauptsächlich Sinn zur Archivierung größerer Mengen von JPEG-Bildern. Durch den Einsatz von packJPG wird Speicherplatz und damit letztendlich Bandbreite gespart.

Das JPEG-Format ist bereits komprimiert, der packJPG Algorithmus ist daher komplex. Um das JPEG-Format überhaupt weiter komprimieren zu können, müssen die Bild-Dateien zunächst partiell dekomprimiert werden. Bilddaten liegen im JPEG-Format in Form von DCT-Koeffizienten vor, welche mit Huffman-Kodierung komprimiert in der Bilddatei gespeichert sind. Im packJPG-Verfahren wird die Huffman-Kodierung zunächst rückgängig gemacht und die DCT-Koeffizienten im Speicher extrahiert. Wie man sich dekomprimierte DCT-Koeffizienten vorstellen kann, zeigt die Abbildung.

Tatsächlich sind, wie auch die Abbildung zeigt, innerhalb der DCT-Koeffizienten 64 Miniatur-Varianten in unterschiedlichem Detailreichtum des ursprünglichen Bildes gespeichert. Jede dieser Miniaturvarianten ist für eine unterschiedliche Frequenz, bzw. für Details unterschiedlicher Feinheit zuständig. Zwischen den Miniaturvarianten der Bilder und auch zwischen benachbarten DCT-Koeffizienten existieren statistische Abhängigkeiten, die im JPEG-Verfahren nicht genutzt werden, und die so auch nur schlecht mittels der Huffman-Kodierung genutzt werden könnten.

Anstatt der etablierten Huffman-Kodierung nutzt packJPG daher die wesentlich leistungsfähigere, aber auch komplexere und aufwändigere arithmetische Kodierung. Die arithmetische Kodierung wird durch ein speziell angepasstes statistisches Modell unterstützt, welches statistische Abhängigkeiten berechnet und diese nutzt, um maximale Kompressionseffizienz zu erreichen.

Wir haben packJPG getestet mit einem Satz von 565 Bildern. Alle Bilder wurden zufällig über die Google-Bildsuche mit dem Suchbegriff "San Francisco" heruntergeladen. Unter den heruntergeladenen Bildern sind alle mögliche Arten und Größen von Bildern: Sehr große Bilder, sehr kleine Bilder, sehr detailreiche Bilder, Bilder niedriger Qualität, etc...

packJPG komprimierte alle Bilder sehr schnell, innerhalb von 3 Minuten und 34 Sekunden. Die ursprüngliche aufsummierte Dateigröße von 125 MByte wurde auf 97,2 MByte, bzw. 77,69% reduziert. Der Dekomprimierungsvorgang geht ähnlich schnell und brauchte 3 Minuten und 31 Sekunden. Eine Übersicht die Ergebnisse unseres Tests zeigt auch das Diagramm. Dieses enthält die nach der komprimierten Größe sortierten Ergebnisse. Aus dem Diagramm ist auch ersichtlich, das der Großteil aller Dateien auf weniger als 80% ihrer ursprünglichen Größe reduziert wurde, und nur für wenige Dateien geringe Kompressionsergebnisse im Bereich über 90% erreicht wurden.

Bezugsquellen für packJPG

packJPG und der packJPG Quelltext können ohne jegliche Kosten bezogen werden von der offiziellen Webseite des Programms: http://www.elektronik.htw-aalen.de/packjpg/
Sie finden auf der offiziellen Seite auch weitere Informationen zum Programm, wie etwa ein wissenschaftliches Paper zum eingesetzten Verfahren.

Weitere, aktuelle Tests der Kompressionsleistung von packJPG können Sie der Webseite http://www.squeezechart.com/ entnehmen.