首页> 中国专利> 评估虚拟环境的输入和输出的对准

评估虚拟环境的输入和输出的对准

摘要

本文中描述用于建立和/或评估通信会话的技术和架构,所述通信会话使来自相同物理环境、不同物理环境或组合的用户能够在虚拟坐标系中进行交互并且彼此感知为存在。用户的表示可以在坐标系内对准,同时在物理环境中维持所述用户的空间对准和/或在另一坐标系中维持所述表示的空间对准。可以以与用户的输入对准的方式将所述用户的表示输出到另一用户。可以为用户创建人类模型,并将其用于提供映射到人类的用户的表示。可以评估用户的表示,以确定所述表示是否恰当地与所述用户和/或坐标系对准。

著录项

  • 公开/公告号CN113039508A

    专利类型发明专利

  • 公开/公告日2021-06-25

    原文格式PDF

  • 申请/专利权人 普鲁托虚拟现实科技公司;

    申请/专利号CN201980066268.6

  • 申请日2019-10-09

  • 分类号G06F3/01(20060101);G02B27/01(20060101);

  • 代理机构11287 北京律盟知识产权代理有限责任公司;

  • 代理人林斯凯

  • 地址 美国华盛顿州

  • 入库时间 2023-06-19 11:35:49

说明书

本案为PCT申请,其要求于2018年10月10日提交的标题为“评估虚拟环境的输入和输出的对准(EVALUATING ALIGNMENT OF INPUTS AND OUTPUTS FOR VIRTUALENVIRONMENTS)”的共同拥有的第16/156,738号美国专利申请、于2018年10月10日提交的标题为“虚拟环境的参考框架(REFERENCE FRAMES FOR VIRTUAL ENVIRONMENTS)”的第16/156,776号美国专利申请和于2018年10月10日提交的标题为“将虚拟表示对准到输入和输出(ALIGNING VIRTUAL REPRESENTATIONS TO INPUTS AND OUTPUTS)”的第16/156,818号美国专利申请的优先权,所述美国专利申请全部特此以全文引用的方式并入。

背景技术

许多系统使得用户能够通过网络进行连接。例如,虚拟现实(VR)系统允许用户控制虚拟环境中的化身或其它虚拟表示。确切地说,位于第一位置的第一用户可以使用VR头戴式耳机或其它装置来与位于第二位置的第二用户进行交互。在另一示例中,扩增现实(AR)系统允许用户体验具有经扩增内容的物理世界。具体地说,在相同位置的第一用户和第二用户可以观看具有叠加在实时图像上的虚拟内容的物理世界的实时图像。在又一个示例中,用户可以通过观看彼此的实时图像来通过视频会议系统进行通信。尽管这些系统使用户能够以虚拟方式彼此交互,但是它们遭受了各种挫折。例如,VR系统通常会将用户放置在其自身的虚拟环境内。这通常会导致位于同一物理环境中的用户在物理环境内移动时会撞上彼此或以其它方式彼此接触。此外,AR系统通常允许处于相同物理环境中的用户进行交互,但缺乏对远程用户的支持。此外,这些系统提供了相对高层的交互,无法模仿人类的实际通信方式。例如,视频会议系统需要用户注视相机以使另一用户看起来为进行眼神接触。此外,由于使用了不同类型的系统和/或具有多个组件的系统来通过网络连接用户,因此系统易于丢失交互的一个或多个方面。

附图说明

参考随附图式阐述详细描述。在图中,附图标记的最左边的一个或多个数字识别附图标记首次出现的图。在不同图式中使用相同参考标号指示类似或相同的项目或特征。

图1图示其中可以实施本文描述的技术的示例架构。

图2A图示物理环境内的用户。

图2B图示虚拟环境内的用户的表示。

图3图示表示来自公共虚拟环境中的各种环境的用户和表示的示例。

图4图示以与第一用户的输入对准的方式向第二用户输出第一用户的第一表示的示例。

图5图示评估表示和/或用户以确保通信会话具有共享存在的示例。

图6图示可以执行本文论述的技术的示例装置。

图7图示可以执行本文论述的技术的示例服务提供商。

图8图示生成复合空间数据以维持物理环境中的用户的空间对准和/或坐标系中的表示的空间对准的示例过程。

图9图示评估参与通信会话的用户和/或表示的眼睛对准的示例过程。

图10图示评估通信会话以确定用户或表示是否正注视彼此的示例过程。

图11图示评估作为通信会话的一部分的表示的输出的示例过程。

图12图示评估与作为通信会话的一部分的表示相关联的声音的示例过程。

图13图示评估与作为通信会话的一部分的表示相关联的触摸的示例过程。

图14图示创建人类模型并使用所述人类模型来评估用户交互的示例过程。

图15图示使得用与在物理环境中用户正在注视的方向相对应的方向上注视的眼睛表示来显示一表示的示例过程。

图16图示使得用与在物理环境中用户正在注视的方向相对应的方向上注视的眼睛表示来显示一表示的示例过程。

具体实施方式

本公开部分地描述了用于建立通信会话的技术和架构,所述通信会话使来自相同物理环境、不同物理环境或组合的用户能够在虚拟坐标系中进行交互并且彼此感知为存在(也称为“共享存在”)。在一些示例中,可以在坐标系(例如,虚拟环境)内对准用户的表示,同时在物理环境中维持用户的空间对准和/或在另一坐标系中维持表示的空间对准。为了说明,复合空间数据可以用于表示来自虚拟环境中的第一物理环境的两个用户,以及表示来自虚拟环境中的另一物理环境的用户,同时维持两个用户相对于彼此的定位。此外,在一些示例中,可以以与用户的输入对准的方式将所述用户的表示输出到另一用户。为了说明,当第一用户正在注视显示给第一用户的第二用户的表示的眼睛时,可以用正注视第二用户的眼睛向第二用户显示第一用户的表示。此外,在一些示例中,可以为用户创建人类模型,并将其用于提供映射到实际人类的用户的表示。为了说明,用于用户的表示的眼睛之间的距离可以对应于用户的实际眼睛之间的距离。

本公开还部分地描述了用于评估表示和/或用户以确保通信会话维持共享存在的技术和架构。在一些示例中,可以在通信会话期间评估用户的表示,以确定所述表示是否恰当地与用户和/或坐标系对准。为了说明,可以将第一用户感知第二用户的表示所注视的方向(如由与第一用户相关联的装置所显示)与第二用户的装置指示用于第二用户的表示注视的方向进行比较。如果所述方向在阈值量内相同,则通信会话具有共享存在。而如果所述方向在阈值量内不相同,则通信会话已失去共享存在。

如上所述,在一些示例中,用户的表示可以在坐标系内对准,同时在物理环境中维持用户的空间对准和/或在另一坐标系中维持表示的空间对准。例如,假定与第一用户相关联的第一装置、与第二用户相关联的第二装置以及与第三用户相关联的第三装置参与通信会话。另外,假定第一装置和第二装置位于第一物理环境中,并且第三装置位于第二物理环境中。第一用户可以与第一表示相关联,第二用户可以与第二表示相关联,并且第三用户可以与第三表示相关联。在此,计算装置(例如,第一装置、第二装置、服务提供商等)可以识别第一空间数据,所述第一空间数据指示用于第一用户和第二用户的第一参考框架、第一用户或第一表示相对于第一参考框架的位置,以及第二用户或第二表示相对于第一参考框架的位置。第一参考框架可以是第一物理环境中的公共空间锚点(在一些情况下,或为虚拟环境中的虚拟点)。计算装置还可以识别第二空间数据,所述第二空间数据指示第三用户的第二参考框架以及第三用户或第三表示相对于第二参考框架的位置。第二参考框架可以是第二物理环境中的锚点和/或另一虚拟点。

计算装置可以接着为第一用户、第二用户和第三用户生成复合空间数据,因为他们是同一通信会话的一部分。复合空间数据可以包含第一空间数据和第二空间数据。复合空间数据可以指示为第一空间数据和第二空间数据共享的虚拟点。复合空间数据可以指示相对于虚拟点的第一用户/表示的位置、第二用户/表示的位置和/或第三用户/表示的位置。在一些示例中,复合空间数据维护用于多种物理和/或虚拟环境的空间数据,以使得多个物理和/或虚拟环境中的用户可以维持现有的空间对准。在一些示例中,复合空间数据包含作为通信会话的一部分的每个用户或装置的空间数据。

计算装置可以使用复合空间数据来定位第一表示、第二表示和/或第三表示。例如,计算装置可以经由第一装置在坐标系内在基于包含在复合空间数据中的第一空间数据的位置处显示用于第二用户的第二表示。这可以在第一物理环境中维持第一用户和第二用户的空间对准。例如,如果第一用户在第一物理环境中正注视第二用户,则第一表示将在坐标系中表示为正注视第二表示。例如,计算装置可以经由第一装置在坐标系内在基于包含在复合空间数据中的第二空间数据的位置处显示用于第三用户的第三表示。在一些示例中,复合空间数据可以辅助定位与嵌套环境相关联的用户(例如,允许处于物理环境和虚拟环境中的第一用户在共享环境中与处于物理环境和另一虚拟环境两者中的第二用户进行通信)。

在一些示例中,可以以与用户对准的方式将用户的表示输出到另一用户。例如,假定与第一用户相关联的第一装置和与第二用户相关联的第二装置参与通信会话。可以用第一表示来表示第一用户,并且可以用第二表示来表示第二用户。在此示例中,第一表示的眼睛可以与第一用户的眼睛相对于显示给第一用户的对象或人员正在注视的方向对准。类似地,第二表示的眼睛可以与第二用户的眼睛相对于显示给第二用户的对象或人员正在注视的方向对准。

为了促进这种对准,计算装置(例如,第一装置、第二装置、服务提供商等)可以确定第一用户的眼睛相对于由第一装置显示的第二表示正注视的第一方向。计算装置还可以确定第二用户相对于第二装置的位置和/或定向。计算装置可以使用此类确定来使得第一表示经由第二装置以相对于第二用户在第二方向上注视的眼睛表示来显示,所述第二方向与第一用户的眼睛相对于由第一装置显示的第二表示所注视的第一方向对准。例如,如果第一用户注视由第一装置显示的第二用户的表示的眼睛,则第一表示可以在第二装置上向第二用户显示为注视第二用户的眼睛。类似地,第二表示的眼睛表示可以对准。这可以避免用户不得不直接注视传感器(例如,相机)以看起来像注视另一用户的眼睛。

在一些示例中,可以为用户创建人类模型,并将其用于提供映射到实际人类的用户的表示。例如,装置可以捕获关于用户的数据,例如关于用户的面部的面部数据、关于用户的手的手数据等。所述数据可以用于形成表示用户的人类模型。在一些情况下,人类模型是特定于用户的。在其它情况下,随着时间的推移会收集各种数据,以创建表示多个用户的更通用的人类模型。在任何情况下,人类模型可以用于在坐标系内提供用户的表示。具体地说,用于用户的表示可以包含与人类模型的特征相对应的特征(例如,包含类似大小/形状、特征的类似定位等)。

在一些示例中,用于用户的表示可以仅包含与人类模型相对应的特征。为了说明,如果装置仅能够捕获用户的头部数据和手数据(例如,由于用户仅使用头戴式耳机和手控制器),则用于用户的表示可以仅包含头部和手。然而,在其它图示中,用于用户的表示可以包含可以或可以不对应于人类模型的任何数量的特征。

另外,在一些情况下,可以在通信会话期间评估用户的表示,以检查表示的特征是否准确地反映了人类模型。为了说明,如果表示的手位于距表示的头部的第一距离处,则可以将所述第一距离与人类模型上的手和人类模型上的头部之间的第二距离进行比较。如果第一距离大于第二距离,则这可以指示表示的手不再与人类模型联系在一起(例如,用户已经停止使用手控制器并且移动远离手控制器)。在识别出这一点之后,现在可以将用户的表示显示为没有手。

在一些示例中,可以评估表示和/或用户以确保通信会话维持共享存在。例如,假定与第一装置相关联的第一用户和与第二装置相关联的第二用户参与通信会话,其中第一用户以第一表示来表示,且第二用户以第二表示来表示。此处,可以对照如由第二用户所感知的第二表示的输出的位置或方向来评估如由第一用户所感知的第二表示的输出的位置或方向。对于第一表示的输出,可能发生类似的过程。例如,第一装置可以识别第二表示的眼睛在由第一装置显示的坐标系中正注视的第一方向。第一方向可以是第一用户(经由第一装置)感知到的第二表示所注视的方向。第二装置可以识别第二表示的眼睛在坐标系中正注视的第二方向。第二方向可以是第二用户经由第二装置在坐标系中正注视的方向。

可以评估第一方向和第二方向以确定第一用户感知到第二表示正注视的方向是否与第二装置指示第二表示正注视的方向相同。例如,如果第一用户和第二用户正在注视对方(例如,在眼睛中注视彼此),则评估可以检查(i)第一装置指示第二表示正在注视第一用户,并且(ii)第二装置指示第二表示正在注视第一表示(例如,第二用户正在注视第一表示的眼睛)。如果评估指示第二表示的眼睛未对准,则通信会话可以重新启动第一装置、第二装置和/或眼睛跟踪传感器,切换为显示第一表示和/或第二表示而无眼睛数据(例如,没有对准的眼睛)和/或执行各种其它操作。通过这样做,所述技术可以维持用户和/或用户的表示的对准。

尽管在对准和/或评估眼睛的背景下论述了许多示例,但可以评估其它类型的数据。例如,所述技术可以对准和/或评估感知到来自表示的口腔的声音的方向、感知到的表示上的触摸位置等。

为读者方便起见提供此短暂介绍,且其不意图限制权利要求书的范围和进行中的章节。此外,本文中详细描述的技术可以数种方式且在数个背景下加以实施。参考如下文更详细描述的附图来提供一些实例实施方案及背景。然而,应了解,以下实施方案和背景仅仅是许多实施方案和背景中的一些。

图1图示其中可以实施本文描述的技术的示例架构100。架构100包含分别与装置108、110和112相关联的用户102、104和106。如图所示,用户102位于物理环境114(也称为现实世界环境114)中,而用户104和106位于物理环境116(也称为现实世界环境116)中。装置108、110和112可以例如通过显示内容、输出声音、振动等来提供输出,和/或可以例如通过控制器108(B)、110(B)和112(B)来接收输入,以使用户102、104和106能够在坐标系114(例如虚拟环境)中进行交互。这样的交互和/或坐标系114可以形成用于用户102、104和106的通信会话的一部分。尽管在图1中图示为虚拟现实(VR)头戴式耳机和控制器(例如,手控制器),但如参考图6更详细地论述,装置108、110和112中的每一个可以是任何类型的计算装置。在示例架构100中,在坐标系114内用表示118表示用户102,用表示120表示用户104,并且用表示122表示用户106。经由装置108、110和112,用户102、104和106分别看到视图124、126和128。例如,视图124图示了装置108当前正在向用户102显示的内容。在一些示例中,通信会话是在点对点(P2P)背景下实施,其中装置108、110和112执行操作以促进通信会话。在其它示例中,服务提供商130(有时称为远程计算系统)执行一些或所有操作以促进通信会话。在其它示例中,可以以其它方式来促进通信会话。装置108、110和112和/或服务提供商130可以经由一个或多个网络132进行通信。一个或多个网络132可以包含多种不同类型的网络中的任何一个或组合,例如蜂窝式网络、无线网络、局域网(LAN)、广域网(WAN)、因特网等等。

尽管在图1中示出了三个用户和三个装置,但可以实施任何数量的用户和/或装置。另外,尽管一个用户102位于第一物理环境114处并且两个用户104和106位于第二物理环境116处,但用户102、104和106(和/或额外用户)可以以不同方式布置。由此,来自任何数量的物理环境的任何数量的用户和/或装置可以是通信会话的一部分。通信会话可以包含电视电话会话、虚拟现实(VR)会话、扩增现实(AR)会话等。

在图1的示例中,表示118、120和122各自仅用头部和双手来图示。例如,表示118包含头部表示118(A)和手表示118(B)。此处,头部表示118(A)对应于例如头戴式耳机的装置108的头部组件108(A),而手表示118(B)对应于装置108的手控制器108(B)。在此示例中,表示118、120和122仅包含已经为其捕获了人类数据的那些特征(例如,身体部位)。例如,由于装置108包含头戴式耳机108(A)和手控制器108(B),所以装置108能够捕获关于用户102的头部和用户102的手的数据。此人类数据用于以头部表示118(A)和手表示118(B)来表示用户102。在其它示例中,即使没有针对那些其它特征捕获人类数据(例如,身体数据),也可以将表示118、120和122显示为具有其它特征(例如,身体部位)。

在图1的示例中,表示120和122对准以维持用户104和106在物理环境116内的定位。如图所示,用户104和106定位在物理环境116内彼此相距一定距离处,并且正在注视彼此(例如,如果不佩戴装置110和112,则将注视彼此的眼睛)。由此,表示120和122在坐标系114内显示为彼此相距一定距离,并且显示为注视彼此的眼睛。表示120和122的位置与物理环境116中的用户104和106的位置相关(例如,相同、按一定因子缩放等)。在许多示例中,表示120和122的定位是基于用户104和106相对于参考框架(例如物理环境116中的锚点)的定位。例如,表128可以是用户104和106的公共参考框架。

如图1所示,用户102看到用户104的表示120,并且看到用户106的表示122,其注视彼此。另外,用户104看到用户106的表示122注视用户104,且看到用户102的表示118看向一侧。另外,用户106看到用户104的表示120注视用户106,并且用户102的表示118看向一侧。在许多示例中,描述为注视用户的表示是指表示的眼睛看向用户的眼睛,而非更一般地朝用户的方向注视。

图2A图示物理环境204(也称为现实世界环境)内的用户202。用坐标系示出了物理环境204。此处,用一组线表示坐标系,这些线可以用于描述用户202的位置。在此示例中,坐标系的原点表示物理环境204的参考框架206。此处,参考框架206对应于用户202所位于的房间的角落。但在其它示例中,物理环境204的参考框架206可以对应于对象的状态(例如,位置、速度等)可以参考到的任何物理点或锚点。例如,物理环境204的参考框架206可以替代地是房间中的对象(例如,VR头戴式耳机、家具、灯具、地面等)。如图2B所示,房间包含窗户208。

在一些示例中,由用户202使用的装置210可以评估物理环境204以确定参考框架206和/或坐标系。参考框架206通常可以用于跟踪物理环境202内的用户202,提供与用户202的移动相关的用户202的表示212,等等。在一些示例中,当参考框架206不再在距装置210的一定距离内时、当用户202移动到新房间时(等),装置210可以重新评估参考框架206,和/或周期性地确定新参考框架。另外,在一些示例中,多个参考框架可以用于物理环境204中的用户202。

图2B图示虚拟环境214内的用户202的表示212。可以参考坐标系(例如,所图示的线)来描述虚拟环境214。由此,虚拟环境214有时可以称为虚拟坐标系。在此示例中,坐标系的原点表示虚拟环境214的参考框架216。此处,参考框架216对应于用户212所位于的虚拟房间中的点。参考框架216可以是对象的状态(例如,位置、速度等)可以参考的虚拟环境214中任何点或锚点(例如,对象)。参考框架216可以与物理环境204中的参考框架206相同或不同。由此,可以相对于物理环境204中的参考框架206来描述用户202,和/或可以相对于虚拟环境214中的参考框架216来描述表示212。如图所示,虚拟环境214包含虚拟表218。

可以相对于虚拟环境214的坐标系来描述物理环境204的坐标系,或反之亦然。框220指示虚拟环境214的坐标系的原点可以从物理环境204的坐标系的原点变换而来,例如偏移、旋转、缩放等。在此示例中,虚拟环境214的坐标系的原点从物理环境204的坐标系的原点偏移,在其它示例中,原点可以是相同的。另外,尽管将坐标系图示为相同,但坐标系可以不同。

图3图示表示来自公共虚拟环境302中的各种环境的用户和表示的示例。公共虚拟环境302(有时称为“虚拟环境302”)可以允许来自各种物理和/或虚拟环境的用户和/或表示进行通信。在此示例中,可以创建复合空间数据并将其用于维持物理环境308中用户304和306的空间对准以及虚拟环境314中的表示310和312的空间对准。通过维持用户和/或用户的表示的空间对准,所述技术可以辅助在公共虚拟环境302内建立共享存在(例如,创建用户感觉彼此存在的体验)。

在此示例中,与用户304相关联的装置316和与用户306相关联的装置318通信以建立参考框架320(例如,物理环境308中的锚点)。此处,参考框架320包括由装置316和318两者使用的共享参考框架。装置316和318可以共享参考框架320,因为用户304和306位于相同的物理环境308中,例如相同的房间、房屋、院子等。但在其它示例中,装置316和318可以使用不同的参考框架。尽管未在图3中图示,但参考框架320可以与坐标系相关联(例如,可以是坐标系的原点)。这可以允许相对于参考框架320描述对象(例如,用户304和306)。

参考框架320可以用于生成用户304和/或用户306的空间数据。例如,装置316可以确定用户304相对于参考框架320的位置以及用户304相对于参考框架320的定向(例如,相对于与参考框架320相关联的坐标系的原点和/或轴线的角度)。为了说明,这可以包含确定指示用户304相对于参考框架320的位置的X、Y、Z值和/或指示用户304相对于参考框架320的旋转的Xr、Yr、Zr值。在示例中,X、Y、Z和/或Xr、Yr、Zr值可以用于找到用户304与参考框架320之间的距离或任何其它信息。关于用户304相对于参考框架320的对准(例如,定位)的此类信息可以存储为用户304的空间数据(例如,用户304的空间数据可以包含X、Y、Z和/或Xr、Yr、Zr值)。在一些示例中,空间数据是相对于用户304的特定特征,例如特定身体部位。例如,用于用户304的空间数据可以指示用户304的眼睛相对于参考框架320位于特定的X、Y、Z坐标处,并且在和与参考框架320相关联的坐标系的原点和/或轴线建立240度角的方向上注视。来自图3中的装置316的线指示用户304的眼睛正在注视的方向。尽管图示为垂直于用户304的身体注视,但眼睛可以在任何方向上注视。可以执行类似的处理以生成用户306的空间数据。

虚拟环境314内的表示310和表示312也与参考框架322相关联。此处,参考框架322包括虚拟环境314中的虚拟点,例如对象、房间的角落等,其是虚拟环境314的一部分。尽管未在图3中图示,表示310和312中的每一个可以与不同于用户304和306的用户相关联。在图3的示例中,表示310和表示312共享参考框架322。在其它示例中,可以使用不同的参考框架。

参考框架322可以用于生成用户310和/或表示312的空间数据。例如,表示310的空间数据可以指示用户310相对于参考框架322的位置和/或表示310相对于参考框架322的定向(例如,相对于与参考框架322相关联的坐标系的原点和/或轴线的角度)。为了说明,空间数据可以指示表示310相对于参考框架322的X、Y、Z坐标值和/或指示表示310相对于参考框架322旋转的Xr、Yr、Zr坐标值。如上文类似地所述,表示310的空间数据可能特定于表示310的特征,例如表示310的眼睛。来自图3中的表示310的线指示表示310的眼睛正在注视的方向。尽管图示为垂直于表示310的身体注视,但眼睛可以在任何方向上注视。可以执行类似的处理以生成表示312的空间数据。

在图3的示例中,物理环境308中的用户304和306以及虚拟环境314中的表示310和312各自表示于公共虚拟环境302内以进行通信。具体地说,在虚拟环境302内用表示324表示用户304,并且在虚拟环境302内用表示326表示用户306。同时,表示310和表示312提供在虚拟环境302内。

为了维持物理环境308内的用户304和306的空间对准以及虚拟环境内的表示310和312的空间对准,可以生成复合空间数据。复合空间数据可以包含用于用户304的空间数据、用于用户306的空间数据、用于表示310的空间数据和/或用于表示312的空间数据。另外或替代地,复合空间数据可以指示虚拟环境302内的表示310、312、324和326所共有的参考框架328。参考框架328可以包含虚拟环境302中的点,例如对象、房间中的角落等。复合空间数据可以指示表示310、312、324和326相对于参考框架328的位置。例如,复合空间数据可以指示表示310相对于参考框架328的位置和/或表示310相对于参考框架328的方向(例如,相对于与参考框架328相关联的坐标系的原点和/或轴线的角度、表示310相对于参考框架328的X、Y、Z和/或Xr、Yr、Zr坐标值,等)。对于其它表示312、324和326中的每一个,类似的数据可以存储在复合空间数据中。另外,复合空间数据可以指示参考框架相对于彼此的位置和/或定向(例如,参考框架320相对于参考框架328的位置和/或定向,以及参考框架322相对于参考框架328的位置和/或定向)。

复合空间数据可以用于在虚拟环境内定位表示310、312、324和326。例如,可以根据用户304和306在物理环境308中的定位和/或定向来维持表示324和326在虚拟环境302中的定位和/或定向。另外,可以根据表示310和312在虚拟环境314中的定位和/或定向来维持表示310和312在虚拟环境302中的定位和/或定向。在一些示例中,在没有缩放因子的情况下维持定位和/或定向(例如,如果用户304和306在物理环境308中相距十英尺,则表示324和326在虚拟环境302中相距对应于十英尺的距离)。在其它示例中,使用缩放因子(例如,将所有表示的定位放大或缩小五倍)。如图3所示,对于虚拟环境302中的表示324和326,维持在物理环境308中的用户304和306之间的角度330。还如图所示,在虚拟环境302中维持虚拟环境314中的表示310和312之间的角度332。

尽管图3的示例论述了将一个虚拟环境嵌套到另一虚拟环境中(例如,将虚拟环境314嵌套到虚拟环境302中),但可以嵌套任何数量的虚拟环境。

本文论述的技术可以在多种背景下实施。在一个示例中,与表示310相关联的用户可以在虚拟环境314中和与表示312相关联的用户进行交互(例如,玩游戏、探索空间、交流等)。此类用户可能希望加入与用户304和306的通信会话,同时仍维持在虚拟环境314中的交互。由此,虚拟环境302可以实施为促进与所有用户(例如,与虚拟环境314相关联的用户以及用户304和306)的通信会话。与虚拟环境314相关联的用户可以在虚拟环境302和314之间切换,同时在虚拟环境302和314中交互,等等。在另一示例中,与虚拟环境314相关联的用户可能希望进行私聊(side conversation),并且实施虚拟环境314以促进此类对话。在又一示例中,虚拟环境302(或虚拟环境314)可以是实现特定类型的交互的特定类型的虚拟环境(例如,比其它类型的虚拟环境使用户更安全地通信的安全虚拟环境,等)。在另一示例中,虚拟环境302(或虚拟环境314)可以是虚拟现实(VR)环境,并且虚拟环境314(或虚拟环境302)可以是另一类型的环境,例如扩增现实(AR)环境。

图4图示以与第一用户404的输入对准的方式向第二用户406输出第一用户404的第一表示402的示例。在此示例中,第一用户404使用第一装置408来与使用第二装置410的第二用户406进行通信。所述通信可以包含视频电话会话(例如,视频会议)、VR会话、AR会话或任何其它通信会话。此处,第一装置408包含传感器412(例如,摄像机、静态相机、深度传感器等),以捕获第一用户404的数据,例如图像、深度数据等。另外,第二装置410包含传感器414以捕获第二用户406的数据。尽管装置408和410图示为例如移动电话或平板电脑的移动装置,但装置408和410可以是任何类型的装置。

在此示例中,可以处理来自传感器412的数据以提供第一用户404的第一表示402,并且可以处理来自传感器414的数据以提供第二用户406的第二表示416。例如,第一装置408可以分析来自传感器412的数据以识别第一用户404的眼睛正在注视的方向。为了这样做,第一装置408可以通过处理图像和/或深度数据来确定:(i)第一装置408相对于第一用户404和/或相对于参考框架的位置和/或定向,(ii)第一用户404相对于第一装置408和/或相对于参考框架的位置和/或定向,(iii)第一用户404的眼睛相对于第一装置408和/或相对于参考框架的位置和/或定向,(iv)第一用户404的任何其它身体部位(例如,耳朵、鼻子、手、脚等)相对于第一装置408和/或相对于参考框架的位置和/或定向,等。为了说明,第一装置408可以获得关于第一用户404的面部的面部数据,并且分析所述面部数据以识别第一用户404的眼睛在第一用户404的面部上的位置、第一用户404的眼睛之间的距离等。在一些情况下,第一装置408可以识别第一用户404的眼睛的瞳孔的位置。基于此类位置,并且经由图像或深度数据处理知晓眼睛的一般形状(或知晓普通用户的眼睛的形状),第一装置408可以估计眼睛的瞳孔正在注视的方向。在一些示例中,第一装置408可以将方向估计为从眼睛的瞳孔的中心延伸出的线。

第一装置408可以使第一用户404的眼睛正在注视的方向(例如,瞳孔正在注视的方向)与第一装置408的显示屏上的位置相关。在一些示例中,第一装置408可以将出自第一用户404的眼睛的瞳孔的线投射到第一装置408上。第一装置408还可以参考关于第一装置408的信息,例如屏幕大小、第一装置408的大小、传感器412相对于屏幕的位置等。基于此类信息,第一装置408可以确定第一用户404正在注视的第一装置408的屏幕上的像素群组。群组像素可以与经由第一装置408的屏幕正在显示的内容相关。在此示例中,第一用户404正在注视第二用户406的第二表示416的眼睛(例如,注视第一装置408的显示屏的左上角,此处显示第二表示416的眼睛)。

第一装置408可以将关于第一用户404正在注视的方向的数据发送到第二装置410,以使得可以以与第一用户404对准的方式来显示用于第一用户404的第一表示402。如图4所示,第二装置410显示第一用户404的第一表示402,其中眼睛正在注视第二用户406的眼睛。为了这样做,第二装置410可以分析来自传感器414的数据(例如,分析图像、深度数据等)以确定:(i)第二装置410相对于第二用户406和/或相对于参考框架的位置和/或定向,(ii)第二用户406相对于第二装置410和/或相对于参考框架的位置和/或定向,(iii)第二用户406的眼睛相对于第二装置410和/或相对于参考框架的位置和/或定向,(iv)第二用户406的任何其它身体部位(例如,耳朵、鼻子、手、脚等)相对于第二装置410和/或相对于参考框架的位置和/或定向,等。具体地说,第二装置410可以获得关于第二用户406的面部的面部数据,并且分析所述面部数据以识别第二用户406的眼睛在第二用户406的面部上的位置、第二用户406的眼睛之间的距离等。第二装置410可以接着生成第一表示402,其中眼睛注视第二用户406的眼睛。

以类似的方式,第二用户406的第二表示416可以输出到第一用户404。通过执行此类技术,第一表示402可以与第一用户404对准,并且第二表示416可以与第二用户406对准。这可以避免例如用户不得不直接注视传感器(例如,相机)以看起来像注视另一用户的眼睛。如图3所示,由于第一用户404直接注视第二表示416的眼睛,因此第一表示402直接注视第二用户406的眼睛。

在一些示例中,用户的表示可以包含用户的合成图像和/或实际图像。在一个示例中,第一用户404的第一表示402可以包含第一用户404的图像(例如,实时图像),其中第一用户404的面部的合成图像重叠在第一用户404的实时图像上(例如,计算机生成的面部重叠在第一用户404的面部上)。合成图像可以包含第一用户的面部,其中第一用户404的眼睛(和其它面部特征)在第一用户404相对于第二表示416(和对应的第二用户406)注视的方向上注视。第一用户404的面部的合成图像可以包含来自第一用户404的图像的像素值(例如,看起来好像第一用户404实际上注视那个方向)或用于化身、卡通人物、动画表情等的其它像素值。在另一示例中,第一表示402可以包含全合成表示(例如,化身、卡通人物、动画表情等)。

尽管在第一装置408和第二装置410执行特定操作的背景下论述了图4的示例,但所述操作可以由任意数量的装置执行,例如第一装置408第二装置410服务提供商等中的任何一个。

图5图示评估表示和/或用户以确保通信会话已建立共享存在的示例。在此示例中,第一用户502使用第一装置504来与使用第二装置508的第二用户506进行交互。第一用户502和第二用户506是通信会话的一部分,所述通信会话操作以提供共享存在。此处,第一用户502可以与第一表示(为了便于论述在图5中未图示)相关联,并且第二用户506可以与第二表示510相关联。计算装置512(例如,装置504、装置508、另一装置、服务提供商等)可以评估第二用户506的第二表示510,以确定如由第一用户502感知到的第二表示510的输出的位置或方向是否匹配如由第二用户506感知到的第二表示510的输出的位置或方向。为了便于论述,以下示例将论述对第二表示510的眼睛正在注视的方向的评估。然而,可以执行类似过程以评估第一用户502的第一表示。此外,可以对用户的身体的其它特征(例如,其它身体部位)执行类似的处理。

为了评估第二表示510,第一装置504可以识别第二表示510的眼睛在由第一装置504所显示的坐标系中正在注视的第一方向。第一方向可以是第一用户502感知(当通过第一装置504观看时)到第二表示510正在注视(例如,相对于第一用户502)的方向和/或第二表示510相对于参考框架正在注视的方向。为了说明,第一用户502可以感知到第二表示510正在注视第一用户502的眼睛。第一装置504可以生成指示第一方向的第一数据514。第一数据514可以包含表示第一方向的线或向量514(A)(例如,位于坐标系中的线或向量)、从第一用户502的角度来看的第二表示510的视图的图像514(B)(例如,第一用户502通过第一装置504看到的图像)等。当评估过程由另一装置(例如,装置508、服务提供商等)执行时,第一装置504可以将第一数据514发送到所述另一装置。

第二装置508可以识别第二表示510的眼睛在坐标系中正注视的第二方向。第二方向516可以是第二用户506相对于第一用户502的第一表示、参考框架等经由第二装置508在坐标系中注视的方向。为了说明,第二用户506可能正在注视经由第二装置508显示的第一用户502的第一表示的眼睛。第二装置508可以生成指示第二方向的第二数据516。第二数据516可以包含表示第二方向的线或向量516(A)(例如,位于坐标系中的线或向量)、从第一用户502的第一表示的角度来看的第二表示510的估计视图的图像516(B)(例如,从第一用户502的第一表示的角度来看的第二装置508估计将被看到的由第二装置508生成的图像)等。换句话说,图像516(B)可以表示由于当前如何经由第二装置508呈现第一用户502的第一表示,第二装置508估计将被第一用户502看到的视图。为了说明,如果第二装置508在注视第二用户506的眼睛时呈现出第一用户502的第一表示,并且第二用户506正在注视第一表示的眼睛,则第二装置508将生成直接从图像中向外看的第二表示510的图像(从第一表示的角度看)。在任何情况下,当评估过程由另一装置(例如,装置504、服务提供商等)执行时,第二装置508可以将第二数据516发送到所述另一装置。

计算装置512可以评估第二表示510的眼睛在由第一装置504所显示的坐标系中正注视的第一方向和第二表示510的眼睛在由第二装置508提供的坐标系中正注视的第二方向。在一个示例中,在518处,计算装置512可以将第一数据514(A)中表示的线或向量线与第二数据516(A)中表示的线或向量进行比较。如果线或向量匹配(例如,两个向量位于彼此接近的阈值内、在阈值度数内具有相同的角度和/或具有相同量值),则通信会话具有共享存在(或能够建立共享存在)(例如,准确描绘了用户502和506的眼睛)。此处,通信会话可以继续共享存在、建立共享存在等。或者,如果线或向量不匹配,则通信会话已失去共享存在(或者无法建立共享存在)。在另一示例中,在520处,可以将由第一数据514(B)表示的图像与由第二数据516(B)表示的图像进行比较。如果图像匹配(例如,第二表示510的眼睛在第一数据514(B)的图像中正注视的方向在与第二表示510的眼睛在第二数据516(B)的图像中正注视的方向的类似性的阈值量内、像素值相同程度大于阈值量,等),则通信会话具有共享存在(或能够建立共享存在)。或者,如果图像不匹配,则通信会话已失去共享存在(或无法建立共享存在)。

如果通信会话已失去共享存在(或无法建立共享存在),则可以执行各种操作。例如,可以重新启动第一装置504和/或第二装置508,可以重新启动眼睛跟踪传感器、深度传感器或在提供眼睛数据时可能遇到错误的其它装置,可以将通信会话切换为一种不共享或对准眼睛数据的通信会话(例如,显示不对准表示的眼睛的用户的更通用表示,仅显示用户的视频等)。

在一些示例中,评估过程可以在校准期间发生。在一个示例中,在加入通信会话时,可以要求用户502和用户506在眼睛中彼此注视(例如,一个用户注视另一用户的表示的眼睛),且当用户502(或用户506)感知到其他用户的表示正注视用户502时,经由话音输入、控制器上的按钮等确认眼神接触。在另一示例中,可以要求用户502和用户506在眼睛中彼此注视,并且当来自眼睛跟踪传感器的数据指示用户502(或用户506)正在注视另一用户的表示的眼睛时,装置504和/或装置508可以确认进行了眼神接触。

尽管在评估眼睛的背景下论述了图5的示例,但可以评估其它特征(例如,身体部位)。例如,所述技术可以评估感知到来自表示的口腔的声音的方向、感知到的表示上的触摸位置等。此外,尽管在评估用户的表示的背景下论述了图5的示例,但可以执行类似的过程来评估用户的眼睛在坐标系中注视的方向,如在下文进一步详细论述。

图6图示可以执行本文论述的技术的示例装置602。例如,装置602可以表示装置108、110、112、210、316、318、408、410、504、508等中的任何一个。

装置602可以包括被配置为执行一个或多个操作的多种类型的计算装置。例如,装置602可以实施为笔记本电脑、台式计算机、智能电话、电子阅读器装置、移动手持机、个人数字助理(PDA)、便携式导航装置、便携式游戏装置、VR装置(例如,VR头戴式耳机,例如HTC㈢Vive、

装置602可以包含处理器604、扬声器606、麦克风608、显示器610、相机612、深度传感器614、加速度计616、磁力计618、陀螺仪620、全球导航卫星系统(GNSS)组件622(例如GNSS接收器,例如GPS接收器)、电池624、镜头626、触摸板628、按钮630、触觉装置632、眼睛跟踪装置634、存储器636和/或网络接口638。尽管未在图6中图示,但在一些示例中,装置602还包含电源线、绑带或用于将装置602紧固至用户的其它装置(例如,在VR头戴式耳机的情况下为头带)、嗅觉传感器(例如,以检测气味)、投影仪等。

一个或多个处理器604可以包含中央处理单元(CPU)、图形处理单元(GPU)、微处理器、数字信号处理器等。扬声器606可以输出音频。在一些示例中,实施多个扬声器606。为了说明,装置602可以包含扬声器606,其被配置为放置在用户的每只耳朵上。在此,扬声器606可以是可调整的,以使得它们可以根据用户的期望进行定位。麦克风608可以接收声音并且生成音频信号。在一些示例中,一个或多个麦克风608(或对来自一个或多个麦克风608的音频信号的处理)可以识别接收声音的方向(例如,相对于装置602)。

显示器610可以包含触摸屏、液晶显示器(LCD)、发光二极管(LED)显示器、有机LED显示器、等离子显示器、电子纸显示器或任何其它类型的技术。在一些示例中,显示器610与镜头626对准。为了说明,显示器610可以与穿过镜头626的轴线对准。镜头626可以由塑料、玻璃等形成。镜头626可以是可调整的。为了说明,用户可以使镜头626靠近或远离显示器610移动,以使图像看起来更近/更远和/或使图像聚焦。在另一示例中,用户可以调整镜头626以使镜头626适合于用户的眼睛之间的距离(例如瞳孔间距离(IPD))。另外,在一些示例中,镜头626可以包含用于测量IPD距离的传感器(例如,电位计)。在一些示例中,关于IPD的此类数据可以用于生成身体数据和/或发送到另一装置,以使得可以准确地呈现正在使用装置602的用户的表示。

相机612可以捕获图像。图像可以包括静态图像、视频等。相机612可以包含前置相机、后置相机等。在一些示例中,装置602包含用以捕获关于用户的周围环境的一个或多个相机和/或用以捕获用户的图像的一个或多个相机。例如,装置602可以实施为VR头戴式耳机,所述VR头戴式耳机包含用于捕获用户所在的物理环境的图像的向外相机以及用于捕获用户的面部或其它身体部位的图像的向内相机。

深度传感器614(也称为范围传感器)可以实施多种技术来生成深度数据,所述深度数据指示到周围环境中的点的距离。在一些示例中,装置602包含面向用户的环境(例如,以获得关于用户的物理环境的深度数据)的深度传感器614和面向用户(例如,以获得关于用户的面部的面部数据、关于用户的手的手数据、关于用户身体的其它部位的其它数据等)的深度传感器614。在一个示例中,深度传感器614可以包含飞行时间相机((ToF相机),其测量ToF相机和环境中的目标之间的光信号的飞行时间。在另一示例中,深度传感器614可以包含结构光3D扫描仪(例如,红外发射器和红外相机),以实施将已知图案(例如结构光)投射到表面上并捕获图像的结构光技术。在其它示例中,深度传感器614可以实施其它技术,例如面形激光三角测量、立体三角测量、干涉测量等等。作为非限制性示例,深度传感器614可以实施由来自

加速度计616可以确定装置602的加速度。磁力计618可以确定装置602的磁力。另外,陀螺仪620可以确定装置602的定向和/或角速度。在一些情况下,来自加速度计616、磁力计618和/或陀螺仪620的数据可以用于确定装置602的位置和/或随时间推移跟踪装置602的位置。为了说明,来自加速度计616、磁力计618和/或陀螺仪620的数据可以用于确定装置602已经从初始已知位置行进了多远(例如,基于GNSS数据或其它数据)和/或确定装置602的行进方向。

GNSS组件622可以确定装置602的地理位置。例如,GNSS组件622可以从GNSS(例如,GPS)接收信息,并且基于所述信息来计算装置602的地理位置。触摸板628和/或按钮630可以被配置为接收输入(例如,触摸输入等)。另外,在一些示例中,触摸板628和/或按钮630可以提供例如触觉反馈的输出。

触觉装置632可以包括触觉传感器、触觉反馈装置、触觉手写笔或工具、触觉套装(全身、手套、躯干等)、可穿戴装置等等。在一些示例中,触觉装置632可以通过施加力、运动和/或振动来重建触摸感觉。触觉装置632可以调节施加(例如,施加给用户)的力、运动和/或振动的量,在特定位置(例如,在触觉套装上)提供力、运动和/或振动,等。此外,在一些示例中,触觉装置632可以检测触摸或其它物理交互。触觉装置632可以测量接收(例如,到用户)的力的量、确定力的位置(例如,输入)等。

眼睛跟踪装置634可以检测和/或跟踪用户的眼睛移动和/或头部移动。在一些示例中,眼睛跟踪装置634检测和/或跟踪眼睛的瞳孔的位置。眼睛跟踪装置634可以生成眼睛跟踪数据。

存储器636(以及本文描述的所有其它存储器)可以包含计算机可读介质中的一个或组合。计算机可读介质包含任何方法或技术中实施用于存储例如计算机可读指令、数据结构、程序模块或其它数据的信息的易失性和非易失性、可移除和不可移除介质。计算机可读介质包含但不限于相变存储器(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其它类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、闪存存储器或其它存储器技术、光盘只读存储器(CD-ROM)、数字多功能磁盘(DVD)或其它光学存储装置、盒式磁带、磁带、磁盘存储装置或其它磁性存储装置,或可以用于存储信息以供计算装置存取的任何其它非暂时性介质。如本文所定义,计算机可读介质不包含通信介质,例如调制的数据信号和载波。由此,计算机可读介质是非暂时性介质。

网络接口638可以被配置为以无线和/或有线方式通过网络与一个或多个装置通信。

在一些示例中,组件604-638中的一个或多个可以实施为通信地联接到其余组件的控制器的一部分。此处,装置602可以实施为促进本文描述的功能性的两个装置。例如,控制器可以包含其自身的(或共享)处理器604、加速度计616、磁力计618、陀螺仪620、触摸板628和/或按钮630、触觉装置632、存储器636、网络接口638,等。

在一些示例中,装置602可以被配置为接收用户输入,例如手势输入(例如,经由相机612)、触摸输入、音频或语音输入等。此外,装置602可以被配置为输出内容,例如音频、图像、视频等。

如图所示,存储器636可以包含共享存在组件640。共享存在组件640可以表示软件和/或硬件。虽然一个组件被图示为用于执行各种功能性的示例,但其功能性和/或类似功能性可以以不同方式布置(例如,分解到大量的组件中,等)。在实施硬件的一些情况下,任何或所有功能可以全部或部分地由硬件逻辑组件来实施(例如,执行)。例如但非限制性地,可使用的说明性类型的硬件逻辑组件包含现场可编程门阵列(FPGA)、专用集成电路(ASIC)、程序专用标准产品(ASSP)、片上系统(SOC)、复杂可编程逻辑装置(CPLD),等。

共享存在组件640通常可以执行操作以建立和/或评估用于用户之间的通信会话的共享存在。在一个示例中,共享存在组件640可以从麦克风608、显示器610、相机612、深度传感器614、加速度计616、磁力计618、陀螺仪620、全球导航卫星系统(GNSS)组件622、触摸板628、按钮630、触觉装置632和/或眼睛跟踪装置634接收数据642。共享存在组件640可以分析数据642,并且基于所述分析执行各种操作。在一些示例中,分析包含计算机视觉处理和/或图像处理。为了说明,基于对数据642的分析,共享存在组件640可以识别参考框架、用户或装置(例如,装置602)相对于参考框架和/或另一用户或装置的位置,识别装置602所处环境中的对象或表面,识别用户和/或装置602的位置、速度、定向(例如,姿势、角度等)等,识别用户的特征(例如,身体部位)的位置、速度、定向等,识别用户的眼睛或用户的表示正在注视的方向,和/或执行各种其它操作。在一些示例中,例如在两个装置处于相同物理或虚拟环境中的情况下,共享存在组件640可以与另一装置通信以协商共享参考框架。可以在通信会话期间维持参考框架,和/或周期性地或当事件发生时(例如,装置602改变位置(例如,从一个房间移到下一房间),装置602从现有参考框架移动大于阈值距离,等)更新参考框架。

在一些示例中,数据642包含身体数据,例如关于用户的面部的面部数据、关于用户的手的手数据、关于另一身体部位的数据等。例如,身体数据可以由相机612、深度传感器614、眼睛跟踪装置634和/或装置602的任何其它组件捕获。在一些情况下,身体数据可以以例如MPEG-4面部和身体动画数据的格式表示。装置602可以捕获正在使用装置602的用户的身体数据,并将所述身体数据发送到另一装置,以使得所述另一装置可以呈现所述用户的表示。在一些示例中,身体数据指示用户的身体部位的位置、大小、形状、定向等(例如,用户的手的大小、用户的眼睛的IPD、用户的口腔、耳朵、鼻子等的位置,等)。在一个图示中,身体数据可以指示用户的眼睛正在注视的方向(例如,瞳孔正在注视的方向)。

在一些示例中,共享存在组件640可以生成描述人类模型(有时称为“模型”)的人类模型数据644。例如,基于数据642(例如,身体数据等),共享存在组件640可以生成表示用户的人类模型。人类模型可以包含表示用户的特征(例如,大小设定为用户的手的大小的手、与用户的IPD匹配的IPD、位于用户的口腔、耳朵、鼻子等所在的位置的口腔、耳朵、鼻子等,等)。在一些情况下,人类模型可以是特定于用户的。在其它情况下,随着时间的推移会收集各种数据,以创建表示多个用户的通用人类模型。

在一些示例中,共享存在组件640可以在坐标系内对准用户的表示,同时在物理环境中维持用户的空间对准和/或在另一坐标系中维持表示的空间对准。为了这样做,共享存在组件640可以生成用于用户和/或表示的空间数据(例如,基于对数据642的分析),生成复合空间数据646,和/或使用空间数据和/或复合空间数据646以在坐标系中定位用户的表示。在一些示例中,共享存在组件640可以基于数据642(例如,身体数据)、人类模型数据644、复合空间数据646等来生成(例如,呈现)用户的表示。

坐标系可以是固定到参考框架的一组标准化的测量值或坐标。坐标系可以描述对象的几何状态(例如,相对于参考框架)。坐标系可以表示虚拟环境、数字线、笛卡尔坐标系、极坐标系等。

在一些情况下,复合空间数据646是在状态机的背景下实施的。例如,当每个用户加入通信会话时,可以使所述用户与指示所述用户已加入(或失去连接)的状态机、所述用户的空间数据和/或所述用户的表示、用户的身体数据是否被检测到和/或在装置之间交换等相关联。复合空间数据646可以表示作为通信会话的一部分的各种用户的状态机。在一些示例中,复合空间数据646可以包含作为通信会话的一部分的每个用户或装置的空间数据。

在一些示例中,共享存在组件640可以评估共享存在。为了说明,可以将第一用户感知第二用户的表示所注视的方向(如由与第一用户相关联的装置所显示)与第二用户的装置指示用于第二用户的表示注视的方向进行比较。如果所述方向在阈值量内相同,则通信会话具有共享存在。而如果所述方向在阈值量内不相同,则通信会话已失去共享存在。

图7图示可以执行本文论述的技术的示例服务提供商702。例如,服务提供商702可以表示服务提供商130、计算装置512等。

服务提供商702可以实施为一个或多个计算装置,例如一个或多个台式计算机、笔记本电脑、服务器等。可以在集群、数据中心、云计算环境或其组合中配置一个或多个计算装置。在一个示例中,一个或多个计算装置提供对装置远程操作的云计算资源,包含计算资源、网络资源、存储资源等。为了说明,服务提供商702可以实施用于构建、部署和/或管理应用和/或服务的云计算平台/基础设施。

如图所示,服务提供商702包含一个或多个处理器704、存储器706和一个或多个网络接口708。一个或多个处理器704可以包含中央处理单元(CPU)、图形处理单元(GPU)、微处理器、数字信号处理器等。一个或多个网络接口708可以以无线或有线方式与其它装置通信。

存储器706(以及本文描述的所有其它存储器)可以包含计算机可读介质中的一个或组合。计算机可读介质包含任何方法或技术中实施用于存储例如计算机可读指令、数据结构、程序模块或其它数据的信息的易失性和非易失性、可移除和不可移除介质。计算机可读介质包含但不限于相变存储器(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其它类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、闪存存储器或其它存储器技术、光盘只读存储器(CD-ROM)、数字多功能磁盘(DVD)或其它光学存储装置、盒式磁带、磁带、磁盘存储装置或其它磁性存储装置,或可以用于存储信息以供计算装置存取的任何其它非暂时性介质。如本文所定义,计算机可读介质不包含通信介质,例如调制的数据信号和载波。由此,计算机可读介质是非暂时性介质。

在一些示例中,服务提供商702可以实施参考装置602论述的任何操作。例如,服务提供商702可以执行操作以促进通信会话(例如,从装置602接收数据,分析数据,生成数据,将数据转发到另一装置上以提供用户的表示等)。由此,服务提供商702可以包含共享存在组件640、数据642、人类模型数据644和/或复合空间数据646。

示例过程

图8-16图示用于使用本文描述的技术的示例过程800、900、1000、1100、1200、1300、1400、1500和1600。为了便于说明,过程800、900、1000、1100、1200、1300、1400、1500和1600将被描述为由计算装置执行。例如,过程800、900、1000、1100、1200、1300、1400、1500和1600中的一个或多个单独操作可以由装置602、服务提供商702和/或任何其它装置执行。然而,可以在其它架构中执行过程800、900、1000、1100、1200、1300、1400、1500和1600。此外,架构100可以用于执行其它过程。

将过程800、900、1000、1100、1200、1300、1400、1500和1600(以及本文中描述的每个过程)图示为逻辑流程图,其每个操作表示可以在硬件、软件或其组合中实施的一系列操作。在软件的背景下,操作表示存储在一个或多个计算机可读存储介质上的计算机可读指令,其在由一个或多个处理器执行时执行所叙述的操作。通常,计算机可读指令包含执行特定功能或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等。描述操作的顺序并不意图解释为限制,且任何数目的所描述操作可以按任何顺序组合和/或并行以实施所述过程。另外,可以省略任何数量的所描述的操作。

图8图示生成复合空间数据以维持物理环境中的用户的空间对准和/或坐标系中的表示的空间对准的示例过程800。

在802处,计算装置可以促进利用第一装置和第二装置的通信会话。例如,计算装置可以发起第一装置和第二装置之间的通信会话。第一装置可以与第一用户相关联,并且第二装置可以与第二用户相关联。可以在通信会话中以第一表示来表示第一用户,并且可以在通信会话中以第二表示来表示第二用户。在一些情况下,第一用户和第二用户位于相同的物理环境中,而在其它情况下,第一用户和第二用户位于单独的物理环境中。尽管论述了两个用户,但是任何数量的用户可以是通信会话的一部分。为了说明,通信会话可以包含位于相同物理环境中的第一用户和第二用户以及位于不同物理环境中的第三用户。通信会话可以以点对点(P2P)方式、利用服务提供商或者以任何其它方式来实施。

在804处,计算装置可以识别与第一用户相关联的第一空间数据。例如,计算装置可以从第一装置接收第一空间数据(例如,当服务提供商正在执行过程800时),确定第一空间数据(例如,当第一装置或服务提供商正在执行过程800时)等。第一空间数据可以指示用于第一用户的第一参考框架、第一用户或第一表示相对于第一参考框架的位置等。参考框架可以包括虚拟参考框架(例如,虚拟环境的坐标系的原点)和/或物理参考框架(例如,物理环境中的锚点,例如人员、对象等)。

在806处,计算装置可以识别与第二用户相关联的第二空间数据。例如,计算装置可以从第一装置接收第二空间数据(例如,当过程800由第一装置或服务提供商执行时)。第二空间数据可以指示用于第二用户的第二参考框架、第二用户或第二表示相对于第二参考框架的位置等。在一些情况下,当第一用户和第二用户位于相同物理或虚拟环境中时,第一参考框架和第二参考框架可以是相同的(例如,公共空间锚点或虚拟点)。

在808处,计算装置可以生成复合空间数据。复合空间数据可以包含和/或可以基于第一空间数据和第二空间数据。复合空间数据可以指示为第一空间数据和第二空间数据共享的虚拟点(例如,在坐标系中)、第一用户或第一表示相对于虚拟点的位置、第二用户或第二表示相对于虚拟点的位置,等。复合空间数据可以包含作为通信会话一部分的任何数量的用户或表示的空间数据。

在810处,计算装置可以使得显示第一用户的第一表示。例如,计算装置可以使得经由第二装置向第二用户显示第一表示(例如,经由第二装置发送要显示的数据、呈现第一表示等)。可以基于复合空间数据(例如,包含在复合空间数据中的第一空间数据)将第一表示定位在坐标系内。第一表示可以定位在坐标系内,以维持第一用户相对于第一参考框架的位置。

在812处,计算装置可以使得显示第二用户的第二表示。例如,计算装置可以使得经由第一装置向第一用户显示第二表示(例如,经由第一装置发送要显示的数据、呈现第二表示等)。可以基于复合空间数据(例如,包含在复合空间数据中的第二空间数据)将第二表示定位在坐标系内。第二表示可以定位在坐标系内,以维持第二用户相对于第二参考框架的位置。在第一用户和第二用户在相同物理环境中的一些情况下,第二表示可以相对于第一表示定位于坐标系中,使得第一表示相对于第二表示的位置缩放到在物理环境中第一用户相对于第二用户的位置。

在814处,当装置是通信会话的一部分时,计算装置可以将空间数据维持在复合空间数据中。例如,当第一装置连接到通信会话时,计算装置可以在复合空间数据中维持第一用户的第一空间数据。如果第一装置从通信会话断开,则可以从复合空间数据中去除第一空间数据。这可以允许维持第一用户或第一表示相对于第一参考框架的位置。

图9图示评估参与通信会话的用户和/或表示的眼睛对准的示例过程900。

在902处,计算装置可以促进利用第一装置和第二装置的通信会话。例如,计算装置可以发起第一装置和第二装置之间的通信会话。第一装置可以与第一用户相关联,并且第二装置可以与第二用户相关联。可以在通信会话中以第一表示来表示第一用户,并且可以在通信会话中以第二表示来表示第二用户。尽管论述了两个用户,但是任何数量的用户可以是通信会话的一部分。

在904处,计算装置可以确定第一用户的眼睛正在注视(例如,在物理环境内)的第一方向。例如,计算装置可以(从第一装置)接收或捕获指示第一用户的眼睛正在注视的第一方向的眼睛跟踪数据。眼睛跟踪数据可以由第一装置上的眼睛跟踪传感器生成。第一方向可以相对于参考框架,例如坐标系的原点、第二用户等。在一些情况下,在904处,计算装置可以确定第一用户眼睛正在注视的第一方向是否与第一表示的眼睛在虚拟环境内(例如,相对于参考框架)正在注视方向匹配。

在906处,计算装置可以使得经由第二装置显示第一表示。例如,计算装置可以使得经由第二装置向第二用户显示第一表示(例如,经由第二装置发送要显示的数据、呈现第一表示等)。第一表示可以包含在与第一用户的眼睛在物理环境中注视的第一方向相关的方向上注视的眼睛。换句话说,第一表示的眼睛可以在与第一用户相同的方向上注视(例如,相对于参考框架)。

在908处,计算装置可以使得经由第一装置显示第二表示。例如,计算装置可以使得经由第一装置向第一用户显示第二表示(例如,经由第一装置发送要显示的数据、呈现第二表示等)。第二表示可以包含在与第二用户的眼睛在物理环境中注视的方向相关的方向上注视的眼睛。

在910处,计算装置可以确定第二表示或第二用户的眼睛在如由第一装置提供或确定的虚拟环境中注视的第二方向。例如,计算装置可以(从第一装置)接收指示第二表示或第二用户的眼睛在虚拟环境(例如,如由第一装置显示)中正在注视的第二方向的数据。第二方向可以相对于第一表示、第一用户或另一参考框架。在一些情况下,数据可以包含从第一表示或第一用户的角度来看的第二表示的视图的第一图像(例如,第一用户通过第一装置看到的图像)。

在912处,计算装置可以确定第二表示或第二用户的眼睛在如由第二装置提供或确定的虚拟环境中注视的第三方向。例如,计算装置可以(从第二装置)接收指示第二表示的眼睛在虚拟环境(例如,如由第二装置显示)中正在注视的第三方向的数据。第三方向可以相对于第一表示或另一参考框架。在一些情况下,数据可以包含第二图像,所述第二图像从第一表示的角度表示第二表示的估计视图。

在914处,计算装置可以评估第二方向和第三方向。在一些情况下,计算装置可以用第一向量/线(例如,源自和来自第二表示的眼睛的向量/线)表示第二方向,并且用第二向量/线(例如,源自和来自第二表示的眼睛的向量/线)表示第三方向。计算装置可以接着将第一向量/线与第二向量/线进行比较。另外,在一些情况下,计算装置可以将从第一表示或第一用户的角度的第二表示的视图的第一图像与从第一表示的角度表示第二表示的估计视图的第二图像进行比较。

在916处,计算装置可以确定第二方向是否在阈值量内与第三方向匹配(例如,第二方向和第三方向基本对准)。在916处的确定可以基于在914处的评估。在一些示例中,在916处的确定可以包含确定表示第二方向(第二表示或第二用户的眼睛正在第二方向上注视,如由第一装置提供或确定)的第一向量/线是否与表示第三方向(第二表示或第二用户的眼睛正在第三方向上注视,如由第二装置提供或确定)的第二向量/线匹配至少阈值量。这可以包含确定第一向量/线和第二向量/线是否位于彼此的阈值距离内(例如,从同一位置开始),在阈值度数内具有相同角度(例如,相对于坐标系的原点),在阈值量内具有相同量值,等。另外,在一些情况下,在916处的确定可以包含确定第二表示的眼睛在(从第一表示或第一用户的角度来看的第二表示的视图的)第一图像中注视的方向是否与第二表示的眼睛在第二图像(表示从第一表示或第一用户的角度来看的第二表示的估计视图)中注视的方向匹配。

如果计算装置确定第二方向在阈值量内与第三方向匹配,则过程900可以进行到918。或者,如果计算装置确定第二方向在阈值量内与第三方向不匹配,则过程900可以进行到920。

在918处,计算装置可以维持通信会话的当前状态(例如,允许通信会话像其当前正在进行的那样进行)。然而,在其它示例中,计算装置可以在918处执行其它操作,例如向用户或系统提供通知,所述通知指示通信会话具有共享存在或者用户/表示被对准。

在920处,计算装置可以执行与眼睛未对准相关联的操作。例如,通信会话可以是与基于眼睛数据(例如,对准的眼睛)显示表示相关联的第一类型的通信会话。此处,在920处,计算装置可以从第一类型的通信会话切换到与眼睛数据不相关联(例如,不对准眼睛)的第二类型的通信会话。第二类型的通信会话可以是允许第一用户和第二用户在没有眼睛对准的情况下进行通信的更通用类型的通信会话,例如,使用用户的表示而没有眼睛对准的通信会话、使用视频或语音的通信会话(例如,视频会议、语音会议,等)。在另一示例中,在920处,计算装置可以使得第一装置和/或第二装置重新启动,使得与第一装置和/或第二装置相关联的眼睛跟踪传感器、深度传感器或其它传感器重新启动,等等。这可以辅助使参与通信会话的组件复位,以期重新建立包含眼睛对准的共享存在。

在一些示例中,可以周期性地和/或响应于例如用户加入通信会话的另一事件来执行过程900。此外,可以针对作为通信会话的一部分的每个装置或用户执行过程900(例如,以维持任何数量的用户的共享存在)。

图10图示评估通信会话以确定用户或表示是否正注视彼此的示例过程1000。

在1002处,计算装置可以促进利用第一装置和第二装置的通信会话。例如,计算装置可以校准第一装置和第二装置以使通信会话具有眼睛对准。第一装置可以与第一用户相关联,并且第二装置可以与第二用户相关联。可以在坐标系内以第一表示来表示第一用户,并且可以在坐标系内以第二表示来表示第二用户。

在1004处,计算装置可以确定第一用户感知到第二表示的眼睛正注视第一用户的眼睛。在一个示例中,计算装置可以接收用户输入(例如,源自第一用户),所述用户输入指示第一用户感知到第二表示的眼睛正注视第一用户的眼睛。在另一示例中,计算装置可以从与第一装置相关联的眼睛跟踪传感器接收(或捕获)第一用户的眼睛跟踪数据。基于眼睛跟踪数据,计算装置可以确定第一用户的眼睛正注视的方向。计算装置可以确定第一用户的眼睛正在注视的方向朝向由第一装置显示的第二表示的眼睛。

在1006处,计算装置可以评估第二表示的眼睛正在注视的第一方向和第一表示的眼睛正在注视的第二方向。在一个实例中,计算装置可以评估第二表示的眼睛在由第一装置所显示的坐标系中正注视的第一方向和第一表示的眼睛在由第二装置显示的坐标系中正注视的第二方向。为了这样做,计算装置可以用第一向量/线(例如,源自和来自第二表示的眼睛的向量/线)表示第一方向,并且用第二向量/线(例如,源自和来自第一表示的眼睛的向量/线)表示第二方向。计算装置可以接着将第一向量/线与第二向量/线进行比较。

在1008处,计算装置可以确定第一用户是否已经与第二表示进行了眼神接触。在一个示例中,计算装置可以基于在1006处的评估来确定第一向量/线是否在阈值量内与第二向量/线匹配(例如,第一向量/线是否与第二向量/线对准或指向第二向量/线,例如沿着相同轴线位于阈值度数内)。

如果计算装置确定第一用户已经与第二表示进行了眼神接触,则过程1000可以进行到1010。或者,如果计算装置确定第一用户尚未与第二表示进行眼神接触,则过程1000可以进行到1012。

在1010处,计算装置可以利用眼睛对准来促进通信会话。例如,计算装置可以允许通信会话以眼睛对准来进行(例如,以眼睛对准来发起通信会话)。然而,在其它示例中,计算装置可以在1010处执行其它操作,例如向用户或系统提供指示通信会话已经建立了眼睛对准的通知。

在1012处,计算装置可以执行与眼睛未对准相关联的操作。例如,计算装置可以向用户或系统提供指示通信会话尚未建立眼睛对准的通知。替代地或另外,计算装置可以在无眼睛对准的情况下发起通信会话,使得第一装置和/或第二装置重新启动,使得眼睛跟踪传感器、深度传感器或与第一装置和/或第二装置相关联的其它传感器重新启动,等。

在一些示例中,当第一装置和/或第二装置加入通信会话时,过程1000作为校准过程的一部分而发生。例如,可以要求第一用户和第二用户注视对方的眼睛(例如,一个用户注视另一用户的表示的眼睛),并且通过语音输入、控制器上的按钮等确认眼神接触。在其它示例中,过程1000可以在其它时间执行。

图11图示评估作为通信会话的一部分的表示的输出的示例过程1100。

在1102处,计算装置可以促进利用第一装置和第二装置的通信会话。例如,计算装置可以发起第一装置和第二装置之间的通信会话。第一装置可以与第一用户相关联,并且第二装置可以与第二用户相关联。可以在坐标系内以第一表示来表示第一用户,并且可以在坐标系内以第二表示来表示第二用户。

在1104处,计算装置可以识别如由第一用户感知的第二表示的输出的第一位置或方向。例如,计算装置可以从第一装置接收数据,(或确定)如由第一用户感知的第二表示的输出的第一位置或方向。输出可以包含声音、触摸、所显示的眼睛等。

在1106处,计算装置可以识别如由第二用户感知的第二表示的输出的第二位置或方向。例如,计算装置可以从第二装置接收数据,(或确定)如由第二用户所感知的第二表示的输出的第二位置或方向。输出可以包含声音、触摸、所显示的眼睛等。

在1108处,计算装置可以评估输出的第一位置或方向以及输出的第二位置或方向。例如,计算装置可以将输出的第一位置或方向与输出的第二位置或方向进行比较。

在1110处,计算装置可以确定第一位置或方向是否与第二位置或方向匹配。例如,基于在1108处的评估,计算装置可以确定第一位置或方向是否在阈值量内与第二位置或方向匹配。

如果计算装置确定第一位置或方向与第二位置或方向匹配,则过程1100可以进行到1112。替代地,如果计算装置确定第一位置或方向与第二位置或方向不匹配,则过程1100可以进行到1114。

在1112处,计算装置可以利用对准来促进通信会话。例如,计算装置可以允许通信会话以对准来进行(例如,以对准来发起通信会话)。然而,在其它示例中,计算装置可以在1112处执行其它操作,例如向用户或系统提供指示通信会话已经建立了对准的通知。

在1114处,计算装置可以执行与未对准相关联的操作。例如,计算装置可以向用户或系统提供指示通信会话尚未建立对准或失去对准的通知。替代地或另外,计算装置可以在无对准的情况下发起或继续通信会话,使得第一装置和/或第二装置重新启动,使得眼睛跟踪传感器、深度传感器、触觉套装、扬声器或与第一装置和/或第二装置相关联的其它传感器/组件重新启动,等。

在一些示例中,当第一装置和/或第二装置加入通信会话时,过程1100作为校准过程的一部分而发生。在其它示例中,过程1100可以在其它时间执行,例如在通信会话期间的任何时间。

图12图示评估与作为通信会话的一部分的表示相关联的声音的示例过程1200。

在1202处,计算装置可以促进利用第一装置和第二装置的通信会话。例如,计算装置可以发起第一装置和第二装置之间的通信会话。第一装置可以与第一用户相关联,并且第二装置可以与第二用户相关联。可以在坐标系内以第一表示来表示第一用户,并且可以在坐标系内以第二表示来表示第二用户。

在1204处,计算装置可以识别来自第二表示的口腔的声音由第一用户在坐标系内感知到的第一方向。例如,计算装置可以从第一装置接收(或确定)指示第一方向的数据。在一些情况下,所述数据描述表示第一方向的向量/线。为了说明,计算装置可以分析指示来自第一装置的扬声器的音频被引导到的位置的音频数据和/或指示如由第一用户感知到的第二表示的口腔在坐标系内的位置的口腔数据。基于此类分析,计算装置可以确定第一方向。

在1206处,计算装置可以识别第二方向,第二装置针对所述坐标系在所述第二方向上输出来自第二表示的口腔的声音。例如,计算装置可以从第二装置接收(或确定)指示第二方向的数据。在一些情况下,所述数据描述表示第二方向的向量/线。为了说明,计算装置可以分析由第二装置发送的描述用于输出第二表示的口腔的声音的位置的音频数据和/或由第二装置发送的描述第二表示的口腔在坐标系内的位置的口腔数据。

在1208处,计算装置可以评估第一方向和第二方向。例如,计算装置可以用第一向量/线(例如,如由第一装置所感知的源自和来自第二表示的口腔的向量/线)表示第一方向,并且用第二向量/线(例如,如由第二装置提供的源自和来自第二表示的口腔的向量/线)表示第二方向。计算装置可以接着将第一向量/线与第二向量/线进行比较。在一些示例中,第一向量可以包含与由第一用户感知或由第一装置输出的来自第二表示的口腔的声音的响度相对应的量值。同时,第二向量可以具有与来自由第二装置所提供的第二表示的口腔的声音的响度相对应的量值。

在1210处,计算装置可以确定第一方向是否与第二方向匹配。例如,基于在1208处的评估,计算装置可以确定第一方向是否在阈值量内与第二方向匹配。在一些情况下,在1210处的确定可以包含确定第一向量/线是否与第二向量/线匹配至少阈值量。这可以包含确定第一向量/线和第二向量/线是否位于彼此的阈值距离内(例如,从同一位置开始),在阈值度数内具有相同角度(例如,相对于坐标系的原点),在阈值量内具有相同量值,等。

如果计算装置确定第一方向与第二方向匹配,则过程1200可以进行到1212。或者,如果计算装置确定第一方向与第二方向不匹配,则过程1200可以进行到1214。

在1212处,计算装置可以利用对准来促进通信会话。例如,计算装置可以允许通信会话以对准来进行(例如,以对准来发起通信会话)。然而,在其它示例中,计算装置可以在1212处执行其它操作,例如向用户或系统提供指示通信会话已经建立了对准的通知。

在1214处,计算装置可以执行与未对准相关联的操作。例如,计算装置可以向用户或系统提供指示通信会话尚未建立对准或失去对准的通知。替代地或另外,计算装置可以在无对准的情况下发起或继续通信会话,使得第一装置和/或第二装置重新启动,使得眼睛跟踪传感器、深度传感器、触觉装置、扬声器、麦克风或与第一装置和/或第二装置相关联的其它传感器/组件重新启动,等。

在一些示例中,当第一装置和/或第二装置加入通信会话时,过程1200作为校准过程的一部分而发生。在其它示例中,过程1200可以在其它时间执行,例如在通信会话期间的任何时间。

图13图示评估与作为通信会话的一部分的表示相关联的触摸的示例过程1300。

在1302处,计算装置可以促进利用第一装置和第二装置的通信会话。例如,计算装置可以发起第一装置和第二装置之间的通信会话。第一装置可以与第一用户相关联,并且第二装置可以与第二用户相关联。可以在坐标系内以第一表示来表示第一用户,并且可以在坐标系内以第二表示来表示第二用户。在一些示例中,第一装置和/或第二装置包含被配置为检测来自用户的触摸和/或向用户施加力/振动以模拟用户上的触摸或其它接触的触觉装置。

在1304处,计算装置可以识别从第二表示感知到触摸的第一位置。例如,计算装置可以从第一装置接收(或确定)指示第一位置的数据。在一些情况下,所述数据描述表示第一位置的向量/线。为了说明,计算装置可以从第一装置接收数据,所述数据指示第一用户的身体上从坐标系内的第二表示(由第一用户经由第一装置)感知到触摸的位置。换句话说,所述数据可以指示第二表示或第二用户在何处触摸了第一用户的身体。在一些示例中,计算装置可以分析第一用户经由第一装置看到的视图的图像,以确定第二表示看起来在哪里触摸第一用户或第一表示。

在1306处,计算装置可以识别第一表示上的由第二表示提供触摸的第二位置。例如,计算装置可以从第二装置接收(或确定)指示第二位置的数据。在一些情况下,所述数据描述表示第二位置的向量/线。为了说明,计算装置可以从第二装置接收指示第一表示的身体上的、第二用户或第二表示与第一表示接触的位置的数据。换句话说,所述数据可以指示第二表示或第二用户在何处触摸了第一用户的身体。在一些示例中,计算装置可以分析第二用户经由第二装置看到的视图的图像,以确定第二表示看起来在哪里触摸第一用户或第一表示。

在1308处,计算装置可以评估第一位置和第二位置。例如,计算装置可以用第一向量/线(例如,如由第一装置所感知的源自和来自第二表示的手指的向量/线)表示第一位置,并且用第二向量/线(例如,如由第二装置提供的源自和来自第二表示的手指的向量/线)表示第二位置。计算装置可以接着将第一向量/线与第二向量/线进行比较。在一些示例中,第一向量可以包含与在第一表示上感知到的触摸的力相对应的量值。同时,第二向量可以具有与由第二表示或第二用户提供的力相对应的量值(例如,第二用户通过触觉套装或其它输入装置提供的力的量)。

在1310处,计算装置可以确定第一位置是否与第二位置匹配。例如,计算装置可以基于在1308处的评估来确定第一位置是否在阈值量内与第二位置匹配。在一些情况下,在1310处的确定可以包含确定第一向量/线是否与第二向量/线匹配至少阈值量。这可以包含确定第一向量/线和第二向量/线是否位于彼此的阈值距离内(例如,从同一位置开始),具有在阈值度数内的相同角度(例如,相对于坐标系的原点),具有在阈值量内的相同量值,等。在一些情况下,触摸的方向可以对应于施加力的方向,例如一表示在一个方向上推动另一表示。

如果计算装置确定第一位置与第二位置匹配,则过程1300可以进行到1312。或者,如果计算装置确定第一位置与第二位置不匹配,则过程1300可以进行到1314。

在1312处,计算装置可以利用对准来促进通信会话。例如,计算装置可以允许通信会话以对准来进行(例如,以对准来发起通信会话)。然而,在其它示例中,计算装置可以在1312处执行其它操作,例如向用户或系统提供指示通信会话已经建立了对准的通知。

在1314处,计算装置可以执行与未对准相关联的操作。例如,计算装置可以向用户或系统提供指示通信会话尚未建立对准或失去对准的通知。替代地或另外,计算装置可以在无对准的情况下发起或继续通信会话,使得第一装置和/或第二装置重新启动,使得眼睛跟踪传感器、深度传感器、触觉装置、扬声器、麦克风或与第一装置和/或第二装置相关联的其它传感器/组件重新启动,等。

在一些示例中,当第一装置和/或第二装置加入通信会话时,过程1300作为校准过程的一部分而发生。在其它示例中,过程1300可以在其它时间执行,例如在通信会话期间的任何时间。

图14图示创建人类模型并使用所述人类模型来评估用户交互的示例过程1400。

在1402处,计算装置可以捕获关于用户的数据。所述数据可以包含用户的图像、用户的深度数据、用户的眼睛跟踪数据,等。

在1404处,计算装置可以基于在1402处捕获的数据来创建人类模型(例如,人类模型数据)。人类模型可以表示用户的身体部位。例如,人类模型的身体部位可以缩放到用户的身体部位的大小、形状、位置等。

在1406处,计算装置可以使得经由装置显示用户的表示。在一些示例中,所述装置是计算装置,而在其它示例中,所述装置是另一装置。所述表示可以基于人类模型。例如,人类模型的身体部位可以缩放到人类模型的身体部位的大小、形状、位置等。在一些情况下,如果人类模型仅包含关于用户的头部和手的信息,则表示可以仅包含头部和手。

在1408处,计算装置可以确定在一段时间内尚未从输入装置接收到指示移动的信号。例如,由于计算装置尚未从输入装置接收到指示输入装置的移动的信号,因此计算装置可以确定输入装置未移动大于阈值时间量。输入装置可以是控制器或任何其它输入装置。

在1410处,计算装置可以确定输入装置相对于与输入装置相关联的装置(例如,与输入装置配对或以其它方式与输入装置相关联的装置)的位置。例如,响应于在1408处确定在一段时间内尚未从输入装置接收到指示移动的信号,计算装置可以确定输入装置到与输入装置相关联的装置的距离/接近度。

在1412处,计算装置可以确定输入装置位于距所述装置大于阈值距离处。例如,基于人类模型和输入装置相对于所述装置的位置,计算装置可以确定输入装置位于距所述装置或正在使用所述装置的用户大于阈值距离处。此处,计算装置可以参考人类模型来确定使用输入装置的身体部位距所述装置相对较远(例如,控制器距耳头戴式耳机相对较远)。

在1414处,计算装置可以使得表示被显示而不显示与输入装置相关联的身体部位。例如,如果输入装置是手控制器并且所述装置是头戴式耳机,并且在1412处已确定手控制器远离头戴式耳机(例如,指示用户已经放下手控制器),则计算装置可以使得表示被显示而不显示手。在一些情况下,例如当通信会话由服务提供商实施时,这包含向输出装置发送指令,以不显示表示的身体部位。

图15图示使得用与在物理环境中用户正在注视的方向相对应的方向上注视的眼睛表示来显示一表示的示例过程1500。

在1502处,计算装置可以促进利用第一装置和第二装置的通信会话。例如,计算装置可以发起第一装置和第二装置之间的通信会话。第一装置可以与第一用户相关联,并且第二装置可以与第二用户相关联。可以用第一表示来表示第一用户,并且可以用第二表示来表示第二用户。通信会话可以包含视频电话会话、虚拟现实会话、扩增现实会话或任何其它会话。

在一些示例中,第一表示包含来自第一用户的第一图像的数据,和/或第二表示包含来自第二用户的第二图像的数据。另外,在一些示例中,第一表示以重叠的方式显示在第一用户的实时图像中描绘的面部上,和/或第二表示以重叠的方式显示在第二用户的实时图像中描绘的面部上。此外,在一些示例中,第一表示表示第一用户的面部,和/或第二表示表示第二用户的面部。

在1504处,计算装置可以使得经由第一装置显示第二表示和/或使得经由第二装置显示第一表示。例如,计算装置可以生成第一表示和/或将第一表示发送到第二装置。另外,在一些示例中,当计算装置确定第一用户的眼睛正在注视的方向在由第一装置显示的第二表示的眼睛表示处时,计算装置可以使得经由第二装置显示第一表示,其中第一表示的眼睛表示注视第二用户的眼睛。

在1506处,计算装置可以从第一装置接收用于第一用户的第一数据。第一数据可以包含第一图像、第一深度数据等。

在1508处,计算装置可以确定第一用户的眼睛相对于由第一装置显示的第二表示正注视的第一方向。这可以基于第一数据。

在1510处,计算装置可以从第二装置接收用于第二用户的第二数据。第二数据可以包含第二图像、第二深度数据等。

在1512处,计算装置可以基于第二数据确定第二用户相对于第二装置的位置和定向。

在1514处,计算装置可以使得第一表示经由第二装置以相对于第二用户在第二方向上注视的眼睛表示来显示,所述第二方向与第一用户的眼睛相对于由第一装置显示的第二表示所注视的第一方向对准。这可以基于第一用户的眼睛相对于由第一装置显示的第二表示正注视的第一方向和/或第二用户相对于第二装置的位置和方向。

图16图示使得用与在物理环境中用户正在注视的方向相对应的方向上注视的眼睛表示来显示一表示的示例过程1600。

在1602处,第一装置可以促进利用第一装置和第二装置的通信会话。第一装置可以与第一用户相关联,并且第二装置可以与第二用户相关联。可以用第一表示来表示第一用户,并且可以用第二表示来表示第二用户。

在1604处,第一装置可以使用传感器捕获第一用户的第一数据。第一数据可以包含图像、深度数据等。

在1606处,第一装置可以从第二装置和/或服务提供商接收第二数据,第二数据指示第二表示的眼睛表示应相对于第一用户注视的方向。所述方向可以与第二用户的眼睛相对于经由第二装置显示的第一表示注视的另一方向对准。

在1608处,第一装置可以确定第一用户相对于第一装置的传感器的位置和定向。这可以基于第一数据。

在1610处,第一装置可以使得经由第一装置显示第二表示,其中第二表示的眼睛表示在第二数据中指示的方向上注视。这可以基于第一数据和/或第二表示的眼睛应相对于第一用户注视的方向。

鉴于以下条项,还可以理解前述内容:

1.一种方法,其包括:

发起利用与第一用户相关联的第一装置和与第二用户相关联的第二装置的通信会话,所述第一用户在所述通信会话中以第一表示来表示,且所述第二用户在所述通信会话中以第二表示来表示,所述通信会话与至少一个虚拟环境相关联;

通过所述第一装置确定所述第一用户的眼睛在物理环境内正在注视的第一方向;

通过所述第一装置使得经由所述第二装置显示所述第一表示,所述第一表示包含在与所述第一用户的所述眼睛在所述物理环境中注视的所述第一方向相关的第二方向上注视的眼睛;

通过所述第一装置使得在所述至少一个虚拟环境内显示第二表示;

通过所述第一装置确定所述第二表示的眼睛在如由所述第一装置显示的所述至少一个虚拟环境中相对于所述第一表示注视的第三方向,所述第三方向与所述第二用户的眼睛在所述物理环境或另一物理环境中注视的第四方向相关;

从所述第二装置接收数据,所述数据指示所述第二表示的所述眼睛在如由所述第二装置提供的所述至少一个虚拟环境中相对于所述第一表示注视的第五方向;以及

确定如由所述第一装置显示的所述第二表示的所述眼睛注视的所述第三方向与如由所述第二装置提供的所述第二表示的所述眼睛注视的所述第五方向匹配。

2.根据条项1所述的方法,其中所述确定所述第三方向与所述第五方向匹配包括:

将如由所述第一装置显示的所述第二表示的所述眼睛注视的所述第三方向表示为第一向量;

将如由所述第二装置提供的所述第二表示的所述眼睛注视的所述第五方向表示为第二向量;

对所述第一向量与所述第二向量进行比较;以及

至少部分地基于所述比较,确定所述第一向量与所述第二向量匹配。

3.根据条项1所述的方法,其进一步包括:

从所述第一表示的角度捕获所述第二表示的视图的第一图像,

其中所述从所述第二装置接收指示所述第五方向的所述数据包括:从所述第二装置接收第二图像,所述第二图像表示从所述第一表示的角度来看的所述第二表示的估计视图;并且

其中所述确定所述第三方向与所述第五方向匹配包括:

对所述第一图像与所述第二图像进行比较;以及

确定所述第二表示的所述眼睛在所述第一图像中注视的方向与所述第二表示的所述眼睛在所述第二图像中注视的方向匹配。

4.根据条项1所述的方法,其中所述第一用户和所述第二用户位于所述物理环境中。

5.根据条项4所述的方法,其进一步包括:

从所述第二装置接收指示所述第四方向的数据,所述第四方向是相对于所述第一用户;以及

确定如由所述第二装置提供的所述第二表示的所述眼睛注视的所述第五方向与所述第二用户的所述眼睛在所述物理环境内相对于所述第一用户注视的所述第四方向匹配。

6.根据条项1所述的方法,其中所述第二用户位于所述另一物理环境中。

7.一种系统,其包括:

一个或多个处理器;以及

存储器,其以通信方式联接到所述一个或多个处理器且存储可执行指令,所述可执行指令在由所述一个或多个处理器执行时使得所述一个或多个处理器执行包括以下各项的操作:

促进利用与第一用户相关联的第一装置和与第二用户相关联的第二装置的通信会话,所述第一用户在坐标系内以第一表示来表示,且所述第二用户在所述坐标系内以第二表示来表示;

确定所述第二表示或所述第二用户的至少一只眼睛在所述坐标系中正注视的第一方向;

从所述第二装置接收指示所述第二表示或所述第二用户的所述至少一只眼睛在所述坐标系中正注视的第二方向的数据;以及

评估所述第一方向和所述第二方向。

8.根据条项7所述的系统,其中所述操作进一步包括:

至少部分地基于所述评估,确定所述第一方向与所述第二方向匹配;以及

将所述第一装置和所述第二装置维持于所述通信会话中。

9.根据条项7所述的系统,其中所述通信会话为与至少部分地基于眼睛数据显示所述第二表示相关联的第一类型的通信会话,且所述操作进一步包括:

至少部分地基于所述评估,确定所述第一方向与所述第二方向不匹配;以及

将所述通信会话从所述第一类型的通信会话切换到不至少部分地基于所述眼睛数据显示所述第二表示的第二类型的通信会话。

10.根据条项7所述的系统,其中所述通信会话为与至少部分地基于眼睛数据显示所述第二表示相关联的第一类型的通信会话,且所述操作进一步包括:

至少部分地基于所述评估,确定所述第一方向与所述第二方向不匹配;以及

使得所述第一装置或所述第二装置中的至少一个重新启动或使得与所述第一装置或所述第二装置中的至少一个相关联的眼睛跟踪传感器重新启动。

11.根据条项7所述的系统,其中所述评估包括:

用第一向量表示所述第一方向;

用第二向量表示所述第二方向;以及

对所述第一向量与所述第二向量进行比较。

12.根据条项7所述的系统,其中:

所述确定所述第一方向包括从所述第一表示的角度捕获所述第二表示的视图的第一图像;

所述从所述第二装置接收所述数据包括:从所述第二装置接收第二图像,所述第二图像表示从所述第一表示的角度来看的所述第二表示的估计视图;并且

所述评估包括将所述第一图像与所述第二图像进行比较。

13.根据条项7所述的系统,其中所述操作进一步包括:

接收关于所述第一用户的数据,所述数据包括所述第一用户的图像、所述第一用户的深度数据或所述第一用户的眼睛跟踪数据中的至少一个;

至少部分地基于所述数据,创建表示所述第一用户的人类模型;以及

使得经由所述第二装置显示用于所述第一用户的所述第一表示,所述第一表示至少部分地基于所述人类模型。

14.根据条项7所述的系统,其中所述操作进一步包括:

确定在一段时间内尚未从输入装置接收到指示移动的信号,所述输入装置与所述第一装置相关联;

响应于确定在所述一段时间内尚未从所述输入装置接收到所述指示移动的信号,确定所述第一装置相对于所述输入装置的位置;

至少部分地基于人类模型和所述第一装置相对于所述输入装置的所述位置,确定所述输入装置位于距所述第一用户大于阈值距离处;以及

使得经由所述第二装置显示所述第一表示,而不显示与所述输入装置相关联的身体部位表示。

15.一种系统,其包括:

一个或多个处理器;以及

存储器,其以通信方式联接到所述一个或多个处理器且存储可执行指令,所述可执行指令在由所述一个或多个处理器执行时使得所述一个或多个处理器执行包括以下各项的操作:

发起利用与第一用户相关联的第一装置和与第二用户相关联的第二装置的通信会话,所述第一用户在坐标系内与第一表示相关联,且所述第二用户在所述坐标系内与第二表示相关联;

确定所述第一用户感知到所述第二表示的眼睛注视所述第一用户的眼睛;

评估如由所述第一装置显示的所述第二表示的所述眼睛在所述坐标系中注视的第一方向及如由所述第二装置显示的所述第一表示的眼睛在所述坐标系中注视的第二方向;以及

至少部分地基于所述评估,确定所述第一用户是否已与所述第二表示进行了眼神接触。

16.根据条项15所述的系统,其中所述确定所述第一用户感知到所述第二表示的所述眼睛注视所述第一用户的所述眼睛包括:从所述第一用户接收指示所述第一用户感知到所述第二表示的所述眼睛注视所述第一用户的所述眼睛的输入。

17.根据条项15所述的系统,其中所述确定所述第一用户感知到所述第二表示的所述眼睛注视所述第一用户的所述眼睛包括:

从与所述第一装置相关联的眼睛跟踪传感器接收用于所述第一用户的眼睛跟踪数据;

至少部分地基于所述眼睛跟踪数据,确定所述第一用户的所述眼睛正在注视的方向;以及

确定所述第一用户的所述眼睛正在注视的所述方向朝着由所述第一装置显示的所述第二表示的所述眼睛。

18.根据条项15所述的系统,其中所述评估作为针对所述第一装置或所述第二装置中的至少一个的校准过程的一部分而发生。

19.一种或多种非暂时性计算机可读介质,其存储可执行指令,所述可执行指令在由一个或多个处理器执行时使得所述一个或多个处理器执行包括以下各项的操作:

促进利用与第一用户相关联的第一装置和与第二用户相关联的第二装置的通信会话,所述第一用户在坐标系内与第一表示相关联,且所述第二用户在所述坐标系内与第二表示相关联;

识别如由所述第一用户所感知的所述第二表示的输出的第一位置或方向;

从所述第二装置接收指示如由所述第二用户感知的所述第二表示的所述输出的第二位置或方向的数据;以及

评估所述第一位置或方向和所述第二位置或方向以确定所述第一位置或方向是否与所述第二位置或方向匹配。

20.根据条项19所述的一种或多种非暂时性计算机可读介质,其中所述第二表示的所述输出包括声音、触摸或所显示的眼睛中的至少一个。

21.根据条项19所述的一种或多种非暂时性计算机可读介质,其中所述第一装置和所述第二装置位于相同的物理环境中。

22.一种系统,其包括:

一个或多个处理器;以及

存储器,其以通信方式联接到所述一个或多个处理器且存储可执行指令,所述可执行指令在由所述一个或多个处理器执行时使得所述一个或多个处理器执行包括以下各项的操作:

发起利用与第一用户相关联的第一装置和与第二用户相关联的第二装置的通信会话,所述第一用户在坐标系内与第一表示相关联,且所述第二用户在所述坐标系内与第二表示相关联;

确定来自所述第二表示的口腔的声音由所述第一用户在所述坐标系内感知到的第一方向;

从所述第二装置接收指示第二方向的数据,所述第二装置针对所述坐标系在所述第二方向上输出来自所述第二表示的所述口腔的声音;以及

评估所述第一方向和所述第二方向以确定所述第一方向是否与所述第二方向匹配。

23.根据条项22所述的系统,其中所述评估所述第一方向和所述第二方向包括:

将所述第一方向表示为第一向量;

将所述第二方向表示为第二向量;

对所述第一向量与所述第二向量进行比较;以及

至少部分地基于所述比较,确定所述第一向量与所述第二向量是否匹配。

24.根据条项22所述的系统,其中:

所述第一向量的量值包括由所述第一用户感知到的来自所述第二表示的所述口部的所述声音的响度;以及

所述第二向量的量值包括来自由所述第二装置输出的所述第二表示的所述口腔的所述声音的响度。

25.一种系统,其包括:

一个或多个处理器;以及

存储器,其以通信方式联接到所述一个或多个处理器且存储可执行指令,所述可执行指令在由所述一个或多个处理器执行时使得所述一个或多个处理器执行包括以下各项的操作:

发起利用与第一用户相关联的第一装置和与第二用户相关联的第二装置的通信会话,所述第一用户在坐标系内与第一表示相关联,且所述第二用户在所述坐标系内与第二表示相关联;

确定所述第一表示上从所述第二表示感知到触摸的第一位置;

从所述第二装置接收指示所述第一表示上由所述第二表示提供触摸的第二位置的数据;以及

评估所述第一位置和所述第二位置以确定所述第一位置是否与所述第二位置匹配。

26.根据条项25所述的系统,其中所述评估所述第一方向和所述第二方向包括:

将所述第一方向表示为第一向量;

将所述第二方向表示为第二向量;

对所述第一向量与所述第二向量进行比较;以及

至少部分地基于所述比较,确定所述第一向量与所述第二向量是否匹配。

27.根据条项25所述的系统,其中:

所述第一向量的量值包括在所述第一表示上感知到的所述触摸的力;并且

所述第二向量的量值包括由所述第二表示提供的所述触摸的力。

28.一种方法,其包括:

发起利用与第一用户相关联的第一装置、与第二用户相关联的第二装置和与第三用户相关联的第三装置的通信会话,所述第一装置和所述第二装置位于第一物理环境中,且所述第三装置位于第二物理环境中,所述第一用户与第一表示相关联,所述第二用户与第二表示相关联,且所述第三用户与第三表示相关联;

通过所述第一装置识别指示用于所述第一用户和所述第二用户的第一参考框架的第一空间数据、所述第一用户或所述第一表示相对于所述第一参考框架的位置,以及所述第二用户或所述第二表示相对于所述第一参考框架的位置,所述第一参考框架包括所述第一物理环境中的公共空间锚点或虚拟点中的至少一个;

通过所述第一装置且从所述第二装置接收指示用于所述第三用户的第二参考框架和所述第三用户或所述第三表示相对于所述第二参考框架的位置的第二空间数据,所述第二参考框架包括所述第二物理环境中的锚点或另一虚拟点中的至少一个;

通过所述第一装置生成复合空间数据,所述复合空间数据包含所述第一空间数据和所述第二空间数据;

通过所述第一装置在坐标系内呈现用于所述第二用户的所述第二表示,用于所述第二用户的所述第二表示至少部分地基于包含在所述复合空间数据中的所述第一空间数据而定位在所述坐标系内;以及

通过所述第一装置在所述坐标系内呈现用于所述第三用户的所述第三表示,用于所述第三用户的所述第三表示至少部分地基于包含在所述复合空间数据中的第二空间数据而定位在所述坐标系内。

29.根据条项28所述的方法,其中所述呈现用于所述第二用户的所述第二表示包括相对于所述第一用户的所述第一表示在所述坐标系中定位所述第二用户的所述第二表示,使得所述第一用户相对于所述第一参考框架的所述位置和所述第二用户相对于所述第一参考框架的所述位置得以维持。

30.根据条项28所述的方法,其中所述呈现用于所述第二用户的所述第二表示包括将所述第二用户的所述第二表示相对于所述第一用户的所述第一表示定位于所述坐标系中,使得所述第一表示相对于所述第二表示的位置缩放到在所述第一物理环境中所述第一用户相对于所述第二用户的位置。

31.根据条项28所述的方法,其中所述复合空间数据指示:

为所述第一空间数据和所述第二空间数据共享的虚拟点;

所述第一用户或所述第一表示相对于所述复合空间数据的所述虚拟点的所述位置;

所述第二用户或所述第二表示相对于所述复合空间数据的所述虚拟点的所述位置;以及

所述第三用户或所述第三表示相对于所述复合空间数据的所述虚拟点的所述位置。

32.根据条项28所述的方法,其进一步包括:

当所述第三装置是所述通信会话的一部分时,将所述第三空间数据维持在所述复合空间数据中。

33.根据条项28所述的方法,其中所述第一装置、所述第二装置和所述第三装置各自包括虚拟现实头戴式耳机或移动装置中的至少一个。

34.根据条项28所述的方法,其中所述通信会话包括点对点通信会话。

35.根据条项28所述的方法,其中所述通信会话至少部分地经由服务提供商来实施。

36.一种系统,其包括:

一个或多个处理器;以及

存储器,其以通信方式联接到所述一个或多个处理器且存储可执行指令,所述可执行指令在由所述一个或多个处理器执行时使得所述一个或多个处理器执行包括以下各项的操作:

发起利用与第一用户相关联的第一装置、与第二用户相关联的第二装置和与第三用户相关联的第三装置的通信会话,所述第一装置和所述第二装置位于第一物理环境中,且所述第三装置位于第二物理环境中,所述第一用户与第一表示相关联,所述第二用户与第二表示相关联,且所述第三用户与第三表示相关联;

确定所述第一物理环境中的所述第一用户相对于所述第一物理环境中的所述第二用户的位置的位置;

使得在坐标系内显示用于所述第二用户的所述第二表示,所述第二表示至少部分地基于所述第一物理环境中的所述第一用户相对于所述第一物理环境中的所述第二用户的所述位置的所述位置而定位于所述第一装置的所显示视图内;以及

使得在所述坐标系内显示用于所述第三用户的第三表示。

37.根据条项36所述的系统,其中所述操作进一步包括:

生成复合空间数据,所述复合空间数据指示用于所述第一用户和所述第二用户的第一参考框架、所述第一用户或所述第一表示相对于所述第一参考框架的位置、所述第二用户或所述第二表示相对于所述第一参考框架的位置、用于所述第三用户的第二参考框架,以及所述第三用户或所述第三用户的第三表示相对于所述第二参考框架的位置,

其中所述使得显示所述第二表示和所述使得显示所述第三表示是至少部分地基于所述复合空间数据。

38.根据条项37所述的系统,其中所述复合空间数据指示:

虚拟点;

所述第一用户或所述第一表示相对于所述虚拟点的所述位置;

所述第二用户或所述第二表示相对于所述虚拟点的所述位置;以及

所述第三用户或所述第三表示相对于所述虚拟点的所述位置。

39.根据条项36所述的系统,其中所述操作进一步包括:

生成复合空间数据,所述复合空间数据包含用于所述第一用户的空间数据、用于所述第二用户的空间数据和用于所述第三用户的空间数据,

其中所述使得显示所述第二表示和所述使得显示所述第三表示是至少部分地基于所述复合空间数据。

40.根据条项36所述的系统,其中所述操作进一步包括:

捕获关于所述第一用户的数据,所述数据包括所述第一用户的图像、所述第一用户的深度数据或所述第一用户的眼睛跟踪数据中的至少一个;

至少部分地基于所述数据,创建表示所述第一用户的人类模型;以及

使得经由所述第二装置显示所述第一表示,所述第一表示至少部分地基于所述人类模型。

41.根据条项40所述的系统,其中所述第一表示包含用于所述第一用户的手的手表示。

42.根据条项41所述的系统,其中所述操作进一步包括:

确定在一段时间内尚未从输入装置接收到指示移动的信号,所述输入装置与所述第一装置相关联;

响应于确定在所述一段时间内尚未从所述输入装置接收到所述指示移动的信号,确定所述第一装置相对于所述输入装置的位置;

至少部分地基于所述人类模型和所述第一装置相对于所述输入装置的所述位置,确定所述输入装置位于距所述第一用户大于阈值距离处;以及

使得经由所述第二装置显示所述第一表示,而不显示与所述输入装置相关联的身体部位表示。

43.根据条项42所述的系统,其中所述身体部位表示包括手表示,并且所述输入装置包括手控制器。

44.根据条项36所述的系统,其中所述操作进一步包括:

确定所述第一用户正佩戴头部装置,并且所述第一用户正用手握住输入装置;以及

至少部分地基于所述第一用户正佩戴头部装置并且所述第一用户正用手握住输入装置的所述确定,使得经由所述第二装置显示具有头部和手而不具有其它身体部位的所述第一表示。

45.根据条项36所述的系统,其中所述操作进一步包括:

从所述第二装置接收指示所述第二用户正佩戴头部装置并且所述第二用户正用手握住输入装置的数据,

其中所述使得显示所述第二表示包括使得显示具有头部和手而不具有其它身体部位的所述第二表示。

46.一种系统,其包括:

一个或多个处理器;以及

存储器,其以通信方式联接到所述一个或多个处理器且存储可执行指令,所述可执行指令在由所述一个或多个处理器执行时使得所述一个或多个处理器执行包括以下各项的操作:

促进利用与第一用户相关联的第一装置、与第二用户相关联的第二装置和与第三用户相关联的第三装置的通信会话,所述第一装置和所述第二装置位于第一物理环境中,且所述第三装置位于第二物理环境中,所述第一用户与第一表示相关联,所述第二用户与第二表示相关联,且所述第三用户与第三表示相关联;

从所述第二装置接收指示用于所述第二用户的第一参考框架和所述第二用户或所述第二表示相对于所述第一参考框架的位置的第一空间数据,所述第一参考框架包括所述第一物理环境中的锚点或虚拟点中的至少一个;

从所述第三装置接收指示用于所述第三用户的第二参考框架和所述第三用户或所述第三表示相对于所述第二参考框架的位置的第二空间数据,所述第二参考框架包括所述第二物理环境中的锚点或另一虚拟点中的至少一个;

生成复合空间数据,所述复合空间数据包含所述第一空间数据和所述第二空间数据;

使得显示用于所述第二用户的所述第二表示,用于所述第二用户的所述第二表示至少部分地基于包含在所述复合空间数据中的所述第一空间数据而定位在坐标系内;以及

使得显示用于所述第三用户的所述第三表示,用于所述第三用户的所述第三表示至少部分地基于包含在所述复合空间数据中的第二空间数据而定位在所述坐标系内

47.根据条项46所述的系统,其中所述操作进一步包括:

当所述第二装置为所述通信会话的一部分时,维持所述第二用户或所述第二表示相对于所述复合空间数据中的所述第一参考框架的所述位置。

48.一种方法,其包括:

通过服务提供商促进利用与第一用户相关联的第一装置和与第二用户相关联的第二装置的通信会话,所述第一用户与第一表示相关联,且所述第二用户与第二表示相关联;

通过所述服务提供商使得经由所述第一装置显示所述第二表示;

通过所述服务提供商且从所述第一装置接收用于所述第一用户的第一数据,所述第一数据包括第一图像或第一深度数据中的至少一个;

至少部分地基于所述第一数据,通过所述服务提供商确定所述第一用户的眼睛相对于由所述第一装置显示的所述第二表示注视的第一方向;

通过所述服务提供商且从所述第二装置接收用于所述第二用户的第二数据,所述第二数据包括第二图像或第二深度数据中的至少一个;

至少部分地基于所述第二数据,通过所述服务提供商确定所述第二用户相对于所述第二装置的位置和定向;以及

至少部分地基于所述第一用户的眼睛相对于由所述第一装置显示的所述第二表示注视的所述第一方向及所述第二用户相对于所述第二装置的所述位置及定向,使得经由所述第二装置显示所述第一表示,所述第一表示具有相对于所述第二用户在与所述第一用户的眼睛相对于由所述第一装置显示的所述第二表示注视的所述第一方向对准的第二方向上注视的眼睛表示。

49.根据条项48所述的方法,其中所述第一表示包含来自所述第一用户的所述第一图像的数据,并且所述第二表示包含来自所述第二用户的所述第二图像的数据。

50.根据条项48所述的方法,其进一步包括:

确定所述第一用户的眼睛正在注视的所述第一方向在由所述第一装置显示的所述第二表示的眼睛表示处,

其中所述使得包括使得经由所述第二装置显示所述第一表示,其中所述第一表示的所述眼睛表示注视所述第二用户的眼睛。

51.根据条项48所述的方法,其中所述使得包括生成所述第一表示并将所述第一表示发送到所述第二装置。

52.根据条项48所述的方法,其中所述使得包括使得所述第一表示重叠在所述第一用户的实时图像上。

53.根据条项52所述的方法,其中所述第一表示表示所述第一用户的面部。

54.一种方法,其包括:

发起利用与第一用户相关联的第一装置和与第二用户相关联的第二装置的通信会话,所述第一用户与第一表示相关联,且所述第二用户与第二表示相关联;

通过所述第一装置的传感器捕获所述第一用户的第一数据,所述第一数据包括图像或深度数据中的至少一个;

通过所述第一装置且从所述第二装置或服务提供商中的至少一个接收指示所述第二表示的眼睛表示应相对于所述第一用户注视的方向的第二数据,所述方向与所述第二用户的眼睛正相对于经由所述第二装置显示的所述第一表示注视的另一方向对准;

至少部分地基于所述第一数据,通过所述第一装置确定所述第一用户相对于所述第一装置的位置和定向;以及

至少部分地基于所述第一用户相对于所述第一装置的所述传感器的所述位置和定向以及所述第二表示的所述眼睛表示应相对于所述第一用户注视的所述方向,使得经由所述第一装置显示所述第二表示,其中所述第二表示的所述眼睛表示在所述第二数据中指示的所述方向上注视。

55.根据条项54所述的方法,其中所述第二表示包含来自所述第二用户的图像的数据。

56.根据条项54所述的方法,其中:

所述第二用户的所述眼睛正在注视的所述另一方向在由所述第二装置显示的所述第一表示的眼睛表示处;并且

所述使得包括使得经由所述第一装置显示所述第二表示,其中所述第二表示的所述眼睛表示注视所述第一用户的眼睛。

57.根据条项54所述的方法,其中所述使得包括使得所述第二表示重叠在所述第二用户的实时图像上。

58.根据条项57所述的方法,其中所述第二表示表示所述第二用户的面部。

59.一种系统,其包括:

一个或多个处理器;以及

存储器,其以通信方式联接到所述一个或多个处理器且存储可执行指令,所述可执行指令在由所述一个或多个处理器执行时使得所述一个或多个处理器执行如条项54所述的方法。

60.一种系统,其包括:

一个或多个处理器;以及

存储器,其以通信方式联接到所述一个或多个处理器且存储可执行指令,所述可执行指令在由所述一个或多个处理器执行时使得所述一个或多个处理器执行:

发起利用与第一用户相关联的第一装置和与第二用户相关联的第二装置的通信会话,所述第一用户与第一表示相关联,且所述第二用户与第二表示相关联;

从所述第一装置接收用于所述第一用户的第一数据,所述第一数据包括第一图像或第一深度数据中的至少一个;

至少部分地基于所述第一数据,确定所述第一用户的眼睛相对于由所述第一装置显示的所述第二表示注视的第一方向;

从所述第二装置接收用于所述第二用户的第二数据,所述第二数据包括第二图像或第二深度数据中的至少一个;

至少部分地基于所述第二数据,确定所述第二用户相对于所述第二装置的位置和定向;以及

至少部分地基于所述第一用户的眼睛相对于由所述第一装置显示的所述第二表示注视的所述第一方向及所述第二用户相对于所述第二装置的所述位置及定向,使得经由所述第二装置显示所述第一表示,所述第一表示具有相对于所述第二用户在与所述第一用户的眼睛相对于由所述第一装置显示的所述第二表示注视的所述第一方向对准的第二方向上注视的眼睛表示。

61.根据条项60所述的系统,其中所述第一表示包含来自所述第一用户的所述第一图像的数据,并且所述第二表示包含来自所述第二用户的所述第二图像的数据。

62.根据条项60所述的系统,其中所述可执行指令在由所述一个或多个处理器执行时进一步使得所述一个或多个处理器执行:

确定所述第一用户的眼睛正在注视的所述第一方向在由所述第一装置显示的所述第二表示的眼睛表示处,

其中所述使得包括使得经由所述第二装置显示所述第一表示,其中所述第一表示的所述眼睛表示注视所述第二用户的眼睛。

63.根据条项60所述的系统,其中所述使得包括生成所述第一表示并将所述第一表示发送到所述第二装置。

64.根据条项60所述的系统,其中所述第一表示表示所述第一用户的面部。

65.根据条项64所述的系统,其中所述第一表示以重叠方式显示在所述第一用户的实时图像中描绘的面部上。

66.根据条项60所述的系统,其中所述通信会话包括视频电话会话。

67.根据条项60所述的系统,其中所述通信会话包括虚拟现实会话或扩增现实会话中的至少一个。

结论

尽管以特定于结构特点和/或方法论行为的语言描述了实施例,但是应理解,本公开未必限于所描述的特定特征或动作。实际上,本文中将特定特征和动作公开为实施所述实施例的说明性形式。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号