彭利輝
(中鐵第四勘察設(shè)計院集團有限公司,武漢 430063)
鐵路BIM海量數(shù)據(jù)實時壓縮方法研究
彭利輝
(中鐵第四勘察設(shè)計院集團有限公司,武漢 430063)
針對鐵路BIM海量數(shù)據(jù)與當(dāng)前網(wǎng)絡(luò)傳輸帶寬的矛盾,結(jié)合鐵路三維場景的數(shù)據(jù)特點提出一種鐵路BIM數(shù)據(jù)實時壓縮方法。對鐵路三維場景的三維空間絕對坐標(biāo)進行局部化處理,將坐標(biāo)維數(shù)降為二維;通過相對化處理將每一維坐標(biāo)數(shù)值占用的比特位大大減少;采用無損坐標(biāo)量化定義了一種適于鐵路場景網(wǎng)絡(luò)傳輸?shù)木o湊數(shù)據(jù)格式存儲坐標(biāo);提出適用于鐵路場景繪制的幀間預(yù)測方法減少相鄰樁號間的數(shù)據(jù)冗余;借助自適應(yīng)算術(shù)編碼技術(shù)對數(shù)據(jù)比特流進一步壓縮,獲得了更高的壓縮比。
鐵路BIM;三維可視化;數(shù)據(jù)實時壓縮;算術(shù)編碼
隨著萬維網(wǎng)、建筑信息模型(BIM,Building Information Modeling)技術(shù)及空間信息技術(shù)的快速發(fā)展,網(wǎng)絡(luò)三維可視化技術(shù)已經(jīng)成為當(dāng)前多學(xué)科研究的熱點問題。網(wǎng)絡(luò)環(huán)境下鐵路三維交互式可視化技術(shù)在可視化的鐵路協(xié)同設(shè)計,建設(shè)與運營的遠程管理等領(lǐng)域有著廣闊的應(yīng)用前景。鐵路場景數(shù)據(jù)通常呈海量,給模型的存儲、處理、在有限帶寬網(wǎng)絡(luò)上的傳輸?shù)葞砹撕艽蟮睦щy。如何對鐵路場景的海量數(shù)據(jù)進行高效壓縮,是實現(xiàn)遠程用戶在鐵路三維場景中流暢瀏覽和屬性查詢修改的核心技術(shù)之一。
國內(nèi)外學(xué)者對網(wǎng)絡(luò)三維可視化技術(shù)進行了大量研究:Avengina;Frank Goetz[1]等通過自行開發(fā)的Web3D引擎-OpenSG進行了氣象網(wǎng)絡(luò)三維協(xié)同可視化研究;王恩泉[2]等人運用J2EE平臺和Java3D技術(shù)進行了網(wǎng)絡(luò)三維地形顯示系統(tǒng)的研究;段德全[3]提出一個基于法線網(wǎng)格的漸進壓縮與重建算法;田艷花[4]以漸進式驅(qū)動算法為基礎(chǔ),采用不同的量化方法對幾何信息和參數(shù)化信息進行幾何壓縮。趙占杰[5]研究了一種地形模型的多分辨率壓縮和流式漸進傳輸?shù)姆椒?;蒲浩等[6]利用J2EE平臺作為整體框架,運用數(shù)據(jù)壓縮、多線程、客戶端緩沖區(qū)等策略對模型數(shù)據(jù)的存儲、傳輸、緩沖等過程進行了優(yōu)化。以上的三維可視化研究[1~5]主要是針對一般三維網(wǎng)格模型的壓縮傳輸,不能完全適用于鐵路模型,但對鐵路場景的壓縮傳輸具有重要的借鑒意義。而針對鐵路模型簡化壓縮方法目前尚較少見諸于文獻。文獻[6]對鐵路場景進行了一定的壓縮簡化,但尚待深入研究。本文在文獻[6]研究基礎(chǔ)上提出了一種針對鐵路場景的高效壓縮方法。在不損失任何精度的條件下取得較理想的壓縮比。
通常的鐵路三維場景模型采用平、縱、橫設(shè)計成果,先按一定的密度計算出橫斷面各角點的三維空間坐標(biāo),然后將相鄰兩橫斷面對應(yīng)角點兩兩相連,形成一個個四邊形網(wǎng)格來構(gòu)造設(shè)計線三維模型,如圖1所示,實踐證明,在單機環(huán)境下,速度和效果都取得了滿意的結(jié)果[7~8]。
圖1 鐵路三維場景模型
直接記錄橫斷面各角點的三維空間坐標(biāo)。讀取坐標(biāo)數(shù)據(jù)后便可立即開始三維場景的繪制,適于單機的鐵路三維場景瀏覽和屬性數(shù)據(jù)查詢。但該模型數(shù)據(jù)冗余較大,模型數(shù)據(jù)占用大量空間,無法滿足實時網(wǎng)絡(luò)傳輸?shù)囊?。因此需根?jù)鐵路場景模型的特點,用盡可能少的比特來反映連接信息和幾何信息,并將這些比特順序地排列形成比特數(shù)據(jù)流;然后用合適的編碼壓縮方法壓縮這個比特數(shù)據(jù)流以達到網(wǎng)絡(luò)傳輸?shù)囊蟆?/p>
本文通過以下幾種技術(shù)相結(jié)合將鐵路三維場景數(shù)據(jù)量大大減少,達到了鐵路場景實時網(wǎng)絡(luò)傳輸?shù)囊蟆?/p>
2.1 三維絕對坐標(biāo)局部化與相對化處理
鐵路模型三維坐標(biāo)數(shù)據(jù),一般采用3個單精度浮點型變量分別存儲N(緯距),E(經(jīng)距),H(高程)的絕對坐標(biāo)。以米為單位,鐵路三維場景的平面N,E絕對坐標(biāo)整數(shù)部分為6~7位,H整數(shù)部分為1~3位,小數(shù)部分一般均取2~3位。如將數(shù)值長度減少,我們便可采用更少的比特來表示這些幾何坐標(biāo),從而達到壓縮的目的。
(1)將絕對坐標(biāo)轉(zhuǎn)換為局部坐標(biāo)??紤]鐵路三維坐標(biāo)是以橫斷面為基本單位組織的,在鐵路橫斷面上建立如圖2所示局部坐標(biāo)系:
圖2 鐵路橫斷面局部坐標(biāo)系
以鐵路軸線為坐標(biāo)原點O,水平方向為X軸,豎直向上為Y軸,沿鐵路前進方向右側(cè)為X正方向。坐標(biāo)原點O的三維空間絕對坐標(biāo)(N0,E0,H0)及沿鐵路前進方向的切線方位角α可由平面交點數(shù)據(jù)和縱斷面坡度數(shù)據(jù)快速直接計算得出。記坐標(biāo)原點為0號點,橫斷面上所有的點按中心向兩側(cè)的順序?qū)ψ笥覀?cè)分別編號。記該橫斷面上第i號點在局部坐標(biāo)系下的坐標(biāo)為(Xi,Yi)。按下式便可計算出橫斷面右側(cè)第i號點的絕對坐標(biāo)(Ni,Ei,Hi)。
采用局部坐標(biāo)表示后,鐵路場景中的三維點數(shù)據(jù)Ni,Ei,Hi只需用兩個浮點型數(shù)據(jù)Xi,Yi表示。且Xi,Yi的數(shù)值比較小,一側(cè)的路基寬度一般在100 m以內(nèi),在最不利情況下整數(shù)部分也只需3位。但是,數(shù)值范圍稍長。為便于二進制的比特表述與后續(xù)的算術(shù)編碼壓縮,再對局部坐標(biāo)進行相對化處理。
(2)相對化處理是不直接記錄局部坐標(biāo)系下的坐標(biāo)X,Y,而是采用當(dāng)前點與前一點局部坐標(biāo)的相對差值來記錄。設(shè)i號點局部坐標(biāo)為(Xi,Yi),則其相對化后坐標(biāo)為(ΔXi,ΔYi)計算方法如下:
對三維絕對坐標(biāo)采用局部化和相對化處理后數(shù)值范圍可完全控制在(-16,16)區(qū)間內(nèi)。在不損失精度的條件下,大大減少了坐標(biāo)位數(shù),且轉(zhuǎn)換計算過程簡單,計算機可快速進行坐標(biāo)轉(zhuǎn)化,為后續(xù)的壓縮編碼提供有利條件。
2.2 鐵路模型坐標(biāo)量化
鐵路場景中點的三維坐標(biāo)數(shù)據(jù)是鐵路模型數(shù)據(jù)的主要組成部分。一般采用3個單精度浮點型變量分別存儲N、E,H。在32 bit計算機中一個浮點數(shù)格式如表1,用32 bit即4 Byte來表示。表示一個點的坐標(biāo)需要12 Byte[9]。
從中可以看出單精度浮點型變量所表示的數(shù)據(jù)范圍非常廣,足以表示鐵路場景各點的三維絕對坐標(biāo)。但將其直接用于三維坐標(biāo)存儲數(shù)據(jù)量將非常龐大,不利于鐵路場景的網(wǎng)絡(luò)傳輸。本文提出一種適合鐵路模型的緊湊的坐標(biāo)編碼方式,將三維坐標(biāo)在給定范圍和給定精度下量化,在保證精度無任何損耗的前提下,實現(xiàn)坐標(biāo)數(shù)據(jù)的高壓縮。
鐵路三維數(shù)據(jù)的N、E、H坐標(biāo)一般精度取為0.001m。對三維絕對坐標(biāo)進行局部化、相對化處理后,ΔX,ΔY兩個坐標(biāo)分量的范圍都在(-16,16)之間。在對每一個坐標(biāo)分量進行量化編碼時,定義如表1格式。
表1 坐標(biāo)分量量化編碼格式
約定后3位為小數(shù)部分,前2位為整數(shù)部分,則該編碼方式可表示的范圍為-16.383~16.383,可無損地表示出ΔX,ΔY兩個坐標(biāo)分量。一個點的坐標(biāo)不足4 Byte,數(shù)據(jù)可壓縮至原來的1/3以下。
2.3 鐵路模型幀間預(yù)測技術(shù)
鐵路三維場景由于數(shù)據(jù)量大,無法一次性調(diào)入內(nèi)存進行三維場景的繪制。一般采用視相關(guān)技術(shù)來繪制,即只繪制當(dāng)前視點可見部分的三維場景。采用隊列來維護一個當(dāng)前幀所要繪制的對象集SCur。漫游瀏覽時遠處的三維場景不斷進入視野,將需要繪制的對象集SAdd加入隊列,近處的對象集SDel則不斷因其不可見而從隊列中刪除。對象集SCur一般較大而相鄰兩幀畫面之間的需要繪制的對象集SAdd相對小很多。根據(jù)這一特點,繪制每一幀時只需要獲取對象集SAdd的鐵路橫斷面數(shù)據(jù)即可。通過當(dāng)前幀的繪制對象集來預(yù)測下一幀即將加入繪制對象集的鐵路場景數(shù)據(jù)并對預(yù)測值與真實值之間的差異進行編碼稱之為鐵路場景幀間預(yù)測技術(shù)。之所以采用幀間預(yù)測而不是直接傳輸對象集SAdd數(shù)據(jù)是考慮到鐵路三維場景數(shù)據(jù)具有獨特的特點,采用幀間預(yù)測并對預(yù)測值與真實值之間的差異進行算術(shù)編碼可有效消除三維場景數(shù)據(jù)的冗余,進行高效壓縮。
鐵路三維場景數(shù)據(jù)的特點在于相鄰兩樁號之間的橫斷面差距一般較小。如路肩的參數(shù)在通常情況下是一致的,只是在超高和曲線加寬地段稍有差別。在一個工點范圍內(nèi),如圖3鐵路場景相鄰樁號橫斷面之間的邊坡級數(shù)、水溝樣式及尺寸幾乎一致。一般只在最后一級邊坡的高度稍有差別。
圖3 典型相鄰樁號橫斷面圖
將每個斷面三維空間坐標(biāo)(N,E,H)經(jīng)局部化、相對化后操作后轉(zhuǎn)換為(ΔXi,ΔYi)后,相鄰前后斷面對應(yīng)點的坐標(biāo)差值將絕大部分為0或接近于0。設(shè)當(dāng)前斷面j的第i號點坐標(biāo)為,則第j+1個斷面的第i號點的坐標(biāo)預(yù)測值采用如下預(yù)測函數(shù)計算:
2.4 自適應(yīng)算術(shù)編碼技術(shù)
算術(shù)編碼的思想最早由Shannon[10]提出。80年代初現(xiàn)代算術(shù)編碼的概念得到明確,即算術(shù)編碼應(yīng)是有限精度的、遞增的和先入先出的。Rissanen和Langdon[11~12]描述了算術(shù)編碼的基本理論,并給出了一個二進制算術(shù)編碼器。它可以最大程度地減小信息的冗余度,是一種到目前為止編碼效率最高的統(tǒng)計熵編碼方法,比著名的Huffman編碼效率提高10%左右[13]。算術(shù)編碼的自適應(yīng)模型不必預(yù)先定義概率模型,由于在許多場合,開始時不知道要編碼數(shù)據(jù)的統(tǒng)計特性,因此算術(shù)編碼在不考慮信源統(tǒng)計特性的情況下,只監(jiān)視一小段時間內(nèi)碼出現(xiàn)的頻率,不管統(tǒng)計是平穩(wěn)的或非平穩(wěn)的,編碼的碼率總能趨近于信源的嫡值。算術(shù)編碼避開用一個特定碼字代替一個輸入符號的思想,用一個單獨的浮點數(shù)來代替一串輸入符號,這樣可獲得更加有效地壓縮。
算術(shù)編碼實現(xiàn)的過程就是對碼區(qū)間的遞歸分割。編碼器對每個符號按其概率大小賦予一個非重疊的子區(qū)間,該子區(qū)間的長度與區(qū)間總長的比值即為此符號的概率大小。不斷根據(jù)下一個符號的概率相繼分割出子區(qū)間將區(qū)間不斷縮小。具體過程如下:
風(fēng)電機組聯(lián)軸器用于連接齒輪箱的輸出軸和發(fā)電機的輸入軸,將齒輪箱輸出的扭矩傳遞到發(fā)電機,帶動發(fā)電機轉(zhuǎn)動,是風(fēng)電機組傳動鏈中的關(guān)鍵部件。風(fēng)電機組的聯(lián)軸器安裝如圖1所示。
設(shè)n為可能出現(xiàn)的符號總數(shù),Si為第i種符號值,則可能出現(xiàn)的任意一個符號
用Len表示區(qū)間長度,Lower表示區(qū)間的下限,Upper表示區(qū)間的上限
初始狀態(tài)區(qū)間為[0.0,1.0)。即:Len=1.0,Lower= 0.0,Upper=1.0
設(shè)符號Sk的概率為 p(Sk)。采用靜態(tài)算術(shù)編碼時p(Sk)由預(yù)先定義概率模型確定。采用自適應(yīng)模型時p(Sk)在初始狀態(tài)時按所有符號均等概率計算。即:
后續(xù)的編碼過程中p(Sk)為正在編碼符號Sk時該符號在已出現(xiàn)符號序列中的條件概率。設(shè)Sp為已經(jīng)編碼過的符號序列,Sp的符號個數(shù)為NP,正在編碼的符號為Sk,符號Sk出現(xiàn)的頻率為nk,則
編碼Sk時區(qū)間刷新為:
解碼是編碼的逆過程。解碼時,初始狀態(tài)區(qū)間仍為[0.0,1.0),各符號均按等概率考慮??蓪⒊跏紖^(qū)間分為n符號各自對應(yīng)的子區(qū)間。判斷編碼結(jié)果 C在哪個區(qū)間內(nèi)。如果C在符號Sk所對應(yīng)區(qū)間內(nèi),則解碼出第1個符號為Sk。以符號Sk的子區(qū)間作為新的區(qū)間,采用與編碼時一致的方法更新各個符號的概率,并重新劃分各個符號的子區(qū)間。再判斷編碼結(jié)果C處于哪個符號的子區(qū)間內(nèi),解碼出第2個符號。依次類推,直至解碼出所有符號。
鐵路場景數(shù)據(jù)量巨大和網(wǎng)絡(luò)帶寬的限制是當(dāng)前鐵路網(wǎng)絡(luò)三維可視化面臨的主要問題。本文將三維空間絕對坐標(biāo)進行局部化,相對化處理后,再通過無損量化,采用一種緊湊格式存儲后,幾何坐標(biāo)數(shù)據(jù)可壓縮至原來的1/3以下??紤]鐵路三維場景繪制過程中幀間的關(guān)聯(lián)性及鐵路模型相鄰橫斷面之間相似性強的特點,采用幀間預(yù)測技術(shù)和自適應(yīng)算術(shù)編碼相結(jié)合的方法對數(shù)據(jù)進行壓縮,進一步顯著提高了壓縮比。該壓縮方法在神農(nóng)架旅游觀光軌道交通項目設(shè)計中進行了應(yīng)用,如圖4所示,數(shù)據(jù)壓縮達到了預(yù)期效果。該壓縮方法可在基于BIM技術(shù)的鐵路設(shè)計、方案發(fā)布、遠程可視化管理中應(yīng)用,也可為其他交通領(lǐng)域BIM技術(shù)的應(yīng)用提供借鑒。
圖4 應(yīng)用實例
[1]Luca Chittaro,Ranon R.Web3D technologies in learning,education and training,Motivations,issues,opportunities[J].Computers &Education,2007(Aug):3-18.
[2]王恩泉,李英成,賈盛舉.基于J2EE的網(wǎng)絡(luò)三維地形顯示系統(tǒng)的研究[J].微計算機信息,2007(4):223-225.
[3]段德全.基于漸進傳輸?shù)娜S網(wǎng)格壓縮與重建算法研究[D].西安:西安理工大學(xué),2006,3.
[4]田艷花.基于度驅(qū)動的漸進式三維幾何壓縮技術(shù)[D].長沙:國防科學(xué)技術(shù)大學(xué),2006,11.
[5]趙占杰.基于網(wǎng)絡(luò)的地形三維建模方法及其應(yīng)用研究[D].阜新:遼寧工程技術(shù)大學(xué),2005,2.
[6]蒲 浩,朱 江.基于J2EE和JOGL的道路網(wǎng)絡(luò)三維可視化研究[J].鐵道科學(xué)與工程學(xué)報,2009,6(2):22-27.
[7]蒲 浩.現(xiàn)代路線CAD系統(tǒng)關(guān)鍵技術(shù)研究與應(yīng)用[D].長沙:中南大學(xué),2002,1:79-86.
[8]李頂峰.鐵路三維實時動態(tài)可視化理論和方法的研究[D].長沙:中南大學(xué),2006,5:23-36.
[9]湯 勁.海量數(shù)據(jù)處理系統(tǒng)框架關(guān)鍵技術(shù)研究[D].南京:南京航空航天大學(xué),2006,3:32-34.
[10]Shannon C E.Bell System[J].Technical Journal,1948 (27) :379.
[11]Langdon Jr GG,Rissanen J.A simple genera lbinary souree code [J].IEEE Trans Information Theory,1982,28(5):800-830.
[12]Langdon Jr GG.An introduetion to arithmetic coding [J].IBM Journal of Research and Development,1984,28(2):135-149.
[13]芮國勝,孫小東,權(quán)太范.一種實用的算術(shù)編碼方案[J].高科技通信,2002(12).
責(zé)任編輯 王 浩
圖3 機車整備管理系統(tǒng)登陸界面
本文為機車整備作業(yè)提供了一套完整的信息化管理流程,提供機車的出入庫、整備作業(yè)單、搶修活項、施修結(jié)果檢驗和統(tǒng)計查詢的電子化作業(yè)。本系統(tǒng)已在呼和浩特鐵路局包西機務(wù)段使用,系統(tǒng)運行穩(wěn)定,提取數(shù)據(jù)準(zhǔn)確,操作簡單方便。
機車整備管理信息系統(tǒng)根據(jù)實際整備的作業(yè)流程,將各個操作步驟電子化實現(xiàn),解決了以往手工作業(yè)的弊端,能夠準(zhǔn)確地進行數(shù)據(jù)存儲和提報,減少了重復(fù)活項的出現(xiàn),提高了機車檢修質(zhì)量,降低了機車運行中出現(xiàn)故障的概率。通過使用此系統(tǒng),減少了工人的勞動量,提高了作業(yè)效率。
參考文獻:
[1]童建軍.推行鐵路機車整備專業(yè)化地勤管理的思考[J].鐵道機車車輛,2011(31):66-67.
[2]侯海波.新形勢下機車整備管理探討[J].內(nèi)燃機車,2011(1):38-39.
[3]Kenneth J Klassen,Thomas R Rohleder,Combining operations and marketing to manage capacity and demand in services[J].The Service Industries Journal,2001,21(2):25-30.
[4]朱玉超,鞠 艷,王代勇. ASP.NET 項目開發(fā)教程[M].北京:電子工業(yè)出版社,2008.
[5]尚俊杰,秦衛(wèi)中.ASP.NET 程序設(shè)計案例教程[M].北京:北京交通大學(xué)出版社,2005.
[6]Mohammad Jafar Tarokh ,Javad Soroor.Supply Chain Management Information Systems Critical Failure Factors[C].IEEE,2006,425-431.
責(zé)任編輯 徐侃春
Real-time compression method for massive data of railway BIM
PENG Lihui
( China Railway SIYUAN Survey and Design Group Co.Ltd.,Wuhan 430063, China)
Aiming at the contradiction between massive data of railway BIM and bandwidth of current network transmission,considering with the data characteristics of railway 3D scene,the article proposed a data realtime compression method for massive data of railway BIM.Three-dimensional coordinates were reduced to twodimensional by localization,and the bits were also signifcantly reduced by relative treatment.A lossless and high compact data format was defned to store the coordinates for network transmission of railway sense.The inter frame prediction method suitable for railway scene rendering was proposed to reduce data redundancy of adjacent pile numbers.The bit stream was further compressed by using adaptive arithmetic coding and higher compression ratio was obtained.
railway BIM; 3D visualization; data real-time compression;arithmetic coding
U2∶TP39
A
1005-8451(2016)05-0034-05
2015-11-19
彭利輝,高級工程師。