CN107341191A - 一种三维空间的多尺度整数化编码方法和装置 - Google Patents
一种三维空间的多尺度整数化编码方法和装置 Download PDFInfo
- Publication number
- CN107341191A CN107341191A CN201710446485.0A CN201710446485A CN107341191A CN 107341191 A CN107341191 A CN 107341191A CN 201710446485 A CN201710446485 A CN 201710446485A CN 107341191 A CN107341191 A CN 107341191A
- Authority
- CN
- China
- Prior art keywords
- code set
- encoded radio
- grid
- coding
- dimensions
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 53
- 238000012545 processing Methods 0.000 claims abstract description 58
- 238000003860 storage Methods 0.000 claims description 20
- 238000006243 chemical reaction Methods 0.000 claims description 6
- 230000008901 benefit Effects 0.000 abstract description 3
- 238000004458 analytical method Methods 0.000 abstract description 2
- 239000004575 stone Substances 0.000 abstract 1
- 238000010586 diagram Methods 0.000 description 11
- 230000006870 function Effects 0.000 description 7
- 238000004364 calculation method Methods 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 238000004422 calculation algorithm Methods 0.000 description 4
- 238000012423 maintenance Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 230000008878 coupling Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 230000000717 retained effect Effects 0.000 description 2
- 238000013475 authorization Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000000205 computational method Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 230000035772 mutation Effects 0.000 description 1
- 230000007935 neutral effect Effects 0.000 description 1
- 238000005498 polishing Methods 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 238000004549 pulsed laser deposition Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/29—Geographical information databases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2200/00—Indexing scheme for image data processing or generation, in general
- G06T2200/04—Indexing scheme for image data processing or generation, in general involving 3D image data
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Remote Sensing (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
本发明公开了一种三维空间的多尺度整数化编码方法及装置。方法包括:获取目标三维空间的格网数据,所述格网数据为所述目标三维空间的空间数据的载体;将所述格网数据中格网的位置信息转换为编码值,形成第一编码集合;对所述第一编码集合中的编码值进行移位处理,获取第二编码集合;基于所述第二编码集合构建多个层级的编码集合,并将所述多个层级的编码集合合并成所述目标三维空间的多尺度编码集合。本发明通过将格网位置进行整数化,然后基于整数的加减以及位域运算,为编码的快速使用打下基础,进而通过分析编码找到编码之间的相互关系,实现三维空间的多尺度编码与计算,与现有技术相比,具有编码效率高的优点。
Description
技术领域
本发明涉及信息编码技术领域,更具体地,涉及一种三维空间的多尺度整数化编码方法及装置。
背景技术
随着空间信息获取与处理技术的高速发展,人们对地理空间信息的获取、组织、分析和应用等都提出了更高的要求。在解决人口、资源、环境、灾害、城市规划以及建设等重大问题时,多类型、多要素、多尺度、多时态、多维度和大数据量空间信息的研究和应用已经越来越受到重视。三维空间信息研究与应用首要解决的问题是空间数据的组织与快速访问,这就需要有效的空间编码与索引方法进行支撑。
现阶段常用的空间编码与索引方法有规则格网、八叉树、R树,空间填充曲线以及相关改进算法。其中,采用规则格网的算法,数据冗余较大,且无法实现多尺度,维护困难;采用八叉树的算法,树的深度会直接影响编码、查询等操作的效率;采用R变种树,其算法复杂,动态维护困难;而空间填充曲线的尺度单一,容易造成编码冗余。
发明内容
鉴于上述问题,本发明提出了一种三维空间的多尺度整数化编码方法及装置,能在有效实现空间的多尺度编码的同时,保证编码和索引的效率。
第一方面,本发明实施例中提供了一种三维空间的多尺度整数化编码方法,包括:
获取目标三维空间的格网数据,所述格网数据为所述目标三维空间的空间数据的载体;
将所述格网数据中格网的位置信息转换为编码值,形成第一编码集合;
对所述第一编码集合中的编码值进行移位处理,获取第二编码集合;
基于所述第二编码集合构建多个层级的编码集合,并将所述多个层级的编码集合合并成所述目标三维空间的多尺度编码集合。
结合第一方面,本发明在第一方面的第一种实现方式中将所述格网数据中格网的位置信息转换为编码值,形成第一编码集合,包括:
将所述格网数据中格网的坐标转换为二进制的编码值;
对所述二进制的编码值进行交叉取位处理;
将交叉取位处理后的二进制的编码值转化为十进制的整数编码值,形成第一编码集合。
结合第一方面的第一种实现方式,在第一方面的第二种实现方式中在对所述第一编码集合中的编码值进行移位处理之前之前,还包括:
根据处理器处理的数据宽度确定移位处理中编码值的移位量;
其中,所述对所述第一编码集合中的编码值进行移位处理包括:
根据所述移位量对所述第一编码集合中的编码值进行移位处理。
结合第一方面,本发明在第一方面的第三种实现方式中基于所述第二编码集合构建多个层级的编码集合包括:
将第i层的编码集合中可合并的编码值进行合并处理,形成第i-1层的编码集合;
保留第i层的编码集合中不可合并的编码值作为修改后的第i层的编码集合;
其中,i∈[M,N],N>M≥0,第二编码集合为所述多个层级的编码集合中的第N层的编码层级。
结合第一方面的第三种实现方式实现方式,在第一方面的第四种实现方式中在将第i层的编码集合中可合并的编码值进行合并处理之前包括:
对第i层的编码集合中所有编码值进行排序;
以第b个编码值为起始编码,依序选取预定数量c的编码值,若判断获知所述第b个编码值符合起始编码的条件且选取的编码值之间满足第i层的编码间隔,则确定所述预定数量的编码值为可合并的编码值;
其中,b∈[1,d-c],d为第i层编码集合中编码值的数量,c为常数。
结合第一方面,在第一方面的第五种实现方式中基于所述第二编码集合构建多个层级的编码集合包括:
将所述第二编码集合中可合并的编码值Ci进行合并处理,形成第i层的编码集合;
保留所述第二编码集合中不可合并的编码值作为修改后的第N层的编码集合;
其中,i∈[M,N-1],N-1>M≥0,Ci为第i层对应的可合并编码值且未包含在第i-1层对应的可合并编码值Ci-1中,第二编码集合为所述多个层级的编码集合中的第N层的编码层级。
结合第一方面,本发明在第一方面的第六种实现方式中在将所述多个层级的编码集合合并成所述目标三维空间的多尺度编码集合之后,还包括:
获取查询指令,所述查询指令中携带有多尺度的编码值;
根据所述多尺度的编码值获取所述目标三维空间的编码层级和所述第一编码集合中的第一编码值;
根据所述第一编码值获取对应的第一格网的坐标;
根据所述编码层级对所述第一格网的位置信息进行移位处理,获取与多尺度的编码值对应的第一格网的位置信息;
根据所述目标三维空间的编码层级获取对应的步进;
根据所述第一格网的位置信息和所述步进获取所述第一格网的顶点坐标。
第二方面,本发明实施例提供了一种三维空间的多尺度整数化编码装置,该三维空间的多尺度整数化编码装置具有实现上述第一方面中三维空间的多尺度整数化编码方法行为的功能。所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的模块。
在一个可能的设计中,三维空间的多尺度整数化编码装置包括:
获取模块,用于获取目标三维空间的格网数据,所述格网数据为所述目标三维空间的空间数据的载体;
转换模块,用于将所述格网数据中格网的位置信息转换为编码值,形成第一编码集合;
移位模块,用于对所述第一编码集合中的编码值进行移位处理,获取第二编码集合;
处理模块,用于基于所述第二编码集合构建多个层级的编码集合,并将所述多个层级的编码集合合并成所述目标三维空间的多尺度编码集合。
第三方面,本发明实施例提供了一种电子设备,包括:
处理器;以及
被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器执行以下操作:
获取目标三维空间的格网数据,所述格网数据为所述目标三维空间的空间数据的载体;
将所述格网数据中格网的位置信息转换为编码值,形成第一编码集合;
对所述第一编码集合中的编码值进行移位处理,获取第二编码集合;
基于所述第二编码集合构建多个层级的编码集合,并将所述多个层级的编码集合合并成所述目标三维空间的多尺度编码集合。
第四方面,本发明实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储一个或多个程序,所述一个或多个程序当被包括多个应用程序的电子设备执行时,使得所述电子设备执行以下操作:
获取目标三维空间的格网数据,所述格网数据为所述目标三维空间的空间数据的载体;
将所述格网数据中格网的位置信息转换为编码值,形成第一编码集合;
对所述第一编码集合中的编码值进行移位处理,获取第二编码集合;
基于所述第二编码集合构建多个层级的编码集合,并将所述多个层级的编码集合合并成所述目标三维空间的多尺度编码集合。
相对于现有技术,本发明提供的方案,将三维空间的格网数据中的格网的位置信息换换为编码值,并对其进行移位处理,然后基于移位处理后的形成的编码集合构建多个层级的编码集合,并将所述多个层级的编码集合合并成三维空间的多尺度的编码集合,从而能有效的实现多尺度编码。
而且,本发明实施例中,通过采用整数编码的方法,能减小需要处理的数据量,达到提高编码效率、查询效率的目的。
进一步地,本发明实施例通过在构建多尺度编码集合的过程中,采用合并可合并编码的方式在本层级的编码集合的基础上构建下一层级和本层级的编码集合,或者本层级以及上下层级的编码集合,能进一步降低数据量的大小。
此外,本发明实施例通过将三维编码问题转换为一维编码问题,与现有技术相比,提高了在数据导入、索引建立以及区域查询等方面的效率。而且,编码集合的动态维护较为简单,适用于高速变化的三维空间。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了根据本发明一个实施例的三维空间的多尺度整数化编码方法流程示意图。
图2示出了本发明实施例的单尺度编码的示意图。
图3示出了本发明一个实施例的多尺度编码的示意图。
图4示出了本发明另一个实施例的多尺度编码的示意图。
图5a示出了本发明实施例的第一种合并方案的示意图。
图5b示出了第一种合并方案的另一个实施例的示意图。
图6a示出了本发明实施例的第二种合并方案的示意图。
图6b示出了第二种合并方案的另一个实施例的示意图。
图7示出了本发明实施例的查询格网位置信息的流程示意图。
图8示出了本发明实施例的计算编码层级的流程示意图。
图9示出了本发明一个实施例的三维空间的多尺度整数化编码装置的结构示意图;
图10示出了本发明一个实施例的电子设备结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。
在本发明的说明书和权利要求书及上述附图中的描述的一些流程中,包含了按照特定顺序出现的多个操作,但是应该清楚了解,这些操作可以不按照其在本文中出现的顺序来执行或并行执行,操作的序号如101、102等,仅仅是用于区分开各个不同的操作,序号本身不代表任何的执行顺序。另外,这些流程可以包括更多或更少的操作,并且这些操作可以按顺序执行或并行执行。需要说明的是,本文中的“第一”、“第二”等描述,是用于区分不同的消息、设备、模块等,不代表先后顺序,也不限定“第一”和“第二”是不同的类型。
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本技术领域技术人员可以理解的是,这里所述“三维空间”可以为地理上的某片空间区域,也可以为空间中立体的生物或者物体,例如:人、箱子、飞行器等,也可以是包括一片点云的空间区域。
“格网数据”可以理解为计算机中以栅格结构存贮的内部数据,是扫描式数字化仪的直接产物。在格网数据中,把研究范围分成大小均匀的格网矩阵(下述简称为格网)。存贮的信息可以是点、线、面实体,也可以是指向该单元有关属性的指针。格网越小,精度越高,但存贮量越大。因格网是有规则排列的,故,格网/实体的坐标位置可隐含在格网的存储地址中。为方便理解,下面参考“多级格网”对格网数据进行说明,“多级格网”即为采用预定的空间划分方法对目标三维空间进行划分后的产物,例如:采用八叉划分法,将空间等分为8个相同的子空间,然后再将每个子空间继续划分为8个相同的更高级别的子空间,如此递归,直到到达规定的最高层级N-1级,不难理解的是,“多级格网”中某个层级的格网与“格网数据”的立方体相对应,“多级格网”中某一层级的格网与“格网数据”的格网相对应。另外,多级格网中格网的功能包括体现在两个方面,第一是作为宏观信息的载体,例如:特定空间位置范围内的自然、社会、经济信息等;第二是作为空间数据的载体,即空间数据经过一定的处理后以格网作为其存储与管理的单元,各种数据通过记录与格网中心的对象来表达数据的空间位置。
另外,本发明的相关操作与处理器的数据宽度有一定关联,因此,下文均是以64位进行说明,32位、128位等相应的处理步骤此处不再赘述。
本发明实施例提供了一种三维空间的多尺度整数化编码方法,该方法的流程示意图如图1所示,可由处理器实现,具体包括下述步骤:
110、获取目标三维空间的格网数据,所述格网数据为所述目标三维空间的空间数据的载体;
需要说明的是,假设待研究的目标三维空间的空间范围大小为N·N·N,此时在0级索引中,格网所对应的空间范围为N·N·N,1级索引中格网对应(N/2)·(N/2)·(N/2),2级索引中格网对应(N/4)·(N/4)·(N/4),k级索引中格网对应(N/2k)·(N/2k)·(N/2k);因而在0级索引中只有1个格网,在1级索引中共有2*2*2个格网,在2级索引中共有4*4*4个格网,在k级索引中共有2k·2k·2k个格网。
120、将所述格网数据中格网的位置信息转换为编码值,形成第一编码集合;
较佳地,整数化编码体现在如下步骤:
处理器将所述格网数据中格网的坐标转换为二进制的编码值;
对所述二进制的编码值进行交叉取位处理;
将交叉取位处理后的二进制的编码值转化为十进制的整数编码值,形成第一编码集合。
不难理解的是,为了提高数据处理效率,此处可将存储有三维空间的空间数据的格网位置信息进行转换,对于没有存储空间数据的格网不做处理;或者不区分格网是否含有空间数据,直接将所有的格网的位置进行转换。
需要说明的是,每一级具体的编码规则如图2所示,其可以是采用三维的Z曲线对空间区域进行填充,按照编码规则对研究区域进行编码即实现了三维单尺度整数编码,其中,单尺度的编码指的是对单一尺寸的格网对应的“格网数据”或者“多级格网”中的指定一个层级的格网进行的编码,具体叙述如下:
从图2中可以看出该编码是由一系列整数构成的一维Z形曲线。采用整数来进行编码,为了确定每一个格网对应整数的值,需要建立整数与格网局部坐标的对应关系,设格网局部坐标为(x,y,z),其中x,y,z均为不小于0的整数。为了充分使用存储空间,满足编码结构简单、高效以及多尺度编码的需求,首先设计了格网坐标系坐标结构体如表1所示。
表1格网坐标结构体
由于x64的环境下,可以存储的最大整数为64bit(不考虑内存拼接的情况),平均分配给X、Y、Z三个坐标轴(与编码交叉取位有关),则每一个坐标轴的取值范围为0~2097151,如表1所示,该范围能够满足一般场景的数据量需求,格网标识主要用来判断格网是否含有需要的信息,如果为0,表示不含,在进行三维显示时,则不予显示,否则,则需要显示。根据Z形编码的结构特点,在进行编码时,可以通过交叉取位的方法来获取每一个格网的整数编码,即先将十进制的X、Y、Z坐标转换成二进制编码,均为21位,不足的用0补齐,然后再按照Z、Y、X的顺序,依次取位,组成一个63位的二进制编码,最后将该编码转换成整数,即实现了单尺度整数编码。如:格网坐标为(2,0,2)对应的整数计算步骤如下,具体如表2所示:
1、对应的二进制编码(10,00,10);
2、交叉取位101000;
3、得到十进制的整数编码40。
表2交叉编码举例
130、对所述第一编码集合中的编码值进行移位处理,获取第二编码集合;
140、基于所述第二编码集合构建多个层级的编码集合,并将所述多个层级的编码集合合并成所述目标三维空间的多尺度编码集合。
需要说明的是,多尺度编码的步骤是建立在步骤120单尺度的第一编码集合的基础之上的,建立单尺度的第一编码集合以后,还需要对其编码值进行修改,由于单尺度的第一编码集合中的整数是通过坐标X、Y、Z交叉取位得到,实际只使用了63bit,因此对第一编码集合中的编码值均向左移一位,这样就得到多尺度编码中最大尺度(层级最大,分辨率最高)的编码值的集合,称为第二编码集合或者基础层级的编码集合,很明显,在这一个层级中的整数编码值均为偶数,后续多个层级的编码都在此层的基础之上产生。对于64位、128位等其他数据宽度的处理器,分配至X、Y、Z的数据宽度以及移位量都是可自由分配的。
构建多个层级的编码集合的一个可行的做法是先对第二编码集合中的所有整数编码值进行排序,然后将每相邻的8个编码值取平均,就可以得到下一个层级中的编码值,依此类推,便可得到多尺度编码,由此可见,后续层级的整数编码值均为奇数。
多尺度整数编码可以通过一串整数实现多个尺度的格网编码,其建立编码的步骤如下:
第1步:按照步骤120的方法建立单尺度的整数编码;
第2步:将通过第1步计算得到的整数编码值都乘以2,即左移一位,得到第21层也就是基础层级的编码值。由此可见,这一个层级的编码值均为偶数,相邻编码值之差为2;不难理解的是,编码的移位量取决于处理器的数据宽度,本步骤仅以64位的情况为例。
第3步:请参照图3所示,实现多尺度编码其他层级编码值的计算。以第21层为基础,每8个相邻的值为一组取平均值,得到第20层的编码值;然后以第20层为基础,每8个编码值为一组取平均值,得到第19层的编码。依次类推,即可得到每一个层级的编码值,很明显,除基础层以外,其余各层的编码值均为奇数。
另外,不难理解的是,层级越高,格网对应的尺寸越小,数据量越大,数据处理周期越长,而有些用户可能会优先考虑数据处理效率,对于这种情况,则没必要选择最大的层级,可根据用户的实际需求指定一合理的层级即可。
对于指定层级N为基础层级的情况,例如:N=10,格网坐标(X、Y、Z)对应的多尺度整数编码值的计算过程如下:
1、基于上述步骤120中的内容,计算获取单尺度整数编码Sc;
2、基于单尺度整数编码,计算获取指定层级N的多尺度整数编码值Mc,公式如下:
Mc=Sc≤1 (1-1)
ΔT=1<<(63-(N<<1)-N) (1-2)
mid=(Mc>>(64-(N<<1)-N))<<(64-(N<<1)-N) (1-3)
Mc=mid+ΔT-1 (1-4)
其中,指定层级否认编码间隔可以用来确定该层级的每一个编码值,用符号ΔTN或者ΔMc(N)来表示第N层的编码间隔,则可以得到ΔTN的位操作计算方法如公式(1-5)所示:
ΔTN=1<<(64-N<<1-N) (1-5)
式中N表示层级数,取决于处理器的数据宽度或者人为指定,在64位的三维多尺度整数编码中取值范围为0~21之间的整数。
基于指定层级的编码间隔,可计算指定层级的指定编号的编码值,具体如下:
指定层第k个编码值运算可以建立编码与编号之间的对应关系,进行快速的转换。用符号Mc(N,k)来表示第N层第k个编码值,第N层第0个编码Mc(N,0)和第k个编码的计算公式,分别如下式所示:
Mc(N,0)=1<<(63-N<<1-N)-1 (1-6)
Mc(N,k)=Mc(N,0)+k·ΔMc(N) (1-7)
Mc(N,k)=(1<<(63-N<<1-N)-1)+k·(64-N<<1-N) (1-8)
可见,本实施例通过将格网位置进行整数化,然后仅通过位域操作和加减运算即可实现目标三维空间的编码与计算,与现有技术相比,具有编码效率高的优点。而且,本实施例通过在构建多尺度编码集合的过程中,采用合并可合并编码的方式在本层级的编码集合的基础上构建下一层级和本层级的编码集合,或者本层级以及上下层级的编码集合,能进一步降低数据量的大小,达到进一步地提高编码效率的目的。而且,基于每个编码层级对应的编码间隔的设置,可由每个层级中的第一位编码计算获取其他编码,进一步地降低了数据处理量,提高了编码效率。
图4示出了本发明另一个实施例的多尺度编码的示意图,参见图4,多尺度编码的步骤包括:
410、判断第i层的编码集合中的编码值是否具有对应的编码间隔,若否,则执行步骤420;若是,则执行步骤430:
420、将第i层的编码集合中可合并的编码值进行合并处理,形成修改后的第i层的编码集合;
430、将第i层的编码集合中可合并的编码值中的任意一个编码值添加至第i-1层的编码集合;
440、保留第i层的编码集合中不可合并的编码值作为第i+1层的编码集合。
其中,i∈[M,N-1],N-1>M≥0,第二编码集合为所述多个层级的编码集合中的第N层的编码层级;当i=N-1时,以第二编码集合为第i层的编码集合。
不难理解的是,当i=N-1时,以第二编码集合为第i层初始的编码集合,执行步骤410-440,得到完整的第i+1层的编码集合和第i层的编码集合以及第i-1的编码集合的部分编码;然后对i=N-2再次执行步骤410-440,以此类推,得到N-M层的编码集合。
需要说明的是,基于图1对应实施例中步骤120中的相关说明以及图3的示出可知,由于处理器是64位的,x,y,z的位数均可以为21位,因此,为了保证最高的分辨率,此处的N默认等于最高层级21。另外,M的值可由人为设定,或者取默认值。
例如:若设定最小层级为10层,那么M=21-10=11,即取第21层级至第11层级对应的编码集合进行合并构建多尺度的编码集合;或者当N为指定层级时,M=指定层级-10,即取指定层级至第M层级对应的编码集合,指定层级大于10。
下面以举例的方式对本实施例中的多尺度编码进行说明:
(1)、将目标三维空间内的格网坐标均转换为指定层级N的多尺度编码,其中N可以根据目标三维空间的大小进行设置;
(2)、按照从小到大的顺序,对步骤(1)得到的多尺度编码值进行排序;
(3)、计算得到最小编码层级n(n<=21),并定义N~n之间每一个层级的编码空集,用来存储相应层级的编码值;
(4)、对排序后的编码值的进行大小对比处理,计算每一个编码对应上一层级的父单元,如果有连续8个编码的父单元相同,判断第64个编码值是否满足该层中多尺度编码的关系,如果不满足,则进行合并,在相应层级的编码空集中记录一个编码值;如果满足,如往上一个层级进行计算并存储,直到满足层级的要求为止;如果没有连续8个相同的父单元,则不进行合并,直接将编码值添加到该层的编码空集中进行存储,依此类推,对每一个编码值进行处理。
不难理解的是,取8个编码进行合并是因为在三维空间划分时,大尺寸的格网被划分为8个小尺寸的格网;取第64个编码值是因为第N层中每8个相同的编码合并成第N-1层的一个编码,进而第N层的每64个编码合并成第N-2层的一个编码。
下面参见图5a,以任取的三个层级N、N-1和N-2为例对步骤(4)进行说明,
假设第N层的编码值为a1~a66,N-1层相应的编码值为b1~b66,下标表示编码个数,第N层、第N-1层以及第N-2层存储编码值的编码空集分别为VN、VN-1和VN-2。
如果b1≠b2,则将编码值a1添加到编码空集VN中;
如果b2~b9之间的8个编码值均相等,且a65≠63·ΔTN+a2,式中ΔTN表示第N层的编码间隔,则只将编码值b2添加到编码空集VN-1中;
如果b2~b9之间的8个编码值均相等,且a65=63·ΔTN+a2,则将b2的父单元C2添加到编码空集VN-2中进行存储,依此类推,直到满足最小层级的要求;
(5)、重复第四步,直到满足层级的要求为止;
(6)、将每一个层级的编码空集中的编码值进行合并,就得到构成该区域的多尺度编码集合。
作为图5a对应的合并方案的另一种可行的实施例,包括如下步骤:
将所述第二编码集合中可合并的编码值Ci进行合并处理,形成第i层的编码集合;
保留所述第二编码集合中不可合并的编码值作为修改后的第N层的编码集合;
其中,i∈[M,N-1],N-1>M≥0,Ci为第i层对应的可合并编码值且未包含在第i-1层对应的可合并编码值Ci-1中,第二编码集合为所述多个层级的编码集合中的第N层的编码层级。
以图5b为例进行说明:对第二编码集合中的所有编码进行排序,生成a1-a66的序列;
参照图3,首先,选取并判断第二编码集合中的a1-a8是否可合并为第N-1层的编码值,判断条件为:选取的第一个编码符合起始编码的条件且选取的编码之间满足第N层的编码间隔;
若是,则在编码a1-a8的基础上,进一步地选取出编码a1-a65并判断a1-a65是否为第N-2层的可并编码值。
若判断获知编码a1-a65为第N-2层的可并编码值且编码a1-a512不是第N-3层的可并编码值,则将编码a1-a64合并至第N-2层的编码集合,参见图3,即将a1-a64对应的编码值63添加至第N-2层的编码集合;
若确定获取选取的编码a1-a8为不可合并的编码,将a1即图3中对应的编码值0添加至第N层的编码集合,并进一步选取a2-a9进行判断。
以此类推,可实现多层级多尺度的编码。
其中,起始编码条件为余0,编码间隔的条件为a0+m·ΔTN=am,ΔTN为第N层的编码间隔,m为选取的编码的个数,a0为第N层编码集合中的第一个编码值,aL为选取的多个编码中的第一个编码,am为选取的多个编码中的最后一个编码。
与图5a对应的编码方法相比,本优化方法无需判断每个编码值的父编码,进一步地降低了数据处理量,提高了编码效率。
另外,在另一可行实施例中,本发明还提出了又一实施例的多尺度编码方法,具体包括如下步骤:
将第i层的编码集合中可合并的编码值进行合并处理,形成第i-1层的编码集合;
保留第i层的编码集合中不可合并的编码值作为修改后的第i层的编码集合;
其中,i∈[M,N],N>M≥1,第二编码集合为所述多个层级的编码集合中的第N层的编码层级。
下面以举例的方式对本实施例中的多尺度编码进行说明:
(1)、将区域内的每一个格网坐标均转换为指定层级N的多尺度编码;
(2)、按照从小到大的顺序,对步骤(1)得到的多尺度编码值进行排序;
(3)、计算得到最小编码层级n(n<=21),并定义N~n之间每一个层级的编码空集,用来存储相应层级的编码值;
(4)、对排序后的编码值进行大小对比处理,如果有连续8个编码的父单元相同,则进行合并,在父单元所在层级(第20层级)的编码空集中仅记录这8个编码值中的一个编码值;否则,不进行合并,直接将这8个编码值添加到该层(第21层级)的编码空集中进行存储;
下面参见图6a,以任取的两个层级N和N-1为例对步骤(4)进行说明,假设第N层的编码值为a1~a9,N-1层相应的编码值分别为b1~b9,第N层和第N-1层存储编码值的编码空集分别为VN和VN-1。
如果b1≠b2,则将编码值a1添加到编码空集VN中;
如果b2~b9之间的8个编码值均相等,则只将编码值b2添加到编码空集VN-1中,依次类推,对第N层中的每一个编码值进行处理;
(5)、从基础层级开始,逐层级按照步骤(4)的方法进行处理,直到满足层级的要求为止;
(6)、将每一个层级的编码空集中的编码值进行合并,就得到构成该三维空间的多尺度编码集合。
作为图6a对应的合并方案的一种可行的实施例,与图6a对应实施例的不同之处在于步骤(4),故,其他步骤不再赘述。下面仅对步骤(4)进行详细说明:
以第b个编码值为起始编码,依序选取预定数量c的编码值,若判断获知所述第b个编码值符合起始编码的条件且选取的编码值之间满足第i层的编码间隔,则确定所述预定数量的编码值为可合并的编码值,并将可合并的编码值合并至第i-1层的编码集合,保留不可合并的编码为修改后的第i层的编码集合;
其中,b∈[1,d-c],d为第i层编码集合中编码值的数量,c为常数。
参见图6b,从第一个编码值开始,选取第二编码集合中的8个编码值a1-a8,判断a1-a8是否可合并为第N-1层的编码值,判断条件为:选取的第一个编码符合起始编码的条件且选取的编码之间满足第N-1层的编码间隔;
若是,则将a1-a8对应的父编码值添加至第N-1层的的编码集合,参见图3,即将a1-a8对应的编码值7添加至第N-1层的的编码集合;
若否,则选取第二编码集合中的a2-a9,并再次判断;
进而将可合并的编码值进行合并处理,构建出第N-1层的的编码集合,保留不可合并的编码值作为修改后的第N层的编码集合;
然后,基于同样的原理,对第N-1层编码集合中所有编码值执行判断步骤,构建出修改后的第N-1层的的编码集合和第N-2层的编码集合。
以此类推,构建出多个层级的编码集合。
其中,起始编码条件为余0,编码间隔的条件为a0+m·ΔTi=am,ΔTi为第i层的编码间隔,m为选取的编码的个数,a0为第i层编码集合中的第一个编码值,aL为选取的多个编码中的第一个编码,am为选取的多个编码中的最后一个编码。
可见,本优化方法无需对比每个编码值的父编码即可判断是否为可合并的编码值,降低了需要处理的数据量,提高了编码效率。
在基于构建完成目标三维空间的多尺度的编码集合进行格网位置信息的查询流程之前,首先对位域操作进行说明:
位域操作是三维多尺度整数编码的基础,也是相比于其它编码方法的优势之一。该编码方法中的编码运算都可以通过整数加减或二进制操作得到,从而能够大幅地提高编码计算的效率,常用的二进制操作及含义描述如表3所示,下同。
表3常用的二进制操作及含义
基于表3,下面参见图7对基于多尺度编码集合的格网位置信息的查询流程进行详细说明:
410、获取查询指令,所述查询指令中携带有多尺度的编码值Mc;
需要说明的是,查询指令可以为用户输入的,或者是预授权方发送的。
420、根据所述多尺度的编码值获取所述目标三维空间的编码层级和所述第一编码集合中的第一编码值;
首先,计算单尺度的第一编码集合中的第一编码值的步骤如下:
基于图1对应实施例种步骤120-步骤140中记载的内容,明确了三维单尺度整数编码跟格网坐标的对应关系,三维多尺度编码由三维单尺度整数编码发展而来。因此,要实现多尺度编码与格网坐标之间的转换,首先需要找到该编码对应的基础层级编码。公式如下:
最小编码值
Mcmin=Mc-1<<(63-N-N-N)+1 (1-9)
然后将最小编码值转化为单尺度编码值Sc,公式如下:
Sc=Mcmin>>1 (1-10)
然后,计算目标三维空间的编码层级的步骤如下(参见图8):
810、设多尺度编码的数值为Mc,总层级为N;
820、编码值与1按位与;
830、判断步骤820的步骤是否为0,否是,则执行步骤840;若否,则执行步骤850;
840、Mc是偶数,可得层级N=21,结束;
850、Mc是奇数,通过异或运算计算整数Mid=(Mc-1)^(Mc+1),其目的是计算Mc-1和Mc+1前面高位有多少位是相同的,找这两个多尺度整数编码最近的相同父编码;
860、通过分支方法确定整数Mid(64bit)左边有多少位是0,计算多尺度整数编码Mc的层级N。初始化N=0。,
①通过掩码0xFFFFFFFF00000000取Mid的高位,然后右移32位得到Mid0,判断Mid0是否为0。若Mid0不为0,则Mid=Mid0,且N保持不变;否则,Mid=Mid&0xFFFFFFFF00000000,N=32;
②通过掩码0xFFFF0000取Mid的高位,然后右移16位得到Mid0,判断Mid0是否为0。若Mid0不为0,则Mid=Mid0,且N保持不变;否则,Mid=Mid&0xFFFF0000,N=N+16;
③通过掩码0xFF00取Mid的高位,然后右移8位得到Mid0,判断Mid0是否为0。若Mid0不为0,则Mid=Mid0,且N保持不变;否则,Mid=Mid&0xFF00,N=N+8;
④通过掩码0xF0取Mid的高位,然后右移4位得到Mid0,判断Mid0是否为0。若Mid0不为0,Mid=Mid0,且N保持不变;否则,Mid=Mid&0xF0,N=N+4;
⑤通过掩码0xC取Mid的高位,然后右移2位得到Mid0,判断Mid0是否为0。若Mid0不为0,则Mid=Mid0,且N保持不变;否则,Mid=Mid&0x3,N=N+2;
⑥通过掩码0x2取Mid的高位,然后右移1位得到Mid0,判断Mid0是否为0。若Mid0不为0,则Mid=Mid0,且N保持不变;否则,Mid=Mid&0x1,N=N+1。
⑦对按以上步骤计算得到的N进行转换得到层级n,所用公式如下。
n=(N·0xAAAAAAAB)>>33 (1-11)
430、根据所述第一编码值获取对应的第一格网的坐标(i,j,k);
结合图1对应实施例中步骤120中记载的内容,不难理解的是,根据格网的坐标,通过交叉取位的方式可以计算得到单尺度编码值。同样地,根据编码值,可以通过逆向交叉取位的方法计算得到相应的格网坐标。以单尺度编码40为例进行说明,如表4所示。
表4单尺度编码与格网坐标转换一览表
440、根据所述编码层级对所述第一格网的位置信息进行移位处理,获取与多尺度的编码值对应的第一格网的位置信息Ni,Nj,Nk。
计算公式如下:
格网可以用来对三维场景进行组织和表达,在应用的过程中,在已知编码的情况下,需要求得对应格网的8个顶点坐标。基于图7对应实施例中的内容,假设任意给定一个编码以及基础层级格网的步进为1,包括如下步骤:
首先,根据所述目标三维空间的编码层级获取与该编码层级对应的步进It;
需要说明的是,编码层级不同,步进随之改变,因此要计算给定编码的格网顶点坐标,首先需要计算其层级以及相应层级下的步进,计算层级的步骤与步骤420相同,此处不再赘述,计算层级下的步进则有:
It=(1<<(21-N)) (1-13)
然后,根据与多尺度的编码值对应的第一格网的位置信息和步进It获取所述格网的顶点坐标。
需要说明的是,计算格网的坐标的步骤430-步骤440相同,此处不再赘述,基于格网步进It以及对应的格网坐标Ni,Nj,Nk,可以快速求得格网的8个顶点坐标,令
基于公式(1-6),可得到格网的8个顶点坐标分别为:
(x,y,z),(x+It,y,z),(x,y+It,z),(x,y,z+It),(x+It,y+It,z),(x+It,y,z+It),(x,y+It,z+It),(x+It,y+It,z+It)。
可见,本发明实施例通过将三维编码问题转换为一维编码问题,与现有技术相比,提高了在数据导入、索引建立以及区域查询等方面的效率。而且,编码集合的动态维护较为简单,适用于高速变化的三维空间。
较佳地,为了更好的实现格网的快速查找和调度,可根据格网之间的关系构建父单元和子单元的使用的需求。具体包括父单元查询部分和子单元查询部分,其中:
父单元查询部分包括:
在进行格网的多尺度表达时,往往需要找到与小尺寸格网位置关系相对应的大尺度的格网,在不影响表达效果的前提下,用大尺度格网代替小格网,减少数据量,提高效率。不难理解的是,父单元对应大尺寸格网即为小尺寸格网上一级的格网,对应到多级格网中,即为大尺寸的第N级的格网与该格网中小尺寸的第N+1级的格网。
已知多尺度整数编码Mc,需要查询层级为N'(N'≤N)的父单元FMc,具体步骤如下:
①计算第N'层编码中的第一个整数编码oTN',根据公式(1-15)可以得到:
oTN'=1<<(63-N'<<1-N')-1 (1-15)
②计算第N'级的父单元编码相对于第一个编码的间隔ΔFMc:
ΔFMc=(Mc>>(64-N'-N'-N'))<<(64-N'-N'-N') (1-16)
③计算第N'级的父单元编码FMc:
FMc=ΔFMc+oTN' (1-17)
子单元查询部分包括:
在格网的应用过程中,往往需要根据编码对其子单元进行查找,利用子单元的信息丰富编码对应格网的信息;在进行三维表达时,由于视点的变化,也需要用小尺度的格网,来代替大尺度的格网,使得表达效果更加的逼真。
给定一个多尺度整数编码值Mc,相应的层级为N,计算其包含所有第N'的整数编码NT,其中N'≥N。
由于多尺度整数编码在整数排序上,满足包含关系,进行子单元查询时,只需要确定多尺度编码对应的范围即可。若层级为N的整数值,包含最小尺度的范围[A,B],则有:
A≤NT≤B (1-18)
A=Mc-(oTN+1)+1 (1-19)
B=Mc+(oTN+1)-1 (1-20)
公式(1-19)和(1-20)中oTN表示第N层第一个编码值,可由公式(1-15)计算得到。
对于方法实施方式,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施方式并不受所描述的动作顺序的限制,因为依据本发明实施方式,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施方式均属于优选实施方式,所涉及的动作并不一定是本发明实施方式所必须的。
基于上述三维空间的多尺度整数化编码方法,本发明实施例还提供了一种三维空间的多尺度整数化编码装置,该装置的内部结构的框架示意图如图9所示,包括:获取模块910、转换模块920、移位模块930和处理模块940,其中:
获取模块910,用于获取目标三维空间的格网数据,所述格网数据为所述目标三维空间的空间数据的载体;
转换模块920,用于将所述格网数据中格网的位置信息转换为编码值,形成第一编码集合;
移位模块930,用于对所述第一编码集合中的编码值进行移位处理,获取第二编码集合;
处理模块940,用于基于所述第二编码集合构建多个层级的编码集合,并将所述多个层级的编码集合合并成所述目标三维空间的多尺度编码集合。
需要说明的是,获取模块910在采集到用户输入的或者指定位置存储的目标三维空间的格网数据后,将其发送至转换模块920,转换模块920将接收到的格网数据中存储有空间数据的格网的位置信息转换为编码值,进而获取由格网的位置信息对应的编码值组成的单尺度的第一编码集合,并将单尺度的第一编码集合发送至移位模块930,由移位模块930对单尺度的第一编码集合中的编码值进行移位处理,获取第二编码集合,其中,移位量由装置处理的数据宽度决定,然后将第二编码集合发送至处理模块940,由处理模块940基于接收到的第二编码集合构建多个层级的编码集合,进而得到目标三维空间的多尺度编码集合。
在建立完成多尺度编码集合后,本装置还能进行空间数据的查询,该功能由装置的查询模块完成,具体原理如下:
获取查询指令,所述查询指令中携带有多尺度的编码值;根据所述多尺度的编码值获取所述目标三维空间的编码层级和所述第一编码集合中的第一编码值;根据所述第一编码值获取对应的第一格网的坐标;根据所述编码层级对所述第一格网的位置信息进行移位处理,获取与多尺度的编码值对应的第一格网的位置信息;
根据所述目标三维空间的编码层级获取对应的步进;根据所述第一格网的位置信息和所述步进获取所述第一格网的顶点坐标。
基于上述三维空间的多尺度整数化编码方法,本发明实施例还提供了一种电子设备,该电子设备结构示意图如图10所示,包括处理器101,可选地还包括内部总线102、网络接口103、存储器。其中,存储器可能包含内存104,例如高速随机存取存储器(Random-Access Memory,RAM),也可能还包括非易失性存储器(non-volatile memory)105,例如至少1个磁盘存储器等。当然,该电子设备还可能包括其他业务所需要的硬件。
处理器101、网络接口103和存储器可以通过内部总线102相互连接,该内部总线102可以是ISA(Industry Standard Architecture,工业标准体系结构)总线、PCI(Peripheral Component Interconnect,外设部件互连标准)总线或EISA(ExtendedIndustry Standard Architecture,扩展工业标准结构)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图10中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
存储器101,用于存放程序。具体地,程序可以包括程序代码,所述程序代码包括计算机操作指令。存储器可以包括内存104和非易失性存储器105,并向处理器101提供指令和数据。
处理器101从非易失性存储器105中读取对应的计算机程序到内存104中然后运行,在逻辑层面上形成三维空间的多尺度整数化编码装置。处理器101,执行存储器所存放的程序,并具体用于执行以下操作:
获取目标三维空间的格网数据,所述格网数据为所述目标三维空间的空间数据的载体;
将所述格网数据中格网的位置信息转换为编码值,形成第一编码集合;
对所述第一编码集合中的编码值进行移位处理,获取第二编码集合;
基于所述第二编码集合构建多个层级的编码集合,并将所述多个层级的编码集合合并成所述目标三维空间的多尺度编码集合。
上述如本申请图1所示实施例揭示的三维空间的多尺度整数化编码装置执行的方法可以应用于处理器101中,或者由处理器101实现。处理器101可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器101中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器101可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application SpecificIntegrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。
该电子设备还可执行图1中三维空间的多尺度整数化编码装置执行的方法,并实现三维空间的多尺度整数化编码装置在图1所示实施例的功能,本申请实施例在此不再赘述。
本申请实施例还提出了一种计算机可读存储介质,该计算机可读存储介质存储一个或多个程序,该一个或多个程序包括指令,该指令当被包括多个应用程序的电子设备执行时,能够使该电子设备执行图1所示实施例中三维空间的多尺度整数化编码装置执行的方法,并具体用于执行:
获取目标三维空间的格网数据,所述格网数据为所述目标三维空间的空间数据的载体;
将所述格网数据中格网的位置信息转换为编码值,形成第一编码集合;
对所述第一编码集合中的编码值进行移位处理,获取第二编码集合;
基于所述第二编码集合构建多个层级的编码集合,并将所述多个层级的编码集合合并成所述目标三维空间的多尺度编码集合。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:只读存储器(ROM,ReadOnly Memory)、随机存取存储器(RAM,Random AccessMemory)、磁盘或光盘等。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
Claims (10)
1.一种三维空间的多尺度整数化编码方法,其特征在于,包括:
获取目标三维空间的格网数据,所述格网数据为所述目标三维空间的空间数据的载体;
将所述格网数据中格网的位置信息转换为编码值,形成第一编码集合;
对所述第一编码集合中的编码值进行移位处理,获取第二编码集合;
基于所述第二编码集合构建多个层级的编码集合,并将所述多个层级的编码集合合并成所述目标三维空间的多尺度编码集合。
2.根据权利要求1所述的方法,其特征在于,所述将所述格网数据中格网的位置信息转换为编码值,形成第一编码集合包括:
将所述格网数据中格网的坐标转换为二进制的编码值;
对所述二进制的编码值进行交叉取位处理;
将交叉取位处理后的二进制的编码值转化为十进制的整数编码值,形成第一编码集合。
3.根据权利要求2所述的方法,其特征在于,在对所述第一编码集合中的编码值进行移位处理之前,所述方法还包括:
根据处理器处理的数据宽度确定移位处理中编码值的移位量;
其中,所述对所述第一编码集合中的编码值进行移位处理包括:
根据所述移位量对所述第一编码集合中的编码值进行移位处理。
4.根据权利要求1所述的方法,其特征在于,所述基于所述第二编码集合构建多个层级的编码集合包括:
将第i层的编码集合中可合并的编码值进行合并处理,形成第i-1层的编码集合;
保留第i层的编码集合中不可合并的编码值作为修改后的第i层的编码集合;
其中,i∈[M,N],N>M≥0,第二编码集合为所述多个层级的编码集合中的第N层的编码层级。
5.根据权利要求4所述的方法,其特征在于,在将第i层的编码集合中可合并的编码值进行合并处理之前,包括:
对第i层的编码集合中所有编码值进行排序;
以第b个编码值为起始编码,依序选取预定数量c的编码值,若判断获知所述第b个编码值符合起始编码的条件且选取的编码值之间满足第i层的编码间隔,则确定所述预定数量的编码值为可合并的编码值;
其中,b∈[1,d-c],d为第i层编码集合中编码值的数量,c为常数。
6.根据权利要求1所述的方法,其特征在于,所述基于所述第二编码集合构建多个层级的编码集合包括:
将所述第二编码集合中可合并的编码值Ci进行合并处理,形成第i层的编码集合;
保留所述第二编码集合中不可合并的编码值作为修改后的第N层的编码集合;
其中,i∈[M,N-1],N-1>M≥0,Ci为第i层对应的可合并编码值且未包含在第i-1层对应的可合并编码值Ci-1中,第二编码集合为所述多个层级的编码集合中的第N层的编码层级。
7.根据权利要求1所述的方法,其特征在于,在将所述多个层级的编码集合合并成所述目标三维空间的多尺度编码集合之后,包括:
获取查询指令,所述查询指令中携带有多尺度的编码值;
根据所述多尺度的编码值获取所述目标三维空间的编码层级和所述第一编码集合中的第一编码值;
根据所述第一编码值获取对应的第一格网的坐标;
根据所述编码层级对所述第一格网的位置信息进行移位处理,获取与多尺度的编码值对应的第一格网的位置信息;
根据所述目标三维空间的编码层级获取对应的步进;
根据所述第一格网的位置信息和所述步进获取所述第一格网的顶点坐标。
8.一种三维空间的多尺度整数化编码装置,其特征在于,包括:
获取模块,用于获取目标三维空间的格网数据,所述格网数据为所述目标三维空间的空间数据的载体;
转换模块,用于将所述格网数据中格网的位置信息转换为编码值,形成第一编码集合;
移位模块,用于对所述第一编码集合中的编码值进行移位处理,获取第二编码集合;
处理模块,用于基于所述第二编码集合构建多个层级的编码集合,并将所述多个层级的编码集合合并成所述目标三维空间的多尺度编码集合。
9.一种电子设备,包括:
处理器;以及
被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器执行以下操作:
获取目标三维空间的格网数据,所述格网数据为所述目标三维空间的空间数据的载体;
将所述格网数据中格网的位置信息转换为编码值,形成第一编码集合;
对所述第一编码集合中的编码值进行移位处理,获取第二编码集合;
基于所述第二编码集合构建多个层级的编码集合,并将所述多个层级的编码集合合并成所述目标三维空间的多尺度编码集合。
10.一种计算机可读存储介质,所述计算机可读存储介质存储一个或多个程序,所述一个或多个程序当被包括多个应用程序的电子设备执行时,使得所述电子设备执行以下操作:
获取目标三维空间的格网数据,所述格网数据为所述目标三维空间的空间数据的载体;
将所述格网数据中格网的位置信息转换为编码值,形成第一编码集合;
对所述第一编码集合中的编码值进行移位处理,获取第二编码集合;
基于所述第二编码集合构建多个层级的编码集合,并将所述多个层级的编码集合合并成所述目标三维空间的多尺度编码集合。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710446485.0A CN107341191B (zh) | 2017-06-14 | 2017-06-14 | 一种三维空间的多尺度整数化编码方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710446485.0A CN107341191B (zh) | 2017-06-14 | 2017-06-14 | 一种三维空间的多尺度整数化编码方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107341191A true CN107341191A (zh) | 2017-11-10 |
CN107341191B CN107341191B (zh) | 2020-10-09 |
Family
ID=60221137
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710446485.0A Active CN107341191B (zh) | 2017-06-14 | 2017-06-14 | 一种三维空间的多尺度整数化编码方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107341191B (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108363736A (zh) * | 2018-01-19 | 2018-08-03 | 国家测绘地理信息局第三地形测量队 | 一种线实体的存储方法、装置及存储系统 |
CN110532342A (zh) * | 2019-08-16 | 2019-12-03 | 南京王师大数据有限公司 | 全球空间目标区域位置编码方法及装置 |
CN110909093A (zh) * | 2019-10-11 | 2020-03-24 | 中国人民解放军战略支援部队信息工程大学 | 智慧地标控制网的构建方法及装置 |
CN111078806A (zh) * | 2019-10-12 | 2020-04-28 | 平安科技(深圳)有限公司 | 位置查询方法、装置、计算机设备及存储介质 |
CN111475597A (zh) * | 2020-03-31 | 2020-07-31 | 中国人民解放军战略支援部队信息工程大学 | 非刚性网格编码、空间对象唯一标识、查询方法及装置 |
CN112381901A (zh) * | 2020-11-16 | 2021-02-19 | 北京博能科技股份有限公司 | 一种三维模型更新方法、装置和电子设备 |
CN113298954A (zh) * | 2021-04-13 | 2021-08-24 | 中国人民解放军战略支援部队信息工程大学 | 多维变粒度网格中物体移动轨迹确定、导航的方法和装置 |
CN114049462A (zh) * | 2021-11-09 | 2022-02-15 | 中国人民解放军61646部队 | 一种三维模型单体化方法及装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013022656A3 (en) * | 2011-08-10 | 2014-03-13 | Qualcomm Incorporated | Coding of feature location information |
CN104298740A (zh) * | 2014-10-09 | 2015-01-21 | 清华大学 | 地理位置编码方法 |
US20150261833A1 (en) * | 2014-03-17 | 2015-09-17 | SynerScope B.V. | Data visualization system |
CN105139449A (zh) * | 2015-08-24 | 2015-12-09 | 上海卫高网络科技有限公司 | 一种基于三维网格细分和编码的三维模型压缩方法 |
CN106126486A (zh) * | 2016-06-30 | 2016-11-16 | 童晓冲 | 时间信息编码方法、编码值检索方法、解码方法与装置 |
-
2017
- 2017-06-14 CN CN201710446485.0A patent/CN107341191B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013022656A3 (en) * | 2011-08-10 | 2014-03-13 | Qualcomm Incorporated | Coding of feature location information |
US20150261833A1 (en) * | 2014-03-17 | 2015-09-17 | SynerScope B.V. | Data visualization system |
CN104298740A (zh) * | 2014-10-09 | 2015-01-21 | 清华大学 | 地理位置编码方法 |
CN105139449A (zh) * | 2015-08-24 | 2015-12-09 | 上海卫高网络科技有限公司 | 一种基于三维网格细分和编码的三维模型压缩方法 |
CN106126486A (zh) * | 2016-06-30 | 2016-11-16 | 童晓冲 | 时间信息编码方法、编码值检索方法、解码方法与装置 |
Non-Patent Citations (3)
Title |
---|
李天兰: "三维点云数据的处理与应用", 《中国优秀硕士学位论文全文数据库》 * |
李灿辉: "基于八叉树的三维地质建模与自动绘图技术研究", 《中国优秀硕士学位论文全文数据库》 * |
童晓冲等: "一种有效的多尺度时间段剖分方法与整数编码计算", 《测绘学报》 * |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108363736A (zh) * | 2018-01-19 | 2018-08-03 | 国家测绘地理信息局第三地形测量队 | 一种线实体的存储方法、装置及存储系统 |
CN108363736B (zh) * | 2018-01-19 | 2022-01-25 | 国家测绘地理信息局第三地形测量队 | 一种线实体的存储方法、装置及存储系统 |
CN110532342A (zh) * | 2019-08-16 | 2019-12-03 | 南京王师大数据有限公司 | 全球空间目标区域位置编码方法及装置 |
CN110909093A (zh) * | 2019-10-11 | 2020-03-24 | 中国人民解放军战略支援部队信息工程大学 | 智慧地标控制网的构建方法及装置 |
CN111078806A (zh) * | 2019-10-12 | 2020-04-28 | 平安科技(深圳)有限公司 | 位置查询方法、装置、计算机设备及存储介质 |
CN111078806B (zh) * | 2019-10-12 | 2024-02-02 | 平安科技(深圳)有限公司 | 位置查询方法、装置、计算机设备及存储介质 |
CN111475597A (zh) * | 2020-03-31 | 2020-07-31 | 中国人民解放军战略支援部队信息工程大学 | 非刚性网格编码、空间对象唯一标识、查询方法及装置 |
CN111475597B (zh) * | 2020-03-31 | 2022-11-22 | 中国人民解放军战略支援部队信息工程大学 | 非刚性网格编码、空间对象唯一标识、查询方法及装置 |
CN112381901A (zh) * | 2020-11-16 | 2021-02-19 | 北京博能科技股份有限公司 | 一种三维模型更新方法、装置和电子设备 |
CN113298954A (zh) * | 2021-04-13 | 2021-08-24 | 中国人民解放军战略支援部队信息工程大学 | 多维变粒度网格中物体移动轨迹确定、导航的方法和装置 |
CN114049462A (zh) * | 2021-11-09 | 2022-02-15 | 中国人民解放军61646部队 | 一种三维模型单体化方法及装置 |
CN114049462B (zh) * | 2021-11-09 | 2022-05-10 | 中国人民解放军61646部队 | 一种三维模型单体化方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN107341191B (zh) | 2020-10-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107341191A (zh) | 一种三维空间的多尺度整数化编码方法和装置 | |
CN100428253C (zh) | 基于多步长迷宫算法的模拟集成电路自动布线方法 | |
JP4372477B2 (ja) | 2分木を巡回する方法およびシステム | |
CN106326421B (zh) | 基于索引树和数据链表的fpga并行排序方法及系统 | |
CN101702655A (zh) | 网络拓扑图的布局方法和系统 | |
CN104734954A (zh) | 一种用于软件定义网络的路由确定方法和装置 | |
CN114492782B (zh) | 基于强化学习的神经网络的片上核心编译映射方法及装置 | |
Chen et al. | A hybrid genetic algorithm for VLSI floorplanning | |
CN110363364A (zh) | 一种资源的分配方法、装置及其设备 | |
CN115661396B (zh) | 一种基于全球网格划分的地图要素注记显示方法及系统 | |
CN101661631B (zh) | 基于局部最小生成树的点模型快速无损压缩处理方法 | |
CN111898750A (zh) | 基于进化算法的神经网络模型压缩方法及装置 | |
CN106530702A (zh) | 一种基于交通指数的随机动态网络交通规划方法 | |
Vinay Kumar et al. | Multi-culture diversity based self adaptive particle swarm optimization for optimal floorplanning | |
CN104679966B (zh) | 基于多层次方法和离散粒子群的赋权超图优化划分方法 | |
CN101360242B (zh) | 基于JPEG2000的Tag-tree编码方法 | |
CN105302838B (zh) | 分类方法、查找方法和设备 | |
CN109118586A (zh) | 逻辑地图的数据处理方法、装置、电子设备及存储介质 | |
CN112036573A (zh) | 一种基于中等规模有噪声量子计算机的量子位交互拓扑结构及其映射方法 | |
CN103714384B (zh) | 基于移动模式序列与遗传禁忌的集成电路的布图方法 | |
Jain et al. | Non slicing floorplan representations in VLSI floorplanning: A summary | |
CN108494845A (zh) | 一种基于6D-Torus网络的作业调度方法和装置 | |
CN105373846A (zh) | 基于分级策略的油气集输管网拓扑结构智能优化方法 | |
CN105138711A (zh) | 一种图元索引、检测方法及装置 | |
CN106681795A (zh) | 一种利用节点局部拓扑属性和可利用资源容量值的虚拟网络映射方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right |
Effective date of registration: 20210708 Address after: 450001 No.62, science Avenue, high tech Zone, Zhengzhou City, Henan Province Patentee after: Information Engineering University of the Chinese People's Liberation Army Strategic Support Force Address before: 450052 No.66, Longhai Middle Road, Erqi District, Zhengzhou City, Henan Province Patentee before: Tong Xiaochong |
|
TR01 | Transfer of patent right |