CN109997123B - 用于改进空间-时间数据管理的方法、系统和装置 - Google Patents

用于改进空间-时间数据管理的方法、系统和装置 Download PDF

Info

Publication number
CN109997123B
CN109997123B CN201680091025.4A CN201680091025A CN109997123B CN 109997123 B CN109997123 B CN 109997123B CN 201680091025 A CN201680091025 A CN 201680091025A CN 109997123 B CN109997123 B CN 109997123B
Authority
CN
China
Prior art keywords
data
spatial
temporal
subspace
root
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.)
Active
Application number
CN201680091025.4A
Other languages
English (en)
Other versions
CN109997123A (zh
Inventor
D·I·冈萨雷斯阿圭里
I·J·阿尔瓦雷斯
J·费利普里昂
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.)
Intel Corp
Original Assignee
Intel Corp
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 Intel Corp filed Critical Intel Corp
Publication of CN109997123A publication Critical patent/CN109997123A/zh
Application granted granted Critical
Publication of CN109997123B publication Critical patent/CN109997123B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • G06F16/2264Multidimensional index structures
    • 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/23Updating
    • G06F16/2365Ensuring data consistency and integrity
    • 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/2458Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
    • G06F16/2477Temporal data queries

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Computational Linguistics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Fuzzy Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

公开了用于改进空间‑时间数据管理的方法、装置、系统和制品。一种示例装置包括:超体素数据结构生成器,用于生成具有十六个超节点的十六叉树数据结构;八叉树管理器,用于通过在根十六叉树中生成第一程度的对称性来改进时空数据访问效率,该八叉树管理器用于将超节点的第一部分指派给正时间子空间并且用于将该超节点的第二部分指派给负时间子空间;以及四叉树管理器,用于通过在根十六叉树中生成第二程度的对称性来改进时空数据访问效率,该四叉树管理器用于将正时间子空间和负时间子空间的相应超节点指派给相应的正空间子空间和负空间子空间。

Description

用于改进空间-时间数据管理的方法、系统和装置
技术领域
本公开总体上涉及网络数据管理,并且更具体地,涉及用于改进空间-时间数据管理的方法、系统和装置。
背景技术
近年来,已经实现了各个联网设备以执行一个或多个实用功能,这些功能总的来说准许目标被满足。示例联网设备包括温度测量设备、光入射测量设备、空气质量测量设备等。在一些示例中,实现了相对更复杂的联网设备,诸如,智能车辆、无人机、服务机器人、智能建筑等。此类设备可一起工作以努力基于所获取的环境信息(例如,测量数据点)促进一个或多个协作目标。
附图说明
图1是根据本公开的教导构建以改进空间-时间数据管理的示例超八叉树数据结构的示意性图示。
图2是根据本公开的教导构建以改进空间-时间数据管理的示例十六叉云系统。
图3是用于由图10的示例处理器执行以计算空间-时间Δ值的示例代码。
图4-图9是表示可以被执行以实现图2的示例十六叉云系统的示例机器可读指令的流程图。
图10是被构造成用于执行图4-图9的示例机器可读指令以实现图1-图3的十六叉云系统的示例处理器平台的框图。
具体实施方式
实现与协作式互连设备的合作的努力通常要求一个或多个分布式异构系统来管理、存储和/或分发具有空间和时间参数的数据。协作式互连设备(在本文中有时被称为“代理”或“客户机”)可独立地执行数据收集活动和/或环境动作(例如,无人机飞行路径动作、机器人移动动作等)。例如,被放置在感兴趣区域(例如,仓库)内的一个或多个相机和/或扫描仪可针对一个或多个代理(例如,机器人)在该感兴趣区域(例如,销售机器人、分拣机器人、材料处置等的仓库)中操作的益处就对象、碎片和/或安全路径区来分析该区域。这些代理(例如,机器人)可利用此类所收集的相机/扫描仪信息在从当前位置行进到期望的目的地位置之前的特定时刻判定期望的传播路径是否没有障碍物。
用于利用不同的代理来管理时空数据分发的传统技术要求保留相对大量的存储器来表示感兴趣区域内的每个空间维度。由此,针对感兴趣区域的静态部分,仍然消耗有价值的存储器资源。而且,因为一些协作目标在时间上是动态的,所以在存储器资源中必须将附加的时间数据层考虑在内,以使得对移动的准确的动态表示(例如,新的障碍物进入先前已清理的路径)可以被标识。因此,甚至在那些空间数据点中没有发生空间变化时,传统的分布式存储和管理系统也可能变成被针对不同的感兴趣时间段的冗余空间数据点的存储器管理任务所淹没。
用于利用不同的代理来管理数据分发的传统技术还缺乏高效地管理由感兴趣区域中的一个或多个代理提供的不同分辨率的能力。例如,相机代理可从仓库墙壁收集时空数据(例如,由三维(3D)轴空间数据和对应的时间数据组成的四维(4D)(3D空间+1D时间)数据),以标识可能阻碍仓库机器人沿走廊传播的能力的路径妨碍物或改变。所收集的图像数据能采用以米为单位的分辨率被存储。然而,单独的代理(例如,传播机器人自身上的相机代理)可包括具有更细粒度的分辨率的传感器,以促进采用相对更细的粒度规模(诸如,厘米)对机器人的移动、分析和/或控制(例如,指令机器人臂将物品放在架子上)。与传统分布式存储系统不同,本文中所公开的示例促进一种多分辨率数据管理系统,以适应出于协作目标而一起工作的不同代理的不同的粒度要求。
本文中所公开的示例改进了空间-时间的数据管理活动,以在语义上、几何上和时间上将互连的网络代理与统一的空间-时间容器(数据结构)拼合在一起。本文中所公开的示例改进了存储效率,适于动态数据改变,并且促进对于随协作目标改变的数据结构的未来改变的解决方案。本文中所公开的示例促进空间和时间的公共坐标系,以促进由缺乏公共数据粒度的一个或多个代理的参与。
图1图示出用于存储时空数据的超八叉树(hyper-octree)数据结构100。在图1的所图示的示例中,超八叉树数据结构100包括十六(16)个超体素(hypervoxel),这16个超体素被示出为从零(0)到十五(15)进行编号。在一些示例中,超八叉树数据结构100在本文中被称为“十六叉树(hexatree)”,并且在云环境中被采用且在本文中相应地被称为“十六叉云(hexacloud)”。一般而言,云计算是指计算设备的协调网络。如本文中所使用,“八叉树”是指在移除(固定常数)一个维度并组合剩余维度上具有相同索引的超体素之后得到的子空间。如本文中所使用,“四叉树”是指在移除八叉树的(固定常数)一个维度并组合剩余维度上具有相同索引的体素之后得到的子空间。具体而言,四叉树是二维表示,并且八叉树是三维表示,而十六叉树是四维表示。示例超八叉树数据结构100包括基于与超空间中心点106的相对时间关系的负时间八叉树102(例如,将时间维度固定到t-1之后的第一八叉树)和正时间八叉树104(例如,将时间维度固定到t之后的第二八叉树)。示例超空间中心点106反映按照空间(例如,三个维度)和时间(例如,一个维度)的四维参照点。示例正时间八叉树104表示在与示例超空间中心点106相关联的相对时间之后发生的时间细节(例如,“未来的”时间),并且示例负时间八叉树106表示在与示例超空间中心点106相关联的相对时间发生之前发生的时间细节(例如,“过去的”时间)。在一些示例中,超空间中心点106是时空参照点,诸如,具有x轴、y轴和z轴空间参照值(例如,0,0,0距离单位(例如,千米、米、厘米、毫米等)和时间参照值(例如,0小时、分钟、秒、毫秒等)的超级市场的中心的示例应用。
在图1的所图示的示例中,每个超体素(例如,参见数值标识符零(0)到十五(15))表示鉴于(相对于)示例超空间中心点106来定义时空表示的十六个索引中的一个。示例第一超体素108(参见由正方形围绕的索引零(0))表示由于其在正时间八叉树104中的接近而在超空间中心点106之后发生的时空信息,并且表示具有大于超空间中心点106的值的x轴子空间、y轴子空间和z轴子空间。在另一示例中,第二超体素110(参见由三角形围绕的索引一(1))表示在未来的时间中发生的时空信息,并且表示y轴和z轴正子空间但x轴负子空间(例如,x轴空间值小于超空间中心点的x轴空间值)。
每个超体素(有时被称为“超节点(hypernode)”)描述时空分区子空间,该时空分区子空间可包括叶节点(例如,最低级别的细节/分辨率)以及一个或多个中间分辨率节点(内部节点)。由此,每个超体素在经定界的时间间隔内存储空间中有界立方体的内容,其中,每个超体素显露一个或多个属性以确定该超体素是叶节点、具有内容的内部节点、不具有内容的内部节点还是根。由此,示例超八叉树数据结构100促进非均匀的分辨率,以超出传统分布式数据技术改进可扩展性和灵活性。另外,因为示例超八叉树数据结构100是对现实世界空间区域进行映射的索引值的数据结构表示,所以空间区域的此类表示不消耗用于此类感兴趣空间区域内的空白空间的平台物理存储器/存储。以此种方式,用来管理时空数据的存储器和/或计算功率的量可以增加,并且适于它们可能包含的不同的应用和细微差别。同与常规分布式数据系统静态地相关联的固有结构属性不同,示例超节点的内容是灵活的,并且可以包括时空值和元数据。如下文进一步详细描述,可将可扩展的元数据与示例超体素组合,以适应协调代理的改进的可扩展性和灵活性。换言之,示例超体素包含元数据表示(例如,指针、统一资源定位符(URL)、统一资源标识符(URI)等)。
返回图1的所图示的示例,超八叉树数据结构100建立了对称性,从而改进了计算效率以供进行相对快的逐位操作。如以上所描述,利用示例正时间八叉树104和示例负时间八叉树102来建立时间对称性。另外,每个八叉树可被细分为两个四叉树,这两个四叉树沿剩余维度中的一个维度将得到的空间划分成两个部分以表示空间对称性。一般而言,对称性在任一维度上发生,并且可使用可用的四(4)个维度中的任一维度对空间进行分区。通过固定维度中的任一维度的值可以将超八叉树划分成两个八叉树,并且使用剩余维度中的一个维度再次划分以获得四叉树,并且这可被重复以获得二叉树,并且又再次重复以获得由四个值进行索引的超体素,这四个值被用来到达/引用该超体素。具体而言,图1的示例超八叉树数据结构100包括第一四叉树112,该第一四叉树112包括超体素元素零(0)108、示例超体素元素一(1)110、示例超体素元素二(2)114和示例超体素元素三(3)116。示例第一四叉树112反映x轴和y轴子空间(负的和正的两者)的对称性。与示例第一四叉树112相关联的z轴子空间反映z轴正子空间,并且它的对称对应物以反映z轴负子空间的示例第二四叉树118表示。
本文中所公开的示例构建了诸如图1的示例超八叉树数据结构100之类的一个或多个超八叉树数据结构,并且管理来自任何数量的代理的输入请求。如下文进一步详细描述,对将被添加的新的时空数据点进行分析,以确定允许非均匀分辨率管理的操作分辨率和边界条件。另外,如下文进一步详细讨论,本文中所公开的示例分析输入请求,以判定将要被插入的数据点是否在当前超八叉树八叉树之外,以使得将(递归地)生成/扩展一个或多个附加的根,由此表示可能存在于当前建立的根之外的现实世界空间和时间目标。
图2是用于改进空间-时间数据管理的示例十六叉云系统200。在图2的所图示的示例中,十六叉云200包括十六叉云引擎202、平台存储器206以及一个或多个网络208,该十六叉云引擎202通信地连接至超体素数据存储204。示例十六叉云引擎202还直接地和/或经由示例网络208通信地连接至示例元数据存储210和任何数量的代理212。图2的示例十六叉云引擎202还包括示例超体素数据结构生成器214,该示例超体素数据结构生成器214包括示例八叉树管理器216、示例四叉树管理器218以及示例子空间指派器220。图2的示例十六叉云引擎202还包括示例空间-时间点分析器222以及示例插入引擎224,该示例插入引擎224包括示例节点备份引擎226、示例索引计算器228、示例子节点管理器230以及示例元数据管理器232。图2的示例十六叉云引擎202还包括示例扩展引擎234,该示例扩展引擎234包括示例扩展方向分析器236、示例偏移引擎238以及示例重根(re-root)引擎240。
在操作中,示例超体素数据结构生成器214生成具有十六(16)个超节点的根超体素数据结构。示例八叉树管理器216通过生成将超节点分成两个具有八(8)个超节点的分开的组以创建正八叉树和负八叉树的第一程度的对称性来改进时空数据访问效率。如以上所描述,示例正八叉树(例如,图1的示例正时间八叉树104)和示例负八叉树(例如,图1的示例负时间八叉树102)表示从超空间中心点(诸如,图1的示例超空间中心点106)的相对正时间偏移和负时间偏移。
示例八叉树管理器216选择这些八叉树中的一个,并且示例四叉树管理器218通过生成第二程度的对称性来进一步改进时空数据访问效率。具体而言,示例四叉树管理器218从先前所建立的八叉树中的一个选择四叉树。如以上所描述,并且与图1的所图示的示例结合,给定的八叉树的每个四叉树表示负z轴子空间或正z轴子空间中的一者。示例四叉树管理器218将这些四叉树中的一个规定和/或以其他方式指派为任一类型的正或负z轴子空间,并且示例子空间指派器220给每个感兴趣的四叉树内的超节点指派子空间类型。具体而言,示例子空间指派器220通过指派对称的子空间类型改进了访问示例超八叉树数据结构时的计算效率,以实现逐位的计算。返回图1的所图示的示例,示例子空间指派器220给节点零(0)、节点三(3)指派正x轴子空间,并且给节点一(1)和节点二(2)对称地指派负x轴子空间。另外,示例子空间指派器给节点零(0)和节点一(1)指派正y轴子空间,并且给节点二(2)和节点三(3)对称地指派负y轴子空间。
在示例子空间指派器220给节点指派对于感兴趣的一个四叉树的对称的子空间表示之后,示例超体素数据结构生成器214选择为其生成子空间指派另一可用的感兴趣的四叉树(例如,先前未指派的四叉树)。另外,一旦完成感兴趣八叉树内的所有四叉树,则示例数据结构生成器214选择另一可用的感兴趣八叉树,针对所有先前未指派的体素为该八叉树重复子空间指派。
在由示例超体素数据结构生成器214生成的示例超八叉树数据结构的访问操作期间,示例空间-时间点分析器(STPA)222判定一个或多个代理是否尝试将时空数据添加到示例超八叉树数据结构100。如果是,则其提取和/或以其他方式评估与x轴、y轴和z轴空间信息空间值信息。另外,示例STPA 222提取和/或以其他方式评估基于时间的信息、空间分辨率信息(δ)和时间分辨率信息(τ)。在一些示例中,STPA 222评估从代理(例如,机器人、传感器、相机、四轴飞行器等)接收的空间分辨率信息和/或时间分辨率信息,以确定对应的分辨率类型。分辨率类型可包括的特定范围的按照例如毫米(与相对更粗的厘米分辨率比较)、厘米(与相对更粗的米分辨率比较)等的值。如以上所描述,虽然已经创建了至少一个超八叉树数据结构100,但是其具有有限的空间和时间边界。例如,超空间中心点可初始地标识零米的x、y和z坐标以及所指定的感兴趣日期的12:00的时间。示例超八叉树数据结构100的空间到达可表示距超空间中心点106+/-1米的空间维度的最大距离,由此表示每个轴上2米的空间立方体。类似地,时间边界可具有+/-一个小时的有限限制。初始或当前超八叉树数据结构在本文中有时被称为根节点和/或以其他方式被称为当前节点。
由此,在输入数据点在根节点的空间-时间边界内的情况下,示例十六叉云引擎202随后将与该输入数据相关联的数据以感兴趣的分辨率输入到示例超八叉树数据结构的适当的索引(例如,超体素)中。另一方面,在示例空间-时间电子分析器222判定输入点(P)不在当前/根节点的空间-时间边界内的情况下,扩展引擎234随后创建和/或以其他方式生成一个或多个超八叉树数据结构以适应新的输入点数据。例如,并且继续具有2x2x2米尺寸的示例根结构100,如果新的输入数据点包括+3米的x轴空间值,则示例扩展引擎234生成具有适应相对更大的空间的空间和时间边界的扩展超八叉树数据结构。换言之,示例扩展引擎234生成对称地生长的另一超八叉树数据结构,以使得具有每个维度上双倍尺寸的新的根被创建,并且新创建的16个节点的对应节点被指派给原始超八叉树。
响应于示例空间-时间点分析器222判定和/或以其他方式计算出新的输入点(P)具有与当前/根节点(例如,第一超八叉树数据结构,诸如,图1的示例超八叉树数据结构100)一致、在当前/根节点内、和/或以其他方式与当前/根节点对齐的时空维度,示例十六叉云引擎202判定P的内容和/或其相关联的元数据是否与已经被存储在示例超八叉树数据结构中的值不同。如果否,则示例十六叉云引擎202通过防止和/或以其他方式抑制存储新的输入点(P)来节省存储器和/或计算资源。另一方面,常规存储技术典型地参加写操作,而不论新的输入数据是否具有与已经在此存储的数据相同的值。
在添加与输入点(P)相关联的输入数据之前,示例节点备份引擎226将当前树根节点指派给具有工作变量的辅助节点(例如,辅助节点N)。具体而言,示例节点备份引擎226生成辅助节点作为预防措施,以防止可能以其他方式损坏当前节点的一个或多个操作、测量和/或递归计算期间的数据损失。示例STPA 222判定点P的分辨率是否与根节点(现在为备份/辅助节点N)兼容或者点P是否为叶节点。如本文中所使用,根节点是不具有父并且包含针对给定区域对其之下的节点的时空表示的全部的节点。如本文中所使用,叶节点是不具有子并且包含以最低级别(例如,超八叉树数据结构的最低分辨率能力)的数据的节点。如本文中所使用,内部结点是叶节点的极值与根节点的极值之间的中间节点。在一些示例中,示例STPA 222以与示例等式1一致的方式执行分辨率测试。
Ν.δ<Ρ.δor Ν.τ<Ρ.τ
式1。
在式1的所图示的示例中,N是指当前(根)节点的备份副本,δ是指空间分辨率值(例如,以毫米为单位、以厘米为单位、以米为单位、以千米为单位等),其中,记号Ν.δ反映节点“N”的空间分辨率属性,而Ρ.τ反映新的点P的空间分辨率属性。另外,τ是指时间分辨率值(例如,以微秒为单位,以毫秒为单位,以秒为单位,以分钟为单位等),其中,记号“Ν.τ”反映节点“N”的时间分辨率属性,而“Ρ.τ”反映新的点P的时间分辨率属性。
一般而言,所图示的式1的示例测试和/或以其他方式判定插入点P是否驻留在将要插入数据所在的根节点的范围内。换言之,被指向的根节点的部分是否匹配将要添加/插入的点P的分辨率?例如,当前根节点可被设置为毫米空间分辨率,而新的点P可具有厘米空间分辨率。在此类情形下,示例等式1的测试失败,并且示例索引计算器228为节点N解析出某个分辨率。具体而言,示例索引计算器228生成子索引值“k”并且确定新的点P将与哪个所索引的超体素相关联(例如,参见图1的所图示的示例中的超体素索引值零(0)到十五(15))。示例索引计算器228评估新的点P,以确定其与过去时间还是未来时间相关联(例如,例如,相对于示例超空间中心点106),由此标识新的点P将与示例超八叉树数据结构100的第一八叉树还是第二八叉树相关联。示例索引计算器228还确定新的点P的z轴值、y轴值和x轴值关于示例超空间中心点106是负的还是正的,由此标识新的点P将与哪些四叉树并且最终与哪个超体素相关联。子索引“k”此后与同对应的超体素相关联的适当的索引值相关联。
示例子节点管理器230判定所标识的超体素在索引“k”处是否具有子。在子节点可用的情况下,示例子节点管理器230随后将节点N(根节点的工作值)设置为索引k处的子。另一方面,如果示例子节点管理器230判定不存在子节点,则任何数据进入尝试将遇到空白空间(empty space),并且子节点管理器230创建子节点。然而,在开始以当前分辨率在特定所索引的超体素处的任何写入尝试之前,示例STPA 222结合经调整的分辨率来重新评估点P。在需要一个或多个附加分辨率“梯级(step)”的情况下,索引计算器228重复分析以标识以经修改的分辨率的正确/当前超节点(从毫米到千米可能要求以下中间分辨率转变(a)从毫米到厘米,(b)从厘米到米,(c)从米到千米)。
在一些示例中,STPA 222确定(a)点P的分辨率与根节点N兼容或者(b)遇到叶节点。如果(a)点P的分辨率与根节点N兼容或者(b)遇到叶节点,则示例元数据管理器232被调用以执行超体素元数据插入。具体而言,示例元数据管理器232检取先前计算的索引位置,并且确定与点P相关联的元数据(Q)将被本地地还是远程地存储。在其将被本地地存储的情况下,元数据管理器232将数据插入到作出写入请求的代理的本地存储中,但是如果元数据Q可以(任选地)被存储在一个或多个外部位置(例如,外部数据库、联网的云存储等)中,则经由一个或多个查询利用外部数据源来解析标识符。在一些示例中,当元数据可以被外部地存储时,此类外部存储不是强制性的,并且内部存储可仍根据需要发生。在一些示例中,元数据的标识符或元数据本身是诸如URI/URL之类的标识符。示例元数据管理器232使用该标识符来获得未来可被用来进行元数据检取的代理,并且所检取的代理可被用来在点P的写入操作期间应用元数据的插入/更新。因为在一些示例中,中间节点可存储一定程度的数据,示例插入引擎224验证当前节点是否是叶节点,并且如果不是,则索引计算器228继续一个或多个递归操作以达到用于数据插入的根节点。
如以上所讨论,在一些示例中,将要被添加到示例超八叉树数据结构100的新的点P在该数据结构的时空边界之外。在此类情形下,示例扩展引擎234根据需要创建一个或多个附加超八叉树数据结构。具体而言,示例扩展方向分析器236基于新的输入点(P)初始地确定适当的扩展方向。例如,如果当前根节点是具有原点x=0、y=0且z=0的有界超体素并且可以表示在长度上加或减一米的空间距离(例如,每个轴上的总的立方体空间范围为2米),并且新的点P包括3米的x轴维度,则示例扩展引擎234标识新的超体素扩展应当发生。另外,示例偏移引擎238在新的(扩展)节点被创建后计算新的点(P)在该新的节点中的空间和时间偏移值。
然而,除了标识新的点(P)将驻留在其中的新的(扩展)节点内的正确的索引位置,示例偏移引擎238还为扩展节点计算新的节点原点以及扩展节点的对应维度。在一些示例中,偏移引擎238以与示例式2、3、4和5一致的方式创建新的扩展根节点。
R'.δ.x=R.δ.x*2
式2。
R'.δ.y=R.δ.y*2
式3。
R'.δ.z=R.δ.z*2
式4。
R'.τ=R.τ*2
式5。
在所图示的式2、3、4和5的示例中,R'(R-prime)反映针对感兴趣子空间(例如,x轴、y轴或z轴)的以期望的感兴趣空间分辨率(δ)的新的(扩展)节点。期望的感兴趣时间分辨率由(τ)表示。另外,示例等式2、3、4和5图示出用于扩展节点的时空参数包括先前节点时空参数乘以二(2)。
新的扩展节点将变成新的当前节点,并且被定义为之前的“当前”节点的“父”,并且新的扩展节点包括对应的超空间中心点(类似于图1的示例超空间中心点106)。在一些示例中,偏移引擎238调用示例代码300以采用与图3一致的方式来计算空间-时间Δ值。
在图3的所图示的示例中,空间-时间Δ代码300将先前计算的节点索引值302(例如,得到标识对应的超体素的十六个索引值(0到15)中的一个)、空间分辨率值304以及时间分辨率值306作为输入。示例空间-时间Δ代码300还包括与触发扩展要求的新的点P相关联的空间和时间的实值。基于索引值输入302,示例空间-时间Δ代码300应用switch(切换)函数310,以标识十六个case(情况)值312中的一个,利用该情况值来计算Δ/差值。如从图3的所图示的示例可见,空间-时间Δ代码300反映一定程度的对称,其中,前八个情况值314表示与第一八叉树相关联的正时间,并且后八个情况值316表示与第二八叉树相关联的负时间。
示例偏移引擎240以与式6、7、8和9一致的方式建立和/或以其他方式设置新的扩展节点的空间-时间中心。
R'.x=R.xc+dx
式6。
R'.cy=R.yc+dy
式7。
R'.cz=R.zc+dz
式8。
R'.ct=R.tc+tz
式9。
在所图示的式6、7、8和9的示例中,R'(R-prime(R-最初))反映新的(扩展)节点,R反映当前节点,xc、yc、zc和tc分别反映空间和时间中心点,并且以与图3一致的方式推导出dx、dy、dz和tz的值。
现在,已经生成了具有对应的超空间中心点以及新的输入数据P与其相关联的所标识的目标体素的新的扩展超八叉树数据结构,示例重根引擎240通过将当前根节点作为子指派给新的扩展超八叉树数据结构“R’”(R-prime)来对当前根节点(例如,原始根节点“R”100)进行重根化。相应地,对超八叉树数据结构的进一步参考将对应于作为父的新扩展的树根R’,而一个或多个先前(例如,原始地)生成的超八叉树数据结构(例如,图1的示例超八叉树数据结构100)被视为子节点。
虽然图1至图3中图示出实现图2的十六叉云系统200的示例方式,但是图1-图3中所图示的元件、过程和/或设备中的一个或多个可以被组合、拆分、重新布置、省略、消除和/或以任何其他方式被实现。进一步地,示例超体素数据结构生成器214、示例八叉树管理器216、示例四叉树管理器218、示例子空间指派器220、示例时空点分析器222、示例插入引擎224、示例节点后备引擎226、示例索引计算器228、示例子节点备份引擎226、示例索引计算器228、示例子节点管理器230、示例元数据管理器232、示例扩展引擎234、示例扩展方向分析器236、示例偏移引擎238、示例重根引擎240、示例元数据存储210、示例超体素数据存储204、示例平台存储器206和/或更一般地图2的示例十六叉云引擎202可由硬件、软件、固件、和/或硬件、软件和/或固件的组合实现。因此,例如,示例超体素数据结构生成器214、示例八叉树管理器216、示例四叉树管理器218、示例子空间指派器220、示例时空点分析器222、示例插入引擎224、示例节点后备引擎226、示例索引计算器228、示例子节点备份引擎226、示例索引计算器228、示例子节点管理器230、示例元数据管理器232、示例扩展引擎234、示例扩展方向分析器236、示例偏移引擎238、示例重根引擎240、示例元数据存储210、示例超体素数据存储204、示例平台存储器206和/或更一般地图2的示例十六叉云引擎202中的任一者可以由一个或多个模拟或数字电路、逻辑电路、(多个)可编程处理器、(多个)专用集成电路(ASIC)、可编程逻辑器件(PLD)和/或(多个)现场可编程逻辑器件(FPLD)实现。当阅读本专利覆盖纯软件和/或固件实现方式的装置或系统权利要求中的任一项时,示例超体素数据结构生成器214、示例八叉树管理器216、示例四叉树管理器218、示例子空间指派器220、示例时空点分析器222、示例插入引擎224、示例节点后备引擎226、示例索引计算器228、示例子节点备份引擎226、示例索引计算器228、示例子节点管理器230、示例元数据管理器232、示例扩展引擎234、示例扩展方向分析器236、示例偏移引擎238、示例重根引擎240、示例元数据存储210、示例超体素数据存储204、示例平台存储器206和/或更一般地图2的示例十六叉云引擎202中的至少一者由此被明确定义成包括存储该软件和/或固件的有形计算机可读存储设备或存储盘,诸如,存储器、数字多功能盘(DVD)、紧凑盘(CD)、蓝光盘等。更进一步地,除了图1-图3中所图示的那些元件、过程和/或设备之外,图2的示例十六叉云系统200还可包括的一个或多个元件、过程和/或设备,或者图2可包括作为那些元件、过程和/或设备的替代的一个或多个元件、过程和/或设备,和/或可包括所图示的元件、过程和/或设备中任一者或全部中多于一个的元件、过程和/或设备。
图4-图9示出表示用于实现图1-图3的十六叉云系统200的示例机器可读指令的流程图。在这些示例中,机器可读指令包括用于由诸如在下文结合图10所讨论的示例处理器平台1000中示出的处理器1012之类的处理器执行的程序。该程序可被具体化在存储于诸如CD-ROM、软盘、硬驱动器、数字多功能盘(DVD)、蓝光盘或与处理器1012关联的存储器那样的有形计算机可读存储介质上的软件中,但是全部或部分程序可以替代地由除处理器1012之外的器件执行,和/或可以具体化在固件或专用硬件中。进一步地,虽然参考图4-图9所图示的流程图描述示例程序,但是可替代地使用实现示例十六叉云系统200的许多其他方法。例如,可改变框的执行次序,和/或可改变、消除或组合所描述的框中的一些框。
如以上所提到,可使用存储在有形计算机可读存储介质上的被编码的指令(例如,计算机和/或机器可读指令)来实现图4-图9的示例过程,该有形计算机可读存储介质诸如:硬盘驱动器、闪存、只读存储器(ROM)、紧凑盘(CD)、数字多功能盘(DVD)、高速缓存、随机存取存储器(RAM)和/或在任何时长内(例如,在扩展时间段内、永久地、在简短的实例期间、在临时缓冲和/或对信息的高速缓存期间)将信息存储在其中的任何其他存储设备或存储盘。如本文中所使用,术语有形计算机可读存储介质被明确地定义为包括任何类型的计算机可读存储设备和/或存储盘,并且排除传播的信号以及排除传输介质。如本文中所使用,“有形计算机可读存储介质”和“有形机器可读存储介质”可互换地使用。另外或替代地,可使用存储在非瞬态的计算机和/或机器可读介质上的被编码的指令(例如,计算机和/或机器可读指令)来实现图4-图9的示例过程,非暂态的计算机和/或机器可读介质诸如:硬盘驱动器、闪存、只读存储器、紧凑盘、数字多功能盘、高速缓存、随机存取存储器和/或在任何时长内(例如,在扩展时间段内、永久地、在简短的实例期间、在临时缓冲和/或对信息的高速缓存期间)将信息存储在其中的任何其他存储设备或存储盘。如本文中所使用,术语非瞬态计算机可读介质被明确地限定为包括任何类型的计算机可读存储设备和/或存储盘,并且排除传播信号并排除传输介质。如本文所使用,当短语“至少”在权利要求的前序部分中被用作过渡术语时,它是和术语“包括”一样的开放式的。
图4的程序400开始于框402,在框402处,示例超体素数据结构生成器214生成具有十六个超节点的根超体素数据结构。如以上所描述,生成具有对称取向的这十六个超节点,以改进在(多个)访问操作期间对示例超体素数据结构(例如诸如,图1的示例超体素数据结构100)执行逐位操作时的计算效率。具体而言,示例超体素数据结构生成器214生成和/或以其他方式指派具有第一组八个超节点的正八叉树(框404),以表示关于超空间中心点为正的时间数据。另外,示例超体素数据结构生成器214生成和/或以其他方式指派具有第二组(剩余的)八个超节点的负八叉树(框406),以表示关于超空间中心点为负的时间数据(例如,“过去的时间”)。示例超体素数据结构生成器214在正时间八叉树(例如,图1的示例正时间八叉树104)与负时间八叉树(例如,图1的示例负时间八叉树102)的交点处建立超空间中心点(例如,图1的示例超空间中心点106)(框408)。
图4的示例程序400进一步以逐八叉树(octree-by-octree)、逐四叉树(quadtree-by-quadtree)以及逐超体素(hypervoxel-by-hypervoxel)分层方式来配置示例超八叉树数据结构。具体而言,示例八叉树管理器216从4D立方体选择超节点/超体素的先前未检查/未配置的八叉树子集(框410),并且示例四叉树管理器218从所选择的八叉树选择将被指派正z轴子空间或负z轴子空间中的一者的先前未检查/未配置的四叉树子集(框412)。如以上结合图1所描述,在示例程序400的第一迭代期间,示例第一四叉树112被指派以表示正z轴子空间。
鉴于所选择的感兴趣四叉树,示例子空间指派器220指派四叉树的超节点/超体素,以表示正x轴和正y轴子空间(框414)。在图1的所图示的示例中,这被示出为超体素元素零(0)108。示例子空间指派器220指派所选择的四叉树的分开的超节点/超体素,以表示负x轴和正y轴子空间(框416),其在图1的所图示的示例中被示出为超体素元素一(1)110。示例子空间指派器220指派所选择的四叉树剩余的分开的超节点/超体素,以表示负x轴和负y轴子空间(框418),其在图1的所图示的示例中被示出为超体素元素二(2)114。最后,示例子空间指派器220指派所选择的四叉树剩余的超节点/超体素,以表示正x轴和负y轴子空间(框420),其在图1的所图示的示例中被示出为超体素元素三(3)116。
示例超体素数据结构生成器214判定是否还要配置所选择的八叉树的附加四叉树(框422),并且如果是,则控制返回至框412。如果否,则示例超体素数据结构生成器214判定是否还要配置附加八叉树(框424),并且如果是,则控制返回至框410。如果否,则超八叉树数据结构生成完成,并且示例超体素数据元素生成器214将根4D立方体存储在示例超体素数据存储204中(框426)。如以上所描述,尽管示例生成的十六叉树(例如,图1的示例十六叉树100)是用于表示现实世界感兴趣区域的时空信息的数据结构,但是该数据结构本身不预分配示例平台存储器206的明确的部分,由此节省将以其他方式由常规分布式数据库系统通过空白空间消耗的有价值的存储器资源。
图5是用于管理示例十六叉树的超体素访问(读取/写入)的示例程序500。在图5的所图示的示例中,空间-时间点分析器(STPA)222判定是否要将新的输入点(P)添加到十六叉树(框502)。如果否,则示例十六叉云引擎202服务其中包含的一个或多个数据查询(框504)。否则,响应于检测到输入访问请求(框502),示例STPA 222检取并提取与新的或经修改的输入点(P)相关联的信息(框506)。所提取的信息包括但不限于,空间值(例如,x轴、y轴、z轴空间信息)、时间值(例如,空间值的捕获时间)、空间分辨率信息和/或时间分辨率信息。
因为当前超八叉树数据结构(根)具有有限的逻辑空间和时间边界,所以示例STPA222判定输入点P信息是否在当前根节点的此类边界内(框508)。如果否,则如以上所描述或下文进一步详细描述,示例扩展引擎234被调用以扩展和/或以其他方式扩建新的十六叉树,从而适应新的输入点P(框510)。另一方面,在新的输入点P在当前(根)节点的时空边界内(框508)的情况下,示例十六叉云引擎202随后判定输入点P的内容是否与已经存储在当前节点中的信息不同(框512)。如果否,则进一步的存储尝试被视为浪费的,且通过忽略输入请求而改进处理和/或存储节省,并且控制返回至框502。另一方面,在输入点P信息不同(框512)的情况下,如以上所描述或下文进一步详细描述,示例插入引擎224随后管理插入过程(框514)。
图6图示出与图5的插入管理(框514)有关的附加细节。在图6的所图示的示例中,示例节点备份引擎226将当前树根节点(R)指派给辅助节点变量N作为预防措施,以防止根节点的潜在损坏,直到可以确定适当的(多个)插入索引点之后(框602)。示例STPA 222判定输入点P分辨率信息(例如,空间分辨率δ、时间分辨率τ)是否与当前根节点(N)一致,或者节点是否与叶节点相关联(框604)。如以上所描述,本文中所公开的示例促进其中一个或多个代理(例如,四轴飞行器、机器人、传感器等)不必遵循典型地与传统系统相关联的严格的分辨率约束的多分辨率或非均匀树管理系统。本文中所公开的示例解决了输入点P与当前节点焦点之间的分辨率差异,使得能以有效的逐位方式处理多分辨率时空管理。
在示例STPA 222判定分辨率不兼容或分辨率不指示叶节点(框604)的情况下,示例索引计算器228为节点N解析出目标分辨率(框606)。换言之,示例索引计算器228确定适当的索引,利用该索引解析出期望的分辨率。图7包括与图6的为节点N解析出目标分辨率(框606)有关的附加细节。在图7的所图示的示例中,示例索引计算器228生成子索引值k(框702),并且评估新的点P以确定其与节点N的相对于超空间中心点(例如,图1的示例超空间中心点106)的过去时间子空间还是未来时间子空间相关联(框704)。示例索引计算器228选择针对过去时间子空间信息的示例负时间八叉树102(框706),并且选择针对未来子空间信息的示例正时间八叉树104(框708)。换言之,尽管鉴于新的输入点P初始地存在要考虑的十六(16)个感兴趣节点/超体素,但是在示例索引计算器228的高效逐位测试中,那些节点/超体素中的一半被排除在考虑之外。
示例索引计算器228评估新的点P,以确定其与正z轴子空间还是与负z轴子空间相关联(框710)。对于正z轴子空间,示例索引计算器228选择候选正z轴超体素(框712),并且对于负z轴子空间,示例索引计算器228选择候选负z轴超体素(框714)。同样,考虑适当的数据进入,由示例索引计算器进行的逐位测试进一步减少了候选超体素的数量。示例索引计算器228评估新的点P,以确定其与正y轴子空间还是与负y轴子空间相关联(框716)。对于正y轴子空间,示例索引计算器228选择候选正y轴超体素(框718),并且对于负y轴子空间,示例索引计算器228选择候选负y轴超体素(框720)。同样,考虑适当的数据进入,由示例索引计算器进行的逐位测试进一步减少了候选超体素的数量。示例索引计算器228评估新的点P,以确定其与正x轴子空间还是负x轴子空间相关联(框722)。对于正x轴子空间,示例索引计算器228选择候选正x轴超体素(框724),并且对于负x轴子空间,示例索引计算器228选择候选负x轴超体素(框726)。同样,考虑适当的数据进入,由示例索引计算器进行的逐位测试进一步减少了候选超体素的数量。
返回图6的所图示的示例,示例子节点管理器230判定以上作为索引k被计算的节点是否具有对应的子节点(框608)。如果否,则任何尝试的数据进入将是不成功的,因为目标将表示进入空白空间,并且示例子节点管理器230创建和/或以其他方式在索引k处为节点N生成子节点(框610)。另一方面,在子节点管理器230判定针对索引k存在子节点(框608),则节点N被设置到对应的子索引k(框612)。控制返回至框604,以验证用于对准恰当的分辨率的递归步骤是否被实现,并且如果否,则示例过程可在框606处重复。然而,当分辨率被对准时或者当叶节点被标识时(框604),示例元数据管理器232将元数据插入到目标超体素中(框614)。
图8包括图6的将元数据插入到目标超体素(框614)的附加细节。在图8的所图示的示例中,示例元数据管理器232检取和/或以其他方式标识(a)元数据(Q)(具有标识符)以及(b)节点N的对应的插入索引位置。如果元数据被本地地存储(框804),则示例元数据管理器232将数据本地地插入到感兴趣应用/代理(框806)。另一方面,鉴于可利用示例十六叉云系统200的一个或多个代理的有限的存储能力,针对数据的元数据和/或对应的数据储存库可被外部地存储。在此类情形下,示例元数据管理器232利用外部数据源来解析标识符(框808),该外部数据源诸如示例元数据存储210。在一些示例中,努力解析可经由一个或多个网络接口利用包含标识符的查询发生,外部数据源为其提供代理。示例元数据管理器232使用所检取和/或以其他方式接收的代理信息将信息插入或更新应用到外部数据源(框812),该外部数据源诸如示例元数据存储210。控制随后返回至图6的所图示的示例的框616,以判定叶节点是否存在,并且如果否,则控制返回至框606。否则,控制返回至图5的框502。
返回至图5的所图示的示例,在示例STPA 222确定输入点P包括当前根节点的逻辑边界之外的时空信息(框508)的情况下,示例扩展引擎234随后促进十六叉树扩展(框510)。图9包括图5的所图示的示例的十六叉树扩展(框510)的附加细节。在图9的所图示的示例中,先前已经确定输入点P不在当前十六叉节点的边界内,并且需要比当前/原始十六叉节点更大的表示。本文中所公开的示例使用与输入点P相关联的内部节点和/或叶节点生成使原始根节点的空间和时间边界加倍的新的根节点。然而,尽管本文中所公开的示例促进对先前时空边界的加倍(或更多),此类扩展不会增加应用程序/代理的物理存储器资源。替代地,新的十六叉节点是对扩展时空边界进行索引以使得应用/代理存储器管理系统(例如,操作系统)可以仅按需要针对实际数据填充物理存储器的另一数据结构,由此避免针对空白空间的存储器消耗。
示例扩展方向分析器236基于点P的一个或多个时空参数来计算扩展方向(框902)。例如,如果x轴子空间被标识为超出当前节点的边界,则新的十六叉树将被扩展具有十六(16)个子的潜力。示例偏移引擎238为点P的新的位置计算空间/时间偏移值(框904)。如以上结合图7所描述,示例偏移引擎238可调用示例索引计算器228来为扩展十六叉树标识适当的索引。基于所标识的索引,示例偏移引擎238计算Δ,以采用与以上所描述的图3一致的方式来确定扩展根节点的中心点(例如,超空间中心点)(框906)。新的扩展根节点可被指定为R’(R-prime),以使其区分于先前的根节点。示例重根引擎240通过将当前根节点(R)作为子指派给新扩展的根节点R’而对当前根节点(R)进行重根化(框908)。如由示例STPA222所确定(框910),在图9的对示例程序510的当前迭代扩展远远不足以适应新的输入点P的情况下,控制随后返回至框902。否则控制返回至图5的所图示的示例。
图10是能够执行图4-图9的指令以实现图1-图3的十六叉云系统200的示例处理器平台1000的框图。处理器平台1000可以是例如服务器、个人计算机、移动设备(例如,蜂窝电话、智能电话、诸如iPadTM之类的平板设备)、个人数字助理(PDA)、互联网设备、游戏控制台、机顶盒或任何其他类型的计算设备。
所图示示例的处理器平台1000包括处理器1012。所图示示例的处理器1012是硬件。例如,处理器1012可以由来自任何所期望的家族或制造商的一个或多个集成电路、逻辑电路、微处理器或控制器实现。
所图示示例的处理器1012包括本地存储器1013(例如,高速缓存)。所图示示例的处理器1012经由总线1018与包括易失性存储器1014和非易失性存储器1016的主存储器进行通信。易失性存储器1014可由同步动态随机存取存储器(SDRAM)、动态随机存取存储器(DRAM)、RAMBUS动态随机存取存储器(RDRAM)和/或任何其他类型的随机存取存储器设备实现。非易失性存储器1016可由闪存和/或任何其他所期望类型的存储器设备实现。由存储器控制器控制对主存储器1014、1016的访问。
所图示示例的处理器平台1000还包括接口电路1020。接口电路1020可由任何类型的接口标准实现,这些接口标准诸如,以太网接口、通用串行总线(USB)和/或PCI快速接口。
在所图示的示例中,一个或多个输入设备1022被连接至接口电路1020。(多个)输入设备1022允许用户将数据和命令输入到处理器1012中。(多个)输入设备可由例如音频传感器、麦克风、相机(静止的或视频)、键盘、按钮、鼠标、触屏、轨迹板、轨迹球、激光扫描仪、环境传感器(例如,温度、湿度、光等)和/或语音识别系统实现。
一个或多个输出设备1024也被连接至所图示示例的接口电路1020。输出设备1024可例如由显示设备(例如,发光二极管(LED)、有机发光二极管(OLED)、液晶显示器、阴极射线管显示器(CRT)、触屏、触觉输出设备、打印机和/或扬声器)实现。因此,所图示示例的接口电路1020典型地包括图形驱动器卡、图形驱动器芯片或图形驱动器处理器。
所图示示例的接口电路1020还包括诸如发射器、接收器、收发器、调制解调器和/或网络接口卡之类的通信设备,以促进经由网络1026(例如,以太网连接、数字订户线(DSL)、电话线、同轴电缆、蜂窝电话系统等)与外部机器(例如,任何种类的计算设备)交换数据。
所图示示例的处理器平台1000还包括用于存储软件和/或数据的一个或多个大容量存储设备1028。此类大容量存储设备1028的示例包括软盘驱动器、硬盘驱动器、紧凑盘驱动器、蓝光盘驱动器、RAID系统和数字多功能盘(DVD)驱动器。
图4-图9的被编码的指令1032可被存储在大容量存储设备1028中、易失性存储器1014中、非易失性存储器1016中、和/或诸如CD或DVD之类的可移除有形计算机可读存储介质上。
从前述内容将会领会,以上所公开的方法、装置和制品改进了时空数据类型的数据访问效率。具体而言,本文中所公开的示例将不同程度的对称性应用到十六叉树数据结构,这部分地促进了更快的逐位操作。另外,本文中所公开的示例通过防止对用于感兴趣区域的空白空间的物理存储器的存储和/或预分配降低了平台存储器利用率。
本文中公开了用于改进空间-时间数据管理的示例方法、装置、系统和制品。进一步的示例和其组合包括下列各项。
示例1是一种用于改进时空数据的访问效率的装置,该装置包括:超体素数据结构生成器,用于生成具有十六个超节点的十六叉树数据结构;八叉树管理器,用于通过在根十六叉树中生成第一程度的对称性来改进时空数据访问效率,该八叉树管理器用于将超节点的第一部分指派给正时间子空间并且用于将该超节点的第二部分指派给负时间子空间;以及四叉树管理器,用于通过在根十六叉树中生成第二程度的对称性来改进时空数据访问效率,该四叉树管理器用于将正时间子空间和负时间子空间的相应超节点指派给相应的正空间子空间和负空间子空间。
示例2包括如示例1所述的装置,其中,四叉树管理器用于将相应的正空间子空间和负空间子空间指派到x轴空间维度、y轴空间维度和z轴空间维度。
示例3包括如示例1所述的装置,其中,超体素数据结构用于建立根十六叉树数据结构的超空间中心。
示例4包括如示例3所述的装置,其中,第一程度的对称性是关于根十六叉树数据结构的超空间中心的。
示例4b包括如示例2或3所述的装置,进一步包括空间-时间点分析器,该空间-时间点分析器用于提取分别具有对应的空间分辨率和时间分辨率的空间坐标数据或时间数据中的至少一者。
示例5包括如示例4所述的装置,其中,八叉树管理器用于将超节点的第一部分与大于同超空间中心相关联的时间值的时间数据相关联。
示例6包括如示例4所述的装置,其中,八叉树管理器用于将超节点的第二部分与小于同超空间中心相关联的时间值的时间数据相关联。
示例7包括如示例3所述的装置,其中,四叉树管理器用于将相应的正空间子空间与大于同超空间中心相关联的空间值的空间数据相关联。
示例8包括如示例3所述的装置,其中,四叉树管理器用于将相应的负空间子空间与小于同超空间中心相关联的空间值的空间数据相关联。
示例9包括如示例1所述的装置,进一步包括空间-时间点分析器,该空间-时间点分析器用于响应于时空数据输入请求而从代理提取时空数据。
示例10包括如示例9所述的装置,其中,时空数据包括空间坐标数据或时间数据中的至少一者。
示例10b包括如示例2、3或9所述的装置,进一步包括扩展方向分析器,该扩展方向分析器用于响应于确定时空数据输入请求在根十六叉节点的空间-时间边界之外而计算扩展十六叉树数据结构的扩展方向。
示例11包括如示例9所述的装置,其中,空间-时间点分析器用于确定时空数据的空间分辨率或时空数据的时间分辨率中的至少一者。
示例12包括如示例9所述的装置,其中,空间-时间点分析器用于计算时空数据输入请求的相应的值是否在根十六叉节点的空间-时间边界内。
示例13包括如示例12所述的装置,进一步包括扩展方向分析器,该扩展方向分析器用于响应于空间-时间点分析器确定时空数据输入请求在根十六叉树的空间-时间边界之外而计算扩展十六叉树数据结构的扩展方向。
示例14包括如示例13所述的装置,进一步包括偏移引擎,该偏移引擎用于计算将被放置在扩展十六叉树数据结构中的时空数据输入请求的数据插入点的时空偏移。
示例15包括如示例13所述的装置,进一步包括偏移引擎,该偏移引擎用于基于时空数据输入请求来计算扩展十六叉树数据结构的尺寸。
示例16包括如示例13所述的装置,进一步包括重根引擎,该重根引擎用于建立扩展十六叉树作为新的根节点,并且用于将根十六叉树指派为扩展十六叉树的子。
示例17是一种用于改进时空数据的访问效率的计算机实现的方法,该方法包括:通过利用处理器执行指令而生成具有十六个超节点的根十六叉树数据结构;通过经由利用处理器执行指令来在该根十六叉树中生成第一程度的对称性而改进时空数据访问效率;通过利用处理器执行指令而将超节点的第一部分指派给正时间子空间;通过利用处理器执行指令而将超节点的第二部分指派给负时间子空间;以及通过在根十六叉树中生成第二程度的对称性而改进时空数据访问效率,并且将正时间子空间和负时间子空间的相应的超节点指派给相应的正空间子空间和负空间子空间,在根十六叉树中生成第二程度的对称性通过利用处理器执行程序来完成。
示例18包括如示例17所述的方法,进一步包括:将相应的正空间子空间和负空间子空间指派到x轴空间维度、y轴空间维度和z轴空间维度。
示例19包括如示例17所述的方法,进一步包括:建立根十六叉树数据结构的超空间中心。
示例20包括如示例19所述的方法,其中,第一程度的对称性是关于根十六叉树数据结构的超空间中心的。
示例21包括如示例20所述的方法,进一步包括:将超节点的第一部分与大于同超空间中心相关联的时间值的时间数据相关联。
示例22包括如示例20所述的方法,进一步包括:将超节点的第二部分与小于同超空间中心相关联的时间值的时间数据相关联。
示例23包括如示例19所述的方法,进一步包括:将相应的正空间子空间与大于同超空间中心相关联的空间值的空间数据相关联。
示例24包括如示例19所述的方法,进一步包括:将相应的负空间子空间与小于同超空间中心相关联的空间值的空间数据相关联。
示例25包括如示例17所述的方法,进一步包括:响应于时空数据输入请求而从代理提取时空数据。
示例26包括如示例25所述的方法,其中,时空数据包括空间坐标数据或时间数据中的至少一者。
示例27包括如示例25所述的方法,进一步包括:确定时空数据的空间分辨率或时空数据的时间分辨率中的至少一者。
示例28包括如示例25所述的方法,进一步包括:计算时空数据输入请求的相应的值是否在所述根十六叉节点的空间-时间边界内。
示例29包括如示例28所述的方法,进一步包括:响应于确定时空数据输入请求在根十六叉树的空间-时间边界之外而计算扩展十六叉树数据结构的扩展方向。
示例30包括如示例29所述的方法,进一步包括:计算将被放置在扩展十六叉树数据结构中的时空数据输入请求的数据插入点的时空偏移。
示例31包括如示例29所述的方法,进一步包括:基于时空数据输入请求来计算扩展十六叉树数据结构的尺寸。
示例32包括如示例29所述的方法,进一步包括:建立扩展十六叉树作为新的根节点;以及将根十六叉树指派为扩展十六叉树的子。
示例33是一种有形计算机可读介质,包括指令,这些指令在被执行时,使得处理器进行至少以下操作:生成具有十六个超节点的十六叉树数据结构;通过在根十六叉树中生成第一程度的对称性来改进时空数据访问效率;将超节点的第一部分指派给正时间子空间;将该超节点的第二部分指派给负时间子空间;以及通过在根十六叉树中生成第二程度的对称性并且将正时间子空间和负时间子空间的相应超节点指派给相应的正空间子空间和负空间子空间来改进时空数据访问效率。
示例34包括如示例33所述的示例有形计算机可读介质,其中,指令在被执行时进一步使得处理器将相应的正空间子空间和负空间子空间指派到x轴空间维度、y轴空间维度和z轴空间维度。
示例35包括如示例33所述的示例有形计算机可读介质,其中,指令在被执行时进一步使得处理器建立根十六叉树数据结构的超空间中心。
示例36包括如示例35所述的示例有形计算机可读介质,其中,指令在被执行时进一步使得处理器关于根十六叉树数据结构的超空间中心标识第一程度的对称性。
示例37包括如示例36所述的示例有形计算机可读介质,其中,指令在被执行时进一步使得处理器将超节点的第一部分与大于同超空间中心相关联的时间值的时间数据相关联。
示例38包括如示例36所述的示例有形计算机可读介质,其中,指令在被执行时进一步使得处理器将超节点的第二部分与小于同超空间中心相关联的时间值的时间数据相关联。
示例39包括如示例35所述的示例有形计算机可读介质,其中,指令在被执行时进一步使得处理器将相应的正空间子空间与大于同超空间中心相关联的空间值的空间数据相关联。
示例40包括如示例35所述的示例有形计算机可读介质,其中,指令在被执行时进一步使得处理器将相应的负空间子空间与小于同超空间中心相关联的空间值的空间数据相关联。
示例41包括如示例33所述的示例有形计算机可读介质,其中,指令在被执行时进一步使得处理器响应于时空数据输入请求而从代理提取时空数据。
示例42包括如示例41所述的示例有形计算机可读介质,其中,指令在被执行时进一步使得处理器包括空间坐标数据或时间数据中的至少一者作为时空数据。
示例43包括如示例41所述的示例有形计算机可读介质,其中,指令在被执行时进一步使得处理器确定时空数据的空间分辨率或时空数据的时间分辨率中的至少一者。
示例44包括如示例41所述的示例有形计算机可读介质,其中,指令在被执行时进一步使得处理器计算时空数据输入请求的相应的值是否在根十六叉节点的空间-时间边界内。
示例45包括如示例44所述的示例有形计算机可读介质,其中,指令在被执行时进一步使得处理器响应于确定时空数据输入请求在根十六叉树的空间-时间边界之外而计算扩展十六叉树数据结构的扩展方向。
示例46包括如示例45所述的示例有形计算机可读介质,其中,指令在被执行时进一步使得处理器计算将被放置在扩展十六叉树数据结构中的时空数据输入请求的数据插入点的时空偏移。
示例47包括如示例45所述的示例有形计算机可读介质,其中,指令在被执行时进一步使得处理器基于时空输入请求来计算扩展十六叉树数据结构的尺寸。
示例48包括如示例45所述的示例有形计算机可读介质,其中,指令在被执行时进一步使得处理器建立扩展十六叉树作为新的根节点,并且将根十六叉树指派为扩展十六叉树的子。
示例49是一种用于改进时空数据的访问效率的系统,该系统包括:用于生成具有十六个超节点的十六叉树数据结构的装置;用于通过在根十六叉树中生成第一程度的对称性来改进时空数据访问效率的装置;用于将超节点的第一部分指派给正时间子空间的装置;用于将该超节点的第二部分指派给负时间子空间的装置;以及用于通过在根十六叉树中生成第二程度的对称性来改进时空数据访问效率并且用于将正时间子空间和负时间子空间的相应超节点指派给相应的正空间子空间和负空间子空间的装置。
示例50包括如示例49所述的系统,进一步包括:用于将相应的正空间子空间和负空间子空间指派到x轴空间维度、y轴空间维度和z轴空间维度的装置。
示例51包括如示例49所述的系统,进一步包括:用于建立根十六叉树数据结构的超空间中心的装置。
示例52包括如示例51所述的系统,其中,第一程度的对称性是关于根十六叉树数据结构的超空间中心的。
示例53包括如示例52所述的系统,进一步包括:用于将超节点的第一部分与大于同超空间中心相关联的时间值的时间数据相关联的装置。
示例54包括如示例52所述的系统,进一步包括:用于将超节点的第二部分与小于同超空间中心相关联的时间值的时间数据相关联的装置。
示例55包括如示例51所述的系统,进一步包括:用于将相应的正空间子空间与大于同超空间中心相关联的空间值的空间数据相关联的装置。
示例56包括如示例51所述的系统,进一步包括:用于将相应的负空间子空间与小于同超空间中心相关联的空间值的空间数据相关联的装置。
示例57包括如示例49所述的系统,进一步包括:用于响应于时空数据输入请求而从代理提取时空数据的装置。
示例58包括如示例57所述的系统,其中,时空数据包括空间坐标数据或时间数据中的至少一者。
示例59包括如示例57所述的系统,进一步包括:用于确定时空数据的空间分辨率或时空数据的时间分辨率中的至少一者的装置。
示例60包括如示例57所述的系统,进一步包括:用于计算时空数据输入请求的相应的值是否在所述根十六叉节点的空间-时间边界内的装置。
示例61包括如示例60所述的系统,进一步包括:用于响应于确定时空数据输入请求在根十六叉树的空间-时间边界之外而计算扩展十六叉树数据结构的扩展方向的装置。
示例62包括如示例61所述的系统,进一步包括:用于计算将被放置在扩展十六叉树数据结构中的时空数据输入请求的数据插入点的时空偏移的装置。
示例63包括如示例61所述的系统,进一步包括:用于基于时空数据输入请求来计算扩展十六叉树数据结构的尺寸的装置。
示例64包括如示例61所述的方法,进一步包括:用于建立扩展十六叉树作为新的根节点并且将根十六叉树指派为扩展十六叉树的子的装置。
尽管本文中已公开了某些示例方法、设备和制品,但本专利涵盖的范围并不限于此。相反,本专利涵盖落入本专利权利要求范围内的全部方法、设备和制品。

Claims (25)

1.一种用于改进时空数据的访问效率的装置,包括:
超体素数据结构生成器,用于生成具有十六个超节点的根十六叉树数据结构;
八叉树管理器,用于通过在所述根十六叉树中生成第一程度的对称性来改进时空数据访问效率,所述八叉树管理器用于将所述超节点的第一部分指派给正时间子空间以及用于将所述超节点的第二部分指派给负时间子空间;以及
四叉树管理器,用于通过在所述根十六叉树中生成第二程度的对称性来改进所述时空数据访问效率,所述四叉树管理器用于将所述正时间子空间的相应的超节点和所述负时间子空间的相应的超节点指派给相应的正空间子空间和相应的负空间子空间。
2.如权利要求1所述的装置,其中,所述四叉树管理器用于将所述相应的正空间子空间和相应的负空间子空间指派到x轴空间维度、y轴空间维度和z轴空间维度。
3.如权利要求1所述的装置,其中,所述超体素数据结构用于建立所述根十六叉树数据结构的超空间中心。
4.如权利要求3所述的装置,其中,所述四叉树管理器用于将所述相应的正空间子空间与大于同所述超空间中心相关联的空间值的空间数据相关联。
5.如权利要求3所述的装置,其中,所述四叉树管理器用于将所述相应的负空间子空间与小于同所述超空间中心相关联的空间值的空间数据相关联。
6.如权利要求3所述的装置,其中,所述第一程度的对称性是关于所述根十六叉树数据结构的所述超空间中心的。
7.如权利要求6所述的装置,其中,所述八叉树管理器用于将所述超节点的所述第一部分与大于同所述超空间中心相关联的时间值的时间数据相关联。
8.如权利要求6所述的装置,其中,所述八叉树管理器用于将所述超节点的所述第二部分与小于同所述超空间中心相关联的时间值的时间数据相关联。
9.如权利要求1所述的装置,进一步包括空间-时间点分析器,所述空间-时间点分析器用于响应于时空数据输入请求而从代理提取时空数据。
10.如权利要求9所述的装置,其中,所述时空数据包括空间坐标数据或时间数据中的至少一者。
11.如权利要求9所述的装置,其中,所述空间-时间点分析器用于确定所述时空数据的空间分辨率或所述时空数据的时间分辨率中的至少一者。
12.一种用于改进时空数据的访问效率的计算机实现的方法,包括:
通过利用处理器执行指令而生成具有十六个超节点的根十六叉树数据结构;
通过经由利用所述处理器执行指令来在所述根十六叉树中生成第一程度的对称性而改进时空数据访问效率;
通过利用所述处理器执行指令而将所述超节点的第一部分指派给正时间子空间;
通过利用所述处理器执行指令而将所述超节点的第二部分指派给负时间子空间;以及
通过经由利用所述处理器执行指令来在所述根十六叉树中生成第二程度的对称性而改进所述时空数据访问效率,并且将所述正时间子空间的相应的超节点和所述负时间子空间的相应的超节点指派给相应的正空间子空间和相应的负空间子空间。
13.如权利要求12所述的方法,进一步包括:响应于时空数据输入请求而从代理提取时空数据。
14.如权利要求13所述的方法,其中,所述时空数据包括空间坐标数据或时间数据中的至少一者。
15.如权利要求13所述的方法,进一步包括:确定所述时空数据的空间分辨率或所述时空数据的时间分辨率中的至少一者。
16.如权利要求13所述的方法,进一步包括:计算所述时空数据输入请求的相应的值是否在所述根十六叉节点的空间-时间边界内。
17.一种用于提高时空数据的访问效率的系统,包括:
用于生成具有十六个超节点的根十六叉树数据结构的装置;
用于通过在所述根十六叉树中生成第一程度的对称性来改进时空数据访问效率的装置;
用于将所述超节点的第一部分指派给正时间子空间以及用于将所述超节点的第二部分指派给负时间子空间的装置;以及
用于通过在所述根十六叉树中生成第二程度的对称性来改进所述时空数据访问效率并且将所述正时间子空间的相应的超节点和所述负时间子空间的相应的超节点指派给相应的正空间子空间和相应的负空间子空间的装置。
18.如权利要求17所述的系统,进一步包括:用于将所述相应的正空间子空间和相应的负空间子空间指派到x轴空间维度、y轴空间维度和z轴空间维度的装置。
19.如权利要求17所述的系统,进一步包括:用于建立所述根十六叉树数据结构的超空间中心的装置。
20.如权利要求19所述的系统,其中,所述第一程度的对称性是关于所述根十六叉树数据结构的所述超空间中心的。
21.如权利要求20所述的系统,进一步包括:用于将所述超节点的所述第一部分与大于同所述超空间中心相关联的时间值的时间数据相关联的装置。
22.如权利要求20所述的系统,进一步包括:用于将所述超节点的所述第二部分与小于同所述超空间中心相关联的时间值的时间数据相关联的装置。
23.如权利要求19所述的系统,进一步包括:用于将所述相应的正空间子空间与大于同所述超空间中心相关联的空间值的空间数据相关联的装置。
24.如权利要求19所述的系统,进一步包括:用于将所述相应的负空间子空间与小于同所述超空间中心相关联的空间值的空间数据相关联的装置。
25.如权利要求17所述的系统,进一步包括:用于响应于时空数据输入请求而从代理提取时空数据的装置。
CN201680091025.4A 2016-12-22 2016-12-22 用于改进空间-时间数据管理的方法、系统和装置 Active CN109997123B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2016/068382 WO2018118071A1 (en) 2016-12-22 2016-12-22 Methods, systems and apparatus to improve spatial-temporal data management

Publications (2)

Publication Number Publication Date
CN109997123A CN109997123A (zh) 2019-07-09
CN109997123B true CN109997123B (zh) 2023-12-05

Family

ID=62626947

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201680091025.4A Active CN109997123B (zh) 2016-12-22 2016-12-22 用于改进空间-时间数据管理的方法、系统和装置

Country Status (4)

Country Link
US (2) US10990570B2 (zh)
EP (1) EP3559824B1 (zh)
CN (1) CN109997123B (zh)
WO (1) WO2018118071A1 (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109997123B (zh) 2016-12-22 2023-12-05 英特尔公司 用于改进空间-时间数据管理的方法、系统和装置
US11536574B2 (en) 2019-12-27 2022-12-27 Intel Corporation System and method for acceleration-based vector field maps
US11625009B2 (en) 2020-03-26 2023-04-11 Intel Corporation Non-uniform occupancy grid manager
CN116882522B (zh) * 2023-09-07 2023-11-28 湖南视觉伟业智能科技有限公司 一种分布式时空挖掘方法及系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6526176B1 (en) * 1999-10-21 2003-02-25 Lucent Technologies Inc. Efficient processing of quadtree data
CN1684109A (zh) * 2004-02-17 2005-10-19 三星电子株式会社 用于编码和解码三维数据的方法和装置
WO2015096582A1 (zh) * 2013-12-27 2015-07-02 华为技术有限公司 一种时空数据的索引建立方法、查询方法、装置及设备

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6510435B2 (en) * 1996-09-02 2003-01-21 Rudolf Bayer Database system and method of organizing an n-dimensional data set
US20040220965A1 (en) * 2003-04-30 2004-11-04 Michael Harville Indexed database structures and methods for searching path-enhanced multimedia
US20060167917A1 (en) * 2005-01-21 2006-07-27 Solomon Research Llc System, methods and apparatus for complex behaviors of collectives of intelligent mobile software agents
CN109997123B (zh) * 2016-12-22 2023-12-05 英特尔公司 用于改进空间-时间数据管理的方法、系统和装置
CN110351662B (zh) * 2018-04-04 2021-08-20 华为技术有限公司 一种端云协同的方法、平台和装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6526176B1 (en) * 1999-10-21 2003-02-25 Lucent Technologies Inc. Efficient processing of quadtree data
CN1684109A (zh) * 2004-02-17 2005-10-19 三星电子株式会社 用于编码和解码三维数据的方法和装置
WO2015096582A1 (zh) * 2013-12-27 2015-07-02 华为技术有限公司 一种时空数据的索引建立方法、查询方法、装置及设备

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
一种八叉树和三维R树集成的激光点云数据管理方法;龚俊等;《测绘学报》;20120815(第04期);全文 *

Also Published As

Publication number Publication date
US20220067012A1 (en) 2022-03-03
US20190197029A1 (en) 2019-06-27
WO2018118071A1 (en) 2018-06-28
CN109997123A (zh) 2019-07-09
EP3559824A1 (en) 2019-10-30
US10990570B2 (en) 2021-04-27
EP3559824B1 (en) 2021-06-09
US11860846B2 (en) 2024-01-02
WO2018118071A9 (en) 2019-03-14
EP3559824A4 (en) 2020-05-06

Similar Documents

Publication Publication Date Title
JP6745328B2 (ja) 点群データを復旧するための方法及び装置
US11860846B2 (en) Methods, systems and apparatus to improve spatial-temporal data management
EP3506212B1 (en) Method and apparatus for generating raster map
US11710259B2 (en) Predictive tree coding for point cloud coding
EP3779358A1 (en) Map element extraction method and apparatus, and server
WO2018148924A1 (zh) 用于三维点云重建的方法和装置
CN111968229A (zh) 高精度地图制图方法及装置
US11238641B2 (en) Architecture for contextual memories in map representation for 3D reconstruction and navigation
CN111090712A (zh) 一种数据处理方法、装置、设备及计算机存储介质
US11429581B2 (en) Spatial-temporal query for cognitive IoT contexts
CN115080797A (zh) 一种基于知识图谱的数字孪生车间多尺度关联方法
CN116912817A (zh) 三维场景模型拆分方法、装置、电子设备和存储介质
CN110377776B (zh) 生成点云数据的方法和装置
CN115147561A (zh) 位姿图生成方法、高精地图生成方法和装置
CN115619954A (zh) 稀疏语义地图的构建方法、装置、设备及存储介质
CN115391310A (zh) 数据迁移方法、装置、设备以及存储介质
CN113808196A (zh) 平面融合定位方法、装置、电子设备及存储介质
CN114578843A (zh) 飞行路径规划方法、装置、飞行器及存储介质
Funk et al. Infinite, sparse 3d modelling volumes
CN115512065B (zh) 一种基于分块化的大规模场景下实时地图构建方法和装置
CN111870954B (zh) 一种高度图生成方法、装置、设备及存储介质
CN116737740A (zh) 三维点云地图的更新方法及装置
CN117788741A (zh) 基于点云的建筑物模型重建方法、装置、设备及存储介质
Wang et al. An Enhanced Visual SLAM Algorithm for Indoor Scenes based on ORB Features
CN117217257A (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