<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 消費(fèi)電子 > 設(shè)計(jì)應(yīng)用 > DM642平臺多路視頻處理系統(tǒng)的實(shí)時性分析

          DM642平臺多路視頻處理系統(tǒng)的實(shí)時性分析

          作者:西安電子科技大學(xué) 楊展輝 劉貴喜 馬濤 時間:2008-05-13 來源:《單片機(jī)與嵌入式系統(tǒng)應(yīng)用》 收藏

            引 言

          本文引用地址:http://www.ex-cimer.com/article/82488.htm

            是圖像處理方面的一個重要應(yīng)用,它將一個圖像的多個狀態(tài)或者多幅不同圖像進(jìn)行合成,來實(shí)現(xiàn)虛擬面板、圖像疊加、模擬場景、圖像優(yōu)化等效果。多路視頻合成顯示技術(shù)是將通過多個途徑(如攝像機(jī)、PC機(jī)、網(wǎng)絡(luò)等),采集而來的多路視頻信號進(jìn)行處理,并按照實(shí)際所需進(jìn)行顯示。

            選擇適當(dāng)?shù)暮诵奶幚硇酒?,對?shù)據(jù)量大、實(shí)時性高的視頻信號處理來說,是首要考慮的問題。美國公司推出的針對視頻和圖像解決方案的TMS320型高性能,是公司C6000系列中一款基于DaVinci技術(shù)的,其核心是C6416型高性能數(shù)字信號處理器,具有極強(qiáng)的處理能力、高度的靈活性和可編程性,同時外圍集成了非常完整的音頻、視頻和網(wǎng)絡(luò)通信等設(shè)備及接口,特別適用于機(jī)器視覺、醫(yī)學(xué)成像、網(wǎng)絡(luò)視頻監(jiān)控、數(shù)字廣播,以及基于數(shù)字視頻/圖像處理的消費(fèi)類電子產(chǎn)品等高速應(yīng)用領(lǐng)域。本設(shè)計(jì)利用這一處理器,實(shí)現(xiàn)了一套4路、高清晰度的圖像顯示系統(tǒng):所采集的視頻信號是4路高清晰度視頻圖像——3路1 024×768@60Hz的VGA視頻信號、1路768×5766@25幀(PAL制式)的S-Video視頻信號;視頻輸出為單屏幕多窗口,分辨率為1024×768的RGB視頻圖像;刷新頻率為60幀/s。

            系統(tǒng)的硬件部分主要包括:視頻輸入解碼模塊、核心處理模塊、視頻輸出接口模塊、串口通信模塊、CPLD控制模塊,系統(tǒng)整體框圖如圖1所示。

                 

            1 系統(tǒng)整體描述

            系統(tǒng)通過視頻轉(zhuǎn)換芯片AIT2138和SAA7110來采集視頻信號,采用2片(分別記A和DM642B)并聯(lián),其中主算法的實(shí)現(xiàn)在DM642B中進(jìn)行。DM642A的3個視頻端口全部用于視頻采集,采集3路RGB信號。采集后存到DM642A的外部存儲器SDRAM1,等DM642B執(zhí)行算法時,DM642A按照需要將數(shù)據(jù)傳至DM642B。處理完之后數(shù)據(jù)經(jīng)DM642B視頻口輸出為RGB格式,并由ADV7125完成數(shù)模轉(zhuǎn)化,輸出至VGA接口。系統(tǒng)采用Altera公司的EPM7128S CPLD來完成邏輯產(chǎn)牛和系統(tǒng)控制,采用Philips公司51系列單片機(jī)P89C668通過串口與PC機(jī)通信,方便地完成顯示模式的切換。

            2 數(shù)據(jù)通信量分析

            鑒于DM642視頻端口的傳輸能力,3路1024×768@60 Hz的RGB信號的數(shù)據(jù)量過大,無法實(shí)時處理。所以將其通過AIT2138(該芯片支持NTSC和PAL兩種制式輸出)轉(zhuǎn)化成768×576@25 Hz的PAL電視信號。電視信號再經(jīng)過SAA7110轉(zhuǎn)化成16位的數(shù)字Y/C分離信號。所以每幀圖像傳至DSP視頻輸入口時的數(shù)據(jù)有顯著下降。公式如下:

                 

            即下降到原始數(shù)據(jù)量的3/8。簡化了后邊的數(shù)據(jù)處理過程。

            3 系統(tǒng)的實(shí)時性分析

            先預(yù)定系統(tǒng)的系統(tǒng)時鐘頻率為133 MHz(按照DM642硬件說明書上的建議,此時DSP外部存儲器應(yīng)選用6 ns級)。DSP數(shù)據(jù)總線寬度64位,每幀圖像從DSP的視頻通道進(jìn)入二級緩存L2的時間為:

            0.843 75 MB/64×133 MHz=0.8 ms (4)

            因?yàn)镈M642A沒有數(shù)據(jù)的取舍權(quán),所以3路數(shù)據(jù)要全部存入SDRAM。實(shí)際所需時間應(yīng)為:

            0.8×3=2.4 ms (5)

            這一步必須計(jì)算成3幀圖像的時間。因?yàn)橹挥?路各到1幀圖像時,才能對其數(shù)據(jù)選擇,滿足后邊選定窗口大小的需求。

            至此,數(shù)據(jù)傳輸都是按照既定窗口大小的數(shù)據(jù)量進(jìn)行傳輸?shù)摹R簿褪钦f,對應(yīng)要顯示的合成后的1幀圖像,DM642A向DM642B傳輸?shù)臄?shù)據(jù)不大于1幀:4個窗口均勻顯示時,DM642A到DM642B傳輸?shù)臄?shù)據(jù)大小為3/4幀,DM642A的某一路全屏顯示時傳輸為1幀,當(dāng)DM642B的S-Video全屏顯示時,不用傳輸。

            以下是數(shù)據(jù)流經(jīng)各個部分的時間估算:

            DM642A上的3路

            ①視頻口→內(nèi)存 2.4 ms

           ?、趦?nèi)存→SDRAM 12.4 ms

            ③SDRAM1→內(nèi)存 <0.8 ms

           ?、軆?nèi)存→DPRAM <0.8 ms

            ⑤DPRAM→DM642B <0.8 ms

            DM642B上的1路

           ?、抟曨l口→內(nèi)存 0.8 ms

            ⑦內(nèi)存→SDRAM2 0.8 ms

           ?、跾DRAM1→內(nèi)存 <0.8 ms

            ⑨內(nèi)存→視頻輸出端口 0.8 ms

            不考慮流水,總耗時為各個時間之和:

            ①+②+③+④+⑤+⑥+⑦+⑧+⑨=1004 ms

            上述過程中可以同時進(jìn)行的有:

           ?、俸廷蕖ⅱ诤廷?、③和⑧、④和⑤。

            這樣就實(shí)現(xiàn)了一定程度的流水。由此得出,從系統(tǒng)開始采集原始數(shù)據(jù),到1幀合成好的圖像顯示到屏幕上所需時間為:
            
           ?、?②+③+④+⑨=7.2 ms

            也就是說,系統(tǒng)處理能力較強(qiáng),每秒能處理的電視圖像數(shù)目可以滿足實(shí)時顯示的需要。

            4 兩片DSP之間的連接方式

            EMIF(外部存儲器接口)方式連接。這種方式是采用一個DPRAM作為2片DSP的公用外部存儲器。在DM642要執(zhí)行算法時,DM642A將組織好的數(shù)據(jù)以訪問外部存儲器的方式存到DPRAM,然后DM642B同樣以訪問外部存儲器的方式將所需數(shù)據(jù)取走。此時2片之間是并聯(lián)關(guān)系,因?yàn)镈M642B不能對DM642A進(jìn)行傳輸數(shù)據(jù)時機(jī)的控制,所以需要通過專門的控制邏輯來協(xié)調(diào)2片DSP之間的配合。這種方式數(shù)據(jù)傳輸寬度為64位,需要與其他連接到EMIF數(shù)據(jù)總線上的外部存儲器或I/O設(shè)備分時復(fù)用。

            5 DM642視頻通道的說明

            DM642是一款基于 DaVinci技術(shù)的專門用于視頻多媒體處理的芯片。它集成了3個視頻口,分別為VP0、VP1、VP2。每個視頻口都可以作為一個視頻捕捉口、視頻顯示口或是傳輸數(shù)據(jù)流輸人接口。

            每個視頻口有A和B兩個通道,兩個通道共用一個5 120字節(jié)的捕獲/顯示緩存。對于整個視頻口,要么設(shè)置成視頻捕捉口,要么設(shè)置成視頻顯示口。也就是說,A、B兩個通道必須一致,同為輸入或輸出。不管是BT656、Y/C、Raw video,或者是傳輸數(shù)據(jù)流格式,視頻口都有獨(dú)立的數(shù)據(jù)通道來控制視頻輸入或輸出數(shù)據(jù)的解析和格式化。

            對于視頻捕捉操作,視頻口既可以以雙通道的方式對兩路8/10位的BT656視頻或Raw video格式捕捉;也可以單通道的方式對8/10位的BT656、8/10位Raw video圖像,16/20位Y/C,16/20位Raw video圖像或者是8位的傳輸流進(jìn)行捕捉。

            對于視頻顯示操作,單通道時的視頻口用法和上邊提到的捕捉時相同。作為雙通道時,可以顯示連接到相同時序的雙通道8/10位原始視頻。單通道時通道B閑置不用。

            6 時鐘頻率設(shè)計(jì)

            系統(tǒng)時鐘(存儲器、DSP I/O口時鐘)采用133 MHz,由外部晶振通過鎖相環(huán)倍頻提供。DM642核時鐘采用600 MHz,由與系統(tǒng)時鐘同源的外部晶振通過內(nèi)部倍頻得到,如圖2所示。

                 

            此外視頻編解碼芯片根據(jù)自身制式特性單獨(dú)處理。輸入視頻的同步信號,由輸入RGB視頻的同步信號通過處理得到。

            7 兩片DSP的步調(diào)協(xié)調(diào)

            時鐘可共用。但是由于數(shù)據(jù)傳輸途徑的差別,DM642B捕捉的S-video做好處理前準(zhǔn)備的時間要少于DM642A過來的RGB視頻。

            系統(tǒng)啟動后,當(dāng)DM642A的數(shù)據(jù)執(zhí)行到③的時候,DM642B開始捕捉S-video,從⑥開始進(jìn)行。這樣,對以每次DM642A采集3路各1幀圖像時,DM642B應(yīng)等待4.8ms再開始要采集與之對應(yīng)的1幀S-video。

            8 算法流程和執(zhí)行

            算法流程如圖3所示。

                 

            鑒于本部分不是該文重點(diǎn),故在此只作簡單說明。該算法設(shè)計(jì)的出發(fā)點(diǎn)都是由DM642B執(zhí)行主算法,DM642A只作數(shù)據(jù)的調(diào)理工作。當(dāng)確定執(zhí)行哪種方式的顯示時,也就確定了對DM642A所采集的哪些數(shù)據(jù)加以使用。這個過程由DM642B發(fā)出請求,再由專門的控制邏輯來控制DM642A傳輸,也能實(shí)現(xiàn)系統(tǒng)的處理要求。

            結(jié) 語

            數(shù)據(jù)速度問題是實(shí)時高速大數(shù)據(jù)量視頻采集處理系統(tǒng)中要解決的關(guān)鍵問題。本文通過采用針對視頻多媒體應(yīng)用優(yōu)化了的高速DSP和CPLD,以及專用視頻編解碼芯片,完成了一個四路雙制式高清視頻采集處理和多窗口顯示系統(tǒng)。經(jīng)過最后調(diào)試和測試,該系統(tǒng)能夠滿足高速實(shí)時性的要求,達(dá)到了預(yù)期效果,并為下一步的多路視頻多圖像融合顯示系統(tǒng),提供了很好的技術(shù)參考。



          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();