2012-11-29 11 views
6

Ich bin auf der Suche nach einem guten Algorithmus für die Bit-Stream-Komprimierung (Packet Payload Compression). Ich möchte Algorithmen vermeiden, die auf Symbolwahrscheinlichkeit basieren. Ich habe die Algorithmen der LZ-Familie bereits ausprobiert und fand keine, auch nicht mit BWT.Kompressionsalgorithmus für einen Bitstrom

Ich versuche, einen Mindestkomprimierungsprozentsatz von 30% zu erreichen, habe aber nur 3-5% mit RLE erreicht.

Was ist ein guter Algorithmus, der eine Komprimierung über 30% hat?

+0

Welche Art von Daten werden komprimiert? Sind es Audio- oder Videodaten? –

+0

Ich möchte Packet Payload komprimieren (Header bleibt unkomprimiert) und dann über das Netzwerk senden. der Empfänger dekomprimiert dann die Nutzlast. Bisher führt jeder Algorithmus, den ich versuche, zu einer Vergrößerung der Größe. –

+1

Sie müssen viel mehr Informationen über die Daten bereitstellen, und warum Sie glauben, dass sie komprimierbar sind. –

Antwort

3

Wenn Sie keine Kenntnisse über Ihre Eingabedaten haben, ist es schwierig, eine gute Komprimierung zu erzielen (genau wie bei einem Mehrzweckkompressor).

Aber zumindest können Sie einige kontextbasierte Modelle ausprobieren. Verwenden Sie mehrere Präfix-Bits als Kontext und prognostizieren Sie die Wahrscheinlichkeit des nächsten Bits, und übergeben Sie die Wahrscheinlichkeit dann an einen Range-Coder.

Weitere Komprimierung kann mit einem Kontext-Mixing-Modell ohne Byte-Alignment erreicht werden. siehe http://mattmahoney.net/dc/dce.html#Section_43.