- Verlustfreie Datenkompression
-
Datenkompression oder Datenkomprimierung ist die Anwendung von Verfahren zur Reduktion des Speicherbedarfs von Daten bzw. zur Vermeidung von Datenaufkommen, bspw. während der Übertragung von Daten.
Die Datenmenge wird reduziert, indem eine günstigere Repräsentation bestimmt wird, mit der sich die gleichen Informationen in kürzerer Form darstellen lassen. Diesen Vorgang übernimmt ein Kodierer, und man bezeichnet den Vorgang als Kompression bzw. Kodierung. Die Umkehrung bezeichnet man als Dekompression oder Dekomprimierung. Man spricht von einer verlustfreien Kompression (oder verlustfreien Kodierung), wenn die kodierten Daten nach Anwendung der entsprechenden Dekodiervorschrift exakt denen des Originals entsprechen. Dies ist beispielsweise bei der Kompression ausführbarer Programmdateien notwendig. Verlustbehaftet wird die Kompression oder Kodierung genannt, wenn sich die Daten im allgemeinen nicht fehlerfrei rekonstruieren lassen. Solche Verfahren werden häufig zur Bildkompression oder Audiodatenkompression eingesetzt.
In der Nachrichtentechnik wird das Kodieren von Nachrichten aus einer Quelle durch einen Sender als Quellenkodierung bezeichnet.
Inhaltsverzeichnis
Informatik
Redundanz- und Irrelevanzreduktion
Die Datenkompression wird teils durch „günstigere Repräsentation“, das heißt Vermeiden von Redundanz und Erhöhen der Entropie, teils durch Weglassen von Information erreicht. Wenn die Daten mit einem Dekompressionsverfahren wieder originalgetreu hergestellt werden, arbeitet es verlustfrei. Man spricht dann von Redundanzreduktion. Andernfalls ist es verlustbehaftet. In diesem Fall spricht man von Irrelevanzreduktion. Beide Verfahren können kombiniert werden.
Bei der verlustfreien Kompression werden die originären Daten D in komprimierte Daten D' überführt, die die ursprünglichen Informationen vollständig enthalten. Diese Abbildung von D nach D' ist eineindeutig, also eindeutig in beide Richtungen. Man spricht in diesem Zusammenhang auch von einer bijektiven Abbildung.
Die verlustbehaftete Kompression reduziert die Information. Es wird ein Modell zugrunde gelegt, das entscheidet, welcher Anteil der Information für den Empfänger entbehrlich ist. Da eine solche Abbildung nicht mehr eineindeutig ist, kann die ursprüngliche Information mittels Dekompression nicht wiederhergestellt werden.
Symmetrische und asymmetrische Kompression
Ein Verfahren zur asymmetrischen Kompression benötigt zum Kodieren (Komprimieren) einen wesentlich höheren zeitlichen Aufwand als zum Dekodieren. Im Gegensatz dazu benötigt ein symmetrisches Verfahren ungefähr gleichviel Zeit für Kompression und Dekompression.
Verfahren
Die theoretische Grundlage bildet die von Informationswissenschaftlern (Claude Shannon; Andrei Kolmogorow) erarbeitete Theorie der Information und Kommunikation (Informationstheorie). Diese beschreibt den Zusammenhang zwischen Informationsgehalt einer Zeichenkette auf der Basis von Zeichen durch den Begriff der Entropie der Zeichenkette, die im Allgemeinen auf eine bestimmte, minimale Länge gebracht werden kann.
Durch geeignete Kompressionsverfahren erreicht man gute Annäherungen an die Kanalkapazität.
In neuerer Zeit gibt es umgekehrt auch Ansätze, den Informationsgehalt auf die „Nichtmehrverkürzbarkeit“ zurückzuführen (Chaitin).
Einsatzgebiete
Speicherung von Text
Texte, sofern sie aus Buchstaben bestehen bzw. als Zeichenketten abgespeichert sind, und somit nicht als Bild (Rastergrafik, typischerweise z.B. eine Bilddatei nach dem Einscannen eines Buches), belegen vergleichsweise wenig Speicherplatz. Dieser lässt sich durch ein Verfahren zur verlustfreien Kompression auf 20% bis 10% des ursprünglich von ihr benötigten Platzes reduzieren.
Beispiele:
Ausgangstext: AUCH EIN KLEINER BEITRAG IST EIN BEITRAG Kodiertext: AUCH EIN KLEINER BEITRAG IST -4 -3
Hier wurde erkannt, dass die Wörter EIN und BEITRAG zweimal auftauchen, und dadurch angegeben, dass diese mit den gerade zurückliegenden übereinstimmen. Bei genauerer Betrachtung könnte dann auch das EIN in KLEINER entsprechend kodiert werden.
Verwandt ist die tokenbasierte Kompression. Häufig wiederkehrende Schlüsselwörter werden durch Abkürzungen, Tokens, ersetzt.
Ausgangstext: Print "Hallo"; Print "Hier" Kodiertext: 3F "Hallo"; 3F "Hier"
Verfahren der so genannten Entropiekodierung:
- Huffman-Code (in modifizierter Form zum Beispiel für die Fax-Übertragung)
- Arithmetische Kodierung
Präkodierung
Präkodierung umfasst alle Techniken der Datenkompression, welche in Daten vorhandene statistische Abhängigkeiten ausnutzen. Diese Techniken bilden Symbole aus einem Alphabet auf Symbole eines anderen Alphabets ab bzw. unterstützen diesen Prozess. Die Anzahl der Symbole kann sich dabei verändern (im Gegensatz z. B. zu Verfahren der Dekorrelation, welche ebenfalls Korrelationen im Signal auflösen). Oft werden die Ergebnisse nochmals entropiekodiert.
Sehr verschiedene Algorithmen gehören zur Gruppe der Präkodierung: Lauflängenkodierung, Phrasenkodierung (besser bekannt als wörterbuchbasierte Kodierung wie z. B. LZ78 und LZW), Blocksortierung (auch bekannt als Burrows-Wheeler-Transformation), Quadtree-Kodierung und andere.
Heutzutage stehen viele Datenkompressionsprogramme für den Rechnereinsatz zur Verfügung.
Speicherung von Bildern und Ton
Ton, Bild und Film sind Einsatzgebiete verlustbehafteter Kompression. Anders wären die oftmals enormen Datenmengen nicht zu handhaben. Bereits die Aufnahmegeräte begrenzen das Datenvolumen. Die Reduktion der gespeicherten Daten orientiert sich an den physiologischen Wahrnehmungseigenschaften des Menschen. Die Kompression durch Algorithmen bedient sich dabei typischerweise der Wandlung von Signalverläufen von Abtastsignalen in eine Frequenzdarstellung.
In der akustischen Wahrnehmung des Menschen werden Frequenzen oberhalb 20–25 kHz meist nicht mehr wahrgenommen und können bereits im Aufnahmesystem beschnitten werden, ebenso werden leise Nebentöne nur schwer wahrgenommen, so dass sie vom Kompressions-System entfernt werden können (siehe Psychoakustik). Die Verfahren Ogg Vorbis oder MP3 reduzieren das Datenvolumen um Faktoren bis zu 50. Bei einem Faktor von 10 sind für den Menschen kaum noch Qualitätsunterschiede zum Ausgangsformat, wie zum Beispiel PCM, festzustellen. Eine CD von einer Stunde Laufzeit enthält etwa 600 MByte Daten für HiFi-Stereo-Ton. In einem datenreduzierten Format benötigen diese Daten aber nur wenig mehr als 60 MByte. Mit anderen Worten: Eine im MP3-Format bespielte CD kann bis zu 10 Stunden hochqualitative Musik speichern, und das bei einer Datenrate von nur etwa 1 MByte/min, was etwas mehr als 128 kbit/s entspricht. Verzichtet man auf Stereo und nimmt eine weitere Qualitätsverschlechterung in Kauf, ist zum Beispiel ab 24 kbit/s die qualitativ annehmbare Übertragung per Webradio oder Internet-Telefonie realisierbar.
In der optischen Wahrnehmung des Menschen werden Farben weniger stark aufgelöst als Helligkeitsänderungen, daraus leitet sich die schon beim analogen Farbfernsehen bekannte YUV-422 Reduzierung ab. Kanten sind dagegen bedeutsamer, und es existiert eine biologische Kontrastanhebung (Machsche Streifen). Mit moderater Tiefpassfilterung zur Farbreduktion, zum Beispiel durch den auf DCT-Transformation basierenden JPEG-Algorithmus oder den neueren auf Wavelet-Transformation basierenden JPEG2000-Algorithmus, verringert sich das Datenvolumen schnell um mehr als 90%. Besteht man auf verlustfreier Kompression, so lassen sich fotografisch (oder vergleichbar) erstellte Bilder wegen ihres typischen Rauschanteils nur ungenügend komprimieren. Daher kommen verlustfreie digitale Kompressionsformate, wie etwa das TIFF-Format, fast nur in der professionellen Fotografie und Bild-Gestaltung zur Anwendung.
Filme werden mit etwa 25 Bildern pro Sekunde aufgenommen. Da aufeinanderfolgende Bilder außer bei Szenenwechseln meist sehr ähnlich sind lassen sich die besten Kompressionsraten dadurch erzielen, nur die Änderungen zwischen den Bilder zu speichern. Es werden Varianten von MPEG sowie diverse andere Formate verwendet. Im Computersektor haben sich die Containerformate AVI (Microsoft) und MOV (Apple) etabliert, wobei der verwendete Codec nahezu frei wählbar ist, zum Beispiel von Intel die Indeo-Kodierung, der Cinepak-Codec, der Sorenson-Codec oder die in letzter Zeit sehr weit verbreiteten Codecs Xvid und DivX.
Kompressionsartefakte
Als Kompressionsartefakte bezeichnet man Signalstörungen, die durch die digitale, verlustbehaftete Datenreduktion verursacht werden.
Beispiele:
- schnarrende Stimme beim Mobilfunkempfang
- typischer Klang des Telefons (Frequenzclipping)
- bei Bildkompression wie JPEG, auch bei Videokompression, wie MPEG:
- unscharfe Kanten (JPEG, JPEG2000)
- Unschärfe (JPEG, JPEG2000)
- Blockartefakte (JPEG − siehe Bild rechts, MPEG)
- Ringing: eine kleine Fläche um einen Gegenstand mit hohem Kontrast, welcher deutlich aus der Umgebung heraussticht (JPEG, JPEG2000)
- Farbverfälschungen (JPEG, JPEG2000)
- Schwarz/Weiß-Konturen
- Farbkonturen
- Wabernder Hintergrund: wechselnde Artefakte in Bildfolgen (animierte Grafiken, Video)
- bei Audiodatenkompression, wie MP3 oder Vorbis:
- Pre-echo: vor einem lauten plötzlichen Geräusch (zum Beispiel Schlagzeug) sind klirrend-metallische Artefakte hörbar
- Post-echo: nach einem plötzlichen Geräusch sind deutliche Artefakte zu hören
- verwaschener Klang, mangelnde Brillanz, insbesondere in Höhen und Tiefen, sowie bei bestimmten Instrumenten (Hi-hat)
- Scheppern (typisch für MP3 bei zu hoher Kompression)
- unpassende Lautstärkeänderungen
- Veränderung der Stereofonie, Verringerung des räumlichen Eindrucks
Speicherung von ausführbaren Dateien
siehe Kompression ausführbarer Programmdateien. Anwendungsbeispiele sind UPX und Upack.
Zeittafel der Kompressions-Algorithmen
- 1949 Informationstheorie, Claude Shannon
- 1949 Shannon-Fano-Entropiekodierung
- 1952 Huffman, static
- 1964 Kolmogorov complexity concept
- 1975 Integer coding scheme, Elias
- 1977 Lempel-Ziv-Verfahren LZ77
- 1978 Lempel-Ziv-Verfahren LZ78
- 1979 Bereichskodierung (eine Implementierung arithmetischer Kodierung)
- 1982 Lempel-Ziv-Storer-Szymanski (LZSS)
- 1984 Lempel-Ziv-Welch-Algorithmus (LZW)
- 1985 Apostolico, Fraenkel, Fibonacci coding
- 1986 Move to front, (Bentley et. al., Ryabko)
- 1991 Reduced Offset Lempel Ziv (ROLZ, auch LZRW4, Lempel Ziv Ross Williams)
- 1994 Burrows-Wheeler-Transformation
- 1997 Sequitur
- 1998 Lempel-Ziv-Markow-Algorithmus (LZMA)
Bekannte Methoden zur Quellcodierung
verlustbehaftet beides möglich verlustfrei AAC (MPEG) Aiff ALS (MPEG) Apple Lossless ATRAC DjVu Dolby Digital DTS FLAC G.729 GIF HuffYUV JPEG JPEG 2000 LA MJPEG MP2 (MPEG) MP3 (MPEG) MPEG-1 MPEG-2 MPEG-4 (siehe H.264, Xvid, DivX) Musepack PGF PNG TIFF Vorbis (Ogg) WavPack WMA WMV Bilder Audio Video Datenübertragung
- MNP-1 bis MNP-10 (Microcom Networking Protocol)
-
- Fehlerkorrektur- und Datenkompressionsprotokolle der Firma Microcom Inc. für Modems, ein jahrelanger Standard. Wurde verbessert durch:
- V.42bis – Datenkompressionsprotokoll der ITU-T
Komprimierung/Archivierung
- 7z/LZMA (.7z)
- ACE (.ace)
- ARJ (.arj)
- bzip2 (.bz2; .bz)
- gzip (.gz)
- HKI (.hki)
- RAR (.rar)
- ZIP (.zip)
- LHA (.lzh)
Biologie
Auch in der Biologie gibt es Kompressionsalgorithmen. So wird bei Eukaryonten die Information für Proteine nicht immer in einer zusammenhängenden DNA-Sequenz kodiert. Durch ein System von Introns und Exons und die Verarbeitung der mRNA durch alternatives Splicing kann eine DNA-Sequenz die Information für mehrere unterschiedliche Eiweiße tragen. Der jeweilige Kompressionsalgorithmus wird dabei durch den Spleißvorgang und seine Regulation definiert.
Siehe auch
- Gibbssches Phänomen
- Codec
- Kanalkodierung
- Informationstheorie
- Canterbury Corpus
- Liste der Datenkompressionsprogramme
- Liste der Dateinamenserweiterungen
Weblinks
- Vergleich der Kompressionsleistung von über 250 Packprogrammen (englisch)
- LA – Verlustfreies Audioformat mit den angeblich höchsten Kompressionsraten (englisch)
- Data Compression – Systematisation by T. Strutz (englisch)
- Data compression FAQ (englisch)
- Lelewer, Debra, A.; Hirschberg, Daniel, S.: „Data Compression“; ACM Computing Surveys, 19,3 (1987), 261-297, Übersichtsartikel (englisch)
- Liste mit Kompressionsvergleichen (englisch)
Wikimedia Foundation.