Pridať obľúbené set Úvodné
pozície:Domov >> Novinky >> Elektron

výrobky Kategórie

produkty Značky

Fmuser Sites

Systém založený na FPGA kombinuje dva videostreamy na poskytovanie 3D videa

Date:2021/10/18 21:55:31 Hits:
Úvod Video systémy, ktoré sú už všadeprítomné v spotrebiteľských aplikáciách, sú čoraz rozšírenejšie v automobilovom priemysle, robotike a priemyselných oblastiach. Tento nárast nepotrebných aplikácií vyplynul predovšetkým zo zavedenia štandardu HDMI a rýchlejších a efektívnejších DSP a FPGA. Tento článok popisuje požiadavky na dosiahnutie stereoskopického videnia (3D video) pomocou analógových alebo HDMI videokamier. Popisuje systém založený na FPGA, ktorý kombinuje dva toky videa do jedného toku 3D videa na prenos cez vysielač HDMI 1.4, a systém založený na DSP, ktorý šetrí šírku pásma DMA v porovnaní s tým, čo sa bežne vyžaduje na príjem údajov z dvoch kamier. Ďalej ukazuje jeden spôsob na dosiahnutie formátu vedľa seba na použitie s 3D kamerami alebo systémami vyžadujúcimi 3D video. Všeobecný prehľad Stereoskopické videnie vyžaduje dve videokamery vzdialené približne 5.5 cm, čo je typická vzdialenosť medzi očami osoby, ako je znázornené na obrázku 1. Obrázok 1. Dve kamery na stojane zarovnané pre stereoskopické videnie. Bloková schéma vysokej úrovne zobrazená na obrázku 2 používa dve synchronizované videokamery, ktoré používajú rovnaký video štandard, dva video dekodéry a FPGA. Aby sa zabezpečila presne rovnaká snímková frekvencia, videokamery musia byť riadkovo uzamknuté na spoločnú referenciu časovania. Bez synchronizácie nebude možné kombinovať výstupy bez použitia externej pamäte na ukladanie celých snímok videa. Obrázok 2. Bloková schéma vysokej úrovne. Obrázok 3 zobrazuje dva riadkovo uzamknuté video toky, ktoré sa spájajú do jedného stereoskopického obrazu. Obrázok 4 ukazuje, ako nemožno zlúčiť asynchrónne toky videa bez uloženia celej snímky videa do externej pamäte. Obrázok 3. Zlúčenie dvoch synchronizovaných video streamov. Obrázok 4. Asynchrónne toky videa nie je možné zlúčiť bez použitia externej pamäte. Výstupy dvoch synchronizovaných videokamier sú potom digitalizované video dekodérmi, ako sú ADV7181D, ADV7182 alebo ADV7186 pre analógové videokamery; alebo pomocou prijímačov HDMI, ako sú ADV7610 alebo ADV7611 s digitálnymi videokamerami. Video dekodéry a prijímače HDMI používajú interné slučky fázového závesu (PLL) na vytváranie údajov hodín a pixelov na svojich výstupných zberniciach. To znamená, že pri digitalizácii analógového videa alebo prijímaní toku HDMI sa pre tieto dve kamery vygenerujú dve samostatné časové domény. Okrem toho môžu byť dva toky videa nesprávne zarovnané. Tieto časové rozdiely a nesúlady musia byť kompenzované v koncovom zariadení, ako je FPGA, čím sa údaje prenesú do spoločnej časovej domény pred spojením dvoch videoobrazov do jedného stereoskopického video rámca. Synchronizovaný tok videa je potom odoslaný cez HDMI vysielač s podporou HDMI 1.4 3D, ako je napríklad ADV7511 alebo ADV7513 – alebo môže byť prezentovaný do DSP, ako je procesor ADSP-BF609 Blackfin® – na ďalšie spracovanie. Architektúra taktovania Video dekodéry majú dva odlišné zdroje taktovania v závislosti od toho, či sú uzamknuté alebo odomknuté. Keď je video PLL uzamknuté na prichádzajúci synchronizačný signál – horizontálna synchronizácia pre video dekodéry alebo hodiny TMDS pre HDMI – generuje hodiny, ktoré sú uzamknuté pre prichádzajúci zdroj videa. Keď sa stratí uzamknutie videa alebo je PLL v režime núteného voľného chodu, video PLL nie je uzamknuté na prichádzajúci synchronizačný signál a generuje výstup hodín, ktorý je uzamknutý ku krištáľovým hodinám. Okrem toho sa po resetovaní nemusia spustiť výstup hodín, pretože ovládač hodín LLC je po resetovaní nastavený na režim vysokej impedancie. Ak má teda systém dve alebo viac obrazových ciest z video dekodéra alebo prijímača HDMI, bude mať dve rôzne časové domény s rôznymi frekvenciami a fázami, a to aj vtedy, keď sú rovnaké kryštálové hodiny poskytnuté dvom video dekodérom alebo prijímačom HDMI, pretože každý zariadenie generuje svoje vlastné hodiny na základe vlastného PLL. Synchrónny systém s uzamknutými video dekodérmi Pri typickom stereoskopickom videu využívajúcom dva zdroje sa každý z video dekodérov uzamkne na prichádzajúci video signál a generuje svoje vlastné hodiny na základe prichádzajúcej horizontálnej synchronizácie alebo hodín TMDS. Keď sú dve kamery synchronizované – alebo sú riadkové uzamknuté na rovnakú časovú referenciu – čiary snímky budú vždy zarovnané. Pretože dva samostatné video dekodéry prijímajú rovnakú horizontálnu synchronizáciu, takty pixelov budú mať rovnakú frekvenciu pixelov. To umožňuje priviesť dve dátové cesty do spoločnej časovej domény, ako je znázornené na obrázku 5. Obrázok 5. Dve videokamery synchronizované so spoločnou referenciou. Oba video dekodéry prijímajú rovnaký synchronizačný signál, takže sú tiež uzamknuté. Oba video dekodéry prijímajú rovnaký synchronizačný signál, takže sú tiež uzamknuté. Asynchrónny video systém Žiaľ, jeden z dekodérov môže stratiť uzamknutie v dôsledku nízkej kvality signálu zdroja videa, ako je znázornené na obrázku 6; alebo kamery môžu stratiť synchronizáciu v dôsledku nefunkčného video spojenia, ako je znázornené na obrázku 7. To povedie k rôznym frekvenciám v dvoch dátových cestách, čo potom povedie k asymetrii v množstve dát taktovaných do back-endu. Obrázok 6. Riadkovo uzamknuté kamery s odomknutými video dekodérmi. Obrázok 7. Odomknuté kamery s uzamknutým video dekodérom. Stratu uzamknutia videa možno zistiť pomocou prerušenia (SD_UNLOCK pre dekodéry videa SD, CP_UNLOCK pre dekodéry komponentného videa alebo registre TMDSPLL_LCK v prijímačoch HDMI), ktoré sa spustí po oneskorení. Video dekodéry integrujú mechanizmy na vyhladenie nestabilnej horizontálnej synchronizácie, takže detekcia strateného zámku videa môže trvať až niekoľko riadkov. Toto oneskorenie možno znížiť riadením strateného zámku v rámci FPGA. Režim Tri-State hodín Pri navrhovaní zdrojov taktovania FPGA je dôležité vedieť, že mnohé video dekodéry a produkty HDMI štandardne prepínajú hodiny a dátové linky po resetovaní do trojstavového režimu. Hodiny pixelov LLC teda nebudú vhodné na synchrónne resety. Nesprávne zarovnanie údajov v dvoch tokoch videa Aby sa zjednodušil systém a zmenšila sa pamäť potrebná na spojenie dvoch obrázkov, údaje prichádzajúce do FPGA by sa mali synchronizovať tak, aby N-tý pixel M-tého riadku z prvej kamery bol prijatý s N-tým pixelom M-tého riadok z druhej kamery. To môže byť ťažké dosiahnuť na vstupe FPGA, pretože dve obrazové cesty môžu mať rôzne latencie: riadkové kamery môžu mať na výstupe nesprávne zarovnané riadky, rôzne dĺžky pripojenia môžu prispieť k nesprávnemu zarovnaniu a video dekodéry môžu zaviesť premenlivé latencie pri spustení. Kvôli týmto oneskoreniam sa očakáva, že systém s kamerami s blokovaním riadkov bude mať niekoľko pixelov nesprávne zarovnaných. Nesprávne zarovnanie kamery so zamknutým riadkom Dokonca aj kamery s uzamknutím riadka môžu mať na výstupe nesprávne zarovnané obrazové riadky. Obrázok 8 zobrazuje vertikálne synchronizačné signály z výstupu CVBS dvoch kamier. Jedna kamera, synchronizačná hlavná, poskytuje signál na uzamknutie linky druhej kamere, synchronizačnej podriadenej. Vychýlenie 380 ns je jasne viditeľné. Obrázok 9 zobrazuje údaje prenášané video dekodérmi na výstupoch týchto kamier. Je vidieť 11-pixelový posun. Obrázok 8. Nesúlad 380 ns videa medzi videokamerami s uzamknutým riadkom. Obrázok 9. Nekompenzované nesprávne zarovnanie 11-pixelového videa v digitálnej doméne. Rôzne dĺžky pripojení Všetky elektrické pripojenia spôsobujú oneskorenie šírenia, preto sa uistite, že obe video cesty majú rovnakú dĺžku stopy a káblov. Latencie video dekodéra/HDMI prijímača Všetky video dekodéry majú latenciu, ktorá sa môže meniť v závislosti od povolených funkcií. Niektoré časti videa navyše obsahujú prvky, ako napríklad FIFO s hlbokými farbami, ktoré môžu pridať náhodnú latenciu spustenia. Typický stereoskopický systém využívajúci video dekodéry môže mať náhodné spustenie oneskorenia približne 5 pixelových hodín. Systém obsahujúci vysielače a prijímače HDMI, ako je znázornené na obrázku 10, môže mať náhodné spustenie oneskorenia približne 40 pixelov. Obrázok 10. Potrubie oneskoruje nastavenie merania. Kompenzácia nesprávneho nastavenia Obrázok 11 zobrazuje systém, v ktorom je analógový signál z každej kamery digitalizovaný video dekodérom. Údaje a hodiny sú oddelené pre každú video cestu. Obidve video cesty sú pripojené k FIFO, ktoré vyrovnávajú prichádzajúce dáta, aby kompenzovali nesúlad dát. Pri taktovaní dát používajú FIFO spoločné hodiny z jedného z dekodérov. V uzamknutom systéme by dve dátové cesty mali mať presne rovnakú taktovaciu frekvenciu, aby sa zabezpečilo, že žiadne FIFO nepretečie alebo nedosiahne, pokiaľ sú kamery uzamknuté a video dekodéry sú uzamknuté. Povolením alebo zakázaním výstupov FIFO riadiaci blok udržiava úrovne FIFO, aby sa minimalizovalo nesprávne zarovnanie pixelov. Ak je kompenzácia vykonaná správne, výstupom bloku FPGA by mali byť dve dátové cesty zarovnané s úplne prvým pixelom. Tieto údaje sa potom dodajú do zadnej časti FPGA na výrobu 3D formátu. Obrázok 11. Použitie digitálnych FIFO na opätovné zarovnanie videa. Meranie nesprávneho zarovnania Nesúlad medzi dvoma digitalizovanými dátovými tokmi možno merať na výstupe video FIFO pomocou jednohodinového počítadla, ktoré sa resetuje pri impulze vertikálnej synchronizácie (VS) jedného z prichádzajúcich signálov. Obrázok 12 zobrazuje dva toky videa (vs_a_in a vs_b_in) nesprávne zarovnané o 4 pixely. Počítadlá merajú vychýlenie pomocou metódy uvedenej v zozname 1. Počítanie začína na stúpajúcej hrane VS1 a končí na stúpajúcej hrane VS2. Ak je známa celková dĺžka pixlov snímky, záporné zošikmenie (VS2 pred VS1) možno vypočítať odčítaním hodnoty počtu od dĺžky snímky. Táto záporná hodnota by sa mala vypočítať, keď zošikmenie presiahne polovicu dĺžky rámca pixelov. Výsledok by sa mal použiť na opätovné zarovnanie údajov uložených vo FIFO. Obrázok 12. Meranie nesúosovosti. Výpis 1. Jednoduché meranie nesúosovosti (Verilog®). modul misalign_measurement( vstupný vodič reset, vstupný vodič clk_in, vstupný vodič vs_a_in, vstupný vodič vs_b_in, výstupná regulácia [15:0] nesprávne zarovnanie, výstupná regulácia pripravená); reg [15:0] cnt; reg cnt_en, cnt_reset; reg vs_a_in_r, vs_b_in_r; priradiť vs_a_rising = vs_a_in > vs_a_in_r; priradiť vs_b_rising = vs_b_in > vs_b_in_r; vždy @(posedge clk_in) begin vs_a_in_r <= vs_a_in; vs_b_in_r <= vs_b_in; end always @(posedge clk_in) if (reset) begin { ready, cnt_en } <= 2'b00; nesprávne zarovnanie <= 0; end else begin if ((vs_a_in == 1'b0) && (vs_b_in == 1'b0)) { ready, cnt_reset } <= 2'b01; else cnt_reset <= 1'b0; /* začiatok */ if (vs_a_rising && vs_b_rising) begin misalign <= 0; { ready, cnt_en } <= 2'b10; end else if ((vs_a_rising > vs_b_in) || (vs_b_rising > vs_a_in)) { ready, cnt_en } <= 2'b01; /* koncovka */ if ((cnt_en == 1'b1) && (vs_a_rising || vs_b_rising)) begin { ready, cnt_en } <= 2'b10; nesprávne zarovnanie <= vs_a_rising ? (-(cnt + 1)): (cnt + 1); end end always @(posedge clk_in) /* counter */ if ((cnt_reset) || (reset)) cnt <= 0; else if (cnt_en) cnt <= cnt + 1; endmodule Produkcia 3D videa z dvoch zarovnaných video streamov Akonáhle sú dáta pixelov, riadkov a snímok skutočne synchrónne, FPGA môže formovať video dáta do 3D video streamu, ako je znázornené na obrázku 13. Obrázok 13. Zjednodušená architektúra, ktorá dosahuje 3D formáty. Prichádzajúce dáta sú načítané do pamäte bežnými hodinami. Analyzátor synchronizačného časovania skúma prichádzajúce synchronizačné signály a extrahuje časovanie videa, vrátane horizontálnych dĺžok prednej a zadnej verandy, vertikálnej prednej a zadnej verandy, horizontálnej a vertikálnej synchronizačnej dĺžky, horizontálnej aktívnej dĺžky linky, počtu vertikálnych aktívnych liniek a polarizácie synchronizačné signály. Odovzdanie týchto informácií regenerátoru synchronizačného časovania spolu s aktuálnym horizontálnym a vertikálnym umiestnením pixelov mu umožňuje vygenerovať časovanie, ktoré bolo upravené tak, aby vyhovovalo požadovanej štruktúre 3D videa. Novovytvorené časovanie by sa malo odložiť, aby sa zabezpečilo, že FIFO obsahujú požadované množstvo údajov. Side-by-Side 3D video Najmenej náročnou architektúrou z hľadiska pamäte je side-by-side formát, ktorý vyžaduje iba 2-riadkovú vyrovnávaciu pamäť (FIFO) na ukladanie obsahu riadkov z oboch zdrojov videa. Formát vedľa seba by mal byť dvakrát tak široký ako pôvodný prichádzajúci formát. Aby sa to dosiahlo, mali by sa použiť zdvojené hodiny na taktovanie regenerovaného synchronizačného časovania s dvojnásobnou dĺžkou horizontálnej čiary. Zdvojené hodiny používané na taktovanie zadnej časti vyprázdnia prvé FIFO a potom druhé FIFO dvojnásobnou rýchlosťou, čo umožňuje umiestniť obrázky vedľa seba, ako je znázornené na obrázku 14. Obrázok vedľa seba je znázornený na obrázku 15. Obrázok 14. Spojenie dvoch obrázkov vedľa seba pomocou jednoduchých vyrovnávacích pamätí FPGA. Obrázok 15. Obraz vedľa seba v rozlíšení 576p s časovaním videa Záver Dekodéry Analog Devices a produkty HDMI spolu s jednoduchým postprocesingom dokážu vytvoriť a umožniť prenos skutočného stereoskopického 3D videa. Ako je znázornené, je možné dosiahnuť 3D video pomocou jednoduchých digitálnych blokov a bez drahej pamäte.

Zanechajte správu 

Meno *
E-mail *
Telefón
adresa
kód Pozri overovací kód? Kliknite na tlačidlo Aktualizovať!
správa
 

zoznam správ

Komentáre Loading ...
Domov| O nás| Produkty| Novinky| Stiahnuť ▼| Podpora| spätná väzba| Kontaktujte nás| Služba sa

Kontakt: Zoey Zhang Web: www.fmuser.net

WhatsApp / Wech: +86 183 1924 4009

Skype: tomleequan E-mail: [chránené e-mailom] 

Facebook: FMUSERBROADCAST Youtube: FMUSER ZOEY

Adresa v angličtine: Room305, HuiLanGe, No.273 HuangPu Road West, District TianHe., GuangZhou, Čína, 510620 Adresa v čínštine: 广州市天河区黄埔大道西273(305号惠)