張珺,朱秀峰
1.中國(guó)船舶工業(yè)集團(tuán)公司船舶系統(tǒng)工程部,北京100036
2.中華女子學(xué)院山東分院,濟(jì)南276400
空中交通管制系統(tǒng)是對(duì)多架飛機(jī)起降和航線進(jìn)行管理,以保障飛行秩序和安全的系統(tǒng)。在進(jìn)行管制活動(dòng)時(shí),一方面管制員要實(shí)時(shí)觀察雷達(dá)顯示屏,獲知航空器當(dāng)前在地表的二維位置、高度、速度等信息,另一方面又要處理飛行情報(bào)數(shù)據(jù),即起飛、延誤、降落等信息。這兩類信息都會(huì)實(shí)時(shí)反映在空管系統(tǒng)的顯示屏上,也會(huì)分門別類地存儲(chǔ)在服務(wù)器上。一般原始雷達(dá)數(shù)據(jù)記錄在雷達(dá)記錄儀上,而飛行情報(bào)數(shù)據(jù)則存儲(chǔ)在數(shù)據(jù)庫(kù)中。同時(shí),管制員的操作,例如收發(fā)飛行情報(bào)等,都以日志的形式存儲(chǔ)在數(shù)據(jù)庫(kù)中。
在傳統(tǒng)的記錄方式中,雷達(dá)數(shù)據(jù)、飛行情報(bào)數(shù)據(jù)和管制員的操作都各自獨(dú)立的存儲(chǔ),很難通過技術(shù)手段連續(xù)、完整地復(fù)現(xiàn)某一時(shí)刻的系統(tǒng)狀態(tài);而系統(tǒng)的屏幕景象則比較連續(xù)完整地反映了雷達(dá)數(shù)據(jù)、飛行情報(bào)數(shù)據(jù)的顯示狀態(tài)和管制員的操作過程。因此,在空管系統(tǒng)中對(duì)屏幕景象進(jìn)行連續(xù)記錄并在必要時(shí)進(jìn)行回放,就成了對(duì)空中交通事故進(jìn)行分析、定位以及審計(jì)管制質(zhì)量的重要手段。
記錄與回放系統(tǒng)本身不是空管系統(tǒng)的核心組成部分,但其作為輔助系統(tǒng)又是必不可少的,因此其設(shè)計(jì)與實(shí)現(xiàn)應(yīng)當(dāng)既能夠滿足功能性能要求,又同時(shí)占有較少的系統(tǒng)資源。
首先,在時(shí)間上,能夠連續(xù)和真實(shí)地記錄屏幕景象?;胤女嬅媲宄?、流暢,地標(biāo)、標(biāo)牌等元素顯示清晰,不存在線面、字體、顏色等元素的失真和損失。在壓縮算法的選擇上,應(yīng)當(dāng)考慮到回放效果的要求,即飛行數(shù)據(jù)的顯示無(wú)損失、無(wú)失真,應(yīng)該采用無(wú)損壓縮算法。
其次,在空間上,由于記錄系統(tǒng)24小時(shí)不間斷錄制和存儲(chǔ)屏幕景象,會(huì)給數(shù)據(jù)的傳輸、處理和存儲(chǔ)造成很大的壓力。因此,在數(shù)據(jù)存儲(chǔ)前應(yīng)當(dāng)進(jìn)行適當(dāng)?shù)膲嚎s,盡量減少數(shù)據(jù)存儲(chǔ)量。
再次,由于景象記錄與回放系統(tǒng)不是空管系統(tǒng)的核心部分,因此應(yīng)當(dāng)以盡量小的系統(tǒng)資源代價(jià)實(shí)現(xiàn)該功能。高效壓縮算法的使用能提高壓縮效率,盡量減少對(duì)系統(tǒng)資源的占用。一般應(yīng)當(dāng)保證對(duì)CPU占用率保持在20%以下,避免影響其他正常業(yè)務(wù)操作和顯示。
根據(jù)上述技術(shù)要求,可以得到景象記錄的基本工作流程如下:景象數(shù)據(jù)獲取——景象數(shù)據(jù)壓縮——景象數(shù)據(jù)存儲(chǔ)——景象數(shù)據(jù)回放。景象記錄方案的設(shè)計(jì),就是基于這個(gè)流程,并結(jié)合這些技術(shù)要求來(lái)完成的。
在總體設(shè)計(jì)上,采用常見的客戶端/服務(wù)器(Client/Server)構(gòu)架模式:服務(wù)器一般分為RDP(Radar Data Processing,雷達(dá)數(shù)據(jù)處理)和FDP(Flight Data Processing,飛行數(shù)據(jù)處理)兩個(gè)部分,并采用兩個(gè)獨(dú)立的服務(wù)器單元承擔(dān)相應(yīng)的數(shù)據(jù)處理任務(wù);客戶端主要為雷達(dá)數(shù)據(jù)和飛行數(shù)據(jù)操作界面。通信協(xié)議則用TCP/IP作為傳輸協(xié)議,并以磁帶庫(kù)作為記錄設(shè)備。系統(tǒng)結(jié)構(gòu)示意如圖1所示。
圖1 系統(tǒng)結(jié)構(gòu)圖
在圖1中,數(shù)據(jù)獲取模塊負(fù)責(zé)進(jìn)行原始景象數(shù)據(jù)的獲?。粩?shù)據(jù)壓縮模塊將原始景象數(shù)據(jù)進(jìn)行壓縮;數(shù)據(jù)傳輸模塊負(fù)責(zé)網(wǎng)絡(luò)數(shù)據(jù)傳輸;數(shù)據(jù)存儲(chǔ)模塊負(fù)責(zé)建立存儲(chǔ)結(jié)構(gòu),并將數(shù)據(jù)存儲(chǔ)在磁帶庫(kù)中;數(shù)據(jù)檢索模塊負(fù)責(zé)根據(jù)存儲(chǔ)結(jié)構(gòu)進(jìn)行景象數(shù)據(jù)的快速檢索。
屏幕景象的獲取一般都是采用拷屏的方式,本方案也不例外。而對(duì)于圖像壓縮算法,目前公認(rèn)最好的是MPEG-4算法。但是該算法主要針對(duì)運(yùn)動(dòng)圖像進(jìn)行壓縮,雖壓縮率高,但其分辨率最多只能做到704像素×576像素,不符合空管系統(tǒng)圖像“定格”的分辨率要求。為了達(dá)到這種要求,在進(jìn)行幀內(nèi)壓縮前都要確立標(biāo)桿幀。標(biāo)桿幀的確立目前主要有完整幀和定時(shí)標(biāo)桿幀兩種:完整幀方式是20世紀(jì)90年度初西方國(guó)家空管系統(tǒng)中普遍采用的方式,由于壓縮率低現(xiàn)在已很少使用;參考文獻(xiàn)[1]中所介紹的方法實(shí)際就是定時(shí)標(biāo)桿幀的一種實(shí)現(xiàn),該方法在無(wú)損的前提下大大提高了壓縮率。
本文的方案考慮在無(wú)損的前提下,比上述方法進(jìn)一步大幅提高壓縮率。
進(jìn)行景象記錄與回放的第一步就是獲取景象數(shù)據(jù),即屏幕原始圖像。由于其對(duì)可靠性和穩(wěn)定性方面的苛刻要求,空管系統(tǒng)一般都在UNIX系統(tǒng)平臺(tái)上實(shí)現(xiàn)。而在該平臺(tái)上,缺少類似于事件驅(qū)動(dòng)等高效地獲取屏幕景象的技術(shù)手段,因此,本方案采用以固定頻率“拷屏”的方式,通過共享內(nèi)存獲取原始的屏幕景象數(shù)據(jù)。為不丟失顯示細(xì)節(jié),“拷屏”頻率應(yīng)當(dāng)高于20 Hz。
在獲取景象數(shù)據(jù)后,就要對(duì)其壓縮,以減少需要傳輸?shù)臄?shù)據(jù)量并節(jié)省存儲(chǔ)空間。由于空管系統(tǒng)對(duì)景象記錄與回放系統(tǒng)中記錄的圖像質(zhì)量有較高的要求,因此在進(jìn)行數(shù)據(jù)壓縮時(shí)要保證無(wú)損,還需要兼顧壓縮比和壓縮效率。
空管系統(tǒng)一般采用色彩變化較小的配色方案進(jìn)行顯示,而且屏幕的景象不像運(yùn)動(dòng)圖像那樣短時(shí)內(nèi)發(fā)生大量的差異數(shù)據(jù),因此圖像具有較大的冗余度,壓縮的空間較大。具體采用的壓縮方法如下:
(1)對(duì)屏幕進(jìn)行均勻分割,分割成M×N個(gè)小方塊;
(2)定時(shí)確立標(biāo)桿幀,生成差異幀;
(3)把數(shù)據(jù)進(jìn)行幀內(nèi)壓縮;
(4)把壓縮后的數(shù)據(jù)發(fā)給服務(wù)器。
第(1)步和第(4)步比較簡(jiǎn)單,第(2)步將在第4.3節(jié)中詳細(xì)介紹,第(3)步則將在第4.4節(jié)中詳細(xì)介紹。
進(jìn)行景象壓縮一般有完整幀方式和定時(shí)標(biāo)桿幀兩種方式。完整幀方式,即直接記錄完整的幀數(shù)據(jù)[1],然后進(jìn)行幀內(nèi)壓縮。這樣,每一幀數(shù)據(jù)都是完整和獨(dú)立的,幀丟失不影響其他幀的回放效果;在回放時(shí)檢索速度快。其缺點(diǎn)是未考慮幀間共有數(shù)據(jù)的屬性和差異屬性并進(jìn)行壓縮,傳輸和存儲(chǔ)數(shù)據(jù)量大。因此,這里采用定時(shí)標(biāo)桿幀方式。
普通的定時(shí)標(biāo)桿幀方式,即每隔固定時(shí)間確定標(biāo)桿幀,在獲取當(dāng)前景象的時(shí)候僅僅與標(biāo)桿幀進(jìn)行比較,記錄與標(biāo)桿幀的差異。這種方式中,由于僅處理和傳輸與標(biāo)桿幀的差異部分,其傳輸和存儲(chǔ)的數(shù)據(jù)量顯著減少。但如果標(biāo)桿幀確立的時(shí)間較長(zhǎng),則會(huì)造成差異積累過大,增加了傳輸和存儲(chǔ)的數(shù)據(jù)量。在回放時(shí),需要索引標(biāo)桿幀并將標(biāo)桿幀與當(dāng)前幀之間所有的差異幀進(jìn)行疊加。
為改進(jìn)這種定時(shí)標(biāo)桿幀方式,如圖2所示,用差異部分覆蓋標(biāo)桿幀的相應(yīng)部分并形成新的標(biāo)桿幀,這里稱之為動(dòng)態(tài)標(biāo)桿幀。與原來(lái)的定時(shí)標(biāo)桿幀方式相比,改進(jìn)后的新方式在確立標(biāo)桿幀時(shí)增加了一些數(shù)據(jù)運(yùn)算量,但極大地節(jié)約了差異幀的比較運(yùn)算量,且標(biāo)桿幀確立的時(shí)間長(zhǎng)短不會(huì)造成差異過大,提高了數(shù)據(jù)處理效率,同時(shí)也保證了原來(lái)的降低處理和存儲(chǔ)的數(shù)據(jù)量這一優(yōu)點(diǎn)。
圖2 動(dòng)態(tài)標(biāo)桿幀方式
回到4.2節(jié)的第(2)步,當(dāng)確立標(biāo)桿幀后,為了獲取的每個(gè)其他它幀,對(duì)每個(gè)方塊進(jìn)行隔行掃描(一般認(rèn)為圖像變化應(yīng)該在一個(gè)像素以上,因此為了提高掃描速度,放棄逐行掃描的方法),當(dāng)該方塊內(nèi)有與標(biāo)桿幀不同的數(shù)據(jù)時(shí),將該方塊特征標(biāo)記為‘1’,終止對(duì)該方塊的掃描并繼續(xù)掃描下一方塊,直到掃描結(jié)束。然后,將特征為‘1’的方塊內(nèi)的數(shù)據(jù)覆蓋標(biāo)桿幀中相應(yīng)位置的數(shù)據(jù),形成新的標(biāo)桿幀。這樣就可以進(jìn)行4.2節(jié)中的第(3)步和第(4)步,即將差異數(shù)據(jù)進(jìn)行幀內(nèi)壓縮并傳送給服務(wù)器。
對(duì)于標(biāo)桿幀和差異幀的幀內(nèi)壓縮,可以利用整數(shù)小波變換對(duì)圖像數(shù)據(jù)進(jìn)行編碼壓縮。由于小波基數(shù)是浮點(diǎn)數(shù),而整形的圖像數(shù)據(jù)進(jìn)行浮點(diǎn)變換后,再經(jīng)過數(shù)據(jù)變換就可能產(chǎn)生差值,不符合無(wú)損壓縮的要求。為此,需要采用整數(shù)小波變換的一種提升算法實(shí)現(xiàn)圖像壓縮。在算法設(shè)計(jì)時(shí)主要參考了文獻(xiàn)[2-5]的相關(guān)內(nèi)容。
所設(shè)計(jì)的提升算法過程分為三個(gè)步驟:
(1)分裂,將數(shù)據(jù)集用惰性小波分解成兩個(gè)集合a1、c1。
(2)預(yù)測(cè),用a1預(yù)測(cè)c1,預(yù)測(cè)誤差形成新的c1,c1=c1-P(a1)。
(3)更新,更新過程要求Q(a1)=Q(a0),Q為標(biāo)量運(yùn)算器。定義算子U,在U(c1)對(duì)a1更新后保持Q(a1)=Q(a0)成立,更新過程為a1=a1+U(c1)。
每一級(jí)提升的正變換過程為:
其反變換為:
采用的整數(shù)小波變換需要對(duì)增加一個(gè)取整偏移量,修改后其正變換過程為:
反變換為:
其中Int()為取整操作,0.5f為取整偏移量,高通濾波消失矩為4,重構(gòu)高通濾波消失矩為2。
由于景象數(shù)據(jù)壓縮時(shí)采用了標(biāo)桿幀方式,景象數(shù)據(jù)的存儲(chǔ)和回放也要做相應(yīng)的設(shè)計(jì),以便能夠正確保存和回放按標(biāo)桿幀方式壓縮后的景象數(shù)據(jù)。
服務(wù)器接收到的每個(gè)數(shù)據(jù)包中包含了如下數(shù)據(jù):圖像數(shù)據(jù)長(zhǎng)度、圖像數(shù)據(jù)、標(biāo)桿幀標(biāo)志、區(qū)域標(biāo)志和時(shí)標(biāo)信息。當(dāng)某一幀數(shù)據(jù)中包含多個(gè)差異區(qū)域時(shí),差異窗口數(shù)據(jù)分別傳輸和處理,但這些數(shù)據(jù)存儲(chǔ)在同一段連續(xù)的區(qū)域中。
由于景象記錄數(shù)據(jù)具有時(shí)間上的順序性,且標(biāo)桿幀為定時(shí)采樣,因此不需要采用復(fù)雜的數(shù)據(jù)結(jié)構(gòu)進(jìn)行存儲(chǔ)。這里采用二級(jí)索引樹結(jié)構(gòu)進(jìn)行存儲(chǔ),如圖3所示。
圖3 景象數(shù)據(jù)存儲(chǔ)
在存儲(chǔ)數(shù)據(jù)時(shí),首先判斷幀數(shù)據(jù)類型,如果是標(biāo)桿幀,則在索引表中建立新的索引并存儲(chǔ)該數(shù)據(jù);如果是差異幀,則索引到最后標(biāo)桿幀的地址,訪問差異幀索引、存儲(chǔ)數(shù)據(jù)并更新索引。
在數(shù)據(jù)回放時(shí),必須索引到標(biāo)桿幀,解壓縮形成標(biāo)桿圖像數(shù)據(jù),并依次疊加標(biāo)桿幀至回放時(shí)戳中間所有的差異幀,以形成固定時(shí)刻的景象數(shù)據(jù)。在回放時(shí),根據(jù)回放的倍速要求,刷新景象圖片的疊加速度。
存儲(chǔ)和回放數(shù)據(jù)的硬件設(shè)備選用磁記錄技術(shù)。磁記錄技術(shù)是目前廣泛使用的一種備份設(shè)備,相對(duì)于可擦寫光盤和外接硬盤來(lái)說,成本低,容量大,可靠性高[6]。
為驗(yàn)證性能,特別是驗(yàn)證景象數(shù)據(jù)壓縮的設(shè)計(jì)效果,這里分別實(shí)現(xiàn)了三套方案,以便實(shí)驗(yàn)對(duì)比。這三套方案在景象數(shù)據(jù)的獲取上基本一致,而在景象數(shù)據(jù)壓縮的處理具有如下不同之處:
方案一一種原有的采用完整幀方式壓縮處理的景象記錄方案。20世紀(jì)90年代初期西方國(guó)家空管系統(tǒng)中記錄與回放系統(tǒng)普遍采用該方法,現(xiàn)在很少使用。
方案二在設(shè)計(jì)時(shí)曾考慮過的采用原來(lái)的定時(shí)幀方式壓縮處理的景象記錄方案。目前航管系統(tǒng)普遍采用的方法。國(guó)內(nèi)主流的川大智勝管制中心系統(tǒng)即采用了這種方法,其實(shí)現(xiàn)見參考文獻(xiàn)[1]。
方案三本文最后采用改進(jìn)后的動(dòng)態(tài)幀方式,并采用小波變換算法進(jìn)行壓縮處理的景象記錄方案。
在景象數(shù)據(jù)的存儲(chǔ)設(shè)計(jì)上,由于只涉及對(duì)服務(wù)器接收到的壓縮后的數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)的設(shè)計(jì),可以認(rèn)為不影響這里的方案性能對(duì)比實(shí)驗(yàn)結(jié)果。
實(shí)驗(yàn)中,客戶端計(jì)算機(jī)配置為CPU 1.70GHz,512MB內(nèi)存,屏幕分辨率為1 280×1 024,顏色質(zhì)量為16位,每秒記錄24幀。在以上條件下,最后得到的存儲(chǔ)時(shí)的實(shí)驗(yàn)數(shù)據(jù)如表1所示。
表1 三套方案實(shí)驗(yàn)數(shù)據(jù)對(duì)比表
從表1可以看出,方案一到方案三,雖然CPU平均占用率和內(nèi)存平均占用量有所增加,但是增加的幅度很小,對(duì)系統(tǒng)的影響可以說是微不足道的。評(píng)判景象記錄方案的最核心指標(biāo)是磁帶庫(kù)平均記錄容量,因?yàn)樗硎締挝粫r(shí)間內(nèi)磁帶庫(kù)需要存儲(chǔ)的數(shù)據(jù),該指標(biāo)越小,說明磁帶庫(kù)需要記錄的景象數(shù)據(jù)越少,結(jié)合第2章的技術(shù)要求,就說明這個(gè)方案的性能更好。表1反映出方案二的磁帶庫(kù)平均記錄容量幾乎只占方案一的1/10,而方案三則只占方案二的大概1/3,甚至小于方案一的1/30??紤]到方案三只比前兩個(gè)方案多耗費(fèi)那一點(diǎn)系統(tǒng)資源,完全可以合理的證明:在節(jié)約存儲(chǔ)容量方面,方案三,也就是最終采用的方案,在節(jié)約存儲(chǔ)容量方面具有明顯優(yōu)勢(shì)。
在景象記錄回放時(shí),由于三種方案在景象數(shù)據(jù)壓縮時(shí)都是無(wú)損的,在景象數(shù)據(jù)的獲取、存儲(chǔ)和回放的設(shè)計(jì)上基本一致,因此無(wú)明顯差別。這也可以看出,方案三在保證對(duì)數(shù)據(jù)的高度壓縮的同時(shí),沒有造成景象數(shù)據(jù)的損失和失真,進(jìn)一步體現(xiàn)了其良好的性能。
總結(jié)實(shí)驗(yàn)驗(yàn)證,可以清楚地得到結(jié)論:本文設(shè)計(jì)的景象記錄方案可滿足空管系統(tǒng)記錄與回放要求,并且相當(dāng)節(jié)約存儲(chǔ)容量。
空管系統(tǒng)的屏幕景象配色比較單一,目標(biāo)運(yùn)動(dòng)相對(duì)較緩慢,屏幕景象發(fā)生劇烈變化的概率較低,數(shù)據(jù)存在較大冗余度,為高效、高速壓縮提供了條件。本文綜合考慮景象記錄系統(tǒng)的時(shí)間空間特性及壓縮效率等方面的要求;基于小波變換在圖像處理方面的優(yōu)異特性,采用小波提升算法進(jìn)行圖像的快速無(wú)損壓縮;在以上分析研究的基礎(chǔ)上,結(jié)合空管系統(tǒng)景象數(shù)據(jù)的特點(diǎn),提出了一套景象記錄系統(tǒng)的設(shè)計(jì)方案。實(shí)驗(yàn)驗(yàn)證了該方案的可行性和優(yōu)越性。
[1]張五二.記錄回放在空管系統(tǒng)中的一種實(shí)現(xiàn)[J].中國(guó)民航大學(xué)學(xué)報(bào),2005,16(3):47-49.
[2]陳良琴.基于提升小波變換域運(yùn)動(dòng)估計(jì)的序列圖像壓縮方法[J].陜西科技大學(xué)學(xué)報(bào),2004,22(6):52-56.
[3]趙健.一種基于小波變換的圖像壓縮方法[J].數(shù)據(jù)采集與處理,2000,11(2):166-169.
[4]李天偉.基于整數(shù)小波變換的雷達(dá)圖像快速無(wú)損壓縮算法[J].艦船科學(xué)技術(shù),2007,29(5):152-154.
[5]田杰華.利用人眼視覺特性的低比特率小波圖像壓縮[J].儀器儀表學(xué)報(bào),2010,31(11):2515-2520.
[6]周祿華.空管系統(tǒng)中網(wǎng)上數(shù)據(jù)記錄技術(shù)的實(shí)現(xiàn)[J].空中交通管理,2009(10):13-15.