用于用户界面控制的系统和技术的制作方法

文档序号:14685981发布日期:2018-06-14 22:28

本发明申请要求2014年1月3日提交的美国临时专利申请号61/923,595,标题为“用户界面控制的系统和技术”的优先权,其完整公开通过引用并入本文。

技术领域

本发明公开一般涉及用户界面(UI)的领域,更具体地涉及UI控制。



背景技术:

用于计算系统的常规输入设备限制了用户能提供的可能输入范围,并且往往需要用户学习和使用人为移动才能有效率地与系统交互。已提出基于手势的界面,但是灵活性有限,精确度差,以及对于欠熟练用户输入障碍高。

附图说明

结合附图通过下文详细描述将容易地理解实施例。为了便于描述,相似的引用数字指代相似的结构元件。在附图中,通过举例而非限定形式进行说明实施例。

图1是根据多种实施例的配置用于用户界面(UI)控制的说明性计算系统的框图。

图2是根据多种实施例的可由图1的计算系统实现的说明性UI控制系统的框图。

图3图示根据多种实施例的可由图2的UI控制系统在用户身体一部分上标识的多个地标。

图4示出根据多种实施例的多位置指针。

图5图示根据多种实施例的其中使用图4的多位置指针以在多个UI元件中标识UI元件的配置。

图6-9示出根据多个实施例的多位置指针,每个多位置指针包含其边界基于一个或多个地标位置的区块。

图10图示根据多种实施例的其中使用图9的多位置指针以在多个UI元件中标识UI元件的配置。

图11图示根据多种实施例的包含多个区块的多位置指针。

图12图示根据多种实施例的其中使用图11的多位置指针以在多个UI元件中标识UI元件的配置。

图13示出根据多种实施例的包含虚拟交互区域1302的配置。

图14A-B和图15A-B示出根据多种实施例的,包含虚拟指针的动态可视化指示器的UI显示器。

图16图示根据多种实施例的其中使用基指针以在多个UI元件中标识UI元件的配置。

图17A-B和图18A-B图示图2的UI控制系统可识别以选择所标识的UI元件的多种手势。

图19示出根据多种实施例的用于选择所标识的UI元件的UI显示器。

图20示出根据多种实施例的用于选择所标识的UI元件的UI显示器。

图21-23图示根据多种实施例的用户可使用其手来指示UI元件的三种不同方式。

图24-29是根据多种实施例的用于UI控制的示出性过程的流程图。

具体实施方式

本文公开用于用户界面(UI)控制的系统和技术的实施例。例如,在一些实施例中,UI控制系统确定计算系统的用户身体上地标的位置(例如,通过在三维中跟踪用户手上的地标的位置和移动),至少部分地基于这些地标位置来确定指针,以及至少部分地基于指针来标识计算系统的UI的UI元件。UI元件的标识和后续选择可使用户能够控制与UI关联的计算系统,例如通过将用户移动的位置映射到计算系统的显示器或通过理解用户执行的特定手势。在一些实施例中,可以在显示器中以可视方式呈示基于指针的地标位置(正如常规技术中鼠标光标所执行的那样)以及该呈示可以随用户与显示器中的UI元件交互而改变。在一些实施例中,本文公开的系统和技术可以提供一种用户交互机制(例如,“有效指针”),其中可以通过用户手部、手指和/或用户身体的其他部分的自由且自然的移动来实现虚拟环境的控制,如二维计算机屏幕或三维显示器,同时支持创建复杂的用户界面体验。

在下文的详细描述中,参考了附图,这些附图构成描述的一部分,其中所有附图中,相似的数字指代相似的部分,以及以说明形式示出了可以实施的多个实施例。要理解的是还可以采用其他实施例,并且在不背离本发明披露范围的前提下可以进行结构或逻辑更改。因此,下文详细描述不应视为在限制意义上的,并且实施例的范围由所附权利要求及其等效物定义。

可以将多种操作描述为多个离散动作或操作,进而以最有助于理解要求权利的主题方式来描述这些动作或操作。但是,描述的次序不应视为暗示这些操作必定依赖于次序的。具体来说,这些操作无需按出现的次序来执行。所描述的操作可以按与所描述的实施例不同的次序来执行。在附加实施例中可以执行多种附加操作和/或可以省略所描述的操作。

出于本发明披露的目的,短语“A”和/或“B”表示(A)、(B)或(A和B)。出于本发明披露的目的,短语“A、B和/或C”表示(A)、(B)、(C)、(A和B)、(A和C)、(B和C)或(A、B和C)。

描述可能使用短语“在实施例中”或“在多个实施例中”,各可能是指一个或多个相同实施例或不同实施例。再者,与本发明公开的实施例结合使用的术语“包括”、“包含”和“具有”等是同义的。如本文使用的,术语“逻辑”可以是指执行提供所描述的功能性的一个或多个软件或固件程序、组合逻辑电路和/或其他适合的组件的专用集成电路(ASIC)、电路、处理器(共享的、专用的或集群)和/或存储器(共享的、专用的或集群),作为执行提供所描述的功能性的一个或多个软件或固件程序、组合逻辑电路和/或其他适合的组件的专用集成电路(ASIC)、电路、处理器(共享的、专用的或集群)和/或存储器(共享的、专用的或集群)的一部分或包括执行提供所描述的功能性的一个或多个软件或固件程序、组合逻辑电路和/或其他适合的组件的专用集成电路(ASIC)、电路、处理器(共享的、专用的或集群)和/或存储器(共享的、专用的或集群)。

图1是根据多种实施例的配置用于UI控制的说明性计算系统100。在一些实施例中,计算系统100可以配置成确定与该计算系统的用户身体的一部分关联的一个或多个地标的位置,至少部分地基于这些地标位置来确定指针,以及至少部分地基于该指针来标识该计算系统的UI的UI元件。在多种实施例中,在多个示例中,该指针可以是基于多个地标位置的“多位置”指针、基于用户手的食指的下部的位置的“基”指针或基于地标位置相对于虚拟交互区域的相对定位的“虚拟”指针。计算系统100可以包括配置成感测和解释用户移动的硬件(例如,配置成执行跟踪和手势识别技术的三维摄像头和关联的处理设备)以及用于向用户提供有关用户通过用户的动作影响计算系统100的程度的反馈(例如,监视器或其他显示设备)。

计算机系统100可以包括可穿戴计算设备102、个人计算设备104和远程计算设备106。可穿戴设备102、个人计算设备104和远程计算设备106中每一个都可以包括UI控制组件(图1中分别图示为UI控制组件114、116和118)。可以酌情将UI控制操作分布在计算系统100的UI控制组件114、116和118中。本文论述将操作分布在计算系统100的组件之间的若干示例,但是可以使用更多或更少组件以及操作分布的任何其他组合。在一些实施例中,计算系统100可以配置为UI控制系统200,下文参考图2论述UI控制系统200。

计算系统100内的通信可以通过通信路径108、110和112来实现。通信路径108、110和112各可以包含有线通信路径和/或无线通信路径、基于直接耦合和/或通过个人区域网络、局域网和/或广域网。可穿戴设备102、个人计算设备104和远程计算设备106中每一个都可以包括用于支持通信路径108、110、112的适合硬件,如网络接口卡、调制解调器、WiFi设备、蓝牙设备等。在一些实施例中,通信路径108、110和112可以是图1所示的组件之间的直接通信路径。正如本文所使用的,对图1的计算系统100(或本文公开的任何系统或设备)的两个组件之间的“直接”通信路径的引述可以是指不经图示的组件路由但是可能经由其他未图示的设备(例如,路由器和/或交换机)路由的通信路径。

计算系统100中包含的每个计算设备可以包括处理设备和存储设备(未示出)。该处理设备可以包括一个或多个处理设备,如一个或多个处理核、ASIC、电路、处理器(共享的、专用的或集群)、组合逻辑电路和/或可配置成处理电子数据的其他适合的组件。该存储设备可以包括任何适合的存储器或海量存储设备(如固态驱动器、软盘、硬盘、压缩光盘只读存储器(CD-ROM)等)。计算系统100中包含的每个计算设备可以包括一个或多个总线(以及如果适合的话,包括总线桥)以在通信上耦合处理设备、存储设备和相应计算设备中包括的任何其他设备。该存储设备可以包括一组计算逻辑,该组计算逻辑可以包括其中存储有指令的计算机可读介质的一个或多个副本,当所述指令被该计算设备的处理设备执行时,可以促使该计算设备实现本文公开的任一技术和方法或其任何部分。可穿戴计算设备102、个人计算设备104和远程计算设备106可以各包括可通过有线或无线通信路径来通信的外设设备,如摄像头、打印机、扫描仪、射频标识(RFID)阅读器、信用卡刷卡设备或任何其他外设设备。除了本文并入的本发明公开的UI控制所传达的外,可穿戴计算设备102、个人计算设备104和远程计算设备106可以是本领域中公知的范围广泛的此类设备。下文描述特定但非限制的示例。在一些实施例中,计算逻辑可以包括下文参考图2论述的任何逻辑。

可穿戴计算设备102可以是集成到服装、配饰或配置成穿戴在用户身体上(或“穿戴者”)的其他支承结构中的计算设备。可穿戴计算设备102的适合支承结构的示例其中可以包括眼镜、耳麦、发饰(例如,头带或发夹)、耳机、珠宝(例如,胸针、耳环或项链)、腕带(例如,腕表)、颈带(例如,领带或围巾)、衣服(例如,衬衫、裤子、裙衫或上衣)、帽、鞋、勋带或铭牌、隐形眼镜或可植入支承结构。在一些实施例中,可穿戴计算设备102可以是具有摄像头的腕带式计算设备。在一些实施例中,可穿戴计算设备102可以是具有摄像头的眼镜配装的计算设备。在一些实施例中,可穿戴计算设备102可以包括可捕获用户手臂、手和手指和/或用户头部、眼睛或身体其他部分的手势的一个或多个摄像头(例如,下文参考图2论述的图像捕获设备224)。在一些实施例中,正如下文参考图2论述的,可穿戴计算设备102可以包括可穿戴传感器,可穿戴传感器可以提供表示与用户身体一部分关联的一个或多个地标的位置的数据。

个人计算设备104可以是配置用于在口袋中、背包或其他便携袋中携带的计算设备或配置成半永久性置留在表面(例如,如服务器置于机架中或桌上型计算机置于桌面上一样)的计算设备可用作个人计算设备104的个人计算设备的示例包括蜂窝电话、智能电话、其他个人移动通信设备、平板电脑、电子书阅读器、个人数字助理、膝上型计算机、桌上型计算机或其他此类计算设备。个人计算设备104执行的用户界面控制和其他操作可以由例如个人计算设备104上的应用或插件来控制。在一些实施例中,个人计算设备104可以具有比可穿戴计算设备102更多的计算资源(例如,处理能力、存储器和/或通信带宽)。由此,在一些实施例中,可穿戴计算设备102捕获和初步处理的数据(例如,表示用户身体一部分的位置的图像或其他传感器数据)可以通过通信路径108传送到个人计算设备104以用于后续处理。在一些实施例中,个人计算设备104可以包括可捕获用户手臂、手和手指和/或用户头部、眼睛或身体其他部分的手势的一个或多个摄像头(例如,下文参考图2论述的图像捕获设备224)。可以将一个或多个此类摄像头安装在个人计算设备中包括的显示器上(例如,平板设备中的触摸屏上方)或个人计算设备104的另一个部分上。

远程计算设备106可以包括一个或多个服务器(例如,“云”计算配置中布置的服务器)或远离可穿戴设备102和个人计算设备104的其他计算设备。可穿戴计算设备102与远程计算设备106之间的通信路径112以及个人计算设备104与远程计算设备106之间的通信路径110可以根据任何远程有线或无线通信协议来配置。在一些实施例中,远程计算设备106可以具有比可穿戴计算设备102或个人计算设备104更多的计算资源(例如,处理能力、存储器和/或通信带宽)。由此,在一些实施例中,可穿戴计算设备102和/或个人计算设备104捕获和初步处理的数据(例如,表示用户身体一部分的位置的图像或其他传感器数据)可以通过通信路径110和/或112传送到远程计算设备106以用于后续处理。在一些实施例中,远程计算设备106可以执行下文参考图2论述的大多数UI控制操作,包括地标逻辑204和/或选择逻辑212执行的那些操作。在一些实施例中,远程计算设备106可以包括存储表示用户过往移动的数据的存储器,该用户过往移动可用于学习用户的特定移动模式以训练图2的控制系统200来识别多种手势。

在一些实施例中,远程计算设备106可以与(以与个人计算设备104相似的方式配置的)多个个人计算设备)和/或(以与可穿戴计算设备102相似的方式配置的)多个可穿戴计算设备通信。远程计算设备106可以执行每个个人或可穿戴计算设备的相似处理和存储操作。例如,远程计算设备106可以接收(以与个人计算设备104或可穿戴计算设备102相似方式配置的)多个个人或可穿戴计算设备中包含的图像捕获设备捕获的用户身体一部分的图像或可以基于这些图像执行UI控制操作(例如,标识地标位置)。远程计算设备106可以将不同的资源提供给与该远程计算设备通信的多个个人或可穿戴计算设备中的不同个人或可穿戴计算设备(例如,对于每个设备提供不同的存储器分区或数据库)。

在本文公开的UI控制系统的一些实施例中,可以不包含图1所示的计算系统100的组件的其中一个或多个。例如,在一些实施例中,计算系统100可以不包含远程计算设备106。在一些实施例中,计算系统100可以不包含可穿戴计算设备102,以及计算系统100执行的任何图像捕获可以由个人计算设备104中包含的图像捕获设备来执行。在一些实施例中,可以不包含计算系统100的组件之间的通信路径的其中一个或多个;例如,在一些实施例中,可穿戴计算设备102可以不直接经由通信路径112与远程计算设备106通信(而是可以经由个人计算设备104和通信路径108和110与远程计算设备106通信)。在一些实施例中,计算设备102和104可以都是可穿戴的,或计算设备102和104可以都是手持的。

图2示出根据多种实施例的说明性UI控制系统200。正如上文参考计算系统100论述的,UI控制系统200可以配置成执行多个UI控制操作中的任一个。例如,UI控制系统200可以配置成确定与用户身体一部分关联的一个或多个地标的位置、基于这些地标位置确定指针以及基于该指针标识UI元件。根据多种实施例,UI控制系统200可以由图1的计算系统100来实现。具体来说,UI控制系统200的组件可以按任何适合的方式分布在计算系统100的一个或多个组件中。虽然图2图示多个组件,但是多种实施例可以针对适于要执行的UI控制操作酌情省略组件。例如,UI控制系统200的一些实施例可以不配置成用于图像信息处理(而是可以使用基于手套的传感器或其他输入设备来确定地标位置),以及由此可以不包含图像捕获设备224。

在一些实施例中,UI控制系统200可以配置成执行一个或多个手势识别技术,并由此实现基于手势的界面。正如本文所使用的,“手势识别”可以是指识别用户执行的特定移动或姿势配置。例如,手势识别可以是指识别手沿着特定方向以特定速度轻划,手指在触摸屏上跟踪特定形状或挥手。UI控制系统200可以通过(例如,通过可包含深度摄像头的输入设备230)跟踪表示用户身体一部分的位置的数据,将用户身体的该部分与背景数据分离,(例如通过地标逻辑204)标识地标(如用户手和手指的关节),然后分析此跟踪的数据以标识用户执行的手势(例如,使用指针逻辑206和/或选择逻辑212)来实现手势识别。本文公开的系统和技术可通过解释用户身体(例如,其手和手指)的移动来使UI控制系统200能够理解用户与UI的想要的交互。

基于手势的界面可使用户能够通过其身体移动来导航、选择和操控UI元件以与界面交互。UI控制系统200实现的基于手势的界面可以依仗手势识别与用户身体跟踪的混合来实现。例如,UI控制系统200可以配置成将捏合手势识别为选择项目的指令,以及可以使用用户关节的跟踪来直接操控UI元件(例如,通过指向、拖曳、缩放和旋转)。

基于手势的界面可以为UI体验提供若干优点,并且可以支持更自然且直观感的交互。基于手势的界面可以根本性地不同于常规输入设备,如触摸屏、鼠标或键盘。具体来说,用户身体(例如,用户手部和手指)可以在三维空间中自由地移动,而用户使用常规输入设备移动可能是受限的。此外,基于手势的交互可能缺乏物理输入设备的触觉反馈(例如,在键盘上按压按键或按下触摸屏表面的感觉)。由此,基于手势的界面在创建成功、自然且容易适应的用户体验上呈现独一无二的难题。多种此类难题通过本文公开的系统和技术得以解决。

UI控制系统200可以包括输入设备230。输入设备230可以包括图像捕获设备224、可穿戴传感器226和/或其他输入设备228。虽然输入设备230(和本文描述的其他组件)可能是以单数形式引述的,但是输入设备230中可以包含任何数量的输入设备(以及相似地,任何组件可以包含多个此类组件)。在一些实施例中,输入设备230可以包括单个输入设备(例如,单个摄像头)。

在一些实施例中,例如图像捕获设备224可以包括一个或多个数字摄像头,以及可以使用任何成像波长(例如,可见光或红外光)。正如本文所使用的,术语“摄像头”可以包括静态图像摄像头和视频摄像头。在一些实施例中,图像捕获设备224可以捕获视频,如高清视频。在一些实施例中,图像捕获设备224可以配置成经由有线或无线通信路径流传输图像数据(例如,视频数据)到其他设备。例如,可以将图像捕获设备224包含在可穿戴计算设备102中(图1),以及图像捕获设备224可以经由通信路径108无线地将图像数据流传输到个人计算设备104。在一些实施例中,图像捕获设备224对于个人计算设备104可以是一体的或外设,并且可以提供流传输的图像数据。在一些实施例中,图像捕获设备224可以包括可见光摄像头和红外线摄像头,并且可以将这些设备捕获的图像组合或分别处理这些图像。在一些实施例中,图像捕获设备224可以包括具有不同朝向的两个或更多个摄像头(例如,一个摄像头安装在个人计算设备104上或与之关联且朝向用户身体前方以及一个摄像头安装在可穿戴计算设备102上且朝向远离用户但是用户的手臂和手部在用户前面打手势时可包含用户的手臂和手部)。在一些实施例中,图像捕获设备224可以捕获连续图像序列。可以按每秒多个帧、或更快或更慢的速率捕获这些连续图像。

在一些实施例中,图像捕获设备224可以包括深度摄像头(也可以称为“三维摄像头”)。深度摄像头产生的图像可以包括每个像素的深度数据。像素的深度数据可以是表示成像的场景中与该像素对应的对象与图像捕获设备224之间的距离的值。深度摄像头其中可以包括深度图像传感器、光学镜头和照明光源。深度图像传感器可以依仗多种不同传感器技术中任一种来实现,例如飞行时间(TOF)技术(例如,扫描TOF或阵列TOF)、结构光、激光散斑技术、立体摄像头、有源立体传感器和明暗恢复形状(shape-from-shading)技术。多种深度摄像头传感器技术包括自行提供照明光源的“有源”传感器。其他深度摄像头传感器技术(例如,立体摄像头)可以包括“无源”传感器,其不自行提供照明光源而是依赖于周围环境采光。除了深度数据外,深度摄像头还可以与常规彩色摄像头所实现的相同方式生成颜色数据,并且可以在深度摄像头图像的处理的过程中将此颜色数据与深度数据组合。

深度摄像头可以具有优于常规摄像头(例如,红绿蓝“RGB”摄像头)的多个优点。例如,因为深度摄像头可以提供距离信息,所以可以更精确和稳健地将捕获的图像中的前景对象与背景对象区分,尤其是此类对象彼此遮挡时。使用数据摄像头图像的图像处理技术还可以更稳健应对采光条件的变化;当对象的位置或朝向未改变时,一些常规RGB图像处理技术可能由于采光的变化未正确地估算捕获的图像中对象的深度。具体来说,深度摄像头图像对于跟踪用户手和手指的往往复杂的关节可能是有优势的。

在一些实施例中,可穿戴传感器226可以包括戴在手和/或手指上的手套、手镯、戒指或其他服饰或珠宝,并且还可以包括设在服饰或珠宝上且配置成生成表示用户的手指、手掌、关节或其他地标的位置的数据的一个或多个传感器。此类传感器的示例可以包括加速仪,其数据可以被一次积分以生成速度数据以及二次积分以生成位置数据。可以使用其他传感器,以取代加速仪或作为其附加。可以跟踪用户身体的其他部分,以取代用户的手臂、手和/或手指或作为其附加。例如,在一些实施例中,可穿戴传感器226可以包括眼镜配装的传感器,其配置成生成标识用户头部位置的数据(指示用户目光注视到哪里或感测如点头的头部移动)。

其他输入设备228的示例可以包括键盘、如鼠标的光标控制设备、光笔,触控板、条形码扫描仪、二维(QR)码读码器、RFID读取器、全球定位系统(GPS)接收器、短距离无线接收器(例如,蓝牙接收器)、音频捕获设备(可以包括按多种配置布置的一个或多个麦克风)或任何其他适合的输入设备。

UI控制系统200可以包括控制操作逻辑202。控制操作逻辑202可以包括配置成从输入设备230接收数据的输入设备接口238,以及配置成分析输入设备230提供的信息并将分析结果输出到UI控制系统200的一个或多个附加组件的逻辑组件,包括标识逻辑208、显示逻辑210和选择逻辑212。虽然控制操作逻辑202的组件是单独图示的,但是这些组件可以适当地组合或分开,并且各可以在执行其自己的分析时使用其他组件生成的一个或多个结果。数据可以通过物理总线、长距离有线通信路径或短距离或长距离无线通信路径或通信路径的任何组合在控制操作逻辑202的组件之间进行传送。UI控制系统200可以包括存储器220。在一些实施例中,存储器220可以包括数据库或其他数据存储结构,其可以包括用于存储本文描述用于UI控制操作的任何数据的存储器结构。存储器220可以包括任何易失性或非易失性存储器设备,例如一个或多个硬盘驱动器、固态逻辑或便携式存储介质。

控制操作逻辑202可以包括地标逻辑204,地标逻辑204可以配置成确定与用户身体一部分关联的一个或多个地标的位置。在一些实施例中,该部分可以包括用户的手。在一些实施例中,该部分可以包括用户的手和手臂。在一些实施例中,该部分可以包括两个或多个分开的部分,如用户的手和用户的头部或用户的两个手。

地标逻辑204可以与输入设备230耦合,并且可以基于输入设备230提供的数据来确定地标位置。例如,在一些实施例中,输入设备230可以包括深度摄像头,与图像捕获设备224一样,并且地标逻辑204可以执行任何适合的图像处理技术来基于深度摄像头捕获的用户身体的一个或多个图像中包含的颜色和/或深度数据来标识地标的位置。在一些实施例中,图像捕获设备224可以包括常规非深度摄像头,并且地标逻辑204可以执行图像处理技术来标识非深度摄像头捕获的用户身体的一个或多个图像中地标的位置。在一些实施例中,输入设备230可以包括可穿戴传感器226,可穿戴传感器226可以将表示一个或多个地标(例如,手关节或用户手指的部分)位置的数据提供到地标逻辑204。在一些实施例中,地标逻辑204可以使用来自输入设备230中包含的多个输入设备的数据来确定与用户身体一部分关联的一个或多个地标的位置。

图3示出用户身体的部分300并指示根据多种实施例的可由地标逻辑204在部分300上标识的多个地标。图3所示的部分300是用户的手,正如图像捕获设备224、可穿戴传感器226和/或其他输入设备228可捕获的。图3中指示若干不同类型的地标,包括指尖地标302a-e、第一手指关节地标304a-e、第二手指关节地标306a-e、基关节308a-e、手掌中心地标314和手掌根部312。地标逻辑204可以标识用户的手的其他地标(例如,图像中与用户的手边缘关联的地标)和/或用户身体的其他部分上的地标。图3还示出结构线316,结构线316可以将地标逻辑204标识的多种地标连接以形成用户身体的部分300的骨架模型。在一些实施例中,地标逻辑204可以利用此类模型,以根据已知身体建模和跟踪技术来实现跟踪和地标识别的目的。

图3还示出地标逻辑204基于其他地标确定的若干辅助地标。具体来说,辅助地标318可以位于地标302c(中指的指尖)与302d(食指的指尖)之间的线段上的一点,如中点。辅助地标320可以位于地标302b(无名指的指尖)与302e(拇指的指尖)之间的线段上的一点,如中点。辅助地标322可以位于地标102d(食指的指尖)与302e(拇指的指尖)之间的线段上的一点,如中点。地标逻辑204可以配置成生成任何数量和种类的期望的辅助地标。

地标逻辑204可以配置成跟踪用户身体的一部分的移动,从而动态地标识用户身体的该部分的地标的位置。地标逻辑204可以配置成执行用于移动跟踪的任何适合技术,其多个精确和稳健的示例在本领域中是公知的,因此本文不予详细论述。跟踪可以实时地执行。正如上文论述,在一些实施例中,图像捕获设备224可以包括深度摄像头,其可以提供将(用户身体的该部分的)捕获的图像中每个像素的颜色和距离信息提供到地标逻辑204。地标逻辑204可以使用深度摄像头提供的信息来识别和跟踪地标位置(例如多种技术中,通过构造地标位置的三维模型)。例如,地标逻辑204可以使用来自TOF摄像头的深度数据和幅度数据的组合标识和跟踪用户身体的多个部分的技术。

控制操作逻辑202可以包括指针逻辑206,指针逻辑206可以耦合到地标逻辑204并且可以配置成基于地标逻辑204确定的地标位置来确定指针。指针逻辑206可以配置成以多种方式中任一种来确定指针,本文中详细论述了其若干方式。在一些实施例中,该指针可以是基于多个地标位置的多位置指针。在一些实施例中,该指针可以是基于用户手食指的下方部分位置的基指针。在一些实施例中,该指针可以是基于地标位置相对于虚拟交互区域的相对定位的虚拟指针。下文进一步详细地论述这些和其他实施例。

控制操作逻辑202可以包括标识逻辑208,标识逻辑208可以耦合到指针逻辑206并且可以配置成基于指针逻辑206确定的指针来从多个UI元件中标识UI元件。标识逻辑208可以配置成以多种方式中任一种来标识UI元件,本文中详细论述了其若干方式。例如,标识逻辑208可以标识UI中对应于多个UI元件中相应UI元件的多个区块,并且基于UI元件所对应的区域与指针之间的重叠量来标识UI元件。具体来说,在一些实施例中,标识逻辑208可以标识与指针具有最大重叠的UI元件。在一些实施例中,标识逻辑208用于标识UI元件的技术可以根据指针逻辑206用于确定指针的技术而定。下文进一步详细地论述标识逻辑208的多个实施例。

控制操作逻辑202可以包括显示逻辑210,显示逻辑210可以耦合到显示器222并且可以配置成基于控制操作逻辑202执行的多种UI控制操作来调整显示器222。例如,显示逻辑210可以配置成在显示器222中以可视方式指示指针逻辑206确定的指针。在一些实施例中,可以可视方式将该指针指示为光标、箭头、手的图像或两种可视指示符。当用户身体的该部分移动时,可视指示符可以相应地移动。在一些实施例中,此可视指示符可以具有与其关联的动画。例如,可视指示符可以是表示人手的图标,且具有关联的动画,使得手看上去像是打开和合拢,并且此动作可以映射到用户的手打开和合拢动作。在一些实施例中,可以使用用户身体的该部分的更直接的表示。例如,当图像捕获设备224包括深度摄像头时,可以从深度数据流提取用户身体的该部分所对应的深度像素,并且将其叠加在UI显示器(例如,显示器222提供的UI)的顶部。因此,用户可以接收有关其身体的该部分(例如其手)相对于显示器中UI元件位于何处以及如何移动的直接且即时的反馈。可视指示符可以是用户的手的三维模型,该三维模型由地标逻辑204和/或选择逻辑212使用的跟踪技术来计算。在一些实施例中,可以不提供手的可视表示,但是反馈可以采用另一种可视或可听事件的形式,如可以叠加在标识的UI元件上或显示器中其他某个位置中突出显示或动画。

由此,在一些实施例中,可以在交互过程中通过UI向用户呈示实时反馈,以指示UI控制系统200正在如何解释其移动。在一些实施例中,显示逻辑210可以通过在被用户选择之前以可视方式突出显示一个或多个UI元件来指示指针,以便显示UI控制系统200正在如何解释他或她的移动。例如,在一些实施例中,显示逻辑210可以配置成在显示器222中以可视方式指示标识逻辑208标识的UI元件。在一些实施例中,可以通过在UI元件被标识时在UI中放大该UI元件来以可视方式指示标识逻辑208标识的UI元件。这可以向用户提供标识UI元件的可视指示同时可以帮助避免指针接近UI元件边界时UI中的抖动(以及由此易受可能标识和取消标识UI元件的小移动的影响)。由此,即使在用户身体存在小移动时,UI元件仍可以被标识,直到移动变得足够显著,适合标识另一个UI元件为止。当UI元件不再被标识时,该UI元件在UI中的大小可以缩减到正常大小。在指针是基于地标位置和虚拟交互区域的相对定位的虚拟装置的一些实施例中,显示逻辑210可以配置成提供地标位置与虚拟接口表面之间的距离的可视表示。下文进一步详细地论述显示逻辑210的多个实施例。

控制操作逻辑202可以包括选择逻辑212,选择逻辑212可以耦合到标识逻辑208并且可以配置成基于指示用户手势的手势数据来选择标识逻辑208标识的UI元件。正如上文参考地标逻辑204所论述的,选择逻辑212可以与输入设备230耦合,并且可以基于输入设备230提供的数据来标识用户的手势。选择逻辑212分析的手势数据可以包含上文参考地标逻辑204的地标位置论述的多种类型的数据中任一种。例如,在一些实施例中,输入设备230可以包括深度摄像头,与图像捕获设备224一样,并且选择逻辑212可以执行任何适合的图像处理技术来基于深度摄像头捕获的用户身体的一个或多个图像中包含的颜色和/或深度数据来识别用户手势。下文进一步详细地论述选择逻辑212的多个实施例。

UI控制系统200可以包括输出设备234。正如上文参考输入设备230论述的,虽然输出设备234可能是以单数形式引述的,但是输出设备234中可以包含任何数量的输出设备。在一些实施例中,输出设备234可以包括单个输出设备(例如,单个显示器)。在一些实施例中,输出设备234可以包括显示器222和其他输出设备236。显示器222可以提供用户可与之交互的UI元件的可视表示;这些交互可以根据本文描述的UI控制技术来予以处理。UI控制系统200可以基于这些用户交互来调整UI元件在显示器222中的可视表示。显示器222可以包括例如,一个或多个平视显示器(即,包括按光学瞄准器配置布置的投影器和组合器来提供数据而无需用户转移其典型视角的显示器)、计算机监视器、投影机、触摸屏显示器、液晶显示器(LCD)、发光二极管显示器或平板显示器。在一些实施例中,显示器222可以是三维显示器,以及UI控制系统200可以在三维中执行本文公开的UI控制技术。其他输出设备236可以包括一个或多个扬声器或其他音频转换器(其可以例如安装在一个或多个耳机或耳塞中)、打印机、投影机、用于将信息提供到其他设备的有线或无线传送器、附加的存储设备或任何适合的输出设备。

UI控制系统200的组件可以按任何适合的组合分布在图1的计算系统100的一个或多个组件中。例如,可以将图像捕获设备224和/或可穿戴传感器226包含在可穿戴计算设备102中,以及可以将控制操作逻辑202分布在个人计算设备104与远程计算设备106之间。在一些实施例中,可以将图像捕获设备224、控制操作逻辑202和显示器222包含在个人计算设备104中。

下文段落论述UI控制系统200的多个实施例。这些实施例可以单一地或结合来实现,以及可以按任何组合将其特征包含在多种实现中。

在一些实施例中,UI控制系统200可以配置成确定和利用多位置指针。具体来说,地标逻辑204可以配置成确定与用户身体的一部分关联的多个地标的位置,以及指针逻辑206可以配置成基于多个地标位置来确定多位置指针。图4图示包括地标302c、304c、302d、304d、302e、314、318、320和322的多位置指针400。多位置指针400中包含的地标仅是说明性的,以及多位置指针中可以包含多个地标的其他组合。

在指针逻辑206确定多位置指针的实施例中,标识逻辑208可以通过确定每个元件在UI中的指针得分以及确定具有最高得分的UI元件来标识UI元件。在一些实施例中,标识逻辑208可以通过标识UI中不同UI元件所对应的不同区块并基于不同UI元件所对应的区域中多位置指针之间的重叠量来确定指针得分以确定指针得分。正如本文所使用的,当多位置指针一部分落在UI元件所对应的区块内时可发生“重叠”。例如,图5图示配置500,其中用户身体的部分300位于多个UI元件502-518上。每个UI元件502-518各对应于一个区块(相应圆圈内)。如图所示,多位置指针400的多种地标与不同UI元件502-518所对应的多种区块重叠。具体来说,地标302c、304c和318与UI元件504重叠,地标320和322与UI元件512重叠以及地标314与UI重叠。地标302d、304d和302e可能不与UI元件502-518中任一个重叠。

在一些实施例中,每个UI元件的指针得分可以等于与UI元件重叠的多位置指针中包含的地标的数量之和。在领带的例子中,标识逻辑208可以配置成对某种类型的地标赋予优先级(例如,指尖地标可以比手掌地标或辅助地标更重要)。在图5的示例中,因为UI元件504与多位置指针400的三个地标重叠(比任何其他UI元件多),所以标识逻辑208可以标识UI元件504。在图5中,UI元件504示出为突出显示,这指示它被标识逻辑208标识。在一些实施例中,UI元件504可以采用不同的方式来予以可视方式的指示,如在被标识时放大。

在一些实施例中,每个UI元件的指针得分可以等于与UI元件重叠的多位置指针中包含的地标的数量的加权和。多位置指针中的每个地标可以与一个权重关联,以及此权重可以用于确定该特定地标对UI元件的指针得分的贡献。例如,在多位置指针400中,地标302d可以具有1.0的权重,地标302e可以具有0.5的权重,地标302c可以具有0.8的权重,地标304d可以具有0.5的权重,地标304c可以具有0.5的权重,地标314可以具有0.5的权重,地标318可以具有0.5的权重,地标320可以具有0.5的权重,以及地标322可以具有0.5的权重。在此示例中,UI元件504的指针得分可以是1.8,UI元件512的指针得分可以是1,以及UI元件516的指针得分可以是0.5。由此,在此示例中,标识逻辑208可以标识UI元件504。这些权重可以采用任何期望的方式赋值,并且可以基于用户典型地或偏好使用来与计算系统100交互的手运动的类型来动态地确定(例如使用学习算法)。

在一些实施例中,与多位置指针中的地标关联的权重可以根据地标与用户身体一部分的参考位置之间的距离来改变。在一些实施例中,可以执行此类权重调整以减少手指合拢在用户手掌上时手指上的地标的影响。在一些此类实施例中,因此,与每个地标关联的权重(如上文论述)可以是标称权重,并且可以随着该地标逼近参考位置(例如,手指中心的位置)而减小,直到手指完全叠合时权重近似0为止。在一些实施例中,地标逻辑204可以校准多种地标与参考位置之间的预期距离(例如通过让用户举起张开的手以便输入设备230能够测量它来执行的初始校准过程),并且指针逻辑206可以基于地标逻辑204确定的地标位置来调整权重。

在一些实施例中,可以通过基于上文论述的地标位置及其对应的权重来计算加权平均位置以确定多位置指针。此加权平均位置可以标识UI中的一个点,该点可以对应于可用于标识UI元件的光标(例如,光标与该UI元件重叠时)。在一些实施例中,显示逻辑210可以提供此加权平均位置的可视指示符。

在一些实施例中,除了地标位置集合外,多位置指针可以包括区块。图6-9示出多位置指针600-900,每个多位置指针包含其边界基于地标逻辑204所确定的一个或多个地标位置的区域。具体来说,多位置指针600可以基于地标102e,多位置指针700可以基于地标302e和302d,多位置指针800可以基于地标302d,以及多位置指针800可以基于地标302c、302d和302e。可以将多位置指针600-900的边界设为与所标识的地标相距特定距离,并且多位置指针600-900的边界可以包含多位置指针中包含的多个地标之间的区域。图6-9示出具有多种形状的多位置指针的多个示例,但是可以使用任何其他形状(例如,具有圆角的形状或不连续的形状)。在一些实施例中,当用户身体的该部分包括用户的手且一个或多个地标与用户手指上的点关联时,为了确定指针的目的,可以将完全叠合到手掌上的手指上的地标忽略。在一些实施例中,手指上的地标必须大于与参考位置(例如手掌中心)的阈值距离,才能将此地标用于指针的确定。

在多位置指针包含区块的一些实施例中,标识逻辑208可以配置成确定不同UI元件的指针得分,并标识具有最高得分的UI元件,正如上文参考图5论述的。上文参考多位置指针400论述的任何实施例可以应用于包含区块的多位置指针。例如,标识逻辑208可以配置成基于多位置指针的区块与多种UI元件所对应的区块之间的重叠量(“冲突区块”)来确定指针得分。这些重叠区块可以按像素或任何其他适合单位来测量。例如,图10图示配置1000,其中用户身体的部分300位于多个UI元件502-518上,且多位置指针900与不同UI元件502-518所对应的多种区块重叠。在此示例中,对于UI元件504,与多位置指针900的重叠量最大(得到最高指针得分),且由此标识逻辑208可以标识UI元件504。

在一些实施例中,多位置指针可以包括多个区块,每个区块可以定义为用户身体的标识部分内的关注区块。例如,地标逻辑204可以配置成将用户的手或其他身体关注部分(为图像“斑块”)与图像捕获设备224捕获的图像(例如深度图像)中的背景对象分离,确定地标在所分离的斑块内的位置,并使用地标位置周围的斑块的区块作为多位置指针的区块。图11示出具有四个区块1102-1108的多位置指针1100,每个区块对应于多种关注地标周围的手斑块部分(分别为中指、食指和拇指的指尖、手掌中心与食指和拇指之间的蹼之间的手掌部分)。多位置指针1100的区块可以是冲突区块,并且不同UI元件的指针得分可以如上文参考图10论述的来进行计算。此外,多位置指针110的不同区块可以具有权重,正如上文参考多位置指针400论述的。在一些实施例中,这些权重可以基于这些区块与用户身体上的参考位置之间的距离来予以调整,正如上文论述。在一些实施例中,当用户身体的该部分包括用户的手且一个或多个区块与用户手指上的点关联时,为了确定指针的目的,可以将完全叠合到手掌上的手指上的地标忽略。在一些实施例中,手指上的区块必须大于与参考位置(例如手掌中心)的阈值距离,才能将此区块用于指针的确定。

例如,图12图示配置1200,其中用户身体的部分300位于多个UI元件502-518上,且多位置指针1100与不同UI元件502-518所对应的多种区块重叠。在此示例中,假定所有区块均相同加权,则对于UI元件516,与多位置指针1100的重叠量最大(得到最高指针得分),且由此标识逻辑208可以标识UI元件516。如果不同区块1102-1108在多位置指针1100内不同地予以加权,则标识逻辑208标识的UI元件可能不是UI元件516。例如,如果区块1104被赋予足够高的权重,则UI元件506可能被标识逻辑208标识。

在一些实施例中,UI控制系统200可以配置成确定和利用虚拟指针。具体来说,地标逻辑204可以配置成确定与用户身体的一部分关联的多个地标的位置,以及指针逻辑206可以配置成基于该地标位置相对于虚拟交互区域的相对定位来确定虚拟指针。正如本文所使用的,“虚拟交互区域”可以是指可用作用户与计算系统交互的参考的平面、曲面、容积(如,球体或长方体)或与计算系统的UI硬件(例如,显示器或输入设备)分隔开的另一种区域。在一些实施例中,虚拟交互区域可以是UI元件被投影或以其他方式显示在其中的三维区域。在一些实施例中,选择UI元件可以需要用户身体的一部分与虚拟交互区域相交,但是标识UI元件可以在用户身体与虚拟交互区域分隔开时发生(以及UI元件的标识可以由光标或其他可视指示技术来指示)。

例如,图13示出配置1300,其中示出虚拟交互区域1302。图13的虚拟交互区域1302示例是与显示器222分隔开的凹形曲面。用户可以使用他或她的身体和/或对象与虚拟交互区域1302交互来与包括显示器222(例如,图1的计算系统100)的计算系统交互。例如,在图13中,用户1304示出为定位其指针和中指1306,以便与虚拟交互区域1302相交,同时其他手指位于附近而不与虚拟交互区域1302相交。指针逻辑206可以基于用户身体上地标(例如,用户1304的食指和中指上的地标和/或用户1304的其他手指上的地标)与虚拟交互区域1302的相对定位来确定虚拟指针。在一些实施例中,指针逻辑206可以根据本文参考多位置指针描述的任何一种技术来确定虚拟指针,并且可以使用多种地标与虚拟交互区域的距离来对任何一个或多个地标对多种UI元件(例如,显示器222上显示的元件)的指针得分贡献加权。

在一些实施例中,指针逻辑206用来确定虚拟指针的地标可以随用户身体的该部分相对于虚拟交互区域改变定位而改变。具体来说,随着用户身体的一部分与虚拟交互区域相交,用于确定虚拟指针的地标可以改变为对应于用户身体的该部分与虚拟交互区域之间的交点。例如,地标逻辑204可以通过确定逼近用户手指指尖(例如指尖地标302a-3中任一个)的第一地标的位置,并确定逼近用户手指的基关节的第二地标的位置(例如,基关节地标308a-e中任一个)以确定用户身体该部分上的地标的位置。当第一地标(逼近手指指尖)位于虚拟交互区域的第一侧时,指针逻辑206可以基于第一地标位置相对于虚拟交互区域的相对定位来确定虚拟指针。当第一地标(逼近手指指尖)位于虚拟交互区域的第二侧时,指针逻辑可以基于第二地标位置(逼近手指的基关节)相对于虚拟交互区域的相对定位来确定虚拟指针。

以此方式,随着用户手指指尖逼近虚拟交互区域,与虚拟交互区域相交且穿过虚拟交互区域到另一侧时,指针逻辑206用来确定虚拟指针的地标可以相应地改变,并且可以从第一地标过渡到第二地标。在一些实施例中,此过渡可以是不连续的,因为第一地标仅在第一地标位于虚拟交互区域的第一侧时可以用于确定虚拟指针,以及第二地标仅在第一地标位于虚拟交互区域的第二侧时可以用于确定虚拟指针。在一些实施例中,此过渡可以是大致连续的,因为地标逻辑204可以配置成随着第一地标从第一侧逼近虚拟交互区域,并行进穿过虚拟交互区域到第二侧时,大致连续地标识第一与第二地标之间与手指与虚拟交互区域之间交点对应的辅助地标,以及指针逻辑206可以配置成基于此辅助地标来确定虚拟指针。前文论述中对“手指”的引述仅是说明性的;地标逻辑204和指针逻辑206可以配置成使用用户身体的任何部分。

例如,在图13中,用户1304的中指的基关节示出位于虚拟交互区域1302的第一侧1310(虚拟交互区域1302中面向用户1304的一侧),而用户1304的中指指尖示出为位于虚拟交互区域1302的第二侧1308(虚拟交互区域1302面向显示器222的一侧)。在配置1300中,指针逻辑206可以配置成基于位于中指指尖(位于虚拟交互区域1302的第二侧1308上)与中指的基关节(位于虚拟交互区域1302的第一侧1310上)之间的地标(例如,辅助地标)来确定虚拟指针。如果用户1304的手完全位于虚拟交互区域1302的第一侧1310,则指针逻辑206可以配置成在确定虚拟指针时使用逼近中指指尖的地标。

在一些实施例中,显示逻辑210可以配置成提供地标逻辑204所标识的地标位置与虚拟交互区域之间的距离的可视指示符。此可视指示符可以随着该距离改变而改变,从而向用户提供有关他或她相对于虚拟交互区域的相对定位的反馈。在一些实施例中,该指示符可以包括显示有随着该距离改变而改变的阴影的光标。例如,图14A示出(例如显示器222提供的)UI显示器1400,其包括UI元件1402和虚拟指针的可视指示符1404。虚拟指示符1404包括指示虚拟指针的位置的光标1406和光标1406的阴影1408。阴影1408与光标1406之间的距离可以随着用于虚拟指针的地标位置(例如,用户食指指尖)与虚拟交互区域之间的距离而改变。例如,图14B示出用于虚拟指针的地标移动到更接近虚拟交互区域之后的UI显示器1400;如图所示,光标1406与阴影1408之间的距离已减小来反映地标与虚拟交互区域之间的距离减小。

在一些实施例中,指示符的大小可以随距离改变而改变。例如,图15A示出(例如显示器222提供的)UI显示器1500,其包括UI元件1502和虚拟指针的可视指示符1504。虚拟指示符1504包括指示虚拟指针的位置的光标1506和光标1506周围的圆圈1508。圆圈1508的直径可以随着用于虚拟指针的地标位置(例如,用户食指指尖)与虚拟交互区域之间的距离改变而改变。例如,图15B示出用于虚拟指针的地标移动到更接近虚拟交互区域之后的UI显示器1500;如图所示,圆圈1508的直径已减小来反映地标与虚拟交互区域之间的距离减小。

作为上文论述的技术的附加或替代,显示逻辑210可以实现多种附加技术中任一种来指示地标位置与虚拟交互区域之间的距离。在一些实施例中,光标的颜色可以随该距离改变而改变(例如,随着距离缩短而从蓝色到红色的渐变以及反之亦然)。在一些实施例中,显示器222上显示的一个或多个UI元件可以采取视觉改变来指示地标位置与虚拟交互区域的距离(例如,通过以阴影渲染UI元件或以其他方式改变其可视表示来指示用户当前“悬停”于其上的UI元件)。

在一些实施例中,UI控制系统200可以配置成确定和利用基指针。具体来说,地标逻辑204可以配置成确定与用户手部的食指的下部位置,该下部与食指分隔开,以及指针逻辑206可以配置成基于用户手部的食指下部的位置来确定基指针。在一些实施例中,用户手部的食指下部可以逼近食指的基关节(例如,对应于基关节地标308d或逼近基关节地标308d的辅助地标)。在一些实施例中,用户手部的食指下部可以介于食指的基关节(例如,对应于基关节地标308d)与用户手部的食指的第二关节(例如,对应于第二关节地标306d)之间。

指针逻辑206基于此下部地标生成的基指针可以对应于UI中的一个点,其方式大致与鼠标光标对应于UI中的一个点相同。由此,标识逻辑208可以配置成基于基指针与UI元件所对应的区块之间的重叠来标识UI元件。例如,图16图示配置1600,其中用户身体的部分300位于多个UI元件502-518上,且基指针1602(装置逻辑206基于食指下部的位置生成的,如地标308的所指示)与UI元件510所对应的区块重叠。在此示例中,标识逻辑208可以标识UI元件510。在一些实施例中,显示逻辑210可以配置成在显示器222上显示表示基指针的光标。

可以采用期望的方式组合上述实施例的任何特征。例如,上文参考虚拟交互区域论述的可视指示符技术可以用于提供本文描述的任何指针的可视指示符。可以将多位置指针与虚拟交互区域一起使用,以及用于确定多位置指针的地标可以随着多种地标和虚拟交互区域的相对定位改变而改变。

如上文提到的,控制操作逻辑202可以包括选择逻辑212,选择逻辑212可以配置成基于指示用户手势的手势数据来选择标识逻辑208所标识的UI元件。可以由标识逻辑208使用上文描述的指针技术中任一种来标识UI元件。图17A-B和图18A-B图示选择逻辑212可识别以选择所标识的UI元件的多种手势。具体来说,图17A-B图示“捏合”手势,以及图18A-B图示“抓取”手势,二者之一或二者均可以被选择逻辑212识别来选择所标识的UI元件。在从输入设备230接收到表示这些手势的数据时,选择逻辑212可以识别手势并选择所标识的UI元件。

在一些实施例中,选择逻辑212可以配置成识别指示用户身体的一部分“悬停”在UI元件上的手势数据。选择逻辑212可以包括定时器,该定时器配置成跟踪悬停发生的时间量。在一些实施例中,在预定时间段逝去时,选择逻辑212可以选择该UI元件。在一些实施例中,显示逻辑210可以配置成提供逝去的时间的可视指示符。例如,图19示出(例如显示器222提供的)UI显示器1900,其包括UI元件1902、指针的可视指示符1904和悬停时间的可视指示符1906。图19的可视指示符1906可以包括阴影部分,该阴影部分围绕可视指示符1906边缘的范围可以随着时间推进而增加,且在预定时间段逝去时可以完全包围可视指示符1906。在另一些实施例中,可以使用其他可视指示符。

在一些实施例中,在预定时间段逝去时,显示逻辑210可以显示确认UI元件。选择逻辑212然后可以等待指示确认UI元件被选择的附加手势数据;在检测到附加手势数据时,选择逻辑212可以选择该UI元件。例如,图20示出(例如显示器222提供的)UI显示器2000,其包括UI元件2002、指针的可视指示符2004、确认UI元件2006和取消UI元件2006。显示逻辑210可以配置成在用户开始悬停在UI元件2002上方(如可视指示符2004位于UI元件2002上来提示)之后预定时间逝去时显示确认UI元件2006和取消UI元件2008。在显示确认UI元件2006和取消UI元件2008之后,用户可以通过选择确认UI元件2006(使用选择逻辑212识别的任何适合手势)来确认UI元件2002的选择或通过选择取消UI元件2008(使用任何适合的手势)来取消UI元件2002的选择。在一些实施例中,显示逻辑210可以仅显示确认UI元件而不显示取消UI元件。在一些实施例中,除了定时器的可视指示符(例如图19的可视指示符1906)外,显示逻辑210可以显示取消UI元件,选择该取消UI元件可以使用户停止定时器的进度。

选择逻辑212可以实现多种其他选择技术中任一种,取代上文论述的技术或作为其附加。例如,在包括虚拟交互区域的实施例中,用户可以通过移动他或她的身体与虚拟交互区域交互(例如,通过推送一个或多个手指“穿过”虚拟交互区域)来选择UI元件。用户可以使用其他模态来选择UI元件,如语音命令,以取代手势技术或作为其附加。本文公开的指针的多种实施例可以提供灵活且自适应的方法来针对基于手势的界面设计难题。

传统技术中,用户与如膝上型计算机、平板电脑和移动电话的计算设备交互,需要物理方式操控控件、按下按钮或触控屏幕。例如,用户可能往往通过如键盘和鼠标的输入设备来与计算设备交互。虽然键盘和鼠标对于如输入文本和在二维显示器上将文档翻屏浏览等功能可能是满足要求的,但是对于其他一些应用可能不令人满意。例如,因为用户的手典型地被限制于沿着平整二维表面移动鼠标,所以利用鼠标在三维虚拟空间导航可能是不灵便且无直观感的。许多较新的计算设备,如平板电脑和移动电话可能包括触摸屏接口;但是,触摸屏的常规平整界面可能不允许用户或计算设备传达任何深度的概念。这些常规设备往往将手和手指可能移动的完整范围限制于有限的二维移动子集,其屈从于常规技术的限制。本文公开的系统和技术的多种实施例可以允许人们以类似于他们与其他人通信的自然方法,即利用他们的身体打手势(例如,通过在空中移动他们的手和手指以及指点对象或朝对象点头)的方式与其设备通信。常规用户界面技术不允许此类基于手势的交互,以及人们习惯于移动他们的手和手指的方式并未快速地映射到现有设备接口(例如,鼠标或触摸屏接口)。

本文公开的系统和技术的一些实施例可以通过识别范围广泛行为(例如,用户手和手指移动)且将其转换成有关用户的该部分的多种预想交互以允许用户快速且精确地与计算设备交互。

在如菜单的常规用户界面中,用户可以通过在图标上移动指针并单击鼠标或触控触摸屏上的对应点来与UI元件,如在网格上或堆叠显示的图标或文本框进行交互。在这些示例中,用户使用单点接触来选择UI元件。即使在多点触控设备(其中设备能够识别与输入表面的两个或更多个点接触)中,选择UI元件典型地出现在与该元件的第一次手指类接触时。

但是,不同的用户可能使用他们的手、手指和其他身体部分来以不同方式引用不同的UI元件,并且因此在手配置和移动与UI元件的预想交互之间可能没有一个一对一映射。因此,不同的UI应用可能调用不同且更复杂的跟踪和手势识别技术。本文公开的技术中的多种技术可以解决不同难题,并且可以适于不同应用。

例如,本文公开的多位置指针可以在多种应用中具有优势。一些此类优点的示例可以参考图21-23来进行论述,这些附图图示用户可使用其手来指示UI元件的三种不同方式。如果UI仅依赖于跟踪和使用用户食指指尖作为指针,则UI可能无法识别这些手势和/或将这些手势转换成用户的预想交互。例如,在图21中,用户可能将他或她身体的部分300置于UI元件2102上,打算与UI元件2102交互。即使用户食指不直接位于UI元件2102上,用户可能仍期望他或她的手势是有效的。在图22中,显示UI元件网格,并且用户打算与哪个UI元件交互不是明显(基于身体部分300的位置)。用户可能期望手掌作为指针,但是可能没意识到系统配置成仅识别食指指尖。在图23中,用户尝试通过从任一侧“捏合”UI元件2302来利用他或她身体的部分300来指示UI元件508。因为在此手势中用户的食指不一定接触UI元件2302或与之重叠,所以此手势无法被聚焦于食指指尖的系统识别,从而使得用户感到挫折。

图21-23所示的示例在相同UI中同时呈示固定于如食指或手掌中心的单点的指针似乎不令人满意。但是,使用多位置指针,其如上文论述的可以依赖于多个地标以确定指针,可以在确定用户最可能要与哪个UI元件交互时考虑与用户身体一部分关联的多个地标的贡献,并且由此可以更稳健和容易适应的方式实现用户预想的目的。

本文公开的虚拟指针可以在多种应用中具有优势。例如,在常规“虚拟触摸屏”系统中,可以将交互区块定义为与显示器或其他设备的某个距离,进入该交互区块的任何对象被解释为指针,并且可以跟踪该对象以将其移动映射到UI元件上。此类常规系统往往由于无意对象(如用户的另一只手或脸)进入交互区块导致误肯定,从而导致用户的挫折感和不适(用户必须人为限制他或她的移动以避免构成此类误肯定)。使用本文公开的虚拟指针实施例的多种实施例可以在确定指针时聚焦于一个或多个特定地标(而非将交互区块中的任何介入解释为指针)来解决这些问题,并且可以针对用户行为的变化尤其具有稳健性(例如通过动态地调整要使用哪些地标来确定指针)。

本文公开的基指针可以在多种应用中具有优势。具体来说,本文公开的基指针可以提供优于仅使用用户食指指尖的改进,至少因为此类基于食指的方法确定指针可能在解释用户的目的时导致非期望的歧义。例如,一些系统可能跟踪食指指尖作为指针,并且还可能依赖于检测“捏合”手势(如图17A-B所示)来选择UI元件。这两种不同交互可能彼此冲突,因为食指向拇指移动以便执行捏合手势还导致映射到食指指尖的指针移动。一种备选方法可能是依赖于手掌中心取代食指指尖作为指针的地标。但是,手掌中心可能产生的指针远不如食指指尖那样精密,而且可能对于用户来说不自然,本文公开的基指针可以保持微小手掌移动的细微差别(例如,围绕腕关节挥手所包含的运动、仅跟踪手掌中心可能实质性地错失的运动)而不与依赖于跟踪食指指尖的捏合手势产生冲突。

图24-29是根据多种实施例的用于UI控制的说明性过程的流程图。虽然本文描述的图24-29的过程操作是按特定次序安排并各图示一次,但是在多种实施例中,可以将这些操作中的一个或多个操作重复、省略或打乱次序来执行。具体来说,虽然出于说明的目的,将图24-29的过程操作图示为按特定顺序来执行,但是这些过程操作可以酌情并行地执行。出于说明性目的,图24-29的过程操作可以描述为由在计算系统100中实施的UI控制系统200来执行,但是图24-29的过程的操作,包括图24-29的过程的个体操作,可以由任何适合配置的计算设备或计算设备集合来执行。图24-29的过程的任何操作可以根据本文描述的系统和200的任一实施例来执行。

图24是图示根据多种实施例的用于UI控制的过程2400的流程图。过程2400可以开始于操作2402,其中UI控制系统200(例如,地标逻辑204)可以确定与用户身体的一部分关联的一个或多个地标的位置。在操作2404处,UI控制系统200(例如,指针逻辑206)可以基于操作2402处确定的地标位置来确定指针。在操作2404处,UI控制系统200(例如,显示逻辑210)可以在显示器(例如,显示器222提供的显示器)中以可视方式指示(操作2404处确定的)指针。在操作2408处,UI控制系统200(例如,标识逻辑208)可以基于(操作2406处确定的)指针从多个UI元件中标识UI元件。在操作2410处,UI控制系统200(例如,显示逻辑210)可以在显示器中以可视方式指示(操作2408处标识的)UI元件。在一些实施例中,可以通过在UI元件被标识时在显示器中放大该UI元件来以可视方式指示所标识的UI元件。在操作2412处,UI控制系统200(例如,选择逻辑212)可以基于指示用户手势的手势数据来选择(操作2408处标识的)UI元件。过程2400然后可以结束。

图25是图示根据多种实施例的过程2500的流程图,可以实现过程2500来执行过程2400(图24)的操作2402-2408。过程2500可以开始于操作2502,其中UI控制系统200(例如,地标逻辑204)可以确定用户身体的一部分上的一个或多个地标的位置。此类地标的示例可以包括与用户手部的多种关节、用户脸部的特征对应的地标或任何其他期望的地标。在操作2504处,UI控制系统200(例如,地标逻辑204)可以基于操作2502处所标识的地标来确定一个或多个辅助地标的位置。辅助地标的示例可以包括沿着将用户身体的一部分上的两个或更多个地标连接的线段确定的地标、与用户身体的多种区块的质心对应的地标和任何其他适合的辅助地标。在执行操作2502和2504时,UI控制系统200可能已标识多个地标。在操作2506处,UI控制系统200(例如,指针逻辑206)可以确定与操作2502和2504处标识的每个地标所关联的一个或多个权重。根据本文论述的任一实施例,这些地标及关联的权重可以形成多位置指针。在操作2508处,UI控制系统200(例如,标识逻辑208)可以确定每个UI在UI中的指针得分。该指针得分可以基于UI中指针与UI元件所对应的区块之间的重叠。本文公开了指针得分技术的多个示例。在操作2510处,UI控制系统200(例如,标识逻辑208)可以确定哪个UI元件具有最高得分,并标识该UI元件。过程2500然后可以结束。

图26是图示根据多种实施例的备选过程2600的流程图,可以实现过程2600来执行过程2400(图24)的操作2402-2408。过程2600可以开始于操作2602,其中UI控制系统200(例如,地标逻辑204)可以确定用户身体的一部分上的一个或多个地标的位置。此类地标的示例可以包括与用户手部的多种关节、用户脸部的特征对应的地标或任何其他期望的地标。在一些实施例中,当用户身体的该部分包括用户手部且一个或多个地标与用户手指上的点关联时,可以将完全叠合到手掌上的手指上的地标忽略。在一些实施例中,手指上的地标必须大于与参考位置(例如手掌中心)的阈值距离,才能将此地标用于后续操作。在操作2604处,UI控制系统200(例如,指针逻辑206)可以确定操作2602处确定的一个或多个地标周围的用户身体部分的一个或多个区块。根据本文论述的任一实施例,这些区块可以形成多位置指针。在操作2606处,UI控制系统200(例如,标识逻辑208)可以在UI中确定每个UI的指针得分。该指针得分可以基于UI中指针与UI元件所对应的区块之间的重叠(例如,使用冲突平面技术)。在操作2608处,UI控制系统200(例如,标识逻辑208)可以确定哪个UI元件具有最高得分,并标识该UI元件。过程2600然后可以结束。

图27是图示根据多种实施例的另一个备选过程2700的流程图,可以实现过程2700来执行过程2400(图24)的操作2402-2408。过程2700可以开始于操作2702,其中UI控制系统200(例如,地标逻辑204)可以将图像内的用户身体的一部分与背景对象分离。在操作2704处,UI控制系统200(例如,地标逻辑204)可以确定用户身体的分离部分的一个或多个区块。根据本文论述的任一实施例,这些区块可以形成多位置指针。在一些实施例中,当用户身体的该部分包括用户手部且一个或多个区块与用户手指上的点关联时,可以将完全叠合到手掌上的手指上的区块忽略。在一些实施例中,手指上的区块必须大于与参考位置(例如手掌中心)的阈值距离,才能将此区块用于后续操作。在操作2706处,UI控制系统200(例如,标识逻辑208)可以在UI中确定每个UI的指针得分。该指针得分可以基于UI中指针与UI元件所对应的区块之间的重叠(例如,使用冲突平面技术)。在操作2708处,UI控制系统200(例如,标识逻辑208)可以确定哪个UI元件具有最高得分,并标识该UI元件。过程2700然后可以结束。

图28是图示根据多种实施例的另一个备选过程2800的流程图,可以实现过程2800来执行过程2400(图24)的操作2402-2404。过程2800可以开始于操作2802,其中UI控制系统200(例如,地标逻辑204)可以确定与用户身体的一部分关联的地标的位置。操作2802处确定的地标可以包括本文公开的任一地标(包括上文参考图26的操作2602和2604论述的地标)。在操作2804处,UI控制系统200(例如,指针逻辑206)可以基于操作2802处确定的地标位置相对于虚拟交互区域的相对定位来确定指针。根据本文论述的任一实施例,该指针可以是虚拟指针。过程2800然后可以结束。

图29是图示根据多种实施例的另一个备选过程2900的流程图,可以实现过程2900来执行过程2400(图24)的操作2402-2404。过程2900可以开始于操作2902,其中UI控制系统200(例如,地标逻辑204)可以确定与用户手部食指的下部的位置。在操作2904处,UI控制系统200(例如,指针逻辑206)可以基于操作2902处确定的用户手部食指的下部的位置来确定指针。根据本文论述的任一实施例,该指针可以是基指针。过程2900然后可以结束。

下文段落描述本发明公开的实施例的多个示例。

示例1是一种UI控制系统,其包括:地标逻辑,所述地标逻辑用于确定与计算系统的用户身体的一部分关联的多个地标的位置;指针逻辑,所述指针逻辑与所述地标逻辑耦合,用于至少部分地基于所述多个地标位置来确定指针;以及标识逻辑,所述标识逻辑与所述指针逻辑耦合,用于至少部分地基于所述指针从所述计算系统的UI的多个UI元件中标识UI元件。

示例2包括示例1的主题,并且还指定所述地标逻辑用于基于深度摄像头捕获的用户身体的图像来确定用户身体的所述部分上的所述多个地标的位置。

示例3包括示例1-2中任一个的主题,并且还指定用户身体的所述部分包括用户的手部。

示例4包括示例1-3中任一个的主题,并且还指定基于所述指针从所述多个UI元件中标识UI元件包括:标识所述UI中与所述多个UI元件中的相应UI元件对应的多个区块;以及基于与所述UI元件对应的区块与所述指针之间的重叠量来标识所述UI元件。

示例5包括示例4的主题,以及还指定与所述UI元件对应的所述区块与所述指针之间的重叠量基于地标的权重。

示例6包括示例4的主题,以及还指定所述权重基于所述地标位置与用户身体的所述部分上的参考位置之间的距离。

示例7包括示例1-3中任一个的主题,以及还指定所述指针包括所述UI中的区块,以及所述区块基于地标位置与用户身体的所述部分上的参考位置之间的距离。

示例8包括示例1-7中任一个的主题,以及还包括显示逻辑,所述显示逻辑与所述标识逻辑耦合,用于响应于所述UI元件的标识在显示器中放大所述UI元件。

示例9包括示例1-8中任一个的主题,以及还包括显示逻辑,所述显示逻辑与所述指针逻辑耦合,用于在显示器中提供所述指针的可视指示符。

示例10包括示例1-9中任一个的主题,以及还包括选择逻辑,所述选择逻辑与所述标识逻辑耦合,用于在标识所述UI元件之后,基于指示用户手势的手势数据选择所述UI元件。

示例11包括示例10的主题,以及还包括显示逻辑,所述显示逻辑与所述指针逻辑耦合,其中:指示用户手势的手势数据包括指示悬停在所述UI元件上持续预定时间段的第一手势数据;所述显示逻辑用于基于所述第一手势数据显示确认UI元件;指示用户手势的手势数据包括指示在显示所述确认UI元件之后选择所述确认UI元件的第二手势数据;以及所述选择逻辑用于基于所述第二手势数据来选择所述UI元件。

示例12是一种UI控制系统,其包括:地标逻辑,所述地标逻辑用于确定计算系统的用户手部食指的下部的位置,所述下部与食指指尖分隔开;指针逻辑,所述指针逻辑与所述地标逻辑耦合,用于至少部分地基于用户手部食指的所述下部的位置来确定指针;以及标识逻辑,所述标识逻辑与所述指针逻辑耦合,用于至少部分地基于所述指针从所述计算系统的UI的多个UI元件中标识UI元件。

示例13包括示例12的主题,以及还指定用户手部食指的所述下部逼近用户手部食指的基关节。

示例14包括示例12-13中任一个的主题,以及还包括显示逻辑,所述显示逻辑与所述指针逻辑耦合,用于在显示器上显示表示所述指针的光标。

示例15包括示例14的主题,以及还指定所述指针对应于所述UI中的单点。

示例16是一种UI控制系统,其包括:地标逻辑,用于确定与计算系统的用户身体的一部分关联的地标的位置;指针逻辑,所述指针逻辑与所述地标逻辑耦合,用于至少部分地基于所述地标位置相对于虚拟交互区域的相对定位来确定指针;以及标识逻辑,所述标识逻辑与所述指针逻辑耦合,用于至少部分地基于所述指针从所述计算系统的UI的多个UI元件中标识UI元件。

示例17包括示例16的主题,以及还包括显示逻辑,所述显示逻辑与所述指针逻辑耦合,用于提供所述地标位置与所述虚拟交互区域之间的距离的可视指示符,其中所述可视指示符随着所述距离改变而改变。

示例18包括示例17的主题,以及还指定所述可视指示符具有随着所述距离增加而增大的大小。

示例19包括示例16-18中任一个的主题,以及还指定:确定用户身体的所述部分上的所述地标的位置包括:确定逼近用户手部食指指尖的第一地标的位置,以及确定所述第一地标与用户手部食指的基关节之间的第二地标的位置;所述指针逻辑用于在所述第一地标位于所述虚拟交互区域的第一侧时,基于所述第一地标的位置相对于所述虚拟交互区域的相对定位来确定所述指针;以及所述指针逻辑用于在所述第一地标位于所述虚拟交互区域的不同于所述第一侧的第二侧时,基于所述第二地标的位置相对于所述虚拟交互区域的相对定位来确定所述指针。

示例20是包含计算机可读指令的一个或多个计算机可读介质,在所述计算机可读指令被计算系统的一个或多个处理设备执行时,促使所述计算系统执行如下操作:确定与所述计算系统的用户身体的一部分关联的多个地标的位置;至少部分地基于所述多个地标位置来确定指针;以及至少部分地基于所述指针从所述计算系统的UI的多个UI元件中标识UI元件。

示例21包括示例20的主题,以及还指定基于深度摄像头捕获的用户身体的图像来确定用户身体的所述部分上的所述多个地标的位置。

示例22包括示例20-21中任一个的主题,以及还包括计算机可读指令,所述计算机可读指令在被所述计算系统的所述一个或多个处理设备执行时,促使所述计算系统响应于所述UI元件的标识而在显示器中放大所述UI元件。

示例23包括示例20-22中任一个的主题,以及还包括计算机可读指令,所述计算机可读指令在被所述计算系统的所述一个或多个处理设备执行时,促使所述计算系统在显示器中提供所述指针的可视指示符。

示例24包括示例20-23中任一个的主题,以及还包括计算机可读指令,所述计算机可读指令在被所述计算系统的所述一个或多个处理设备执行时,促使所述计算系统在标识所述UI元件之后,基于指示用户手势的手势数据选择所述UI元件。

示例25包括示例24的主题,以及还指定指示用户手势的手势数据包括指示悬停在所述UI元件上持续预定时间段的第一手势数据,以及还包括计算机可读指令,所述计算机可读指令在被所述计算系统的所述一个或多个处理设备执行时,促使所述计算系统基于所述第一手势数据显示确认UI元件;接收指示显示所述确认UI元件之后选择所述确认UI元件的第二手势数据;以及基于所述第二手势数据选择所述UI元件。

示例26是一种用于UI控制的方法,其包括:确定与计算系统的用户身体的一部分关联的多个地标的位置;至少部分地基于所述多个地标位置来确定指针;以及至少部分地基于所述指针从所述计算系统的UI的多个UI元件中标识UI元件。

示例27包括示例26的主题,以及还指定确定用户身体的所述部分上的所述多个地标的位置包括:基于深度摄像头捕获的用户身体的图像来确定用户身体的所述部分上的所述多个地标的位置。

示例28包括示例26-27中任一个的主题,以及还指定用户身体的所述部分包括用户手部。

示例29包括示例26-28中任一个的主题,以及还指定基于所述指针从所述多个UI元件标识所述UI元件包括:标识所述UI中与所述多个UI元件中的相应UI元件对应的多个区块;以及基于与所述UI元件对应的区块与所述指针之间的重叠量来标识所述UI元件。

示例30包括示例29的主题,以及还指定与所述UI元件对应的所述区块与所述指针的重叠量基于地标的权重。

示例31包括示例29的主题,以及还指定所述权重基于所述地标位置与用户身体的所述部分上的参考位置之间的距离。

示例32包括示例26-28中任一个的主题,以及还指定所述指针包括所述UI中的区块,以及所述区块基于地标位置与用户身体的所述部分上的参考位置之间的距离。

示例33包括示例26-32中任一个的主题,以及还包括响应于所述UI元件的标识在显示器中放大所述UI元件。

示例34包括示例26-33中任一个的主题,以及还包括在显示器中提供所述指针的可视指示符。

示例35包括示例26-24中任一个的主题,以及还包括在标识所述UI元件之后,基于指示用户手势的手势数据选择所述UI元件。

示例36包括示例35的主题,以及还指定指示用户手势的手势数据包括指示悬停在所述UI元件上持续预定时间段的第一手势数据和指示显示所述确认UI元件之后选择所述确认UI元件的第二手势数据,以及还包括基于所述第一手势数据显示所述确认UI元件;以及基于所述第二手势数据选择所述UI元件。

示例37是一种用于UI控制的方法,其包括:确定计算系统的用户手部食指的下部的位置,所述下部与食指指尖分隔开;至少部分地基于用户手部食指的所述下部的位置来确定指针;以及至少部分地基于所述指针从所述计算系统的UI的多个UI元件中标识UI元件。

示例38包括示例37的主题,以及还指定用户手部食指的所述下部逼近用户手部食指的基关节。

示例39包括示例37-38中任一个的主题,以及还包括在显示器上显示表示所述指针的光标。

示例40包括示例39的主题,以及还指定所述指针对应于所述UI中的单点。

示例41是一种用于UI控制的方法,其包括:确定与计算系统的用户身体的一部分关联的地标的位置;至少基于所述地标位置相对于虚拟交互区域的相对定位来确定指针;以及至少部分地基于所述指针从所述计算系统的UI的多个UI元件中标识UI元件。

示例42包括示例41的主题,以及还包括提供所述地标位置与所述虚拟交互区域之间的距离的可视指示符,其中所述可视指示符随着所述距离改变而改变。

示例43包括示例42的主题,以及还指定所述可视指示符具有随着所述距离增加而增大的大小。

示例44包括示例41-43中任一个的主题,以及还指定确定用户身体的所述部分上的所述地标的位置包括:确定逼近用户手部食指指尖的第一地标的位置,以及确定所述第一地标与用户手部食指的基关节之间的第二地标的位置;以及基于所述地标位置相对于所述虚拟交互区域的相对定位来确定指针包括:在所述第一地标位于所述虚拟交互区域的第一侧时,基于所述第一地标的位置相对于所述虚拟交互区域的相对定位来确定所述指针,以及在所述第一地标位于所述虚拟交互区域的不同于所述第一侧的第二侧时,基于所述第二地标的位置相对于所述虚拟交互区域的相对定位来确定所述指针。

示例45是包含计算机可读指令的一个或多个计算机可读介质,在所述计算机可读指令被计算系统执行时,促使所述计算系统:执行如示例26-44中任一个所述的方法。

示例46是一种用于UI控制的计算系统,其包括用于执行如示例26-44中任一个所述的方法的部件。

示例47包括示例12-13或16-19中任一个的主题,以及还包括显示逻辑,所述显示逻辑与所述指针逻辑耦合,用于在显示器中提供所述指针的可视指示符。

示例48包括示例37-38或41-44中任一个的主题,以及还包括在显示器中提供所述指针的可视指示符。

示例49是一种UI控制系统,其包括:用于确定与计算系统的用户身体的一部分关联的多个地标的位置的部件;用于至少部分地基于所述多个地标位置来确定指针的部件;以及用于至少部分地基于所述指针从所述计算系统的UI的多个UI元件中标识UI元件的部件。

示例50包括示例49的主题,以及还指定用于确定用户身体的所述部分上的所述多个地标的位置的部件包括:用于基于深度摄像头捕获的用户身体的图像来确定用户身体的所述部分上的所述多个地标的位置的部件。

示例51包括示例49-50中任一个的主题,以及还指定用户身体的所述部分包括用户手部。

示例52包括示例49-51中任一个的主题,以及还指定用于基于所述指针从所述多个UI元件标识所述UI元件的部件包括:用于标识所述UI中与所述多个UI元件中的相应UI元件对应的多个区块的部件;以及用于基于与所述UI元件对应的区块与所述指针之间的重叠量来标识所述UI元件的部件。

示例53包括示例52的主题,以及还指定与所述UI元件对应的所述区块与所述指针的重叠量基于地标的权重。

示例54包括示例52的主题,以及还指定所述权重基于所述地标位置与用户身体的所述部分上的参考位置之间的距离。

示例55包括示例49-51中任一个的主题,以及还指定所述指针包括所述UI中的区块,以及所述区块基于地标位置与用户身体的所述部分上的参考位置之间的距离。

示例56包括示例49-55中任一个的主题,以及还包括用于响应于所述UI元件的标识在显示器中放大所述UI元件的部件。

示例57包括示例49-56中任一个的主题,以及还包括用于在显示器中提供所述指针的可视指示符的部件。

示例58包括示例49-57中任一个的主题,以及还包括用于在标识所述UI元件之后基于指示用户手势的手势数据选择所述UI元件的部件。

示例59包括示例58的主题,以及还指定指示用户手势的手势数据包括指示悬停在所述UI元件上持续预定时间段的第一手势数据和指示显示所述确认UI元件之后选择所述确认UI元件的第二手势数据,以及还包括用于还包括基于所述第一手势数据显示所述确认UI元件的部件;以及基于所述第二手势数据选择所述UI元件。

示例60是一种UI控制系统,其包括:用于确定计算系统的用户手部食指的下部的位置的部件,所述下部与食指指尖分隔开;用于至少部分地基于用户手部食指的所述下部的位置来确定指针的部件;以及用于至少部分地基于所述指针从所述计算系统的UI的多个UI元件中标识UI元件的部件。

示例61包括示例60的主题,以及还指定用户手部食指的所述下部逼近用户手部食指的基关节。

示例62包括示例60-61中任一个的主题,以及还包括用于在显示器上显示表示所述指针的光标的部件。

示例63包括示例62的主题,以及还指定所述指针对应于所述UI中的单点。

示例64是一种UI控制系统,其包括:用于确定与计算系统的用户身体的一部分关联的地标的位置的部件;用于至少基于所述地标位置相对于虚拟交互区域的相对定位来确定指针的部件;以及用于至少部分地基于所述指针从所述计算系统的UI的多个UI元件中标识UI元件的部件。

示例65包括示例64的主题,以及还包括用于提供所述地标位置与所述虚拟交互区域之间的距离的可视指示符的部件,其中所述可视指示符随着所述距离改变而改变。

示例66包括示例65的主题,以及还指定所述可视指示符具有随着所述距离增加而增大的大小。

示例67包括示例64-66中任一个的主题,以及还指定用于确定用户身体的所述部分上的所述地标的位置的部件包括:用于确定逼近用户手部食指指尖的第一地标的位置的部件,以及用于确定所述第一地标与用户手部食指的基关节之间的第二地标的位置的部件;以及用于基于所述地标位置相对于所述虚拟交互区域的相对定位来确定指针的部件包括:用于在所述第一地标位于所述虚拟交互区域的第一侧时基于所述第一地标的位置相对于所述虚拟交互区域的相对定位来确定所述指针的部件,以及用于在所述第一地标位于所述虚拟交互区域的不同于所述第一侧的第二侧时基于所述第二地标的位置相对于所述虚拟交互区域的相对定位来确定所述指针的部件。

示例68包括示例60-61或64-67中任一个的主题,以及还包括用于在显示器中提供所述指针的可视指示符的部件。

再多了解一些
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1