DM642平臺(tái)多路視頻處理系統(tǒng)的實(shí)時(shí)性分析
引 言
本文引用地址:http://m.butianyuan.cn/article/82488.htm視頻合成技術(shù)是圖像處理方面的一個(gè)重要應(yīng)用,它將一個(gè)圖像的多個(gè)狀態(tài)或者多幅不同圖像進(jìn)行合成,來實(shí)現(xiàn)虛擬面板、圖像疊加、模擬場景、圖像優(yōu)化等效果。多路視頻合成顯示技術(shù)是將通過多個(gè)途徑(如攝像機(jī)、PC機(jī)、網(wǎng)絡(luò)等),采集而來的多路視頻信號(hào)進(jìn)行處理,并按照實(shí)際所需進(jìn)行顯示。
選擇適當(dāng)?shù)暮诵奶幚硇酒瑢?duì)數(shù)據(jù)量大、實(shí)時(shí)性高的視頻信號(hào)處理來說,是首要考慮的問題。美國TI公司推出的針對(duì)視頻和圖像解決方案的TMS320DM642型高性能數(shù)字媒體處理器,是TI公司C6000系列中一款基于DaVinci技術(shù)的DSP,其核心是C6416型高性能數(shù)字信號(hào)處理器,具有極強(qiáng)的處理能力、高度的靈活性和可編程性,同時(shí)外圍集成了非常完整的音頻、視頻和網(wǎng)絡(luò)通信等設(shè)備及接口,特別適用于機(jī)器視覺、醫(yī)學(xué)成像、網(wǎng)絡(luò)視頻監(jiān)控、數(shù)字廣播,以及基于數(shù)字視頻/圖像處理的消費(fèi)類電子產(chǎn)品等高速DSP應(yīng)用領(lǐng)域。本設(shè)計(jì)利用這一處理器,實(shí)現(xiàn)了一套4路、高清晰度的圖像顯示系統(tǒng):所采集的視頻信號(hào)是4路高清晰度視頻圖像——3路1 024×768@60Hz的VGA視頻信號(hào)、1路768×5766@25幀(PAL制式)的S-Video視頻信號(hào);視頻輸出為單屏幕多窗口,分辨率為1024×768的RGB視頻圖像;刷新頻率為60幀/s。
系統(tǒng)的硬件部分主要包括:視頻輸入解碼模塊、DSP核心處理模塊、視頻輸出接口模塊、串口通信模塊、CPLD控制模塊,系統(tǒng)整體框圖如圖1所示。
1 系統(tǒng)整體描述
系統(tǒng)通過視頻轉(zhuǎn)換芯片AIT2138和SAA7110來采集視頻信號(hào),采用2片DM642(分別記DM642A和DM642B)并聯(lián),其中主算法的實(shí)現(xiàn)在DM642B中進(jìn)行。DM642A的3個(gè)視頻端口全部用于視頻采集,采集3路RGB信號(hào)。采集后存到DM642A的外部存儲(chǔ)器SDRAM1,等DM642B執(zhí)行算法時(shí),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信號(hào)的數(shù)據(jù)量過大,無法實(shí)時(shí)處理。所以將其通過AIT2138(該芯片支持NTSC和PAL兩種制式輸出)轉(zhuǎn)化成768×576@25 Hz的PAL電視信號(hào)。電視信號(hào)再經(jīng)過SAA7110轉(zhuǎn)化成16位的數(shù)字Y/C分離信號(hào)。所以每幀圖像傳至DSP視頻輸入口時(shí)的數(shù)據(jù)有顯著下降。公式如下:
即下降到原始數(shù)據(jù)量的3/8。簡化了后邊的數(shù)據(jù)處理過程。
3 系統(tǒng)的實(shí)時(shí)性分析
先預(yù)定系統(tǒng)的系統(tǒng)時(shí)鐘頻率為133 MHz(按照DM642硬件說明書上的建議,此時(shí)DSP外部存儲(chǔ)器應(yīng)選用6 ns級(jí))。DSP數(shù)據(jù)總線寬度64位,每幀圖像從DSP的視頻通道進(jìn)入二級(jí)緩存L2的時(shí)間為:
0.843 75 MB/64×133 MHz=0.8 ms (4)
因?yàn)镈M642A沒有數(shù)據(jù)的取舍權(quán),所以3路數(shù)據(jù)要全部存入SDRAM。實(shí)際所需時(shí)間應(yīng)為:
0.8×3=2.4 ms (5)
這一步必須計(jì)算成3幀圖像的時(shí)間。因?yàn)橹挥?路各到1幀圖像時(shí),才能對(duì)其數(shù)據(jù)選擇,滿足后邊選定窗口大小的需求。
至此,數(shù)據(jù)傳輸都是按照既定窗口大小的數(shù)據(jù)量進(jìn)行傳輸?shù)?。也就是說,對(duì)應(yīng)要顯示的合成后的1幀圖像,DM642A向DM642B傳輸?shù)臄?shù)據(jù)不大于1幀:4個(gè)窗口均勻顯示時(shí),DM642A到DM642B傳輸?shù)臄?shù)據(jù)大小為3/4幀,DM642A的某一路全屏顯示時(shí)傳輸為1幀,當(dāng)DM642B的S-Video全屏顯示時(shí),不用傳輸。
以下是數(shù)據(jù)流經(jīng)各個(gè)部分的時(shí)間估算:
DM642A上的3路
?、僖曨l口→內(nèi)存 2.4 ms
②內(nèi)存→SDRAM 12.4 ms
?、跾DRAM1→內(nèi)存 <0.8 ms
?、軆?nèi)存→DPRAM <0.8 ms
?、軩PRAM→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
不考慮流水,總耗時(shí)為各個(gè)時(shí)間之和:
?、?②+③+④+⑤+⑥+⑦+⑧+⑨=1004 ms
上述過程中可以同時(shí)進(jìn)行的有:
?、俸廷蕖ⅱ诤廷?、③和⑧、④和⑤。
這樣就實(shí)現(xiàn)了一定程度的流水。由此得出,從系統(tǒng)開始采集原始數(shù)據(jù),到1幀合成好的圖像顯示到屏幕上所需時(shí)間為:
?、?②+③+④+⑨=7.2 ms
也就是說,系統(tǒng)處理能力較強(qiáng),每秒能處理的電視圖像數(shù)目可以滿足實(shí)時(shí)顯示的需要。
4 兩片DSP之間的連接方式
EMIF(外部存儲(chǔ)器接口)方式連接。這種方式是采用一個(gè)DPRAM作為2片DSP的公用外部存儲(chǔ)器。在DM642要執(zhí)行算法時(shí),DM642A將組織好的數(shù)據(jù)以訪問外部存儲(chǔ)器的方式存到DPRAM,然后DM642B同樣以訪問外部存儲(chǔ)器的方式將所需數(shù)據(jù)取走。此時(shí)2片之間是并聯(lián)關(guān)系,因?yàn)镈M642B不能對(duì)DM642A進(jìn)行傳輸數(shù)據(jù)時(shí)機(jī)的控制,所以需要通過專門的控制邏輯來協(xié)調(diào)2片DSP之間的配合。這種方式數(shù)據(jù)傳輸寬度為64位,需要與其他連接到EMIF數(shù)據(jù)總線上的外部存儲(chǔ)器或I/O設(shè)備分時(shí)復(fù)用。
5 DM642視頻通道的說明
DM642是一款基于TI DaVinci技術(shù)的專門用于視頻多媒體處理的芯片。它集成了3個(gè)視頻口,分別為VP0、VP1、VP2。每個(gè)視頻口都可以作為一個(gè)視頻捕捉口、視頻顯示口或是傳輸數(shù)據(jù)流輸人接口。
每個(gè)視頻口有A和B兩個(gè)通道,兩個(gè)通道共用一個(gè)5 120字節(jié)的捕獲/顯示緩存。對(duì)于整個(gè)視頻口,要么設(shè)置成視頻捕捉口,要么設(shè)置成視頻顯示口。也就是說,A、B兩個(gè)通道必須一致,同為輸入或輸出。不管是BT656、Y/C、Raw video,或者是傳輸數(shù)據(jù)流格式,視頻口都有獨(dú)立的數(shù)據(jù)通道來控制視頻輸入或輸出數(shù)據(jù)的解析和格式化。
對(duì)于視頻捕捉操作,視頻口既可以以雙通道的方式對(duì)兩路8/10位的BT656視頻或Raw video格式捕捉;也可以單通道的方式對(duì)8/10位的BT656、8/10位Raw video圖像,16/20位Y/C,16/20位Raw video圖像或者是8位的傳輸流進(jìn)行捕捉。
對(duì)于視頻顯示操作,單通道時(shí)的視頻口用法和上邊提到的捕捉時(shí)相同。作為雙通道時(shí),可以顯示連接到相同時(shí)序的雙通道8/10位原始視頻。單通道時(shí)通道B閑置不用。
6 時(shí)鐘頻率設(shè)計(jì)
系統(tǒng)時(shí)鐘(存儲(chǔ)器、DSP I/O口時(shí)鐘)采用133 MHz,由外部晶振通過鎖相環(huán)倍頻提供。DM642核時(shí)鐘采用600 MHz,由與系統(tǒng)時(shí)鐘同源的外部晶振通過內(nèi)部倍頻得到,如圖2所示。
此外視頻編解碼芯片根據(jù)自身制式特性單獨(dú)處理。輸入視頻的同步信號(hào),由輸入RGB視頻的同步信號(hào)通過處理得到。
7 兩片DSP的步調(diào)協(xié)調(diào)
時(shí)鐘可共用。但是由于數(shù)據(jù)傳輸途徑的差別,DM642B捕捉的S-video做好處理前準(zhǔn)備的時(shí)間要少于DM642A過來的RGB視頻。
系統(tǒng)啟動(dòng)后,當(dāng)DM642A的數(shù)據(jù)執(zhí)行到③的時(shí)候,DM642B開始捕捉S-video,從⑥開始進(jìn)行。這樣,對(duì)以每次DM642A采集3路各1幀圖像時(shí),DM642B應(yīng)等待4.8ms再開始要采集與之對(duì)應(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í)行哪種方式的顯示時(shí),也就確定了對(duì)DM642A所采集的哪些數(shù)據(jù)加以使用。這個(gè)過程由DM642B發(fā)出請(qǐng)求,再由專門的控制邏輯來控制DM642A傳輸,也能實(shí)現(xiàn)系統(tǒng)的處理要求。
結(jié) 語
數(shù)據(jù)速度問題是實(shí)時(shí)高速大數(shù)據(jù)量視頻采集處理系統(tǒng)中要解決的關(guān)鍵問題。本文通過采用針對(duì)視頻多媒體應(yīng)用優(yōu)化了的高速DSP和CPLD,以及專用視頻編解碼芯片,完成了一個(gè)四路雙制式高清視頻采集處理和多窗口顯示系統(tǒng)。經(jīng)過最后調(diào)試和測(cè)試,該系統(tǒng)能夠滿足高速實(shí)時(shí)性的要求,達(dá)到了預(yù)期效果,并為下一步的多路視頻多圖像融合顯示系統(tǒng),提供了很好的技術(shù)參考。
評(píng)論