《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 可編程邏輯 > 業(yè)界動態(tài) > 基于FPGA的視頻圖像疊加系統(tǒng)的設(shè)計與實現(xiàn)

基于FPGA的視頻圖像疊加系統(tǒng)的設(shè)計與實現(xiàn)

2008-07-16
作者:王旭東,,王新賽,,李 堅

??? 摘 要: 介紹一種基于FPGA的視頻疊加系統(tǒng)的硬件設(shè)計與軟件實現(xiàn),克服了市面上大多采用的用專用字符疊加芯片設(shè)計視頻疊加系統(tǒng)的不足,,而且系統(tǒng)中疊加到視頻圖像" title="視頻圖像">視頻圖像上的瞄準(zhǔn)十字線可以單像素移動,,并且可以根據(jù)背景灰度值的不同,,實時改變自身灰度值以形成反差,更有利于觀察瞄準(zhǔn),,這是以往視頻疊加系統(tǒng)做不到的,。作為一種新型的視頻疊加技術(shù),它具有靈活性強,、體積小,、功耗低等特點。
??? 關(guān)鍵詞: FPGA? 視頻疊加? 實時? VHDL

?

??? 圖像處理技術(shù)廣泛應(yīng)用于科學(xué)研究,、工農(nóng)業(yè)生產(chǎn),、軍事技術(shù),、醫(yī)療衛(wèi)生等領(lǐng)域。 在軍事領(lǐng)域中的應(yīng)用主要有:海防監(jiān)控,、電視跟蹤,、目標(biāo)識別、成像制導(dǎo)等,。本文設(shè)計針對裝備觀瞄系統(tǒng)中的視頻信息的疊加,,主要是接收上位機傳來的瞄準(zhǔn)十字線參數(shù)和目標(biāo)位置信息,利用FPGA實現(xiàn)在視頻圖像中疊加用于瞄準(zhǔn)的高精度可控,,能實時根據(jù)背景灰度值自動調(diào)整自身灰度值的十字線和目標(biāo)參數(shù)等,。在以往的視頻疊加系統(tǒng)中,通常采用專用字符疊加芯片調(diào)用字符庫中字符以實現(xiàn)疊加,而這種方式實現(xiàn)的字符疊加不能提供字符的單像素移動操作,,只能整字模一起讀寫,,整個系統(tǒng)適應(yīng)性差,顯示的十字線或字符精度和靈活性不夠,不能根據(jù)實時需要在圖像任意方位疊加各種精度的信息,。而利用本文技術(shù)實現(xiàn)的視頻疊加,,整個系統(tǒng)在單片F(xiàn)PGA中實現(xiàn),可減少系統(tǒng)的體積和功耗,,而且用FPGA模擬的顯示時序可以使疊加的字符或十字線精度得到提高,,靈活性得到增強,滿足了不同的應(yīng)用要求,。
1 工作原理
??? 為實現(xiàn)圖像疊加,,必須先了解圖像傳送的原理。圖像是由明暗不同的部分構(gòu)成的,,一幅圖像可以分解成許多個基本單元,,叫“像素”。要想成功地傳送一幅圖像,,必須把它所有的像素分別轉(zhuǎn)換成相應(yīng)的電信號,,再一一加以傳送。現(xiàn)代電視技術(shù)中,,采用順序(輪流)傳送像素的方法,,在發(fā)送端按照各個像素的行列位置逐個變成電信號,發(fā)送到接收端" title="接收端">接收端,;在接收端屏幕上,,各個像素也是逐個相繼出現(xiàn)的。因此,,要想在接收端的屏幕上得出正確的影像,,應(yīng)該符合兩個條件:①是發(fā)送與接收兩個端的掃描時間應(yīng)該相等,即掃描頻率一致,;②每一行和每一場開始掃描的時刻也要一樣,,即掃描的相位一致,。所以,嚴(yán)格地保證接收端和發(fā)送端的掃描運動互相同步是非常重要的,。目前在傳送視頻信號時,,把影像信號,、消隱信號和復(fù)合同步信號" title="同步信號">同步信號三者按一定比例混合在一起,,發(fā)送到接收端去控制顯像管中電子束的掃描運動,以保證影像中各像素的位置在熒光屏上正確重顯,。我國采用的電視信號是PAL制,,場掃描頻率為50Hz,行掃描頻率為15 625Hz,,它的行同步信號和場同步信號的基本波形如圖1所示,,實際傳送的視頻信號波形如圖2所示。

?

?


??? 本系統(tǒng)中,,要求對攝像頭獲得的圖像疊加上瞄準(zhǔn)十字線光標(biāo)和目標(biāo)位置信息,,用戶可以通過串口" title="串口">串口命令控制光標(biāo)的移動。按此要求,,在圖像傳送過程中,,截取從攝像頭傳出的視頻信號,疊加一些圖形信號,,再傳送到接收端(本系統(tǒng)中為監(jiān)視器),。所謂疊加,實質(zhì)上是在像素級為每個像素點選擇電信號,。這其中有兩個問題:一是精確定位像素點,,即確定它的行、列位置,;二是定位之后,,控制電信號的輸出,即選擇在監(jiān)視器上的某一像素點為顯示現(xiàn)場圖像像素的電信號,,還是疊加圖形的像素電信號,。本系統(tǒng)解決這兩問題的辦法是:采集視頻圖像時,根據(jù)視頻圖像的復(fù)合同步信息實時將圖像的灰度值按順序采集到一雙口" title="雙口">雙口RAM中,,供顯示時讀取,,而顯示的“復(fù)合同步信號”是采用VHDL在FPGA中模擬出來的,這樣可以直接得到行同步信號及場同步信號,,以控制行/場計數(shù)器準(zhǔn)確計數(shù)及定位像素點,,從而可以在視頻圖像的任意位置疊加字符圖像。另外,,還可以在顯示圖像之前讀取雙口RAM中的視頻灰度值以實現(xiàn)圖像處理的各種算法,。
2 硬件設(shè)計
??? 系統(tǒng)的核心控制在FPGA芯片中,選用ALTERA公司的Stratix EP1S10F672I7芯片,,配置方式采用PS并行配置模式。配置存儲器選用ALTERA的EPC8Q100,,它擁有8個存儲分區(qū),,合計8Mbit的存儲空間,通過撥碼開關(guān)選擇不同的上電程序,??梢愿鶕?jù)用戶需要選擇不同的系統(tǒng)程序。對配置芯片的下載和在線調(diào)試采用JTAG口模式,。視頻信號通過采集芯片SAA7113采集并解碼成標(biāo)準(zhǔn)的“VPO”數(shù)字信號存儲在FPGA內(nèi)嵌的雙口RAM中,,視頻合成的全部過程在FPGA中實現(xiàn),最后通過顯示芯片ADV7123 顯示到監(jiān)視器,。RS485用來傳輸從上位機過來的目標(biāo)位置信息和十字線調(diào)整命令,。整個硬件電路實際上是一個圖像處理平臺,實現(xiàn)視頻合成只用到系統(tǒng)資源的21%,,其余資源可用來實現(xiàn)圖像處理的多種算法,。系統(tǒng)結(jié)構(gòu)框圖如圖3所示。

?


3 軟件實現(xiàn)
??? 系統(tǒng)硬件相對比較簡單,,大量工作需要用硬件描述語言(VHDL)在集成芯片F(xiàn)PGA中完成,。軟件采用模塊化設(shè)計方法,對各模塊進行增量編譯,,通過在FPGA物理位置進行區(qū)域性約束來完成整個系統(tǒng)軟件設(shè)計,,繼承每一個模塊編譯的成果,使模塊與模塊之間有一定的物理隔離帶,,減少了各模塊之間的信號干擾,,保證每個模塊的時序要求,并且軟件流程清晰,、可讀性強,,便于修改和升級??傮w流程如圖4所示,。

?


3.1 圖像采集模塊
??? 本模塊主要作用是采集從芯片SAA7113過來的數(shù)字視頻信號、行場同步信號,,及SAA7113內(nèi)部鎖相環(huán)(LLC)向外界提供的27MHz系統(tǒng)時鐘信號,。根據(jù)復(fù)合同步信息將視頻圖像灰度值存入FPGA內(nèi)嵌的雙口RAM中,供圖像算法實現(xiàn)模塊調(diào)用,。FPGA內(nèi)部的存儲空間可以配置為各種存儲器,,本系統(tǒng)將其配置為雙口RAM,用于存儲視頻圖像灰度值。
3.2 圖像算法實現(xiàn)模塊
??? 本系統(tǒng)涉及到的圖像處理算法是為了使疊加到視頻圖像上的瞄準(zhǔn)十字線能夠根據(jù)視頻圖像背景灰度值的變化而自動調(diào)整自身灰度以便于觀察,。模塊采用領(lǐng)域處理的方法以模板運算的形式實現(xiàn),。模板運算的思想是將賦予某個像素的灰度值作為它本身灰度值和相鄰像素灰度值的函數(shù)??紤]圖5(a)所示十字線中心的子圖區(qū)域,,并用以準(zhǔn)心z5為中心的3×3區(qū)域中像素值的模板運算值來代替z5的值。
??? 利用圖5(b)的模板,,將模板中心放在z5之上,,用模板上對應(yīng)的系數(shù)與模板下的像素相乘并累加結(jié)果:

???

??? 令wi=1/9,i=1,2,,…,,9,,將運算結(jié)果與灰度值150比較,,大于150則給出一信號,令d等于1,,否則將d置0,。十字線的灰度值則根據(jù)d的值而調(diào)整。

?


??? 式(1)在圖像處理中得到廣泛應(yīng)用,,恰當(dāng)?shù)剡x擇系數(shù)并在圖像的各個像素位置運用模板可以得到一系列有用的運算,,如噪聲消除、細化區(qū)域和邊緣提取等,。本系統(tǒng)中主要用來消除噪聲的干擾,。
3.3 顯示合成模塊
??? 利用VHDL實現(xiàn)的PAL制式顯示合成模塊,主要由串口數(shù)據(jù)分配器,、可移動的十字線生成器,、字符生成器和字符ROM、視頻信號合成器組成,。其結(jié)構(gòu)框圖如圖6所示,。

?


??? 串口數(shù)據(jù)分配器把從字符疊加FIFO中讀取的十字線參數(shù)及目標(biāo)信息分解并傳給可移動的十字線生成器和字符生成器。
??? 可移動的十字線生成器利用PAL制式復(fù)合同步信號發(fā)生器中模擬出來的行場信號和像素時鐘來同步,,按照從串口數(shù)據(jù)分配器中傳來的十字線位置信息,,定位相應(yīng)圖像的行和列,并產(chǎn)生灰度級10位的圖像數(shù)據(jù),,通過視頻信號合成器合成到視頻圖像中,。
??? 字符生成器和字符ROM,其原理和十字線生成器很相似,,同樣是由PAL制式復(fù)合同步信號發(fā)生器中模擬出來的行場信號和像素時鐘驅(qū)動,。與十字線生成器不同的是:字符生成器是按照從串口數(shù)據(jù)分配器中讀出的目標(biāo)信息,然后生成相應(yīng)的字符ROM地址并查找相應(yīng)字符送入視頻信號合成器合成顯示。字符ROM和FIFO一樣用Stratix系列中自帶的TriMatrix存儲器實現(xiàn),,另外在系統(tǒng)編譯前要做一個字符MIF文件固化到ROM中去,。
??? 視頻信號合成器是把從字符生成器中生成的字符、可移動的十字線生成器生成的十字線和從雙口RAM讀取的圖像數(shù)據(jù)異或,,最后生成PAL制式電視信號,,完成視頻信號的疊加。
??? 系統(tǒng)級的FPGA設(shè)計以其可靠性,、先進性,、高效性、體積小的特點,,正逐步成為設(shè)計者的首選,。隨著對視頻疊加要求的提高,很多領(lǐng)域要求在視頻圖像上疊加各種復(fù)雜的圖形并且要求精度高和可控性好。以往的單片機控制的視頻疊加系統(tǒng)已逐漸不能滿足需求,,而基于FPGA設(shè)計的圖像疊加系統(tǒng)可以高效地完成任務(wù),。目前基于FPGA的視頻疊加系統(tǒng)已在某裝備觀瞄設(shè)備上成功使用,效果很好,。
參考文獻
[1] 宋傳明,,陳寧,陳文薌.車載視頻系統(tǒng)中字符疊加技術(shù)的應(yīng)用.廈門大學(xué)學(xué)報(自然科學(xué)版),,2005.
[2] McGraw.hill.VHDL Programming by Example.2004.
[3] 吳繼華.Altera FPGA/CPLD設(shè)計(高級篇).北京:人民郵電出版社,,2005.
[4] 任愛鋒.基于FPGA的嵌入式系統(tǒng)設(shè)計.西安:西安電子科技大學(xué)出版社,2005.

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,,并不代表本網(wǎng)站贊同其觀點。轉(zhuǎn)載的所有的文章,、圖片,、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認版權(quán)者,。如涉及作品內(nèi)容,、版權(quán)和其它問題,請及時通過電子郵件或電話通知我們,,以便迅速采取適當(dāng)措施,,避免給雙方造成不必要的經(jīng)濟損失。聯(lián)系電話:010-82306118,;郵箱:[email protected],。