www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Daten komprimieren mit Mikrocontroller


Autor: Eugen Mailaender (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Guten Tag,
Ich mache gerade eine Applikation mit einem Grafikdisplay 320x240
(Schwarz/weiss) mit einem 8051 Controller. Die anzuzeigenden Bilder
speichere ich als Bitmaps. Da relativ viele Bilder anzuzeigen sind, und
der Speciherbedarf staendig waechst, dachte ich an eine Komprimierung
der Bitmaps. Hat jemand einfache Algorithmen (sollten beim dekodieren
schnell sein) oder sogar Quellcodebeispiele wie man dies machen
koennte???

Besten Dank bereits im Voraus,

Gruesse
Eugen

Autor: Malte (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
schau dir mal das RLE Verfahren (RunLengthEncoding) an (google).
Das hat zwar keine arge Kompression aber geht schnell.

Autor: Markus Kaufmann (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die verlustfreie Bildkompression beruht im wesentlichen darauf, daß man
Muster erkennen kann. RLE ist dabei sicher das einfachste, schnellste
und auch speichersparendste Verfahren.

Bei Huffman geht es darum, daß häufig vorkommende Werte kurze
Bitkombinationen bekommen und seltene Werte lange Bitkombinationen. Am
einfachsten ist, wenn man das aufs RLE aufsetzt.

Vielleicht wäre noch LZW interessant (wird bei GIF verwendet), aber das
ist wohl schon zu kompliziert. Auch 2D-Verfahren wären denkbar, aber
natürlich immer eine Frage des Aufwandes.

Markus

Autor: Eugen Mailaender (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo

vielen Dank fuer Eure Tips, ich werde den RLE einmal genauer ansehen
und schauen was dabei herauskommt.

Eugen

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich würde die Bilder in seriellen Speicher auslagern, z.B.:

AT24C1024 (128kB)
AT25C2048 (256kB)
AT45DB1282 (16MB)

Die AT45-Serie benötigt leider Pegelwandler, da es sie nicht für 5V
gibt.


Peter

Autor: Rainer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich würde auf jeden Fall eine RLE verwenden, ist ziemlich einfach
auszuprogrammieren, du musst nur eine gültige Escape-Sequenz (die dem
Interpreter sagt, ob der nächste Wert eine Längenangabe oder ein
normaler Wert ist) haben, je nach Anwendung kann das ein Nachteil sein.

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.