共享虚拟空间中便携式设备的校准的制作方法

文档序号:6360872阅读:522来源:国知局
专利名称:共享虚拟空间中便携式设备的校准的制作方法
技术领域
本发明涉及用于以便携式设备控制虚拟场景的视图的方法、设备和计算机程序, 并且更具体地涉及用于在虚拟或增强现实中使能多玩家互动的方法、设备和计算机程序。
背景技术
虚拟现实(VR)是用户通过标准输入设备或专用多向输入设备的使用可以与虚拟环境或虚拟人造物(virtual artifact)互动的计算机仿真环境,不论该环境是真实世界的模拟还是想象的世界。仿真的环境可以类似于真实世界,例如,用于飞行员或战斗训练的仿真,或者它可以显著地不同于现实,如在VR游戏中。虚拟现实一般用来描述公共地关联于其身处其境的、高度可视的、三维(3D)环境的大量应用。计算机辅助设计(CAD)软件、图形硬件加速、头戴显示器、数据库手套(database gloves)和小型化的发展已经帮助推广该概念。
增强现实(AR)提供物理真实世界环境的实况视图,该真实世界环境的要素与虚拟计算机生成的影像合并(或由其增强)以创建混合现实。增强传统上是实时的并且以具有环境要素的语义背景,诸如比赛期间电视上的体育比分。借助于高级AR技术(例如,增加计算机视觉和物体识别),关于用户周围真实世界的信息变得有互动性并且是数字地可用的。
术语增强虚拟(AV)也用在虚拟现实世界中并且类似于AR。增强虚拟也指将真实世界物体合并到虚拟世界中。作为虚拟连续(Virtuality Continuum)中的中间情况,AV指的是其中例如物理物体或人的物理要素动态集成到虚拟时间中,且可以与虚拟世界实时互动的主要虚拟空间。术语VR在本申请中作为统称术语,除非另有说明,也包括AR和AV。
VR游戏通常要求大量计算机资源。VR游戏的手持设备中的实现很罕见并且现有游戏宁可是具有基本VR效果的简单。另外,多玩家AR游戏允许在虚拟世界中玩家的互动, 但是,该互动限于虚拟世界中由玩家操纵的物体(例如,汽车、球拍、球等)。虚拟世界是计算机生成的并且独立于玩家和便携式设备的位置。当创建“现实的”虚拟现实体验时,不考虑玩家互相之间和玩家关于他们周围的相对位置。
正是在此背景下出现了发明的实施例。发明内容
本发明的实施例提供用于生成通过至少第一和第二设备可观看的互动空间的方法、系统和计算机程序。应当认可的是,本发明可以以多种方式实现,诸如处理、装置、系统、 设备或计算机可读介质上的方法。以下描述本发明的多个发明性实施例。
在一个实施例中,方法包括从第一设备检测第二设备的位置或者反之亦然的操作。此外,同步信息数据在第一和第二设备之间交换以在三维(3D)空间中识别相对于设备的物理位置的3D空间中的参考点。设备在设定该参考点时建立其他设备的3D空间中的物理位置。方法进一步包括用于在第一和第二设备的显示器中生成互动场景的视图的操作。 互动场景绑定于参考点并且包括虚拟物体。视图示出全部或部分互动场景并且示出如从相应设备的当前位置观察到的互动场景。在3D空间中移动设备使得根据当前位置改变视图。
在另一实施例中,提供用于生成通过至少第一和第二设备可观看的互动空间的方法。在一个方法操作中,检测到第一设备和第二设备之间的轻敲,在轻敲之后,在第一和第二设备之间交换同步信息数据以在检测到轻敲时在3D空间中识别相对于第一和第二设备的物理位置的3D空间中的参考点。另外,方法在第一和第二设备的相应显示器中生成互动场景的视图。该互动场景绑定于参考点并且包括虚拟物体,其中每个视图示出如从相应设备的当前位置观察到的互动场景。在3D空间中的设备移动使得相应视图根据当前位置改变。
在再一实施例中,呈现在便携式设备当中共享虚拟现实的便携式设备。该便携式设备包括位置模块、通信模块、视图生成器和显示器。位置模块跟踪便携式设备的位置并且配置为检测参考便携式设备的位置的第二设备的位置。通信模块用来在便携式设备和第二设备之间交换同步信息数据。基于同步信息在3D空间中识别关于便携式设备的物理位置的3D空间中的参考点。此外,视图生成器创建绑定于参考点并且包括虚拟物体的互动场景的视图。视图示出全部或部分互动场景并且示出如从相应设备的当前位置观察的互动场景。当设备由玩家在3D空间中移动时,视图根据设备的当前位置而改变。显示器用来示出视图。
发明的其他方面将由下列结合附图的详细描述而变得清晰,以示例的方式示出发明的原理。


可以通过参考下列结合附图的描述而最佳地理解本发明,在附图中
图I根据一个实施例描绘同步便携式设备到空间中的参考点之前的用户;
图2图示以便携式设备观察的虚拟现实场景;
图3根据一个实施例图示便携式设备的移动如何在显示器上具有如在虚拟空间中移动相机时的类似效果;
图4根据一个实施例示出当转动便携式设备时在显示器上示出的图像中的改变的二维展示;
图5根据一个实施例图示如何通过网络连接玩互动游戏;
图6根据一个实施例图示轻敲两个便携式设备以同步它们的位置的处理;
图7根据一个实施例示出轻敲之后的两个便携式设备;
图8依据发明的一个实施例图示围绕参考点的虚拟场景的创建;
图9根据一个实施例描绘相同空间中的两个玩家,在相同空间中,虚拟现实已经围绕桌面上的参考点创建;
处理;
图IOA-图IOB根据一个实施例图示使用图像识别检测另一便携式设备的位置的图11根据一个实施例示出如何通过找到第二设备中的光源来检测第二设备;图12图示根据一个实施例通过找到第二设备的显示器来检测第二设备;图13示出用于经由推算定位(dead reckoning)跟踪便携式设备的实施例;图14根据一个实施例图示如何使用背景中的静态特征来调整推算定位;
图15图示用于多玩家环境的校准方法的一个实施例;
图16根据一个实施例描绘多玩家虚拟现实游戏;
图17依据发明的一个实施例示出用于生成通过至少第一和第二设备可观看的互动空间的算法流程;
图18图示可用来实现发明的实施例的设备的结构;
图19是依据本发明的一个实施例的、其中各个用户A到用户E与游戏客户端1102 互动的场景A到场景E的示例性图示,该客户端1102经由因特网连接到服务器处理;以及
图20图示信息服务提供商结构的实施例。
具体实施方式
下列实施例描述用于生成通过至少第一和第二设备可观看的互动空间的方法、装置和计算机程序。然而,对于本领域技术人员显然的是,可以没有这些具体细节中的一些或全部地实践本发明。在其他例子中,没有详细描述熟知的处理操作以便于不使本发明不必要地模糊。
图I根据一个实施例描绘同步便携式设备到空间中的参考点之前的用户。便携式设备102放在桌子上为同步便携式设备到参考点做准备。用户102已经将便携式设备放置在将用作参考点或锚点(anchor)的点上以建立围绕该点的虚拟现实。在图I中示出的情况下,便携式设备位于桌子的大致中心,并且一旦同步了便携式设备就建立围绕桌子中心的虚拟世界。便携式设备可以以各种方式同步,诸如按下便携式设备104上的按钮、触摸便携式设备上的触敏屏幕、让该设备静止不动一段时间(例如,5秒)、输入声音命令等。
一旦便携式设备接收到要同步的输入,就复位便携式设备中的位置跟踪模块。该便携式设备可以包括如下面参考图18描述的多个位置跟踪模块,诸如加速度计、磁力计、 全球定位系统(GPS)设备、相机、深度相机、指南针、陀螺仪等。
便携式设备可以是很多类型中的一个,诸如,手持便携式游戏设备、手机、平板、笔记本、上网本、个人数字助理(PDA)等。参考便携式游戏设备描述发明的实施例,但是原理可以应用于带有显示器的任何便携式电子设备。发明的原理也可以应用于游戏控制器或者连接到带有显示器的计算设备的其他输入设备。
图2图示以便携式设备观察的虚拟现实场景。在关于参考点106同步设备104后, 便携式设备将开始显示虚拟现实108的视图。通过仿真便携式设备的后部的相机在围绕参考点106的3D空间内移动来创建显示器中的视图。图2描绘包括棋盘的虚拟现实。便携式设备104能够在设备来回移动时检测运动并且确定其相对参考点106的相对位置。位置和位置确定可以以不同方法和不同精度级别来完成。例如,可以通过分析相机捕捉的图像, 或者通过从惯性系统、GPS、超声三角测量、WiFi通信、推算定位(DR)等获得的数据,或者以上组合来检测位置。
当用户输入命令以设定参考点时,全部运动传感设备归零或校准到空间中的那个位置。例如,用户可以将设备放置在桌上并且按下按钮以校准全部运动传感数据(加速度计、陀螺仪、GPS等)。从此以后,用于设备的全部所捕获的位置信息被记录并且经由惯性导航跟踪相对于初始校准位置进行处理。全部后续所捕获的位置信息被认为相对于设备校准位置(参考点)。
在一个实施例中,设备保持关于参考点106的、在便携式设备的空间中的位置的轨迹,以及便携式设备的空间中的位置。该位置被用来确定相机的观看角度,即,便携式设备用作到虚拟场景中的相机。如果便携式设备朝向右,则视图将转向右,等等。换而言之, 观看角度定义为原点在显示器的中心(或设备的其他部分)并且具有垂直并远离该显示器的方向的向量。在另一实施例中,仅跟踪空间中的位置,并且计算显示器中的视图,就像相机从便携式设备所在并朝向参考点的空间中的位置指向。
在一些现有实现中,AR标签放置在桌子上,并且用作用于产生增强现实的受托人标记(fiduciary marker)。该AR标签可以是物体或图画,其在出现在真实环境的所捕获的图像流中时被识别。该AR标签用作使能真实环境内的位置的确定的受托人标记。由于3D 空间内的校准和便携式设备的位置跟踪,发明的实施例去除了 AR标签的需要。另外,位置信息允许便携式设备中的游戏传递真实的3D虚拟体验。此外,联网的便携式设备的阵列可以用来创建共享虚拟世界,如同下面参考图15和图16描述的。
图3根据一个实施例图示便携式设备的移动如何在显示器上具有如在虚拟空间中移动相机时的类似效果。图3示出虚拟球体内的汽车302。假定便携式设备是从球体内的点指向汽车302、随着便携式设备在球体内移动可以获得汽车的多个视图。例如,从“北极点”的视图将示出汽车的顶部,并且从“南极点”的视图将示出汽车的底部。同样在图3 中示出的是汽车侧面、前面、后面的视图。
在一个实施例中,玩家可以输入命令以改变或翻转虚拟世界的视图。例如,在汽车的情况下,玩家从看汽车的前面转向看汽车的后面,仿佛场景旋转了 180°并且轴垂直地穿过参考点。这样,玩家不必移动空间以获得不同的观看角度。其他输入可以产生不同效果, 诸如90°转向、视图的缩放(使虚拟世界看起来更小或更大)、关于X, y或z轴旋转等。在另一实施例中,在用户的手上的便携式设备的翻转(即180°旋转)将使虚拟世界的视图上下翻转。
图4根据一个实施例示出当转动便携式设备时在显示器上示出的图像上的改变的二维展示。便携式设备402以观看角α朝向墙体,导致墙体上的投影410。因此,便携式设备402上的视图将对应于投影410。当设备402转动角度β时,便携式设备停在位置 404。视图也转动角度β同时维持相机观看角度a。其结果是,便携式设备上的视图对应于投影412。应当注意的是,屏幕上的视图独立于诸如位置408和406之类的眼睛位置,并且该视图与玩家在哪里无关。显示器上的图像取决于用作虚拟相机的便携式设备的位置。
图5根据一个实施例图示如何通过网络连接玩互动游戏。很多类型的游戏在共享空间内是可能的。例如,便携式设备可以用作球拍来玩乒乓球游戏。来回移动设备仿佛在那里球拍可以击中虚拟球。玩家看到该球在屏幕和对手的屏幕之间漂浮。在战争游戏的实施例中,玩家看便携式设备并且将弹射器朝向敌人的壁垒。玩家向后拉设备以装载弹射器, 并且然后按下按钮以将弹射器向敌人的壁垒发射。
如图5所示,当玩家在不同位置时也可以创建共享空间。玩家已经建立网络连接以玩游戏。每个玩家同步他的设备到玩家的空间中的参考点,并且创建诸如乒乓桌的虚拟现实。对手示出在桌子的他那一侧之后,在其中,对手的设备的移动匹配对手的球拍的运动。为了甚至更真实的游戏体验,游戏也可以添加化身以拿着球拍。在玩的期间,每个设备保持设备的运动和位置的跟踪。此信息与其他设备共享以使其他设备能放置匹配设备的运动的虚拟球拍。也共享诸如球的位置和移动的其他游戏信息。
图6根据一个实施例图示轻敲两个便携式设备以同步它们的位置的处理。用于设定共同的虚拟或增强空间的一个方法包括轻敲两个便携式设备。轻敲意味着轻轻地用一个设备撞击另一个。在图6示出的情形中,两个玩家正分别拿着便携式设备604和606。为了校准两个设备到相同的参考点,玩家通过将两个设备放置在一起来轻敲设备。在图6中,背靠背地放置两个设备,但是对于校准任何位置都是可能的,诸如前对后。检测轻敲的关键是一个或两个设备注意到运动中的突然改变,诸如设备的猛然减速。
例如,两个设备都可以向对方移动,并且当他们轻敲时,两个设备都停止。设备中诸如陀螺仪612和加速度计614之类的惯性模块注意到动量的改变并且随后可以建立轻敲。在另一情形下,一个便携式设备是静止的而另一个便携式设备向该静止设备移动。当设备轻敲时,移动设备将注意到动量的猛然改变而因为动量的小改变可以归结于玩家的手的自然运动,静止设备可能或可能未检测到轻敲。为了检测轻敲,一个设备检测到轻敲就足够了,而不要求两个设备都同时检测到轻敲。在一个实施例中,两个设备都检测到轻敲并且如果检测基本同时,则确定轻敲已经发生了。为了确定检测是否同时,设备交换关于该事件的定时信息。
在另一实施例中,一旦便携式设备602和602同步到相同的虚拟空间,则它们的移动以加速度计614跟踪,使能创建稳定和持续的增强现实环境,无论用户如何移动便携式设备。在再一实施例中,惯性移动信息可以用相机606或610捕获的图形数据补充。图形数据可以用来检测另一设备并估计设备之间的距离,如同下面参考图IOA-图12讨论的。
图7根据一个实施例示出轻敲之后的两个便携式设备。轻敲可以通过使便携式设备接触来完成,但是轻敲也可以在不使两个设备实际接触而完成。全部所要求的是,它们运动的改变在大致相同的时间发生。例如,如果玩家的手指在第一设备之后,则在第二设备接触玩家的手指时检测到轻敲,引起设备的运动的改变。
一旦由任一设备或两个设备都检测到轻敲,便携式设备就交换数据以确认轻敲已经发生。例如,设备可以经由WiFi或超声通信来进行通信。如同之前在图I-图2中所讨论的,创建参考点。参考点可以位于设备的背面的一些地方,诸如当设备轻敲时每个设备的中心。在另一实施例中,可以使用TransferJet接口进行数据的交换。TransferJet是在在两个设备之间检测到紧密接近时使能通信的接口。
应当注意的是,每个设备的实际参考点在用于两个设备的空间中可以不是实际相同的点。换而言之,每个设备可以具有不同的参考点,尽管在大多数情况下,参考点将互相接近。重要的事情是,两个设备建立参考点并随后开始跟踪虚拟或增强空间周围的移动。结果是共同虚拟空间。参考点可以设定在便携式设备的背部的中央、显示器的中央、相机所在地、加速度计所在地等。
一旦设定参考点,运动跟踪模块复位到零以设定原点来测量空间中的位置。此操作这里指的是校准便携式设备,并且便携式设备的三维位置的计算参考此原点计算。
图8依据发明的一个实施例图示围绕参考点的虚拟场景的创建。在图7的两个便携式设备被拉开时,创建虚拟或增强现实游戏区域。对应于便携式设备所在的3D空间中的位置指定诸如战士 804和806的虚拟物体。3D空间中的坐标原点是参考点808。因为虚拟物体相对空间中的点定位,所以不需要SLAM或ARTAG用于维持增强现实。
通过围绕游戏世界物理地移动便携式设备来控制关联于来自显示器的视图的虚拟相机,其中该游戏世界已经放置在参考真实世界的固定位置上。应当注意的是,虚拟世界不限于便携式设备之间的空间,而是可以扩展并覆盖任何便携式设备之上、之下和之后的区域。
图9根据一个实施例描绘相同空间中的两个玩家906a_906b,在该空间中虚拟现实已经围绕桌子904上的参考点902创建。玩家906a-906b已经同步它们的设备908a和 908b到位于桌子904顶部的共同参考点902。因为点P0902是参考点,所以PO也是坐标原点并且它具有坐标(XO=O,YO=O, ZO=O)ο玩家在房间内,但是虚拟现实这里也指虚拟场景, 延伸到房间的物理边界之外。
在一个示例实施例中,虚拟场景绑定到参考点,因为虚拟场景(即通过设备的屏幕看到的)的几何是至少部分地基于参考点。例如,虚拟场景中的虚拟物体的坐标可以关于参考点确定。在一个实施例中,参考点是坐标原点,因此参考点具有坐标(0,O, O)。
可以使用任何测量标准来测量坐标。但是,为了提供视觉示例,而不限制所使用的实际坐标,如果虚拟场景的坐标以米来测量,则具有坐标(1,O, O)的物体将位于参考点右边一米处。当然,真实或虚拟的物体的坐标可以在场景改变时动态地更新,诸如当虚拟物体在场景内移动时。并且,可以通过计算机(例如,互动程序)设定的动作、用户的动作所驱动的动作或两者的组合来定义改变。另外,出于清晰的目的,互动程序可以是任何类型的程序, 诸如视频游戏、商用程序、因特网接口或简单的图形用户接口之类,该图形用户接口提供到数据、到其他用户、到程序或到可能或不可能由说话人显示或投影的对象的访问。
更进一步,其他实施例可以具有不同坐标系或使用缩放。例如,取代笛卡尔系的坐标系可以是极坐标、球坐标、抛物线坐标等。另外,参考点不必是坐标系的原点,并且可以放置在不同地方。出于提供示例的目的,参考点可以位于坐标(5,5,5)以在必须在5米之外的点中使用负坐标值之前使能在每个方向上5米的缓冲。在另一情形下,建立虚拟物体以缩放并且坐标也以一比例测量。例如,虚拟物体可以以1:10的比例建立,并且几何轴也可以具有1:10的比例,从而坐标(1,0,O)的物体在“真实”世界中是I米远而在虚拟世界中是 10米远。
在图9中,虚拟物体包括直升机914a_914c、云、鸟、太阳906等。随着玩家906a和 906b移动他们的设备,虚拟场景的视图改变,仿佛玩家正将相机拿入虚拟世界中。应当注意的是,在设备908a和908b中示出的视图可以包括或可以不包括参考点。例如,尽管基于设备908a和参考点902的位置计算设备908a中的视图,但是玩家906a拿着的设备908a远离参考点902地朝向,所以参考点902在设备908a中不可观看。此外,可以在玩家的显示器中看到实际参考点作为某种标记(诸如,“X”),以让玩家知道参考点的所在。在其他实施例中,参考点不可观看并且仅作为地理位置存在而无任何具体标记。
除了桌子904之外,房间还包括其他静态物体,诸如电视912和窗户910。太阳918 通过窗户910可见。应当注意的是,虚拟太阳916不必对应于真实的太阳918。在一个实施例中,虚拟太阳916可以放置在真实太阳918的所在地,或光源在房间中的所在地。这样, 虚拟或增强世界中的光照和阴影将创造匹配房间中的光照和阴影的真实的效果。
如在图9中所见,仅因为便携式设备同步到了桌子上的点,所以虚拟物体不必在桌子上或靠近参考点。虚拟物体可以位于空间内的任何地方。当便携式设备包括相机时,10房间内的静态特征可以由便携式设备使用以通过以来自它们相机的视图来调整它们的惯性测量以维持当前位置的精确测量。便携式设备中的图像分析可以检测窗户的边缘、光源、 桌子的边缘、墙体上的绘画、电视等。下面参考图13-图14描述更多细节。
在一个实施例中,玩家可以通过将设备再次放置在参考点上来做便携式设备的快速校准,并且然后输入命令以复位设备中的运动检测模块。
图IOA-图IOB根据一个实施例图示使用图像识别检测另一便携式设备的位置的处理。如在图IOA中所见,如果两个便携式设备都是相同的型号并且包括相机1006,则可以使用相机捕获的图像来同步两个设备。例如,便携式设备1002以相机1006拍摄图像。因为便携式设备1002已经接收了同步命令,所以便携式设备1002对其他便携式设备1004的后部扫描图像。在图IOB中示出的所拍摄的图像的示意图。
便携式设备1022已经检测到矩形1010,其匹配正被搜索的便携式设备的特性。矩形1010具有水平轴1012和垂直轴1014。水平轴1012相对水平1018倾斜角度α。因为便携式设备1002知道其他便携式设备1004的尺寸,所以便携式设备1002做出合适的数学计算,将图像中的便携式设备的大小与真实测量比较以确定便携式设备1004的距离、位置和朝向。
一旦便携式设备知道便携式设备1004的相对位置,便携式设备1002和1004交换位置信息以设定共同的参考点并建立该参考点周围的共同的虚拟或增强现实。
图11根据一个实施例示出如何通过找到第二设备中的光源来检测第二设备。除了便携式设备1102具有由其他便携式设备检测到的光源,图11的同步处理类似于以上参考图10描述的处理。当便携式设备在同步处理中时,打开光源以促进相机拍摄的图像内的光的检测。光源可以是发光二极管(LED)、红外光、相机闪光灯等。
在另一实施例中,一个便携式设备中的深度相机被用来测量到其他设备的距离。 一旦知道距离,参考点就可以基于任一设备的位置来设定。诸如图像数据的额外数据也可以用来补充设备的相对位置的计算。
应当注意的是,两个设备在大致相同的时间都检测到彼此是可能的。在此情况下, 便携式设备的相对位置的计算可以通过一个便携式设备或通过另一个来完成,或可以是由两个便携式设备进行的测量的组合。
图12图示根据一个实施例通过找到第二设备的显示器来检测第二设备。当校准便携式设备1206和1208到共同空间时,诸如便携式设备1208的设备之一被“转过来”,从而显示器1202面朝便携式设备1206中的相机。例如,便携式设备1208已经示出要求用户 “将设备转过来以使显示器面朝另一便携式设备”的消息。
随后可以点亮显示器1202,诸如例如显示白色屏幕。显示器的亮度促进由便携式设备1206检测显示器。点亮的显示器对大多背景示出高对比度,包括在很多情况下,拿着设备的玩家的前方。可以添加其他图案或色彩到显示器以改进其检测。例如,图12示出内部带有正方图案的圆形用于更容易使用几何学识别显示器。
用于校准两个设备(也指配对)的其他方法可以在于2009年12月24日提交的标题为“WIRELESS DEVICE PAIRING METHODS(无线设备配对方法)”的美国申请号12/647,291 (代理人卷号S0NYP095A);于2009年12月24日提交的标题为“WIRELESS DEVICE PAIRING AND GROUPINGMETHODS (无线设备配对和分组方法)”的美国申请号12/647,296 (代理人卷号 S0NYP095B)和于 2009 年 12 月 24 日提交的标题为 “WIRELESS DEVICEMULTIMEDIA FEED SWITCHING(无线设备多媒体馈送交换)”的美国申请号12/647,299(代理人卷号S0NYP095C) 中找到,它们通过引用合并于此。
在另一实施例中,便携式设备1208具有两个显示器,一个在前且一个在后。在此情况下,不需要将便携式设备1208转过来以使显示器面朝其他玩家。便携式设备1206将能够从便携式设备1208检测前方的显示器或后方的显示器以进行校准。
图13示出用于经由推算定位跟踪便携式设备的实施例。如果便携式设备装备有离开用户脸部朝向的相机,则可以经由推算定位和惯性导航知道设备的位置。另外,相机真实世界视图可以与计算机生成的图形混合。
推算定位是基于之前确定的位置估计当前位置或方位(fix)并且基于在经过的时间和路线上的已知或估计的速度预计该位置的处理。推算定位的缺点是由于新位置仅从之前的位置计算,所以处理的误差是累积性的,从而位置方位的误差随时间增长。
图13示出已经校准到桌子1310上的点的两个便携式设备。久而久之,设备1302A 已经绕房间前行,如在推算定位测量的轨迹1306中所观察的。轨迹1306中的点示出使用上次测量之后的便携式设备1302A的之前位置和移动来估计位置的次数(times)。另一方面,实际轨迹1308示出空间中便携式设备的实际轨迹。随时间经过,由于推算定位的本质和误差积累,测量的轨迹趋向离真实轨迹越来越远。但是,可以调节推算定位跟踪以校正与真实轨迹的偏差,如下面参考图14描述的。
图14根据一个实施例图示如何在背景中使用静态特征调整推算定位。推算定位偏移通常很小,但是一段时间的误差积累可以创造离实际路线的较大的偏差。在一个实施例中,DR误差用跟踪房间内的诸如桌子1301的边缘、窗户、电视等之类的静态图案的视频校正,如之前参考图9描述的。
误差校正可以以每个DR位置测量或以特定间隔或者以每特定数量的测量进行。 为了进行校正,DR计算设备的位置并且相机拍摄设备前面的图像。便携式设备保持一个或多个静态特征的跟踪,并且将该静态特征的实际位置与预计位置比较。因为静态特征不移动,所以差别归因于DR推算误差。重新计算位置以便于在相同的地方具有预计的静态特征和测量的静态特征。
在另一实施例中,便携式设备互相通信并且通过交换DR和特征信息来协调两个设备的运动跟踪。这样,可以获得房间中的静态物体的真实3D模型。
图15图示用于多玩家环境的校准方法的一个实施例。将从设备传感器(加速度计、GPS、指南针、深度相机等)获得的位置信息传送到其他链接的设备以增强虚拟空间中的协同保持的数据。在创建同步到共同参考点1502的共同共享空间的一个实施例中,第一玩家1504A将她的设备同步到相对于参考点1502的3D空间中。其他玩家在共享空间中建立与第一玩家的通信链接以交换位置和游戏信息。相对位置可以以不同方式获得,诸如使用 WiFi三角测量和ping测试以确定相对位置。另外,视觉信息可以用来确定其他位置,诸如检测其他玩家的脸部以及从他们的脸部确定游戏设备的可能位置。
在一个实施例中,借助于超声通信和方向性麦克风,使用音频三角测量来确定相对位置。可以使用多个频率来进行音频三角测量。一旦设备已经交换位置信息,诸如超声、 WiFi或蓝牙之类的无线通信用来同步剩余的设备到参考点1502。在全部设备校准之后,设备知晓参考点1502和它们相对于参考点1502的相对位置。应当认可的是,可以使用其他方法来校准多设备到共享参考点。例如,通过将设备依次放置在参考点上,全部设备可以校准到相同的参考点。
通过使用由房间内的光源决定的阴影和光照可以使虚拟场景甚至更加真实。通过使用相机馈送(feed),游戏环境和角色使光照和阴影受真实世界的影响。这意味着,玩家的手将投影阴影在虚拟人物或者物体上,如同手进入虚拟世界中以与虚拟物体互动。游戏世界阴影和光照由真实世界阴影和光照调整,以尽可能获得最佳效果。
图16根据一个实施例描绘多玩家虚拟现实游戏。当校准的位置数据和图像分析数据与高速连通性组合时,位置信息和游戏信息可以在每个设备之间交换,选择所述设备以参与共享空间游戏体验。这允许每个玩家的系统访问来自全部其他玩家的相机视图和位置信息,以一起同步它们的校准位置并共享虚拟空间(也指共享空间)。
在玩家1602A-1602C已经参考共同3D空间中的点(诸如桌子上的点)同步或校准它们的便携式设备之后,创建共同虚拟场景1604。每个玩家都具有虚拟场景1604的视图, 仿佛虚拟场景(在此情况下是战斗板游戏)在玩家前的桌子上是真实的。便携式设备用作相机,从而当玩家来回移动设备时,视图改变。其结果是,每个显示器上的实际视图独立于其他显示器中的视图并且该视图是仅基于便携式设备相对于虚拟场景的相对位置的,该虚拟场景锚定于3D空间中的实际物理位置。
通过与便携式设备之间的高速通信一起使用多个相机、加速度计和其他机械设备来确定位置,可以创建3D运动捕获类体验,其允许玩家以可信的方式看到并且可能触摸虚拟游戏人物和环境。
共享空间1604使用设备的高速连通性来在参与共享空间游戏体验的设备之间交换信息。通过将设备转向持续在每个设备之间的空间上的稳定的“魔法窗户”,来通过该设备观看共享空间1604游戏区域,通过使用每个设备之间的运动跟踪、图像分析和信息的高度持续性的组合,即使在设备来回移动时,游戏区域在稳定的位置出现。
图17依据发明的一个实施例示出用于生成通过至少第一和第二设备可观看的互动空间的算法流程。算法描述在每个便携式设备上进行的处理流程,并且对第一设备和第二设备描述独立的流程。关于第一设备,方法以操作1702开始,在操作1702中,检测到第二设备的位置或者接收第二设备已经检测到第一设备的通知。方法进行到操作1704,其中与第二设备交换同步信息数据以识别3D空间中的参考点。该参考点有关空间中第一和第二设备的物理位置。另外,两个设备都在设定参考点时建立其他设备的3D空间中的物理位置。
方法从操作1704前进到操作1706,用于在显示器中生成包括参考点和一个或多个虚拟物体的互动场景的视图。该视图示出如从设备的当前位置观察的互动场景的透视。 在显示器中示出视图之后,在操作1708中进行检查以确定第一设备是否已经移动。如果第一设备已经移动,则方法前进到操作1710以根据第一设备的新位置来改变用于显示的视角。如果设备未移动,则方法循环回操作1706以继续更新显示,诸如反应在玩游戏期间的虚拟物体的改变。
在操作1702、1704和1706期间,第一设备可以与第二设备交换游戏和位置跟踪信息。第二设备进行类似于第一设备在操作1712、1714、1716、1718和1720中进行的方法。
图18图示可以用来实现发明的实施例的设备的结构。便携式设备是计算设备并且包括出现在计算设备中的典型模块,诸如,处理器、存储器(RAM、R0M等)、电池或其他电源以及永久存储器(诸如硬盘)之类。通信模块允许便携式设备与其他便携式设备、其他计算机、服务器等交换信息。通信模块包括通用串行总线(USB)连接器、通信链路(诸如以太网之类)、超声通信、蓝牙和WiFi。
输入模块包括输入按钮和传感器、麦克风、触敏屏幕、相机(前向、后向、深度相机) 和读卡器。诸如键盘或鼠标之类的其他输入/输出设备也可以经由诸如USB或蓝牙之类的通信链路连接到便携式设备。输出模块包括显示器(带有触敏屏幕)、发光二极管(LED)、震动触感反馈和扬声器。其他输出设备也可以经由通信模块连接到便携式设备。
可以由位置模块使用来自不同设备的信息以计算便携式设备的位置。这些模块包括磁力计、加速度计、陀螺仪、GPS和指南针。另外,位置模块可以分析用相机和麦克风捕获的声音或图像数据,以计算位置。更进一步,位置模块可以进行诸如WiFi ping测试或超声测试之类的测试以确定便携式设备的位置或附近其他设备的位置。
如之前描述的,虚拟现实生成器使用由位置模块计算的位置创建虚拟或增强现实。视图生成器基于虚拟现实和位置创建在显示器上示出的视图。该视图生成器也可以使用应用于多扬声器系统的方向性效果产生源自虚拟现实生成器的声音。
应当认可的是,在图21中图示的实施例是便携式设备的示例性实现。其他实施例可以使用不同模块、模块的子集或指定有关任务到不同模块。因此,在图21中图示的实施例不应当解释为排他的或限制性的,而是示例性或示意性的。
图19是依据本发明的一个实施例的其中用户A到用户E与游戏客户端1102互动的场景A到场景E的示例性图示,该客户端1102经由因特网连接到服务器处理。游戏客户端是允许用户经由因特网连接服务器应用和处理的设备。游戏客户端允许用户访问和回放在线娱乐内容,诸如但不限于游戏、电影、音乐和照片。另外,游戏客户端可以提供对诸如 VOIP、文本聊天协议和电子邮件之类的在线通信应用的访问。
用户经由控制器与游戏客户端互动。在一些实施例中,控制器是游戏客户端专用控制器,而在其他实施例中,控制器可以是键盘和鼠标的组合。在一个实施例中,游戏客户端是独立设备,能够输出音频和视频信号以通过监视器/电视和关联的音频装备创建多媒体环境。例如,游戏客户端可以是但不限于薄客户端、内部PCI-express卡、外部 PCI-express设备、ExpresCard设备、内部、外部或无线USB设备、或者Firewire设备等。 在其他实施例中,游戏客户端与电视或诸如DVR、蓝光播放器、DVD播放器或多通道接收器之类的其他多媒体设备集成。
在图22的场景A内,用户A使用与游戏客户端1102A配对的控制器100与在监视器106上显示的客户端应用互动。类似地,在场景B内,用户B使用与游戏客户端1102B配对的控制器100与在监视器106上显示的另一客户端应用互动。场景C图示当用户C看着显示来自游戏客户端1102C的游戏和好友列表的监视器时在用户C后面的视图。虽然图22 示出单一服务器处理模块,但是在一个实施例中,存在遍布世界的多个服务器处理模块。每个服务器处理模块包括用于用户对话控制、共享/通信逻辑、用户地理位置和负载平衡处理服务的多个子模块。此外,服务器处理模块包括网络处理和分布式存储。
当游戏客户端1102连接服务器处理模块时,可以使用用户对话控制来验证用户。所验证的用户可以具有关联的虚拟化分布式存储和虚拟化网络处理。可以存储为用户的虚拟化分布式存储的一部分的示例项包括所购买的媒体,诸如但不限于游戏、视频和音乐等。 另外,分布式存储可以用来保存多个游戏的游戏状态、单独游戏的个性化设置和游戏客户端的通用设置。在一个实施例中,服务器处理的用户地理位置模块用来确定用户和他们各自的游戏客户端的地理位置。用户的地理位置可以由共享/通信逻辑和负载平衡处理服务两者使用,以基于地理位置和多服务器处理模块的处理需求优化性能。虚拟化网络处理和网络存储中的一个或两者将允许来自客户端的处理任务对利用不足的(多个)服务器处理模块是动态变换的。因此,负载平衡可以用来最小化与存储器的撤回(recall from)以及与服务器处理模块和游戏客户端之间的数据传输两者相关联的延迟。
服务器处理模块具有服务应用A和服务应用B的例子。服务器处理模块能够支持如服务器应用Xl和服务器应用X2所指示的多个服务器应用。在一个实施例中,服务器处理是基于集群计算结构,该集群计算结构允许集群内的多个处理器处理服务器应用。在另一实施例中,将不同类型的多计算机处理方案应用于处理服务器应用。这允许缩放服务器处理,以便于容纳执行多客户端应用和对应的服务器应用的大量游戏客户端。替代地,可以缩放服务器处理以容纳更苛刻的图像处理或游戏、视频压缩抑或应用复杂性所必须的增加的计算需求。在一个实施例中,服务器处理模块经由服务器应用进行主要的处理。这允许在中心放置相对昂贵的组件(诸如图像处理器、RAM和通用处理器之类)并降低游戏客户端的成本。将所处理的服务器应用数据经由因特网发送回对应的游戏客户端,以在监视器上显不O
场景C图示可以由游戏客户端和服务器处理模块执行的示例性应用。例如,在一个实施例中,游戏客户端1102C允许用户C创建和观看包括用户A、用户B、用户D和用户E 的好友列表1120。如所示,在场景C中,用户C能够在监视器106C上看到各个用户的实时图像或化身。服务器处理执行游戏客户端1102C与用户A、用户B、用户D和用户E各自的游戏客户端1102的各个应用。因为服务器处理知道游戏客户端B执行应用,所以用户A的好友列表可以指示游戏用户B正在玩哪个游戏。更进一步,在一个实施例中,用户A可以在直接来自于用户B的游戏视频中实际观看。这通过仅将所处理的用户B的服务器应用数据除了发送到游戏客户端B之外还发送到游戏客户端A而实现。
除了能够观看来自好友的视频之外,通信应用可以允许好友之间的实时通信。当应用于之前的示例时,这允许用户A在观看用户B的实时视频时提供鼓励或提示。在一个实施例中,通过客户端/服务器应用建立双向实时声音通信。在另一实施例中,客户端/服务器应用使能文本聊天。在再一实施例中,客户端/服务器应用将语音转换为文本用于在好友的屏幕上显示。
场景D和场景E图示各自的用户D和用户E分别与游戏控制台1110D和1110E互动。每个游戏控制台1110D和1110E都连接到服务器处理模块并图示服务处理模块对游戏控制台和游戏客户端两者协调游戏进行的网络。
图20图示信息服务提供商结构的实施例。信息服务提供商(ISP)250将大量信息服务传递到地理上分散并经由网络266连接的用户262。ISP可以只传递诸如股票价格更新之类的一类服务,或诸如广播媒体、新闻、体育、游戏等之类的多种服务。另外,由每个ISP 供应的服务是动态的,即,服务可以在任何时间点上添加或撤走。因此,将具体类型的服务提供给具体个体的ISP可以随着时间改变。例如,当用户在她本地时,用户可以由邻近用户的ISP服务,并且在该用户旅行到不同城市时,该用户可以由不同ISP服务。本地ISP将传输所要求的信息和数据到新ISP,从而用户信息“跟随”用户到新城市,使得数据更靠近用户并且更易于访问。在另一实施例中,可以在管理用户的信息的主ISP和在来自管理者ISP 的控制下直接与用户对接的服务器ISP之间建立主-服务器(master-server)关系。在其他实施例中,当客户环绕世界移动时,将数据从一个ISP传输到另一 ISP以使得在对服务用户更好的位置上的ISP是传递这些服务的ISP。
ISP 250包括应用服务提供商(ASP) 252,其通过网络将基于计算机的服务提供给消费者。使用ASP模型供应的软件有时也被称为按需软件或软件即服务(SaaS)。提供对具体应用程序(诸如消费者关系管理之类)的访问的简单形式是通过使用诸如HTTP之类的标准协议。通过由卖主提供的专用客户端软件或诸如薄客户端之类的其他远程接口,应用软件驻留在卖主的系统上并且由用户通过使用HTML的网页浏览器访问。
在广阔地理区域上传递的服务经常使用云计算。云计算是计算的一种类型,其中, 将可动态缩放并通常虚拟化的资源作为在因特网上的服务提供。用户不需要是支持他们的 “云”中的技术基础架构的专家。云计算可以分为不同服务,诸如基础架构即服务(IaaS)、平台即服务(PaaS)和软件即服务(SaaS)之类。云计算服务通常在线提供公共商务应用,其从网页浏览器访问,而将软件和数据存储在服务器上。术语云基于如何在计算机网络图中描绘因特网用作因特网的隐喻,并且是其掩盖的复杂基础构架的抽象。
此外,ISP 250包括游戏处理服务器(GPS) 254,其由游戏客户端用来玩单人或多人视频游戏。在因特网上玩的大多数视频游戏经由到游戏服务器的连接操作。典型地,游戏使用专用服务器应用,该专用服务器应用收集来自玩家的数据并将其分配给其他玩家。这比端到端的安排更高效和有效,但是它要求独立服务器来管理服务器应用。在另一实施例中,GPS建立玩家和他们的各自的游戏娱乐设备之间的通信来交换信息而不依赖中心化的 GPS。
专用GPS是独立于客户端运行的服务器。这样的服务器通常运行在定位于数据中心里的专用硬件上,提供更多带宽和专用处理能力。专用服务器对于大多数基于PC的多人游戏是承载游戏服务器的优选方法。巨量多人在线游戏运行在通常由拥有游戏权益的软件公司管理的专用服务器上,允许他们控制和更新内容。
广播处理服务器(BPS) 256将音频或视频信号分发给观众。对非常窄的范围的观众广播有时称为窄广播。广播分发的最后环节是信号如何达到听众或观看者,并且它可以如以无线电台或TV台地通过大气到达天线或接收器,或可以经由电台或直接来自于网络通过有线TV或有线无线电(或“无线电缆”)达到。因特网也可以将无线电或TV带给接受者,特别是借助于允许共享信号和带宽的多址通信。历史上,广播用地理地区来划界,诸如国家广播或地区广播之类。但是,随着快速因特网的拓展,因为内容可以达到几乎世界上的任何国家,不用地理定义广播。
存储服务提供商(SSP) 258提供计算机存储空间和相关管理服务。SSP也供应周期性备份和归档。通过将存储作为服务供应,用户可以订购所要求的更多存储。另一主要优势是SSP包括备份服务且如果用户的计算机的硬盘驱动损坏,用户将不会丢失他们的全部数据。此外,多个SSP可以有用户数据的完全或部分拷贝,允许用户以独立于用户所在地或用来访问数据的设备的高效方式访问数据。例如,用户可以在家庭计算机中访问个人文件,以及当用户在行进中在移动电话中访问个人文件。
通信提供商260向用户提供连接性。一种通信提供商是供应对因特网的访问的因特网服务提供商(ISP)。ISP使用适于传递因特网协议数据电文的数据传输技术(诸如,拨号、DSL、电缆调制解调器、无线或专用高速互连之类)连接其消费者。通信提供商也可以提供消息服务,诸如电邮、即时消息和SMS发短信之类。另一类通信提供商是网络服务提供商 (NSP),其通过提供对因特网的直接骨干网访问来出售带宽或网络访问。网络服务提供商可以由电信公司、数据承载商、无线通信提供商、因特网服务提供商、供应高速因特网访问的有线电视运营商等构成。
数据交换268互连ISP 253内的多个模块并且将这些模块经由网络266连接到用户262。数据交换268可以覆盖小的区域,其中ISP 250的全部模块处于紧密邻近,或当不同模块地理分散时,可以覆盖大的地理区域。例如,数据交换268可以包括数据中心的机柜内的快速千兆以太网(或更快),或者洲际虚拟局域网络(VLAN)。
用户262借助于客户端设备264访问远程服务,该客户端设备264包括至少CPU、 显示器和I/o。客户端设备可以是PC、移动电话、上网本、PDA等。在一个实施例中,ISP 250 识别客户端使用的设备的类型,并且调整所采用的通信方法。在其他情况下,客户端设备使用诸如html之类的标准通信方法来访问ISP 250。
信息服务提供商(ISP) 250将多个信息服务传递到地理上分散且经由网络266连接的用户262。ISP可以仅传递诸如股票价格更新之类的一类服务,或者传递诸如广播媒体、新闻、体育、游戏等的多种服务。另外,由每个ISP供应的服务是动态的,S卩,服务可以在任何时间点上添加或撤走。因此,将具体类型的服务提供给具体个体的ISP可以随着时间改变。例如,当用户在她本地时,用户可以由邻近用户的ISP服务,并且在该用户旅行到不同城市时,该用户可以由不同ISP服务。本地ISP将传输所要求的信息和数据到新ISP,从而用户信息“跟随”用户到新城市,使得数据更靠近用户并且更易于访问。在另一实施例中, 可以在管理用户的信息的管理者ISP和在来自管理者ISP的控制下直接与用户对接的服务器ISP之间建立管理者-服务器关系。在其他实施例中,当客户环绕世界移动时,将数据从一个ISP传输到另一 ISP以使在更好的位置服务用户的ISP成为传递这些服务的ISP。
ISP 250包括应用服务提供商(ASP) 252,其通过网络提供基于计算机的服务到消费者。使用ASP模型供应的软件有时也称为按需软件或软件即服务(SaaS)。提供对具体应用程序(诸如消费者关系管理)的访问的简单形式是通过使用诸如HTTP之类的标准协议。 通过由卖主提供的特殊目的客户端软件或诸如薄客户端之类的其他远程接口,应用软件驻留在卖主的系统并且由用户通过使用HTML的网页浏览器访问。
在广阔地理区域上传递的服务经常使用云计算。云计算是计算的一种类型,其中, 将可动态缩放并通常虚拟化的资源作为服务在因特网上提供。用户不需要是支持他们的 “云”中的技术基础架构的专家。云计算可以分为不同服务,诸如基础架构即服务(IaaS)、平台即服务(PaaS)和软件即服务(SaaS)。云计算服务通常在线提供公共商务应用,其从网页浏览器访问,而将软件和数据存储在服务器上。术语云基于如何在计算机网络图中描绘因特网用作因特网的隐喻,并且是其掩盖的复杂基础构架的抽象。
此外,ISP 250包括游戏处理服务器(GPS) 254,其由游戏客户端用来玩单人或多人视频游戏。在因特网上玩的大多数视频游戏经由到游戏服务器的连接操作。典型地,游戏使用专用服务器应用,该专用服务器应用收集来自玩家的数据并将其分配给其他玩家。 这比端到端的安排更高效和有效,但是它要求独立服务来管理服务器应用。在另一实施例中,GPS建立玩家和他们的各自的游戏娱乐设备之间的通信来交换信息而不依赖中心化的 GPS。
专用GPS是独立于客户端运行的服务器。这样的服务器通常运行在数据中心里的专用硬件上,提供更多带宽和专用处理能力。专用服务器对于大多数基于PC的多人游戏是管理游戏服务器的优选方法。巨量多人在线游戏运行在通常由拥有游戏权益的软件公司管理的专用服务器上,允许他们控制和更新内容。
广播处理服务器(BPS) 256将音频或视频信号分配给观众。对非常窄的范围的观众广播有时称为窄广播。广播分配的最后环节是信号如何达到听众或观看者,并且它可以借助于无线电台或TV台通过大气到达天线或接收器,或可以经由电台或直接来自于网络通过有线TV或有线无线电(或“无线电缆”)达到。因特网也可以将无线电或TV带给接受者,特别是借助于允许共享信号和带宽的多址通信。历史上,广播用地理地区来划界,诸如国家广播或地区广播。但是,随着于快速因特网的拓展,因为内容可以达到几乎世界上的任何国家,不用地理定义广播。
存储服务提供商(SSP) 258提供计算机存储空间和相关管理服务。SSP也供应周期性备份和归档。通过将存储作为服务供应,用户可以订购所要求的更多存储。另一主要优势是SSP包括备份服务且如果用户的计算机的硬盘驱动损坏,用户将不会丢失他们的全部数据。此外,多个SSP可以有用户数据的完全或部分拷贝,允许用户以独立于用户所在地或用来访问数据的设备的高效方式访问数据。例如,用户可以在家庭计算机中访问个人文件,以及当用户在行进中在移动电话中访问个人文件。
通信提供商260向用户提供连接性。一种通信提供商是供应对因特网的访问的因特网服务提供商(ISP)。ISP使用适于传递因特网协议数据电文的数据传输技术(诸如,拨号、DSL、电缆调制解调器、无线或专用高速互连)连接其消费者。通信提供商也可以提供消息服务,诸如电邮、即时消息和SMS发短信。另一类通信提供商是网络服务提供商(NSP),其通过提供对因特网的直接骨干网访问来出售带宽或网络访问。网络服务提供商可以由电信公司、数据承载商、无线通信提供商、因特网服务提供商、供应高速因特网访问的有线电视运营商等构成。
数据交换268互连ISP 253内的多个模块并且将这些模块经由网络266连接到用户262。数据交换268可以覆盖小的区域,其中ISP 250的全部模块紧密邻近,或当不同模块地理分散时,可以覆盖大的地理区域。例如,数据交换268可以包括数据中心的机柜内的快速千兆以太网(或更快),或者洲际虚拟局域网络(VLAN)。
用户262以客户端设备264访问远程服务,该客户端设备264包括至少CPU、显示器和I/O。客户端设备可以是PC、移动电话、上网本、PDA等。在一个实施例中,ISP 250识别客户端使用的设备的类型,并且调整所采用的通信方法。在其他情况下,客户端设备使用诸如html之类的标准通信方法来访问ISP 250。
本发明的实施例可以以各种计算机系统配置实践,该计算机系统配置包括手持设备、微处理器系统、基于微处理器或可编程消费电子器件、微计算机、主机计算机等。发明也可以在由通过网络链接的远程处理设备进行任务的分布式计算环境中实践。
借助于以上实施例,应当明白的是,发明可以采用各种计算实现的操作,包括存储在计算机系统中的数据。这些操作是那些要求物理量的物理操纵的操作。这里描述的、形成发明的部分的操作的任一种是有用的机器操作。发明也涉及用于进行这些操作的设备或装置。装置可以为了要求的目的而特殊构建的,诸如特殊目的计算机。虽然定义为特殊目的计算机,但是该计算机也可以进行不是该特殊目的的部分的其他处理、程序执行或例行程序,且仍然能够为特殊目的而操作。替代地,操作可以由通用目的计算机处理,选择性激活该通用目的计算机或由存储在计算机存储器、缓存或从网络获得的一个或多个计算机程序配置该通用目的计算机。当数据通过网络获得时,该数据可以由网络上的其他计算机,例如,计算资源的云处理。
本发明的实施例也可以定义为将数据从一个状态转换为另一状态的机器。所转换的数据可以保存到存储装置并随后由处理器控制。处理器因此将数据从一个事物转换为另一个。此外,方法可以由可以通过网络连接的一个或多个机器或处理器处理。每个机器可以将数据从一个状态或事物转换为另一个,也可以处理数据、保存数据到存储装置,通过网络传输数据、显示结果或将结果传递给另一机器。
本发明的一个或多个实施例也可以作为在计算机可读介质上的计算机可读代码来实施。计算机可读介质是可以存储数据的任何数据存储器件,该数据之后可以由计算机系统读取。计算机可读介质的示例包括硬盘驱动、附网存储装置(NAS)、只读存储器、随机访问存储器、CD-ROM、CD-R、CD-RW、磁带和其他光和非光数据存储器件。计算机可读介质可以包括分布在网络耦接的计算机系统上的计算机可读有形介质,从而计算机可读代码以分布式存储和执行。
尽管方法操作以具体顺序描述,但是应当明白的是,可以在操作之间进行其他辅助操作,或者可以调整操作从而它们在略微不同的时间发生,或者可以在允许处理操作以关联于处理的各种间隔发生的系统中分布,只要以合适的方式进行重叠操作的处理。
尽管之前的发明已经出于清晰理解的目的而详细描述,显然的是,可以在所附权利要求的范围内实践特定修改和改进。因此,本实施例被认为是示意性的而非限制性的,且发明不限于这里给出的细节,但是可以在所附权利要求的范围和等效物内修改。
权利要求
1.一种用于生成通过至少第一和第二设备可观看的互动空间的方法,所述方法包括从所述第一设备检测所述第二设备的位置或者从所述第二设备检测所述第一设备的位置;在所述第一设备和第二设备之间交换同步信息数据以在三维(3D)空间中识别相对于所述第一和第二设备的物理位置的3D空间中的参考点,其中,所述第一和第二设备在设定所述参考点时建立其他设备的3D空间中的物理位置;在所述第一和第二设备的相应显示器中生成互动场景的视图,所述互动场景绑定于所述参考点并且包括虚拟物体,每个视图示出全部或部分所述互动场景并且示出如从相应设备的当前位置所观察到的互动场景,其中在所述3D空间中的设备移动使得相应视图根据所述当前位置改变。
2.根据权利要求I所述的方法,其中,从所述第一设备检测所述第二设备的位置进一步包括检测所述第一设备已经在第一时间轻敲了第一物体;接收所述第二设备已经在第二时间轻敲了第二物体的信息;当所述第一时间和所述第二时间基本同时时,确定所述第一设备已经轻敲了所述第二设备。
3.根据权利要求I所述的方法,其中,从所述第一设备检测所述第二设备的位置进一步包括在以所述第一设备中的相机拍摄的图像中识别所述第二设备。
4.根据权利要求I所述的方法,其中,从所述第一设备检测所述第二设备的位置进一步包括在以所述第一设备中的相机拍摄的图像中检测所述第二设备中的光源。
5.根据权利要求I所述的方法,其中,从所述第一设备检测所述第二设备的位置进一步包括使用深度相机检测所述第一设备和所述第二设备之间的距离。
6.根据权利要求I所述的方法,其中,从所述第一设备检测所述第二设备的位置进一步包括在以所述第一设备中的相机拍摄的图像中识别所述第二设备的显示器。
7.根据权利要求I所述的方法,其中,从所述第一设备检测所述第二设备的位置进一步包括在以所述第一设备中的相机拍摄的图像中识别所述第二设备的显示器中的图案。
8.根据权利要求I所述的方法,进一步包括通过所述第一设备跟踪所述第一设备的运动。
9.根据权利要求8所述的方法,其中,跟踪所述第一设备的运动进一步包括使用推算定位来确定所述第一设备的当前位置。
10.根据权利要求9所述的方法,其中,跟踪所述第一设备的运动进一步包括使用图像信息跟踪所述3D空间中的静态特征的位置;和基于所述静态特征的位置校正推算定位中的偏移。
11.根据权利要求10所述的方法,其中,所述静态特征从由桌子的边缘、房间中的角落、窗户或电视机构成的组中选择。
12.根据权利要求I所述的方法,进一步包括当识别到所述参考点时,复位所述第一设备和所述第二设备中的位置跟踪模块。
13.一种用于生成通过至少第一和第二设备可观看的互动空间的方法,所述方法包括检测所述第一设备和所述第二设备之间的轻敲;在所述第一设备和所述第二设备之间交换同步信息数据以在检测到所述轻敲时在三维(3D)空间中识别相对于所述第一和第二设备的物理位置的3D空间中的参考点; 在所述第一和第二设备的相应显示器中生成互动场景的视图,所述互动场景绑定于所述参考点并且包括虚拟物体,每个视图示出全部或部分所述互动场景并示出如从相应设备的当前位置所观察到的互动场景,其中,在3D空间中的设备移动使得相应视图根据所述当前位置改变。
14.根据权利要求13所述的方法,其中,检测轻敲进一步包括检测所述第一设备已经在第一时间轻敲了第一物体;接收所述第二设备已经在第二时间轻敲了第二物体的信息;确定当所述第一和所述第二时间基本同时时,所述第一设备已经轻敲了所述第二设备。
15.根据权利要求14所述的方法,其中,第一设备已经轻敲第一物体进一步包括识别所述第一设备的运动的突然改变。
16.根据权利要求15所述的方法,其中,识别所述突然改变基于来自3轴加速度计的信肩、O
17.根据权利要求13所述的方法,其中,配置每个设备用于与所述虚拟物体的互动。
18.一种用于在便携式设备当中共享虚拟现实的便携式设备,所述便携式设备包括位置模块,用于跟踪所述便携式设备的位置,所述位置模块配置以参考所述便携式设备的位置检测第二设备的位置;通信模块,用于在所述便携式设备和所述第二设备之间交换同步信息数据,其中,基于所述同步信息在三维(3D)空间中识别相对于便携式设备的物理位置的3D空间中的参考占.视图生成器,创建绑定于所述参考点且包括虚拟物体的互动场景的视图,所述视图示出如从所述便携式设备的当前位置所观察到的全部或部分互动场景,其中所述3D空间中的便携式设备移动使得所述视图根据所述当前位置改变;和显示器,用于示出所述视图。
19.根据权利要求18所述的便携式设备,其中,所述位置模块包括位置跟踪模块,所述位置跟踪模块包括3轴加速度计;3轴陀螺仪;和相机。
20.根据权利要求19所述的便携式设备,其中,所述位置跟踪模块进一步包括GPS模块;和深度相机。
全文摘要
呈现了用于生成通过至少第一和第二设备可观看的互动空间的方法、系统和计算机程序。该方法包括从第一设备检测第二设备的位置或者反之亦然的操作。此外,同步信息数据在第一和第二设备之间交换以在三维(3D)空间中识别相对于设备的物理位置的三维空间中的参考点。设备在设定该参考点时建立其他设备的3D空间中的物理位置。该方法进一步包括用于在第一和第二设备的显示器中生成互动场景的视图的操作。互动场景绑定于参考点并且包括虚拟物体。显示器中的视图示出从相应设备的当前位置观察到的互动场景。在3D空间中移动设备使得根据当前位置的视角改变视图。
文档编号G06F3/033GK102939139SQ201180028950
公开日2013年2月20日 申请日期2011年1月26日 优先权日2010年4月13日
发明者G.韦辛, T.米勒 申请人:索尼电脑娱乐美国公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1