पसंदीदा जोड़ें सेट मुख
पद:होम >> समाचार >> इलेक्ट्रान

उत्पाद श्रेणी

उत्पाद टैग

Fmuser साइटें

FPGA- आधारित प्रणाली 3D वीडियो प्रदान करने के लिए दो वीडियो स्ट्रीम को जोड़ती है

Date:2021/10/18 21:55:31 Hits:
परिचय वीडियो सिस्टम, जो पहले से ही उपभोक्ता अनुप्रयोगों में सर्वव्यापी हैं, ऑटोमोटिव, रोबोटिक्स और औद्योगिक डोमेन में तेजी से प्रचलित हैं। गैर-उपभोक्ता अनुप्रयोगों में यह वृद्धि मुख्य रूप से एक एचडीएमआई मानक और तेज, अधिक कुशल डीएसपी और एफपीजीए की शुरूआत के परिणामस्वरूप हुई। यह लेख एनालॉग या एचडीएमआई वीडियो कैमरों का उपयोग करके त्रिविम दृष्टि (3 डी वीडियो) प्राप्त करने की आवश्यकताओं की रूपरेखा तैयार करता है। यह एक FPGA-आधारित सिस्टम का वर्णन करता है जो दो वीडियो स्ट्रीम को एक HDMI 3 ट्रांसमीटर के माध्यम से ट्रांसमिशन के लिए एक 1.4D वीडियो स्ट्रीम में जोड़ता है, और एक DSP-आधारित सिस्टम जो दो कैमरों से डेटा प्राप्त करने के लिए सामान्य रूप से आवश्यक की तुलना में DMA बैंडविड्थ को बचाता है। इसके अलावा, यह 3D कैमरों या 3D वीडियो की आवश्यकता वाले सिस्टम के साथ उपयोग के लिए एक साथ-साथ प्रारूप प्राप्त करने के लिए एक विधि दिखाता है। सामान्य अवलोकन स्टीरियोस्कोपिक दृष्टि के लिए दो वीडियो कैमरों की आवश्यकता होती है, जो लगभग 5.5 सेमी की दूरी पर होते हैं, जो किसी व्यक्ति की आंखों के बीच की विशिष्ट दूरी है, जैसा कि चित्र 1 में दिखाया गया है। चित्रा 1। एक स्टैंड पर दो कैमरे त्रिविम दृष्टि के लिए संरेखित हैं। चित्र 2 में दिखाया गया उच्च-स्तरीय ब्लॉक आरेख दो सिंक्रनाइज़ वीडियो कैमरों का उपयोग करता है जो समान वीडियो मानक, दो वीडियो डिकोडर और एक FPGA का उपयोग करते हैं। ठीक उसी फ्रेम दर को सुनिश्चित करने के लिए, वीडियो कैमरों को एक सामान्य समय संदर्भ के लिए लाइन-लॉक किया जाना चाहिए। सिंक्रोनाइज़ेशन के बिना, संपूर्ण वीडियो फ़्रेम को संग्रहीत करने के लिए बाहरी मेमोरी का उपयोग किए बिना आउटपुट को संयोजित करना संभव नहीं होगा। चित्रा 2। उच्च स्तरीय ब्लॉक आरेख। चित्र 3 में दो लाइन-लॉक वीडियो स्ट्रीम को एक एकल त्रिविम छवि में मिलाते हुए दिखाया गया है। चित्र 4 दिखाता है कि कैसे संपूर्ण वीडियो फ़्रेम को बाहरी मेमोरी में सहेजे बिना एसिंक्रोनस वीडियो स्ट्रीम को मर्ज नहीं किया जा सकता है। चित्रा 3। दो समकालिक वीडियो स्ट्रीम को मर्ज करना। चित्रा 4। बाहरी मेमोरी का उपयोग किए बिना एसिंक्रोनस वीडियो स्ट्रीम को मर्ज नहीं किया जा सकता है। दो सिंक्रोनाइज़्ड वीडियो कैमरों के आउटपुट को तब वीडियो डिकोडर द्वारा डिजिटाइज़ किया जाता है जैसे कि ADV7181D, ADV7182, या ADV7186 एनालॉग वीडियो कैमरों के लिए; या डिजिटल वीडियो कैमरों के साथ एडीवी7610 या एडीवी7611 जैसे एचडीएमआई रिसीवर द्वारा। वीडियो डिकोडर और एचडीएमआई रिसीवर अपनी आउटपुट बसों में घड़ी और पिक्सेल डेटा का उत्पादन करने के लिए आंतरिक चरण-लॉक लूप (पीएलएल) का उपयोग करते हैं। इसका मतलब यह है कि एनालॉग वीडियो को डिजिटाइज़ करते समय या एचडीएमआई स्ट्रीम प्राप्त करते समय दो कैमरों के लिए दो अलग-अलग क्लॉक डोमेन जेनरेट किए जाएंगे। इसके अलावा, दो वीडियो स्ट्रीम को गलत संरेखित किया जा सकता है। समय के इन अंतरों और गलत संरेखण की भरपाई एक बैक-एंड डिवाइस जैसे कि FPGA में की जानी चाहिए, दो वीडियो चित्रों को एक एकल स्टीरियोस्कोपिक वीडियो फ्रेम में संयोजित करने से पहले डेटा को एक सामान्य घड़ी डोमेन में लाना चाहिए। फिर सिंक्रनाइज़ किए गए वीडियो स्ट्रीम को ADV1.4 या ADV3 जैसे HDMI 7511 7513D-सक्षम HDMI ट्रांसमीटर के माध्यम से भेजा जाता है - या इसे आगे की प्रक्रिया के लिए ADSP-BF609 Blackfin® प्रोसेसर जैसे DSP को प्रस्तुत किया जा सकता है। क्लॉकिंग आर्किटेक्चर वीडियो डिकोडर के पास दो अलग-अलग क्लॉकिंग स्रोत होते हैं जो इस बात पर निर्भर करते हैं कि वे लॉक हैं या अनलॉक हैं। जब वीडियो पीएलएल इनकमिंग सिंक्रोनाइज़ेशन सिग्नल-वीडियो डिकोडर के लिए हॉरिज़ॉन्टल सिंक या एचडीएमआई के लिए टीएमडीएस क्लॉक पर लॉक हो जाता है, तो यह एक ऐसी घड़ी जेनरेट करता है जो आने वाले वीडियो सोर्स पर लॉक हो जाती है। जब वीडियो लॉक खो जाता है, या पीएलएल जबरन फ्री-रन मोड में होता है, तो वीडियो पीएलएल आने वाले सिंक्रनाइज़ेशन सिग्नल पर लॉक नहीं होता है और यह एक घड़ी आउटपुट उत्पन्न करता है जो क्रिस्टल घड़ी में लॉक होता है। इसके अलावा, रीसेट के बाद घड़ी आउटपुट नहीं हो सकती है क्योंकि एलएलसी क्लॉक ड्राइवर रीसेट के बाद उच्च प्रतिबाधा मोड पर सेट है। इस प्रकार, यदि सिस्टम में वीडियो डिकोडर या एचडीएमआई रिसीवर से दो या अधिक वीडियो पथ हैं, तो इसमें अलग-अलग आवृत्तियों और चरणों के साथ दो अलग-अलग घड़ी डोमेन होंगे, भले ही एक ही क्रिस्टल घड़ी दो वीडियो डिकोडर या एचडीएमआई रिसीवर को प्रदान की गई हो, प्रत्येक के रूप में डिवाइस अपने स्वयं के पीएलएल के आधार पर अपनी घड़ी उत्पन्न करता है। लॉक किए गए वीडियो डिकोडर के साथ सिंक्रोनस सिस्टम दो स्रोतों का उपयोग करते हुए विशिष्ट स्टीरियोस्कोपिक वीडियो के साथ, प्रत्येक वीडियो डिकोडर आने वाले वीडियो सिग्नल को लॉक कर देता है और आने वाली क्षैतिज सिंक या टीएमडीएस घड़ी के आधार पर अपनी घड़ी उत्पन्न करता है। जब दो कैमरों को सिंक्रनाइज़ किया जाता है—या एक ही समय के संदर्भ में लाइन-लॉक किया जाता है—फ़्रेम लाइनें हमेशा संरेखित होंगी। क्योंकि दो अलग-अलग वीडियो डिकोडर समान क्षैतिज सिंक प्राप्त करते हैं, पिक्सेल घड़ियों में समान पिक्सेल घड़ी आवृत्ति होगी। यह दो डेटा पथों को एक सामान्य घड़ी डोमेन में लाने की अनुमति देता है, जैसा कि चित्र 5 में दिखाया गया है। चित्रा 5। दो वीडियो कैमरे एक सामान्य संदर्भ के लिए सिंक्रनाइज़ किए गए हैं। दोनों वीडियो डिकोडर एक ही सिंक सिग्नल प्राप्त करते हैं, इसलिए वे भी लॉक हो जाते हैं। दोनों वीडियो डिकोडर एक ही सिंक सिग्नल प्राप्त करते हैं, इसलिए वे भी लॉक हो जाते हैं। एसिंक्रोनस वीडियो सिस्टम दुर्भाग्य से, खराब गुणवत्ता वाले वीडियो स्रोत सिग्नल के कारण डिकोडर्स में से एक लॉक खो सकता है, जैसा कि चित्र 6 में दिखाया गया है; या टूटे हुए वीडियो लिंक के कारण कैमरे सिंक्रनाइज़ेशन खो सकते हैं, जैसा कि चित्र 7 में दिखाया गया है। यह दो डेटा पथों में अलग-अलग आवृत्तियों को जन्म देगा, जो तब बैक एंड में देखे गए डेटा की मात्रा में विषमता की ओर ले जाएगा। चित्रा 6। अनलॉक वीडियो डिकोडर के साथ लाइन-लॉक कैमरे। चित्रा 7। लॉक किए गए वीडियो डिकोडर के साथ अनलॉक कैमरे। खोए हुए वीडियो लॉक को एक इंटरप्ट (SD वीडियो डिकोडर के लिए SD_UNLOCK, कंपोनेंट वीडियो डिकोडर के लिए CP_UNLOCK, या HDMI रिसीवर में TMDSPLL_LCK रजिस्टर) का उपयोग करके पता लगाया जा सकता है जो देरी के बाद शुरू होता है। वीडियो डिकोडर अस्थिर क्षैतिज तुल्यकालन को सुचारू करने के लिए तंत्र को एकीकृत करते हैं, इसलिए खोए हुए वीडियो लॉक का पता लगाने में कुछ पंक्तियों तक का समय लग सकता है। FPGA के भीतर खोए हुए लॉक को नियंत्रित करके इस देरी को कम किया जा सकता है। क्लॉक ट्राई-स्टेट मोड एफपीजीए क्लॉकिंग संसाधनों को डिजाइन करते समय, यह जानना महत्वपूर्ण है कि डिफ़ॉल्ट रूप से, कई वीडियो डिकोडर और एचडीएमआई उत्पाद घड़ी और डेटा लाइनों को रीसेट के बाद त्रि-राज्य मोड में डाल देते हैं। इस प्रकार, एलएलसी पिक्सेल घड़ी सिंक्रोनस रीसेट के लिए उपयुक्त नहीं होगी। दो वीडियो स्ट्रीम में डेटा मिसलिग्न्मेंट सिस्टम को सरल बनाने और दो चित्रों को संयोजित करने के लिए आवश्यक मेमोरी को कम करने के लिए, FPGA तक पहुंचने वाले डेटा को इस तरह से सिंक्रनाइज़ किया जाना चाहिए कि पहले कैमरे से Mth लाइन का Nth पिक्सेल Mth के Nth पिक्सेल के साथ प्राप्त हो। दूसरे कैमरे से लाइन। एफपीजीए के इनपुट पर इसे हासिल करना मुश्किल हो सकता है क्योंकि दो वीडियो पथों में अलग-अलग विलंबताएं हो सकती हैं: लाइन-लॉक कैमरे गलत संरेखित लाइनों को आउटपुट कर सकते हैं, अलग-अलग कनेक्शन लंबाई गलत संरेखण में योगदान दे सकती है, और वीडियो डिकोडर परिवर्तनीय स्टार्टअप विलंबता पेश कर सकते हैं। इन विलंबों के कारण यह उम्मीद की जाती है कि लाइन-लॉक कैमरों वाले सिस्टम में कई पिक्सेल मिसलिग्न्मेंट होंगे। लाइन-लॉक कैमरा मिसलिग्न्मेंट यहां तक ​​कि लाइन-लॉक किए गए कैमरे गलत तरीके से वीडियो लाइन आउटपुट कर सकते हैं। चित्रा 8 दो कैमरों के सीवीबीएस आउटपुट से लंबवत सिंक सिग्नल दिखाता है। एक कैमरा, सिंक मास्टर, दूसरे कैमरे को लाइन-लॉकिंग सिग्नल प्रदान करता है, सिंक स्लेव। 380 एनएस का मिसलिग्न्मेंट स्पष्ट रूप से दिखाई देता है। चित्र 9 इन कैमरों के आउटपुट पर वीडियो डिकोडर द्वारा प्रेषित डेटा दिखाता है। 11-पिक्सेल की शिफ्ट देखी जा सकती है। चित्रा 8। लाइन-लॉक किए गए वीडियो कैमरों के बीच 380-एनएस वीडियो मिसलिग्न्मेंट। चित्रा 9। डिजिटल डोमेन में बिना क्षतिपूर्ति के 11-पिक्सेल वीडियो मिसलिग्न्मेंट। विभिन्न कनेक्शन लंबाई सभी विद्युत कनेक्शन एक प्रसार विलंब का परिचय देते हैं, इसलिए सुनिश्चित करें कि दोनों वीडियो पथों में समान ट्रैक और केबल लंबाई है। वीडियो डिकोडर/एचडीएमआई रिसीवर विलंबता सभी वीडियो डिकोडर विलंबता का परिचय देते हैं जो सक्षम सुविधाओं के आधार पर भिन्न हो सकते हैं। इसके अलावा, कुछ वीडियो भागों में तत्व होते हैं—जैसे कि गहरे रंग का फीफो—जो यादृच्छिक स्टार्टअप विलंबता जोड़ सकता है। वीडियो डिकोडर्स का उपयोग करने वाले एक विशिष्ट स्टीरियोस्कोपिक सिस्टम में लगभग 5 पिक्सेल घड़ियों की एक यादृच्छिक स्टार्टअप देरी हो सकती है। एचडीएमआई ट्रांसमीटर और रिसीवर युक्त एक प्रणाली, जैसा कि चित्र 10 में दिखाया गया है, लगभग 40 पिक्सेल घड़ियों की एक यादृच्छिक स्टार्टअप देरी हो सकती है। चित्रा 10। पाइपलाइन देरी माप सेटअप। मिसलिग्न्मेंट मुआवजा चित्र 11 एक ऐसी प्रणाली को दर्शाता है जहां प्रत्येक कैमरे से एक एनालॉग सिग्नल को वीडियो डिकोडर द्वारा डिजीटल किया जाता है। प्रत्येक वीडियो पथ के लिए डेटा और घड़ी अलग-अलग हैं। दोनों वीडियो पथ FIFO से जुड़े हैं, जो आने वाले डेटा को डेटा मिसलिग्न्मेंट की भरपाई के लिए बफर करते हैं। डेटा को देखते समय, FIFO एक डिकोडर से एक सामान्य घड़ी का उपयोग करते हैं। एक लॉक सिस्टम में, दो डेटा पथों में बिल्कुल समान घड़ी आवृत्ति होनी चाहिए, यह सुनिश्चित करते हुए कि जब तक कैमरे लाइन-लॉक नहीं हैं और वीडियो डिकोडर लॉक हैं, तब तक कोई फीफो ओवरफ्लो या अंडरफ्लो नहीं होता है। FIFOs आउटपुट को सक्षम या अक्षम करके, नियंत्रण ब्लॉक पिक्सेल मिसलिग्न्मेंट को कम करने के लिए FIFO स्तरों को बनाए रखता है। यदि मुआवजा ठीक से किया जाता है, तो FPGA ब्लॉक का आउटपुट दो डेटा पथ होना चाहिए जो पहले पिक्सेल से संरेखित हों। फिर उस डेटा को 3D प्रारूप उत्पादन के लिए एक FPGA बैक एंड को आपूर्ति की जाती है। चित्रा 11। वीडियो चित्रों को पुन: संरेखित करने के लिए डिजिटल फीफो का उपयोग करना। मिसलिग्न्मेंट मापन दो डिजीटल डेटा स्ट्रीम के बीच मिसलिग्न्मेंट को वीडियो FIFO के आउटपुट पर एक घड़ी काउंटर का उपयोग करके मापा जा सकता है जो आने वाले संकेतों में से एक के वर्टिकल सिंक (VS) पल्स पर रीसेट होता है। चित्र 12 दो वीडियो स्ट्रीम (vs_a_in और vs_b_in) को 4 पिक्सेल द्वारा गलत संरेखित दिखाता है। काउंटर्स लिस्टिंग 1 में दिखाए गए तरीके का उपयोग करके मिसलिग्न्मेंट को मापते हैं। गिनती VS1 के बढ़ते किनारे पर शुरू होती है और VS2 के बढ़ते किनारे पर रुकती है। यदि किसी फ़्रेम की कुल पिक्सेल लंबाई ज्ञात है, तो नकारात्मक तिरछा (VS2 पूर्ववर्ती VS1) की गणना फ़्रेम की लंबाई से गिनती मान घटाकर की जा सकती है। इस नकारात्मक मान की गणना तब की जानी चाहिए जब तिरछा पिक्सेल फ्रेम लंबाई के आधे से अधिक हो। परिणाम का उपयोग फीफो में संग्रहीत डेटा को पुन: संरेखित करने के लिए किया जाना चाहिए। चित्रा 12। गलत संरेखण माप। लिस्टिंग 1. सरल मिसलिग्न्मेंट मापन (वेरिलोग®)। मॉड्यूल misalign_measurement (इनपुट वायर रीसेट, इनपुट वायर clk_in, इनपुट वायर vs_a_in, इनपुट वायर vs_b_in, आउटपुट reg [15:0] मिसअलाइन, आउटपुट reg तैयार); रेग [15:0] सीएनटी; reg cnt_en, cnt_reset; reg vs_a_in_r, vs_b_in_r; असाइन करें vs_a_rising = vs_a_in > vs_a_in_r; असाइन करें vs_b_rising = vs_b_in > vs_b_in_r; हमेशा @(posege clk_in) शुरू vs_a_in_r <= vs_a_in; बनाम_बी_इन_आर <= बनाम_बी_इन; अंत हमेशा @(posege clk_in) अगर (रीसेट) शुरू {तैयार, cnt_en} <= 2'b00; गलत संरेखण <= 0; अंत और शुरू करें अगर ((vs_a_in == 1'b0) && (vs_b_in == 1'b0)) { तैयार, cnt_reset} <= 2'b01; और cnt_reset <= 1'b0; /* शुरुआत */ अगर (vs_a_rising && vs_b_rising) मिसअलाइन शुरू करें <= 0; { तैयार, cnt_en } <= 2'b10; अन्य समाप्त करें यदि ((vs_a_rising > vs_b_in) || (vs_b_rising > vs_a_in)) { तैयार, cnt_en } <= 2'b01; /* समाप्त हो रहा है */ अगर ((cnt_en == 1'b1) && (vs_a_rising || vs_b_rising)) शुरू { तैयार, cnt_en } <= 2'b10; गलत संरेखण <= बनाम_a_राइजिंग? (-(सीएनटी + 1)) : (सीएनटी + 1); अंत हमेशा @(posege clk_in) /* काउंटर */ अगर ((cnt_reset) || (रीसेट)) cnt <= 0; और अगर (cnt_en) cnt <= cnt + 1; एंडमॉड्यूल दो संरेखित वीडियो स्ट्रीम से 3D वीडियो का उत्पादन एक बार पिक्सेल, लाइन और फ़्रेम डेटा वास्तव में सिंक्रोनस हो जाने पर, एक FPGA वीडियो डेटा को 3D वीडियो स्ट्रीम में बना सकता है, जैसा कि चित्र 13 में दिखाया गया है। चित्रा 13। सरलीकृत वास्तुकला जो 3D स्वरूपों को प्राप्त करती है। आने वाले डेटा को एक सामान्य घड़ी द्वारा मेमोरी में पढ़ा जाता है। सिंक टाइमिंग एनालाइज़र आने वाले सिंक्रोनाइज़ेशन सिग्नल की जांच करता है और वीडियो टाइमिंग को एक्सट्रेक्ट करता है, जिसमें हॉरिजॉन्टल फ्रंट और बैक पोर्च लंबाई, वर्टिकल फ्रंट और बैक पोर्च, हॉरिजॉन्टल और वर्टिकल सिंक लेंथ, हॉरिजॉन्टल एक्टिव लाइन लेंथ, वर्टिकल एक्टिव लाइन्स की संख्या और ध्रुवीकरण शामिल हैं। सिंक सिग्नल। इस जानकारी को वर्तमान क्षैतिज और ऊर्ध्वाधर पिक्सेल स्थान के साथ सिंक टाइमिंग रीजेनरेटर को पास करने से यह समय उत्पन्न करने की अनुमति देता है जिसे वांछित 3D वीडियो संरचना को समायोजित करने के लिए संशोधित किया गया है। यह सुनिश्चित करने के लिए कि फीफो में आवश्यक मात्रा में डेटा है, नव निर्मित समय में देरी होनी चाहिए। साइड-बाय-साइड 3D वीडियो मेमोरी के मामले में सबसे कम मांग वाला आर्किटेक्चर साइड-बाय-साइड प्रारूप है, जिसमें दोनों वीडियो स्रोतों से आने वाली लाइनों की सामग्री को संग्रहीत करने के लिए केवल 2-लाइन बफर (FIFO) की आवश्यकता होती है। अगल-बगल का प्रारूप मूल आवक प्रारूप से दोगुना चौड़ा होना चाहिए। इसे प्राप्त करने के लिए, दोहरी क्षैतिज रेखा लंबाई के साथ पुनर्जीवित सिंक समय को देखने के लिए एक दोहरी घड़ी का उपयोग किया जाना चाहिए। पिछली छोर को देखने के लिए उपयोग की जाने वाली दोहरी घड़ी पहले FIFO और फिर दूसरे FIFO को दोगुने दर से खाली कर देगी, जिससे यह चित्र 14 में दिखाए गए अनुसार चित्रों को साथ-साथ रखने की अनुमति देता है। अगल-बगल की तस्वीर चित्र 15 में दिखाई गई है। चित्रा 14। साधारण FPGA लाइन बफ़र्स का उपयोग करके दो चित्रों को साथ-साथ सिलाई करना। चित्रा 15। वीडियो टाइमिंग के साथ साथ-साथ 576p चित्र निष्कर्ष एनालॉग डिवाइस डिकोडर और एचडीएमआई उत्पाद सरल पोस्टप्रोसेसिंग के साथ सच्चे स्टीरियोस्कोपिक 3 डी वीडियो के प्रसारण को बना और सक्षम कर सकते हैं। जैसा कि दिखाया गया है, साधारण डिजिटल ब्लॉक और महंगी मेमोरी के बिना 3D वीडियो प्राप्त करना संभव है।

एक संदेश छोड़ें 

नाम *
ईमेल *
फ़ोन
पता
कोड सत्यापन कोड देखें? ताज़ा क्लिक करें!
मैसेज
 

संदेश सूची

टिप्पणियां लोड हो रहा है ...
होम| हमारे बारे में| उत्पाद| समाचार| डाउनलोड| सहायता| फीडबैक| संपर्क करें| सर्विस

संपर्क: ज़ोए झांग वेब: www.fmuser.net

Whatsapp / Wechat: + 86 183 1924 4009

स्काइप: टॉमलीक्वान ईमेल: [ईमेल संरक्षित] 

फेसबुक: FMUSERBroadcast यूट्यूब: FMUSER ZOEY

अंग्रेजी में पता: रूम305, हुईलानजी, नंबर 273 हुआंगपु रोड वेस्ट, तियानहे जिला, गुआंगझोउ, चीन, 510620 चीनी में पता: 广州市天河区黄埔大道西273号惠兰阁305(3ई)