CN116964542A - 用于在虚拟现实中提供空间感知的***和方法 - Google Patents

用于在虚拟现实中提供空间感知的***和方法 Download PDF

Info

Publication number
CN116964542A
CN116964542A CN202180095042.6A CN202180095042A CN116964542A CN 116964542 A CN116964542 A CN 116964542A CN 202180095042 A CN202180095042 A CN 202180095042A CN 116964542 A CN116964542 A CN 116964542A
Authority
CN
China
Prior art keywords
user
view
environment
movement
partial perspective
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
Application number
CN202180095042.6A
Other languages
English (en)
Inventor
尤金·李
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Meta Platforms Technologies LLC
Original Assignee
Meta Platforms Technologies LLC
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Meta Platforms Technologies LLC filed Critical Meta Platforms Technologies LLC
Publication of CN116964542A publication Critical patent/CN116964542A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/006Mixed reality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/0093Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00 with means for monitoring data relating to the user, e.g. head-tracking, eye-tracking
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/01Head-up displays
    • G02B27/017Head mounted
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction 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/04815Interaction with a metaphor-based environment or interaction object displayed as three-dimensional, e.g. changing the user viewpoint with respect to the environment or object
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/01Head-up displays
    • G02B27/0101Head-up displays characterised by optical features
    • G02B2027/0138Head-up displays characterised by optical features comprising image capture systems, e.g. camera

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Optics & Photonics (AREA)
  • Computer Graphics (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Processing Or Creating Images (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

在一个实施例中,一种方法包括:基于用户的视场,为VR设备的一个或多个显示器渲染VR环境的第一输出图像。VR环境具有与真实世界环境对应的虚拟边界。该方法还包括:确定用户是否正在接近虚拟边界的阈值距离,并确定用户的移动方向和视场;访问由VR设备的一个或多个相机捕获到的真实世界环境的一幅或多幅图像;以及基于所访问的图像渲染第二输出图像,该第二输出图像包括VR环境的一部分和真实世界环境的部分透视视图。部分透视视图是基于所确定的用户的移动方向和视场的。

Description

用于在虚拟现实中提供空间感知的***和方法
技术领域
本公开总体上涉及网络环境内的数据库和文件管理,并且尤其涉及在虚拟现实(virtual reality,VR)环境(setting)中确定空间感知。
背景技术
在VR环境中的传统空间感知方法需要用户定义边界墙,该边界墙表示供用户在其中运动的安全边界外缘的外边界。例如,用户可以(例如对于房间规模的VR环境)在房间的地板上画一条线作为边界,或者可以(例如对于静止的VR环境)让计算机***自动定义以静止坐着或站立的用户为中心的圆形外缘。当用户或用户的手接近边界时,可以出现虚拟墙以提醒用户其正在接近边界。对于房间规模的VR用户,用户可能会有一小房间,在该小房间中不断出现虚拟墙,从而破坏了用户体验且打破了VR沉浸感。对于静止的VR用户,当其头和/或手移动时,该用户可能会不断地看到虚拟墙,从而导致一些用户感到封闭和幽闭恐惧。此外,在一些情况下(例如如果用户向后移出边界),虚拟墙可能不会出现在用户的视场(FOV)内,直到为时已晚,如果用户移动得太快,则可能会对用户造成伤害。
发明内容
在特定实施例中,沉浸式VR***的用户的真实世界环境的视野可能会被该VR***部分或完全遮挡,因此该用户在沉浸在VR环境中时有遇到或撞到真实世界对象的风险。另外,沉浸在VR环境中可能会使用户迷失其在真实世界环境中的位置和/或方位。也就是说,用户可能忘记其站在哪里或者其附近的家具或其它对象在哪里。因此,一个技术挑战可能包括:保持沉浸式VR体验,同时还向沉浸在VR体验中的用户传达关于真实世界环境的空间信息。保证用户安全并帮助用户确定其在VR环境中的方位的传统方法包括绘制虚拟边界,该虚拟边界可以是由用户绘制的线,该线在用户处于VR体验中时为用户定义了安全区。当用户接近边界时,可以出现或激活虚拟边界墙。***可以使用虚拟边界墙来提醒用户虚拟边界在哪里。例如,这些虚拟边界墙可以具有与用户所绘制的定义了虚拟边界的线对应的网格状外观。但这些边界墙可能会扰乱在VR环境中时的沉浸感,从而降低用户的体验。由本文所公开的实施例提出的用于解决向用户传达关于真实世界的空间信息的技术挑战的一种解决方案可以是:在用户接近虚拟边界时在VR环境内提供真实世界环境的“方向性”透视视图。由于该透视视图的区域和位置可以是基于用户在VR环境中的相对移动和视场,因此该透视视图可以被认为是“方向性”的。当在方向性透视视图中时,用户可以看到虚拟边界(例如,用户所绘制的虚拟线)在哪里,以帮助用户留在安全区中。各实施例的技术优势可以包括:提供用户在真实世界环境中的位姿(例如,位置和方位),以及通过在保持VR体验的同时向用户示出对真实世界环境的快速一瞥来提供空间信息,从而向用户提供如下的视觉信息:该视觉信息可以帮助用户避开边界之外的对象以及帮助用户重新确定其在真实世界环境中的方位。作为示例而非限制,向前走的用户可能正在接近位于虚拟边界之外的桌子。在不完全打破VR沉浸感的情况下,用户的视场的一部分可以从VR环境的渲染过渡到真实世界环境(以及相应地,位于用户路径中的桌子)的方向性透视视图的渲染,以帮助用户避免碰到桌子,并帮助用户将自己重新定位在VR边界的中间。尽管本公开描述了一种使用方向性透视在VR环境中提供空间感知的方法,但是本公开考虑了以任何合适的方式在VR环境中提供空间感知。
在本发明的一个方面,提供了一种方法,包括:由一个或多个计算***:基于用户的视场,为虚拟现实(VR)显示设备的一个或多个显示器渲染VR环境的第一输出图像,其中,VR环境包括与真实世界环境对应的虚拟边界;确定用户是否已经在虚拟边界的第一阈值距离内接近;响应于用户在虚拟边界的第一阈值距离内接近,确定用户的移动方向和视场;访问由VR显示设备的一个或多个相机捕获到的真实世界环境的一幅或多幅图像;基于所访问的图像,为VR显示设备的一个或多个显示器渲染第二输出图像,该第二输出图像包括VR环境的一部分和真实世界环境的部分透视视图;其中,该部分透视视图是基于所确定的用户的移动方向和视场的。
该方法还可以包括:为VR显示设备的一个或多个显示器渲染第三输出图像,该第三输出图像包括作为一个或多个混合现实(mixed reality,MR)对象的、虚拟边界之外的一个或多个真实世界对象。
该方法还可以包括:确定用户是否正在虚拟边界的第二阈值距离内接近,其中,第二阈值距离可以大于第一阈值距离;响应于用户在虚拟边界的第二阈值距离内接近,确定用户的移动方向和视场;以及访问由VR显示设备的相机捕获到的真实世界环境的一幅或多幅附加图像,该一幅或多幅附加图像包含一个或多个真实世界对象;其中,第三输出图像可以包括所访问的附加图像中的一个或多个真实世界对象。
该一个或多个MR对象可以被渲染为一个或多个对象的轮廓、一个或多个对象的半不透明渲染、或一个或多个对象的完全不透明渲染。
该方法还可以包括:确定用户的移动速度,其中,部分透视视图的区域可以是基于所确定的用户的速度的,其中,该部分可以是球形第二输出图像的球冠。
所确定的用户的移动速度越快,则部分透视视图的区域可以相对越大,并且其中,所确定的用户的移动速度越慢,则部分透视视图的区域可以相对越小。
该方法还可以包括:确定用户的移动速度,其中,从VR环境到部分透视视图的过渡的清晰度可以是基于所确定的用户的移动速度的,其中,该过渡可以是从VR环境到部分透视视图的淡入。
所确定的用户的移动速度越快,则从VR环境到部分透视视图的过渡的清晰度可以相对越清晰,并且其中,所确定的用户的移动速度越慢,则从VR环境到部分透视视图的过渡的清晰度可以相对越不清晰。
渲染的部分透视视图可以与用户的移动方向对应。
当用户的移动方向被确定为朝向视场时,渲染的部分透视视图可以位于用户的视场中。
当移动方向被确定为垂直于视场时,渲染的部分透视视图可以位于用户的周边视图中。
当移动方向被确定为远离视场时,渲染的部分透视视图可以位于用户的周边视图中且在用户后面。
在本发明的一个方面,提供了一种或多种计算机可读非暂态存储介质,该一种或多种计算机可读非暂态存储介质包含软件,该软件在被执行时能够操作以:基于用户的视场,为虚拟现实(VR)显示设备的一个或多个显示器渲染VR环境的第一输出图像,其中,VR环境包括与真实世界环境对应的虚拟边界;确定用户是否正在虚拟边界的第一阈值距离内接近;响应于用户在虚拟边界的第一阈值距离内接近,确定用户的移动方向和视场;访问由VR显示设备的相机捕获到的真实世界环境的一幅或多幅图像;以及基于所访问的图像,为VR显示设备的一个或多个显示器渲染第二输出图像,该第二输出图像包括VR环境的一部分和真实世界环境的部分透视视图,其中,部分透视视图是基于所确定的用户的移动方向和视场的。
该软件还可以在被执行时能够操作以:为VR显示器的一个或多个显示器渲染第三输出图像,该第三输出图像包括作为一个或多个混合现实(MR)对象的、虚拟边界之外的一个或多个真实世界对象。
该软件还可以在被执行时能够操作以:确定用户是否正在虚拟边界的第二阈值距离内接近,其中,第二阈值距离大于第一阈值距离;响应于用户在虚拟边界的第二阈值距离内接近,确定用户的移动方向和视场;以及访问由VR显示设备的相机捕获到的真实世界环境的包含一个或多个真实世界对象的一幅或多幅图像。
经渲染的一个或多个MR对象可以被渲染为以下中的一者或多者:对象的轮廓、对象的半不透明渲染、或对象的完全不透明渲染。
该软件还可以在被执行时能够操作以:确定用户的移动速度,其中,部分透视视图的区域可以是基于所确定的用户的速度的,其中,该区域是第二输出图像的弧形。
所确定的用户的移动速度越快,则部分透视视图的区域可以相对越大,并且其中,所确定的用户的移动速度越慢,则部分透视视图的区域可以相对越小。
该软件还可以在被执行时能够操作以:确定用户的移动速度,其中,从VR环境到部分透视视图的过渡的清晰度可以是基于所确定的用户的移动速度的,其中,该过渡是从VR环境到部分透视视图的淡入。
在本发明的一方面,提供了一种***,包括:一个或多个处理器;以及非暂态存储器,该非暂态存储器耦接到该处理器且包括能够由该处理器执行的指令,该处理器在执行该指令时能够操作以:
基于用户的视场,为虚拟现实(VR)显示设备的一个或多个显示器渲染VR环境的第一输出图像,其中,VR环境包括与真实世界环境对应的虚拟边界;确定用户是否正在虚拟边界的第一阈值距离内接近;响应于用户在虚拟边界的第一阈值距离内接近,确定用户的移动方向和视场;访问由VR显示设备的相机捕获到的真实世界环境的一幅或多幅图像;以及基于所访问的图像,为VR显示设备的一个或多个显示器渲染第二输出图像,该第二输出图像包括VR环境的一部分和真实世界环境的部分透视视图,其中,该部分透视视图是基于所确定的用户的移动方向和视场的。
对于在VR环境中确定空间感知,存在某些技术挑战。一个技术挑战可能包括:在用户沉浸在VR体验中时,向用户传达关于真实世界环境和真实世界环境内的对象的空间信息。由本文所公开的各实施例提出的用于解决这一挑战的解决方案可以是:经由方向性透视视图提供对真实世界环境的快速一瞥,因此用户可以确定其在真实世界环境中的位置。另一技术挑战可能包括:保持VR体验的沉浸感,同时还向用户提供必要的视觉信息以确定其在虚拟边界中的位置。由本文所公开的各实施例提出的用于解决这一挑战的解决方案可以是:在VR环境中渲染真实世界对象的不透明渲染、半透明渲染、或以其它方式进行轮廓渲染,该渲染可以提醒用户真实世界对象的存在,而不会显著中断VR体验。
本文所公开的某些实施例可以提供一个或多个技术优势。各实施例的技术优势可以包括:在沉浸在VR环境中时通过由真实世界环境的方向性透视视图提供对真实世界环境的快速一瞥来提供空间信息,或者在VR环境中提供对真实世界对象的轮廓渲染以提醒用户可能位于其路径中的对象,而不显著中断VR体验的沉浸感。各实施例的另一技术优势可以包括:通过确定方向性透视视图的最佳方向来提供空间信息,而不管用户正在向哪个方向移动。本文所公开的某些实施例可以不提供上述技术优势,或者提供上述技术优势中的部分或全部技术优势。根据本公开的附图、说明书和权利要求书,一个或多个其它技术优势对本领域技术人员而言是显而易见的。
本文所公开的各实施例仅是示例,并且本公开的范围不限于这些实施例。特定实施例可以包括本文所公开的各实施例的部件、元素、特征、功能、操作或步骤中的全部或一些,或者不包括这些部件、元素、特征、功能、操作或步骤。在针对方法、存储介质、***和计算机程序产品的所附权利要求中特别公开了根据本发明的实施例,其中,在一个权利要求类别(例如,方法)中提到的任何特征也可以在另一个权利要求类别(例如,***)中被要求保护。所附权利要求中的从属关系或回引仅出于形式原因而被选择。然而,由于故意回引任何先前的权利要求(特别是多项从属关系)而产生的任何主题也可以被要求保护,使得权利要求及其特征的任何组合被公开并且可以被要求保护,而不管所附权利要求中所选择的从属关系如何。可以被要求保护的主题不仅包括在所附权利要求中阐述的特征的组合,还包括权利要求中的特征的任何其它组合,其中,权利要求中提及的每个特征可以与权利要求中的任何其它特征或其它特征的任何组合相结合。此外,本文所描述或所描绘的各实施例和特征中的任何实施例和特征可以在单独的权利要求中被要求保护,和/或以与本文所描述或所描绘的任何实施例或特征的任何组合形式或与所附权利要求的各特征中的任何特征的任何组合形式被要求保护。
附图说明
图1A示出了根据特定实施例的由用户佩戴的示例人工现实***。
图1B示出了根据特定实施例的透视特征的示例。
图1C示出了真实世界环境内的虚拟现实***。
图1D示出了虚拟现实环境内的、真实世界环境的透视视图的透视图。
图2A至图2D示出了虚拟现实环境内的真实世界环境的透视视图的俯视图。
图3A至图3D示出了在不调整视场的情况下虚拟现实环境内的、真实世界环境的透视视图的样本透视图。
图4A至图4D示出了在调整视场的情况下虚拟现实环境内的真实世界环境的透视视图的样本透视图。
图5A示出了对视场的调整的补偿的样本透视图。
图5B至图5C是示出了过渡到透视视图的补偿百分比的曲线图。
图6示出了用户视觉的样本图解。
图7示出了用户在边界空间中的透视图。
图8示出了虚拟现实环境中的、真实世界对象的轮廓渲染视图的透视图。
图9示出了使用透视视图确定VR环境中的空间感知的示例方法。
图10示出了与VR或社交网络***相关联的示例网络环境。
图11示出了示例计算机***。
具体实施方式
在特定实施例中,沉浸式VR***(例如,头戴式VR护目镜)的用户的真实世界环境视野可能会被该VR***部分或完全遮挡,因此该用户在沉浸在VR环境中时有遇到或撞到真实世界对象的风险。另外,沉浸在VR环境中可能会使用户迷失其在真实世界环境中的位置和/或方位。也就是说,用户可能忘记其站在哪里,或者其附近的家具或其它对象在哪里。因此,一个技术挑战可能包括,保持沉浸式VR体验,同时还向沉浸在VR体验中的用户传达关于真实世界环境的空间信息。保证用户安全并帮助用户确定其在VR环境中的方位的传统方法包括绘制虚拟边界,该虚拟边界可以是由用户绘制的线,该线在用户处于VR体验中时为用户定义安全区。在用户接近边界时,可以出现或激活虚拟边界墙。***可以使用虚拟边界墙来提醒用户虚拟边界在哪里。例如,这些虚拟边界墙可以具有与用户所绘制的定义了虚拟边界的线对应的网格状外观。但这些边界墙可能会扰乱在VR环境中时的沉浸感,从而降低用户的体验。本文所公开的实施例提出的用于解决向用户传达关于真实世界的空间信息的技术挑战的一种解决方案可以是:在用户接近虚拟边界时,在VR环境内提供真实世界环境的“方向性”透视视图。由于该透视视图的区域和位置可以是基于用户在VR环境中的相对移动和视场,因此该透视视图可以被认为是“方向性”的。当在方向性透视视图中时,用户可以看到虚拟边界(例如,用户绘制的虚拟线)在哪里,以帮助用户留在安全区中。各实施例的技术优势可以包括:提供用户在真实世界环境中的位姿(例如,位置和方位),以及通过在保持VR体验的同时向用户展示真实世界环境的快速一瞥来提供空间信息,从而向用户提供这样的视觉信息:该视觉信息可以帮助用户避开边界之外的对象并帮助用户重新确定其在真实世界环境中的方位。作为示例而非限制,向前走的用户可能正在接近位于虚拟边界之外的桌子。在不完全打破VR沉浸感的情况下,用户视场的一部分可以从VR环境的渲染过渡到真实世界环境(以及相应地,位于用户路径中的桌子)的方向性透视视图的渲染,以帮助用户避免碰到桌子,并帮助用户将自己重新定位在VR边界的中间。尽管本公开描述了一种使用方向性透视在VR环境中提供空间感知的方法,但本公开考虑了以任何合适的方式在VR环境中提供空间感知。
图1A示出了由用户102佩戴的虚拟现实***50的示例。在特定实施例中,虚拟现实***50可以包括头戴式的VR显示设备135、控制器106和计算***110。VR显示设备135可以被佩戴在用户的眼睛上,并通过内部显示器(未示出)向用户102提供视觉内容。VR显示设备135可以具有两个单独的内部显示器,针对用户的每只眼睛一个内部显示器(单个显示设备也是可能的)。如图1A所示,VR显示设备135可以完全覆盖用户的视场。通过向用户102独占地提供视觉信息,VR显示设备135实现了提供沉浸式人工现实体验的目标。然而,这样做的一个后果是用户102可能不能看到其周围的物理(真实世界)环境,因为其视觉被VR显示设备135遮挡了。因此,对于向用户提供关于其物理周围环境的实时视觉信息,本文所描述的透视特征在技术上可能是有利的。
图1B示出了透视特征的示例。用户102可以佩戴着VR显示设备135,沉浸在虚拟现实环境中。真实世界对象145在用户102周围的物理环境中。然而,由于VR显示设备135遮挡了用户102的视觉,因此用户102无法直接看到真实世界对象145。为了帮助用户在佩戴着VR显示设备135的同时感知其物理周围环境,透视特征使用例如前述的面向外部的相机105A至105B来捕获关于物理环境的信息。然后,可以基于用户102的视点将捕获到的信息重投影给该用户102。在VR显示设备135具有用于用户右眼的右显示器136A和用于用户左眼的左显示器136B的特定实施例中,虚拟现实***50可以分别渲染(1)基于用户右眼的视点的、针对右显示器135A的物理环境的重投影视图145A和(2)基于用户左眼的视点的、针对左显示器135B的物理环境的重投影视图145B。
再次参考图1A,VR显示设备135可以具有面向外部的相机,例如图1A中所示的两个面向前方的相机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处。只要深度测量***知道这两个像素对应于同一特征,虚拟现实***50就可以使用三角测量(triangulation)技术来计算观测特征的深度。例如,基于相机105A在3D空间内的位置和pA相对于相机105A的视场的像素位置,可以从相机105A穿过像素pA投影一条线。可以从其它相机105B穿过像素pB投影一条类似的线。由于假设这两个像素对应于同一物理特征,因此这两条线应该相交。这两条相交线以及在两个相机105A和105B之间绘制的一条假想线形成三角形,该三角形可被用于计算观测特征距相机105A或105B的距离、或者观测特征在空间中所在的点。
在特定实施例中,可能需要VR显示设备135在环境中的位姿(例如,位置和方位)。例如,为了在用户102在虚拟环境中移动时为其渲染适当的显示,虚拟现实***50可能需要在任何时刻确定该用户102的位置和方位。基于VR显示设备的位姿,虚拟现实***50还可以确定相机105A和105B中的任一个相机的视点、或用户双眼中的任一只眼睛的视点。在特定实施例中,VR显示设备135可以被配备有惯性测量单元(inertial-measurement unit,“IMU”)。由IMU生成的数据以及由面向外部的相机105A至105B捕获到的立体图像允许虚拟现实***50使用例如即时定位与地图构建(simultaneous localization and mapping,SLAM)或其它合适的技术来计算VR显示设备135的位姿。
在特定实施例中,虚拟现实***50还可以具有使用户102能够提供输入的一个或多个控制器106。控制器106可以经由无线或有线连接与VR显示设备135或单独的计算***110通信。控制器106可以具有任何数量的按钮或其它机械输入机构。另外,控制器106可以具有IMU,使得可以追踪控制器106的位姿。也可以基于控制器上的预定图案来追踪控制器106。例如,控制器106可以具有共同形成预定图案的数个红外发光二极管(LED)或其它已知的可观测特征。虚拟现实***50能够使用传感器或相机来捕获控制器上的预定图案的图像。基于所观测的这些图案的方位,***可以计算控制器相对于传感器或相机的位置和方位。
虚拟现实***50还可以包括计算***110。计算***110可以是在物理上与VR显示设备135分开的独立单元,或者计算机***110可以与VR显示设备135集成在一起。在计算***110是分开的单元的实施例中,计算***110可以经由无线或有线链路可通信地耦接到VR显示设备135。计算***110可以是高性能设备(例如台式机或膝上型计算机)、或者资源受限设备(例如移动电话)。高性能设备可以具有专用图形处理单元(GPU)以及高容量或恒定电源。另一方面,资源受限设备可以没有GPU,并且可以具有受限的电池容量。因此,可由虚拟现实***50实际使用的算法取决于该虚拟现实***50的计算***110的能力。
在计算***110是高性能设备的实施例中,可以对透视特征的实施例进行如下设计。可以通过VR显示设备135的面向外部的相机105A至105B捕获周围物理环境的一系列图像。然而,由相机105A至105B捕获到的信息可能没有与用户双眼可以捕获的信息对准,因为这些相机不能在空间上与用户双眼重合(例如,相机可能位于与用户双眼相距一段距离的位置,并因此具有不同的视点)。因此,简单地向用户显示相机捕获到的内容可能不是用户应该感知的内容的准确表示。
作为简单地显示捕获到的内容的替代,透视特征可以将由面向外部的相机105A至105B捕获到的信息重投影给用户。每一对同时捕获的立体图像可以被用于估计观测特征的深度。如以上所解释的,为了使用三角测量来测量深度,计算***110可以找到各立体图像之间的对应关系。例如,计算***110可以确定立体图像对中的哪两个像素对应于同一观测特征。高性能的计算***110可以使用其针对此类任务而优化后的GPU和光流技术来解决对应关系问题。然后,可以使用对应关系信息来使用三角测量技术计算深度。基于计算出的观测特征的深度,计算***110可以确定那些特征在3D空间中位于哪里(因为计算***110还知道相机在该3D空间中位于哪里)。结果可以由密集的3D点云来表示,该密集的3D点云中的每个点对应于一个观测特征。然后,可以使用密集的点云来生成对象在环境中的3D模型。当***渲染场景以供显示时,该***可以从用户双眼的角度执行可见性测试。例如,该***可以从与用户的每只眼睛对应的视点将光线投射到3D空间中。以这种方式,显示给用户的渲染的场景可以从用户双眼的角度被计算,而不是从面向外部的相机105A至105B的角度被计算。
然而,对于资源受限的计算单元(例如,移动电话可以是用于VR显示设备的主计算单元),上述过程可能不可行。例如,与具有强大计算资源和充足能源的***不同,移动电话不能依赖GPU和计算昂贵的算法(例如,光流)来执行深度测量并生成环境的准确的3D模型。因此,为了在资源受限设备上提供透视,需要优化过程。
在特定实施例中,如以下所进一步详细描述的,计算设备可以被配置为在运行时使用(1)GPU和光流或者(2)使用了视频编码器和运动向量的优化技术,来动态地确定其是否有能力或能够生成深度测量结果。例如,如果该设备具有GPU和充足的电力预算(例如,该设备被***电源、具有充满电的电池等),则该设备可以使用其GPU和光流来执行深度测量。然而,如果该设备没有GPU或具有紧缩的电力预算,则该设备可以选择用于计算深度的优化方法。
图1C示出了真实世界环境100内的虚拟现实***50。在真实世界环境100内可以有相机105(例如,一个或多个相机、AR/VR头戴式视图器(headset)上的面向前方的相机等)。相机105可以被连接到计算***110。相机105(例如,作为VR头戴式视图器的部分)可以由用户佩戴。相机105可以被连接到VR显示设备135(在特定实施例中,相机105和VR显示设备135可以是分开的)。在特定实施例中,计算***110可以基于用户的视场120,为VR显示设备135的一个或多个显示器渲染VR环境140的第一输出图像。VR环境140可以具有与真实世界环境100对应的虚拟边界115。VR环境140可以是被显示在用户的视场120中的VR游戏、VR办公室或其它VR环境。当用户正在沉浸在VR环境140中时,虚拟边界115可以定义或绘制标记供用户探索的安全区域的边缘。例如,在房间规模的VR环境(在该房间规模的VR环境中用户可以在VR体验期间在房间四处走动)中,虚拟边界115可以与真实世界对象145(例如,沙发、椅子、桌子、墙、障碍物等)对应,佩戴着VR显示设备135的用户在沉浸在VR体验中时可能想要避开该真实世界对象145。作为另一示例,在静止的VR环境中(例如,当用户站在或坐在一个地方而不移动时),虚拟边界115可以与用户手臂可及处或刚好超出用户手臂可及处(例如,用户周围的1米半径)的真实世界对象对应。虚拟边界115可以由用户(例如,通过让用户使用控制器106手动地绘制虚拟边界115)来绘制、自动地确定(例如,图像处理器可以确定安全边界并自动地确定边界墙)、或半自动地确定(例如,图像处理器可以确定或建议安全边界和边界墙115,并且用户可以手动地增大或编辑所确定的边界墙115)。尽管本公开描述了在特定真实世界环境中使用特定虚拟现实***,但是本公开考虑了在任何合适的真实世界环境中使用任何合适的虚拟现实***。
在特定实施例中,计算***110可以确定用户是否正在虚拟边界115的第一阈值距离内接近。计算***110可以使用相机105和/或VR显示设备135的传感器、加速度计、陀螺仪或其它位置传感器来确定用户是否正在虚拟边界115的第一阈值距离内接近。第一阈值距离可以是距虚拟边界115的预定距离(例如,1米、5米、10米等)。第一阈值距离也可以由用户确定。作为示例而非限制,在房间规模的VR环境中,计算***110可以确定用户是否正在虚拟边界115的预定距离内接近。作为另一示例而非限制,在静止的VR环境中,第一阈值距离可以是当用户的头或手接近用户周围的预定半径的边缘时(例如,当用户的头或手接近预定的1米半径时)。尽管本公开描述了以特定方式确定用户是否正在虚拟边界的特定阈值距离内接近,但是本公开考虑了以任何合适的方式确定用户是否正在虚拟边界的任何合适的阈值距离内接近。
图1D示出了VR环境140内的、真实世界环境100的透视视图130的透视图。VR环境140可以在真实世界环境100内渲染。当用户接近虚拟边界时,部分透视视图130可以表现为向用户示出该用户可能有风险遇到的真实世界对象(例如,真实世界对象145)。因此,当用户接近虚拟边界时,渲染的VR环境140的一部分可以过渡为或表现为示出了部分透视视图130的渲染。部分透视视图130可以向用户示出真实世界环境100,该真实世界环境100可以具有在用户路径中的真实世界对象,以通过向用户示出可能位于虚拟边界之外的真实世界对象来防止若用户继续沿着其路径则用户会受到伤害的风险。如图1D所示的渲染可以通过图1B中所示的VR显示设备135而被呈现给用户。也就是说,部分透视视图130可以被用于捕获关于真实世界环境100中的真实世界对象145的信息,并将该关于真实世界环境100中的真实世界对象145的信息重投影给用户。
图2A至图2D示出了VR环境140内的、真实世界环境100的透视视图130的俯视图。在特定实施例中,计算***110可以响应于用户在虚拟边界115的第一阈值距离内接近,确定用户的移动方向125和视场120。计算***110可以使用相机105和/或VR显示设备135的传感器、加速度计、陀螺仪或其它位置传感器来确定佩戴着相机105和/或VR显示设备135的用户的运动和方位,以确定用户的移动方向125和视场120。作为示例而非限制,传感器可以确定用户正在沿着与其视场120(图2A)相同的方向向前(例如,在移动方向125a上)移动。作为另一示例而非限制,传感器可以确定用户正在与其视场120(图2B)相反的方向上向后(例如,在移动方向125b上)移动。作为另一示例而非限制,传感器可以确定用户正在向左(例如,在移动方向125c上)且垂直于其视场120(图2C)进行侧向移动。作为另一示例而非限制,传感器可以确定用户正在向右(例如,在移动方向125d上)且垂直于其视场120(图2D)进行侧向移动。尽管本公开描述了确定用户的移动方向和视场,但是本公开考虑了以任何合适的方式确定用户的移动方向和视场。
在特定实施例中,计算***110可以访问由VR显示设备135的一个或多个相机105捕获到的真实世界环境100的一幅或多幅图像。计算***110可以通过使用相机105捕获用户的真实世界环境100的图像(例如,通过拍摄照片或快照)来访问真实世界环境100的一幅或多幅图像。捕获到的图像可以是真实世界环境100的局部照片(例如,相机仅捕获期望方位(诸如用户视场或周边视图)的图像)、或真实世界环境100的完整照片(例如,相机捕获用户的整个真实世界周围环境的完整360度图像)。尽管本公开描述了以特定方式访问真实世界环境的一幅或多幅图像,但是本公开考虑了以任何合适的方式访问真实世界环境的一幅或多幅图像。
在特定实施例中,计算***110可以基于所访问的图像,为VR显示设备135的一个或多个显示器渲染第二输出图像,该第二输出图像包括VR环境140的一部分和真实世界环境100的部分透视视图130。部分透视视图130可以是基于所确定的用户的移动方向125和视场120的。透视视图130可以在不会显著打破VR环境的沉浸感的情况下,在用户接近虚拟边界115时向用户提供VR环境140之外的、真实世界环境100的视图。也就是说,当用户接近虚拟边界115时,可以在VR显示设备135上显示方向性透视视图130以向用户提供该用户正在真实世界环境100中移动的方向感,同时在其它任何地方保持VR环境140。因此,计算***可以为以下技术挑战提供解决方案:该技术挑战为在用户正沉浸在VR环境140中的VR体验中时,向用户传达关于真实世界环境100和真实世界环境100内的真实世界对象145的空间信息。本文所提出的解决方案可以通过经由部分方向性透视视图130提供对真实世界环境100的快速一瞥来解决这一挑战,因此用户可以确定其在真实世界环境100中的位置。这可以具有以下优势:帮助用户避开如果其继续沿着其轨迹或路径则可能遇到的对象,并且还帮助用户确定其在真实世界环境100中的方位。例如,用户可以在查看方向性透视视图130之后将自己重新定位在虚拟边界115的中心。作为示例而非限制,并且参考图2A,如果用户正在沿着与其视场120相同的方向向前(例如,在移动方向125a上)移动,则VR显示设备135可以显示VR环境140和在用户正前方的部分透视视图130a,同时在其它任何地方保持VR环境140。作为另一示例而非限制,并且参考图2B,如果用户正在与其视场120相反的方向上向后(例如,在移动方向125b上)移动,则VR显示设备135可以显示VR环境140和覆盖用户周边视图且在用户后面的部分透视视图130b,同时在其它任何地方保持VR环境140。作为另一示例而非限制,并且参考图2C,如果用户正在向左(例如,在移动方向125c上)且垂直于其视场120进行侧向移动,则VR显示设备135可以显示VR环境140和向左覆盖用户周边视图的部分透视视图130c,同时在其它任何地方保持VR环境140。作为另一示例而非限制,并且参考图2D,如果用户正在向右(例如,在移动方向125d上)且垂直于其视场120进行侧向移动,则VR显示设备135可以显示VR环境140和向右覆盖用户周边视图的部分透视视图130d,同时在其它任何地方保持VR环境140。因此,计算***110可以渲染透视视图130,以提醒用户在其路径中的对象,并帮助用户确定其在房间中的方位。因此,各实施例可以包括以下技术优势:在沉浸在VR环境中时通过经由真实世界环境的方向性透视视图提供对真实世界环境的快速一瞥来提供空间信息。尽管本公开描述了以特定方式渲染特定输出图像,但是本公开考虑了以任何合适的方式渲染任何合适的输出图像。
图3A至图3D示出了在不调整视场120的情况下VR环境140内的、真实世界环境100的部分透视视图130的样本透视图。图4A至图4D示出了在调整视场120的情况下VR环境140内的、真实世界环境100的部分透视视图130的样本透视图。当用户偏离虚拟边界的中心时,或者当用户从任意方向接近虚拟边界时,部分透视视图130可以被调整为能够始终通知用户。这可以通过增加部分透视视图130的弧形或区域的大小来实现,以确保部分透视视图130的至少一部分总是在视场120内。这可以提供以下技术优势:通过确定方向性透视视图的最佳方向来提供空间信息,而不管用户正在向哪个方向移动。作为示例而非限制,参考图3A,如果用户正在随着移动方向125向前移动且该移动方向125沿着与用户视场120相同的方向,则部分透视视图130完全位于视场120内,并因此可能不需要任何调整。因此,参考图4A,可以不对部分透视视图130进行调整。作为另一示例而非限制,参考图3B,如果用户正在随着与其视场120成角度的移动方向125移动,则部分透视视图130与视场120不完全重叠,并因此可能需要对部分透视视图130进行调整。因此,参考图4B,可以进行调整以使部分透视视图130增加一部分。例如,如果视场120与部分透视视图的重叠为5度(如图3B所示),则部分透视视图130的大小可以增加30度,使得视场120与部分透视视图130的重叠可以增加到20度(如图4B所示)。作为另一示例而非限制,参考图3C,如果用户正在随着垂直于其视场120的移动方向125移动,则部分透视视图130与视场120可能根本不重叠,并因此可能需要对部分透视视图130进行调整。因此,参考图4C,可以进行调整以使部分透视视图130增加一部分。例如,如果视场120与部分透视视图的重叠为0度(如图3C所示),则部分透视视图130的大小可以增加32度,使得视场120与部分透视视图130的重叠可以增加到15度(如图4C所示)。作为另一示例而非限制,参考图3D,如果用户正在随着与其视场120相反的移动方向125移动,则部分透视视图130与视场120可能根本不重叠,并因此可能需要对部分透视视图130进行调整。因此,参照图4D,可以进行调整以使部分透视视图130增加一部分。例如,如果视场120与部分透视视图的重叠为0度(如图3D所示),则部分透视视图130的大小可以增加190度,使得视场120与部分透视视图130的重叠可以增加到15度(如图4D所示)。通过上述对部分透视视图130的视场调整,计算***110可以渲染透视视图130,该透视视图130可以提醒用户其路径中的对象,并帮助用户确定其在房间中的方位。
图5A示出了针对对视场120的调整的补偿160的样本透视图。视场120的方向可以由前向向量165表示。用户从虚拟边界115(未示出)的中心起的方向可以由方向向量155表示。基于前向向量165和方向向量155,可以确定补偿160,以调整部分透视视图130。例如,随着前向向量165与方向向量155之间的角度增加(例如,随着弧形170的角度减小),补偿160也可以增加。补偿160是方向向量155可能需要旋转至到达视场120的角度,例如,以确保部分透视视图130的至少一些位于视场120内。补偿160的增加可以与弧形170的减少成比例。
图5B和图5C是示出了过渡到透视视图的补偿百分比的曲线图。x轴表示部分透视视图与视场之间的距离,其中,x=0表示部分透视视图与视场刚刚不重叠,x=1表示部分透视视图与视场处于相反的方向(例如,部分透视视图指向远离视场)。y轴表示部分透视视图的补偿百分比。如图5B中的补偿百分比线161所示,一旦用户的移动方向在用户的视场之外(例如,一旦补偿百分比线161穿过y轴),则开始对透视进行补偿。由于突然过渡到部分透视视图可能非常明显,因此突然过渡可能会扰乱VR体验或分散对VR体验的注意力。如图5C中的补偿百分比线162所示,向透视视图的过渡可能更加渐进。甚至在用户的移动方向在用户的视场之外之前(例如,在补偿百分比线162穿过y轴之前),可以逐渐开始对透视视图的补偿,从而使向透视视图的过渡平滑。向透视视图的平滑过渡的优势包括引入透视视图的破坏性更小且更渐进,这可能会使确定何时开始和结束补偿不那么明显。另外,随着曲线接近x=1(例如,当部分透视视图与视场处于相反方向时),补偿可以向用户视觉的所有侧增大透视视图,因为在用户周围的所有侧看到透视视图可能比仅在一侧示出透视视图更容易注意到对象和障碍物。
在特定实施例中,再次参考图2A至图2D、图3A至图3D以及图4A至图4D,计算***110可以确定用户的移动速度。部分透视视图130的区域(例如,大小)可以是基于所确定的用户速度的。部分透视视图130可以是球形第二输出图像的球冠(例如,部分透视视图是球面的一部分,其中该球面与在用户周围的“球形穹顶”上渲染的VR环境对应)。如果用户以较快的速度移动,则与用户以所确定的较慢的速度移动的情况下可能的部分透视视图的区域相比,针对用户的所确定的较快的移动速度的情况,部分透视视图130的区域可以相对较大。因此,部分透视视图可以占据VR显示设备135所显示的输出图像的较大区域。如果用户以较慢的速度移动,则与用户以所确定的较快的速度移动的情况下可能的部分透视视图的区域相比,针对用户的所确定的较慢的移动速度的情况,部分透视视图130的区域可能相对较小。因此,部分透视视图可以占据VR显示设备135所显示的输出图像的较小区域。如果输出图像被渲染为用户周围的球形穹顶,则部分VR透视视图可以是球形穹顶中的球冠。然而,部分透视视图130可以是任何形状(例如,该形状不限于部分透视视图130的圆形视图)。作为示例而非限制,如果用户正在快步朝着虚拟边界115行走,则与用户以较慢步伐朝着虚拟边界115行走时可能的部分透视视图相比,部分透视视图130可能表现得相对较大。反之,如果用户正在朝着虚拟边界115缓慢地行走,则与用户以较快步伐朝着虚拟边界115行走时可能的部分透视视图相比,部分透视视图130可能表现得相对较小。尽管本公开描述了以特定方式确定用户的移动速度,但是本公开考虑了以任何合适的方式确定用户的移动速度。
在特定实施例中,从VR环境140到部分透视视图130的过渡的清晰度可以是基于所确定的用户的移动速度的。该过渡可以是从VR环境140到部分透视视图130的淡入、模糊、或者其它形式的视觉中断或过渡。也就是说,当从VR环境140到部分透视视图130的过渡可能涉及淡入或模糊VR环境140与部分透视视图130相遇的边缘时,针对用户的所确定的较快的移动速度的情况,从VR环境140到部分透视视图130的过渡的清晰度可能相对更清晰,而针对用户的所确定的较慢的移动速度的情况,从VR环境140到部分透视视图130的过渡的清晰度可以相对较不清晰。作为示例而非限制,如果用户朝着虚拟边界115快速地行走,则从VR环境140到部分透视视图130将不那么淡入或模糊(从VR环境140到部分透视视图130的过渡将相对较清晰)。这可以允许用户快速评估可能在用户路径中的障碍物,因为较快的用户移动可能增加绊倒或遇到对象的可能性或风险。反之,如果用户朝着虚拟边界115缓慢地行走,则从虚拟环境140到部分透视视图130将更加淡入或模糊(从VR环境140到部分透视视图130的过渡将相对不那么清晰)。这可以允许用户使用透视视图来评估其在真实世界环境中的位置,而不会大幅降低用户的VR体验(因此使对VR沉浸感和体验的干扰最小化)。尽管本公开描述了确定用户的移动速度从而以特定方式确定过渡的清晰度,但是本公开考虑了确定用户的移动速度从而以任何合适的方式确定过渡的清晰度。
图6示出了用户视觉200的样本图解。用户可以具有中心视觉205、旁中心视觉210、黄斑视觉215、近周边视觉220、中周边视觉225和远周边视觉230。由于人类周边视觉可能仅能够检测高对比度运动,因此在用户的周边视觉具有增加的清晰度,同时在视场的中心附近保持降低的清晰度(例如,增加的模糊或“羽化”)可能是有利的,以使VR体验的中断最小化。也就是说,对于头戴式视图器视场235,可以在用户的周边视觉(例如,近周边视觉220、中周边视觉225和远周边视觉230)增加透视视图的渐变(gradient)240的清晰度245,以允许对仅可检测到高对比度运动的真实世界环境的更多可见性。另一方面,对于与中心视觉205、旁中心视觉210和黄斑视觉215对应的头戴式视图器视场235,可以降低透视视图的渐变240的清晰度245(例如,通过增加渐变240的模糊或“羽化”)。因此,得益于减少中心视觉205、旁中心视觉210和黄斑视觉215附近的透视视图的干扰,用户可能能够更容易地在其周边视觉(例如,其近周边视觉220、中周边视觉225和远周边视觉230)检测到真实世界环境中的视觉对象和障碍物。这可以向用户提供对其周围环境的更高的视觉清晰度,而不会显著中断或干扰VR体验。
在特定实施例中,参考图2A至图2D、图3A至图3D以及图4A至图4D,渲染的部分透视视图130可以与用户的移动方向125对应。在VR显示设备135中显示的部分透视视图130的位置可以与用户的移动方向125对应。如果用户向前直走,则部分透视视图130可以出现在用户的正前方,该部分透视视图130位于用户的视场120中心且沿着移动方向125。如果用户的移动方向125略微向前且向左,则在VR显示设备135中显示的部分透视视图130可以沿着该移动方向125出现——在用户的视场120的中心的前面且略微向左。作为示例而非限制,当确定用户的移动方向125朝向视场120时,渲染的部分透视视图130可以位于用户的视场120中。作为另一示例而非限制,当确定移动方向125垂直于视场120时,渲染的部分透视视图130可以位于用户的周边视图中。也就是说,视场可以在用户周边,位于用户的视场120的左侧或右侧。这可以允许使用用户的周边视图来提醒用户可能位于其路径中的潜在障碍物或对象。作为另一示例而非限制,当确定移动方向125远离视场120时,渲染的部分透视视图130可以在用户的周边视图中且在用户后面。也就是说,当用户正在与其视场120相反的方向上向后行走时,部分透视视图130可以覆盖用户的周边视图的左侧和右侧这两者、以及用户后面的部分(超出用户的视场120和用户的周边视图)。
图7示出了用户在边界空间175中的透视图。边界空间175可以具有中心180(该中心例如可以与真实世界环境中的真实世界房间的中心对应)。边界空间175可以包括具有用户可能想要定制的一个或多个阈值边界的边界190。例如,用户可以将边界空间175定制为包括起始阈值边界185和结束边界195。取决于用户的方向向量155(例如,当用户移动以进一步远离或靠近边界空间175的中心时),相机105的计算***110(未示出)可以在VR显示设备135(未示出)上以增大或减小的大小和清晰度显示部分透视视图。作为示例,如果用户在起始边界185处,则部分透视视图的大小可以相对小于用户在边界190处时可能的大小。与在边界190处可能的清晰度相比,部分透视视图在起始边界185处的清晰度可以相对较不清晰。作为另一示例,如果用户在结束边界195处,则部分透视视图的大小可以相对大于用户在边界190处时可能的大小。与在边界190处可能的清晰度相比,部分透视视图在结束边界195处的清晰度可以相对更加清晰。
图8示出了VR环境140中的、真实世界对象150的轮廓渲染视图的透视图。参考图1C和图8,在特定实施例中,计算***110可以为VR显示设备135的一个或多个显示器渲染第三输出图像,该第三输出图像包括作为真实世界对象150的轮廓渲染视图(例如,作为一个或多个混合现实(MR)对象)的、虚拟边界之外的一个或多个真实世界对象145。真实世界对象150的轮廓渲染视图可以与可位于虚拟边界115之外的真实世界对象145对应。轮廓渲染的对象可以被渲染为一个或多个真实世界对象145的轮廓、一个或多个真实世界对象145的半不透明渲染、一个或多个真实世界对象145的完全不透明渲染、或其它类似的渲染。轮廓渲染的对象可以被用于通过向用户示出真实世界对象150的轮廓渲染视图来提醒用户一个或多个真实世界对象145的存在,该轮廓渲染视图可以与真实世界环境中的真实世界对象145的位姿对应。也就是说,各实施例的技术优势可以包括:通过在VR环境中提供真实世界对象的轮廓渲染来提供空间信息,以提醒用户可能位于其路径中的对象,而不显著地中断VR体验的沉浸感。因此,可以向用户提供关于障碍物的存在的安全且隐晦的提醒或警告,而不会破坏用户VR体验或打破沉浸感。作为示例而非限制,如果一个或多个真实世界对象145(例如,桌子)位于虚拟边界115之外(如图1C所示),则该一个或多个真实世界对象145可以在用户的VR显示设备135中表现为轮廓渲染的对象(例如,真实世界对象150的轮廓渲染视图的MR对象)。当在VR环境140中时,用户可能能够在不必离开VR环境140的情况下看到对象145(例如,桌子)的“幽灵的”半不透明轮廓。真实世界对象150的轮廓渲染视图可以提醒用户避开桌子并继续进行VR体验。例如,如果计算***确定真实世界对象(例如,桌子)不会对用户造成危险,则轮廓渲染的对象(例如,桌子的渲染的轮廓)可以淡入视野,并然后在用户远离桌子时淡出。因此,计算***110可以提供对以下技术挑战的解决方案:保持VR体验的沉浸感,同时还向用户提供必要的视觉信息以确定其在虚拟边界中的方位。本文所提出的解决方案可以通过在VR环境140中渲染真实世界对象150的不透明渲染、半透明渲染或以其它方式进行轮廓渲染的视图来解决该挑战,以提醒用户真实世界对象145的存在,而不会显著地中断VR体验。尽管本公开描述了以特定方式渲染第三输出图像,但是本公开考虑了以任何合适的方式渲染任何合适的图像。
在特定实施例中,计算***110可以确定用户是否正在虚拟边界115的第二阈值距离内接近。第二阈值距离可以大于第一阈值距离。例如,如果第一阈值距离是与虚拟边界115相距1米,则第二阈值距离可以是与虚拟边界115相距2米。尽管本公开描述了以特定方式确定用户是否正在第二阈值距离内接近,但是本公开考虑了以任何合适的方式确定用户是否正在任何阈值距离内接近。
在特定实施例中,参考图1C、图2A至图2D以及图8,计算***110可以响应于用户在虚拟边界115的第二阈值距离内接近,确定用户的移动方向125和视场120。如上所述,计算***110可以使用相机105和/或VR显示设备135的传感器、加速度计、陀螺仪或其它位置传感器来确定佩戴着相机105和/或VR显示设备135的用户的运动和方位,以确定用户的移动方向125和视场120。作为示例而非限制,传感器可以确定用户正在沿着与其视场120相同的方向向前(例如,在移动方向125a上)移动并且在虚拟边界115的第二阈值距离内接近(图2A)。作为另一示例而非限制,传感器可以确定用户正在与其视场120相反的方向上向后(例如,在移动方向125b上)移动并且在虚拟边界115的第二阈值距离内接近(图2B)。作为另一示例而非限制,传感器可以确定用户正在垂直于其视场120且向左(例如,在移动方向125c上)进行侧向移动并且在虚拟边界115的第二阈值距离内接近(图2C)。作为另一示例而非限制,传感器可以确定用户正在垂直于其视场120且向右(例如,在移动方向125d上)进行侧向移动并且在虚拟边界115的第二阈值距离内接近(图2D)。尽管本公开描述了以特定方式确定用户的移动方向125和视场120,但是本公开考虑了以任何合适的方式确定用户的移动方向和视场。
在特定实施例中,计算***110可以访问由VR显示设备135的相机105捕获的真实世界环境100的一幅或多幅附加图像,该一幅或多幅附加图像包含一个或多个真实世界对象145。第三输出图像可以具有所访问的附加图像中的一个或多个真实世界对象145。计算***110可以通过使用相机105拍摄用户的真实世界环境100的照片或快照(例如,捕获图像)来访问真实世界环境100的一幅或多幅图像。对象检测滤波器或边缘检测滤波器(例如,Sobel滤波器)可以检测用户的真实世界环境100附近的一个或多个真实世界对象145。作为示例而非限制,相机105可以被用于检测用户的真实世界环境100中的一个或多个真实世界对象145(例如桌子)的边缘。然后,第三输出图像可以包括由相机105捕获到的桌子。尽管本公开描述了以特定方式访问一幅或多幅附加图像,但是本公开考虑了以任何合适的方式访问图像。
图9示出了使用透视视图在VR环境中确定空间感知的示例方法900。该方法可以在步骤910开始,在步骤910中,计算***可以包括:基于用户的视场,为VR显示设备135的一个或多个显示器渲染VR环境的第一输出图像,其中,VR环境包括与真实世界环境对应的虚拟边界。在步骤920,该方法可以包括:确定用户是否正在虚拟边界的第一阈值距离内接近。在步骤930,该方法可以包括:响应于用户在虚拟边界的第一阈值距离内接近,确定用户的移动方向和视场。在步骤940,该方法可以包括:访问由VR显示设备的一个或多个相机捕获到的真实世界环境的一幅或多幅图像。在步骤950,该方法可以包括:基于所访问的图像,为VR显示设备的一个或多个显示器渲染第二输出图像,该第二输出图像包括VR环境的一部分和真实世界环境的部分透视视图,其中,该部分透视视图是基于所确定的用户的移动方向和视场的。在适当的情况下,特定实施例可以重复图9的方法的一个或多个步骤。尽管本公开描述和示出了以特定顺序发生的图9的方法的特定步骤,但是本公开考虑了以任何合适的顺序发生的图9的方法的任何合适的步骤。此外,尽管本公开描述和示出了包括图9的方法的特定步骤的、使用透视视图在VR环境中确定空间感知的示例方法,但是本公开考虑了包括任何合适的步骤的、使用透视视图在VR环境中确定空间感知的任何合适的方法,在适当的情况下,这些任何合适的步骤可以包括图9的方法的各步骤中的所有步骤或一些步骤,或者不包括图9的方法的步骤。此外,尽管本公开描述和示出了执行图9的方法的特定步骤的特定部件、设备或***,但是本公开考虑了执行图9的方法的任何合适的步骤的任何合适的部件、设备或***的任何合适的组合。
图10示出了与VR或社交网络***相关联的示例网络环境1000。网络环境1000包括通过网络1010彼此连接的客户端***1030、VR或社交网络***1060、和第三方***1070。尽管图10示出了客户端***1030、VR或社交网络***1060、第三方***1070和网络1010的特定布置,但本公开考虑了客户端***1030、VR或社交网络***1060、第三方***1070和网络1010的任何合适的布置。作为示例而非限制,客户端***1030、VR或社交网络***1060和第三方***1070中的两者或更多者可以绕过网络1010而直接连接到彼此。作为另一示例,客户端***1030、VR或社交网络***1060和第三方***1070中的两者或更多者可以全部或部分地在物理上或在逻辑上彼此位于同一位置。此外,尽管图10出了特定数量的客户端***1030、VR或社交网络***1060、第三方***1070和网络1010,但本公开考虑了任何合适数量的客户端***1030、VR或社交网络***1060、第三方***1070和网络1010。作为示例而非限制,网络环境1000可以包括多个客户端***1030、多个VR或社交网络***1060、多个第三方***1070和多个网络1010。
本公开考虑了任何合适的网络1010。作为示例而非限制,网络1010的一个或多个部分可以包括自组网、内联网、外联网、虚拟专用网(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)的一部分、蜂窝电话网、或这些网络中的两者或更多者的组合。网络1010可以包括一个或多个网络1010。
链路1050可以将客户端***1030、社交网络***1060和第三方***1070连接到通信网络1010或彼此连接。本公开考虑了任何合适的链路1050。在特定实施例中,一条或多条链路1050包括一条或多条有线(例如,数字用户线路(Digital Subscriber Line,DSL)或电缆数据服务接口规范(Data Over Cable Service Interface Specification,DOCSIS))链路、无线(例如,Wi-Fi或全球微波接入互操作性(Worldwide Interoperability forMicrowave Access,WiMAX))链路、或光(例如,同步光纤网络(Synchronous OpticalNetwork,SONET)或同步数字体系(Synchronous Digital Hierarchy,SDH))链路。在特定实施例中,一条或多条链路1050各自包括自组网、内联网、外联网、VPN、LAN、WLAN、WAN、WWAN、MAN、互联网的一部分、PSTN的一部分、基于蜂窝技术的网络、基于卫星通信技术的网络、另一链路1050、或两个或更多个此类链路1050的组合。各链路1050在整个网络环境1000中不必是相同的。一条或多条第一链路1050可以在一个或多个方面与一条或多条第二链路1050不同。
在特定实施例中,客户端***1030可以是如下的电子设备:该电子设备包括硬件、软件、或嵌入式逻辑部件、或者两个或更多个此类部件的组合,并且能够执行由客户端***1030实现或支持的适当功能。作为示例而非限制,客户端***1030可以包括计算机***,例如台式计算机、笔记本或膝上型计算机、上网本、平板计算机、电子书阅读器、全球定位***(GPS)设备、相机、个人数字助理(personal digital assistant,PDA)、手持电子设备、蜂窝电话、智能电话、增强/虚拟现实设备、其它合适的电子设备、或其任何合适的组合。本公开考虑了任何合适的客户端***1030。客户端***1030可以使客户端***1030处的网络用户能够访问网络1010。客户端***1030可以使其用户能够与其它客户端***1030处的其他用户进行通信。
在特定实施例中,客户端***1030(例如,HMD)可以包括透视引擎1032,以提供本文所述的透视特征,并且该客户端***1030可以具有一个或多个附加组件(add-on)、插件或其它扩展。客户端***1030处的用户可以连接到特定服务器(例如服务器1062或与第三方***1070相关联的服务器)。服务器可以接受请求并与客户端***1030通信。
在特定实施例中,VR或社交网络***1060可以是可托管在线虚拟现实环境或社交网络的网络可寻址计算***。VR或社交网络***1060可以生成、存储、接收和发送社交网络数据,例如用户资料数据、概念资料数据、社交图谱信息、或与在线社交网络有关的其它合适的数据。社交网络或VR***1060可以由网络环境1000的其它部件直接接入或经由网络1010接入。作为示例而非限制,客户端***1030可以使用网页浏览器或与社交网络或VR***1060相关联的本地应用(例如,移动社交网络应用、消息收发应用、另一合适的应用、或其任何组合)直接接入或经由网络1010接入社交网络或VR***1060。在特定实施例中,社交网络或VR***1060可以包括一个或多个服务器1062。每个服务器1062可以是单一服务器、或跨越多个计算机或多个数据中心的分布式服务器。服务器1062可以具有各种类型,例如但不限于,网页服务器、新闻服务器、邮件服务器、消息服务器、广告服务器、文件服务器、应用服务器、交换服务器、数据库服务器、代理服务器、适于执行本文所述的功能或过程的另一服务器、或其任何组合。在特定实施例中,每个服务器1062可以包括用于执行由服务器1062实现或支持的适当功能的硬件、软件、或嵌入式逻辑部件、或者两个或更多个此类部件的组合。在特定实施例中,社交网络或VR***1060可以包括一个或多个数据存储库1064。数据存储库1064可以被用于存储各种类型的信息。在特定实施例中,可以根据特定数据结构来组织存储在数据存储库1064中的信息。在特定实施例中,每个数据存储库1064可以是关系型数据库、列式数据库、关联数据库、或其它合适的数据库。尽管本公开描述或示出了特定类型的数据库,但本公开考虑了任何合适类型的数据库。特定实施例可以提供这样的接口:该接口使客户端***1030、社交网络或VR***1060、或第三方***1070能够管理、检索、修改、添加或删除存储在数据存储库1064中的信息。
在特定实施例中,社交网络或VR***1060可以将一个或多个社交图谱存储在一个或多个数据存储库1064中。在特定实施例中,社交图谱可以包括多个节点(该多个节点可以包括多个用户节点(每个用户节点与特定用户对应))或多个概念节点(每个概念节点与特定概念对应)以及连接各节点的多条边。社交网络或VR***1060可以向在线社交网络的用户提供与其他用户进行通信和交互的能力。在特定实施例中,用户可以经由社交网络或VR***1060加入在线社交网络,并且随后添加与社交网络或VR***1060中该用户想要连接的多个其他用户的联系(例如,关系)。在本文中,术语“朋友”可以指社交网络或VR***1060中的任何其他用户,用户经由社交网络或VR***1060与该任何其他用户形成连接、关联或关系。
在特定实施例中,社交网络或VR***1060可以向用户提供对由社交网络或VR***1060支持的各种类型的项目或对象采取动作的能力。作为示例而非限制,这些项目和对象可以包括社交网络或VR***1060的用户可能所属的群组或社交网络、用户可能感兴趣的事件或日历条目、用户可能使用的基于计算机的应用、允许用户经由服务购买或出售项目的交易、用户可能执行的与广告的交互、或者其它合适的项目或对象。用户可以与如下的任何事物交互:该事物能够在社交网络或VR***1060中表示、或由第三方***1070的外部***表示,该外部***与社交网络或VR***1060分开且经由网络1010耦接到社交网络或VR***1060。
在特定实施例中,社交网络或VR***1060可能能够链接各种实体。作为示例而非限制,社交网络或VR***1060可以使用户能够彼此交互以及能够接收来自第三方***1070或其它实体的内容,或者能够允许用户通过应用编程接口(application programminginterface,API)或其它通信信道与这些实体交互。
在特定实施例中,第三方***1070可以包括一种或多种类型的服务器、一个或多个数据存储、一个或多个接口(包括但不限于API)、一个或多个网页服务、一个或多个内容源、一个或多个网络、或者例如服务器可与之通信的任何其它合适的部件。第三方***1070可以由与运行社交网络或VR***1060的实体不同的实体来运行。然而,在特定实施例中,社交网络或VR***1060和第三方***1070可以彼此相结合地运行,以向社交网络或VR***1060或第三方***1070的用户提供社交网络服务。在这个意义上,社交网络或VR***1060可以提供平台或主干网,其它***(例如,第三方***1070)可以使用该平台或主干网来向互联网上的用户提供社交网络服务和功能。
在特定实施例中,第三方***1070可以包括第三方内容对象提供者。第三方内容对象提供者可以包括内容对象的一个或多个源,这些内容对象可被传送到客户端***1030。作为示例而非限制,内容对象可以包括与用户感兴趣的事物或活动有关的信息,例如,电影放映时间、电影评论、餐厅评论、餐厅菜单、产品信息和评论、或其它合适的信息。作为另一示例而非限制,内容对象可以包括激励内容对象,例如优惠券、折扣票、礼品券、或其它合适的激励对象。
在特定实施例中,社交网络或VR***1060还包括用户生成的内容对象,该用户生成的内容对象可以增强用户与社交网络或VR***1060的交互。用户生成的内容可以包括用户可以添加、上传、发送或“发布”到社交网络或VR***1060的任何内容。作为示例而非限制,用户将帖子从客户端***1030传送到社交网络或VR***1060。帖子可以包括诸如状态更新或其它文本数据的数据、位置信息、照片、视频、链接、音乐、或其它类似数据或媒体。内容还可以由第三方通过“通信信道”(例如,新闻推送或流)被添加到社交网络或VR***1060。
在特定实施例中,社交网络或VR***1060可以包括各种服务器、子***、程序、模块、日志、和数据存储库。在特定实施例中,社交网络或VR***1060可以包括以下中的一者或多者:网页服务器、动作日志记录器、API请求服务器、相关性和排序引擎、内容对象分类器、通知控制器、动作日志、第三方内容对象公开日志、推理模块、授权/隐私服务器、搜索模块、广告定向模块、用户界面模块、用户资料存储库、联系存储库、第三方内容存储库、或位置存储库。社交网络或VR***1060还可以包括合适的部件,例如网络接口、安全机制、负载均衡器、故障转移服务器、管理和网络操作控制台、其它合适的部件、或它们的任何合适的组合。在特定实施例中,社交网络或VR***1060可以包括用于存储用户资料的一个或多个用户资料存储库。用户资料可以包括例如传记信息、人口统计信息、行为信息、社会信息、或其它类型的描述性信息(例如工作经历、教育历史、爱好或偏好、兴趣、姻亲关系、或位置)。兴趣信息可以包括与一个或多个类别相关联的兴趣。类别可以是通用的或特定的。作为示例而非限制,如果用户“喜欢”关于某品牌的鞋子的文章,则该类别可以是该品牌,或者是通用类别“鞋子”或“服饰”。联系存储库可被用于存储关于用户的联系信息。联系信息可以指示如下用户:所述用户具有相似或共同的工作经历、群组成员资格、爱好、教育历史、或者以任何方式相关或共享共同的属性。联系信息还可以包括不同用户与内容(内部和外部两者)之间的用户定义的联系。网页服务器可以用于通过网络1010将社交网络或VR***1060链接到一个或多个客户端***1030或一个或多个第三方***1070。网页服务器可以包括邮件服务器、或用于在社交网络或VR***1060与一个或多个客户端***1030之间接收和路由消息的其它消息收发功能。API请求服务器可以允许第三方***1070通过调用一个或多个API来访问来自社交网络或VR***1060的信息。动作日志记录器可以用于接收来自网页服务器的与用户启动或关闭社交网络或VR***1060的动作有关的通信。结合动作日志,可以维护用户公开给第三方内容对象的第三方内容对象日志。通知控制器可以向客户端***1030提供关于内容对象的信息。可以将信息作为通知推送给客户端***1030,或者可以响应于从客户端***1030接收到的请求而从客户端***1030提取信息。授权服务器可以被用于实施社交网络或VR***1060的用户的一个或多个隐私设置。用户的隐私设置确定了可以如何共享与用户相关联的特定信息。授权服务器可以允许用户例如通过设置适当的隐私设置,选择让或不让:社交网络或VR***1060记录他们的动作、或与其它***(例如,第三方***1070)共享他们的动作。第三方内容对象存储器可以用于存储从第三方(例如,第三方***1070)接收到的内容对象。位置存储器可以用于存储从客户端***1030接收到的与用户相关联的位置信息。广告定价模块可以结合社交信息、当前时间、位置信息、或其它合适的信息,以便以通知的形式向用户提供相关广告。
图11示出了示例计算机***1100。在特定实施例中,一个或多个计算机***1100执行本文所描述或所示出的一种或多种方法的一个或多个步骤。在特定实施例中,一个或多个计算机***1100提供本文所描述或所示出的功能。在特定实施例中,在一个或多个计算机***1100上运行的软件执行本文所描述或所示出的一种或多种方法的一个或多个步骤,或者提供本文所描述或所示出的功能。特定实施例包括一个或多个计算机***1100的一个或多个部分。在本文中,在适当的情况下,对计算机***的引用可以涵盖计算设备,反之亦然。此外,在适当的情况下,对计算机***的引用可以涵盖一个或多个计算机***。
本公开考虑了任何合适数量的计算机***1100。本公开考虑了采用任何合适的物理形式的计算机***1100。作为示例而非限制,计算机***1100可以是嵌入式计算机***、片上***(system-on-chip,SOC)、单板计算机***(single-board computer system,SBC)(例如,模块上计算机(computer-on-module,COM)或模块上***(system-on-module,SOM))、台式计算机***、膝上型或笔记本计算机***、交互式自助服务终端(kiosk)、大型机、计算机***网、移动电话、个人数字助理(PDA)、服务器、平板计算机***、增强/虚拟现实设备、或这些中的两者或更多者的组合。在适当的情况下,计算机***1100可以:包括一个或多个计算机***1100;是单一的或分布式的;跨越多个位置;跨越多台机器;跨越多个数据中心;或者位于云(该云可以包括一个或多个网络中的一个或多个云部件)中。在适当的情况下,一个或多个计算机***1100可以在无实质性的空间限制或时间限制的情况下,执行本文所描述或所示出的一种或多种方法的一个或多个步骤。作为示例而非限制,一个或多个计算机***1100可以实时地或以分批模式执行本文所描述或所示出的一种或多种方法的一个或多个步骤。在适当的情况下,一个或多个计算机***1100可以在不同的时间或在不同的位置处执行本文所描述或所示出的一种或多种方法的一个或多个步骤。
在特定实施例中,计算机***1100包括处理器1102、内存1104、存储器1106、输入/输出(input/output,I/O)接口1108、通信接口1110和总线1112。尽管本公开描述和示出了具有按特定布置的特定数量的特定部件的特定计算机***,但本公开考虑了具有按任何合适的布置的任何合适数量的任何合适部件的任何合适的计算机***。
在特定实施例中,处理器1102包括用于执行指令(例如构成计算机程序的那些指令)的硬件。作为示例而非限制,为了执行指令,处理器1102可以从内部寄存器、内部高速缓冲存储器、内存1104或存储器1106中检索(或提取)指令;解码并执行这些指令;并且随后将一个或多个结果写入内部寄存器、内部高速缓冲存储器、内存1104或存储器1106。在特定实施例中,处理器1102可以包括用于数据、指令或地址的一个或多个内部高速缓冲存储器。在适当的情况下,本公开考虑了包括任何合适的数量的任何合适的内部高速缓冲存储器的处理器1102。作为示例而非限制,处理器1102可以包括一个或多个指令高速缓冲存储器、一个或多个数据高速缓冲存储器、以及一个或多个页表缓存(translation lookaside buffer,TLB)。指令高速缓冲存储器中的指令可以是内存1104或存储器1106中的指令的副本,并且指令高速缓冲存储器可以加速处理器1102对这些指令的检索。数据高速缓冲存储器中的数据可以是:内存1104或存储器1106中、供在处理器1102处执行的指令操纵的数据的副本;在处理器1102处执行的先前指令的结果,以供在处理器1102处执行的后续指令访问、或以用于写入内存1104或存储器1106;或者其它合适的数据。数据高速缓冲存储器可以加速处理器1102的读操作或写操作。TLB可以加速处理器1102的虚拟地址转译。在特定实施例中,处理器1102可以包括用于数据、指令或地址的一个或多个内部寄存器。在适当的情况下,本公开考虑了包括任何合适数量的任何合适的内部寄存器的处理器1102。在适当的情况下,处理器1102可以:包括一个或多个算术逻辑单元(arithmetic logic unit,ALU);是多核处理器;或者包括一个或多个处理器1102。尽管本公开描述和示出了特定处理器,但是本公开考虑了任何合适的处理器。
在特定实施例中,内存1104包括主内存,该主内存用于存储由处理器1102执行的指令或供处理器1102操纵的数据。作为示例而非限制,计算机***1100可以将指令从存储器1106或另一源(例如,另一计算机***1100)加载到内存1104。然后,处理器602可以将这些指令从内存604加载到内部寄存器或内部高速缓冲存储器。为了执行这些指令,处理器602可以从内部寄存器或内部高速缓冲存储器中检索这些指令并对这些指令进行解码。在执行这些指令期间或之后,处理器602可以将一个或多个结果(其可以是中间结果或最终结果)写入内部寄存器或内部高速缓冲存储器。然后,处理器602可以将这些结果中的一个或多个结果写入内存604。在特定实施例中,处理器602仅执行一个或多个内部寄存器或内部高速缓冲存储器中或者内存1104(而不是存储器1106或其它地方)中的指令,并且仅操纵一个或多个内部寄存器或内部高速缓冲存储器中或内存1104(而不是存储器1106或其它地方)中的数据。一条或多条内存总线(其可以各自包括地址总线和数据总线)可以将处理器1102耦接到内存1104。如下所述,总线1112可以包括一条或多条内存总线。在特定实施例中,一个或多个内存管理单元(memory management unit,MMU)位于处理器1102与内存1104之间,并且促进处理器1102所请求的对内存1104的访问。在特定实施例中,内存1104包括随机存取存储器(random access memory,RAM)。在适当的情况下,RAM是易失性存储器。在适当的情况下,RAM可以为动态RAM(dynamic RAM,DRAM)或静态RAM(static RAM,SRAM)。此外,在适当的情况下,该RAM可以为单端口RAM或多端口RAM。本公开考虑了任何合适的RAM。在适当的情况下,内存1104可以包括一个或多个内存1104。尽管本公开描述和示出了特定内存,但是本公开考虑了任何合适的内存。
在特定实施例中,存储器1106包括用于数据或指令的大容量存储器。作为示例而非限制,存储器1106可以包括硬盘驱动器(hard disk drive,HDD)、软盘驱动器(floppydisk drive,FDD)、闪存、光盘、磁光盘、磁带、或通用串行总线(Universal Serial Bus,USB)驱动器、或这些中的两者或更多者的组合。在适当的情况下,存储器1106可以包括可移动或不可移动(或固定)介质。在适当的情况下,存储器1106可以处于计算机***1100的内部或外部。在特定实施例中,存储器1106是非易失性、固态存储器。在特定实施例中,存储器1106包括只读存储器(read-only memory,ROM)。在适当的情况下,ROM可以是掩码编程ROM、可编程ROM(programmable ROM,PROM)、可擦除PROM(erasable PROM,EPROM)、电可擦除PROM(electrically erasable PROM,EEPROM)、电改写ROM(electrically alterable ROM,EAROM)、或闪存、或这些中的两者或更多者的组合。本公开考虑了采用任何合适的物理形式的大容量的存储器1106。在适当的情况下,存储器1106可以包括促进处理器1102与存储器1106之间的通信的一个或多个存储器控制单元。在适当的情况下,存储器1106可以包括一个或多个存储器1106。尽管本公开描述和示出了特定的存储器,但是本公开考虑了任何合适的存储器。
在特定实施例中,I/O接口1108包括如下的硬件、软件、或硬件和软件这两者:所述硬件、软件、或硬件和软件这两者为计算机***1100与一个或多个I/O设备之间的通信提供一个或多个接口。在适当的情况下,计算机***1100可以包括这些I/O设备中的一个或多个I/O设备。这些I/O设备中的一个或多个I/O设备可以实现人与计算机***1100之间的通信。作为示例而非限制,I/O设备可以包括键盘、小键盘、传声器、监视器、鼠标、打印机、扫描仪、扬声器、静态相机、手写笔、平板电脑、触摸屏、轨迹球、摄影机、另一合适的I/O设备、或这些中的两者或更多者的组合。I/O设备可以包括一个或多个传感器。本公开考虑了任何合适的I/O设备和用于任何合适的I/O设备的任何合适的I/O接口1108。在适当的情况下,I/O接口1108可以包括如下的一个或多个设备或软件驱动器:所述一个或多个设备或软件驱动器使处理器1102能够驱动这些I/O设备中的一个或多个I/O设备。在适当的情况下,I/O接口1108可以包括一个或多个I/O接口1108。尽管本公开描述和示出了特定I/O接口,但本公开考虑了任何合适的I/O接口。
在特定实施例中,通信接口1110包括如下的硬件、软件、或硬件和软件这两者:所述硬件、软件、或硬件和软件这两者为计算机***1100与一个或多个其它计算机***1100或与一个或多个网络之间的通信(例如,基于数据包(packet-based)的通信)提供一个或多个接口。作为示例而非限制,通信接口1110可以包括用于与以太网或其它基于有线的网络进行通信的网络接口控制器(network interface controller,NIC)或网络适配器,或者可以包括用于与无线网络(例如,WI-FI网络)进行通信的无线NIC(wireless NIC,WNIC)或无线适配器。本公开考虑了任何合适的网络和用于任何合适的网络的任何合适的通信接口1110。作为示例而非限制,计算机***1100可以与如下的网络进行通信:自组网、个域网(personal area network,PAN)、局域网(LAN)、广域网(WAN)、城域网(MAN)、或互联网的一个或多个部分、或这些中的两者或更多者的组合。这些网络中的一个或多个网络的一个或多个部分可以是有线的或无线的。作为示例,计算机***1100可以与以下网络进行通信:无线PAN(wireless PAN,WPAN)(例如,蓝牙(BLUETOOTH)WPAN)、WI-FI网络、WI-MAX网络、蜂窝电话网络(例如,全球移动通信***(Global System for Mobile Communications,GSM)网络)、或其它合适的无线网络、或这些中的两者或更多者的组合。在适当的情况下,计算机***1100可以包括用于这些网络中的任何网络的任何合适的通信接口1110。在适当情况下,通信接口1110可以包括一个或多个通信接口1110。尽管本公开描述和示出了特定通信接口,但是本公开考虑了任何合适的通信接口。
在特定实施例中,总线1112包括将计算机***1100的部件彼此耦接的硬件、软件、或硬件和软件这两者。作为示例而非限制,总线1112可以包括:加速图形端口(AcceleratedGraphics Port,AGP)或其它图形总线、增强工业标准结构(Enhanced Industry StandardArchitecture,EISA)总线、前端总线(front-side bus,FSB)、超传输(HYPERTRANSPORT,HT)互连、工业标准架构(Industry Standard Architecture,ISA)总线、无限带宽(INFINIBAND)互连、低引脚数(low-pin-count,LPC)总线、内存总线、微通道架构(MicroChannel Architecture,MCA)总线、***部件互连(Peripheral Component Interconnect,PCI)总线、快速PCI(PCI-Express,PCIe)总线、串行高级技术附件(serial advancedtechnology attachment,SATA)总线、本地视频电子标准协会(Video ElectronicsStandards Association local,VLB)总线、或另一合适的总线、或这些中的两者或更多者的组合。在适当的情况下,总线1112可以包括一个或多个总线1112。尽管本公开描述和示出了特定总线,但是本公开考虑了任何合适的总线或互连。
在本文中,在适当的情况下,一种或多种计算机可读非暂态存储介质可以包括:一个或多个基于半导体的集成电路(integrated circuit,IC)或其它集成电路(例如,现场可编程门阵列(field-programmable gate array,FPGA)或专用IC(ASIC))、硬盘驱动器(HDD)、混合硬盘驱动器(hybrid hard drive,HHD)、光盘、光盘驱动器(optical discdrive,ODD)、磁光盘、磁光驱动器、软盘、软盘驱动器(FDD)、磁带、固态驱动器(solid-statedrive,SSD)、RAM驱动器、安全数字卡或驱动器、任何其它合适的计算机可读非暂态存储介质、或这些中的两者或更多者的任何合适的组合。在适当的情况下,计算机可读非暂态存储介质可以是易失性的、非易失性的、或易失性与非易失性的组合。
在本文中,除非另有明确指示或上下文另有指示,否则“或”是包括性的而非排他性的。因此,在本文中,除非另有明确指示或通过上下文另有指示,否则“A或B”指的是“A、B、或这两者”。此外,除非另有明确指示或通过上下文另有指示,否则“和”既是联合的,也是各自的。因此,在本文中,除非另有明确指示或上下文另有指示,否则“A和B”指的是“联合地或各自地A和B”。
本公开的范围涵盖本领域普通技术人员将理解的、对本文所描述或所示出的示例实施例的所有改变、替换、变型、变更和修改。本公开的范围不限于本文所描述或所示出的示例实施例。此外,尽管本公开将本文的相应实施例描述和示出为包括特定部件、元素、特征、功能、操作、或步骤,但这些实施例中的任何实施例都可以包括本领域普通技术人员将理解的、本文中任何地方所描述或所示出的任何部件、元素、特征、功能、操作、或步骤的任何组合或排列。此外,在所附权利要求书中对适用于、布置为、能够、配置为、实现为、可操作为、或操作用于执行特定功能的装置或***、或者该装置或***的部件的引用涵盖该装置、***、部件,无论该装置、***、部件或该特定功能是否被激活、开启或解锁,只要该装置、***或部件如此适用于、布置为、能够、配置为、实现为、可操作、或操作即可。另外,尽管本公开将特定实施例描述或示出为提供特定优点,但特定实施例可以不提供这些优点,或者可以提供这些优点中的一些或全部优点。

Claims (15)

1.一种方法,包括:由一个或多个计算***:
基于用户的视场,为虚拟现实(VR)显示设备的一个或多个显示器渲染VR环境的第一输出图像,其中,所述VR环境包括与真实世界环境对应的虚拟边界;
确定所述用户是否已经在所述虚拟边界的第一阈值距离内接近;
响应于所述用户在所述虚拟边界的所述第一阈值距离内接近,确定所述用户的移动方向和视场;
访问由所述VR显示设备的一个或多个相机捕获到的所述真实世界环境的一幅或多幅图像;以及
基于所访问的图像,为所述VR显示设备的所述一个或多个显示器渲染第二输出图像,所述第二输出图像包括所述VR环境的一部分和所述真实世界环境的部分透视视图,其中,所述部分透视视图是基于所确定的所述用户的移动方向和视场的。
2.根据权利要求1所述的方法,还包括:
为所述VR显示设备的所述一个或多个显示器渲染第三输出图像,所述第三输出图像包括作为一个或多个混合现实(MR)对象的、所述虚拟边界之外的一个或多个真实世界对象;以及可选地,
所述方法还包括:
确定所述用户是否正在所述虚拟边界的第二阈值距离内接近,其中,所述第二阈值距离大于所述第一阈值距离;
响应于所述用户在所述虚拟边界的所述第二阈值距离内接近,确定所述用户的移动方向和视场;以及
访问由所述VR显示设备的相机捕获到的所述真实世界环境的一幅或多幅附加图像,所述一幅或多幅附加图像包含所述一个或多个真实世界对象;
其中,所述第三输出图像包括所访问的附加图像中的所述一个或多个真实世界对象。
3.根据权利要求2所述的方法,其中,所述一个或多个MR对象被渲染为所述一个或多个对象的轮廓、所述一个或多个对象的半不透明渲染、或者所述一个或多个对象的完全不透明渲染。
4.根据权利要求1所述的方法,还包括:
确定所述用户的移动速度,其中,所述部分透视视图的区域是基于所确定的所述用户的速度的,其中,所述部分是球形第二输出图像的球冠;以及可选地,
其中,所确定的所述用户的移动速度越快,则所述部分透视视图的区域相对越大,并且其中,所确定的所述用户的移动速度越慢,则所述部分透视视图的区域相对越小。
5.根据权利要求1所述的方法,还包括:
确定所述用户的移动速度,其中,从所述VR环境到所述部分透视视图的过渡的清晰度是基于所确定的所述用户的移动速度的,其中,所述过渡是从所述VR环境到所述部分透视视图的淡入;以及可选地,
其中,所确定的所述用户的移动速度越快,则从所述VR环境到所述部分透视视图的过渡的清晰度相对越清晰,并且其中,所确定的所述用户的移动速度越慢,则从所述VR环境到所述部分透视视图的过渡的清晰度相对越不清晰。
6.根据权利要求1所述的方法,其中,渲染的部分透视视图与所述用户的移动方向对应。
7.根据权利要求6所述的方法,其中,当所述用户的移动方向被确定为朝向所述视场时,所述渲染的部分透视视图位于所述用户的所述视场中;或者
其中,当所述移动方向被确定为垂直于所述视场时,所述渲染的部分透视视图位于所述用户的周边视图中;或者
其中,当所述移动方向被确定为远离所述视场时,所述渲染的部分透视视图位于所述用户的周边视图中且位于所述用户后面。
8.一种或多种计算机可读非暂态存储介质,所述一种或多种计算机可读非暂态存储介质包含软件,所述软件在被执行时能够操作以:
基于用户的视场,为虚拟现实(VR)显示设备的一个或多个显示器渲染VR环境的第一输出图像,其中,所述VR环境包括与真实世界环境对应的虚拟边界;
确定所述用户是否正在所述虚拟边界的第一阈值距离内接近;
响应于所述用户在所述虚拟边界的所述第一阈值距离内接近,确定所述用户的移动方向和视场;
访问由所述VR显示设备的相机捕获到的所述真实世界环境的一幅或多幅图像;以及
基于所访问的图像,为所述VR显示设备的所述一个或多个显示器渲染第二输出图像,所述第二输出图像包括所述VR环境的一部分和所述真实世界环境的部分透视视图,其中,所述部分透视视图是基于所确定的所述用户的移动方向和视场的。
9.根据权利要求8所述的介质,其中,所述软件在被执行时还能够操作以:
为所述VR显示器的所述一个或多个显示器渲染第三输出图像,所述第三输出图像包括作为一个或多个混合现实(MR)对象的、所述虚拟边界之外的一个或多个真实世界对象。
10.根据权利要求9所述的介质,其中,所述软件在被执行时还能够操作以:
确定所述用户是否正在所述虚拟边界的第二阈值距离内接近,其中,所述第二阈值距离大于所述第一阈值距离;
响应于所述用户在所述虚拟边界的所述第二阈值距离内接近,确定所述用户的移动方向和视场;以及
访问由所述VR显示设备的相机捕获到的所述真实世界环境的包含所述一个或多个真实世界对象的一幅或多幅图像。
11.根据权利要求9所述的介质,其中,所渲染的所述一个或多个MR对象被渲染为以下中的一者或多者:所述对象的轮廓、所述对象的半不透明渲染、或所述对象的完全不透明渲染。
12.根据权利要求8所述的介质,其中,所述软件在被执行时还能够操作以:
确定所述用户的移动速度,其中,所述部分透视视图的区域是基于所确定的所述用户的速度的,其中,所述区域是所述第二输出图像的弧形。
13.根据权利要求12所述的介质,其中,所确定的所述用户的移动速度越快,则所述部分透视视图的区域相对越大,并且其中,所确定的所述用户的移动速度越慢,则所述部分透视视图的区域相对越小。
14.根据权利要求8所述的介质,其中,所述软件在被执行时还能够操作以:
确定所述用户的移动速度,其中,从所述VR环境到所述部分透视视图的过渡的清晰度是基于所确定的所述用户的移动速度的,其中,所述过渡是从所述VR环境到所述部分透视视图的淡入。
15.一种***,包括:一个或多个处理器;以及非暂态存储器,所述非暂态存储器耦接到所述处理器且包括能够由所述处理器执行的指令,所述处理器在执行所述指令时能够操作以:
基于用户的视场,为虚拟现实(VR)显示设备的一个或多个显示器渲染VR环境的第一输出图像,其中,所述VR环境包括与真实世界环境对应的虚拟边界;
确定所述用户是否正在所述虚拟边界的第一阈值距离内接近;
响应于所述用户在所述虚拟边界的所述第一阈值距离内接近,确定所述用户的移动方向和视场;
访问由所述VR显示设备的相机捕获到的所述真实世界环境的一幅或多幅图像;以及
基于所访问的图像,为所述VR显示设备的所述一个或多个显示器渲染第二输出图像,所述第二输出图像包括所述VR环境的一部分和所述真实世界环境的部分透视视图,其中,所述部分透视视图是基于所确定的所述用户的移动方向和视场的。
CN202180095042.6A 2020-12-31 2021-12-16 用于在虚拟现实中提供空间感知的***和方法 Pending CN116964542A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US17/139,434 2020-12-31
US17/139,434 US11232644B1 (en) 2020-12-31 2020-12-31 Systems and methods for providing spatial awareness in virtual reality
PCT/US2021/063883 WO2022146712A1 (en) 2020-12-31 2021-12-16 Systems and methods for providing spatial awareness in virtual reality

Publications (1)

Publication Number Publication Date
CN116964542A true CN116964542A (zh) 2023-10-27

Family

ID=79601586

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202180095042.6A Pending CN116964542A (zh) 2020-12-31 2021-12-16 用于在虚拟现实中提供空间感知的***和方法

Country Status (6)

Country Link
US (5) US11232644B1 (zh)
EP (1) EP4272052A1 (zh)
JP (1) JP2024502810A (zh)
KR (1) KR20230124075A (zh)
CN (1) CN116964542A (zh)
WO (1) WO2022146712A1 (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110908504B (zh) * 2019-10-10 2021-03-23 浙江大学 一种增强现实博物馆协作交互方法与***
US11126850B1 (en) 2020-04-09 2021-09-21 Facebook Technologies, Llc Systems and methods for detecting objects within the boundary of a defined space while in artificial reality
US11232644B1 (en) * 2020-12-31 2022-01-25 Facebook Technologies, Llc Systems and methods for providing spatial awareness in virtual reality
US12014734B2 (en) * 2021-07-22 2024-06-18 International Business Machines Corporation Dynamic boundary creation for voice command authentication
US20230259194A1 (en) * 2022-02-16 2023-08-17 Meta Platforms Technologies, Llc Spatial Anchor Sharing for Multiple Virtual Reality Systems in Shared Real-World Environments
CN114862725B (zh) * 2022-07-07 2022-09-27 广州光锥元信息科技有限公司 基于光流法实现运动感知模糊特效的方法及装置
CN118244878A (zh) * 2022-12-22 2024-06-25 北京字跳网络技术有限公司 虚拟现实安全防护方法和装置、电子设备、介质、芯片和程序产品
US20240216805A1 (en) * 2023-01-04 2024-07-04 Skonec Entertainment Co., Ltd. Virtual reality control system

Family Cites Families (45)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080197702A1 (en) 2006-11-06 2008-08-21 Herman Miller, Inc. Programmable infrastructure system
US9081177B2 (en) 2011-10-07 2015-07-14 Google Inc. Wearable computer with nearby object response
JP5807130B2 (ja) 2012-02-24 2015-11-10 エンパイア テクノロジー ディベロップメント エルエルシー ジェスチャー・ベースのゲーム・システムのための安全な方式
US9245387B2 (en) 2013-04-12 2016-01-26 Microsoft Technology Licensing, Llc Holographic snap grid
US9630105B2 (en) * 2013-09-30 2017-04-25 Sony Interactive Entertainment Inc. Camera based safety mechanisms for users of head mounted displays
US20150277118A1 (en) * 2014-03-28 2015-10-01 Osterhout Group, Inc. Sensor dependent content position in head worn computing
US10130873B2 (en) 2014-03-21 2018-11-20 Samsung Electronics Co., Ltd. Method and apparatus for preventing a collision between subjects
US9392212B1 (en) * 2014-04-17 2016-07-12 Visionary Vr, Inc. System and method for presenting virtual reality content to a user
US10311638B2 (en) 2014-07-25 2019-06-04 Microsoft Technology Licensing, Llc Anti-trip when immersed in a virtual reality environment
US10451875B2 (en) 2014-07-25 2019-10-22 Microsoft Technology Licensing, Llc Smart transparency for virtual objects
CN107850953B (zh) 2014-11-05 2021-08-31 威尔乌集团 用于在虚拟现实环境中引导用户的感官反馈***和方法
US10309797B2 (en) 2014-12-19 2019-06-04 Here Global B.V. User interface for displaying navigation information in a small display
EP3037917B1 (en) 2014-12-24 2021-05-19 Nokia Technologies Oy Monitoring
US9690374B2 (en) * 2015-04-27 2017-06-27 Google Inc. Virtual/augmented reality transition system and method
US9898864B2 (en) 2015-05-28 2018-02-20 Microsoft Technology Licensing, Llc Shared tactile interaction and user safety in shared space multi-person immersive virtual reality
DE102015226580A1 (de) * 2015-12-22 2017-06-22 Audi Ag Verfahren zum Betreiben eines Virtual-Reality-Systems und Virtual-Reality-System
US9824500B2 (en) 2016-03-16 2017-11-21 Microsoft Technology Licensing, Llc Virtual object pathing
US10981060B1 (en) 2016-05-24 2021-04-20 Out of Sight Vision Systems LLC Collision avoidance system for room scale virtual reality system
US10395428B2 (en) 2016-06-13 2019-08-27 Sony Interactive Entertainment Inc. HMD transitions for focusing on specific content in virtual-reality environments
US9996944B2 (en) 2016-07-06 2018-06-12 Qualcomm Incorporated Systems and methods for mapping an environment
US10617956B2 (en) 2016-09-30 2020-04-14 Sony Interactive Entertainment Inc. Methods for providing interactive content in a virtual reality scene to guide an HMD user to safety within a real world space
US20180095542A1 (en) * 2016-09-30 2018-04-05 Sony Interactive Entertainment Inc. Object Holder for Virtual Reality Interaction
US10321258B2 (en) 2017-04-19 2019-06-11 Microsoft Technology Licensing, Llc Emulating spatial perception using virtual echolocation
US11417091B2 (en) * 2017-05-30 2022-08-16 Ptc Inc. Use of coordinated local user devices during a shared augmented reality session
EP3422145B1 (en) 2017-06-28 2020-01-29 Nokia Technologies Oy Provision of virtual reality content
US20190033989A1 (en) 2017-07-31 2019-01-31 Google Inc. Virtual reality environment boundaries using depth sensors
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
US10803663B2 (en) * 2017-08-02 2020-10-13 Google Llc Depth sensor aided estimation of virtual reality environment boundaries
EP3698609B1 (en) 2017-10-17 2021-02-17 Signify Holding B.V. Occupancy sensor calibration and occupancy estimation
US10832477B2 (en) 2017-11-30 2020-11-10 International Business Machines Corporation Modifying virtual reality boundaries based on usage
US11164380B2 (en) 2017-12-05 2021-11-02 Samsung Electronics Co., Ltd. System and method for transition boundaries and distance responsive interfaces in augmented and virtual reality
CN108628442B (zh) 2018-03-22 2021-03-26 北京奇艺世纪科技有限公司 一种信息提示方法、装置以及电子设备
US10535199B1 (en) 2018-06-18 2020-01-14 Facebook Technologies, Llc Systems and methods for determining a safety boundary for a mobile artificial reality user
US10642275B2 (en) 2018-06-18 2020-05-05 Zoox, Inc. Occulsion aware planning and control
US10607083B2 (en) 2018-07-19 2020-03-31 Microsoft Technology Licensing, Llc Selectively alerting users of real objects in a virtual environment
US10853649B2 (en) 2018-08-27 2020-12-01 Dell Products, L.P. Context-aware hazard detection using world-facing cameras in virtual, augmented, and mixed reality (xR) applications
DE112019004485T5 (de) * 2018-09-07 2021-07-01 Apple Inc. Wechseln zwischen bildern und tönen einer virtuellen umgebung und einer realen umgebung
US20200111256A1 (en) 2018-10-08 2020-04-09 Microsoft Technology Licensing, Llc Real-world anchor in a virtual-reality environment
US10725308B1 (en) * 2018-10-08 2020-07-28 Facebook Technologies, Llc Dynamic attenuator for combining real world and virtual content
US10942617B2 (en) 2019-01-08 2021-03-09 International Business Machines Corporation Runtime adaptation of augmented reality gaming content based on context of surrounding physical environment
US10885710B2 (en) 2019-03-14 2021-01-05 Microsoft Technology Licensing, Llc Reality-guided roaming in virtual reality
US11288868B2 (en) 2019-07-26 2022-03-29 Foretell Studios, LLC Simulated reality adaptive user space
US11151795B2 (en) 2019-12-10 2021-10-19 Wormhole Labs, Inc. Systems and methods of creating virtual pop-up spaces
US11232644B1 (en) * 2020-12-31 2022-01-25 Facebook Technologies, Llc Systems and methods for providing spatial awareness in virtual reality
US11786206B2 (en) 2021-03-10 2023-10-17 Onpoint Medical, Inc. Augmented reality guidance for imaging systems

Also Published As

Publication number Publication date
EP4272052A1 (en) 2023-11-08
JP2024502810A (ja) 2024-01-23
KR20230124075A (ko) 2023-08-24
US11232644B1 (en) 2022-01-25
WO2022146712A1 (en) 2022-07-07
US20220207837A1 (en) 2022-06-30
US11704879B2 (en) 2023-07-18
US20240212298A1 (en) 2024-06-27
US20230103172A1 (en) 2023-03-30
US20230306697A1 (en) 2023-09-28
US11989844B2 (en) 2024-05-21

Similar Documents

Publication Publication Date Title
CN116964542A (zh) 用于在虚拟现实中提供空间感知的***和方法
US11417054B1 (en) Mixed reality objects in virtual reality environments
CN114761910A (zh) 用于在人工现实中显示物理环境的实时可视化的***、方法和介质
US11200745B2 (en) Systems, methods, and media for automatically triggering real-time visualization of physical environment in artificial reality
CN117063205A (zh) 在人工现实环境中生成和修改动态对象的表示
CN116917844A (zh) 跨应用虚拟现实场合中的可调整个人用户界面
US11481960B2 (en) Systems and methods for generating stabilized images of a real environment in artificial reality
CN115661408A (zh) 在人工现实环境中生成和修改手的表示
CN116530078A (zh) 用于显示从多个视角采集的经立体渲染的图像数据的3d视频会议***和方法
US20230259194A1 (en) Spatial Anchor Sharing for Multiple Virtual Reality Systems in Shared Real-World Environments
US12033270B2 (en) Systems and methods for generating stabilized images of a real environment in artificial reality
US20240194040A1 (en) Directional Warnings in Co-located Play in Virtual Reality Environments
US11818474B1 (en) Sparse RGB cameras for image capture
US20230056976A1 (en) Platformization of Mixed Reality Objects 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