Zum Inhalt springen

Datenkompression/Allgemein

Aus Foxwiki
Die 5 zuletzt angesehenen Seiten:  Informationsverbund » Spezial:Linkliste/GNU-Betriebssystem » Pretty Good Privacy » Spezial:Linkliste/Schlüssel (Kryptologie... » Datenkompression/Allgemein
Version vom 31. März 2025, 21:43 Uhr von Dirkwagner (Diskussion | Beiträge) (Textersetzung - „„“ durch „"“)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)

Allgemein

Datenkompression findet heutzutage bei den meisten Fernübertragungen digitaler Daten statt

  • Sie hilft, Ressourcen bei der Übertragung oder Speicherung von Daten einzusparen, indem sie in eine Form verwandelt werden, die – abhängig von der Anwendung – möglichst minimal ist
  • Dabei können verlustlos nur Daten komprimiert werden, die in irgendeiner Form redundant sind
  • Ist keine Redundanz vorhanden – zum Beispiel bei völlig zufälligen Daten – ist verlustlose Kompression wegen der Kolmogorov-Komplexität prinzipiell unmöglich
  • Ebenso verbietet das Taubenschlagprinzip, dass jede beliebige Datei verlustlos komprimiert werden kann
  • Hingegen ist verlustbehaftete Kompression immer möglich: Ein Algorithmus ordnet die Daten danach, wie wichtig sie sind und verwirft die "unwichtigen" dann
  • In der Auflistung, wie wichtig welche Bestandteile sind, kann stets mehr verworfen werden, indem die "Behalten-Schwelle" entsprechend verschoben wird

Bei der Datenkompression ist sowohl auf Sender- als auch auf Empfängerseite Berechnungsaufwand nötig, um die Daten zu komprimieren oder wiederherzustellen

  • Der Berechnungsaufwand ist jedoch bei verschiedenen Kompressionsmethoden sehr unterschiedlich
  • So sind etwa Deflate und LZO sowohl bei Kompression und Dekompression sehr schnell, während etwa LZMA unter großem Aufwand eine besonders weitgehende Kompression – und somit möglichst kleine Datenmengen – erzielt, während komprimierte Daten sehr schnell wieder in die ursprüngliche Form zurückgewandelt werden können
  • Dies erzwingt je nach Anwendungsgebiet eine unterschiedliche Wahl der Kompressionsmethode
  • Daher sind Kompressionsmethoden entweder auf Datendurchsatz, Energiebedarf oder die Datenreduktion optimiert, und die Kompression hat somit nicht immer eine möglichst kompakte Darstellung als Ziel
  • Deutlich wird der Unterschied bei diesen Beispielen:
  • Werden Video- oder Tonaufnahmen live gesendet, müssen Kompression und Wiederherstellung möglichst schnell durchgeführt werden
  • Qualitätseinbußen sind vertretbar, wenn dafür die maximale (mögliche) Übertragungsrate eingehalten wird
  • Dies gilt beispielsweise für Telefongespräche, wo der Gesprächspartner oft auch bei schlechter Tonqualität noch verstanden wird
  • Wird eine einzelne Datei von unzähligen Nutzern heruntergeladen, lohnt sich ein langsamer, aber sehr leistungsfähiger Kompressions-Algorithmus
  • Die reduzierte Bandbreite bei der Übertragung macht den Zeitaufwand der Kompression leicht wett
  • Bei der Datensicherung und der Archivierung von Daten muss ein Algorithmus verwendet werden, der gegebenenfalls auch in ferner Zukunft verwendet wird
  • In diesem Fall kommen nur verbreitete, bewährte Algorithmen in Frage, die mitunter nicht die besten Kompressionsraten aufweisen
  • Auch die Art der Daten ist relevant für die Auswahl der Kompressionsmethode
  • Zum Beispiel haben die beiden auf unixoiden Betriebssystemen gebräuchlichen Kompressions-Programme gzip und bzip2 die Eigenschaften, dass gzip nur 32.000 Bytes große Blöcke komprimiert, während bzip2 900.000 Bytes Blockgröße aufweist
  • Redundante Daten werden nur innerhalb dieser Blöcke komprimiert

Mitunter werden die Daten vor der Kompression noch in eine andere Darstellung transformiert

  • Das ermöglicht einigen Verfahren die Daten anschließend effizienter zu komprimieren
  • Dieser Vorverarbeitungsschritt wird Präkodierung genannt
  • Ein Beispiel dafür ist die Burrows-Wheeler-Transformation und Move to front bei bzip2

Das Fachgebiet der Datenkompression überschneidet sich zum Teil mit Informationstheorie und künstlicher Intelligenz, und im Bereich der verlustbehafteten Datenkompression auch mit Wahrnehmungspsychologie (s. weiter unten)

  • Informationstheorie ist insofern betroffen, weil die Dateigröße eines bestmöglich komprimierten Datensatzes direkt den Informationsgehalt dieses Datensatzes angibt

Kann ein Kompressionsalgorithmus lernen, unter welchen Umständen auf die Zeichenkette "ABC" ein "D" folgt, muss das "D" in der komprimierten Datei gar nicht gespeichert werden – bei der Wiederherstellung der ursprünglichen Datei weiß der Algorithmus, an welchen Stellen ein "D" einzufügen ist