用于混合虚拟和实体楼层地图的技术的制作方法

文档序号:12356453阅读:299来源:国知局
用于混合虚拟和实体楼层地图的技术的制作方法与工艺

技术领域

本申请中描述的实施例一般涉及将建筑物(structure)的内部的楼层的虚拟地图与其实体地图混合以在其中实现位置跟踪。

背景

通过接收来自多个全球定位系统(GPS)卫星的无线信号并从那些信号内的定时的指示导出当前位置,计算设备早就提供了跟踪相对于地球表面的位置的能力。此外,不光简单地指示当前位置的当前一组坐标,计算设备早就提供了将当前位置与地球表面的地图相关联以在地图上提供当前位置的视觉表示的能力。因此,这样的计算设备(不论是手持还是被安装在车辆内)的用户早就能够在任何给定时刻看到他们身在地球表面何处的视觉表示。

进一步,许多这样的地图已经包括当前位置附近的与感兴趣的项目有关的信息,包括商业、公共服务、地址等等。因此,接收GPS信号的这样的计算设备的用户早就能够看到为了获得产品或服务、找到地址等等而去他们当前附近何处的指示。

不幸的是,一旦那些设备的用户进入室内和/或在建筑物或阻挡访问GPS信号的其它地层(formation)下方时,由计算设备提供的这些功能的可用性通常停止。取决于这样的建筑物的多个部分的厚度和/或材料组成,对GPS信号的访问会变得断断续续或失真,或完全被中断。因此,一旦在室内时,这样的计算设备的用户通常被迫依赖使用安装在墙上或海报中的更传统的地图来分辨他们的当前位置。

附图简述

图1示出地图混合系统的实施例。

图2-4分别显示了实施例的部分。

图5示出根据实施例的虚拟地图和相应的点图的产生。

图6示出根据实施例的路径地图和相应的点图的产生。

图7示出根据实施例的锚点的指定。

图8-9分别示出根据实施例的对虚拟地图的操纵。

图10-11分别示出根据实施例的流程图。

图12示出根据实施例的处理架构。

详细描述

各个实施例一般地涉及用于将从在建筑物内部附近移动的计算设备的传感器导出的虚拟地图与相应的实体地图(physical map)混合的技术。更具体地,当那些计算设备在内部附近(例如该建筑物的楼层的至少部分)移动时,随时间从由计算设备的传感器获得的测量结果导出虚拟地图。然后处理实体地图以从其中包含的其它数据提取实体路径数据,从而产生路径地图。然后在多级过程中操纵该虚拟地图以使其与路径地图对准。然后将虚拟地图和路径地图的对准与实体地图相关联,从而实现虚拟地图与实体地图的混合以形成混合地图。在这样的混合之后,可将与该虚拟地图中指示的感兴趣项目相关的其它信息纳入到混合地图中。

取决于该内部之内存在什么特征以及向那些计算设备中纳入了什么传感器,虚拟地图的形成可能基于与罗盘航向(compass heading)和/或感测到的加速相关的移动、墙壁的接近程度和/或通过声学方式检测到的其它特征、和/或无线电信号的相对强度和/或发射器的位置。可设想,虚拟地图的形成可依赖于按照可被描述为对来自多个计算设备的传感器数据的“群众外包(crowd-sourcing)”形式的方式将这样的传感器数据的多个部分组合,其中多个计算设备随时间已经被运输通过该内部的多个部分。对来自多个设备的传感器数据的这样的使用被设想为对纳入典型的计算设备的传感器的精确度的限制进行补偿,所述计算设备可能由它们各自的用户携带通过该内部的多个部分。在从传感器数据的许多片段导出虚拟地图时,可采用统计分析方法以去除统计上异常的传感器数据的片段。

可设想,实体地图可从占据该内部的任何公司、政府或其它实体的服务器获得。很容易推测的是,实体地图可能包括除了实现通过内部的移动的实体路径之外的数据,诸如喷泉、灭火器、除纤颤器、公用电话、结构柱等等的位置。因此,执行对实体路径数据的提取以导出路径地图,以滤除这样的其它信息片段。

在包括至少一个粗糙级和至少一个精细级的至少两个级中执行虚拟地图与路径地图的对准,以减少处理需求。在这样的级中,采用最小化对准中的误差的度量的算法来导出对准,然后将该对准用于将实体地图与虚拟地图混合以产生混合地图。在混合地图产生之后,可给混合地图加上虚拟地图中指示的所选感兴趣项目的指示,这些指示可能已被计算设备的传感器检测到。

一般参考本申请中使用的符号和术语,以下的详细描述的多个部分可按照在计算机或计算机网络上执行的程序过程来呈现。本领域普通技术人员使用这些程序描述和表示来将他们工作的实质最有效地传递给本领域其它技术人员。在此并且一般地,过程被理解为导致期望结果的自洽的操作序列。这些操作是需要对物理量的物理操纵的那些操作。虽然不是一定,但通常这些量采取能够被存储、传输、组合、比较并以其它方式被操纵的电的、磁的或光信号的形式。主要出于通用的理由,将这些信号称为位、值、元素、符号、字符、项、数字等等不时被证明是方便的。然而,应注意,这些术语和相似术语全部与适当的物理量相关联,并且仅仅是应用于那些量的方便标签。

此外,通常以诸如相加或比较之类的常见与操作人员所执行的智力操作相关联的术语来提及这些操纵。然而,在本申请中描述的形成一个或多个实施例的部分的任一操作中,在大多数情况下不必要或不需要操作人员具备这样的能力。更准确地,这些操作是机器操作。用于执行各个实施例的操作的有用机器包括通过存储在其中的根据本申请中的教导来编写的计算机程序选择性地激活或配置的通用数字计算机,和/或包括针对要求目的而特别构造的装置。各个实施例还涉及用于执行这些操作的装置或系统。可针对要求目的特别构造这些装置,或这些装置可包括通用计算机。根据给出的说明书,用于各种这些机器的要求结构将变得明显。

现在参考附图,其中相似的附图标记在通篇中用于表示相似元件。在下面的描述中,出于说明目的,阐述了众多具体细节以便提供对本发明的全面理解。然而,在没有这些特定细节时显然也可实施新颖的实施例。在其他实例中,以框图形式示出了公知的结构和设备以便于本申请的描述。其意图在于覆盖落在权利要求范围内的所有修改、等价方案以及替代方案。

图1是包含计算设备100a-c、计算设备300和地图服务器500中的一个或多个的地图混合系统1000的实施例的框图。这些计算设备中的每一个可以是各种类型的计算设备中的任一种,包括但不限于,桌面计算机系统、数据输入终端、膝上计算机、上网本计算机、平板计算机、手持个人数据助理、智能电话、数字相机、包含到服装中的身体穿戴式计算设备、集成到车辆(例如轿车、自行车、轮椅等等)中的计算设备、服务器、服务器集群、服务器群等等。

如所描绘,这些计算设备100a-c、300和500通过网络999交换传递与建筑物的内部有关的传感器数据和/或地图数据的信号。然而,这些计算设备中的一个或多个可经由网络999彼此交换和/或与别的其它计算设备(未示出)交换与建筑物内部完全无关的其它数据。在各个实施例中,网络可以是限于在单个建筑或其它相对有限区域内扩展的单个网络、可能扩展相当距离的连接网络的组合、和/或包括因特网。因此,网络999可基于各种通信技术中的任一种(或其组合),信号可通过这些通信技术进行交换,这些通信技术包括但不限于采用导电的和/或导光的缆线的有线技术以及采用红外、射频的无线技术或其它形式的无线传输。

应当注意,虽然描绘了用于收集建筑物的内部的传感(sensory)信息的计算机设备100a-c的特定数量为3,但这样的计算设备数量是为了理解而给出的示例。如将更详细描述,可构想将可依赖于更大数量的计算设备来收集这些数据以改善准确度。

在各个实施例中,计算设备100a-c中的每一个包含处理器组件150、存储器160、控件120、显示器180以及接口190中的一个或多个,该接口190用于将计算设备100a-c中的每一个耦合至网络999。存储器160存储以下中的一个或多个:控制例程140、传感器数据130a-c中的相应一个、以及混合地图338。在各个实施例中,计算设备300包含处理器组件350、存储器360、控件320、显示器380以及接口390中的一个或多个,该接口190用于将计算设备300耦合至网络999。存储器360存储以下中的一个或多个:控制例程340、传感器数据130a-c中的一个或多个、虚拟地图331、点图332、项目数据333、路径地图335、另一点图336、混合地图338以及实体地图530。

在计算设备100a-c中的每一个中,控制例程140包含在作为主处理器组件的处理器组件150上操作的指令序列,以实现执行各种功能的逻辑。在执行控制例程140时,当计算设备100a-c中的相应一个计算设备被移动通过建筑物内部时,处理器组件150接收来自一个或多个传感器110的信号,并将来自传感器110的那些信号中传递的传感信息的指示存储为传感器数据130a-c中的相应一个传感器数据。因此,传感器数据130a-c中的每一个表示当计算设备100a-c中的每一个计算设备被移动通过该内部的至少部分时每一个计算设备的传感器110分别检测到的数据,由此形成通过该内部的至少一个路径的虚拟表示。如将更详细说明的,传感信息的实际本质取决于一个或多个传感器100的类型和准确度。在各个间隔和/或在被计算设备300发信号通知时,计算设备100a-c中的每一个计算设备的处理器组件150经由网络999将传感器数据130a-c中的其相应的传感器数据传输至计算设备300。

控制例程340包含在作为计算设备300的主处理器组件的处理器组件350上操作的指令序列,用以实现执行各种功能的逻辑。在执行控制例程340时,处理器组件350接收来自计算设备100a-c中的相应计算设备的传感器数据130a-c,并根据该传感器数据产生虚拟地图331。如本领域普通技术人员所熟悉,可采用各种算法中的任一种来根据传感器数据130a-c产生虚拟地图331,并且产生虚拟地图的具体方式超出了本申请的范围。

在执行控制例程340时,处理器组件350还接收来自地图服务器500的实体地图530,并从该实体地图提取实体路径数据以产生路径地图335。同样,可设想实体地图530是该建筑物的内部的楼层的至少部分的实体布置的地图,该地图指示了穿过它实现移动的实体路径以及其中可能感兴趣的项目的位置。如本领域普通技术人员所熟悉,不存在已成为用于组织或存储表示地图的数据的主流或“事实”标准的一种类型的数据结构,并且不存在用于将与路径有关的信息和/或感兴趣项目的指示纳入该数据中的方式的主流或事实标准。因此,可设想控制例程340包含一种或多种算法以从实体地图530至少提取指示实体路径的数据,同时容纳组织或存储实体地图530的数据的各种类型的数据结构中的任一种。所提取的实体路径的指示被存储为路径地图335。

在执行控制例程340时,处理器组件350还按照各种方式相对于路径地图335来操纵虚拟地图331,以将虚拟地图331的虚拟路径与路径地图335的实体路径对齐。同样,在多个级中执行该对准。执行至少一个“较粗糙”级,其中按照相对较大(例如“更粗糙”)的旋转度增量和/或尺度改变百分比来相对于路径地图335转动和/或按比例调节虚拟地图的尺寸,以开始将虚拟地图331与路径地图335对准。然后,执行至少一个“更精细”级,其中按照相对较小(例如“更精细”)的增量相对于路径地图335转动和/或按比例重新调节虚拟地图的尺寸。与仅尝试全部范围的更精细增量的可称为“幼稚”的方法相比,至少一个更粗糙级然后至少一个更精细级的此类方法使得能以对处理器组件350的需求更少的方式以更少时间执行对准。在执行更粗糙和更精细级二者时,采用在每一级尝试的每个增量的误差度的度量来确定何时在每一级已实现可能的最佳对准。

在执行控制例程340时,处理器组件350仍进一步采用虚拟地图331与路径地图335之间实现的对准来指导虚拟地图331与实体地图350的混合以产生混合地图338。换句话说,假定路径地图335是从虚拟地图350中导出,则虚拟地图331与路径地图335之间的对准的实现可与将虚拟地图331与实体地图530对准相关联。因此,所得的混合地图338包含计算设备的用户能够看到的实体地图530的所有细节以及虚拟地图331的虚拟路径的指示,这些指示能被那些计算设备用来确定它们相对于实体地图530中原始指示的可能感兴趣项目的位置的当前位置。

如已经讨论,可认为给混合地图339增加被计算设备100a-c的传感器100删除的各种感兴趣项目的位置的指示是合乎需要的。因此,在虚拟地图331的产生期间,可收集与来自传感器数据110a-c中的一个或多个传感器数据的感兴趣项目的位置有关的数据,并将其存储为项目数据333。然后,在混合地图338产生之后,然后可向混合地图338添加项目数据333的感兴趣项目的指示。在混合地图338产生之后,不论是否添加感兴趣项目的位置的指示,处理器组件350将混合地图339传送给计算设备100a-c中的一个或多个。

返回至计算设备100a-c,在执行控制例程140时,计算设备100a-c中的一个或多个计算设备的处理器组件150接收混合地图338,并将其至少一部分视觉地呈现在显示器180上。通过将当前传感信息与混合地图338的数据相关联,采用传感器110来确定计算设备100a-c中的各个计算设备在混合地图338上的当前位置,该混合地图338与根据这些传感器数据产生的虚拟地图331相关联。在混合地图338包含感兴趣项目的指示的情况下,可将那些项目中至少位于当前位置附近的项目可视地呈现在显示器180上。

处理器元件150可进一步监测控件120以接收指示计算设备100a-c中的一个或多个计算设备的用户对控件120的手动操作以提供与感兴趣项目有关的信息的信号。这可在以下步骤中的一个或二者期间进行:收集传感信息,虚拟地图331(以及最终的混合地图338)是根据传感信息产生的;以及收集传感器信息,以确定在混合地图338上的当前位置。因此,可将此类信息包含在被提供给计算设备300或纳入混合地图338的传感器数据130a-c中的一个或多个传感器数据中,然后可将其中继回到计算设备300以增加存储在存储器360中的混合地图338的副本。

在各个实施例中,处理器组件150和350中的每一个可包括商业上可获得的各种各样的处理器中的任一种。此外,这些处理器组件中的一个或多个可包括多个处理器、多线程处理器、多核处理器(不论多个核共存于同一管芯还是不同管芯)和/或一些其它各种各样的多处理器架构,多个物理上分离的处理器通过这些多处理器架构以某种方式链接。

在各个实施例中,存储器160和360中的每一个可基于各种各样的信息存储技术中的任一种,这些信息存储技术可能包括要求不间断提供电源的易失性技术,并且可能包括需要使用可能或可能不可移动的机器可读存储介质。因此,这些存储器中的每一个可包括各种各样类型(或组合类型)的存储设备中的任一种,包括但不限于只读存储器(ROM)、随机存取存储器(RAM)、动态RAM(DRAM)、双数据速率DRAM(DDR-DRAM)、同步DRAM(SDRAM)、静态RAM(SRAM)、可编程ROM(PROM)、可擦除可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)、闪存、聚合物存储器(例如铁电聚合物存储器)、奥氏存储器(ovonic memory)、相变或铁电存储器、硅-氧化物-氮化物-氧化物-硅(SONOS)存储器、磁或光卡、一个或多个单个铁磁性盘驱动器或被组织成一个或多个阵列的多个存储设备(例如被组织成独立盘冗余阵列或RAID阵列的多个铁磁盘驱动器)。应当注意,虽然这些存储器中的每一个被描绘为单个块,但这些块中的一个或多个可包括可基于不同的存储技术的多个存储设备。因此,例如,所描绘的这些存储器中的一个或多个可表示以下项的组合:光驱动器或闪存卡读取器,可通过该光驱动器或闪存卡读取器在一些形式的机器可读存储介质上存储并传递程序和/或数据;铁磁盘驱动器,用于将程序和/或数据本地存储相对延长周期;以及一个或多个易失性固态存储器设备,实现对程序和/或数据的相对快速访问(例如SRAM或DRAM)。应当注意,这些存储器中的每一个可由基于相同存储技术的多个不同存储组件组成,但可由于专用而被单独地维持(例如,一些DRAM设备被用作主存储器,而其它DRAM设备被用作图形控制器的不同帧缓冲器)。

在各个实施例中,如已描述的,接口190和390中的每一个可使用能够使计算设备耦合至其他设备的各种信令技术的任何技术。这些接口中的每一个可包括提供至少一些必须功能以实现这种耦合的电路。然而,这些接口中的每一个还可用由处理器组件中的相应的组件执行的指令序列至少部分地实现(例如,以实现协议栈或其他特征)。在使用电和/或光学传导电缆的情况下,这些接口可使用符合各种行业标准的任一种的信令和/或协议,包括但不限于,RS-232C、RS-422、USB、因特网(IEEE-802.3)或IEEE-1394。在需要使用无线信号传输的情况下,这些接口可使用符合各种行业标准的中任一种的信令和/或协议,包括但不限于,IEEE 802.11a、802.11b、802.11g、802.16、802.20(通常被称为“移动宽带无线接入”);蓝牙;ZigBee;或蜂窝无线电话服务,诸如具有通用分组无线电服务的GSM(GSM/GPRS)、CDMA/1xRTT、增强型数据率全球演进(EDGE)、仅数据演进/数据优化(EV-DO)、数据和语音演进(EV-DV)、高速下行链路分组接入(HSDPA)、高速上行链路分组接入(HSUPA)、4G LTE等等。

图2、3和4为图1的地图混合系统1000的实施例的一部分的简化框图。这些图的每一个描绘了在不同阶段混合虚拟地图331和实体地图530的操作的方面。更具体地,图2描绘了在准备导出虚拟地图331时通过计算设备100a收集传感器数据130a的方面。图3描绘了从传感器数据130a-c产生虚拟地图331、从实体地图530产生路径地图335、以及混合这些地图以通过计算设备300产生混合地图338的方面。图4描绘了通过计算设备100a的混合地图338及其上的当前位置至少一部分的视觉表示的方面。

在各个实施例中,控制例程140和340中的每一个可包括操作系统、设备驱动器、和/或应用级例程(例如,设置在盘介质上的所谓的“软件套装”,从远程服务器获得的“小程序(applet)”等)。在包括操作系统的情况下,操作系统可以是适用于处理器组件150或350的任何相应的处理器组件的各种可用操作系统的任一种。在包括一个或多个设备驱动器的情况下,这些设备驱动器可提供对各种其他组件的任一种的支持,不论是计算机系统100或300的对应的计算机系统的硬件还是软件组件。

控制例程140和340的每一个可包括或以其他方式连接至通过处理器组件150和350可执行的通信组件149和349,以分别操作接口190和390,从而如已描述的经由网络999传输和接收信号。其中所接收的信号可以是经由网络999在计算设备100a-c和/或300中的一个或多个中传递传感器数据100a-c、实体地图530和/或混合地图338的信号。如本领域普通技术人员所熟悉的,这些通信组件的每一个被选择成可采用选择成实现接口190和390中的对应接口的任何类型的接口技术进行操作。

更具体地返回图2,控制例程140的收集组件141接收至少传递来自一个或多个传感器110的传感信息、将该传感信息存储作为传感器数据130a、并将其传输至计算设备300的信号。如所述的,传感器110可包括各种类型的传感器中的一种或多种,包括但不限于,罗盘111、加速度计112、陀螺仪113、和可能与扬声器114配对的话筒115。而且,在接口190包含无线通信的能力的情况下,接口190除在无线通信中使用之外还可用作传感器。还可从控件120接收信号,该信号指示由其用户手动输入有关计算设备100a的当前位置的进一步信息。

收集组件141根据从传感器110接收的传感信息至少部分地导出虚拟路径(计算设备100a沿着该虚拟路径移动通过建筑物的内部),并将该虚拟路径的指示存储为传感器数据130a。在各个可能的实施例中,传感器数据130a中指示内容的确切性质至少部分地取决于何种类型的传感器被包括作为传感器110的一部分。作为示例,在罗盘111、加速度计112、和陀螺仪113中的一个或多个被包括在传感器110中的情况下,传感器数据130a可能指示参考罗盘航向和/或以其他方式提供在虚拟路径的方向改变的点处所转动的角度的相对精确的确定的虚拟路径。作为另一示例,在接口190用作传感器并且能够监测来自内部中的无线接入点和/或其他无线设备的信号的方向和/或相对强度的情况下,传感器数据130a可能指示作为从该所检测的信号沿着其长度的相对距离和/或方向的虚拟路径。作为又一示例,在话筒115和扬声器114一起用于执行回波定位的情况下,传感器数据130a可能指示作为距离内部的一个或多个壁的相对距离的虚拟路径,基本指示平行于壁相对延伸和/或远离壁延伸的虚拟路径的部分。而且,收集组件141还可接受从控件120(例如,键盘、触摸屏、滚球式定点设备、触笔等)的手动操作手动提供的用户的输入,用户可通过该输入指示从内部的结构特征的观察的距离和/方向。

如本领域普通技术人员所熟悉的,传感器数据130中指示内容的精确度必定取决于作为传感器110的一部分的任何传感器的精确度和作为传感器110的一部分的传感器的种类有多少。换句话说,当计算设备100a在内部附近移动时可从其中传感感觉信息的传感器的种类越多,则所得的内部的感知更完整,并且从该信息导出的虚拟路径更精确。可设想,在通常情况下通过它们的用户在附近移动的典型计算设备可具有某种程度有限的精确度和种类的传感器。这起因于假定,大多数消费品种的计算设备可被设计成提供罗盘航向、无线接入点的紧密度等的指示作为用于可能不太可能需要这种便利特征的高精确度的用户的便利特征。因此,建筑物的金属组件可能会使磁场和/或无线电场检测失真,使内部安静的声学处理可能会使用于检测附近的壁的回声定位的使用失真等,并且包括在传感器110中的任何类型的传感器被设想为不可能被设计成补偿这种困难。

更具体地返回图3,控制例程340的虚拟地图发生器341将在传感器数据130a-c的每一个中所指示的虚拟路径合并到单个虚拟地图331中。如已经讨论的,由于设想所使用的传感器可能是有限精确度的,因此可设想在传感器数据130a-c的任一个中提供的虚拟路径的指示可仅精确到有限程度。因此,可设想,虚拟地图发生器341是从多个计算设备接受传感器数据(而且,为了说明的目的,在本文中描述计算设备100a-c作为简化示例)。换句话说,可设想,所谓的“群众外包”用于提供传感器数据的多个采样作为到虚拟地图发生器341的输入,以使得能产生随事件逐步更精确的虚拟地图331的具体化(incarnation)。控制例程340的点地图发生器342解析在虚拟地图331中指示的虚拟路径以导出存在转弯的点和/或这些虚拟路径的段会合的交叉点。点地图发生器342然后将这些点的相对位置的指示存储为点地图332。

图5描绘了通过虚拟地图发生器341和点地图发生器342分别产生虚拟地图331和点地图332的示例。应当注意,图5描绘了在传感器数据130a-c的每一个中的虚拟路径的段1301的指示的某种程度的简化视图。具体而言,可设想,这些虚拟路径的段1301可能不可能被指示为完全直线并且按照所描述的这种清楚定义的直线角会合。在本文中提供该相对简单的描述以便于理解。如所述的,结合在传感器数据130a-c的每一个中指示的虚拟路径以通过虚拟地图发生器341形成虚拟地图331。然后通过点地图发生器342从虚拟地图331产生点地图332。点地图332包含点3321的相对位置的指示,在该相对位置处虚拟地图331的虚拟路径的段3311在交叉点或在虚拟路径中存在转弯之处会合。

返回至图3,控制例程340的路径提取器345解析实体地图530以从该实体地图530提取实体路径的指示,并且将这些指示存储为路径地图335。如已讨论的,由于当前不存用于存储这种数据的方式的已接受的标准,因此可尽可能设想,实体地图530的数据以各种数据结构中任一种来组织。因此,路径提取器345可包含标识来自的实体地图530的特定数据结构作为从各种可能数据结构提取的实体路径的指示的一部分。在提取这种指示时,路径提取器345将实体路径的指示与预期包括在实体地图530中的其他信息有效分离,该其他信息包括但不限于,房间数量和/或如灭火器、公用电话、饮水器、电梯等此类项目的位置的指示。

在这种提取中,标识限定实体路径的边界的轮廓,该轮廓可最初表示障碍物(如结构柱、轻微弯曲、桌子、橱柜,按出入口某种程度缩小的实例等)的位置。作为更清楚标识实体路径的一部分,路径提取器345通过填充实体路径的孔和/或平滑边界来简化这些轮廓。然后,路径提取器345产生作为连接实体路径中的交叉点和/或转弯的段的实体路径的指示。在这样做时,路径提取器345可基于许多人沿着走廊、成于立方体和/或家具之中的过道等的中间行走的趋势将这些段一般定位于轮廓化实体路径的中间。然后,控制例程340的点地图发生器346解析在路径地图335中指示的具有段的实体路径,以产生指示路径地图335的实体路径中的存在转弯的点和/或这些路径的段会合的交叉点的点地图336。

图6描绘了通过路径提取器345和点地图发生器346分别产生路径地图335和点地图336的示例。如所述的,实体地图530传递超出有关建筑物的楼层的至少一部分的路径的简单指示的大量信息。在该示例中具体描绘了进入立方体和/或房间的入口、楼层入口5301、结构柱5302和其他障碍物5305(例如,具有复印机的桌子、办公用品柜、饮水机、桌子、书柜,水景等)的位置。路径提取器345首先导出实体路径的轮廓,从而有效地简化实体地图530以将实体路径与实体地图530中指示的所有其他项目区分。路径提取器345然后简化这些实体路径的轮廓,从而填充由如柱5302的此类项目导致的这些实体路径中的“孔(hole)”,并且通过移除诸如障碍物5305之类的项目来平滑轮廓。然后路径提取器345用段3351重新定义实体路径,因此进一步简化这些实体路径的指示。而且,路径提取器345可利用人员通常沿着这些实体路径的中央中的实体路径移动的假设,而不是当他们移动时“抱着”墙壁。因此,使得路径地图335指示作为通常沿着这些实体路径的中央延伸的段3351的实体地图530的实体路径。在产生路径地图335之后,点地图发生器346从路径地图335产生点地图336。点地图336包含路径地图335的段3351在交叉点或在实体路径中存在转弯处会合的点3361的位置的指示。

再返回图3,控制例程340的混合地图发生器348从虚拟地图331、点地图332、路径地图335、点地图336和实体地图530中的一些或所有产生混合地图338。在一些实施例中,混合地图发生器348的锚固组件3482在显示器380上视觉地呈现虚拟地图331和实体地图530以及到计算设备300的操作者的请求,以通过控件320的手动操作指定虚拟地图331的特定位置与实体地图530相一致的锚固点。这种锚固点可指定成与在实体地图530中描绘的楼层的入口(例如,图6的示例的入口5301中的一个)或计算设备300的操作者能够识别的其他特征相一致。图7描绘了指定这种锚固点的示例。如刚刚所讨论的,虚拟地图331和实体地图530被视觉地呈现至操作者,并且要求操作者经由控件320指示虚拟地图331和实体地图530的每一个上的共同锚固点3382。通过如此指定的锚固点3382,在实体地图530上的锚固点的位置与路径地图335上的位置相关联。转换组件3483然后相对于路径地图335移位(转换)虚拟地图331的位置,以使每个锚固点3382的位置相一致,使得锚固点3382变成共同锚固点。

再返回至图3,假设这个锚固点(例如,锚固点3382)被指定,转换组件3483、旋转组件3484、和缩放组件3485中的每一个试图以各种方式操纵虚拟地图331以使虚拟地图331与路径地图335对齐。可设想,虚拟地图331可能需要一定程度的操纵以至少调节其比例以匹配路径地图的比例,由于不太可能认为任一方可能已经被产生成匹配另一个比例。应当注意,在调节虚拟地图331的比例时,保持虚拟地图331的虚拟路径的段的相对比例。还可设想,除非是采用可包括路径的罗盘航向的传感器数据产生的,否则虚拟地图331不太可能按照与路径地图335相同的旋转方向取向。换句话说,虽然实体地图530可指示其中实体地图530所取向的罗盘航向(例如,那种方式是磁北(magnetic North)的指示),很有可能没有传感器数据130a-c可指示它们的路径的任一路径的罗盘航向,使得虚拟地图331可能不包括其虚拟路径中的任一虚拟路径的罗盘航向的指示。很可能进一步设想,不管实体地图530和虚拟地图331被假定相重合的锚固点的指示的规定,计算设备300的操作者可能某种程度不精确地指示锚固点,使得虚拟地图331相对于路径地图335的一些量的转换(即,移位)不可避免地是使它们对齐的部分。

在各个可能实施例中,虚拟地图331相对于路径地图335的这些操纵的不同操作可以不同顺序执行。作为一个实施例中的示例,转换组件3483可首先产生虚拟地图331相对于路径地图335的转换,以使得每个锚固点相重合。然后,旋转组件3484可尝试将虚拟地图331旋转至相对于路径地图335的不同取向并且在它们的共同锚固位置附近直到在虚拟地图331的段的至少一个子集(例如,段3311的至少一个子集)和路径地图335的段的至少一个子集(例如,段3351的至少一个子集)之间实现一定程度的对齐(例如,平行)。然后,缩放组件尝试通过相对于路径地图335不同程度地使虚拟地图331放大和/或缩小,同时保持它们的共同锚固点,直到实现虚拟地图331的段与路径地图335的段的相对高度对齐(例如,重叠)。此外,在旋转和/或缩放虚拟地图331之后,转换组件3483可尝试产生虚拟地图331相对于路径地图335的进一步转换。可尝试这种进一步转换以故意使虚拟地图331和路径地图335的锚固点停止以达到一些小程度的重合,从而基于操作者可能已经指定具有仅有限精度的锚固点而使得正确的对准可能需要虚拟地图331和路径地图335的锚固点不重合的假设,来进一步提高对齐。

在执行各种转换时,一个或多个转换组件3483、旋转组件3484和缩放组件3485可以以至少两个等级(包括粗糙级和精细级)执行虚拟地图331的旋转和缩放操纵。在粗糙级中,采用所尝试的操纵之间的测量的相对较大的增量首先尝试虚拟地图331的各个操纵。然后,在精细级中,采用测量的相对较小的增量再次尝试虚拟地图331的相同操纵的一个或多个操纵。

作为示例,旋转组件3484可首先尝试以五度的增量围绕锚固点旋转虚拟地图331,从而在每个增量之后检查对齐的程度以确定虚拟地图331的这些旋转取向中的哪一个带来最紧密的对齐。然后,旋转组件3484可在从正好被发现带来最紧密的对齐的取向的旋转的每个方向中以一度的增量改变取向几度,从而在每个增量之后检查对齐的程度以确定虚拟地图331的这些旋转取向中的哪一个带来最紧密的对齐。这实现导致比在围绕锚固点从开始以一度增量旋转虚拟地图331的典型“缺乏经验”的方法更快识别最佳对齐的取向。通过使用两个等级,需要尝试更少旋转取向,从而导致以对处理器组件350的处理资源需求更少的方式更快地发现最佳对齐。

作为另一示例,缩放组件3485可首先尝试通过其原始尺寸的百分之五的增量将虚拟地图缩放至比起初始尺寸更大和/更小的尺寸,从而在每个增量之后检查对齐的程度以确定虚拟地图331的这些重新缩放的尺寸中的哪一个带来最紧密的对齐。然后,缩放组件3485可按照百分之一的增量改变虚拟地图331的比例达大于和小于带来最紧密对齐的重新调节的尺寸的小百分比,从而检测在每个增量之后的对齐程度以确定虚拟地图331的这些重新调节的尺寸中的哪一个带来甚至更好的对齐。

图8描绘了正由旋转组件3484尝试的虚拟地图331的不同旋转取向的示例,以及图9描绘了正被尝试的虚拟地图331的不同的重新调节的尺寸的示例。在图8中,尝试虚拟地图331的不同旋转取向(采用虚线描绘的),并且被尝试的每个取向从之前所尝试的取向递增地旋转所选择数量的角度。在图9中,重复地重新调节虚拟地图331以尝试不同的重新调节的尺寸(采用虚线描绘的),并且被尝试的每个重新调节的尺寸比之前所尝试的重新调节的尺寸大或小所选择的增量百分比。在图8和9中的示例中,可以看出当操纵虚拟地图331时保持共同锚固点3382。

当尝试每次转换、取向、和/或缩放操纵时,无论以粗糙增量还是精细增量,控制例程340的误差计算器3486确定所产生的对齐的程度。在一些实施例中,该对齐的程度可被确定为通过测量虚拟地图331的特征与路径地图335的特征的位置的差值之和导出的误差程度。更具体地,在虚拟地图331相对于路径地图335的每次操纵之后,测量点地图332(对应于虚拟地图331)的每个点与点地图336(对应于路径地图335)的点3361的最接近的点的位置的差值,并且计算所有这些差值之和以得出总的“误差”值。

这种计算的一个可能实施例的示例为:

E=∑Ei=∑sqrt((xi-pxi)2+(yi-pyi)2)

其中E为所有误差Ei的和,其中Ei为代表点地图332的第i个点3321的位置(xi,yi)和点地图336的点3361中的最接近点地图332的第i个点的点的位置(pxi,pyi)之间位置(在二维x和y中)的差异程度的误差。可能设想,虚拟地图331的段3311的数量可少于路径地图335的段3351的数量,并因此,点地图332的点3321的数量可少于点地图336的点3361的数量。因此,该计算可执行用于点地图332上的全部数量的点3321,使得索引i从“1”迭代至点3321的全部数量。利用该示例计算或从特征的差异的测量导出的量化误差项的其他计算,所尝试的多次测量之中的最佳旋转取向、最佳缩放尺寸和/或最佳转换位置为带来最少误差的一个旋转取向、缩放尺寸和/或转换位置(例如,虚拟地图331和路径地图335之间的点的位置的最小差异)。

一旦已充分操纵虚拟地图331使得该虚拟地图331与路径地图335对齐,通过控制例程340将虚拟地图331相对于路径地图335的对齐位置与实体地图350相关联,以实现虚拟地图331和实体地图350的混合,从而产生混合地图338。控制例程340然后向其他计算设备(例如,计算设备100a-c)提供混合地图338。

更具体地返回至图4,控制例程140的关联组件143使用混合地图338和提供计算设备100a的当前位置的指示的传感器数据130a的当前具体化,以在显示器180上视觉地呈现混合地图338的至少一个部分上的计算设备100a的当前位置。为此,关联组件将传感器数据130a的当前具体化中的当前位置的指示与已混合到混合地图338中的虚拟路径的指示相比较,以在也已混合到混合地图338中的实体路径上标识当前位置。通过将沿着这些虚拟路径的位置与沿着实体路径的位置相关联的混合地图338,混合地图338实现计算设备100a沿着实体路径的当前位置的视觉呈现,计算设备100a的操作者将该视觉呈现视觉地识别为模仿当前位置。

图10示出逻辑流程2100的一个实施例。逻辑流程2100可代表由本文所述的一个或多个实施例所执行的一些或所有操作。更具体地,逻辑流出2100可示出通过处理器组件350在至少执行控制例程340时进行的和/或通过计算设备300的其他组件进行的操作。

在2110处,通过执行控制例程(例如,控制例程340)的路径提取器使得地图混合系统的计算设备的处理器组件(例如,地图混合系统1000的计算设备300的处理器组件350)从建筑物的内部的楼层的至少一部分的实体地图(例如,实体地图530)导出实体路径的轮廓。如已经讨论的,可设想,典型实体地图可能包括超出实体路径的描述的其他信息,包括感兴趣的项目,诸如,灭火器、结构柱(structural post)等的位置。

在2120处,填充轮廓化的实体路径中的孔以去除位于实体路径的部分当中的障碍物(例如,结构柱5302)的指示。在2130处,平滑轮廓化的实体路径的边界以去除从边界侵入到实体路径的障碍物(例如,障碍物5305)的指示。障碍物的指示的去除简化了路径的位置和方向的指示。

在2140处,将实体路径重新定义为段,从而产生由这些段的布局的指示组成的路径地图。在2150处,在认识到人趋向于一般沿着走廊、过道移动的情况下,将这些段朝向轮廓化实体路径的中央定位。在2160处,执行控制例程的点地图发生器使得处理器组件确定路径地图的一个或多个段会合处的点的位置,并产生这些点的位置的点地图。

图11示出逻辑流程2200的一个实施例。逻辑流程2200可代表由本文所述的一个或多个实施例所执行的一些或所有操作。更具体地,逻辑流出2200可示出通过处理器组件350在至少执行控制例程340时进行的和/或通过计算设备300的其他组件进行的操作。

在2210处,地图混合系统的计算设备的处理器组件(例如,地图混合系统1000的计算设备300的处理器组件350)接收虚拟地图和实体地图的相应的锚固点的指示(例如,虚拟地图331和实体地图530的相应的锚固点3382)。如已经解释的,可向计算设备的操作者视觉地呈现实体地图和虚拟地图,并呈现用于指示各个地图的锚固点的请求,在该锚固点处两个地图上位置将一致。

在2220处,将从实体地图接收的锚固点的位置的指示与通过从实体地图提取实体路径的指示导出的路径地图相关联。如已经解释的,将实体地图的锚固点与其相应的路径地图相关联实现进一步处理,以将虚拟地图的虚拟路径与路径地图的实体路径对齐。

在2230处,在转换、旋转和缩放中的一个或多个中以在操纵之间所选择的粗糙增量重复地操纵虚拟地图,以确定虚拟地图的虚拟路径与路径地图的实体路径的最佳对齐。如已经解释的,在粗糙级中使用重新调节中的旋转的角度和尺寸的百分比和转换中的距离的初始粗糙增量,以寻找最佳对齐。

在2240处,在转换、旋转和缩放中的一个或多个中以在操纵之间所选择的精细增量并且从刚刚确定的最佳对齐开始进一步重复地操纵虚拟地图,以确定虚拟路径与路径地图的实体路径的甚至更好的对齐。如已经解释的,首先在粗糙级中接着是在精细极中尝试虚拟地图相对于路径地图的各种旋转取向、重新调节的尺寸和/或转换实现在更少时间内以对处理器组件的需求更少的方式确定最佳对齐。

在2250处,将通过采用粗糙和精细增量的操纵确定成甚至更好的对齐的虚拟地图与路径地图的对齐与实体地图相关联,以将虚拟地图与实体地图对齐。在2260处,利用甚至更好的对齐混合虚拟和实体地图。

图12示出了适合于实现如上所述的各个实施例的示例性处理架构3000的实施例。更具体地,处理架构3000(或其变型)可实现作为计算设备300的一部分。应当注意,处理架构3000的组件为给定附图标记,其中最后的两位数字对应于早期描绘和描述作为计算设备100a-c和300中的一个或多个计算设备的一部分的至少一些组件的附图标记的最后两位数字。这样做有助于关联估计的每一个。

处理架构3000可包括通常在数字处理中使用的各种元件,包括但不限于,一个或多个处理器、多核处理器、协同处理器、存储器单元、芯片组、控制器、外围设备、接口、振荡器、定时设备、视频卡、音频卡、多媒体输入/输出(I/O)组件,电源等。在该申请中使用的术语“系统”和“组件”旨在指的是其中进行数字处理的计算设备的实体,该实体为硬件、硬件和软件的组合、软件、或执行中的软件,通过该所描绘的示例性处理架构提供该实体的示例。例如,组件可以是,但不限于,在处理器组件上运行的过程、处理器组件本身、可采用光学和/磁存储介质的存储设备(例如,硬盘驱动器、在阵列中的多个存储驱动器等)、软件对象、可执行的指令序列、执行的线程、程序、和/或整个计算设备(例如,整个计算机)。作为例示,在服务器上运行的应用和该服务器都可以是组件。一个或多个组件可驻留在执行的过程和/或线程内,并且组件可位于一个计算设备上和/或分布在两个或两个以上的计算设备之间。此外,组件可通过各种类型的通信介质彼此通信地耦合以协调操作。该协调可包括信息的单向或双向交换。例如,组件可在通信介质上以通信信号的形式传递信息。该信号可被实现为分配制一个或多个信号线的信号。消息(包括命令、状态、地址或数据消息)可以是这种信号中的一个或多个这种信号,并且可通过各种连接和/接口中的任一种串行或基本并行地传输。

如所述的,在实现处理架构3000时,计算设备可至少包括处理器组件950、存储器960、到其他设备的接口990、和耦合955。如将解释的,根据实现处理架构3000的计算设备的各个方面,包括其预期使用和/或使用的调节,这种计算设备可进一步包括附加的组件,诸如但不限于,显示器接口985。

耦合955可包括一个或多个总线、点到点互连、收发器、缓冲器、交叉点开关、和/或至少将处理器组件950通信地耦合至存储960的其它导体和/或逻辑。耦合955可进一步将处理器组件950耦合至接口990、音频子系统970和显示器接口985中的一个或多个(取决于这些和/或其他组件中的那些也存在)。通过耦合955如此耦合的处理器组件950,处理器组件950能够执行以上详细描述用于上述计算设备中的无论哪一个(多个)实现处理架构3000的任务中的各种任务。耦合955可通过光学和/或电传递信号的各种技术中任一种或技术的组合来实现。此外,耦合955的至少一部分可使用符合各种行业标准中任一种的定时和/或协议,包括但不限于,加速图形端口(AGP)、卡总线、扩展工业标准体系结构(E-ISA)、微通道体系结构(MCA)、新总线(NuBus)、外围组件互连(扩展)(PCI-X)、PCI快速标准(PCI-E)、个人计算机存储卡国际协会(PCMCIA)总线,超传输TM,快速通道等等。

如上所述,处理器组件950(对应于处理器组件150和350中的一个或多个)可包括采用各种技术中的任一种并且通过多种方式中的任一种物理结合的一个或多个核实现的各种商业上可用的处理器中的任一种。

如上所讨论的,存储960(对应于存储器160和360中的一个或多个)可基于各种技术中的任一种或技术的组合由一个或多个不同的存储设备组成。更具体地,所述的存储960可包括易失性存储961(例如,基于RAM技术的一个或多个形式的固态存储器)、非易失性存储962(例如,不需要恒定规定的电力来保存其内容的固态、铁磁或其他存储器)、和可移动介质存储963(例如,可移动盘或固态存储器卡,信息可通过可移动盘或固态存储器卡在计算设备之间传递)。可能包括多个不同类型的存储的存储960的该描述普遍认可在计算设备中使用超过一种类型的存储设置,其中一种类型提供相对快速的读取和写入能力,从而通过处理器组件950实现更快的数据操纵(但可能使用不断需要电力的“易失性”技术),而另一中类型提供相对高密度的非易失性存储(但可能提供相对慢的读取和写入能力)。

考虑到采用不同的技术的不同存储设备的通常不同的特性,此类不同存储设备也普遍通过不同存储控制器耦合至计算设备的其他部分,不同存储控制器通过不同接口耦合至其不同存储设备。作为示例,在易失性存储961存在并且基于RAM技术的情况下,易失性存储961可通过存储控制器965a通信地耦合至耦合955,存储控制器965向可能采用行和列寻址的易失性存储961提供适当的接口,并且其中存储控制器965a可执行刷新和/或其他维护任务以帮助保存存储在易失性存储961中的信息。作为另一示例,在非易失性存储962存在并且包括一个或多个铁磁和/或固态盘驱动器的情况下,非易失性存储962可通过存储控制器965b通信地耦合至耦合955,存储控制器965b向可能采用信息块和/或柱面和扇区寻址的非易失性存储962提供适当的接口。作为又一示例,在可移动介质存储963存在并且包括使用机械可读存储介质969的一个或多个块的一个或多个光学和固态盘驱动器,可移动介质存储963可通过存储控制器965c通信地耦合至耦合955,存储控制器965c向可能采用信息块寻址的可移动介质存储963提供适当的接口,并且其中存储控制器965c可以专用于延长机械可读存储介质969的寿命的方式协调读取、擦除、和写入操作。

易失性存储961和非易失性存储962中的一个或另一个可包括以机械可读存储介质的形式制造的制品,可根据每个制品所基于的技术在该制品上存储包括通过处理器组件950可执行的指令的序列以实现各个实施例的例程。作为示例,在非易失性存储962包括基于铁磁盘驱动器(例如,所谓的“硬盘”),每个这种盘驱动器通常使用一个或多个旋转盘片,在该一个或多个盘片上以各种图案沉积和磁取向磁响应颗粒的涂层以以类似于存储介质(诸如,软盘)的方式存储信息,诸如指令的序列。作为另一示例,非易失性存储962可由固态存储设备的存储体构成以类似于紧凑型闪存卡的方式存储信息,诸如,指令的序列。而且,在计算设备中在不同时期使用不同类型的存储设备来存储可执行例程和/或数据是普遍的。因此,包括将被处理器组件950执行的指令序列以实现各个实施例的例程可最初存储在机械可读存储介质969中,并且可随后使用可移动介质存储963将该例程复制到非易失性存储962以用于长期存储而不需要继续存在机械可读存储介质969和/或易失性存储961,从而在例程被执行时,通过处理器组件950实现更快的访问。

如上所讨论的,接口990(可能对应于一个或多个接口190和390)可使用对应于可用于将计算设备通信地耦合至一个或多个其他设备的各种通信技术的任一种的各种信令技术的任一种。而且,各种形式的有线或无线信令的一种或两种可用于使处理器组件950能够通过网络(例如,网络999)或相互连接的网络组与输入/输出设备(例如,所描述的示例键盘920或印刷机925)和/或其他计算设备交互。在认识到多种类型的信令和/或协议的常常大大不同的特征必须常常由任一计算设备支持之后,接口990被描述为包括多个不同接口控制器995a、995b和995c。接口控制器995可使用各种类型的有线数字串行接口或射频无线接口的任一种来从用户输入设备接收串行传输的消息,诸如所描述的键盘920。接口控制器995b可使用各种基于电缆布线或无线信令、定时、和/或协议以通过所描述的网络999(也许由一个或多个链路组成网络、更小的网络、或也许因特网)访问其他计算设备。接口995c可使用各种导电电缆布线的任一种,从而能够使用串行或并行信号传输来将数据传递至所描述的打印机925。可通过接口990的一个或多个接口控制器通信耦合的设备的其他示例包括,但不限于,话筒、遥控器、手写笔、读卡器、指纹读取器、虚拟现实交互手套、图形输入平板、操纵杆、其他键盘、视网膜扫描仪、触摸屏的触摸输入组件、轨迹球、各种传感器、用于监测人的运动以经由姿势和/或脸部表情接受由这些人用信号传递的命令和/或数据的照相机或相机阵列监测者,以接受由经由手势和/或面部表情、激光打印机、喷墨打印机、机械机器人,铣床等。

在计算设备通信地耦合至(或者,实际上包含)显示器(例如,所示的示例显示器980,对应于一个或多个显示器180和380)的情况下,实现处理架构3000的这种计算设备还可包括显示器接口985。虽然更多一般类型的接口可用于通信地耦合至显示器,在显示器上可视地显示各种形式的内容通常需要一些专用的附加过程,以及所使用的基于电缆布线的接口的一些专用性质,经常对期望的独特显示界面作出规定。可通过与显示器980通信耦合的显示接口985使用的有线和/或无线信令技术可利用符合各种行业标准的任一种的信令和/或协议,包括但不限于,各种视频接口中的任一种、数字视频接口(DVI)、显示端口(DisplayPort)等。

更一般地,本文中描述和描绘的计算设备的各个元件可包括各种硬件元件、软件元件或二者的组合。硬件元件的示例可包括设备、逻辑设备、组件、处理器、微处理器、电路、处理器组件、电路元件(例如,晶体管、电阻器、电容器、电感器等)、集成电路、专用集成电路(ASIC)、可编程逻辑器件(PLD)、数字信号处理器(DSP)、现场可编程门阵列(FPGA)、存储器单元、逻辑门、寄存器、半导体器件、芯片、微芯片、芯片组等。软件元件的示例可包括软件组件、程序、应用、计算机程序、应用程序、系统程序、软件开发程序、机器程序、操作系统软件、中间件、固件、软件模块、例程、子例程、函数、方法、过程、软件接口、应用程序接口(API)、指令集、计算代码、计算机代码、代码段、计算机代码段、字、值、符号或它们的任意组合。然而,确定实施例是利用硬件元件和/或软件元件来实现可根据任意数量的因素而不同,这些因素比如所需计算速率、功率电平、热容限、处理循环预算、输入数据速率、输出数据速率、存储器资源、数据总线速度以及如给定实现所需的其他设计或性能约束。

可以用表述“一个实施例”和“一实施例”及其派生词对一些实施例进行描述。这些表述指的是结合该实施例描述的特定特征、结构或特性被包括在至少一个实施例中。在说明书各处出现的短语“在一个实施例中”不一定全部指相同实施例。此外,可以用表述“耦合”和“连接”及其派生词对一些实施例进行描述。这些术语不一定作为彼此的同义词。例如,可以用术语“连接”和/或“耦合”对一些实施例进行描述,以表示两个或更多个元件彼此直接物理或电接触。然而,术语“耦合”也可以指两个或更多个元件彼此并非直接接触,但是仍然彼此协作或交互。此外,来自不同实施例的各方面或元素可被组合。

需要强调,本公开的摘要被提供以使读者快速地确定本技术公开的性质。对提交的该摘要,应理解为:该摘要不是用于解释或限制权利要求的范围或含义的。此外,在上面的详细描述中,可以看出为了使本公开变得流畅,各个特征在单个实施例中被编组到一起。这种公开方法不应被解释为反映要求保护的实施例相比各个权利要求中明确陈述的特征而言需要更多特征的意图。相反,如所附权利要求反映出来的那样,本发明的方面少于以上公开的单个实施例的所有特征。因此,所附权利要求在此被包括到具体描述中,其中每个权利要求独立作为单独实施例。在所附权利要求中,术语“包括”和“其中”分别被用作相应术语“包括”和“其中”的平文英语等同物。此外,术语“第一”、“第二”、“第三”等等只用作标记,并不旨在对它们的对象施加数值要求。

上面描述的包括所公开的体系结构的各示例。当然,描述每一个可以想到的组件和/或方法的组合是不可能的,但本领域内的普通技术人员应该认识到,许多其他组合和排列都是可能的。因此,该新颖体系结构旨在涵盖所有这些落入所附权利要求书的精神和范围内的更改、修改和变化。现在,具体公开内容转至提供属于进一步实施例的示例。以下提供的示例不旨在作为限制。

用于混合地图的装置的示例包括处理器组件;以及混合地图发生器,该混合地图发生器用于通过处理器组件执行以将虚拟地图与实体地图混合进而产生混合地图,虚拟地图包括基于传感器的通过建筑物的内部的虚拟路径的指示,以及实体地图包括内部的实体路径的指示。

装置的上述示例,其中装置包括用于通过处理器组件执行的误差计算器,混合地图发生器用于相对于路径地图重复操纵虚拟地图并且误差计算器用于确定误差程度,该误差程度表示用于虚拟地图的每次操纵的在虚拟地图的特征和路径地图的特征之间的位置的差值之和,路径地图指示实体路径的位置。

装置的以上示例中的任一个,其中该装置包括显示器,该显示器通信地耦合至处理器组件;以及锚固组件,该锚固组件用于通过处理器组件执行以视觉地呈现对其中虚拟地图和实体地图在显示器上一致的锚固点的指示的请求,并且将实体地图上的锚固点的位置与路径地图上的位置相关联。

装置的以上示例中任一个,其中装置包括旋转组件,该旋转组件用于通过处理器组件执行以围绕锚固点将虚拟地图相对于路径地图旋转至多个取向;误差计算器,该误差计算器用于确定多个取向的每个取向的误差程度以确定多个取向的哪一个取向提供虚拟地图和路径地图之间的最佳对齐。

装置的以上示例中任一个,其中装置包括缩放组件,该缩放组件用于通过处理器组件执行以相对于路径地图将虚拟地图缩放至多个尺寸同时保持锚固点,误差计算器用于确定多个尺寸的每个尺寸的误差程度以确定多个尺寸的哪一个尺寸提供虚拟地图和路径地图之间的最佳对齐。

装置的以上示例的任一个,其中虚拟地图的特征包括虚拟路径的两个或两个以上的段会合的点,以及路径地图的特征可包括实体路径的两个或两个以上的段会合的点。

装置的以上示例的任一个,其中该装置包括路径提取器,该路径提取器用于通过处理器组件执行以从实体地图产生包括实体路径的位置的指示的路径地图。

装置的以上示例的任一个,其中混合地图发生器用于在第一级中以粗糙增量相对于路径地图重复地操纵虚拟地图以确定虚拟地图与路径地图的最佳对齐并且在第二级中以精细增量相对于路径地图重复地操纵虚拟地图以确定虚拟地图与路径地图的甚至更好的对齐。

装置的以上示例的任一个,其中该装置包括旋转组件,该旋转组件用于通过处理器组件执行以在第一级中以第一所选择量的旋转角度的增量并且在第二级中以第二所选择量的旋转角度的增量相对于路径地图旋转虚拟地图,该第一所选择量大于第二个。

装置的以上示例的任一个,其中该装置包括缩放组件,该缩放组件用于通过处理器组件执行以在第一级中以第一所选择百分比的虚拟地图的尺寸的增量并且在第二级中以第二所选择百分比的虚拟地图的尺寸的增量相对于路径地图缩放虚拟地图,该第一所选择百分比大于第二个。

装置的以上示例的任一个,其中混合地图发生器用于将虚拟地图与路径地图的对齐与虚拟地图与实体地图的对齐相关联。

装置的以上示例的任一个,其中该装置包括接口,该接口通信耦合至处理器组件以将混合地图传输至计算设备中的至少一个。

用于混合地图的另一装置的示例包括处理器组件;和混合地图发生器,该混合地图发生器用于通过处理器组件执行以将虚拟地图的虚拟路径的段与路径地图的实体路径的段对齐,虚拟路径包括基于传感器的建筑物的内部的路径,以及实体路径包括实现通过内部的实体移动的路径。

另一装置的上述示例,其中该装置包括路径提取器,该路径提取器用于通过处理器组件执行以从建筑物的至少一部分的实体地图提取实体路径的指示以产生路径地图。

另一装置的上述示例的任一个,其中混合地图发生器用于将虚拟路径与实体路径的对齐与虚拟地图与实体地图的对齐相关联,并且将虚拟地图与实体地图混合以产生混合地图。

另一装置的以上示例的任一个,其中混合地图发生器用于在第一级中以粗糙增量相对于路径地图重复地操纵虚拟地图以确定虚拟地图与实体地图的最佳对齐并且在第二级中以精细增量相对于路径地图重复地操纵虚拟地图以确定虚拟地图与实体地图的甚至更好的对齐。

另一装置的以上示例的任一个,其中该装置包括旋转组件,该旋转组件用于通过处理器组件执行以在第一级中以第一所选择量的旋转角度的增量并且在第二级中以第二所选择量的旋转角度的增量相对于路径地图旋转虚拟地图,该第一所选择量大于第二个。

另一装置的以上示例的任一个,其中该装置包括缩放组件,该缩放组件用于通过处理器组件执行以在第一级中以第一所选择百分比的虚拟地图的尺寸的增量并且在第二级中以第二所选择百分比的虚拟地图的尺寸的增量相对于路径地图缩放虚拟地图,该第一所选择百分比大于第二个。

另一装置的以上示例的任一个,其中该装置包括误差计算器,该误差计算器用于通过处理器组件执行以确定误差程度,误差程度表示用于虚拟地图的每次操纵的虚拟地图的特征和路径地图的特征之间的位置的差值之和。

另一装置的以上示例的任一个,其中虚拟地图的特征包括虚拟路径的两个或两个以上的段会合的点,以及路径地图的特征可包括实体路径的两个或两个以上的段会合的点。

用于混合地图的计算机实现的方法的示例包括产生包括基于传感器的通过建筑物的内部的虚拟路径的指示的虚拟地图,以及将虚拟地图与包括内部的实体路径的指示的实体地图以产生混合地图。

计算机实现的方法的以上示例,其中所述方法包括从实体地图的实体路径的指示产生路径地图、相对于路径地图重复地操纵虚拟地图、以及确定误差程度,该误差程度表示用于虚拟地图的每次操纵的在虚拟地图的特征和路径地图的特征之间的位置的差值之和。

计算机实现的方法的以上示例中的任一个,其中该方法包括可视地呈现实体地图、虚拟地图和对其中虚拟地图和实体地图在显示器上重合的锚固点的指示的请求、以及将实体地图上的锚固点的位置与路径地图上的位置相关联。

计算机实现的方法的以上示例中的任一个,其中该方法包括围绕锚固点相对于路径地图将虚拟地图旋转至多个取向,以及确定多个取向的哪一个取向提供在虚拟地图和路径地图之间的最佳对齐。

计算机实现的方法的以上示例中的任一个,其中该方法包括相对于路径地图将虚拟地图缩放至多个尺寸同时保持锚固点,并且确定多个尺寸的哪一个尺寸提供在虚拟地图和路径地图之间的最佳对齐。

计算机实现的方法的以上示例中的任一个,其中虚拟地图的特征包括虚拟路径的两个或两个以上的段会合的点,以及路径地图的特征可包括实体路径的两个或两个以上的段会合的点。

计算机实现的方法的以上示例中的任一个,其中该方法包括在第一级中以粗糙增量相对于路径地图重复地操纵虚拟地图以确定虚拟地图与路径地图的最佳对齐,并且在第二级中以精细增量相对于路径地图重复地操纵虚拟地图以确定虚拟地图与路径地图的甚至更好的对齐。

计算机实现的方法的以上示例中的任一个,其中该方法包括在第一级中以第一所选择量的旋转角度的增量相对于路径地图旋转虚拟地图,以及在第二级中以第二所选择量的旋转角度的增量相对于路径地图旋转虚拟地图,该第一所选择量大于第二个。

计算机实现的方法的以上示例中的任一个,其中该方法包括在第一级中以第一所选择百分比的虚拟地图的尺寸的增量相对于路径地图缩放虚拟地图,以及在第二级中以第二所选择百分比的虚拟地图的尺寸的增量相对于路径地图缩放虚拟地图,该第一所选择百分比大于第二个。

计算机实现的方法的以上示例中的任一个,其中该方法包括将虚拟地图与路径地图的对齐与虚拟地图与实体地图的对齐相关联,并且将混合地图传输至计算设备中的至少一个。

用于混合地图的装备的示例包括用于执行计算机实现的方法的本文所描述的实施例的任一个的装置。

至少一个机器可读存储介质的示例包括指令,该指令当被计算设备执行时,使得计算设备执行计算机执行的方法的本文所描述的实施例的任一个。

至少一个机器可读存储介质的示例包括产生包括指令,该指令当被计算设备执行时,使得计算设备产生包括基于传感器的通过建筑物的内部的虚拟路径的指示的虚拟地图,并将虚拟地图与包括内部的实体路径的指示的实体地图以产生混合地图。

至少一个机器可读存储介质的以上示例,其中计算设备使得从实体地图的实体路径的指示产生路径地图、相对于路径地图重复地操纵虚拟地图、并且确定误差程度,该误差程度表示用于虚拟地图的每次操纵的在虚拟地图的特征和路径地图的特征之间的位置的差值之和。

至少一个机器可读存储介质的以上示例中的任一个,其中计算设备使得视觉地呈现实体地图、虚拟地图和对其中虚拟地图和实体地图在显示器上重合的锚固点的指示的请求、以及将实体地图上的锚固点的位置与路径地图上的位置相关联。

至少一个机器可读存储介质的以上示例中的任一个,其中该计算设备使得围绕锚固点相对于路径地图将虚拟地图旋转至多个取向,以及确定多个取向的哪一个取向提供在虚拟地图和路径地图之间的最佳对齐。

至少一个机器可读存储介质的以上示例中的任一个,其中该计算设备使得相对于路径地图将虚拟地图缩放至多个尺寸同时保持锚固点,并且确定多个尺寸的哪一个尺寸提供在虚拟地图和路径地图之间的最佳对齐。

至少一个机器可读存储介质的以上示例中的任一个,其中虚拟地图的特征包括虚拟路径的两个或两个以上的段会合的点,以及路径地图的特征可包括实体路径的两个或两个以上的段会合的点。

至少一个机器可读存储介质的以上示例中的任一个,其中计算设备使得在第一级中以粗糙增量相对于路径地图重复地操纵虚拟地图以确定虚拟地图与路径地图的最佳对齐,并且在第二级中以精细增量相对于路径地图重复地操纵虚拟地图以确定虚拟地图与路径地图的甚至更好的对齐。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1