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!
Naja, der JPEG-Algorithmus an sich ist kein Geheimnis. Die Sourcen gibt es auf der offiziellen JPEG-Site (http://www.ijg.org/files/). Aber ob du das in einen µC verwurschtelt bekommst?! Was für ein LCD möchtest du denn ansteuern? Farbe oder monochrom?
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?
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 ...
Die Dateien hab ich schon... wie gesagt is halt nicht einfach das auf nen µC zu bekommen. Trotzdem, danke
Rechne dir doch mal aus wie groß so ein dekomprimiertes Bild ist, und denke dann nochmal darüber nach ob das was du vorhast realistisch ist.
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!
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!
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 :)
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?
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
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.
Das wär echt super und würd mir wirklih weiterhelfen. Danke schon mal im voraus!
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.