Ich hätte einen Kommentar abgegeben, da dies die Antwort von Andrej Bauer in diesem Thread betrifft ; Ich glaube jedoch, dass es eine Frage wert ist.
Andrej erklärt, dass eine verlustfreie Komprimierungsfunktion angesichts der Menge aller Bitfolgen mit einer Länge von 3 oder weniger nur einige von ihnen "komprimieren" kann. Die anderen, zum Beispiel "01", müssten tatsächlich zu einer Zeichenfolge wie "0001" mit der Länge 4 komprimiert werden. Das Komprimierungsverhältnis ist einfach die durchschnittliche Komprimierung über den Eingabesatz.
Dies lässt verlustfreie Komprimierung unpraktisch erscheinen, aber das wichtige Zitat lautet:
Die in der Praxis vorkommenden Bitfolgen sind alles andere als zufällig und weisen viel Regelmäßigkeit auf.
Es fällt mir schwer zu glauben, dass Multimediadateien beispielsweise durch etwas anderes als zufällige Bitfolgen dargestellt werden. Gibt es wirklich ein Muster, das Komprimierungsfunktionen nutzen, um den Algorithmus in der Realität nützlich zu machen?
quelle
Antworten:
Zunächst einmal haben Sie Recht: Multimediadateien werden (mehr oder weniger) als zufällige Dateien dargestellt. Der Grund dafür ist, dass diese Dateien bereits komprimiert sind (verlustbehaftet). Beachten Sie, dass MP3 zum Beispiel nichts anderes als ein Komprimierungsalgorithmus ist!
Eine Konsequenz ist, dass eine weitere Komprimierung keine merkliche Komprimierung ergibt (und in der Tat war eine verlustfreie Komprimierung bereits komprimierter (Multimedia-) Dateien nie ein Weg zum Erfolg).
Auch in Ihrem anderen Punkt haben Sie Recht: Verlustfreie Komprimierung kann im Durchschnitt nicht komprimiert werden. Um dies zu sehen, besteht Ihr möglicher Datensatz beispielsweise aus verschiedenen Elementen. Wie viele Bits benötigen Sie pro Datei, um Elemente immer von Ihrem Satz unterscheiden zu können? Richtig, . Insgesamt werden alle Dateien durch nicht weniger als Bits dargestellt. Wenn Sie nun einige dieser Dateien mit weniger als Bits darstellen, werden einige Dateien mit mehr als Bits dargestellt. Das ist ungefähr alles, was es zu sagen gibt.2n n n⋅2n n n
Kurz gesagt, verlustfreie Komprimierung funktioniert, weil Textdateien alles andere als zufällig sind (betrachten Sie einfach die Buchstabenverteilung meiner Antwort und vergleichen Sie die Anzahl der E mit der Anzahl der Z !) Und komprimieren Sie zufällige Daten (z. B. bereits komprimierte Daten oder verschlüsselte Daten) macht keinen Sinn.
quelle
Multimedia - Daten ist sehr weit von zufälligen, weshalb es so gut komprimiert. Beispielsweise entspricht eine einzelne Sekunde Video mit einer Auflösung von 1920 x 1080 Pixel, 24-Bit-Farbe und 24 Bildern pro Sekunde etwa 150 MB unkomprimierter Daten. Multimedia - Dateien wurden bereits komprimiert worden sind so hart , etwas weiter zu komprimieren.
Selbst unkomprimierte Multimediadaten sehen jedoch wahrscheinlich ziemlich zufällig aus, wenn Sie sie nur als einen Strom von Nullen und Einsen betrachten. (Allerdings werden GIFs mit LZW komprimiert, wobei sie im Wesentlichen als Bitstrom behandelt werden. Das funktioniert recht gut.) Wenn Sie sich Multimediadaten ansehen und wissen, was dies bedeutet, sind dort viele Strukturen vorhanden.
Ich habe JPEG und MPEG erwähnt, die natürlich verlustbehaftet sind. Ich vermute jedoch, dass Sie diese Ideen im Prinzip verwenden könnten, um gute verlustfreie Komprimierungsverhältnisse dieser nicht zufälligen Daten zu erzielen. Ich bezweifle jedoch, dass irgendjemand versuchen würde, dies zu tun, da die Zeit zum Komprimieren wahrscheinlich unglaublich groß wäre.
quelle
Ja, die verlustfreie Komprimierung nutzt die Tatsache aus, dass viele Dateien nicht zufällig sind. Ja, die meisten Multimediadateien sind nicht zufällig.
Faxbilder sind ein gutes Beispiel für diesen Effekt. In ihrer einfachsten Form ist ein Faxbild ein 2-D-Schwarzweißbild, das durch Scannen einer einzelnen Seite eines Dokuments erhalten wird. Wenn Sie dieses Bild als eine Folge von Bits darstellen, ein Bit pro Pixel (0 = weiß, 1 = schwarz), werden Sie feststellen, dass die resultierenden Binärdaten überhaupt nicht zufällig sind. Hier sind zum Beispiel einige nicht zufällige Muster, die Sie erkennen werden:
In der Regel haben Faxbilder viel mehr weiße als schwarze Pixel.
Außerdem hat jedes Pixel mit größerer Wahrscheinlichkeit dieselbe Farbe wie das Pixel links davon als eine andere Farbe.
Für ein komplexeres Muster: Stellen Sie sich vor, Sie scannen Pixel horizontal von links nach rechts und zählen die Länge jedes "Durchlaufs" aufeinanderfolgender Pixel mit derselben Farbe. Dann sind lange Läufe häufiger als kurze Läufe, und lange Läufe mit weißen Pixeln sind häufiger als lange Läufe mit schwarzen Pixeln.
Faxkomprimierungsalgorithmen wurden entwickelt, um diese nicht zufälligen Aspekte zu nutzen. Frühe Faxkomprimierungsalgorithmen sind ein besonders gutes Beispiel, da es sich um einfache verlustfreie Komprimierungsschemata handelt, die diese nicht zufälligen Eigenschaften gescannter Bilder sehr direkt ausnutzen.
Beispielsweise verwendete ein frühes Schema zum Komprimieren von Faxbildern eine Lauflängencodierung in Kombination mit einer Huffman-Codierung . Die Lauflängencodierung ersetzt jeden Lauf gleichfarbiger Pixel durch eine einzelne Ganzzahl, die die Länge des Laufs zählt. Beispielsweise wird 00000110001 zu "5 2 3 1". Die Lauflängencodierung nutzt die Tatsache aus, dass Pixel dazu neigen, in Läufen derselben Farbe zu kommen. Die Huffman-Codierung nutzt die Tatsache weiter aus, dass einige Lauflängen häufiger sind als andere. Sehen Sie hier für ein detailliertes Beispiel dafür , wie eine dieser frühen Systeme gearbeitet - das System ist einfach und elegant, und direkt nutzt die Muster oben erwähnt.
Diese Schemata bieten im Durchschnitt keine Komprimierung für zufällige Dateien. Gescannte Faxbilder sind jedoch nicht zufällig, und als Ergebnis können diese Komprimierungsschemata erhebliche Einsparungen bieten.
Ähnliche Kommentare gelten für andere Multimediadateien. Die in anderen Arten von Multimediadateien vorhandenen Muster können komplexer sein, es sind jedoch immer noch viele Muster vorhanden, die die Daten nicht zufällig machen.
quelle
Eine zufällige Audiodatei ist eine Art Rauschen. Die meisten Menschen speichern Audiodateien mit Musik oder Sprache, nicht mit Rauschen.
quelle