基于LPC2210和SZ1510的車載數(shù)字視頻壓縮記錄系統(tǒng)
近些年來,計(jì)算機(jī)技術(shù)、多媒體技術(shù)和數(shù)據(jù)通信技術(shù)的發(fā)展飛速,促使數(shù)字視頻的應(yīng)用也越來越廣(如視頻監(jiān)控、視頻會議和移動電視等)。隨后,各種壓縮算法的研究使得數(shù)字視頻的存儲和傳輸極為方便,同時(shí)也相繼出現(xiàn)了各種視頻記錄系統(tǒng)。本文設(shè)計(jì)的嵌入式視頻記錄系統(tǒng),可以將攝像頭拍攝到的模擬視頻數(shù)據(jù)轉(zhuǎn)變成數(shù)字視頻數(shù)據(jù),經(jīng)壓縮后存儲在大容量的存儲器上,并可通過專用的回放設(shè)備再現(xiàn)汽車行使的整個(gè)過程。該視頻記錄系統(tǒng)可用來記錄汽車內(nèi)各項(xiàng)儀表和前方外視景等視頻信息及突發(fā)事件標(biāo)記,它可以將汽車行使過程中的所有信息以數(shù)字視頻的方式連續(xù)動態(tài)地記錄下來。本系統(tǒng)可以和汽車黑匣子結(jié)合,以方便管理部門根據(jù)所記錄的有關(guān)數(shù)據(jù)對車輛進(jìn)行有效的管理,更能為事故后的分析提供準(zhǔn)確的依據(jù),判斷汽車肇事的真正原因。同時(shí)可以通過記錄查看平常是否緊急加速、是否急剎車等行駛數(shù)據(jù),以此分析并改善不良駕駛習(xí)慣,起到預(yù)防事故的作用。
常見的視頻壓縮方法有MPEG系列租H.26X系列??紤]到壓縮技術(shù)的成熟度、成本和主要用途,本記錄系統(tǒng)采用MPEG-1數(shù)字圖像壓縮記錄技術(shù),來實(shí)現(xiàn)對1路視頻信號的連續(xù)圖像長達(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ū)ζ嚿系?路視頻信號進(jìn)行長達(dá)4小時(shí)的連續(xù)實(shí)時(shí)動態(tài)循環(huán)記錄。本系統(tǒng)主要由視頻解碼及壓縮編碼器、ARM處理器、電子盤三部分組成。其中視頻解碼器和壓縮編碼器共同組成壓縮單元,ARM處理器是系統(tǒng)的控制單元,電子盤是系統(tǒng)的存儲單元。其視頻記錄系統(tǒng)的結(jié)構(gòu)組成如圖1所示。系統(tǒng)工作時(shí),先將攝像機(jī)拍攝到的視頻信號通過視頻解碼器SAA7113H 進(jìn)行解碼和A/D轉(zhuǎn)換,以輸出8位4:2:2格式的YCbCr數(shù)字視頻信號,該數(shù)字化視頻信號送入SZ1510壓縮編碼芯片進(jìn)行壓縮后可產(chǎn)生MPEG-1 數(shù)據(jù)流,然后由ARM處理器將壓縮好的數(shù)據(jù)通過IDE接口存入存儲載體——電子盤,從而實(shí)現(xiàn)對1路視頻信號的連續(xù)實(shí)時(shí)循環(huán)記錄。
系統(tǒng)上電并啟動后,ARM處理器首先通過SZ1510芯片的HOST接口對SZ1510內(nèi)部寄存器進(jìn)行配置,并通過I2C總線對視頻解碼器 SAA7113H進(jìn)行初始化。當(dāng)設(shè)置好MPEG-1壓縮格式及數(shù)據(jù)速率后,系統(tǒng)開始正常工作,并對輸入的模擬視頻信號經(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處理器的控制下通過IDE接口以文件形式寫入電子硬盤進(jìn)行存儲。系統(tǒng)工作時(shí),ARM還將不斷監(jiān)視相關(guān)信號,并在圖像中加入相應(yīng)的標(biāo)志,直到接收到關(guān)機(jī)信號,系統(tǒng)自動結(jié)束壓縮工作。
2 硬件電路設(shè)計(jì)
2.1 視頻解碼及壓縮編碼電路設(shè)計(jì)
由于MPEG-1壓縮算法需要很大的運(yùn)算量,用軟件很難實(shí)時(shí)完成,所以本系統(tǒng)采用專用的視頻壓縮芯片來實(shí)現(xiàn)對視頻信號的實(shí)時(shí)高效壓縮。目前,常用的MPEG-1壓縮芯片有VW2010、W99200F、WIS 7007SB等。本設(shè)計(jì)選用SAA7113H進(jìn)行解碼,并采用Zapex公司的SZ1510MPEG-1 A/V編碼芯片進(jìn)行圖象壓縮。SAA7113的主要作用是把輸入的模擬視頻信號解碼成標(biāo)準(zhǔn)的8位“VPO”數(shù)字信號,它相當(dāng)于一種“A/D”器件,是一種可編程視頻處理芯片,可通過I2C總線實(shí)現(xiàn)編程控制,并具有4路視頻輸入、抗混疊濾波、自動鉗位和增益控制、多制式解碼以及亮度、對比度和飽和度控制等功能。它對輸人的PAL制式視頻信號進(jìn)行采樣和解碼后,可將生成的CCIR-601數(shù)字視頻流(色度空間為YCbCr,取樣為4:2:2)送到視頻壓縮芯片SZ1510的數(shù)字視頻輸入接口。它的輸入時(shí)鐘由24.576 MlHz的有源晶振提供,并可分別從RTS1和RTS0管腳輸出為SZ1510提供的行同步信號HS和場同步信號VS,其中行同步信號HS又可作為行有效象素識別信號輸入到SZ1510的VIHACT管腳;并從LLC腳輸出27 MHz的像素時(shí)鐘,作為SZ1510內(nèi)部的數(shù)字視頻流的采樣時(shí)鐘和芯片的主時(shí)鐘。系統(tǒng)初始化可通過ARM芯片的I2C總線來實(shí)現(xiàn)。片選信號由ARM產(chǎn)生 RESET信號來提供。
系統(tǒng)中的壓縮編碼芯片SZ1510是ZAPEX公司生產(chǎn)的一款高性能的MJPEG、MPEG-1編碼芯片,可對視頻信號實(shí)現(xiàn)高達(dá)25 f/s的壓縮,并支持多種工作模式和比特率模式,還可靈活實(shí)現(xiàn)模式組合,同時(shí)可在視頻中疊加視頻標(biāo)記和時(shí)間標(biāo)記。該芯片內(nèi)部主要由視頻編碼核、 TMS320C54X高性能DSP核、接口電路(視頻接口、存儲器接口、主機(jī)與串口接口)、DMA控制器和時(shí)鐘產(chǎn)生電路等組成。其內(nèi)部的壓縮核已經(jīng)過優(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]寫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ī)。具體工作過程是:SZ1510對輸入到其內(nèi)部的CCIR-601數(shù)字視頻流經(jīng)過視頻預(yù)處理、自動裁減、場景變化檢測、運(yùn)動估計(jì)、運(yùn)動補(bǔ)償、離散余弦變換/反離散余弦變換和可變長編碼等處理后,再將生成的MPEG-1視頻基本流存儲于SDRAM中,然后經(jīng)過輸出端口大小為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ì)量比恒定比特率可變。比特率的選擇可通過設(shè)置Ven_cntl寄存器的1、2位來確定,當(dāng)其為0時(shí),選擇的是恒定比特率;為1時(shí),選擇的是最大比特率;為3時(shí),選擇的是可變比特率。
評論