CN113260969A - 用于修改虚拟现实系统的安全边界的系统和方法 - Google Patents
用于修改虚拟现实系统的安全边界的系统和方法 Download PDFInfo
- Publication number
- CN113260969A CN113260969A CN201880100579.5A CN201880100579A CN113260969A CN 113260969 A CN113260969 A CN 113260969A CN 201880100579 A CN201880100579 A CN 201880100579A CN 113260969 A CN113260969 A CN 113260969A
- Authority
- CN
- China
- Prior art keywords
- virtual boundary
- world environment
- real
- elevation
- virtual
- 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 title claims abstract description 50
- 230000004044 response Effects 0.000 claims abstract description 10
- 238000012544 monitoring process Methods 0.000 claims abstract description 6
- 238000012545 processing Methods 0.000 claims description 50
- 238000003384 imaging method Methods 0.000 claims description 15
- 238000012790 confirmation Methods 0.000 claims description 3
- 238000012986 modification Methods 0.000 description 38
- 230000004048 modification Effects 0.000 description 38
- 230000033001 locomotion Effects 0.000 description 16
- 230000009471 action Effects 0.000 description 15
- 238000009877 rendering Methods 0.000 description 9
- 238000010586 diagram Methods 0.000 description 8
- 238000005259 measurement Methods 0.000 description 7
- 230000000007 visual effect Effects 0.000 description 7
- 230000008569 process Effects 0.000 description 6
- 230000003190 augmentative effect Effects 0.000 description 5
- 238000000926 separation method Methods 0.000 description 5
- 238000006073 displacement reaction Methods 0.000 description 4
- 210000003128 head Anatomy 0.000 description 4
- 238000005286 illumination Methods 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 238000012937 correction Methods 0.000 description 3
- 238000003702 image correction Methods 0.000 description 3
- 238000013507 mapping Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 239000007787 solid Substances 0.000 description 3
- 230000009466 transformation Effects 0.000 description 3
- 229920001621 AMOLED Polymers 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000004807 localization Effects 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 208000013057 hereditary mucoepithelial dysplasia Diseases 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000010422 painting Methods 0.000 description 1
Images
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/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
- G06T11/60—Editing figures and text; Combining figures or text
-
- G—PHYSICS
- G02—OPTICS
- G02B—OPTICAL ELEMENTS, SYSTEMS OR APPARATUS
- G02B27/00—Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
- G02B27/01—Head-up displays
- G02B27/017—Head mounted
-
- 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/011—Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
- G06F3/013—Eye tracking input arrangements
-
- 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/016—Input arrangements with force or tactile feedback as computer generated output to the user
-
- 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/033—Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
- G06F3/0346—Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor with detection of the device orientation or free movement in a 3D space, e.g. 3D mice, 6-DOF [six degrees of freedom] pointers using gyroscopes, accelerometers or tilt-sensors
-
- 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/04845—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 for image manipulation, e.g. dragging, rotation, expansion or change of colour
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/001—Texturing; Colouring; Generation of texture or colour
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
- G06T19/003—Navigation within 3D models or images
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/80—Geometric correction
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/50—Depth or shape recovery
- G06T7/55—Depth or shape recovery from multiple images
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
- G06T7/73—Determining position or orientation of objects or cameras using feature-based methods
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16H—HEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
- G16H40/00—ICT specially adapted for the management or administration of healthcare resources or facilities; ICT specially adapted for the management or operation of medical equipment or devices
- G16H40/60—ICT specially adapted for the management or administration of healthcare resources or facilities; ICT specially adapted for the management or operation of medical equipment or devices for the operation of medical equipment or devices
- G16H40/67—ICT specially adapted for the management or administration of healthcare resources or facilities; ICT specially adapted for the management or operation of medical equipment or devices for the operation of medical equipment or devices for remote operation
-
- G—PHYSICS
- G02—OPTICS
- G02B—OPTICAL ELEMENTS, SYSTEMS OR APPARATUS
- G02B27/00—Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
- G02B27/01—Head-up displays
- G02B27/0101—Head-up displays characterised by optical features
- G02B2027/0138—Head-up displays characterised by optical features comprising image capture systems, e.g. camera
-
- G—PHYSICS
- G02—OPTICS
- G02B—OPTICAL ELEMENTS, SYSTEMS OR APPARATUS
- G02B27/00—Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
- G02B27/01—Head-up displays
- G02B27/0101—Head-up displays characterised by optical features
- G02B2027/014—Head-up displays characterised by optical features comprising information/image processing systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10016—Video; Image sequence
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)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Software Systems (AREA)
- Computer Vision & Pattern Recognition (AREA)
- General Business, Economics & Management (AREA)
- General Health & Medical Sciences (AREA)
- Computer Graphics (AREA)
- Remote Sensing (AREA)
- Radar, Positioning & Navigation (AREA)
- Business, Economics & Management (AREA)
- Optics & Photonics (AREA)
- Epidemiology (AREA)
- Computer Hardware Design (AREA)
- Medical Informatics (AREA)
- Primary Health Care (AREA)
- Public Health (AREA)
- User Interface Of Digital Computer (AREA)
- Processing Or Creating Images (AREA)
- Geometry (AREA)
Abstract
所公开的计算机实现的方法可以包括接收表示现实世界环境的平面的参考高程的指示,并且相对于该参考高程建立虚拟世界环境的虚拟边界。该方法可以包括从用户接收修改虚拟边界的请求,并且响应于来自用户的请求,监控方向指示器的定向以生成定向数据。该方法还可以包括基于参考高程和定向数据修改虚拟边界。还公开了各种其他方法、系统和计算机可读介质。
Description
相关申请的交叉引用
本申请要求2018年10月31日提交的第16/177,424号美国非临时申请的权益,其公开内容通过引用以其整体并入。
背景
虚拟现实(VR)系统和增强现实(AR)系统可以使用户能够获得比普通电视或视频游戏可以提供的体验更具沉浸式体验。当佩戴头戴式显示器(HMD)时,用户可以简单地通过定向他或她的头部就像用户为了观看现实世界环境而自然地那样做一样,来观看捕获的场景或人工生成的场景的不同部分。该场景可以基于用户头部的位置(position)和定向来在HMD中呈现给用户,使得该场景基于用户头部的位置和定向的改变而改变。移动VR系统还可以考虑用户在现实世界环境中走动时的移动,使得用户感觉到他或她自己正在虚拟环境中移动。
虽然是沉浸的,但这些特征可允许用户以一种使用户忘记用户现实世界环境的重要方面的方式参与虚拟环境。例如,试图从虚拟环境中的一个位置走到另一个位置的用户可能由于用户缺乏对现实世界环境的意识而无法考虑(或看不见)现实世界的障碍,例如桌子、沙发或墙。这可能会导致与现实世界环境或现实世界环境中的特征发生碰撞。
概述
如将在下面更详细描述的,本公开描述了可使佩戴HMD设备的用户能够修改现实世界环境中的虚拟边界的系统和方法,该虚拟边界可用于防止与现实世界环境中的特征或障碍物的碰撞。
在一个示例中,用于修改虚拟边界的计算机实现的方法可以包括:(1)接收表示现实世界环境的平面的参考高程(reference elevation)的指示,(2)相对于参考高程建立虚拟世界环境的虚拟边界,(3)接收来自用户的修改虚拟边界的请求,(4)响应于来自用户的请求,监控方向指示器的定向以生成定向数据,以及(5)基于参考高程和定向数据修改虚拟边界。
在一些示例中,定向数据可以包括方向指示器相对于参考高程的高程的高程数据。修改虚拟边界可以包括确定平面和虚拟线之间的交点,该虚拟线在由高程数据指示的高程处以由定向数据指示的定向从用户设备延伸。
在一些示例中,该方法可以包括用头戴式显示系统的成像系统捕获现实世界环境的视图。捕获的视图可能有透镜引起的失真。该方法还可以包括校正捕获的视图中的透镜引起的失真以产生现实世界环境的补偿视图,将虚拟边界叠加在现实世界环境的补偿视图上,以及在边界修改状态期间在头戴式显示系统的显示器中显示现实世界环境的补偿视图。
在一些示例中,当虚拟边界满足最小面积阈值时,虚拟边界可以以成功颜色显示,并且当虚拟边界不满足最小面积阈值时,虚拟边界可以以警告颜色显示。在一些示例中,虚拟边界可以显示为由虚拟边界定义的填充形状(filled-in shape)。
在一些示例中,修改虚拟边界可以包括向虚拟边界添加部分或从虚拟边界减去部分。在一些示例中,该方法可以包括接收参考高程的确认。在一些示例中,该方法可以包括接收重置虚拟边界的指示。
在一些示例中,上述方法可以被编码为在计算机可读介质上的计算机可读指令。例如,计算机可读介质可以包括一个或更多个计算机可执行指令,当由计算设备的至少一个处理器执行时,这些指令可以使得计算设备(1)接收表示现实世界环境的平面的参考高程的指示,(2)相对于参考高程建立虚拟世界环境的虚拟边界,(3)监控方向指示器的定向以生成定向数据,以及(4)基于参考高程和定向数据修改虚拟边界。
在一些示例中,定向数据可以包括方向指示器相对于参考高程的高程的高程数据。修改虚拟边界可以包括确定平面和虚拟线之间的交点,该虚拟线在由高程数据指示的高程处以由定向数据指示的定向从方向指示器延伸。
在一些示例中,指令可以包括用于利用头戴式显示系统的成像系统捕获现实世界环境的视图的指令。所捕获的视图可能具有透镜引起的失真。指令可以包括用于校正所捕获的视图中的透镜引起的失真以产生现实世界环境的补偿视图、将虚拟边界作为由虚拟边界定义的填充形状叠加在现实世界环境的补偿视图上、以及在边界修改状态期间在头戴式显示系统的显示器中显示现实世界环境的补偿视图的指令。
在一些示例中,当虚拟边界满足最小面积阈值时,虚拟边界可以以成功颜色显示,并且当虚拟边界不满足最小面积阈值时,虚拟边界可以以警告颜色显示。
在一些示例中,修改虚拟边界可以包括向虚拟边界添加部分或从虚拟边界减去部分。在一些示例中,指令可以包括用于接收参考高程的确认的指令。在一些示例中,指令可以包括用于接收重置虚拟边界的指示的指令。
此外,头戴式显示系统可以包括固定到用户附接系统的显示器、方向指示器和处理系统。该处理系统可以被配置成(1)识别表示现实世界环境的平面的参考高程,(2)相对于该参考高程建立虚拟世界环境的虚拟边界,以及(3)基于参考高程和表征方向指示器的定向的定向数据来修改虚拟边界。
在一些示例中,处理系统可以进一步被配置成利用头戴式显示系统的成像系统来捕获现实世界环境的视图。捕获的视图可能有透镜引起的失真。处理系统还可以被配置成校正所捕获的视图中的透镜引起的失真,以产生现实世界环境的补偿视图,将虚拟边界作为由虚拟边界定义的填充形状叠加在现实世界环境的补偿视图上,并且在边界修改状态期间在头戴式显示系统的显示器中显示现实世界环境的补偿视图。
在一些示例中,当虚拟边界满足最小面积阈值时,虚拟边界可以以成功颜色显示,并且当虚拟边界不满足最小面积阈值时,虚拟边界可以以警告颜色显示。
在一些示例中,修改虚拟边界可以包括向虚拟边界添加部分或从虚拟边界减去部分。在一些示例中,定向数据可以包括方向指示器的高程的高程数据。修改虚拟边界可以包括确定平面和虚拟线之间的交点,该虚拟线在由高程数据指示的高程处以由定向数据指示的定向从用户设备延伸。
根据本文描述的一般原理,来自上面提到的实施例中的任一个的特征可以与彼此组合地被使用。当结合附图和权利要求阅读下面的详细描述时,这些和其他实施例、特征和优点将被更充分地理解。
在根据本发明的实施例中,一个或更多个计算机可读非暂时性存储介质可以体现软件,该软件在被执行时可操作来执行根据本发明或任何上面提到的实施例的方法。
在根据本发明的实施例中,一种系统可以包括:一个或更多个处理器;以及耦合到处理器并包括由处理器可执行的指令的至少一个存储器,处理器当执行指令时可操作来执行根据本发明或任何上面提到的实施例的方法。
在根据本发明的实施例中,一种优选地包括计算机可读非暂时性存储介质的计算机程序产品当在数据处理系统上被执行时可操作来执行根据本发明或任何上面提到的实施例的方法。
根据本发明的实施例在所附权利要求中具体公开,所附权利要求涉及一种方法、存储介质和头戴式显示器(HMD),其中在一个权利要求类别(例如方法)中提到的任何特征也可以在另一个权利要求类别(例如HMD、系统和计算机程序产品)中要求保护。在所附权利要求中的从属性或往回引用仅为了形式原因而被选择。然而,也可以要求保护由对任何前面权利要求的有意往回引用(特别是多项引用)而产生的任何主题,使得权利要求及其特征的任何组合被公开并可被要求保护,而不考虑在所附权利要求中选择的从属性。可以被要求保护的主题不仅包括如在所附权利要求中阐述的特征的组合,而且还包括在权利要求中的特征的任何其他组合,其中,在权利要求中提到的每个特征可以与在权利要求中的任何其他特征或其他特征的组合相结合。此外,本文描述或描绘的实施例和特征中的任一个可以在单独的权利要求中和/或以与本文描述或描绘的任何实施例或特征的任何组合或以与所附权利要求的任何特征的任何组合被要求保护。
附图简述
附图示出了许多示例性实施例,并且是说明书的一部分。这些附图连同下面的描述一起展示并解释了本公开的各种原理。
图1是根据本公开的各方面的用于相对于现实世界环境修改虚拟边界的示例性方法的流程图。
图2是根据本公开的方面的示例性头戴式显示器(HMD)系统的框图。
图3是根据本公开的各方面的可包括在图2的HMD系统中的示例性HMD设备的透视图。
图4是根据本公开的各方面的可包括在图2的HMD系统中的示例性手持控制器的透视图。
图5A和图5B分别呈现了根据本公开的各方面的用户在现实世界环境中佩戴图3的HMD设备并手持图4的手持控制器的透视图和俯视图。
图6A和图6B分别呈现了根据本公开的各方面的用户与现实世界环境的再现进行交互以产生虚拟安全边界的透视图和俯视图。
图6C是描绘根据本公开的各方面的用于与现实世界环境交互以定义虚拟边界的系统的图。
图7A和图7B分别呈现了根据本公开的各方面的用户继续与现实世界环境的再现交互以产生虚拟边界的透视图和俯视图。
图8A和图8B分别呈现了根据本公开的各方面的用户与定义的虚拟边界交互的透视图和俯视图。
图9是根据本公开的各方面的包含对应于一组预定义虚拟边界的一组物理定义的存储器设备的图。
在所有附图中,相同的参考符号和描述表示相似但不一定相同的元素。虽然本文描述的示例性实施例易于进行各种修改和替代形式,但是特定实施例已经通过附图中的示例示出,并且将在本文详细描述。然而,本文描述的示例性实施例不旨在限于所公开的特定形式。更确切地,本公开覆盖了落入所附权利要求的范围内的所有修改、等同物和替代物。
示例性实施例的详细描述
本公开大体上涉及允许用户相对于用户的现实世界环境和/或虚拟环境修改虚拟边界的系统和方法。如下文将更详细解释的,本公开的实施例可以允许用户通过使用例如手持控制器、手指、眼睛凝视或其他方向指示器来修改现实世界环境的地板上的虚拟边界。用户可以“绘制”(例如,使用方向指示器虚拟地绘制)对虚拟边界的修改。当用户佩戴HMD设备时,可以通过设置在HMD设备上的一个或更多个相机来提供现实世界环境的视图。这些相机可以允许显示现实世界环境的直通视图(pass-through view),就好像用户没有佩戴HMD设备一样。以这种方式,用户可以看到环境的特征和要避开的障碍物,并且可以定义和修改与这些特征相距安全距离的虚拟边界。
在一些实施例中,用户可以使用方向指示器来指向现实世界环境的地板上的定位(location)。例如,HMD系统可以包括可用于指向地板的手持控制器。处理子系统可以使用手持控制器的位置和定向信息来标识地板上的特定点,例如通过使用手持控制器在地板上的高度和手持控制器的定向。在边界修改状态期间,虚拟边界可以显示在地板上,并且在用户修改地板上的虚拟边界时,虚拟线可以向用户显现,以从手持控制器向地板延伸,从而向用户提供视觉反馈。
在修改虚拟边界之后,每当用户进入虚拟边界的阈值距离内时,可以在HMD设备中向用户呈现虚拟边界的指示和/或从虚拟边界导出的边界壁,以使用户意识到现实世界环境和/或防止用户绊倒、跌倒或撞倒对象。依靠虚拟边界,用户可以保持HMD设备开启并在现实世界环境中安全地移动,以便在操作状态期间更好地参与呈现给用户的虚拟环境。本文描述的方面可以通过提供安全特征而不需要额外的传感器或专用硬件来改进VR和AR技术。此外,本文描述的方面可以通过提供可以在不需要额外资源的情况下实现的安全特征来改善计算机的功能。例如,安全特征可以在不需要来自计算机的大量处理和存储器资源的情况下实现,因此不会对计算性能产生负面影响。
参考图1-9,下面将提供系统和方法的详细描述,这些系统和方法允许用户相对于现实世界环境修改他或她自己的虚拟边界,并使用该虚拟边界向用户提供视觉和/或听觉指示,以使用户在意外碰撞的风险变得太高时意识到现实世界环境。图1示出了修改虚拟边界的示例性过程。图2示出了示例性VR系统。图3示出了示例性HMD设备。图4示出了示例性方向指示器。图5A-图5B示出了使用示例性AR系统的用户。图6A-图6C示出了用户可以如何与现实世界环境的再现进行交互。图7A-图7B示出了用户可以如何修改虚拟边界。图8A-图8B示出了用户可以如何与虚拟边界交互。图9示出了VR系统的示例性存储器设备。
图1是用于修改虚拟边界的示例性计算机实现的方法100的流程图。图1所示的步骤可以由任何合适的计算机可执行代码和/或计算系统(包括图2-图4所示的系统)来执行。在一个示例中,图1所示的每个步骤可以表示其结构包括多个子步骤和/或由多个子步骤表示的算法,其示例将在下面更详细地提供。
如图1所示,在步骤110,本文描述的一个或更多个系统可以接收表示现实世界环境的平面的参考高程的指示。例如,如图2所示,HMD系统200的处理子系统210可以接收参考高程的指示。
在一些实施例中,术语“参考高程”可以指与现实世界环境中的参考平面相对应的高程,该高程可以用于确定方向指示器所指向的点/定位。在一些实施例中,参考高程可以是对应于现实世界环境的基平面的基线高程。术语“基平面”可以指用户在现实世界环境中可能遇到的最低高程。基平面的示例包括但不限于地板、桌子、地面等。基线高程可以表示基平面的高程,并且可以被定义为垂直于地板。VR系统的虚拟边界可以相对于参考高程和/或相应平面来定义和/或修改。图2示出了可以利用虚拟边界的示例性VR系统。
图2是HMD系统200的一个实施例的框图,其向用户呈现场景(例如,捕获的场景、人工生成的场景或其组合)。HMD系统200可以在虚拟现实(VR)系统环境、增强现实(AR)系统环境、混合现实(MR)系统环境或它们的某种组合中操作。图2所示的HMD系统200可以包括HMD设备205,其包括处理子系统210和输入/输出(I/O)接口215或者与处理子系统210和输入/输出(I/O)接口215通信。在一些实施例中,HMD设备205可以完全阻挡用户对现实世界环境的观看。其他实施例可以仅部分阻碍用户对现实世界环境的观看和/或可以阻碍用户的观看,这取决于HMD设备205的显示器中显示的内容。
虽然图2示出了包括至少一个HMD设备205和至少一个I/O接口215的示例性HMD系统200,但是在其他实施例中,HMD系统200中可以包括任意数量的这些组件。例如,可以有多个HMD 205,每个HMD 205具有相关联的I/O接口215,每个HMD设备205和I/O接口215与处理子系统210通信。在处理子系统210不包括在HMD设备205内或与其集成的实施例中,HMD设备205可以通过有线连接或无线连接与处理子系统210通信。在替代配置中,HMD系统200中可以包括不同的和/或附加的组件。此外,在一些实施例中,结合图2所示的一个或更多个组件描述的功能可以以不同于结合图2描述的方式分布在组件中。
HMD设备205可以向用户呈现各种内容,包括人工再现的虚拟世界环境的虚拟视图和/或用计算机生成的元素增强的物理、现实世界环境的增强视图(例如,二维(2D)或三维(3D)图像、2D或3D视频、声音等)。在一些实施例中,所呈现的内容包括经由内部或外部设备(例如,扬声器和/或头戴式耳机)呈现的音频,该内部或外部设备从HMD设备205、处理子系统210或两者接收音频信息,并基于该音频信息来呈现音频数据。在一些实施例中,这种扬声器和/或头戴式耳机可以集成到HMD设备205中或者可释放地联接或附接到HMD设备205。HMD设备205可以包括可以刚性或非刚性地联接在一起的一个或更多个主体。刚性主体之间的刚性联接可以使所联接的刚性主体充当单个刚性实体。相反,在刚性主体之间的非刚性联接可以允许刚性主体相对于彼此移动。HMD设备205的一个实施例是图3所示的HMD设备300,并在下面进一步详细描述。
在一些示例中,HMD设备205可以包括深度感测子系统220(或深度相机系统)、电子显示器225、包括一个或更多个相机的图像捕获子系统230、一个或更多个位置传感器235和/或惯性测量单元(IMU)240。HMD设备205的其他实施例可以包括可选的眼睛跟踪或凝视估计系统,其被配置为跟踪HMD设备205的用户的眼睛以估计用户的凝视。可选的变焦模块可以被配置为基于从眼睛跟踪系统和其他组件获得的确定的眼睛跟踪信息来调整显示在电子显示器225上的一个或更多个图像的焦点。HMD设备205的一些实施例可以具有不同于结合图2描述的组件。
深度感测子系统220可以捕获描述深度信息的数据,该深度信息表征围绕HMD设备205的一些或全部的局部现实世界区域或环境,和/或表征深度感测子系统220(以及由此HMD设备205)在局部区域内的位置、速度或定位。深度感测子系统220可以使用收集的数据(例如,根据一个或更多个计算机视觉方案或算法基于捕获的光,通过处理一部分结构光图案,通过飞行时间(ToF)成像,同时定位和地图构建(SLAM)等)来计算深度信息或者深度感测子系统220可以将该数据传输到另一个设备,例如处理子系统210的外部实现,其可以使用来自深度感测子系统220的数据来确定深度信息。
电子显示器225可以根据从处理子系统210接收的数据向用户显示二维或三维图像。在各种实施例中,电子显示器225包括单个电子显示器或多个电子显示器(例如,用于用户每只眼睛的显示器)。电子显示器225的示例可以包括:液晶显示器(LCD)、有机发光二极管(OLED)显示器、无机发光二极管(ILED)显示器、有源矩阵有机发光二极管(AMOLED)显示器、透明有机发光二极管(TOLED)显示器、另一种合适的显示器或它们的某种组合。电子显示器225可以是不透明的,使得用户不能通过电子显示器225看到本地环境。
图像捕获子系统230可以包括一个或更多个光学图像传感器或相机,其从本地环境捕获和收集图像数据。在一些实施例中,图像捕获子系统230中包括的传感器可以提供本地环境的立体视图,处理子系统210可以使用该立体视图来生成表征本地环境和/或HMD设备205在本地环境中的位置和定向的图像数据。例如,图像捕获子系统230可以包括同时定位和地图构建(SLAM)相机或包括广角镜头系统的其他相机,该广角镜头系统捕获比用户的眼睛可以捕获的视野更宽的视野。如本文所述,当HMD系统200处于边界定义状态时,图像捕获子系统230可以提供现实世界环境的直通视图,该直通视图经由电子显示器225向用户显示。
在一些实施例中,处理子系统210可以处理由图像捕获子系统230捕获的图像,以消除由图像捕获子系统230的透镜系统和/或因两个图像传感器之间的间隔距离明显大于或明显小于用户眼睛之间的平均间隔距离而引起的失真。例如,当图像捕获子系统230是SLAM相机系统或者是SLAM相机系统的一部分时,来自图像捕获子系统230的直接图像如果以未校正的格式示出则对于用户来说可能看起来是失真的。图像校正或补偿可以由处理子系统210执行,以校正图像并以更自然的外观呈现给用户,使得其对用户来说看起来好像用户通过HMD设备205的电子显示器225观看。在一些实施例中,图像捕获子系统230可以包括具有适合(在视场、间隔距离等方面)提供本地环境的直通视图的透镜的一个或更多个图像传感器。图像捕获子系统230可以捕获彩色图像或单色图像。
在一些示例中,IMU 240可以表示电子子系统,该电子子系统基于从一个或更多个位置传感器235接收的测量信号和从深度感测子系统220和/或图像捕获子系统230接收的深度信息,来生成指示HMD设备205的位置和/或定向的数据。例如,位置传感器235可以响应于HMD设备205的运动而生成一个或更多个测量信号。位置传感器235的示例包括:一个或更多个加速度计、一个或更多个陀螺仪、一个或更多个磁力计、检测运动的另一合适类型的传感器、用于IMU 240的误差校正的一种类型的传感器、或者它们的某种组合。位置传感器235可以位于IMU 240的外部、IMU 240的内部或者这两种位置的某种组合。
基于来自一个或更多个位置传感器235的一个或更多个测量信号,IMU 240可以生成指示HMD设备205相对于HMD设备205的初始位置和/或定向的估计的当前位置、高程和/或定向的数据。例如,位置传感器235可包括测量平移运动(向前/向后、向上/向下、向左/向右)的多个加速度计和测量旋转运动(例如,俯仰、偏航、横滚)的多个陀螺仪。如本文所述的,图像捕获子系统230和/或深度感测子系统220可以生成指示HMD设备205相对于现实世界环境(HMD设备205在其中被使用)的估计的当前位置和/或定向的数据。
I/O接口215可以代表允许用户发送动作请求和从处理子系统210和/或方向指示器270接收响应的子系统或设备。在一些实施例中,方向指示器270可以包括手持控制器或其他设备,其可以由用户操纵以向I/O接口215提供输入,例如由方向指示器270的传感器感测的定向和/或位置数据。在其他实施例中,方向指示器270可以向I/O接口215提供被动输入。例如,方向指示器270可以包括用户的手指或手、手套或其他可佩戴的物体、手持物体、用户的眼睛和/或凝视、和/或可以由HMD系统200的传感器检测以确定相对于方向指示器270的定向和/或位置数据的另一个用户可操纵的物体。在一些实施例中,I/O接口215可以促进与多于一个方向指示器270的通信。例如,用户可以有两个方向指示器270,每只手一个。在一些示例中,动作请求可以表示执行特定动作的请求。例如,动作请求可以是开始或结束图像或视频数据的捕获的指令,或者是在应用内执行特定动作或开始或结束边界定义状态的指令。I/O接口215可以包括一个或更多个输入设备,或者能够与一个或更多个输入设备通信。示例性输入设备可以包括键盘、鼠标、手持控制器或用于接收动作请求并将动作请求传送给处理子系统210的任何其他合适的设备。
由I/O接口215接收的动作请求可以被传递到处理子系统210,处理子系统可以执行对应于动作请求的动作。在一些实施例中,方向指示器270包括IMU 240,其捕获指示方向指示器270相对于初始位置的估计位置的惯性数据。在一些实施例中,I/O接口215和/或方向指示器270可以根据从处理子系统210和/或HMD设备205接收的指令向用户提供触觉反馈。例如,当接收到动作请求或处理子系统210向I/O接口215传送指令以使得I/O接口215在处理子系统210执行动作时生成或直接生成触觉反馈时,提供触觉反馈。
处理子系统210可以包括一个或更多个处理设备或物理处理器,其根据从深度感测子系统220、图像捕获子系统230、I/O接口215和方向指示器270中的一个或更多个接收的信息向HMD设备205提供内容。在图2所示的示例中,处理子系统210包括引擎260、应用储存器250和跟踪模块255。处理子系统210的一些实施例具有不同于结合图2描述的模块或组件。类似地,下面进一步描述的功能可以以不同于结合图2描述的方式在HMD系统200的组件之间分配。
应用储存器250可以存储由处理子系统210执行的一个或更多个应用。在一些示例中,应用可以表示一组指令,其当由处理器执行时生成用于显现给用户的内容。由应用生成的内容可以响应于经由HMD设备205或方向指示器270的移动从用户接收的输入而生成。应用的示例包括:游戏应用、会议应用、视频回放应用或其他合适的应用。
跟踪模块255可以使用一个或更多个校准参数来校准HMD系统200,并且可以调整一个或更多个校准参数以减少在确定HMD设备205或方向指示器270的位置时的误差。例如,跟踪模块255可以向深度感测子系统220传送校准参数,以调整深度感测子系统220的焦点,从而更精确地确定由深度感测子系统220捕获的结构光元件的位置。由跟踪模块255执行的校准还可以考虑从HMD设备205中的IMU 240和/或方向指示器270中包括的另一个IMU 240接收的信息。另外,如果HMD设备205的跟踪丢失(例如,深度感测子系统220丢失至少阈值数量的结构光元件的视线),跟踪模块255可以重新校准HMD系统200的一些或全部。
跟踪模块255可以使用来自深度感测子系统220、图像捕获子系统230、一个或更多个位置传感器235、IMU 240或它们的某种组合的信息来跟踪HMD设备205或方向指示器270的移动。例如,跟踪模块255可以基于用HMD设备205收集的信息来确定HMD设备205的参考点在现实世界环境的映射中的位置。另外,在一些实施例中,跟踪模块255可以使用指示来自IMU 240的HMD设备205和/或方向指示器270的位置和/或定向的数据部分来预测HMD设备205和/或方向指示器270的未来位置和/或定向。跟踪模块255还可以向引擎260提供HMD设备205或I/O接口215的估计或预测的未来位置。
在一些实施例中,跟踪模块255可以跟踪深度感测子系统220、图像捕获子系统230和/或另一系统可以观察到的其他特征。例如,跟踪模块255可以跟踪用户的一只手或两只手,使得用户的手在现实世界环境中的定位可以被知道和利用。跟踪模块255可以接收和处理数据,以便确定例如当方向指示器270包括用户的手时用户的一只手的手指的指向。跟踪模块255还可以从HMD设备205的一些实施例中包括的一个或更多个眼睛跟踪相机接收信息,以跟踪用户的凝视。
图像处理引擎260可以基于从HMD设备205接收的信息,生成围绕HMD设备205的一些或全部的区域(即,“局部区域”或“现实世界环境”)的三维映射。在一些实施例中,引擎260基于从深度感测子系统220接收的与计算深度中使用的技术相关的信息来确定局部区域的三维映射的深度信息。引擎260可以使用从结构光计算深度的一种或更多种技术来计算深度信息。在各种实施例中,引擎260使用深度信息来例如更新局部区域的模型,并部分基于更新的模型生成内容。
引擎260还可以在HMD系统200内执行应用,并从跟踪模块255接收HMD设备205的位置信息、加速度信息、速度信息、预测的未来位置或它们的某种组合。基于接收到的信息,引擎260可以确定要提供给HMD设备205以呈现给用户的内容。例如,如果接收到的信息指示用户已经向左看,则引擎260为HMD设备205生成内容,该内容对应于用户在虚拟环境中或在用附加内容增强局部区域的环境中的移动。另外,引擎260可以响应于从I/O接口215和/或方向指示器270接收的动作请求,在处理子系统210上执行的应用内执行动作,并且向用户提供该动作被执行的反馈。所提供的反馈可以是经由HMD设备205的视觉或听觉反馈,或者经由方向指示器270的触觉反馈。
回到图1,本文描述的系统可以以多种方式执行步骤110。在一个示例中,参考高程可能已经预先建立并存储。在其他示例中,参考高程可以由用户设置,例如通过使用HMD设备300和/或手持控制器400来定义和/或确认参考高程。例如,HMD系统200可以从HMD设备300和/或手持控制器400接收参考高程的指示。
图3是根据HMD设备205的一个实施例的HMD设备300的示意图。HMD设备300可以包括成像子系统和深度感测子系统。HMD设备300可以是例如VR系统、AR系统、MR系统或其某种组合的一部分。在描述AR系统和/或MR系统的实施例中,HMD设备300的前侧302的部分在可见光波段(约380纳米(nm)至750nm)至少部分透明。更具体地,HMD设备300的位于HMD设备300的前侧302和用户的眼睛之间的部分可以是至少部分透明的(例如,部分透明的电子显示器225)。在其他实施例中,前侧302是不透明的,防止用户看到现实世界的环境。HMD设备300可以包括容纳电子显示器225和其他组件的前刚性主体305、将HMD设备300固定到用户头部的用户附接系统例如带310、以及可以表征HMD设备300的位置和/或定向的参考点315。
此外,HMD设备300可以包括成像孔320和照明孔325。深度感测子系统220中包括的照明源可以通过照明孔325发射光(例如,结构光)。深度感测子系统220的成像设备可以捕获来自照明源的光,该光从局部区域反射或反向散射通过成像孔320。HMD设备300的实施例还可以包括相机340A和340B,它们可以是图2的图像捕获子系统230的组件。相机340A和340B可以以不同于用户眼睛之间的平均间隔距离的距离彼此分离。
前刚性主体305可包括一个或更多个电子显示元件、一个或更多个集成眼睛跟踪系统、IMU 330、一个或更多个位置传感器335和参考点315。IMU 330可以代表基于从一个或更多个位置传感器335接收的测量信号产生快速校准数据的电子设备。位置传感器335可以响应于HMD设备300的运动产生一个或更多个测量信号。
图4是根据一些实施例的示例性手持控制器400的透视图,该手持控制器400可以是包括在图2的HMD系统200中的方向指示器270的实施例。HMD系统200可以包括一个或更多个手持控制器,如控制器400。例如,HMD系统200可以包括两个手持控制器400,用户的右手和左手每个有一个手持控制器400。每个手持控制器400可以通信地耦合到HMD设备205和/或计算设备(例如,个人计算机、处理子系统210等)。手持控制器400可以通过任何合适的无线和/或有线连接通信耦合到HMD设备205。
如图4所示,手持控制器400可以包括尺寸适合用户的手的握持部(grip)402。手持控制器400还可以包括跟踪环404,用于跟踪手持控制器400相对于HMD设备205和/或相对于现实世界环境的位置、定向和/或移动。在一些实施例中,跟踪环404可以包括一个或更多个跟踪灯,例如跟踪灯406的阵列。跟踪灯406的阵列可以包括跟踪LED(例如,红外(IR)LED),用于运动和位置跟踪目的,以在使用HMD系统200时提供360度运动控制。跟踪灯406可用于确定控制器400的定向,使得可以识别与现实世界环境的地板的交点,以便“绘制”虚拟边界。控制器400可以包括控制器400的任何合适部分上的跟踪灯。在一些示例中,手持控制器400的跟踪灯406可以发射波长大于约700nm且小于约900nm的光。在一个实施例中,手持控制器400的跟踪灯406可以发射波长大约为850nm(例如,在大约840nm和860nm之间或者在大约830nm和870nm之间)的光。在至少一个实施例中,相机340A和340B可以接收由手持控制器400上的跟踪灯406发射的光,并且跟踪模块255可以利用接收到的光来确定手持控制器400相对于HMD设备205和/或另一参考系(例如现实世界环境的参考系)的定位、定向和/或移动。
为了定义参考高程,用户可以与HMD系统200交互。例如,可以提示用户将手持控制器400定位成与地板接触,这可以提供现实世界环境的基平面。参考高程可以垂直于地板定义。在一些实施例中,HMD设备300的组件可以基于HMD设备300的定向和表征从HMD设备300到地板的距离的一个或更多个深度测量结果来确定地板上方的高度。例如,HMD系统200可以提示用户查看现实世界环境的地板,作为虚拟边界定义过程的一部分。
一些实施例可以进一步包括接收参考高程的确认。可以向用户呈现参考高程的指示。例如,HMD系统200可以示出与参考高程和/或HMD设备300距参考高程的当前高度相关联的平面的视觉表示。然后,用户可以如上所述确认参考高程或定义/重新定义参考高程。
回到图1,在步骤120,本文描述的一个或更多个系统可以相对于参考高程建立虚拟世界环境的虚拟边界。例如,处理子系统210和/或HMD设备205和/或HMD设备300可以基于来自方向指示器270和/或控制器400的输入或者基于检索先前定义的虚拟边界来确定虚拟边界。
在一些实施例中,术语“虚拟边界”可以指相对于用户的现实世界环境和/或虚拟环境定义的边界。虚拟边界的示例包括但不限于本文描述的安全边界,该安全边界可以定义远离用户在VR和/或AR体验期间可能遇到的现实世界环境中的障碍物的安全距离。其他虚拟边界可以包括指示用于被传感器检测的理想定位的边界、用于限制用户在现实世界环境中的移动的边界、可以用于在虚拟环境中放置和/或清除障碍物的边界、以及用于其他用途的边界。
本文描述的系统可以以多种方式执行步骤120。在一个示例中,虚拟边界可以从先前存储的设置(例如默认设置)或存储在HMD系统200中的先前用户动作加载。在其他示例中,用户可以使用例如HMD系统200来定义虚拟边界。
图5A和图5B分别呈现了根据一些实施例,在现实世界环境500(例如起居室)中佩戴图3的HMD设备300并手持图4的手持控制器400的用户的透视图和俯视图。现实世界环境500可以包括也被称为地板502的基平面502,以及统称为墙壁504的墙壁504A、504B、504C和504D。现实世界环境500还可以包括房间内的多个对象或特征,当用户的视线被HMD设备300遮挡时,这些对象或特征会造成碰撞风险。例如,环境500可以包括具有突出的壁炉架506B的壁炉506A、桌子506C和搁板506D。如图5B所示,环境500还可以包括沙发506E。对象和特征506A、506B、506C、506D和506E可以与墙壁504一起被称为现实世界环境500的特征506。
在一些实施例中,用户可以在现实世界环境500内移动,以便在HMD设备300中显示的虚拟环境内移动。换句话说,当用户在现实世界环境500中移动时,HMD设备300的电子显示器225中所示的图像可以基于用户的移动来更新。因此,当用户在现实世界环境500中移动时,用户相对于虚拟环境移动。如下文更详细描述的,本文描述的系统和方法的实施例可使用户能够定义虚拟边界,该虚拟边界可用于当(例如,由于HMD设备300对用户的现实世界视图的遮挡而导致)用户看不到现实世界环境时,防止用户与任何特征506碰撞。
图6A和图6B分别呈现了根据一些实施例的用户与图5A和图5B的现实世界环境500的再现600交互以产生虚拟边界或安全边界的透视图和俯视图。因为用户对现实世界环境500的视线可能被HMD设备300完全或部分遮挡,所以现实世界环境500的再现600可以在HMD设备300的电子显示器225中提供给用户。再现600可以由图像捕获子系统230产生,以提供现实世界环境500的直通视图。在一些实施例中,处理子系统210可以对图像捕获子系统230捕获的图像执行图像校正,以消除失真并提供现实世界环境500的改进视图。例如,处理子系统210可以执行图像校正以减轻由相机340A和340B的透镜和/或相机340A和340B之间的间隔距离引起的失真。
如图6A所示,在用户可以定义虚拟边界的边界定义状态期间,用户可以利用控制器400作为指针或方向指示器来选择交叉点602。交叉点602可以被定义为地板502和由控制器400的定向和位置定义的虚拟线604之间的交点的定位,控制器400由用户握持和操纵。虚拟线604可以在HMD设备300中向用户显示,使得用户可以在地板502上画出虚拟边界606。当用户操纵控制器400时,一系列交叉点(如交叉点602)可以被组合以形成沿着地板502延伸的虚拟边界606。图6B示出了现实世界环境500的再现600内的俯视图,其描绘了交叉点602、虚拟线604和虚拟边界606。
图6C是示出根据一些实施例的可以如何定义交叉点602的示意图。手持控制器在现实世界环境500中的位置和定向可以基于包括在手持控制器400中的子系统(例如IMU和/或位置跟踪器)来确定。在一些情况下,用户可以被显示在HMD设备300中的消息指示将手持控制器400放置成与基平面或地板502接触,以准备边界定义过程。然后,用户可以激活控制器400上的按钮或保持控制器400静止预定的时间量,以向HMD系统200指示控制器400与地板502接触。然后,用户可以被引导站立,使得HMD设备300和控制器400都被移动远离地板502位移D1,该位移D1可以用作控制器400对于地板502的高度或高程。在一些实施例中,HMD设备300可以确定其在地板502上方的高程以及HMD设备300和手持控制器400之间的距离。例如,深度感测子系统220可以使用结构光或者通过使用立体图像的三角测量估计来确定从地板502到HMD设备300的距离。HMD设备300和手持控制器400之间的距离可以从HMD设备300在地板502上方的高度减去,以确定手持控制器400的位移D1或高程。控制器400的定向可用于确定控制器400的轴线与地板502形成的角度A1。使用控制器400的定位、位移D1和角度A1,虚拟线604和地板502之间的交叉的点可以用作交叉点602。通过操纵控制器400,可以识别多个交叉点602,并且这些点602可以被连接以形成虚拟边界606。尽管图6C将地板502示为参考高程,但是在其他实施例中,参考高程可以相对于现实世界环境中的另一个平面来定义。
回到图1,在步骤130,本文描述的一个或更多个系统可以从用户接收修改虚拟边界的请求。例如,HMD系统200可以经由控制器400从用户接收修改虚拟边界的请求。
在一些实施例中,HMD系统200可以进入边界修改状态,以监控用于修改虚拟边界的输入。术语“边界修改状态”可以指用户可以修改虚拟边界的状态或阶段。边界修改状态可以是与其间可以定义虚拟边界的边界定义状态相同或相似的阶段,或者是单独的阶段。边界修改状态可以是HMD系统200专用于修改虚拟边界的特定模式。可替代地,边界修改状态可以与HMD系统200的其他操作状态结合。
本文描述的系统可以以多种方式执行步骤130。在一个示例中,可以通知用户虚拟边界可能不充分,并且用户可以相应地启动边界修改状态。可以以各种方式通知用户虚拟边界的不足。例如,用户可以例如通过HMD设备300接收视觉或听觉通知。该通知可以是图标或者可以是更健壮的视觉指示器。
在一些示例中,该系统还可以利用头戴式显示系统的成像系统捕获现实世界环境的视图。捕获的视图可能有透镜引起的失真。该系统可以校正捕获的视图中的透镜引起的失真,以产生现实世界环境的补偿视图。系统可以将虚拟边界叠加在现实世界环境的补偿视图上,并且在边界修改状态期间,在头戴式显示系统的显示器中显示现实世界环境的补偿视图。图7A和图7B示出了呈现给用户的现实世界环境的补偿视图的示例性场景。
图7A和图7B分别呈现了根据一些实施例的用户与现实世界环境500的再现600交互以产生虚拟边界606的透视图和俯视图。虚拟边界606可以定义边界区域608。边界区域608可以例如由HMD设备300显示为由虚拟边界606定义的填充形状。边界区域608可以类似于虚拟边界606显示,例如纯色,或者可以是对应于虚拟边界606的阴影或半透明颜色。
在一些示例中,由虚拟边界606定义的面积,例如边界区域608,可以与最小面积阈值进行比较。最小面积阈值可以对应于最小面积,例如最小平方英尺,在该最小面积中,可以期望用户在现实世界环境中安全地操作VR和/或AR系统。最小面积阈值可以是预定值或默认值,或者可以在现实世界环境中动态确定。最小面积阈值可以包括尺寸限制,例如最小和/或最大长度和/或宽度。
在一些示例中,最小面积阈值可以明确地呈现给用户,例如最小面积阈值要满足或需要的平方英尺量。在其他示例中,最小面积阈值可以通过在满足最小面积阈值时以成功颜色显示边界区域,或者在不满足最小面积阈值时以警告颜色显示边界区域,来表示。例如,当满足最小面积阈值时,虚拟边界606和/或边界区域608可以显示为绿色,当不满足最小面积阈值时,虚拟边界606和/或边界区域608可以显示为红色。
当看到虚拟边界606不满足最小面积阈值时,用户可以启动边界修改状态来修改虚拟边界。可替代地,如果不满足最小面积阈值,则可以自动启动边界修改状态。例如,在边界定义状态期间,如果虚拟边界606不满足最小面积阈值,则可以自动启动边界修改状态。此外,用户可能出于其他原因启动边界修改状态。例如,现实世界环境可能已经改变,或者例如如果用户喜欢更小或更大的边界区域,用户可能希望微调虚拟边界。
回到图1,在步骤140,本文描述的一个或更多个系统可以响应于来自用户的请求,监控方向指示器的定向以生成定向数据。例如,处理子系统210和/或HMD设备205和/或HMD设备300可以基于来自方向指示器270和/或控制器400的输入来确定定向数据。在一些示例中,定向数据可以包括附加输入数据和/或与附加输入数据相关联。例如,定向数据可以包括方向指示器相对于参考高程的高程数据。定向数据可以包括方向指示器的位置数据。
本文描述的系统可以以多种方式执行步骤140。在一个示例中,手持控制器400在现实世界环境500中的位置和定向可以基于包括在手持控制器400中的子系统(例如IMU和/或位置传感器)来确定。如上参考图6C所述,可以监控D1以确定高程数据,并且可以监控A1以确定定向数据。可替代地,可以从控制器400外部的传感器,例如现实世界环境500中观察控制器400的相机,来确定高程数据和定向数据。
回到图1,在步骤150,本文描述的一个或更多个系统可以基于参考高程和定向数据来修改虚拟边界。例如,处理子系统210和/或HMD设备205和/或HMD设备300可以基于来自方向指示器270和/或控制器400的高程数据和定向数据以及参考高程来修改虚拟边界。
本文描述的系统可以以多种方式执行步骤150。在一个示例中,可以确定平面和虚拟线之间的交点,该虚拟线在由高程数据指示的高程以由定向数据指示的定向从用户设备延伸。如图6C所示,控制器400的定位、D1和A1可以定义虚拟线604开始的位置,并且虚拟线604和地板502之间的交叉的点可以定义交叉点602。类似于多个交叉点602如何定义虚拟边界606,对虚拟边界606的修改可以由一个或更多个交叉点602来定义。交叉点602可以定义虚拟边界606的延伸。
虚拟边界可以以各种方式修改。例如,图7A和图7B示出了如何可以修改虚拟边界606。虚拟边界606可能不满足最小面积阈值,并且边界区域608可以以警告颜色显示。用户可以操纵控制器400来定义修改线610,修改线610可以由一个或更多个交叉点602来定义。尽管在图7A和图7B中未完整示出,但修改线610可以描绘包围边界区域608的区域,以便满足最小面积阈值。
可以通过向虚拟边界添加部分来修改虚拟边界。例如,虚拟边界606的部分可以被扩展以向边界区域608添加附加区域。附加区域可以连接到边界区域608,例如连接到边界区域608的一侧,或者可以是与边界区域608相关联的断开连接的或以其他方式不连续的区域。附加区域可以部分或完全包围边界区域608。
在其他示例中,修改虚拟边界可以包括从虚拟边界中减去部分。例如,边界修改状态可以包括用于添加部分的添加状态和用于从虚拟边界移除部分的减去状态。用户可以在添加状态和减去状态之间切换,以将虚拟边界定义和修改为期望的形状。例如,用户可以使用控制器400来进入添加状态,并向虚拟边界606绘制添加部分。用户可以使用控制器400进入减去状态,并从虚拟边界606切出部分。
在另外其他示例中,修改虚拟边界可以通过重置虚拟边界来实现。例如,用户可以发送重置虚拟边界的指示。用户然后可以从空状态定义虚拟边界。可替代地,用户可以撤销/重做一个或更多个修改。
可以将修改后的虚拟边界与最小面积阈值进行比较。该比较可以动态发生,例如当用户绘制修改时实时发生。为了估计面积的目的,可以自动连接不完整的环和/或未连接的部分,例如用最短距离的直线来连接未连接的部分。因此,当满足最小面积阈值时,用户可以实时看到。可替代地,当用户指示终止边界修改状态时,可以进行最小面积比较。在一些示例中,用户可以不终止边界修改状态,除非满足最小面积阈值。
此外,当边界修改状态终止时,可以检查虚拟边界的错误。错误可以包括,例如,未闭合的环、零面积部分、对于用户来说太小而不能合理使用的部分(可以与最小部分面积阈值进行比较)以及其他错误。在一些示例中,可以自动纠正错误。例如,可以连接未闭合的环,可以移除有问题的部分,等等。在其他示例中,可以向用户警告错误,并且在一些示例中,可以自动重新启动边界修改状态。在一些示例中,边界修改状态可以不终止,直到在虚拟边界中没有检测到错误。
在用户完成边界修改状态并最终确定虚拟边界(这可能需要满足最小面积阈值)之后,用户可以与虚拟边界交互。图8A和图8B分别呈现了根据一些实施例的用户与虚拟环境中定义的虚拟边界交互的透视图和俯视图。如图8A和图8B所示,可以在HMD设备300中向用户显示虚拟环境800。虚拟环境800可以表示用户可以在其中移动的捕获场景或者诸如视频游戏中的人工环境。用户可以通过在现实世界环境500中移动来在虚拟环境800中移动。虚拟环境可以包括虚拟边界606的视觉指示。换句话说,虚拟边界606可以可视地渲染并呈现给用户,使得每当HMD设备300的视场包括虚拟边界606时,用户能够看到虚拟边界606。在一些实施例中,用户可以选择设置以使虚拟边界606始终地出现,或者仅当用户在阈值距离内时才出现虚拟边界606。这样的阈值距离可以取决于速度或用户的移动和/或用户或HMD系统200最靠近边界的特定部分。
在一些实施例中,当用户接近虚拟边界606时,可以在HMD设备300中渲染边界壁802(示出为元素802A和802B),以警告用户他或她接近虚拟边界606,并因此警告用户他或她接近现实世界环境500中存在碰撞风险的特征506。边界壁802可以渲染为一系列垂直或水平条、线网格、点网格等,这可以允许用户透过边界壁802继续查看虚拟环境800的一部分。在其他实施例中,边界壁802可以以完全“阻挡”用户对虚拟环境800的一部分的视线的方式来渲染。在一些实施例中,随着用户越来越接近虚拟边界606,边界壁802的渲染可能会阻碍用户视线的增加量。在其他示例中,边界壁802可以覆盖或以其他方式渲染在现实世界环境的(例如,由图像捕获子系统230提供的)直通视图的顶部。
如图8A和图8B所示,可以在HMD设备300中渲染单独的壁部分。因此,示出了边界壁802A和边界壁802B。当用户和虚拟边界606之间的距离小于或等于距离D2时,可以渲染边界壁802A。距离D2可由用户配置或由HMD系统200自动配置。例如,在一些实施例中,可以使用2至5英尺之间的阈值距离。在一些实施例中,阈值距离可以是用户速度的函数。基于控制器400和虚拟边界606之间的距离D3或基于HMD设备300和虚拟边界606之间的距离D4,可以在HMD设备300中渲染边界壁802B。在一些实施方式中,可以监视用户的手的位置,并且当用户的一只手或两只手被确定为太靠近虚拟边界606时,无论用户是否握着一个或更多个控制器400,都可以向用户显示边界壁802。
在一些实施例中,方法100还可以包括以下操作:生成现实世界环境的物理定义,并将(包括任何修改的)虚拟边界与在其中定义虚拟边界的现实世界环境的物理定义相关联地存储在存储器设备中,使得用户定义的虚拟边界可以被重新加载并在其中定义它的相同现实世界环境中再次使用。如图9所示,被称为存储器设备900的存储器设备可以被包括在HMD系统200中。存储器设备900可以存储包含多个物理定义902A-D的表或虚拟边界库。每个物理定义902A-D可以分别与虚拟边界904A-D相关联。在一些实施例中,虚拟边界库可以进一步指示条目是否对应于修改,例如确定允许用户撤销/重做修改的修改历史。方法100可以包括执行现实世界环境检查的操作,该操作可以包括生成现实世界环境的临时物理定义,然后将该定义与存储器设备900中包括的物理定义902A-D进行比较。当作为比较的结果发现匹配时,处理子系统210可以允许HMD系统200使用相应的虚拟边界。当现实世界环境检查没有导致找到匹配并且要求用户定义新的虚拟边界时,处理子系统210可以拒绝HMD系统200使用虚拟边界。
根据本文描述的方面,VR系统的用户可以修改先前定义的虚拟边界。佩戴HMD设备,用户可以查看覆盖在现实世界环境的直通视图上的虚拟边界。用户可以使用手持控制器来绘制对虚拟边界的修改。HMD设备和手持控制器可以允许用户通过“绘制”或“涂刷”修改来直观地修改虚拟边界。如果需要校正,允许用户修改虚拟边界可以防止用户必须从一开始完全重新定义虚拟边界。如果需要对虚拟边界进行校正,也可以视觉和/或听觉地通知用户,然后可以实时校正虚拟边界。因此,可以向用户呈现用于定义和修改虚拟边界的更有效和更直观的界面。
如上面所详述的,本文描述和/或示出的计算设备和系统广泛地表示能够执行计算机可读指令(例如在本文描述的模块中包含的那些指令)的任何类型或形式的计算设备或系统。在它们的最基本的配置中,这些计算设备可以各自包括至少一个存储器设备和至少一个物理处理器。
在一些示例中,术语“存储器设备”通常指能够存储数据和/或计算机可读指令的任何类型或形式的易失性或非易失性存储设备或介质。在一个示例中,存储器设备可以存储、加载和/或维护本文描述的一个或更多个模块。存储器设备的示例非限制地包括随机存取存储器(RAM)、只读存储器(ROM)、闪存、硬盘驱动器(HDD)、固态驱动器(SSD)、光盘驱动器、高速缓存、这些部件中的一个或更多个的变形或组合、或者任何其他合适的储存存储器。
在一些示例中,术语“物理处理器”通常指能够解析和/或执行计算机可读指令的任何类型或形式的硬件实现的处理单元。在一个示例中,物理处理器可以访问和/或修改存储在上述存储器设备中的一个或更多个模块。物理处理器的示例非限制地包括微处理器、微控制器、中央处理单元(CPU)、实现软核处理器的现场可编程门阵列(FPGA)、专用集成电路(ASIC)、这些部件中的一个或更多个的部分、这些部件中的一个或更多个的变形或组合、或任何其他合适的物理处理器。
尽管被示为单独的元件,但是本文描述和/或示出的模块可以表示单个模块或应用的部分。此外,在某些实施例中,这些模块中的一个或更多个可以表示一个或更多个软件应用或程序,其当由计算设备执行时可以使计算设备执行一个或更多个任务。例如,本文描述和/或示出的一个或更多个模块可以表示被存储和配置为在本文描述和/或示出的一个或更多个计算设备或系统上运行的模块。这些模块中的一个或更多个还可以表示被配置为执行一个或更多个任务的一个或更多个专用计算机的全部或部分。
此外,本文描述的一个或更多个模块可以将数据、物理设备和/或物理设备的表示从一种形式转换成另一种形式。例如,本文所述的一个或更多个模块可以接收待变换的传感器数据,变换传感器数据,输出变换结果以显示虚拟边界,使用变换结果来定义和/或修改虚拟边界,并存储变换结果以建立虚拟边界。附加地或可替代地,本文所述的一个或更多个模块可以通过在计算设备上执行、在计算设备上存储数据、和/或以其他方式与计算设备交互来将处理器、易失性存储器、非易失性存储器和/或物理计算设备的任何其他部分从一种形式转换成另一种形式。
在一些实施例中,术语“计算机可读介质”通常指能够存储或携带计算机可读指令的任何形式的设备、载体或介质。计算机可读介质的示例包括但不限于传输型介质(诸如,载波)以及非暂时性介质,诸如,磁存储介质(例如,硬盘驱动器、磁带驱动器和软盘)、光存储介质(例如,光盘(CD)、数字视频盘(DVD)和BLU-RAY盘)、电子存储介质(例如,固态驱动器和闪存介质)以及其他分发系统。
本公开的实施例可以包括人工现实系统或者结合人工现实系统来实现。人工现实是一种在呈现给用户之前已经以某种方式进行了调整的现实形式,其可以包括例如虚拟现实(VR)、增强现实(AR)、混合现实(mixed reality,MR)、混杂现实(hybrid reality)或其某种组合和/或衍生物。人工现实内容可以包括完全生成的内容或者与所捕获的(例如,现实世界)内容组合的所生成的内容。人工现实内容可以包括视频、音频、触觉反馈、或其某种组合,其中任何一个都可以在单个通道中或在多个通道中被呈现(诸如向观看者产生三维效果的立体视频)。此外,在一些实施例中,人工现实还可以与应用、产品、附件、服务或其某种组合相关联,这些应用、产品、附件、服务或其某种组合用于例如在人工现实中创建内容和/或在人工现实中以其他方式被使用(例如在人工现实中执行活动)。可以在各种平台(包括连接到主计算机系统的头戴式显示器(HMD)、独立的HMD、移动设备或计算系统、或者能够向一个或更多个观众提供人工现实内容的任何其他硬件平台)上实现提供人工现实内容的人工现实系统。
本文描述和/或示出的过程参数和步骤顺序仅作为示例给出,并且可以根据需要改变。例如,虽然在本文示出和/或描述的步骤可以以特定顺序示出或讨论,但是这些步骤不一定需要以示出或讨论的顺序执行。本文描述和/或示出的各种示例性方法也可以省略本文描述或示出的一个或更多个步骤,或者包括除了那些公开的步骤之外的附加步骤。
已经提供了前面的描述,以使本领域的其他技术人员能够最好地利用本文公开的示例性实施例的各个方面。该示例性描述不旨在穷举或限制于所公开的任何精确形式。在不脱离本公开的精神和范围的情况下,许多修改和变化是可能的。本文公开的实施例在所有方面都应该被认为是说明性的,而不是限制性的。在确定本公开的范围时,应当参考所附权利要求及其等同物。
除非另有说明,否则说明书和权利要求书中使用的术语“连接到”和“耦合到”(及其派生词)应被解释为允许直接和间接(即,通过其他元件或部件)连接。此外,说明书和权利要求书中使用的术语“一个(a)”或“一个(an)”应被解释为意指“...中的至少一个”。最后,为了便于使用,说明书和权利要求书中使用的术语“包括(including)”和“具有”(及其派生词)可与词语“包括(comprising)”互换并具有相同的含义。
Claims (35)
1.一种方法,包括:
接收表示现实世界环境的平面的参考高程的指示;
相对于所述参考高程建立虚拟世界环境的虚拟边界;
从用户接收修改所述虚拟边界的请求;
响应于来自所述用户的请求,监控方向指示器的定向以生成定向数据;和
基于所述参考高程和所述定向数据修改所述虚拟边界。
2.根据权利要求1所述的方法,其中所述定向数据包括所述方向指示器相对于所述参考高程的高程的高程数据。
3.根据权利要求2所述的方法,其中修改所述虚拟边界包括确定所述平面和虚拟线之间的交点,所述虚拟线在由所述高程数据指示的高程处以由所述定向数据指示的定向从所述方向指示器延伸。
4.根据权利要求1所述的方法,还包括:
用头戴式显示系统的成像系统捕获所述现实世界环境的视图,所捕获的视图具有透镜引起的失真;
校正所捕获的视图中的透镜引起的失真,以产生所述现实世界环境的补偿视图;
将所述虚拟边界叠加在所述现实世界环境的补偿视图上;和
在所述头戴式显示系统的显示器中显示所述现实世界环境的补偿视图。
5.根据权利要求4所述的方法,其中当所述虚拟边界满足最小面积阈值时,以成功颜色显示所述虚拟边界,并且当所述虚拟边界不满足所述最小面积阈值时,以警告颜色显示所述虚拟边界。
6.根据权利要求4所述的方法,其中所述虚拟边界被显示为由所述虚拟边界定义的填充形状。
7.根据权利要求1所述的方法,其中修改所述虚拟边界包括向所述虚拟边界添加部分或从所述虚拟边界减去部分。
8.根据权利要求1所述的方法,还包括接收对所述参考高程的确认。
9.根据权利要求1所述的方法,还包括接收重置所述虚拟边界的指示。
10.一种有形的非暂时性计算机可读存储介质,其上存储有指令,当由处理系统执行时,所述指令使得所述处理系统执行包括以下项的操作:
接收表示现实世界环境的平面的参考高程的指示;
相对于所述参考高程建立虚拟世界环境的虚拟边界;
监控方向指示器的定向以生成定向数据;以及
基于所述参考高程和所述定向数据修改所述虚拟边界。
11.根据权利要求10所述的非暂时性计算机可读存储介质,其中所述定向数据包括所述方向指示器相对于所述参考高程的高程的高程数据。
12.根据权利要求11所述的非暂时性计算机可读存储介质,其中修改所述虚拟边界包括确定所述平面和虚拟线之间的交点,所述虚拟线在由所述高程数据指示的高程处以由所述定向数据指示的定向从所述方向指示器延伸。
13.根据权利要求10所述的非暂时性计算机可读存储介质,还包括用于以下操作的指令:
用头戴式显示系统的成像系统捕获所述现实世界环境的视图,所捕获的视图具有透镜引起的失真;
校正所捕获的视图中的透镜引起的失真,以产生所述现实世界环境的补偿视图;
将所述虚拟边界作为由所述虚拟边界定义的填充形状叠加在所述现实世界环境的补偿视图上;和
在所述头戴式显示系统的显示器中显示所述现实世界环境的补偿视图。
14.根据权利要求13所述的非暂时性计算机可读存储介质,其中当所述虚拟边界满足最小面积阈值时,以成功颜色显示所述虚拟边界,并且当所述虚拟边界不满足所述最小面积阈值时,以警告颜色显示所述虚拟边界。
15.根据权利要求10所述的非暂时性计算机可读存储介质,其中修改所述虚拟边界包括向所述虚拟边界添加部分或从所述虚拟边界减去部分。
16.一种头戴式显示系统,包括:
显示器,其固定到用户附接系统;
方向指示器;和
处理系统,其被配置为:
识别代表现实世界环境的平面的参考高程;
相对于所述参考高程建立虚拟世界环境的虚拟边界;和
基于所述参考高程和表征所述方向指示器的定向的定向数据来修改所述虚拟边界。
17.根据权利要求16所述的头戴式显示系统,其中所述处理系统还被配置成:
用头戴式显示系统的成像系统捕获所述现实世界环境的视图,所捕获的视图具有透镜引起的失真;
校正所捕获的视图中的透镜引起的失真,以产生所述现实世界环境的补偿视图;
将所述虚拟边界作为由所述虚拟边界定义的填充形状叠加在所述现实世界环境的补偿视图上;和
在所述头戴式显示系统的显示器中显示所述现实世界环境的补偿视图。
18.根据权利要求17所述的头戴式显示系统,其中当所述虚拟边界满足最小面积阈值时,以成功颜色显示所述虚拟边界,并且当所述虚拟边界不满足所述最小面积阈值时,以警告颜色显示所述虚拟边界。
19.根据权利要求16所述的头戴式显示系统,其中修改所述虚拟边界包括向所述虚拟边界添加部分或从所述虚拟边界减去部分。
20.根据权利要求16所述的头戴式显示系统,其中所述定向数据包括所述方向指示器的高程的高程数据,并且其中修改所述虚拟边界包括确定所述平面和虚拟线之间的交点,所述虚拟线在由所述高程数据指示的高程以由所述定向数据指示的定向从所述方向指示器延伸。
21.一种计算机实现的方法,包括:
接收表示现实世界环境的平面的参考高程的指示;
相对于所述参考高程建立虚拟世界环境的虚拟边界;
从用户接收修改所述虚拟边界的请求;
响应于来自所述用户的请求,监控方向指示器的定向以生成定向数据;和
基于所述参考高程和所述定向数据修改所述虚拟边界。
22.根据权利要求21所述的方法,其中所述定向数据包括所述方向指示器相对于所述参考高程的高程的高程数据;
可选地,其中修改所述虚拟边界包括确定所述平面和虚拟线之间的交点,所述虚拟线在由所述高程数据指示的高程处以由所述定向数据指示的定向从所述方向指示器延伸。
23.根据权利要求21或22所述的方法,还包括:
用头戴式显示系统的成像系统捕获所述现实世界环境的视图,所捕获的视图具有透镜引起的失真;
校正所捕获的视图中的透镜引起的失真,以产生所述现实世界环境的补偿视图;
将所述虚拟边界叠加在所述现实世界环境的补偿视图上;和
在所述头戴式显示系统的显示器中显示所述现实世界环境的补偿视图。
24.根据权利要求23所述的方法,其中当所述虚拟边界满足最小面积阈值时,以成功颜色显示所述虚拟边界,并且当所述虚拟边界不满足所述最小面积阈值时,以警告颜色显示所述虚拟边界;和/或
其中所述虚拟边界被显示为由所述虚拟边界定义的填充形状。
25.根据权利要求21至24中任一项所述的方法,其中修改所述虚拟边界包括向所述虚拟边界添加部分或从所述虚拟边界减去部分。
26.根据权利要求21至25中任一项所述的方法,还包括接收对所述参考高程的确认。
27.根据权利要求21至26中任一项所述的方法,还包括接收重置所述虚拟边界的指示。
28.一种有形的非暂时性计算机可读存储介质,其上存储有指令,当由处理系统执行时,所述指令使得所述处理系统执行包括以下项的操作:
接收表示现实世界环境的平面的参考高程的指示;
相对于所述参考高程建立虚拟世界环境的虚拟边界;
监控方向指示器的定向以生成定向数据;以及
基于所述参考高程和所述定向数据修改所述虚拟边界。
29.根据权利要求28所述的非暂时性计算机可读存储介质,其中所述定向数据包括所述方向指示器相对于所述参考高程的高程的高程数据;
可选地,其中修改所述虚拟边界包括确定所述平面和虚拟线之间的交点,所述虚拟线在由所述高程数据指示的高程处以由所述定向数据指示的定向从所述方向指示器延伸。
30.根据权利要求28或29所述的非暂时性计算机可读存储介质,还包括用于以下操作的指令:
用头戴式显示系统的成像系统捕获所述现实世界环境的视图,所捕获的视图具有透镜引起的失真;
校正所捕获的视图中的透镜引起的失真,以产生所述现实世界环境的补偿视图;
将所述虚拟边界作为由所述虚拟边界定义的填充形状叠加在所述现实世界环境的补偿视图上;和
在所述头戴式显示系统的显示器中显示所述现实世界环境的补偿视图;
可选地,其中当所述虚拟边界满足最小面积阈值时,以成功颜色显示所述虚拟边界,并且当所述虚拟边界不满足所述最小面积阈值时,以警告颜色显示所述虚拟边界。
31.根据权利要求28至30中任一项所述的非暂时性计算机可读存储介质,其中修改所述虚拟边界包括向所述虚拟边界添加部分或从所述虚拟边界减去部分。
32.一种头戴式显示系统,包括:
显示器,其固定到用户附接系统;
方向指示器;和
处理系统,其被配置为:
识别代表现实世界环境的平面的参考高程;
相对于所述参考高程建立虚拟世界环境的虚拟边界;和
基于所述参考高程和表征所述方向指示器的定向的定向数据来修改所述虚拟边界。
33.根据权利要求32所述的头戴式显示系统,其中所述处理系统还被配置成:
用头戴式显示系统的成像系统捕获所述现实世界环境的视图,所捕获的视图具有透镜引起的失真;
校正所捕获的视图中的透镜引起的失真,以产生所述现实世界环境的补偿视图;
将所述虚拟边界作为由所述虚拟边界定义的填充形状叠加在所述现实世界环境的补偿视图上;和
在所述头戴式显示系统的显示器中显示所述现实世界环境的补偿视图;
可选地,其中当所述虚拟边界满足最小面积阈值时,以成功颜色显示所述虚拟边界,并且当所述虚拟边界不满足所述最小面积阈值时,以警告颜色显示所述虚拟边界。
34.根据权利要求32或33所述的头戴式显示系统,其中修改所述虚拟边界包括向所述虚拟边界添加部分或从所述虚拟边界减去部分。
35.根据权利要求32至34中任一项所述的头戴式显示系统,其中所述定向数据包括所述方向指示器的高程的高程数据,并且其中修改所述虚拟边界包括确定所述平面和虚拟线之间的交点,所述虚拟线在由所述高程数据指示的高程以由所述定向数据指示的定向从所述方向指示器延伸。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/177,424 US11244483B2 (en) | 2018-10-31 | 2018-10-31 | Systems and methods for modifying a safety boundary for virtual reality systems |
US16/177,424 | 2018-10-31 | ||
PCT/US2018/066974 WO2020091822A1 (en) | 2018-10-31 | 2018-12-20 | Systems and methods for modifying a safety boundary for virtual reality systems |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113260969A true CN113260969A (zh) | 2021-08-13 |
Family
ID=70327132
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201880100579.5A Pending CN113260969A (zh) | 2018-10-31 | 2018-12-20 | 用于修改虚拟现实系统的安全边界的系统和方法 |
Country Status (6)
Country | Link |
---|---|
US (3) | US11244483B2 (zh) |
EP (2) | EP3874357A4 (zh) |
JP (2) | JP7279176B2 (zh) |
KR (1) | KR20210071083A (zh) |
CN (1) | CN113260969A (zh) |
WO (1) | WO2020091822A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113932805A (zh) * | 2021-10-12 | 2022-01-14 | 天翼数字生活科技有限公司 | 用于提高ar虚拟对象定位准确性与速度的方法 |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20200096901A (ko) * | 2018-01-05 | 2020-08-14 | 삼성전자주식회사 | 가상 현실 (vr) 디바이스에 의해 디스플레이되는 가상 컨텐트를 네비게이트하는 방법 및 장치 |
US10965985B2 (en) * | 2018-05-21 | 2021-03-30 | Hisense Visual Technology Co., Ltd. | Display apparatus with intelligent user interface |
US10901081B2 (en) * | 2018-10-02 | 2021-01-26 | International Business Machines Corporation | Virtual reality safety |
JP6713591B1 (ja) * | 2019-04-17 | 2020-06-24 | 楽天株式会社 | 表示制御装置、表示制御方法、プログラム、ならびに、非一時的なコンピュータ読取可能な情報記録媒体 |
KR102306392B1 (ko) * | 2019-08-19 | 2021-09-30 | 한국과학기술연구원 | 인터랙션 인터페이스의 제어 방법 및 이를 지원하는 장치 |
US11175730B2 (en) | 2019-12-06 | 2021-11-16 | Facebook Technologies, Llc | Posture-based virtual space configurations |
US11073902B1 (en) * | 2019-12-30 | 2021-07-27 | Facebook Technologies, Llc | Using skeletal position to predict virtual boundary activation |
US11602691B2 (en) * | 2020-03-13 | 2023-03-14 | Harmonix Music Systems, Inc. | Techniques for virtual reality boundaries and related systems and methods |
US11257280B1 (en) | 2020-05-28 | 2022-02-22 | Facebook Technologies, Llc | Element-based switching of ray casting rules |
US11493764B2 (en) | 2020-06-04 | 2022-11-08 | Htc Corporation | Method for dynamically displaying real-world scene, electronic device, and computer readable medium |
US11256336B2 (en) | 2020-06-29 | 2022-02-22 | Facebook Technologies, Llc | Integration of artificial reality interaction modes |
CN115735174A (zh) * | 2020-06-29 | 2023-03-03 | 美国斯耐普公司 | 使用保持社交距离的增强现实体验 |
US11178376B1 (en) | 2020-09-04 | 2021-11-16 | Facebook Technologies, Llc | Metering for display modes in artificial reality |
US11294475B1 (en) | 2021-02-08 | 2022-04-05 | Facebook Technologies, Llc | Artificial reality multi-modal input switching model |
JP2023056109A (ja) * | 2021-10-07 | 2023-04-19 | トヨタ自動車株式会社 | 仮想空間制御システム、その制御方法、及び、制御プログラム |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102473324A (zh) * | 2009-08-18 | 2012-05-23 | Metaio有限公司 | 用于在真实环境中表示虚拟信息的方法 |
CN107408146A (zh) * | 2014-12-24 | 2017-11-28 | 诺基亚技术有限公司 | 监控 |
CN107430439A (zh) * | 2015-04-27 | 2017-12-01 | 谷歌公司 | 虚拟/增强现实转变系统和方法 |
CN107850943A (zh) * | 2015-10-13 | 2018-03-27 | 谷歌有限责任公司 | 用于提供现实世界移动与虚拟/增强现实体验中的移动之间的连续性的系统和方法 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2636030A1 (en) | 2006-01-17 | 2007-07-26 | Qualcomm Incorporated | Method and apparatus for setting the boundaries of virtual operations |
US8161397B2 (en) | 2008-06-05 | 2012-04-17 | Samsung Electronics Co., Ltd. | Interaction between real-world digital environments and virtual worlds |
WO2013126784A2 (en) | 2012-02-23 | 2013-08-29 | Huston Charles D | System and method for creating an environment and for sharing a location based experience in an environment |
US9754167B1 (en) | 2014-04-17 | 2017-09-05 | Leap Motion, Inc. | Safety for wearable virtual reality devices via object detection and tracking |
US9864016B2 (en) | 2014-10-31 | 2018-01-09 | GM Global Technology Operations LLC | Battery system pack life estimation systems and methods |
JP6539351B2 (ja) * | 2014-11-05 | 2019-07-03 | バルブ コーポレーション | 仮想現実環境においてユーザをガイドするための感覚フィードバックシステム及び方法 |
US9955862B2 (en) * | 2015-03-17 | 2018-05-01 | Raytrx, Llc | System, method, and non-transitory computer-readable storage media related to correction of vision defects using a visual display |
JP6346131B2 (ja) | 2015-09-07 | 2018-06-20 | 株式会社ソニー・インタラクティブエンタテインメント | 情報処理装置および画像生成方法 |
US9996944B2 (en) | 2016-07-06 | 2018-06-12 | Qualcomm Incorporated | Systems and methods for mapping an environment |
WO2018158896A1 (ja) | 2017-03-01 | 2018-09-07 | 三菱電機株式会社 | 情報処理システム |
US9971854B1 (en) * | 2017-06-29 | 2018-05-15 | Best Apps, Llc | Computer aided systems and methods for creating custom products |
US10803663B2 (en) * | 2017-08-02 | 2020-10-13 | Google Llc | Depth sensor aided estimation of virtual reality environment boundaries |
-
2018
- 2018-10-31 US US16/177,424 patent/US11244483B2/en active Active
- 2018-12-20 EP EP18938341.7A patent/EP3874357A4/en active Pending
- 2018-12-20 JP JP2021548502A patent/JP7279176B2/ja active Active
- 2018-12-20 WO PCT/US2018/066974 patent/WO2020091822A1/en unknown
- 2018-12-20 EP EP23169413.4A patent/EP4227777A1/en active Pending
- 2018-12-20 CN CN201880100579.5A patent/CN113260969A/zh active Pending
- 2018-12-20 KR KR1020217016331A patent/KR20210071083A/ko not_active Application Discontinuation
-
2022
- 2022-02-04 US US17/665,211 patent/US11741649B2/en active Active
-
2023
- 2023-05-10 JP JP2023078135A patent/JP2023109848A/ja active Pending
- 2023-07-31 US US18/362,260 patent/US20230377744A1/en active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102473324A (zh) * | 2009-08-18 | 2012-05-23 | Metaio有限公司 | 用于在真实环境中表示虚拟信息的方法 |
US20120176410A1 (en) * | 2009-08-18 | 2012-07-12 | Metaio Gmbh | Method for representing virtual information in a real environment |
US8896629B2 (en) * | 2009-08-18 | 2014-11-25 | Metaio Gmbh | Method for representing virtual information in a real environment |
CN107408146A (zh) * | 2014-12-24 | 2017-11-28 | 诺基亚技术有限公司 | 监控 |
CN107430439A (zh) * | 2015-04-27 | 2017-12-01 | 谷歌公司 | 虚拟/增强现实转变系统和方法 |
CN107850943A (zh) * | 2015-10-13 | 2018-03-27 | 谷歌有限责任公司 | 用于提供现实世界移动与虚拟/增强现实体验中的移动之间的连续性的系统和方法 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113932805A (zh) * | 2021-10-12 | 2022-01-14 | 天翼数字生活科技有限公司 | 用于提高ar虚拟对象定位准确性与速度的方法 |
CN113932805B (zh) * | 2021-10-12 | 2024-02-23 | 天翼数字生活科技有限公司 | 用于提高ar虚拟对象定位准确性与速度的方法 |
Also Published As
Publication number | Publication date |
---|---|
US11741649B2 (en) | 2023-08-29 |
US11244483B2 (en) | 2022-02-08 |
EP4227777A1 (en) | 2023-08-16 |
JP7279176B2 (ja) | 2023-05-22 |
JP2022509483A (ja) | 2022-01-20 |
US20200134895A1 (en) | 2020-04-30 |
JP2023109848A (ja) | 2023-08-08 |
EP3874357A1 (en) | 2021-09-08 |
US20230377744A1 (en) | 2023-11-23 |
EP3874357A4 (en) | 2021-12-15 |
WO2020091822A1 (en) | 2020-05-07 |
KR20210071083A (ko) | 2021-06-15 |
US20220156997A1 (en) | 2022-05-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113260969A (zh) | 用于修改虚拟现实系统的安全边界的系统和方法 | |
US10535199B1 (en) | Systems and methods for determining a safety boundary for a mobile artificial reality user | |
JP6979475B2 (ja) | ヘッドマウントディスプレイ追跡 | |
US10901215B1 (en) | Systems and methods for providing a mobile artificial reality user with environmental awareness | |
US11361513B2 (en) | Head-mounted display with pass-through imaging | |
CN109791442B (zh) | 表面建模系统和方法 | |
US20220196840A1 (en) | Using photometric stereo for 3d environment modeling | |
US10802278B2 (en) | Space carving based on human physical data | |
JP6886510B2 (ja) | 視線追跡情報に基づく画像領域内の適応パラメータ | |
US10859831B1 (en) | Systems and methods for safely operating a mobile virtual reality system | |
US10852847B2 (en) | Controller tracking for multiple degrees of freedom | |
JP6110573B2 (ja) | 仮想現実システムの較正 | |
US8388146B2 (en) | Anamorphic projection device | |
IL308285A (en) | System and method for augmentation and virtual reality | |
US10838515B1 (en) | Tracking using controller cameras | |
US11195320B2 (en) | Feed-forward collision avoidance for artificial reality environments | |
WO2023149126A1 (ja) | 情報処理装置および情報処理方法 | |
WO2021241110A1 (ja) | 情報処理装置、情報処理方法及びプログラム | |
WO2023149125A1 (ja) | 情報処理装置および情報処理方法 | |
JP2024024367A (ja) | 情報処理装置および情報処理方法 |
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 | ||
CB02 | Change of applicant information |
Address after: California, USA Applicant after: Yuan Platform Technology Co.,Ltd. Address before: California, USA Applicant before: Facebook Technologies, LLC |
|
CB02 | Change of applicant information |