AR/VR环境中用户注意力的视觉指示器的制作方法

文档序号:26310035发布日期:2021-08-17 13:49阅读:198来源:国知局
AR/VR环境中用户注意力的视觉指示器的制作方法

本公开涉及视觉显示器和显示系统,且尤其涉及可佩戴显示器和用于可佩戴显示器的方法。

背景

可佩戴显示器可用于向用户呈现虚拟图像,或者用动态信息、数据或虚拟对象来增强真实世界的图像。虚拟现实(vr)或增强现实(ar)场景可以是三维的,以增强体验并使虚拟对象与用户观察到的真实对象相匹配。可以实时跟踪用户在空间中的眼睛定位(position)和凝视方向和/或定向(orientation),并且可以根据用户的头部定向和凝视方向来动态地调整显示的场景,以提供沉浸在模拟或增强的环境中的更好体验。

可佩戴显示器可用于模拟或增强用户之间的社交互动。例如,在虚拟会议应用中,由虚拟会议房间中的化身表示的用户可以通过互相交谈、向一群用户呈现信息等来彼此交互。社交聚会事件的ar/vr模拟的一个缺点是,用户可能会因ar/vr环境而感到孤立或迷失方向,从而使用户之间的社交联系不那么直接。

概述

本文公开的方法和系统可用于使用户能够吸引ar/vr环境中其他用户的注意力。ar/vr系统可以包括控制器和由不同的用户佩戴的多个可佩戴显示器。这些可佩戴显示器可以各自包括视觉显示模块、眼睛跟踪系统和音频系统,该视觉显示模块用于向用户显示vr图像和/或用ar图像和标志来增强观察到的外部世界,该眼睛跟踪系统用于实时地确定诸如用户的凝视方向、聚散度(vergence)、眼睛扩张(eyedilation)等的参数,该音频系统用于与其他用户的音频通信。控制器可以包括远程或分布式计算系统和通信网络,该通信网络将控制器连接到可穿戴显示器,使得可穿戴显示器与控制器通信地耦合。本文使用的术语ar/vr包括ar系统、vr系统及其任意组合,包括混合现实(mr)系统。ar/vr系统的示例将在下面进一步给出。

特定用户的可佩戴显示器可以显示表示系统的其他用户的图像。该方法使ar/vr系统的用户能够在该系统的另一个用户看着他们时注意到。屏幕上表示的用户可以位于很远的地方,并且对于佩戴特定可佩戴显示器的用户不可见,并且可以由化身来表示。在一些ar实施例中,用户可以通过他们的ar头戴式装置(headset)直接查看其他用户。

根据本发明的第一方面,提供了一种在增强现实/虚拟现实(ar/vr)系统的可穿戴显示器中的方法,该方法包括:使用可穿戴显示器向ar/vr系统的第二用户显示图像,该图像包括ar/vr系统的第一用户指向第二用户或第二用户的化身的凝视的视觉提示(visualcue),其中,第一用户指向第二用户或第二用户的化身的凝视已经被执行指令以处理第一用户的眼睛跟踪数据的处理器检测到。

根据本发明的实施例,当处理器执行指令以确定第一用户的眼睛已经看着第二用户或第二用户的化身达至少预定义的时间间隔时,显示包括视觉提示的图像。

根据本发明的实施例,当检测到第一用户在第二用户处的凝视方向时,显示包括视觉提示的图像,或者当检测到第一用户在第二用户处的凝视聚散度或第一用户的瞳孔扩张中的至少一个时,显示包括视觉提示的图像。

根据本发明的实施例,在第一用户的凝视之前,图像已经缺少视觉提示。

根据本发明的实施例,当一个或更多个处理器以规则的时间间隔确定了第一用户的凝视方向或凝视聚散度中的至少一个时,向第二用户显示包括视觉提示的图像。

根据本发明的实施例,当凝视已经被撤回达至少预定义的时间间隔时,修改图像以移除视觉提示。

根据本发明的第二方面,提供了一种其上存储有指令的非暂时性存储器,所述指令在被一个或更多个处理器执行时,使一个或更多个处理器使用ar/vr系统的可穿戴显示器向ar/vr系统的第二用户显示图像,该图像包括ar/vr系统的第一用户指向第二用户或第二用户的化身的凝视的视觉提示,其中,第一用户指向第二用户或第二用户的化身的凝视已经被执行指令以处理第一用户的眼睛跟踪数据的处理器检测到。

根据本发明的实施例,当执行指令的一个或更多个处理器确定了第一用户的眼睛已经看着第二用户或第二用户的化身达至少预定义的时间间隔时,显示包括视觉提示的图像。

根据本发明的实施例,当已经检测到第一用户在第二用户处的凝视方向时,显示包括视觉提示的图像,或者

其中,当已经检测到第一用户在第二用户处的凝视聚散度或第一用户的瞳孔扩张中的至少一个时,显示包括视觉提示的图像。

根据本发明的实施例,在第一用户的凝视之前,图像已经缺少视觉提示。

根据本发明的实施例,当凝视已经被撤回达至少预定义的时间间隔时,修改图像以移除视觉提示。

根据本发明的第三方面,还提供了一种ar/vr系统,包括:

第一可穿戴显示器,其包括眼睛跟踪系统和用于向第一用户显示第一图像的第一电子显示器;

第二可穿戴显示器,其包括用于向第二用户显示第二图像的第二电子显示器;和

控制器,其通信地耦合到第一可穿戴显示器和第二可穿戴显示器,并被配置为向第一可穿戴显示器提供用于显示第一图像的数据,该控制器包括注意力监视器,该注意力监视器被配置为从第一可穿戴显示器接收与第一用户的眼睛跟踪相关的数据,并识别第一用户指向第二用户或第一图像中的第二用户的化身的凝视,该控制器被配置为,在检测到凝视时,向第二可穿戴显示器提供用于向第二用户显示第二图像的数据,第二图像包括第一用户的凝视的视觉提示。

根据本发明的实施例,注意力监视器被配置为确定第一用户的眼睛看着第二用户或第一图像中的第二用户的化身达至少预定义的时间间隔,或者其中,注意力监视器被配置为确定第一用户的凝视方向,或者其中,注意力监视器被配置为确定第一用户的凝视聚散度,或者其中,注意力监视器被配置为以规则的时间间隔确定第一用户的凝视方向、凝视聚散度或瞳孔扩张中的至少一个。

根据本发明的实施例,注意力监视器被配置为随着时间的推移监视第一用户的凝视,并且当凝视已经被撤回达至少预定义的时间间隔时,修改第二图像以移除视觉提示。

附图简述

现在将结合附图描述示例性实施例,其中:

图1是根据本公开的ar/vr系统的框图;

图2是图1的ar/vr系统中的方法的流程图;

图3是示出图2的方法的一个实施例的图;

图4是用于图1的ar/vr系统的注意力监视器的示例性方法的流程图;

图5a是眼镜形状因子的近眼增强现实(ar)/虚拟现实(vr)可佩戴显示器实施例的等距视图;

图5b是图5a的ar/vr可佩戴显示器的侧视横截面图;

图6a是本公开的头戴式显示器头戴式装置的等距视图;

图6b是包括图6a的头戴式装置的虚拟现实系统的框图;

图7是眼睛凝视屏幕的示意图;

图8是根据实施例的图1的ar/vr系统的示例网络环境的框图;

图9是用于实现本公开的方法的计算机系统的框图。

详细描述

虽然结合各种实施例和示例描述了本教导,但是意图并不是本教导被限制到这样的实施例。相反,如本领域技术人员将理解的,本教导包括各种替代物和等同物。本文中叙述本公开的原理、方面和实施例以及其特定示例的所有陈述旨在包括其结构和功能等同物。另外,意图是这样的等同物包括当前已知的等同物以及将来开发的等同物两者,即,执行相同功能的所开发的任何要素,而不考虑结构。

如在本文所使用的,除非明确规定,否则术语“第一”、“第二”等并不意欲暗示顺序次序,而是更确切地意欲将一个要素与另一个要素区分开。类似地,除非明确规定,否则方法步骤的顺序次序并不暗示它们执行的顺序次序。术语“多个”在本文中用于表示“两个或更多个”,并且词语“包含(include)”与词语“包括(comprise)”的含义相同。

参考图1,ar/vr系统100允许两个或更多个用户(例如用户ann(111)和bob(112))的交互。系统100包括控制器152,控制器152经由网络与两个或更多个可佩戴显示器128(ann的可佩戴显示器)和126(bob的可佩戴显示器)连接。每个可穿戴显示器126、128包括电子显示器,即ann的可穿戴显示器128包括电子显示器121,并且bob的可穿戴显示器126包括电子显示器122。使用从控制器152接收的数据形成图像。

由ann的可佩戴显示器128生成的图像可以包括由广角相机捕获的图像,或者可以包括完全由vr生成的图像。vr生成的图像可以表示多个用户,并且特别地,可以包括表示bob的图像136。在本文,表示bob的图像136被称为bob的化身136。bob的化身136可以是静止图像或动态图像、图标、图形表示、动画图像等。在ar实施例中,ann可以通过ar头戴式装置直接看着bob,该ar头戴式装置透射外部光使得能够直接观看外部世界,同时用计算机生成的图形和其他计算机生成的图像来增强真实视图。在这样的实施例中,bob的真实世界视图可以用注意力提示(attentioncue)(例如外部发光、标志等)来增强。这同样适用于其他用户和向彼此表示其他用户的图像(即其他用户的化身131、132和136)。在一些ar实施例中,可以有虚拟化身和真人被放置在同一场景中。此外,用户可以通过电话拨入,并通过放置表示拨入用户的化身而被放置在场景中。

图2是根据本公开的用于呈现视觉提示的方法的流程图。该方法包括在第一电子显示器上向ar/vr系统的第一用户显示(230)第一图像。在图1所示的例子中,第一用户111是ann,第一电子显示器是她的电子显示器121,以及图像136表示bob。

进一步参考图1,ar/vr系统100的第一可佩戴显示器128包括眼睛跟踪系统142,其收集关于第一用户的眼睛的数据,并将获得的数据提供给注意力监视器161(在图1中示出为161a和161b)。优选地,第二可佩戴显示器126也包括眼睛跟踪系统,从而也可以将bob的凝视通知给ann。

注意力监视器161是一个功能块,包括可佩戴显示器(例如ann的可佩戴显示器128)内的一个或更多个本地部分161b以及控制器152内的中央部分161a。一些功能可以由用户位置处的本地部分161b或者由中央位置处的中央部分161a来实现。注意力监视器161可以用存储在计算机可读存储介质中并由硬件处理器执行的指令来实现。

注意力监视器161将由眼睛跟踪系统142获得的信息和与当前显示在电子显示器121上的图像相关的信息同步,以识别ann是看着bob(例如在ar应用中直接看着bob,或者在vr应用中看着bob的化身136)。在图1中,线170指示当ann看着bob的化身136时ann的凝视的具体方向。

在这个例子中,ann看着bob的化身136。ann可以将她的注意力转移到表示另一个用户的图像132。注意力监视器161可以基于用于形成提供给电子显示器121的图像的初始信息来区分图像136和132。注意力监视器161具有标识电子显示器121的哪个部分被特定用户的图像所占据的信息。对于ar应用,每个ar头戴式装置可以配备有位置传感器或位置指示器,使得ar/vr系统100能够实时地确定每个用户在3d空间中的位置。该信息与各种用户在3d空间中的凝视方向和/或聚散度一起,使ar/vr系统100能够为每个用户实时地确定哪个或哪些其他用户可能正在看着该特定用户。例如,如果bob在真实世界位置a,而ann碰巧在3d空间中看着相同的真实世界位置a,则ar/vr系统100可以确定ann正看着bob。

出于识别ar/vr系统100的一个用户指向另一个用户的凝视的持续时间的目的,注意力监视器161可以计算ann凝视bob或bob的化身136的持续时间。凝视持续时间可被定义为在预定义的时间间隔期间,对特定图像(例如bob的化身136)或特定人或ar应用中的3d空间位置的不间断、连续的凝视。凝视检测条件可以被配置为观看特定图像达至少预定义的时间间隔t1。当满足凝视检测条件时,检测到凝视的出现。

进一步参考图2,该方法还包括检测(235)凝视。检测235包括检测第一用户(在该实例中为ann)朝向第二用户(bob)或第一图像中的第二用户的化身(bob的化身136)的凝视170,所述第一图像在第一电子显示器121上被显示给第一用户(ann)。检测235可以包括通过眼睛跟踪单元(例如眼睛跟踪系统142)来跟踪第一用户的眼睛移动。检测可以包括凝视持续时间长于预定义的阈值时间量的条件。检测还可以考虑一些眼睛特征,例如第一用户的瞳孔扩张。扩张的瞳孔可以指示注意力高度集中。类似地,当注意力监视器161确定一个用户关注另一个用户时,通知该另一个用户。例如,当监视器161检测到从ann朝向与bob相关的图像136的凝视170时,控制器152通知bob。

进一步参考图2,该方法还包括通知240。通知240可以包括在检测到第一用户的凝视时,在第二电子显示器122上向ar/vr系统150的第二用户显示第二图像。第二图像具有指示第一用户111指向第二用户112或第二用户的化身的凝视的视觉提示或标志。在图1所示的示例中,通知步骤240包括在bob的电子显示器122上显示图像,该图像具有靠近表示第一用户111(ann)的图像131的视觉提示180。

通知可以包括添加到在bob的显示器122上显示给他的ann的图像的任何视觉信息,例如标志、视觉提示、文本、符号和/或对ann的化身131的一些修改,例如颜色、对比度、亮度、轮廓(outline)等。视觉提示可以表示由bob的ar头戴式装置提供的人工图像或特征。在图1中,视觉提示是在ann的化身131附近的感叹号180。视觉提示的其他非限制性示例包括ann的化身131的振动、ann的化身131的闪烁(shimmering)或发光等。视觉提示可以靠近凝视用户的图像、在图像上、或者是图像的改变,例如发光或移动。优选地,视觉提示是预先定义的并且容易被注意到,然而视觉提示可以合理地保持不明显(subtle)。视觉提示的目的是响应于所识别的第一用户在第二用户处或朝向第二用户的凝视,将第二用户的注意力吸引到第一用户。在一些实施例中,标志可以是显示器上的文本,或者甚至是语音通知。

从第二用户bob112的视角来看,该方法包括使用ar/vr系统100的可穿戴显示器126向bob显示图像,其中该图像具有系统的第一用户ann111的凝视的视觉提示,该凝视指向第二用户或第二用户的化身。第一用户通过可穿戴显示器指向第二用户或者指向可穿戴显示器128的屏幕121上的第二用户的化身的凝视已经被执行指令以处理第一用户的眼睛跟踪数据的处理器检测到。当执行指令的处理器已经确定第一用户的眼睛已经看着第二用户或第二用户的化身至少预定义的时间间隔时,可以显示视觉提示。当已经检测到第一用户在第二用户处的凝视方向时,和/或当已经检测到第一用户在第二用户处的凝视聚散度时,可以显示视觉提示。凝视方向和/或凝视聚散度可以由处理器以规则的时间间隔确定。该方法可以包括当凝视已经被撤回时,修改图像以移除视觉提示。优选地,在检测到第一用户指向第二用户或第二用户的化身的凝视之前,显示给第二用户的图像已经缺少视觉提示。

该方法可用于向用户通知在该用户的显示器上表示的几个其他用户的同时注意力。参考图3,第二用户bob112在他的显示器122上具有五个图像,并且系统已经检测到三个人的密切注意力,这三个人的密切注意力如上所述根据他们的凝视来被识别。视觉提示180、181、182在bob的显示器122上被提供。每个视觉提示可以被设置在特定用户或他们的图像旁边/附近,或者直接设置在图像或化身上(对于表示图像的微小修改的诸如发光或振动的提示)。可以为表示特定用户的图像提供视觉提示,或者提供比表示同一屏幕上的其他用户的图像更接近该图像的视觉提示,以便仅识别用户中的一个,并清楚表明该提示所指的是哪个特定用户。例如,系统可以被限制为提供比同时被表示在显示器上的任何其他用户头部更靠近特定用户头部的提示。

该方法可以实时执行。当用户的眼睛在屏幕的不同区域之间移动时,ar/vr系统100可以以规则的时间间隔接收更新的眼睛跟踪信息,并且显示系统可以基于更新的眼睛跟踪信息计算注视点(pointofregard)(即凝视点),该注视点是用户正在看着的屏幕中的点。优选地,由凝视方向和凝视聚散度表示的注视点以预定义的规则的时间间隔被识别。如上所述,一旦检测到第一用户的凝视,就通知第二用户。然后,系统继续监视第一用户111的凝视。当第一用户111的注意力移动到别处时,指示先前被检测到的凝视的视觉提示可以消失。凝视撤回条件可以被配置为继续看着第二用户112达小于预定义的时间间隔t2。两个时间间隔t1(凝视阈值时间的检测)和t2(凝视的撤回)可以相等,t1=t2,然而不是必须相等。注意力监视器161还可以被配置为检测用户自然的眼睛和/或头部移动,以便将目光接触的持续时间限制为舒适的持续时间。换句话说,第一用户可能会短暂地看着地板,从一边到另一边转动他们的头,等等。注意力监视器161可以被配置为允许在“短暂的撤回时间”t3内的这种移动,而不移除注意力的视觉提示。当满足凝视撤回条件时,显示在第二显示器122上的图像改变,使得视觉提示180消失。

最终,第一用户111可以将他们的注意力返回到第二用户112。当满足凝视检测条件时,关于第一用户111的图像的视觉提示出现在第二显示器上。在本文,视觉提示指示注意力,而缺少提示指示缺乏注意力。因此,在再次检测到凝视之前,视觉提示直接不存在,持续至少预定义的时间间隔(例如t1/2)。

图4是注意力监视器161采用的用于检测第一用户111朝向第二用户112的凝视的存在或不存在的示例性方法400的流程图。最初(402)凝视状态为否。启动间隔计时器(404),并检测注视点(406)。如果注视点在第二人的图像内(408),则使观看计时器递增(410)。如果不在,并且如果间隔计时器小于t1(412),则过程返回到检测注视点(406)。如果否,则确定凝视状态(414)。在该示例中,凝视检测条件被配置为观看特定图像达时间间隔t1的至少预定部分x,并且凝视撤回条件被配置为观看特定图像达小于时间间隔t2的预定部分y。如果没有凝视并且观看计时器小于x*t1(416),则该过程重启间隔计时器(404)。如果观看计时器大于x*t1(418),则凝视状态为是(420),并且通知第二用户凝视改变(422)。如果凝视持续并且观看计时器大于x*t1,则该过程也重启间隔计时器(404)。如果观看计时器小于x*t1,则凝视状态为否(424),并且通知第二用户凝视改变(418)。用户的凝视可以随着时间的推移被连续监测。

为了说明的目的,t1=t2,并且没有考虑第一用户111朝向第一电子显示器121上表示的其他用户的可能的凝视。当然,可以采用其他方法,特别是可以使用滑动时间窗口。

第一用户111和第二用户112可以是人,以便他们的凝视可以被眼睛跟踪设备捕获。然而,被通知得到第一用户的注意的第二用户112也可以是机器、计算机或机器人。

参考图5a和图5b,近眼ar/vr显示器500是可佩戴显示器126、128的实施例。如所示,近眼ar/vr显示器500的主体或框架502具有一副眼镜的形状因子。显示器504包括显示组件506(图5b),显示组件506向视窗(eyebox)510提供图像光508,视窗510即可以向用户的眼睛512呈现高质量图像的几何区域。显示组件506可以包括用于每只眼睛的单独的近眼ar/vr显示模块,或者用于两只眼睛的一个ar/vr显示模块。

显示组件506的电子显示器可以包括例如但不限于液晶显示器(lcd)、有机发光显示器(oled)、无机发光显示器(iled)、有源矩阵有机发光二极管(amoled)显示器、透明有机发光二极管(toled)显示器、投影仪或其组合。可以提供波导结构来将显示器产生的图像传送到用户的眼睛。在ar应用中,透明或半透明的波导结构可以在显示组件506上延伸。波导可以包括选择性反射器和衍射光栅。波导还可以包括光瞳复制波导部分。近眼ar/vr显示器500还可以包括眼睛跟踪系统514,用于实时确定用户眼睛512的凝视方向和/或聚散角(vergenceangle)。根据视角和眼睛位置,所确定的凝视方向和凝视聚散角也可以用于视觉伪像的实时补偿。此外,所确定的聚散度和凝视角度可用于与用户的交互、突出显示对象、将对象带到前景、动态创建附加对象或指示物(pointer)等。此外,近眼相干ar/vr显示器500可以包括音频系统,例如小扬声器或耳机(headphone)和/或麦克风。可以使用显示组件上的立体声麦克风来识别房间中的人的位置和/或方向。在一些实施例中,面部识别可以用于确定场景中人的存在;为了此目的,可以采用同步定位与地图构建(simultaneouslocalizationandmapping,slam)相机或联网(internet-connected,iot)相机。

参考图6a,hmd600是为了更大程度地沉浸到ar/vr环境内而包围用户的面部的ar/vr可佩戴显示系统的例子。hmd600的功能是用计算机生成的图像来增强物理、真实世界环境的视图,和/或生成完全虚拟的3d图像。hmd600包括前主体602和带604。前主体602被配置为以可靠和舒适的方式放置在用户的眼睛前面,以及带604可以被拉伸以将前主体602固定在用户的头上。显示系统680可以布置在前主体602中,用于向用户呈现ar/vr图像。前主体602的侧面606可以是不透明的或透明的。

在一些实施例中,前主体602包括定位器608、用于跟踪hmd600的加速度的惯性测量单元(imu)610以及用于跟踪hmd600的位置的位置传感器612。imu610是基于从一个或更多个位置传感器612接收的测量信号来生成指示hmd600的位置的数据的电子设备,位置传感器612响应于hmd600的运动而生成一个或更多个测量信号。位置传感器612的示例包括:一个或更多个加速度计、一个或更多个陀螺仪、一个或更多个磁力计、检测运动的另一种合适类型的传感器、用于imu610的误差校正的一类传感器或者其某种组合。位置传感器612可以位于imu610的外部、imu610的内部或者这两种位置的某种组合。

定位器608由虚拟现实系统的外部成像设备跟踪,使得虚拟现实系统可以跟踪整个hmd600的位置和定向。为了hmd600的位置和定向的改进的跟踪准确度,可以将由imu610和位置传感器612产生的信息与通过跟踪定位器608获得的位置和定向进行比较。当用户在3d空间中移动和转动时,准确的位置和定向对于向用户呈现适当的虚拟场景是重要的。

hmd600还可以包括深度相机组件(dca)611,其捕获描述围绕hmd600的部分或全部的局部区域的深度信息的数据。为此,dca611可以包括激光雷达(lidar)或类似设备。可以将深度信息与来自imu610的信息进行比较,以便更准确地确定hmd600在3d空间中的位置和定向。

hmd600还可以包括眼睛跟踪系统614,用于实时地确定用户眼睛的定向和位置。眼睛跟踪系统614可以包括照射双眼的红外照明器阵列、用于分离红外光和可见光的热镜(hotmirror)、以及通过来自照明器的反射(亮斑(glint))获得双眼图像的眼睛跟踪相机。通过相对于眼睛瞳孔的位置比较亮斑的位置,可以确定眼睛的位置和定向。所获得的眼睛的位置和定向还允许hmd600确定用户的凝视方向,并相应地调整由显示系统680生成的图像。在一个实施例中,确定聚散度,即用户的眼睛凝视的会聚角度(convergenceangle)。根据视角和眼睛位置,所确定的凝视方向和凝视聚散角也可以用于视觉伪像的实时补偿。此外,所确定的聚散度和凝视角度可用于与用户的交互、突出显示对象、将对象带到前景、创建附加对象或指示物等。还可以提供音频系统,其包括例如内置在前主体602中的一组小扬声器和/或麦克风。

参考图6b,ar/vr系统650包括图6a的hmd600、外部控制台690和输入/输出(i/o)接口615,外部控制台690存储各种ar/vr应用、设置和校准程序、3d视频等,输入/输出(i/o)接口615用于操作控制台690和/或与ar/vr环境交互。hmd600可以用物理电缆“拴(tether)”到控制台690上,或者经由诸如wi-fi等的无线通信链路连接到控制台690。可以有多个hmd600,每个hmd600具有相关联的i/o接口615,其中每个hmd600和i/o接口615与控制台690通信。在替代配置中,不同的和/或附加的部件可以被包括在ar/vr系统650中。另外,在一些实施例中,结合图6a和图6b所示的一个或更多个部件描述的功能可以以不同于结合图6a和图6b描述的方式的方式分布在部件中。例如,控制台615的一些或全部功能可以由hmd600提供,反之亦然。hmd600可以设置有能够实现这样的功能的处理模块。

如上面参考图6a所述,hmd600可以包括用于跟踪眼睛位置和定向,确定凝视角度和会聚角度等的眼睛跟踪系统614(图6b)、用于确定hmd600在3d空间中的位置和定向的imu610、用于捕获外部环境的dca611、用于独立确定hmd600的位置的位置传感器612、以及用于向用户显示ar/vr内容的显示系统680。显示系统680包括(图6b)电子显示器625,例如但不限于液晶显示器(lcd)、有机发光显示器(oled)、无机发光显示器(iled)、有源矩阵有机发光二极管(amoled)显示器、透明有机发光二极管(toled)显示器、投影仪或其组合。显示系统680还包括光学块630,其功能是将电子显示器625产生的图像传送给用户的眼睛。光学块可以包括各种透镜(例如折射透镜、菲涅耳透镜、衍射透镜、有源或无源pancharatnam-berry相位(pbp)透镜、液体透镜、液晶透镜等)、光瞳复制波导、光栅结构、涂层等。显示系统680还可以包括变焦模块635,变焦模块635可以是光学块630的一部分。变焦模块635的功能是调节光学块630的焦点,以例如补偿视觉辐辏调节冲突(vergence-accommodationconflict)、校正特定用户的视觉缺陷、抵消光学块630的像差等。

i/o接口615是允许用户发送动作请求并从控制台690接收响应的设备。动作请求是执行特定动作的请求。例如,动作请求可以是开始或结束图像或视频数据的捕获的指令,或者是在应用内执行特定动作的指令。i/o接口615可以包括一个或更多个输入设备,例如键盘、鼠标、游戏控制器或用于接收动作请求并将动作请求传送到控制台690的任何其他合适的设备。由i/o接口615接收的动作请求被传送到控制台690,控制台690执行对应于动作请求的动作。在一些实施例中,i/o接口615包括imu,其捕获指示相对于i/o接口615的初始位置的i/o接口615的估计位置的校准数据。在一些实施例中,i/o接口615可以根据从控制台690接收的指令来向用户提供触觉反馈。例如,当动作请求被接收到时,或者当控制台690向i/o接口615传送指令——所述指令使i/o接口615在控制台690执行动作时生成触觉反馈——时,触觉反馈可以被提供。

控制台690可以向hmd600提供内容,以根据从imu610、dca611、眼睛跟踪系统614和i/o接口615中的一个或更多个接收的信息进行处理。在图6b所示的示例中,控制台690包括应用储存器655、跟踪模块660和vr引擎665。控制台690的一些实施例可以具有不同于结合图6b描述的模块或部件的模块或部件。类似地,下面进一步描述的功能可以以不同于结合图6a和图6b描述的方式分布在控制台690的部件当中。

应用储存器655可存储用于由控制台690执行的一个或更多个应用。应用是一组指令,该组指令当由处理器执行时生成用于显现给用户的内容。由应用生成的内容可以响应于经由hmd600或i/o接口615的移动而从用户接收的输入。应用的例子包括:游戏应用、演示和会议应用、视频回放应用或其他合适的应用。

跟踪模块660可以使用一个或更多个校准参数来校准ar/vr系统650,并且可以调整一个或更多个校准参数以减少hmd600或i/o接口615的位置确定中的误差。由跟踪模块660执行的校准还考虑了从hmd600中的imu610和/或被包括在i/o接口615中的imu(如果有的话)接收的信息。另外,如果hmd600的跟踪丢失,则跟踪模块660可以重新校准ar/vr系统650的部分或全部。

跟踪模块660可以跟踪hmd600或i/o接口615、imu610或其某种组合的移动。例如,跟踪模块660可以基于来自hmd600的信息来确定hmd600的参考点在局部区域的映射中的位置。跟踪模块660还可以分别使用指示来自imu610的hmd600的位置的数据或者使用指示来自被包括在i/o接口615中的imu的i/o接口615的位置的数据,来确定hmd600的参考点或者i/o接口615的参考点的位置。另外,在一些实施例中,跟踪模块660可以使用来自imu610的指示hmd600的位置的数据部分以及来自dca611的局部区域的表示来预测hmd600的未来定位。跟踪模块660向vr引擎665提供hmd600或i/o接口615的估计的或预测的未来位置。

vr引擎665可基于从hmd600接收的信息来生成围绕hmd600的部分或全部的区域(“局部区域”)的3d映射。在一些实施例中,vr引擎665基于从dca611接收的与在计算深度时使用的技术相关的信息来确定用于局部区域的3d映射的深度信息。在各种实施例中,vr引擎665可以使用深度信息来更新局部区域的模型,并部分地基于已更新的模型来生成内容。

vr引擎665在ar/vr系统650内执行应用,并从跟踪模块660接收hmd600的位置信息、加速度信息、速度信息、所预测的未来位置或其某种组合。基于接收到的信息,vr引擎665确定要提供给hmd600用于呈现给用户的内容。例如,如果接收到的信息指示用户已经向左看,则vr引擎665为hmd600生成反映(mirror)用户在虚拟环境中或在用附加内容增强局部区域的环境中的移动的内容。另外,vr引擎665响应于从i/o接口615接收的动作请求来执行在控制台690上执行的应用内的动作,并且向用户提供动作被执行的反馈。所提供的反馈可以是经由hmd600的视觉或听觉反馈或者经由i/o接口615的触觉反馈。

在一些实施例中,基于从眼睛跟踪系统614接收的眼睛跟踪信息(例如,用户眼睛的定向),vr引擎665确定提供给hmd600用于在电子显示器625上呈现给用户的内容的分辨率。vr引擎665可以向hmd600提供内容,该内容在电子显示器625上在用户凝视的中央凹区(fovealregion)中具有最大像素分辨率。vr引擎665可以在电子显示器625的其他区域中提供较低的像素分辨率,从而减少ar/vr系统650的功耗并节省控制台690的计算资源,而不会损害用户的视觉体验。在一些实施例中,vr引擎665可以进一步使用眼睛跟踪信息来调整对象在电子显示器625上的显示位置,以防止视觉辐辏调节冲突和/或抵消光学失真和像差。

图7示出了用户的眼睛302在由凝视向量306指示的方向上凝视屏幕304,该凝视向量306对应于图1的凝视向量170。图7进一步示出了屏幕上的中央凹区308。注意力监视器模块161(图1)确定表示眼睛正在看的方向的凝视向量。在一些实施例中,注意力监视器模块161基于与眼睛相关联的多个眼睛特征来确定凝视向量,该多个眼睛特征包括眼球中心(图7中的a)、角膜中心(c)、瞳孔(e)以及角膜中心和瞳孔中心之间的距离(h)。在一个实施例中,眼睛跟踪系统142估计这些眼睛特征,并将这些估计作为眼睛跟踪信息的一部分发送给注意力监视器模块161。在另一个实施例中,模块161从眼睛跟踪系统142接收眼睛的角度定向,并通过基于角度旋转对眼睛模型应用旋转来生成这些眼睛特征。在其他实施例中,注意力监视器模块161从眼睛跟踪系统142接收眼睛的中央凹轴,并使用中央凹轴的方向作为凝视向量306。在确定凝视向量306之后,模块161通过计算凝视向量306和屏幕304之间的交点来确定注视点314。在其他实施例中,注视点314通过其他方式来计算。

在另一个实施例中,为用户的两只眼睛分别确定两个凝视向量,并且可佩戴显示器128基于两个凝视向量的会聚来确定用户的聚焦深度。在该实施例中,可佩戴显示器128确定聚焦深度与场景中对象的深度值之间的深度差(在下文中称为深度差),以便确定第一用户是将她的眼睛集中在特定对象或用户上,还是仅仅让眼睛休息而不注意屏幕。

图8提供了ar/vr系统100的示例,在该示例中可以实现本公开的方法。ar/vr系统100包括网络855、包括控制器152的一个或更多个服务器850以及由设备820和821示出的多个用户设备(例如可佩戴显示器128或126)。服务器850向用户设备提供用于显示图像的数据、监视用户活动以及向用户通知其他用户对她的注意力。网络855提供服务器850与用户设备820和821之间的通信手段。网络855可以是互联网、诸如移动设备运营商网络之类的无线或有线网络、或者可以用于服务器与客户端之间的通信的任何其他网络。用户设备820和821可以是hmd,并且每个用户设备可以包括任何合适的计算设备,例如台式计算机或移动设备,例如移动电话、蜂窝电话、智能电话、个人数字助理、笔记本计算机、平板计算机、膝上型计算机、相机、摄像机或手持游戏控制台。

图9示出了示例计算机系统700。在特定实施例中,一个或更多个计算机系统700执行本文描述或示出的一个或更多个方法的一个或更多个步骤。在特定实施例中,一个或更多个计算机系统700提供本文描述或示出的功能。在特定实施例中,在一个或更多个计算机系统700上运行的软件执行本文描述或示出的一个或更多个方法的一个或更多个步骤,或者提供本文描述或示出的功能。特定实施例包括一个或更多个计算机系统700的一个或更多个部分。

本公开设想了任何合适数量的计算机系统700。本公开设想了采取任何合适的物理形式的计算机系统700。作为示例而不是作为限制,计算机系统700可以是嵌入式计算机系统、片上系统(soc)、单板计算机系统(sbc)(例如,模块上计算机(com)或模块上系统(som))、台式计算机系统、膝上型或笔记本计算机系统、交互式信息亭、大型机、计算机系统网状网、移动电话、个人数字助理(pda)、服务器、平板计算机系统、或者这些中的两个或更多个的组合。在适当的情况下,计算机系统700可以包括一个或更多个计算机系统700;可以是整体式的或分布式的;跨越多个位置;跨越多台机器;跨越多个数据中心;或者驻留在云中,云可以包括在一个或更多个网络中的一个或更多个云部件。在适当的情况下,一个或更多个计算机系统700可以在没有实质性空间或时间限制的情况下执行本文描述或示出的一个或更多个方法的一个或更多个步骤。作为示例而不是作为限制,一个或更多个计算机系统700可以实时地或以批处理模式来执行本文描述或示出的一个或更多个方法的一个或更多个步骤。在适当的情况下,一个或更多个计算机系统700可以在不同的时间或在不同的位置处执行本文描述或示出的一个或更多个方法的一个或更多个步骤。

在特定实施例中,计算机系统700包括处理器702、非暂时性存储器704、存储装置706、输入/输出(i/o)接口708、通信接口710和总线712。尽管本公开描述并示出了具有在特定布置中的特定数量的特定部件的特定计算机系统,但是本公开设想了具有在任何合适布置中的任何合适数量的任何合适部件的任何合适的计算机系统。

在特定实施例中,处理器702包括用于执行指令(例如构成计算机程序的那些指令)的硬件。作为示例而不是作为限制,为了执行指令,处理器702可以从内部寄存器、内部高速缓存、非暂时性存储器704或存储装置706中检索(或取回)指令;将这些指令解码并执行它们;以及然后将一个或更多个结果写到内部寄存器、内部高速缓存、非暂时性存储器704或存储装置706。在特定实施例中,处理器702可以包括用于数据、指令或地址的一个或更多个内部高速缓存。尽管本公开描述并示出了特定的处理器,但是本公开设想了任何合适的处理器。

在特定实施例中,非暂时性存储器704包括主存储器,其用于存储供处理器702执行的指令或供处理器702操作的数据。作为示例而不是作为限制,计算机系统700可以将指令从存储装置706或另一个源(例如,另一个计算机系统700)加载到存储器704。处理器702然后可以将指令从存储器704加载到内部寄存器或内部高速缓存。为了执行指令,处理器702可以从内部寄存器或内部高速缓存中检索指令并将它们解码。在指令的执行期间或之后,处理器702可以将一个或更多个结果(其可以是中间结果或最终结果)写到内部寄存器或内部高速缓存。处理器702然后可以将这些结果中的一个或更多个写到非暂时性存储器704。

在特定实施例中,处理器702仅执行在一个或更多个内部寄存器或内部高速缓存中或在存储器704(而不是存储装置706或其他地方)中的指令,并且仅对在一个或更多个内部寄存器或内部高速缓存中或在存储器704(而不是存储装置706或其他地方)中的数据进行操作。一个或更多个存储器总线(其可以各自包括地址总线和数据总线)可以将处理器02耦合到存储器704。如下所述,总线712可以包括一个或更多个存储器总线。在特定实施例中,一个或更多个存储器管理单元(mmu)驻留在处理器702和存储器704之间,并且便于由处理器702请求的对存储器704的访问。尽管本公开描述并示出了特定的存储器,但是本公开设想了任何合适的存储器。

在特定实施例中,存储装置706包括用于数据或指令的大容量存储装置。在适当的情况下,存储装置706可以包括可移动或不可移动(即固定)介质。在适当的情况下,存储装置706可以在计算机系统700的内部或外部。在特定实施例中,存储装置706是非易失性固态存储器。在适当的情况下,存储装置706可以包括一个或更多个存储装置706。尽管本公开描述并示出了特定的存储装置,但是本公开设想了任何合适的存储装置。

在特定实施例中,i/o接口708包括为在计算机系统700和一个或更多个i/o设备之间的通信提供一个或更多个接口的硬件、软件或两者。在适当的情况下,计算机系统700可以包括这些i/o设备中的一个或更多个。这些i/o设备中的一个或更多个可以实现在人和计算机系统700之间的通信。作为示例而不是作为限制,i/o设备可以包括键盘、小键盘、麦克风、监视器、鼠标、打印机、扫描仪、扬声器、静态相机、触笔、平板计算机、触摸屏、跟踪球、摄像机、另一个合适的i/o设备、或这些设备中的两个或更多个的组合。i/o设备可以包括一个或更多个传感器。本公开设想了任何合适的i/o设备以及用于它们的任何合适的i/o接口708。在适当的情况下,i/o接口708可以包括使处理器702能够驱动这些i/o设备中的一个或更多个的一个或更多个设备或软件驱动器。在适当的情况下,i/o接口708可以包括一个或更多个i/o接口708。尽管本公开描述并示出了特定的i/o接口,但是本公开设想了任何合适的i/o接口。

在特定实施例中,通信接口710包括提供用于在计算机系统700和一个或更多个其他计算机系统700或一个或更多个网络之间的通信(例如,基于包(packet-based)的通信)的一个或更多个接口的硬件、软件或两者。作为示例而不是作为限制,通信接口710可以包括用于与以太网或其他基于有线的网络进行通信的网络接口控制器(nic)或网络适配器,或用于与无线网络(例如wi-fi网络)进行通信的无线nic(wnic)或无线适配器。本公开设想了任何合适的网络和用于它的任何合适的通信接口710。尽管本公开描述并示出了特定的通信接口,但是本公开设想了任何合适的通信接口。

在特定实施例中,总线712包括将计算机系统700的部件耦合到彼此的硬件、软件或两者。尽管本公开描述并示出了特定总线,但是本公开设想了任何合适的总线或互连。

在本文,对计算机可读存储介质的引用包括一个或更多个具有结构的非暂时性、有形的计算机可读存储介质。作为示例而非限制,在适当的情况下,计算机可读存储介质可以包括基于半导体的或其他集成电路(ic)(例如,现场可编程门阵列(fpga)或专用ic(asic))、硬盘、hdd、混合硬盘驱动器(hhd)、光盘、光盘驱动器(odd)、磁光盘、磁光驱动器、软盘、软盘驱动器(fdd)、磁带、全息存储介质、固态驱动器(ssd)、ram驱动器,安全数字卡、安全数字驱动器或另一种合适的计算机可读存储介质或这些中的两种或更多种的组合。在本文,对计算机可读存储介质的引用不包括根据35u.s.c.§101没有资格获得专利保护的任何介质。在本文,鉴于暂时形式的信号传输根据35u.s.c.§101是没有资格获得专利保护的,对计算机可读存储介质的引用不包括暂时形式的信号传输(例如传播电信号或电磁信号本身)。在适当的情况下,计算机可读非暂时性存储介质可以是易失性的、非易失性的或者易失性和非易失性的组合。

本公开设想了实现任何合适的存储的一个或更多个计算机可读存储介质。在特定实施例中,在适当的情况下,计算机可读存储介质实现处理器702的一个或更多个部分(例如,一个或更多个内部寄存器或高速缓存)、存储器704的一个或更多个部分、存储装置706的一个或更多个部分或这些的组合。在特定实施例中,计算机可读存储介质实现ram或rom。在特定实施例中,计算机可读存储介质实现易失性或持久性的存储器。在特定实施例中,一个或更多个计算机可读存储介质体现软件。在本文,在适当的情况下,对软件的引用可以包括一个或更多个应用、字节码(bytecode)、一个或更多个计算机程序、一个或更多个可执行文件、一个或更多个指令、逻辑、机器代码、一个或更多个脚本或源代码,反之亦然。在特定实施例中,软件包括一个或更多个应用编程接口(api)。本公开设想了以任何合适的编程语言或编程语言的组合编写或以其他方式表达的任何合适的软件。在特定实施例中,软件被表达为源代码或目标代码。

本公开在范围上不受本文描述的特定实施例限制。实际上,除了在本文描述的那些实施例和修改之外,其他各种实施例和修改根据前面的描述和附图对于本领域中的普通技术人员将明显。因此,这样的其他实施例和修改被规定为落在本公开的范围内。此外,尽管在本文在特定实现的上下文中在特定环境中为了特定的目的描述了本公开,但是本领域中的普通技术人员将认识到它的有用性不限于此,以及本公开可以有益地在任何数量的环境中为了任何数量的目的而实现。因此,应该考虑如本文描述的本公开的全部广度和精神来解释所阐述的权利要求。

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