论文部分内容阅读
三角网格模型是表示三维模型的常用手段。随着计算机扫描技术和遥感技术的不断发展,三角网格模型的规模和分辨率不断提升,导致表示三角网格模型的文件的规模不断增加,给模型的存储、处理与传输带来了困难。因此,针对三角网格数据的压缩成为继文字、图像和视频压缩之后的又一热点问题。
本文围绕网格模型的拓扑压缩和几何压缩等具体问题展开研究,最终目的是通过无损压缩用规模较小的编码表示原始三角网格模型的拓扑结构信息。具体的工作包括以下四点:
(1)针对当前三角网格模型的遍历路径阻碍压缩率进一步提高的问题,引入了一种遍历三角网格的新方法。将图论中连通图的贪心哈密顿回路生成算法应用到三角网格模型压缩领域,利用哈密顿回路的拓扑性质对模型的拓扑信息进行压缩,为拓扑压缩效果的提高提供了理论依据。为了提高哈密顿回路的生成效率,依据三角网格中顶点和面的关系采用贪心算法生成网格的近似哈密顿回路,在不影响压缩效果的前提下有效提高了哈密顿回路的生成速度,为压缩算法的高效执行提供了基础。该近似回路可以覆盖网格中的大部分顶点,在本文的实验数据中,贪心哈密顿回路对顶点的覆盖率约为99.99%。
(2)提出了一种应用贪心哈密顿回路的以面为单位的拓扑压缩方法。该方法依据贪心哈密顿回路生成过程中对网格中各顶点和三角形的访问特点,将三角网格中的三角形分为4种不同的类型,可以仅用HETS共4种操作符对网格中的所有三角形进行编码。与传统的至少需要5种操作符编码网格中三角形的以面为单位的拓扑压缩算法相比,本文提出的以面为单位的拓扑压缩方法所获得的操作符序列的熵较小,可以通过进一步的算术编码得到更高的压缩率。另外,哈密顿回路将原始网格模型划分成两个独立的三角形带,通过对这两个三角形带进行分批处理,在一个三角形带仍在编码的过程中在解码端提前显示另一个三角形带,可以在较短的时间内显示具有原始模型结构特点的镂空模型,有效降低了解码端客户的等待时间。对于某些三角网格,该方法可以获得2位/点的压缩率,且与传统方法相比,该方法的压缩时间缩短25%以上。
(3)提出了一种应用贪心哈密顿回路的以点为单位的拓扑压缩方法。根据本文哈密顿回路的贪心扩张特点,在回路扩张过程中顺次对新访问的顶点度数进行编码,可以完全避免传统的以点为单位的拓扑压缩方法中频繁出现的S操作符及其之后的偏移量,所获得的编码序列在长度和熵两方面均优于传统方法,因而可以获得优秀的压缩率。对于特别规则的三角网格模型(如地形模型),该方法可以获得0.02位/点的压缩率,且与传统方法相比,该方法的压缩时间缩短43%以上。
(4)在以面为单位的拓扑压缩算法基础上,提出了一种高效的几何压缩方法。针对以面为单位的拓扑压缩算法所生成的操作符的分布规律,对不同操作符所关联的顶点坐标采取不同的策略进行压缩:对数量较少且相应三角形分布范围较广的E操作符所关联的点,采用坐标收缩机制缩小其顶点坐标的取值范围;对于数量较多且相应三角形经常邻接出现的H和T操作符所关联的点,采用平行四边形预测法和局部坐标转换法降低其顶点坐标的数据量;对于游离点,采用中心点预测法压缩其坐标值。对于某些三角网格模型,本文的几何压缩方法可以获得5.79位/点的压缩率。