專利名稱:一種適用于無人機序列圖像的壓縮方法
技術領域:
本發明涉及圖像數據處理技術,特別是涉及一種適用于無人機序列圖 像的壓縮方法。
背景技術:
隨著成像技術的發展,無人機獲取的圖像分辨率不斷提高,圖像數據 量急劇增大,而通信信道的帶寬又是非常有限的,因此必須對獲取的圖像 數據進行有效的實時壓縮以大幅減少其數據量。另一方面,無人機飛行速 度快,飛行高度較高,相對普通圖像,無人機圖像分辨率高,空間相關性 較差,時間相關性與普通視頻也明顯不同。現有圖像和視頻壓縮算法和系 統在算法復雜度、壓縮性能、壓縮速度、響應時間、碼流控制等方面或多
或少有所欠缺,無法完全滿足工程實踐的需求,如當前使用的MJPEG2000 算法(參考文獻ISO/IEC 15444-3 Motion-JPEG2000 (JPEG2000 Part 3), 2002.),其使用JPEG2000算法作幀內壓縮,能獲得較高的復原效果,但是 由于沒有去除幀間冗余,導致無法有效提高壓縮比。而H.264壓縮算法(參 見文獻ITU Draft Recommendation H.264,ISO/IEC Draft International Standard 14496-10.JVT-G050rl)中采用了多宏塊劃分模式估計、多參數幀 估計等方法,雖然使其獲得了很好的壓縮效果,但是其算法復雜度太高, 同時在碼率控制上有不足,對無人機一類的圖像并不適應。因此,研制專 用的無人機序列圖像壓縮方法與實時實現裝置具有重要的工程意義。
發明內容
本發明的目的在于提供一種復雜度低、壓縮信噪比高、嚴格控制壓縮 碼率的無人機序列圖像壓縮方法以及實現該方法的實時圖像壓縮裝置。
一種適用于無人機序列圖像的壓縮方法,按照以下步驟進行 步驟Sl 利用機載輔助數據對序列幀圖像劃分幀組,每個幀組內的首 幀與其它幀具有圖像重疊區域;
步驟S2 每個幀組按照如下方式進行壓縮
S201分別計算當前幀與首幀和尾幀的重疊區域;
S202分別在首幀與當前幀的重疊區域,尾幀與當前幀的重疊區域中 選取至少五個匹配塊選擇域,并在這些選擇域中選取匹配塊;
S203分別使用首幀和尾幀對應的匹配塊在當前幀內作匹配運算,進 一步求得首幀和尾幀各自到當前幀的投影變換矩陣,作為預測矩陣;
S204利用首幀、尾幀及其各自對應的預測矩陣估計得到當前幀的預 測幀,求取當前幀與預測幀的殘差;
S205按照步驟S201~ S204求取幀組內首幀以外所有幀的殘差;
S206將首幀與其它幀的殘差圖像拼接成一個單幅大圖,采用 JPEG2000標準對單幅大圖做整體壓縮。
本發明相對現有技術具有以下優點
1. 利用機載數據劃分幀組,利用H矩陣進行雙向幀組預測編碼,相 對于現有算法提高了在提高運動估計的速度和運動補償的精度,提高了編碼效率,同時降低了計算復雜度;
2. 幀組中采用首幀圖像與當前幀的殘差圖像進行圖像拼接進而應 用JPEG2000做整體壓縮,利用JPEG2000壓縮標準中的PCRD-OPT算法, 優化碼流分布,嚴格控制壓縮碼率;
采用本發明,可用非常低的硬件成本實現高達1024xl024xl00幀/秒的 偵查圖像的實時壓縮,在32倍定比壓縮的條件下峰值信噪比(PSNR)達到 40dB以上,在壓縮性能、處理速度和性價比等方面均優于現有無人機圖像 壓縮系統。
圖l是壓縮裝置結構框圖; 圖2是壓縮算法流程圖3是匹配塊選擇區域示意圖,圖3 (a)為一種選擇方式,圖3 (b) 為另一種選擇方式。
具體實施例方式
為了更加清楚明白的闡述本發明的目的、技術方案和優點,下面結合 附圖及具體實施例對本發明作進一步詳細的說明。 圖1是無人機序列圖像壓縮裝置的結構框圖。
102, 104為裝置電路的輸入輸出接口,本裝置設置為LVDS接口,通 過其他接口設備,如帶LVDS接口的PCI卡,可以實現與PC的連接,將采 集到的無人機序列圖像以及相應的機載輔助數據通過102發送至壓縮板,通過現場可編程邏輯門陣列(FPGA) 103的時序轉換,實現數據與數字信號處理器(DSP) 107的交互。亦可使壓縮后的編碼碼流通過接口 104回傳到PC機或者其他設備。
DSP107獲得數據之后,開始依照算法設定的順序,逐步完成智能動態編碼幀組劃分、空頻聯合快速高精度運動估計和多模式H矩陣解算、基于H矩陣的雙向幀組預測編碼等操作,之后將幀組拼接圖像通過FPGA103送至ADV202。
ADV202是美國模擬器件公司(ADI)推出的視頻和靜止圖像的完全單片PJEG2000壓縮和解壓縮解決方案,其擁有專利的空間超高效遞歸濾波(SURF)技術使之具有低功耗和低成本的小波壓縮;支持最高達6級的9/7和5/3小波變換。利用其對圖像做JPEG2000壓縮,完成優化截斷,碼率控制。
幀組壓縮后將輸出數據通過FPGA回傳給DSP, DSP將壓縮結果與H矩陣合成編碼后,轉發FPGA,通過104輸出。
FPGA103完成DSP與ADV202間數據交互的邏輯控制,以及相應的時序變換。
DSP操作中需要進行的中間數據存儲均通過SDRAM (106)完成。FLASH (108)則保存系統所需的配置程序,包括DSP程序,FPGA配置文件,ADV202固件等。
圖2是本發明序列圖像壓縮算法的流程圖-
Sl:劃分幀組,每個幀組內的首幀與其它幀具有圖像重疊區域。
幀組劃分可以通過幀內容查找,存在局部相同幀內容的幀表示具有重疊區域,這些包含重疊區域的幀構成一組幀組,但這種內容査找方法計算量大,效率低,因此本發明提供了另一種快速劃分方法,該方法主要依據機載輔助數據搜索,具體如下-
序列圖像與機載輔助數據輸入到壓縮系統之后,DSP首先依據機載輔助數據信息,計算出與第一幀圖像有重疊區域的系列幀,構成一個幀組,具體方法為
假設由機載輔助數據得知,無人機飛行高度為A,視場角為《x《,序列圖像幀頻為/,拍攝第i幀圖像時的航向瞬時速度為v,,考慮輔助數據提供的速度值誤差為《,則可計算得出第i幀與第i+j幀之間飛機的位移^為:
+乂一
,.》
而單幀圖像的拍攝區域為A-2.力.tant, ^=21加|
若^",成立,表明圖像將具有重疊區域。故滿足
(^f^ + ^+v,+2+…+ v'屮+ 、-3(y + l風).^^2./Mant
(1.1)
(1.2)
2'w," ,"、"一 〃 2
的第i幀至第i+j幀之間的所有幀在航向有重疊區域,同理可以求出在旁向上有重疊區域的幀為第i幀至第i+k幀。取n-min (j, k)。則有第i幀至第i+n幀構成一個幀組,其中第i幀為首幀,第i+n幀為尾幀。之后再以第i+n
為首幀,滿足上式的一組幀將構成新的一個幀組。這種前一陣組尾幀作為下一幀組首幀的方法,保證了一個幀組壓縮中只有若干殘差幀和一個完整幀,提高了壓縮比。以當前的無人機典型飛行參數為例,設定飛行高度^
為1000m,航向速度v-250m/s,旁向速度為Om/s,速度誤差5m/s,頻幀/=25fps,攝像機對地面的景物進行下視拍攝,視場角0為3°,可求得n為4。假設無人機平穩飛行,則有0-4幀為一個幀組,4-8幀為一個幀組,以此類推。
這些有圖像重疊區域的幀構成一個幀組。第一幀為首幀,最后一幀為尾幀,DSP將這些幀以及記在輔助數據同時搬移至SDRAM內暫存,以備下一步操作S202使用。
如果,n=0,即表示連續兩幀圖像間沒有重疊區域,此時,將第i幀單獨作為一個幀組,即首幀即尾幀,此時對幀做幀內壓縮即可,不必進行運動估計。
S2每個幀組按照如下方式進行壓縮。
S201:在各幀組內,分別計算當前幀與首幀和尾幀的重疊區域。DSP首先利用<formula>formula see original document page 10</formula>
(其中v,為機載數據提供的第i幀的航向速度,^為速度誤差)計算出當前幀(i+j幀)相對首幀(i幀)的航向位移",n。同理可以求得當前幀(i+j幀)相對首幀(i幀)的旁向位移化,,,則有當前幀(i+j幀)與首幀(i幀)的重疊區域為與(A,、)之間的矩形區域在首幀上的成像區域。其中^-2.A.tant, ;=2."anf 。假設無人機的成像分辨率為iVxM (可能為256x256,512x512,1024x1024),則重疊區域的左上角
頂點a、,化7)在首幀上的坐標為《,廣^xW, 1=^x71/,進而重疊,, 丄i 厶>
區域為首幀上(義,,,,l)與(N, M)之間的區域。按照相同方式,獲取
當前幀與尾幀的重疊區域。
得到重疊區域后,進入步驟S202。
S202:分別在首幀與當前幀的重疊區域和尾幀與當前幀的重疊區域中選取至少五個的匹配塊選擇域,在這些選擇域中選取匹配塊;
現有的匹配塊選取方法主要對幀作全搜索,得到具有最大局部方差的區域作為匹配塊,計算復雜度高,另外在多匹配塊時,容易出現多匹配塊聚集現象,不能保證匹配塊分散性代表性。本發明在重疊區域中,為了使匹配效果具有最佳代表性,使用特征明顯的匹配塊。首先根據重疊區域選定上下左右中心共5個匹配塊選擇域Ap A2, A3, A4, A5,匹配塊大小iV。xM。視重疊區域大小和形狀而定, 一般應有A712SiV。SAV3, M/12SAf。 Sil//3 ,這里設為30x80,如圖3 (a)所示。
由于圖像的重疊區域大小不定,在不同的重疊情況下,匹配塊選擇域的分布可以出現重疊的情況,具體情況如圖3 (b)所示,重疊區域較小的情況下,可使上下左右中間五個區域帶有重疊分布。
在匹配塊選擇域中選擇一片具有最大局部方差的W'xM'小塊作為匹配塊,匹配塊的大小選擇需考慮重疊區域大小和形狀以及圖像內容, 一般W'和M'均可取為4、 8、 16、 64,這里設置為8x64的大小。在首幀內,左上角頂點坐標為(a, b)的iV'xM'大小圖像的局部方差定
義為:
1yv'-iAT-1
(1.4)
其中表示坐標為("+ , ,& +力的點的像素值,3f(一為首幀內左上角頂點坐標為("》)的W'xM'大小圖像的像素值的平均值。設匹配塊選擇域A!的左上頂點坐標為(a。,6。),用"="0,"0+1,-..,0。+"。-iV'; " Wl,…,6。+M。-M'進行遍歷,便可求得選擇域A中具有最大局部方差的匹配塊。但是直接計算的話,重復計算量非常大,對計算資源和計算時間要求太大,為此,對該遍歷計算給出改良。
5。力)=WW S S (X(a+,,A+.,))
(=0 乂=0
W'-1
AT—1
,力)
,=0 乂=0 (=0 _/=0
Z Z X(l+l+',A+" = S Z X(。+'》+" 一 S X(。,6+J) + S X(。+W'+l,6+"j-=0 乂=0 ,=0 /=0 乂=0 乂=0
7,
1
(。+1'A) _彥'
進而有
<formula>formula see original document page 12</formula>
鹿'<formula>formula see original document page 13</formula>磨'
由于在遍歷的過程中,計算^(—和,屮)時復用了X"和",相比普通的計算方法,該方法可以極大的減少計算時間,可構成求取最大局部方差的快速算法,得到五個區域中具有最大局部方差的iV'xM'圖像小塊。可設為Bsp BS2、 BS3、 BS4、 BS5。同理,可以得到尾幀的五個匹配塊Bw、BE2、 BE3、 BE4、 BE5。得到匹配塊后,則進入步驟S204。
S203:分別使用首幀和尾幀的匹配塊在當前幀內作匹配運算,得到當前幀的兩個預測矩陣。
將首幀中的五個匹配塊B^、 BS2、 BS3、 BS4、 BS5,分別在當前幀中作匹配計算。以Bs,為例,在首幀與當前幀的重疊區域中,使用全搜索法,計算當前幀與BS1的歸一化互相關系數。獲得最小歸一化互相關系數的圖塊即為Bw的匹配圖。
設B^在首幀內的左上角頂點為(asl, bsl),為便于表述,其上(asl+i,bsl+j)點的像素值記為、。當前幀內(a+i,b+j)點的像素值仍記為y。+,,一另
用^表示當前幀內以"6)為左上角頂點的W'xM'大小圖像區域的像素均值,則去均值歸一化互相關系數定義為
1<formula>formula see original document page 13</formula><formula>formula see original document page 14</formula>
其中h^,il乂,故有si:(、j)=o
<formula>formula see original document page 14</formula>
直接使用相關算法進行圖像匹配計算量很大。采用基于FFT的快速相關算
法可以有效提高計算性能。
若iV尸及(9ZX^A,)-min(M^OZ)(a,州,設該對應圖塊為Bo,取B。的中心點
坐標為fe,&), B"的中心點坐標為對其他匹配塊,分別求得當前幀中匹配塊的中心點坐標對應首幀圖像中的匹配點坐標(&,尺2)o(;^,:^),fe,義3)e(&,h), "4,l)e"4,凡4), (&,:^5)0"5,乂5),對各中心匹配點對在重疊區域內求取差異矢量,設(^^xj, (^, ,凡, )分別為當前幀與首
重疊區域的左上角頂點,則各差異矢量為:
R, = ,叉,)-幼,)—(&, , >0 - (a,,少,ra)
慮誤匹配的發生,采用如下方法確定
(i=l, 2, 3, 4, 5)。考
取巧為5個差異矢量的均值,即7,=1>;/5;在5個差異矢量中找出
與矢量均值之差最大的一個,即max(l^-^1), "1,…,5。設定容錯閾值為A,可設為3像素,認為差異矢量已與均值巧之差大于A的表示匹配錯誤,屬誤匹配,否則認為匹配正確。
即有若max(l^-5l)^A,"1,…,5, (A為容錯閾值,可設為3像素),則認為5個匹配塊均正確匹配;否則若有|^-ni>A,則去掉^,在剩下的4
個矢量中求取新的均值^、(iX,-~)/4,再進行一次誤匹配檢驗。重復檢
驗,直至確定出所有正確匹配與誤匹配矢量。正確匹配矢量的數量如果小于4,則應當在首幀中重新合理選擇匹配塊,比如在獲得正確匹配的匹配塊之間重新選擇匹配塊,做新的匹配運算,直至得到4個以上(含4個)的正確匹配結果。
選擇四個正確的匹配對,設匹配點的坐標匹配關系為(^,L)o(^,;0,"-i,…,4,將其代入投影變換方程^
u",…,4中,進而求得^,/f,,求解過程中,令^=1,同理,可以得到當前幀相對尾幀的單應變換的;,A。 A和《分別為首幀和尾幀到當前幀的投影變換矩陣,亦即首幀和尾幀到當前幀的預測矩陣。
S204:利用首幀、尾幀及其各自對應的預測矩陣得到當前幀的預測幀,求取當前幀與預測幀的殘差。
設(^A)表示首幀內首幀與當前幀的重疊區域A的像素點的坐標,(&,&)表示當前幀內首幀與當前幀圖像重疊區域A的像素點的預測點的坐
,",,乂)"",可以得到當前
幀由首幀預測而來的部分預測圖像/;。同樣方法得到當前幀由尾幀預測而
來的部分預測圖像&。對&和&做適當拼合,即得到當前幀的雙向預測圖
尺u《
1l
V
標,從而利用投影變換方程^《乂
11像《。用當前幀《與《做求差處理則得到殘差圖像A =《-《。
S205:按照步驟S201~ S204求取幀組內首幀以外所有幀的殘差S206:將首幀與其它幀的殘差圖像拼接成一個單幅大圖,采用JPEG2000標準對拼接大圖做整體壓縮輸出。
對幀組編碼中,將首幀與其余幀的殘差圖像在ADV202能處理的范圍內做圖像拼接,使整個幀組形成一個單幅大圖。ADV202 次處理的圖像大小限制為1.048M像素,最大寬度限制為4096像素,如果幀拼接圖像過大,可以做適當的分切。針對JPEG2000分塊編碼、分塊分配碼流的特點,確定了 JPEG2000壓縮的壓縮參數,選定了編碼塊大小、小波類型及級數之后,在圖像的拼接上還應作相應的調整,采用分切合并等方法,使單幀的圖像的內容限制在編碼塊大小的整數倍范圍內,避免鄰幀間出現編碼塊分跨兩幀的情況。得到單幅圖像后,應用JPEG2000壓縮,利用JPEG2000標準中PCRT-OPT算法提供的優秀的全局碼流優化截斷控制技術,使碼流按照圖像信息全局優化分布,同時嚴格控制壓縮碼率,得到一個幀組的壓縮圖像(S402)。尾幀在下一個處理周期中,成為下個一個幀組的首幀,故幀組壓縮中可以不考慮尾幀。將幀組壓縮結果合并入每個當前幀的H矩陣信息(S403),即可作為此一個幀組的壓縮結果進行輸出。
以上對本發明進行了詳細的說明,但本發明并不限于上述的實施例,在不脫離本發明的技術構思的范圍內,當然也可以進行各種改良及變更。
1權利要求
1、一種適用于無人機序列圖像的壓縮方法,按照以下步驟進行步驟S1利用機載輔助數據對序列幀圖像劃分幀組,每個幀組內的首幀與其它幀具有圖像重疊區域;步驟S2每個幀組按照如下方式進行壓縮S201分別計算當前幀與首幀和尾幀的重疊區域;S202分別在首幀與當前幀的重疊區域,尾幀與當前幀的重疊區域中選取至少五個匹配塊選擇域,并在這些選擇域中選取匹配塊;S203分別使用首幀和尾幀對應的匹配塊在當前幀內作匹配運算,進一步求得首幀和尾幀各自到當前幀的投影變換矩陣,作為預測矩陣;S204利用首幀、尾幀及其各自對應的預測矩陣估計得到當前幀的預測幀,求取當前幀與預測幀的殘差;S205按照步驟S201~S204求取幀組內首幀以外所有幀的殘差;S206將首幀與其它幀的殘差圖像拼接成一個單幅大圖,采用JPEG2000標準對單幅大圖做整體壓縮。
2、根據權利要求1所述的適用于無人機序列圖像的壓縮方法,其特 征在于,所述步驟Sl按照如下方式判斷兩幀之間有重疊區域計算第i幀與第i+j幀之間飛機的位移、=(^^ + ^1+^2 + ... + %—廣3成).",若氣盧2./z.tan,,則表明第i幀與第i+j幀具有重疊區域;其中,v,表示拍攝 第^幀圖像時的航向瞬時速度,/7 = /,/+1,— ,/+_/,《為速度值誤差,f為圖像幀頻率,A為無人機飛行高度,《為拍攝航向視場角。
3、 根據權利要求1或2所述的適用于無人機序列圖像的壓縮方法, 其特征在于,當前幀組的尾幀為下一幀組的首幀。
4、 根據權利要求l所述的適用于無人機序列圖像的壓縮方法,其特 征在于,所述步驟S202按照如下方式在選擇域中選取匹配塊選取遍歷 窗口,將該窗口應用在選擇域中選出具有最大局部方差的窗口圖像作為匹 配塊,局部方差的計算方法為-左上角頂點坐標為(a, b)的窗口圖像的局部方差左上角頂點坐標為(a+l, b)的窗口圖像的局部方差鹿'^ 、" 鹿'戶0謝'左上角頂點坐標為(a, b+l)的窗口圖像的局部方差 其中,iV'為窗口圖像的橫向寬度,M'為窗口圖像的縱向寬度,x(。的右下標表示點坐標,整體含義表示該點坐標對應的像素值,為左上角頂點坐標為(",6)的窗口圖像的像素值平均值,jc"為左上角頂點坐標為(",6)的窗口圖像像素值平方的平均值。
5、根據權利要求l所述的適用于無人機序列圖像的壓縮方法,其特征 在于,所述步驟S204按照如下方式確定首幀到當前幀的投影變換矩陣選取匹配對(^,;Oo(x加,少,nX…,4, (XwJ.J為首幀的第u個匹配塊 的中心坐標,(&,L)為當前幀中對應首幀第U個匹配塊的匹配圖中心坐標,,求解得到坐標齊次化變量^和首幀到陽:構建投影變換方程^11當前幀的投影變換矩陣A
全文摘要
本發明公開了一種適用于無人機序列圖像的壓縮方法,具體為依據機載輔助數據,對無人機序列圖像作智能動態編碼幀組劃分;在幀組內,分別對首幀和尾幀作各自到當前幀的高精度快速運動估計,獲取數對匹配點,根據相應匹配關系,求得首幀與尾幀各自到當前幀的投影變換矩陣,進而獲得預測圖像及殘差;同一幀組的首幀與其余幀的殘差圖像合并成單幅圖像后,應用JPEG2000壓縮,利用其全局優化截斷算法獲得高性能壓縮結果。本發明綜合考慮無人機序列圖像特點,充分利用機載輔助信息和JPEG2000壓縮算法的特性,具有算法復雜度低、壓縮性能好、壓縮碼率可嚴格控制、硬件易于實現等特點。
文檔編號H04N7/26GK101594533SQ200910062929
公開日2009年12月2日 申請日期2009年6月30日 優先權日2009年6月30日
發明者劉福學, 田金文, 鄭成林, 龔俊斌 申請人:華中科技大學