
Verlustfreie Komprimierung – wie es funktioniert
Wenn sich die Kopie nicht vom Original unterscheidet.

Verlustfreie Komprimierung – wie es funktioniert
Wir haben bereits entdeckt, wie Ton digitalisiert wird. Eines der Probleme: Wenn wir es mit hoher Qualität digitalisieren, benötigen wir viele Daten, was große Dateien, einen hohen Speicherplatzverbrauch, teure Flash-Laufwerke und viel Internetverkehr bedeutet. Ich möchte, dass die Dateien kleiner sind.

Hierfür wird die Komprimierung verwendet – verschiedene Algorithmen, die ihre Magie mit den Daten entfalten, und die Ausgabe sind Daten von einem kleineren Volumen.
Verlustfreie und verlustfreie Komprimierung
Es gibt zwei Haupttypen der Komprimierung: verlustbehaftet und verlustfrei.
Verlustbehaftete Komprimierung bedeutet, dass wir dabei einige Informationen verloren haben. Verlustbehaftete Komprimierungsalgorithmen versuchen sicherzustellen, dass wir nur Daten verlieren, die für uns nicht zu wichtig sind.
Stellen Sie sich vor, dass verlustbehaftete Komprimierung eine kurze Nachzählung einer Lehrplanarbeit ist: Der Schüler ist nicht so wichtig für die Beschreibung der Natur und des Stils des Autors, die Hauptsache ist die Handlung. Die kurze Zählung behielt nur das Wichtige bei, vermittelte es aber viel schneller.
Verlustfreie Komprimierung ist, wenn wir die Größe der Datei reduzieren, ohne an Qualität zu verlieren. Hierfür werden interessante mathematische und Codierungstechniken verwendet. Die Hauptidee ist, dass während der Dekodierung alle Daten an Ort und Stelle bleiben.
Verlustfreie Komprimierungsalgorithmen
Es gibt zwei Hauptoptionen: den Huffman-Algorithmus oder das LZW. LZW wird überall verwendet, ist aber ziemlich schwer zu erklären, nicht intuitiv und erfordert eine vollständige Vorlesung. Es ist viel besser, den Huffman-Algorithmus zu erklären.
Der Huffman-Algorithmus nimmt die Datei, zerlegt sie in Teile, erleichtert die Bedienung und untersucht dann, wie häufig jedes Fragment vorkommt. Der Algorithmus bezeichnet die häufigsten Wörter mit einem kurzen Code und die seltensten mit einem längeren Code. Da die häufigsten Wörter jetzt viel weniger Platz beanspruchen, wird die fertige Datei kleiner.
Es gibt aber auch einen Nachteil: Manchmal müssen Sie diese Wort- und Codezuordnungstabelle direkt in derselben Datei speichern, aber sie kann sich von selbst als groß herausstellen. Am häufigsten wird der Huffman-Algorithmus zur verlustfreien Komprimierung von Text- und Videodateien verwendet.
Hier ein Beispiel: Nehmen Sie das Lied Beyonce – All The Single Ladies. Dort gibt es zwei solche Passagen:
Alle alleinstehenden Frauen
Alle alleinstehenden Frauen
Alle alleinstehenden Frauen
Jetzt nimm deine Hände hoch
…
Wenn es dir gefällt, solltest du einen Ring darauf setzen
Wenn es dir gefällt, solltest du einen Ring darauf setzen
Sei nicht böse, wenn du siehst, dass er es will
Wenn es dir gefällt, solltest du einen Ring darauf setzen
Hier sind 281 Zeichen. Wir sehen, dass einige Zeilen wiederholt werden. Codieren wir sie:
KOMPRESSIONSTABELLE
\ a \ Alleinerziehende Frauen
\ b \ Jetzt heb deine Hände hoch
\ c \ Wenn es dir gefällt, solltest du einen Ring darauf setzen
\ d \ Sei nicht böse, wenn du siehst, dass er es will
SONG TEXT
\ a \ \ a \ \ a \ \ b \
…
\ c \ \ c \ \ d \ \ c \
Zusammen mit der Komprimierungstabelle belegt dieser Text jetzt 187 Zeichen. Wir haben den Text um fast ein Drittel komprimiert, da er ziemlich eintönig ist.
Verlustfreie Komprimierung am Beispiel von Audio
Im Durchschnitt benötigt eine Minute unkomprimiertes Audio 10 Megabyte. Das ist ziemlich viel: Wenn Sie beispielsweise eine einstündige Aufnahme eines Konzerts haben, nimmt dies ein halbes Gigabyte in Anspruch. Auf der anderen Seite erfasst diese Aufnahme alle Nuancen des Klangs, es gibt viele hohe Frequenzen und Schönheit im Allgemeinen.
In solchen Situationen wird eine verlustfreie Komprimierung verwendet: Sie verkleinert die Datei um das 2- bis 3-fache, ohne den Ton zu verzerren. Die Algorithmen, die das Audio komprimieren, werden als Codecs bezeichnet. FLAC und Apple Lossless sind zwei beliebte verlustfreie Audiokomprimierungscodecs.
Vergleichen Sie die Größe und Qualität des zweiminütigen Audios selbst:
Original: unkomprimiertes WAV-Format, 23 Megabyte
Verlustfreie Komprimierung: FLAC-Format mit denselben Parametern wie WAV, 10 Megabyte
Wo sonst wird verlustfreie Komprimierung eingesetzt?
In Aktenschränken. Die Aufgabe von Archivierungsprogrammen besteht darin, ausgewählte Dateien so zu verpacken, dass die Datei so wenig Speicherplatz wie möglich einnimmt, ohne das Innere zu beschädigen. Zum Beispiel könnte die Textversion von “Krieg und Frieden” 4 Megabyte und die archivierte Version 100 Kilobyte 40 Mal weniger sein.
In der Programmierung. Es gibt spezielle Wrapper, die ein gebrauchsfertiges Programm verwenden und den Code so optimieren, dass er weniger Speicherplatz beansprucht, aber seine Funktionalität beibehält. Beispielsweise:
Kommentare löschen
Minimieren Sie Funktions- und Variablennamen
Entfernen Sie die für die Lesbarkeit erforderlichen Zeichen


