JPEG Dekomprimierung mit Mikrocontroller

Gast #91798
Lesenswert?

Hallo Leute!

Ich möchte ein Jpeg-Bild dekomprimieren und dann auf
einem Display ausgeben.

Hab mir das folgender Maßen vorgestellt:
   -die Jpeg-Bilder ins Flash speichern
   -ein Bild dekomprimieren (als BMP) und ins Ram speichern
   -von dort dann ans Display (TFT) liefern

Vom Schaltungsaufbau gibt es glaub ich keine Probleme
zu befürchten, aber die Dekomprimierung macht mir doch Kopfzerbrechen.

hat irgendwer schon Erfahrung mit einer solchen Umwandlung
und kann mir seine Quellcode zur verfügung stellen,
oder nützlich Tips wie man so etwas am besten programmiert.

Will das ganze in ANSI-C programmieren.

Wär super wenn mir wer helfen könnte.

mfg
Thomas!
Gast #91800
Lesenswert?

Möcht das in ein Display mit xVGA (1024x768x16) farbe darstellen!

Es würd nur um den Code gehen,
von der Zeit her is genug vorhanden.
Während das eine Bild dargestellt wird,
kann man ja das andere berechnen.

Hast du eine Idee wie man das programmieren könnte?
Gast #91801
Lesenswert?

Wie gesagt: Geh auf die Seite, die ich oben gepostet habe. Da findest du
Sourcecode zur Kompression und Dekompression in C (Pascal-Ports gibt es
BTW auch). Das ganze auf einen AVR anzupassen ist natürlich nicht
gerade trivial ...
Gast #91804
Lesenswert?

das bild hat ca. 1,5 MB bei svga mit 24 Bit (800x600x24)

Wir suchen zwar gerade den richtigen µC aber das kann
doch nicht so ein Problem sein, oder?

Es geht nur um Code, wie ich so ein komprimiertes Bild
auslesen kann und als BMP im RAM speicher!
Gast #91805
Lesenswert?

Hallo nochmal!

Kennt jemand von euch den Hagen.

Der hat am 10.2.2004 geschrieben, dass
er so eine Dekomprimierung schon mal für
den PC geschrieben hat?

Das wär wenigstens mal ein Anfang!
Admin Persönliche Seite #91806
Lesenswert?

Sourcecode zur JPEG-Dekodierung zu finden (ohne Fließkomma-Berechnungen)
dürfte ja nicht all zu schwer sein. Wenn du so etwas gefunden hast
musst du es umschreiben dass nur auf Mikrocontrollern umsetzbarer Code
übrig bleibt (Dekodierung aus dem Speicher in den Speicher, kein fopen
usw.), den Speicherbedarf bestimmen und einen geeigneten Prozessor
raussuchen (ein AVR ist das definitiv nicht).

Aber so wie sich die Fragestellung liest vermute ich mal eine relativ
geringe Erfolgschance. Wenn ich mich dabei irre und am Ende doch etwas
sinnvolles rauskommen sollte, umso besser :)
Gast #91807
Lesenswert?

Hmm. Ich versteh jetzt nicht wieso das an den AVRs scheitern soll.
Ich meine es geht ja nicht um Geschwindigkeit und einen externen
Speicher anzuschließen, der groß genug ist, sollte doch auch nicht das
Problem sein, oder?
Gast #91808
Lesenswert?

Also ich habe mal für ein TFT (640x480 3bit pro farbe)eine Ansteuerung
mit AVR realisiert war grotten langsam, die einzige möglichkeit die ich
mit einen AVR sehe, das das Display direkt auf das RAM zugreift und der
AVR die dekomprimierung reledigt und ins ram ablegt(quasi DMA),und das
gestaltet sich schon nicht einfach.
ich würde mal hergehen und den infineon C161 anschauen. Rechnet mit
16Bit und hat auch 256KByte Flash sowie 10KByte Ram nur als tipp.

Mfg Ulrich Radig
Gast #91809
Lesenswert?

Wenn sowas in QBASIC geht, gehts auch mit nem uC, da QB nicht auf den
gesamten Arbeitsspeicher zugreifen kann (zumindest nicht ohne
Modifikationen). Mehr als 64k sind nicht möglich.
uC mit zusätzlichem LCD/TFT Controller (der bringt auch gleich 2MB DRAM
mit, wie z.B: der S1D13504)

Irgendwo hab ich noch ne jpeg Routine. Man sieht die JPEG-Fehler zwar
etwas stärker als bei einem normalen Programm, aber es läuft
einwandfrei. Irgendwo hab ichs, ich werd mal suchen.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren