基于TMS320C6713B的實時數字視頻消旋系統(tǒng)設計
摘要:針對探測器姿態(tài)變化造成的視頻圖像旋轉,提出一種基于TMS320C6713B的實時數字視頻消旋系統(tǒng)。該系統(tǒng)利用TMS320C6713B計算圖像旋轉后各點的位置,再利用FPGA進行地址映射,得到圖像旋轉后各點對應的灰度值。實驗證明該系統(tǒng)能夠實時消除視頻圖像的旋轉,且消旋后的圖像清晰穩(wěn)定,滿足實際應用要求。
關鍵詞:TMS320C6713B;圖像旋轉;仿射變換;APAl50
在機載電視紅外攝像與瞄準過程中,由于電視紅外攝像框架的橫滾運動而引起光學系統(tǒng)和成像器件相對載機運動,從而造成圖像的旋轉;在許多光學瞄準器、紅外吊艙系統(tǒng)以及測量定標系統(tǒng)中,為了消除由于探測器的姿態(tài)變化而引起的圖像旋轉,時常要對光學探測器所獲取的目標圖像進行實時反旋轉變換,恢復圖像的穩(wěn)定狀態(tài),以便準確地對目標圖像進行自動識別和跟蹤??紤]到實時性,目前文獻基本上都是以FPGA為核心設計的,這里提出一種基于TMS320C6713B的實時數字視頻消旋系統(tǒng),將仿射變換計算方法進行優(yōu)化應用到系統(tǒng)中,有效地消除了視頻圖像的旋轉運動,達到了穩(wěn)定圖像的目的。
1 系統(tǒng)算法設計
對圖像進行消旋,實際上是根據已知圖像的旋轉角度,將該圖像按照同樣的角度進行反旋轉,從而達到消除圖像旋轉影響的目的。因此,圖像消旋算法的本質是圖像的旋轉計算,即由原圖像旋轉一個角度得到目標圖像。
結合實際應用,假設載體的運動導致連續(xù)兩幀圖像間存在的全局運動表現為平移和繞光軸的旋轉,也即連續(xù)兩幀圖像間可以用線性變換來表征。因此,采用仿射變換來建立圖像運動模型。
若(X1,Y1),(X2,Y2)分別是參考幀與當前幀圖像中相互對應的配準點,則它們之間的運動表達式
式中,θ是配準點之間的旋轉角△X,△Y分別為配準點在橫向和縱向上的偏移。
對式(1)進行優(yōu)化,假設輸出圖像中水平相鄰2個像素點(x,y)和(x+1,y),則經仿射變換后在輸入圖像中有對應的2點(u1,v1)和(u2,v2)。不難推導,有如下關系式成立:
同理假設輸出圖像中垂直相鄰2個像素點(x,y)和(x,y+1),則經仿射變換之后在輸入圖像中有對應的2點(u1,v1)和(u3,v3),有如下關系式成立:
從式(2)和式(3)中可以看出,輸出圖像中經變換后的兩點坐標差與輸入源圖像中相鄰兩點位置無關。也就是說。只要計算一次仿射變換就可以采用增量法來求出仿射變換后的所有點的精確位置。因此,圖像的第一個點要用到完整的仿射變換公式
進行計算,后面的點只計算兩個浮點加法就可以獲得一個仿射變換點的精確位置。獲得精確的位置后,利用最鄰近像素法計算圖像灰度,只需要對計算后的坐標位置四舍五入得到整數坐標值,利用該坐標來獲取相應點的灰度值即可。
2 系統(tǒng)硬件設計
實時數字視頻消旋系統(tǒng)主要有4部分組成:視頻A/D、DSP、FPGA和幀存儲器。圖l是系統(tǒng)硬件組成框圖。其原理是外界圖像經A/D采樣為數字圖像進入FPGA,FPGA將圖像寫入幀存儲器中,DSP根據上位機通過RS-232串口送來的角速度值,計算新圖像各點在當前幀圖像中的位置,將計算后的位置送給FPGA,通過FIGA做地址映射,再將圖像按映射后的地址輸出送D/A顯示或送跟蹤處理模塊進行目標跟蹤識別等處理。
2.1 TMS320C6713B數據處理單元
在本方案中DSP是數據處理的核心,主要是通過串口讀取上位機送來的圖像旋轉的角速度信息,根據該信息進行仿射變換,求出旋轉后的圖像各點在原圖像中的坐標,并將求出的坐標寫入FPGA。在計算圖像精確位置時需要進行大量的浮點運算,需要具有高速高精度浮點運算能力的DSP。方案采用了美國TI公司的高性能浮點數字信號處理器TMS320C6713B。它采用先進的超長指令字結構,為單精度(32位)和64位(雙字)的IEEE浮點操作提供硬件支持,且32位整型乘法可以獲得32位或64位結果。其內部有8個獨立的功能單元,2個定點算術邏輯單元(ALU),2個浮點乘法器,4個浮點ALU,每個周期可以執(zhí)行8個32位指令。內部設計有32個32位通用目的寄存器,4 K字節(jié)的L1高速程序緩存器和4K字節(jié)的L1高速數據緩存器,256 K字節(jié)的L2兩級數據緩存器。這種結構設計可以最大限度發(fā)揮8個功能單元的并行運算能力,使得DSP在300 MHz系統(tǒng)時鐘工作時,其運算能力最高為2 400 MIPS,浮點運算能力最高為1 800 MFLOPS,極大地滿足了高速數據處理的要求。
另外,DSP6713B片內還提供多種集成外設:多種復位加載模式(BOOT)、多通道DMA控制器、多通道緩存串口(McBSP)以及能夠與SDRAM、SBSRAM或異步存儲器直接接口的高性能外部存儲器接口(EMIF),這些都為數據處理帶來了極大方便。
2.2 FPGA模塊單元
方案采用了Actel公司推出的第二代基于Flash(閃存)的可編程器件ProASIC Plus系列中的APAl50。該系列器件兼具ASIC(專用集成電路)的性能和FPGA的靈活性于一身,具有150 000個系統(tǒng)門,邏輯單元為6 144個,內嵌36KB的雙端口SRAM和2個鎖相環(huán)(PLL)內核,支持3.3 V、
32 bit、50 MHz的PCI總線,系統(tǒng)外部性能可達150 MHz,具有高密度、低功耗、非易失及可重復編程等特點。因為ProASIC Plus系列FPGA基于Hash技術,利用Hash開關保存內部邏輯,因此不需要另外的器件。由于不需要上電配置過程,因此具備上電就立即工作的特點。另外高度保密,使用者可編程設置多位密鑰以阻止外界自行讀取或更改器件的配置。
方案中利用APAl50主要實現邏輯控制、A/D采樣控制、D/A顯示控制、向幀存儲器寫圖像以及完成旋轉后的圖像與原始圖像的地址映射等功能。
3 系統(tǒng)軟件設計
系統(tǒng)軟件主要完成視頻圖像旋轉坐標的計算,利用TMS320C6713B的浮點運算功能,基于CCS3.1平臺編制匯編程序來實現,圖2為基本流程圖,主要有以下步驟:
1)每場查詢到場逆程時,通過串口讀取上位機送來的角速度信息,并將該角速度轉化為每20 ms角度的變化量。根據該角度利用完整的仿射變換求旋轉后圖像的首點坐標,并根據完整的仿射變換公式推導計算出水平方向和垂直方向的增量。
2)當查詢到場正程時,對于每行各點可根據前一點在原圖像中的位置加上水平方向的增量,就可以得到當前點的精確位置。對于每行的第一個點,可根據上一行的首點在原圖像中的位置加上垂直方向的增量,即可得到該點在原圖像中的位置。
3)最后將得到的圖像位置四舍五入求出當前點在原圖像中的坐標,最后將該坐標送入FPGA。
4 實驗結果
實驗中取處理的圖像為256x256x8 bit,固定攝像機不動,任意輸入角速度為0°~360°/20 ms,角速度可以精確到0.1°/20 ms,系統(tǒng)會圍繞圖像中心以相應的角速度旋轉圖像。圖3為原始未旋轉的圖像,圖4是以2.4°/20 ms速度旋轉到30°時的圖像,由圖3和圖4可見旋轉后的圖像穩(wěn)定清晰。
5 結束語
本文提出一種基于TMS320C6713B的視頻消旋系統(tǒng),該系統(tǒng)易于硬件實現,實時性高,消旋轉后的圖像清晰穩(wěn)定,滿足工程應用要求。另外該系統(tǒng)可擴展性強,只須對硬件進行少許改動,即可用于更高分辨率比如768x576的圖像消旋系統(tǒng)。