faecher:informatik:oberstufe:codierung:zip:start

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.

Link zu der Vergleichsansicht

Nächste Überarbeitung
Vorherige Überarbeitung
Nächste ÜberarbeitungBeide Seiten, nächste Überarbeitung
faecher:informatik:oberstufe:codierung:zip:start [04.10.2022 09:50] – angelegt Frank Schiebelfaecher:informatik:oberstufe:codierung:zip:start [04.10.2022 10:10] – [Funktionsweise] Frank Schiebel
Zeile 3: Zeile 3:
 Um unsere Übersicht zu den verlustfreien Kompressionsverahren abzuschließen, hier noch einige Informationen zum weit verbreiteten Zip-Format, das in unterschiedlichen Detailimplementationen in zahlreichen Programmen zum Einsatz kommt. Um unsere Übersicht zu den verlustfreien Kompressionsverahren abzuschließen, hier noch einige Informationen zum weit verbreiteten Zip-Format, das in unterschiedlichen Detailimplementationen in zahlreichen Programmen zum Einsatz kommt.
  
-Die Kompression in den meisten Zip-Programmen finden mit DEFLATE statt, das von Phil Katz 1989 für sein DOS Tool "{{wp>PKZIP}}" entwickelt wurde. +Die Kompression in den meisten Zip-Programmen finden mit [[wp>DEFLATE]] statt, das von [[wp>Phil Katz]] 1989 für sein DOS Tool [[wp>PKZIP]] entwickelt wurde. 
  
 +===== Funktionsweise =====
  
 +
 +{{ :faecher:informatik:oberstufe:codierung:zip:zip.drawio.png |}}
 +
 +Die Eingabedaten werden zunächst mit einem Vorläufer des LZW-Verfahrens bearbeitet ([[wp>LZ77]])). LZ77 Funktioniert in Teilen ähnlich wie LZW, führt jedoch kein Wörterbuch sondern verweist auf frühere Vorkommen identischer Bitmuster. Das Ergebnis dieser Kompression wird dann mit einer Huffman-Codierung weiter verkleinert, einige Implementationen schließen zuletzt noch eine Lauflängencodierung an.
 +
 +Eine sehr [[http://www.infinitepartitions.com/art001.html|ausführliche Erläuterung findet sich hier]] ({{ :faecher:informatik:oberstufe:codierung:zip:zip.pdf |}}).
 +
 +DEFLATE findet sich unter anderem in folgenden Programmen wieder: 
 +
 +  * PKZIP: Ursprüngliche Implementation, implementiert von [[wp>Phil Katz]] als Teil von [[wp>PKZip]]
 +  * zlib: Standars Referenzimplementation, aufgrund der FOSS Lizenz findetr sich die [[wp>zlib]] in zahlreichen Anwendungen wieder. 
 +  * zlib-ng: Schnellerer Fork der zlib, verwendet besondere Fähigkeiten moderner CPUs.
 +  * Crypto++: Enthält eine Public Domain Implementation in C++. 
 +  * 7-Zip: Geschrieben von [[wp>Igor Pavlov]] in C++ steht diese Implementation unter einer freien Lizenz und erreich eine bessere Kompression als zlib, allerdings auf Kosten der Geschwindigkeit.
 +  * PuTTY 'sshzlib.c': a standalone implementation under the MIT License by Simon Tatham, it has full decoding capability, but only supports static tree only creation
 +libflate:[9] part of the Plan 9 operating system from Bell Labs, implements deflate compression
 +Hyperbac: uses its own proprietary compression library (in C++ and Assembly) with an option to implement the DEFLATE64 storage format
 +Zopfli: C implementation under the Apache License by Google; achieves highest compression at the expense of CPU usage. ZopfliPNG is a variation of Zopfli for use with PNG files.
 +igzip: 
  • faecher/informatik/oberstufe/codierung/zip/start.txt
  • Zuletzt geändert: 04.10.2022 10:13
  • von Frank Schiebel