1.引言
多媒體監控一直是人們關注的應用技術熱點之一,它以直觀、方便、信息內容豐富等特點被廣泛應用于許多場合。而隨著嵌入式系統和視頻壓縮技術的不斷發展,基于嵌入式技術的視頻監控系統也得到了快速的發展與應用。其通過把攝像機輸出的模擬信號轉化為數字信號,再經過嵌入式系統編碼和傳輸。在客戶端,通過安裝監控軟件,或者直接通過Web進行監控。采用嵌入式Linux操作系統的視頻監控系統具備編碼處理、網絡通信、自動控制等強大功能,直接支持網絡傳輸和網絡管理,使得監控范圍達到了一定的廣度。
此外,嵌入式處理器的發展也日新月異,有專注于控制的ARM系列處理器,擅長快速計算的DSP處理器,還有一些針對性非常強的處理器,可以實現硬件視頻編解碼等。而德州儀器(TI)新近推出的針對便攜式高清(HD)視頻產品市場的達芬奇(DaVinci)處理器TMS320DM355處理器,結合了它們的特長。其內部具有一個ARM9EJ-S的主處理器,負責整個系統的控制,同時也集成了一個MPEG/JPEG協處理器,專注于MPEG/JPEG算法的實現。其內部的視頻處理子系統(VPSS)及其它外設可方便快速的實現視頻的采集、預處理、顯示、網絡傳輸等功能。同時,其低廉的價格也為用戶降低了成本。而本設計即選用此處理器。
2.視頻監控系統整體框架
本嵌入式網絡視頻監控系統由視頻服務器、網絡傳輸鏈路、客戶監控端等3部分組成。視頻服務器負責音視頻等數據的采集、壓縮處理等,網絡傳輸鏈路將視頻服務器壓縮和發送的多媒體數據進行傳輸,而客戶端監控部分接收音視頻數據,進行解壓、顯示以及對視頻服務器的控制等。整個系統的示意圖如圖1所示。
圖1視頻監控系統示意圖
2.1.視頻服務器
視頻服務器采用德州儀器(TI)新近推出的達芬奇(DaVinci)系列處理器TMS320DM355作為主處理器,接收CCD攝像頭采集的視頻信號,進行預處理及MPEG4壓縮,然后將壓縮后的數據通過網絡傳輸。同時,接收上位機發送的命令,解析并且執行。每個設備都具有*的ID,當客戶端進行連接時,服務器會首先檢查ID號是否匹配,以防止惡意連接。此外,當視頻服務器運行異常時,其內部的守護進程會進行監視,適當的時候進行重啟。
2.2.網絡傳輸鏈路
網絡傳輸鏈路負責多媒體數據的傳輸。此處,可以根據實際需求,進行網絡傳輸鏈路的選擇。局域網(LAN)、無線局域網(WLAN)、INTERNET、CDMA、3G等都是可供選擇的傳輸鏈路。其中,局域網(LAN)和無線局域網(WLAN)帶寬充足、穩定,并且設備簡單,易于實現,但會受到距離的限制。INTERNET和CDMA網絡可以使監控距離得到擴展,但是其帶寬受限,圖像質量會受到影響。而*的3G網絡也是一個不錯的選擇,帶寬在靜止狀態下可以達到2Mbps,但是其在穩定性方面還待測試。用戶可以根據自己的需求進行選擇,或者直接搭建專線網絡,以實現各自的監控指標。
2.3.客戶監控端
客戶端主要與各個視頻服務器進行連接,以實現監控。客戶端可以采用PC機或者便攜式設備,與網絡傳輸鏈路相連,通過上位機軟件與視頻服務器連接,接收視頻服務器發送的多媒體數據,進行解碼,然后在上位機顯示。同時,向視頻服務器發送控制命令,實現云臺、鏡頭等的控制。3.視頻服務器硬件設計3.1.整體框架視頻服務器完成視頻的采集、MPEG4壓縮和網絡傳輸,以及云臺、鏡頭等的控制。其硬件結構框圖如圖2所示。
圖2視頻服務器硬件結構框圖
4.1.系統上電及引導程序
系統上電時,是由DM355的輸入引腳BTSEL[1:0]來決定從ROM或者AEMIF啟動。此設計處選擇從ROM啟動。此時,系統直接跳轉到內部ROM的起始地址(0X00008000)執行指令。內嵌的ROM啟動代碼(RBL)進行一些配置操作,然后讀取BOOTCFG寄存器來決定是從NAND、MMC/SD或者UART啟動。本設計選擇NAND啟動。NANDflash里預先燒寫好了U-boot、Linux內核以及根文件系統。NAND啟動以后,會讀取bootloader的stage1部分的指令對系統進行必要的設置,然后將stage2部分的代碼搬移到SDRAM中進行執行。當用戶選擇啟動內核時,bootloader將內核從NANDflash里搬運到SDRAM,然后跳轉到內核的起始地址進行執行,啟動內核。
4.2.嵌入式Linux操作系統
嵌入式Linux操作系統是針對不同的應用需求,對Linux內核進行裁剪修改使之能在嵌入式計算機系統上運行的一種操作系統。它開放源碼,內核小、效率高,適用于多種CPU和硬件平臺,性能穩定,可移植性好等特點為其開辟了一片屬于自己的空間。
本設計選擇嵌入式Linux操作系統作為軟件平臺,實現各硬件模塊的驅動的添加及移植,用戶應用程序的編寫及調試。