CN116997881A - 虚拟现实环境中的混合现实对象 - Google Patents
虚拟现实环境中的混合现实对象 Download PDFInfo
- Publication number
- CN116997881A CN116997881A CN202280022190.XA CN202280022190A CN116997881A CN 116997881 A CN116997881 A CN 116997881A CN 202280022190 A CN202280022190 A CN 202280022190A CN 116997881 A CN116997881 A CN 116997881A
- Authority
- CN
- China
- Prior art keywords
- user
- environment
- real world
- real
- display device
- 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
- 238000000034 method Methods 0.000 claims abstract description 74
- 238000009877 rendering Methods 0.000 claims abstract description 22
- 230000006870 function Effects 0.000 claims description 30
- 230000004044 response Effects 0.000 claims description 18
- 238000004590 computer program Methods 0.000 claims description 4
- 230000033001 locomotion Effects 0.000 claims description 4
- 230000015654 memory Effects 0.000 description 31
- 238000004891 communication Methods 0.000 description 19
- 230000006855 networking Effects 0.000 description 16
- 230000008901 benefit Effects 0.000 description 11
- 238000005259 measurement Methods 0.000 description 11
- 238000013459 approach Methods 0.000 description 10
- 230000003287 optical effect Effects 0.000 description 10
- 238000007654 immersion Methods 0.000 description 8
- 230000006378 damage Effects 0.000 description 7
- 208000027418 Wounds and injury Diseases 0.000 description 5
- 239000008186 active pharmaceutical agent Substances 0.000 description 5
- 208000014674 injury Diseases 0.000 description 5
- 230000009471 action Effects 0.000 description 4
- 230000001413 cellular effect Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 238000007726 management method Methods 0.000 description 4
- 230000001360 synchronised effect Effects 0.000 description 4
- 238000013475 authorization Methods 0.000 description 3
- 238000007667 floating Methods 0.000 description 3
- 230000007704 transition Effects 0.000 description 3
- 238000013519 translation Methods 0.000 description 3
- 230000000007 visual effect Effects 0.000 description 3
- 239000000872 buffer Substances 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000002452 interceptive effect Effects 0.000 description 2
- 230000004807 localization 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
- 230000004075 alteration Effects 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 230000003542 behavioural effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000003708 edge detection Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 210000003128 head Anatomy 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
- 230000009191 jumping 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
- 230000008447 perception Effects 0.000 description 1
- 229920001690 polydopamine Polymers 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
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/10—Geometric effects
- G06T15/20—Perspective computation
- G06T15/205—Image-based rendering
-
- 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/0484—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
- G06F3/04842—Selection of displayed objects or displayed text elements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
-
- 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
- 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
- G06T2215/00—Indexing scheme for image rendering
- G06T2215/16—Using real world measurements to influence rendering
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Human Computer Interaction (AREA)
- Computing Systems (AREA)
- Geometry (AREA)
- Computer Graphics (AREA)
- Multimedia (AREA)
- Processing Or Creating Images (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
在一个实施例中,一种方法包括为虚拟VR设备的一个或多个显示器显示第一输出图像,该第一输出图像包括真实世界环境的透视视图。该方法包括使用由VR显示设备的一个或多个摄像头采集的一个或多个图像,来识别该真实世界环境中的真实世界对象。该方法包括接收用户输入,该用户输入指示与该真实世界对象相对应的第一尺寸。该方法包括基于该第一尺寸,自动确定与该真实世界对象相对应的第二尺寸和第三尺寸。该方法包括为VR显示设备的一个或多个显示器渲染VR环境的第二输出图像。该VR环境包括与真实世界对象相对应的MR对象。该MR对象由确定的第一尺寸、第二尺寸和第三尺寸定义。
Description
技术领域
本公开总体上涉及网络环境内的数据库和文件管理,尤其涉及在虚拟现实(virtual reality,VR)环境中与混合现实(mixed reality,MR)对象交互。
背景技术
为了确保用户在VR环境中的安全,传统的空间感知方法需要用户定义一堵边界墙,该边界墙代表供用户在其中四处走动的安全边界周界的外部边界。例如,用户可以在房间的地板上绘制一条线作为边界。该边界可以被绘制用于防止用户在VR环境中四处移动时撞到诸如椅子和办公桌等真实世界对象。当用户接近该边界时,可能出现虚拟墙来警告用户其正在接近该边界,这可以指示在用户的路径上存在诸如椅子或办公桌等真实世界对象。
发明内容
在特定实施例中,沉浸式虚拟现实(VR)系统(例如,头戴式VR护目镜)的用户对真实世界环境的视野可能被该VR系统部分地或完全地遮挡,因此该用户在沉浸在VR环境中时有碰到或撞到真实世界对象的风险。此外,沉浸在VR环境中可能会使用户对其在真实世界环境中的位置和/或方向失去方向感。也就是说,用户可能会忘记其附近的家具或其它对象的方向。因此,一个技术挑战可能包括当用户处于沉浸式VR体验中时与真实世界对象交互。保持用户安全并帮助用户在VR环境中确定自己的方向的传统方法包括绘制虚拟边界,该虚拟边界在用户处于VR体验中时为用户定义安全区域。当用户接近虚拟边界时,可以出现或激活虚拟边界墙。这些虚拟边界墙可以具有网格状外观。这些虚拟边界墙可能会破坏VR环境的沉浸感,可能会在沉浸在VR体验中时抑制对真实世界空间的使用,并且可能会降低用户的VR体验。本文所公开的实施例提出的、解决当用户处于沉浸式VR体验中时与真实世界对象交互的技术挑战的一种解决方案可以是:在VR环境内提供真实世界环境的透视视图以识别可以被合并到VR环境中的真实世界对象,并且在VR环境中渲染对应于这些真实世界对象的混合现实(MR)对象。各实施例的技术优势可以包括将真实世界对象合并为用户在VR环境中时可以与之交互的MR对象。作为示例而非限制,用户可以识别真实世界环境中的真实世界办公桌,确定办公桌的尺寸,并且渲染与真实世界办公桌相对应的MR办公桌以供用户在沉浸在VR环境中时与之交互,其中,该MR办公桌可以对应于真实世界环境并且由真实世界办公桌的尺寸来定义。这可以允许用户将真实世界对象合并到其VR环境中,从而扩展了用户在沉浸在VR环境中时可以安全地探索的空间。此外,用户在沉浸在VR环境中时,可能能够使用MR对象来帮助确定他们在真实世界环境中的位姿(例如,位置和方向),例如,通过将熟悉的真实世界家具、墙壁、电子设备(例如,将真实世界平板计算机变成MR平板计算机)、文档(例如,将真实世界备忘录变成MR备忘录)以及其它对象合并到他们的VR环境中来帮助确定他们在真实世界环境中的位姿。尽管本公开描述了在沉浸在VR环境中时通过渲染MR对象来与真实世界对象交互的方法,但是本公开考虑了以任何合适的方式将真实世界对象合并到VR环境中。
在特定实施例中,一个或多个计算系统可以为虚拟VR设备的一个或多个显示器显示第一输出图像,该第一输出图像包括真实世界环境的透视视图。该一个或多个计算系统可以使用由VR显示设备的一个或多个摄像头采集的一个或多个图像,来识别该真实世界环境中的真实世界对象。该一个或多个计算系统可以接收用户输入,该用户输入指示与该真实世界对象相对应的第一尺寸。该一个或多个计算系统可以基于该第一尺寸,自动确定与该真实世界对象相对应的第二尺寸和第三尺寸。然后,该一个或多个计算系统可以为该VR显示设备的该一个或多个显示器渲染VR环境的第二输出图像。该VR环境可以包括与该真实世界对象相对应的MR对象。该MR对象可以由所确定的第一尺寸、第二尺寸和第三尺寸来定义。
与VR环境中的MR对象交互存在某些技术挑战。一个技术挑战可能包括将真实世界对象带入VR环境。本文所公开的实施例提出的解决该挑战的解决方案可以是,将真实世界环境中的真实世界对象适配并集成为VR环境中的MR对象。另一个技术挑战可能包括,当用户沉浸在VR体验中时,向用户传送关于真实世界环境和真实世界环境内的真实世界对象的空间信息。本文所公开的实施例提出的解决该挑战的解决方案可以是,在VR环境中渲染与真实世界环境中的真实世界对象相对应的MR对象,从而用户可以确定他们在真实世界环境中的位置,而不会极大地破坏VR环境的沉浸感。另外,本文所公开的实施例提出的解决该挑战的解决方案可以是,在VR环境内渲染真实世界环境的透视视图,以帮助用户识别这样的真实世界对象:如果用户没有意识到这些真实世界对象的存在,则这些真实世界对象可能会对用户造成伤害。
本文所公开的某些实施例可以提供一个或多个技术优势。这些实施例的技术优势可以包括,在沉浸在VR环境中时,通过真实世界环境的透视视图提供对真实世界环境的快速一瞥。这些实施例的另一个技术优势可以包括,通过允许用户在VR环境和真实世界环境之间快速切换来提供空间信息。本文所公开的某些实施例可以不提供、提供一些或全部上述技术优势。对于本领域技术人员来说,考虑到本公开的附图、说明书和权利要求书,一个或多个其它技术优势是明显的。
根据第一方面,提供了一种方法,该方法包括:由一个或多个计算系统:为虚拟现实(VR)显示设备的一个或多个显示器渲染第一输出图像,该第一输出图像包括真实世界环境的透视视图;使用由该VR显示设备的该一个或多个显示器的一个或多个摄像头采集的一个或多个图像,来识别真实世界环境中的真实世界对象;接收第一用户输入,该第一用户输入指示与该真实世界对象相对应的第一尺寸;基于该第一尺寸,自动确定与该真实世界对象相对应的第二尺寸和第三尺寸;以及为该VR显示设备的该一个或多个显示器渲染VR环境的第二输出图像,其中,该VR环境包括与真实世界对象相对应的混合现实(MR)对象,其中,该MR对象由所确定的第一尺寸、第二尺寸和第三尺寸定义。
该方法还可以包括:访问由该VR显示设备的该一个或多个摄像头采集的该真实世界环境的一个或多个图像;以及基于所访问的图像,为该VR显示设备的该一个或多个显示器渲染第三输出图像,该第三输出图像包括该VR环境的一部分和该真实世界环境的该透视视图的一部分,其中,该透视视图的该部分位于该VR环境中的该MR对象的表面。
该方法还可以包括:接收第二用户输入,该第二用户输入指示选择查看该MR对象的该透视视图的该部分,其中,该第三输出图像是响应于接收到指示选择查看该MR对象的该透视视图的该部分的该第二用户输入来渲染的。
该方法还可以包括:确定该MR对象位于该VR显示设备的用户的视场中央达阈值时间段,其中,该第三输出图像是响应于确定该MR对象位于该用户的视场中央达该阈值时间段来渲染的。
该方法还可以包括:确定该VR显示设备的用户是否已经在该真实世界对象的阈值距离内接近,其中,该第三输出图像是响应于确定该用户已经在该真实世界对象的该阈值距离内接近来渲染的。
该方法还可以包括:确定该MR对象是否在该VR显示设备的用户的视场中,其中,该第三输出图像是响应于确定该MR对象在该用户的视场中来渲染的。
该方法还可以包括:为该VR显示设备的该一个或多个显示器渲染与该真实世界环境相对应的虚拟边界。
该方法还可以包括:响应于自动确定与该真实世界对象相对应的该第二尺寸和该第三尺寸,扩展该虚拟边界以包括所识别的该真实世界对象。
该方法还可以包括:为该VR显示设备的该一个或多个显示器渲染个人用户界面(user interface,UI),其中,该个人UI被渲染为这样的虚拟对象:该虚拟对象接近该VR显示设备的用户,其中,该个人UI对应于该用户的移动而移动,并且其中,该个人UI具有一个或多个适配于该MR对象的属性。
该个人UI的多个属性中的一个属性可以是:该个人UI的形状要素,其中,该个人UI的第一形状要素基于该用户与该MR对象的接近程度而适配为该个人UI的第二形状要素;和/或该个人UI的一组用户功能,其中,该个人UI的第一组用户功能基于该用户与该MR对象的接近程度而适配为该个人UI的第二组用户功能。
指示该真实世界对象的该第一尺寸的该用户输入可以是由该VR显示设备的用户在该VR环境内创建的如下虚拟线:该虚拟线定义了该真实世界对象的边缘。
指示该真实世界对象的该第一尺寸的该用户输入可以是由该VR显示设备的用户在该VR环境内创建的如下两个虚拟点:该两个虚拟点定义了与该真实世界对象的边缘相对应的虚拟线的端点。
指示该真实世界对象的该第一尺寸的该用户输入可以是由该VR显示设备的用户在该VR环境内创建的如下单个虚拟点:该单个虚拟点定义了该真实世界对象的表面。
根据第二方面,提供了一种计算机可读介质,该计算机可读介质包括指令,这些指令在由计算机执行时,使得该计算机执行第一方面的方法。
根据第三方面,提供了一种系统,该系统包括处理器,该处理器被配置为执行第一方面的方法。
根据第四方面,提供了一种计算机程序产品,该计算机程序产品包括指令,这些指令在由计算机执行时,使得该计算机执行第一方面的方法。
本文所公开的实施例仅是示例,并且本公开的范围不限于这些实施例。特定实施例可以包括本文所公开的实施例中的部件、元件、特征、功能、操作或步骤中的全部、一些,或者可以不包括本文所公开的实施例中的部件、元件、特征、功能、操作或步骤。根据本发明的实施例在所附的针对方法、存储介质、系统和计算机程序产品的权利要求中特别公开,其中,在一个权利要求类别(例如,方法)中所提到的任何特征也可以在另一个权利要求类别(例如,系统)中主张。所附权利要求书中的从属关系或回引仅出于形式原因而选择。然而,由于有意引用任何先前的权利要求(特别是多项从属关系)而产生的任何主题也可以被主张,使得多个权利要求及其多个特征的任何组合无论在所附权利要求书中所选择的从属关系如何、都被公开且可以被主张。可主张的主题不仅包括所附权利要求书中所陈述的多个特征的多种组合,还包括权利要求书中的多个特征的任何其他组合,其中,在权利要求书中所提到的每个特征可以与权利要求书中的任何其他特征或其他特征的组合进行组合。此外,本文所描述或所描绘的实施例和特征中的任何可以在单独的权利要求中被主张,和/或在与本文所描述或所描绘的任何实施例或特征的任何组合中或在与所附权利要求书中的任何特征的任何组合中被主张。
附图说明
图1示出了根据特定实施例的由用户穿戴的示例VR系统。
图2示出了根据特定实施例的透视特征的示例。
图3示出了VR环境中的个人UI的示例视图。
图4示出了使用VR显示设备来识别真实世界对象的示例视图。
图5示出了指示真实世界对象的第一尺寸的示例视图。
图6示出了确定真实世界对象的第二尺寸和第三尺寸的示例视图。
图7示出了使用控制器确定真实世界环境中的真实世界对象的第一尺寸、第二尺寸和第三尺寸的示例视图。
图8示出了具有与真实世界对象相对应的MR对象的VR环境的示例视图;
图9示出了具有与真实世界对象相对应的MR对象的VR环境的示例视图。
图10示出了具有MR对象的一部分的VR环境的示例视图,该MR对象的该部分具有真实世界环境的透视视图。
图11A示出了个人UI的现实滑块的示例视图,该现实滑块被配置为显示真实世界环境。
图11B示出了个人UI的现实滑块的示例视图,该现实滑块被配置为显示VR环境。
图12示出了个人UI的现实滑块的示例视图,该现实滑块被配置为显示真实世界环境和VR环境之间的转换。
图13示出了接近MR对象的用户的第三人称视图。
图14示出了接近MR对象的用户的用户透视图。
图15示出了在MR对象处的用户的用户透视图。
图16示出了用于在VR环境中与MR对象交互的示例方法。
图17示出了与社交网络系统相关联的示例网络环境。
图18示出了示例计算机系统。
具体实施方式
在特定实施例中,沉浸式虚拟现实(VR)系统(例如,头戴式VR护目镜)的用户对真实世界环境的视野可能被该VR系统部分地或完全地遮挡,因此该用户在沉浸在VR环境中时有碰到或撞到真实世界对象的风险。此外,沉浸在VR环境中可能会使用户对其在真实世界环境中的位置和/或方向失去方向感。也就是说,用户可能会忘记其附近的家具或其它对象的方向。因此,一个技术挑战可能包括,当用户处于沉浸式VR体验中时与真实世界对象交互。保持用户安全并帮助用户在VR环境中确定自己的方向的传统方法包括绘制虚拟边界,该虚拟边界在用户处于VR体验中时为用户定义安全区域。当用户接近虚拟边界时,可以出现或激活虚拟边界墙。这些虚拟边界墙可以具有网格状外观。但是,这些虚拟边界墙可能会破坏VR环境的沉浸感,可能会在沉浸在VR体验中时抑制对真实世界空间的使用,并且可能会降低用户的体验。本文所公开的实施例提出的、解决当用户处于沉浸式VR体验中时与真实世界对象交互的技术挑战的一种解决方案可以是,在VR环境内提供真实世界环境的透视视图以识别可以被合并到VR环境中的真实世界对象,并且在VR环境中渲染对应于该真实世界对象的混合现实(MR)对象。各实施例的技术优势可以包括将真实世界对象合并为用户在VR环境中时可以与之交互的MR对象。作为示例而非限制,用户可以识别真实世界环境中的真实世界办公桌、确定办公桌的尺寸、并且渲染与真实世界办公桌相对应的MR办公桌以供用户在沉浸在VR环境中时与之交互,其中,该MR办公桌可以由真实世界办公桌的尺寸来定义。这可以允许用户将真实世界对象合并到其VR环境中,从而扩展了用户在沉浸在VR环境中时可以安全地探索的空间。此外,用户在沉浸在VR环境中时,可以能够使用MR对象来帮助确定他们在真实世界环境中的位姿(例如,位置和方向),例如,通过将熟悉的真实世界家具、墙壁、电子设备(例如,将真实世界平板计算机变成MR平板计算机)、文档(例如,将真实世界备忘录变成MR备忘录)以及其它对象合并到他们的VR环境中来帮助确定他们在真实世界环境中的位姿。尽管本公开描述了在沉浸在VR环境中时通过渲染MR对象来与真实世界对象交互的方法,但是本公开考虑了以任何合适的方式将真实世界对象合并到VR环境中。
图1示出了由用户102穿戴的虚拟现实系统100的示例。在特定实施例中,虚拟现实系统100可以包括头戴式VR显示设备135、控制器106、和一个或多个计算系统110。VR显示设备135可以被戴在用户的眼睛上,并通过内部显示器(未示出)向用户102提供可视内容。VR显示设备135可以具有两个单独的内部显示器,用户102的每只眼睛一个内部显示器(单个显示设备也是可以的)。如图1所示,VR显示设备135可以完全覆盖用户的视场。通过成为用户102的视觉信息的唯一提供者,VR显示设备135实现了提供沉浸式人工现实体验的目标。然而,这样做的一个结果是,用户102可能看不到其周围的物理(真实世界)环境,因为他的视野被VR显示设备135遮挡了。因此,本文所描述的透视特征可以在技术上有利于向用户提供关于他的物理环境的实时视觉信息。
图2示出了透视特征的示例。用户102可以穿戴着VR显示设备135并沉浸在VR环境中。真实世界对象145可以处于用户102周围的物理环境中。然而,由于VR显示设备135遮挡了用户102的视野,因此用户102可能无法直接看到真实世界对象145。为了帮助用户在穿戴着VR显示设备135时感知他们的物理环境,透视特征使用例如一个或多个摄像头105(例如,面向外的摄像头105A和105B)来采集关于物理环境的信息。然后,可以基于用户102的视点将采集到的信息重新投影给该用户。在VR显示设备135具有用于用户右眼的右显示器136A和用于用户左眼的左显示器136B的特定实施例中,虚拟现实系统100可以单独地(1)基于用户右眼的视点为右显示器135A渲染物理环境的重新投影视图145A和(2)基于用户左眼的视点为左显示器135B渲染物理环境的重新投影视图145B。
再次参照图1,VR显示设备135可以具有面向外的摄像头,例如图1所示的两个面向前的摄像头105A和105B。尽管仅示出了两个面向前的摄像头105A和105B,但是VR显示设备135可以具有面向任何方向的任意数量的摄像头(例如,用于采集天花板或房间照明的面向上的摄像头、用于采集用户的面部和/或身体中的一部分的面向下的摄像头、用于采集用户身后事物的一部分的面向后的摄像头、和/或用于采集用户的眼睛注视以用于眼睛追踪目的的内部摄像头)。面向外的摄像头可以被配置为采集用户周围的物理环境,并且可以连续地这样采集以生成帧序列(例如,作为视频)。如前所述,尽管由面向前的摄像头105A和105B所采集的图像可以经由VR显示设备135直接显示给用户102,但是这样做可能无法向用户提供物理环境的精确视图,因为摄像头105A和105B在物理上不能位于与用户眼睛完全相同的位置。因此,本文所描述的透视特征可以使用重新投影技术,该技术生成物理环境的3D表示,然后基于该3D表示从用户眼睛的视点渲染图像。
该3D表示可以基于通过摄像头105A和105B观察到的物理对象的深度测量值来生成。可以用多种方式来测量深度。在特定实施例中,可以基于立体图像来计算深度。例如,两个面向前的摄像头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可能需要确定他在任何时刻的位置和方向。虚拟现实系统100还可以基于VR显示设备的位姿,确定如下项的视点:摄像头105A和105B中任一个摄像头或用户的双眼中任一只眼睛。在特定实施例中,VR显示设备135可以配备有惯性测量单元(inertial-measurement unit,“IMU”)。IMU生成的数据以及由面向外的摄像头105A和105B采集的立体图像使虚拟现实系统100能够使用例如同时定位和地图构建(simultaneous localization and mapping,SLAM)或其它合适的技术来计算VR显示设备135的位姿。
在特定实施例中,虚拟现实系统100还可以具有一个或多个控制器106,该一个或多个控制器使用户102能够提供输入。控制器106可以通过无线连接或有线连接与VR显示设备135或单独的一个或多个计算系统110通信。控制器106可以具有任意数量的按钮或其它机械输入机构。此外,控制器106可以具有IMU,从而可以追踪控制器106的位姿。还可以基于控制器106上的预定图案来追踪该控制器。例如,控制器106可以具有几个红外发光二极管(LED)或其它已知的可观察特征,这些红外LED或可观察特征共同形成预定图案。使用传感器或摄像头,虚拟现实系统100可能够采集控制器上的预定图案的图像。基于观察到的这些图案的方向,系统可以计算控制器相对于传感器或摄像头的位置和方向。
虚拟现实系统100还可以包括一个或多个计算系统110。该一个或多个计算系统110可以是在物理上与VR显示设备135分离的独立单元,或者是可以与VR显示设备135集成的计算机系统110。在该一个或多个计算系统110是独立单元的实施例中,该一个或多个计算系统110可以经由无线链路或有线链路通信地耦接到VR显示设备135。该一个或多个计算系统110可以是高性能设备(例如,台式机或笔记本电脑)或资源受限设备(例如,移动电话)。高性能设备可以具有专用的GPU和高容量或恒定的电源。另一方面,资源受限设备可能没有GPU,电池容量也可能有限。因此,可由虚拟现实系统100实际使用的算法取决于其一个或多个计算系统110的能力。
在一个或多个计算系统110是高性能设备的实施例中,透视特征的实施例可以设计如下。通过VR显示设备135的面向外的摄像头105A和105B,可以采集周围物理环境的一系列图像。然而,由摄像头105A和105B采集的信息可能与用户的眼睛可以捕获的信息未对准,因为摄像头与用户的眼睛在空间上不能重合(例如,摄像头可能位于距离用户的眼睛一定距离的位置,因此具有不同的视点)。因此,简单地向用户显示摄像头采集的内容可能不是用户应该感知的内容的精确表示。
透视特征可以向用户重新投射由面向外的摄像头105A和105B采集的信息,而不是简单地显示采集到的内容。每对同时采集到的立体图像可以用于估计观察到的特征的深度。如上所述,为了使用三角测量来测量深度,一个或多个计算系统110可以找到各立体图像之间的对应关系。例如,该一个或多个计算系统110可以确定该对立体图像中的哪两个像素对应于同一观察到的特征。高性能的一个或多个计算系统110可以使用其GPU和光流技术来解决对应问题,这些技术对于这样的任务进行了优化。然后,可以使用对应信息来使用三角测量技术计算深度。基于所计算的观察到的特征的深度,该一个或多个计算系统110可以确定这些特征在3D空间内的位置(因为该一个或多个计算系统110还知道摄像头在该3D空间中的位置)。结果可以由密集的3D点云表示,其中每个点对应于一观察到的特征。然后,可以使用密集的点云来生成环境中的对象的3D模型。当系统渲染场景以供显示时,该系统可以从用户眼睛的视角执行可见性测试。例如,该系统可以从对应于用户的每只眼睛的视点将光线投射到3D空间中。以这种方式,显示给用户的渲染后的场景可以是从用户眼睛的视角计算的,而不是从面向外的摄像头105A和105B的视角计算的。
然而,上述过程对于资源受限的计算单元可能是不可行的(例如,移动电话可能是VR显示设备的主要计算单元)。例如,与具有强大计算资源和充足能源的系统不同,移动电话不能依赖GPU和计算昂贵的算法(例如,光流)来执行深度测量并生成环境的精确3D模型。因此,为了在资源受限的设备上提供透视,需要优化的流程。
在特定实施例中,计算设备可以被配置为在运行时动态地确定它是否有能力或能够使用如下来生成深度测量值:(1)GPU和光流,或者(2)使用视频编码器和运动矢量的优化技术,如下面进一步详细论述的。例如,如果该设备具有GPU并且具有足够的功率预算(例如,该设备被插入电源、具有充满的电池等),则该设备可以使用其GPU和光流来执行深度测量。然而,如果该设备没有GPU或者有严格的功率预算,那么该设备可以选择经优化的用于计算深度的方法。
图3示出了VR环境125中的个人用户界面(UI)115的示例视图。在特定实施例中,一个或多个计算系统110可以为VR显示设备135的一个或多个显示器渲染个人UI 115。个人UI115可以表现为用于穿戴着VR显示设备135的用户102(如图1和图2所示)的界面。个人UI115可以显示一个或多个应用程序120、菜单121、用户信息122以及供用户选择的其它特征或属性。个人UI 115可以表现为在VR环境125和真实世界环境130(未示出)中都出现在用户面前的浮动虚拟对象。个人UI 115可以允许用户(经由透视视图)在VR环境125和真实世界环境130这两者中执行功能。个人UI 115可以允许用户与真实世界对象和MR对象交互。例如,用户可以使用个人UI 115来(例如经由透视视图)识别真实世界对象145。在VR环境125中,个人UI 115可以被渲染为这样的虚拟对象:该虚拟对象接近VR显示设备135的用户。个人UI 115可以对应于用户的运动而移动。也就是说,当用户移动时,个人UI 115可以保持接近用户(例如,个人UI 115可以保持在用户的视场中)。例如,随着用户向前移动,个人UI115也可以向前移动。如果用户转身,则个人UI 115也可以转动以保持接近用户。个人UI可以具有一个或多个适配于MR对象165的属性,例如形状要素和一组用户功能(下面将更详细地讨论)。
图4示出了使用VR显示设备135来识别真实世界对象145的示例视图。真实世界对象145可以出现在真实世界环境130中,例如如在真实世界环境130的透视视图中渲染的。可以使用VR显示设备135的一个或多个摄像头105来提供该透视视图。个人UI 115可以向用户提供用于识别真实世界对象145的一个或多个选项。例如但不限于,个人UI 115可以显示通过让用户定义房间规模空间、定义座位或定义办公桌来编辑VR环境的空间的选项。
在特定实施例中,一个或多个计算系统110可以为VR显示设备135的一个或多个显示器渲染第一输出图像,该第一输出图像包括真实世界环境130的透视视图。第一输出图像可以通过使用VR显示设备135的一个或多个摄像头105来渲染真实世界环境130的第一输出图像,以提供真实世界环境130的透视视图。作为示例而非限制,该一个或多个计算系统110可以经由透视视图向穿戴着VR显示设备的用户显示真实世界环境130,该真实世界环境可以包含一个或多个真实世界对象145。可以使用一个或多个摄像头105来采集真实世界环境130的透视视图。尽管本公开描述了渲染包括真实世界环境130的透视视图的输出图像,但是本公开考虑了以任何合适的方式渲染输出图像。
在特定实施例中,一个或多个计算系统110可以使用由VR显示设备135的一个或多个显示器的一个或多个摄像头105采集的一个或多个图像,来识别真实世界环境130中的真实世界对象145。由该一个或多个摄像头105采集的该一个或多个图像可以向用户提供具有一个或多个真实世界对象145(例如,诸如沙发和办公桌等家具,以及其它对象)的真实世界环境130(例如,用户的客厅)的视图(例如,透视视图)。作为示例而非限制,计算系统110可以显示包含真实世界对象145(例如,沙发)的真实世界环境130的透视视图。用户可以使用个人UI 115来选择要识别的真实世界对象145的类型。例如,用户可以使用个人UI 115来识别房间规模空间(例如,真实世界环境130中的房间)、座位空间(例如,沙发或椅子)和办公桌空间(例如,办公桌或桌子)。尽管本公开描述了以特定方式识别真实世界对象,但是本公开考虑了以任何合适的方式识别真实世界对象。
图5示出了指示真实世界对象145的第一尺寸150的示例视图。用户可以通过绘制定义了沙发长度的线来绘制与真实世界对象145(例如,沙发)的第一尺寸150相对应的线。用户可以使用控制器106来绘制该线。一个或多个计算系统110还可以自动确定第一尺寸150(例如,沙发的长度),并且用户可以确认或编辑第一尺寸150。
在特定实施例中,一个或多个计算系统110可以接收第一用户输入,该第一用户输入指示与真实世界对象145相对应的第一尺寸150。例如,该一个或多个计算系统110可以接收由用户(例如,由用户使用控制器106)测量的、真实世界对象145的第一尺寸150的测量值。该尺寸(例如,第一尺寸150)可以对应于真实世界对象145的高度、宽度、长度、半径、周长或其它形式的尺寸测量值。也可以使用VR显示设备的一个或多个传感器(例如,测量传感器、摄像头传感器等)自动确定与真实世界对象145相对应的第一尺寸150。也可以半自动地确定与真实世界对象145相对应的第一尺寸150,例如通过使用一个或多个传感器自动测量第一尺寸150,并让用户确认或编辑该测量值来半自动地确定与真实世界对象145相对应的第一尺寸150。指示真实世界对象145的第一尺寸150的用户输入可以是由VR显示设备135的用户在VR环境中创建的如下虚拟线:该虚拟线定义了真实世界对象145的边缘。作为示例而非限制,用户可以使用控制器106来测量真实世界对象145(例如,沙发的前边缘)的第一尺寸150。指示真实世界对象的第一尺寸的用户输入可以是由VR显示设备135的用户在VR环境125中创建的如下两个虚拟点:该两个虚拟点定义了与真实世界对象145的边缘相对应的虚拟线的端点。作为示例而非限制,用户可以定义第一尺寸的第一端点(例如,沙发的左角前边缘),并且用户可以定义第一尺寸的第二端点(例如,沙发的右角前边缘);并且可以在定义的沙发的尺寸(例如,第一尺寸150)的第一端点和第二端点之间自动绘制虚拟线。也就是说,用户可以从沙发的一端测量到沙发的另一端,以定义用户能够坐的表面的第一尺寸150。作为另一示例,第一尺寸150可以对应于办公桌的高度、宽度、长度或其它尺寸测量值。尽管本公开描述了与特定方式相对应的接收指示第一尺寸的第一用户输入,但是本公开考虑了以任何合适的方式接收指示与真实世界对象相对应的第一尺寸的输入。
图6示出了确定真实世界对象145的第二尺寸155和第三尺寸160的示例视图。在接收到真实世界对象145的第一尺寸150(例如,沙发的长度)之后,计算系统可以使用VR显示设备的一个或多个传感器或通过让用户定义第二尺寸和第三尺寸(例如,通过使用控制器106来定义第二尺寸和第三尺寸)来自动确定真实世界对象145的第二尺寸155和第三尺寸160(例如,沙发的高度和宽度)。一旦确定了第一尺寸、第二尺寸和第三尺寸,个人UI 115就可以向用户提供对确认所确定的尺寸的输入,或者向用户提供对重绘或重新定义第一尺寸、第二尺寸和/或第三尺寸的输入。
在特定实施例中,一个或多个计算系统110可以基于第一尺寸150自动确定与真实世界对象145相对应的第二尺寸155和第三尺寸160。该一个或多个计算系统可以基于第一尺寸150自动推断第二尺寸155和第三尺寸160可以是什么。可以使用VR显示设备135的一个或多个传感器(例如,摄像头传感器、深度感知传感器等)或者通过使用边缘检测滤波器,来自动确定第二尺寸155和第三尺寸160。可以半自动地确定第二尺寸155和第三尺寸160(例如,一个或多个传感器确定第二尺寸155和第三尺寸160,并且这些尺寸由用户确认)。半自动地确定第二尺寸和第三尺寸也可能需要定义预定的第二尺寸和第三尺寸,然后用户调整该预定的第二尺寸和第三尺寸以匹配实际尺寸。在特定实施例中,用户定义每个尺寸(例如,用户使用控制器106来定义第一尺寸、第二尺寸和第三尺寸中的每一个尺寸)。如果第一尺寸150对应于真实世界对象145的长度,则第二尺寸可以对应于真实世界对象145的宽度,并且第三尺寸可以对应于真实世界对象145的高度。作为示例而非限制,如果该一个或多个计算系统110接收到与真实世界对象145相对应的第一尺寸150(例如,沙发的长度)的指示,则该一个或多个计算系统110可以自动确定沙发的第二尺寸和第三尺寸(例如,高度和宽度)。尽管本公开描述了以特定方式确定第二尺寸和第三尺寸,但是本公开考虑了以任何合适的方式确定第二尺寸和第三尺寸。
图7示出了使用控制器确定真实世界环境中的真实世界对象的第一尺寸、第二尺寸和第三尺寸的示例视图。图8示出了具有与真实世界对象相对应的MR对象的VR环境的示例视图。在特定实施例中,指示真实世界对象145的尺寸(例如,第一尺寸150)的用户输入是由VR显示设备135的用户在VR环境125内创建的这样的单个虚拟点:该单个虚拟点定义了真实世界对象145的表面。可以使用控制器106来创建该虚拟点。控制器106可用于确定真实世界对象145的第一尺寸150、第二尺寸155和第三尺寸160。作为示例而非限制,用户可以将控制器106置于真实世界对象145的表面上(例如,用户可以将控制器置于真实世界办公桌的平坦表面上),并且一个或多个计算系统110可以基于控制器106的位置来确定真实世界对象145的第一尺寸、第二尺寸和第三尺寸。该一个或多个计算系统可以基于控制器在真实世界对象145上的位置来确定多个尺寸中的一个或多个尺寸,并自动推断真实世界对象145的尺寸以渲染具有MR对象165的VR环境125的第二输出图像,该MR对象与真实世界对象145相对应并且由真实世界对象145的第一尺寸150、第二尺寸155和第三尺寸160定义。
在特定实施例中,VR系统100可以自动检测潜在的MR对象165。例如,可以自动检测真实世界对象145并将其渲染为MR对象165。VR系统100可以自动识别待被渲染为MR对象165的真实世界对象,并且用户可以确认真实世界对象145是否将被渲染为MR对象165。例如,潜在的MR对象165可以被渲染为真实世界对象145的“清晰的”(例如,不透明的、彩色的或影子似的)轮廓,并且用户可以通过指向、点击(经由控制器106)、触摸或以其它方式指示用户想要渲染为MR对象165的真实世界对象145,来将真实世界对象145渲染为MR对象165。
图9示出了具有与真实世界对象145相对应的MR对象165的VR环境125的示例视图。该VR环境可以包含一个或多个对象,例如MR对象165,该对象可以具有与真实世界对象145(例如,如图4至图6所示的真实世界对象145)相同的尺寸。MR对象165在VR环境125中的位姿(例如,位置和方向)可以对应于真实世界对象145在真实世界环境130中的位姿。也就是说,如果用户在VR环境125和真实世界环境130中以相同的位姿站立,则MR对象165的位姿将对应于真实世界对象145的位姿。
一个技术挑战可以包括,将真实世界对象145带入VR环境125。本文所公开的解决该挑战的一种解决方案可以是,将真实世界环境130中的真实世界对象145适配和集成为VR环境125中的MR对象165。在特定实施例中,一个或多个计算系统110可以为VR显示设备135的一个或多个显示器渲染VR环境130的第二输出图像。VR环境125可以包括一个或多个对应于真实世界对象145的MR对象165。MR对象165可以由所确定的第一尺寸150、所确定的第二尺寸155和所确定的第三尺寸160来定义(例如,MR对象165可以具有与图4至图6所示的真实世界对象145相同的尺寸)。也就是说,使用真实世界对象145的所确定的第一尺寸150、所确定的第二尺寸155和所确定的第三尺寸160,该一个或多个计算系统110可以为VR显示设备135的一个或多个显示器渲染MR对象165的渲染,该MR对象是使用并基于真实世界对象145的尺寸和/或位姿构建的。作为示例而非限制,在确定真实世界对象145(例如,真实世界沙发)的尺寸之后,该一个或多个计算系统110可以在VR环境125中渲染与该真实世界对象145的尺寸相对应的MR对象165(例如,MR沙发)(例如,具有与真实世界对象145基本上相同的形状和大小)。因此,当用户沉浸在VR环境125中并且坐在MR沙发上时,用户将知道其坐在真实世界环境130中的真实世界沙发上。尽管本公开描述了以特定方式渲染包括MR对象的第二输出图像,但是本公开考虑了以任何合适的方式渲染第二输出图像。
图10示出了VR环境125的示例视图,其中MR对象165的一部分具有真实世界环境130的透视视图。在特定实施例中,一个或多个计算系统110可以接收第二用户输入,该第二用户输入指示选择查看MR对象165的透视视图的一部分。响应于接收到指示选择查看MR对象165的透视视图的一部分的第二用户输入,可以渲染第三输出图像。也就是说,VR显示设备135可以将渲染的MR对象165的一部分(例如,渲染的MR对象165的表面170)显示为真实世界环境130中的相应真实世界对象145的透视视图。如图10所示,表面170可以由所确定的多个尺寸中的两个或更多个尺寸来定义(例如,图10中的表面170由第一尺寸150和第二尺寸155定义,这定义了沙发的座面)。作为示例而非限制,当用户接近MR对象165(例如,基于真实世界环境130中的真实世界沙发的MR沙发)时,该一个或多个计算系统110可以渲染显示了真实世界环境130的透视视图。该一个或多个计算系统110可以渲染真实世界对象145的清晰视图(例如,被渲染为不透明或彩色轮廓)。因此,用户可以检查以确保用户可能计划坐在其上的沙发的表面没有障碍物或物体。技术优势可以包括,在用户仍然沉浸在VR环境125中时,通过真实世界环境130的透视视图提供对真实世界环境130的快速一瞥。因此,例如,当用户沉浸在VR体验中时,如果用户有一只宠物跳到沙发上,则用户可以在坐下来之前确保沙发上没有宠物。作为另一示例而非限制,用户可以查看作为真实世界环境130中的真实世界办公桌的透视视图的、MR办公桌的一部分,以确保在沉浸在VR体验中时,该办公桌上没有用户的手可能打翻的物体。尽管本公开描述了以特定方式渲染第三输出图像,但是本公开考虑了以任何的合适方式渲染第三输出图像。
技术挑战可以包括,当用户沉浸在VR体验中时,向用户传达关于真实世界环境130和真实世界环境130中的真实世界对象145的空间信息。本文所公开的解决该挑战的解决方案可以是,在VR环境125中渲染与真实世界环境130中的真实世界对象145相对应的MR对象165,从而用户可以确定这些真实世界对象在真实世界环境130中的位置,而不会极大地破坏VR环境125的沉浸感。另外,本文所公开的实施例提出的解决该挑战的解决方案可以是,在VR环境中渲染真实世界环境的透视视图,以帮助用户识别这样的真实世界对象:如果用户没有意识到这些真实世界对象的存在,则这些真实世界对象可能对用户造成伤害。在特定实施例中,一个或多个计算系统110可以接收第二用户输入,该第二用户输入指示选择查看MR对象165的透视视图的一部分,并且该一个或多个计算系统可以响应于接收到指示选择查看MR对象165的透视视图的一部分的该第二用户输入,来渲染第三输出图像。例如,用户可以选择(例如,可以选择个人UI 115上的按钮)以查看MR对象165的透视视图。用户可以(例如经由个人UI 115上的按钮)指示查看作为真实世界环境130的透视视图的、沙发的表面或座位,同时保持对VR环境125的其它任何地方的渲染。因此,用户可以确保与真实世界对象145相对应的MR对象165没有障碍物或其它对象。
在特定实施例中,一个或多个计算系统110可以确定MR对象165对象位于VR显示设备135的用户的视场中央达阈值时间段,并且响应于确定MR对象165位于用户的视场中央达阈值时间段来渲染第三输出图像。也就是说,如果MR对象165位于用户的视场中央达预定时间段,或在预定时间段内位于用户的视场中央,则MR对象165的一部分可被渲染为与真实世界环境130中的真实世界对象145相对应的透视视图。例如,如果用户正在观看MR沙发达预定时间段(例如,5秒),则该一个或多个计算系统可以自动显示沙发的表面170的透视视图,以允许用户确保不存在用户可能因使用沙发而损坏的物体,或者确保不存在这样的物体:如果用户在确认沙发上没有物体之前就坐在沙发上,这些物体可能对用户造成伤害。
在特定实施例中,一个或多个计算系统110可以确定VR显示设备135的用户是否已经在真实世界对象145的阈值距离内接近,并且响应于确定用户已经在真实世界对象145的阈值距离内接近来渲染第三输出图像。也就是说,如果用户接近MR对象165,则MR对象165的一部分可以被渲染为真实世界环境130中的相应真实世界对象145的透视视图。例如,当用户靠近MR对象165(例如,沙发)时,该一个或多个计算系统110可以确定用户在真实世界对象145的阈值距离内,例如,在真实世界对象145的1米内。在确定用户在阈值距离内之后,该一个或多个计算系统110可以自动显示沙发的表面170的透视视图,以允许用户确保不存在用户可能因使用沙发而损坏的物体,或者确保不存在这样的物体:如果用户在确认沙发上没有物体之前就坐在沙发上时,这些物体可能对用户造成伤害。
在特定实施例中,一个或多个计算系统110可以确定MR对象165是否在VR显示设备135的用户的视场中,并且响应于确定MR对象165在用户的视场中而渲染第三输出图像。也就是说,如果用户看了一下MR对象165,则可以将该MR对象165的一部分渲染为真实世界环境130中的相应真实世界对象145的透视视图。该透视视图的该部分可以被渲染以快速地向用户提供该用户可以与之交互的MR对象165的预览。因此,用户可以快速地确定VR环境130中的对象是否是用户可以与之交互的MR对象165,以及该MR对象165是否可以安全地交互(例如,如果未从MR对象165中清除,则不存在可能对用户造成伤害的其它对象)。
在特定实施例中,一个或多个计算系统110可以确定一对象是否新出现在对应于MR对象165的真实世界对象145上。例如,如果用户已经基于真实世界对象145(例如,沙发)渲染了MR对象165,并且用户的宠物随后跳上了沙发,则可以采用对象检测过滤器来识别真实世界沙发上的新对象(例如,该宠物)。然后,可以使用透视视图显示真实世界沙发上的对象或者通过将该新对象渲染为清晰的对象(例如,该对象的不透明或彩色轮廓),来提醒用户该新对象的存在。
在特定实施例中,一个或多个计算系统110可以为VR显示设备135的一个或多个显示器渲染与真实世界环境130相对应的虚拟边界。VR环境125可以具有与真实世界环境130相对应的虚拟边界。该虚拟边界可以标记供用户在沉浸在VR环境125中时探索的安全区域的边缘。当用户靠近该虚拟边界时,可以出现或激活虚拟边界墙。这些虚拟边界墙可以具有网格状外观,这些网格状外观在处于VR环境125中时可能会扰乱沉浸感,从而降低用户体验。例如,在房间规模的VR环境(其中用户可以在VR体验期间在房间中四处走动)中,该虚拟边界可以对应于穿戴着VR显示设备135的用户想要避开的真实世界对象145(例如,沙发、椅子、桌子、墙壁、障碍物等)。该虚拟边界可以由用户定义(例如,通过让用户使用控制器106手动绘制虚拟边界)、自动确定(例如,图像处理器可以确定安全边界并自动确定边界墙)、或半自动确定(例如,图像处理器可以确定或建议安全边界和边界墙,并且用户可以手动增强或编辑所确定的边界墙)。
在特定实施例中,一个或多个计算系统110可以响应于自动确定与真实世界对象145相对应的第二尺寸155和第三尺寸160,来扩展虚拟边界以包括所识别的真实世界对象145。也就是说,如果真实世界对象145位于用户定义的原始虚拟边界之外,则在确定真实世界对象的尺寸之后,该一个或多个计算系统110可以扩展虚拟边界以包括真实世界对象145。例如,如果用户最初使虚拟边界到达真实世界对象(例如,沙发)的边缘,则在确定沙发的尺寸之后,可以扩展该虚拟边界以包括该沙发。因此,用户在接近沙发或与沙发交互时,将不会看到虚拟边界墙,从而减少了对VR体验沉浸感的干扰。
个人UI的多个特征或多个属性中的一个可以是用于在VR环境125和真实世界环境130之间转换的开关、切换键、按钮或滑块。图11A示出了个人UI 115的现实滑块140的示例视图,该现实滑块被配置为显示真实世界环境130。图11B示出了个人UI 115的现实滑块140的示例视图,该现实滑块被配置为显示VR环境125。图12示出了个人UI 115的现实滑块140的示例视图,该现实滑块被配置为显示真实世界环境130和VR环境125之间的转换。现实滑块140可用于在真实世界环境130和VR环境125之间进行切换。例如,如果现实滑块140一直位于右边(如图11A所示),则VR显示设备135将渲染真实世界环境130的视图(例如,透视视图)。如果现实滑块140一直位于左边(如图11B所示),则VR显示设备135将渲染VR环境125的视图。可以拨动现实滑块以显示VR环境125和真实世界环境130的混合。例如,如果现实滑块位于现实滑块的中间某处(如图12所示),则VR显示设备135可以渲染VR环境125和真实世界环境130之间的模糊或其它形式的过渡。也就是说,VR环境125可以作为真实世界环境130中的不透明渲染出现,或者真实世界环境130可以作为VR环境125中的不透明渲染出现。这些实施例的技术优势可以包括,通过允许用户在VR环境125和真实世界环境130之间快速切换来提供空间信息。
图13示出了在VR环境125中接近MR对象165的用户102的第三人称视图。用户102可接近一个或多个MR对象165(例如,MR办公桌和MR虚拟屏幕)。接近用户102的可以是个人UI115。如以上在图3的论述中所述,个人UI 115可以具有一个或多个属性。这些属性可以相对于MR对象165进行调整。例如,个人UI 115的多个属性中的一个属性可以是个人UI 115的形状要素(例如,个人UI 115的外观或布局)。个人UI 115的形状要素可以基于用户环境变化或用户的期望和需求的变化而呈现不同的外观或布局。个人UI 115的第一形状要素可以基于用户102与MR对象165的接近程度而适配为个人UI 115的第二形状要素。个人UI 115的多个属性中的另一个属性可以是个人UI的一组用户功能。个人UI的该组用户功能可以响应于用户选择而改变或适配,以适配个人UI 115或接近MR对象165的用户。也就是说,基于用户与MR对象的接近程度,个人UI 115的第一组用户功能可以到个人UI的第二组用户功能。例如,个人UI的第一形状要素可以是位于用户102前面并接近该用户的浮动虚拟对象。第一组用户功能可以包括第一组应用程序,该第一组应用程序可以包括例如以娱乐为中心的功能(例如,视频游戏应用程序120和视频流应用程序120)。当用户接近MR对象165时(例如,当用户接近MR办公桌时),个人UI 115的属性可以适配于MR对象165。可以通过确定用户已经在MR对象165的阈值距离内接近来测量用户102与MR对象165的接近程度。例如,该阈值距离可以是与MR对象165相距1米。当用户在阈值距离内接近时,个人UI 115的一个或多个属性可以相对于MR对象165进行调整。
图14示出了接近MR对象165的用户102的用户透视图。图15示出了在MR对象165处的用户102的用户透视图。随着用户102越来越接近MR对象165(例如,MR办公桌),个人UI115可以适配于MR办公桌。个人UI 115可以通过从第一形状要素改变为第二形状要素来适配。例如,个人UI的第一形状要素(例如,如图13所示的浮动虚拟对象)可以将其自身“吸附”或附着到MR对象165(例如,MR屏幕,该MR屏幕对应于真实世界环境130中的真实世界屏幕)或VR对象(例如,MR办公桌上的虚拟屏幕)。因此,个人UI 115可以具有第二形状要素,该第二形状要素模仿办公桌上的工作场所监视器设置。此外,第一组用户功能(例如,如图13所示的游戏应用程序120和流应用程序120)可以适配成第二组功能(例如,如图14和图15所示的工作聊天应用程序120、商业网络应用程序120和互联网浏览器应用程序120)。也就是说,该组功能可以通过检测当用户102在MR办公桌旁时用户进入“工作”模式来适配于MR对象。因此,该组功能可以从娱乐(例如,游戏、流等应用程序)适配到与工作相关的应用程序(例如,工作聊天、商业网络等应用程序)。作为另一示例而非限制,如果用户102接近MR沙发,则个人UI 115的第二形状要素可以表现为电影院屏幕或宽屏电视,其中第二组功能针对娱乐相关应用程序(例如,游戏应用程序或流应用程序)。
在特定实施例中,个人UI 115可以包括用于在不同用户功能之间转换的开关、切换键、按钮或滑块。例如,在个人UI 115上可以有图标,该图标在被选择时,将形状要素从第一形状要素切换到第二形状要素。在个人UI上可以有图标,该图标在被选择时,从第一组用户功能(例如,一组工作相关的应用程序)切换到第二组用户功能(例如,一组娱乐相关的应用程序)。
图16示出了用于在VR环境中与MR对象交互的示例方法1600。该方法可以在步骤1610开始,在步骤1610,一个或多个计算系统可以为VR显示设备的一个或多个显示器渲染第一输出图像,该第一输出图像包括真实世界环境的透视视图。在步骤1620,该方法可以包括使用由VR显示设备的该一个或多个显示器的一个或多个摄像头采集的一个或多个图像,来识别真实世界环境中的真实世界对象。在步骤1630,该方法可以包括接收第一用户输入,该第一用户输入指示与该真实世界对象相对应的第一尺寸。在步骤1640,该方法可以包括基于该第一尺寸,自动确定与该真实世界对象相对应的第二尺寸和第三尺寸。在步骤1650,该方法可以包括为VR显示设备的该一个或多个显示器渲染VR环境的第二输出图像。该VR环境可以包括与真实世界对象相对应的MR对象。该MR对象可以由所确定的第一尺寸、第二尺寸和第三尺寸来定义。在适当的情况下,特定实施例可以重复图16的方法中的一个或多个步骤。尽管本公开将图16的方法的特定步骤描述和示出为以特定顺序发生,但是本公开考虑了图16的方法的任何合适的步骤以任何合适的顺序发生。此外,尽管本公开描述和示出了用于示出包括图16的方法的特定步骤的、用于在VR环境中与MR对象交互的示例方法1600的示例方法,但是本公开考虑了用于示出包括任何适当步骤的用于在VR环境中与MR对象交互的示例方法1600的任何适当方法,在适当的情况下,这些步骤可以包括图16的方法的所有步骤、一些步骤,或者不包括图16的方法的任何步骤。此外,尽管本公开描述和示出了执行图16的方法的特定步骤的特定部件、设备或系统,但是本公开考虑了执行图16的方法的任何适当步骤的任何适当部件、设备或系统的任何适当组合。
图17示出了与社交网络系统相关联的示例网络环境1700。网络环境1700包括通过网络1710彼此连接的客户端系统1730、VR或社交网络系统1760和第三方系统1770。尽管图17示出了客户端系统1730、VR或社交网络系统1760、第三方系统1770和网络1710的特定布置,但本公开考虑了客户端系统1730、VR或社交网络系统1760、第三方系统1770和网络1710的任何合适的布置。作为示例而非限制,客户端系统1730、VR或社交网络系统1760和第三方系统1770中的两个或更多个系统可以绕过网络1710而彼此直接连接。作为另一示例,客户端系统1730、VR或社交网络系统1760和第三方系统1770中的两个或更多个系统可以整体地或部分地在物理上或逻辑上彼此共址。此外,尽管图17示出了特定数量的客户端系统1730、VR或社交网络系统1760、第三方系统1770和网络1710,但是本公开考虑了任何合适数量的客户端系统1730、VR或社交网络系统1760、第三方系统1770和网络1710。作为示例而非限制,网络环境1700可以包括多个客户端系统1730、多个VR或社交网络系统1760、多个第三方系统1770和多个网络1710。
本公开考虑了任何合适的网络1710。作为示例而非限制,网络1710的一个或多个部分可以包括自组网络、内联网、外联网、虚拟专用网络(virtual private network,VPN)、局域网(local area network,LAN)、无线LAN(wireless LAN,WLAN)、广域网(wide areanetwork,WAN)、无线WAN(wireless WAN,WWAN)、城域网(metropolitan area network,MAN)、互联网的一部分、公共交换电话网(Public Switched Telephone Network,PSTN)的一部分、蜂窝电话网、或这些网络中的两者或更多者的组合。网络1710可以包括一个或多个网络1710。
链路1750可以将客户端系统1730、社交网络系统1760和第三方系统1770连接到通信网络1710或彼此连接。本公开考虑了任何合适的链路1750。在特定实施例中,一条或多条链路1750包括一条或多条有线(例如,数字用户线(Digital Subscriber Line,DSL)或有线数据服务接口规范(Data Over Cable Service Interface Specification,DOCSIS))链路、无线(例如,Wi-Fi或全球微波互联接入(Worldwide Interoperability for MicrowaveAccess,WiMAX))链路、或光(例如,同步光纤网络(Synchronous Optical Network,SONET)或同步数字体系(Synchronous Digital Hierarchy,SDH))链路。在特定实施例中,一条或多条链路1750各自包括自组网络、内联网、外联网、VPN、LAN、WLAN、WAN、WWAN、MAN、互联网的一部分、PSTN的一部分、基于蜂窝技术的网络、基于卫星通信技术的网络、另一链路1750、或两种或更多种这样的链路1750的组合。各链路1750在整个网络环境1700中不必是相同的。一条或多条第一链路1750可以在一个或多个方面不同于一条或多条第二链路1750不同。
在特定实施例中,客户端系统1730可以是这样的电子设备:该电子设备包括硬件、软件、或嵌入式逻辑部件或两种或更多种这样的部件的组合,并且能够执行由客户端系统1730实现或支持的合适功能。作为示例而非限制,客户端系统1730可以包括计算机系统,例如台式计算机、笔记本或膝上型计算机、上网本、平板计算机、电子书阅读器、全球定位系统(GPS)设备、摄像头、个人数字助理(personal digital assistant,PDA)、手持式电子设备、蜂窝电话、智能手机、增强/虚拟现实设备、其他合适的电子设备、或它们的任何合适的组合。本公开考虑了任何合适的客户端系统1730。客户端系统1730可以使客户端系统1730处的网络用户能够访问网络1710。客户端系统1730可以使其用户能够与其他客户端系统1730处的其他用户进行通信。
在特定实施例中,客户端系统1730(例如,HMD)可以包括透视引擎1732以提供本文所述的透视特征,并且可以具有一个或多个附加组件、插件或其他扩展。客户端系统1730处的用户可以连接到特定服务器(例如,服务器1762或与第三方系统1770相关联的服务器)。该服务器可以接受请求并与客户端系统1730通信。
在特定实施例中,VR或社交网络系统1760可以是可以托管在线虚拟现实环境或在线社交网络的网络可寻址计算系统。VR或社交网络系统1760可以生成、存储、接收和发送社交网络数据,例如用户资料数据、概念资料数据、社交图谱信息、或与在线社交网络有关的其他合适的数据。社交网络或VR系统1760可以由网络环境1700的其他部件直接访问或经由网络1710访问。作为示例而非限制,客户端系统1730可以使用网络浏览器或与社交网络或VR系统1760相关联的本地应用(例如,移动社交网络应用、消息传递应用、另一合适的应用或它们的任意组合)直接地或经由网络1710来访问社交网络或VR系统1760。在特定实施例中,社交网络或VR系统1760可以包括一个或多个服务器1762。每个服务器1762可以是单一服务器、或跨越多个计算机或多个数据中心的分布式服务器。服务器1762可以是各种类型的,这些类型例如但不限于:网页服务器、新闻服务器、邮件服务器、消息服务器、广告服务器、文件服务器、应用服务器、交换服务器、数据库服务器、代理服务器、适合于执行本文所描述的功能或过程的另一服务器、或它们的任何组合。在特定实施例中,每个服务器1762可以包括用于执行由服务器1762实现或支持的合适功能的硬件、软件、或嵌入式逻辑部件、或两个或更多个这些部件的组合。在特定实施例中,社交网络或VR系统1760可以包括一个或多个数据存储区1764。数据存储区1764可以用于存储各种类型的信息。在特定实施例中,存储在数据存储区1764中的信息可以根据特定的数据结构来组织。在特定实施例中,每个数据存储区1764可以是关系型数据库、列式数据库、关联型数据库、或其他合适的数据库。尽管本公开描述或示出了特定类型的数据库,但本公开考虑了任何合适类型的数据库。特定实施例可以提供这种接口:该接口使客户端系统1730、社交网络或VR系统1760或第三方系统1770能够对存储在数据存储区1764中的信息进行管理、检索、修改、添加或删除。
在特定实施例中,社交网络或VR系统1760可以将一个或多个社交图谱存储在一个或多个数据存储区1764中。在特定实施例中,社交图谱可以包括多个节点——该多个节点可以包括多个用户节点(每个用户节点与特定用户相对应)或多个概念节点(每个概念节点与特定概念相对应)——以及连接该多个节点的多条边。社交网络或VR系统1760可以向在线社交网络的用户提供与其他用户进行通信和交互的能力。在特定实施例中,用户可以通过社交网络或VR系统1760加入在线社交网络,并且随后将连接(例如,关系)添加到社交网络或VR系统1760中其想要连接的多个其他用户。在本文中,术语“朋友”可以指社交网络系统1760中的、用户通过社交网络或VR系统1760与其形成连接、关联或关系的任何其他用户。
在特定实施例中,社交网络或VR系统1760可以向用户提供对由社交网络或VR系统1760支持的各种类型的项目或对象采取行动的能力。作为示例而非限制,这些项目和对象可以包括社交网络或VR系统1760的用户可能所属的群组或社交网络、用户可能感兴趣的事件或日程表条目、用户可使用的基于计算机的应用程序、允许用户通过服务购买或出售项目的交易、用户可执行的与广告的交互、或其他合适的项目或对象。用户可以与如下的任何事物交互:该事物能够在社交网络或VR系统1760中表示、或由第三方系统1770的外部系统表示,该外部系统与社交网络或VR系统1760分开且经由网络1710耦接到社交网络或VR系统1760。
在特定实施例中,社交网络或VR系统1760可能能够链接各种实体。作为示例而非限制,社交网络或VR系统1760可以使多个用户能够彼此交互、以及接收来自第三方系统1770或其他实体的内容,或者能够允许用户通过应用编程接口(application programminginterface,API)或其他通信信道来与这些实体交互。
在特定实施例中,第三方系统1770可以包括一种或多种类型的服务器、一个或多个数据存储库、一个或多个接口(包括但不限于,API)、一个或多个网页服务、一个或多个内容源、一个或多个网络、或任何其他合适的部件(例如,服务器可以与该部件进行通信)。第三方系统1770可以由与运行社交网络或VR系统1760的实体不同的实体来运行。然而,在特定实施例中,社交网络或VR系统1760和第三方系统1770可以相互结合运行,以向社交网络或VR系统1760或第三方系统1770的用户提供社交网络服务。在这个意义上,社交网络或VR系统1760可以提供平台或主干网,其他系统(例如,第三方系统1770)可以使用该平台或主干网,来通过互联网向用户提供社交网络服务和功能。
在特定实施例中,第三方系统1770可以包括第三方内容对象提供器。第三方内容对象提供商可以包括一个或多个内容对象源,该一个或多个内容对象源可被传送到客户端系统1730。作为示例而非限制,内容对象可以包括关于用户感兴趣的事物或活动的信息,例如电影放映时间、电影评论、餐馆评论、餐馆菜单、产品信息和评论、或其他合适的信息。作为另一示例而非限制,内容对象可以包括激励内容对象,例如优惠券、折扣票、礼品券、或其他合适的激励对象。
在特定实施例中,社交网络或VR系统1760还包括用户生成的内容对象,该用户生成的内容对象可以增强用户与社交网络或VR系统1760的交互。用户生成的内容可以包括用户可以添加、上传、发送或“发布”到社交网络或VR系统1760的任何事物。作为示例而非限制,用户从客户端系统1730将帖子传送给社交网络或VR系统1760。帖子可以包括如下数据:例如状态更新或其他文本数据、位置信息、照片、视频、链接、音乐、或其他类似数据或媒体。内容也可以由第三方通过“通信信道”(例如,新闻源或流)添加到社交网络或VR系统1760。
在特定实施例中,社交网络或VR系统1760可以包括各种服务器、子系统、程序、模块、日志、和数据存储库。在特定实施例中,社交网络或VR系统1760可以包括以下中的一者或多者:网页服务器、操作日志记录器、API请求服务器、相关度和排序引擎、内容对象分类器、通知控制器、操作日志、第三方内容对象公开日志、推理模块、授权/隐私服务器、搜索模块、广告定向模块、用户界面模块、用户资料存储库、连接存储库、第三方内容存储库、或位置存储库。社交网络或VR系统1760还可以包括合适的部件,例如网络接口、安全机制、负载均衡器、故障转移服务器(failover server)、管理和网络操作控制台、其他合适的部件、或它们的任何合适的组合。在特定实施例中,社交网络或VR系统1760可以包括用于存储用户资料的一个或多个用户资料存储区。用户资料例如可以包括生物信息、人口统计信息、行为信息、社会信息、或其他类型的描述性信息(例如,工作经历、教育历史、爱好或偏好、兴趣、姻亲关系、或位置)。兴趣信息可以包括与一个或多个类别相关的兴趣。类别可以是通用的或特定的。作为示例而非限制,如果用户“喜欢”关于一鞋子的品牌的物品,则该类别可以是该品牌,或者可以是“鞋子”或“服装”的通用类别。联系存储库可用于存储关于用户的联系信息。联系信息可以指示具有相似或共同的工作经历、群组成员资格、爱好、教育历史、或者以任何方式相关或共享共同属性的用户。联系信息还可以包括不同用户和内容(内部和外部两者)之间的用户定义的联系。网页服务器可以用于经由网络1710将社交网络或VR系统1760链接到一个或多个客户端系统1730或一个或多个第三方系统1770。网页服务器可以包括邮件服务器、或用于接收并路由社交网络或VR系统1760与一个或多个客户端系统1730之间的消息的其他消息收发功能。API请求服务器可以允许第三方系统1770通过调用一个或多个API来访问来自社交网络或VR系统1760的信息。操作日志记录器可以用于接收来自网页服务器的关于用户启动或关闭社交网络或VR系统1760的动作的信息。结合操作日志,可以维护用户对第三方内容对象公开的第三方内容对象日志。通知控制器可以向客户端系统1730提供关于内容对象的信息。可以将信息作为通知推送给客户端系统1730,或者可以响应于从客户端系统1730接收到的请求而从客户端系统1730提取信息。授权服务器可以用于实施对社交网络或VR系统1760的用户的一个或多个隐私设置。用户隐私设置决定了可以如何共享与用户相关联的特定信息。授权服务器可以允许用户例如通过设置合适的隐私设置,来选择让或不让社交网络或VR系统1760对他们的动作进行记录、或将他们的动作与其他系统(例如,第三方系统1770)进行共享。第三方内容对象存储库可以用于存储从第三方(例如,第三方系统1770)接收到的内容对象。位置存储库可以用于存储从与用户相关联的客户端系统1730接收到的位置信息。广告定价模块可以结合社交信息、当前时间、位置信息、或其他合适的信息,来以通知的形式向用户提供相关广告。
图18示出了示例计算机系统1800。在特定实施例中,一个或多个计算机系统1800执行本文所描述或所示出的一种或多种方法的一个或多个步骤。在特定实施例中,一个或多个计算机系统1800提供本文所描述或所示出的功能。在特定实施例中,在一个或多个计算机系统1800上运行的软件执行本文所描述或所示出的一种或多种方法的一个或多个步骤,或者提供本文所描述或所示出的功能。特定实施例包括一个或多个计算机系统1800的一个或多个部分。此处,在适当的情况下,对计算机系统的引用可以包括计算设备,反之亦然。此外,在适当的情况下,对计算机系统的引用可以包括一个或多个计算机系统。
本公开考虑了任何合适数量的计算机系统1800。本公开考虑了计算机系统1800采用任何合适的物理形式。作为示例而非限制,计算机系统1800可以是嵌入式计算机系统、片上系统(system-on-chip,SOC)、单板计算机系统(single-board computer system,SBC)(例如,模块上计算机(computer-on-module,COM)或模块上系统(system-on-module,SOM))、台式计算机系统、膝上型或笔记本计算机系统、交互式自助服务机(interactivekiosk)、大型机、计算机系统网格、移动电话、个人数字助理(PDA)、服务器、平板计算机系统、增强/虚拟现实设备或这些中的两种或更多种的组合。在适当的情况下,计算机系统1800可以包括一个或多个计算机系统1800;单一的或分布式的;跨越多个位置;跨越多台机器;跨越多个数据中心;或者驻留在云中,所述云可以包括一个或多个网络中的一个或多个云组件。在适当的情况下,一个或多个计算机系统1800可以在没有实质上的空间或时间限制的情况下执行本文描述或示出的一种或多种方法的一个或多个步骤。作为示例而非限制,一个或多个计算机系统1800可以实时地或以批处理模式执行本文描述或示出的一种或多种方法的一个或多个步骤。在适当的情况下,一个或多个计算机系统1800可以在不同的时间或在不同的位置执行本文描述或示出的一种或多种方法的一个或多个步骤。
在特定实施例中,计算机系统1800包括处理器1802、内存储器1804、存储装置1806、输入/输出(input/output,I/O)接口1808、通信接口1810和总线1812。尽管本公开描述并示出了在特定布置中具有特定数量的特定部件的特定计算机系统,但本公开考虑了在任何合适布置中具有任何合适数量的任何合适部件的任何合适的计算机系统。
在特定实施例中,处理器1802包括用于执行指令(例如,构成计算机程序的那些指令)的硬件。作为示例而非限制,为了执行指令,处理器1802可以检索(或读取)来自内部寄存器、内部高速缓冲存储器、存储器1804、或存储装置1806的多个指令;解码并执行这些指令;并且随后将一个或多个结果写入内部寄存器、内部高速缓冲存储器、存储器1804或存储装置1806。在特定实施例中,处理器1802可以包括用于数据、指令或地址的一个或多个内部高速缓冲存储器。在适当的情况下,本公开内容考虑了包括任何合适数量的任何合适的内部高速缓冲存储器的处理器1802。作为示例而非限制,处理器1802可以包括一个或多个指令高速缓冲存储器、一个或多个数据高速缓冲存储器、和一个或多个转译后备缓冲器(translation lookaside buffer,TLB)。指令高速缓存中的指令可以是存储器1804或存储装置1806中的指令的副本,并且指令高速缓存可以加速处理器1802对那些指令的检索。数据高速缓存中的数据可以是存储器1804或存储装置1806中的用于在处理器1802处执行以进行操作的指令的数据的副本;在处理器1802处执行的用于由在处理器1802处执行的后续指令进行访问或用于写入存储器1804或存储装置1806的先前指令的结果;或其它合适的数据。数据高速缓冲存储器可以加速处理器1802的读操作或写操作。TLB可以加速处理器1802的虚拟地址转译。在特定实施例中,处理器1802可以包括用于数据、指令或地址的一个或多个内部寄存器。在适当的情况下,本公开考虑了处理器1802包括任何适当数量的任何合适的内部寄存器。在适当的情况下,处理器1802可以包括一个或多个算术逻辑单元(arithmetic logic unit,ALU);可以是多核处理器;或者可以包括一个或多个处理器1802。尽管本公开描述并示出了特定处理器,但是本公开考虑了任何合适的处理器。
在特定实施例中,存储器1804包括主存储器,该主存储器用于存储供处理器1802执行的指令或供处理器1802操作的数据。作为示例而非限制,计算机系统1800可以将指令从存储装置1806或另一个源(例如,另一个计算机系统1800)加载到存储器1804。然后,处理器1802可以将指令从存储器1804加载到内部寄存器或内部高速缓存。为了执行这些指令,处理器1802可以从内部寄存器或内部高速缓存中检索这些指令并对这些指令进行解码。在这些指令的执行期间或之后,处理器1802可以将一个或多个结果(其可以是中间结果或最终结果)写入内部寄存器或内部高速缓存。然后,处理器1802可以将这些结果中的一个或多个结果写入存储器1804。在特定实施例中,处理器1802仅执行一个或多个内部寄存器或内部高速缓存或存储器1804(与存储装置1806或其它处相对)中的指令,并且仅对一个或多个内部寄存器或内部高速缓存或存储器1804(与存储装置1806或其它处不同)中的数据进行操作。一个或多个存储器总线(其可以各自包括地址总线和数据总线)可以将处理器1802耦接到存储器1804。如下文所述,总线1812可以包括一个或多个存储器总线。在特定实施例中,一个或多个存储器管理单元(memory management units,MMU)驻留在处理器1802与存储器1804之间,并且促进由处理器1802请求的对存储器1804的访问。在特定实施例中,存储器1804包括随机存取存储器(random access memory,RAM)。在适当的情况下,该RAM是易失性存储器。在适当的情况下,该RAM可以为动态RAM(dynamic RAM,DRAM)或静态RAM(staticRAM,SRAM)。而且,在适当的情况下,该RAM可以为单端口或多端口RAM。本公开考虑了任何合适的RAM。在适当的情况下,存储器1804可以包括一个或多个存储器1804。尽管本公开描述并示出了特定存储器,但是本公开考虑了任何合适的存储器。
在特定实施例中,存储装置1806包括用于数据或指令的大容量存储。作为示例而非限制,存储装置1806可以包括硬盘驱动器(hard disk drive,HDD)、软盘驱动器、闪存、光盘、磁光盘、磁带或通用串行总线(universal serial bus,USB)驱动器或者这些中的两者或更多者的组合。在适当的情况下,存储装置1806可以包括可移动或不可移动(或固定)介质。在适当的情况下,存储装置1806可以在计算机系统1800的内部或外部。在特定实施例中,存储装置1806是非易失性固态存储器。在特定实施例中,存储装置1806包括只读存储器(read-only memory,ROM)。在适当的情况下,该ROM可以是掩模编程ROM、可编程ROM(programmable ROM,PROM)、可擦除PROM(erasable PROM,EPROM)、电可擦除PROM(electrically erasable PROM,EEPROM)、电可改写ROM(electrically alterable ROM,EAROM)或闪存或者这些中的两者或更多者的组合。本公开考虑了采用任何合适的物理形式的大容量存储装置1806。在适当的情况下,存储装置1806可以包括促进处理器1802和存储装置1806之间的通信的一个或多个存储控制单元。在适当的情况下,存储装置1806可以包括一个或多个存储装置1806。尽管本公开描述并示出了特定存储装置,但本公开考虑了任何合适的存储装置。
在特定实施例中,I/O接口1808包括硬件、软件或这两者,提供用于计算机系统1800与一个或多个I/O设备之间的通信的一个或多个接口。在适当的情况下,计算机系统1800可以包括这些I/O设备中的一个或多个。这些I/O设备中的一个或多个可以能够实现个人与计算机系统1800之间的通信。作为示例而非限制,I/O设备可以包括键盘、小键盘、传声器、监视器、鼠标、打印机、扫描仪、扬声器、静止摄像头、手写笔、平板电脑、触摸屏、轨迹球、视频摄像头、另一个合适的I/O设备或它们中的两者或更多者的组合。I/O设备可以包括一个或多个传感器。本公开考虑了任何合适的I/O设备和用于这些I/O设备的任何合适的I/O接口1808。在适当的情况下,I/O接口1808可以包括一个或多个设备或软件驱动程序,该一个或多个设备或软件驱动程序使处理器1802能够驱动这些I/O设备中的一个或多个I/O设备。在适当的情况下,I/O接口1808可以包括一个或多个I/O接口908。尽管本公开描述和示出了特定I/O接口,但本公开考虑了任何合适的I/O接口。
在特定实施例中,通信接口1810包括这样的硬件、软件或这两者:该硬件、软件或这两者为计算机系统1800与一个或多个其他计算机系统1800或与一个或多个网络之间的通信(例如,基于包(packet-based)的通信)提供一个或多个接口。作为示例而非限制,通信接口1810可以包括用于与以太网或其他基于有线的网络进行通信的网络接口控制器(network interface controller,NIC)或网络适配器,或者可以包括用于与无线网络(例如,Wi-Fi网络)进行通信的无线NIC(wireless NIC,WNIC)或无线适配器。本公开考虑了任何合适的网络和用于该网络的任何合适的通信接口1810。作为示例而非限制,计算机系统1800可以与如下的网络进行通信:自组网络、个域网(personal area network,PAN)、局域网(LAN)、广域网(WAN)、城域网(MAN)、或互联网的一个或多个部分、或这些中的两者或多者的组合。这些网络中的一个或多个网络的一个或多个部分可以是有线或无线的。例如,计算机系统1800可以与如下的网络进行通信:无线PAN(wireless PAN,WPAN)(例如,蓝牙WPAN)、Wi-Fi网络、WI-MAX网络、蜂窝电话网络(例如,全球移动通信系统(Global System forMobile Communications,GSM)网络)、或其他合适的无线网络、或这些中的两者或更多者的组合。在适当的情况下,计算机系统1800可以包括用于这些网络中的任何网络的任何合适的通信接口1810。在适当情况下,通信接口1810可以包括一个或多个通信接口1810。尽管本公开描述和示出了特定通信接口,但是本公开考虑了任何合适的通信接口。
在特定实施例中,总线1812包括将计算机系统1800的多个部件耦接到彼此的硬件、软件或这两者。作为示例而非限制,总线1812可以包括:加速图形端口(AcceleratedGraphics Port,AGP)或其他图形总线、增强型工业标准体系结构(Enhanced IndustryStandard Architecture,EISA)总线、前端总线(front-side bus,FSB)、超传输(HYPERTRANSPORT,HT)互连、工业标准体系结构(Industry Standard Architecture,ISA)总线、无限带宽(INFINIBAND)互连、低引脚数(low-pin-count,LPC)总线、内存总线、微通道体系结构(Micro Channel Architecture,MCA)总线、外围部件互连(PeripheralComponent Interconnect,PCI)总线、快速PCI(PCI-Express,PCIe)总线、串行高级技术附件(serial advanced technology attachment,SATA)总线、本地视频电子标准协会(VideoElectronics Standards Association local,VLB)总线、或另一合适的总线、或这些中的两者或更多者的组合。在适当的情况下,总线1812可以包括一个或多个总线1812。尽管本公开描述和示出了特定总线,但本公开考虑了任何合适的总线或互连。
在本文中,在适当的情况下,一个或多个计算机可读非暂态存储介质可以包括一个或多个基于半导体的电路或者其他集成电路(integrated circuit,IC)(例如,现场可编程门阵列(field-programmable gate array,FPGA)或专用IC(application-specific IC,ASIC))、硬盘驱动器(HDD)、混合硬盘驱动器(hybrid hard drives,HHD)、光盘、光盘驱动器(optical disc drive,ODD)、磁光盘、磁光驱动器、软盘、软盘驱动器(floppy disk drive,FDD)、磁带、固态驱动器(solid-state drive,SSD)、RAM驱动器、安全数字卡或驱动器、另一合适的计算机可读非暂态存储介质、或者这些介质中的两者或更多者的任何合适的组合。在适当的情况下,计算机可读非暂态存储介质可以是易失性的、非易失性的、或易失性与非易失性的组合。
在本文中,除非另有明确指示或上下文另有指示,否则“或”是开放性的而非排他性的。因此,在本文中,除非另有明确指示或上下文另有指示,否则“A或B”指的是“A、B、或这两者”。此外,除非上下文另有其他明确指示或其他指示,否则“和”既是联合的,也是各自的。因此,在此,除非上下文另有其他明确指示或其他指示,否则“A和B”是指“A和B,联合地或各自地”。
本公开的范围包括本领域普通技术人员将理解的对文本描述或示出的示例实施例的所有改变、替换、变化、变更和修改。本公开的范围不限于本文描述或示出的示例实施例。此外,尽管本公开在此描述和示出了包括特定组件、元件、特征、功能、操作或步骤的各个实施例,但是这些实施例中的任何一个可以包括本领域普通技术人员将理解的在文中任何处描述或示出的任何组件、元件、特征、功能、操作或步骤的任何组合或排列。此外,在所附权利要求中对适合于、布置成、能够、配置成、使能、可操作成或操作以执行特定功能的装置或系统或者装置或系统的组件的引用包括该装置、系统、组件,无论其或该特定功能是否被激活、开启或解锁,只要该装置、系统或组件如此地被适合于、布置、能够、配置、使能、可操作或操作即可。另外,尽管本公开描述或示出了提供特定优点的特定实施例,但是特定实施例可以提供这些优点中的一些或全部,或者可以不提供这些优点。
Claims (15)
1.一种方法,所述方法包括:由一个或多个计算系统:
为虚拟现实(VR)显示设备的一个或多个显示器渲染第一输出图像,所述第一输出图像包括真实世界环境的透视视图;
使用由所述VR显示设备的所述一个或多个显示器的一个或多个摄像头采集的一个或多个图像,来识别所述真实世界环境中的真实世界对象;
接收第一用户输入,所述第一用户输入指示与所述真实世界对象相对应的第一尺寸;
基于所述第一尺寸,自动确定与所述真实世界对象相对应的第二尺寸和第三尺寸;以及
为所述VR显示设备的所述一个或多个显示器渲染VR环境的第二输出图像,其中,所述VR环境包括与所述真实世界对象相对应的混合现实(MR)对象,其中,所述MR对象由所确定的所述第一尺寸、所述第二尺寸和所述第三尺寸定义。
2.根据权利要求1所述的方法,所述方法还包括:
访问由所述VR显示设备的所述一个或多个摄像头采集的所述真实世界环境的一个或多个图像;以及
基于所访问的图像,为所述VR显示设备的所述一个或多个显示器渲染第三输出图像,所述第三输出图像包括所述VR环境的一部分和所述真实世界环境的所述透视视图的一部分,其中,所述透视视图的所述部分位于所述VR环境中的所述MR对象的表面。
3.根据权利要求2所述的方法,所述方法还包括:
接收第二用户输入,所述第二用户输入指示选择查看所述MR对象的所述透视视图的所述部分,其中,所述第三输出图像是响应于接收到指示选择查看所述MR对象的所述透视视图的所述部分的所述第二用户输入来渲染的。
4.根据权利要求2或3所述的方法,所述方法还包括:
确定所述MR对象位于所述VR显示设备的用户的视场的中央达阈值时间段,其中,所述第三输出图像是响应于确定所述MR对象位于所述用户的视场的中央达所述阈值时间段来渲染的。
5.根据权利要求2至4中任一项所述的方法,所述方法还包括:
确定所述VR显示设备的用户是否已经在所述真实世界对象的阈值距离内接近,其中,所述第三输出图像是响应于确定所述用户已经在所述真实世界对象的所述阈值距离内接近来渲染的。
6.根据权利要求2至5中任一项所述的方法,所述方法还包括:
确定所述MR对象是否在所述VR显示设备的用户的视场中,其中,所述第三输出图像是响应于确定所述MR对象在所述用户的视场中来渲染的。
7.根据任一项前述权利要求所述的方法,所述方法还包括:
为所述VR显示设备的所述一个或多个显示器渲染与所述真实世界环境相对应的虚拟边界;
优选地其中,所述方法还包括:
响应于自动确定与所述真实世界对象相对应的所述第二尺寸和所述第三尺寸,扩展所述虚拟边界以包括所识别的所述真实世界对象。
8.根据任一项前述权利要求所述的方法,所述方法还包括:
为所述VR显示设备的所述一个或多个显示器渲染个人用户界面(UI),其中,所述个人UI被渲染为接近所述VR显示设备的用户的虚拟对象,其中,所述个人UI对应于所述用户的移动而移动,并且其中,所述个人UI具有一个或多个适配于所述MR对象的属性。
9.根据权利要求8所述的方法,其中,所述个人UI的多个所述属性中的一个属性是:所述个人UI的形状要素,其中,所述个人UI的第一形状要素基于所述用户与所述MR对象的接近程度而适配为所述个人UI的第二形状要素;和/或所述个人UI的一组用户功能,其中,所述个人UI的第一组用户功能基于所述用户与所述MR对象的接近程度而适配为所述个人UI的第二组用户功能。
10.根据任一项前述权利要求所述的方法,其中,指示所述真实世界对象的所述第一尺寸的所述用户输入是由所述VR显示设备的用户在所述VR环境内创建的如下虚拟线:所述虚拟线定义了所述真实世界对象的边缘。
11.根据权利要求1至9中任一项所述的方法,其中,指示所述真实世界对象的所述第一尺寸的所述用户输入是由所述VR显示设备的用户在所述VR环境内创建的如下两个虚拟点:所述两个虚拟点定义了与所述真实世界对象的边缘相对应的虚拟线的端点。
12.根据权利要求1至9中任一项所述的方法,其中,指示所述真实世界对象的所述第一尺寸的所述用户输入是由所述VR显示设备的用户在所述VR环境内创建的如下单个虚拟点:所述单个虚拟点定义了所述真实世界对象的表面。
13.一种计算机可读介质,所述计算机可读介质包括指令,所述指令在由计算机执行时,使得所述计算机执行根据任一项前述权利要求所述的方法。
14.一种系统,所述系统包括处理器,所述处理器被配置为执行根据权利要求1至12中任一项所述的方法。
15.一种计算机程序产品,所述计算机程序产品包括指令,所述指令在由计算机执行时,使得所述计算机执行根据权利要求1至12中任一项所述的方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/204,699 US11417054B1 (en) | 2021-03-17 | 2021-03-17 | Mixed reality objects in virtual reality environments |
US17/204,699 | 2021-03-17 | ||
PCT/US2022/020292 WO2022197644A1 (en) | 2021-03-17 | 2022-03-15 | Mixed reality objects in virtual reality environments |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116997881A true CN116997881A (zh) | 2023-11-03 |
Family
ID=81326763
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202280022190.XA Pending CN116997881A (zh) | 2021-03-17 | 2022-03-15 | 虚拟现实环境中的混合现实对象 |
Country Status (7)
Country | Link |
---|---|
US (2) | US11417054B1 (zh) |
EP (1) | EP4309025A1 (zh) |
JP (1) | JP2024513635A (zh) |
KR (1) | KR20230156029A (zh) |
CN (1) | CN116997881A (zh) |
TW (1) | TW202238531A (zh) |
WO (1) | WO2022197644A1 (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11175730B2 (en) * | 2019-12-06 | 2021-11-16 | Facebook Technologies, Llc | Posture-based virtual space configurations |
US11417054B1 (en) * | 2021-03-17 | 2022-08-16 | Facebook Technologies, Llc. | Mixed reality objects in virtual reality environments |
US20220319059A1 (en) * | 2021-03-31 | 2022-10-06 | Snap Inc | User-defined contextual spaces |
US12056268B2 (en) | 2021-08-17 | 2024-08-06 | Meta Platforms Technologies, Llc | Platformization of mixed reality objects in virtual reality environments |
US11748944B2 (en) | 2021-10-27 | 2023-09-05 | Meta Platforms Technologies, Llc | Virtual object structures and interrelationships |
US12093447B2 (en) | 2022-01-13 | 2024-09-17 | Meta Platforms Technologies, Llc | Ephemeral artificial reality experiences |
US12026527B2 (en) | 2022-05-10 | 2024-07-02 | Meta Platforms Technologies, Llc | World-controlled and application-controlled augments in an artificial-reality environment |
WO2024144158A1 (ko) * | 2022-12-26 | 2024-07-04 | 삼성전자 주식회사 | 적어도 하나의 가상 객체의 속성에 따라 적어도 하나의 가상 객체를 제어하는 웨어러블 장치 및 그 제어 방법 |
Family Cites Families (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070168153A1 (en) * | 2006-01-13 | 2007-07-19 | Digicontractor Corporation | Method and apparatus for photographic measurement |
US9443353B2 (en) * | 2011-12-01 | 2016-09-13 | Qualcomm Incorporated | Methods and systems for capturing and moving 3D models and true-scale metadata of real world objects |
US9607422B1 (en) * | 2011-12-22 | 2017-03-28 | Msc.Software Corporation | Interactive vertex manipulation system and methods for geometry repair |
US9129404B1 (en) * | 2012-09-13 | 2015-09-08 | Amazon Technologies, Inc. | Measuring physical objects and presenting virtual articles |
US9478030B1 (en) * | 2014-03-19 | 2016-10-25 | Amazon Technologies, Inc. | Automatic visual fact extraction |
US20160147408A1 (en) | 2014-11-25 | 2016-05-26 | Johnathan Bevis | Virtual measurement tool for a wearable visualization device |
US9569859B2 (en) * | 2014-12-29 | 2017-02-14 | Dell Products, Lp | System and method for redefining depth-based edge snapping for three-dimensional point selection |
US10304251B2 (en) * | 2017-06-15 | 2019-05-28 | Microsoft Technology Licensing, Llc | Virtually representing spaces and objects while maintaining physical properties |
US10521020B2 (en) * | 2017-07-12 | 2019-12-31 | Unity IPR ApS | Methods and systems for displaying UI elements in mixed reality environments |
US10627635B2 (en) * | 2017-08-02 | 2020-04-21 | Microsoft Technology Licensing, Llc | Transitioning into a VR environment and warning HMD users of real-world physical obstacles |
DK201870351A1 (en) | 2018-05-07 | 2020-01-13 | Apple Inc. | Devices and Methods for Measuring Using Augmented Reality |
JP7136931B2 (ja) * | 2018-06-05 | 2022-09-13 | マジック リープ, インコーポレイテッド | 空間3d環境へのコンテンツのマッチング |
US11263824B2 (en) * | 2018-11-14 | 2022-03-01 | Unity IPR ApS | Method and system to generate authoring conditions for digital content in a mixed reality environment |
US10783714B2 (en) * | 2019-01-29 | 2020-09-22 | Verizon Patent And Licensing Inc. | Methods and systems for automatically tailoring a form of an extended reality overlay object |
US10984546B2 (en) * | 2019-02-28 | 2021-04-20 | Apple Inc. | Enabling automatic measurements |
WO2020198437A1 (en) * | 2019-03-27 | 2020-10-01 | Drone Technology LLC | System and method for structure inspection |
US11270522B1 (en) * | 2020-08-31 | 2022-03-08 | Verizon Patent And Licensing Inc. | Systems and methods for facilitating display of augmented reality content |
US11417054B1 (en) * | 2021-03-17 | 2022-08-16 | Facebook Technologies, Llc. | Mixed reality objects in virtual reality environments |
-
2021
- 2021-03-17 US US17/204,699 patent/US11417054B1/en active Active
-
2022
- 2022-02-16 TW TW111105638A patent/TW202238531A/zh unknown
- 2022-03-15 WO PCT/US2022/020292 patent/WO2022197644A1/en active Application Filing
- 2022-03-15 EP EP22715817.7A patent/EP4309025A1/en active Pending
- 2022-03-15 JP JP2023545773A patent/JP2024513635A/ja active Pending
- 2022-03-15 CN CN202280022190.XA patent/CN116997881A/zh active Pending
- 2022-03-15 KR KR1020237027954A patent/KR20230156029A/ko unknown
- 2022-06-30 US US17/855,557 patent/US20220358715A1/en not_active Abandoned
Also Published As
Publication number | Publication date |
---|---|
KR20230156029A (ko) | 2023-11-13 |
WO2022197644A1 (en) | 2022-09-22 |
JP2024513635A (ja) | 2024-03-27 |
US11417054B1 (en) | 2022-08-16 |
TW202238531A (zh) | 2022-10-01 |
US20220358715A1 (en) | 2022-11-10 |
EP4309025A1 (en) | 2024-01-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11417054B1 (en) | Mixed reality objects in virtual reality environments | |
US11989844B2 (en) | Systems and methods for providing spatial awareness in virtual reality | |
CN110908501B (zh) | 人工现实中防止视场遮挡的显示不透明度控制 | |
CN114761910A (zh) | 用于在人工现实中显示物理环境的实时可视化的系统、方法和介质 | |
US20210233314A1 (en) | Systems, Methods, and Media for Automatically Triggering Real-Time Visualization of Physical Environment in Artificial Reality | |
US12033270B2 (en) | Systems and methods for generating stabilized images of a real environment in artificial reality | |
CN117425870A (zh) | 虚拟现实中的动态混合现实内容 | |
US20230120052A1 (en) | Adaptable Personal User Interfaces in Cross-Application Virtual Reality Settings | |
US12056268B2 (en) | Platformization of mixed reality objects in virtual reality environments | |
US20230259194A1 (en) | Spatial Anchor Sharing for Multiple Virtual Reality Systems in Shared Real-World Environments | |
US20240194040A1 (en) | Directional Warnings in Co-located Play in Virtual Reality Environments |
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 |