CN114868099A - 抗滑移注视跟踪用户界面 - Google Patents

抗滑移注视跟踪用户界面 Download PDF

Info

Publication number
CN114868099A
CN114868099A CN202080087994.9A CN202080087994A CN114868099A CN 114868099 A CN114868099 A CN 114868099A CN 202080087994 A CN202080087994 A CN 202080087994A CN 114868099 A CN114868099 A CN 114868099A
Authority
CN
China
Prior art keywords
gaze
user
offset
trajectory
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.)
Pending
Application number
CN202080087994.9A
Other languages
English (en)
Inventor
埃里克·阿布苏安
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.)
Google LLC
Original Assignee
Google 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 Google LLC filed Critical Google LLC
Publication of CN114868099A publication Critical patent/CN114868099A/zh
Pending legal-status Critical Current

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/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • G06F3/013Eye tracking input arrangements
    • 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/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser

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)
  • Position Input By Displaying (AREA)

Abstract

一种抗滑移用户界面(UI)可以在处理用户眼睛注视输入中考虑由于头戴式显示器(HMD)设备的滑移、重新安装等的移动。抗滑移UI可以包括多个UI元件。每个UI元件可以具有定义针对该UI元件的显示轨迹的独特移动样式,从而提供UI元件之间的区别。用户注视轨迹可以与UI元件的显示轨迹中的一个相匹配,并且对应的UI元件可以被识别为预期由用户选择的目标UI元件。HMD的眼睛到屏幕重新校准可以使用注视轨迹与目标UI元件的显示轨迹之间的平移偏移、缩放偏移和旋转偏移来完成。

Description

抗滑移注视跟踪用户界面
技术领域
本文总体上涉及增强现实(AR)和/或虚拟现实(VR)环境,并且更具体地涉及用于与AR和/或VR环境中的特征交互的注视跟踪。
背景技术
(AR)和/或(VR)系统可以生成三维(3D)AR/VR环境。用户可以通过与各种电子设备的交互体验该3D AR/VR环境,各种电子设备诸如例如为头戴式显示器(HMD)设备和/或平视显示器(HUD)设备,诸如例如头盔、护目镜、眼镜等、装有传感器的手套、包含传感器的外部手持设备、以及其他这样的电子设备。用户可以移动通过AR/VR环境,并且可以使用各种输入方法与AR/VR环境中的对象、特征、用户界面等交互。例如,用户可以使用外部控制器、手势输入、语音输入、包括头部注视和眼睛注视的注视输入、以及其他这样的输入方法与AR/VR环境中的特征交互。在一些情况下,尤其是当注视输入被用于与AR/VR环境的特征交互时,HMD的滑移和/或重新安装可以影响检测到的注视输入的准确性。
发明内容
在一个方面中,一种计算机实现的方法可以包括:检测指向显示在头戴式显示器(HMD)设备的显示设备上的虚拟UI的用户注视,虚拟UI包括多个虚拟UI元件;检测对应于检测到的用户注视的注视轨迹;将检测到的注视轨迹匹配到与多个UI元件中的UI元件相关联的显示轨迹;将UI元件识别为目标UI元件;确定注视轨迹和与目标UI元件相关联的显示轨迹之间的偏移,偏移包括平移偏移、缩放偏移、或旋转偏移中的至少一个;以及基于确定的偏移来重新校准用户注视交互模式。
在一些实施方式中,平移偏移可以包括:在第一方向上的第一平移偏移;以及在第二方向上的第二平移偏移。在一些实施方式中,缩放偏移可以包括:在第一方向上的压缩或扩展;以及在第二方向上的压缩或扩展。在一些实施方式中,重新校准用户注视交互模式可以包括利用虚拟UI和多个UI元件来重置检测到的用户注视,以补偿第一平移偏移和第二平移偏移以及第一缩放偏移和第二缩放偏移。
在一些实施方式中,虚拟UI可以是包括多个动态UI元件的动态UI,多个动态UI元件中的每个具有定义相应动态UI元件的移动样式的相应显示轨迹。多个动态UI元件中的每个动态UI元件可以包括定义针对动态UI元件的独特移动样式的独特显示轨迹。显示轨迹可以包括线性部分、圆形部分、或曲线部分。多个动态UI元件中的每个动态UI元件可以包括定义针对动态UI元件的伪随机移动样式的伪随机显示轨迹。
在一些实施方式中,检测用户注视和检测注视轨迹可以包括:由HMD的眼睛跟踪系统跟踪用户眼睛注视;以及基于跟踪的用户眼睛注视来相对于虚拟UI和多个UI元件检测注视轨迹。跟踪用户眼睛注视可以包括:由HMD的一个或多个光源朝向用户的眼睛发射光;由HMD的一个或多个光传感器检测由用户的眼睛对由一个或多个光源发射的光的反射;以及基于检测到的反射来跟踪用户眼睛注视。
在另一个总体方面中,一种电子设备可以包括:显示器;感测系统;至少一个处理器;以及存储指令的存储器。指令在由至少一个处理器执行时,可以使电子设备:由显示器显示虚拟用户界面(UI),虚拟UI包括多个UI元件;检测指向虚拟UI的用户注视;检测对应于检测到的用户注视的注视轨迹;将检测到的注视轨迹匹配到与多个UI元件中的UI元件相关联的显示轨迹;将UI元件识别为目标UI元件;确定注视轨迹和与目标UI元件相关联的显示轨迹之间的偏移,偏移包括平移偏移、缩放偏移、或旋转偏移中的至少一个;以及基于确定的偏移来重新校准用户注视交互模式。
在一些实施方式中,指令可以使至少一个处理器:确定平移偏移,包括:在第一方向上的第一平移偏移;以及在第二方向上的第二平移偏移;以及确定缩放偏移,包括:在第一方向上的压缩或扩展;以及在第二方向上的压缩或扩展。指令可以使至少一个处理器利用虚拟UI和多个UI元件来重置检测到的用户注视,以补偿第一平移偏移和第二平移偏移以及第一缩放偏移和第二缩放偏移。虚拟UI可以是包括多个动态UI元件的动态UI,多个动态UI元件中的每个动态UI元件具有定义针对相应动态UI元件的独特移动样式的相应显示轨迹。显示轨迹可以包括线性部分、圆形部分、或曲线部分。多个动态UI元件中的每个动态UI元件可以包括定义针对动态UI元件的伪随机移动样式的伪随机显示轨迹。
在一些实施方式中,指令可以使至少一个处理器:由电子设备的眼睛跟踪系统跟踪用户眼睛注视,包括:由一个或多个光源朝向用户的眼睛发射光;由一个或多个光传感器检测由用户的眼睛对由一个或多个光源发射的光的反射;以及基于检测到的反射来跟踪用户眼睛注视。
在一些实施方式中,电子设备可以是头戴式显示器(HMD)设备,并且注视轨迹和与目标UI元件相关联的显示轨迹之间的偏移是由于在HMD设备的初始校准之后相对于用户的眼睛的HMD设备的移动。
在另一个总体方面中,一种非暂时性计算机可读介质可以在其上存储有指令,指令在由计算设备执行时,使计算设备:由计算设备的显示设备显示虚拟用户界面(UI),虚拟UI包括多个UI元件;检测指向虚拟UI的用户注视;检测对应于检测到的用户注视的注视轨迹;将检测到的注视轨迹匹配到与多个UI元件中的UI元件相关联的显示轨迹;将UI元件识别为目标UI元件。
一个或多个实施方式的细节在附图和以下描述中阐述。从说明书和附图以及从权利要求书中,其他特征将是显而易见的。
附图说明
图1A-1C图示了示例AR和/或VR系统。
图2图示了用于生成AR和/或VR环境并且与AR和/或VR环境交互的示例系统。
图3是根据本文中描述的实施方式的用于生成AR和/或VR环境并且与AR和/或VR环境交互的示例电子设备的框图。
图4是示例眼睛注视跟踪系统的示意图。
图5A和图5B图示了采用点注视输入模式的示例用户界面。
图6A-6C图示了根据本文中描述的实施方式的采用示例注视轨迹输入模式的示例用户界面。
图7A-7G是根据本文中描述的实施方式的示例用户界面元件轨迹和示例注视轨迹的示意图。
图8是根据本文中描述的实施方式的检测用户注视输入的方法的流程图。
图9示出了能够被用于实施本文中描述的技术的计算机设备和移动计算机设备的示例。
具体实施方式
用户可以利用许多不同的输入方法以与AR和/或VR环境中的特征(即,虚拟对象、虚拟用户界面(UI)等)交互。这样的输入方法可以包括例如在外部计算设备(诸如,例如,手持控制器)处接收到的用户输入、手势输入、可听/语音输入、注视输入(包括例如头部注视输入和眼睛注视输入)等。在一些实施方式中,这些输入方法可以被组合。根据本文中描述的实施方式的系统和方法提供使用注视输入与AR和/或VR环境中的UI的用户交互。根据本文中描述的实施方式的系统和方法能够考虑HMD的滑移或移动或重新安装,其否则可以影响指向AR和/或VR环境中的UI的注视输入的准确性。
图1A-1C图示了能够通过例如由电子设备运行的应用生成AR和/或VR环境的各种示例电子设备。如图1A中示出的示例中所示,在一些实施方式中,用户可以经由可穿戴设备16的显示器部分查看和体验AR/VR环境。在图1A中示出的示例中,可穿戴设备是以例如智能眼镜的形式的头戴式设备16。在这个布置中,物理真实世界环境可以通过头戴式设备16对用户可见,并且(一个或多个)虚拟特征、(一个或多个)对象、(一个或多个)UI等可以被放置于基于物理真实世界环境的用户视图中或者叠加在基于物理真实世界环境的用户视图上。如图1B中示出的示例中所示,在一些实施方式中,用户可以经由头戴式设备18的显示器部分查看和体验AR/VR环境,头戴式设备18的显示器部分基本上挡住用户对物理真实世界环境的直接可见性。在这个布置中,物理环境的模型的图像或物理环境的透传图像可以被显示在头戴式设备18的显示器部分上,其中(一个或多个)虚拟特征、(一个或多个)对象、(一个或多个)UI等放置于由用户查看到的AR/VR场景中。如图1C中示出的示例中所示,在一些实施方式中,用户可以查看和体验手持设备10的显示器部分12上的AR/VR环境。示例性手持设备10的成像设备14可以提供图像以用于显示物理真实世界环境的相机视图或场景以及放置于物理真实世界环境的相机视图或场景中的(一个或多个)虚拟特征、(一个或多个)对象、(一个或多个)UI等。
现在将详细参考本公开的非限制性示例,其示例被图示在附图中。下面通过参考附图来描述示例,其中,相同的附图标记指代相同的元件。
图1A-1C中图示的手持设备10和头戴式设备16和18是具有显示AR环境和/或VR环境中的虚拟对象的能力的电子设备。在下文中,仅为了便于讨论和图示,根据本文中描述的实施方式的系统和方法的示例将基于如在与图1A中图示的示例性头戴式设备16相似的电子设备上查看到的场景来呈现。然而,本文中要描述的原理可以被应用到能够生成和呈现AR/VR环境的(一个或多个)其他电子设备和/或系统,在AR/VR环境中,用户能够使用注视输入与虚拟特征、对象、UI等交互。
在一些情况下,当使用平视显示器(HUD)设备或头戴式显示器(HMD)设备(诸如图1A中示出的示例HMD 16)时,注视跟踪可以提供检测输入和或与AR/VR环境和应用中的特征的交互的优点。例如,眼睛跟踪可以促进查看和点击动作,从而允许用户例如注视着对象并眨眼以选择该对象。另外,眼睛跟踪可以提供对高清(HD)内容的优化渲染。例如,眼睛跟踪可以通过仅以HD渲染场景中被用户关注的部分,而不是以HD渲染整个场景,来促进注视点渲染,因此减少处理负荷。在一些情况下,眼睛跟踪可以用于执行作为生物识别系统的部分的虹膜辨识,用于用户认证和用户识别两者。示例HMD 16的滑移或HMD 16的物理调整或HMD16在用户的头部上的移除/重新安装可以中断注视跟踪能力,以及尤其是,HMD 16的眼睛跟踪能力,并且可以影响与选择的虚拟特征、对象、UI等的对应用户交互的准确性。
图2图示了根据本公开所示的教导的用于创建3D AR和/或VR环境并且与3D AR和/或VR环境交互的示例系统100。总体上,系统100提供包括用于用户访问、查看、交互和操纵的内容的3D AR和/或VR环境。系统100能够向用户提供用于使用例如包括眼睛跟踪和/或头部跟踪的注视跟踪来访问内容、应用、对象、特征等的选项。在图2中示出的示例中,用户正穿戴着以例如智能眼镜的形式的HMD 110,其中物理环境穿过其可见,并且其中虚拟特征可以被叠加在物理环境的用户视图上以创建AR环境。
如图2中所示,示例系统100可以包括能够通过网络120交换数据的多个计算和/或电子设备。设备可以表示客户端或服务器,并且能够经由网络120或任何其他(一个或多个)附加的和/或替选的网络进行通信。示例客户端设备包括但不限于移动设备131(例如,智能电话、平板计算设备、个人数字助理、便携式媒体播放器等)、膝上型计算机或笔记本电脑132、相机(未示出)、在这个示例中由用户穿戴的HMD 110、台式计算机133、手持设备134、游戏设备(未示出)、以及能够使用网络120或(一个或多个)其他网络与其他计算或电子设备或系统进行通信或者可以被用于访问AR/VR环境内的虚拟内容或在AR/VR环境内操作的任何其他电子或计算设备。设备110和131-134可以表示客户端或服务器设备。设备110和131-134能够运行客户端操作系统和一个或多个客户端应用,一个或多个客户端应用能够访问、渲染、提供、或显示包括于每个相应的设备110和131-134中或结合每个相应的设备110和131-134的显示设备上的VR内容。设备110和131-134能够运行VR应用,所述VR应用此外还利用由HMD 110或本文中公开的其他HMD执行的眼睛跟踪。
系统100可以包括存储内容和/或能够生成、修改、或运行AR/VR场景的AR/VR软件模块(例如,以AR/VR应用144的形式)的任何数量的内容系统140。在一些示例中,设备110和131-134和内容系统140包括一个或多个处理器和一个或多个存储器设备,其能够运行客户端操作系统和一个或多个客户端应用。HMD 110、其他设备131-133或内容系统140可以由图9中示出的示例计算设备来实施。
应用144能够被配置成运行在设备110和131-134中的任何或全部上。例如,HMD110能够连接到设备131-134以访问内容系统140上的AR/VR内容。设备131-134能够(有线或无线)连接到HMD 110,HMD 110能够提供用于显示的内容。用户的AR/VR系统能够只是HMD110,或者设备131-134与HMD 110的组合。
图3是能够生成要由用户体验的AR环境并且能够执行用于检测用户输入的注视跟踪(包括眼睛注视跟踪和/或头部注视跟踪)的示例电子设备300的框图,示例电子设备300诸如例如图2中由用户穿戴的HMD 110(以例如智能眼镜的形式)。
电子设备300可以包括感测系统360和控制系统370。感测系统360可以包括一个或多个不同类型的传感器,包括例如光传感器、音频传感器、图像传感器、距离/接近传感器、和/或其他传感器和/或传感器的(一个或多个)不同的组合。在一些实施方式中,感测系统360可以包括一个或多个注视跟踪传感器,包括例如眼睛跟踪系统。在一些实施方式中,眼睛跟踪系统可以包括被定位以检测并跟踪用户的眼睛注视的一个或多个图像传感器或相机。在一些实施方式中,眼睛跟踪系统可以包括发射指向用户的眼睛的光——例如,红外光——的一个或多个光源,诸如例如发光二极管(LED)。从用户的眼睛对由LED发射的这个光的反射可以由例如感测系统360的一个或多个光传感器检测到。眼睛注视可以基于由LED发射的光的捕获的反射来跟踪。在一些实施方式中,感测系统360可以包括检测和跟踪头部注视方向和移动的惯性测量单元(IMU)。控制系统370可以包括例如(一个或多个)功率/暂停控制设备、(一个或多个)音频和视频控制设备、(一个或多个)光学控制设备、和/或其他这样的设备和/或设备的(一个或多个)不同的组合。取决于具体实施方式,感测系统360和/或控制系统370可以包括更多或更少设备。电子设备300可以包括与感测系统360和控制系统370通信的处理器390。处理器390可以处理从感测系统360接收到的输入,诸如例如由一个或多个图像传感器捕获的眼睛注视方向和移动输入和/或由IMU捕获的头部注视方向和移动输入,以处理输入并执行对应于检测到的注视输入的指令。电子设备300可以包括能够接收用户输入以在控制系统370的控制下由处理器290处理和由输出系统350输出的输入系统。输入系统340可以包括各种类型的输入设备,包括例如触摸输入表面、能够接收音频输入的音频输入设备(包括例如包括于感测系统360中的音频传感器或麦克风)、手势辨识设备(包括例如由感测系统360的(一个或多个)图像传感器捕获并由处理器390处理的图像)、以及其他这样的输入设备。输出系统350可以包括各种类型的输出设备,诸如例如(一个或多个)显示设备、(一个或多个)音频输出设备、或扬声器、物理和/或触觉输出设备、以及其他这样的输出设备。电子设备300可以包括存储器380和提供电子设备300与诸如例如图2中示出的外部设备的一个或多个其他外部设备之间的通信的通信模块395。
在一个非限制性示例中,电子设备300可以是HUD或HMD,诸如如图4中示出的示例中的眼镜。具体地,图4是以由用户穿戴的智能眼镜的形式的示例HMD 300的侧面示意图。在这个示例中,仅出于讨论和图示的目的,HMD 300包括眼睛跟踪系统,眼睛跟踪系统包括一个或多个光源361和一个或多个光传感器362以执行眼睛跟踪。本文中要描述的原理可以被应用到包括其他类型的眼睛跟踪设备的HMD。示例HMD 300可以包括沿着穿戴HMD 300的用户的眼睛E的视线或光路定位一个或多个镜片352和显示设备355的框架305。以例如一个或多个LED的形式的一个或多个光源361可以例如沿着图4中示出的示例射线R1朝向用户的眼睛E发射光,例如间歇地发射光。在一些实施方式中,由光源361发射的光可以由用户的眼睛E反射,通过示例射线R2图示。在一些实施方式中,由用户的眼睛E反射的光可以由一个或多个光传感器362检测到。从用户的眼睛E对光的反射可以例如由HMD 300的处理器使用以跟踪眼睛注视。处理器可以将检测到的眼睛注视与例如显示设备上或通过显示设备对用户可见的元件相关。在一些实施方式中,处理器可以将检测到的眼睛注视与由显示设备显示的UI的元件相关,以提供与UI的元件的用户交互。图4中提供的以示意图示出的组件的布置和/或数量仅出于说明性目的。在一些实施方式中,示例HMD 300可以包括与图4中示出的示例布置不同地布置和/或定位的更多或更少的光源361。在一些实施方式中,示例HMD可以包括与图4中示出的示例布置不同地布置和/或定位的更多或更少的光传感器362。
如以上指出的,HUD或HMD(诸如例如眼镜、头戴式耳机、护目镜等)可以被配置成接收AR和/或VR环境中的注视输入,注视输入包括例如眼睛注视输入和/或头部注视输入。在一些实施方式中,作为输入模态的眼睛注视可以依赖于由HMD执行的眼睛跟踪。在一些情况下,HMD的滑移、HMD的重新安装、和/或HMD的其他重定位可以对由HMD执行的眼睛跟踪的准确性具有不利影响,尤其是当眼睛注视基于由光源输出并且由HMD的光传感器捕获的从眼睛对光的反射来跟踪时,如以上参考图4中示出的说明性示例描述的,而不是例如基于由HMD的相机捕获的图像的基于图像的跟踪,基于图像的跟踪可以消耗诸如HMD的功率受限设备中的过高功率量。对眼睛跟踪的准确性的这种不利影响可以继而影响作为输入模态的眼睛注视的准确性。恢复眼睛跟踪的准确性的重新校准可以是耗时的且资源密集的。
在根据本文中描述的实施方式的系统和方法中,抗滑移UI可以利用针对可由HMD的用户选择的UI的元件的移动样式。在一些实施方式中,这可以允许系统甚至在可以导致注视轨迹不再与UI元件对准的HMD的滑移、重新安装、或其他移动的情况下基于注视轨迹来区分UI的元件的选择。在一些实施方式中,这还可以允许系统调整UI元件的显示器的校准以根据确定的滑移来重新对准注视轨迹估计。在一些实施方式中,基于注视轨迹,而不是否则易受滑移错误影响并且否则将要求重新校准的注视点的绝对位置,注视输入可以与对应UI元件(例如,预期用户选择)相匹配。根据本文中描述的实施方式的系统和方法可以在确定关于UI元件的用户意图中考虑滑移,而不依赖于眼睛跟踪方法的相当大的变化。
图5A图示了可以在如以上描述的AR/VR环境中被显示给以上描述的示例电子设备300的用户的示例UI 500。示例UI 500可以包括一个或多个静态UI元件550A至550I。静态UI元件550A-550I可以可由用户使用如以上描述的注视输入来选择。图5B图示了在其中自校准以后HMD 300的某种移动(即,滑移、重新安装等)已经发生的情况下与示例UI 300的用户交互。如图5B中所示,在其中示例滑移已经发生的情况下,用户眼睛注视可以预期用于点510(对应于对UI元件550A的选择)。然而,由于示例滑移,注视可以代替地被估计为已经被指向静态UI 500上的点520,从而导致与UI元件550I而不是如预期的UI元件550A的匹配和对UI元件550I而不是如预期的UI元件550A的选择。注视到静态UI 500/静态UI元件550A-550I的匹配对注视偏移(由箭头A表示)敏感,并且因此由于滑移的注视偏移导致与静态UI500的用户交互的不准确性,并且,在这个示例中,导致得到的选择的不准确性。即,在这个示例中,用户注视与静态UI 500的静态UI元件550A-550H中的一个的匹配基于关于静态UI500/静态UI元件550A-550H的注视点的绝对位置,注视点的绝对位置已经由于滑移而偏移。在这种情况下,校正要求完整重新校准过程。
对比之下,根据本文中描述的实施方式的对用户注视与包括动态或移动UI元件的动态UI的动态匹配可以较少遭受基于由于滑移的注视偏移的不准确性。在根据本文中描述的实施方式的包括动态UI元件的动态UI中,当用户的眼睛跟随给定UI元件达目标持续时间时,或者,当用户的眼睛执行对预期选择的给定UI元件的平滑追随时,(例如,在注视与预期UI元件之间的)匹配可以基于注视轨迹(而不是基于注视点的绝对位置)来执行。一旦已经成功地选择了动态UI元件中的一个,眼睛到屏幕校准就能够基于动态UI元件的(已知)轨迹和在选择的动态UI元件的平滑追随期间观察到的估计的注视轨迹来计算。该校准过程可以是相对无缝的,并且可以考虑由于滑移的接下来的注视偏移。
图6A图示了根据本文中描述的实施方式的示例UI 600。示例UI 600是动态UI600,包括多个动态UI元件650A至650H。即,在这个示例UI 600中,UI元件650A-650H是可移动的,或者以其中UI元件650A-650H处于运动中的状态显示,并且在线性解耦的轨迹上移动。在要参考图6A-6C描述的示例实施方式中,仅为了便于讨论和图示,示例动态UI元件650A-650H具有基本上圆形布置,并且以基本上圆形样式移动,如例如由箭头B所示出的。以这种基本上圆形样式的移动被顺序地图示在图6B(1)至6B(5)中。然而,本文中要描述的原理可以被应用到其他动态UI,包括具有不同数量的UI元件和/或UI元件被不同地布置、和/或其中UI元件以其他样式移动和/或跟随动态UI内的其他移动轨迹的UI,包括统一的和不统一的或随机的或伪随机的样式。
图6C图示了在其中自校准以后HMD 300的某种移动(即,HMD 300的滑移、HMD 300的重新安装、HMD 300的重定位等)已经发生的情况下与示例动态UI 600的用户交互。如图6C中所示,在其中示例滑移已经发生的情况下,用户眼睛注视可以预期用于UI元件650A。在这个示例中,尽管已经存在HMD 300的滑移(其通常将导致注视点从预期目标UI元件偏移,如以上描述的),但是注视轨迹610(而不是注视点)可以被跟踪。系统可以检测到注视轨迹610追随或跟随UI元件650A的显示轨迹630A。在这种情况下,UI元件650A的显示轨迹630A由系统获知。即使用户注视轨迹610可以在相对于预期目标UI元件650A和目标UI元件650A的相关联的显示轨迹630A的偏移620处,系统也可以将检测到的注视轨迹610与UI元件650A的显示轨迹630A相匹配。基于注视轨迹610与UI元件650A的显示轨迹630A的匹配,系统可以确定UI元件650A是检测到的注视610的目标,并且UI元件650A可以被选择。在一些实施方式中,在目标UI元件650A的选择的确认之后,系统可以使用确定的偏移620来执行相对简单的眼睛到显示器校准,以供系统接下来使用,例如,直到检测到针对另一个这样的重新校准的需要,检测到会话的结束等。
图7A至图7C是根据本文中描述的实施方式的注视轨迹——诸如例如以上参考图6A-6C描述的注视轨迹610——与目标UI元件的移动样式或显示轨迹——诸如例如以上参考图6A-6C描述的目标UI元件650A的已知显示轨迹630——的匹配的示意图。
如以上指出的,示例动态目标UI元件650中的每一个可以具有它自己的独特的显示轨迹630。这可以允许系统在多个不同的UI元件650之间进行区分,尤其是当试图将检测到的注视轨迹610与多个UI元件650中的一个相匹配以继而确定与注视轨迹610相关联的预期目标UI元件650时。
图7A至图7G中示出的示意图图示了示例UI元件650中的一个的示例显示轨迹630以及在各种不同的滑移情景下的示例注视轨迹610。在图7A-7G中示出的示例布置中,仅出于讨论和图示的目的,由示例动态UI元件650跟随的示例显示轨迹630(即,示例轨迹或路径)是基本上圆形的。在一些实施方式中,显示轨迹可以跟随其他样式,包括伪随机样式。不管显示轨迹的样式或形状或轮廓如何,与特定UI元件相关联的显示轨迹的样式或形状或轮廓对系统已知,从而允许系统在各种UI元件之间进行区分,并且将检测到或观察到的注视轨迹与UI元件中的一个相匹配。
图7A图示了其中HMD 300被定位在用户的脸上并且眼睛到屏幕校准已经完成的情景。在图7A中示出的已校准状态中,显示轨迹630(以实线示出)和显示轨迹610(以虚线示出)基本上对准。即,观察到的注视轨迹630与由用户注视着的UI元件650的显示轨迹610基本上匹配或符合。即,沿着显示轨迹610移动的动态UI元件650与在图7A中表示的特定时间点处的用户注视615基本上对准。
图7B至7G图示了其中自图7A中示出的状态的HMD 300的某种形式的滑移已经导致观察到或检测到的注视轨迹610从目标UI元件650的显示轨迹630偏移的各种情景。尽管在图7A至图7G中静态地图示,但是应理解,动态UI元件650沿着由显示轨迹630(以实线图示)定义的样式移动,从而表示函数G(t)。注视轨迹610(以虚线图示)可以表示函数G’(t)。函数G’(t)可以提供对要匹配到动态UI 600的UI元件650中的一个的观察到或检测到的注视轨迹610的样式的测量或估计。在图7A-7G中,检测到的用户注视615被示出在时间点处,该时间点对应于由沿着显示轨迹630的动态UI元件650的位置表示的时间点。在图7B至图7G中示出的示例中,由于HMD 300的滑移,瞄准UI元件650的用户注视不跟随目标UI元件650的显示轨迹630。相反,由于HMD 300的滑移,注视轨迹610从目标UI元件650的显示轨迹630偏移。具体地,由于HMD 300的滑移,在显示轨迹630与注视轨迹610之间存在平移偏移T和缩放偏移S。图7B至图7G图示了对应于HMD 300的不同类型的滑移的各种示例情景,所述HMD 300的不同类型的滑移对应于由于滑移HMD 300相对于用户的脸/眼睛的对应布置。
图7B图示了其中已经存在HMD 300的一些平移的示例,在显示轨迹630与观察到的注视轨迹610之间具有基本上同质的缩放。如图7B中所示,由于HMD 300的滑移,观察到或检测到的用户注视轨迹610(以虚线示出)现在相对于目标UI元件650的显示轨迹630(以实线示出)稍微平移或偏移。在图7B中示出的示例中,注视轨迹610在X方向(即,沿着X轴)和Y方向(即,沿着Y轴)上相对于显示轨迹650偏移或平移。注视轨迹610的平移偏移或平移由从表示显示轨迹630的样式的中心部分延伸到表示注视轨迹610的样式的中心部分的向量T表示。平移偏移T可以由分量Tx(在X方向上或沿着X轴的偏移或平移或移位)和Ty(在Y方向上或沿着Y轴的偏移或平移或移位)定义。平移偏移可以响应于例如HMD 300在X方向和/或Y方向上(例如,相对于图7A中示出的已校准位置)的移动或位移。在图7B中示出的示例中,注视轨迹610的缩放偏移S可以由缩放分量Sx(在X方向上或沿着X轴的缩放)和Sy(在Y方向上或沿着Y轴的缩放)表示。缩放分量Sx可以表示在显示轨迹630与注视轨迹610之间的沿着X轴的压缩或扩展。缩放分量Sy可以表示在显示轨迹630与注视轨迹610之间的沿着Y轴的压缩或扩展。缩放偏移可以响应于例如HMD 300更接近或进一步远离用户的脸/眼睛的移动,从而使HMD 300的(一个或多个)传感器更接近和/或进一步远离用户的脸/眼睛。在图7B中示出的示例中,由于HMD 300的滑移,注视轨迹610以基本上同质或统一的方式相对于显示轨迹630缩放(按比例压缩或减小),所述基本上同质或统一的方式在X方向上的缩放Sx与在Y方向上的缩放Sy基本上相同。在这个实施方式中,HMD 300的实际滑动仅导致缩放(在X和Y方向上基本上统一的缩放),而不会导致注视轨迹610的变形。
因此,平移分量Tx和Ty以及缩放分量Sx和Sy可以定义由于HMD 300的滑移的用户注视轨迹610的平移和/或缩放和/或变形。平移可以至少部分地由于例如沿着鼻梁的HMD300的移动、相对于用户的脸的HMD 300的横向(即,从左向右)移动等而发生。以压缩和/或扩展的形式的缩放可以至少部分地归因于由于滑移的传感器的重定位,从而将HMD 300的一些传感器定位得更接近和/或进一步远离用户的脸而发生。一旦做出了与动态UI 600的目标UI元件650的匹配,注视轨迹610与已知显示轨迹630之间的平移偏移Tx、Ty和/或缩放偏移Sx、Sy就可以被确定,并且那些偏移可以被进一步应用到接下来的注视检测,以提供眼睛到屏幕重新校准。即,一旦注视轨迹610被分析并与UI元件650中的一个的显示轨迹630相匹配以用于目标UI元件650的选择,就可以使用那些偏移来执行眼睛到屏幕重新校准,以甚至在HMD 300的已滑移状态下也将系统返回到如图7A中所示的已校准状态。
图7C图示了其中HMD 300的滑移已经导致了平移偏移T(由平移分量Tx和Ty定义)和缩放偏移S(由缩放分量Sx和Sy定义)的情况。在图7C中示出的示例中,由于HMD 300的滑移,观察到或检测到的注视轨迹610现在稍微变形。即,在这个示例中,相较于图7B中示出的示例中的基本上同质或统一的缩放,缩放偏移S包括独立于缩放Sy(在Y方向上或沿着Y轴)的缩放Sx(在X方向上或沿着X轴)。在这个示例中,缩放分量Sx可以表示在X方向上(或沿着X轴)的扩展,并且缩放分量Sy可以表示在Y方向上(或沿着Y轴)的压缩。这可以指示HMD 300的滑移已经导致HMD 300的(一个或多个)特定传感器被定位得更接近用户的脸/眼睛,并且(一个或多个)特定传感器被定位得进一步远离用户的脸/眼睛(相较于图7A中示出的已校准位置)。
图7D图示了其中HMD 300的实际滑移已经导致了平移偏移T和包括某种水平的切变Sxy(指示HMD 300的非统一滑移)的缩放偏移S的实施方式。图7E图示了其中HMD 300的滑移已经导致了平移偏移T并且在X方向和Y方向上具有同质或统一的缩放S的情况。在图7E中示出的示例中,滑移还包括HMD 300的某种程度的旋转,如由注视轨迹610的注视615相对于在图示的时间点处的显示轨迹630上的目标UI元件650的偏移位置指出的。图7F图示了其中HMD 300的实际滑移已经导致了平移偏移T并且在X方向(即,扩展)和Y方向(即,压缩)上具有独立缩放S的实施方式。在图7F中示出的示例中,滑移还包括HMD 300的某种程度的旋转,如由注视轨迹610的注视615相对于在图示的时间点处的显示轨迹630上的目标UI元件650的偏移位置指出的。图7G图示了其中HMD 300的滑移已经导致了平移偏移T和包括切变Sxy的缩放偏移S的情况。在图7G中示出的示例中,滑移还包括HMD 300的某种程度的旋转,如由注视轨迹610的注视615相对于在图示的时间点处的显示轨迹630上的目标UI元件650的偏移位置指出的。
在一些实施方式中,可以在HMD 300的滑移的情况下基于检测到的注视轨迹610来确定目标UI元件650中实施一个或多个算法。例如,在一些实施方式中,(在平移滑移的示例中)对注视跟踪的建模可以由下面的等式1表征。
等式1 G'(t)=SG(t)+T
在等式1中,G(t)可以定义与特定UI元件相关联的真实显示轨迹。T可以表示平移分量,并且S可以表示与如以上讨论的HMD的滑移相关联的缩放分量。G'(t),即,(估计的)用户注视轨迹可以使用等式1来确定。
在一些实施方式中,这可以通过由下面的等式2表征的将估计的注视轨迹610的导数与由目标UI元件650的显示轨迹630定义的移动样式的导数相匹配来完成。在一些情况下,这种求导数方法可以最容易适用于其中平移偏移是滑移的主要分量的情况,但是可以遭遇对噪声的敏感性。
等式2
Figure BDA0003700570850000171
在一些实施方式中,注视轨迹G'(t)可以使用相位检测算法匹配到UI元件轨迹以将注视轨迹与目标UI元件的移动样式相匹配。这样的相位检测算法可以对噪声、平移偏移和缩放不太敏感。然而,相位检测算法(诸如例如傅里叶变换定理)可以依赖于在信号时段的数量级上或比信号时段更长的采样时段。这可以提出平衡提供与动态UI的相对快的用户交互与动态UI的UI元件的移动速度的挑战。
如以上指出的,图7E、图7F和图7G图示了其中HMD 300的滑移包括如以上描述的平移和缩放分量以及还有旋转分量的示例,从而导致检测到的注视轨迹610从目标UI元件650的显示轨迹630偏移。旋转滑移可以至少部分地由于例如HMD 300的第一侧面的向上移动和HMD 300的第二侧面的向下移动等而发生。在一些实施方式中,(在包括旋转滑移的示例中)注视跟踪的建模可以由下面的等式3表征。
等式3 G'(t)=SRG(t)+T
在等式3中,S可以表示滑移的缩放分量,R可以表示滑移的旋转分量,G(t)可以定义与特定UI元件相关联的真实显示轨迹,并且T可以表示滑移的平移分量。以这种方式,在包括HMD 300的旋转滑移的情况下,可以使用等式3来确定G'(t),即,(估计的)用户注视轨迹。
在一些实施方式中,如以上描述的,滑移可以包括独立缩放偏移Sx、Sy(即,导致在X和/或Y方向上的扩展和/或压缩的非同质或非统一Sx、Sy)。关于X轴和Y轴中的每一个的独立偏移和缩放因子可以由下面的等式4和5表示。
等式4 x’=a1x+a0
等式5 y’=b1x+b0
示例动态UI(诸如例如以上描述的动态UI 600)可以包括某个数量N个动态UI元件,诸如例如以上描述的动态UI元件650。当对关于具有N个UI元件的动态UI的滑移进行建模时,存在N+1个关于UI元件中的哪个是目标UI元件(即,预期用于通过检测到的用户注视选择的UI元件)的假设。即,用户注视可以指向N个UI元件中的一个,加上允许其中用户注视不预期用于N个UI元件中的任何的情况的假设。针对N个假设中的每个,包括这些偏移和独立缩放Sx和Sy的检测到的注视可以被建模并通过求解线性等式6和7拟合到UI元件中的一个。当平移偏移与切变组合时,包括这些偏移的检测到的注视可以被建模并通过针对假设中的每一个求解线性等式8并选择最佳拟合来拟合到UI元件中的一个。该方法已经被示出为抗切变和少量旋转滑移。
等式6
Figure BDA0003700570850000181
等式7
Figure BDA0003700570850000182
等式8
Figure BDA0003700570850000183
图8是根据本文中描述的实施方式的检测AR/VR环境中的用户注视输入的示例方法800的流程图。
动态UI(诸如以上描述的示例动态UI 600)可以经由例如HMD 300的显示设备(诸如眼镜、护目镜等)显示给AR/VR环境中的用户。动态UI 600可以包括多个动态UI元件,诸如以上描述的示例动态UI元件650,动态UI元件650中的每一个沿着由系统已知的相应独立显示轨迹630移动。动态UI元件650中的一个或多个可以是可由用户使用包括例如注视输入模式的许多不同的输入模式选择的。
系统可以检测指向包括多个动态UI元件650的动态UI 600的用户注视(框810)。如果确定注视输入与动态UI元件650中的一个相符合,则系统可以将识别的动态UI元件650设置为目标UI元件,并且选择UI元件650用于进一步动作(框820、880、890)。如果确定注视输入与动态UI元件650中的一个不相符合(框820),则系统可以跟踪与检测到的用户注视相关联的注视轨迹610(830)。系统可以将跟踪的用户注视轨迹610与对应于动态UI元件650的已知显示轨迹630相比较(框840)以将用户注视轨迹610与动态UI元件650中的一个的显示轨迹630相匹配(框850)。响应于用户注视轨迹610与动态UI元件650中的一个的显示轨迹630的匹配,系统可以将识别的UI元件650设置为目标UI元件,并且选择目标UI元件用于进一步动作(框850、880、890)。系统可以然后确定用户注视轨迹610与目标UI元件650的显示轨迹630之间的偏移(框860)。偏移可以包括例如平移偏移、缩放偏移或旋转偏移中的至少一个。系统可以使用确定的偏移来执行重新校准(框870)。过程可以继续直到过程终止(框895)。
图9示出了计算机设备1000和移动计算机设备1050的示例,它们可以与本文描述的技术一起使用。计算设备1000包括处理器1002、存储器1004、存储设备1006、连接到存储器1004和高速扩展端口1010的高速接口1008、以及连接到低速总线1014和存储设备1006的低速接口1012。处理器1002可以是基于半导体的处理器。存储器1004可以是基于半导体的存储器。组件1002、1004、1006、1008、1010和1012中的每一个都使用各种总线互连并且可以安装在公共主板上或者以其他适当的方式安装。处理器1002可以处理用于在计算设备1000内执行的指令,包括存储在存储器1004中或在存储设备1006上的指令,以用于在外部输入/输出设备上显示用于GUI的图形信息,外部输入/输出设备诸如为耦合到高速接口1008的显示器1016。在其他实施方式中,可以适当地使用多个处理器和/或多个总线,以及多个存储器和多种类型的存储器。此外,可以连接多个计算设备1000,每个设备提供必要操作的部分(例如,作为服务器组、一组刀片服务器或多处理器系统)。
存储器1004在计算设备1000内存储信息。在一个实施方式中,存储器1004是一个或多个易失性存储单元。在另一实施方式中,存储器1004是一个或多个非易失性存储单元。存储器1004也可以是另一种形式的计算机可读介质,诸如磁盘或光盘。
存储设备1006能够为计算设备1000提供大容量存储。在一个实施方式中,存储设备1006可以是或包含计算机可读介质,诸如软盘设备、硬盘设备、光盘设备或磁带设备、闪速存储器或其他类似的固态存储设备,或设备阵列,包括存储区域网络中的设备或其他配置。计算机程序产品可以有形地实现在信息载体中。计算机程序产品还可以包含指令,这些指令在被执行时,执行一种或多种方法,诸如上文描述的方法。信息载体是计算机或机器可读介质,例如存储器1004、存储设备1006或处理器1002上的存储器。
高速控制器1008管理计算设备1000的带宽密集型操作,而低速控制器1012管理较低带宽密集型操作。这种功能分配仅是示例性的。在一个实施方式中,高速控制器1008耦合到存储器1004、显示器1016(例如,通过图形处理器或加速器),以及可以接受各种扩展卡(未示出)的高速扩展端口1010。在实施方式中,低速控制器1012耦合到存储设备1006和低速扩展端口1014。可以包括各种通信端口(例如,USB、蓝牙、以太网、无线以太网)的低速扩展端口可以例如通过网络适配器耦合到一个或多个输入/输出设备,诸如键盘、定点设备、扫描仪或诸如交换机或路由器的联网设备。
如图所示,计算设备1000可以以多种不同的形式实施。例如,它可以实施为标准服务器1020,或者在一组这样的服务器中多次实施。它也可以作为机架式服务器系统1024的一部分来实施。此外,它可以在诸如膝上型计算机1022的个人计算机中实施。替选地,来自计算设备1000的组件可以与诸如设备1050的移动设备(未示出)中的其他组件相组合。这样的设备中每一个可以包含计算设备1000、1050中的一个或多个,并且整个系统可以由彼此通信的多个计算设备1000、1050构成。
计算设备1050包括处理器1052、存储器1064、诸如显示器1054的输入/输出设备、通信接口1066和收发器1068以及其他组件。设备1050还可以设置有存储设备,诸如微驱动器或其他设备,以提供额外的存储。组件1050、1052、1064、1054、1066和1068中的每一个都使用各种总线互连,并且这些组件中的若干组件可以安装在公共主板上或者以其他适当的方式安装。
处理器1052可以执行计算设备1050内的指令,包括存储在存储器1064中的指令。处理器可以实施为芯片的芯片集,该芯片包括单独的和多个模拟和数字处理器。处理器可以提供例如设备1050的其他组件的协调,诸如用户接口的控件、设备1050运行的应用以及设备1050的无线通信。
处理器1052可以通过耦合到显示器1054的控制接口1058和显示器接口1056与用户通信。显示器1054可以是例如TFT LCD(薄膜晶体管液晶显示器)或OLED(有机发光二极管)显示器,或其他合适的显示技术。显示器接口1056可以包括用于驱动显示器1054向用户呈现图形和其他信息的适当电路。控制接口1058可以接收来自用户的命令,并转换它们以提交给处理器1052。此外,可以提供与处理器1052通信的外部接口1062,以使得设备1050能够与其他设备进行近区通信。外部接口1062可以例如在一些实施方式中提供有线通信,或者在其他实施方式中提供无线通信,并且也可以使用多个接口。
存储器1064在计算设备1050内存储信息。存储器1064可以实施为一个或多个计算机可读介质、一个或多个易失性存储单元或一个或多个非易失性存储单元中的一个或多个。还可以提供扩展存储器1074,并通过扩展接口1072连接到设备1050,扩展接口1072可以包括例如SIMM(单列直插存储器模块)卡接口。这种扩展存储器1074可以为设备1050提供额外的存储空间,或者也可以为设备1050存储应用或其他信息。具体地,扩展存储器1074可以包括执行或补充上述过程的指令,并且还可以包括安全信息。因此,例如,扩展存储器1074可以被提供作为设备1050的安全模块,并且可以用允许安全使用设备1050的指令来编程。此外,可以经由SIMM卡提供安全应用,以及附加信息,诸如以不可破解的方式在SIMM卡上放置识别信息。
如下文所讨论,存储器可以包括例如闪速存储器和/或NVRAM存储器。在一个实施方式中,计算机程序产品有形地实现在信息载体中。计算机程序产品包含当被执行时执行一种或多种方法的指令,诸如上文描述的方法。信息载体是计算机或机器可读介质,诸如可以例如通过收发器1068或外部接口1062接收的存储器1064、扩展存储器1074或处理器1052上的存储器。
设备1050可以通过通信接口1066无线通信,通信接口1066在必要时可以包括数字信号处理电路。通信接口1066可以提供各种模式或协议下的通信,诸如GSM语音呼叫、SMS、EMS或MMS消息、CDMA、TDMA、PDC、WCDMA、CDMA2000或GPRS等。这种通信可以例如通过射频收发器1068发生。此外,可以进行短程通信,诸如使用蓝牙、Wi-Fi或其他这样的收发器(未示出)。此外,GPS(全球定位系统)接收器模块1070可以向设备1050提供附加的导航和位置相关无线数据,这些数据可以被运行在设备1050上的应用适当地使用。
设备1050还可以使用音频编解码器1060可听地通信,音频编解码器1060可以从用户接收口头信息,并将该信息转换成可用的数字信息。音频编解码器1060同样可以为用户生成可听声音,诸如通过扬声器,例如在设备1050的头戴式耳机中。这种声音可以包括来自语音电话呼叫的声音,可以包括记录的声音(例如,语音消息、音乐文件等)并且还可以包括由在设备1050上运行的应用产生的声音。
如图所示,计算设备1050可以以多种不同的形式实施。例如,它可以被实施为蜂窝电话1080。它也可以被实施为智能电话1082、个人数字助理或其他类似移动设备的一部分。
本文描述的系统和技术的各种实施方式可以在数字电子电路、集成电路、专门设计的ASIC(应用型专用集成电路)、计算机硬件、固件、软件和/或其组合中实现。这些不同的实施方式可以包括在可编程系统上可执行和/或可解释的一个或多个计算机程序中的实施方式,该可编程系统包括至少一个可编程处理器,该可编程处理器可以是专用的或通用的,耦合成从存储系统、至少一个输入设备和至少一个输出设备接收数据和指令,以及向存储系统、至少一个输入设备和至少一个输出设备发送数据和指令。
这些计算机程序(也称为程序、软件、软件应用或代码)包括用于可编程处理器的机器指令,并且可以用高级过程和/或面向对象的编程语言和/或汇编/机器语言来实施。如本文所使用的,术语“机器可读介质”、“计算机可读介质”指用于向可编程处理器提供机器指令和/或数据的任何计算机程序产品、装置和/或设备(例如,磁盘、光盘、存储器、可编程逻辑设备(PLD)),包括接收机器指令作为机器可读信号的机器可读介质。术语“机器可读信号”指用于向可编程处理器提供机器指令和/或数据的任何信号。
为了提供与用户的交互,本文描述的系统和技术可以在计算机上实施,该计算机具有用于向用户显示信息的显示器设备(例如CRT(阴极射线管)或LCD(液晶显示器)监视器)以及用户可以通过其向计算机提供输入的键盘和定点设备(例如鼠标或轨迹球)。也可以使用其他类型的设备来提供与用户的交互;例如,提供给用户的反馈可以是任何形式的感觉反馈(例如,视觉反馈、听觉反馈或触觉反馈);并且可以从用户接收任何形式的输入,包括声音、语音或触觉输入。
本文描述的系统和技术可以在计算系统中实施,该计算系统包括后端组件(例如,作为数据服务器),或者包括中间件组件(例如,应用服务器),或者包括前端组件(例如,具有图形用户接口或Web浏览器的客户端计算机,用户可以通过它与本文描述的系统和技术的实施方式进行交互),或者这种后端、中间件或前端组件的任意组合。系统的组件可以通过任何形式或介质的数字数据通信(例如,通信网络)互连。通信网络的示例包括局域网(“LAN”)、广域网(“WAN”)和因特网。
计算系统可以包括客户端和服务器。客户端和服务器通常彼此远离,并且通常通过通信网络进行交互。客户端和服务器的关系是通过在相应的计算机上执行的计算机程序产生的,并且彼此之间具有客户端-服务器关系。
在一些实施方式中,图10中描绘的计算设备可以包括与虚拟现实(VR头戴式耳机/HMD设备1090)接口连接的传感器。例如,包括于计算设备1050或图10中描绘的其他计算设备上的一个或多个传感器可以向VR头戴式耳机1090提供输入或总体上向VR空间提供输入。传感器可以包括但不限于触摸屏、加速度计、陀螺仪、压力传感器、生物识别传感器、温度传感器、湿度传感器和环境光传感器。计算设备1050可以使用传感器来确定在VR空间中计算设备的绝对位置和/或检测到的旋转,在VR空间中计算设备的绝对位置和/或检测到的旋转可以然后用作VR空间的输入。例如,计算设备1050可以作为诸如控制器、激光指示器、键盘、工具等的虚拟对象并入到VR空间中。当计算设备/虚拟对象被并入到VR空间中时,用户对计算设备/虚拟对象的定位可以允许用户定位计算设备以便在VR空间中以特定方式查看虚拟对象。例如,如果虚拟对象表示激光指示器,则用户可以像它是真正激光指示器一样操纵计算设备。用户可以将计算设备向左和向右、向上和向下、按圆圈等移动,并且以与使用激光指示器相似的方式使用设备。
在一些实施方式中,包括于计算设备1050上或连接到计算设备1050的一个或多个输入设备可以用作VR空间的输入。输入设备可以包括但不限于触摸屏、键盘、一个或多个按钮、跟踪板、触摸板、定点设备、鼠标、轨迹球、操纵杆、相机、麦克风、具有输入功能的耳机或耳塞、游戏控制器、或其他可连接输入设备。当计算设备被并入VR空间中时,用户与包括于计算设备1050上的输入设备交互可以导致特定动作在VR空间中发生。
在一些实施方式中,计算设备1050的触摸屏可以在VR空间中渲染为触摸板。用户可以与计算设备1050的触摸屏交互。交互在例如VR头戴式耳机1090中被渲染为在VR空间中的渲染的触摸板上的移动。渲染的移动可以控制VR空间中的虚拟对象。
在一些实施方式中,包括于计算设备1050上的一个或多个输出设备可以向VR空间中的VR头戴式耳机1090的用户提供输出和/或反馈。输出和反馈可以是视觉的、触觉的或音频的。输出和/或反馈可以包括但不限于振动、一个或多个灯或闪光灯的打开和关闭或闪烁和/或闪光、发出警报、播放钟声、播放歌曲以及播放音频文件。输出设备可以包括但不限于振动电机、振动线圈、压电设备、静电设备、发光二极管(LED)、闪光灯以及扬声器。
在一些实施方式中,计算设备1050可以在计算机生成的3D环境中显现为另一个对象。用户与计算设备1050的交互(例如,旋转、摇晃、触摸触摸屏、跨触摸屏轻扫手指)可以被解读为与VR空间中的对象的交互。在VR空间中的激光指示器的示例中,计算设备1050在计算机生成的3D环境中显现为虚拟激光指示器。当用户操纵计算设备1050时,VR空间中的用户看见激光指示器的移动。用户从与计算设备1050上或VR头戴式耳机1090上的VR环境中的计算设备1050的交互接收反馈。
在一些实施方式中,计算设备1050可以包括触摸屏。例如,用户可以以可以使在VR空间中发生了什么模拟在触摸屏上发生了什么的特定方式与触摸屏交互。例如,用户可以使用夹捏型运动来缩放在触摸屏上显示的内容。触摸屏上的这种夹捏型运动可以导致在VR空间中提供的信息被缩放。在另一个示例中,计算设备可以在计算机生成的3D环境中被渲染为虚拟书。在VR空间中,书的页可以显示在VR空间中,并且用户的手指跨触摸屏的轻扫可以被解读为虚拟书的翻页/翻动。当每一页被翻页/翻动时,除了看见页面内容变化,用户可以被提供有音频反馈,诸如翻一页书的声音。
在一些实施方式中,除了计算设备之外的一个或多个输入设备(例如,鼠标、键盘)可以被渲染在计算机生成的3D环境中。渲染的输入设备(例如,渲染的鼠标、渲染的键盘)可以如VR空间中渲染的那样被使用以控制VR空间中的对象。
计算设备1000旨在表示各种形式的数字计算机和设备,包括但不限于膝上型计算机、台式机、工作站、个人数字助理、服务器、刀片服务器、大型机和其他适当的计算机。计算设备1050旨在表示各种形式的移动设备,诸如个人数字助理、蜂窝电话、智能电话和其他类似的计算设备。本文示出的组件、它们的连接和关系以及它们的功能仅仅意味着是示例性的,并不意味着限制本文中描述和/或要求保护的发明的实施方式。
已经描述了许多实施例。然而,将理解,可以在不脱离本说明书的精神和范围的情况下做出各种修改。
另外,附图中描述的逻辑流不要求示出的特定次序或顺序次序,以实现期望的结果。另外,其他步骤可以从所描述的流提供,或者可以从所描述的流中消除步骤,并且其他组件可以被添加到描述的系统或从描述的系统中移除。因此,其他实施例在随附权利要求的范围内。
虽然描述的实施方式的某些特征已经如本文中描述的那样图示,但是对于本领域技术人员来说,现在将想到许多修改、替换、改变和等效物。因此,应理解,随附权利要求旨在涵盖落入实施方式的范围内的所有这样的修改和改变。应当理解,它们已经仅通过示例而非限制的方式而呈现,并且可以做出形式和细节上的各种改变。本文中描述的装置和/或方法的任何部分可以以除了相互排斥的组合之外的任何组合来组合。本文中描述的实施方式可以包括描述的不同实施方式的功能、组件和/或特征的各种组合和/或子组合。
在下文中,描述了一些示例。
示例1:一种计算机实现的方法,包括:由头戴式显示器(HMD)设备的显示设备显示虚拟用户界面(UI),所述虚拟UI包括多个UI元件;检测指向所述虚拟UI的用户注视;检测与所检测的用户注视相对应的注视轨迹;将所检测的注视轨迹匹配到与所述多个UI元件中的UI元件相关联的显示轨迹;将所述UI元件识别为目标UI元件;确定所述注视轨迹和与所述目标UI元件相关联的所述显示轨迹之间的偏移,所述偏移包括平移偏移、缩放偏移或旋转偏移中的至少一个;以及基于所确定的偏移来重新校准用户注视交互模式
示例2:根据权利要求1所述的方法,其中,确定所述偏移包括:确定所述平移偏移,包括:在第一方向上的第一平移偏移;以及在第二方向上的第二平移偏移;以及确定所述缩放偏移,包括:在所述第一方向上的压缩或扩展;以及在所述第二方向上的压缩或扩展
示例3:根据权利要求2所述的方法,其中,重新校准所述用户注视交互模式包括利用所述虚拟UI和所述多个UI元件来重置所检测的用户注视,以补偿所述第一平移偏移和所述第二平移偏移以及所述第一缩放偏移和所述第二缩放偏移。
示例4:根据权利要求1所述的方法,其中,所述虚拟UI是包括多个动态UI元件的动态UI,所述多个动态UI元件中的每个具有定义相应动态UI元件的移动样式的相应显示轨迹。
示例5:根据权利要求4所述的方法,其中,所述多个动态UI元件中的每个动态UI元件具有定义针对该动态UI元件的独特移动样式的独特显示轨迹。
示例6:根据权利要求5所述的方法,其中,所述显示轨迹包括线性部分、圆形部分或曲线部分。
示例7:根据权利要求5所述的方法,其中,所述多个动态UI元件中的每个动态UI元件具有定义针对该动态UI元件的伪随机移动样式的伪随机显示轨迹。
示例8:根据权利要求1至7中的至少一项所述的方法,其中,检测所述用户注视和检测所述注视轨迹包括:由所述HMD的眼睛跟踪系统跟踪用户眼睛注视;以及基于所跟踪的用户眼睛注视来相对于所述虚拟UI和所述多个UI元件检测所述注视轨迹。
示例9:根据权利要求8所述的方法,其中,跟踪所述用户眼睛注视包括:由所述HMD的一个或多个光源朝向所述用户的眼睛发射光;由所述HMD的一个或多个光传感器检测由所述用户的眼睛对由所述一个或多个光源发射的所述光的反射;以及基于所检测的反射来跟踪所述用户眼睛注视。
示例10:一种电子设备,包括:显示器;感测系统;至少一个处理器;以及存储指令的存储器,所述指令在由所述至少一个处理器执行时,使所述电子设备:由所述显示器显示虚拟用户界面(UI),所述虚拟UI包括多个UI元件;检测指向所述虚拟UI的用户注视;检测与所检测的用户注视相对应的注视轨迹;将所检测的注视轨迹匹配到与所述多个UI元件中的UI元件相关联的显示轨迹;将所述UI元件识别为目标UI元件;确定所述注视轨迹和与所述目标UI元件相关联的所述显示轨迹之间的偏移,所述偏移包括平移偏移、缩放偏移、或旋转偏移中的至少一个;以及基于所确定的偏移来重新校准用户注视交互模式。
示例11:根据权利要求10所述的设备,其中,在确定所述偏移中,所述指令使所述至少一个处理器:确定所述平移偏移,包括:在第一方向上的第一平移偏移;以及在第二方向上的第二平移偏移;以及确定所述缩放偏移,包括:在所述第一方向上的压缩或扩展;以及在所述第二方向上的压缩或扩展。
示例12:根据权利要求11所述的设备,其中,在重新校准所述用户注视交互模式中,所述指令使所述至少一个处理器利用所述虚拟UI和所述多个UI元件来重置所检测的用户注视,以补偿所述第一平移偏移和所述第二平移偏移以及所述第一缩放偏移和所述第二缩放偏移。
示例13:根据权利要求12所述的设备,其中,所述虚拟UI是包括多个动态UI元件的动态UI,所述多个动态UI元件中的每个动态UI元件具有定义针对相应动态UI元件的独特移动样式的相应显示轨迹。
示例14:根据权利要求13所述的方法,其中,所述显示轨迹包括线性部分、圆形部分或曲线部分。
示例15:根据权利要求13所述的设备,其中,所述多个动态UI元件中的每个动态UI元件具有定义针对该动态UI元件的伪随机移动样式的伪随机显示轨迹。
示例16:根据权利要求10至15中的至少一项所述的设备,其中,在检测所述用户注视和检测所述注视轨迹中,所述指令使所述至少一个处理器:由所述电子设备的眼睛跟踪系统跟踪用户眼睛注视,包括:由一个或多个光源朝向所述用户的眼睛发射光;由一个或多个光传感器检测由所述用户的眼睛对由所述一个或多个光源发射的所述光的反射;以及基于所检测的反射来跟踪所述用户眼睛注视。
示例17:根据权利要求10至16中的至少一项所述的设备,其中,所述电子设备是头戴式显示器(HMD)设备,并且所述注视轨迹和与所述目标UI元件相关联的所述显示轨迹之间的所述偏移是由于在所述HMD设备的初始校准之后相对于所述用户的眼睛的所述HMD设备的移动。
示例18:一种非暂时性计算机可读介质,在其上存储有指令,所述指令在由计算设备执行时,使所述计算设备:由所述计算设备的显示设备显示虚拟用户界面(UI),所述虚拟UI包括多个UI元件;检测指向所述虚拟UI的用户注视;检测与所检测的用户注视相对应的注视轨迹;将所检测的注视轨迹匹配到与所述多个UI元件中的UI元件相关联的显示轨迹;将所述UI元件识别为目标UI元件;确定所述注视轨迹和与所述目标UI元件相关联的所述显示轨迹之间的偏移,所述偏移包括平移偏移、缩放偏移或旋转偏移中的至少一个;以及基于所确定的偏移来重新校准用户注视交互模式。

Claims (18)

1.一种计算机实现的方法,包括:
检测指向显示在头戴式显示器HMD设备的显示设备上的虚拟UI的用户注视,所述虚拟UI包括多个虚拟UI元件;
检测与所检测的用户注视相对应的注视轨迹;
将所检测的注视轨迹匹配到与所述多个UI元件中的UI元件相关联的显示轨迹;
将所述UI元件识别为目标UI元件;
确定所述注视轨迹和与所述目标UI元件相关联的所述显示轨迹之间的偏移,所述偏移包括平移偏移、缩放偏移或旋转偏移中的至少一个;以及
基于所确定的偏移来重新校准用户注视交互模式。
2.根据权利要求1所述的方法,其中,确定所述偏移包括:
确定所述平移偏移,包括:
在第一方向上的第一平移偏移;以及
在第二方向上的第二平移偏移;以及
确定所述缩放偏移,包括:
在所述第一方向上的压缩或扩展;以及
在所述第二方向上的压缩或扩展。
3.根据权利要求2所述的方法,其中,重新校准所述用户注视交互模式包括利用所述虚拟UI和所述多个UI元件来重置所检测的用户注视,以补偿所述第一平移偏移和所述第二平移偏移以及所述第一缩放偏移和所述第二缩放偏移。
4.根据权利要求1所述的方法,其中,所述虚拟UI是包括多个动态UI元件的动态UI,所述多个动态UI元件中的每个具有定义相应动态UI元件的移动样式的相应显示轨迹。
5.根据权利要求4所述的方法,其中,所述多个动态UI元件中的每个动态UI元件具有定义针对该动态UI元件的独特移动样式的独特显示轨迹。
6.根据权利要求5所述的方法,其中,所述显示轨迹包括线性部分、圆形部分或曲线部分。
7.根据权利要求5所述的方法,其中,所述多个动态UI元件中的每个动态UI元件具有定义针对该动态UI元件的伪随机移动样式的伪随机显示轨迹。
8.根据权利要求1至7中的至少一项所述的方法,其中,检测所述用户注视和检测所述注视轨迹包括:
由所述HMD的眼睛跟踪系统跟踪用户眼睛注视;以及
基于所跟踪的用户眼睛注视来相对于所述虚拟UI和所述多个UI元件检测所述注视轨迹。
9.根据权利要求8所述的方法,其中,跟踪所述用户眼睛注视包括:
由所述HMD的一个或多个光源朝向所述用户的眼睛发射光;
由所述HMD的一个或多个光传感器检测由所述用户的眼睛对由所述一个或多个光源发射的所述光的反射;以及
基于所检测的反射来跟踪所述用户眼睛注视。
10.一种电子设备,包括:
显示器;
感测系统;
至少一个处理器;以及
存储指令的存储器,所述指令在由所述至少一个处理器执行时使所述电子设备:
由所述显示器显示虚拟用户界面UI,所述虚拟UI包括多个UI元件;
检测指向所述虚拟UI的用户注视;
检测与所检测的用户注视相对应的注视轨迹;
将所检测的注视轨迹匹配到与所述多个UI元件中的UI元件相关联的显示轨迹;
将所述UI元件识别为目标UI元件;
确定所述注视轨迹和与所述目标UI元件相关联的所述显示轨迹之间的偏移,所述偏移包括平移偏移、缩放偏移或旋转偏移中的至少一个;以及
基于所确定的偏移来重新校准用户注视交互模式。
11.根据权利要求10所述的设备,其中,在确定所述偏移中,所述指令使所述至少一个处理器:
确定所述平移偏移,包括:
在第一方向上的第一平移偏移;以及
在第二方向上的第二平移偏移;以及
确定所述缩放偏移,包括:
在所述第一方向上的压缩或扩展;以及
在所述第二方向上的压缩或扩展。
12.根据权利要求11所述的设备,其中,在重新校准所述用户注视交互模式中,所述指令使所述至少一个处理器利用所述虚拟UI和所述多个UI元件来重置所检测的用户注视,以补偿所述第一平移偏移和所述第二平移偏移以及所述第一缩放偏移和所述第二缩放偏移。
13.根据权利要求12所述的设备,其中,所述虚拟UI是包括多个动态UI元件的动态UI,所述多个动态UI元件中的每个动态UI元件具有定义针对相应动态UI元件的独特移动样式的相应显示轨迹。
14.根据权利要求13所述的方法,其中,所述显示轨迹包括线性部分、圆形部分或曲线部分。
15.根据权利要求13所述的设备,其中,所述多个动态UI元件中的每个动态UI元件具有定义针对该动态UI元件的伪随机移动样式的伪随机显示轨迹。
16.根据权利要求10至15中的至少一项所述的设备,其中,在检测所述用户注视和检测所述注视轨迹中,所述指令使所述至少一个处理器:
由所述电子设备的眼睛跟踪系统跟踪用户眼睛注视,包括:
由一个或多个光源朝向所述用户的眼睛发射光;
由一个或多个光传感器检测由所述用户的眼睛对由所述一个或多个光源发射的所述光的反射;以及
基于所检测的反射来跟踪所述用户眼睛注视。
17.根据权利要求10至16中的至少一项所述的设备,其中,所述电子设备是头戴式显示器HMD设备,并且所述注视轨迹和与所述目标UI元件相关联的所述显示轨迹之间的所述偏移是由于在所述HMD设备的初始校准之后相对于所述用户的眼睛的所述HMD设备的移动。
18.一种非暂时性计算机可读介质,在其上存储有指令,所述指令在由计算设备执行时使所述计算设备:
由所述计算设备的显示设备显示虚拟用户界面UI,所述虚拟UI包括多个UI元件;
检测指向所述虚拟UI的用户注视;
检测与所检测的用户注视相对应的注视轨迹;
将所检测的注视轨迹匹配到与所述多个UI元件中的UI元件相关联的显示轨迹;
将所述UI元件识别为目标UI元件;
确定所述注视轨迹和与所述目标UI元件相关联的所述显示轨迹之间的偏移,所述偏移包括平移偏移、缩放偏移或旋转偏移中的至少一个;以及
基于所确定的偏移来重新校准用户注视交互模式。
CN202080087994.9A 2020-08-10 2020-08-10 抗滑移注视跟踪用户界面 Pending CN114868099A (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2020/070388 WO2022035458A1 (en) 2020-08-10 2020-08-10 Slippage resistant gaze tracking user interfaces

Publications (1)

Publication Number Publication Date
CN114868099A true CN114868099A (zh) 2022-08-05

Family

ID=72148259

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202080087994.9A Pending CN114868099A (zh) 2020-08-10 2020-08-10 抗滑移注视跟踪用户界面

Country Status (6)

Country Link
US (1) US20220397958A1 (zh)
EP (1) EP4097566A1 (zh)
JP (1) JP2023525196A (zh)
KR (1) KR20220100051A (zh)
CN (1) CN114868099A (zh)
WO (1) WO2022035458A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2022122479A (ja) * 2021-02-10 2022-08-23 キヤノン株式会社 撮像システム、表示装置、撮像装置、および撮像システムの制御方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8235529B1 (en) * 2011-11-30 2012-08-07 Google Inc. Unlocking a screen using eye tracking information
WO2014192001A2 (en) * 2013-05-30 2014-12-04 Umoove Services Ltd. Smooth pursuit gaze tracking
US9727136B2 (en) * 2014-05-19 2017-08-08 Microsoft Technology Licensing, Llc Gaze detection calibration
US11122999B2 (en) * 2016-06-30 2021-09-21 Cornell University Optokinesys
US10725538B2 (en) * 2018-06-19 2020-07-28 Igt Interacting with game elements using eye movement tracking

Also Published As

Publication number Publication date
WO2022035458A1 (en) 2022-02-17
US20220397958A1 (en) 2022-12-15
JP2023525196A (ja) 2023-06-15
EP4097566A1 (en) 2022-12-07
KR20220100051A (ko) 2022-07-14

Similar Documents

Publication Publication Date Title
US11181986B2 (en) Context-sensitive hand interaction
US10083544B2 (en) System for tracking a handheld device in virtual reality
CN109643159B (zh) 在增强和/或虚拟现实环境中利用六自由度控制器操纵虚拟对象
CN107667328B (zh) 用于在增强和/或虚拟现实环境中跟踪手持设备的系统
US10353478B2 (en) Hover touch input compensation in augmented and/or virtual reality
CN109074149B (zh) 用于增强或虚拟现实环境的头戴式参考系中的对象跟踪
WO2021236170A1 (en) Low-power semi-passive relative six-degree-of-freedom tracking
US20230110964A1 (en) Object selection based on eye tracking in wearable device
US11803233B2 (en) IMU for touch detection
US20220397958A1 (en) Slippage resistant gaze tracking user interfaces
US11868583B2 (en) Tangible six-degree-of-freedom interfaces for augmented reality
US11354011B2 (en) Snapping range for augmented reality

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination