Afegir favorit Pàgina de conjunt
posició:Home >> Notícies >> Electró

productes Categoria

productes Etiquetes

llocs FMUSER

El sistema basat en FPGA combina dos fluxos de vídeo per proporcionar vídeo en 3D

Date:2021/10/18 21:55:31 Hits:
Introducció Els sistemes de vídeo, ja omnipresents en aplicacions de consum, són cada cop més freqüents en els dominis de l'automoció, la robòtica i la indústria. Aquest creixement en aplicacions no consumidores va ser el resultat principalment de la introducció d'un estàndard HDMI i de DSP i FPGA més ràpids i eficients. Aquest article descriu els requisits per aconseguir una visió estereoscòpica (vídeo 3D) mitjançant càmeres de vídeo analògiques o HDMI. Descriu un sistema basat en FPGA que combina dos fluxos de vídeo en un únic flux de vídeo 3D per a la transmissió mitjançant un transmissor HDMI 1.4 i un sistema basat en DSP que estalvia ample de banda DMA en comparació amb el que normalment es requereix per rebre dades de dues càmeres. A més, mostra un mètode per aconseguir un format al costat de l'altre per utilitzar-lo amb càmeres 3D o sistemes que requereixen vídeo 3D. Visió general La visió estereoscòpica requereix dues càmeres de vídeo separades per aproximadament 5.5 cm, l'espai típic entre els ulls d'una persona, tal com es mostra a la figura 1. Figura 1. Dues càmeres en un suport alineades per a una visió estereoscòpica. El diagrama de blocs d'alt nivell que es mostra a la figura 2 utilitza dues càmeres de vídeo sincronitzades que utilitzen el mateix estàndard de vídeo, dos descodificadors de vídeo i un FPGA. Per garantir la mateixa velocitat de fotogrames, les càmeres de vídeo s'han de bloquejar en línia a una referència de temps comuna. Sense sincronització, no serà possible combinar les sortides sense utilitzar memòria externa per emmagatzemar fotogrames de vídeo complets. Figura 2. Diagrama de blocs d'alt nivell. La figura 3 mostra dos fluxos de vídeo bloquejats en línia que es fusionen en una única imatge estereoscòpica. La figura 4 mostra com els fluxos de vídeo asíncrons no es poden combinar sense desar tot el fotograma de vídeo en una memòria externa. Figura 3. Combinant dos fluxos de vídeo sincronitzats. Figura 4. Els fluxos de vídeo asíncrons no es poden combinar sense utilitzar una memòria externa. A continuació, les sortides de les dues càmeres de vídeo sincronitzades es digitalitzen mitjançant descodificadors de vídeo com l'ADV7181D, ADV7182 o ADV7186 per a càmeres de vídeo analògiques; o per receptors HDMI com l'ADV7610 o ADV7611 amb càmeres de vídeo digitals. Els descodificadors de vídeo i els receptors HDMI utilitzen bucles de bloqueig de fase (PLL) interns per produir dades de rellotge i píxels als seus busos de sortida. Això significa que es generaran dos dominis de rellotge separats per a les dues càmeres quan es digitalitzi el vídeo analògic o es rebi el flux HDMI. A més, els dos fluxos de vídeo poden estar desalineats. Aquestes diferències de temps i desalineaments s'han de compensar en un dispositiu de fons com un FPGA, portant les dades a un domini de rellotge comú abans de combinar les dues imatges de vídeo en un únic fotograma de vídeo estereoscòpic. A continuació, el flux de vídeo sincronitzat s'envia a través d'un transmissor HDMI compatible amb HDMI 1.4 3D, com ara l'ADV7511 o l'ADV7513, o es pot presentar a un DSP com el processador ADSP-BF609 Blackfin®, per a un processament posterior. Arquitectures de rellotge Els descodificadors de vídeo tenen dues fonts de rellotge diferents segons si estan bloquejats o desbloquejats. Quan el PLL de vídeo està bloquejat al senyal de sincronització entrant (sincronització horitzontal per als descodificadors de vídeo o el rellotge TMDS per a HDMI), genera un rellotge que es bloqueja a la font de vídeo entrant. Quan es perd el bloqueig de vídeo o el PLL està en mode d'execució lliure forçada, el PLL de vídeo no es bloqueja al senyal de sincronització entrant i genera una sortida de rellotge que es bloqueja al rellotge de cristall. A més, el rellotge pot no sortir després del reinici, ja que el controlador del rellotge LLC està configurat en un mode d'alta impedància després del reinici. Així, si el sistema disposa de dues o més vies de vídeo des del descodificador de vídeo o receptor HDMI, tindrà dos dominis de rellotge diferents amb freqüències i fases diferents, fins i tot quan es proporcioni el mateix rellotge de cristall a dos descodificadors de vídeo o receptors HDMI, ja que cadascun. El dispositiu genera el seu propi rellotge basat en el seu propi PLL. Sistema síncron amb descodificadors de vídeo bloquejats Amb un vídeo estereoscòpic típic amb dues fonts, cadascun dels descodificadors de vídeo es bloqueja al senyal de vídeo entrant i genera el seu propi rellotge basat en la sincronització horitzontal entrant o el rellotge TMDS. Quan dues càmeres estan sincronitzades (o bloquejades en línia a la mateixa referència de temps), les línies del fotograma sempre estaran alineades. Com que els dos descodificadors de vídeo separats reben la mateixa sincronització horitzontal, els rellotges de píxels tindran la mateixa freqüència de rellotge de píxels. Això permet portar els dos camins de dades en un domini de rellotge comú, tal com es mostra a la figura 5. Figura 5. Dues càmeres de vídeo sincronitzades amb una referència comuna. Tots dos descodificadors de vídeo reben el mateix senyal de sincronització, de manera que també estan bloquejats. Tots dos descodificadors de vídeo reben el mateix senyal de sincronització, de manera que també estan bloquejats. Sistema de vídeo asíncron Malauradament, un dels descodificadors pot perdre el bloqueig a causa d'un senyal de font de vídeo de mala qualitat, tal com es mostra a la figura 6; o les càmeres poden perdre la sincronització a causa d'un enllaç de vídeo trencat, tal com es mostra a la figura 7. Això donarà lloc a freqüències diferents en els dos camins de dades, cosa que donarà lloc a una asimetria en la quantitat de dades registrades a la part posterior. Figura 6. Càmeres bloquejades en línia amb descodificadors de vídeo desbloquejats. Figura 7. Càmeres desbloquejades amb descodificador de vídeo bloquejat. El bloqueig de vídeo perdut es pot detectar mitjançant una interrupció (SD_UNLOCK per a descodificadors de vídeo SD, CP_UNLOCK per a descodificadors de vídeo de components o registres TMDSPLL_LCK en receptors HDMI) que s'activa després d'un retard. Els descodificadors de vídeo integren mecanismes per suavitzar la sincronització horitzontal inestable, de manera que la detecció de bloqueig de vídeo perdut pot prendre fins a un parell de línies. Aquest retard es pot reduir controlant el bloqueig perdut dins de l'FPGA. Mode de tres estats de rellotge Quan es dissenyen recursos de rellotge FPGA, és important saber que, per defecte, molts descodificadors de vídeo i productes HDMI posen el rellotge i les línies de dades en mode de tres estats després del restabliment. Per tant, el rellotge de píxels LLC no serà adequat per a restabliments sincrònics. Desalineació de dades en dos fluxos de vídeo Per simplificar el sistema i reduir la memòria necessària per combinar les dues imatges, les dades que arriben a l'FPGA s'han de sincronitzar de manera que el píxel Nè de la línia Mth de la primera càmera es rebi amb el píxel Nth de la Mth. línia de la segona càmera. Això pot ser difícil d'aconseguir a l'entrada de l'FPGA perquè els dos camins de vídeo poden tenir latències diferents: les càmeres bloquejades en línia poden produir línies desalineades, diferents longituds de connexió poden contribuir a la desalineació i els descodificadors de vídeo poden introduir latències d'inici variables. A causa d'aquestes latències, s'espera que un sistema amb càmeres bloquejades en línia tingui una sèrie de píxels de desalineació. Desalineació de la càmera bloquejada en línia Fins i tot les càmeres bloquejades amb línia poden emetre línies de vídeo desalineades. La figura 8 mostra els senyals de sincronització vertical de la sortida CVBS de dues càmeres. Una càmera, la mestra de sincronització, proporciona un senyal de bloqueig de línia a una segona càmera, l'esclau de sincronització. La desalineació de 380 ns és clarament visible. La figura 9 mostra les dades transmeses pels descodificadors de vídeo a les sortides d'aquestes càmeres. Es pot veure un desplaçament d'11 píxels. Figura 8. Desalineació de vídeo de 380 ns entre càmeres de vídeo bloquejades en línia. Figura 9. Desalineació de vídeo d'11 píxels no compensada al domini digital. Longituds de connexió diferents Totes les connexions elèctriques introdueixen un retard de propagació, així que assegureu-vos que ambdós camins de vídeo tinguin la mateixa longitud de pista i cable. Latències del descodificador de vídeo/receptor HDMI Tots els descodificadors de vídeo introdueixen una latència que pot variar en funció de les funcions habilitades. A més, algunes parts de vídeo contenen elements, com ara un FIFO de color profund, que poden afegir latència d'inici aleatòria. Un sistema estereoscòpic típic que utilitza descodificadors de vídeo pot tenir un retard d'inici aleatori d'uns 5 rellotges de píxels. Un sistema que conté transmissors i receptors HDMI, tal com es mostra a la figura 10, pot tenir un retard d'inici aleatori d'uns 40 rellotges de píxels. Figura 10. La canonada retarda la configuració de la mesura. Compensació de desalineació La figura 11 mostra un sistema on un senyal analògic de cada càmera es digitalitza mitjançant un descodificador de vídeo. Les dades i el rellotge estan separats per a cada camí de vídeo. Tots dos camins de vídeo estan connectats a FIFO, que emmagatzemen les dades entrants per compensar la desalineació de les dades. Quan es registren les dades, els FIFO utilitzen un rellotge comú d'un dels descodificadors. En un sistema bloquejat, els dos camins de dades haurien de tenir exactament la mateixa freqüència de rellotge, assegurant que no hi hagi cap desbordament ni desbordament de FIFO sempre que les càmeres estiguin bloquejades en línia i els descodificadors de vídeo estiguin bloquejats. En activar o desactivar les sortides FIFO, el bloc de control manté els nivells FIFO per minimitzar la desalineació dels píxels. Si la compensació es realitza correctament, la sortida del bloc FPGA hauria de ser dos camins de dades alineats amb el primer píxel. A continuació, aquestes dades es subministren a un back-end FPGA per a la producció en format 3D. Figura 11. Ús de FIFO digitals per realinear imatges de vídeo. Mesurament de la desalineació La desalineació entre dos fluxos de dades digitalitzats es pot mesurar a la sortida dels FIFO de vídeo utilitzant un comptador d'un rellotge que es reinicia al pols de sincronització vertical (VS) d'un dels senyals entrants. La figura 12 mostra dos fluxos de vídeo (vs_a_in i vs_b_in) desalineats en 4 píxels. Els comptadors mesuren la desalineació mitjançant el mètode que es mostra a la llista 1. El recompte comença a la vora ascendent de VS1 i s'atura a la vora ascendent de VS2. Si es coneix la longitud total del píxel d'un fotograma, es pot calcular el sesg negatiu (VS2 anterior a VS1) restant el valor del recompte de la longitud del fotograma. Aquest valor negatiu s'ha de calcular quan la inclinació superi la meitat de la longitud del fotograma de píxels. El resultat s'hauria d'utilitzar per alinear les dades emmagatzemades als FIFO. Figura 12. Mesura de desalineació. Llistat 1. Mesura simple de desalineació (Verilog®). mòdul misalign_measurement (restabliment del cable d'entrada, cable d'entrada clk_in, cable d'entrada vs_a_in, cable d'entrada vs_b_in, regla de sortida [15:0] desalineació, regla de sortida preparada); reg [15:0] cnt; reg cnt_en, cnt_reset; reg vs_a_in_r, vs_b_in_r; assignar vs_a_rising = vs_a_in > vs_a_in_r; assignar vs_b_rising = vs_b_in > vs_b_in_r; sempre @(posedge clk_in) begin vs_a_in_r <= vs_a_in; vs_b_in_r <= vs_b_in; final sempre @(posedge clk_in) if (reset) begin { ready, cnt_en } <= 2'b00; desalineació <= 0; end else begin if ((vs_a_in == 1'b0) && (vs_b_in == 1'b0)) { llest, cnt_reset } <= 2'b01; sinó cnt_reset <= 1'b0; /* començant */ si (vs_a_rising && vs_b_rising) comença desalineació <= 0; { llest, cnt_en } <= 2'b10; end else if ((vs_a_rising > vs_b_in) || (vs_b_rising > vs_a_in)) { llest, cnt_en } <= 2'b01; /* final */ si ((cnt_en == 1'b1) && (vs_a_rising || vs_b_rising)) comença { llest, cnt_en } <= 2'b10; desalineació <= vs_a_rising ? (-(cnt + 1)): (cnt + 1); final final sempre @(posedge clk_in) /* comptador */ if ((cnt_reset) || (reset)) cnt <= 0; else if (cnt_en) cnt <= cnt + 1; mòdul final Producció de vídeo 3D a partir de dos fluxos de vídeo alineats Una vegada que les dades de píxel, línia i fotogrames són realment sincròniques, un FPGA pot formar les dades de vídeo en un flux de vídeo 3D, tal com es mostra a la figura 13. Figura 13. Arquitectura simplificada que aconsegueix formats 3D. Les dades entrants es llegeixen a la memòria mitjançant un rellotge comú. L'analitzador de sincronització de sincronització examina els senyals de sincronització entrants i extreu la sincronització del vídeo, incloses les longituds de porxo frontal i posterior horitzontals, porxos frontals i posteriors verticals, longitud de sincronització horitzontal i vertical, longitud de línia activa horitzontal, nombre de línies actives verticals i polarització de senyals de sincronització. Passar aquesta informació al regenerador de temporització de sincronització juntament amb la ubicació actual del píxel horitzontal i vertical li permet generar un temps que s'ha modificat per adaptar-se a l'estructura de vídeo 3D desitjada. El nou temps creat s'hauria de retardar per garantir que els FIFO continguin la quantitat necessària de dades. Vídeo 3D side-by-side L'arquitectura menys exigent pel que fa a la memòria és el format side-by-side, que només requereix un buffer de 2 línies (FIFO) per emmagatzemar el contingut de les línies procedents de les dues fonts de vídeo. El format d'un costat a l'altre ha de ser el doble d'ample que el format d'entrada original. Per aconseguir-ho, s'ha d'utilitzar un rellotge duplicat per marcar el temps de sincronització regenerada amb una longitud de línia horitzontal duplicada. El rellotge duplicat que s'utilitza per marcar la part posterior buidarà el primer FIFO i després el segon FIFO a una velocitat doble, cosa que li permetrà posar imatges una al costat de l'altra, tal com es mostra a la figura 14. La imatge de costat a costat es mostra a la figura 15. Figura 14. Cosir dues imatges una al costat de l'altra mitjançant buffers de línia FPGA senzills. Figura 15. Imatge de 576p al costat de l'altre amb temps de vídeo Conclusió Els descodificadors de dispositius analògics i els productes HDMI, juntament amb un postprocessament senzill, poden crear i permetre la transmissió de vídeo 3D estereoscòpic real. Com es mostra, és possible aconseguir vídeo 3D amb blocs digitals senzills i sense memòria cara.

Deixa un missatge 

Nom *
Email *
Telèfon
Adreça
codi Mostra el codi de verificació? Feu clic a Actualitza!
Missatge
 

Llista de missatges

Comentaris Loading ...
Home| Sobre Nosaltres| Productes| Notícies| descarregar| suport| realimentació| Contacta'ns| servei

Contacte: Zoey Zhang Web: www.fmuser.net

Whatsapp / Wechat: +86 183 1924 4009

Skype: tomleequan Correu electrònic: [protegit per correu electrònic] 

Facebook: FMUSERBROADCAST Youtube: FMUSER ZOEY

Adreça en anglès: Room305, HuiLanGe, No.273 HuangPu Road West, Districte de TianHe., GuangZhou, Xina, 510620 Adreça en xinès: 广州市天河区黄埔大道西273号惠兰 (305)