[发明专利]基于八叉树三维模型的数据压缩方法在审
申请号: | 201611103167.6 | 申请日: | 2016-12-05 |
公开(公告)号: | CN106558099A | 公开(公告)日: | 2017-04-05 |
发明(设计)人: | 徐德才 | 申请(专利权)人: | 天津冠睿霖科技发展有限公司 |
主分类号: | G06T17/00 | 分类号: | G06T17/00;G06T9/40 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 300384 天津市西青区天津华苑产业区海*** | 国省代码: | 天津;12 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明公开了基于八叉树三维模型的数据压缩方法。以八叉树法为基础,对八叉树进行均分,确定每个结点的编号、等级、结点的属性以及结点的方向属性值,然后通过共同面的判定按次序依次对等级为(0,0),等级为(1,1),等级为(0,2)的实结点进行等级归并,极大地减少了实结点的数目,从而较好的实现了数据压缩。本发明主要适用于三维地理实体以八叉树法进行三维建模时对数据进行压缩存储,结合线性八叉树编码以及三维行程编码它可以极大地的降低数据的存储量,更好的实现对数据的压缩存储。 | ||
搜索关键词: | 基于 八叉树 三维 模型 数据压缩 方法 | ||
【主权项】:
基于八叉树三维模型的数据压缩方法法,其特征在于具体步骤如下:一、八叉树均分:首先进行八叉树均分,在均分时需要设定每个结点的编号、等级、结点的属性以及结点的方向属性值;其中结点的编号依次设为0、1、2、3、4、5、6、7;结点的等级初始化为0;结点的属性按种类设为实结点、空结点或虚结点;空结点是指对非均质体进行均分时,得到的没有包含形体的均质体;实结点是指对非均质体进行均分时,得到的包含整个形体的均质体;虚结点是指对非均质体进行均分时,达到所要求体素分辨率且只包含部分形体的体素;结点的方向属性值按如下设定:进行八叉树划分时,划定6个方向,分别为:上U8={0,1,2,3},上D8={4,5,6,7},左L8={0,1,4,5{,右R8={2,3,6,7},前F8={1,3,5,7},后B8={0,2,4,6},则每个实结点按上下左右前后的顺序设定结点方向属性值如表1所示;表1:八叉树均分时对应每个结点的方向属性值二、共同面的判定及归并:共同面的判定及归并有三类:分别是对等级(0,0)同层同父同等级结点共同面的判定及归并;等级(1,1)同层同父同等级结点共同面的判定及归并;临层结点共同面的判定及归并;并且每一类的等级归并都是在前一类的等级归并结束后进行;其每一类共同面的判定以及等级归并具体情况如下:1、等级(0,0)同层同父同等级结点共同面的判定及归并:对编号为0的结点,其共同面的结点编号集合为{1,2,4};对编号为1的结点,其共同面的结点编号集合为{10,3,51};对编号为2的结点,其共同面的结点编号集合为{3,0,61};对编号为3的结点,其共同面的结点编号集合为{2,1,71};对编号为4的结点,其共同面的结点编号集合为{5,6,01};对编号为5的结点,其共同面的结点编号集合为{4,7,1};对编号为6的结点,其共同面的结点编号集合为{7,4,2};对编号为7的结点,其共同面的结点编号集合为{6,5,3};设一个二维数组num[i][j]其中:0≤i≤7,0≤j≤2;按一定次序存储共同面编号,初始化为:num[8][3]={{1,2,4},{0,3,5},3,0,6},{2,1,7},{5,6,0},{4,7,11},{7,4,2},{6,5,3}};等级(0,0)结点归并步骤如下:①判别编号1的结点是否为实结点且等级是否为0,是则转第②步,否则1++,重复步骤①;其中:0≤i≤7,i的初始值为0;②依皿的顺序判断其对应的结点是否为实结点且等级是否为0,若是判断j是否等于2,等于转到第③步,不等则转到第④步;若不是1++,转到步骤①;其中:0≤j≤2;③判断编号为num[i][2]对应结点的共同面结点是否为实结点且等级是否为0,其中:结点num[i][2]对应结点的共同面结点i除外;若不是则对编号为i和num[i][2]的结点进行归并,结点i的等级变为3,结点num[i][2]置为空结点转到步骤①;④对编号为1和num[i][j]的结点进行归并,结点i的等级加1变1,方向属性值置为i与num[i][j]方向属性值按位与运算的结果,结点num[i][j]置为空结点;判别结点i+4与num[i][j]+4结点是否同为实结点且等级为0,是则进行归并,结点i+4的等级加1变1,其方向属性值置为结点1+4与num[i][j]+4方向属性值按位与运算的结果,结点num[i][j]+4置为空结点,其中:0≤i≤2转到步骤①;2.等级(1,1)同层同父同等级结点共同面的判定及归并:对编号为0的结点,其共同面的结点编号集合为{2,4};对编号为1的结点,其共同面的结点编号集合为{5};对编号为2的结点,其共同面的结点编号集合为{0,6};对编号为3的结点,其共同面的结点编号集合为Φ;对编号为4的结点,其共同面的结点编号集合为{0,6};对编号为5的结点,其共同面的结点编号集合为{1};对编号为6的结点,其共同面的结点编号集合为{2,4};对编号为7的结点,其共同面的结点编号集合为Φ;设2个数组num1[m][n]和num2[k],num1[m][n]存储结点编号为0,2,4,6的共同面编号,初始化为num1[4][2]={{2,4},{0,6},{0,6},{2,4}},num2[k]存储结点编号为1,5的共同面编号,初始化为num2[2]={5,1};其中::0≤m≤3,0≤n≤1,0≤k≤1;等级{1,1}结点归并具体步骤如下:①判别编号1的结点是否为实结点且等级是否为1,是则转第②步,否则i++,重复步骤①;其中0≤i≤4,i≠4,i的初始值为0;②判断1为奇数还是偶数,若1为偶数,转到第③步,若为奇数,转到第④步;③依num[i/2][j]的顺序判断其对应的结点是否为实结点且等级是否为1,若是则对编号为i和num[i/2][j]的结点的方向属性值进行按位与运算,若运算结果不为0,则进行归并,结点i的等级加1变2,其方向属性值置为按位与运算的结果,结点num[i/2][j]置为空结点i++,转到步骤①;其中:0≤j≤1;④依num2[i/4]判断其对应的结点是否为实结点且等级是否为1,若是对编号为i和num2[i/4]的结点进行归并,结点i的等级加1变2,方向属性值置为1与num2[i/4]方向属性值按位与运算的结果,置结点num2[i/4]为空结点,i++转到步骤①;3.临层结点共同面的判定及归并:通过同层同父同等级结点的归并,对等级为2的结点只可能出现在编号为{0,1,2,4}的结点中,且其互斥;其中对编号为0的结点,其方向属性可能出现三种情况:100000,001000,000001;对编号分别为1,2,4的结点,其方向属性各只存在一种情况,分别为:000010,000100,010000;方向属性值为100000时,其父结点编号只能为{4,5,6,7},才能进行归并,且其对应归并结点只能为与其父结点具有相同父结点编号为{0,1,2,3}的结点,其中:4~0,5~1,6^2 7~3,下同;方向属性值为001000时,其父结点编号只能为{2,3,6,7},才能进行等级归并,且其对应归并结点只能为与其父结点具有相同父结点编号为{0,1,4,5},的结点;方向属性值为000001时,其父结点编号只能为{1,3,5,7},才能进行等级归并,且其对应归并结点只能为与其父结点具有相同父结点编号为{2,4,6},的结点;方向属性值为000010时,其父结点编号只能为{0,2,4,6},才能进行等级归并,且其对应归并结点只能为与其父结点具有相同父结点编号为{1,3,5,7},的结点;方向属性值为000100时,其父结点编号只能为{0,1,4,5},才能进行等级归并,且其对应归并结点只能为与其父结点具有相同父结点编号为{2,3,6,7},的结点;方向属性值为010000时,其父结点编号只能为{0,1,2,3},才能进行等级归并,且其对应归并结点只能为与其父结点具有相同父结点编号为{4,5,6,7},的结点;对每一个等级为2的结点,只需判断其方向属性值对应父结点的归并结点是否为实结点,等级是否为0即可,是则进行归并,归并结点等级变为3,等级为2的被归并结点置为空结点。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于天津冠睿霖科技发展有限公司,未经天津冠睿霖科技发展有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201611103167.6/,转载请声明来源钻瓜专利网。