用于调整所捕获的图像的视角以供显示的技术的制作方法

文档序号:11160779阅读:627来源:国知局
用于调整所捕获的图像的视角以供显示的技术的制造方法与工艺

本申请要求于2014年9月17日提交的、标题为“TECHNOLOGIES FOR ADJUSTING PERSPECTIVE OF A CAPTURED IMAGE FOR DISPLAY”的序列号为14/488,516的美国实用新型专利申请的优先权。



背景技术:

增强现实系统通过将虚拟的角色和对象投射到物理位置中来融合真实世界和虚拟世界,从而允许沉浸式的体验和新颖的交互模型。特别地,在一些增强现实系统中,可以将虚拟的角色和对象插入到所捕获的真实世界环境的图像中(例如,通过将虚拟角色的二维或三维渲染覆盖在所捕获的真实世界环境的图像或视频流上)。在一些系统中,在所捕获的图像中所识别出的物理对象可以被与该物理对象相关联的虚拟对象所替代。例如,可以在所捕获的图像中识别出经识别的车辆,并且用动画或类似卡通的车辆对其进行替代。

已经在静态计算设备和移动计算设备两者中实现了增强现实系统。在一些移动增强现实系统中,移动计算设备的相机(例如,位于显示器反面的智能电话相机)捕获真实世界环境的图像。接着,增强现实系统对所捕获的图像进行增强现实的修改,并且在移动计算设备的显示器中显示经增强的图像(例如,实时地)。以这样的方式,用户能够看到符合他或她的实际的真实世界环境的虚拟世界。然而,因为用户和移动计算设备的相机具有真实世界环境的不同的视角,所以沉浸式的体验由于受阻碍的视觉流而受到损害。例如,从用户的视角,真实世界的对象(例如,在移动计算设备的边缘处的那些对象)在增强现实渲染中是重复的。

附图说明

在附图中作为示例而非限制示出了在本文中所描述的概念。为了说明的简单和清楚,在图中所示出的元素不一定是按比例绘制的。在适当地考虑的情况下,可以在附图间重复附图标记,以指示对应的或类似的元素。

图1是用于调整所捕获的图像的视角以供显示的移动计算设备的至少一个实施例的简化框图;

图2是由图1的移动计算设备所建立的环境的至少一个实施例的简化框图;

图3是用于调整所捕获的图像的视角以供图1的移动计算设备来显示的方法的至少一个实施例的简化流程图;

图4是用于生成图1的移动计算设备的真实世界环境的后投影的方法的至少一个实施例的简化流程图;

图5是在执行图4的方法期间用户拿着图1的移动计算设备的简化示图;

图6是用于生成图1的移动计算设备的真实世界环境的后投影的方法的至少一个实施例的简化流程图;

图7-8是示出了各种角度关系的用户拿着图1的移动计算设备的简化示图;

图9是图1的移动计算设备的真实世界环境的简化示图;

图10是用户拿着图1的移动计算设备并且将没有经调整的视角的所捕获的对应的图像显示在移动计算设备上的示图;

图11是用户拿着图1的移动计算设备并且将具有凭借图3的方法的经调整的视角的所捕获的对应的图像显示在移动计算设备上的示图。

具体实施方式

尽管本公开的概念容易受到各种修改和可替代的形式的影响,但其具体的实施例已经作为示例在附图中被示出并且将在本文中详细地描述。然而,应当理解的是,没有打算将本公开的概念限制至所公开的特定的形式,而相反,目的是覆盖与本公开和所附权利要求相一致的所有修改、等同物、和替代物。

在说明书中对“一个实施例”、“实施例”、“说明性实施例”等的引用指示所描述的实施例可以包括特定的特征、结构、或特性,但每个实施例可以或可以不一定包括该特定的特征、结构、或特性。此外,这样的短语不一定指的是同一实施例。此外,当结合实施例来描述特定的特征、结构、或特性时,所主张的是结合其他实施例(无论其是否进行了明确地描述)实现这样的特征、结构、或特性也在本领域技术人员的知识范围内。额外地,应当理解的是,以“至少一个A、B和C”的形式包括在列表中的项目可以意味着(A);(B);(C);(A和B);(B和C);或者(A、B和C)。类似地,以“A、B或C中的至少一个”的形式列出的项目可以意味着(A);(B);(C);(A和B);(B和C);或者(A、B和C)。

在一些情况下,可以以硬件、固件、软件或其任何组合来实现所公开的实施例。还可以将所公开的实施例实现为由一个或多个瞬时性或者非瞬时性机器可读(例如,计算机可读)存储介质所实行或存储在其上的指令,所述指令可以由一个或多个处理器来读取或执行。机器可读存储介质可以被实施为用于以能够由机器读取的形式存储或发送信息的任何存储设备、机制、或其他物理结构(例如,易失性或非易失性存储器、媒体盘、或其他介质设备)。

在附图中,可以以具体的布置和/或顺序来示出一些结构或方法特征。然而,应当理解的是,这样的具体的布置和/或顺序不是必需的。相反,在一些实施例中,可以以与在说明性附图中所示出的不同的方式和/或顺序来布置这样的特征。额外地,将结构或方法特征包含在特定的附图中不意味着暗示在所有实施例中都需要这样的特征,而在一些实施例中,这样的特征可以不被包括,或者可以与其他特征进行组合。

现在参考图1,示出了用于调整所捕获的图像的视角以供显示的移动计算设备100。在使用中,如在下文中更加详细地描述的,移动计算设备100被配置为捕获移动计算设备100的用户的图像和移动计算设备100的真实世界环境的图像。移动计算设备100还分析所捕获的用户的图像来确定用户的眼睛相对于移动计算设备100的定位。如在下文中所讨论的,通过这样做,移动计算设备100可以确定用户到动计算设备100的距离,并且识别/检测在所捕获的图像中用户的眼睛的位置。额外地,移动计算设备100确定在所捕获的真实世界的环境中的一个或多个对象(例如,在所捕获的场景中的主要对象和/或其他对象)相对于移动计算设备100的距离。例如,如在下文中所描述的,取决于特定的实施例,移动计算设备100可以分析所捕获的真实世界环境的图像、利用深度或距离感测数据、或者以其他方式确定对象的相对距离。移动计算设备100基于真实世界的对象相对于移动计算设备100的距离、用户的眼睛相对于移动计算设备100的定位、以及一个或多个设备参数来确定真实世界环境到移动计算设备100的显示器120的后投影。如在下文中所讨论的,可以将后投影实施为后投影图像、可用于生成后投影图像的一组数据(例如,像素值)、和/或指示对应的后投影图像的其他数据。如在下文中所讨论的,设备参数可以包括例如:移动计算设备100的相机的焦距、显示器120或者移动计算设备100本身的大小、移动计算设备100的组件相对于彼此或参考点的位置、和/或与移动计算设备100相关联的其他相关信息。移动计算设备100基于所确定的后投影来显示图像,并且通过这样做,可以应用虚拟对象、角色、和/或场景,或者以其他方式修改图像以用于增强现实。应当理解的是,在本文中所描述的技术产生后投影至显示器120的图像,以使得在显示器120上可见的图像直接地或者接近直接地映射至真实世界,从而使得用户感觉如同她在通过窗户看着真实世界环境一样。即,在说明性实施例中,所显示的图像包括从与用户相同的视角观看时与移动计算设备100所遮挡的内容相同的内容。

可以将移动计算设备100实施为能够执行在本文中所描述的功能的任何类型的计算设备。例如,可以将移动计算设备100实施为智能电话、蜂窝电话、可穿戴计算设备、个人数字助理、移动互联网设备、平板计算机、上网本、笔记本计算机、超极本、膝上型计算机、和/或任何其他移动计算/通信设备。如在图1中所示出的,说明性移动计算设备100包括处理器110、输入/输出(“I/O”)子系统112、存储器114、数据存储116、相机系统118、显示器120、一个或多个传感器122、以及通信电路124。当然,在其他实施例中,移动计算设备100可以包括其他或额外的组件,例如在一般的计算设备中常常发现的那些组件(例如,各种输入/输出设备和/或其他组件)。额外地,在一些实施例中,可以将说明性组件中的一个或多个组件并入另一个组件或者以其他方式形成另一个组件。例如在一些实施例中,可以将存储器114或其部分并入处理器110。

处理器110可以被实施为能够执行在本文中所描述的功能的任何类型的处理器。例如,处理器110可以被实施为单核或多核处理器、数字信号处理器、微控制器、或者其它处理器或处理/控制电路。类似地,存储器114可以被实施为能够执行在本文中所描述的功能的任何类型的易失性或非易失性存储器或数据存储。在操作中,存储器114可以存储在移动计算设备100的操作期间所使用的各种数据和软件,例如,操作系统、应用、程序、库、和驱动程序。存储器114经由I/O子系统112通信地耦合至处理器110,其中I/O子系统112可以被实施为促进与处理器110、存储器114、以及移动计算设备100的其它组件的输入/输出操作的电路和/或组件。例如,I/O子系统112可以被实施为或者以其他方式包括:存储器控制器集线器、输入/输出控制集线器、固件设备、通信链路(即,点对点链路、总线链路、导线、电缆、光导、印刷电路板迹线等)、和/或促进输入/输出操作的其它组件和子系统。在一些实施例中,I/O子系统112可以形成片上系统(SoC)的一部分,并且连同处理器110、存储器114、以及移动计算设备100的其它组件一起被包含在单个集成电路芯片上。

数据存储116可以被实施为针对数据的短期存储或长期存储而配置的任何类型的设备或多个设备,例如,存储器设备和电路、存储器卡、硬盘驱动器、固态驱动器、或其他数据存储设备。在说明性实施例中,数据存储116可以存储移动计算设备100的设备参数130。应当理解的是,特定的设备参数130可以取决于特定的实施例而不同。设备参数130可以包括例如,与移动计算设备100、显示器120、和/或移动计算设备100的另一个组件的大小/形状相关联的信息或数据、与移动计算设备100的一个或多个相机相关的固有参数或其他数据(例如,焦距、基本点、变焦信息等)、移动计算设备100的组件相对于参考点的位置(例如,标识移动计算设备100的组件的相对位置的坐标系统)、和/或与移动计算设备100相关联的其他信息。额外地,在一些实施例中,数据存储116和/或存储器114可以存储在移动计算设备100的操作期间有用的各种其他数据。

相机系统118包括被配置为捕获图像或视频(即,图像或帧的集合)以及能够执行在本文中所描述的功能的多个相机。应当理解的是,可以将相机系统118的相机中的每个相机实施为适用于捕获图像的任何外围设备或集成的设备,例如,静物相机、视频相机、或能够捕获视频和/或图像的其他设备。在说明性实施例中,相机系统118包括面对用户的相机126和面对环境的相机128。如在下文中所指示的,可以将面对用户的相机126、面对环境的相机128、和/或相机系统118的其他相机中的每个相机实施为二维(2D)相机(例如,RGB相机)或三维(3D)相机。这样的3D相机包括例如,深度相机、双焦相机、和/或以其他方式能够生成深度图像、通道、或流的相机。例如,一个或多个相机可以包括红外(IR)投影仪和IR传感器,以使得IR传感器通过分析由IR投影仪投影在场景上的光图案来估计场景中的对象的深度值。在另一个实施例中,相机系统118的相机中的一个或多个相机包括至少两个镜头和对应的传感器,它们被配置为从场景的至少两个不同的视点来捕获图像(例如,立体相机)。

如在下文中更加详细地描述的,面对用户的相机126被配置为捕获移动计算设备100的用户的图像。特别地,面对用户的相机126捕获用户的脸的图像,所述图像可以被分析以确定用户的眼睛相对于移动计算设备100(例如,相对于面对用户的相机126或者相对于移动计算设备100的另一个参考点)的位置。面对环境的相机128捕获移动计算设备100的真实世界环境的图像。在说明性实施例中,面对用户的相机126和面对环境的相机128位于移动计算设备100的相反侧,并且因此具有相反方向的视场。特别地,面对用户的相机126与显示器120在移动计算设备100的相同侧,以使得面对用户的相机126可以在用户查看显示器120时捕获她的图像。

可以将移动计算设备100的显示器120实施为信息可以在其上被显示给移动计算设备100的用户的任何类型的显示器。此外,显示器120可以被实施为或者以其他方式使用任何合适的显示技术,所述显示技术包括例如,液晶显示(LCD)、发光二极管(LED)显示、阴极射线管(CRT)显示、等离子显示、触摸屏显示、和/或其他显示技术。尽管在图1的说明性实施例中仅仅示出了一个显示器120,但在其他实施例中,移动计算设备100可以包括多个显示器120。

如在图1中所示出的,移动计算设备100可以包括被配置为收集当执行在本文中所描述的功能时有用的数据的一个或多个传感器122。例如,传感器122可以包括可以用于确定对象与移动计算设备100的距离的深度传感器。额外地,在一些实施例中,传感器122可以包括加速度计、陀螺仪、和/或磁力计以确定移动计算设备100的相对朝向。在各种实施例中,传感器122可以被实施为或者以其他方式包括例如,接近度传感器、光学传感器、光传感器、音频传感器、温度传感器、运动传感器、压电传感器、和/或其他类型的传感器。当然,移动计算设备100还可以包括被配置为促进传感器122的使用的组件和/或设备。

通信电路124可以被实施为能够支持移动计算设备100与其他远程设备通过网络(未示出)的通信的任何通信电路、设备、或其集合。例如,在一些实施例中,移动计算设备100可以将在本文中所描述的功能中的一个或多个功能(例如,对后投影的确定)卸载至远程计算设备。通信电路124可以被配置为使用任何一个或多个通信技术(例如,无线或有线通信)和相关联的协议(例如,以太网、WiMAX等)来影响这样的通信。

现在参考图2,在使用中,移动计算设备100建立了用于调整所捕获的图像的视角以供在移动计算设备100的显示器120上显示的环境200。如在下文中所讨论的,移动计算设备100利用面对用户的相机126来捕获用户的图像,并且利用面对环境的相机128来捕获移动计算设备100的真实世界环境的图像。此外,移动计算设备基于由面对用户的相机126所捕获的图像来确定用户的眼睛相对于移动计算设备100的定位,并且基于由面对环境的相机128所捕获的图像来确定真实世界环境中的对象相对于移动计算设备100的距离。接着,移动计算设备100生成真实世界对象到显示器120的后投影,并且基于所生成的后投影来在显示器120上显示对应的图像(例如,包括增强现实修改)。

移动计算设备100的说明性环境200包括图像捕获模块202、眼睛追踪模块204、对象距离确定模块206、图像投影模块208、以及显示模块210。可以将环境200的模块中的每个模块实施为硬件、软件、固件、或其组合。例如,在实施例中,可以将环境200的模块中的每个模块实施为电路(例如,图像捕获电路、眼睛追踪电路、对象距离确定电路、图像投影电路、以及显示电路)。额外地,在一些实施例中,说明性模块中的一个或多个模块可以形成另一个模块的一部分。例如,在一些实施例中,图像投影模块208可以形成显示模块210的一部分。

图像捕获模块202控制相机系统118(例如,面对用户的相机126和面对环境的相机128)来在相应的相机126、128的视场内捕获图像。例如,如在本文中所描述的,面对用户的相机126被配置为捕获用户的脸的图像(例如,以供眼睛检测/追踪)。应当理解的是,移动计算设备100可以检测和/或追踪用户的眼睛中的一个或两个眼睛,并且因此,在说明性实施例中,由面对用户的相机126所捕获以供移动计算设备100分析的图像包括用户的眼睛中的至少一个眼睛。尽管有时出于描述的简单和清楚的目的关于用户的单个眼睛而在本文中讨论了眼睛追踪和分析,但在本文中所描述的技术等同地应用至对用户的两个眼睛的检测/追踪。额外地,如在本文中所讨论的,面对环境的相机128被配置为捕获移动计算设备100的真实世界环境的图像。尽管为了简单起见,这样的所捕获的图像常常在本文中被描述为具有单个主要对象,但应当理解的是,所捕获的场景可以包括任何数量的主要对象(独特的或者以其他方式重要的对象)。

眼睛追踪模块204确定用户的眼睛相对于移动计算设备100(例如,相对于面对用户的相机126或另一个参考点)的位置/定位。通过这样做,眼睛追踪模块204检测在由面对用户的相机126所捕获的图像中一个或多个人的眼睛的存在,并且确定在所捕获的图像(即,与眼睛相关联的图像的一部分)中待追踪的眼睛的位置。为此,眼睛追踪模块204可以使用任何合适的技术、算法、和/或图像滤波器(例如,边缘检测和图像分割)。在一些实施例中,眼睛追踪模块204确定在所捕获的图像中用户的脸的位置,并且利用用户的脸的位置来例如减小被分析以定位用户的眼睛的所捕获的图像的区域。额外地,在一些实施例中,眼睛追踪模块204分析用户的眼睛以确定用户的眼睛的各种特性/特征(例如,闪光位置、虹膜位置、瞳孔位置、虹膜-瞳孔对比、眼睛的大小/形状、和/或其他特性),从而确定用户的视线方向。例如可以使用用户的视线方向来确定用户是否在看着显示器120、在由面对环境的相机所捕获的场景中识别用户的视线所指向的对象(例如,主要对象)、确定用户的眼睛的相对位置或定位(例如,在三维空间中)、和/或出于其他目的。额外地,在一些实施例中,眼睛追踪模块204还可以确定用户的头的朝向或者以其他方式确定用户的头的姿势。

如在下文中所描述的,在确定用户的眼睛相对于移动计算设备100的定位时,眼睛追踪模块204确定用户眼睛相对于移动计算设备100(例如,相对于面对用户的相机126或者另一个参考点)的距离。应当理解的是,眼睛追踪模块204可以利用任何合适的算法和/或技术来这样做。例如,在一些实施例中,可以将面对用户的相机126实施为深度相机或者能够生成与在所捕获的场景中的对象的距离相对应的数据(例如,深度流或者深度图像)的其他3D相机。在另一个实施例中,眼睛追踪模块204可以结合用户的脸的已知的近似的大小来使用脸部检测,以估计用户的脸与移动计算设备100的距离。在另一个实施例中,眼睛追踪模块204可以分析与用户的眼睛相对应的所捕获的区域,以找到从用户的角膜的光的反射(即,闪光)和/或瞳孔。基于那些反射,眼睛追踪模块204可以确定用户的眼睛相对于移动计算设备100的位置或定位(例如,在三维空间中)。此外,在一些事实例中,眼睛追踪模块204可以结合在所捕获的图像中用户的眼睛的位置而利用由传感器122所生成的数据(例如,深度/距离信息)来确定用户的眼睛相对于移动计算设备100的位置。

对象距离确定模块206确定由面对环境的相机128所捕获的真实世界环境中的一个或多个对象相对于移动计算设备100(相对于面对环境的相机128或者相对于移动计算设备100的另一个参考点)的距离。如在上文中所指示的,在面对环境的相机128的视场内并且因此由面对环境的相机128所捕获的真实世界环境可以包括任何数量的对象。从而,取决于特定的实施例,对象距离确定模块206可以确定对象中的每个对象与移动计算设备100的距离或者对象的子集(例如,单个对象)与移动计算设备100的距离。例如,在一些实施例中,对象距离确定模块206识别针对其确定距离的所捕获的对象中的主要对象。这样的主要对象可以是例如用户的视线所指向的对象或者场景中的主对象。在一些实施例中,为了简单起见,对象距离确定模块206假定场景中的对象中的每个对象距离移动计算设备100大约相同的距离。此外,在一些实施例中,对象距离确定模块206假定或者以其他方式将对象与移动计算设备100的距离设置为预先定义的距离。例如,预先定义的距离可以是显著地大于面对环境的相机128的焦距的值、近似无穷的值(可用数空间中的最大数)、或者另一个预先定义的距离值。为了便于讨论,表示无穷的数在本文中可以简单地被称为“无穷”。

应当理解的是,对象距离确定模块206可以使用任何合适的技术和/或算法来确定真实世界环境中的对象相对于移动计算设备100的距离。例如,在一些实施例中,对象距离确定模块206可以使用在上文中所描述的关于确定(即,由眼睛追踪模块204)用户相对于移动计算设备100的距离的技术和算法中的一个或多个技术和算法。特别地,可以将面对环境的相机128实施为深度相机或者生成用于确定所捕获的图像中对象的距离的深度数据的其他3D相机。额外地或可替代地,在一些实施例中,对象距离确定模块206可以参考关于某些对象的大小的所存储的数据来估计对象与移动计算设备100的距离。在另一个实施例中,对象距离确定模块206可以利用由传感器122所生成的数据(例如,深度/距离信息)来确定对象相对于移动计算设备100的距离和/或位置。当然,在一些实施例中,对象距离确定模块206可以将特定对象的距离指定为预先定义的值。例如,对象距离确定模块206可以响应于确定对象的距离超过预先定义的阈值而假定对象是无穷远的。即,在一些实施例中,可以将距移动计算设备100至少阈值距离(例如,四米)的对象视为例如好像它们距移动计算设备100无穷远。从这样的实施例可以理解,运算偏差可以变得可忽略不计(例如,基于十米的距离和二十米的距离的运算可以得出大约相同的结果)。如在下文中所描述的,可以使用对象相对于移动计算设备100(例如,相对于相机128)的距离来确定对象相对于移动计算设备100的位置,并且生成真实世界环境的后投影(例如,基于设备参数130)。

图像投影模块208生成由面对环境的相机128所捕获的真实世界环境到显示器120的后投影。在说明性实施例中,图像投影模块208基于以下参数来生成后投影,所述参数包括:真实世界环境中的对象相对于移动计算设备100的距离(例如,无穷、预先定义的距离、或者经确定的距离)、用户的眼睛相对于移动计算设备100的定位/位置、和/或移动计算设备100的设备参数(例如,相机126、128的固有参数、移动计算设备100或显示器120的大小等)。如在上文中所指示的,通过将真实世界环境后投影至显示器120(即,朝向用户的眼睛)而将移动计算设备100所遮挡的可视内容示出在显示器120上,以使得用户感觉到好像她在通过窗口看。换句话说,由于边缘周围的对象不在所显示的图像中重复而保持了视觉连续性。应当理解的是,图像投影模块208可以利用任何合适的技术和/或算法来生成后投影图像,以供在移动计算设备100的显示器120上显示。如在下文中所描述的,图4-8示出了用来这样做的说明性实施例。

显示模块210在显示器120上渲染图像以供移动计算设备100的用户查看。例如,显示模块210可以基于由图像投影模块208所生成的后投影来在显示器120上渲染图像。当然,在一些实施例中,后投影可以不是在传统意义上“投影”在显示器120上的;相反,可以生成对应的图像以用于在显示器120上渲染。此外,如在上文中所讨论的,在一些实施例中,显示模块210可以修改后投影图像以包括针对增强现实的虚拟的对象、角色、和/或环境,并且在显示器120上渲染经修改的图像。

通信模块212处理在移动计算设备100与远程设备之间通过对应的网络的通信。例如,在一些实施例中,移动计算设备100可以与远程计算设备进行通信以将在本文中所描述的移动计算设备100的功能中的一个或多个功能(例如,用于确定后投影图像或者修改针对增强现实的图像)卸载至远程计算设备。当然,可以由远程计算设备来发送并且由移动计算设备100的通信模块212来接收与这样的分析相关联的相关数据。

现在参考图3,在使用中,移动计算设备100可以执行用于调整所捕获的图像的视角以供移动计算设备100显示的方法300。说明性方法300开始于方框302和310。在方框302中,移动计算设备100利用面对用户的相机126来捕获用户的脸的图像。取决于特定的实施例,面对用户的相机126可以连续地捕获图像(例如,作为视频流)以供分析或者对用户输入(例如,按下按钮)进行响应。在方框304中,移动计算设备100在所捕获的图像中识别用户的眼睛。如在上文中所讨论的,移动计算设备100可以利用任何合适的技术和/或算法(例如,边缘检测和/或图像分割)来这样做。此外,取决于特定的实施例,移动计算设备100可以确定和利用用户的眼睛中的一个或两个眼睛的位置。

在方框306中,移动计算设备100确定用户的眼睛相对于面对用户的相机126或移动计算设备100的另一个参考点的定位。通过这样做,移动计算设备100确定用户的距离,或者更加特别地,确定用户的眼睛相对于面对用户的相机126的距离。如在上文中所讨论的,移动计算设备100可以基于以下数据来进行这样的确定,例如,深度图像或者由面对用户的相机126(即,如果面对用户的相机126是深度相机或者其他3D相机)所生成的其他深度信息、用户视线信息、由传感器122所生成的距离信息、设备参数130、和/或其他相关数据。可以结合在所捕获的图像中用户的眼睛的位置来使用用户相对于面对用户的相机126的距离,以确定用户的眼睛相对于面对用户的相机126或移动计算设备100的其他参考点的定位。应当理解的是,设备参数130可以包括与移动计算设备100的组件相对于彼此的位置相关的信息,从而建立具有作为原点的参考点的坐标系统。被选择为原点的参考点可以取决于特定的实施例而不同,并且可以例如是面对用户的相机126的位置、面对环境的相机128的位置、显示器120的中心、或者另一个合适的位置。

如图所示,在图3的说明性实施例中,方框302-308与方框310-314并行发生;然而,在其他实施例中,可以串行地执行那些方框。在方框310中,移动计算设备100利用面对环境的相机128来捕获移动计算设备100的真实世界环境的图像。类似于面对用户的相机126,取决于特定的实施例,面对环境的相机128可以连续地捕获图像(例如,作为视频流)以供分析或者对诸如按下按钮之类的用户输入进行响应。例如,在一些实施例中,用户可以提供一些输入以开始执行方法300,在方法300中,移动计算设备100执行方框302和310中的每个方框。如在上文中所指示的,在说明性实施例中,面对环境的相机128位于面对用户的相机126反面,以使得面对环境的相机128具有类似于用户的视场(即,在相同的大致方向上)。

在方框312中,移动计算设备100确定对应的真实世界环境中的一个或多个对象相对于面对环境的相机128或移动计算设备的另一个参考点的距离。如在上文中所讨论的,移动计算设备100可以基于以下数据来进行这样的确定,例如,由面对环境的相机122(即,如果面对用户的相机126是深度相机或者其他3D相机)所生成的深度信息、由传感器122所生成的距离信息、设备参数130、和/或其他相关数据。此外,针对其确定了相对距离的对象可以取决于特定的实施例而不同。例如,在上文中所讨论的,在一些实施例中,移动计算设备100可以确定所捕获的图像中的每个对象或每个主要对象的相对距离,然而在其他实施例中,移动计算设备100可以仅仅确定所捕获的图像中的主对象(用户的视线所指向的、或者以其他方式被确定为主要对象的对象)的相对距离。此外,如在上文中所指示的,在方框314中,移动计算设备100可以将对象的距离设置为预先定义的距离。

在方框316中,移动计算设备100基于以下参数生成真实世界环境到显示器120的后投影,所述参数包括:真实世界对象相对于移动计算设备100的距离(例如,经确定的或者预先定义的距离)、用户的眼睛相对于移动计算设备100的定位、和/或一个或多个设备参数130(例如,相机126、128的固有参数、移动计算设备100或显示器120的大小等)。如在上文中所指示的,移动计算设备100可以使用用于这样做的任何合适的算法和/或技术来生成后投影图像。例如,在一些实施例中,移动计算设备100可以通过执行如在图4中所示出的方法400来生成后投影,而在其他实施例中,移动计算设备100可以通过执行如在图6中所示出的方法600来生成后投影。当然,应当理解的是,图4和图9的实施例是作为说明性实施例来提供的并且不限制在本文中所描述的概念。

在方框318中,在已经确定了后投影之后,移动计算设备100基于所生成的后投影而在显示器120上显示图像。通过这样做,在方框320中,移动计算设备100可以如在上文中所讨论的出于增强现实的目的而修改后投影或者对应的图像。例如,移动计算设备100可以将虚拟角色、对象、和/或其他虚拟特征并入所构建的/所生成的后投影图像中以用于在显示器120上渲染。当然,在一些实施例中,移动计算设备100可以针对增强现实或其他目的而不修改后投影,以使得观看者真实地感受到好像显示器120是她可以通过其看到移动计算设备100所遮挡的真实世界环境的窗口。

现在参考图4,说明性方法400开始于方框402,在方框402中,移动计算设备100确定是否生成后投影。如果生成后投影,则在方框404中,移动计算设备100确定从用户的眼睛504通过显示器120的下一显示像素506到真实世界对象508的光线502,如在图5中所示出的。应当理解的是,组成“下一”显示像素506的显示像素506可以取决于特定的实施例而不同。在说明性实施例中,移动计算设备100将在方法400的执行期间还没有针对其确定光线502的显示像素506选择为“下一”显示像素506。还应当理解的是,在其他实施例中,移动计算设备100可以确定通过显示器120的另一个子区域(即,例如不同于显示像素的在不同的粒度等级上的子区域)的光线502。

如在上文中所讨论的,移动计算设备100的设备参数130可以包括与移动计算设备100的各种组件的相对位置相关的数据,并且建立例如具有作为原点的某参考点的三维坐标系统。例如,在一些实施例中,面对环境的相机128可以是原点。应当理解的是,显示器上的每个像素/点都位于相对于面对环境的相机128的某点处。从而,在一些实施例中,移动计算设备100基于在上文中所描述的分析来确定用户的眼睛504和对象508的对应的三维坐标。应当理解的是,在说明性实施例中,具备有用户的眼睛504、显示像素506、和对象508的坐标或相对位置,移动计算设备100确定从用户的眼睛504通过显示像素506中的每个像素到对象508的对应的光线502。

在方框406中,移动计算设备100识别由面对环境的相机128所捕获的、与对应的光线502所指向的真实世界对象的定位/位置510相对应的真实世界环境的图像的图像像素。例如,基于诸如面对环境的相机128的固有参数(例如,焦距)之类的设备参数130以及对象508的真实世界坐标或相对位置,移动计算设备100可以确定如何将由面对环境的相机128所捕获的图像从真实世界环境投影至所捕获的图像的坐标。在这样的实施例中,移动计算设备100可以由此识别与光线502所指向的真实世界坐标(即,位置510)相关联的图像像素。

在方框408中,移动计算设备100确定是否剩余任何显示像素506。如果剩余,方法400返回至方框404,在方框404中,移动计算设备100确定从用户的眼睛504通过下一显示像素506到真实世界对象508的光线502。换句话说,移动计算设备100针对显示器120的每个显示像素506(或者显示器120的其他子区域)而确定从用户的眼睛504通过对应的显示像素506到真实世界环境中的对象508的光线502,并且针对每个经确定的光线502而识别与由对应的光线502所指向的真实世界环境中的对象的位置相对应的、由面对环境的相机128所捕获的真实世界环境的图像的图像像素。在方框410中,移动计算设备100从所识别的图像像素构建图像以用于在移动计算设备100上显示。在说明性实施例中,移动计算设备100在所生成的图像的合适的图像坐标中生成具有经识别的图像像素的图像。换句话说,移动计算设备100可以将可视内容从每个对应的光线502所指向的位置后投影至光线502穿过其的显示器120上的对应的点。

现在参考图6,在使用中,移动计算设备100可以执行用于生成如在上文中所指示的移动计算设备100的真实世界环境的后投影的方法600。说明性方法600开始于方框602,在方框602中,移动计算设备100确定是否生成后投影。如果确定生成后投影,则在方框604中,移动计算设备100基于用户706相对于面对用户的相机126(或者移动计算设备100的其他参考点)的距离704和设备参数130来确定从用户的视角的移动计算设备100的角度大小,如参考图7-8所示出的。如在上文中所指示的,设备参数130可以包括例如,移动计算设备100和/或移动计算设备100的组件的大小、形状、和其他特性。应当理解的是,对象的角度大小指示从距对象已知距离的参考点(例如,观察者或相机)包含对象所需要的观察角度。在说明性实施例中,从视角点的对象(例如,移动计算设备)的角度大小是根据来确定的,其中,δ是对象的角度大小,d是对应的对象的实际大小,而D是对应的对象与视角点(即,从其处确定角度大小的点)之间的距离。然而,在其他实施例中,可以以其他方式来确定对象的角度大小。应当理解的是,尽管有时可以关于二维而在本文中讨论了角度大小,但在本文中所描述的技术也可以应用至三维(例如,对水平角度大小和竖直角度大小两者进行考虑、确定跨对象的对角线的角度大小、将三维大小投影成二维的、应用在上文中所提供的角度大小公式的三维等价物等)。

在方框606中,移动计算设备100确定真实世界对象710相对于用户706的距离708。在说明性实施例中,移动计算设备100基于用户706到面对用户的相机126的距离704(见图3的方框308)、以及真实世界对象710到面对环境的相机128(见图3的方框312)或移动计算设备100的其他参考点的距离712来进行这样的确定。通过这样做,在一些实施例中,移动计算设备100可以假定用户706、移动计算设备100、以及对象710是相对共线的,并且对先前计算的两个距离求和以确定用户706与真实世界对象710(例如,如果对象远离用户)之间的距离708。在其他实施例中,移动计算设备100可以采用更加复杂的算法来确定用户706与真实世界对象710之间的距离。例如,移动计算设备100可以基于以下参数来进行这样的确定,所述参数包括:移动计算设备100、用户706(或者更加特别地,用户的眼睛)、以及对象710彼此或者到特定的参考点(例如,经定义的原点)的相对位置、移动计算设备100和用户706与移动计算设备100之间以及移动计算设备100与对象710之间的已知的距离704、712(例如,基于三角形的属性)。

在方框608中,移动计算设备100确定从用户的视角由移动计算设备100所遮挡的真实世界对象710的区域714。在说明性实施例中,移动计算设备100基于从用户的视角的移动计算设备100的角度大小以及真实世界对象710相对于用户706的距离708来进行这样的确定。

在方框610中,移动计算设备100基于从用户的视角所遮挡的真实世界对象的区域714以及真实世界对象距面对环境的相机128的距离712来确定面对环境的相机128的经校正的变焦大小。换句话说,移动计算设备100确定利用面对环境的相机128捕获与从用户的视角由移动计算设备100所遮挡的对象710的区域714相对应的图像所需要的面对环境的相机128的变焦大小。如在上文中所讨论的,设备参数130可以包括相机128的固有参数(例如,焦距、图像投影参数等)。应当理解的是,在一些实施例中,可以使用这样的设备参数130来识别与捕获到相机128某一距离的环境的特定的区域相对应的变焦大小。在一些实施例中,确定变焦大小以使得面对环境的相机128捕获这样的图像,其仅仅具有与来自从用户的视角由移动计算设备100所遮挡的对象的区域714的对象710的可视内容(例如,对象710的特征)相关联的图像像素。

在说明性实施例的方框612中,为了确定经校正的变焦大小,移动计算设备100确定与从用户的视角所遮挡的真实世界对象710的区域714相对应的、从面对环境的相机128的视角的真实世界对象710的区域718的角度大小716。移动计算设备100可以基于例如设备参数130和/或对应的几何学来进行这样的确定。即,在一些实施例中,移动计算设备100可以基于区域714的大小、距离712、以及在上文中所提供的角度大小公式来确定角度大小716。应当理解的是,在一些实施例中,区域718和区域714是相同的区域,而在一些实施例中,那些原因可以在某种程度上不同。类似地,经校正的变焦大小可以偏离生成区域718所需要的精确的变焦(例如,基于技术的、硬件的、和/或空间的限制)。在方框614中,移动计算设备100生成具有经校正的变焦大小的图像以供在移动计算设备100上显示。例如,在一些实施例中,移动计算设备100可以利用从同一视角但是具有不同的变焦大小的面对环境的相机128来捕获新的图像。在其他实施例中,移动计算设备100可以例如修改由面对环境的相机128所捕获的原始图像,以生成具有期望的变焦大小和其他特性的图像。

现在参考图9-11,示出了移动计算设备100的真实世界环境900(例如,见图9)和用户拿着计算设备100(见图10-11)的简化视图。如在上文中所讨论的,真实世界环境900可以由面对环境的相机128来捕获并且在显示器120上渲染。此外,在利用增强现实系统的情况下,可以修改所捕获的图像以将例如虚拟角色、对象、或其他特征并入所捕获的图像中以供在移动计算设备100上显示。在没有利用图3的方法300的实施例中(即,如果在移动计算设备100的显示器120上显示所捕获的图像或增强现实的经修改的版本),则在显示器120上所显示的图像902包括在移动计算设备100的边缘周围的真实世界环境900中也可见的真实世界对象904(例如,见图10)。换句话说,对用户可见的某些真实世界对象904在所显示的图像902中是重复的,从而阻碍了视觉流。然而,在利用了图3的方法300的实施例中,在显示器120上所显示的图像906包括从与用户相同的视角观察的、与由移动计算设备100所遮挡的内容相同的可视内容。因为保持了所显示的图像906与背景真实世界环境900之间的视觉连续性,因此用户感觉到好像她在通过窗口看着真实世界环境900一样。

示例

以下提供了在本文中所公开的技术的说明性示例。技术的实施例可以包括在下文中所描述的任何一个或多个示例以及在下文中所描述的示例的任何组合。

示例1包括一种用于调整所捕获的图像的视角以供显示的移动计算设备,所述移动计算设备包括:显示器;相机系统,其包括第一相机和第二相机,所述相机系统用于(i)利用所述第一相机捕获所述移动计算设备的用户的第一图像,并且(i)利用所述第二相机捕获所述移动计算设备的真实世界环境的第二图像;眼睛追踪模块,其用于基于所捕获的第一图像来确定所述用户的眼睛相对于所述移动计算设备的定位;对象距离确定模块,其用于基于所捕获的第二图像来确定所述真实世界环境中的对象相对于所述移动计算设备的距离;图像投影模块,其用于基于以下参数来生成由所述第二相机所捕获的所述真实世界环境对所述显示器的后投影,所述参数包括:所述真实世界环境中的所述对象相对于所述移动计算设备的经确定的距离、所述用户的眼睛相对于所述移动计算设备的经确定的定位、以及所述移动计算设备的至少一个设备参数。

示例2包括示例1的主题,并且其中,生成所述后投影包括:针对所述显示器的每个像素而确定从所述用户的眼睛通过对应的显示像素到所述真实世界环境中的所述对象的光线;针对所确定的每个光线而识别与对应的光线所指向的所述真实世界环境中的所述对象的定位相对应的、所述真实世界环境的所述所捕获的第二图像的图像像素;以及基于所识别的图像像素来构建后投影图像以用在所述移动计算设备的所述显示器上显示。

示例3包括示例1和示例2中的任何一个的主题,并且其中,生成所述后投影包括:确定从所述用户的角度的所述移动计算设备的角度大小;确定所述真实世界环境中的所述对象相对于所述用户的距离;确定从所述用户的视角由所述移动计算设备所遮挡的所述对象的区域;基于由所述移动计算设备所遮挡的所述对象的经确定的区域以及所述对象相对于所述移动计算设备的距离来确定所述第二相机的经校正的变焦大小;以及基于所述经校正的变焦大小来生成后投影图像以供在所述移动计算设备的所述显示器上显示。

示例4包括示例1-3中的任何一个的主题,并且其中,确定所述经校正的变焦大小包括确定与从所述用户的视角由所述移动计算设备所遮挡的所述对象的所述区域相对应的、从所述第二相机的视角的所述对象的区域的角度大小。

示例5包括示例1-4中的任何一个的主题,并且其中,所述经校正的变焦大小是利用所述第二相机捕获与从所述用户的视角由所述移动计算设备所遮挡的所述对象的所述区域相对应的图像所需要的变焦大小。

示例6包括示例1-5中的任何一个的主题,并且其中,所述经校正的变焦大小是利用所述第二相机捕获仅仅具有与来自从所述用户的视角由所述移动计算设备所遮挡的所述对象的所述区域的所述对象的特征相对应的图像像素的图像所需要的变焦大小。

示例7包括示例1-6中的任何一个的主题,并且其中,确定从所述用户的视角的所述移动计算设备的所述角度大小包括基于所述用户的眼睛相对于所述移动计算设备的距离和所述移动计算设备的大小来确定从所述用户的视角的所述移动计算设备的角度大小;确定所述对象相对于所述用户的距离包括基于所述用户的眼睛相对于所述移动计算设备的距离和所述对象相对于所述移动计算设备的距离来确定所述对象相对于所述用户的距离;以及确定从所述用户的视角由所述移动计算设备所遮挡的所述对象的所述区域包括基于从所述用户的视角的所述移动计算设备的所述角度大小和所述对象相对于所述用户的距离来确定由所述移动计算设备所遮挡的所述对象的所述区域的所述角度大小。

示例8包括示例1-7中的任何一个的主题,并且其中,角度大小,δ,是根据来确定的,其中,d是对应的对象的实际大小而D是所述对应的对象与点之间的距离,所述点是从其确定所述角度大小的视角。

示例9包括示例1-8中的任何一个的主题,并且其中,捕获所述用户的所述第一图像包括捕获所述用户的脸的图像;并且确定所述用户的眼睛相对于所述移动计算设备的定位包括识别所述用户的眼睛在所述用户的脸的所述图像中的位置。

示例10包括示例1-9中的任何一个的主题,并且其中,确定所述用户的眼睛相对于所述移动计算设备的定位包括确定所述用户的眼睛距所述移动计算设备的距离。

示例11包括示例1-10中的任何一个的主题,并且其中,确定所述用户的眼睛相对于所述移动计算设备的定位包括确定所述用户的眼睛相对于所述第一相机的定位;并且确定所述真实世界环境中的所述对象相对于所述移动计算设备的距离包括确定所述对象相对于所述第二相机的距离。

示例12包括示例1-11中的任何一个的主题,并且其中,所述第一相机具有与所述第二相机的视场关于所述显示器方向相反的视场。

示例13包括示例1-12中的任何一个的主题,并且其中,确定所述真实世界环境中的所述对象相对于所述移动计算设备的距离包括将所述对象相对于所述移动计算设备的距离设置为预先定义的距离。

示例14包括示例1-13中的任何一个的主题,并且其中,所述预先定义的距离大于所述第二相机的焦距。

示例15包括示例1-14中的任何一个的主题,并且还包括显示模块,所述显示模块用于基于由所述第二相机所捕获的所述真实世界环境的所生成的后投影来在所述显示器上显示图像。

示例16包括示例1-15中的任何一个的主题,并且其中,基于所述所生成的后投影来显示所述图像包括显示与被修改为包括增强现实特征的所述后投影相对应的图像。

示例17包括示例1-16中的任何一个的主题,其中,所述至少一个设备参数包括以下中的至少一个:(i)所述第二相机的焦距、(ii)所述显示器的大小、(iii)所述移动计算设备的大小、或者(iv)所述移动计算设备的组件相对于参考点的位置。

示例18包括一种用于调整所捕获的图像的视角以供在移动计算设备上显示的方法,所述方法包括:由所述移动计算设备的第一相机捕获所述移动计算设备的用户的第一图像;由所述移动计算设备基于所捕获的第一图像来确定所述用户的眼睛相对于所述移动计算设备的定位;由不同于所述第一相机的所述移动计算设备的第二相机来捕获所述移动计算设备的真实世界环境的第二图像;由所述移动计算设备基于所捕获的第二图像来确定所述真实世界环境中的对象相对于所述移动计算设备的距离;以及由所述移动计算设备基于以下参数来生成由所述第二相机所捕获的所述真实世界环境对所述移动计算设备的显示器的后投影,所述参数包括:所述真实世界环境中的所述对象相对于所述移动计算设备的经确定的距离、所述用户的眼睛相对于所述移动计算设备的经确定的定位、以及所述移动计算设备的至少一个设备参数。

示例19包括示例18的主题,并且其中,生成所述后投影包括:针对所述显示器的每个像素而确定从所述用户的眼睛通过对应的显示像素到所述真实世界环境中的所述对象的光线;针对所确定的每个光线而识别与对应的光线所指向的所述真实世界环境中的所述对象的定位相对应的、所述真实世界环境的所述所捕获的第二图像的图像像素;以及基于所识别的图像像素来构建后投影图像以用在所述移动计算设备的所述显示器上显示。

示例20包括示例18和示例19中的任何一个的主题,并且其中,生成所述后投影包括:确定从所述用户的角度的所述移动计算设备的角度大小;确定所述真实世界环境中的所述对象相对于所述用户的距离;确定从所述用户的视角由所述移动计算设备所遮挡的所述对象的区域;基于由所述移动计算设备所遮挡的所述对象的经确定的区域以及所述对象相对于所述移动计算设备的距离来确定所述第二相机的经校正的变焦大小;以及基于所述经校正的变焦大小来生成后投影图像以供在所述移动计算设备的所述显示器上显示。

示例21包括示例18-20中的任何一个的主题,并且其中,确定所述经校正的变焦大小包括确定与从所述用户的视角由所述移动计算设备所遮挡的所述对象的所述区域相对应的、从所述第二相机的视角的所述对象的区域的角度大小。

示例22包括示例18-21中的任何一个的主题,并且其中,所述经校正的变焦大小是利用所述第二相机捕获与从所述用户的视角由所述移动计算设备所遮挡的所述对象的所述区域相对应的图像所需要的变焦大小。

示例23包括示例18-22中的任何一个的主题,并且其中,所述经校正的变焦大小是利用所述第二相机捕获仅仅具有与来自从所述用户的视角由所述移动计算设备所遮挡的所述对象的所述区域的所述对象的特征相对应的图像像素的图像所需要的变焦大小。

示例24包括示例18-23中的任何一个的主题,并且其中,确定从所述用户的视角的所述移动计算设备的所述角度大小包括基于所述用户的眼睛相对于所述移动计算设备的距离和所述移动计算设备的大小来确定从所述用户的视角的所述移动计算设备的角度大小;确定所述对象相对于所述用户的距离包括基于所述用户的眼睛相对于所述移动计算设备的距离和所述对象相对于所述移动计算设备的距离来确定所述对象相对于所述用户的距离;以及确定从所述用户的视角由所述移动计算设备所遮挡的所述对象的所述区域包括基于从所述用户的视角的所述移动计算设备的所述角度大小和所述对象相对于所述用户的距离来确定由所述移动计算设备所遮挡的所述对象的所述区域。

示例25包括示例18-24中的任何一个的主题,并且其中,角度大小,δ,是根据来确定的,其中,d是对应的对象的实际大小而D是所述对应的对象与点之间的距离,所述点是从其确定所述角度大小的视角。

示例26包括示例18-25中的任何一个的主题,并且其中,捕获所述用户的所述第一图像包括捕获所述用户的脸的图像;并且确定所述用户的眼睛相对于所述移动计算设备的定位包括识别所述用户的眼睛在所述用户的脸的所述图像中的位置。

示例27包括示例18-26中的任何一个的主题,并且其中,确定所述用户的眼睛相对于所述移动计算设备的定位包括确定所述用户的眼睛具所述移动计算设备的距离。

示例28包括示例18-27中的任何一个的主题,并且其中,确定所述用户的眼睛相对于所述移动计算设备的定位包括确定所述用户的眼睛相对于所述第一相机的定位;并且确定所述真实世界环境中的所述对象相对于所述移动计算设备的距离包括确定所述对象相对于所述第二相机的距离。

示例29包括示例18-28中的任何一个的主题,并且其中,所述第一相机具有与所述第二相机的视场关于所述显示器方向相反的视场。

示例30包括示例18-29中的任何一个的主题,并且其中,确定所述真实世界环境中的所述对象相对于所述移动计算设备的距离包括将所述对象相对于所述移动计算设备的距离设置为预先定义的距离。

示例31包括示例18-30中的任何一个的主题,并且其中,所述预先定义的距离大于所述第二相机的焦距。

示例32包括示例18-31中的任何一个的主题,并且还包括显示模块,所述显示模块用于基于由所述第二相机所捕获的所述真实世界环境的所生成的后投影来在所述显示器上显示图像。

示例33包括示例18-32中的任何一个的主题,并且其中,基于所述所生成的后投影来显示所述图像包括显示与被修改为包括增强现实特征的所述后投影相对应的图像。

示例34包括示例18-33中的任何一个的主题,其中,所述至少一个设备参数包括以下中的至少一个:(i)所述第二相机的焦距、(ii)所述显示器的大小、(iii)所述移动计算设备的大小、或者(iv)所述移动计算设备的组件相对于参考点的位置。

示例35包括移动计算设备,所述移动计算设备包括处理器;以及具有存储在其中的多个指令的存储器,其中当由所述处理器执行时,所述指令使得所述移动计算设备执行示例18-34中的任何一个所述的方法。

示例36包括一个或多个机器可读存储介质,所述机器可读存储介质包括存储在其上的多个指令,其中响应于被执行,所述多个指令使得移动计算设备执行示例18-34中的任何一个所述的方法。

示例37包括用于调整所捕获的图像的视角以供显示的移动计算设备,所述移动计算设备包括:用于由所述移动计算设备的第一相机来捕获所述移动计算设备的用户的第一图像的单元;用于基于所捕获的第一图像来确定所述用户的眼睛相对于所述移动计算设备的定位的单元;用于由不用于所述第一相机的所述移动计算设备的第二相机来捕获所述移动计算设备的真实世界环境的第二图像的单元;用于基于所捕获的第二图像来确定所述真实世界环境中的对象相对于所述移动计算设备的距离的单元;用于基于以下参数来生成由所述第二相机所捕获的所述真实世界环境对所述显示器的后投影,所述参数包括:所述真实世界环境中的所述对象相对于所述移动计算设备的经确定的距离、所述用户的眼睛相对于所述移动计算设备的经确定的定位、以及所述移动计算设备的至少一个设备参数。

示例38包括示例37的主题,并且其中,用于生成所述后投影的单元包括:用于针对所述显示器的每个像素而确定从所述用户的眼睛通过对应的显示像素到所述真实世界环境中的所述对象的光线的单元;用于针对所确定的每个光线而识别与对应的光线所指向的所述真实世界环境中的所述对象的定位相对应的、所述真实世界环境的所述所捕获的第二图像的图像像素的单元;以及用于基于所识别的图像像素来构建后投影图像以用在所述移动计算设备的所述显示器上显示的单元。

示例39包括示例37和示例38中的任何一个的主题,并且其中,用于生成所述后投影的单元包括:用于确定从所述用户的角度的所述移动计算设备的角度大小的单元;用于确定所述真实世界环境中的所述对象相对于所述用户的距离的单元;用于确定从所述用户的视角由所述移动计算设备所遮挡的所述对象的区域的单元;用于基于由所述移动计算设备所遮挡的所述对象的经确定的区域以及所述对象相对于所述移动计算设备的距离来确定所述第二相机的经校正的变焦大小的单元;以及用于基于所述经校正的变焦大小来生成后投影图像以供在所述移动计算设备的所述显示器上显示的单元。

示例40包括示例37-39中的任何一个的主题,并且其中,用于确定所述经校正的变焦大小的单元包括用于确定与从所述用户的视角由所述移动计算设备所遮挡的所述对象的所述区域相对应的、从所述第二相机的视角的所述对象的区域的角度大小的单元。

示例41包括示例37-40中的任何一个的主题,并且其中,所述经校正的变焦大小是利用所述第二相机捕获与从所述用户的视角由所述移动计算设备所遮挡的所述对象的所述区域相对应的图像所需要的变焦大小。

示例42包括示例37-41中的任何一个的主题,并且其中,所述经校正的变焦大小是利用所述第二相机捕获仅仅具有与来自从所述用户的视角由所述移动计算设备所遮挡的所述对象的所述区域的所述对象的特征相对应的图像像素的图像所需要的变焦大小。

示例43包括示例37-42中的任何一个的主题,并且其中,用于确定从所述用户的视角的所述移动计算设备的所述角度大小的单元包括用于基于所述用户的眼睛相对于所述移动计算设备的距离和所述移动计算设备的大小来确定从所述用户的视角的所述移动计算设备的角度大小的单元;用于确定所述对象相对于所述用户的距离的单元包括用于基于所述用户的眼睛相对于所述移动计算设备的距离和所述对象相对于所述移动计算设备的距离来确定所述对象相对于所述用户的距离的单元;以及用于确定从所述用户的视角由所述移动计算设备所遮挡的所述对象的所述区域的单元包括用于基于从所述用户的视角的所述移动计算设备的所述角度大小和所述对象相对于所述用户的距离来确定由所述移动计算设备所遮挡的所述对象的所述区域的单元。

示例44包括示例37-43中的任何一个的主题,并且其中,角度大小,δ,是根据来确定的,其中,d是对应的对象的实际大小而D是所述对应的对象与点之间的距离,所述点是从其确定所述角度大小的视角。

示例45包括示例37-44中的任何一个的主题,并且其中,用于捕获所述用户的所述第一图像的单元包括用于捕获所述用户的脸的图像;并且用于确定所述用户的眼睛相对于所述移动计算设备的定位包括用于识别所述用户的眼睛在所述用户的脸的所述图像中的位置的单元。

示例46包括示例37-45中的任何一个的主题,并且其中,用于确定所述用户的眼睛相对于所述移动计算设备的定位的单元包括用于确定所述用户的眼睛距所述移动计算设备的距离的单元。

示例47包括示例37-46中的任何一个的主题,并且其中,用于确定所述用户的眼睛相对于所述移动计算设备的定位的单元包括用于确定所述用户的眼睛相对于所述第一相机的定位的单元;并且用于确定所述真实世界环境中的所述对象相对于所述移动计算设备的距离的单元包括用于确定所述对象相对于所述第二相机的距离的单元。

示例48包括示例37-47中的任何一个的主题,并且其中,所述第一相机具有与所述第二相机的视场关于所述显示器方向相反的视场。

示例49包括示例37-48中的任何一个的主题,并且其中,用于确定所述真实世界环境中的所述对象相对于所述移动计算设备的距离的单元包括用于将所述对象相对于所述移动计算设备的距离设置为预先定义的距离的单元。

示例50包括示例37-49中的任何一个的主题,并且其中,所述预先定义的距离大于所述第二相机的焦距。

示例51包括示例37-50中的任何一个的主题,并且还包括用于基于由所述第二相机所捕获的所述真实世界环境的所生成的后投影来在所述显示器上显示图像的单元。

示例52包括示例37-51中的任何一个的主题,并且其中,用于基于所述所生成的后投影来显示所述图像的单元包括用于显示与被修改为包括增强现实特征的所述后投影相对应的图像的单元。

示例53包括示例37-52中的任何一个的主题,其中,所述至少一个设备参数包括以下中的至少一个:(i)所述第二相机的焦距、(ii)所述显示器的大小、(iii)所述移动计算设备的大小、或者(iv)所述移动计算设备的组件相对于参考点的位置。

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