車載視頻監(jiān)控記錄系統(tǒng)的設計
物流車、貨車、押鈔車通常是不法分子的攻擊目標,如何能在搶劫事故發(fā)生后有效捉拿罪犯?在大中城市,交通事故的發(fā)生率非常高,而不少事故發(fā)生后,難以判斷誰是責任方,相互爭吵,皆因不能提出有力證據(jù)。為了解決這些問題,提出車輛實時視頻記錄要求。
車載視頻監(jiān)控系統(tǒng)是將視頻技術應用于汽車、火車等交通工具,其基本功能是監(jiān)視并記錄交通工具內(nèi)外的環(huán)境狀況。其中圖像傳輸和存儲中非常關鍵問題就是圖像信號巨大的數(shù)據(jù)量,對一定容量的傳輸通道和存儲介質(zhì)造成巨大壓力和困難。為了節(jié)約傳輸帶寬與存儲,必須對視頻信息進行高效壓縮。該系統(tǒng)采用FPGA為主控中心,以ADI公司的實時壓縮和解壓縮高質(zhì)量運動圖像和靜止數(shù)字圖像的JPEG2000編解碼器ADV212為核心設計和實現(xiàn)。
2 系統(tǒng)總體結構
系統(tǒng)復位后,以OV7648 CMOS彩色圖像傳感器為核心的攝像頭輸出640×480像素陣列大小,即307 200個像素,為SAV/EAV模式ITU.R-BT656 YUV4:2:2格式(8位)的數(shù)字視頻信號,由視頻信號輸出數(shù)據(jù)總線傳輸?shù)紸DV212的視頻接口。同時輸出像素時鐘PCLK,為ADV212器件提供時鐘參考。但系統(tǒng)復位后,ADV212編碼部分不能立即接收數(shù)字視頻信號進行JPEG2000的編碼壓縮。系統(tǒng)控制器件FPGA需要通過數(shù)據(jù)總線DATA[15:0]和地址總線ADRE[3:0]配置ADV212內(nèi)部直接訪問以及間接訪問的寄存器,加載ADV212編碼模式所需的固件。并設置ADV212編碼參數(shù)后,ADV212才能開始硬件編碼,從而產(chǎn)生J2C格式的視頻信號。系統(tǒng)選用ADV212的JDATA模式在握手機制配合下通過讀使能信號讀CODE FIFO,由主機接口HDATA[31:24](JDATA[7:0])輸出壓縮后的數(shù)據(jù),經(jīng)FPGA將數(shù)據(jù)寫入Flash。壓縮后的數(shù)據(jù)通過USB通訊模塊讀取到上位機。圖1為系統(tǒng)硬件整體結構框圖。
3 ADV212的視頻和主機接口
(1)視頻接口(VDATA總線) 利用VDATA總線輸入未壓縮的數(shù)據(jù),而通過HDATA總線輸出壓縮后的數(shù)據(jù)。視頻接口支持多種格式的視頻數(shù)據(jù)和靜止圖像輸入輸出,包括8位,10位,12位單分量格式。這些模式中,VCLK引腳必須輸入像素時鐘信號(ADV7180 LLC時鐘)。該系統(tǒng)選用JDATA模式,VDATA總線的高8位VDATA[11:4]分別與P[7:O]相連接,而低4位VDATA[3:0]通過10 kΩ的電阻拉低。
(2)主機接口(HDATA總線)ADV212通過異步SRAM方式、DMA訪問方式或JDATA接口直接和大多數(shù)主機處理器及ASIC器件相連接。ADV212支持16位和32位的控制總線及8位,16位和32位的數(shù)據(jù)傳輸總線??刂瓶偩€和數(shù)據(jù)總線配置可以不同,這樣可使得ADV212應用于那些需要不同寬度控制總線和數(shù)據(jù)總線的場合。主機接口用于配置、控制、狀態(tài)傳遞以及傳輸壓縮后的數(shù)據(jù)流。
JDATA模式由HDATA[31:28]~JDATA[7:4],HDATA[27:24]~JDATA[3:0]總線輸出壓縮后的數(shù)據(jù)。由Host Data Bus的HDATA[15:0]總線用于配置、控制、狀態(tài)傳遞。主機接口的地址總線ADDR[3:0]分別與FPGA的地址總線A[3:0]相連,控制ADV212直接型寄存器。
4 ADV212寄存器初始化
系統(tǒng)復位后,系統(tǒng)ADV212編碼部分不能立即接收數(shù)字視頻信號進行JPEG2000的編碼壓縮工作。該系統(tǒng)控制器件FPGA需對ADV212寄存器初始化,加載ADV212編碼模式所需的同件并設置ADV212編碼參數(shù),ADV212才能開始硬件編碼工作產(chǎn)生J2C格式的視頻信號。
ADV212包含16個直接訪問的寄存器,主機必須首先初始化這些寄存器來保證其他操作正確。這里選用JDATA模式,通過ADDR[3:0]、HDATA[15:0]、CS、RD、WR、ACK等引腳訪問這些寄存器。而對于間接訪問的寄存器則是通過間接地址寄存器IADDR和間接數(shù)據(jù)寄存器IDATA實現(xiàn),這兩個寄存器可直接進行讀寫。由于該系統(tǒng)選用ADV212的JDA-TA模式,為16位主機模式,因此,訪問間接寄存器還要用到分段傳輸寄存器STAGE。
當系統(tǒng)上電復位后,系統(tǒng)控制器件FPGA設置ADV212內(nèi)部的時鐘JCLK和HCLK,這兩個時鐘由內(nèi)部PLL通過MCLK引腳輸入的時鐘產(chǎn)生。系統(tǒng)ADV212的MCLK引腳時鐘由27 MHz的有源品體振蕩器提供,JCLK和HCLK內(nèi)部時鐘經(jīng)PLL寄存器設置為81 MHz。主控器件FPGA等待20μs后,設置軟件復位寄存器為No-Boot Host模式。根據(jù)JDATA模式HDATA主機接口控制總線為16位和數(shù)據(jù)總線為8位,配置BUSMODE和MMODE寄存器。其中32 KB的encode固件程序通過USB通訊模塊下載到系統(tǒng)的Flash存儲器中,當系統(tǒng)上電復位后由FPGA把Flash中的固件數(shù)據(jù)通過訪問間接寄存器加載到ADV212的固件RAM空間。設置ADV212編碼參數(shù)包括:壓縮比、量化步長、小波變換級別、小波變換模式、JPEG2000漸進模式等。
如果ADV212固件加載正確,嵌入式處理器會將應用程序ID寫入SWFLAG寄存器。通過檢驗SWFLAG寄存器是否為所預知的值(編碼模式的應用程序ID為OXFF82)就可判定固件加載是否正確。ADV212寄存器初始化后,在VALID和HOLD握手協(xié)議的配合下,通過讀信號讀CODE FIFO。圖2為電路連接圖。圖中VDATA總線為YUV視頻數(shù)據(jù)輸入接口,HDATA總線和ADDR總線為FPGA對ADV212的配置總線,JDATA總線為ADV212中JDATA模式的壓縮數(shù)據(jù)輸出接口。
[!--empirenews.page--]5 系統(tǒng)分析
視頻監(jiān)控記錄系統(tǒng)與CMOS攝像頭封裝在一個殼體內(nèi),為簡化系統(tǒng)外圍電路,系統(tǒng)未選用數(shù)字控制器DSP控制ADV212的DMA模式。選用Xilinx的XC2S100E FPGA作為主控器件,ADV212的JDATA模式與外圍電路連接。由于該系統(tǒng)可循環(huán)記錄,壓縮存儲容量為2 G字節(jié),因此系統(tǒng)選用三星公司的K9K8G08UIM型2 G字節(jié)Flash,其頁編程最大時間為700μs,數(shù)據(jù)寫周期為25 ns,每頁為4 K字節(jié)。當系統(tǒng)ADV212的Code FIFO門限值設為2 K時,圖像壓縮碼流速率為2 K/(4 K×25 ns+700μs)=1.18MB/s,此速率下每場的字節(jié)數(shù)為20 K,系統(tǒng)能實現(xiàn)把十幾分鐘用16 G存儲器存儲的數(shù)字視頻數(shù)據(jù)用2 G存儲器存儲的功能。為滿足不同的圖象壓縮編碼和圖像質(zhì)量要求,相應壓縮碼流速率可通過改變編碼同件參數(shù)中RCVAL寄存器的值來改變碼流速率,具體公式為:
其中系統(tǒng)輸入為PAL制式視頻信號,25幀/s,一幀分2場。經(jīng)測試當圖像壓縮碼速率小于1Mb/s時,圖像逐漸變得模糊起來。
6 結束語
車載視頻監(jiān)控記錄系統(tǒng)是將移動交通工具上的攝像機的圖像通過數(shù)字壓縮后,以JPEG2000標準(J2C)和增強的文件格式(JP2)的數(shù)據(jù)碼流記錄在Flash內(nèi),通過USB通訊模塊讀取到上位機,可用JPEG2000解碼軟件解碼回放出圖像。系統(tǒng)壓縮具有很多優(yōu)點,比較突出的特點:壓縮比可較為精確的控制,支持漸進傳輸,容錯性好。該系統(tǒng)用FPGA作為主控器件,具有很大的靈活性、擴展性和實時性。通過改變RCVAL寄存器的值可得到不同的壓縮碼流速率,以此實現(xiàn)視頻信號不同壓縮比下的壓縮,具有較寬的壓縮率變化范圍,方便應用于對碼流速率大小要求不同的應用場合,具有廣泛的應用價值。