Hallo, ich möchte eventuell einen Kompressionsalgorithmus in einem uC implementieren, um grössere Datenmengen in einem Datenflash zu komprimieren. Ich dachte an einen RLE (run length encoded algorithm), wie er z.B. von PKZIP verwendet wird. Hat jemand Erfahrung, Tipps, gute Links oder Source Code in C ? Danke. Gruss Arvid
Welcher Algorithmus Sinn macht, hängt stark von Deinen Daten ab. Bei Datenkompression geht es prinzipiell darum, irgendwelche Strukturen zu erkennen, d.h. Du solltest am besten mal beschreiben wie Deine Daten aufgebaut sind. RLE ist nicht schwer zu implementieren, falls Du aber analoge Werte hast solltest Du auf so Dinge wie z.B. Rauschen achten, die Dir recht schnell die Kompression kaputtmachen können. Zip arbeitet meines Wissens nach hauptsächlich mit LZ77 als Algorithmus. Sourcen (für PC) gibts z.B. als Infozip oder gzip. Ich befürchte aber, daß viele dieser Packer relativ viel Speicher wollen (mindestens 4KB RAM). Welchen Microcontroller willst Du denn einsetzen? bye Markus
MSP430F149 (intern 2Kb RAM) mit externem DataFlash, in dem Audiodaten in Telefonqualität als WAVE (also roh ohne Kompression) abgelegt sind. Gruss Arvid
Du könntest Gesprächspausen erkennen, damit Du diese nicht abspeichern mußt. Prinzipiell komprimiert man hier verlustbehaftet. Übliche Kompressionsverfahren sind dabei der GSM-Codec, Celp und ADPCM. Ich weis jetzt aber nicht, wieviel Rechenpower oder RAMbedarf die haben. bye Markus
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.