从现实世界材料自动生成虚拟材料的制作方法

文档序号:11288965阅读:333来源:国知局
从现实世界材料自动生成虚拟材料的制造方法与工艺

背景

增强现实(ar)涉及提供经增强的现实世界环境,其中用计算机生成的虚拟数据来增强或修改对现实世界环境(或表示现实世界环境的数据)的感知。例如,可使用诸如相机或话筒等传感输入设备实时地捕捉表示现实世界环境的数据,并用包括虚拟图像和虚拟声音的计算机生成的虚拟数据来增强该数据。虚拟数据还可包括与现实世界环境有关的信息,诸如与现实世界环境中的现实世界对象相关联的文本描述。一些ar环境内的对象可包括现实对象(即,存在于特定现实世界环境中的对象)和虚拟对象(即,不存在于该特定现实世界环境中的对象)。

为了将虚拟对象逼真地集成到ar环境中,ar系统可执行包括映射和本地化在内的若干任务。映射涉及生成现实世界环境的映射的过程。本地化涉及相对于现实世界环境的映射来定位特定视点或姿态的过程。在一些情况下,ar系统可实时本地化在现实世界环境内移动的移动设备的姿态,以便确定要随该移动设备在现实世界环境中移动而被增强的与该移动设备相关联的特定视图。

概述

描述了用于生成可用于渲染表现为由纹理范例制成的虚拟对象的纹理范例或其他纹理图像的技术。在一些实施例中,头戴式显示设备(hmd)可标识环境内的现实世界对象,获得所述现实世界对象的三维模型,确定所述现实世界对象的要用于生成纹理范例的一部分,捕捉所述现实世界对象的所述部分的一个或多个图像,确定所述现实世界对象的定向,以及使用所述现实世界对象的所述一个或多个图像、所述三维模型和所述定向来生成所述纹理范例。所述hmd还可标识所述一个或多个图像内的一个或多个镜面反射,确定与所述环境内的一个或多个光源相对应的一个或多个位置,以及生成所述纹理范例,使得所述一个或多个镜面反射和归因于所述一个或多个光源的光照变化被从所述纹理范例中移除。所述hmd可随后渲染并显示虚拟对象的图像,使得所述虚拟对象表现为由与所述纹理范例相关联的虚拟材料制成。

提供本概述以便以简化的形式介绍以下在详细描述中进一步描述的一些概念。本概述并非旨在标识出要求保护的主题的关键特征或必要特征,亦非旨在用作辅助确定要求保护的主题的范围。

附图简述

图1是可在其中实施所公开的技术的联网计算环境的一个实施例的框图。

图2a描绘了与第二移动设备通信的移动设备的一个实施例。

图2b描绘了hmd的一部分的一个实施例。

图2c描绘了hmd的一部分的一个实施例,其中延伸到注视点的注视向量被用于对准远瞳距(ipd)。

图2d描绘了hmd的一部分的一个实施例,其中延伸到注视点的注视向量被用于对准近瞳距(ipd)。

图2e描绘了hmd的一部分的一个实施例,该hmd具有包括注视检测元件的可移动显示光学系统。

图2f描绘了hmd的一部分的一个替换实施例,该hmd具有包括注视检测元件的可移动显示光学系统。

图3描绘了包括捕捉设备和计算环境的计算系统的一个实施例。

图4a描绘了可从其导出纹理范例的现实世界对象的一部分的一个实施例。

图4b描绘了虚拟对象的一个实施例,该虚拟对象已被生成为使得该虚拟对象的表面表现为包括与图4a中描绘的纹理范例相关联的纹理。

图5a是描述用于使用纹理范例来生成并显示虚拟对象的方法的一个实施例的流程图。

图5b是描述用于使用纹理范例来生成并显示虚拟对象的方法的替换实施例的流程图。

图6是移动设备的一个实施例的框图。

详细描述

描述了用于自动生成可用于渲染虚拟对象的纹理范例(例如,生成与虚拟材料相关联的二维纹理图像)的技术,这些虚拟对象表现为由该纹理范例制成或者表现为覆盖有与该纹理范例相关联的虚拟材料。在一些实施例中,头戴式显示设备(hmd)可标识环境内的现实世界对象,获得所述现实世界对象的三维模型,确定所述现实世界对象的要用于生成纹理范例的一部分,捕捉所述现实世界对象的所述部分的一个或多个图像,确定所述现实世界对象的定向,以及使用所述现实世界对象的所述一个或多个图像、所述三维模型和所述定向来生成所述纹理范例。所述hmd还可标识所述一个或多个图像内的一个或多个镜面反射,确定与所述环境内的一个或多个光源相对应的一个或多个位置,以及生成所述纹理范例,使得所述一个或多个镜面反射和归因于所述一个或多个光源的光照变化被从所述纹理范例中移除。所述hmd可随后渲染并显示虚拟对象的图像,使得所述虚拟对象表现为由与所述纹理范例相关联的虚拟材料制成。使用hmd来自动生成纹理范例的益处包括虚拟对象的快速渲染和可视化,以及在应用的运行时期间使用纹理范例来渲染虚拟对象的能力。

在一个实施例中,运行具有用户创建的计算机图形的应用(例如,虚拟对象的虚拟绘画工具或包括用户创建的虚拟世界的应用)的hmd的终端用户可(例如,通过将虚拟边界框放置在椅子、球或地毯的一部分周围)选择可从其导出虚拟材料或纹理的现实世界对象的一部分。终端用户可使用手势和/或使用hmd向终端用户投影的虚拟相机取景器来选择现实世界对象的该部分。hmd可响应于对现实世界对象的该部分的选择而实时地或在应用的运行时期间自动生成纹理图像并使用该纹理图像来渲染虚拟对象的图像。在一个示例中,终端用户可选择与纹理(例如,该纹理可包括黑五边形和白六边形的图案)相关联的英式足球的一部分,并且hmd可渲染虚拟小兔子的图像,使得虚拟小兔子的表面表现为由所选的纹理制成。在该情形中,hmd可获得英式足球的三维模型(例如,包括球体),并展开或变换该hmd所捕捉到的该英式足球的该部分的图像,以便生成该英式足球的该部分的纹理的平坦二维图像(例如,以取消由该英式足球的弯曲的表面所引起的失真)。在另一示例中,终端用户可选择对象的包括反射或光亮表面的一部分。在该情形中,hmd可标识该对象的该部分的一个或多个图像内的一个或多个镜面反射,并在生成对应的纹理图像时移除该一个或多个镜面反射。在一些情形中,镜面反射可通过以下方式来标识:从两个或更多个不同的角度或视点捕捉该对象的该部分的两个或更多个图像,将这两个或更多个图像彼此对准,以及标识这两个或更多个图像内没有彼此映射或不具有在阈值像素值范围内的对应像素值的像素(例如,各像素值之间的差大于3%或大于5%)。可基于这些图像内的邻近像素值用内插的像素值来替换标识出的像素值。hmd还可通过从纹理图像中减去环境内的光照变化(例如,归因于太阳或该环境内的其他光源的非均匀光照)来补偿该光照变化。

在一些实施例中,hmd可生成其中由漫反射(例如,反射离开有色墙壁并击中从其导出虚拟材料或纹理的现实世界对象的光)引起的光照变化被减小的虚拟材料或纹理。hmd可捕捉环境(例如,房间)的图像并使用捕捉到的图像来生成该环境的环境图,该环境图包括该环境内的各区域和/或表面的照明信息。该环境图可包括该环境内的各光源的位置(例如,归因于房间内的灯或进入该房间的窗口的太阳光),以及该环境内的各区域和/或表面的照明值。该环境图可包括以将从其导出虚拟材料或纹理的现实世界对象的质心为中心的多个球面谐波投影。在生成该虚拟材料或纹理时,现实世界对象的特定位置的几何邻域可与表面法线一起被检查以确定该特定位置处的入射光照的色度。hmd可随后基于入射光照的色度来调整与现实世界对象的该特定位置相对应的一个或多个彩色像素值。在一个示例中,与该特定位置相对应的所生成纹理的色彩在该特定位置处的入射光照的色度的分量方面可被部分地去饱和。

在一些实施例中,hmd可提取或生成虚拟材料或纹理,其中击中从其导出该虚拟材料或纹理的现实世界对象的漫反射被标识出并被从该虚拟材料或纹理中基本上移除。在一个示例中,要从其导出虚拟材料或纹理的现实世界对象的所选部分可包括房间内的立方体的一部分。在该情形中,hmd可生成环境图,该环境图包括针对红色的第一墙壁和绿色的第二墙壁的照明信息。在生成虚拟材料和纹理时,对于该立方体的面向第一墙壁的第一面,红色色度可随着该立方体的第一面可用来自第一墙壁的红光照亮而被衰减。类似地,对于该立方体的面向第二墙壁的第二面,绿色色度可随着该立体体的第二面可用来自第二墙壁的绿色光照亮而被衰减。由此,在一些情形中,得到的纹理可包括其中绿色色度已被衰减的第一部分和其中红色色度已被衰减的第二部分。

在一些情形中,hmd可将纹理合成技术应用于与虚拟材料相关联的纹理图像,以便实时地渲染并显示覆盖有该虚拟材料的虚拟对象的至少一部分的图像。纹理合成技术可包括基于示例的纹理合成技术,该基于示例的纹理合成技术取范例(例如,纹理的样本图像)作为输入并生成与该范例在视觉上相似的输出纹理(例如,比该范例大的输出图像)。纹理合成可以是等轴或非等轴的。等轴纹理合成可被用于以相同的比例并以范例的相同定向生成具有相同图案的输出纹理,而非等轴纹理合成可允许生成的纹理中的特征的定向和缩放方面的变化。纹理合成技术可包括局部区域增长方法和/或基于全局优化的方法。局部区域增长方法可使输出纹理一次增长一个像素或补片,其目标是维持经增长区域与邻近像素的一致性。然而,通过这样的方法,小误差可在大距离内累积,从而导致经合成纹理的不一致性。全局合成方法可使用用于评估与输入范例的相似性(诸如匹配输入和输出纹理之间的小波系数)的各种准则来作为整体逐渐地开发输出纹理。关于纹理合成的更多信息可在2010年10月19日发布的、题为“texturesynthesisusingdimensionality-reducedappearancespace(使用维度降低的外观空间的纹理合成)”的美国专利7,817,161以及2010年6月8日发布的、题为“anisometrictexturesynthesis(非等轴纹理合成)”的美国专利7,733,350中找到。

图1是可在其中实施所公开的技术的联网计算环境100的一个实施例的框图。联网计算环境100包括通过一个或多个网络180互连的多个计算设备。所述一个或多个网络180允许一特定计算设备连接到另一计算设备以及与其通信。所描绘的计算设备包括移动设备11、移动设备14、移动设备19和服务器15。在一些实施例中,此多个计算设备可包括未示出的其他计算设备。在一些实施例中,此多个计算设备可包括比图1所示的计算设备的数目更多或更少的计算设备。一个或多个网络180可包括诸如企业专用网络之类的安全网络、诸如无线开放式网络之类的不安全网络、局域网(lan)、广域网(wan)以及互联网。一个或多个网络180中的每个网络可包括集线器、网桥、路由器、交换机以及诸如有线网络或直接有线连接之类的有线传输介质。

可包括补充信息服务器或应用服务器的服务器15可允许客户端从该服务器下载信息(例如,文本、音频、图像和视频文件)或者执行与存储在该服务器上的特定信息相关的搜索查询。一般而言,“服务器”可以包括在客户端-服务器关系中充当主机的硬件设备、或者与一个或多个客户端共享资源或为所述一个或多个客户端执行工作的软件过程。客户端-服务器关系下的计算设备之间的通信可通过由客户端向服务器发送要求访问特定资源或执行特定工作的请求来发起。服务器随后可以执行所请求的动作并且将响应发送回客户端。

服务器15的一个实施例包括网络接口155、处理器156和存储器157,所有这些都彼此通信。网络接口155允许服务器15连接到一个或多个网络180。网络接口155可包括无线网络接口、调制解调器和/或有线网络接口。处理器156允许服务器15执行被储存在存储器157中的计算机可读指令以执行在此讨论的过程。

移动设备19的一个实施例包括网络接口145、处理器146、存储器147、相机148、传感器149、以及显示器150,所有这些都彼此通信。网络接口145允许移动设备19连接到一个或多个网络180。网络接口145可包括无线网络接口、调制解调器和/或有线网络接口。处理器146允许移动设备19执行存储在存储器147中的计算机可读指令以执行在此讨论的过程。相机148可捕捉环境的彩色图像和/或深度图像。移动设备19可包括捕捉环境的图像的面向外的相机以及捕捉移动设备的终端用户的图像的面向内的相机。传感器149可生成与移动设备19相关联的运动和/或定向信息。在一些情况下,传感器149可包括惯性测量单元(imu)。显示器150可显示数字图像和/或视频。显示器150可包括透视显示器。

在一些实施例中,包括网络接口145、处理器146、存储器147、相机148以及传感器149的移动设备19的各组件可被集成在单芯片基片上。在一示例中,网络接口145、处理器146、存储器147、相机148、传感器149可被集成成为片上系统(soc)。在其他实施例中,网络接口145、处理器146、存储器147、相机148和传感器149可被集成在单个封装中。

在一些实施例中,通过采用相机148、传感器149,和运行在处理器146上的姿势识别软件,移动设备19可提供自然用户界面(nui)。使用自然用户界面,人的身体部位和移动可被检测、解释、以及用于控制计算应用的各方面。在一个示例中,利用自然用户界面的计算设备可检测到某人已执行了特定姿势来控制计算设备。

联网计算环境100可为一个或多个计算设备提供云计算环境。云计算指的是基于互联网的计算,其中共享的资源、软件和/或信息经由互联网(或其他全局网络)被按需提供给一个或多个计算设备。基于在计算机网络图中使用的云图,术语“云”可被用作对互联网的比喻以将互联网描绘成对其所表示的底层基础设施的抽象。

在一个示例中,移动设备19包括向头戴式显示设备(hmd)的终端用户提供增强现实环境或混合现实环境的头戴式显示设备。hmd可包括视频透视和/或光学透视系统。终端用户佩戴的光学透视hmd可允许(例如经由透明透镜)对现实世界环境的实际直接查看,并且同时可将虚拟对象的图像投影到终端用户的视野中,由此用虚拟对象来增强终端用户所感知的现实世界环境。

通过利用hmd,终端用户可佩戴着hmd在现实世界环境(例如,起居室或家具店)内四处移动,并感知覆盖有虚拟对象的图像的现实世界的视图。虚拟对象可以看起来保持与现实世界环境的一致空间关系(即,当终端用户在现实世界环境中转动他们的头或移动时,显示给该终端用户的图像可改变,使得虚拟对象看起来像被终端用户感知的那样存在于该现实世界环境内)。虚拟对象还可看起来相对于终端用户的视点是固定的(例如,无论终端用户如何在现实世界环境中转动他们的头或移动,总是出现在终端用户视角的右上角的虚拟菜单)。在一个实施例中,现实世界环境的环境映射可由服务器15(即,在服务器侧)来执行,而相机本地化可在移动设备19上(即,在客户端侧)执行。

在一些实施例中,移动设备(诸如移动设备19)可与云中的服务器(诸如服务器15)通信,并可提供与移动设备相关联的服务器位置信息(例如,经由gps坐标的移动设备的位置)和/或图像信息(例如,与在移动设备的视野内检测到的对象有关的信息)。作为响应,服务器可基于提供给该服务器的位置信息和/或图像信息向移动设备传送一个或多个虚拟对象。在一个实施例中,移动设备19可指定用于接收一个或多个虚拟对象的特定文件格式,并且服务器15可向移动设备19传送包含在该特定文件格式的文件内的一个或多个虚拟对象。

在一些实施例中,移动设备(诸如移动设备19)可包括hmd,该hmd(例如,经由对现实世界对象的用户选择或对现实世界对象的一部分的用户选择)标识现实世界对象,获得现实世界对象的三维模型(例如,包括与现实世界对象相对应的虚拟形状),确定要从其生成纹理范例的现实世界对象的一部分,捕捉现实世界对象的该部分的一个或多个图像(例如,该一个或多个图像可包括一个或多个彩色图像和/或一个或多个深度图像),使用来自该一个或多个图像的表面识别数据来确定该现实世界对象的定向,以及使用该现实世界对象的该一个或多个图像、该三维模型和该定向来生成纹理范例。该移动设备可随后渲染并显示虚拟对象的图像,使得该虚拟对象表现为由与该纹理范例相关联的虚拟材料制成。

图2a描绘了与第二移动设备5通信的移动设备19的一个实施例。移动设备19可包括透视hmd。如所描绘的,移动设备19经由有线连接6与移动设备5通信。然而,移动设备19还可经由无线连接与移动设备5通信。移动设备5可被移动设备19用来卸载计算密集的处理任务(例如,渲染虚拟对象),并将可被用来提供增强现实环境的虚拟对象信息和其他数据存储在移动设备19上。移动设备5还可向移动设备19提供与移动设备5相关联的运动和/或定向信息。在一个示例中,运动信息可包括与移动设备5相关联的速度或加速度,并且定向信息可包括欧拉角,其提供围绕特定坐标系或参考坐标系的转动信息。在一些情况中,移动设备5可包括运动和定向传感器(诸如惯性测量单元(imu)),以便获得与移动设备5相关联的运动和/或定向信息。imu可包括三轴加速度计、三轴陀螺仪和三轴磁传感器。移动设备5可使用imu确定惯性坐标系。惯性参考坐标系可包括指向北的x轴、指向东的y轴和向下指向地球的z轴。

在一个实施例中,移动设备(诸如移动设备5)可被定位成使得移动设备的定向相对于移动设备的终端用户的身体保持固定(或基本上固定)。在一个示例中,移动设备可被定位在终端用户所穿的裤子或短裤的后兜内。在另一示例中,移动设备可被定位在终端用户所穿的衬衫或外套的前兜内。在另一示例中,移动设备可被绑或夹到绕终端用户的手腕佩戴的带子上。在这些情况下,移动设备相对于终端用户的身体的定向可使用由移动设备生成的加速度计和磁力计数据来确定。移动设备可基于加速度计和磁力计数据生成重力向量,即与地球表面正交的向量。重力向量可与从移动设备上的某点指向地面的向量对应。移动设备还可基于加速度计和磁力计数据生成北向量,即与重力向量正交并指向北部方向的向量。在一些情况下,在校准步骤期间,移动设备可通过请求终端用户面向北来确定面向前方的向量,并使其身体的前方与北向量对准。面向前方的向量可随后相对于由移动设备生成的北东地(ned)坐标系移动。在一些实施例中,移动设备(诸如,移动设备19)可确定与该移动设备相关联的重力向量,以便确定该移动设备的定向。

图2b描绘了hmd(诸如图1的移动设备19)的一部分的一个实施例。仅描绘了hmd200的右侧。hmd200包括右镜腿202、鼻梁204、镜片216、以及眼镜框214。右镜腿202包括与处理单元236通信的捕捉设备213(例如,前置相机和/或话筒)。捕捉设备213可包括用于记录数字图像和/或视频的一个或多个相机,并可将视觉记录传送到处理单元236。一个或多个相机可捕捉色彩信息、ir信息、和/或深度信息。捕捉设备213还可包括用于记录声音的一个或多个话筒,并可将音频记录传送到处理单元236。

右镜腿202还包括生物测定传感器220、眼睛跟踪系统221、面向身体的相机222、耳机230、运动和定向传感器238、gps接收器232、电源239、以及无线接口237,所有这些都与处理单元236通信。生物测定传感器220可包括用于确定与hmd200的终端用户的脉搏或心率相关联的一个或多个电极,以及用于确定与hmd200的终端用户相关联的体温的温度传感器。在一个实施例中,生物测定传感器220包括压着终端用户太阳穴的脉搏率测量传感器。运动和定向传感器238可以包括三轴磁力计、三轴陀螺仪、和/或三轴加速度计。在一个实施例中,运动和定向传感器238可包括惯性测量单元(imu)。gps接收机可确定与hmd200相关联的gps位置。处理单元236可以包括一个或多个处理器和用于存储将要在所述一个或多个处理器上执行的计算机可读指令。存储器还可存储要在一个或多个处理器上执行的其它类型的数据。

在一个实施例中,眼睛跟踪系统221可包括一个或多个面向内的相机。此一个或多个面向内的相机可捕捉hmd的终端用户的眼睛的图像。在另一实施例中,眼睛跟踪系统221可包括眼睛跟踪照明源和相关联的眼睛跟踪图像传感器。在一个实施例中,眼睛跟踪照明源可包括以大约预定ir波长或一定范围的波长发射的一个或多个红外(ir)发射器(诸如红外发光二极管(led)或激光器(例如,vcsel))。在一些实施例中,眼睛跟踪传感器可包括用于跟踪闪光位置的ir相机或ir位置敏感检测器(psd)。关于眼睛跟踪系统的更多信息可在2008年7月22发布的标题为“headmountedeyetrackinganddisplaysystem(头戴式眼睛跟踪和显示系统)”的美国专利7,401,920,以及2011年9月26日提交的标题为“integratedeyetrackinganddisplaysystem(集成眼睛跟踪和显示系统)”的美国专利申请13/245,700中找到。

在一个实施例中,面向身体的相机222可包括一个或多个面向下的相机。此一个或多个面向下的相机可捕捉hmd的终端用户的身体的一部分的图像。例如,此一个或多个面向下的相机可捕捉终端用户的躯干、胸部、腹部或骨盆区的图像。终端用户的身体的图像可被用来确定终端用户的身体相对于hmd的定向。在一个示例中,图像处理技术可被应用于终端用户的身体的图像以确定终端用户的躯干相对于hmd面向的方向。

在一个实施例中,镜片216可包括透视显示器,处理单元236生成的图像由此可被投影和/或显示在透视显示器上。捕捉设备213可被校准,使得捕捉设备213所捕捉的视野对应于hmd200的终端用户所看到的视野。耳机230可用于输出与虚拟对象的投影图像相关联的声音。在一些实施例中,hmd200可包括两个或更多个前置相机(例如,每个镜腿上一个相机),以便从与前置相机所捕捉的视野相关联的立体信息中获得深度。两个或更多个前置相机还可包括3d、ir、和/或rgb相机。也可利用来自运动技术的深度从单个相机中获取深度信息。例如,可从单个相机获取两个图像,这两个图像与在不同的时间点的、两个不同的空间点相关联。然后,给定与两个不同空间点有关的位置信息的情况下,可执行视差计算。

在一些实施例中,hmd200可使用注视检测元件和与一个或多个人类眼睛元素(诸如角膜中心、眼球旋转的中心、或瞳孔中心)有关的三维坐标系,来为终端用户眼睛中的每只眼睛执行注视检测。注视检测可被用来标识终端用户正在关注视野内的何处。注视检测元件的示例可包括生成闪光的照明器和用于捕捉表示所生成的闪光的数据的传感器。在一些情况中,角膜中心可以基于两次闪光使用平面几何来确定。角膜中心链接瞳孔中心和眼球的旋转中心,这可被当作用于确定处于某种注视或观看角度的终端用户的眼睛的光轴的固定位置。

图2c描绘了hmd2的一部分的一个实施例,其中延伸到注视点的注视向量用于对准远瞳距(ipd)。hmd2是移动设备的一个示例,诸如图1中的移动设备19。如所描绘的,注视向量180l和180r在远离终端用户的注视点处相交(即,当终端用户正在看遥远处的对象时,注视向量180l和180r不相交)。基于gullstrand示意眼模型示出了每只眼睛的眼球160l、160r的眼球模型。每只眼球被建模成具有旋转中心166的球体,并且包括被建模成具有中心164的球的角膜168。角膜168随着眼球旋转,并且眼球的旋转中心166可被当作固定点。角膜168覆盖虹膜170,瞳孔162处于虹膜170的中心。每个角膜的表面172上是闪光174和176。

如图2c所描绘的,传感器检测区域139(即分别是139l和139r)与眼镜架115内的每一显示光学系统14的光轴相对准。在一个示例中,与该检测区域相关联的传感器可包括能够捕捉表示分别由镜架115左侧的照明器153a和153b生成的闪光174l和176l的图像数据以及表示分别由镜架115右侧的照明器153c和153d生成的闪光174r和176r的数据的一个或多个相机。通过眼镜架115中的显示光学系统14l和14r,终端用户的视野包括现实对象190、192和194以及虚拟对象182和184。

从旋转中心166穿过角膜中心164到瞳孔162而形成的轴178构成眼睛的光轴。注视向量180也被称为从中央凹穿过瞳孔中心162延伸的视线或视轴。在一些实施例中,光轴被确定,并且通过用户校准来确定小型校正以获得被选作注视向量的视轴。对于每一终端用户,虚拟对象可被显示设备显示在不同的水平和垂直位置处的多个预先确定的位置中的每一位置处。在对象在每一位置处的显示期间可以计算每一眼睛的光轴,并且光线被建模成从该位置延伸到用户眼睛中。可以基于必须如何移动光轴以与所建模的光线相对准来确定与水平和垂直分量的注视偏移角。从不同的位置处,与水平或垂直分量的平均注视偏移角可被选作要被应用于每一计算出的光轴的小型校正。在一些实施例中,仅水平分量被用于注视偏移角校正。

如图2c所描绘的,由于当注视向量180l和180r从眼球延伸到注视点处的视野中时这些注视向量变得更加靠近在一起,因此这些注视向量不是完全平行的。在每一显示光学系统14处,注视向量180看起来与光轴相交,传感器检测区域139以这一交点为中心。在这一配置中,光轴与瞳孔间距(ipd)对准。在终端用户看向正前方时,测得的ipd也被称为远ipd。

图2d描绘了hmd2的一部分的一个实施例,其中延伸到注视点的注视向量用于对准近瞳距(ipd)。hmd2是移动设备的一个示例,诸如图1中的移动设备19。如所描绘的,左眼的角膜168l向右侧或朝向终端用户的鼻子旋转,并且右眼的角膜168r向左侧或朝向终端用户的鼻子旋转。两个瞳孔正在注视终端用户的特定距离内的现实对象194。始自每只眼睛的注视向量180l和180r进入真实对象194所处的panum汇合区域195。panum汇合区域是像人类视觉那样的双眼观察系统中的单视觉的区域。注视向量180l和180r的相交指示终端用户正在看现实对象194。在这样的距离处,随着眼球向内旋转,它们瞳孔之间的距离减少到近ipd。近ipd通常比远ipd小约4毫米。近ipd距离准则(例如,在距终端用户小于四英尺处的注视点)可用来将显示光学系统14的ipd对准切换或调整成近ipd的对准。对于近ipd,每一显示光学系统14可以朝向终端用户的鼻子移动,使得光轴以及检测区域139朝向鼻子移动几毫米,如检测区域139ln和139rn所表示的。关于为hmd的终端用户确定ipd并由此调整显示光学系统的更多信息可在2011年9月30日提交的题为“personalaudio/visualsystem(个人音频/视频系统)”的美国专利申请号13/250,878中找到。

图2e描绘了hmd2的一部分的一个实施例,该hmd2具有包括注视检测元件的可移动显示光学系统。表现为每只眼睛的透镜的事物表示每只眼睛的显示光学系统14(即14l和14r)。显示光学系统包括用于将虚拟内容与透过hmd的透镜看到的实际直接现实世界视图无缝地融合的透视透镜和光学元件(例如,反射镜、过滤器)。显示光学系统14具有一般处于透视透镜中心的光轴,其中光一般被校准来提供无失真视图。例如,在眼睛护理专业人员使一副普通眼镜适合于终端用户的脸部时,该眼镜通常是适合的,使得该眼镜在每一瞳孔与相应镜片的中心或光轴相对准的位置处落在终端用户的鼻子上,从而通常使得校准光到达终端用户的眼睛以得到清晰或无失真的视图。

如所描绘的,至少一个传感器的检测区域139r、139l与其相应显示光学系统14r、14l的光轴相对准,使得检测区域139r、139l的中心捕捉沿着该光轴的光。如果显示光学系统14与终端用户的瞳孔对准,则相应传感器134的每一检测区域139与终端用户的瞳孔相对准。检测区域139的反射光经由一个或多个光学元件被传送到相机的实际图像传感器134,在该实施例中传感器134由处于镜架115内部的虚线示出。在一些实施例中,传感器134可包括用于捕捉终端用户的眼睛或眼睛周围的面部特征的图像的图像传感器或rgb相机。其他面向内的图像传感器也可与镜架115集成以便捕捉与终端用户相关联的固定面部特征,诸如其鼻梁。

在一个实施例中,该至少一个传感器134可以是可见光相机(例如,rgb相机或彩色相机)。在一个示例中,光学元件或光引导元件包括是部分透射且部分反射的可见光反光镜。可见光相机提供终端用户的眼睛的瞳孔的图像数据,而ir光电探测器152捕捉作为频谱的ir部分中的反射的闪光。如果使用可见光相机,则虚拟图像的反射可以出现在该相机所捕捉的眼睛数据中。图像过滤技术可被用于按需移除虚拟图像反射。ir相机对眼睛上的虚拟图像反射是不敏感的。

在另一个实施例中,至少一个传感器134(即,134l和134r)是ir辐射可被定向到的ir相机或位置敏感检测器(psd)。从眼睛反射的ir辐射可以来自照明器153、其他ir照明器(未示出)的入射辐射或者来自从眼睛反射的环境ir辐射。在一些情况中,传感器134可以是rgb和ir相机的组合,并且光引导元件可包括可见光反射或转向元件和ir辐射反射或转向元件。在一些情况中,相机134可被嵌入在系统14的镜片中。另外,可以应用图像过滤技术来将相机混合到用户视野中以减轻对用户的任何干扰。

如图2e所描绘的,有四组照明器153,照明器153与光电检测器152配对并被屏障154隔开以避免照明器153所生成的入射光与在光电检测器152处接收到的反射光之间的干扰。为了在附图中避免不必要的混乱,附图标记就被示出了代表性的一对。每一照明器可以是生成大约预定波长的窄光束的红外(ir)照明器。光电检测器中的每一个可被选择来捕捉大约该预定波长的光。红外还可以包括近红外。因为照明器或光电检测器可能存在波长漂移或者关于波长的微小范围是可接受的,所以照明器和光电检测器可以具有与要生成或检测的波长有关的容限范围。在传感器是ir相机或ir位置敏感检测器(psd)的一些实施例中,光电检测器可包括附加数据捕捉设备并且也可被用来监视照明器的操作,例如波长漂移、波束宽度改变等。该光电检测器还用作为传感器134的可见光相机来提供闪光数据。

每一显示光学系统14以及它面向每一眼睛的注视检测元件的布置(例如,诸如相机134及其检测区域139、照明器153以及光电检测器152)可位于可移动内部镜架部分117l、117r上。在该示例中,显示调整机构包括具有附连到内部镜架部分117的传动轴205的一个或多个马达203,内部镜架部分117在由马达203驱动的传动轴205的引导和力量下在镜架115内从左向右滑动或反向滑动。在一些实施例中,一个马达203可以驱动两个内部镜架。

图2f描绘了hmd2的一部分的一个替换实施例,该hmd2具有包括注视检测元件的可移动显示光学系统。如所描绘的,每个显示光学系统14被封装在分开的镜架部分115l、115r中。镜架部分中的每一个可由马达203分开地移动。在一些实施例中,此至少一个传感器134可包括用于捕捉终端用户的眼睛或眼睛周围的面部特征的图像的图像传感器或rgb相机。其他面向内的图像传感器也可与镜架115集成以便捕捉与终端用户相关联的固定面部特征,诸如其鼻梁。

图3描绘了包括捕捉设备20和计算环境12的计算系统10的一个实施例。在一些实施例中,捕捉设备20和计算环境12可以集成在单个移动计算设备中。该单个集成移动计算设备可包括移动设备,诸如图1中的移动设备19。在一个示例中,捕捉设备20和计算环境12可被集成在hmd中。在其它实施例中,捕捉设备20可与第一移动设备(诸如图2a中的移动设备19)集成,而计算环境12可与和第一移动设备通信的第二移动设备(诸如图2a中的移动设备5)集成。

在一个实施例中,捕捉设备20可包括用于捕捉图像和视频的一个或多个图像传感器。图像传感器可以包括ccd图像传感器或cmos图像传感器。在某些实施例中,捕捉设备20可包括图像传感器和/或ircmos图像传感器。捕捉设备20可包括图像相机组件32。图像相机组件32可包括可用来对捕捉区域的深度图像进行捕捉的ir光组件34、深度相机36、以及rgb相机38。在一个示例中,捕捉设备20的ir光组件34可以将红外光发射进入捕捉区域,然后可以使用传感器,用图像相机组件32内的彩色和/或ir光传感组件来检测从捕捉区域中的一个或多个对象的表面反向散射的光。在一些实施例中,脉冲式红外光可被使用,使得出射光脉冲和相应的入射光脉冲之间的时间可被测得并被用来确定从捕捉设备20到捕捉区域中的一个或多个对象上的特定位置的物理距离。捕捉设备20还可包括用于产生准直光和/或用于散射光的光学器件(例如,用于传播来自产生窄光束的ir光源的光的光学散射器)以照亮环境。

如图3所描绘的,捕捉设备20可以包括一个或多个话筒40。该一个或多个话筒40中的每一个都可包括可以接收声音并将其转换成电信号的换能器或传感器。该一个或多个话筒可包括话筒阵列,其中一个或多个话筒可以按预定布局排列。

捕捉设备20可以包括可以与图像相机组件32可操作地通信的处理器42。处理器42可包括标准处理器、专用处理器、微处理器等。处理器42可以执行指令,所述指令可以包括用于接收和分析图像和/或确定是否已经发生特定姿势的指令(例如,用于控制或操纵虚拟对象的终端用户姿势)的指令。应当理解,至少一些图像分析和/或姿势识别操作可以由诸如捕捉设备20之类的一个或多个捕捉设备内所包含的处理器来执行。

捕捉设备20可以包括存储器44,该存储器44可以存储可以由处理器42执行的指令以及由图像相机组件32的光感测组件捕捉的图像(或图像的帧)。在一个示例中,存储器44可包括随机存取存储器(ram)、只读存储器(rom)、高速缓存、闪存、非易失性存储器或任何其它合适的存储组件。如所描绘的,存储器44可以是与图像捕捉组件32和处理器42进行通信的分开的组件。在另一实施例中,存储器44可被集成到处理器42和/或图像捕捉组件32中。在其他实施例中,捕捉设备20的组件32、34、36、38、40、42和44中的部分或全部可被容纳在单个外壳中。

捕捉设备20可经由通信链路46与计算环境12进行通信。通信链路46可以是有线连接或诸如无线802.11b、g、a或n的无线连接。在一个实施例中,捕捉设备20可将由例如深度相机36和/或rgb相机38捕捉的图像经由通信链路46提供给计算环境12。

如图3中所描绘的,计算环境12包括与应用196通信的图像和音频处理引擎194。应用196可包括操作系统应用或诸如计算机图形应用、消息收发应用、或用于生成增强现实环境的应用之类的其他计算应用。图像和音频处理引擎194包括虚拟数据引擎197、对象和姿势识别引擎190、结构数据198、处理单元191和存储器单元192,所有都彼此通信。图像和音频处理引擎194处理从捕捉设备20接收到的视频、图像和音频数据。为了辅助对象的检测和/或跟踪,图像和音频处理引擎194可利用结构数据198以及对象和姿势识别引擎190。

虚拟数据引擎197处理虚拟对象,并记录与在存储器单元192中存储的现实世界环境的各种映射有关的虚拟对象的位置和朝向。虚拟数据引擎还可向计算系统10的终端用户呈现与供显示的虚拟对象相关联的图像。在一些实施例中,计算系统10可使用从捕捉设备20获得的图像来相对于环境的3d图确定对应于这些图像的六自由度(6dof)姿态。在一示例中,6dof姿态可包括与移动设备(例如hmd)在环境内的位置和朝向相关联的信息。6dof姿态可用于定位移动设备并生成虚拟对象的图像,以使得这些虚拟对象看起来存在于增强现实环境内的合适位置处。关于执行对移动设备的姿态估计和/或定位的更多信息可在美国专利申请13/017,474、“mobilecameralocalizationusingdepthmaps(使用深度图的移动相机定位)”中找到。

处理单元191可以包括用于执行对象、面部和语音识别算法的一个或多个处理器。在一个实施例中,图像和音频处理引擎194可将对象识别和面部识别技术应用于图像或视频数据。例如,对象识别可以用于检测特定对象(例如hmd的终端用户握持的铅笔),并且面部识别可以用于检测环境内的特定人的面部。图像和音频处理引擎194可将音频和语音识别技术应用于音频数据。例如,音频识别可被用来检测特定的声音。待检测的特定面部、语音、声音和对象可被储存在存储器单元192中所包含的一个或多个存储器中。处理单元191可执行被储存在存储器单元192中的计算机可读指令以执行此处讨论的过程。

图像和音频处理引擎194可以在执行对象识别时利用结构数据198。结构数据198可包括关于要跟踪的目标和/或对象的结构信息。例如,可以存储人类的骨架模型以帮助识别身体部位(例如,手臂、手、和/或手指)。在另一示例中,结构数据198可以包括关于一个或多个无生命对象的结构信息以便帮助识别所述一个或多个无生命对象(例如铅笔或指示笔)。

图像和音频处理引擎194还可在执行姿势识别时利用对象和姿势识别引擎190。在一个示例中,对象和姿势识别引擎190可以包括姿势过滤器的集合,每个姿势过滤器都包括关于可被执行的姿势的信息。对象和姿势识别引擎190可将由捕捉设备20捕捉的数据与姿势库中的姿势过滤器进行比较来标识用户何时执行了一个或多个姿势。在一个示例中,图像和音频处理引擎194可以使用对象和姿势识别引擎190来检测计算系统10的终端用户执行的特定姿势(例如,对象选择姿势)的执行。在一个实施例中,对象和姿势识别引擎190可利用机器学习分类技术。

图4a描绘了可从其导出纹理范例412的现实世界对象404的一部分408的一个实施例。纹理范例412可描绘虚拟材料的外观。在一些情况下,虚拟材料可包括粗糙的表面、光滑的表面或光滑的光亮表面。虚拟材料可与现实世界材料(诸如,草地表面的一部分、地毯的一部分、椅背上的织物的一部分、有条纹或有斑点的动物的一部分、沙滩的一部分或砖墙的一部分)相对应。

如所描绘的,现实世界对象404包括椅子,且现实世界对象404的部分408包括椅子的后侧的一部分。部分408可由hmd的终端用户通过该终端用户控制hmd来选择和捕捉部分408的图像来被选择或标识。在一些情况下,终端用户可使用向hmd的终端用户投影的虚拟相机取景器来捕捉部分708的图像。纹理范例412可包括使用现实世界对象404的部分408的一个或多个图像来生成的二维纹理图像。纹理图像可包括彩色图像或黑白图像。纹理图像可包括与现实世界对象404的部分408的一个或多个图像内的色彩和/或强度的空间布置相关联的纹理信息。强度可包括色彩强度和/或灰度级强度。纹理图像可包括以规则或重复的模式发生或以特定空间关系布置的纹理元素或表面纹素的集合。在一个示例中,一个或多个图像中的第一图像可使用hmd从第一角度(或环境内的第一视点)捕捉,并且一个或多个图像中的第二图像可使用hmd从不同于第一角度的第二角度捕捉。第一图像和第二图像可被映射到现实世界对象的所选部分,并且重叠图像可随后被用于生成纹理图像,该纹理图像被用作到纹理合成应用的输入以用于渲染表现为由与该纹理图像相关联的虚拟材料制成的虚拟对象。

图4b描绘了虚拟对象422的一个实施例,该虚拟对象已被生成为使得虚拟对象422的表面表现为包括与图4a中的纹理范例412相关联的纹理。如所描绘的,纹理范例412可包括美洲豹纹理,并且虚拟对象422可包括虚拟小兔子,该虚拟小兔子被生成为使得该虚拟小兔子的表面表现为包括来自纹理范例412的美洲豹纹理。在一些情况下,由纹理范例412描述的二维纹理可使用纹理合成操作被映射到虚拟对象422的表面上。纹理合成操作可包括一个或多个图像变形操作。在一个示例中,一个或多个图像变形操作可包括用于将二维纹理图像映射到虚拟对象的三维空间或虚拟对象的弯曲表面上的第一操作集合,以及与从虚拟对象的表面到用于使用hmd来显示该虚拟对象的二维屏幕空间的投影变换相关联的第二操作集合。在该情况下,hmd的终端用户可在增强现实环境中到处移动,并感知虚拟小兔子的表面由纹理范例412的美洲豹纹理制成。

图5a是描述用于使用纹理范例来生成和显示虚拟代理对象的方法的一个实施例的流程图。在一个实施例中,图5a的过程可由移动设备(诸如图1中的移动设备19)来执行。

在步骤502,标识在移动设备的视野内的现实世界对象。该移动设备可包括hmd。现实世界对象可由hmd的终端用户使用手势和/或手指姿势来标识,以标识出该现实世界对象。现实世界对象可包括例如椅子、英式足球、篮球、卧榻、一件家具、覆盖有墙纸的墙壁。在一个实施例中,可通过将对象识别技术、边缘检测技术、特征检测技术和分割技术应用于使用移动设备捕捉到的彩色和/或深度图像来标识现实世界对象。

在步骤504中,基于对该现实世界对象的标识来获得该现实世界对象的三维模型。在一个实施例中,该三维模型可从服务器(诸如图1中的服务器15)获得。三维模型可包括诸如矩形棱柱、立方体、三角棱柱、正方棱锥、圆柱体、圆锥体或球体之类的三维形状。在一些实施例中,现实世界对象可包括三维对象,并且移动设备可从变化的视点捕捉该现实世界对象的多个图像,以便扫描该现实世界对象并生成该现实世界对象的三维模型。三维模型可包括使用表面重构技术确定的三维形状。该现实世界对象的形状可经由在与从变化的视点取得的现实世界对象的多个图像相关联的该现实世界对象的多个视图内的地标的配准来确定。

在步骤506,确定要从其生成纹理图像的该现实世界对象的一部分。在一些情况下,hmd的终端用户可使用可利用手指姿势来重设大小的虚拟相机取景器以及语音命令来选择现实世界对象的一部分,以在该语音命令被发出的时间选择或捕捉在虚拟相机取景器内的该现实世界对象的该部分。在步骤508,使用移动设备捕捉该现实世界对象的该部分的一个或多个图像。该一个或多个图像可包括一个或多个彩色图像和/或一个或多个深度图像。在步骤510,确定该现实世界对象相对于移动设备的定向或该现实世界对象的被捕捉到的表面相对于移动设备的定向。现实世界对象的定向或被捕捉到的表面的定向可使用现实世界对象的三维模型来确定。定向信息可被用来重新对准图像或重新投影图像,使得捕捉到的图像被对准到被移动设备用来捕捉一个或多个图像的相机。

在步骤512,标识该一个或多个图像内的一个或多个镜面反射。在该情况下,hmd可标识该一个或多个图像内的一个或多个镜面反射,并在生成相应的纹理图像时移除该一个或多个镜面反射。在一些情况下,该一个或多个镜面反射可通过以下方式来标识:从两个或更多个不同的角度或视点捕捉该现实世界对象的该部分的两个或更多个图像,将这两个或更多个图像彼此对准,以及标识这两个或更多个图像内没有彼此映射或不具有在阈值像素值范围内的对应像素值的像素(例如,各像素色彩或强度之间的差大于10%)。可用基于该两个或更多个图像内的邻近像素值的内插像素值来替换标识出的像素值。

在步骤514,生成从该一个或更多个图像中移除了该一个或多个镜面反射的一个或多个经更新的图像。该一个或多个经更新的图像可被生成为使得一个或多个镜面反射被从该一个或多个图像中基本上移除,或者使得出现在该一个或多个图像内的镜面反射和/或漫反射被基本上减轻。在步骤516,使用该一个或多个经更新的图像、该现实世界对象的三维模型和该现实世界对象的定向来生成纹理图像。该纹理图像可通过以下方式来生成:使用该现实世界对象的三维模型来解除变形或变换该一个或多个经更新的图像,使得生成平坦的二维图像。在一个示例中,英式足球的一部分的图像可被重新投影,使得由该英式足球的弯曲表面(归因于该英式足球为球体)引起的该英式足球的纹理的失真被校正,并且与该英式足球的平坦表面相关联的纹理图像被生成。该纹理图像也可被生成为使得由不是在正面捕捉或者不是从同与现实世界对象的该部分相关联的表面不正交的视点捕捉的一个或多个图像引起的纹理的失真被校正。在一个示例中,如果现实世界对象的该部分与覆盖有墙纸的墙壁的一部分相对应,则在墙纸的一个或多个图像是以与该墙壁的表面不正交的角度拍摄的情况下,该墙纸的纹理可被失真。在该情况下,纹理图像可通过以下方式来生成:解除变形或变换一个或多个经更新的图像,使得该纹理图像包括表现为已从与墙壁的表面正交的视点捕捉的墙纸的纹理。

在步骤518,使用该纹理图像来生成虚拟对象。在步骤520,使用移动设备来渲染并显示该虚拟对象的图像,使得该虚拟对象表现为由该纹理图像制成或由与该纹理图像相关联的虚拟材料制成。使用移动设备显示的图像可通过以下方式来生成:将纹理合成技术应用于该纹理图像,以便渲染并显示覆盖有与该纹理图像相关联的虚拟材料的虚拟对象的至少一部分的图像。在一些情形中,在应用的运行时期间,hmd可渲染并显示该虚拟对象的图像,使得该虚拟对象的表面表现为由该虚拟材料制成。在一个示例中,应用可包括允许hmd的终端用户在向终端用户显示或向其他hmd的终端用户显示的增强现实环境内创建虚拟对象。在该情况下,终端用户可使用向终端用户投影的虚拟相机取景器来选择现实世界对象的一部分(例如,英式足球的一部分),并实时地或在应用的运行时期间查看以与现实世界对象的所选部分相对应的虚拟材料或纹理覆盖的虚拟对象(例如,虚拟立方体或虚拟动物)。

图5b是描述用于使用纹理范例来生成并显示虚拟对象的方法的替换实施例的流程图。在一个实施例中,图5b的过程可由移动设备(诸如图1中的移动设备19)来执行。

在步骤532,使用移动设备来捕捉现实世界对象的一部分的彩色图像和深度图像。该移动设备可包括hmd。在一些情形中,现实世界对象的该部分可包括地毯的一部分、以墙纸覆盖的墙壁的一部分或英式足球的一部分。彩色图像可使用嵌入在移动设备内的彩色相机来捕捉,并且深度图像可使用嵌入在移动设备内的深度相机来捕捉。

在步骤534中,获得现实世界对象的三维模型。在一个实施例中,该三维模型可从服务器(诸如图1中的服务器15)获得。三维模型可包括诸如矩形棱柱、立方体、三角棱柱、正方棱锥、圆柱体、圆锥体或球体之类的三维形状。在一些实施例中,现实世界对象可包括三维对象,并且移动设备可从变化的视点捕捉该现实世界对象的多个图像,以便扫描该现实世界对象并生成该现实世界对象的三维模型。三维模型可包括使用表面重构技术确定的三维形状。表面重构技术可包括隐式重构技术或参数重构技术。该三维模型可包括参数曲面或三角形表面网格。该现实世界对象的形状可经由在与从变化的视点取得的现实世界对象的多个图像相关联的该现实世界对象的多个视图内的地标的配准来确定。

在步骤536,使用该三维模型来生成该彩色图像的未失真的彩色图像。在一些实施例中,未失真的彩色图像可通过以下方式来生成:使用现实世界对象的三维模型解除变形或变换该彩色图像,使得生成平坦的二维图像。在一个示例中,英式足球的一部分的彩色图像可被重新投影,使得由该英式足球的弯曲表面(归因于该英式足球为球体)引起的该英式足球的纹理的失真被校正,并且与该英式足球的平坦表面相关联的未失真的彩色图像被生成。

在步骤538,使用来自深度图像的深度信息来标识未失真的彩色图像内不作为该现实世界对象的一部分的一个或多个像素值。在一个实施例中,未失真的彩色图像内不作为现实世界对象的一部分的一个或多个像素值可基于不与现实世界对象在环境内的位置相对应的深度值来标识。在一个示例中,使用移动设备捕捉的彩色图像可包括覆盖有墙纸的墙壁的一部分以及位于捕捉彩色图像的移动设备和所选的现实世界对象之间的第二对象(例如,人或植物)。在该情形中,可标识出与第二对象相关联的像素值,并用使用未失真的彩色图像内被标识为属于现实世界对象的邻近像素值来内插的内插像素值来替换与第二对象相关联的像素值。与第二对象相关联的像素值可使用图像分割技术或通过标识彩色图像内与在与现实世界对象的该部分相关联的像素的可允许深度值范围之外的深度值(例如,与比现实世界对象离移动设备要近阈值距离(诸如离移动设备要近两英尺)的距离相对应的深度值)相对应的像素来标识。

在步骤540,更新未失真的彩色图像内不作为该现实世界对象的一部分的一个或多个像素值。该一个或多个像素值可用从未失真的彩色图像内被标识为属于现实世界对象的该部分的邻近像素值导出的内插像素值来更新。在步骤542,使用未失真的彩色图像来生成纹理图像。在一些情况下,纹理图像可通过以下方式来生成:从未失真的彩色图像中移除镜面反射和/或向未失真的彩色图像应用图像重投影技术,使得该纹理图像包括表现为已从与现实世界对象的该部分的表面正交的视点捕捉的纹理。在一些情况下,图像重投影技术可包括单面变换或仿射变换。

在步骤544,使用该纹理图像来生成该虚拟对象。在步骤546,使用移动设备渲染并显示虚拟对象的图像,使得该虚拟对象表现为是从该纹理图像制成或从与该纹理图像相关联的虚拟材料制成的。使用移动设备显示的图像可通过以下方式来生成:将纹理合成技术应用于该纹理图像,以渲染并显示覆盖有与该纹理图像相关联的虚拟材料的虚拟对象的至少一部分的图像。在一些情况下,在应用的运行时期间,hmd可渲染并显示该虚拟对象的图像,使得该虚拟对象的表面表现为覆盖有该虚拟材料。在一个示例中,应用可包括允许hmd的终端用户使用从现实世界对象导出的虚拟材料实时地在增强现实环境内创建虚拟对象的应用。

所公开的技术的一个实施例包括与透视显示器通信的一个或多个处理器。该一个或多个处理器获得现实世界对象的一部分的一个或多个图像,并获得该现实世界对象的三维模型。该一个或多个处理器标识一个或多个图像内的一个或多个镜面反射,并使用该现实世界对象的该一个或多个图像和三维模型来生成纹理范例。该一个或多个处理器将该纹理范例生成为使得一个或多个镜面反射不存在于该纹理范例内。该一个或多个处理器将该纹理范例生成为使得由该现实世界对象的弯曲表面引起的失真被校正。该一个或多个处理器渲染虚拟对象的图像,使得该虚拟对象表现为至少部分地覆盖有与该纹理范例相对应的虚拟材料。透视显示器显示经渲染的图像。

所公开的技术的一个实施例包括一种用于生成和控制虚拟对象的方法,该方法包括使用移动设备捕捉现实世界对象的一部分的一个或多个图像,获得该现实世界对象的三维模型,标识该一个或多个图像内的一个或多个镜面反射,以及使用该现实世界对象的该一个或多个图像和该三维模型来生成纹理范例。该纹理范例被生成为使得该一个或多个镜面反射不存在于该纹理范例内。该方法进一步包括使用该移动设备来渲染并显示虚拟对象的图像,使得该虚拟对象表现为至少部分地覆盖有与该纹理范例相对应的虚拟材料。

在一些实施例中,该方法进一步包括使用该现实世界对象的三维模型来解除变形该一个或多个图像,使得由该现实世界对象的弯曲表面引起的失真被校正。该一个或多个图像可包括彩色图像和深度图像。该方法可进一步包括使用来自深度图像的深度信息来标识彩色图像内不作为现实世界对象的一部分的一个或多个像素值,并用从彩色图像内作为现实世界对象的一部分的其他像素值导出的内插像素值来更新彩色图像内不作为现实世界对象的一部分的该一个或多个像素值。

所公开的技术的一个实施例包括包含处理器可读代码的一个或多个存储设备,该处理器可读代码将一个或多个处理器编码为执行一种用于使用头戴式显示设备来在增强现实环境内生成和控制虚拟对象的方法。该处理器可读代码包括被配置成使用头戴式显示设备来捕捉现实世界对象的一部分的一个或多个图像的处理器可读代码、被配置成获得现实世界对象的三维模型的处理器可读代码、被配置成标识该一个或多个图像内的一个或多个镜面反射的处理器可读代码,以及被配置成使用该现实世界对象的该一个或多个图像和三维模型来生成纹理范例的处理器可读代码。该纹理范例被生成为使得该一个或多个镜面反射不存在于该纹理范例内。该纹理范例被生成为使得由该现实世界对象的弯曲表面引起的失真被使用该现实世界对象的三维模型来校正。该处理器可读代码包括被配置成使用该头戴式显示设备来渲染并显示虚拟对象的图像,使得该虚拟对象表现为至少部分地覆盖有与该纹理范例相对应的虚拟材料的处理器可读代码。

图6是移动设备8300(诸如图1中的移动设备19)的一个实施例的框图。移动设备可以包括已经整合了无线接收机/发射机技术的膝上型计算机、袖珍计算机、移动电话、hmd、个人数字助理、以及手持式媒体设备。

移动设备8300包括一个或多个处理器8312以及存储器8310。存储器8310包括应用8330和非易失性存储8340。存储器8310可以是任何种类的存储器存储介质类型,包括非易失性和易失性存储器。移动设备操作系统处理移动设备8300的不同操作,并可包含用于操作的用户界面,如拨打和接听电话呼叫、文本消息收发、检查语音邮件等。应用8330可以是任何种类的程序,如用于照片和/或视频的相机应用、地址簿、日历应用、媒体播放器、因特网浏览器、游戏、闹钟应用、以及其它应用。存储器8310中的非易失性存储组件8340可以包含诸如音乐、照片、联系人数据、日程安排数据、以及其它文件之类的数据。

一个或多个处理器8312与透视显示器8309进行通信。透视显示器8309可显示与现实世界环境相关联的一个或多个虚拟对象。此一个或多个处理器8312还与下列各项通信:rf发射机/接收机8306,其又耦合到天线8302;红外发射机/接收机8308;全球定位服务(gps)接收器8365;以及移动/定向传感器8314,其可以包括加速度计和/或磁力计。rf发射机/接收机8308可以通过诸如蓝牙或ieee802.11标准之类的各种无线技术标准来实现无线通信。加速度计可能已经结合在移动设备中以实现诸如下列应用:智能用户界面应用,其让用户通过姿势输入命令;以及定向应用,其可以在移动设备被旋转时将显示自动地从竖向改变成横向。可以例如通过微机电系统(mems)来提供加速度计,微机电系统是构建在半导体芯片上的微小机械器件(微米尺寸)。可以感测加速度方向、以及定向、振动和震动。此一个或多个处理器8312还与响铃器/振动器8316、用户界面小键盘/屏幕8318、扬声器8320、话筒8322、相机8324、光传感器8326和温度传感器8328进行通信。用户界面小键盘/屏幕可以包括触敏屏幕显示器。

此一个或多个处理器8312控制无线信号的发射和接收。在发射模式期间,此一个或多个处理器8312向rf发射机/接收机8306提供来自话筒8322的语音信号,或其它数据信号。发射机/接收机8306通过天线8302来发射信号。响铃器/振动器8316被用于用信号向用户通知传入呼叫、文本消息、日历提醒、闹钟提醒或其他通知。在接收模式期间,rf发射机/接收机8306通过天线8302接收来自远程站的语音信号或数据信号。所接收到的语音信号被提供给扬声器8320,而接收到的其它数据信号被适当地处理。

另外,可以使用物理连接器8388来将移动设备8300连接到诸如ac适配器或加电对接底座之类的外部电源,以便对电池8304进行再充电。物理连接器8388还可被用作到外部计算设备的数据连接。该数据连接允许诸如将移动设备数据与另一设备上的计算数据进行同步等操作。

所公开的技术可用各种其它通用或专用计算系统环境或配置来操作。适合结合本技术中使用的公知的计算系统、环境和/或配置的示例包括,但不限于:个人计算机、服务器计算机、手持或膝上型设备、多处理器系统、基于微处理器的系统、机顶盒、可编程消费电子产品、网络pc、小型计算机、大型计算机、包含上述系统或设备中的任一个的分布式计算环境等。

所公开的技术可在诸如程序模块等由计算机执行的计算机可执行指令的通用上下文中描述。一般而言,如此处所述的软件和程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构和其它类型的结构。硬件或硬件和软件的组合可以替代在此描述的软件模块。

出于本文档的目的,说明书中提及的“一实施例”、“一个实施例”、“一些实施例”或“另一实施例”可被用于描述不同的实施例并且不一定指代同一实施例。

出于本文的目的,术语对象的“集合”指的是一个或多个对象的“集合”。

出于本文档的目的,术语“基于”可读作“至少部分地基于”。

出于本文档的目的,在没有附加上下文的情况下,使用诸如“第一”对象、“第二”对象和“第三”对象之类的数值项可能不暗示对象排序,但可改为用于标识目的以标识不同的对象。

尽管用结构特征和/或方法动作专用的语言描述了本发明主题,但可以理解,所附权利要求书中定义的主题不必限于上述具体特征或动作。更确切而言,上述具体特征和动作是作为实现权利要求的示例形式公开的。

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