車載數(shù)字視頻壓縮記錄系統(tǒng)設(shè)計(jì)
近些年來(lái),計(jì)算機(jī)技術(shù)、多媒體技術(shù)和數(shù)據(jù)通信技術(shù)的發(fā)展飛速,促使數(shù)字視頻的應(yīng)用也越來(lái)越廣(如視頻監(jiān)控、視頻會(huì)議和移動(dòng)電視等)。隨后,各種壓縮算法的研究使得數(shù)字視頻的存儲(chǔ)和傳輸極為方便,同時(shí)也相繼出現(xiàn)了各種視頻記錄系統(tǒng)。本文設(shè)計(jì)的嵌入式視頻記錄系統(tǒng),可以將攝像頭拍攝到的模擬視頻數(shù)據(jù)轉(zhuǎn)變成數(shù)字視頻數(shù)據(jù),經(jīng)壓縮后存儲(chǔ)在大容量的存儲(chǔ)器上,并可通過(guò)專用的回放設(shè)備再現(xiàn)汽車行使的整個(gè)過(guò)程。該視頻記錄系統(tǒng)可用來(lái)記錄汽車內(nèi)各項(xiàng)儀表和前方外視景等視頻信息及突發(fā)事件標(biāo)記,它可以將汽車行使過(guò)程中的所有信息以數(shù)字視頻的方式連續(xù)動(dòng)態(tài)地記錄下來(lái)。本系統(tǒng)可以和汽車黑匣子結(jié)合,以方便管理部門根據(jù)所記錄的有關(guān)數(shù)據(jù)對(duì)車輛進(jìn)行有效的管理,更能為事故后的分析提供準(zhǔn)確的依據(jù),判斷汽車肇事的真正原因。同時(shí)可以通過(guò)記錄查看平常是否緊急加速、是否急剎車等行駛數(shù)據(jù),以此分析并改善不良駕駛習(xí)慣,起到預(yù)防事故的作用。
常見(jiàn)的視頻壓縮方法有MPEG系列租H.26X系列。考慮到壓縮技術(shù)的成熟度、成本和主要用途,本記錄系統(tǒng)采用MPEG-1數(shù)字圖像壓縮記錄技術(shù),來(lái)實(shí)現(xiàn)對(duì)1路視頻信號(hào)的連續(xù)圖像長(zhǎng)達(dá)4小時(shí)的實(shí)時(shí)循環(huán)記錄。此外,本視頻記錄系統(tǒng)還具有成本低、體積小、功耗低等特點(diǎn)。
1 系統(tǒng)工作原理
視頻記錄系統(tǒng)設(shè)計(jì)的側(cè)重點(diǎn)是降低成本,減小體積,同時(shí)降低系統(tǒng)的功耗,提高系統(tǒng)的整體性能。它能夠?qū)ζ嚿系?路視頻信號(hào)進(jìn)行長(zhǎng)達(dá)4小時(shí)的連續(xù)實(shí)時(shí)動(dòng)態(tài)循環(huán)記錄。本系統(tǒng)主要由視頻解碼及壓縮編碼器、ARM處理器、電子盤(pán)三部分組成。其中視頻解碼器和壓縮編碼器共同組成壓縮單元,ARM處理器是系統(tǒng)的控制單元,電子盤(pán)是系統(tǒng)的存儲(chǔ)單元。其視頻記錄系統(tǒng)的結(jié)構(gòu)組成如圖1所示。系統(tǒng)工作時(shí),先將攝像機(jī)拍攝到的視頻信號(hào)通過(guò)視頻解碼器SAA7113H進(jìn)行解碼和A/D轉(zhuǎn)換,以輸出8位4:2:2格式的YCbCr數(shù)字視頻信號(hào),該數(shù)字化視頻信號(hào)送入SZ1510壓縮編碼芯片進(jìn)行壓縮后可產(chǎn)生MPEG-1數(shù)據(jù)流,然后由ARM處理器將壓縮好的數(shù)據(jù)通過(guò)IDE接口存入存儲(chǔ)載體——電子盤(pán),從而實(shí)現(xiàn)對(duì)1路視頻信號(hào)的連續(xù)實(shí)時(shí)循環(huán)記錄。
系統(tǒng)上電并啟動(dòng)后,ARM處理器首先通過(guò)SZ1510芯片的HOST接口對(duì)SZ1510內(nèi)部寄存器進(jìn)行配置,并通過(guò)I2C總線對(duì)視頻解碼器SAA7113H進(jìn)行初始化。當(dāng)設(shè)置好MPEG-1壓縮格式及數(shù)據(jù)速率后,系統(tǒng)開(kāi)始正常工作,并對(duì)輸入的模擬視頻信號(hào)經(jīng)視頻解碼器進(jìn)行解碼和A/D轉(zhuǎn)換,再將生成的CCIR-601數(shù)字視頻流傳人壓縮編碼芯片SZ1510進(jìn)行處理,然后由SZ1510將數(shù)字視頻數(shù)據(jù)轉(zhuǎn)化為符合MPEG-1格式的影視文件,最后將MPEG-1數(shù)據(jù)流在ARM處理器的控制下通過(guò)IDE接口以文件形式寫(xiě)入電子硬盤(pán)進(jìn)行存儲(chǔ)。系統(tǒng)工作時(shí),ARM還將不斷監(jiān)視相關(guān)信號(hào),并在圖像中加入相應(yīng)的標(biāo)志,直到接收到關(guān)機(jī)信號(hào),系統(tǒng)自動(dòng)結(jié)束壓縮工作。
2 硬件電路設(shè)計(jì)
2.1 視頻解碼及壓縮編碼電路設(shè)計(jì)
由于MPEG-1壓縮算法需要很大的運(yùn)算量,用軟件很難實(shí)時(shí)完成,所以本系統(tǒng)采用專用的視頻壓縮芯片來(lái)實(shí)現(xiàn)對(duì)視頻信號(hào)的實(shí)時(shí)高效壓縮。目前,常用的MPEG-1壓縮芯片有VW2010、W99200F、WIS 7007SB等。本設(shè)計(jì)選用SAA7113H進(jìn)行解碼,并采用Zapex公司的SZ1510MPEG-1 A/V編碼芯片進(jìn)行圖象壓縮。SAA7113的主要作用是把輸入的模擬視頻信號(hào)解碼成標(biāo)準(zhǔn)的8位“VPO”數(shù)字信號(hào),它相當(dāng)于一種“A/D'’器件,是一種可編程視頻處理芯片,可通過(guò)I2C總線實(shí)現(xiàn)編程控制,并具有4路視頻輸入、抗混疊濾波、自動(dòng)鉗位和增益控制、多制式解碼以及亮度、對(duì)比度和飽和度控制等功能。它對(duì)輸人的PAL制式視頻信號(hào)進(jìn)行采樣和解碼后,可將生成的CCIR-601數(shù)字視頻流(色度空間為YCbCr,取樣為4:2:2)送到視頻壓縮芯片SZ1510的數(shù)字視頻輸入接口。它的輸入時(shí)鐘由24.576 MlHz的有源晶振提供,并可分別從RTS1和RTS0管腳輸出為SZ1510提供的行同步信號(hào)HS和場(chǎng)同步信號(hào)VS,其中行同步信號(hào)HS又可作為行有效象素識(shí)別信號(hào)輸入到SZ1510的VIHACT管腳;并從LLC腳輸出27 MHz的像素時(shí)鐘,作為SZ1510內(nèi)部的數(shù)字視頻流的采樣時(shí)鐘和芯片的主時(shí)鐘。系統(tǒng)初始化可通過(guò)ARM芯片的I2C總線來(lái)實(shí)現(xiàn)。片選信號(hào)由ARM產(chǎn)生RESET信號(hào)來(lái)提供。
系統(tǒng)中的壓縮編碼芯片SZ1510是ZAPEX公司生產(chǎn)的一款高性能的MJPEG、MPEG-1編碼芯片,可對(duì)視頻信號(hào)實(shí)現(xiàn)高達(dá)25 f/s的壓縮,并支持多種工作模式和比特率模式,還可靈活實(shí)現(xiàn)模式組合,同時(shí)可在視頻中疊加視頻標(biāo)記和時(shí)間標(biāo)記。該芯片內(nèi)部主要由視頻編碼核、TMS320C54X高性能DSP核、接口電路(視頻接口、存儲(chǔ)器接口、主機(jī)與串口接口)、DMA控制器和時(shí)鐘產(chǎn)生電路等組成。其內(nèi)部的壓縮核已經(jīng)過(guò)優(yōu)化,適合于高效、實(shí)時(shí)的MPEG-1數(shù)字圖像壓縮,且具有功能多、功耗低、溫度范圍寬等特點(diǎn)。
系統(tǒng)中的SZ1510是從設(shè)備,受主機(jī)ARM的控制。它的HOST接口是控制和數(shù)據(jù)交換的接口。SZ1510可以選擇多種總線類型,它有復(fù)用和不復(fù)用的Intel和Motorola總線類型(復(fù)用模式下,HAD[7:0]即可作為數(shù)據(jù)線,又可作為地址線;非復(fù)用模式時(shí),HAD[7:0]只能作為數(shù)據(jù)線),不復(fù)用總線又可分為8位和16位,并可由HCONFIG[l:0]引腳和Syscofig[3]寄存器進(jìn)行選擇配置。本系統(tǒng)把HCONFIG0置低,HCONFIG1置高,Sysconfig[3]寫(xiě)1,故可使其工作在Intel 8051類型的非復(fù)用16位數(shù)據(jù)總線模式下。
由于SZ1510有多種工作模式,根據(jù)系統(tǒng)要求,本設(shè)計(jì)使SZ1510工作在LVE(Live Video Encoding)實(shí)時(shí)視頻編碼模式。在這種模式下,SZ1510可從視頻解碼器獲得實(shí)時(shí)數(shù)字視頻數(shù)據(jù),然后根據(jù)MPEG1/M-JPEG進(jìn)行壓縮并傳到主機(jī)。具體工作過(guò)程是:SZ1510對(duì)輸入到其內(nèi)部的CCIR-601數(shù)字視頻流經(jīng)過(guò)視頻預(yù)處理、自動(dòng)裁減、場(chǎng)景變化檢測(cè)、運(yùn)動(dòng)估計(jì)、運(yùn)動(dòng)補(bǔ)償、離散余弦變換/反離散余弦變換和可變長(zhǎng)編碼等處理后,再將生成的MPEG-1視頻基本流存儲(chǔ)于SDRAM中,然后經(jīng)過(guò)輸出端口大小為256字節(jié)的FIFO緩沖進(jìn)行數(shù)據(jù)輸出。正常工作時(shí),F(xiàn)IFO每滿一次就產(chǎn)生一個(gè)FRDY (FIFO讀)中斷以通知主機(jī)讀取FIFO中的數(shù)據(jù),并由主機(jī)從Data_out寄存器讀取數(shù)據(jù)。之后,當(dāng)SZ1510發(fā)出一個(gè)EOD(數(shù)據(jù)結(jié)束)中斷時(shí),數(shù)據(jù)傳輸結(jié)束。
在視頻壓縮工作模式下,SZ1510有3種輸出比特率可供選擇:恒定比特率、最大比特率、可變比特率。恒定比特率需要填充冗余,最大比特率不需要填充冗余,可變比特率的壓縮質(zhì)量比恒定比特率可變。比特率的選擇可通過(guò)設(shè)置Ven_cntl寄存器的1、2位來(lái)確定,當(dāng)其為0時(shí),選擇的是恒定比特率;為1時(shí),選擇的是最大比特率;為3時(shí),選擇的是可變比特率。
2.2 控制及存儲(chǔ)電路設(shè)計(jì)
考慮到控制部分的體積、可靠性和控制能力,本系統(tǒng)中的CPU采用Philips公司的ARM7TD-MI-S內(nèi)核微控制器LPC2210。這是一個(gè)能夠支持實(shí)時(shí)仿真和跟蹤的16/32位ARM7TDMI-S CPU。對(duì)于代碼規(guī)模有嚴(yán)格控制的應(yīng)用,可使用16位Thumb模式,該模式可將代碼規(guī)模降低30%以上,而性能的損失卻非常小。LPC2210采用144腳封裝,具有極低的功耗。另外,該芯片還具有多個(gè)32位定時(shí)器、8路10位ADC、PWM輸出以及多達(dá)9個(gè)外部中斷。通過(guò)配置總線,LPC2210最多可提供76個(gè)GPIO。
評(píng)論