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