[发明专利]一种体素地形数据压缩方法及系统有效
申请号: | 201811478027.6 | 申请日: | 2018-12-05 |
公开(公告)号: | CN109861965B | 公开(公告)日: | 2021-06-18 |
发明(设计)人: | 石轲;朱博;柳尧顺;陆利民 | 申请(专利权)人: | 苏州蜗牛数字科技股份有限公司 |
主分类号: | H04L29/06 | 分类号: | H04L29/06;H04N19/20;H04N19/85;H04N19/96;H03M7/30 |
代理公司: | 北京德崇智捷知识产权代理有限公司 11467 | 代理人: | 王金双 |
地址: | 215000 江苏省*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 地形 数据压缩 方法 系统 | ||
1.一种体素地形数据压缩方法,其特征在于,包括以下步骤:
递归遍历八叉树的每个节点,并在所述节点生成中间数据;
递归遍历每个所述八叉树的每个所述节点,更新所述中间数据,并写入需要打包的数据;
对所述写入的数据进行压缩;
其中,所述中间数据包括标志数据、掩码数据以及体素数据;
所述递归遍历八叉树的每个节点,并在所述节点生成中间数据的步骤,进一步包括:
递归遍历每个所述节点;
当前节点是叶子节点时,将所述标志数据设为0,将所述掩码数据设为1111;
当前节点是非叶子节点、所有所述子节点的与所述体素数据对应的字节一致时,将所述掩码数据设为1,对应的体素数据为有效;
当前节点是非叶子节点、所有所述子节点的与所述体素数据对应的字节不一致,将所述掩码数据设为0,对应的体素数据为无效;
所述递归遍历每个所述八叉树的每个所述节点,更新所述中间数据,并写入需要打包的数据的步骤,进一步包括:
递归遍历每个所述节点;
根据当前节点的父节点的所述掩码数据更新所述当前节点的所述掩码数据;
根据所述标志数据和更新后的掩码数据,写入所述需要打包的数据;
所述根据当前节点的父节点的所述掩码数据更新所述当前节点的所述掩码数据的步骤,进一步包括:
在与所述当前节点的位对应的所述父节点的位数为1时,将所述当前节点的位数更新为0,或者,与所述当前节点的位对应的所述父节点的位数为0时,不进行更改;
所述根据所述标志数据和更新后的掩码数据,写入所述需要打包的数据的步骤,进一步包括:
在所述当前节点是非叶子节点时,写入所述当前节点的所述标志数据和所述更新后的掩码数据,或者,在所述当前节点是叶子节点时,仅写入与所述更新后的掩码数据中位数为1的对应的所述体素数据,而不写入所述标志数据和所述更新后的掩码数据;
所述中间数据包括中间数据以二进制数据生成。
2.一种体素地形数据压缩系统,应用权利要求1所述的一种体素地形数据压缩方法,其特征在于,包括:
遍历模块,其对每个八叉树的每个节点进行两次递归遍历;
数据生成模块,其根据第一次递归遍历结果,生成中间数据,所述中间数据包括中间数据包括标志数据、掩码数据以及体素数据;
数据更新模块,其根据第二次递归遍历结果更新所有所述节点的所述中间数据;
存储模块,其更新后的中间数据写入需要打包的数据;以及
压缩模块,其对所写入的数据进行压缩;
所述中间数据包括中间数据以二进制数据生成;
所述数据生成模块,在当前节点是叶子节点时将所述标志数据设为0,将所述掩码数据设为1111,在当前节点是非叶子节点时,所述数据生成模块根据其子节点所述标志数据和所述掩码数据进行设置;
所述数据更新模块,在与当前节点的位对应的父节点的位数为1时,将所述当前节点的位数更新为0;与所述当前节点的位对应的所述父节点的位数为0时,不进行更改;
所述存储模块,在当前节点是非叶子节点时,写入所述当前节点的所述标志数据和所述更新后的掩码数据;在所述当前节点是叶子节点时,仅写入与所述更新后的掩码数据中位数为1的对应的所述体素数据,而不写入所述标志数据和所述更新后的掩码数据。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于苏州蜗牛数字科技股份有限公司,未经苏州蜗牛数字科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811478027.6/1.html,转载请声明来源钻瓜专利网。