对三维环境进行视觉表示的制作方法与工艺

文档序号:12008219阅读:172来源:国知局
对三维环境进行视觉表示的制作方法与工艺
本发明的实施例涉及通过选择用于渲染给用户的三维环境的透视图而对包括各条路线的三维环境进行视觉表示的系统、设备、方法、计算机程序。

背景技术:
当前的系统可以通过选择用于向用户显示的三维环境的透视图来对包括各条路线的三维环境进行视觉表示。所显示的环境的所选透视图对应于一条路线上的一个“观看”方位。通过改变观看方位就会改变透视图。用户可能难以控制观看方位。

技术实现要素:
根据本发明的各个(但不一定是所有)实施例,提供一种方法,其包括:通过使用三维环境的多个透视图当中的对应于当前路线上的当前方位的一个所选透视图,向用户呈现包括各条路线的三维环境;检测包括随时间改变的特性的手势用户输入并且响应于手势用户输入把当前路线上的当前方位改变到一条路线上的一个新方位,其中手势用户输入的第一特性确定沿着当前路线的新方位相对于当前方位的方向,并且手势用户输入的第二特性确定新方位;以及通过使用三维环境的多个透视图当中的对应于新方位的一个新选择的透视图,向用户呈现包括各条路线的三维环境。根据本发明的各个(但不一定是所有)实施例,提供一种设备,其包括:至少一个处理器;以及包括计算机程序代码的至少一个存储器,所述至少一个存储器和计算机程序代码被配置成利用所述至少一个处理器使得所述设备至少施行以下步骤:通过使用三维环境的多个透视图当中的对应于当前路线上的当前方位的一个所选透视图,向用户呈现包括各条路线的三维环境;检测包括随时间改变的特性的手势用户输入并且响应于手势用户输入把当前路线上的当前方位改变到一个新方位,其中手势用户输入的第一特性确定沿着当前路线的新方位相对于当前方位的方向,并且手势用户输入的第二特性确定新方位;以及通过使用三维环境的多个透视图当中的对应于新方位的一个新选择的透视图,向用户重新呈现包括各条路线的三维环境。根据本发明的各个(但不一定是所有)实施例,提供一种方法,其包括:通过使用三维环境的多个透视图当中的对应于当前路线上的当前方位的一个所选透视图,向用户呈现包括各条路线的三维环境;检测包括随时间改变的特性的手势用户输入并且响应于手势用户输入从当前路线上的当前方位导航到一个新方位,其中所述新方位处于根据手势输入选择的预定航路点;以及通过使用三维环境的多个透视图当中的对应于新方位的一个新选择的透视图,向用户重新呈现包括各条路线的三维环境。根据本发明的各个(但不一定是所有)实施例,提供一种计算机程序,当被加载到处理器中时,所述计算机程序使得施行以下步骤:通过使用三维环境的多个透视图当中的对应于当前路线上的当前方位的一个所选透视图,向用户呈现包括各条路线的三维环境;响应于手势用户输入把当前路线上的当前方位改变到一个新方位,其中手势用户输入的第一特性确定沿着当前路线的新方位相对于当前方位的方向,并且手势用户输入的第二特性确定新方位;以及通过使用三维环境的多个透视图当中的对应于新方位的一个新选择的透视图,向用户重新呈现包括各条路线的三维环境。附图说明为了更好地理解本发明的各个示例性实施例,下面将仅仅通过举例的方式来参照附图,其中:图1示出了包括各条路线的三维环境内的一种用户导航方法;图2示意性地示出了一种通过选择用于向用户渲染的三维环境的透视图而对包括各条路线的三维环境进行视觉表示的系统或设备;图3示意性地示出了控制器的一个实例;图4示意性地示出了用于计算机程序的一种适当的递送机制;图5A示意性地示出了从初始观看方位发起的包括各条路线的环境透视图的一个实例;图5B给出了图5A中描绘的环境的等效平面图;图6A示意性地示出了从图5A中所示的观看方位之后的一个后续观看方位发起的包括各条路线的环境透视图的一个实例;图6B给出了图6A中描绘的环境的等效平面图;图7A示意性地示出了从图5A中所示的观看方位之后的一个后续观看方位发起的包括各条路线的环境透视图的一个实例;图7B给出了图7A中描绘的环境的等效平面图;图8A示出了手势用户输入的一个实例;图8B示出了图8A中所示的手势用户输入的效果;图9A示出了手势用户输入的一个实例;图9B示出了图9A中所示的手势用户输入的效果;以及图10示出了一种用于在包括各条路线的三维环境内控制用户导航的方法,其中新观看方位是从四个潜在的交叉路口航路点(左前方、右前方、左后方和右后方)当中选择的一个交叉路口航路点。具体实施方式图1示出了包括各条路线的三维环境内的一种用户导航方法2。在图5A中示出了从观看方位34发起的包括各条路线30的环境透视图32的一个实例,在图5B中示出了环境平面图40的一个实例。在方框4处,方法2包括:通过使用三维环境的多个透视图32当中的对应于当前路线30上的(当前)观看方位34的一个所选透视图,向用户呈现所述三维环境。图5A示意性地示出了从观看方位34发起的包括各条路线30的环境的透视图32的一个实例,图5B给出了所述环境的等效平面图40。接下来在方框6处,方法2包括:检测手势用户输入36,并且响应于手势用户输入36把当前路线30上的当前方位34改变到一条路线上的新方位34’。随后在方框8处,方法2包括:通过使用三维环境的多个透视图32当中的对应于新方位34’的一个新选择的透视图,向用户呈现所述环境。图6A示意性地示出了从新观看方位34’发起的包括各条路线30的环境透视图32的一个实例,图6B给出了所述环境的等效平面图40。新观看方位34’由位置33(其由圆圈表示)和指向35(其由箭头表示)定义。在该例中,沿着当前路线30,图5A和6A中的指向是相同的。图7A示意性地示出了从新观看方位34”发起的包括各条路线30的环境透视图32的另一个不同实例,图7B给出了所述环境的等效平面图40。新观看方位34”由位置33(其由圆圈表示)和指向35(其由箭头表示)定义。在该例中,图5A和7A中的指向是不同的。新观看方位34”的指向35是沿着与当前路线30交叉的侧向路线。手势用户输入36包括随时间改变的特性。手势用户输入36的初始特性36A可以确定沿着当前路线30的导航方向(新方位相对于当前方位的方向),并且手势用户输入36的后来特性36B可以确定新方位34’。新方位34’可以处于根据手势用户输入36选择的预定航路点。透视图32可以是全景视图的一部分。透视图32由包括观看位置33和观看指向35的观看方位34确定。所使用的全景视图是基于位置33来选择的。全景视图的所述部分是基于指向35来选择的。全景视图32例如可以是地面视图全景,其是在真实世界中的地平面上方的1到4m之间捕获的全景图像。因此,所述三维环境可以是真实世界的表示,并且三维环境内的用户导航可以对应于步行、乘车或者某种其他交通模式下的真实世界中的导航。所述真实世界的表示例如可以是真实世界的增强型非实时表示,其中利用附加的内容来增强所捕获的图像。包括各条路线30的三维环境内的用户导航方法2可以被使用在车载式或手持式卫星导航系统中。图2示意性地示出了一种通过选择用于向用户渲染的三维环境的透视图32而对包括各条路线30的三维环境进行视觉表示的系统或设备10。所渲染的环境的透视图32对应于一条路线30上的一个观看方位34。通过改变观看方位34会改变透视图32。路线30可以是一条小径、道路、干道、死胡同或者任何其他所定义的交通渠道。用户能够通过改变观看方位34在环境中进行导航。举例来说,用户可以通过沿着路线30向前移动观看方位34从而沿着路线30向前导航,并且用户可以通过沿着路线30向后移动观看方位34从而沿着路线30向后导航。用户可以通过把观看方位34从一条路线移动到另一条路线而从一条路线30导航到另一条路线30。可以通过用户输入来控制观看方位34。用户可以使用手势用户输入36来把当前路线30上的当前观看方位34改变到当前路线或者一条新路线上的新观看方位34’。系统或设备10包括控制器12、渲染装置14、用户输入16和数据库18。控制器12被配置成至少从数据库18进行读取、从用户输入装置16接收输入命令以及向渲染装置14提供输出命令。数据库18存储多个透视图32。用户输入16被配置成使得用户能够通过用户输入16给出手势用户输入36。控制器12被配置成向用户呈现三维环境,这是通过从数据库18中访问所述环境的多个透视图32当中的对应于当前路线30上的当前方位34的一个所选透视图以用于在渲染装置14上进行渲染而实现的。控制器12被配置成检测通过用户输入16给出的手势用户输入36,并且被配置成响应于手势用户输入36而把当前路线30上的当前方位34改变到一条路线上的新方位34’。控制器12被配置成向用户呈现三维环境,这是通过从数据库18中访问所述环境的多个透视图32当中的对应于新方位34’的一个新选择的透视图以用于通过渲染装置14进行渲染而实现的。渲染装置14可以是适于向用户提供视觉图像的任何装置。其例如可以是显示器(如图所示),或者可以是通过视觉方式渲染内容的某种其他装置,比如投影系统或类似装置。手势用户输入36是作为手势的结果在用户输入装置16处的输入。手势是用户对于输入点的随时间变化的移动。所述输入点例如可以是用户的手指与触敏屏之间的接触位置,并且所述手势可以是作为手指移动的结果而在屏幕上给出的接触点的追踪移动。作为另一个实例,所述输入点可以是显示器14上的指针图标位置,并且所述手势可以是作为用户输入装置16处的用户输入的结果而在显示器中的指针图标移动。所述手指的随时间变化的移动导致包括至少一项随时间变化的特性的手势用户输入36。所述随时间变化的特性例如可以是一个运动学参数,比如位移、速度或加速度。如果所述随时间变化的特性(例如位移方向)从第一特性(例如第一位移方向36A)改变到第二特性(例如第二位移方向36B),则第一特性(例如第一位移方向)可以确定导航方向(沿着当前路线的新观看方位34’相对于当前观看方位34的方向),并且第二特性(例如第二位移方向36B)可以确定新方位34’。新观看方位34’可以是根据手势输入36从多个预定航路点当中选择的一个航路点。所选航路点例如可以在当前路线30的一侧(其由手势用户输入36的第二位移方向36B确定)位于当前路线30附近。航路点的实例包括路线交叉路口、感兴趣点、用户指定航路点等等。在图6A、6B、7A、7B的实例中,所选航路点是当前路线30与在第二位移方向36B上从当前路线延伸出去的交叉路线之间的交叉路口。在这些实例中,所述交叉路线是在导航方向36A(沿着当前路线30的新方位34’相对于当前方位34的方向)上的下一条交叉路线30。在其他事例中,所述交叉路线是可以在第二方向36B上导航的导航方向36A(沿着当前路线30的新方位34’相对于当前方位34的方向)上的下一条交叉路线30。所述系统或设备10的导航模式可以被用来确定一条路线在第二方向36B上是否是可导航的。举例来说,一些路线可能在步行导航模式下是可导航的并且在汽车导航模式下是不可导航的,一些路线可能在汽车导航模式下是可导航的并且在货车导航模式下是不可导航的。在一些事例中,所选航路点是满足由手势用户输入的至少一项约束特性所施加的约束的导航方向36A(手势36的初始方向)上的下一条交叉路线。所述约束特性可以取决于由手势用户输入定义的运动学矢量的量值。在图8A和9A中,手势用户输入36包括初始向上迹线36A,其后是与初始向上迹线36A大约成直角的侧向迹线36B。例如参照图8A和9A,手势用户输入36的初始特性36A(向上迹线)在图8A和9A中具有不同的值。位移36A的量值在图8A中比图9A中更大。由图8A中的更长位移36A施加的约束在于:所选航路点34’是与下一条主要路线的交叉路口(参见图8B中的平面图)。由图9A中的更短位移36A施加的约束在于:所选航路点34’是与下一条路线(不管其是主要还是次要路线)的交叉路口(参见图9B中的平面图)。虽然图8A、8B中的约束是下一条主要路线并且对应于图9A、9B的约束是下一条路线,在其他实例中也可以使用不同的约束。举例来说,约束可以包括以下各项当中的一项或多项:可导航性,最小预测交通流量,最小实际交通流量,该路线是否干道,以及该路线的最小尺寸或重要性。图10示出了一种用于在包括各条路线的三维环境内控制用户导航的方法50。在该例中,新观看方位34’是从四个潜在的交叉路口航路点(左前方、右前方、左后方和右后方)当中选择的一个交叉路口航路点。所述方法开始于方框51。随后在方框52处,所述方法利用当前全景的位置33(纬度、经度)和指向35(0-360度)识别出当前透视图32的方位34。在方框53处,在触摸屏16上检测到触摸输入。在方框54处,确定所检测到的触摸输入是否是预定义手势用户输入。如果不是的话,则在方框55处将其作为摇动(panning)命令来对待,其中位置33保持恒定,但是指向35则被改变,从而改变透视图32。所述方法随后返回方框52。如果检测到手势用户输入36,则所述方法继续到方框56。在方框56处,确定手势用户输入36表明向前还是向后移动。如果是向前移动,则所述方法继续到方框57A。如果是向后移动,则所述方法继续到方框57B。在方框57A/B处,确定手势用户输入36表明向左还是向右移动。如果是向左移动,则所述方法从方框57A继续到方框58A或者从方框57B继续到方框58C。如果是向右移动,则所述方法从方框57A继续到方框58B或者从方框57B继续到方框58D。在方框58A、58B、58C和58D当中的每一个方框处,对按照标准标记格式提供的道路网络数据进行解析,并且随后在相应的方框59A、59B、59C、59D中确定从当前方位34算起的下一个交叉路口。方框59A确定处于当前方位34左前方的下一个交叉路口。方框59B确定处于当前方位34右前方的下一个交叉路口。方框59C确定处于当前方位34左后方的下一个交叉路口。方框59D确定处于当前方位34右后方的下一个交叉路口。接下来在方框60处,获取最靠近所确定交叉路口的可用全景。随后在方框61处,把当前方位更新到下一个交叉路口处的新方位,并且利用适当的指向来渲染新全景。所述方法随后返回方框52。控制器12的实现方式可以是仅用硬件实现(电路、处理器等等),仅用包括固件在内的软件实现某些方面,或者可以是硬件与软件(包括固件)的组合。可以利用实现硬件功能的指令来实施控制器12,比如通过在通用或专用处理器中使用可执行计算机程序指令,所述可执行计算机程序指令可以被存储在计算机可读存储介质(盘、存储器等等)上以便由这样的处理器执行。图3示意性地示出了控制器12的一个实例,其包括被配置成对存储器22进行读取和写入的处理器20。处理器20还可以包括输出接口和输入接口,处理器20通过输出接口输出数据和/或命令,并且通过输入接口把数据和/或命令输入到处理器20。存储器22存储计算机程序24,其包括在被加载到处理器20中时控制设备10的操作的计算机程序指令。计算机程序指令24提供使得设备10能够施行如图1中所示的方法的逻辑和例程。通过读取存储器22,处理器20能够加载并执行计算机程序24。因此,一种设备10可以包括:至少一个处理器20;以及包括计算机程序代码24的至少一个存储器22,所述至少一个存储器22和计算机程序代码24被配置成利用所述至少一个处理器20使得所述设备至少施行以下步骤:通过使用三维环境的多个透视图32当中的对应于当前路线30上的当前方位34的一个所选透视图,向用户呈现包括各条路线20的三维环境;检测包括随时间改变的特性的手势用户输入36,并且响应于手势用户输入36把当前路线上的当前方位34改变到一个新方位34’;以及通过使用三维环境的多个透视图32当中的对应于新方位34’的一个新选择的透视图,向用户重新呈现包括各条路线30的三维环境。已编程的处理器20还可以被配置成根据手势用户输入把多个预定航路点的其中之一选择为新方位。已编程的处理器20还可以被配置成检测包括随时间改变的特性的手势用户输入,其中包括检测由用户输入定义的运动学矢量的方向改变。计算机程序可以通过如图4中示意性地示出的任何适当的递送机制26到达设备10。所述递送机制26例如可以是计算机可读存储介质、计算机程序产品、存储器装置、诸如紧致盘只读存储器(CD-ROM)或数字通用盘(DVD)之类的记录介质、有形地具体实现计算机程序24的制品。所述递送机制可以是被配置成可靠地传输计算机程序24的信号。设备10可以将计算机程序24作为计算机数据信号来传播或传送。虽然存储器22、18被图示为单个组件,但是其也可以被实施为一个或多个单独的组件,其中的一些或全部可以被集成/移除并且/或者可以提供永久性/半永久性/动态/高速缓存的存储。在提到“计算机可读存储介质”、“计算机程序产品”、“有形地具体实现的计算机程序”等等或者“控制器”、“计算机”、“处理器”等等时,其应当被理解成不仅涵盖具有不同架构(比如单/多处理器架构和顺序(VonNeumann)/并行架构)的计算机,而且还涵盖专用电路,比如现场可编程门阵列(FPGA)、专用集成电路(ASIC)、信号处理装置和其他处理电路。在提到计算机程序、指令、代码等等时,其应当被理解成涵盖用于可编程处理器的软件或者例如硬件装置的可编程内容之类的固件,比如用于处理器的指令或者用于固定功能装置、门阵列或可编程逻辑装置的配置设定等等。在本申请中使用的术语“电路”指代所有以下情况:(a)仅有硬件的电路实现方式(比如仅仅在模拟和/或数字电路中的实现方式);以及(b)电路与软件(和/或固件)的组合,比如(适用于):(i)(多个)处理器的组合,或者(ii)一起工作来使得设备(比如移动电话或服务器)施行各项功能的(多个)处理器/软件(其中包括(多个)数字信号处理器)、软件以及(多个)存储器的各个部分;以及(c)需要软件或固件来操作的电路(比如(多个)微处理器或(多个)微处理器的一部分),尽管所述软件或固件并不以物理方式存在。“电路”的上述定义适用于本申请中对于该术语的所有使用,其中包括在任何权利要求中的使用。作为另一个实例,在本申请中使用的术语“电路”还将涵盖仅有一个处理器(或多个处理器)或一个处理器的一部分连同与之相伴的软件和/或固件的实现方式。如果适用于特定权利要求元素的话,术语“电路”例如还将涵盖用于移动电话的基带集成电路或应用处理器集成电路,或者服务器、蜂窝网络装置或其他网络装置中的类似集成电路。这里使用的“模块”指的是排除将由末端制造商或用户添加的特定部件/组件的单元或设备。控制器12可以是一个模块。在图1和/或10中示出的各个方框可以代表方法中的各个步骤和/或计算机程序24中的各个代码段。图示出所述方框的特定顺序并不一定意味着对于所述方框存在所需的或者优选的顺序,并且所述方框的顺序和设置可以有所改变。此外还有可能省略某些方框。虽然在前面的段落中参照各个实例描述了本发明的各个实施例,但是应当认识到,在不背离所要求保护的本发明的范围的情况下可以对所给出的实例做出修改。“真实世界”路线可以由地图绘制员、城市/州/国家权威机构、末端用户等等提供。可以利用适当的数据结构在所述系统或设备10中定义“虚拟”路线。通过使用三维环境的多个透视图当中的对应于当前路线上的当前方位的一个所选透视图来向用户呈现包括各条路线的三维环境。所选透视图可以包括虚拟路线,并且如果是这样的话,这些虚拟路线与真实世界路线对准。在本文档中使用的术语“交叉路口”被用来描述或定义当一条路线与另一条路线相遇时在所述两条路线之间的至少一个方向上存在交通渠道的情况。使用术语“交叉路口”并不意味着一条路线是主要路线并且另一条路线是次要路线,尽管在某些交叉路口处可能正是这种情况。在一些实例中,一条路线可以在交叉路口处穿过另一条路线,或者在交叉路口处与另一条路线合并。举例来说,路线之间的联结例如可以是来自以下非穷举性列表当中的任一种联结:例如T形交叉路口或Y型交叉路口之类的交叉路口;十字路口;交通转盘(环形交通枢纽、环形交叉路);以及例如匝道或支线之类的接驳(feeder)车道,其提供到另一条路线(通常是但并不一定是高速公路)的出口或入口。可以在不同于前面明确描述的组合的其他组合中使用在前面的描述中所描述的各项特征。虽然参照特定特征描述了各项功能,但是也可以由不管是否做了描述的其他特征来施行这些功能。虽然参照特定实施例描述了各项功能,但是在不管是否做了描述的其他实施例中也可以存在这些功能。虽然在前面的说明书中致力于强调本发明的据信是特别重要的那些特征,但是应理解的是,申请人关于在前文中所提到的和/或在附图中示出的任何可申请专利的特征或特征组合都要求保护,而不管是否对其特别做了强调。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1