Sida 1 av 1

Läsa av videosignal

Postat: 4 september 2005, 18:06:06
av Maze
Nån här som har gett sig på att "läsa av" en RGBHV eller YUV signal.

I mitt projekt skulle jag vilja skapa en bitmap i ett minne och sen uppdatera varje "pixelarray" i minnet med hjälp av videosignalen.

Om man tar en vanliga RGBHV signal från datorn med upplösningen 640x480 så blir det rätt så höga frekvenser för en stakars PIC. Hur ska man lyckas få ner signalen i minnet ? Ska man lösa det med ren logik eller hitta en tillräckligt snabb processor :?

Tacksam för lite förslag på hur detta kan lösas.

Postat: 4 september 2005, 22:53:08
av bengt-re
Det är inga lätta saker då det går fort för en stackars liten pic... dessutom så har de ont om minne. Det går, iaf med 18f serien, men jag tror att en FPGA-lösning är bättre, men tyvärr bra mycket dyrare. Eller en blandning av pic och diskreta komponenter. Låta picen styra fifo-minne som räknas hårdvarumässigt eller något likande - inget är omöjligt, men utan att veta mer om vilka möjligheter, vilka krav och så vidare du har så är det inte lätt att ens säga vilken teknik som passar bäst. Fördelen med RGBHV är att det är ganka lätt att förstå vad som är vad i signalen iaf, PAL-signaler är lite knöligare minst sagt med färgbärvåg och inbakade syndpulser och dessutom interlaced. Minnet som behövs för att lagra en VGA-signal är rätt omfattande givetvis beroende på villket färgdjup du vill lagra och i viss mån hur många pixlar per linje du vill lagra. Finns ju inget som hindrar dig ifrån att bara lagra 320x240 pixlar ist. Spar mycket minne iaf...

Postat: 5 september 2005, 01:45:18
av cyr
Om det är vanlig VGA och 24bits färg du vill ha så går det åt c:a 1MB minne, och samplingshastigheten ska vara 25.175MHz.

Lätt att fixa med en liten FPGA och ett SRAM, men väldigt jobbigt att göra helt i mjukvara även med en snabb processor.

Du har inte nämnt vad du ska göra med bilden efter den är insamplad.. Att bara lagra den i ett minne tjänar inte så mycket till...

Postat: 5 september 2005, 11:29:35
av frejo
Kanske kan göra något med en cmucam?
Den kommer med en 75mips uC och skickar ut pixeldata.

http://www.cs.cmu.edu/~cmucam2/
http://www.cs.uml.edu/~fredm/courses/91 ... MUCam.html

Postat: 5 september 2005, 13:16:38
av Gimbal
Hur bråttom har du? Jag byggde för många år sedan en liten manick som samplade in en videosignal (endast i svartvit) en kolumn per frame, dvs bilden växte in från vänster till höger med 50 kolumner per sekund. Med den hastigheten var det inga problem att koppla in sig på parallellporten på en Amiga. Rörliga bilder var dock ingen hit att sampla....

Jag byggde flera versioner och den sista var en mycket enkel analog histora kontra den första som innehöll massor av digitala räknare och komparatorer.

Postat: 5 september 2005, 16:32:28
av Maze
Hade tänkt bygga ett hundratal LED matriser bestående av 2 x 2 RGB dioder och styra dessa via DMX. Dessa ska sen kunna riggas på olika sätt så det slutligen blir en enda stor matris i form av en backdrop på en scen.

Eftersom det inte kommer vara direkt roligt att programmera dessa pixel efter pixel från ljusbordet vill jag låta dessa DMX värden genereras direkt av en videosignal.

Videosignalen kommer att komma från en dator i form av en VGA signal på 640x480 pixlar och ett färgdjup på minst 16 bitar. Eftersom den totala matrisen inte kommer ha lika hög upplösning vill jag ha möjligthet att bara plocka ut vissa pixlar ur bitmapen. Dessa pixlar ska kunna ändras beroende på hur matriserna riggas.

Datorn kommer sen i sin tur att styras av DMX så att både vanligt ljus och videoeffekter kan styras tillsammans.

Lösningen jag har skissat lite på ser ut så att lite hårdvara ser till att fylla minnet kontinuerligt med pixelinfo från VGA signalen. På andra sidan av minnet får en processor hämta önskade pixlar och generera DMX värden för dessa. DMX värdena tillsammans med strömförsörjning går sen vidare till varje matris.

I varje liten matris sitter det sen en mindre processor som tar emot DMX värdena för just dessa pixlar och PWM modulerar dioderna.

Postat: 5 september 2005, 16:49:11
av Cenorpa
Oj! :shock:
Låter som ett väldigt stort projekt!!

Hoppas du lyckas, skulle vara häftigt att se! :)

Postat: 5 september 2005, 19:45:50
av AndLi
varför inte skriva ett specialprogram till PC direkt?
Då kan du ju filtrera ut den intressanta informationen redan där?

Postat: 5 september 2005, 21:31:55
av Maze
Mjukvaran i datorn finns redan i form av ett kommerisellt mediaserver program som har stöd för DMX styrning så den biten är redan klar. Det jag vill lösa är VGA till DMX delen eftersom programmet skickar ut videon på ena VGA porten.

Postat: 5 september 2005, 21:55:52
av bengt-re
Mmmm... Kul projekt - men satsa på en uP-stöttad FPGA. Tror att det är enda rimliga tekniken.