用于非接触式打字的系统、设备和方法

文档序号:10617837阅读:544来源:国知局
用于非接触式打字的系统、设备和方法
【专利摘要】提供用于通过非接触式手势和运动接收数据输入的系统、设备、方法和非暂时性计算机可读介质。例如,数据输入设备包括用于接收来自传感器的信息的至少一个处理器。该处理器可被配置成接收来自传感器的用户的手的传感器数据,用户的手与所显示的键盘隔开一段距离并且不与所显示的键盘接触;并且利用所接收的传感器数据追踪在空中与所显示的键盘图像有一段距离的一个或多个手指。该处理器还可以被配置成使在空中的所述一个或多个手指的位点与在所显示的键盘中的所述多个按键的图像相关,并且基于所述一个或多个手指在空中的相关位点和由用户执行的预定义手势的检测,从键盘图像选择按键。
【专利说明】
用于非接触式打字的系统、设备和方法[0001]相关申请本申请要求申请号为61 /889,348,2013年10月10日提交的美国临时申请的优选权,其 全部内容通过引用结合于本文中。
技术领域
[0002]本发明涉及非接触式数据输入,比如打字,并且更具体地,涉及使用一个或多个传感器以检测非接触式数据输入的设备和计算机可读介质。【背景技术】
[0003]允许用户与设备或设备上运行的应用进行交互,这在许多不同设置中都是有用的。例如,电子系统包括设备(例如,键盘,鼠标和控制杆),使得用户能够输入和操作数据, 并使该系统执行其它各种动作。然而,越来越多的触控式输入设备,如键盘、鼠标和控制杆, 被那些允许非接触式用户交互的设备所代替或补充。例如,系统可能包括的图像传感器,该图像传感器捕获包括用户的手和/或手指等的用户图像。该设备可以包括处理器,该处理器被配置成接收这样的图像并基于用户的手和手指执行的非接触式手势发起动作。
[0004]非接触式系统通常检测整个手的大的动作,但是这些系统缺乏足够的准确度和精密度来启用与物理的计算机外围设备的使用相竞争的数据输入能力。例如,这些系统不能检测细微运动和手势以充分模拟在键盘上的打字,因此,有必要改进非接触式打字和数据输入技术,以提供更好且更精确的用户体验。
【发明内容】

[0005]在一个公开的实施例中,公开了非暂时性计算机可读介质,其具有存储在其上面的指令,该指令可以由至少一个处理器执行以进行非接触式数据输入的操作,比如打字。该操作可以包括显示包括多个按键的键盘图像;从至少一个传感器接收用户的手的传感器数据,该用户的手与所显示的键盘隔开一段距离并且不与所显示的键盘图像接触;基于所接收的图像追踪在空中与所显示的键盘图像有一段距离的用户的手的一个或多个手指,使所述一个或多个手指在空中的位点与多个按键的图像相关联;以及基于该一个或多个手指在空中的相关位点和由用户执行的对预定义手势的检测,从键盘图像中选择按键。
[0006]在另一公开的实施例中,公开了一种数据输入设备。该数据输入设备包括至少一个处理器,该至少一个处理器被配置成:显示键盘图像,所显示的键盘图像包括多个按键; 从至少一个传感器接收用户的手的传感器数据,所述用户的手与所显示的键盘隔开一段距离并且与所显示的键盘图像是非接触的;基于所接收的传感器数据追踪在空中与所显示的键盘图像有一段距离的用户的手的一个或多个手指;使所述一个或多个手指在空中的位点与所述多个按键的图像相关联;以及基于所述一个或多个手指在空中的关联位点和由用户执行的对预定义手势的检测,从键盘图像选择按键。
[0007]将在以下描述中的部分阐述与实施例有关的其他方面,并且从描述中可以理解本发明的其他方面,或者可以通过公开的实施例的实践学习本发明的其他方面。
[0008]可以理解的是,以上整体概述和以下详细描述仅是示例性和解释性的,并非对权利要求的限制。【附图说明】
[0009]合并在本说明书中并构成本说明书的一部分的附图举例说明了公开的各种实施例,在该附图中:图1A举例说明了用于实现所公开的实施例的示例性系统;图1B举例说明了用于实现所公开的实施例的另一示例性系统;图2举例说明了根据所公开的一些实施例的示例性方法;图3举例说明了根据所公开的一些实施例的键盘模式和鼠标模式的图形表示。
[0010]图4举例说明了按键区域尺寸的图形表示。
[0011]图5A和5B举例说明了键盘行选择的图形表示。【具体实施方式】
[0012]所公开的实施例涉及用于非接触式打字的系统、设备和方法。在一些实施例中,非接触式打字可以包括在用户和计算设备或连接至计算设备的任何外围设备之间没有进行物理接触的情况下,将数据输入计算设备中。即,可以使用由一个或多个传感器收集的关于在空中检测到的手和/或手指的运动的信息将数据输入计算设备中。利用在空中的个别手和/或手指运动的检测和分析,促进非接触式数据输入的准确度,从而提供用于输入数据的有效机制。
[0013]为了便于传感器信息收集以用于非接触式打字,显示设备可以显示键盘图像,作为用户在空中进行模拟打字或鼠标操作的手和手指运动的参考。处理器可以通过与传感器有线或无线连接接收所收集的传感器信息,并且分析所收集的传感器信息。基于该分析,该处理器可以区分个别手指和手,并追随每个手指和手的空中运动,以及时确定手指和手在多个点的位置,从而追踪在三维空间中的手和手指。该处理器可将三维空间部分分配给所显示的键盘中的按键,并且关联手和手指的位置与分配区域,从而关联个别手指与所显示的键盘中的按键。
[0014]当满足预定义的条件同时手指保持与键盘关联时,该处理器可以选择一个或多个按键以进行数据输入。例如,当手指进行打字运动(比如,指尖大致向下的动作)时,该处理器可以确定用户意图输入与所关联的按键有关的数据,并且选择该按键进行数据输入。
[0015]如下文更详细的描述,该处理器可以修改分配至键盘按键的空间区域,并且分析检测出的手和手指运动、姿势、手势和方向,以提高非接触式打字的效率和准确度,并且因此改进处理器在识别数据输入和选择意图按键的功能。
[0016]以下将结合附图对本发明的示例性实施例进行详细描述。在可能情况下,附图所使用的相同附图标记表示相同或相似的部件。
[0017]本发明的实施例可以包括数据输入系统,该数据输入系统具有一个或多个部件, 比如数据输入设备,其被配置成通过非接触式手势接收数据输入。其它有创造性的实施例可以包括非暂时性计算机可读介质,该非暂时性计算机可读介质包括指令,当由至少一个处理器执行时,该指令使至少一个处理器执行通过非接触式手势接收数据输入的操作。
[0018]图1A为展示数据输入系统100的一个示例的图,该数据输入系统100可以实现所公开的实施例。系统100可以检测来自用户102的一个或多个手指106和/或一个或两个手104 的非接触式手势、姿势和运动。如图1A所示,系统100可以包括至少一个传感器110、CPU 120 和显示器130。该系统100的这些部件可以通过一个或多个有线或无线通信链路在通信上相连。
[0019]传感器110可以被配置成收集关于靠近传感器110的空间中的活动的信息。在一些实施例中,例如,该传感器110可以包括,一个或多个摄像头、光传感器、红外(IR)传感器、超声传感器、接近传感器、CMOS图像传感器、短波红外(SWIR)图像传感器、反射式传感器、单个的感光器或能够扫描区域的1-D线传感器、2-D传感器、包括例如多个2-D图像传感器的立体传感器、深度传感器、麦克风、运动传感器比如加速度计、位置传感器比如GPS接收器、或视线追踪器。传感器110可以与透镜关联以将特定区域的光聚焦在传感器110上。
[0020]该传感器110可以靠近显示器130并且获得三维视觉空间的图像。如图1A所描述, 用户102位于视觉空间中,因此呈现在由传感器110获得的传感器数据比如图像数据中。例如,该传感器110的输出可以为2D(二维)彩色或红外(IR)视频。可替换地,该传感器110可以为深度视频系统,该深度视频系统包括图像传感器或两个2D立体图像传感器。传感器110可以包括上文提及的一些或所有传感器类型的组合。
[0021]由传感器110捕获的图像可以通过传感器110数字化,并且输入到CPU120的处理器 122中,或者可以以模拟形式输入到处理器122中且通过处理器122数字化。除了别的以外, 示例性的接近传感器还可以包括:电容传感器、电容位移传感器、激光测距仪、使用飞行时间(TOP)技术的传感器、红外传感器、检测磁畸变的传感器,或能够产生指示靠近该接近传感器的对象的存在的信息的任何其它传感器。在一些实施例中,由接近传感器产生的信息可以包括对象与该接近传感器的距离。接近传感器可以是单个传感器,或者可以是传感器组。虽然图1A中所示为单个传感器110,但系统100可包括多类传感器110和/或类型相同的多个传感器110。例如,多个传感器110可以设置在单个设备比如容纳系统100的所有部件的数据输入设备内,在该系统1〇〇的其它部件外部的设备中,或在具有至少一个外部传感器 110和置于系统1〇〇的另一部件(例如,CPU120或显示器130)的至少一个传感器110的其它各种结构中。[〇〇22] 在一些实施例中,CPU120可以包括至少一个处理器122和存储器124。该CPU120可以并入数据输入设备中,该数据输入设备除了别的之外,包括:手机、智能眼镜、个人计算机 (PC)、娱乐设备、机顶盒、电视机、移动游戏机、平板计算机、电子阅读器、便携式游戏机、笔记本电脑或超级笔记本电脑等便携式计算机、厨房电器等家用电器、通信设备、空调、坞站、 移动视频游戏设备等游戏机、数码摄像头、手表、娱乐设备、扬声器、智能家居设备、媒体播放器或媒体系统、定位设备、微型投影仪或嵌入式投影仪、医学显示设备等医学设备、车辆、 车载/机载资讯娱乐系统、导航系统、可穿戴设备、增强现实功能设备、可穿戴护目镜、机器人、交互式数字看板、数字亭、自动售卖机、自动柜员机(ATM)、或可接收来自用户的数据或向用户输出数据的任何其它装置。此外,包括CPU120的数据输入设备可以是手持型的(例如由用户的手握持)或非手持型的。[〇〇23] 该CPU120可以通过一个或多个有线或无线通信链路连接至传感器110,并且可以接收来自传感器110的数据(比如图像)或能够由传感器110收集的任何数据。在一些实施例中,该CPU120可以通过一个或多个有线或无线通信链路接收来自多个传感器110的数据。 CPU120还可以连接至显示器130,并且可以向显示器130发送指令以显示一个或多个图像, 比如键盘图像140。虽然图1A所示为分开的部件,但在一些实施例中,传感器110、CPU120,和显示器130可以并入单个数据输入设备中,或并入具有传感器110、CPU120,和显示器130的各种组合的两个设备中。[〇〇24]在此使用的处理器322除其它以外,可以包括任何电路或非电子的生物电路,该电路或非电的生物电路可以被配置成对至少一个输入变量进行逻辑运算,其例如包括,一个或多个集成电路、微芯片、微控制器、微处理器(其可以为中央处理单元(CPU)的全部的或部分)、数字信号处理器(DSP)、现场可编程门阵列(FPGA)、图形处理单元(GPU)、或适用于执行指令或执行逻辑运算的本领域已知的任何其它电路。该处理器122可以包括,例如,一个或多个通用处理器、DSP(数字信号处理器)、GPU(图形处理单元),或者被配置成运行一个或多个软件程序或以其他方式执行指令的任何其它设备。可替换的处理器122可以为专用硬件、 专用集成电路(ASIC)。作为另一可替换方案,该处理器122可以为专用硬件、专用集成电路 (ASIC),以及通用处理器、DSP(数字信号处理器)、GPU(图形处理单元)中的任何一个或多个的组合。虽然图1A中所示为一个处理器,但系统100可以包括多个处理器,其可以提供不同的处理能力(例如专用图像处理)和/或可以提供平行的处理功能。可以使用单个处理器实现多种功能,或可以在多个处理器之间划分多个相关和/或不相关的功能。[〇〇25] 在一些实施例中,储存器124可以包括,例如,非暂态性存储器、R0M、EEPR0M、 EAR0M、闪速存储器设备、磁盘、磁光盘、CD-ROM、DVD-ROM、蓝光媒介、非电子的生物存储器等,并且可能包括指令(比如软件或固件)或其它数据。图1A通过示例的方式描述了连接至处理器122的存储器124。通常,处理器122可以接收由存储器124存储的指令和数据。因此, 在一些实施例中,该处理器122执行软件或固件以通过在输入数据上操作并且产生输出而执行功能。但是,该处理器122也可以是,例如,通过在输入数据上操作并且产生输出而执行处理的专用软件或专用集成电路(ASIC)。该处理器122可以是专用软件、一个或多个ASIC、 一个或多个通用处理器、一个或多个DSP、一个或多个GPU,或能够处理数字信息的一个或多个其它处理器的任意组合。图1A描述了作为CPU120的一部分的存储器124。但是,在可替换的实施例中,该存储器124可以在CPU120的外部。在一些实施例中,由传感器110捕获的信息可以存储在存储器124中以在之后被处理或可以在捕获时就被处理器122立即处理而未存储在存储器124中。[〇〇26] 实施例还可以包括显示器130。该显示器130可以包括,例如,一个或多个电视机、 计算机显示器、头戴式显示器、广播参考监视器、液晶显示器(IXD)屏幕、基于发光二极管 (LED)的显示器、LED背光IXD显示器、阴极射线管(CRT)显示器、电致发光(ELD)显示器、电子纸/墨水显示器、等离子显示面板、有机发光二极管(0LED)显示器、薄膜晶体管(TFT)显示器、高性能定址(HPA)显示器、表面传导电子发射显示器、量子点显示器、干涉调制器显示器、体扫描显示器、碳纳米管显示器、变焦镜显示器、发射波长显示器、激光显示器、全息显示器、光场显示器、投影仪和可以投影图像的表面(包括直接在用户102的植入式人造眼睛视网膜等眼睛视网膜上的投影),或用于输出视觉信息和/或使用户102产生对视觉信息的存在的知觉的任何其它电子设备。
[0027]如上文所述,显示器130可以接收并执行来自CPU120的指令以显示一个或多个图像,比如键盘图像140。键盘图像140可以包括一个或多个按键的图形插图、形状或图标,其代表不同的数据输入和计算机功能。按键可以代表字母数字字符,该字母数字字符包括输入处理器122中以响应合适按键的选择的符号和表情符;或者代表由处理器122响应合适按键的选择而执行的功能。在一些实施例中,键盘图像140可以包括以网格图案,或以适合用户102的需求布局的设置。在一些实施例中,键盘图像140可以包括QWERTY键盘、数字键盘、 功能键、媒体控制件,以及基于用户102的数据输入和功能需求所需的任何其它类型的按键中的一个或多个图1B为展示系统的另一示例的图,该系统可以使用检测出的来自用户102的一个或多个手指106和/或一个或两个手104的非接触式手势、姿势和运动以实现所公开的实施例。图 1B描述了在可穿带设备150中体现的系统100。如图所示,该设备150可以包括一个或多个传感器160、CPU170,和一个或多个显示器180。虽然所示的设备150为用户102头部佩戴的一副眼镜,但设备150可以采取被配置成由用户102穿戴的(例如,连接至衣物)、能够向用户102 呈现比如键盘图像140等视觉内容的其它形式。为了下文论述的目的,设备150描述为图1B 中所示的眼镜。此外,在此不详细描述便携式设备的共同部件(例如,电池)。
[0028] 相对于图1A中的传感器110,传感器160可以包括上文所述的任何一种或多种传感器类型和构造。特别地,对于图1B所示的可穿戴式构造,取决于传感器160的类型,传感器 160可以设置在设备150的中心,在设备150的侧边、在设备150的一个或多个角落,或设备 150上适于放置传感器160的任何位点。在一些实施例中,可以将多个传感器160设置在该设备150上。[〇〇29] 相对于图1A中的CPU120,CPU170可以包括与上文所述的那些部件类似的部件,比如处理器122和存储器124。例如,在图1B所示的可穿戴式构造中,该CPU170可以设置在设备 150的眼镜框之上或之内。在一些实施例中,CPU170可以为与设备150有线或无线通信的外部设备。
[0030] 设备150可以包括一个或多个显示器180,比如在设备150的一个或两个眼镜镜片上的显示器180。相对于图1A中与可穿带设备兼容的显示器130,显示器180可以包括与上文所述的那些显示器类似的任何合适的显示器类型。在一些实施例中,显示器180可以包括投影仪,该投影仪将图像直接投影在用户102的眼镜的瞳孔上。在其它实施例中,该显示器180 可以将图像显示在设备150的一个或两个镜片上或前面,以产生增强现实的假象,使得用户 102感知显示的图像如同浮现在空中,处于用户102的前面。
[0031]图2举例说明了根据所公开的一些实施例的用于非接触式数据输入的示例过程 200。在一些实施例中,该过程200可以使用检测出的打字动作以触发显示在虚拟键盘上的按键的选择。所检测的打字动作可以包括用户102在空中移动他的或她的手指106以触发按键的选择,同时虚拟键盘位于用户102的手指106的一段距离处。即,所检测的打字动作涉及空中的运动,该运动不接触显示或投影虚拟键盘的表面。在此描述的过程200由传感器110、 CPU120的处理器122,和显示器130执行,但在一些实施例中,过程200的一些步骤可以由 CPU120的处理器122之外的处理设备执行。此外,在一些实施例中,可以使用包括多个处理器的分布式计算机系统执行的一个或多个步骤,比如处理器122执行过程200的至少一个步骤,并且在联网设备比如移动电话中的另一处理器执行过程200的至少一个步骤。此外,在一些实施例中,可以使用云计算系统执行过程200的一个或多个步骤。[〇〇32] 在步骤202中,该处理器122可以命令设备,比如显示器130显示键盘的图像。显示器130可以通过显示键盘的图像,比如键盘图像140,进行响应。所显示的图像可以包括多个按键。键盘图像140可以显示在有形显示设备比如LCD屏幕上,直接投影在用户102的眼睛上、通过使用全息技术等显示在空中并与有形设备或表面隔开,或使用任何其它合适的显示技术显示。[〇〇33]在步骤204中,处理器122可以接收由传感器110收集的传感器数据,包括来自上述类型的一个或多个传感器110的数据。在一些实施例中,该处理器可以被配置成执行包括接收来自至少一个传感器的、用户的手的传感器数据的操作,所述用户的手与锁显示的键盘隔开一段距离的且与所显示的键盘不接触。例如,传感器数据可以包括与键盘图像140隔开一段距离且与所显示的键盘图像140不接触的用户102的手104和手指106的图像。图像可以包括传感器110捕获的一种或多种模拟图像、传感器110捕获或确定的数字图像、传感器110 捕获的数字或模拟图像的子集、由处理器122进一步处理的数字信息、传感器110感应到的数据相关信息的数学表达式或变形、以视觉信息(例如代表图像的频率数据)呈现的信息、 概念信息(例如对象在传感器视野中的存在)。该图像还可以包括指示在捕获图像期间的传感器的状态、及其参数(例如曝光、帧频、图像分辨率、颜色比特分辨率、深度分辨率和传感器110的视野)的信息,包括在捕获图像期间来自其它传感器的信息(例如接近传感器信息、 加速计信息)、描述进一步处理以进一步捕获图像的信息、捕获图像期间的照明条件、传感器110从数字图像中提取的特征或与传感器110感应到的传感器数据有关的任何其它信息。 此外,“图像”可以包括与静止图像、动作图像(即,视频),或任何其它可视化数据有关的信息。在一些实施例中,所接收的来自一个或多个传感器110的传感器数据可以包括动作书、 GPS位置坐标和/或方向矢量、视线信息、声音数据,以及可由不同类型传感器110测量的任何数据类型。在一些实施例中,传感器数据可以包括通过结合分析来自2个或更多个传感器 110的数据获得的度量。[〇〇34]在步骤206,所述处理器122可分析所接收的传感器数据以识别与非接触式打字和数据输入相关的动作、姿势,和手势。在一些实施例中,处理器还可以被配置成执行操作,包括基于所接收的图像,追踪与所显示的键盘图像有一段距离的在空中的用户的手的一个或多个手指。在一些实施例中,所述处理器122可以通过使用一种或多种已知的数据分析方法,例如基于按时间排序接收的传感器数据(比如一系列图像)的图像分析和对象在三维空间中的动作追踪,分析传感器数据。所述处理器122可以将传感器数据与存储在存储器124 等的预定运动、手势、方位和姿势的数据库行比较。步骤260可以包括在传感器数据中确定并追踪对象运动(步骤207)、确定传感器数据中个一个或多个手104和/或一个或多个手指 106的位置和/或位置变化(步骤208),或确定手方位(步骤209)中的一个或多个。步骤207、 208和209可以包括在所接收的传感器数据中识别用户的个别手104和手指106,并且在所接收的一系列按时间排序的传感器数据中追踪识别的对象的运动、位置和方位。例如,如图1A 所示,所述处理器122可以接收来自传感器110的用户102的手104(包括所述处理器122识别为“A”、“B”、“C”、“D”和“E”的五个手指106)的图像数据。随着传感器110捕获数据,比如图像数据,所述处理器122可以及时确定用户102的手104的一些或所有手指A-E在运动、位置和方位变化中的至少一个变化,以便追踪在空中与所显示的键盘图像有一段距离的一个或多个手104和一个或多个手指106。在一些实施例中,使用传感器比如2D摄像头所确定的变化可以包括在二维平面的变化。在一些实施例中,使用如下传感器确定的变化可以包括在三维空间中的变化:单个传感器110比如3D摄像头,或传感器110的组合比如2D摄像头与深度传感器,或图像传感器和接近传感器,或线性传感器和基于“飞行时间”的接近传感器的组合,或立体摄像头或包括可以在3D空间中提取用户的手、手指、指尖的位置的一个或多个传感器的任何系统。
[0035]在此使用的“运动”可以包括空间中的三维路径、速度、加速度、角速度、运动路径,及用户102的手104和手指106的物理位置或位点的变化的其它已知特征中的一个或多个。
[0036]在此使用的“位置”可以包括在三维空间中的一个或多个维度内的位点,比如对象相对于传感器110的位点的X、Y,和Z轴坐标。位置还可以包括相对于在所接收的来自传感器110的传感器数据中检测出的另一对象的位点或距离,比如,在图1A所示的示例中,手指“B”的位点相对于手指“A”的位点。在一些实施例中,位置还可以包括一个或多个手104和/或手指106相对于用户102的身体的位点,其指示用户102的体位。
[0037]在此使用的“方位”可以包括一个或多个手104或一个或多个手指106的布局,包括手104和手指106指向的位置或方向。在一些实施例中,“方位”可以涉及所检测的对象相对于所检测的另一对象、相对于传感器110的检测领域,或相对于所显示的设备或所显示的内容的检测领域的位置或方向。
[0038]在此使用的“姿势”可以包括在固定点及时确定的手104和/或一个或多个手指106的布局,以及手104和/或一个或多个手指106相对彼此定位的预定布局。在一些实施例中,示例手104的姿势可以包括手张开并且手指106展开,比如布局成在键盘上打字。另一示意性的手势可以包括手大致合拢并且一个或两个手指伸展,比如布局成操作计算机鼠标。其它示意性手势可以包括,例如,手大致朝下展开并且两个或更多个手指分开,如同放置在有形键盘上,和手朝下并且两个或更多个手指大致弯曲,如同放置在有形计算机鼠标上。
[0039]在此使用的“手势”可以包括使用所接收的来自传感器110的传感器数据检测检测出/识别的预定义的运动模式。在此使用的“使用传感器数据”可以包括分析所接收的来自传感器110的原始传感器数据和/或分析从原始传感器数据延伸的一个或多个度量。在一些实施例中,手势可以包括与识别的预定义运动模式对应的预定义手势。该预定义手势可以涉及指示操作可激活对象的运动模式,比如键入键盘按键、点击鼠标按钮,或移动鼠标外壳。在此使用的“可激活对象”可以包括当任何所显示的视觉代表,当选定或操作该视觉代表时,导致数据输入或执行功能。在一些实施例中,视觉代表可以包括图像条目或所显示图像比如键盘图像140的部分、虚拟按键、虚拟按钮、虚拟图标、虚拟旋钮、虚拟开关,和虚拟滑块。
[0040]预定义手势可以为,例如,在可激活对象上的滑动动作、执行两个手指的对捏动作,或指向该可激活对象、从左到右的手势、从右到左的手势、向上的手势、向下的手势、推送手势、打开握紧的拳头、打开握紧的拳头并移向传感器8(也被称为“爆炸手势”)、敲击手势、推送手势、挥舞手势、拍手手势、反向拍手手势、将手紧握成拳、捏紧手势、反向捏紧手势、展开手上的手指手势、反向展开手上的手指手势、指向可激活对象、在可激活对象处保持活动对象以一段预定义的时间、点击可激活对象、双击、点击右侧、点击左侧、点击底部、点击顶部、抓住对象、从右侧向对象做手势、从左侧向对象做手势、穿过对象、推送对象、在对象上鼓掌、在对象上挥舞、执行爆炸手势、执行敲击手势、在用两个手指抓住可激活对象的对象上执行顺时针或逆时针手势、执行单击拖动释放手势,或滑动图标(比如音量条)。滚动命令的速度可以取决于滚动动作的速度或加速度。可以同时使用不同的活化对象,如不同的手或手指,或者同时使用不同的手势来激活两个或更多个激活对象。
[0041]再次参考图2,在步骤210中,处理器122可以使用确定的运动、位置,和方位以关联检测出的一个或多个手指106与在所显示的键盘图像140中的一个或多个按键。在一些实施例中,该处理器可以进一步被配置成执行包括关联一个或多个手指在空中的位点与多个按键的图像。显著地,对于在步骤210中使处理器122关联手指106与键盘图像140的按键,基于与在空中的手指106相关的传感器数据执行手指106和键盘图像140的按键之间的关联并且不需要手指106接触键盘图像140的任何指示。在图1A所示的示例中,手指A-E与键盘图像140中标记为按键A-E的5个按键关联。注意,图1A中的按键A-E不是用于输入字母数字字符“A”、“B”、“C”等的按键,而是处理器122基于所检测的在空中的手指A-E的运动、位置/位点,和/或方位指示对应标记为A-E的手指的按键。
[0042]再次参考图2,在步骤212中,处理器122可以基于在空中的一个或多个手指106的关联位点,并且在满足预定义条件,同时该一个或多个手指106与一个或多个按键保持关联时,选择键盘图像140中的一个或多个按键。在一些实施例中,该处理器可以进一步被配置成执行包括从键盘图像中选择按键的操作,该操作基于在空中的一个或多个手指的关联位点和由用户执行的预定义手势的检测,其中预定义手势可能与预定义条件对应。该预定义条件可以为,例如,在手指106保持与特定按键关联期间的预定义时间段和/或由手指106执行的预定义手势的检测、手指106在特定按键上移动的检测,以及在特定按键上改变运动方向,或改变与特定按键有关的运动方向,或检测到指示字开始、字结尾的手势,或连接指示字结尾的字之间的空格,或任何其它合适的预定义条件。例如,处理器122可以检测一个或多个手指106在键盘图像140的按键上的写字运动,并且检测由拇指执行的“敲击”手势比如字后的“空格”(这也指示字结尾)。通过使用在所接收的传感器数据中检测出的动作特征和手势,所述处理器122可以准确并快速地输入非接触式打字数据,而不需要与设备和/或触摸屏进行物理接触。
[0043]在一些实施例中,所述处理器122可以通过检测在所接收的传感器数据中的手104和/或手指106的动作路径选择在键盘图像140中的一个或多个按键并且基于所检测的动作路径确定在键盘图像140上的手104和/或手指106位点的顺序。该处理器122可以基于下面的因素使所检测的动作路径和/或确定的位点顺序与一个或多个字相关,例如,与键盘图像140上的按键相关的对应字符的顺序、语言信息比如字或词数据库、关于常用字和/或词的统计数据,和/或由处理器122随时间收集的用户102的统计学习数据(包括频繁的动作路径,特别是针对用户102的,和打字习惯包括频用字、词语,和与用户102存储在存储器124中相关的打字错误)。
[0044]作为另一示例,在一些实施例中,预定义条件可以包括检测手指106在3D空间中的位点放置至少预定义时间,比如手指106在关联按键上悬停3秒。作为另一示例,在一些实施例中,预定义手势可以包括朝所显示的键盘图像140的敲击动作(指示点击或打字动作)。
[0045]一旦满足预定义条件,就执行与选定的按键相关的各命令。在步骤214中,处理器122可以记录与选定的一个或多个按键对应的数据输入。该数据输入可以包括字母数字字符比如与选定的按键相关的字母、数字,或符号,和选定的按键相关的计算机功能,或字符和功能的组合。重复过程200的步骤可以允许使用非接触式数据输入进行多个字符和/或功能的输入,因此能够进行非接触式打字。
[0046]键盘模式和鼠标模式
在一些实施例中,键盘图像140的版本可以包括虚拟鼠标,其形状和构造与本领域普通技术人员已知的计算机鼠标外围设备类似。但是,在非接触式系统中,虚拟鼠标和虚拟键盘的组合使用存在一些挑战。例如,当使用传统的有形键盘和鼠标时,用户的手在键盘和鼠标之间有形地移动,以通过键盘来输入数据和操作鼠标之间转换从而执行各种操作。但是,在具有虚拟键盘和虚拟鼠标的非接触式环境中,不存在有形键盘或有形鼠标。为了使键盘至鼠标的虚拟转换合理化,在一些实施例中,可以通过处理器122识别手势以确定在一瞬间手104在打字,而下一瞬间可能无缝地用于控制光标移动。该处理器可以进一步被配置成显示虚拟鼠标的图像,该虚拟鼠标具有一个或多个可激活的鼠标按钮和/或虚拟鼠标光标以选择并点击与用户有一段距离的一个或多个图标或所显示的对象,并且检测至少一个第一手势和至少一个第二手势,或至少一个第一组手势和至少一个第二组手势。在此使用的手104打字的瞬间被称为“键盘模式”,并且手104操作虚拟鼠标的瞬间被称为“鼠标模式”。该处理器可以在检测出第一手势时启用键盘模式,以从所显示的键盘中选择至少一个按键,并且在检测出第二手势时启用鼠标模式,以操作虚拟鼠标。在一些实施例中,该处理器可以通过在第一手势和第二手势之间改变使用户能够在键盘模式和鼠标模式之间切换。
[0047]图3展示了根据所公开的一些实施例的键盘模式和鼠标模式的图形表示。如图3所示,处理器122可以通过检测不同的手势,比如第一手势310和第二手势340,区分键盘模式320和鼠标模式370。例如,当处理器122分析所接收的传感器数据并且确定用户102通过使其手104成形为手大致张开且手指106展开而形成第一手势310时,则所述处理器122可以进入键盘模式320,并且引起显示器130在键盘模式界面330显示键盘。所述处理器122可以持续处理所接收的传感器数据以基于所检测的手势(比如点击或打字手势)从所显示的键盘选择一个或多个按键以进行数据输入。在一些实施例中,显示器130可以显示与用户102的手104对应的一个或多个虚拟手的图像,以展示用户102的手104相对于键盘模式界面330中的键盘图像140所处的位置,从而便于更准确和愉快地进行数据输入。所显示的虚拟手可以根据所检测的用户102的手104的运动而移动,并且指示个别手指在特定按键上的定位。例如,通过将虚拟手上的虚拟手指放置在与手指106关联的各按键上,所显示的虚拟手可以展示手指106的位置为坐落在键盘图像140中一些按键的顶部上。在一些实施例中,键盘图像140可以包括用于展示定位在一个或多个按键上的一个或多个手指106的任何其它合适的视觉表示,比如通过加亮与一个或多个手指106位点关联的一个或多个按键。
[0048]如果所述处理器122检测出用户102已经将其手势从第一手势310改变为第二手势340(转变350),例如,通过使其手104成形为大致合拢的手和/或一个或多个手指106伸展并且大致向上指的手,则所述处理器122可以从键盘模式320转换成鼠标模式370(转变360)从而命令显示器130从键盘模式界面330转变(380)至鼠标模式界面390,从而在用户102的一段距离处显示虚拟的鼠标图像。在一些实施例中,当处理器122检测出一只手104相对于另一只手104的方位变化时,比如当用户102向右/左/上/下移动一只手104而另一只手大致保持在相同位置(指示用移动的手104操作鼠标,而不动的手104保持在键盘上)时,该处理器122可以从键盘模式320转换成鼠标模式(转变360)。
[0049]当在鼠标模式370中时,所述处理器122可以实时持续分析传感器数据以基于手104和手指106的运动和手势操作虚拟鼠标,从而移动虚拟鼠标或虚拟光标,选择在虚拟鼠标上的一个或多个按钮,和/或点击一个或多个所显示的可激活对象,比如一个或多个所显示的图标。在检测到用户102转换回第一手势310时,该处理器122可以从鼠标模式370转变回键盘模式320(反向转变360),并且命令显示器130从鼠标模式界面390转换回键盘模式界面330(反向转变380)。
[0050]按键区域尺寸
在传统的有形键盘上,许多按键的尺寸大致相同,这对有形键盘是实用的,但会给虚拟键盘,特别是非接触式数据输入带来问题。特别地,在虚拟键盘中按键尺寸均一可以导致手难以到达键盘区域或较频繁用按键的区域的错误增加,因为有时这些错误是通过选择接近按键而非意图按键而产生的。在一些实施例中,可以通过相对于其它按键修改与一些或所有键盘按键对应的空间降低错误率。在一些实施例中,该处理器可以被配置成将空间区域分配给在键盘上的字母数字按键,并且分配给每个按键的空间区域的尺寸可以根据标准而变化,该标准包括按键预期使用频率,和用户102的手104和手指106的动作特征。
[0051]在一些实施例中,该处理器122可以将不同尺寸的空间区域分配给键盘图像140中的一些按键并对其进行修改。为了清楚起见,所显示的键盘图像140不在修改的按键区域尺寸的基础上改变外观。相反,所述处理器122可以分配在传感器310的视野内围绕用户102的手104和/或手指106的各种形状和规格的空间区域。例如,在一些实施例中,所分配的区域可以设置在传感器110的视野内并且与空间中的位置比如手104首次出现在打字时段的地方或最后键入的按键的位点相关。
[0052]在一些实施例中,针对键盘图像140中一个或多个按键,该处理器122可以基于将被选择的下一按键的概率而动态地修改一个或多个按键区域尺寸,尽管显示在显示器130上的键盘图像140的按键尺寸保持不变。该处理器122可以根据一个或多个因素修改所分配的按键区域,该一个或多个因素包括,例如,某按键接下来会被选择的可能性、某按键的选择频率、到达某按键的预定难度、越过按键的风险、手指悬停在按键上的检测,或基于词完成算法(word complet1n algorithm)的某按键接下来会被选择的可能性。
[0053]在一些实施例中,该处理器122可以使用一个或多个用户的非接触式打字活动的历史数据将空间区域分配给按键。在其它实施例中,该处理器122可以基于传感器110收集的用户102非接触式打字活动的数据动态改变按键区域尺寸。例如,在一些实施例中,该处理器122可以将空间区域分配给键盘上的字母数字按键,空间区域的尺寸根据包括按键预期使用频率的标准而变化。作为另外的例子,在一些实施例中,该处理器122可以基于接下来将选择的特定按键的预测动态地改变分配给特定按键的空间区域。作为另外的例子,在一些实施例中,该处理器122可以基于在按键图像中特定按键的位点,比如沿键盘的边缘、在键盘的拐角处、远离键盘的中心,或相比靠近常见键盘手部署的按键被认为是相对难以到达的其它位点等,动态地改变分配给特定按键的空间区域。作为另一实例,在一些实施例中,该处理器122可以基于预定的或观察到的打字错误率将空间区域分配给特定按键或按键组。例如,该处理器122可以增加分配给一个或多个按键的一个或多个区域,该一个或多个按键可能为频繁打字错误的主体比如错误地选择特定按键的下一按键或越过该特定按键。在一些实施例中,该处理器122可以使用手动打字纠正频率或使用词完成算法观察特定按键的一个或多个错误率。在一些实施例中,该一个或多个错误率可以针对一个或多个按键预编程序。
[0054]如图4所示,键盘图案140可以包括多个按键,比如与字母表的数据输入对应的4个示意性按键,包括“E”按键、“X”按键、“G”按键和“N”按键,图4提供这些按键的未修改版本和已经修改以便于更准确地进行数据输入检测的版本之间的比较。如图所示,所展示的手周围的虚线框表示空间区域中分配给4个按键中每一个按键的区域部分。四个按键中每个按键的实体框代表与键盘图案140中显示的按键尺寸直接对应的未修改区域,包括E区域40 2、X区域406、G区410,和N区域414。四个按键中每个按键的虚线框代表由处理器122分配给四个按键中每个按键的各种尺寸和形状的修改后区域,以便于更准确地进行数据输入检测。该修改后的分配区域包括修改后E区域404、修改后X区域408、修改后G区域412,和修改后N区域416。
[0055]在一些实施例中,该处理器122可以分配包括偏离原按键空间的空间的修改后区域。例如,修改后E区域404偏向E区域40 2的左下方。该修改可能是由于,例如,将手放置在修改后E区域404而意图通过E区域402选择E按键的历史。因此,为了补偿无意越过所需按键(下文将更详细讨论),该处理器122可以产生偏离式分配区域,比如修改后E区域404。此外,在一些实施例中,频繁选择按键的偏离式分配区域可以比原按键区域大,如比E区域402更尚的修改后E区域404所不。
[0056]在一些实施例中,该处理器122可以识别较不频繁选择的一个或多个按键,比如图4中所示的对安键。X区域406代表与)(按键对应的未修改的空间区域,并且在一些实施例中,该处理器122可以分配较小的修改后X区域408,当选择修改后X区域408时,触发字母“X”的输入。显著地,修改后X区域408的所有尺寸小于X区域406,因此,在该实施例中,X按键的选择会要求更用户102较为谨慎和精确的努力。该处理器122可以将较小的修改后区域分配给较不频繁使用的一个或多个按键,并且将原按键区域的部分重新分配给要求较大和/或偏离式区域的按键。
[0057]在一些实施例中,该处理器122可以根据接下来会选定的一些按键的可能性动态地修改一个或多个分配的按键区域。例如,该处理器122可以在不修改周围按键区域或在修改周围按键区域的情况下,将较大区域分配给被认为是接下来可能选择的按键。但是,在一些实施例中,键盘图像140可以保持未修改,并且仅修改空间中看不见的分配区域。该处理器122可以采用一种或多种方法以确定接下来选择特定按键的可能性,比如当手指在一定时间仍然或已经停止移过按键时确定手或手指悬停在特定按键上方。
[0058]在一些实施例中,该处理器122,可以将扩大的区域分配给比起其它按键历史上较频繁选择的按键。如图4所示,修改后G区域412比G区域410在所有尺寸上更大。通过扩大分配给较频繁选择按键的区域,提高数据输入的准确性,因为较频繁选择的按键将被选择的可能性较高,甚至在用户102的手指106位于该按键附近时。
[0059]取决于所显示的键盘的形状和布置,一些按键可能比其它按键更难以到达。例如,当用户102的手104位于所显示的键盘的中心时,该键盘的边缘或拐角周围的按键可能较不易接近并且要求较多努力以到达并且选择。在一些实施例中,该处理器122可以通过分配较大区域给较难到达的按键以补偿这些按键。此外,在一些实施例中,该处理器122可以改变分配给难以达到的按键的区域的形状。如图4所示,N按键位于所显示的键盘的右下角并且当用户102的手104靠近所显示的键盘的中心时,相比,例如所显示的E、G,和对安键,较难到达。该处理器122可以改变分配给N按键的N区域414,从而产生修改后N区域416。如图所示,修改后N区域416比N区域414在尺寸上更大,并且具有修改后形状比如有角或弯曲边缘,以便于按键的选择。
[0060]确定意图按键
当在半空中移动一个或多个手指时,用户通常难以控制手指的动作以精确地停止在分配给意图按键的空间区域内。结果,用户102的手指106可能越过分配的空间,这可能导致打字错误。为了避免越过可能导致的错误,在一些实施例中,该处理器122可以要求用户102将手指106悬停在意图按键的分配区域中,比如在所显示键盘图像的意图按键上方或附近悬停一定时间段,以使该处理器122确认该意图按键。
[0061]为了检测悬停,该处理器122可以分析所接收的来自传感器110的信息以检测移动手指106的速度并且使速度变化与悬停手势相关。该处理器122可以确定与悬停相关的按键。例如,该处理器122可以使用手指106的空间中的确定位置以确定与手指106悬停的空间区域相关的按键。在一些实施例中,该处理器122也可以采用一种或多种算法以确定可能的意图按键(例如,指定用于确定按键是否接近悬停手势的位置的阈值的算法)。
[0062]此外,在非接触式打字系统中,由于传感器数据捕获和处理之间的延迟、或人类大脑处理所显示图像(比如移过所显示的键图像140(如图3所示及其讨论)的虚拟手图像)所花费的时间的延迟,可能存在系统滞后。在系统滞后期间,该用户可能会导致认为手指需要保持运动以选择按键或图标,而实际上另外的运动会导致手指越过该按键。这可能引起用户选择错误的按键。在一些实施例中,该处理器122可通过确定用户可能的意图并显示意图运动而非实际运动考虑系统滞后。
[0063]在一些实施例中,该处理器122可以通过使用所接收的传感器110信息中的一个或两个手104和/或一个或多个手指106的一个或多个动作特征,确定用户102可能的意图,来预测将被选择的下一按键,以避免越过。例如,传感器110可以分析所接收的来自传感器110的图像并且确定一个或多个动作特征,比如动作矢量、动作速度、速度变化、动作中一个或多个的手104和/或一个或多个手指106的加速和减速、一个或多个手104和/或一个或多个手指106的方位的变化,一个或多个手指106指尖相对于其它手指106指尖和/或相对于手104中心的动作速度或路径。
[0064]在一些实施例中,该处理器122还可以使用下列中的一个或多个来确定可能意图:大脑处理视觉反馈的预定量的估计时间、处理器122处理所接收的传感器110数据(比如所接收的图像)的预定或计算量的时间、或所选择的在前按键的历史。例如,当检测出的动作矢量高于某一水平或阈值,比如当处理器122检测到一个或多个手指106的运动时,该处理器122可以使得显示器130向用户102提供视觉反馈,比如加亮键盘图像140上关联手指106方位的一个或多个按键。该处理器122可以基于动作矢量预测可能的按键,以识别在最近的将来(例如,下几毫秒)很可能有关联的按键。该处理器122可以在手指106实际放置在可能的按键上方之前,命令显示器130加亮可能的按键,以考虑处理系统中固有的系统滞后,并且考虑用户102的任何脑力滞后。脑力滞后可以包括,例如,图像显示在显示器130上的时间和用户102头脑识别并理解所显示图像的时间之间的少量时间延迟。当用户102查看虚拟手移过键盘图像140,但用户102不立即记录虚拟手的准确位置时,可能存在脑力延迟,使得用户102过度补偿或可能越过该意图按键。通过在手104或手指106到达可能的按键的实际位置之前的小间隔处选择并且加亮可能的按键,可以使系统和脑力滞后的负面影响最小化。
[0065]作为另一示例,该处理器122可以使显示器130沿动作矢量路径的方向显示一个以上的加亮按键,使得用户102在实际到达意图按键之前感知“到达”该意图按键,因此用户102会停止移动手指106,以使对该意图按键的越过程度最小化。例如,显示器130可以沿检测的运动路径加亮两个按键-与检测出的手指106位置对应的“当前按键”,和可能的下一按键。提早加亮意图按键的时机可以取决于多个因素,包括系统滞后和人类大脑处理所显示图像花费的时间的滞后(即,脑力滞后)、检测出的速度、动作矢量、键被选定的可能性,和用户102的“动作行为”,比如用户102随时间变化的打字习惯,比如常见错误、常选按键,和常用动作特征。
[0066]在一些实施例中,该处理器122可以学习用户102的特定“动作行为”,并且使用从用户的“动作行为”提取的信息来提供视觉反馈(例如,键盘上的加量按键),以避免越过这些意图按键。“动作行为”参数可以包括,例如,越过特定按键的平均距离,和越过键盘图像140的位置。越过距离可以包括增加到可能的下一按键的按键区域尺寸的空间区域、增加检测出的动作矢量的方向上的空间区域。例如,如果手指106朝可能的按键移至右侧,该处理器122可以将越过距离增加到分配给可能的按键的区域的右侧。
[0067]在一些实施例中,该处理器122可以基于,例如最后键入的按键与预期词或短语中的可能的下一按键之间的距离确定越过距离。例如,如果该处理器122确定用户102可能键入词“时间(time)”,该处理器122可以计算在键盘图像140上“t”、“i”、“m”和“e”按键之间的一个或多个越过距离。如果键盘图像140包括标准的QWERTY键盘,该处理器122可以基于按键“t”和“i”(3个按键隔开)之间的距离,和/或用户102在“t”后键入“i”的历史准确度计算“t”和“i”按键之间的第一越过距离。接着该处理器122可以基于距离(2个按键隔开)和/或用户102在“i”后键入“m”的历史准确度计算“i”和“m”按键之间的第二越过距离。最后,该处理器122可以基于距离(4个按键隔开)和/或用户102在“m”后键入“e”的历史准确度计算“m”和“e”按键之间的第三越过距离。在一些实施例中,计算出的越过距离可以与按键距离和历史准确度有直接的关系。即,该处理器122可以计算在键盘图像140中较靠近的两个按键的较小越过距离,并且计算用户历史上准确键入的按键的较小的越过距离。
[0068]可以使用已知的图像和动作数据分析方法确定动作特征,并且基于确定的动作特征确定手104或手指106最可能的意图位置。使用所确定的动作特征,该处理器122可以识别一可能的按键作为按键用户102接下来意图要选择的按键,并且选择该可能的按键,即使在该处理器122确定用户102选择了非该可能的按键的另一按键时亦是如此。
[0069]在一些实施例中,该处理器122可以在用户102正在键入时预测下一按键。该预测可以使用以下中至少一种:词完成算法,以及利用与用户的手104或一个或多个手指106的至少一个位点相关联的信息而选择的在前按键。该处理器122可以采用已知的词完成算法,但在一些实施例中,该处理器122采用词完成算法连同所接收的传感器110的信息,来预期下一按键,以增加按键预测准确度。例如,该处理器122可以使用以下中至少一种来预测下一按键:词完成算法,和使用与用户102的手104的位点或一个或多个手指106的位点的至少一个位点变化相关联的信息而选择的在前按键。作为另一个例子,处理器122可以使用以下中至少一种来预测下一按键:词完成算法,和使用与用户102的移动的手104的一个或多个动作特征相关联的信息的先前所选按键。
[0070]在一些实施例中,该处理器122可以被配置成在词完成之前利用词完成算法确定用户正在键入的可能的词/短语,并且命令显示器130显示该可能的词。在一些实施例中,该可能的词/短语可以包括合适的名字、谤语,和口号、标题(如音乐专辑或电影的标题)。处理器122可以监测所接收的传感器110的信息以识别指示用户102对可能的词的接受或拒绝的手104的方位。在一些实施例中,识别以接受/拒绝可能的词的手方位可以包括一个或多个手104或手指106的固定姿势,或一个或多个手104或手指106的动态手势。例如,该处理器122可以在确定可能的词并命令显示器130显示该可能的词之后确定用户将手104放置在第一方位,该第一方位预定义为代表接受所显示的可能的词。在一些实施例中,当处理器122识别比如用户102将手104移开用户102身体,或用户102在“向下敲击”动作中向下移动手102或多个手指的手势时,该处理器122可以确定用户102接受该可能的词。在一些实施例中,当处理器122识别出用户102从用户102身体移开手或用户102在“向上敲击”动作中向上移动手104或多个手指的手势时,该处理器122可以确定用户102拒绝该可能的词。手的方位和手势的示例是非限制性的并且用于接受或拒绝可能的词的其它方位或手势可以由用户在设定或学习过程预编程序或限定。接着,该处理器122可以基于识别的手104的第一方位完成可能的词,而不要求进一步的打字输入。
[0071]例如,该处理器122可以在确定可能的词并命令显示器130显示可能的词之后,确定用户102将手104放置在第二方位,该第二方位预定义为代表拒绝所显示的可能的词。该处理器122可以结束显示该可能的词并且持续监测所接收的来自传感器110的信息以进行打字输入,和/或可以基于词完成算法确定第二可能的词并显示该第二可能的词。
[0072]触发键盘显示
为了发起与虚拟键盘的交互,在一些实施例中,当用户102的手104抬升至预定义位置集之一时,该处理器122可以命令显示器130自动显示键盘,该预定义方位集比如一个或多个手104抬升的打字位置、一个或多个手指106展开,手104抬升并且彼此靠近放置,一个或多个手104抬升至传感器110的平面,或一个或多个手处于抬升位置且手方位与地板平行。该功能使得系统能够忽略键盘的显示,并且可仅在需要时获得,从而省电并且增加用户102和系统100的交互水平。在一些实施例中,该处理器122可以持续处理所接收的来自传感器110的信息以检测在传感器110的视野内用户102的存在,并且检测一个或多个手104的位置和运动。在一些实施例中,当该处理器122检测到一个或多个手104从较低位置移动至抬升位置,比如从用户102两侧向上抬升手104并且高于预定高度阈值,比如腰部或胸部水平,由于检测到至少一个抬升的手,该处理器122可以命令显示器130显示键盘图像140。在一些实施例中,当一个或多个抬升的手104降低时,比如当用户102将一个或多个手140从腰部或胸部下降至用户102两侧,或在预定高度阈值以下时,该处理器122可以命令显示器130结束显示键盘图像140。在一些实施例中,在检测到降低的手之后,该处理器122可以将结束显示键盘图像140的命令延迟预定时间段,以确认用户102通过使一个或多个手104降低结束显示的意图。该传感器122可以基于仅检测一个手触发键盘图像140的显示,或要求检测两个手以从激活的显示状态至未激活显示状态转变,反之亦然。
[0073]在一些实施例中,有必要避免错误解读用户102的意图动作,比如在用户102抬升一个或多个手104而不打算打字时,呈现键盘图像140。在这样的实施例中,该处理器122可以要求满足一个或多个预定义条件以显示键盘图像140和结束键盘图像140的显示。例如,在一些实施例中,可以仅在用户102可获得打字功能时,仅在正在运行的某些计算机应用支持数据输入和打字时,或仅在某些计算机应用支持打字比如在电视机应用中所显示的可搜索的TV电视节目表时才呈现该键盘图像140。在该示例中,在视频回放期间(不支持打字的电视机应用的一部分),尽管用户102提供相同的手方位和位置,该处理器122可以不显示键盘图像140。在一些实施例中,该处理器122可以提供检测出用户102的手放置和/或定向为会触发键盘图像140显示的手势的视觉指示,但不会显示键盘图像140本身。
[0074]键盘行选择
在一些实施例中,当在虚拟键盘上打字时,而不是向前或向后移动手指以在上行或下行中敲打按键的传统动作,可以提高用户移动完整的手以选择上或下行的效率。在一些实施例中,该处理器122可以被配置成选择所显示的键盘的不同部分以进行数据输入检测。例如,该处理器122可以基于特定运动、手势、手位置,或基于在所接收的传感器数据中监测到的手位置检测出的姿势选择第一按键子集。该处理器122可以被配置成基于所监测出的不同的运动、手势、手位置或姿势选择不同的按键子集。在一些实施例中,该按键子集可以为在键盘中的行,或按键块。
[0075]图5A展示了基于检测出的第一动作选择第一和第二按键子集的示例,其中该按键子集为在所显示的键盘512上的第一行506和第二行508,并且检测出的运动为一个或多个手朝所示键盘512的大致水平运动。如图5A所示,当手104在第一位置(比如Hl 512)时,第一行506可以为并非必需以直线设置的按键子集,而是可以包括与用户102的手指106的所监测位置对应的第一多个按键。类似地,当手104在第二位置比如H2 504时,第二行508可以包括与用户的手104或手指106的位点对应的第二多个按键。
[0076]在图5A所示的实施例中,该处理器122可以接收来自传感器110的与用户102的手104从第一位置H1502移动至第二位置H2 504的运动相关的传感器数据。该运动可以为大致朝向或远离所显示的键盘512,比如相对于所显示的键盘512沿Z轴的大致水平运动。在检测出向前运动后,该处理器122可以将按键的选择从第一行506转变至第二行508(转变510)。在转变之后,该处理器122可以使显示器130改变所显示的键盘512,比如通过以图形说明第二行508的选择。在图5A所示的示例中,黑圆圈出现在该处理器122确定与检测出的手指106方位对应的按键上方。在执行转变510之后,所显示的黑圆圈可以从第一行506移动至第二行508。在其它实施例中,按键图像512可以显示转变510的不同指示,或可以不显示转变510的任何指示。
[0077]显著地,在一些实施例中,第一行506和第二行508可以包括一个或多个常用按键。例如,如果在键盘图像512中的特定按键对应在第一位置Hl 502和第二位置H2 504的手指106时,那么该按键可以包括在第一行506和第二行508中,比如键盘图像512的右栏所示的按键之一。
[0078]在一些实施例中,在检测出从第二位置H2 504至第一位置Hl 502的运动时,比如大致向后远离所显示的键盘512的运动,比如沿Z轴远离所显示的键盘512的水平运动,该处理器122可以选择下行。
[0079]图5B展示了利用第二只手运动的检测进行键盘行选择的另一示例。在图5B所示的实施例中,该处理器122可以接收来自传感器110的与用户102的手104从第一位置Hl 502至第二位置H2 504的运动相关的传感器数据。该运动可以为大致向上或向下运动,比如沿平行于所显示的键盘512的Y轴的竖直运动。在检测到向上运动后,该处理器122可以将按键的选择从第一行506转变成第二行508(转变510)。在转变之后,该处理器122可以使得显示器130改变所显示的键盘512,比如通过图形说明选择第二行508。在图5B所示的实施例中,黑圆圈出现在该处理器122确定与监测的手指106方位对应的按键上。在执行转变510之后,所显示的黑圆圈可以从第一行506移动至第二行508。在其它实施例中,该键盘图像512可以显示转变510的不同指示,或可以不显示转变510的任何指示。
[0080]在一些实施例中,在检测到从第二位置H2 504至第一位置Hl 502的大致向下运动(比如沿平行于键盘图像512的Y轴的竖直向下运动)之后,该处理器122可以选择下行。
[0081 ]在此使用的术语“例如”、“比如”、“举例来说”及其变体描述本发明主题的非限制实施例。在说明书中涉及的“一种情况”、“一些情况”、“其它情况”,或其变体意为特定特征、结构或特性结合实施例进行描述,其包括在本发明的主题的至少一个实施例中。因此,词语“一种情况”、“一些情况”、“其它情况”,或其变体的出现不必然涉及相同的实施例。
[0082]为清晰起见,在本说明书中以单独的实施例为背景描述的特定特征还可能结合在单个的实施例中。相反地,为简洁起见,在以单个实施例为背景描述的各种特征还可能设置在多个独立的实施例或任何合适的次结合方式中。此外,虽然上述特征可能用在特定的组合中,并且甚至初始要求这样,但是要求的组合中的一个或多个特征在某些情况下可以脱离该组合,并且要求的组合可能导向次组合或次组合的变体。
[0083]根据在此所述的实施例的操作可以由为所需目的而专门构造的计算机或由为想要的目的而专门配置存储在非暂时性计算机可读存储介质中的计算机程序的通用计算机执行。
[0084]以上已经描述了若干具体的实施例。其它实施例也包含在所附权利要求的范围内。
【主权项】
1.一种非暂时性计算机可读介质,其包括指令,当通过至少一个处理器执行时,所述指 令使所述至少一个处理器执行操作,所述操作包括:显示键盘图像,所显示的键盘图像包括多个按键;从至少一个传感器接收用户的手的传感器数据,所述用户的手与所显示的键盘图像隔 开一段距离,所述用户的手与所显示的键盘图像是非接触的;使用所接收的传感器数据追踪在空中与所显示的键盘图像有一段距离的用户的手的 一个或多个手指;使所述一个或多个手指在空中的位点与所述多个按键的图像相关联;以及基于所述一个或多个手指在空中的关联位点和由用户执行的预定义手势的检测,从键 盘图像选择按键。2.根据权利要求1所述的非暂时性计算机可读介质,其特征在于,其进一步被配置成使 所述至少一个处理器将键盘图像显示在显示设备上。3.根据权利要求1所述的非暂时性计算机可读介质,其特征在于,其进一步被配置成使 所述至少一个处理器将键盘图像显示在空中、与任何物理设备或表面相分离。4.根据权利要求1所述的非暂时性计算机可读介质,其特征在于,其进一步被配置成使 所述至少一个处理器:将虚拟鼠标图像显示在离用户的一段距离处;检测第一手势和第二手势;当检测到所述第一手势时,启用键盘模式以从所显示的键盘选择至少一个按键;当检测到所述第二手势时,启用鼠标模式以操作虚拟鼠标;以及通过在所述第一手势与所述第二手势之间改变,使用户能够在键盘模式和鼠标模式之 间切换。5.根据权利要求4所述的非暂时性计算机可读介质,其特征在于,所述第二手势为大致 向上指的手指。6.根据权利要求4所述的非暂时性计算机可读介质,其特征在于,所述第二手势为大致 合拢的手。7.根据权利要求1所述的非暂时性计算机可读介质,其特征在于,其进一步被配置成使 所述至少一个处理器将空间中的区域分配给键盘上的字母数字按键,并且其中分配给每个 按键的所述空间中的区域取决于包括按键使用的预期频率的标准而尺寸各异。8.根据权利要求7所述的非暂时性计算机可读介质,其特征在于,其进一步被配置成使 所述至少一个处理器将空间中的较大区域分配给较频繁使用的按键,并且将空间中的较小 区域分配给较不频繁使用的按键。9.根据权利要求7所述的非暂时性计算机可读介质,其特征在于,其进一步被配置成使 所述至少一个处理器基于对接下来将被选择的特定按键的预测而动态地改变分配给该特 定按键的空间中的区域。10.根据权利要求7所述的非暂时性计算机可读介质,其特征在于,其进一步被配置成 当用户的手静止时,使所述至少一个处理器将空间中的较大区域分配给一个或多个按键。11.根据权利要求1所述的非暂时性计算机可读介质,其特征在于,其进一步被配置成 使所述至少一个处理器利用用户移动手的动作特征来预测将会被选择的下一按键,以避免 越过。12.根据权利要求11所述的非暂时性计算机可读介质,其特征在于,其进一步被配置成 使所述至少一个处理器利用词完成算法和在前按键中的至少一个来预测下一按键,所述在 前按键是使用与用户的手或一个或多个手指的至少一个位点相关联的信息而选择的。13.根据权利要求11所述的非暂时性计算机可读介质,其特征在于,其进一步被配置成 使所述至少一个处理器利用词完成算法和在前按键中的至少一种来预测下一按键,所述在 前按键是使用与用户的手的位点或一个或多个手指中的至少一个位点变化相关联的信息 而选择的。14.根据权利要求11所述的非暂时性计算机可读介质,其特征在于,其进一步被配置成 使所述至少一个处理器利用词完成算法和在前按键中的至少一个来预测下一按键,所述在 前按键是使用与用户移动的手的动作特征相关联的信息而选择的。15.根据权利要求1所述的非暂时性计算机可读介质,其特征在于,其进一步被配置成 使所述至少一个处理器选择性地显示键盘图像,并且其中所述键盘图像的显示是通过对至 少一个抬升的手的检测而触发的。16.根据权利要求15所述的非暂时性计算机可读介质,其特征在于,其进一步被配置成 当抬升的手降低时,使所述至少一个处理器结束所述键盘图像的显示。17.根据权利要求1所述的非暂时性计算机可读介质,其特征在于,其进一步被配置成 使所述至少一个处理器监测所接收的传感器数据中的手位置和手指位置,并且其中所监测 的手位置用于确定所选择的键盘行,所监测的手指位置用于确定所选择的按键。18.根据权利要求17所述的非暂时性计算机可读介质,其特征在于,所选择的键盘行是 基于所监测的手位置中代表向前或向后运动的水平动作而确定的。19.根据权利要求17所述的非暂时性计算机可读介质,其特征在于,所选择的键盘行是 基于所监测的手位置中代表向上或向下运动的竖直动作而确定的。20.根据权利要求1所述的非暂时性计算机可读介质,其特征在于,其进一步被配置成 使至少一个处理器在词完成之前确定用户正在键入的可能的词,显示所述可能的词,识别 表征着用户对所述可能的词的接受的手方位,并响应于识别的手方位而接受所述可能的。21.根据权利要求20所述的非暂时性计算机可读介质,其特征在于,所述识别的手方位 包括动态手势。22.根据权利要求1所述的非暂时性计算机可读介质,其特征在于,其进一步被配置成 使所述至少一个处理器在词完成之前确定用户正在键入的可能的词,显示所述可能的词, 识别表征着用户对所述可能的词的拒绝的手方位,并响应于识别的手方位而拒绝所述可能 的词。23.根据权利要求20所述的非暂时性计算机可读介质,其特征在于,所述识别的手方位 包括动态手势。24.—种数据输入设备,包括:至少一个处理器,其被配置成显示键盘图像,所显示的键盘图像包括多个按键;从至少一个传感器接收用户的手的传感器数据,所述用户的手与所显示的键盘图像隔 开一段距离,所述用户的手与所显示的键盘图像是非接触的;使用所接收的传感器数据追踪在空中与所显示的键盘图像有一段距离的用户的手的一个或多个手指;使所述一个或多个手指在空中的位点与所述多个按键的图像相关联;以及基于所述一个或多个手指在空中的关联位点和由用户执行的预定义手势的检测,从键 盘图像选择按键。25.根据权利要求24所述的数据输入设备,其特征在于,其进一步被配置成使所述至少 一个处理器将键盘图像显示在显示设备上。26.根据权利要求24所述的数据输入设备,其特征在于,所述至少一个处理器进一步被 配置成将键盘图像显示在空中、与任何物理设备或表面相分离。27.根据权利要求24所述的数据输入设备,其特征在于,所述至少一个处理器进一步被 配置成:将虚拟鼠标图像显示在离用户的一段距离处;检测第一手势和第二手势;当检测到所述第一手势时,启用键盘模式以从所显示的键盘选择至少一个按键;当检测到第二手势时,启用鼠标模式以操作所述虚拟鼠标;以及通过在所述第一手势与所述第二手势之间改变,使用户能够在键盘模式和鼠标模式之 间切换。28.根据权利要求27所述的数据输入设备,其特征在于,所述第二手势为大致向上指的 手指。29.根据权利要求27所述的数据输入设备,其特征在于,所述第二手势为大致合拢的手。30.根据权利要求24所述的数据输入设备,其特征在于,所述至少一个处理器进一步被 配置成将空间中的区域分配给在键盘上的字母数字按键,并且其中分配给每个按键的空间 中的区域取决于包括按键使用的预期频率的标准而尺寸各异。31.根据权利要求30所述的数据输入设备,其特征在于,所述至少一个处理器进一步被 配置成使得所述至少一个处理器将空间中的较大区域分配给较频繁使用的按键,并且将空 间中的较小区域分配给较不频繁使用的按键。32.根据权利要求30所述的数据输入设备,其特征在于,所述至少一个处理器进一步被 配置成基于对接下来将被选择的特定按键的预测,动态地改变分配给所述特定按键的空间 中的区域。33.根据权利要求30所述的数据输入设备,其特征在于,其进一步被配置成当用户的手 静止时,使所述至少一个处理器将空间中的较大区域分配给一个或多个按键。34.根据权利要求24所述的数据输入设备,其特征在于,所述至少一个处理器进一步被 配置成利用所接收的图像的动作特征,预测将会被选择的下一按键,以避免越过。35.根据权利要求34所述的数据输入设备,其特征在于,所述至少一个处理器进一步被 配置成利用词完成算法和在前按键中的至少一个来预测下一按键,所述在前按键是使用与 用户的手或一个或多个手指的至少一个位点相关联的信息而选择的。36.根据权利要求34所述的数据输入设备,其特征在于,所述至少一个处理器进一步被 配置成利用词完成算法和在前按键中的至少一个来预测下一按键,所述在前按键是使用与 用户的手的位点或一个或多个手指中的至少一个位点变化相关联的信息而选择的。37.根据权利要求34所述的数据输入设备,其特征在于,所述至少一个处理器进一步被配置成利用词完成算法和在前按键中的至少一个来预测下一按键,所述在前按键是使用与 用户移动手的动作特征相关联的信息而选择的。38.根据权利要求24所述的数据输入设备,其特征在于,所述至少一个处理器进一步被 配置成选择性地使得键盘图像得以显示,并且其中所述键盘图像的显示是通过对至少一个 抬升的手的检测而触发的。39.根据权利要求38所述的数据输入设备,其特征在于,所述至少一个处理器进一步被 配置成当抬升的手降低时,使得所述键盘图像的显示结束。40.根据权利要求24所述的数据输入设备,其特征在于,所述至少一个处理器进一步被 配置成监测所接收的传感器数据中的手位置和手指位置,并且其中所监测的手位置用于确 定所选择的键盘行,且所监测的手指位置用于确定所选择的按键。41.根据权利要求40所述的数据输入设备,其特征在于,所选择的键盘行是基于所监测 的手位置中代表向前或向后运动的水平动作而确定的。42.根据权利要求40所述的数据输入设备,其特征在于,所选择的键盘行是基于所监测 的手位置中代表向上或向下运动的竖直动作而确定的。43.根据权利要求24所述的数据输入设备,其特征在于,所述至少一个处理器进一步被 配置成在词完成之前确定用户正在键入的可能的词,显示所述可能的词,识别表征着用户 对所述可能的词的接受的手方位,并响应于识别的手方位而接受所述可能的词。44.根据权利要求43所述的数据输入设备,其特征在于,所述识别的手方位包括动态手 势。45.根据权利要求24所述的数据输入设备,其特征在于,所述至少一个处理器进一步被 配置成在词完成之前确定用户正在键入的可能的词,显示所述可能的词,识别表征着用户 对所述可能的词的拒绝的手方位,并响应于识别的手方位而拒绝所述可能的词。46.根据权利要求45所述的数据输入设备,其特征在于,所述识别的手方位包括动态手势。
【文档编号】G06F3/02GK105980965SQ201480067449
【公开日】2016年9月28日
【申请日】2014年10月9日
【发明人】伊泰·卡茨
【申请人】视力移动科技公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1