Hi, ich bin gerade am Überlegen, ob ich versuche folgendes Projekt zu realisieren. Und zwar möchte ich ein S-Video Signal digitalisieren (z.B. mit TVP5150AM1 von TI) und danach das digitalisierte Bild mit Hilfe eines FPGAs (Deinterlacing und Scaling) auf einem LCD Display ausgeben (z.B. auf Sony PSP TFT). Gesteuert wird das ganze dann vielleicht noch von einem kleinen Mikrocontroller, der irgendwelche Parameter setzen kann (z.B. Auflösung oder dergleichen). Hat in diese Richtung schon jemand Erfahrung?? Von der Video Digitalisierung hab ich momentan eher wenig Ahnung... meine Erfahrungen beschränken sich eher auf die Hardware-Synthese in Xilinx FPGAs. Hat wer irgendwelche guten Tipps bezüglich Algorithmen betreffend dem Deinterlacing und Scaling! Ich denke, dass vorallem der notwendige Speicher hier ausschlaggebend sein wird!? Wenn jemand sowas in die Richtung schon gemacht hat... wie groß/leistungsfähig muss der FPGA in etwa sein (grobe Schätzung)?! Danke euch, Andreas
Mit S-Video meinst du Luminanz und Chrominanz getrennt als 2 Signale, oder? Das Problem dürfte die Demodulierung der Farbe werden, da sie in Quadraturamplitudenmodulierter Form vorliegt, d.h. zwei Amplitudenmodulierte Sinusschwingungen (B-G, R-G), die zueinander um 90° Phasenverschoben sind und zu einem Signal addiert wurden. Den Aufwand für eine Demodulation weiß ich nicht ... Aber ein *En*coder passt in einen 200k-FPGA schon rein ... Grüße Gast
Das möchte er ja mit einem externen IC machen. Der TVP5150 liefert dann YUV als 8bit YUYV Stream mit 27MByte/s. Ohne das Deinterlacing und Scaling passt das ganze in den kleinsten FPGA den es gibt. Je nach Intelligenz des Deinterlacers kann man aber auch problemlos größere FPGAs voll bekommen.
Alles hängt davon ab, welche Interpolations-Algos Du für Deinterlacing und Scaling brauchst. Wenn Du z.B. bilineare Interpolation nimmst, dann brauchst Du eigentlich nur 2 Zeilen im Speicher (ausrechnen kannst Du ja selber, wieviel das an Blockrams ist) Skalieren ist dann etwas komplizierter, aber eigentlich auch nicht, wenn man das schon mal gemacht hat. Wenn Du noch nie was damit zu tun gehabt hast, dann wähle das FPGA nicht zu klein. Abschätzen kann ich jetzt spontan nicht, aber Du brauchst Zeilenspeicher! Ich habe beides schon gemacht und kann sagen, dass Deinterlacer ruhig "dumm" sein kann ;-) Einfache Interpolation der Zeilen reicht für viele Anwendungen völlig aus! Motioncompensation versuch erst gar nicht ;-) Grüße, Kest
Hi, sorry, dass ich mich etwas länger nicht zu Wort gemeldet hab. Schonmal ganz herzlichen Dank für die Antworten. Also... hab mir jetzt noch etwas genauer das ganze überlegt. Hab ja bereits geschrieben, dass ich gerne ein Playstation Portable Display für die Anzeige verwenden würde. Dafür wäre das Scaling und Deinterlacing eigentlich relativ einfach. Das PSP LCD hat eine Auflösung von 480x272 Pixel. Das S-Video Signal hat 720x576 Pixel (bzw. die Halbbilder dann 720x288px). D.h. vertikal würde mir das Halbbild schon ganz gut für das Display passen. Die 16 Pixel, die im Halbbild zuviel sind, könnt ich fürs erste auch einfach weglassen. Und horizontal wärs im einfachsten Fall so, dass ich jedes dritte Pixel auslasse. Soweit so gut. Das Problem, das ich nun sehe ist, dass über S-Video die Halbbilder mit 50 Hz reinkommen und das LCD aber typisch mit 60Hz die Bilder wiedergeben will. D.h. mir werden irgendwann die Daten zum Ausgeben zu wenig werden und das Bild passt nicht mehr. * Abhilfe: entsprechender Speicher dazwischen um zumindest 2 Bilder zwischenzuspeichern. * Problem: bei 3 Byte RGB und 720x576px sind das 1,2 MB pro Bild. Sinnvoll wäre also eine SDRAM. Nur dafür brauchts dann auch wieder einen Memory Controller... STOPP... also das muss einfacher gehen, oder?! Vielleicht ein Display mit 50Hz nehmen!? Hat schonmal wer versucht das PSP LCD mit 50Hz anzusteuern? BTW. da über S-Video eigentlich nur ein Menü dargestellt wird, ist die zeitliche Abfolge in meinem Fall nicht so kritisch. Aber wenn das ganze ein Video wäre, dann würde für die Wiedergabe mit 60 Hz ja auch noch eine Interpolation zwischen den Bildern notwendig sein, damit die Bewegungen nicht verfälscht werden, oder?? mfg Andreas
Andreas Auer schrieb: > Das PSP LCD hat eine Auflösung von 480x272 Pixel. Das S-Video Signal hat > 720x576 Pixel (bzw. die Halbbilder dann 720x288px). D.h. vertikal würde > mir das Halbbild schon ganz gut für das Display passen. Die 16 Pixel, > die im Halbbild zuviel sind, könnt ich fürs erste auch einfach > weglassen. Und horizontal wärs im einfachsten Fall so, dass ich jedes > dritte Pixel auslasse. Das Display hat 16:9, das TV Bild 4:3. Sieht nicht gut aus wenn alles verzerrt ist, funktioniert aber. > Soweit so gut. Das Problem, das ich nun sehe ist, dass über S-Video die > Halbbilder mit 50 Hz reinkommen und das LCD aber typisch mit 60Hz die > Bilder wiedergeben will. Das LCD läuft vermutlich auch mit 50Hz. Ich habe zumindest noch kein Display gesehen, das so timingkritisch war, dass man die Framerate nicht um ein paar 10% nach unten drehen konnte. Es sollte ja leicht sein das mal ausprobieren. > * Problem: bei 3 Byte RGB und 720x576px sind das 1,2 MB pro Bild. Speicher doch YUV, dann brauchst du nur 2/3 des Speichers. > Aber wenn das ganze > ein Video wäre, dann würde für die Wiedergabe mit 60 Hz ja auch noch > eine Interpolation zwischen den Bildern notwendig sein, damit die > Bewegungen nicht verfälscht werden, oder?? Das wird kaum gemacht, außer bei Geräten der oberen Preisklasse. Die einfachen Mini TFT TVs haben 320x240 und werden direkt mit 50Hz betrieben. Die Halbbilder liegen direkt übereinander.
Benedikt K. schrieb: > Das Display hat 16:9, das TV Bild 4:3. Sieht nicht gut aus wenn alles > verzerrt ist, funktioniert aber. Das wär jetzt nicht so tragisch, weil es sich wie gesagt im Grunde nur um ein Menü handelt, das ausgegeben wird. Und am 16:9 Fernseher ist es eigentlich auch ok. > Das LCD läuft vermutlich auch mit 50Hz. Ich habe zumindest noch kein > Display gesehen, das so timingkritisch war, dass man die Framerate nicht > um ein paar 10% nach unten drehen konnte. Laut Datenblatt läufts noch mit ca. 52Hz wobei es hier anscheinend zum Flackern kommen kann. > Es sollte ja leicht sein das mal ausprobieren. Stimmt... und wird mir wohl auch nichts anderes übrig bleiben. > Das wird kaum gemacht, außer bei Geräten der oberen Preisklasse. Die > einfachen Mini TFT TVs haben 320x240 und werden direkt mit 50Hz > betrieben. Die Halbbilder liegen direkt übereinander. Ok, danke für die Info... hab mir schon gedacht, dass solche Geräte im oberen Preissegment liegen.
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.