CN111625611A - 地图应用的任务处理、地图构建方法及装置、设备、介质 - Google Patents

地图应用的任务处理、地图构建方法及装置、设备、介质 Download PDF

Info

Publication number
CN111625611A
CN111625611A CN202010450659.2A CN202010450659A CN111625611A CN 111625611 A CN111625611 A CN 111625611A CN 202010450659 A CN202010450659 A CN 202010450659A CN 111625611 A CN111625611 A CN 111625611A
Authority
CN
China
Prior art keywords
data
map
index
empty
target
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.)
Pending
Application number
CN202010450659.2A
Other languages
English (en)
Inventor
周庭竹
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guangdong Oppo Mobile Telecommunications Corp Ltd
Original Assignee
Guangdong Oppo Mobile Telecommunications Corp Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Guangdong Oppo Mobile Telecommunications Corp Ltd filed Critical Guangdong Oppo Mobile Telecommunications Corp Ltd
Priority to CN202010450659.2A priority Critical patent/CN111625611A/zh
Publication of CN111625611A publication Critical patent/CN111625611A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/29Geographical information databases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • G06F16/2246Trees, e.g. B+trees
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • G06F16/2255Hash tables
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2453Query optimisation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computational Linguistics (AREA)
  • Remote Sensing (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请实施例公开了地图应用的任务处理方法、地图构建方法及装置、设备、存储介质,其中,所述地图应用的任务处理方法包括:响应于所述地图应用接收的输入操作,根据输入数据确定查询索引;从已构建的地图数据集的索引子集中,查找与所述查询索引相匹配的目标索引;其中,所述索引子集的索引用于指向对应的地图数据子集的存储地址;根据所述目标索引所指向的目标地图数据子集和所述输入数据,执行所述地图应用当前对应的目标任务。

Description

地图应用的任务处理、地图构建方法及装置、设备、介质
技术领域
本申请实施例涉及计算机视觉技术,涉及但不限于地图应用的任务处理、地图构建方法及装置、设备、介质。
背景技术
体素是用于表示三维空间的体积元素(Volume Pixel)。体素在概念上和像素相似,但是体素用于表示三维空间中的对象,而像素用于表示二维图像中的对象。
如果在三维空间直接表示体素数据结构,会消耗大量的存储资源。目前采用的方法是针对空间体素的特点普遍采用稀疏表示,对真正有数据的体素单位(即非空体素)分配存储资源。例如,在三维空间中建立八叉树,以存储三维空间中非空体素的属性数据,基于这种数据结构进行数据访问。然而,这种数据访问速度较慢。而数据访问速度的快慢,直接影响了地图应用的任务处理速度。
发明内容
本申请实施例提供的地图应用的任务处理、地图构建方法及装置、设备、介质,是这样实现的:
本申请实施例提供的地图应用的任务处理方法,包括:响应于所述地图应用接收的输入操作,根据输入数据确定查询索引;从索引集中查找与所述查询索引相匹配的目标索引;其中,所述索引集的索引用于指向对应的地图数据子集的存储地址;根据所述目标索引所指向的目标地图数据子集和所述输入数据,执行所述地图应用当前对应的目标任务。
本申请实施例提供的地图构建方法,包括:对特定空间进行划分,得到多个子空间;根据非空子空间的属性数据,生成索引集,所述索引集中的索引用于指向对应的非空子空间的地图数据子集的存储地址;在每一所述非空子空间中构建对应的所述地图数据子集。
本申请实施例提供的地图应用的任务处理装置,包括:确定模块,用于响应于所述地图应用接收的输入操作,根据输入数据确定查询索引;查找模块,用于从索引集中查找与所述查询索引相匹配的目标索引;其中,所述索引集的索引用于指向对应的地图数据子集的存储地址;执行模块,用于根据所述目标索引所指向的目标地图数据子集和所述输入数据,执行所述地图应用当前对应的目标任务。
本申请实施例提供的地图构建装置,包括:空间划分模块,用于对特定空间进行划分,得到多个子空间;生成模块,用于根据非空子空间的属性数据,生成索引集,所述索引集中的索引用于指向对应的非空子空间的地图数据子集的存储地址;构建模块,用于在每一所述非空子空间中构建对应的所述地图数据子集。
本申请实施例提供的计算设备,包括存储器和处理器,所述存储器存储有可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现本申请实施例任一所述地图应用的任务处理方法中的步骤,或者,所述处理器执行所述程序时实现本申请实施例任一所述地图构建方法中的步骤。
本申请实施例提供的计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现本申请实施例任一所述地图应用的任务处理方法中的步骤,或者,该计算机程序被处理器执行时实现本申请实施例任一所述地图构建方法中的步骤。
在本申请实施例提供的地图应用的任务处理方法中,响应于地图应用接收的输入操作,根据输入数据确定查询索引;首先,从索引集中查找与查询哈希值相匹配的目标索引;然后,根据目标索引所指向的目标地图数据子集和所述输入数据,执行地图应用当前对应的目标任务;相比于直接根据输入数据,从预先构建的地图数据集中查找与目标任务相关的数据,来完成目标任务,前者能够缩小数据查找范围,即从目标地图数据子集中查找,如此能够提高数据访问速度,进而提高地图应用的任务处理速度。
附图说明
图1为本申请实施例地图应用的任务处理方法的实现流程示意图;
图2为本申请实施例数据结构的示意图;
图3为本申请实施例八叉树划分示意图;
图4为本申请实施例空间区块的示意图;
图5A为本申请实施例另一地图应用的任务处理方法的实现流程示意图;
图5B为本申请实施例查找属性数据集的实现流程示意图;
图6A为本申请实施例地图构建方法的实现流程示意图;
图6B为本申请实施例构建地图数据子集的实现流程示意图;
图7为本申请实施例数据结构构建方法的实现流程示意图;
图8为本申请实施例地图应用的数据访问方法的实现流程示意图;
图9为本申请实施例动态索引层级树数据结构的示意图;
图10为本申请实施例地图应用的任务处理装置的结构示意图;
图11为本申请实施例地图构建装置的结构示意图;
图12为本申请实施例计算设备的一种硬件实体示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请的具体技术方案做进一步详细描述。以下实施例用于说明本申请,但不用来限制本申请的范围。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本申请实施例的目的,不是旨在限制本申请。
在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
需要指出,本申请实施例所涉及的术语“第一\第二\第三”仅仅是是区别类似或不同的对象,不代表针对对象的特定排序,可以理解地,“第一\第二\第三”在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本申请实施例能够以除了在这里图示或描述的以外的顺序实施。
本申请实施例提供一种地图应用的任务处理方法,所述方法可以应用于计算设备,所述计算设备可以是服务器、移动终端、平板电脑、台式计算机、机器人、无人机等具有数据处理能力的设备。所述地图应用的任务处理方法所实现的功能可以通过所述计算设备中的处理器调用程序代码来实现,当然程序代码可以保存在计算机存储介质中,可见,所述计算设备至少包括处理器和存储介质。
图1为本申请实施例地图应用的任务处理方法的实现流程示意图,如图1所示,所述方法可以包括以下步骤101至步骤103:
步骤101,响应于所述地图应用接收的输入操作,根据输入数据确定查询索引。
可以理解地,不同的地图应用,接收的输入操作和对应的输入数据可能是不同的。例如,地图应用为定位应用时,接收的输入操作为拍摄操作,例如用户通过手机对当前所在物理场景进行拍摄,对应地,手机获得的输入数据为手机当前拍摄的图像。在一些实施例中,计算设备根据输入数据(即当前图像)确定查询索引,包括:计算设备对当前图像进行语义识别,得到语义标签;然后,将该语义标签生成查询哈希。其中,语义标签表征的是当前图像中的对象类型或者文本内容等。
再如,地图应用为AR应用,接收的输入操作仍然为拍摄操作,对应的输入数据仍然为图像帧,在AR应用中,计算设备可以根据当前输入的图像帧进行遮挡处理。在一些实施例中,计算设备根据输入数据(即图像帧)确定查询索引,包括:计算设备确定该图像帧的视场范围;然后,对该视场范围生成查询哈希。在另一示例中,用户可以点击地图应用的地图界面的某个位置,指示计算设备在该位置的后面放一个物体,那么,计算设备接收的输入操作为点击操作,对应的输入数据为点击操作对应的地图界面上的位置点所对应的物理空间坐标。
又如,地图应用为具有导航功能的应用,接收的输入操作为用户输入的起始位置和目标位置,对应的输入数据为起始位置和目标位置的信息。在一些实施例中,计算设备可以根据用户输入的这些信息,确定查询哈希。
步骤102,从索引集中查找与所述查询索引相匹配的目标索引;其中,所述索引集的索引用于指向对应的地图数据子集的存储地址。
可以理解地,索引集中包括一个或多个索引,每一索引用于指向对应的地图数据子集的存储地址。可见,地图应用中包括一个或多个地图数据子集。地图数据子集用于描述对应的非空子空间中非空体素的属性数据的空间分布和存储属性数据。
步骤103,根据所述目标索引所指向的目标地图数据子集和所述输入数据,执行所述地图应用当前对应的目标任务。
可以理解地,不同的地图应用对应的目标任务可能是不同的。例如,在地图应用为具有定位功能的应用时,对应的目标任务可以是对用户手持设备进行定位;再如,在AR应用中,对应的目标任务可能是对用户指示的某个位置处做遮挡处理;又如,在地图应用为具有导航功能的应用时,对应的目标任务可以是进行路径规划,在用户输入的起始位置和目标位置之间寻找最优路径。
在本申请实施例中,计算设备在响应于所述地图应用接收的输入操作时,首先,根据输入数据确定查询索引;然后,从索引集中查找与所述查询索引相匹配的目标索引;最后,根据目标索引所指向的目标地图数据子集和所述输入数据,执行所述地图应用当前对应的目标任务。相比于根据输入数据直接在表示整个特定空间的数据结构中查找任务处理所需的数据,在本申请实施例中,计算设备先确定与输入数据相匹配的目标索引,然后从目标索引所指向的地图数据子集中查找任务处理所需的数据,这种方式能够提高数据访问的速度,进而提高地图应用的任务处理速度。
为了便于对以下实施例的理解,本申请实施例先提供一种特定的数据结构,所述特定数据结构用于存储特定空间中非空体素的属性数据,图2为本申请实施例数据结构的示意图,如图2所示,数据结构20可以包括:哈希索引表21、分支树结构221至22L和特定大小的内存块231至23P,L和P为大于或等于2的整数;其中,
哈希索引表21,表示的是所述索引集,包括哈希索引211至哈希索引21L,哈希索引用于指向特定空间的非空子空间所对应的分支树结构的存储地址。
在实现时,计算设备可以按照特定的规则将特定空间划分为多个子空间;然后,根据非空子空间的空间标识,生成哈希索引表。其中,空间标识可以是该空间包含的语义标签、视场范围、物理位置范围和/或位置坐标。其中,位置坐标,例如,通过该子空间的中心点坐标来表征。
一个分支树结构和该结构的叶子节点指向的内存块,用于表示地图数据子集;也即,地图数据子集包括一分支树结构和对应的内存块。其中,所述分支树结构,用于描述所述非空子空间中非空体素的属性数据的空间分布;所述分支树结构的叶子节点用于指向所述内存块的存储地址;所述内存块,用于存储所述叶子节点对应的空间区块中非空体素的属性数据。
可以理解地,非空子空间指的是目标对象集合(例如一个或多个三维物体)的部分或全部所在的空间。体素是描述三维空间最小的单位,非空体素指的是目标对象的部分或全部所在的空间。对于非空体素的属性数据不做限定。对于属性数据包括的内容不做限定,与实际应用有关。例如,非空体素的属性数据可以包括以下至少之一:该非空体素到目标对象最近表面的距离、颜色、纹理、表面法线、空间位置信息。
在一些实施例中,分支树结构可以为M叉树,M为大于或等于2的偶数。举例来说,分支树结构为八叉树结构,在某一非空子空间中构建八叉树,得到的八叉树结构如图3所示,其中,节点31表示的该非空子空间32,该节点存储用于指向下一层节点的信息。节点311表示的是非空的孙子空间312,即,对非空子空间32划分为8个孙子空间后,目标对象集合的部分所在的空间。对于空的孙子空间,则结束对该空间的进一步的划分;对非空的孙子空间进行进一步的划分,划分为8个重孙子空间;如此可以实现特定空间的稀疏表示。
在实现时,开发人员可以根据具体需求来设计分支树结构的层级数目。例如,如果对体素应用的精度需求高于对数据访问速度的需求,则可以将层级数目(也就是空间划分的截止条件)设置的较大些,例如设置为6级;如果对体素应用的精度需求低于对数据访问速度的需求,则可以将层级数目设置的较小些,例如设置为3级。
内存块331至33P,分别用于存储相应叶子节点对应的空间区块中所述非空体素的属性数据。
在一些实施例中,内存块用于按照所述空间区块中多个非空体素之间的邻域相关性,线性存储所述多个非空体素的属性数据。
可以理解地,邻域相关性,指的是非空体素在空间位置上的相邻性。也即,按照空间区块中多个非空体素的空间位置,线性存储多个非空体素的属性数据。举例来说,如图4所示,空间区块40中具有2*2*2个非空体素,内存块可以依次存储体素41、42、43、44、45、46、47、48的属性数据。当然,该示例仅仅是举例线性存储的一种实现方式,并不用于限定线性存储的实现方法的多样性,对于线性存储的顺序可以是多种多样的。其目的是为了保证存储器的高效缓存效果和高效的数据访问速度。
内存块的存储大小为N×N×N个体素单元,N为大于或等于2的整数,例如,N=8。当然,在实现时,内存块之间也可以是连续的,连续的两个内存块存储的是在空间位置上距离最近的两个空间区块中非空体素的属性数据。
在本申请实施例中,用于存储特定空间中非空体素的属性数据的数据结构的顶层采用哈希索引表表示,底层使用连续的内存块存储非空体素的属性数据,中间层采用分支树结构来作为顶层表与底层块之间的过渡结构,而不是整个数据结构仅仅用树状结构来表示特定空间,也不是整个数据结构仅仅用哈希索引表来表示特定空间中的每一非空体素;如此,既保留了哈希索引表方法的性能优势,也充分利用了树状结构的空间分布信息。
一方面,由于中间层采用树状结构,而不是整个数据结构仅采用哈希索引表来表示特定空间中的海量非空体素,这样就大大减少了哈希索引的数目,从而极大地降低了哈希键值冲突的概率;
另一方面,顶层采用时间复杂度较低的哈希索引表来表示多个子空间,因此可以快速查找到待取数据所属的目标树,从而提高数据的访问速度,进而提高地图应用的任务处理速度,对于用户体验会得到大大提升;
并且,相对于特定空间来讲,中间层的分支树结构是基于较小子空间而构建的,而不是基于特定空间构建得到的。因此,层级深度较小,通常为1至3级,这样可以减少计算设备在对目标树进行搜索时的跳转次数,从而进一步提高数据的访问速度,进而提高地图应用的任务处理速度。
又一方面,底层数据结构采用固定大小的连续内存块,这样可以充分利用现代计算机的高速缓冲存储器(cache)的缓存性能,使得该数据结构能够满足高速访问周围体素的性能需求。
基于此,本申请实施例再提供一种地图应用的任务处理方法,图5A为本申请实施例另一地图应用的任务处理方法的实现流程示意图,如图5A所示,所述方法可以包括以下步骤501至步骤504:
步骤501,响应于所述地图应用接收的输入操作,根据输入数据确定查询索引;
步骤502,从索引集中查找与所述查询索引相匹配的目标索引;其中,所述索引集的索引用于指向对应的地图数据子集的存储地址;
步骤503,从所述目标索引所指向的目标地图数据子集中,查找与所述输入数据对应的属性数据集。
可以理解地,在索引集通过哈希索引表表示的情况下,计算设备响应于地图应用接收的输入操作,为了完成任务处理,在进行数据访问时,先进行哈希查询,由于哈希表查询的平均时间复杂度为O(1),因此能够快速查找到输入数据所属的目标树,即目标地图数据子集,进而通过访问较少的树层级,即可找到输入数据对应的属性数据集。
步骤504,根据所述属性数据集和所述输入数据,执行所述地图应用当前对应的目标任务。
在一些实施例中,对于上述步骤503,从所述目标索引所指向的目标地图数据子集中,查找与所述输入数据对应的属性数据集,如图5B所示,电子设备可以通过如下步骤5031和步骤5032实现:
步骤5031,从所述目标地图数据子集中,搜索出与所述输入数据相匹配的目标叶子节点;
步骤5032,从所述特定数据结构中,获取所述目标叶子节点指向的内存块所存储的所述属性数据集。
以地图数据子集通过一分支树和对应的内存块为例,可以理解地,哈希索引表表示的是对特定空间划分后的多个子空间中的非空子空间,这样使得非空子空间对应的树状结构的层级深度较小,进而在对目标地图数据子集进行搜索时,通过跳转较少次数搜索出待取数据所属的叶子节点,访问速度明显得到提升。
一般来说,在树结构中,每一节点存储了该节点对应的空间范围和指向下一层级节点的指针。这样,在搜索时,如果输入数据包括的空间坐标属于某一叶子节点指示的空间范围,则可确定该坐标与该叶子节点相匹配。
本申请实施例提供一种地图构建方法,所述方法可以应用于计算设备,所述计算设备可以是服务器、移动终端、平板电脑、台式计算机、机器人、无人机等具有地图应用的任务处理、存储能力和数据存储能力的设备。所述地图构建方法所实现的功能可以通过所述计算设备中的处理器调用程序代码来实现,当然程序代码可以保存在计算机存储介质中,可见,所述计算设备至少包括处理器和存储介质。
图6A为本申请实施例地图构建方法的实现流程示意图,如图6A所示,所述方法至少包括以下步骤601至步骤603:
步骤601,对特定空间进行划分,得到多个子空间;
可以理解地,所述多个子空间包括至少一个非空子空间。所述多个子空间可能包括空的子空间,也可能不包括。特定空间包括待表示的目标对象集合(例如一个或多个三维物体)。
步骤602,根据非空子空间的空间标识,生成索引集,所述索引集中的索引用于指向对应的非空子空间的地图数据子集的存储地址,所述地图数据子集用于描述所述非空子空间中非空体素的属性数据的空间分布和存储属性数据。
在一些实施例中,索引集为哈希索引表,哈希索引表中的哈希索引用于指向所述特定数据结构中对应的非空子空间的分支树结构,分支树结构的叶子节点用于指向内存块,内存块用于存储多个非空体素的属性数据。也即,地图数据子集通过一分支树结构和多个内存块表示。
可以理解地,由于生成的哈希索引表中的哈希索引表示的是非空子空间,而不是特定空间中的海量非空体素,这样就大大减少了哈希索引表的哈希索引项,从而极大地降低了哈希键值冲突的可能性。
步骤603,在每一所述非空子空间中构建对应的所述地图数据子集。
举例来说,计算设备可以在每一所述非空子空间中构建对应的所述分支树结构,利用所述分支树结构的叶子节点在所述特定数据结构中所指向的内存块,存储对应空间区块中所述非空体素的属性数据,从而完成对应非空子空间的地图数据子集的构建。
在实现时,内存块的大小可以是固定的。例如,内存块的大小为N为大于或等于2的整数,例如,N=8。内存块的大小还可以是动态可变的,例如根据空间区块中属性数据的大小来动态配置内存块的大小。
在本申请实施例提供的地图构建方法中,对特定空间进行划分,得到多个子空间;根据非空子空间的空间标识,生成索引集;在每一所述非空子空间中构建对应的所述地图数据子集;如此,能够减少地图数据子集的数据量,从而在计算设备获取所需数据时,缩小数据查找范围,进而提高数据访问速度。
在一些实施例中,所述索引集和所述地图数据子集属于具有特定数据结构的地图数据集,所述索引集为一哈希索引表,所述地图数据子集为一分支树结构,所述地图数据集为一特定的数据结构;相应地,对于步骤603,在每一所述非空子空间中构建对应的所述地图数据子集,如图6B所示,计算设备可以通过如下步骤6031和步骤6032实现:
步骤6031,在每一所述非空子空间中构建对应的分支树结构。
可以理解地,特定数据结构的顶层采用哈希索引表来表示划分后的多个子空间,使得计算设备在较小的子空间中构建分支树结构,而不是在特定空间这样一个较大空间中构建一个树状结构,这样可以减少分支树结构的层级深度,从而减少计算设备在进行数据访问时的跳转次数,提高数据访问速度,进而提高地图应用的任务处理速度,提升用户体验。
步骤6032,利用每一所述分支树结构的叶子节点在所述特定数据结构中所指向的内存块,存储对应空间区块中非空体素的属性数据,从而完成对应地图数据子集的构建。
在实现步骤6032时,计算设备可以按照所述叶子节点对应的空间区块中多个非空体素之间的邻域相关性,在所述叶子节点在所述特定数据结构中所指向的内存块中,线性存储所述多个非空体素的属性数据。
可以理解地,邻域相关性,指的是非空体素在空间位置上的相邻性。也即,按照空间区块中多个非空体素的空间位置,线性存储多个非空体素的属性数据。内存块的存储大小为N×N×N个体素单元,N为大于或等于2的整数,例如,N=8。当然,在实现时,内存块之间也可以是连续的,连续的两个内存块存储的是在空间位置上距离最近的两个空间区块中非空体素的属性数据。
这样,底层数据结构采用固定大小的连续内存块,且内存块在存储数据时线性存储多个非空体素的属性数据;如此,可以充分利用现代计算机的高速缓冲存储器(cache)的缓存性能,使得所述存储方法能够满足高速访问周围体素的性能需求。
需要说明的是,所述索引集和每一所述地图数据子集属于具有特定数据结构的地图数据集,其中,图7为本申请实施例特定数据结构的构建方法的实现流程示意图,如图7所示,所述方法至少包括以下步骤701至步骤704:
步骤701,对特定空间进行划分,得到多个子空间。
可以理解地,所述多个子空间包括至少一个非空子空间。所述多个子空间可能包括空的子空间,也可能不包括。特定空间包括待表示的目标对象集合(例如一个或多个三维物体)。
步骤702,根据非空子空间的空间标识,生成所述特定数据结构的哈希索引表,所述哈希索引表中的哈希索引用于指向所述特定数据结构中对应的非空子空间的分支树结构,所述分支树结构用于描述所述非空子空间中非空体素的属性数据的空间分布。
由于生成的哈希索引表中的哈希索引表示的是非空子空间,而不是特定空间中的海量非空体素,这样就大大减少了哈希索引表的哈希索引项,从而极大地降低了哈希键值冲突的可能性。
可以理解地,非空子空间指的是目标对象集合的部分或全部所在的空间。体素是描述三维空间最小的单位,非空体素指的是目标对象的部分或全部所在的空间。对于非空体素的属性数据不做限定。例如,属性数据可以包括以下至少之一:该体素到目标对象最近表面的距离、颜色、纹理、表面法线。
数据结构的应用领域不同,对应的非空子空间的空间标识可能也是不同的。例如,数据结构应用于具有定位功能的地图应用中,空间标识可以是该空间包含的语义标签;再如,数据结构应用于具有导航功能的地图应用中,空间标识可以是该空间的物理位置范围;又如,数据结构应用于AR应用中,空间标识可以是该空间的视场范围。
步骤703,在每一所述非空子空间中构建对应的所述分支树结构,每一分支树结构用于描述对应的非空子空间中非空体素的属性数据的空间分布。
可以理解地,数据结构的顶层采用哈希索引表来表示划分后的多个子空间,使得计算设备在较小的子空间中构建分支树结构,而不是在特定空间这样一个较大空间中构建一个树状结构,这样可以减少分支树结构的层级深度,从而减少计算设备在进行数据访问时的跳转次数,进而提高数据访问速度。
步骤704,利用所述分支树结构的叶子节点在所述特定数据结构中所指向的内存块,存储对应空间区块中所述非空体素的属性数据。
在实现时,内存块的大小可以是固定的。例如,内存块的大小为N为大于或等于2的整数,例如,N=8。内存块的大小还可以是动态可变的,例如根据空间区块中属性数据的大小来动态配置内存块的大小。
在本申请实施例中,提供一种数据结构的构建方法,在该方法中,对特定空间进行划分,得到多个子空间;然后根据非空子空间的空间标识,生成哈希索引表;在哈希索引所指向的非空子空间中构建分支树结构,在分支树结构的叶子节点所指向的内存块中,存储对应空间区块中非空体素的属性数据;
如此,使得构建的数据结构不是仅包含树状结构,而是顶层采用哈希索引表表示特定空间的多个子空间,中间层采用树状结构来表示对应的非空子空间中非空体素的属性数据的空间分布;这样,第一,可以减少树状结构的层级深度,从而在计算设备获取数据时减少跳转次数,提高数据访问速度,进而提高地图应用的任务处理速度,提升用户体验;第二,由于顶层采用时间复杂度较低的哈希索引表来表示多个子空间,因此可以快速查找到待取数据所属的目标树,从而进一步提高数据的访问速度,进而提高地图应用的任务处理速度;第三,由于中间层采用树状结构,而不是整个数据结构仅采用哈希索引表来表示特定空间中的每一非空体素,这样就大大减少了哈希索引的数目,从而极大地降低了哈希键值冲突的概率。
基于前述实施例提供的数据结构和数据结构的构建方法,相应地,本申请实施例提供一种地图应用中的数据访问方法,所述方法可以应用于所述计算设备,所述计算设备可以是服务器、移动终端、平板电脑、台式计算机、机器人、无人机等具有地图应用的任务处理、存储能力和数据存储能力的设备。所述数据访问的方法所实现的功能可以通过所述计算设备中的处理器调用程序代码来实现,当然程序代码可以保存在计算机存储介质中,可见,所述计算设备至少包括处理器和存储介质。
图8为本申请实施例数据访问方法的实现流程示意图,如图8所示,所述方法可以包括以下步骤801至步骤805:
步骤801,根据输入数据在特定空间中的坐标,确定查询哈希值。
在一些实施例中,计算设备可以根据所述输入数据在所述特定空间中的坐标,确定所述输入数据所属的目标子空间;根据所述目标子空间的空间标识,确定所述查询哈希值。
例如,通过哈希函数对目标子空间的空间标识进行计算,从而得到查询哈希值。
步骤802,在数据结构的哈希索引表中查找与所述查询哈希值相匹配的目标索引,所述特定数据结构用于存储所述特定空间中非空体素的属性数据。
计算设备在进行数据访问时,先进行哈希查询,由于哈希表查询的平均时间复杂度为O(1),因此能够快速查找到待取数据所属的目标树。
步骤803,确定所述目标索引在所述特定数据结构中指向的目标树。
数据结构的顶层采用哈希索引表,中间层包括至少一个分支树结构,底层包括多个内存块;所以,这里的目标树指的是目标索引所指向的分支树结构。所述分支树结构用于描述对应的子空间中非空体素的属性数据的空间分布。
步骤804,从所述目标树中,搜索出与所述待取数据的坐标相匹配的叶子节点。
可以理解地,哈希索引表表示的是对特定空间划分后的多个子空间中的非空子空间,这样使得非空子空间对应的树状结构的层级深度较小,进而在对目标树进行搜索时,通过跳转较少次数搜索出待取数据所属的叶子节点,访问速度明显得到提升。
一般来说,在树结构中,每一节点存储了该节点对应的空间范围和指向下一层级节点的指针。这样,在搜索时,如果待取数据的坐标属于某一叶子节点指示的空间范围,则确定该坐标与该叶子节点相匹配。
步骤805,从所述特定数据结构中,获取所述叶子节点指向的内存块所存储的体素数据,即所述属性数据集。
相关技术中,数据访问速度受限于树状结构的层级深度。例如,一个分辨率的层级树至少需要13级深度。也就是说,从树根开始访问至底层体素数据需要跳转13次。显然,这样无法满足快速访问数据的需求。
而在本申请实施例中,根据输入数据在特定空间中的坐标,确定查询哈希值;首先,在数据结构的哈希索引表中查找与所述查询哈希值相匹配的目标索引;然后,从所述目标索引所指向的目标树中,搜索出与所述待取数据的坐标相匹配的叶子节点;从所述特定数据结构中,获取所述叶子节点指向的内存块所存储的所述属性数据;如此,先进行哈希查找,快速找到目标树,然后对目标树进行搜索,这样能够较大程度地提高数据访问速度。
可以理解地,之所以能够较大程度地提高数据访问速度,是因为在数据结构的顶层采用了哈希索引表方法表示特定空间包括的子空间,而不是直接用树结构来表示整个特定空间,这样可以减少中间层的分支树结构的层级数目,从而降低了数据访问时的跳转次数,并且哈希查找具有较低的时间复杂度,进一步提高了数据访问速度。
如果在三维空间直接表示体素数据结构,会消耗大量的存储资源,并且无法有效扩展三维空间。因此,针对空间体素的特点普遍采用稀疏表示,只对真正有数据的体素单位才分配存储资源。如何在不牺牲性能的同时,尽量地减少存储消耗,是各种稀疏结构表示方法的设计重点。
相关的稀疏体素数据结构表示方法,无法同时兼顾体素分辨率、存取访问性能和存储空间消耗,并且无法满足理论上的无限空间扩展功能。
基于此,下面将说明本申请实施例在一个实际的应用场景中的示例性应用。
本申请实施例采用一种动态索引层级树数据结构来表示空间中非空体素的属性数据。在该数据结构中,底层采用连续内存块存储体素数据,顶层采用哈希索引表方法表示,中间层级可以动态配置多层树状结构。如此,既保留了索引表方法的性能优势,也充分利用了树状结构的空间分布信息,同时具有高速缓存性能和理论上无限扩展性。
图9为本申请实施例动态索引层级树数据结构的示意图,该数据结构90用于稀疏表示空间体素数据。其中,节点91、92和93表示的是分别对应的非空子空间,节点94等空白方框表示的是对应的空的子空间。黑色块的中间节点911等表示的是对应的非空孙子空间,白色方框的中间节点931等表示的是对应的空的孙子空间;白色方框的节点9111等表示的是对应的空空间区块,黑色块的节点9311等表示的是对应的非空空间区块。
具体实现方案如下:
(1)使用存储大小为N×N×N个体素单元的连续内存块作为底层数据结构。N×N×N个体素单元是空间区块内连续的体素单元。在一示例中,N=8,如此可以保证有效的cache缓存效果。在实现时,如说明性算法1所示出的。
算法1
Class LeafNode{
Value mBlockValues[N×N×N];
}
(2)使用分支树结构实现中间节点。中间节点作为顶层表和底层块之间的过渡结构,可以建立多个中间层级。中间节点既可以指向子节点或者内存块,也可以直接存储数据信息。在实现时,如说明性算法2所示出的。
算法2
Class InternalNode{
Union InternalData{
Child*child;
Value value;
}mChildren[sSize];
Int mX,mY,mZ;
}
(3)顶层使用哈希索引表(hash map)来建立,指向对应的中间节点或者内存块。在实现时,如说明性算法3所示出的。
算法3
Class RootNode{
Struct RootData{
Child*child;
};
Hash_map<RootKey,RootData,HashFunc>mRootMap;
}
在本申请实施例中,使用多级级联方式灵活配置数据结构。体素单元的数据可以存储于底层连续的内存块中,且内存块的大小为N×N×N个体素单元。顶层的数据结构采用索引表,顶层访问的起点采用索引表查找方法。而顶层和底层之间的中间层级则可灵活动态配置,可以是多层中间节点级联表示,也可以没有中间节点作为层级。中间层级的大小,可以根据体素应用的精度和速度需求进行针对性的设计。
在本申请实施例中,动态索引层级树数据结构可以同时兼顾体素分辨率精度、访问操作性能和存储空间消耗,并且具有理论上的无限空间扩展可能。如此,为体素应用提供了灵活动态的数据结构表示方法。
考虑到大多数体素应用(如三维重建应用)的体素分布往往具有空间连续性,有效体素数据的周围往往也会存在有效体素,有效体素即为非空体素。底层数据结构采用固定大小的连续内存块,也可以充分利用现代计算机的cache缓存性能,使其具有高速访问周围体素的性能需求。
顶层根部采用哈希索引表方法表示,如此可以保证体素空间分布的灵活性。既利用了哈希表查找的速度性能优势,同时多级分层设计也减少了哈希索引表的数据负载,极大降低了哈希键值冲突的可能性。同时,顶层采用索引表的方法表示,也可以满足理论上的无限空间扩展功能,使其数据结构具有更大的应用普适性。
中间层级采用可动态配置的树状结构,可以充分利用树状结构的空间查找优势,保留了体素数据的空间分布信息,可以提升空间范围内体素相互操作的性能。多层树状结构的使用可以动态配置不同的空间分辨率,在保证存储空间有效分配的同时,满足了体素精度的应用需求。
在本申请实施例中,动态索引层级树数据结构可以满足不同体素空间分布特性的需求,无论是空间离散分布,亦或空间密集连续分布,甚至空间随机分布,均能够获得较优的操作性能和较低的内存消耗。如此,为三维扫描重建、体素二值构造运算、体素形变、体素与网格的相互转换等应用提供了灵活、全面、兼顾的数据结构解决方案。
基于前述的实施例,本申请实施例提供一种地图应用的任务处理装置和地图构建装置,所述装置包括所包括的各模块、以及各模块所包括的各单元,可以通过计算设备中的处理器来实现;当然也可通过具体的逻辑电路实现;在实施的过程中,处理器可以为中央处理器(CPU)、微处理器(MPU)、数字信号处理器(DSP)或现场可编程门阵列(FPGA)等。
图10为本申请实施例地图应用的任务处理装置的结构示意图,如图10所示,所述装置100包括确定模块101、查找模块102和执行模块103;其中,
确定模块101,用于响应于所述地图应用接收的输入操作,根据输入数据确定查询索引;
查找模块102,用于从索引集中查找与所述查询索引相匹配的目标索引;其中,所述索引集的索引用于指向对应的地图数据子集的存储地址;
执行模块103,用于根据所述目标索引所指向的目标地图数据子集和所述输入数据,执行所述地图应用当前对应的目标任务。
在一些实施例中,执行模块103,用于:从所述目标地图数据子集中,查找与所述输入数据对应的属性数据集;根据所述属性数据集和所述输入数据,执行所述地图应用当前对应的目标任务。
在一些实施例中,所述索引集和所述地图数据子集属于具有特定数据结构的地图数据集,所述特定数据结构包括:哈希索引表、多个分支树结构和多个特定大小的内存块;其中,所述哈希索引表,用于表示所述索引集,包括多项哈希索引,所述哈希索引用于指向所述特定空间的非空子空间所对应的分支树结构的存储地址;所述分支树结构和所述内存块,用于表示所述地图数据子集;其中,所述分支树结构,用于描述所述非空子空间中非空体素的属性数据的空间分布;所述分支树结构的叶子节点用于指向所述内存块的存储地址;所述内存块,用于存储所述叶子节点对应的空间区块中非空体素的属性数据。
在一些实施例中,查找模块102,用于:从所述目标地图数据子集中,搜索出与所述输入数据相匹配的目标叶子节点;从所述特定数据结构中,获取所述目标叶子节点指向的内存块所存储的所述属性数据集。
在一些实施例中,所述内存块,用于按照所述空间区块中多个非空体素之间的邻域相关性,线性存储所述多个非空体素的属性数据。
图11为本申请实施例地图构建装置的结构示意图,如图11所示,所述装置110包括:空间划分模块111、生成模块112和构建模块113;其中,
空间划分模块111,用于对特定空间进行划分,得到多个子空间;
生成模块112,用于根据非空子空间的属性数据,生成索引集,所述索引集中的索引用于指向对应的非空子空间的地图数据子集的存储地址;
构建模块113,用于在每一所述非空子空间中构建对应的所述地图数据子集。
在一些实施例中,所述索引集和所述地图数据子集属于具有特定数据结构的地图数据集,所述索引集为一哈希索引表,所述地图数据子集为一分支树结构,所述地图数据集为一特定的数据结构;构建模块113,用于:在每一所述非空子空间中构建对应的分支树结构;利用每一所述分支树结构的叶子节点在所述特定数据结构中所指向的内存块,存储对应空间区块中非空体素的属性数据,从而完成对应地图数据子集的构建。
在一些实施例中,构建模块113,用于:按照所述叶子节点对应的空间区块中多个非空体素之间的邻域相关性,在所述叶子节点在所述特定数据结构中所指向的内存块中,线性存储所述多个非空体素的属性数据。
以上装置实施例的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果。对于本申请装置实施例中未披露的技术细节,请参照本申请方法实施例的描述而理解。
需要说明的是,本申请实施例中,如果以软件功能模块的形式实现上述的地图应用的任务处理方法和数据结构构建方法,两种方法在分别或共同作为独立的产品销售或使用时,也可以存储在计算机可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得计算设备(可以是服务器、移动终端、平板电脑、台式计算机、机器人、无人机等)执行本申请各个实施例所述方法的全部或部分。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read Only Memory,ROM)、磁碟或者光盘等各种可以存储程序代码的介质。这样,本申请实施例不限制于任何特定的硬件和软件结合。
对应地,本申请实施例提供一种计算设备,图12为本申请实施例计算设备的一种硬件实体示意图,如图12所示,该计算设备120的硬件实体包括:包括存储器121和处理器122,所述存储器121存储有可在处理器122上运行的计算机程序,所述处理器122执行所述程序时实现上述实施例中提供的地图应用的任务处理方法中的步骤,或者,所述处理器122执行所述程序时实现上述实施例中提供的数据结构构建方法中的步骤。
存储器121用于存储由处理器122可执行的指令和应用,还可以缓存待处理器122以及计算设备120中各模块待处理或已经处理的数据(例如,图像数据、音频数据、语音通信数据和视频通信数据),可以通过闪存(FLASH)或随机访问存储器(Random Access Memory,RAM)实现。
对应地,本申请实施例提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述实施例中提供的地图应用的任务处理方法中的步骤,或者,该计算机程序被处理器执行时实现上述实施例中提供的数据结构构建方法中的步骤。
这里需要指出的是:以上存储介质和设备实施例的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果。对于本申请存储介质和设备实施例中未披露的技术细节,请参照本申请方法实施例的描述而理解。
应理解,说明书通篇中提到的“一个实施例”或“一实施例”或者“一些实施例”意味着与实施例有关的特定特征、结构或特性包括在本申请的至少一个实施例中。因此,在整个说明书各处出现的“在一个实施例中”或“在一实施例中”或“在一个示例中”或“在另一个示例中”未必一定指相同的实施例或相同的示例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。应理解,在本申请的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。
上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元;既可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。
另外,在本申请各实施例中的各功能单元可以全部集成在一个处理单元中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、只读存储器(Read Only Memory,ROM)、磁碟或者光盘等各种可以存储程序代码的介质。
或者,本申请上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得计算设备(可以是服务器、移动终端、平板电脑、台式计算机、机器人、无人机等)执行本申请各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、ROM、磁碟或者光盘等各种可以存储程序代码的介质。
本申请所提供的几个方法实施例中所揭露的方法,在不冲突的情况下可以任意组合,得到新的方法实施例。
本申请所提供的几个产品实施例中所揭露的特征,在不冲突的情况下可以任意组合,得到新的产品实施例。
本申请所提供的几个方法或设备实施例中所揭露的特征,在不冲突的情况下可以任意组合,得到新的方法实施例或设备实施例。
以上所述,仅为本申请的实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

Claims (12)

1.地图应用的任务处理方法,其特征在于,所述方法包括:
响应于所述地图应用接收的输入操作,根据输入数据确定查询索引;
从索引集中查找与所述查询索引相匹配的目标索引;其中,所述索引集的索引用于指向对应的地图数据子集的存储地址;
根据所述目标索引所指向的目标地图数据子集和所述输入数据,执行所述地图应用当前对应的目标任务。
2.根据权利要求1所述的方法,其特征在于,所述根据所述目标索引所指向的目标地图数据子集和所述输入数据,执行所述地图应用当前对应的目标任务,包括:
从所述目标地图数据子集中,查找与所述输入数据对应的属性数据集;
根据所述属性数据集和所述输入数据,执行所述地图应用当前对应的目标任务。
3.根据权利要求2所述的方法,其特征在于,所述索引集和所述地图数据子集属于具有特定数据结构的地图数据集,所述特定数据结构包括:哈希索引表、多个分支树结构和多个特定大小的内存块;其中,
所述哈希索引表,用于表示所述索引集,包括多项哈希索引,所述哈希索引用于指向所述特定空间的非空子空间所对应的分支树结构的存储地址;
所述分支树结构和所述内存块,用于表示所述地图数据子集;其中,所述分支树结构,用于描述所述非空子空间中非空体素的属性数据的空间分布;所述分支树结构的叶子节点用于指向所述内存块的存储地址;
所述内存块,用于存储所述叶子节点对应的空间区块中非空体素的属性数据。
4.根据权利要求3所述的方法,其特征在于,所述从所述目标地图数据子集中,查找与所述输入数据对应的属性数据集,包括:
从所述目标地图数据子集中,搜索出与所述输入数据相匹配的目标叶子节点;
从所述特定数据结构中,获取所述目标叶子节点指向的内存块所存储的所述属性数据集。
5.根据权利要求3所述的方法,其特征在于,所述内存块,用于按照所述空间区块中多个非空体素之间的邻域相关性,线性存储所述多个非空体素的属性数据。
6.地图构建方法,其特征在于,所述方法包括:
对特定空间进行划分,得到多个子空间;
根据非空子空间的空间标识,生成索引集,所述索引集中的索引用于指向对应的非空子空间的地图数据子集的存储地址;
在每一所述非空子空间中构建对应的所述地图数据子集。
7.根据权利要求6所述的方法,其特征在于,所述索引集和所述地图数据子集属于具有特定数据结构的地图数据集,所述索引集为一哈希索引表,所述地图数据子集为一分支树结构和所述分支树结构指向的内存块;
所述在每一所述非空子空间中构建对应的所述地图数据子集,包括:
在每一所述非空子空间中构建对应的分支树结构;
利用每一所述分支树结构的叶子节点在所述特定数据结构中所指向的内存块,存储对应空间区块中非空体素的属性数据,从而完成对应地图数据子集的构建。
8.根据权利要求7所述的方法,其特征在于,所述利用每一所述分支树结构的叶子节点在所述特定数据结构中所指向的内存块,存储对应空间区块中非空体素的属性数据,包括:
按照所述叶子节点对应的空间区块中多个非空体素之间的邻域相关性,在所述叶子节点所指向的内存块中,线性存储所述多个非空体素的属性数据。
9.地图应用的任务处理装置,其特征在于,包括:
确定模块,用于响应于所述地图应用接收的输入操作,根据输入数据确定查询索引;
查找模块,用于从索引集中查找与所述查询索引相匹配的目标索引;其中,所述索引集的索引用于指向对应的地图数据子集的存储地址;
执行模块,用于根据所述目标索引所指向的目标地图数据子集和所述输入数据,执行所述地图应用当前对应的目标任务。
10.地图构建装置,其特征在于,包括:
空间划分模块,用于对特定空间进行划分,得到多个子空间;
生成模块,用于根据非空子空间的属性数据,生成索引集,所述索引集中的索引用于指向对应的非空子空间的地图数据子集的存储地址;
构建模块,用于在每一所述非空子空间中构建对应的所述地图数据子集。
11.计算设备,包括存储器和处理器,所述存储器存储有可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求1至5任一项所述地图应用的任务处理方法中的步骤,或者,所述处理器执行所述程序时实现权利要求6至8任一项所述地图构建方法中的步骤。
12.计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至5任一项所述地图应用的任务处理方法中的步骤,或者,该计算机程序被处理器执行时实现权利要求6至8任一项所述地图构建方法中的步骤。
CN202010450659.2A 2020-05-25 2020-05-25 地图应用的任务处理、地图构建方法及装置、设备、介质 Pending CN111625611A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010450659.2A CN111625611A (zh) 2020-05-25 2020-05-25 地图应用的任务处理、地图构建方法及装置、设备、介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010450659.2A CN111625611A (zh) 2020-05-25 2020-05-25 地图应用的任务处理、地图构建方法及装置、设备、介质

Publications (1)

Publication Number Publication Date
CN111625611A true CN111625611A (zh) 2020-09-04

Family

ID=72260726

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010450659.2A Pending CN111625611A (zh) 2020-05-25 2020-05-25 地图应用的任务处理、地图构建方法及装置、设备、介质

Country Status (1)

Country Link
CN (1) CN111625611A (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160283538A1 (en) * 2015-03-27 2016-09-29 International Business Machines Corporation Fast multi-tier indexing supporting dynamic update
CN110059264A (zh) * 2019-04-24 2019-07-26 东南大学 基于知识图谱的地点检索方法、设备及计算机存储介质
CN110276829A (zh) * 2018-06-15 2019-09-24 北京京东尚科信息技术有限公司 通过多尺度体素哈希处理的三维表示
CN111104408A (zh) * 2019-12-17 2020-05-05 腾讯云计算(北京)有限责任公司 基于地图数据的数据交换方法、装置及存储介质

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160283538A1 (en) * 2015-03-27 2016-09-29 International Business Machines Corporation Fast multi-tier indexing supporting dynamic update
CN110276829A (zh) * 2018-06-15 2019-09-24 北京京东尚科信息技术有限公司 通过多尺度体素哈希处理的三维表示
CN110059264A (zh) * 2019-04-24 2019-07-26 东南大学 基于知识图谱的地点检索方法、设备及计算机存储介质
CN111104408A (zh) * 2019-12-17 2020-05-05 腾讯云计算(北京)有限责任公司 基于地图数据的数据交换方法、装置及存储介质

Similar Documents

Publication Publication Date Title
WO2021103513A1 (en) Method, device, and apparatus for rendering point cloud scene
US9256693B2 (en) Recommendation system with metric transformation
CN101276361B (zh) 一种显示相关关键词的方法及系统
EP2829990B1 (en) Image search device, image search method, program, and computer-readable storage medium
JP6919864B2 (ja) 3次元点群の再構成のための方法および装置
US20130235050A1 (en) Fully parallel construction of k-d trees, octrees, and quadtrees in a graphics processing unit
CN103455531B (zh) 一种支持高维数据实时有偏查询的并行索引方法
KR20100068468A (ko) 그리드 기반 피처 구조를 이용한 비주얼 서치 수행의 방법, 장치 및 컴퓨터 프로그램 제품
EP2833275B1 (en) Image search device, image search method, program, and computer-readable storage medium
CN110163334B (zh) 集成电路芯片装置及相关产品
CN107092623B (zh) 一种兴趣点查询方法及装置
CN108021333B (zh) 随机读写数据的系统、装置及方法
US20230205822A1 (en) Building a graph index and searching a corresponding dataset
US11948086B2 (en) Accelerated embedding layer computations
Han et al. Development of a hashing-based data structure for the fast retrieval of 3D terrestrial laser scanned data
CN112417199A (zh) 遥感影像的检索方法、装置、系统及存储介质
CN111625611A (zh) 地图应用的任务处理、地图构建方法及装置、设备、介质
US20220035737A1 (en) Storage apparatus, high dimensional gaussian filtering circuit, stereo depth calculation circuit, and information processing apparatus
Park et al. A fast and compact indexing technique for moving objects
US9519992B2 (en) Apparatus and method for processing image
US11500937B1 (en) Data retrieval system
US11257281B2 (en) Systems and methods for adaptive visual and temporal quality of time-dynamic (4D) volume rendering
CN106528623A (zh) 一种搜索引擎加速方法及装置
Chaudhry et al. A hash-based index for processing frequent updates and continuous location-based range queries
CN116612274A (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