技术特征:
1.一种结构层级的三维建筑物渐进式编码与传输方法,其特征在于,包含以下步骤:(1)将建筑物网格分割为组件,将表面积或体积大小满足设定条件的组件提取为主要组件,剩余组件为独立结构;(2)对主要组件进行平面聚类,根据平面之间的连接关系构建属性邻接图(aag),并在aag中的进行图搜索,基于子图间的凹凸连接关系提取主结构和附属结构;(3)计算主结构、独立结构和附属结构间的连接关系,构造结构拓扑图(stg);(4)基于结构拓扑图,将结构包装为最小的传输节点对三维建筑物模型进行编码,并计算视觉重要度和朝向作为用于控制传输的节点属性;(5)在客户端请求数据时,综合考虑视点位置、节点朝向和视觉重要度来选择传输节点,并响应客户端。2.根据权利要求1所述的结构层级的三维建筑物渐进式编码与传输方法,其特征在于,所述步骤(1)中具体包括:(1.1)遍历模型网格内所有三角形,建立三角形集合tset;(1.2)从tset中取出一个未访问的三角形t,将t设置为已访问,将其放入队列q中,并创建一个新的组件c;(1.3)从q中取出三角形t,将其添加到组件c中,遍历t的所有未访问相邻三角形,将其设置为已访问并将其放入队列q,重复(1.3),直到q中没有三角形为止;(1.4)重复(1.2)和(1.3),直到tset中的所有三角形都被访问;至此建筑物已被分割为组件表示;(1.5)计算每个组件的方向包围盒(obb)的体积v
i
和表面积s
j
;(1.6)根据体积大小对组件进行降序排序,从大到小的顺序对体积v
i
进行累加运算得到v
sum
;当v
sum
≥v
total
×
t1时,停止累加,得到组件集合i;(1.7)根据表面积大小对组件进行降序排序,从大到小的顺序对表面积s
j
进行累加运算得到s
sum
;当s
sum
≥s
total
×
t2时,停止累加,得到组件集合j;(1.8)得到b={i∪j}为主要组件,其余组件为独立结构,其中,v
total
为建筑物组件的体积累加和,s
total
为建筑物组件的表面积累加和,t1和t2为0到1的阈值,可根据建筑物组件的破碎程度自由调整。3.根据权利要求1所述的结构层级的三维建筑物渐进式编码与传输方法,其特征在于,步骤(2)中具体包括:(2.1)使用贪婪聚类算法将主要组件的三角形聚类成平面;(2.2)计算平面之间的连接角度,当角度大于180度时,存在凸连接,当角度小于等于180度时,存在凹连接,根据连接关系构建属性邻接图aag;(2.3)在aag中,对于一个子图g与其邻居子图n,如果的g内部都为凹连接,且g与n的所有连接为凸,或g的内部都为凸连接,且g与n的所有连接为凹,那么认为g是简单附属结构;如果n内平面数量为1,且g与n所有连接都相同,认为g为复杂附属结构;在aag中首先提取简单附属结构并移除,将迭代进行此过程直到所有的简单附属结构都被提取,然后提取复杂附属结构;(2.4)对移除附属结构后产生的孔洞进行三角化填补,产生孔洞三角网,并生成临时纹理来保持孔洞三角网的纹理;
(2.5)将已经提取并移除了附属结构的主要组件作为主结构,将建筑物表达为主结构,独立结构和附属结构。4.根据权利要求3所述的结构层级的三维建筑物渐进式编码与传输方法,其特征在于,所述步骤(2.3)中当附属结构的平面的数量小于等于3时,或当简单附属结构的obb体积大于主要组件的一半时,不提取该附属结构。5.根据权利要求1所述的结构层级的三维建筑物渐进式编码与传输方法,其特征在于,所述步骤(3)中具体包括:(3.1)为所有结构构建轴对齐包围盒(aabb);(3.2)对所有结构两两进行aabb包围盒相交判断,如果相交,则计算其是否存在相交的三角形,如存在,判定两个结构相连;(3.3)判断是否存在未与任何结构相连的独立结构,如果存在,将独立结构沿着重心进行膨胀;(3.4)重复(3.2)、(3.3)直到不存在未与任何结构相连的独立结构;(3.5)根据连接关系构建结构拓扑图。6.根据权利要求1所述的结构层级的三维建筑物渐进式编码与传输方法,其特征在于,所述步骤(4)中利用提取的结构,将三维建筑物模型编码为如下四种传输节点:主节点、叶子节点、组合节点和孔洞三角网节点;其中主节点为所有主结构合并的一个传输节点,叶子节点是stg中只有一个邻居的节点或移除叶子节点后只有一个邻居的节点,组合节点为stg中移除所有叶子节点,且主节点标记为不可连通的节点后的每一个子图中所有结构的组合,孔洞三角网节点为对移除附属结构后产生的孔洞进行填补产生的孔洞三角网对应的节点。7.根据权利要求6所述的结构层级的三维建筑物渐进式编码与传输方法,其特征在于,所述步骤(4)中仅计算叶子节点和组合节点的视觉重要度和朝向;所述视觉重要度为节点的obb体积;所述朝向的计算方法为:标记与主节点直接相邻的传输节点为第二层节点,并将主节点设置为不可连接的节点,计算第二层节点的朝向,并将第二层节点的朝向传递赋值给直接或间接相邻的所有节点。8.根据权利要求1所述的结构层级的三维建筑物渐进式编码与传输方法,其特征在于,所述步骤(5)中选择传输节点的方法具体包括:(5.1)在服务器上为每个建筑物模型维持一个数据结构,记录建筑物id,建筑物的中心位置,主节点和六个有序列表;每个列表分别存储在六个方向上可见的节点,列表中的节点以视觉重要度大小降序组织;(5.2)首次加载场景时,服务器发送所有建筑物的主节点及其关联的孔洞三角网节点;(5.3)在场景中漫游时,服务器首先执行空间查询来查找在视野中的建筑物,根据每个建筑物的中心位置计算视点和每个建筑模型之间的距离,根据距离计算需要在每个建筑模型中加载的传输节点的最小视觉重要度,基于视点相对于建筑模型的位置的计算建筑物的可见朝向;(5.4)根据最小视觉重要度,从每个建筑物的可见列表中查找可见的节点,然后基于视觉重要度大小的降序组织节点;如果尚未发送子节点的父节点,则在子节点的前面插入父节点以确保节点顺序。
9.根据权利要求8所述的结构层级的三维建筑物渐进式编码与传输方法,其特征在于,在服务器上创建哈希集合来保存已发送的传输节点,避免重复的传输;在客户端维护一个传输节点列表(tnl),记录已添加到场景的传输节点,当新的传输节点到达时,如果新节点相关联的孔洞三角网节点存在于tnl中,则移除孔洞三角网节点。10.一种结构层级的三维建筑物渐进式编码与传输系统,其特征在于,包括服务端和客户端,所述客户端用于发送当前的视点信息,并接收服务端发送的传输节点数据,添加到场景中进行渲染;所述服务端包括至少一台计算设备,所述计算设备包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述计算机程序被加载至处理器时实现根据权利要求1
‑
9任一项所述的结构层级的三维建筑物渐进式编码与传输方法。