mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Datenkompression mit uC ?


Autor: Arvid Teichtmann (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Markus Kaufmann (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Arvid Teichtmann (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
MSP430F149 (intern 2Kb RAM) mit externem DataFlash, in dem Audiodaten in 
Telefonqualität als WAVE (also roh ohne Kompression) abgelegt sind.

Gruss
Arvid

Autor: Markus Kaufmann (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.