趙維娜,劉智朋
(1.中國(guó)移動(dòng)通信集團(tuán)陜西有限公司西安分公司 陜西 西安 710075;2.西北工業(yè)大學(xué) 電子信息學(xué)院,陜西 西安 710129)
視頻疊加技術(shù)因其高集成度,低成本、可重復(fù)使用和高機(jī)動(dòng)等諸多優(yōu)勢(shì),已被廣泛應(yīng)用于軍事、民用、科學(xué)研究等領(lǐng)域。視頻顯示技術(shù)是航空電子系統(tǒng)最基本的功能之一,早期的航空電子系統(tǒng)一般包括監(jiān)控視頻顯示界面、導(dǎo)航地圖顯示畫面、飛行速度顯示儀表、飛行高度顯示儀表等組成,視頻顯示畫面較多而且監(jiān)控顯示器眾多,無法使駕駛員方便快捷地獲取到外界視頻顯示信息。
隨著顯示集成度的提高,航空電子系統(tǒng)監(jiān)控視頻顯示界面、導(dǎo)航地圖顯示畫面、飛行速度和高度、電源電量、發(fā)動(dòng)機(jī)引擎等信息的顯示全部由視頻監(jiān)視器顯示,視頻疊加技術(shù)是實(shí)現(xiàn)電子綜合顯示系統(tǒng)圖像混合的關(guān)鍵技術(shù)之一。對(duì)于航空電子產(chǎn)品,能源就意味著生命,而傳統(tǒng)地利用純DSP硬件架構(gòu)進(jìn)行復(fù)雜圖像處理時(shí),圖像處理運(yùn)算量大而且功耗大,當(dāng)航空電子系統(tǒng)存在多路外視頻源時(shí),不同源視頻之間的顯示切換,使得系統(tǒng)實(shí)時(shí)性較差,不能夠精確顯示監(jiān)測(cè)畫面。故本設(shè)計(jì)對(duì)傳統(tǒng)視頻處理硬件平臺(tái)進(jìn)行了相應(yīng)的改進(jìn),利用DSP+FPGA實(shí)現(xiàn)視頻信號(hào)的疊加處理,雖然FPGA+DSP的方案增加了設(shè)計(jì)成本,但是降低了系統(tǒng)的開發(fā)難度,F(xiàn)PGA與DSP模塊功能劃分明確,數(shù)據(jù)采集與數(shù)據(jù)處理相互獨(dú)立,非常利用后續(xù)電路系統(tǒng)升級(jí),在此硬件架構(gòu)上,只需要更換相應(yīng)處理軟件及邏輯,就可將本設(shè)計(jì)應(yīng)用于工業(yè)監(jiān)控、軍事系統(tǒng)、醫(yī)療衛(wèi)生以及民用生活等領(lǐng)域。
傳統(tǒng)的基于DSP視頻疊加技術(shù)耗時(shí)較長(zhǎng),因此難以滿足高速航空電子系統(tǒng)對(duì)于視頻顯示的實(shí)時(shí)性要求。
本文利用高性能FPGA并行執(zhí)行指令的特點(diǎn),多路外視頻并行采集,數(shù)據(jù)采集和數(shù)據(jù)處理相互獨(dú)立,大大提高了視頻信號(hào)顯示的實(shí)時(shí)性,縮短了視頻信號(hào)預(yù)處理、后處理的消耗時(shí)間。
本設(shè)計(jì)視頻疊加技術(shù)硬件平臺(tái)是基于某型號(hào)任務(wù)管理計(jì)算機(jī)視頻處理模塊,為了滿足航空電子監(jiān)視系統(tǒng)全方位無盲角監(jiān)控,視頻處理模塊外部包含4路PAL攝像頭,分別監(jiān)控前后左右四個(gè)方向,由SAA7113負(fù)責(zé)完成PAL視頻的模數(shù)轉(zhuǎn)換,F(xiàn)PGA完成視頻采集數(shù)據(jù)的預(yù)處理,以及后期的視頻疊加顯示處理,DM648負(fù)責(zé)完成視頻信號(hào)的增強(qiáng)去霧等;本設(shè)計(jì)FPGA采用Xilinx公司的XC5VLX330T芯片,它具有11664Kb Block RAM/FIFO,51840 Slices,331776 邏輯單元,邏輯量相當(dāng)大,具有192個(gè)DSP48E,而且每個(gè)DSP48E包含一個(gè)25×18乘法器、一個(gè)加法器和一個(gè)累加器,足以滿足本設(shè)計(jì)視頻圖像的預(yù)處理以及顯示處理;視頻圖像增強(qiáng)去霧處理器采用TI公司的DM648,DM648是一款專用視頻處理芯片,具有 5 個(gè)可配置視頻端口(VP0,VP1,VP2,VP3,VP4),支持多種解決方法和視頻標(biāo)準(zhǔn),這五個(gè)視頻端口是可配置的,并能提供視頻捕獲和/或視頻顯示模式,非常方便數(shù)字視頻之間的相互通信;本設(shè)計(jì)機(jī)載視頻系統(tǒng)框圖如圖1所示[2]。

圖1 機(jī)載視頻系統(tǒng)框圖Fig.1 Airborne video system diagram
視頻采集為符合ITU-R BT.656標(biāo)準(zhǔn)碼流結(jié)構(gòu)[3],8bit并行數(shù)據(jù),其每行總采樣點(diǎn)數(shù)為864點(diǎn),行有效點(diǎn)數(shù)為720點(diǎn),總行數(shù)625行,有效行數(shù)為576行,采集數(shù)據(jù)經(jīng)過FPGA內(nèi)部雙FIFO乒乓緩存于數(shù)據(jù)緩沖區(qū),為了準(zhǔn)確的采集視頻數(shù)據(jù),系統(tǒng)采用行和列計(jì)數(shù)器的方式,并且行場(chǎng)嚴(yán)格同步;本設(shè)計(jì)外部具有4路外視頻源,4路采集視頻數(shù)據(jù)經(jīng)過FPGA預(yù)處理,最后以疊加復(fù)合的形式展現(xiàn)在監(jiān)視器上,視頻疊加復(fù)合可實(shí)現(xiàn)4路外視頻的同時(shí)同步顯示[3]。
為了實(shí)時(shí)顯示航空電子系統(tǒng)的動(dòng)力顯示數(shù)據(jù),比如飛機(jī)油量數(shù)據(jù),導(dǎo)航地圖、發(fā)動(dòng)機(jī)引擎等裝置監(jiān)測(cè)數(shù)據(jù),航空電子系統(tǒng)需要將兩幅甚至更多視頻源疊加到一起,即需要進(jìn)行視頻疊加處理;任務(wù)管理計(jì)算要求機(jī)載視頻采集模塊支持不同格式不同分辨率的疊加,疊加子圖和疊加底圖格式支持PAL-D和VESA格式,疊加子圖分辨率支持360x288、720x288、720x576等,疊加底圖分辨率支持640x480、720x576等。疊加方式可以實(shí)現(xiàn)覆蓋疊加、半透明疊加等;在隱藏疊加底圖時(shí),在VGA顯示器上單獨(dú)顯示疊加子圖,也可對(duì)疊加子圖進(jìn)行切換以顯示各個(gè)疊加子圖;FPGA中邏輯疊加框圖如圖 2所示[4]。

圖2 視頻疊加框圖Fig.2 Video overlay diagram
2.1.1 視頻數(shù)據(jù)采集
由圖2知,視頻數(shù)據(jù)的疊加是在視頻有效數(shù)據(jù)預(yù)處理之后進(jìn)行的,數(shù)字視頻預(yù)處理是完成后期視頻縮放復(fù)合疊加的前提;視頻信號(hào)預(yù)處理最核心的就是視頻同步信息的提取,對(duì)于BT656數(shù)字視頻,其同步信息隱藏于8bit數(shù)字視頻信息中,同步信息包含SAV和EAV,SAV之后為數(shù)字有效行視頻數(shù)據(jù)段,EAV放在數(shù)字有效行的結(jié)束后,SAV和EAV分別共4個(gè)字節(jié),它們以十六進(jìn)制表示為FF0000XY[5],頭三個(gè)字是FF、00、00固定前綴,供定時(shí)基準(zhǔn)識(shí)別用,第四個(gè)字節(jié)定義了場(chǎng)的奇偶標(biāo)識(shí)、行場(chǎng)消隱期和行場(chǎng)正程期狀態(tài)信息以及校驗(yàn)位。同步頭信息FF0000XY的提取框圖如圖3所示。

圖3 同步信息提取Fig.3 Synchronization information extraction
2.1.2 視頻信號(hào)復(fù)合
設(shè)計(jì)要求多路視頻最后混合顯示于同一塊PAL屏上,對(duì)于不同的PAL視頻源,必須對(duì)外視頻源信息進(jìn)行相應(yīng)的縮放處理才可以將多路外視頻以復(fù)合方式展現(xiàn)于監(jiān)視器上。視頻采集模塊要求4路PAL視頻最終以復(fù)合的形式顯示于PAL監(jiān)視器上,且視頻復(fù)合要求4副圖像分辨分別為720*288、180*288、180*288、180*288, 而 PAL視頻解碼后分辨率為720*576,故必須進(jìn)行縮放拼接處理。系統(tǒng)要求分辨率與原始圖像分辨率都是整數(shù)倍關(guān)系,因此只要實(shí)現(xiàn)像素抽取即可,即向輸出目的地址寫入數(shù)據(jù)時(shí),判斷該像素是否需要寫入,如果不需要寫入,則直接拋棄即可。
系統(tǒng)采用α疊加[6],alpha疊加是alpha混合(alpha mixing)技術(shù)的一種應(yīng)用,即一幅圖像或視頻源覆蓋到另一種視頻信號(hào)上。alpha疊加中的在疊加系數(shù)為0.5時(shí)稱為 “半透明疊加”,其中透明指使圖像中部分顏色不可見。一般使疊加子圖的部分背景顏色透明,以使疊加底圖可以顯示需要的部分,這樣兩幅圖疊加后看起來更像一幅完整的圖。

圖4 視頻縮小邏輯框圖Fig.4 Video narrow logic diagram

假設(shè)疊加子圖與底圖的像素點(diǎn)為P1和P2,子圖疊加系數(shù)為α,底圖疊加系數(shù)為β,而疊加后新圖像像素為PN。則疊加算法描述如下:
式(1)中為α疊加系數(shù)。α越接近0,子圖越透明。反之,當(dāng)α=1時(shí),子圖完全覆蓋底圖,此時(shí)阿爾法疊加等同于覆蓋疊加,其中 β=1-α。
當(dāng)算法處理圖像為RGB彩色圖像時(shí),公式(2-1)可推廣為以下形式:

式(2)中 PNR,PNG,PNB為新圖像像素 PN的 RGB像素。 同理,P1R,P1G,P1B為子圖像素 P1的 RGB像素 P2R,P2G,P2B為底圖像素P2的RGB像素。圖5表示了疊加子圖和疊加底圖中R像素疊加的示意,G像素和B像素的疊加同R像素疊加。

圖5 α疊加示意圖Fig.5 αSchematic superposition
在 FPGA 中具體實(shí)現(xiàn)為 PAL*α+PAL*(1-α)。 視頻疊加時(shí),對(duì)于路PAL輸入的信號(hào),解碼后先經(jīng)過一個(gè)FPGA內(nèi)的雙口行緩沖區(qū)傳輸?shù)絊RAM中,讀出時(shí)將YCbCr視頻格式變換RGB視頻信號(hào)并緩存于同步FIFO中,然后在FIFO右端以27M的時(shí)鐘將數(shù)據(jù)讀出并進(jìn)行α乘法運(yùn)算,此時(shí)數(shù)據(jù)變化為 PAL*α,最后對(duì) PAL*(1-α)和 PAL*α 進(jìn)行加法運(yùn)算得出疊加后的數(shù)據(jù),并以720*576*50采樣時(shí)鐘27M將疊加數(shù)據(jù)送往PAL顯示器。

圖6 視頻疊加邏輯框圖Fig.6 Video overlay logic diagram
視頻信號(hào)的疊加顯示包括視頻信號(hào)復(fù)合以及視頻信號(hào)疊加。視頻的復(fù)合多路PAL視頻同時(shí)以不同的分辨率顯示于PAL監(jiān)視器上;而視頻的疊加則是不同的視頻信息以某種方式混合顯示于監(jiān)視器上。實(shí)驗(yàn)室環(huán)境下,硬件測(cè)試視頻復(fù)合時(shí)利用視頻多路復(fù)用器將外部一路PAL信號(hào)分為4路視頻信號(hào),來代替硬件上的4路PAL攝像頭來實(shí)現(xiàn)視頻復(fù)合顯示。視頻的疊加則是將一路PAL視頻以VESA格式送出,在VGA顯示器上完成,其中疊加底圖顯示器界面,疊加子圖為視頻攝像頭外部景象。圖7為視頻復(fù)合顯示圖像,圖8為視頻疊加顯示圖像。

圖7 多路視頻復(fù)合顯示Fig.7 Multiple video composite display

圖8 視頻疊加效果圖Fig.8 Video overlay effect diagram
由上圖知,視頻疊加復(fù)合效果畫面清晰無抖動(dòng),完全滿足設(shè)計(jì)要求。實(shí)驗(yàn)室環(huán)境下測(cè)試下,快速移動(dòng)外部攝像頭,視頻畫面清晰流暢,各路視頻之間的切換顯示抖動(dòng)微小,畫面與畫面之間的切換延遲非常小,4路外視頻源信息任何一路均可進(jìn)行顯示位置上的調(diào)整,邏輯可操作性方便,非常方便系統(tǒng)硬件升級(jí)以及應(yīng)用環(huán)境移植;從顯示畫面知,本設(shè)計(jì)視頻疊加符合系統(tǒng)要求,滿足設(shè)計(jì)指標(biāo)求。
本設(shè)計(jì)首先對(duì)傳統(tǒng)視頻處理硬件架構(gòu)進(jìn)行分析,在傳統(tǒng)純DSP硬件架構(gòu)的基礎(chǔ)上進(jìn)行硬件升級(jí),構(gòu)造出本設(shè)計(jì)外視頻采集與視頻處理相互獨(dú)立的視頻疊加硬件架構(gòu);其次接著對(duì)視頻采集進(jìn)行了詳細(xì)分析,并對(duì)視頻疊加流程進(jìn)行了詳盡闡述,利用FPGA動(dòng)態(tài)實(shí)現(xiàn)視頻疊加是本設(shè)計(jì)的創(chuàng)新點(diǎn)與難點(diǎn),本設(shè)計(jì)采用α疊加實(shí)現(xiàn)多路視頻的混合顯示,采用縮放技術(shù)實(shí)現(xiàn)多路視頻的復(fù)合顯示,大大節(jié)省了航空電子系統(tǒng)的空間資源,更大大有效地提高了航空駕駛員對(duì)外視頻監(jiān)控信息的獲取;最后給出了本設(shè)計(jì)視頻復(fù)合疊加的實(shí)現(xiàn)結(jié)果,疊加結(jié)果畫面清晰,抖動(dòng)微小,滿足設(shè)計(jì)要求,非常具有使用價(jià)值,應(yīng)用者只需修改相應(yīng)的硬件邏輯就可將本設(shè)計(jì)硬件平臺(tái)應(yīng)用不同的工作環(huán)境以及工作場(chǎng)合,應(yīng)用前景非常寬泛。
[1]三恒星科技.TMS320C6713DSP原理與應(yīng)用實(shí)例[M].電子工業(yè)出版社,2009.
[2]郭永彩,蘇渝維.基于FPGA的紅外圖像實(shí)時(shí)采集系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].儀器儀表學(xué)報(bào),2011,32(3):514-517.GUO Yong-cai,SU Wei-yu.FPGA-based real-time infrared image acquisition system design and implementation[J].Journal of Scientific Instrument,2011,32(3):514-517.
[3]許志祥.數(shù)字電視與圖像通信技術(shù)[M].清華大學(xué)出版社,2009.
[4]宋傳明,陳寧,陳文薌.車載視頻系統(tǒng)中字符疊加技術(shù)的應(yīng)用[J].廈門大學(xué)學(xué)報(bào),2005,44(2):202-204.SONG Chuan-ming,CHEN Ning,CHENG Wen-xiang.Overlay technology applications in car video systems character[J].Journal of Xiamen University,2005,44(2):202-204.
[5]Keith Jack.視頻技術(shù)手冊(cè)[M].楊征,張杰良,等譯.人民郵電出版社,2009.
[6]Clive Max Maxfield FPGAs World Class Designs[M].POSTS&TELECOM PRESS,2012.