一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

人工现实协同工作环境的制作方法

2023-06-01 06:04:50 来源:中国专利 TAG:


1.本公开针对创建和管理人工现实协同工作环境,并为人工现实协同工作环境提供多种交互模式。


背景技术:

2.随着全球市场的增长,以及诸如分布式团队和健康问题需要社交距离等挑战变得更加普遍,远程工作和协作正变得越来越常见。远程工作典型涉及各种技术,这些技术例如为对共享文档的远程访问、各种基于文本的通信服务(例如,电子邮件、即时消息、文本消息等)、电话通信、和视频通话。这种远程工作提供了许多益处,例如减少了行程时间、提高了健康和安全性、以及具有更多的灵活性。然而,远程工作者却面临着其在办公室的同事没有经历的许多挑战。例如,视频通话一直是面对面互动的苍白模仿。仅利用发送者的二维(two-dimensional,2d)表示来理解肢体语言和语境可能是很困难的。另外,将视频通话限制在平板显示器上引入了如下的技术侵入层(intrusive layer of technology):该技术侵入层可能会分散交流的注意力并减少对面对面交流的感知。远程工作者经常抱怨错失了“饮水机”对话的机会,且经常感到被同事遗忘。此外,在远程位置的团队之间使用传统语音或2d通信信道的协作不如亲身体验有效,该亲身体验例如使用各参与者可同时查看和工作的文档和白板空间。
3.人工现实、扩展现实、或超现实(统称为“xr”)是在呈现给用户之前已经以某种方式进行了调整的现实形式,该现实形式例如可以包括虚拟现实(virtual reality,vr)、增强现实(augmented reality,ar)、混合现实(mixed reality,mr)、混合现实(hybrid reality)、或它们的某种组合和/或衍生物。存在各种xr环境,允许多个用户的表示四处走动以及相互交谈。然而,这种xr环境没有被有效地创建以促进协作,且没有整合到远程工作者的工作流中。


技术实现要素:

4.根据本公开的一方面,提供了一种方法,该方法包括:建立至少两个虚拟区域,每个虚拟区域对应于一真实世界区域;以及通过以下方式提供与该至少两个虚拟区域相关的人工现实环境:识别多个真实世界区域的一个真实世界区域中的真实世界办公桌的表面上的专用空间的高度,并且基于所识别的专用空间的高度,在该至少两个虚拟区域中的一个虚拟区域中设置虚拟办公桌的高度,该一个虚拟区域与包括该真实世界办公桌的真实世界区域相对应;或者通过以下方式在该至少两个虚拟区域中的第一虚拟区域与该至少两个虚拟区域中的第二虚拟区域之间转移:检测位置切换触发;开启透传模式(passthrough mode),该透传模式在人工现实环境中呈现对真实世界的显示;检测到用户已到达该至少两个虚拟区域中的第二虚拟区域;以及关闭该透传模式。
5.在一些实施例中,该方法可以包括:识别多个真实世界区域的一个真实世界区域中的真实世界办公桌的表面上的专用空间的高度;以及基于所识别的专用空间的高度,在
该至少两个虚拟区域中的一个虚拟区域中设置虚拟办公桌的高度,该一个虚拟区域与包括该真实世界办公桌的真实世界区域相对应的。
6.在一些实施例中,该方法可以包括:在该至少两个虚拟区域中的第一虚拟区域与该至少两个虚拟区域中的第二虚拟区域之间进行转移,包括:检测位置切换触发、开启透传模式、检测到用户已到达该至少两个虚拟区域中的第二虚拟区域、以及关闭该透传模式。
7.在一些实施例中,位置切换触发可以包括检测到用户已站立。
8.在一些实施例中,透传模式可以包括:在对真实世界的显示上,显示对至少两个虚拟区域中的第二虚拟区域的至少一部分的覆盖。
9.在一些实施例中,至少两个虚拟区域中的至少一个虚拟区域可以是白板区域,其中,该白板区域包括多个白板单元,各个白板单元具有相同的指定尺寸;以及用户在处于该白板区域中时,可以激活指令或控件,以在无需沿真实世界中的经度或纬度方向移动的情况下,在该多个白板单元之间移动。
10.根据本公开的一方面,提供了一种计算机可读存储介质,该计算机可读存储介质存储有多个指令,这些指令在被计算系统执行时,使得该计算系统执行包括以下的过程:建立至少两个虚拟区域,每个虚拟区域对应于一真实世界区域;以及通过以下方式提供与该至少两个虚拟区域相关的人工现实环境:识别多个真实世界区域的一个真实世界区域中的真实世界办公桌的表面上的专用空间的高度;以及基于所识别的专用空间的高度,在该至少两个虚拟区域中的一个虚拟区域中,设置虚拟办公桌的高度,该一个虚拟区域与包括该真实世界办公桌的真实世界区域相对应。
11.在一些实施例中,识别真实世界办公桌的表面上的专用空间的高度可以是基于被跟踪键盘的经确定的竖直位置。
12.在一些实施例中,该专用空间可以至少具有预定尺寸,并且该过程还可以包括:自动识别出在真实世界办公桌的表面上没有足够的开放空间来用于该预定尺寸的专用空间;以及作为响应,警告用户在真实世界办公桌的表面上留出可用的额外空间。
13.在一些实施例中,该计算机可读存储介质还可以包括:与至少部分处于专用空间中的真实世界键盘配合;使真实世界键盘显示光图案;以及基于对该光图案的识别来跟踪真实世界键盘。
14.在一些实施例中,该过程还可以包括:检测到用户的注意力集中在至少两个虚拟区域中的当前虚拟区域的外部,该当前虚拟区域与用户所处的真实世界位置相对应;以及作为响应,自动开启透传模式,该透传模式在人工现实环境中呈现对真实世界的显示。
15.根据本公开的一方面,提供了一种计算系统,该计算系统包括:一个或多个处理器;以及一个或多个存储器,该一个或多个存储器存储有多个指令,这些指令在被该一个或多个处理器执行时,使得该计算系统执行包括以下的过程:建立至少两个虚拟区域,每个虚拟区域对应于一真实世界区域;提供与该至少两个虚拟区域相关的人工现实环境;以及通过以下方式使用户在该至少两个虚拟区域中的第一虚拟区域与该至少两个虚拟区域的第二虚拟区域之间转移:检测位置切换触发;开启透传模式,该透传模式在人工现实环境中呈现对真实世界的显示;检测到用户已到达该至少两个虚拟区域的第二虚拟区域;以及关闭该透传模式。
16.在一些实施例中,该至少两个虚拟区域中的第二虚拟区域可以是白板区域,并且
该白板区域可以与多个白板相关联,每个白板可以与特定的项目或团队相对应,并且各个白板可以被单独激活。
17.在一些实施方式中,检测到用户已经到达至少两个虚拟区域中的第二虚拟区域可以包括:检测到用户已从a)与该至少两个虚拟区域中的第一虚拟区域相对应的真实世界区域,移动到b)与该至少两个虚拟区域中的第二虚拟区域相对应的真实世界区域。
18.在一些实施例中,该过程还可以包括:识别多个真实世界区域的一个真实世界区域中的真实世界办公桌的表面上的专用空间的高度;基于所识别的专用空间的高度,在该至少两个虚拟区域中的一个虚拟区域中,设置虚拟办公桌的高度,该一个虚拟区域与可包括该真实世界办公桌的真实世界区域相对应;以及相对于该专用空间设置一个或多个锚点,其中,每个锚点被标识为人工现实环境中用于放置虚拟内容的一位置。
19.在一些实施例中,该过程还可以包括:接收真实世界计算机的显示器的流;以及在人工现实环境中,使用基于一个或多个锚点中的至少一个锚点的位置,来显示来自真实世界计算机的显示器的内容。
20.在一些实施例中,该至少两个虚拟区域中的至少一个虚拟区域可以是白板区域。与该白板区域相对应的真实世界区域可以包括墙壁。该墙壁的一部分可以与虚拟白板相关联。用户与该墙壁的该部分的交互可以被解释为与该虚拟白板的交互。
21.在一些实施例中,该至少两个虚拟区域中的至少一个虚拟区域可以是白板区域。与该白板区域相对应的真实世界区域可以包括空中的与该虚拟白板相关联的2d平面;并且用户所做的与该2d平面相交的交互可以被解释为与该虚拟白板的交互。
22.在一些实施方式中,透传模式可以包括方向覆盖,该方向覆盖指示了用户到达该至少两个虚拟区域中的第二虚拟区域的方向。
23.在一些实施例中,该至少两个虚拟区域中的第一虚拟区域可以包括虚拟办公桌,该虚拟办公桌具有显示在该虚拟办公桌的表面上的一个或多个内容项目。该至少两个虚拟区域中的第二虚拟区域可以包括白板,并且该过程还可以包括:响应于检测到用户已到达该至少两个虚拟区域中的第二虚拟区域,在该白板上自动显示来自虚拟办公桌的表面的一个或多个内容项目。
24.根据本公开的一方面,提供了一种方法,该方法包括:跟踪真实世界键盘的真实世界位置;在人工现实环境中的相对于真实世界位置的位置处生成3d键盘模型;确定用户的一只手或两只手处于距真实世界键盘的阈值距离内;识别用户的一只手或两只手的轮廓;以及启用手部透传模式,该手部透传模式在人工现实环境中呈现对真实世界的与所识别的手部轮廓相对应的部分的显示。
25.在一些实施例中,该方法还可以包括:与真实世界键盘配合;以及使真实世界键盘显示光图案。跟踪真实世界键盘的真实世界位置可以基于对该光图案进行识别。
26.在一些实施例中,该方法可以由xr设备执行,并且该方法还可以包括:与不同于xr设备的计算系统配合,真实世界键盘可以与该计算系统连接;以及接收来自该计算系统的该真实世界键盘的类型的标识。生成3d键盘模型可以是部分地通过选择与该真实世界键盘的类型相对应的3d模型来执行的。
27.在一些实施例中,该方法还可以包括:识别真实世界办公桌的表面上的专用空间的高度;以及相对于该专用空间设置一个或多个锚点,其中,每个锚点被标识为人工现实环
境中用于放置虚拟内容的一位置。
28.在一些实施例中,该方法还可以包括:接收真实世界计算机的显示器的流;以及在人工现实环境中,使用基于一个或多个锚点中的至少一个锚点的位置,显示来自真实世界计算机的显示器的内容,其中,与3d键盘模型相关的用户移动与真实世界键盘的、被路由到真实世界计算机的输入相对应。
29.在一些实施例中,可以通过以下方式来执行识别用户的一只手或两只手的轮廓:监测可描绘用户的一只手或两只手的所采集图像,以创建用户的一只手或两只手的虚拟模型;以及使用该模型来确定手部轮廓、手部形状、手部位置或它们的任何组合中的一者或多者。
30.在一些实施例中,识别用户的一只手或两只手的轮廓可以包括:确定用户的一只手或两只手的一个或多个轮廓;以及启用手部透传模式可以包括对真实世界的一部分的显示,真实世界的该部分是围绕用户的一只手或两只手的一个或多个经确定的轮廓的设定量。
31.在一些实施例中,该方法还可以包括:确定用户的一只手或两只手不再处于距真实世界键盘的阈值距离内;并且作为响应,关闭手部透传模式,关闭手部透传模式包括停止对真实世界的一部分的显示,以及显示用户的一只手或两只手的虚拟模型,该一只手或两只手的虚拟模型与该用户的一只手或两只手的一个或多个真实世界位置相对应。
32.根据本公开的一方面,提供了一种计算机可读存储介质,该计算机可读存储介质存储有多个指令,这些指令在被计算系统执行时,使得该计算系统执行包括以下的过程:跟踪真实世界键盘的真实世界位置;在人工现实环境中的相对于真实世界位置的位置处生成3d键盘模型;确定用户的一只手或两只手处于距真实世界键盘的阈值距离内;识别用户的一只手或两只手的轮廓;以及启用手部透传模式,该手部透传模式在人工现实环境中呈现对真实世界的与所识别的手部轮廓相对应的部分的显示。
33.在一些实施例中,该过程可以由xr设备执行,并且该过程还可以包括:与不同于xr设备的计算设备配合,真实世界键盘与该计算设备连接;以及接收来自该计算设备的该真实世界键盘的类型的标识。生成3d键盘模型可以是部分地通过选择与该真实世界键盘的类型相对应的3d模型来执行的。
34.在一些实施例中,该过程还可以包括:识别真实世界办公桌的表面上的专用空间的高度;以及相对于该专用空间设置一个或多个锚点,其中,每个锚点被标识为人工现实环境中用于放置虚拟内容的一位置。
35.在一些实施例中,该过程还可以包括:接收真实世界计算机的显示器的流;以及在人工现实环境中,使用基于人工现实环境中的一个或多个已建立锚点的位置,显示来自真实世界计算机的显示器的内容。与3d键盘模型相关的用户移动与真实世界键盘的、被路由到真实世界计算机的输入相对应。
36.在一些实施例中,可以通过以下方式来执行识别用户的一只手或两只手的轮廓:监测所采集的描绘了用户的一只手或两只手的图像,以创建用户的一只手或两只手的虚拟模型;以及使用该模型来确定手部轮廓、手部形状、手部位置或它们的任何组合中的一者或多者。
37.在一些实施例中,识别用户的一只手或两只手的轮廓可以包括:确定用户的一只
手或两只手的一个或多个轮廓。启用手部透传模式可以包括对真实世界的一部分的显示,真实世界的该部分是围绕用户的一只手或两只手的一个或多个经确定的轮廓的设定量。
38.在一些实施例中,该过程还可以包括:确定用户的一只手或两只手不再处于距真实世界键盘的阈值距离内;并且作为响应,关闭手部透传模式,关闭手部透传模式包括停止对真实世界的一部分的显示,以及显示用户的一只手或两只手的虚拟模型,该一只手或两只手的虚拟模型与该用户的一只手或两只手的一个或多个真实世界位置相对应。
39.根据本公开的一方面,提供了一种计算系统,该计算系统包括:一个或多个处理器;以及一个或多个存储器,该一个或多个存储器存储有多个指令,这些指令在被该一个或多个处理器执行时,使得该计算系统执行包括以下的过程:跟踪真实世界键盘的真实世界位置;在人工现实环境中的相对于真实世界位置的位置处生成3d键盘模型;识别用户的一只手或两只手的轮廓;以及启用手部透传模式,该手部透传模式在人工现实环境中呈现对真实世界的与所识别的手部轮廓相对应的部分的显示。
40.在一些实施例中,该计算系统可以是xr设备,并且该过程还可以包括:与不同于xr设备的计算设备配合,真实世界键盘可以与该计算设备连接;以及接收来自该计算设备的真实世界键盘的类型的标识。生成3d键盘模型可以是部分地通过选择与真实世界键盘的类型相对应的3d模型来执行的。
41.在一些实施例中,该过程还可以包括:接收真实世界计算机的显示器的流;以及在人工现实环境中显示来自真实世界计算机的显示器的内容。与3d键盘模型相关的用户移动与真实世界键盘的、被路由到真实世界计算机的输入相对应。
42.在一些实施例中,可以通过以下方式来执行识别用户的一只手或两只手的轮廓:监测所采集的描绘用户的一只手或两只手的图像,以创建用户的一只手或两只手的虚拟模型;以及使用该模型来确定手部轮廓、手部形状、手部位置或它们的任何组合中的一者或多者。
43.在一些实施例中,识别用户的一只手或两只手的轮廓可以包括:确定用户的一只手或两只手的一个或多个轮廓。启用手部透传模式可以包括对真实世界的一部分的显示,真实世界的该部分是围绕用户的一只手或两只手的一个或多个经确定的轮廓的设定量。
44.根据本公开的一方面,提供了一种方法,该方法包括:获取对将计算机输出流式传输到人工现实环境中的授权。该授权利用来自mr键盘的输入,并且该mr键盘的真实世界位置被跟踪,且在人工现实环境中,该mr键盘的相应模型被呈现在根据所跟踪的真实世界位置的位置处;响应于该授权,接收计算机输出的流;以及在人工现实环境中,基于该计算机输出的流来提供显示。
45.在一些实施例中,该方法可以由xr设备执行;其中,mr键盘可以连接到不同于xr设备的计算机,该计算机提供计算机输出;并且其中,获取对将计算机输出流式传输到人工现实环境中的授权可以包括:接收来自在人工现实环境中交互的用户的命令;响应于接收到该命令,向计算机发送流式传输请求,其中,该流式传输请求使计算机请求授权,使得将对mr键盘的敲击路由为对该授权请求的响应;以及通知用户提供与mr键盘的交互以授权该流式传输。
46.在一些实施例中,通知用户提供与mr键盘的交互可以包括:显示在mr键盘上执行单次按键的指令。
47.在一些实施例中,获取对流式传输计算机输出的授权可以是通过与安装在提供计算机输出的计算机上的应用程序进行配合来执行的;其中,该应用程序可以将计算机配置为输出到多个显示器;并且其中,计算机输出的流可以包括从计算机到多个显示器的输出。
48.在一些实施例中,获取对流式传输计算机输出的授权可以是通过与安装在提供计算机输出的计算机上的应用程序进行配合来执行的;并且其中,该方法还可以包括:接收来自应用程序的、用于连接到该计算机的显示器的配置数据,该配置数据包括分辨率、刷新率、尺寸或它们的任何组合中的一者或多者。
49.在一些实施例中,计算机输出的流可以包括多个流,各个流与提供计算机输出的计算机上的不同应用程序或窗口相对应;并且其中,基于计算机输出的流的显示可以包括为多个流中的至少两个流提供单独的虚拟显示。
50.在一些实施例中,计算机输出的流可以被以第一刷新率提供;其中,可以从计算机输出的流中移除第一鼠标指针;并且其中,该方法还可以包括:以第二刷新率接收鼠标位置,该第二刷新率可以比第一刷新率频率更高;以及在显示器上基于接收到的鼠标位置渲染第二鼠标。
51.在一些实施例中,获取对流式传输计算机输出的授权可以是通过与安装在提供计算机输出的计算机上的应用程序进行配合来执行的;其中,该方法还可以包括:接收来自应用程序的配置数据,该配置数据指定了附接到计算机的屏幕的角度;并且其中,提供显示可以包括:在人工现实环境中,以基于附接到计算机的屏幕的角度的角度来显示虚拟计算机屏幕。
52.在一些实施例中,计算机输出的流可以是单个显示屏的流;并且其中,提供显示可以包括:将单个显示屏的流划分成多个虚拟显示;以及在人工现实环境中单独显示每个虚拟显示。
53.在一些实施例中,计算机输出的流可以具有第一屏幕尺寸;并且其中,该方法还可以包括:调整计算机输出的流以适配人工现实环境中的虚拟屏幕,该虚拟屏幕的尺寸不同于第一屏幕尺寸。
54.根据本公开的一方面,提供了一种计算机可读存储介质,该计算机可读存储介质存储有多个指令,这些指令在被计算系统执行时,使得该计算系统执行包括以下的过程:获取对将计算机输出流式传输到人工现实环境中的授权,其中,该授权利用来自mr键盘的输入,并且其中,该mr键盘的真实世界位置被跟踪,且在人工现实环境中,该mr键盘的相应模型被呈现在根据所跟踪的真实世界位置的位置处;接收计算机输出的流;以及在人工现实环境中,基于该计算机输出的流来提供显示。
55.在一些实施例中,计算机输出的流可以是经编码的视频的流。
56.在一些实施例中,计算机输出的流可以是多个指令的流,这些指令在被执行时,限定可视化用户界面。
57.在一些实施例中,计算机输出的流可以是描绘了单个窗口的流,该单个窗口是由用户从产生计算机输出的计算机上的多个窗口中选择的。
58.在一些实施例中,该过程可以由xr设备执行;其中,mr键盘可以连接到不同于xr设备的计算机,该计算机提供计算机输出;并且其中,获取对将计算机输出流式传输到人工现实环境中的授权可以包括:向计算机发送流式传输请求,其中,该流式传输请求使计算机请
求授权,使得将对mr键盘的敲击路由为对该授权请求的响应;以及通知用户提供与mr键盘的交互以授权该流式传输。
59.在一些实施例中,计算机输出的流可以被以第一刷新率提供;其中,可以从计算机输出的流中移除第一鼠标指针;并且其中,该过程还可以包括:以第二刷新率接收鼠标位置,该第二刷新率可以比第一刷新率频率更高;以及在显示器上基于接收到的鼠标位置渲染第二鼠标。
60.在一些实施例中,计算机输出的流可以是单个显示屏的流;并且其中,提供显示可以包括:将单个显示屏的流划分成多个虚拟显示;以及在人工现实环境中单独显示每个虚拟显示。
61.根据本公开的一方面,提供了一种计算系统,该计算系统包括:一个或多个处理器;以及一个或多个存储器,该一个或多个存储器存储有多个指令,这些指令在被该一个或多个处理器执行时,使得该计算系统执行包括以下的过程:获取对将计算机输出流式传输到人工现实环境中的授权,其中,该授权利用来自mr键盘的输入;接收计算机输出的流;以及在人工现实环境中,基于该计算机输出的流来提供显示。
62.在一些实施例中,计算机输出的流可以包括多个流,各个流与提供计算机输出的计算机上的不同应用程序或窗口相对应;并且其中,基于计算机输出的流的显示可以包括为多个流中的至少两个流提供单独的虚拟显示。
63.在一些实施例中,计算机输出的流可以被以第一刷新率提供;其中,可以从计算机输出的流中移除第一鼠标指针;并且其中,该过程还可以包括:以第二刷新率接收鼠标位置,该第二刷新率比第一刷新率频率更高;以及在显示器上,基于接收到的鼠标位置渲染第二鼠标。
附图说明
64.图1是示出了本技术一些实施方式可在其上运行的多个设备的概况的框图。
65.图2a是示出了可在本技术一些实施方式中使用的虚拟现实头戴式视图器的连接图。
66.图2b是示出了可在本技术一些实施方式中使用的混合现实头戴式视图器的连接图。
67.图2c示出了多个控制器,在一些实施方式中,用户可用单手或双手握住该多个控制器以与人工现实环境交互。
68.图3是示出了本技术一些实施方式可在其中运行的环境的概况的框图。
69.图4是示出了多个部件的框图,在一些实施方式中,这些部件可以在采用所公开技术的系统中使用。
70.图5是示出了在本技术一些实施方式中使用的、用于创建人工现实工作环境的过程的流程图。
71.图6a和图6b是示出了对链接到一个或多个真实世界表面的人工现实工作环境进行创建的示例的多个概念图。
72.图7是示出了对链接到多个真实世界空间的人工现实工作环境进行创建的示例的概念图。
73.图8是示出了在本技术一些实施方式中使用的如下过程的流程图:将用户的计算机屏幕流式传输到人工现实工作环境中。
74.图9a和图9b是示出了在vr中获取对将计算机屏幕流式传输到人工现实工作环境中的授权的示例的概念图。
75.图10是示出了在本技术一些实施方式中使用的如下过程的流程图:在包括手势手部状态和键盘透传手部状态的多个手部状态之间切换。
76.图11是示出了使用键盘透传手部状态来促使键盘输入的示例的概念图。
77.图12是示出了在本技术一些实施方式中使用的如下过程的流程图:在包括手势手部状态和重影交互式手部状态的多个手部状态之间切换。
78.图13a至图13c是示出了从手势手部状态转换到重影交互式手部状态的示例的概念图。
79.图14是示出了在本技术一些实施方式中使用的如下过程的流程图:在人工现实工作环境中在真实世界表面上使用物理控制器作为书写工具(scribe tool)。
80.图15a至图15e是示出了在人工现实工作环境中转换到使用物理控制器作为书写工具的示例的概念图。
81.图16是示出了在本技术一些实施方式中使用的如下过程的流程图:在人工现实工作环境中的指定办公桌区域和多个白板区域之间转移。
82.图17是示出了在本技术一些实施方式中使用的如下过程的流程图:将多个人工现实办公桌空间组合在房间配置中。
83.图18a至图18d是示出了多桌房间配置的示例的概念图。
84.图19是示出了在本技术一些实施方式中使用的如下过程的流程图:基于先前交互的上下文自动向人工现实工作环境添加内容项目和用户。
85.图20是示出了被添加到人工现实工作环境的自动填充内容的示例的概念图。
86.通过结合附图参考以下具体实施方式可以更好地理解这里所介绍的技术,在附图中,相似的附图标记表示相同或功能相似的元件。
具体实施方式
87.本公开各方面针对创建和管理人工现实协同工作环境,并为人工现实系统工作环境提供多种交互模式。xr工作系统可以提供和控制这种人工现实协同工作环境(在本文中也称为“人工现实工作环境”)以例如实现:a)在真实世界表面与xr表面之间的链接;b)在多个真实世界区域与具有专用功能的对应的xr区域之间的链接;c)当处于人工现实工作环境内部时,保持对真实世界工作工具(例如,用户的计算机屏幕和键盘)的访问;d)用于不同交互和协作模式的各种手部和控制器模式;e)基于使用的多桌协同房间配置;以及f)将用户和内容项目基于上下文自动填充到人工现实工作环境中。如本文所使用的,“真实世界”的事物是非计算机生成的。例如,真实世界空间是占据计算机外部的位置的物理空间,而真实世界对象是计算机外部的具有物理特性的物理对象。
88.xr工作系统可以启用具有到真实世界表面或平面的链接的xr表面,例如链接到真实世界办公区域的xr办公区域,和链接到xr白板区域的真实世界站立区域。xr工作系统可以通过以下方式来实现将真实世界办公桌链接到xr办公桌:识别真实世界办公桌的轮廓
(例如,高度和边缘),确定真实世界办公桌上的专用空间,识别专用空间中的真实世界对象(例如,被跟踪键盘或其他对象,所述其他对象可能会干扰人工现实工作环境中的移动)、以及在人工现实工作环境中相对于专用空间设置锚点。xr工作系统还可以通过以下方式来实现真实世界区域到白板空间的链接:建立与真实世界的办公桌分开的真实世界区域,用户可以移动到该真实世界区域来实现诸如协同白板等替代功能。以下关于图5至图7、以及图16描述了关于将真实世界表面或平面链接到xr表面、以及将多个真实世界区域链接到具有专用功能的xr区域的附加细节。
89.当用户处于人工现实工作环境中时,xr工作系统可以保持用户对真实世界工作工具(例如,用户的计算机屏幕、鼠标、键盘)的访问、或者对其它被跟踪对象(例如,咖啡杯)的访问。当用户处于vr中时,xr工作系统可以通过对待呈现在人工现实工作环境中的计算机屏幕的一个版本进行流式传输,来提供对用户的计算机屏幕的访问。在一些情况下,这可以使用安装在用户计算机上的应用程序来实现,该应用程序可以连接到xr设备,以提供计算机屏幕的版本(例如,作为视频帧、作为在人工现实工作环境中重建和显示的内容)。在一些实施方式中,用户将需要提供授权,以允许将其计算机屏幕流式传输到人工现实工作环境中。xr工作系统可以通过以下方式来避免需用户退出人工现实工作环境来提供该授权:将授权请求经由应用程序呈现在计算机的前景中,使得将键盘敲击路由到该授权请求。xr工作系统还可以在人工现实工作环境中提供通知,指示用户按下授权键(例如“回车键”),从而允许用户在不取下其xr设备的情况下响应该授权请求。
90.当处于人工现实工作环境中时,xr工作系统可以向用户提供对其物理键盘的访问,以实现这种授权和/或向其计算机提供其它键盘输入。xr工作系统可以通过以下方式来实现这一点:跟踪用户键盘的位置并在人工现实工作环境中呈现该键盘的模型,同时还跟踪用户手的位置。如下的键盘在本文中也称为“mr键盘”:该键盘的真实世界位置被跟踪,并且该键盘的相应模型在人工现实环境中在根据所跟踪的真实世界位置的位置处呈现。当用户的一只手的位置处于距键盘的阈值距离内时,xr工作系统可以在人工现实工作环境中显示用户的真实世界手的视频,从而允许用户相对于键盘对其手进行精确地控制。这种在人工现实工作环境中具有相应模型的真实世界键盘在本文称为混合现实键盘或“mr”键盘。如下方式在本文中称为“透传”:在用户通过虚拟现实系统保持视觉的同时,从虚拟现实系统的外部摄像头拍摄视频并将该视频显示在人工现实工作环境中,从而显示完整的真实世界或真实世界的一部分(例如,仅用户的双手、仅办公桌表面区域、或仅被跟踪对象)。以下关于图8至图10描述了当处于人工现实工作环境内部时提供对真实世界工具的访问的附加细节。
91.xr工作系统可以为不同的交互和协作模式提供各种手部和控制器模式。在各种限制中,这些手部和控制器模式可以包括:手势模式,该手势模式在用户正在做手势或者没有以其他方式与对象交互时启用;以上论述的键盘透传模式,该键盘透传模式用于选择性的手部透传以实现与mr键盘交互;手部重影模式,该手部重影模式用于与人工现实工作环境中的对象进行交互;正常控制器模式,该正常控制器模式针对标准控制器交互(例如,指向、选择、光线投射等)启用;以及书写控制器模式,该书写控制器模式实现在人工现实工作环境中将控制器作为书写工具使用。在一些实施方式中,当用户的一只手或两只手处于距mr键盘的阈值距离内时,启用键盘透传模式。在一些情况下,当用户的一只手或两只手处于距
在人工现实工作环境中可被选择和/或操纵的对象的阈值距离内时,启用手部重影模式。在一些实施方式中,当键盘透传模式和手部重影模式都没有被启用并且用户没有握持着控制器时,启用手势模式。当用户正在正常握持控制器时(例如,其手围绕控制器,手指处于按钮上方),可以启用正常控制器模式。当用户正将控制器作为书写工具握持时(例如,当控制器的与主控制器按钮相对的一端正被握持在拇指与一个或多个手指之间时),可以启用书写控制器模式。以下关于图10至图15描述了关于为不同的交互和协作模式提供各种手部和控制器模式的附加细节。
92.一旦用户处于人工现实工作环境中,xr工作系统可以进一步使用已建立的办公空间和/或白板空间,来促进该用户和一个或多个其它用户之间的协作。例如,xr工作系统可以提供不同的多桌房间配置,从而允许参与者在多张办公桌之间相互交流。在各种实施方式中,这些房间配置可以包括:演示模式,该演示模式用于在演示者周围布置多张办公桌;组配置,该组配置允许多张办公桌布置成一组;会议桌配置,其中多张办公桌连接成一个大桌子;或者共享办公桌配置,其中多个用户看起来都在其自己的办公桌处,但其办公桌上的专用xr空间在所有共享办公桌上被镜像,使得任何用户做出的改变都反映在所有共享桌参与者的专用空间中。在各种实施方式中,用户可以手动选择以何种房间配置布置办公桌,或xr工作系统的可以基于上下文(例如,各用户处于何种模式、用户的语音音量、用户正在描画的白板空间的量、对话和/或共享文档的内容等)自动选择房间配置。以下关于图17和图18描述了关于多桌协同房间配置的附加细节。
93.xr工作系统还可以基于先前的上下文,将内容自动填充到人工现实工作环境中,和/或xr工作系统还可以在某些用户戴上其xr设备时,将这些用户加入人工现实工作环境。例如,将用户添加到的哪个人工现实工作环境、和/或将哪些内容项目自动地带入人工现实工作环境中可以基于以下内容:人们在戴上其xr设备之前是否处于共享线程(例如,聊天、电子邮件、视频通话等)上、哪些内容项目已在这种线程中共享、当用户戴上xr设备时或在戴上xr设备之前的阈值时间量内用户正在其计算机上与之交互的内容项目等。xr工作系统还可以例如通过以下方式来促使将内容项目“到vr”手动移动到人工现实工作环境中:提供拖放系统,其中将被拖动到控件上的文件添加到人工现实工作环境;提供语音命令,其中可以向系统提供模型、文件、线程、图像等的标识符,以及将该标识符移动到人工现实工作环境中的命令;通过添加到应用程序中的控件(例如,新的菜单项)来将当前内容项目添加到人工现实工作环境中;允许用户在vr中将项目从其流式传输的计算机屏幕中取出。激活这些手动“到vr”命令可以在进入人工现实工作环境之前完成,或者使用对用户的计算机屏幕到人工现实工作环境的流式传输(以上所论述的)来完成。以下关于图19和图20描述了关于将多个内容项目基于上下文自动填充和手动添加到人工现实工作环境中的附加细节。
94.所公开技术的多个实施例可以包括人工现实系统,或者结合人工现实系统来实现。人工现实、扩展现实、或超现实(统称为“xr”)是在呈现给用户之前已经以某种方式进行了调整的现实形式,该现实形式例如可以包括虚拟现实(vr)、增强现实(ar)、混合现实(mr)、混合现实(hybrid reality)、或它们的某种组合和/或衍生物。人工现实内容可以包括完全生成内容或与所采集的内容(例如,真实世界照片)相结合的生成内容。人工现实内容可以包括视频、音频、触觉反馈、或它们的某种组合,以上中的任何可以在单个通道或多个通道(例如,给观看者带来三维效果的立体视频)中呈现。此外,在一些实施例中,人工现
实还可以与应用、产品、附件、服务、或它们的某种组合相关联,应用、产品、附件、服务、或它们的某种组合例如用于在人工现实中创建内容,和/或在人工现实中使用(例如,在人工现实中执行活动)。提供人工现实内容的人工现实系统可以在各种平台上实现,这些平台包括连接到主计算机系统的头戴式显示器(head-mounted display,hmd)、独立hmd、移动设备或计算系统、“洞穴式(cave)”环境或其它投影系统、或能够向一位或多位观看者提供人工现实内容的任何其它硬件平台。
95.如本文所使用的“虚拟现实”或“vr”是指由计算系统控制用户视觉输入的沉浸式体验。“增强现实”或“ar”是指这样的系统:在该系统中,用户在真实世界的图像通过计算系统之后,观看这些真实世界的图像。例如,在背面具有摄像头的平板电脑可以采集多幅真实世界的图像,然后该平板电脑可以在该平板电脑的与该摄像头相对的一侧的屏幕上显示这些图像。该平板电脑可以在这些图像通过系统时,处理并且调整或“增强”这些图像,例如通过添加虚拟对象来调整或“增强”这些图像。“混合现实”或“mr”是指这样的系统:在该系统中,进入用户眼睛的光部分地由计算系统生成,且部分地构成由真实世界中的对象反射出的光。例如,mr头戴式视图器可以被成形为一副具有透传显示器的眼镜,该透传显示器允许来自真实世界的光穿过一波导,该波导同时出射来自该mr头戴式视图器中的投影仪的光,从而允许该mr头戴式视图器呈现与用户可看到的真实对象混合的虚拟对象。如本文中所使用的,“人工现实”、“超现实”或“xr”是指vr、ar、mr、或它们的任何组合或混合中的任何一者。
96.虽然存在多种现有虚拟环境系统,但是它们不能为工作提供交互(其提供办公室工作的益处),它们使用起来很麻烦,它们经常导致通信失误,并且它们通常需要用户付出相当大的努力和相当高的精确度来完成任何工作。此外,远程工作系统总体上包括大量单独的通信、文件共享和生产工具,这些单独的通信、文件共享和生产工具通常不能很好地协同工作,难以在它们之间移动内容,并且还经常导致内容丢失或通信失误。
97.本文中所描述的xr工作系统和过程期望克服与以下内容相关联的这些问题:使用现有工具来协同工作,提供更真实的交互、更好的内容共享,链接到真实世界空间和对象以用于移动和对虚拟交互的物理感知,当处于虚拟环境中时、保持对传统工作工具(例如,用户的键盘和计算机屏幕)的访问,为不同交互模式提供各种手部模式,为不同工作活动提供不同的多桌房间配置,以及将人和内容项目基于上下文自动添加到人工现实工作环境。此外,尽管所公开的xr工作系统提供了与亲身工作体验相当的结果,并且在一些情况下提供了对亲自工作体验的改进,但实现这些益处的过程和系统并不是现有通信技术的类似物,而是引入了将真实世界和虚拟部件进行关联的全新方式,从而为工作功能提供专用虚拟空间,同时保持这些虚拟空间能够适应不同数量的用户和不同的工作目标等。
98.以下参考附图更详细地论述了几种实施方式。图1是示出了所公开技术的一些实施方式可在其上运行的多个设备的概况的框图。这些设备可以包括计算系统100的多个硬件部件,该计算系统可以创建、管理人工现实协同工作环境,并为人工现实协同工作环境提供多种交互模式。在各种实施方式中,计算系统100可以包括单个计算设备103或多个计算设备(例如,计算设备101、计算设备102、和计算设备103),该多个计算设备通过有线信道或无线信道通信,以分发处理并共享输入数据。在一些实施方式中,计算系统100可以包括独立头戴式视图器,该独立头戴式视图器能够在无需外部处理或外部传感器的情况下,为用
户提供计算机创建的或计算机增强的体验。在其它实施方式中,计算系统100可以包括多个计算设备,该多个计算设备例如为头戴式视图器和核心处理部件(例如,控制台、移动设备、或服务器系统),其中,一些处理操作在头戴式视图器上执行而其它处理操作被转移到核心处理部件。以下关于图2a和图2b描述了示例头戴式视图器。在一些实施方式中,位置数据和环境数据可以仅由结合在头戴式视图器设备中的传感器收集,而在其它实施方式中,多个非头戴式视图器的计算设备中的一个或多个可以包括可跟踪环境或位置数据的传感器部件。
99.计算系统100可以包括一个或多个处理器110(例如,中央处理单元(central processing unit,cpu)、图形处理单元(graphical processing unit,gpu)、全息处理单元(holographic processing unit,hpu)等)。处理器110可以是单个处理单元或多个处理单元,该多个处理单元位于一设备中或者分布在多个设备上(例如,分布在计算设备101至103中的两个或更多个计算设备上)。
100.计算系统100可以包括一个或多个输入设备120,该输入设备向处理器110提供输入,从而向处理器通知多个动作。这些动作可以由硬件控制器传送,该硬件控制器对从输入设备接收的信号进行解释,并使用通信协议将信息传送给处理器110。每个输入设备120例如可以包括鼠标、键盘、触摸屏、触摸板、可穿戴输入设备(例如,触觉手套、手镯、戒指、耳环、项链、手表等)、摄像头(或其它基于光的输入设备,例如红外传感器)、传声器、或其它用户输入设备。
101.处理器110可以例如通过使用内部总线或外部总线而耦接到其它硬件设备,上述总线例如为,外设部件互连标准(pci)总线、小型计算机系统接口(scsi)总线、或无线连接。处理器110可以与用于各设备(例如,用于显示器130)的硬件控制器通信。显示器130可以用于显示文本和图形。在一些实施方式中,显示器130包括输入设备,例如当该输入设备是触摸屏或配备有眼动方向监测系统(eye direction monitoring system)时、该输入设备作为显示器的一部分。在一些实施方式中,显示器与输入设备分开。显示设备的示例为:液晶显示器(lcd)显示屏、发光二极管(led)显示屏、投影显示器、全息显示器、或增强现实显示器(例如,平视显示设备或头戴式设备)等。其它多个输入/输出(i/o)设备140也可以耦接到处理器,该i/o设备例如为网络芯片或网卡、视频芯片或视频卡、音频芯片或音频卡、通用串行总线(usb)、火线或其它外部设备、摄像头、打印机、扬声器、紧凑型光盘只读存储器(cd-rom)驱动器、数字视频光盘(dvd)驱动器、磁盘驱动器等。
102.计算系统100可以包括通信设备,该通信设备能够与其它本地计算设备或网络节点无线地或基于有线地通信。该通信设备可以例如使用传输控制协议/网际协议(tcp/ip)通过网络与另一设备或服务器通信。计算系统100可以利用该通信设备在多个网络设备上分发操作。
103.处理器110可以访问存储器150,该存储器可以被包含在计算系统100的多个计算设备中的一个计算设备上,或者可以分布在计算系统100的多个计算设备上、或多个其它外部设备上。存储器包括用于易失性或非易失性存储的一个或多个硬件设备,并且可以包括只读存储器和可写存储器这两者。例如,存储器可以包括以下中的一种或多种:随机存取存储器(random access memory,ram)、各种高速缓冲存储器、cpu寄存器、只读存储器(read-only memory,rom)和可写非易失性存储器,该可写非易失性存储器例如为,闪存、硬盘驱动
器、软盘、光盘(cd)、dvd、磁存储设备、磁带驱动器等。存储器不是脱离底层硬件的传播信号;因此存储器是非暂态的。存储器150可以包括存储程序和软件的程序存储器160,上述程序和软件例如为操作系统162、xr工作系统164、和其它应用程序166。存储器150还可以包括数据存储器170,该数据存储器可以包括待提供给程序存储器160的信息、或待提供给计算系统100中的任何元件的信息。
104.一些实施方式可以与许多其它计算系统环境或配置一起运行。可适用于与该技术一起使用的计算系统、环境和/或配置的示例包括但不限于,xr头戴式视图器、个人计算机、服务器计算机、手持式或膝上型设备、蜂窝电话、可穿戴电子设备、游戏控制台、平板设备、多处理器系统、基于微处理器的系统、机顶盒、可编程消费类电子设备、网络个人计算机(pc)、小型计算机、大型计算机、或包括以上多个系统或设备中的任何系统或设备的分布式计算环境等。
105.图2a是根据一些实施例的虚拟现实头戴式显示器(head-mounted display,hmd)200的连接图。hmd 200包括前部刚性体205和带210。前部刚性体205包括电子显示器245的一个或多个电子显示元件、惯性运动单元(inertial motion unit,imu)215、一个或多个位置传感器220、定位器225、以及一个或多个计算单元230。位置传感器220、imu 215和计算单元230可以位于hmd 200内部,并且可以对用户不可见。在各种实施方式中,imu 215、位置传感器220和定位器225可以以三个自由度(three degrees of freedom,3dof)或六个自由度(six degrees of freedom,6dof)来跟踪hmd 200在真实世界中和虚拟环境中的移动和位置。例如,定位器225可以发射红外光束,这些红外光束在hmd 200周围的真实对象上产生光点。作为另一示例,imu 215例如可以包括一个或多个加速度计、一个或多个陀螺仪、一个或多个磁力计,一个或多个其它非基于摄像头的位置、力或方位传感器,或它们的多种组合。与hmd 200集成在一起的一个或多个摄像头(未示出)可以检测光点。hmd 200中的计算单元230可以使用检测到的光点,来推测hmd 200的位置和移动、以及识别hmd 200周围的真实对象的形状和位置。
106.电子显示器245可以与前部刚性体205集成在一起,并且可以如计算单元230所指示的向用户提供图像光。在各种实施例中,电子显示器245可以是单个电子显示器或多个电子显示器(例如,每只用户眼睛一显示器)。电子显示器245的示例包括:液晶显示器(liquid crystal display,lcd)、有机发光二极管(organic light-emitting diode,oled)显示器、有源矩阵有机发光二极管(active-matrix organic light-emitting diode,amoled)显示器、包括一个或多个量子点发光二极管(quantum dot light-emitting diode,qoled)子像素的显示器、投影仪单元(例如,微型led、激光器(laser)等)、某种其它显示器、或它们的某种组合。
107.在一些实施方式中,hmd 200可以耦接到诸如个人计算机(pc)(未示出)等核心处理部件、和/或一个或多个外部传感器(未示出)。外部传感器可以对hmd 200进行监测(例如,经由从hmd 200发射的光来监测),pc可以使用该hmd结合来自imu 215和位置传感器220的输出,来确定hmd 200的位置和移动。
108.图2b是混合现实hmd系统250的连接图,该混合现实hmd系统包括混合现实hmd 252和核心处理部件254。混合现实hmd 252和核心处理部件254可以经由如链路256所指示的无线连接(例如,60ghz链路)进行通信。在其它实施方式中,混合现实系统250仅包括头戴式视
图器而没有外部计算设备,或者包括混合现实hmd 252与核心处理部件254之间的其它有线或无线连接。混合现实hmd 252包括透传显示器258和框架260。框架260可以容纳各种电子部件(未示出),这些电子部件例如为光投影仪(例如,laser、led等)、摄像头、眼动跟踪传感器、微机电系统(mems)部件、联网部件等。
109.投影仪可以例如经由多个光学元件耦接到透传显示器258,以向用户显示媒体。这些光学元件可以包括用于将来自投影仪的光引导到用户的眼睛的一个或多个波导组件、一个或多个反射器(reflector)、一个或多个透镜、一个或多个反射镜、一个或多个准直器、一个或多个光栅等。可以将图像数据从核心处理部件254经由链路256而传输到hmd252。hmd 252中的控制器可以将图像数据转换成来自投影仪的多个光脉冲,这些光脉冲可以经由光学元件作为输出光而传输到用户的眼睛。该输出光可以与穿过显示器258的光混合,从而使该输出光能够呈现如下的虚拟对象:这些虚拟对象看起来如同其存在于真实世界中一样。
110.与hmd 200类似,hmd系统250也可以包括运动和位置跟踪单元、摄像头、光源等,上述运动和位置跟踪单元、摄像头、光源等允许hmd系统250例如以3dof或6dof跟踪其自身,跟踪用户的多个部位(例如,手、脚、头部、或其它身体部位),将虚拟对象绘制为在hmd 252移动时看起来如同静止一样,并且使虚拟对象对手势和其他真实世界对象作出反应。
111.图2c示出了多个控制器270,在一些实施方式中,用户可以用单手或双手握住该多个控制器,以与由hmd 200和/或hmd 250呈现的人工现实环境交互。控制器270可以直接与hmd通信,也可以经由外部设备(例如,核心处理部件254)与hmd通信。控制器可以具有其自身的imu单元、位置传感器,和/或可以发射另外的光点。hmd 200或250、外部传感器、或控制器中的传感器可以跟踪这些控制器光点,以确定控制器位置和/或方位(例如,以3dof或6dof跟踪控制器)。hmd 200中的计算单元230或核心处理部件254可以结合imu输出和位置输出,使用该跟踪来监测用户的手部位置和运动。这些控制器还可以包括各种按钮(例如,按钮272a至272f)和/或控制杆(例如,控制杆274a和274b),用户可以对这些按钮和/或控制杆进行致动,以提供输入并与对象交互。如以下所论述的,多个控制器270还可以具有尖端276a和276b,当这些尖端在处于书写控制器(scribe controller)模式时,可以用作人工现实工作环境中的书写工具的尖端。
112.在各种实施方式中,hmd 200或250还可以包括多个附加子系统,该多个附加子系统用于监测用户交互和意图的指示,这些附加子系统例如为眼动跟踪单元、音频系统、各种网络部件等。例如,在一些实施方式中,代替控制器或除了控制器之外而包括在hmd200或250中的一个或多个摄像头或来自多个外部摄像头的一个或多个摄像头可以监测用户手部的位置和姿势,以确定手势和其它手部动作和身体动作。
113.图3是示出了本技术一些实施方式可在其中运行的环境300的概况的框图。环境300可以包括一个或多个客户端计算设备305a至305d,该一个或多个客户端计算设备的示例可以包括计算系统100。在一些实施方式中,该多个客户端计算设备中的一些客户端计算设备(例如,客户端计算设备305b)可以是hmd 200或hmd系统250。客户端计算设备305可以在网络环境中、使用通过网络330逻辑连接到一个或多个远程计算机(例如,服务器计算设备)来运行。
114.在一些实施方式中,服务器310可以是边缘服务器,该边缘服务器接收多个客户端请求,并通过其它服务器(例如,服务器320a至320c)协调实现这些请求。服务器计算设备
310和320可以包括计算系统,例如计算系统100。尽管每个服务器计算设备310和320在逻辑上被显示为单个服务器,但多个服务器计算设备均可以是一分布式计算环境,该分布式计算环境包含位于同一物理位置处或在地理上不同的物理位置处的多个计算设备。
115.客户端计算设备305和服务器计算设备310和320均可以充当一个或多个其它服务器/客户端设备的服务器或客户端。服务器310可以连接到数据库315。服务器320a至320c可以各自连接到对应的数据库325a至325c。如以上所论述的,每个服务器310或320可以与一组服务器相对应,并且这些服务器中的各个服务器可以共享一数据库,或者可以具有其自己的数据库。尽管数据库315和325在逻辑上被显示为单个单元,但数据库315和325均可以是包含多个计算设备的分布式计算环境,该多个计算设备可以位于其对应的服务器内,或者可以位于同一物理位置处或位于地理上不同的物理位置处。
116.网络330可以是局域网(local area network,lan)、广域网(wide area network,wan)、网状网络、混合网络、或其它有线或无线网络。网络330可以是互联网或某种其它公共或专用网络。客户端计算设备305可以经由网络接口例如通过有线或无线通信连接到网络330。尽管服务器310与多个服务器320之间的连接被显示为单独的连接,但这些连接可以是包括网络330或单独的公共或专用网络的任何类型的局域网、广域网、有线网络、或无线网络。
117.在一些实施方式中,服务器310和320可以用作社交网络的一部分。社交网络可以维护社交图谱并基于该社交图谱执行各种动作。社交图谱可以包括由多条边(表示交互、活动、或相关性)互连的一组节点(表示社交网络系统对象,也称为社交对象)。社交网络系统对象可以是社交网络系统用户、非人实体、内容项目、组、社交网络系统页面、位置、应用、主题、概念表示、或其它社交网络系统对象,该其他社交网络系统对象例如电影、乐队、书等。内容项目可以是任何数字数据,例如文本、图像、音频、视频、链接、网页、细节(例如,由客户端设备提供的诸如情绪指示符、状态文本片段、位置指示符等标记)、或其它多媒体。在各种实施方式中,内容项目可以是社交网络项目或社交网络项目的部分,例如帖子、喜欢、提及(mention)、新闻项目、事件、分享(share)、评论、消息、其它通知等。在社交图谱的背景中,主体和概念包括表示如下的节点:所述节点表示任何人、地点、事物或想法。
118.社交网络系统可以使用户能够输入和显示与用户的兴趣有关的信息、年龄/出生日期、位置(例如,经度/纬度、国家、地区、城市等)、教育信息、生命阶段、婚姻状况、姓名、通常使用的设备型号、被标识为用户熟悉的语言、职业、联系信息、或用户资料中的其他人口统计或生物信息。在各种实施方式中,可以通过社交图谱中的节点或节点之间的边来表示任何这种信息。社交网络系统可以使用户能够上传或创建图片、视频、文档、歌曲、或其它内容项目,并且可以使用户能够创建和安排事件。在各种实施方式中,可以通过社交图谱中的节点或节点之间的边来表示内容项目。
119.社交网络系统可以使用户能够执行上传或创建内容项目、与内容项目或其他用户交互、表达兴趣或意见、或执行其它动作。社交网络系统可以提供各种手段来与社交网络系统内的非用户对象交互。在各种实施方式中,可以通过社交图谱中的节点或节点之间的边来表示动作。例如,用户可以形成或加入群组,或者变成社交网络系统内的页面或实体的爱好者。此外,用户可以创建、下载、查看、上传、链接到、标记、编辑、或播放社交网络系统对象。用户可以在社交网络系统的背景之外与社交网络系统对象交互。例如,新闻网站上的文
章可能具有用户可点击的“喜欢”按钮。在这些实例中的每个实例中,可以通过社交图谱中的将用户的节点连接到对象的节点的边,来表示该用户与该对象之间的交互。作为另一示例,用户可以使用位置检测功能(例如,移动设备上的全球定位系统(gps)接收器)而到特定位置“签到”,并且在社交图谱中,边可以将该用户的节点与该位置的节点连接。
120.社交网络系统可以向用户提供各种通信信道。例如,社交网络系统可以使用户能够向一个或多个其他用户发送电子邮件、即时消息、或文本/sms消息。社交网络系统可以使用户能够将消息发布到用户墙或用户资料、或另一用户墙或另一用户资料。社交网络系统可以使用户能够将消息发布到群组或粉丝页面。社交网络系统可以使用户能够对由该用户或另一用户创建或上传的图像、涂鸦墙(wall post)或其它内容项目进行评论。并且,社交网络系统可以允许用户(经由其化身或真实生活表现)与虚拟环境中(例如,在人工现实工作环境中)的对象或其它化身等交互。在一些实施例中,用户可以将一状态消息发布到用户资料,该状态消息指示当前事件、心理状态、想法、感受、行动、或任何其它当前时间相关表达。社交网络系统可以使多个用户不仅能够在社交网络系统内通信而且能够与社交网络系统外部通信。例如,第一用户可以在社交网络系统内向第二用户发送消息,可以通过社交网络系统向第二用户发送电子邮件,可以向社交网络系统外的第二用户发送源自该社交网络系统的电子邮件,可以在社交网络系统内向第二用户发送即时消息,可以向社交网络系统外的第二用户发送源自社交网络系统的即时消息,可以在多个用户之间提供语音或视频消息传递,或者可以提供虚拟环境(在该虚拟环境中,用户可以经由其自己的化身或其他数字表示进行通信和交互)。此外,第一用户可以对第二用户的资料页面进行评论,或者可以对与第二用户相关联的对象(例如,由第二用户上传的内容项目)进行评论。
121.社交网络系统使用户能够将其自己与社交网络系统中的其他用户相关联,并且建立与这些用户的连接。当两个用户(例如,社交图谱节点)在社交网络系统中明确建立社交连接时,这两个用户在社交网络系统的背景内变为“朋友”(或者,“连接”)。例如,“简
·
史密斯(jane smith)”所接受的、从“约翰
·
多伊(john doe)”到其的朋友请求是社交连接。该社交连接可以是社交图谱中的边。与无关联的多个用户可获得的关于彼此的信息相比,成为朋友、或处于社交图谱上的朋友边的阈值数量内可以允许用户访问更多关于彼此的信息。例如,成为朋友可以允许用户查看另一用户的资料、查看另一用户的朋友、或查看另一用户的照片。类似地,成为社交网络系统内的朋友可以允许用户有更多的机会与另一用户例如通过电子邮件(社交网络系统内部和外部)、即时消息、文本消息、电话、或任何其它通信接口而通信。成为朋友可以允许用户访问,以查看、评论、下载、支持(endorse)另一用户所上传的内容项目,或以其它方式与另一用户所上传的内容项目交互。可以通过表示两个社交网络系统用户的节点之间的边,来表示在社交网络系统的背景内建立连接、访问用户信息、通信和交互。
122.除了在社交网络系统中明确建立连接之外,出于确定社交背景(该社交背景在确定交流主题时使用)的目的,具有共同特性的多个用户可以被认为是有联系的(例如,软连接或隐式连接)。在一些实施例中,属于公共网络的多个用户被认为是有联系的。例如,上同一所学校的多个用户、为同一家公司工作的多个用户、或者属于同一社交网络系统组的多个用户可以被认为是有联系的。在一些实施例中,具有共同生物特征的多个用户被认为是有联系的。例如,用户出生或居住的地理区域、用户的年龄、用户的性别、和用户的婚姻状况
可以用于确定多个用户是否是有联系的。在一些实施例中,具有共同兴趣的多个用户被认为是有联系的。例如,用户的电影偏好、音乐偏好、政治观点、宗教观点、或任何其它兴趣可以用于确定多个用户是否是有联系的。在一些实施例中,已经在社交网络系统内进行了同一行为的多个用户被认为是有联系的。例如,认可或推荐同一对象的多个用户、对同一内容项目进行评论的多个用户、或对同一事件进行回应(rsvp)的多个用户可以被认为是有联系的。社交网络系统可以利用社交图谱来确定与特定用户有联系的多个用户或与特定用户相似的多个用户,以便确定或评估这些用户之间的社交背景。社交网络系统可以利用这种社交背景和共同属性来促进内容分发系统和内容缓存系统可预测地选择用于缓存在缓存设备(该缓存设备与特定社交网络账号相关联)中的内容项目。
123.图4是示出了多个部件400的框图,在一些实施方式中,可以在采用所公开技术的系统中使用这些部件。多个部件400可以被包括在计算系统100的一个设备中,或者可以分布在计算系统100的多个设备上。该多个部件400包括硬件410、中间件420、和多个专用部件430。如以上所论述的,实现所公开技术的系统可以使用各种硬件,这些硬件包括处理单元412、工作存储器414、输入和输出设备416(例如,摄像头、显示器、imu单元、网络连接等)、以及存储内存418。在各种实施方式中,存储内存(storage memory)418可以是以下一种或多种:本地设备、到远程存储设备的接口、或它们的多种组合。例如,存储内存418可以是可通过系统总线访问的一个或多个硬盘驱动器或闪存驱动器、或者可以是可经由一个或多个通信网络访问的云存储提供商(例如,在存储器315或325中)或其它网络存储器。在各种实施方式中,多个部件400可以在客户端计算设备(例如,客户端计算设备305)中或在服务器计算设备(例如,服务器计算设备310或320)上实现。
124.中间件420可以包括对硬件410和专用部件430之间的资源进行传递的部件。例如,中间件420可以包括操作系统、服务、驱动器、基本输入输出系统(basic input output system,bios)、控制器电路、或其它硬件或软件系统。
125.专用部件430可以包括被配置为执行如下操作的软件或硬件:创建和管理多种人工现实协同工作环境,并为这些人工现实协同工作环境提供多种交互模式。多个专用部件430可以包括环境创建器434、屏幕流式传输模块436、手部状态控制器438、书写控制器440、用户位置控制器442、房间配置控制器444、环境自动填充器446,以及可用于提供用户界面、传递数据以及控制该多个专用部件的多个部件和应用程序接口(api)(例如,多个接口432)。在一些实施方式中,多个部件400可以位于如下计算系统中:该计算系统分布在多个计算设备上;或者,多个部件400可以是基于服务器的应用程序的接口,该基于服务器的应用程序执行多个专用部件430中的一个或多个。尽管专用部件430被描绘为单独的部件,但这些专用部件可以是逻辑功能或其它非物理区分的功能,和/或可以是一个或多个应用程序的子模块或代码块。
126.环境创建器434可以创建具有办公桌区域和一个或多个白板区域两者的人工现实工作环境。该办公桌区域可以链接到真实世界办公桌处的空间,这些白板区域可以链接到真实世界开放空间。办公桌区域可以具有专用空间和被跟踪对象(例如,mr键盘)。以下关于图5至图7提供了关于创建如下的人工现实工作环境的附加细节:该人工现实工作环境具有链接到真实世界空间的区域。
127.屏幕流式传输模块436可以获取对将用户的计算机屏幕流式传输到人工现实工作
环境中的授权,可以结合在用户的计算机上执行的应用程序来获取用户的计算机屏幕的流,并且可以在人工现实工作环境中以各种配置显示该流。以下关于图8和图9提供了关于将用户的计算机屏幕流式传输到人工现实工作环境中的附加细节。
128.手部状态控制器438可以将用户的手的表示转换成各种状态(本文中也称为模式),这些状态例如为键盘透传手部状态、重影交互式手部状态、或手势手部状态。当手部状态控制器438检测到用户的手处于距mr键盘的阈值距离内时,可以启用键盘透传手部状态,并且该模式可以包括:确定用户的手的轮廓并启用透传,使得当用户的手位于mr键盘之上时,该用户可以仅看到其手的真实世界版本。当手部状态控制器438检测到用户的手处于距交互式对象的阈值距离内时,可以启用重影交互式手部状态,并且该模式可以包括将用户的手显示为仅部分不透明,并且可以包括从用户的手投射光线。在重影交互式手部状态下,用户可以使用其手/或使用所投射的光线来选择和操纵交互式对象。在一些实施方式中,随着用户的手接近交互式对象,用户的手可以从手势状态渐变到重影交互式手部状态。当键盘透传状态和重影交互式状态都未启用时,可以启用手势状态,并且该模式可以包括将用户的手显示为完全不透明(例如,具有特定肤色)。以下关于图10至图13提供了关于如下项的附加细节:在多个手部状态之间转换;以及处于各手部状态的效果。
129.书写控制器440可以检测用户是正在正常握持着控制器、还是正将控制器握持为书写工具。当书写控制器440检测到用户正将控制器握持为书写工具、并且控制器的尖端抵靠(真实或虚拟)表面时,书写控制器440可以使得根据控制器尖端的移动来实现书写。以下关于图14和图15提供了关于使用控制器作为书写工具的附加细节。
130.用户位置控制器442可以监测用户在真实世界中的位置,可以在无需移除该用户的xr设备的情况下实现针对该用户在多个真实世界位置之间移动的透传和其他导航特征,并且可以根据用户的当前真实世界位置来改变输入模式。以下关于图7和图16提供了关于如下内容的附加细节:监测用户在多个物理位置(这些物理位置映射到多个虚拟输入位置)之间的移动,以控制用户出现在人工现实工作环境中何处以及用户具有的可用输入模式。
131.房间配置控制器444可以识别与多个用户相对应的多张办公桌,选择房间配置(例如,响应于用户选择或房间背景),并且根据所选择的房间配置来布置用户的办公桌。在一些实施方式中,房间配置控制器444可以自动调整人工现实工作环境房间的大小并调整办公桌配置,以适应加入人工现实工作环境的附加用户。以下关于图17和图18提供了关于选择和实现人工现实工作环境中针对多张办公桌的房间配置的附加细节。
132.环境自动填充器446可以在用户进入人工现实工作环境之前确定该用户的上下文,并且可以基于该上下文使用内容项目来自动填充人工现实工作环境、和/或自动将用户添加到人工现实工作环境。该上下文可以例如基于用户在进入人工现实工作环境之前参与的线程、用户在进入人工现实工作环境之前正在访问的内容项目、被标识为用户收藏的内容项目、用户在人工现实工作环境中的先前会话中具有的活动内容项目等。xr工作系统可以提供用于将内容项目添加到人工现实工作环境的多个其它控件,使得用户可以执行手势以抓取在计算机屏幕上显示的内容项目并将这些内容项目拉入到人工现实工作环境中,这些其他控件例如为用户可以将内容项目拖动到其上的控件、多个应用程序(用户可以激活这些应用程序以将内容项目从这些应用程序移动到人工现实工作环境中)中的按钮、语音控件、或流式传输到人工现实工作环境中的计算机屏幕与计算机之间的接口。以下关于图
19和图20提供了关于自动和手动将内容和人添加到人工现实工作环境的附加细节。
133.本领域技术人员将理解,以上所描述的图1至图4中所示出的、以及以下所论述的多个流程图中的每个中所示出的多个部件可以以各种方式改变。例如,可以对逻辑的顺序进行重新排列,可以并行执行多个子步骤,可以省略所示出的逻辑,可以包括其它逻辑等。在一些实施方式中,以上所描述的多个部件中的一个或多个部件可以执行以下所描述的多个过程中的一个或多个过程。
134.图5是示出了在本技术一些实施方式中使用的如下的过程500的流程图:创建具有办公桌空间和/或站立空间中的一者或两者的人工现实工作环境。以下关于图7提供了示出办公桌空间和白板空间的示例。在一些实施方式中,过程500可以在用户戴上xr设备时开始、和/或在用户激活其xr设备上的人工现实工作环境应用程序时开始。在其它实施方式中,过程500可以在用户激活人工现实工作环境应用程序内的设置或校准过程时开始。
135.在框502处,过程500可以通过识别真实世界办公桌的轮廓来开始建立办公桌空间,该办公桌空间将链接到该真实世界办公桌。在一些实施方式中,可以由用户手动指定办公桌高度轮廓,例如,可以由用户通过如下方式手动指定办公桌高度轮廓:将其手(xr设备正在跟踪该手)放置在办公桌表面上或将被跟踪的控制器(例如,控制器270)放置在办公桌表面上来指定该办公桌的顶部高度。用户还可以用其手、控制器、或从其手/或控制器投射的光线,来跟踪真实世界办公桌上的区域或多个标记区域拐角(例如,当xr设备处于透传模式使得用户可以看到真实世界办公桌时)。在一些实施方式中,过程500可以自动识别多张办公桌轮廓中的一些或全部,例如通过如下方式来自动识别多张办公桌轮廓中的一些或全部:采用计算机视觉(例如,使用常规摄像头和/或深度摄像头)来识别平坦表面及其高度;和/或使用为放置在真实世界办公桌上的被跟踪对象(例如,被跟踪键盘、被跟踪鼠标、被跟踪控制器等)确定的高度。
136.在框504处,过程500可以确定真实世界办公桌上的专用空间。与办公桌轮廓一样,可以由用户手动设置该专用空间(例如,通过使用用户的手或控制器在办公桌的顶部上限定矩形)或者可以自动设置该专用空间(例如,通过使用计算机视觉来识别办公桌上具有足够尺寸的开放区域)。在一些实施方式中,可以相对于被跟踪键盘或其它被跟踪设备在真实世界办公桌上的位置,来确定自动识别的专用空间。在一些实施方式中,设置人工现实工作环境可能会要求最低限度量的办公桌空间,并且如果指定的专用空间不够大,则可以发出警告。以下关于图6a提供了用户在其物理办公桌上指定专用空间的示例。
137.在框506处,过程500可以识别真实世界办公桌上的真实世界对象。在一些情况下,真实世界对象可以是被跟踪对象,例如键盘、鼠标、笔记本电脑、或其它“已登记”对象。例如,各种对象制造商或xr设备所有者可以对待被xr设备识别的特定对象进行登记,这可以允许xr设备识别和跟踪所述对象的位置。可以使用用于对象识别的计算机视觉技术来识别已登记的对象,和/或已登记的对象可以应用有特定图案,以使对所述已登记的对象的识别和跟踪更准确。作为更具体的示例,可以将咖啡杯登记在xr系统,并且该咖啡杯应用有特定设计。一些具有输出能力的被跟踪的对象(例如,笔记本电脑或发光键盘(例如,按键背光或键盘上显示(on-keyboard display)))可以被配置为在被xr设备跟踪时输出特定光图案,xr设备可以识别该特定光图案以提高跟踪准确度。作为另一示例,过程500可以跟踪咖啡杯的位置,可以包括该咖啡杯在人工现实工作环境中的表示,并且可以在用户的手接近该咖
啡杯时在该咖啡杯附近实现选择性透传,以允许用户在无需取下其xr设备的情况下,容易地抓住该咖啡杯,喝一口,并将该咖啡杯放回原处。在一些实施方式中,用户计算机上的应用程序可以向xr设备发送键盘标识符,或者xr设备可以从所采集到的图像中识别键盘类型,从而允许xr设备在人工现实工作环境中在被跟踪的真实世界键盘位置处,渲染相应的键盘模型。
138.在一些实施方式中,可以要求专用空间是空的,或者可以要求专用空间仅包括预指定的对象(例如,被跟踪键盘),并且如果指定的专用空间包含其它对象,则过程500可以发出警告,例如,如下的警告:这种其他对象在处于人工现实工作环境中时可能会干扰移动。在一些实施方式中,过程500可以连续地监测其它对象的入侵(例如,你的宠物是否进入专用空间),并且当检测到其他对象的入侵时发出警告。在一些实施方式中,可以向用户提供在开始之前清理其办公桌区域的通知,而无需主动检测在专用空间中是否存在对象。
139.在框508处,过程500可以相对于在框504处识别的专用空间来设置xr锚点。xr锚点可以是专用空间内用于特定对应内容项目的特定位置。例如,可以针对用户的计算机屏幕的流式传输版本设置屏幕锚点;可以针对待放置在专用空间周围的各种ui控件设置锚点;可以将各种网格或表面图案应用于专用空间,以确定当将内容项目添加到人工现实工作环境时该内容项目将出现的位置等。在一些实施方式中,可以最初将xr锚点设置在默认位置,并且可以由用户将所述xr锚点更新到新的期望位置。
140.在框510处,过程500可以相对于在框508处设置的锚点,将自动内容添加到人工现实工作环境中。自动内容可以包括:在框506处识别的被跟踪对象(例如,键盘、鼠标、杯等)的表示;计算机屏幕,如果用户尚未授权将其计算机屏幕流式传输到人工现实工作环境中,则该计算机屏幕可以是空白的(在一些实施方式中,直到用户激活用于将其屏幕流式传输到人工现实工作环境中的控件,才显示该屏幕);和/或针对人工现实工作环境而选择的内容项目(参见图19,要么自动或要么手动)。在框510处,过程500还可以将附加控件和通知区域显示在对应的xr锚点处,附加控件和通知区域例如为,信息栏(例如,显示当前时间、会议剩余时间、会议名称等)或用于以下内容的控件:在多个人工现实工作环境区域之间进行切换、改变房间配置、开始将用户计算机屏幕流式传输到人工现实工作环境中、开启透传;会议选项卡(显示有关会议和会议室的当前信息,例如与会者、会议描述、和用于改变会议室布局的按钮和退出会议室的按钮);共享屏幕控件(显示正被共享到当前会议的任何屏幕的本地副本);设置或用户资料控件(例如,允许用户看和改变其化身,并且允许用户配置其它设置,例如重新校准办公桌高度或白板出现在白板区域中的位置,或选择待跟踪的键盘类型);静音/解除静音控件;在多个区域之间移动的控件(例如,选择不同的座位或移动到白板区域);将办公桌专用空间镜像到白板的控件等。以下关于图6b和图20提供了根据xr锚点在办公桌空间中添加的自动内容的示例。
141.在框512处,过程500可以为xr白板设置真实世界空间,该真实世界空间与办公桌区域在物理上分开。用户可以从其办公桌周围的物理区域中选择白板空间。该白板空间可以具有指定的占用空间(例如,1.5米
×
2米),并且过程500可以指示用户清除其它对象的空间。在一些情况下,在没有足够的空间的情况下、或者在所选择的空间具有可危及用户的对象的情况下,过程500可以警告用户。在一些实施方式中,用户可以建立彼此相邻的多个这样的白板空间。这可以允许用户在多个区域之间移动,以使用大的虚拟白板或不同的白板,
从而使用户在人工现实工作环境中的化身保持集中在这些区域中的一个区域,而不必采用用于细粒度用户位置跟踪的处理。在一些实施方式中,白板空间必须与墙壁或其它平坦的竖直表面相邻,从而允许用户在人工现实工作环境中具有如下的物理服务:在白板上出现书写的位置进行书写。在其它实施方式中,在不具有供用户书写的物理表面的情况下,用户可以指定靠近人工现实工作环境中的所指定的白板区域的虚拟平面,其中该白板将出现在该所指定的白板区域中。在一些实施方式中,白板空间可以与多个虚拟白板相关联,可以激活这些虚拟白板或在这些虚拟白板之间转换以便于不同的对话。例如,不同的项目可以各自具有一专用白板,或者各团队可以具有一共享团队白板。
142.在各种实施方式中,用户可以通过如下方式在其办公桌区域和白板区域之间切换:激活控件;和/或站起来并在对应的真实世界区域之间物理地移动。以下关于图16论述了关于在办公桌区域和白板区域之间转移的附加细节。在一些情况下,如果用户站起来或将视线从如下项移开:专用空间、和/或用户的虚拟计算机屏幕、或人工现实工作环境中的其他虚拟对象(例如,正在演示的另一用户或白板),则xr设备可以激活透传模式。
143.图6a和图6b是示出了对链接到一个或多个真实世界表面的人工现实工作环境进行创建的示例的概念图。图6a是示出了xr工作系统的示例600的概念图,该xr工作系统接收来自用户的如下输入:该输入指定该用户的物理办公桌608上的专用空间602。xr工作系统通过如下方式来实现这一点:监测用户的手部位置以限定拐角604和606。用户设置这些拐角以指定一方形的专用空间,并将该专用空间放置在用户办公桌表面的高度处。图6b是示出了计算机屏幕652、控件和通知栏654、656和658、以及mr键盘的示例650的概念图,该计算机屏幕652、控件和通知栏654、656和658、以及mr键盘已经根据xr锚点而被添加到办公桌空间中。一旦指定了专用空间602,就设置用于屏幕652以及控件和通知栏654、656和658的初始默认锚点,同时根据用户的真实世界键盘的跟踪位置来设置用于mr键盘660的锚点(在这种情况下,在图6a和图6b之间的时间内,用户已将该mr键盘移动到专用空间的一侧)。
144.图7是示出了对链接到多个真实世界空间的人工现实工作环境进行创建的示例700的概念图。图7包括办公桌区域702和白板区域712。用户714可以在多个真实世界区域之间移动,以移动到对应的所链接的人工现实工作环境区域中,从而执行针对那些区域而指定的动作。办公桌区域702包括专用空间704,该专用空间显示了诸如内容项目706等内容项目。在站起来并移动到白板区域712时,白板708是活动的(active),正从专用空间704镜像这些内容项目(包括内容项目706)。用户714可以选择其它可用白板(例如,白板708)来与之交互,所述其他可用白板是如下的团队白板:该团队白板包括从团队工作组自动填充的内容项目(未示出)。
145.图8是示出了在本技术一些实施方式中使用的如下过程800的流程图:将用户的计算机屏幕流式传输到人工现实工作环境中。过程800可以由用户在其处于人工现实工作环境中时激活控件来开启,或者在用户戴上xr设备之前通过激活安装在用户计算机上的应用程序中的控件来开启。
146.在框802处,过程800可以获取对将用户的计算机屏幕流式传输到人工现实工作环境中的授权。当过程800响应于安装在用户的计算机上的应用程序中的控件而被执行时,可以基于该动作或通过在用户的计算机屏幕上提供给用户的通知,来自动做出授权。当过程800响应于从人工现实工作环境内部激活的控件而被执行时,在无需用户移除其xr设备的
情况下、通过用户的计算机获得授权可能是有益的。这可以通过以下方式实现:响应于在人工现实工作环境中激活计算机屏幕流式传输控件,向安装在用户的计算机上的应用程序发送请求。随后,用户计算机上的应用程序可以在用户的对授权进行请求的计算机的前景中显示授权消息,其中可以利用单个键盘命令(例如,按下回车键)来批准授权。还可以在人工现实工作环境中呈现如下的通知:该通知指示用户在其mr键盘上按下回车键。用户可以将其手朝向人工现实工作环境中所显示的键盘模型移动(这也会将其手放在其真实世界键盘上)并按下授权命令(回车键)。以下关于图9a和图9b提供了在无需退出人工现实工作环境的情况下对计算机屏幕流式传输提供授权的示例。
147.在框804处,过程800可以接收来自用户的计算机的输出流。在一些实施方式中,针对快速的流式传输能力,xr设备和用户计算机之间的连接可以使用直接连接(例如,蓝牙)或局部无线网络。在其它情况下,可以由服务器系统(例如,通过互联网)来促进该流。在一些实施方式中,可以使用rtc流式传输来执行该流式传输。在各种实施方式中,流式传输可以是对以下内容的流式传输:用户的计算机屏幕的视频、xr设备可用来重建计算机屏幕的多个部分的内容、或者该屏幕的指定部分(例如,待显示的特定窗口或待显示的应用程序)。在一些情况下,用户计算机上的应用程序可以为多个所选择部分中的每个所选择部分提供多个流,例如为如下项提供单独的流:用户选择流式传输到人工现实工作环境中的不同应用程序中的每个应用程序。
148.在一些情况下,计算机上的应用程序可以告知计算机连接了多个监视器,从而使得计算机启用多监视器模式,并且该应用程序可以将每个监视器的内容流式传输到人工现实工作环境中。计算机上的应用程序还可以告知计算机将创建什么类型的虚拟显示器,从而例如改变该虚拟显示器的分辨率、大小、刷新率、尺寸等,即使这些参数不同于计算机正提供给真实世界显示器的输出。在一些情况下,该应用程序可以获取真实世界笔记本电脑屏幕的角度,该应用程序可以将该角度提供给xr设备,从而允许xr设备在人工现实工作环境中以相同的角度显示经流式传输的用户屏幕。
149.在一些实施方式中,应用程序可以与该流的剩余部分分开地且更频繁地报告用户的鼠标在屏幕上的位置。这允许过程800在经流式传输的内容中隐藏鼠标,并通过流在单独指示的位置处渲染更具响应性的鼠标。
150.在框806处,过程800可以基于框804处的流来显示计算机输出。该输出可以显示在如下的一个或多个xr锚点处:该一个或多个xr锚点被指定用于显示用户屏幕。在一些实施方式中,用户可以将这些锚点移动到新的期望位置。在一些情况下,用户可以在其人工现实工作环境中建立多个屏幕,这些屏幕可以显示该流的镜像副本或该流的不同部分。例如,用户可以指定如何将接收到的流划分成多个屏幕,用户可以在人工现实工作环境内以他们喜欢的方式定位这些屏幕。过程800还可以调整所传入的流的大小或形式,以适配放置在人工现实工作环境中的虚拟屏幕。
151.图9a和图9b是示出了在vr中获取对将计算机屏幕流式传输到人工现实工作环境中的授权的示例的概念图。图9a是示出了为获取对将计算机屏幕流式传输到人工现实工作环境中的授权而在人工现实工作环境中发生的情况的示例900的概念图。示例900在如下动作之后开始:用户在处于人工现实工作环境中时,激活用于请求将其屏幕流式传输到人工现实工作环境中的控件。显示了一带有消息902的空白屏幕,该消息告知用户按下其mr键盘
906上的回车键,以授权将其计算机屏幕流式传输到人工现实工作环境中。用户将其手904放置在其mr键盘906上(这会将其手转换为键盘透传模式-在示例900中,虚线908指示如下区域:在该区域中,用户的手的摄像头馈送被覆盖在虚拟环境上,使得用户可以看到其真实的手在该区域内的图像),该用户利用其手按下其键盘上的回车键。图9b是示出了为获取对将计算机屏幕流式传输到人工现实工作环境中的授权而在真实世界计算机上发生的情况的示例950的概念图。在用户处于人工现实工作环境中时、激活用于将其屏幕流式传输到人工现实工作环境中的控件之后,示例950也开始。计算机上的应用程序使得对话框952呈现在计算机的前景中,从而请求授权将屏幕流式传输到人工现实工作环境中。对话框952包括“ok”按钮,可以通过按下用户的键盘上的回车键来激活该“ok”按钮,以授权流式传输。用户在无需取下其xr设备的情况下,按下其键盘上的回车键按钮956来授权流式传输。
152.图10是示出了在本技术一些实施方式中使用的如下过程1000的流程图:在包括手势手部状态和键盘透传手部状态的手部状态之间切换。过程1000可以在用户进入人工现实工作环境时可用,并且可以根据所监测到的用户手部的位置来触发(在框1002处)该过程。在框1002处,过程1000可以检测用户手部的位置处于距mr键盘的阈值距离(例如,四英寸)内。
153.在框1004处,过程1000可以识别用户手部的轮廓。例如,可以使用机器视觉技术来持续确定用户手部的虚拟模型,以例如识别手部轮廓、手部形状、手部位置等。在框1006处,过程1000可以针对手部轮廓内部的区域(并且在一些情况下,手部轮廓周围一设定量的区域)启用透传。这允许用户在人工现实工作环境中时仅看到其手部的真实世界版本,这提供了相对于mr键盘的更精确的移动,从而允许用户在停留在人工现实工作环境中时以自然和无缝的方式使用其键盘。以下关于图11提供了显示用户手部处于键盘透传模式的示例。
154.过程1000继续监测用户手部位置和轮廓,并且针对经更新的手部轮廓继续并保持启用透传,直到在框1008处确定用户手部位置距mr键盘超出了阈值距离。此时,过程1000在框1010处关闭透传模式,并返回到使用户手部显示为用户手部的全功能化身版本(即,处于手势模式)。
155.图11是示出了使用键盘透传手部状态来促进键盘输入的示例1100的概念图。在用户将其手移动到距键盘1104的阈值距离内之后,键盘透传手部状态被激活。在该模式中,xr工作系统跟踪用户两个手部1102的轮廓,并且在这些轮廓内部和周围开启透传,从而允许用户在人工现实工作环境中的键盘上看到其真实世界的手。在示例1100中,虚线1106指示如下区域:在该区域中,用户手部的摄像头馈送被覆盖在虚拟环境上,使得用户可以看到其真实的手在该区域内的图像。这在用户停留在人工现实工作环境中时,为用户提供了与其真实世界的键盘交互时的细粒度控制。
156.图12是示出了在本技术一些实施方式中使用的如下过程1200的流程图:在包括手势手部状态和重影交互式手部状态的多个手部状态之间切换。过程1200在用户进入人工现实工作环境时可用,并且可以根据所监测到的用户手部的位置来触发(在框1202处)该过程。在框1202处,过程1200可以检测到用户手部的位置在距交互式对象的阈值距离(例如,10英寸)内。交互式对象是如下的任何对象:用户可利用该对象,例如通过选择该对象、移动该对象、激活该对象上的控件等来产生某种效果。在一些实施方式中,可以提供视觉启示,以在用户接近可操纵的对象时向用户指示。例如,当用户的手接近交互式对象时,用户的手
可以从正常的全功能手势模式渐变到不透明的重影模式。以下关于图13a至图13c提供了当用户的手接近对象时从正常手势模式转换到重影模式的示例。
157.在框1206处,过程1200可以启用重影交互式模式。在该模式中,用户可以与人工现实工作环境中的对象交互。在一些实施方式中,在这种模式下,可以从用户手部处投射光线,从而允许用户在无需足够接近以实际触摸对象的情况下、与所述对象进行交互。
158.过程1200继续监侧用户手部位置,直到在框1208处确定该位置距所有交互式对象超出了阈值距离。此时,过程1200在框1210处返回到使用户手部显示为用户手部的全功能化身版本(即,处于手势模式)。
159.图13a至图13c是示出了从手势手部状态转换到重影交互式手部状态的示例的概念图。图13a是示出了从手势手部状态转换到重影交互式手部状态的示例的概念图,其中用户的手1302仍然处于手势模式。图13a中的虚线指示用户的手处于手势模式—例如,用户的手被显示为具有肌肉纹理的手部模型。图13b是示出了从手势手部状态转换到重影交互式手部状态的示例的概念图,其中用户的手1302仍然处于手势模式(如虚线所指示的),但应用了视觉启示(在该示例中被显示为阴影)来向用户指示:用户正在接近交互式对象1342,这在用户的手变得更近的时候,将用户的手转换到重影交互式手部状态。图13c是示出了从手势模式转换到重影交互式手部状态(这里由用虚线显示的手来指示)的示例的概念图,其中用户的手1302处于距交互式对象1342的阈值距离内,并因此已转换到重影交互式手部状态。在重影交互式手部状态中,用户的手1302可以与交互式对象1342交互并投射光线1372,用户可将该光线导向交互式对象1342以与该交互式对象进行进一步交互。在一些实施方式中,可以通过以灰色阴影显示用户的手和/或将用户的手显示为部分透明,来示出重影交互式手部状态。
160.图14是示出了在本技术一些实施方式中使用的如下过程1400的流程图:在人工现实工作环境中,在真实世界表面上使用物理控制器(例如,控制器270)作为书写工具。过程1400可以在用户进入人工现实工作环境时可用,并且可以根据所监测到的控制器位置和方位来触发(在框1402处)该过程。在框1402处,过程1400可以检测到控制器从正常模式重新定位到书写模式。例如,这些模式可以根据以下内容来确定:控制器上的按钮的方向、控制器的倾斜度、所监测到的用户的手相对于控制器的位置、以及控制器的尖端距用户办公桌上的专用空间有多近。例如,当控制器倾斜度高于阈值并且用户的手指定位在按钮上方时,可以指示正常模式,而当倾斜度低于阈值并且控制器的尖端在距办公桌表面的阈值(例如,3英寸)内时,可以检测到书写模式。以下论述的图15a至图15c示出了用户以正常模式握持控制器与以书写模式握持控制器之间的变化的示例。
161.在框1404处,过程1400可以执行校准,以识别或改进用户办公桌上的专用空间的表面高度。这可以包括:指示用户保持控制器尖端与表面接触并画圆圈。使用来自控制器的如下遥测技术:该遥测技术可精准确定控制器尖端的位置,尖端的高度以用户画圆圈时的多个点确定。过程1400可以将这些点拟合到限定表面高度的虚拟平面。以下论述的图15d示出了对表面高度进行改进的示例校准过程。在一些情况下,可以跳过框1404—例如,如果最近在阈值时间量(例如,10分钟)内执行了校准。
162.在框1406处,过程1400可以监测控制器位置和方位数据。也可以在控制器重新定位(框1402)和/或校准(框1404)期间执行框1406的版本。该数据可以用于确定控制器的尖
端(例如,图2c中的尖端276)的确切位置。该数据可以基于来自控制器的imu数据、所跟踪的由控制器发射的光、xr设备上的摄像头或跟踪控制器的位置的外部摄像头等。
163.在框1408处,过程1400可以确定控制器的尖端是否正在触碰办公桌的表面。在各种实施方式中,该确定可以基于以下中的一者或多者:在框1406处所确定的相对于经校准的表面高度的位置数据、尖端的位置是否正停留在一贯的平面上(例如,未正按压硬表面的用户在其移动控制器时,不太可能维持一贯的平面)、控制器是否检测到同控制器与表面接触相对应的振动、或者是否存在与控制器被拖着经过表面一致的振动模式。在一些实施方式中,控制器尖端可以配备有硬件压力传感器,该硬件压力传感器可以向系统指示控制器尖端是否正被压在一表面上(以及挤压力度,该挤压力度可以改变系统分配给描画运动的饱和状态)。如果过程1400确定控制器没有触碰该表面,则该过程返回到框1406以继续监测控制器位置。如果过程1400确定控制器正在触碰该表面,则该过程继续到框1410。
164.在框1410处,过程1400可以基于所确定的被跟踪控制器的尖端位置,来添加描画数据(drawing data)。该描画数据可以被添加到任何数量的文档、表面或模型,这取决于用户正在书写的办公桌表面上的内容。例如,如果在办公桌表面上没有呈现文档,则描画数据可以被保存为待在办公桌表面上显示的笔记,而如果在用户正在书写的办公桌表面上呈现有文档,则描画数据可以被添加到该文档。
165.在框1412处,过程1400可以基于用户正在描画时所确定的控制器的尖端位置,来更新表面高度的位置。随着用户继续描画,可以针对控制器尖端的位置跟踪多个点,并且类似于在框1404中的校准步骤,可以将这些点拟合到平面以改进该表面高度。这种对表面高度的连续调整有助于防止虚拟对象在人工现实环境中可能发生的漂移。
166.图15a至图15e是示出了在人工现实工作环境中转换到使用物理控制器作为书写工具的示例的概念图。图15a是示出了如在真实世界中所示的正常握持控制器的示例1500的概念图。在示例1500中,控制器1502被以一定角度握持在用户的手1504中,其中用户的拇指在控制器的一个按钮区域1508上。控制器尖端1506也正面向用户。图15b是示出了如在人工现实工作环境中所示的正常握持控制器的示例1520的概念图。虚拟控制器1522被示出为以与示例1500相匹配的方式握持—其中用户的虚拟手1524以控制器尖端1526也面向用户的角度握持该虚拟控制器1522。
167.图15c是示出了如在真实世界中所示的将控制器作为书写工具握持的示例1540的概念图。在示例1540中,控制器1502比在示例1500中更竖直地握持在用户的手1504中,其中用户将控制器1506的尖端保持在其拇指与一个或多个手指之间,其中尖端面向下。
168.图15d是示出了如在人工现实工作环境中所示的将控制器作为书写工具握持的示例1560的概念图。在示例1560中,响应于系统识别出控制器正作为书写工具被握持,虚拟控制器被显示为用户的虚拟手1524中的书写工具/书写用具(writing implement)1562。为了校准供书写工具使用的办公桌表面,xr工作系统指示用户用书写工具尖端1566画圆圈1564。图15e是示出了在人工现实工作环境中使用控制器作为书写工具1562以通过如下方式来创建描画1582的示例1580的概念图:在办公桌表面上在专用空间中拖动控制器尖端1506。在一些情况下,这种书写可以通过使控制器(或另一书写工具或用户的手)与物理办公桌表面接触来执行;而在其它情况下,书写可以通过使控制器(或另一书写工具或用户的手)与在人工现实环境中的空中定义的虚拟平面相交来执行。
169.图16是示出了在本技术一些实施方式中使用的如下过程1600的流程图:在人工现实工作环境中在所指定的办公桌区域和白板区域之间转移。过程1600可以在用户进入人工现实工作环境时可用,并且可以根据位置切换触发来触发(在框1602处)该过程。在框1602处,当用户处于第一输入位置时,过程1600可以检测位置切换触发。在各种某些实施方式中,位置切换触发可以是用户对控件的激活,例如通过按压控制器或hmd上的控制键或激活在人工现实工作环境中可用的软控件。在一些情况下,过程1600可以自动检测位置切换触发,例如当用户从其办公桌站起来、或至少部分离开指定区域(例如,离开指定的白板空间、离开指定的办公桌区域、将其头置于这些区域中的一个区域之外等)时。可以基于xr设备的所监测位置和/或高度跟踪,来检测这种触发。以上关于图7论述了关于多个输入位置的附加细节,该多个输入位置包括办公桌区域和白板区域。
170.在框1604处,过程1600可以开启透传。在这种情况下,该透传向用户提供了对用户外部环境的观察,以用于在多个物理位置之间导航。这可以包括仅显示物理环境,或者这可以包括具有某些覆盖物的物理环境,该某些覆盖物例如为将用户从其先前输入位置引导到其另一输入位置(例如,从办公桌区域到白板区域、或从白板区域到办公桌区域)的箭头。在一些情况下,透传上的另一覆盖物可以包括对在第二输入位置正在发生什么的指示,例如显示第二输入位置的部分不透明版本。这可以允许用户在其不会在另一个用户之上的位置(特别是在共享第二输入位置的地方,例如白板区域)处,进入第二输入位置。
171.在框1606处,当用户在多个输入区域之间移动时,过程1600可以跟踪用户在真实世界中的位置。这可以包括对用户的典型的6dof移动跟踪;例如通过监测由xr设备发射的结构光的飞行时间结果,并且例如使用同步定位与地图构建(simultaneous localization and mapping,slam)系统来映射位置数据,来进行对用户的典型的6dof移动跟踪。在一些实施方式中,当用户在第一输入位置和第二输入位置之间的转移途中或者也不在任一输入位置时,可以将视觉效果应用于用户,以供共享人工显示工作环境的其他用户观看。例如,可以将用户的化身进行模糊处理或给予用户的化身“隐形传送”效应,以表示用户当前不在输入区域中。在一些情况下,在人工现实工作环境中,也可以将用户的化身显示为在用户的办公桌区域和白板区域之间移动。这可以包括:监测用户在真实世界中的这两个区域之间的行进(例如,确定在这两个区域之间行进的距离的百分比),并且在房间配置中的这两个虚拟区域之间的相同百分比距离处呈现用户的化身,即使在人工现实工作环境中的距离不同于用户在真实世界中的距离时。
172.在1608处,过程1600可以确定用户是否已到达第二输入位置。如果没有,则过程1600通过返回到框1606来继续跟踪用户的真实世界位置。如果用户返回到第一输入位置,则过程1600可以关闭透传并结束。如果用户到达第二输入位置,则过程1600可以继续到框1610。
173.在框1610处,过程1600可以关闭透传,从而使用户返回到沉浸式人工现实工作环境。如果在多个输入位置之间的转移期间用户的化身显示有效果,则关闭该效果,从而使用户的化身返回到正常。在框1612处,过程1600可以启用第二输入位置的输入模式。例如,如果第一输入位置是办公桌区域,而第二输入位置是白板区域,则用户的化身可以处于白板区域的中心,并且能够在白板上书写。作为另一示例,如果第一输入位置是白板区域,而第二输入位置是办公桌区域,则用户的化身可以被显示为坐在其办公桌处,并且能够与其办
公桌的专用空间和该办公桌上的被跟踪的对象交互。
174.图17是示出了本技术一些实施方式中使用的如下过程1700的流程图:将不同用户的多个人工现实办公桌空间组合在房间配置中。过程700可以响应于多个用户加入同一人工现实工作环境而开始。在框1702处,过程1700可以识别多个办公桌单元,该多个办公桌单元与已加入同一人工现实工作环境的多个用户相对应。
175.在框1704处,过程1700可以选择房间配置。在各种实施方式中,可用的房间配置可以包括以下中的一者或多者:会议桌配置(参见以下论述的图18a)、一组办公桌配置(参见以下论述的图18b)、演示配置(参见以下论述的图18c)、或具有镜像工作空间配置的单张办公桌(参见以下论述的图18d)。
176.在一些情况下,对房间配置的选择可以响应于用户从多个可用配置中的手动选择。在其它情况下,房间配置选择可以是自动的。例如,当用户书写超过共享白板的阈值量时,可以自动选择演示模式。作为另一示例,当用户激活另一应用程序中的演示状态(例如,进入幻灯片的演示模式、成为视频聊天应用程序中的演示者等)时,可以自动选择演示模式。作为另一示例,可以基于在公共语音聊天通道上的说话者语音的变化来选择演示模式,例如,当用户将她的语音提高到特定水平之上时,启用演示模式。在又一示例中,当具有特定偏好或特定用户类型的用户进入人工现实工作环境时,可以启用演示模式,例如,当被指示为专门小组成员或教授的用户进入人工现实工作环境时,所述用户可以被选择为演示者,并且演示模式被选择。在一些情况下,可以使用机器学习模型来选择当前房间配置,其中该模型的输入可以是诸如如下项等要素:人工现实工作环境中的参与者的数量、人工现实工作环境多个参与者之间的对话的内容、共享文档的内容等。该模型可以被训练为基于训练数据来选择房间配置,该训练数据将这些类型的输入与先前用户对房间配置的手动选择配对。
177.如本文所使用的“模型”是指如下的构造:该构造是使用训练数据来训练的,以对多个新的数据项进行预测或提供概率,无论这些新的数据项是否被包括在该训练数据中。例如,用于监督学习的训练数据可以包括如下的多个项:该多个项具有各种参数和一指定分类。新的数据项可以具有如下的参数:模型可使用所述参数来为该新的数据项分配分类。作为另一示例,模型可以是从对训练数据的分析中得到的概率分布,例如基于对来自给定语言的大语料库的分析,n元语法在该语言中出现的可能性。模型的示例包括:神经网络、支持向量机、决策树、帕曾(parzen)窗口、贝叶斯、聚类、强化学习、概率分布、决策树、和决策树森林等。
178.在一些实施方式中,人工现实工作环境的所有参与者可以看到相同的房间配置,而在其它实施方式中,不同的参与者可以选择不同的房间配置,以看到参与者的办公桌的不同布局。
179.在框1706处,过程1700可以根据在框1704所选择的房间配置来布置多个办公桌单元。在一些实施方式中,所选择的房间配置可以是动态的,以适应不同数量的参与者,使得可以根据参与者的数量来调整房间大小和房间配置。此外,随着另外的参与者加入或离开房间,房间可以自动调整其大小和配置。在一些情况下,当参与者被添加到人工现实工作环境中时,办公桌配置和房间大小可以增长,但是当参与者离开时,该房间不会缩小并且办公桌被显示为空的。在一些实施方式中,在房间配置具有空办公桌空间的情况下,用户可以选
择空办公桌空间并且将其化身传送到该空间。
180.为了减少在房间配置随着单独的参与者的加入而改变时可能导致的迷失方向,房间和办公桌配置可以按特定的阈值水平增加多张办公桌。例如,房间最初可以被配置为四张办公桌,并且当第五个人进入人工现实工作环境时,可以添加第五个参与者的办公桌和尚未确定的第六个参与者的开放式办公桌。此外,一旦添加了第六个参与者和第七个参与者,就可以添加第七到第十个参与者的开放式办公桌。该过程可以继续在需要额外的办公桌时,以指数方式添加额外的参与者,或者一旦达到设定水平(例如,一次添加五张新的空办公桌),这个数量的空办公桌就可以在每次需要额外的办公桌时添加。
181.图18a至图18d是示出了多桌房间配置的示例的概念图。图18a是示出了会议室配置中的多张办公桌的示例1800的概念图。示例1800示出了办公桌1802至1818,其中,这些办公桌已经加入到无缝会议室桌子中。图18b是示出了一组办公桌房间配置的示例1830的概念图。示例1830示出了办公桌1832至1838,其中,这些办公桌已经被布置成一组(在该情况下为方形,但是也可以使用其它布置)。在各种实施方式中,该组可具有各种特征,例如办公桌之间的分隔物。图18c是示出了演示室配置的示例1860的概念图。示例1860示出了多排的办公桌1862至1866(在该情况下多张办公桌连接成桌子,但可以是单独的办公桌或其它布置),其中多张办公桌已经被布置成面向演示者,在这种情况下面向白板区域1868。图18d是示出了镜像的工作空间房间配置的示例1880的概念图。在示例1880中,存在多张办公桌,该多张办公桌被单独地显示或者被显示在其它多个房间配置中的一个房间配置中。然而,这些办公桌中的各张办公桌的指定区域1882已经被相关联,因此这些指定区域显示相同的内容。在示例1880中,一用户正在将内容1884写到该指定区域,而另一用户正在将内容1886写到其指定区域。这两个用户都在其办公桌上看到内容1884和1886这两者。
182.图19是示出了在本技术一些实施方式中使用的如下过程1900的流程图:基于先前交互的上下文(context),自动向人工现实工作环境添加内容项目和用户。在一些实施方式中,过程1900可以响应于如在框1902处检测到的用户进入人工现实工作环境来执行。例如,这可以发生在用户戴上xr设备时,或者发生在用户在其xr设备上打开用于人工现实工作环境的应用程序时。
183.在框1904处,过程1900可以根据用户的先前交互来确定上下文。在各种实施方式中,上下文可以来自其它设备(例如,用户的计算机、电话或另一通信设备(例如,视频通话设备))上的先前交互。在一些情况下,上下文可以基于如下的线程:用户在进入人工现实工作环境之前,参与该线程达阈值时间量(例如,五分钟)。“线程”可以是涉及多个参与者的任何通信,例如聊天应用程序、电子邮件、视频通话、打电话、文本消息、工作组、社交媒体帖子、团队文件夹、云存储空间等。在各种实施方式中,上下文可以包括:作为线程的一部分的用户标识、在线程上共享的内容项目、和/或在线程中的对话内容。在一些情况下,上下文可以包括用户在进入人工现实工作环境之前在阈值时间(例如,十分钟)内正在做什么(无论是否在线程中)的指示。例如,这可以包括对用户已经打开内容项目的指示、或者对至少交互阈值次数或交互达阈值时间量的内容项目的指示。
184.在框1906处,过程1900可以自动填充人工现实工作环境。在一些情况下,在每个用户戴上其xr设备时,来自框1904的上下文可以用于自动将在该上下文中识别的用户添加到同一人工现实工作环境。这也可以包括:为在上下文中识别出的人自动设置人工现实工作
环境访问许可。在一些实施方式中,来自框1904的上下文可以用于将所识别的内容项目自动添加到人工现实工作环境(例如,添加已在线程中共享的内容项目、线程讨论的历史的表示、用户正在工作的内容项目等)。在各种实施方式中,人工现实工作环境中的哪些用户可以最初看到这些内容项可以基于在进入人工现实工作环境之前谁可以访问这些内容项目。例如,共享给线程的内容项目可以显示给该线程的所有参与者,而特定用户在进入人工现实工作环境之前访问的内容项目可以仅显示给该用户,直到该用户提供向其它人工现实工作环境参与者共享该内容项目的指示。
185.在一些实施方式中,该线程的参与者可以被自动带入到人工现实工作环境中,即使在这些参与者没有使用xr设备时。例如,视频通话线程可以包括多个2d面板,每个2d面板显示来自尚未进入人工现实工作环境的视频通话参与者的多个馈送中的一个馈送。类似地,向线程提供纯音频内容(例如,语音通话)的参与者可以使其音频流式传输到与该线程相对应的人工现实工作环境中。
186.xr工作系统还可以提供如下机制:该机制允许用户容易地将内容项目从其其它设备移动到人工现实工作环境中。例如,用户计算机上的应用程序可以允许用户将内容项目拖动到控件上,这将使得这些内容项目出现在人工现实工作环境中。作为另一示例,用户可以使用虚拟助理来识别指定一内容项目的语音指令和使该内容项目在人工现实工作环境中可用的指令。在另一示例中,可以向各种应用程序添加控件(例如,作为扩展、插件等),该控件在被激活时,使得该应用程序中的当前内容项目在人工现实工作环境中可用。在又一示例中,在用户处于人工现实工作环境中并且正在将其计算机屏幕流式传输到人工现实工作环境中的情况下,用户可以执行如下的手势:该手势“抓取”计算机屏幕上所示的项目并且将项目拉入人工现实工作环境中,使得计算机将所抓取的内容项目提供给xr设备,以供在人工现实工作环境中显示。确定哪一项目被抓取和移动到人工现实工作环境中可以以与以下专利申请所描述的方式类似的方式来执行:于2019年10月23日提交的、代理案卷号为134875-8007.us01的第16/661,945号美国专利申请,该申请通过引用全部结合在本文中。以下关于图20中的示例描述了关于将内容项目添加到人工现实工作环境的附加细节。
187.图20是示出了添加到人工现实工作环境的自动填充内容的示例2000的概念图。示例2000包括正被流式传输到人工现实工作环境的计算机屏幕2006。计算机屏幕2006正在显示内容项目2002的文件,用户可以通过将任何一个内容项目拖动到“到vr”控件2004,来将内容项目移动到人工现实工作环境中。用户也可以通过触摸计算机屏幕2006并将一内容项目拉出而将这些内容项目中的任何内容项目带到人工现实工作环境中。在用户进入人工现实工作环境之前,该用户处于与其他用户的聊天线程中。在该聊天线程中,用户已共享项目大纲内容项目2010。此外,就在进入人工现实工作环境之前,用户正在其计算机上处理3d模型2008。xr工作系统识别用户进入人工现实工作环境的上下文,该上下文包括:内容项目2010在最近的线程中被共享、以及用户正在处理内容项目2008。一经进入人工现实工作环境,xr工作系统就自动将内容项目2008和2010带入人工现实工作环境中。将平面文档2010提供为用户的专用办公桌空间上的项目,并将3d模型2008提供为用户专用办公桌空间上方的3d对象。
188.第一实施例可以包括一种方法,该方法包括:建立至少两个虚拟区域,每个虚拟区域对应于一真实世界区域;以及通过以下方式提供与该至少两个虚拟区域相关的人工现实
环境:识别多个真实世界区域的一个真实世界区域中的真实世界办公桌的表面上的专用空间的高度,并且基于所识别的专用空间的高度,在该至少两个虚拟区域中的、与包括真实世界办公桌的真实世界区域相对应的一个虚拟区域中,设置虚拟办公桌的高度;或者通过以下方式在该至少两个虚拟区域中的第一虚拟区域与该至少两个虚拟区域中的第二虚拟区域之间转移:检测位置切换触发;启用透传模式,该透传模式在人工现实环境中呈现对真实世界的显示;检测到用户已到达该至少两个虚拟区域中的第二虚拟区域;以及关闭穿越模式。
189.在一些情况下,可以对第一实施例进行扩展,其中该方法包括:识别多个真实世界区域的一个真实世界区域中的真实世界办公桌的表面上的专用空间的高度,并且基于所识别的专用空间的高度,在至少两个虚拟区域中的一个虚拟区域中设置虚拟办公桌的高度,该一个虚拟区域与包括真实世界办公桌的真实世界区域相对应。
190.在一些情况下,可以利用第一扩展对第一实施例进行扩展,其中,该方法包括:在该至少两个虚拟区域中的第一虚拟区域与该至少两个虚拟区域中的第二虚拟区域之间进行转移,包括:检测位置切换触发、启用透传模式、检测到用户已到达该至少两个虚拟区域中的第二虚拟区域、以及关闭透传模式。
191.在一些情况下,可以利用第一扩展对第一实施例进行进一步扩展,其中,位置切换触发包括检测到用户已站起。
192.在一些情况下,可以利用第一扩展对第一实施例进行进一步扩展,其中,透传模式包括:在对真实世界的显示上,显示对该至少两个虚拟区域中的第二虚拟区域的至少一部分的覆盖。
193.在一些情况下,可以对第一实施例进行扩展,其中,该至少两个虚拟区域中的至少一个虚拟区域是白板区域;其中,白板区域包括多个白板单元,各个白板单元具有相同的指定尺寸;并且其中,用户在处于白板区域中时,可以激活命令或控件,以在无需沿真实世界中的经度或纬度方向移动的情况下,在该多个白板单元之间移动。
194.第二实施例可以包括计算机可读存储介质,该计算机可读存储介质存储有多个指令,这些指令在被计算系统执行时,使得计算系统执行包括以下的过程:建立至少两个虚拟区域,每个虚拟区域对应于一真实世界区域;以及通过以下方式来提供与该至少两个虚拟区域相关的人工现实环境:识别多个真实世界区域的一个真实世界区域中的真实世界办公桌的表面上的专用空间的高度;以及基于所识别的专用空间的高度,在该至少两个虚拟区域中的的一个虚拟区域中设置虚拟办公桌的高度,该一个虚拟区域与包括真实世界办公桌的真实世界区域相对应。
195.在一些情况下,可以对第二实施例进行扩展,其中,识别真实世界办公桌上的专用空间的高度是基于被跟踪键盘的经确定的竖直位置。
196.在一些情况下,可以对第二实施例进行扩展,其中,专用空间至少具有预定尺寸,并且该过程还包括:自动识别出真实世界办公桌上没有足够的开放空间来用于预定尺寸的专用空间;并且作为响应,警告用户在真实世界办公桌上留出可用的附加空间。
197.在一些情况下,可以对第二实施例进行进一步扩展,包括:与至少部分处于专用空间中的真实世界键盘配合;使真实世界键盘显示光图案;以及基于对该光图案进行识别来跟踪真实世界键盘。
198.在一些情况下,可以对第二实施例进行扩展,其中,该过程还包括:检测到用户的注意力集中在该至少两个虚拟区域中的当前虚拟区域的外部,该当前虚拟区域与用户所处的真实世界位置相对应;并且作为响应,自动启用透传模式,该透传模式在人工现实环境中呈现对真实世界的显示。
199.第三实施例可以包括一种计算系统,该计算系统包括:一个或多个处理器;以及一个或多个存储器,该一个或多个存储器存储有多个指令,这些指令在被该一个或多个处理器执行时,使得该计算系统执行包括以下的过程:建立至少两个虚拟区域,每个虚拟区域对应于一真实世界区域;提供与该至少两个虚拟区域相关的人工现实环境;以及通过以下方式使用户在该至少两个虚拟区域中的第一虚拟区域与该至少两个虚拟区域中的第二虚拟区域之间转移:检测位置切换触发;启用透传模式,该透传模式在人工现实环境中呈现对真实世界的显示;检测到所述用户已到达该至少两个虚拟区域中的第二虚拟区域;以及关闭透传模式。
200.在一些情况下,可以对第三实施例进行扩展,其中,该至少两个虚拟区域中的第二虚拟区域是白板区域,并且其中,该白板区域与多个白板相关联,每个白板与特定项目或团队相对应,并且各个白板可以被单独激活。
201.在一些情况下,可以对第三实施例进行扩展,其中,检测到用户已经到达该至少两个虚拟区域中的第二虚拟区域包括:检测到用户已从a)与该至少两个虚拟区域中的第一虚拟区域相对应的真实世界区域,移动到b)与该至少两个虚拟区域中的第二虚拟区域相对应的真实世界区域。
202.在一些情况下,可以利用第一扩展对第三实施例进行扩展,其中,该过程还包括:识别多个真实世界区域的一个真实世界区域中的真实世界办公桌的表面上的专用空间的高度;基于所识别的专用空间的高度,在该至少两个虚拟区域中的一个虚拟区域中设置虚拟办公桌的高度,该一个虚拟区域与包括真实世界办公桌的真实世界区域相对应;以及相对于该专用空间设置一个或多个锚点,其中,每个锚点被标识为人工现实环境中用于放置虚拟内容的一位置。
203.在一些情况下,可以利用第一扩展对第三实施例进行进一步扩展,其中,该过程还包括:接收真实世界计算机的显示器的流;以及在人工现实环境中,使用基于一个或多个锚点中的至少一个锚点的位置,来显示来自真实世界计算机的显示器的内容。
204.在一些情况下,可以对第三实施例进行扩展,其中,该至少两个虚拟区域中的至少一个虚拟区域是白板区域;其中,与该白板区域相对应的真实世界区域包括墙壁,其中,该墙壁的一部分与虚拟白板相关联;并且其中,用户与该墙壁的该部分的交互被解释为与该虚拟白板的交互。
205.在一些情况下,可以对第三实施例进行扩展,其中,该至少两个虚拟区域中的至少一个虚拟区域是白板区域;其中,与该白板区域相对应的真实世界区域包括空中的与该虚拟白板相关联的2d平面;并且其中,用户所做的与该2d平面相交的交互被解释为与该虚拟白板的交互。
206.在一些情况下,可以对第三实施例进行扩展,其中,透传模式包括方向覆盖,该方向覆盖指示了用户到达该至少两个虚拟区域中的第二虚拟区域的方向。
207.在一些情况下,可以对第三实施例进行扩展,其中,该至少两个虚拟区域中的第一
虚拟区域包括虚拟办公桌,该虚拟办公桌具有显示在该虚拟办公桌的表面上一个或多个内容项目;其中,该至少两个虚拟区域中的第二虚拟区域包括白板,并且其中,该过程还包括:响应于检测到用户已到达该至少两个虚拟区域中的第二虚拟区域,在该白板上自动显示来自虚拟办公桌的表面的一个或多个内容项目。
208.第四实施例可以包括一种方法,该方法包括:跟踪真实世界键盘的真实世界位置;在人工现实环境中的相对于真实世界位置的位置处生成3d键盘模型;确定用户的一只手或两只手处于距真实世界键盘的阈值距离内;识别用户的一只手或两只手的轮廓;以及启用手部透传模式,该手部透传模式在人工现实环境中呈现对真实世界中的与所识别的手部轮廓相对应的部分的显示。
209.在一些情况下,可以对第四实施例进行扩展,还包括:与真实世界键盘配合;以及使真实世界键盘显示光图案;其中,跟踪真实世界键盘的真实世界位置基于对该光图案进行识别。
210.在一些情况下,可以对第四实施例进行扩展,其中,该方法由xr设备执行,并且该方法还包括:与不同于xr设备的计算系统配合,真实世界键盘与该计算系统连接;以及接收来自该计算系统的真实世界键盘的类型的标识;其中,生成3d键盘模型是部分地通过选择与该真实世界键盘的类型相对应的3d模型来执行的。
211.在一些情况下,可以利用第一扩展对第四实施例进行扩展,还包括:识别真实世界办公桌的表面上的专用空间的高度;以及相对于该专用空间设置一个或多个锚点,其中,每个锚点被标识为人工现实环境中用于放置虚拟内容的一位置。
212.在一些情况下,可以利用第一扩展对第三实施例进行进一步扩展,还包括:接收真实世界计算机的显示器的流;以及在人工现实环境中,使用基于一个或多个锚点中的至少一个锚点的位置,显示来自真实世界计算机的显示内容;其中,与3d键盘模型相关的用户移动与对真实世界键盘的输入相对应,该输入被路由到真实世界计算机。
213.在一些情况下,可以对第四实施例进行扩展,其中,通过以下方式来执行识别用户的一只手或两只手的轮廓:监测描绘用户的一只手或两只手的所采集图像,以创建用户的一只手或两只手的虚拟模型;以及使用该模型来确定手部轮廓、手部形状、手部位置、或它们的任何组合中的一者或多者。
214.在一些情况下,可以对第四实施例进行扩展,其中,识别用户的一只手或两只手的轮廓包括:确定用户的一只手或两只手的一个或多个轮廓;并且其中,启用手部透传模式包括对真实世界的一部分的显示,真实世界的该部分是围绕用户的一只手或两只手的一个或多个经确定的轮廓的设定量。
215.在一些情况下,可以对第四实施例进行扩展,还包括:确定用户的一只手或两只手不再处于距真实世界键盘的阈值距离内;并且作为响应,关闭手部透传模式,关闭手部透传模式包括停止对真实世界的一部分的显示,以及显示用户的一只手或两只手的虚拟模型,该一只手或两只手的虚拟模型与该用户的一只手或两只手的一个或多个真实世界位置相对应。
216.第五实施例可以包括一种计算机可读存储介质,该计算机可读存储介质包括多个指令,这些指令在被计算系统执行时,使得该计算系统执行包括以下的过程:跟踪真实世界键盘的真实世界位置;在人工现实环境中的相对于真实世界位置的位置处生成3d键盘模
型;确定用户的一只手或两只手处于距真实世界键盘的阈值距离内;识别用户的一只手或两只手的轮廓;以及启用手部透传模式,该手部透传模式在人工现实环境中呈现对真实世界中的与所识别的手部轮廓相对应的部分的显示。
217.在一些情况下,可以对第五实施例进行扩展,其中,该过程由xr设备执行,并且该过程还包括:与不同于xr设备的计算设备配合,真实世界键盘与该计算设备连接;以及接收来自该计算设备的真实世界键盘的类型标识;其中,生成3d键盘模型是部分地通过选择与该真实世界键盘的类型相对应的3d模型来执行的。
218.在一些情况下,可以对第五实施例进行扩展,其中,该过程还包括:识别真实世界办公桌的表面上的专用空间的高度;以及相对于该专用空间设置一个或多个锚点,其中,每个锚点被标识为人工现实环境中用于放置虚拟内容的一位置。
219.在一些情况下,可以对第五实施例进行扩展,其中,该过程还包括:接收真实世界计算机的显示器的流;以及在人工现实环境中,使用基于人工现实环境中的一个或多个已建立锚点的位置,显示来自真实世界计算机的显示器的内容;其中,与3d键盘模型相关的用户移动与对真实世界键盘的输入相对应,该输入被路由到真实世界计算机。
220.在一些情况下,可以对第五实施例扩展,其中,通过以下方式来执行识别用户的一只手或两只手的轮廓:监视描绘用户的一只手或两只手的所采集图像,以创建用户的一只手或两只手的虚拟模型;以及使用该模型来确定手部轮廓、手部形状、手部位置、或它们的任何组合中的一者或多者。
221.在一些情况下,可以对第五实施例进行扩展,其中,识别用户的一只手或两只手的轮廓包括:确定用户的一只手或两只手的一个或多个轮廓;并且其中,启用手部透传模式包括对真实世界的一部分的显示,真实世界的该部分是围绕用户的一只手或两只手的一个或多个经确定的轮廓的设定量。
222.在一些情况下,可以对第五实施例进行扩展,其中,该过程还包括:确定用户的一只手或两只手不再处于距真实世界键盘的阈值距离内;并且作为响应,关闭手部透传模式,关闭手部透传模式包括停止对真实世界的一部分的显示,并且显示用户的一只手或两只手的虚拟模型,该一只手或两只手的虚拟模型与该用户的一只手或两只手的一个或多个真实世界位置相对应。
223.第六实施例可以包括一种计算系统,该计算系统包括:一个或多个处理器;以及一个或多个存储器,该一个或多个存储器包括多个指令,这些指令在被该一个或多个处理器执行时,使得该计算系统执行包括以下的过程:跟踪真实世界键盘的真实世界位置;在人工现实环境中的相对于真实世界位置的位置处生成3d键盘模型;识别用户的一只手或两只手的轮廓;以及启用手部透传模式,该手部透传模式在人工现实环境中呈现对真实世界中的与所识别的手部轮廓相对应的部分的显示。
224.在一些情况下,可以对第六实施例进行扩展,其中,计算系统是xr设备,并且该过程还包括:与不同于xr设备的计算设备配合,真实世界键盘与该计算设备连接;以及接收来自该计算设备的真实世界键盘的类型标识;其中,生成3d键盘模型是部分地通过选择与真实世界键盘的类型相对应的3d模型来执行的。
225.在一些情况下,可以对第六实施例进行扩展,其中,该过程还包括:接收真实世界计算机的显示器的流;以及在人工现实环境中显示来自真实世界计算机的显示器的内容;
其中,与3d键盘模型相关的用户移动与对真实世界键盘的输入相对应,该输入被路由到真实世界计算机。
226.在一些情况下,可以对第六实施例进行扩展,其中,通过以下方式来执行识别用户的一只手或两只手的轮廓:监视描绘用户的一只手或两只手的所采集图像,以创建用户的一只手或两只手的虚拟模型;以及使用该模型来确定手部轮廓、手部形状、手部位置、或它们的任何组合中的一者或多者。
227.在一些情况下,可以对第六实施例进行扩展,其中,识别用户的一只手或两只手的轮廓包括:确定用户的一只手或两只手的一个或多个轮廓;并且其中,启用手部透传模式包括对真实世界的一部分的显示,真实世界的该部分是围绕用户的一只手或两只手的一个或多个经确定的轮廓的设定量。
228.第七实施例可以包括一种方法,该方法包括:获取对将计算机输出流式传输到人工现实环境中的授权,其中,该授权利用来自mr键盘的输入,并且其中,该mr键盘的真实世界位置被跟踪,且在人工现实环境中,该mr键盘的相应模型被呈现在根据所跟踪的真实世界位置的位置处;响应于该授权,接收计算机输出的流;以及在人工现实环境中,基于该计算机输出的流提供显示。
229.在一些情况下,可以利用第一扩展对第七实施例进行扩展,其中该方法由xr设备执行;其中,mr键盘连接到不同于xr设备的计算机,该计算机提供计算机输出;并且其中,获取对将计算机输出流式传输到人工现实环境中的授权包括:接收来自在人工现实环境中交互的用户的命令;响应于接收到该命令,向计算机发送流式传输请求,其中,该流式传输请求使计算机请求授权,使得将对mr键盘的敲击路由为对该授权请求的响应;以及通知用户提供与mr键盘的交互以授权该流式传输。
230.在一些情况下,可以利用第一扩展对第七实施例进行进一步扩展,其中,通知用户提供与mr键盘的交互包括:显示在mr键盘上执行单次按键的指令。
231.在一些情况下,可以对第七实施例进行扩展,其中,获取对流式传输计算机输出的授权是通过与安装在提供计算机输出的计算机上的应用程序进行配合来执行的;其中,该应用程序将计算机配置为输出到多个显示器;并且其中,计算机输出的流包括从计算机到多个显示器的输出。
232.在一些情况下,可以对第七实施例进行扩展,其中,获取对流式传输计算机输出的授权是通过与安装在提供计算机输出的计算机上的应用程序进行配合来执行的;并且其中,该方法还包括:接收来自应用程序的、用于连接到该计算机的显示器的配置数据,该配置数据包括分辨率、刷新率、尺寸或它们的任何组合中的一者或多者。
233.在一些情况下,可以对第七实施例进行扩展,其中,计算机输出的流包括多个流,各个流与提供计算机输出的计算机上的不同应用程序或窗口相对应;并且其中,基于计算机输出的流的显示包括:为多个流中的至少两个流提供单独的虚拟显示。
234.在一些情况下,可以对第七实施例进行扩展,其中,计算机输出的流被以第一刷新率提供;其中,从计算机输出的流中移除第一鼠标指针;并且其中,该方法还包括:以第二刷新率接收鼠标位置,该第二刷新率比第一刷新率频率更高;以及在显示器上基于接收到的鼠标位置渲染第二鼠标。
235.在一些情况下,可以对第七实施例进行扩展,其中,获取对流式传输计算机输出的
授权是通过与安装在提供计算机输出的计算机上的应用程序进行配合来执行的;其中,该方法还包括:接收来自应用程序的配置数据,该配置数据指定了附接到计算机的屏幕的角度;并且其中,提供显示包括:在人工现实环境中,以基于附接到计算机的屏幕的角度的角度,来显示虚拟计算机屏幕。
236.在一些情况下,可以对第七实施例进行扩展,其中,计算机输出的流是单个显示屏的流;并且其中,提供显示包括:将单个显示屏的流划分成多个虚拟显示;以及在人工现实环境中单独显示每个虚拟显示。
237.在一些情况下,可以对第七实施例进行扩展,其中,计算机输出的流具有第一屏幕尺寸;并且其中,该方法还包括:调整计算机输出的流以适配人工现实环境中的虚拟屏幕,该虚拟屏幕的尺寸不同于第一屏幕尺寸。
238.第八实施例可以包括一种计算机可读存储介质,该计算机可读存储介质存储有多个指令,这些指令在被计算系统执行时,使得该计算系统执行包括以下的过程:获取对将计算机输出流式传输到人工现实环境中的授权,其中,该授权利用来自mr键盘的输入,并且其中,该mr键盘的真实世界位置被跟踪,并且在人工现实环境中,该mr键盘的相应模型被呈现在根据所跟踪的真实世界位置的位置处;接收计算机输出的流;以及在人工现实环境中,基于该计算机输出的流来提供显示。
239.在一些情况下,可以对第八实施例进行扩展,其中,计算机输出的流是经编码的视频的流。
240.在一些情况下,可以对第八实施例进行扩展,其中,计算机输出的流是多个指令的流,这些指令在被执行时,限定可视化用户界面。
241.在一些情况下,可以对第八实施例进行扩展,其中,计算机输出的流是描绘单个窗口的流,该单个窗口是由用户从产生计算机输出的计算机上的多个窗口中选择的。
242.在一些情况下,可以对第八实施例进行扩展,其中,该过程由xr设备执行;其中,mr键盘连接到不同于xr设备的计算机,该计算机提供计算机输出;并且其中,获取对将计算机输出流式传输到人工现实环境中的授权包括:向计算机发送流式传输请求,其中,该流式传输请求使计算机请求授权,使得将对mr键盘的敲击路由为对该授权请求的响应;以及通知用户提供与mr键盘的交互以授权该流式传输。
243.在一些情况下,可以对第八实施例进行扩展,其中,计算机输出的流被以第一刷新率提供;其中,从计算机输出的流中移除第一鼠标指针;并且其中,该过程还包括:以第二刷新率接收鼠标位置,该第二刷新率比第一刷新率频率更高;以及在显示器上基于接收到的鼠标位置渲染第二鼠标。
244.在一些情况下,可以对第八实施例进行扩展,其中,计算机输出的流是单个显示屏的流;并且其中,提供显示包括:将单个显示屏的流划分成多个虚拟显示;以及在人工现实环境中单独显示每个虚拟显示。
245.第九实施例可以包括一种计算系统,该计算机系统包括:一个或多个处理器;以及一个或多个存储器,该一个或多个存储器存储有多个指令,这些指令在被该一个或多个处理器执行时,使得该计算系统执行包括以下的过程:获取对将计算机输出流式传输到人工现实环境中的授权,其中,该授权利用来自mr键盘的输入;接收计算机输出的流;以及在人工现实环境中,基于该计算机输出的流来提供显示。
246.在一些情况下,可以对第九实施例进行扩展,其中,计算机输出的流包括多个流,各个流与提供计算机输出的计算机上的不同应用程序或窗口相对应;并且其中,基于计算机输出的流的显示包括:为该多个流中的至少两个流提供单独的虚拟显示。
247.在一些情况下,可以对第九实施例进行扩展,其中,计算机输出的流被以第一刷新率提供;其中,从计算机输出的流中移除第一鼠标指针;并且其中,该过程还包括:以第二刷新率接收鼠标位置,该第二刷新率比第一刷新率频率更高;以及在显示器上,基于接收到的鼠标位置渲染第二鼠标。
248.在本说明书中对“多个实施方式”(例如,“一些实施方式”,“各种实施方式”、“一种实施方式”、“一实施方式”等)的引用意味着,所描述的与该实施方式有关的特定的特征、结构或特性被包括在本公开的至少一个实施方式中。这些表达在说明书中不同地方的出现不一定都指同一实施方式,也不一定是与其它实施方式相互排斥的单独实施方式或替代实施方式。此外,描述了可由一些实施方式而不是由其它实施方式呈现的各种特征。类似地,描述了可以是一些实施方式而不是其它实施方式的要求的各种要求。
249.如本文所使用的,高于阈值意味着比较项的值高于指定的其它值,比较项位于具有最大值的某个指定数量的项中,或者比较项具有在指定的最高百分比值内的值。如本文所使用的,低于阈值意味着比较项的值低于指定的其它值,比较项位于具有最小值的某个指定数量的项中,或者比较项具有在指定的最低百分比值内的值。如本文所使用的,处于阈值内意味着比较项的值在两个指定的其它值之间,比较项位于中间的指定数量的项中,或者比较项具有在中间指定百分比范围内的值。当没有另外定义时,诸如高或不重要等相对术语可以被理解为分配一个值并确定该值如何与所建立的阈值进行比较。例如,短语“选择快速连接”可以理解为选择具有分配的与其高于阈值的连接速度相对应的值的连接。
250.如本文所使用的,词语“或”是指一组项目的任何可能的排列。例如,表达“a、b或c”是指a、b、c、或其任意组合中的至少一个,例如以下任何:a;b;c;a和b;a和c;b和c;a、b和c;或任何项目的倍数(例如,a和a;b、b和c;a、a、b、c和c等)。
251.尽管已经用专用于结构特征和/或方法动作的语言描述了该主题,但应理解,在所附权利要求书中所限定的主题不必限于上述特定特征或动作。本文已出于说明的目的描述了特定的实施例和实施方式,但可以在不脱离这些实施例和实施方式的范围的情况下进行各种修改。上述具体特征和动作是作为实现所附权利要求书的示例形式而公开的。因此,除了所附权利要求书之外,实施例和实施方式不受限制。
252.以上所提到的任何专利、专利申请和其它参考文献都通过引用结合到本文中。如果需要,可以对各方面进行修改,以采用上述各种参考文献的系统、功能和概念来提供另外的实施方式。如果通过引用结合的文档中的陈述或主题与本技术的陈述或主题相冲突,则以本技术为准。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表