APP下载

铁路BIM海量数据实时压缩方法研究

2016-02-17彭利辉

铁路计算机应用 2016年5期
关键词:算术横断面区间

彭利辉

(中铁第四勘察设计院集团有限公司,武汉 430063)

铁路BIM海量数据实时压缩方法研究

彭利辉

(中铁第四勘察设计院集团有限公司,武汉 430063)

针对铁路BIM海量数据与当前网络传输带宽的矛盾,结合铁路三维场景的数据特点提出一种铁路BIM数据实时压缩方法。对铁路三维场景的三维空间绝对坐标进行局部化处理,将坐标维数降为二维;通过相对化处理将每一维坐标数值占用的比特位大大减少;采用无损坐标量化定义了一种适于铁路场景网络传输的紧凑数据格式存储坐标;提出适用于铁路场景绘制的帧间预测方法减少相邻桩号间的数据冗余;借助自适应算术编码技术对数据比特流进一步压缩,获得了更高的压缩比。

铁路BIM;三维可视化;数据实时压缩;算术编码

随着万维网、建筑信息模型(BIM,Building Information Modeling)技术及空间信息技术的快速发展,网络三维可视化技术已经成为当前多学科研究的热点问题。网络环境下铁路三维交互式可视化技术在可视化的铁路协同设计,建设与运营的远程管理等领域有着广阔的应用前景。铁路场景数据通常呈海量,给模型的存储、处理、在有限带宽网络上的传输等带来了很大的困难。如何对铁路场景的海量数据进行高效压缩,是实现远程用户在铁路三维场景中流畅浏览和属性查询修改的核心技术之一。

国内外学者对网络三维可视化技术进行了大量研究:Avengina;Frank Goetz[1]等通过自行开发的Web3D引擎-OpenSG进行了气象网络三维协同可视化研究;王恩泉[2]等人运用J2EE平台和Java3D技术进行了网络三维地形显示系统的研究;段德全[3]提出一个基于法线网格的渐进压缩与重建算法;田艳花[4]以渐进式驱动算法为基础,采用不同的量化方法对几何信息和参数化信息进行几何压缩。赵占杰[5]研究了一种地形模型的多分辨率压缩和流式渐进传输的方法;蒲浩等[6]利用J2EE平台作为整体框架,运用数据压缩、多线程、客户端缓冲区等策略对模型数据的存储、传输、缓冲等过程进行了优化。以上的三维可视化研究[1~5]主要是针对一般三维网格模型的压缩传输,不能完全适用于铁路模型,但对铁路场景的压缩传输具有重要的借鉴意义。而针对铁路模型简化压缩方法目前尚较少见诸于文献。文献[6]对铁路场景进行了一定的压缩简化,但尚待深入研究。本文在文献[6]研究基础上提出了一种针对铁路场景的高效压缩方法。在不损失任何精度的条件下取得较理想的压缩比。

1 铁路三维场景模型压缩

通常的铁路三维场景模型采用平、纵、横设计成果,先按一定的密度计算出横断面各角点的三维空间坐标,然后将相邻两横断面对应角点两两相连,形成一个个四边形网格来构造设计线三维模型,如图1所示,实践证明,在单机环境下,速度和效果都取得了满意的结果[7~8]。

图1 铁路三维场景模型

直接记录横断面各角点的三维空间坐标。读取坐标数据后便可立即开始三维场景的绘制,适于单机的铁路三维场景浏览和属性数据查询。但该模型数据冗余较大,模型数据占用大量空间,无法满足实时网络传输的要求。因此需根据铁路场景模型的特点,用尽可能少的比特来反映连接信息和几何信息,并将这些比特顺序地排列形成比特数据流;然后用合适的编码压缩方法压缩这个比特数据流以达到网络传输的要求。

2 铁路三维场景模型压缩技术

本文通过以下几种技术相结合将铁路三维场景数据量大大减少,达到了铁路场景实时网络传输的要求。

2.1 三维绝对坐标局部化与相对化处理

铁路模型三维坐标数据,一般采用3个单精度浮点型变量分别存储N(纬距),E(经距),H(高程)的绝对坐标。以米为单位,铁路三维场景的平面N,E绝对坐标整数部分为6~7位,H整数部分为1~3位,小数部分一般均取2~3位。如将数值长度减少,我们便可采用更少的比特来表示这些几何坐标,从而达到压缩的目的。

(1)将绝对坐标转换为局部坐标。考虑铁路三维坐标是以横断面为基本单位组织的,在铁路横断面上建立如图2所示局部坐标系:

图2 铁路横断面局部坐标系

以铁路轴线为坐标原点O,水平方向为X轴,竖直向上为Y轴,沿铁路前进方向右侧为X正方向。坐标原点O的三维空间绝对坐标(N0,E0,H0)及沿铁路前进方向的切线方位角α可由平面交点数据和纵断面坡度数据快速直接计算得出。记坐标原点为0号点,横断面上所有的点按中心向两侧的顺序对左右侧分别编号。记该横断面上第i号点在局部坐标系下的坐标为(Xi,Yi)。按下式便可计算出横断面右侧第i号点的绝对坐标(Ni,Ei,Hi)。

采用局部坐标表示后,铁路场景中的三维点数据Ni,Ei,Hi只需用两个浮点型数据Xi,Yi表示。且Xi,Yi的数值比较小,一侧的路基宽度一般在100 m以内,在最不利情况下整数部分也只需3位。但是,数值范围稍长。为便于二进制的比特表述与后续的算术编码压缩,再对局部坐标进行相对化处理。

(2)相对化处理是不直接记录局部坐标系下的坐标X,Y,而是采用当前点与前一点局部坐标的相对差值来记录。设i号点局部坐标为(Xi,Yi),则其相对化后坐标为(ΔXi,ΔYi)计算方法如下:

对三维绝对坐标采用局部化和相对化处理后数值范围可完全控制在(-16,16)区间内。在不损失精度的条件下,大大减少了坐标位数,且转换计算过程简单,计算机可快速进行坐标转化,为后续的压缩编码提供有利条件。

2.2 铁路模型坐标量化

铁路场景中点的三维坐标数据是铁路模型数据的主要组成部分。一般采用3个单精度浮点型变量分别存储N、E,H。在32 bit计算机中一个浮点数格式如表1,用32 bit即4 Byte来表示。表示一个点的坐标需要12 Byte[9]。

从中可以看出单精度浮点型变量所表示的数据范围非常广,足以表示铁路场景各点的三维绝对坐标。但将其直接用于三维坐标存储数据量将非常庞大,不利于铁路场景的网络传输。本文提出一种适合铁路模型的紧凑的坐标编码方式,将三维坐标在给定范围和给定精度下量化,在保证精度无任何损耗的前提下,实现坐标数据的高压缩。

铁路三维数据的N、E、H坐标一般精度取为0.001m。对三维绝对坐标进行局部化、相对化处理后,ΔX,ΔY两个坐标分量的范围都在(-16,16)之间。在对每一个坐标分量进行量化编码时,定义如表1格式。

表1 坐标分量量化编码格式

约定后3位为小数部分,前2位为整数部分,则该编码方式可表示的范围为-16.383~16.383,可无损地表示出ΔX,ΔY两个坐标分量。一个点的坐标不足4 Byte,数据可压缩至原来的1/3以下。

2.3 铁路模型帧间预测技术

铁路三维场景由于数据量大,无法一次性调入内存进行三维场景的绘制。一般采用视相关技术来绘制,即只绘制当前视点可见部分的三维场景。采用队列来维护一个当前帧所要绘制的对象集SCur。漫游浏览时远处的三维场景不断进入视野,将需要绘制的对象集SAdd加入队列,近处的对象集SDel则不断因其不可见而从队列中删除。对象集SCur一般较大而相邻两帧画面之间的需要绘制的对象集SAdd相对小很多。根据这一特点,绘制每一帧时只需要获取对象集SAdd的铁路横断面数据即可。通过当前帧的绘制对象集来预测下一帧即将加入绘制对象集的铁路场景数据并对预测值与真实值之间的差异进行编码称之为铁路场景帧间预测技术。之所以采用帧间预测而不是直接传输对象集SAdd数据是考虑到铁路三维场景数据具有独特的特点,采用帧间预测并对预测值与真实值之间的差异进行算术编码可有效消除三维场景数据的冗余,进行高效压缩。

铁路三维场景数据的特点在于相邻两桩号之间的横断面差距一般较小。如路肩的参数在通常情况下是一致的,只是在超高和曲线加宽地段稍有差别。在一个工点范围内,如图3铁路场景相邻桩号横断面之间的边坡级数、水沟样式及尺寸几乎一致。一般只在最后一级边坡的高度稍有差别。

图3 典型相邻桩号横断面图

将每个断面三维空间坐标(N,E,H)经局部化、相对化后操作后转换为(ΔXi,ΔYi)后,相邻前后断面对应点的坐标差值将绝大部分为0或接近于0。设当前断面j的第i号点坐标为,则第j+1个断面的第i号点的坐标预测值采用如下预测函数计算:

2.4 自适应算术编码技术

算术编码的思想最早由Shannon[10]提出。80年代初现代算术编码的概念得到明确,即算术编码应是有限精度的、递增的和先入先出的。Rissanen和Langdon[11~12]描述了算术编码的基本理论,并给出了一个二进制算术编码器。它可以最大程度地减小信息的冗余度,是一种到目前为止编码效率最高的统计熵编码方法,比著名的Huffman编码效率提高10%左右[13]。算术编码的自适应模型不必预先定义概率模型,由于在许多场合,开始时不知道要编码数据的统计特性,因此算术编码在不考虑信源统计特性的情况下,只监视一小段时间内码出现的频率,不管统计是平稳的或非平稳的,编码的码率总能趋近于信源的嫡值。算术编码避开用一个特定码字代替一个输入符号的思想,用一个单独的浮点数来代替一串输入符号,这样可获得更加有效地压缩。

算术编码实现的过程就是对码区间的递归分割。编码器对每个符号按其概率大小赋予一个非重叠的子区间,该子区间的长度与区间总长的比值即为此符号的概率大小。不断根据下一个符号的概率相继分割出子区间将区间不断缩小。具体过程如下:

风电机组联轴器用于连接齿轮箱的输出轴和发电机的输入轴,将齿轮箱输出的扭矩传递到发电机,带动发电机转动,是风电机组传动链中的关键部件。风电机组的联轴器安装如图1所示。

设n为可能出现的符号总数,Si为第i种符号值,则可能出现的任意一个符号

用Len表示区间长度,Lower表示区间的下限,Upper表示区间的上限

初始状态区间为[0.0,1.0)。即:Len=1.0,Lower= 0.0,Upper=1.0

设符号Sk的概率为 p(Sk)。采用静态算术编码时p(Sk)由预先定义概率模型确定。采用自适应模型时p(Sk)在初始状态时按所有符号均等概率计算。即:

后续的编码过程中p(Sk)为正在编码符号Sk时该符号在已出现符号序列中的条件概率。设Sp为已经编码过的符号序列,Sp的符号个数为NP,正在编码的符号为Sk,符号Sk出现的频率为nk,则

编码Sk时区间刷新为:

解码是编码的逆过程。解码时,初始状态区间仍为[0.0,1.0),各符号均按等概率考虑。可将初始区间分为n符号各自对应的子区间。判断编码结果 C在哪个区间内。如果C在符号Sk所对应区间内,则解码出第1个符号为Sk。以符号Sk的子区间作为新的区间,采用与编码时一致的方法更新各个符号的概率,并重新划分各个符号的子区间。再判断编码结果C处于哪个符号的子区间内,解码出第2个符号。依次类推,直至解码出所有符号。

3 结束语

铁路场景数据量巨大和网络带宽的限制是当前铁路网络三维可视化面临的主要问题。本文将三维空间绝对坐标进行局部化,相对化处理后,再通过无损量化,采用一种紧凑格式存储后,几何坐标数据可压缩至原来的1/3以下。考虑铁路三维场景绘制过程中帧间的关联性及铁路模型相邻横断面之间相似性强的特点,采用帧间预测技术和自适应算术编码相结合的方法对数据进行压缩,进一步显著提高了压缩比。该压缩方法在神农架旅游观光轨道交通项目设计中进行了应用,如图4所示,数据压缩达到了预期效果。该压缩方法可在基于BIM技术的铁路设计、方案发布、远程可视化管理中应用,也可为其他交通领域BIM技术的应用提供借鉴。

图4 应用实例

[1]Luca Chittaro,Ranon R.Web3D technologies in learning,education and training,Motivations,issues,opportunities[J].Computers &Education,2007(Aug):3-18.

[2]王恩泉,李英成,贾盛举.基于J2EE的网络三维地形显示系统的研究[J].微计算机信息,2007(4):223-225.

[3]段德全.基于渐进传输的三维网格压缩与重建算法研究[D].西安:西安理工大学,2006,3.

[4]田艳花.基于度驱动的渐进式三维几何压缩技术[D].长沙:国防科学技术大学,2006,11.

[5]赵占杰.基于网络的地形三维建模方法及其应用研究[D].阜新:辽宁工程技术大学,2005,2.

[6]蒲 浩,朱 江.基于J2EE和JOGL的道路网络三维可视化研究[J].铁道科学与工程学报,2009,6(2):22-27.

[7]蒲 浩.现代路线CAD系统关键技术研究与应用[D].长沙:中南大学,2002,1:79-86.

[8]李顶峰.铁路三维实时动态可视化理论和方法的研究[D].长沙:中南大学,2006,5:23-36.

[9]汤 劲.海量数据处理系统框架关键技术研究[D].南京:南京航空航天大学,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]芮国胜,孙小东,权太范.一种实用的算术编码方案[J].高科技通信,2002(12).

责任编辑 王 浩

图3 机车整备管理系统登陆界面

5 系统使用情况分析

本文为机车整备作业提供了一套完整的信息化管理流程,提供机车的出入库、整备作业单、抢修活项、施修结果检验和统计查询的电子化作业。本系统已在呼和浩特铁路局包西机务段使用,系统运行稳定,提取数据准确,操作简单方便。

6 结束语

机车整备管理信息系统根据实际整备的作业流程,将各个操作步骤电子化实现,解决了以往手工作业的弊端,能够准确地进行数据存储和提报,减少了重复活项的出现,提高了机车检修质量,降低了机车运行中出现故障的概率。通过使用此系统,减少了工人的劳动量,提高了作业效率。

参考文献:

[1]童建军.推行铁路机车整备专业化地勤管理的思考[J].铁道机车车辆,2011(31):66-67.

[2]侯海波.新形势下机车整备管理探讨[J].内燃机车,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 项目开发教程[M].北京:电子工业出版社,2008.

[5]尚俊杰,秦卫中.ASP.NET 程序设计案例教程[M].北京:北京交通大学出版社,2005.

[6]Mohammad Jafar Tarokh ,Javad Soroor.Supply Chain Management Information Systems Critical Failure Factors[C].IEEE,2006,425-431.

责任编辑 徐侃春

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

彭利辉,高级工程师。

猜你喜欢

算术横断面区间
你学会“区间测速”了吗
全球经济将继续处于低速增长区间
保证公路横断面设计正确性的方法研究与应用
担心等
算算术
学算术
广州市健康体检人群种植修复情况的横断面研究
小狗算算术
区间对象族的可镇定性分析
2014年某院医院感染横断面调查