文獻標識碼: A
文章編號: 0258-7998(2014)02-0085-03
某型裝備電視測角儀給其檢測儀提供電視信號的同時還需要對電視信號進行變焦控制,來進行大小視場的變換,以便射手觀察被捕獲的彈標信號[1],這就需要設計一種可靠性好,便于攜帶的設備可以接收電視測角儀所采集的電視信號,同時對電視信號進行處理,實現視場變換功能。FPGA內部含有豐富的可編程硬件資源,能夠同時兼顧速度和靈活性,提高電路集成度,應用在諸如實時圖像處理、聯合戰術無線電通信系統、網絡攝像等領域[2]綜合FPGA的優勢,本系統選用FPGA作為視頻圖像處理的核心器件完成設計。
1 雙三次插值算法原理
圖像插值是圖像處理的一個基本問題,應用廣泛。根據原始像素點的值對像素之間的值給出估計,并力求估計出的數值接近真實值,將此點的值與原始像素點的值組合成為新的圖像,即為圖像插值。雙三次插值算法利用待插值點周圍4×4鄰域內的16個點作為權系數進行三次插值。典型的雙三次插值核函數只與一個自由變量有關,又當自由變量a取-0.5時鄰域4×4的雙三次插值在圖像處理中應用最為廣泛[3-4],因此本設計采用雙三次插值算法的同時令自由變量取-0.5,則雙三次插值核函數如式(1)所示:
2 系統總體設計
系統總體設計如圖1所示,FPGA不能直接對模擬信號進行處理,而標準電視信號屬于模擬信號,所以首先要對測角儀提供的PAL制電視信號進行A/D轉換,而后FPGA內部模塊對轉換后的信號進行分離,將原信號分離成消隱信號、同步信號與圖像數據,再接收到視場變換命令后對圖像數據進行插值運算,并將運算后的圖像數據連同消隱信號、同步信號一并送入D/A轉換芯片,D/A芯片將轉換后的模擬信號和消隱信號、同步信號進行時序上的復合,由此產生經過插值處理的標準PAL制電視信號,發送到顯示器進行顯示。如果沒收到視場變換命令,則直接輸出從測角儀所接收到的原始電視信號。圖2為系統工作流程圖。
2.1系統硬件設計
(1)FPGA最小系統:包括Altera公司Cyclone II系列EP2C35芯片、電源電路、晶振電路、SDRAM芯片和配置電路,晶振用來給系統提供所需的時鐘頻率,在利用FPGA采集圖像時,需要存儲大量的數據,因此選用而同步動態存儲器(SDRAM)來存儲數據。
(2)A/D轉換電路:對視頻信號進行模數轉換是通過芯片ADV7181實現的。ADV7181是一款集成的視頻解碼器,支持多種格式的模擬視頻信號輸入,可以自動檢測PAL、SECAM及其兼容的各種標準模擬電視信號。
(3)D/A轉換電路:D/A轉換電路主要由ADV7123芯片構成。ADV7123是ADI公司的一款高速的數模轉換芯片,內部集成有3路10位精度的D/A轉換器,分別用于RGB數字信號D/A轉換[5]。ADV7123芯片提供有3路數字輸入接口以及消隱和同步控制信號。完全能夠滿足本設計需要。ADV7123與FPGA的連接電路原理圖如圖3所示。
(4)串口通信電路:串口通信有多種工業標準,這里采用的是RS232接口電平規范,Altera公司的FPGA系列器件的I/O標準定義邏輯1對應為2 V~3.3 V電壓,標準邏輯0對應0 V~0.4 V電壓;而RS232標準采用負邏輯方式,標準邏輯1對應-5 V~-15 V,標準邏輯0對應+5 V~+15 V。顯然兩者間要進行通信必須經過信號電平的轉換,故使用美信公司的MAX232芯片作為電平轉換電路。
2.2 FPGA關鍵模塊設計
基于雙三次插值算法的視頻信號模塊設計:由小視場到大視場的變換過程,可以看作是視頻圖像放大的過程,不同的是這里僅僅需要將彈標信號所處的位置圖像進行放大,以便射手觀察。
(1)視頻信號解碼模塊:視頻信號解碼模塊功能是從已經過模數轉換后的視頻數據流中提取出有效視頻信號的亮度信號,同時分離出同步信號與消隱信號。
(2)緩存控制模塊:緩存控制模塊主要功能是將采集的視頻圖像數據存入SDRAM,在收到指令后送出圖像數據以便后續圖像處理模塊對圖像進行插值處理。
(3)視場變換區域設定模塊:由于系統接收的視頻信號格式為PAL制,每幀視頻圖像的有效像素為720×576,系統可以根據觀察的需要,對測角儀幾種不同工作狀態下的電視圖像進行插值放大。
(4)像素矩陣構建模塊:根據雙三次插值算法的原理可知,計算的對象是一個4×4的像素矩陣,而FPGA無法直接將4×4的矩陣按照位置賦予權值并在兩個方向上進行卷積運算,因此使用此模塊作為數據緩存來實現像素矩陣的構造,實現4行數據的并行輸出,即一列4個像素點的并行輸出,便于后續的4×4矩陣運算[6]。
(5)插值點像素計算模塊:完成插值點像素計算任務, 此模塊包含查表模塊(table_look)、乘加器(altmult_add)、乘法器(lpm_mult)、并行加法器(paraller_add)在內的幾個子模塊來共同完成一系列計算。在接收好像素矩陣后,對緩存的像素矩陣進行水平和垂直兩個方向上的卷積運算,得到插值點的像素值,此處兩次卷積運算首先在水平方向上,4個像素點的值與各自權值進行卷積運算得出一個臨時參考點的值,再在垂直方向上將4個臨時參考點的值與各自權值進行第二次卷積運算,得到的值即為插值點像素值。在此使用4個乘加器完成像素矩陣4個水平方向上的卷積運算,然后計算出來的4個數值進入相應乘法器與各自的權值相乘,最后通過并行加法器完成垂直方向上的卷積運算,同時輸出待插值點的值。插值點像素計算模塊頂層原理如圖4所示。
(6)像素插值模塊:像素差值模塊主要功能是將計算好的插值點像素插入原圖像素點中,每完成一次插值,使一幀圖像總像素數變成上一幀的兩倍,同時輸出本幀圖像,經過多次插值并輸出連續圖像后,便達到視場變換效果。
(7)視頻信號編碼模塊:視頻信號編碼模塊功能是將經過插值處理后所得到的新圖像的亮度信號轉換為標準的數字視頻流,連同解碼時所分離的消隱信號、同步信號一起送入數模轉換電路,轉換成標準的模擬電視信號。
圖5~圖6為FPGA部分模塊功能仿真圖。
通過將FPGA作為核心構建硬件電路,同時設計雙三次插值各個模塊,完成測角儀視頻信號視場變換系統設計,圖7為視場變換測試圖(略去裝備),在該系統構建時,各功能模塊具有良好的移植性和系統擴展性。由于利用幾組固定的模板系數,通過查表來代替復雜的權值計算,有效減少了插值計算所占用的系統資源,使得在 FPGA上完成后續更復雜的處理工作成為可能。
參考文獻
[1] 王竹林. 某型反坦克導彈武器系統部隊勤務教材[M].北京:兵器工業出版社, 1999.
[2] 岡薩雷斯. 數字圖像處理[M]. 北京:電子工業出版社,2005.
[3] 許小勇,鐘太勇. 三次樣條插值函數的構造與Matlab實現[J]. 自動測量與控制,2010,25(11):76-78.
[4] 謝然,李玉惠.基于DSP Builder的雙三次插值算法FPGA實現的研究[J]. 云南大學學報, 2009(31):85-89.
[5] 向厚振,張志杰,王鵬.基于FPGA視頻和圖像處理系統的FIFO緩存技術[J]. 電視技術,2012,36(9):41-43.
[6] 王永利.基于FPGA的實時圖像處理平臺的研究與設計[D].沈陽:東北大學,2011.