Alexander Kornrumpf hat geschrieben:BeRsErKeR hat geschrieben:TGGC hat geschrieben:Was ne Milchmaedchenrechnung. Den kleinen Teil der Bits, die du mit Hin und Hergerechne und Rumgeschiebe fuer dein RLE komprimierbar machen willst, halten ehh keine Information. Die wird jede moderne (d.h. wahrscheinlich alles aus den letzten 20 Jahren...) Kompression ohnehin nicht speichern.
Wieso halten diese Bits keine Information? Du hast ja keine Vorgabe "die Daten können nur in dem Wertebereich vorliegen", sondern sie sind beliebig. Wenn aber größere Bereiche mit einem bestimmten geeigneten Wertebereich vorkommen, dann kann man sie durch Transformation geeignet für RLE machen. Zu beachten gilt auch, dass das nicht für alle Daten überhaupt möglich ist, sondern maximal für Daten, in denen kein Delta mit einem Absolutwert >127 vorkommt.
Ich frage mich wie "moderne Kompressionen" dort die "informationslosen Bits" erkennen wollen? Sie sind in meinen Augen nicht informationslos. Klar ist es möglich, wenn man weiß "in dem Bereich der Datei liegen immer Werte im Wertebereich x - y". Aber dann wäre es ein sehr spezifischer Algorithmus für ein bestimmtes Dateiformat. Ich untersuche hier gerade die Tauglichkeit für allgemeine Daten.
Das ist einfach zu beantworten: Wenn jedes Bit Information tragen würde könntest du mit keinem denkbaren Verfahren verlustfrei komprimieren.
Naja mir ist schon klar, dass alle Informationen erhalten bleiben müssen, aber kann man denn wirklich immer pauschal sagen, dass genau ein spezielles Bit keine Information trägt? Ich verstehe es eher so, dass eine Sequenz von Bits einen gewissen Informationsgehalt hat, der kleiner-gleich der Sequenzlänge ist. Das man nun aber genau identifizieren kann welche Bits aus der Sequenz keine Information tragen, kann man mMn nicht immer feststellen, jedenfalls nicht ohne bestimmtes Kontextwissen. Aber vielleicht irre ich mich da ja auch.
Ich nutze ja bei meinem Vorschlag Kontextwissen aus, dass ich über eine Analyse erhalte, daher wäre der Algo blind auf alle Daten angewandt sehr unvorteilhaft, in einem speziellen Kontext aber nicht. Daher glaube ich nicht so ganz, dass reine Huffman-Kodierung hier in jedem Fall alle "informationslosen" Bits vollständig wegoptimiert. Und zwar vorallem dann nicht, wenn die Daten im gesamten zu kodierenden Block sehr gleichverteilte Häufigkeiten aufweisen.
Außerdem finde ich die Argumentation "moderne Kompressionsverfahren können alle informationslosen Bits wegoptimieren" etwas aus der Luft gegriffen. Die Huffman-Kodierung z.B. kann allein angewendet bestimmte Sequenzen nicht ansatzweise optimal komprimieren und somit sind scheinbar noch viel zu viele informationslose Bits enthalten. Man denke nur an das Beispiel, wo RLE Huffman um Längen schlägt. Und selbst die modernen Kompressionen, die aus Kombinationen von Verfahren bestehen, sind mit Sicherheit nicht für alle Daten optimal.
Ohne Input kein Output.