仇杰+耿建平
摘 要: 針對(duì)某機(jī)型原有磁帶式記錄體質(zhì)亟需改進(jìn),結(jié)合現(xiàn)階段最新音/視頻壓縮標(biāo)準(zhǔn)設(shè)計(jì)了機(jī)載視頻記錄儀音視/頻壓縮存儲(chǔ)模塊。闡述了最新視/頻編解碼協(xié)議H.264標(biāo)準(zhǔn),基于該標(biāo)準(zhǔn)采用了專用芯片MG3500設(shè)計(jì)視頻壓縮模塊。介紹了模塊的音/視頻壓縮部分硬件電路和存儲(chǔ)模塊的容量設(shè)計(jì)準(zhǔn)則,最后對(duì)該模塊的應(yīng)用前景做了簡(jiǎn)要概述。
關(guān)鍵詞: H.264; 嵌入式系統(tǒng); 音視頻壓縮; 容量設(shè)計(jì)
中圖分類號(hào): TN948?34 文獻(xiàn)標(biāo)識(shí)碼: A 文章編號(hào): 1004?373X(2015)14?0092?04
嵌入式系統(tǒng)是以應(yīng)用為中心,以計(jì)算機(jī)技術(shù)為基礎(chǔ),且軟硬件可裁剪,適用于應(yīng)用系統(tǒng)對(duì)功能、可靠性、成本、體積、功耗有嚴(yán)格要求的專用計(jì)算機(jī)系統(tǒng)。以嵌入式技術(shù)為核心的視頻壓縮模塊能夠?qū)η岸藬z像組件采集來(lái)的視頻分量進(jìn)行模/數(shù)轉(zhuǎn)換,經(jīng)壓縮編碼后存儲(chǔ)到后端大容量電子硬盤中去,克服了以磁帶為存儲(chǔ)介質(zhì)帶來(lái)的一系列保障難題。機(jī)載視頻記錄儀對(duì)實(shí)時(shí)音視頻信號(hào)的采集、壓縮和存儲(chǔ)有著較高的環(huán)境適應(yīng)性要求,同時(shí)考慮到研制工作后定型周期長(zhǎng)、更新時(shí)間久等因素,方案采用當(dāng)下最新視頻編/解碼標(biāo)準(zhǔn)H.264,該標(biāo)準(zhǔn)是由IEO/IEC和ITU/T兩大國(guó)際標(biāo)準(zhǔn)化組織聯(lián)手制定的最新視頻編/解碼協(xié)議,有著較高的壓縮比和清晰的視頻回放效果,能夠達(dá)到理想的試驗(yàn)效果。本文設(shè)計(jì)了機(jī)載視頻記錄儀的高清音視頻壓縮存儲(chǔ)模塊,能夠應(yīng)用于其他高清視頻的處理場(chǎng)合。
1 H.264視頻編/解碼標(biāo)準(zhǔn)
在視頻編碼壓縮和傳輸前,需要把視頻圖像的格式轉(zhuǎn)換成CIF格式,如果該CIF格式對(duì)應(yīng)著352×288像素,4CIF對(duì)應(yīng)著704×576像素。如果在沒有壓縮的前提下,一幀圖像需要的比特?cái)?shù)是:
4∶2∶0格式:352×288×12=1.2 Mb
4∶4∶4格式:352×288×24=2.4 Mb
由于未經(jīng)壓縮處理的原始視頻數(shù)據(jù)量非常龐大,原始的彩色圖像,一般由紅、綠、藍(lán)(R、G、B)三基色組成。常用的彩色圖像表示方式有Y、I、Q方式和Y、U、V方式,其共同點(diǎn)就是用其中的1個(gè)分量Y表示像素的亮度,用其余2個(gè)分量表示像素的色度。
YUV與RGB相互轉(zhuǎn)換的公式(RGB取值范圍均為0~255):
[YUV=0.2290.5870.114-0.229-0.5870.8860.701-0.587-0.114RGB] (1)
YIQ與RGB相互轉(zhuǎn)換的公式[1](RGB取值范圍均為0~255):
[YIQ=0.2290.5870.1140.596-0.274-0.3220.211-0.5240.312RGB] (2)
由于人眼對(duì)像素點(diǎn)的亮度分辨率較強(qiáng),對(duì)像素的色度分辨率較弱。在編碼時(shí),可對(duì)亮度分量和色度分量分別對(duì)待,已達(dá)到更高的壓縮比。這就需要適用于視頻處理的編/解碼標(biāo)準(zhǔn),目前國(guó)際上有2個(gè)制定視頻編/解碼標(biāo)準(zhǔn)的組織,一個(gè)是制定了H.261,H.263,H.263+標(biāo)準(zhǔn)的“國(guó)際電聯(lián)(ITU?T)”;另一個(gè)是制定了MPEG?1,MPEG?2,MPEG?4標(biāo)準(zhǔn)的“國(guó)際標(biāo)準(zhǔn)化組織(ISO)”。H.264是一種新數(shù)字視頻編碼的準(zhǔn)則,制定組織是JVT——聯(lián)合視頻組,聯(lián)合視頻組則是由2個(gè)部門一起組成的,所以它不僅是ITU?T的H.264,而且還是ISO/IEC的MPEG?4高級(jí)視頻編碼(Advanced Video Coding,AVC)[2]。
機(jī)載視頻記錄儀所采集的視頻源來(lái)自飛機(jī)前方的平視顯示器、遠(yuǎn)景攝像頭以及座艙內(nèi)4路多功能顯示器。這些視頻源都具有一個(gè)共性,即視頻畫面瞬間變量都很小,因此采用高壓縮比的編/解碼算法對(duì)飛行幾次后的視頻回放不會(huì)造成視覺分辨率的明顯下降。
H.264算法相比較于其他編碼標(biāo)準(zhǔn),具有較高的壓縮比,在同等圖像質(zhì)量的前提下,H.264的壓縮比為MPEG?2的2倍以上,是MPEG?4壓縮比的1.5~2倍。也就是說(shuō)在同等條件下100 GB的文件經(jīng)過(guò)MPEG?2編碼標(biāo)準(zhǔn)進(jìn)行壓縮后大約為4 GB,即壓縮了25倍,而采用H.264編碼標(biāo)準(zhǔn)進(jìn)行壓縮大小變?yōu)?99 MB,約102倍。由于H.264碼率較低使之能具備較高的壓縮比,和其他編碼標(biāo)準(zhǔn)相比較,它能使得下載的時(shí)間更短,在具有高壓縮比的同時(shí)還能擁有高質(zhì)量流暢的圖像。
基于該H.264視頻編/解碼標(biāo)準(zhǔn)方案采用了該標(biāo)準(zhǔn)的專用處理芯片MG3500,該芯片能夠?qū)ν鈬娐匪蛠?lái)的音視頻模擬信號(hào)按照設(shè)定的算法進(jìn)行編碼,完成高質(zhì)量的數(shù)據(jù)壓縮,達(dá)到設(shè)計(jì)任務(wù)所標(biāo)定的要求。該標(biāo)準(zhǔn)要求在設(shè)計(jì)視頻壓縮模塊時(shí)能夠結(jié)合壓縮任務(wù)分時(shí)將6路視頻信號(hào)進(jìn)行模/數(shù)轉(zhuǎn)換,這種分時(shí)復(fù)用技術(shù)能夠?qū)崿F(xiàn)同步記錄,不會(huì)發(fā)生明顯的丟幀現(xiàn)象。
2 模塊方案設(shè)計(jì)
方案中模塊主要分為音視頻的壓縮模塊和存儲(chǔ)記錄模塊,原理框圖如圖1所示,由前端攝像組件傳來(lái)的視頻信號(hào)和音頻信號(hào)在經(jīng)過(guò)壓縮處理模塊進(jìn)行壓縮、轉(zhuǎn)換和音視頻的同步后,經(jīng)由USB接口將壓縮后的數(shù)據(jù)流寫進(jìn)后端的記錄存儲(chǔ)模塊。
圖1 方案原理框圖
2.1 音視頻壓縮模塊
壓縮模塊的核心部分采用Mobilygen公司推出的H.264高清編解碼器片上系統(tǒng)MG3500 SoC,該芯片內(nèi)部集成了ARM9處理器、NAND/NOR閃存、SD/SDIO/MMC/CE?ATA接口、10M/100M/1 000M以太網(wǎng)的MAC和USB 2.0 OTG端口,以及基于可靠的互聯(lián)網(wǎng)的AES/SHA加密算法、UART、JTAG、串行控制和通用I/O[3]。240 MHz ARM9處理器包含DSP擴(kuò)展和各16 KB的指令高速緩存、數(shù)據(jù)緩存和暫存存儲(chǔ)器。圖2為MG3500內(nèi)部原理框圖。
圖2 MG3500內(nèi)部原理框圖
在壓縮記錄模塊工作過(guò)程中,首先完成送入模塊信號(hào)的濾波處理,然后對(duì)差分視頻信號(hào)進(jìn)行格式轉(zhuǎn)換和聲音信號(hào)的幅度變換。該模塊能夠支持視頻信號(hào)有標(biāo)清模擬視頻、高清模擬視頻和數(shù)字視頻,對(duì)輸入的模擬視頻經(jīng)過(guò)A/D轉(zhuǎn)換為數(shù)字信號(hào)后送入MG3500完成基于H.264算法的編碼,前端送來(lái)的音頻信號(hào)在經(jīng)過(guò)模/數(shù)轉(zhuǎn)換后接入編/解碼芯片對(duì)應(yīng)的AUD0數(shù)據(jù)位。
MG3500的視頻輸入處理器(VIP)能夠?qū)λ蛠?lái)的BT656視頻格式進(jìn)行高品質(zhì)的縮放、色度和伽馬調(diào)整、濾波及視頻分析的操作,但是前端攝像組件傳來(lái)的是模擬視頻信號(hào),必須經(jīng)過(guò)模/數(shù)轉(zhuǎn)換后才能被后端的MG3500進(jìn)行編碼處理。這里采用的模/數(shù)轉(zhuǎn)換芯片為ADV7180,圖3為前端視頻信號(hào)的接口電路。
前端攝像組件送來(lái)的音頻信號(hào)同樣需要經(jīng)過(guò)處理后才能送往專用芯片進(jìn)行處理,本模塊采用TI公司的音頻編/解碼器TLV320AIC23BIPWR,設(shè)計(jì)時(shí)采用2個(gè)聲道分別為左聲道和右聲道,TLV320通過(guò)主時(shí)鐘MCLK、音頻位時(shí)鐘BCLK、音頻字時(shí)鐘WCLK以及DIN,DOUT,SDA,SCL等與MG3500相連接,輸出時(shí)送入到MG3500端的音頻信號(hào)組AUD0,圖4所示為前端音頻信號(hào)的接口電路。
圖3 前端視頻信號(hào)的接口電路
圖4 前端音頻信號(hào)的轉(zhuǎn)換電路
前端攝像組件的音視頻信號(hào)經(jīng)過(guò)模/數(shù)轉(zhuǎn)換成專用芯片能識(shí)別的數(shù)字電平信號(hào)后,分別送入MG3500對(duì)應(yīng)的接口進(jìn)行壓縮處理、轉(zhuǎn)換和音視頻的同步,然后將處理完的數(shù)據(jù)傳入存儲(chǔ)記錄組件。圖5為轉(zhuǎn)換后的音視頻信號(hào)與MG3500的連接電路。
圖5 音視頻信號(hào)輸入電路
2.2 存儲(chǔ)記錄模塊設(shè)計(jì)
存儲(chǔ)記錄模塊采用USB接口與專用芯片擴(kuò)展對(duì)應(yīng)的母頭接口相連,在軟件體系構(gòu)架中需要編寫驅(qū)動(dòng)程序完成與外界存儲(chǔ)模塊的連接和存儲(chǔ)。本模塊使用的存儲(chǔ)介質(zhì)為SATA硬盤,程序設(shè)計(jì)方面主要有USB驅(qū)動(dòng)程序和視頻文件生成驅(qū)動(dòng)程序的設(shè)計(jì)。
現(xiàn)就存儲(chǔ)記錄模塊的容量設(shè)計(jì)給出介紹。對(duì)PAL制視頻信號(hào)(-3 dB信號(hào)帶寬:6 MHz),原始數(shù)據(jù)分辨率為704×576,因而其采樣頻率為13.5 MHz。設(shè)量化方式為8 b線性量化,且每像素為R、G、B三基色,則不考慮色度空間子采樣時(shí),在25 f/s的幀率下,原始圖像數(shù)據(jù)率為:704×576×3×25=243.304 Mb/s。
H.264的標(biāo)準(zhǔn)記錄參數(shù)是25 f/s(PAL)視頻,常規(guī)輸出數(shù)據(jù)率為2 Mb/s,則壓縮比為[243.3042.0=121.652],即在視覺可接受的情況下,壓縮比為121.652。此時(shí),每分鐘占用磁盤空間為:[2.0×608=15 MB/min],即每分鐘是15 MB的數(shù)據(jù)。
設(shè)計(jì)時(shí)假設(shè)需要240 min的連續(xù)記錄時(shí)間,則所需硬盤大小約為240×15=3.6 GB。
本系統(tǒng)中,單個(gè)壓縮記錄模塊為2路視頻,1路音頻,所以可按照2路2 Mb/s來(lái)考慮視頻記錄容量和記錄速度,2路的記錄容量為:3.6×2 =7.2 GB。
聲音壓縮后數(shù)據(jù)率可以選為64 Kb/s,240 min的數(shù)據(jù)容量為64× 60×[2408]=115.2 MB。這就要求單個(gè)記錄體的容量必須大于6.315 2 GB,取為8 GB。
記錄體數(shù)據(jù)傳輸平均速度可以按照2路視頻計(jì)算,它們?yōu)閇2×28=0.5 KB/s]。
實(shí)際上,在壓縮記錄時(shí)數(shù)據(jù)存儲(chǔ)是突發(fā)式的,所以要求電子盤的峰值數(shù)據(jù)存取速度為平均值的多倍以上??紤]到一般存儲(chǔ)介質(zhì)的數(shù)據(jù)讀寫速度為10 MB/s左右,是本系統(tǒng)所要求平均速率的[100.5]=20倍以上,所以存儲(chǔ)盤是可以使用的。
系統(tǒng)的操作平臺(tái)Linux裁簡(jiǎn)后大約需40 MB空間,壓縮記錄的應(yīng)用程序?yàn)? MB左右,所以可選用一塊電子硬盤來(lái)存儲(chǔ)應(yīng)用平臺(tái)和應(yīng)用程序。
根據(jù)JVC小組盒MPEG專家小組的結(jié)論,對(duì)于常規(guī)圖像,按H.264的704×576格式壓縮,數(shù)據(jù)流在2 Mb/s時(shí),即可得到非常好的視覺要求??紤]到對(duì)不同圖像可以采用不同的數(shù)據(jù)率,提出一個(gè)可選擇的壓縮比特率控制方法,根據(jù)不同應(yīng)用,可將系統(tǒng)的數(shù)據(jù)率定為1~2 Mb/s,由程序控制。在上述數(shù)據(jù)率下,可推得壓縮比為:
[243.3041~243.3042=243.304~121.652]
按壓縮后的最大速率2 Mb/s計(jì)算,240 min的2路H.264圖象將需硬盤大小為:
[2×60×28×240=7.2 GB]
為設(shè)計(jì)時(shí)留有余量,本例將選用容量為8 GB的硬盤。
3 應(yīng)用前景
基于該壓縮存儲(chǔ)模塊設(shè)計(jì)并實(shí)現(xiàn)了某型飛機(jī)數(shù)字視頻記錄器,如圖6所示,在完成了原理樣機(jī)的研制和調(diào)試后,現(xiàn)已完成了標(biāo)定科目的試飛和試飛結(jié)束后的數(shù)據(jù)下載,解決了困擾飛行單位原有磁帶式體制備件無(wú)法得到保障的難題。
對(duì)于通用模塊的設(shè)計(jì)要求其具備較強(qiáng)的適用性和良好的軟件支持。本文設(shè)計(jì)的基于專用視頻處理芯片MG3500的壓縮記錄模塊現(xiàn)已應(yīng)用于機(jī)載數(shù)字視頻記錄器中,同時(shí)它也能夠應(yīng)用于諸如視頻監(jiān)控系統(tǒng)、行車記錄儀或者其他涉及到視頻壓縮記錄的領(lǐng)域。在具體應(yīng)用時(shí)硬件電路要適配應(yīng)用領(lǐng)域的輸入/輸出要求,根據(jù)需要添加相應(yīng)的接口模塊和編寫相應(yīng)的驅(qū)動(dòng)程序。本模塊采用的軟件系統(tǒng)是使用頻率較高的Linux嵌入式操作系統(tǒng),它有著良好的硬件支持和內(nèi)核可裁剪特性,提供全部源代碼,可以由用戶需要來(lái)定制自己的操作系統(tǒng)。
圖6 數(shù)字視頻記錄器及其內(nèi)部電路
4 結(jié) 語(yǔ)
本文設(shè)計(jì)了應(yīng)用于機(jī)載數(shù)字視頻記錄儀中的視頻壓縮記錄模塊,移植了嵌入式操作系統(tǒng)Linux,實(shí)現(xiàn)了音頻信號(hào)的數(shù)字化存儲(chǔ)和視頻信號(hào)的H.264實(shí)時(shí)編/解碼,闡述了存儲(chǔ)模塊的容量設(shè)計(jì)依據(jù),在消費(fèi)級(jí)和工業(yè)應(yīng)用領(lǐng)域?qū)⒌玫綇V泛的應(yīng)用。
參考文獻(xiàn)
[1] 張莉.機(jī)載視頻攝錄像系統(tǒng)[D].成都:電子科技大學(xué),2006.
[2] 閆光.基于H.264的實(shí)時(shí)視頻監(jiān)控系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D].北京:北京郵電大學(xué),2012.
[3] Mobilygen. MG3500 HD H.264 codec SoC datasheet [M]. [S.l.]: Mobilygen, 2008.
[4] 高厚琴,楊盈昀.視頻原理與接收技術(shù)[M].北京:國(guó)防工業(yè)出版社,2002.
[5] 畢厚杰.新一代視頻壓縮編碼標(biāo)準(zhǔn):H.264.AVC[M].北京:人民郵電出版社,2005.
[6] 王建平,季學(xué)鋒,穆道明.基于DSP的多路音/視頻采集處理系統(tǒng)設(shè)計(jì)[J].國(guó)外電子元器件,2006(6):250?253.
[7] 趙保軍,史彩成,畢莉,等.基于FPGA和DSP實(shí)現(xiàn)的實(shí)時(shí)圖像壓縮[J].電子學(xué)報(bào),2003(9):1317?1319.
[8] 翟小艷,徐家品.基于ARM的視頻傳輸系統(tǒng)設(shè)計(jì)[J].通信技術(shù),2010(8):100?102.
[9] WHITAKER Jerry.高清晰度數(shù)字視頻原理與應(yīng)用[M].曹晨,楊作梅,譯.北京:電子工業(yè)出版社,2002.
[10] 王小紅,周淵平,方曉翠.嵌入式視頻監(jiān)控系統(tǒng)的設(shè)計(jì)和實(shí)現(xiàn)[J].通信技術(shù),2011,44(6):105?106.