CN109074149A - 用于增强或虚拟现实环境的头戴式参考系中的对象跟踪 - Google Patents
用于增强或虚拟现实环境的头戴式参考系中的对象跟踪 Download PDFInfo
- Publication number
- CN109074149A CN109074149A CN201680083613.3A CN201680083613A CN109074149A CN 109074149 A CN109074149 A CN 109074149A CN 201680083613 A CN201680083613 A CN 201680083613A CN 109074149 A CN109074149 A CN 109074149A
- Authority
- CN
- China
- Prior art keywords
- wear
- electronic equipment
- virtual
- hand
- ambient enviroment
- 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.)
- Granted
Links
- 230000002093 peripheral effect Effects 0.000 claims description 50
- 238000000034 method Methods 0.000 claims description 48
- 230000015654 memory Effects 0.000 claims description 35
- 238000004590 computer program Methods 0.000 claims description 25
- 238000001514 detection method Methods 0.000 claims description 21
- 230000015572 biosynthetic process Effects 0.000 claims description 13
- 238000003786 synthesis reaction Methods 0.000 claims description 13
- 238000006243 chemical reaction Methods 0.000 claims description 5
- 241000406668 Loxodonta cyclotis Species 0.000 claims description 4
- 230000001360 synchronised effect Effects 0.000 claims description 4
- 230000002194 synthesizing effect Effects 0.000 claims description 4
- 239000011800 void material Substances 0.000 claims description 3
- 230000004044 response Effects 0.000 abstract description 2
- 230000004886 head movement Effects 0.000 abstract 1
- 210000003128 head Anatomy 0.000 description 27
- 238000009877 rendering Methods 0.000 description 26
- 238000004891 communication Methods 0.000 description 17
- 230000003993 interaction Effects 0.000 description 15
- 238000005259 measurement Methods 0.000 description 8
- 230000005611 electricity Effects 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 7
- 230000002708 enhancing effect Effects 0.000 description 6
- 230000006870 function Effects 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 238000012545 processing Methods 0.000 description 4
- 230000000007 visual effect Effects 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000000712 assembly Effects 0.000 description 2
- 238000000429 assembly Methods 0.000 description 2
- 230000003190 augmentative effect Effects 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000004927 fusion Effects 0.000 description 2
- 238000003384 imaging method Methods 0.000 description 2
- 241000208199 Buxus sempervirens Species 0.000 description 1
- 241001269238 Data Species 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 210000004556 brain Anatomy 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 239000000571 coke Substances 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 235000013399 edible fruits Nutrition 0.000 description 1
- 230000007717 exclusion Effects 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 238000007654 immersion Methods 0.000 description 1
- 230000001965 increasing effect Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 210000003127 knee Anatomy 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000003032 molecular docking Methods 0.000 description 1
- 210000003205 muscle Anatomy 0.000 description 1
- 230000001144 postural effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000001502 supplementing effect Effects 0.000 description 1
- 239000010409 thin film Substances 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/011—Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
- G06F3/012—Head tracking input arrangements
-
- G—PHYSICS
- G02—OPTICS
- G02B—OPTICAL ELEMENTS, SYSTEMS OR APPARATUS
- G02B27/00—Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
- G02B27/01—Head-up displays
- G02B27/017—Head mounted
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/011—Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/03—Arrangements for converting the position or the displacement of a member into a coded form
- G06F3/033—Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
- G06F3/0346—Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor with detection of the device orientation or free movement in a 3D space, e.g. 3D mice, 6-DOF [six degrees of freedom] pointers using gyroscopes, accelerometers or tilt-sensors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/03—Arrangements for converting the position or the displacement of a member into a coded form
- G06F3/033—Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
- G06F3/038—Control and interface arrangements therefor, e.g. drivers or device-embedded control circuitry
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/60—Editing figures and text; Combining figures or text
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/20—Linear translation of whole images or parts thereof, e.g. panning
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G5/00—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
- G09G5/12—Synchronisation between the display unit and other units, e.g. other display units, video-disc players
-
- 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/0179—Display position adjusting means not related to the information to be displayed
- G02B2027/0187—Display position adjusting means not related to the information to be displayed slaved to motion of at least a part of the body of the user, e.g. head, eye
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G2354/00—Aspects of interface with display user
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)
- Optics & Photonics (AREA)
- Multimedia (AREA)
- Computer Hardware Design (AREA)
- User Interface Of Digital Computer (AREA)
- Controls And Circuits For Display Device (AREA)
Abstract
一种用于相对于头戴式参考系跟踪周围环境中的对象的系统可以允许周围对象响应于头部移动而在与其在周围环境中的位置相对应的虚拟位置处被渲染在虚拟显示中。系统可以检测头戴式设备相对于周围环境中的固定参考系的位置,并且可以检测周围对象相对于周围环境中的固定参考系的位置。系统然后可以将所检测到的周围对象的位置转换到头戴式设备的参考系或者转换到头戴式参考系,以确定周围对象相对于头戴式设备的位置。这个重新确定的位置可以被渲染在由头戴式设备生成的虚拟显示中。
Description
相关申请的交叉引用
本申请是于2016年12月21日提交的美国申请No.15/386,926的继续申请并要求其优先权,所述美国申请要求于2016年5月17日提交的美国临时申请No.62/337,465的优先权,其全部公开内容通过引用合并于此。
本申请要求于2016年5月17日提交的美国临时申请No.62/337,465的优先权,其全部公开内容通过引用合并于此。
技术领域
这一般地涉及增强和/或虚拟现实环境中的对象的检测和跟踪。
背景技术
增强现实(AR)和/或虚拟现实(VR)系统可以生成沉浸式三维(3D)虚拟环境。用户可以通过与各种电子设备(诸如例如,包括用户在查看显示设备时看的显示器、眼镜或护目镜的头盔或其它头戴式设备)、装配有传感器的手套、包括传感器的外部手持设备和其它此类电子设备的交互来体验这种虚拟环境。一旦沉浸在虚拟环境中,用户与虚拟环境的交互就可以采取各种形式,诸如例如,对手持电子设备和/或头戴式设备的物理移动和/或操纵以与虚拟环境交互,使虚拟环境个性化并且控制虚拟环境。
发明内容
在一个方面中,一种计算机实现的方法可以包括:在头戴式电子设备的显示器上生成并显示虚拟环境,所述头戴式电子设备在周围环境中操作,所述周围环境是穿戴所述头戴式电子设备的用户所位于的物理空间;检测所述周围环境中的周围对象,其中,所述周围对象是位于在物理世界中被称为周围位置的位置中的物理世界的对象;检测所述周围环境中的所述周围对象的第一周围位置;在所述虚拟环境的显示中的第一虚拟位置处显示所述周围对象的虚拟渲染,所述第一虚拟位置与所检测到的所述周围环境中的所述周围对象的第一周围位置相对应;检测从所述头戴式电子设备的第一位置到所述头戴式电子设备的第二位置的所述头戴式电子设备的移动;基于所检测到的所述头戴式电子设备的移动来更新所述周围环境中的所述周围对象的位置;以及基于所述周围环境中的所述周围对象的更新位置在所述虚拟环境的显示中的第二虚拟位置处显示所述周围对象的虚拟渲染。
在另一方面中,可以在非暂时性计算机可读介质上实现计算机程序产品。所述计算机可读介质可以具有存储在其上的指令序列。当由处理器执行时,所述指令可以使所述处理器执行一种方法,所述方法包括:在操作于周围环境中的头戴式电子设备的显示器上显示虚拟环境;检测所述周围环境中的手持电子设备,所述手持电子设备在所述周围环境中操作,并且所述手持电子设备操作地耦合到所述头戴式电子设备;检测所述周围环境中的所述手持电子设备的第一周围位置;在所述虚拟环境的显示中的第一虚拟位置处显示所述手持电子设备的虚拟渲染,所述第一虚拟位置与所检测到的所述周围环境中的所述手持电子设备的第一周围位置相对应;检测从所述头戴式电子设备的第一位置到所述头戴式电子设备的第二位置的所述头戴式电子设备的移动;基于所检测到的所述头戴式电子设备的移动来更新所述周围环境中的所述手持电子设备的位置;以及基于所述周围环境中的所述手持电子设备的更新位置在所述虚拟环境的显示中的第二虚拟位置处显示所述手持电子设备的虚拟渲染。
在另一方面中,一种计算设备可包括:存储器,所述存储器存储可执行指令;以及处理器,所述处理器被配置成执行所述指令。所述指令的执行可以使所述计算设备:在操作于周围环境中的头戴式电子设备的显示器上显示虚拟环境;检测所述周围环境中的手持电子设备,所述手持电子设备在所述周围环境中操作,并且所述手持电子设备操作地耦合到所述头戴式电子设备;检测所述周围环境中的所述手持电子设备的第一周围位置;在所述虚拟环境的显示中的第一虚拟位置处显示所述手持电子设备的虚拟渲染,所述第一虚拟位置与所检测到的所述周围环境中的所述手持电子设备的第一周围位置相对应;检测所述头戴式电子设备的运动;基于所检测到的所述头戴式电子设备的移动以及从所述手持电子设备和所述头戴式电子设备接收到的传感器数据来更新所述周围环境中的所述手持电子设备的位置;当所检测到的移动的幅度小于先前定义的阈值时在所述虚拟环境的显示中的所述第一虚拟位置处显示所述手持电子设备的虚拟渲染;以及当所检测到的移动的幅度大于或等于所述先前定义的阈值时在所述虚拟环境的显示中的第二虚拟位置处显示所述手持电子设备的虚拟渲染。
在下面的附图和描述中阐述了一个或多个实施方式的细节。其它特征从说明书和附图中并从权利要求书中将是显而易见的。
附图说明
图1是依照如本文中所描述的实施方式的包括头戴式显示设备和手持电子设备的虚拟现实系统的示例;
图2A和图2B是依照如本文中所描述的实施方式的示例头戴式显示设备的透视图;
图3是依照如本文中所描述的实施方式的头戴式显示设备和手持电子设备的框图;
图4、图5A-5B、图6A-6B、图7A-7B和图8A-8B是依照本文中所描述的实施方式的增强现实和/或虚拟现实环境中的用于头戴式参考系中的虚拟对象跟踪的系统和方法的示例实施方式。
图9是依照如本文中所描述的实施方式的方法的流程图。
图10示出可用于实现本文中所描述的技术的计算机设备和移动计算机设备的示例。
具体实施方式
穿戴例如头戴式显示器(HMD)设备的沉浸在增强和/或虚拟现实环境中的周围环境或物理真实世界空间中的用户可以通过例如对HMD和/或单独的电子设备的操纵、诸如例如手/手臂手势、头部移动、行走的物理交互等来探索3D虚拟环境并且与虚拟环境中的虚拟特征、对象、元素等交互。例如,在一些实施方式中,HMD可以与手持电子设备(诸如例如,控制器、陀螺鼠标或其它这种外部计算设备)配对。在本公开中手持电子设备是周围对象的示例。用户对与HMD配对的手持电子设备的操纵可以允许用户与由HMD生成的虚拟环境中的特征交互。
在一些情形下,手持电子设备可能对用户不可见,诸如例如,当在HMD的显示屏幕上向用户显示虚拟环境时,并且周围环境在用户穿戴HMD并且体验虚拟环境的同时不可见。在这种情形下,系统可以跟踪手持电子设备的位置和/或定向和/或移动,并且可以生成并向虚拟环境中的用户显示手持电子设备的视觉表示,以促进用户与手持电子设备的交互和/或用户对手持电子设备的操纵。例如,手持电子设备的视觉表示可以是作为由HMD生成的虚拟环境中的虚拟对象显示给用户的相机通过图像、渲染等。
当使用例如安装在HMD上的相机(或基站相机)来捕获手持电子设备的图像以用于跟踪手持电子设备的位置和/或定向和/或移动(在一些实例中以及由手持电子设备生成的位置和/或定向数据)时,用户的头部(以及因此,穿戴在用户的头部上的HMD)可以在取得手持电子设备的位置和/或定向的测量的时间(即,相机捕获图像的点)与处理完成并且手持电子设备的位置和/或定向被确定且准备好被渲染和/或以其它方式显示给虚拟环境中的用户的时间之间移动。这可以在手持电子设备被渲染在虚拟环境中的位置与手持电子设备在周围环境中的实际定位之间引起差异。
在图1中所示的示例实施方式中,穿戴HMD 100的用户正握着便携式手持电子设备102。如上面所指出的,手持电子设备102可以是例如用在虚拟环境中的控制器、陀螺鼠标和/或被配置成与HMD 100操作地耦合并与HMD 100进行通信并且可以被检测和跟踪使得可以检测和跟踪设备的六个自由度位置和/或定向的其它外部计算设备。简单地为了易于讨论和图示,在图1中所示的示例中包括单个手持电子设备102。然而,要在本文中描述的原理可以被应用于一个或多个手持电子设备和/或其它类型的外部计算设备操作地耦合到HMD的情形。简单地为了易于讨论和说明,在下文中,手持电子设备102将被称为控制器102。
图2A和图2B是示例HMD(诸如例如,由图1中的用户穿戴以生成并显示增强和/或虚拟现实环境的HMD 100)的透视图。HMD 100可以包括可以容纳光学组件的外壳110。外壳110可以例如可旋转地耦合和/或可拆卸地附接到框架120,所述框架120允许外壳110被安装或者穿戴在用户的头部上。音频输出设备130也可以耦合到框架120,并且可以包括例如安装在耳机中并耦合在框架120上的扬声器。
在图2B中,外壳110的正面110a远离外壳110的基部110b旋转,使得容纳在外壳110中的一些组件是可见的。显示器140可以被安装在外壳110的正面110a上。当正面110a相对于外壳110的基部110b处于关闭位置中时,透镜150可以被安装在外壳110中的安装结构155上,位于用户的眼睛与显示器140之间。透镜150的位置可以由调整设备158调整,使得透镜150可以与用户的眼睛的相应光轴对准以提供相对较宽的视野和相对较短的透镜150的焦距。
HMD 100也可以包括包括有各种感测系统设备162至164的感测系统160和包括有各种控制系统设备171至176的控制系统170以促进HMD 100的操作。控制系统170也可以包括操作地耦合到控制系统170的组件的处理器190。
HMD 100也可以包括可以捕获真实世界环境或周围环境的静止和/或运动图像的相机180。在一些实施方式中,可以在通过模式下在显示器140上将由相机180捕获的图像显示给用户,从而允许用户在无需移除HMD 100或者以其它方式改变HMD 100的配置以将外壳110移出用户的视线的情况下暂时地离开虚拟环境并且返回到真实世界。在一些实施方式中,由相机180捕获的图像可以由系统渲染并且作为渲染图像显示在显示器140上。
在图3中示出了用于在增强和/或虚拟现实环境中跟踪并显示手持设备的系统的框图。系统可以包括与一个(或多个)第二用户电子设备302通信的第一用户电子设备300。例如,第一用户电子设备300可以是生成要向用户显示的增强和/或虚拟现实环境的如上面关于图2A和图2B所描述的HMD,并且第二用户电子设备302可以是例如如上面关于图1所描述的手持电子设备,其促进用户与由HMD生成并显示的虚拟环境中的虚拟特征交互。例如,如上所述,可以将第二(手持)电子设备302在物理3D空间中的物理移动转换成由第一(头戴式)电子设备300生成并显示的虚拟环境中的期望交互。
第一电子设备300可以包括感测系统260和控制系统370,其分别可以与图2A和图2B中所示的感测系统160和控制系统170类似。在图3中所示的示例中,感测系统360可以包括许多不同类型的传感器,包括例如像在图2A和图2B中所示的HMD 100中一样的光传感器、距离/接近传感器、音频传感器,以及其它传感器和/或传感器的不同组合。在一些实施方式中,光传感器、图像传感器和音频传感器可以被包括在一个组件中,所述组件诸如例如相机,诸如图2A和图2B中所示的HMD 100的相机180。控制系统370可以包括许多不同类型的设备,包括例如电源/暂停控制设备、音频和视频控制设备、光学控制设备、转换控制设备以及其它此类设备和/或设备的不同组合。在一些实施方式中,取决于特定实施方式,感测系统360和/或控制系统370可以包括更多的或更少的设备。包括在感测系统360和/或控制系统370中的元素可在例如除图2A和图2B中所示的HMD 100以外的HMD内具有不同的物理布置(例如,不同的物理定位)。
第一电子设备300也可以包括与感测系统360和控制系统370通信的处理器390、可由例如控制系统370的模块访问的存储器380以及提供用于在第一电子设备300与另一外部设备(诸如例如,与第一电子设备300配对的第二电子设备302)之间通信的通信模块350。
第二电子设备302可以包括提供用于在第二电子设备300与另一外部设备(诸如例如,操作地耦合到第二电子设备302或者与第二电子设备302配对的第一电子设备300)之间通信的通信模块306。第二电子设备302可以包括包括有多个不同的传感器的感测系统304。例如,在一些实施方式中,感测系统304可以包括IMU,所述IMU包括例如加速度计、陀螺仪以及其它传感器和/或传感器的不同组合。处理器309可以与第二电子设备302的感测系统304和控制器305通信,所述控制器305访问存储器308并且控制第二电子设备302的整体操作。
在图4中示出了用于跟踪并显示周围对象(诸如例如,手持电子设备)的系统的示例实施方式。图4提供穿戴HMD 100并且握着手持电子设备102或控制器102的物理空间或周围环境400中的用户的第三人称视图。在此示例中,用户正在例如在HMD 100的显示器140上观看由HMD 100生成并显示给用户的虚拟显示420。在此示例中,虚拟显示420可以在HMD100的界限内对用户可见,但是为了说明的清楚在图4中被图示在HMD 100外部。在此示例中,当用户正在穿戴HMD 100时周围环境400中的其它物理特征、对象等(诸如例如,控制器102)可以不直接对用户可见。如上面所指出的,用户可以通过移动控制器102、将控制器102和/或虚拟光束从控制器102定向到虚拟特征/对象并且/或者以其它方式操纵控制器120来与作为虚拟环境400中的虚拟显示420的一部分显示的各种虚拟特征、对象等交互。在此示例中,控制器102可以不直接对用户可见,而是控制器102的位置和/或定向可以由系统检测和跟踪,并且可以将所跟踪的控制器102的图像作为虚拟环境中的虚拟显示420的虚拟对象渲染并显示给用户,以促进用户在周围环境400中的控制器102之间连接并且促进经由对控制器102的操纵与虚拟环境中的虚拟显示420交互。
图5A和图5B是穿戴HMD 100的用户例如在HMD 100的显示器140上观看虚拟显示420并且握着操作地耦合到HMD 100或者与HMD 100配对的控制器102的俯视图。在图5A中,在时间T1,用户观看虚拟显示420,其中控制器102保持在周围环境中的位置102A1处,基本上直截了当地在用户之面。在时间T1,可以如上所述跟踪控制器102的位置和/或定向的系统可以在虚拟环境的虚拟显示420中的虚拟位置102V1处渲染并显示控制器102的渲染图像。这可以允许用户观看控制器102的渲染图像,以促进用户操纵控制器102并且与显示在虚拟环境的虚拟显示420中的虚拟特征、对象、元素等交互。
在图5B中所示的时间T2,用户已将他的头部移动、转动或者旋转了一些量(例如,为了易于讨论和图示为30度)。因为显示虚拟环境的虚拟显示420的显示器140被包括在由用户穿戴的HMD 100中,所以随着用户使头部旋转,HMD 100和虚拟显示420也旋转相同量(例如,30度)。在此示例中,尽管在时间T2用户的头部以及HMD 100和虚拟显示420处于旋转位置中,然而用户尚未移动控制器102,并且控制器102仍然保持在周围环境中的位置102A1处。然而,因为在一些情形下系统在时间T2可能仍然尚未更新控制器102的位置,所以控制器102可以仍然在虚拟显示420中被渲染在虚拟位置102V1处,从而不准确地反映与用户的头部和虚拟显示420基本上相同的移动或旋转量。相反,控制器在周围环境中的实际(基本上未改变的)位置102A1的准确渲染将在虚拟显示420中被显示在位置102V2处。
控制器102在时间T2在周围环境中的实际位置102A1(和控制器102在时间T2在虚拟显示420中的正确虚拟位置102V2)与控制器102在时间T2在虚拟位置102V2处(因为控制器202定位信息仍然尚未被更新)的虚拟显示420中的显示之间的这种断开或不匹配可以阻碍控制器102用于与虚拟环境中的虚拟显示420中可用的虚拟特征、对象、元素和等交互的有效使用。
在依照如本文中所描述的实施方式的系统和方法中,系统可以考虑到与控制器102有关的传感器数据(例如,由IMU包括在控制器102和/或HMD 100中的其它传感器提供的传感器数据)、历史控制器移动和轨迹模式等来实现前向预测功能或算法,以说明控制器102在虚拟显示420中渲染控制器102时的实际物理位置。
如图6A中所示,在时间T1,用户在使控制器102保持在周围环境中的位置102A1处的同时观看虚拟显示420,基本上直截了当地在用户之前,并且系统可以在虚拟显示420中的虚拟位置102V1处渲染并显示控制器102的渲染图像(如上面关于图5A所描述的)。如图6B中所示,在时间T2,用户的头部已旋转,但是不一定已取得控制器102的位置的新度量。然而,在此示例中,即使在用户的头部(以及HMD 100和虚拟显示420)已旋转的情况下,系统也可以假定控制器102在周围环境中的位置保持在位置102A1处,直到例如控制器102在周围环境中的位置的新测量被取得为止。前向预测的技术效果可以是即便当未以及时方式接收到控制器的位置的新度量时,控制器的渲染图像的显示也在正确位置处。在图6B中所示的示例中,假定了即使已经检测到用户的头部(以及HMD 100和虚拟显示420)的移动(例如,旋转),控制器102也在周围环境中保持固定,并且因此控制器102在虚拟显示420中被渲染在虚拟位置102V2处直到例如控制器102的位置的新度量被取得为止。即使系统已经检测到用户的头部和HMD 100的移动,在图6B中所示的虚拟位置102V2处的控制器102的渲染的显示也与控制器102在周围环境400中的基本上未移动的位置相对应。在一些情形下,例如,当所检测到的用户的头部(以及HMD 100和虚拟显示420)的移动的幅度例如小于先前定义的阈值时,可以应用此方法。
在图6A-6B中所示的示例中,每当控制器102的位置和/或定向或姿势由例如HMD100的感测系统单独或者与由控制器102的感测系统所提供的数据一起来估计时,可以相对于例如周围环境中的固定参考点来估计控制器102的位置和/或定向或姿势。当用户和/或用户的头部和HMD 100和/或控制器102在周围环境中移动时,周围环境中的固定参考点可以在周围环境中保持固定。因此,控制器102在周围环境中的移动以及HMD 100在周围环境中的移动可以各自在它们自己的相应参考系中被独立地跟踪。随着用户的头部/HMD 100在周围环境中的位置相对于固定参考点被更新,即使控制器102的位置尚未被更新,控制器102到虚拟环境的虚拟显示420中的渲染也可能与用户的头部/HMD 100的运动无关,其中控制器102的渲染被独立地更新并且随着更新的位置变得可用而重新渲染到虚拟显示420中。这对于相对大量的实例来说可以允许控制器102在虚拟显示420中被渲染在相对准确的位置处。
在一些情形下,上面关于图6A和图6B所描述的方法可以在当控制器102在周围环境中被移动的时间与当该移动被反映在控制器102的渲染被显示在虚拟环境的虚拟显示420中所在的虚拟位置中的时间之间引起一些滞后。例如,如图7A中所示,在时间T1,用户观看虚拟显示420同时使控制器102保持在周围环境中的点102A1处,基本上直截了当地在用户之前,并且系统可以将控制器102的渲染图像渲染并显示在虚拟显示420中的虚拟位置PV1处(如上面关于图5A和图6A所描述的)。如图7B中所示,在时间T2,用户的头部(以及HMD100和虚拟显示420)已移动或者旋转,并且控制器102的位置也已移动或者旋转到位置102A2。如果在控制器102的新度量被取得之前未在虚拟显示420中渲染用于控制器102的新位置(如上面关于图6A-6B所描述的),则控制器102将在周围环境中的位置102A2处,但是将被渲染在虚拟显示420中的虚拟位置102V1处直到控制器位置和/或定向或姿势的新度量被取得为止。
为了避免在渲染控制器102的位置和/或定向或姿势变化时的过度滞后时间,即,当控制器102在周围环境中被移动时的时间与当该移动被反映在虚拟环境的虚拟显示420中的控制器102的渲染的虚拟位置中时的时间之间的滞后,系统可以基于例如由控制器102提供的传感器数据来预测控制器102的移动。此传感器数据可以包括例如由控制器102的感测系统的IMU提供的数据。如图8A中所示,在时间T1,用户观看虚拟显示420同时使控制器102保持在周围环境中的点102A1处,基本上直截了当地在用户之前,并且系统可以将控制器102的渲染图像渲染并显示在虚拟显示420中的虚拟位置102V1处(如上面关于图5A、图6A和图7A所描述的)。如图8B中所示,在时间T2,用户的头部(以及HMD 100和虚拟显示420)已旋转,并且控制器102也已从位置102A1移动到位置102A2,但是尚未取得控制器102的位置和/或定向或姿势的新度量。在此示例中,由控制器102的感测系统(例如,包括在控制器102的IMU中的陀螺仪和/或加速度计和/或磁力计)收集的传感器数据可以感测控制器102的运动(例如,在图8A-8B中所示的示例中向右约30度的移动和/或加速度)。可以将此传感器数据从控制器102发送到HMD 100,使得可以在虚拟显示420中的虚拟位置102V1处正确地渲染控制器102的渲染图像,如图8B中所示。例如从控制器102的IMU和HMD 100的IMU收集的传感器数据的合成或融合可以提高在确定并更新控制器102的位置以及特别是控制器102相对于HMD 100的位置时的准确度,从而允许控制器102随着用户的头部(和HMD 100)移动并且控制器102在周围环境中移动而被渲染在由HMD 100生成的虚拟环境的虚拟显示420中的更准确的位置处。
在一些实施方式中,上面关于图6A-6B所描述的原理(其说明HMD 100和显示器140/虚拟显示420相对于周围环境中的固定参考系的移动)以及上面关于图8A-8B所描述的原理(其说明控制器102相对于周围环境中的固定参考系的移动)的组合以及从控制器102的传感器和HMD 100的传感器收集的数据的融合可以被应用来确定可以在虚拟显示420中渲染控制器102的虚拟位置。在一些实施方式中,这些计算中的一些或全部可以由控制器102的处理器执行。在一些实施方式中,这些计算中的一些或全部可以由控制器102的处理器执行。在一些实施方式中,这些计算中的一些或全部可以由与HMD 100和/或控制器102操作地耦合的基站的处理器执行。在一些实施方式中,可以在HMD 100和/或控制器102和/或基站之间共享计算负荷。
以上示例已集中于控制器102在虚拟显示420中的准确的虚拟渲染位置。然而,可以在跟踪正在移动周围环境并且可以被虚拟地渲染在虚拟显示420中的其它对象(诸如例如,虚拟环境中的其它用户等)时应用这些原理。以上示例指示来自HMD 100上的感测系统(诸如例如,包括在HMD 100的相机中的图像传感器)的数据可以用于捕获与控制器有关的位置和/或定向和/或姿势数据。然而,包括在感测系统中的其它元件(诸如例如,电磁传感器、光/红外传感器、音频传感器、包括例如加速度计和/或陀螺仪和/或磁力计的IMU等)也可以提供在捕获与控制器102有关的位置和/或定向和/或姿势数据时使用的信息。
在一些实施方式中,控制器102和HMD 100(例如,控制器102的传感器和HMD 100的传感器)可以是时间同步的,使得控制器102和HMD 100可以在基本上相同的时钟上操作。相同的时钟上的时间同步和操作可以允许在控制器102与HMD 100之间发送的加时间戳的信号(例如,信号包括由如上所述的传感器收集的数据)被应用于公共时间参考。这可以允许在使特定头部/HMD 100位置与控制器102的相应位置以及用于在虚拟环境的虚拟显示420中显示控制器102的渲染的相应虚拟位置相匹配时提高精度和准确度。可以依照设定协议来建立并维护控制器102与HMD 100之间的这个时间同步。
在如上所述在虚拟显示420中渲染元素时补偿头部(和HMD)运动和/或控制器运动时,可以相对于HMD 100建立相对于周围环境的第一参考系以及公共同步时间参考。一旦在这些参考系内捕获了控制器102的姿势,并且如上所述考虑到来自控制器102和/或HMD 100的一个或多个附加传感器的加时间戳的数据,系统可以基于加时间戳的传感器数据来前向预测控制器102相对于物理参考帧的运动。如上所述与来自公共同步时间参考中的控制器102和/或HMD 100的感测系统的数据一起进行的从HMD 100相对于周围环境中的固定参考系的参考系并且从控制器102相对于周围环境中的固定参考系的参考系变成相同参考系的这些变换可以通过等式1、2和3中所示的一系列矩阵变换来表示。
等式1 ATC1=ATH1 H1TC1
等式2 ATC2=f(ATC1)
等式3 H2TC2=H2TA ATC2
例如,可以通过等式1确定控制器102在时间T1相对于固定周围环境坐标的位置(与头部/HMD 100位置无关)。特别地,在等式1中,矩阵变换ATH1(HMD 100在时间T1到固定周围环境的位置的矩阵变换)和矩阵变换H1TC1(控制器102的位置在时间T1相对于HMD 100的位置的矩阵变换)的乘积可以产生在时间T1相对于固定周围环境ATC1的控制器位置。在等式1中,项A表示周围环境,C1表示控制器102在时间T1的位置,并且H1表示HMD 100在时间T1的位置,其中用于控制器102的时间T1与用于HMD 100的时间T1相对应。
根据通过等式1(ATC1)确定的控制器102相对于固定周围环境坐标的位置,可以通过等式2确定如上面关于图6A-6B所描述的用于控制器102的移动的前向预测,其中ATC2是控制器102在时间T2相对于固定周围环境坐标的(预测)位置,并且其是控制器102相对于固定周围环境ATC1的位置的矩阵变换的函数。
控制器102在时间T2相对于HMD 100(即,在HMD 100的坐标系统中)的位置(通过等式3中的H2TC2来表示)可以是HMD在时间T2相对于周围环境H2TA的固定坐标的位置的矩阵变换和控制器102在时间T2相对于固定周围环境坐标ATC2的位置的矩阵变换的乘积。
因此,在等式1中,控制器102和HMD 100的位置相对于周围环境中的固定坐标系或固定参考点被变换。等式2可以前向预测控制器102相对于周围环境中的固定坐标系统或固定参考点的位置。等式3可以将控制器102的位置变换到HMD 100的参考系,使得可以将控制器102渲染在由HMD 100生成的虚拟显示420中。
在图9中示出了依照如本文中所描述的实施方式的增强和/或虚拟现实环境中的用于头戴式参考系中的对象跟踪的方法900。
在发起虚拟和/或增强现实体验(块910)之后,系统可以检测到用户的头部(以及HMD 100和显示器140/虚拟显示420,如上所述)已移动(块920)。如果系统检测到用户的头部已移动,并且尚未取得正在虚拟显示420中跟踪和渲染的周围环境中的对象(例如,如上所述的控制器102)的位置和/或定向的更新度量(块930),则系统然后可以应用一组规则和/或算法来基于所检测到的头部移动确定应该在虚拟显示420中渲染控制器102的位置(块940、950),并且可以将控制器102渲染在虚拟显示420中的更新位置处(块960)。在一些实施方式中,可以结合等式1和/或等式2和/或等式3像上面关于图6A-6B和/或图8A-8B所描述的那样确定控制器102的更新位置。过程可以继续直到虚拟体验被终止为止(块970)。
图10示出可以与这里描述的技术一起使用的计算机设备1000和移动计算机设备1050的示例。计算设备1000包括处理器1002、存储器1004、存储设备1006、连接到存储器1004和高速扩展端口1010的高速接口1008以及连接到低速总线1014和存储设备1006的低速接口1012。组件1002、1004、1006、1008、1010和1012中的每一个使用各种总线来互连,并且可以被酌情安装在公共主板上或者以其它方式安装。处理器1002可处理在计算设备1000内执行的指令,包括存储在存储器1004中或者在存储设备1006上以在外部输入/输出设备(诸如耦合到高速接口1008的显示器1016)上显示用于GUI的图形信息的指令。在其它实施方式中,可以酌情使用多个处理器和/或多个总线以及多个存储器和多个类型的存储器。另外,可以连接多个计算设备1000,其中每个设备提供必要操作的部分(例如,作为服务器组、一组刀片服务器或多处理器系统)。
存储器1004存储计算设备1000内的信息。在一个实施方式中,存储器1004是一个或多个易失性存储器单元。在另一实施方式中,存储器1004是一个或多个非易失性存储器单元。存储器1004也可以是另一形式的计算机可读介质,诸如磁盘或光盘。
存储设备1006能够为计算设备1000提供海量存储。在一个实施方式中,存储设备1006可以是或者包含计算机可读介质,诸如软盘设备、硬盘设备、光盘设备或磁带设备、闪速存储器或其它类似的固态存储设备或设备的阵列,包括存储区域网络或其它配置中的设备。计算机程序产品可被有形地具体实现在信息载体中。计算机程序产品也可以包含指令,所述指令当被执行时,执行一个或多个方法,诸如上述的那些方法。信息载体是计算机或机器可读介质,诸如存储器1004、存储设备1006或处理器1002上的存储器。
高速控制器1008管理计算设备1000的带宽密集操作,然而低速控制器1012管理较低带宽密集操作。功能的这种分配仅是示例性的。在一个实施方式中,高速控制器1008耦合到存储器1004、显示器1016(例如,通过图形处理器或加速器),并且耦合到高速扩展端口1010,所述高速扩展端口1010可以接受各种扩展卡(未示出)。在该实施方式中,低速控制器1012耦合到存储设备1006和低速扩展端口1014。可以包括各种通信端口(例如,USB、蓝牙、以太网、无线以太网)的低速扩展端口可以耦合到一个或多个输入/输出设备,诸如键盘、指点设备、扫描仪或诸如交换机或路由器的联网设备,例如,通过网络适配器。
如图中所示,可以以许多不同的形式实现计算设备1000。例如,它可以作为标准服务器1020被实现,或者被实现在一组此类服务器中多次。它也可以作为机架服务器系统1024的一部分被实现。此外,它可以被实现在诸如膝上型计算机1022的个人计算机中。可替选地,来自计算设备1000的组件可以与移动设备(未示出)(诸如设备1050)中的其它组件组合。此类设备中的每一个可以包含计算设备1000、1050中的一个或多个,并且整个系统可以由彼此通信的多个计算设备1000、1050组成。
计算设备1050包括处理器1052、存储器1064、诸如显示器1054的输入/输出设备、通信接口1066和收发器1068及其它组件。设备1050也可以被提供有存储设备,诸如微驱动器或其它设备,以提供附加存储。组件1050、1052、1064、1054、1066和1068中的每一个使用各种总线来互连,并且若干组件可以被酌情安装在公共主板上或者以其它方式安装。
处理器1052可执行计算设备1050内的指令,包括存储在存储器1064中的指令。处理器可以作为芯片的芯片组被实现,所述芯片包括单独的且多个模拟和数字处理器。处理器可以提供例如用于设备1050的其它组件的协同,诸如对用户界面、由设备1050运行的应用和提供设备1050进行的无线通信的控制。
处理器1052可以通过耦合到显示器1054的控制接口1058和显示接口1056来与用户进行通信。显示器1054可以是例如TFT LCD(薄膜晶体管液晶显示器)或OLED(有机发光二极管)显示器或其它适当的显示技术。显示接口1056可以包括用于驱动显示器1054以向用户呈现图形和其它信息的适当电路。控制接口1058可以从用户接收命令并且对它们进行转换以用于提交给处理器1052。此外,可以提供与处理器1052通信的外部接口1062,以便使得能实现设备1050与其它设备的近区域通信。外部接口1062可以在一些实施方式中提供例如用于有线通信,或者在其它实施方式中用于无线通信,并且也可以使用多个接口。
存储器1064存储计算设备1050内的信息。存储器1064可作为一个或多个计算机可读介质、一个或多个易失性存储器单元或者一个或多个非易失性存储器单元中的一种或多种被实现。扩展存储器1074也可以通过扩展接口1072来提供并连接到设备1050,所述扩展接口1072可以包括例如SIMM(单列直插存储器模块)卡接口。这种扩展存储器1074可以为设备1050提供额外的存储空间,或者也可以为设备1050存储应用或其它信息。具体地,扩展存储器1074可以包括用于执行或者补充上述的过程的指令,并且也可以包括安全信息。因此,例如,扩展存储器1074可以作为用于设备1050的安全模块被提供,并且可以被编程有允许安全地使用设备1050的指令。此外,可以经由SIMM卡提供安全应用以及附加信息,例如以不可破解的方式在SIMM卡上放置识别信息。
如下所述,存储器可以包括例如闪速存储器和/或NVRAM存储器。在一个实施方式中,计算机程序产品被有形地具体实现在信息载体中。计算机程序产品包含指令,所述指令当被执行时,执行一个或多个方法,诸如上述的那些方法。信息载体是可以例如通过收发器1068或外部接口1062接收的计算机或机器可读介质,诸如存储器1064、扩展存储器1074或处理器1052上的存储器。
设备1050可以通过通信接口1066以无线方式通信,所述通信接口1066必要时可以包括数字信号处理电路。通信接口1066可以提供用于在各种模式或协议下进行通信,所述各种模式或协议诸如GSM语音呼叫、SMS、EMS或MMS消息传送、CDMA、TDMA、PDC、WCDMA、CDMA2000或GPRS等。这种通信可以例如通过射频收发器1068而发生。此外,可以发生短距离通信,诸如使用蓝牙、Wi-Fi或其它这种收发器(未示出)。此外,GPS(全球定位系统)接收器模块1070可以向设备1050提供附加的导航和定位相关无线数据,其可以由在设备1050上运行的应用酌情使用。
设备1050也可以使用音频编解码器1060可听地通信,所述音频编解码器1060可以从用户接收口语信息并且将它转换为可用的数字信息。音频编解码器1060可以同样地为用户生成可听声音,诸如通过扬声器(例如,在设备1050的头戴式耳机中)。这种声音可以包括来自语音电话呼叫的声音,可以包括录制的声音(例如,语音消息、音乐文件等)并且也可以包括由在设备1050上操作的应用生成的声音。
如图中所示,可以以许多不同的形式实现计算设备1050。例如,它可以作为蜂窝电话1080被实现。它也可以作为智能电话1082、个人数字助理或其它类似的移动设备的一部分被实现。
这里描述的系统和技术的各种实施方式可用数字电子电路、集成电路、专门设计的ASIC(专用集成电路)、计算机硬件、固件、软件和/或其组合加以实现。这些各种实施方式可包括在可编程系统上可执行和/或可解释的一个或多个计算机程序中的实施方式,所述可编程系统包括至少一个可编程处理器,其可以是专用或通用的,耦合以从存储系统、至少一个输入设备和至少一个输出设备接收数据和指令,并且向存储系统、至少一个输入设备和至少一个输出设备发送数据和指令。
这些计算机程序(也被称为程序、软件、软件应用或代码)包括用于可编程处理器的机器指令,并且可用高级过程和/或面向对象编程语言和/或用汇编/机器语言加以实现。如本文中所使用的,术语“机器可读介质”、“计算机可读介质”指代用于向可编程处理器提供机器指令和/或数据的任何计算机程序产品、装置和/或设备(例如,磁盘、光盘、存储器、可编程逻辑器件(PLD)),包括将机器指令作为机器可读信号来接收的机器可读介质。术语“机器可读信号”指代用于向可编程处理器提供机器指令和/或数据的任何信号。
为了提供与用户的交互,可在计算机上实现这里描述的系统和技术,所述系统具有用于向用户显示信息的显示设备(例如,CRT(阴极射线管)或LCD(液晶显示器)监视器)以及用户可以用来向该计算机提供输入的键盘和指针设备(例如,鼠标或轨迹球)。其它种类的设备也可用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的感觉反馈(例如,视觉反馈、听觉反馈或触觉反馈);并且可以以任何形式接收来自用户的输入,包括声、语音或触觉输入。
这里描述的系统和技术可被实现在计算系统中,所述计算系统包括后端组件(例如,作为数据服务器),或者包括中间件组件(例如,应用服务器),或者包括前端组件(例如,具有用户可用来与这里描述的系统和技术的实施方式交互的图形用户界面或Web浏览器的客户端计算机),或者包括此类后端、中间件或前端组件的任何组合。系统的组件可通过任何形式或介质的数字数据通信(例如,通信网络)来互连。通信网络的示例包括局域网(“LAN”)、广域网(“WAN”)和因特网。
计算系统可包括客户端和服务器。客户端和服务器一般地彼此远离并且通常通过通信网络来交互。客户端和服务器的关系借助于在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序而产生。
在一些实施方式中,图10中描绘的计算设备可包括与虚拟现实(VR头戴式耳机/HMD设备1090)对接的传感器。例如,包括在图10中描绘的计算设备1050或其它计算设备上的一个或多个传感器可向VR头戴式耳机1090提供输入,或者一般而言,向VR空间提供输入。传感器可包括但不限于触摸屏、加速度计、陀螺仪、压力传感器、生物计量传感器、温度传感器、湿度传感器和环境光传感器。计算设备1050可使用传感器来确定计算设备在VR空间中的绝对位置和/或检测到的旋转,其然后可被用作VR空间的输入。例如,计算设备1050可以作为虚拟对象(诸如控制器、激光指示器、键盘、武器等)被并入到VR空间中。计算设备/虚拟对象在被并入到VR空间中时由用户进行的定位可以允许用户定位计算设备,以便在VR空间中以某些方式观看虚拟对象。例如,如果虚拟对象表示激光指示器,则用户可操纵计算设备如同它是实际的激光指示器一样。用户可左右、上下、按照圆等移动计算设备,并且以与使用激光指示器类似的方式使用该设备。
在一些实施方式中,包括在计算设备1050上或者连接到计算设备1050的一个或多个输入设备可被用作VR空间的输入设备。输入设备可包括但不限于触摸屏、键盘、一个或多个按钮、触控板、触摸板、指点设备、鼠标、轨迹球、操纵杆、相机、麦克风、耳机或具有输入功能性无线耳机、游戏控制器或其它可连接的输入设备。当计算设备被并入到VR空间中时用户与包括在计算设备1050上的输入设备交互可使得在VR空间中发生特定动作。
在一些实施方式中,计算设备1050的触摸屏可作为触摸板被渲染在VR空间中。用户可与计算设备1050的触摸屏交互。例如在VR头戴式耳机1090中,交互作为经渲染的触摸板上的移动被渲染在VR空间中。经渲染的移动可控制VR空间中的虚拟对象。
在一些实施方式中,包括在计算设备1050上的一个或多个输出设备可向VR空间中的VR头戴式耳机1090的用户提供输出和/或反馈。输出和反馈可以是视觉的、触觉的或音频。输出和/或反馈可包括但不限于振动、一个或多个灯或闪光灯的打开和关闭或闪烁和/或闪光、发出警报、播放铃声、播放歌曲以及音频文件的播放。输出设备可包括但不限于振动马达、振动线圈、压电器件、静电器件、发光二极管(LED)、闪光灯和扬声器。
在一些实施方式中,计算设备1050可以作为计算机生成的3D环境中的另一对象而出现。由用户与计算设备1050进行的交互(例如,旋转、摇动、触摸触摸屏、越过触摸屏扫掠手指)可被解释为与VR空间中的对象的交互。在VR空间中的激光指示器的示例中,计算设备1050作为虚拟激光指示器出现在计算机生成的3D环境中。当用户操纵计算设备1050时,VR空间中的用户看到激光指示器的移动。用户在计算设备1050上或VR头戴式耳机1090上的VR环境中从与计算设备1050的交互接收反馈。
在一些实施方式中,计算设备1050可以包括触摸屏。例如,用户可以特定方式与触摸屏交互,所述特定方式可用在VR空间中发生的事情模仿在触摸屏上发生的事情。例如,用户可以使用捏式运动来缩放在触摸屏上显示的内容。触摸屏上的这种捏式运动可使VR空间中提供的信息被缩放。在另一示例中,计算设备可以作为虚拟书被渲染在计算机生成的3D环境中。在VR空间中,书的页面可被显示在VR空间中并且用户的手指越过触摸屏的扫描可被解释为翻开/翻转虚拟书的页面。当每个页面被翻开/翻转时,除看到页面内容变化之外,还可以给用户提供音频反馈,诸如书中翻页的声音。
在一些实施方式中,除计算设备之外的一个或多个输入设备(例如,鼠标、键盘)可被渲染在计算机生成的3D环境中。经渲染的输入设备(例如,经渲染的鼠标、经渲染的键盘)可像被渲染在VR空间中那样用于控制VR空间中的对象。
计算设备1000旨在表示各种形式的数字计算机和设备,包括但不限于膝上型电脑、台式机、工作站、个人数字助理、服务器、刀片服务器、大型机和其它适当的计算机。计算设备1050旨在表示各种形式的移动设备,诸如个人数字助理、蜂窝电话、智能电话和其它类似的计算设备。这里示出的组件、它们的连接和关系以及它们的功能意在仅仅为示例性的,而不意在限制本文档中描述和/或要求保护的发明的实施方式。
已经描述了许多实施例。然而,应理解的是,在不脱离本说明书的精神和范围的情况下,可以做出各种修改。
在以下示例中概括另外的实施方式:
示例1:一种计算机实现的方法,包括:在头戴式电子设备的显示器上显示虚拟环境,所述头戴式电子设备在周围环境中操作;检测所述周围环境中的周围对象;检测所述周围环境中的所述周围对象的第一周围位置;在所述虚拟环境的显示中的第一虚拟位置处显示所述周围对象的虚拟渲染,所述第一虚拟位置与所检测到的所述周围环境中的所述周围对象的第一周围位置相对应;检测从所述头戴式电子设备的第一位置到所述头戴式电子设备的第二位置的所述头戴式电子设备的移动;基于所检测到的所述头戴式电子设备的移动来更新所述周围环境中的所述周围对象的位置;以及基于所述周围环境中的所述周围对象的更新位置在所述虚拟环境的显示中的第二虚拟位置处显示所述周围对象的虚拟渲染。
示例2:根据示例1所述的方法,检测所述头戴式电子设备的移动包括检测所述头戴式电子设备的位置或定向中的至少一个中的变化,并且基于所检测到的所述头戴式电子设备的移动来更新所述周围环境中的所述周围对象的位置包括:检测所检测到的所述头戴式电子设备的移动的幅度;以及当所检测到的所述头戴式电子设备的移动的幅度小于先前定义的阈值时使所述周围对象的虚拟渲染维持在所述虚拟环境的虚拟显示中的所述第一虚拟位置处。
示例3:根据示例1所述的方法,检测所述头戴式电子设备的移动包括:检测所述头戴式电子设备的位置或定向中的至少一个中的变化,并且基于所检测到的所述头戴式电子设备的移动来更新所述周围环境中的所述周围对象的位置包括:检测所检测到的所述头戴式电子设备的移动的幅度;以及将所述周围对象的周围位置更新到第二周围位置,使得所述周围对象相对于所述头戴式电子设备的第二位置的第二周围位置与所述周围对象相对于所述头戴式电子设备的第一位置的第一周围位置相同。
示例4:根据示例1至3中的任一个所述的方法,更新所述周围环境中的所述周围对象的位置包括:从所述周围对象接收传感器数据,所述传感器数据包括来自所述周围对象的陀螺仪或加速度计中的至少一个的数据;基于所接收到的传感器数据来检测所述周围环境中的所述周围对象的移动;以及基于所估计的所述周围对象的移动来确定所述周围环境中的所述周围对象的第二周围位置。
示例5:根据示例1所述的方法,检测所述头戴式电子设备的移动并且基于所检测到的所述头戴式电子设备的移动来更新所述周围环境中的所述周围对象的位置包括:检测所述头戴式电子设备相对于所述周围环境中的固定坐标系统的位置;检测所述周围对象相对于所述周围环境中的所述固定坐标系统的位置;以及将所检测到的所述周围对象相对于所述周围环境中的所述固定坐标系统的位置转换成所述周围对象相对于所述头戴式电子设备的坐标系统的转换位置。
示例6:根据示例5所述的方法,基于所检测到的所述头戴式电子设备的移动来更新所述周围环境中的所述周围对象的位置也包括:检测所检测到的所述头戴式电子设备的移动的幅度;以及将所述周围对象的周围位置更新到第二周围位置,使得所述周围对象相对于所述头戴式电子设备的第二位置的第二周围位置与所述周围对象相对于所述头戴式电子设备的第一位置的第一周围位置相同。
示例7:根据示例6所述的方法,检测所述周围环境中的周围对象包括从所述周围对象接收传感器数据,所述传感器数据包括来自所述周围对象的陀螺仪或加速度计中的至少一个的数据,并且基于所检测到的所述头戴式电子设备的移动来更新所述周围环境中的所述周围对象的位置也包括:基于从所述周围对象接收到的所述传感器数据来检测所述周围环境中的所述周围对象的移动;以及基于所检测到的所述周围对象的移动来确定所述周围环境中的所述周围对象的第二周围位置。
示例8:根据示例7所述的方法,基于所检测到的所述头戴式电子设备的移动来更新所述周围环境中的所述周围对象的位置也包括:将从所述头戴式电子设备接收到的所述传感器数据与从所述周围对象接收到的所述传感器数据合成;基于经合成的传感器数据来检测所述周围对象相对于所述头戴式电子设备的位置;以及重复所述接收、合成和检测以基本上实时地更新所述周围对象相对于所述头戴式电子设备的位置。
示例9:根据示例8所述的方法,其中,所述周围对象是操作地耦合到所述头戴式电子设备的手持电子设备,所述方法还包括:使所述手持电子设备的时钟与所述头戴式电子设备的时钟同步,并且将从所述头戴式电子设备接收到的所述传感器数据与从所述周围对象接收到的所述传感器数据合成包括将从所述头戴式电子设备接收到的加时间戳的传感器数据与从所述手持电子设备接收到的加时间戳的传感器数据合成以在相应的时间点更新所述手持电子设备相对于所述头戴式电子设备的位置。
示例10:根据示例6至9中的一个所述的方法,基于所述周围环境中的所述周围对象的更新位置在所述虚拟环境的显示中的第二虚拟位置处显示所述周围对象的虚拟渲染包括:当所检测到的所述头戴式电子设备的移动的幅度大于或等于先前定义的阈值时在所述虚拟环境的虚拟显示中的所述第二虚拟位置处显示所述周围对象的虚拟渲染,所述虚拟显示中的所述第二虚拟位置与所述周围环境中的所述第二周围位置相对应。
示例11:根据示例5至10中的一个所述的方法,基于所述周围环境中的所述周围对象的更新位置在所述虚拟环境的显示中的第二虚拟位置处显示所述周围对象的虚拟渲染包括:当所检测到的所述头戴式电子设备的移动的幅度小于先前定义的阈值时使所述周围对象的虚拟渲染维持在所述虚拟环境的虚拟显示中的所述第一虚拟位置处。
示例12:一种实现在非暂时性计算机可读介质上的计算机程序产品,所述计算机可读介质上存储有指令序列,所述指令序列在由处理器执行时使所述处理器执行一种方法,所述方法包括:在操作于周围环境中的头戴式电子设备的显示器上显示虚拟环境;检测所述周围环境中的手持电子设备,所述手持电子设备在所述周围环境中操作,并且所述手持电子设备操作地耦合到所述头戴式电子设备;检测所述周围环境中的所述手持电子设备的第一周围位置;在所述虚拟环境的显示中的第一虚拟位置处显示所述手持电子设备的虚拟渲染,所述第一虚拟位置与所检测到的所述周围环境中的所述手持电子设备的第一周围位置相对应;检测从所述头戴式电子设备的第一位置到所述头戴式电子设备的第二位置的所述头戴式电子设备的移动;基于所检测到的所述头戴式电子设备的移动来更新所述周围环境中的所述手持电子设备的位置;以及基于所述周围环境中的所述手持电子设备的更新位置在所述虚拟环境的显示中的第二虚拟位置处显示所述手持电子设备的虚拟渲染。
示例13:根据示例12所述的计算机程序产品,检测所述头戴式电子设备的移动并且基于所检测到的所述头戴式电子设备的移动来更新所述周围环境中的所述手持电子设备的位置包括:检测所述头戴式电子设备相对于所述周围环境中的固定坐标系统的位置;检测所述手持电子设备相对于所述周围环境中的所述固定坐标系统的位置;以及将所检测到的所述手持电子设备相对于所述周围环境中的所述固定坐标系统的位置转换成所述手持电子设备相对于所述头戴式电子设备的坐标系统的转换位置。
示例14:根据示例13的计算机程序产品,基于所检测到的所述头戴式电子设备的移动来更新所述周围环境中的所述手持电子设备的位置也包括:检测所检测到的所述头戴式电子设备的移动的幅度;以及将所述手持电子设备的周围位置更新到第二周围位置,使得所述手持电子设备相对于所述头戴式电子设备的第二位置的第二周围位置与所述手持电子设备相对于所述头戴式电子设备的第一位置的第一周围位置相同。
示例15:根据示例14所述的计算机程序产品,检测所述周围环境中的手持电子设备包括从所述手持电子设备接收传感器数据,所述传感器数据包括来自所述手持电子设备的陀螺仪或加速度计中的至少一个的数据,并且基于所检测到的所述头戴式电子设备的移动来更新所述周围环境中的所述手持电子设备的位置也包括:基于从所述手持电子设备接收到的所述传感器数据来检测所述周围环境中的所述手持电子设备的移动;以及基于所检测到的所述手持电子设备的移动来确定所述周围环境中的所述手持电子设备的第二周围位置。
示例16:根据示例15所述的计算机程序产品,基于所检测到的所述头戴式电子设备的移动来更新所述周围环境中的所述手持电子设备的位置也包括:从所述头戴式电子设备接收传感器数据;将从所述头戴式电子设备接收到的所述传感器数据与从所述手持电子设备接收到的所述传感器数据合成;基于经合成的传感器数据来检测所述手持电子设备相对于所述头戴式电子设备的位置;以及重复所述接收、合成和检测以基本上实时地更新所述手持电子设备相对于所述头戴式电子设备的位置。
示例17:根据示例16所述的计算机程序产品,所述方法还包括:使所述手持电子设备的时钟与所述头戴式电子设备的时钟同步,并且将从所述头戴式电子设备接收到的所述传感器数据与从所述周围对象接收到的所述传感器数据合成包括:将从所述头戴式电子设备接收到的加时间戳的传感器数据与从所述手持电子设备接收到的加时间戳的传感器数据合成以在相应的时间点更新所述手持电子设备相对于所述头戴式电子设备的位置。
示例18:根据示例13至17中的一个所述的计算机程序产品,基于所述周围环境中的所述手持电子设备的更新位置在所述虚拟环境的显示中的第二虚拟位置处显示所述手持电子设备的虚拟渲染包括:当所检测到的所述头戴式电子设备的移动的幅度大于或等于先前定义的阈值时在所述虚拟环境的虚拟显示中的所述第二虚拟位置处显示所述手持电子设备的虚拟渲染,所述虚拟显示中的所述第二虚拟位置与所述周围环境中的所述第二周围位置相对应。
示例19:根据示例13至18中的一个所述的计算机程序产品,基于所述周围环境中的所述手持电子设备的更新位置在所述虚拟环境的显示中的第二虚拟位置处显示所述手持电子设备的虚拟渲染包括:当所检测到的所述头戴式电子设备的移动的幅度小于先前定义的阈值时使所述手持电子设备的虚拟渲染维持在所述虚拟环境的虚拟显示中的所述第一虚拟位置处。
示例20:一种计算设备,包括:存储器,所述存储器存储可执行指令;以及处理器,所述处理器被配置成执行所述指令,以使所述计算设备:在操作于周围环境中的头戴式电子设备的显示器上显示虚拟环境;检测所述周围环境中的手持电子设备,所述手持电子设备在所述周围环境中操作,并且所述手持电子设备操作地耦合到所述头戴式电子设备;检测所述周围环境中的所述手持电子设备的第一周围位置;在所述虚拟环境的显示中的第一虚拟位置处显示所述手持电子设备的虚拟渲染,所述第一虚拟位置与所检测到的所述周围环境中的所述手持电子设备的第一周围位置相对应;检测所述头戴式电子设备的移动;基于所检测到的所述头戴式电子设备的移动以及从所述手持电子设备和所述头戴式电子设备接收到的传感器数据来更新所述周围环境中的所述手持电子设备的位置;当所检测到的移动的幅度小于先前定义的阈值时在所述虚拟环境的显示中的所述第一虚拟位置处显示所述手持电子设备的虚拟渲染;以及当所检测到的移动的幅度大于或等于所述先前定义的阈值时在所述虚拟环境的显示中的第二虚拟位置处显示所述手持电子设备的虚拟渲染。
另一示例涉及一种用于相对于头戴式参考系跟踪周围环境中的对象的系统可以允许周围对象响应于头部移动而在与其在周围环境中的位置相对应的虚拟位置处被渲染在虚拟显示中,其中,系统可以检测头戴式设备相对于周围环境中的固定参考系的位置,并且可以检测周围对象相对于周围环境中的固定参考系的位置,并且其中,系统然后可以将所检测到的周围对象的位置转换到头戴式设备的参考系或者转换到头戴式参考系,以确定周围对象相对于头戴式设备的位置。其中,这个重新确定的位置可以被渲染在由头戴式设备生成的虚拟显示中。
此外,图中描绘的逻辑流程不要求所示特定次序或顺序次序来实现所希望的结果。此外,可以提供其它步骤,或者可以从所描述的流程中消除步骤,并且可以将其它组件添加到所描述的系统,或可以从所描述的系统中移除其它组件。因此,其它实施例在以下权利要求的范围内。
虽然已经像在本文中所描述的那样图示了所描述的实施方式的某些特征,但是本领域的技术人员现在将想到许多修改、替换、变化和等同物。因此应当理解的是,所附权利要求旨在涵盖如落入实施方式的范围内的所有此类修改和变化。应该理解的是,它们仅作为示例而非限制被呈现,并且可以做出形式和细节上的各种变化。除了互斥组合之外,可以按照任何组合来组合本文中所描述的装置和/或方法的任何部分。本文中所描述的实施方式可包括所描述的不同实施方式的功能、组件和/或特征的各种组合和/或子组合。
Claims (20)
1.一种计算机实现的方法,包括:
在头戴式电子设备的显示器上显示虚拟环境,所述头戴式电子设备在周围环境中操作;
检测所述周围环境中的周围对象;
检测所述周围环境中的所述周围对象的第一周围位置;
在所述虚拟环境的显示中的第一虚拟位置处显示所述周围对象的虚拟渲染,所述第一虚拟位置与所检测到的所述周围环境中的所述周围对象的第一周围位置相对应;
检测从所述头戴式电子设备的第一位置到所述头戴式电子设备的第二位置的所述头戴式电子设备的移动;
基于所检测到的所述头戴式电子设备的移动来更新所述周围环境中的所述周围对象的位置;以及
基于所述周围环境中的所述周围对象的更新位置在所述虚拟环境的显示中的第二虚拟位置处显示所述周围对象的所述虚拟渲染。
2.根据权利要求1所述的方法,检测所述头戴式电子设备的移动包括检测所述头戴式电子设备的位置或定向中的至少一个中的变化,并且
基于所检测到的所述头戴式电子设备的移动来更新所述周围环境中的所述周围对象的位置包括:
检测所检测到的所述头戴式电子设备的移动的幅度;以及
当所检测到的所述头戴式电子设备的移动的幅度小于先前定义的阈值时使所述周围对象的所述虚拟渲染维持在所述虚拟环境的虚拟显示中的所述第一虚拟位置处。
3.根据权利要求1所述的方法,检测所述头戴式电子设备的移动包括:
检测所述头戴式电子设备的位置或定向中的至少一个中的变化,并且
基于所检测到的所述头戴式电子设备的移动来更新所述周围环境中的所述周围对象的位置包括:
检测所检测到的所述头戴式电子设备的移动的幅度;以及
将所述周围对象的所述周围位置更新到第二周围位置,使得所述周围对象相对于所述头戴式电子设备的所述第二位置的所述第二周围位置与所述周围对象相对于所述头戴式电子设备的第一位置的所述第一周围位置相同。
4.根据权利要求1所述的方法,更新所述周围环境中的所述周围对象的位置包括:
从所述周围对象接收传感器数据,所述传感器数据包括来自所述周围对象的陀螺仪或加速度计中的至少一个的数据;
基于所接收到的传感器数据来检测所述周围环境中的所述周围对象的移动;以及
基于所检测到的所述周围对象的移动来确定所述周围环境中的所述周围对象的第二周围位置。
5.根据权利要求1所述的方法,检测所述头戴式电子设备的移动并且基于所检测到的所述头戴式电子设备的移动来更新所述周围环境中的所述周围对象的位置包括:
检测所述头戴式电子设备相对于所述周围环境中的固定坐标系统的位置;
检测所述周围对象相对于所述周围环境中的所述固定坐标系统的位置;以及
将所检测到的所述周围对象相对于所述周围环境中的所述固定坐标系统的位置转换成所述周围对象相对于所述头戴式电子设备的坐标系统的转换位置。
6.根据权利要求5所述的方法,基于所检测到的所述头戴式电子设备的移动来更新所述周围环境中的所述周围对象的位置还包括:
检测所检测到的所述头戴式电子设备的移动的幅度;以及
将所述周围对象的所述周围位置更新到第二周围位置,使得所述周围对象相对于所述头戴式电子设备的所述第二位置的所述第二周围位置与所述周围对象相对于所述头戴式电子设备的第一位置的所述第一周围位置相同。
7.根据权利要求6所述的方法,检测所述周围环境中的周围对象包括从所述周围对象接收传感器数据,所述传感器数据包括来自所述周围对象的陀螺仪或加速度计中的至少一个的数据,并且
基于所检测到的所述头戴式电子设备的移动来更新所述周围环境中的所述周围对象的位置还包括:
基于从所述周围对象接收到的所述传感器数据来检测所述周围环境中的所述周围对象的移动;以及
基于所检测到的所述周围对象的移动来确定所述周围环境中的所述周围对象的所述第二周围位置。
8.根据权利要求7所述的方法,基于所检测到的所述头戴式电子设备的移动来更新所述周围环境中的所述周围对象的位置还包括:
从所述头戴式电子设备接收传感器数据;
将从所述头戴式电子设备接收到的所述传感器数据与从所述周围对象接收到的所述传感器数据合成;
基于经合成的传感器数据来检测所述周围对象相对于所述头戴式电子设备的位置;以及
重复所述接收、合成和检测以基本上实时地更新所述周围对象相对于所述头戴式电子设备的位置。
9.根据权利要求8所述的方法,其中,所述周围对象是操作地耦合到所述头戴式电子设备的手持电子设备,所述方法进一步包括:
使所述手持电子设备的时钟与所述头戴式电子设备的时钟同步,并且
将从所述头戴式电子设备接收到的所述传感器数据与从所述周围对象接收到的所述传感器数据合成包括将从所述头戴式电子设备接收到的加时间戳的传感器数据与从所述手持电子设备接收到的加时间戳的传感器数据合成以在相应的时间点更新所述手持电子设备相对于所述头戴式电子设备的位置。
10.根据权利要求6所述的方法,基于所述周围环境中的所述周围对象的更新位置在所述虚拟环境的显示中的第二虚拟位置处显示所述周围对象的所述虚拟渲染包括:
当所检测到的所述头戴式电子设备的移动的幅度大于或等于先前定义的阈值时在所述虚拟环境的虚拟显示中的所述第二虚拟位置处显示所述周围对象的所述虚拟渲染,所述虚拟显示中的所述第二虚拟位置与所述周围环境中的所述第二周围位置相对应。
11.根据权利要求6所述的方法,基于所述周围环境中的所述周围对象的更新位置在所述虚拟环境的显示中的第二虚拟位置处显示所述周围对象的所述虚拟渲染包括:
当所检测到的所述头戴式电子设备的移动的幅度小于先前定义的阈值时使所述周围对象的所述虚拟渲染维持在所述虚拟环境的虚拟显示中的所述第一虚拟位置处。
12.一种实现在非暂时性计算机可读介质上的计算机程序产品,所述计算机可读介质上存储有指令序列,所述指令序列在由处理器执行时使所述处理器执行一种方法,所述方法包括:
在操作于周围环境中的头戴式电子设备的显示器上显示虚拟环境;
检测所述周围环境中的手持电子设备,所述手持电子设备在所述周围环境中操作,并且所述手持电子设备操作地耦合到所述头戴式电子设备;
检测所述周围环境中的所述手持电子设备的第一周围位置;
在所述虚拟环境的显示中的第一虚拟位置处显示所述手持电子设备的虚拟渲染,所述第一虚拟位置与所检测到的所述周围环境中的所述手持电子设备的第一周围位置相对应;
检测从所述头戴式电子设备的第一位置到所述头戴式电子设备的第二位置的所述头戴式电子设备的移动;
基于所检测到的所述头戴式电子设备的移动来更新所述周围环境中的所述手持电子设备的位置;以及
基于所述周围环境中的所述手持电子设备的更新位置在所述虚拟环境的显示中的第二虚拟位置处显示所述手持电子设备的所述虚拟渲染。
13.根据权利要求12所述的计算机程序产品,检测所述头戴式电子设备的移动并且基于所检测到的所述头戴式电子设备的移动来更新所述周围环境中的所述手持电子设备的位置包括:
检测所述头戴式电子设备相对于所述周围环境中的固定坐标系统的位置;
检测所述手持电子设备相对于所述周围环境中的所述固定坐标系统的位置;以及
将所检测到的所述手持电子设备相对于所述周围环境中的所述固定坐标系统的位置转换成所述手持电子设备相对于所述头戴式电子设备的坐标系统的转换位置。
14.根据权利要求13的计算机程序产品,基于所检测到的所述头戴式电子设备的移动来更新所述周围环境中的所述手持电子设备的位置还包括:
检测所检测到的所述头戴式电子设备的移动的幅度;以及
将所述手持电子设备的所述周围位置更新到第二周围位置,使得所述手持电子设备相对于所述头戴式电子设备的所述第二位置的第二周围位置与所述手持电子设备相对于所述头戴式电子设备的第一位置的所述第一周围位置相同。
15.根据权利要求14所述的计算机程序产品,检测所述周围环境中的手持电子设备包括从所述手持电子设备接收传感器数据,所述传感器数据包括来自所述手持电子设备的陀螺仪或加速度计中的至少一个的数据,并且
基于所检测到的所述头戴式电子设备的移动来更新所述周围环境中的所述手持电子设备的位置还包括:
基于从所述手持电子设备接收到的所述传感器数据来检测所述周围环境中的所述手持电子设备的移动;以及
基于所检测到的所述手持电子设备的移动来确定所述周围环境中的所述手持电子设备的所述第二周围位置。
16.根据权利要求15所述的计算机程序产品,基于所检测到的所述头戴式电子设备的移动来更新所述周围环境中的所述手持电子设备的位置还包括:
从所述头戴式电子设备接收传感器数据;
将从所述头戴式电子设备接收到的所述传感器数据与从所述手持电子设备接收到的所述传感器数据合成;
基于经合成的传感器数据来检测所述手持电子设备相对于所述头戴式电子设备的位置;以及
重复所述接收、合成和检测以基本上实时地更新所述手持电子设备相对于所述头戴式电子设备的位置。
17.根据权利要求16所述的计算机程序产品,所述方法进一步包括:
使所述手持电子设备的时钟与所述头戴式电子设备的时钟同步,并且
将从所述头戴式电子设备接收到的所述传感器数据与从所述周围对象接收到的所述传感器数据合成包括:
将从所述头戴式电子设备接收到的加时间戳的传感器数据与从所述手持电子设备接收到的加时间戳的传感器数据合成以在相应的时间点更新所述手持电子设备相对于所述头戴式电子设备的位置。
18.根据权利要求13所述的计算机程序产品,基于所述周围环境中的所述手持电子设备的更新位置在所述虚拟环境的显示中的第二虚拟位置处显示所述手持电子设备的所述虚拟渲染包括:
当所检测到的所述头戴式电子设备的移动的幅度大于或等于先前定义的阈值时在所述虚拟环境的虚拟显示中的所述第二虚拟位置处显示所述手持电子设备的所述虚拟渲染,所述虚拟显示中的所述第二虚拟位置与所述周围环境中的所述第二周围位置相对应。
19.根据权利要求13所述的计算机程序产品,基于所述周围环境中的所述手持电子设备的更新位置在所述虚拟环境的显示中的第二虚拟位置处显示所述手持电子设备的所述虚拟渲染包括:
当所检测到的所述头戴式电子设备的移动的幅度小于先前定义的阈值时使所述手持电子设备的所述虚拟渲染维持在所述虚拟环境的所述虚拟显示中的所述第一虚拟位置处。
20.一种计算设备,包括:
存储器,所述存储器存储可执行指令;以及
处理器,所述处理器被配置成执行所述指令,以使所述计算设备:
在操作于周围环境中的头戴式电子设备的显示器上显示虚拟环境;
检测所述周围环境中的手持电子设备,所述手持电子设备在所述周围环境中操作,并且所述手持电子设备操作地耦合到所述头戴式电子设备;
检测所述周围环境中的所述手持电子设备的第一周围位置;
在所述虚拟环境的显示中的第一虚拟位置处显示所述手持电子设备的虚拟渲染,所述第一虚拟位置与所检测到的所述周围环境中的所述手持电子设备的第一周围位置相对应;
检测所述头戴式电子设备的移动;
基于所检测到的所述头戴式电子设备的移动以及从所述手持电子设备和所述头戴式电子设备接收到的传感器数据来更新所述周围环境中的所述手持电子设备的位置;
当所检测到的移动的幅度小于先前定义的阈值时在所述虚拟环境的所述显示中的所述第一虚拟位置处显示所述手持电子设备的所述虚拟渲染;以及
当所检测到的移动的所述幅度大于或等于所述先前定义的阈值时在所述虚拟环境的所述显示中的第二虚拟位置处显示所述手持电子设备的所述虚拟渲染。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201662337465P | 2016-05-17 | 2016-05-17 | |
US62/337,465 | 2016-05-17 | ||
US15/386,926 | 2016-12-21 | ||
US15/386,926 US10365712B2 (en) | 2016-05-17 | 2016-12-21 | Object tracking in a head mounted reference frame in an augmented and/or virtual reality environment |
PCT/US2016/068236 WO2017200580A1 (en) | 2016-05-17 | 2016-12-22 | Object tracking in a head mounted reference frame for an augmented or virtual reality environment |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109074149A true CN109074149A (zh) | 2018-12-21 |
CN109074149B CN109074149B (zh) | 2021-08-17 |
Family
ID=57799847
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201680083613.3A Active CN109074149B (zh) | 2016-05-17 | 2016-12-22 | 用于增强或虚拟现实环境的头戴式参考系中的对象跟踪 |
Country Status (4)
Country | Link |
---|---|
US (1) | US10365712B2 (zh) |
EP (1) | EP3458934B1 (zh) |
CN (1) | CN109074149B (zh) |
WO (1) | WO2017200580A1 (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109633632A (zh) * | 2018-12-26 | 2019-04-16 | 青岛小鸟看看科技有限公司 | 一种头戴显示设备,手柄及其定位追踪方法 |
CN111782064A (zh) * | 2020-06-15 | 2020-10-16 | 光感(上海)科技有限公司 | 一种运动式无线定位的6dof追踪系统 |
WO2021098358A1 (zh) * | 2019-11-21 | 2021-05-27 | 青岛小鸟看看科技有限公司 | 一种虚拟现实系统 |
CN113687590A (zh) * | 2021-08-10 | 2021-11-23 | 青岛小鸟看看科技有限公司 | Vr系统中头戴与手柄的时间同步方法、系统 |
CN114115521A (zh) * | 2020-09-01 | 2022-03-01 | 宏达国际电子股份有限公司 | 追踪方法与追踪系统 |
US11443540B2 (en) | 2018-02-07 | 2022-09-13 | Sony Corporation | Information processing apparatus and information processing method |
CN111782064B (zh) * | 2020-06-15 | 2024-06-21 | 光感(上海)科技有限公司 | 一种运动式无线定位的6dof追踪系统 |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2018107603A (ja) * | 2016-12-26 | 2018-07-05 | オリンパス株式会社 | センサ情報取得装置、センサ情報取得方法、センサ情報取得プログラム及び医療器具 |
US11303814B2 (en) * | 2017-11-09 | 2022-04-12 | Qualcomm Incorporated | Systems and methods for controlling a field of view |
DE102018201661A1 (de) * | 2018-02-05 | 2019-08-08 | Audi Ag | Verfahren zum Überlagern eines virtuellen graphischen Objekts über eine reale Umgebung mittels einer AR-Anzeigeeinrichtung für Augmented-Reality sowie Kraftfahrzeug |
IL276254B1 (en) * | 2018-02-06 | 2024-05-01 | Magic Leap Inc | Systems and methods for augmented reality |
US11100713B2 (en) * | 2018-08-17 | 2021-08-24 | Disney Enterprises, Inc. | System and method for aligning virtual objects on peripheral devices in low-cost augmented reality/virtual reality slip-in systems |
EP3891584B1 (en) * | 2019-01-22 | 2023-08-30 | Hewlett-Packard Development Company, L.P. | Mixed reality presentation |
US11315326B2 (en) * | 2019-10-15 | 2022-04-26 | At&T Intellectual Property I, L.P. | Extended reality anchor caching based on viewport prediction |
EP4070150A4 (en) * | 2019-12-06 | 2023-12-06 | Magic Leap, Inc. | DYNAMIC BROWSER STAGE |
WO2024123041A1 (ko) * | 2022-12-06 | 2024-06-13 | 삼성전자 주식회사 | 웨어러블 장치의 움직임에 따라 가상 객체의 표시 상태를 조정하는 웨어러블 장치 및 그 제어 방법 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140176591A1 (en) * | 2012-12-26 | 2014-06-26 | Georg Klein | Low-latency fusing of color image data |
US20140354515A1 (en) * | 2013-05-30 | 2014-12-04 | Oculus Vr, Llc | Perception based predictive tracking for head mounted displays |
US20150091780A1 (en) * | 2013-10-02 | 2015-04-02 | Philip Scott Lyren | Wearable Electronic Device |
CN104915979A (zh) * | 2014-03-10 | 2015-09-16 | 苏州天魂网络科技有限公司 | 跨移动平台实现沉浸式虚拟现实的系统 |
US20160117864A1 (en) * | 2011-11-11 | 2016-04-28 | Microsoft Technology Licensing, Llc | Recalibration of a flexible mixed reality device |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB1489758A (en) | 1974-10-16 | 1977-10-26 | Redifon Ltd | Visual display apparatus |
US20110250962A1 (en) | 2010-04-09 | 2011-10-13 | Feiner Steven K | System and method for a 3d computer game with true vector of gravity |
KR20230113418A (ko) | 2013-03-15 | 2023-07-28 | 매직 립, 인코포레이티드 | 디스플레이 시스템 및 방법 |
US9824498B2 (en) | 2014-12-30 | 2017-11-21 | Sony Interactive Entertainment Inc. | Scanning display system in head-mounted display for virtual reality |
-
2016
- 2016-12-21 US US15/386,926 patent/US10365712B2/en active Active
- 2016-12-22 EP EP16826569.2A patent/EP3458934B1/en active Active
- 2016-12-22 CN CN201680083613.3A patent/CN109074149B/zh active Active
- 2016-12-22 WO PCT/US2016/068236 patent/WO2017200580A1/en unknown
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160117864A1 (en) * | 2011-11-11 | 2016-04-28 | Microsoft Technology Licensing, Llc | Recalibration of a flexible mixed reality device |
US20140176591A1 (en) * | 2012-12-26 | 2014-06-26 | Georg Klein | Low-latency fusing of color image data |
US20140354515A1 (en) * | 2013-05-30 | 2014-12-04 | Oculus Vr, Llc | Perception based predictive tracking for head mounted displays |
US20150091780A1 (en) * | 2013-10-02 | 2015-04-02 | Philip Scott Lyren | Wearable Electronic Device |
CN104915979A (zh) * | 2014-03-10 | 2015-09-16 | 苏州天魂网络科技有限公司 | 跨移动平台实现沉浸式虚拟现实的系统 |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11443540B2 (en) | 2018-02-07 | 2022-09-13 | Sony Corporation | Information processing apparatus and information processing method |
CN109633632A (zh) * | 2018-12-26 | 2019-04-16 | 青岛小鸟看看科技有限公司 | 一种头戴显示设备,手柄及其定位追踪方法 |
CN109633632B (zh) * | 2018-12-26 | 2021-11-30 | 青岛小鸟看看科技有限公司 | 一种头戴显示设备,手柄及其定位追踪方法 |
WO2021098358A1 (zh) * | 2019-11-21 | 2021-05-27 | 青岛小鸟看看科技有限公司 | 一种虚拟现实系统 |
CN111782064A (zh) * | 2020-06-15 | 2020-10-16 | 光感(上海)科技有限公司 | 一种运动式无线定位的6dof追踪系统 |
CN111782064B (zh) * | 2020-06-15 | 2024-06-21 | 光感(上海)科技有限公司 | 一种运动式无线定位的6dof追踪系统 |
CN114115521A (zh) * | 2020-09-01 | 2022-03-01 | 宏达国际电子股份有限公司 | 追踪方法与追踪系统 |
CN114115521B (zh) * | 2020-09-01 | 2023-08-29 | 宏达国际电子股份有限公司 | 追踪方法与追踪系统 |
CN113687590A (zh) * | 2021-08-10 | 2021-11-23 | 青岛小鸟看看科技有限公司 | Vr系统中头戴与手柄的时间同步方法、系统 |
US11894917B2 (en) | 2021-08-10 | 2024-02-06 | Qingdao Pico Technology Co., Ltd. | Method and apparatus for time synchronization between head-mounted device and peripheral device |
Also Published As
Publication number | Publication date |
---|---|
WO2017200580A1 (en) | 2017-11-23 |
US10365712B2 (en) | 2019-07-30 |
CN109074149B (zh) | 2021-08-17 |
EP3458934B1 (en) | 2020-09-23 |
US20170336862A1 (en) | 2017-11-23 |
EP3458934A1 (en) | 2019-03-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109074149A (zh) | 用于增强或虚拟现实环境的头戴式参考系中的对象跟踪 | |
CN109643159B (zh) | 在增强和/或虚拟现实环境中利用六自由度控制器操纵虚拟对象 | |
CN107667328B (zh) | 用于在增强和/或虚拟现实环境中跟踪手持设备的系统 | |
US10083544B2 (en) | System for tracking a handheld device in virtual reality | |
US11181986B2 (en) | Context-sensitive hand interaction | |
US10353478B2 (en) | Hover touch input compensation in augmented and/or virtual reality | |
CN109891367A (zh) | 在增强和/或虚拟现实环境中使用手势生成虚拟符号表面 | |
CN108604119A (zh) | 在增强和/或虚拟现实环境中的虚拟项的共享 | |
US10685485B2 (en) | Navigation in augmented reality environment | |
CN113348428A (zh) | 虚拟对象显示装置以及虚拟对象显示方法 | |
CN109716395B (zh) | 在虚拟现实中保持对象稳定性 | |
CN114868099A (zh) | 抗滑移注视跟踪用户界面 | |
CN113243000A (zh) | 用于增强现实对象的捕捉范围 | |
US20180268590A1 (en) | Held object stabilization in virtual reality |
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 |