Wenn du ein Bild verschickst, ein Video streamst oder eine ZIP-Datei herunterlädst, passiert oft etwas Unsichtbares: Die Daten werden kleiner gemacht. Das spart Speicherplatz und Zeit, ohne dass du jedes Detail davon sehen musst.
In dieser Erklärung lernst du, wie Datenkompression funktioniert, warum sie nicht zaubern kann und wann eine Datei nach dem Entpacken wieder exakt wie vorher ist. Danach kannst du einfache Kompressionsideen selbst anwenden und beurteilen, welches Verfahren zu welcher Situation passt.
- Ich kann erklären, warum Datenkompression Speicherplatz und Übertragungszeit spart.
- Ich kann verlustfreie und verlustbehaftete Kompression unterscheiden.
- Ich kann Redundanz und Irrelevanz an eigenen Beispielen erkennen.
- Ich kann einfache Verfahren wie Lauflängenkodierung, Wörterbuchverfahren und Häufigkeitscodes beschreiben.
- Ich kann begründen, warum nicht jede Datei verlustfrei kleiner werden kann.
- Ich kann passende Kompressionsarten für Text, Bilder, Musik, Video und Archive auswählen.
Warum Daten überhaupt kleiner werden können
Viele Dateien enthalten Muster. Ein Text wiederholt Wörter, ein Bild hat große Flächen mit ähnlichen Farben, ein Video zeigt oft mehrere Bilder hintereinander mit fast derselben Szene. Datenkompression sucht solche Möglichkeiten und speichert die Information geschickter.
Datenkompression
Datenkompression bedeutet: Eine Datenmenge wird so umcodiert, dass sie weniger Speicherplatz braucht oder schneller übertragen werden kann. Die Rückumwandlung heißt Dekompression. Ein Kompressionsverfahren besteht aus Regeln zum Komprimieren und passenden Regeln zum Wiederherstellen.
Wichtig ist: Kompression verändert nicht die Bedeutung der Daten, sondern ihre Darstellung. Statt viele gleiche Zeichen einzeln zu speichern, kann man zum Beispiel speichern: "dieses Zeichen kommt jetzt 20-mal".
Eine kleine Textdatei enthält die Zeichenfolge:
AAAAAAABBBCC
Unkomprimiert sind das 12 Zeichen. Eine einfache Beschreibung lautet:
A7B3C2
Unkomprimiert sind das 12 Zeichen. Mit der vereinfachten Schreibweise reichen 6 Zeichen als Beschreibung. In echten Dateien braucht das Verfahren zusätzlich eindeutige Trennregeln, damit zum Beispiel klar ist, welche Zeichen Daten sind und welche Zeichen eine Anzahl bedeuten. Beim Dekomprimieren wird daraus wieder genau AAAAAAABBBCC.
Kompression spart Platz, wenn die neue Beschreibung kürzer ist als die ursprünglichen Daten plus alle nötigen Zusatzregeln.
Interaktive Quizfrage wird geladen ...
Verlustfrei oder verlustbehaftet?
Der wichtigste Unterschied ist die Frage: Muss nach dem Dekomprimieren jedes Bit wieder genauso sein wie vorher? Bei Programmen, Textdateien und Tabellen ist das meistens zwingend. Bei Fotos, Musik oder Videos reicht oft eine sehr ähnliche Wiedergabe.
Verlustfreie Kompression
Verlustfreie Kompression verkleinert Daten so, dass die Originaldaten nach der Dekompression exakt wiederhergestellt werden können. Kein Bit der ursprünglichen Information geht verloren.
Verlustbehaftete Kompression
Verlustbehaftete Kompression verkleinert Daten, indem sie Details dauerhaft weglässt. Die Datei kann danach ähnlich aussehen oder klingen, aber das Original lässt sich nicht vollständig zurückholen.
Bei verlustfreier Kompression wird vor allem Redundanz entfernt. Redundanz ist Information, die mehrfach oder vorhersagbar vorkommt. Bei verlustbehafteter Kompression wird zusätzlich Irrelevanz entfernt. Irrelevant ist hier nicht "unwichtig für immer", sondern "für diesen Zweck kaum wahrnehmbar oder nicht nötig".
Stell dir zwei Dateien vor:
- Ein Programm: Wenn ein einziges Bit falsch wiederhergestellt wird, kann es abstürzen.
- Ein Urlaubsfoto: Wenn ein kaum sichtbarer Farbunterschied fehlt, bemerkst du es vielleicht nicht.
Für das Programm brauchst du verlustfreie Kompression, zum Beispiel ZIP. Für das Foto kann verlustbehaftete Kompression sinnvoll sein, zum Beispiel JPEG, wenn eine kleine Datei wichtiger ist als jedes einzelne Originaldetail.
Verlustbehaftet bedeutet nicht automatisch "schlecht". Es bedeutet: Man akzeptiert einen kontrollierten Informationsverlust. Bei Archivierung, Medizinbildern oder Quellcode ist das meistens keine gute Idee. Bei Streaming, Vorschaubildern oder Sprachnachrichten kann es sehr sinnvoll sein.
Interaktives Diagramm wird geladen ...
Interaktiver Lückentext wird geladen ...
Interaktive Quizfrage wird geladen ...
Drei einfache Ideen hinter Kompression
Kompressionsprogramme sind oft kompliziert. Ihre Grundideen kannst du aber an kleinen Beispielen verstehen: Wiederholungen zählen, Wiederholungen verweisen und häufige Zeichen kürzer codieren.
Lauflängenkodierung
Lauflängenkodierung
Lauflängenkodierung, kurz RLE, speichert direkt aufeinanderfolgende gleiche Werte als Wert plus Anzahl. Sie funktioniert gut bei langen Reihen gleicher Zeichen, Farben oder Pixelwerte.
Ein kleines Schwarz-Weiß-Bild wird zeilenweise gespeichert:
WWWWWWSSSSWW
Mit RLE kann daraus werden:
(W,6)(S,4)(W,2)
Statt 12 Einzelzeichen stehen drei Wert-Anzahl-Paare in der Beschreibung. Das lohnt sich, weil die gleichen Werte in langen Blöcken stehen.
RLE ist stark bei langen Wiederholungen und schwach bei ständig wechselnden Daten.
Interaktive Quizfrage wird geladen ...
Wörterbuchverfahren
Wörterbuchverfahren
Ein Wörterbuchverfahren ersetzt wiederkehrende Zeichenfolgen durch kurze Verweise. Das Wörterbuch kann mitgespeichert werden oder beim Lesen der Datei nach festen Regeln entstehen.
Der Satz lautet:
INFORMATIK MACHT INFORMATIK VERSTAENDLICH
Das Wort INFORMATIK kommt zweimal vor. Ein einfaches Wörterbuch könnte speichern:
#1 = INFORMATIK#1 MACHT #1 VERSTAENDLICH
Das zweite Vorkommen wird durch einen kurzen Verweis ersetzt. Moderne ZIP-ähnliche Verfahren suchen solche Muster nicht nur bei ganzen Wörtern, sondern in Bytefolgen.
Viele echte Verfahren arbeiten in mehreren Schritten. DEFLATE, das in ZIP und PNG vorkommt, kombiniert eine Lempel-Ziv-Idee für Wiederholungen mit einer Häufigkeitscodierung. Deshalb sind Praxisverfahren oft Mischungen, nicht nur ein einzelner Trick.
Häufigkeitscodes
Präfixcode
Ein Präfixcode ist ein Code, bei dem kein Codewort der Anfang eines anderen Codewortes ist. Dadurch kann man eine Folge von Codewörtern ohne Trennzeichen eindeutig lesen.
Bei digitalen Daten zählt am Ende die Anzahl der Bits. Ein seltener Buchstabe mit langem Code ist nicht schlimm, wenn er kaum vorkommt. Ein häufiger Buchstabe mit kurzem Code spart dagegen immer wieder Bits. Diese Idee führt zur Informationstheorie: Häufige, gut erwartbare Zeichen tragen im Durchschnitt weniger neue Information als seltene Zeichen.
In einem Text kommen vier Zeichen unterschiedlich oft vor:
Esehr oftNoftRseltenQsehr selten
Eine Kompressionsidee lautet: Häufige Zeichen bekommen kurze Codes, seltene lange Codes. Zum Beispiel:
E = 0N = 10R = 110Q = 111
Der Code ist eindeutig lesbar, weil kein Codewort der Anfang eines anderen ist. Das ist die Grundidee hinter Huffman-Codes.
Je ungleichmäßiger die Häufigkeiten sind, desto mehr kann eine Häufigkeitscodierung sparen.
Interaktiver Lückentext wird geladen ...
Grenzen: Warum Kompression nicht immer klappt
Es klingt verlockend: Dann komprimieren wir einfach jede Datei immer weiter. Genau das geht nicht. Verlustfreie Kompression braucht eine eindeutige Rückübersetzung. Wenn alle möglichen Dateien kleiner gemacht würden, gäbe es irgendwann zu wenige kurze Bitfolgen für zu viele Originaldateien.
Redundanz
Redundanz ist wiederholte, vorhersagbare oder anders kürzer beschreibbare Information in Daten. Ohne Redundanz kann ein verlustfreies Verfahren kaum sparen.
Vergleiche zwei Nachrichten:
1000000000000000000073918462057391846205
Die erste Nachricht lässt sich kurz beschreiben: "1 und danach 19 Nullen". Die zweite wirkt viel weniger regelmäßig. Wenn kein Verfahren ein Muster findet, muss es die Zeichen fast vollständig speichern.
Taubenschlagprinzip
Das Taubenschlagprinzip sagt: Wenn mehr Dinge als Plätze vorhanden sind, müssen sich mindestens zwei Dinge einen Platz teilen. Für verlustfreie Kompression bedeutet das: Nicht jede mögliche Datei kann eindeutig auf eine kürzere Datei abgebildet werden.
Stell dir alle Dateien mit genau 8 Bit Länge vor. Davon gibt es \(2^8 = 256\). Mit genau 7 Bit gibt es nur \(2^7 = 128\) Möglichkeiten; mit höchstens 7 Bit sind es zusammen 255 mögliche kürzere Bitfolgen. Wenn jede 8-Bit-Datei auf eine kürzere Bitfolge schrumpfen müsste, müssten mindestens zwei verschiedene Originale dieselbe komprimierte Form bekommen. Dann wüsste der Computer beim Dekomprimieren nicht mehr, welches Original gemeint war.
Bereits komprimierte, verschlüsselte oder zufällig erzeugte Daten lassen sich oft kaum weiter verlustfrei komprimieren. Sie sehen für den Algorithmus so aus, als gäbe es kaum noch einfache Muster.
Interaktive Quizfrage wird geladen ...
Das passende Verfahren auswählen
Gute Kompression hängt vom Ziel ab. Manchmal soll die Datei möglichst klein werden. Manchmal muss das Entpacken sehr schnell sein. Manchmal zählt, dass ein Format auch in vielen Jahren noch gelesen werden kann.
Kompressionsquotient
Der Kompressionsquotient vergleicht die komprimierte Größe mit der ursprünglichen Größe: komprimiert geteilt durch original. Eine Datei von 120 MB, die auf 30 MB schrumpft, hat den Quotienten 0,25 und braucht nur noch 25 Prozent der ursprünglichen Größe.
Vier Situationen verlangen unterschiedliche Entscheidungen:
- Live-Videokonferenz: Kompression und Dekompression müssen schnell sein; kleine Qualitätsverluste sind oft akzeptabel.
- Software-Download: Die Datei muss nach dem Entpacken exakt stimmen; verlustfrei ist Pflicht.
- Foto für eine Webseite: Eine kleinere JPEG-Datei kann sinnvoll sein, wenn sie gut genug aussieht.
- Langzeitarchiv: Offene, verbreitete und möglichst verlustfreie Formate sind wichtiger als die absolut kleinste Datei.
Die beste Kompression ist nicht immer die kleinste Datei. Entscheidend sind Zweck, Qualität, Geschwindigkeit, Zukunftssicherheit und Fehlertoleranz.
Interaktive Lernkarten wird geladen ...
Interaktive Quizfrage wird geladen ...
Alles auf einen Blick
Interaktive Mindmap wird geladen ...
Interaktive Lernkarten wird geladen ...
Abschluss-Check
Jetzt wendest du die Ideen auf neue Situationen an. Achte darauf, ob Genauigkeit, Wahrnehmung, Tempo oder Speicherplatz im Vordergrund steht.
Interaktive Quizfrage wird geladen ...
Interaktiver Lückentext wird geladen ...
Zusammenfassung
Datenkompression macht Daten kleiner, indem sie Muster, Wiederholungen oder für den Zweck entbehrliche Details nutzt. Dadurch sinken Speicherbedarf und Übertragungszeit.
Verlustfreie Kompression stellt das Original exakt wieder her. Sie passt zu Programmen, Texten, Tabellen, Archiven und allen Daten, bei denen jedes Bit wichtig ist. Verlustbehaftete Kompression entfernt Details dauerhaft. Sie passt oft zu Bildern, Musik und Videos, wenn die wahrgenommene Qualität ausreicht.
Einfache Grundideen sind Lauflängenkodierung, Wörterbuchverfahren und Häufigkeitscodes. Ihre gemeinsame Frage lautet: Gibt es eine kürzere, eindeutige Beschreibung? Wenn Daten zufällig wirken oder schon gut komprimiert sind, gibt es kaum noch etwas zu sparen.
Die wichtigste Entscheidung ist deshalb nicht "Wie wird die Datei maximal klein?", sondern: "Welche Information muss für diesen Zweck sicher erhalten bleiben?"
Mit Google fortfahren