CN114402589A - 用于2d和3d图形用户界面中的元素映射的智能触笔光束和辅助概率输入 - Google Patents
用于2d和3d图形用户界面中的元素映射的智能触笔光束和辅助概率输入 Download PDFInfo
- Publication number
- CN114402589A CN114402589A CN202080062082.6A CN202080062082A CN114402589A CN 114402589 A CN114402589 A CN 114402589A CN 202080062082 A CN202080062082 A CN 202080062082A CN 114402589 A CN114402589 A CN 114402589A
- Authority
- CN
- China
- Prior art keywords
- user
- virtual
- user input
- input device
- display
- 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
- 238000013507 mapping Methods 0.000 title description 6
- 238000005266 casting Methods 0.000 claims abstract description 118
- 238000000034 method Methods 0.000 claims abstract description 72
- 230000004044 response Effects 0.000 claims abstract description 28
- 238000003860 storage Methods 0.000 claims description 40
- 238000004891 communication Methods 0.000 claims description 28
- 238000005094 computer simulation Methods 0.000 claims description 21
- 230000008569 process Effects 0.000 claims description 15
- 238000009877 rendering Methods 0.000 claims description 15
- 238000013528 artificial neural network Methods 0.000 claims description 9
- 238000005516 engineering process Methods 0.000 claims description 7
- 238000012549 training Methods 0.000 claims description 5
- 230000004438 eyesight Effects 0.000 claims description 4
- 230000001965 increasing effect Effects 0.000 claims description 4
- 238000003066 decision tree Methods 0.000 claims description 3
- 239000000203 mixture Substances 0.000 claims description 3
- 230000000306 recurrent effect Effects 0.000 claims description 3
- 238000012821 model calculation Methods 0.000 claims 2
- 238000004364 calculation method Methods 0.000 claims 1
- 238000012544 monitoring process Methods 0.000 claims 1
- 210000003128 head Anatomy 0.000 description 32
- 239000002609 medium Substances 0.000 description 32
- 239000011521 glass Substances 0.000 description 29
- 241001422033 Thestylus Species 0.000 description 27
- 239000013598 vector Substances 0.000 description 27
- 239000004973 liquid crystal related substance Substances 0.000 description 22
- 230000010287 polarization Effects 0.000 description 21
- 238000012545 processing Methods 0.000 description 21
- 230000006870 function Effects 0.000 description 15
- 230000003993 interaction Effects 0.000 description 12
- 230000000694 effects Effects 0.000 description 11
- 230000000007 visual effect Effects 0.000 description 11
- 230000008859 change Effects 0.000 description 10
- 238000010586 diagram Methods 0.000 description 10
- 230000033001 locomotion Effects 0.000 description 10
- 230000009471 action Effects 0.000 description 8
- 230000003287 optical effect Effects 0.000 description 8
- 230000002093 peripheral effect Effects 0.000 description 8
- 238000013459 approach Methods 0.000 description 7
- 230000005540 biological transmission Effects 0.000 description 7
- 238000000926 separation method Methods 0.000 description 7
- 241001465754 Metazoa Species 0.000 description 5
- 230000005684 electric field Effects 0.000 description 5
- 238000003032 molecular docking Methods 0.000 description 5
- 239000004988 Nematic liquid crystal Substances 0.000 description 4
- 230000004913 activation Effects 0.000 description 4
- 230000008878 coupling Effects 0.000 description 4
- 238000010168 coupling process Methods 0.000 description 4
- 238000005859 coupling reaction Methods 0.000 description 4
- 239000000463 material Substances 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 238000013519 translation Methods 0.000 description 4
- 230000014616 translation Effects 0.000 description 4
- 230000006399 behavior Effects 0.000 description 3
- 230000010267 cellular communication Effects 0.000 description 3
- 210000002858 crystal cell Anatomy 0.000 description 3
- 238000001514 detection method Methods 0.000 description 3
- 230000002708 enhancing effect Effects 0.000 description 3
- 238000001914 filtration Methods 0.000 description 3
- 238000012913 prioritisation Methods 0.000 description 3
- 238000001228 spectrum Methods 0.000 description 3
- 238000007476 Maximum Likelihood Methods 0.000 description 2
- 239000008186 active pharmaceutical agent Substances 0.000 description 2
- 238000003491 array Methods 0.000 description 2
- 238000005452 bending Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 239000003086 colorant Substances 0.000 description 2
- 230000000295 complement effect Effects 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 238000012790 confirmation Methods 0.000 description 2
- 230000001276 controlling effect Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000003384 imaging method Methods 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000036651 mood Effects 0.000 description 2
- 210000004180 plasmocyte Anatomy 0.000 description 2
- 230000004224 protection Effects 0.000 description 2
- 230000004043 responsiveness Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 238000011896 sensitive detection Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000007704 transition Effects 0.000 description 2
- 235000014653 Carica parviflora Nutrition 0.000 description 1
- 241000243321 Cnidaria Species 0.000 description 1
- 206010010305 Confusional state Diseases 0.000 description 1
- 241000700159 Rattus Species 0.000 description 1
- 206010044565 Tremor Diseases 0.000 description 1
- 230000004308 accommodation Effects 0.000 description 1
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000004397 blinking Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 239000013078 crystal Substances 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000000994 depressogenic effect Effects 0.000 description 1
- 230000001066 destructive effect Effects 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 230000005484 gravity Effects 0.000 description 1
- 210000004247 hand Anatomy 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- 239000007788 liquid Substances 0.000 description 1
- 238000007620 mathematical function Methods 0.000 description 1
- 230000003340 mental effect Effects 0.000 description 1
- 239000012120 mounting media Substances 0.000 description 1
- 210000003205 muscle Anatomy 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 230000003534 oscillatory effect Effects 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 229920001690 polydopamine Polymers 0.000 description 1
- 238000003825 pressing Methods 0.000 description 1
- 230000005855 radiation Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 239000004984 smart glass Substances 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 230000036962 time dependent Effects 0.000 description 1
- 238000002834 transmittance Methods 0.000 description 1
- 238000012800 visualization Methods 0.000 description 1
- 238000005406 washing Methods 0.000 description 1
- 210000000707 wrist Anatomy 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/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/0354—Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor with detection of 2D relative movements between the device, or an operating part thereof, and a plane or surface, e.g. 2D mice, trackballs, pens or pucks
- G06F3/03545—Pens or stylus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/06—Ray-tracing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/011—Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
- G06F3/013—Eye tracking input arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/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
- G06F3/0383—Signal control means within the pointing 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/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
- G06F3/0386—Control and interface arrangements therefor, e.g. drivers or device-embedded control circuitry for light pen
-
- 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
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0484—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
- G06F3/04842—Selection of displayed objects or displayed text elements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3877—Concurrent instruction execution, e.g. pipeline or look ahead using a slave processor, e.g. coprocessor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N7/00—Computing arrangements based on specific mathematical models
- G06N7/01—Probabilistic graphical models, e.g. probabilistic networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/005—General purpose rendering architectures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/10—Geometric effects
-
- 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
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2203/00—Indexing scheme relating to G06F3/00 - G06F3/048
- G06F2203/038—Indexing scheme relating to G06F3/038
- G06F2203/0381—Multimodal input, i.e. interface arrangements enabling the user to issue commands by simultaneous use of input devices of different nature, e.g. voice plus gesture on digitizer
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Human Computer Interaction (AREA)
- Computer Graphics (AREA)
- Computing Systems (AREA)
- Data Mining & Analysis (AREA)
- Artificial Intelligence (AREA)
- Mathematical Physics (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- Computer Hardware Design (AREA)
- Pure & Applied Mathematics (AREA)
- Computational Mathematics (AREA)
- Mathematical Optimization (AREA)
- Algebra (AREA)
- Probability & Statistics with Applications (AREA)
- Mathematical Analysis (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Medical Informatics (AREA)
- Processing Or Creating Images (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
本发明公开了实施用于用户选择虚拟场景中的虚拟对象的方法的系统和方法。用户输入可以经由用户输入装置接收。用户输入可以是尝试从显示系统的显示器上的虚拟场景中呈现的多个虚拟对象中选择一个虚拟对象。可以响应于第一用户输入来确定用户输入装置的位置和取向。用户输入可以选择每个虚拟对象的概率可以经由概率模型来计算。基于用户输入装置的位置和取向,可以执行射线投射过程和球体投射过程,以确定所选择的虚拟对象。在确定虚拟对象时还可以考虑选择的概率。可以从用户输入装置将虚拟光束渲染到虚拟对象。
Description
技术领域
本公开涉及数字显示器领域,并且更特别地涉及用于辅助确定用户在与虚拟场景交互时最可能意图选择的虚拟对象的方法和系统。
背景技术
三维(3D)显示(实际上是模拟3D,例如通过立体显示(SD)技术)越来越多地用于各种应用,包括例如远程观看、视频会议、视频协作等。
图1示出根据典型的现有技术实施例的现代显示链,其包括以下组件:
1.GPU——图形处理单元。该组件驻留在个人计算机、工作站或功能等效设备上,且针对所支持颜色模型的每种颜色或通道,例如,针对显示器上的每一像素的三种颜色,通常为红色(R)、绿色(G)和蓝色(B)中的每一种,输出视频电平。这些数字中的每一个通常是8位数,其范围为0至255,尽管其它范围也是可能的。
2.缩放器——该组件将从GPU输出的每个像素的视频电平(例如,R、G和B)作为输入,并以各种方式对其进行处理,然后输出(通常)经过修改的RGB视频电平,通常在0至255的相同8位范围。这个组件还可以将图像从输入分辨率缩放到显示器支持的不同渲染分辨率。
3.面板——该组件是显示器本身,通常为液晶显示器(LCD),尽管其它显示器也是可能的,并将从缩放器输出的每个像素的视频电平(例如,R、G和B)作为输入,并将视频电平转换为电压,然后传送到显示器上的每个像素。面板本身可以在将视频电平转换为电压之前修改视频电平。
视频链通常以两种方式修改视频电平,具体是伽马校正和过载。注意,上述功能通常在缩放器中实现,但有时至少部分地在视频链的其它装置或元件中实现,例如,在GPU或显示装置(面板)中实现。
时序立体显示器
与普通(即,单镜)显示器不同,在立体显示器中,每个视频帧有两个图像:右图像和左图像。右图像必须只传送给观察者的右眼,而左图像必须只传送给观察者的左眼。在时序立体显示器中,在时间上执行右图像和左图像的这种分离,即,顺序地呈现左图像和右图像,并且因此,左图像和右图像包含分离这两个图像的某个时间相关元素。立体显示器有两种常见的架构。
第一种架构使用称为偏振开关(PS)的装置,其可以是不同的(即,分离的)或集成的LC装置或其它技术开关,并且其位于LCD面板(或任何其它类型的成像面板,如OLED(有机发光二极管)面板、等离子体显示器等)或在时序立体成像系统中使用的任何其它像素化面板显示器的前面。具体地,PS开关可以放置在显示面板和观看者之间,如图2A所示。PS的目的是在两个正交偏振态之间切换从显示面板透射的光。例如,这些状态中的一种可以是水平线性偏振光(即,光可以处于水平线性偏振态),而另一种可以是垂直线性偏振光(即,光可以处于垂直线性偏振态);然而,其它选项也是可能的(例如,左右圆偏振态等)。允许PS将正确的图像传送到观看者的正确眼睛(即,左图像传送到左眼,且右图像传送到右眼)的关键特征是两个偏振态彼此正交。
这种架构允许实现现有技术图2B所示的立体效果。如图所示,该图的顶部示出了在左图像和右图像之间切换的(显示)面板。与面板切换同步,PS在左状态和右状态之间切换正在传输的光,如图所示。如上所述,这两个状态发射两个对应的正交偏振态。如图2B进一步所示,该系统包括立体眼镜,其被设计成使得左镜片将仅通过左态偏振而右镜片将仅通过右态偏振。这样,实现了左右图像的分离。
第二种传统架构使用立体快门眼镜,其取代(或集成)PS和眼镜的功能。在这样的系统中,每只眼睛由可以打开或关闭的光学快门覆盖。这些快门中的每一个与显示面板同步地在打开和关闭之间循环,使得当在显示器上示出左图像时,仅打开左眼快门,而当在显示器上示出右图像时,仅打开右眼快门。通过这种方式,左视图和右视图分别交替地呈现给用户的左眼和右眼。向用户的左眼和右眼交替呈现左视图和右视图产生视觉深度的感知。虚拟物体可以显示在这个创建的3D空间中,该空间存在于3D立体显示面板上方(即,负空间)和立体显示面板下方(即,正空间)。
液晶显示器(LCD)
液晶显示器(LCD)的一些优点包括重量更轻、功耗更低和辐射污染更少。LCD监视器已经广泛地应用于各种便携式信息产品(例如,如笔记本电脑、平板电脑、移动电话、PDA等的用户设备装置)。通常,在LCD监视器中,当液晶分子的排列发生改变时,入射光会产生不同的偏振或折射效果。液晶分子影响入射光的透射,因此从液晶分子发射的光的幅度不同。LCD监视器利用液晶分子的特性来控制对应的透光率,并根据红光、蓝光、绿光的不同幅度产生图像。
图2C示出了向列型结晶相1000的示意性图像。液晶材料没有像晶体那样对其分子质心进行位置长程排序。然而,液晶材料具有其分子沿着主轴方向的长程定向排序(在所谓的向列型液晶的最简单情况下),有效地允许分子沿着称为液晶指向矢的一个优选方向排列(参见图2C)
液晶分子或者具有永久偶极矩,或者当置于电场中时获得感应偶极矩。在这两种情况下,在电场中,液晶分子2000的特征在于某个偶极矩μ。这个偶极可以沿着分子的对称轴排列(这种材料据说具有正介电各向异性)或与其垂直(负介电各向异性)。分子中电荷的分离导致其在电场中旋转,直到其平行或垂直于外加场排列,这取决于材料的介电各向异性的符号。图2D描述了具有正介电各向异性的液晶分子的这种重新定向。
由于液态结晶相中的所有分子在电场作用下同时受到重新定向的影响,因此可以控制相的对称轴(指向矢)和通常液晶样品的光轴。
图2E示出在传统的基于扭转向列型液晶的偏振旋转器内的液晶分子的配置。选择向列型液晶以具有正介电各向异性。该图的左侧绘示了电压关闭,90度旋转状态。该图的右侧示出了电压开启,0度旋转状态。
根据液晶单元的类型以及液晶单元的光轴和偏振器的透射轴的相对取向,偏振旋转器可以以正常白色(NW)或正常黑色(NB)模式工作。这些模式由零或低电压状态下的光传输支配,即正常白色模式对应于零或低电压状态下的最大光传输,以及高电压状态下的最小传输;其与正常黑色模式相反。
扭曲向列型偏振旋转器通常以正常白色模式工作。在这种情况下,由于液晶单元的残余延迟的降低,较高的外加电压提高了正常白色模式的对比度。
如电控双折射(ECB)模式的其它类型的偏振旋转器可以在正常白色模式和正常黑色模式下工作。使用3D系统中的附加光学元件(如两个正交偏振器),相同的偏振旋转器可以在每一帧中以两种模式交替地工作。
发明内容
本文描述了实施用于用户选择虚拟场景中的虚拟对象的方法的系统的各种实施方案。在一些实施例中,一种系统可以包括一个或多个显示器和耦合到一个或多个显示器(或与其通信)的至少一个处理器。在一些实施例中,一个或多个显示器和至少一个处理器可以包含在头戴式显示系统中和/或与其通信。在一些实施例中,该系统可以包括通信地耦合到至少一个处理器的跟踪系统以及通信地耦合到至少一个处理器的存储器。在一些实施例中,跟踪系统可以包括一个或多个相机。至少一个处理器可被配置成执行或实施本文公开的技术的实施例。另外,一种实施本文公开的技术的实施例的方法可以在计算机系统上实施或作为程序指令存储在计算机可读存储介质上。在一些实施例中,计算机系统可以包含移动装置,如用户设备装置(UE)。
在一些实施方案中,可以例如经由用户输入装置接收用户输入。用户输入可以是尝试选择在显示系统的显示器上的虚拟场景中渲染的虚拟对象(例如,用户界面(UI)元素)。可以响应于第一用户输入来确定用户输入装置的位置和取向。基于用户输入装置的位置和取向,可以执行射线投射过程和球体投射过程,以确定所选择的虚拟对象。可以将射线投射过程和球体投射过程的结果进行比较。在一些实施方案中,当这些结果有区别时,射线投射结果相比球体投射结果可以被优先考虑。在一些实施方案中,当这些结果没有区别时,球体投射结果相比射线投射结果可以被优先考虑。可以基于该比较从用户输入装置将虚拟光束渲染到虚拟对象。在一些实施方案中,当使用射线投射结果时,虚拟光束可以是笔直的和刚性的。在一些实施方案中,当使用球体投射结果时,虚拟光束可以是非刚性的并且向虚拟对象弯曲。
在一些实施方案中,可以在显示系统上显示(例如,在显示系统的显示器的虚拟场景中渲染)一个或多个虚拟对象,并且可以确定对概率模型的多个输入。在一些实施方案中,对概率模型的多个输入可以包括以下项中的任一者、以下项的任何组合和/或全部:用户头部状态、用户眼睛状态、触笔状态、概率模型的先前输出、虚拟对象状态、用户属性,和/或来自装置的输出。可以经由概率模型来计算一个或多个概率,其可以包括用户意图选择一个或多个虚拟对象中的每个虚拟对象的概率。在一些实施方案中,可以先处理对概率模型的多个输入,之后再计算一个或多个概率。然后,响应于接收到指示选择一个或多个虚拟对象的用户输入,可以使用计算的一个或多个概率来确定预期虚拟对象。在一些实施方案中,可以记录显示器上与广告元素相对应的元素的选择概率。
本发明内容旨在提供对本文件中描述的一部分主题的简要概述。因此,应当理解,上述特征仅是实例,而不应被解释为以任何方式缩小本文描述主题的范围或精神。根据以下具体实施方式、附图和权利要求书,本文所描述主题的其它特征、方面和优点将变得显而易见。
附图说明
当结合以下附图考虑优选实施例的以下详细描述时,可以获得对本公开的更好的理解,其中:
图1绘示了根据实施方式的现代显示链。
图2A绘示了根据实现方式的利用偏振开关的架构的实例。
图2B示出根据实现方式的使用左视图和右视图之间的偏振切换的立体效果(模拟3D)的实例。
图2C绘示了根据实施方式的向列型结晶相的示意图的实例。
图2D绘示了根据实施方式的液晶分子在电场中的切换的示意图的实例。
图2E示出根据实施方式的传统的基于扭转向列型液晶的偏振旋转器内的液晶分子的配置的示意图的实例。
图3A和3B绘示了根据一些实施例配置的3D立体显示系统的实例。
图4绘示了根据一些实施例配置的用户设备装置的实例框图。
图5A和5B绘示了根据一些实施例配置的3D头戴式立体显示系统的实例。
图5C绘示了根据一些实施例配置的头戴式电子装置的实例框图。
图6绘示了根据一些实施例的用户输入装置的实例。
图7展示了根据一些实施方案的用户与显示系统交互的示例。
图8展示了根据一些实施方案的用于增强在3D(和/或2D)显示系统的用户界面中选择虚拟对象的容易性和准确性的方法的示例的框图。
图9A至图9C展示了对象选择的示例。
图10展示了根据一些实施方案的用于用户选择虚拟世界中的虚拟对象的方法的示例的流程图。
图11和图12展示了根据一些实施方案的对象选择的示例。
图13展示了根据一些实施方案的用于用户选择虚拟场景中的虚拟对象的方法的示例。
尽管本公开容许各种修改和替代形式,但是其具体实施方案在附图中以举例方式示出并且在本文中详细描述。然而,应当理解,附图和对其的详细描述并不旨在将本公开限制为所公开的特定形式,相反,其旨在覆盖落入由所附权利要求限定的本公开的精神和范围内的所有修改、等同物和替换物。
具体实施方式
术语
以下为本申请中使用的术语词汇表:
存储介质——各种类型的存储器装置或存储装置中的任何一种。术语“存储介质”旨在包括安装介质,例如,CD-ROM、软盘或磁带装置;计算机系统存储器或随机存取存储器,如DRAM、DDR RAM、SRAM、EDO RAM、Rambus RAM、EEPROM等;非易失性存储器,如闪存、磁介质,例如硬盘驱动器,或光存储器;寄存器或其它类似类型的存储器元件等。存储介质也可以包含其它类型的存储器或其组合。另外,存储介质可以位于执行程序的第一计算机中,或者可以位于通过诸如互联网之类的网络连接到第一计算机的不同的第二计算机中。在后一种情况下,第二计算机可以向第一计算机提供程序指令以供执行。术语“存储介质”可以包括可驻留在不同位置中(例如,在经由网络连接的不同计算机中)的两个或更多个存储介质。
载体介质——如上所述的存储介质,以及物理传输介质,如总线、网络和/或传送如电、电磁或数字信号等信号的其它物理传输介质。
计算机系统——各种类型的计算或处理系统中的任一种,包括个人计算机系统(PC)、大型计算机系统、工作站、网络设备、因特网设备、个人数字助理(PDA)、智能电话、电视系统、网格计算系统、平板电脑或其它装置或装置的组合。一般来说,术语“计算机系统”可广泛地定义为涵盖具有执行来自存储介质的指令的至少一个处理器的任何装置(或装置的组合)。
图形处理单元——指可驻留在个人计算机、工作站、服务器、图形服务器或等效设备上的组件,且针对所支持颜色模型的每种颜色或通道,例如,针对显示器上的每一像素的三种颜色,通常为红色(R)、绿色(G)和蓝色(B)中的每一种,输出视频电平。这些数字中的每一个通常是8位数,其范围为0至255,尽管其它范围也是可能的。
移动装置(或移动站)——各种类型的计算机系统装置中的人一种,其是移动的或便携式的且使用WLAN通信执行无线通信。移动装置的实例包括移动电话或智能电话(例如,iPhoneTM,基于AndroidTM的电话),以及如iPadTM、Samsung GalaxyTM等的平板计算机。如果各种其它类型的装置包括Wi-Fi或蜂窝和Wi-Fi通信能力,则它们将落入该类别中,如笔记本计算机(例如,MacBookTM)、便携式游戏装置(例如,Nintendo DSTM、PlayStationPortableTM、Gameboy AdvanceTM、iPhoneTM)、便携式因特网装置,以及其它手持装置,以及如智能手表、智能眼镜、耳机、吊坠、耳机等的可穿戴装置。通常,术语“移动装置”可以被广泛地定义为涵盖任何电子、计算和/或电信装置(或装置的组合),其易于由用户携带,并能够通过WLAN或Wi-Fi进行无线通信。
无线装置(或无线站)——使用WLAN通信执行无线通信的各种类型的计算机系统装置中的任一种。如本文所使用的,术语“无线装置”可以指如上的移动装置,或指如固定无线客户端或无线基站的固定装置。例如,无线装置可以是802.11系统的任何类型的无线站,如接入点(AP)或客户端站(STA或UE)。其它实例包括电视机、媒体播放器(例如,AppleTVTM、RokuTM、Amazon FireTVTM、Google ChromecastTM等)、冰箱、洗衣机、恒温器等。
WLAN——术语“WLAN”具有其普通含义的完整范围,并且至少包括由WLAN接入点提供服务并且通过这些接入点提供到因特网的连接的无线通信网络或RAT。大多数现代WLAN基于IEEE 802.11标准并以“Wi-Fi”的名称销售。WLAN网络不同于蜂窝网络。
处理元件(或功能单元)——指在计算机系统中执行功能的数字电路的各种实现。另外,处理元件可以指执行计算机或计算机系统中的功能的模拟或混合信号(模拟和数字的组合)电路的各种实现。处理元件包括例如诸如集成电路(IC)、ASIC(专用集成电路)之类的电路、各个处理器核心的部分或电路、整个处理器核心、各个处理器、如现场可编程门阵列(FPGA)之类的可编程硬件装置,和/或包括多个处理器的系统的较大部分。
耦合区域——指3D立体显示器的用户可以在人眼的自然景深内观看3D内容的物理体积。例如,当人看到物理世界中的物体时,他的眼睛会聚在或注视(单独瞄准)虚拟物体。另外,当两只眼睛会聚在虚拟物体上时,每只眼睛的晶状体也通过调节聚焦(单视)在虚拟物体上。在这个意义上,双眼聚焦和会聚在物体上,因此聚焦和会聚是“耦合的”。
视差——指3D立体显示器的左眼图像和右眼图像之间的差异。可以以至少两种方式来描述视差。首先,对于显示装置,即3D立体显示器,视差可以由被显示或渲染的图像或内容的对应位置之间的分离像素数来描述。换言之,左眼图像和右眼图像或内容之间的分离像素。替代地,或另外地,相对于用户的视点,视差可以通过被显示或渲染的图像或内容中的对应位置之间的角度分离度来描述,即左眼图像和右眼图像或内容之间的角度分离。
投影——指3D物体或内容在二维(2D)显示器上的显示。因此,投影可以被描述为应用于虚拟3D场景内的物体的数学函数,以确定可由3D立体显示器的大小和用户的视点定义的3D空间内的虚拟物体的虚拟位置。
视点——该术语具有其在计算机图形/相机领域中的普通含义的全部范围,并且指定位置和/或取向。例如,术语“视点”可以指单个视点(例如,对于单个眼睛)或一对视点(例如,对于一对眼睛)。因此,视点可以指来自单个眼睛的视图,或者可以指来自一对眼睛的两个视点。“单个视点”可指定视点仅指单个视点,而“成对视点”或“立体视点”可指定视点指两个视点(而不是一个)。在视点是用户的视点的情况下,该视点可被称为眼点(见下文)或“物理视点”。术语“虚拟视点”是指来自虚拟表示或3D场景内的视点。视点与“视角”(POV)同义。
(参见下文POV的定义。)
眼点——单眼或双眼的物理位置(和/或取向)。以上视点可对应于人的眼点。例如,人的眼点具有对应的视点。
视角(POV)——指或指定位置和取向。例如,POV可以是通常用户的视点或眼点,但也可以是如相机等光学装置的视点。POV通常是捕获两个或多个6自由度物体之间的关系的一种方法。在本技术的典型应用中,用户的一双眼睛或头部(视图)以任何X、Y、Z位置和/或俯仰、偏航、滚动取向定位到显示装置,例如监视器屏幕,其可以以任何X、Y、Z位置和/或俯仰,偏航,滚动取向具有其自己的位置。在这个实例中,POV可以被定义为用户视图相对于显示装置的定位/取向的位置/取向。POV确定可以由捕获系统识别。在本技术的典型应用中,一个或多个跟踪装置附接到显示装置,使得控制器知道跟踪系统在显示装置的上下文中跟踪什么,意味着附接到显示装置的跟踪系统可编程地知道显示装置的位置/取向以及显示装置的位置/取向的任何潜在变化。
跟踪系统(其中可以识别和跟踪用户的视图)可以识别用户视图的位置/取向,然后可以将该信息与跟踪系统对观看装置的位置/取向的识别相关联(同样,相对于显示装置)。
垂直透视——从基本上垂直于显示表面的视点渲染的透视效果。“基本上垂直”是指90度或其变化,如89或91度,85至95度,或不引起渲染场景的显著失真的任何变化。垂直透视可以是中心透视,例如具有单个(和中心)消失点。如本文所使用的,垂直透视可以应用于单个图像或立体图像。当相对于立体图像使用时(例如,根据垂直透视来呈现立体图像),立体图像的每个图像可以根据垂直透视来呈现,但是具有不同的单个视点。
水平或倾斜透视——从不垂直于显示表面的视点渲染的透视效果。更具体地,术语“水平透视”通常是指使用相对于对应视点成大致45度角的渲染平面来渲染的透视效果。该渲染可旨在用于可相对于站立视点水平定位(例如,平行于桌面或地板)的显示器。“大致45度”可指45度或其变化,如44度和46度,40度至50度,或可能导致渲染场景的最小失真的任何变化。如本文所使用的,水平透视可以应用于单个图像或立体图像。当相对于立体图像(例如,根据水平透视来呈现立体图像)使用时,立体图像的每个图像可以根据水平透视来呈现,但是具有不同的单个视点。
本技术的实施例中通常使用的水平透视图的另一概念涉及预期渲染图形到观看装置的投影。在确定了POV的情况下,水平透视引擎可以在3D空间中识别正确的图形平截头体,将观看装置的位置和取向考虑为定义平截头体的渲染平面,并且将用户的视图考虑为定义平截头体相对于渲染平面的相机点的位置和取向。然后,将所得投影渲染到用户将看到的观看装置上。
位置——物体(虚拟或真实)的位置或坐标。例如,位置可以包括定义空间内的x、y和z(即,位置)坐标。根据需要,位置可以是相对的或绝对的。例如,当定义视点的取向时,位置还可以包括偏航、俯仰和滚动信息。换言之,位置被广泛地定义以便涵盖关于位置和取向的信息。
无源指示笔——一种外围装置或元件,如手持装置、手持笔装置、手持定点装置、手、手指、手套或用于直接与渲染虚拟物体交互的任何物体,如在立体渲染虚拟投影物体中。
有源指示笔——一种外围装置或元件,其可提供附加能力以提高确定有源指示笔位置的准确度和精确度。这些能力可以包括加速度计、磁力计、陀螺仪、全球定位系统、罗盘和/或重力传感器中的一个或多个。实例包括手持装置、手持笔装置、手持定点装置,和/或包括这种能力并用于与立体渲染的虚拟投影物体中的渲染虚拟物体直接交互的任何物体。
类似的——如本文中关于几何形状所使用的,是指指示物体具有与另一物体的镜像相同的形状或一个物体具有与另一物体的镜像相同的形状的几何术语。换言之,如果一个物体可以通过均匀缩放(放大或缩小)物体而从另一个物体获得,则该物体被认为是类似的。另外,术语“类似的”或“类似的物体”意味着可以重新缩放、重新定位和反射任何一个物体,以便与另一个物体重合。因此,例如,如果第一物体在几何上类似于第二物体,即具有相同的形状但可能具有不同的大小,则可以均匀地缩放任一物体以获得另一物体的几何大小和形状。因此,可以均匀地缩放第一物体以获得第二物体,或者可以均匀地缩放第二物体以获得第一物体。注意,类似的定义仅指在几何形状的上下文中使用该词,并在其它上下文中保留其普通含义(例如,系统A类似于系统B意味着系统A与系统B相似而不等同于系统B)。
近似——指在某个指定公差内正确或精确的值。例如,近似可以是指在精确(或期望)值的1%至10%内的值。然而,应当注意,实际阈值(或公差)可能取决于应用。例如,在一个实施例中,“近似”可以表示在某个指定或期望值的0.1%内,而在各种其它实施例中,阈值可以是例如2%、3%、5%等,如特定应用所期望或所要求的。
接近——接近于;例如,接近可以意味着在某个指定距离内,或者在某个指定距离的一部分内。注意,接近的实际阈值通常取决于应用。因此,在各种应用中,接近可以是指在某参考点或物体的1mm、1英寸、1英尺、1米、1英里等之内,或者可以是指在距某参考点或物体的参考距离的1%、2%、5%、10%等之内。
大致——指近似术语。类似于术语“近似”,基本上是指某个容许范围。因此,如果部分A大致是水平的,则部分A可以是水平的(与垂直方向成90度),或者可以在水平的某个容许限度内。例如,在一种应用中,与垂直方向成89至91度的范围是可容许的,而在另一种应用中,与垂直方向成85至95度的范围是可容许的。此外,容许极限可能是片面的。因此,使用“部分A大致是水平的”的实例,可以容许部分A与垂直方向成60至90度的范围,但与垂直方向成不大于90度。替代地,部分A可容许在与垂直方向成90至120度的范围内,但与垂直方向成不小于90度。因此,容许限度以及因此通过使用该术语所引用的近似基本上可以是如特定应用所希望的或所要求的。
等同物——指在值、度量、功能、意义、效果、显著性、外观等方面与另一物体等同或对应的物体。例如,如果第一图像内的图像对应于第二图像内的图像,则第一图像可以等同于第二图像。另外,如果第一图像内的图像至少部分地对应于具有第二图像的图像,例如在某个可容许范围和/或限度内,则第一图像可大致上等同于第二图像。
并发——指并行执行或性能,其中任务、过程或程序以至少部分重叠的方式执行。例如,可以使用“强”或严格的并行性来实现并发性,其中任务在各自的计算元件上并行地执行(至少部分地),或者使用“弱并行性”来实现,其中任务以交错方式执行,例如通过执行线程的时间复用。
自动地-是指由计算机系统(例如,由计算机系统执行的软件)或设备(例如,电路、可编程硬件元件、ASIC等)执行的动作或操作,而无需直接指定或执行该动作或操作的用户输入。因此,术语“自动地”与用户手动执行或指定操作相反,其中用户提供输入以直接执行所述操作。可以通过由用户提供的输入来发起自动程序,但是“自动地”执行的后续动作不由用户指定,即,并非“手动地”执行,其中用户指定要执行的每个动作。例如,通过选择每一字段并提供输入指定信息(例如,通过键入信息,选择复选框,无线电选择等)来填写电子表单的用户正在手动地填写表单,即使计算机系统必须响应于用户动作而更新表单。表单可以由计算机系统自动地填写,其中计算机系统(例如,在计算机系统上执行的软件)分析表单的字段,并且在没有任何用户输入指定对字段的答案的情况下填写表单。如上文所指出,用户可调用表单的自动填写,但是不涉及表单的实际填写(例如,用户不手动地指定字段的答案,而是自动地完成答案)。本说明书提供响应于用户已经采取的动作而自动地执行的操作的各种实例。
包含——该术语是开放式的,并且意指“包括”。如所附权利要求中所使用的,该术语不排除附加的元件、结构或步骤。考虑引用的权利要求书:“一种系统,其包含显示器。。。”;该权利要求不排除系统包括附加组件(例如,电压源、光源等)。
被配置成——各种单元、电路或其它组件可被描述或声明为“被配置成”执行一个或多个任务。在此类上下文中,“被配置成”用于通过指示单元/电路/组件包括在操作期间执行这些任务的结构(例如,电路)来表示结构。因而,即使在指定单元/电路/组件当前不可操作(例如,未开启)时,单元/电路/组件也可被称为被配置成执行任务。与“被配置成”语言一起使用的单元/电路/组件包括硬件——例如,电路、存储可执行以实现操作的程序指令的存储器等。注意,单元/电路/组件被“被配置成”执行一个或多个任务并不明确地意图调用用于该单元/电路/组件的35U.S.C.§112(f)。另外,“被配置成”可以包括由软件和/或固件(例如,FPGA或执行软件的通用处理器)操纵的通用结构(例如,通用电路),以便以能够执行所讨论的任务的方式操作。
第一、第二等——这些术语被用作它们之前的名词的标记,并且不暗示任何类型的排序(例如,空间、时间、逻辑等)。例如,在具有多个跟踪传感器(例如,相机)的系统中,术语“第一”和“第二”传感器可用于指任何两个传感器。换言之,“第一”和“第二”传感器不限于逻辑传感器0和1。
基于——该术语用于描述影响确定的一个或多个因素。此术语不排除可能影响确定的另外因素。即,确定可以仅基于那些因素或者至少部分地基于那些因素。考虑短语“基于B确定A”。虽然B可能是影响A的确定的因素,但这种短语并不排除还基于C确定A。在其它情况下,可仅基于B来确定A。
本说明书可以包括对“一个实施例”或“实施例”的引用。短语“在一个实施例中”或“在实施例中”的出现不一定指同一实施例。特定的特征、结构或特性可以以与本公开一致的任何合适的方式组合。
图3至6示范性系统
图3A和3B绘示了被配置成实现下述技术的各种实施例的示范性系统。
在图3A的示例性实施方案中,计算机系统100A可以包括机箱110A、显示器150A和显示器150B(其可以统称为显示器150或“一个或多个显示器”150)、键盘120、鼠标125、用户输入装置130、眼镜140、至少两个相机160和Caddy 170。注意,在一些实施例中,可以不使用两个显示器150A和150B;相反,例如,可以使用单个显示器150。在各种实施例中,显示器150A和150B中的至少一个可以是立体显示器。例如,在一个实施例中,显示器150A和150B都可以是立体显示器。或者,在其它实施例中,单个显示器150可以是立体显示器。注意,立体显示器还可以被配置成显示二维(2D)物体,并且可以被配置成以2D模式操作。
机箱110A可包括各种计算机组件,如处理器、至少一个存储介质(例如,RAM、ROM、硬盘驱动器等)、图形电路、音频电路和用于执行如本文描述的那些计算机任务的其它电路。至少一个存储介质可以存储根据本发明的各种实施例的一个或多个计算机程序或软件组件。例如,存储介质可存储可执行以执行本文中描述的技术中的一些技术的一个或多个图形引擎。在某些实施例中,图形引擎可在功能单元或处理元件上实现或由功能单元或处理元件实现。如本文所使用的,并且如在以上术语部分中所指出的,术语功能单元或处理元件是指被配置成处理指令和/或数据的各种元件或元件的组合中的任一个。处理元件包含例如如ASIC(专用集成电路)之类的电路、单独的处理器核心的部分或电路、整个处理器核心、单独的处理器、诸如现场可编程门阵列(FPGA)之类的可编程硬件装置,和/或包含多个处理器的系统的较大部分,以及其任何组合。
存储介质(其可以包括两个或更多个存储介质)还可以存储表示虚拟空间的数据(和/或程序指令)(例如,实施或指定计算机模型),该数据可以用于经由显示器150投影虚拟空间的3D场景,诸如场景180。此外,存储介质可存储可执行以执行三维空间跟踪(例如,用户视图跟踪、用户控制跟踪等)、内容处理或其它特征的软件,如本文中所描述。例如,计算机系统可以包括跟踪系统,该跟踪系统可以跟踪用户的头部、用户的手或指示笔中的一个或多个。另外,存储介质可以存储操作系统软件以及用于计算机系统操作的其它软件。各种实施例还包括在载体介质上接收或存储根据上述描述实施的指令和/或数据。
如上所述,计算机系统100A可以被配置成使用显示器150A和/或显示器150B显示三维(3D)场景(例如,经由立体图像)或3D内容,如场景180。计算机系统100A还可被配置成使用显示器150A、显示器150B和/或另一显示器显示3D场景的“视图”,如下文更详细描述。3D场景或内容的“视图”可指从3D场景内的视点看到的3D场景的显示部分。3D场景内的视点可被称为“虚拟视点”。视图可以是立体的,例如可以显示在立体显示器上。替代地,视图可以是单视场的(非立体的),并且可以显示在单视场显示器或立体显示器上。注意,在立体显示器上显示的单视场图像或场景可以与在单视场显示系统上显示的相同。
应当注意,图3A的实施例仅仅是示范性的,并且也可以设想其它数量的显示器。例如,计算机系统100A可以仅包括单个显示器或多于两个显示器,或者显示器可以以与所示不同的方式布置,例如,如下面参考图5进一步描述的护目镜或其它可佩戴眼镜或头盔。在此特定实施例中,显示器150A被配置为垂直显示器(其可垂直于或近似垂直于用户的视线),且显示器150B被配置为水平显示器(其可平行于(或近似平行于)或倾斜于用户的视线)。可以使用垂直显示器150A(例如,经由由在机箱110A中执行的图形引擎发送的指令)来提供根据垂直(或中心)透视呈现的图像,并且可以使用显示器150B(例如,经由由在机箱110A中执行的图形引擎发送的指令)来提供根据水平透视呈现的图像。本文提供了对水平和垂直透视图的描述(参见例如上述术语部分)。另外,虽然显示器150被示为平板显示器,但是在其它实施例中,它们可以是能够显示图像的任何类型的装置或系统,例如投影系统。例如,显示器150可以是或包括CRT(阴极射线管)监视器、LCD(液晶显示器)监视器,或前投影或背投屏幕或具有多个投影仪的表面等。显示器150可以包括发光二极管(LED)背光或其它类型的背光。
显示器150A和150B中的任一个或两个可呈现(显示)立体图像以供用户观看。通过呈现立体图像,显示器150可以为用户呈现3D场景。由于实际提供的图像是2D的,因此该3D场景可以被认为或称为幻觉或模拟3D,但是通过用户经由立体效果对所提供的图像的解释来以3D传达该场景。为了正确地观看立体图像(每个图像帧的每只眼睛一个立体图像),用户可以佩戴眼镜140。眼镜140可以是视差眼镜、偏振眼镜、快门眼镜、双凸透镜眼镜等中的任何一种。在一些实施例中,显示器150可以包括(或结合)在眼镜(或其它可佩戴的头盔)中。在使用视差眼镜的实施例中,根据第一颜色呈现第一只眼睛的图像(并且对应的透镜具有对应的滤色器),并且根据第二颜色投影第二只眼睛的图像(并且对应的透镜具有对应的滤色器)。利用偏振眼镜,使用正交偏振为每只眼睛呈现图像,并且眼镜的每个镜片具有用于接收对应图像的对应正交偏振。利用快门眼镜,每个透镜例如以交替的方式相对于由显示器150提供的左眼图像和右眼图像同步。根据需要,显示器可以同时或以交替方式(例如,顺序地)提供两种偏振。因此,可以允许左眼在左眼图像显示时间期间仅看到左眼图像,并且可以允许右眼在右眼图像显示时间期间仅看到右眼图像。利用双凸透镜眼镜,图像形成在柱面透镜元件或透镜元件的二维阵列上。可以经由光学方法提供立体图像,其中使用如棱镜、反射镜、透镜等的光学装置仅向对应的眼睛提供左眼图像和右眼图像。大型凸透镜或凹透镜也可用于接收两个单独投影给用户的图像。
在一个实施例中,眼镜140可以用作位置输入装置以跟踪观看由系统100A呈现的3D场景的用户的用户视图(例如,视点或视角(POV))。例如,眼镜140可以提供可用于例如经由三角测量来确定用户的视角的位置的信息(例如,位置信息,其包括取向信息等)。在一些实施例中,位置输入装置可以使用光敏检测系统,例如,可以包括红外检测系统,以检测观看者头部的位置,以允许观看者自由移动头部。输入装置的其它实施例可以使用检测观看者视角位置的三角测量方法,如提供适于头部跟踪的位置数据的一个或多个传感器(例如,两个相机,如电荷耦合装置(CCD)或互补金属氧化物半导体(CMOS)相机)。如指示笔、键盘、鼠标、跟踪球、操纵杆等或其组合的输入装置可由观看者手动操作以指定或指示水平透视显示图像的正确显示。然而,可以根据需要使用用于跟踪用户头部位置或视角的任何方法。因此,可从用户的角度(或视角)渲染3D场景,使得用户可以以最小失真(例如,因为它基于用户的视角)观看3D场景。因此,可以使用位置输入装置针对用户的视角特别地渲染3D场景。
显示器150的位置与用户的视角之间的关系可用于将虚拟空间的一部分映射到系统100A的物理空间。实质上,所使用的物理空间和组件可以被映射到虚拟模型,以便精确地渲染虚拟空间的3D场景。
一个或多个用户输入装置(例如,键盘120、鼠标125、用户输入装置130、定点装置、用户控制装置、用户手/手指等)可用于与所呈现的3D场景交互。例如,用户输入装置130(被示为无源指示笔)或简单地用户的手可用于直接与3D场景的虚拟物体交互(经由观看的投影物体)。这种直接交互对于3D场景的负空间部分是可能的。在一些实施例中,3D场景的至少一部分可以经由(3D场景的)立体渲染而呈现在负空间中,该负空间在至少一个显示器的前面或以其它方式在至少一个显示器的外部。在一些实施例中,3D场景的至少一部分可以表现为显示器150的表面上方的全息图样图像。例如,当使用水平显示器150B时,3D场景可以被看作悬停在水平显示器上方。然而,应当注意,3D场景的一部分也可以呈现为出现在正空间中的显示表面之后。因此,负空间指的是用户能够自由地在空间中移动并与其交互(例如,在用户能够将他的手(或更一般地,用户输入装置130)放置在该空间中的情况下)的空间,与用户不能自由地在空间中移动并与其交互(例如,在用户不能将他的手(或用户输入装置130)放置在如显示表面下方的空间中的情况下)的空间相对。因此,相对于“内部体积”(即,正空间),负空间可以被认为是“实作体积”,其可以在显示器的表面之下,并且因此不可访问。因此,用户可以与负空间中的虚拟物体交互,因为它们接近用户自己的物理空间。换言之,正空间位于观看表面的后面(或下面),因此呈现的物体看起来位于物理观看装置的内部(或背面)。因此,在正空间内呈现的3D场景的物体不与用户共享相同的物理空间,并且因此虚拟物体不能被手直接和物理地操纵或者被如用户输入装置130的手持工具物理地交叉。相反,它们可以被间接地操纵,例如,经由计算机鼠标、操纵杆、手的虚拟表示、手持工具或指示笔,或通过指示笔的投影(例如,虚拟激光或虚拟平面)。
在一些实施例中,系统100A可以包括一个或多个传感器160。一个或多个传感器160可以包括在跟踪系统中。图3示出使用四个相机160的实施例。例如,四个相机160中的两个可用于感测用户视图(例如,视角),而另外两个相机160可用于感测用户输入装置(例如,定点装置、指示笔、手、手套等)。替代地,可以使用少于四个的传感器(例如,两个传感器),其中每个传感器可以跟踪用户(例如,用户的头部和/或用户的视角)和用户输入装置。传感器160可用于对系统100A的用户进行成像、跟踪用户的移动,或跟踪用户的头部或眼睛,以及其它预期的功能。在一个实施例中,相机160可以跟踪用户输入装置130的位置和/或取向。由一个或多个传感器160提供的关于用户输入装置130的位置(包括取向)的信息可用于执行用户输入装置130的3D跟踪。一个或多个传感器160可以在空间上彼此分离,并且被放置在观察涵盖用户将在何处观察立体图像的体积的位置。传感器160还可以彼此相距足够远以提供用于真实三轴三角测量确定的视图分离。系统100A还可以包括存储用户输入装置130的盒170。盒170还可以用于将指示笔的取向校准到已知的滚动、俯仰和偏转,并且因此可以相对于相机160处于固定位置。
在一个实施例中,系统100A可以被配置成经由输入耦合到网络,如广域网。输入可以被配置成通过网络从类似于系统100A的系统接收数据(例如,图像数据、视频数据、音频数据等)。在其它实施例中,跟踪系统可以包括相机160。相机160可以被配置成提供关于用户的视觉信息(例如,使得可以确定用户的POV,例如位置(包括取向),或者使得可以确定用户的手的位置)。然而,应当注意,可根据需要使用任何类型的各种跟踪技术或装置。注意,如本文所使用的,用户的POV是指用户从其光学地观看虚拟物体或图像的透视或POV,即用户的视觉POV,并且因此相对于系统的显示装置来定义。在一些实施例中,POV可以是6自由度(6DOF)POV,例如,三个位置坐标和三个方位坐标,尽管可以根据需要使用任何POV,例如,三个位置坐标和两个或三个方位坐标等。如上所述,位置坐标可以包括位置和方位坐标。
需注意,在一些实施方案中,跟踪系统可以至少部分地依赖于机箱110A的部件来确定位置或POV,例如,经由由机箱110A的处理器或功能单元执行或者在该机箱的处理器或功能单元上执行一个或多个程序,尽管在其他实施方案中,跟踪系统可以独立地操作,例如,可以具有其自身的处理器或功能单元。
在某些实施例中,该系统可以包括实现基于透视的图像捕获系统的组件,用于在远离该系统的位置处捕获目标物体的图像。例如,基于透视的图像捕获系统可以包括被配置成耦合到网络的输入,用于从远程位置处的跟踪系统接收关于视角(POV)的信息。关于POV的信息可以指示远程用户的位置。基于透视的图像捕获系统可以进一步包括用于捕获目标物体的图像的另一图像捕获系统。更具体地,图像捕获系统可以被配置成基于由输入接收的关于POV的信息从第一角度捕获一个或多个图像。
用户能够指定或以其它方式操纵由显示器150呈现的3D场景内的虚拟视点。根据需要,可以由显示器150或另一显示器中的一个或多个基于虚拟视点呈现3D场景的视图。根据需要,该3D场景的视图可以是立体的或单视场的。
存储在机箱110A中并在其中执行的3D场景生成器(例如,内容处理系统)可以被配置成动态地改变由显示器150提供的显示图像。更具体地,3D场景生成器可以基于用户视图、用户控制(例如,经由用户输入装置的操纵)等的改变更新所显示的3D场景。这种改变可以在运行时动态地执行,并且可以实时地执行。3D场景生成器还可以跟踪外围装置(例如,用户输入装置130或眼镜140)以确保外围装置与所显示的图像之间的同步。该系统可以进一步包括校准单元、程序和/或基准标记,以确保外围装置到显示图像的正确映射以及投影图像和存储在机箱110A的存储器中的虚拟图像之间的正确映射。
因此,系统100A可以呈现用户可以与之实时交互的3D场景。该系统可以包括可在开放空间中呈现或传送透视图像的实时电子显示器150,以及可允许用户使用手控或手持工具与3D场景交互的用户输入装置130。系统100A还可以包括以各种方式操纵显示图像的方法,例如放大、缩放、旋转或移动,或者甚至显示新的图像。然而,如上所述,在一些实施例中,系统可以例如在没有手持工具的情况下便于经由用户的手进行这种操纵。
此外,虽然系统100A被示为包括水平显示器150B,因为它模拟了用户对水平地面的视觉体验,但其它观看表面可以提供类似的3D幻觉体验。例如,3D场景可以通过将水平透视图像投影到天花板表面上而看起来像是悬挂在天花板上,或者可以通过将水平透视图像投影到垂直墙壁表面上而看起来像是漂浮在墙壁上。更一般地,可以根据需要使用显示器取向和透视的任何其它变化(或系统100A的任何其它配置)。
根据本公开的各种实施例,显示器150可以显示要提供给用户的各种类型的信息(例如,多媒体数据或文本数据)。显示器150可以被配置成包括液晶显示器(LCD)、发光二极管(LED)显示器、有机LED(OLED)显示器、等离子单元显示器、电子墨水阵列显示器、电子纸显示器、柔性LCD、柔性电致变色显示器或柔性电润湿显示器。显示器150可以功能性地连接到电子装置的元件。此外,显示器150可以功能性地连接到除电子装置之外的电子装置。
在图3B的示范性实施例中,计算机系统100B可以包括机箱110B,其可以包括显示器150、键盘120、跟踪板或触摸板135,以及至少两个相机160。计算机系统100B还可以包括用户输入装置130和眼镜140。注意,在一些实施例中,计算机系统100B可以是无线或移动站,例如,如下面进一步描述的无线站106。例如,计算机系统100B可以是或包括在移动电话或智能电话(例如,iPhoneTM、基于AndroidTM的电话)、平板计算机(例如,iPadTM、SamsungGalaxyTM等)、笔记本计算机(例如,MacBookTM)、便携式游戏装置(例如,Nintendo DSTM、PlayStation PortableTM、Gameboy AdvanceTM、iPhoneTM)、便携式因特网装置和/或其它手持装置上。在各种实施例中,显示器150中的至少一个可以是立体显示器。注意,立体显示器还可以被配置成显示二维(2D)物体,并且可以被配置成以2D模式操作。
机箱110B可包括各种计算机组件,如处理器、至少一个存储介质(例如,RAM、ROM、硬盘驱动器等)、图形电路、音频电路和用于执行如本文描述的那些计算机任务的其它电路。至少一个存储介质可以存储根据本发明的各种实施例的一个或多个计算机程序或软件组件。例如,存储介质可存储可执行以执行本文中描述的技术中的一些技术的一个或多个图形引擎。在某些实施例中,图形引擎可在功能单元或处理元件上实现或由功能单元或处理元件实现。如本文所使用的,并且如在以上术语部分中所指出的,术语功能单元或处理元件是指被配置成处理指令和/或数据的各种元件或元件的组合中的任一个。处理元件包含例如如ASIC(专用集成电路)之类的电路、单独的处理器核心的部分或电路、整个处理器核心、单独的处理器、诸如现场可编程门阵列(FPGA)之类的可编程硬件装置,和/或包含多个处理器的系统的较大部分,以及其任何组合。
存储介质(其可以包括两个或更多个存储介质)还可以存储表示虚拟空间的数据(和/或程序指令)(例如,实施或指定计算机模型),该数据可以用于经由显示器150投影虚拟空间的3D场景,诸如场景180。此外,存储介质可存储可执行以执行三维空间跟踪(例如,用户视图跟踪、用户控制跟踪等)、内容处理或其它特征的软件,如本文中所描述。例如,计算机系统可以包括跟踪系统,该跟踪系统可以跟踪用户的头部、用户的手或指示笔中的一个或多个。另外,存储介质可以存储操作系统软件以及用于计算机系统操作的其它软件。各种实施例还包括在载体介质上接收或存储根据上述描述实施的指令和/或数据。
如上所述,计算机系统100B(或更具体地,机箱110B)可被配置成使用显示器150来显示三维(3D)场景(例如,经由立体图像)或3D内容,如场景180。计算机系统100B还可以被配置成使用显示器150显示3D场景的“视图”。3D场景或内容的“视图”可指从3D场景内的视点看到的3D场景的显示部分。3D场景内的视点可被称为“虚拟视点”。视图可以是立体的,例如可以显示在立体显示器上。替代地,视图可以是单视场的(非立体的),并且可以显示在单视场显示器或立体显示器上。注意,在立体显示器上显示的单视场图像或场景可以与在单视场显示系统上显示的相同。
在一些实施例中,显示器150可以为用户呈现3D场景。由于实际提供的图像是2D的,因此该3D场景可以被认为或称为幻觉或模拟3D,但是通过用户经由立体效果对所提供的图像的解释来以3D传达该场景。为了正确地观看立体图像(每个图像帧的每只眼睛一个立体图像),用户可以佩戴眼镜140。眼镜140可以是视差眼镜、偏振眼镜、快门眼镜、双凸透镜眼镜等中的任何一种。
在一些实施例中,眼镜140可以用作位置输入装置以跟踪观看由系统100B呈现的3D场景的用户的用户视图(例如,眼点或视角(POV))。例如,眼镜140可以提供可用于例如经由三角测量来确定用户的视角的位置的信息(例如,位置信息,其包括取向信息等)。在一些实施例中,位置输入装置可以使用光敏检测系统,例如,可以包括红外检测系统,以检测观看者头部的位置,以允许观看者自由移动头部。输入装置的其它实施例可以使用检测观看者视角位置的三角测量方法,如提供适于头部跟踪的位置数据的一个或多个传感器(例如,两个相机,如电荷耦合装置(CCD)或互补金属氧化物半导体(CMOS)相机)。如指示笔、键盘、鼠标、跟踪球、操纵杆等或其组合的输入装置可由观看者手动操作以指定或指示水平透视显示图像的正确显示。然而,可以根据需要使用用于跟踪用户头部位置或视角的任何方法。因此,可从用户的角度(或视角)渲染3D场景,使得用户可以以最小失真(例如,因为它基于用户的视角)观看3D场景。因此,可以使用位置输入装置针对用户的视角特别地渲染3D场景。
显示器150的位置与用户的视角之间的关系可用于将虚拟空间的一部分映射到系统100B的物理空间。实质上,所使用的物理空间和组件可以被映射到虚拟模型,以便精确地渲染虚拟空间的3D场景。
一个或多个用户输入装置(例如,键盘120、跟踪板135、用户输入装置130、定点装置、用户控制装置、用户手/手指等)可用于与所呈现的3D场景交互。例如,用户输入装置130(被示为无源指示笔)或简单地用户的手可用于直接与3D场景的虚拟物体交互(经由观看的投影物体)。这种直接交互对于3D场景的负空间部分是可能的。在一些实施例中,3D场景的至少一部分可以经由(3D场景的)立体渲染而呈现在负空间中,该负空间在至少一个显示器的前面或以其它方式在至少一个显示器的外部。在一些实施例中,3D场景的至少一部分可以表现为显示器150的表面上方的全息图样图像。然而,应当注意,3D场景的一部分也可以呈现为出现在正空间中的显示表面之后。因此,负空间指的是用户能够自由地在空间中移动并与其交互(例如,在用户能够将他的手(或更一般地,用户输入装置130)放置在该空间中的情况下)的空间,与用户不能自由地在空间中移动并与其交互(例如,在用户不能将他的手(或用户输入装置130)放置在如显示表面下方的空间中的情况下)的空间相对。因此,相对于“内部体积”(即,正空间),负空间可以被认为是“实作体积”,其可以在显示器的表面之下,并且因此不可访问。因此,用户可以与负空间中的虚拟物体交互,因为它们接近用户自己的物理空间。换言之,正空间位于观看表面的后面(或下面),因此呈现的物体看起来位于物理观看装置的内部(或背面)。因此,在正空间内呈现的3D场景的物体不与用户共享相同的物理空间,并且因此虚拟物体不能被手直接和物理地操纵或者被如用户输入装置130的手持工具物理地交叉。相反,它们可以被间接地操纵,例如,经由计算机鼠标、操纵杆、手的虚拟表示、手持工具或指示笔,或通过指示笔的投影(例如,虚拟激光或虚拟平面)。
在一些实施例中,系统100可以包括一个或多个传感器160。一个或多个传感器160可以包括在跟踪系统中。图3B示出使用四个相机160的实施例。例如,四个相机160中的两个可用于感测用户视图(例如,视角),而另外两个相机160可用于感测用户输入装置(例如,定点装置、指示笔、手、手套等)。替代地,可以使用少于四个的传感器(例如,两个传感器),其中每个传感器可以跟踪用户(例如,用户的头部和/或用户的视角)和用户输入装置。传感器160可用于对系统100B的用户进行成像、跟踪用户的移动,或跟踪用户的头部或眼睛,以及其它预期的功能。在一个实施例中,相机160可以跟踪用户输入装置130的位置和/或取向。由一个或多个传感器160提供的关于用户输入装置130的位置(包括取向)的信息可用于执行用户输入装置130的3D跟踪。一个或多个传感器160可以在空间上彼此分离,并且被放置在观察涵盖用户将在何处观察立体图像的体积的位置。传感器160还可以彼此相距足够远以提供用于真实三轴三角测量确定的视图分离。
在一些实施例中,系统100B可以被配置成经由输入或接口(有线或无线)耦合到如广域网的网络。输入可被配置成通过网络从类似于系统100A或100B的系统接收数据(例如,图像数据、视频数据、音频数据等)。在其它实施例中,跟踪系统可以包括相机160。相机160可以被配置成提供关于用户的视觉信息(例如,使得可以确定用户的POV,例如位置(包括取向),或者使得可以确定用户的手的位置)。然而,应当注意,可根据需要使用任何类型的各种跟踪技术或装置。注意,如本文所使用的,用户的POV是指用户从其光学地观看虚拟物体或图像的透视或POV,即用户的视觉POV,并且因此相对于系统的显示装置来定义。在一些实施例中,POV可以是6自由度(6DOF)POV,例如,三个位置坐标和三个方位坐标,尽管可以根据需要使用任何POV,例如,三个位置坐标和两个或三个方位坐标等。如上所述,位置坐标可以包括位置和方位坐标。
需注意,在一些实施方案中,跟踪系统可以至少部分地依赖于机箱110B的部件来确定位置或POV,例如,经由由机箱110B的处理器或功能单元执行或者在该机箱的处理器或功能单元上执行一个或多个程序,尽管在其他实施方案中,跟踪系统可以独立地操作,例如,可以具有其自身的处理器或功能单元。
在某些实施例中,该系统可以包括实现基于透视的图像捕获系统的组件,用于在远离该系统的位置处捕获目标物体的图像。例如,基于透视的图像捕获系统可以包括被配置成耦合到网络的输入,用于从远程位置处的跟踪系统接收关于视角(POV)的信息。关于POV的信息可以指示远程用户的位置。基于透视的图像捕获系统可以进一步包括用于捕获目标物体的图像的另一图像捕获系统。更具体地,图像捕获系统可以被配置成基于由输入接收的关于POV的信息从第一角度捕获一个或多个图像。
用户能够指定或以其它方式操纵由显示器150呈现的3D场景内的虚拟视点。根据需要,可以由显示器150或另一显示器中的一个或多个基于虚拟视点呈现3D场景的视图。根据需要,该3D场景的视图可以是立体的或单视场的。
在机箱110B中存储和执行的3D场景生成器(例如,内容处理系统)可以被配置为动态地改变由显示器150提供的显示图像。更具体地,3D场景生成器可以基于用户视图、用户控制(例如,经由用户输入装置的操纵)等的改变更新所显示的3D场景。这种改变可以在运行时动态地执行,并且可以实时地执行。3D场景生成器还可以跟踪外围装置(例如,用户输入装置130或眼镜140)以确保外围装置与所显示的图像之间的同步。该系统可以进一步包括校准单元、程序和/或基准标记,以确保外围装置到显示图像的正确映射以及投影图像和存储在机箱110B的存储器中的虚拟图像之间的正确映射。
因此,系统100B可以呈现用户可以与之实时交互的3D场景。该系统可以包括可在开放空间中呈现或传送透视图像的实时电子显示器150,以及可允许用户使用手控或手持工具与3D场景交互的用户输入装置130。系统100B还可以包括以各种方式操纵显示图像的方法,例如放大、缩放、旋转或移动,或者甚至显示新的图像。然而,如上所述,在一些实施例中,系统可以例如在没有手持工具的情况下便于经由用户的手进行这种操纵。
根据本公开的各种实施例,显示器150可以显示要提供给用户的各种类型的信息(例如,多媒体数据或文本数据)。显示器150可以被配置成包括液晶显示器(LCD)、发光二极管(LED)显示器、有机LED(OLED)显示器、等离子单元显示器、电子墨水阵列显示器、电子纸显示器、柔性LCD、柔性电致变色显示器或柔性电润湿显示器。显示器150可以功能性地连接到电子装置的元件。此外,显示器150可以功能性地连接到除电子装置之外的电子装置。根据本公开的各种实施例,输入模块240可以接收用于控制例如历史屏幕的属性的输入。输入模块240可以接收例如“参考屏幕设置”的输入。“参考屏幕设置”可以涉及用于将与屏幕相关的信息存储在存储模块210中以便显示参考屏幕的操作。输入模块240可以接收例如用于显示参考屏幕的输入。屏幕的属性可以包括例如参考屏幕的位置、参考屏幕的音量、屏幕的亮度和屏幕的尺寸中的至少一个。如果输入模块240包括在第二电子装置中,则根据本公开的各种实施例,输入模块240可以不设置在电子装置中。
图4示出无线站106的实例简化框图。根据实施例,无线站106可以是用户设备(UE)装置、移动装置和/或移动站。无线站106可以与上面参考图3A和3B描述的系统以及下面参考图5B和5C描述的系统结合使用。例如,无线站106可被配置为任何所述系统的输入装置(例如,无线站106可被配置为用户输入装置)。作为另一实例,根据一些实施例,无线站106可被配置为任何所述系统的显示器。因此,无线站106可以被配置成显示立体图像。在一些实施例中,无线站106可以被配置成无线地(例如,经由如Wi-Fi、蓝牙或蓝牙低能量连接的局域网)或经由如通用串行总线接口的有线接口以及其它有线接口与3D系统进行通信。在一些实施例中,无线站106可以包括在计算机系统中,如上述的计算机系统100B。
如图所示,无线站106可以包括片上系统(SOC)300,其可以包括用于各种目的的部分。SOC 300可耦合到无线站106的各种其它电路。例如,无线站106可以包括各种类型的存储器(例如,包括NAND闪存310)、连接器接口(I/F)(或扩展坞)320(例如,用于耦合到计算机系统、扩展坞、充电站等)、显示器360、如用于LTE、GSM等的蜂窝通信电路330,以及中短程无线通信电路329(例如,BluetoothTM和WLAN电路)。无线站106可以进一步包括一个或多个结合SIM(用户识别模块)功能的智能卡310,如一个或多个UICC(通用集成电路卡)卡345。蜂窝通信电路330可以耦合到一个或多个天线,如所示的天线335和336。中短程无线通信电路329还可以耦合到一个或多个天线,如所示的天线337和338。替代地,除了或代替耦合到天线337和338,中短程无线通信电路329还可以耦合到天线335和336。中短程无线通信电路329可以包括用于接收和/或发射多个空间流的多个接收链和/或多个发射链,如在多输入多输出(MIMO)配置中。
如图所示,SOC 300可以包括可执行无线站106的程序指令的处理器302和可执行图形处理并向显示器360提供显示信号的显示电路304。处理器302还可以耦接到存储器管理单元(MMU)340,该存储器管理单元可以被配置为从处理器302接收地址并将那些地址转译为存储器(例如,存储器306、只读存储器(ROM)350、NAND闪速存储器310)中的位置,以及/或者耦接到其他电路或装置,诸如显示器电路系统304、蜂窝通信电路系统330、短程无线通信电路系统329、连接器接口(I/F)320和/或显示器360。MMU 340可以被配置成执行存储器保护和页表转换或设置。在一些实施例中,MMU 340可以被包括作为处理器302的一部分。
如本文所述,无线站106可包括用于实现本文所述特征的硬件和软件组件,例如,无线站106可形成3D显示系统的至少一部分,如上述系统100和/或下述系统500A和5B。例如,无线站106的处理器302可以被配置成例如通过执行存储在存储介质(例如,非暂时性计算机可读存储介质)上的程序指令来实现本文描述的部分或全部特征。替代地(或附加地),处理器302可以被配置为可编程硬件元件,如FPGA(现场可编程门阵列),或ASIC(专用集成电路)。替代地(或附加地),UE 106的处理器302结合其他部件300、304、306、310、320、330、335、340、345、350、360中的一者或多者可以被配置为实施本文所述特征中的一部分或全部。
另外,如本文所述,处理器302可包括一个或多个处理元件。因此,处理器302可以包括被配置成执行处理器302的功能的一个或多个集成电路(IC)。另外,每个集成电路可包括被配置成执行处理器302的功能的电路(例如,第一电路、第二电路等)。
参考图5A,头戴式电子装置500A可以包括主体502A和盖504。主体502可以包括透镜508和510,以及控制装置514。另外,电子装置500A可以包括支撑件506A,其可以被配置成将电子装置500A支撑在用户的头部上。透镜508和510可以被定位成对应于用户的眼睛。用户可以通过透镜508和510观看显示器上的屏幕。显示器可以耦合或连接到电子装置500。在一些实施例中,显示器可以包括在盖504上(或内),并且盖504可以被配置成耦合到主体502A。在一些实施例中,电子装置500B可以包括显示器,如上面参考图4描述的显示器150A或150B。因此,盖504可通信地耦合到主体502A(例如,将盖504的显示器耦合到电子装置500的处理器)且机械地耦合(例如,附接到)主体502。在一些实施例中,主体502A与盖504之间的通信耦合可以是有线的和/或无线的。
在一些实施例中,控制装置514可以位于主体502A的侧表面上。控制装置514可以用于用户输入用于控制头戴式电子装置500A的输入。例如,控制装置514可以包括触摸面板、按钮、轮键和/或触摸板。触摸面板可以接收用户的触摸输入。触摸输入可以是对触摸面板的直接触摸输入或在触摸面板附近的悬停输入。
转到图5B,头戴式电子装置500B可以包括主体502B和支撑件506B。主体502B可以被配置成耦合到无线站,并且电子装置500B的显示器可以是如无线站106的无线站的显示器,并且无线站可以耦合或连接到(例如,可以可拆卸地安装到)电子装置500B。换言之,电子装置500B可以被配置成使得无线站可以非永久性地耦合到电子装置500B,并且可以在没有破坏性措施的情况下移除。因此,电子装置500B可以耦合到无线站和从无线站解耦(例如,非破坏性地从无线站解耦),而不改变无线站或电子装置500B的功能。
转到图5C,图5C示出头戴式电子装置500C的实例简化框图。根据实施例,电子装置500C可以包括显示器(例如,如电子装置500A),或者可以被配置成耦合到无线站(例如,如电子装置500B)。注意,上述电子装置500A和500B可以包括参考电子装置500C描述的至少部分特征。
如图所示,电子装置500C可以包括片上系统(SOC)506,其可以包括用于各种目的的部分。SOC 506可以耦合到电子装置500C的各种其它电路。例如,电子装置500C可以包括各种类型的存储器(例如,包括NAND闪存510)、连接器接口(I/F)(或扩展坞)520(例如,用于耦合到计算机系统、扩展坞、充电站、外部显示器等)、显示器560(注意,在一些实施例中,电子装置500C可以不包括显示器560),以及中短程无线通信电路529(例如,BluetoothTM和WLAN电路)。中短程无线通信电路529还可以耦合到一个或多个天线,如所示的天线537和538。中短程无线通信电路529可以包括用于接收和/或发射多个空间流的多个接收链和/或多个发射链,如在多输入多输出(MIMO)配置中。
如图所示,SOC 506可以包括可执行电子装置500C的程序指令的处理器502和可执行图形处理并向显示器560(和/或扩展坞520)提供显示信号的显示电路504。处理器502还可以耦接到存储器管理单元(MMU)540,该存储器管理单元可以被配置为从处理器502接收地址并将那些地址转译为存储器(例如,存储器506、只读存储器(ROM)550、NAND闪速存储器510)中的位置,以及/或者耦接到其他电路或装置,诸如显示器电路系统504、短程无线通信电路系统529、连接器接口(I/F)520和/或显示器560。MMU 540可以被配置成执行存储器保护和页表转换或设置。在一些实施例中,MMU 540可以被包括作为处理器502的一部分。
在一些实施例中,电子装置500C(和/或如电子装置500A或500B的电子装置)可以与如上述用户输入装置130的用户输入装置通信。在一些实施例中,电子装置可以经由如上所述的用户输入装置130接收用户输入。
另外,在一些实施例中,电子装置500C可以包括一个或多个位置传感器,如加速度计、陀螺仪传感器、地磁传感器、磁传感器、接近传感器、手势传感器、握持传感器和/或生物测定传感器。在一些实施例中,电子装置可以使用一个或多个位置传感器来获取用于确定佩戴电子装置的用户的运动和/或用户是否佩戴或移除电子装置500C的信息。至少一个处理器可以响应于所接收的输入而控制对应于通过控制装置(例如,控制装置514和/或用户输入装置130)接收的输入的功能或操作的执行。
如本文所述,电子装置500C可以包括用于实现本文所述特征的硬件和软件组件,例如,电子装置500C可以形成3D显示系统的至少一部分,如上述系统100和/或下述系统500A和5B。例如,电子装置500C的处理器502可以被配置成例如通过执行存储在存储介质(例如,非暂时性计算机可读存储介质)上的程序指令来实现本文描述的部分或全部特征。替代地(或附加地),处理器502可以被配置为可编程硬件元件,如FPGA(现场可编程门阵列),或ASIC(专用集成电路)。替代地(或附加地),UE 106的处理器502结合其它组件500、504、506、510、520、535、550、560中的一个或多个可以被配置成实现本文描述的部分或全部特征。
在一些实施例中,电子装置500C可以包括一个或多个外部相机或与一个或多个外部相机通信。例如,电子装置500C可以包括(或与之通信)一个或多个相机(或相机阵列),这些相机可以被配置成捕获用户的物理位置的图像。
另外,如本文所述,处理器502可包括一个或多个处理元件。因此,处理器502可以包括被配置成执行处理器502的功能的一个或多个集成电路(IC)。另外,每个集成电路可包括被配置成执行处理器502的功能的电路(例如,第一电路、第二电路等)。
图6绘示了根据一些实施例的用户输入装置的实例。如图所示,用户输入装置600可以被配置成执行本文描述的各种实施例。用户输入装置600可以与上面参考图4和5B至5C描述的用户输入装置130相似或相同。因此,用户输入装置600可以与系统100A至B和/或系统500A至B结合使用,或者包括在其中。如上所述,系统100A至B和/或系统500A至B可以具有确定用户输入装置600的六轴位置和取向的能力。注意,这包括用户输入装置600的尖端610的X、Y、Z位置和用户输入装置600的主体602的α、β、γ角取向。然而,应当进一步注意,用户输入装置600是示范性的,并且可以根据需要使用适当配置的其它用户输入装置。
如图所示,用户输入装置600可以包括按钮604、606和612。在一些实施例中,按钮604、606和/或612可以是假(或伪)按钮。换言之,按钮604、606和/或612可以是非功能按钮,例如,如本文描述的系统100A至B和/或500A至B的系统,可以检测用户按下由系统识别为按钮位置的用户输入装置600的位置的动作。因此,在一些实施例中,按钮604、606和/或612可以是可识别的位置(例如,经由可见标记、凸起区域和/或沉陷或凹陷区域)。在一些实施例中,如按钮606的按钮中的一个可以被“按下”和“按住”以触发对由系统100A至B和/或500A至B中的任一个呈现的3D场景内的虚拟物体的选择。另外,系统100可被配置成显示从尖端610到所选物体的虚拟“类激光”投影。在选择虚拟物体的情况下,用户输入装置600的位置和/或取向的调整可以改变虚拟物体的位置和/或取向。因此,用户输入装置600的移动可能导致虚拟物体的相应平移和/或旋转。
概率元素选择
在大多数现有具体实施中,用户界面系统将二进制(例如,是或否)的静态几何区域分配给视觉元素,目的是检测用户意图输入激活哪个(哪些)元素以及用户不意图激活哪个(哪些)元素。该二进制区域通常被称为元素的“命中区域”。此类命中区域通常与元素的视觉表示的形状和大小完全对应。然而,这是一种过分简单化、因而受限的方法。图形用户界面(GUI)的基本目标可以是允许用户快速且准确地指示GUI该用户在他或她的头脑中知道他或她希望激活哪个(哪些)视觉元素;在GUI中,这可以经由与用户输入装置结合使用的明显不同的可激活虚拟元素来完成。
二进制的静态命中区域具有固有的局限性。例如,在显示器上呈现元素的情境可能要求该元素在视觉上显得很小;然而,如果命中区域也很小,则用户在尝试激活该元素时可能遇到负误识,或者被迫花费更多的脑力来避免负误识。
在使用其中输入装置是常规的鼠标、触控板、轨迹球等的某些2D显示系统时,光标可以被快速且准确地导航到所选择的虚拟对象并且该虚拟对象的选择几乎不会出错。其原因部分在于,输入装置和用户的手/手臂是稳定的,因为它们由一个表面(诸如桌面)支撑。
在3D显示系统(和一些2D显示系统)中,常见的输入手段可以是6自由度的触笔、控制器和/或用户的被跟踪的手指或手。“光标”位于从被跟踪装置的顶端延伸的虚拟激光束的末端处,并且可以与该装置的指向轴同轴。使用这种装置的一个特征是,用户的手臂通常不被支撑,而是处于悬空状态。这使得指定虚拟对象在一定程度上更加困难,尤其是如果虚拟对象很小,或者如果虚拟对象是几个密集排列对象之一,或者如果用户的神经运动受限。光标位于“杠杆臂”的末端处的事实意味着用户手的微小移动被放大为光标的较大移动。该第二效果还使得更加难以准确地指定虚拟对象。
本文所述的实施方案提供了用于增强在3D(和2D)显示系统的用户界面(例如,虚拟场景)中选择虚拟对象(例如,用户界面(UI)元素、UI项目(例如,工具栏和/或工具箱内的虚拟对象)、虚拟模型,等等)的容易性和准确性的方法和机制。在一些实施方案中,(例如,虚拟对象的)概率元素选择可以基于放弃二进制命中区域,并且替代地采用概率命中区域。换句话讲,可以定义数值概率模型,由此,考虑到虚拟空间中的多个虚拟对象元素的当前布置,可以将概率值的向量(例如,每个值可以在从0%至100%的范围内)分配给输入装置的当前配置的每个可能状态。这种方案可以降低负误识率(例如,降低某个元素在尽管用户意图选择该元素但其却并未被选择的比率)。例如,对于倾向于在物理按钮按下期间移动其位置的定点装置和/或对于具有生理挑战的用户,概率元素选择可以导致降低负误识率。此外,这种方案降低了小元素的负误识率(例如,对于占据显示器的相对较小区域的元素)。另外,这种方案可以降低密集排列的虚拟对象的正误识率(例如,对于在显示器的相对较小区域中向用户呈现多个虚拟对象的情况/实例)。
在一些实施方案中,概率元素选择可以允许UI设计者在创建虚拟对象时具有更大的灵活性。例如,概率元素选择可以允许UI设计者在设计虚拟对象时拥有更大的自由度(例如,由于与本领域中的其他方法相比,概率元素选择具有更大的效力,所以UI设计者不必给予元素选择的容易性与设计标准一样大的权重)。例如,UI设计者可以创建更小的虚拟对象和/或更密集排列的虚拟对象。
在一些实施方案中,概率元素选择可以允许用户更好地感知响应性和/或准确性。例如,在某些情形下,诸如当用户赶时间或匆忙行事、当用户处于较差的跟踪条件下以及/或者当使用具有经济实惠/低成本跟踪系统的系统时,用户可以感知到更好的系统响应性和/或准确性。此外,用户可以感知到更快的用户系统操作(例如,通过动态地调整用户界面布局以获得检测到选择模糊度足够低的速度)。
在一些实施方案中,概率元素选择可以允许对运动中(例如,非零速度)的虚拟对象具有更好的准确性,这是通过允许此类虚拟对象的概率按取决于它们的速度的倍数提高来实现的。
如上文所指出的,可以定义数值概率模型,由此,考虑到虚拟空间中的多个虚拟对象的当前布置,可以将概率值的向量(例如,每个值可以在从0%至100%的范围内)分配给输入装置的当前配置的每个可能状态。(例如,该概率向量的)每个概率值可以表示用户意图激活元素i的可能性。显示系统可以使用该概率向量来执行多个操作和/或确定。例如,在一些实施方案中,多个虚拟对象的与高于最小阈值(例如,高于50%、60%、70%、80%、90%或任何其他预定的最小阈值)的最大可能性相关联的元素可以被选择为预期的激活元素,使得响应于接收到指示选择预期元素的用户输入(例如,用户已按下输入装置之一上的指定按钮的指示),选择具有高于最小阈值的最大可能性的该元素。在一些实施方案中,可以不设置预定的最小阈值,使得相对于其他虚拟对象具有最高可能性的元素可以被确定为预期选择,而不管与该元素相关联的概率的绝对值是怎样的。
在一些实施方案中,显示系统可以使用概率向量来确定是否提示显示系统的用户确认对多个虚拟对象之一的选择。例如,如果两个或更多个元素具有相似的概率(并且,在一些实施方案中,高于最小阈值),则在用户按下按钮时,可以出现确认提示,要求用户确认他或她在所述两个或更多个元素之间的选择。
在一些实施方案中,显示系统可以使用概率向量来调整虚拟对象的排列。例如,如果概率向量指示两个或更多个虚拟对象正在竞争(即,具有相对较高的概率),则元素布局(例如,局部地围绕那些元素或全局地针对所有元素)可以朝向能够减少竞争的高概率元素的数量(即,从而降低正误识选择的可能性)的布置调整。例如,如果输入装置所指向的虚拟光标处于由四个紧密定位的虚拟对象包围的状态,则这四个元素可以朝向减少这些元素之间的概率竞争的位置和/或大小逐渐地发生动画变化,从而减少正误识的激活。
在一些实施方案中,如果当前输入状态是具有相对低的概率(例如,低于某个预定阈值)的两个或更多个元素,则虚拟对象的布置(例如,局部地,诸如在3D光标周围的邻域中,或全局地)可以朝向将放大(即,增加)概率向量中的概率的布局调整。例如,如果最高概率元素是虚拟工具箱,但是该概率值在某个下限阈值与上限阈值内,则总体元素布局中的该虚拟工具箱将朝向将放大其在输出向量中的概率值的新大小和/或位置发生动画变化。
在一些实施方案中,显示系统可以基于概率向量向用户提供反馈。例如,可以基于与多个虚拟对象对应的概率值向用户提供反馈。在一些实施方案中,具有等于或高于第一预定阈值(例如,等于或高于50%概率)的概率值的一个或多个元素可以被显示系统改变,以便向用户可视地指示已满足或超过第一预定阈值(例如,显示系统可以使高于第一阈值的一个或多个虚拟对象在外观上改变,诸如通过接收有色辉光)。附加地或替代地,具有等于或高于第二预定阈值(例如,等于或高于90%概率)的概率值的虚拟对象可以被显示系统更显著地(例如,更强烈地)改变,以便向用户指示已满足或超过第二预定阈值(例如,显示系统可以使高于第二阈值的一个或多个虚拟对象在外观上更剧烈地改变(与由于满足或超过第一预定阈值而改变的虚拟对象相比),诸如通过接收强烈的有色辉光。替代地,虚拟对象的外观改变的程度可以与对应于该虚拟对象的概率值成比例(例如,可以不存在第一阈值和第二阈值,而是虚拟对象周围的辉光可以随着概率值增加而在强度上增加)。触觉反馈可以指示与虚拟对象相关联的概率值。例如,响应于用户悬停在元素上,显示系统能够以与元素选择概率成比例的方式调整(例如,随着概率增加而增加)触觉反馈的强度。附加地和/或替代地,为了使显示系统修改虚拟对象的布置,该显示系统可以基于概率向量来修改虚拟光束和/或3D光标。例如,如果虚拟对象与高概率相关联,则虚拟光束和/或3D光标可以被可视地修改以指示高概率,例如,诸如在高概率虚拟对象的方向上弯曲虚拟光束,以及/或者弯曲虚拟光束以触及高概率虚拟对象。
在一些实施方案中,显示系统可以将概率向量集成到显示系统的引导帮助系统中。例如,如果引导教程中的步骤要求用户激活虚拟场景中的元素,但是该元素的选择概率值在延长的时间段内保持为低,则该帮助系统然后可以提供对动作的附加提示或调用,从而关于该步骤更明确地为用户提供引导。
在一些实施方案中,显示系统可以将概率向量与该显示系统的广告系统集成。例如,显示系统可以记录虚拟场景中与2D或3D广告元素相对应的元素的选择概率(例如,平均选择概率、与事件相关联的瞬时选择概率,和/或作为时间的函数的选择概率)。该记录可以与用于测量广告元素设计功效的广告分析系统集成。
图7展示了根据一些实施方案的用户与显示系统交互的示例。显示系统700(其可以是上文所述显示系统中的任一种)可以包括触笔730(或任何其他用户输入装置)和显示器750。一个或多个虚拟对象740可以呈现在显示器750上,该显示器可以位于用户注视720的方向上。例如,显示器可以向用户710呈现滚动条、多个按钮(诸如“确定”按钮和/或“取消”按钮),以及对象(诸如动物)的3D表示,如图7所示。为了确定如上所述的概率向量,显示系统可以使用以下项作为对概率模型的输入:(a)用户头部状态(例如,位置和取向);(b)眼睛状态(例如,注视方向);(c)悬空触笔装置(例如,位置和取向);以及(d)触笔射线投射终点位置(位置)。可用的虚拟对象可以包括:(i)第一按钮,诸如“确定”按钮;(ii)第二按钮,诸如“取消”按钮;(iii)滚动条,以及(iv)动物的3D模型。在该示例中,概率模型的输入向量可以是<head_position(xyz),head_orientation(xyz),eye_gaze(xy),stylus_position(xyz),stylus_orientation(xyz),stylus_raycast_terminus_position(xyz)>(总计17个数值),并且该概率模型的输出向量可以是<intention_ok,intention_cancel,intention_scrollbar,intention_animal>(总计4个数值)。
在结构上,还可以结合基于时间的数据来获得更高的准确性。在一些实施方案中,这可以包括在查询输出的概率模型时作为附加输入向量元素的一定数量的先前的带时间标签的输出的循环馈送。换句话讲,除了上文列出的输入向量之外,附加输入元素可以包括一个或多个先前的带时间标签的输出。所得的输入向量可以类似于<head_position(xyz),head_orientation(xyz),eye_gaze(xy),stylus_position(xyz),stylus_orientation(xyz),stylus_raycast_terminus_position(xyz),last_intention_ok,last_intention_cancel,last_intention_scrollbar,last_intention_animal>。替代地和/或附加地,对于上文讨论的位置输入元素,显示系统可以被提供(或可以计算)所述输入元素的当前平移和/或旋转速度。这些附加输入元素可以进一步扩展输入向量。所得的输入向量可以类似于<head_position(xyz),head_position_velocity(xyz),head_orientation(xyz),head_orientation_velocity(xyz),eye_gaze(xy),eye_gaze_velocity(xy),stylus_position(xyz),stylus_position_velocity(xyz),stylus_orientation(xyz),stylus_orientation_velocity(xyz),stylus_raycast_terminus_position(xyz)>。循环链接和速度信息可以辅助防止激活正误识。
在一些实施方案中,显示系统可以在输入向量中包括触笔的按钮状态和/或窗口化按钮状态(即,是否在预定时间段内发生任何按钮按下)。例如,该输入可以是二进制输入(例如,“0”指示未按下的按钮,并且“1”指示按下的按钮或最近按下的按钮)。在这种情况下,输入向量可以类似于<head_position(xyz),head_orientation(xyz),eye_gaze(xy),stylus_position(xyz),stylus_orientation(xyz),stylus_raycast_terminus_position(xyz),stylus_buttons(abc)>。
在一些实施方案中,显示系统可以包括用户属性(例如,年龄、生理性别、社会性别、用手习惯、国籍、用户对当前应用程序和/或显示系统的用户体验水平(例如,记录的总小时数、每单位时间记录的平均小时数,等等))作为输入。显示系统可以使用来自计算机视觉系统的输出(例如,对来自用户网络摄像头的影像进行操作)作为对概率模型的输入。来自计算机视觉系统的输出可以包括对以下项的识别:用户周围存在物体、用户的情绪、观看和/或指导显示系统的操作的用户的数量、照明条件,等等。
在一些实施方案中,显示系统可以包括低级跟踪系统健康和/或状态作为对概率模型的输入。例如,输入可以包括跟踪系统的实时置信度值(例如,作为照明条件和环境阻碍的函数)和/或跟踪系统的计算延迟时间(例如,作为当前硬件能力和负载的函数)。
在一些实施方案中,显示系统可以使用来自其他个人装置的输出作为对概率模型的输入。例如,显示系统可以使用来自用户的移动装置的加速度计数据和/或来自用户的腕表、智能手表、健身跟踪器等的生物测定数据。在一些实施方案中,显示系统可以先对输入进行预处理,之后将其引入概率模型用于训练和/或查询。例如,显示系统可以使用滤波(诸如时空滤波)来提高输入到概率模型中的数据的质量。也就是说,滤波可以用于减少和/或去除某些频率,诸如噪声频率或者生物或生理频率(诸如可能由用户的颤动所引入的那些频率)。触笔内的传感器(例如,一个或多个加速度计)可以用于物理地检测输入数据中的不期望的频率。采用任一种输入手段,通过使软件将指定光斑中的轻微、快速的变化平均掉或滤除并且仅指定且连续地指定预期的光斑,可以使抖动的影响最小化。动态调谐滤波器可以在专门的频谱内操作,诸如根据生物力学理解的约束(例如,对人类心率和肌肉激活的约束)。此外,抖动特性与各个用户配置文件、会话长度和/或用户操作手持式触笔所估计花费的总能量的统计相关性可以集成在抖动滤波器的配置中。根据一些实施方案,这些动态调谐可以随时间推移(例如,会话内或会话间)改变滤波器配置。
除了上文讨论的概率模型的输出向量(例如,包括<intention_ok,intention_cancel,intention_scrollbar,intention_animal>的输出向量)之外,可以从概率模型产生第二输出集合。该第二输出集合可以包括与用户的属性相关联的一个或多个值。例如,这些用户属性可以包括以下用户属性中的一者或多者:(a)情绪;(b)人口统计数据(例如,年龄、社会性别、生理性别、国籍等);(c)心率;(d)用手习惯;(e)用户是否正在与他人共享或正在向他人演示(例如,与单独操作该系统相反);(f)心理困惑;(h)使用应用程序和/或显示系统的体验水平;(i)眼睛/注视方向(例如,如果不作为对概率向量的输入而存在);(h)环境照明条件(例如,用于跟踪)的有利性。
在一些实施方案中,一个或多个计算模型可以与概率模型一起使用。换句话讲,可以使用一个或多个通用计算模型来配置、训练(例如,在线和/或离线)和/或计算概率模型。例如,可以与概率模型一起使用的通用计算模型可以包括以下计算模型中的一者或多者:神经网络、循环神经网络、振荡神经网络、贝叶斯网络、动态贝叶斯网络、决策树、决策森林、隐马尔可夫模型、高斯混合模型、马尔可夫随机场。
概率模型可以人工构建并且/或者可以根据与人类用户的会话来训练。概率模型可以具有全局配置并且/或者可以是特定于应用程序的(例如,显示系统可以将一个或多个应用程序与特定于应用程序的概率模型相关联)。根据一些实施方案,在概率模型已经被预先配置之后,该模型可以动态地适配(例如,经由在线学习)并且/或者可以针对不同的个体用户单独地适配。在正常操作之前训练概率模型可以将附加输入装置结合到概率模型的输入中,尽管在一个或多个操作会话期间(例如,在正常操作期间)可能不存在这些附加输入装置。例如,眼睛/注视输入和/或心率计可以在模型训练期间存在,但在一个或多个正常操作会话期间不存在。根据一些实施方案,预先配置的模型可以基于来自终端用户的动态训练模型状态的聚集来全局地适配。
图8展示了根据一些实施方案的用于增强在3D(和/或2D)显示系统的用户界面中选择虚拟对象的容易性和准确性的方法的示例的框图。图8所示的方法可以与上述图中所示的任何系统或装置以及其它装置结合使用。在各种实施例中,所示的方法元素中的一些可以以与所示不同的顺序同时执行,或者可以省略。还可以根据需要执行附加的方法元素。如图所示,该方法可以如下操作。
在802处,可以将一个或多个虚拟对象(例如,用户界面(UI)元素、UI项目(例如,工具栏和/或工具箱内的虚拟对象)、虚拟模型,等等)显示在显示系统(诸如显示系统100A至100B)上。
在804处,可以确定对概率模型的多个输入。在一些实施方案中,对概率模型的多个输入可以包括以下项中的任一者、以下项的任何组合和/或全部:用户头部状态、用户眼睛状态、触笔状态、概率模型的先前输出、虚拟对象状态、用户属性,和/或来自装置的输出。在一些实施方案中,用户头部状态可以包括用户头部的位置和/或取向。在一些实施方案中,用户头部状态可以包括用户头部的速度。在一些实施方案中,用户眼睛状态可以包括注视方向。在一些实施方案中,用户眼睛状态可以包括用户眼睛注视的速度。在一些实施方案中,触笔状态可以包括触笔的位置和取向。在一些实施方案中,触笔状态可以包括触笔的速度。在一些实施方案中,触笔状态包括指示在预定时间段内是否按下触笔的按钮的值。在一些实施方案中,概率模型的先前输出可以包括针对一个或多个虚拟对象中的每个虚拟对象的先前计算的概率。在一些实施方案中,虚拟对象状态可以包括一个或多个虚拟对象中的每个虚拟对象在显示器上的位置。在一些实施方案中,虚拟对象状态可以包括一个或多个虚拟对象中的每个虚拟对象在屏幕上的速度。在一些实施方案中,用户属性可以包括以下项中的任一者、以下项的任何组合和/或全部:用户年龄、用户生理性别、用户社会性别、用户用手习惯、用户国籍和/或用户体验水平。在一些实施方案中,来自装置的输出可以包括以下项中的任一者、以下项的任何组合和/或全部:跟踪系统的置信度值、来自用户的个人电子装置(例如,UE和/或无线装置)的数据,以及/或者来自计算机视觉系统的数据。在一些实施方案中,可以至少部分地基于一个或多个用户会话来训练概率模型。在一些实施方案中,训练概率模型可以针对多个特定用户定制概率模型。在一些实施方案中,多个特定用户可以共享(和/或关联)一个或多个用户属性(和/或用户属性的组合)。在一些实施方案中,概率模型可以至少部分地基于以下项中的任一者、以下项的任何组合和/或全部:神经网络计算模型、循环神经网络计算模型、振荡神经网络计算模型、贝叶斯网络计算模型、动态贝叶斯网络计算模型、决策树计算模型、决策森林计算模型、隐马尔可夫模型计算模型、高斯混合模型计算模型,和/或马尔可夫随机场计算模型。
在806处,可以经由概率模型来计算一个或多个概率,其可以包括用户意图选择一个或多个虚拟对象中的每个虚拟对象的概率。在一些实施方案中,可以先处理对概率模型的多个输入,之后再计算一个或多个概率。在一些实施方案中,处理多个输入可以包括使用滤波器从多个输入中去除噪声频率。在一些实施方案中,从多个输入中去除的噪声频率可以对应于一个或多个专门的频谱。在一些实施方案中,所述专门的频谱可以对应于用户的一种或多种生物力学约束。在一些实施方案中,一种或多种生物力学约束可以与一种或多种用户属性(和/或用户属性的组合)相关联。
在808处,响应于接收到指示选择一个或多个虚拟对象的用户输入,可以使用计算的一个或多个概率来确定预期虚拟对象。在一些实施方案中,可以记录显示器上与广告元素相对应的元素的选择概率。
在一些实施方案中,响应于多个所述一个或多个虚拟对象具有高于预定阈值的概率,可以更新显示器(例如,对多个所述一个或多个虚拟对象的显示)。在一些实施方案中,更新显示器可以响应于多个所述一个或多个虚拟对象在预定概率范围内而发生。在一些实施方案中,更新显示器可以包括向用户显示确认提示和/或更新多个所述一个或多个虚拟对象的布置。在一些实施方案中,更新多个所述一个或多个虚拟对象的布置可以包括仅更新具有高于预定阈值的概率的多个所述一个或多个虚拟对象的布置,以及/或者对多个所述一个或多个虚拟对象进行动画变化,以减少多个所述一个或多个虚拟对象之间的概率竞争。在一些实施方案中,更新显示器可以包括改变多个所述一个或多个虚拟对象中的一者或多者的外观和/或改变触笔可视化的外观。
智能触笔光束
在现有的3D系统中,系统可以有多种方式来经由触笔(和/或其他用户输入装置)检测对虚拟对象(例如,用户界面(UI)元素、UI项目(例如,工具栏和/或工具箱内的虚拟对象)、虚拟模型,等等)的用户选择。例如,系统可以使用“射线投射”方法,其中可以将射线(例如,由物理起始位置、物理方向和最大距离限定的不可见线)投射到虚拟世界中以确定与哪些虚拟对象相交。在一些情况下,相交结果可以基于相对于射线起始点的最靠近的命中。例如,图9A展示了射线投射过程的性能。如图所示,射线902可以从触笔900的物理顶端投射到包括虚拟对象A、B和C的虚拟世界中。可以看出,射线902可以在点H1处与对象A相交、在点H2处与对象B相交,并且在点H3处与对象C相交。在该射线投射过程中,最靠近射线902的原点(例如,触笔900的物理顶端)的点H1可以被优先考虑并且被报告为最靠近的命中。因此,选择对象A相比选择对象B或C可以被优先考虑。需注意,射线902的起始点和方向可以基于触笔900相对于显示虚拟世界的3D系统的物理位置和取向。
作为另一个示例,系统可以使用“球体投射”方法,其中可以将沿着射线(例如,具有一定半径的射线)的球体投射到虚拟世界中以确定与哪些对象/模型相交。例如,图9B展示了球体投射过程的性能。如图所示,球体可以投射到包括虚拟对象A、B和C的虚拟世界中。球体可以沿着参考射线904投射,并且参考射线904可以具有基于触笔900相对于显示虚拟世界的3D系统的物理位置和取向的起始点和方向。如图所示,投射的球体可以在点H1处与对象A相交、在点H2处与对象B相交,并且在点H3处与对象C相交。在该球体投射过程中,最靠近投射的球体的原点(例如,触笔900的物理顶端)的点H1可以被优先考虑并且被报告为最靠近的命中。因此,选择对象A相比选择对象B或C可以被优先考虑。
然而,这种命中点排序方法可以被认为是过于简单的(不足的),这是由于以下事实:在对象紧密地聚集在一起的情形下,这种方法可能失败。因此,使用这种排序技术可能难以选择和抓取虚拟场景的背景中的位于前景中的对象之间(并且更靠近原始参考射线)的对象。例如,当使用图9B中所描绘的基础命中点排序方法时,用户可能无法与对象C相交(例如,用户将无法选择对象C)。因此,在一些情况下,可以调整该命中点排序方法以基于距参考射线的与其原点相反的线的距离来为命中点排出优先顺序。例如,如图9C所示,对象C可以被认为是最靠近的命中,因为命中点H3比命中点H2(距离d2)或命中点H1(距离d1)更靠近(距离d3)参考射线904(例如,球体投射的中心)。
本文所述的实施方案提供了允许用户选择和抓取虚拟对象(例如,用户界面(UI)元素、UI项目(例如,工具栏和/或工具箱内的虚拟对象)、虚拟模型,等等)的增强机制。在一些实施方案中,可以将射线投射方法和球体投射方法结合。在一些实施方案中,可以引入进一步的细化以确保用户选择虚拟对象时的更高水平的准确性和/或稳定性。例如,图10展示了根据一些实施方案的用于用户选择虚拟世界中的虚拟对象的方法的示例的流程图。图10所示的方法可以与图中所示的任何系统、方法或装置以及其它装置结合使用。在各种实施例中,所示的方法元素中的一些可以以与所示不同的顺序同时执行,或者可以省略。还可以根据需要执行附加的方法元素。如图所示,该方法可以如下操作。
在1002处,可以执行射线投射过程。换句话讲,射线可以从用户输入装置(诸如上述触笔600)的顶端投射到虚拟世界中。在一些实施方案中,可以捕获相交结果(例如,可以检测与虚拟对象的相交,并且可以基于距射线原点的距离来对这些对象进行排名(或排出优先顺序))。在一些实施方案中,射线投射的命中半径可以是可配置的,因此,在1004处,可以确定命中半径是否为非零的。
在1006处,响应于确定命中半径为非零的,可以执行球体投射。在一些实施方案中,可以使用智能命中点排序方法来捕获最靠近参考射线(例如,投射球体的中心)的相交结果。在一些实施方案中,如果确定了相交,则命中半径可以暂时增加指定百分比的其原始指定值(例如,增加5%、10%、15%、20%、25%等等)。暂时增加命中半径可能导致用户移动(调整)触笔,使得球体投射不再与虚拟对象相交(需注意,在较低的百分比下,用户可能无法感知到相交的丢失)。一旦不再与虚拟对象相交,命中半径就可能恢复回到其原始值。这种方案在用户正在跨越与虚拟对象相交和不与虚拟对象相交之间的边界的情形下可能是有用的。在这样的情形下,由于用户可能难以(例如,用户保持他们的手稳定几乎是不可能的)保持稳定的手,所以,由于球体投射检测到与虚拟对象相交,然后未检测到与虚拟对象相交,系统可能进入其中对虚拟对象的选择来回摆动的状态(这可能导致从触笔的顶端投影的光束由于其长度快速改变而显得“闪烁”)。因此,动态地改变命中半径可以消除这种不稳定性(例如,消除虚拟对象选择中的滞后)。
在1008处,可以对来自射线投射和球体投射的相交结果进行比较和/或排出优先顺序。在一些实施方案中,如果射线投射成功(检测到相交)并且球体投射失败(未检测到相交),则来自射线投射的结果相比来自球体投射的结果可以被优先考虑。在一些实施方案中,如果射线投射失败并且球体投射成功,则来自球体投射的结果相比来自射线投射的结果可以被优先考虑。
在一些实施方案中,如果射线投射和球体投射都成功,并且检测结果有区别,则来自射线投射的结果相比来自球体投射的结果可以被优先考虑。在一些实施方案中,当用户将触笔指向虚拟对象时,这种优先考虑可以提高准确性,例如,如图11所展示。如图11所示,用户可以定位触笔600以瞄准在虚拟场景中显示的虚拟对象,诸如对象1110和1112。系统(诸如系统100A或100B)可以确定触笔600的位置。在一些实施方案中,触笔600可以是被动式触笔,并且系统可以在物理空间中跟踪触笔600,以确定触笔600的位置和/或取向。在一些实施方案中,触笔600可以是主动式触笔(例如,可以包括用于测量位置和/或取向的仪器),并且可以例如通过向系统提供位置和/或取向相关信息,来帮助系统确定触笔600的位置和/或取向。根据触笔的位置和/或取向,系统可以确定来自触笔600的顶端的射线的起始点和方向,如图所示。除了将射线1102投影(投射)到虚拟场景中之外,系统还可以将球体1104投影(投射)到虚拟场景中。在一些实施方案中,球体可以具有可配置的(和/或可调整的)半径。如图所示,射线1102可以在命中点1122处与对象1112相交,而球体1104可以在命中点1120处与对象1110相交。该系统可以独立地针对射线投射过程和球体投射过程记录两个命中点,并且为命中点排出优先顺序。在比较结果时,系统可以确定射线投射使得命中点1122具有第一优先顺序,并且球体投射使得命中点1120具有第一优先顺序。因此,为了增强用户将触笔指向虚拟对象时的准确性,系统可以相比球体投射结果(例如,命中点1120)优先考虑射线投射结果(例如,命中点1122),并且为用户选择对象1112。
在一些实施方案中,如果射线投射和球体投射都成功,并且结果相同,则来自球体投射的结果相比来自射线投射的结果可以被优先考虑。在一些实施方案中,这种优先考虑可以通过确保当从球体投射成功并且射线投射失败的状态过渡到球体投射和射线投射都成功的状态时,命中点将不会“跳”到射线投射结果的命中点,来增强用户体验,例如,如图12所展示。如图12所示,用户可以定位触笔600以瞄准在虚拟场景中显示的虚拟对象,诸如对象1210和1212。系统(诸如系统100A或100B)可以确定触笔600的位置。在一些实施方案中,触笔600可以是被动式触笔,并且系统可以在物理空间中跟踪触笔600,以确定触笔600的位置和/或取向。在一些实施方案中,触笔600可以是主动式触笔(例如,可以包括用于测量位置和/或取向的仪器),并且可以例如通过向系统提供位置和/或取向相关信息,来帮助系统确定触笔600的位置和/或取向。根据触笔的位置和/或取向,系统可以确定来自触笔600的顶端的射线的起始点和方向,如图所示。除了将射线1202投影(投射)到虚拟场景中之外,系统还可以将球体1204投影(投射)到虚拟场景中。在一些实施方案中,球体可以具有可配置的(和/或可调整的)半径。如图所示,射线1202可以在命中点1222处与对象1210相交,并且在命中点1224处与对象1212相交,而球体1204可以在命中点1220处与对象1210相交。该系统可以独立地针对射线投射过程和球体投射过程记录这些命中点,并且为命中点排出优先顺序。在比较结果时,系统可以确定射线投射使得命中点1222具有第一优先顺序,并且球体投射使得命中点1220具有第一优先顺序。因此,为了通过确保当从球体投射成功并且射线投射失败的状态过渡到球体投射和射线投射都成功的状态时,命中点将不会“跳”到射线投射结果的命中点,来增强用户体验,系统可以相比射线投射结果(例如,命中点1222)优先考虑球体投射结果(例如,命中点1220),并且为用户选择对象1210。
在1010处,可以例如基于正在使用哪些过程结果来渲染触笔光束。例如,如果所选择的命中点与投射的射线共线(例如,意味着射线投射结果相比球体投射结果已经被优先考虑),则可以从触笔的顶端渲染笔直的刚性光束。作为另一个示例,如果所选择的命中点与投射的射线不共线(例如,意味着球体投射结果相比射线投射结果已经被优先考虑),则可以渲染可能显得“对齐”到(例如,变成和/或动画变化为)所选择的命中点的弯曲光束。在一些实施方案中,当用户在虚拟世界中自由地四处移动触笔时,所渲染的光束的顶端可以发生动画变化,以在所渲染的光束从对象到对象对齐时提供平滑过渡。在一些实施方案中,一旦开始抓取(例如,虚拟对象的用户选择),则光束的形状可以被锁定并且/或者是刚性的,使得所渲染的光束与当前抓取的虚拟对象以锁定步进的方式移动。在一些实施方案中,一旦抓取完成,光束就可以转变回到其流动的动画变化状态。
在一些实施方案中,为了帮助选择虚拟对象,当触笔光束接近被确定为目标的对象(例如,要选择的对象)时,可以降低附近对象的“复杂性”。换句话讲,可以简化目标对象附近和/或邻近目标对象的对象的渲染,以帮助用户选择目标对象。
在一些实施方案中,用于“对齐”到目标对象的标准可以取决于(和/或至少部分地基于)目标对象是模型(例如,虚拟场景内的虚拟对象)还是用户界面项目(例如,虚拟场景的工具栏和/或工具箱内的虚拟对象)。
在一些实施方案中,当多个触笔在单个环境(例如,多用户使用案例)中交互时,可以限定用于选择虚拟对象的规则,以帮助用户对象选择和/或避免用户对象选择中的冲突。例如,一旦第一用户选择了某个虚拟对象,则第二用户的虚拟光束在靠近该虚拟对象时,可以被吸引到(例如,牵引到和/或对齐到)该虚拟对象。另外,在一些实施方案中,一旦第一用户选择了某个虚拟对象,则在第一用户将其释放之前可以不允许其他用户选择该虚拟对象。在一些实施方案中,一旦第一用户选择了某个虚拟对象,则可以允许其他用户对该对象执行某些操作和/或任务(例如,以某种方式改变该虚拟对象,例如,剪切、重塑、调整大小、重新着色,等等)。
在一些实施方案中,随着虚拟光束指定虚拟对象的时间量增加,虚拟光束附接到虚拟对象的量增加。换句话讲,用户与虚拟对象交互得越多,用户将继续与该虚拟对象交互的可能性就越大,因此,系统进行的调整允许经由与该虚拟对象的更强(例如,从比正常情况更远的距离)对齐来更容易地选择该虚拟对象。在一些实施方案中,在多次选择和/或由虚拟光束指定一定量的时间之后,虚拟对象可以变成“被指定的”,从而允许更容易地实现对该虚拟对象的第二和/或后续选择。在一些实施方案中,该指定形成或有助于前面提到的概率模型的统计先验或贝叶斯先验。
在一些实施方案中,当虚拟场景内的对象处于运动中时,系统可以预测(和/或确定)用户意图选择哪个对象(例如,基于触笔的运动以及触笔的位置和/或取向),并且可以将虚拟光束对齐到该虚拟对象。例如,如果虚拟场景是包括许多跑步者的比赛,并且系统确定(或预测)用户正在尝试选择该比赛的领跑者,则虚拟光束可以对齐到该领跑者。作为另一个示例,如果虚拟场景是具有大量移动穿过该虚拟场景的海洋生物的珊瑚礁,则该系统可以确定用户意图选择哪个生物并对齐到该生物。在一些实施方案中,作为速度的函数的优先考虑可以从概率模型确定。
在一些实施方案中,射线投射结果或球体投射结果可以通过先前讨论的概率输入模型来被优先考虑(例如,通过选择输出向量中概率值最高的虚拟对象)。
在一些实施方案中,用户可能希望切换到打开/关闭智能触笔光束行为,以及/或者切换到打开/关闭概率输入行为。在此类实施方案中,当切换到关闭时,系统可以执行简单的射线投射过程并且报告第一虚拟对象或对象命中(如果有的话)。相反地,当切换到打开时,前面提到的智能触笔光束和/或概率输入行为适用。在一些实施方案中,用户可以按下并释放用户输入装置上的按钮以切换模式、按下并保持该按钮以切换到打开直到将该按钮释放、按下并保持该按钮以切换到关闭直到将该按钮释放,以及/或者可以使用键盘按钮或触摸板按钮来进行上述任何操作。
图13展示了根据一些实施方案的用于用户选择虚拟场景中的虚拟对象的方法的示例。图13所示的方法可以与图中所示的任何系统、方法或装置以及其它装置结合使用。在各种实施例中,所示的方法元素中的一些可以以与所示不同的顺序同时执行,或者可以省略。还可以根据需要执行附加的方法元素。如图所示,该方法可以如下操作。
在1302处,可以例如经由用户输入装置接收用户输入。用户输入可以是尝试选择在显示系统的显示器上的虚拟场景中渲染的虚拟对象。在一些实施方案中,虚拟场景可以是三维(3D)虚拟场景。在一些实施方案中,显示器可以是3D立体显示器。
在1304处,可以响应于第一用户输入来确定用户输入装置的位置和取向。在一些实施方案中,确定用户输入装置的位置和取向可以包括经由从显示系统的跟踪系统接收的输入来跟踪用户输入装置的位置和取向。在一些实施方案中,用户输入装置可以包括一个或多个视觉指示点(和/或视觉指示点的图案)。在一些实施方案中,可以从用户输入装置接收(一般来讲,例如通过跟踪系统和/或该系统)与该用户输入装置的位置和/或取向相关联的信息。在一些实施方案中,用户输入装置的位置和取向可以是相对于显示器的位置和取向。在一些实施方案中,用户输入装置可以是触笔。
在1306处,基于用户输入装置的位置和取向,可以执行射线投射过程和球体投射过程,以确定所选择的虚拟对象。在一些实施方案中,执行射线投射过程可以包括基于用户输入装置的位置和取向来确定射线的起始位置和方向。此外,可以确定一个或多个命中点。需注意,在射线投射过程中,命中点可以包括射线与虚拟场景的虚拟对象之间的交点。可以基于从与虚拟对象的交点到射线的起始位置的距离来为一个或多个命中点排出优先顺序。在一些实施方案中,执行球体投射过程可以包括基于用户输入装置的位置和取向以及沿参考射线移动的球体的半径来确定参考射线的起始位置和方向。此外,可以确定一个或多个命中点。需注意,在球体投射过程中,命中点可以包括球体与虚拟场景的虚拟对象之间的交点。可以基于从与虚拟对象的交点到射线的起始位置的距离以及从该交点到参考射线的距离来为一个或多个命中点排出优先顺序。在一些实施方案中,确定一个或多个命中点可以包括在检测到相交时将命中半径暂时增加指定百分比的其原始指定值,并且在确定不再存在相交时,将命中半径返回到其原始指定值。在一些实施方案中,射线投射过程和球体投射过程可以各自包括可配置的命中半径。
在1308处,可以将射线投射过程和球体投射过程的结果进行比较。在一些实施方案中,当这些结果有区别时,射线投射结果相比球体投射结果可以被优先考虑。在一些实施方案中,当这些结果没有区别时,球体投射结果相比射线投射结果可以被优先考虑。
在1310处,可以基于该比较从用户输入装置将虚拟光束渲染到虚拟对象。在一些实施方案中,当使用射线投射结果时,虚拟光束可以是笔直的和刚性的。在一些实施方案中,当使用球体投射结果时,虚拟光束可以是非刚性的并且向虚拟对象弯曲。
在一些实施方案中,响应于确定射线投射过程未能识别到相交,可以优先考虑球体投射过程的结果。在一些实施方案中,响应于确定球体投射过程未能识别到相交,可以优先考虑射线投射过程的结果。
在一些实施方案中,响应于确定虚拟光束正在接近某个虚拟对象,可以简化(例如,以较少的真实感显示)邻近该虚拟对象的多个虚拟对象的渲染。在一些实施方案中,可以监测该虚拟对象已被选择的时间量。另外,响应于该时间量超过阈值,可以将该虚拟对象指定为优先虚拟对象。在一些实施方案中,选择优先虚拟对象相比选择非优先虚拟对象可以被优先考虑,从而使对该虚拟对象的后续选择变得容易。
在一些实施方案中,多个虚拟对象可以在虚拟场景内移动,并且基于射线投射或球体投射之一的结果,可以确定用户意图选择这些移动的虚拟对象中的一个或多个虚拟对象。响应于该确定,可以将虚拟光束对齐到移动的虚拟对象(和/或一组移动的虚拟对象),例如,以帮助选择移动的虚拟对象。
很好理解的是,个人可识别信息(诸如用户量度和/或用户特性)的使用应当遵循通常被认为满足或超过用于维护用户隐私的行业或政府要求的隐私策略和实践。特别地,个人可识别信息数据应当被管理和处理,以便最小化无意或未授权访问或使用的风险。此外,授权使用的性质应当清楚地指示给用户。
本公开的实施方式可以以各种形式中的任一种来实现。例如,一些实施例可被实现为计算机实现的方法、计算机可读存储介质或计算机系统。可以使用诸如ASIC的一个或多个定制设计的硬件装置来实现其它实施例。可以使用诸如FPGA的一个或多个可编程硬件元件来实现另外的实施例。
在一些实施方式中,非暂态计算机可读内存介质可被配置,使得其存储程序指令和/或数据,其中所述程序指令在由计算机系统执行时使计算机系统执行方法,例如本文中所描述的方法实施方式中的任一者,或本文中所描述的方法实施方式的任何组合,或本文中所描述的方法实施方式中的任一者的任何子集,或此类子集的任何组合。
在一些实施方式中,设备(例如,UE 106)可被配置为包括处理器和内存介质,其中内存介质存储程序指令,其中处理器被配置为从内存介质读取并执行程序指令,其中程序指令可执行以执行本文中所描述的各种方法实施方式中的任一者(或本文中所描述的方法实施方式的任何组合,或本文描述的任何方法实施方式的任何子集,或此类子集的任何组合)。该装置可以以各种形式中的任何一种形式来实现。
虽然已相当详细地描述了以上实施例,但是一旦完全理解以上公开内容,许多变化和修改对本领域技术人员将会变为显而易见。期望将随附权利要求解释为涵盖所有此类变化和修改。
Claims (20)
1.一种存储编程指令的非暂态计算机可读存储介质,所述编程指令可由显示系统的处理器执行以便:
经由用户输入装置接收第一用户输入,其中所述第一用户输入是尝试选择在所述显示系统的显示器上的虚拟场景中渲染的虚拟对象,其中所述虚拟场景包括多个虚拟对象;
响应于所述第一用户输入,确定所述用户输入装置的位置和取向;
基于所述用户输入装置的所述位置和所述取向,执行射线投射过程和球体投射过程,以确定所选择的所述虚拟对象;
比较所述射线投射过程和所述球体投射过程的结果,其中,当所述结果有区别时,射线投射结果相比球体投射结果被优先考虑,并且其中,当所述结果没有区别时,所述球体投射结果相比所述射线投射结果被优先考虑;以及
基于所述比较,从所述用户输入装置将虚拟光束渲染到所述虚拟对象,其中当使用射线投射结果时,所述虚拟光束是笔直的和刚性的,并且其中当使用球体投射结果时,所述虚拟光束是非刚性的并且向所述虚拟对象弯曲。
2.根据权利要求1所述的非暂态计算机可读存储介质,
其中,为了执行所述射线投射过程,所述编程指令进一步可执行以便:
基于所述用户输入装置的所述位置和所述取向来确定射线的起始位置和方向;
确定一个或多个命中点,其中命中点包括所述射线与所述虚拟场景的虚拟对象之间的交点;以及
基于从与虚拟对象的交点到所述射线的所述起始位置的距离来为所述一个或多个命中点排出优先顺序。
3.根据权利要求1所述的非暂态计算机可读存储介质,
其中,为了执行所述球体投射过程,所述编程指令进一步可执行以便:
基于所述用户输入装置的所述位置和所述取向以及沿参考射线移动的球体的半径来确定所述参考射线的起始位置和方向;
确定一个或多个命中点,其中命中点包括所述球体与所述虚拟场景的虚拟对象之间的交点;以及
基于从与虚拟对象的交点到所述射线的所述起始位置的距离以及从所述交点到所述参考射线的距离来为所述一个或多个命中点排出优先顺序。
4.根据权利要求3所述的非暂态计算机可读存储介质,
其中为了确定所述一个或多个命中点,所述编程指令进一步可执行以便:
在检测到相交时,将命中半径暂时增加指定百分比的其原始指定值;以及
在确定不再存在相交时,将所述命中半径返回到其原始指定值。
5.根据权利要求1所述的非暂态计算机可读存储介质,
其中所述编程指令进一步可执行以便:
响应于确定所述射线投射过程未能识别到相交,优先考虑所述球体投射过程的结果;以及
响应于确定所述球体投射过程未能识别到相交,优先考虑所述射线投射过程的结果。
6.根据权利要求1所述的非暂态计算机可读存储介质,
其中,为了确定所述用户输入装置的位置和取向,所述编程指令进一步可执行以便:
经由从所述显示系统的跟踪系统接收的输入来跟踪所述用户输入装置的位置和取向,其中所述用户输入装置包括一个或多个视觉指示点。
7.根据权利要求1所述的非暂态计算机可读存储介质,
其中所述用户输入装置的所述位置和所述取向是相对于所述显示器的位置和取向。
8.根据权利要求1所述的非暂态计算机可读存储介质,
其中所述编程指令进一步可执行以便:
确定对与选择所述多个虚拟对象中的每个虚拟对象相关联的概率模型的多个输入,其中所述多个输入包括用户头部状态、用户眼睛状态、用户输入装置状态、所述概率模型的先前输出、虚拟对象状态、用户属性、来自与所述显示系统通信的装置的输出中的一者或多者;
针对所述多个虚拟对象中的每个虚拟对象,计算用户意图使用所述概率模型选择该虚拟对象的概率;以及
响应于所述第一用户输入,基于所述计算的概率来确定所述多个虚拟对象中的预期虚拟对象。
9.根据权利要求1所述的非暂态计算机可读存储介质,
其中所述编程指令进一步可执行以便:
监测所述虚拟对象被选择的时间量;以及
响应于所述时间量超过阈值,将所述虚拟对象指定为优先对象,其中选择优先对象相比选择非优先对象被优先考虑,从而使对所述虚拟对象的后续选择变得容易。
10.根据权利要求1所述的非暂态计算机可读存储介质,
其中所述编程指令进一步可执行以便:
确定所述虚拟场景内的多个对象正在移动;
基于所述射线投射或球体投射之一的结果确定所述用户意图选择的移动对象;以及
将所述虚拟光束对齐到所述移动对象。
11.一种三维(3D)立体显示系统,包括:
至少一个处理器;
一个或多个显示器,其耦接到所述至少一个处理器;
跟踪系统,其包括两个或更多个相机并且与所述至少一个处理器通信;以及
存储器,其与所述跟踪系统和所述至少一个处理器通信,其中所述至少一个处理器被配置为:
经由用户输入装置接收第一用户输入,其中所述第一用户输入是尝试选择在所述一个或多个显示器上的虚拟场景中渲染的虚拟对象,其中所述虚拟场景包括多个虚拟对象;
响应于所述第一用户输入,确定所述用户输入装置的位置和取向;
基于所述用户输入装置的所述位置和所述取向,执行射线投射过程和球体投射过程,以确定所选择的所述虚拟对象;
比较所述射线投射过程和所述球体投射过程的结果,其中,当所述结果有区别时,射线投射结果相比球体投射结果被优先考虑,并且其中,当所述结果没有区别时,所述球体投射结果相比所述射线投射结果被优先考虑;以及
基于所述比较,从所述用户输入装置将虚拟光束渲染到所述虚拟对象,其中当使用射线投射结果时,所述虚拟光束是笔直的和刚性的,并且其中当使用球体投射结果时,所述虚拟光束是非刚性的并且向所述虚拟对象弯曲。
12.根据权利要求11所述的3D立体显示系统,
其中所述射线投射过程和所述球体投射过程各自包括可配置的命中半径。
13.根据权利要求11所述的3D立体显示系统,
其中所述至少一个处理器被进一步配置为:
响应于确定所述射线投射过程未能识别到相交,优先考虑所述球体投射过程的结果;以及
响应于确定所述球体投射过程未能识别到相交,优先考虑所述射线投射过程的结果。
14.根据权利要求11所述的3D立体显示系统,
其中,为了确定所述用户输入装置的位置和取向,其中所述至少一个处理器被进一步配置为:
经由所述跟踪系统来跟踪所述用户输入装置的位置和取向,其中所述用户输入装置包括一个或多个视觉指示点;以及
从所述用户输入装置接收与所述用户输入装置的位置和/或取向相关联的信息。
15.一种无线装置,包括:
至少一根天线;
至少一个无线电单元,其与所述至少一根天线通信并且被配置为使用至少一种无线电接入技术(RAT)来执行无线通信;
一个或多个处理器,其耦接到所述至少一个无线电单元;
跟踪系统,其包括两个或更多个相机并且与所述一个或多个处理器通信;以及
至少一个显示器,其与所述一个或多个处理器通信;
其中所述一个或多个处理器被配置为使所述无线装置执行以下操作:
在所述至少一个显示器上显示的虚拟场景中渲染多个虚拟对象;
确定对与选择所述多个虚拟对象中的每个虚拟对象相关联的概率模型的多个输入,其中所述多个输入包括用户头部状态、用户眼睛状态、用户输入装置状态、所述概率模型的先前输出、虚拟对象状态、用户属性、来自与所述无线装置通信的装置的输出中的一者或多者;
针对所述多个虚拟对象中的每个虚拟对象,计算用户意图使用所述概率模型选择该虚拟对象的概率;以及
响应于经由用户输入装置的用户输入,基于所述计算的概率来确定所述多个虚拟对象中的预期虚拟对象。
16.根据权利要求15所述的无线装置,
其中来自与所述无线装置通信的装置的输出包括以下项中的至少一者:
所述跟踪系统的置信度值;
来自所述用户的个人电子装置的数据;或者
来自计算机视觉系统的数据。
17.根据权利要求15所述的无线装置,
其中所述概率模型至少部分地基于一个或多个用户会话来训练,其中训练所述概率模型包括针对多个特定用户定制所述概率模型,其中所述多个特定用户与一种或多种用户属性相关联。
18.根据权利要求15所述的无线装置,
其中所述概率模型至少部分地基于以下项中的一者或多者:
神经网络计算模型;
循环神经网络计算模型;
振荡神经网络计算模型;
贝叶斯网络计算模型;
动态贝叶斯网络计算模型;
决策树计算模型;
决策森林计算模型;
隐马尔可夫模型计算模型;
高斯混合模型计算模型;或者
马尔可夫随机场计算模型。
19.根据权利要求15所述的无线装置,
其中所述一个或多个处理器被进一步配置为使所述无线装置执行以下操作:
响应于所述用户输入,确定所述用户输入装置的位置和取向;
基于所述用户输入装置的所述位置和所述取向,执行射线投射过程和球体投射过程,以确定所选择的所述虚拟对象;
比较所述射线投射过程和所述球体投射过程的结果,其中,当所述结果有区别时,射线投射结果相比球体投射结果被优先考虑,并且其中,当所述结果没有区别时,所述球体投射结果相比所述射线投射结果被优先考虑;以及
基于所述比较,从所述用户输入装置将虚拟光束渲染到所述虚拟对象,其中当使用射线投射结果时,所述虚拟光束是笔直的和刚性的,并且其中当使用球体投射结果时,所述虚拟光束是非刚性的并且向所述虚拟对象弯曲。
20.根据权利要求15所述的无线装置,
其中所述用户头部状态包括所述用户的头部的位置、取向和速度,其中所述用户眼睛状态包括所述用户的眼睛注视的注视方向和速度,其中所述用户输入装置状态包括所述用户输入装置的位置、取向和速度,其中所述概率模型的所述先前输出包括针对所述多个虚拟对象中的每个虚拟对象的先前计算的概率,并且其中所述虚拟对象状态包括所述虚拟场景内的所述多个虚拟对象中的每个虚拟对象的位置和速度。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/562,944 US10943388B1 (en) | 2019-09-06 | 2019-09-06 | Intelligent stylus beam and assisted probabilistic input to element mapping in 2D and 3D graphical user interfaces |
US16/562,944 | 2019-09-06 | ||
PCT/US2020/048964 WO2021046065A1 (en) | 2019-09-06 | 2020-09-01 | Intelligent stylus beam and assisted probabilistic input to element mapping in 2d and 3d graphical use interfaces |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114402589A true CN114402589A (zh) | 2022-04-26 |
CN114402589B CN114402589B (zh) | 2023-07-11 |
Family
ID=74850407
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202080062082.6A Active CN114402589B (zh) | 2019-09-06 | 2020-09-01 | 用于2d和3d图形用户界面中的元素映射的智能触笔光束和辅助概率输入 |
Country Status (4)
Country | Link |
---|---|
US (2) | US10943388B1 (zh) |
EP (1) | EP4026318A4 (zh) |
CN (1) | CN114402589B (zh) |
WO (1) | WO2021046065A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117243584A (zh) * | 2023-09-11 | 2023-12-19 | 深圳市熠华智能科技有限公司 | 基于手环式心电设备的心率监测方法、设备及存储介质 |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102346206B1 (ko) | 2014-01-22 | 2022-01-03 | 가부시키가이샤 와코무 | 위치 지시기, 위치 검출 장치, 위치 검출 회로 및 위치 검출 방법 |
US10649550B2 (en) | 2018-06-26 | 2020-05-12 | Intel Corporation | Predictive detection of user intent for stylus use |
US10943388B1 (en) * | 2019-09-06 | 2021-03-09 | Zspace, Inc. | Intelligent stylus beam and assisted probabilistic input to element mapping in 2D and 3D graphical user interfaces |
US11175730B2 (en) | 2019-12-06 | 2021-11-16 | Facebook Technologies, Llc | Posture-based virtual space configurations |
CN111552429B (zh) * | 2020-04-29 | 2021-07-23 | 杭州海康威视数字技术股份有限公司 | 一种图形选中方法、装置及电子设备 |
US11257280B1 (en) * | 2020-05-28 | 2022-02-22 | Facebook Technologies, Llc | Element-based switching of ray casting rules |
US11256336B2 (en) | 2020-06-29 | 2022-02-22 | Facebook Technologies, Llc | Integration of artificial reality interaction modes |
US11178376B1 (en) | 2020-09-04 | 2021-11-16 | Facebook Technologies, Llc | Metering for display modes in artificial reality |
US11295483B1 (en) | 2020-10-01 | 2022-04-05 | Bank Of America Corporation | System for immersive deep learning in a virtual reality environment |
US11474598B2 (en) * | 2021-01-26 | 2022-10-18 | Huawei Technologies Co., Ltd. | Systems and methods for gaze prediction on touch-enabled devices using touch interactions |
CN114022601A (zh) * | 2021-11-04 | 2022-02-08 | 北京字节跳动网络技术有限公司 | 一种体积元素渲染方法、装置及设备 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6704694B1 (en) * | 1998-10-16 | 2004-03-09 | Massachusetts Institute Of Technology | Ray based interaction system |
US7646394B1 (en) * | 2004-03-05 | 2010-01-12 | Hrl Laboratories, Llc | System and method for operating in a virtual environment |
CN103425354A (zh) * | 2012-05-25 | 2013-12-04 | 精工爱普生株式会社 | 数据处理装置、显示装置以及数据处理装置的控制方法 |
US20140317575A1 (en) * | 2013-04-21 | 2014-10-23 | Zspace, Inc. | Zero Parallax Drawing within a Three Dimensional Display |
WO2016099906A2 (en) * | 2014-12-19 | 2016-06-23 | Microsoft Technology Licensing, Llc | Assisted object placement in a three-dimensional visualization system |
US9723248B1 (en) * | 2015-02-02 | 2017-08-01 | Amazon Technologies, Inc. | Perspective-aware projected user interfaces |
CN107250891A (zh) * | 2015-02-13 | 2017-10-13 | Otoy公司 | 头戴式显示器与真实世界对象之间的相互通信 |
US20170329401A1 (en) * | 2004-03-02 | 2017-11-16 | Brian T. Mitchell | Simulated training environments based upon fixated objects in specified regions |
US9928648B2 (en) * | 2015-11-09 | 2018-03-27 | Microsoft Technology Licensing, Llc | Object path identification for navigating objects in scene-aware device environments |
US20180114353A1 (en) * | 2016-10-20 | 2018-04-26 | Zspace, Inc. | Integrating Real World Conditions into Virtual Imagery |
Family Cites Families (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7324085B2 (en) * | 2002-01-25 | 2008-01-29 | Autodesk, Inc. | Techniques for pointing to locations within a volumetric display |
WO2003083822A1 (en) | 2002-01-25 | 2003-10-09 | Silicon Graphics, Inc. | Three dimensional volumetric display input and output configurations |
US9274598B2 (en) * | 2003-08-25 | 2016-03-01 | International Business Machines Corporation | System and method for selecting and activating a target object using a combination of eye gaze and key presses |
US8749544B2 (en) | 2007-09-26 | 2014-06-10 | Autodesk, Inc. | Navigation system for a 3D virtual scene |
US8681178B1 (en) * | 2010-11-02 | 2014-03-25 | Google Inc. | Showing uncertainty in an augmented reality application |
KR102318391B1 (ko) * | 2013-03-15 | 2021-10-26 | 매직 립, 인코포레이티드 | 디스플레이 시스템 및 방법 |
GB2523077A (en) * | 2013-12-23 | 2015-08-19 | Light Blue Optics Ltd | Touch sensing systems |
KR102210633B1 (ko) * | 2014-07-09 | 2021-02-02 | 엘지전자 주식회사 | 가상 오브젝트의 뎁스와 연계된 인정범위를 가진 디스플레이 디바이스 및 그 제어 방법 |
US9123171B1 (en) * | 2014-07-18 | 2015-09-01 | Zspace, Inc. | Enhancing the coupled zone of a stereoscopic display |
US9607428B2 (en) * | 2015-06-30 | 2017-03-28 | Ariadne's Thread (Usa), Inc. | Variable resolution virtual reality display system |
AU2016341196B2 (en) * | 2015-10-20 | 2021-09-16 | Magic Leap, Inc. | Selecting virtual objects in a three-dimensional space |
US20170178012A1 (en) * | 2015-12-17 | 2017-06-22 | Microsoft Technology Licensing, Llc | Precaching via input method trajectory prediction |
US10019849B2 (en) * | 2016-07-29 | 2018-07-10 | Zspace, Inc. | Personal electronic device with a display system |
US20180101986A1 (en) | 2016-10-10 | 2018-04-12 | Aaron Mackay Burns | Drawing in a 3d virtual reality environment |
US10453271B2 (en) * | 2016-12-07 | 2019-10-22 | Microsoft Technology Licensing, Llc | Automated thumbnail object generation based on thumbnail anchor points |
US11132543B2 (en) * | 2016-12-28 | 2021-09-28 | Nvidia Corporation | Unconstrained appearance-based gaze estimation |
US10768693B2 (en) * | 2017-04-19 | 2020-09-08 | Magic Leap, Inc. | Multimodal task execution and text editing for a wearable system |
WO2019014756A1 (en) * | 2017-07-17 | 2019-01-24 | Thalmic Labs Inc. | DYNAMIC CALIBRATION SYSTEMS AND METHODS FOR HEAVY-TO-WEAR HEADING DISPLAY DEVICES |
EP4235263A3 (en) * | 2017-09-29 | 2023-11-29 | Apple Inc. | Gaze-based user interactions |
CN107837529B (zh) * | 2017-11-15 | 2019-08-27 | 腾讯科技(上海)有限公司 | 一种对象选择方法、装置、终端和存储介质 |
US11442591B2 (en) | 2018-04-09 | 2022-09-13 | Lockheed Martin Corporation | System, method, computer readable medium, and viewer-interface for prioritized selection of mutually occluding objects in a virtual environment |
US11151661B2 (en) * | 2018-04-30 | 2021-10-19 | Microsoft Technology Licensing, Llc | Feed actor optimization |
US10861242B2 (en) * | 2018-05-22 | 2020-12-08 | Magic Leap, Inc. | Transmodal input fusion for a wearable system |
US10956524B2 (en) * | 2018-09-27 | 2021-03-23 | Microsoft Technology Licensing, Llc | Joint optimization of notification and feed |
US11430044B1 (en) * | 2019-03-15 | 2022-08-30 | Amazon Technologies, Inc. | Identifying items using cascading algorithms |
US11301677B2 (en) * | 2019-06-14 | 2022-04-12 | Tobil AB | Deep learning for three dimensional (3D) gaze prediction |
US10943388B1 (en) * | 2019-09-06 | 2021-03-09 | Zspace, Inc. | Intelligent stylus beam and assisted probabilistic input to element mapping in 2D and 3D graphical user interfaces |
CN111672117B (zh) * | 2020-06-05 | 2021-07-09 | 腾讯科技(深圳)有限公司 | 虚拟对象的选择方法、装置、设备及存储介质 |
-
2019
- 2019-09-06 US US16/562,944 patent/US10943388B1/en active Active
-
2020
- 2020-09-01 CN CN202080062082.6A patent/CN114402589B/zh active Active
- 2020-09-01 EP EP20861231.7A patent/EP4026318A4/en active Pending
- 2020-09-01 WO PCT/US2020/048964 patent/WO2021046065A1/en unknown
-
2021
- 2021-03-02 US US17/190,265 patent/US11645809B2/en active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6704694B1 (en) * | 1998-10-16 | 2004-03-09 | Massachusetts Institute Of Technology | Ray based interaction system |
US20170329401A1 (en) * | 2004-03-02 | 2017-11-16 | Brian T. Mitchell | Simulated training environments based upon fixated objects in specified regions |
US7646394B1 (en) * | 2004-03-05 | 2010-01-12 | Hrl Laboratories, Llc | System and method for operating in a virtual environment |
CN103425354A (zh) * | 2012-05-25 | 2013-12-04 | 精工爱普生株式会社 | 数据处理装置、显示装置以及数据处理装置的控制方法 |
US20140317575A1 (en) * | 2013-04-21 | 2014-10-23 | Zspace, Inc. | Zero Parallax Drawing within a Three Dimensional Display |
WO2016099906A2 (en) * | 2014-12-19 | 2016-06-23 | Microsoft Technology Licensing, Llc | Assisted object placement in a three-dimensional visualization system |
US9723248B1 (en) * | 2015-02-02 | 2017-08-01 | Amazon Technologies, Inc. | Perspective-aware projected user interfaces |
CN107250891A (zh) * | 2015-02-13 | 2017-10-13 | Otoy公司 | 头戴式显示器与真实世界对象之间的相互通信 |
US9928648B2 (en) * | 2015-11-09 | 2018-03-27 | Microsoft Technology Licensing, Llc | Object path identification for navigating objects in scene-aware device environments |
US20180114353A1 (en) * | 2016-10-20 | 2018-04-26 | Zspace, Inc. | Integrating Real World Conditions into Virtual Imagery |
Non-Patent Citations (1)
Title |
---|
程成;赵东坡;卢保安;: "虚拟环境的用户意图捕获", 中国图象图形学报, no. 02 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117243584A (zh) * | 2023-09-11 | 2023-12-19 | 深圳市熠华智能科技有限公司 | 基于手环式心电设备的心率监测方法、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
EP4026318A1 (en) | 2022-07-13 |
US20210183132A1 (en) | 2021-06-17 |
US20210074055A1 (en) | 2021-03-11 |
WO2021046065A1 (en) | 2021-03-11 |
WO2021046065A8 (en) | 2021-05-06 |
US10943388B1 (en) | 2021-03-09 |
US11645809B2 (en) | 2023-05-09 |
EP4026318A4 (en) | 2023-09-06 |
CN114402589B (zh) | 2023-07-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114402589B (zh) | 用于2d和3d图形用户界面中的元素映射的智能触笔光束和辅助概率输入 | |
US11287905B2 (en) | Trackability enhancement of a passive stylus | |
US10019849B2 (en) | Personal electronic device with a display system | |
US10078377B2 (en) | Six DOF mixed reality input by fusing inertial handheld controller with hand tracking | |
US11954268B2 (en) | Augmented reality eyewear 3D painting | |
WO2015200406A1 (en) | Digital action in response to object interaction | |
US10701346B2 (en) | Replacing 2D images with 3D images | |
US11869156B2 (en) | Augmented reality eyewear with speech bubbles and translation | |
US20210407213A1 (en) | Augmented reality eyewear with 3d costumes | |
US10701347B2 (en) | Identifying replacement 3D images for 2D images via ranking criteria | |
US20210406542A1 (en) | Augmented reality eyewear with mood sharing | |
US20240070298A1 (en) | Selective collaborative object access | |
US20240070299A1 (en) | Revealing collaborative object using countdown timer | |
US20240069643A1 (en) | Physical gesture interaction with objects based on intuitive design | |
US20240071020A1 (en) | Real-world responsiveness of a collaborative object |
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 |