Zpracovávání videa z kamery mikrokontrolerem

Dotazy na technické problémy, vlastní řešení technických problémů

Moderátor: Moderátoři

Zpráva
Autor
Uživatelský avatar
Mica
Příspěvky: 163
Registrován: 21 říj 2005, 02:00
Bydliště: Praha
Kontaktovat uživatele:

Zpracovávání videa z kamery mikrokontrolerem

#1 Příspěvek od Mica »

Zdarec

Chtěl bych se pokusit pomocí mikrokontoleru nějákýho bufferu a bleskového AD převodníku, zpracovávat video signál z černobílé kamery. Bohužel se mi však nepodařilo najít co vůbec video signál obsahuje, co obnáší jeho "čtení", protože nevím přesně co bych měl hledat. Prostě bych potřeboval nějakej článek votom co leze za signál z např. z té mé ČB kamery. Doufám že jsi to nepředstavuju jak Hurvnínek válku :)

Předem děkuji za každou radu!!!
Naposledy upravil(a) Mica dne 23 úno 2007, 16:25, celkem upraveno 1 x.

Uživatelský avatar
Hill
Administrátor
Administrátor
Příspěvky: 18898
Registrován: 10 zář 2004, 02:00
Bydliště: Jičín, Český ráj

#2 Příspěvek od Hill »

Stručně: 625 řádků (fh=15625Hz), 50 půlsnímků za sekundu, prokládané řádkování, t.j. v každém půlsnímku jsou vždy jen liché nebo sudé řádky. Lichý půlsnímek začíná ve snímkovém zatemňovacím intervalu (z něj posledních 22 řádků), začíná se kreslit v levém horním rohu obrazu řádkem 23 a končí dole uprostřed v řádku 311 zatemňovacím intervalem, který trvá do řádku 335. Řádek 336 je už opět viditelný a začíná nahoře uprostřed. Řádek 623 je poslední viditelný a končí v pravém dolním rohu obrazu. Následuje zatemňovacím impulsem do řádku 625. A cyklus se opakuje.

Kamery zpravidla negenerují snímkové, vyrovnávací, ani udržovací impulsy, ale jen zjednodušenou synchronizační směs, tedy v zatemňovacím intervalu je jeden široký synchronizační impuls (studiové čb často ani tu ne, byly synchronizované centrálně a impulsy se do signálu přidávaly až při dalším zpracování). To chce osciloskop a signál z kamery si prohlédnout.

Jinak úrovně (obvykle na impedanci 75 ohmů) při pozitivním signálu:
bílá=1V
černý řádek 0,35V
úroveň zatemnění=0,3V
temeno synchronizačního impulsu=0V.

Řádkový zatemňovací impuls trvá 11,8 až 12,3us. Začíná úrovní 0,3V. Po době 1,3 až 1,8 us začíná synchronizační impuls délky 4,5 až 4,9us (úroveň 0V). Pak se signál na zbytek trvání impulsu vrací na 0,3V. do tohoto časového intervalu se u nás umísťuje synchronizační impuls barvy PAL, což u čb kamery nehrozí.

Samozřejmě, pro vysílání se používá negativní modulace, takže se úrovně převrátí, a z kamery může lézt signál se synchronizačními impulsy +1V a bílá bude mít 0V.

To by pro začátek mohlo stačit. Další podrobnosti například ve Vít, V., ing., a kol.: Televizní technika, SNTL Praha a ALFA Bratislava 1979. Zejména str. 24-28, dále str. 892-908.

Uživatelský avatar
Mica
Příspěvky: 163
Registrován: 21 říj 2005, 02:00
Bydliště: Praha
Kontaktovat uživatele:

#3 Příspěvek od Mica »

Hill: Ty jo díky za vyčerpávající informace. :) Moc moudrej na z toho nejsem něják nejsem schopnej dát ty časy v hlavě dohromady, chtělo by to nějakej graf průběhu pár snímků. I když nejspíš by to chtělo kameru nejdříve koupit , osciloskop by naštěstí byl. Teď pro začátek mě akorát zajímalo jestli je to vůbec v mích silách, jak to tak vypadá, tak to nebude tak strasně složitý, ale vodlaďování bude pracný, ale to se zvládne :)

A ještě jsem přemejšlel jak budu testovat, zda to příjmá nějaký obraz, napadalo mě, že bych přes seriovej port posílal rychlostí tak 0,5MBaud do kompu a tam obraz zobrazoval.

Asi bys tu knížku Televizní technika neměl v elektronické podobě, že?

Uživatelský avatar
Mica
Příspěvky: 163
Registrován: 21 říj 2005, 02:00
Bydliště: Praha
Kontaktovat uživatele:

#4 Příspěvek od Mica »

mimochodem co řikáte na tuhle http://www.escadtrade.cz/?lang=cz&sec=i ... em&id=1552
kameru? Chtěl bych jí prdnout na robota, a myslim si že citlivost 0,01Lux je moc dobrá

Uživatelský avatar
MetalGod
Příspěvky: 6556
Registrován: 30 kvě 2006, 02:00
Bydliště: Seč

#5 Příspěvek od MetalGod »

Kdysi v jednom, dneska už mrtvým časáku jménem Amiga news bylo takový jednoduchý schéma videodigitizéru, ale nejspíš pro paralelní port (myslím, že ty amigácký a PC paralelní porty byly identický).
To číslo bylo někdy z roku 1993-1994.
Bohužel ho už nemám :cry:
Kdo není ve dvaceti levičák, nemá srdce,
kdo je levičák ve čtyřiceti, nemá rozum.
— Winston Churchill

Uživatelský avatar
mikollar
Příspěvky: 1406
Registrován: 26 pro 2004, 01:00
Bydliště: Košice - okolie

#6 Příspěvek od mikollar »


Uživatelský avatar
Mica
Příspěvky: 163
Registrován: 21 říj 2005, 02:00
Bydliště: Praha
Kontaktovat uživatele:

#7 Příspěvek od Mica »

metalgod píše:Kdysi v jednom, dneska už mrtvým časáku jménem Amiga news bylo takový jednoduchý schéma videodigitizéru, ale nejspíš pro paralelní port (myslím, že ty amigácký a PC paralelní porty byly identický).
To číslo bylo někdy z roku 1993-1994.
Bohužel ho už nemám :cry:
Kua hodně čísel Amiga News a stejně tak i mojí Amigu 1200 jsem již vyhodil... :-/

Uživatelský avatar
Hill
Administrátor
Administrátor
Příspěvky: 18898
Registrován: 10 zář 2004, 02:00
Bydliště: Jičín, Český ráj

#8 Příspěvek od Hill »

To, co tu nahodil Mikollar, je asi tak totéž, co bych ti mohl poskytnout z uvedené knížky. Skutečně nic víc užitečného se takto jednoduše nedovíš.
Nanejvýš doplním periodu H=64us (to je perioda řádků 1/15625Hz), perioda H/2 = 32us (to je perioda snímkových, vyrovnávacích a udržovacích impulsů) a V=20ms (perioda snímků).
Pro rozlišení aspoň 700 bodů na řádek potřebuješ šířku pásma nejméně 5MHz a vzorkovací frekvenci zhruba dvojnásobnou.

Knihu v elektronické podobě nemám, má totiž netto 920 stran a už je v ní pár věcí, které jsou spíše historickou zajímavostí, tak by to chtělo pečlivě vybírat, co neskenovat, ale neztratit souvislosti, je to totiž dílo velmi logicky řazené.

Uživatelský avatar
Mica
Příspěvky: 163
Registrován: 21 říj 2005, 02:00
Bydliště: Praha
Kontaktovat uživatele:

#9 Příspěvek od Mica »

Příští tejden kupuju kamerku, myslím že potom co vyflusne osciloskop budu ještě moudřejší, teď to časování ještě pořádně nechápu je tam toho na mě něják moc.... :)

Zatim díky moc za pomoc!!!

Uživatelský avatar
Mica
Příspěvky: 163
Registrován: 21 říj 2005, 02:00
Bydliště: Praha
Kontaktovat uživatele:

#10 Příspěvek od Mica »

Tak asi nejspíš zakoupim barevnou kameru http://www.escadtrade.cz/?lang=cz&sec=i ... em&id=1433
A nejprve se pokusím zpracovat černobílou složku a pak i barevnou PAL složku video signalů.

Jenom jsem se chtěl ujistit, myslíte že tenhle http://focus.ti.com/docs/prod/folders/p ... c5540.html převodník bude stačit? Mě se zdá že 40Mega vzorků za sekundu bude až až.... :)

Uživatelský avatar
Hill
Administrátor
Administrátor
Příspěvky: 18898
Registrován: 10 zář 2004, 02:00
Bydliště: Jičín, Český ráj

#11 Příspěvek od Hill »

To abys použil převodníky dva: jeden bude samplovat jasovou složku a druhý chrominanční. Ta má šířku pásma do 1,3MHz (TV signál), třeba VHS vystačí ani ne s poloviční.
Buď se ti vyplatí PAL ani nekódovat, takže budeš brát složky R, G a B rovnou (to by ale chtělo tři převodníky), nebo vzít signály U a V a vzorkovat střídavě jen ty dva. Tedy jasový s nějakými 600-800 vzorky na řádek, chrominanční s 2x 120 až 2x 160 vzorky.
Ve formátu RGB musíš použít plnou rychlost vzorkování v každé barvě, jinak je ho škoda používat.

Uživatelský avatar
Mica
Příspěvky: 163
Registrován: 21 říj 2005, 02:00
Bydliště: Praha
Kontaktovat uživatele:

#12 Příspěvek od Mica »

Hill píše:To abys použil převodníky dva: jeden bude samplovat jasovou složku a druhý chrominanční. Ta má šířku pásma do 1,3MHz (TV signál), třeba VHS vystačí ani ne s poloviční.
Buď se ti vyplatí PAL ani nekódovat, takže budeš brát složky R, G a B rovnou (to by ale chtělo tři převodníky), nebo vzít signály U a V a vzorkovat střídavě jen ty dva. Tedy jasový s nějakými 600-800 vzorky na řádek, chrominanční s 2x 120 až 2x 160 vzorky.
Ve formátu RGB musíš použít plnou rychlost vzorkování v každé barvě, jinak je ho škoda používat.
Počkat to nechápu já si myslel že prostě normální video signál z kamery budu vzorkovat třeba furt plnou rychlostí a nirmálně tu jasovou a chrominanční složku si přebere procesor :-O

Uživatelský avatar
Hill
Administrátor
Administrátor
Příspěvky: 18898
Registrován: 10 zář 2004, 02:00
Bydliště: Jičín, Český ráj

#13 Příspěvek od Hill »

To nejde tak jednoduše - chrominanční složky jsou nejméně dvě U a V, z nich se pak maticováním získávají signály R-Y, B-Y a G-Y k "obarvení" černobílého obrazu (Y). To při dekódování.
Pro PAL to znamená, že signály U a V jsou oba amplitudově namodulované na nosnou 4,43MHz, navzájem fázově o 90° pootočené, přičemž fáze signálu V (osa zhruba od červené po modrozelenou) se ob řádek přepíná o 180°, fáze signálu U je konstantní. Správnou fázovou synchronizaci zajišťuje cca 10 period barvonosného kmitočtu umístěných v řádkovém zatemňovacím intervalu těsně za řádkovým synchronizačním impulsem. Protože chrominanční signál se vysílá s potlačenou nosnou (v černé, šedých a v bílé prostě není), musí se nosná obnovit. Nejen k tomu slouží ten synchronizační vzorek: jeho amplituda současně slouží k řízení citlivosti dekodéru a stabilizuje sytost barev.
Na to, abys softwarově z toho dostal uspokojivě informaci o barvě, budeš potřebovat podstatně víc vzorků na periodu, než nejakých 9 - to už jsme totiž na těch 40Ms/s - jinak totiž správně nevyhodnotíš ani vzájemný fázový posuv mezi signály U a V. Sice můžeš detekovat průchody barvonosné nulou a zjistit správnou fázi signálu, ale devět vzorků je málo na to, podle ní něco porovnat.
Proto máš dvě možnosti: vytáhnout barevný signál ještě před kódováním v kameře, nebo použít modul S (třeba z TVP řady C416) a jeho výstupní signály použít k řízení dekodéru barev z téže televize. Ven ti polezou signály RGB a ty už digitalizovat lze přímo. Navíc z modulu S dostaneš i řádkové a snímkové synchronizační impulsy, kterými můžeš synchronizovat ukládání dat po řádcích.

Uživatelský avatar
Crifodo
Příspěvky: 14471
Registrován: 11 říj 2005, 02:00

#14 Příspěvek od Crifodo »

k čemu vlastně ta divočina? chceš konkurovat výrobcům specializovaných video čipů?
Jestli to není špičková 3čipová kamera, je tam "barva" jen jako velice přibližný lívanec, který nemá skoro nic společného s profi PAL signálem. Podle mě to vůbec nestojí za tu námahu. Zvaž jestli by ti nestačilo pořídit webkameru s výstupem v JPEG a pak data získávat poměrně pohodlně z ukládaného souboru. Kvalita by měla být minimálně stejná, pracnost nesrovnatelně nižší. PAL TV má sice podle normy mnohem vyšší datový tok, ale nějaká kompromisní kamerka za 1-2 000 je jen slaboučkou parodií na TV signál, přičemž časové nároky jsou stejné. Jeslti to máš na digitalizaci pro robotiku atd., šel bych cestou usb nebo podobné kamery se sériovým výstupem a 640x480.

Uživatelský avatar
Mica
Příspěvky: 163
Registrován: 21 říj 2005, 02:00
Bydliště: Praha
Kontaktovat uživatele:

#15 Příspěvek od Mica »

Crifodo: Sice ty kamerky nebudou mít super ultra mega kvalitní obraz, ale mě to bude stačit (na měření vzdálenosti pomocí laseru, rozpoznání pohybu atd.). Myslim si že kamerka za 2 litry by už mohla bejt trošku kvalitní. Na to abych mohl použít nějakou webkameru, musel bych sehnat mikrokontroler, kterej by uměl USB Host. A když by se mi ho s vypětím všech sil podařilo sehnat, tak další citelná rány by byla napsat program pro USB Host. Na což opravdu nemám, tuto cestu jsem hned zavrhl.

Hill: Aha, tak budu muset zvolit jinou cestu holt.
Je tohle http://www.kacha.cz/images/modul_S.jpg zapojení modulu S?
Nějak jsem z toho schématu nepochopil co se kam připojuje :)
Myslím že by měl jít postavit, akorát se mi nepodařilo najít datasheet pro ten A255D. A ještě by mě zajímalo, zda neexistuje ještě nějaký jinný IO, který by uměl Demodulovat video signá?l :-O

Odpovědět

Zpět na „Poradna“