梁 磊
(江蘇無線電廠有限公司,江蘇 南京 210012)
基于DSP的遠(yuǎn)程視頻監(jiān)控系統(tǒng)研究
梁 磊
(江蘇無線電廠有限公司,江蘇 南京 210012)
文章首先對(duì)DSP技術(shù)進(jìn)行了概括性介紹,在此基礎(chǔ)上,從硬件設(shè)計(jì)和軟件程序設(shè)計(jì)兩個(gè)方面入手,對(duì)基于DSP的遠(yuǎn)程視頻監(jiān)控系統(tǒng)的設(shè)計(jì)進(jìn)行論述,希望能夠?qū)h(yuǎn)程視頻監(jiān)控系統(tǒng)設(shè)計(jì)效率和水平的提升有所幫助。
DSP;遠(yuǎn)程視頻;監(jiān)控系統(tǒng)
數(shù)字信號(hào)處理(Digital Signal Processing,DSP),主要包括DSP算法、硬件技術(shù)、應(yīng)用背景技術(shù)等,其中DSP算法是DSP技術(shù)的核心。當(dāng)前,DSP技術(shù)已經(jīng)被廣泛應(yīng)用于醫(yī)學(xué)、通信、石油勘測(cè)、音頻視頻處理等領(lǐng)域中。DSP技術(shù)的實(shí)質(zhì)是通過變換信號(hào)獲取有用信息,將信息予以直觀表達(dá),即利用數(shù)字形式采集、變換、壓縮、增強(qiáng)、濾波信號(hào),在處理完信號(hào)后獲取所需的信息形式。DSP技術(shù)以數(shù)字信號(hào)處理理論為基礎(chǔ),該理論在推動(dòng)數(shù)字應(yīng)用方面起到了重要作用。同時(shí),DSP技術(shù)又吸收了其他科學(xué)理論,在不斷完善自身理論的同時(shí),使自己發(fā)展成為了新興學(xué)科的理論基礎(chǔ)。
2.1 硬件設(shè)計(jì)
(1)圖像傳感器。在MOS技術(shù)日臻成熟的背景下,CCD,CID,SSPD 3種固體圖像傳感技術(shù)得到了快速發(fā)展,其中以CCD的應(yīng)用最為廣泛。本系統(tǒng)采用WV-CP460彩色攝像機(jī),與普通攝像機(jī)相比,該攝像機(jī)由于采用了CCD彩色圖像傳感器,并且具備超級(jí)動(dòng)態(tài)Ⅱ功能,所以可擴(kuò)展動(dòng)態(tài)范圍,保證圖像傳輸?shù)撵`敏度。WV-CP460彩色攝像機(jī)進(jìn)行了耐用設(shè)計(jì),十分適用于監(jiān)控所在的外部環(huán)境,且視頻輸信號(hào)為PAL制復(fù)合視頻信號(hào)。
(2)數(shù)字信號(hào)處理器。DSP芯片具備穩(wěn)定性強(qiáng)、可大規(guī)模集成、易于實(shí)現(xiàn)自適應(yīng)處理等優(yōu)勢(shì),在一定程度上促進(jìn)了DSP技術(shù)的快速發(fā)展。隨著DSP芯片功能的逐步強(qiáng)大,使得DSP技術(shù)關(guān)鍵點(diǎn)落在了DSP算法上。DSP芯片根據(jù)數(shù)據(jù)支持類型的不同,可分為定點(diǎn)DSP和浮點(diǎn)DSP,前者在算術(shù)操作時(shí)使用小數(shù)點(diǎn)位置固定數(shù),后者在算術(shù)操作時(shí)小數(shù)點(diǎn)位置可根據(jù)數(shù)據(jù)的不同變化進(jìn)行浮動(dòng)[1]。本系統(tǒng)的數(shù)字信號(hào)處理器要滿足大運(yùn)算量的要求,采用TMS320C6416的DSP,工作時(shí)鐘為600 MHz,考慮到視頻FIFO對(duì)系統(tǒng)的影響,將外接口時(shí)鐘選定為100 MHz。
(3)開發(fā)板的選擇。國(guó)內(nèi)某公司開發(fā)的DAM6416P是一種用于音視頻采集、壓縮、播放的評(píng)估開發(fā)板,該開發(fā)板上可集成DSP,F(xiàn)PGA、視頻解碼芯片等器件,主要包括以下構(gòu)成部分:A/V接口、DSP處理器、PCI總線接口、LED、擴(kuò)展同步接口、通信接口以及電源。CCD攝像頭采集模擬視頻,將模擬視頻輸入到ADC,再由ADC將其轉(zhuǎn)為數(shù)字信號(hào)。數(shù)字信號(hào)經(jīng)FPGA傳入視頻FIFO,以便DSP在DMA中進(jìn)行數(shù)據(jù)讀取。
2.2 系統(tǒng)軟件設(shè)計(jì)
(1)軟件開發(fā)環(huán)境。CCS是集成性DSP軟件開發(fā)工具,可提供統(tǒng)一的開發(fā)環(huán)境,根據(jù)源程序類型調(diào)動(dòng)適當(dāng)?shù)拇a產(chǎn)生工具,并具備調(diào)試和實(shí)時(shí)分析功能[2]。在開放式插件結(jié)構(gòu)中,CCS可集成C編譯器、匯編器、優(yōu)化器、軟件模擬器、實(shí)時(shí)基礎(chǔ)軟件、數(shù)據(jù)交換軟件、實(shí)時(shí)分析、數(shù)據(jù)可視化等軟件工具,如圖1所示。開發(fā)者可利用CCS編輯、編譯、調(diào)試軟件,并對(duì)軟件進(jìn)行性能測(cè)試和項(xiàng)目管理。由于CCS實(shí)現(xiàn)了數(shù)據(jù)可視化和數(shù)據(jù)分析實(shí)時(shí)化,所以可大幅度降低DSP系統(tǒng)的開發(fā)難度,節(jié)省開發(fā)者的時(shí)間和精力。
圖1 DSP的開發(fā)環(huán)境
(2)DSP/BIOS。DSP/BIOS是DSP的靜態(tài)內(nèi)核程序,可提供基本系統(tǒng)服務(wù),包括線程管理、定時(shí)、通訊、資源控制等功能。開發(fā)者利用DSP/BIOS只需通過靜態(tài)配置,就可有效管理復(fù)雜的多任務(wù)機(jī)制,大幅度降低多任務(wù)機(jī)制的協(xié)作難度,有利于提高系統(tǒng)資源管理效率[3]。DSP/BIOS由以下3個(gè)部分構(gòu)成:
①實(shí)時(shí)內(nèi)核。該部分由3個(gè)部分構(gòu)成:a線程調(diào)度,包括軟硬件中斷、進(jìn)程、系統(tǒng)后臺(tái)線程;b同步,包括郵箱、原子量、隊(duì)列、信號(hào)旗;c通訊,包括數(shù)據(jù)流線、主機(jī)接口、數(shù)據(jù)管道。
②實(shí)時(shí)分析。用戶可在實(shí)時(shí)分析部分提供的Statistics和Log模塊中,獲取目標(biāo)系統(tǒng)的運(yùn)行數(shù)據(jù)。
③靜態(tài)配置工具。該工具為圖形化的配置工具,可進(jìn)行屬性設(shè)置。
DSP/BIOS按照應(yīng)用程序模塊的功能定位,將代碼設(shè)定為500~6 500字之間,通過多模塊的API實(shí)現(xiàn)對(duì)DSP/BIOS的使用。API的調(diào)用形式為C語言,在C語言的程序內(nèi),API也可通過匯編代碼進(jìn)行調(diào)用。
2.3 C語言對(duì)算法的實(shí)現(xiàn)
DSP系統(tǒng)的算法仿真需要移植到CCS上予以實(shí)現(xiàn),所以選擇具備較強(qiáng)可移植性的C語言進(jìn)行算法實(shí)現(xiàn)。在整個(gè)程序中,具體劃分為圖像獲取、圖像處理、圖像顯示、通信模塊4個(gè)模塊,為了保證各模塊在修改過程中能夠協(xié)調(diào)、匹配和移植,必須在各模塊之間留下接口。
(1)圖像獲取模塊。在該模塊的運(yùn)行中,采用了視頻模擬方法,即預(yù)先錄制一段視頻,而后依次讀取視頻中的每一幀,最后將其輸入處理模塊。
(2)圖像處理模塊。該模塊是整個(gè)程序的核心模塊,也是移植到DSP的主要部分,需要完成以下工作:選擇區(qū)域、提取目標(biāo)、提取重心、生成運(yùn)動(dòng)軌跡、壓縮圖像等。
(3)圖像顯示模塊。該模塊具備顯示功能,以及解壓縮、圖像融合兩種算法,在DSP算法移植中不包括這種兩種算法。
(4)通信模塊。該模塊是算法移植的輔助模塊,能夠建立起PC與DSP系統(tǒng)的通信連接,方便傳輸數(shù)據(jù)。
2.4 程序移植
(1)代碼移植。DAM6416P為DSP代碼移植提供了豐富的軟件資源和庫函數(shù),并且可優(yōu)化處理代碼。
(2)數(shù)據(jù)處理。在IEKLIB庫支持板上進(jìn)行應(yīng)用程序開發(fā),能夠快速處理多媒體和通信數(shù)據(jù)。在本系統(tǒng)中,攝像頭提供的標(biāo)準(zhǔn)PAL制式模擬視頻數(shù)據(jù)需要通過視頻輸入端口進(jìn)行采集,將采集后的模擬視頻數(shù)據(jù)轉(zhuǎn)換為RGB信號(hào),對(duì)RGB信號(hào)進(jìn)行處理,輸送至VGA視頻輸出端口進(jìn)行輸出,以便在顯示器上進(jìn)行觀看。
(3)視頻轉(zhuǎn)換。受系統(tǒng)視頻數(shù)據(jù)轉(zhuǎn)換的限制,只能將PAL制式轉(zhuǎn)化為Y∶U∶V=4∶2∶2存放格式,具體如表1所示。在模擬視頻數(shù)據(jù)轉(zhuǎn)換后,VGA所呈現(xiàn)的圖像只是一種數(shù)字信號(hào),并非為真彩色,這會(huì)降低圖像色彩數(shù),影響算法識(shí)別精度,但從整體上來看并不影響程序移植效果。
表1 Y∶U∶V的存放格式
(4)初始化。DSP/BIOS需要進(jìn)行初始化,由于API根據(jù)不同應(yīng)用程序配置不同的模塊,所以在本系統(tǒng)中使用CSL和TSK模塊,在執(zhí)行程序之前先進(jìn)行CSL模塊初始化,再進(jìn)行開發(fā)板初始化。
2.5 代碼優(yōu)化
(1)編譯優(yōu)化。代碼優(yōu)化選用C6000編譯器,該編譯器包括性能優(yōu)化和代碼尺寸優(yōu)化選項(xiàng),可達(dá)到最高程度的優(yōu)化效果。C6000編譯器能夠執(zhí)行各種優(yōu)化循環(huán)方法,如移除未使用過的函數(shù),移除重復(fù)表達(dá)式等,這種優(yōu)化方法可實(shí)現(xiàn)對(duì)代碼尺寸的優(yōu)化控制,提高優(yōu)化選項(xiàng)的性能。
(2)其他優(yōu)化。除了利用編譯器進(jìn)行代碼優(yōu)化外,還可采取以下方法:①將C語言程序替換為內(nèi)聯(lián)函數(shù)intrinsics,該內(nèi)聯(lián)函數(shù)屬于在線函數(shù),能夠與C6000匯編指令映射;②將寬長(zhǎng)度的存儲(chǔ)器應(yīng)用于短字長(zhǎng)數(shù)據(jù)中,如將兩個(gè)32位數(shù)據(jù)放在一個(gè)64位寄存器的高位和低位,對(duì)短字長(zhǎng)數(shù)據(jù)進(jìn)行打包處理。這樣一來,可使Load指令對(duì)多個(gè)數(shù)據(jù)進(jìn)行同時(shí)訪問,大幅度縮減訪問所占用的內(nèi)存空間。
綜上所述,本文基于DSP技術(shù),設(shè)計(jì)了一款遠(yuǎn)程視頻監(jiān)控系統(tǒng),文章從硬件和軟件兩個(gè)方面對(duì)系統(tǒng)的設(shè)計(jì)過程進(jìn)行了分析。該系統(tǒng)除了能夠?qū)崿F(xiàn)目標(biāo)的有效識(shí)別之外,還能具備圖像壓縮傳輸、圖像融合及顯示等強(qiáng)大的功能,從而使該系統(tǒng)可在智能小區(qū)、連鎖超市、金融機(jī)構(gòu)等場(chǎng)所的監(jiān)視中進(jìn)行應(yīng)用,給各個(gè)場(chǎng)所相關(guān)業(yè)務(wù)開展的安全性提供了有效保障。
[1]宋從超.基于DSP和H.265的視頻監(jiān)控系統(tǒng)研制[D].淮南:安徽理工大學(xué),2015.
[2]邱光能.基于嵌入式的遠(yuǎn)程視頻監(jiān)控系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D].長(zhǎng)沙:湖南大學(xué),2013.
[3]劉麗娜.基于DSP的智能視頻監(jiān)控系統(tǒng)的設(shè)計(jì)[D].淮南:安徽理工大學(xué),2013.
Research on remote video surveillance system based on DSP
Liang Lei
(Jiangsu Radio Power Plant Co., Ltd., Nanjing 210012, China)
This paper first makes a brief introduction to the DSP technology, on this basis, starting from the hardware design and software design two aspects, the design of remote video monitoring system based on DSP are discussed. Hope that through this study can help to improve the design efficiency and level of the remote video monitoring system.
DSP; remote video; monitoring system
梁磊(1986— ),男,江蘇連云港,???,助理工程師;研究方向:電子產(chǎn)品生產(chǎn)管理。