馬紅艷,張福欣,翟春艷,岳修正
(中國電子科技集團公司 第二十七研究所,河南 鄭州 450047)
在機載電視紅外攝像與瞄準過程中,由于電視紅外攝像框架的橫滾運動而引起光學系統(tǒng)和成像器件相對載機運動,從而造成圖像的旋轉(zhuǎn);在許多光學瞄準器、紅外吊艙系統(tǒng)以及測量定標系統(tǒng)中,為了消除由于探測器的姿態(tài)變化而引起的圖像旋轉(zhuǎn),時常要對光學探測器所獲取的目標圖像進行實時反旋轉(zhuǎn)變換,恢復圖像的穩(wěn)定狀態(tài),以便準確地對目標圖像進行自動識別和跟蹤[1]。考慮到實時性,目前文獻[1-3]基本上都是以FPGA為核心設(shè)計的,這里提出一種基于TMS320C6713B的實時數(shù)字視頻消旋系統(tǒng),將仿射變換計算方法進行優(yōu)化應(yīng)用到系統(tǒng)中,有效地消除了視頻圖像的旋轉(zhuǎn)運動,達到了穩(wěn)定圖像的目的。
對圖像進行消旋,實際上是根據(jù)已知圖像的旋轉(zhuǎn)角度,將該圖像按照同樣的角度進行反旋轉(zhuǎn),從而達到消除圖像旋轉(zhuǎn)影響的目的。因此,圖像消旋算法的本質(zhì)是圖像的旋轉(zhuǎn)計算,即由原圖像旋轉(zhuǎn)一個角度得到目標圖像。
結(jié)合實際應(yīng)用,假設(shè)載體的運動導致連續(xù)兩幀圖像間存在的全局運動表現(xiàn)為平移和繞光軸的旋轉(zhuǎn),也即連續(xù)兩幀圖像間可以用線性變換來表征。因此,采用仿射變換[4]來建立圖像運動模型。
若(X1,Y1),(X2,Y2)分別是參考幀與當前幀圖像中相互對應(yīng)的配準點,則它們之間的運動表達式

式中,θ是配準點之間的旋轉(zhuǎn)角△X,△Y分別為配準點在橫向和縱向上的偏移。
對式(1)進行優(yōu)化,假設(shè)輸出圖像中水平相鄰2個像素點(x,y)和(x+1,y),則經(jīng)仿射變換后在輸入圖像中有對應(yīng)的 2 點(u1,v1)和(u2,v2)。不難推導,有如下關(guān)系式成立:

同理假設(shè)輸出圖像中垂直相鄰2個像素點(x,y)和(x,y+1),則經(jīng)仿射變換之后在輸入圖像中有對應(yīng)的 2點(u1,v1)和(u3,v3),有如下關(guān) 系式成立:

從式(2)和式(3)中可以看出,輸出圖像中經(jīng)變換后的兩點坐標差與輸入源圖像中相鄰兩點位置無關(guān)。也就是說,只要計算一次仿射變換就可以采用增量法來求出仿射變換后的所有點的精確位置。因此,圖像的第一個點要用到完整的仿射變換公式

進行計算,后面的點只計算兩個浮點加法就可以獲得一個仿射變換點的精確位置。獲得精確的位置后,利用最鄰近像素法計算圖像灰度,只需要對計算后的坐標位置四舍五入得到整數(shù)坐標值,利用該坐標來獲取相應(yīng)點的灰度值即可。
實時數(shù)字視頻消旋系統(tǒng)主要有4部分組成:視頻A/D、DSP、FPGA和幀存儲器。圖1是系統(tǒng)硬件組成框圖。其原理是外界圖像經(jīng)A/D采樣為數(shù)字圖像進入FPGA,F(xiàn)PGA將圖像寫入幀存儲器中,DSP根據(jù)上位機通過RS-232串口送來的角速度值,計算新圖像各點在當前幀圖像中的位置,將計算后的位置送給FPGA,通過FPGA做地址映射,再將圖像按映射后的地址輸出送D/A顯示或送跟蹤處理模塊進行目標跟蹤識別等處理。

圖1 系統(tǒng)硬件電路組成框圖Fig.1 Configuration of system hardware circuit
在本方案中DSP是數(shù)據(jù)處理的核心,主要是通過串口讀取上位機送來的圖像旋轉(zhuǎn)的角速度信息,根據(jù)該信息進行仿射變換,求出旋轉(zhuǎn)后的圖像各點在原圖像中的坐標,并將求出的坐標寫入FPGA。在計算圖像精確位置時需要進行大量的浮點運算,需要具有高速高精度浮點運算能力的DSP。方案采用了美國TI公司的高性能浮點數(shù)字信號處理器TMS320C6713B。它采用先進的超長指令字結(jié)構(gòu),為單精度(32位)和64位(雙字)的IEEE浮點操作提供硬件支持,且32位整型乘法可以獲得32位或64位結(jié)果。其內(nèi)部有8個獨立的功能單元,2個定點算術(shù)邏輯單元(ALU),2個浮點乘法器,4個浮點ALU,每個周期可以執(zhí)行8個32位指令。內(nèi)部設(shè)計有32個32位通用目的寄存器,4 K字節(jié)的L1高速程序緩存器和4K字節(jié)的L1高速數(shù)據(jù)緩存器,256 K字節(jié)的L2兩級數(shù)據(jù)緩存器[5]。這種結(jié)構(gòu)設(shè)計可以最大限度發(fā)揮8個功能單元的并行運算能力,使得DSP在300 MHz系統(tǒng)時鐘工作時,其運算能力最高為2 400 MIPS,浮點運算能力最高為1 800 MFLOPS,極大地滿足了高速數(shù)據(jù)處理的要求。
另外,DSP6713B片內(nèi)還提供多種集成外設(shè):多種復位加載模式(BOOT)、多通道DMA控制器、多通道緩存串口(McBSP)以及能夠與SDRAM、SBSRAM或異步存儲器直接接口的高性能外部存儲器接口(EMIF),這些都為數(shù)據(jù)處理帶來了極大方便。
方案采用了Actel公司推出的第二代基于Flash(閃存)的可編程器件ProASIC Plus系列中的APA150。該系列器件兼具ASIC(專用集成電路)的性能和FPGA的靈活性于一身,具有150 000個系統(tǒng)門,邏輯單元為6 144個,內(nèi)嵌36 KB的雙端口SRAM和 2個鎖相環(huán)(PLL)內(nèi)核,支持3.3 V、32 bit、50 MHz的 PCI總線,系統(tǒng)外部性能可達 150 MHz,具有高密度、低功耗、非易失及可重復編程等特點。因為ProASIC Plus系列FPGA基于Flash技術(shù),利用Flash開關(guān)保存內(nèi)部邏輯,因此不需要另外的器件。由于不需要上電配置過程,因此具備上電就立即工作的特點。另外高度保密,使用者可編程設(shè)置多位密鑰以阻止外界自行讀取或更改器件的配置[6]。
方案中利用APA150主要實現(xiàn)邏輯控制、A/D采樣控制、D/A顯示控制、向幀存儲器寫圖像以及完成旋轉(zhuǎn)后的圖像與原始圖像的地址映射等功能。
系統(tǒng)軟件主要完成視頻圖像旋轉(zhuǎn)坐標的計算,利用TMS320C6713B的浮點運算功能,基于CCS3.1平臺編制匯編程序來實現(xiàn),圖2為基本流程圖,主要有以下步驟:
1)每場查詢到場逆程時,通過串口讀取上位機送來的角速度信息,并將該角速度轉(zhuǎn)化為每20 ms角度的變化量。根據(jù)該角度利用完整的仿射變換求旋轉(zhuǎn)后圖像的首點坐標,并根據(jù)完整的仿射變換公式推導計算出水平方向和垂直方向的增量。
2)當查詢到場正程時,對于每行各點可根據(jù)前一點在原圖像中的位置加上水平方向的增量,就可以得到當前點的精確位置。對于每行的第一個點,可根據(jù)上一行的首點在原圖像中的位置加上垂直方向的增量,即可得到該點在原圖像中的位置。

圖2 軟件流程圖Fig.2 Flow chart of software
3)最后將得到的圖像位置四舍五入求出當前點在原圖像中的坐標,最后將該坐標送入FPGA。
實驗中取處理的圖像為256×256×8 bit,固定攝像機不動,任意輸入角速度為0°~360°/20 ms,角速度可以精確到0.1°/20 ms,系統(tǒng)會圍繞圖像中心以相應(yīng)的角速度旋轉(zhuǎn)圖像。圖3為原始未旋轉(zhuǎn)的圖像,圖4是以2.4°/20 ms速度旋轉(zhuǎn)到30°時的圖像,由圖3和圖4可見旋轉(zhuǎn)后的圖像穩(wěn)定清晰。

圖3 原始視頻圖像Fig.3 Original video image

圖4 旋轉(zhuǎn)后的圖像Fig.4 Revolved video image
本文提出一種基于TMS320C6713B的視頻消旋系統(tǒng),該系統(tǒng)易于硬件實現(xiàn),實時性高,消旋轉(zhuǎn)后的圖像清晰穩(wěn)定,滿足工程應(yīng)用要求。另外該系統(tǒng)可擴展性強,只須對硬件進行少許改動,即可用于更高分辨率比如768×576的圖像消旋系統(tǒng)。
[1]曾祥萍,楊濤.實時圖像的電子消旋系統(tǒng)[J].光電工程,2005,32(10):27-30.ZENG Xiang-ping,YANG Tao.Electronic system for real-time canceling image rotations[J].Opto-Electronic Engineering,2005,32(10):27-30.
[2]李洪偉,黃自力,袁斯華,等.基于FPGA/DSP的數(shù)字視頻消像旋系統(tǒng)設(shè)計[J].紅外與激光工程,2006,35(2):222-233.LI Hong-wei,HUANG Zi-li,YUAN Si-hua,et al.Design for image rotation-elimination of digital video based on FPGA/DSP[J].Infrared and Laser Engineering,2006,35(2):222-233.
[3]葉凌云,李玉山,王崇劍.船載實時圖像消旋系統(tǒng)設(shè)計[J].電子設(shè)計應(yīng)用,2007(10):87-89.YE Ling-yun,LI Yu-shan,WANG Chong-jian.Design of real-time image rotation-elimination system for ships[J].Electronic Design&Application,2007(10):87-89.
[4]楊曉峰,張桂林.一種基于仿射變換模型的目標跟蹤算法[J].計算機與數(shù)字工程,2005,33(12):30-34.YANG Xiao-feng,ZHANG Gui-lin.A target tracking algorithm based on affine transform model[J].Computer and Digital Engineerning,2005,33(12):30-34.
[5]江思敏,劉暢.TMS320C6000 DSP應(yīng)用開發(fā)教程[M].北京:機械工業(yè)出版社,2005.
[6]ACTEL.ProASICPLUS family Flash FPGA[EB/OL].[2009-06].http://www.actel.com/documents/ProASICPLUS-DS.pdf.