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
schau dir mal das RLE Verfahren (RunLengthEncoding) an (google). Das hat zwar keine arge Kompression aber geht schnell.
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
Hallo vielen Dank fuer Eure Tips, ich werde den RLE einmal genauer ansehen und schauen was dabei herauskommt. Eugen
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
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.
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.