具体实施方式
以下描述电子系统、设备及其相关操作方法的各种实施例。术语“标记”在全文中用于指代用于指示、识别和/或另外区分承载和/或以其他方式关联于标记的对象的至少一部分的部件。术语“检测器”在全文中用于指代用于监视、识别和/或另外确认标记的部件。以下出于示意性目的,描述具有特定配置、部件和/或功能的标记和检测器的示例。根据本技术的标记和/或检测器的其他实施例还可以具有其他适合的配置、部件和/或功能。本领域技术人员还应当理解本技术可以具有附加实施例,并且本技术可以在没有以下参照附图1-10描述的实施例的若干细节的情况下实践。
图1是根据本技术实施例的电子系统100的示意图。如图1所示,电子系统100包括输入设备102、检测器104、输出设备106以及可操作地耦合至上述部件的控制器118。可选地,电子系统100还可以包括照明源112(例如,荧光灯泡),照明源112被配置为向输入设备102和/或电子系统100的其他部件提供照明114。在其他实施例中,照明源112可以省略。在其他实施例中,电子系统100还可以包括电视调谐器、触摸屏控制器、电话电路和/或其他适合的部件。
输入设备102可以被配置为不触摸输出设备106。例如,在所示实施例中,输入设备102被配置为用户101食指上的可佩戴环。在其他示例中,输入设备102可以被配置为用户101其他手指上的可佩带环。在其他示例中,输入设备102可以被配置为开口环、手指探针、手指套、手套和/或针对用户101的手指、手和/或其他部分的其他适合产品。即使在图1中示出了仅一个输入设备102,但是在其他实施例中,电子系统100可以包括一个以上输入设备102,如以下参照图10更详细描述的。
输入设备102可以包括被配置为向检测器104发出信号110的至少一个标记103(为了清楚期间,图1中仅示出了一个标记)。在一些实施例中,标记103可以是有源部件。例如,标记103可以包括发光二极管(“LED”)、有机发光二级管(“OLED”)、激光二极管(“LD”)、聚合物发光二极管(“PLED”)、荧光灯、红外(“IR”)发射器,和/或被配置为发射可见光、红外(“IR”)、紫外和/或其他适合光谱的其他适合的发光器。在其他实施例中,标记103可以包括被配置为发射射频(“RF”)、微波和/或其他类型适合的电磁信号的无线电发射机。在其他示例中,标记103可以包括被配置为发射声音信号的超声换能器。在任何上述实施例中,输入设备102还可以包括耦合至标记103的电源(如图2A所示)。以下参照图2A-3更详细地描述有源输入设备102的若干示例。
在其他实施例中,标记103可以包括无电源(即,无源)部件。例如,标记103可以包括通过反射来自可选照明源112的至少一部分照明114来发射信号110的反射材料。反射材料可以包括铝箔、反射镜和/或具有足够反射率的其他适合的材料。在其他实施例中,输入设备102可以包括有源部件和无源部件的组合。在任何上述实施例中,一个或多个标记103可以被配置为发射具有大致圆形、三角形、矩形和/或其他适合图案的信号110。
检测器104被配置为监视和捕获从输入设备102的标记103发射的信号110。在以下描述中,出于示意性目的,用于捕获输入设备102的图像和/或视频的摄像机(例如,Logitech of Fremont,California提供的Webcam C500)用作检测器104的示例。在其他实施例中,检测器104还包括IR摄像机、激光检测器、无线电接收机、超声换能器和/或其他适合类型的无线电、图像和/或声音捕获部件。即使在图1中仅示出了一个检测器104,但是在其他实施例中,电子系统100也可以包括两个、三个、四个、或任何其他适合数目的检测器104(未示出)。
输出设备106可以被配置为向用户101提供文本、图形、声音和/或其他适合类型的反馈。例如,如图1所示,输出设备106可以向用户101显示计算机光标108。在所示实施例中,输出设备106包括液晶显示器(“LCD”)。在其他实施例中,输出设备106还可以包括触摸屏、OLED显示器和/或其他适合的显示器。
控制器118可以包括耦合至存储器122和输入/输出接口124的处理器120。处理器120可以包括微处理器、现场可编程门阵列和/或其他适合的逻辑处理部件。存储器122可以包括被配置为存储从处理器120接收到的数据以及针对处理器120的指令的易失性和/或非易失性计算机可读介质(例如,ROM;RAM,磁盘存储介质;光存储介质;闪存设备,EEPROM,和/或其他适合的非暂时存储介质)。在一个实施例中,数据和指令都可以存储在一个计算机可读介质中。在其他实施例中,数据可以存储在一个介质(例如,RAM)中,并且指令可以存储在不同的介质(例如,EEPROM)中。输入/输出接口124可以包括用于与摄像机、显示器、触摸屏、键盘、跟踪球、计量器(gauge)或拨盘和/或其他适合类型的输入/输出设备接口相连的驱动器。
在一些实施例中,控制器118可以经由硬件通信链路(例如,USB链路、以太网链路、RS232链路等)操作耦合至电子系统100的其他部件。在其他实施例中,控制器118可以经由无线连接(例如,WIFI链路、蓝牙链路等)操作耦合至电子系统100的其他部件。在其他实施例中,控制器118可以被配置为专用集成电路、片上系统电路、可编程逻辑控制器和/或其他适合的计算架构。
在一些实施例中,检测器104、输出设备106和控制器118可以被配置为台式计算机、膝上型计算机、平板电脑、智能电话和/或其他适合类型的计算设备。在其他实施例中,输出设备106可以是电视机的至少一部分。可以将检测器104和/或控制器118集成到电视机中,或者与电视机分开。在其他实施例中,控制器118和检测器104可以被配置为游戏控制台,并且输出设备106可以包括电视屏幕和/或其他适合的显示器。在附加实施例中,输入设备102、存储针对处理器120的指令的计算机存储介质和关联的操作指令可以被配置为套件(kit)。在其他实施例中,输入设备102、检测器104、输出设备106和/或控制器118可以具有其他适合的配置。
例如通过摆动、做手势,和/或另外与输入设备102一起移动他/她的手指,用户101可以以非触摸方式来操作控制器118。电子系统100可以监视用户的手指移动,并且将该移动与来自用户101的计算命令相关。电子系统100然后可以例如通过将计算机光标108从第一位置109a移动到第二位置109b,来执行计算命令。本领域技术人员将理解以下讨论仅出于示意性目的。电子系统100可以被配置为执行除了以下讨论的操作以外的其他操作,或者执行其他操作来代替以下讨论的操作。
在操作中,检测器104可以针对基于特定预设条件的命令开始监视输入设备102的标记103。例如,在一个实施例中,检测器104可以在检测到从标记103发射的信号110时开始监视信号110。在另一示例中,检测器104可以在检测器104确定信号110在预设时间段(例如,0.1秒)内相对稳定时开始监视信号110。在另一示例中,检测器104可以基于其他适合的条件开始监视信号110。
在检测器104针对命令开始监视输入设备102之后,处理器120对经由输入/输出接口124从检测器104捕获到的输入设备102的图像进行采样。处理器120然后通过识别捕获图像中的与发射信号110相对应的像素和/或图像区块来执行图像区块化(image segmentation)。识别可以基于像素强度、像素形状和/或其他适合的参数。
处理器120然后识别输入设备102的分成区块的图像的特定特性。例如,在一个实施例中,处理器120可以基于分成区块的图像来识别多个观察到的标记103。处理器120还可以计算分成区块的图像中各个成对标记103之间的距离。在其他示例中,处理器120还可以基于分成区块的图像执行形状(例如,圆形或椭圆形)拟合,并且获知标记103的配置。在其他示例中,处理器120可以对分成区块的图像执行其他适合的分析。
处理器120然后从存储器122获取输入设备102的预定图案。预定图案可以包括基于分析模型计算的输入设备102的取向和/或位置参数。例如,预定图案可以包括多个可观察的标记103、各个对的标记103之间的距离和/或基于输入设备102与检测器104之间的已知平面角的其他参数。通过将识别到的分成区块的图像特性与获取的预定图案相比较,处理器120可以确定与输入设备102与检测器的取向和当前距离中的至少一个。
处理器120然后在一段时间(例如,0.5秒)内重复上述操作,并且将确定的取向和/或距离累计在缓冲器或其他适合的计算机存储器中。基于多个时间点处累计的取向和/或距离,处理器120然后可以构造输入设备102与检测器104之间的时间轨迹(temporal trajectory)。处理器120然后将构造的时间轨迹与存储器122中存储的轨迹动作模型(图4)相比较,以确定用户101的手势、移动和/或其他动作。例如,如图1所示,处理器120可以确定构造的轨迹与用户101的食指的大致线性摆动相关。
一旦确定了用户动作,处理器120可以将确定的用户动作映射到控制和/或其他适合类型的操作。例如,在示意的实施例中,处理器120可以将食指的大致线性摆动映射到计算机光标108的大致线性移动。因此,处理器120向输出设备106输出命令,以将计算机光标108从第一位置109a移动到第二位置109b。
电子系统100的若干实施例通过确认和合并通常接受的手势与传统输入设备相比更直观或自然。例如,计算机光标108的左或右位移可以包括用户101的食指的左或右位移。同样,电子系统100的若干实施例不需要用户在操作电子系统100时的严格姿势。取而代之,用户101可以利用在他/她手指上的输入设备102以任何舒服的姿势来操作电子系统100。此外,电子系统100的若干实施例可以比一些传统输入设备更加可移动,这是因为操作输入设备102不需要硬表面或任何其他支撑。
图2A是根据本技术实施例的适合在图1电子系统100中使用的输入设备102的侧截面图。如图2A所示,输入设备102可以包括环131和孔139,环131具有第一侧131a和相对的第二侧131b,孔139在第一侧131a与第二侧131b之间延伸。调整孔139的大小和/或改变孔139的形状,以容纳用户101的手指(图1)。在所示意的实施例中,第一侧131a和第二侧131b通常为平面并且彼此平行。在其他实施例中,第一侧131a和第二侧131b可以具有弯曲表面,具有斜面或倒圆的边缘和/或其他适合的配置。在一些实施例中,输入设备102可以包括被配置为容纳电池133(例如,锂离子电池)的内部腔室。在其他实施例中,内部腔室137可以省略,并且输入设备102可以包括太阳能膜(未示出)和/或其他适合的电源。
图2B是根据本技术实施例的图2A的输入设备102的前视图。如图2B所示,输入设备102可以包括最接近环131的第一侧131a的多个标记103(出于示意性目的,示出了6个)。可以利用夹具、夹子、别针、扣环、维可牢尼龙搭扣(Velcro)、粘合剂和/或其他适合的紧固件来将标记103固定到环131,或者可以将标记103按压和/或摩擦安装到环131中,而无需紧固件。
在其他实施例中,输入设备102可以包括具有其他适合的布置的更多或更少的标记103,分别如图2C和2D所示。在其他实施例中,输入设备102可以具有其他适合数目的标记103和/或标记103的其他适合的布置。即使图2A-2D所示的标记103彼此分开,但是在附加实施例中,可以按照并排、交叠、重叠和/或以其他适合的布置方式来布置标记103,以形成带、条、带子、拱形和/或其他适合的形状。
图2E是根据本技术实施例的具有斜表面的输入设备102的侧截面图。如图2E所示,输入设备102可以包括如上参照图2A所述的大致类似的部件,除了标记103位于斜表面141中和/或位于斜表面141上。在所示意的实施例中,斜表面141大致为平面。在其他实施例中,斜表面141可以是弯曲的或者可以具有其他适合的布置。
图3是适合于上述参照图2A-2E讨论的输入设备102的电路图。如图3所示,在所示意的实施例中,标记103被示为LED链中串联的LED,并且电池133耦合至LED链的两端。在其他实施例中,标记103彼此可以并联耦合或者以其他适合的方式耦合。即使在图3中未示出,输入设备102也可以包括开关、电源控制器和/或用于向标记103供电的适合的电/机械部件。
图4是根据本技术实施例的适合于图1中控制器118的计算系统软件模块130的框图。每个部件可以是按照传统编程语言(例如,C++编程语言)写成源代码或其他计算机代码的计算机程序、过程、进程,并且提供每个部件供控制器118的处理器120执行。源代码和对象字节代码的各种实现方式可以存储在存储器122中。控制器118的软件模块130可以包括彼此互连的输入模块132、数据库模块134、处理模块136、输出模块138以及显示模块140。
在操作中,输入模块132可以接受数据输入150(例如,来自图1中检测器104的图像),并且将接受的数据通信至用于进一步处理的其他部件。数据库模块134对包括动作模型142和动作命令映射144的记录进行组织,并且有助于向存储器122存储这些记录或者从存储器122获取这些记录。可以使用任何类型的数据库组织,包括平面文件系统、分层数据库、关系式数据库或分布式数据库(例如,由数据库供应商(例如,Oracle Corporation,Redwood Shores,California)提供)。
处理模块136对来自输入模块132和/或其他数据源的数据输入150进行分析,并且输出模块138基于分析的数据输入150产生输出信号152。处理器120可以包括显示模块,用于经由输出设备106(图1)、监视器、打印机和/或其他适合的设备来显示、打印或下载数据输入150、输出信号152和/或其他信息。以下参照图5更详细描述处理模块136的实施例。
图5是示出了图4的处理模块136的实施例的框图。如图5所示,处理模块136还可以包括彼此互连的传感模块160、分析模块162、控制模块164和计算模块166。每个模块可以是按照传统编程语言写成源代码的计算机程序、过程或例程,或者一个或多个模块可以是硬件模块。
传感模块160被配置为接收数据输入150,并且基于数据输入150来识别输入设备102(图1)的标记103(图1)(这里被称作“图像区块化”)。例如,在一些实施例中,数据输入150包括输入设备102、用户101(图1)的静止图像(或者视频帧)和背景对象(未示出)。传感模块160然后可以被配置为识别静止图像中与输入设备102的标记103相对应的像素和/或图像区块。基于识别的像素和/或图像区块,传感模块160形成输入设备102的分成区块的图像。
在一个实施例中,传感模块160包括将各个像素的光强值与预设阈值相比较的比较例程。如果光强在预设阈值之上,则传感模块160可以指示像素与标记103之一相对应。在另一实施例中,传感模块160可以包括形状确定例程,形状确定例程被配置为近似或识别静止图像中的像素的形状。如果近似或识别的形状与标记103的预设形状相匹配,则传感模块160可以指示像素与标记103相对应。
在又一实施例中,传感模块160可以包括滤波例程,滤波例程被配置为识别具有特定颜色索引、峰值频率、平均频率和/或其他适合的光谱特性的像素。如果滤波后的光谱特性与标记103的预设值相对应,则传感模块160可以指示像素与标记103相对应。在其他实施例中,传感模块160可以包括比较例程、形状确定例程、滤波例程和/或其他适合例程中的至少一些的组合。
计算模块166可以包括被配置为执行各种类型计算以有助于操作其他模块的例程。例如,计算模块166可以包括被配置为沿着预设方向以规则时间间隔对数据输入150进行采样的采样例程。在一些实施例中,采样例程可以包括线性或非线性插值、外推和/或其他适合的子例程,子例程被配置为沿着x,y和/或z方向以规则时间间隔(例如,30帧每秒)从检测器104(图1)产生一组数据、图像、帧。在其他实施例中,采样例程可以省略。
计算模块166还可以包括被配置为确定输入设备102相对于检测器104的取向的建模例程。在一些实施例中,建模例程可以包括被配置为确定和/或计算分成区块的图像的参数的子例程。例如,建模例程可以包括确定分成区块的图像中标记103的数量的子例程。在另一示例中,建模例程还可以包括计算各个对的标记103之间的距离的子例程。
在另一示例中,计算模块166还可以包括被配置为形成输入设备102的时间轨迹的轨迹例程。在一个实施例中,计算模块166被配置为计算表示输入设备102从第一时间点处的第一位置/取向移动至第二时间点处的第二位置/取向的矢量。在另一实施例中,计算模块166被配置为计算矢量数组,或者基于各个时间点处的多个位置/取向绘制输入设备102的轨迹。在其他实施例中,计算模块166可以包括线性回归、多项式回归、插值、外推和/或其他适合的子例程来导出输入设备102的运动的公式和/或其他适合的表达式。在其他实施例中,计算模块166可以包括计算时间轨迹的行进距离、行进方向、速度分布和/或其他适合的特性的例程。在其他实施例中,计算模块166还可以包括计数器、定时器和/或其他适合的例程来有助于其他模块的操作。
分析模块162可以被配置为对计算的输入设备102的时间轨迹进行分析,以确定对应的用户动作或手势。在一些实施例中,分析模块162对计算的时间轨迹的特性进行分析,并且将特性与动作模型142比较。例如,在一个实施例中,分析模块162可以将时间轨迹的行进距离、行进方向、速度分布和/或其他类型的适合特性与动作模型142中的已知动作或手势相比较。如果找到匹配,则分析模块166被配置为指示识别的特定用户动作或手势。
分析模块162还可以被配置为将识别的用户动作与手势相关,以基于动作命令映射144来控制动作。例如,如果识别的用户动作从左向右横向移动,则分析模块162可以将动作与从左向右位移的横向光标相关,如图1所示。在其他实施例中,分析模块162可以将各种用户动作或手势与任何适合的命令和/或数据输入相关。
控制模块164可以被配置为基于分析模块162所识别的命令和/或数据输入来控制控制器118(图1)的操作。例如,在一个实施例中,控制模块164可以包括用于与控制器118的操作系统和/或应用程序接口相连的应用程序接口(“API”)控制器。在其他实施例中,控制模块164可以包括反馈例程(例如,比例积分或者比例积分差分例程),反馈例程基于识别的命令和/或输入数据来向输出模块138产生输出信号152(例如,光标移动的控制信号)之一。在另一示例中,控制模块164可以基于操作员输入154和/或其他适合的输入来执行其他适合的控制操作。显示模块140然后可以接收确定的命令并向用户101产生对应的输出(图1)。
图6A是示出了根据本技术实施例的电子系统的非触摸操作的方法200的流程图。尽管以下参照图1的电子系统100和图4和5的软件模块来描述方法200,方法200还可以应用在具有附加和/或不同硬件/软件部件的其他系统中。
如图6A所示,方法200的一个步骤202包括从检测器104(图1)获取数据输入。在一个实施例中,获取数据输入包括在背景中捕获输入设备102(图1)的图像帧。每个帧可以包括二维或三维的多个像素(例如,1280×1024)。在其他实施例中,获取输入数据可以包括获取无线电、激光、超声和/或其他适合类型的信号。
方法200的另一步骤204包括对获取的输入数据进行处理,以识别输入设备102的时间轨迹。在一个实施例中,所识别的时间轨迹包括表示输入设备102的移动的矢量。在其他实施例中,识别的时间轨迹包括输入设备102的矢量数组。在其他实施例中,识别的移动可以包括输入设备102的其他适合表示。以下参照图6B更详细地描述对获取的输入数据进行处理的一些实施例。
方法200然后包括确定是否足够的数据为可用的判定步骤206。在一个实施例中,如果处理的输入数据超过预设阈值,则指示足够数据。在另一实施例中,在预设时间段(例如,0.5秒)过去之后,指示足够数据。在其他实施例中,可以基于其他适合的判据来指示足够数据。如果没有指示足够的数据,则处理返回至步骤202处获取检测信号;否则,在步骤208处,处理前进至基于识别的输入设备102的时间轨迹来解释用户动作。
在一些实施例中,解释用户动作包括分析并将时间轨迹的特性与已知用户动作进行比较。例如,可以计算位置、位置变化、横向移动、垂直移动、移动速度和/或其他时间轨迹特性,并且与预定动作模型相比较。基于比较,用户动作可以指示时间轨迹的特性是否与动作模型中的那些特性匹配。以下参照图9A-9D更详细地说明解释用户动作的示例。
方法200还包括将识别的用户动作映射到命令的另一步骤210。方法200然后包括确定处理是否继续的判定步骤212。在一个实施例中,如果检测到输入设备102的另一移动则处理继续。在其他实施例中,可以基于其他适合的判据来继续处理。如果处理继续,则处理回到步骤202处获取传感器读数;否则处理结束。
图6B是示出了根据本技术实施例的适合于图6A的方法200的信号处理方法204的流程图。如图6B所示,方法204的一个步骤220包括对获取的检测器信号进行图像区块化以识别与标记103(图1)相对应的像素和/或图像区块。以上参照图5描述了用于识别这种像素的技术。以下参照图7A-7B更详细地描述图像区块化的示例。
方法204的另一步骤221包括对分成区块的图像进行建模以确定输入设备102(图1)相对于检测器104(图1)的取向和位置中的至少一个。在一个实施例中,图像建模包括识别并将分成区块的图像的特性与预定动作模型相比较。这种特性可以包括标记103的数量、各个对的标记103之间的距离和/或其他适合的特性。在其他实施例中,图像建模可以包括上述技术的组合和/或其他适合的技术。基于识别的区块图像的特性与动作模式中的特性之间的比较,可以确定输入设备102的取向和/或位置。以下参照图8A-8G更详细描述图像建模的示例。
可选地,处理还可以包括步骤222处的图像采样。在一个实施例中,通过应用线性插值、外推和/或其他适合的技术,沿着x、y或z方向以规则时间间隔对获取的输入数据的图像模型进行采样。在其他实施例中,以其他适合的时间间隔对获取的检测器信号的图像建模进行采样。在其他实施例中,图像采样步骤222可以省略。处理的另一步骤224可以包括构造输入设备102(图1)的时间轨迹。以上参照图5描述了用于构造时间轨迹的技术。在构造了时间轨迹之后,处理返回至图6A的方法200。
图7A-9D示意性示出了以上参照图6A和6B描述的方法200的一些方面。图7A是示出了根据本技术实施例的输入设备102和检测器104的示意空间图。如图7A所示,检测器104具有二维观看区域170,输入设备102包括具有中心C
j和移动矢量
的标记103。如上所述,标记103向检测器104发射信号110。作为响应,检测器104获取输入设备102的图像帧F
i(x,y)。
然后对获取的输入设备102的图像分成区块,以识别与标记103相对应的像素或图像区块
图7B是示出了输入设备102的分成区块的图像的示意图。如图7B所示,可以将分成区块的图像172建模为圆形174(为了清楚起见,以虚线示出),并且可以基于其来识别特性(例如,标记103的数目)。
图8A-8G示出了用于确定输入设备102相对于检测器104的取向和/或位置的图像建模的一种示例技术。在以下讨论中,图2A中所示具有六个标记103的输入设备102仅用于示意性目的。图8A-8C示意性示出了根据本技术实施例的输入设备102与检测器104之间的三种相对取向。如图8A-8C所示,输入设备102具有输入平面175,并且检测器104具有检测器平面177。图8A示出了大致并行于检测器平面177的输入平面175。图8B示出了相对于检测器平面177成角度的输入平面175。图8C示出了大致垂直于检测器平面177的输入平面175。
图8D-8F分别示意性示出了图8A-8C中输入设备的分成区块的图像。不同的取向可以引起对于检测器104而言不同数目的标记103可见。例如,如图8D所示,当输入平面175大致平行于检测器平面177时,所有六个标记103在分成区块的图像中可见。如图8E所示,当输入平面175与检测器平面177成角度时四个标记103在分成区块的图像中可见。如图8F所示,当输入平面175大致垂直于检测器平面177时,三个标记103在分成区块的图像中可见。在一个实施例中,可以根据可见标记103的数目来计算成对距离d1,d2,d3,...,d6中的至少一些,如图8D-8F所示。在其他实施例中,可以计算所有可能的成对距离,而与可见标记103的数目无关。
图8G示意性示出了根据本技术实施例的相对于检测器平面177的输入平面175。如图8G所示,输入平面175由点ABEF来限定,并且检测器平面由点AHGC来限定。在不受理论限制的情况下,相信输入平面175相对于检测器平面177的取向可以由第一角度EBD和第二角度BAC来指定。相信可以基于输入设备102的已知几何图形以及标记103的位置,根据与标记103的投影相对应的集合A={0,α1,....,αn,π:αi<αi+1}来计算角度(EBD)和(BAC)的可能值。结果,例如,对于角度(EBD)和(BAC)的每种组合,可以计算标记103的相应成对距离的集合并将其存储在存储器122(图4)中。
如上参照图6A和6B所述,然后可以将从分成区块的图像计算的成对距离与集合A中的角度和对应的预定成对距离相比较。基于比较,可以将角度(EBD)和(BAC)估计为集合A的元素,这些元素实质上与从分成区块的图像计算的成对距离相匹配。在一些实施例中,例如,计算的成对距离和预定的成对距离可以被归一化到最大成对距离。在其他实施例中,这样的归一化可以省略。一旦确定了输入平面175的取向,就可以将输入设备102(例如,从其中心)到检测器104的距离估计为
B=D*bi/di
其中bi是两个标记投影之间观察到的距离;以及di是两个标记投影之间的预定距离。
可以重复上述操作以形成能够被解释为特定命令和/或数据输入的时间轨迹。图9A-9D示意性示出了根据本技术实施例的用于识别用户动作并将用户动作与命令相关的一个示例。如图9A所示,输入设备102的移动包括大致在y-z平面中的前向轨迹180和后向轨迹182。如图9B所示,图9A中时间轨迹的第一特性在于,前向轨迹和后向轨迹具有超过距离阈值184的行进距离。同样,如图9C所示,图9A中时间轨迹的第二特性在于,沿着x轴的距离低于预设阈值,指示沿着x轴的移动相对可忽略。此外,如图9D所示,时间轨迹的第三特性在于,输入设备102(图9A)的中心的速度在向着检测器104(图9A)移动时超过预设负速度阈值,并且在远离检测器104移动时超过正速度阈值。
在一个实施例中,如果识别出时间轨迹的所有第一、第二和第三特性,用户动作可以被确认为单击、选择、双击和/或其他适合的命令。在其他实施例中,仅第一、第二和第三特性中的一些可以用于与命令相关。在其他实施例中,这些特性中的至少一个可以用于与其他适合的特性相结合,以与命令相关。
即使上述图1中的电子系统100包括一个输入设备102,但是在其他实施例中,电子系统100也可以包括多个标记102。例如,图10是根据本技术实施例的具有多个标记102的用户的手的顶视图。在所示意的实施例中,出于示意性目的示出了四个标记102(分别被单独标识为第一、第二、第三和第四输入设备120a-102d)。在一些实施例中,标记102可以具有彼此不同的尺寸、形状和/或部件。在其他实施例中,标记102全部大致相同。在其他实施例中,电子系统100可以包括任何其他适合数目的标记102。
各个标记102可以彼此独立地操作,或者可以结合使用,以向电子系统100提供命令。例如,在一个实施例中,电子系统100可以确认第一和第二标记102a和102b在结束手势中接合在一起。作为响应,电子系统100可以将结束手势与结束程序、单击或其他适合的操作的命令相关。在其他实施例中,各个标记102可以具有对应的指定功能。例如,电子系统100可以将仅第二标记102b的移动确认为光标位移。在其他实施例中,标记102可以以其他适合的方式操作。在其他实施例中,用户101(图1)可以使用具有一个或多个标记102的两只手来操作电子系统100。
根据上文,应认识到,这里已经出于示意目的描述了本公开的一些实施例,但是在不背离本公开的前提下可以进行各种修改。此外,一个实施例中的许多元件可以与其他实施例中的元件相结合,或者代替其他实施例的元件。因此,本技术不限于所附权利要求以外的内容。