張珺,朱秀峰
1.中國船舶工業集團公司船舶系統工程部,北京100036
2.中華女子學院山東分院,濟南276400
空中交通管制系統是對多架飛機起降和航線進行管理,以保障飛行秩序和安全的系統。在進行管制活動時,一方面管制員要實時觀察雷達顯示屏,獲知航空器當前在地表的二維位置、高度、速度等信息,另一方面又要處理飛行情報數據,即起飛、延誤、降落等信息。這兩類信息都會實時反映在空管系統的顯示屏上,也會分門別類地存儲在服務器上。一般原始雷達數據記錄在雷達記錄儀上,而飛行情報數據則存儲在數據庫中。同時,管制員的操作,例如收發飛行情報等,都以日志的形式存儲在數據庫中。
在傳統的記錄方式中,雷達數據、飛行情報數據和管制員的操作都各自獨立的存儲,很難通過技術手段連續、完整地復現某一時刻的系統狀態;而系統的屏幕景象則比較連續完整地反映了雷達數據、飛行情報數據的顯示狀態和管制員的操作過程。因此,在空管系統中對屏幕景象進行連續記錄并在必要時進行回放,就成了對空中交通事故進行分析、定位以及審計管制質量的重要手段。
記錄與回放系統本身不是空管系統的核心組成部分,但其作為輔助系統又是必不可少的,因此其設計與實現應當既能夠滿足功能性能要求,又同時占有較少的系統資源。
首先,在時間上,能夠連續和真實地記錄屏幕景象。回放畫面清楚、流暢,地標、標牌等元素顯示清晰,不存在線面、字體、顏色等元素的失真和損失。在壓縮算法的選擇上,應當考慮到回放效果的要求,即飛行數據的顯示無損失、無失真,應該采用無損壓縮算法。
其次,在空間上,由于記錄系統24小時不間斷錄制和存儲屏幕景象,會給數據的傳輸、處理和存儲造成很大的壓力。因此,在數據存儲前應當進行適當的壓縮,盡量減少數據存儲量。
再次,由于景象記錄與回放系統不是空管系統的核心部分,因此應當以盡量小的系統資源代價實現該功能。高效壓縮算法的使用能提高壓縮效率,盡量減少對系統資源的占用。一般應當保證對CPU占用率保持在20%以下,避免影響其他正常業務操作和顯示。
根據上述技術要求,可以得到景象記錄的基本工作流程如下:景象數據獲取——景象數據壓縮——景象數據存儲——景象數據回放。景象記錄方案的設計,就是基于這個流程,并結合這些技術要求來完成的。
在總體設計上,采用常見的客戶端/服務器(Client/Server)構架模式:服務器一般分為RDP(Radar Data Processing,雷達數據處理)和FDP(Flight Data Processing,飛行數據處理)兩個部分,并采用兩個獨立的服務器單元承擔相應的數據處理任務;客戶端主要為雷達數據和飛行數據操作界面。通信協議則用TCP/IP作為傳輸協議,并以磁帶庫作為記錄設備。系統結構示意如圖1所示。

圖1 系統結構圖
在圖1中,數據獲取模塊負責進行原始景象數據的獲取;數據壓縮模塊將原始景象數據進行壓縮;數據傳輸模塊負責網絡數據傳輸;數據存儲模塊負責建立存儲結構,并將數據存儲在磁帶庫中;數據檢索模塊負責根據存儲結構進行景象數據的快速檢索。
屏幕景象的獲取一般都是采用拷屏的方式,本方案也不例外。而對于圖像壓縮算法,目前公認最好的是MPEG-4算法。但是該算法主要針對運動圖像進行壓縮,雖壓縮率高,但其分辨率最多只能做到704像素×576像素,不符合空管系統圖像“定格”的分辨率要求。為了達到這種要求,在進行幀內壓縮前都要確立標桿幀。標桿幀的確立目前主要有完整幀和定時標桿幀兩種:完整幀方式是20世紀90年度初西方國家空管系統中普遍采用的方式,由于壓縮率低現在已很少使用;參考文獻[1]中所介紹的方法實際就是定時標桿幀的一種實現,該方法在無損的前提下大大提高了壓縮率。
本文的方案考慮在無損的前提下,比上述方法進一步大幅提高壓縮率。
進行景象記錄與回放的第一步就是獲取景象數據,即屏幕原始圖像。由于其對可靠性和穩定性方面的苛刻要求,空管系統一般都在UNIX系統平臺上實現。而在該平臺上,缺少類似于事件驅動等高效地獲取屏幕景象的技術手段,因此,本方案采用以固定頻率“拷屏”的方式,通過共享內存獲取原始的屏幕景象數據。為不丟失顯示細節,“拷屏”頻率應當高于20 Hz。
在獲取景象數據后,就要對其壓縮,以減少需要傳輸的數據量并節省存儲空間。由于空管系統對景象記錄與回放系統中記錄的圖像質量有較高的要求,因此在進行數據壓縮時要保證無損,還需要兼顧壓縮比和壓縮效率。
空管系統一般采用色彩變化較小的配色方案進行顯示,而且屏幕的景象不像運動圖像那樣短時內發生大量的差異數據,因此圖像具有較大的冗余度,壓縮的空間較大。具體采用的壓縮方法如下:
(1)對屏幕進行均勻分割,分割成M×N個小方塊;
(2)定時確立標桿幀,生成差異幀;
(3)把數據進行幀內壓縮;
(4)把壓縮后的數據發給服務器。
第(1)步和第(4)步比較簡單,第(2)步將在第4.3節中詳細介紹,第(3)步則將在第4.4節中詳細介紹。
進行景象壓縮一般有完整幀方式和定時標桿幀兩種方式。完整幀方式,即直接記錄完整的幀數據[1],然后進行幀內壓縮。這樣,每一幀數據都是完整和獨立的,幀丟失不影響其他幀的回放效果;在回放時檢索速度快。其缺點是未考慮幀間共有數據的屬性和差異屬性并進行壓縮,傳輸和存儲數據量大。因此,這里采用定時標桿幀方式。
普通的定時標桿幀方式,即每隔固定時間確定標桿幀,在獲取當前景象的時候僅僅與標桿幀進行比較,記錄與標桿幀的差異。這種方式中,由于僅處理和傳輸與標桿幀的差異部分,其傳輸和存儲的數據量顯著減少。但如果標桿幀確立的時間較長,則會造成差異積累過大,增加了傳輸和存儲的數據量。在回放時,需要索引標桿幀并將標桿幀與當前幀之間所有的差異幀進行疊加。
為改進這種定時標桿幀方式,如圖2所示,用差異部分覆蓋標桿幀的相應部分并形成新的標桿幀,這里稱之為動態標桿幀。與原來的定時標桿幀方式相比,改進后的新方式在確立標桿幀時增加了一些數據運算量,但極大地節約了差異幀的比較運算量,且標桿幀確立的時間長短不會造成差異過大,提高了數據處理效率,同時也保證了原來的降低處理和存儲的數據量這一優點。

圖2 動態標桿幀方式
回到4.2節的第(2)步,當確立標桿幀后,為了獲取的每個其他它幀,對每個方塊進行隔行掃描(一般認為圖像變化應該在一個像素以上,因此為了提高掃描速度,放棄逐行掃描的方法),當該方塊內有與標桿幀不同的數據時,將該方塊特征標記為‘1’,終止對該方塊的掃描并繼續掃描下一方塊,直到掃描結束。然后,將特征為‘1’的方塊內的數據覆蓋標桿幀中相應位置的數據,形成新的標桿幀。這樣就可以進行4.2節中的第(3)步和第(4)步,即將差異數據進行幀內壓縮并傳送給服務器。
對于標桿幀和差異幀的幀內壓縮,可以利用整數小波變換對圖像數據進行編碼壓縮。由于小波基數是浮點數,而整形的圖像數據進行浮點變換后,再經過數據變換就可能產生差值,不符合無損壓縮的要求。為此,需要采用整數小波變換的一種提升算法實現圖像壓縮。在算法設計時主要參考了文獻[2-5]的相關內容。
所設計的提升算法過程分為三個步驟:
(1)分裂,將數據集用惰性小波分解成兩個集合a1、c1。
(2)預測,用a1預測c1,預測誤差形成新的c1,c1=c1-P(a1)。
(3)更新,更新過程要求Q(a1)=Q(a0),Q為標量運算器。定義算子U,在U(c1)對a1更新后保持Q(a1)=Q(a0)成立,更新過程為a1=a1+U(c1)。
每一級提升的正變換過程為:

其反變換為:

采用的整數小波變換需要對增加一個取整偏移量,修改后其正變換過程為:

反變換為:

其中Int()為取整操作,0.5f為取整偏移量,高通濾波消失矩為4,重構高通濾波消失矩為2。
由于景象數據壓縮時采用了標桿幀方式,景象數據的存儲和回放也要做相應的設計,以便能夠正確保存和回放按標桿幀方式壓縮后的景象數據。
服務器接收到的每個數據包中包含了如下數據:圖像數據長度、圖像數據、標桿幀標志、區域標志和時標信息。當某一幀數據中包含多個差異區域時,差異窗口數據分別傳輸和處理,但這些數據存儲在同一段連續的區域中。
由于景象記錄數據具有時間上的順序性,且標桿幀為定時采樣,因此不需要采用復雜的數據結構進行存儲。這里采用二級索引樹結構進行存儲,如圖3所示。

圖3 景象數據存儲
在存儲數據時,首先判斷幀數據類型,如果是標桿幀,則在索引表中建立新的索引并存儲該數據;如果是差異幀,則索引到最后標桿幀的地址,訪問差異幀索引、存儲數據并更新索引。
在數據回放時,必須索引到標桿幀,解壓縮形成標桿圖像數據,并依次疊加標桿幀至回放時戳中間所有的差異幀,以形成固定時刻的景象數據。在回放時,根據回放的倍速要求,刷新景象圖片的疊加速度。
存儲和回放數據的硬件設備選用磁記錄技術。磁記錄技術是目前廣泛使用的一種備份設備,相對于可擦寫光盤和外接硬盤來說,成本低,容量大,可靠性高[6]。
為驗證性能,特別是驗證景象數據壓縮的設計效果,這里分別實現了三套方案,以便實驗對比。這三套方案在景象數據的獲取上基本一致,而在景象數據壓縮的處理具有如下不同之處:
方案一一種原有的采用完整幀方式壓縮處理的景象記錄方案。20世紀90年代初期西方國家空管系統中記錄與回放系統普遍采用該方法,現在很少使用。
方案二在設計時曾考慮過的采用原來的定時幀方式壓縮處理的景象記錄方案。目前航管系統普遍采用的方法。國內主流的川大智勝管制中心系統即采用了這種方法,其實現見參考文獻[1]。
方案三本文最后采用改進后的動態幀方式,并采用小波變換算法進行壓縮處理的景象記錄方案。
在景象數據的存儲設計上,由于只涉及對服務器接收到的壓縮后的數據的存儲結構的設計,可以認為不影響這里的方案性能對比實驗結果。
實驗中,客戶端計算機配置為CPU 1.70GHz,512MB內存,屏幕分辨率為1 280×1 024,顏色質量為16位,每秒記錄24幀。在以上條件下,最后得到的存儲時的實驗數據如表1所示。

表1 三套方案實驗數據對比表
從表1可以看出,方案一到方案三,雖然CPU平均占用率和內存平均占用量有所增加,但是增加的幅度很小,對系統的影響可以說是微不足道的。評判景象記錄方案的最核心指標是磁帶庫平均記錄容量,因為它表示單位時間內磁帶庫需要存儲的數據,該指標越小,說明磁帶庫需要記錄的景象數據越少,結合第2章的技術要求,就說明這個方案的性能更好。表1反映出方案二的磁帶庫平均記錄容量幾乎只占方案一的1/10,而方案三則只占方案二的大概1/3,甚至小于方案一的1/30。考慮到方案三只比前兩個方案多耗費那一點系統資源,完全可以合理的證明:在節約存儲容量方面,方案三,也就是最終采用的方案,在節約存儲容量方面具有明顯優勢。
在景象記錄回放時,由于三種方案在景象數據壓縮時都是無損的,在景象數據的獲取、存儲和回放的設計上基本一致,因此無明顯差別。這也可以看出,方案三在保證對數據的高度壓縮的同時,沒有造成景象數據的損失和失真,進一步體現了其良好的性能。
總結實驗驗證,可以清楚地得到結論:本文設計的景象記錄方案可滿足空管系統記錄與回放要求,并且相當節約存儲容量。
空管系統的屏幕景象配色比較單一,目標運動相對較緩慢,屏幕景象發生劇烈變化的概率較低,數據存在較大冗余度,為高效、高速壓縮提供了條件。本文綜合考慮景象記錄系統的時間空間特性及壓縮效率等方面的要求;基于小波變換在圖像處理方面的優異特性,采用小波提升算法進行圖像的快速無損壓縮;在以上分析研究的基礎上,結合空管系統景象數據的特點,提出了一套景象記錄系統的設計方案。實驗驗證了該方案的可行性和優越性。
[1]張五二.記錄回放在空管系統中的一種實現[J].中國民航大學學報,2005,16(3):47-49.
[2]陳良琴.基于提升小波變換域運動估計的序列圖像壓縮方法[J].陜西科技大學學報,2004,22(6):52-56.
[3]趙健.一種基于小波變換的圖像壓縮方法[J].數據采集與處理,2000,11(2):166-169.
[4]李天偉.基于整數小波變換的雷達圖像快速無損壓縮算法[J].艦船科學技術,2007,29(5):152-154.
[5]田杰華.利用人眼視覺特性的低比特率小波圖像壓縮[J].儀器儀表學報,2010,31(11):2515-2520.
[6]周祿華.空管系統中網上數據記錄技術的實現[J].空中交通管理,2009(10):13-15.