虚拟内容和现实内容的低等待时间的融合的制作方法

文档序号:6437900阅读:218来源:国知局

专利名称::虚拟内容和现实内容的低等待时间的融合的制作方法
技术领域
:本发明涉及虚拟内容和现实内容的低等待时间的融合。
背景技术
:混合现实是一种允许将虚拟图像与现实世界物理环境相混合的技术。例如,混合现实系统可以用于将恐龙的图像插入到用户房间的视图中,使得该用户看见恐龙在房间中走动。常规的混合现实系统的显著缺点是等待时间。当用户转动他的头时,用户对现实世界的视图瞬时发生非常大的改变。然而,在常规的混合现实系统中,传感器需要花费时间来感测新图像数据以及渲染图形图像以供显示给用户佩戴的头部用具。尽管最新的进展已经最小化了该等待时间,但是其仍然为一帧到几帧的数量。实际视图与虚拟视图之间的该虚拟失配可能导致用户的不适和定向障碍。常规的混合现实系统还依靠强大但是庞大的处理系统来执行批量处理,包括构造现实世界环境的映射以及渲染图形图像。
发明内容在此提供了用于将虚拟内容与现实内容相融合以为一个或多个用户提供混和现实体验的技术。该系统包括与强大的中枢计算系统无线通信的移动显示设备。每个移动显示设备都可以包括耦合到具有显示元件的头戴式显示设备(或其他合适装置)的移动处理单元。每个用户都佩戴头戴式显示设备,该头戴式显示设备允许用户通过该显示元件查看房间。该显示设备允许通过显示元件实际直接查看房间和房间中的现实世界物体。该显示元件还提供将虚拟图像投影到用户的视野内使得虚拟图像看上去处于该房间内这一能力。该系统自动地跟踪用户所查看之处,使得该系统可以确定将虚拟图像插入到用户的视野中的何处。一旦系统得知要将虚拟图像投影到何处,则该图像就使用显示元件被投影。在实施例中,中枢计算系统和一个或多个处理单元可以协作以构建包括房间或其他环境中的所有用户、现实世界物体和虚拟三维物体的x、y、z笛卡尔位置的环境模型。由环境中的用户佩戴的每个头戴式显示设备的位置可以被校准到该环境模型并且彼此校准。这允许该系统确定每个用户对该环境的视线和视野。因此,虚拟图像可以被显示给每个用户,但是该系统确定从每个用户的视角对虚拟图像的显示,从而针对视差以及对该环境中其他物体或被该环境中的其他物体的遮挡来调整虚拟图像。在此称为场景映射的环境模型以及所有对用户的视野和环境中物体的跟踪可以由合作地工作的中枢和计算设备以及所述一个或多个处理元件来生成。在另外的实施例中,所述一个或多个处理单元可以执行所有系统操作,并且中枢计算系统可以被省略。生成和更新环境中的所有物体的位置要花费一定时间,并且从每个用户的视角渲染虚拟物体要花费时间。因此,这些操作向该系统引入了固有的等待时间。然而,在诸如几个数据帧之类的小时间段内,移动往往是总体上平滑和稳定的。因此,根据本技术,可以检查来自当前和以前时间段的数据以便外插出物体在未来的位置、以及每个用户在未来对这些物体的视图。使用对最终场景映射和场景映射的用户视野的未来预测,场景的虚拟图像可以被显示给每个用户而没有等待时间。最终场景映射和用户视野的预测可以在整个帧的范围内被更新以缩小可能的解决方案,直到到了向每个用户的头戴式显示设备发送所渲染的图像以显示混合现实体验的虚拟元素的时间。在实施例中,本技术涉及一种用于向一个或多个用户呈现混合现实体验的系统,该系统包括用于所述一个或多个用户的一个或多个显示设备,每个显示设备都包括用于感测与该显示设备的位置相关的数据的第一组传感器、以及用于将虚拟图像显示给该显示设备的用户的显示单元;一个或多个处理单元,每个都与所述一个或多个显示设备中的显示设备相关联,并且每个都从相关联的显示设备接收传感器数据;以及中枢计算系统,该中枢计算系统可操作地耦合到所述一个或多个处理单元的每个,该中枢计算系统包括第二组传感器,该中枢计算系统和所述一个或多个处理单元协作地基于来自第一和第二组传感器的数据确定该系统所用于的环境的三维映射。在另一示例中,本技术涉及一种用于向一个或多个用户呈现混合现实体验的系统,该系统包括第一头戴式显示设备,包括相机,该相机用于获得第一头戴式显示设备所用于的环境的图像数据;惯性传感器,该惯性传感器用于提供第一头戴式显示器的惯性测量结果;以及显示设备,该显示设备用于向第一头戴式显示设备的用户显示虚拟图像;以及与第一头戴式显示器相关联的第一处理单元,该第一处理单元用于确定第一头戴式显示设备所用于的环境的三维映射、以及第一头戴式显示设备查看该三维映射的视野。在另一示例中,本技术涉及一种用于向一个或多个用户呈现混合现实体验的方法,该系统包括(a)确定针对至少两个时间段的状态信息,所述状态信息与用户对环境的视野相关,该环境包括一个或多个现实世界物体和一个或多个虚拟物体的混和现实;(b)外插出与该用户对该环境的视野相关的针对第三时间段的状态信息,第三时间段是在未来混合现实的一个或多个虚拟图像将被显示给该用户的时间;(C)在第三时间段时基于与该用户在所述步骤(b)中外插出的视野相关的信息将所述一个或多个虚拟图像中的至少一个虚拟图像显示给该用户。提供本
发明内容以便以简化的形式介绍将在以下具体实施方式中还描述的一些概念。本
发明内容并非旨在标识所要求保护的主题的关键特征或必要特征,也不旨在用于帮助确定所要求保护的主题的范围。此外,所要求保护的主题不限于解决在本公开的任何部分中提及的任何或所有缺点的实现。图I是用于向一个或多个用户呈现混和现实环境的系统的一个实施例的示例性组件的图示。图2是头戴式显示单元的一个实施例的立体图。图3是头戴式显示单元的一个实施例的一部分的侧视图。图4是头戴式显示单元的组件的一个实施例的框图。图5是与头戴式显示单元相关联的处理单元的组件的一个实施例的框图。图6是与头戴式显示单元相关联的中枢计算系统的组件的一个实施例的框图。图7是描绘可用于实现在此所述的中枢计算系统的计算系统的一个实施例的框图。图8是用于在室外背景中向一个或多个用户呈现混和现实环境的系统的移动实施例的示例性组件的图示。图9是示出了本系统的中枢计算系统、一个或多个处理单元和一个或多个头戴式显示单元的操作和协作的流程图。图10-16、以及图16A示出了图9的流程图中所示的各个步骤的示例的更详细的流程图。图17是示出了混和现实环境中所显示的不依赖于用户的虚拟物体的示例性视野。图18是示出了混和现实环境中所显示的依赖于用户的虚拟物体的示例性视野。图19和20示出了根据本技术的另外的实施例的一对经扩充的示例性视野。具体实施例方式在此公开了一种可以将虚拟物体与现实物体相融合的系统。在一个实施例中,该系统包括头戴式显示设备、以及与由一个或多个用户中的每个用户佩戴的头戴式显示设备通信的处理单元。头戴式显示设备包括显示器,该显示器允许通过该显示器对现实世界物体的直接视图。该系统可以将虚拟图像投影到显示器上,其中所述虚拟图像可以由佩戴头戴式显示设备的人来查看,同时该人还通过该显示器来查看现实世界物体。多个用户还可以从其不同的视角看见同一虚拟物体,就好像每个用户正从其不同的位置查看现实世界物体。使用各种传感器来检测所述一个或多个用户的位置和取向以便确定将虚拟图像投影到何处。使用所述传感器中的一个或多个来扫描相邻环境以及构建所扫描的环境的模型。使用该模型,虚拟图像被添加到该模型的视图的参考作为该模型的一部分的现实世界物体的位置处。该系统自动地跟踪所述一个或多个用户正注视何处,使得该系统可以弄清用户通过头戴式显示设备的显示器的视野。可以使用包括深度传感器、图像传感器、惯性传感器、眼睛位置传感器等在内的各种传感器中的任意传感器来跟踪每个用户。使用与环境(包括用户、现实世界物体和虚拟物体)的模型相关的当前和过去的数据以及用户对该环境的视野,该系统外插到未来情况以预测环境模型和在该环境的图像将被显示给用户时的用户对该环境的视野。使用该预测,虚拟图像于是可以在没有等待时间的情况下被渲染。该图像通过如下方式被渲染对该虚拟图像进行大小确定和定向;以及为具有该虚拟图像的视图的每个用户将经大小确定/定向的图像渲染在头戴式显示设备的显示器上。在实施例中,虚拟图像或现实世界物体的视图可以考虑到遮挡而被改变。图I示出了用于通过将虚拟内容融合到现实内容中来提供混和现实体验的系统10。图I示出了每个都佩戴头戴式显式设备2的多个用户18a、18b和18c。如图2和3中可见的那样,每个头戴式显示设备2都通过线6与其自己的处理单元4通信。在其他实施例中,头戴式显示设备2通过无线通信来与处理单元4进行通信。在一个实施例中为眼镜形状的头戴式显示设备2被佩戴在用户的头上,使得用户可以通过显示器进行查看,并且从而具有该用户前方的空间的实际直接视图。使用术语“实际直接视图”来指直接用人眼查看现实世界物体的能力,而不是查看对物体的所创建的图像表示。例如,在房间中通过眼镜进行查看将允许用户具有房间的实际直接视图,而在电视上查看房间的视频不是房间的实际直接视图。下面提供头戴式显示设备2的更多细节。在一个实施例中,处理单元4是例如佩戴在用户的手腕上或储放在用户的口袋中的小型便携式设备。该处理单元例如可以是蜂窝电话的大小和形状因子,但是其在另外的示例中可以是其他形状和大小。处理单元4可以包括用于操作头戴式显示设备2的许多计算能力。在实施例中,处理单元4与一个或多个中枢计算系统12无线地(例如WiFi、蓝牙、红外、或其他无线通信手段)通信。如后面将解释的那样,可以在另外的实施例中省略中枢计算系统12以提供仅仅使用头戴式显示器和处理单元4的完全移动的混合现实体验。中枢计算系统12可以是计算机、游戏系统或控制台等等。根据一示例性实施例,中枢计算系统12可以包括硬件组件和/或软件组件,使得中枢计算系统12可以用于执行诸如游戏应用、非游戏应用等等之类的应用。在一个实施例中,中枢计算系统12可以包括诸如标准化处理器、专用处理器、微处理器等等之类的处理器,这些处理器可以执行存储在处理器可读存储设备上的指令以用于执行在此所述的过程。中枢计算系统12还包括捕捉设备20,该捕捉设备20用于从其视野(FOV)内的场景的部分中捕捉图像数据。如在此所使用的那样,场景是用户在四周移动的环境,该环境在捕捉设备20的FOV内和/或每个头戴式显示设备2的FOV内被捕捉。图I示出了单个捕捉设备20,但是在另外的实施例中可以存在多个捕捉设备,这些捕捉设备彼此协作以从所述多个捕捉设备20的复合FOV内的场景中集体地捕捉图像数据。捕捉设备20可以包括一个或多个相机,所述相机视觉地监视所述一个或多个用户18a、18b、18c和周围空间,使得由所述一个或多个用户执行的姿势和/或移动以及周围空间的结构可以被捕捉、分析和跟踪以在应用中执行一个或多个控制或动作和/或使化身或屏幕上人物动画化。中枢计算环境12可以连接到诸如电视机、监视器、高清电视机(HDTV)等可提供游戏或应用程序视觉的视听设备16。例如,中枢计算系统12可包括诸如图形卡等视频适配器和/或诸如声卡等音频适配器,这些适配器可提供与游戏应用、非游戏应用等相关联的视听信号。视听设备16可从中枢计算系统12接收视听信号,并且然后可以输出与视听信号相关联的游戏或应用视觉和/或音频。根据一个实施例,视听设备16可经由例如S-视频电缆、同轴电缆、HDMI电缆、DVI电缆、VGA电缆、分量视频电缆、RCA电缆等连接至中枢计算系统12。在一个不例中,视听设备16包括内置扬声器。在其他实施例中,视听设备16和中枢计算设备12可以连接到外部扬声器22。中枢计算系统12可以与捕捉设备20—起用于识别、分析和/或跟踪人类(以及其他类型的)目标。例如,佩戴头戴式显示设备2的用户18a、18b和18c中的一个或多个可以使用捕捉设备20来跟踪,使得所述用户的姿势和/或运动可以被捕捉以使一个或多个化身或屏幕上人物动画化。这些运动还可以、或者可以可替代地被解释成可用于影响中枢计算系统12所执行的应用的控制。中枢计算系统12与头戴式显示设备2和处理单元4一起还可以一同提供混和现实体验,其中诸如图I中的虚拟图像21之类的一个或多个虚拟图像可以与场景中的现实世界物体混合在一起。图2和3示出了头戴式显示设备2的立体图和侧视图。图3仅仅示出了头戴式显示设备2的右侧,其包括具有镜腿102和鼻梁104的那部分。在鼻梁104中置入了话筒110以用于记录声音以及将音频数据传送给处理单元4,这将在下面予以描述。在头戴式显示设备2的前方是朝向房间的可捕捉视频和静止图像的视频相机112。这些图像被传送给处理单元4,这将在下面予以描述。头戴式显不设备2的镜架的一部分将围绕显不器(其包括一个或多个透镜)。为了示出头戴式显示设备2的组件,未描绘围绕显示器的镜架部分。该显示器包括光导光学元件115、不透明度滤光器114、透视透镜116和透视透镜118。在一个实施例中,不透明度滤光器114处于透视透镜116之后并与其对齐,光导光学元件115处于不透明度滤光器114之后并与其对齐,并且透视透镜118处于光导光学元件115之后并与其对齐。透视透镜116和118是眼镜中使用的标准透镜,并且可根据任何验光单(包括不根据验光单)来制作。在一个实施例中,透视透镜116和118可以被可变验光单透镜替换。在一些实施例中,头戴式显示设备2将仅仅包括一个透视透镜或者不包括透视透镜。在另一替代方案中,验光单透镜可以进入光导光学元件115内。不透明度滤光器114滤除自然光(要么以每像素为基础、要么均匀地)以增强虚拟图像的对比度。光导光学元件115将人造光引导至眼睛。下面提供不透明度滤光器114和光导光学元件115的更多细节。在镜腿102处或镜腿102内安装有图像源,该图像源(在一个实施例中)包括用于对虚拟图像进行投影的微显示器120、以及用于将图像从微显示器120引导到光导光学元件115中的透镜122。在一个实施例中,透镜122是准直透镜。控制电路136提供支持头戴式显示设备2的其他组件的各种电子装置。下面参考图4提供控制电路136的更多细节。处于镜腿102内部或安装在镜腿102处的有耳机130、惯性传感器132、以及温度传感器138。在图4所示的一个实施例中,惯性传感器132包括三轴磁力计132A、三轴陀螺仪132B、以及三轴加速度计132C。惯性传感器132用于感测头戴式显示设备2的位置、取向、以及突然加速(俯仰角、滚转角和偏航角)。惯性传感器可以在下面统称为惯性测量单元132或IMU132。附加于或替代于磁力计132A、陀螺仪132B、以及加速度计132C,IMU132可以包括其他惯性传感器。微显示器120通过透镜122来投影图像。存在着可用于实现微显示器120的不同的图像生成技术。例如,微显示器120可以使用透射投影技术来实现,其中光源由光学活性材料来调制,用白光从背后照亮。这些技术通常是使用具有强大背光和高光能量密度的LCD类型的显示器来实现的。微显示器120还可使用反射技术来实现,其中外部光被光学活性材料反射并调制。根据该技术,由白光源或RGB源向前点亮照明。数字光处理(DLP)、硅上液晶(LCOS)、以及来自Qualcomm有限公司的Mirasol显示技术都是高效的反射技术的示例,因为大多数能量从已调制结构反射并且可用于本文描述的系统中。附加地,微显示器120可以使用发射技术来实现,其中光由该显示器生成。例如,来自MiCTovision有限公司的PicoP显示引擎使用微型镜面舵来将激光信号发射到充当透射元件的小型屏幕上或直接照射到眼睛(例如激光)。光导光学元件115将来自微显示器120的光传送到佩戴头戴式显示设备2的用户的眼睛140。光导光学元件115还允许如箭头142所示那样将光从头戴式显示设备2的前方通过光导光学元件115透射到用户的眼睛,从而除接收来自微显示器120的虚拟图像之外还允许用户具有头戴式显示设备2的前方的空间的实际直接视图。因此,光导光学元件115的壁是透视的。光导光学元件115包括第一反射面124(例如镜面或其他表面)。来自微显示器120的光穿过透镜122并入射在反射面124上。反射面124反射来自微显示器120的入射光,使得光通过内反射而被捕获在包括光导光学元件115的平面衬底内。在离开衬底的表面的若干反射之后,所捕获的光波到达选择性反射面126的阵列。注意,五个表面中只有一个被标记为126以防止附图太过拥挤。反射面126将从衬底出射并入射在这些反射面上的光波耦合到用户的眼睛140。由于不同光线将以不同角度传播并弹离衬底的内部,因此这些不同的光线将以不同角度击中各个反射面126。因此,不同光线将被所述反射面中的不同反射面从衬底中反射出。关于哪些光线将被哪个表面126从衬底反射出的选择是通过选择表面126的合适角度来设计的。光导光学元件的更多细节可以在于2008年11月20日公开的名称为“Substrate-GuidedOpticalDevices(衬底导向的光学设备)”的美国专利申请公开号为2008/0285140的中找到,该申请的全部内容通过引用结合于此。在一个实施例中,每只眼睛将具有其自己的光导光学元件115。当头戴式显示设备2具有两个光导光学元件时,每只眼睛都可以具有其自己的微显示器120,该微显示器120可以在两只眼睛中显示相同图像或者在两只眼睛中显示不同图像。在另一实施例中,可以存在将光反射到两只眼睛中的一个光导光学兀件。与光导光学元件115对齐的不透明度滤光器114要么均匀地、要么以每像素为基础来选择性地阻挡自然光,以免其穿过光导光学元件115。于2010年9月21日提交的名称为“OpacityFilterForSee-ThroughMountedDisplay(用于透视安装显不器的不透明度滤光器)”的美国专利申请No.12/887,426中提供了不透明度滤光器的细节,该专利申请的全部内容通过应用结合于此。然而,一般而言,不透明度滤光器的一实施例可以是透视IXD面板、电致变色膜(electrochromicfilm)或能够充当不透明度滤光器的类似设备。不透明度滤光器114可以包括致密的像素网格,其中每个像素的透光率能够在最小和最大透光率之间被个别化地控制。尽管0-100%的透射率范围是理想的,但是更有限的范围也是可接受的,比如例如每像素大约50%至90%直到IXD的分辨率。在用代理为现实世界物体进行Z-缓冲(z-buffering)之后,可以使用来自渲染流水线的阿尔法值的掩码(mask)。当系统为扩展现实显示而渲染场景时,该系统注意到哪些现实世界物体处于哪些虚拟物体之前,这将在后面予以解释。如果虚拟物体处于现实世界物体之前,则不透明度对于该虚拟物体的覆盖区域而言应当是开启的。如果虚拟物体(虚拟地)处于现实世界物体之后,则不透明度以及该像素的任何色彩都应当是关闭的,使得对于现实光的该相应区域(其大小为一个像素或更多)而言,用户将会仅仅看到现实世界物体。覆盖将是以逐像素为基础的,所以该系统可以处理虚拟物体的一部分处于现实世界物体之前、该虚拟物体的一部分处于现实世界物体之后、以及该虚拟物体的一部分与现实世界物体相重合的情况。对这种用途而言,最期望的是能够以低的成本、电力和重量从0%达到100%不透明度的显示器。此外,不透明度滤光器可以比如用彩色IXD或用诸如有机LED等其他显示器来以彩色进行渲染,以提供宽视野。头戴式显示设备2还包括用于跟踪用户的眼睛位置的系统。如下面将会解释的那样,该系统将跟踪用户的位置和取向,使得该系统可以确定用户的视野。然而,人类将不会察觉处于其之前的所有事物。相反,用户的眼睛将对准环境的子集。因此,在一个实施例中,该系统将包括用于跟踪用户的眼睛位置的技术以便细化对用户视野的测量。例如,头戴式显示设备2包括眼睛跟踪部件134(参见图3),该眼睛跟踪部件134将包括眼睛跟踪照明设备134A和眼睛跟踪相机134B(参见图4)。在一个实施例中,眼睛跟踪照明设备134A包括一个或多个红外(IR)发射器,这些红外发射器向眼睛发射IR光。眼睛跟踪相机134B包括一个或多个感测所反射的IR光的相机。通过检测角膜的反射的已知成像技术,可以标识出瞳孔的位置。例如,参见2008年7月22日颁发的、名称为“Headmountedeyetrackinganddisplaysystem(头戴式眼睛跟踪和显示系统)”的美国专利号7,401,920,该专利通过引用结合于此。这样的技术可以定位眼睛的中心相对于跟踪相机的位置。一般而言,眼睛跟踪涉及获得眼睛的图像以及使用计算机视觉技术来确定瞳孔在眼眶内的位置。在一个实施例中,跟踪一只眼睛的位置就足够了,因为眼睛通常一致地移动。然而,单独地跟踪每只眼睛是可能的。在一个实施例中,该系统将使用以矩形布置的4个IRLED和4个IR光电检测器,使得在头戴式显示设备2的透镜的每个角处存在一个IRLED和IR光电检测器。来自LED的光从眼睛反射离开。由在4个IR光电检测器中的每个处所检测到的红外光的量来确定瞳孔位置。也就是说,眼睛中眼白相对于眼黑的量将确定对于该特定光电检测器而言从眼睛反射离开的光量。因此,光电检测器将具有对眼睛中的眼白或眼黑的量的度量。从4个采样中,该系统可以确定眼睛的方向。另一替代方案是如下面所讨论的那样使用4个红外LED,但是在头戴式显示设备2的透镜的侧边处仅仅使用一个红外CXD。该CXD将使用小镜和/或透镜(鱼眼),使得CXD可以从镜框对高达75%的可见眼睛进行成像。然后,该C⑶将感测图像并且使用计算机视觉来找出该图像,就像下面所讨论的那样。因此,尽管图3示出了具有一个IR发射机的一个部件,但是图3的结构可以被调整为具有4个IR发射器和/或4个IR传感器。也可以使用多于或少于4个的IR发射机和/或多于或少于4个的IR传感器。用于跟踪眼睛方向的另一实施例基于电荷跟踪。该方案基于如下观察视网膜携带可测量的正电荷并且角膜具有负电荷。传感器通过用户的耳朵来安装(靠近耳机130)以检测眼睛在周围运动时的电势并且有效地实时读出眼睛正在进行的动作。也可以使用其他用于跟踪眼睛的实施例。图3仅仅示出了头戴式显示设备2的一半。完整的头戴式显示设备将包括另一组透视透镜、另一不透明度滤光器、另一光导光学元件、另一微显示器120、另一透镜122、朝向房间的相机、眼睛跟踪部件、微显示器、耳机以及温度传感器。图4是描绘了头戴式显示设备2的各个组件的框图。图5是描述处理单元4的各个组件的框图。图4中描绘了头戴式显示设备2的组件,该头戴式显示设备2用于通过将一个或多个虚拟图像与用户对现实世界的视图无缝地融合来向用户提供混合现实体验。附加地,图4的头戴式显示设备组件包括跟踪各种状况的许多传感器。头戴式显示设备2将从处理单元4接收关于虚拟图像的指令,并且将传感器信息提供回给处理单元4。图4中描绘了处理单元4的组件,该处理单元4将从头戴式显示设备2接收传感信息,并且将与中枢计算设备12(参见图I)交换信息和数据。基于该信息和数据交换,处理单元4将确定在何处以及在何时向用户提供虚拟图像并相应地将指令发送给图4的头戴式显示设备。图4的组件中的一些(例如朝向房间的相机112、眼睛跟踪相机134B、微显示器120、不透明度滤光器114、眼睛跟踪照明134A、耳机130和温度传感器134)是以阴影示出的,以指示这些的设备中的每个都存在两个,其中一个用于头戴式显示设备2的左侧,并且一个用于头戴式显示设备2的右侧。图4示出与电源管理电路202通信的控制电路200。控制电路200包括处理器210、与存储器214(例如D-RAM)进行通信的存储器控制器212、相机接口216、相机缓冲区218、显示器驱动器220、显示格式化器222、定时生成器226、显示输出接口228、以及显示输入接口230。在一个实施例中,控制电路200的所有组件都通过专用线路或一个或多个总线彼此进行通信。在另一实施例中,控制电路200的每个组件都与处理器210通信。相机接口216提供到两个朝向房间的相机112的接口,并且将从朝向房间的相机所接收到的图像存储在相机缓冲区218中。显示器驱动器220将驱动微显示器120。显式格式化器222向控制不透明度滤光器114的不透明度控制电路224提供关于微显示器120上所显示的虚拟图像的信息。定时生成器226被用于向该系统提供定时数据。显示输出228是用于将图像从朝向房间的相机112提供给处理单元4的缓冲区。显示输入230是用于接收诸如要在微显示器120上显示的虚拟图像之类的图像的缓冲区。显示输出228和显示输入230与作为到处理单元4的接口的带接口232进行通信。电源管理电路202包括电压调节器234、眼睛跟踪照明驱动器236、音频DAC和放大器238、话筒前置放大器和音频ADC240、温度传感器接口242、以及时钟生成器244。电压调节器234通过带接口232从处理单元4接收电能,并将该电能提供给头戴式显示设备2的其他组件。每个眼睛跟踪照明驱动器236都如上面所述的那样为眼睛跟踪照明134A提供IR光源。音频DAC和放大器238向耳机130输出音频信息。话筒前置放大器和音频ADC240提供话筒110的接口。温度传感器接口242是用于温度传感器134的接口。电源管理单元202还向三轴磁力计132A、三轴陀螺仪132B以及三轴加速度计132C提供电能并从其接收回数据。图5是描述处理单元4的各个组件的框图。图5示出与电源管理电路306通信的控制电路304。控制电路304包括中央处理单元(CPU)320;图形处理单元(GPU)322;高速缓存324;RAM326、与存储器330(例如D-RAM)进行通信的存储器控制器328、与闪存334(或其他类型的非易失性存储)进行通信的闪存控制器332、通过带接口302和带接口232与头戴式显示设备2进行通信的显示输出缓冲区336、通过带接口302和带接口232与头戴式显示设备2进行通信的显示输入缓冲区338、与用于连接到话筒的外部话筒连接器342进行通信的话筒接口340、用于连接到无线通信设备346的PCIexpress接口;以及USB端口348。在一个实施例中,无线通信设备346可以包括启用Wi-Fi的通信设备、蓝牙通信设备、红外通信设备等。USB端口可以用于将处理单元4对接到中枢计算设备12,以便将数据或软件加载到处理单元4上以及对处理单元4进行充电。在一个实施例中,CPU320和GPU322是用于确定在何处、何时以及如何向用户的视野内插入三维虚拟图像的主负荷设备。下面提供更多的细节。电源管理电路306包括时钟生成器360、模数转换器362、电池充电器364、电压调节器366、头戴式显示器电源376、以及与温度传感器374进行通信的温度传感器接口372(其可能位于处理单元4的腕带(wristband)上)。模数转换器362用于监测电池电压、温度传感器并且控制电池充电功能。电压调节器366与用于向该系统提供电能的电池368进行通信。电池充电器364被用来在从充电插孔370接收到电能时对电池368进行充电(通过电压调节器366)。HMD电源接口376向头戴式显示设备2提供电能。图6示出了具有捕捉设备20的中枢计算系统12的示例性实施例。根据一示例性实施例,捕捉设备20可被配置为通过可包括例如飞行时间、结构化光、立体图像等在内的任何合适的技术来捕捉包括深度图像的带有深度信息的视频,该深度图像可包括深度值。根据一实施例,捕捉设备20可将深度信息组织为“Z层”或者可与从深度相机沿其视线延伸的Z轴垂直的层。如图6所示,捕捉设备20可以包括相机组件423。根据一示例性实施例,相机组件423可以是或者可以包括可捕捉场景的深度图像的深度相机。深度图像可包括所捕捉的场景的二维(2-D)像素区域,其中2-D像素区域中的每个像素都可以表示深度值,比如所捕捉的场景中的物体与相机相距的例如以厘米、毫米等为单位的距离。相机组件423可以包括可用于捕捉场景的深度图像的红外(IR)光组件425、三维(3D)相机426、以及RGB(视觉图像)相机428。例如,在飞行时间分析中,捕捉设备20的IR光组件425可以将红外光发射到场景上,并且然后可以使用传感器(在一些实施例中包括未不出的传感器)、例如使用3D相机426和/或RGB相机428来检测从场景中的一个或多个目标和物体的表面后向散射的光。在某些实施例中,可以使用脉冲红外光,使得可以测量出射光脉冲和相应的入射光脉冲之间的时间差并将其用于确定从捕捉设备20到场景中的目标或物体上的特定位置的物理距离。附加地,在其他示例性实施例中,可将出射光波的相位与入射光波的相位进行比较来确定相移。然后可以使用该相移来确定从捕捉设备到目标或物体上的特定位置的物理距离。根据另一示例实施例,可使用飞行时间分析,通过经由包括例如快门式光脉冲成像在内的各种技术来分析反射光束随时间的强度变化以间接地确定从捕捉设备20到目标或物体上的特定位置的物理距离。在另一示例性实施例中,捕捉设备20可使用结构化光来捕捉深度信息。在这样的分析中,图案化光(即被显示为诸如网格图案、条纹图案、或不同图案之类的已知图案的光)可经由例如IR光组件425被投影到场景上。在落到场景中的一个或多个目标或物体的表面上时,作为响应,图案可变形。图案的这种变形可由例如3D相机426和/或RGB相机428(和/或其他传感器)来捕捉,然后可被分析以确定从捕捉设备到目标或物体上的特定位置的物理距离。在一些实施方式中,IR光组件425与相机426和428移位,使得可以使用三角测量来确定与相机426和428相距的距离。在一些实现中,捕捉设备20将包括感测IR光的专用IR传感器或具有IR滤波器的传感器。根据另一实施例,一个或多个捕捉设备20可包括两个或更多物理上分开的相机,这些相机可从不同角度查看场景以获得视觉立体数据,该视觉立体数据可被解析以生成深度信息。也可使用其他类型的深度图像传感器来创建深度图像。捕捉设备20还可以包括话筒430,所述话筒430包括可以接收声音并将其转换成电信号的换能器或传感器。话筒430可用于接收也可提供给中枢计算系统12的音频信号。在一示例实施例中,捕捉设备20还可包括可与图像相机组件423进行通信的处理器432。处理器432可包括可执行指令的标准处理器、专用处理器、微处理器等,这些指令例如包括用于接收深度图像、生成合适的数据格式(例如,帧)以及将数据传送给中枢计算系统12的指令。捕捉设备20还可包括存储器434,该存储器434可存储由处理器432执行的指令、由3D相机和/或RGB相机所捕捉的图像或图像帧、或任何其他合适的信息、图像等等。根据一示例性实施例,存储器434可包括随机存取存储器(RAM)、只读存储器(ROM)、高速缓存、闪存、硬盘或任何其他合适的存储组件。如图6所示,在一个实施例中,存储器434可以是与图像捕捉组件423和处理器432进行通信的单独组件。根据另一实施例,存储器434可被集成到处理器432和/或图像相机组件423中。捕捉设备20通过通信链路436与中枢计算系统12通信。通信链路436可以是包括例如USB连接、火线连接、以太网电缆连接等的有线连接和/或诸如无线802.Ilb,802.llg、802.Ila或802.Iln连接等的无线连接。根据一个实施例,中枢计算系统12可以通过通信链路436向捕捉设备20提供可用于确定例如何时捕捉场景的时钟。附加地,捕捉设备20通过通信链路436将由例如3-D相机426和/或RGB相机428捕捉的深度信息和视觉(例如RGB)图像提供给中枢计算系统12。在一个实施例中,深度图像和视觉图像以每秒30帧的速率来传送,但是可以使用其他帧速率。中枢计算系统12然后可以创建模型并使用模型、深度信息、以及所捕捉的图像来例如控制诸如游戏或文字处理程序等的应用和/或使化身或屏上人物动画化。中枢计算系统12包括骨架跟踪模块450。模块450使用来自捕捉设备20、以及可能来自一个或多个头戴式显示设备2上的相机的每帧中所获得的深度图像来随着每个用户在场景四周移动而开发捕捉设备20的FOV内的每个用户18a、18b、16c(或其他用户)的表示模型。该表示模型可以是下面描述的骨架模型。中枢计算系统12还可以包括场景映射模块452。场景映射模块452使用从捕捉设备20、以及可能从一个或多个头戴式显示设备2上的相机所获得的深度图像数据以及可能还有RGB图像数据来开发用户18a、18b、18c所在的场景的映射或模型。该场景图还可以包括从骨架跟踪模块450获得的用户位置。中枢计算系统还可以包括姿势识别引擎454以用于接收场景中的一个或多个用户的骨架模型数据并确定该用户是否正在执行预定义的姿势或影响运行在中枢计算系统12上的应用的应用控制移动。下面更详细地解释骨架跟踪模型450和场景映射模块452。关于姿势识别引擎454的更多信息可在于2009年4月13日提交的名称为“GestureRecognizerSystemArchitecture(姿势识别器系统架构)”的美国专利申请No.12/422,661中找到,该申请的全部内容通过引用结合于此。关于识别姿势的更多信息还可以在于2009年2月23日提交的名称为“StandardGestures(标准姿势)”的美国专利申请No.12/391,150以及于2009年5月29日提交的名称为“GestureTool(姿势工具)”的美国专利申请No.12/474,655中找到,这两个申请的全部内容都通过弓I用结合于此。捕捉设备20向中枢计算系统12提供RGB图像(或其他格式或色彩空间的视觉图像)和深度图像。深度图像可以是多个观测到的像素,其中每个观测到的像素具有观测到的深度值。例如,深度图像可包括所捕捉的场景的二维(2-D)像素区域,其中2-D像素区域中的每个像素都可具有深度值,比如所捕捉的场景中的物体与捕捉设备相距的距离。中枢计算系统12将使用RGB图像和深度图像来开发用户的骨架模型以及跟踪用户或其他物体的移动。可以使用许多方法以通过使用深度图像对人的骨架进行建模和跟踪。在于2009年10月21日提交的名称为“PoseTrackingPipeline”(姿态跟踪流水线)的美国专利申请No.12/603,437(此后称为‘437申请)中提供了使用深度图像来跟踪骨架的一个适合示例,该申请的全部内容通过引用结合于此。‘437申请的过程包括获得深度图像;对数据进行降采样;移除和/或平滑化高方差噪声数据;标识并移除背景;以及将前景像素中的每个分配给身体的不同部位。基于这些步骤,系统将使一模型拟合到该数据并创建骨架。该骨架将包括一组关节和这些关节之间的连接。也可使用用于用户建模和跟踪的其他方法。在下列四个美国专利申请中还公开了合适的跟踪技术,所述专利的全部内容都通过引用结合于此于2009年5月29日提交的名称为“DeviceforldentifyingandTrackingMultipleHumansOverTime(用于随时间标识和跟踪多个人类的设备)”的美国专利申请No.12/475,308;于2010年I月29日提交的名称为“VisualBasedIdentityTracking(基于身份跟踪的视觉)”的美国专利申请No.12/696,282;于2009年12月18日提交的名称为“MotionDetectionUsingDepthImages(使用深度图像的运动检测)”的美国专利申请No.12/641,788;于2009年10月7日提交的名称为“HumanTrackingSystem(人类跟踪系统)”的美国专利申请No.12/575,388。上述中枢计算系统12与头戴式显示设备2和处理单元4一起能够将虚拟三维物体插入到一个或多个用户的视野中,使得该虚拟三维物体扩展和/或替换现实世界的视图。在一个实施例中,头戴式显示设备2、处理单元4以及中枢计算系统12—起工作,因为每个设备都包括用于获得为了确定在何处、何时以及如何插入虚拟三维物体所需的数据的传感器的子集。在一个实施例中,确定在何处、何时以及如何插入虚拟三维物体的计算是由彼此合作地(intandem)工作的中枢计算系统12和处理单元4来执行的。然而,在另外的实施例中,所有计算都可以由单独工作的中枢计算系统12或者单独工作的处理单元4来执行。在其他实施例中,这些计算中的至少一些可以由头戴式显示设备2来执行。在一个示例性实施例中,中枢计算设备12和处理单元4一起工作以创建所述一个或多个用户所在的场景映射或模型并且跟踪该环境中移动的物体。另外,中枢计算系统12和/或处理单元4通过跟踪头戴式显示设备2的位置和取向来跟踪用户18a、18b、18c佩戴的头戴式显示设备2的F0V。由头戴式显示设备2所获得的传感器信息被传送给处理单元4。在一个实施例中,该信息被传送给中枢计算系统12,该中枢计算系统12更新场景模型并且将其传送回处理单元。然后,处理单元4使用其从头戴式显示设备2接收的附加传感器信息来细化用户的视野并且向头戴式显示设备2提供关于如何、在何处以及何时插入虚拟三维物体的指令。基于来自捕捉设备20中的相机和头戴式显示设备2的传感器信息,可以在下面解释的闭环反馈系统中在中枢计算系统12和处理单元4之间周期性地更新场景模型和跟踪信息。图7示出了可用于实现中枢计算系统12的计算系统的示例性实施例。如图7所示,多媒体控制台500具有含有一级高速缓存502、二级高速缓存504和闪存ROM(只读存储器)506的中央处理单元(CPU)501。一级高速缓存502和二级高速缓存504临时存储数据并因此减少存储器访问周期数,由此改进处理速度和吞吐量。CPU501可以被配备为具有一个以上的核,并且由此具有附加的I级和2级高速缓存502和504。闪存ROM506可存储在多媒体控制台500通电时在引导过程初始化阶段加载的可执行代码。图形处理单元(GPU)508和视频编码器/视频编解码器(编码器/解码器)514形成用于高速、高分辨率图形处理的视频处理流水线。数据经由总线从图形处理单元508输送到视频编码器/视频编解码器514。视频处理流水线向A/V(音频/视频)端口540输出数据,以便传输到电视机或其他显示器。存储器控制器510连接到GPU508以方便处理器访问各种类型的存储器512,诸如但不局限于RAM(随机存取存储器)。多媒体控制台500包括优选地在模块518上实现的I/O控制器520、系统管理控制器522、音频处理单元523、网络接口控制器524、第一USB主控制器526、第二USB控制器528和前面板I/O子部件530。USB控制器526和528用作外围控制器542(1)-542(2)、无线适配器548、和外置存储器设备546(例如闪存、外置⑶/DVDROM驱动器、可移动介质等)的主机。网络接口524和/或无线适配器548提供对网络(例如,因特网、家庭网络等)的访问并且可以是包括以太网卡、调制解调器、蓝牙模块、电缆调制解调器等的各种不同的有线或无线适配器组件中任何一种。提供系统存储器543来存储在引导过程期间加载的应用数据。提供介质驱动器544,且其可包括DVD/⑶驱动器、蓝光驱动器、硬盘驱动器、或其他可移动介质驱动器等。介质驱动器544可位于多媒体控制台500的内部或外部。应用数据可经由媒体驱动器544访问,以由多媒体控制台500执行、回放等。介质驱动器544经由诸如串行ATA总线或其他高速连接(例如IEEE1394)等总线连接到I/O控制器520。系统管理控制器522提供涉及确保多媒体控制台500的可用性的各种服务功能。音频处理单元523和音频编解码器532形成具有高保真度和立体声处理的对应的音频处理流水线。音频数据经由通信链路在音频处理单元523与音频编解码器532之间传输。音频处理流水线将数据输出到A/V端口540以供外部音频用户或具有音频能力的设备再现。前面板I/O子部件530支持暴露在多媒体控制台500的外表面上的电源按钮550和弹出按钮552以及任何LED(发光二极管)或其他指示器的功能。系统供电模块536向多媒体控制台500的组件供电。风扇538冷却多媒体控制台500内的电路。CPU501、GPU508、存储器控制器510、和多媒体控制台500内的各个其他组件经由一条或多条总线互连,包括串行和并行总线、存储器总线、外围总线、和使用各种总线架构中任一种的处理器或局部总线。作为示例,这些架构可以包括外围部件互连(PCI)总线、PCI-Express总线等。当多媒体控制台500通电时,应用数据可从系统存储器543加载到存储器512和/或高速缓存502、504中并在CPU501上执行。应用可呈现在导航到多媒体控制台500上可用的不同媒体类型时提供一致的用户体验的图形用户界面。在操作中,媒体驱动器544中包含的应用和/或其他媒体可从媒体驱动器544启动或播放,以向多媒体控制台500提供附加功能。多媒体控制台500可通过将该系统简单地连接到电视机或其他显示器而作为独立系统来操作。在该独立模式中,多媒体控制台500允许一个或多个用户与该系统交互、看电影、或听音乐。然而,随着通过网络接口524或无线适配器548可用的宽带连接的集成,多媒体控制台500还可作为较大网络社区中的参与者来操作。附加地,多媒体控制台500可以通过无线适配器548与处理单元4通信。当多媒体控制台500通电时,可以保留设定量的硬件资源以供由多媒体控制台操作系统作系统使用。这些资源可包括存储器、CPU和GPU周期、网络带宽等等的保留。因为这些资源是在系统引导时保留的,所以所保留的资源从应用的角度而言是不存在的。具体而言,存储器保留优选地足够大,以包含启动内核、并发系统应用和驱动程序。CPU保留优选地为恒定,使得若所保留的CPU用量不被系统应用使用,则空闲线程将消耗任何未使用的周期。对于GPU保留,显示由系统应用程序生成的轻量消息(例如,弹出窗口),所述显示是通过使用GPU中断来调度代码以将弹出窗口呈现为覆盖图。覆盖图所需的存储器量取决于覆盖区域大小,并且覆盖图优选地与屏幕分辨率成比例缩放。在并发系统应用使用完整用户界面的情况下,优选使用独立于应用分辨率的分辨率。定标器可用于设置该分辨率,从而消除了对改变频率并引起TV重新同步的需求。在多媒体控制台500引导且系统资源被保留之后,执行并发系统应用来提供系统功能。系统功能被封装在上述所保留的系统资源中执行的一组系统应用中。操作系统内核标识是系统应用线程而非游戏应用线程的线程。系统应用优选地被调度为在预定时间并以预定时间间隔在CPU501上运行,以便为应用提供一致的系统资源视图。进行调度是为了把由在控制台上运行的游戏应用所引起的高速缓存中断最小化。当并发系统应用需要音频时,则由于时间敏感性而将音频处理异步地调度给游戏应用。多媒体控制台应用管理器(如下所述)在系统应用活动时控制游戏应用的音频水平(例如,静音、衰减)。任选的输入设备(例如,控制器542(1)和542(2))由游戏应用和系统应用共享。输入设备不是所保留的资源,但却在系统应用和游戏应用之间切换以使其各自都将具有设备的焦点。应用管理器优选地控制输入流的切换,而无需知晓游戏应用的知识,并且驱动程序维护有关焦点切换的状态信息。捕捉设备20可以通过USB控制器526或其他接口来为控制台500定义附加的输入设备。在其他实施例中,中枢计算系统12可以使用其他硬件架构来实现。没有一种硬件架构是必需的。图I中所示的每个头戴式显示设备2和处理单元4(有时统称为移动显示设备)都与一个中枢计算系统12(亦称中枢12)通信。在另外的实施例中,可以存在与中枢12通信的一个、两个或三个以上移动显示设备。每个移动显示设备都将如上述那样使用无线通信与中枢通信。在这样的实施例中所构思的是,有益于所有移动显示设备的信息中的许多都将在中枢处被计算和存储并且传送给每个移动显示设备。例如,中枢将生成环境的模型并且将该模型提供给与该中枢通信的所有移动显示设备。附加地,中枢可以跟踪移动显示设备以及房间中的移动物体的位置和取向,并且然后将该信息传输给每个移动显示设备。在另一实施例中,系统可以包括多个中枢12,其中每个中枢都包括一个或多个移动显示设备。这些中枢可以直接地或者通过因特网(或者其他网络)彼此通信。在Flaks等人于2010年10月15日提交的名称为“FusingVirtualContentIntoRealContent(将虚拟内容融合到现实内容中)”(MS#330057.01)的美国专利申请No.12/905,952中公开了这样的实施例,该申请的全部内容都通过引用结合于此。此外,在另外的实施例中,中枢12可以完全省略。例如在图8中示出了这样的实施例。在另外的实施例中,该实施例可以包括一个、两个或三个以上移动显示设备580。这样的实施例的一个优点是,本系统的混合现实体验变为完全移动的,并且可以用在室内和室外背景(settings)二者中。在图8的实施例中,下面的描述中由中枢12执行的所有功能都可以可替代地由处理单元4之一、合作地工作的一些处理单元4、或者合作地工作的所有处理单元4来执行。在这样的实施例中,相应的移动显示设备580执行系统10的所有功能,包括生成和更新状态数据、场景映射、每个用户对场景映射的视图、所有纹理和渲染信息、视频和音频数据以及为了执行在此所述的操作所需的其他信息。下面参照图9的流程图所述的实施例包括中枢12。然而,在每个这样的实施例中,处理单元4中的一个或多个可以可替代地执行中枢12的所述所有功能。图9是中枢计算系统12、处理单元4和头戴式显示设备2在离散时间段(比如为了生成、渲染和向每个用户显示单帧图像数据所花费的时间)期间的操作和交互性的高级流程图在实施例中,数据可以以60赫兹的速率刷新,但是在另外的实施例中可以以更高或更低的频度刷新。一般而言,该系统生成具有环境和该环境中的诸如用户、现实物体和虚拟物体之类的物体的X、I、Z坐标的场景映射。虚拟物体可以例如由中枢计算系统12上运行的应用虚拟地放置在环境中。该系统还跟踪每个用户的F0V。尽管所有用户可能查看场景的相同方面,但是他们从不同视角来查看这些方面。因此,该系统生成每个人对场景的唯一视野以针对虚拟或现实世界物体的视差和遮挡进行调整,而这些视差和遮挡对于每个用户而言又是不同的。对于给定的图像数据帧,用户的视图可以包括一个或多个现实和/或虚拟物体。当用户例如从左向右或从上向下转动其头时,现实世界物体在用户视野中的相对位置固有地在用户的视野内移动。然而,在用户移动其头时向用户显示虚拟物体是更困难的问题。在用户查看其FOV内的静止虚拟物体的示例中,如果用户向左移动其头以向左移动F0V,则虚拟物体的显示需要向右偏移该用户FOV的偏移量,使得实际效果是该虚拟三维物体在FOV内保持静止。这在虚拟物体自身、以及其他用户也可以在场景中移动从而可能遮挡用户对该场景中的物体的视图时可能变得更为困难。下面参照图9-16的流程图来解释一种用于完成这些操作的系统。可以在步骤600配置用于将混合现实呈现给一个或多个用户18a、18b和18c的系统。例如,用户18a、18b、18c和该系统的其他用户或操作员可以指定要呈现的虚拟物体、以及要如何、何时以及在何处呈现这些虚拟物体。在一可替代的实施例中,在中枢12和/或处理单元4上运行的应用可以关于要呈现的虚拟物体来配置该系统。在步骤604和630,中枢12和处理单元4从场景中收集数据。对于中枢12而言,这可以是由捕捉设备20的深度相机426、RGB相机428和话筒430所感测的图像和音频数据。对于处理单元4而言,这可以是在步骤652中由头戴式显示设备2、并且具体而言由相机112、眼睛跟踪部件134和MU132所感测的图像数据。在步骤656,将由头戴式显示设备2所收集的数据发送给处理单元4。在步骤630,处理单元4处理该数据,以及将其发送给中枢12。在步骤608,中枢12执行各种设置操作,这些设置操作允许中枢12协调其捕捉设备20和一个或多个处理单元4的图像数据。具体而言,即使捕捉设备20相对于场景的位置是已知的(也可能不是),头戴式显示设备2上的相机仍然在场景四周移动。因此,在实施例中,每个成像相机的位置和时间捕捉都需要与场景、彼此之间以及中枢12进行校准。下面在图10的流程图中描述步骤608的进一步细节。步骤608的操作包括在步骤670确定系统10中的各个成像设备的时钟偏差。具体而言,为了协调来自该系统中的每个相机的图像数据,需要保证所协调的图像数据是来自相同时间的。如下文献中公开了关于确定时钟偏差和同步图像数据的细节于2010年5月3日提交的名称为“HeterogeneousImageSensorSynchronization(异类图像传感器同步)”的美国专利申请No.12/772,802;于2010年6月3日提交的名称为“SynthesisOfInformationFromMultipleAudiovisualSources(来自多个视听源的信息的合成)”的美国专利申请No.12/792,961,所述申请的全部内容通过引用结合于此。一般而言,来自捕捉设备20的图像数据和来自一个或多个处理单元4的图像数据是从中枢12中的单个主时钟中加时间戳的。通过为给定帧的所有这样的数据使用时间戳以及为每个相机使用已知的分辨率,中枢12为系统中的每个成像相机确定时间偏差。由此,中枢12可以确定从每个相机所接收的图像之间的差异以及对这些图像的调整。中枢12可以从相机接收的帧之一中选择参考时间戳。然后,中枢12可以向从所有其他相机接收的图像数据加上时间或从该图像数据减去时间以与参考时间戳同步。能够理解,可以针对校准过程使用各种其他操作来确定时间偏差和/或对不同的相机一起进行同步。时间偏差的确定可以在最初从所有相机接收到图像数据以后执行一次。可替代地,其可以周期性地执行,比如对每帧或某数目的帧执行。步骤608还包括在场景的x、j、z笛卡尔空间中校准所有相机相对于彼此的位置的操作。一旦得知该信息,则中枢12和/或所述一个或多个处理单元4就能够形成场景映射或模型以标识出场景的几何和场景内的物体(包括用户)的几何和位置。在彼此校准所有相机的图像数据时,可以使用深度和/或RGB数据。例如在2007年5月17日公开的、名称为“NavigatingImagesUsingImageBasedGeometricAlignmentandObjectBasedControls(使用基于几何对齐的图像和基于对象的控制来导航图像)”的美国专利公开No.2007/0110338中描述了用于单独使用RGB信息来校准相机视图的技术,该公开的全部内容通过引用结合于此。系统10中的成像相机每个都可以具有一些透镜失真,这些透镜失真需要校正以便校准来自不同相机的图像。一旦在步骤604和630从该系统的各个相机接收到所有图像数据,则在步骤674,可以将该图像数据调整为考虑到各个相机的透镜失真。给定相机(深度或RGB)的失真可以是由相机制造商提供的已知属性。如果不是,则还公知有用于计算相机的失真的算法,例如包括对已知尺寸的物体进行成像,所述尺寸是例如在相机视野内的不同位置处的方格盘图案之类。该该图像中的点的相机视图坐标的偏离将是相机透镜失真的结果。一旦得知透镜失真的程度,就可以通过已知逆矩阵变换来校正失真,该逆矩阵变换产生给定相机的点云中的点的均匀相机视图映射。接着,中枢12可以在步骤678将由每个相机捕捉的经失真校正的图像数据点从相机视图翻译成正交3-D世界视图。该正交3-D世界视图是由捕捉设备20和头戴式显示设备相机所捕捉的所有图像数据在正交x、y、z笛卡尔坐标系中的点云映射。用于将相机视图转化成正交3-D世界视图的矩阵变换等式是已知的。例如参见DavidH.Eberly的“3dGameEngineDesignAPracticalApproachToReal-TimeComputerGraphics(3d游戏弓I擎设计实时计算机图形的实用方案)”(MorganKaufman出版社(2000年)),该出版物的全部内容通过引用结合于此。亦参见之前引用的美国专利申请No.12/792,961。系统10中的每个相机都可以在步骤678构造正交3_D世界视图。在步骤678结束时,来自给定相机的数据点的X、I、Z世界坐标仍然是来自该相机的视角的,并且还未与来自系统10的其他相机的数据点的x、y、z世界坐标相关。下一步骤是将不同相机的各个正交3-D世界视图转化成系统10的所有相机共享的单个总体3-D世界视图。为实现这一点,中枢12的实施例可以接着在步骤682在相应相机的世界视图的点云中寻找关键点不连续性或线索,并且然后在步骤684标识出在不同相机的不同点云中相同的线索。一旦中枢12能够确定两个不同相机的两个世界视图包括相同线索,则中枢12能够在步骤688确定所述两个相机相对于彼此和该线索的位置、取向和焦距。在实施例中,不是系统10中的所有相机都将共享相同的共同线索。然而,只要第一和第二相机具有共享的线索,并且这些相机至少之一与第三相机具有共享的视图,则中枢12就能够确定第一、第二和第三相机相对于彼此的位置、取向和焦距、以及单个总体3-D世界视图。对于该系统中的附加相机而言同样如此。存在各种用于从图像点云中标识出线索的已知算法。在Mikolajczyk,K和Schmid,C的“APerformanceEvaluationofLocalDescriptors(局部描述符的性能评估)"(IEEE模式分析和机器智能学报,27,10,1615-1630(2005年))中阐述了这样的算法,该论文的全部内容通过引用结合于此。另一用于利用图像数据检测线索的方法是比例不变特征变换(SIFT)算法。例如在2004年3月23日颁发的名称为“MethodandApparatusforIdentifyingScaleInvariantFeaturesinanImageandUseofSameforLocatinganObjectinanImage(用于在图像中标识出比例不变特征和将其用于对图像中的物体进行定位的方法和装置)”的美国专利No.6,711,293中描述了SIFT算法,该专利的全部内容通过引用结合于此。另一线索检测器方法是最大稳定极值区域(MSER)算法。例如在J.Matas、0.Chum、M.Urba、和T.Pajdla的论文“RobustWideBaselineStereoFromMaximallyStableExtremalRegions(来自最大稳定极值区域的鲁棒宽基线立体)”(英国机器视觉会议学报,第384-396页(2002年))中描述了MSER算法,该论文的全部内容通过引用结合于此。在步骤684,标识出在来自两个或更多相机的点云之间共享的线索。在概念上,当在第一相机的笛卡尔坐标系中存在第一相机与一组线索之间的第一组矢量,并且在第二相机的笛卡尔坐标系中存在第二相机与同一组线索之间的第二组矢量时,两个系统可以相对于彼此被解析成包括这两个相机的单个笛卡尔坐标系。存在用于在来自两个或更多相机的点云之间找出共享线索的多种已知技术。例如在Arya,S.,Mount,D.Μ.,Netanyahu,N.S.,Silverman,R.,andWu,A.Y的“AnOptimalAlgorithmForApproximateNearestNeighborSearchingFixedDimensions(用于逼近最近邻居搜索固定维度的最优算法)”(ACM45,6,891-923(1998)学报)中示出了这样的技术,该论文的全部内容通过引用结合于此。可以替代于或附加于上面并入的Arya等人的逼近最近邻居解决方案使用其他技术,包括但不限于散列或上下文敏感的散列。当来自两个不同相机的点云共享足够大数目的匹配线索时,可以例如通过随机采样一致性(RANSAC)或各种其他估计技术来估计将两个点云一起相关的矩阵。然后可以去除作为所发现的基本矩阵的离群值的匹配。在一对点云之间找到一组认定的在几何上一致的匹配以后,可以将这些匹配组织成相应点云的一组轨迹,其中轨迹是点云之间的一组人工匹配线索。该组中的第一轨迹可以包含每个共同线索在第一点云中的投影。该组中的第二轨迹可以包含每个共同线索在第二点云中的投影。使用来自步骤448和450的信息,来自不同相机的点云可以被解析成单个正交3-D现实世界视图中的单个点云。相对于该单个点云和单个正交3-D现实世界视图来校准所有相机的位置和取向。为了对各个点云一起进行解析,为两个点云分析所述线索在该组轨迹中的投影。从这些投影中,中枢12可以确定第一相机相对于所述线索的视角,并且还可以确定第二相机相对于所述线索的视角。由此,中枢12可以将点云解析成对单个点云和包括所述线索和来自两个点云的其他数据点的单个正交3-D现实世界视图的最佳估计。对任何其他相机重复该过程,直到该单个正交3-D现实世界视图包括了所有相机。一旦完成了这一点,则中枢12就可以确定相机相对于单个正交3-D现实世界视图以及相对于彼此的相对位置和取向。中枢12还可以确定每个相机相对于单个正交3-D现实世界视图的焦距。再次参考图9,一旦在步骤608校准了该系统,则可以在步骤610开发场景映射,该场景映射标识出该场景的几何以及该场景内的物体的几何和位置。在实施例中,在给定帧中生成的场景映射可以包括该场景中的所有用户、现实世界物体和虚拟物体的x、y和z位置。所有这些信息都是在图像数据收集步骤604、656期间获得的,并且在步骤608被一起校准。至少捕捉设备20包括深度相机以用于确定场景的深度(直到可能以墙壁等等为界限的程度)以及场景内的物体的深度位置。如下面解释的那样,场景映射用于对场景内的虚拟物体进行定位、以及显示具有合适遮挡(虚拟三维物体可能被遮挡,或者虚拟三维物体可能遮挡现实世界物体或另一虚拟三维物体)的虚拟三维物体。系统10可以包括多个深度图像相机以从场景获得所有深度图像,或者包括单个深度图像相机,比如例如捕捉设备20的深度图像相机426足以从场景捕捉所有深度图像。一用于确定未知环境内的场景映射的类似方法被称为同时定位和映射(SLAM)。在2010年8月10日颁发的名称为“SystemsandMethodsforLandmarkGenerationforVisualSimultaneousLocalizationandMapping(用于虚拟同时定位和映射的界标生成的系统和方法)”的美国专利No.7,774,158中公开了SLAM的一个示例,该专利的全部内容通过引用结合于此。在步骤612,该系统将检测和跟踪诸如在房间中移动的人之类的移动物体,并且基于移动物体的位置更新场景映射。这包括如上述那样使用场景内的用户的骨架模型。在步骤614,中枢为系统10内的所有用户确定每个头戴式显示设备2的x、y和z位置、取向以及F0V。下面参照图11的流程图描述步骤616的进一步细节。下面参照单个用户描述图11的步骤。然而,图11的步骤能够对场景内的每个用户执行。在步骤700,在中枢处分析场景的经校准的图像数据以确定用户头位置、以及从用户的脸直视的脸单位矢量二者。在骨架模型中标识出该头位置。脸单位矢量可以通过从骨架模型定义用户脸的平面、以及取垂直于该平面的矢量来确定。可以通过确定用户的眼睛、鼻子、嘴巴、耳朵或其他面部特征的位置来标识出该平面。脸单位矢量可以用于定义用户的头取向并且可以被认为是用户的FOV的中心。脸单位矢量还可以或可以附加地从自头戴式显示设备2上的相机112所返回的相机图像数据中标识出。具体而言,基于头戴式显示设备2上的相机112看见什么,相关联的处理器104和/或中枢12能够确定表示用户的头取向的脸单位矢量。在步骤704,用户的头的位置和取向还可以或者可以可替代地通过如下方式来确定分析来自较早时间的用户头的位置和取向(要么在帧中为较早、要么来自在先帧);以及然后使用来自IMU132的惯性信息来更新用户的头的位置和取向。来自IMU132的信息可以提供用户头的精确运动学数据,但是MU通常不提供关于用户头的绝对位置信息。可以从自针对隶属用户的捕捉设备12、头戴式显示设备2上的相机中获得的图像数据、和/或自其他用户的头戴式显示设备中获得的图像数据中提供亦称“地面真值”的该绝对位置信肩、O在实施例中,用户的头的位置和取向可以通过合作地行动的步骤700和704来确定。在另外的实施例中,步骤700和704中的一个或另一个可以用于确定用户的头的位置和取向。可能发生的是,用户未向前看。因此,除了标识出用户头位置和取向以外,中枢还可以考虑用户的眼睛在其头上的位置。该信息可以由上述眼睛跟踪部件134来提供。眼睛跟踪部件能够标识出用户的眼睛的位置,该位置可以被表示成眼单位矢量,该眼单位矢量示出了与用户眼睛中心所在以及向前看的位置之间的向左、向右、向上和/或向下的偏离(即脸单位矢量)。脸单位矢量可以被调整为定义用户正在查看何处的眼单位矢量。在步骤710,接着可以确定用户的F0V。头戴式显示设备2的用户的视图范围可以基于假想用户的向上、向下、向左和向右的周向视场(peripheralvision)来预定义。为了保证为给用户计算出的FOV包括特定用户可能能够在FOV范围内的看见的物体,该假想用户可以被认为是具有最大可能的周向视场。在实施例中可以向这添加一些预定的额外FOV以保证为给定用户捕捉到足够的数据。然后,可以通过取得视图范围并且将其中心定在通过眼单位矢量的任何偏离进行了调整的脸单位矢量周围来计算用户在给定时刻的F0V。除了定义用户在给定时刻正在查看什么以外,对用户的视野的该确定还有助于确定用户不能看见什么。如上面所解释的那样,将对虚拟物体的处理仅限于特定用户可以看见的那些区域将提高处理速度并减少等待时间。在上述实施例中,中枢12计算该场景中的每个用户的F0V。在另外的实施例中,可以在该任务中共享用户的处理单元4。例如,一旦用户头位置和眼睛取向被估计出,则该信息就可以被发送给处理单元,该处理单元可以基于更加新的关于头位置的数据(来自IMU132)和眼睛位置(来自眼睛跟踪部件134)来更新位置和取向等等。现在回到图9,在中枢12上运行的应用可能已经将虚拟物体放置到了该场景中。在步骤618,中枢可以使用场景映射、以及虚拟物体的任何应用定义的运动来确定所有这样的虚拟物体在当前时间的X、y和z位置。可替代地,该信息可以在步骤618由处理单元4中的一个或多个来生成并且发送给中枢12。在图12的流程图中示出了步骤618的进一步细节。在步骤714,中枢确定虚拟三维物体是否是依赖于用户的。也就是说,一些虚拟物体可以与任何用户无关地动画化。它们可以由应用来添加并且与用户交互,但是它们的位置不依赖于特定的用户(除了下面解释的冲突检测以外)。这一点的示例在下面解释的图17中被示为虚拟物体804和806。另一方面,可以添加依赖于用户的某些虚拟三维物体。可以提供这些虚拟物体来扩展用户。它们可以提供在用户周围或用户之上。例如,可以在用户的轮廓周围提供光环、火或光。可以在用户之上显示文本,比如用户的姓名、联系信息或关于用户的其他信息。可以给用户搭配虚拟服饰物品,比如夹克、运动裤或帽子。作为另一替代方案,可以将虚拟三维物体提供在用户之上以改变用户的某个方面。可以改变用户的头发或服饰,或者虚拟三维物体可以将用户转变为某种颜色。这一点的示例在下面解释的图18中被示为虚拟物体850。如上所示,所添加的虚拟物体的类型可以由运行在中枢12和/或处理单元4上的应用来控制。然而,对虚拟物体的定位可以由与应用通信的中枢12部分地基于虚拟物体是依赖于用户的还是不依赖于用户的来计算。因此,在步骤714,中枢12可以检查要添加到场景的虚拟三维物体是否是依赖于用户的。如果不是,则中枢在步骤718基于一个或多个应用度量来计算虚拟三维物体的新位置。例如,应用可以设置虚拟三维物体是否移动以及多快地在场景中移动。可以确定虚拟三维物体的形状、外观、或者取向的改变。应用可以影响对虚拟物体的各种其他改变。在步骤718将这些改变提供给中枢,并且然后中枢可以在步骤718更新虚拟三维物体的位置、取向、形状、外观等等。在步骤720,中枢可以检查经更新的虚拟物体是否与场景中的现实世界物体占据相同的空间。具体而言,场景中的现实世界物体的所有像素位置都是已知的,并且经更新的虚拟物体的所有像素位置也是已知的。如果存在任何重叠,则中枢12可以根据缺省规则或应用所定义的度量来调整虚拟物体的位置。如果在步骤714确定虚拟三维物体与特定用户相关联,则中枢执行至少部分地基于该用户的经更新的位置来更新位置、取向、形状外观等等的步骤724。骨架模型提供用户的体积描述,包括在x、y、z笛卡尔坐标空间中对用户的像素-像素描述。使用该骨架模型,中枢可以根据应用度量改变用户的轮廓四周、之上或之内的像素。这不必是用户的身体轮廓。在另外的实施例中,可以将特定身体部分定位为具有相关联的虚拟三维物体,使得该虚拟三维物体与该身体部分一起移动。用于提供每个虚拟物体的经更新的位置、取向、形状、外观等等的步骤714至724从用户的视角而言是不可知的。也就是说,步骤714至724不依赖于用户的特定F0V。这些步骤仅仅定义虚拟物体在x、I、z笛卡尔空间中将要占据的3D位置。该信息可以并入该帧的屏幕映射中。一旦上面的步骤600至618已经执行,则中枢12可以在步骤626将所确定的信息传送给一个或多个处理单元4。在步骤626所传送的信息包括场景映射到所有用户的处理单元4的传送。所传送的信息还可以包括每个头戴式显示设备2的所确定的FOV到相应头戴式显示设备2的处理单元4的传送。所传的信息还可以包括虚拟物体特性的传送,该特性包括所确定的位置、取向、形状、外观和遮挡属性(即虚拟物体是否从特定用户的视图来看挡住另一物体或被另一物体挡住)。上面仅以示例的方式描述了处理步骤600至626。能够理解,这些步骤中的一个或多个可以在另外的实施例中被省略,这些步骤可以以不同的顺序来执行,或者可以添加附加的步骤。处理步骤604至618可能在计算上是高成本的,但是强大的中枢12可以以60赫兹帧来执行这些步骤若干次。在另外的实施例中,步骤604至618中的一个或多个可以可替代地或附加地由所述一个或多个处理单元4中的一个或多个来执行。此外,尽管图9示出了各个参数的确定、以及然后所有这些参数在步骤626—次传送,但是能够理解,所确定的参数可以一被确定就被异步地发送给处理单元4。尽管未在图9的流程图中示出,但是中枢12和/或处理单元4还可以标识出场景内的物体。例如,该系统可以具有用户简档,所述用户简档具有可以与所检测到的物体的图像相匹配的视觉图像。可替代地,用户简档可以描述可基于深度图像或视觉图像来匹配的人的特征。在另一实施例中,用户可以登陆到系统中并且中枢12可以使用登陆过程来标识出特定用户并且在此处所述的交互的整个过程中跟踪该用户。中枢12还可以具有对已知形状的数据库的访问。在该实例中,中枢计算设备将模型中的许多物体与数据库中的形状进行匹配。在标识出用户或物体时,可以将标识出该用户或物体的元数据添加到场景映射。例如,该元数据可以指示特定物体处于擦亮的桌、某人、绿色真皮沙发椅等等的周围。现在将参考步骤630至658解释处理单元4和头戴式显示设备2的操作。一般而言,对于每帧,处理单元4对所接收的数据进行外插以预测在虚拟物体将通过头戴式显示设备2被显示给用户的未来时刻时物体在场景中的最终位置、以及相关联的用户对这些物体的视图。在某帧期间可以基于从中枢12和头戴式显示设备2接收到的数据对由处理单元4生成的对最终FOV的外插预测连续或反复地进行更新。在确定最终FOV和最终FOV内的虚拟物体方面存在固有等待时间的条件下,将数据外插到未来情况将允许该系统预测在虚拟物体将被显示时虚拟物体的视图,由此有效地从该系统中消除等待时间。下面更详细地解释该特征。下面的描述针对单个处理器4和头戴式显示设备2。然而,下面的描述可以适用于该系统中的每个处理单元4和显示设备2。如上所述,在初始步骤656,头戴式显示设备2生成图像和MU数据,所述图像和IMU数据在步骤630通过处理单元4被发送给中枢12。在中枢12处理该图像数据时,处理单元4也处理该图像数据、以及执行准备渲染图像的步骤。在步骤632,处理单元4可以使用来自过去和/或现在的状态信息来外插出在头戴式显示单元2将所渲染的帧或图像数据呈现给头戴式显示设备2的用户时的未来时间的状态估计。具体而言,处理单元在步骤632为当前帧确定在图像将被显示给头戴式显示设备2时的未来的某个时间时头戴式显示设备2的最终FOV的预测。下面参考图13的流程图描述步骤632的进一步细节。在步骤750,处理单元4从头戴式显示设备2接收图像和IMU数据,并且在步骤752,处理单元4接收包括场景映射、头戴式显示设备2的F0V、以及遮挡数据在内的经处理的图像数据。在步骤756,处理单元4计算从当前时间t直到图像通过头戴式显示设备2被显示为止的时间、X毫秒(ms)。一般而言,X可以高达250毫秒,但是在其他实施例中可以比这更大或更小。此外,尽管下面按照到未来的预测X毫秒来描述实施例,但是能够理解,可以以比毫秒更大或更小的单位时间度量来描述X。随着处理单元4如下面解释的那样循环经过其操作并且更接近图像将以给定帧被显示的时间,时间段X变得更小。在步骤760,处理单元4外插出在图像将被显示在头戴式显示设备2上时头戴式显示设备2的最终F0V。根据在中枢12与处理单元4之间的处理步骤的定时,处理单元4可能在处理单元4首次执行步骤632时还未从中枢接收到该数据。在该实例中,处理单元在头戴式显示设备2的相机112包括深度相机的情况下仍然能够作出这些确定。如果不是,则处理单元4可以在从中枢12接收到信息以后执行步骤760。外插出最终FOV的步骤760所基于的事实是,在诸如几个数据帧之类的小时间段内,运动往往是总体上平滑和稳定的。因此,通过查看当前时间t的数据以及之前时间的数据,能够外插到未来情况以预测在该帧图像将被显示时用户的最终视图位置。使用对最终FOV的该预测,最终FOV可以在t+X毫秒时显示给用户而没有任何等待时间。处理单元可以每帧多次循环经过其步骤,从而更新外插以将可能的解决方案缩小为要显示最终FOV方案的帧内时间。在图14的流程图中提供了步骤760的进一步细节。在步骤764,检查从中枢12和/或头戴式显示设备2接收到的与FOV相关的图像数据。在步骤768,可以将平滑函数应用于经检查的数据,该平滑函数捕捉头位置数据中的模式,同时忽略噪声或异常的数据点。所检查的时间段的数目可以是两个或更多不同的时间段。附加于或替代于步骤764和768,处理单元4可以执行将由头戴式显示设备2和/或中枢12所指示的当前FOV用作头戴式显示设备2的地面真值的步骤770。然后,处理单元104可以应用在当前时间段来自IMU单元132的数据以确定未来X毫秒的最终视野。IMU单元132可以以如下6个自由度提供诸如头戴式显示设备2的移动的速度、加速度和急动(jerk)之类的运动学度量沿着三个轴的平移和绕三个轴的旋转。使用针对当前时间段的这些测量结果,可以直接地外插以确定从当前FOV位置到未来X毫秒的最终视野的净改变。使用来自步骤764、768和770的数据,可以在步骤772外插出时间t+X毫秒时的最终FOV。除了通过外插出t+未来X毫秒来预测头戴式显示设备2的最终FOV以外,处理单元104还可以确定预测的置信值,该置信值在此称为瞬时预测误差。可能发生的是,用户过于迅速地移动其头,以至于处理单元4不能以可接受的精确度水平来外插数据。当瞬时预测误差高于某个预定阈值水平时,可以使用缓解技术而不是依靠关于最终视图位置的外插预测。缓解技术包括减小或关闭虚拟图像的显示。尽管不是理想的,但是该情况很可能是暂时的,并且可能优于呈现虚拟图像与现实图像之间的图像失配。另一缓解技术是后退到具有可接受瞬时预测误差的最后获得的数据。另外的缓解技术包括模糊化数据(这可能对于迅速的头部移动而言是极好地可接受的用于显示虚拟物体的方法);以及将上述缓解技术中的一个或多个相混合。再次参考图9的流程图,在步骤632外插出最终视图以后,处理单元4可以接着在步骤634挑选渲染操作,使得仅仅渲染可能出现在头戴式显示设备2的最终FOV内的那些虚拟物体。其他虚拟物体的位置仍然可以被跟踪,但是它们不被渲染。如下面参照图19和20所解释的那样,在可替代的实施例中,步骤634可以包括挑选对可能的FOV的渲染操作,加上围绕FOV的外周的附加边界。这将允许以高帧速的图像调整,而不必在整个FOV的范围内重新渲染数据。还可以想到,在另外的实施例中,步骤634可以一起被跳过并且整个图像被渲染。接着,处理单元4可以执行渲染设置步骤638,其中使用时间t+X毫秒的外插出的最终FOV预测来执行设置渲染操作。步骤638对要渲染的虚拟三维物体执行设置渲染操作。在虚拟物体数据被从中枢12提供给处理单元4的实施例中,可以跳过步骤638,直到虚拟物体数据被提供给处理单元的这样的时间(例如通过处理单元步骤的第一时间)。一旦接收到虚拟物体数据,则处理单元就可以对可能在时间t+X毫秒出现在最终FOV内的虚拟物体执行步骤638中的渲染设置操作。步骤638中的设置渲染操作包括与要在最终FOV中显示的虚拟物体相关联的共同渲染任务。这些渲染任务例如可以包括阴影映射生成、照明和动画化。在实施例中,渲染设置步骤638还可以包括编译可能的绘图信息,比如要在所预测的最终FOV中显示的虚拟物体的顶点缓冲区、纹理和状态。步骤632确定在图像数据帧显示在头戴式显示设备上时头戴式显示设备2的FOV的预测。然而,除了FOV以外,虚拟和现实物体(比如用户的手和其他用户)也可能在场景中移动。因此,除了为每个用户外插在时间t+X毫秒时的最终FOV位置以外,该系统还在步骤640为场景中所有物体(或移动物体)、即现实和虚拟物体二者外插在时间t+X毫秒时的位置。该信息可能有助于合适地现实虚拟和现实物体以及用合适的遮挡显示这些物体。在图15的流程图中示出了步骤640的进一步细节。在步骤776,处理单元4可以在位置数据中检查用户手在X、y、z空间中的来自当前时间t和以及以前时间的位置。该手位置数据可以来自头戴式显示设备2以及可能来自中枢12。在步骤778,处理单元可以类似地检查场景中的其他物体在当前时间t和以前时间的位置数据。在实施例中,经检查的物体可以是场景中的所有物体,或者仅为诸如人之类的被标识为移动物体的那些物体。在另外的实施例中,经检查的物体可以限于所计算出的在时间t+X毫秒时处于用户的最终FOV内的那些物体。在步骤776和778所检查的时间段的数目可以是两个或更多不同的时间段。在步骤782,可以在步骤776和778将平滑函数应用于经检查的数据,同时忽略噪声或异常的数据点。使用步骤776、778和782,处理单元可以外插出用户手和场景中的其他物体在时间t+未来X毫秒时的位置。在一个实例中,用户可以在其眼睛之前移动其手。通过利用来自头戴式显示设备2和/或中枢12的数据跟踪该移动,处理单元可以预测在图像将在时间t+X毫秒时显示时用户手的位置,并且用户FOV中的在该时间被用户的手遮挡的任何虚拟物体都被合适地显示。作为另一实例,虚拟物体可以被标记到场景中的另一用户的轮廓上。通过利用来自中枢12和/或头戴式显示设备2的数据跟踪该经标记的用户的移动,处理单元可以预测在图像将在时间t+X毫秒时显示时该经标记用户的位置,并且相关联的虚拟物体可以合适地显示在用户轮廓的周围。构思有其他实例,其中FOV数据和物体位置数据到未来情况的外插将允许在每帧将虚拟物体合适地显示在用户的FOV内而没有等待时间。再次参考图9,使用物体在时间t+X毫秒的外插位置,处理单元4可以接着在步骤644确定用户的预测FOV中的遮挡和阴影。具体而言,屏幕映射具有场景中的包括移动和非移动物体以及虚拟物体在内的所有物体的x、y和z位置。在得知用户的位置及其到FOV中的物体的视线的情况下,处理单元104然后可以确定虚拟物体是部分地还是完全地遮挡用户对现实世界物体的视图。附加地,处理单元104可以确定现实世界物体是部分地还是完全地遮挡用户对虚拟物体的视图。遮挡是用户特有的。虚拟物体可以在第一用户、而不是第二用户的视图中挡住或被挡住。因此,遮挡确定可以在每个用户的处理单元104中执行。然而,能够理解,遮挡确定可以附加地或可替代地由中枢112来执行。在步骤646,使用预测的最终FOV和预测的物体位置和遮挡,处理单元4的GPU322可以接着渲染将在时间t+X毫秒时被显示给用户的图像。部分渲染操作可能已经在渲染设置步骤638中执行并被周期性地更新。现在参照图16和16A的流程图描述渲染步骤646的进一步细节。在图16的步骤790,处理单元104访问环境的模型。在步骤792,处理单元104确定用户相对于该环境模型的视点(pointfoview)。也就是说,该系统确定用户正在查看该环境或空间的哪个部分。在一个实施例中,步骤792是使用上述中枢计算设备12、处理单元4和头戴式显示设备2的协作工作。在一个实施例中,处理单元104将尝试将多个虚拟物体添加到场景中。在其他实施例中,单元104可以仅仅尝试将一个虚拟物体插入到该场景中。针对虚拟物体,该系统具有将该虚拟物体插入到该处的目标。在一个实施例中,该目标可以是现实世界物体,使得该虚拟物体将被标记到该现实物体的视图上并且扩展现实世界的视图。在其他环境中,虚拟物体的目标可以是相对于现实世界物体而言的。在步骤794,该系统在z缓冲区中从头戴式显示设备2的用户的视点来渲染以前所创建的三维环境模型,而不将任何色彩信息渲染到相应色彩缓冲区中。这有效地让所渲染的环境图像是全黑的,但是不存储环境中的物体的z(深度)数据。步骤794导致为每个像素(或者为像素的子集)存储深度数据。在步骤798,将虚拟内容(例如与虚拟物体相对应的虚拟图像)渲染到同一z缓冲区中,并且将虚拟内容的色彩信息写入到相应的色彩缓冲区中。这有效地允许在考虑到现实世界物体或者其他虚拟物体遮挡虚拟物体的全部或一部分的情况下将虚拟图像绘制在头戴微显示器120上。在步骤800,把被绘制到移动物体之上或标记到移动物体的虚拟物体模糊化为恰好足以提供运动的外观。在步骤802,该系统标识出微显示器120的显示虚拟图像的像素。在步骤806,为微显示器120的像素确定阿尔法值。在传统的色度键控系统中,阿尔法值以逐像素为基础用于标识出图像如何不透明。在一些应用中,阿尔法值可以是二进制的(例如开和关)。在其他应用中,阿尔法值可以是具有范围的数。在一个示例中,在步骤802中所标识出的每个像素都将具有第一阿尔法值,并且所有其他像素都将具有第二阿尔法值。在步骤810,基于阿尔法值来确定不透明度滤光器的像素。在一个示例中,不透明度滤光器与微显示器120具有相同的分辨率,并且因此不透明度滤光器可以使用阿尔法值来控制。在另一实施例中,不透明度滤光器与微显示器120具有不同的分辨率,并且因此用于暗化或不暗化不透明度滤光器的数据将通过使用任何用于在分辨率之间转换的各种数学算法而从阿尔法值中导出。还可以使用用于基于阿尔法值(或其他数据)为不透明度滤光器导出控制数据的其他手段。在步骤812,将z缓冲区和色彩缓冲区中的图像、以及阿尔法值和不透明度滤光器的控制数据调整为考虑到光源(虚拟或现实)和阴影(虚拟或现实)。下面参照图16A提供步骤812的更多细节。图16的过程允许在显示器上自动地将虚拟图像显示在静止或移动物体上(或相对于静止或移动物体而言),该显示器允许通过该显示器对空间的至少一部分的实际直接查看。图16A是描述了用于考虑到光源和阴影的过程的一个实施例的流程图,该过程是图16的步骤812的示例性实施方式。在步骤820,处理单元4标识出需要考虑到的一个或多个光源。例如,当绘制虚拟图像时,可能需要考虑到现实光源。如果该系统将虚拟光源添加到用户的视图,则也可以在头戴式显示设备2中考虑到该虚拟光源的效果。在步骤822,标识出被光源照明的模型的部分(包括虚拟物体)。在步骤824,将描绘该照明的图像添加到上述色彩缓冲区。在步骤828,处理单元4标识出需要被头戴式显示设备2添加的一个或多个阴影区域。例如,如果虚拟物体被添加到阴影的区域中,则在绘制虚拟物体时需要通过在步骤830调整色彩缓冲区来考虑到该阴影。如果虚拟阴影将被添加到不存在虚拟物体之处,则不透明度滤光器114的与该虚拟阴影的位置相对应的像素在步骤834被暗化。在步骤650,处理单元检查是否到了该将所渲染的图像发送给头戴式显示设备2的时间、或者是否还有时间使用来自中枢12和/或头戴式显示设备2的更加新的位置反馈数据来进一步细化外插预测。在使用60赫兹帧刷新率的系统中,单帧大约为16毫秒。在实施例中,帧可以在该帧经过一半时被发送给头戴式显示设备2以供显示。因此,在X=8毫秒(或更少)时,处理单元将在步骤650将所渲染的图像发送给头戴式显示设备2。具体而言,将基于z缓冲区和色彩缓冲区(其在上面参照图16和16A予以了描述)的复合图像发送给微显示器120。也就是说,将要在合适像素处显示的虚拟图像发送给微显示器120,其中考虑到视角和遮挡。在此时,还将不透明度滤光器的控制数据从处理单元4传送给头戴式显示设备2以控制不透明度滤光器114。然后,头戴式显示设备将在步骤658向用户显示该图像。如果处理单元已经正确地预测了FOV和物体位置,则预期出现在用户所查看之处的任何虚拟物体都在帧结束时被显示在其合适位置处并具有合适的遮挡。另一方面,当在步骤650还没到发送要显示的图像数据帧的时间时,处理单元可以为了更多经更新数据而循环回以进一步细化最终FOV的预测以及FOV中的物体的最终位置的预测。具体而言,如果在步骤650还有时间,则处理单元4可以返回到步骤608以从中枢12获取更加新的传感器数据,并且可以返回到步骤656以从头戴式显示设备2获取更加新的传感器数据。每次成功地经过步骤632至650的循环,所执行的外插使用到未来的更小的时间段。随着外插数据的时间段变得越小(X减小),最终FOV和物体位置在t+X毫秒时的外插变得更加可预测和精确的。上面仅以示例的方式描述了处理步骤630至652。能够理解,这些步骤中的一个或多个可以在另外的实施例中被省略,这些步骤可以以不同的顺序来执行,或者可以添加附加的步骤。此外,图9中的处理单元步骤的流程图示出了来自中枢12和头戴式显示设备2的所有数据都在单个步骤632循环地提供给处理单元4。然而,能够理解,处理单元4可以在不同时间异步地从中枢12和头戴式显示设备2的不同传感器接收数据更新。头戴式显示设备2提供来自相机112的图像数据和来自IMU132的惯性数据。来自这些传感器的数据的采样可以以不同速率进行并且可以在不同时间被发送给处理单元4。类似地,来自中枢2的经处理数据可以在某个时间并且以与来自相机112和MU132二者的数据不同的周期被发送给处理单元4。一般而言,处理单元4可以在一帧期间异步地多次从中枢12和头戴式显示设备2接收经更新的数据。在处理单元循环经过其步骤时,该处理单元在外插FOV和物体位置的最终预测时使用其已接收的最新数据。图17是通过用户2的头戴式显示设备2(未示出)看见的FOV840的图示。FOV840包括现实世界物体的实际直接视图,所述现实世界物体包括另一用户18和椅子842。FOV840还包括虚拟图像844和846的显示。虚拟图像846被示为在攀爬椅子842。由于椅子处于虚拟图像846的下半部之前,因此该椅子如上所述遮挡虚拟图像846的下半部。用户18还被示为佩戴头戴式显示设备2。因此,用户18还将看见相同的虚拟图像844和846,但是这些虚拟图像针对从其视线来看的视差和遮挡作了调整。例如,随着用户18更接近于虚拟图像844、842,它们可能在其FOV中看上去更大。虚拟图像108还可以具有不同的遮挡。图18是通过用户的头戴式显示设备2(未示出)看见的FOV840的另一图示。FOV840包括对另一用户18、以及标记到用户18上的部分地画出用户轮廓的虚拟图像的实际直接视图。随着用户移动(向左、向右、转动、弯曲等等),虚拟图像将继续部分地画出用户18的轮廓。图19和20示出了本系统的另一实施例。在上述实施例中,例如在图9的步骤632,给定用户的处理单元4外插出了最终FOV在显示时间t+X毫秒时的位置。然后,在步骤646渲染了外插FOV的任何虚拟物体。在图19的实施例中,替代于仅仅外插出最终的预测F0V,处理单元(或中枢12)添加围绕FOV840的边界854以提供扩充的FOV858。边界854的大小可以因实施例而异,但是可以大得足以涵盖由于用户在接下来的预定长度的时间段(例如帧的一半)内向任何方向转动其头所得到的可能的新F0V。在图19的实施例中,如在上述步骤640中那样外插出FOV内的任何虚拟物体的位置。然而,在该实施例中,在外插中考虑到经扩充FOV858内的所有虚拟物体。因此,在图19中,处理单元4将除了预测FOV840中的虚拟物体862以外还在经扩充的FOV858中外插出虚拟物体860的位置。在接下来的时间段中,如果用户例如向左转动其头,则FOV840将向左偏移(从而导致所有虚拟物体的位置相对于新FOV840向右移动)。在图20中示出了该场景。在该实施例中,替代于必须重新渲染新FOV840中的所有物体,可以将图19中所示的上一FOV840中的所有物体像素偏移一个在新F0V840位置中所确定的距离变化。因此,虚拟物体860可以显示在其经向右偏移的合适的位置处而不必重新渲染它们。所需的唯一渲染是针对经扩充的F0V858的新近包括在新FOV840中的任何区域的。因此,处理单元104将渲染虚拟图像862。其位置将是已知的,因为其被包括在来自上一时间段的经扩充的FOV858中。使用图19和20中所述的实施例,可以通过仅需渲染图像的片段以及重新使用来自上一时间段的图像的其余部分来快速生成对用户FOV的经更新的显示。因此,经更新的图像数据可以被发送给头戴式显示设备2以在某帧期间、例如帧经过一半时进行显示,从而有效地使帧刷新率倍增。如上所述,图像数据可以每帧被重新采样和重新渲染一次。尽管用结构特征和/或方法动作专用的语言描述了本主题,但可以理解,所附权利要求书中定义的主题不必限于上述具体特征或动作。更确切而言,上述具体特征和动作是作为实现权利要求的示例形式公开的。本发明的范围由所附的权利要求进行定义。权利要求1.一种用于向一个或多个用户(18)呈现混合现实体验的系统(10),该系统包括用于所述一个或多个用户的一个或多个显示设备(2),每个显示设备都包括用于感测与该显示设备的位置相关的数据的第一组传感器(132)、以及用于将虚拟图像显示给该显示设备的用户的显示单元(120);一个或多个处理单元(4),每个都与所述一个或多个显示设备中的显示设备(2)相关联,并且每个都从相关联的显示设备(2)接收传感器数据;以及中枢计算系统(12),该中枢计算系统(12)可操作地耦合到所述一个或多个处理单元(4)中的每个,该中枢计算系统(12)包括第二组传感器(20),该中枢计算系统和所述一个或多个处理单元协作地基于来自第一和第二组传感器(132,20)的数据确定该系统(10)所用于的环境的三维映射。2.如权利要求I所述的系统,其特征在于,该中枢计算系统和所述一个或多个处理单元协作地实时确定该环境的三维映射。3.如权利要求I所述的系统,其特征在于,该中枢计算系统提供该环境中的一个或多个用户的计算机模型,并且所述一个或多个处理单元提供显示设备的位置。4.如权利要求3所述的系统,其特征在于,用户的模型和显示设备的位置使得能够由所述中枢计算系统和所述一个或多个处理单元中的第一处理单元中的至少之一确定与所述第一处理单元相关联的显示设备的视野。5.如权利要求I所述的系统,其特征在于,所述中枢计算系统和所述一个或多个处理单元中的第一处理单元之一确定虚拟三维物体在与所述第一处理单元相关联的显示设备的视野中的位置。6.如权利要求5所述的系统,其特征在于,所述中枢计算系统和第一处理单元之一还确定从与所述第一处理单元相关联的显示设备第一视角来看,该虚拟三维物体是否被该环境的三维映射中的现实世界物体遮挡、或者该虚拟三维物体是否遮挡该环境的映射中的现实世界物体。7.一种用于向一个或多个用户(18)呈现混合现实体验的系统(10),该系统包括第一头戴式显示设备(2),包括相机(112),该相机(112)用于获得第一头戴式显示设备(2)所用于的环境的图像数据;惯性传感器(132),该惯性传感器(132)用于提供所述第一头戴式显示器(2)的惯性测量结果;以及显示设备(120),该显示设备(120)用于向所述第一头戴式显示设备(2)的用户(18)显示虚拟图像;以及与所述第一头戴式显示器(2)相关联的第一处理单元(4),该第一处理单元(4)用于确定所述第一头戴式显示设备(2)所用于的环境的三维映射、以及所述第一头戴式显示设备(2)查看该三维映射的视野。8.如权利要求7所述的系统,其特征在于,处理单元使用来自过去和/或现在的状态信息来外插出所述第一头戴式显示单元在未来时间的估计状态以便向所述第一头戴式显示设备的用户呈现所渲染的图像数据帧。9.如权利要求8所述的系统,其特征在于,该状态信息涉及用户、现实世界物体和虚拟物体在该环境的三维映射中的位置,并且涉及该用户对该环境的三维映射的视野。10.一种用于向一个或多个用户呈现混合现实体验的方法,该方法包括(a)确定针对至少两个时间段的状态信息(步骤610,612,614,618),所述状态信息与用户(18)对环境的视野相关,该环境包括一个或多个现实世界物体(842)和一个或多个虚拟物体(844,846)的混和现实;(b)外插出(步骤640)与所述用户(18)对该环境的视野相关的针对第三时间段的状态信息,所述第三时间段是在混合现实的所述一个或多个虚拟物体(844,846)将被显示给所述用户(18)的未来时刻的时间;以及(c)在所述第三时间段时基于与该用户在所述步骤(b)中外插出的视野相关的信息将所述一个或多个虚拟物体中的至少一个虚拟物体显示(步骤658)给该用户。全文摘要本发明涉及虚拟内容和现实内容的低等待时间的融合。描述了一种包括头戴式显示设备和连接到该头戴式显示设备的处理单元的系统,该系统用于将虚拟内容融合到现实内容中。在一个实施例中,该处理单元与中枢计算设备通信。处理单元和中枢可以协作地确定混合现实环境的映射。另外,可以外插状态数据以为用户预测在混和现实将被显示给该用户的未来时刻的用户视野。该外插可以从该系统中除去等待时间。文档编号G06F3/01GK102591449SQ20111035499公开日2012年7月18日申请日期2011年10月26日优先权日2010年10月27日发明者A·巴-泽埃夫,H·辛格,J·A·古森斯,J·塔迪夫,M·S·格罗斯曼申请人:微软公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1