CN110832441B - 用于虚拟、增强和混合现实显示系统的键盘 - Google Patents
用于虚拟、增强和混合现实显示系统的键盘 Download PDFInfo
- Publication number
- CN110832441B CN110832441B CN201880044429.7A CN201880044429A CN110832441B CN 110832441 B CN110832441 B CN 110832441B CN 201880044429 A CN201880044429 A CN 201880044429A CN 110832441 B CN110832441 B CN 110832441B
- Authority
- CN
- China
- Prior art keywords
- user
- keyboard
- physical
- virtual
- physical keyboard
- 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.)
- Active
Links
- 230000003190 augmentative effect Effects 0.000 title claims abstract description 37
- 238000000034 method Methods 0.000 claims abstract description 187
- 238000009877 rendering Methods 0.000 claims abstract description 98
- 230000006870 function Effects 0.000 claims abstract description 73
- 238000003384 imaging method Methods 0.000 claims abstract description 66
- 230000004044 response Effects 0.000 claims description 56
- 230000008859 change Effects 0.000 claims description 42
- 238000004891 communication Methods 0.000 claims description 35
- 230000000007 visual effect Effects 0.000 claims description 35
- 230000009471 action Effects 0.000 claims description 33
- 238000004458 analytical method Methods 0.000 claims description 9
- 238000003860 storage Methods 0.000 claims description 7
- 230000003993 interaction Effects 0.000 description 147
- 230000008569 process Effects 0.000 description 70
- 210000003811 finger Anatomy 0.000 description 69
- 238000012545 processing Methods 0.000 description 52
- 230000033001 locomotion Effects 0.000 description 45
- 230000003287 optical effect Effects 0.000 description 35
- 210000003128 head Anatomy 0.000 description 31
- 238000004422 calculation algorithm Methods 0.000 description 29
- 210000001747 pupil Anatomy 0.000 description 24
- 210000004247 hand Anatomy 0.000 description 22
- 238000000605 extraction Methods 0.000 description 15
- 230000004438 eyesight Effects 0.000 description 15
- 238000010586 diagram Methods 0.000 description 13
- 238000013500 data storage Methods 0.000 description 11
- 238000009826 distribution Methods 0.000 description 11
- 230000004308 accommodation Effects 0.000 description 10
- 238000005266 casting Methods 0.000 description 10
- 239000000835 fiber Substances 0.000 description 10
- 230000004913 activation Effects 0.000 description 9
- 238000001514 detection method Methods 0.000 description 9
- 238000005259 measurement Methods 0.000 description 8
- 238000005516 engineering process Methods 0.000 description 7
- 238000005286 illumination Methods 0.000 description 7
- 238000002347 injection Methods 0.000 description 7
- 239000007924 injection Substances 0.000 description 7
- 238000013507 mapping Methods 0.000 description 7
- 239000000463 material Substances 0.000 description 7
- 230000002093 peripheral effect Effects 0.000 description 7
- 238000003825 pressing Methods 0.000 description 7
- 230000007423 decrease Effects 0.000 description 6
- 230000002452 interceptive effect Effects 0.000 description 6
- 238000010801 machine learning Methods 0.000 description 6
- 239000007787 solid Substances 0.000 description 6
- 230000006978 adaptation Effects 0.000 description 5
- 238000013528 artificial neural network Methods 0.000 description 5
- 239000003550 marker Substances 0.000 description 5
- 210000004556 brain Anatomy 0.000 description 4
- 230000004424 eye movement Effects 0.000 description 4
- 230000008447 perception Effects 0.000 description 4
- 230000035807 sensation Effects 0.000 description 4
- 238000000926 separation method Methods 0.000 description 4
- 230000003044 adaptive effect Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000007499 fusion processing Methods 0.000 description 3
- 230000004886 head movement Effects 0.000 description 3
- 230000004807 localization Effects 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 230000001902 propagating effect Effects 0.000 description 3
- 238000012360 testing method Methods 0.000 description 3
- 210000003813 thumb Anatomy 0.000 description 3
- 238000011144 upstream manufacturing Methods 0.000 description 3
- 238000012800 visualization Methods 0.000 description 3
- 230000008649 adaptation response Effects 0.000 description 2
- 230000000712 assembly Effects 0.000 description 2
- 238000000429 assembly Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 239000002131 composite material Substances 0.000 description 2
- 210000000613 ear canal Anatomy 0.000 description 2
- 208000013057 hereditary mucoepithelial dysplasia Diseases 0.000 description 2
- 230000000977 initiatory effect Effects 0.000 description 2
- 239000000047 product Substances 0.000 description 2
- 230000001953 sensory effect Effects 0.000 description 2
- 238000004088 simulation Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 239000013589 supplement Substances 0.000 description 2
- 206010019233 Headaches Diseases 0.000 description 1
- 239000004983 Polymer Dispersed Liquid Crystal Substances 0.000 description 1
- 208000036366 Sensation of pressure Diseases 0.000 description 1
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 229910052782 aluminium Inorganic materials 0.000 description 1
- XAGFODPZIPBFFR-UHFFFAOYSA-N aluminium Chemical compound [Al] XAGFODPZIPBFFR-UHFFFAOYSA-N 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 208000003464 asthenopia Diseases 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000005253 cladding Methods 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000003066 decision tree Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 239000000975 dye Substances 0.000 description 1
- 230000008451 emotion Effects 0.000 description 1
- 210000000887 face Anatomy 0.000 description 1
- 230000001815 facial effect Effects 0.000 description 1
- 239000006260 foam Substances 0.000 description 1
- 125000001475 halogen functional group Chemical group 0.000 description 1
- 231100000869 headache Toxicity 0.000 description 1
- 238000012905 input function Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000003064 k means clustering Methods 0.000 description 1
- 229910052751 metal Inorganic materials 0.000 description 1
- 239000002184 metal Substances 0.000 description 1
- 238000002156 mixing 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
- 239000013307 optical fiber Substances 0.000 description 1
- 238000000513 principal component analysis Methods 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 238000013139 quantization Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000004043 responsiveness Effects 0.000 description 1
- 210000001525 retina Anatomy 0.000 description 1
- 230000002207 retinal effect Effects 0.000 description 1
- 238000005096 rolling process Methods 0.000 description 1
- 238000007493 shaping process Methods 0.000 description 1
- 125000006850 spacer group Chemical group 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
- 238000012706 support-vector machine Methods 0.000 description 1
- 238000012876 topography Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- 230000014616 translation 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/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0487—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
- G06F3/0488—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
- G06F3/04886—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures by partitioning the display area of the touch-screen or the surface of the digitising tablet into independently controllable areas, e.g. virtual keyboards or menus
-
- 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
- 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
-
- 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
- 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
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
-
- 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
-
- 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/02—Input arrangements using manually operated switches, e.g. using keyboards or dials
- G06F3/0202—Constructional details or processes of manufacture of the input device
-
- 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/02—Input arrangements using manually operated switches, e.g. using keyboards or dials
- G06F3/0202—Constructional details or processes of manufacture of the input device
- G06F3/021—Arrangements integrating additional peripherals in a keyboard, e.g. card or barcode reader, optical scanner
- G06F3/0213—Arrangements providing an integrated pointing device in a keyboard, e.g. trackball, mini-joystick
-
- 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/02—Input arrangements using manually operated switches, e.g. using keyboards or dials
- G06F3/0202—Constructional details or processes of manufacture of the input device
- G06F3/0219—Special purpose keyboards
-
- 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/02—Input arrangements using manually operated switches, e.g. using keyboards or dials
- G06F3/023—Arrangements for converting discrete items of information into a coded form, e.g. arrangements for interpreting keyboard generated codes as alphanumeric codes, operand codes or instruction codes
-
- 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/02—Input arrangements using manually operated switches, e.g. using keyboards or dials
- G06F3/023—Arrangements for converting discrete items of information into a coded form, e.g. arrangements for interpreting keyboard generated codes as alphanumeric codes, operand codes or instruction codes
- G06F3/0238—Programmable keyboards
-
- 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/041—Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means
- G06F3/042—Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means by opto-electronic means
- G06F3/0425—Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means by opto-electronic means using a single imaging device like a video camera for tracking the absolute position of a single or a plurality of objects with respect to an imaged reference surface, e.g. video camera imaging a display or a projection screen, a table or a wall surface, on which a computer generated image is displayed or projected
-
- 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/041—Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means
- G06F3/042—Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means by opto-electronic means
- G06F3/0425—Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means by opto-electronic means using a single imaging device like a video camera for tracking the absolute position of a single or a plurality of objects with respect to an imaged reference surface, e.g. video camera imaging a display or a projection screen, a table or a wall surface, on which a computer generated image is displayed or projected
- G06F3/0426—Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means by opto-electronic means using a single imaging device like a video camera for tracking the absolute position of a single or a plurality of objects with respect to an imaged reference surface, e.g. video camera imaging a display or a projection screen, a table or a wall surface, on which a computer generated image is displayed or projected tracking fingers with respect to a virtual keyboard projected or printed on the surface
-
- 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/041—Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means
- G06F3/044—Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means by capacitive 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
- G06T19/00—Manipulating 3D models or images for computer graphics
- G06T19/006—Mixed reality
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/764—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/20—Scenes; Scene-specific elements in augmented reality scenes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/10—Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
- G06V40/18—Eye characteristics, e.g. of the iris
- G06V40/19—Sensors therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/20—Movements or behaviour, e.g. gesture recognition
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Multimedia (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Optics & Photonics (AREA)
- Data Mining & Analysis (AREA)
- Computer Graphics (AREA)
- Computing Systems (AREA)
- Psychiatry (AREA)
- Social Psychology (AREA)
- Medical Informatics (AREA)
- Databases & Information Systems (AREA)
- Evolutionary Biology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Ophthalmology & Optometry (AREA)
- User Interface Of Digital Computer (AREA)
- Input From Keyboards Or The Like (AREA)
Abstract
公开了用于虚拟现实、增强现实和混合现实显示系统的用户界面。用户界面可以是虚拟或物理键盘。描述了用于显示用户界面、配置用户界面和/或与用户界面交互的技术。在一个示例中,在用户的物理环境中提供了物理键盘。面向外部的成像系统对环境成像,并且硬件处理器分析图像以识别键盘。然后,硬件处理器基于上下文信息确定物理键盘的规格,并基于该规格动态配置物理键盘的功能。然后,硬件处理器基于规格确定虚拟按键标签的渲染位置,并指示可以在用户的物理环境中呈现虚拟内容的显示系统在所确定的渲染位置渲染虚拟按键标签。
Description
相关申请的交叉引用
根据37 CFR 1.57,在通过引用并入本文与本申请一起提交的申请数据表中标识了国外或国内优先权要求的任何和全部申请。本申请要求于2017年5月19日提交的美国临时申请No.62/508,974和于2017年5月22日提交的美国临时申请No.62/509,648以及于2018年3月19日提交的美国临时申请No.62/644,597的优先权,其每个标题为“用于虚拟、增强和混合现实显示系统的键盘”,并且其每个通过引用整体并入本文。
技术领域
本公开涉及虚拟现实和增强现实成像和可视化系统,并且更具体地涉及可以与虚拟现实和增强现实成像和可视化系统相关联的键盘。
背景技术
现代计算和显示技术促进了用于所谓的“虚拟现实”、“增强现实”或“混合现实”体验的系统的开发,其中,以某种方式将数字再现的图像呈现给用户,使得他们可以被感知为是真实的。虚拟现实或“VR”场景通常涉及数字或虚拟图像信息的呈现,而对其他实际现实世界视觉输入不透明。增强现实或“AR”场景通常涉及数字或虚拟图像信息的呈现,作为对用户周围的实际世界的可视化的增强。混合现实或“MR”场景是一种AR场景,其涉及合并现实世界和虚拟世界,以产生物理和虚拟对象共存并实时交互的新环境。
本文公开的系统和方法解决了与VR、AR和MR技术有关的各种挑战。
发明内容
在一些示例中,一种系统包括:显示系统,其被配置为在用户的物理环境中呈现虚拟内容;面向外部的成像系统,其被配置为对用户的物理环境成像;与显示系统和面向外部的成像系统通信的硬件处理器,该硬件处理器被编程为:分析由面向外部的成像系统获取的物理环境的图像;基于对图像的分析,识别具有多个按键的物理键盘;确定与物理键盘相关联的上下文信息;至少部分地基于上下文信息确定物理键盘的规格;至少部分地基于规格动态配置物理键盘的至少一部分的功能;至少部分地基于规格确定虚拟键盘标签的渲染位置;以及指示显示系统在确定的渲染位置渲染虚拟键盘标签。
在一些示例中,一种系统包括:显示器,其被配置为向用户呈现虚拟现实、增强现实或混合现实内容;物理键盘,包括:被配置为从用户接收输入的一个或多个按键;以及一个或多个传感器,其被配置为产生指示用户的手或手指中的一个或多个相对于物理键盘的位置的输出;一个或多个硬件处理器;以及一个或多个计算机存储介质,其存储指令,该指令在由系统执行时使系统执行以下操作,包括:基于一个或多个传感器的输出,确定一个或多个手或手指相对于物理键盘的位置;以及使显示器呈现物理键盘的第一图像表示和用户的手或手指中的一个或多个的放置的第二图像表示,其中,第二图像表示相对于第一图像表示的位置指示一个或多个手或手指相对于物理键盘的位置。
在一些示例中,一种头戴式显示器(HMD)包括:框架;投影光学器件,其由框架支撑并被配置为将图像投影到用户的眼睛;以及传感器,其检测与可操作地与HMD连接的输入设备的交互;非暂时性的数据存储装置,其被配置为存储指令;至少一个硬件处理器,其可操作地耦接到非暂时性的数据存储装置,并且被指令配置为:从传感器接收指示用户交互的信号;根据该信号确定用户交互的类型;以及向输入设备发送触觉反馈信号,其中,该触觉反馈信号包括用于生成可通过输入设备与用户通信的触觉响应的一个或多个参数。
在一些示例中,一种系统包括:显示系统,其被配置为向用户呈现虚拟监控器;面向外部的成像系统,其被配置为对用户的物理环境成像;硬件处理器,其与显示系统和面向外部的成像系统通信,并且被编程为:接收由面向外部的成像系统获取的物理环境的第一图像;以及使用第一图像确定物理键盘在用户的环境中的第一位置;至少部分地基于物理键盘的第一位置来确定虚拟监控器的第一渲染位置;至少部分地基于第一渲染位置和虚拟监控器的尺寸偏好来确定虚拟监控器的尺寸,其中,虚拟监控器被配置用于用户界面功能;以及指示显示系统在第一渲染位置处以所确定的尺寸渲染虚拟监控器。
在一些示例中,一种系统包括:能够在多个深度处显示数据的虚拟现实、增强现实或混合现实显示器;硬件处理器,其被配置为:在第一深度处显示与第一应用相关联的图像数据的至少一部分;以及在第二深度处显示与第二应用相关联的图像数据的至少一部分,其中,第一应用和第二应用彼此相关,并且其中第二深度选择为距第一深度为固定距离。
附图说明
图1描绘了具有由用户观看的某些虚拟现实对象和某些物理对象的AR/MR场景的图示。
图2示意性地示出了可穿戴VR/AR/MR系统的示例。
图3示意性地示出了用于使用多个深度平面来模拟三维图像的方法的各方面。
图4示意性地示出了用于向用户输出图像信息的波导堆叠的示例。
图5示出了可以由波导输出的示例出射光束。
图6是示出包括波导装置、将光光学地耦合到波导装置或从波导装置光学地耦合光的光耦合器子系统、以及控制子系统的光学系统的示意图,该光学系统用于生成多焦点体积显示器、图像或光领域。
图7是可穿戴VR/AR/MR系统的示例的框图。
图8是渲染与所识别的对象有关的虚拟内容的示例方法的过程流程图。
图9是可穿戴VR/AR/MR系统的另一示例的框图。
图10是用于确定对可穿戴VR/AR/MR系统的用户输入的示例方法的过程流程图。
图11是用于与虚拟用户界面进行交互的示例方法的过程流程图。
图12示意性地示出了使用各种输入模式与对象进行交互的示例。
图13A、13B和13C示出了动态配置物理键盘的示例。
图14示出了可重新配置的物理键盘的示例。
图15A示意性地示出了能视域(field of regard)(FOR)、世界相机的视野(FOV)、用户的视野以及用户的注视野(field of fixation)的示例。
图15B示出了使用物理键盘与用户的FOR和FOV中的虚拟对象进行交互的示例。
图15C示出了呈现与物理键盘相关联的虚拟屏幕的示例。
图16A-16D示出了示例特征和与虚拟键盘的用户交互。
图17A示出了在AR/MR环境中动态配置物理键盘并与之交互的示例过程。
图17B示出了在AR/VR/MR环境中渲染虚拟键盘并与之交互的示例过程。
图18示意性地示出了示例VR/AR/MR系统和可以用于在VR/AR/MR系统的显示器上实现虚拟键盘功能的物理键盘。
图19示意性地示出了示出虚拟键盘功能的VR/AR/MR系统的示例显示器。
图20是描述基于用户与物理键盘的交互在VR/AR/MR系统的显示器上实现虚拟键盘功能的示例方法的流程图。
图21示出了可穿戴显示系统的示例。
图22和图23是示出用于触觉通信的示例方法的流程图。
图24示意性地示出了AR/MR头戴式显示器(HMD)系统、伴随物理键盘和在HMD系统的显示器上显示的虚拟监控器之间的示例交互。
图25示出了至少部分基于物理键盘的位置来确定虚拟监控器的位置的示例过程。
图26示出了基于物理键盘的位置来修改虚拟监控器的渲染位置的示例过程。
图27示出了使用图27中的虚拟监控器来渲染由物理键盘接收的输入的示例过程。
图28示出了由可穿戴VR/AR/MR系统显示的用户界面图像数据(例如,虚拟键盘图像数据)和父应用图像数据之间的相对空间关系的示例。
图29A-29E示出了在父应用图像数据和用户界面图像数据(例如,虚拟键盘图像数据)之间允许和不允许的空间关系的示例。
图30是用于相对于用户界面图像数据(例如,虚拟键盘图像数据)移动父应用图像数据以维持横向接触的示例方法的流程图。
图31是用于相对于用户界面图像数据(例如,虚拟键盘图像数据)移动父应用图像数据以维持横向接触的另一示例方法的流程图。
在所有附图中,引用标记可以被重复使用以指示引用元素之间的对应关系。提供附图是为了说明本文中描述的示例实施例,而不意在限制本公开的范围。另外,本公开中的附图用于说明目的,并且未按比例绘制。
具体实施方式
可穿戴VR/AR/MR系统可以被配置为向用户呈现2D或3D虚拟图像。图像可以是静止图像、视频的帧、或视频、或相同或类似的组合。可穿戴系统可以包括可以呈现用于用户交互的VR、AR或MR环境的可穿戴设备。可穿戴VR/AR/MR系统可以是头戴式设备(HMD)。
图1描绘了由用户观看的具有虚拟对象和物理对象的MR或AR场景的图示。AR/MR技术的用户看到场景100,场景100在图1中示出并且包括以背景中的人、树、建筑为特征的真实世界的公园状的设置110以及平台120。除了这些真实世界的项目,AR/MR技术的用户还感觉到站在真实世界的平台120上的虚拟机器人雕像130,以及看起来像飞行的蜜蜂的化身的虚拟卡通式的头像角色140,尽管这些元素不存在于真实世界中。
为了使3D显示器产生明显(apparent)深度的模拟感觉,可以期望显示器的视场中的每个点产生与其虚拟深度对应的适应响应。如果对显示点的适应响应不对应于该点的虚拟深度(由汇聚和立体视觉的双眼深度线索确定),则人眼可能经历适应冲突,导致成像不稳定、有害的眼部紧张、头痛,并且在没有适应信息的情况下,几乎完全缺乏明显的深度。
VR、AR和MR体验可以通过具有显示器的显示系统来提供,其中与多个深度平面对应的图像被提供给观看者。对于每个深度平面,图像可以是不同的(例如,提供场景或对象的略微不同的呈现),并且可以由观看者的眼睛不同地聚焦,从而有助于基于眼睛所需的适应向用户提供深度线索,为位于不同深度平面上的场景或基于观察不同深度平面上的不同图像特征失焦而聚焦不同图像特征。如在此其它地方所讨论的,这样的深度线索提供了可靠的深度感知。
图2示出了可穿戴VR/AR/MR系统200的示例。可穿戴系统200还可以被称为AR系统200。可穿戴系统200包括显示器220,以及支持显示器220的功能的各种机械和电子模块和系统。显示器220可以耦合到可由用户、穿戴者或观看者210穿戴的框架230。显示器220可以定位在用户210的眼睛的前方。显示器220可以向用户呈现AR/VR/MR内容。显示器220可以是穿戴在用户头部上的头戴式显示器(HMD)。在一些实施例中,扬声器240耦合到框架230并且定位成邻近用户的耳道(另一个扬声器,未示出,可以邻近用户的另一耳道定位,以提供立体声/可塑造声音控制)。
可穿戴系统200可以包括观察用户周围环境中世界的面向外部的成像系统464(在图4中示出)。可穿戴系统200还可以包括可以用于跟踪用户的眼睛运动的面向内的成像系统462(在图4中示出)。面向内的成像系统可以跟踪一只眼睛的运动或两只眼睛的运动。面向内的成像系统462可以附接到框架230并且可以与处理模块260和/或270电通信,处理模块260或270可以处理由面向内的成像系统获取的图像信息以确定例如瞳孔直径或眼睛的方位、用户210的眼睛移动或视线。
作为示例,可穿戴系统200可以使用面向外部的成像系统464或面向内部的成像系统462来获取用户的姿势或手势等的图像。图像可以是静止图像、视频的帧、或视频、或相同或类似的组合。
显示器220诸如通过有线导线或无线连接250可操作地耦合到本地数据处理模块260,该本地数据处理模块260可以以各种配置安装,诸如固定地附接到框架230,固定地附接到由用户穿戴的头盔或帽子,嵌入到耳机中,或以其它方式可移除地附接到用户210(例如,以背包方式的配置,以带式耦合方式的配置)。
本地处理和数据模块260可以包括硬件处理器以及诸如非易失性存储器(例如,闪速存储器)的数字存储器,二者都可用于辅助数据的处理、缓冲以及存储。数据可以包括如下数据:a)从传感器(其可以例如可操作地耦合到框架230或以其它方式附接到用户210)捕获的数据,例如图像捕获设备(例如,面向内的成像系统或面向外部的成像系统中的相机)、麦克风、惯性测量单元(IMU)、加速度计、罗盘、全球定位系统(GPS)单元、无线电设备或陀螺仪;或b)使用远程处理模块270或远程数据储存库280获取或处理的数据,可能在这样的处理或检索之后传递给显示器220。本地处理和数据模块260可以通过通信链路262或264(诸如经由有线或无线通信链路)可操作地耦合到远程处理模块270或远程数据储存库280,使得这些远程模块作为资源可用于本地处理和数据模块260。另外,远程处理模块280和远程数据储存库280可以相互可操作地耦合。
在一些实施例中,远程处理模块270可以包括被配置为分析和处理数据和/或图像信息的一个或多个处理器。在一些实施例中,远程数据储存库280可以是数字数据存储设施,其可以通过互联网或其它网络配置以“云”资源配置而可用。在一些实施例中,在本地处理和数据模块中存储全部数据,并且执行全部计算,允许从远程模块完全自主使用。
人类视觉系统复杂,并且提供深度的现实感知是具挑战性的。对象的观看者可能由于聚散度和调节的组合而将该对象感知为“三维”。两只眼睛彼此相对的聚散运动(例如,光瞳孔彼此相向或远离的滚动运动,以会聚眼睛的视线来注视对象)与眼睛晶状体的聚焦(或“调节”)密切相关。在正常情况下,改变眼睛晶状体的焦点或调节眼睛,以将焦点从在不同距离处的一个对象改变到另一个对象,将会在称为“调节聚散度反射(accommodation-vergence reflex)”的关系下自动地导致在聚散度上的匹配改变达到相同的距离。同样,在正常情况下,聚散度的改变将引发调节的匹配改变。提供调节和聚散度之间的更好匹配的显示系统可以形成更逼真且舒适的三维图像模拟。
图3示出了用于使用多个深度平面来模拟三维图像的方法的各方面。参考图3,在z轴上距眼睛302和304不同距离的对象使用不同程度的调节被聚焦。眼睛302和304呈现出特定的调节状态,以将不同距离的对象沿z轴聚焦。因此,可以说特定的调节状态与深度平面306中的特定一个相关联,该深度平面具有相关联的焦距,使得当眼睛对特定深度平面处于调节状态时,该深度平面中的对象或对象的一部分处于聚焦状态。在一些实施例中,可以通过为眼睛302和304中的每只提供图像的不同呈现,并且还通过提供与每个深度平面相对应的图像的不同呈现来模拟三维图像。尽管为了图示清楚,将眼睛302和304的各个视野示出为分离的,但是它们可以随着沿z轴的距离增加而重叠。另外,尽管为了易于说明,深度平面的轮廓(在特定的调节状态下眼睛聚焦的点的轨迹)显示为平坦的,但它们在物理空间中可能是弯曲的。人眼通常可以解释有限数量的深度平面以提供深度感知。因此,可以通过向眼睛提供与这些有限数量的深度平面中的每一个相对应的图像的不同呈现,来实现感知深度的高度可信的模拟。
波导堆叠组件
图4示出了用于向用户输出图像信息的波导堆叠的示例。可穿戴系统400包括可以用于采用多个波导432b、434b、436b、438b、4400b向眼睛/大脑提供三维感知的波导堆叠或堆叠波导组件480。在一些实施例中,可穿戴系统400对应于图2的可穿戴系统200,图4更详细地示意性地示出了该可穿戴系统200的一些部分。例如,在一些实施例中,波导组件480可以被集成到图2的显示器220中。
继续参考图4,波导组件480还可以包括在波导之间的多个特征458、456、454、452。在一些实施例中,特征458、456、454、452可以是透镜。在其它实施例中,特征458、456、454、452可以不是透镜。而是它们可以简单地是间隔物(例如,用于形成空气间隙的包层或结构)。
波导432b、434b、436b、438b、440b或多个透镜458、456、454、452可以被配置为以各种级别的波前曲率或光线发散向眼睛发送图像信息。每个波导级别可以与特定的深度平面相关联,并且可以被配置为输出与该深度平面对应的图像信息。图像注入装置420、422、424、426、428可用于将图像信息注入到波导440b、438b、436b、434b、432b中,其中的每一个波导可以被配置为分配入射光穿过每一个相应的波导,用于向眼睛410输出。光从图像注入装置420、422、424、426、428的输出表面出射并被注入到波导440b、438b、436b、434b、432b的相应输入边缘。在一些实施例中,可以将单个光束(例如,准直光束)注入到每一个波导中,以便与特定波导相关联的深度平面对应的特定角度(和发散量)输出朝向眼睛410定向的克隆准直光束的整个视场。
在一些实施例中,图像注入装置420、422、424、426、428是分立显示器,每个显示器产生用于分别注入到相应波导440b、438b、436b、434b、432b中的图像信息。在一些其它实施例中,图像注入装置420、422、424、426、428是单个复用显示器的输出端,其可以例如经由一个或多个光导管(诸如,光纤线缆)向图像注入装置420、422、424、426、428中的每一个图像注入装置输送图像信息。
控制器460控制堆叠波导组件480和图像注入装置420、422、424、426、428的操作。控制器460包括调节图像信息到波导440b、438b、436b、434b、432b的定时和提供的编程(例如,在非暂时性计算机可读介质中的指令)。在一些实施例中,控制器460可以是单个整体装置,或通过有线或无线通信通道连接的分布式系统。在一些实施例中,控制器460可以是处理模块260或270(图2所示)的部分。
波导440b、438b、436b、434b、432b可以被配置为通过全内反射(TIR)在每一个相应的波导内传播光。波导440b、438b、436b、434b、432b可以各自是平面的或具有其它形状(例如,弯曲),并且可以具有主要的前表面和后表面,其中边缘在这些主要的前表面和后表面之间延伸。在所示的配置中,波导440b、438b、436b、434b、432b可以各自包括光提取光学元件440a、438a、436a、434a、432a,这些光提取光学元件被配置为通过将每一个相应波导内传播的光重定向而将光提取到波导外,以向眼睛410输出图像信息。提取的光也可以被称为外耦合的光,并且光提取光学元件也可以被称为外耦合光学元件。提取的光束在波导中传播的光照射光重定向元件的位置处被波导输出。光提取光学元件(440a,438a,436a,434a,432a)可以例如是反射或衍射光学特征。虽然为了便于描述和清晰绘图起见而将其图示设置在波导440b、438b、436b、434b、432b的后主表面处,但是在一些实施例中,光提取光学元件440a、438a、436a、434a、432a可以设置在前或后主表面处,或可以直接设置在波导440b、438b、436b、434b、432b的体积中。在一些实施例中,光提取光学元件440a、438a、436a、434a、432a可以形成在附接到透明基板的材料层中以形成波导440b、438b、436b、434b、432b。在一些其它实施例中,波导440b、438b、436b、434b、432b可以是单片材料,并且光提取光学元件440a、438a、436a、434a、432a可以形成在那片材料的表面上或那片材料的内部中。
继续参考图4,如在此所讨论的,每一个波导440b、438b、436b、434b、432b被配置为输出光以形成与特定深度平面对应的图像。例如,最接近眼睛的波导432b可以被配置为将如注入到这种波导432b中的准直光传送到眼睛410。准直光可以代表光学无限远焦平面。下一个上行波导434b可以被配置为将穿过第一透镜452(例如,负透镜)的准直光在其可以到达眼睛410之前发出。第一透镜452可以被配置为产生轻微凸面的波前曲率,使得眼睛/大脑将来自下一个上行波导434b的光解释为来自第一焦平面,该第一焦平面从光学无限远处更靠近向内朝向眼睛410。类似地,第三上波导436b将输出光在到达眼睛410之前穿过第一透镜452和第二透镜454。第一透镜452和第二透镜454的组合光功率可被配置为产生另一增量的波前曲率,以使得眼睛/大脑将来自第三波导436b的光解释为来自第二焦平面,该第二焦平面从光学无穷远比来自下一个上行波导434b的光更靠近向内朝向人。
其它波导层(例如,波导438b、440b)和透镜(例如,透镜456、458)被类似地配置,其中堆叠中的最高波导440b通过它与眼睛之间的全部透镜发送其输出,用于代表最靠近人的焦平面的聚合(aggregate)焦度。当在堆叠波导组件480的另一侧上观看/解释来自世界470的光时,为了补偿透镜458、456、454、452的堆叠,补偿透镜层430可以设置在堆叠的顶部处以补偿下面的透镜堆叠458、456、454、452的聚合焦度。这种配置提供了与可用波导/透镜配对一样多的感知焦平面。波导的光提取光学元件和透镜的聚焦方面可以是静态的(例如,不是动态的或电激活的)。在一些替代实施例中,两者之一或者两者都可以是使用电激活特征而动态的。
继续参考图4,光提取光学元件440a、438a、436a、434a、432a可以被配置为将光重定向到它们相应的波导之外并且针对与波导相关联的特定深度平面输出具有适当的发散量或准直量的该光。结果,具有不同相关联深度平面的波导可具有不同配置的光提取光学元件,其取决于相关联的深度平面输出具有不同发散量的光。在一些实施例中,如在此所讨论的,光提取光学元件440a、438a、436a、434a、432a可以是体积或表面特征,其可以被配置为以特定角度输出光。例如,光提取光学元件440a、438a、436a、434a、432a可以是体积全息图、表面全息图和/或衍射光栅。在2015年6月25日公开的美国专利公开No.2015/0178939中描述了诸如衍射光栅的光提取光学元件,其通过引用全部并入在此。
在一些实施例中,光提取光学元件440a、438a、436a、434a、432a是形成衍射光学元件(在此也称为“DOE”)的衍射特征。在一些实施例中,DOE具有相对较低的衍射效率,以使得仅光束的一部分通过与DOE的每次交互偏转向眼睛410,而其余部分经由全内反射继续移动通过波导。携带图像信息的光因此可以被分成多个相关的出射光束,该出射光束在多个位置处离开波导,并且该结果对于在波导内反弹的该特定准直光束是朝向眼睛304的相当均匀图案的出射发射。
在一些实施例中,一个或多个DOE可以在它们主动地衍射的“开”状态和它们不显著衍射的“关”状态之间可切换。例如,可切换的DOE可以包括聚合物分散液晶层,其中微滴在主体介质中包含衍射图案,并且微滴的折射率可以切换为基本上匹配主体材料的折射率(在这种情况下,图案不明显地衍射入射光),或者微滴可以切换为与主体介质的指数不匹配的指数(在这种情况下,该图案主动地衍射入射光)。
在一些实施例中,深度平面的数量和分布可以基于观看者的眼睛的瞳孔大小或方位而动态地改变。景深可与观看者的瞳孔大小成反比。因此,随着观看者眼睛瞳孔的大小减小,景深增加,使得由于平面的位置超出了眼睛的聚焦深度而不可辨别的该平面可能变得可辨别,并且随着瞳孔大小的减小和景深的相应增加表现为更聚焦。类似地,用于向观看者呈现不同图像的间隔开的深度平面的数量可随着瞳孔大小减小而减小。例如,观看者在不调整眼睛远离一个深度平面和到另一个深度平面的适应性的情况下,可能不能清楚地感知处于一个瞳孔大小的第一深度平面和第二深度平面的细节。然而,这两个深度平面可以在不改变适应性的情况下,对于处于另一瞳孔大小的用户同时充分地聚焦。
在一些实施例中,显示系统可以改变接收图像信息的波导的数量,基于瞳孔大小或方位的确定或者基于接收特定瞳孔大小或方位的电信号指示。例如,如果用户的眼睛不能区分与两个波导相关联的两个深度平面,则控制器460可以被配置或编程为停止向这些波导中的一个提供图像信息。有利地,这可以减轻系统的处理负担,从而增加系统的响应性。在其中波导的DOE可在开启和关闭状态之间切换的实施例中,当波导确实接收图像信息时,DOE可切换到关闭状态。
在一些实施例中,可能期望的是出射光束符合直径小于观看者眼睛的直径的条件。然而,考虑到观看者的瞳孔大小的可变性,满足这种条件可能是具有挑战性的。在一些实施例中,通过响应于观看者的瞳孔大小的确定而改变出射光束的大小,该条件在宽范围的瞳孔大小上满足。例如,随着瞳孔大小减小,出射光束的大小也可以减小。在一些实施例中,可以使用可变光圈来改变出射光束大小。
可穿戴系统400可以包括对世界470的一部分成像的面向外部的成像系统464(例如,数字相机)。世界470的这部分可以被称为世界相机的视场(FOV),并且成像系统464有时被称为FOV相机。可供观看者观看或成像的整个区域可被称为能视场(field of regard(FOR))。由于佩戴者可以移动他的身体、头部或眼睛以感知基本上空间中的任何方向,因此FOR可以包括围绕可穿戴系统400的立体角的4π球面度。在其他语境下,佩戴者的移动可能更受限制,并且因此佩戴者的FOR可以对向较小的立体角。从面向外部的成像系统464获得的图像可以用于跟踪用户做出的姿势(例如,手或手指姿势),检测用户前方的世界470中的对象等等。
可穿戴系统400还可以包括面向内的成像系统466(例如,数字相机),其观察用户的运动,诸如眼睛运动和面部运动。面向内的成像系统466可以用于捕获眼睛410的图像以确定眼睛304的瞳孔的大小和/或方位。面向内的成像系统466可以用于获得图像,这些图像用于确定用户正在观看的方向(例如,眼睛姿势)或用于用户的生物识别(例如,经由虹膜识别)。在一些实施例中,每只眼睛可以利用至少一个相机,以独立地分别确定每只眼睛的瞳孔大小或眼睛姿势,从而允许向每只眼睛呈现图像信息动态地适合该眼睛。在一些其它实施例中,只确定并假定单个眼睛410的瞳孔直径或方位(例如,每对眼睛仅使用单个相机)与用户的两只眼睛类似。可以分析由面向内的成像系统466获得的图像以确定用户的眼睛姿势或情绪,其可以由可穿戴系统400用来决定应该向用户呈现哪些音频或视觉内容。可穿戴系统400还可以使用诸如IMU、加速度计、陀螺仪等的传感器来确定头部姿势(例如,头部位置或头部方位)。
可穿戴系统400可以包括用户输入设备466,用户可以通过该用户输入设备466向控制器460输入命令以与可穿戴系统400交互。例如,用户输入设备466可以包括触控板、触摸屏、操纵杆、多自由度(DOF)控制器、电容感测设备、游戏控制器、键盘、鼠标、方向板(D-pad)、棒、触觉设备、图腾(例如,用作虚拟用户输入设备)等等。多DOF控制器可以感测在控制器的一些或所有可能的平移(例如,左/右、前/后、或者上/下)或旋转(例如,偏航、俯仰或滚动)中的用户输入。支持平移运动的多DOF控制器可以被称为3DOF,而支持平移和旋转的多DOF可以被称为6DOF。在一些情况下,用户可以使用手指(例如,拇指)在触敏输入设备上按压或滑动以向可穿戴系统400提供输入(例如,向由可穿戴系统400提供的用户界面提供用户输入)。用户输入设备466可在使用可穿戴系统400期间由用户的手握持。用户输入设备466可以与可穿戴系统400进行有线或无线通信。
图5示出了由波导输出的出射光束的示例。示出了一个波导,但是应该理解的是,波导组件480中的其它波导可以类似地起作用,其中波导组件480包括多个波导。光520在波导432b的输入边缘432c处被注入到波导432b中,并且通过TIR在波导432b内传播。在光520撞击在DOE 432a上的点处,一部分光如出射光束510离开波导。出射光束510被示出为基本上平行,但是取决于与波导432b相关联的深度平面,该出射光束510也可以以一定角度(例如,形成发散的出射光束)被重定向以传播到眼睛410。应该理解的是,基本上平行的出射光束可以指示具有光提取光学元件的波导,其中光提取光学元件将光外耦合以形成看起来被设置在距眼睛410较大距离(例如,光学无穷远)处的深度平面上的图像。其它波导或者其它光提取光学元件组可以输出更加发散的出射光束图案,这将需要眼睛410适应以将更近距离聚焦在视网膜上并且将被大脑解释为光来自比光学无穷远更接近眼睛410的距离。
图6是示出包括波导装置、将光光耦合到波导装置或从波导装置光耦合光的光耦合器子系统、以及控制子系统的光学系统的示意图。光学系统可用于生成多焦点立体图像或光场。该光学系统可以包括一个或多个主平面波导632a(在图6中仅示出一个)以及与至少一些主波导632a中的每一个主波导相关联的一个或多个DOE 632b。平面波导632b可以类似于参考图4讨论的波导432b、434b、436b、438b、440b。光学系统可以使用分布波导装置沿着第一轴(例如,图6所示的垂直轴或y轴)中继光,并且沿着第一轴扩展光的有效出射光瞳。分布波导装置可以例如包括分布平面波导622b和与分布平面波导622b相关联的至少一个DOE 622a。分布平面波导622b在至少一些方面可以与主平面波导632b相似或相同,但具有不同的方位。类似地,至少一个DOE 622a在至少一些方面可以与DOE 632a相似或相同。例如,分布平面波导622b或DOE 622a可以分别由与主平面波导632b或DOE 632a相同的材料构成。图6所示的光学显示系统600的实施例可以集成到图2所示的可穿戴系统200中。
中继的和出射光瞳扩展的光可以从分布波导装置被光耦合到一个或多个主平面波导632b中。主平面波导632b可以沿着优选地与第一轴正交的第二轴(例如,图6所示的水平x轴)中继光。值得注意的是,第二轴可以是与第一轴非正交的轴。主平面波导632b沿着该第二轴扩展光的有效出射光瞳。例如,分布平面波导622b可以沿着垂直y轴中继和扩展光,并且将该光传递到可以沿着水平x轴中继和扩展光的主平面波导632b。
光学系统可以包括一个或多个彩色光源(例如,红色、绿色和蓝色激光)610,这些彩色光源可以光耦合到单模光纤640的近端中。可以穿过压电材料的中空管642来通过或接收光纤640的远端。远端作为非固定柔性悬臂644从管642突出。压电管642可以与四个象限电极(未示出)相关联。例如,电极可以镀在管642的外侧、外表面或外周或直径上。芯电极(未示出)也可以位于管642的芯、中心、内周或内径中。
例如经由导线660电耦合的驱动电子器件650驱动相对的电极对独立地在两个轴上弯曲压电管642。光纤644的突出远端顶端具有机械谐振模式。谐振的频率可以取决于光纤644的直径、长度和材料特性。通过在光纤悬臂644的第一机械谐振模式附近振动压电管642,可以使得光纤悬臂644振动,并且可以扫过大的偏转。
通过激发两个轴上的谐振,光纤悬臂644的顶端在遍及二维(2D)扫描的区域中双轴扫描。通过与光纤悬臂644的扫描同步地调制一个或多个光源610的强度,从光纤悬臂644出射的光可以形成图像。美国专利公开No.2014/0003762中提供了这样的设置的描述,其通过引用全部并入在此。
光学耦合器子系统的部件可以准直从扫描光纤悬臂644出射的光。准直光可以由镜面648反射到包含至少一个衍射光学元件(DOE)622a的窄分布平面波导622b中。准直光通过TIR可以沿分布平面波导622b垂直地(相对于图6中所示的视图)传播,并且与DOE 622a重复相交。DOE 622a优选具有低衍射效率。这可以导致一部分光(例如,10%)在与DOE 622a的每个交点处被衍射朝向较大的主平面波导632b的边缘,并且一部分光通过TIR在其原始轨迹上向下分布平面波导622b的长度而继续。
在与DOE 622a的每个交点处,附加光可以被衍射向主波导632b的入口。通过将入射光分成多个外耦合组,光的出射光瞳可以在分布平面波导622b中由DOE 4垂直地扩展。从分布平面波导622b外耦合的该垂直扩展的光可以进入主平面波导632b的边缘。
进入主波导632b的光可以经由全内反射(TIR)沿着主波导632b水平传播(相对于图6所示的视图)。由于光通过TIR沿着主波导632b的至少一部分长度水平传播,因此光在多个点处与DOE 632a相交。DOE632a可以有利地被设计或构造成具有相位轮廓,该相位轮廓是线性衍射图案和径向对称衍射图案的总和,以产生光的偏转和聚焦。DOE 632a可以有利地具有低衍射效率(例如,10%),使得DOE 632a的每个交点只有一部分光束的光朝着视图的眼睛偏转,而其余的光经由TIR通过主波导632b继续传播。
在传播光和DOE 632a之间的每个交点处,一部分光朝着主波导632b的相邻面衍射,从而允许光脱离TIR,并且从主波导632b的面出射。在一些实施例中,DOE 632a的径向对称衍射图案另外向衍射光赋予聚焦水平,既整形单个光束的光波前(例如,赋予曲率)以及以与设计的聚焦水平相匹配的角度将光束转向。
因此,这些不同的路径可以通过多个DOE 632a以不同的角度、聚焦水平和/或在出射光瞳处产生不同的填充图案来使光耦合到主平面波导632b外。出射光瞳处的不同填充图案可以有利地用于创建具有多个深度平面的光场显示。波导组件中的每一层或堆叠中的一组层(例如3层)可用于产生相应的颜色(例如,红色、蓝色、绿色)。因此,例如,可以采用第一组的三个相邻层在第一焦深处分别产生红光、蓝光和绿光。可以采用第二组的三个相邻层在第二焦深处分别产生红光、蓝光和绿光。可以采用多组来产生具有各种焦深的全3D或4D彩色图像光场。
可穿戴系统的其他组件
在许多实施方式中,可穿戴系统可以包括除了上述可穿戴系统的部件之外或者替代的其它部件。例如,可穿戴系统可以包括一个或多个触觉设备或部件。触觉设备或部件可以可操作以向用户提供触觉感觉。例如,触觉设备或部件可以在接触虚拟内容(例如,虚拟对象、虚拟工具、其它虚拟构造)时提供压力或纹理的触觉感觉。触觉感觉可以复制虚拟对象表示的物理对象的感觉,或者可以复制虚拟内容表示的想象对象或角色(例如,龙)的感觉。在一些实施方式中,触觉设备或部件可以由用户穿戴(例如,用户可穿戴手套)。在一些实施方式中,触觉设备或部件可以由用户持有。
例如,可穿戴系统可以包括能由用户操纵以允许输入或与可穿戴系统交互的一个或多个物理对象。这些物理对象在这里可以被称为图腾(totem)。一些图腾可采取无生命对象的形式,例如一块金属或塑料、墙、桌子的表面。在某些实施方式中,图腾可能实际上不具有任何物理输入结构(例如,键、触发器、操纵杆、轨迹球、摇杆开关)。相反,图腾可以简单地提供物理表面,并且可穿戴系统可以渲染用户界面,以使用户看起来在图腾的一个或多个表面上。例如,可穿戴系统可以渲染计算机键盘和触控板的图像从而看起来驻留在图腾的一个或多个表面上。例如,可穿戴系统可以渲染虚拟计算机键盘和虚拟触控板从而看起来在用作图腾的薄铝矩形板的表面上。矩形板本身可能没有任何物理键或触控板或传感器。然而,可穿戴系统可以检测用户操纵或交互或者触摸矩形板,作为经由虚拟键盘或虚拟触控板进行的选择或输入。用户输入设备466(图4中所示)可以是图腾的实施例,其可以包括触控板、触摸板、触发器、操纵杆、轨迹球、摇杆或虚拟开关、鼠标、键盘、多自由度控制器,或者另一个物理输入设备。用户可以单独或与姿势一起使用图腾来与可穿戴系统或其它用户进行交互。
在美国专利公开No.2015/0016777中描述了本公开的与可穿戴设备、HMD和显示系统一起使用的触觉设备和图腾的示例,其全部内容通过引用并入本文。
示例可穿戴系统、环境和界面
可穿戴VR/AR/MR系统可以采用各种映射(mapping)相关技术以便在渲染的光场中实现高景深。在映射出虚拟世界时,了解现实世界中的特征和点以准确描绘与现实世界相关的虚拟对象是有利的。为此,从可穿戴系统的用户捕获的FOV图像可以通过包括新图片被添加到世界模型,这些新图片传达现实世界的各个点和特征的信息。例如,可穿戴系统可以收集一组地图点(例如2D点或3D点)并找到新的地图点以渲染更精确版本的世界模型。可以将第一用户的世界模型(例如,通过诸如云网络的网络)传送给第二用户,使得第二用户可以体验第一用户周围的世界。
图7是MR环境700的示例的框图。MR环境700可以被配置为从一个或多个用户可穿戴系统(例如,可穿戴系统200或显示系统220)或静止房间系统(例如,房间相机等)接收输入(例如,来自用户的可穿戴系统的视觉输入702,诸如房间相机的静止输入704,来自各种传感器的感测输入706,来自用户输入设备466的用户输入、手势、图腾、眼睛跟踪等)。可穿戴系统可以使用各种传感器(例如,加速度计、陀螺仪、温度传感器、运动传感器、深度传感器、GPS传感器、面向内的成像系统、面向外部的成像系统等)来确定用户的环境的位置以及各种其它属性。该信息可以进一步利用来自房间中的静止相机的信息进行补充,这些信息可以从不同的角度提供图像或各种线索。由相机(诸如房间相机和/或面向外部的成像系统的相机)获取的图像数据可以缩减为一组映射点。
一个或多个对象识别器708可以浏览接收到的数据(例如,点的收集)并且借助于地图数据库710来识别或映射点、标记图像,将语义信息附加到对象。地图数据库710可以包括随时间收集的各个点及其对应的对象。各种设备和地图数据库可以通过网络(例如LAN,WAN等)相互连接以访问云。
基于该信息和地图数据库中的点的集合,对象识别器708a-708n可识别环境中的对象。例如,对象识别器可以识别面部、人、窗、墙、用户输入设备、电视、用户环境中的其他对象等。一个或多个对象识别器可以专用于具有某些特征的对象。例如,对象识别器708a可以用于识别面部,而另一个对象识别器可以用于识别图腾。
可以使用各种计算机视觉技术来执行对象识别。例如,可穿戴系统可以分析由面向外部的成像系统464(图4中所示)获取的图像以执行场景重建、事件检测、视频跟踪、对象识别、对象姿势估计、学习、索引、运动估计或图像复原等。可以使用一个或多个计算机视觉算法来执行这些任务。计算机视觉算法的非限制性示例包括:尺度不变特征变换(SIFT)、加速鲁棒特征(SURF)、定向FAST和旋转BRIEF(ORB)、二进制鲁棒不变可缩放关键点(BRISK)、快速视网膜关键点(FREAK)、Viola-Jones算法、Eigenfaces方法、Lucas-Kanade算法、Horn-Schunk算法、均值平移(Mean-shift)算法,视觉同时定位和地图构建(vSLAM)技术、顺序贝叶斯估计器(例如,卡尔曼滤波器、扩展卡尔曼滤波器等)、光束法平差、自适应阈值化(和其他阈值化技术)、迭代最近点(ICP)、半全局匹配(SGM)、半全局块匹配(SGBM)、特征点直方图、各种机器学习算法(例如支持向量机、k-最近邻算法、朴素贝叶斯、神经网络(包括卷积或深度神经网络),或其它有监督/无监督模型等),等等。
对象识别可以附加地或替代地通过各种机器学习算法来执行。一旦经过训练,机器学习算法就可以由HMD存储。机器学习算法的一些示例可以包括:有监督或无监督机器学习算法,包括回归算法(例如,普通最小二乘回归),基于实例的算法(例如,学习矢量量化),决策树算法(例如,分类和回归树),贝叶斯算法(例如,朴素贝叶斯),聚类算法(例如,k均值聚类),关联规则学习算法(例如,先验算法),人工神经网络算法(例如,感知器),深度学习算法(例如,深度玻尔兹曼机,或深度神经网络),降维算法(例如,主成分分析),集成算法(例如,层叠泛化)和/或其他机器学习算法。在一些实施例中,可以针对各个数据集定制各个模型。例如,可穿戴设备可以生成或存储基础模型。基础模型可以用作起点以生成特定于数据类型(例如,远程呈现会话中的特定用户)、数据集(例如,在远程呈现会话中从用户获得的附加图像的集合)、条件情况或其他变化的附加模型。在一些实施例中,可穿戴HMD可以被配置为利用多种技术来生成用于分析聚合数据的模型。其他技术可包括使用预定义的阈值或数据值。
基于该信息和地图数据库中的点的收集,对象识别器708a-708n可识别对象并用语义信息对对象进行补充以赋予对象生命。例如,如果对象识别器识别一组点作为门,则系统可以附加一些语义信息(例如,门具有铰链并且在铰链周围具有90度的运动)。如果对象识别器识别出一组点作为镜子,则系统可以附加语义信息,即镜子具有可反射房间中对象的图像的反射表面。随着时间的推移,地图数据库会随着系统(可能驻留在本地或可能通过无线网络访问)积累更多来自世界的数据而增大。一旦对象被识别,信息就可以被传送到一个或多个可穿戴系统。例如,MR环境700可以包括关于在加利福尼亚发生的场景的信息。该环境700可以被发送到纽约的一个或多个用户。基于从FOV相机和其它输入接收的数据,对象识别器和其它软件部件可以映射从各种图像收集的点、识别对象等,使得场景可以准确地“传递”给可能在世界的不同地区的第二用户。环境700也可以使用拓扑图用于本地化目的。
图8是渲染与识别的对象相关的虚拟内容的示例方法800的过程流程图。方法800描述如何将虚拟场景呈现给可穿戴系统的用户。用户可能在地理上远离场景。例如,用户可能是在纽约,但可能想要查看目前在加利福尼亚州正在进行的场景,或者可能想要与居住在加利福尼亚州的朋友散步。
在框810处,可穿戴系统可以从用户和其它用户接收关于用户的环境的输入。这可以通过各种输入设备和地图数据库中已有的知识来实现。在框810处,用户的FOV相机、传感器、GPS、眼睛跟踪等向系统传达信息。在框820处,系统可以基于该信息确定稀疏点。稀疏点可用于确定姿势数据(例如,头部姿势、眼睛姿势、身体姿势或手势),这些姿势数据可用于显示和理解用户周围环境中各种对象的方位和位置。在框830处,对象识别器708a-708n可以使用地图数据库浏览这些收集的点并识别一个或多个对象。然后在框840处,该信息可以被传达给用户的个人可穿戴系统,并且在框850处,可以将期望的虚拟场景相应地显示给用户。例如,期望的虚拟场景(例如,加州的用户)可以与纽约的用户的各种对象和其它环境的相关地显示在适当的方位、位置等。
图9是可穿戴VR/AR/MR系统的另一示例的框图。在该示例中,可穿戴系统900包括地图,该地图可以包括世界的地图数据。地图可以部分地驻留在可穿戴系统上,并且可以部分驻留在可以通过有线或无线网络(例如,在云系统中)访问的联网存储位置处。姿势处理910可以在可穿戴计算架构(例如,处理模块260或控制器460)上执行,并且利用来自地图的数据来确定可穿戴计算硬件或用户的位置和方位。姿势数据可以根据用户正在体验系统并在世界上操作时随时收集的数据来计算。数据可以包括图像,来自传感器(例如通常包括加速度计和陀螺仪组件的惯性测量单元)的数据以及与真实或虚拟环境中的对象有关的表面信息。
稀疏点表示可以是同时定位和地图构建(SLAM或V-SLAM,参考其中输入只是图像/视觉的配置)过程的输出。该系统可以配置为不仅可以查找各个部件在世界中的位置,而且还了解世界由什么组成。姿势可以是实现许多目标的组成部件,包括填充地图和使用来自地图的数据。
在一个实施例中,稀疏点位置本身可能并不完全足够,并且可能需要进一步的信息来产生多焦点AR、VR或MR体验。通常涉及深度地图信息的密集表示可以被用来至少部分地填补该缺口。这样的信息可以根据被称为立体(Stereo)940的过程来计算,其中使用诸如三角测量或飞行时间感测的技术来确定深度信息。图像信息和有源(active)图案(诸如使用有源(active)投影仪创建的红外图案)可以用作立体过程940的输入。大量的深度地图信息可以融合在一起,并且其中一些可以用表面表示来概括。例如,数学上可定义的表面可以是有效的(例如相对于大的点云)并且对诸如游戏引擎的其它处理设备是可消化输入。因此,可以在融合过程930中组合立体过程(例如,深度图)940的输出。姿势也可以是该融合过程930的输入,并且融合过程930的输出变成填充地图过程920的输入。例如在地形绘制中,子表面可以彼此连接以形成更大的表面,并且地图变成点和表面的大混合。
为了解决混合现实过程960中的各个方面,可以使用各种输入。例如,在图9所示的实施例中,游戏参数可以是输入以确定系统的用户正在与各种位置处的一个或多个怪物进行怪物作战游戏,在各种条件下死亡或逃跑的怪物(诸如如果用户射击怪物),各种位置处的墙壁或其它对象等。世界地图可以包括关于这样的对象彼此相对的位置的信息,以作为混合现实的另一个有价值的输入。与世界相关的姿势也成为一种输入,并且对几乎任何交互系统都起着关键作用。
来自用户的控制或输入是可穿戴系统900的另一输入。如这里所述,用户输入可以包括视觉输入、手势、图腾、音频输入、感觉输入等。为了在周围移动或玩游戏,例如,用户可能需要指示可穿戴系统900关于他或她想做什么。除了仅仅在空间中移动自己之外,还存在可以使用的各种形式的用户控制。在一个实施例中,图腾(例如,用户输入设备)或诸如玩具枪的对象可由用户握持并由系统跟踪。系统优选地将被配置为知道用户正握持物品并且理解用户与物品具有什么样的交互(例如,如果图腾或对象是枪,则系统可以被配置为理解位置和方位,以及用户是否在点击触发器或可以配备有传感器(诸如IMU)的其它感测按钮或元件,这可以有助于确定正在发生什么,即使当这种活动不在任何相机的视场内。)
手势跟踪或识别还可以提供输入信息。可穿戴系统900可以被配置成跟踪和解释按钮按压的手势,用于动作表示左或右、停止、抓住、握持等。例如,在一种配置中,用户可能想要翻阅非游戏环境中的电子邮件或日历,或与另一个人或玩家进行“拳头碰撞”。可穿戴系统900可以被配置为利用最小量的手势,其可以是动态的也可以不是动态的。例如,手势可以是简单的静态手势,如张开的手用于停止,拇指向上用于ok,拇指向下用于非ok;或者手向右或左、或上/下轻击用于方向命令。
眼睛跟踪是另一输入(例如,跟踪用户正在看的地方从而控制显示技术以在特定深度或范围渲染)。在一个实施例中,可以使用三角测量来确定眼睛的聚散度,然后使用针对特定人开发的聚散度/适应性模型,可以确定适应性。
关于相机系统,图9中示出的示例可穿戴系统900可以包括三对相机:布置在用户脸部两侧的相对宽的FOV或无源SLAM相机对,定向在用户前面的不同相机对,以处理立体成像过程940并且还捕获手势和用户面前的图腾/对象跟踪。用于立体过程940的FOV相机或者相机对可以是面向外部的成像系统464(在图4中示出)的一部分。可穿戴系统900可以包括眼睛跟踪相机(其可以是图4中所示的面向内的成像系统462的一部分),其朝向用户的眼睛定位从而对眼睛向量和其它信息进行三角测量。可穿戴系统900还可以包括一个或多个纹理光投影仪(诸如红外(IR)投影仪)以将纹理注入到场景中。
图10是用于确定向可穿戴VR/AR/MR系统的用户输入的示例方法1000的过程流程图。在这个示例中,用户可以与图腾进行交互。用户可具有多个图腾。例如,用户可具有社交媒体应用的指定的一个图腾,玩游戏的另一个图腾等。在框1010处,可穿戴系统可以检测图腾的运动。图腾的运动可以通过面向外部的系统进行识别或者可以通过传感器(例如,触觉手套、图像传感器、手跟踪设备、眼部跟踪相机、头部姿势传感器等)进行检测。
在框1020处,至少部分地基于检测到的手势、眼睛姿势、头部姿势或通过图腾的输入,可穿戴系统检测图腾(或用户的眼睛或头部或手势)相对于参考系的位置、方位和/或移动。参考系可以是一组地图点,可穿戴系统根据该地图点将图腾(或用户)的运动转换为动作或命令。在框1030处,与图腾的用户交互被映射。基于用户交互相对于参考系1020的映射,在框1040处系统确定用户输入。
例如,用户可以来回移动图腾或物理对象以表示翻动虚拟页面并移动到下一页面或者从一个用户界面(UI)显示屏幕移动到另一个UI屏幕。作为另一个示例,用户可以移动他们的头部或眼睛来查看用户FOR中的不同的现实或虚拟对象。如果用户注视特定现实或虚拟对象的时间长于阈值时间,则可以选择现实或虚拟对象作为用户输入。在一些实施方式中,可以跟踪用户眼睛的聚散度并且可以使用适应性/聚散度模型来确定用户眼睛的适应状态,其提供用户正在聚焦的深度平面的信息。在一些实施方式中,可穿戴系统可以使用光线投射技术来确定哪些现实或虚拟对象是沿着用户的头部姿势或眼睛姿势的方向。在各种实施方式中,光线投射技术可包括投射具有基本上很小横向宽度的薄的铅笔射线或具有基本横向宽度(例如锥体或平截头体)的投射光线。
用户界面可由在此所述的显示系统(例如图2中的显示器220)投影。它也可以使用各种其它技术显示,例如一个或多个投影仪。投影仪可以将图像投影到例如画布或球体的物理对象上。可以使用系统外部或系统的一部分的一个或多个相机(例如,使用面向内的成像系统462或面向外部的成像系统464)来跟踪与用户界面的交互。
图11是用于与虚拟用户界面进行交互的方法1100的示例的过程流程图。方法1100可以由在此描述的可穿戴系统来执行。
在框1110处,可穿戴系统可以识别特定UI。UI的类型可以由用户预先确定。可穿戴系统可以基于用户输入(例如,手势、视觉数据、音频数据、感测数据、直接命令等)识别特定UI需要填充。在框1120处,可穿戴系统可以生成针对虚拟UI的数据。例如,可以生成与UI的界限、一般结构、形状等相关的数据。另外,可穿戴系统可以确定用户的物理位置的地图坐标,使得可穿戴系统可以显示与用户的物理位置相关的UI。例如,如果UI是以身体为中心的,则可穿戴系统可以确定用户的身体姿态、头部姿势或眼睛姿势的坐标,使得可以在用户周围显示环形UI或者可以在墙上或在用户面前显示平面UI。如果UI是以手为中心的,则可以确定用户的手的地图坐标。这些地图点可以通过以下数据得出,通过FOV相机、感测输入所接收的数据或任何其它类型的收集数据。
在框1130处,可穿戴系统可以将数据从云端发送到显示器,或者可以将数据从本地数据库发送到显示器部件。在框1140处,基于发送的数据向用户显示UI。例如,光场显示器可以将虚拟UI投影到用户的一只或两只眼睛中。一旦创建了虚拟UI,在框1150处,可穿戴系统可以简单地等待来自用户的命令以在虚拟UI上生成多个虚拟内容。例如,UI可以是围绕用户身体的以身体为中心的环。然后,可穿戴系统可以等待命令(手势、头部或眼部运动、来自用户输入设备的输入等),并且如果识别出(框1160),则可以向用户显示与该命令相关联的虚拟内容(框1170)。作为示例,可穿戴系统可以在混合多个蒸汽(steam)轨道之前等待用户的手势。
在美国专利公开No.2015/0016777中描述了可穿戴系统、UI和用户体验(UX)的附加示例,其全部内容通过引用合并于此。
与各种用户输入设备和模式的示例交互
如参考图4和图9所描述的,用户可以使用诸如用户输入设备466、语音命令或姿势(例如,头部姿势、眼睛凝视或手势)之类的输入设备和模式与用户环境中的对象进行交互。图12示意性地示出了使用诸如手势1260、触摸板1280和键盘1240之类的各种输入设备和模式与对象交互的示例。
在图12中,用户可穿戴HMD 1220可以感知用户的FOV 1210中的对象1212。HMD1220可以是参考图2描述的可穿戴系统200的一部分。对象1212可以是物理对象或虚拟对象。物理对象可以包括物理上位于用户实际周围环境中的对象。例如,在客厅环境中,物理对象可以包括椅子、沙发、墙壁等。虚拟对象可以虚拟地叠加在用户的真实环境上,也可以是用户虚拟环境中的对象。虚拟对象可以包括操作系统对象,例如用于删除文件的回收站、用于输入命令的终端、用于访问文件或目录的文件管理器、图标、菜单、用于音频或视频流的应用、来自操作系统的通知,依此类推。虚拟对象还可以包括应用中的对象,例如化身、游戏中对象、图形或图像等。一些虚拟对象可以既是操作系统对象又是应用中的对象。在一些实施例中,可穿戴系统可以将虚拟元素添加到现有物理对象。例如,可穿戴系统可以在房间中添加与电视相关联的虚拟菜单,其中,虚拟菜单可以为用户提供使用可穿戴系统打开或改变电视频道的选项。
虚拟对象可以是三维(3D)、二维(2D)或一维(1D)对象。例如,虚拟对象可以是3D咖啡杯(其例如可以表示用于物理咖啡机的虚拟控件)。虚拟对象还可以是时钟的2D图形表示(向用户显示当前时间)。在一些实现中,一个或多个虚拟对象可以被显示在另一虚拟对象内(或与另一虚拟对象相关联)。
用户的FOR中的对象可以是参考图9所描述的世界地图的一部分。与对象相关联的数据(例如,位置、语义信息、属性等)可以存储在各种数据结构(例如,阵列、列表、树、散列、图形等)中。每个存储的对象的索引(例如适用)可以例如通过对象的位置来确定。例如,数据结构可以通过单个坐标(诸如对象距基准位置的距离(例如,距基准位置的左侧或右侧多远、距基准位置的顶部或底部多远、或距基准位置多深)来索引对象。可以基于用户的位置(例如,用户的头部的位置)来确定基准位置。基准位置也可以基于用户环境中虚拟或物理对象(例如目标对象)的位置来确定。这样,可以将用户环境中的3D空间折叠到2D用户界面中,在2D用户界面中,根据对象距基准位置的距离来排列虚拟对象。
可穿戴系统可以跟踪FOR中的对象以及FOV中的对象。例如,本地处理和数据模块260可以与远程处理模块270和远程数据存储库280通信,以获取用户的FOR中的虚拟对象。本地处理和数据模块260可以将虚拟对象存储在例如缓冲器或临时存储装置中。本地处理和数据模块260可以使用本文描述的技术来确定用户的FOV。本地处理和数据模块260可以访问所存储的虚拟对象,以识别和渲染用户的FOV中的虚拟对象的子集。当用户的姿势改变时,本地处理和数据模块260可以更新用户的FOV,并相应地渲染与用户的当前FOV相对应的另一组虚拟对象。
如本文所述,HMD 1220可以经由一个或多个对象识别器708来识别和跟踪用户的手势。例如,HMD可以使用面向外部的成像系统464来获取用户的手势的图像。对象识别器708可以分析图像以识别手势。在某些实施例中,可以通过HMD外部的相机来跟踪用户的手势。例如,相机可以包括固定相机,诸如室内相机(其位于用户环境中)、(有线或无线地)耦接到用户输入设备466(例如,图腾或键盘)的相机或另一计算设备上的相机(例如,耦接到个人计算机的网络相机)。
HMD 1220还可以支持与用户输入设备466的用户交互。通过图12的示例,用户可以启动图12中的触摸板1280和键盘1240以与对象1212进行交互。在某些实施例中,用户可以使用输入设备和模式的组合来与对象1212进行交互。例如,用户可以通过启动键盘1240上的按键来打开与对象1212相关联的虚拟菜单,并使用手势1260移动虚拟菜单。
将用户输入设备与HMD配对的示例
用户输入设备466(例如,触摸板1280或键盘1240)可以经由有线或无线信道(例如,经由蓝牙或射频(RF)接收器)耦接到HMD 1220。用户输入设备466可以例如使用蓝牙或RF协议无线地或者经由诸如USB连接的有线连接与HMD 1220配对或与之建立通信连接。配对过程可以由用户输入设备466或HMD 1220启动。在配对过程是由HMD启动的情况下,HMD1220可以使用多种技术在用户环境中识别目标用户输入设备。例如,HMD 1220可以直接查询目标用户输入设备。在设备能够根据支持这种查询的协议例如通过RF无线协议(诸如Wi-Fi或蓝牙)来识别自身的情况下,这是可能的。
HMD 1220还可以通过视觉提示来识别目标用户输入设备。例如,HMD 1220可以使用面向外部的成像系统464来获取目标用户输入设备的图像,并使用对象识别器708来识别目标用户输入设备的类型。对象识别器708可以实现例如与词袋(bag of Word)类型搜索组合的计算机视觉算法(诸如特征关键点方法(例如,SIFT)),或者通过人工神经网络(例如,“Alex-net”)的应用。HMD可以以分层的方式识别目标用户输入设备。例如,HMD可以运行第一算法来识别对象是物理键盘。然后,HMD可以运行第二算法来识别键盘的特征,诸如键盘的布局或键盘的制造商/型号(model)。
HMD 1220还可以基于用户输入(通过姿势)来识别目标用户输入设备。例如,用户可以通过将其手指指向键盘来识别用于配对的键盘。HMD 1220可以从用户的手指尖进行光线投射,并选择键盘,因为它与光线相交。
作为另一个示例,目标输入设备可以包括光学可读的唯一标签,诸如条形码、QR代码、LED图案等。HMD可以包括光学传感器(例如,世界相机),用于扫描标签或对标签成像并从标签中提取信息。所提取的信息可以包括设备标识符,诸如设备的制造商、类型等。标签可以粘贴到或印在目标设备上。例如,键盘1240可以具有明确指示键盘1240的品牌、型号、序列号等的贴纸或海报。作为另一个示例,键盘1240的商标可以印在键盘1240的表面上。
在一些实施例中,一旦HMD 1220与用户输入设备(例如,键盘1240或触摸板1280)配对,则HMD可以访问与用户输入设备的功能有关的信息(例如,通过从用户输入设备本身接收这样的信息、通过网络从远程源下载、通过访问本地存储的数据等),并基于用户输入设备的功能来设置配置设置。例如,如果HMD 1220识别键盘1240是外语键盘,则HMD 1220可以改变其系统语言设置(例如,英语、西班牙语、中文等)以匹配键盘1240的系统语言设置。
另外,在一些实施例中,一旦HMD 1220配对或以其他方式检测到与用户输入设备(例如,键盘1240、触摸板1280或任何其他图腾)的交互,则HMD可以创建或修改计算机数据结构,其中,从该特定用户输入设备接收或使用该特定用户输入设备执行的用户输入或动作被标记、贴标签或以其他方式与对应的HMD相关联,在进行这些输入时用户输入设备与该对应的HMD进行交互。数据结构可以在多个HMD设备之间共享(或以其他方式可访问),使得该数据结构可以包括将来自一个或多个用户输入设备的用户输入与一个或多个HMD设备相关的信息。在某些情况下,数据结构可以将来自单个用户输入设备的用户输入/动作与多个HMD设备关联,将来自多个用户输入设备的用户输入/动作与单个HMD设备关联,和/或将来自多个用户输入设备的用户输入/动作与多个HMD设备关联。然后,此信息可用于创建或修改计算机文件或虚拟对象,执行动作等。在某些情况下,将每个用户输入/动作与相应的HMD相关联的信息可用于指示执行了该输入或动作的人的身份。
例如,不同HMD设备的用户可以交替使用单个键盘1240来将文本、格式化改变等输入到文本文档中。数据结构可以用于存储在键盘1240与第一HMD交互时做出的那些键盘输入,以及在键盘1240与第二HMD交互时做出的那些用户输入。然后可以使用此信息来修改文本文档。例如,在与第一和第二HMD设备配对时做出的相应输入可以用于标记文本(例如,通过不同的颜色、字体、格式等)以显示第一HMD的用户输入或进行的文本、格式等,与在第二HMD与键盘1240配对时第二HMD的用户输入或进行的那些做对比。在其他实施例中,来自存储用户输入/动作以及对应的HMD的数据结构的信息还可用于执行其他动作。例如,可以检测由第一图腾的用户在游戏或应用中执行的动作,并将其与由相同图腾的第二用户执行的动作区分开。如刚刚讨论的那样,这可以基于每个HMD识别HMD用户正在与之交互的图腾然后将用户在与该图腾交互时所进行的那些动作或输入添加到数据结构中来实现。
示例键盘的概述
图12中所示的键盘1240可以是由HMD 1220渲染的虚拟键盘或物理键盘。在某些实现中,键盘1240可以控制多个设备。例如,键盘1240可以用于将单词描述输入到台式计算机中,而相同键盘1240也可以用于输入信息以与HMD 1220交互。
用户可以使用诸如触摸手势、轻击手势、按下手势等的各种手势来启动键盘1240。不同的手势可以与不同的输入功能相关联。例如,触摸手势可以使数字、符号或字符输入到HMD 1220中,而按下手势可以使HMD 1220打开命令提示。在某些实施例中,并非所有按键都可以识别相同类型的手势。例如,键盘1240可以包括被配置为识别触摸手势而不是按下手势的触摸区域。作为另一个示例,键盘1240可以包括不支持触摸手势的按键。
HMD 1220可以使用手势识别来检测键盘的启动。例如,HMD 1220可以通过分析(例如,使用对象识别器708)从面向外部的成像系统464或从外部相机获取的图像来跟踪用户手指的运动。附加地或替代地,HMD 1220可以基于用户的眼睛凝视进行光线投射,以识别与用户的视线方向相交的按键。一旦根据射线投射识别出按键,HMD 1220就可以相应地执行操作(例如,输入与该按键相关联的符号或字符、或者执行与该按键相关联的命令)。在一些实施例中,在认为该按键被用户的眼睛凝视“启动”之前,可能需要用户在其上观看该按键期间的预定停留时间段。
用于启动键盘的手势识别和射线投射技术可以应用于物理键盘和虚拟键盘。结果,用户可能不需要触摸物理键盘或按下物理键盘来启动按键。
键盘1240可以与一个或多个规格相关联。规格可以包括按键的布局和对应的按键功能、触摸面或其他控件。如参考图13A-13C所述,键盘1240的规格可以是动态可配置的。例如,键盘1240可以是空白的物理键盘(例如,物理键盘的按键可以不具有和/或不标记有永久分配的功能,诸如永久分配的字符、数字、符号等)。HMD可以将具有对应的动态分配的功能的一个或多个虚拟按键渲染到空白物理键盘的按键上。例如,当用户从一个应用切换到另一个应用时,配置可能会从一个改变为另一个。例如,HMD 1220可以为文字处理应用渲染QWERTY布局,其中,用户用10个手指打字。但是,如果用户与基于Web的应用进行交互(这对于两拇指键入来说更优选),则HMD 1220可以将KALQ布局渲染到空白的物理键盘上。
虚拟键盘的规格也可以是动态可重新配置的。例如,虚拟键盘可以是物理键盘的仿真。例如,可穿戴系统可以使用本文所述的各种技术来识别物理键盘。可穿戴系统可以使用计算机视觉技术或通过访问数据库来获取规格来进一步访问物理键盘的规格。例如,可穿戴系统可以与物理键盘的制造商通信以接收物理键盘的规格。在某些实现中,规格还可包括要为每个按键模拟的实际代码(例如用于字符、数字、符号等的ASCII代码)。作为另一示例,虚拟键盘可以为一个游戏应用渲染按键“A”、“D”、“W”、“S”,同时为不同的游戏应用渲染上、下、左和右箭头按键。
如本文中进一步描述,键盘1240上的一个或多个按键可以是触敏的。例如,在键盘1240是物理键盘的情况下,键盘上的空格键可以包括触摸表面(配置为接收用户对该按键的启动)、可以检测用户的手势的触摸传感器以及可以将从触摸传感器接收到的信号传送到HMD 1220的PCB板。在键盘1240是虚拟键盘的情况下,HMD 1220可以检测到一个或多个按键上用于启动这一个或多个按键的触摸手势或滑动手势。
键盘1240可以包括多个交互区域。一个交互区域可以与特定类型的用户交互相关联。例如,一个交互区域(诸如QWERTY键盘的数字键盘区域)可以支持触摸手势、滑动手势、轻击和按下手势,而另一交互区域(例如,字母区域)只能支持按下手势。
尽管参考键盘描述了示例技术,但是类似的技术也可以应用于其他类型的用户输入设备466。例如,图腾的规格也可以是动态可配置的。例如,图腾上的按键可以与游戏应用中的左箭头关联,而在数学相关应用中被分配给数字按键。
动态可重新配置物理键盘的示例
如参考图12所描述的,物理键盘可以包括一个或多个不具有标签的空白按键(例如,物理键盘的按键可以不具有和/或不标记有永久分配的功能,例如永久分配的字符、数字、符号等)。可穿戴系统可以为物理键盘的至少一部分动态地重新配置规格。如参考图12所描述的,可穿戴系统可以通过与键盘通信或使用视觉提示来识别键盘或键盘中的按键。例如,可穿戴系统可以通过从键盘接收设备标识符并通过与远程数据存储库280或计算设备(例如,与键盘制造商相关联的计算设备)通信来访问存储的布局来获取键盘中的按键的布局。另外地或替代地,可穿戴系统可以使用对象识别器708来识别键盘以及键盘上的按键的数量和位置。
图13A-13C示出了动态配置物理键盘的规格的示例。所配置的规格可用于在键盘上渲染虚拟按键标签。在这些附图中,用户可以感知虚拟用户界面1310,并且经由HMD 1210呈现的AR/MR场景示出了物理键盘1340。物理键盘1340可以是键盘1240的实施例。物理键盘1340的一部分可以包括物理标签。作为示例,按键1322a、1322b、1322c和1322d被标记为A、S、D、F。结果,当按键1322a被启动时,键盘1340可以发送指示将字母A输入系统中的信号。例如,按键1322a被按下的信号可以使可穿戴系统识别与按键1322a相关联的ASCII值。可穿戴系统可以自动将ASCII值转换为字母A,以进行用户界面交互(例如,当用户输入句子时)。
物理键盘的某些部分(诸如部分1342和1344)可以是空白的,这意味着空白的物理按键可能不具有和/或不标记有永久分配的功能,诸如永久分配的字符、数字、符号等。HMD1210可以基于上下文信息呈现虚拟按键标签。
上下文信息可以与物理键盘相关联,例如,物理键盘的位置或取向、现有布局、物理键盘支持的启动类型(例如,触摸、滑动等)、键盘的尺寸、空白按键的数量和位置等。例如,部分1342的布局适用于数字。结果,HMD 1210可以将数字0-9渲染为叠加在部分1342中的物理按键上的虚拟图像数据(作为AR图像数据),如图13B所示。可穿戴系统可以使用参考图7描述的各种计算机视觉算法来识别部分1342及其布局。例如,可穿戴系统可以获取图像,该图像示出了与部分1342相关联的表面的形状。在该示例中,与部分1342相关联的表面可以包括10个正方形凸起和1个矩形凸起。对象识别器708可以将该表面形状与10个正方形按键和一个矩形按键的布局相匹配。在某些实施例中,物理键盘可以具有一个或多个预先标记的按键。结果,可穿戴系统可以通过检测键盘的标签(例如,图像中的字母串“QWERTY”的序列)来识别对象是键盘。作为另一个示例,空格键(图示为按键1324)可以具有触敏表面。结果,HMD可以在按键1324上渲染滑动条,并且用户可以将滑动条从一端保持且移动到另一端以执行用户界面操作,例如,打开/关闭应用或在与滑动条移动相同的方向上移动虚拟对象。作为又一个示例,用户可以将物理键盘例如从客厅移动到卧室中的终端桌。作为移动的结果,可穿戴系统可以重新确定物理键盘的位置并相应地更新虚拟按键标签的渲染位置。可穿戴系统可以使用对象识别器708来跟踪物理键盘的位置。例如,可穿戴系统可以获取物理键盘的图像并且使用对象识别器708来解析图像以识别物理键盘。在某些实施例中,可穿戴系统可以使用模板来匹配物理键盘中的按键的位置。模板可以跟踪物理键盘表面的形状。在解析图像时,对象识别器708可以尝试将模板与图像中的物理键盘对准。一旦对准成功,对象识别器708就可以基于模板确定每个按键的位置。此外,用户可以在打字时改变键盘的位置或取向(例如,以获得更舒适的位置等)。可穿戴系统还可以检测键盘取向的这种改变,并相应地调整虚拟按键的渲染位置。
上下文信息还可以与用户环境或由HMD执行的应用的特性相关联,例如,用户环境中对象的布局、位置、尺寸、用户当前正在与之交互的对象的类型或交互性特征、用户环境的照明条件(例如,用于调整按键的照明)等。例如,如果用户环境中的对象彼此相对远离,则按键1324可以包括滑动条。通过在按键1324上滑动,用户可以更快地将虚拟对象移动到另一位置。但是,如果用户环境中的对象密集地在一起,则可穿戴系统可能不会渲染滑动条。而是,用户可能需要依靠部分1346中的箭头按键来移动虚拟对象。通过使用箭头按键,用户可以以更精细的方式移动虚拟对象,并且可以避免虚拟对象与另一对象的碰撞。作为另一个示例,用户可能希望在与用户厨房中适当启用的物理冰箱进行交互时使用键盘。在该示例中,用户可以使用键盘对冰箱进行编程(例如,冰箱的温度)。可穿戴系统可以检测用户的凝视方向,并使用射线投射技术来识别冰箱。当用户启动键盘时(例如,通过检测到对按键1324按压了延长时间段),或者当用户显示特定手势时,可穿戴系统可以进一步确定用户打算对冰箱进行编程。结果,可穿戴系统可以在键盘1340上针对冰箱渲染各种控件。例如,可穿戴系统可以在部分1342中的按键上渲染多个预设温度,例如0、-10或4摄氏度,同时在部分1346中渲染向上箭头和向下箭头以供用户进一步调整温度。
图13B和13C示出了基于对象的类型和交互特征来动态地重新配置键盘1340的示例。用户可以通过HMD 1210感知虚拟对象A1312a。可以在用户的3D环境中渲染虚拟对象A1312a。虚拟对象A1312a可以包括数学应用。结果,HMD 1210可以将数字0-9渲染到键盘1340的部分1342上。在某些情况下,数学应用可以既包括会计特征又包括数学特征。如果用户使用会计特征,则HMD 1210可以渲染如图13B所示的规格。然而,如果用户切换到数学特征,则HMD 1210可以渲染针对数学特征的附加按键。例如,HMD可以在键盘部分1344中渲染与数学运算符相关联的符号。如果用户正在与虚拟对象B1312b而不是虚拟对象A1312a交互,则可穿戴系统可以将键盘1340的规格调整为与如图13C所示。图13C中的规格包括部分1342中的符号,并且数字在部分1344中而不是在部分1342中(如图13B所示)。这可能是因为虚拟对象B1312b与文字处理应用而不是与数学相关的应用相关联。
上下文信息可以进一步基于用户的特性,例如,用户的人口统计信息、用户的偏好或用户的过去交互。例如,可穿戴系统可以根据为用户的母语设计的规格来确定用户的母语并在键盘1340上叠加按键标签。作为另一个示例,可穿戴系统可以基于用户的过去键入行为来识别一些经常使用的表情符号,并在键盘1340的部分1342中渲染表情符号以供用户访问。作为又一个示例,可穿戴系统可以通过从用户接收到选择AZERTY布局作为默认布局,或者通过观察用户过去与可穿戴系统的交互(例如,用户经常选择AZERTY布局而不是QWERTY布局),确定用户相对于QWERTY布局而言优选AZERTY布局。结果,可穿戴系统可以在键盘1340上渲染AZERTY布局而不是QWERTY布局。
在各种实施例中,上下文信息可以包括HMD的特性,例如,显示器220的光学特性。例如,通过显示器220感知到的用户的AR/MR FOV可能小于物理键盘的尺寸。结果,当用户正与HMD交互时,用户可能无法感知整个键盘1340。为了解决这个问题,可穿戴系统可以基于用户的凝视和头部姿势动态地移动按键的位置。例如,当用户正在玩的游戏可能需要四个方向按键(上、下、右和左)时,可穿戴系统最初可以渲染在部分1346中的四个方向按键。但是,如果用户向左转,用户的FOV可以相应地被更新。为了确保四个方向按键仍在用户的FOV中(例如,通过保持四个方向按键与用户的FOV之间的相对位置),HMD可以相应地在键盘1340上向左移动4个方向按键的渲染位置。作为此移动的结果,四个方向按键不再渲染在部分1346中的按键上。
HMD可以使用多种技术来将按键标签渲染到物理键盘1340上。HMD可以通过按键值的像素(pixel)贴(stick)在键盘的物理按键上渲染按键值(例如,字母“B”或“$”符号)。像素贴可以使图像或像素“贴”在3D空间中的某个位置或对象(例如,按键)上。作为另一个示例,可穿戴系统可以将与物理键盘的物理特性(例如,按键的尺寸、位置等)匹配的虚拟键盘覆盖为位于物理键盘的顶部。在各种实施例中,可穿戴系统可以将虚拟按键标签渲染到键盘1340的一部分。例如,可穿戴系统可以将虚拟按键标签渲染到部分1342中而不是键盘1340的其他部分中。在键盘1340的一些其他部分被预先标记(用物理标签)的情况下,用户可以基于物理标签所指示的功能通过显示器220看到并与这些预先标记的按键进行交互。
在某些实施例中,可穿戴系统可以将虚拟键盘标签渲染到已经具有物理标签的按键上。可以在不遮挡物理标签的位置处渲染虚拟键盘标签。例如,用户在与HMD交互时可以同时使用英语和希伯来语。键盘1340可以预先标记有英文字符。但是,当用户将输入模式切换为希伯来语时,可穿戴系统可以将希伯来语字符渲染到键盘的按键上。希伯来语字符可以在某个按键上渲染为靠近英文字符。希伯来语字符的位置可能不会遮挡英文字符。结果,用户可以感知英文字符(例如,由于物理标签)和希伯来语字符(例如,由于虚拟标签)两者。在一些实现中,虚拟按键标签可以遮挡物理标签。例如,虚拟按键标签的亮度可能大于用户环境中的灯光。结果,当在物理标签上渲染虚拟按键标签时,用户可能无法感知物理标签。
除了虚拟键盘标签的渲染位置之外或替代虚拟键盘标签的渲染位置,可穿戴系统还可以根据规格动态地更新按键的功能。参考图13B和13C,当按键1352最初被分配为0时,可穿戴系统可以将指示按键1352的启动的信号转换为与0相关联的ASCII值。可穿戴系统可以相应地根据为0的输入值执行操作。然而,在图13C中,按键1352被分配了等号。结果,可穿戴系统可以将指示按键1352的启动的信号转换为与“=”相关联的ASCII值。因此,可穿戴系统可以根据该输入来执行操作(例如,数学运算)。
尽管在图13A-13中的示例键盘1340包括具有物理标签的按键,在某些实施例中,键盘1340可以完全空白,并且可穿戴系统可以基于上下文信息将虚拟按键标签渲染在物理键盘上。此外,在各种实施例中,可以使用一个以上的上下文因素来确定物理键盘的规格。例如,除了与用户当前正在与之交互的应用之外,可穿戴系统还可以考虑用户的偏好,以确定应该在物理键盘1340上渲染哪种布局。尽管参考物理键盘对这些示例进行了描述,类似的技术和上下文信息也可以用于动态地重新配置虚拟键盘。例如,可穿戴系统可以基于参考图13A-13C描述的上下文信息将键盘模板(具有某些虚拟按键)动态地更新为各种虚拟按键值。
除了动态地重新配置物理键盘的按键的分配功能之外,键盘1340还可以包括触觉换能器或其他机械或电子元件,其可用于动态地改变物理键盘的一个或多个按键的“感觉”。可以为每个按键提供一个或多个这样的元件。这些元件可以改变与按键在被启动时对用户的感觉或响应方式有关的任何特性。例如,按键的阻力、重量、行程等都可以全部改变。可以响应于键盘规格的改变来执行任何按键的启动特性的改变。例如,如果HMD正在执行AR钢琴应用,则可以改变按键的启动特性,以提供更像钢琴的感觉。或者,如果HMD正在执行AR键入应用,则启动特性可以改变为类似打字机的样式。
键盘的示例部分和交互区域
在某些实施例中,物理键盘可以是可重新配置的,使得键盘可以由多个部分组装而成。键盘也可以分成多个部分。有利地,在一些实施例中,可重新配置的键盘可以允许用户容易地改变键盘的尺寸和形状。
图14示出了可重新配置的物理键盘1420的示例。可重新配置的物理键盘1420可以是图12所示的键盘1240的示例实施例。物理键盘1420可以被分成诸如1412、1414和1416以及其他部分1418之类的部分。例如,在用户玩游戏时,用户可以使用部分1414而不是整个键盘1420。通过从键盘1420分离部分1414,用户在与HMD 1210交互时不必携带整个键盘在1420周围。作为另一个示例,用户可以将部分1412和部分1416拼凑在一起以创建新的键盘。用户可以进一步将其他部分附接到新键盘上,以定制新键盘中按键的布局。例如,用户可能希望部分1414中的按键大于部分1420中的按键。结果,用户可以用提供比部分1414中的按键更大的按键的另一部分来替换部分1414。另一部分可以物理地附接到键盘1420,使得用户可以具有定制键盘,该定制键盘带有在键盘1420的原始部分1414中的更大按键。每个部分可以包括机械和/或电连接器以与其他部分配合和/或在各部分之间建立电气通信。
可以基于键盘或按键的机械特性、与按键相关联的功能或潜在命令来划分各个部分。例如,在一些实施例中,空格按键本身可以在一个部分中。用户可以按顺序附接多个空格按键,以创建类似于钢琴按键的键盘。结果,当HMD将虚拟钢琴呈现给用户弹奏时,用户可以使用组装的键盘。作为另一个示例,按键的一部分可以是矩形的形状,这可以减小将多个部分组装成对于用户移动不方便的形状的可能性。
如参考图12所述,键盘可以被划分成多个交互区域,其中,每个交互区域可以支持相似的用户交互或执行相似的功能。交互区域可能与键盘的各个部分一致,也可能不一致。例如,键盘可以包括与部分1414一致的一个交互区域和与部分1416一致的另一个交互区域。与部分1414一致的交互区域可以被设计用于移动对象(例如,上/下/左/右),而与部分1416一致的交互区域可以执行诸如数字操作的功能。然而,部分1412可以具有两个交互区域,其中,一个交互区域1422b以比另一交互区域1422a更暗的阴影示出。交互区域1422a中的按键可以包括电容触摸传感器,并且因此可以检测触摸手势。然而,交互区域1422b中的按键可能没有配备电容触摸传感器,因此它们可能无法识别触摸手势。作为另一个示例,用户可以将部分1412和部分1416组装成新的键盘。即使键盘具有多个部分,也可以将新键盘视为一个交互区域。
如参考图13A-13C所描述的,按键可能具有预打印的物理标签,也可能为空白。用户可以组装一个键盘,使所有按键为空白,或者使所有按键具有预打印的物理标签和永久分配的功能,或者仅预打印一部分键盘(例如,一个部分为空白,而另一部分为预打印标签)。HMD可以使用参考图13A-13C描述的类似技术来配置组装的键盘。例如,HMD可以使用对象识别器708来识别组装后的键盘中有多少个按键以及按键的位置。一旦HMD确定了组装后的键盘的物理布局,HMD就可以确定一个或多个按键是否为空白(例如,因为按键的图像没有在其上的标签),以及将哪些功能/虚拟标签分配给空白按键。
尽管参考物理键盘描述了图14中的示例,但是类似的技术也可以应用于虚拟键盘。例如,用户可以使用手势和手臂运动来组装或拆卸虚拟键盘。物理键盘中的部分可以对应于虚拟键盘的定义模板。
使用键盘的用户体验示例
如参考图12所描述的,键盘1240可以与用户的FOV和FOR中的对象交互。图15A示意性地示出了世界相机的能视域(FOR)、视野(FOV)、用户的视野以及用户的注视野的示例。
如参考图4所描述的,FOR 1500包括用户周围的环境的一部分,该环境能够被用户经由可穿戴系统感知。FOR可以包括围绕可穿戴系统400的立体角的4π立体弧度,因为佩戴者可以移动他的身体、头部或眼睛以感知空间中的基本上任何方向。在其他上下文中,佩戴者的运动可能会更受限制,因此佩戴者的FOR可能会对向(subtend)较小的立体角。
世界相机1570的视野可以包括当前由面向外部的成像系统464观察到的用户的FOR的一部分。参考图4,世界相机1570的视野可以包括在给定时间由可穿戴系统400观察到的世界470。世界相机1270的FOV的尺寸可以取决于面向外部的成像系统464的光学特性。例如,面向外部的成像系统464可以包括广角相机,该广角相机可以对用户周围的190度空间成像。在某些实现中,世界相机1570的FOV可以大于或等于用户眼睛的自然FOV。
用户1550的FOV可以包括用户在给定时间感知的FOR 1500的部分。用户1550的FOV可以取决于可穿戴设备的显示器的尺寸或光学特性。例如,AR显示器可以包括仅在用户浏览显示器的特定部分时才提供AR功能的光学器件。FOV 1550可以对应于当用户通过AR显示器(例如,堆叠的波导组件480(图4)或平面波导600(图6))观看时可感知的立体角。在某些实施例中,用户1550的FOV可以小于用户眼睛的自然FOV。
可穿戴系统还可以确定用户的注视野1590。注视野1590可以包括FOV 1550的一部分,用户的眼睛可以注视在该部分(例如,在该部分保持视觉凝视)。注视野1590可以小于用户的FOV 1550,例如,注视野可以跨度数度至约5度。结果,即使用户可以感知到FOV 1550中的一些虚拟对象,这些虚拟对象不在注视野1590中,但是在用户的周边视野中。
与物理键盘的示例UI交互
图15B示出了使用物理键盘1540与用户的FOR 1500和FOV 1550中的虚拟对象进行交互的示例。在图15B中,由虚线1552示意性地示出了FOV 1550。可穿戴系统的用户可以感知FOV 1550中的多个对象,诸如虚拟对象1542、虚拟对象1544以及虚拟对象1530的一部分。用户可能无法直接看到虚拟对象1510和1520,因为它们在FOR 1500中,但不在FOV 1550中。
用户可以启动键盘1540以将虚拟对象移入和移出FOV 1550。例如,用户可以按下按键1548以向右移动对象。在该示例中,虚拟地图1510最初位于用户的FOV 1550之外。如果触摸按键1548,则虚拟地图1510可以移动到用户的FOV 1550中,并且例如,虚拟对象1230可以移动到用户的FOV 1550之外。
如参考图13A-13C所描述的,键盘1540可以是具有空白按键的键盘,并且可穿戴系统可以将空白按键分配给特定功能以及与该功能相对应的虚拟标签。在一些实施例中,如果FOV 1550由于用户姿势(例如,头部姿势或眼睛注视)的改变而改变,则可穿戴系统可以动态地更新虚拟标签的渲染位置,并且可以将功能重新分配给新的按键,从而使用户仍然可以启动键盘1540以执行相同的功能。
图15C示出了呈现与物理键盘相关联的虚拟屏幕的示例。物理键盘可以包括空白的物理屏幕,该屏幕附接到物理键盘、从物理键盘延伸或与物理键盘集成在一起。这样的物理屏幕可以用作用于渲染具有一个或多个虚拟按键或其他交互特征的虚拟屏幕的位置。可穿戴系统可以呈现与物理键盘相关联的虚拟屏幕。物理键盘的启动可以导致在虚拟屏幕上执行用户界面操作。例如,可穿戴系统可以呈现虚拟屏幕1584以出现在键盘1540附近。当用户按下键盘1540时,用户可以在虚拟屏幕1584上移动或改变虚拟对象1582的尺寸。在特定实施例中,虚拟屏幕1584可以渲染键盘1540的图像。当用户启动键盘1540上的按键时,可穿戴系统可以向虚拟屏幕1584上的对应按键提供视觉焦点指示符。视觉焦点指示符可以包括光晕(基本上围绕或靠近对应的虚拟按键)、颜色、感知的尺寸或深度改变(例如,导致对应的虚拟按键看起来更近和/或更大)、或引起用户注意的其他视觉效果。有利地,在一些实施例中,通过呈现与物理键盘1540相对应的虚拟屏幕1584,用户不需要向下看即可知道他正在按下哪个按键。当用户与HMD交互时,这可以减少用户疲劳。
在某些实现中,在物理键盘1540上渲染的虚拟按键标签的尺寸可以基于用户的头部姿势而改变。例如,物理键盘1540可以被呈现在桌子上。在HMD的IMU检测到用户正向下看物理键盘1540时,虚拟按键标签可以被放大以帮助用户看到用户正在按下哪个按键。该尺寸改变不限于物理键盘1540具有对应的虚拟屏幕的情况。例如,当用户正与如图15B所示的FOV和FOR中的对象进行交互时,也可以实现尺寸改变。
可穿戴系统可以基于本文所述的上下文信息来更新渲染位置或将虚拟屏幕设置为可见/不可见。例如,如果键盘1540在用户的FOV中,则可穿戴系统可以显示虚拟屏幕1584。如果用户的姿势改变并且键盘1540不再位于用户的FOV中,则可穿戴系统可以隐藏虚拟屏幕1584。虚拟屏幕1584可以与各种视觉效果相关联。例如,当虚拟屏幕1584被设置为可见时,可穿戴系统可以呈现向下滚动虚拟屏幕1584的动画。当虚拟屏幕1584设置为不可见时,可穿戴系统还可以呈现向上滚动动画。
如本文所述,物理键盘可用于与虚拟对象或物理对象进行交互。在与物理对象进行交互的情况下,可穿戴系统可以检测物理键盘的启动(例如,通过来自物理键盘的电容传感器的信号),并将对应的命令传达给物理对象(例如,冰箱、电视机或咖啡机等),以使物理对象执行动作(例如,打开/关闭、改变温度、改变频道/音量等)。
与虚拟键盘的示例UI交互
在各种实施例中,可穿戴系统可以生成虚拟键盘,该虚拟键盘可以用于与用户环境中的物理或虚拟对象进行交互。虚拟键盘可以用叠加的AR图像数据渲染在表面(例如,桌子或墙壁)上,或渲染在用户的3D环境中(例如,渲染在用户前面而不会与表面碰撞)。
如本文所述,虚拟键盘还可以基于上下文信息动态地配置。在一个示例中,可穿戴系统可以基于用户当前正在与之交互的对象来确定虚拟键盘的规格,并且可以基于该规格在用户的环境中渲染虚拟键盘。例如,可穿戴系统可以确定用于与对象交互的最常用的按键,并且可以渲染虚拟键盘以包括最常用的按键。如果用户想要使用不是经常使用的按键的按键,则用户可以启动虚拟键盘或改变其姿势以使可穿戴系统调出先前未在虚拟键盘上渲染的其他按键。作为另一个示例,如果应用是基于数学的应用,则可穿戴系统可以渲染虚拟数字键盘。如果应用涉及外语(例如,语言学习应用或信使应用),则可穿戴系统可以渲染虚拟键盘,其中,按键针对该外语进行了定制。
作为另一个示例,虚拟键盘可以是用户环境中物理键盘的仿真。如参考图12所描述的,在可穿戴系统识别出物理键盘之后,可穿戴系统可以例如从远程数据存储库280访问物理键盘的规格。可穿戴系统可以在用户的环境中渲染对应的虚拟键盘。因此,用户不必随身携带物理键盘以便与用户环境中的对象进行交互。
在某些情况下,在物理键盘是可重新配置的情况下,当可穿戴系统检测到物理键盘的配置的更新时,可穿戴系统也会相应地更新虚拟键盘。例如,用户可以最初与物理键盘A进行交互。可穿戴系统可以根据物理键盘A的规格相应地渲染虚拟键盘。但是,用户可以通过物理地附接键盘A与键盘B来组装新的物理键盘,以便新的物理键盘可以具有两个部分,一个部分对应于物理键盘A,而另一部分对应于物理键盘B。可穿戴系统可以基于由面向外部的成像系统464或HMD外部的相机获取的图像检测到新键盘是基于键盘A和键盘B组装的。例如,当用户将物理键盘A和B组装在一起时,可穿戴系统可以跟踪它们的移动。可穿戴系统还可以基于视觉提示(例如,按键的布局、物理键盘的按键上的标签等)分析物理键盘的图像以识别物理键盘的规格。可穿戴系统可以通过组合物理键盘A和B的规格来识别规格。可穿戴系统还可以基于规格的视觉提示访问数据存储以获取规格。可穿戴系统可以根据新物理键盘的规格更新虚拟键盘并渲染虚拟键盘。更新的虚拟键盘可以具有新物理键盘的布局和功能。
在一些实施例中,用户可以基于用户姿势的改变或基于用户输入设备的启动在物理键盘和虚拟键盘之间切换。例如,如果用户按下物理键盘上的按键,则可穿戴系统可以将输入模式从虚拟键盘改变为物理键盘。作为另一示例,用户可以使用手势(例如,两次放弃(waiving)他或她的手)以使HMD呈现虚拟键盘以供用户交互。
可穿戴系统还可以自动执行切换。自动切换可以基于用户的姿势(例如,手势、头部姿势、凝视等)。例如,可穿戴系统可以呈现用于用户交互的虚拟键盘。当用户移动他或她的身体和头部时,可穿戴系统可能会检测并识别用户FOV中的物理键盘。可穿戴系统可以使虚拟键盘渲染在物理键盘上,并动态配置物理键盘的功能以包括虚拟键盘的功能。因此,用户可以使用物理键盘与可穿戴系统进行交互。在某些情况下,可穿戴系统可以将虚拟键盘的一部分渲染到物理键盘上。例如,物理键盘可以是数字键盘。但是,虚拟键盘也可以包括不是数字的其他按键(例如,字母)。结果,可穿戴系统可以将数字的虚拟标签渲染到数字键盘上,而不将其余虚拟按键渲染到数字键盘上。如果数字键盘已经被预先标记,则可穿戴系统可以在虚拟键盘中将数字按键隐藏,但允许用户通过数字键盘输入数字。
图16A-16D示出了示例特征和与虚拟键盘的用户交互。用户的环境可能与多个虚拟键盘相关联。例如,可以使用QWERTY键盘或Dvorak键盘与对象进行交互。作为另一示例,用户环境中可能有多个物理键盘,这可能导致可穿戴系统创建多个对应的虚拟键盘。作为另一个示例,用户环境中的对象可以与不同虚拟键盘相关联。电视1610可以与具有类似于遥控器的布局的虚拟键盘相关联,而虚拟化身1624可以与具有可触摸区域的虚拟键盘相关联。
用户可以使用姿势或通过启动用户输入设备来选择虚拟键盘。例如,用户可以通过凝视虚拟键盘达特定时间段(例如,5、10、15秒等)来选择虚拟键盘。用户还可以使用图腾指向对象(例如,电视1610或化身1624),这可以使可穿戴系统呈现与该对象相关联的虚拟键盘。在某些实施例中,可穿戴系统可以使多个虚拟键盘渲染在用户环境中。用户可以使用抓握手势选择一个或多个虚拟键盘。用户还可以使用扔掉的手势移除其他虚拟键盘。
图16A示出了HMD的用户所感知的环境的示例。示例环境1600a包括用户家的客厅。环境1600a具有诸如电视(TV)5110、电视架1630和窗户5140之类的物理对象以及诸如虚拟建筑物1622和虚拟化身1624之类的虚拟对象。
当用户佩戴HMD时,用户可以感知物理对象并使用虚拟键盘与物理对象进行交互。例如,用户可以在佩戴HMD的同时观看TV 1610。虚拟键盘1620可以用作控制TV的遥控器(例如,参见图16D所示)。例如,用户可以启动虚拟空格按键1652(如图16B所示)以打开/关闭TV1610。用户还可以启动方向按键(例如,标有上/下/左/右箭头的按键)以改变TV 1610的频道或音量。
用户还可以启动虚拟键盘1620以与虚拟对象交互。参考图16A和16B,用户可以使用标记为“-”的按键来减小虚拟化身1624的尺寸(例如,从图16A所示的尺寸减小到图16B所示的尺寸)。用户还可以在空格按键1652上向左滑动以将虚拟化身1624从图16A所示的位置移动到图16B所示的位置。
在示例环境1600a和1600b中,虚拟键盘1620被渲染为遮挡窗口1640的一部分。在一些实施例中,虚拟键盘可以是透明的,使得用户可以通过虚拟键盘1620看到窗户1640。
虚拟键盘的渲染位置可以取决于上下文信息。例如,如果用户正在与TV 1610交互,则可以在TV 1610附近渲染键盘1620。也可以在用户手臂的可及范围内(例如,在距用户0.3-1.5m的距离内)渲染键盘1620。在某些情况下,虚拟键盘的规格可以取决于渲染位置。例如,如果虚拟键盘距离用户较远,则按键或虚拟键盘(整体)的尺寸可能会增加。但是,如果虚拟键盘在用户手臂可及范围内,则可以不改变按键或虚拟键盘的尺寸。有利地,在一些实施例中,通过基于距离动态地调整按键/虚拟键盘的尺寸,可穿戴系统可以减少用户疲劳并增加用户与虚拟键盘交互的准确性。这是因为除非用户将他的手臂保持在非常精确的位置,否则很难精确地定位一个小按键。
作为基于上下文信息调整渲染位置的另一示例,可穿戴系统可以基于用户的移动来调整渲染位置。例如,虚拟键盘1620可以与用户的头部移动一起移动。结果,虚拟键盘1620可以保持在用户的FOV中而不管用户的头部移动如何。
如参考图13A-14所述,在一些实施例中,可穿戴系统可以基于上下文信息动态地更新虚拟键盘1620的规格。例如,可穿戴系统可以基于上下文信息动态地显示或移除虚拟键盘1620的一部分或虚拟键盘1620的一个或多个按键。例如,当用户正在观看TV 1610时,可穿戴系统可以在虚拟键盘1620中呈现方向按键以用于音量和频道调整,同时隐藏其余的按键。
例如,如图16D所示,当移除虚拟键盘1620时,可穿戴系统可以提供虚拟键盘1620的过渡效果。移除可能是对触发事件的响应,诸如长时间段的不活动或用户的手势。一旦可穿戴系统确定满足触发事件,则可穿戴系统可以逐渐增加虚拟键盘1620的透明性。
除了图16B所示的使用手势与虚拟键盘交互之外或作为其替代,用户还可以图16C所示使用头部姿势与虚拟键盘交互。例如,可穿戴系统可以使用面向内部的成像系统464以确定用户的凝视方向,并使用IMU以确定用户的头部姿势。基于眼睛凝视和头部姿势,可穿戴系统可以对虚拟键盘上的按键执行射线投射。如果按键与射线投射中的光线相交,则可穿戴系统可以检测到按键的启动。
与物理键盘的UI交互的示例过程
图17A示出了动态配置物理键盘并与之交互的示例过程。示例过程1700可以由本文描述的可穿戴系统执行。
在框1710,可穿戴系统可以识别用户环境中的物理键盘。物理键盘包括与预定义标签或功能不相关的一个或多个空白按键。可穿戴系统可以通过与物理键盘进行电子通信(例如,经由蓝牙、WiFi或RF协议等)来识别物理键盘。可穿戴系统还可以通过访问和分析用户环境的图像来识别物理键盘。图像可以通过可穿戴系统的面向外部的成像系统、通过用户环境中的相机(例如,室内相机)或通过另一计算设备(例如,笔记本电脑或图腾)的相机来获取。如参考图12所描述的,可穿戴系统可以使用对象识别器708来分析图像以识别物理键盘。
在可选框1720,可穿戴系统可以将物理键盘与头戴式显示器配对。头戴式显示器可以是可穿戴系统的一部分,并且可以是图2中的显示器220的实施例。可以使用参考图12描述的各种有线和无线配对技术来将物理键盘与头戴式显示器配对。在一些实施例中,物理键盘上的按键可以被点亮。例如,一个或多个按键可以包括发光二极管(LED)或具有围绕按键的LED。可穿戴系统可以捕获由物理键盘点亮的光图案的图像,并使用对象识别器708基于光图案提取信息。例如,假定物理键盘的设备标识符为1234。具有标签“1”、“2”、“3”和“4”的按键可能会被点亮。面向外部的成像系统可以在键盘的图像中捕获此照明图案。对象识别器708可以识别按键上的标签(例如,“1”、“2”、“3”、“4”),并识别这些按键的照明。对象识别器708可以相应地基于照明图案提取数字1234。可穿戴系统可以使用该数字“1234”来获取物理键盘的设备信息。在某些情况下,按键的照明可以是顺序的。例如,标记为“1”的按键可以在标记为“2”的按键之前点亮以表示数字“12”。但是,如果标记为“2”的按键在标记为“1”的按键之前点亮,则从该照明顺序提取的数字为“21”。除数字外或作为数字的替代,其他按键(诸如标有字母的按键)也可以在设备配对期间点亮。此外,键盘还可以使用照明图案来传达设备标识符以外的信息。例如,键盘可以使用在此描述的照明图案来传达配对密码、键盘制造商的信息、键盘的型号、键盘支持的通信或配对协议等。
在框1730,可穿戴系统可以访问上下文信息。如参考图12-13C所述,上下文信息可以单独地或组合地与键盘、用户、头戴式显示器、环境相关联。
在框1732,可穿戴系统可以识别空白按键以及该空白按键在物理键盘上的位置。可穿戴系统可以使用对象识别器708进行这种识别。例如,如果键盘没有物理标签,则可穿戴系统可以将键盘识别为空白按键。可穿戴系统还可以另外或替代地考虑按键的形状或位置。例如,可穿戴系统可以识别位于键盘边缘附近的按键,并且该按键具有长矩形形状。尽管此按键上可能没有标签,但是可穿戴系统仍可以确定该按键不是空白按键,因为它已被指定为空格按键。
在框1734,可穿戴系统可以基于上下文信息确定将被分配给空白按键的虚拟按键。例如,如参考图13A-13C所描述的,可穿戴系统可以基于空白按键的位置来确定诸如与键盘或键盘的一部分相关联的布局或功能的规格。
在框1736,可穿戴系统可以生成将功能与空白按键的启动相关联的指令。例如,可以将空白按键分配给符号“+”。结果,当按下空白按键时,头戴式显示器可以显示符号“+”。在一些实施例中,可以将多个功能分配给一个空白按键。每个功能可以与启动空白按键的手势相关联。例如,可以将一个按键分配给商标符号(例如,)和版权符号(例如,)。当触摸按键时,可以将商标符号输入到可穿戴系统中,但是当按下按键时,可以输入版权符号。
在框1738,可穿戴系统还可以将虚拟按键的图像渲染到空白按键上。在此样本示例中,可穿戴系统可以在空白按键上叠加虚拟按键标签“+”。在将按键分配给多个符号的情况下,可穿戴系统可以在按键上渲染两个按键标签(例如,商标符号和版权符号二者)。另外地或可替代地,可穿戴系统可以基于如何启动键盘来渲染虚拟按键标签。例如,当按键被触摸时,可以显示商标符号,但是当按键被按下时,可以显示版权符号。当用户以某种方式启动按键时,可穿戴系统可以提供焦点指示符,其显示出如何启动按键。例如,当按键被触摸时,可穿戴系统可以显示商标符号尺寸的增加。除了参考图15B描述的示例视觉焦点指示符之外或作为其替代,焦点指示符还可以包括其他类型的反馈,例如,触觉或音频反馈。例如,键盘或可穿戴系统可以基于按键的启动方式来播放声音(例如,当按键被触摸时播放一种声音,而按键被按下时播放另一种声音)。键盘还可以根据按键被启动的方式提供触觉反馈。例如,键盘可以在按键被按下时提供振动,而在按键被触摸时不提供振动。在一些实施例中,焦点指示符(视觉、触觉或音频)可以与每个按键不同。例如,空格的启动可以与一个声音相关联,而数字按键的启动可以与另一种声音相关联。
在可选框1740处,可穿戴系统可以接收对空白按键的启动的指示。该指示可以从键盘接收(例如,经由有线或无线通信信道)。还可以基于对图像的分析来检测指示。例如,可穿戴系统可以使用对象识别器708来识别用户的手位置,并将手位置与按键的位置进行比较,以确定用户的手位置是否与按键一致。用于检测启动的图像可能来自多个源。例如,可穿戴系统可以使用由键盘的相机获取的图像以及与从面向外部的成像系统中的相机获取的图像一起来检测按键的启动。
在可选框1742,可穿戴系统可以基于分配给空白按键的功能来执行操作(例如,用户界面操作)。例如,如果分配给空白按键的功能与数学运算(例如,加法)相关联,则当启动空白按键时,可穿戴系统可以相应地执行数学运算。
尽管参考配置空白按键描述了该图中的示例,但是可穿戴系统也可以向已经具有预定义功能或物理标签的按键分配功能或虚拟标签。例如,尽管空格按键已经被配置为在按下空格按键时输入空白,但是可穿戴系统仍可以向空格按键分配滑动条功能。由于滑动条功能,当用户滑动空格按键时,可穿戴系统可以相应地打开或关闭应用。作为另一个示例,可穿戴系统可以将与表情符号相关联的一组功能和图标分配给键盘上的某些字母按键。
此外,在某些情况下,代替为一个按键分配功能和图像,可以将键盘或虚拟键盘的一部分分配给物理键盘。例如,当用户查看物理键盘时,可穿戴系统可以自动移动虚拟键盘以使其覆盖在物理键盘的顶部。
与虚拟键盘的UI交互的示例过程
图17B示出了渲染虚拟键盘并与虚拟键盘交互的示例过程。可以通过本文描述的可穿戴系统来执行过程1750。
在框1752,可穿戴系统可以访问与用户的环境相关联的上下文信息。例如,可穿戴系统可以访问与用户环境中的物理或虚拟对象相关联的信息,例如,用户环境中物理或虚拟对象的类型和功能。在一些实施例中,可穿戴系统可以基于用户的头部姿势或眼睛凝视来识别用户当前正与之交互或打算与之交互的目标对象。
在框1754,可穿戴系统可以识别用户环境中的虚拟键盘。可以基于用户的输入来识别虚拟键盘。例如,用户可以说出虚拟键盘的昵称,并且可穿戴系统可以相应地基于昵称识别虚拟键盘。作为另一个示例,可穿戴系统可以基于用户的凝视方向或手势(例如,指向虚拟键盘)来识别虚拟键盘。还可以基于物理键盘来识别虚拟键盘。例如,虚拟键盘可以是用户环境中物理键盘的仿真。此外,可以基于用户环境中的对象来识别虚拟键盘。例如,可穿戴系统可以访问适合与用户环境中的所有对象(或大部分对象)进行交互的虚拟键盘。在可穿戴系统已经识别出目标对象的情况下,可穿戴系统可以识别与目标对象相关联或适于与目标对象进行交互的虚拟键盘。
在框1756,可穿戴系统可以基于上下文信息确定虚拟键盘的规格。该规格可以包括虚拟键盘上的按键的布局和功能。例如,在框1754中标识的虚拟键盘可以包括空白的虚拟键盘模板。在框1756处确定的规格可以指定将哪些功能或虚拟按键标签分配给空白虚拟键盘模板中的一些(或全部)按键。另外,如本文所述,虚拟键盘的布局也可以改变。例如,当用户与一个对象正进行交互时,可以将空白虚拟键盘模板中的按键分配给数字。但是,当用户与另一对象进行交互时,可穿戴系统可以将该按键动态地重新分配给字母。
在框1758,可穿戴系统可以至少部分地基于规格1758在用户环境中渲染虚拟键盘。例如,可穿戴系统可以在虚拟键盘上渲染虚拟按键标签。可穿戴系统还可渲染虚拟按键的子集。例如,在空白的虚拟键盘模板用于与多于一个虚拟对象进行交互的情况下,可穿戴系统可以渲染通常与一个虚拟对象一起使用的第一组虚拟按键,而渲染通常与另一个虚拟对象一起使用的第二组虚拟按键。
在可选框1760,可穿戴系统可以接收虚拟键盘的启动的指示。虚拟键盘还可以支持各种启动方式。例如,虚拟键盘可以支持触摸或滑动手势。可穿戴系统可以基于面向外部的成像系统获取的图像来跟踪用户的手位置,并确定用户的手位置是否与一个或多个虚拟按键相交。虚拟键盘还可以支持按下手势。例如,可穿戴系统可以在用户空间中指定与虚拟按键相关联的体积。当用户的手指伸入该体积时,可穿戴系统可以确定用户已启动该虚拟按键。
在可选框1762,可穿戴系统可以至少部分地基于虚拟键盘的启动来执行用户界面操作。一些示例用户界面操作可以包括:针对已被启动的按键(或虚拟键盘)提供焦点指示符、移动或选择虚拟对象、打开与虚拟或物理对象相关联的虚拟菜单等等。虚拟键盘的启动还可以导致执行除用户界面操作以外的命令。例如,虚拟键盘的启动可以使可穿戴系统生成并向电视发送指令以改变电视的频道。作为另一个示例,虚拟键盘的启动可导致可穿戴系统从MR场景切换到VR场景。
示例
在一些示例中,一种系统包括:显示系统,其被配置为在用户的物理环境中呈现虚拟内容;面向外部的成像系统,其被配置为对用户的物理环境成像;以及与显示系统和面向外部的成像系统通信的硬件处理器,该硬件处理器被编程为:分析由面向外部的成像系统获取的物理环境的图像;基于对图像的分析,识别具有多个按键的物理键盘;确定与物理键盘相关联的上下文信息;至少部分地基于上下文信息确定物理键盘的规格;至少部分地基于规格动态配置物理键盘的至少一部分的功能;至少部分地基于规格确定虚拟键盘标签的渲染位置;以及指示显示系统在确定的渲染位置处渲染虚拟按键标签。
在任何前述示例中,虚拟内容可以包括增强或混合现实内容中的至少一项。
在任何前述示例中,为了分析图像,可以对硬件处理器进行编程以执行对象识别器来基于物理键盘的视觉特性识别物理键盘。
在任何前述示例中,视觉特性可以包括物理键盘的表面的形状或物理键盘的标签中的至少一项。
在任何前述示例中,面向外部的成像系统可以包括具有FOV的世界相机,其中,该FOV可以包括在给定时间由世界相机观察到的物理环境的一部分,并且其中为了识别物理键盘,可以对硬件处理器进行编程以检测物理键盘的至少一部分在FOV中。
在任何前述示例中,规格可以包括多个按键的布局或多个按键的功能中的至少一个。
在任何前述示例中,为了确定物理键盘的规格,可以对硬件处理器进行编程以:基于对图像的分析确定物理键盘的型号;以及访问存储该型号的规格的数据库以获取该规格。
在任何前述示例中,多个按键中的至少一个按键可以具有电容触摸传感器。
在任何前述示例中,上下文信息可以包括物理键盘的位置或物理键盘的取向中的至少一个。
在任何前述示例中,物理键盘的一部分可以包括空白按键,并且为了动态地配置物理键盘的至少一部分的功能,可以对硬件处理器进行编程以将命令功能分配给空白按键,其中,命令功能使系统执行用户界面操作。
在任何前述示例中,虚拟按键标签的渲染位置可以与空白按键在物理键盘的该部分中的位置一致,并且硬件处理器可以被配置为指示显示系统使用像素棒将虚拟按键标签叠加在空白按键上。
在一些示例中,一种方法包括:在用户的三维(3D)物理环境中,识别具有多个按键的键盘的一部分;至少部分地基于上下文信息确定键盘的该部分的规格;至少部分地基于该规格来动态配置键盘的该部分的功能;至少部分地基于该规格来确定虚拟按键标签在键盘的该部分中的渲染位置;以及指示显示系统在确定的渲染位置处渲染虚拟键盘标签。
在任何前述示例中,该键盘可以包括物理键盘。
在任何前述示例中,该物理键盘可以由多个可分离部分组装而成。
在任何前述示例中,该物理键盘可以与用户的3D物理环境中的虚拟屏幕相关联,并且该虚拟屏幕可以被配置为响应于该物理键盘的启动而执行用户界面功能。
在任何前述示例中,该键盘可以包括虚拟键盘,其中,该虚拟键盘被渲染在用户环境的表面上。
在任何前述示例中,该表面可以包括物理键盘的表面。
在任何前述示例中,识别键盘可以包括以下至少之一:与该键盘通信以获得该键盘的识别信息;基于上下文信息在多个键盘中选择该键盘;基于键盘的图像识别键盘。
在任何前述示例中,可以通过以下至少一项来获取图像:头戴式设备的面向外部的成像系统、室内相机或耦接至物理键盘的相机。
在任何前述示例中,键盘的部分可以包括空白按键。
在任何前述示例中,上下文信息可以与以下至少一项相关联:键盘、用户、或3D物理环境。
在一些示例中,一种计算机可读介质可以包括指令,该指令当被硬件处理器读取时使硬件处理器执行包括以下步骤的方法:在用户的三维(3D)物理环境中识别具有多个按键的键盘的一部分;至少部分地基于上下文信息确定该键盘的该部分的规格;至少部分地基于该规格来动态配置该键盘的该部分的功能;至少部分地基于该规格来确定虚拟按键标签在该键盘的该部分中的渲染位置;以及指示显示系统在所确定的渲染位置处渲染虚拟按键标签。
在任何前述示例中,该键盘可以包括物理键盘。
在任何前述示例中,该物理键盘可以由多个可分离部分组装而成。
在任何前述示例中,该物理键盘可以与该用户的3D物理环境中的虚拟屏幕相关联,并且该虚拟屏幕被配置为响应于该物理键盘的启动而执行用户界面功能。
在任何前述示例中,键盘可以包括虚拟键盘,其中,虚拟键盘被渲染在用户环境的表面上。
在任何前述示例中,该表面可以包括物理键盘的表面。
在任何前述示例中,识别键盘可以包括以下至少之一:与该键盘通信以获得该键盘的识别信息;基于上下文信息在多个键盘中选择该键盘;基于该键盘的图像识别该键盘。
在任何前述示例中,可以通过以下至少一项来获取该图像:头戴式设备的面向外部的成像系统、室内相机或耦接至物理键盘的相机。
在任何前述示例中,该键盘的该部分可以包括空白按键。
在任何前述示例中,该上下文信息可以与以下至少一项相关联:键盘、用户或、3D物理环境。
在一些示例中,一种系统包括:可穿戴设备的显示系统,其被配置为在用户的物理环境中呈现虚拟内容;姿势传感器,其被配置为获取与用户的姿势相关联的数据;与显示系统和姿势传感器通信的硬件处理器,该硬件处理器被编程为:接收指示以基于该姿势与用户的环境中的对象进行交互;识别用于与该对象交互的键盘;确定与该键盘相关联的虚拟内容;确定该虚拟内容在该用户的环境中的渲染位置;检测该键盘的启动;以及基于该键盘的执行指示命令的执行。
在任何前述示例中,姿势传感器可以包括可穿戴设备的世界相机、可穿戴设备外部的相机或眼睛相机中的至少一个。
在任何前述示例中,姿势可以包括头部姿势、眼睛凝视或手势中的至少一个。
在任何前述示例中,与用户的环境中的对象进行交互的指示可以包括头部姿势或眼睛凝视中的至少一个,并且可以使用射线投射来识别该对象。
在任何前述示例中,可以基于以下至少一个来识别键盘:用户的姿势或与对象相关联的特性。
在任何前述示例中,键盘可以包括物理键盘,并且虚拟内容可以包括用于物理键盘的多个按键的虚拟按键标签。
在任何前述示例中,键盘可以包括虚拟键盘,并且虚拟内容可以包括键盘的虚拟按键。
在任何前述示例中,对象可以包括物理对象,该键盘可以包括虚拟键盘,并且该键盘可以渲染在该物理对象上。
在任何前述示例中,可以对硬件处理器进行进一步编程以:检测姿势的改变;以及基于姿势的改变更新虚拟内容的渲染位置。
在任何前述示例中,键盘可以是物理键盘,并且为了更新虚拟内容的渲染位置,可以对硬件处理器进行编程以将在第一组按键上渲染的按键标签移动到第二组按键。
在任何前述示例中,为了检测键盘的启动,可以对硬件处理器进行编程以分析与以下至少一项相关联的数据:与按键按下相关联的声音、与用户的手姿势相关联的图像、或从键盘接收到的无线信号。
在任何前述示例中,可以将每个按键分配给声音,并且按键的启动导致该声音的产生。
在任何前述示例中,硬件处理器可以进一步被编程为:接收另一用户与另一对象交互的另一指示;以及以及与另一对象相关联的上下文信息动态地重新配置键盘。
在一些示例中,一种方法包括:使用可穿戴设备的显示系统在用户的物理环境中呈现虚拟内容;使用姿势传感器获取与用户的姿势相关联的数据;使用硬件处理器接收基于该姿势与用户的环境中的对象进行交互的指示;使用硬件处理器识别用于与该对象交互的键盘;使用硬件处理器确定与该键盘相关联的虚拟内容;使用硬件处理器确定该虚拟内容在该用户的环境中的渲染位置;使用硬件处理器检测该键盘的启动;以及使用硬件处理器基于该键盘的执行来指示命令的执行。
在任何前述示例中,姿势传感器可以包括可穿戴设备的世界相机、可穿戴设备外部的相机或眼睛相机中的至少一个。
在任何前述示例中,姿势可以包括头部姿势、眼睛凝视或手势中的至少一个。
在任何前述示例中,与用户的环境中的对象进行交互的指示可以包括头部姿势或眼睛凝视中的至少一个,并且可以使用射线投射来识别该对象。
在任何前述示例中,可以基于以下的至少一个来识别键盘:用户的姿势或与对象相关联的特性。
在任何前述示例中,键盘可以包括物理键盘,并且虚拟内容可以包括用于物理键盘的多个按键的虚拟按键标签。
在任何前述示例中,键盘可以是虚拟键盘,并且虚拟内容可以包括键盘的虚拟按键。
在任何前述示例中,该对象可以包括物理对象,该键盘可以包括虚拟键盘,并且该键盘可以渲染在该物理对象上。
在任何前述示例中,该方法可以进一步包括:使用硬件处理器检测姿势的改变;以及使用硬件处理器基于姿势的改变来更新虚拟内容的渲染位置。
在任何前述示例中,键盘可以是物理键盘,并且更新虚拟内容的渲染位置可以包括使用硬件处理器将在第一组按键上渲染的按键标签移动到第二组按键。
在任何前述示例中,检测键盘的启动可以包括分析与以下至少一项相关联的数据:与按键按下相关联的声音、与用户的手姿势相关联的图像或从键盘接收到的无线信号。
在任何前述示例中,可以将每个按键分配给声音,并且按键的启动导致该声音的产生。
在任何前述示例中,所述方法可以进一步包括:使用所述硬件处理器来接收另一用户与另一对象交互的另一指示;以及使用硬件处理器以及与另一对象相关联的上下文信息动态地重新配置键盘。
在一些示例中,一种非暂时性计算机可读介质可以包括指令,该指令当由硬件处理器读取时使硬件处理器执行包括以下步骤的方法:使用可穿戴设备的显示系统在用户的物理环境中呈现虚拟内容;使用姿势传感器获取与用户的姿势相关联的数据;接收基于该姿势与用户的环境中的对象进行交互的指示;识别用于与该对象交互的键盘;确定与该键盘相关联的虚拟内容;确定该虚拟内容在该用户的环境中的渲染位置;检测该键盘的启动;以及基于该键盘的执行来指示命令的执行。
在任何前述示例中,姿势传感器可以包括可穿戴设备的世界相机、可穿戴设备外部的相机或眼睛相机中的至少一个。
在任何前述示例中,姿势可以包括头部姿势、眼睛凝视或手势中的至少一个。
在任何前述示例中,与用户的环境中的对象进行交互的指示可以包括头部姿势或眼睛凝视中的至少一个,并且可以使用射线投射来识别该对象。
在任何前述示例中,可以基于以下的至少一个来识别键盘:用户的姿势或与对象相关联的特性。
在任何前述示例中,键盘可以包括物理键盘,并且虚拟内容可以包括用于物理键盘的多个按键的虚拟按键标签。
在任何前述示例中,键盘可以是虚拟键盘,并且虚拟内容可以包括键盘的虚拟按键。
在任何前述示例中,该对象可以包括物理对象,该键盘可以包括虚拟键盘,并且该键盘可以渲染在该物理对象上。
在任何前述示例中,由计算机可读介质引起的方法可以进一步包括:检测姿势的改变;以及基于姿势的改变,更新虚拟内容的渲染位置。
在任何前述示例中,键盘可以是物理键盘,并且更新虚拟内容的渲染位置可以包括将在第一组按键上渲染的按键标签移动到第二组按键。
在任何前述示例中,检测键盘的启动可以包括分析与以下至少一项相关联的数据:与按键按下相关联的声音、与用户的手姿势相关联的图像、或从键盘接收到的无线信号。
在任何前述示例中,可以将每个按键分配给声音,并且按键的启动导致该声音的产生。
在任何前述示例中,由计算机可读介质引起的方法可以进一步包括:接收另一用户与另一对象交互的另一指示;以及基于与另一对象相关联的上下文信息动态地重新配置键盘。
与用户与物理键盘的交互对应的虚拟键盘功能的示例
图18-20示出了本文所述的VR/AR/MR系统的一些实施例如何能够实现与用户与物理键盘的交互相对应的虚拟键盘功能。如本文其他地方所述,可以提供一个或多个物理键盘或其他输入设备,以接收用于与VR/AR/MR系统进行交互的用户输入。在使用期间,物理键盘可能位于用户视野之外,从而导致键盘使用效率低下、击键错误和/或要求用户反复避开感兴趣的区域以查看键盘和/或用户的手和手指相对于键盘的位置。在某些情况下,VR/AR/MR系统显示的虚拟内容可能会部分或完全阻止用户查看键盘,从而阻止用户准确确定他或她的手和手指在物理键盘上的位置。因此,可以通过VR/AR/MR系统的显示器向用户显示虚拟键盘或代表物理键盘的其他虚拟图像。另外,VR/AR/MR系统的显示器可以显示用户的手相对于物理键盘的位置和/或用户在物理键盘上进行的击键的表示。这可以实时完成,使得用户可以在VR/AR/MR系统的视野内感知他或她与物理键盘的交互,而不必观看物理键盘。
图18示出了用于基于用户与物理键盘1820的交互在VR/AR/MR系统的显示器上实现虚拟键盘功能的系统1800。在一些实施例中,物理键盘包括可以检测关于用户的手和/或手指相对于物理键盘的放置的信息的一个或多个内置传感器。这些内置的手放置传感器可以包括例如电容触摸传感器、光电探测器、电气或机械开关、相机、麦克风等。在其他实施例中,手放置检测传感器可以在物理键盘1820的外部并且可以与VR/AR/MR系统或独立设备集成。例如,外部手放置检测传感器1830可以包括一个或多个麦克风和/或相机。
在麦克风作为外部手放置检测传感器的示例中,麦克风可以被配置为基于被按下的按键的声音来检测按键按下。在一些实施例中,每个按键可以被配置为当被按下时具有独特的声音文件(profile)以将按键与键盘1820的其他按键区分开。因此,麦克风可以检测到与按键按下相对应的声音,并且系统1800可以基于分析从麦克风接收到的输出确定按下了哪个按键。
还可以基于所确定的按键按下的位置来进一步计算手和/或手指的位置。在相机作为外部手放置检测传感器的示例中,一个或多个相机可以被对准并配置为例如从键盘上方捕获键盘的图像。在一些实施例中,可以在键盘上提供一个或多个基准标记,以有助于基于捕获的图像确定手的位置。例如,多个基准可以被印刷在键盘的按键的表面上或以其他方式施加到键盘的按键的表面。当分析键盘的图像时,在图像内可见的基准可以指示键盘上未被用户的手覆盖的位置,而已知但在图像内不可见的基准可以指示在键盘上被用户的手覆盖的位置。在一些实施例中,手放置检测传感器可以与物理键盘的按键不同,其被用户用来提供用于与VR/AR/MR系统交互的输入信号。物理键盘1820和手放置传感器1830可以与VR/AR/MR系统通信地耦接。
显示器1810可以是例如本文所述的任何显示设备。在一些实施例中,图18中所示的显示器1800可以是图2所示的显示器220,物理键盘1820和手放置传感器1830可以与显示器220、本地处理和数据模块260和/或远程处理模块270通信。通常,显示器1810被配置为投影光线到用户的眼睛中以向用户显示图像内容。如本文所述,在一些实施例中,显示器1810是可穿戴设备,例如头戴式显示器。除了向用户显示图像内容之外,显示器1810还可以被配置为允许来自周围物理环境的光传递到用户的眼睛,使得投影的图像内容作为叠加在用户对他或她周围物理环境的视图上的增强现实或混合现实图像内容呈现给用户。在其他实施例中,显示器1810可以是虚拟现实显示器,其不向用户提供周围物理环境的视图。显示器1810可以包括或通信耦接到一个或多个处理器和/或存储单元,该处理器和/或存储单元被配置为从物理键盘1820、外部传感器1830和/或任何其他数据源(例如,互联网)、一个或多个远程处理和/或存储模块等接收数据。
物理键盘1820包括被配置为检测来自用户的输入并生成指示用户输入的信号的多个按键1822。按键1822可以用于向VR/AR/MR系统输入例如文本、符号、命令等。当按下一个或多个按键1822时,物理键盘1820可以检测用户进行的击键。物理键盘1820可以使用内部击键检测机制来检测击键。这些可以包括例如机械或电气开关、电容传感器等。此外,一些或所有按键1822可以包括触摸传感器1824,触摸传感器1824被配置为检测用户的手指与按键1822的触摸,而与是否按下按键1822无关。例如,触摸传感器1824可以是电容触摸传感器或能够检测触摸的任何其他传感器。当物理键盘从击键检测机构、触摸传感器1824和/或手放置传感器接收信号时,它可以向VR/AR/MR系统提供信号、数据和/或参数,这些信号、数据和/或参数例如指示用户的手或手指相对于物理键盘的位置、用户的击键等。
内置或外部手放置传感器1830检测指示以下的信息:用户的手或手指相对于物理键盘的位置、或外观、声音、或在物理键盘1820上或其附近的用户的手和/或手指的其他方面。手放置传感器1830可与显示器1810通信耦接。例如,手放置传感器1830可被配置为将在传感器处检测到的数据(例如,图像、声音、位置信号等)、和/或基于该数据确定的参数(例如,手和/或手指位置等)发送到显示设备1810。
图19是显示器1810可以如何显示对应于物理键盘1820的虚拟图像内容1840、用户的手和/或手指相对于物理键盘的放置、和/或用户进行的击键的示例。在图19所示的示例实施例中,图像内容1840包括对应于物理键盘1820的虚拟键盘1842和对应于用户的手1828的虚拟手1846。虚拟手1846的手指1848被示为正在触摸虚拟按键1844,该虚拟按键1844对应于被用户的手1828的手指1829触摸的物理键盘1820的按键1822。该图像可以被实时更新以示出用户在物理键盘上所做的击键。
在图19的示例实施例中示出的图像内容1840可以被显示为例如物理键盘1820以及用户的手1828和手指1829的真实外观的三维表示。然而,在各个实施例中,指示物理键盘1820和用户的手1828和/或手指1829的其他视觉内容可以使用。例如,在一些实施例中,虚拟键盘1842和/或虚拟手1846可以被描绘为键盘和/或手的通用图像,而不是物理键盘1820、手1828和/或手指1829的实际外观的表示。在另一示例中,虚拟键盘1842和/或虚拟手1846可被简化为物理键盘1820、手1828和/或手指1829的二维表示。在一个示例中,用户的手指1829的位置可以被简单地表示为叠加在虚拟键盘1842的虚拟按键1844上的点或其他符号,这些点或其他符号对应于用户的手指1829触摸的物理按键1822。
在一些实施例中,在虚拟键盘1840的虚拟按键1844上显示符号(例如,字母、数字、标点符号、和/或其他字符)。例如,如图19所示,虚拟按键1844显示与标准QWERTY键盘一致的符号。在虚拟按键1844上显示的符号可以与在物理键盘1820的按键上显示的符号一致或不同。例如,物理键盘可以具有标有根据QWERTY键盘布局的字符和符号的按键1822,而虚拟按键1844可以按与Dvorak简化键盘、字母顺序、表情符号键盘、标准外语键盘布局或任何其他所需键盘布局一致的排列来显示字符和符号。在另外的实施例中,物理键盘1820可以具有没有印刷符号的空白按键1822,使得仅虚拟按键1844被标记。
参考图20,将描述生成和显示虚拟键盘内容的示例方法2000。方法2000开始于框2010,在框2010中,VR/AR/MR系统的处理组件接收键盘信息。键盘信息可以包括与物理键盘的类型和/或要显示的虚拟键盘的类型相对应的数据,例如,虚拟键盘上的按键的数量、尺寸、形状或布局,和/或要在虚拟键盘的按键上显示的符号。在一些实施例中,接收键盘信息可以包括基于与物理键盘相关联的信息(例如,物理键盘上的按键的数量、形状、尺寸或布局)来选择、下载或以其他方式获得虚拟键盘信息文件。在其他实施例中,键盘信息可以被预编程到VR/AR/MR系统中用于执行方法2000。
在框2020,基于在框2010接收的键盘信息生成虚拟键盘图像。如上所述,虚拟键盘图像可以包括与物理键盘相对应的二维或三维图像。在一些实施例中,键盘图像是物理键盘的基本准确的再现,例如在形状、颜色、按键尺寸和布局等方面匹配物理键盘。在其他实施例中,虚拟键盘图像可以在外观尺寸、形状、按键尺寸、按键形状、按键布局、颜色或其他品质方面与物理键盘不同,使得虚拟键盘图像可以是物理键盘的示意表示而不是物理键盘的字面描述。在一些实施例中,虚拟键盘图像可以从诸如互联网的外部源获得,和/或可以是显示系统内的预编程键盘图像。
在框2030,从手或手指放置传感器接收信息。框2030可以在框2010和/或2020之前、之后或同时执行。手或手指放置传感器信息可以包括由内置键盘传感器(例如,触摸传感器或击键检测机制)和/或外部传感器(例如,相机、麦克风等)获得的任何信息。因此,所接收的传感器信息可以指示用户的手相对于物理键盘的位置、用户的一个或多个用户的手指相对于物理键盘的位置、被按下的一组按键、用户的手的手指触摸的一组按键、或从显示系统的传感器得到的其他信息。
在框2040,基于在框2030接收的传感器信息生成虚拟手或手指放置图像。手或手指放置图像可以包括用户的手和/或手指的一个或多个描绘,例如参考图19描述的描绘。在一个示例中,所接收的传感器信息包括对物理键盘的按键的子集被触摸的指示,并且所生成的手或手指放置图像在与用户的手指正在触摸的物理键盘的按键相对应的虚拟键盘图像内的每个位置处包括诸如圆圈或其他符号的图形。在另一示例中,所生成的手或手指放置图像包括具有手指的手的三维渲染,该手指的指尖搁置在所接收的传感器信息中指示的按键上。对于其中传感器信息还包括指示一个或多个手位置的信息的实施例,可以基于传感器信息来确定附接到手指的虚拟手的位置。应当理解,位于物理键盘的按键的上表面上的电容触摸传感器可能能够检测到按键上的手指的存在,但是可能无法确定用户的手的哪个手指正在触摸按键。在一些实施例中,显示系统可以被配置为基于触摸传感器数据的组合来确定估计的手位置。例如,如果触摸传感器指示手指搁置在物理键盘的A、S、D、F、J、K、L和分号按键上,则显示系统可以确定A、S、D和F按键代表左手的手指的位置,而物理键盘的J,K,L和分号按键代表右手的手指的位置。
在框2050,将虚拟键盘图像和手或手指放置图像显示给用户。显示系统可以组合键盘图像和手或手指放置图像,使得显示给用户的合成图像看起来显示出在虚拟键盘上打字的虚拟手,其位置与用户的手在物理键盘上的位置和运动一致。因此,显示给用户的合成图像可以允许用户确定他或她的指尖在物理键盘上的位置,而无需向下看物理键盘。在一些实施例中,方法2000可以返回到框2010和2030中的一个或两个,以接收其它键盘和/或传感器信息,并重新生成虚拟键盘和/或手/手指放置图像。例如,在一些实施例中,键盘图像保持恒定,而方法2000基于从显示系统的键盘传感器和/或外部传感器接收的实时或近实时更新的信息来连续或重复地重新生成手/手指放置图像。因此,随着用户图像被重新生成和重新显示,用户图像在用户看来就像是动画手在虚拟键盘上移动和键入,与用户的手在物理键盘上的实际移动一致。
示例
在一些示例中,一种系统包括:显示器,其被配置为向用户呈现虚拟现实、增强现实或混合现实内容;物理键盘,包括:被配置为从用户接收输入的一个或多个按键;以及一个或多个传感器,其被配置为产生指示用户的手或手指中的一个或多个相对于物理键盘的位置的输出;一个或多个硬件处理器;以及一个或多个计算机存储介质,其存储指令,该指令在由系统执行时使系统执行包括以下的操作:基于一个或多个传感器的输出,确定一个或多个手或手指相对于物理键盘的位置;以及使显示器呈现物理键盘的第一图像表示和用户的手或手指中的一个或多个的放置的第二图像表示,其中,第二图像表示相对于第一图像表示的位置指示一个或多个手或手指相对于物理键盘的位置。
在任何前述示例中,一个或多个传感器可以包括设置在按键上的触摸传感器。
在任何前述示例中,触摸传感器可以包括电容触摸传感器。
在任何前述示例中,系统可以进一步包括至少一个相机,该至少一个相机被配置为检测在物理键盘附近的对象的位置。
在任何前述示例中,第一图像表示可以包括虚拟键盘,该虚拟键盘包括一个或多个虚拟按键,每个虚拟按键对应于物理键盘的按键。
在任何前述示例中,多个虚拟按键中的每一个可以包括指示物理键盘的对应按键的功能的符号。
在任何前述示例中,多个虚拟按键中的至少一个的符号可以与在物理键盘的对应按键上显示的符号不同。
在任何前述示例中,物理键盘的按键可以不包括符号。
在任何前述示例中,第二图像可以包括一个或多个手指的视觉表示。
在任何前述示例中,系统可以进一步被配置为确定用户的至少一只手相对于物理键盘的位置,并且第二图像表示可以包括该至少一只手的视觉表示。
在任何前述示例中,可以至少部分地基于一个或多个传感器的输出来实时或接近实时地更新第二图像。
在一些示例中,一种系统包括:显示器,其被配置为向用户呈现虚拟现实、增强现实或混合现实内容;一个或多个硬件处理器;以及一个或多个计算机存储介质,其存储指令,该指令在由该系统执行时使该系统执行包括以下的操作:从与系统通信的物理键盘接收指示用户的手或手指中的一个或多个相对于物理键盘的位置的信息;基于接收到的信息确定一个或多个手或手指相对于物理键盘的位置;以及使显示器呈现物理键盘的第一图像表示和用户的手或手指中的一个或多个的放置的第二图像表示,其中,第二图像表示相对于第一图像表示的位置指示一个或多个手或手指相对于物理键盘的位置。
在一些示例中,一种方法包括:从一个或多个传感器接收指示用户的手或手指中的一个或多个相对于物理键盘的位置的输入;基于一个或多个传感器的输入来确定一个或多个手或手指相对于物理键盘的位置;以及使显示器呈现物理键盘的第一图像表示和用户的手或手指中的一个或多的放置的第二图像表示,其中,第二图像表示相对于第一图像表示的位置指示一个或多个手或手指相对于物理键盘的位置。
在任何前述示例中,一个或多个传感器可以包括设置在物理键盘的按键上的触摸传感器。
在任何前述示例中,触摸传感器可以包括电容触摸传感器。
在任何前述示例中,该方法还可以包括基于来自相机的图像数据检测在物理键盘附近的对象的位置。
在任何前述示例中,第一图像表示可以包括具有一个或多个虚拟按键的虚拟键盘,每个虚拟按键对应于物理键盘的按键。
在任何前述示例中,多个虚拟按键中的每个可以包括指示物理键盘的对应按键的功能的符号。
在任何前述示例中,多个虚拟按键中的至少一个的符号可以与在物理键盘的对应按键上显示的符号不同。
在任何前述示例中,物理键盘的按键可以不包括符号。
在任何前述示例中,第二图像表示可以包括一个或多个手指的视觉表示。
在任何前述示例中,该方法还可以包括确定用户的至少一只手相对于物理键盘的位置,并且第二图像表示可以包括至少一只手的视觉表示。
在任何前述示例中,可以至少部分地基于一个或多个传感器的输出来实时或接近实时地更新第二图像表示。
在一些示例中,一种非暂时性计算机可读介质包括指令,该指令当由硬件处理器读取时使硬件处理器执行一种方法,该方法包括:从一个或多个传感器接收指示用户的手或手指中的一个或多个相对于物理键盘的位置的输入;基于一个或多个传感器的输入来确定一个或多个手或手指相对于物理键盘的位置;以及使显示器呈现物理键盘的第一图像表示和用户的手或手指中的一个或多个的放置的第二图像表示,其中,第二图像表示相对于第一图像表示的位置指示一个或多个手或手指相对于物理键盘的位置。
在任何前述示例中,一个或多个传感器可以包括被设置在物理键盘的按键上的触摸传感器。
在任何前述示例中,触摸传感器可以包括电容触摸传感器。
在任何前述示例中,由计算机可读介质引起的方法可以进一步包括:基于来自相机的图像数据检测在物理键盘附近的对象的位置。
在任何前述示例中,第一图像表示可以包括具有一个或多个虚拟按键的虚拟键盘,每个虚拟按键对应于物理键盘的按键。
在任何前述示例中,多个虚拟按键中的每个可以包括指示物理键盘的对应按键的功能的符号。
在任何前述示例中,多个虚拟按键中的至少一个的符号可以与在物理键盘的对应按键上显示的符号不同。
在任何前述示例中,物理键盘的按键可以不包括符号。
在任何前述示例中,第二图像表示可以包括一个或多个手指的视觉表示。
在任何前述示例中,由计算机可读介质引起的方法可以进一步包括确定用户的至少一只手相对于物理键盘的位置,并且其中,第二图像表示包括该至少一只手的视觉表示。
在任何前述示例中,可以至少部分地基于一个或多个传感器的输出来实时或接近实时地更新第二图像表示。
具有触觉反馈的VR/AR/MR系统的示例
图21示出了可穿戴显示系统60的示例实施例。可穿戴显示系统60包括显示器70以及支持该显示器70的功能的各种机械和电子模块和系统。可穿戴显示系统60可以是类似于本文其他地方描述的那些(例如,如图2所示)的VR/AR/MR系统。
在一些实施例中,输入设备10可被用于与可穿戴显示系统60交互和/或控制可穿戴显示系统60。例如,输入设备10可以是键盘,用户操作该键盘以输入字符和命令,用于与显示器70投影的图像交互以及用于执行其他操作。输入设备10可以通过通信链路16(诸如通过有线引线或无线连接)可操作地耦接到本地数据处理模块140。由本地处理和数据模块140处理、缓存和存储的数据可以包括从输入设备接收的数据,诸如击键、用于移动投影在显示器70上的图像以及以其他方式与之交互的控制输入、等等。
在一些实施例中,输入设备10可以包括一个或多个触觉反馈组件15。触觉反馈组件15可以在输入设备10中使用,以在与可穿戴显示系统60交互时为用户提供触觉反馈。触觉反馈组件15可以例如向用户提供触觉反馈,以指示可穿戴显示系统60已接收到输入。在一些实施例中,触觉反馈组件15可以产生施加到输入设备10上并由用户可以感知的力、振动或运动。例如,输入设备10可以是键盘,并且触觉反馈组件15可以响应于与按键或键盘的局部区域的用户交互而使键盘或其局部区域振动。
在一些实施例中,可以在输入设备10中提供多个触觉反馈组件15。在这样的实施例中,触觉反馈组件15可以各自在分别与给定触觉反馈组件15相关联或耦接到给定触觉反馈组件15的输入设备10的单独区域或域(area)内引起局部振动或运动。例如,可以提供多个触觉反馈组件15,其每个与键盘输入设备10的不同按键或按键组相关联。因此,每个触觉反馈组件15可以向相关联的按键或按键组赋予触觉响应(例如,振动或运动)。
触觉反馈组件15可以被配置为响应于不同类型的用户交互而做出反应。例如,如上所述,触觉反馈组件15可以响应于用户输入的用户交互(例如,击键)而通过整个用户输入设备10或其局部部分产生振动。在另一示例中,当在与给定按键或虚拟输入元件的给定接近范围内检测到用户的手时,触觉反馈组件15可以产生局部反馈响应。因此,在检测到用户的手接近按键(例如,搜索正确的取向或按键)的地方,与给定按键相关联的表面的域可以经历反馈响应,以帮助用户识别该按键。在一些实施例中,与接近用户交互相关联的反馈响应可以具有比输入用户交互低的幅度和/或频率,以便不太明显。在一些实施例中,反馈响应可以随着用户靠近期望的输入元件而增加(例如,幅度增加或频率增加以使反馈响应更明显)。其他配置也是可能的。
触觉反馈组件15可以安装在输入设备10上或封装在输入设备10内,并被配置为生成赋予到输入设备10的振动。触觉反馈组件15可以通过链路12a可操作地耦接到输入设备10。在一些实现中,电路链路12a包括或连接到用于在触觉反馈组件15中产生电信号的电压源,以便生成反馈响应。替代地或组合地,触觉反馈组件15可以通过通信链路12b(诸如通过有线引线或无线连接)可操作地耦接到本地处理和数据模块140。触觉反馈设备可以分别经由通信链路12a和12b从输入设备10和/或本地数据和处理模块140之一或两者接收控制信号(在本文中也称为“反馈信号”)。控制信号可以包括指示触觉反馈的量(例如,大小、幅度和/或频率)的数据,在本文中有时称为触觉反馈参数。
在一些实施例中,触觉反馈组件15可以接收控制或反馈信号,如下所述,其包括指示期望的反馈响应(例如,力或振动的强度和方向)的反馈参数。在一些实施例中,响应可以基于振动的大小和/或频率。不同类型的用户交互可以与不同的触觉反馈响应相关联。例如,键盘上的击键可以对应于给定大小和频率的局部振动,该振动可以被用户感知为成功的击键。作为另一示例,用户交互可以包括按下可能引起对整个输入设备10的触觉响应的按键。在一些实施例中,期望的触觉反馈响应与用户交互的关联可以存储在非暂时性数据存储设备(例如,本地处理和数据模块140或远程数据存储库160)中。例如,关联可以被存储为查找表(LUT),其响应于检测到的用户交互而可由本地数据处理模块140访问。
在一些实现中,触觉反馈设备15可以响应于显示器上的事件而振动。例如,显示的对象可以与另一个显示的对象或现实世界的对象交互,并且该交互可以对应于赋予输入设备10的触觉反馈。例如,可穿戴显示系统60可以用于投影虚拟对象,作为视频游戏的一部分,并且游戏中的动作可被转换为控制信号,用于在输入设备中产生触觉反馈。
触觉反馈组件15可以是例如偏心旋转质量电动机、线性谐振启动器、压电电子器件或其他换能器。触觉反馈组件15可以可操作地耦接到电路并且连接到电源。控制器可以基于控制信号使源向触觉反馈组件15施加电流或电压以产生振动。例如,在使用偏心旋转质量电动机的情况下,可将电流施加到电动机以引起离轴质量旋转,从而引起振动。电流的量和占空比可以控制振动的大小和频率。因此,控制信号可以指示针对期望的反馈响应要施加到触觉反馈设备的电流或电压。尽管已经描述了特定示例触觉反馈组件15,但是其他配置也是可能的。例如,可以基于提供给线性谐振启动器的电信号来类似地控制线性谐振启动器的音圈。因此,存储在非暂时性数据存储设备中的触觉反馈响应可以指示将被施加到触觉反馈组件的电信号。
图22是用于向可穿戴显示系统(例如,图21的可穿戴显示系统60)的用户提供触觉通信的说明性处理流程2200。如上所述,处理流程2200涉及响应于与输入设备的用户交互而向用户提供触觉通信的示例。处理流程2200可以由硬件(例如,图21的可穿戴显示系统)执行。处理流程2200可以由本地数据和处理模块140来实现,该本地数据和处理模块140由存储在可操作地耦接到本地数据和处理模块140的逻辑设备的非暂时性数据存储设备中的指令来编程。在另一个实施例中,本地数据和处理模块140可以经由远程处理模块150来实现处理流程2200,该远程处理模块150由可操作地连接到远程数据存储库160的本地处理模块140中的逻辑设备执行。
在框2210,处理流程2200可以确定触觉反馈系统被激活。在一个或多个实施例中,用户可以简单地打开触觉反馈系统。或者,在其他实施例中,触觉反馈系统可以默认为活动(active)的,并且用户可以决定关闭触觉反馈系统。本地数据和处理模块140可以接收指示触觉反馈系统处于活动状态的信号。
在框2220,处理流程2200可以检测输入设备。如上所述,输入设备可以是输入设备10,例如键盘。在一个或多个实施例中,检测输入设备可以包括监控用于输入设备的可穿戴显示系统的操作配置或环境。例如,这可以使用面向外部的相机捕获用户面前的环境的图像并识别其中的输入设备来完成。或者,在另一个示例中,可穿戴显示系统可以识别出例如通过有线或无线通信链路16已与输入设备建立了连接。在另一个实施例中,用户可以执行可穿戴显示系统的功能,其指示输入设备的存在(例如,选择说明已连接键盘的输入)。
在框2230,处理流程2200可以确定输入设备的类型或配置(例如,真实或虚拟键盘、视频游戏控制器等)。可以通过与框2220中用于检测设备的类似方式(例如,面向外部的相机、通信链路和用户标识)来识别输入设备类型。输入设备可以通过例如无线通信协议(例如,蓝牙、ZigBee等)与可穿戴显示系统配对,其中,键盘执行握手协议以与可穿戴显示系统建立连接并与可穿戴显示系统交换识别数据。基于所确定的输入设备类型,可穿戴显示系统能够确定期望哪些类型的用户交互以及输入设备内的触觉反馈组件的配置。输入设备类型还可以识别输入设备中的触觉反馈组件的特定类型,这可能需要不同的操作参数和配置。
在一些实施例中,输入设备类型可以与用户交互和反馈信号的数据结构相关联。例如,第一输入设备(例如,键盘)可以与用户交互和反馈信号的第一列表相关联,而第二输入设备(例如,游戏控制器)可以与第二相关联。该数据结构可以存储在可穿戴显示设备中或输入设备中。此外,类似类型的不同输入设备,诸如各种类型的键盘(例如,字母键盘、表情符号键盘、数字键盘等),可以与不同的用户交互和反馈信号相关联。因此,可穿戴显示系统可能能够获取用户交互和反馈信号对的正确数据结构,以便发送输入设备能够执行的所需触觉反馈信号。这可以允许可穿戴显示系统例如知道输入设备的哪些局部区域包含触觉反馈组件以及这些组件能够执行什么电压和电流。
在处理流程2200的框2240,可穿戴显示系统可以可选地检测到输入设备附近的用户。例如,可穿戴显示系统通过输入设备中的传感器(例如,接近传感器或惯性传感器)或面向外部的相机,可以检测到用户在附近,并且因此打算使用输入设备。这可能会限制检测与输入设备的交互的结果,而该结果不是期望的用户交互的结果。
在处理流程2200的框2250中,可穿戴显示系统或输入设备可以例如通过接收指示交互的信号来确定是否已经发生交互。例如,交互可以包括接近用户交互、输入用户交互或一个或多个显示的虚拟对象与其他虚拟或真实对象交互的交互。如果没有发生交互,则处理流程返回到框2240,并继续监控可检测的交互。然而,如果检测到交互,则输入设备或可穿戴显示系统可以发送表征该交互的交互信号。例如,在交互是用户交互的情况下,信号中的数据可以包括在何处发生触摸(例如,哪个按键)以及可穿戴显示系统如何响应于该触摸做出反应(例如,所显示的虚拟对象如何被修改)。在虚拟交互的情况下(例如,虚拟对象与显示器(真实或虚拟)中的其他对象进行交互),可穿戴显示系统可以确定这是要通过输入设备以触觉方式传达给用户的交互,以增强沉浸式娱乐体验。
在框2260,处理流程2200基于框2250中的接收到的信号来确定交互类型。例如,数据存储可以包括基于从输入设备和/或可穿戴显示系统接收的数据可识别的用户交互类型的分类。或者,接收到的数据本身可以识别用户交互。如上所述,用户交互可以识别击键、选择的数字、字母、功能、图像、由显示设备显示的图像的预期效果、等等。用户交互可以基于输入设备的类型(例如,框2230)以及用户在输入设备上选择的位置或什么元素。
在框2270,处理流程2200基于框2260的确定的交互类型来获取触觉反馈参数。本地数据和处理模块140可以被编程为访问存储代表期望反馈响应的多个反馈参数的数据库。如上所述,反馈参数可以定义对于给定用户交互所需的触觉反馈响应的大小和频率。因此,接近用户交互可以对应于期望的大小和频率,而输入用户交互与不同的大小和/或频率相关联。类似地,不同的输入用户交互可以与不同的大小和频率相关联。在另一个实施例中,反馈参数还可以基于输入设备类型和/或触觉反馈组件的类型。
在框2280,处理流程2200将触觉反馈信号发送到输入设备。触觉反馈信号可以包括触觉反馈参数。输入设备可以利用触觉反馈信号来生成期望的触觉反馈响应,如下文结合处理流程2300所述。在发送反馈信号之后,处理流程返回到框2250以监控未来的交互。
图23是用于向可穿戴显示系统(例如,图21的可穿戴显示系统60)的用户提供触觉通信的说明性流程图的处理流程2300。如上所述,过程流程2300针对响应于用户交互向用户提供触觉通信的输入设备的示例。处理流程2300可以由硬件(例如,图21的输入设备10和/或触觉反馈设备15)执行。该处理流程可以由输入设备10的一个或多个硬件处理器来实现,该硬件处理器由存储在可操作地耦接至一个或多个处理器的逻辑设备的非暂时性数据存储设备中的指令来编程。在另一个实施例中,输入设备可以经由由可操作地连接到数据存储设备的本地处理模块140中的逻辑设备执行的本地数据和处理模块140来实现处理流程2300。
在框2310,处理流程2300可以确定触觉反馈系统被激活。例如,输入设备可以在启动时默认被激活。在另一个示例中,当例如通过有线或无线通信链路16已经与输入设备建立连接时,可以激活触觉反馈系统。该连接可以包括通过例如握手协议交换数据,其中如上面结合图22的2230所描述的,输入设备可以发送识别信息。识别信息还可以包括其中的触觉反馈组件的识别以及组件的操作参数。在一些实施例中,识别信息可以包括预期的用户交互和触觉反馈组件的反馈响应能力的关联。
在框2320处,处理流程2300检测触摸或用户交互。例如,输入设备可以通过施加到设备的输入元件上的按压或力来检测输入的用户交互。在另一个示例中,输入设备还可以如上所述检测接近用户交互。
在框2330处,处理流程2300发送指示用户交互的用户交互信号。可以通过通信链路16将用户交互信号发送到可穿戴显示系统,以供结合图22所述使用。
如上所述,结合框2280,反馈信号被发送到输入设备,并且在框2340,反馈信号被输入设备接收。可以通过通信链路16发送信号。如上所述,反馈信号可以包括指示与在框2320中检测到的用户交互相关联的期望反馈响应的大小和/或频率的数据。在一些实施例中,例如,当如上所述在可穿戴显示设备处检测到虚拟交互时,可以独立于在框2320中检测用户交互而接收反馈信号。
在框2350处,处理流程2300基于在框2340中接收到的触觉反馈信号来生成触觉反馈响应。在各个实施例中,输入设备的控制器可以接收并处理该反馈信号以获取其中包括的反馈参数。反馈参数可以被应用于触觉反馈组件。例如,反馈参数可以定义要施加到一个或多个触觉反馈组件以产生期望的反馈响应的电流和/或电压。输入设备可以包括具有电压源的电路,该电压源被配置为向附接到其的触觉反馈组件施加电流。基于触觉反馈参数,该源可以被配置为以期望的占空比施加给定大小的电流,以通过输入设备产生期望的振动。处理器还可以被配置为识别局部区域(例如,所识别的一组触觉反馈组件),以向其施加电流以产生局部反馈响应。用户交互位置和相关联的触觉反馈组件的映射可以存储在处理器可访问的数据存储设备中。在生成触觉反馈响应之后,处理流程返回到框2320以监控未来的用户交互。
示例
在一些示例中,一种头戴式显示器(HMD)包括:框架;由框架支撑并被配置为将图像投影到用户的眼睛的投影光学器件;以及检测与可操作地与HMD连接的输入设备的交互的传感器;被配置为存储指令的非临时性数据存储设备;可操作地耦接到非暂时性数据存储设备的至少一个硬件处理器,该硬件处理器被指令配置为:从传感器接收指示用户交互的信号;基于该信号确定用户交互的类型;以及向该输入设备发送触觉反馈信号,其中,触觉反馈信号包括用于生成可通过输入设备通信给用户的触觉响应的一个或多个参数。
在任何前述示例中,输入设备可以包括触觉反馈组件。
在任何前述示例中,参数可以包括指示触觉响应的大小和频率的数据。
在任何前述示例中,参数可以指示要提供给触觉反馈组件的电流和电压中的至少一个。
在任何前述示例中,触觉反馈组件可以包括偏心旋转质量电动机、线性谐振启动器和压电启动器中的至少一个。
在任何前述示例中,输入设备可以是键盘。
在任何前述示例中,传感器可以包括设置在框架上的面向外部的相机,并且可以被配置为检测与显示设备的用户交互。
在任何前述示例中,面向外部的相机可以被配置为从HMD的前面捕获多个图像,并且至少一个硬件处理器可以被进一步配置为基于多个图像来确定用户交互。
在任何前述示例中,用户交互的类型可以包括按下输入设备的按键、移动输入设备的组件以及与输入设备交互中的至少一个。
在任何前述示例中,非暂时性数据存储设备可以被配置为存储多种类型的用户交互和触觉反馈信号,其中,每种类型的用户交互与一个或多个参数之一相关联。
在任何前述示例中,至少一个硬件处理器可以进一步被配置为基于用户交互的类型来获取一个或多个参数,其中,反馈响应与用户交互的类型相对应。
在一些示例中,一种方法包括:从传感器接收指示经由输入设备与可穿戴显示系统的用户交互的信号;基于该信号确定用户交互的类型;以及向输入设备发送触觉反馈信号,其中,触觉反馈信号包括用于产生通过输入设备可通信给用户的触觉响应的一个或多个参数。
在任何前述示例中,输入设备可以包括触觉反馈组件。
在任何前述示例中,参数可以包括指示触觉响应的大小和频率的数据。
在任何前述示例中,参数可以指示将要提供给触觉反馈组件的电流和电压中的至少一个。
在任何前述示例中,触觉反馈组件可包括偏心旋转质量电动机、线性谐振启动器和压电启动器中的至少一个。
在任何前述示例中,输入设备可以是键盘。
在任何前述示例中,传感器可以包括设置在可穿戴显示系统上并被配置为检测用户交互的面向外部的相机。
在任何前述示例中,面向外部的相机可以被配置为从可穿戴显示系统的前面捕获多个图像,并且该方法可以进一步包括基于多个图像来确定用户交互。
在任何前述示例中,用户交互的类型可以包括按下输入设备的按键、移动输入设备的组件以及与输入设备交互中的至少一个。
在任何前述示例中,该方法可以进一步包括存储多种类型的用户交互和触觉反馈信号,其中,每种类型的用户交互与一个或多个参数之一相关联。
在任何前述示例中,该方法可以进一步包括基于用户交互的类型来获取一个或多个参数,其中,反馈响应与用户交互的类型相对应。
在一些示例中,一种非暂时性计算机可读介质包括指令,该指令当由硬件处理器读取时使硬件处理器执行包括以下操作的方法:从传感器接收指示经由输入设备与可穿戴显示系统的用户交互的信号;基于该信号确定用户交互的类型;以及向输入设备发送触觉反馈信号,其中,触觉反馈信号包括用于产生通过输入设备可通信给用户的触觉响应的一个或多个参数。
在任何前述示例中,输入设备可以包括触觉反馈组件。
在任何前述示例中,参数可以包括指示触觉响应的大小和频率的数据。
在任何前述示例中,参数可以指示将要提供给触觉反馈组件的电流和电压中的至少一个。
在任何前述示例中,触觉反馈组件可包括偏心旋转质量电动机、线性谐振启动器和压电启动器中的至少一个。
在任何前述示例中,输入设备可以是键盘。
在任何前述示例中,传感器可以包括设置在可穿戴显示系统上并被配置为检测用户交互的面向外部的相机。
在任何前述示例中,面向外部的相机可以被配置为从可穿戴显示系统的前面捕获多个图像,并且该方法可以进一步包括基于多个图像来确定用户交互。
在任何前述示例中,用户交互的类型可以包括按下输入设备的按键、移动输入设备的组件以及与输入设备交互中的至少一个。
在任何前述示例中,由计算机可读介质引起的方法可以进一步包括存储多种类型的用户交互和触觉反馈信号,其中,每种类型的用户交互与一个或多个参数之一相关联。
在任何前述示例中,由计算机可读介质引起的方法可以进一步包括基于用户交互的类型来获取一个或多个参数,其中,反馈响应与用户交互的类型相对应。
用户输入设备和虚拟监控器之间的示例协调
一种诸如头戴式显示器(HMD)的可穿戴显示系统可以被配置为与诸如物理用户输入设备(例如,键盘)的伴侣设备一起工作。为了使HMD和物理用户输入设备能够一起工作(例如,以无线方式交换信息),伴侣设备和HMD可能需要首先彼此配对。配对后,可穿戴显示系统可以向用户显示虚拟监控器。虚拟监控器可以是例如HMD的视野的子部分,在该处显示AR图像数据以模拟监控器的外观和功能。虚拟监控器的位置和虚拟监控器中显示的内容可以基于物理用户输入设备的位置和/或基于对用户输入设备的输入。例如,可以在物理键盘附近显示虚拟监控器。可以基于物理用户输入设备的位置来确定虚拟监控器的位置。可以基于物理用户输入设备的新位置来更新虚拟监控器的位置,因为其相对于用户的相对物理位置发生了改变。作为另一示例,对物理用户输入设备的输入可以导致虚拟监控器中显示的内容的改变。本公开提供了用于这种虚拟监控器用户输入设备编排的系统和方法。
图24示意性地示出了可佩戴头戴式显示器(HMD)系统、相关联的物理键盘和在HMD系统的显示器上示出的虚拟监控器之间的示例交互。HMD系统2404可以认证伴侣设备,例如物理键盘2408或某种其他类型的物理用户输入设备(例如,触摸板)。对于物理键盘2408,用户可以按下物理按键以生成与按下的按键相对应的信号。然后可以将与按下的按键相对应的信号发送到HMD系统,HMD系统随后可以执行与该信号相对应的动作。例如,该动作可以是在虚拟监控器上显示与所按下的按键相对应的字符、数字或符号。
HMD系统2404和物理键盘2408可以通过例如射频(RF)通信信道2412(例如,WiFi、蓝牙等)进行无线通信。
HMD系统2404可以包括诸如相机之类的面向外部的图像捕获设备,其可以捕获HMD系统2404的用户周围的环境的图像。用户的视野(FOV)可以包括物理键盘2408。用户的环境的图像也可以包括物理键盘2408。HMD系统2404可以通过分析图像来确定物理键盘2408在用户的FOV中的存在。HMD系统2404还可以使用计算机视觉技术来确定物理键盘2408的位置。基于物理键盘2408的位置,HMD系统2404可以确定虚拟监控器2416的位置,并在所确定的位置处显示虚拟监控器2416。
虚拟监控器可以对应于HMD系统2404的一部分视野。来自键盘2408的用户输入可以显示在该部分视野中。在一些实施例中,物理键盘2408的启动可以导致在虚拟监控器上执行用户界面操作。例如,可穿戴系统可以呈现虚拟监控器2416以出现在视野内的物理键盘2408附近。在一些实施例中,在视野内的物理键盘2408的检测到的位置与对应于虚拟监控器的图像数据在视野内的显示的位置之间存在固定的空间关系。如果例如物理键盘2408在视野内的位置改变,则虚拟监控器的显示位置也可以以对应的方式改变。
HMD系统2404可以基于用户视野(FOV)中的内容来更新渲染位置或将虚拟监控器2416设置为可见/不可见。例如,如果物理键盘2408在用户的FOV中,则HMD系统2404可以显示虚拟监控器2416。如果用户的头部姿势改变并且物理键盘2408不再位于用户的FOV中,则HMD系统2404可以隐藏虚拟监控器2416。
虚拟监控器位置的示例确定
图25示出了至少部分基于物理键盘的位置来确定虚拟监控器、虚拟显示器或虚拟屏幕的位置的示例过程2500。在框2504,可穿戴显示器可以接收可穿戴系统的用户的物理环境的第一图像。物理环境的第一图像对应于世界相机的视野(FOV)。世界相机的视野可以包括用户的视野的至少一部分。第一图像可以示出用户的FOV包括输入设备,诸如物理键盘。
在框2508,可穿戴系统可以使用第一图像来确定物理键盘在用户的环境中的第一位置/取向。可穿戴系统可以确定物理键盘的第一位置在用户的FOV内。可穿戴系统可以利用本文公开的一种或多种计算机视觉技术来实现对象识别器,以确定物理键盘在用户的FOV中的存在以及物理键盘的第一位置/取向。
在一些实施例中,可穿戴系统可以利用本文公开的一种或多种计算机视觉技术来实现对象识别器,以利用物理键盘的视觉特性(例如,基准的位置)来确定物理键盘的第一位置/取向。例如,视觉特性可以包括物理键盘的表面的形状或与物理键盘相关联的至少一个标签中的至少一个。与物理键盘相关联的标签对于用户可以是不可见的(例如,使用人眼不可见的染料创建的基准)。
在一些实施例中,可以从物理键盘接收物理键盘的第一位置/取向,该第一位置/取向是使用物理键盘的位置/取向传感器确定的。例如,位置/取向传感器可以包括全球定位系统(GPS)单元、加速计、惯性测量单元、陀螺仪、指南针或其组合。在一些实施例中,位置/取向传感器可以用于提供具有第一数量自由度(例如,三个自由度)的位置/取向信息。然后,计算机视觉技术可用于补充来自键盘的传感器的位置/取向信息,从而增加自由度的数量(例如,将位置/取向信息增加至6个自由度)。例如,在某些实施例中,键盘的传感器可以是3轴加速度计,其提供键盘的取向。然后,可以使用计算机视觉技术在三维空间内定位键盘的位置。类似的技术可以用于确定任何物理对象(包括图腾)的位置/取向。
在一些实施例中,可以基于图像中物理键盘附近的用户的手来确定键盘的第一位置/取向。例如,与物理键盘的紧密接近耦接的键入动作可以指示用户正在键入。因此,可以基于手的位置来确定物理键盘的位置/取向。
在一些实施例中,物理键盘上的按键可以是不均匀的。例如,某些按键可以更大或更高(例如,相对于物理键盘的参考平面)。这些按键相对于其他按键的特性可用于确定物理键盘的位置/取向。在一些实施例中,可穿戴系统可以接收用户的眼睛的图像并确定用户的眼睛的凝视方向。基于凝视方向,可穿戴系统可以确定眼睛正在注视物理键盘的特定按键(例如,较高或较宽的按键)。注视特定按键可以是给可穿戴系统的与特定按键相关联的命令。例如,该命令可以启用或禁用用于将虚拟监控器锁定为相对于物理键盘而言看起来相对固定的锁定命令。
在框2512,可穿戴系统可以至少部分地基于物理键盘的第一位置来确定虚拟监控器的第一渲染位置/取向。例如,第一渲染位置/取向可以相对于物理键盘的第一位置/取向。作为另一个示例,第一渲染位置/取向可以基于物理键盘距用户的距离。
在框2516,可穿戴系统可以至少部分地基于第一渲染位置/取向和虚拟监控器的尺寸偏好来确定虚拟监控器的尺寸。例如,如果虚拟监控器的尺寸偏好较大,则渲染的虚拟监控器的尺寸应较大。作为另一个示例,如果键盘与用户距离相对更远,则虚拟监控器的尺寸可以相对较小地渲染,从而相对来说它们的尺寸是相称的。在框2520处,可穿戴系统可以指示可穿戴系统的显示系统在第一渲染位置处以所确定的尺寸和取向来渲染虚拟监控器。在一些实施例中,可穿戴系统可以在第一位置渲染虚拟输入设备,看起来像叠加在物理输入设备上一样。
示例虚拟监控器位置更新
图26示出了基于物理键盘的位置来修改虚拟监控器的渲染位置/取向的示例过程2600。如上所述,可以在过程2500的实现之后实现说明性方法2600,使得框2604在上述框2520之后发生。
在框2604,可穿戴系统可以接收物理环境的第二图像。物理环境的第二张图像对应于世界相机的视野(FOV)。世界相机的视野可以包括用户的视野的至少一部分。第二图像可以显示用户的FOV包括输入设备,诸如物理键盘。
在框2608,可穿戴系统可以使用第二图像(和/或使用来自键盘的位置/取向传感器的信息)来确定用户的环境中的物理键盘的第二位置/取向。可穿戴系统可以确定物理键盘的第二位置在用户的FOV内。可穿戴系统可以利用一种或多种计算机视觉技术(诸如本文所公开的那些技术)来实现对象识别器,以确定物理键盘在用户的FOV中的存在以及物理键盘的第一位置/取向。
在一些实施例中,可穿戴系统可以利用一种或多种计算机视觉技术(诸如本文公开的那些技术)来实现对象识别器,以利用物理键盘的视觉特性(例如,基准的位置)来确定物理键盘的第二位置/取向。例如,如上所述,视觉特性可以包括与物理键盘相关联的至少一个标签。但是在此框处描述的标签和参考框2508描述的标签可以不同,因为第一框对可穿戴系统可能不再可见,或者第二标签可能位于可以更清楚地看到的位置。
在框2612,可穿戴系统可以确定是否满足重新渲染标准。重新渲染标准可以基于以下一个或多个因素。例如,重新渲染标准可以至少部分地基于物理键盘的第一位置/取向与物理键盘的第二位置/取向之间的距离/改变。如果距离/改变低于阈值,则可能无法满足重新渲染标准,并且可能不需要改变虚拟监控器的位置/取向,因此使重新渲染变得不必要。
重新渲染标准可以至少部分地基于使用物理键盘的取向传感器确定的物理键盘的取向。用户可以通过旋转物理键盘以模拟关闭物理笔记本电脑的盖子来表明他或她意图“关闭”虚拟监控器。可穿戴显示器可以接收输入设备的取向或输入设备的取向的改变,并且使显示系统至少部分地基于输入设备的取向来停止渲染虚拟显示器。可以使用物理键盘的取向传感器(诸如加速度计、惯性测量单元、陀螺仪、指南针或其组合)来确定物理键盘的取向。在一些实施例中,可穿戴系统可以至少部分地基于输入设备的类型来停止渲染虚拟显示器。例如,如果物理键盘代表物理笔记本电脑的键盘,则可穿戴显示系统可以在接收到物理键盘被旋转的指示之后停止显示虚拟监控器。但是,如果物理键盘代表台式计算机的键盘,则可穿戴显示系统在接收到相同指示后可能不会停止显示虚拟监控器。更一般地,类似于手势,键盘可以基于其移动与命令相关联。基于键盘移动的某些命令可能不满足重新渲染标准(例如,如果物理键盘对应于台式机键盘,则旋转物理键盘),因此不需要重新渲染虚拟监控器。作为示例,将物理键盘远离用户移动可能不需要重新渲染虚拟监控器或调整虚拟监控器的尺寸。
在框2616,可穿戴系统可以至少部分地基于物理键盘的第二位置/取向来确定虚拟监控器的第二渲染位置/取向。例如,第二渲染位置/取向可以相对于物理键盘的第二位置/取向。作为另一个示例,第二渲染位置/取向可以基于物理键盘到用户的距离。在框2620,可穿戴系统可以指示显示系统在第二渲染位置/取向处重新渲染虚拟监控器。可穿戴系统可以至少部分地基于第二渲染位置和虚拟监控器的尺寸偏好来确定虚拟监控器的尺寸。例如,如果虚拟监控器的尺寸偏好较大,则渲染的虚拟监控器的尺寸应当较大。作为另一示例,如果键盘远离用户,则虚拟监控器的尺寸可以更小,使得它们的尺寸彼此相称。
使用虚拟监控器的示例渲染
图27示出了使用图25中的虚拟监控器来渲染由物理键盘接收的输入的示例过程。可以在实现上面讨论的过程2500或过程2600之后实现说明性方法2700,使得框2704在上述框2520或框2620之后发生。
在框2704,可穿戴系统可以接收物理键盘的第一按键的启动的指示。例如,物理键盘可以通过通信信道直接或间接地将数据发送到可穿戴系统,指示物理键盘的对应于字母“M”的第一按键已经被用户启动或按下。在框2708处,可穿戴系统可以指示显示系统渲染与第一按键相对应的第一标记,如出现在虚拟监控器中的第一字符的第一位置处。例如,在接收到已经启动了与字母“M”相对应的按键的数据之后,可穿戴系统可以显示与字母“M”相对应的第一标记。第一标记可以包含字母“M”的表示(例如,具有特定的字体和尺寸)。第一标记可以在虚拟监控器上显示在虚拟监控器的特定位置处。在某些实施例中,用户的视野(FOV)仅包括虚拟监控器的一部分。因此,如果第一标记的位置不在用户的FOV中,则该标记可能不会显示在虚拟监控器上。在一些实施例中,按键的启动对应于本文描述的用户界面操作,诸如移动虚拟对象或物理对象。在一些实施例中,第一按键的启动对应于启用或禁用用于锁定虚拟监控器的锁定命令,如相对于物理键盘显得相对固定。
在框2712,可穿戴系统可以接收物理键盘的第二按键已被按下的指示。例如,物理键盘可以通过通信信道直接或间接地将数据发送到可穿戴系统,指示物理键盘的与字母“A”相对应的第二按键已经被用户启动或按下。在一些实施例中,第二按键的启动对应于启用或禁用用于锁定虚拟监控器的锁定命令,如相对于物理键盘显得相对固定。
在框2716,可穿戴系统可以至少部分地基于第一字符的第一位置来确定与第二按键相对应的第二标记的第二位置。例如,当用户在虚拟监控器上所示的虚拟文档中键入时,与字母“A”相对应的第二标记的第二位置可以与第一标记相邻。在框2720,可穿戴系统可以指示显示系统渲染与第二按键相对应的第二标记,如出现在虚拟监控器中第二字符的第二位置处。例如,在接收到对应于字母“A”的按键已被启动的数据之后,可穿戴系统可以显示对应于字母“A”的第二标记。第二标记可以包含字母“M”的表示(例如,特定的字体和尺寸)。第二标记可以显示在虚拟监控器上的虚拟监控器的特定位置处。可以重复框2712-2716,以便可穿戴系统可以通过物理键盘连续接收来自用户的输入。
示例
在一些示例中,一种系统包括:显示系统,其被配置为向用户呈现虚拟监控器;面向外部的成像系统,其被配置为对用户的物理环境成像;与显示系统和面向外部的成像系统通信的硬件处理器,该硬件处理器被编程为:接收由面向外部的成像系统获取的物理环境的第一图像;以及使用第一图像确定物理键盘在用户环境中的第一位置;至少部分地基于物理键盘的第一位置来确定虚拟监控器的第一渲染位置;至少部分地基于第一渲染位置和虚拟监控器的尺寸偏好来确定虚拟监控器的尺寸,其中,虚拟监控器被配置用于用户界面功能;以及指示显示系统以在第一渲染位置处以确定的尺寸渲染虚拟监控器。
在任何前述示例中,为了确定物理键盘在用户的环境中的第一位置,可以对硬件处理器进行编程,以执行对象识别器,以使用物理键盘的视觉特性来确定物理键盘的第一位置。
在任何前述示例中,视觉特征可以包括物理键盘的表面的形状或与物理键盘相关联的标签中的至少一个。
在任何前述示例中,与物理键盘相关联的标签对于用户而言可能是不可见的。
在任何前述示例中,与物理键盘相关联的标签可以在物理键盘上。
在任何前述示例中,与物理键盘相关联的标签可以在相对于物理键盘固定并且相对于物理键盘偏移的标签位置处。
在任何前述示例中,面向外部的成像系统可以包括具有视野(FOV)的世界相机,其中,FOV包括在给定时间下由世界相机观察到的一部分物理环境,以及其中,为了确定物理键盘的第一位置,可以对硬件处理器进行编程以检测物理键盘的至少一部分在FOV中。
在任何前述示例中,可以对硬件处理器进行进一步编程以:接收对物理键盘的第一按键的启动的指示;以及指示显示系统渲染与第一按键相对应的第一标记,如出现在虚拟监控器中的第一字符的第一位置处。
在任何前述示例中,可以对硬件处理器进行进一步编程以:接收已按下物理键盘的第二按键的指示;至少部分地基于第一字符的第一位置,确定与第二按键相对应的第二标记的第二位置;以及指示显示系统渲染与第二按键相对应的第二标记,如出现在虚拟监控器中的第二字符的第二位置处。
在任何前述示例中,还可以对硬件处理器进行进一步编程以:接收对物理键盘的第一按键的启动的指示;以及基于物理键盘的第一按键的启动来指示命令的执行。
在任何前述示例中,该命令可以使系统执行用户界面操作。
在任何前述示例中,该命令可以包括启用或禁用用于将虚拟监控器锁定为相对于物理键盘而言相对固定的锁定命令
在任何前述示例中,可以对硬件处理器进行进一步编程以:接收由面向外部的成像系统获取的物理环境的第二图像;使用第二图像确定物理键盘在用户的环境中的第二位置;确定是否满足重新渲染标准;至少部分地基于物理键盘的第二位置来确定虚拟监控器的第二渲染位置;以及指示显示系统在第二渲染位置重新渲染虚拟监控器。
在任何前述示例中,可以对硬件处理器进行进一步编程以:确定物理键盘的第一位置与物理键盘的第二位置之间的距离;以及重新渲染标准可以至少部分基于该距离。
在任何前述示例中,重新渲染标准可以至少部分基于用于锁定虚拟监控器如相对于物理键盘看起来相对固定的锁定命令。
在任何前述示例中,重新渲染标准可以至少部分基于使用物理键盘的取向传感器确定的物理键盘的取向。
在任何前述示例中,物理键盘的第三按键的特性和物理键盘的第四按键的对应特性可以不同。
在任何前述示例中,第三按键的特性可以包括第三按键相对于物理键盘的参考平面的高度。
在任何前述示例中,该系统可以进一步包括:被配置为对用户的眼睛成像的面向内部的成像系统,其中,该硬件处理器还被编程为:接收用户的眼睛的图像;在用户的眼睛的图像中确定用户的眼睛的注视方向;使用眼睛的注视方向,确定眼睛的图像中的眼睛正在注视物理键盘的第三按键;以及至少部分地基于眼睛的图像中的眼睛正在注视物理键盘的第三按键来指示命令的执行。
在任何前述示例中,该命令可以包括启用或禁用用于将虚拟监控器锁定为相对于物理键盘而言相对固定的锁定命令。
在一些示例中,一种方法包括:接收输入设备在虚拟显示对象的用户的环境中的第一位置;至少部分地基于输入设备的第一位置来确定虚拟显示对象的第一渲染位置;至少部分地基于第一渲染位置来确定虚拟显示对象的尺寸;以及使显示系统在第一渲染位置处渲染虚拟显示器。
在任何前述示例中,输入设备可以包括物理键盘。
在任何前述示例中,接收输入设备的第一位置可以包括接收由输入设备使用位置传感器确定的输入设备的第一位置。
在任何前述示例中,位置传感器可以包括全球定位系统(GPS)单元、加速计、惯性测量单元、陀螺仪、指南针或其组合。
在任何前述示例中,接收输入设备的第一位置可以包括使用输入设备在用户的环境中的图像来确定输入设备的第一位置。
在任何前述示例中,接收输入设备的第一位置可以进一步包括使用图像中输入设备附近的用户的手的位置来确定输入设备的第一位置。
在任何前述示例中,该方法可以进一步包括:使显示系统在第一位置处渲染虚拟输入设备为看起来叠加在物理输入设备上。
在任何前述示例中,该方法可以进一步包括:接收输入设备的取向;以及至少部分地基于输入设备的取向使显示系统停止渲染虚拟显示器。
在任何前述示例中,接收输入设备的取向可以包括接收使用取向传感器确定的输入设备的取向,其中,取向传感器包括加速度计、惯性测量单元、陀螺仪、指南针、或其组合。
在任何前述示例中,使显示系统停止渲染虚拟显示器可以包括:至少部分地基于输入设备的类型,使显示系统停止渲染虚拟显示器。
在一些示例中,一种非暂时性计算机可读介质包括指令,该指令当计算机准备就绪时使计算机执行包括以下操作的方法:接收输入设备在虚拟显示对象的用户的环境中的第一位置;至少部分地基于输入设备的第一位置来确定虚拟显示对象的第一渲染位置;至少部分地基于第一渲染位置来确定虚拟显示对象的尺寸;以及使显示系统在第一渲染位置处渲染虚拟显示器。
在任何前述示例中,输入设备可以包括物理键盘。
在任何前述示例中,接收输入设备的第一位置可以包括:接收由输入设备使用位置传感器确定的输入设备的第一位置。
在任何前述示例中,位置传感器可以包括全球定位系统(GPS)单元、加速计、惯性测量单元、陀螺仪、指南针或其组合。
在任何前述示例中,接收输入设备的第一位置可以包括使用输入设备在用户的环境中的图像来确定输入设备的第一位置。
在任何前述示例中,接收输入设备的第一位置可以进一步包括使用图像中在输入设备附近的用户的手的位置来确定输入设备的第一位置。
在任何前述示例中,由计算机可读介质引起的方法可以进一步包括:使显示系统在第一位置处渲染虚拟输入设备为看起来叠加在物理输入设备上。
在任何前述示例中,由计算机可读介质引起的方法可以进一步包括:接收输入设备的取向;以及至少部分地基于输入设备的取向使显示系统停止渲染虚拟显示器。
在任何前述示例中,接收输入设备的取向可以包括接收使用取向传感器确定的输入设备的取向,其中,取向传感器包括加速度计、惯性测量单元、陀螺仪、指南针、或其组合。
在任何前述示例中,使显示系统停止渲染虚拟显示器可以包括:至少部分地基于输入设备的类型,使显示系统停止渲染虚拟显示器。
应用图像数据和相关联的用户界面图像数据之间的相对位置示例
本文公开的可穿戴VR/AR/MR系统能够显示虚拟图像数据,使得图像数据看起来源自多个表观深度或位于距用户不同距离的深度平面中的任何一个。因此,在这些可穿戴VR/AR/MR系统中,虚拟图像数据不仅可以显示在二维(2-D)区域内,而且可以显示在三维(3-D)空间体积内。显示虚拟图像数据的空间体积可以是例如盒子,尽管其他形状也是可以的。盒子可以在沿着用户视线的方向上具有深度尺寸(例如图28和图29A-29E中所示的z方向)、以及横向宽度和高度尺寸(例如分别在图28和图29A-29E中示出的x和y方向)。
由于本文所述的VR/AR/MR系统能够同时执行多个软件应用(例如游戏应用、地图应用、日历应用、消息传递应用、时钟应用、文字处理应用等),并且由于每个这些应用都可以拥有自己的关联虚拟图像数据,因此定义每个应用可以在其中显示其关联的图像数据的单独的、不重叠的空间体积可能是有利的。可能不允许每个应用在其指定的空间体积之外显示图像数据。这样,可以避免针对不同应用的图像数据之间的冲突。
在一些实施例中,两个应用可以是相关的或以其他方式相关联,使得可以期望提供在第一应用在其中显示其图像数据的第一空间体积与相关的第二应用在其中显示其图像数据的第二空间体积之间的特定相对空间关系。两个相关的应用可以是单独的应用,或者其中一个应用可以是由另一个应用控制的子应用。一个示例相关应用对是父应用(例如游戏应用、地图应用、日历应用、消息传递应用、时钟应用、文字处理应用等)和用户界面应用(例如虚拟键盘应用,其允许用户与父应用进行交互(例如通过输入文本、命令等))。本文使用父应用和相关的用户界面应用(例如虚拟键盘应用)的示例公开了各种示例性系统和方法,但是应该理解,相同的系统和方法可以与任何相关的或以其他方式相关联的应用使用。
当确定分配用于显示与父应用相关联的图像数据和与用于父应用的用户界面相关联的图像数据的各个不重叠空间体积的相对空间位置时,可能需要满足以下目的中的一个或多个:1)向用户提供指示哪个用户界面(例如虚拟键盘)实例与哪个父应用配对,因为VR/AR/MR系统可以同时显示多个父应用和多个对应的用户界面;2)确保用于确定用户界面相对于父应用的位置的定位逻辑允许用户查看他们选择的父应用的任何部分;以及3)在用户界面和父应用之间提供深度距离,其可以增强可读性。
图28示出了由可穿戴VR/AR/MR系统200显示的用户界面图像数据2810和父应用图像数据2820之间的相对空间关系的示例。这两个应用都由用户205佩戴的VR/AR/MR系统200执行和显示。
留出空间体积2812用于显示用户界面图像数据2810。在一些实施例中,空间体积2812是具有在所示的z方向上的深度尺寸和在所示的x和y方向上的横向尺寸的盒子。在所示的实施例中,用户界面是虚拟键盘,并且用户界面图像数据2810显示在用户界面盒子2812的前表面上。在其他实施例中,用户界面图像数据2810可以占据用户界面盒子2812的附加部分,无论是同时还是在不同的时刻。
留出不同的空间体积2822用于显示父应用图像数据2820。在一些实施例中,空间体积2822也是具有在所示的z方向上的深度尺寸和在所示的x和y方向上的横向尺寸的盒子。在所示的实施例中,父应用图像数据2820显示在父应用盒子2822的前表面上,尽管该分配的空间体积的其他部分也可以用于显示父应用图像数据2820,无论是同时还是在不同的时刻。
如图所示,用户界面盒子2812和父应用盒子2822不重叠,以避免两个应用之间的图像数据冲突。但是,在所示的实施例中,两个盒子2822、2812发生“触碰”,其中,用户界面盒子2812的后表面与父应用盒子2822的前表面相邻。
图28示出了用户界面图像数据2810和父应用图像数据2820之间在z方向上的深度距离D。深度距离D可以是固定距离。在一些实施例中,深度距离D对应于用户界面盒子2812的深度尺寸。
可以通过多种方式来测量深度距离D。在一些实施例中,深度距离D是从父应用盒子2822的表面到用户界面盒子2812的对应表面来测量的。例如,如图28所示,可以从父应用盒子2822的前表面到用户界面盒子2812的前表面测量深度距离D。在其他实施例中,可以从父应用盒子2822内的父应用图像数据2820的深度平面到用户界面盒子2812内的用户界面图像数据2810的深度平面测量固定深度距离D。
即使当父应用盒子2822或用户界面盒子2812被移动时,VR/AR/MR系统200也可以将用户界面图像数据2810和父应用图像数据2820之间的深度距离D保持在固定值。例如,如果发出命令(例如由用户2805或由父应用本身)以移动父应用盒子2822的深度位置和/或移动在移动盒子2822内的父应用图像数据2820的深度位置,则可穿戴VR/AR/MR系统200可以自动将用户界面盒子2812和/或盒子2812内的用户界面图像数据2810沿深度方向移动对应量,以保持固定深度距离D。
通过在所有或部分父应用图像数据2820与所有或部分相关联的用户界面图像数据2810(例如虚拟键盘)之间和/或在父应用盒子2822和用户界面盒子2812之间保持固定的深度距离,可以增强用户界面体验(例如打字体验)。不同的深度或深度平面提高了用户2805容易地在用户界面层和父应用层之间进行区分的能力,而固定距离D帮助用户从上下文上理解这两个应用彼此相关。与用户界面与父应用层在同一平面上相比,这种布置还使用户界面背后的父应用内容可见并更具可读性。
另外,固定距离D可以限制用户在使用VR/AR/MR系统200上的各种应用时必须适应的聚散适应上推(vergence-accommodation push-up)的排列(permutation)的数量。聚散适应上推是一个术语,它描述了在父应用图像数据2820和用户界面图像数据2810之间来回查看时,在不同距离上聚焦时用户眼睛所遭受的负担。尽管这种负担可能不会立即被所有用户感知到,随着时间的流逝,它会使某些用户感到不适。
由于键盘按键和键入的文本位于不同的深度,诸如虚拟键盘的用户界面可以相对经常地发生与聚散适应上推相关联的焦距移位。这些深度之间的距离越大,用户的眼睛承受的负担就越大。但是深度之间的距离越小,用户就越难区分应用图像数据2820和用户界面图像数据2810。深度距离D的值范围很广,可以达到这两个因素之间的良好平衡。在一些实施例中,深度距离D为10-30英寸。在一些实施例中,深度距离D为15-20英寸。在一些实施例中,发现深度距离D为16.85英寸的值时工作良好。
在一些实施例中,可以通过来自父应用或用户的命令来调用用户界面应用。当调用用户界面应用时,用户界面盒子2812可以位于由父应用或用户指定的生成点(spawnpoint)处。例如,父应用可以提供一组局部坐标(例如相对于父应用盒子2822指定的坐标),该局部坐标指示用户界面盒子2812上或之中的特定点应该位于何处。
在一些实施例中,局部坐标仅需要指定横向(x,y)坐标,并且可以基于固定的深度距离D确定z坐标。但是如果用户界面图像数据2810被简单地显示在指定的横向(x,y)坐标并且距父应用图像数据2820的固定深度距离的位置处,它可能实际上在用户2805看来并未位于预期位置。这是因为,根据父应用盒子2822和用户界面盒子2812相对于用户视点的位置,在例如父应用图像数据2820和用户界面图像数据2810之间的深度距离D可以从用户的角度来看引入一些明显的横向偏移。
例如,父应用给定的局部坐标可能旨在使用户界面盒子2812与父应用盒子2822的底部齐平。但是,如果这两个盒子位于用户视点上方或下方,用户界面盒子2812可能反而在用户2805看来与父应用盒子2822交叠,或者可能在用户2805看来这两个盒子之间存在间隙,取决于深度距离D。
因此,在某些实施例中,VR/AR/MR系统200可以从局部坐标指定的点向用户的视点投射射线。VR/AR/MR系统200然后可以计算投射射线与位于距父应用图像数据2820和/或盒子2822期望深度距离D处的平面相交的点。用户界面图像数据2810和/或盒子2812然后可以位于在基于该相交点的生成点处。例如,用户界面盒子2812的前表面的顶部边缘的中部(或用户界面盒子上或用户界面盒子中的任何其他指定点)可以位于该相交点处。这样,无论父应用盒子2822和用户界面盒子2812相对于用户视点在何处,用户界面图像数据2810和/或盒子2822对于用户2805将看起来位于所需位置。
在其他实施例中,如果为定位用户界面而提供的局部坐标位于父应用盒子2822内,则VR/AR/MR系统200可以沿着从用户205到由本地坐标指定的点的视线计算位于父应用盒子2822之外的生成点。(这样做可以防止父应用盒子2822和用户界面盒子2812重叠)。例如,VR/AR/MR系统200可以从局部坐标指定的点向用户205的视点投射射线。VR/AR/MR系统200然后可以计算投射的射线与父应用盒子2822的前表面的平面相交的位置。然后可以基于相交点生成用户界面盒子2812。例如,用户界面盒子2812的后表面的上边缘的中心(或用户界面盒子上或用户界面盒子中的任何其他指定点)可以位于该相交点处。如果用户界面盒子2812的深度尺寸等于固定深度距离D,并且如果用户界面图像数据2810显示在用户界面盒子的前表面,则用户界面图像数据将位于距父应用盒子2822的正确距离处。
在一些实施例中,要求用户界面图像数据2810和/或盒子2812横向触碰父应用图像数据2820和/或盒子2822。图29A至图29E示出了允许和不允许的空间关系的示例。图29A示出了其中用户界面盒子2812完全横向地与父应用盒子2822重叠的示例。图29B示出了其中用户界面盒子2812部分横向地与父应用盒子2822重叠的示例。图29C示出了其中用户界面盒子2812的边缘横向地触碰父应用盒子2822的边缘的示例。图29D示出了其中用户界面盒子2812的拐角横向地触碰父应用盒子2822的拐角的示例。图29E示出了其中用户界面盒子2812的任何部分都没有横向地触碰父应用盒子2822的任何部分的示例。在要求用户界面盒子2812横向地触碰父应用盒子2822的实施例中,允许图29A至图29D所示的布置,而不允许图29E所示的布置。在其他实施例中,可以相对于可由用户指定的父应用图像数据2820和/或盒子2822以其他相对空间关系来布置用户界面图像数据2810和/或盒子2812。
在一些实施例中,父应用盒子2822和用户界面盒子2812可以在形式上彼此一起移动。如果从用户2805或从父应用本身接收到移动父应用盒子2822的命令,则可以将用户界面盒子2812移动对应量。例如,用户界面盒子2812可以与父应用盒子2822在相同方向上移动相同的量。或者可以以保持两个盒子2812、2822之间的相同表观相对位置的方向和移动量移动用户界面盒子2812。如上所述,两个盒子2812、2822之间的表观相对位置可以取决于它们相对于用户的视点所处的位置以及在两个盒子之间的深度距离D。因此,当发出移动父应用盒子2822的命令时,可以使用上述射线投射技术来确定用户界面盒子2812的新位置。在其他实施例中,两个盒子2812、2822之间的位置是固定的,不考虑表观相对位置。
在一些实施例中,父应用控制用户界面盒子2812的移动,因为可能用户界面应用未被通知父应用盒子2822正在被操纵并且因此可能无法提供其自己的对应移动行为。这可以通过在操纵父应用盒子2822开始时使用户界面盒子2812成为父应用盒子2822的场景图子级来实现。作为子级场景图,应用于父应用盒子2822的移动可以被自动应用于用户界面盒子2812。在对于父应用盒子2822的操纵结束时,可以打破场景图的父子关系,并且可以在操纵之前再次将用户界面盒子2812设为根场景图对象。
在一些实施例中,父应用盒子2822和用户界面盒子2812一起移动但不是精确地形式上移动。而是,只要保持盒子之间的横向触碰,就可以改变父应用盒子2822和用户界面盒子2812之间的相对位置(例如如图29A至图29D所示)。图30是示出了这种类型的移动的流程图3000。
在框3010,将父应用图像数据2820显示在诸如父应用盒子2822的第一空间体积中。同时,将用户界面图像数据2810显示在诸如用户界面盒子2812的第二空间体积中。如框3020所示,可以在距父应用图像数据2820固定深度距离D处显示用户界面图像数据2810。
在框3030,空间体积的其中一个(例如父应用盒子2822)相对于另一个横向移动。在框3040,只要两个空间体积之间仍然存在横向触碰,就可以保持另一空间体积(例如用户界面盒子2812)的位置而不移动。这可以指代实际的横向触碰,其中,父应用盒子2822中的至少一个点和用户界面盒子2812中的至少一个点具有相邻的横向坐标。它也可以指从用户的角度来看的表观横向触碰(如关于图31进一步讨论的)。在框3050处,如果第一空间体积(例如父应用盒子2822)的移动将导致其不再横向触碰第二空间体积(例如用户界面盒子2812),则第二空间体积也可以以保持横向触碰的方式被移动。
图31是示出了图30中所示的方法3000的更多细节的流程图3100。在框3110,确定第一空间体积(例如父应用盒子2822)的新的水平位置(在所示的x方向上)。然后,在框3120,VR/AR/MR系统200从第二空间体积的拐角(例如用户界面盒子2812的后表面的拐角)向用户的视点投射射线。在框3130,如果至少一个投射射线与第一空间体积(例如父应用盒子2822)在其新的水平位置相交,则保持第二空间体积(例如用户界面盒子2812)的水平位置。否则,在框3140,第二空间体积(例如用户界面盒子2812)可以水平移动与第一空间体积(例如父应用盒子2822)的水平移动相对应的量。或者第二空间体积(例如用户界面盒子2812)可以被水平移动保持与第一空间体积(例如父应用盒子2822)的水平接触所需的最小量。
然后,在框3150-3180中,对第一空间体积(例如父应用盒子2822)的新的垂直位置(沿所示的y方向)执行类似的步骤。即,在框3150,确定第一空间体积(例如父应用盒子2822)的新的垂直位置。然后,在框3160,VR/AR/MR系统200从第二空间体积的拐角(例如用户界面盒子2812的后表面的拐角)向用户的视点投射射线。在框3170,如果至少一个投射射线与第一空间体积(例如父应用盒子2822)在其新的垂直位置处相交,则维持第二空间体积(例如用户界面盒子2812)的垂直位置。否则,在框3180,第二空间体积(例如用户界面盒子2812)可以被垂直移动与第一空间体积(例如父应用盒子2822)的垂直移动相对应的量。或者第二空间体积(例如用户界面盒子2812)可以被垂直移动保持与第一空间体积(例如父应用盒子2822)的垂直触碰所需的最小量。
因此,允许通过操纵移动父应用盒子2822或用户界面盒子2812,使得其相对于另一个横向“滑动”。但是,可以限制该移动的x-y横向范围,使得盒子2812、2822中的一个盒子并没有滑动远离另一盒子足够远到不再横向触碰。虽然图31示出了将运动分为水平和垂直分量的过程,其中先进行水平运动,然后进行垂直运动,在其他实施例中,可以在水平运动之前进行垂直运动,或者可以进行运动而不将它们分为水平和垂直分量。
示例
在一些示例中,一种方法包括:使用能够在多个深度显示数据的虚拟现实、增强现实或混合现实系统来在第一深度处显示与第一应用相关联的图像数据的至少一部分;以及在第二深度处显示与第二应用相关联的图像数据的至少一部分,其中,第一应用和第二应用彼此相关,并且其中第二深度被选择为与第一深度相距固定距离。
在任何前述示例中,第二应用可以包括允许用户与第一应用交互的用户界面。
在任何前述示例中,第二应用可以包括键盘。
在任何前述示例中,固定距离可以是10至30英寸。
在任何前述示例中,固定距离可以是15至20英寸。
在任何前述示例中,该方法可以进一步包括:响应于命令而移动与第一应用相关联的图像数据;以及自动移动与第二应用相关联的图像数据,以保持固定距离。
在任何前述示例中,与第一应用相关联的图像数据可以被显示在第一空间体积中,并且与第二应用相关联的图像数据可以被显示在第二空间体积中。
在任何前述示例中,可以从第一空间体积的前表面到第二空间体积的前表面测量固定距离。
在任何前述示例中,第一空间体积的前表面和第二空间体积的后表面可以相邻。
在任何前述示例中,与第一应用相关联的图像数据可以被显示在至少第一区域中,并且与第二应用相关联的图像数据可以被显示在至少第二区域中。
在任何前述示例中,第一区域和第二区域可以在横向上彼此触碰。
在任何前述示例中,第一区域的至少一个拐角可以横向地触碰第二区域的至少一个拐角。
在任何前述示例中,第一区域的至少一个边缘可以横向地触碰第二区域的至少一个边缘。
在任何前述示例中,第一区域和第二区域可以在横向上彼此重叠。
在任何前述示例中,该方法可以进一步包括:响应于命令而横向移动第一区域;以及只要第一区域和第二区域在横向上彼此触碰,就保持第二区域的横向位置。
在任何前述示例中,该方法还可以包括:当第一区域和第二区域不再横向彼此触碰时,横向移动第二区域,以保持第一区域和第二区域之间的横向触碰。
在任何前述示例中,该方法可以进一步包括通过以下步骤确定第一区域和第二区域是否彼此横向触碰:从第二区域的一个或多个外围点向用户的视点投射一个或多个射线;以及测试至少一条射线是否与第一区域相交。
在任何前述示例中,一个或多个外围点可以包括第二区域的所有拐角。
在一些示例中,一种系统包括:能够在多个深度显示数据的虚拟现实、增强现实或混合现实显示器;硬件处理器,其被配置为:在第一深度处显示与第一应用相关联的图像数据的至少一部分;以及在第二深度处显示与第二应用相关联的图像数据的至少一部分,其中,第一应用和第二应用彼此相关,并且其中第二深度被选择为与第一深度相距固定距离。
在任何前述示例中,第二应用可以包括允许用户与第一应用交互的用户界面。
在任何前述示例中,第二应用可以包括键盘。
在任何前述示例中,固定距离可以是10至30英寸。
在任何前述示例中,固定距离可以是15至20英寸。
在任何前述示例中,硬件处理器可以进一步被配置为:响应于命令而移动与第一应用相关联的图像数据;以及自动移动与第二应用相关联的图像数据,以保持固定距离。
在任何前述示例中,与第一应用相关联的图像数据可以被显示在第一空间体积中,并且与第二应用相关联的图像数据可以被显示在第二空间体积中。
在任何前述示例中,可以从第一空间体积的前表面到第二空间体积的前表面测量固定距离。
在任何前述示例中,第一空间体积的前表面和第二空间体积的后表面可以相邻。
在任何前述示例中,与第一应用相关联的图像数据可以被显示在至少第一区域中,并且与第二应用相关联的图像数据可以被显示在至少第二区域中。
在任何前述示例中,第一区域和第二区域可以在横向上彼此触碰。
在任何前述示例中,第一区域的至少一个拐角可以横向地触碰第二区域的至少一个拐角。
在任何前述示例中,第一区域的至少一个边缘可以横向地触碰第二区域的至少一个边缘。
在任何前述示例中,第一区域和第二区域可以在横向上彼此重叠。
在任何前述示例中,硬件处理器可以进一步被配置为:响应于命令而横向移动第一区域;以及只要第一区域和第二区域在横向上彼此触碰,就保持第二区域的横向位置。
在任何前述示例中,硬件处理器可以进一步被配置为:当第一区域和第二区域不再横向彼此触碰时,横向移动第二区域,以保持第一区域和第二区域之间的横向触碰。
在任何前述示例中,硬件处理器可以进一步被配置为通过以下步骤确定第一区域和第二区域是否彼此横向触碰:从第二区域的一个或多个外围点向用户的视点投射一个或多个射线;以及测试至少一条射线是否与第一区域相交。
在任何前述示例中,一个或多个外围点可以包括第二区域的所有拐角。
在一些示例中,一种非暂时性计算机可读介质可以包括指令,该指令当由硬件处理器读取时使硬件处理器执行包括以下操作的方法:使用能够在多个深度显示数据的虚拟现实、增强现实或混合现实系统来在第一深度处显示与第一应用相关联的图像数据的至少一部分;以及在第二深度处显示与第二应用相关联的图像数据的至少一部分,其中,第一应用和第二应用彼此相关,并且其中第二深度选择为与第一深度相距固定距离。
在任何前述示例中,第二应用可以包括允许用户与第一应用交互的用户界面。
在任何前述示例中,第二应用可以包括键盘。
在任何前述示例中,固定距离可以是10至30英寸。
在任何前述示例中,固定距离可以是15至20英寸。
在任何前述示例中,由计算机可读介质引起的方法可以进一步包括:响应于命令而移动与第一应用相关联的图像数据;以及自动移动与第二应用相关联的图像数据,以保持固定距离。
在任何前述示例中,与第一应用相关联的图像数据可以被显示在第一空间体积中,并且与第二应用相关联的图像数据可以被显示在第二空间体积中。
在任何前述示例中,可以从第一空间体积的前表面到第二空间体积的前表面测量固定距离。
在任何前述示例中,第一空间体积的前表面和第二空间体积的后表面可以相邻。
在任何前述示例中,与第一应用相关联的图像数据可以被显示在至少第一区域中,并且与第二应用相关联的图像数据可以被显示在至少第二区域中。
在任何前述示例中,第一区域和第二区域可以在横向上彼此触碰。
在任何前述示例中,第一区域的至少一个拐角可以横向地触碰第二区域的至少一个拐角。
在任何前述示例中,第一区域的至少一个边缘可以横向地触碰第二区域的至少一个边缘。
在任何前述示例中,第一区域和第二区域可以在横向上彼此重叠。
在任何前述示例中,由计算机可读介质引起的方法可以进一步包括:响应于命令而横向移动第一区域;以及只要第一区域和第二区域在横向上彼此触碰,就保持第二区域的横向位置。
在任何前述示例中,由计算机可读介质引起的方法还可以包括:当第一区域和第二区域不再横向彼此触碰时,横向移动第二区域,以保持第一区域和第二区域之间的横向触碰。
在任何前述示例中,由计算机可读介质引起的方法可以进一步包括通过以下步骤确定第一区域和第二区域是否彼此横向触碰:从第二区域的一个或多个外围点向用户的视点投射一个或多个射线;以及测试至少一条射线是否与第一区域相交。
在任何前述示例中,一个或多个外围点可以包括第二区域的所有拐角。
结论
本文描述和/或附图中描绘的每个过程、方法和算法可以体现在由一个或多个被配置为执行专门的和特定的计算机指令的物理计算系统、专用电路和/或电子硬件(统称为硬件处理器)中以及全部或部分地由其自动化。例如,计算系统可以包括用特定计算机指令编程的通用计算机(例如服务器)或专用计算机、专用电路等。代码模块可被编译并链接到可执行程序中、安装在动态链接库中,或者可以用解释性编程语言来编写。在一些实现中,特定的操作和方法可以由特定于给定功能的电路执行。
此外,本公开的功能的某些实现在数学上、计算上或技术上都足够复杂,以致于可能需要专用硬件或一个或多个物理计算设备(利用适当的专用可执行指令)来执行功能,例如由于所涉及计算的量或复杂性,或为了实质上实时地提供结果。例如,视频可以包括许多帧,每个帧具有数百万个像素,并且需要专门编程的计算机硬件来处理视频数据,以在商业上合理的时间量内提供所需的图像处理任务或应用。
代码模块或任何类型的数据可以存储在任何类型的非暂时性计算机可读介质上,例如物理计算机存储器,包括硬盘驱动器、固态存储器、随机存取存储器(RAM)、只读存储器(ROM)、光盘、易失性或非易失性存储设备、它们和/或类似存储器的组合等。方法和模块(或数据)也可以作为生成的数据信号(例如作为载波或其他模拟或数字传播信号的一部分)在包括基于无线的和基于有线/电缆的介质的各种计算机可读传输介质上进行发送,并且可以采用多种形式(例如作为单个或多路复用模拟信号的一部分,或作为多个离散数字分组或帧)。所公开的过程或过程步骤的结果可以永久地或以其他方式存储在任何类型的非暂时性有形计算机存储器中,或者可以经由计算机可读传输介质进行传递。
本文描述的和/或在附图中描绘的流程图中的任何过程、框、状态、步骤或功能应被理解为潜在地表示代码模块、代码段或代码部分,其包括用于在流程中实现特定功能(例如逻辑或算术)或步骤的一个或多个可执行指令。各种过程、框、状态、步骤或功能可以组合、重新布置、添加到本文提供的说明性示例、从本文提供的说明性示例中删除、修改或以其他方式改变。在一些实施例中,附加的或不同的计算系统或代码模块可以执行本文描述的一些或全部功能。本文描述的方法和过程也不限于任何特定的顺序,并且与之相关的框、步骤或状态可以以适当的其他顺序(例如串行、并行或以某些其他方式)来执行。可以将任务或事件添加到所公开的示例实施例中或从中删除。此外,本文描述的实现中的各种系统组件的分离是出于说明的目的,并且不应被理解为在所有实现中都需要这种分离。应当理解,所描述的程序组件、方法和系统通常可以被集成在一起在单个计算机产品中或包装到多个计算机产品中。许多实现变型是可能的。
可以在网络(或分布式)计算环境中实现过程、方法和系统。网络环境包括企业范围的计算机网络、企业内网、局域网(LAN)、广域网(WAN)、个人区域网(PAN)、云计算网络、众包计算网络、互联网和万维网。该网络可以是有线或无线网络或任何其他类型的通信网络。
本公开的系统和方法各自具有若干创新方面,其中,没有一个对本文公开的期望属性负有单独责任或要求。上述的各种特征和过程可以彼此独立地使用,或者可以以各种方式组合。所有可能的组合和子组合旨在落入本公开的范围内。对本公开中描述的实现的各种修改对于本领域技术人员而言是显而易见的,并且在不脱离本公开的精神或范围的情况下,本文中定义的一般原理可以应用于其他实现。因此,权利要求书无意限于本文中所示的实现,而是应被赋予与本文中所揭示的本发明、原理及新颖特征一致的最广范围。
在本说明书中在单独的实现的上下文中描述的某些特征也可以在单个实现中组合实现。相反,在单个实现的上下文中描述的各种特征也可以分别在多个实现中或以任何合适的子组合来实现。而且,尽管以上可以将特征描述为以某些组合起作用并且甚至最初如此宣称,但是在某些情况下可以从组合中切除所要求保护的组合中的一个或多个特征,并且所要求保护的组合可以针对子组合或子组合的变体。对于每个实施例,没有单个特征或一组特征是必要的或必不可少的。
这里使用的条件语言,尤其例如“能够”、“会”、“可能”、“可以”、“例如”等,除非另有明确说明,否则在所使用的上下文中理解为通常意在传达某些实施例包括而其他实施例不包括某些特征、元素和/或步骤。因此,这样的条件语言通常不旨在暗示特征、元素和/或步骤以任何方式对于一个或多个实施例是必需的,或者一个或多个实施例必然包括用于在有或没有作者输入或提示的情况下决定这些特征、元素和/或步骤是否在任何特定实施例中被包括或将被执行的逻辑。术语“包括”、“包含”、“具有”等是同义词,以开放式方式包含地使用,并且不排除附加要素、特征、动作、操作等。而且,术语“或”以其包含的含义使用(而不是以其排他的含义使用),因此例如在用于连接元素列表时,术语“或”表示列表中的一个、一些或全部元素。另外,在本申请和所附权利要求书中使用的“一”、“一个”和“该”应被解释为表示“一个或多个”或“至少一个”,除非另有说明。
如本文所使用的,指代项目列表中的“至少一个”的短语是指那些项目的任何组合,包括单个成员。例如,“A、B或C中的至少一个”旨在涵盖:A、B、C、A和B、A和C、B和C以及A、B和C。除非另外特别说明,否则诸如短语“X、Y和Z中的至少一个”之类的词语应与上下文一起理解,该上下文通常用于传达项目、术语等可以是X、Y或Z中的至少一个。因此,这种联合语言通常不旨在暗示某些实施例要求X中的至少一个、Y中的至少一个和Z中的至少一个存在。
类似地,尽管可以以特定顺序在附图中描绘操作,但是要认识到,不需要以所示的特定顺序或相继顺序来执行这样的操作,或者不需要执行所有示出的操作来实现理想的结果。此外,附图可以以流程图的形式示意性地描绘一个或多个示例过程。然而,未示出的其他操作可以结合在示意性示出的示例方法和过程中。例如,可以在任何所示操作之前、之后、同时或之间执行一个或多个附加操作。另外,在其他实现中,操作可以重新布置或重新排序。在某些情况下,多任务和并行处理可能是有利的。此外,在上述实现中的各种系统组件的分离不应被理解为在所有实现中都需要这种分离,并且应当理解,所描述的程序组件和系统通常可以集成在单个软件产品中或打包到多个软件产品中。另外,其他实现在所附权利要求的范围内。在某些情况下,可以以不同的顺序执行权利要求中记载的动作,并且仍然实现期望的结果。
Claims (24)
1.一种用于虚拟、增强和混合现实显示的系统,包括:
增强现实显示系统,其被配置为向所述系统的用户呈现虚拟内容,其中,呈现所述虚拟内容以增强所述用户的物理环境的视图;
面向外部的成像系统,其被配置为对所述用户的所述物理环境成像;
与所述增强现实显示系统和所述面向外部的成像系统通信的硬件处理器,所述硬件处理器被编程为:
分析由所述面向外部的成像系统获取的所述物理环境的至少一个图像;
基于所述至少一个图像的分析,识别具有多个按键的物理键盘;
基于所述至少一个图像的分析,识别所述物理环境中的物理对象,其中,所述物理对象不是所述物理键盘;
基于确定所述用户的注视方向朝向所述物理对象,确定至少与所述物理对象相关联的上下文信息,其中,所述上下文信息包括所述物理对象被配置为执行的至少一个动作;
至少部分地基于包括所述物理对象的所述至少一个动作的所述上下文信息,确定所述物理键盘的规格;
至少部分地基于所述规格,动态配置所述物理键盘的至少一部分的功能,以使得所述物理键盘的至少一个按键可用于使所述物理对象执行所述至少一个动作;
至少部分地基于所述规格和所述物理键盘在所述用户的视野FOV内的位置,确定虚拟按键标签的渲染位置;
指示所述增强现实显示系统在与所述至少一个按键相关联的所确定的渲染位置处渲染所述虚拟按键标签;
当所述物理键盘在所述用户的视野内的所述位置变化时,指示所述增强现实显示系统改变所述虚拟按键在所述物理键盘上的所述渲染位置;以及
响应于所述物理键盘在所述渲染位置处的启动,指示所述增强现实显示系统执行与所述虚拟按键标签相关联的用户界面功能,其中,所述用户界面功能包括使得所述物理对象执行所述至少一个动作。
2.根据权利要求1所述的系统,其中,所述虚拟内容包括以下中的至少一个:增强现实内容或混合现实内容。
3.根据权利要求1所述的系统,其中,为了分析所述至少一个图像,所述硬件处理器被编程为:执行对象识别器以基于所述物理键盘的视觉特性来识别物理键盘。
4.根据权利要求3所述的系统,其中,所述视觉特性包括以下中的至少一个:所述物理键盘的表面的形状、或所述物理键盘的标签。
5.根据权利要求1所述的系统,其中,所述面向外部的成像系统包括具有FOV的世界相机,其中,所述FOV包括由所述世界相机在给定时间观察到的一部分所述物理环境,并且其中,为了识别物理键盘,所述硬件处理器被编程为检测所述物理键盘的至少一部分在所述FOV中。
6.根据权利要求1所述的系统,其中,所述规格包括以下中的至少一个:所述多个按键的布局、或所述多个按键的功能。
7.根据权利要求1所述的系统,其中,为了确定所述物理键盘的所述规格,所述硬件处理器被编程为:基于所述图像的所述分析,确定所述物理键盘的型号;以及访问存储所述型号的所述规格的数据库以获取所述规格。
8.根据权利要求1所述的系统,其中,所述多个按键中的一个或多个按键具有电容触摸传感器。
9.根据权利要求1所述的系统,其中,所述上下文信息还包括以下中的至少一个:所述物理键盘的位置或所述物理键盘的取向。
10.根据权利要求1所述的系统,其中,所述物理键盘的所述一部分包括空白按键,并且为了动态地配置所述物理键盘的至少所述一部分的所述功能,所述硬件处理器被编程为:将命令功能分配给所述空白按键,其中,所述命令功能使所述系统执行所述用户界面功能。
11.根据权利要求10所述的系统,其中,虚拟按键标签的所述渲染位置与空白按键在所述物理键盘的所述一部分中的位置一致,并且其中,所述硬件处理器被配置为:指示所述显示系统使用像素棒将所述虚拟按键标签叠加在所述空白按键上。
12.根据权利要求1所述的系统,其中,所述渲染位置在所述物理键盘的空格键上方,并且其中,所述用户界面功能包括滑块输入控件。
13.根据权利要求1所述的系统,其中,所述增强现实显示系统被配置为:响应于所述物理键盘在所述渲染位置处的启动,在被附接到所述物理键盘的物理屏幕上显示与所述虚拟按键标签相关联的字母或符号。
14.根据权利要求1所述的系统,其中,所述虚拟按键标签的大小至少部分地基于所述用户的头部姿势。
15.根据权利要求1所述的系统,其中,所述虚拟按键标签的大小至少部分地基于所感知的所述键盘距所述用户的距离。
16.根据权利要求1所述的系统,其中,与所述物理键盘上的渲染位置相关联的所述虚拟按键标签基于用户如何在所述渲染位置处与所述物理键盘的按键交互而变化。
17.一种用于虚拟、增强和混合现实显示的方法,包括:
在增强现实显示系统的至少一个硬件处理器的控制下:
至少部分地基于分析由所述增强现实显示系统获取的物理环境的至少一个图像,在用户的三维3D物理环境中识别具有多个按键的物理键盘的一部分,其中,所述增强现实显示系统被配置为向用户呈现虚拟内容以增强所述用户的物理环境的视图;
基于所述至少一个图像的分析,识别所述物理环境中的物理对象,其中,所述物理对象不是所述物理键盘;
基于确定所述用户的注视方向朝向所述物理对象,确定至少与所述物理对象相关联的上下文信息,其中,所述上下文信息包括所述物理对象被配置为执行的至少一个动作;
至少部分地基于包括所述物理对象的所述至少一个动作的所述上下文信息,确定所述物理键盘的所述一部分的规格;
至少部分地基于所述规格,动态配置所述物理键盘的所述一部分的功能,以使得所述物理键盘的至少一个按键可用于使所述物理对象执行所述至少一个动作;
至少部分地基于所述规格和所述物理键盘在所述用户的视野FOV内的位置,确定虚拟按键标签在所述物理键盘的所述一部分中的渲染位置;
指示所述增强现实显示系统在与所述至少一个按键相关联的所确定的渲染位置处渲染所述虚拟按键标签;
当所述物理键盘在所述用户的视野内的所述位置变化时,指示所述增强现实显示系统改变所述虚拟按键在所述物理键盘上的所述渲染位置;以及
响应于所述物理键盘在所述渲染位置处的启动,指示所述增强现实显示系统执行与所述虚拟按键标签相关联的用户界面功能,其中,所述用户界面功能包括使得所述物理对象执行所述至少一个动作。
18.根据权利要求17所述的方法,其中,所述物理键盘由多个可拆卸部分组装。
19.根据权利要求17所述的方法,其中,所述虚拟按键包括虚拟键盘,其中,所述虚拟键盘被渲染在所述物理键盘的表面上。
20.根据权利要求17所述的方法,其中,识别物理键盘包括以下中的至少一项:与所述物理键盘通信以获得所述物理键盘的识别信息;基于所述上下文信息在多个键盘中选择所述物理键盘;以及基于所述物理键盘的图像来识别所述物理键盘。
21.根据权利要求20所述的方法,其中,所述至少一个图像通过以下中的至少一个获取:头戴式设备的面向外部的成像系统、室内相机、或耦合至所述物理键盘的相机。
22.根据权利要求17所述的方法,其中,所述物理键盘的所述一部分包括空白按键。
23.根据权利要求17所述的方法,其中,所述上下文信息还与所述用户相关联。
24.一种具有指令的计算机可读存储介质,所述指令在由硬件处理器读取时使所述硬件处理器执行包括以下操作的方法:
至少部分地基于分析由增强现实显示系统获取的物理环境的至少一个图像,在用户的三维3D物理环境中识别具有多个按键的物理键盘的一部分,其中,所述增强现实显示系统被配置为向用户呈现虚拟内容以增强所述用户的物理环境的视图;
基于所述至少一个图像的分析,识别所述物理环境中的物理对象,其中,所述物理对象不是所述物理键盘;
基于确定所述用户的注视方向朝向所述物理对象,确定至少与所述物理对象相关联的上下文信息,其中,所述上下文信息包括所述物理对象被配置为执行的至少一个动作;
至少部分地基于包括所述物理对象的所述至少一个动作的所述上下文信息,确定所述物理键盘的所述一部分的规格;
至少部分地基于所述规格,动态配置所述物理键盘的所述一部分的功能,以使得所述物理键盘的至少一个按键可用于使所述物理对象执行所述至少一个动作;
至少部分地基于所述规格和所述物理键盘在所述用户的视野(FOV)内的位置,确定虚拟按键标签在所述物理键盘的所述一部分中的渲染位置;以及
指示所述增强现实显示系统在与所述至少一个按键相关联的所确定的渲染位置处渲染所述虚拟按键标签,
当所述物理键盘在所述用户的视野内的所述位置变化时,指示所述增强现实显示系统改变所述虚拟按键在所述物理键盘上的所述渲染位置;以及
响应于所述物理键盘在所述渲染位置处的启动,指示所述增强现实显示系统执行与所述虚拟按键标签相关联的用户界面功能,其中,所述用户界面功能包括使所述物理对象执行所述至少一个动作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311697632.3A CN117891335A (zh) | 2017-05-19 | 2018-05-18 | 用于虚拟、增强和混合现实显示系统的键盘 |
Applications Claiming Priority (7)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201762508974P | 2017-05-19 | 2017-05-19 | |
US62/508,974 | 2017-05-19 | ||
US201762509648P | 2017-05-22 | 2017-05-22 | |
US62/509,648 | 2017-05-22 | ||
US201862644597P | 2018-03-19 | 2018-03-19 | |
US62/644,597 | 2018-03-19 | ||
PCT/US2018/033536 WO2018213801A1 (en) | 2017-05-19 | 2018-05-18 | Keyboards for virtual, augmented, and mixed reality display systems |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311697632.3A Division CN117891335A (zh) | 2017-05-19 | 2018-05-18 | 用于虚拟、增强和混合现实显示系统的键盘 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110832441A CN110832441A (zh) | 2020-02-21 |
CN110832441B true CN110832441B (zh) | 2023-12-26 |
Family
ID=64274803
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311697632.3A Pending CN117891335A (zh) | 2017-05-19 | 2018-05-18 | 用于虚拟、增强和混合现实显示系统的键盘 |
CN201880044429.7A Active CN110832441B (zh) | 2017-05-19 | 2018-05-18 | 用于虚拟、增强和混合现实显示系统的键盘 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311697632.3A Pending CN117891335A (zh) | 2017-05-19 | 2018-05-18 | 用于虚拟、增强和混合现实显示系统的键盘 |
Country Status (8)
Country | Link |
---|---|
US (1) | US11610371B2 (zh) |
EP (1) | EP3625658B1 (zh) |
JP (2) | JP2020521217A (zh) |
KR (1) | KR102552551B1 (zh) |
CN (2) | CN117891335A (zh) |
AU (1) | AU2018270286A1 (zh) |
CA (1) | CA3061332A1 (zh) |
WO (1) | WO2018213801A1 (zh) |
Families Citing this family (66)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6484603B2 (ja) * | 2016-12-26 | 2019-03-13 | 新日鉄住金ソリューションズ株式会社 | 情報処理装置、システム、情報処理方法、及び、プログラム |
JP2020521217A (ja) | 2017-05-19 | 2020-07-16 | マジック リープ, インコーポレイテッドMagic Leap,Inc. | 仮想現実ディスプレイシステム、拡張現実ディスプレイシステム、および複合現実ディスプレイシステムのためのキーボード |
JP7005224B2 (ja) * | 2017-08-22 | 2022-01-21 | キヤノン株式会社 | 情報処理装置、システム、画像処理方法、コンピュータプログラム、及び記憶媒体 |
JP7118650B2 (ja) * | 2018-01-18 | 2022-08-16 | キヤノン株式会社 | 表示装置 |
US11614793B2 (en) * | 2018-02-28 | 2023-03-28 | Logitech Europe S.A. | Precision tracking of user interaction with a virtual input device |
US10643362B2 (en) * | 2018-03-26 | 2020-05-05 | Lenovo (Singapore) Pte Ltd | Message location based on limb location |
JP7209474B2 (ja) * | 2018-03-30 | 2023-01-20 | 株式会社スクウェア・エニックス | 情報処理プログラム、情報処理方法及び情報処理システム |
US10755486B2 (en) * | 2018-04-19 | 2020-08-25 | Disney Enterprises, Inc. | Occlusion using pre-generated 3D models for augmented reality |
US10783712B2 (en) | 2018-06-27 | 2020-09-22 | Facebook Technologies, Llc | Visual flairs for emphasizing gestures in artificial-reality environments |
US10712901B2 (en) | 2018-06-27 | 2020-07-14 | Facebook Technologies, Llc | Gesture-based content sharing in artificial reality environments |
US10635895B2 (en) * | 2018-06-27 | 2020-04-28 | Facebook Technologies, Llc | Gesture-based casting and manipulation of virtual content in artificial-reality environments |
US11393170B2 (en) | 2018-08-21 | 2022-07-19 | Lenovo (Singapore) Pte. Ltd. | Presentation of content based on attention center of user |
US11036284B2 (en) | 2018-09-14 | 2021-06-15 | Apple Inc. | Tracking and drift correction |
KR102653267B1 (ko) | 2018-11-28 | 2024-04-02 | 삼성전자 주식회사 | 전자 장치의 키 입력 방법 및 이를 사용하는 전자 장치 |
US10902250B2 (en) * | 2018-12-21 | 2021-01-26 | Microsoft Technology Licensing, Llc | Mode-changeable augmented reality interface |
US10901495B2 (en) * | 2019-01-10 | 2021-01-26 | Microsofttechnology Licensing, Llc | Techniques for multi-finger typing in mixed-reality |
JP7446835B2 (ja) * | 2019-02-05 | 2024-03-11 | キヤノン株式会社 | 画像形成装置 |
US11137908B2 (en) * | 2019-04-15 | 2021-10-05 | Apple Inc. | Keyboard operation with head-mounted device |
US10885716B1 (en) | 2019-07-01 | 2021-01-05 | Microsoft Technology Licensing, Llc | Mixed reality system user interface placement |
CN112241200A (zh) * | 2019-07-17 | 2021-01-19 | 苹果公司 | 头戴式设备的对象跟踪 |
US11270515B2 (en) * | 2019-09-04 | 2022-03-08 | Qualcomm Incorporated | Virtual keyboard |
US11379033B2 (en) | 2019-09-26 | 2022-07-05 | Apple Inc. | Augmented devices |
US11216065B2 (en) * | 2019-09-26 | 2022-01-04 | Lenovo (Singapore) Pte. Ltd. | Input control display based on eye gaze |
WO2021086304A1 (en) * | 2019-10-28 | 2021-05-06 | Hewlett-Packard Development Company, L.P. | Provision of feedback to an actuating object |
CN110852963B (zh) * | 2019-10-29 | 2021-06-29 | 天津大学 | 一种基于相关最大性的湍流退化图像复原方法 |
US11144115B2 (en) * | 2019-11-01 | 2021-10-12 | Facebook Technologies, Llc | Porting physical object into virtual reality |
US11816757B1 (en) * | 2019-12-11 | 2023-11-14 | Meta Platforms Technologies, Llc | Device-side capture of data representative of an artificial reality environment |
US11687778B2 (en) | 2020-01-06 | 2023-06-27 | The Research Foundation For The State University Of New York | Fakecatcher: detection of synthetic portrait videos using biological signals |
CN111427446B (zh) * | 2020-03-04 | 2023-10-13 | 青岛小鸟看看科技有限公司 | 头戴显示设备的虚拟键盘显示方法、装置及头戴显示设备 |
CN111443796B (zh) * | 2020-03-10 | 2023-04-28 | 维沃移动通信有限公司 | 一种信息处理方法及装置 |
US11275945B2 (en) * | 2020-03-26 | 2022-03-15 | Varjo Technologies Oy | Imaging system and method for producing images with virtually-superimposed functional elements |
CN111580669A (zh) * | 2020-05-12 | 2020-08-25 | 南京睿悦信息技术有限公司 | 虚拟现实和增强现实移动端平面应用的交互方法和装置 |
CN111651048B (zh) * | 2020-06-08 | 2024-01-05 | 浙江商汤科技开发有限公司 | 多虚拟对象排列展示方法、装置、电子设备及存储介质 |
US12102475B2 (en) | 2020-06-26 | 2024-10-01 | Siemens Medical Solutions Usa, Inc. | Image classification-dependent user interface in ultrasound imaging |
KR20220012073A (ko) | 2020-07-22 | 2022-02-03 | 삼성전자주식회사 | 가상 사용자 인터랙션을 수행하기 위한 방법 및 그 장치 |
US11467403B2 (en) * | 2020-08-20 | 2022-10-11 | Htc Corporation | Operating method and electronic system |
US11302085B2 (en) * | 2020-09-15 | 2022-04-12 | Facebook Technologies, Llc | Artificial reality collaborative working environments |
US11755124B1 (en) | 2020-09-25 | 2023-09-12 | Apple Inc. | System for improving user input recognition on touch surfaces |
US11537258B2 (en) * | 2020-10-16 | 2022-12-27 | Meta Platforms Technologies, Llc | Hand presence over keyboard inclusiveness |
US11213733B1 (en) * | 2020-11-05 | 2022-01-04 | Liteboxer Technologies, Inc. | Surface interactions in a virtual reality (VR) environment |
CN112445341B (zh) * | 2020-11-23 | 2022-11-08 | 青岛小鸟看看科技有限公司 | 虚拟现实设备的键盘透视方法、装置及虚拟现实设备 |
US11854230B2 (en) * | 2020-12-01 | 2023-12-26 | Meta Platforms Technologies, Llc | Physical keyboard tracking |
EP4288950A1 (en) | 2021-02-08 | 2023-12-13 | Sightful Computers Ltd | User interactions in extended reality |
KR20230144042A (ko) * | 2021-02-08 | 2023-10-13 | 사이트풀 컴퓨터스 리미티드 | 생산성을 위한 확장 현실 |
CN117043709A (zh) * | 2021-02-08 | 2023-11-10 | 视域电脑有限公司 | 用于生产力的扩展现实 |
JP2024507749A (ja) | 2021-02-08 | 2024-02-21 | サイトフル コンピューターズ リミテッド | エクステンデッドリアリティにおけるコンテンツ共有 |
WO2023009580A2 (en) | 2021-07-28 | 2023-02-02 | Multinarity Ltd | Using an extended reality appliance for productivity |
CN113589958A (zh) * | 2021-08-05 | 2021-11-02 | 西交利物浦大学 | 文本输入方法、装置、设备及存储介质 |
US11797175B2 (en) | 2021-11-04 | 2023-10-24 | Microsoft Technology Licensing, Llc | Intelligent keyboard attachment for mixed reality input |
CN118215931A (zh) * | 2021-11-09 | 2024-06-18 | 三星电子株式会社 | 用于在电子装置和可穿戴电子装置之间提供与增强现实服务相关的内容的方法和装置 |
US11954256B2 (en) * | 2021-12-17 | 2024-04-09 | Google Llc | Haptic interface for computing devices |
US20230334795A1 (en) | 2022-01-25 | 2023-10-19 | Multinarity Ltd | Dual mode presentation of user interface elements |
US11948263B1 (en) | 2023-03-14 | 2024-04-02 | Sightful Computers Ltd | Recording the complete physical and extended reality environments of a user |
US20230324986A1 (en) * | 2022-04-08 | 2023-10-12 | Meta Platforms Technologies, Llc | Artificial Reality Input Using Multiple Modalities |
US12093462B2 (en) | 2022-04-11 | 2024-09-17 | Meta Platforms Technologies, Llc | Virtual keyboard selections using multiple input modalities |
US20230343005A1 (en) * | 2022-04-22 | 2023-10-26 | Zebra Technologies Corporation | Methods and Systems for Automated Structured Keyboard Layout Generation |
US11855831B1 (en) | 2022-06-10 | 2023-12-26 | T-Mobile Usa, Inc. | Enabling an operator to resolve an issue associated with a 5G wireless telecommunication network using AR glasses |
US11886767B2 (en) | 2022-06-17 | 2024-01-30 | T-Mobile Usa, Inc. | Enable interaction between a user and an agent of a 5G wireless telecommunication network using augmented reality glasses |
US20240050856A1 (en) * | 2022-08-12 | 2024-02-15 | Snap Inc. | External controller for an eyewear device |
US12051163B2 (en) | 2022-08-25 | 2024-07-30 | Snap Inc. | External computer vision for an eyewear device |
WO2024049463A1 (en) * | 2022-08-30 | 2024-03-07 | Google Llc | Virtual keyboard |
US12100111B2 (en) | 2022-09-29 | 2024-09-24 | Meta Platforms Technologies, Llc | Mapping a real-world room for a shared artificial reality environment |
US12073054B2 (en) | 2022-09-30 | 2024-08-27 | Sightful Computers Ltd | Managing virtual collisions between moving virtual objects |
KR20240078951A (ko) * | 2022-11-28 | 2024-06-04 | 주식회사 오버레이 | 현실의 입력장치를 가상공간에 출력하는 방법 |
US20240223739A1 (en) * | 2022-12-30 | 2024-07-04 | Samsung Electronics Co., Ltd. | Mask generation with object and scene segmentation for passthrough extended reality (xr) |
CN116309850B (zh) * | 2023-05-17 | 2023-08-08 | 中数元宇数字科技(上海)有限公司 | 一种虚拟触控识别方法、设备及存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1439151A (zh) * | 2000-02-11 | 2003-08-27 | 卡尼斯塔公司 | 利用虚拟输入装置输入数据的方法和设备 |
CN106575153A (zh) * | 2014-07-25 | 2017-04-19 | 微软技术许可有限责任公司 | 虚拟现实环境内基于注视的对象放置 |
Family Cites Families (72)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5466078A (en) | 1989-07-07 | 1995-11-14 | Health Care Keyboard Company | Input keyboard apparatus for information processing and other keyboard devices |
US6222525B1 (en) | 1992-03-05 | 2001-04-24 | Brad A. Armstrong | Image controllers with sheet connected sensors |
US5670988A (en) | 1995-09-05 | 1997-09-23 | Interlink Electronics, Inc. | Trigger operated electronic device |
KR970045578U (ko) * | 1995-12-15 | 1997-07-31 | 모듈 키보드 | |
US6388657B1 (en) * | 1997-12-31 | 2002-05-14 | Anthony James Francis Natoli | Virtual reality keyboard system and method |
USD514570S1 (en) | 2004-06-24 | 2006-02-07 | Microsoft Corporation | Region of a fingerprint scanning device with an illuminated ring |
US20070081123A1 (en) | 2005-10-07 | 2007-04-12 | Lewis Scott W | Digital eyewear |
US8696113B2 (en) | 2005-10-07 | 2014-04-15 | Percept Technologies Inc. | Enhanced optical and perceptual digital eyewear |
US11428937B2 (en) | 2005-10-07 | 2022-08-30 | Percept Technologies | Enhanced optical and perceptual digital eyewear |
US20100265182A1 (en) * | 2009-04-20 | 2010-10-21 | Microsoft Corporation | Context-based state change for an adaptive input device |
US20150309316A1 (en) * | 2011-04-06 | 2015-10-29 | Microsoft Technology Licensing, Llc | Ar glasses with predictive control of external device based on event input |
JP5407950B2 (ja) * | 2010-03-11 | 2014-02-05 | ソニー株式会社 | 情報処理装置、情報処理方法およびプログラム |
US8982160B2 (en) * | 2010-04-16 | 2015-03-17 | Qualcomm, Incorporated | Apparatus and methods for dynamically correlating virtual keyboard dimensions to user finger size |
JP2012008745A (ja) * | 2010-06-23 | 2012-01-12 | Softbank Mobile Corp | ユーザインターフェース装置及び電子機器 |
US20120113008A1 (en) * | 2010-11-08 | 2012-05-10 | Ville Makinen | On-screen keyboard with haptic effects |
US9304319B2 (en) | 2010-11-18 | 2016-04-05 | Microsoft Technology Licensing, Llc | Automatic focus improvement for augmented reality displays |
CN107179607B (zh) | 2010-12-24 | 2019-12-13 | 奇跃公司 | 人体工程学头戴式显示设备和光学系统 |
US10156722B2 (en) | 2010-12-24 | 2018-12-18 | Magic Leap, Inc. | Methods and systems for displaying stereoscopy with a freeform optical system with addressable focus for virtual and augmented reality |
WO2012089576A1 (en) * | 2010-12-30 | 2012-07-05 | Danmarks Tekniske Universitet | System and device with three-dimensional image display |
JP6316186B2 (ja) | 2011-05-06 | 2018-04-25 | マジック リープ, インコーポレイテッドMagic Leap,Inc. | 広範囲同時遠隔ディジタル提示世界 |
EP2760363A4 (en) | 2011-09-29 | 2015-06-24 | Magic Leap Inc | TACTILE GLOVE FOR HUMAN COMPUTER INTERACTION |
RU2017115669A (ru) | 2011-10-28 | 2019-01-28 | Мэджик Лип, Инк. | Система и способ для дополненной и виртуальной реальности |
WO2013152205A1 (en) | 2012-04-05 | 2013-10-10 | Augmented Vision Inc. | Wide-field of view (fov) imaging devices with active foveation capability |
US9671566B2 (en) | 2012-06-11 | 2017-06-06 | Magic Leap, Inc. | Planar waveguide apparatus with diffraction element(s) and system employing same |
CN107817556B (zh) | 2012-06-11 | 2020-01-31 | 奇跃公司 | 使用波导反射器阵列投射器的多深度平面三维显示器 |
US20140035819A1 (en) * | 2012-08-03 | 2014-02-06 | Research In Motion Limited | Method and Apparatus Pertaining to an Augmented-Reality Keyboard |
US9329678B2 (en) * | 2012-08-14 | 2016-05-03 | Microsoft Technology Licensing, Llc | Augmented reality overlay for control devices |
US9740006B2 (en) | 2012-09-11 | 2017-08-22 | Magic Leap, Inc. | Ergonomic head mounted display device and optical system |
US9378592B2 (en) * | 2012-09-14 | 2016-06-28 | Lg Electronics Inc. | Apparatus and method of providing user interface on head mounted display and head mounted display thereof |
US10013138B2 (en) * | 2012-10-22 | 2018-07-03 | Atheer, Inc. | Method and apparatus for secure data entry using a virtual interface |
KR101932537B1 (ko) * | 2013-01-08 | 2019-03-15 | 한화테크윈 주식회사 | 3차원 전자지도상에 촬영영상을 표시하는 방법 및 장치 |
EP2946236B1 (en) | 2013-01-15 | 2021-06-16 | Magic Leap, Inc. | Ultra-high resolution scanning fiber display |
US20140205138A1 (en) * | 2013-01-18 | 2014-07-24 | Microsoft Corporation | Detecting the location of a keyboard on a desktop |
KR102270699B1 (ko) | 2013-03-11 | 2021-06-28 | 매직 립, 인코포레이티드 | 증강 및 가상 현실을 위한 시스템 및 방법 |
NZ751593A (en) | 2013-03-15 | 2020-01-31 | Magic Leap Inc | Display system and method |
US10262462B2 (en) * | 2014-04-18 | 2019-04-16 | Magic Leap, Inc. | Systems and methods for augmented and virtual reality |
US9874749B2 (en) | 2013-11-27 | 2018-01-23 | Magic Leap, Inc. | Virtual and augmented reality systems and methods |
US20150088547A1 (en) * | 2013-09-22 | 2015-03-26 | Ricoh Company, Ltd. | Mobile Information Gateway for Home Healthcare |
KR102462848B1 (ko) | 2013-10-16 | 2022-11-03 | 매직 립, 인코포레이티드 | 조절가능한 동공간 거리를 가지는 가상 또는 증강 현실 헤드셋들 |
US9857591B2 (en) | 2014-05-30 | 2018-01-02 | Magic Leap, Inc. | Methods and system for creating focal planes in virtual and augmented reality |
NZ755272A (en) | 2013-11-27 | 2020-05-29 | Magic Leap Inc | Virtual and augmented reality systems and methods |
WO2015117039A1 (en) | 2014-01-31 | 2015-08-06 | Magic Leap, Inc. | Multi-focal display system and method |
EP3100099B1 (en) | 2014-01-31 | 2020-07-01 | Magic Leap, Inc. | Multi-focal display system and method |
US10203762B2 (en) | 2014-03-11 | 2019-02-12 | Magic Leap, Inc. | Methods and systems for creating virtual and augmented reality |
US20150261293A1 (en) * | 2014-03-12 | 2015-09-17 | Weerapan Wilairat | Remote device control via gaze detection |
TW201537939A (zh) * | 2014-03-20 | 2015-10-01 | Gogolook Co Ltd | 行動裝置及其來電處理方法 |
KR102360176B1 (ko) * | 2014-03-21 | 2022-02-09 | 삼성전자주식회사 | 웨어러블 디바이스에서 가상의 입력 인터페이스를 제공하는 방법 및 이를 위한 웨어러블 디바이스 |
US10564714B2 (en) * | 2014-05-09 | 2020-02-18 | Google Llc | Systems and methods for biomechanically-based eye signals for interacting with real and virtual objects |
US20150324568A1 (en) | 2014-05-09 | 2015-11-12 | Eyefluence, Inc. | Systems and methods for using eye signals with secure mobile communications |
USD759657S1 (en) | 2014-05-19 | 2016-06-21 | Microsoft Corporation | Connector with illumination region |
WO2015184413A1 (en) | 2014-05-30 | 2015-12-03 | Magic Leap, Inc. | Methods and systems for generating virtual content display with a virtual or augmented reality apparatus |
USD752529S1 (en) | 2014-06-09 | 2016-03-29 | Comcast Cable Communications, Llc | Electronic housing with illuminated region |
US10852838B2 (en) * | 2014-06-14 | 2020-12-01 | Magic Leap, Inc. | Methods and systems for creating virtual and augmented reality |
JP5987879B2 (ja) * | 2014-09-17 | 2016-09-07 | 株式会社寺岡精工 | ラベル発行装置 |
JP2016170528A (ja) * | 2015-03-11 | 2016-09-23 | 株式会社リコー | 頭部装着型表示装置及び頭部装着型表示装置における外部機器との接続方法 |
US9697383B2 (en) * | 2015-04-14 | 2017-07-04 | International Business Machines Corporation | Numeric keypad encryption for augmented reality devices |
US20170052701A1 (en) * | 2015-08-19 | 2017-02-23 | Vrideo | Dynamic virtual keyboard graphical user interface |
US10324293B2 (en) * | 2016-02-23 | 2019-06-18 | Compedia Software and Hardware Development Ltd. | Vision-assisted input within a virtual world |
USD805734S1 (en) | 2016-03-04 | 2017-12-26 | Nike, Inc. | Shirt |
USD794288S1 (en) | 2016-03-11 | 2017-08-15 | Nike, Inc. | Shoe with illuminable sole light sequence |
US10317989B2 (en) * | 2016-03-13 | 2019-06-11 | Logitech Europe S.A. | Transition between virtual and augmented reality |
EP3460633A4 (en) * | 2016-06-22 | 2019-04-17 | Huawei Technologies Co., Ltd. | VISIOCASTIC APPARATUS AND PROCESSING METHOD THEREOF |
EP3486750B1 (en) * | 2016-07-12 | 2023-10-18 | FUJIFILM Corporation | Image display system, control device for head-mounted display, and operating method and operating program for operating same |
CN107656687B (zh) * | 2016-07-26 | 2020-04-24 | 南宁富桂精密工业有限公司 | 虚拟键盘生成的方法及系统 |
US10237509B1 (en) * | 2016-08-05 | 2019-03-19 | Apple Inc. | Systems with keyboards and head-mounted displays |
US10754416B2 (en) * | 2016-11-14 | 2020-08-25 | Logitech Europe S.A. | Systems and methods for a peripheral-centric augmented/virtual reality environment |
US10586220B2 (en) * | 2016-12-02 | 2020-03-10 | Bank Of America Corporation | Augmented reality dynamic authentication |
US10311223B2 (en) * | 2016-12-02 | 2019-06-04 | Bank Of America Corporation | Virtual reality dynamic authentication |
US10410422B2 (en) * | 2017-01-09 | 2019-09-10 | Samsung Electronics Co., Ltd. | System and method for augmented reality control |
US11099649B2 (en) * | 2017-03-29 | 2021-08-24 | Apple Inc. | Device having integrated interface system |
JP2020521217A (ja) | 2017-05-19 | 2020-07-16 | マジック リープ, インコーポレイテッドMagic Leap,Inc. | 仮想現実ディスプレイシステム、拡張現実ディスプレイシステム、および複合現実ディスプレイシステムのためのキーボード |
US11144115B2 (en) * | 2019-11-01 | 2021-10-12 | Facebook Technologies, Llc | Porting physical object into virtual reality |
-
2018
- 2018-05-18 JP JP2019563085A patent/JP2020521217A/ja not_active Withdrawn
- 2018-05-18 CA CA3061332A patent/CA3061332A1/en active Pending
- 2018-05-18 CN CN202311697632.3A patent/CN117891335A/zh active Pending
- 2018-05-18 CN CN201880044429.7A patent/CN110832441B/zh active Active
- 2018-05-18 KR KR1020197035797A patent/KR102552551B1/ko active IP Right Grant
- 2018-05-18 AU AU2018270286A patent/AU2018270286A1/en not_active Abandoned
- 2018-05-18 EP EP18803300.5A patent/EP3625658B1/en active Active
- 2018-05-18 WO PCT/US2018/033536 patent/WO2018213801A1/en active Application Filing
- 2018-05-18 US US15/984,208 patent/US11610371B2/en active Active
-
2023
- 2023-05-09 JP JP2023077151A patent/JP7411133B2/ja active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1439151A (zh) * | 2000-02-11 | 2003-08-27 | 卡尼斯塔公司 | 利用虚拟输入装置输入数据的方法和设备 |
CN106575153A (zh) * | 2014-07-25 | 2017-04-19 | 微软技术许可有限责任公司 | 虚拟现实环境内基于注视的对象放置 |
Also Published As
Publication number | Publication date |
---|---|
JP2023100884A (ja) | 2023-07-19 |
JP7411133B2 (ja) | 2024-01-10 |
US20180350150A1 (en) | 2018-12-06 |
WO2018213801A1 (en) | 2018-11-22 |
KR20200010296A (ko) | 2020-01-30 |
AU2018270286A1 (en) | 2019-11-14 |
EP3625658A1 (en) | 2020-03-25 |
JP2020521217A (ja) | 2020-07-16 |
KR102552551B1 (ko) | 2023-07-06 |
CA3061332A1 (en) | 2018-11-22 |
CN110832441A (zh) | 2020-02-21 |
EP3625658A4 (en) | 2021-03-17 |
US11610371B2 (en) | 2023-03-21 |
CN117891335A (zh) | 2024-04-16 |
EP3625658B1 (en) | 2024-10-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110832441B (zh) | 用于虚拟、增强和混合现实显示系统的键盘 | |
US11741917B2 (en) | Eclipse cursor for mixed reality displays | |
US11340694B2 (en) | Visual aura around field of view | |
EP4141623B1 (en) | Augmented reality system comprising light-emitting user input device | |
EP3549109B1 (en) | Virtual user input controls in a mixed reality environment |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |