CN116917844A - 跨应用虚拟现实场合中的可调整个人用户界面 - Google Patents
跨应用虚拟现实场合中的可调整个人用户界面 Download PDFInfo
- Publication number
- CN116917844A CN116917844A CN202280014443.9A CN202280014443A CN116917844A CN 116917844 A CN116917844 A CN 116917844A CN 202280014443 A CN202280014443 A CN 202280014443A CN 116917844 A CN116917844 A CN 116917844A
- Authority
- CN
- China
- Prior art keywords
- user
- personal
- virtual
- environment
- pose
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 230000008859 change Effects 0.000 claims abstract description 61
- 238000000034 method Methods 0.000 claims abstract description 43
- 238000009877 rendering Methods 0.000 claims abstract description 20
- 230000004044 response Effects 0.000 claims abstract description 11
- 230000015654 memory Effects 0.000 claims description 51
- 230000000694 effects Effects 0.000 claims description 6
- 238000004891 communication Methods 0.000 description 19
- 230000006855 networking Effects 0.000 description 15
- 230000008901 benefit Effects 0.000 description 10
- 230000006870 function Effects 0.000 description 10
- 230000003287 optical effect Effects 0.000 description 10
- 238000005259 measurement Methods 0.000 description 6
- 238000007667 floating Methods 0.000 description 5
- 230000001360 synchronised effect Effects 0.000 description 5
- 239000008186 active pharmaceutical agent Substances 0.000 description 4
- 230000001413 cellular effect Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 238000007726 management method Methods 0.000 description 4
- 230000003278 mimic effect Effects 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 238000013475 authorization Methods 0.000 description 3
- 238000013519 translation Methods 0.000 description 3
- 230000000007 visual effect Effects 0.000 description 3
- 230000006399 behavior Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 239000000872 buffer Substances 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 230000009977 dual effect Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000002452 interceptive effect Effects 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000010295 mobile communication Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 238000012552 review Methods 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 230000003542 behavioural effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000005266 casting Methods 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- RGNPBRKPHBKNKX-UHFFFAOYSA-N hexaflumuron Chemical compound C1=C(Cl)C(OC(F)(F)C(F)F)=C(Cl)C=C1NC(=O)NC(=O)C1=C(F)C=CC=C1F RGNPBRKPHBKNKX-UHFFFAOYSA-N 0.000 description 1
- 238000005286 illumination Methods 0.000 description 1
- 238000010348 incorporation Methods 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000013386 optimize process Methods 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000008685 targeting Effects 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 239000013598 vector Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/011—Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
- G06F3/0482—Interaction with lists of selectable items, e.g. menus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
- G06T19/20—Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/20—Scenes; Scene-specific elements in augmented reality scenes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/10—Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
- G06V40/18—Eye characteristics, e.g. of the iris
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2200/00—Indexing scheme for image data processing or generation, in general
- G06T2200/24—Indexing scheme for image data processing or generation, in general involving graphical user interfaces [GUIs]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2219/00—Indexing scheme for manipulating 3D models or images for computer graphics
- G06T2219/20—Indexing scheme for editing of 3D models
- G06T2219/2016—Rotation, translation, scaling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2219/00—Indexing scheme for manipulating 3D models or images for computer graphics
- G06T2219/20—Indexing scheme for editing of 3D models
- G06T2219/2021—Shape modification
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Software Systems (AREA)
- Multimedia (AREA)
- Computer Hardware Design (AREA)
- Computer Graphics (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Ophthalmology & Optometry (AREA)
- Architecture (AREA)
- User Interface Of Digital Computer (AREA)
- Processing Or Creating Images (AREA)
Abstract
在一个实施例中,一种方法包括:为VR显示设备的一个或多个显示器渲染VR环境的第一输出图像。VR环境包括与第一用户相关联的个人UI。个人UI具有与第一用户有关的第一外形因子和第一位姿,是包括一个或多个2D虚拟显示器的虚拟对象,并且能够操作以执行多个应用。该方法包括:基于检测到的第一用户相对于VR环境的上下文的改变来确定是否调整个人UI。该方法包括:渲染VR环境的第二输出图像,其中,响应于基于检测到的第一用户的上下文的改变确定调整个人UI,将个人UI调整为具有与第一用户有关的第二外形因子和第二位姿。
Description
技术领域
本公开总体上涉及网络环境内的数据库和文件管理,尤其涉及在虚拟现实(virtual reality,VR)场合(setting)中定制用户界面(user interface,UI)。
背景技术
传统上,处于虚拟现实(VR)体验中的用户可以具有用户界面(UI),如仪表板或菜单,用户可以在处于VR体验时访问该用户界面。在VR场合中,UI可以表现为覆盖在用户视场上的2D菜单或窗口。UI在不同的VR场合中可能具有统一的外观,因此,在某些VR环境中存在遮挡用户视线的风险。UI可以隐藏在视线之外,并在用户的提示或命令之后被拉出。然而,在这种情况下,用户可能会失去UI功能。
发明内容
在特定实施例中,系统用户界面(UI)或特定于应用的UI可能会部分地或完全地阻挡沉浸式虚拟现实(VR)系统(例如头戴式VR护目镜)的用户观看VR环境的视线,从而存在遮挡用户观看VR环境的视线的风险。用户可以隐藏UI,但用户将失去对UI功能的访问。因此,一个技术挑战可能包括:当用户处于VR环境内以及跨越不同的VR体验时,保持对UI的访问。本文公开的实施例提出了一种解决方案,以解决用户在不同的VR体验中保持对UI的访问这一技术挑战,从而使UI适应用户相对于VR环境的上下文(context),例如,使UI调整为具有最适合用户和VR环境的外形因子和/或位姿(即相对于用户的位置和方位)。UI可以是可转移的,因为当用户从一个VR环境转到另一个VR环境或从一个应用切换到另一个应用时,UI是可访问的并能保持其功能。UI可以是个人的、私密的,并可根据用户在VR环境中的体验进行定制。作为示例而非限制,用户可以调整UI的外形因子和位姿,以提高UI的有效性(productivity)或减少UI的视线遮挡,同时仍然保持关键的UI功能。尽管本公开描述了在用户处于不同的VR体验中时,通过以特定方式调整和个性化UI来保持UI,但是本公开也考虑了在用户处于不同的VR体验中时,以任何合适的方式保持UI。
在特定实施例中,一个或多个计算系统可以为VR显示设备的一个或多个显示器渲染VR环境的第一输出图像。VR环境可以包括与第一用户相关联的个人UI。个人UI可以具有与第一用户有关的第一外形因子和第一位姿。个人UI可以是包括一个或多个2D虚拟显示器的虚拟对象。个人UI能够操作以执行多个应用。该一个或多个计算系统可以检测第一用户相对于VR环境的上下文的改变。该一个或多个计算系统可以基于检测到的第一用户的上下文的改变,来确定是否调整个人UI。该一个或多个计算系统可以为VR显示设备的一个或多个显示器渲染VR环境的第二输出图像。响应于基于检测到的第一用户的上下文的改变确定调整个人UI,个人UI可以被调整为具有与第一用户有关的第二外形因子和第二位姿。
当用户处于不同的VR环境和上下文中时,保持个人UI存在某些技术挑战。一个技术挑战可能包括:在没有视线遮挡或干扰VR体验的情况下保持UI功能。本文公开的实施例提出的用于解决该挑战的解决方案可以是,基于用户相对于VR环境的上下文来调整个人UI。另一个技术挑战可能包括:检测用户的上下文何时已改变。本文所公开的实施例提出的用于解决该挑战的解决方案可以是,确定用户的位姿相对于VR环境和/或VR环境内的对象的改变,接收用户选择与个人UI的外形因子和/或位姿的改变相关联的应用而进行的输入,或者检测从一个应用到另一个应用的改变。
本文公开的某些实施例可以提供一个或多个技术优势。实施例的技术优势可以包括:响应于检测到的用户相对于VR环境的上下文的改变而自动调整UI的外形因子和位姿。实施例的另一技术优势可以包括:自动调整VR环境中的个人UI以模仿真实世界对象的UI,从而帮助用户适应使用个人UI。本文公开的某些实施例可以不提供、提供部分或全部的上述技术优势。考虑到本公开的附图、具体实施方式和权利要求书,一个或多个其他技术优势对于本领域技术人员来说是显而易见的。
根据本公开的第一方面,提供了一种方法。该方法包括:由一个或多个计算系统:为虚拟现实(VR)显示设备的一个或多个显示器渲染VR环境的第一输出图像,其中,所述VR环境包括与第一用户相关联的个人用户界面(UI),其中,所述个人UI具有与所述第一用户有关的第一外形因子和第一位姿,其中,所述个人UI是包括一个或多个2D虚拟显示器的虚拟对象,并且其中,所述个人UI能够操作以执行多个应用;检测所述第一用户相对于所述VR环境的上下文的改变;基于检测到的所述第一用户的上下文的改变来确定是否调整所述个人UI;以及为所述VR显示设备的所述一个或多个显示器渲染所述VR环境的第二输出图像,其中,响应于基于检测到的所述第一用户的上下文的改变确定调整所述个人UI,所述个人UI被调整为具有与所述第一用户有关的第二外形因子和第二位姿。
在一些实施例中,检测所述第一用户的上下文的改变,包括:确定所述第一用户在所述VR环境中已经从第一位姿改变为第二位姿。
在一些实施例中,确定所述第一用户已经从所述第一位姿改变为所述第二位姿,包括:确定所述用户的位置是否在所述VR环境中的对象的阈值距离内;以及确定所述用户的方位是否指示所述用户正面对所述VR环境中的所述对象。
在一些实施例中,检测所述第一用户的上下文的改变,包括:通过所述用户在所述个人UI上从所述多个应用中选择特定应用来接收输入,其中,所述特定应用与所述个人UI的所述第二外形因子和所述第二位姿相关联。
在一些实施例中,检测所述第一用户的上下文的改变,包括:检测所述第一用户已经从第一虚拟空间移动到第二虚拟空间。
在一些实施例中,检测所述第一用户的上下文的改变,包括:检测所述第一用户已经从使用所述个人UI上的第一应用切换到第二应用。
在一些实施例中,基于检测到的所述第一用户的上下文的改变来确定是否调整所述个人UI,包括:识别所述个人UI的与所述用户在所述VR环境中的活动相关联的预定外形因子和位姿。
在一些实施例中,所述个人UI包括多个2D虚拟显示器,并且其中,所述多个2D虚拟显示器按照基于块的布局布置,该布局包括用于所述多个2D虚拟显示器的多个预设方位。
在一些实施例中,所述多个2D虚拟显示器的第一2D虚拟显示器能够操作以执行所述多个应用中的第一组应用,并且其中,所述多个2D虚拟显示器的第二2D虚拟显示器能够操作以执行所述多个应用中的第二组应用。
在一些实施例中,所述第一外形因子和所述第二外形因子选自由以下项组成的组:虚拟手表、虚拟智能手机、虚拟平板计算机、虚拟遥控器、虚拟计算机监视器、虚拟电视和虚拟电影屏幕。
在一些实施例中,所述VR环境包括用于所述第一用户和一个或多个第二用户的共享虚拟空间。
在一些实施例中,所述第一用户的隐私设置防止所述一个或多个第二用户观看与所述第一用户相关联的所述个人UI上的内容。
在一些实施例中,该方法还包括:将内容从所述第一用户的个人UI投射到所述VR环境中的共享虚拟屏幕上,其中,所述内容能够由所述第一用户和所述一个或多个第二用户在所述共享虚拟屏幕上观看。
在一些实施例中,所述多个应用对应于与所述第一用户相关联的真实世界计算设备上的应用。
根据本公开的第二方面,提供了一种或多种计算机可读非暂态存储介质,所述一种或多种计算机可读非暂态存储介质体现软件,所述软件在被执行时能够操作以:为虚拟现实(VR)显示设备的一个或多个显示器渲染VR环境的第一输出图像,其中,所述VR环境包括与第一用户相关联的个人用户界面(UI),其中,所述个人UI具有与所述第一用户有关的第一外形因子和第一位姿,其中,所述个人UI是包括一个或多个2D虚拟显示器的虚拟对象,并且其中,所述个人UI能够操作以执行多个应用;检测所述第一用户相对于所述VR环境的上下文的改变;基于检测到的所述第一用户的上下文的改变来确定是否调整所述个人UI;以及为所述VR显示设备的所述一个或多个显示器渲染所述VR环境的第二输出图像,其中,响应于基于检测到的所述第一用户的上下文的改变确定调整所述个人UI,所述个人UI被调整为具有与所述第一用户有关的第二外形因子和第二位姿。
在一些实施例中,所述软件在被执行以检测所述第一用户的上下文的改变时能够操作以:确定所述第一用户在VR环境中已经从第一位姿改变为第二位姿。
在一些实施例中,所述软件在被执行以确定所述第一用户已经从所述第一位姿改变为所述第二位姿时能够操作以:确定所述用户的位置是否在所述VR环境中的对象的阈值距离内;以及确定所述用户的方位是否指示所述用户正面对所述VR环境中的所述对象。
在一些实施例中,所述软件在被执行以检测所述第一用户的上下文的改变时能够操作以:检测所述第一用户已经从使用所述个人UI上的第一应用切换到第二应用。
根据本公开的第三方面,提供了一种系统,包括:一个或多个处理器;以及非暂态存储器,所述非暂态存储器耦接到所述处理器,并且包括能够由所述处理器执行的指令。所述处理器在执行所述指令时能够操作以:为虚拟现实(VR)显示设备的一个或多个显示器渲染VR环境的第一输出图像,其中,所述VR环境包括与第一用户相关联的个人用户界面(UI),其中,所述个人UI具有与所述第一用户有关的第一外形因子和第一位姿,其中,所述个人UI是包括一个或多个2D虚拟显示器的虚拟对象,并且其中,所述个人UI能够操作以执行多个应用;检测所述第一用户相对于所述VR环境的上下文的改变;基于检测到的所述第一用户的上下文的改变来确定是否调整所述个人UI;以及检测所述第一用户已经从第一虚拟空间移动到第二虚拟空间。
应当理解,本文所描述的适合纳入本公开的一个或多个方面或实施例的任何特征,均可在本公开的任何及所有方面和实施例中通用。根据本公开的具体实施方式、权利要求书和附图,本领域技术人员可以理解本公开的其他方面。前面的一般性描述和下面的具体实施方式只是示例性和解释性的,并不限制权利要求书。
本文所公开的实施例仅是示例,并且本公开的范围不限于这些实施例。特定实施例可以包括本文所公开的实施例中的部件、元件、特征、功能、操作或步骤中的全部、一些,或者可以不包括本文所公开的实施例中的部件、元件、特征、功能、操作或步骤。根据本公开的实施例在所附的针对方法、存储介质、系统和计算机程序产品的权利要求中特别公开,其中,在一个权利要求类别(例如,方法)中所提到的任何特征也可以在另一个权利要求类别(例如,系统)中要求保护。所附权利要求书中的从属关系或引用关系仅出于形式原因而选择。然而,由于有意引用任何先前的权利要求(特别是多项从属关系)而产生的任何主题也可以被要求保护,使得多个权利要求及其多个特征的任何组合无论在所附权利要求书中所选择的从属关系如何都被公开且可以被要求保护。可以要求保护的主题不仅包括所附权利要求书中所陈述的特征的组合,还包括权利要求书中的特征的任何其他组合,其中,在权利要求书中所提到的每个特征可以与权利要求书中的任何其他特征或其他特征的组合进行组合。此外,本文所描述或所描绘的实施例和特征中的任何可以在单独的权利要求中要求保护,和/或在与本文所描述或所描绘的任何实施例或特征的任何组合中或在与所附权利要求书中的任何特征的任何组合中要求保护。
附图说明
图1示出了根据特定实施例的由用户佩戴的示例虚拟现实系统。
图2示出了根据特定实施例的透传特征(passthrough feature)的示例。
图3是用户在VR环境中的示例图。
图4示出了示例个人UI。
图5示出了个人UI的示例外形因子。
图6示出了用户在VR环境中的示例。
图7示出了个人UI的虚拟显示器的布置结构示例图。
图8A示出了第一用户在真实世界环境中使用具有计算设备UI的真实世界计算设备的示例。
图8B示出了第一用户在VR环境中的个人UI的示例。
图9示出了将内容投射(cast)到VR环境中的共享虚拟屏幕上的示例。
图10示出了用于在VR环境中渲染个人UI的示例方法。
图11示出了与社交网络系统相关联的示例网络环境。
图12示出了示例计算机系统。
具体实施方式
在特定实施例中,系统用户界面(user interface,UI)或特定于应用的UI可能会部分地或完全地阻挡或遮挡沉浸式虚拟现实(VR)系统(例如头戴式VR护目镜)的用户观看VR环境的视线,从而存在遮挡用户观看VR环境的视线的风险。用户可以隐藏UI,但用户将失去对UI功能的访问。因此,一个技术挑战可能包括:当用户在VR环境内以及跨越不同的VR体验时,保持对UI的访问。本文公开的实施例提出了一种解决方案,以解决用户在不同的VR体验中保持对UI的访问这一技术挑战,从而使UI适应用户相对于VR环境的上下文(context),例如,使UI调整为具有最适合用户和VR环境的外形因子和/或位姿(即相对于用户的位置和方位)。UI可以是可转移的(portable),因为当用户从一个VR环境转到另一个VR环境或从一个应用切换到另一个应用时,UI是可访问的并能保持其功能。并且UI可以是个人的、私密的,并可根据用户在VR环境中的体验进行定制。作为示例而非限制,用户可以调整UI的外形因子和位姿,以提高UI的有效性或减少UI的视线遮挡,同时仍然保持关键的UI功能。尽管本公开描述了在用户处于不同的VR体验中时,通过以特定方式调整和个性化UI来保持UI,但是本公开也考虑了在用户处于不同的VR体验中时,以任何合适的方式保持UI。
图1示出了由用户102佩戴的虚拟现实系统100的示例。在特定实施例中,虚拟现实系统100可以包括头戴式VR显示设备135、控制器106和一个或多个计算系统110。VR显示设备135可以被佩戴在用户的眼睛上,并通过内部显示器(未示出)向用户102提供视觉内容。VR显示设备135可以具有两个分开的内部显示器,针对用户102的每只眼睛一个内部显示器(单个显示设备也是可能的)。如图1所示,VR显示设备135可以完全覆盖用户的视场。VR显示设备135通过成为用户102的视觉信息的唯一(exclusive)提供者,实现了提供沉浸式人工现实体验的目的。然而,这样做的一个后果是,用户102可能无法看到他周围的物理(真实世界)环境,因为他的视野被VR显示设备135遮蔽。因此,本文描述的透传特征在为用户提供关于其物理周围环境的实时视觉信息方面可能具有技术优势。
图2示出了透传特征的示例。用户102可以佩戴VR显示设备135,沉浸在虚拟现实环境中。真实世界对象145位于用户102周围的物理环境中。然而,由于VR显示设备135阻挡了用户102的视野,因此用户102无法直接看到真实世界对象145。为了帮助用户在佩戴VR显示设备135时感知其物理周围环境,透传特征使用例如一个或多个摄像头105(诸如面向外部的摄像头105A和105B)来捕获关于物理环境的信息。然后,可以基于用户102的视角将捕获的信息重新投影给用户102。在VR显示设备135具有用于用户右眼的右显示器136A和用于用户左眼的左显示器136B的特定实施例中,虚拟现实系统100可以基于用户右眼的视角为右显示器135A单独渲染(1)物理环境的重新投影视图145A,以及基于用户左眼的视角为左显示器135B单独渲染(2)物理环境的重新投影视图145B。
再次参照图1,VR显示设备135可以具有面向外部的摄像头,例如图1中所示的两个面向前方的摄像头105A和105B。虽然仅示出了两个面向前方的摄像头105A和105B,但VR显示设备135可以具有面向任何方向的任意数量的摄像头(例如,面向上方的摄像头,用于捕获天花板或室内照明;面向下方的摄像头,用于捕获用户面部和/或身体的一部分;面向后方的摄像头,用于捕获用户后面的一部分;和/或内部摄像头,用于捕获用户的凝视以用于眼动追踪的目的)。面向外部的摄像头可以被配置成捕获用户周围的物理环境,并且可以连续地这样做以生成一系列帧(例如,作为视频)。如前所述,尽管由面向前方的摄像头105A和105B捕获的图像可以经由VR显示设备135直接显示给用户102,但是这样做可能无法为用户提供物理环境的准确视图,因为摄像头105A和105B在物理上无法被定位在与用户眼睛精确相同的位置。就这一点而言,本文描述的透传特征可以使用重新投影技术,该技术生成物理环境的三维(3D)表示,然后基于该3D表示从用户的眼睛的视角来渲染图像。
可以基于由摄像头105A和105B观测到的对象的深度测量结果来生成3D表示。深度可以用各种方式来测量。在特定实施例中,可以基于立体图像来计算深度。作为示例而非限制,两个面向前方的摄像头105A和105B可以共享交叠的视场,并且被配置为同时捕获图像。结果,两个摄像头105A和105B可以同时捕获同一物理对象。作为示例而非限制,对象的特定特征可以出现在由摄像头105A捕获的图像中的一个像素pA处,并且同一特征可以出现在由摄像头105B捕获的图像中的另一个像素pB处。只要深度测量系统知道这两个像素对应于同一特征,虚拟现实系统100就可以使用三角测量技术来计算所观测特征的深度。作为示例而非限制,基于摄像头105A在3D空间内的位置以及pA相对于摄像头105A的视场的像素位置,可以从摄像头105A投影出一条穿过像素pA的线。可以从另一个摄像头105B投影出一条类似的穿过像素pB的线。由于假设两个像素对应于同一物理特征,因此这两条线应当相交。这两条相交线和在两个摄像头105A与105B之间绘制的虚拟线形成三角形,该三角形可用于计算所观测特征距摄像头105A或105B的距离、或所观测特征所在的空间点。
在特定实施例中,可能需要VR显示设备135在环境中的位姿(例如,位置和方位)。例如,为了在用户102在虚拟环境中四处移动时为其渲染适当的显示,虚拟现实系统100可能需要随时确定他的位置和方位。基于VR显示设备的位姿,虚拟现实系统100还可以确定摄像头105A和105B中的任一个的或用户的眼睛中的任一个的视角。在特定实施例中,VR显示设备135可以配备有惯性测量单元(inertial-measurement unit,IMU)。IMU生成的数据以及面向外部的摄像头105A和105B捕获的立体图像允许虚拟现实系统100使用例如同步定位和映射(simultaneous localization and mapping,SLAM)技术或其他合适的技术来计算VR显示设备135的位姿。
在特定实施例中,虚拟现实系统100还可以具有使用户102能够提供输入的一个或多个控制器106。控制器106可以通过无线或有线连接与VR显示设备135通信或与分开的一个或多个计算系统110通信。控制器106可以具有任意数量的按钮或其他机械输入机构。此外,控制器106可以具有IMU,从而可以追踪控制器106的位姿。也可以基于控制器上的预定图案来追踪控制器106。作为示例而非限制,控制器106可以具有若干红外发光二极管(light-emitting diode,LED)或共同形成预定图案的其他已知的可观测特征。虚拟现实系统100能够使用传感器或摄像头来捕获控制器上的预定图案的图像。基于观测到的这些图案的方位,系统可以计算控制器相对于传感器或摄像头的位置和方位。
虚拟现实系统100还可以包括一个或多个计算系统110。该一个或多个计算系统110可以是在物理上与VR显示设备135分开的独立单元,或者计算系统110可以与VR显示设备135集成在一起。在该一个或多个计算系统110是分开的单元的实施例中,该一个或多个计算系统110可以经由无线或有线链路与VR显示设备135通信耦接。该一个或多个计算系统110可以是台式机或膝上型计算机等高性能设备,或者是移动电话等资源有限的设备。高性能设备可以具有专用的图形处理器(graphics processing unit,GPU)和高容量或恒定电源。另一方面,资源有限的设备可能没有GPU,并具有有限的电池容量。因此,可由虚拟现实系统100实际使用的算法取决于其一个或多个计算系统110的能力。
在该一个或多个计算系统110是高性能设备的实施例中,透传特征的实施例可以按如下设计。通过VR显示设备135的面向外部的摄像头105A和105B,可以捕获周围物理环境的一系列图像。然而,由摄像头105A和105B捕获的信息可能与用户的眼睛捕获到的信息不一致,因为摄像头不可能在空间上与用户的眼睛重合(例如,摄像头可能远离用户的眼睛一定距离,因此具有不同的视角)。因此,简单地向用户显示摄像头捕获的内容可能不是用户应该感知的内容的准确表示。
透传特征可以将由面向外部的摄像头105A和105B捕获到的信息重新投影给用户,而不是简单地显示捕获到的内容。每对同步捕获的立体图像可用于估计所观测特征的深度。如上所述,为了使用三角测量来测量深度,该一个或多个计算系统110可以找出立体图像之间的对应关系。作为示例而非限制,该一个或多个计算系统110可以确定一对立体图像中哪两个像素对应于同一个所观测特征。高性能的一个或多个计算系统110可以使用其GPU和光流技术(GPU和光流技术针对此类任务而被优化)来解决对应关系问题。然后,可以使用对应关系信息,以使用三角测量技术来计算深度。该一个或多个计算系统110可以基于所观测特征的计算深度,确定这些特征位于3D空间内的位置(因为该一个或多个计算系统110还知道摄像头在该3D空间中的位置)。结果可以由密集的3D点云表示,其中每个点对应于一观测特征。然后,密集的点云可以用于生成环境中的对象的3D模型。当系统渲染用于显示的场景时,系统可以从用户眼睛的角度执行可见性测试。作为示例而非限制,该系统可以从对应于用户的每只眼睛的视角,将光线投射到3D空间中。以这种方式,显示给用户的所渲染的场景可以从用户眼睛的角度来计算,而不是从面向外部的摄像头105A和105B的角度来计算。
然而,对于资源有限的计算单元(例如,移动电话可以是VR显示设备的主计算单元),上述过程可能不可行。例如,与拥有强大计算资源和充足能源的系统不同,移动电话不能依赖GPU和计算代价高昂的算法(例如光流)来执行深度测量并生成准确的环境3D模型。因此,要在资源有限的设备上提供透传,需要优化的过程。
在特定实施例中,计算设备可以被配置为在运行时使用(1)GPU和光流或(2)利用视频编码器和运动向量的优化技术,来动态地确定其是否有能力或是否能够生成深度测量结果,更详细的描述如下。作为示例而非限制,如果设备具有GPU并且具有足够的功率预算(例如,其插入电源、具有满电池等),则该设备可以使用其GPU和光流来执行深度测量。然而,如果设备没有GPU或具有严格的功率预算,则该设备可能会选择优化的深度计算方法。
图3是用户102在VR环境125中的示例图。用户102可以佩戴VR显示设备135(未示出)。用户102可以由VR环境125中的化身来表示,如图3所示。使用VR显示设备135,用户可以观看VR环境125、或真实世界环境的透传视图。在VR环境125和真实世界环境的透传视图内,可以存在包括一个或多个虚拟显示器140(例如,虚拟显示器140a、140b、140c和140d)的个人UI 115。
图4示出了个人UI 115的示例。个人UI 115可以表现为用于用户执行一个或多个任务的菜单或仪表板,例如,用户可以使用个人UI 115来执行一个或多个应用(来自能够通过各应用图标120选择的多个应用),诸如游戏应用、工作应用、娱乐应用、呼叫/聊天应用等。个人UI 115可以是VR操作系统(VR operating system,VROS)的与虚拟现实系统100相关联的特征。多个应用可以对应于与用户相关联的真实世界计算设备上可访问的应用,真实世界计算设备诸如用户的智能手机、平板计算机、膝上型计算机或其他计算设备。VROS可以具有各种内置功能。作为示例而非限制,VROS的个人UI 115可以提供用户可以访问的内置网络浏览器应用和社交媒体应用。如果用户正在参加虚拟会议,则用户可以在个人UI115上的网络浏览器上快速研究某个主题,而不必退出虚拟会议。如果用户正在视频游戏应用上玩VR视频游戏并且想要发布其高分,则用户可以从其个人UI 115访问其社交媒体应用并且将其高分直接发布到其社交媒体上,而不必离开视频游戏应用。
图5示出了个人UI 115的示例外形因子。个人UI 115的外形因子(例如,形状、外观、布局等)可以表现为虚拟对象个人UI 115a(例如,浮动2D屏幕),或模仿真实世界对象的外形因子,如智能手表个人UI 115b(例如,出现在用户的虚拟手腕上)、电话个人UI 115c、平板计算机个人UI 115d、监视器个人UI 115e、膝上型计算机个人UI 115f、电视屏幕个人UI(未示出)、电影院屏幕个人UI(未示出)、曲面显示器个人UI(未示出)或任何其他合适的外形因子。也就是说,个人UI的外形因子可以包括虚拟手表、虚拟智能电话、虚拟平板计算机、虚拟遥控器、虚拟计算机监视器、虚拟电视和虚拟电影屏幕,仅举几例。因此,实施例的技术优势可以包括自动调整VR环境125中的个人UI 115以模仿真实世界对象的UI,从而帮助用户适应使用个人UI 115。
在特定实施例中,虚拟现实系统100可以为VR显示设备135的一个或多个显示器渲染VR环境125的第一输出图像。VR环境125可以包括与第一用户(例如,用户102)相关联的个人UI 115。个人UI 115可以具有与第一用户有关的第一外形因子(例如,形状、外观、布局等)以及第一位姿(例如,位置和方位)。作为示例而非限制,个人UI 115可以具有浮动虚拟对象(例如,虚拟对象个人UI 115a)的外形因子。个人UI 115可以具有靠近用户102并且在用户102前面的位姿,例如,在用户前面并且在用户视场中的位姿。个人UI 115可以是包括一个或多个2D虚拟显示器的虚拟对象。作为示例而非限制,个人UI 115可以包括较小的虚拟显示器,例如用户102正前面的虚拟显示器140a,以及一个或多个其他虚拟显示器140b-140d。个人UI 115是可操作的以执行多个应用。作为示例而非限制,个人UI 115能够操作以访问和显示各种应用,包括娱乐相关应用(诸如流服务)、社交媒体和联网应用、游戏相关应用、网络浏览器应用、消息收发、呼叫和视频聊天应用、工作相关应用(诸如文字处理应用)或其他合适的应用。尽管本公开描述了以特定方式渲染VR环境的第一输出图像,但是本公开也考虑了以任何合适方式渲染输出图像。
在特定实施例中,虚拟现实系统100可以检测第一用户102相对于VR环境125的上下文的改变。技术挑战可能包括:检测用户的上下文何时已改变。本文所公开的实施例提出的用于解决该挑战的解决方案可以是,确定用户102相对于VR环境125和/或VR环境125内的对象的位姿的改变,接收用户102选择与个人UI 115的外形因子和/或位姿的改变相关联的应用而进行的输入,或者检测从一个应用到另一个应用的改变。检测第一用户102的上下文的改变可以包括:确定第一用户102在VR环境125中已经从第一位姿改变为第二位姿。虚拟现实系统100可以使用一个或多个传感器(诸如位置传感器、摄像头105、加速度计等)来检测用户102的位姿的改变。如果用户102绕自己所在点转动或移动到VR环境125中的另一点,则用户102可以改变其位姿。作为示例而非限制,用户102的第一位姿可以是用户站在房间中部(例如,在VR环境125中的房间中部)。用户102的第二位姿可以是用户102移动到沙发或桌子(例如,对象150)并且坐在沙发上或坐在桌子旁。
在特定实施例中,确定第一用户102已经从第一位姿改变为第二位姿可以包括:虚拟现实系统100确定用户102的位置是否在VR环境125中的对象150的阈值距离内,以及确定用户102的方位是否指示用户正面对VR环境125中的对象150。虚拟现实系统100可以使用虚拟现实系统100的一个或多个传感器(诸如位置传感器、摄像头105、加速度计、对象检测过滤器等),来确定用户102的位置是否在VR环境125中的对象150的阈值距离内。对象150可以是VR环境125中的VR对象。对象150可以是VR环境125中的混合现实(mixed-reality,MR)对象,可以对应于真实世界环境中的真实世界对象。作为示例而非限制,虚拟现实系统100可以确定用户102是否已向沙发移动,并且还确定用户102是否已接近沙发的阈值距离(例如,用户102是否已接近沙发1米内)。虚拟现实系统100可以使用虚拟现实系统100的一个或多个传感器(诸如位置传感器、摄像头105、加速度计、对象检测过滤器等),来确定用户102的方位是否指示用户102正面对VR环境125中的对象。作为示例而非限制,虚拟现实系统100可以确定用户102是面向沙发(例如,沙发在用户的视场内)还是面向远处。然后,如果虚拟现实系统100确定用户102在对象的阈值距离内,并且用户102面向对象,则虚拟现实系统100可以检测到用户102在VR环境125中从第一位姿改变为第二位姿。
在特定实施例中,检测第一用户的上下文的改变可以包括:虚拟现实系统100通过用户在个人UI 115上从多个应用中选择特定应用,来接收输入。作为示例而非限制,用户102可以使用个人UI 115通过点击个人UI 115上的图标、按钮、开关或其他形式的输入,来选择应用或在不同应用之间切换。然后,虚拟现实系统100可以接收用户102旨在在个人UI115上选择特定应用的指示。该特定应用可以与个人UI 115的第二外形因子和第二位姿相关联。个人UI 115可以具有预定的外形因子和位姿、优选的外形因子和位姿,或者可以以其他方式与特定的外形因子和位姿相关联,以通过确定最小程度地损害用户的VR体验(例如,确定个人UI 115的最少视线遮挡的外形因子和位姿)和/或最佳地增强用户的VR体验(例如,确定个人UI 115的最有效的外形因子和位姿)的个人UI的外形因子和位姿来增强用户的VR体验。作为示例而非限制,如果虚拟现实系统100正在执行诸如文字处理应用之类的第一应用,则个人UI 115的第一外形因子可以是多监视器设置,以使用户102能够在办公场合中进行用户可能的工作,并且个人UI 115的位姿可以使虚拟监视器显示在用户附近和用户前面。如果虚拟现实系统100切换到执行诸如视频流应用的第二应用,则个人UI 115的外形因子可以是大型虚拟电视或电影院屏幕,并且个人UI的位姿可以使虚拟电视或电影院屏幕更远离用户地放置(模仿真实世界电视或电影院屏幕相对于真实世界用户的位姿)。
图6示出了用户102在VR环境125中的示例。用户102可以由VR环境125中的化身来表示,如图6所示。图6中的VR环境125可以是与图3中的VR环境125不同的或新的VR环境。在特定实施例中,检测第一用户的上下文的改变可以包括:检测第一用户已经从第一虚拟空间移动到第二虚拟空间。作为示例而非限制,如果用户在作为VR办公空间的第一VR空间中,并且用户在个人UI 115上选择视频流应用,则第二VR空间可以是VR电视或电影院屏幕。作为另一示例,如果用户选择游戏应用,则第二VR空间可以是游戏VR空间(诸如在视频游戏环境或景观“内部”,或在包括适合游戏体验的虚拟宽屏监视器的桌面设置处)。作为另一示例,如果用户选择地图或旅行应用,则第二VR空间可以是将用户置于新位置的VR环境125。作为示例而非限制,如果用户选择“巴黎之旅”应用,则VR空间可以是巴黎埃菲尔铁塔及其周围环境的渲染。基于这些示例改变,虚拟现实系统100因此可以检测到用户已经从第一虚拟空间切换到第二虚拟空间。尽管本公开描述了以特定方式检测上下文的改变,但是本公开也考虑了以任何合适方式检测上下文的改变。
在特定实施例中,检测第一用户的上下文的改变可以包括:虚拟现实系统100检测第一用户已经从使用个人UI 115上的第一应用切换到第二应用。虚拟空间(例如,VR环境125)可以是用户在应用之间切换的结果。作为示例而非限制,如果用户正在使用与工作相关的应用(例如文字处理应用),则用户可能已经处于第一VR空间中,该第一VR空间可以是办公VR空间。如果用户接下来选择视频流应用,则第二VR空间可以是VR电影院。作为另一示例而非限制,如果用户选择游戏应用,则第二VR空间可以是游戏VR空间(例如,在视频游戏“内部”,或者在包括适合游戏体验的虚拟宽屏监视器的桌面设置处)。作为另一示例,如果用户选择地图或旅行应用,则第二VR空间可以是将用户置于新位置的VR环境125。作为示例而非限制,如果用户选择了“巴黎之旅”应用,则VR空间可以是巴黎埃菲尔铁塔及其周围环境的渲染。
一个技术挑战可以包括,在不遮挡或扰乱VR环境125的情况下保持个人UI 115的功能。本文所公开的实施例提出的用于解决该挑战的解决方案可以是,基于用户102相对于VR环境125的上下文来调整个人UI 115。在特定实施例中,虚拟现实系统100可以基于检测到的第一用户102的上下文的改变,来确定是否调整个人UI 115。基于检测到的用户102相对于VR环境125的上下文的改变(例如,用户102是否已经从第一位姿改变为第二位姿、用户是否选择了与个人UI 115的外形因子和位姿相关联的特定应用、用户102是否已经从第一虚拟空间移动到第二虚拟空间、用户是否从个人UI 115上的第一应用切换到第二应用等),个人UI 115可以适应与VR环境125中的用户102有关的新的外形因子和/或位姿。作为示例而非限制,如果用户102已经从第一位姿改变为第二位姿,则虚拟现实系统100可使个人UI115适应于用户的第二位姿(例如,如果用户102站着然后坐下来,则可调整个人UI 115的外形因子和位姿以改变其外观、位置和方位以使个人UI 115保持在用户102的视场中)。作为另一示例而非限制,如果用户102选择与个人UI 115的外形因子和位姿相关联的特定应用,则虚拟现实系统100可以确定个人UI 115的外形因子和位姿应当适应个人UI的优选的外形因子和位姿,或者适应与特定应用相关联的外形因子和位姿。作为示例而非限制,如果用户选择视频流应用,则虚拟现实系统100可以选择调整个人UI 115的外形因子和位姿,以模仿真实世界的电影院屏幕。作为另一示例而非限制,如果用户从一个虚拟空间移动到另一个虚拟空间(例如,从工作VR场合移动到电影院VR场合),则虚拟现实系统100可以确定个人UI115应当从工作VR场合(例如,双监视器虚拟显示器)调整到娱乐VR场合(例如,虚拟电影院屏幕)。作为另一示例而非限制,如果用户从第一应用切换到第二应用,则虚拟现实系统100可以调整个人UI 115至最适合用户102(例如,用户想要的和需要的)和/或第二应用的外形因子和位姿。作为示例而非限制,如果用户102从工作相关应用切换到旅行相关应用,则个人UI 115的外形因子和位姿可以从更适合于工作场合(例如,大型双监视器虚拟显示器)的外形因子和位姿改变为更适合于旅行场合(例如,对于观光具有较少视线遮挡的更小智能手机或平板计算机虚拟显示器)的外形因子和位姿。作为另一示例而非限制,个人UI 115可用于在3D VR环境125中运行2D应用。如果用户想要观看电影,则用户可以将电影从2D虚拟流应用投影到3D VR环境125中的虚拟电视屏幕上。尽管本公开描述了以特定方式检测上下文的改变,但是本公开也考虑了以任何合适方式检测上下文的改变。
在特定实施例中,基于检测到的第一用户102的上下文的改变来确定是否调整个人UI 115包括:识别与用户在VR环境125中的活动相关联的、个人UI 115的预定外形因子和位姿。也就是说,可以存在基于虚拟现实系统100当前正在执行的活动或应用的、预先确定的个人UI 115的外形因子和位姿。基于用户102当前正在进行的活动,个人UI 115的预定外形因子和位姿可以基于个人UI的这样的外形因子和位姿:该外形因子和位姿是个人UI 115的最少视线遮挡和/或最有效的外形因子和位姿。作为示例而非限制,如果用户102在虚拟会议室或报告厅中,则个人UI 115的外形因子和位姿可以是用户102正前面的用于做笔记的无视线遮挡虚拟膝上型计算机。作为另一示例,如果用户102在城市旅游或与另一用户在虚拟聊天室中聊天,则个人UI 115的外形因子和位姿可以采用无视线遮挡的虚拟智能手机或平板计算机的外观。作为另一示例,如果用户处于工作VR环境125中,则个人UI 115的外形因子和位姿可以采用虚拟多监视器设置的外观和布局,该虚拟多监视器设置使得用户102能够高效且有效地工作。作为另一示例,如果用户102处于娱乐VR场合中(例如,观看电影),则个人UI 115的外形因子和位姿可以表现为看起来远离用户102的大型虚拟电影屏幕(模仿真实世界的电影院体验)。尽管本公开描述了以特定方式识别个人UI 115的预定外形因子和位姿,但本公开也考虑了以任一合适方式确定UI的外形因子和位姿。
在特定实施例中,虚拟现实系统100可以为VR显示设备135的一个或多个显示器渲染VR环境125的第二输出图像。响应于基于检测到的第一用户102的上下文的改变确定调整个人UI 115,个人UI 115可以被调整为具有与第一用户102有关的第二外形因子和第二位姿。作为示例而非限制,如图3所示,VR环境125的第一输出图像具有包括多个较大虚拟显示器的个人UI 115。在图6中,当用户102相对于VR环境125的上下文已经改变时,VR环境125的第二输出图像具有适应已改变的上下文的个人UI 115。该个人UI 115具有更小、更少视线遮挡的个人UI 115的外形因子和位姿(这可以允许用户探索新的VR环境125),而不必在用户的视线中具有更大的、有视线遮挡的显示器140(例如,图6中的虚拟显示器140a和140b可以在数量上少于和/或大小上小于图3中的虚拟显示器140a-140d)。作为示例而非限制,如果用户102处于能够观看VR环境125很重要的场合中(例如,用户可能正在虚拟观光或旅行),则个人UI 115可以被调整为具有更小的外形因子(例如,智能手表或智能手机的外形因子)和更少视线遮挡的位姿(例如,用户的虚拟手腕上的智能手表或用户的虚拟手中的智能手机),以允许用户102探索其虚拟的周围环境。因此,实施例的技术优势可以包括:响应于检测到的用户102相对于VR环境125的上下文的改变而自动调整个人UI 115的外形因子和位姿。尽管本公开描述了以特定方式渲染VR环境125的第二输出图像,但是本公开也考虑了以任何合适方式呈现输出图像。
图7示出了个人UI 115的虚拟显示器140的布置结构示例图。在特定实施例中,个人UI 115可以包括多个2D虚拟显示器140。该多个2D虚拟显示器140可以按照基于块的布局来布置,该布局包括用于该多个2D虚拟显示器140的多个预设方位。也就是说,该多个2D虚拟显示器可以被布置为使得每个虚拟显示器140可以“快动(snap)”到一位置(即,当用户将其拖拽到期望位置的附近时自动跳到预定位置)。这可以使用户102(作为用户的VR渲染(例如用户的化身)示出)能够容易且高效地布置该多个虚拟显示器140。作为示例而非限制,用户102可以将各个虚拟显示器140并排布置为彼此相邻、在彼此上方或下方等。基于块的布局可以防止多个虚拟显示器140彼此交叠,例如防止使一个虚拟显示器140遮挡另一个虚拟显示器140的视图。另外,用户可以调整虚拟显示器140以将显示器“拉伸”或扩展成覆盖基于块的布局的多于一个的块。用户可以通过拖拽、添加、移除或以其他更改虚拟显示器140的布局的方式,来调整基于块的、系统中的虚拟显示器140。尽管本公开描述了以特定方式布置虚拟显示器140,但是本公开也考虑了以任何合适方式布置虚拟显示器。
在特定实施例中,该多个2D虚拟显示器140中的第一2D虚拟显示器140可操作以执行多个应用中的第一组应用。该多个2D虚拟显示器140中的第二2D虚拟显示器140可操作以执行该多个应用中的第二组应用。作为示例而非限制,第一虚拟显示器140a可操作以运行第一应用121a,第二虚拟显示器140b可操作以运行第二应用121b,第三虚拟显示器140c可操作以运行第三应用121c,等等。可以使用个人UI 115的一个或多个应用图标120来选择应用121(参见图4)。各个虚拟显示器140能够彼此独立地执行应用121。作为示例而非限制,第一虚拟显示器140a能够显示消息收发应用(例如,应用121a),而第二虚拟显示器140b能够操作游戏应用(例如,应用121b),并且第三虚拟显示器140c能够操作照片编辑应用(例如,应用121c)。各虚拟显示器可以并行操作个人UI 115的虚拟显示器(例如,虚拟显示器140a-140c)上的这些单独的应用(例如,应用程序121a-121c)。尽管本公开描述了以特定方式在虚拟显示器上执行多个应用,但是本公开也考虑了以任何合适方式在虚拟显示器上执行应用。
图8A示出了第一用户102在真实世界环境130中使用具有真实世界计算设备UI118的真实世界计算设备117(例如,平板计算机)的示例。图8A处于第一用户102的视角。作为示例而非限制,第一用户102可以在其自己家中,并且VR显示设备135可以显示用户的真实世界环境130的透传视图。图8B示出了第一用户102在VR环境125中的个人UI 115的示例。图8B处于第一用户102的视角。作为示例而非限制,VR显示设备135可以显示所渲染的VR环境125,其中第一用户102处于虚拟公园。
图9示出了将内容投射到VR环境125中的共享虚拟屏幕141上的示例。图9处于第一用户102a的视角。VR显示设备135可以显示所渲染的VR环境125,其中第一用户102a与第二用户102b处于共享虚拟空间中。在特定实施例中,虚拟现实系统100可以将来自第一用户102a的个人UI 115a的内容投射到VR环境125中的共享虚拟显示器上,例如共享虚拟屏幕141。共享虚拟屏幕141能够被第一用户102a和一个或多个第二用户102b观看,并且在共享虚拟屏幕141上投射或显示的内容可以被第一用户102a和一个或多个第二用户102b观看。当将内容从第一用户102a的个人UI 115a投射到待由第一用户102a和一个或多个第二用户102b观看的共享虚拟屏幕上时,第一用户102a的个人UI 115a上的信息和内容可以对一个或多个第二用户102b保持隐藏或阻止。共享虚拟屏幕141的外形因子相对于VR环境125中的第一用户102a和第二用户102b可以是相同的。共享虚拟屏幕141的位姿相对于VR环境125中的第一用户102a和第二用户102b可以是相同的。共享虚拟屏幕141的位姿相对于VR环境125可以是相同的(例如,第一用户102a和第二用户102b可以在VR环境125的同一角落找到共享虚拟屏幕141)。尽管本公开描述了以特定方式投射内容,但是本公开也考虑了以任何合适方式投射内容。
在特定实施例中,VR环境125可以包括用于第一用户102a和一个或多个第二用户102b的共享虚拟空间,例如用于第一用户102a和一个或多个第二用户102b的虚拟环境125。第一用户102a和一个或多个第二用户102b可以在诸如图9中所示的VR环境125等共享虚拟空间中会面和交互。第一用户102a和一个或多个第二用户102b可以在基于真实世界地点(例如,真实世界公园)或虚拟空间(例如,在VR环境125中渲染的外星人星球)的共享虚拟空间中会面。第一用户102a和一个或多个第二用户102b可以在共享虚拟空间中彼此交互。作为示例而非限制,如果第一用户102a接收到来自第二用户102b的视频呼叫,则第一用户102a和第二用户102b可以进入虚拟会议室并且“面对面”地交谈,而不是通过视频呼叫应用的2D显示彼此交谈。作为另一示例而非限制,第一用户102a和一个或多个第二用户102b可以彼此交互并在共享虚拟空间(例如,其中用户可以将控制器106用作网球拍)中进行虚拟网球游戏。尽管本公开描述了用户以特定方式在共享虚拟空间中会面,但是本公开也考虑了用户以任何合适方式在共享虚拟空间中会面。
在特定实施例中,第一用户102a的隐私设置可以防止一个或多个第二用户观看与第一用户102a相关联的个人UI 115a上的内容。类似地,一个或多个第二用户102b的隐私设置可以防止第一用户102a观看与该一个或多个第二用户102b相关联的个人UI 115b上的内容。其他用户的个人UI 115可以表现为缺少信息或内容的浮动空白对象(如图9所示,其中第二用户102b的个人UI 115b表现为缺少任何信息或内容的浮动对象)。作为示例而非限制,第二用户102b将不能看到在第一用户102a的个人UI 115a上显示的文档和照片。也就是说,另一用户的个人UI 115的外形因子和位姿可以表现为标准外形因子和位姿。也就是说,如果第一用户102a的个人UI 115a具有大型电视屏幕的外形因子和远离第一用户102a的位姿,则第二用户102b可以仅将第一用户102a的个人UI 115a视为具有标准外形因子和接近第一用户102a的位姿的空白浮动对象。可以调整隐私设置以允许其他用户观看另一用户的个人UI 115上的信息或内容项。尽管本公开描述了以特定方式利用隐私设置,但本公开也考虑了任何合适方式的隐私设置。
图10示出了用于在VR环境中渲染个人UI的示例方法1000。该方法可以开始于步骤1010,在步骤1010一个或多个计算系统可以为VR显示设备的一个或多个显示器渲染VR环境的第一输出图像。VR环境可以包括与第一用户相关联的个人UI。个人UI可以具有与第一用户有关的第一外形因子和第一位姿。个人UI可以是包括一个或多个2D虚拟显示器的虚拟对象。个人UI可操作以执行多个应用。在步骤1020,该一个或多个计算系统可以检测第一用户相对于VR环境的上下文的改变。在步骤1030,该一个或多个计算系统可以基于检测到的第一用户的上下文的改变,来确定是否调整个人UI。在步骤1040,该一个或多个计算系统可以为VR显示设备的一个或多个显示器渲染VR环境的第二输出图像。响应于基于检测到的第一用户的上下文的改变确定调整个人UI,个人UI可以被调整为具有与第一用户有关的第二外形因子和第二位姿。特定实施例可以在适当的情况下重复图10中的方法的一个或多个步骤。尽管本公开描述和示出了图10的方法的以特定顺序出现的特定步骤,但是本公开也考虑了图10的方法的以任何合适顺序出现的任何合适的步骤。此外,尽管本公开描述和示出了用于在VR环境中呈现个人UI的示例方法1000,该方法包括图10的方法的特定步骤,但是本公开也考虑了用于在VR环境中呈现个人UI的任何合适的方法,该方法在适当的情况下可以包括图10的方法的所有、一些步骤或不包括这些步骤。此外,尽管本公开描述和示出了执行图10的方法的特定步骤的特定部件、设备或系统,但是本公开也考虑执行图10的方法的任何合适步骤的任何合适的部件、设备或系统的任何合适的组合。
图11示出了与VR或社交网络系统相关联的示例网络环境1100。网络环境1100包括通过网络1110彼此连接的客户端系统1130、VR或社交网络系统1160和第三方系统1170。虽然图11示出了客户端系统1130、VR或社交网络系统1160、第三方系统1170和网络1110的特定布置结构,但是本公开也考虑了客户端系统1130、VR或社交网络系统1160、第三方系统1170和网络1110的任何合适的布置结构。作为示例而非限制,客户端系统1130、VR或社交网络系统1160和第三方系统1170中的两个或更多个可以绕过网络1110而彼此直接连接。作为另一示例,客户端系统1130、VR或社交网络系统1160和第三方系统1170中的两个或更多个可以在物理上或在逻辑上全部或部分地彼此位于同一位置。此外,尽管图11示出了特定数量的客户端系统1130、VR或社交网络系统1160、第三方系统1170和网络1110,但是本公开也考虑了任何合适数量的客户端系统1130、VR或社交网络系统1160、第三方系统1170和网络1110。作为示例而非限制,网络环境1100可以包括多个客户端系统1130、多个VR或社交网络系统1160、多个第三方系统1170和多个网络1110。
本公开考虑了任何合适的网络1110。作为示例而非限制,网络1110的一个或多个部分可以包括自组网、内联网、外联网、虚拟专用网络(virtual private network,VPN)、局域网(local area network,LAN)、无线LAN(WLAN)、广域网(wide area network,WAN)、无线WAN(WWAN)、城域网(metropolitan area network,MAN)、互联网的一部分、公共交换电话网(public switched telephone network,PSTN)的一部分、蜂窝电话网、或这些网络中的两个或更多个的组合。网络1110可以包括一个或多个网络1110。
链路1150可以使客户端系统1130、社交网络系统1160和第三方系统1170连接到通信网络1110或彼此连接。本公开考虑了任何合适的链路1150。在特定实施例中,一条或多条链路1150包括一条或多条有线链路(例如,数字用户线路(digital subscriber line,DSL)或电缆数据服务接口规范(data over cable service interface specification,DOCSIS))、无线链路(例如,Wi-Fi或全球微波接入互操作性(worldwide interoperabilityfor microwave access,WiMAX))、或光链路(例如,同步光纤网络(synchronous opticalnetwork,SONET)或同步数字体系(synchronous digital hierarchy,SDH))。在特定实施例中,一条或多条链路1150各自包括自组网、内联网、外联网、VPN、LAN、WLAN、WAN、WWAN、MAN、互联网的一部分、PSTN的一部分、基于蜂窝技术的网络、基于卫星通信技术的网络、另一链路1150、或两个或更多个这样的链路1150的组合。各链路1150在整个网络环境1100中不必是相同的。在一个或多个方面,一条或多条第一链路1150可以不同于一条或多条第二链路1150。
在特定实施例中,客户端系统1130可以是包括硬件、软件、或嵌入式逻辑部件或两个或更多个这些部件的组合、并且能够执行由客户端系统1130实现或支持的适当功能的电子设备。作为示例而非限制,客户端系统1130可以包括计算机系统,例如台式计算机、笔记本或膝上型计算机、上网本、平板计算机、电子书阅读器、全球定位系统(GPS)设备、摄像头、个人数字助理(personal digital assistant,PDA)、手持电子设备、蜂窝电话、智能手机、增强/虚拟现实设备、其他合适的电子设备、或它们的任何合适的组合。本公开考虑了任何合适的客户端系统1130。客户端系统1130可以使客户端系统1130处的网络用户能够访问网络1110。客户端系统1130可以使其用户能够与其他客户端系统1130处的其他用户进行通信。
在特定实施例中,客户端系统1130(例如,HMD)可以包括透传引擎1132以提供本文所述的透传功能,并且可以具有一个或多个附加件、插件或其他扩展。客户端系统1130的用户可连接到特定服务器(诸如服务器1162,或与第三方系统1170相关联的服务器)。服务器可接受请求并与客户端系统1130通信。
在特定实施例中,VR或社交网络系统1160可以是网络可寻址计算系统,其可以托管在线虚拟现实环境或社交网络。VR或社交网络系统1160可以生成、存储、接收和发送社交网络数据,例如用户资料数据、概念资料数据、社交图谱信息或与在线社交网络相关的其他合适数据。网络环境1100的其他部件可以直接或经由网络1110访问社交网络或VR系统1160。作为示例而非限制,客户端系统1130可以直接或经由网络1110使用网络浏览器或与社交网络或VR系统1160相关的本地应用(例如,移动社交网络应用、消息收发应用、其他合适的应用或其任意组合)访问社交网络或VR系统1160。在特定实施例中,社交网络或VR系统1160可包括一个或多个服务器1162。每个服务器1162可以是单一服务器,也可以是跨越多台计算机或多个数据中心的分布式服务器。服务器1162可以有各种类型,例如但不限于,网络服务器、新闻服务器、邮件服务器、消息服务器、广告服务器、文件服务器、应用服务器、交换服务器、数据库服务器、代理服务器、适合执行本文所述功能或过程的其他服务器,或其任意组合。在特定实施例中,每个服务器1162可以包括硬件、软件、或嵌入式逻辑部件、或两个或更多个用于执行由服务器1162实现或支持的适当功能的这样的部件的组合。在特定实施例中,社交网络或VR系统1160可以包括一个或多个数据存储区(data store)1164。数据存储区1164可以用于存储各种类型的信息。在特定实施例中,存储在数据存储区1164中的信息可以根据特定的数据结构进行组织。在特定实施例中,每个数据存储区1164可以是关系型、列式、关联型或其它合适的数据库。尽管本公开描述或说明了特定类型的数据库,但是本公开也考虑了任何合适类型的数据库。特定实施例可以提供使客户端系统1130、社交网络或VR系统1160或第三方系统1170能够管理、检索、修改、添加或删除存储在数据存储区1164中的信息的接口。
在特定实施例中,社交网络或VR系统1160可将一个或多个社交图谱存储在一个或多个数据存储区1164中。在特定实施例中,社交图谱可以包括多个节点、以及连接这些节点的多条边,该多个节点可以包括多个用户节点(每个用户节点对应于特定用户)或多个概念节点(每个概念节点对应于特定概念)。社交网络或VR系统1160可以为在线社交网络的用户提供与其他用户交流和交互的能力。在特定实施例中,用户可以经由社交网络或VR系统1160加入在线社交网络,然后向他们希望联系的社交网络或VR系统1160的一些其他用户添加连接(例如关系)。在此,术语“朋友”可以指用户经由社交网络或VR系统1160与之形成连接、关联或关系的、社交网络或VR系统1160的任何其他用户。
在特定实施例中,社交网络或VR系统1160可以为用户提供对由社交网络或VR系统1160支持的各种类型的项目或对象采取行动的能力。作为示例而非限制,项目和对象可以包括社交网络或VR系统1160的用户可能属于的群组或社交网络、用户可能感兴趣的事件或日历条目、用户可能使用的基于计算机的应用、允许用户经由服务购买或出售项目的交易、用户可能执行的与广告的交互,或其他合适的项目或对象。用户可以与能够在社交网络或VR系统1160中或通过第三方系统1170的外部系统表示的任何事物进行交互,该外部系统与社交网络或VR系统1160分开,并经由网络1110与社交网络或VR系统1160耦接。
在特定实施例中,社交网络或VR系统1160具有链接各种实体的能力。作为示例而非限制,社交网络或VR系统1160可以使用户能够彼此交互并接收来自第三方系统1170或其他实体的内容,或者允许用户通过应用编程接口(application programming interface,API)或其他通信信道与这些实体交互。
在特定实施例中,第三方系统1170可以包括一种或多种类型的服务器、一个或多个数据存储区、一个或多个接口(包括但不限于API)、一个或多个网络服务、一个或多个内容源、一个或多个网络、或例如服务器可以与之进行通信的任何其他合适的部件。第三方系统1170可以由与操作社交网络或VR系统1160的实体不同的实体来操作。然而,在特定的实施例中,社交网络或VR系统1160和第三方系统1170可以彼此结合操作,以为社交网络或VR系统1160的用户或第三方系统1170的用户提供社交网络服务。从这个意义上讲,社交网络或VR系统1160可以提供平台或主干网,其他系统(如第三方系统1170)可以使用该平台或主干网向互联网上的用户提供社交网络服务和功能。
在特定实施例中,第三方系统1170可以包括第三方内容对象提供者。第三方内容对象提供者可以包括一个或多个内容对象源,该一个或多个内容对象源可被传送到客户端系统1130。作为示例而非限制,内容对象可以包括关于用户感兴趣的事物或活动的信息,例如电影放映时间、电影评论、餐馆评论、餐馆菜单、产品信息和评论、或其他合适的信息。作为另一示例而非限制,内容对象可以包括激励内容对象,例如优惠券、折扣票、礼品券、或其他合适的激励对象。
在特定实施例中,社交网络或VR系统1160还包括用户生成的内容对象,其可以增强用户与社交网络或VR系统1160的交互。用户生成的内容可以包括用户可以添加、上传、发送或“发布”到社交网络或VR系统1160的任何内容。作为示例而非限制,用户从客户端系统1130向社交网络或VR系统1160传送帖子。帖子可以包括状态更新数据或其他文本数据、位置信息、照片、视频、链接、音乐或其他类似的数据或媒体。内容也可由第三方通过“通信渠道”(如新闻推送或流)添加到社交网络或VR系统1160中。
在特定实施例中,社交网络或VR系统1160可以包括各种服务器、子系统、程序、模块、日志和数据存储区。在特定实施例中,社交网络或VR系统1160可以包括以下中的一个或多个:网络服务器、操作记录器、API-请求服务器、相关性和排名引擎、内容对象分类器、通知控制器、操作日志、第三方内容对象曝光日志、推理模块、授权/隐私服务器、搜索模块、广告定位模块、用户界面模块、用户资料存储区、连接存储区、第三方内容存储区或位置存储区。社交网络或VR系统1160还可包括合适的部件,如网络接口、安全机制、负载平衡器、故障转移服务器、管理和网络操作控制台、其他合适的部件或其任意合适的组合。在特定实施例中,社交网络或VR系统1160可以包括用于存储用户资料的一个或多个用户资料存储区。例如,用户资料可以包括传记信息、人口统计信息、行为信息、社交信息或其他类型的描述性信息,如工作经验、教育历史、爱好或偏好、兴趣、亲密关系或位置。兴趣信息可以包括与一个或多个类别相关的兴趣。类别可以是一般的,也可以是特定的。作为示例而非限制,如果用户“喜欢”一篇关于某品牌鞋子的文章,那么类别可以是该品牌,也可以是“鞋子”或“服装”等一般类别。连接存储区可用于存储用户的连接信息。连接信息可指示具有相似或共同工作经验、团体成员资格、爱好、教育经历或以任何方式相关或共享共同属性的用户。连接信息还可以包括用户定义的不同用户与内容(内部和外部)之间的连接。网络服务器可用于经由网络1110将社交网络或VR系统1160链接到一个或多个客户端系统1130或一个或多个第三方系统1170。网络服务器可包括邮件服务器或其他消息收发功能,用于在社交网络或VR系统1160与一个或多个客户端系统1130之间接收和发送消息。API请求服务器可允许第三方系统1170通过调用一个或多个API来访问来自社交网络或VR系统1160的信息。操作记录器可用于从网络服务器接收有关用户在社交网络或虚拟现实系统1160线上或线下操作的通信。结合操作日志,可以维护用户向第三方内容对象曝光的第三方内容对象日志。通知控制器可向客户端系统1130提供有关内容对象的信息。信息可以作为通知推送到客户端系统1130,也可以响应于从客户端系统1130接收到的请求从客户端系统1130提取信息。授权服务器可用于强制执行社交网络或VR系统1160的用户的一个或多个隐私设置。用户的隐私设置确定了如何共享与用户相关的特定信息。授权服务器可允许用户(例如通过设置适当的隐私设置)选择是否让社交网络或VR系统1160记录其行为,或者是否与其他系统(第三方系统1170)共享其行为。第三方内容对象存储区可用于存储从第三方(如第三方系统1170)接收的内容对象。位置存储区可用于存储从客户端系统1130接收到的与用户相关的位置信息。广告定价模块可结合社交信息、当前时间、位置信息或其他适当信息,以通知的形式向用户提供相关广告。
图12示出了示例计算机系统1200。在特定实施例中,一个或多个计算机系统1200执行本文所描述或所示出的一个或多个方法的一个或多个步骤。在特定实施例中,一个或多个计算机系统1200提供本文所描述或所示出的功能。在特定实施例中,在一个或多个计算机系统1200上运行的软件执行本文所描述或所示出的一个或多个方法的一个或多个步骤,或者提供本文所描述或所示出的功能。特定实施例包括一个或多个计算机系统1200的一个或多个部分。此处,在适当的情况下,对计算机系统的引用可以涵盖计算设备,反之亦然。此外,在适当的情况下,对计算机系统的引用可以涵盖一个或多个计算机系统。
本公开考虑了任意适当数量的计算机系统1200。本公开考虑了计算机系统1200采用任何适当的物理形式。作为示例而非限制,计算机系统1200可以是嵌入式计算机系统、片上系统(system-on-chip,SOC)、单板计算机系统(single-board computer system,SBC)(例如,模块上计算机(computer-on-module,COM)或模块上系统(system-on-module,SOM))、台式计算机系统、膝上型或笔记本计算机系统、交互式自助服务机(interactivekiosk)、大型机、计算机系统网格、移动电话、个人数字助理(PDA)、服务器、平板计算机系统、增强/虚拟现实设备或这些系统中的两种或更多种的组合。在适当的情况下,计算机系统1200可以包括一个或多个计算机系统1200;可以是单一型或分布式;可以跨越多个位置;可以跨越多台机器;可以跨越多个数据中心;或者驻留于云中,所述云可以包括一个或多个网络中的一个或多个云组件。在适当的情况下,一个或多个计算机系统1200可以在没有实质上的空间或时间限制的情况下执行本文描述或示出的一种或多种方法的一个或多个步骤。作为示例而非限制,一个或多个计算机系统1200可以实时地或以批处理模式执行本文描述或示出的一种或多种方法的一个或多个步骤。在适当的情况下,一个或多个计算机系统1200可以在不同的时间或在不同的位置执行本文描述或示出的一种或多种方法的一个或多个步骤。
在特定实施例中,计算机系统1200包括处理器1202、内存1204、存储器1206、输入/输出(input/output,I/O)接口1208、通信接口1210和总线1212。尽管本公开描述并示出了在特定布置中具有特定数量的特定部件的特定计算机系统,但本公开也考虑了在任何合适布置结构中具有任何合适数量的任何合适部件的任何合适的计算机系统。
在特定实施例中,处理器1202包括用于执行指令(例如,构成计算机程序的那些指令)的硬件。作为示例而非限制,为了执行指令,处理器1202可以检索(或取回)来自内部寄存器、内部缓存、内存1204或存储器1206的指令;解码并执行这些指令;并且随后将一个或多个结果写入内部寄存器、内部缓存、内存1204或存储器1206。在特定实施例中,处理器1202可以包括用于数据、指令或地址的一个或多个内部缓存。在适当的情况下,本公开考虑了包括任何合适数量的任何合适的内部缓存的处理器1202。作为示例而非限制,处理器1202可以包括一个或多个指令缓存、一个或多个数据缓存和一个或多个转译后备缓冲器(translation lookaside buffer,TLB)。指令缓存中的指令可以是内存1204或存储器1206中的指令的副本,并且该指令缓存可以加速处理器1202对这些指令的检索。数据缓存中的数据可以是内存1204或存储器1206中的数据的副本,以供在处理器1202处执行的指令进行操作;可以是在处理器1202处执行的先前指令的结果,以供在处理器1202处执行的后续指令访问或用于写入内存1204或存储器1206;或者可以是其他合适的数据。数据缓存可以加速处理器1202的读操作或写操作。TLB可以加速处理器1202的虚拟地址转译。在特定实施例中,处理器1202可以包括用于数据、指令或地址的一个或多个内部寄存器。本公开考虑了在适当的情况下包括任何适当数量的任何适当的内部寄存器的处理器1202。在适当的情况下,处理器1202可以包括一个或多个算术逻辑单元(arithmetic logic unit,ALU);可以是多核处理器;或者可以包括一个或多个处理器1202。尽管本公开描述并示出了特定处理器,但是本公开也考虑了任何适当的处理器。
在特定实施例中,内存1204包括主内存,用于存储处理器1202执行的指令或处理器1202操作的数据。作为示例而非限制,计算机系统1200可以将指令从存储器1206或另一个源(例如,另一个计算机系统1200)加载到内存1204。然后,处理器1202可以将指令从内存1204加载到内部寄存器或内部缓存。为了执行指令,处理器1202可以从内部寄存器或内部缓存中检索指令并对这些指令进行解码。在这些指令的执行期间或之后,处理器1202可以将一个或多个结果(可以是中间或最终结果)写入内部寄存器或内部缓存。然后,处理器1202可以将这些结果中的一个或多个写入内存1204。在特定实施例中,处理器1202仅执行一个或多个内部寄存器或内部缓存或内存1204(相对于存储器1206或其他地方)中的指令,并且仅对一个或多个内部寄存器或内部缓存或内存1204(相对于存储器1206或其他地方)中的数据进行操作。一条或多条内存总线(可以各自包括地址总线和数据总线)可以将处理器1202耦接到内存1204。如下文所述,总线1212可以包括一条或多条内存总线。在特定实施例中,一个或多个内存管理单元(memory management unit,MMU)位于处理器1202与内存1204之间,并且促进由处理器1202请求的对内存1204的访问。在特定实施例中,内存1204包括随机存取存储器(random access memory,RAM)。在适当的情况下,该RAM是易失性存储器。在适当的情况下,该RAM可以为动态RAM(dynamic RAM,DRAM)或静态RAM(static RAM,SRAM)。而且,在适当的情况下,该RAM可以为单端口或多端口RAM。本公开考虑了任何合适的RAM。在适当的情况下,内存1204可以包括一个或多个内存1204。尽管本公开描述并示出了特定内存,但是本公开也考虑了任何合适的内存。
在特定实施例中,存储器1206包括用于数据或指令的大容量存储器。作为示例而非限制,存储器1206可以包括硬盘驱动器(hard disk drive,HDD)、软盘驱动器、闪存、光盘、磁光盘、磁带或通用串行总线(universal serial bus,USB)驱动器或者这些中的两种或更多种的组合。在适当的情况下,存储器1206可以包括可移动或不可移动(或固定)介质。在适当的情况下,存储器1206可以在计算机系统1200的内部或外部。在特定实施例中,存储器1206是非易失性固态存储器。在特定实施例中,存储器1206包括只读存储器(read-onlymemory,ROM)。在适当的情况下,该ROM可以是掩模编程ROM、可编程ROM(programmable ROM,PROM)、可擦除PROM(erasable PROM,EPROM)、电可擦除PROM(electrically erasablePROM,EEPROM)、电可改写ROM(electrically alterable ROM,EAROM)或闪存或者这些中的两种或更多种的组合。本公开考虑了采用任何适当的物理形式的大容量存储器1206。在适当的情况下,存储器1206可以包括促进处理器1202和存储器1206之间的通信的一个或多个存储控制单元。在适当的情况下,存储器1206可以包括一个或多个存储器1206。尽管本公开描述并示出了特定存储器,但时本公开也考虑了任何合适的存储器。
在特定实施例中,I/O接口1208包括硬件、软件或两者,从而提供用于计算机系统1200与一个或多个I/O设备之间的通信的一个或多个接口。在适当的情况下,计算机系统1200可以包括这些I/O设备中的一个或多个。这些I/O设备中的一个或多个能够实现个人与计算机系统1200之间的通信。作为示例而非限制,I/O设备可以包括键盘、按键、传声器、监视器、鼠标、打印机、扫描仪、扬声器、静物摄像头、手写笔、平板计算机、触摸屏、追踪球、视频摄像头、另一合适的I/O设备或其中的两个或更多个的组合。I/O设备可以包括一个或多个传感器。本公开考虑了任何合适的I/O设备和用于这些I/O设备的任何合适的I/O接口1208。在适当的情况下,I/O接口1208可以包括一个或多个设备或软件驱动程序,该一个或多个设备或软件驱动程序使处理器1202能够驱动这些I/O设备中的一个或多个。在适当的情况下,I/O接口1208可以包括一个或多个I/O接口1208。尽管本公开描述和示出了特定的I/O接口,但是本公开也考虑了任何合适的I/O接口。
在特定实施例中,通信接口1210包括硬件、软件或两者,从而提供一个或多个接口,用于计算机系统1200与一个或多个其它计算机系统1200或一个或多个网络之间的通信(例如,基于数据包的通信)。作为示例而非限制,通信接口1210可以包括用于与以太网或其他有线网络通信的网络接口控制器(NIC)或网络适配器,或用于与无线网络(如WI-FI网络)通信的无线NIC(WNIC)或无线适配器。本公开考虑了任何合适的网络和任何合适的通信接口1210。作为示例而非限制,计算机系统1200可以与如下的网络进行通信:自组网、个域网(personal area network,PAN)、局域网(LAN)、广域网(WAN)、城域网(MAN)、或互联网的一个或多个部分、或这些中的两个或更多个的组合。这些网络中的一个或多个网络的一个或多个部分可以是有线或无线的。例如,计算机系统1200可以与如下网络进行通信:无线PAN(wireless PAN,WPAN)(例如,蓝牙WPAN)、Wi-Fi网络、WI-MAX网络、蜂窝电话网络(例如,全球移动通信系统(global system for mobile communications,GSM)网络)、或其他合适的无线网络、或这些中的两个或更多个的组合。在适当的情况下,计算机系统1200可以包括用于这些网络中的任何网络的任何合适的通信接口1210。在适当情况下,通信接口1210可以包括一个或多个通信接口1210。尽管本公开描述和示出了特定的通信接口,但是本公开也考虑了任何合适的通信接口。
在特定实施例中,总线1212包括使计算机系统1200的各部件彼此耦接的硬件、软件或两者。作为示例而非限制,总线1212可以包括:加速图形端口(accelerated graphicsport,AGP)或其他图形总线、增强型工业标准体系架构(enhanced industry standardarchitecture,EISA)总线、前端总线(front-side bus,FSB)、超传输(hypertransport,HT)互连、工业标准体系架构(industry standard architecture,ISA)总线、无限带宽(infiniband)互连、低引脚数(low-pin-count,LPC)总线、内存总线、微通道体系架构(micro channel architecture,MCA)总线、外围部件互连(peripheral componentinterconnect,PCI)总线、串行总线(PCIe)、串行高级技术附件(serial advancedtechnology attachment,SATA)总线、本地视频电子标准协会(Video ElectronicsStandards Association local,VLB)总线、或另一合适的总线、或这些中的两个或更多个的组合。在适当的情况下,总线1212可以包括一条或多条总线1212。尽管本公开描述和示出了特定的总线,但是本公开也考虑了任何合适的总线或互连。
在本文中,在适当的情况下,计算机可读非暂态存储介质(medium)或介质(media)可以包括:一个或多个基于半导体的集成电路(integrated circuit,IC)或其他集成电路(例如,现场可编程门阵列(field-programmable gate array,FPGA)或专用IC(application-specific IC,ASIC))、硬盘驱动器(HDD)、混合硬盘驱动器(hybrid harddrive,HHD)、光盘、光盘驱动器(optical disc drive,ODD)、磁光盘、磁光驱动器、软盘、软盘驱动器(FDD)、磁带、固态驱动器(solid-state drive,SSD)、RAM驱动器、安全数字卡或驱动器、任何其他合适的计算机可读非暂态存储介质、或这些中的两个或更多个的任何合适的组合。在适当的情况下,计算机可读非暂态存储介质可以是易失性的、非易失性的、或易失性与非易失性的组合。
在本文中,除非另有明确指示或上下文另有指示,否则“或”是开放性的而非排他性的。因此,在本文中,除非另有明确指示或上下文另有指示,否则“A或B”指的是“A、B、或这两者”。此外,除非另有明确指示或上下文另有指示,否则“和”既是联合的,也是各自的。因此,在此,除非另有明确指示或上下文另有指示,否则“A和B”是指“A和B,联合地或各自地”。
本公开的范围涵盖本领域普通技术人员将理解的对文本描述或示出的示例实施例的所有改变、替换、变化、变更和修改。本公开的范围不限于本文描述或示出的示例实施例。此外,尽管本公开在此描述和示出了包括特定部件、元件、特征、功能、操作或步骤的各个实施例,但是这些实施例中的任何一个可以包括本领域普通技术人员将理解的在文中任何处描述或示出的任何部件、元件、特征、功能、操作或步骤的任何组合或排列。此外,在所附权利要求中对适合于、布置成、能够、配置成、使能、可操作成或操作以执行特定功能的装置或系统或者装置或系统的部件的引用包括该装置、系统、部件,无论其或该特定功能是否被激活、开启或解锁,只要该装置、系统或部件如此地被适合于、布置、能够、配置、使能、可操作或操作即可。另外,尽管本公开描述或示出了提供特定优点的特定实施例,但是特定实施例可以提供这些优点中的一些或全部,或者可以不提供这些优点。
Claims (15)
1.一种方法,包括:由一个或多个计算系统:
为虚拟现实(VR)显示设备的一个或多个显示器渲染VR环境的第一输出图像,其中,所述VR环境包括与第一用户相关联的个人用户界面(UI),其中,所述个人UI具有与所述第一用户有关的第一外形因子和第一位姿,其中,所述个人UI是包括一个或多个2D虚拟显示器的虚拟对象,并且其中,所述个人UI能够操作以执行多个应用;
检测所述第一用户相对于所述VR环境的上下文的改变;
基于检测到的所述第一用户的上下文的改变来确定是否调整所述个人UI;以及
为所述VR显示设备的所述一个或多个显示器渲染所述VR环境的第二输出图像,其中,响应于基于检测到的所述第一用户的上下文的改变确定调整所述个人UI,所述个人UI被调整为具有与所述第一用户有关的第二外形因子和第二位姿。
2.根据权利要求1所述的方法,其中,检测所述第一用户的上下文的改变,包括:
确定所述第一用户在所述VR环境中已经从第一位姿改变为第二位姿;并且优选地,其中,确定所述第一用户已经从所述第一位姿改变为所述第二位姿,包括:
确定所述用户的位置是否在所述VR环境中的对象的阈值距离内;以及
确定所述用户的方位是否指示所述用户正面对所述VR环境中的所述对象。
3.根据权利要求1所述的方法,其中,检测所述第一用户的上下文的改变,包括:
通过所述用户在所述个人UI上从所述多个应用中选择特定应用来接收输入,其中,所述特定应用与所述个人UI的所述第二外形因子和所述第二位姿相关联;或者优选地,其中,检测所述第一用户的上下文的改变,包括:
检测所述第一用户已经从第一虚拟空间移动到第二虚拟空间;或者优选地,其中,检测所述第一用户的上下文的改变,包括:
检测所述第一用户已经从使用所述个人UI上的第一应用切换到第二应用。
4.根据任一项前述权利要求所述的方法,其中,基于检测到的所述第一用户的上下文的改变来确定是否调整所述个人UI,包括:
识别所述个人UI的与所述用户在所述VR环境中的活动相关联的预定外形因子和位姿。
5.根据任一项前述权利要求所述的方法,其中,所述个人UI包括多个2D虚拟显示器,并且其中,所述多个2D虚拟显示器按照基于块的布局布置,所述布局包括用于所述多个2D虚拟显示器的多个预设方位。
6.根据权利要求5所述的方法,其中,所述多个2D虚拟显示器的第一2D虚拟显示器能够操作以执行所述多个应用中的第一组应用,并且其中,所述多个2D虚拟显示器的第二2D虚拟显示器能够操作以执行所述多个应用中的第二组应用。
7.根据任一项前述权利要求所述的方法,其中,所述第一外形因子和所述第二外形因子选自由以下项组成的组:虚拟手表、虚拟智能手机、虚拟平板计算机、虚拟遥控器、虚拟计算机监视器、虚拟电视和虚拟电影屏幕。
8.根据任一项前述权利要求所述的方法,其中,所述VR环境包括用于所述第一用户和一个或多个第二用户的共享虚拟空间;并且优选地,其中,所述第一用户的隐私设置防止所述一个或多个第二用户观看与所述第一用户相关联的所述个人UI上的内容;或者优选地,所述方法还包括:
将来自所述第一用户的所述个人UI的内容投射到所述VR环境中的共享虚拟屏幕上,其中,所述内容能够由所述第一用户和所述一个或多个第二用户在所述共享虚拟屏幕上观看。
9.根据任一项前述权利要求所述的方法,其中,所述多个应用对应于与所述第一用户相关联的真实世界计算设备上的应用。
10.一种或多种计算机可读非暂态存储介质,所述一种或多种计算机可读非暂态存储介质体现软件,所述软件在被执行时能够操作以:
为虚拟现实(VR)显示设备的一个或多个显示器渲染VR环境的第一输出图像,其中,所述VR环境包括与第一用户相关联的个人用户界面(UI),其中,所述个人UI具有与所述第一用户有关的第一外形因子和第一位姿,其中,所述个人UI是包括一个或多个2D虚拟显示器的虚拟对象,并且其中,所述个人UI能够操作以执行多个应用;
检测所述第一用户相对于所述VR环境的上下文的改变;
基于检测到的所述第一用户的上下文的改变来确定是否调整所述个人UI;以及
为所述VR显示设备的所述一个或多个显示器渲染所述VR环境的第二输出图像,其中,响应于基于检测到的所述第一用户的上下文的改变确定调整所述个人UI,所述个人UI被调整为具有与所述第一用户有关的第二外形因子和第二位姿。
11.根据权利要求10所述的介质,其中,所述软件在被执行以检测所述第一用户的上下文的改变时能够操作以:
确定所述第一用户在所述VR环境中已经从第一位姿改变为第二位姿。
12.根据权利要求10或11所述的介质,其中,所述软件在被执行以确定所述第一用户已经从所述第一位姿改变为所述第二位姿时能够操作以:
确定所述用户的位置是否在所述VR环境中的对象的阈值距离内;以及
确定所述用户的方位是否指示所述用户正面对所述VR环境中的所述对象。
13.根据权利要求10所述的介质,其中,所述软件在被执行以检测所述第一用户的上下文的改变时能够操作以:
通过所述用户在所述个人UI上从所述多个应用中选择特定应用来接收输入,其中,所述特定应用与所述个人UI的所述第二外形因子和所述第二位姿相关联。
14.根据权利要求10所述的介质,其中,所述软件在被执行以检测所述第一用户的上下文的改变时能够操作以:
检测所述第一用户已经从使用所述个人UI上的第一应用切换到第二应用。
15.一种系统,包括:一个或多个处理器;以及非暂态存储器,所述非暂态存储器耦接到所述处理器,并且包括能够由所述处理器执行的指令,所述处理器在执行所述指令时能够操作以:
为虚拟现实(VR)显示设备的一个或多个显示器渲染VR环境的第一输出图像,其中,所述VR环境包括与第一用户相关联的个人用户界面(UI),其中,所述个人UI具有与所述第一用户有关的第一外形因子和第一位姿,其中,所述个人UI是包括一个或多个2D虚拟显示器的虚拟对象,并且其中,所述个人UI能够操作以执行多个应用;
检测所述第一用户相对于所述VR环境的上下文的改变;
基于检测到的所述第一用户的上下文的改变来确定是否调整所述个人UI;以及
检测所述第一用户已经从第一虚拟空间移动到第二虚拟空间。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/174,037 US11556169B2 (en) | 2021-02-11 | 2021-02-11 | Adaptable personal user interfaces in cross-application virtual reality settings |
US17/174,037 | 2021-02-11 | ||
PCT/US2022/016110 WO2022174029A1 (en) | 2021-02-11 | 2022-02-11 | Adaptable personal user interfaces in cross-application virtual reality settings |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116917844A true CN116917844A (zh) | 2023-10-20 |
Family
ID=82704948
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202280014443.9A Pending CN116917844A (zh) | 2021-02-11 | 2022-02-11 | 跨应用虚拟现实场合中的可调整个人用户界面 |
Country Status (6)
Country | Link |
---|---|
US (2) | US11556169B2 (zh) |
EP (1) | EP4291971A1 (zh) |
JP (1) | JP2024509668A (zh) |
KR (1) | KR20230137936A (zh) |
CN (1) | CN116917844A (zh) |
WO (1) | WO2022174029A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11928774B2 (en) * | 2022-07-20 | 2024-03-12 | Katmai Tech Inc. | Multi-screen presentation in a virtual videoconferencing environment |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10019962B2 (en) * | 2011-08-17 | 2018-07-10 | Microsoft Technology Licensing, Llc | Context adaptive user interface for augmented reality display |
DE202014103729U1 (de) * | 2014-08-08 | 2014-09-09 | Leap Motion, Inc. | Augmented-Reality mit Bewegungserfassung |
US20180024623A1 (en) * | 2016-07-22 | 2018-01-25 | Google Inc. | Detecting user range of motion for virtual reality user interfaces |
GB2567367A (en) * | 2016-08-04 | 2019-04-10 | Walmart Apollo Llc | Vector-based characterizations of products and individuals with respect to personal partialities |
US10536691B2 (en) * | 2016-10-04 | 2020-01-14 | Facebook, Inc. | Controls and interfaces for user interactions in virtual spaces |
US11164378B1 (en) * | 2016-12-08 | 2021-11-02 | Out of Sight Vision Systems LLC | Virtual reality detection and projection system for use with a head mounted display |
US10166465B2 (en) | 2017-01-20 | 2019-01-01 | Essential Products, Inc. | Contextual user interface based on video game playback |
US20190088030A1 (en) * | 2017-09-20 | 2019-03-21 | Microsoft Technology Licensing, Llc | Rendering virtual objects based on location data and image data |
EP3688562A1 (en) | 2017-09-29 | 2020-08-05 | Apple Inc. | Physical boundary guardian |
WO2019079790A1 (en) * | 2017-10-21 | 2019-04-25 | Eyecam, Inc | ADAPTIVE GRAPHIC USER INTERFACE SYSTEM |
US10803674B2 (en) | 2017-11-03 | 2020-10-13 | Samsung Electronics Co., Ltd. | System and method for changing a virtual reality environment dynamically |
US10671238B2 (en) * | 2017-11-17 | 2020-06-02 | Adobe Inc. | Position-dependent modification of descriptive content in a virtual reality environment |
US20190340818A1 (en) * | 2018-05-04 | 2019-11-07 | Facebook Technologies, Llc | Display Reorientation in a Virtual Reality Environment |
US20200020165A1 (en) * | 2018-07-12 | 2020-01-16 | Bao Tran | Smart device |
US10831266B2 (en) * | 2019-01-03 | 2020-11-10 | International Business Machines Corporation | Personalized adaptation of virtual reality content based on eye strain context |
US11816800B2 (en) * | 2019-07-03 | 2023-11-14 | Apple Inc. | Guided consumer experience |
-
2021
- 2021-02-11 US US17/174,037 patent/US11556169B2/en active Active
-
2022
- 2022-02-11 CN CN202280014443.9A patent/CN116917844A/zh active Pending
- 2022-02-11 WO PCT/US2022/016110 patent/WO2022174029A1/en active Application Filing
- 2022-02-11 KR KR1020237027153A patent/KR20230137936A/ko unknown
- 2022-02-11 EP EP22706964.8A patent/EP4291971A1/en not_active Withdrawn
- 2022-02-11 JP JP2023543355A patent/JP2024509668A/ja active Pending
- 2022-12-14 US US18/066,209 patent/US20230120052A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
US20220253125A1 (en) | 2022-08-11 |
WO2022174029A1 (en) | 2022-08-18 |
KR20230137936A (ko) | 2023-10-05 |
US20230120052A1 (en) | 2023-04-20 |
EP4291971A1 (en) | 2023-12-20 |
JP2024509668A (ja) | 2024-03-05 |
US11556169B2 (en) | 2023-01-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11113891B2 (en) | Systems, methods, and media for displaying real-time visualization of physical environment in artificial reality | |
US11989844B2 (en) | Systems and methods for providing spatial awareness in virtual reality | |
US11417054B1 (en) | Mixed reality objects in virtual reality environments | |
CN115087945A (zh) | 用于在人工现实中自动触发物理环境的实时可视化的系统、方法和介质 | |
US20230290089A1 (en) | Dynamic Mixed Reality Content in Virtual Reality | |
EP4272061A1 (en) | Systems and methods for generating stabilized images of a real environment in artificial reality | |
US20230120052A1 (en) | Adaptable Personal User Interfaces in Cross-Application Virtual Reality Settings | |
US11538214B2 (en) | Systems and methods for displaying stereoscopic rendered image data captured from multiple perspectives | |
US11818474B1 (en) | Sparse RGB cameras for image capture | |
US20240119672A1 (en) | Systems, methods, and media for generating visualization of physical environment in artificial reality | |
US20230221797A1 (en) | Ephemeral Artificial Reality Experiences | |
US20230259194A1 (en) | Spatial Anchor Sharing for Multiple Virtual Reality Systems in Shared Real-World Environments | |
WO2024081260A1 (en) | Systems, methods, and media for generating visualization of physical environment in artificial reality |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |