digital RGB oder YUV nach analog Composite wandeln

May 09, 2007 6 Replies

Hallo NG,



Ich habe ein digitales Kameramodul, das die Bilddaten auf verschiedene Arten digital ausgeben kann (YUV, RGB, BT656 etc.). Das Problem ist, daraus ein analoges PAL-Compositesignal zu machen. Vermutlich müssen dazu auch Auflösung und Bildwiederholrate angepasst werden. Hat sich irgendjemand schon mal mit der Materie beschäftigt oder sogar Tips zur Lösung? Ich denke, das mit der Bildverarbeitung selbst sollte zur Not mit einem Controller machbar sein. Die Wandlung in das Analogsignal muß dann ein separater Chip übernehmen. Ich stehe bei der Suche danach aber auf dem Schlauch, weil ich nicht weiß, wie diese Chips korrekt bezeichnet werden.



Gruß Falko Rudolph


Bei Frameraten- und Auflösungskorrektur kann ich das nicht so recht glauben. Zumindest kein Allerweltscontroller.

Video Encoder?

formatting link

Da hast Du Dir ja ganz schön was vorgenommen.

Gruß Henning

(snip)

Da wird wohl ein ATMega32 oder so etwas nötig sein, denke ich. Eigentlich müßte es dafür auch schon fertige Schaltkreise geben, aber da bin ich noch nicht durch mit dem Suchen. Averlogic hat da was im Programm und andere sicherlich auch noch, ich muß sie nur noch finden.

formatting link

Da habe ich ja erst mal was zum Durchackern. Sieht auf den ersten Blick ganz gut aus. "Video Encoder" also. Danke!

Naja, ich muß nur die Lösung finden, mit dem Rest beschäftigen sich andere :)

Gruß und Dank Falko

Mal den benötigten Pixeltakt ausgerechnet? Ich befürchte, das wird nix. Und für Frameratenkonvertierung bräuchtest Du auch noch _massig_ RAM. Also ein DSP.

Vielleich tuts ja

formatting link
liegt preislich bei 400USD...

Gruß Henning

Unsinn. So nett die ATMegas für viele Sachen auch sein mögen, für die Verarbeitung von PAL-Video sind sie definitiv viel zu langsam. Nichtmal für eine reines Durchreichen wären sie schnell genug, geschweige denn dafür, an den Daten auch noch irgendwas zu drehen.

Kannst du ganz einfach nachrechnen:

Eins der sparsamsten Pixelformate ist YUY2 (16bpp = 2 Byte/Pixel). PAL hat 720x576 Pixel in einem Vollbild und 25 mal in der Sekunde gibt's ein Vollbild.

Macht 2*720*567*25=20736000 Byte/s, also gut 20MByte/s.

Die schnellsten ATMegas (handverlesen) können mit etwas Glück gerade so mit 20MHz betrieben werden. Bloß wären schon zum reinen Durchreichen von einem Byteport auf den anderen schon mindestens vier Takte pro Schleifendurchlauf erforderlich. Bei 20MHz könnte der ATMega das also nur 5 Millionen mal in der Sekunde machen und nicht mehr als 20 Millionen mal, wie es nötig wäre. Man könnte die Schleife noch für ein Videoframe aufrollen, aber auch dann würde man bestenfalls knapp 10 Millionen mal pro Sekunden einen Bytetransport schaffen. Reicht also vorne und hinten nicht.

Alles, was man mit dem ATMega im Videobereich machen kann, sind Anwendungen á la Videotext oder OSD. Er ist aber nichtmal schnell genug, um die Eigenschaften von Videotext (40x24 gut leserliche Zeichen mit 8 Farben) zu erreichen. Jedenfalls nicht ohne zusätzliche Hardware.

40x24 Zeichen (8x8Pixel/Zeichen) monochrom geht allerdings, wenn auch nur gerade so und nur dank der eingebauten Schieberegister von SPI oder USART, die man als Pixelregister mißbrauchen kann. Theoretisch ginge also zumindest auch monochrome Vollgrafik mit 320x192, aber da wird's dann schon wieder an andere Stelle zu eng: für die Bilddaten würde man 7,5k RAM benötigen, eine Menge, die keiner der ATMegas bietet.

Fazit: Vergiß den ATMega für Video ganz schnell. Da mußt du ganz andere Geschütze auffahren.

T'schuldigung, hatte AVR32 mit ATMEga32 durcheinander gebracht :(

Den hatten wir intern auch schon als Notlösung im Gespräch, auch wenn wie sonst eher die ATMEL-Schiene fahren. Dürfte prinzipiell so ähnlich wie der _AVR32_ sein, oder? Da habe ich nämlich schon ein EVB da.

(snip Video mit ATMega)

Du hast vollkommen recht. Ich habe AVR32 und ATMega32 durcheinandergebracht. Sorry.

Falko

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required