Kedvenc hozzáadása set Homepage
Pozíció:Kezdőlap >> Hírek >> Elektron

termékek kategória

termékek Címkék

Fmuser Sites

Az FPGA-alapú rendszer két videófolyamot egyesít, hogy 3D-s videót biztosítson

Date:2021/10/18 21:55:31 Hits:
Bevezetés A videorendszerek, amelyek már mindenhol jelen vannak a fogyasztói alkalmazásokban, egyre inkább elterjedtek az autóiparban, a robotikában és az ipari területeken. A nem fogyasztói alkalmazások irányába történő növekedés elsősorban a HDMI-szabvány, valamint a gyorsabb, hatékonyabb DSP-k és FPGA-k bevezetésének köszönhető. Ez a cikk felvázolja a sztereoszkópikus látás (3D videó) elérésének követelményeit analóg vagy HDMI videokamerákkal. Egy FPGA-alapú rendszert ír le, amely két videofolyamot egyetlen 3D-s videofolyamban egyesít a HDMI 1.4-es adón keresztül történő átvitelhez, valamint egy DSP-alapú rendszert, amely megtakarítja a DMA sávszélességet ahhoz képest, amely általában két kamera adatvételéhez szükséges. Ezen túlmenően egy módszert mutat be egymás melletti formátum elérésére 3D kamerákkal vagy 3D videót igénylő rendszerekkel való használatra. Általános áttekintés A sztereoszkópikus látáshoz két videokamerára van szükség, amelyeket körülbelül 5.5 cm-re választanak el egymástól, ami az 1. ábrán látható, a szemek közötti tipikus távolság. Ábra 1. Két kamera állványon a sztereoszkópikus látás érdekében. A 2. ábrán látható magas szintű blokkdiagram két szinkronizált videokamerát használ, amelyek ugyanazt a videó szabványt használják, két videó dekódert és egy FPGA-t. A pontosan azonos képfrissítési sebesség biztosítása érdekében a videokamerákat egy közös időreferenciára kell rögzíteni. Szinkronizálás nélkül nem lehetséges a kimenetek kombinálása külső memória használata nélkül a teljes videokockák tárolására. Ábra 2. Magas szintű blokkdiagram. A 3. ábra két sorzárolt videofolyamot egyetlen sztereoszkópikus képpé egyesít. A 4. ábra azt mutatja, hogy az aszinkron videofolyamokat hogyan nem lehet egyesíteni anélkül, hogy a teljes videokockát külső memóriába mentenék. Ábra 3. Két szinkronizált videofolyam összevonása. Ábra 4. Az aszinkron videofolyamok nem egyesíthetők külső memória használata nélkül. A két szinkronizált videokamera kimenetét ezután olyan videódekóderek digitalizálják, mint az ADV7181D, ADV7182 vagy ADV7186 az analóg videokamerákhoz; vagy HDMI-vevőkészülékekkel, például ADV7610 vagy ADV7611 digitális videokamerával. A videodekódolók és a HDMI-vevők belső fáziszárt hurkokat (PLL-eket) használnak az órajel- és pixeladatok előállítására a kimeneti buszokon. Ez azt jelenti, hogy az analóg videó digitalizálása vagy a HDMI adatfolyam vételekor a két kamera számára két külön óratartomány jön létre. Sőt, a két videofolyam hibás lehet. Ezeket az időzítési különbségeket és eltolódásokat kompenzálni kell egy háttéreszközben, például egy FPGA-ban, amely az adatokat egy közös óratartományba helyezi, mielőtt a két videoképet egyetlen sztereoszkópikus videókockában egyesítené. A szinkronizált videofolyamot ezután egy HDMI 1.4 3D-kompatibilis HDMI-adón, például ADV7511-en vagy ADV7513-on keresztül továbbítják – vagy bemutathatják egy DSP-nek, például az ADSP-BF609 Blackfin® processzornak – további feldolgozás céljából. Órajelezési architektúrák A videodekódereknek két különböző órajelforrása van attól függően, hogy zárva vagy feloldva vannak-e. Ha a videó PLL zárolva van a bejövő szinkronizációs jelhez – vízszintes szinkron a videodekóderekhez vagy a TMDS órához a HDMI-hez –, akkor olyan órát generál, amely a bejövő videoforráshoz van zárva. Ha a videózár elveszik, vagy a PLL kényszerített szabadfutási módban van, a videó PLL nincs rögzítve a bejövő szinkronjelhez, és egy órakimenetet generál, amely a kristályórához van zárva. Ezenkívül előfordulhat, hogy az óra nem jelenik meg alaphelyzetbe állítás után, mivel az LLC óra-illesztőprogramja nagy impedanciájú üzemmódba van állítva a visszaállítás után. Így, ha a rendszernek két vagy több videoútja van a videodekódertől vagy a HDMI-vevőtől, akkor két különböző óratartománya lesz különböző frekvenciákkal és fázisokkal, még akkor is, ha ugyanazt a kristályórát két videodekóder vagy HDMI-vevőegység biztosítja. Az eszköz saját PLL-je alapján állítja elő a saját órát. Szinkron rendszer zárolt videodekóderekkel A tipikus sztereoszkópikus videónál két forrást használva mindegyik videodekóder a bejövő videojelhez kapcsolódik, és saját órát generál a bejövő vízszintes szinkron vagy TMDS óra alapján. Ha két kamera van szinkronizálva – vagy vonalzárolásra kerül ugyanahhoz az időreferenciához – a keretvonalak mindig igazodnak. Mivel a két különálló videó dekóder ugyanazt a vízszintes szinkront kapja, a pixelórák azonos pixel órajel-frekvenciájúak lesznek. Ez lehetővé teszi, hogy a két adatút egy közös óratartományba kerüljön, amint azt az 5. ábra mutatja. Ábra 5. Két videokamera egy közös referenciához szinkronizálva. Mindkét videó dekóder ugyanazt a szinkronjelet kapja, tehát zárolva is vannak. Mindkét videó dekóder ugyanazt a szinkronjelet kapja, tehát zárolva is vannak. Aszinkron videórendszer Sajnos az egyik dekóder elveszítheti a zárolást a rossz minőségű videoforrás jel miatt, amint az a 6. ábrán látható; vagy a kamerák elveszíthetik a szinkronizálást egy megszakadt videokapcsolat miatt, ahogy az a 7. ábrán látható. Ez különböző frekvenciákhoz vezet a két adatútban, ami aztán aszimmetriához vezet a háttérbe órajelezett adatmennyiségben. Ábra 6. Vonalzáras kamerák feloldott videó dekóderekkel. Ábra 7. Feloldott kamerák zárolt videó dekóderrel. A videózár elvesztése egy késleltetés után fellépő megszakítással észlelhető (SD_UNLOCK SD videó dekódereknél, CP_UNLOCK komponens videó dekódereknél vagy TMDSPLL_LCK regiszterek HDMI vevőknél). A videodekóderek olyan mechanizmusokat integrálnak, amelyek kisimítják az instabil vízszintes szinkronizálást, így az elveszett videózár észlelése akár néhány sort is igénybe vehet. Ez a késleltetés csökkenthető az elveszett zárolás szabályozásával az FPGA-n belül. Clock Tri-State Mode Az FPGA órajel-erőforrások tervezésekor fontos tudni, hogy alapértelmezés szerint sok videodekóder és HDMI termék az órát és az adatvonalakat háromállapotú üzemmódba állítja visszaállítás után. Így az LLC pixel órajele nem lesz alkalmas szinkron visszaállításra. Adathibák két videofolyamban A rendszer egyszerűsítése és a két kép kombinálásához szükséges memória csökkentése érdekében az FPGA-t elérő adatokat úgy kell szinkronizálni, hogy az első kamera M-edik vonalának N-edik pixelét fogadja az M-edik N-edik pixelével. vonalat a második kamera. Ezt nehéz lehet elérni az FPGA bemenetén, mert a két videoútnak eltérő késleltetési ideje lehet: a vonalzáras kamerák hibás vonalakat bocsáthatnak ki, a különböző csatlakozási hosszúságok hozzájárulhatnak az eltolódáshoz, a videodekóderek pedig változó indítási késleltetést vezethetnek be. Ezen késleltetések miatt várható, hogy a vonalzáras kamerákkal rendelkező rendszerekben számos pixel eltolódása lesz. Vonalzárolt kamera elcsúszása Még a vonalra zárt kamerák is hibásan igazított videovonalakat adnak ki. A 8. ábra két kamera CVBS kimenetének függőleges szinkronjeleit mutatja. Az egyik kamera, a sync master vonalzár jelet ad a második kamerának, a szinkronizálónak. Jól látható a 380 ns-os eltérés. A 9. ábra a videodekóderek által e kamerák kimenetein továbbított adatokat mutatja. 11 pixeles eltolódás látható. Ábra 8. 380 ns-os videó eltolása a vonalzáras videokamerák között. Ábra 9. Kompenzálatlan 11 pixeles videó illesztési eltérés a digitális tartományban. Különböző csatlakozási hosszak Minden elektromos csatlakozás terjedési késleltetést okoz, ezért ügyeljen arra, hogy mindkét videóút azonos sáv- és kábelhosszú legyen. Videodekóder/HDMI-vevő késések Minden videodekóder késleltetést alkalmaz, amely az engedélyezett szolgáltatásoktól függően változhat. Ezenkívül egyes videorészek olyan elemeket tartalmaznak – például egy mély színű FIFO-t –, amelyek véletlenszerű indítási késleltetést adhatnak. A videodekódereket használó tipikus sztereoszkópikus rendszerek véletlenszerű indítási késleltetése körülbelül 5 pixeles órajel lehet. A 10. ábrán látható, HDMI adókat és vevőket tartalmazó rendszer véletlenszerű indítási késleltetése körülbelül 40 pixeles órajel lehet. Ábra 10. A csővezeték késlelteti a mérés beállítását. Eltérés kompenzációja A 11. ábra egy olyan rendszert mutat be, ahol az egyes kamerák analóg jelét egy videodekóder digitalizálja. Az adatok és az óra külön minden videóúthoz tartozik. Mindkét videoút FIFO-khoz csatlakozik, amelyek pufferelik a bejövő adatokat, hogy kompenzálják az adatok eltolódását. Az adatok kiszűrésekor a FIFO-k egy közös órát használnak az egyik dekóderről. Zárolt rendszerben a két adatútnak pontosan azonos órajel-frekvenciával kell rendelkeznie, biztosítva, hogy a FIFO ne legyen túlcsordulás vagy alulcsordulás mindaddig, amíg a kamerák vonalzárak és a videodekóderek zárva vannak. A FIFO-kimenetek engedélyezésével vagy letiltásával a vezérlőblokk fenntartja a FIFO-szinteket, hogy minimalizálja a pixel-eltolódást. Ha a kompenzációt megfelelően hajtják végre, az FPGA blokk kimenetének két adatútnak kell lennie, amelyek a legelső pixelhez vannak igazítva. Az adatok ezután egy FPGA-háttérbe kerülnek 3D formátumú gyártáshoz. Ábra 11. Digitális FIFO-k használata a videoképek átigazításához. Eltérés mérése Két digitalizált adatfolyam közötti eltolódás mérhető a videó FIFO kimenetén egy egyórás számláló segítségével, amely az egyik bejövő jel vertikális szinkron (VS) impulzusa alapján nullázódik. A 12. ábra két videofolyamot (vs_a_in és vs_b_in) mutat be 4 képponttal elcsúszva. A számlálók az 1. listában bemutatott módszerrel mérik az eltolódást. A számlálás a VS1 felfutó élén kezdődik és a VS2 felfutó élén áll le. Ha egy képkocka teljes pixelhossza ismert, akkor a negatív ferdeség (VS2 megelőzi a VS1-et) úgy számítható ki, hogy a számlálási értéket kivonjuk a keret hosszából. Ezt a negatív értéket akkor kell kiszámítani, ha a ferdeség meghaladja a pixel kerethosszának felét. Az eredményt fel kell használni a FIFO-kban tárolt adatok újraigazításához. Ábra 12. Eltérés mérése. Listázás 1. Egyszerű eltolásmérés (Verilog®). modul misalign_measurement( bemeneti vezeték alaphelyzetbe állítása, bemeneti vezeték clk_in, bemeneti vezeték vs_a_in, bemeneti vezeték vs_b_in, kimeneti reg [15:0] rosszul igazítás, kimeneti reg. kész); reg [15:0] cnt; reg cnt_en, cnt_reset; reg vs_a_in_r, vs_b_in_r; hozzárendelés vs_a_rising = vs_a_in > vs_a_in_r; hozzárendelés vs_b_rising = vs_b_in > vs_b_in_r; mindig @(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; rosszul igazodik <= 0; end else begin if ((vs_a_in == 1'b0) && (vs_b_in == 1'b0)) { kész, cnt_reset } <= 2'b01; else cnt_reset <= 1'b0; /* kezdete */ if (vs_a_rising && vs_b_rising) begin misalign <= 0; { kész, cnt_en } <= 2'b10; end else if ((vs_a_rising > vs_b_in) || (vs_b_rising > vs_a_in)) { ready, cnt_en } <= 2'b01; /* végződése */ if ((cnt_en == 1'b1) && (vs_a_rising || vs_b_rising)) begin { ready, cnt_en } <= 2'b10; rosszul igazodik <= vs_a_rising ? (-(cnt + 1)) : (cnt + 1); vége vége mindig @(posedge clk_in) /* számláló */ if ((cnt_reset) || (reset)) cnt <= 0; else if (cnt_en) cnt <= cnt + 1; endmodule 3D videó előállítása két egymáshoz igazított videofolyamból Ha a pixel-, vonal- és képkockaadatok valóban szinkronban vannak, az FPGA képes a videoadatokat 3D-s videófolyammá alakítani, amint az a 13. ábrán látható. Ábra 13. Egyszerűsített architektúra, amely 3D formátumokat tesz lehetővé. A bejövő adatokat egy közös óra olvassa be a memóriába. A szinkronidőzítés-elemző megvizsgálja a bejövő szinkronizációs jeleket, és kivonja a videó időzítését, beleértve a vízszintes elülső és hátsó tornácok hosszát, a függőleges elülső és hátsó tornácokat, a vízszintes és függőleges szinkronhosszt, a vízszintes aktív vonal hosszát, a függőleges aktív vonalak számát és a polarizációt. szinkronjelek. Ha átadja ezt az információt a szinkronizálási időzítési regenerátornak, az aktuális vízszintes és függőleges pixelhellyel együtt, lehetővé teszi, hogy olyan időzítést hozzon létre, amelyet módosítottak a kívánt 3D-s videószerkezethez. Az újonnan létrehozott időzítést késleltetni kell, hogy a FIFO-k a szükséges mennyiségű adatot tartalmazzák. Side-by-Side 3D Video A memória szempontjából a legkevésbé igényes architektúra a side-by-side formátum, amely csak egy 2 soros puffert (FIFO) igényel a mindkét videóforrásból érkező sorok tartalmának tárolására. Az egymás melletti formátum kétszer olyan széles, mint az eredeti bejövő formátum. Ennek eléréséhez duplázott órát kell használni a regenerált szinkronidőzítés órajelére, megkétszerezett vízszintes vonalhosszúsággal. A hátsó rész órajelére használt megkettőzött óra dupla sebességgel üríti ki az első FIFO-t, majd a második FIFO-t, lehetővé téve a képek egymás mellé helyezését, amint az a 14. ábrán látható. Az egymás melletti kép a 15. ábrán látható. Ábra 14. Két kép egymás mellé fűzése egyszerű FPGA vonalpufferek segítségével. Ábra 15. Egymás melletti 576p kép videoidőzítéssel Következtetés Az Analog Devices dekóderek és HDMI-termékek az egyszerű utófeldolgozással valódi sztereoszkópikus 3D videó átvitelét hozhatják létre és teszik lehetővé. Mint látható, egyszerű digitális blokkokkal és drága memória nélkül is lehet 3D-s videót készíteni.

Hagyjon üzenetet 

Név *
E-mail *
WhatsApp/Viber
Székhely
Kód Lásd az ellenőrző kódot? Kattintson frissíteni!
Üzenet
 

Üzenetlista

Hozzászólások Loading ...
Kezdőlap| Rólunk| Termékek| Hírek| Letöltés| Támogatás| Visszacsatolás| Kapcsolatba lép velünk| szolgáltatás

Kapcsolat: Zoey Zhang Web: www.fmuser.net

WhatsApp / Wechat: + 86 183 1924 4009

Skype: tomleequan E-mail: [e-mail védett] 

Facebook: FMUSERBROADCAST Youtube: FMUSER ZOEY

Cím angolul: Room305, HuiLanGe, No.273 HuangPu Road West, TianHe District., Guangzhou, China, 510620 Cím kínaiul: 广州市天河区黄埔大道西273尷栘)