2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩28頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、<p><b>  畢業(yè)設(shè)計(jì)(論文)</b></p><p><b>  (2009屆)</b></p><p>  論文題目:基于DSP視頻監(jiān)控系統(tǒng)的研究與實(shí)現(xiàn)</p><p>  所在學(xué)院 電子信息工程學(xué)院 </p><p>  專業(yè)班級(jí) 電子信息工程技術(shù) <

2、/p><p><b>  摘 要</b></p><p>  視頻監(jiān)控系統(tǒng)是安全防范系統(tǒng)的組成部分,通過監(jiān)控系統(tǒng)可以實(shí)時(shí)動(dòng)態(tài)地匯報(bào)被監(jiān)測(cè)點(diǎn)的情況,及時(shí)發(fā)現(xiàn)問題并進(jìn)行處理,獲得的完整備份資料還可用于事后進(jìn)行分析調(diào)查。隨著存儲(chǔ)容量、網(wǎng)絡(luò)帶寬、處理器性能以及各種視頻壓縮處理技術(shù)的快速發(fā)展,視頻監(jiān)控系統(tǒng)的數(shù)字化、網(wǎng)絡(luò)化趨勢(shì)日益明顯。</p><p>  

3、目前的安防監(jiān)控領(lǐng)域的數(shù)字監(jiān)控系統(tǒng)通常分為兩類:一類是基于PC機(jī)組合的計(jì)算機(jī)多媒體工作方式;另一類是嵌入式數(shù)字網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng)。</p><p>  PC機(jī)的多媒體監(jiān)控主機(jī)綜合了視頻矩陣、圖像分割器、錄像機(jī)等的眾多功能, 使系統(tǒng)結(jié)構(gòu)大為簡(jiǎn)化。由于采用計(jì)算機(jī)網(wǎng)絡(luò)技術(shù),數(shù)字多媒體遠(yuǎn)程網(wǎng)絡(luò)監(jiān)控不受距離限制;由于采用大容量磁盤陣列存盤器或光盤存儲(chǔ)器, 可以節(jié)省大量的磁帶介質(zhì),同時(shí)有利于系統(tǒng)實(shí)現(xiàn)多媒體信息查詢。</p&

4、gt;<p>  但是,隨著對(duì)于遠(yuǎn)程分布式監(jiān)控需求的增長,同時(shí)某些特殊的監(jiān)控場(chǎng)合如,交通、金融機(jī)構(gòu)等領(lǐng)域要求監(jiān)控系統(tǒng)具有靈活性、移動(dòng)性、專用性、體積小等特點(diǎn),此時(shí),基于PC的監(jiān)控系統(tǒng)受到操作系統(tǒng),體積,和穩(wěn)定性的影響已無法滿足這些需要。嵌入式網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng)以其可靠性高,組網(wǎng)方便等優(yōu)點(diǎn)越來越受到安防領(lǐng)域廠商和客戶的重視。</p><p>  嵌入式視頻監(jiān)控系統(tǒng)的解決方案有多種選擇,市場(chǎng)產(chǎn)品的主流一般

5、選擇兩種方案:(1)CPU+ASIC,該方案選擇以ARM為核的CPU和專用媒體處理芯片搭建。優(yōu)點(diǎn)是開發(fā)時(shí)間相對(duì)較短,但由于采用ASIC,靈活性較差,產(chǎn)品一旦定型,很難更改。(2)采用面向媒體處理的DSP。其開發(fā)時(shí)間不長,優(yōu)點(diǎn)是由于算法是軟件代碼,所以可以不斷對(duì)產(chǎn)品性能進(jìn)行升級(jí),重復(fù)開發(fā)成本較低。</p><p>  基于DSP的視頻監(jiān)控系統(tǒng)比基于CPU+ASIC的靈活性高,易于升級(jí);比基于PC機(jī)的視頻壓縮軟件效率

6、更高,適用范圍更廣。所以本文采用基于DSP的視頻監(jiān)控系統(tǒng)設(shè)計(jì)方案。</p><p>  本方案采用的DSP芯片TMS320DM642更是TI公司新一代高性能面向于視頻系統(tǒng)的數(shù)字信號(hào)處理器。它具有4800MIPS的運(yùn)算能力和豐富的外圍接口(多通道視頻口、以太網(wǎng)口等),經(jīng)過特別優(yōu)化設(shè)計(jì),提供了豐富的多媒體處理指令集。本文的視頻監(jiān)控系統(tǒng)針對(duì)TMS320DM642 的硬件結(jié)構(gòu)特點(diǎn),設(shè)計(jì)了一套運(yùn)行于DM642 之上的實(shí)時(shí)視

7、頻采集-壓縮編碼-傳輸?shù)目尚蟹桨?。采?394 總線輸入高速圖像數(shù)據(jù),經(jīng)過DSP處理后再壓縮由以太網(wǎng)絡(luò)傳輸。本文概述了該方案的硬件實(shí)現(xiàn)以及高速壓縮視頻編碼的軟件優(yōu)化。</p><p><b>  目 錄</b></p><p>  第1章 緒 論 6</p&g

8、t;<p>  第2章 本視頻監(jiān)控系統(tǒng)的規(guī)劃 8</p><p>  2.1 視頻監(jiān)控系統(tǒng)構(gòu)成 8</p><p>  2.1.1 視頻監(jiān)控系統(tǒng)設(shè)計(jì)需求 8&

9、lt;/p><p>  2.1.2 系統(tǒng)的總體設(shè)計(jì) 9</p><p>  第3章 本視頻監(jiān)控系統(tǒng)硬件設(shè)計(jì) 10</p><p>  3.1 TMS320DM642簡(jiǎn)介

10、 10</p><p>  3.2 視頻輸入模塊 10</p><p>  3 .3 音頻輸入輸出(CODEC)模塊 11</p><p>  3.4 CDMA無線傳輸串口模塊

11、 12</p><p>  3.5 DE及USB通信模塊 12</p><p>  3.6 電源及其它模塊 13</p><p>  第4章 本視頻監(jiān)

12、控系統(tǒng)軟件設(shè)計(jì) 14</p><p>  4.1·DSP端軟件 14</p><p>  4.2·PC端軟件 15&

13、lt;/p><p>  4.3 算法設(shè)計(jì)與DSP實(shí)現(xiàn) 15</p><p>  4.4 自適應(yīng)背景模型建立 15</p><p>  4.5 差值圖像建立及二值化

14、 16</p><p>  4.6 jpg 16</p><p>  第5章 本系統(tǒng)的實(shí)現(xiàn)及優(yōu)化 18</p><p>  5.1 DSP的實(shí)現(xiàn)

15、 18</p><p>  5.1.1 網(wǎng)絡(luò)部分的實(shí)現(xiàn) 18</p><p>  5.1.2 編程實(shí)例 20</p><

16、;p>  5.2 硬件優(yōu)化 21</p><p>  5.2.1使用庫函數(shù) 22</p><p>  5.2.2改寫線性匯編

17、 22</p><p>  5.2.3存儲(chǔ)器優(yōu)化 22</p><p>  5.2.4使用EDMA 23</p><p>  5.3 程序優(yōu)化

18、 23</p><p>  5.3.1修改視頻數(shù)據(jù)交換方式 23</p><p>  5.3.2運(yùn)算集中的功能塊運(yùn)用快速算法 24</p><p>  5.3.3 優(yōu)化源代碼

19、 24</p><p>  5.3.4 運(yùn)用TI圖象庫 24</p><p>  第6章 工作總結(jié)及展望 26</p><p&g

20、t;  6.1 總結(jié) 26</p><p>  6.2 展望 26</p><p>  參考文獻(xiàn)

21、 28</p><p><b>  第1章 緒 論</b></p><p>  目前視頻監(jiān)控廣泛應(yīng)用于安防監(jiān)控、工業(yè)監(jiān)控和交通監(jiān)控等領(lǐng)域。視頻監(jiān)控系統(tǒng)大致經(jīng)歷3個(gè)階段:首先是基于模擬信號(hào)的電視監(jiān)控系統(tǒng),其功能單一、易受干擾且不易擴(kuò)展;隨后出現(xiàn)基于PC機(jī)的圖像監(jiān)控系統(tǒng),其終端功能較強(qiáng).但價(jià)格昂貴,穩(wěn)定性差;近年來,隨著嵌入式技術(shù)成熟,嵌入式視頻采集處理

22、系統(tǒng)具有可靠性高、速度快、成本低、體積小、功耗低、環(huán)境適應(yīng)性強(qiáng)等優(yōu)點(diǎn)。</p><p>  視頻監(jiān)控突然之間“成了對(duì)數(shù)字視頻芯片提供商而言發(fā)展速度最快的市場(chǎng)”。克里斯·戴是加利福尼亞州圣克拉提供數(shù)據(jù)視頻芯片的Mobilygen公司總裁兼CEO,他在圓滿結(jié)束了訪華之旅后不久說了上面這番話。如今,視頻監(jiān)控應(yīng)用正在中國市場(chǎng)以驚人的速度蓬勃發(fā)展。 據(jù)安全行業(yè)協(xié)會(huì)(SIA)在去年發(fā)布的《中國安全市場(chǎng)報(bào)告》

23、聲稱,預(yù)計(jì)中國的安全與保護(hù)市場(chǎng)會(huì)從2005年的63億美元猛增至2010年的180億美元。這個(gè)市場(chǎng)包括消防安全監(jiān)控以及安全監(jiān)控和訪問控制領(lǐng)域。 在視頻監(jiān)控領(lǐng)域音視頻編解碼產(chǎn)品的開發(fā)上,主流數(shù)字DVR廠商基本都采用了在專用DSP芯片上運(yùn)行自己壓縮/解壓算法的方式以迎合客戶靈活多變的需求。從硬件的框架布局上看,無論采用任何芯片廠家的DSP,其基礎(chǔ)結(jié)構(gòu)大同小異。從德州儀器(TI)等老牌公司到Stret

24、ch和Mobilygen這些新興公司,都希望牢牢抓住這個(gè)大好契機(jī),他們正在竭力推銷針對(duì)數(shù)字視頻服務(wù)器(DVS)、數(shù)字視頻錄像機(jī)(DVR)及互聯(lián)網(wǎng)協(xié)議(IP)視頻攝像機(jī)的視頻監(jiān)控解決方案。許多公司直接把目光對(duì)準(zhǔn)了新興的中國市場(chǎng)。</p><p>  同時(shí)國內(nèi)許多有實(shí)力的公司也在致力于開發(fā)更好更完善的監(jiān)控系統(tǒng)。神州數(shù)碼在07年推出了包括Trigger(基于DSP的嵌入式智能視頻分析儀),Behavior Watch(

25、基于PC的智能視頻分析軟件),Cortex(中央管理軟件),以及iSense(內(nèi)置攝像頭的智能人流統(tǒng)計(jì)儀)在內(nèi)的多種智能視頻監(jiān)控設(shè)備和系統(tǒng),可以實(shí)現(xiàn)物體移動(dòng)、滯留、移走、路徑、突然出現(xiàn)、方向檢測(cè)、速度檢測(cè)、人流統(tǒng)計(jì)、門禁防尾隨等多種分析功能。由芬蘭Futuvision集團(tuán)與中國英夫美迪集團(tuán)公司、四川電子科技大學(xué)聯(lián)合實(shí)驗(yàn)室等核心人員聯(lián)合組建的樂圖(LOTOO)公司,也正在不斷推出有競(jìng)爭(zhēng)力的產(chǎn)品。</p><p> 

26、 基于嵌入式系統(tǒng)的上述諸多優(yōu)點(diǎn),這里提出一種基于DSP的視頻監(jiān)控系統(tǒng)解決方案。</p><p>  本文的視頻監(jiān)控系統(tǒng)針對(duì)TMS320DM642 的硬件結(jié)構(gòu)特點(diǎn),設(shè)計(jì)了一套運(yùn)行于DM642 之上的實(shí)時(shí)視頻采集-壓縮編碼-傳輸?shù)目尚蟹桨?。采?394 總線輸入高速圖像數(shù)據(jù),經(jīng)過DSP壓縮處理后由以太網(wǎng)接口輸出。本文概述了該方案的硬件實(shí)現(xiàn)以及高速壓縮視頻編碼的軟件優(yōu)化。</p><p>  本

27、視頻監(jiān)控系統(tǒng)的規(guī)劃</p><p>  選用TMS320DM642作為系統(tǒng)CPU,并采用最新視頻編碼標(biāo)準(zhǔn)H.264壓縮算法,實(shí)現(xiàn)基于CDMA網(wǎng)絡(luò)傳輸?shù)臒o線視頻監(jiān)控和視頻數(shù)據(jù)存儲(chǔ)系統(tǒng)。</p><p>  隨著運(yùn)營商在國內(nèi)大部分地區(qū)推出GRPS和CDMA1x公共無線數(shù)據(jù)網(wǎng)絡(luò),通過公共無線數(shù)據(jù)網(wǎng)絡(luò)傳輸視頻已成為當(dāng)今研究和應(yīng)用的熱點(diǎn),它能徹底解決微波方式的短距離問題。由于公共無線數(shù)據(jù)網(wǎng)絡(luò)的帶寬比

28、較窄且不穩(wěn)定,采用編碼效率不高的視頻壓縮算法(如H.263、MPEG4等),傳輸效果不理想,無法滿足大多數(shù)監(jiān)控場(chǎng)合的要求。</p><p>  H.264是JVT制定的最新視頻壓縮標(biāo)準(zhǔn),比H.263和MPEG-4在同質(zhì)量時(shí)碼流可低50%,同時(shí)支持無線網(wǎng)絡(luò)傳輸,但其運(yùn)算復(fù)雜度也是H.263和MPEG-4的3-5倍,因此一般的CPU系統(tǒng)無法滿足要求。TMS320DM642是TI最新推出的高性能數(shù)字媒體處理器,指令最高

29、可達(dá)4800MIPS,可以滿足實(shí)時(shí)H.264編碼算法的要求。</p><p>  本文設(shè)計(jì)了基于TMS320DM642的嵌入式系統(tǒng),采用H.264視頻編碼算法,成功的開發(fā)了基于CDMA傳輸?shù)臒o線視頻監(jiān)控系統(tǒng)。</p><p>  2.1視頻監(jiān)控系統(tǒng)構(gòu)成</p><p>  2.1.1視頻監(jiān)控系統(tǒng)設(shè)計(jì)需求</p><p>  本系統(tǒng)要求采用嵌入

30、式視頻發(fā)送終端,對(duì)采集視頻圖像進(jìn)行實(shí)時(shí)壓縮并通過CDMA網(wǎng)絡(luò)發(fā)送,接收端采用PC機(jī)對(duì)接收視頻數(shù)據(jù)進(jìn)行解碼并顯示。對(duì)于嵌入式視頻發(fā)送終端有如下需求:</p><p> ?、僖宦稰AL/NTSC標(biāo)準(zhǔn)模擬視頻輸入,一路模擬音頻輸入; </p><p> ?、诓捎肅DMA接入方式將視頻數(shù)據(jù)通過網(wǎng)絡(luò)發(fā)送;</p><p>  ③采用CF卡或硬盤對(duì)視頻進(jìn)行本地存儲(chǔ);</

31、p><p> ?、馨l(fā)送圖像和保存圖像的尺寸和幀率等參數(shù)可調(diào);</p><p> ?、菘赏ㄟ^無線網(wǎng)絡(luò)進(jìn)行遠(yuǎn)程控制,并且要求低功耗。</p><p>  2.1.2 系統(tǒng)的總體設(shè)計(jì)</p><p>  由于CDMA無線網(wǎng)絡(luò)帶寬窄、帶寬波動(dòng)大,因此系統(tǒng)中采用H.264作為視頻壓縮算法。同時(shí)本地存儲(chǔ)與CDMA發(fā)送視頻在圖像尺寸和幀率上不同,需要采用兩個(gè)編

32、碼結(jié)構(gòu)分別進(jìn)行編碼。</p><p>  圖1顯示了本系統(tǒng)的總體結(jié)構(gòu)框圖,系統(tǒng)主要包括DM642CPU、視頻輸入、音頻輸入/輸出、硬盤接口、串口和USB通信(USB2.0)等主要功能模塊,此外還包括實(shí)時(shí)時(shí)鐘(RTC)、顯示和I/O接口(LCD&I/O)、SDRAM、FLASH和電源(POWER)模塊。下面將詳細(xì)地對(duì)各個(gè)功能模塊進(jìn)行一一分析和設(shè)計(jì)。</p><p>  圖1 視頻發(fā)送

33、終端系統(tǒng)框圖</p><p>  本視頻監(jiān)控系統(tǒng)硬件設(shè)計(jì)</p><p>  3.1 TMS320DM642簡(jiǎn)介</p><p>  TMS320DM642是TI推出的針對(duì)多媒體處理領(lǐng)域應(yīng)用的高性能數(shù)字媒體處理器。該處理器是專門為視頻與影像市場(chǎng)量身定制的,特別適用于VOIP視頻、視頻點(diǎn)播(VOD)、多信道數(shù)字視頻攝錄像應(yīng)用以及高品質(zhì)視頻編碼與解碼解決方案。</

34、p><p>  DM642處理器內(nèi)部集成了TMS320C64X的DSP內(nèi)核,在600MHz運(yùn)行速度下,指令可達(dá)4800MIPS,由于其強(qiáng)大的運(yùn)算能力,可以實(shí)現(xiàn)實(shí)時(shí)的H.264編解碼算法。</p><p>  DM642內(nèi)部集成了外部?jī)?nèi)存接口(EMIF)控制單元,通過20根地址線和64位數(shù)據(jù)總線可直接與外部的SDRAM、FLASH進(jìn)行連接。本系統(tǒng)中由于采用100MHz的SDRAM,考慮到信號(hào)完整

35、性,SDRAM直接與DM642連接,而FLASH通過總線加以驅(qū)動(dòng)后加以連接。 </p><p>  3.2 視頻輸入模塊</p><p>  DM642具有三個(gè)視頻端口,支持多種分辨率和標(biāo)準(zhǔn),如CCIR601、ITU-BT.656、BT.1120等,每個(gè)端口為20bit位寬,可以被靈活的配置為一個(gè)20/16bit或兩個(gè)10/8bit通道。同時(shí),每個(gè)端口都可配置為視頻輸入或視頻輸出。本系統(tǒng)中

36、采用VP0與SAA7113H相連進(jìn)行視頻輸入采集。</p><p>  SAA7113H為9bit視頻解碼器,其內(nèi)部有由視頻源選擇、反混疊濾波器和ADC組成的兩通道模擬預(yù)處理電路、增益控制、時(shí)鐘發(fā)生電路(CGC)、多標(biāo)準(zhǔn)數(shù)字解碼器、亮度飽和度控制電路等組成。</p><p>  它支持PAL、NATSC等多種視頻輸入格式,輸出支持標(biāo)準(zhǔn)的ITU.656YUV4∶2∶28bit格式,通過I2C

37、總線進(jìn)行控制,只需一個(gè)24.576MHz外部晶振,采用3.3V電源、具有小于0.5W的功耗。SAA7113H與DM642接口見圖2。</p><p>  圖2 SAA7113H與DM642接口</p><p>  3 .3 音頻輸入輸出(CODEC)模塊</p><p>  DM642具有多通道音頻串行端口(McASP)和兩個(gè)多通道有緩存的串口(McBSPs),但它

38、們是與視頻端口復(fù)用的,本系統(tǒng)中采用VP1中的McBSPs1作為與音頻Codec連接的接口。</p><p>  TLV320AIC23B是TI推出的一款高性能的立體聲音頻Codec芯片,內(nèi)置耳機(jī)輸出放大器,支持MIC和LINEIN兩種輸入方式(二選一),且對(duì)輸入和輸出都具有可編程增益調(diào)節(jié)。</p><p>  AIC23B的模數(shù)轉(zhuǎn)換(ADCs)和數(shù)模轉(zhuǎn)換(DACs)部件高度集成在芯片內(nèi)部,

39、采用了先進(jìn)的Sigma-delta過采樣技術(shù),可以在8k到96k的頻率范圍內(nèi)提供16bit、20bit、24bit和32bit的采樣,ADC和DAC的輸出信噪比分別可以達(dá)到90dB和100dB。</p><p>  AIC23B還具有很低的能耗,回放模式下功率僅為23mW。</p><p>  AIC23B與DM642接口見圖3。</p><p>  圖3 AIC2

40、3B與DM642接口</p><p>  3.4 CDMA無線傳輸串口模塊</p><p>  本系統(tǒng)中采用Q2358C串行接口模塊作為CDMA接入設(shè)備,它支持語音通信、支持中英文短信、雙音多頻功能(DTMF)等功能。波特率從300到115,200bit/s,支持上網(wǎng)最高速率153kb/s,采用AT指令集通過RS-232串口進(jìn)行通信。DM642沒有異步通用串行接口,需采用擴(kuò)展異步通信芯片來

41、實(shí)現(xiàn)串行通信。</p><p>  TL16C752B是UART收發(fā)器,最高波特率可以達(dá)到3Mb/s(使用48MHz時(shí)鐘源時(shí)),其內(nèi)部具有64byte發(fā)送/接收FIFO,接收FIFO的啟動(dòng)和停止可通過軟件編程實(shí)現(xiàn),支持多種波特率、多種串行數(shù)據(jù)格式。DM642與其連接采用EMIF控制,地址線A0~A2、數(shù)據(jù)線D0~D7、讀寫控制信號(hào)IOR/IOW與經(jīng)過驅(qū)動(dòng)的總線相連,而選通信號(hào)CSA/CSB由GAL產(chǎn)生。TL16C

42、752B與Q2358C模塊之間通過MAX3243進(jìn)行電平轉(zhuǎn)換連接。圖4給出一路串行接口連接方式。 </p><p>  3.5 DE及USB通信模塊 </p><p>  本系統(tǒng)中對(duì)采集視頻要進(jìn)行本地?cái)?shù)據(jù)存儲(chǔ),采用CF卡或IDE硬盤來保存數(shù)據(jù),在通過USB2.0將保存于CF卡或DE硬盤中的數(shù)據(jù)在需要時(shí)讀出。DM642與DE接口通過GAL16LV8產(chǎn)生的信號(hào)進(jìn)行控制。</p>

43、<p>  TUSB6250采用內(nèi)嵌8051內(nèi)核的USB2.0到ATA/ATAPI橋接器,其完全兼容USB2.0標(biāo)準(zhǔn),支持八個(gè)可配置終端(四路輸入和四路輸出)。內(nèi)部集成USB存儲(chǔ)設(shè)備傳輸協(xié)議,與ATA/ATAPI設(shè)備無縫連接。</p><p>  內(nèi)部集成的60MHz8051微處理器指令速度可達(dá)30MIPS,40kbyteRAM可靈活的配置為數(shù)據(jù)或代碼RAM,13個(gè)通用I/O口能進(jìn)行各種通信和控制使用,

44、并有I2C接口。在本系統(tǒng)中通過I2C和HPI總線實(shí)現(xiàn)DSP和TUSB6250之間的通信。DE及USB部分接口見圖5。</p><p>  圖4 DM642與IDE及USB部分接口</p><p>  3.6 電源及其它模塊</p><p>  DM642采用雙電源供電,內(nèi)核電源采用為1.4V消耗電流為890mA;I/O電源采用3.3V消耗電流為210mA。由于內(nèi)核電

45、源電壓低同時(shí)消耗電流較大,如果采用LDO電源效率較低,消耗功率將加大,所以在本系統(tǒng)中采用兩個(gè)開關(guān)電源芯片TPS54310分別產(chǎn)生3.3V和1.4V電源,電源效率可達(dá)90%以上。</p><p>  DM642提供了16個(gè)通用I/O,通過這些I/O實(shí)現(xiàn)鍵盤輸入、控制開關(guān)量輸入與輸出。DM642的視頻端口VP3配置為輸出直接與LCD連接。另外,系統(tǒng)中采用DS1338作為實(shí)時(shí)時(shí)鐘,提供實(shí)時(shí)時(shí)間信息。</p>

46、<p>  本視頻監(jiān)控系統(tǒng)軟件設(shè)計(jì)</p><p>  4.1·DSP端軟件</p><p>  DSP板卡運(yùn)行多通道的智能監(jiān)控算法,算法以庫形式提供。軟件構(gòu)架則以算法庫為核心、DSP/BIOS[6]和RF5[7]為框架進(jìn)行構(gòu)建。 DSP/BIOS是TI公司提出的高度優(yōu)化、可裁剪的DSP實(shí)時(shí)操作系統(tǒng)內(nèi)核,提供了搶占式的線程調(diào)度,內(nèi)存管理,外設(shè)管理和可視化的調(diào)試工具等

47、特性。 RF5是一種基于DSP/BIOS的DSP軟件框架,提供了內(nèi)存管理策略,線程模型,通道封裝和算法管理。一臺(tái)服務(wù)器主機(jī)中可以安裝5張獨(dú)立的DSP板卡。</p><p>  DSP軟件包括自啟動(dòng)、初始化、和線程創(chuàng)建</p><p>  第五步動(dòng)態(tài)創(chuàng)建了1個(gè)算法處理線程(ProcessTsk)、2個(gè)PCI通信線程(SendTsk,ReceiveTsk)以及一個(gè)中斷服務(wù)子程序(PCI_ISR

48、):ProcessTsk根據(jù)客戶端為每個(gè)通道設(shè)定的監(jiān)控規(guī)則,對(duì)通道中的圖像進(jìn)行算法分析,若有目標(biāo)違規(guī),則記錄違規(guī)場(chǎng)景,產(chǎn)生報(bào)警信息,否則送出原始圖像。SendTsk負(fù)責(zé)把ProcessTsk產(chǎn)生的報(bào)警信息或者圖像通過PCI傳輸?shù)絇C端;ReceiveTsk負(fù)責(zé)接收來自本地板卡的模擬攝像頭和來自PC端的網(wǎng)絡(luò)攝像頭圖像,以及PC端來的信息。并傳遞給ProcessTsk;PCI_ISR負(fù)責(zé)監(jiān)聽來自PC端的請(qǐng)求,根據(jù)不同請(qǐng)求發(fā)送不同的旗語,控制

49、線程間的運(yùn)行。</p><p>  主機(jī)服務(wù)器準(zhǔn)備傳輸控制命令或者圖像的時(shí)候,向DSP發(fā)送中斷請(qǐng)求。PCI_ISR將響應(yīng)這些請(qǐng)求,根據(jù)主機(jī)服務(wù)器的不同信息向其他線程發(fā)送不同的控制旗語:如果是PC端接收一幀圖像完畢,則向SendTsk 發(fā)旗語PCI_READ_OK,表示可以接收下一幀圖像;如果是斷開、連接通道請(qǐng)求,則向ReceiveTsk發(fā)送旗語PCI_WRITE_OK,表示可以接收信息。ReceiveTsk接收網(wǎng)

50、絡(luò)攝像機(jī)或者模擬攝像機(jī)圖像和控制命令。如果收到圖像,將其存儲(chǔ)在SDRAM的一個(gè)緩沖區(qū)中,以待進(jìn)行算法分析; 如果收到控制命令,將其存儲(chǔ)在由PC、DSP共同維護(hù)的一個(gè)緩沖區(qū)中。然后發(fā)起SCOM通信,把信息傳送到ProcessTsk維護(hù)的SCOM中。 SCOM是RF5框架中的通信模塊,提供了隊(duì)列 (Queue)和旗語(Semaphore)的雙重功能。ProcessTsk收到信息后,會(huì)使用視頻緩沖區(qū)和控制命令緩沖區(qū)中的數(shù)據(jù)作為算法參數(shù)進(jìn)行計(jì)算

51、。ProcessTsk計(jì)算完成后,會(huì)產(chǎn)生相應(yīng)的結(jié)果,比如警報(bào)或者處理信息。這些數(shù)據(jù)會(huì)保存在一個(gè)字節(jié)數(shù)組中,然后將其打包封裝成一個(gè)Message 對(duì)象,將其發(fā)送到SendTsk維護(hù)的</p><p><b>  4.2·PC端軟件</b></p><p>  在服務(wù)器主機(jī)端,主要實(shí)現(xiàn)三個(gè)功能:(1)接收來自網(wǎng)絡(luò)攝像頭的視頻流并解碼,對(duì)應(yīng)模塊為網(wǎng)絡(luò)攝像機(jī)模塊;(

52、2)構(gòu)建用戶界面,即客戶端模塊,記錄用戶算法設(shè)置、控制命令等,用戶可以根據(jù)自己的需求在規(guī)則設(shè)置界面中對(duì)特定的通道設(shè)置算法參數(shù)和控制命令等;(3)將圖像數(shù)據(jù)和算法參數(shù)、控制命令傳給 DSP端,對(duì)應(yīng)模塊為后臺(tái)服務(wù)模塊。</p><p>  4.3算法設(shè)計(jì)與DSP實(shí)現(xiàn)</p><p>  基于DM642的智能視頻監(jiān)控系統(tǒng)的核心是智能視頻監(jiān)控算法,本算法可以實(shí)現(xiàn)對(duì)監(jiān)控目標(biāo)物越線產(chǎn)生報(bào)警,對(duì)貴重物體

53、消失產(chǎn)生報(bào)警,對(duì)可疑物體產(chǎn)生報(bào)警。算法原理:首先利用改進(jìn)的幀間差分法來初始化背景模型,得到自適應(yīng)背景圖像[9];然后把當(dāng)前圖像和背景圖像做差分運(yùn)算;再使用動(dòng)態(tài)閾值法對(duì)差值圖像二值化,引入形態(tài)學(xué)噪聲濾波器來消除噪聲影響[8];進(jìn)而使用快速二值圖像連通域標(biāo)記算法提取動(dòng)目標(biāo);最后與用戶預(yù)先設(shè)置的警戒規(guī)則進(jìn)行比較,如有違規(guī),產(chǎn)生報(bào)警信息。算法流程如圖4所示。</p><p>  4.4自適應(yīng)背景模型建立</p>

54、;<p>  在運(yùn)動(dòng)目標(biāo)檢測(cè)過程中背景模型建立的準(zhǔn)確與否直接影響到目標(biāo)檢測(cè)結(jié)果的好壞。由于背景是個(gè)漸變的過程,所以采用了自適應(yīng)背景更新方法:在視頻圖像序列中先假設(shè)第一幀圖像為參考圖像I0,在隨后的圖像序列中找兩幀圖像I1和I2,要求運(yùn)動(dòng)部分在I0,I1以及I2中所占區(qū)域沒有重疊,將三幀圖像的灰度值平均得到圖像I:</p><p>  將圖像I與I0進(jìn)行比較,如果差別較大(差值超出某一閾值T0),則為

55、目標(biāo)區(qū)域,否則為背景區(qū)域;在目標(biāo)區(qū)域,進(jìn)一步判斷I1與I2的灰度值,如差別不大(差值小于某一閾值T1),則可用I1或I2中對(duì)應(yīng)區(qū)域作為背景對(duì)應(yīng)區(qū)域,否則用I0中對(duì)應(yīng)區(qū)域作為背景對(duì)應(yīng)區(qū)域,經(jīng)過這一替代,就可以得到一個(gè)不包含運(yùn)動(dòng)目標(biāo)的背景圖像Ib。然后用此參考圖像初始化背景圖像模型,公式如下:</p><p>  4.5差值圖像建立及二值化</p><p>  自適應(yīng)背景BL產(chǎn)生后,每一幀視頻

56、圖像將與BL差分,并得到差分后的差值圖像,進(jìn)而進(jìn)行二值化。在這一過程中,閾值選取的優(yōu)劣是二值化結(jié)果好壞的關(guān)鍵。本文采用動(dòng)態(tài)閾值法進(jìn)行二值化處理。它的基本思想是對(duì)于需要二值化的每一幀差值圖像,確定一個(gè)最佳閾值,使圖像進(jìn)行二值化處理后,能方便而準(zhǔn)確的定位目標(biāo)物。具體過程如下。</p><p>  設(shè)差值圖像灰度值取值分布范圍為1~K,像素總數(shù)為N,灰度為i的像素?cái)?shù)為ni,則每個(gè)圖像灰度值的取值概率為:pi=ni/N。

57、設(shè)以h為閾值將圖像分割為兩個(gè)區(qū)域A、B,灰度為1到h的像素和灰度為h+1到K的像素分別構(gòu)成區(qū)域A和B,各組產(chǎn)生的概率為:</p><p>  4.6 jpg以類間方差作為衡量分離性能的準(zhǔn)則,極大化的過程就是自動(dòng)取定閾值的過程,因此,最佳閾值為: </p><p>  。換句話說,類間方差最大的那個(gè)圖像灰度值就是當(dāng)前差值圖像的最佳閾值。</p><p><b

58、>  運(yùn)動(dòng)目標(biāo)檢測(cè)</b></p><p>  動(dòng)態(tài)閾值確定以后,可根據(jù)此閾值對(duì)差值圖像進(jìn)行二值化,得到二值圖像。但是在背景和目標(biāo)中還會(huì)存在一定量的噪聲斑點(diǎn),再經(jīng)過形態(tài)學(xué)運(yùn)算處理后的圖像更有利于目標(biāo)提取,濾波后的二值圖像通常包含多個(gè)連通區(qū)域。本文采用改進(jìn)快速標(biāo)記算法對(duì)各連通域進(jìn)行檢測(cè)提取。該算法對(duì)原圖像只進(jìn)行一次掃描后通過特殊的邊界像素標(biāo)記,就能搜集足夠信息,可方便快捷的獲得目標(biāo)幾何特征參數(shù),算

59、法分為像素掃描、整理等價(jià)表和圖像代換,共三個(gè)環(huán)節(jié)。</p><p>  根據(jù)用戶設(shè)置的算法規(guī)則判斷報(bào)警</p><p>  得到動(dòng)目標(biāo)的外接矩形以后,對(duì)每一個(gè)目標(biāo)物進(jìn)行跟蹤監(jiān)控就具體化為對(duì)每一個(gè)矩形框的跟蹤監(jiān)控。這一過程中,用戶通過PC端的客戶端模塊中的用戶界面來選擇算法規(guī)則,實(shí)現(xiàn)對(duì)人或車的監(jiān)控。用戶可以在主機(jī)服務(wù)器界面中設(shè)定規(guī)則,包括對(duì)場(chǎng)景設(shè)置虛擬警戒線、警戒區(qū)域和違規(guī)行為(比如貴重物體

60、消失報(bào)警,可疑物的出現(xiàn)報(bào)警,目標(biāo)物的越線報(bào)警)。一旦當(dāng)前幀有外接矩形違規(guī),則產(chǎn)生報(bào)警信息。</p><p>  第5章 本系統(tǒng)的實(shí)現(xiàn)及優(yōu)化</p><p>  5.1 DSP的實(shí)現(xiàn)</p><p>  本節(jié)考慮DSP嵌入式系統(tǒng)的特點(diǎn),對(duì)基于PC的MPEG-4編碼器程序結(jié)構(gòu)流程進(jìn)行調(diào)整,對(duì)PC上的處理程序進(jìn)行移植,并提高編碼器的運(yùn)行效率,提高編碼速度。PC 上的程序

61、往往只重視功能的實(shí)現(xiàn),程序代碼結(jié)構(gòu)和數(shù)據(jù)的安排只是從實(shí)現(xiàn)的難易上考慮,而DSP 嵌入式程序受到DSP 硬件資源的限制,對(duì)程序流程和數(shù)據(jù)組織需要從硬件資源和代碼運(yùn)行效率上作詳細(xì)的考量。</p><p>  本節(jié)分析編碼程序的流程,優(yōu)化程序的代碼結(jié)構(gòu)和數(shù)據(jù)結(jié)構(gòu),減少不必要代碼的運(yùn)行,以充分利用DM642 并行指令系統(tǒng)。根據(jù)程序數(shù)據(jù)的大小和生命周期,合理安排其在存儲(chǔ)器中的位置,合理開辟內(nèi)存空間,提高內(nèi)存區(qū)的復(fù)用率,減少

62、片內(nèi)外存儲(chǔ)器數(shù)據(jù)交換的頻率,避免在程序中頻繁地分配和釋放內(nèi)存,減小內(nèi)存碎片。</p><p>  5.1.1 網(wǎng)絡(luò)部分的實(shí)現(xiàn)</p><p>  在TMS320DM642 的實(shí)際系統(tǒng)開發(fā)中,程序往往采用混合編程的方法實(shí)現(xiàn):主函數(shù)采用C 程序編寫,因?yàn)檫@樣編譯器會(huì)幫助初始化一些狀態(tài)值,也方便整體模塊的控制;對(duì)于那些耗時(shí)多、運(yùn)算密集的模塊采用線性匯編編寫。這種C 語言和線性匯編語言結(jié)合的程序既

63、能保證程序的結(jié)構(gòu)化和可讀性又能保證應(yīng)用的實(shí)時(shí)性。</p><p>  DSP的軟件開發(fā)一般分為三個(gè)階段:</p><p>  第一階段:編寫C 代碼。在不考慮任何C6000 有關(guān)知識(shí)的情況下,根據(jù)任務(wù)編寫C代碼。然后,用C6000的Profiling工具確定代碼中可能存在的低效率段。通常這個(gè)階段的代碼性能很低,為進(jìn)一步改進(jìn)代碼性能,需要進(jìn)入第二階段。</p><p>

64、;  第二階段:優(yōu)化C 代碼。利用內(nèi)聯(lián)函數(shù)(intrinsics)、外殼選項(xiàng)和其他優(yōu)化方法改進(jìn)C 代碼。使用Profiling 工具檢查其性能,如果代碼仍不能達(dá)到所期望的效率,則進(jìn)入第三階段。</p><p>  第三階段:編寫線性匯編代碼。從C 代碼中抽出對(duì)性能影響很大的代碼段,</p><p>  用線性匯編重新編寫,然后用匯編優(yōu)化器優(yōu)化該代碼。同時(shí)考慮到,由于DSP 的不斷改進(jìn),其硬

65、件結(jié)構(gòu)越來越復(fù)雜,加之本方案所設(shè)計(jì)的硬件平臺(tái)包含了眾多的資源,為了能夠有效地管理好這些資源以及滿足編碼系統(tǒng)對(duì)實(shí)時(shí)性和穩(wěn)定性的要求,采用TI DSP/BIOS II,它是專門用于C5000 和C6000 TMS320 DSP 的一種可裁剪的實(shí)時(shí)內(nèi)核,并帶有可搶占的多線程實(shí)時(shí)分析工具以及系統(tǒng)構(gòu)置工具。DSP/BIOS是集成在TI公司的DSP系統(tǒng)開發(fā)軟件中的輔助開發(fā)工具,可以認(rèn)為是一個(gè)相對(duì)簡(jiǎn)單的實(shí)時(shí)操作系統(tǒng)。</p><p

66、>  整個(gè)軟件系統(tǒng)在TI C6000系列的集成開發(fā)環(huán)境CCS 2.2中實(shí)現(xiàn),由驅(qū)動(dòng)程序和應(yīng)用程序兩大部分構(gòu)成。其中,驅(qū)動(dòng)程序主要負(fù)責(zé)對(duì)硬件資源的操作,它們以庫的形式提供給應(yīng)用程序使用,包括芯片支持庫(CSL)、板級(jí)支持庫(BSL)等。應(yīng)用程序流程圖如圖5-1所示,主要包括以下幾個(gè)任務(wù)模塊:</p><p>  (1) 輸入任務(wù)模塊</p><p>  輸入任務(wù)模塊負(fù)責(zé)通過DM642和

67、FPGA訪問1394接口,通過FPGA里面的FIFO,完成捕獲數(shù)字視頻信號(hào)的工作。</p><p>  (2) 處理任務(wù)模塊</p><p>  處理任務(wù)模塊負(fù)責(zé)對(duì)捕獲的視頻數(shù)據(jù)進(jìn)行壓縮編碼,壓縮后的碼流交給輸出任務(wù)模塊以及網(wǎng)絡(luò)任務(wù)模塊。</p><p>  (3) 網(wǎng)絡(luò)任務(wù)模塊</p><p>  網(wǎng)絡(luò)任務(wù)模塊用于初始化網(wǎng)絡(luò)環(huán)境,輸出壓縮后

68、的視頻數(shù)據(jù),并用于支持系統(tǒng)中的網(wǎng)絡(luò)功能調(diào)用。</p><p>  圖5-1 實(shí)現(xiàn)MPEG-4視頻編碼器的軟件數(shù)據(jù)流圖</p><p>  圖5-2 編碼流程圖</p><p>  5.1.2 編程實(shí)例</p><p>  視頻編碼流程如圖5-2所示:</p><p>  (1) 編碼初始化包括初始化基本參數(shù),例如初始化

69、dct(init_idct())、vlc碼表(init_vlc_tables())、幀率等等。</p><p> ?。?)讀入編碼數(shù)據(jù),是設(shè)置一個(gè)字節(jié)指針(SourcePicY)并為它分配內(nèi)存塊,專門用來存放讀入的一幀數(shù)據(jù)。 </p><p> ?。?)編碼模塊中,主要說明P幀的運(yùn)動(dòng)信息編碼。定義MotionEstimationCompensation()函數(shù)實(shí)現(xiàn)運(yùn)動(dòng)估計(jì)與補(bǔ)償。在高級(jí)模式

70、下估計(jì)運(yùn)動(dòng)向量,C3腳函數(shù)輸出為:4 個(gè)包含運(yùn)動(dòng)向量(宏塊大小為8×8)橫縱坐標(biāo)的圖像,處理模塊(每個(gè)宏塊一個(gè)值)。那么運(yùn)動(dòng)補(bǔ)償也是同樣的處理方式。VopCodeShapeIVOP()和VopShapeMotPVOP()函數(shù)分別實(shí)現(xiàn)一個(gè)視頻對(duì)象平面的幀內(nèi)紋理編碼和運(yùn)動(dòng)形狀紋理編碼。整個(gè)程序在編碼過程中分配存儲(chǔ)空間,最后釋放。</p><p> ?。?)最后,視頻流通過函數(shù)BitStreamOutFile

71、()輸出,并關(guān)閉文件指針。移植到DSP上后,首先對(duì)dm642的板及芯片庫初始化,以及對(duì)1394采集電路部分包括數(shù)字相機(jī)的初始化設(shè)置,dm642 的緩存清空,EDMA 設(shè)置。為了便于使用和管理編碼器程序中的資源,我們首先構(gòu)建了VPORTCAP_Params 數(shù)據(jù)結(jié)構(gòu)進(jìn)行使用。VPORTCAP_Params結(jié)構(gòu)封裝了編碼碼流目標(biāo)碼率、幀率、所采用的量化系數(shù)范圍和圖像大小格式等變量,可以作為編碼器對(duì)外的接口,用于設(shè)置編碼器的參數(shù)。</p

72、><p><b>  整個(gè)程序通過</b></p><p>  tskVideoInputStart();</p><p>  tskVideoOutputStart();</p><p>  tskProcessInit();</p><p>  tskProcessStart();</p&g

73、t;<p>  tskProcess();</p><p><b>  實(shí)現(xiàn)整個(gè)流程。</b></p><p>  在編碼移植過程中,要特別注意P幀編碼。P幀和I幀相比,多了運(yùn)動(dòng)預(yù)測(cè)部分。原參考程序中,根據(jù)參考幀,先進(jìn)行半像素插值,接著對(duì)整個(gè)當(dāng)前幀的所有宏塊作整像素和半像素運(yùn)動(dòng)搜索,保存各個(gè)宏塊的運(yùn)動(dòng)矢量,然后再依次對(duì)各個(gè)宏塊殘差補(bǔ)償和編碼。這樣的流程把

74、當(dāng)前一個(gè)宏塊的運(yùn)動(dòng)搜索和殘差補(bǔ)償、編碼分割開來了,當(dāng)前宏塊需在片外存儲(chǔ)器和DM642片內(nèi)存儲(chǔ)器之間倒進(jìn)倒出,不利于cache的命中,影響了程序的運(yùn)行速度,故調(diào)整如下:</p><p>  首先,以宏塊為單位進(jìn)行運(yùn)動(dòng)估計(jì)、運(yùn)動(dòng)預(yù)測(cè)補(bǔ)償和編碼,把這三部分模塊串在一起。一個(gè)宏塊完成運(yùn)動(dòng)估計(jì)、運(yùn)動(dòng)預(yù)測(cè)殘差補(bǔ)償后,直接進(jìn)行編碼。</p><p>  其次,在對(duì)宏塊完成整像素運(yùn)動(dòng)搜索后,要選擇宏塊的編

75、碼模式。如果是INTRA宏塊,則不需要半像素搜索,直接編碼當(dāng)前宏塊即可,流程與編碼I幀類似;如果是INTER宏塊,則進(jìn)行相應(yīng)的半像素搜索和運(yùn)動(dòng)預(yù)測(cè),保存運(yùn)動(dòng)預(yù)測(cè)的宏塊數(shù)據(jù),然后對(duì)殘差數(shù)據(jù)進(jìn)行處理和編碼[36]。</p><p><b>  5.2 硬件優(yōu)化</b></p><p>  優(yōu)化的過程是程序員和編譯器的一個(gè)交互的過程。編寫C6000 C/C++程序時(shí),必須正

76、確使用pragma directive(程序指令)和Keywords(關(guān)鍵字),這對(duì)能否獲得優(yōu)化的代碼關(guān)系極大。</p><p>  我們對(duì)DSP編碼程序代碼優(yōu)化原則是:利用C 代碼邏輯表達(dá)性強(qiáng)的優(yōu)點(diǎn),整體框架采用C 代碼編寫;程序框架搭建好后,再分別對(duì)消耗時(shí)間多的主要模塊進(jìn)行逐個(gè)優(yōu)化。這樣的優(yōu)化方案使得程序結(jié)構(gòu)清晰,模塊明確,便于程序的維護(hù)和升級(jí)。</p><p>  我們知道如果一段代

77、碼經(jīng)過編譯后的匯編結(jié)果沒有任何的并行,那么DM642就只是一個(gè)主頻600MHZ的處理器。要實(shí)現(xiàn)DM642 4800MIPS的強(qiáng)大計(jì)算功能,使代碼達(dá)到最快的運(yùn)行速度,就要充分發(fā)揮出DM642中央處理器并行處理的強(qiáng)大功能,使得代碼編譯后的匯編結(jié)果盡量達(dá)到理想的8 條指令并行,所以修改現(xiàn)有的代碼,提高代碼的并行性,是優(yōu)化程序代碼的目的之一。</p><p>  TI公司為專用于圖像視頻處理應(yīng)用提供了圖像處理函數(shù)庫IMG

78、LIB,對(duì)一些常用的圖像處理函數(shù)作了很好的優(yōu)化,函數(shù)代碼效率很高,可供程序員直接使用。TI C64x 系列DSP 還擴(kuò)展了很多多媒體數(shù)據(jù)處理指令,使其能夠更快速地執(zhí)行視頻和圖像處理中的算法,如雙字讀取和存取指令,數(shù)據(jù)打包與解包指令,高低半字和四字節(jié)的同時(shí)算術(shù)運(yùn)算指令。為了使用的方便,C6000編譯器還提供了許多與匯編指令相對(duì)應(yīng)的intrinsics(內(nèi)聯(lián)函數(shù)),可快速優(yōu)化C語言代碼。此外,還可以編寫線性匯編來進(jìn)一步優(yōu)化程序關(guān)鍵模塊。線性

79、匯編語言是為了簡(jiǎn)化C6000 匯編程序的開發(fā)而設(shè)計(jì)的,它并非是一個(gè)獨(dú)立的編程語言[</p><p>  為了進(jìn)一步提高系統(tǒng)性能,我們要充分發(fā)揮C6205的運(yùn)算能力。因此優(yōu)化必須從它的硬件結(jié)構(gòu)出發(fā),最大程度的利用八個(gè)功能單元,使用軟件流水線,盡量讓程序無沖突地并行執(zhí)行。</p><p>  5.2.1使用庫函數(shù)</p><p>  TI公司對(duì)TMS320C62XX的用

80、戶提供了功能強(qiáng)大的IMAGE LIB庫支持。在這個(gè)庫中,包含許多常用函數(shù),可以完成DCT/IDCT變換、小波變換、DCT量化、自適應(yīng)濾波等功能。這些函數(shù)都是優(yōu)化過的,完全能夠?qū)崿F(xiàn)軟件流水,效率很高。</p><p>  5.2.2改寫線性匯編</p><p>  雖然DSP芯片對(duì)C代碼編譯效率已經(jīng)達(dá)到90%以上[4],為了提高代碼的性能,我們可以對(duì)主要影響系統(tǒng)速度的關(guān)鍵代碼段用線性匯編或者

81、匯編來改寫。在MPEG-4編碼系統(tǒng)中,運(yùn)動(dòng)估計(jì)模塊占60%以上的運(yùn)算量,對(duì)運(yùn)動(dòng)估計(jì)算法進(jìn)行線性匯編改寫,對(duì)提高系統(tǒng)整體性能將有很大幫助。這一優(yōu)化效果在后面的結(jié)果分析中給出。</p><p>  5.2.3存儲(chǔ)器優(yōu)化</p><p>  存儲(chǔ)器優(yōu)化主要是高效的利用片內(nèi)存儲(chǔ)器。DSP對(duì)不同的存儲(chǔ)單元的訪問速度是有區(qū)別的,對(duì)片內(nèi)寄存器的訪問速度最快,對(duì)片內(nèi)存儲(chǔ)器的訪問速度比片外存儲(chǔ)器的訪問速度快

82、10-20倍。因此合理地配置和使用存儲(chǔ)空間,對(duì)系統(tǒng)整體效率影響很大。應(yīng)該盡可能地把訪問比較頻繁的常數(shù)表和代碼段裝入片內(nèi)RAM,如果</p><p>  5.2.4使用EDMA</p><p>  如前所述,為了提高系統(tǒng)性能,關(guān)鍵程序代碼段和數(shù)據(jù)區(qū)須存放到片內(nèi)內(nèi)存,而又由于片內(nèi)內(nèi)存大小的限制,大的數(shù)據(jù)塊,如原始圖像幀、參考幀、重建幀等必須存儲(chǔ)在片外SDRAM。且在MPEG4編碼算法中,算法主

83、要針對(duì)宏塊進(jìn)行。因此一幀完整的圖像往往需要分批次拷貝。此時(shí)如果運(yùn)用memcpy指令從SDRAM中拷貝數(shù)據(jù),需要占用相當(dāng)大的CPU資源,并且拷貝完一幅圖像還必須使用多次循環(huán),每次循環(huán)開始或結(jié)束DSP都必須等待至下一個(gè)指令周期,這樣就嚴(yán)重影響了整個(gè)算法的運(yùn)算速度。顯然,這些都涉及到數(shù)據(jù)在片內(nèi)內(nèi)存和片外SDRAM之間的搬移操作。EDMA可在沒有CPU參與的情況下,完成片內(nèi)L2存儲(chǔ)器與片外存儲(chǔ)器之間的數(shù)據(jù)傳輸。運(yùn)用EDMA功能單元,可大大減輕C

84、PU搬移數(shù)據(jù)的負(fù)擔(dān),不占用CPU的計(jì)算周期,提高CPU的運(yùn)行效率。</p><p>  因此本設(shè)計(jì)充分利用C64x的64通道的EDMA資源,使圖像輸入、補(bǔ)償圖像輸入、重構(gòu)圖像輸出等函數(shù)利用特定的EDMA通道。這樣就可以極大的減少數(shù)據(jù)拷貝對(duì)DSP的依賴。TMS320C64x器件的增強(qiáng)型DMA(EDMA)控制器是一種高效率的數(shù)據(jù)傳輸引擎,每個(gè)EDMA周期都可處理多達(dá)8個(gè)字節(jié),從而可在CPU速率為600MHz時(shí)實(shí)現(xiàn)每秒

85、2.4GB的總數(shù)據(jù)吞吐量。為了使我們的視頻編碼器應(yīng)用能充分受益于傳輸引擎的帶寬,充分利用可用的總線寬度非常重要。換言之,我們應(yīng)該盡量使用32位大小的傳輸單元。</p><p><b>  5.3 程序優(yōu)化</b></p><p>  本系統(tǒng)所包含的MPEG-4編解碼模塊軟件部分,是根據(jù)MPEG-4 14496-2視頻部分的簡(jiǎn)單框架[2]參考代碼進(jìn)行優(yōu)化和整合而成。首先

86、是對(duì)C語言參考代碼做以下的修改與優(yōu)化。</p><p>  5.3.1修改視頻數(shù)據(jù)交換方式</p><p>  由原來的硬盤事先錄制視頻方式轉(zhuǎn)換成實(shí)時(shí)內(nèi)存視頻交換方式。MPEG-4參考代碼的編碼器是針對(duì)事先已經(jīng)錄制好的視頻內(nèi)容進(jìn)行編碼,繼而進(jìn)行解碼,這顯然不能滿足實(shí)時(shí)監(jiān)控的要求;另外由于是以硬盤存儲(chǔ)方式進(jìn)行中間數(shù)據(jù)交換,而硬盤數(shù)據(jù)交換的速度有限,從而限制了編解碼器的編解碼速度。僅經(jīng)過這一步

87、修改后的視頻編解碼系統(tǒng)在同一系統(tǒng)條件下,編解碼速度獲得極大提高。</p><p>  5.3.2運(yùn)算集中的功能塊運(yùn)用快速算法</p><p>  如在視頻編碼中,被2000年MPEG Noordwijkerhout會(huì)議采納為優(yōu)化算法的運(yùn)動(dòng)向量場(chǎng)適應(yīng)搜索技術(shù) (MVFAST)[3]的快速運(yùn)動(dòng)估計(jì)算法,能同時(shí)保證很高的圖像質(zhì)量和搜索速度。另外,圖形圖像中常用的DCT變換,也采用廣泛應(yīng)用的整數(shù)D

88、CT快速算法,把浮點(diǎn)運(yùn)算轉(zhuǎn)換成整型數(shù)據(jù)運(yùn)算,降低運(yùn)算復(fù)雜度。實(shí)驗(yàn)證明,在保證圖像質(zhì)量幾乎不變的情況下,這些快速算法大大降低運(yùn)算復(fù)雜度,進(jìn)一步提高編解碼效率。</p><p>  5.3.3 優(yōu)化源代碼</p><p>  去除在簡(jiǎn)單框架中特別是本遠(yuǎn)程監(jiān)控系統(tǒng)中不需要的參數(shù)、結(jié)構(gòu)體和函數(shù)等。優(yōu)化源代碼以減小代碼執(zhí)行時(shí)間和代碼大小,如去除不必要的數(shù)據(jù)移動(dòng)和條件判斷及跳轉(zhuǎn),并盡量使用簡(jiǎn)單運(yùn)算指令

89、而避免使用復(fù)雜數(shù)學(xué)運(yùn)算,如用移位操作和位邏輯操作替代部分的除法(/)、乘法(*)、模運(yùn)算(%)、比較運(yùn)算等。對(duì)實(shí)現(xiàn)同一功能的重復(fù)函數(shù)進(jìn)行合并,去掉不被用到的數(shù)據(jù)空間。在本遠(yuǎn)程監(jiān)控系統(tǒng)中,沒有用到MPEG-4的Alpha圖像通道、B編碼方式和圖像增強(qiáng)層,從而相應(yīng)的參數(shù)和</p><p>  函數(shù)都可以去除,從而獲得最終遠(yuǎn)程監(jiān)控系統(tǒng)中所需的最小功能模塊集。</p><p>  5.3.4 運(yùn)用

90、TI圖象庫</p><p>  圖像、視頻處理有一些常見的數(shù)據(jù)處理操作,如DCT 變換、反DCT 變換、SAD計(jì)算等。TI C64x系列DSP是一種專用于視頻圖像處理的高性能媒體處理器,為了降低DSP開發(fā)難度,節(jié)省軟件開發(fā)員的開發(fā)時(shí)間,TI提供了專用于C64x系列DSP的圖像函數(shù)庫IMGLIB[36]。該庫中的函數(shù)都是一些常要用到的圖像處理函數(shù),經(jīng)過TI優(yōu)化后,代碼效率很高,函數(shù)運(yùn)行所耗的時(shí)間少,所以可直接拿來使

91、用到我們的編碼器中。其中包含三個(gè)種類的功能,如下:</p><p><b>  (1)壓縮和解壓</b></p><p><b> ?。?)?圖像分析</b></p><p> ?。?)圖畫慮波/格式轉(zhuǎn)化</p><p>  比如壓縮和解壓中就含有許多高效的函數(shù)。包括:DCT變換(IMG_fdct_

92、8×8)、反DCT變換(IMG_idct8×8),8×8 的SAD計(jì)算(IMG_sad_8×8),以及像素值8 位和16 位的互相轉(zhuǎn)換函數(shù)(IMG_pix_expand、IMG_pix_sat)等等。直接減少了我們的工作量,提高了運(yùn)行的效率,減少了代碼長度即所占空間。</p><p>  IMGLIB的函數(shù)使用起來簡(jiǎn)單方便。但對(duì)于運(yùn)用IMG_sad_8×8函數(shù)計(jì)算

93、當(dāng)前宏塊和候選宏塊的SAD,需要作些考慮。通常,對(duì)參考幀的整像素進(jìn)行半像素插值后,整像素和半像素是交替間隔存放在一起的,即在整像素的鄰近周圍是8 個(gè)半像素點(diǎn),運(yùn)動(dòng)搜索匹配塊時(shí),SAD的計(jì)算,在參考幀中的候選塊是要間隔一個(gè)像素點(diǎn)來取的。而IMG_sad_8×8 函數(shù)是對(duì)塊的連續(xù)的像素進(jìn)行計(jì)算,所以為了使用IMG_sad_8×8 函數(shù),在半像素插值時(shí),把整像素、水平半像素、垂直半像素、交叉半像素等像素點(diǎn)要分開保存,保證參

94、考幀中的這幾種像素的像素點(diǎn)是連續(xù)存放。</p><p>  第6章 工作總結(jié)及展望</p><p><b>  6.1 總結(jié)</b></p><p>  在此基礎(chǔ)上,本方案實(shí)現(xiàn)了在TMS320DM642 上基于IEEE 1394 物理層、鏈路層芯片技術(shù)的數(shù)據(jù)輸入。實(shí)現(xiàn)了視頻數(shù)據(jù)從FPGA至SDRAM 的PDT傳輸。完成了圖像處理器的硬件調(diào)試及

95、評(píng)估工作,可實(shí)現(xiàn)數(shù)據(jù)的輸入和輸出。</p><p>  MPEG-4由ISO/IEC共同倡導(dǎo)并正致力于完成的,具有很多先進(jìn)的思想。目前,廣泛應(yīng)用于視頻壓縮的各個(gè)領(lǐng)域,比如視頻監(jiān)控,視頻傳輸?shù)鹊取PEG-4 也是近幾年的研究熱點(diǎn),許多研究者都做了并正在做大量的研究設(shè)計(jì)工作。MPEG-4 提供了一個(gè)良好的框架,為以后的廣泛應(yīng)用,性能提高提供了廣闊的空間。本文采用IEEE 1394 技術(shù)以及TI 公司C64x 系列D

96、M642 數(shù)字信號(hào)處理器實(shí)時(shí)實(shí)現(xiàn)MPEG-4高速圖像處理器。這期間所完成的工作主要包括以下幾個(gè)方面:</p><p>  (1)對(duì)MPEG-4協(xié)議所涉及到的DCT、量化、運(yùn)動(dòng)估計(jì)、運(yùn)動(dòng)搜索、運(yùn)動(dòng)補(bǔ)償?shù)饶K進(jìn)行了詳細(xì)的原理分析和闡述,為優(yōu)化做充分準(zhǔn)備。</p><p>  (2)熟悉IEEE 1394技術(shù),特別是其物理層和鏈路層構(gòu)成,構(gòu)成視頻數(shù)據(jù)輸入電路。</p><p&

97、gt;  (3)熟悉C64x 系列DM642 的硬件結(jié)構(gòu)和軟件環(huán)境,對(duì)高速圖像處理器的硬件電路設(shè)計(jì)進(jìn)行詳細(xì)闡述及分析。</p><p> ?。?)充分利用Cache技術(shù),對(duì)視頻數(shù)據(jù)的存儲(chǔ)、提取進(jìn)行優(yōu)化。并根據(jù)DM642 DSP的流水結(jié)構(gòu)和指令特點(diǎn),分析其各個(gè)多媒體指令的特點(diǎn)以及編譯器對(duì)并行指令的軟件流水編排操作。</p><p>  (5)對(duì)協(xié)議中一些主要耗時(shí)模塊包括DCT、量化、運(yùn)動(dòng)搜索

98、作出了適合在DSP上運(yùn)行的算法改進(jìn)上的嘗試,做出為提高算法的執(zhí)行效率上改變的提升。</p><p><b>  6.2展望</b></p><p>  基于DSP的視頻監(jiān)控系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)是一項(xiàng)非常復(fù)雜的工作,涉及到電子技術(shù)、計(jì)算機(jī)技術(shù)、信號(hào)處理、信息論以及數(shù)學(xué)等多種學(xué)科知識(shí),需要大量的時(shí)間做深入研究。由于時(shí)間關(guān)系,這方面的研究還有很多工作可做。且本文中也還有很多需要完

99、善的地方,主要包括一下幾個(gè)方面:</p><p>  (1) 達(dá)到100幀/秒的高速處理速度。</p><p>  (2)DM642 DSP是TI公司新近推出的多媒體處理芯片,視頻信號(hào)處理能力突出,因此可以語音編碼器融入到圖像應(yīng)用中以形成功能完備的多媒體處理方案。</p><p> ?。?) H.264是近年來ITU-T推出的新一代圖像壓縮算法,可以極大的降低碼率和

100、提高圖像質(zhì)量??梢圆捎玫揭曨l壓縮方案中。</p><p> ?。?)代碼級(jí)的進(jìn)一步優(yōu)化以及算法級(jí)的軟件優(yōu)化。其它的還有編碼速率控制的設(shè)計(jì)與實(shí)現(xiàn),新編碼方案的改進(jìn)和完善等等本編碼器的編解碼效率和圖像質(zhì)量和目前國內(nèi)外先進(jìn)的編碼器相比還有一些差距,這需要通過不斷地進(jìn)行算法優(yōu)化和代碼優(yōu)化做出改進(jìn)。</p><p><b>  參考文獻(xiàn)</b></p><p

101、>  [1]章毓晉.圖象處理和分析.北京:清華大學(xué)出版社,1999.56~60</p><p>  [2]孫即祥.圖像壓縮與投影重建.北京:科學(xué)出版社,2005.18~23</p><p>  [3]Yao Wang , Jorn Ostermann.視頻處理與通信,Ya-Qin Zhang,侯正信,楊喜等.北京:電子工業(yè)出版社,2003.85~90</p><p

102、>  [4] 胡國榮.數(shù)字視頻壓縮及標(biāo)準(zhǔn).北京:北京廣播學(xué)院出版社,1999.15~21</p><p>  [5]TMS320DM642 Technical Overview (SPRU615)</p><p>  [6]王宇劍,陳燕兵.高速攝像與視頻檢測(cè)技術(shù)在智能交通領(lǐng)域的應(yīng)用與分析.浙江大學(xué)學(xué)報(bào),2001.21(3):1~7</p><p>  [11]

103、吳樂南. 數(shù)據(jù)壓縮. 北京:電子工業(yè)出版社,2000.88~92</p><p>  [12]傅祖蕓. 信息論-基礎(chǔ)理論與應(yīng)用. 北京:電子工業(yè)出版社,2001.65~68</p><p>  [13]朱雪龍. 應(yīng)用信息論基礎(chǔ). 北京:清華大學(xué)出版社,2001.25~28 </p><p>  [14]Alexis M.Tourapis,Oscar C.Au and

104、 Ming L.Liou, Fast Block-Matching Motion Estimation using Predictive Motion Vector Field Adaptive Search Technique (PMVFAST) . Science in China Press ,2000. 25(9):9~11 </p><p>  [15]張大樸,王曉,張大為等.IEEE1394 協(xié)議及接

105、口設(shè)計(jì).西安:西安電子科技大學(xué)出版社, 2004.79~83</p><p>  [16]Alexis M. Tourapis, Oscar C. Au,Ming L. Liou.Predictive Motion Vector Field Adaptive Search Technique (PMVFAST) -Enhancing Block Based Motion Estimation.In process

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論