混合现实(mr)涉及描述现实世界和计算机生成数据的组合的计算机研究领域。传统上,mr采用现实世界视频图像的使用,其被数字处理并与计算机生成的图形的添加混合,其可以包括二维或三维图像,例如全息图。一些mr系统利用相机来获得一个或多个现实图像(例如视频帧),并且在一个或多个图像上覆盖一个或多个全息图以在设备显示器上显示,其中显示设备可以是mr设备上的显示器、在另一设备上的显示器、远程显示器等。在一个特定应用中,显示mr覆盖图像的设备可以是基于镜头的设备,其包括位于镜头内并且在穿戴着该设备的用户视野中的显示器。该设备还可以包括捕获一个或多个现实图像的相机,其中这些一个或多个图像是位于镜头前方的场景的一部分。类似地,支持相机的无线电话或具有相机的其他设备可用于捕获一个或多个现实图像,并且生成一个或多个图像,其中一个或多个全息图覆盖在一个或多个图像上。例如支持相机的无线电话可以在显示器的相对侧上具有后置相机,使得相机可以捕获显示器前面的一个或多个现实图像。
技术实现要素:
以下呈现一个或多个方面的简要概述,以便提供对这些方面的基本理解。该发明内容不是对所有预期方面的广泛概述,并且既不旨在标识所有方面的关键或重要元素,也不旨在描绘任意或所有方面的范围。其唯一目的是以简化形式呈现一个或多个方面的一些概念,作为稍后呈现的更详细描述的序言。
在示例中,提供了一种计算设备,其包括:相机,包括:镜头,该镜头被配置为捕获并提供一个或多个现实世界图像;以及至少一个处理器,被配置为将一个或多个计算机生成的图像覆盖在所述一个或多个现实世界图像上。所述至少一个处理器被配置为使得所述相机至少部分地基于深度来聚焦所述镜头以用于捕获所述一个或多个现实世界图像,在所述深度处所述至少一个处理器覆盖所述一个或多个计算机生成的图像中的至少一个计算机生成的图像。
在另一示例中,提供了一种用于捕获一个或多个现实世界图像以用于与一个或多个计算机生成的图像一起提供的方法。该方法包括接收用于覆盖一个或多个现实世界图像的一个或多个计算机生成的图像,确定用于将一个或多个计算机生成的图像中的至少一个计算机生成的图像覆盖在一个或多个现实世界图像上的深度,基于深度来聚焦相机的镜头,经由具有基于深度聚焦的镜头的相机来捕获一个或多个现实世界图像,并且提供一个或多个现实世界图像作为一个或多个混合现实图像,其中一个或多个计算机生成的图像覆盖在一个或多个现实世界图像上。
在另一示例中,提供了一种非暂态计算机可读介质,其包括用于捕获一个或多个现实世界图像以用于与一个或多个计算机生成图像一起提供的代码。该代码包括用于接收一个或多个计算机生成的图像以用于覆盖一个或多个现实世界图像的代码,用于确定用于将一个或多个计算机生成的图像中的至少一个计算机生成的图像覆盖一个或多个现实世界图像上的的深度的代码,用于基于深度来聚焦相机镜头的代码,用于经由具有基于深度聚焦的镜头的相机来捕获一个或多个现实世界图像的代码,以及用于提供一个或多个现实世界图像作为一个或多个混合现实图像的代码,其中一个或多个计算机生成的图像覆盖在一个或多个现实世界图像上。
为了实现前述和相关目的,一个或多个方面包括在下文中充分描述并在权利要求中特别指出的特征。以下描述和附图详细阐述了一个或多个方面的某些说明性特征。然而,这些特征仅指示可以采用各个方面的原理的各种方式中的一些,并且该描述旨在包括所有这些方面及其等同物。
附图说明
图1是用于生成混合现实图像的计算设备的示例的示意图。
图2是用于显示具有一个或多个覆盖全息图的图像的方法的示例的流程图。
图3是用于修改从相机接收的一个或多个图像的过程的示例的流程图。
图4是可以由混合现实设备捕获和显示的图像的示例的示意图。
图5是用于执行本文描述的功能的计算设备的示例的示意图。
具体实施方式
以下结合附图阐述的具体实施方式旨在作为各种配置的描述,而不旨在表示可实践本文所描述的概念的仅有配置。该具体实施方式包括针对用于提供对各种概念的透彻理解的目的的具体细节。然而,对于本领域技术人员来说显而易见的是,可以在没有这些具体细节的情况下实践这些概念。在一些实例中,众所周知的组件以框图形式示出,以避免使这些概念模糊。
本文描述了与混合现实(mr)设备相关的各种示例,混合现实(mr)设备用于获得一个或多个现实世界图像(例如,物理、现实世界或现实生活对象的二维(2d)和/或三维(3d)静止图像、2d和/或3d视频的帧等)和用一个或多个计算机生成的图形(例如,2d和/或3d图像,其中3d图像在本文中可称为“全息图”)覆盖它们,其中可以控制捕获一个或多个现实世界图像的相机的镜头,以基于所述一个或多个全息图中的至少一个来聚焦在一定深度。例如mr设备可以在一个或多个图像中的特定位置处绘制全息图,其可以包括深度(例如三维平面上的点)。在一个示例中,在深度处绘制全息图可以提供被定位在一个或多个图像中的现实对象上或附近的全息图的视觉效果,以提供混合现实。因此,本文描述的mr装置可以基于全息图的深度(例如在全息图的中心点或另一点的深度处)聚焦捕获一个或多个图像的相机的镜头,使得处于或者靠近全息图位置的现实对象可以在图像中聚焦。虽然本文描述的概念和功能主要涉及全息图,但是对于可以覆盖在现实世界图像上的基本上任意计算机生成的图形(例如也包括2d图像),可以类似地执行聚焦相机的镜头。
在一个示例中,在图像中存在多个全息图的情况下,mr设备可以选择全息图以用于确定聚焦相机镜头的深度,其中选择可以来自所接收的输入中的至少一个(例如检测到的手势输入、语音识别输入等),从一个或多个传感器(例如用于检测用户的眼睛注视的注视跟踪传感器)确定,自动确定,其可以基于全息图本身的启发(例如大小、距mr设备的距离、最近生成的全息图等)和/或基于先前从当前和/或先前用户接收的用户输入(例如最近选择的全息图、来自其他用户的大多数选择等)和/或类似物。本文描述的概念可以改进混合现实设备的用户体验,因为相关联的图像可以聚焦在放置一个或多个全息图的点处周围,该点是用户可能感兴趣的点。在示例中,本文关于混合现实设备描述的概念也可以应用于增强现实设备(例如其中全息图放置(例如深度)可以不基于实际的现实世界图像而改变的设备)。
现在转向图1-3,参考可以执行本文描述的动作或操作的一个或多个组件和一个或多个方法来描绘示例,其中虚线中的组件和/或动作/操作可以是可选的。尽管下面在图2和图3中描述的操作以特定顺序呈现和/或由示例组件执行,但是在一些示例中,动作的顺序和执行动作的组件可以根据实现而变化。此外,在一些示例中,以下动作、功能和/或所描述的组件中的一个或多个可以由专门编程的处理器、执行专门编程的软件或计算机可读介质的处理器,或通过能够执行所描述的动作或功能的硬件组件和/或软件组件的任何其他组合来执行。
图1是计算设备100的示例的示意图,该计算设备100可以包括处理器102和/或存储器104,其被配置为执行或存储与执行mr覆盖组件106相关的指令或其他参数,以用于基于将被覆盖在相机获得的现实世界图像122上的计算机生成的图形(例如全息图120)的深度来控制相机110的焦点。如本文所述,短语“控制相机的焦点”包括但是不限于控制用于获得现实世界图像的相机110的镜头或一组镜头的焦距。计算设备100还可以可选地包括显示器108,用于例如经由来自处理器102的指令来显示由相机110捕获的一个或多个现实世界图像122,该一个或多个现实世界图像122可以被存储在存储器104中。一个或多个现实世界图像122可以对应于2d和/或3d静止图像、用于在显示器108(或另一显示器)上绘制视频的2d和/或3d视频的帧等,或者对应于可以由相机110(例如,在视场内)捕获的现实世界场景的至少一部分的任何其他类型的现实世界图像。因此,例如相机110可以是2d和/或3d相机。
例如相机110可以包括可以通过其捕获一个或多个现实世界图像122的镜头112,以及用于将镜头自动聚焦(例如,设置焦距)到一个或多个现实世界图像122中的一个或多个现实世界对象上的聚焦组件114。例如,镜头112可以包括单个镜头,或者多个镜头,例如一个或多个元件,其既散射又会聚光以将光聚焦到相机110中的光敏表面上,并重新组装从已经通过光学系统的场景反射的光,得到一个图像。聚焦组件114可以包括用于提供自动聚焦功能的一种或多种技术,诸如在一个或多个现实世界图像122中的一个或多个位置处检测到的对比度水平,在一个或多个现实世界图像122中的一个或多个位置处检测到的相位,在一个或多个现实世界图像122中检测到的一个或多个现实世界对象的深度,用于检测一个或多个现实世界图像122中的人脸的面部检测机构等。然而,在一个示例中,mr覆盖组件106可以将与全息图120有关的深度信息提供给焦点组件114,以用于在执行镜头112的自动聚焦中使用。
在一个示例中,处理器102和/或存储器104可以被配置为执行mr应用116,以用于向一个或多个设备提供混合现实图像124,诸如显示器108(或另一个本地或远程定位的显示器)和/或用于显示或以其他方式处理混合现实图像124的另一设备。例如,mr应用116可以控制相机110捕获一个或多个帧(例如,静止图像、用于视频帧的图像等)。mr应用116可以从相机110获取一个或多个现实世界图像122,并且可以使得一个或多个现实世界图像122在显示器108或另一显示器上(例如,经由处理器102)显示。另外,mr应用116可以执行mr覆盖组件106以在一个或多个现实世界图像122上生成并覆盖一个或多个全息图120,以为观看一个或多个现实世界图像122的用户创建混合现实体验(例如,经由显示器108或另一显示器)。例如,mr应用116生成混合现实图像124以将一个或多个全息图120的视觉效果提供为在一个或多个现实世界图像122中捕获的现实世界场景的一部分,使得在全息图120附近、在全息图120处或与全息图120相邻的现实世界场景具有与全息图120相同或相似的焦点程度。
作为提供混合现实的一部分,mr应用116可以确定将一个或多个全息图120放置在给定图像中的何处。例如mr应用116可以利用深度传感器126来检测一个或多个现实世界图像122中的一个或多个现实世界对象(例如墙壁或其他结构构件、家具、人或人体部分等)的深度,并可以将一个或多个全息图120覆盖在一个或多个现实世界对象上。在该示例中,mr应用116可以指定用于绘制一个或多个全息图120的深度,其可以基于检测到的一个或多个现实世界对象的深度,以覆盖一个或多个全息图。通过指定深度,例如mr应用116可以提供位于一个或多个现实世界对象上或附近的一个或多个全息图120的视觉效果。例如mr覆盖组件106可以使用为一个或多个全息图120指定的深度来确定用于在现实世界图像122中绘制一个或多个全息图120的大小、透视、阴影等。因此,mr覆盖组件106可以基于指定的深度和/或其他参数在现实世界图像122上覆盖一个或多个全息图120,以提供混合现实图像124。另外,在一些示例中,mr应用116可以基于以下项中的至少一项来确定用于绘制一个或多个全息图120的深度:要在混合现实图像124中描绘的混合现实场景的确定大小和比例(例如,相对于计算设备100的视野)、可能导致一个或多个全息图120的深度变化的动画、针对一个或多个全息图120的推荐观看距离(例如,其可以基于所确定的舒适度量、一个或多个全息图120的可视性或可见性等)、可以由用户输入(例如,经由用户界面)或其他配置指定的一个或多个全息图120的深度等。
根据本文描述的示例,mr覆盖组件106还可以将深度信息118提供给相机110的聚焦组件114,或者可以以其他方式使相机110在在现实世界图像122(或后续现实世界图像)中被绘制(或将要被绘制)的一个或多个全息图120中的至少一个的深度处自动聚焦。因此,例如mr覆盖组件106可以使得相机110基于所确定的深度在覆盖一个或多个全息图120之前针对当前现实世界图像,和/或基于在当前图像(和/或一个或多个先前图像)中绘制一个或多个全息图处的深度针对后续现实世界图像进行自动聚焦。在这方面,现实世界图像122可以被聚焦,其中一个或多个全息图120中的至少一个被放置或将被放置在现实世界图像122中,这可以增强用户体验,因为这是用户注视可能被聚焦以观察一个或多个全息图120中的至少一个的图像中的点。换句话说,这些方面通过确保混合现实图像124的现实世界部分在全息图120被覆盖的图像内的位置处具有与全息图120相同或类似焦点,从而将全息图与现实世界场景无缝地整合,来增强用户体验。
在要在一个或多个图像上绘制多个全息图的示例中,mr应用116可以确定将一个或多个全息图120中的哪一个用于设置镜头112的焦点(例如,全息图120中的哪一个用于提供深度信息118)。例如mr应用116可以通过提供界面来促进用户对全息图的选择,例如手势识别界面来检测用户与选择全息图120中的一个相关的手势、通过语音识别界面来检测用户与选择全息图120中的一个有关的语音命令等。在另一个示例中,计算设备100可以包括注视跟踪传感器128,用于检测用户凝视的位置(例如,通过确定用户的一只或多只眼睛相对于一个点的位置),并且因此mr应用116可以基于将全息图确定为处于在检测到的用户注视处或附近的位置(即,在二维平面上)来确定对多个全息图120中的一个全息图的选择。在另一个示例中,mr应用116可以基于以下项来自动确定对多个全息图120中的一个的选择:全息图本身的启发(例如,大小-诸如全息图的物理大小或文件大小,全息图与mr设备的距离,最近生成的全息图等),和/或先前从当前和/或先前用户接收的用户输入(例如,最近选择的全息图、来自其他用户的大多数选择等),和/或类似物。
计算设备100可以是基本上能够捕获和/或显示(或提供给另一设备用于显示)混合现实图像的任意设备,该混合现实图像包括覆盖在一个或多个现实世界图像上的一个或多个计算机生成的图像。例如计算设备100可以是混合现实设备,其可以包括基于镜头的设备,该基于镜头的设备可以由用户佩戴在用户眼睛前方,以在来自基于镜头的设备前面的相机的一个或多个图像中捕获现实,该一个或多个图像在用户眼睛的一个或两个附近的显示器处显示。在另一示例中,计算设备100可以是蜂窝或无线电话、平板计算机或其他个人计算设备(例如执行mr应用),其可以具有相机(例如后置相机、前置相机等),并且可以在计算设备100或另一设备的显示器上显示来自摄像机的图像。在又一示例中,显示器108和相机110(和/或其他组件)可以与单独的设备相关联,使得显示器108可以远程显示由相机110捕获的图像等,其中全息图覆盖在图像上。
图2是用于在混合现实中显示图像的方法200的示例的流程图。例如方法200可以由计算设备100和/或其一个或多个组件执行,以促进显示基于覆盖在图像上的一个或多个全息图而聚焦的图像。
在方法200中,在动作202处,可以接收一个或多个计算机生成的图像以用于覆盖一个或多个图像上。在示例中,mr覆盖组件106例如结合处理器102、存储器104等可以接收用于覆盖一个或多个图像)(例如现实世界的图像122)的一个或多个计算机生成的图像(例如全息图120。在示例中,一个或多个图像还可以包括其他生成的图像,具有增强现实数据的现实世界图像或覆盖在图像上的图形等。在一个示例中,mr应用116提供或以其他方式传送mr覆盖组件106,mr应用可以提供一个或多个全息图120以及位置信息以允许mr覆盖组件106将全息图覆盖在图像内的给定位置处(例如,在二维空间上的位置处,例如,水平或x轴值以及垂直或y轴值)、在一定深度(例如,在三维空间中,例如,第三坐标或z轴值)处等的一个或多个图像上。这可以允许mr覆盖组件106基于指定的深度使用大小、透视、阴影等来覆盖一个或多个全息图。
在方法200中,可选地在动作204处,可以确定对一个或多个计算机生成的图像中的至少一个的选择。在示例中,mr覆盖组件106例如结合处理器102、存储器104等可以确定对一个或多个计算机生成的图像中的至少一个的选择(例如对全息图120中的至少一个的选择)。例如mr覆盖组件106可以基于接收对至少一个全息图的选择(例如来自mr应用116)来确定对至少一个全息图的选择。在一个示例中,mr应用116可以将全息图(例如用于在一个或多个图像中显示的最大全息图、最新全息图等)指定为所选择的全息图。在另一示例中,mr应用116可以提供界面以促过用户对至少一个全息图的选择。例如mr应用116可以提供手势识别界面以识别或检测来自用户的手势,该手势指示对显示在显示器上的全息图的选择。在另一示例中,mr应用116可以提供语音识别接口以识别或检测来自用户的语音输入,该语音输入指示对显示在显示器上的全息图的选择等。在又一个示例中,mr应用116可以基于在显示器上显示的全息图的位置处检测用户的眼睛注视(例如经由注视跟踪传感器128)将全息图指示为所选择的全息图。在任一种情况下,例如mr应用116可以向mr覆盖组件106指示所选择的全息图。在另一个示例中,mr覆盖组件106可以基于其一个或多个参数来确定对全息图的选择,诸如大小(物理大小或文件大小–其中文件大小可能表示全息图中的重要细节级别),距计算设备100的距离,由mr应用116提供的全息图的标记,诸如关于全息图的重要性或全息图的其他方面的启发,(例如,全息图是否是实心全息图、透明或阴影全息图等,其中可以优先考虑实心全息图)等。
在方法200中,在动作206处,可以确定用于在一个或多个图像上覆盖一个或多个计算机生成的图像中的至少一个的深度。在示例中,mr覆盖组件106例如结合处理器102、存储器104等可以确定用于在一个或多个图像上覆盖一个或多个计算机生成的图像(例如全息图120)中的至少一个的深度的值。例如mr覆盖组件106可以从mr应用116和/或mr覆盖组件106接收一个或多个全息图的深度信息118中的深度,如上所述。在另一示例中,在动作206处确定深度可选地包括,在动作208处,至少部分地基于从相机到一个或多个图像中的一个或多个对象的距离来确定深度。在示例中,mr应用116例如结合处理器102、存储器104等可以至少部分地基于从相机到一个或多个图像中的一个或多个对象的距离来确定深度。换句话说,mr应用116可能希望全息图将位于现实世界对象上或附近,因此可以将全息图的深度与现实世界对象的深度相关联。
例如mr应用116可以使用深度传感器126确定例如对应于现实世界对象的深度,深度传感器126可以包括深度相机、激光等,以确定相机110与相机110生成的图像中的一个或多个对象之间的距离。例如深度传感器126可以定位在相机110附近或距离摄像机110已知距离处(例如在计算设备100或另一设备上),以促过确定从相机110到一个或多个对象的距离。mr应用116可以基于检测图像中的一个或多个对象的一个或多个特征(例如垂直表面、轮廓或形状等)来确定用于将全息图放置其中或其附近的一个或多个对象。在一个示例中,mr应用116可以基于检测到的距离来确定全息图的深度,并且可以向mr覆盖组件106提供深度,以用于在一个或多个图像中的指示深度处绘制全息图。此外,如在一些示例中所描述的,mr应用116可以基于以下至少一项来确定用于绘制一个或多个全息图120的深度:要在混合现实图像124中描绘的混合现实场景的确定大小和比例(例如相对于计算设备100的视场),可以导致一个或多个全息图120的深度变化的动画、一个或多个全息图120的推荐观看距离(例如其可以基于确定的一个或多个全息图120的舒适度量、可视性或可见性等)、可以由用户输入(例如经由用户界面)或其他配置指定的一个或多个全息图120的深度等。
在方法200中,在动作210处,相机的镜头可以在该深度处聚焦。在示例中,相机110的聚焦组件114可以将相机110的镜头112聚焦在该深度处。例如mr覆盖组件106例如结合处理器102、存储器104等可以向聚焦组件114提供深度信息118以用于聚焦镜头112,或者可以以其他方式向聚焦组件114提供命令和/或一个或多个参数,以聚焦相机110的镜头112。在这方面,相机110和/或聚焦组件114可以由处理器102和/或单独的处理器操作或可操作,以在这方面允许修改镜头112的焦距。在一个示例中,使得镜头112聚焦在特定深度的mr覆盖组件106可以重载相机110的一个或多个其他自动聚焦过程,如本文中进一步描述的,以导致焦点位于全息图的该深度处。在另一个示例中,相机110可以被配置为从mr覆盖组件106接收深度信息118,并且因此可以基于深度信息将镜头112聚焦到该深度。在任一种情况下,聚焦组件114都可以将相机的深度聚焦在全息图处或附近。
例如聚焦组件114可以将镜头112(例如基于来自mr覆盖组件106的信息)聚焦在现实世界图像中与全息图的深度点对应的深度处。由于全息图可以是三维图像,因此其深度可以从一个位置到另一个位置变化。这样,mr覆盖组件106可以被配置为使用全息图的体积中的任意点的任意位置作为用于设置深度的点。在一些实现中,例如聚焦组件114可以(例如,基于来自mr覆盖组件106的信息)将镜头112聚焦在对应于全息图的深度的中心点(例如在三维空间中全息图沿着x轴、y轴和z轴的中心点)的深度(例如焦距)处。在另一示例中,聚焦组件114可以将镜头112(例如基于来自mr覆盖组件106的信息)聚焦在现实世界图像中的深度处,该深度对应于全息图的另一点,诸如具有大量细节的点,对应于面部或用户可能在其上聚焦他们的注视的全息图的其他部分等的点,最接近用户的全息图上的点,全息图上对应于某个现实世界对象的点等。在另一示例中,聚焦组件114可以基于与全息图相关的启发来聚焦镜头112,诸如全息图的大小、全息图距计算设备100的距离等。
例如mr覆盖组件106还可以从mr应用116接收聚焦信息,该聚焦信息指示全息图的哪个部分应该具有聚焦的周围对象。因此,在动作206处,mr覆盖组件106可以确定全息图将被覆盖在一个或多个图像上的位置处的全息图的标识部分周围的一个或多个现实世界对象的深度。mr覆盖组件106可以因此将在与全息图的标识部分相对应的位置处的一个或多个对象的深度提供给聚焦组件114,以用于聚焦镜头112。在任一种情况下,聚焦组件114可以从mr覆盖组件106获得相应的深度信息118,并因此可以聚焦镜头112。
在方法200中,在动作212处,可以经由具有基于深度聚焦的镜头的相机捕获一个或多个图像。例如相机110可用于在镜头112聚焦的情况下捕获一个或多个图像,例如基于深度设置焦距。在一个示例中,聚焦组件114可以基于从mr覆盖组件106接收的深度来聚焦镜头112,如所描述的。例如聚焦组件114可以将镜头112聚焦在与全息图的点处的深度相对应的深度(例如中心点、具有高细节的点等),如由mr覆盖组件106所指示的。因此,在全息图将被覆盖的点处的一个或多个图像中的对象可以在一个或多个图像中聚焦。
在方法200中,在动作214处,可以提供一个或多个图像,其中一个或多个计算机生成的图像覆盖在一个或多个图像上。例如mr覆盖组件106例如结合处理器102、存储器104等可以提供一个或多个图像(例如现实世界图像122),其中一个或多个计算机生成的图像(例如全息图120)覆盖在一个或多个现实世界图像122上(例如以生成一个或多个混合现实图像124)。例如mr覆盖组件106可以提供一个或多个图像以用于在显示器108上、在远程显示器上显示等。在一个示例中,mr覆盖组件106可以将一个或多个图像作为图像流提供给一个或多个显示器或用于一个或多个图像的消耗、绘制或其他处理的其他设备。此外,例如提供一个或多个图像可以包括在显示器108或其他显示器上显示一个或多个图像。如所描述的,由于基于全息图的深度聚焦相机110的镜头112,所以可以聚焦所显示的一个或多个图像,使得在一个或多个全息图中的至少一个处或附近的一个或多个图像中的对象聚焦。
图3示出了用于处理由诸如相机110的相机生成的图像的过程300的示例,其包括可由mr应用116和/或mr覆盖组件106执行的自动聚焦(af)过程314。来自相机302的图像可以包括一个或多个现实世界图像(例如如上所述的现实世界图像122),并且可以被输入到多个过程中,其可以在耦合到相机110的处理器处(例如处理器102)顺序地、并行地等执行以处理来自相机302的图像。例如来自相机302的图像可被提供给自动曝光(ae)统计确定过程304以用于确定要应用于来自相机302的图像的一个或多个ae参数,其可以被提供给一个或多个ae过程306,以用于将ae应用于来自相机302的图像。类似地,例如,可以将来自相机302的图像提供给自动白平衡(aw)统计确定过程308,用于确定要应用于来自相机302的图像的一个或多个aw参数,其可以提供给一个或多个aw过程310,以用于将aw应用于来自摄像机302的图像。此外,例如来自相机302的图像可以被提供给自动聚焦(af)统计确定过程312,以用于确定要应用于来自相机302的图像的一个或多个af参数,其可以提供给一个或多个af过程314,以用于将af应用于来自相机302的图像以产生聚焦图像328。
在一个示例中,一个或多个af过程314可以包括在316处确定来自相机302的图像是否将被变换为混合现实图像。例如这可以包括mr覆盖组件106、处理器102等,确定一个或多个全息图是否要覆盖在来自摄像机302的图像上。在一个示例中,在316处的该确定可以与接收用于覆盖在来自相机302(例如如在动作202中,来自mr应用116等)的图像上的一个或多个全息图一致。如果确定来自相机302的图像不包括混合现实,则可以对来自相机302的图像进行一个或多个af调整。af数据调整可以包括以下一项或多项:对比度af调整320,用于基于来自相机302的图像的至少一部分的检测对比度来调整相机镜头的自动聚焦;相位检测af(pdaf)调整322,用于基于来自相机302的至少一部分图像的检测相位来调整相机镜头的自动聚焦;深度输入调节324,用于根据图像中一个或多个对象的输入或检测深度来调整相机镜头的自动聚焦;和/或面部检测调整326,用于基于在来自相机302的图像的至少一部分中检测到的人的面部(例如,面部的轮廓)来调整相机镜头的自动聚焦。
如果确定要将来自相机302的图像变换为混合现实图像,则可以基于要覆盖在图像中的全息图对来自相机302的图像进行一个或多个替代混合现实af调整。如所描述的,例如这些混合现实替代af调整可以覆盖对比度af调整320、pdaf调整322、深度输入调整324、面部检测调整326等中的一个或多个。混合现实af调整可以包括全息图深度调整318以基于已经覆盖或将要覆盖在来自相机302的图像上的全息图的输入深度来调整相机镜头的自动聚焦。
在过程300的特定示例中,从ae过程306、aw过程310和af过程314输出的、作为一个或多个聚焦图像328的图像可用于创建另外还应用了ae和aw的会聚图像。可以将会聚图像330提供给用于在显示器上显示的组件,如所描述的(例如具有覆盖或以其他方式的一个或多个全息图)。
图4示出了可以由mr设备上的相机捕获为图像的场景400的示例,其中图像400中的对象(和/或图像中显示的一个或多个全息图)具有对应的深度402。例如mr设备406可以捕获图像400(例如经由诸如相机110的相机),其具有在不同深度402处的图像400中的现实椅子410、现实桌子412和现实人414(例如其中深度可以对应于在一个或多个方向上距相机的距离)。mr设备406还可以在图像400上以及图像400中的现实椅子410附近或上面覆盖全息图416。如所描述的,例如在mr设备406上执行的mr应用可以生成全息图416并确定将全息图放置在图像400中的现实椅子410上或附近。因此,mr设备406例如经由mr覆盖组件可以使得相机在全息图416的确定深度420处自动聚焦。如所描述的,例如mr设备406例如经由深度传感器可以确定现实椅子410的深度,并且因此可以确定用于将全息图416覆盖在现实椅子410上或附近的深度。
如所描述的,这可以覆盖相机的其他自动聚焦功能,否则其可以基于对比度af、pdaf、深度输入或面部检测来尝试将相机聚焦在现实桌面412或现实人414上。在任意情况下,在该示例中,图像400可以聚焦在全息图416被覆盖的区域(例如三维区域)中的一个或多个对象上,并且因此可以在mr设备406上或者在另一显示器上显示,其中全息图416覆盖在图像400上。
图5示出了包括如图1中所示的附加可选组件细节的计算设备100的示例。在一个方面,计算设备100可以包括用于执行与本文所描述的组件和功能中的一个或多个相关联的处理功能的处理器102。处理器102可包括单组或多组处理器或多核处理器。此外,处理器102可以实现为集成处理系统和/或分布式处理系统。
计算设备100还可以包括存储器104,诸如用于存储由处理器102执行的应用的本地版本、相关指令、参数等。存储器104可以包括计算机可用的一种类型的存储器,诸如随机存取存储器(ram)、只读存储器(rom)、磁带、磁盘、光盘、易失性存储器、非易失性存储器及其任意组合。另外,处理器102和存储器104可以包括并执行mr覆盖组件106和/或计算设备100的其他组件。
此外,计算设备100可以包括通信组件502,其利用如本文所述的硬件、软件和服务来提供用于建立和维持与一个或多个其他设备、各方、实体等的通信。通信组件502可以携带计算设备100上的组件之间的通信,以及计算设备100和外部设备之间的通信,诸如位于跨通信网络的设备和/或串行或本地连接到计算设备100的设备。例如通信组件502可以包括一个或多个总线,并且还可以包括分别与无线或有线发射器和接收器相关联的发射链组件和接收链组件,可操作用于与外部设备对接。
另外,计算设备100可以包括数据存储库504,其可以是硬件和/或软件的任意合适的组合,其提供结合本文描述的方面采用的信息、数据库和程序的大容量存储。例如数据存储库504可以是或可以包括用于当前未由处理器102执行的应用和/或相关参数(例如mr应用116)的数据存储库。此外,数据存储库504可以是用于mr覆盖组件106和/或计算设备100的一个或多个其他组件的数据存储库。
计算设备100还可以包括用户界面组件506,其可操作以从计算设备100的用户接收输入,并且还可操作以生成输出以呈现给用户(例如经由显示器108或另一显示器)。用户界面组件506可以包括一个或多个输入设备,包括但不限于键盘、数字键盘、鼠标、触敏显示器、导航键、功能键、麦克风、语音识别组件、手势识别组件、深度传感器、注视跟踪传感器、能够接收来自用户的输入的任意其他机制、或其任意组合。此外,用户界面组件506可以包括一个或多个输出设备,包括但不限于显示器108的显示界面、扬声器、触觉反馈机构、打印机、能够向用户呈现输出的任意其他机制、或者任意组合。
如所描述的,计算设备100可以另外包括mr覆盖组件106,用于将一个或多个全息图覆盖在由显示器108或远程显示器显示的一个或多个图像上,确定一个或多个全息图在一个或多个图像中显示的深度,基于深度来控制相机110的焦点等。在一方面,用户界面组件506可用于检测与选择全息图有关的用户输入(例如,手势,语音等),基于该全息图来聚焦相机110。此外,处理器102可以执行mr覆盖组件106,并且存储器104或数据存储库504可以存储相关的指令、参数等,如所描述的。
举例来说,元素或元素的任意部分或元素的任意组合可以用包括一个或多个处理器的“处理系统”来实现。处理器的示例包括微处理器,微控制器、数字信号处理器(dsp)、现场可编程门阵列(fpga)、可编程逻辑器件(pld)、状态机、门控逻辑、分立硬件电路以及被配置为执行贯穿本公开描述的各种功能的其他合适硬件。处理系统中的一个或多个处理器可以执行软件。软件应广义地解释为表示指令、指令集、代码、代码段、程序代码、程序、子程序、软件模块、应用、软件应用、软件包、例程、子例程、对象、可执行文件、执行线程、处理、函数等,无论是称为软件、固件、中间件、微代码、硬件描述语言还是其他。
因此,在一个或多个方面,所描述的一个或多个功能可以用硬件、软件、固件或其任意组合来实现。如果以软件实现,则可以将功能存储在计算机可读介质上或将其编码为计算机可读介质上的一个或多个指令或代码。计算机可读介质包括计算机存储介质。存储介质可以是计算机可以访问的任意可用介质。作为示例而非限制,这种计算机可读介质可包括ram、rom、eeprom、cd-rom或其他光盘存储器、磁盘存储器或其他磁存储设备、或者可以用于以指令或数据结构的形式携带或存储所需程序代码并且可以由计算机访问的任何其他介质。本文使用的磁盘和盘包括压缩盘(cd)、激光盘、光盘、数字通用盘(dvd)和软盘,其中磁盘通常磁性地再现数据,而盘用激光光学地再现数据。上述的组合也应包括在计算机可读介质的范围内。提供先前的描述是为了使所属领域的技术人员能够实践本文中所描述的各种方面。对于本领域技术人员来说,对这些方面的各种修改是显而易见的,并且本文定义的一般原理可以应用于其他方面。因此,权利要求不旨在限于本文所示的方面,而是符合与语言权利要求相一致的完整范围,其中以单数对元素的引用并非旨在表示“一个且仅一个”,除非具体如此陈述,而是“一个或多个”。除非另外特别说明,否则术语“一些”是指一个或多个。本文所述的各个方面的元件的所有结构和功能等同物是本领域普通技术人员已知的或后来为本领域技术人员所知的,其明确地并入本文中并且旨在由权利要求书涵盖。此外,无论在权利要求中是否明确地叙述了这样的公开,本文所公开的内容都不旨在用于公众。除非使用短语“用于......的装置”明确地叙述该要素,否则权利要求元素不应被解释为装置加功能。