oreissig schrieb: nach allem was ich so rauslese komprimiert der JPEG-Dateien einfach mit stärkeren JPEG-Settings neu, was die Qualität verschlechtert.
Im Archiv liegt dann nicht mehr die eigentliche Datei, sondern die verschlechterte. Leute, die zipx also zum Archivieren ihrer Bilder nehmen haben die Originaldateien damit für immer verloren.
Unabhängig davon, dass der Installer von WinZip 16 in der Tat ein Malware-Grab ist, hab ichs mal aus Mitleid mit clik verifiziert.
Original (1024×768, 294 KB):
http://www.flickr.com/photos/helenpaint/6855464175/
Komprimiertes Archiv (244 KB):
http://pixelbanane.de/yafu/2451375217/jpegtest.zipx
Das entpackte JPEG-Bild stimmt inkl.
EXIF-Informationen ICC-Farbprofil bytegenau mit dem Original überein, es liegt keine verlustbehaftete Rekompression vor.
Die Kunst liegt einfach daran, dass der JPEG-Codec aus
mehreren Phasen besteht: Farbraumkonvertierung nach YCbCr, Chroma-Subsampling, DC-Transformation, Quantisierung und Huffman-Entropiekodierung.
Das Chroma-Subsampling führt zu minimalen Qualitätsverlusten im Farbanteil, die eigentlichen Qualitätsverluste entstehen während der Quantisierung, die durch den JPEG-Qualitätsfaktor bestimmt werden.
Die (verlustfreie) Entropieenkodierung wird aber z. B. wegen begrenzten Resourcen in eingebetten Geräten wie Digitalkameras weitesgehend immer mit denselben mittelmäßigen Einstellungen durchgeführt und hier kann ein JPEG-Optimierer mit einem besseren Algorithmus noch mal was rausholen, ohne zusätzliche Qualitätsverluste hervorzurufen. Im Falle von ZIPX werden allerdings die quantisierten Daten offenbar völlig inkompatibel zum JPEG-Standard komprimiert.
Das ist eine ähnliche Situation zur Optimierung von Zip-, Gzip- und PNG-Dateien, die alle auf dem Deflate-Algorithmus aufbauen, welcher auch nur eine Kombination eines minimal geänderten LZ77-Kompressionsalgorithmus mit einer Huffman-Kodierung ist. Neben durch die Spezifikationen und De-Facto-Standard-Implementierungen (PKZIP, zlib) relativ genau vorgegebener LZ77-Parameter erreichen alternative Deflate-Algorithmen etwa von 7-Zip oder
Ken Silverman (pngout, KZIP) höhere Kompressionsraten vor allem auch durch intelligentere Huffman-Kodierung.
Analog erwartet keiner, dass diese Dateien wesentlich kleiner werden, wenn man diese einfach noch mal in eine Zip-Datei packt.