用于头戴式、增强现实显示器的逼真遮挡的制作方法

文档序号:6501601阅读:271来源:国知局
用于头戴式、增强现实显示器的逼真遮挡的制作方法
【专利摘要】本发明涉及用于头戴式、增强现实显示器的逼真遮挡。描述了用于提供头戴式、增强现实显示系统所显示的虚拟对象和用户的眼睛透过该显示器可见的现实对象间的逼真遮挡的技术。该显示器的用户视野中的空间遮挡通常是基于现实和虚拟对象的三维空间映射来确定的三维遮挡。可以按基于诸如视野内的距离、显示大小或相对于注视点的位置之类的准则来确定的细节层次来将现实对象和虚拟对象间的遮挡界面进行建模。还描述了用于提供基于用户环境中的现实对象和虚拟对象间的遮挡的三维音频遮挡的技术。
【专利说明】用于头戴式、增强现实显示器的逼真遮挡
【技术领域】
[0001]本发明涉及使头戴式、增强现实显示设备系统显示逼真遮挡的技术。
【背景技术】
[0002]增强现实,也称为混合现实,是一种允许将虚拟图像与用户对现实世界的视图混合的技术。除了使虚拟对象的物理属性(例如,形状、颜色、大小、纹理)在显示器中变得逼真之外,还期望逼真地显示这些虚拟对象相对于现实对象的位置和移动。例如,期望在头戴式显示设备所提供的用户视野中,虚拟对象就像现实对象那样被阻挡而不能被看到以及阻挡另一对象(现实的或虚拟的)而使之不能被看到。

【发明内容】

[0003]在此描述的技术提供头戴式、增强现实显示设备系统的逼真遮挡。尤其对于虚拟和现实对象,空间遮挡关系标识用户视野中被(部分地或全部地)遮挡而看不到的对象的至少一个或多个部分。现实对象或虚拟对象可以是遮挡对象或被遮挡对象。遮挡对象至少部分地挡住被遮挡对象而使之不能被看到。在部分遮挡的情况下,在遮挡对象和被遮挡对象间存在至少一个部分遮挡界面。在空间关系中,部分遮挡界面是遮挡对象的遮挡部分的边界与被遮挡对象的未被遮挡(例如,未被阻挡)部分相邻处的交集。例如,图7B中的虚线708,710和712各自是虚拟海豚7022和现实树7162间的部分遮挡界面的示例。
[0004]除了部分遮挡界面之外,也可为适应(conforming)遮挡界面生成根据细节层次的模型,在该适应遮挡界面中,虚拟对象的边界数据的至少一部分与现实对象的边界数据的至少一部分相适应。适应遮挡可以是全部遮挡或部分遮挡。
[0005]为了在逼真显示遮挡与更新显示设备的视野中的总体动作之间进行平衡,表示遮挡界面的模型(例如,几何模型)的细节层次是基于诸如距显示设备的深度距离、显示大小和与注视点的邻近度之类的一个或多个准则来确定的。基于遮挡对象的物理属性,一些实施例还包括对被遮挡对象(现实的或虚拟的)的逼真的、三维音频遮挡。
[0006]该技术提供用于使头戴式增强现实显示设备系统显示现实对象和虚拟对象间的逼真遮挡的方法的一个或多个实施例。基于将遮挡对象和被遮挡对象(包括现实对象和虚拟对象)的三维(3D)空间位置在至少显示设备系统的用户视野的3D映射中进行重叠来确定在这些对象间存在空间遮挡关系。响应于将空间遮挡关系标识为现实对象和虚拟对象间的部分空间遮挡,检索该部分遮挡中的遮挡对象的遮挡部分的对象边界数据。基于细节层次准则来确定表示部分遮挡界面的模型的细节层次。显示设备系统,单独地或在其他计算机的帮助下,基于检索到的对象边界数据根据所确定的细节层次来生成部分遮挡界面的模型。虚拟对象的与现实对象的未被遮挡部分相邻近的边界数据的经修改版本是基于该模型来生成的,并且所生成的邻近边界数据具有基于该模型的形状。显示设备根据该虚拟对象的边界数据的经修改版本来显示该虚拟对象的未被遮挡部分。
[0007]该技术提供一种用于提供逼真的遮挡的透视、增强现实显示设备系统的一个或多个实施例。透视、增强现实显示设备系统包括透视、增强现实显示器,该显示器具有用户视野并由该透视、增强现实显示设备的支撑结构来支撑。用于捕捉用户视野中的现实对象的图像数据和深度数据的至少一个相机也由该支撑结构来支撑。一个或多个软件控制的处理器通信地耦合到至少一个相机以用于接收包括用户视野的图像和深度数据。一个或多个软件控制的处理器基于图像和深度数据来确定遮挡对象和被遮挡对象间的空间遮挡关系。遮挡对象和被遮挡对象包括虚拟对象和现实对象。一个或多个软件控制的处理器通信地耦合到透视、增强现实显示器,且一个或多个处理器通过修改对虚拟对象的显示来使得透视显示器将空间遮挡关系表示在该显示器中。在一些实施例中,一个或多个处理器通过基于细节层次准则来确定用于生成现实对象和虚拟对象间的遮挡界面的模型的细节层次来使得透视显示器将空间遮挡关系表示在该显示器中。可以基于所生成的模型来为虚拟对象生成对象边界数据的经修改版本,并且透视、增强现实显示器可以基于该虚拟对象的对象边界数据的经修改版本来显示该虚拟对象。
[0008]该技术提供具有其上编码有指令的一个或多个处理器可读存储设备的一个或多个实施例,所述指令使得一个或多个处理器执行一种用于使头戴式、增强现实显示设备系统提供现实对象和虚拟对象间的逼真视听遮挡的方法。该方法包括在头戴式增强现实显示设备的环境中基于该环境的三维映射来确定虚拟对象和现实对象间的空间遮挡关系。确定在虚拟对象和现实对象间是否存在音频遮挡关系,并且如果存在,则基于与遮挡对象相关联的一个或多个物理属性来修改被遮挡对象的音频数据。使得显示设备的一个或多个耳机输出经修改的音频数据。
[0009]提供本
【发明内容】
以便以简化形式介绍将在以下【具体实施方式】中进一步描述的一些概念。本
【发明内容】
不旨在标识出所要求保护的主题的关键特征或必要特征,也不旨在用于帮助确定所要求保护的主题的范围。
【专利附图】

【附图说明】
[0010]图1A是描绘透视、增强现实显示设备系统的一个实施例的示例组件的框图。
[0011]图1B是描绘透视、增强现实显示设备系统的另一实施例的示例组件的框图。
[0012]图2A是在被具体化为提供对硬件和软件组件的支持的眼镜的透明、增强现实显示设备的实施例中的框架的镜腿的侧视图。
[0013]图2B是透视、近眼、增强显示设备的显示光学系统的实施例的俯视图。
[0014]图2C是可用于实现网络可访问的计算系统的一个实施例的框图。
[0015]图3A是从软件角度来看用于使头戴式、增强现实显示设备系统提供现实对象和虚拟对象间的逼真遮挡的系统的框图。
[0016]图3B示出参考对象数据集的示例。
[0017]图3C示出了对象物理属性数据集中的数据字段的一些示例。
[0018]图4A示出了导致虚拟对象被现实对象音频遮挡的空间遮挡的示例。
[0019]图4B示出了导致现实对象被虚拟对象音频遮挡的空间遮挡的示例。
[0020]图5A是用于使头戴式、增强现实显示设备系统显示现实对象和虚拟对象间的逼真部分遮挡的方法的一实施例的流程图。
[0021]图5B是用于基于虚拟对象和现实对象的3D空间位置来确定在头戴式、增强现实显示设备的用户视野中这些对象间的空间遮挡关系的一实现示例的流程图。
[0022]图5C是用于使头戴式、增强现实显示设备系统显示被适应虚拟对象遮挡的现实对象间的逼真的适应遮挡界面的方法的一实施例的流程图。
[0023]图6A是用于基于包括遮挡界面的深度位置在内的细节层次准则来确定用于表示遮挡界面的细节层次的实现示例的流程图。
[0024]图6B是用于基于包括遮挡界面的显示大小在内的细节层次准则来确定用于表示遮挡界面的细节层次的实现示例的流程图。
[0025]图6C是用于基于细节层次准则和注视优先级值来确定用于表示遮挡界面的细节层次的实现示例的流程图。
[0026]图6D是用于将界面的速度用作基础来确定细节层次的实现示例的流程图。
[0027]图7A示出了使用预先定义的界限几何形状的边界的至少一部分的细节层次的示例。
[0028]图7B示出了使用利用第一精度准则的几何结构拟合的细节层次的示例。
[0029]图7C示出了使用利用指示较高建模细节层次的第二精度准则的几何结构拟合的细节层次的示例。
[0030]图7D示出了将界限体用作至少现实对象的边界数据的细节层次的示例。
[0031]图8A示出了被建模成图7A中的虚拟对象的三角形腿的部分遮挡界面的示例。
[0032]图SB示出了通过利用用于图7B中的虚拟对象的第一精度准则的几何结构拟合来建模的部分遮挡界面的示例。
[0033]图8C是图7A、7B、7C及8A和8B中的未经修改的虚拟对象(海豚)的参考图像。
[0034]图9A示出了与适应虚拟对象配准的现实个人的示例。
[0035]图9B示出了用虚拟对象的第一精度准则以第一细节层次来建模的适应遮挡界面的示例。
[0036]图9C示出了用虚拟对象的第二精度准则以第二细节层次来建模的适应遮挡界面的示例。
[0037]图10示出了显示遮挡现实对象和虚拟对象间的阴影效果的示例。
[0038]图11是描述了用于在头戴式增强现实显示设备的用户视野中显示一个或多个虚拟对象的过程的一实施例的流程图。
[0039]图12是描述了用于考虑阴影的过程的一实施例的流程图。
[0040]图13A是用于使头戴式、增强现实显示设备系统提供现实对象和虚拟对象间的逼真视听遮挡的方法的一实施例的流程图。
[0041]图13B是用于基于与遮挡对象的一个或多个物理属性相关联的一个或多个声音遮挡模型来确定虚拟对象和现实对象间的音频遮挡关系是否存在的实现过程示例的流程图。
【具体实施方式】
[0042]描述了用于由透视、增强现实显示设备系统来提供现实对象和虚拟对象间的逼真遮挡的各个实施例。一个或多个相机捕捉显示设备系统的显示器的视野中的图像数据,该视野此后被称为用户视野,因为当透过该显示设备进行查看时该视野近似用户的视野。基于捕捉到的图像数据来标识该用户视野中现实对象和虚拟对象间的空间遮挡关系。至少包括该用户视野的3D对象空间位置的3D模型可基于对图像数据的立体视觉处理或基于来自一个或多个深度传感器的深度数据及图像数据来映射。3D空间是对象所占据的空间体。
[0043]取决于捕捉到的精度,3D空间可以与对象的3D形状相匹配,或者作为与对象周围的界限形状类似的较不精确的空间体。界限形状的一些示例是界限盒、界限球体、界限圆柱体、界限椭圆或通常略大于该对象的复杂多边形。如在这些示例中,界限体可以具有预定义几何体的形状。在其他示例中,界限体形状并不是预定义形状。例如,空间体可以遵循对象的各检测到的边。在以下进一步讨论的一些实施例中,界限体可用作遮挡体。3D空间位置表示该体或3D空间的边界的位置坐标。换言之,3D空间位置标识对象占据多大空间以及该被占据的空间处于用户视野中的何处。
[0044]在空间遮挡关系中,一个对象部分地或全部地阻挡视野中的另一对象。在图7A、7B和7C的说明性示例中,现实松树部分地遮挡虚拟海豚。在虚拟对象被现实对象完全阻挡或遮挡的情况下,不呈现该虚拟对象可以表示其在显示器上的遮挡。类似地,根据一正在执行的应用,现实对象可以被虚拟对象全部地或部分地阻挡。虚拟对象可以被显示为在现实对象的全部或部分前面的该虚拟对象的全部或部分的显示元素,例如显示器的像素。在其他示例中,可将虚拟对象的大小设为完全覆盖现实对象。
[0045]然而,在一些实例中,虚拟对象将被显示以使其形状适合放在现实对象的至少一部分之上。由于遮挡虚拟对象的形状依赖于它遮挡掉的(意味着阻挡而使之不能被看到的)现实对象的至少一部分的形状,因此存在适应遮挡界面。如下所述,适应遮挡界面也被建模来形成用于生成对虚拟对象的显示所基于的虚拟对象边界数据的经修改版本的基础。在部分遮挡的情况下,存在部分遮挡界面,该部分遮挡界面是遮挡对象的遮挡部分的对象边界与被遮挡对象的未被遮挡部分交汇或相邻处的交集。对于现实对象和虚拟对象间的部分遮挡或全部遮挡,任一类型的对象都可以是遮挡对象或被遮挡对象。
[0046]对于透视显示器,无论虚拟对象在遮挡中是被遮挡对象还是遮挡对象,该虚拟对象的未被遮挡部分的图像数据都被修改来表示该遮挡,因为现实对象实际上是透过显示器来看到的。所显示的图像数据可以是如视频之类的移动图像数据和静止图像数据。对于视频观看显示器,现实世界的图像数据和虚拟图像都被显示给用户,使得该用户实际上不正看着现实世界。如果需要的话,以下所讨论的方法和过程的相同实施例也可适用于视频观看显示器。此外,可以对现实对象的图像数据以及基于Z深度测试的虚拟图像数据执行Z缓冲。在视频观看显示器的情况下,对象(无论它是现实的还是虚拟的)的被遮挡部分的图像数据不被显示,而遮挡对象(无论它是现实的还是虚拟的)的图像数据被显示。
[0047]虚拟对象看上去有多逼真与使用了多少显示图元(例如,三角形、线条、多边形等)来表示它有关。显示图元越多并且这些图元越复杂,则图形流水线花费来呈现它们的计算时间越多。基于遮挡界面的如深度位置、显示大小和与用户正看着的对象的邻近度之类的实时因素,可以确定用于表示或建模遮挡界面的合适细节层次以改进计算效率,同时提供对遮挡界面的逼真显示。还公开了包括虚拟对象或现实对象的基于在用户的环境中检测到的空间遮挡的音频遮挡的一些实施例。
[0048]图1A是描绘透视、增强或混合现实显示设备系统的一实施例的示例组件的框图。系统8包括作为在此示例中通过线6或者在其他示例中无线地与处理单元4进行通信的近目艮、头戴式显示设备2的透视显示设备。在该实施例中,头戴式显示设备2是带框115眼镜的形状,该框架115具有针对每只眼睛的显示光学系统14,其中图像数据被投影到用户的眼睛中以生成图像数据的显示,同时用户还透过显示光学系统14观看以获得现实世界的实际直接视图。每个显示光学系统14也被称为透视显示器,并且两个显示光学系统14 一起也可以被称为透视显示器。
[0049]使用术语“实际直接视图”来指直接用人眼看到现实世界对象,而非看到所创建的对象的图像表示的能力。例如,透过眼镜看房间将允许用户得到该房间的实际直接视图,而在电视机上查看房间的视频不是该房间的实际直接视图。框架115提供用于将该系统的各元件保持在原位的支撑结构以及用于电连接的管道。在该实施例中,框架115提供了便利的眼镜架作为下面进一步讨论的系统的各元件的支撑体。近眼支承体结构的一些其他示例是护目镜框架或护眼镜支承体。框架115包括鼻梁部分104,该鼻梁部分104具有用于记录声音并向控制电路136传送音频数据的话筒110。框架的侧臂或镜腿102抵靠在用户的每个耳朵上,并且在该示例中,镜腿102被示为包括用于显示设备2的控制电路136。
[0050]如图2A和2B中所示,在该实施例中在每个镜腿102上还包括图像生成单元120。而且,在本视图中没有示出但在图2A和图2B中示出了面向外的相机113,所述相机113用于记录数字图像和视频并将视觉记录传送到控制电路136,控制电路136可进而将所捕捉的图像数据发送到处理单元4,处理单元4还可通过网络50将该数据发送到一个或多个计算机系统12。
[0051]处理单元4可以采取各种实施例。在一些实施例中,处理单元4是可佩戴在用户的身体(例如腰)上的单独单元,或者可以是诸如移动设备(例如,智能电话)等单独设备。处理单元4可通过通信网络50与一个或多个计算系统12有线地或无线地通信(例如,WiF1、蓝牙、红外、RFID传输、无线通用串行总线(WUSB)、蜂窝、3G、4G或其它无线通信装置),无论位于附近还是位于远程位置。在其他实施例中,处理单元4的功能可被集成在图1B的显示设备2的软件和硬件组件中。图2C中示出了处理单元4的硬件组件的示例。
[0052]可以充分利用一个或多个远程的、网络可访问的计算机系统12来作为处理能力和远程数据访问。图2C中示出了计算系统12的各硬件组件的示例。应用可以在计算机系统12上执行,其与在透视、增强现实显示系统8中的一个或多个处理器上执行的应用进行交互或为其执行处理。例如,3D映射应用可以在所述一个或多个计算机系统12和用户的显示设备系统8上执行。在一些实施例中,应用实例可以以主机和客户机角色来执行,其中客户机副本在显示设备系统8上执行并且该客户机副本执行其用户视野的3D映射;以视图独立的格式从计算机系统12接收该3D映射的更新;从主机3D映射应用接收在其视图中的对象的更新;以及将图像数据、以及深度和对象标识数据(如果可用的话)发送回主机副本。另外,在一些实施例中,在相同环境中的不同显示设备系统8上执行的3D映射应用要么在各设备间的对等配置中实时地共享数据更新(例如,现实对象的对象标识和如遮挡体之类的遮挡数据),要么与一个或多个网络可访问的计算系统中执行的3D映射应用实时地共享这些数据更新。
[0053]可以相对于该环境的公共坐标系来引用在一些示例中所共享的数据。在其他示例中,一个头戴式现实(HMD)设备可以从另一个HMD设备接收数据,包括图像数据或从图像数据导出的数据、发送HMD的位置数据(例如给出相对位置的GPS或IR数据)、及定向数据。在HMD间共享的数据的示例是深度图数据,该深度图数据包括由其面向前的相机113捕捉到的图像数据和深度数据以及深度图中各现实对象的遮挡体。现实对象可能仍是未被标识的,或者已被HMD设备上执行的软件或者支持计算机系统(例如,12或另一显示设备系统8)识别到。在没有使用公共坐标系的情况下,第二 HMD可以基于发送HMD的位置和定向数据来在该第二 HMD的用户角度映射接收到深度图中的各对象的位置。在接收方HMD设备的视野的深度图数据和发送HMD设备的视野的深度图数据两者中都标识到的任何公共对象也可用于进行映射。
[0054]环境的一个示例是用户所在的现实场所的360度可视部分。用户可能仅在看其环境中作为其视野的子集。例如,房间是一环境。个人可能在家里,并且在厨房正看着冰箱的顶架。冰箱的顶架处于他的视野之内,厨房是他的环境,但是他楼上的房间并不是他当前环境的一部分,因为墙壁和天花板阻挡了他查看楼上的房间。当然,当他移动时,他的环境改变了。环境的一些其他示例可以是球场、街道场所、商店的一部分、咖啡店的顾客部分等。场所可以包括多个环境,例如家可以是一个场所。用户及其朋友可能正佩戴着他们的显示设备系统玩游戏,这在家里的任何地方发生。随着每一玩家在家中到处移动,其环境改变了。类似地,围绕若干街区的周界可以是场所,并且在不同的十字路口进入视图时,不同的交叉路口提供不同的环境来查看。
[0055]在图1A和图1B的说明性实施例中,计算机系统12和显示设备系统8还具有对3D图像捕捉设备20的网络访问。捕捉设备20可以是例如相机,该相机在视觉上监视一个或多个用户和周围空间,从而可以捕捉、分析并跟踪该一个或多个用户所执行的姿势和/或移动以及包括表面和对象的周围空间的结构。这些信息可用于例如更新虚拟对象的显示部分、向用户显示基于场所的信息以及用于标识姿势以向正在执行的应用(例如,游戏应用)指示一个或多个控制或动作。
[0056]捕捉设备20可以是深度相机。根据一示例性实施方式,每个捕捉设备20都可以被配置有RGB和IR组件以通过包括例如飞行时间、结构化光、立体图像等在内的任何合适的技术来捕捉包括深度信息的视频,该深度信息包括深度图像,该深度图像可包括深度值。根据一实施例,捕捉设备20可将深度信息组织为“Z层”(即可与从深度相机沿其视线延伸的Z轴垂直的层)。深度图像可包括所捕捉的视野的二维(2-D)像素区域,其中2-D像素区域中的每个像素都可以(例如以厘米、毫米等等为单位)表示来自相机的所捕捉的视野中的对象的长度。
[0057]图1B是描绘可通过通信网络50与其他设备通信的透视、增强或混合现实显示设备系统8的另一个实施例的示例组件的框图。在此实施例中,显示设备2的控制电路136合并了处理单元在图1A中提供的功能,并经由无线收发机(参见图2A中的137)通过通信网络50与一个或多个计算机系统12无线地通信。
[0058]图2A是在被具体化为提供对硬件和软件组件的支持的眼镜的透视、增强现实显示设备2的实施例中的框架115的镜腿102的侧视图。面向物理环境的摄像机113位于框架115前方,该摄像机能够捕捉现实世界的视频和静止图像(一般是彩色的),以映射在透视显示器的视野中并因此在用户的视野中的现实对象。在一些示例中,相机113也可以是深度敏感相机,所述深度敏感相机传送并检测红外光,从该红外光可确定深度数据。在其他示例中,在框架115前面的单独深度传感器(未示出)也可以提供到视野中的对象和其他表面的深度数据。深度数据和图像数据形成相机113的所捕捉到的视野中的深度图,所述捕捉设备被校准以包括用户视野。可以基于深度图来生成用户视野的三维(3D)映射。可以包括在头戴式显示设备2上的深度感测技术的一些示例为、但不限于SONAR、LIDAR、结构化光和/或飞行时间。
[0059]在一些实施例中,立体视觉代替或替换深度传感器用于确定深度信息。面向外的相机113提供重叠的图像数据,从所述图像数据中可以基于立体视觉确定图像数据中的各对象的深度信息。在捕捉到的图像数据中,对于例如超过深度传感器的深度分辨率的那些对象,视差和对比特征(诸如,颜色对比)可用于解析一个现实对象距另一对象的相对位置。
[0060]相机113还被称为面向外的相机,意思是从用户的头部面向外。所示的相机113是面向前的相机,其相对于其相应显不光学系统14的参考点被校准。这样的参考点的一个示例是其相应显示光学系统14的光轴(参见图2B中的142)。该校准允许从相机113所捕捉到的数据中确定现实光学系统14的视野(如上所述也称为用户视野)。
[0061]控制电路136提供支持头戴式显示设备2的其他组件的各种电子装置。在该示例中,右镜腿102r包括用于显示设备2的控制电路136,该控制电路包括处理单元210、处理单元210可访问的用于存储处理器可读指令和数据的存储器244、通信地耦合到处理单元210的无线接口 137、以及电源239,该电源为控制电路136的各组件以及显示器2的其他组件(如相机113、话筒110和下面讨论的传感器单元)提供电力。处理单元210可包括一个或多个处理器,尤其是在没有单独处理单元4的实施例中,该一个或多个处理器包括中央处理单元(CPU)和图形处理单元(GPU)。
[0062]一副耳机130中的一耳机130、惯性传感器132、一个或多个场所或邻近传感器144(其一些示例是GPS收发机、红外(IR)收发机、或用于处理RFID数据的射频收发机)位于镜腿102内部或安装到镜腿102。在一个实施例中,惯性传感器132包括三轴磁力计、三轴陀螺仪、以及三轴加速度计。惯性传感器用于感测头戴式显示设备2的位置、定向、以及突然加速。通过这些移动,头部位置并因此显示设备的定向也可被确定。在该实施例中,在其操作中处理模拟信号的每个设备都包括控制电路,该电路数字地与数字处理单元210和存储器244连接,并且为其相应设备产生或转换模拟信号或者产生和转换模拟信号二者。处理模拟信号的设备的一些示例是如上所述的传感器设备144、132和耳机130,以及话筒110、相机113、IR照明器134A和IR检测器或相机134B。
[0063]产生表示图像的可见光的图像源或图像生成单元120安装在镜腿102上或镜腿102内。图像生成单元120可以将虚拟对象显示为出现在视野中的指定深度场所处以提供对与一个或多个现实对象交互的虚拟对象的逼真、焦点对准的三维显示。在下面的申请中描述了可以以各种深度显示虚拟对象的图像生成单元120的实施例的一些示例,这些申请通过引用并入本申请:于2010年11月8日提交的具有美国专利申请号12/941,825和发明人 Avi Bar-Zeev 和 John Lewis “Automatic Variable Virtual Focus for AugmentedReality Displays (用于扩增现实显示器的自动可变虚拟焦点)”;以及于2010年11月18日提交的具有美国申请号12/949,650和发明人Avi Bar-Zeev和John Lewis的“AutomaticFocus Improvement for Augmented Reality Displays (用于扩增现实显不器的自动焦点改善)”。在这些示例中,由微显示器生成的图像的焦距通过如下方式来改变:调整诸如微显示器之类的图像源与诸如透镜之类的至少一个光学元件之间的位移;或者调整接收表示图像的光的光学元件的光功率。焦距的改变导致显示设备的视野中的、虚拟对象的图像看上去被显示在其中的区域的改变。在一个示例中,每个都包括虚拟对象的多个图像可以足够快的速率显示给用户,使得人类瞬时图像汇合使该图像在人眼看来为同时存在。在另一实施例中,显示在不同聚焦区处生成的虚拟图像的聚焦部分的复合图像。
[0064]在一个实施例中,图像生成单元120包括微显示器,其用于投影一个或多个虚拟对象的图像并且耦合诸如透镜系统之类的用于将图像从微显示器引导到反射表面或元件124的光学器件。微显示器可以以各种技术实现,包括投射投影技术、微有机发光二极管(OLED)技术、或反射技术,比如数字光处理(DLP)、硅基液晶(LC0S)、以及来自高通有限公司的MirasolK显示技术。反射表面124将光从微显示器120引导到光导光学元件112中,光导光学元件112将表示图像的光引导到用户的眼睛中。
[0065]图2B是包括显示光学系统14的透视、近眼、增强现实显示设备的一侧的实施例的俯视图。近眼显示设备2的框架115的一部分将围绕显示光学系统14以用于提供支撑和进行电连接。为了示出头戴式显示设备2中的显示光学系统14 (在该情况下是右眼系统14r)的各个组件,围绕显示光学系统的框架115的一部分未被描绘。
[0066]在所示实施例中,显示光学系统14是集成式眼睛跟踪和显示系统。系统实施例包括:用于增强虚拟图像的对比度的不透明度滤光器114,其在该示例中处于任选的透视透镜116之后并与其对齐;用于投影来自图像生成单元120的图像数据的光导光学元件112,它处于不透明度滤光器114之后并与其对齐;以及任选的透视透镜118,它处于光导光学元件112之后并与其对齐。
[0067]光导光学元件112将来自图像生成单元120的光传送到佩戴头戴式显示设备2的用户的眼睛140。光导光学元件112还允许如表示显示光学系统14r的光轴的箭头142所描绘的那样将光从头戴式显示设备2的前方通过光导光学元件112传送到眼睛140,由此除了接收来自图像生成单元120的虚拟图像之外,还允许用户具有头戴式显示设备2的前方的空间的实际直接视图。因此,光导光学元件112的壁是透视的。光导光学元件112在该实施例中是平面波导,并且包括第一反射表面124 (例如,镜面或其他表面),该第一反射表面反射来自图像生成单元120的入射光,使得光被陷入在波导之内。代表性的反射元件126表示一个或多个光学元件,比如镜、光栅以及将表示图像的可见光从平面波导引导向用户眼睛140的其他光学元件。
[0068]红外照明和反射也穿越用于跟踪用户眼睛的位置的眼睛跟踪系统134的平面波导112,用户眼睛的位置可用于诸如注视检测、眨眼命令检测、以及收集指示用户的个人身体状态的生物学信息之类的应用。眼睛跟踪系统134包括眼睛跟踪IR照明源134A (红外发光二极管(LED))或者激光器(例如VCSEL)和眼睛跟踪IR传感器134B (例如IR相机、IR光电检测器的布置、或者用于跟踪闪光位置的IR位置敏感检测器(PSD))。在该实施例中,代表性的反射元件126还实现了双向红外(IR)滤光,其将IR照明优选地以光轴142为中心地引导向眼睛140并接收来自用户眼睛140的IR反射。在一些示例中,反射元件126可包括用于实现双向IR滤光的热镜或光栅。波长选择滤光器123让来自反射表面124的可见光谱光通过,并将来自眼睛跟踪照明源134A的红外波长照明引导到平面波导112中。波长选择滤光器125在朝向鼻梁架104的光路方向上传递可见光和红外照明。波长选择滤光器125将来自波导的包括用户眼睛140的红外反射、优选包括在光轴142周围捕捉的反射的红外辐射从波导112引导到IR传感器134B。
[0069]在其他实施例中,眼睛跟踪单元光学器件未与显示光学器件集成。关于HMD设备的眼睛跟踪系统的更多示例,参见于2008年7月22日颁发给Kranz等人的名称为“HeadMounted Eye Tracking and Display System (头戴式眼睛跟踪和显示系统)”的美国专利7,401,920 ;参见Lewis等人的于2011年8月30日提交的名称为“Gaze Detection in aSee-Through, Near-Eye, Mixed Reality Display (透视、近眼、混合扩增现实显示器中的注视检测)”的美国专利申请号13/245,739;以及参见Bohn的于2011年9月26日提交的名称为“Integrated Eye Tracking and Display System (集成眼睛跟踪和显示系统)”的美国专利申请号13/245,700,所有这些申请作为弓I入并入在此。
[0070]与光导光学元件112对齐的不透明度滤光器114选择性地阻挡自然光使其不穿过光导光学元件112以用于增强虚拟图像的对比度。当系统为增强现实显示器呈现场景时,该系统注意到哪些现实世界对象处于哪些虚拟对象之前,反之亦然。如果虚拟对象处于现实世界对象之前,则不透明度对于该虚拟对象的覆盖区域而言被开启。如果虚拟对象(虚拟地)处于现实世界对象之后,则不透明度以及该显示区域的任何颜色都被关闭,使得对于现实光的该相应区域而言,用户将会仅仅看到现实世界对象。不透明度滤光器帮助使虚拟对象的图像表现得更真实并且表示全范围的颜色和强度。在该实施例中,不透明度滤光器的电控制电路(未示出)通过路由经过框架的电连接从控制电路136接收指令。于2010年9月 21 日提交的美国专利申请号 12/887426, “Opacity Filter For See-Through MountedDisplay (用于透视安装显示器的不透明度滤光器)”中提供了不透明度滤光器的更多细节,该专利申请的全部内容通过弓I用并入本文。
[0071]再者,图2A和2B仅示出头戴式显示设备2的一半。完整的头戴式显示设备可包括另一组可选透视透镜116和118、另一不透明度滤光器114、另一光导光学元件112、另一图像生成单元120、面向物理环境的相机113 (也称为面向外或面向前的相机113)、眼睛跟踪组件134、以及耳机130。在通过引用全部包含于此的2010年10月15日提交的题为“Fusing Virtual Content Into Real Content (将虚拟内容融合到现实内容中)”的美国专利申请号12/905952中示出头戴式显示设备系统的附加细节。
[0072]图2C是计算系统的一个实施例的框图,该计算系统可用于实现一个或多个网络可访问的计算系统12或处理单元4,所述处理单元4可以主控计算环境54中的至少一些软件组件或者图3A中所描绘的其他元件。参考图2C,示例性系统包括计算设备,诸如计算设备200。在大多数基本配置中,计算设备200通常包括一个或多个处理单元202,包括一个或多个中央处理单元(CPU)和一个或多个图形处理单元(GPU)。计算设备200还包括存储器204。取决于计算设备的确切配置和类型,存储器204可以包括易失性存储器205 (如RAM)、非易失性存储器207 (如ROM、闪存等)或是两者的某种组合。该最基本配置在图2C中由虚线206来示出。另外,设备200还可具有附加特征/功能。例如,设备200还可包含附加存储(可移动和/或不可移动),包括但不限于磁盘、光盘或磁带。这样的额外存储在图2C中由可移动存储208和不可移动存储210示出。
[0073]设备200还可以包含允许该设备与其他设备通信的通信连接212,比如一个或多个网络接口和收发器。设备200还可以具有诸如键盘、鼠标、笔、语音输入设备、触摸输入设备等输入设备214。还可以包括诸如显示器、扬声器、打印机等输出设备216。所有这些设备在本领域是众知的并且不必在此详细讨论。
[0074]图3A是从软件角度来看用于使头戴式、增强现实显示设备系统提供现实对象和虚拟对象间的逼真遮挡的系统的框图。图3A示出了从软件角度来看的计算环境实施例54,该计算环境实施例可由诸如系统8等头戴式显示设备系统、与一个或多个显示设备系统通信的一个或多个远程计算系统12或其组合来实现。此外,显示设备系统可以与其他显示设备系统通信以共享数据和处理资源。网络连通性允许充分利用可用的计算资源。如图3A的实施例中所示,计算环境54的软件组件包括与操作系统190通信的图像和音频处理引擎191。图像和音频处理引擎191处理图像数据(例如,诸如视频等移动数据或静止数据)和音频数据以便支持供诸如透视、增强现实显示设备系统8之类的HMD设备系统执行的应用。图像和音频处理引擎191包括对象识别引擎192、姿势识别引擎193、虚拟数据引擎195、眼睛跟踪软件196(如果眼睛跟踪被使用的话)、遮挡引擎302、具有声音识别引擎194的3D位置音频引擎304以及场景映射引擎306,所有这些引擎彼此通信。
[0075]计算环境54还将数据存储在图像和音频数据缓冲器199中。该缓冲器提供:用于接收从朝向外的捕捉设备113处捕捉到的图像数据、由其他捕捉设备(如果可用的话)捕捉到的图像数据、来自眼睛跟踪组件134的眼睛跟踪相机(如果被使用的话)的图像数据的存储器;用于保持要由图像生成单元120显示的虚拟对象的图像数据的缓冲器;以及用于输入和输出音频数据二者的缓冲器,比如通过话筒110从用户捕捉到的声音、以及用于应用的来自3D音频引擎304的将通过耳机130被输出给用户的声音效果。
[0076]透视显示器的用户视野的3D映射可以由场景映射引擎306基于该用户视野的捕捉到的图像数据和深度数据来确定。深度图可以表示该捕捉到的图像数据和深度数据。视图无关的坐标系可用于该用户视野的映射,因为一对象是否遮挡了另一对象依赖于用户的视点。视图无关的坐标系的示例是x、y、z坐标系,其中z轴或深度轴垂直地或者作为法线从透视显示器的前面延伸。在一些示例中,深度图的表示用户视野的图像或深度数据从显示设备2前面的相机113处接收。
[0077]即使在现实对象被识别或标识之前,也可执行遮挡处理。在完成对象标识之前,对象识别引擎192可以在深度图中检测现实对象的边界并可分配界限体来作为现实对象周围的3D空间。界限体被标识给3D场景映射引擎306和遮挡引擎302。例如,对象识别弓I擎192可以在消息中将界限体标识给操作系统190,操作系统190将该消息广播给诸如场景映射引擎和遮挡引擎等其他引擎和注册了这些数据的应用。即使在执行对象识别之前,界限体也可用作用于进行遮挡处理的遮挡体。例如,快速移动对象可以引起遮挡,这些遮挡是基于遮挡体和深度图数据来处理的,即使该对象在其被识别到之前就移出了视图。遮挡体的边界可至少部分地用作用于生成遮挡界面的基础。场景映射引擎306可以基于深度图为用户视野中检测到的一个或多个现实对象分配3D空间位置。如下所述,当各对象被对象识别引擎192标识出时,在映射中这些对象的3D空间或体可被细化以更好地匹配现实对象的实际形状。通过虚拟数据引擎195或正在执行的应用,虚拟对象的3D空间位置可被确定为处于用户视野的3D映射内。遮挡引擎302也可基于细节层次准则来向虚拟对象分配遮挡体。
[0078]可以用传感器数据来帮助映射在用户的环境中围绕用户的事物。来自定向传感器132 (例如,三轴加速度计132C和三轴磁力计132A)的数据确定用户头部的位置改变,并且这些头部位置改变与来自面向前的相机113的图像和深度数据的改变的相关性可以标识各对像相对于彼此的位置。如上所述,当前或之前处于该环境中的另一 HMD设备的深度图数据以及用于该另一 HMD设备的位置和头部定向数据一起还可以用于映射什么处于该用户环境中。它们的深度图中的共享现实对象可以用于图像对齐和用于图像映射的其他技术。利用该位置以及定向数据,还可以预测什么对象正进入视图,使得遮挡和其他处理可以甚至在对象处于视图中以前开始。
[0079]场景映射引擎306还可以将视图无关的坐标系用于3D映射。还可以将该图以视图无关的坐标系存储在可被其他显示设备系统8、其他计算机系统12或二者访问的存储场所(例如324)处,从存储器中检索该图以及随着时间当一个或多个用户进入或重新进入该环境时更新该图。在一些示例中,在公共坐标系中配准图像和对象可以使用外在的校准过程来执行。图像(或者图像内的对象)在公共坐标系上的配准和对齐允许场景映射引擎能够比较现实世界对象、陆标或者从不同图像中提取的其他特征并将其集成到与现实世界环境相关联的统一 3D图中。
[0080]当用户进入环境时,场景映射引擎306可以首先搜索以查找标识出3D空间位置以及对象标识数据的预先生成的3D图,所述3D图被存储在本地或者可以从另一显示设备系统8或网络可访问计算机系统12处访问。该图可以包括静止对象。如果该图当前正被另一系统更新的话,则该图还可包括实时移动的对象以及当前的光照和阴影条件。另外,预先生成的图可以包括往往在特定时刻进入环境的对象的标识数据以加速识别处理。如下所述,预先生成的图还可以存储遮挡数据。预先生成的图可以存储在网络可访问的数据库中,比如图像和图数据库324。
[0081]环境可以由场所数据来标识。场所数据可用作用于在按场所索引的图像和预先生成的3D图数据库324中或者在因特网可访问图像326中进行搜索以寻找可用于生成图的与图或图像有关的数据的索引。例如来自显示设备2上的场所和邻近度传感器的GPS收发器144的GPS数据可以标识用户的场所。此外,与显示设备系统8具有连接的WiFi热点或蜂窝站的IP地址可以标识场所。在一场所内的已知位置处的相机可通过脸部识别来标识用户或其他人。此外,图和图更新或至少对象标识数据可以通过红外、蓝牙或WUSB在信号的范围允许时在某一场所中的各显示设备系统8之间进行交换。
[0082]可用于生成图的与图像有关的数据的示例是与任何匹配图像数据相关联的元数据,通过该元数据可以标识出对象及其在该场所的坐标系内的位置。例如,可以确定来自用户的显示设备系统8的朝向外的相机的图像数据中的一个或多个对象相对于该场所处一个或多个GPS跟踪的对象的相对位置,由此可以标识出现实和虚拟对象的其他相对位置。
[0083]如在对图1A和IB的讨论中描述的,用于映射环境的图像数据可以来自除用户的显示设备2上的那些相机113之外的相机。可以在一个或多个网络可访问计算机系统12的控制下从其他3D图像捕捉设备20处或者从该环境中的至少一个其他显示设备系统8处实时地接收来自多个视角的图像和深度数据。基于用于描述环境(例如,房间的x、y、z表示、商店空间或地理阻隔区域)的视图无关的坐标系来组合来自多个视角的深度图以用于创建空间体或3D映射。例如,如果场景映射引擎306从多个相机接收到深度图,则引擎306通过勾画出这些图像并使用深度数据来创建该环境的体积描述,以使这些图像相关并得到公共坐标系。
[0084]在一些示例中,3D映射(无论它是用户视野的深度图、环境的3D映射或视图无关的坐标系中的位置、还是其间的某些其他位置)可以被建模成环境的3D网格。网格可以包括在特定环境或某环境的区域内的各个特征和表面的详细几何表示。可以基于用户环境的捕捉到的图像数据和深度数据来生成表示包括如空间中的墙和地板等对象的对象表面的3D点云。随后可通过该点云来生成环境中的这些表面的3D网格。有关3D图的生成的更多信息可在名为“Three-Dimensional Environment Reconstruction (三维环境重构)”的美国专利申请13/017,690中找到,该申请通过整体引入并入本申请。
[0085]除了共享数据以进行场景映射外,在一些实施例中,场景映射可以是使用其他显示设备系统8、或在提供图像数据和深度数据的场所中的其他网络可访问图像捕捉设备(例如,20)、或其结合以及一个或多个网络可访问计算机系统12的协作工作,以帮助计算并共享图更新。(关于诸如系统8之类的HMD与对图像数据具有访问权的中枢计算机系统12之间的协作式场景映射的更多信息,参见具有美国专利申请号12/912,937和发明人AviBar-Zeev 的于 2010 年 10 月 27 日提交的 “Low-Latency Fusing of Virtual and RealContent (虚拟和现实内容的低等待时间融合)”,该申请通过弓I用并入本申请。)在一些实例中,网络可访问计算机系统12上的场景映射引擎306从环境中的多个透视、增强现实显示设备系统8处接收多个用户视野的图像数据,并基于其图像数据的捕捉时间来将这些数据进行相关,以便实时地跟踪该环境中的对象以及光照和阴影的改变。随后可将3D图更新发送给环境中的多个显示设备系统8。可根据预先生成准则来保存3D映射数据以供将来更快速的检索。这样的预先生成准则的一些示例包括静止对象、一天的时间和影响光照和阴影的环境条件。在其他实例中,显示设备系统8可以向环境中的其他显示设备系统8广播其图像数据或3D图更新,并同样从其他设备系统接收这样的更新。每一本地场景映射引擎306随后根据这些广播来更新其3D映射。
[0086]如上所述,场景映射引擎306 (尤其是在显示设备系统8上执行的场景映射引擎)可以基于由该设备上的相机112所捕捉到的图像数据和深度数据来映射用户视野。用户视野3D映射也可以被远程地确定或者使用远程和本地处理的结合来确定。场景映射引擎306(一般在一个或多个网络可访问计算机系统12上执行)也可以基于将来自从各显示设备系统8处接收到的各个深度图像的深度和图像数据与正在独立坐标系中更新的环境的3D映射结合来为多个显示设备系统8中的每一生成环境的相应子集的唯一用户视野的3D映射。
[0087]图像和音频处理引擎191的对象识别引擎192基于所捕捉的图像数据和深度数据(如果可用的话)或从立体视觉中确定的深度位置来检测、跟踪和标识出处于用户视野和用户的3D环境的对象。对象识别引擎192通过标记对象边界并且将对象边界与结构数据相比较来将现实对象彼此区分开。标记对象边界的一个示例是检测在所检测到的或导出的深度数据和图像数据内的边、连接这些边并与所存储的结构数据进行比较,以便找出处于概率准则内的匹配。如上所述,多边形网格也可用于表示对象的边界。可通过一个或多个通信网络50访问的结构数据200的一个或多个数据库可以包括关于对象的结构信息。如在其他图像处理应用中那样,人可以是一种类型的对象,所以结构数据的示例是所存储的人的骨架模型,可以参考该骨架模型来帮助识别身体部位。结构数据200可以包括关于一个或多个无生命对象的结构信息以便帮助识别所述一个或多个无生命对象,其示例是家具、体育设备、汽车等等。
[0088]结构数据200可以将结构信息作为图像数据来存储或者将图像数据用作模式识别和面部识别的参考。对象识别引擎192还可以基于来自诸如下列其他源的所存储的图像数据对对象的图像数据执行面部和模式识别:用户的用户简档数据197 ;中枢可访问的其他用户简档数据322 ;按场所索引的图像和3D图324以及因特网可访问图像326。来自图像和深度数据的运动捕捉数据还可以标识出对象的运动特性。
[0089]对象识别引擎192还可以对照对象的参考属性(比如其大小、形状和运动特性)来检查所检测到的对象的属性。对象的这样的参考属性集的示例是存储在参考对象数据集318中的参考对象数据集。
[0090]图3B示出了具有数据字段的一些示例的参考对象数据集318n的示例。对象识别引擎192可用的参考数据集318可以已经由应用开发者人工地在离线情况下预先确定或由模式识别软件预先确定,并被存储。另外,如果用户通过用显示设备系统8查看对象并向各数据字段输入数据来获得该对象的清单,则生成参考对象数据集。而且,可以创建和存储参考对象数据集以用于与共享许可中指示的其他用户共享。所述数据字段包括对象类型341,所述对象类型可以是还包括子字段的数据记录。针对对象类型341,其他数据字段提供如下数据记录:所述数据记录标识出该类型的对象可用的物理属性的类型。例如,这些其他数据记录标识出物理交互特征342、大小范围343、可用形状选择344、典型的材料类型345、可用颜色347、可用图案348、可用表面351、典型表面纹理346、每个可用表面351的几何定向350。
[0091]图3C示出了在为特定现实对象或特定虚拟对象存储的对象物理特定数据集320n中的数据字段的一些示例,包括基于捕捉到的该现实对象的数据检测到的或以其他方式确定的数据值,或由应用为该特定虚拟对象预先定义的或生成的数据。示例数据字段包括对象类型381和物理交互特征382,该物理交互特征是基于如本示例中为三维的大小383、本示例中也为3D的形状384、本示例中也为三维的结构399 (例如,骨架或无生命对象的结构)、边界数据400和材料类型385等其他物理属性确定的。例如,当在视野中现实对象更接近用户时,表示由于该对象更接近而可以检测到的更多细节的如数据点和边界等更多检测到的边界数据可被存储并还可形成该对象的运动数据395的基础。一些其他示例性数据字段包括图案386和颜色387以及表面388n。还可以存储该对象的3D的位置数据394。在本示例中,位置数据394包括跟踪移动经过某场所中的各位置的方向的运动数据395。
[0092]表面388N表示所标识出的每一表面的示例性数据集。该数据集包括一个或多个表面纹理390、表面N的几何定向393、表面形状389 (例如,平的、圆形的、弯曲的、不平坦的等)以及其他因素,如周围自由空间(3D)数据392、和光照396、阴影397、和从图像数据确定的相应表面的反射率398。周围自由空间(3D)392可以从表面N相对于现实环境中的一个或多个其他对象(现实的或虚拟的)的一个或多个表面的位置数据391确定。这些其他对象通常是最近邻对象。此外,总的说来,同一对象的各表面相对于彼此的位置可以是确定总体厚度和3D形状的基础。周围自由空间和位置数据可用于确定何时音频遮挡存在。
[0093]这些不同的属性被加权,并且分配了图像数据中的对象是否是某种对象类型的概率。现实对象物理属性数据集335可被存储在一个或多个网络可访问数据存储320中。
[0094]在对象识别引擎192检测到一个或多个对象后,如场景映射引擎306和遮挡引擎302等图像和音频处理引擎191中的其他引擎接收检测到的每一对象的标识和相应的位置和/或定向。这个对象数据也被报告给操作系统190,操作系统190将该对象数据传递给其他正在执行的应用,如其他上级应用166。
[0095]如上所述,各对象间是否存在遮挡依赖于查看者的视点。查看者从其视点观看到的事物是其视野。视点也被称为视角。在一些实施例中,佩戴显示设备的用户的视角(在此被称为用户视角)和从该视角来看的用户视野,可以由具有互相垂直的X、Y和Z轴的视图无关的坐标系来近似,其中Z轴表示距显示设备系统8前方或相对于显示设备系统前方的确定的一个或多个点(如用户的视网膜中央凹的近似位置)的深度位置。在一些示例中,为了实现快速处理,可以使用深度相机113的深度图坐标系来近似用户视野的视图无关的坐标系。遮挡引擎302基于用户视野的3D映射的视图无关的坐标系内的识别到的对象被对象识别引擎192和场景映射引擎306更新时的体位置数据来标识对象间(尤其是现实对象和虚拟对象间)的遮挡。
[0096]对象的3D空间位置是体位置数据,因为它表示该对象所占据的空间体以及该对象体在坐标系中的位置。遮挡引擎302为每一传入显示更新从用户视角比较用户视野中的各对象的3D空间位置。遮挡引擎302可以处理被场景映射引擎306注意到的当前处于视野中的对象以及预测要进入该视野的那些对象。遮挡可以由各3D空间位置的坐标中的重叠部分来标识。例如,虚拟对象和现实对象共享覆盖视图无关的X和Y坐标中的相同区域的区域,但具有不同的深度,例如一个对象在另一对象前面。在一个实现实例中,在3D空间位置中表示的3D对象边界数据作为对象边界数据的掩模被投影到图像缓冲器199的2d查看平面中以用于确定重叠边界。与边界数据相关联的深度数据随后被用于标识哪个边界属于遮挡对象,以及哪些边界数据属于被遮挡对象。
[0097]如上所述,在虚拟对象被现实对象完全遮挡的情况下,遮挡引擎可以通知虚拟数据引擎195 (参见下文)不显示该虚拟对象。在现实对象被虚拟对象完全遮挡情况下,虚拟对象或其部分的大小可以被确定为完全覆盖现实对象及其部分。然而,在部分遮挡的情况下,显示器被更新为示出虚拟对象的与现实对象有关的部分。在透视显示器的情况下,该显示器被更新为示出虚拟对象的部分,同时现实对象的部分仍可透过该显示设备2看到。遮挡引擎302标识遮挡对象的遮挡部分(也称为阻挡或重叠部分)的对象边界数据并将其存储在遮挡数据集中,以作为生成部分遮挡界面的基础。在空间遮挡中相同的一对虚拟和现实对象间可存在多于一个部分遮挡界面。对于每一个部分遮挡界面而言,处理可以被独立地执行。另外,虚拟对象可以使其形状与现实对象的至少一部分相适应。现实和虚拟对象两者的对象边界数据中处于适应部分的各部分也被存储在遮挡数据集中以供在表示或建模适应界面时使用。
[0098]再次,通过使用透视显示设备,用户实际上正在观看视野中存在的现实对象。无论哪个对象正在遮挡,都生成虚拟对象的经修改版本来表示该遮挡。对于任一类型的界面,虚拟对象的边界数据的经修改版本被遮挡引擎302生成。虚拟数据引擎195根据其经修改边界数据来显示虚拟对象的未被遮挡部分。将部分遮挡界面用作说明性示例,虚拟对象的边界数据(例如,多边形网格区域或边序列)被修改,使得其被遮挡部分现在具有邻近于现实对象的未被遮挡部分的边界,并且该新边界数据的形状与为部分遮挡界面生成的模型的形状类似。如上所述,视频观看设备可以利用相同方法和过程的各个实施例。
[0099]遮挡引擎302确定所生成的部分遮挡界面的模型的细节层次,以便将虚拟对象的未被遮挡部分显示在部分遮挡界面附近。该界面的模型与重叠部分的边界数据的细节越匹配,则该界面在显示器上将看上去越逼真。引擎302也可确定适应遮挡界面的细节层次。该细节层次定义参数以及哪些技术可用于影响得到的任一类型界面的模型的几何形状。不同遮挡细节层次的规则集311控制可以使用哪些几何建模技术,并且如基于检测到对象而确定的或者在对象的细节版本中存储的对象边界数据中的多少等精度准则将被合并在未经修改的模型以及平滑容限中。例如,对于与边序列相同的边界数据集,一个细节层次可导致所生成的该边序列的模型成为曲线,其与导致同一边序列的模型成为直线的另一细节层次相比,引入了更多未经修改的对象边界数据。细节层次的另一示例使用界限体或遮挡体作为对象边界数据,并使用深度图数据来跟踪该遮挡体,以实现较快速的遮挡处理,而不是等待对象识别。
[0100]细节层次准则是影响以下的因素:用户将由于人类知觉限制的近似或显示器分辨率而感知到多少细节。可作为遮挡细节层次准则310被表示在存储于存储器中的数据的细节层次准则的示例包括深度位置、显示大小、界面在用户视野中的速度以及距注视点的距离,并且将参考图6A-6D详细讨论这些准则和基于它们进行的确定。
[0101]遮挡引擎302所生成的或从另一系统(8或12)接收到的遮挡数据集308也被存储在存储器中。在一些实施例中,遮挡数据与虚拟对象和现实对象相关联,并且包括为该虚拟对象和现实对象间的至少一个遮挡界面按一个或多个细节层次生成的一个或多个模型。如上所述,所涉及的遮挡界面的未经修改的边界数据也被存储在遮挡数据集中。遮挡细节层次准则310和遮挡细节层次规则311也被存储以供遮挡引擎在确定如何建模部分遮挡界面或适应遮挡界面时使用。可以将遮挡数据与对象标识数据和位置数据一样与预先生成的图共享,或者将其作为对生成3D图有用的数据来共享。
[0102]可以首先为一个移动显示设备系统生成遮挡数据。当在后显示设备遇到相同遮挡时,它们可以下载所生成的不同细节层次的遮挡界面而不是重新生成它们。例如,对于基于处于一对象的深度距离范围内和用户视角角度范围内的细节层次,部分遮挡界面的之前生成模型可被重用。这种保存的遮挡数据对于环境中的如建筑物等静止现实对象尤其有用。然而,对于具有通过某场所的可感觉到的速度范围和路径的移动现实对象(例如,大街场景中基于调度的公共汽车)而言,保存的遮挡数据也可节约时间。无论对象是静止的还是可移动的,都可基于对象的对象类型381来确定移动速率。
[0103]除了检测用户视野中的空间遮挡之外,在用户的环境或场所中而不在该用户的视野中的其他遮挡也可由遮挡引擎302基于各对象相对于用户的3D空间位置来标识。在显示设备系统8或中枢12中执行的遮挡引擎302可以标识遮挡。虽然看不见,但是这种相对于用户的遮挡可以导致与被遮挡对象相关联的音频数据基于遮挡对象的物理属性而修改。
[0104]3D音频引擎304是接收输入音频数据并输出用于耳机130的音频数据的位置3D音频引擎。所接收的输入音频数据可以是虚拟对象的音频数据,或者可以是由现实对象生成的音频数据。由应用生成的虚拟对象的音频数据可被输出到耳机,以听起来好像来自虚拟对象投影在用户视野中的方向。在Flaks等人的于2010年10月13日提交的名称为“System and Method for High-Precision3-Dimensional Audio for Augmented Reality(用于扩增现实的高精度3D音频的系统和方法)”的美国专利申请号12/903,610中公开了可以与扩增现实系统一起使用的位置3D音频引擎的示例,该申请的内容通过引用并入本申请。输出音频数据可以来自声音库312。[0105]3D音频引擎的声音识别软件194标识出通过话筒110接收的来自现实世界的音频数据以用于通过语音命令以及环境和对象识别的应用控制。除了识别音频数据的内容(如语音命令或一首音乐)之外,3D音频引擎304还尝试识别哪个对象发出了该音频数据。基于声音库312,引擎304可以利用物理对象标识出声音,例如与某个品牌或型号的汽车相关联的喇叭声音。此外,存储在用户简档数据197或用户简档322中的语音数据文件还可以标识出与环境中映射的人对象相关联的讲话者。
[0106]除了上传它们的图像数据之外,某场所中的显示设备系统8和3D图像捕捉设备20还将它们捕捉到的音频数据上传到中枢计算系统12中。有时,这可以是用户的语音,但还可包括用户的环境中发出的声音。基于音质和用户附近的对象以及基于声音识别软件组件所使用的声音库的对象类型的标识,可以确定环境或场所中哪个对象发出了声音。此外,预先生成的某场所的3D图可以提供固定在该场所的对象的声音的音频索引或者什么有规律地进入和离开该场所,例如火车和公交车声音。对包括它们在多个显示设备系统8和中枢12间发出的声音的有关对象(现实和虚拟)的数据的共享便于标识出发出该声音的对象。因此,可以将基于声音库312或语音数据文件中的各匹配而标识出的各声音对象候选与所标识出的在环境和甚至场所中的对象进行比较以查找匹配。
[0107]—旦与输入音频数据相关联的现实或虚拟对象被遮挡引擎302标识为处于空间遮挡中,并且该空间遮挡导致该对象在听觉上被遮挡,则3D音频引擎304可以访问在听觉上被遮挡的对象的声音遮挡模型316,该模型提供用于修改作为耳机130的输出的声音数据来表示该遮挡的规则。
[0108]下面的方法附图提供了如何确定空间遮挡是否已经导致听觉遮挡的一些示例。例如,一个准则是被 遮挡对象的发声部分在空间遮挡中是否被阻挡。图4A和4B提供了由于空间遮挡的音频遮挡的示例。
[0109]图4A示出了导致虚拟对象被现实对象音频遮挡的空间遮挡的示例。图4A还示出了声音发出区域的遮挡。在由视线4011和4011所指示的用户视野中看到的用户的手404被标识为定位在该视野中的怪物402之上并与怪物402具有实际上相同的深度距离,因此根据人类手的声音阻尼特征将怪物402的音频消音。在另一示例中,遮挡对象和被遮挡对象间的用于如消音等声音效果的距离可以指示不存在任何明显的音频遮挡,或者是有关与音频数据相关联的如音量、音调和音高等事物的加权的因素。在这个视野中怪物403被用户的手臂405部分地遮挡,但是怪物403在手臂深度以及怪物402后面的若干英尺处。单个人体部位的声音吸收特征具有非常小的范围,因此对如在若干英尺之外的怪物403等被遮挡对象不存在任何听觉遮挡效果。
[0110]图4B示出了导致现实对象被虚拟对象音频遮挡的空间遮挡的示例。在这个示例中,虚拟砖墙410在用户Bob406和George408执行他们俩都在玩的探险类游戏时在相应头戴式显示设备2中出现,并且该虚拟砖墙410是George的动作触发而出现的。在这个示例中,为了提供逼真的体验,由于George408和Bob406之间的厚砖墙(例如,18英寸)的声音吸收特征(如果该砖墙是真实的话),他们都不能听见彼此。在图4B中,George所生成的音频数据(例如他的呼救)被阻挡,或者被从经由Bob的话筒接收到的以及被发送到Bob的耳机的音频中移除。同样,George的3D音频引擎修改在George的耳机处接收到的音频数据以将由Bob生成的音频数据移除。[0111]为了听见由正在执行的应用生成并被发送到3D音频引擎304的虚拟对象的音频,用户一般使用耳机以便听得更清楚。在现实对象的情况下,在话筒处接收到的现实对象的声音可以在被输出到用户的耳机之前被缓冲,使得用户体验到在用户使用耳机时应用于现实对象音频的音频遮挡效果。
[0112]包括对象的材料类型在内的对象属性用于确定其对音频数据的一个或多个效果。声音遮挡模型316可以包括用于表示3D音频引擎304可以实现的一个或多个效果的规则。例如,一种材料类型可以主要是声音吸收器,其中声波的幅度被阻尼,并且声能被转换成热能。吸收器有利于隔音。声音遮挡模型可以例如指示音频数据的幅度的阻尼系数以表示吸收效果。另一种材料类型可用于反射声波,使得入射角为撞击该材料的声波的预先定义百分比的反射角。回声和多普勒效应可以被3D音频引擎作为结果输出。第三种类型的材料用作在所有方向上反射入射声波的声音散射器。与具有这种材料类型的对象相关联的声音遮挡模型具有用于生成以随机方向离开3D音频引擎所实现的遮挡对象的大小和形状的音频数据的反射信号的规则。在声音特征的这些通用分类内,可存在如在声波反射时阻尼其幅度的共振吸收器之类的更特定的情况。诸如可用于与所有人工显示环境的交互式游戏的3D音频引擎具有用于修改声波以创建回声、多普勒效应以及吸收、发射和散射效果的技术。
[0113]在显示设备系统8的实施例中,面向外的相机113结合对象识别引擎192和姿势识别引擎193来实现自然用户界面(NUI)。眼睛跟踪软件196所标识的眨眼命令或注视持续数据也是物理动作用户输入的示例。语音命令也可对诸如姿势和眼睛注视等所识别的其他物理动作进行补充。
[0114]姿势识别引擎193可以标识出由用户执行的、指示给正在执行的应用的控制或命令的动作。该动作可以由用户的身体部位(例如手或手指)来执行,但是眼睛的眼睛眨眼序列也可以是姿势。在一个实施例中,姿势识别引擎193包括姿势过滤器的集合,每个姿势过滤器都包括关于可由骨架模型的至少一部分执行的姿势的信息。姿势识别引擎193将骨架模型和从所捕捉的图像数据中导出的与其相关联的移动桶姿势库中的姿势过滤器进行比较以标识出用户(其由骨架模型来表示)何时执行了一个或多个姿势。在一些示例中,在姿势训练会话期间将图像数据与用户的手或手指的图像模型进行匹配,而非进行骨架跟踪来识别姿势。
[0115]关于对象的检测和跟踪的更多信息可在2009年12月18日提交的名为“MotionDetection Using Depth Images(使用深度图像的运动检测)”的美国专利申请12/641,788,以及名为“Device for Identifying and Tracking Multiple Humans over Time (用于随时间标识和跟踪多个人类的设备)”的美国专利申请12/475,308中找到,这两个申请的全部内容通过引用并入本申请。关于姿势识别引擎193的更多信息可以在2009年4月13日提交的名为“Gesture Recognition System Architecture (姿势识别器系统架构)”的美国专利申请12/422,661中找到,该申请通过整体引用合并于此。关于识别姿势的更多信息参见于2009年2月23日提交的美国专利申请12/391,150 “Standard Gestures (标准姿势)”以及于2009年5月29日提交的美国专利申请12/474,655 “Gesture Tool (姿势工具)”,这两个申请的全部内容都通过引用并入本申请。
[0116]虚拟数据引擎195处理虚拟对象并且相对于一个或多个坐标系(例如以依赖于用户视野的坐标或者以视图无关的3D图坐标)来配准虚拟对象的3D空间位置和定向。虚拟数据引擎195为每个显示光学系统14在显示坐标方面确定虚拟对象或图像(例如,阴影)的图像数据的位置。此外,虚拟数据引擎195执行平移、旋转和放缩操作以按正确的大小和视角来显示虚拟对象。虚拟对象位置可以依赖于相应对象(其可以是真实的或虚拟的)的位置。虚拟数据引擎195可以就所处理的虚拟对象的空间位置更新场景映射引擎。
[0117]设备数据198可以包括:计算机系统8的唯一标识符、网络地址(例如IP地址)、型号、配置参数(诸如所安装的设备)、操作系统的标识、以及什么应用在该显示设备系统8中可用并正在该显示系统8中执行等等。尤其对于透视、增强现实显示设备系统8,该设备数据还可包括来自传感器的或从所述传感器(诸如定向传感器132、温度传感器138、话筒110、以及一个或多个场所和邻近收发机144)确定的数据。
[0118]出于说明目的,下面的方法实施例是在上述系统实施例的上下文中描述的。然而,该方法实施例不限于在上述系统实施例中操作,而是可以在其他系统实施例中实现。此外,该方法实施例被持续执行,并且对于当前用户视野,正被处理的现实和虚拟对象间可存在多个遮挡。例如,当佩戴头戴式、增强现实显示设备系统的用户至少移动她的头,且现实和虚拟对象也移动时,用户的视野与可观察到的遮挡一样持续改变。显示器一般具有显示或帧率,其更新得比人类眼睛可以感测到的更快,例如为每秒30帧。
[0119]图5A到5C示出了一些实施例,这些实施例可用于促使透视显示器或其他头戴式显示器通过修改虚拟对象的显示来在显示器中表示空间遮挡关系。
[0120]图5A是用于使头戴式、增强现实显示设备系统显示现实对象和虚拟对象间的逼真部分遮挡的方法的一实施例的流程图。遮挡引擎在步骤502基于现实对象和虚拟对象的从用户视角的3D空间位置来标识出它们间的部分空间遮挡,并在步骤506检索该部分遮挡中的遮挡对象的遮挡部分的对象边界数据。在步骤508,遮挡引擎302基于细节层次准则来确定用于表示部分遮挡界面的模型(例如,几何模型)的细节层次,并在步骤510,根据所确定的细节层次基于检索到的对象边界数据来生成部分遮挡界面的模型。在步骤512,遮挡引擎302基于该模型来生成虚拟对象的边界数据的经修改版本,以包括与现实对象的未被遮挡部分相邻的边界数据,该边界数据具有基于该部分遮挡界面的模型的形状。例如,相邻边界数据的形状与该模型的形状相同。虚拟引擎数据在步骤514使得图像生成单元根据虚拟对象的边界数据的经修改版本来显示该虚拟对象的未被遮挡部分。视频观看HMD设备可以修改图5A的实施例,使得步骤512和514可以相对于遮挡对象(其为现实的或虚拟的)执行,因为视频观看显示器不是透视显示器,而是显示可被操控的现实世界的图像数据以及虚拟对象的图像数据。在其他实施例中,透视显示器可以采用混合方法,并且可以修改现实对象的边界的至少一部分并根据经修改的边界部分来显示其图像数据。
[0121]图5B是用于基于虚拟对象和现实对象的3D空间位置数据来确定在头戴式、增强现实显示设备的用户视野中这些对象间的空间遮挡关系的一实现示例的流程图。在步骤522,遮挡引擎302从用户视角标识出在用户视野的3D映射中现实对象的3D空间位置与虚拟对象的3D空间位置的重叠。遮挡引擎302在步骤524基于虚拟对象和现实对象在该重叠中的相应部分的深度数据来为该重叠标识出哪个对象是被遮挡对象以及哪个对象是遮挡对象。在步骤526,遮挡引擎302基于现实和虚拟对象的3D空间位置的、按照3D映射的非深度轴的位置坐标来确定该遮挡是全部的还是部分的。
[0122]在全部遮挡的情况下,哪种类型的对象被遮挡影响遮挡处理。例如,遮挡引擎302可以通知虚拟数据引擎195不要显示完全被现实对象遮挡的虚拟对象。在虚拟对象完全遮挡现实对象并且虚拟对象的形状不依赖于现实对象的形状的情况下,遮挡引擎302不为这个遮挡修改虚拟对象的边界。
[0123]在一些遮挡(无论是部分的还是全部的)中,虚拟对象遮挡现实对象的至少一部分,并使其形状与现实对象的形状相适应。例如,当场景映射引擎306或较高级应用166标识出用户处于其他显示设备系统8的视野中时,用户可能已经在其用户简档322中将针对要被显示为与他适应的其化身的设置指示给了这些其他显示设备系统8。其他查看者从他们相应的视角看到化身而非他,并且该化身模仿他的移动。
[0124]图5C是用于使头戴式、增强现实显示设备系统显示被适应虚拟对象遮挡的现实对象间的逼真的适应遮挡界面的方法的一实施例的流程图。在步骤532,响应于重叠是其中虚拟对象的至少一部分与现实对象的边界数据的至少一部分相适应的遮挡,遮挡引擎302检索对象边界数据以得到遮挡虚拟对象的该至少一部分和被遮挡现实对象的该至少一部分。在步骤534,基于细节层次准则和所检索到的现实和虚拟对象的对象边界数据来为虚拟对象的边界数据的遮挡版本确定细节层次。在步骤536,遮挡引擎302基于所确定的细节层次生成虚拟对象的边界数据的至少一部分的遮挡界面模型,并在步骤537,基于遮挡界面模型生成虚拟对象的边界数据的经修改版本。在步骤538,虚拟数据引擎195根据虚拟对象的边界数据的经修改版本来显示该虚拟对象。
[0125]图6A、6B、6C和6D描述了用于基于不同类型的细节层次准则(包括深度、显示大小、界面在用户视野中的速度以及与注视点的位置关系)来选择显示遮挡界面的细节层次的方法步骤的示例。
[0126]图6A是用于基于包括遮挡界面的深度位置在内的细节层次准则来确定用于表示部分遮挡界面或适应遮挡界面的细节层次的实现示例的流程图。遮挡引擎302在步骤542跟踪遮挡界面在用户视野中的深度位置,并在步骤544基于在视野中的深度位置来选择细节层次。跟踪深度位置包括监视每一对象的深度位置的改变或每一对象处于遮挡中的各部分的改变,以便告知该界面在哪里,并预测在将来的参考时间它将在哪里。在深度相机可用的情况下,场景映射引擎基于来自深度传感器或深度相机的读数来更新位置值。另外,作为深度数据的替换或补充,场景映射引擎可以根据基于各图像元素(例如,像素)在从面向前的相机113中单独捕捉到的同一对象的图像数据中的位置而确定的视差来标识深度改变。
[0127]视差示出当从到对象的至少两行不同的视线查看对象时该对象的位置的明显差异,并且是依据这两行间的角度来测量的。较接近的对象比相隔较远的对象具有更大的视差。例如,当沿着具有树的马路行驶时,随着他的车接近该树,用户的眼睛所检测到的对该树的视差增加了。然而,没有检测到对空中的月亮的视差,因为即使用户正相对于月亮移动,月亮还是离得很远。视差的增加或减小可以指示对象的深度位置改变。此外,视差的改变可以指示参看角度的改变。
[0128]细节层次可以如同在连续细节层次中那样递增,或者可存在与集合中的每一离散细节层次相关联的相应距离范围。两个离散细节层次间的交集距离可被标识为供虚拟数据引擎应用细节层次转变技术的区域,以避免随着对遮挡界面的建模变得更详细而出现“弹出”效果。这些技术的一些示例是阿尔法混合或几何变形。
[0129]如上所述,所选的细节层次标识将多么精确地将遮挡界面建模得看上去如同空间遮挡关系中的虚拟对象是现实对象那样自然或逼真。细节层次可包括遮挡界面的几何模型的细节层次。可为几何模型选择的细节层次的一个示例是将预先定义的界限几何形状(如圆形、正方形、矩形或三角形)的边界的至少一部分用作遮挡界面的模型或表示的规则。在较高细节层次的示例中,几何结构拟合(诸如,直线或曲线拟合)可用于拟合表示遮挡界面的数据集中的对象边界数据点,且精度准则的示例包括平滑准则及为要被包括在得到的曲线、直线或其他经拟合几何形状、或者通过拟合产生的几何结构中的遮挡所存储的对象边界数据的百分比。
[0130]细节层次的另一示例是在该遮挡中影响至少该现实对象的边界数据点的细节的一个细节层次。在该遮挡中的至少现实对象的边界数据是界限体或遮挡体。应用可能正在显示虚拟对象,并且这些虚拟对象正快速移动,或者佩戴HMD的用户正快速移动,因此遮挡正迅速地出现。较少细节的界限形状通过利用人类在注意到快速移动的对象的细节方面的知觉限制来促进较快速的处理。例如,树的边界数据可被表示为圆柱体。椭圆可以围绕视野中的用户。适应遮挡界面可被建模成现实对象的界限体的至少一部分。对于部分遮挡,将界限体用作边界数据将简化界面。在步骤506中,如果树是遮挡对象,则检索到的遮挡部分的对象边界数据是圆柱体的一部分。在图5C的用于适应界面处理的步骤534中,针对该树检索到圆柱体边界数据,而非较详细和逼真版本的边界数据。在一些实施例中,还可以通过可以进一步简化界面的界限体来表示虚拟对象。
[0131]在这样的细节层次处,可以基于诸如可从面向前的相机113处捕捉到的深度图数据来处理遮挡,因为可以在细化边界和现实对象标识之前分配界限体。
[0132]用于细节层次的规则可管控的显示方面的另一示例是在遮挡界面处交汇的现实对象和虚拟对象之间的相应间隙容限。几何表示与对象边界数据越不拟合,产生一个或多个间隙的可能性越大。例如,当用户的现实手指遮挡虚拟球的部分时,虚拟球处于各手指间的各部分可被呈现,以防止距表示用户的手指的对象边界数据的短距离产生小间隙。该间隙后面的现实世界或另一虚拟对象将是可见的。与这些虚拟球部分在显示器中与现实手指重叠相比,在部分遮挡界面处的小间隙更不会使人类眼睛分心。在图7A和图8A中,三角形模型导致间隙,因为海豚被显示为左右侧分别邻近于三角形侧704和706。
[0133]在一些实施例中,细节层次可以被包括在其中允许虚拟对象在不对遮挡进行校正的情况下被呈现的集合中。可允许这一点的准则包括部分遮挡界面的显示大小小于显示元素(例如,图片元素或像素),即显示器的分辨率。也影响细节层次的另一因素是从原始图像数据确定的边或数据点的数目。在其他实施例中,非常详细的细节层次可指示将检测到的边用作部分遮挡界面的模型,以表示导致非常详细的显示的界面。
[0134]将所显示的遮挡的真实性对照更新显示器以表示虚拟对象的运动和更新用户环境的3D映射时的效率来进行平衡。其他细节层次准则可以包括表示将完成对遮挡的显示的时间的效率因素。可基于显示设备系统8和一个或多个网络可访问计算机系统12以及使得其额外处理能力可用的其他显示设备系统8的各协作处理器之间的各个处理单元(包括图形处理单元)的可用处理时间的状态消息来确定对该因素的顺从。如果处理资源不可用,则比深度位置可以保证的细节层次更小、更不逼真的细节层次可被选择。
[0135]然而,中枢计算机系统或另一显示设备系统8可能已经生成并存储了表示部分遮挡界面或适应遮挡界面的模型,以及用于呈现处于某细节层次的、相同现实对象和虚拟对象的遮挡界面的图像数据。尤其对于与静止现实对象的遮挡,遮挡数据集可以存储所生成的处于特定细节层次的部分遮挡界面或适应遮挡界面的模型,并且中枢计算机系统12可以检索所存储的模型并通过网络将其发送至显示设备系统8,该显示设备系统在其视野中在适合该细节层次的深度位置处具有相同的遮挡。显示设备系统8可以针对其视角来平移、旋转和放缩遮挡数据。中枢计算系统12还可以从另一显示设备系统检索遮挡界面的图像数据并按需针对显示设备系统8的视角执行放缩、旋转或平移,并将经修改的图像数据发送到显示设备系统8,该经修改的图像数据处于准备好被图像生成单元120来处理的格式。对遮挡和图像数据的共享还可以使更详细的细节层次符合处理效率准则。
[0136]光照和阴影影响细节可见性。例如,在特定深度位置处,与在晚上或在被另一现实或虚拟对象投射的阴影中相比,在明亮的白天现实对象的更多细节可以是可见的。在多云的阴雨天,呈现用于明亮的白天的处于某细节层次的、虚拟对象与现实对象的遮挡界面可能在计算上是低效的。回到图6A,在步骤546,遮挡引擎302可选地基于由场景映射软件为照明级别、阴影程度以及反射率所分配的值来确定遮挡界面的3D空间位置的照明值,并在步骤548,可选地基于照明值并考虑深度位置来修改所选的细节层次。
[0137]图6B是用于基于包括遮挡界面的显示大小在内的细节层次准则来确定用于表示遮挡界面的细节层次的实现示例的流程图。在步骤552,遮挡引擎302跟踪遮挡界面的深度位置,并在步骤554例如基于虚拟和现实对象在该遮挡界面处的各部分的相应的关联对象物理属性数据集320n来标识出这些部分的物理属性,包括对象大小和形状。
[0138]虚拟对象在遮挡界面处的那部分的显示大小可以在步骤556由虚拟数据引擎195响应于遮挡引擎302的请求通过以下方式确定:基于深度位置、所标识出的这些对象的各部分的物理属性(包括对象大小和形状)以及坐标变换来计算显示大小,以标识出在显示器上有多少显示元素(例如,显示器上的像素或子像素)将表示遮挡界面的图像。例如,如果显示大小明显小于显示器的像素分辨率,则指示不进行任何遮挡处理的细节层次可被选择,因为该遮挡将不是可见的,或者几乎根本无法调整计算成本。在步骤558,遮挡引擎302选择对应于所确定的显示大小的细节层次。
[0139]图6C是用于基于细节层次准则并基于注视优先级值来确定用于表示遮挡界面的细节层次的实现示例的流程图。在步骤562,眼睛跟踪软件196标识出用户视野中的注视点。例如,注视点可以通过以下方式来确定:检测用户的各眼睛的瞳孔位置,基于眼球模型将各视线从用户的大致视网膜位置中的每一个位置处延伸,以及在3D映射的用户视野中标识出这些视线的交点。交点是注视点,它可以是视野中的对象。坐标系中的注视点可以被存储在其他软件可以访问的存储器位置中,以供其他软件处理。遮挡引擎302在步骤564基于每一遮挡界面距注视点的相应位置为每一遮挡界面分配优先级值,并在步骤566,基于细节层次准则和该优先级值来选择用于生成部分遮挡界面或适应遮挡界面的模型的细节层次。在一些示例中,优先级值可以基于距注视点的距离准则。在其他示例中,定位在Panum的融合区域(即人类双眼视力的单视区)中的遮挡界面可以比定位在Panum的融合区域之前的那些区域接收更大的优先级值。
[0140]图6D是用于通过将界面的速度用作基础来确定细节层次的实现示例的流程图。遮挡引擎302在步骤572基于该遮挡的各对象的速度来确定遮挡界面的速度。遮挡可以是基于其速度的预测到的或将来的遮挡。在步骤574,遮挡引擎302将速度用作选择细节层次的基础。与注视和深度距离以及显示大小相同,速度也可以是确定用于处理遮挡的细节层次时考虑的多个因素之一。速度越高,遮挡处理的细节越少,并且如果事物移动的太快则没有遮挡可被选择成层次。
[0141]诸如以上各示例的一些几何结构拟合技术被应用来利用调整拟合的紧密度的精度准则来将直线、曲线或预先定义的几何形状的边界的至少一部分拟合到该边界。在图7A和8A示出了通过将三角形的各侧用作部分遮挡界面704和706的模型来使用预先定义的几何形状的边界的至少一部分的示例。图7B和SB示出了作为利用第一精度准则的几何结构拟合形式的直线拟合的示例,而图7C示出了利用具有更大精度的第二精度准则的直线拟合。图8C是图7A、7B、7C及8A和8B中的虚拟对象(即,海豚)的未经修改的参考图像。
[0142]图7A示出了使用预先定义的界限几何形状的边界的至少一部分的细节层次的示例。图8A示出了被建模成图7A中的虚拟对象的三角形腿的部分遮挡界面的示例。例如,图7A中的松树716i不是三角形,但具有包括三角形类特性的边界。参考图8C,在图7A中,包括鳍的中央部分被松树遮挡。在这个示例中,由于虚拟对象和松树的深度,存在被建模成三角形的各侧的两个部分遮挡界面。由于距树的距离,对于本示例中的这个细节层次,在现实树枝的末端和虚拟海豚侧的开始之间准许较大的间隙容限。
[0143]随着用户移动得距树更近,通过自然视力,用户将看见更多细节。此外,图像和深度传感器还可以更精确地确定深度。现在,考虑现实对象(即松树)的更多形状。图7B示出了使用利用第一精度准则的几何结构拟合的细节层次的示例。在图7B中,可以使用利用平滑准则的直线拟合算法。例如,平滑准则可以指示经拟合的几何结构可以距最初检测到的边界数据(例如,点和边)多远的最大值,或者多边形的复杂级别(例如,三角形相对于四面体)可以被用于在识别到对象后表示从存储位置检索到的对象部分的多边形网格版本。往下的第三、第四和第五层树枝将距离经拟合的直线太远,以至于无法将它们的形状表示在部分遮挡界面708、710和712的几何结构中。图8B示出了得到的部分遮挡界面708、710和712,其包括各树枝层间的空间的锯齿。
[0144]图7C示出了使用利用指示较高的经建模细节层次的第二精度准则的几何结构拟合的细节层次的示例。在针对图7C的距离处,如曲线或直线拟合等几何结构拟合算法可用于对树的检测到更多细节的边界数据进行建模,该边界数据现在包括具有松针的树枝,这些松针可被透视,从而使的更多细节被表示在部分遮挡界面中。在该示例中,当海豚在松树周围游泳时,用户视野被标识为指示用户正透过该树的某部分7163中的树枝注视着海豚鳍。在这个示例中,几何结构拟合算法可能具有来自捕捉到的图像和深度数据的更多边界数据来处理,并且精度准则指示偏离该边界数据的较低容限。当用户朝着该树移动并且虚拟海豚7023不断游泳时,部分遮挡界面也不断变化。在该当前视野的时刻,树枝在海豚的前面。多个代表部分遮挡界面被注意到。部分遮挡界面724N代表在树枝之间的树的树干和海豚间的界面。界面721,代表松针间的树枝部分的遮挡界面。界面720N代表用户视角中在海豚前面的树枝上的松针部分的遮挡界面。
[0145]图7D示出了将界限体用作至少一现实对象的边界数据的细节层次的示例。在这个示例中,人(即,Bob406)正被透过诸如在这个示例中可由GeOrge408佩戴的透视显示设备2观看。如由这个显示帧中的注视线7311和73 Ir所指示的,George正注视着虚拟怪物732。怪物732和733正快速地在房间里四处跳动,因此遮挡引擎302通过不同的显示帧使用预先定义的形状的界限体(在本示例中为椭圆形)来在怪物不断四处跳动时基于深度图数据跟踪Bob。Bob406被认为是现实对象,虽然他可能还未被对象识别引擎192标识为人。遮挡引擎302使用椭圆形来对相对于怪物的遮挡界面进行建模。怪物732被剪辑以在椭圆形边界处显示,而不是Bob的右手臂被剪。怪物733类似地也被剪掉或者没有显示被椭圆形遮挡的那部分。由于遮挡的因为怪物在房间里四处跳动的速度,根据细节层次准则可以呈现更少细节的遮挡界面。
[0146]图9A示出了与适应虚拟对象配准的现实个人的示例。用户视野中的个人(此处为Sam)正穿着T恤衫804。Sam的身体在其中间部分向外凸出,并且其T恤衫上由806丨和8062表示的这些凸出部分明显为近距离的。Sam在一个事件处,在该事件处,某人可以被看见正佩戴着指示他所加入的大学的虚拟毛衣。Sam的虚拟毛衣902与Sam的身体相适应,就如同服装通常应该的那样。图9B示出了利用虚拟对象的第一精度准则以第一细节层次来建模的适应遮挡界面的示例。佩戴着她的透视、增强现实显示设备系统8的另一用户使得Sam在小于7英尺远的她的视野中直接面向她。图9B和9C中的虚线指示遮挡虚拟毛衣902的适应和部分遮挡界面和Sam的现实对象部分,如其T恤衫804、手臂、肩膀和裤子等。遮挡界面910是适应界面,因此毛衣的虚拟肩膀所占据的体或3D空间的位置基于与Sam的现实肩膀的形状和大小相适应。毛衣的衣襟^S1和9082具有与Sam的T恤衫804和裤子间具有部分遮挡界面。衣襟的部分^ei和9062基于Sam的包括凸出部分SOei和8062的中间部分形状来得到它们的形状。因此,中间衣襟部分906i和9062并非平整而是遵循凸出部分的轮廓。图9C示出了用虚拟对象的第二精度准则以第二细节层次来建模的适应遮挡界面的示例。在这个当前视野中,佩戴者看见Sam再次处于其视野中央,但在距离的至少两倍远处。基于该距离,虚拟衣襟部分906i和9062的边界数据未被显示,而是被用于Sam的毛衣902上的平滑衣襟QOS1和9082的平滑且较不详细的曲线所代替。
[0147] 遮挡可以导致阴影,并且阴影效果也会对遮挡看上去有多逼真产生影响。图10示出了显示遮挡现实和虚拟对象间的阴影效果的示例。虚拟对象的阴影可被显示在现实对象上,而虚拟对象可在其上出现有现实对象的阴影的情况下被显示。如在如上所述的名称为“Fusing Virtual Content Into Real Content (将虚拟内容融合到现实内容中)”的美国专利申请序列号12/905952中所讨论的,阴影区域可以用显示坐标来标识,并且显示光学系统14前面的不透明度滤光器114可为这些显示坐标调整入射光,以在某些实施例中表现为较暗以便给出阴影效果。使用传统的实时阴影生成技术也可将阴影的图像数据显示为出现在虚拟或现实对象上。现实对象的阴影的位置可以由图像处理中使用的传统阴影检测技术来确定。基于光照检测技术和阴影检测技术,场景映射引擎306可以确定虚拟对象所投射的阴影的位置以及该虚拟对象是否将被显示为处于阴影。在图10中,圆球932和940是现实对象,而盒子936是虚拟对象。场景映射引擎306从由面向前的相机113或环境中的其他相机所捕捉到的用户视野的图像和深度数据中检测球932的阴影934以及球940的阴影942。场景映射引擎306更新标识出这些阴影的用户视野的3D映射,且如遮挡引擎302和虚拟数据引擎195等其他应用在它们检索其下一图更新时接收现实阴影位置的通知。虚拟盒子936在用户视野中的3D位置被确定,且遮挡引擎302确定虚拟盒子936被球932部分地遮挡并且略微遮挡球941。遮挡引擎302确定是否也存在阴影遮挡,阴影遮挡意指遮挡对象基于3D映射的阴影位置将阴影投射在被遮挡对象上。[0148]基于场景映射引擎306在这两个球和盒子所位于的3D空间位置的图中所指示的光照和阴影效果,遮挡引擎302确定遮挡是否生成了阴影以及是否将阴影应用于遮挡关系中的对象。除了部分遮挡界面933外,引擎302还确定遮挡现实球932的阴影延伸到被遮挡虚拟盒子936的表面。遮挡引擎可以为虚拟盒子936标识出指示该虚拟盒子的要处于阴影的一部分的一个或多个阴影遮挡边界935。阴影可以具有可以透视的透明级别。如上所述,被标识为处于阴影的部分遮挡界面可以接收用于其建模的、由于阴影效果而较不详细的细节层次。
[0149]遮挡引擎302还标识出虚拟盒子936遮挡现实球940的部分遮挡界面937以及在现实球940上的阴影遮挡边界939。向虚拟数据引擎195通知由于部分遮挡界面和阴影遮挡边界的经修改的边界数据以用于据此更新显示器。如多边形网格和边等边界通常不被显示。它们是虚拟数据引擎195用来标识图像数据的形状和大小信息的基础。
[0150]图11是描述了用于在透视、增强现实显示设备(例如,如图1A到2B中的透视、增强现实显示设备)的用户视野中显示一个或多个虚拟对象的过程的一实施例的流程图。描述了可以由或供不透明度滤光器执行的各步骤。图11和12的方法可以在没有不透明度滤光器114的显示设备系统中执行,但是不执行与不透明度滤光器有关的那些步骤。在步骤950,虚拟数据引擎195从用户视角访问用户视野的3D映射。对于诸如可包括虚拟对象的虚拟图像,该系统具有用于插入该虚拟图像的目标3D空间位置。
[0151]在步骤954,该系统将之前创建的、来自透视增强现实显示设备2的用户视点(即,用户视角)的环境的三维模型呈现在z缓冲器中,而不将任何色彩信息呈现在相应的色彩缓冲器中。这有效地令所呈现的该环境的图像保留为全黑的,但是存储该环境中的各对象的z (深度)数据。在步骤956,将虚拟内容(例如对应于虚拟对象的虚拟图像)呈现在同一z缓冲器中。步骤954和956导致为每个像素(或者为像素的子集)存储深度值。
[0152]在步骤958,虚拟数据引擎195为要被显示在相应的色彩缓冲器中的虚拟内容确定色彩信息。该确定可以以多种方式来执行。在一些实施例中,为每一像素执行Z或深度测试。如果该像素是比任何其他对象(现实的或虚拟的)更接近显示设备的虚拟对象的一部分,则选择该虚拟对象的色彩信息。换言之,该像素对应于虚拟对象的未被遮挡部分。在视频观看显示器的情况下,色彩信息可以用于未被遮挡的现实对象以及用于未被遮挡的虚拟对象。回到透视显示器的情况,如果该像素对应于虚拟对象的被遮挡部分,则不为该像素选择任何色彩信息。
[0153]在一些实施例中,基于遮挡界面来确定和建模的虚拟对象的经修改的边界数据可被用作用于选择将虚拟内容的哪些色彩信息写到哪些像素的基础。在其他示例中,被缓冲来用于显示的虚拟内容是该虚拟内容的已经包括对图像数据的任何修改的版本,使得该色彩信息可被简单地写到针对该虚拟内容的色彩缓冲器处,其中对图像数据的任何修改基于由于参考细节层次对遮挡界面进行的遮挡处理而被修改的边界数据。这些方法中的任何一个有效地允许在考虑现实世界对象或者其他虚拟对象遮挡虚拟对象的全部或部分的情况下将虚拟图像绘制在微显示器120上。换言之,这些方法中的任何一个可以导致透视显示器通过修改虚拟对象的显示来将空间遮挡关系表示在该显示器中。
[0154]作为可选不透明度处理的一部分,在可选步骤960中,该系统标识出微显示器120的显示虚拟图像的像素。在可选步骤962,为微显示器120的各像素确定阿尔法值。在传统的色度键控系统中,阿尔法值逐像素地指示:阿尔法值有多少被用来标识图像有多么不透明。在一些应用中,阿尔法值可以是二进制的(例如开和关)。在其他应用中,阿尔法值可以是具有范围的数。在一个示例中,在步骤960中所标识出的每个像素都将具有第一阿尔法值,并且所有其他像素都将具有第二阿尔法值。
[0155]在可选步骤964,基于阿尔法值来确定不透明度滤光器的像素。在一个示例中,不透明度滤光器与微显示器120具有相同的分辨率,并且因此不透明度滤光器可以使用阿尔法值来控制。在另一实施例中,不透明度滤光器与微显示器120具有不同的分辨率,并且因此用于暗化或不暗化不透明度滤光器的数据将通过使用任何用于在分辨率之间转换的各种数学算法而从阿尔法值中导出。还可以使用用于基于阿尔法值(或其他数据)为不透明度滤光器导出控制数据的其他手段。
[0156]在步骤966,调整z缓冲器和色彩缓冲器中的图像、以及阿尔法值和不透明度滤光器(如果被使用的话)的控制数据,以考虑光源(虚拟或现实)和阴影(虚拟或现实)。下面参照图12提供步骤966的更多细节。在步骤968,将基于z缓冲器和色彩缓冲器的复合图像发送给微显示器120。也就是说,将要显示在合适像素处的虚拟图像发送给微显示器120,其中考虑了视角和遮挡。在可选步骤968,从控制电路136的一个或多个处理器或处理单元传送不透明度滤光器的控制数据以控制不透明度滤光器114。注意,图11的过程可以每秒多次执行(例如刷新率)。
[0157]图12是描述了用于考虑光源和阴影的过程的一实施例的流程图,该过程是图11的步骤966的示例实现。在步骤970,场景映射引擎306标识出需要考虑的一个或多个光源。例如,当绘制虚拟图像时,可能需要考虑现实光源。如果该系统将虚拟光源添加到用户的视图,则可以在头戴式显示设备2中考虑该虚拟光源的效果。对于用于改变现实和虚拟对象上的光照的其他实现过程示例的更多细节以及生成阴影效果的附加方式,参见2011年 12 月 12 日申请的具有发明人Matthew Lamb 的“Display of Shadows via See-ThroughDisplay (经由透视显示器显示阴影)”,该申请在此通过引用被整体并入。
[0158]在步骤972,标识出用户视野的3D映射的被光源照明的各部分(包括虚拟图像)。在步骤974,将描绘该照明的图像添加到上述色彩缓冲器。
[0159]在步骤976,场景映射引擎306和遮挡引擎302可选地在不透明度滤光器的帮助下为由遮挡产生的各阴影标识出虚拟数据引擎195需要添加的一个或多个阴影区域。例如,如果虚拟图像被添加到阴影中的某区域,则在绘制虚拟图像时需要通过在步骤978调整色彩缓冲区来考虑到该阴影。在步骤980,如果要将虚拟阴影添加到不存在虚拟图像的地方,则遮挡引擎302指示现实对象、该现实对象上的阴影遮挡界面、以及阴影的透明度,虚拟数据引擎195基于该透明度来生成阴影并将该阴影呈现为与该现实对象配准的虚拟内容(如果该现实对象处于虚拟阴影中的话)。可选地,作为替换或附加地,在步骤982,使不透明度滤光器114的与虚拟阴影的位置相对应的那些像素暗化。
[0160]正如前面所述的各方法的不同方面,用于显示部分遮挡界面的不同步骤可以由透视、增强现实显示设备系统8单独执行,或者单独地或结合其他显示设备系统8与一个或多个中枢计算系统12协作执行。
[0161]图13A是用于使头戴式、增强现实显示设备系统提供现实对象和虚拟对象间的逼真视听遮挡的方法的一实施例的流程图。在步骤1002,遮挡引擎302基于表示对象体或空间位置的三维数据来确定在头戴式、增强现实显示设备的环境中的虚拟对象和现实对象间的空间遮挡关系。在步骤1004,遮挡引擎302确定该空间遮挡关系是否满足显示设备的视野准则。视野准则的一些示例是遮挡是否处于视野中以及基于这些对象的运动跟踪数据而预期遮挡进入视野的预计时间。如果遮挡满足视野准则,则在步骤1006确定该空间遮挡是否是部分遮挡。响应于该遮挡是部分遮挡,在步骤1008,执行用于显示逼真部分遮挡的处理。否则,在步骤1010,执行用于显示一个对象被另一个对象的逼真全部遮挡的处理。
[0162]如果空间遮挡不满足视野准则或者正在执行或者已经执行用于将空间遮挡显示在视野中的处理,则在步骤1012确定在虚拟对象和现实对象间是否存在音频遮挡关系。如果音频遮挡关系不存在,则在步骤1016输出音频数据。如果音频遮挡关系存在,则在步骤1014基于与该关系中的遮挡对象相关联的一个或多个物理属性来修改该关系中的被遮挡对象的音频数据,并且在步骤1018输出经修改的音频数据。
[0163]图13B是用于基于与遮挡对象的一个或多个物理属性相关联的一个或多个声音遮挡模型来确定虚拟对象和现实对象间的音频遮挡关系是否存在的实现过程示例的流程图。在步骤1022,3D音频引擎304标识出与遮挡对象的一个或多个物理属性相关联的至少一个声音遮挡模型,以及哪个(哪些)模型表示至少一个声音效果及该至少一个效果的至少一个距离范围。在步骤1024,3D音频引擎检索在该空间遮挡关系中的各对象间的深度距离,并在步骤1026确定被遮挡对象是否在该至少一个距离范围内。如果否,则如在步骤1016中那样输出未经修改的音频数据。
[0164]响应于被遮挡对象处于该至少一个距离中,3D音频引擎304在步骤1028确定被遮挡对象的与该音频数据相关联的发声部分是否被遮挡。基于该对象的对象类型和被识别为该被遮挡对象正发出的声音,可标识出该对象的发出该声音的部分。从被遮挡对象和遮挡对象的3D空间位置数据,可以确定发声部分是否被阻挡。例如,如果被部分遮挡的对象是人,但这个人的脸根本没被阻挡,则不存在来自这个人的语音数据音频遮挡。
[0165]响应于发声部分被遮挡对象遮挡(即,阻挡),在步骤1030,3D音频引擎304根据由标识出的声音遮挡模型所表示的至少一个声音效果来修改音频数据,并且3D音频引擎304执行输出经修改的音频数据的步骤1018。
[0166]附图中示出的示例计算机系统包括计算机可读存储设备的示例。计算机可读存储设备也是处理器可读存储设备。这样的设备包括以用于存储诸如处理器可读指令、数据结构、程序模块或其他数据等信息的任意方法或技术来实现的易失性和非易失性、可移动和不可移动存储器设备。处理器或计算机可读存储设备的一些是RAM、ROM、EEPR0M、高速缓存、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光盘存储、记忆棒或卡、磁带盒、磁带、媒体驱动器、硬盘、磁盘存储或其他磁性存储设备、或能用于存储所需信息且可以由计算机访问的任何其他设备。
[0167]尽管用结构特征和/或方法动作专用的语言描述了本主题,但可以理解,所附权利要求书中定义的主题不必限于上述具体特征或动作。更确切而言,上述具体特征和动作是作为实现权利要求的示例形式公开的。
【权利要求】
1.一种用于使头戴式、增强现实显示设备系统显示现实对象和虚拟对象间的逼真遮挡的方法,包括: 基于包括所述现实对象和所述虚拟对象的遮挡对象和被遮挡对象的三维空间(3D)位置在所述显示设备系统的至少一用户视野的三维(3D)映射中重叠来确定(522,524)这些对象间存在空间遮挡关系; 确定((502,526,532)所述空间遮挡关系的遮挡界面; 基于细节层次准则来确定(508,534)遮挡界面模型的细节层次; 基于所确定的细节层次来生成(510,536)所述遮挡界面模型; 基于所述遮挡界面模型来生成(512,537)所述虚拟对象的边界数据的经修改版本;以及 根据所述虚拟对象的边界数据的经修改版本来显示(514,538)所述虚拟对象。
2.如权利要求1所述的方法,其特征在于,所述遮挡界面是部分遮挡界面(704,706,708,710,712,720N, 721N, 724N),所述部分遮挡界面是所述遮挡对象的遮挡部分的对象边界数据与被遮挡对象的未被遮挡部分相邻处的交集; 其中基于所述遮挡界面模型来生成所述虚拟对象的边界数据的经修改版本进一步包括基于所述模型来生成(512)与所述现实对象的未被遮挡部分相邻的、所述虚拟对象的边界数据的经修改版本,所生成的相邻边界数据具有基于所述模型的形状;以及 其中根据所述虚拟对象的 边界数据的经修改版本来显示所述虚拟对象进一步包括根据所述虚拟对象的边界数据的经修改版本来显示(514)所述虚拟对象的未被遮挡部分。
3.如权利要求2所述的方法,其特征在于,所述细节层次还包括所述现实对象和所述虚拟对象间与所述部分遮挡界面相邻的相应间隙(见图7A)容限。
4.如权利要求1所述的方法,其特征在于,所述遮挡界面是适应遮挡界面,其中所述虚拟对象是遮挡对象,而所述现实对象是被遮挡对象,并且所述虚拟对象的至少一部分与所述现实对象的边界数据的至少一部分适应;以及 其中基于细节层次准则来确定遮挡界面模型的细节层次进一步包括基于细节层次准则以及所述遮挡虚拟对象和所述被遮挡现实对象的至少所述部分的对象边界数据来确定(534)所述虚拟对象的对象边界数据的遮挡界面模型的细节层次。
5.如权利要求1所述的方法,其特征在于,基于细节层次准则来确定所述遮挡界面模型的细节层次进一步包括: 从包括具有不同精度准则的多个几何结构拟合模型的细节层次集中选择要以得到的拟合几何结构来表示的几何模型的细节层次。
6.如权利要求1所述的方法,其特征在于,所述细节层次准则包括以下各项中的至少一项: 所述遮挡界面的深度位置(图6A), 所述虚拟对象在所述空间遮挡关系中的至少一部分的显示大小(图6B), 所述遮挡界面的3D空间位置的光照值(图6A), 所述遮挡界面距注视点的距离(图6C),以及 所述遮挡界面的速度(图6D)。
7.一种用于提供逼真遮挡的增强现实显示设备系统(8),包括:增强现实显示器(14),所述增强现实显示器具有用户视野并且由所述增强现实显示设备系统的支撑结构(115)来支撑; 由所述支撑结构来支撑的至少一个相机(113),所述至少一个相机用于捕捉所述增强现实显示器的用户视野中的现实对象的图像数据和深度数据; 通信地耦合到所述至少一个相机的一个或多个处理器(202、210),所述一个或多个处理器用于接收包括所述用户视野的图像和深度数据; 所述一个或多个软件控制的处理器用于基于所述图像和深度数据来确定遮挡对象和被遮挡对象间的空间遮挡关系,所述遮挡对象和所述被遮挡对象包括现实对象和虚拟对象; 所述一个或多个软件控制的处理器通信地耦合到所述增强现实显示器,且所述一个或多个处理器使得所述增强现实显示器通过修改对所述虚拟对象(402,403, 702, 732,733,902, 936)的显示来将所述空间遮挡关系表示在所述显示器中; 所述一个或多个软件控制的处理器通信地耦合到一个或多个计算机系统(8,12),并且所述一个或多个处理器和所述一个或多个计算机系统基于捕捉到的佩戴所述增强现实显示设备系统的用户的环境的图像和深度数据来在公共坐标系中实时地协作地确定所述环境的三维图;以及 所述一个或多个软件控制的处理器和所述一个或多个计算机系统实时地共享至少一个遮挡数据集(308 ),所述至少一个遮挡数据集包括遮挡界面的模型。
8.如权利要求7所述的系统,其特征在于,所述增强现实显示器(14)是透视显示器。
9.如权利要求7所述的系统,其特征在于,所述一个或多个处理器使得所述增强现实显示器通过修改对所述虚拟对象的显示来将所述空间遮挡关系表示在所述显示器中进一步包括: 所述一个或多个软件控制的处理器基于细节层次准则来确定用于生成所述现实对象和所述虚拟对象间的遮挡界面的模型的细节层次,并基于所生成的模型来生成所述虚拟对象的对象边界数据的经修改版本;以及 所述增强现实显示器基于所述虚拟对象的对象边界数据的经修改版本来显示所述虚拟对象。
10.如权利要求7所述的系统,其特征在于,还包括: 附连到所述支撑结构的耳机(130); 附连到所述支撑结构的话筒(I 10); 所述一个或多个软件控制的处理器通信地耦合到所述话筒并从所述话筒接收音频数据; 所述一个或多个软件控制的处理器通信地耦合到所述耳机以用于控制音频数据的输出; 所述一个或多个软件控制的处理器基于所述空间遮挡关系来标识(1012)所述现实对象和所述虚拟对象间存在的音频遮挡关系; 所述一个或多个软件控制的处理器执行三维音频引擎(304),所述三维音频引擎基于与所述遮挡对象相关联的一个或多个物理属性来修改(1014)所述空间遮挡关系中的被遮挡对象的音频数据;所述一个或多个软件控制的处理器将来自所述话筒的音频数据标识为来自作为所述被遮挡对象的所述现实对象,并基于与作为所述遮挡对象的所述虚拟对象相关联的一个或多个物理属性来修改所述现实对象的音频数据;以及 所述一个或多个软件控制的处理器使得所述显示设备系统的耳机输出经修改的音频数据。
【文档编号】G06F3/01GK103472909SQ201310122256
【公开日】2013年12月25日 申请日期:2013年4月9日 优先权日:2012年4月10日
【发明者】K·A·盖斯那, B·J·芒特, S·G·拉塔, D·J·麦卡洛克, K·D·李, B·J·萨格登, J·N·马戈利斯, K·S·佩雷, S·M·斯莫尔, M·J·菲诺齐奥, R·L·小克罗科 申请人:微软公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1