《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 業(yè)界動態(tài) > 基于DSP的視頻監(jiān)控平臺的設(shè)計

基于DSP的視頻監(jiān)控平臺的設(shè)計

2013-05-08
作者:張震震,,李臨生,,田啟川
來源:來源:微型機與應(yīng)用2013年第6期
關(guān)鍵詞: DSP 視頻監(jiān)控 DSP/BIOS

摘  要: 隨著視頻監(jiān)控的不斷發(fā)展和DSP技術(shù)的進步,,基于DSP的視頻監(jiān)控受到越來越廣泛的關(guān)注和應(yīng)用,?;赥I公司的TMS320DM6437設(shè)計了實時的網(wǎng)絡(luò)視頻監(jiān)控平臺,。介紹了整個系統(tǒng)的框架,,并對基于DSP/BIOS的軟件設(shè)計進行了詳細分析,,如視頻驅(qū)動、Codec Engine軟件框架和網(wǎng)絡(luò)傳輸,。該平臺具有視頻信號采集,、視頻處理和視頻傳輸?shù)墓δ埽蓱?yīng)用于不同的領(lǐng)域,。
關(guān)鍵詞: 視頻監(jiān)控,;DSP;DSP/BIOS

    視頻監(jiān)控作為當(dāng)今安防工作的重要組成部分,,目前正朝著數(shù)字化,、智能化和網(wǎng)絡(luò)化的方向快速發(fā)展,廣泛應(yīng)用于智能家居和交通安全等領(lǐng)域,。解決視頻監(jiān)控的關(guān)鍵技術(shù)之一是實現(xiàn)終端運動目標的識別和跟蹤,。目前的視頻監(jiān)控實現(xiàn)方案主要有以下幾種:
    (1)基于PC的監(jiān)控系統(tǒng)。該系統(tǒng)結(jié)構(gòu)簡單,、成本低,,可實現(xiàn)簡單的視頻監(jiān)控。但該系統(tǒng)不適合將其嵌入到遠程區(qū)域進行監(jiān)控,,無法滿足現(xiàn)在的安防需求[1],。
    (2)基于DSP+FPGA雙處理器的視頻監(jiān)控。其中FPGA完成圖像預(yù)處理的運算工作,,DSP主要完成復(fù)雜的圖像后處理工作并輸出信號控制監(jiān)控平臺,。該系統(tǒng)能夠有效利用DSP和FPGA在功能上互補的特點,,但是進行數(shù)據(jù)交換時易出現(xiàn)延遲問題,而且系統(tǒng)的性價比低,,體積和功耗相對單處理器較高[2],。
    (3)基于雙DSP的視頻監(jiān)控系統(tǒng)。該系統(tǒng)采用兩片集成度高,、運算速度快的DSP芯片,,一片用于視頻監(jiān)控的算法運算,另一片主要完成視頻的壓縮編碼,。該系統(tǒng)傳輸速度快,、實時性好,但也存在資源利用不充分的不足,,而且系統(tǒng)相對復(fù)雜[3],。
    (4)基于單核DSP的視頻監(jiān)控系統(tǒng)。該方案滿足了視頻監(jiān)控的需求,,同時實現(xiàn)資源的充分利用[4],。
    為此,本文提出了基于TMS320DM6437的視頻監(jiān)控的設(shè)計,。
1 系統(tǒng)整體介紹
    該系統(tǒng)通過CMOS 攝像頭采集實時圖像,,通過TVP5146解碼器對視頻信息解碼后將數(shù)據(jù)交給DM6437,然后視頻處理子系統(tǒng)調(diào)用算法處理,,并把處理結(jié)果通過網(wǎng)絡(luò)傳輸交給終端PC,。整個系統(tǒng)依托于DSP/BIOS操作系統(tǒng)來實現(xiàn)多任務(wù)調(diào)度和存儲器管理等。系統(tǒng)的整體主要硬件框架如圖1所示,。

 

 

2 系統(tǒng)主要硬件介紹
2.1 核心處理器

    系統(tǒng)選用TMS320DM6437數(shù)字媒體處理器作為核心處理器,,它是首批支持達芬奇技術(shù)的純DSP 器件,其強大的功能可支持H.264視頻編碼,。它有8個并行處理單元,,其體系采用甚長指令字(CLIW)結(jié)構(gòu),具有強大的處理能力,。DM6437還集成了很多外設(shè)接口,,主要包括意識視頻處理子系統(tǒng)(VPSS)、以太網(wǎng)接口,、I2C接口,、EMIF接口和DDR2接口等。
    其中VPSS提供了一個VPFE輸入接口(連接外部設(shè)備,,如圖像傳感器,、視頻解碼器等)以及一個VPBE輸出接口(連接顯示設(shè)備,如analog SDTV顯示器,、數(shù)字LCD面板,、HDTV視頻編碼器等),。VPFE由5部分組成:CCDC、IPIPE,、H3A,、resizer和histogram,這5部分組合構(gòu)成了強大,、靈活的前端接口,;VPBE包含On-Screen Display(OSD)模塊,、帶數(shù)字LCD和模擬DAC接口的Video Encoder(VENC),。VENC生成模擬式視頻輸出。DLCD控制器產(chǎn)生數(shù)字RGB/YCBCR,,輸出數(shù)據(jù)及時間信號,。
2.2 存儲器模塊
    系統(tǒng)主要的存儲設(shè)備有DDR2,它與上一代DDR內(nèi)存技術(shù)標準最大的不同就是,,雖然同是采用了在時鐘的上升/下降沿同時進行數(shù)據(jù)傳輸?shù)幕痉绞?,但DDR2內(nèi)存卻擁有兩倍于上一代DDR內(nèi)存預(yù)讀取能力(即4 bit數(shù)據(jù)預(yù)讀取)。換句話說,,DDR2內(nèi)存每個時鐘能夠以4倍外部總線的速度讀/寫數(shù)據(jù),,并且能夠以內(nèi)部控制總線4倍的速度運行。
    開發(fā)板通過專用的DDR2存儲控制器接口擴展了64 MB的DDR2 SDRAM,,為視頻應(yīng)用帶來了高吞吐,、高容量存儲帶寬,并最大可以擴展到256 MB,;此外,,256 MB的Nor Flash為視頻應(yīng)用程序脫機運行提供了有力的容量保證。
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)卡芯片時只需要有PHY功能即可,。
3 系統(tǒng)軟件設(shè)計
    本系統(tǒng)中,DSP端的軟件主要包括:視頻驅(qū)動程序開發(fā),、Codec  Engine的使用以及網(wǎng)絡(luò)模塊的程序開發(fā)(即NDK的使用),,應(yīng)用程序的總體框架如圖2所示。

    在DSP/BIOS實時操作系統(tǒng)下,,系統(tǒng)上電或是reset后,,從程序入口點到main函數(shù)前,,要執(zhí)行系統(tǒng)的初始化,從而對相關(guān)DSP的寄存器進行配置,,包括復(fù)用引腳和外設(shè)接口等的配置,。main函數(shù)使外設(shè)芯片正常工作,然后啟動任務(wù)線程,。main函數(shù)返回后,,將CPU的使用權(quán)交給DSP/BIOS,由DSP/BIOS 進行程序運行中的控制調(diào)度,,包括內(nèi)存管理,、中斷處理和任務(wù)管理等。本系統(tǒng)中,,DSP/BIOS啟動兩個靜態(tài)配置的任務(wù)線程,,包括previewTask和tskNdkStackTest。前者是整個系統(tǒng)的主線程,,主要負責(zé)視頻驅(qū)動模塊和Codec Engine框架的初始化,、視頻圖像的實時獲取、視頻處理算法的執(zhí)行以及處理結(jié)果的輸出等,;后者則專門負責(zé)網(wǎng)絡(luò)模塊的所有功能,。
3.1 視頻驅(qū)動軟件
    該系統(tǒng)的軟件設(shè)計中,視頻驅(qū)動是應(yīng)用程序與底層硬件之間的重要橋梁,,是軟件設(shè)計中非常重要的一部分,。視頻驅(qū)動程序主要用于前端的視頻接收端,而后端直接將算法處理結(jié)果通過網(wǎng)絡(luò)傳送到PC,。TI公司提供了專門的視頻處理的驅(qū)動接口函數(shù),,接口函數(shù)名均以“FVID”開頭,它是將GIO的APIs根據(jù)需要再次進行封裝得到的,,如表1所示,。

    系統(tǒng)上電后進行一系列的初始化操作,main函數(shù)返回的同時,,把對CPU和存儲器的使用和控制權(quán)交給DSP/BIOS,然后DSP/BIOS啟動視頻處理的主線程,,主線程便會用FVID的API函數(shù)獲取sensor發(fā)來的圖像。首先用FVID_creat()創(chuàng)建通道,,函數(shù)返回的句柄作為下一步FVID_control()的參數(shù),,根據(jù)不同的命令字符串對視頻接口進行配置。接著FVID_alloc和FVID_queue兩個函數(shù)負責(zé)向驅(qū)動申請3個數(shù)據(jù)幀buffer,,并編入buffer隊列,。然后,用FVID_dequeue函數(shù)將隊列中的首個buffer釋放出來,,作為FVID_exchange函數(shù)的起始參數(shù),,表示當(dāng)前正在使用的buffer,。之后進入無限的while循環(huán)體,利用FVID_exchange函數(shù)來實現(xiàn)圖像數(shù)據(jù)的實時更新,,從而進行后續(xù)的算法處理,。
3.2 Codec Engine軟件
    Codec Engine軟件是TI 公司專門為達芬奇系列DSP設(shè)計推出的一個標準軟件框架,大大簡化了軟件開發(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個接口函數(shù),通過這些函數(shù)可以調(diào)用任何符合XDM標準的編解碼算法庫,。系統(tǒng)Codec Engine 的實現(xiàn)流程圖如圖3所示,。

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

    NDK各種網(wǎng)絡(luò)功能的實現(xiàn)都利用了socket接口。本系統(tǒng)中,,DSP端就是socket服務(wù)器端,,PC端軟件為客戶端。本系統(tǒng)創(chuàng)建多個socket對象來分別負責(zé)實現(xiàn)數(shù)據(jù)的收發(fā)操作,,確保需要同步執(zhí)行的操作之間互不影響,。
    具體實現(xiàn)時,網(wǎng)絡(luò)模塊的程序利用NDK為系統(tǒng)設(shè)置IP地址,,系統(tǒng)模塊實現(xiàn)了HTTP server,,用戶端在網(wǎng)頁輸入DSP的網(wǎng)口IP地址,即可訪問DSP端的HTTP服務(wù)器,,實現(xiàn)在網(wǎng)頁上的實時遠程監(jiān)控,。另外,利用socket編程,,可以實現(xiàn)與PC端自主編寫的軟件進行通信,,從而用戶可以通過PC端的軟件給DSP發(fā)送控制指令來實現(xiàn)不同的功能。本模塊包含一個主線程和3個子線程,,其中主線程tskNdkStackTest已經(jīng)在DSP/BIOS的.tcf配置文件中做了靜態(tài)配置,。3個子線程分別是sendTsk、receiveTsk和cmdparseTsk,,分別用于發(fā)送數(shù)據(jù),、接收數(shù)據(jù)和解析PC端軟件的控制命令。其中在每個子線程內(nèi)創(chuàng)建了一個socket,。
    本文研究了基于TMS320DM6437的網(wǎng)絡(luò)視頻監(jiān)控的實現(xiàn)方法,。系統(tǒng)以TMS320DM6437作為核心,對主要硬件器件作了介紹,,并針對主要的軟件框架進行了詳細分析,,對于視頻監(jiān)控平臺的設(shè)計有著重要的應(yīng)用價值。
參考文獻
[1] 李德駿.智能小區(qū)安防實時視頻圖像跟蹤系統(tǒng)的研究[J].武漢科技學(xué)院學(xué)報,,2005,,18(9):32-35.
[2] 田茜,何鑫.基于DSP/FPGA的嵌入式實時目標跟蹤系統(tǒng)[J].計算機工程,,2005,,31(15):219-221.
[3] 梁昂,王耀南.基于雙DSP的運動目標智能跟蹤系統(tǒng)的設(shè)計和實現(xiàn)[J].電子設(shè)計應(yīng)用,,2004(9):111-113.
[4] 李位星,,范瑞霞.基于DSP的運動目標跟蹤系統(tǒng)[J].自動化技術(shù)與應(yīng)用,2004,23(4):46-49.

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,,并不代表本網(wǎng)站贊同其觀點。轉(zhuǎn)載的所有的文章,、圖片,、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認版權(quán)者,。如涉及作品內(nèi)容,、版權(quán)和其它問題,請及時通過電子郵件或電話通知我們,,以便迅速采取適當(dāng)措施,,避免給雙方造成不必要的經(jīng)濟損失。聯(lián)系電話:010-82306118,;郵箱:[email protected],。