Bild-Daten Kompression gesucht

Gast #5231764
Lesenswert?
• ▲
▼
Ich habe nicht im Internet gesucht da ich nicht weiss mit
welchen Kriterien und Begriffen ich suchen soll. Vielleicht
kann mir jemand helfen und mich drauf stossen.

Ausgangslage:

Durch Kodierung von 8 Pixeln in einem Byte erzeuge ich mir
bereits kompakte Grafiken mit 1 Bit Farbtiefe die ich durch
beliebige Wahl von Vordergrund- und Hintergrundfarbe auf einem
Farbdisplay darstellen kann.

Auf einem 320x240 Display sind das z.B. 76800 Pixels bzw 9600
Bytes. Diese Anzahl Bytes hätte ich gerne noch verlustfrei
komprimiert um Speicherplatz im Flash zu sparen.

Lässt sich da noch was machen ohne den Decodier-Aufwand im
Mikrocontroller groß werden zu lassen? Die Software soll ja
nicht so gross werden dass sie die Platzersparnis der
Grafik(en) auffrisst.

Habe leider keine Erfahrung damit und suche hiermit um Hilfe.
#5231822
Lesenswert?
• ▲
▼
Byte Sparer schrieb:
> Durch Kodierung von 8 Pixeln in einem Byte erzeuge ich mir
> bereits kompakte Grafiken mit 1 Bit Farbtiefe
>
> Auf einem 320x240 Display sind das z.B. 76800 Pixels bzw 9600
> Bytes. Diese Anzahl Bytes hätte ich gerne noch verlustfrei
> komprimiert um Speicherplatz im Flash zu sparen.
>
> Lässt sich da noch was machen ohne den Decodier-Aufwand im
> Mikrocontroller groß werden zu lassen?

Was du als "großen Aufwand" für den Decoder bezeichnest, ist natürlich 
Geschmackssache. Meine Empfehlung wäre, ein komprimiertes Bildformat aus 
dem PC-Bereich zu verwenden. Da kriegst du nämlich den Encoder frei 
Haus. Es muß ja nicht gerade DjVu oder PNG sein (obwohl die jeweils 
excellent komprimieren). Aber PCX ist bspw. hinreichend einfach 
aufgebaut und komprimiert ganz annehmbar.
Persönliche Seite #5231826
Lesenswert?
• ▲
▼
Ein ziemlich primitiver, aber daher auch mit wenig Softwareaufwand zu 
implementierender Kompressionsalgorithmus wurde in *.pcx-Graphikdateien 
verwendet.

http://www.fileformat.info/format/pcx/egff.htm

Wenn Du das auf monochrome Bitmaps begrenzt, und auf den Header 
verzichtest (alle Bitmaps haben die gleiche Größe, Farbpalette etc. ist 
entbehrlich), sollte, sofern Deine Bilder kein "digitales Rauschen" 
enthalten, das schon einiges bringen.
#5232321
Lesenswert?
• ▲
▼
Sabberalot W. schrieb:
> Je nach Menge der Bilder koennte man sich auch an einem AT45DB041D,
> einem 512Kx8 Flasch im SO8 Gehause versuchen.

Abgekündigt (EOL) laut Mouser.

Es gibt noch viel größere Flash ICs in SO8 oder vergleichbaren Packages, 
denn die Multi-MB großen PC BIOS (UEFI) werden damit gespeichert. D.h. 
viele MB zu annehmbaren Preisen, allerdings mit 3,3V Betriebsspannung.

Außerdem kann man über MicroSD Sockel nachdenken, dann hätte man GBytes 
Speicherplatz und könnte z.B. Animationen darstellen. Außerdem ließen 
sich darüber Firmware Updates leicht einspielen - einfach SDHC Karte 
wechseln. Die Software gibts mit FATFS praktisch fertich.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 8 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.