选择用于显示的时间分布的全景图像的制作方法

文档序号:13765844阅读:204来源:国知局
选择用于显示的时间分布的全景图像的制作方法

本申请是于2014年4月22日提交的美国专利申请第14/258,594号的继续申请,该继续申请的公开内容特此在这里以引用的方式结合。



背景技术:

各种系统给用户提供不同位置的图像,包括全景图像。例如,全景图像可以包括图像或图像的集合,所述图像或图像的集合具有比人眼的视场更大的,例如,180度或更大的视场。一些全景图像可以提供位置的360度视野。

一些系统允许用户顺次观看图像,如按时间或空间。在一些示例中,这些系统可以提供在远程的或关注的位置的导航体验。通过在全景图的显示部分的边缘上点击并使得全景图好像在被点击的边缘的方向上转动,一些系统允许用户感觉好像他们在虚拟的世界中转动。



技术实现要素:

本公开的方面提供了一种用于选择用于显示的时间分布的全景图像的计算机实现方法。所述方法包括通过一个或多个计算设备访问多个全景图像。多个全景图像的每个给定的全景图像关联于以至少两个维度定义的多维位置信息,仅以一个维度定义的一维(1D)位置信息,对应于在给定全景图中描绘的物体表面的三维(3D)几何数据,和识别给定全景图像何时被捕获的时间信息。对于多个全景图像的第一全景图像,一个或多个计算设备选择多个全景图像的第二全景图像,所述第一全景图像与第一多维位置信息、第一1D位置信息、和第一时间信息相关联。第二全景图像关联于第二多维位置信息、第二1D位置信息、和第二时间信息。第二全景图像被选择以使第二1D位置信息最接近第一1D位置信息并且第一时间信息和第二时间信息表明第一全景图像和第二全景图像在不同天被捕获。一个或多个计算设备向用于显示的第一全景图像提供第二全景图像为可用的指示。一个或多个计算设备还,基于第一3D几何数据、第一多维位置信息、第二3D几何数据、和第二多维位置信息确定第二全景图像的缩放水平。一个或多个计算设备向用于显示的第二全景图像提供第二全景图像的缩放水平。

在一个示例中,所述方法还包括接收识别第一全景图像的显示的视角和第一全景图像的显示的缩放水平的视口信息。在这个示例中,确定第二全景图像的缩放水平进一步包括:基于第一3D几何数据、第一多维位置信息、和第一全景图像的显示的缩放水平识别在第一全景图像的显示的视角中到物体表面上的三维点的第一距离;基于第一位置信息和第二3D几何数据识别到第二全景图像中的物体表面上的三维点的第二距离;以及使用至少第一距离和第二距离确定第二全景图像的缩放水平。另外,确定第二全景图像的缩放水平进一步基于第一距离对第二距离的比率。此外,第二距离为三维点和第二位置信息之间的线性距离。在一些示例中,当第一全景图像的显示的缩放水平表明所述第一全景图像不是被放大时,所述第一距离为第一全景图像的第一位置和第一全景图像的显示的视角中的物体表面上的三维点之间的线性距离。在其他这样的示例中,视口信息进一步识别第一全景图像的显示的视角,并且所述方法还包括:基于所述视角确定第二全景图像的视角并且第二全景图像的所述视角被提供第二全景图像。在另一示例中,关联于多个全景图像的各特定全景图像的所述1D位置信息被关于线上的点定义,所述线对应于部分的路。

本公开的另一方面提供一种包括一个或多个计算设备的系统。所述一个或多个计算设备被配置以访问多个全景图像。多个全景图像的每个给定全景图像关联于以至少两个维度定义的多维位置信息,仅以一个维度定义的一维(1D)位置信息,对应于在给定全景图像中描绘的物体表面的三维(3D)几何数据,和识别给定全景图像何时被捕获的时间信息。对于多个全景图像中的第一全景图像,一个或多个计算设备被配置以选择所述多个全景图像的第二全景图像,所述第一全景图像关联于第一多维位置信息、第一1D位置信息、和第一时间信息。所述第二全景图像关联于第二多维位置信息、第二1D位置信息、和第二时间信息。所述第二全景图像被选择以使第二1D位置信息最接近第一1D位置信息并且第一时间信息和第二时间信息表明第一全景图像和第二全景图像在不同天被捕获。一个或多个计算设备还被配置向用于显示的第一全景图像提供第二全景图像为可用的指示并且基于第一3D几何数据、第一多维位置信息、第二3D几何数据、和第二多维位置信息确定第二全景图像的缩放水平。所述一个或多个计算设备还被配置以向用于显示的第二全景图像提供第二全景图像的缩放水平。

在一个示例中,一个或多个计算设备进一步被配置以接收识别第一全景图像的显示的视角和第一全景图像的该显示的缩放水平的视口信息。在这个示例中,一个或多个计算设备被配置以还通过基于第一3D几何数据、第一多维位置信息、和第一全景图像的该显示的缩放水平识别到在第一全景图像的显示的视角中的物体表面上的三维点的第一距离来确定第二全景图像的缩放水平;基于第一位置信息和第二3D几何数据识别到第二全景图像中的物体表面上的三维点的第二距离;以及使用至少第一距离和第二距离确定第二全景图像的缩放水平。在这个示例中,确定第二全景图像的缩放水平进一步基于第一距离对第二距离的比率。而且,所述第二距离为三维点和第二位置信息之间的线性距离。在一些示例中,当第一全景图像的显示的缩放水平表明所述第一全景图像不是被放大时,所述第一距离为第一全景图像的第一位置和第一全景图像的显示的视角中的物体表面上的三维点之间的线性距离。在其他这样的示例中,所述视口信息进一步识别第一全景图像的显示的视角,并且一个或多个计算设备还被配置以基于所述视角确定第二全景图像的视角;并且第二全景图像的视角被提供第二全景图像。在另一实施例中,关联于多个全景图像的每个特定全景图像的1D位置信息被相对于对应于道路的一部分的线上的点定义。

本公开的进一步的方面提供一种非暂时性的计算机可读的存储介质,于所述存储介质上,程序的计算机可读指令被存储。当所述指令被一个或多个处理器执行时,所述指令引起一个或多个处理器执行方法。所述方法包括访问多个全景图像。多个全景图像的每个给定全景图像关联于以至少两个维度定义的多维位置信息,仅以一个维度定义的一维(1D)位置信息,对应于在给定全景图中描绘的物体表面的三维(3D)几何数据,和识别给定全景图像何时被捕获的时间信息。对于多个全景图像的第一全景图像,所述第一全景图像关联于第一多维位置信息、第一1D位置信息、和第一时间信息,所述方法包括选择所述多个全景图像的第二全景图像。所述第二全景图像关联于第二多维位置信息、第二1D位置信息、和第二时间信息,并且所述第二全景图像被选择以使第二1D位置信息最接近第一1D位置信息并且第一时间信息和第二时间信息表明第一全景图像和第二全景图像在不同天被捕获。方法还包括向用于显示的第一全景图像提供第二全景图像为可用的指示以及基于第一3D几何数据、第一多维位置信息、第二3D几何数据、和第二多维位置信息确定第二全景图像的缩放水平。方法还包括向用于显示的第二全景图像提供第二全景图像的缩放水平。

在一个示例中,所述方法还包括接收识别第一全景图像的显示的视角和第一全景图像的显示的缩放水平的视口信息。在这个示例中,确定第二全景图像的缩放水平还包括基于第一3D几何数据、第一多维位置信息、和第一全景图像的显示的缩放水平识别到在第一全景图像的显示的视角中的物体表面上的三维点的第一距离;基于第一位置信息和第二3D几何数据识别到第二全景图像中的物体表面上的三维点的第二距离;以及使用至少第一距离和第二距离确定第二全景图像的缩放水平。另外,确定第二全景图像的缩放水平进一步基于第一距离对第二距离的比率。此外,所述第二距离为三维点和第二位置信息之间的线性距离。在其他这样的示例中,当第一全景图像的显示的缩放水平表明所述第一全景图像不是被放大时,所述第一距离为第一全景图像的第一位置和第一全景图像的显示的视角中的物体表面上的三维点之间的线性距离。在另一示例中,所述视口信息进一步识别第一全景图像的显示的视角,并且所述方法还包括基于所述视角确定第二全景图像的视角以及第二全景图像的所述视角被提供第二全景图像。

附图说明

图1为根据本公开的各方面的示例系统的功能图。

图2为图1的示例系统的示意图。

图3A为根据本公开的各方面的图像收集位置的示例图。

图3B为根据本公开的各方面的数据的示例图。

图3C为根据本公开的各方面的数据位置的另一示例图。

图4为根据本公开的各方面的在一个维度上重新定位一些图3A的收集位置的示例图。

图5为根据本公开的各方面的全景图像的一部分的示例屏幕截图。

图6为根据本公开的各方面的全景图像的一部分和缩略图的示例屏幕截图。

图7为根据本公开的各方面的全景图像的另一部分和缩略图的示例屏幕截图。

图8为根据本公开的各方面的确定对应的方位和缩放水平的示例图。

图9为根据本公开的各方面的流程图。

具体实施方式

概述

本技术涉及选择和显示在不同时间点捕获的全景图像。作为示例,计算设备的用户(例如,智能手机,膝上计算机,或者其他个人计算设备)可以观看在特定方向方位的街道级别的全景图像。计算设备可以显示“视口(view port)”或者包括看似是距用户特定距离的各种物体的全景图像的一部分。用户还可以想要观看在不同的时间点被捕获的那些物体的另一全景图像。从用户的角度,他或她可以选择转换到在不同时间点被捕获的另外的全景图像的选项。作为响应,用户体验由一个全景图像到在不同时间点捕获的另一个全景图像的流畅的过渡,所述另一全景图像对于用户感觉好像从与最初的全景图像的视口相同的位置被获取的。

为了给用户提供如以上描述的另一个全景图像,多个这样的街道级别全景图像可以被访问。这些全景图像中的每一个可以已经随着车辆沿街道驾驶时而被安装于车辆的摄像设备捕获。在另一示例中,全景图像可以由人使用连接于背包的摄像装备(例如,对于小路或其他非街道区域),智能手机摄像机,摄像机等收集。随着全景图像被捕获,摄像设备,或者其他的设备,可以识别和关联对应于全景图像的二维或三维(2D or 3D)位置的位置和方位信息。此位置和方位信息还可以被处理以降低在原始数据中的噪音。这个处理的(或未处理的)位置和方位信息可以被称为全景图像的“实际”位置。

除了图像和实际位置,每个全景图像还可以关联于对应于那张全景图像中的任意物体表面上的点的3D几何数据。例如,当车辆沿街道驾驶时,LIDAR系统可以被用于收集激光数据或光强信息,其被转换为在物体表面上的三维点。这些物体将对应于被包括于在与激光数据大致相同的位置被捕获的全景图像中的物体。

每张全景图像可以被处理以识别用于那个图像的第二位置。此第二位置可以对应于沿穿过街道的中心或几乎中心的线的位置或“捕捉(snap)”位置,车辆沿所述街道被驾驶。此捕捉位置可以沿经过街道的中心的线以单一维度(1D)被限定。

对第一全景图像,在不同时间点,例如在一个或多个不同收集日,被捕获的附近的全景图像可以通过查询多个图像以识别既在不同的时间点被捕获又具有最靠近第一全景图像捕捉位置的捕捉位置的图像被选择。这里,不同的时间点指在给定的全景图像的位置附近的两次不同的通过(passes)。

一旦第二全景图像被选择,第一全景图像和第二全景图像之间的连接可以被建立。因此,当用户观看第一全景图像时,他或她可以被提供例如在缩略图中结合第一全景图像观看第二全景图像的选项,或者转换到观看第二全景图像的选项。在此示例中,第二全景图像可以提前,也就是在用户已经要求观看第一全景图像之前,被选择。可替代地,该选择可以实时(例如,没有延迟和响应于观看第一全景图像的要求)被执行,以保持最接近的可用的全景图像为最新的,因为随着额外的图像被收集,多个全景图像可能随时间变化。

第一全景图像的视口可以用于确定如何显示第二全景图像。例如,第二全景图像的视口的显示方位可以被选择,以对应于第二全景图像的视口的方位。此外,关联于第一全景图像的三维几何数据可以用于确定视口的观察点与物体之间的距离。例如,在没有缩放的情况下,观察点将是第一全景图像的实际位置。当第二全景图像被显示时,此距离和关联于第二图像的三维几何数据然后用于调整第二全景图像的缩放。关于此点,第二全景图像可以被显示以使在第二全景图像中的物体将看似距用户如在第一全景图像的视口中的那些物体距用户相同的距离。

上面描述的特征简化了来自不同时间点的其他全景图像的选择和显示。例如,使用捕捉位置而不是使用实际的二维或三维位置搜索单一方向上的图像明显更有效率。此外,如果第二全景图像从第二全景图像被捕获于此的观察点显示,如果图像在道路的不同侧被捕获,转换到第二全景图像对于用户会相当不和谐。

示例系统

图1和图2包括示例系统100,其中在这里被描述的特征可以被满足。其不应该被认为限制本公开的范围或在这里被描述的特征的有效性。在此示例中,系统100可以包括一个或多个计算设备110、120、130,和140,储存系统150,以及收集设备160和170。一个或多个计算设备110可以包含一个或多个处理器112,存储器114,和其他通常存在于通用计算设备中的部件。一个或多个计算设备110的存储器114可以存储由一个或多个处理器112可访问的信息,包括指令116,所述指令116可以被一个或多个处理器112执行。

存储器还可以包括数据118,所述数据118可以被处理器取回,操作或存储。存储器可以为任意非暂时性类型,所述非暂时性类型能够存储由处理器可访问的信息,例如硬盘驱动器,存储卡,ROM,RAM,DVD,CD-ROM,可写入,和只读存储器。

指令116可以为将被处理器直接执行的任意组指令,例如机器代码,或者由处理器间接执行的指令,例如脚本(scripts)。关于那点,术语“指令”,“应用”,“步骤(steps)”和“程序”在这里可以被可互换地使用。指令可以以目标代码格式存储以被处理器直接处理,或者以任意其他计算设备语言存储,包括提前被在需要时译码或者被编译的脚本或独立源代码模块的集合。指令的功能,方法和程序(routines)在下面被更详细的解释。

数据118可以依照指令116被处理器112取回,存储或修改。例如,虽然在这里被描述的主题不被任何特定的数据结构限定,但数据可以存储在计算机寄存器中,作为具有许多不同的字段和记录的表格或XML文档存储在关系数据库中。数据还可以以任意计算设备可读格式被编排,例如,但不限于二进制值,ASCII或Unicode。此外,数据可以包括任意足够识别相关信息的信息,例如数字,描述性文本,专有代码,指针,对存储在其他存储器例如其他网络位置的数据的引用,或者被函数(function)使用以计算相关数据的信息。

一个或多个处理器112可以包括任意常规的存储器,例如市售的CPU。可替代地,处理器可以为专用部件,例如ASIC或者其他基于硬件的处理器。虽然不必需,但一个或多个计算设备110可以包括专门的硬件部件以更快更有效地执行特定的计算过程,例如解码视频,与图像匹配视频帧,使视频失真,编码失真视频等。

虽然图1功能性地示出处理器,存储器,和计算设备110的其他元件在相同块中,所述处理器,计算机,计算设备,或者存储器可以实际上包括多个可能被或可能没被存储在相同的物理壳体中的处理器,计算机,计算设备,或者存储器。例如,存储器可以为位于一个或多个壳体中的硬盘驱动器或者其他存储介质,所述壳体不同于所述一个或多个计算设备110的壳体。因此,对处理器,计算机,计算设备,或者存储器的称谓将被理解为包括对可能或可能不并行操作的处理器,计算机,计算设备,或者存储器的集合的引用。例如,计算设备110可以包括服务器计算设备,所述服务器计算设备作为负载均衡服务器场运行。进一步地,虽然一些下面描述的功能表明为发生在具有单一处理器的单一计算设备上,但在这里被描述的主题的各种方面,例如在网络180上通信信息,可以被多个计算设备实现。

一个或多个计算设备110可以在网络180的各种节点,并且能够直接和间接地与其他网络180的节点通信。虽然只有一些计算设备在图1-2中被描绘,但应该理解为,一个典型的系统可以包括许多被连接的计算设备,每个不同的计算设备(以及收集设备)处于网络180的不同节点。在这里被描述的网络180和介于中间的节点可以使用各种协议和系统相互连接,以使网络可以为因特网,万维网,特定的内联网,广域网络,或本地网络的一部分。网络可以利用例如,Ethernet,WiFi和HTTP的标准的通信协议,专有于一个或多个公司的协议,和上述的各种组合。虽然在当信息如上面指出地那样传输或接收时某些优点被获得,但在这里被描述的主题的其他方面不限于任意特定的信息传输的方式。

作为示例,一个或多个计算设备110包括一个或多个网络服务器,所述网络服务器能够与储存系统150以及计算设备120、130和140通过网络通信。例如,一个或多个服务器计算设备110可以使用网络180在显示器上向用户传输和呈现信息,所述用户例如用户220、230或240,所述显示器例如计算设备120、130或140的显示器122、132或142。关于此点,计算设备120、130和140可以被认为客户计算设备,并且可以执行所有或一些下面描述的特征。

每个客户计算设备可以与服务器计算设备110类似地用一个或多个如上面描述的处理器、存储器和指令配置。每个客户计算设备120、130或140可以为意于被用户220、250、250使用的个人计算设备,并且具有所有通常与个人计算设备结合使用的部件,例如中央处理单元(CPU),存储数据和指令的存储器(例如,RAM和内部硬盘驱动器),例如显示器122、132、或142(例如,具有屏幕的监视器,触摸屏(touch-screen),投影仪,电视机,或者其他可用于显示信息的设备)的显示器,和用户输入设备124(例如,鼠标,键盘,触摸屏(touch-screen)或者麦克风)。客户计算设备还可以包括用于记录视频流的摄像机,扬声器,网络接口设备,和所有用于把这些元件相互连接的部件。

虽然客户计算设备120、130和140可以各自包括全尺寸个人计算设备,但它们可以可替代地包括移动计算设备,所述移动计算设备能够在例如因特网的网络上与服务器无线地交换数据。仅举例,客户计算设备120可以为移动电话或设备,所述设备例如能够通过网络得到信息的具有无线功能的PDA,平板PC,或上网本。在另一示例中,客户计算设备130可以为安装于头部的计算系统。作为示例,客户可以使用小型键盘(small keyboard),小键盘(keypad),麦克风,利用摄像机使用视觉信号,或触摸屏输入信息。

储存系统150可以存储各种类型的信息。如下面更详细的描述,储存系统150可以存储图像,例如在上面被描述为具有比人眼的视野更大的,例如,180度或更大的视野的图像。关于那点,在这里被描述的示例全景图像提供位置的360度视野,尽管其他类型的图像也可以被使用。此外,每张全景图像可以与表明位置和在一些情况下全景图像被捕获的方位(例如,全景图像的哪一部分面向“北”取向等)的地理位置信息以及表明全景图像被捕获的日期和时间的时间戳信息关联。

储存系统150还可以存储3D几何数据。如上面的解释和下面更详细的描述,此3D几何数据可以与在多个全景图像中的任意物体表面上的点对应。3D几何数据可以提供关于特定的坐标系统的点的位置(x,y,z)(例如,关于产生几何数据的LIDAR系统或者全球定位系统(GPS)的位置,例如纬度,经度,和高度坐标)。

储存系统150还可以存储地图信息。地图信息可以为基于地图的图像或者可以包括多个用于识别用于显示地图的形状,方位,和其他街道的特征的矢量。关于此点,街道可以被分为分立的路段(road segment)。如示例,这样的路段(或者矢量)的集合可以被用于显示地图。

如同存储器114(memory),储存系统150可以为任意类型的能够存储可被服务器110访问的信息的计算机化的储存器(storage),例如硬盘驱动器,存储卡,ROM,RAM,DVD,CD-ROM,可写入,和只读存储器。此外,储存系统150可以包括分布式储存系统,其中,数据被存储于多个不同的储存设备上,所述储存设备可以物理地位于相同或不同的地理位置。储存系统150可以如图1中所示通过网络180连接于计算设备,和/或可以直接连接于或并入任意计算设备110-140(未示出)。

收集设备160和170可以包括计算设备,所述计算设备与服务器计算设备或客户计算设备类似,以处理器和存储数据和指令的存储器配置(为简明未在图1中示出)。收集设备160和170还可以提供所有或一些储存系统150的图像。每个收集设备160和170可以包括摄像机或其他信息收集设备。例如,收集设备160可以包括安装于车辆上的摄像机162。当车辆沿街道被驾驶时,收集设备160的摄像机可以捕获全景图像。关于此点,全部或一些储存系统150的全景图像可以被认为“街道级别图像”。如另一示例,收集设备170可以包括连接于背包的摄像装备(例如,对小路或其他非街区),智能手机摄像机,专用摄像设备等,人带着所述摄像装备,智能手机摄像机,专用摄像设备等走,骑车或者以别的方式到处移动以捕获全景图像。除了捕获图像,收集设备和/或摄像机可以被配置以向各全景图像提供表明图像被捕获的日期和时间的时间戳。被捕获的全景图像和时间戳可以被上传或下载至储存系统150。

每个收集设备160或170可以包括定位系统164以确定当图像被捕获时摄像机在地图上或者在地球上的相对或绝对位置。例如,定位系统164可以被包括GPS接收器以确定设备的纬度,经度和/或高度位置并且提供各全景图像被收集设备捕获的二维或三维(2D或3D)位置。其他位置系统,例如基于激光的定位系统,惯性辅助GPS,三边测量/三角测量,或基于摄像机的定位,也可以用于识别车辆的位置。车辆的位置可以包括绝对地理位置,例如纬度,经度,和高度以及相对位置信息,例如相对于紧挨着它的其他车的位置,所述相对位置信息通常可以以比绝对地理位置更小的噪音被识别。

定位系统164还可以包括其他与摄像机或收集设备连通的设备,例如加速度计,陀螺仪或者另外的方向/速度检测设备以当全景图像被捕获时确定摄像机162的方位。仅举例,加速度设备可以确定它的相对于重力方向或垂直于其的平面的俯仰,偏航或滚动(或与其变化)。设备还可以监测速度的增加或减少以及这样的变化的方向。

当全景图像被捕获并自动提供给储存系统150、其他计算设备和上述组合时,如在此描述的收集设备的位置和方位数据的提供可以与全景图像关联。虽然摄像机162和定位系统164被描述在收集设备160中,但这些部件可以或可以不包括在相同的物理壳体中。关于此点,定位系统164可以为与摄像机162不同的设备,以使两个部件输出2D或3D位置信息和方位信息以及全景图像给收集设备,所述收集设备处理这些输出以将它们相互关联并且将它们提供给储存系统150。

在一些示例中,收集设备160可以包括LIDAR系统166以产生如上所述的3D几何数据。例如,当车辆沿街道驾驶时,LIDAR系统可以被用于收集激光数据或光强信息,其被转换为在物体表面上的三维点。这些物体将对应于包括在全景图像中的物体,所述全景图像在大致与激光数据相同的地理位置被例如摄像机162的摄像机捕获。

示例方法

为了给用户提供图像,第一多个全景图像(其中至少一些是街道级别图像)可以被捕获或存储。如上面指出的,这些图像可以被安装于车辆上的摄像机(或其他设备)捕获。关于此点,当摄像机移动时,全景图像可以被顺次捕获。各全景图像可以与对应于全景图像被捕获的地理位置的2D或3D位置和方位信息以及表明图像被捕获的日期和时间的时间戳关联。例如,当例如收集设备160的收集设备到处移动时,例如通过沿街道驾驶车辆,摄像机162可以捕获全景图像。同时,定位系统164可以为被摄像机162捕获的各全景图像提供GPS坐标。每次收集设备160捕获一系列图像可以被认为是分开的“作业(run)”。

图3A为包括六条车道304、306、308、312、314和316的街道302的一部分的鸟瞰视图的示例图解300。六条车道被双车道线310分为两个部分。那些出现在双车道线310上方的车道为西行车道,然而那些在下方的车道为东行的。在此示例中,圆圈对应于街道级别图像的2D位置(x,y)。这些圆圈被布置为五个不同的作业(run)320-328。此外,各行程可以对应于当该作业的全景图像被捕获时收集设备采取的路径。在此示例中,作业320、322和324出现在西行车道304、306和308中,然而作业326和328出现在东行车道312和314(但不是316)中。这里,当车辆沿街道302的车道304驾驶时,作业320的街道级别全景图像被收集设备160的摄像机162收集。作业322-328的全景图像可以已经被相同或不同的收集设备收集,但是各自在相互不同的日期和时间上被收集。在图3A的示例中,为了清楚,不同的作业发生在不同的车道中,但是这不是一定需要是该情况。多个作业(例如,320、322)可以出现在相同的车道中(例如,306)。

当全景图像在不同作业中被收集,对应于在那些图像中的物体的3D几何数据也可以被收集。例如,当收集设备160沿街道302驾驶时,LIDAR系统166可以被用于收集激光数据或对应于建筑物330-338表面的光强信息。如上面指出的,此信息被转换为在那些建筑物表面的三维点。因此,此信息可以描述包括于在大致与激光数据相同的位置被捕获的全景图像中,或更确切地说,作业320-328的任意全景图像中的物体。虽然没有被要求,但每个作业可以与它自己的3D几何数据关联。此3D几何数据可以与单独的街道级别全景图像或作业关联,或3D几何数据可以用全景图像的2D或3D位置信息取回。

在一些例子中,由于GPS坐标中固有的噪音,此信息还可以被处理以降低原始数据中的噪音。例如,激光数据,例如由LIDAR系统产生,可以被用于变换,确认,或以其他方式校正GPS坐标。图3B的示例340描绘了两个不同的贯穿相同的区域(例如,沿道路相同部分,但不是必需在相同交通车道中)的作业。第一作业包括对应于被线342和344代表的建筑物的正面的3D几何数据。第一作业还包括多个作为空心圆圈346示出的GPS坐标。第二作业还包括对应于被线352和345代表的建筑物的正面的3D几何数据。第二作业还包括多个作为实心圆圈356示出的GPS坐标。如图3C的示例350中示出,来自这两个作业的数据可以之后相对于相互变换。这里,线342和344和/或线352和354被变换以使它们相互对齐。此外,各变换的作业的GPS坐标还可以被变换以使它们保持距对应于用于该被变换的作业的3D几何数据的线相同的相对距离。此处理的(或在一些示例中,未处理的)位置和方位信息可以被称为全景图像的“实际”位置。

每张全景图像还可以被处理以识别那个图像的另外的位置,所述位置可以以一维(1D)表现。例如,此第二位置可以对应于沿经过街道的中心或几乎中心的线的位置或“捕捉”位置,车辆沿所述街道驾驶。线可以对应于储存系统150中存储的地图信息的路段。换句话说,图像的2D或3D位置被捕捉到路段上的1D位置。关于此点,捕捉位置可以以沿路段,更确切地说沿经过街道的线,的单一维度被定义。

典型地,图像的捕捉位置可以通过识别在地图上离全景图像的2D或3D位置最近的路段的位置确定。在地图信息有更复杂的路段的布置的情况下(例如,最近的路段可以实际上对应于不同的街道),图像的捕捉位置可以基于在相同作业中被捕获的其他图像的最有可能的捕捉位置确定。关于此点,即使单一图像更靠近第一路段,如果在那张图像之前和/或之后的作业中被捕获的图像都被捕捉到不同的路段,则它可以被捕捉到所述不同的路段。

图4为示例图解400,所述示例图解400描绘了捕捉少量的图3A中作业的图像到对应于街道302的一部分的路段420。在此示例中,作业320-328的全景图像402-410分别被捕捉到沿路段420最近的位置,或位置430-434。关于此点,对应于沿路段420的位置430-434的位置的1D位置对于各全景图像402-410被识别。其他作业320-328的图像还可以各被捕捉到路段420中以便同样识别那些全景图像的1D位置。

被如上面讨论地识别的1D捕捉位置可以由一个或多个服务器计算设备使用以选择一个或多个在大致相同的位置但是在不同的时间点被捕获的全景图像。这里,不同的时间点指接近给定的全景图像的位置的两个不同的作业。关于此点,给定第一全景图像的1D捕捉位置,储存系统150的其他全景图像可以通过一个或多个服务器计算设备110被查询以识别第二全景图像,所述第二全景图像具有既最靠近于第一全景图像的1D捕捉位置又具有表明第二图像被捕获在与第一全景图像不同的天(例如,在不同的作业中)的时间戳的1D捕捉位置。在一些例子中,如果最靠近的不同作业的全景图像大于特定的距离,例如,15米或更多或更少,则对于那个作业,没有第二全景图像可以被选择。

如果有多个其他的对于给定路段的作业(例如,一个在2011年8月里,一个在2012年9月里,等),关联于这样的作业的全景图像(如被时间戳识别的)可以被分组查询以使沿路段最靠近的全景图像可以对于各单独的作业被识别。关于此点,多个这样的第二图像(对每个作业一个)可以基于特定的第一图像被选择。返回图4的示例,如果全景图像402是第一全景图像,对于每个作业322-328,第二全景图像可以被识别,因为这些作业中每一个各自在相互不同的,还与作业320不同的日期和时间被收集,全景图像402在所述作业320中被捕获。每个全景图像402、406、408、410和412可以被选择为用于全景图像402的第二全景图像,因为它们具有对于每个相应作业的距全景图像402的1D捕捉位置最接近的1D捕捉位置。

任意这样的第二全景图像可以结合第一全景图像被提供以显示给用户。例如,用户,例如用户220,可以通过选择观看第一全景图像的选项,通过搜索第一全景图像,或者以其他通常的方式,使用客户计算设备,例如客户计算设备120,请求观看第一全景图像,所述搜索第一全景图像为通过将特定位置输入到搜索引擎,在对应于第一全景图像的2D或3D位置的地图上选择点来进行。作为响应,客户计算设备可以发送请求给或识别第一全景图像到一个或多个服务器计算设备110。

一个或多个服务器计算设备可以接收请求以识别用于第一全景图像的任意第二全景图像。在一个示例中,上面描述的任意被选择的第二全景图像可以被关联于第一全景图像以使服务器计算设备110可以使用第一全景图像以取回任意第二全景图像。因此,任意第二全景图像可以被一个或多个服务器计算设备提前,也就是说,在用户请求观看第一全景图像之前选择。可替代地,所述选择可以实时地(例如,没有延迟或响应于对第一全景图像的请求或响应于识别第一全景图像)执行以保持最靠近的可用的全景图像为最新的。这可以尤其有用,因为随着额外的图像被收集,多个储存系统150的全景图像可能随时间变化。

一旦被识别,一个或多个服务器计算设备可以提供第一全景图像以及观看任意被识别的第二全景图像以显示的选项。例如,当用户观看第一全景图像时,他或她可以被提供观看一个或多个与第一全景图像连接的第二全景图像的选项或转换到观看第二全景图像中的一张的选项。在一些示例中,任意第二全景图像,虽然没有被立即显示,但也可以在用户选择选项之前提供给客户计算设备,以使客户计算设备更快地显示它们。

图5为示例的屏幕截图500,所述示例的屏幕截图500可以在客户计算设备的显示器,例如客户计算设备120的显示器122上被显示给用户,例如用户220。在此示例中,屏幕截图500包括全景图像502的一部分的显示或者视口。此视口包括特定的方位和缩放水平,所述缩放水平允许用户可以观看部分建筑物504、506和508。在此示例中,全景图像502可以被认为如上面描述的第一全景图像。屏幕截图500还包括显示框510,其包括具有表明第二全景图像对于全景图像502为可用的时钟图标512的第一部分。显示框510还包括其他信息,例如识别部分全景图像502的大概位置的位置数据514。

通过选择观看第二全景图像的选项,用户可以被提供第二全景图像的一部分的显示。例如,如在图6的示例屏幕截图600中示出,一旦用户选择时钟图标512,显示框510变化以包括时间窗口602。时间窗口602包括对于全景图像502被选择的第二全景图像604的一部分(例如,缩略图)。在此示例中,全景图像604的所述部分包括建筑物620、622和624。这里,建筑物624和620可以分别对应于全景图像502的建筑物504、508。然而,建筑物622不对应于建筑物510,因为在此示例中,建筑物622在全景图像502被捕获的时间不存在。相反地,在全景图像502被捕获的时间,建筑物622被建筑物510替代。

时间窗口602还可以包括滑动条606或者其他提供许多不同功能的选择布置。在此示例中,滑动条606表明对于全景图像502可用的第二全景图像的数量。因为在滑动条上有三个点608、610和612,这可以表明具有来自至少两个不同的作业或对应于全景图像502的位置的时间中的日期的全景图像。例如,点608,由于它比点610和612稍大,可以表明全景图像604在2007年被捕获并且,假设用户正在观看最近的全景图像,点612可以表明全景图像502在2011被捕获。点610可以进一步地表明另外的图像也可用于被用户观看,所述图像被在2007年和2011年之间的某时间被捕获。因此,通过操作滑动条,用户可以在时间窗口中观看其他可用的全景图像,包括对应于点610的全景图像以及全景图像502(对应于点612)。当然,其他滑动条可以包括比可用的全景图像更少的点,以使点之间的沿滑动条的位置也可以对应于可用的全景图像,并且其他这样的机制可以被用于向用户表明第二全景图像为可用的。

如上面指出的,用户还可以在第二全景图像和第一全景图像之间转换。例如,用户可以使用鼠标指针,手指和触摸屏,简单地选择显示在时间窗口602中的全景图像或者滑动条606的点中的一个。作为响应,客户计算设备可以由第一全景图像的显示转变为被选择的第二全景图像的显示。之间,如果需要,客户计算设备还可以从一个或多个服务器计算设备请求第二全景图像。

如图7的示例屏幕截图700中示出的,用户220可以选择全景图像604,并且例如通过简单地转换或逐渐消逝或通过一些其他的转变机制,部分全景图像502的显示转变为全景图像604的显示。

第一全景图像的方位和缩放水平,或者视口信息可以被用于确定如何显示第二全景图像。例如,第二全景图像的显示方位可以被选择以对应于第一全景图像的显示方位。此外,与第一全景图像关联的三维几何数据可以被用于确定视口的观察点(例如,在没有缩放的情况下,观察点将是第一全景图像的实际的位置)与物体之间的距离。当第二全景图像被显示时,此距离和与第二图像关联的三维几何数据将用于调整第二全景图像的缩放。关于此点,第二全景图像可以被显示以使在第二全景图像中的物体将看似距用户如那些在第一全景图像的视口中的物体距用户相同的距离。例如,如可以从图6的屏幕截图600看出,全景图像502的显示部分对应于全景图像604的显示部分。关于此点,全景图像的方位以及缩放水平两者都对应,即使它们不是必需相同的。

例如,两个相对应的方位依据各全景图的2D或3D位置,要么可以是相同的,要么可以是稍微不同的。参照图8的示例图解800,用户可以观看在某缩放水平z下的全景图像406,所述全景图像406沿线802以对应于南方或一些特定角度(例如,从北方的180度,等)的方向取向。因此,在此示例中的全景图像406的视口信息将包括南方方位和缩放水平z。关于此点,被显示的部分全景图像406的中心点(或像素)对应于在建筑物336上的三维点804的位置。

如果全景图像402可用于第二全景图像,对应的方位可以用相同的方位或南方沿虚线806被选择。可替代地,方位可以被选择以使被显示的部分全景图像406的中心点(或像素)对应于在建筑物336上的三维点804。这可以例如通过用在各作业320和324中收集的3D几何数据来识别点804的3D位置以及全景图像402和406的2D或3D位置以确定虚线806和实线808之间的角α来确定。全景图像406的方位之后可以用角α调整以确定全景图像402的对应的方位。例如,当虚线806自实线808顺时针取向时,如果全景图像406的方位H为度并且α为度,α可以从H减去(或者使之为负值并且加到H)以提供全景图像402的方位。作为另一实施例,如果虚线806自实线808逆时针取向,可以使α为负值并且从H减去(或者使之加到H)以提供方位。如果向用户显示的第一全景图像的方位以二维(例如,在球体上的点)表示,相同的或类似的计算可以以二维被执行以确定第二全景图像的方位。

第二全景图像的对应的缩放水平也可以被确定。例如,再次参照图8,全景图像406的2D或3D位置与点804的3D位置之间沿线802的距离,D1,可以被确定。此外,被显示的部分全景图像406的中心点(或像素)对应于建筑物336上的三维点804的位置。类似地,全景图像402的2D或3D位置与点804的3D位置之间沿线808的距离,D2,也可以被确定。这两个距离的比(D2/D1)可以提供缩放值。施加这个缩放值到全景图像406的显示的缩放水平,例如通过相乘(z*D2/D1),可以提供全景图像402的缩放水平。对于此点,如果全景图像406的缩放水平为1,如此点804看似与用户距离D1,则全景图像406的缩放水平将为D2/D1。

对应的方位和缩放水平可以被一个或多个服务器计算设备确定或者实时地被客户计算设备确定。例如,当用户选择观察任意第二全景图像的选项(例如图5中的时钟图标512)时,客户计算设备120可以发送视口信息到一个或多个服务器计算设备。作为响应,一个或多个服务器计算设备1120可以确定第二全景图像的对应的视口信息并且发送这个信息给客户计算设备120,所述第二全景图像将在如上面描述的时间窗602中显示。

对应的方位和缩放水平,或者对应的视口信息,可以被用于显示第二全景图像。例如,参照回图6,全景图像502的被显示部分对应于全景图像604的被显示部分,即使它们不必需具有(或被捕获在)相同的确切的2D或3D位置。关于此点,如果用户改变全景图像502的方位,全景图像604的方位的对应的变化可以在时间窗口602中发生。因此,当用户选择在全景图像502和604之间转变时(如图6和7之间所示),用户体验了从一个全景图像到在不同时间点被捕获的另一个全景图像流畅的过渡,该另一个全景图像对于用户感觉好像从与最初的全景图像的视口相同的位置被获取的。

图9的流程图900为一些上面描述的特征的示例,其可以被一个或多个上面描述的计算设备,例如计算设备110执行。如这个示例的框902所示,一个或多个计算设备访问多个全景图像。多个全景图像的每个给定的全景图像关联于以至少两个维度定义的多维位置信息,以仅一个维度定义的一维(1D)位置信息,对应于在给定的全景图像中描绘的物体的表面的三维几何数据,和识别给定全景图像在何时被捕获的时间信息。在框904,对于多个全景图像的第一全景图像,所述第一全景图像关联于第一多维位置信息,第一1D位置信息,和第一时间信息,多个全景图像的第二全景图像被选择。第二全景图像关联于第二多维位置信息,第二1D位置信息,和第二时间信息。第二全景图像被选择以使第二1D位置信息最接近第一1D位置信息,并且第一时间信息和第二时间信息表明第一全景图像和第二全景图像在不同天被捕获。在框906,第一全景图像为了显示被提供第二全景图像为可用的指示。在框908,第二全景图像的缩放水平基于第一3D几何数据,第一多维位置信息,第二3D几何数据,和第二多维位置信息被确定。在框910,第二全景图像为了显示被提供第二全景图像的缩放水平。

除非另有陈述,先前的可替代的示例不是相互排他的,但是可以以各种结合实现以达到独特的优势。由于上面描述的特征的这些或其他的变型和结合可以被利用,而不背离由权利要求定义的主题,先前的实施例的描述应该以例证的方式而不是以限定由权利要求定义的主题的方式被取得。此外,在这里被描述的示例的提供以及如“例如”“包括”等措辞的从句,不应该被理解为限定权利要求的主题到特定的示例;相反地,示例意在只是例证许多可能的实施例中的一个。进一步地,在不同的图中的相同的附图标记可以标示相同或类似的元件。

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