CN110546595B - 导航全息图像 - Google Patents

导航全息图像 Download PDF

Info

Publication number
CN110546595B
CN110546595B CN201880026897.1A CN201880026897A CN110546595B CN 110546595 B CN110546595 B CN 110546595B CN 201880026897 A CN201880026897 A CN 201880026897A CN 110546595 B CN110546595 B CN 110546595B
Authority
CN
China
Prior art keywords
virtual plane
holographic image
hand
distance
location
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201880026897.1A
Other languages
English (en)
Other versions
CN110546595A (zh
Inventor
R·L·哈斯廷斯
J·B·斯科特
J·G·保罗维奇
J·谢弗里耶
D·A·埃文斯
K·A·卢辛
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Technology Licensing LLC
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Microsoft Technology Licensing LLC filed Critical Microsoft Technology Licensing LLC
Publication of CN110546595A publication Critical patent/CN110546595A/zh
Application granted granted Critical
Publication of CN110546595B publication Critical patent/CN110546595B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction 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/04815Interaction 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/017Gesture based interaction, e.g. based on a set of recognized hand gestures
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/01Head-up displays
    • G02B27/017Head mounted
    • G02B27/0172Head mounted characterised by optical features
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • G06F3/012Head tracking input arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction 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/04845Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range for image manipulation, e.g. dragging, rotation, expansion or change of colour
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction 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/0485Scrolling or panning
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/01Head-up displays
    • G02B27/017Head mounted
    • G02B27/0172Head mounted characterised by optical features
    • G02B2027/0174Head mounted characterised by optical features holographic
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2203/00Indexing scheme relating to G06F3/00 - G06F3/048
    • G06F2203/048Indexing scheme relating to G06F3/048
    • G06F2203/04806Zoom, i.e. interaction techniques or interactors for controlling the zooming operation

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Optics & Photonics (AREA)
  • User Interface Of Digital Computer (AREA)
  • Controls And Circuits For Display Device (AREA)

Abstract

提出了使得能够导航全息图像的技术。跟踪诸如手的移动对象并且识别姿势。响应于识别姿势,在所识别的姿势的位置处创建虚拟形状。该形状具有至少一个维度。基于关于虚拟形状的移动对象的当前定位来移动全息图像。

Description

导航全息图像
背景技术
在计算机上导航图像具有确定的用户体验。例如,可以在显示器上提供地图,并且用户可以操纵鼠标或者触摸屏幕以滑动或缩放地图。但是,当图像是全息图像时,导航变得更加复杂,因为用户可能无法访问鼠标或键盘。即使用户确实能够访问鼠标和键盘,但是利用鼠标导航全息图像也是不直观的。
发明内容
本技术的实施例涉及一种用于导航全息图像的***和方法。跟踪移动对象(例如手)并且识别姿势。响应于识别姿势,在所识别的姿势的位置处创建虚拟形状。基于移动对象相对于虚拟形状的当前定位来移动全息图像。该***还可以用于导航非全息图像。
提供本“发明内容”以便以简化的形式介绍一些概念,这些概念将在下面的“具体实施方式”中进一步描述。本“发明内容”既不旨在标识所要求保护的主题的关键特征或必要特征,也不旨在用于帮助确定所要求保护的主题的范围。
附图说明
图1是头戴式显示设备的一个实施例的透视图。
图2是头戴式显示设备的一个实施例的一部分的侧视图。
图3是头戴式显示设备的组件的一个实施例的框图。
图4是与头戴式显示设备相关联的处理单元的组件的一个实施例的框图。
图5是与头戴式显示设备相关联的处理单元的软件组件的一个实施例的框图。
图6是交互式***的另一示例。
图7示出了可以用作图6的交互式***的一部分的捕获设备的示例实施例。
图8示出了可以实现图6的交互式***的一部分的计算***的示例实施例。
图9A-C描绘了通过头戴式显示设备观看时在混合真实环境中的全息图像。
图10是描述用于导航图像的过程的一个实施例的流程图。
图11是描述用于显示图像的过程的一个实施例的流程图。
图12是描述用于识别姿势的过程的一个实施例的流程图。
图13是描述用于创建虚拟形状的过程的一个实施例的流程图。
图14是描述用于移动图像的过程的一个实施例的流程图。
图15是描述用于平移图像的过程的一个实施例的流程图。
图16描绘了在平移图像时所描绘的用户界面的一个示例。
图17是描述用于缩放图像的过程的一个实施例的流程图。
图18描绘了在平移图像时所描绘的用户界面的一个示例。
具体实施方式
现在将参考附图描述本技术的实施例,附图总体上涉及用于导航全息图像的***和方法。
可以使用各种***来实现用于导航全息图像的技术。一个实施例使用包括显示元件的头戴式显示设备,该显示元件在一定程度上是透明的,使得用户可以通过显示元件查看在用户的视场(FOV)内的真实世界对象。因此,头戴式显示设备也可以称为透视头戴式显示设备。显示元件还提供将全息图像投影到用户的FOV中的能力,使得全息图像也可以出现在真实世界对象旁边。该***自动跟踪用户正在查看的位置,使得该***可以确定在用户的FOV中***全息图像的位置。一旦***知道将全息图像投影到哪里,就使用显示元件来投影图像。全息图像是虚拟图像,因为它实际上并不存在于真实世界中。而是,头戴式显示设备投影虚拟图像,使得用户可以看到它。由于用户可以在用户的FOV和虚拟图像中看到真实世界对象,因此头戴式显示设备可以提供混合真实体验。
在实施例中,处理器可以建立环境的模型,该模型包括一个或多个用户、真实世界对象和全息三维对象的x、y、z笛卡尔定位。在有多个用户观看相同的全息对象的情况下,每个头戴式显示设备的定位可以根据环境的模型进行校准。这允许***确定每个用户的视线和环境的FOV。因此,可以向每个用户显示全息图像,但是***从每个用户的角度来确定全息图像的显示,调整全息图像的视差和环境中其他对象的任何遮挡。环境的三维模型(本文中称为场景图)以及对环境中的每个用户的FOV和对象的所有跟踪可以由移动处理单元自己生成,也可以由移动处理单元与其他处理设备协同工作来生成,如下所述。
图1示出了包括头戴式显示设备32的移动处理设备30,该头戴式显示设备32可以包括其自己的处理单元36或与其通信,例如经由柔性线38。备选地,头戴式显示设备可以与处理单元36无线通信。在另外的实施例中,处理单元36可以被集成到头戴式显示设备32中。在一个实施例中是眼镜(或护目镜)形状的头戴式显示设备32被戴在用户的头上,使得用户可以透视显示器并且从而可以实际直接看到用户前面的空间。下面提供头戴式显示设备32和处理单元36的更多细节。
在未合并到头戴式显示设备32中的情况下,处理单元36可以是小型便携式设备,例如佩戴在用户的手腕上或存储在用户的口袋中(或其他地方)。根据下面说明的本技术的实施例,处理单元36可以包括硬件组件和/或软件组件,以执行诸如全息图像的生成和操纵的应用。在一个实施例中,处理单元36可以包括处理器,诸如标准化处理器、专用处理器、微处理器等,处理器可以执行存储在处理器可读存储设备上的指令以用于执行本文中描述的过程。在实施例中,处理单元36可以与一个或多个远程计算***无线通信(例如,WiFi、蓝牙、红外或其他无线通信部件)。这些远程计算***可以包括计算机或远程服务提供方。在另外的实施例中,处理单元36可以是移动电话或其他蜂窝设备,或者处理单元可以具有到移动蜂窝设备的有线或无线连接。
移动处理设备30的头戴式显示设备32和处理单元36可以彼此协作以在混合真实环境10中向用户呈现全息对象。现在将参考图2-5来说明能够显示随时间生长的全息植物的头戴式显示设备32和处理单元36的细节。
图2仅示出了头戴式显示设备32的右侧,包括该设备的具有镜腿102和鼻梁104的一部分。麦克风110内置在鼻梁104中,以用于记录声音并且将该音频数据传输到处理单元36,如下所述。头戴式显示设备32的前面是可以捕获视频和静止图像的前向摄像机112。如下所述,这些图像被传输到处理单元36。尽管示出了特定配置,但是应当理解,头戴式显示设备32内的各种组件和传感器的定位可以变化。
头戴式显示设备32的框架的一部分将围绕显示器(包括一个或多个透镜)。为了示出头戴式显示设备32的组件,未示出围绕显示器的框架的一部分。该显示器包括光导光学元件115、不透明过滤器114、透视透镜116和透视透镜118。在一个实施例中,不透明过滤器114在透视透镜116后面并且与其对准,光导光学元件115在不透明过滤器114后面并且与其对准,并且透视透镜118在光导光学元件115后面并且与其对准。透视透镜116和118是在眼镜中使用的标准透镜,并且可以根据任何处方制成(包括无处方)。在一个实施例中,透视透镜116和118可以由可变处方透镜代替。不透明过滤器114滤出自然光(基于每像素或均匀地滤出)以增强虚拟图像的对比度。光导光学元件115将人造光引导到眼睛。下面提供不透明过滤器114和光导光学元件115的更多细节。
图像源安装在镜腿102上或内部,该图像源(在一个实施例中)包括用于投影全息图像的微型显示器120和用于将图像从微型显示器120引导到光导光学元件115中的透镜122。在一个实施例中,透镜122是准直透镜。
可以在头戴式显示设备32内提供控制电路136,以支持头戴式显示设备32的各种组件。下面参考图3提供控制电路136的更多细节。耳机130和惯性测量单元132位于或安装在镜腿102内。在图3所示的一个实施例中,惯性测量单元132(或IMU 132)包括惯性传感器,诸如三轴磁力计132A、三轴陀螺仪132B和三轴加速度计132C。惯性测量单元132感测头戴式显示设备32的定位、定向和突然的加速度(俯仰、滚动和偏航)。除了或代替磁力计132A、陀螺仪132B和加速度计132C,IMU 132可以包括其他惯性传感器。
头戴式显示设备32还可以包括一个或多个环境传感器138。环境传感器可以包括温度传感器、湿度传感器、大气压传感器、雨水传感器、空气质量传感器和/或空气中的微粒传感器。这些传感器的配置在本领域中是已知的。应当理解,环境传感器138可以包括用于感测环境参数的其他或附加传感器。如下所述,来自一个或多个环境传感器的反馈可以由处理单元用来确定显示给用户的全息植物的生长速率。
微型显示器120通过透镜122投影图像。存在不同的图像生成技术可以用于实现微型显示器120。例如,微型显示器120可以使用透射投影技术来实现,其中光源由光学活性材料调制、背光为白光。这些技术通常使用具有强大背光和高光能量密度的LCD型显示器来实现。微型显示器120还可以使用反射技术来实现,针对该反射技术,外部光被光活性材料反射和调制。根据技术的不同,照明可以由白色光源或RGB光源前照。高通公司的数字光处理(DLP)、硅上液晶(LCOS)和
Figure BDA0002244370620000051
显示技术是反射技术的示例,这些反射技术非常有效,因为大部分能量都从调制结构反射出来并且因此可以在本***中使用。另外,微型显示器120可以使用其中由显示器生成光的发射技术来实现。例如,来自Microvision公司的PicoPTM显示引擎通过微镜发射激光信号,该微镜将激光信号转向到充当透射元件的小屏幕上或者直接射入眼睛(例如,激光)。
光导光学元件115将来自微型显示器120的光传输到佩戴头戴式显示设备32的用户的眼睛140。光导光学元件115还允许来自头戴式显示设备32的前面的光通过光导光学元件115被传输到眼睛140,如箭头142所示,从而除了从微型显示器120接收虚拟图像之外,还允许用户实际直接查看头戴式显示设备32的前面的空间。因此,光导光学元件115的壁是透视的。光导光学元件115包括第一反射表面124(例如,镜面或其他表面)。来自微型显示器120的光穿过透镜122并且在反射表面124上变为入射。反射表面124反射来自微型显示器120的入射光,使得光通过内部反射而被捕获在包括光导光学元件115的平面基板内。在离开基板表面的几次反射之后,所捕获的光波到达一组选择性反射表面126。注意,五个表面中只有一个标记为126以防止图形过于拥挤。反射表面126将入射在这些反射表面上的光波从基板向外耦合到用户的眼睛140中。
由于不同的光线将以不同的角度行进并且从基板的内部反弹,因此不同的光线将以不的同角度射向各种反射表面126。因此,不同的光线将被反射表面中的不同的反射平面反射出基板。通过选择反射表面126的适当角度来设计对由哪个发射表面126将哪些光线反射出基板的选择。光导光学元件的更多细节可以在于2008年11月20日发布的标题为“Substrate-Guided Optical Devices”的美国专利公开No.2008/0285140中找到。在一个实施例中,每只眼睛将具有其自己的光导光学元件115。当头戴式显示设备32具有两个光导光学元件时,每只眼睛可以具有其自己的微型显示器120,该微型显示器120可以在两只眼睛中显示相同的图像或者在两只眼睛中显示不同的图像。在另一实施例中,可以存在将光反射到两只眼睛中的一个光导光学元件。
与光导光学元件115对准的不透明过滤器114选择性地均匀地或基于每像素地阻挡自然光穿过光导光学元件115。不透明过滤器114的示例的细节在于2010年9月21日提交的标题为“Opacity Filter For See-Through Mounted Display”的Bar-Zeev等人的美国专利公开No.2012/0068913中提供。然而,通常,不透明过滤器114的实施例可以是透视LCD面板、电致变色膜或能够用作不透明过滤器的类似设备。不透明过滤器114可以包括密集像素网格,其中每个像素的光透射率可以在最小透射率与最大透射率之间独立地控制。虽然0-100%的透射率范围是理想的,但是更有限的范围也是可接受的,诸如例如每像素约50%至90%。
头戴式显示设备32还包括用于跟踪用户的眼睛的定位的***。该***将跟踪用户的定位和定向,使得该***可以确定用户的FOV。但是,人不会感知他们面前的一切。取而代之,用户的视线将对准环境的子集。因此,在一个实施例中,该***将包括用于跟踪用户的眼睛的定位的技术,以便改善对用户的FOV的测量。例如,头戴式显示设备32包括眼睛跟踪组件134,眼睛跟踪组件134具有眼睛跟踪照明设备134A和眼睛跟踪相机134B(图3)。在一个实施例中,眼睛跟踪照明设备134A包括一个或多个红外(IR)发射器,其朝着眼睛发射IR光。眼睛跟踪相机134B包括感测反射的IR光的一个或多个相机。可以通过检测角膜的反射的已知成像技术来标识瞳孔的定位。例如,参见于2008年7月22日发布的标题为“Head MountedEye Tracking and Display System”的美国专利No.7,401,920。这种技术可以相对于跟踪相机来定位眼睛中心的位置。通常,眼睛跟踪涉及获得眼睛的图像并且使用计算机视觉技术来确定瞳孔在眼窝内的位置。在一个实施例中,跟踪一只眼睛的位置就足够了,因为眼睛通常是一致移动的。但是,可以分别跟踪每只眼睛。
图2仅示出了头戴式显示设备32的一半。整个头戴式显示设备可以包括另一透视透镜集合、另一不透明过滤器、另一光导光学元件、另一微型显示器120、另一透镜122、另一前向相机、另一眼睛跟踪组件134、耳机和一个或多个附加的环境传感器。
图3是描绘头戴式显示设备32的各个组件的框图。图4是描述处理单元36的各个组件的框图。头戴式显示设备32(其组件在图3中描绘)用于通过将一个或多个虚拟图像与用户对真实世界的视图无缝融合来为用户提供虚拟体验。另外,图3的头戴式显示设备组件包括跟踪各种条件的很多传感器。头戴式显示设备32将从处理单元36接收关于虚拟图像的指令,并且将传感器信息提供回处理单元36。处理单元36可以确定何时何地向用户提供虚拟图像,并且相应地向图3的头戴式显示设备发送指令。
图3的某些组件(例如,前向相机112、眼睛跟踪相机134B、微型显示器120、不透明过滤器114、眼睛跟踪照明134A)以阴影示出以指示这些设备中的每个可能有两个,一个用于头戴式显示设备32的左侧并且一个用于头戴式显示设备32的右侧。图3示出了与电源管理电路202通信的控制电路200。控制电路200包括处理器210、与存储器214(例如,D-RAM)通信的存储器控制器212、相机接口216、相机缓冲区218、显示驱动器220、显示格式器222、定时发生器226、显示器输出接口228和显示器输入接口230。
在一个实施例中,控制电路200的组件经由专用线或一个或多个总线彼此通信。在另一实施例中,控制电路200的组件与处理器210通信。相机接口216提供到两个前向相机112的接口,并且将从前向相机接收的图像存储在相机缓冲区218中。显示驱动器220将驱动微型显示器120。显示格式器222将关于显示在微型显示器120上显示的虚拟图像的信息提供给控制不透明过滤器114的不透明控制电路224。定时发生器226用于为***提供定时数据。显示器输出接口228是用于从前向相机112向处理单元36提供图像的缓冲区。显示器输入接口230是用于接收诸如要在微型显示器120上显示的虚拟图像的图像的缓冲区。显示器输出接口228和显示器输入接口230与频带接口232通信,该频带接口232是到处理单元36的接口。
电源管理电路202包括电压调节器234、眼睛跟踪照明驱动器236、音频DAC和放大器238、麦克风前向放大器和音频ADC 240、环境传感器接口242和时钟发生器245。电压调节器234经由频带接口232从处理单元36接收电力,并且将该电力提供给头戴式显示设备32的其他组件。眼睛跟踪照明驱动器236为眼睛跟踪照明134A提供IR光源,如上所述。音频DAC和放大器238将音频信息输出到耳机130。麦克风前向放大器和音频ADC 240为麦克风110提供接口。环境传感器接口242包括一个或多个接口,该一个或多个接口适于从一个或多个环境传感器138中的相应环境传感器138接收输入。电源管理电路202还提供电力并且从三轴磁力计132A、三轴陀螺仪132B和三轴加速度计132C接收回数据。
图4是描述处理单元36的各个组件的框图。图4示出了与电源管理电路306通信的控制电路304。控制电路304包括中央处理单元(CPU)320、图形处理单元(GPU)322、高速缓存324、RAM 326、与存储器330(例如,D-RAM)通信的存储器控制器328、与闪存334(或其他类型的非易失性存储器)通信的闪存控制器332、经由频带接口302和频带接口232与头戴式显示设备32通信的显示器输出缓冲区336、经由频带接口302和频带接口232与头戴式显示设备32通信的显示器输入缓冲区338、与用于连接到麦克风的外部麦克风连接器342通信的麦克风接口340、用于连接到无线通信设备346的PCI express接口、以及USB端口348。在一个实施例中,无线通信设备346可以包括支持Wi-Fi的通信设备、蓝牙通信设备、红外通信设备等。USB端口可以用于将处理单元36对接到处理单元计算***22,以便将数据或软件加载到处理单元36以及充电处理单元36上。在一个实施例中,CPU 320和GPU 322是用于确定在何处、何时以及如何将虚拟三维对象***用户的视图中的主力。下面提供更多细节。
电源管理电路306包括时钟发生器360、模数转换器362、电池充电器364、电压调节器366和头戴式显示电源376。模数转换器362用于监测电池电压、温度传感器并且控制电池充电功能。电压调节器366与电池368通信以向***供电。电池充电器364用于在从充电插孔370接收到电力时(经由电压调节器366)对电池368充电。HMD电源376向头戴式显示设备32提供电力。如图所示,图4所示的处理单元36的组件可以集成到头戴式显示设备32中。
图3和4提供了一个或多个非暂态处理器可读存储设备的示例的一个集合,该设备存储处理器可读代码以对处理器进行编程以执行导航全息图的方法,如下所述。
图5示出了移动处理设备30的高级框图,该移动处理设备30包括显示设备32的前向相机112和在处理单元36上的一些软件模块。如所指出的,处理单元36的至少部分可以被集成到头戴式显示设备32中,使得所示的软件模块中的一些或全部可以在头戴式显示设备32的处理器210上实现。如图所示,前置相机112向头戴式显示设备32中的处理器210提供图像数据。在一个实施例中,前向相机112可以包括深度相机、RGB相机和/或IR光组件以捕获场景的图像数据。如下所述,前向相机112可以包括少于所有这些组件。
使用例如飞行时间分析,IR光组件可以将红外光发射到场景上并且然后可以使用传感器(未示出)来检测来自场景中的一个或多个对象的表面的反向散射光,例如使用深度相机和/或RGB相机。在一些实施例中,可以使用脉冲红外光,使得可以测量出射光脉冲与相应的入射光脉冲之间的时间,并且可以将该时间用于确定从前向相机112到场景中对象(包括例如用户的手)上的特定位置的物理距离。另外,在其他示例实施例中,可以将出射光波的相位与入射光波的相位进行比较以确定相移。然后可以使用相移来确定从捕获设备到目标或对象上的特定位置的物理距离。
根据另一示例实施例,飞行时间分析可以用于通过经由各种技术(包括例如快门光脉冲成像)分析随时间反射的光束的强度来间接确定从前向相机112到对象上的特定位置的物理距离。
在另一示例实施例中,前向相机112可以使用结构化光来捕获深度信息。在这样的分析中,可以经由例如IR光组件将图案化的光(即,显示为诸如网格图案、条纹图案或不同图案的已知图案的光)投影到场景上。在撞击场景中的一个或多个目标或对象的表面时,图案可能会因响应而变形。图案的这种变形可以由例如3D相机和/或RGB相机(和/或其他传感器)捕获,并且然后可以被分析以确定从前向相机112到对象上的特定位置的物理距离。在一些实现中,IR光组件被从深度和/或RGB相机移开,因此三角测量可以用于确定距深度和/或RGB相机的距离。在一些实现中,前向相机112可以包括用于感测IR光的专用IR传感器、或者具有IR过滤器的传感器。
应当理解,本技术可以在没有深度相机、RGB相机和IR光组件中的每个的情况下感测对象和对象的三维定位。在实施例中,前向相机112可以例如仅与标准图像相机(RGB或黑白)一起工作。这样的实施例可以通过单独地或组合地使用的各种图像跟踪技术来操作。例如,单个标准图像前向相机112可以使用特征标识和跟踪。即,使用来自标准相机的图像数据,可以提取场景的有趣的区域或特征。通过在一段时间内寻找这些相同的特征,可以在三维空间中确定对象的信息。
在实施例中,头戴式显示设备32可以包括两个间隔开的标准图像前向相机112。在这种情况下,可以通过两个相机的立体效果来确定到场景中的对象的深度。每个相机可以对一些重叠的特征集进行成像,并且深度可以从其视图中的视差来计算。
用于利用未知环境内的定位信息来确定场景图的另一种方法是同时定位和映射(SLAM)。SLAM的一个示例在标题为“Systems and Methods for Landmark Generation forVisual Simultaneous Localization and Mapping”的美国专利No.7,774,158中进行了公开。此外,来自IMU的数据可以用于更准确地解释视觉跟踪数据。
根据本技术,处理单元36可以实现全息图模块448,该全息图模块448生成并且操纵(例如,包括平移和缩放)全息图图像的全息图模块448。处理单元36还包括场景映射模块450。使用来自如上所述的前向相机112的数据,场景映射模块能够将场景中的对象映射到作为三维参考系的场景图。场景图可以映射对象,诸如用户的一只手或两只手以及其他真实世界对象。
在上述实施例中,用户可以提供关于将全息对象放置在何处以及如何对其进行尺寸调节的输入。在一个实施例中,处理单元36可以执行手识别和跟踪模块452以促进该用户输入。手识别和跟踪模块452从前向相机112接收图像数据,并且能够在FOV中标识用户的手和用户的手的定位。手识别和跟踪模块452的示例在标题为“System for Recognizing anOpen or Closed Hand”的美国专利公开No.2012/0308140中公开。通常,模块452可以检查图像数据以辨别对象的宽度和长度,该对象可以是手指、手指之间的空间以及手指合在一起的谷部,以便在其各个定位中标识和跟踪用户的手。利用该信息,移动处理设备30能够检测用户将用户的手放在哪里。
处理单元36还可以包括姿势识别引擎454,用于接收场景中的一个或多个用户的骨骼模型和/或手部数据并且确定用户是否正在执行影响在处理单元36上运行的应用的预定义姿势或应用控制移动。关于姿势识别引擎454的更多信息可以在于2009年4月13日提交的标题为“Gesture Recognizer System Architecture”的美国专利申请No.12/422,661中找到。
在一个示例实施例中,头戴式显示设备32和处理单元36共同工作以创建用户所在的环境的场景图或模型,并且跟踪该环境中的各种移动或静止对象。另外,处理单元36通过跟踪头戴式显示设备32的定位和定向来跟踪用户18佩戴的头戴式显示设备32的FOV。由头戴式显示设备32获得的例如来自前向相机112和IMU 132的传感器信息被传输到处理单元36。处理单元36处理数据并且更新场景模型。处理单元36还向头戴式显示设备32提供关于在何处、何时以及如何***和移动全息三维图像的指令。
在一些实施例中,佩戴头戴式显示设备32的用户可以握住或控制移动对象。例如,用户可以握住手杖或控制无人驾驶飞机。在这些实施例中,跟踪模块456可以被配置为跟踪移动对象,以便连续地确定和记录移动对象的位置和定向。姿势识别引擎454还可以用于标识由除了手以外的移动对象执行的姿势。例如,无人驾驶飞机可以作为姿势执行操纵,或者手杖可以作为姿势以预定方式移动。
尽管图1-5描绘了使用头戴式显示设备的特定***,但是使用更多其他类型的处理器(包括更多通用处理器)和显示设备的其他***也可以用于实现本文中描述的技术。例如,图6示出了跟踪***610与用户618交互的示例实施例。在示例实施例中,***610可以用于识别、分析和/或跟踪诸如用户618的人类目标或在跟踪***610的范围内的其他对象并且与用户交互。
如图6所示,跟踪***610可以包括计算***612。计算***612可以是计算机、游戏***或控制台等。根据示例实施例,计算***12可以包括硬件组件和/或软件组件,使得计算***12可以用于执行应用,诸如游戏应用、非游戏应用等。在一个实施例中,计算***612可以包括处理器,诸如标准化处理器、专用处理器、微处理器等,处理器可以执行存储在处理器可读存储设备上的指令以用于执行本文中描述的过程。
跟踪***610还可以包括捕获设备620。捕获设备620可以是例如相机,该相机可以用于可视地监测一个或多个用户(诸如用户618),使得可以捕获、分析和跟踪由一个或多个用户执行的姿势和/或移动,以在应用内执行一个或多个控件或动作和/或对化身或屏幕上的角色进行动画处理,如下面将更详细描述的。
根据一个实施例,跟踪***610可以连接到视听设备616,诸如电视、显示器、高清电视(HDTV)等,视听设备616可以向用户(诸如用户618)提供游戏或应用视频和/或音频。例如,计算***612可以包括视频适配器(诸如图形卡)和/或音频适配器(诸如声卡),其可以提供与游戏应用、非游戏应用等相关联的视听信号。视听设备616可以从计算***612接收视听信号,并且然后可以向用户618输出与视听信号相关联的游戏或应用视觉和/或音频。根据一个实施例,视听设备616可以经由例如S视频电缆、同轴电缆、HDMI电缆、DVI电缆、VGA电缆、分量视频电缆等连接到计算***612。
跟踪***610可以用于识别、分析和/或跟踪人类目标,诸如用户618(或用户的身体的一部分,诸如用户的手)。例如,可以使用捕获设备620来跟踪用户18,使得可以捕获用户618的姿势和/或移动以对化身或屏幕上的角色进行动画处理和/或可以将用户618的姿势和/或移动解释为可以用于影响由计算机环境612执行的应用的控件,诸如控制图像(例如,2D图像或3D全息图像)的显示。
在示例实施例中,诸如用户618的人类目标可以具有对象。在这样的实施例中,电子游戏的用户可以握住对象,使得用户和对象的运动可以用于调节和/或控制交互的参数。例如,可以跟踪握着手杖的用户的运动并且将其用于控制屏幕上的图像。还可以跟踪不被用户握住的对象,诸如用户(或不同的用户)投掷、推动或滚动的对象以及远程控制的对象。
图7示出了可以在跟踪***610中使用的捕获设备620的示例实施例。根据示例实施例,捕获设备620可以被配置为经由任何合适的技术(包括例如飞行时间、结构化光、立体图像等)来捕获具有包括深度图像的深度信息的视频,该深度图像可以包括深度值。根据一个实施例,捕获设备620可以将深度信息组织成“Z层”或者可以垂直于从深度相机沿其视线延伸的Z轴的层。
如图7所示,捕获设备620可以包括相机组件623。根据示例实施例,相机组件623可以是深度相机,该深度相机可以捕获场景的深度图像。深度图像可以包括所捕获的场景的二维(2D)像素区域,其中2D像素区域中的每个像素可以表示深度值,诸如所捕获的场景中的对象到相机的以例如厘米、毫米等为单位的距离。
如图7所示,根据示例实施例,相机组件623可以包括可以用于捕获场景的深度图像的红外(IR)光组件625、三维(3D)相机626和RGB(视觉图像)相机628。例如,在飞行时间分析中,捕获设备620的IR光组件625可以将红外光发射到场景上并且然后可以使用传感器(未示出)来检测来自场景中一个或多个目标和对象的表面的反向散射光,使用例如3D相机26和/或RGB相机628。在一些实施例中,可以使用脉冲红外光,使得出射光脉冲与相应的入射光脉冲之间的时间可以测量并且可以用于确定从捕获设备620到场景中的目标或对象上的特定位置的物理距离。另外,在其他示例实施例中,可以将出射光波的相位与入射光波的相位进行比较以确定相移。然后可以使用相移来确定从捕获设备到目标或对象上的特定位置的物理距离。
根据另一示例实施例,飞行时间分析可以用于通过经由各种技术(包括例如快门光脉冲成像)分析随时间反射的光束的强度来间接地确定从捕获设备620到目标或对象上的特定位置的物理距离。
在另一示例实施例中,捕获设备620可以使用结构化光来捕获深度信息。在这种分析中,可以经由例如IR光组件624将图案化的光(即,显示为诸如网格图案、条纹图案或不同图案的已知图案的光)投影到场景上。在撞击场景中的一个或多个目标或对象的表面时,图案可能会因响应而变形。图案的这种变形可以由例如3D相机626和/或RGB相机628(和/或其他传感器)捕获,并且然后可以被分析以确定从捕获设备到目标或对象上的特定位置的物理距离。在一些实现中,IR光组件625从相机625和626移开,因此三角测量可以用于确定距相机625和626的距离。在一些实现中,捕获设备620将包括用于感测IR光的专用IR传感器、或者具有IR过滤器的传感器。
根据另一实施例,捕获设备620可以包括两个或更多个物理上分开的相机,这些相机可以从不同的角度观看场景以获得可以被分解以生成深度信息的视觉立体数据。其他类型的深度图像传感器也可以用于创建深度图像。
捕获设备620还可以包括麦克风630。麦克风630可以包括可以接收声音并且将其转换成电信号的换能器或传感器。根据一个实施例,在目标识别、分析和跟踪***610中,麦克风630可以用于减少捕获设备620与计算***612之间的反馈。另外,麦克风630可以用于接收音频信号,该音频信号还可以由计算***612提供。
在示例实施例中,捕获设备620还可以包括可以与图像相机组件622通信的处理器632。处理器632可以包括标准化处理器、专用处理器、微处理器等,处理器可以执行指令,该指令包括例如用于接收深度图像、生成适当的数据格式(例如,帧)并且将该数据传输到计算***612。
捕获设备620还可以包括存储器组件34,其可以存储由处理器632执行的指令、由3D相机和/或RGB相机捕获的图像或图像帧、或者任何其他合适的信息、图像等。根据示例实施例,存储器组件634可以包括随机存取存储器(RAM)、只读存储器(ROM)、高速缓存、闪存、硬盘或任何其他合适的存储组件。如图7所示,在一个实施例中,存储器组件634可以是与图像捕获组件622和处理器632通信的单独的组件。根据另一实施例,存储器组件634可以被集成到处理器632和/或图像捕获组件622中。
如图7所示,捕获设备620可以经由通信链路636与计算***612通信。通信链路636可以是有线连接(包括例如USB连接、火线连接、以太网电缆连接等)和/或无线连接(诸如无线802.11b、g、a或n连接)。根据一个实施例,计算***612可以向捕获设备620提供时钟,该时钟可以用于确定何时例如经由通信链路636捕获场景。另外,捕获设备620经由通信链路636将例如由3D相机626和/或RGB相机628捕获的深度信息和视觉(例如,RGB)图像提供给计算***612。在一个实施例中,深度图像和视觉图像以每秒30帧被传输。然后,计算***612可以使用模型、深度信息和所捕获的图像来例如控制应用,诸如移动由显示器、投影仪、头戴式显示设备等显示的图像。
计算***612包括深度图像处理和骨骼跟踪模块650,其使用深度图像来跟踪可以由深度相机检测到的一个或多个人。深度图像处理和骨骼跟踪模块650将跟踪信息提供给应用652,该应用652可以是视频游戏、生产力应用、通信应用或其他软件应用等。音频数据和视觉图像数据也被提供给应用652和深度图像处理和骨骼跟踪模块650。应用652将跟踪信息、音频数据和视觉图像数据提供给识别器引擎654。在另一实施例中,识别器引擎654直接从深度图像处理和骨骼跟踪模块50接收跟踪信息,并且直接从捕获设备620接收音频数据和视觉图像数据。
识别器引擎654与过滤器660、662、664、……、666的集合相关联,每个过滤器660、662、664、……、666包括关于可以由任何人执行或可以由捕获设备620检测到的其他类型的移动对象执行的姿势、动作或条件的信息。例如,可以由过滤器660、662、664、……、666处理来自捕获设备20的数据以标识用户或其他类型的移动对象何时已经执行了一个或多个姿势或其他动作。这些姿势可以与应用652的各种控件、对象或条件相关联。因此,计算环境612可以将识别器引擎654与过滤器一起使用来解释移动。
图7的捕获设备620向计算***612提供RGB图像(或其他格式或色彩空间的视觉图像)和深度图像。深度图像可以是多个观察像素,其中每个观察像素具有观察深度值。例如,深度图像可以包括所捕获的场景的二维(2D)像素区域,其中2D像素区域中的每个像素可以具有深度值,诸如所捕获的场景中的对象距捕获设备的距离。
(图7所示的计算***612的)识别器引擎654包括多个过滤器660、662、664、……、666以确定姿势或动作。过滤器包括用于定义姿势、动作或条件以及该姿势、动作或条件的参数或元数据的信息。例如,包括一只手从身体后部的后面到身体前部的运动的投掷可以被实现为姿势,该姿势包括表示用户的一只手从身体后部的后面到身体前部的移动的信息,因为该移动将由深度相机捕获。然后可以为该姿势设置参数。在姿势是投掷的情况下,参数可以是手必须达到的阈值速度、手必须行进的距离(绝对距离,或相对于用户整体大小的距离)、以及识别器引擎对姿势发生的置信度评级。姿势的这些参数可能随时间在应用之间,在单个应用的上下文之间或在一个应用的一个上下文内变化。
过滤器可以是模块化的或可互换的。在一个实施例中,过滤器具有多个输入(这些输入中的每个具有类型)和多个输出(这些输出中的每个具有类型)。第一过滤器可以被具有与第一过滤器相同数目和类型的输入和输出的第二过滤器替换,而不改变识别器引擎架构的任何其他方面。例如,可能存在用于驱动的第一过滤器,该第一过滤器以骨骼数据作为输入并且输出与该过滤器相关联的姿势正在发生的置信度和转向角。如果希望用第二驱动过滤器代替第一驱动过滤器——也许是因为第二驱动过滤器效率更高并且需要更少的处理资源——只要将第一过滤器替换为第二过滤器就可以做到这一点,只要第二过滤器具有这些相同的输入和输出——骨骼数据类型的一个输入、以及置信度类型和角度类型的两个输出。
过滤器不需要参数。例如,返回用户的身高的“用户身高”过滤器可能不允许调节任何参数。备选的“用户身高”过滤器可能具有可调参数——诸如在确定用户的身高时是否考虑用户的鞋类、发型、头饰和姿势。
到过滤器的输入可以包括内容,诸如关于用户的关节定位的关节数据、由在关节处的骨头形成的角度、来自场景的RGB颜色数据以及用户的一方面的变化率。过滤器的输出可以包括内容,诸如做出给定姿势的置信度、做出姿势运动的速度以及做出姿势运动的时间。
识别器引擎654可以具有向过滤器提供功能的基本识别器引擎。在一个实施例中,识别器引擎654实现的功能包括跟踪识别姿势和其他输入的随时间输入的存档、隐马尔可夫模型实现(其中建模***被假设为马尔可夫过程——其中存在状态封装了确定未来状态所必需的任何过去状态信息,因此无需为此目的而保存其他过去状态信息——具有未知参数,并且隐藏参数从可观察的数据确定)、以及解决姿势识别的特定实例所需要的其他功能。
过滤器660、662、664、……、666在识别器引擎654之上被加载和实现,并且可以利用由识别器引擎654向所有过滤器660、662、664、……、666提供的服务。在一个实施例中,识别器引擎54接收数据以确定它是否满足任何过滤器660、662、664、……、666的要求。由于这些提供的服务(诸如解析输入)由识别器引擎54提供一次,而不是由每个过滤器660、662、664、……、666提供,所以这种服务仅需要在一段时间内处理一次,而不是在该时段内每过滤器处理一次,因此减少了确定姿势所需要的处理。
应用652可以使用提供有识别器引擎654的过滤器660、662、664、……、666,或者它可以提供其自己的过滤器,该过滤器***识别器引擎654。在一个实施例中,所有过滤器具有公共接口以启用该插件特性。此外,所有过滤器可以利用参数,所以下面的单个姿势工具可以用于调试和调节整个过滤器***。
图8示出了计算***的示例实施例,该计算***可以用于实现计算***612,计算***612用于跟踪移动对象(例如,手、手杖、遥控无人机)的运动和姿势并且基于对运动和姿势的跟踪来控制/移动图像。诸如上述计算***612的计算***可以是多媒体控制台800,诸如游戏控制台。如图8所示,多媒体控制台800具有中央处理单元(CPU)801,CPU 801具有1级高速缓存802、2级高速缓存804和闪存ROM(只读存储器)806。1级高速缓存802和2级高速缓存804临时存储数据,并且从而减少存储器访问周期的数目,从而提高了处理速度和吞吐量。CPU 801可以提供具有多于一个核,并且因此提供具有附加的1级高速缓存802和2级高速缓存804。闪存ROM 806可以存储在多媒体控制台800通电时在引导过程的初始阶段加载的可执行代码。
图形处理单元(GPU)808和视频编码器/视频编解码器(编码器/解码器)814形成用于高速和高分辨率图形处理的视频处理管线。数据经由总线从图形处理单元108传送到视频编码器/视频编解码器814。视频处理管线向A/V(音频/视频)端口840输出数据以传输到电视或其他显示器。存储器控制器810连接到GPU 808,以促进处理器访问各种类型的存储器812,诸如但不限于RAM(随机存取存储器)。
多媒体控制台800包括优选地在模块818上实现的I/O控制器820、***管理控制器822、音频处理单元823、网络接口控制器824、第一USB主机控制器826、第二USB控制器828和前面板I/O子组件830。USB控制器826和828用作***控制器842(1)和842(2)、无线适配器848和外部存储器设备846(例如,闪存、外部CD/DVD ROM驱动器、可移动介质等)的主机。网络接口和/或无线适配器848提供对网络(例如,因特网、家庭网络等)的访问,并且可以是各种各样的有线或无线适配器组件中的任何一个,包括以太网卡、调制解调器、蓝牙模块、电缆调制解调器等。相机626、628和捕获设备620可以经由USB控制器926或其他接口为控制台900定义附加的输入设备。
提供***存储器843以存储在引导过程期间加载的应用数据。提供媒体驱动器844,并且该媒体驱动器844可以包括DVD/CD驱动器、蓝光驱动器、硬盘驱动器或其他可移动媒体驱动器等。媒体驱动器844可以在多媒体控制台800内部或外部。应用数据可以经由媒体驱动器144来访问以用于由多媒体控制台100执行、回放等。媒体驱动器844经由总线(诸如串行ATA总线或其他高速连接(例如,IEEE 1394))连接到I/O控制器1820。
***管理控制器822提供与确保多媒体控制台800的可用性相关的各种服务功能。音频处理单元823和音频编解码器832形成具有高保真度和立体声处理的相应的音频处理管线。音频数据经由通信链路在音频处理单元823与音频编解码器832之间携带。音频处理管线向A/V端口840输出数据以用于由具有音频能力的外部音频用户或设备再现。
前面板I/O子组件830支持电源按钮850和弹出按钮852的功能,以及在多媒体控制台800的外表面上暴露的任何LED(发光二极管)或其他指示器。***电源模块836向多媒体控制台800的组件提供电力。风扇838冷却多媒体控制台800内的电路***。
CPU 801、GPU 808、存储器控制器810和多媒体控制台800内的各种其他组件经由一个或多个总线互连,该总线包括串行和并行总线、存储器总线、***总线、以及使用各种总线架构中的任何一种的处理器或本地总线。作为示例,这种架构可以包括***组件互连(PCI)总线、PCI-Express总线等。
当多媒体控制台800通电时,应用数据可以从***存储器843加载到存储器812和/或高速缓存802、804中并且在CPU 801上执行。应用可以呈现图形用户界面,该图形用户界面在导航到多媒体控制台800上可用的不同媒体类型时提供一致的用户体验。在操作中,包含在媒体驱动器844中的应用和/或其他媒体可以从媒体驱动器844启动或播放,以向多媒体控制台800提供附加功能。
通过简单地将***连接到电视或其他显示器,多媒体控制台800可以作为独立***操作。在该独立模式下,多媒体控制台800允许一个或多个用户与***交互,观看电影或者收听音乐。然而,随着通过网络接口824或无线适配器848可用的宽带连接的集成,多媒体控制台800还可以作为较大的网络社区的参与者来操作。注意,图8提供了一个或多个非暂态处理器可读存储设备的示例,该设备存储处理器可读代码,以用于将处理器编程为执行用于导航全息图的方法,如下所述。
回顾图1-5,提出了一种头戴式显示设备,其将全息图像投影到混合真实环境中。在很多情况下,没有鼠标和键盘。基于旧的界面,关于全息图像的导航并不直观。因此,提出了一种用于导航全息图像的新技术。图6-8的***还可以用于执行由头戴式显示***显示的全息图像的全部或部分导航。备选地,所提出的用于导航全息图像的技术也可以用于导航在显示器614上显示的图像以及使用其他显示设备呈现的其他2D和3D图像。
图9A-C图形化地解释了导航全息图像的概念。例如,图9A描绘了通过头戴式显示设备32看到的混合真实环境900。混合真实环境900包括存在于真实世界中的桌子902(因此桌子902不是虚拟图像)。图9A示出了混合真实环境900包括投影在桌子902之上的全息图像904。在一个实施例中,全息图像904是三维(3D)图,但是也可以使用其他3D全息图像以及其他二维(2D)图像。在所描绘的示例中,全息图像904是森林或公园的3D图。也可以使用其他类型的图(例如,街道图、地形图等)。
在一个实施例中,关于全息图像904的导航包括移动全息图像904。移动全息图像904的两个示例包括平移图像和缩放图像。在某些示例中,平移是图像的水平移动。在一些实施例中,平移也可以包括一些垂直运动。因为混合真实环境是三维的,所以水平运动可能是相对的。因此,在一些实施例中,平移包括二维的运动。平移也可以被认为是滑动图像。缩放的概念包括将视点移近图像(从而使图像看起来更大)或将视点移离图像更远(从而使图像看起来更小)。在其他实施例中,在导航全息图像时也可以包括其他类型的运动,包括滚动图像、倾斜图像等。
图9A示出了箭头906,该箭头906指向示出平移的一个示例的方向。如果全息图像904在箭头906的方向上平移,则在平移一些量之后,全息图像904的状态将如图9B所示。在该实施例中,桌子902的大小不足以支撑全息图像904的整个图。因此,仅显示在桌子902上方的全息图像的部分。当在箭头906的方向上平移全息图像904时,全息图像904的一部分移离桌子902,并且因此消失。另外,全息图像904的新部分现在位于桌子902上方,因此它是新出现的。因此,该图从图9A到9B看起来有些变化,因此前景中的某些组件丢失了,并且背景中的某些组件已经被添加。
回顾图9A,全息图像904也可以被缩放。例如,图9C描绘了缩放全息图像904的一个示例。全息图像904的组件显得更大。因为全息图像904的尺寸较大,所以并非图9A中描绘的所有组件仍然将适合在桌子902之上。因此,图9A中描绘的某些组件不再出现在图9C中。从图9A到图9C的过渡被称为放大图像。如果缩小全息图像904,则图9A中所示的组件将显得更小,并且将在桌子902之上添加附加组件。
图10描绘了描述用于导航图像(诸如全息图像)的过程的一个实施例的流程图。例如,图10的过程可以用于进行以上关于图9A、9B和9C描述的平移和缩放。图10的过程可以由图1-5中描述的头戴式显示设备和相关***来执行。备选地或另外地,图10的过程也可以使用图6-8的交互式***来执行。其他***也可以执行图10的过程。
在图10的步骤1002中,***显示图像。显示***可以是视频显示器、投影仪、被配置为与视频显示器或投影仪通信的视频驱动器电路、呈现混合真实环境的头戴式显示设备、或用于提供视觉呈现的另一装置电缆。下面关于图11描述步骤1002的一个实施例的更多细节。
在步骤1004中,***感测关于移动对象的定位信息。如上面关于图1-5的***所描述的,可以感测关于用户的手在头戴式显示设备的前面移动的定位信息。备选地,可以跟踪其他身体部位。在其他实施例中,移动对象不需要是身体部位。例如,用户可以握住被感测的装置。在另一实施例中,移动对象不需要被握住或与用户接触。例如,可以使用飞机、汽车或自动化设备或半自动化设备。诸如上述***的***将包括一个或多个传感器。一个或多个传感器(图像传感器、深度传感器、雷达、红外传感器等)的输出是定位信息,该定位信息被软件和/或硬件用于确定所跟踪的移动对象的位置。在步骤1006中,***使用来自步骤1004的感测到的定位信息来跟踪移动对象。跟踪移动对象包括一次或多次确定其位置。例如,***可以周定期地确定移动对象的3D坐标。在其他实施例中,跟踪不需要使用3D坐标。
在步骤1008中,***识别由移动对象做出的姿势。姿势可以通过手、其他身体部位或其他类型的对象做出。例如,用户可以操纵木偶、手杖或其他结构来执行姿势。下面关于图12描述关于步骤1008的更多细节。
在步骤1010中,***在所识别的姿势的位置处创建虚拟形状。在步骤1010中创建的虚拟形状具有至少一个维度。形状是对象或其外部边界、轮廓或外表面的形式,与其他属性(诸如颜色、纹理或材料成分)相反。常见的二维形状是圆形、正方形、三角形等。常见的三维形状是球体、立方体、角锥体等。点的维度为零。直线是一维形状。曲线具有二维,作为线的概括。通常,表面可以用于表示n维流形的(n-1)维子流形,或者通常表示对象中的任何共维1子对象。平面是二维平面。平面可以在某些较高维度的空间中作为子空间出现,比如房间的墙壁,或者它们可以要求独立存在,比如在欧几里德几何学中。通常认为平面是无限延伸的;但是,出于本文档的目的,平面也可以具有有限的扩展。术语“虚拟”表示它是模拟的,或者不是在真实世界中的。虚拟形状是模拟的或者不是在物理真实世界中的。例如,虚拟形状可以通过头戴式显示设备投影到真实世界(混合真实环境)的视图中,或者可以基于混合真实环境的坐标系以其他方式定义而不显示。虚拟形状可以是以上讨论的任何形状。在一个实施例中,虚拟形状是平面,并且被称为交互式平面。在其他实施例中,虚拟形状是虚拟表面。下面关于图13提供步骤1010的更多细节。在一个实施例中,***被配置为基于所识别的姿势的位置来动态地确定用于定向虚拟形状的方向。
在图10的步骤1012中,***基于经由步骤1004和1006跟踪的、关于虚拟形状(在步骤1010中创建的)的移动对象的当前定位以及所识别的姿势的位置来移动正在显示的图像(例如,全息图像)。如上所述,图像的移动可以包括平移和/或缩放、以及其他移动,诸如滚动倾斜等。下面关于图14提供步骤1012的更多细节。
图11-14提供了使用头戴式显示设备和手势来导航全息图像的图10的实施例的更多细节。这样的实施例包括:识别手势,在所识别的手势的位置处创建虚拟平面,使得虚拟平面面向用户(例如,面向头戴式显示设备),将手的定位与虚拟平面比较,以及基于将手的当前定位与虚拟平面比较,选择导航工具并且使用所选择的导航工具来导航全息图像。
图11描绘了描述用于显示图像的过程的一个实施例的流程图。也就是说,图11的过程提供了图10的步骤1002的更多细节。在图11的步骤1102中,***使用透视头戴式显示设备将虚拟三维全息图像投影到真实世界(混合真实环境)的视图中,使得可以通过头戴式显示设备看到3D全息图像。在步骤1104中,***跟踪头戴式显示器关于混合真实环境中的移动。在步骤1106中,当头戴式显示设备在混合真实环境中移动时,***更新(例如,改变其透视图)投影的虚拟三维全息图像。
图12是描述用于识别移动对象的姿势的过程的一个实施例的流程图。也就是说,对于使用头戴式显示设备来识别手势的实施例,图12的过程提供了图10的步骤1008的一个示例实现。在步骤1202中,***使用与头戴式显示设备相关联的传感器识别出佩戴头戴式显示设备的用户已经执行了手势(如上所述)。在步骤1204中,***标识出所识别的手势是对导航全息图像(例如,2D或3D全息图或其他图像)的请求。在步骤1206中,***使用头戴式显示设备确定所识别的手势在混合真实环境中的位置(例如,姿势时跟踪的手的位置)。
图13是描述用于创建虚拟形状的过程的一个实施例的流程图。
图13的过程是图10的步骤1010的一个示例实现。在步骤1302中,***在混合真实环境中创建虚拟平面(例如,上面讨论的交互式平面),该混合真实环境与所识别的手势的位置相交(参见图12的步骤1206)。也可以使用其他形状。在步骤1304中,虚拟平面被定向为面向用户的头部。在一个实施例中,通过使虚拟平面定向为面向头戴式显示设备,虚拟平面面向用户的眼睛。一种示例实现创建虚拟平面,该虚拟平面垂直于从所识别的手势的位置到用户的面部(或头戴式显示设备)的线。在步骤1306中,通过在从步骤1302和1304确定的位置或定向上通过头戴式显示设备投影虚拟平面的图像来显示虚拟平面。一些实施例不显示虚拟平面;因此,可以可选地跳过步骤1306。也就是说,尽管仍然创建虚拟平面,但是可能没有通过头戴式显示设备向用户图形化地描述。可以通过定义形状来创建虚拟形状。在步骤1308中,显示用户界面。在一些实施例中,全息图像的导航包括平移和缩放。因此,它们仍然具有两个导航工具。一个导航工具用于平移,并且第二导航工具用于缩放。在一个实施例中,将有一个用户界面用于平移和缩放两者。在一个示例实现中,用户最后使用的导航工具的用户界面将是所显示的用户界面。例如,如果用户上次平移图像,则将显示用于平移的用户界面。如果用户最后一次导航全息图像包括缩放,则在步骤1308中将显示用于缩放的用户界面。在另一实施例中,可以显示默认用户界面。无论显示什么用户界面,都将其作为图像通过头戴式显示设备投影在不遮挡全息图像或与全息图像相交的位置。在一个示例中,用户界面被显示为与全息图像相邻。注意,步骤1308是可选的,因为一些实施例不包括显示用户界面。
图14是描述移动图像的过程的一个实施例的流程图。在一个实施例中,图14的过程是图10的步骤1012的一个示例实现。图14的过程包括选择导航工具并且通过以下来使用所选择的导航工具:当移动对象在虚拟表面的距离之内时,响应于运动对象(例如,手)的跟踪到的移动来平移全息图像,并且当移动对象在距虚拟表面的该距离之外时,响应于移动对象的跟踪到的移动来缩放全息图像。下面将描述更多细节。
在图14的步骤1402中,***跟踪手的当前定位。在一个实施例中,步骤1402被连续执行。在步骤1404中,***将手的当前定位投影到虚拟平面上的投影定位。虚拟平面上的投影定位可以是手与虚拟平面的实际交点。如果手在当前时刻不完全位于虚拟平面上,则从手到虚拟平面绘制一条线,其中该线与虚拟平面成直角,以便确定手到虚拟平面上的投影定位。在步骤1406中,***确定从所识别的手势在虚拟平面上的位置到虚拟平面上的投影定位的距离。步骤1406将这称为第一距离以区分下面描述的附加距离信息。在步骤1408中,***确定第二距离,该第二距离是从手的当前定位到虚拟平面的距离。在步骤1410中,***将第一距离与第一阈值进行比较并且将第二距离与第二阈值进行比较。第一阈值和第二阈值定义关于所识别的手势的位置的盲区。当手的当前定位使得第一距离在第一阈值之内并且第二距离在第二阈值之内时,则手在盲区中。如果手在盲区中,则全息图像将不会移动,并且图14的过程循环回到步骤1402。如果确定第一距离大于或等于第一阈值(在确定第二距离大于或等于第二阈值之前),则手不在盲区中,并且在步骤1414中,***将平移全息图像,同时第一距离继续大于或等于第一阈值。图14提供了用于平移全息图像的更多细节。一旦手的当前定位距离所识别的手势的位置不远于第一阈值,则平移将停止,并且该过程将在步骤1402处继续。如果在步骤1412中由于虚拟平面与手的当前定位之间的距离大于第二阈值而确定手已经离开盲区,则***将在步骤1416中执行全息图像的缩放,只要第二距离保持大于第二阈值(手保持远离虚拟平面至少第二阈值)。一旦手移近虚拟平面,使得其进入盲区,则缩放停止,并且过程继续到步骤1402。注意,图17提供了步骤1416的更多细节。
图15是描述用于平移全息图像的一个实施例或过程的流程图。
图15的过程是图14的步骤1414的一个示例实现。在步骤1502中,***继续使用头戴式显示设备来跟踪手的当前定位。步骤1502与步骤1402相同,并且可以连续执行。在步骤1504中,如以上关于步骤1404所述,***继续将手的当前定位投影到虚拟平面上的投影定位。在步骤1506中,***确定从所识别的手势在虚拟平面上的位置到虚拟平面上的投影定位的第一距离,类似于图14的步骤1406。在步骤1508中,***将第一距离与第一阈值进行比较。如果第一距离不再大于或等于第一阈值(步骤1510),则该过程继续到步骤1518并且停止平移全息图像,从而结束图15的过程(使得图14的过程移回到步骤1402)。然而,如果在所识别的手势在虚拟平面上的位置到手在虚拟平面上的当前投影定位之间测量的第一距离大于第一阈值,则过程继续到步骤1512并且基于从所识别的手势在虚拟平面上的位置到投影定位的距离来设置平移速度。即,在步骤1506中确定的第一距离用于设置平移速度(图正在滑动的速度)。在一个实施例中,图将基于该第一距离以固定速度平移。在一些示例中,该距离与平移速度线性相关。在其他实施例中,可能存在非线性关系。可以使用各种数学函数来提供第一距离与平移速度之间的关系。
在步骤1514中,通过针对手的当前定位在如下方向上移动视点来平移全息图像(其中全息图的相应平移方向由虚拟平面的方向定向定义),该方向对应于从所识别的手势在虚拟平面上的位置到虚拟平面上的投影定位的方向。在一个示例中,沿虚拟平面向上移动手会使图移动更远,向下移动手会使图移动得更近,向右移动手会使图向右移动,将手在虚拟平面上向左移动会使图向左移动,等等。将图向左、右、上、下移动是相对于用户的视点而言的。因此,当用户在房间中移动时,左、右、上和下会改变。类似地,当用户在房间中移动时,虚拟平面的定位和定向也会改变。因此,平移方向(例如,左、右、上、下)对应于虚拟平面的方向定向。以这种方式,响应于手沿虚拟平面的跟踪到的移动来执行全息图像的平移,其中全息图像的平移方向由虚拟平面的方向定向来定义,使得在其他方向取向上的其他虚拟平面将建立平移全息图的不同方向。在步骤1516中,***更新用户界面以示出从所识别的手势在虚拟平面上的位置到虚拟平面上的投影定位的距离和方向。这向用户提供了反馈。在一个实施例中,用户界面由头戴式显示设备投影。在步骤1516之后,过程循环回到步骤1502。
图16图形化地描绘了用户界面的一个示例。图16中描绘的元件通过头戴式显示设备来观看,并且包括虚拟图像1602和用户界面1610。图16示出了箭头1604,该箭头1604指示响应于用户的手沿虚拟平面移动而在箭头1604的方向上平移或移动虚拟图像1602。用户界面包括外环1620和内环1622。内环1622内是点1624,点1624表示所识别的手势在虚拟平面上的位置。环1620表示虚拟平面的一部分(或边缘)。点1626指示手在虚拟平面上的投影定位(当前定位)。线1628表示从所识别的手势在虚拟平面上的位置到投影定位的距离(即,第一距离)。该距离是用于确定平移速度的距离。从点1624到点1626的方向定义了平移的方向。当用户的手的移动时,点1626将移动,也使线1628移动。当点1626移动到内环1622内时,手将进入盲区,并且平移将停止。
图17是描述用于缩放全息图像的过程的一个实施例的流程图。在一个实施例中,图17的过程提供了图14的步骤1416的更多实现细节。在步骤1702中,***继续使用头戴式显示设备来跟踪手的当前定位。步骤1702类似于图14的步骤1402,并且可以连续地执行。在步骤1704中,***确定从手的当前定位到虚拟平面的第二距离。在步骤1706中,***将第二距离与第二阈值进行比较。如果第二距离不大于或等于第二阈值(步骤1708),则手在缩放的盲区中,并且在步骤1710中,***将停止缩放全息图像。然后,图17的过程将完成,并且图14的过程从步骤1416循环回到步骤1402。
然而,如果在步骤1702中确定第二距离大于或等于第二阈值,则可以断定手不在缩放的盲区中。因此,在步骤1712中,基于从手的当前定位到虚拟平面的距离(例如,第二距离)来设置缩放速度。在一个实施例中,缩放速度对于给定距离保持恒定。距离与缩放速度之间的相关性可以是线性、非线性或任何数学函数。在步骤1714中,***从头戴式显示设备的角度确定手是在虚拟平面的前面还是在虚拟平面的后面。如果用户的手在虚拟平面的前面(步骤1716),则在步骤1718中,***将缩小全息图像,使得透视图看起来远离全息图像。缩放的定向透视图由虚拟平面的方向定向定义。当透视图看起来远离全息图像时,全息图像看起来变小。在步骤1720中,***将更新用户界面以示出缩小。在步骤1720之后,过程循环回到步骤1702。
如果在步骤1716中,***确定手在虚拟平面后面,则在步骤1730中,***放大全息图像,使得透视图看起来更靠近全息图像。如上所述,缩放的方向透视图由虚拟平面的方向定向定义。全息图像的缩放使得对于通过头戴式显示设备观看全息图像的用户而言,全息图像看起来更大。在步骤1732中,***更新用户界面以示出放大。在步骤1732之后,过程循环回到步骤1702。
图18是用于缩放的用户界面的图形描绘的示例。在一个实施例中,用户通过头戴式显示设备来观看图18中描绘的元件。例如,图18示出了虚拟图像1602和用于缩放的用户界面1810。在该示例中,用户正在放大,因此在图像1602上描绘了指向内的四个箭头以模拟放大。但是,在一种实现中,通过头戴式显示设备的视图中将不包括这些箭头。用户界面1810包括与所识别的手势在虚拟平面上的位置相对应的点1820、外环1822和中性环1824。在一个实施例中,外环1822表示虚拟平面,其中环内的区域是虚拟平面。当用户的手在虚拟平面后面以进行放大时,第三环1828(虚线)被描绘并且变大以模拟图变大。当用户的手在虚拟平面的前面以缩小时,第三环1826(虚线)出现并且变小以模拟图变小。
在以上关于图14-17所述的实施例中,用户可以仅平移或仅缩放。但是,用户不能同时平移和缩放。在用户平移时,为了切换到缩放,用户必须首先返回到盲区,并且然后从盲区开始缩放。同样,当用户缩放时,为了切换到平移,用户必须先返回到缩放盲区,并且然后再切换到平移。在一些实施例中,用户可以通过同时在两个盲区之外而同时平移和缩放。
在一个实施例中,***在较小的表面上移动较大的全息图像,诸如以上关于图9A和9B所讨论的。在这样的实施例中,导航全息图像包括将全息图像的一部分投影在小于整个全息图像的面积的真实世界表面上,使得不在真实世界表面之上的全息图像的片段不被显示;并且然后平移全息图像,使得全息图像的不同部分被投影到真实世界表面之上,并且全息图像的不同片段不在真实世界表面上并且不被显示。
上面描述的技术允许全息图像的直观导航。该技术还可以用于导航非全息图像,包括显示器上的图像、使用投影仪显示的图像或经由其他方式显示的图像。
一个实施例包括一种装置,该装置包括传感器,该传感器被配置为感测移动对象的定位信息;显示***,被配置为显示图像;以及与传感器和显示***通信的处理器。处理器被配置为使用定位信息来跟踪移动对象。处理器被配置为识别移动对象的姿势。处理器被配置为在所识别的姿势的位置处创建虚拟形状。该形状具有维度。处理器被配置为基于关于虚拟形状的移动对象的当前定位来移动图像。
在一个示例实现中,虚拟形状是虚拟平面,并且处理器被配置为通过以下来移动图像:将移动对象的新定位投影到虚拟平面上的投影定位,确定从所识别的姿势的位置到虚拟平面上的投影定位的第一距离和从虚拟平面到新定位的第二距离,当第一距离小于第一阈值并且第二距离小于第二阈值时,保持图像不移动,当在第二距离大于第二阈值之前第一距离变为大于第一阈值时,基于第一距离来平移图像,以及当在第一距离大于第一阈值之前第二距离大于第二阈值时,基于第二距离来缩放图像。
一个实施例包括一种用于平移和缩放全息图像的方法。该方法包括识别手势;响应于识别出手势,在所识别的手势的位置处创建面向用户的虚拟平面;将手的定位与虚拟平面比较;以及基于将手的当前定位与虚拟平面比较,选择导航工具并且使用所选择的导航工具来导航全息图像。
一个实施例包括一个或多个非暂态处理器可读存储设备,其存储处理器可读代码,该处理器可读代码用于编程处理器以导航全息图。该方法包括:使用来自头戴式显示器的传感器数据来识别混合真实环境中的手势,该头戴式显示器呈现混合真实环境,并且确定在手在执行姿势时手的第一位置;在混合真实环境中建立虚拟平面,该虚拟平面包括第一位置并且面向头戴式显示器;使用来自头戴式显示器的传感器数据来跟踪手的移动并且将手的定位与虚拟平面的定位和第一位置比较;以及响应于手沿虚拟平面的跟踪到的移动来平移全息图,平移全息图的方向由虚拟平面的方向定向来定义,使得具有其他方向定向的其他虚拟平面将建立平移全息图的不同方向。
为了本文档的目的,说明书中对“实施例”、“一个实施例”、“一些实施例”或“另一实施例”的引用可以用于描述不同的实施例或相同的实施例。
为了本文档的目的,连接可以是直接连接或间接连接(例如,经由一个或多个其他部分)。在某些情况下,当一个元件被称为连接或耦合到另一元件时,该元件可以直接连接到另一元件,或者经由中间元件间接连接到另一元件。当一个元件被称为直接连接到另一元件时,则在该元件与另一元件之间不存在中间元件。如果两个设备直接或间接连接使得它们之间可以传送电子信号,则它们“处于通信状态”。连接包括电气连接或机械连接,也可以包括两种材料接触。
为了本文档的目的,术语“基于”可以理解为“至少部分地基于”。
为了本文档的目的,在没有附加上下文的情况下,诸如“第一”对象、“第二”对象和“第三”对象的数字术语的使用可能并不意味着对象的顺序,而是可以用于标识目的以标识不同的对象。
为了本文档的目的,术语对象的“集合”可以指一个或多个对象的“集合”。
出于说明和描述的目的已经给出了前述详细描述。其并非旨在为详尽无遗或限于所公开的精确形式。根据以上教导,很多修改和变化是可能的。选择所描述的实施例是为了最好地解释所提出的技术的原理及其实际应用,从而使得本领域的其他技术人员能够在各种实施例中以适合预期的特定用途的各种修改来最好地利用它。意图由所附权利要求书来限定范围。

Claims (15)

1.一种用于平移和缩放全息图像的装置,包括:
传感器,被配置为接收与手的姿势相关联的传感器数据;
显示***,被配置为在混合真实环境中显示所述全息图像;以及
与所述传感器和所述显示***通信的处理器,所述处理器被配置为:
使用所述传感器数据识别所述手的所述姿势;
在所述手正在执行所述姿势时确定所述手的第一位置;
在所述混合真实环境中创建虚拟平面,所述虚拟平面包括所述手的所述第一位置;
使用所述传感器数据在所述混合真实环境中跟踪所述手的当前定位;
将所述手的所述当前定位投影到所述虚拟平面上的投影定位;
确定从所识别的所述手势在所述虚拟平面上的所述第一位置到所述虚拟平面上的所述投影定位的第一距离;
确定所述手的所述当前定位到所述虚拟平面的第二距离;
比较所述第一距离与第一阈值和所述第二距离与第二阈值;
当所述第一距离大于或等于所述第一阈值时,在所述混合真实环境中平移所述全息图像;以及
当所述第二距离大于或等于所述第二阈值时,在所述混合真实环境中缩放所述全息图像。
2.根据权利要求1所述的装置,其中:
所述虚拟平面包括虚拟表面;
所述处理器被配置为基于所识别的所述手势的所述第一位置来动态地确定用以定向所述虚拟平面的方向;并且
所述处理器被配置为通过以下来移动所述全息图像:将所述手的所述当前定位投影到所述虚拟表面上的所述投影定位并且基于所述投影定位来移动所述全息图像。
3.根据权利要求1所述的装置,其中:
所述处理器被配置为通过以下来移动所述全息图像:将所述手的所述当前定位投影到所述虚拟平面上的所述投影定位并且在平移方向上移动所述全息图像,所述平移方向对应于从所识别的所述手势的所述第一位置到所述虚拟平面上的所述投影定位的方向。
4.根据权利要求1所述的装置,其中:
所述处理器被配置为通过以下来移动所述全息图像:确定从所述手到所述虚拟平面的距离并且基于所述距离以一速度来缩放所述全息图像。
5.根据权利要求1所述的装置,还包括:
头戴式显示设备,包括所述传感器和所述显示***,所述显示***显示所述全息图像,所述全息图像通过所述头戴式显示设备可见;
其中所述处理器被配置为在所识别的所述手势的所述第一位置处创建所述虚拟平面,所述虚拟平面面向所述头戴式显示设备;
其中所述处理器被配置为通过以下来移动所述全息图像:基于所述虚拟平面上的所述投影定位来平移所述全息图像,确定所述手相对于人是在所述虚拟平面的前面还是后面,以及基于所述确定来缩放所述全息图像。
6.根据权利要求1所述的装置,其中:
所述处理器被配置为响应于所述手沿所述虚拟平面的所述姿势来平移所述全息图像,所述全息图像的平移的方向由所述虚拟平面的第一方向定向来定义,使得具有其他方向定向的其他虚拟平面将建立平移所述全息图像的不同方向;以及
所述处理器被配置为响应于所述手与所述虚拟平面之间的第二距离来缩放所述全息图像,所述全息图像的缩放的定向透视图由所述虚拟平面的第二方向定向来定义,使得具有其他方向定向的其他虚拟平面将建立用于缩放所述全息图像的不同透视图。
7.根据权利要求1所述的装置,其中:
所述传感器被配置为在真实世界环境中感测所述手的所述姿势的定位信息;以及
所述处理器被配置为在所述真实世界环境中在所识别的所述姿势的所述第一位置处创建所述虚拟平面。
8.一种用于平移和缩放全息图像的方法,包括:
在混合真实环境中识别手的姿势;
接收与所述手的所述姿势相关联的传感器数据;
在所述混合真实环境中显示所述全息图像;
在所述手正在执行所述姿势时确定所述手的第一位置;
响应于识别出所述姿势,在混合真实环境中创建虚拟平面,所述虚拟平面包括所述手的所述第一位置;
在所述混合真实环境中跟踪所述手的当前定位;
将所述手的所述当前定位投影到所述虚拟平面上的投影定位;
确定从所识别的所述手势在所述虚拟平面上的所述第一位置到所述虚拟平面上的所述投影定位的第一距离;
确定所述手的所述当前定位到所述虚拟平面的第二距离;
比较所述第一距离与第一阈值和所述第二距离和第二阈值;
当所述第一距离大于或等于所述第一阈值时,在所述混合真实环境中平移所述全息图像;以及
当所述第二距离大于或等于所述第二阈值时,在所述混合真实环境中缩放所述全息图像。
9.根据权利要求8所述的方法,其中
所述创建面向用户的所述虚拟平面包括:创建垂直于从所识别的所述手势的所述第一位置到所述用户的面部的直线的所述虚拟平面。
10.根据权利要求8所述的方法,还包括:
将所述全息图像的第一部分投影在小于整个所述全息图像的面积的真实世界表面上,使得所述全息图像的第二部分不被显示。
11.根据权利要求8所述的方法,还包括:
在平移方向上平移所述图像,所述平移方向对应于从所识别的所述手势的所述第一位置到所述虚拟平面上的所述投影定位的方向;
确定所述手是在所述虚拟平面的前面还是后面;以及
基于所述确定来缩放所述全息图像。
12.根据权利要求11所述的方法,还包括:
基于所述第一距离以平移速度来平移所述全息图像;以及
基于所述第二距离,以缩放速度来缩放所述全息图像。
13.根据权利要求8所述的方法,还包括:
通过头戴式显示设备显示所述全息图像,所述创建所述虚拟平面包括创建面向所述头戴式显示设备的所述虚拟平面;以及
在真实世界环境中,通过所述头戴式显示设备在所识别的所述手势的所述第一位置处显示所述虚拟平面的至少一部分。
14.一个或多个非瞬态处理器可读存储设备,其存储处理器可读代码,所述处理器可读代码用于对处理器进行编程以执行用于导航全息图像的方法,所述方法包括:
在混合真实环境中识别手的姿势;
接收与所述手的所述姿势相关联的传感器数据;
在所述混合真实环境中显示所述全息图像;
在所述手正在执行所述姿势时确定所述手的第一位置;
在所述混合真实环境中创建虚拟平面,所述虚拟平面包括所述第一位置;
在所述混合真实环境中跟踪所述手的当前定位;
将所述手的所述当前定位投影到所述虚拟平面上的投影定位;
确定从所识别的所述手势在所述虚拟平面上的所述第一位置到所述虚拟平面上的所述投影定位的第一距离;
确定所述手的所述当前定位到所述虚拟平面的第二距离;
比较所述第一距离与第一阈值和所述第二距离与第二阈值;
当所述第一距离大于或等于所述第一阈值时,在所述混合真实环境中平移所述全息图像;以及
当所述第二距离大于或等于所述第二阈值时,在所述混合真实环境中缩放所述全息图像。
15.根据权利要求14所述的一个或多个非瞬态处理器可读存储设备,其中:
用于对所述处理器进行编程以平移所述全息图像的所述处理器可读代码还包括:用于对所述处理器进行编程以在由所述虚拟平面的方向定向所定义的平移方向上平移,使得具有其他方向定向的其他虚拟平面将建立平移所述全息图像的不同方向;以及
用于对所述处理器进行编程以平移所述全息图像的所述处理器可读代码还包括:用于对所述处理器进行编程以缩放由所述虚拟平面的所述方向定向所定义的定向透视图,使得具有其他方向定向的其他虚拟平面将建立缩放所述全息图像的不同定向透视图。
CN201880026897.1A 2017-04-24 2018-04-06 导航全息图像 Active CN110546595B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/494,655 US10620779B2 (en) 2017-04-24 2017-04-24 Navigating a holographic image
US15/494,655 2017-04-24
PCT/US2018/026382 WO2018200155A1 (en) 2017-04-24 2018-04-06 Navigating a holographic image

Publications (2)

Publication Number Publication Date
CN110546595A CN110546595A (zh) 2019-12-06
CN110546595B true CN110546595B (zh) 2021-12-10

Family

ID=62104382

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201880026897.1A Active CN110546595B (zh) 2017-04-24 2018-04-06 导航全息图像

Country Status (4)

Country Link
US (1) US10620779B2 (zh)
EP (1) EP3616030B1 (zh)
CN (1) CN110546595B (zh)
WO (1) WO2018200155A1 (zh)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10867454B2 (en) * 2016-08-05 2020-12-15 Sony Corporation Information processing apparatus and method to control operations in virtual space
JP6463826B1 (ja) * 2017-11-27 2019-02-06 株式会社ドワンゴ 動画配信サーバ、動画配信方法及び動画配信プログラム
US11019389B2 (en) * 2017-12-04 2021-05-25 Comcast Cable Communications, Llc Determination of enhanced viewing experiences based on viewer engagement
US20190253751A1 (en) * 2018-02-13 2019-08-15 Perfect Corp. Systems and Methods for Providing Product Information During a Live Broadcast
US11288733B2 (en) * 2018-11-14 2022-03-29 Mastercard International Incorporated Interactive 3D image projection systems and methods
US11144194B2 (en) * 2019-09-19 2021-10-12 Lixel Inc. Interactive stereoscopic display and interactive sensing method for the same
US11747617B2 (en) * 2020-07-24 2023-09-05 Padula Rehabilitation Technologies, Llc Systems and methods for a parallactic ambient visual-field enhancer
US11599936B2 (en) * 2020-11-17 2023-03-07 David Rashkin Mixed reality system with tracking devices and virtual holograms
DE102021118628A1 (de) 2021-07-19 2023-01-19 Bayerische Motoren Werke Aktiengesellschaft Verfahren zur Darstellung von Landpunkten in einem Fahrzeug
CN114419704B (zh) * 2021-12-31 2022-08-02 北京瑞莱智慧科技有限公司 对抗样本动态生成方法、装置、电子设备及存储介质
US11768544B2 (en) * 2022-02-01 2023-09-26 Microsoft Technology Licensing, Llc Gesture recognition based on likelihood of interaction

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6864886B1 (en) * 2000-08-10 2005-03-08 Sportvision, Inc. Enhancing video using a virtual surface
WO2011106008A1 (en) * 2010-02-25 2011-09-01 Hewlett-Packard Development Company, L.P. Representative image

Family Cites Families (52)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7015831B2 (en) 2002-12-17 2006-03-21 Evolution Robotics, Inc. Systems and methods for incrementally updating a pose of a mobile device calculated by visual simultaneous localization and mapping techniques
US7401920B1 (en) 2003-05-20 2008-07-22 Elbit Systems Ltd. Head mounted eye tracking and display system
IL157837A (en) 2003-09-10 2012-12-31 Yaakov Amitai Substrate-guided optical device particularly for three-dimensional displays
WO2006003586A2 (en) * 2004-06-29 2006-01-12 Koninklijke Philips Electronics, N.V. Zooming in 3-d touch interaction
US8314789B2 (en) 2007-09-26 2012-11-20 Autodesk, Inc. Navigation system for a 3D virtual scene
US9772689B2 (en) 2008-03-04 2017-09-26 Qualcomm Incorporated Enhanced gesture-based image manipulation
US9569001B2 (en) 2009-02-03 2017-02-14 Massachusetts Institute Of Technology Wearable gestural interface
US9483138B2 (en) * 2009-07-10 2016-11-01 Adobe Systems Incorporated Natural media painting using a realistic brush and tablet stylus gestures
US9728006B2 (en) * 2009-07-20 2017-08-08 Real Time Companies, LLC Computer-aided system for 360° heads up display of safety/mission critical data
US8467133B2 (en) * 2010-02-28 2013-06-18 Osterhout Group, Inc. See-through display with an optical assembly including a wedge-shaped illumination system
US9183560B2 (en) * 2010-05-28 2015-11-10 Daniel H. Abelow Reality alternate
US9734622B2 (en) * 2010-06-01 2017-08-15 Vladimir Vaganov 3D digital painting
US8941559B2 (en) 2010-09-21 2015-01-27 Microsoft Corporation Opacity filter for display device
US8929612B2 (en) 2011-06-06 2015-01-06 Microsoft Corporation System for recognizing an open or closed hand
JP6074170B2 (ja) * 2011-06-23 2017-02-01 インテル・コーポレーション 近距離動作のトラッキングのシステムおよび方法
US9377865B2 (en) 2011-07-05 2016-06-28 Apple Inc. Zoom-based gesture user interface
JP5921835B2 (ja) 2011-08-23 2016-05-24 日立マクセル株式会社 入力装置
KR20220032059A (ko) * 2011-09-19 2022-03-15 아이사이트 모빌 테크놀로지 엘티디 증강 현실 시스템용 터치프리 인터페이스
US9477303B2 (en) * 2012-04-09 2016-10-25 Intel Corporation System and method for combining three-dimensional tracking with a three-dimensional display for a user interface
US9116666B2 (en) * 2012-06-01 2015-08-25 Microsoft Technology Licensing, Llc Gesture based region identification for holograms
US20130328925A1 (en) * 2012-06-12 2013-12-12 Stephen G. Latta Object focus in a mixed reality environment
US9678660B2 (en) 2012-11-05 2017-06-13 Nokia Technologies Oy Method and apparatus for conveying efficient map panning over a mapping user interface
CN103914143A (zh) * 2013-01-07 2014-07-09 义明科技股份有限公司 电子装置的控制方法
US10133342B2 (en) 2013-02-14 2018-11-20 Qualcomm Incorporated Human-body-gesture-based region and volume selection for HMD
WO2014128749A1 (ja) * 2013-02-19 2014-08-28 株式会社ブリリアントサービス 形状認識装置、形状認識プログラム、および形状認識方法
US9041741B2 (en) 2013-03-14 2015-05-26 Qualcomm Incorporated User interface for a head mounted display
US9213403B1 (en) 2013-03-27 2015-12-15 Google Inc. Methods to pan, zoom, crop, and proportionally move on a head mountable display
US9916009B2 (en) * 2013-04-26 2018-03-13 Leap Motion, Inc. Non-tactile interface systems and methods
CN105190480B (zh) * 2013-05-09 2018-04-10 索尼电脑娱乐公司 信息处理设备和信息处理方法
US8988344B2 (en) 2013-06-25 2015-03-24 Microsoft Technology Licensing, Llc User interface navigation
US20150042640A1 (en) * 2013-08-07 2015-02-12 Cherif Atia Algreatly Floating 3d image in midair
KR102077105B1 (ko) * 2013-09-03 2020-02-13 한국전자통신연구원 사용자 인터랙션을 위한 디스플레이를 설계하는 장치 및 방법
US10466858B2 (en) * 2013-12-01 2019-11-05 Upskill, Inc. Systems and methods for interacting with a virtual menu
US20150244747A1 (en) * 2014-02-26 2015-08-27 United Video Properties, Inc. Methods and systems for sharing holographic content
US10203762B2 (en) * 2014-03-11 2019-02-12 Magic Leap, Inc. Methods and systems for creating virtual and augmented reality
US10013083B2 (en) 2014-04-28 2018-07-03 Qualcomm Incorporated Utilizing real world objects for user input
CN106537290B (zh) * 2014-05-09 2019-08-27 谷歌有限责任公司 与真实和虚拟对象交互的基于生物力学的眼球信号的***和方法
TWI519818B (zh) * 2014-05-28 2016-02-01 中強光電股份有限公司 光學鏡頭與虛像顯示模組
US20150346813A1 (en) 2014-06-03 2015-12-03 Aaron Michael Vargas Hands free image viewing on head mounted display
US9588490B2 (en) * 2014-10-21 2017-03-07 City University Of Hong Kong Neural control holography
US20160195849A1 (en) * 2015-01-05 2016-07-07 Intel Corporation Facilitating interactive floating virtual representations of images at computing devices
US9767613B1 (en) * 2015-01-23 2017-09-19 Leap Motion, Inc. Systems and method of interacting with a virtual object
US10185463B2 (en) 2015-02-13 2019-01-22 Nokia Technologies Oy Method and apparatus for providing model-centered rotation in a three-dimensional user interface
US10627908B2 (en) * 2015-03-27 2020-04-21 Lucasfilm Entertainment Company Ltd. Facilitate user manipulation of a virtual reality environment view using a computing device with touch sensitive surface
US10156908B2 (en) * 2015-04-15 2018-12-18 Sony Interactive Entertainment Inc. Pinch and hold gesture navigation on a head-mounted display
KR20170011190A (ko) * 2015-07-21 2017-02-02 엘지전자 주식회사 이동 단말기 및 그것의 제어방법
EP3337142A4 (en) * 2015-08-11 2019-03-13 LG Electronics Inc. MOBILE DEVICE AND CONTROL PROCESS THEREFOR
US20170046878A1 (en) * 2015-08-13 2017-02-16 Revistor LLC Augmented reality mobile application
US9766713B2 (en) * 2015-09-08 2017-09-19 Unity IPR ApS System and method for providing user interface tools
JP6786792B2 (ja) * 2015-12-03 2020-11-18 セイコーエプソン株式会社 情報処理装置、表示装置、情報処理方法、及び、プログラム
US20170371410A1 (en) * 2016-06-28 2017-12-28 International Business Machines Corporation Dynamic virtual object interactions by variable strength ties
US10268266B2 (en) * 2016-06-29 2019-04-23 Microsoft Technology Licensing, Llc Selection of objects in three-dimensional space

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6864886B1 (en) * 2000-08-10 2005-03-08 Sportvision, Inc. Enhancing video using a virtual surface
WO2011106008A1 (en) * 2010-02-25 2011-09-01 Hewlett-Packard Development Company, L.P. Representative image

Also Published As

Publication number Publication date
EP3616030A1 (en) 2020-03-04
WO2018200155A1 (en) 2018-11-01
EP3616030B1 (en) 2021-10-27
US20180307397A1 (en) 2018-10-25
CN110546595A (zh) 2019-12-06
US10620779B2 (en) 2020-04-14

Similar Documents

Publication Publication Date Title
CN110546595B (zh) 导航全息图像
EP3000020B1 (en) Hologram anchoring and dynamic positioning
CN112114429B (zh) 基于用户的上下文敏感全息图反应
JP5913346B2 (ja) 拡張現実表示のための自動可変仮想焦点
EP3011411B1 (en) Hybrid world/body locked hud on an hmd
US9329682B2 (en) Multi-step virtual object selection
JP5908491B2 (ja) 拡張現実表示のための自動合焦の改良
EP2652543B1 (en) Optimized focal area for augmented reality displays
US20160210780A1 (en) Applying real world scale to virtual content
US20130326364A1 (en) Position relative hologram interactions
US20130342572A1 (en) Control of displayed content in virtual environments
US20140368537A1 (en) Shared and private holographic objects
US20130328925A1 (en) Object focus in a mixed reality environment
US20130335405A1 (en) Virtual object generation within a virtual environment
WO2013006518A2 (en) Multi-visor: managing applications in head mounted displays

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