|
||||||||||||||||||||||||||||||||||
| ISBN: 3642148654 ISBN: 3642148654 ISBN: 3642148654 ISBN: 3642148654 | ||||||||||||||||||||||||||||||||||
|
Wir empfehlen: | |||||||||||||||||||||||||||||||||
Proseminar Redundanz, Fehlertoleranz und KompressionDie Ziv-Lempel-Kompression
1. GeschichteDer Ursprung der modernen tabellengesteuerten Komprimierung kann auf Jacob Ziv und Abraham Lempel zurückgeführt werden. Diese beiden israelischen Forscher entwickelten in den späten 70er Jahren die ersten tabellengesteuerten Algorithmen. In ihrem 1977 veröffentlichten Arktikel "A Universal Algorithm for Sequential Data Compression" beschrieben sie ihren ersten Algorithmus. Hierbei handelte es sich um eine "gleitende Fenster"-Technik. Dieses Verfahren wird als LZ77 bezeichnet. 1978 veröffentlichten sie einen weiteren Algorithmus in dem Artikel "Compression of Individual Sequences via Variable-Rate Codeing" der als LZ78 bezeichnet wird.Bis zum Jahre 1977 richtete sich das Hauptaugenmerk der Datenkomprimierungsforschung auf die neuen und verbesserten Methoden zur Steuerung von Huffman-Codierungsprogrammen. Die Veröffentlichung der beiden Artikel hatte einen direkten Einfluß auf das Gebiet der Informationstheorie. Die Auswirkungen waren für Programmierer aber erst 1984 mit dem erscheinen des Artikels "A Technique for High-Performance Data Compression" von Terry Welch zu spüren. In dieser Veröffentlichung beschrieb er seine Implementation des LZ78-Algorithmus, den er LZW nannte. Kurz darauf erschien das Unix-Komprimierungsprogramm "compress" welches auf diesem Algorithmus basiert und zum Standard für Unix-Systeme wurde. Im MS-DOS-Bereich wurde "ARC" zum Standard, welches ebenfalls auf dem LZ78 Algorithmus beruht. Später allerdings gab "ARC" seine Vorrangstellung im PC-Bereich an Konkurrenten wie "PKZIP" und "ARJ" ab, welche "nur" auf dem LZ77-Algorithmus basieren. 2. Tabellengesteuerte Komprimierung
3. LZ773.1. Der AlgorithmusBei der LZ77-Komprimierungsmethode wird zuvor gelesener Text als Tabelle genutzt. Phrasen aus dem Eingabetext werden durch Zeiger in die Tabelle ersetzt. Hierfür arbeitet der Algorithmus mit einem Textfenster und einem nach vorn gerichteten Puffer. Im Textfenster befindet sich der zu letzt eingelesene Text, im Puffer befinden sich die aus dem Eingabestrom eingelesenen aber noch nicht codierten Zeichen. Das Textfenster ist im allgemeinen um ein vielfaches größer als der Puffer. Der Algorithmus versucht nun, zum Inhalt des nach vorn gerichteten Puffer einen möglichst langen, passenden String in der Tabelle zu finden. Übereinstimmender Text wird durch ein "Token" ersetzt. Jedes Token besteht aus drei verschiedenen Datenelementen. Bei diesen Elementen handelt es sich um:
Der Dekomprimierungsalgorithmus ist noch simpler, da keine Vergleichsoperationen ausgeführt werden müssen. Ein Token wird eingelesen, die entsprechende Phrase und das darauffolgende Zeichen werden ausgegeben, das Textfenster wird weitergeschoben und der ganze Vorgang wird wiederholt. |
|
|||||||||||||||||||||||||||||||||
| |<< Anfang < Zurück Index Weiter > Ende >>| | ||||||||||||||||||||||||||||||||||
|
Diese Seite ist Bestandteil des Projekts StudyPaper.com. Dieser Artikel wurde uns freundlicherweise von Marc-Alexander Jäger zur Verfügung gestellt. Zurück zur Themenseite: StudyPaper.com/Startseite/Computer/Informatik Das Setzen von Verweisen (Links) auf diese Seite ist gestattet und bedarf keine vorherige Absprache. | ||||||||||||||||||||||||||||||||||
| english | Bookmark setzen | Webseite weiterempfehlen | Copyright © | Impressum | ||||||||||||||||||||||||||||||||||