Laut Wikipedia :
Shannons Entropie misst die in einer Nachricht enthaltenen Informationen im Gegensatz zu dem Teil der Nachricht, der bestimmt wird (oder vorhersehbar ist). Beispiele für letztere sind Redundanz in der Sprachstruktur oder statistische Eigenschaften in Bezug auf die Häufigkeit des Auftretens von Buchstaben- oder Wortpaaren, Tripletts usw.
Die Entropie ist also ein Maß für die Informationsmenge, die in einer Nachricht enthalten ist. Entropiecodierer werden verwendet, um eine solche Nachricht verlustfrei auf die minimale Anzahl von Bits zu komprimieren, die erforderlich sind, um sie darzustellen (Entropie). Für mich sieht das so aus, als wäre ein perfekter Entropie-Encoder alles, was benötigt wird, um eine Nachricht so verlustfrei wie möglich zu komprimieren.
Viele Komprimierungsalgorithmen verwenden jedoch Schritte vor der Entropiecodierung, um angeblich die Entropie der Nachricht zu verringern.
Laut deutscher Wikipedia
Entropiekodierer werden häufig mit anderen Kodierern kombiniert. Dabei dienen vorgeschaltete Verfahren dazu, die Entropie der Daten zu verringern.
Auf Englisch:
Entropiecodierer werden häufig mit anderen Codierern kombiniert. Vorherige Schritte dienen dazu, die Entropie der Daten zu verringern.
dh bzip2 verwendet die Burrows-Wheeler-Transformation, gefolgt von einer Move-To-Front-Transformation, bevor die Entropiecodierung angewendet wird (in diesem Fall Huffman-Codierung).
Verringern diese Schritte wirklich die Entropie der Nachricht, was bedeuten würde, dass die in der Nachricht enthaltene Informationsmenge verringert wird? Dies erscheint mir widersprüchlich, da dadurch Informationen während der Komprimierung verloren gehen und eine verlustfreie Dekomprimierung verhindert wird. Oder transformieren sie lediglich die Nachricht, um die Effizienz des Entropiecodierungsalgorithmus zu verbessern? Oder entspricht die Entropie nicht direkt der Informationsmenge in der Nachricht?