CN116940915A - 虚拟现实中的部分透视 - Google Patents
虚拟现实中的部分透视 Download PDFInfo
- Publication number
- CN116940915A CN116940915A CN202180094367.2A CN202180094367A CN116940915A CN 116940915 A CN116940915 A CN 116940915A CN 202180094367 A CN202180094367 A CN 202180094367A CN 116940915 A CN116940915 A CN 116940915A
- Authority
- CN
- China
- Prior art keywords
- hand
- user
- perspective
- virtual reality
- video feed
- 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 81
- 230000008569 process Effects 0.000 claims description 40
- 230000015654 memory Effects 0.000 claims description 22
- 230000009471 action Effects 0.000 claims description 12
- 230000004044 response Effects 0.000 claims description 8
- 210000000707 wrist Anatomy 0.000 claims description 4
- 238000004590 computer program Methods 0.000 claims description 3
- 210000000245 forearm Anatomy 0.000 claims description 2
- 238000005516 engineering process Methods 0.000 description 24
- 238000012545 processing Methods 0.000 description 22
- 238000010586 diagram Methods 0.000 description 15
- 230000033001 locomotion Effects 0.000 description 11
- 125000001475 halogen functional group Chemical group 0.000 description 9
- 238000004891 communication Methods 0.000 description 7
- 210000004247 hand Anatomy 0.000 description 7
- 230000007246 mechanism Effects 0.000 description 6
- 230000003190 augmentative effect Effects 0.000 description 4
- 239000004973 liquid crystal related substance Substances 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- 230000007613 environmental effect Effects 0.000 description 3
- 210000003811 finger Anatomy 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 210000003813 thumb Anatomy 0.000 description 3
- 229920001621 AMOLED Polymers 0.000 description 2
- 210000003128 head Anatomy 0.000 description 2
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 2
- VYPSYNLAJGMNEJ-UHFFFAOYSA-N Silicium dioxide Chemical compound O=[Si]=O VYPSYNLAJGMNEJ-UHFFFAOYSA-N 0.000 description 1
- 230000003213 activating effect Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000000712 assembly Effects 0.000 description 1
- 238000000429 assembly Methods 0.000 description 1
- 230000004888 barrier function Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 210000002683 foot Anatomy 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 239000002096 quantum dot Substances 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
- 230000003936 working memory Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/011—Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
- G06F3/014—Hand-worn input/output arrangements, e.g. data gloves
-
- 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
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/16—Constructional details or arrangements
- G06F1/1613—Constructional details or arrangements for portable computers
- G06F1/163—Wearable computers, e.g. on a belt
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/16—Constructional details or arrangements
- G06F1/1613—Constructional details or arrangements for portable computers
- G06F1/1633—Constructional details or arrangements of portable computers not specific to the type of enclosures covered by groups G06F1/1615 - G06F1/1626
- G06F1/1684—Constructional details or arrangements related to integrated I/O peripherals not covered by groups G06F1/1635 - G06F1/1675
- G06F1/169—Constructional details or arrangements related to integrated I/O peripherals not covered by groups G06F1/1635 - G06F1/1675 the I/O peripheral being an integrated pointing device, e.g. trackball in the palm rest area, mini-joystick integrated between keyboard keys, touch pads or touch stripes
-
- 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/017—Gesture based interaction, e.g. based on a set of recognized hand gestures
-
- 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/03—Arrangements for converting the position or the displacement of a member into a coded form
- G06F3/0304—Detection arrangements using opto-electronic means
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
- G06F3/04815—Interaction 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
-
- 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
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2203/00—Indexing scheme relating to G06F3/00 - G06F3/048
- G06F2203/048—Indexing scheme relating to G06F3/048
- G06F2203/04803—Split screen, i.e. subdividing the display area or the window area into separate subareas
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Computer Hardware Design (AREA)
- User Interface Of Digital Computer (AREA)
- Processing Or Creating Images (AREA)
Abstract
本文公开了用于向虚拟现实设备的用户提供部分透视视频的系统和方法。提供部分透视视频可以包括:检测手部透视触发事件和识别手部透视视频馈送。提供部分透视视频还可以包括:将手部透视视频馈送与通过虚拟环境呈现给用户的虚拟环境进行对准;以及基于手部透视视频馈送与虚拟环境的对准,将手部透视视频馈送覆盖在虚拟环境上。
Description
相关申请的交叉引用
本申请要求于2020年12月22日提交的、申请号为63/129,486(代理案卷号为3589-0031PV01)的、名称为“虚拟现实中的部分透视(Partial Passthrough in VirtualReality)”的美国临时专利申请的优先权,该申请通过引用全部并入本文。
技术领域
本公开涉及虚拟现实(virtual reality,VR)环境中的部分视频透视(passthrough)。
背景技术
虚拟现实系统给用户提供了体验不同世界的能力,用新的方式进行学习的能力,以及与他人建立更好的联系的能力。这些虚拟现实系统可以追踪用户的移动,并将这些移动转换为与“虚拟对象”(即,出现在虚拟环境中的计算机生成的对象表示)的交互。例如,虚拟现实系统可以追踪用户的手部,从而将抓取手势转换为拾取虚拟对象。当用户看见虚拟对象并与虚拟对象进行交互时,用户在真实世界中发生物理移动。在一些情形下,虚拟现实系统可能会妨碍用户看见真实世界的部分或全部、或者用户可能会被虚拟对象分散注意力,从而导致用户无意中与真实世界对象碰撞。在其它情况下,用户可能需要查看真实世界中正在发生的事情。例如,用户可能需要与房间中的其它人进行交互,或者可能需要与对象进行交互。然而,这可能涉及诸多步骤,包括关闭虚拟现实设备、移除该设备等。
发明内容
因此,根据所附权利要求,本发明涉及用于向虚拟现实设备的用户提供部分透视视频的方法和计算系统、以及计算机可读存储介质和计算机程序。
在一方面中,本发明涉及一种用于向虚拟现实设备的用户提供部分透视视频的方法,该方法包括:
检测手部透视触发事件;
响应于检测到手部透视触发事件,识别来自虚拟现实设备的一个或多个摄像头的手部透视视频馈送;
将手部透视视频馈送与通过虚拟现实设备呈现给用户的虚拟环境进行对准;以及
基于手部透视视频馈送与虚拟环境的对准,将手部透视视频馈送覆盖在虚拟环境上。
在根据本发明的方法的实施例中,检测手部透视触发事件可以包括:基于所监测的用户的手部姿势来识别用户做出特定手势,其中,用户的手部姿势是可以A)使用来自附接到用户的手部或腕部的一个或多个传感器的输入来监测的,和/或B)通过分析由虚拟现实设备采集的图像来监测的。
在根据本发明的方法的实施例中,检测手部透视触发事件可以包括:识别用户的手部离开指定区域。
在根据本发明的方法的实施例中,检测手部透视触发事件可以包括:确定用户的手部在真实世界表面的阈值距离内。
在根据本发明的方法的实施例中,检测手部透视触发事件可以包括:确定用户的手部在真实世界对象的阈值距离内。
在根据本发明的方法的实施例中,检测手部透视触发事件可以包括:通过利用所确定的当前手部速度和当前手部轨迹对用户的运动学模型进行分析,来识别用户的一部位与真实世界对象之间的预测的碰撞。
在根据本发明的方法的实施例中,检测手部透视触发事件可以包括:确定用户说出特定语音命令或按下与虚拟现实设备相关联的特定按钮。
在根据本发明的方法的实施例中,检测手部透视触发事可以是基于用户的手部的动作的,并且识别手部透视视频馈送可以包括:
在来自虚拟现实设备的一个或多个摄像头的一幅或多幅图像中识别执行动作的用户的手部;以及
在来自虚拟现实设备的一个或多个摄像头的一幅或多幅图像中识别所识别的手部周围的区域。
在根据本发明的方法的实施例中,识别手部透视视频馈送可以包括:
确定从用户的手部延伸的特定的直线或曲线与真实世界对象或真实世界表面相交的点;以及
在来自虚拟现实设备的一个或多个摄像头的一幅或多幅图像中识别所确定的点周围的区域。
在根据本发明的方法的实施例中,检测手部透视触发事件可以是基于对来自虚拟现实设备的一个或多个摄像头的一幅或多幅图像中的对象的识别的;并且识别手部透视视频馈送可以包括:在来自虚拟现实设备的一个或多个摄像头的一幅或多幅图像中识别所识别的对象周围的区域。
在根据本发明的方法的实施例中,检测手部透视触发事件可以是基于对来自虚拟现实设备的一个或多个摄像头的一幅或多幅图像中的对象或表面的识别的;并且
手部透视视频馈送的尺寸可以是基于用户的手部与所识别的对象或表面之间的所确定的距离来设置的。
在根据本发明的方法的实施例中,识别手部透视视频馈送可以包括:
在来自虚拟现实设备的一个或多个摄像头的一幅或多幅图像中识别用户的第一手部和用户的第二手部;以及
在来自虚拟现实设备的一个或多个摄像头的一幅或多幅图像中识别所识别的第一手部周围的区域,其中,该区域的尺寸。
在根据本发明的方法的实施例中,将手部透视视频馈送与虚拟环境进行对准可以包括:基于在手部透视视频馈送与虚拟环境之间的、所识别的一个或多个对象和/或身体部位的匹配,将与手部透视视频馈送相关联的坐标与虚拟环境中的坐标进行匹配。
在一方面中,本发明还涉及一种用于向虚拟现实设备的用户提供部分透视视频的计算系统,该计算系统包括:
一个或多个处理器;以及
一个或多个存储器,所述一个或多个存储器存储有指令,所述指令在被所述一个或多个处理器执行时促使计算系统执行如上所述的方法或执行包括以下步骤的过程:
检测手部透视触发事件;
响应于检测到手部透视触发事件,识别来自虚拟现实设备的一个或多个摄像头的手部透视视频馈送;
将手部透视视频馈送与通过虚拟现实设备呈现给用户的虚拟环境进行对准;以及
基于手部透视视频馈送与虚拟环境的对准,将手部透视视频馈送覆盖在虚拟环境上。
在根据本发明的计算系统的实施例中,检测手部透视触发事件可以包括:确定用户的手部在真实世界对象或真实世界表面的阈值距离内。
在根据本发明的计算系统的实施例中,检测手部透视触发事件可以包括:基于所监测的用户的手部姿势来识别用户做出特定手势,其中,用户的手部姿势可以是A)使用来自附接到用户的手部、腕部或前臂的一个或多个传感器的输入来监测的,和/或B)通过分析由虚拟现实设备采集的图像来监测的。
在根据本发明的计算系统的实施例中,检测手部透视触发事件可以是基于用户的手部的动作的;并且识别手部透视视频馈送可以包括:
在来自虚拟现实设备的一个或多个摄像头的一幅或多幅图像中识别执行动作的用户的手部;以及
在来自虚拟现实设备的一个或多个摄像头的一幅或多幅图像中识别所识别的手部周围的区域。
在根据本发明的计算系统的实施例中,检测手部透视触发事件可以包括:识别用户的手部离开指定区域。
在一方面中,本发明还涉及一种计算机可读存储介质,该计算机可读存储介质存储有指令,所述指令在被计算系统执行时促使该计算系统执行如上所述的方法或执行包括以下步骤的过程:
检测手部透视触发事件;
响应于检测到手部透视触发事件,识别来自虚拟现实设备的一个或多个摄像头的手部透视视频馈送;
将手部透视视频馈送与通过虚拟现实设备呈现给用户的虚拟环境进行对准;以及
基于手部透视视频馈送与虚拟环境的对准,将手部透视视频馈送覆盖在虚拟环境上。
在根据本发明的计算机可读存储介质的实施例中,识别手部透视视频馈送可以包括:
确定从用户的手部延伸的特定的直线或曲线与真实世界对象或真实世界表面相交的点;以及
在来自虚拟现实设备的一个或多个摄像头的一幅或多幅图像中识别所确定的点周围的区域。
在一方面中,本发明还涉及一种计算机程序,该计算机程序包括指令,当该程序由计算系统执行时,所述指令促使该计算系统执行如上所述的方法。
附图说明
图1为示出了本技术的一些实施方式可以在其上运行的设备的概述的框图。
图2A为示出了可在本技术的一些实施方式中使用的虚拟现实头戴式设备(headset)的线示图。
图2B为示出了可在本技术的一些实施方式中使用的混合现实(mixed reality,MR)头戴式设备的线示图。
图2C示出了在一些实施方式中用户可以单手或双手握持以与人工现实环境进行交互的控制器。
图3为示出了本技术的一些实施方式可在其上运行的环境的概述的框图。
图4为示出了在一些实施方式中可在采用了所公开技术的系统中使用的部件的框图。
图5为示出了在本技术的一些实施方式中用于为虚拟现实设备提供部分视频透视的过程的流程图。
图6为示出了在采用了所公开技术的一些实施方式中被覆盖在虚拟环境上的光环式(halo)部分视频透视的示例的概念图。
图7为示出了在采用了所公开技术的一些实施方式中被覆盖在虚拟环境上的手电筒式(flashlight)部分视频透视的示例的概念图。
通过结合附图参考以下具体实施方式可以更好地理解本文所介绍的技术,其中相似的附图标记表示相同的或功能相似的元件。
具体实施方式
本公开的各方面涉及一种部分透视系统,该部分透视系统允许虚拟现实设备(诸如虚拟现实头戴式设备)的用户查看其环境的视频,而无需移除或停用该虚拟现实设备或激活繁琐的控件。存在与虚拟现实环境进行交互的用户可能需要看到真实世界的至少一部分中正在发生的事情等各种情况。例如,用户可能即将与真实世界对象发生碰撞,或者可能想要与真实世界中的对象或人进行交互。然而,现有的虚拟现实系统要求用户要么移除其虚拟现实设备、要么通过一组繁琐的菜单来激活控件以查看真实世界,从而不必要地使用户从虚拟现实体验中脱离。因此,需要以下系统:该系统可以简单地和/或自动地对覆盖在虚拟环境的一部分上的、用户环境的部分视频馈送进行显示,从而用户可以在无需移除虚拟现实设备或浏览一系列用户界面(UI)控件或菜单的情况下,与真实世界中的人和对象进行交互。
部分透视系统允许用户在触发事件发生以启动部分视频透视时观看真实世界的视频。触发事件的示例包括:当用户做出特定手势时、当用户的手部离开指定区域时、当用户的手部在真实世界对象的阈值距离内时、当用户的手部在物理表面的阈值距离内时、以及它们的组合。部分视频透视可以提供覆盖在用户正在观看的虚拟环境上的、用户的实际环境的一部分的视频馈送。因此,如果用户需要与其附近的对象或区域中的其它人进行交互,则用户可以引起触发事件来访问视频透视以实时查看用户环境。以下结合图5中的块502提供了关于识别触发事件的附加细节。
在一些情况下,用户可以指定用于虚拟环境中的交互的‘任务区’(例如,桌子上的一区域)。可以清除任务区中的真实世界对象,以防止用户在虚拟环境中的动作与真实世界对象发生碰撞。这可以包括将对象放在任务区之外。然而,用户可能想要偶尔与这些对象进行交互(例如,喝一口咖啡)。在这种情形下,触发事件可以包括:用户将其手部穿过限定任务区的虚拟屏障,或者在桌面或另一真实世界对象的阈值距离内移动其手部。部分透视系统可以响应于该触发事件,自动激活部分视频透视,从而允许用户看到真实世界的一部分并与真实世界的一部分进行交互,同时以其它方式维持用户在虚拟现实环境中的体验。以下结合图6提供了使用任务区的实施方式的附加细节。
可以使用虚拟现实设备上和/或用户环境中的摄像头来捕捉待覆盖在虚拟环境上的视频,以提供部分视频透视。在各种实施方式中,部分透视系统还可以使用来自附接到用户的(一只或多只)手的一个或多个传感器的输入和/或通过分析所采集的视频来确定用户的手部的位置,以便确定手部在环境中的位置。然后,部分透视系统可以基于用户的手部的位置来选择所采集的视频的一部分并将该部分覆盖在虚拟环境上。以下结合图5中的块504至508提供了采集视频馈送、识别部分(portion)、将该部分与虚拟现实环境的一部分进行对准、以及根据该对准将该部分添加为覆盖物的附加细节。
在各种实施方式中,所采集的视频的所选择的部分以及虚拟现实环境中的对应的覆盖区域可以采取各种形式。在一些实施方式中,在本文中被称为“光环式(halo)”实施方式,所选择的部分可以是引起触发事件的用户的手部周围的区域。以下结合图6提供了光环式实施方式的附加细节。在其它实现方式中,在本文中被称为“手电筒式(flashlight)”实施方式,所选择的部分可以是通过将线条从用户的手部投射到真实世界表面上而确定的区域。以下结合图7提供了手电筒式实施方式的附加细节。
所公开技术的实施例可以包括人工现实系统,或者可以结合人工现实系统来实现。人工现实或超现实(extra reality,XR)是在呈现给用户之前已经以某种方式进行了调整的现实形式,该人工现实或超现实例如可以包括虚拟现实(VR)、增强现实(augmentedreality,AR)、混合现实(MR)、混合现实(hybrid reality)、或它们的某种组合和/或衍生物。人工现实内容可以包括完全生成的内容、或与所采集的内容(例如,真实世界照片)相结合的生成的内容。人工现实内容可以包括视频、音频、触觉反馈、或它们的某种组合,以上中的任何一种可以在单个通道中或在多个通道(诸如,给观看者带来三维效果的立体视频)中呈现。另外,在一些实施例中,人工现实可以与应用、产品、附件、服务、或它们的某种组合相关联,应用、产品、附件、服务、或它们的某种组合例如用于在人工现实中创建内容和/或在人工现实中使用(例如,在人工现实中执行活动)。提供人工现实内容的人工现实系统可以在各种平台上实现,这些平台包括连接到主计算机系统的头戴式显示器(head-mounteddisplay,HMD)、独立HMD、移动设备或计算系统、“洞穴式(cave)”环境投影系统或其它投影系统、或能够向一位或多位观看者提供人工现实内容的任何其它硬件平台。
如本文所使用的“虚拟现实”或“VR”是指这样的沉浸式体验:用户的视觉输入由计算系统控制。“增强现实”或“AR”是指这样的系统:在这样的系统中,在真实世界的图像通过计算系统之后,用户观看这些真实世界的图像。例如,在背面上带有摄像头的平板电脑可以采集真实世界的图像,并且随后在该平板电脑的与该摄像头相对的一侧的屏幕上显示所述图像。平板电脑可以在所述图像通过系统时,(诸如通过添加虚拟对象)处理并且调整或“增强”所述图像。“混合现实”或“MR”是指这样的系统:在这样的系统中,进入用户眼睛的光部分地由计算系统生成,且部分地构成真实世界中的对象反射出的光。例如,MR头戴式设备可以被成形为一副具有透视式显示器的眼镜,该透视式显示器允许来自现实世界的光穿过一波导,该波导同时出射来自该MR头戴式设备中的投影仪的光,从而允许MR头戴式设备呈现与用户可看到的真实对象相混合的虚拟对象。如本文所使用的“人工现实”、“超现实”或“XR”是指以下中的任何一者:VR、AR、MR、或它们的任意组合或混合。
存在提供虚拟空间的现有XR系统。然而,当前XR系统不具有用于提供覆盖在虚拟环境的一部分上的视频透视的机制。相反,用户必须使用一系列菜单或选项来访问虚拟环境的完整视频透视(例如,仅向用户显示视频)、停用虚拟现实设备、或移除虚拟现实设备。这可能会导致用户丢失已完成工作的进度、或者使用户对工作分心,从而导致工作效率低下。当用户在虚拟环境中工作时,该用户还可能冒着与真实世界环境(“用户环境”)中的对象发生碰撞的风险。例如,当用户在虚拟环境中工作时,用户可能意外地与水瓶或咖啡杯碰撞并导致溢出,这可能会损坏包括虚拟现实计算系统在内的计算装置。在另一示例中,用户可能需要紧急地与进入房间的人进行交谈,并且用户可能没有时间浏览菜单以访问完整的视频透视、停用虚拟现实设备、或移除虚拟现实设备。
本发明的各方面提供了对现有虚拟现实计算系统的功能的改进。摄像头和/或传感器用于识别由用户的手部指示的用户环境内的区域。然后,经由虚拟现实设备将所指示的区域的视频流作为用户正在观看的虚拟环境的覆盖物来提供给用户,从而允许用户同时看到虚拟环境和真实世界中的所指示的区域这两者。将视频流作为覆盖物进行显示允许用户在不需要停用和/或移除虚拟现实设备的情况下完成虚拟环境内的任务和虚拟环境外的任务(例如,与用户环境中的对象或其它人进行交互)这两者。
所公开技术的一个实施例利用摄像头和/或传感器来检测用户的手部在用户环境内的专用工作空间内的位置。当用户的手部越过专用工作空间时,摄像头和/或传感器检测用户的手部在用户环境中的位置。然后,将用户的手部周围的区域的视频作为用户在虚拟现实设备中正在观看的虚拟环境的覆盖物而进行提供,从而允许用户查看用户环境内的专用工作空间外的对象并与其进行交互。
所公开技术的第二实施例利用摄像头和/或传感器来对用户的手部进行检测。然后,例如使用图像识别技术或一些其它技术来检测用户的手势。摄像头和/或传感器在检测到手势时,检测该手势所指向的用户环境中的区域。经由虚拟现实设备将该区域的视频作为虚拟环境的覆盖物而进行提供。
以下参考附图更详细地论述了数个实施方式。图1为示出了所公开技术的某些实施方式可以在其上运行的设备的概述的框图。这些设备可以包括向虚拟现实设备提供部分透视视频馈送的计算系统100的硬件部件。在各种实施方式中,计算系统100可以包括单个计算设备103或多个计算设备(例如,计算设备101、计算设备102和计算设备103),所述多个计算设备通过有线信道或无线信道通信,以分发处理并共享输入数据。在一些实施方式中,计算系统100可以包括独立头戴式设备,该独立头戴式设备能够在无需外部处理或外部传感器的情况下,向用户提供计算机创建或增强的体验。在其它实施方式中,计算系统100可以包括多个计算设备,该多个计算设备诸如为头戴式设备和核心处理部件(诸如控制台、移动设备或服务器系统),其中,一些处理操作在头戴式设备上执行而其它处理操作被转移(offload)到核心处理部件。以下结合图2A和图2B描述了示例头戴式设备。在一些实施方式中,位置数据和环境数据可仅由结合在头戴式设备中的传感器收集,而在其它实施方式中,多个非头戴式设备计算设备中的一个或多个非头戴式设备计算设备可以包括可追踪环境数据或位置数据的传感器部件。
计算系统100可以包括(一个或多个)处理器110(例如,中央处理单元(centralprocessing unit,CPU)、图形处理单元(graphical processing unit,GPU)、全息处理单元(holographic processing unit,HPU)等)。处理器110可以是单个处理单元或多个处理单元,所述多个处理单元位于一设备中或分布在多个设备上(例如,分布在计算设备101至103中的两个或更多个计算设备上)。
计算系统100可以包括一个或多个输入设备120,所述一个或多个输入设备120向处理器110提供输入,从而向这些处理器通知动作。所述动作可以由硬件控制器传递,该硬件控制器对从输入设备接收的信号进行解译,并使用通信协议将信息传送到处理器110。每个输入设备120例如可以包括鼠标、键盘、触摸屏、触摸板、可穿戴输入设备(例如,触觉手套、手镯、戒指、耳环、项链、手表等)、摄像头(或其它基于光的输入设备,例如红外传感器)、传声器、或其它用户输入设备。
处理器110可以例如通过使用内部总线或外部总线而耦接到其它硬件设备,上述总线例如为:外设组件互连标准(PCI)总线、小型计算机系统接口(SCSI)总线、或无线连接。处理器110可以与用于各设备(例如,用于显示器130)的硬件控制器通信。显示器130可以用于显示文本和图形。在一些实施方式中,显示器130包括输入设备,例如当该输入设备为触摸屏或配备有眼睛方向监测系统时,该输入设备作为显示器的一部分。在一些实施方式中,显示器与输入设备分开。显示设备的示例为:液晶显示器(liquid crystal display,LCD)显示屏、发光二极管(LED)显示屏、投影显示器、全息显示器、或增强现实显示器(诸如,平视显示设备或头戴式设备)等。其它输入/输出(I/O)设备140也可以耦接到处理器,其它I/O设备诸如为网络芯片或网卡、视频芯片或视频卡、音频芯片或音频卡、通用串行总线(USB)、火线或其它外部设备、摄像头、打印机、扬声器、光盘只读存储器(CD-ROM)驱动器、数字视频光盘(DVD)驱动器、磁盘驱动器等。
计算系统100可以包括通信设备,该通信设备能够与其它本地计算设备或网络节点无线地或基于有线地通信。该通信设备可以例如使用传输控制协议/网际协议(TCP/IP协议)通过网络与另一设备或服务器通信。计算系统100可以使用该通信设备在多个网络设备上分发操作。
处理器110可以访问存储器150,该存储器可以被包含在计算系统100的多个计算设备中的一个计算设备上,或者可以分布在计算系统100的多个计算设备、或多个其它外部设备上。存储器包括用于易失性或非易失性存储的一个或多个硬件设备,并且可以包括只读存储器和可写存储器这两者。例如,存储器可以包括以下中的一者或多者:随机存取存储器(random access memory,RAM)、各种高速缓冲存储器(cache)、CPU寄存器、只读存储器(read-only memory,ROM)和可写非易失性存储器,该可写非易失性存储器例如为:闪存、硬盘驱动器、软盘、光盘(CD)、DVD、磁存储设备、和磁带驱动器等。存储器不是脱离底层硬件的传播信号;因此存储器是非暂态的。存储器150可以包括程序存储器160,该程序存储器160存储有程序和软件,所述程序和软件诸如为操作系统162、部分透视系统164和其它应用程序166。存储器150还可以包括数据存储器170,数据存储器170可以包括可被提供给程序存储器160或计算系统100的任何元件的虚拟现实环境数据、配置数据、设置、用户选项或偏好等。
一些实施方式可以与许多其它计算系统环境或配置一起运行。可适用于与该技术一起使用的计算系统、环境和/或配置的示例包括但不限于:XR头戴式设备、个人计算机、服务器计算机、手持式或膝上型设备、蜂窝电话、可穿戴电子设备、游戏控制台、平板设备、多处理器系统、基于微处理器的系统、机顶盒、可编程消费类电子产品、网络个人计算机(PC)、小型计算机、大型计算机、或包括上述多个系统或设备中的任何系统或设备的分布式计算环境等。
图2A为根据一些实施例的虚拟现实头戴式显示器(HMD)200的线示图。HMD 200包括前部刚性体205和带210。前部刚性体205包括电子显示器245的一个或多个电子显示元件、惯性运动单元(inertial motion unit,IMU)215、一个或多个位置传感器220、多个定位器225、以及一个或多个计算单元230。位置传感器220、IMU 215和计算单元230可以位于HMD200内部,并且可以对用户不可见。在各种实施方式中,IMU 215、位置传感器220和定位器225可以以三个自由度(three degrees of freedom,3DoF)或六个自由度(six degrees offreedom,6DoF)来追踪HMD 200在真实世界中和虚拟环境中的移动和位置。例如,定位器225可以发射红外光束,这些红外光束在HMD 200周围的真实对象上产生光点。作为另一示例,IMU 215例如可以包括:一个或多个加速度计、陀螺仪、磁力计、其它非基于摄像头的位置、力或方位传感器、或它们的组合。与HMD 200集成在一起的一个或多个摄像头(未示出)可以检测光点。HMD 200中的计算单元230可以使用所检测到的光点,来推测HMD 200的位置和移动、以及识别HMD 200周围的真实对象的形状和位置。
电子显示器245可以与前部刚性体205集成在一起,且可以如计算单元230所指示的向用户提供图像光。在各种实施例中,电子显示器245可以是单个电子显示器或多个电子显示器(例如,每只用户眼睛一显示器)。电子显示器245的示例包括:液晶显示器(liquidcrystal display,LCD)、有机发光二极管(organic light-emitting diode,OLED)显示器、有源矩阵有机发光二极管显示器(active-matrix organic light-emitting diodedisplay,AMOLED)、包括一个或多个量子点发光二极管(quantum dot light-emittingdiode,QOLED)子像素的显示器、投影仪单元(例如,微型LED、激光器(LASER)等)、一些其它显示器、或它们的某种组合。
在一些实施方式中,HMD 200可以耦接到诸如个人计算机(personal computer,PC)(未示出)等核心处理部件和/或一个或多个外部传感器(未示出)。外部传感器可以对HMD 200进行监测(例如,经由从HMD 200发射的光来监测),PC可以使用该HMD结合来自IMU215和位置传感器220的输出,来确定HMD 200的位置和移动。
图2B为混合现实HMD系统250的线示图,该混合现实HMD系统包括混合现实HMD 252和核心处理部件254。混合现实HMD 252和核心处理部件254可以经由如链路256所指示的无线连接(例如,60吉兆赫兹(GHz)链路)通信。在其它实施方式中,混合现实系统250仅包括头戴式设备而没有外部计算设备,或者包括混合现实HMD 252与核心处理部件254之间的其它有线连接或无线连接。混合现实HMD 252包括透视式显示器258和框架260。框架260可以容纳各种电子部件(未示出),诸如光投影仪(例如,激光器、LED等)、摄像头、眼睛追踪传感器、微机电系统(MEMS)部件、网络部件等。
投影仪可以例如经由光学元件耦接到透视式显示器258,以向用户显示媒体。光学元件可以包括用于将来自投影仪的光引导到用户的眼睛的一个或多个波导组件、反射器、透镜、反射镜、准直器、光栅等。可以经由链路256将图像数据从核心处理部件254传输到HMD252。HMD 252中的控制器可以将图像数据转换为来自投影仪的多个光脉冲,这些光脉冲可以作为输出光经由光学元件传输到用户的眼睛。该输出光可以与穿过显示器258的光混合,从而允许输出光呈现以下虚拟对象:这些虚拟对象看起来如同存在于真实世界中一样。
与HMD 200类似,HMD系统250也可以包括运动和位置追踪单元、摄像头、光源等,上述运动和位置追踪单元、摄像头、光源等允许HMD系统250例如以3DoF或6DoF追踪其自身,追踪用户的多个部分(例如,手部、脚、头部、或其它身体部位),将虚拟对象绘制为在HMD 252移动时看起来如同静止一样,以及使虚拟对象对手势和其它真实世界对象作出反应。
图2C示出了控制器270,在一些实施方式中,用户可以单手或双手握住所述控制器以与由HMD 200和/或HMD 250呈现的人工现实环境进行交互。控制器270可以直接或经由外部设备(例如,核心处理部件254)与HMD通信。控制器可以有其自己的IMU单元、位置传感器,和/或可以发射更远的光点。HMD 200或250、外部传感器或控制器中的传感器可以追踪这些控制器光点以确定控制器的位置和/或方位(例如,以3DoF或6DoF追踪控制器)。HMD 200中的计算单元230或核心处理部件254可以结合IMU输出和位置输出,使用该追踪来监测用户手部的位置和运动。控制器还可以包括各种按钮(例如,按钮272A至272F)和/或操纵杆(例如,操纵杆274A至274B),用户可以致动这些按钮和/或操纵杆来提供输入并与对象进行交互。
在各种实施方式中,HMD 200或250还可以包括附加的子系统,诸如眼睛追踪单元、音频系统、各种网络部件等,以监测用户的交互和意图的指示。例如,在一些实施方式中,代替控制器或除控制器之外,HMD 200或250中所包括的或来自外部摄像头的一个或多个摄像头可以监测用户的手部的位置和姿势,以确定手势和其它手部运行和身体运动。
图3为示出了所公开技术的一些实施方式可以在其上运行的环境300的概况的框图。环境300可以包括一个或多个客户端计算设备305A至305D,客户端计算设备的示例可以包括计算系统100。在一些实施方式中,多个客户端计算设备中的一些客户端计算设备(例如,客户端计算设备305B)可以是HMD 200或HMD系统250。多个客户端计算设备305可以在网络环境中、使用通过网络330到一个或多个远程计算机(诸如,服务器计算设备)的逻辑连接来运行。
在一些实施方式中,服务器310可以是边缘服务器,该边缘服务器接收多个客户端请求,并通过其它服务器(诸如,服务器320A至320C)协调实现那些请求。服务器计算设备310和320可以包括计算系统,诸如计算系统100。尽管每个服务器计算设备310和320在逻辑上被显示为单个服务器,但多个服务器计算设备均可以是以下分布式计算环境:该分布式计算环境包含位于同一物理位置处或地理上不同的物理位置处的多个计算设备。
客户端计算设备305、以及服务器计算设备310和320均可以充当(一个或多个)其它服务器/客户端设备的服务器或客户端。服务器310可以连接到数据库315。服务器320A至320C可以各自连接到对应的数据库325A至325C。如以上所论述的,每个服务器310或320可以与一组服务器相对应,并且这些服务器中的各个服务器可以共享一数据库,或者可以具有其自己的数据库。尽管数据库315和325在逻辑上被显示为单个单元,但数据库315和325均可以是包含多个计算设备的分布式计算环境,可以位于其对应的服务器内,或者可以位于同一物理位置处或位于地理上不同的物理位置处。
网络330可以是局域网(local area network,LAN)、广域网(wide area network,WAN)、网状网络、混合网络、或其它有线或无线网络。网络330可以是互联网或某种其它的公共或专用网络。客户端计算设备305可以经由网络接口诸如通过有线或无线通信连接到网络330。尽管服务器310与多个服务器320之间的连接被显示为单独的连接,但这些连接可以是包括网络330或单独的公共或专用网络的任何类型的局域网、广域网、有线网络、或无线网络。
图4为示出了在一些实施方式中可在采用了所公开技术的系统中使用的部件400的框图。部件400可以被包括在计算系统100的一个设备中,或者可以分布在计算系统100的多个设备上。部件400包括硬件410、中间件420和多个专用部件430。如以上所论述的,实现所公开技术的系统可以使用各种硬件,所述各种硬件包括处理单元412、工作存储器414、输入和输出设备416(例如,摄像头、显示器、IMU单元、网络连接等)和存储存储器(storagememory)418。在各种实施方式中,存储存储器418可以是以下中的一者或多者:本地设备、到远程存储设备的接口、或它们的组合。例如,存储存储器418可以是可通过系统总线访问的一个或多个硬盘驱动器或闪存驱动器,或者可以是到云存储供应商(诸如,在存储315或325中)或其它网络存储,云存储供应商或其它网络存储可经由一个或多个通信网络访问。在各种实施方式中,部件400可以在客户端计算设备(诸如,客户端计算设备305)中实现,或者在服务器计算设备(诸如,服务器计算设备310或320)上实现。
中间件420可以包括以下部件:所述部件对硬件410与多个专用部件430之间的资源进行传送。例如,中间件420可以包括操作系统、服务系统(service)、驱动器、基本输入输出系统(basic input output system,BIOS)、控制器电路、或其它硬件或软件系统。
多个专用部件430可以包括以下软件或硬件:该软件或硬件被配置为执行用于在虚拟现实环境中提供部分视频透视的操作。多个专用部件430可以包括:传感器和摄像头模块434、虚拟环境模块436、图像识别模块438、部分透视模块440、以及部件和应用程序接口(API)(诸如接口432),该部件和API可以用于提供用户界面、传输数据以及控制多个专用部件。在一些实施方式中,部件400可以位于分布在多个计算设备上的计算系统中,或者可以是对执行多个专用部件430中的一个或多个专用部件的基于服务器的应用程序的接口。尽管多个专用部件430被描绘为单独的部件,但这些专用部件可以是功能的逻辑区分或其它非物理区分,和/或可以是一个或多个应用程序的子模块或代码块。
传感器和摄像头模块434可以接收来自一个或多个传感器的数据,该一个或多个传感器诸如为:雷达传感器、激光雷达(LIDAR)传感器、超声波传感器、其它形式的测距传感器、深度传感器、和其它类型的传感器、和/或一个或多个摄像头。然后,该数据被提供给多个专用部件430中的一个或多个其它模块。在一些实施方式中,传感器和摄像头模块434可以执行一个或多个功能,以将来自该一个或多个传感器和/或摄像头的任何原始的接收数据格式化为以下格式:其它的专用部件430可使用该格式以执行每个部件的相应功能。以下结合图5中的块502提供了从传感器和/或摄像头采集数据的附加细节。
虚拟环境模块436可以向用户(例如,诸如HMD 200的虚拟现实设备的用户)提供虚拟环境。在各种实施方式中,虚拟环境示出虚拟对象。例如,虚拟环境可以包括产品或标志设计、蓝图、社交平台、游戏、工作应用程序、或任何其它类型的内容。虚拟环境模块还可以允许操纵虚拟对象。例如,在各种实施方式中,用户可以放大或缩小虚拟环境,可以在相同虚拟环境的或不同虚拟环境的多个不同视图之间进行转换,可以选择和操纵(例如,定位、使大小改变、修改等)虚拟环境中的虚拟对象,以及执行其它操纵虚拟环境的操作。在一些实施方式中,虚拟环境模块436向部分透视模块440提供对虚拟环境的接入,并且从部分透视模块440接收待在由部分透视模块440定义的位置处覆盖在虚拟环境上的视频数据。
图像识别模块438可以接收来自传感器和摄像头模块434的视频数据,并且可以使用一个或多个图像识别算法和/或机器学习模型来分析该视频数据,以检测用户的手部和/或用户的真实世界环境内的其它对象。图像识别模块438可以向部分透视模块440提供任何所识别的对象和所识别的对象在用户的真实世界环境中的位置。以下结合图5中的块502至504提供了从传感器和视频数据识别对象的附加细节。
部分透视模块440可以接收来自虚拟环境模块436的对虚拟环境的访问、来自图像识别模块438的任何所识别的对象在用户的真实世界环境中的位置、以及来自传感器和摄像头模块434的传感器数据和/或摄像头数据。部分透视模块440可以使用这些输入,确定应该将什么视频数据显示为部分透视视频馈送。待被显示为部分透视视频馈送的视频数据是基于所识别的对象(手部、人或另一对象)和所期望的透视区域的尺寸(如以下参考图5中的块504所描述的那样来确定的)来确定的。一旦确定了手部透视视频馈送,部分透视模块440就确定了虚拟环境内的位置,该虚拟环境内的位置与手部透视视频馈送在用户的真实世界环境中的位置相对应。然后,部分透视模块440向虚拟环境模块436传递手部透视视频馈送,该虚拟环境模块在虚拟环境中的一位置处显示手部透视视频馈送,虚拟环境中的该位置与所识别的对象在用户的真实世界环境中的位置相对应。以下结合图5中的块504至508提供了提供部分视频透视的附加细节。
本领域技术人员将理解的是,以上所描述的图1至图4中、以及以下所论述的多个流程图中的每个流程图中所示出的多个部件可以以各种方式改变。例如,可以重新排列逻辑的顺序,可以并行地执行多个子步骤,可以省略所示出的逻辑,可以包括其它逻辑等。在一些实施方式中,以上所描述的多个部件中的一个或多个部件可以执行以下所描述的多个过程中的一个或多个过程。
图5为示出了在一些实施方式中用于为虚拟现实设备提供部分视频透视的过程500的流程图。在一些实施方式中,过程500可以在虚拟现实设备启动时开始,并且在用户操作虚拟现实设备时作为后台进程运行。在其它实施方式中,过程500基于特定背景而开始。例如,过程500可以仅在用户坐在办公桌或其它工作站处时或在用户致动输入机构时才开始。在一些实施方式中,输入机构可以是物理输入机构,诸如HMD 200上的按钮或开关。在其它实施方式中,输入机构可以是软件输入机构,诸如对图形用户界面的元素的选择或对一系列菜单中的选项的选择。
在块502处,过程500检测手部透视触发事件。在该技术的一些实施方式中,手部透视触发事件是基于来自一个或多个摄像头和/或传感器(诸如,深度传感器、红外传感器、LIDAR传感器、和其它形式的传感器)的输入来检测的。在该技术的一些实施方式中,手部透视触发事件可以是检测用户的手部离开专用工作空间,该专用工作空间诸如为桌面上的所定义的区域、用户面前的所定义的三维空间、或另一工作空间。例如,工作空间可以被定义为用户的桌面上具有特定尺寸的体积,该特定尺寸诸如为长三英尺、宽两英尺和高一英尺。当用户的手部在工作空间内时,虚拟现实系统显示虚拟环境。当用户的一只手离开所定义的工作空间(如由摄像头和/或一个或多个传感器所检测到的)时,过程500将这一事件检测为手部透视触发事件。在其它实施方式中,若手部离开工作空间且在桌子表面的阈值距离(例如,3英寸、6英寸、1英尺等)内,则检测到手部透视触发事件,但若用户的手部离开工作空间超过距工作空间表面的阈值距离,则不会检测到手部透视事件触发。
在该技术的其它实施方式中,手部透视触发事件是用户做出的手势。例如,用户可以做出一手势,该手势诸如为:将拳头从用户的身体向外指出,将摊开的手掌从用户的身体向外指出,像拿着手电筒一样合上手并将其从用户的身体向外指出,将食指指向某个方向并将拇指向上指出(“手枪”手势),用两个或更多个手指和/或拇指做出捏合动作,仅用一个手指或拇指指向一位置,或者另一手势。当摄像头使用图像识别技术检测到这一手势时,就检测到了手部透视触发事件。
在该技术的又一其它实施方式中,过程500可以基于一预测来检测手部透视触发,该预测为用户的手部(或其它身体部位)与用户环境内的对象之间即将发生碰撞。例如,摄像头和/或传感器中的一者或多者可以识别用户的手部即将与桌面上的水瓶相撞。一个或多个摄像头和/或传感器可以使用运动学模型来追踪手部速度和手部轨迹,以便确定手部是否即将与对象相撞。若检测到潜在碰撞,则过程500可以检测到手部透视触发事件。
在该技术的一些实施方式中,过程500可以基于用户的手部在真实世界对象的阈值距离(例如,2英寸、6英寸、8英寸等)内来检测手部透视触发。例如,摄像头和/或传感器中的一者或多者可以识别用户的手部已经移动到咖啡杯的6英寸内,从而使得过程500检测到该触发事件。
在该技术的再一些实施方式中,手部透视触发事件可以是用户激活控件(诸如虚拟现实设备上或相关联的控制器上的按钮或开关),或者可以响应于一个或多个传声器所检测到的来自用户的语音命令而检测到手部透视触发事件。
在块504处,过程500识别手部透视视频馈送。在该技术的一些实施方式中,过程500识别用户的手部周围的透视区域,以允许部分视频透视。例如,用户的手部周围的透视区域可以是该手部周围的“光环”或其它圆形或椭圆形形状,或者由与用户的手部的外轮廓的偏移量所限定的区域,并且允许用户查看该手部的紧邻区域内的对象。在其它实施方式中,透视区域可以是“手电筒”、或投射的圆形或椭圆形,该“手电筒”、或投射的圆形或椭圆形允许用户基于用户的手部所指的地方来查看用户环境内的对象。在再一些实施方式中,过程500可以仅识别待覆盖在虚拟环境中的特定对象,诸如用户的手部潜在地可能碰撞的对象或者在用户环境中位于用户的手部附近的对象。
过程500通过使用图像识别技术识别控制手部和/或(一个或多个)触发对象,来识别手部透视视频馈送。一旦识别了该手部或对象,过程500就确定了透视区域的尺寸。透视区域的尺寸可以是固定的,也可以是可变的。如果该尺寸是固定的,则该尺寸可以被预设为“开箱即用(out of the box)”或在用户第一次操作虚拟现实系统之前被预设,或者可以被设置为用户选项。如果该尺寸是可变的,则可以使用环境背景来设置该尺寸。例如,透视区域的尺寸可以基于手部与将在透视区域中示出的一个或多个对象之间的距离来确定,并且可以随着用户的手部接近(一个或多个)对象而增大或缩小。例如,投射在真实世界表面上的手电筒透视圆形的半径可以与用户的手部与该表面之间的距离成正比。透视区域的尺寸也可以用一个或多个手势来控制。例如,用户可以使用两只手来做出伸展或加宽的手势,以增大该区域的尺寸或手电筒透视圆形的半径,或者用户的手部周围的光环区域的尺寸可以与用户的双手之间的距离成正比。
如果手部透视视频馈送是手电筒透视视频馈送,则过程500从用户的手部朝一方向(诸如直出、弯曲、向下或直下)投射光线。用真实世界对象(诸如咖啡杯或人)来识别接触点,并且从该接触点周围的区域获取手部透视视频馈送。如果在用户的手部接近于接触到对象时触发手部透视视频馈送,则可以从该对象的视频以及可选地从该对象周围的阈值距离内的区域的视频获取手部透视视频馈送。
在块506处,过程500将透视区域的手部透视视频馈送与虚拟环境进行对准。过程500可以通过将与手部透视视频馈送相关联的坐标与虚拟环境中的坐标进行匹配来完成这一点。在一些实施方式中,这包括将手部透视视频馈送匹配到用户的手部在虚拟环境中的所确定的位置。过程500可以使用来自一个或多个摄像头和一个或多个传感器的组合的数据,来确定用户的手部在用户环境中的位置。接下来,过程500可以确定与手部或对象在用户环境中的位置相对应的、虚拟环境内的位置。在其它实施方式中,过程500可以将待被透视以覆盖在虚拟环境上的对象在用户环境中的位置与虚拟环境中的对应位置进行匹配。过程500可以基于用户的手部或对象在用户环境中的位置与虚拟环境内的位置的匹配,在虚拟环境中准确地对准手部透视视频馈送。通过将手部透视视频馈送与虚拟环境进行对准,手部透视视频馈送允许用户具有用户环境的深度精确视图,以帮助与对象进行交互。过程500继续追踪手部和/或对象的位置,并在虚拟环境的不同部分中不断地提供手部透视视频馈送。
在块508处,过程500基于在块506中执行的对准,将(在块504确定的)手部透视视频馈送覆盖在虚拟环境上。手部透视视频馈送被提供在透视区域内,因此用户可以与对象和/或其它人进行交互。虚拟环境的、正常情况下将在透视区域的位置处显示的部分被手部透视视频馈送取代。可以未修改地或部分不透明地呈现手部透视视频馈送,从而允许用户在能够查看真实世界的部分内容的同时对虚拟环境进行“透视(see through)”。在一些实施方式中,手部透视视频馈送的(一条或多条)边缘可以使用视频效果“淡出(fade)”到或逐渐过渡到虚拟环境中。
图6为示出了在采用了所公开技术的一些实施方式中被覆盖在虚拟环境610上的光环式部分视频透视的示例600的概念图。在示例600中,用户的手部615在低于所定义的阈值高度625穿过虚拟环境610的虚拟墙620。如在块502处所描述的,当手部615在低于所定义的阈值高度625穿过虚拟环境的虚拟墙620时,检测到手部透视事件触发。然后,如在块504处所描述的,过程500确定手部透视视频馈送中将包括什么,诸如透视的光环605的尺寸。在示例600中,光环的尺寸被定义为从以下两者偏移的区域:A)手部615的轮廓和B)对象630,手部615在该对象的阈值距离内。如参考图中的块506所描述的,过程500通过接收来自一个或多个摄像头和/或传感器的数据来在虚拟环境内对手部透视视频馈送进行对准。然后,过程500在部分透视的光环605中显示覆盖在虚拟环境610上的用户的真实世界环境中的对象630(诸如咖啡杯)。
图7为示出了在采用了所公开技术的一些实施方式中被覆盖在虚拟环境715上的手电筒式部分视频透视705的示例700的概念图。在示例700中,一个或多个传感器和/或摄像头检测用户的手部710的手势。用户的手部710的手势被检测为手部透视事件。当检测到手势时,过程500确定在用户的真实世界环境中该手势所指向的位置(由手电筒式部分透视705示出)。例如,如参考图5中的块504所论述的,过程500可以识别从用户的手部710延伸出来的“光线”的接触点,并且将该接触点的位置的视频馈送和该接触点周围的区域的视频馈送提供为手部透视视频馈送。在示例700中,在用户所指向的区域中存在真实世界的人。过程500将手部透视视频馈送与虚拟环境中的对应位置进行对准。如参考图5中的块506所论述的,过程500通过识别接触点在用户环境内的位置、然后确定与该接触点的位置相对应的、虚拟环境内的位置,来对手部透视视频馈送进行对准。例如,接触点在用户环境中的位置可以与虚拟环境715中的虚拟墙上的点相对应。然后,过程500将手部透视视频馈送覆盖在虚拟环境715中的接触点的对应位置上,从而在手电筒式部分透视705内显示用户所指向的用户环境的部分。
在本说明书中对“多个实施方式”(例如,“一些实施方式”、“各种实施方式”、“一个实施方式”、“一实施方式”等)的引用意味着,结合该实施方式而描述的特定的特征、结构或特性被包括在本公开的至少一个实施方式中。这些表达在说明书中不同地方的出现不一定都指同一实施方式,也不一定是与其它实施方式相互排斥的单独实施方式或替代实施方式。此外,描述了可由一些实施方式而不是由其它实施方式呈现的各种特征。类似地,描述了各种要求,这些要求可以是对一些实施方式而不是对其它实施方式的要求。
如本文所使用的,高于阈值意味着比较项的值高于指定的其它值,比较项位于具有最大值的某个指定数量的项中,或者比较项具有在指定的最高百分比值内的值。如本文所使用的,低于阈值意味着比较项的值低于指定的其它值,比较项位于具有最小值的某个指定数量的项中,或者比较项具有在指定的最低百分比值内的值。如本文所使用的,处于阈值内意味着比较项的值在两个指定的其它值之间,比较项位于中间的指定数量的项中,或者比较项具有在中间指定百分比范围内的值。当没有另外定义时,诸如高或不重要等相对术语可以被理解为分配一个值并确定该值如何与所建立的阈值进行比较。例如,短语“选择快速连接”可以被理解为选择具有分配的与其高于阈值的连接速度相对应的值的连接。
如本文所使用的,词语“或”是指一组项目的任何可能的排列。例如,表达“A、B或C”是指以下中的至少一者:A、B、C或它们的任意组合,诸如以下中的任何:A;B;C;A和B;A和C;B和C;A、B和C;或任何项目的倍数(诸如,A和A;B、B和C;A、A、B、C和C等)。
尽管已经用特定于结构特征和/或方法动作的语言描述了该主题,但应理解,在所附权利要求书中所限定的主题不必限于上述特定特征或动作。本文已出于说明的目的描述了特定的实施例和实施方式,但可以在不脱离这些实施例和实施方式的范围的情况下进行各种修改。上述特定的特征和动作是作为实现所附权利要求书的示例形式而公开的。因此,除了所附权利要求书之外,实施例和实施方式不受限制。
以上所提到的任何专利、专利申请和其它参考文献都通过引用并入到本文。如果需要,可以对各方面进行修改,以采用上述各种参考文献的系统、功能和概念来提供又一些的实施方式。如果通过引用并入的文献中的陈述或主题与本申请的陈述或主题相冲突,则以本申请为准。
Claims (20)
1.一种用于向虚拟现实设备的用户提供部分透视视频的方法,所述方法包括:
检测手部透视触发事件;
响应于检测到手部透视触发事件,识别来自所述虚拟现实设备的一个或多个摄像头的手部透视视频馈送;
将所述手部透视视频馈送与通过所述虚拟现实设备呈现给所述用户的虚拟环境进行对准;以及
基于所述手部透视视频馈送与所述虚拟环境的对准,将所述手部透视视频馈送覆盖在所述虚拟环境上。
2.根据权利要求1所述的方法,其中,所述检测所述手部透视触发事件包括:基于所监测的所述用户的手部姿势来识别所述用户做出了特定手势,其中,所述用户的手部姿势是A)使用来自附接到所述用户的手部或腕部的一个或多个传感器的输入来监测的,和/或B)通过分析由所述虚拟现实设备采集的图像来监测的。
3.根据权利要求1所述的方法,其中,所述检测所述手部透视触发事件包括:识别所述用户的手部离开了指定区域。
4.根据权利要求1所述的方法,其中,所述检测所述手部透视触发事件包括:确定所述用户的手部在真实世界表面的阈值距离内。
5.根据权利要求1所述的方法,其中,所述检测所述手部透视触发事件包括:确定所述用户的手部在真实世界对象的阈值距离内,或者其中,所述检测所述手部透视触发事件包括:通过利用所确定的当前手部速度和当前手部轨迹对所述用户的运动学模型进行分析,来识别所述用户的一部位与真实世界对象之间的预测的碰撞。
6.根据权利要求1所述的方法,其中,所述检测所述手部透视触发事件包括:确定所述用户说出特定语音命令或按下与所述虚拟现实设备相关联的特定按钮。
7.根据权利要求1所述的方法,
其中,所述检测所述手部透视触发事件是基于所述用户的手部的动作的;并且
其中,识别所述手部透视视频馈送包括:
在来自所述虚拟现实设备的一个或多个摄像头的一幅或多幅图像中识别执行所述动作的所述用户的手部;以及
在来自所述虚拟现实设备的一个或多个摄像头的一幅或多幅图像中识别所识别的所述手部周围的区域。
8.根据权利要求1所述的方法,其中,识别所述手部透视视频馈送包括:
确定从所述用户的手部延伸的特定的直线或曲线与真实世界对象或真实世界表面相交的点;以及
在来自所述虚拟现实设备的一个或多个摄像头的一幅或多幅图像中识别所确定的所述点周围的区域。
9.根据权利要求1所述的方法,
其中,所述检测所述手部透视触发事件是基于对来自所述虚拟现实设备的一个或多个摄像头的一幅或多幅图像中的对象的识别的;并且
其中,识别所述手部透视视频馈送包括:在来自所述虚拟现实设备的一个或多个摄像头的一幅或多幅图像中识别所识别的所述对象周围的区域。
10.根据权利要求1所述的方法,
其中,所述检测所述手部透视触发事件是基于对来自所述虚拟现实设备的一个或多个摄像头的一幅或多幅图像中的对象或表面的识别的;并且
其中,所述手部透视视频馈送的尺寸是基于所述用户的手部与所识别的所述对象或表面之间的确定的距离来设置的。
11.根据权利要求1所述的方法,其中,识别所述手部透视视频馈送包括:
在来自所述虚拟现实设备的一个或多个摄像头的一幅或多幅图像中识别所述用户的第一手部和所述用户的第二手部;以及
在来自所述虚拟现实设备的一个或多个摄像头的一幅或多幅图像中识别所识别的所述第一手部周围的区域,其中,所述区域的尺寸是基于所述第一手部与所述第二手部之间的所确定的距离的。
12.根据权利要求1所述的方法,其中,将所述手部透视视频馈送与所述虚拟环境进行对准包括:基于在所述手部透视视频馈送与所述虚拟环境之间的、所识别的一个或多个对象和/或身体部位的匹配,将与所述手部透视视频馈送相关联的坐标与所述虚拟环境中的坐标进行匹配。
13.一种用于向虚拟现实设备的用户提供部分透视视频的计算系统,所述计算系统包括:
一个或多个处理器;以及
一个或多个存储器,所述一个或多个存储器存储有指令,所述指令在被所述一个或多个处理器执行时促使所述计算系统执行根据权利要求1至12中任一项所述的方法或执行包括以下步骤的过程:
检测手部透视触发事件;
响应于检测到手部透视触发事件,识别来自所述虚拟现实设备的一个或多个摄像头的手部透视视频馈送;
将所述手部透视视频馈送与通过所述虚拟现实设备呈现给所述用户的虚拟环境进行对准;以及
基于所述手部透视视频馈送与所述虚拟环境的对准,将所述手部透视视频馈送覆盖在所述虚拟环境上。
14.根据权利要求13所述的计算系统,其中,所述检测所述手部透视触发事件包括:确定所述用户的手部在真实世界对象或真实世界表面的阈值距离内。
15.根据权利要求13所述的计算系统,其中,所述检测所述手部透视触发事件包括:基于所监测的所述用户的手部姿势来识别所述用户做出特定手势,其中,所述用户的手部姿势是A)使用来自附接到所述用户的手部、腕部或前臂的一个或多个传感器的输入来监测的,和/或B)通过分析由所述虚拟现实设备采集的图像来监测的。
16.根据权利要求13所述的计算系统,
其中,所述检测所述手部透视触发事件是基于所述用户的手部的动作的;并且
其中,识别所述手部透视视频馈送包括:
在来自所述虚拟现实设备的一个或多个摄像头的一幅或多幅图像中识别执行所述动作的所述用户的手部;以及
在来自所述虚拟现实设备的所述一个或多个摄像头的所述一幅或多幅图像中识别所识别的所述手部周围的区域。
17.根据权利要求13所述的计算系统,其中,检测所述手部透视触发事件包括:识别所述用户的手部离开了指定区域。
18.一种计算机可读存储介质,所述计算机可读存储介质存储有指令,所述指令在被计算系统执行时促使所述计算系统执行根据权利要求1至12中任一项所述的方法或执行包括以下步骤的过程:
检测手部透视触发事件;
响应于检测到手部透视触发事件,识别来自所述虚拟现实设备的一个或多个摄像头的手部透视视频馈送;
将所述手部透视视频馈送与通过所述虚拟现实设备呈现给所述用户的虚拟环境进行对准;以及
基于所述手部透视视频馈送与所述虚拟环境的对准,将所述手部透视视频馈送覆盖在所述虚拟环境上。
19.根据权利要求18所述的计算机可读存储介质,其中,识别所述手部透视视频馈送包括:
确定从所述用户的手部延伸的特定的直线或曲线与真实世界对象或真实世界表面相交的点;以及
在来自所述虚拟现实设备的一个或多个摄像头的一幅或多幅图像中识别所确定的所述点周围的区域。
20.一种计算机程序,所述计算机程序包括指令,在所述程序被计算系统执行时,所述指令促使所述计算系统执行根据权利要求1至12中任一项所述的方法。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US202063129486P | 2020-12-22 | 2020-12-22 | |
US63/129,486 | 2020-12-22 | ||
US17/498,284 US20220197382A1 (en) | 2020-12-22 | 2021-10-11 | Partial Passthrough in Virtual Reality |
US17/498,284 | 2021-10-11 | ||
PCT/US2021/064674 WO2022140432A1 (en) | 2020-12-22 | 2021-12-21 | Partial passthrough in virtual reality |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116940915A true CN116940915A (zh) | 2023-10-24 |
Family
ID=82023045
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202180094367.2A Pending CN116940915A (zh) | 2020-12-22 | 2021-12-21 | 虚拟现实中的部分透视 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20220197382A1 (zh) |
EP (1) | EP4268059A1 (zh) |
JP (1) | JP2023554671A (zh) |
CN (1) | CN116940915A (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11184574B2 (en) | 2017-07-17 | 2021-11-23 | Facebook, Inc. | Representing real-world objects with a virtual reality environment |
WO2024085998A1 (en) * | 2022-10-21 | 2024-04-25 | Meta Platforms Technologies, Llc | Activation of partial pass-through on an artificial reality device |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120117514A1 (en) * | 2010-11-04 | 2012-05-10 | Microsoft Corporation | Three-Dimensional User Interaction |
WO2017039308A1 (en) * | 2015-08-31 | 2017-03-09 | Samsung Electronics Co., Ltd. | Virtual reality display apparatus and display method thereof |
US20190385372A1 (en) * | 2018-06-15 | 2019-12-19 | Microsoft Technology Licensing, Llc | Positioning a virtual reality passthrough region at a known distance |
-
2021
- 2021-10-11 US US17/498,284 patent/US20220197382A1/en active Pending
- 2021-12-21 EP EP21847615.8A patent/EP4268059A1/en not_active Withdrawn
- 2021-12-21 JP JP2023537489A patent/JP2023554671A/ja active Pending
- 2021-12-21 CN CN202180094367.2A patent/CN116940915A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
EP4268059A1 (en) | 2023-11-01 |
JP2023554671A (ja) | 2023-12-28 |
US20220197382A1 (en) | 2022-06-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11625103B2 (en) | Integration of artificial reality interaction modes | |
US20220121344A1 (en) | Methods for interacting with virtual controls and/or an affordance for moving virtual objects in virtual environments | |
US11107265B2 (en) | Holographic palm raycasting for targeting virtual objects | |
US11294475B1 (en) | Artificial reality multi-modal input switching model | |
US10222981B2 (en) | Holographic keyboard display | |
EP2946264B1 (en) | Virtual interaction with image projection | |
US11567625B2 (en) | Devices, methods, and graphical user interfaces for interacting with three-dimensional environments | |
CN116940915A (zh) | 虚拟现实中的部分透视 | |
US10558951B2 (en) | Method and arrangement for generating event data | |
WO2022140432A1 (en) | Partial passthrough in virtual reality | |
US20240281070A1 (en) | Simultaneous Controller and Touch Interactions | |
EP4414813A1 (en) | Facilitating system user interface interactions in an artificial reality environment | |
US20230011453A1 (en) | Artificial Reality Teleportation Via Hand Gestures | |
EP4414810A1 (en) | Facilitating user interface interactions in an artificial reality environment | |
EP4321974A1 (en) | Gesture locomotion in an artifical reality environment | |
WO2024173045A1 (en) | Simultaneous controller and touch interactions | |
WO2024085997A1 (en) | Triggering actions based on detected motions on an artificial reality device | |
WO2024064231A1 (en) | Devices, methods, and graphical user interfaces for interacting with three-dimensional 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 |