• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      基于DSP的視頻監(jiān)控平臺(tái)的設(shè)計(jì)

      2013-05-14 11:33:50張震震李臨生田啟川
      關(guān)鍵詞:線程監(jiān)控軟件

      張震震,李臨生,田啟川

      (太原科技大學(xué) 電子信息工程學(xué)院,山西 太原030024)

      視頻監(jiān)控作為當(dāng)今安防工作的重要組成部分,目前正朝著數(shù)字化、智能化和網(wǎng)絡(luò)化的方向快速發(fā)展,廣泛應(yīng)用于智能家居和交通安全等領(lǐng)域。解決視頻監(jiān)控的關(guān)鍵技術(shù)之一是實(shí)現(xiàn)終端運(yùn)動(dòng)目標(biāo)的識(shí)別和跟蹤。目前的視頻監(jiān)控實(shí)現(xiàn)方案主要有以下幾種:

      (1)基于PC的監(jiān)控系統(tǒng)。該系統(tǒng)結(jié)構(gòu)簡單、成本低,可實(shí)現(xiàn)簡單的視頻監(jiān)控。但該系統(tǒng)不適合將其嵌入到遠(yuǎn)程區(qū)域進(jìn)行監(jiān)控,無法滿足現(xiàn)在的安防需求[1]。

      (2)基于DSP+FPGA雙處理器的視頻監(jiān)控。其中FPGA完成圖像預(yù)處理的運(yùn)算工作,DSP主要完成復(fù)雜的圖像后處理工作并輸出信號控制監(jiān)控平臺(tái)。該系統(tǒng)能夠有效利用DSP和FPGA在功能上互補(bǔ)的特點(diǎn),但是進(jìn)行數(shù)據(jù)交換時(shí)易出現(xiàn)延遲問題,而且系統(tǒng)的性價(jià)比低,體積和功耗相對單處理器較高[2]。

      (3)基于雙DSP的視頻監(jiān)控系統(tǒng)。該系統(tǒng)采用兩片集成度高、運(yùn)算速度快的DSP芯片,一片用于視頻監(jiān)控的算法運(yùn)算,另一片主要完成視頻的壓縮編碼。該系統(tǒng)傳輸速度快、實(shí)時(shí)性好,但也存在資源利用不充分的不足,而且系統(tǒng)相對復(fù)雜[3]。

      (4)基于單核DSP的視頻監(jiān)控系統(tǒng)。該方案滿足了視頻監(jiān)控的需求,同時(shí)實(shí)現(xiàn)資源的充分利用[4]。

      為此,本文提出了基于TMS320DM6437的視頻監(jiān)控的設(shè)計(jì)。

      1 系統(tǒng)整體介紹

      該系統(tǒng)通過CMOS攝像頭采集實(shí)時(shí)圖像,通過TVP5146解碼器對視頻信息解碼后將數(shù)據(jù)交給DM6437,然后視頻處理子系統(tǒng)調(diào)用算法處理,并把處理結(jié)果通過網(wǎng)絡(luò)傳輸交給終端PC。整個(gè)系統(tǒng)依托于DSP/BIOS操作系統(tǒng)來實(shí)現(xiàn)多任務(wù)調(diào)度和存儲(chǔ)器管理等。系統(tǒng)的整體主要硬件框架如圖1所示。

      2 系統(tǒng)主要硬件介紹

      2.1 核心處理器

      系統(tǒng)選用TMS320DM6437數(shù)字媒體處理器作為核心處理器,它是首批支持達(dá)芬奇技術(shù)的純DSP器件,其強(qiáng)大的功能可支持H.264視頻編碼。它有8個(gè)并行處理單元,其體系采用甚長指令字(CLIW)結(jié)構(gòu),具有強(qiáng)大的處理能力。DM6437還集成了很多外設(shè)接口,主要包括意識(shí)視頻處理子系統(tǒng)(VPSS)、以太網(wǎng)接口、I2C接口、EMIF接口和DDR2接口等。

      圖1 硬件框架

      其中VPSS提供了一個(gè)VPFE輸入接口 (連接外部設(shè)備,如圖像傳感器、視頻解碼器等)以及一個(gè)VPBE輸出接口(連接顯示設(shè)備,如 analog SDTV顯示器、數(shù)字LCD面板、HDTV視頻編碼器等)。VPFE由 5部分組成:CCDC、IPIPE、H3A、resizer和 histogram, 這 5部分組合構(gòu)成了強(qiáng)大、靈活的前端接口;VPBE包含 On-Screen Display(OSD)模塊、帶數(shù)字 LCD和模擬 DAC接口的 Video Encoder(VENC)。VENC生成模擬式視頻輸出。DLCD控制器產(chǎn)生數(shù)字RGB/YCBCR,輸出數(shù)據(jù)及時(shí)間信號。

      2.2 存儲(chǔ)器模塊

      系統(tǒng)主要的存儲(chǔ)設(shè)備有DDR2,它與上一代DDR內(nèi)存技術(shù)標(biāo)準(zhǔn)最大的不同就是,雖然同是采用了在時(shí)鐘的上升/下降沿同時(shí)進(jìn)行數(shù)據(jù)傳輸?shù)幕痉绞?,但DDR2內(nèi)存卻擁有兩倍于上一代DDR內(nèi)存預(yù)讀取能力(即4 bit數(shù)據(jù)預(yù)讀取)。換句話說,DDR2內(nèi)存每個(gè)時(shí)鐘能夠以4倍外部總線的速度讀/寫數(shù)據(jù),并且能夠以內(nèi)部控制總線4倍的速度運(yùn)行。

      開發(fā)板通過專用的DDR2存儲(chǔ)控制器接口擴(kuò)展了64 MB的DDR2 SDRAM,為視頻應(yīng)用帶來了高吞吐、高容量存儲(chǔ)帶寬,并最大可以擴(kuò)展到256 MB;此外,256 MB的Nor Flash為視頻應(yīng)用程序脫機(jī)運(yùn)行提供了有力的容量保證。

      2.3 網(wǎng)絡(luò)模塊

      網(wǎng)絡(luò)接口工作在7層OSI參考模型的物理層和數(shù)據(jù)鏈路層,在以太網(wǎng)卡中,數(shù)據(jù)鏈路層的芯片被稱作MAC控制器,物理層的芯片被稱作PHY。在本系統(tǒng)中,考慮到DM6437片上帶有EMAC( )/MDIO( )接口,即提供數(shù)據(jù)鏈路層控制,所以選擇網(wǎng)卡芯片時(shí)只需要有PHY功能即可。

      3 系統(tǒng)軟件設(shè)計(jì)

      本系統(tǒng)中,DSP端的軟件主要包括:視頻驅(qū)動(dòng)程序開發(fā)、Codec Engine的使用以及網(wǎng)絡(luò)模塊的程序開發(fā)(即NDK的使用),應(yīng)用程序的總體框架如圖2所示。

      在DSP/BIOS實(shí)時(shí)操作系統(tǒng)下,系統(tǒng)上電或是reset后,從程序入口點(diǎn)到main函數(shù)前,要執(zhí)行系統(tǒng)的初始化,從而對相關(guān)DSP的寄存器進(jìn)行配置,包括復(fù)用引腳和外設(shè)接口等的配置。main函數(shù)使外設(shè)芯片正常工作,然后啟動(dòng)任務(wù)線程。main函數(shù)返回后,將CPU的使用權(quán)交給DSP/BIOS,由DSP/BIOS進(jìn)行程序運(yùn)行中的控制調(diào)度,包括內(nèi)存管理、中斷處理和任務(wù)管理等。本系統(tǒng)中,DSP/BIOS啟動(dòng)兩個(gè)靜態(tài)配置的任務(wù)線程,包括previewTask和tskNdkStackTest。前者是整個(gè)系統(tǒng)的主線程,主要負(fù)責(zé)視頻驅(qū)動(dòng)模塊和Codec Engine框架的初始化、視頻圖像的實(shí)時(shí)獲取、視頻處理算法的執(zhí)行以及處理結(jié)果的輸出等;后者則專門負(fù)責(zé)網(wǎng)絡(luò)模塊的所有功能。

      圖2 應(yīng)用程序的整體框架

      3.1 視頻驅(qū)動(dòng)軟件

      該系統(tǒng)的軟件設(shè)計(jì)中,視頻驅(qū)動(dòng)是應(yīng)用程序與底層硬件之間的重要橋梁,是軟件設(shè)計(jì)中非常重要的一部分。視頻驅(qū)動(dòng)程序主要用于前端的視頻接收端,而后端直接將算法處理結(jié)果通過網(wǎng)絡(luò)傳送到PC。TI公司提供了專門的視頻處理的驅(qū)動(dòng)接口函數(shù),接口函數(shù)名均以“FVID”開頭,它是將GIO的APIs根據(jù)需要再次進(jìn)行封裝得到的,如表1所示。

      表1 FVID APIs函數(shù)列表

      系統(tǒng)上電后進(jìn)行一系列的初始化操作,main函數(shù)返回的同時(shí),把對CPU和存儲(chǔ)器的使用和控制權(quán)交給DSP/BIOS,然后DSP/BIOS啟動(dòng)視頻處理的主線程,主線程便會(huì)用FVID的API函數(shù)獲取sensor發(fā)來的圖像。首先用FVID_creat()創(chuàng)建通道,函數(shù)返回的句柄作為下一步FVID_control()的參數(shù),根據(jù)不同的命令字符串對視頻接口進(jìn)行配置。接著FVID_alloc和FVID_queue兩個(gè)函數(shù)負(fù)責(zé)向驅(qū)動(dòng)申請3個(gè)數(shù)據(jù)幀buffer,并編入buffer隊(duì)列。然后,用FVID_dequeue函數(shù)將隊(duì)列中的首個(gè)buffer釋放出來,作為FVID_exchange函數(shù)的起始參數(shù),表示當(dāng)前正在使用的buffer。之后進(jìn)入無限的while循環(huán)體,利用FVID_exchange函數(shù)來實(shí)現(xiàn)圖像數(shù)據(jù)的實(shí)時(shí)更新,從而進(jìn)行后續(xù)的算法處理。

      3.2 Codec Engine軟件

      Codec Engine軟件是TI公司專門為達(dá)芬奇系列DSP設(shè)計(jì)推出的一個(gè)標(biāo)準(zhǔn)軟件框架,大大簡化了軟件開發(fā)人員的工作。使用Codec Engine,首先需要在main函數(shù)里初始化,用到的初始化函數(shù)為CERuntime_init()。另外,Core Engine APIs用于創(chuàng)建Engine對象,以及獲得一些系統(tǒng)調(diào)試信息。應(yīng)用程序創(chuàng)建Engine對象后,通過VISA接口創(chuàng)建算法對象,VISA對應(yīng)4種數(shù)據(jù)模式,每種模式又對應(yīng) 了 MOD_create、MOD_control、MOD_process、MOD_delete 4個(gè)接口函數(shù),通過這些函數(shù)可以調(diào)用任何符合XDM標(biāo)準(zhǔn)的編解碼算法庫。系統(tǒng)Codec Engine的實(shí)現(xiàn)流程圖如圖3所示。

      圖3 Codec Engine實(shí)現(xiàn)流程圖

      3.3 網(wǎng)絡(luò)傳輸軟件

      NDK是TI公司專門針對C6000系列DSP推出的一款網(wǎng)絡(luò)開發(fā)套件,它基于TCP/IP協(xié)議,為開發(fā)人員提供了豐富的網(wǎng)絡(luò)接口,使用方便靈活。

      NDK共由5個(gè)模塊組成,如圖4所示。OS適配層是DSP/BIOS操作系統(tǒng)的一個(gè)抽象,把操作系統(tǒng)與NDK隔離,同時(shí)為NDK提供接口,實(shí)現(xiàn)內(nèi)存空間管理和任務(wù)管理。TCP/IP協(xié)議棧是一個(gè)網(wǎng)絡(luò)功能LIB,所有常用的網(wǎng)絡(luò)協(xié)議的功能可以通過它來實(shí)現(xiàn)。網(wǎng)絡(luò)工具模塊提供了局域上層套接字的所有網(wǎng)絡(luò)功能,如數(shù)據(jù)收發(fā)、Web服務(wù)器的配置。硬件抽象層是底層硬件的一個(gè)抽象,為網(wǎng)絡(luò)控制模塊提供接口。網(wǎng)絡(luò)控制模塊則用來進(jìn)行一系列的初始化工作,協(xié)調(diào)底層驅(qū)動(dòng)與TCP/IP協(xié)議棧配合工作。

      NDK各種網(wǎng)絡(luò)功能的實(shí)現(xiàn)都利用了socket接口。本系統(tǒng)中,DSP端就是socket服務(wù)器端,PC端軟件為客戶端。本系統(tǒng)創(chuàng)建多個(gè)socket對象來分別負(fù)責(zé)實(shí)現(xiàn)數(shù)據(jù)的收發(fā)操作,確保需要同步執(zhí)行的操作之間互不影響。

      圖4 NDK模塊圖

      具體實(shí)現(xiàn)時(shí),網(wǎng)絡(luò)模塊的程序利用NDK為系統(tǒng)設(shè)置IP地址,系統(tǒng)模塊實(shí)現(xiàn)了HTTP server,用戶端在網(wǎng)頁輸入DSP的網(wǎng)口IP地址,即可訪問DSP端的HTTP服務(wù)器,實(shí)現(xiàn)在網(wǎng)頁上的實(shí)時(shí)遠(yuǎn)程監(jiān)控。另外,利用socket編程,可以實(shí)現(xiàn)與PC端自主編寫的軟件進(jìn)行通信,從而用戶可以通過PC端的軟件給DSP發(fā)送控制指令來實(shí)現(xiàn)不同的功能。本模塊包含一個(gè)主線程和3個(gè)子線程,其中主線程 tskNdkStackTest已經(jīng)在DSP/BIOS的.tcf配置文件中做了靜態(tài)配置。3個(gè)子線程分別是sendTsk、receiveTsk和cmdparseTsk,分別用于發(fā)送數(shù)據(jù)、接收數(shù)據(jù)和解析PC端軟件的控制命令。其中在每個(gè)子線程內(nèi)創(chuàng)建了一個(gè) socket。

      本文研究了基于TMS320DM6437的網(wǎng)絡(luò)視頻監(jiān)控的實(shí)現(xiàn)方法。系統(tǒng)以TMS320DM6437作為核心,對主要硬件器件作了介紹,并針對主要的軟件框架進(jìn)行了詳細(xì)分析,對于視頻監(jiān)控平臺(tái)的設(shè)計(jì)有著重要的應(yīng)用價(jià)值。

      [1]李德駿.智能小區(qū)安防實(shí)時(shí)視頻圖像跟蹤系統(tǒng)的研究[J].武漢科技學(xué)院學(xué)報(bào),2005,18(9):32-35.

      [2]田茜,何鑫.基于DSP/FPGA的嵌入式實(shí)時(shí)目標(biāo)跟蹤系統(tǒng)[J].計(jì)算機(jī)工程,2005,31(15):219-221.

      [3]梁昂,王耀南.基于雙DSP的運(yùn)動(dòng)目標(biāo)智能跟蹤系統(tǒng)的設(shè)計(jì)和實(shí)現(xiàn)[J].電子設(shè)計(jì)應(yīng)用,2004(9):111-113.

      [4]李位星,范瑞霞.基于 DSP的運(yùn)動(dòng)目標(biāo)跟蹤系統(tǒng)[J].自動(dòng)化技術(shù)與應(yīng)用,2004,23(4):46-49.

      猜你喜歡
      線程監(jiān)控軟件
      The Great Barrier Reef shows coral comeback
      禪宗軟件
      英語文摘(2021年10期)2021-11-22 08:02:26
      你被監(jiān)控了嗎?
      Zabbix在ATS系統(tǒng)集中監(jiān)控中的應(yīng)用
      軟件對對碰
      看監(jiān)控?cái)z像機(jī)的4K之道
      淺談linux多線程協(xié)作
      談軟件的破解與保護(hù)
      精品(2015年9期)2015-01-23 01:36:01
      Linux線程實(shí)現(xiàn)技術(shù)研究
      么移動(dòng)中間件線程池并發(fā)機(jī)制優(yōu)化改進(jìn)
      醴陵市| 五大连池市| 教育| 大邑县| 独山县| 安陆市| 章丘市| 神农架林区| 犍为县| 南投县| 瑞金市| 进贤县| 会东县| 巴塘县| 龙南县| 顺平县| 乳源| 两当县| 滦南县| 广饶县| 衡阳市| 中方县| 大埔县| 阿合奇县| 华安县| 渑池县| 密云县| 图们市| 麦盖提县| 高州市| 蛟河市| 临颍县| 叙永县| 通州区| 天祝| 固安县| 潼南县| 庄浪县| 区。| 汨罗市| 葫芦岛市|