CN103814351B - 基于协同姿势的输入语言 - Google Patents
基于协同姿势的输入语言 Download PDFInfo
- Publication number
- CN103814351B CN103814351B CN201280045884.1A CN201280045884A CN103814351B CN 103814351 B CN103814351 B CN 103814351B CN 201280045884 A CN201280045884 A CN 201280045884A CN 103814351 B CN103814351 B CN 103814351B
- Authority
- CN
- China
- Prior art keywords
- posture
- shortcut
- computing device
- cluster
- group
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0487—Interaction 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
- G06F3/0488—Interaction 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 using a touch-screen or digitiser, e.g. input of commands through traced gestures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0487—Interaction 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
- G06F3/0488—Interaction 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 using a touch-screen or digitiser, e.g. input of commands through traced gestures
- G06F3/04883—Interaction 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 using a touch-screen or digitiser, e.g. input of commands through traced gestures for inputting data by handwriting, e.g. gesture or text
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
在一个示例中,一种方法,包括:由服务器接收代表由多个计算设备检测的一组姿势的数据和代表与来自所述多个计算设备的一组姿势相关联的一个或多个捷径的数据,其中,每个捷径对应于由所述计算设备中的至少一个执行的动作。该方法可以进一步包括:由所述服务器至少部分地基于1)所述一组姿势和2)相关联的捷径中的至少一个之间的检测的相似性,将代表所述姿势的数据与代表从所述多个计算设备接收的相关联的捷径的数据聚合;以及由所述服务器至少部分地基于所聚合的数据来定义姿势‑捷径语言。
Description
技术领域
本公开涉及计算设备,并且更具体地,涉及用于计算设备的基于姿势的输入语言。
背景技术
一些已知的计算设备可以包括响应于用户输入可以实现各种任务的执行的各种硬件元件和软件元件。传统上,通过选择一个或多个预配置的图形和/或硬件按钮(诸如图标、开关等),用户可以经一个或多个接口(诸如键盘、鼠标、触摸屏等)与硬件元件和软件元件交互或以其它方式激活硬件元件和软件元件。
例如,用户可以使用浏览万维网的具有因特网能力的(Internet-enabled)移动设备。用户可以使用移动设备的虚拟键盘或类似的输入设备手动输入期望的网页的统一资源定位符(URL)。输入URL的过程可能由输入设备的大小或配置而复杂化。更具体地,被设计用于与移动设备(例如智能电话)一起使用的虚拟键盘和其它输入设备的效用常常由移动设备本身的相对小的物理尺寸限制,不利地影响用户体验。
一个传统解决方案是实现可以用来控制移动设备的基于姿势的捷径。姿势(诸如由触摸屏或其它存在敏感设备上的指尖跟踪的图案)可以由移动设备检测。检测的姿势可以由设备识别并且与匹配到对应于由该设备执行的一个或多个动作和/或操作的一个或多个预定的捷径。在某些情况下,计算设备可以图形地向用户呈现与检测的姿势相关联的捷径的用户列表以便供用户选择。然后,至少部分地基于接收的用户选择,计算设备可以执行对应于选定的捷径的一个或多个动作/操作(例如打开web浏览器应用并且连接至特定的位置、执线程序等)。
然而,在某些情况下,用户可能不愿意花许多精力来将限定定制的特定于用户的基于姿势的语言所必要的姿势和捷径相关联。此外,更多姿势和捷径存在,较少可能的是,用户将能够调用各种自定义的姿势和相关联的捷径。换言之,用户定义的基于姿势的语言可以不缩放。由于用户定义的基于姿势的语言发展,姿势和捷径关联的数量可以达数千、数十万或更多,使得用户可能无法调用基于姿势的语言的各种姿势和相关联的捷径。当用户无法调用各种姿势和相关联的捷径时,用户可能不使用或以其它方式放弃基于姿势的语言并且替而依赖于键盘来人工输入。
发明内容
在本公开的一个示例中,一种方法包括:由计算设备接收代表由所述计算设备的存在敏感屏幕检测的姿势的数据;由所述计算设备识别与所述姿势相关联的捷径;以及由所述计算设备提供代表所述捷径的数据以显示。捷径对应于要由计算设备执行的动作。识别捷径包括访问至少部分地基于来自至少一个其他用户的在前用户输入而确定的姿势-捷径关联的聚合组的至少一部分。
在本公开的另一个示例中,一种方法包括:由服务器从多个计算设备接收代表由所述多个计算设备检测的姿势组的数据;以及由所述服务器从所述多个计算设备接收代表与所述姿势组相关联的一个或多个捷径的数据,其中,所述捷径中的每个对应于由所述多个计算设备中的至少一个执行的动作。该方法进一步包括:由所述服务器至少部分地基于在1)所述姿势组和2)所述相关联的捷径中的至少一个之间的检测的相似性,将代表所述姿势组的数据和代表从所述多个计算设备接收的相关联的捷径的数据聚合;以及由所述服务器至少部分地基于所聚合的数据来定义姿势-捷径语言,其中,所述姿势-捷径语言包括代表所述姿势组和相关联的捷径的所聚合的数据的至少一部分。
在本公开的另一个示例中,计算机可读存储介质编码有指令,所述指令在被执行时促使计算设备的一个或多个处理器执行操作,所述操作包括接收由所述计算设备的存在敏感屏幕检测的姿势的数据。所述操作进一步包括:识别与所述姿势相关联的捷径,其中,所述捷径对应于要由所述计算设备执行的动作,并且其中,识别所述捷径包括访问至少部分地基于来自至少一个其他用户的在前用户输入而确定的姿势-捷径关联的聚合组的至少一部分,以及提供代表所述捷径的数据以显示。
在本公开的另一个示例中,计算机可读存储介质编码有指令,所述指令在被执行时促使计算设备的一个或多个处理器执行操作,所述操作包括:接收代表由所述多个计算设备检测的姿势组的数据;以及接收代表与所述姿势组相关联的一个或多个捷径的数据,其中,所述捷径中的每一个对应于由所述多个计算设备中的至少一个执行的动作。所述操作进一步包括:至少部分地基于1)所述姿势组和2)所述相关联的捷径中的至少一个之间的检测的相似性,将代表所述姿势组的数据和代表从所述多个计算设备接收的相关联的捷径的数据聚合;以及至少部分地基于所述聚合数据来定义姿势-捷径语言,其中,所述姿势-捷径语言包括代表所述姿势组和相关联的捷径的所聚合的数据的至少一部分。
在本公开的另一个示例中,一种设备包括至少一个处理器、网络接口、和语言开发模块。该网络接口被配置成接收由多个计算设备检测的姿势的数据以及接收代表与所述姿势相关联的一个或多个捷径的数据,其中,所述捷径中的每一个对应于由所述多个计算设备中的至少一个执行的动作。所述语言开发模块可由所述至少一个处理器操作以至少部分地基于1)所述姿势组和2)所述相关联的捷径中的至少一个之间的检测的相似性,将代表所述姿势组的数据与代表从所述多个计算设备接收的相关联的捷径的数据聚合,以及至少部分地基于所聚合的数据来定义姿势-捷径语言,其中,所述姿势-捷径语言包括代表所述姿势组和相关联的捷径的所聚合的数据的至少一部分。
在附图和下面的描述中阐明了一个或多个实施例的细节。其它特征、目的、和优点将从说明书和附图以及从权利要求书变得明显。
附图说明
图1是图示根据本公开的一个或多个方面的用于姿势语言的协同开发以便控制计算设备的示例***的框图。
图2是图示根据本公开的一个或多方面的、利用姿势来控制图1中所示的计算设备的示例计算设备的框图。
图3是图示根据本公开的一个或多方面的、利用姿势来控制图1中所示的计算设备的示例计算设备的框图。
图4是图示根据本公开的一个或多方面的、利用并且开发协同姿势语言以便控制图1中所示的计算设备的示例服务器的框图。
图5是图示根据本公开的一个或多方面的、用于协同开发姿势语言以便控制图1中所示的计算设备的示例过程的流程图。
图6是图示根据本公开的一个或多方面的、用于处理姿势的图像的示例过程的流程图。
图7是图示根据本公开的一个或多方面的、用于分析由图1中所示的计算设备检测的姿势的示例过程的流程图。
图8A-8D是图示根据本公开的一个或多个方面的、用于安装在图1中所示的计算设备上的基于姿势的示例应用的基于文本的查询的图示。
图9A-9D是图示根据本公开的一个或多个方面的、用于安装在图1中所示的计算设备上的基于姿势的示例应用的基于姿势的查询的图示。
图10A-10D是图示根据本公开的一个或多个方面的、用于安装在图1中所示的计算设备上的基于姿势的示例应用的基于姿势的查询接着基于文本的查询的图示。
图11A-11D是图示根据本公开的一个或多个方面的、用于安装在图1中所示的计算设备上的基于姿势的示例应用中的捷径编辑的图示。具体实施方式
总体而言,本公开描述用于至少部分地基于多个用户的可以被用来控制计算设备的聚合输入来定义基于姿势的语言的技术。在一些实施例中,将特定姿势与捷径相关联的基于姿势的语言可以由一个或多个计算设备至少部分地基于来自任意数量的用户(例如,用户群体)的用户输入来定义。在一些示例中,用户群体可以包括计算设备的一个或多个用户,该一个或多个用户中的每个用户至少部分地基于基于姿势的语言来执行输入操作(例如姿势),使得计算设备旨在执行动作(例如执线程序或发起一个或多个其它操作)。一个或多个其它操作可以包括例如更改计算设备上的设置(例如音量控制、屏幕亮度、以及开/关),访问联系人列表,控制音乐播放软件,打开特定文档等。
本公开的技术采用至少部分地基于被设计为提高基于姿势的语言开发的可扩充性的聚合用户信息的姿势语言开发过程。在一些实施例中,由用户群体的一个或多个成员定义的捷径能够被聚合以促进用户群体的每一个个体成员的姿势和相关联的捷径的初始集合的定义。例如,不是需要个体用户来定义姿势-捷径关联的初始集合,本公开的某些方面而是可以使得个体用户能够使用被包括在使用来自其他用户的聚合用户输入开发的基于姿势的语言中的姿势-捷径关联的初始库。此外,本公开的技术可以使得用户能够输入用户输入,该用户输入被配置为至少部分地基于对计算设备的连续使用来定义和/或定制姿势-捷径关联的初始库。以这种方式,用户在维持用户创建定制姿势-捷径关联的能力的同时可以利用至少部分地基于用户群体的聚合用户输入而形成的姿势-捷径关联的初始库。
图1是图示用于姿势语言的协同开发以便控制计算设备2的示例***的框图。服务器12可以经网络10与多个计算设备2A-2N(统称为“计算设备2”)通信。
计算设备2表示由多个用户控制的多个计算设备。多个计算设备2的用户统称为用户群体。计算设备2可以使用计算设备的存在敏感表面(例如计算设备2A的存在敏感显示4A)来检测一个或多个姿势8A-8N(统称为“姿势8”)。计算设备2可以本地分析计算设备上的姿势8,将代表姿势8的数据或图像传输至服务器12用于分析,或既本地分析姿势8又传输数据至服务器12用于分析。计算设备2可以将代表由指定的计算设备执行的动作的数据和由计算设备检测的姿势传输至服务器12,将使用数据贡献给聚合姿势-捷径关联的数据库以开发基于姿势的语言。由计算设备执行的动作由捷径表示,并且一个或多个姿势可以与该捷径相关联,并且一个或多个捷径可以与姿势相关联。
计算设备2通过网络10经有线连接、无线链路、或两者耦接到服务器12。网络10可以包括电话网络(诸如蜂窝电话网络)、广域网络(诸如因特网络)、局域网络(LAN)、企业网络、或一个或多个其它类型的网络。计算设备2可以使用网络10传输和接收数据。在一些示例中,网络10可以包括一个或多个不同的网络。比如,计算设备2可以经蜂窝电话网络数据连接或主无线无线电连接与私有或公用网络(例如因特网)通信,并且计算设备2和服务器12可以使用LAN或诸如因特网的公用网络经辅蜂窝或无线无线电信道通信。
服务器12可以被配置成例如使用姿势识别模块(GRM)16来分析由计算设备2检测的姿势。计算设备2可以将代表姿势8的数据或图像经网络10传输至服务器12。服务器12的GRM16可以将代表姿势8的图像或数据与代表存储在服务器12的数据库14中的已知姿势的图像或数据相比较。在一些示例中,GRM16可以使用基于视觉的分析***来分解和识别检测的姿势的图像。为了加快与已知姿势的比较,可以将代表已知姿势的图像或数据布置在集群的层次结构中。
共享类似的特性或分量的已知姿势在集群中可以被分组在一起。例如,至少部分地基于共享特性,包括通过姿势的质心的显著的水平线条和取向为垂直于质心的一侧的第二线条的姿势可以被聚组在一起。共享一些类似的特征的已知姿势的集群在母集群中可以被分组在一起。例如,多个集群可以被形成为母集群,其中每个集群共享通过质心的显著水平线条的特征。此外,“祖父母”集群可以由具有显著的水平线条等的特征的所有母集群形成。
将代表姿势8(例如,姿势8A)的数据或图像与已知的姿势相比较来识别姿势8A不需要将姿势8A与每个已知的姿势相比较。替代地,可以通过逐步前进通过集群的姿势的层次结构来做比较。在一个示例中,对姿势8A的识别和姿势8A与一个或多个捷径的关联可以包括将代表姿势8A的数据或图像与高层集群相比较,确定姿势8A与哪个母集群(如果存在的话)共享特性(例如,来自先前示例的显著的水平线条)。然后,可以将姿势8A与匹配的母集群的子集群相比较,进一步识别与姿势8A共享特性的姿势的集群。
识别过程可以继续逐步前进通过母-子集群的层次结构,直至到达并且比较了形成一个或多个子集群的已知姿势为止。在其中姿势8A不可识别为已知的姿势的示例中,假若存在与集群中的现有已知姿势足够的类似度,则可以将姿势8A添加到集群中。替选地或此外,可以使用姿势8A来创建新的集群。当姿势8A不同于已知的姿势集群或新的集群可以作为在集群的现有层次结构中的新的子集群创建时,新的集群可以独立于现有集群。在各种实例中,当检测的姿势的特征(例如,检测的姿势的图像的距离区域中的一个或多个移位以与已知姿势、线条数量和/或长度、以及线条取向相匹配)与已知集群之间的差的测量超过阈值量时,姿势8A被视为不同于已知的姿势集群。
服务器12可以被配置成将代表已知姿势的数据或图像以及已知姿势和各种捷径之间的关联存储在数据储存库(例如数据库14)中。数据库14可以存储如由例如GRM16开发的已知姿势的集群层次结构。数据库14也可以被配置成存储姿势8的使用历史。使用历史可以包括代表姿势8的数据、每个姿势8的使用频率、自每个姿势8的最后使用以来流逝的时间量、历史使用频率趋向、以及用户群体定义的姿势-捷径关联。在一些示例中,服务器12可以将基于姿势的语言的定义、姿势-捷径关联存储在数据库14中。访问基于姿势的语言可以使得GRM16能够识别与姿势8相关联的捷径并且将识别的捷径传输至计算设备2以便呈现给用户。
服务器12可以被配置成使用从用户群体的计算设备2聚合的相关联的姿势和捷径来为用户群体定义基于姿势的语言。计算设备2可以将由用户群体选定为对应于姿势8的捷径经网络10传输至服务器12。语言开发模块(LDM)56可以聚合在计算设备2上检测的姿势8并且将姿势8与由用户群体选定的捷径相关联。选定的捷径可以包括在将一个或多个姿势8输入在计算设备2上之后由计算设备2的用户选定为表示计算设备2的期望的动作的捷径。LDM18可以分析检测的姿势-捷径关联的使用历史以至少部分地基于对检测的姿势的集体使用来定义语言。
当将姿势和捷径相关联以形成基于姿势的语言时,LDM18可以考虑包括使用频率和随时间的使用频率的因素。例如,姿势8A可以由用户群体反复地使用以访问网页“www.nytimes.com”。LDM64可以至少部分地基于使用频率来将姿势8A定义为对应于将web浏览器导航至“www.nytimes.com”的动作。随着时间的推移,用户群体可以不再频繁地使用姿势8A来导航至“www.nytimes.com”,并且,替代地,使用姿势8A导航至“www.nypost.com”。因为姿势8A的变化使用,所以LDM64可以将姿势8A重新定义为对应于将web浏览器导航至“www.nypost.com”的动作。LDM18可以通过用户群体将多个捷径动作分配给单个姿势,例如,促使姿势8A对应于对两个关联给予充分使用的“www.nytimes.com”和“www.nypost.com”两者。LDM18可以将多个姿势分配给同一捷径动作(例如,通过将姿势8A和姿势8B两者与www.nytimes.com相关联)。
服务器12可以将协同开发的基于姿势的语言和对应的集群姿势层次结构分配给用户群体的计算设备2。服务器12可以分发基于姿势的语言的全部或一部分。分发的基于姿势的语言可以由计算设备2A本地缓存并且可以包括所有姿势的子集和姿势-捷径关联,形成基于姿势的语言。服务器12可以通过本地使用(例如,选择与由特定计算设备频繁地执行的活动相对应的姿势和姿势-捷径关联)、或其它标准来选择姿势和姿势-捷径关联以便至少部分地基于流行度(例如由用户群体使用的频率)来分配。计算设备2可以利用分发的基于姿势的语言以本地识别可能已经由用户群体而不由计算设备的个体用户使用的姿势-捷径关联。在一些示例中,计算设备2可以将本地创建的姿势和捷径之间的关联传输至服务器12。服务器12可以将这些本地创建的关联存储在例如数据库14中。计算设备2可以使用存储在服务器12上的本地创建的关联的副本作为关联的备用副本或以在设备移植中辅助用户。服务器存储的关联的副本可以使得用户能够将定制姿势库再加载到新的或不同的计算设备上。
在一些示例中,计算设备2或服务器12可以采用手写识别技术结合基于姿势的语言或以增补基于姿势的语言。计算设备2和服务器12可以将在计算设备2上检测的手写视为另一个任意姿势。该方法可以促使服务器12和计算设备2定义对应于手写所用于的每个捷径的大量类似的姿势。例如,由于手写中的变化,对于地图、音乐、www.msn.com等等,可以创建每个对应于字母“M”的独立姿势。将“M”的图像识别为字母“M”可以允许服务器12和/或计算设备2定义较少的姿势,这可以例如通过在文本被写入计算设备2的存在敏感屏幕4上时显示部分匹配来减少用来识别和存储姿势的内存量以及减少识别适当的捷径所需的时间量。
手写可以至少部分地基于手写字母的图像和/或形成字母的图像的分量线条片段被识别。计算设备2或服务器12可以对在计算设备2的存在敏感表面4上检测的字符进行分段,将手写的图像分解成一系列线条段。例如,计算设备2或服务器12可以对在检测的手写姿势的图像的y轴上的线条的本地最小值和最大值附近的文本线条进行分段。在各种实例中,服务器12的GRM16或计算设备2A的或GRM42(图3)可以被配置成通过将字符识别器应用到线条段组并且测量不同可能的线条段组如何接近地表示字母的图像以便识别字母手写字母来分析线条段。
服务器12或计算设备2可以同时或依序执行手写体和姿势分析。在一些示例中,手写样本对于GRM16或42可能无法识别为文本并且手写分析可能未能得出结果或可能产生图像的不正确解释。姿势分析,至少部分地基于先前检测的手写姿势的图像而非形成手写姿势的字母的线条段的图案,可以成功地识别检测的手写姿势并且使得计算设备2或服务器12能够识别适当的对应的捷径。
在一些示例中,可以对相同的检测姿势(例如姿势8A)执行手写识别和姿势分析两者。在这些示例中,手写识别和姿势分析可以识别与相同的检测姿势相关联的不同的捷径。每个识别的捷径在使用手写识别和姿势分析被识别之后可以被分配排名。排名可以至少部分地基于各种因素,所述各种因素包括(例如,由计算设备2A通过将存储在计算设备2A内的用户定义的姿势-捷径关联与由服务器12使用由其它用户定义的字母-捷径关联识别相匹配而识别的)识别的源。识别的具有最高排名的捷径可以被选择为识别的捷径并且被输出至用户。
将手写识别技术与姿势分析技术组合可以提供某些优势。例如,组合来自两个源的信息可以提高预测精度。当检测姿势时,计算设备2和/或服务器12可以存储姿势的视觉模板以及对检测的姿势执行手写识别。下次用户绘制相同的文本串时,即使新姿势太凌乱以至于无法被正确地识别为手写时,计算设备2和/或服务器12也可以依赖于姿势的存储的视觉模板以正确地识别相关联的捷径。
图2是图示根据本公开的一个或多方面的、利用姿势来控制图1中所示的计算设备的示例计算设备2A的框图。计算设备2A可以经网络10与服务器12通信。
计算设备2A的示例可以包括但不限于便携式或移动设备(诸如蜂窝电话、个人数字助理(PDA)、便携式游戏设备、便携式媒体播放器、电子书阅读器等)以及非便携式设备(诸如桌上型计算机等)。姿势(例如姿势8A)可以包括但不限于由指尖跟踪的路径(例如从位置6A到位置6B)、触控笔、或在存在敏感输入设备4A上的类似的物体,诸如智能电话的触摸屏。姿势8A可以包括单个或多个线条并且不必形成单个连续的路径。在一些示例中,软件例程可以致使姿势8A可缩放和旋转地独立,使得姿势8A的绘制的大小或取向不影响姿势的识别。
计算设备2A经有线连接、无线链路、或两者耦接到网络10。计算设备2A可以经由网络10传输和接收数据。计算设备2A可以包括到网络10的多个连接(例如维持蜂窝数据和无线无线电因特网连接两者)。计算设备2A可以经由网络10与服务器12通信。网络10可以包括一种或多种形式的电子通信并且使用一个或多个类型的电子通信的多个信道。
计算设备2A可以检测在存在敏感接口4A上姿势8A的存在。在一些示例中,存在敏感接口4A可以是触摸屏、跟踪板或类似的设备。用户9可以在计算设备2A的表面上绘制姿势8A。计算设备2A可以存储姿势8A的图像并且记录代表姿势8A的数据(诸如形成姿势8A的一个或多个线条的开始点和结束点)和姿势8A的特征的图像(诸如可以形成姿势8A的垂直线条、水平线条、对角线条、或其它线条)。
通过将姿势8A与本地存储在计算设备2A上的已知姿势的数据库相比较,计算设备2A可以识别姿势8A。已知姿势的数据库可以布置在集群层次结构中以缩短识别姿势8A所需的时间量。在一些示例中,计算设备2A可以经网络10将代表姿势8A的图像或数据传输至服务器12以便由服务器12(例如经服务器12的GRM16)识别姿势8A。姿势识别也可以由计算设备2A与服务器12平行执行。例如,计算设备2A可以使用本地存储的基于姿势的语言来识别姿势8A,而服务器12也使用完整的基于姿势的语言来执行识别。在姿势的识别和捷径与姿势8A的关联中的差异可以通过由用户选择期望的捷径,或作为另一个示例,至少部分地基于姿势8A和已知姿势之间的匹配误差量来解决。
计算设备2A可以将基于姿势的语言应用到识别的姿势8A以识别对应于姿势的一个或多个捷径。基于姿势的语言,或形成语言的子集的多个相关联的姿势和捷径,可以从服务器12接收并且本地存储在计算设备2A上。姿势语言可以例如作为数据库、查找表、或索引被存储在计算设备2A中,其中计算设备2A访问识别的姿势的条目以检索相关联的捷径。计算设备2A也可以检索与所检索的捷径相关联的其它已知姿势,使计算设备2A能够显示替代姿势以访问特定捷径。在一些示例中,与识别的姿势8A相关联的一个或多个捷径的确定可以替代在计算设备2A上发生的识别或与在计算设备2A上发生的识别并行在服务器12上发生。服务器12可以将在服务器12上识别的相关联的捷径或代表该相关联的捷径的数据传输至计算设备2A以便呈现给计算设备2A的用户。
计算设备2A可以显示与识别的姿势8A相关联的一个或多个捷径(例如捷径10和12)以便由用户(例如用户9)选择。捷径可以以任意顺序被显示,所述顺序包括至少部分地基于姿势8A和捷径的关联的频率、本地设置的偏好(例如计算设备2A的用户例行地将姿势8A与捷径相关联)、以及姿势-捷径关联的各种其它特性(例如,按照字母顺序排列)的顺序。例如,通常可以由计算设备2A的用户将捷径24与姿势8A映射。由于计算设备2A的用户反复地将识别的姿势8A与捷径24相关联,所以很有可能的是,用户意图通过将姿势8A输入在计算设备2A的存在敏感设备4上来访问捷径24,并且捷径24应被相对早地显示在捷径的结果列表中。通常可以由用户群体将捷径22与识别的姿势8A相关联。如由服务器12的LDM18确定的基于姿势的语言可以将姿势8A与捷径22映射,这可以促使计算设备2A较早地将捷径22显示在要由用户选择的捷径列表中。在该示例中,由于用户个性化在姿势8A与捷径24之间的关联,所以至少部分地基于用户群体定义的姿势8A与捷径22之间的关联可以在捷径24之后显示在捷径结果列表中。
用户可以(例如使用存在敏感屏幕4A)从由计算设备2A呈现给用户的捷径列表选择期望的捷径。在用户选择之后,计算设备2A可以执行由捷径指定的动作,例如打开web浏览器到指定的地址或激活程序。计算设备2A可以记录捷径的选择,创建姿势8A与选定的捷径的本地存储的关联。计算设备2A可以将指示用户响应于姿势8A选定的捷径的数据传输至服务器12。通过例如至少部分地基于聚合的使用图案来更新姿势-捷径关联和添加新姿势或捷径,服务器12可以更新存储在数据库14中的并且经由用户群体聚合的使用历史,使用由计算设备2传输至服务器12的关联数据来继续开发姿势语言。计算设备2A可以在用户定制字典中形成由用户制定的姿势和捷径之间的增补由用户群体在服务器12上协同开发的姿势语言的关联。
在一些示例中,计算设备2A可以显示与如由协同的基于姿势的语言定义的特定捷径相关联的姿势。例如,两个捷径10和12被示有与姿势8A类似的但不完全相同的姿势。以捷径10和12示出的姿势可以是通过用户群体共同地与捷径相关联并且被在基于姿势的语言中映射到捷径的姿势。通过基于姿势的语言显示与捷径相关联的姿势促进用户通过与计算设备2A交互的正常过程来学习姿势语言。
在一些示例中,计算设备2A也可以显示文本输入域20,使用户能够(例如使用虚拟键盘)手动地输入地址或捷径。如果例如用户不确定被映射到期望的捷径的姿势,或在输入姿势8A到计算设备2A之后没有显示期望的捷径,则手动地输入期望的捷径可以是适当的。计算设备2A可以显示与手动地输入的捷径相关联的一个或多个捷径,或允许用户指定定制的姿势以与捷径相关联。
图3是图示根据本公开的一个或多方面的、利用姿势来控制图1中所示的计算设备的示例计算设备2A的框图。图3图示客户端设备2A的仅一个特定示例,并且客户端设备2A的许多其它示例性实施例可以在其它实例中使用。
如图3中所示,计算设备2A包括姿势识别模块(GRM)42、操作***40、一个或多个处理器26、存储器28、网络接口30、一个或多个存储设备32、输入设备34、输出设备36、和电源38。操作***40和GRM42可由计算设备2A的一个或多个组件执行。组件26、28、30、32、34、36、和38中的每一个可以被互连(物理地、可通信地、和/或可操作地)用于组件间通信。在一些示例中,模块42、44、46、48、和50中的一个或多个可以是同一模块的部分。在一些示例中,模块42、44、46、48、和50中的一个或多个和一个或多个处理器26可以被形成在公共硬件单元中。在某些示例中,模块42、44、46、48、和50中的一个或多个可以是可以在一个或多个处理器26上执行或可由一个或多个处理器26操作的软件和/或固件单元。
在一个示例中,处理器26被配置成实施功能和/或过程指令以便在计算设备2A内执行。例如,处理器26可以能够处理存储在存储器28中的指令或存储在存储设备32上的指令。这样的指令可以包括操作***40、GRM42、或GRM42的一个或多个模块的组件。
在一个示例中,存储器28被配置成在操作期间存储在计算设备2A内的信息。在一些示例中,存储器28被描述为计算机可读存储介质。在一些示例中,存储器28是暂时存储器,意味着存储器28的主要目的不是长期存储。在一些示例中,存储器28被描述为易失性存储器,意味着当关闭计算机时,存储器28不保持存储的内容。易失性存储器的示例包括随机存取存储器(RAM)、动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM)、和本领域已知的其它形式的易失性存储器。在一些示例中,存储器28被用来存储程序指令以便由处理器26执行。在一个示例中,存储器28由在计算设备2A上运行的软件或应用(例如操作***40和GRM42)使用以在程序执行期间临时存储信息。
在一些示例中,存储设备32还包括一个或多个计算机可读存储介质。存储设备32可以被配置成存储比存储器28更大量的信息。存储设备32可以进一步被配置用于信息的长期存储。在一些示例中,存储设备32包括非易性失存储元件。这种非易失性存储元件的示例包括磁硬盘、光盘、软盘、闪存存储器、或电可编程存储器(EPROM)或电可擦除可编程(EEPROM)存储器的形式。
在一些示例中,计算设备2A还包括网络接口30。在一些示例中,计算设备2A利用网络接口30来经诸如一个或多个无线网络的一个或多个网络与外部设备(例如服务器12)通信。网络接口30可以是网络接口卡(诸如以太网卡、光收发机、射频收发机、或能够发送及接收信息的任何其他类型的设备)。这种网络接口的其他示例可以包括移动计算设备中的3G和无线电以及USB。
计算设备2A还包括一个或多个输入设备34。在一些示例中,输入设备34被配置成通过触摸或其它姿势输入从用户接收输入。输入设备34的示例包括存在敏感屏幕(例如图2中所示的存在敏感屏幕4A),诸如触摸屏或跟踪板。一个或多个输出设备36也可以被包括在计算设备2A内。在一些示例中,输出设备36被配置成使用触觉、音频或视频刺激来向用户提供输出。在一个示例中,输出设备36包括存在敏感屏幕(例如图2中所示的存在敏感屏幕4A)、声卡、视频图形适配器卡、或用于将信号转换成人类或机器可理解的适当形式的任何其他类型的设备。输出设备36的另外示例包括扬声器、阴极射线管(CRT)监视器、液晶显示器(LCD)、或能够向用户生成易理解的输出的任何其他类型的设备。
在一些示例中,计算设备2A可以包括一个或多个电源38,该一个或多个电源38可以是可再充电的并且为计算设备2A提供功率。在一些示例中,电源38可以包括由镍镉、锂离子、或其它适当的材料制成的电池。
计算设备2A可以包括操作***40。在一些示例中,操作***40控制计算设备2A的组件的操作。例如,在一个示例中,操作***40促进GRM42与处理器26、存储器28、网络接口30、存储设备38、输入设备34、和输出设备36的交互。
在计算设备2A内实现的或由计算设备2A执行的任意应用或软件模块(例如GRM42)可以由计算设备2A的组件实现或被包含在计算设备2A的组件内、可由计算设备2A的组件操作、执行、和/或可操作地/可通信地耦接到计算设备2的组件,所述组件诸如处理器26、存储器28、网络接口30、存储设备32、输入设备34、和/或输出设备36。
计算设备2A可以使用GRM42来识别由输入设备34(例如图2的计算设备2A的存在敏感屏幕4A)检测的图2的姿势8A。GRM42可以将姿势8A的图像分解成主要特征,准备代表姿势8A的特征的数据或图像用于比较,并且将代表姿势8A的数据或图像与已知姿势进行比较。在一些示例中,GRM42可以识别与识别的姿势相关联的一个或多个捷径并且扩展已知姿势和关联的数据库以包括识别的姿势8A。GRM42可以包括提取模块44、平滑模块46、识别模块48、和集群模块50。
GRM42的提取模块44可以对姿势8A的图像进行空间采样。空间采样可以包括使用根据姿势8A的图像内的像素的位置选定的像素值来形成姿势8A的图像的矩阵或其它表示。例如,提取模块44可以被配置成通过对姿势8A的图像进行空间采样将姿势8A的图像分解成指示以特定方向形成姿势8A的线条的取向程度的一系列特征图像(例如测量姿势8A的线条接近水平、垂直或对角到何种程度)。由于姿势8A被绘制在计算设备2A上,所以提取模块44也可以被配置成缩放、旋转、和平移姿势8A以补偿取向、位置、和大小上的变化。例如,提取模块44可以使姿势8A关于姿势8A的质心标准化(质心可以例如经形成姿势8A的所有像素的平均位置、姿势8A的图像的强度加权平均值、或另一个测量过程来测量姿势8A的图像的中心),将姿势8A的原点设置为质心,以及缩放姿势8A,使得姿势8A的图像到与已知姿势图像的大小对应的宽度和高度。
GRM42的平滑模块46可以将诸如高斯平滑函数的平滑函数应用到姿势8A的特征的每个图像。平滑图像可以减小姿势8A对噪音的识别灵敏度或减少在绘制姿势8A中的小变化。平滑模块46可以对特征图像进行下采样。例如,平滑模块46可以应用滤波器,该滤波器通过以统计值(诸如平均值或最大值)表示平滑的图像的一系列像素子集来减小下采样的图像中的像素的数量。平滑模块46可以将平滑的图像再细分成四个连续的像素的正方形,其中,下采样的图像的每个像素是平滑的图像的对应的四个像素正方形的最大值。通过将数据点(像素)的数量减少到与已知图像相当,下采样可以使比较加速。与绘制姿势8A中的次要变化相比,下采样也可以进一步减小姿势的灵敏度。
识别模块48可以将姿势8A的特征图像与已知姿势的特征图像相比较来确定已知的姿势是否对应于姿势8A。在一些示例中,识别模块48可以将可变形的模板匹配算法应用于姿势8A的特征图像。这可以允许姿势8A的特征图像中的每个点使已知的姿势特征图像移位以形成最佳匹配。移位的范围可以限于速度比较(例如,允许每个点从已知姿势的特征图像上的对应的位置移位最多3个像素)。为了减小过拟合,移位可以通过对围绕点的块而非仅该点进行移位和匹配将当地背景考虑进去。在检测的姿势的特征图像和已知姿势的特征图像之间的一致可以由图像变形模型距离来表示,被计算为在相应的块位置处的特征图像之间的平方差的和。在识别姿势8A之后,识别模块48可以检索对应于存储在例如存储设备32中的数据库中的姿势8A的一个或多个捷径。已检索的捷径可以经输出设备36呈现给用户。
集群模块50可以通过减少识别模块48与姿势8A相比较的已知姿势的数量来加快姿势8A的识别。已知姿势可以以例如母子集群的层次结构的层次结构被布置。集群模块50可以选择已知姿势以便由识别模块48至少部分地基于姿势8A的特征图像和已知图像的特征图像之间的距离进行比较。集群模块50可以前进通过层次结构,至少部分地基于识别模块48的输出来根据比较而除去已知姿势的不同的集群。一旦集群模块50前进通过集群层次结构,姿势8A就可以被识别,使得不再有子集群可获得,仅形成集群的已知姿势。在一些示例中,集群模块50可以将姿势8A添加到集群,只要姿势8A类似于集群中的其它姿势,但不是不同到足以保证形成新的集群即可,要么独立于当前姿势集群要么作为当前姿势集群的子集群。集群模块50可以将数据库或类似的文件结构中的已知姿势的集群的层次结构存储在存储设备32中。在一些示例中,集群模块50也可以将由计算设备2A的用户与姿势相关联的捷径存储在集群的层次结构中或在不同的索引或包含映射的姿势和捷径的数据库中的姿势条目中。
图4是图示根据本公开的一个或多方面的、利用和开发协同姿势语言来控制图1中所示的计算设备2A的示例服务器12的框图。图4图示服务器12的仅一个特定示例,并且可以在其它实例中使用服务器12的许多其它示例性实施例。
如图4中所示,服务器12可以包括语言开发模块(LDM)56、姿势识别模块(GRM)64、操作***63、一个或多个处理器52、存储器54、网络接口56、和一个或多个存储设备58。操作***60和GRM16可由服务器12的一个或多个组件执行。组件48、50、52、和54中的每一个可以被互连(物理地、可通信地、和/或可操作地)用于组件间通信。
在某些示例中,一个或多个处理器52可以包括微处理器、控制器、数字信号处理器(DSP)、专用集成电路(ASIC)、场可编程门阵列(FPGA)、或等效离散或集成逻辑电路中的任一个或多个。在一个示例中,处理器52被配置成实现功能和/或过程指令以便在服务器12内执行。例如,处理器52可以能够处理存储在存储器54或存储设备58中的指令。
在一个示例中,存储器54被配置成在操作期间存储在服务器12内的信息。在一些示例中,存储器54被描述为计算机可读存储介质。在一些示例中,存储器54是暂时存储器,意味着存储器54的主要目的不是长期存储。在一些示例中,存储器54被描述为易失性存储器,意味着当关闭计算机时,存储器54不保持存储的内容。易失性存储器的示例包括随机存取存储器(RAM)、动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM)、和本领域已知的其它形式的易失性存储器。在一些示例中,存储器54被用来存储程序指令以便由处理器52执行。在一个示例中,存储器54由在服务器12上运行的软件或应用(例如,操作***60、LDM18、和GRM16)使用以在程序执行期间临时存储信息。
在一些示例中,存储设备58还包括一个或多个计算机可读存储介质。存储设备58可以被配置成存储比存储器54更大量的信息。存储设备58可以进一步被配置用于信息的长期存储。在一些示例中,存储设备58包括非易性失存储元件。这种非易失性存储元件的示例包括磁硬盘、光盘、软盘、闪存存储器、或电可编程存储器(EPROM)或电可擦除可编程(EEPROM)存储器的形式。存储设备58可以包括数据库14(图1),该数据库14存储由服务器12开发的基于姿势的语言的定义以及从计算设备2的群体聚合的数据。
服务器12还包括网络接口56。在一个示例中,服务器12利用网络接口56经例如网络10的一个或多个网络与例如计算设备2A(图1和图2)的多个计算设备通信。网络接口56可以是网络接口卡(诸如以太网卡、光收发机、射频收发机、或能够发送及接收信息的任何其他类型的设备)。
服务器12可以包括操作***60。在一些示例中,操作***60控制服务器12的组件的操作。例如,操作***60可以协调GRM16、LDM18、处理器52、存储器54、网络接口56、和存储设备58的交互。在服务器12内实现的或由服务器12执行的任意软件或硬件模块,例如操作***60、GRM16、和LDM18,可以由服务器12的组件实现或包含在服务器12的组件内、可由服务器12的组件操作、执行和/或可操作地/可通信地耦接到服务器12的组件,所述服务器12的组件例如处理器52、存储器54、网络接口56、存储设备58。
GRM16可以包括提取模块62、平滑模块46、识别模块48、和集群模块64。在一些示例中,服务器12可以经网络接口56从多个计算设备中的一个(诸如图1的计算设备2A)接收检测的姿势(例如图1的姿势8A)的图像。服务器12可以调用GRM16来识别接收的姿势。提取模块62可以将接收的姿势的图像分解成一个或多个特征图像,图像强调姿势的各种标准特征。特征图像可以包括包含在接收的姿势的图像内的垂直线条、水平线条或对角线条的表示。接收的姿势的特征图像可以被传递到平滑模块46和识别模块48以便如先前相对于图3描述的进一步处理。在其它示例中,服务器12可以从计算设备2A接收检测的姿势的预处理的特征图像,允许服务器12绕开提取模块62(并且,在一些示例中,平滑模块46)以及由识别模块48继续进行识别。
集群模块64通过发展通过已知姿势的集群的层次结构可以加快对接收的姿势的识别。集群模块64可以检索在特定集群内的姿势的已知集群的代表性特征图像特性以便由识别模块48比较。当姿势的集群被视为不足以匹配接收的姿势时,集群模块64可以使母子层次结构向下发展到已知姿势的子集群中并且最后发展到提供已知姿势本身的特征图像以便比较。当在已知姿势之间的区别变得更细微(例如,已知姿势被分组在类似的或相同的集群中)时,平滑模块46可以减小下采样,并且识别模块48可以经由更多数据点在接收的姿势和已知姿势之间执行图像比较。这可以以计算时间为代价提高精度。集群模块64可以将接收的姿势8A存储在集群的层次结构中,例如,在维持在存储设备58中的数据库或索引中。在一些示例中,集群模块64可以移除废弃不再用的姿势和来自集群的姿势层次结构的姿势。
服务器12可以包括LDM18。LDM18可以包括使用图案模块(UPM)66和映射模块68。LDM18可以使用从计算设备2的用户群体聚合的姿势和捷径数据来定义姿势语言。服务器12可以经识别模块48识别在计算设备2A上检测的姿势8A,并且将与识别的接收姿势相关联的一个或多个捷径返回至计算设备2A。计算设备2A可以将由计算设备2A的用户选定为与姿势8A相关联的捷径传输至服务器12。在其它示例中,服务器12可以从计算设备2A接收对姿势8A的识别连同与姿势8A相关联的捷径信息。LDM18可以将姿势8A的使用数据和用户相关联的捷径聚合在存储设备58中,分析使用数据,和定义姿势-捷径映射以形成基于姿势的语言。该基于姿势的语言可以作为数据库或索引存储在存储设备58中。姿势-捷径映射的全部或一部分可以被传输至计算设备2,使得计算设备2能够利用姿势语言,而不连接至服务器12。
UPM66可以分析在用户群体之间的姿势和捷径的使用图案。使用图案可以包括在特殊姿势和捷径之间的关联频率、这种关联随时间的频率、自从姿势和捷径之间的最后关联以来的时间、姿势和捷径相关联的次数、和类似的度量。例如,UPM66可以识别用户群体的最频繁地与特定姿势相关联的一个或多个捷径。基于姿势的语言可以将该特定姿势定义为表示一个或多个识别的捷径。随着时间的推移,对特定姿势的使用可以移位,成为更加频繁地用来表示不同的一组捷径。UPM66可以识别对基于姿势的语言中的较早的定义的减少使用并且重新定义姿势以反映在用户群体内的更常见的新用法。取决于使用,多个姿势和捷径可以被关联在一起。
映射模块68可以将姿势和捷径之间的一个或多个关联存储在存储设备58中的数据库中,例如数据库14中。这些关联可以由UPM66确定并且为计算设备2形成基于姿势的语言。在姿势和捷径之间的用户定制的关联也可以被存储在存储设备58中的数据库14或某个其它位置中。例如,用户可以创建对个体用户独特的一个或多个姿势或在姿势和捷径之间的关联。计算设备2A可以将定制的姿势或姿势-捷径关联传输至服务器12。服务器12可以将定制的姿势的副本保留在姿势集群的层次结构中并且可以存储独特的姿势-捷径关联的副本。例如,在计算设备移植期间,独特的关联可以由识别模块48用来利用姿势识别捷径或由服务器12用来对计算设备2A再加载用户的定制关联(如果必要)。
虽然示出为图4中的独立组件,但是在一些示例中,模块16、18、46、48、62、64、66、和68中的一个或多个可以是相同模块的部分。在一些示例中,模块16、18、46、48、62、64、66、和68中的一个或多个和一个或多个处理器52可以被形成在公共硬件单元中。在某些示例中,模块16、18、46、48、62、64、66、和68中的一个或多个可以是在一个或多个处理器52上执行的或可由一个或多个处理器26操作的软件和/或固件单元。
图5是图示根据本公开的一个或多方面的、用于协同开发姿势语言以便控制图1中所示的计算设备2A的示例过程的流程图。仅为了图示的目的,下面在图1和图4的服务器12以及图1和图3的计算设备2A的上下文内描述示例过程。然而,可以使用其它设备来执行图5的示例过程。
服务器12可以接收代表由多个计算设备2检测的姿势的数据(500)。用户群体的计算设备2可以将代表姿势8A的图像或数据传输至服务器12以便识别或基于姿势的语言开发。代表检测的姿势的数据可以包括检测的姿势的图像或检测的姿势的特征图像。例如,计算设备2A可以将检测的姿势的图像分解成沿着各个轴指向的姿势的线条的特征图像,诸如示出形成姿势的水平线条、垂直线条和对角线条的一系列图像。在其它示例中,计算设备2A可以本地识别检测的姿势并且传输检测的姿势的识别以便由服务器12的LDM18处理。检测的姿势的识别或图像可被缓存在服务器12的存储器54中以便由服务器12的一个或多个模块或组件进一步处理。
服务器12可以接收代表与每个姿势相关联的一个或多个捷径的数据(502)。在一些示例中,在输入或创建姿势之后,计算设备2可以进一步传输代表由计算设备2A的用户选定的捷径的数据。通过网络接口56和网络10,服务器12可以接收该数据并且将数据存储在存储器54中以便进行处理或将数据放置在存储设备58中的长期存储器中。定制姿势和姿势-捷径关联可以存储在存储设备58中的数据库14中或一些其它形式的由服务器12的其它组件和模块(诸如GRM16)可访问的索引或数据库中,以便被检索和用来识别在源发计算设备上检测的姿势或以允许源发计算设备的用户修复或移植用户开发的定制姿势-捷径关联。
服务器12可以将代表姿势和相关联的捷径的数据聚合为聚合信息(504)。聚合数据可以包括利用GRM16识别从用户群体的一个或多个计算设备2接收的姿势,将这些识别的姿势与用户选定的(从计算设备2接收的)捷径相关联,并且存储作为结果的关联。该关联的历史可以被放置在诸如存储设备58的长期存储器中。聚合的数据还可以包括定制的和本地识别的从用户群体的计算设备2接收的姿势-捷径关联。
服务器12的LDM18的UPM66可以通过分析聚合的数据中的姿势-捷径关联的使用图案,至少部分地基于聚合的数据来定义姿势-捷径语言(506)。姿势-捷径语言可以至少部分地基于使用统计,诸如特定姿势-捷径关联在用户群体上聚合的数据中发生的频率。用户群体的频繁地与特定捷径相关联的姿势可以由UDM58定义为姿势-捷径关联。在一些示例中,特定姿势可以通过用户群体的各个部分频繁地与多个捷径相关联。UDM58可以存储这种具有多个定义的姿势,允许姿势表示多个捷径并且允许当为计算设备识别特定姿势时多个捷径返回至计算设备2A。
UDM58也可以存储表示相同的捷径的多个姿势。UPM66可以跟踪一个或多个使用统计以随时间开发基于姿势的语言,在使用改变或新姿势或捷径由用户群体开发时调节姿势-捷径定义。当姿势-捷径关联废弃不用时,通过例如监测自从用户群体的最后关联以来流逝的时间或监测随时间的关联频率并且丢弃它们,UPM66可以检测这些废弃了的姿势-捷径关联。UPM66也可以编辑姿势集群层次的一个或多个数据库,移除很少使用的姿势或姿势集群,减小用于存储的存储器需求并且通过避免与废弃的姿势比较来降低GRM16中的接收的检测姿势的识别时间。
在存储设备58中的数据库(例如,数据库14)中,服务器12可以将代表映射的姿势和捷径的数据(诸如姿势-捷径关联)存储在数据库中(508)。LDM18的映射模块68可以促使处理器52将代表姿势-捷径关联的数据存储在GRM16可访问的数据库14中以允许识别从计算设备2接收的一个或多个姿势8A。映射模块68和集群模块64单独地或一起可以将代表姿势集群层次结构中的检测的姿势的数据存储在存储设备58中。
服务器12可以通过经网络10将形成由服务器12的LDM18开发的基于姿势的语言的姿势-捷径关联的所有或子集传输至用户群体的计算设备2,传播代表映射的姿势和捷径的数据至多个用户(510)。服务器12也可以将集群的姿势层次结构的对应于传输的基于姿势的语言的部分传输至计算设备2。计算设备2可以利用传输的基于姿势的语言和集群的层次结构来执行对检测的姿势的识别并且检索在计算设备2本地上的与识别的姿势相关联的捷径。
图6是图示用于处理姿势8A的图像的示例过程的流程图。仅为了图示的目的,下面在图4的服务器12的GRM16和图3的计算设备2A的GRM42的上下文中描述示例过程。然而,可以使用其它设备来执行图6的示例过程。
计算设备2A(图3)的GRM42的提取模块44或服务器12(图4)的GRM16的提取模块62可以分解检测的姿势的图像(600)。分解检测的姿势的图像可以包括处理图像以准备比较并且提取在图像中捕捉的姿势的一个或多个特征。姿势8A的初始图像可以被缩放以辅助比较,例如拉伸或收缩图像,使得检测的姿势的高度和宽度在每个方向上是一个标准偏差。缩放姿势8A的另一种方法是使用边界框,将图像拟合到设置的框架尺寸中。图像也可以被平移,其可以包括对环绕形成检测的姿势的线条的质心定位检测的姿势的图像。
GRM42或64可以将姿势8A分解成对应于形成姿势8A的线条的特征的一个或多个特征图像,将姿势8A的图像分开,使得每个特征图像示出对应于特定方向(例如水平、垂直、和对角)的姿势8A的图像中的线条。例如,特征图像可以示出姿势8A中的所有水平线条,而另一个特征图像示出构成姿势8A的所有垂直线条。第三和第四特征图像可以示出检测的姿势的对角线条。第五特征图像可以表示形成姿势8A的线条的起始点和结束点。诸如数量“3”和“8”的一些姿势具有相对类似的形状和线条。形成“3”和“8”的线条的典型起始点和结束点是不同的。典型地在接近顶部处开始绘制“3”并且向下进行,在接近符号的底部处完成。形成“8”的线条很可能在接近符号的顶部处开始和结束。虽然“3”和“8”的特征图像有可能示出类似的水平线条、垂直线条、和对角线条,起始点和结束点可以提供充分的区别来区分姿势。
GRM42和/或64的平滑模块46可以应用平滑函数以便通过例如对姿势8A的特征图像应用高斯平滑函数来使特征图像平滑(602)。GRM42和/或64的平滑模块46也可以对特征图像下采样(604)以进一步降低特征图像对噪音的灵敏度。对特征图像下采样可以通过为像素的移动窗口计算统计(诸如最小值、最大值、平均值等)来减少各个特征图像中的数据点(像素)的数量。在一个示例中,平滑模块46可以将3x3移动窗口应用至每个特征图像。在下采样的图像中的每个数据点可以对应于特征图像的对应3x3部分中的像素的最大值。由于GRM42或64将姿势8A与逐渐类似的已知姿势相比较,例如,随着识别算法发展通过集群的姿势层次结构,可以减少或消除下采样,允许姿势的细微特征被下采样掩盖以影响对姿势8A的识别。
例如,通过将姿势8A的特征图像与已知姿势的特征图像相比较,计算设备2A或服务器12的识别模块48可以将检测的姿势的特征图像与已知姿势相比较(606)。代表已知姿势的数据,诸如特征图像,可以被存储在服务器12的存储设备58或计算设备2A的存储设备32中。GRM42或64的识别模块48可以计算图像变形模型距离以便比较检测的姿势和已知的姿势。识别模块48可以计算特征图像的片和已知姿势特征图像的最佳匹配区域之间的距离。识别模块48可以限制对与已知姿势特征图像的对应的区域的最佳匹配检索的搜索。例如,识别模块48可以将匹配算法限制于对与在检测的姿势特征图像上的片位置相对应的位置的固定距离内的已知姿势特征图像的区域的检查。为了确定已知的姿势和检测的姿势之间的匹配强度,识别模块48可以对已知的姿势图像求和,对在匹配的片位置处在检测的姿势特征图像和已知的姿势特征图像之间的平方差求和。
识别模块48可以前进通过集群的姿势层次结构,因为不同的姿势由于其在丢弃的集群中的位置在比较之前被删除,所以减少了对不同的已知姿势进行的比较的数量。例如,可以从比较中移除由识别模块48发现与姿势8A不同的集群,连同形成丢弃的姿势集群的所有的子姿势和姿势集群。服务器12和计算设备2A的集群模块64或46可以分别将集群的姿势层次结构维持在存储设备58或28中。
图7是图示根据本公开的一个或多方面的、用于分析由图1中所示的计算设备2A检测的姿势的示例过程的流程图。仅为了图示的目的,下面在图2和图4的服务器12以及图2和图3的计算设备2A的上下文中描述示例过程。然而,可以使用其它设备来执行图7的示例过程。
计算设备2A可以接收姿势的事件指示检测(700),例如,经计算设备2A的输入设备34(图3)来检测姿势8A(图2)。输入设备34,例如存在敏感屏幕4A(图2),可以将姿势8A存储在计算设备2A的存储器28中(图3)以便处理。姿势8A可以被存储为图像并且可以伴随相关联的数据,诸如线条起始点和结束点的位置。多个线条可以形成姿势8A并且这些线条不必是连续的。
计算设备2A的GRM42或服务器12的GRM16可以通过将代表姿势8A的图像或数据与代表已知姿势的图像或数据相比较而至少部分地基于检测的姿势来识别捷径(702)。GRM42可以从存储器28检索姿势8A的图像和相关联的数据并且处理图像以便识别。使用提取模块44,GRM42可以将姿势8A的图像分解成表示形成姿势8A的线条的特性的一系列特征图像。平滑模块46可以对特征图像应用平滑函数以减输入或捕捉姿势8A中的次要误差的影响。在一些示例中,这些步骤中的一个或多个可以在服务器12上与计算设备2A远程地执行。计算设备2A可以将代表姿势8A的数据(诸如姿势8A的图像或一组特征图像)传输至服务器12以便识别并且可以接收姿势8A的识别和/或由识别姿势8A表示的一个或多个捷径。
通过使用识别模块48将姿势8A的特征图像与已知姿势的特征图像相比较,计算设备2A或服务器12的识别模块48可以将代表检测的姿势的数据与姿势集群相比较(704)。识别模块48可以将检测的姿势的平滑的和下采样的特征图像的部分与如上文相对于图5和图6所论述的集群的姿势层次结构中找到的已知姿势的特征图像相比较。在一些示例中,比较可以在计算设备2A上例如使用GRM42发生,而在其它示例中,比较可以在服务器12上或在两个位置处并行执行。
计算设备2A(图3)的集群模块50或服务器12(图4)的集群模块64可以选择与检测的姿势相关的预定数量的子姿势集群(706)。集群模块50或64可以首先向识别模块48供应代表在最高层级(例如,最大的集群)中的姿势的数据。然后,集群模块50或64和识别模块48可以选择最高层级集群的预定数量的最密切子集群用于比较。
集群模块50或64可以重复选择每代的子姿势集群,直至仅姿势被选定(708)为止,继续步骤706的选择和比较循环,直至没有姿势集群可用于选择为止。由于集群模块50或64和识别模块48前进通过集群的姿势层次结构,最后集群模块将无法检索进一步的子集群姿势。集群模块50或64可以利用最后的集群检索代表已知姿势的数据,以便由识别模块48比较来识别姿势8A。
计算设备2A,例如通过输出设备36(图3),可以生成捷径以便显示在计算设备上(710),例如输出设备36可以显示诸如捷径10和12的一个或多个捷径(图2)。输出设备36可以包括计算设备2A的存在敏感屏幕4A(图2)。识别姿势8A可以通过基于姿势的语言与一个或多个捷径相关联。基于姿势的语言的定义可以被存储在远程和/或本地可访问的一个或多个数据库或索引中,诸如服务器12的数据库14中。在一些示例中,计算设备2A可以具有姿势-捷径关联的本地存储的用户定制列表。这些姿势-捷径关联可以独立于基于姿势的语言。计算设备2A可以显示经姿势-捷径关联的用户定制列表和由基于姿势的语言定义的姿势-捷径关联选择的捷径两者。在一些示例中,计算设备2A可以从诸如服务器12的远程位置接收代表一个或多个相关联的捷径的数据。
计算设备2A可以以列表格式显示与识别的姿势8A相关联的捷径,允许计算设备2A的用户选择期望的捷径。计算设备2A可以将关于选择的信息传输至服务器12,允许服务器12更新捷径和姿势的使用历史并且有助于聚合的使用历史数据,服务器12(图4)的LDM18可以使用该使用历史数据来继续发展基于姿势的语言。
图8A-8D是图示根据本公开的一个或多个方面的用于安装在图1中所示的计算设备2A上的基于姿势的示例应用的基于文本的查询的图示。到基于姿势的示例应用的基于文本的查询可以允许用户检索和学习表示期望的捷径的姿势。
图8A示出显示基于姿势的应用的计算设备2A。如果用户不确定与期望的动作或捷径相关联的姿势,则用户可以将基于文本的查询输入到计算设备2A的文本输入域20中以促使计算设备2A搜索和显示期望的捷径和姿势。经由轻击或以其它方式指示在计算设备2A的存在敏感屏幕4A上的选择,用户可以选择文本输入域20,以促使计算设备2A激活文本输入域20。
图8B示出在计算设备2A的文本输入域20中部分地输入的搜索串,是使用虚拟键盘72来输入的。“Go(开始)”按钮74,当被致动(例如,经指尖、触控笔、或其它方法轻击)时,命令计算设备2A对姿势-捷径关联的在线数据库搜索与文本输入域20中的搜索串匹配的捷径,和/或将查询传输至服务器12以征询计算设备2A外部地保持的姿势语言数据库。计算设备2A和/或服务器12可以随着串被输入动态地匹配搜索串(例如,随着串被输入到文本输入域20中对部分输入的检索串执行检索)。计算设备2A可以在文本输入域20下方的列表视图中显示来自用户的浏览器历史或计算设备2A的在前使用的任意部分匹配(例如,捷径10和12)。这些捷径可以与和捷径相关联的姿势一起显示,允许用户学习姿势来简化对各种网页和应用的访问。
图8C示出其中通过搜索返回的捷径不具有与捷径相关联的姿势的示例。在一些示例中,特定捷径可以不具有与之相关联的姿势,诸如到“news.***.com”的捷径76。在其它示例中,返回的捷径可以具有与捷径相关联的多个姿势。在这种实例中,计算设备2A可以显示用于捷径的单个姿势,例如与捷径相关联的最常见的姿势。
图8D示出用户可以如何从结果列表选择正确的捷径。通过轻击或以其它方式指示计算设备2A的存在敏感屏幕4A上的选择,选择捷径76可以促使计算设备2A启动web浏览器至选定的捷径位置(在此处,将web浏览器打开到网站“ww.***.com”)或以其它方式执行由选定的捷径指示的动作。
图9A-9D是图示根据本公开的一个或多个方面的用于安装在图1中所示的计算设备2A上的基于姿势的示例应用的基于姿势的查询的图示。绘制姿势可以允许用户避免对计算设备2A使用更加麻烦的输入机制,诸如软键盘。
图9A示出装备有存在敏感屏幕4A的计算设备2A。计算设备2A正示出基于姿势的应用。用户可以将姿势绘制在存在敏感屏幕4A上以促使计算设备2A或服务器12搜索与姿势相关联的一个或多个捷径。
图9B示出在计算设备2A的存在敏感屏幕4A上的用户绘制姿势8A,代替将期望的捷径手动输入在文本输入域20中。计算设备2A可以使用如上所述的计算设备2A(图2)的GRM42来分析姿势8A。计算设备2A可以识别姿势8A并且使用基于姿势的语言来确定与识别的姿势8A相关联的一个或多个捷径。在一些示例中,姿势和/或捷径识别可以在服务器12上与计算设备2A远程地发生。
图9C示出显示与姿势8A相关联的捷径列表的计算设备2A的基于姿势的应用。计算设备2A可以例如在姿势8A下方的列表视图中显示与姿势8A最密切地匹配的一个或多个姿势的捷径。一些捷径(例如,捷径22)可以至少部分地基于基于姿势的语言与姿势8A相关联,而其它捷径可以通过姿势-捷径关系的用户定制与姿势8A相关联。这种用户定制的关联可以本地存储在计算设备2A(例如在存储设备32中)或外部地存储在服务器12上。
图9D示出对与输入姿势(姿势8A)对应的期望的捷径24的选择。用户可以通过轻击或以其它方式指示选择来从列表选择期望的捷径,并且计算设备2A可以执行由捷径24指示的动作。计算设备2A可以将代表对期望的捷径的选择的数据传输至服务器12,该服务器12可以存储选择或更新姿势和/或捷径的使用历史来反映选择。服务器12可以使用LDM18继续聚合跨越用户群体的使用历史数据以继续开发基于姿势的语言,将更新的关联传播至计算设备2。
图10A-10D是图示根据本公开的一个或多个方面的用于对安装在图1中所示的计算设备2A上的基于姿势的示例应用的基于姿势的查询接着基于文本的查询的图示。在一些情况下,期望的捷径不与特定姿势相关联,因此用户可以在输入的姿势和期望的捷径之间生成定制关联。
图10A示出装备有基于姿势的接口的计算设备2A和在存在敏感屏幕4A上输入的姿势,姿势8A。用户可以经存在敏感屏幕4A将姿势8A输入到计算设备2A中。在一些示例中,计算设备2A、或服务器12可以识别姿势8A和将与识别的姿势8A相关联的捷径列表呈现给计算设备2A的用户,但是正确的捷径可以不被显示在捷径86的列表中。用户可以经轻击或指示选择的其它方法来激活文本输入域20,并且开始将文本输入到文本输入域20中。
图10B示出计算设备2A可以隐藏绘制区域和将输入的姿势8A以小型化版本显示在右上角84上。计算设备2A也可以显示潜在捷径88的展开列表以便由用户选择。用户可以使用诸如虚拟键盘70的替代输入设备来输入期望的捷径,允许计算设备2A筛分预期捷径的列表。
图10C示出在计算设备2A的文本输入域20中的部分输入的搜索串。计算设备2A,独立地或结合服务器12,可以搜索对应于搜索串的捷径。随着搜索串被输入到文本输入域20中,该搜索可以动态地执行,匹配部分输入的搜索串。一个或多个捷径,诸如捷径92,可以经输出设备36(例如存在敏感屏幕4A)被呈现给用户以便用户选择。
图10D示出期望的捷径的选择。捷径92的选择促使计算设备2A执行与选定的捷径相关联的动作并且可以促使计算设备2A学习输入的姿势8A与选定的捷径之间的关联以便将来查询,将定制的姿势-捷径关联存储在本地存储器(例如计算设备2A的存储器28)中以便稍后调用。在一些示例中,计算设备2A可以将定制的姿势-捷径关联传输至服务器12以便备用和在基于姿势的语言的连续开发中被使用。
图11A-11D是图示根据本公开的一个或多个方面的用于安装在图1中所示的计算设备2A上的基于姿势的示例应用中的捷径编辑的图示。用户可以定制或定义新的姿势来表示捷径。
图11A示出装备有基于姿势的应用的计算设备2A。用户可以通过例如经虚拟键盘70将文本输入在文本输入域20中来搜索期望的姿势-捷径关联。计算设备2A可以显示匹配文本查询的潜在捷径86的列表。通过轻击或以其它方式指示在计算设备2A的存在敏感屏幕4A上的选择对捷径94的选择可以促使计算设备2A在基于姿势的应用中打开新的窗口,允许用户编辑由捷径94表示的姿势或姿势-捷径关联。
图11B示出被配置成允许用户编辑姿势的基于姿势的应用。计算设备2A可以显示示出关于选定的姿势-捷径关联的相关数据的一个或多个菜单,包括捷径96的名称和捷径指向的URL98。例如,计算设备可以显示与捷径相关联的各种姿势,诸如姿势102。一个姿势(例如,姿势106)可以以较暗的颜色被显示或以其它方式设置成与和捷径相关联的其它姿势分离,指示该姿势被用户群体与捷径最频繁地相关联。用户可以选择通过例如选择绘制你自身的按钮100来为捷径生成定制姿势。
图11C示出被配置成允许用户为特定捷径创建定制姿势的基于姿势的应用中的菜单。用户可以输入用户希望与捷径相关联的姿势(例如,姿势106)。姿势106可以由用户利用存在敏感屏幕4A上的指尖、触控笔、或其它工具来输入。在输入姿势106之后,计算设备2A将姿势106本地存储在计算设备2A中(例如在存储器28中)。
图11D示出显示与特定捷径相关联的一组姿势(包括姿势106)的计算设备2A的基于姿势的应用(在图11C中所述)。计算设备2A可以(例如通过显示定制的姿势108)在与捷径相关联的其它姿势之中显示新姿势106。计算设备2A也可以将定制的姿势108或代表定制的姿势108的数据传输至服务器12以便备用以及以继续开发基于姿势的语言。
在本公开中描述的技术可以至少部分以硬件、软件、固件或其任何组合来实现。例如,可以在一个或多个处理器,包括一个或多个微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或任何其他等价集成或分离逻辑电路,以及这种组件的任何组合内实现所描述的技术的各个方面。词语“处理器”或“处理电路”一般可以指单独或与其他逻辑电路结合的任何前述逻辑电路、或任何其他等价电路。包括硬件的控制单元也可以执行本公开的技术中的一个或多个。
可以在同一设备或单独设备内实现这种硬件、软件和固件来支持在本公开中描述的各种技术。另外,任何所描述的单元、模块或组件可以在一起或单独被实现为分离但是可互操作的逻辑器件。将不同的特征描述为模块或单元意在强调不同功能方面,并不一定暗示这种模块或单元必须由单独硬件、固件或软件组件实现。相反,与一个或多个模块或单元相关联的功能可以由单独硬件、固件或软件组件执行、或被集成在共同或单独硬件、固件或软件组件内。
在本公开中描述的技术还可以在包括编码有指令的计算机可读存储介质的制品中被实现或被编码。嵌入或编码在包括被编码的计算机可读存储介质的制品中的指令可以促使一个或多个可编程处理器或其他处理器实现在此描述的技术中的一个或多个,诸如当包括或编码在计算机可读存储介质中的指令被一个或多个处理器执行时。计算机可读存储介质可以包括随机存取存储器(RAM)、只读存储器(ROM)、可编程只读存储器(PROM)、可擦可编程只读存储器(EPROM)、电可擦可编程只读存储器(EEPROM)、闪存、硬盘、光盘ROM(CD-ROM)、软盘、盒式磁带、磁介质、光介质或其他计算机可读介质。在一些示例中,制品可以包括一个或多个计算机可读存储介质。
在一些示例中,计算机可读存储介质可以包括非暂时性介质。词语“非暂时性”可以指示存储介质不在载波或传播信号中体现。在某些示例中,非暂时性存储介质可以存储随着时间的推移能够改变的数据(例如,在RAM或高速缓存中)。
已经描述了各种实施例。这些以及其它实施例在所附权利要求的范围之内。
Claims (15)
1.一种用于基于姿势的输入语言的方法,包括:
由第一计算设备接收代表由所述第一计算设备的存在敏感屏幕检测的姿势的数据;
由所述第一计算设备从服务器接收姿势-捷径关联的聚合组,
其中,所述姿势-捷径关联的聚合组包括由所述服务器从至少第二计算设备接收的多个姿势-捷径关联,并且
其中,所述姿势-捷径关联的聚合组至少部分地基于1)来自所述姿势-捷径关联的聚合组的每个相应的姿势和2)来自所述姿势-捷径关联的聚合组的每个相应的捷径中的至少一个之间的相似性被聚合;
由所述第一计算设备识别与所检测的姿势相关联的捷径,
其中所述捷径对应于要由所述第一计算设备执行的动作,并且
其中识别所述捷径包括访问所述姿势-捷径关联的聚合组的至少一部分,所述姿势-捷径关联的聚合组的所述一部分已经至少部分地基于从至少所述第二计算设备接收的在前用户输入而确定;以及
由所述第一计算设备提供代表所述捷径的数据以显示。
2.根据权利要求1所述的方法,其中,识别与所述姿势相关联的所述捷径进一步包括:
由所述第一计算设备识别与所述姿势的至少一部分相关联的字母;以及
至少部分地基于所识别的字母来识别与所述姿势相联的所述捷径。
3.根据权利要求1-2中的任一项所述的方法,其中,识别与所述姿势相关联的所述捷径进一步包括:
至少部分地基于在所述姿势与一组图像-捷径关联的图像之间的所检测的相似性来识别与所述姿势相关联的第一捷径;
使用手写识别来识别与所述姿势相关联的第二捷径以识别与所述姿势相关联的至少一个字母;以及
选择所述第一捷径和所述第二捷径中的一个作为所识别的捷径。
4.根据权利要求1-2中的任一项所述的方法,其中,识别与所述姿势相关联的所述捷径包括:
由所述第一计算设备将代表所述姿势的数据发送至所述服务器;以及
由所述第一计算设备从所述服务器接收与所述姿势相关联的所述捷径的指示。
5.根据权利要求1-2中的任一项所述的方法,
其中,至少部分地基于来自至少一个其他用户的在前用户输入确定的所述姿势-捷径关联的聚合组的所述一部分包括所述姿势-捷径关联的聚合组的第一部分,
其中,所述姿势-捷径关联的聚合组的至少第二部分被存储在所述第一计算设备上,并且
其中,识别与所检测的姿势相关联的所述捷径进一步包括:
访问存储在所述第一计算设备上的所述姿势-捷径关联的所述聚合组的所述第二部分以识别第一候选捷径;
由所述第一计算设备将代表所述姿势的数据发送至所述服务器;
由所述第一计算设备从所述服务器接收与所述姿势相关联的第二候选捷径的指示;以及
选择所述第一候选捷径和所述第二候选捷径中的一个作为与所述姿势相关联的所述捷径。
6.根据权利要求5所述的方法,进一步包括:
当所述姿势和所述第一候选捷径之间的关联由所述第一计算设备的用户配置时,选择所述第一候选捷径作为与所述姿势相关联的所述捷径。
7.根据权利要求1-2中的任一项所述的方法,
其中,所述姿势-捷径关联的聚合组包括多个姿势集群,其中,来自所述多个姿势集群中的每一个姿势集群包括第一多个姿势和第二多个姿势,来自所述第一多个姿势中的每一个姿势被确定为具有小于与所述第二多个姿势的第二组特征不同的第一阈值量的第一组特征,并且
其中,所述第一多个姿势被以层次结构组织,使得在被包括在来自所述多个姿势集群的每个相应的姿势群集的子姿势集群中的第三组姿势的第三组特征之间的第二阈值量差小于在被包括在所述相应的姿势集群的姿势的所述第一组特征之间的第一阈值量差。
8.根据权利要求7所述的方法,
其中,所述姿势包括定义所述姿势的形状的第三组特征,并且
其中,识别与所述姿势相关联的所述捷径进一步包括:
确定所述第三组特征是否小于与所述多个姿势集群的所述相应的姿势集群的第四组特征不同的第三阈值量。
9.根据权利要求8所述的方法,进一步包括:
当所述第三组特征小于与所述第四组特征不同的阈值量时:
响应于确定所述相应的姿势集群具有至少一个子姿势集群,递归地选择所述相应的姿势集群中的至少一个子集群的子姿势集群,并且确定所述姿势的所述第三组特征是否小于与所述相应的姿势集群的至少一个子集群中的子姿势集群的第五组特征不同的第三阈值量;以及
响应于确定所述相应的姿势集群不具有至少一个子姿势集群,至少部分地基于被包括在所述相应的姿势集群中的每个姿势到相应的捷径的映射,识别与被包括在所述相应的姿势集群中的姿势相关联的捷径。
10.根据权利要求8所述的方法,进一步包括:
当所述第三组特征不小于与所述第四组特征不同的第一阈值量时:
响应于确定所述相应的姿势集群具有先前未分析的至少一个同属姿势集群,递归地从所述至少一个同属姿势集群选择同属姿势集群,并且确定所述姿势的所述第三组特征是否小于与所述同属姿势集群的第一组特征不同的第三阈值量;
响应于确定所述相应的姿势集群的所有同属姿势先前已被分析并且所述相应的姿势的至少一个母姿势集群先前尚未被分析,选择所述母姿势集群中的先前尚未被分析的一个母姿势集群,并且分析所述相应的姿势集群的选定的母姿势集群;以及
响应于确定所述相应的姿势集群的所有同属姿势先前被分析并且所述相应的姿势的所有母姿势集群先前已经被分析,至少部分地基于被包括在所述母姿势集群中的每个姿势到捷径的映射,识别与被包括在所述母姿势集群中的姿势相关联的捷径。
11.根据权利要求1-2中的任一项所述的方法,进一步包括:
至少部分地基于由所述第一计算设备接收的用户输入,由所述第一计算设备将不同的捷径与所述姿势相关联;以及
将所述不同的捷径与所述姿势之间的关联的指示存储在所述第一计算设备中的数据储存库中;以及
由所述第一计算设备将所述不同的捷径与所述姿势之间的关联的指示发送至所述服务器。
12.根据权利要求1-2中的任一项所述的方法,进一步包括:
由所述第一计算设备接收至少一个基于文本的搜索词语;
至少部分地基于所述至少一个基于文本的搜索词语来生成查询;
执行所述查询以从所述第一计算设备的数据储存库检索与一组捷径和相关联的姿势相关联的数据;以及
在所述第一计算设备的存在敏感屏幕处输出所检索的捷径和相关联的姿势组的表示。
13.根据权利要求1-2中的任一项所述的方法,进一步包括:
当没有捷径与所述姿势相关联时,由所述第一计算设备接收要由所述第一计算设备执行的动作的选择;以及
存储在所述姿势与到选定的动作的捷径之间的关联。
14.一种用于基于姿势的输入语言的设备,包括:
至少一个处理器;
网络接口;和
语言开发模块,
其中,所述网络接口被配置成:
接收代表一组姿势的数据,来自所述一组姿势的每个姿势已经由多个计算设备中的至少一个计算设备检测,以及接收代表一个或多个捷径的数据,来自所述一个或多个捷径的每个捷径与来自所述一组姿势中的至少一个姿势相关联,其中,所述一个或多个捷径中的每个捷径对应于要由所述多个计算设备中的至少一个计算设备执行的操作,
从所述多个计算设备中的一个接收代表在计算设备的存在敏感屏幕处检测的姿势的数据,
其中,所述语言开发模块能由所述至少一个处理器操作以:
将代表所述一组姿势的数据与代表从所述多个计算设备接收的相关联的捷径的数据分类成多个姿势-捷径组,所述分类至少部分地基于在1)来自所述一组姿势的每个姿势以及2)来自所述一个或多个捷径的每个捷径中的至少一个之间的检测的相似性,其中,来自所述多个姿势-捷径组的每个姿势-捷径组包括a)代表至少部分地基于被包括在相应的姿势-捷径组中的每个姿势之间的检测的相似性分类的一组姿势-捷径关联的数据,或b)代表至少部分地基于被包括在相应的姿势-捷径组中的每个捷径之间的检测的相似性分类的一组姿势-捷径关联的数据,
从所述多个计算设备中的一个计算设备接收代表在计算设备的存在敏感屏幕处检测的姿势的数据,
将代表所检测的姿势的数据与代表姿势分组的数据相比较,其中,来自至少两个姿势-捷径关联的分类子组的每个相应的姿势-捷径关联的分类子组包括母姿势组和子姿势组的相应的代型层次结构,所述代型层次结构通过至少部分地基于来自相应的姿势-捷径关联的子组的姿势之间的检测的相似性对来自相应的姿势-捷径关联的子组的姿势进行分类而形成,
至少部分地基于所述比较来识别与所述姿势相关联的捷径,并且
其中,所述网络接口进一步被配置成将代表所识别的捷径的数据传输至所述计算设备。
15.根据权利要求14所述的设备,进一步包括用于执行由权利要求1-13中的任一项所述的方法的装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710252808.2A CN107273019B (zh) | 2011-09-20 | 2012-09-20 | 基于协同姿势的输入语言 |
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/237,862 | 2011-09-20 | ||
US13/237,862 US8751972B2 (en) | 2011-09-20 | 2011-09-20 | Collaborative gesture-based input language |
US13/250,848 | 2011-09-30 | ||
US13/250,848 US8196066B1 (en) | 2011-09-20 | 2011-09-30 | Collaborative gesture-based input language |
PCT/US2012/056384 WO2013043901A1 (en) | 2011-09-20 | 2012-09-20 | Collaborative gesture-based input language |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710252808.2A Division CN107273019B (zh) | 2011-09-20 | 2012-09-20 | 基于协同姿势的输入语言 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103814351A CN103814351A (zh) | 2014-05-21 |
CN103814351B true CN103814351B (zh) | 2017-05-17 |
Family
ID=46148184
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710252808.2A Active CN107273019B (zh) | 2011-09-20 | 2012-09-20 | 基于协同姿势的输入语言 |
CN201280045884.1A Active CN103814351B (zh) | 2011-09-20 | 2012-09-20 | 基于协同姿势的输入语言 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710252808.2A Active CN107273019B (zh) | 2011-09-20 | 2012-09-20 | 基于协同姿势的输入语言 |
Country Status (4)
Country | Link |
---|---|
US (2) | US8751972B2 (zh) |
EP (1) | EP2758860A1 (zh) |
CN (2) | CN107273019B (zh) |
WO (1) | WO2013043901A1 (zh) |
Families Citing this family (64)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102694942B (zh) * | 2011-03-23 | 2015-07-15 | 株式会社东芝 | 图像处理装置、操作方法显示方法及画面显示方法 |
US20130093751A1 (en) * | 2011-10-12 | 2013-04-18 | Microsoft Corporation | Gesture bank to improve skeletal tracking |
US9620122B2 (en) * | 2011-12-08 | 2017-04-11 | Lenovo (Singapore) Pte. Ltd | Hybrid speech recognition |
US20130162514A1 (en) * | 2011-12-21 | 2013-06-27 | Lenovo (Singapore) Pte, Ltd. | Gesture mode selection |
KR20140114832A (ko) * | 2012-01-20 | 2014-09-29 | 톰슨 라이센싱 | 사용자 인식 방법 및 장치 |
US8453058B1 (en) * | 2012-02-20 | 2013-05-28 | Google Inc. | Crowd-sourced audio shortcuts |
US8539375B1 (en) | 2012-02-24 | 2013-09-17 | Blackberry Limited | Method and apparatus for providing a user interface on a device enabling selection of operations to be performed in relation to content |
US9223483B2 (en) | 2012-02-24 | 2015-12-29 | Blackberry Limited | Method and apparatus for providing a user interface on a device that indicates content operators |
US9600169B2 (en) * | 2012-02-27 | 2017-03-21 | Yahoo! Inc. | Customizable gestures for mobile devices |
US9507512B1 (en) | 2012-04-25 | 2016-11-29 | Amazon Technologies, Inc. | Using gestures to deliver content to predefined destinations |
KR101370830B1 (ko) * | 2012-04-25 | 2014-03-25 | 한국과학기술연구원 | 사용자 인터페이스 구현 시스템 및 구현 방법 |
US10365779B2 (en) * | 2012-05-17 | 2019-07-30 | Sony Interactive Entertainment LLC | Dynamically assigning shortcuts to menu items and actions |
US9671566B2 (en) | 2012-06-11 | 2017-06-06 | Magic Leap, Inc. | Planar waveguide apparatus with diffraction element(s) and system employing same |
KR101392936B1 (ko) * | 2012-06-29 | 2014-05-09 | 한국과학기술연구원 | 사용자 맞춤형 인터페이스 시스템 및 그 구현 방법 |
EP2874058A4 (en) * | 2012-07-12 | 2016-03-16 | Yulong Computer Telecomm Tech | TERMINAL AND METHOD FOR CONTROLLING TERMINAL |
US9020845B2 (en) | 2012-09-25 | 2015-04-28 | Alexander Hieronymous Marlowe | System and method for enhanced shopping, preference, profile and survey data input and gathering |
US8782549B2 (en) | 2012-10-05 | 2014-07-15 | Google Inc. | Incremental feature-based gesture-keyboard decoding |
US9021380B2 (en) | 2012-10-05 | 2015-04-28 | Google Inc. | Incremental multi-touch gesture recognition |
US8701032B1 (en) | 2012-10-16 | 2014-04-15 | Google Inc. | Incremental multi-word recognition |
US8843845B2 (en) | 2012-10-16 | 2014-09-23 | Google Inc. | Multi-gesture text input prediction |
US8850350B2 (en) | 2012-10-16 | 2014-09-30 | Google Inc. | Partial gesture text entry |
US8819574B2 (en) | 2012-10-22 | 2014-08-26 | Google Inc. | Space prediction for text input |
US20140149916A1 (en) * | 2012-11-28 | 2014-05-29 | SoMo Audience Corp. | Content manipulation using swipe gesture recognition technology |
US20140184519A1 (en) * | 2012-12-28 | 2014-07-03 | Hayat Benchenaa | Adapting user interface based on handedness of use of mobile computing device |
US8832589B2 (en) | 2013-01-15 | 2014-09-09 | Google Inc. | Touch keyboard using language and spatial models |
WO2014128749A1 (ja) * | 2013-02-19 | 2014-08-28 | 株式会社ブリリアントサービス | 形状認識装置、形状認識プログラム、および形状認識方法 |
CN103218159A (zh) * | 2013-03-14 | 2013-07-24 | 鸿富锦精密工业(深圳)有限公司 | 应用程序检索***及方法 |
KR20140117137A (ko) * | 2013-03-26 | 2014-10-07 | 삼성전자주식회사 | 터치용 펜을 이용한 휴대용 장치 및 이를 이용한 어플리케이션 제어 방법 |
EP2979477B1 (en) | 2013-03-29 | 2020-07-08 | Orange | Method to unlock a screen using a touch input |
US8887103B1 (en) * | 2013-04-22 | 2014-11-11 | Google Inc. | Dynamically-positioned character string suggestions for gesture typing |
KR102203885B1 (ko) * | 2013-04-26 | 2021-01-15 | 삼성전자주식회사 | 사용자 단말 장치 및 그 제어 방법 |
US9081500B2 (en) | 2013-05-03 | 2015-07-14 | Google Inc. | Alternative hypothesis error correction for gesture typing |
US10481769B2 (en) * | 2013-06-09 | 2019-11-19 | Apple Inc. | Device, method, and graphical user interface for providing navigation and search functionalities |
FR3007859A1 (fr) * | 2013-06-27 | 2015-01-02 | France Telecom | Procede de reconnaissance d'un geste instrumente, dispositif, terminal d'utilisateur et programme d'ordinateur associes |
US10402060B2 (en) * | 2013-06-28 | 2019-09-03 | Orange | System and method for gesture disambiguation |
WO2015006784A2 (en) | 2013-07-12 | 2015-01-15 | Magic Leap, Inc. | Planar waveguide apparatus with diffraction element(s) and system employing same |
US10228242B2 (en) | 2013-07-12 | 2019-03-12 | Magic Leap, Inc. | Method and system for determining user input based on gesture |
CN104346078B (zh) * | 2013-07-24 | 2017-09-15 | ***通信集团公司 | 一种应用定位方法和装置 |
JPWO2015045409A1 (ja) * | 2013-09-26 | 2017-03-09 | 京セラ株式会社 | 機器制御装置、機器制御方法および制御システム |
CN104636059B (zh) * | 2013-11-13 | 2018-04-13 | 展讯通信(上海)有限公司 | 记事项目的搜索方法及其*** |
CN104683534A (zh) * | 2013-11-30 | 2015-06-03 | 富泰华工业(深圳)有限公司 | 通信装置、联系人查询***及方法 |
US20150227269A1 (en) * | 2014-02-07 | 2015-08-13 | Charles J. Kulas | Fast response graphical user interface |
KR20170009979A (ko) * | 2014-05-28 | 2017-01-25 | 톰슨 라이센싱 | 터치 입력을 위한 방법 및 시스템 |
US20160026252A1 (en) * | 2014-07-28 | 2016-01-28 | Sony Corporation | System and method for gesture recognition |
KR101637285B1 (ko) * | 2014-11-28 | 2016-07-07 | 현대자동차 주식회사 | 즐겨찾기 기능을 제공하는 제어 패널 |
CN105812929A (zh) * | 2014-12-30 | 2016-07-27 | 中兴通讯股份有限公司 | 信息调用方法及装置 |
KR102370678B1 (ko) | 2015-06-25 | 2022-03-07 | 삼성전자주식회사 | 전자 장치의 터치 센싱 모듈 제어 방법 및 전자 장치, 전자 장치에 구비된 터치 센싱 모듈의 동작 방법 및 터치 센싱 모듈 |
US10360560B2 (en) | 2015-09-01 | 2019-07-23 | Bank Of America Corporation | System for authenticating a wearable device for transaction queuing |
US10817862B2 (en) | 2015-09-01 | 2020-10-27 | Bank Of America Corporation | System for authenticating a mobile device for comprehensive access to a facility |
US10438201B2 (en) * | 2015-09-09 | 2019-10-08 | Bank Of America Corporation | System for generating a transaction specific tokenization for a wearable device |
GB201523166D0 (en) * | 2015-12-31 | 2016-02-17 | Jones Maria F | Direct integration system |
JP6343630B2 (ja) * | 2016-05-20 | 2018-06-13 | 株式会社野村総合研究所 | 情報処理装置およびコンピュータプログラム |
EP3267291B1 (en) * | 2016-07-07 | 2019-11-06 | David Franklin | Gesture-based user interface |
US10739990B1 (en) * | 2016-12-18 | 2020-08-11 | Leonid Despotuli | Gesture-based mobile device user interface |
US10324621B2 (en) * | 2017-03-02 | 2019-06-18 | Adobe Inc. | Facilitating analysis of use interface gesture patterns |
US11237635B2 (en) | 2017-04-26 | 2022-02-01 | Cognixion | Nonverbal multi-input and feedback devices for user intended computer control and communication of text, graphics and audio |
US11402909B2 (en) | 2017-04-26 | 2022-08-02 | Cognixion | Brain computer interface for augmented reality |
US10268369B2 (en) * | 2017-06-06 | 2019-04-23 | Polycom, Inc. | Detecting erasure gestures in an electronic presentation system |
US10607606B2 (en) | 2017-06-19 | 2020-03-31 | Lenovo (Singapore) Pte. Ltd. | Systems and methods for execution of digital assistant |
US11093041B2 (en) * | 2018-11-30 | 2021-08-17 | International Business Machines Corporation | Computer system gesture-based graphical user interface control |
US11526571B2 (en) * | 2019-09-12 | 2022-12-13 | International Business Machines Corporation | Requesting an IP address using a non-textual based graphical resource identifier |
US11032409B1 (en) | 2019-09-20 | 2021-06-08 | Yellcast, Inc | Methods for geographic gesturing using a mobile device for interactions with nearby other mobile devices |
US11163372B2 (en) * | 2020-04-01 | 2021-11-02 | Toyota Motor North America, Inc | Transport gait and gesture interpretation |
US11755194B2 (en) * | 2020-10-06 | 2023-09-12 | Capital One Services, Llc | Interactive searching using gestures on any mobile search results page |
Family Cites Families (33)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000029595A (ja) * | 1998-07-15 | 2000-01-28 | Fujitsu Ltd | メニューインタフェースを有する電子処理装置 |
SE0000850D0 (sv) | 2000-03-13 | 2000-03-13 | Pink Solution Ab | Recognition arrangement |
US6868383B1 (en) | 2001-07-12 | 2005-03-15 | At&T Corp. | Systems and methods for extracting meaning from multimodal inputs using finite-state devices |
CN1641555A (zh) * | 2004-01-15 | 2005-07-20 | 英华达(南京)科技有限公司 | 利用手写输入识别用以开启应用程式的方法 |
US7173604B2 (en) * | 2004-03-23 | 2007-02-06 | Fujitsu Limited | Gesture identification of controlled devices |
CN101086693A (zh) * | 2006-06-09 | 2007-12-12 | 志合电脑股份有限公司 | 输入装置及其输入方法 |
DE202007018940U1 (de) * | 2006-08-15 | 2009-12-10 | N-Trig Ltd. | Bewegungserkennung für einen Digitalisierer |
JP4267648B2 (ja) * | 2006-08-25 | 2009-05-27 | 株式会社東芝 | インターフェース装置及びその方法 |
US7725547B2 (en) | 2006-09-06 | 2010-05-25 | International Business Machines Corporation | Informing a user of gestures made by others out of the user's line of sight |
US8356254B2 (en) | 2006-10-25 | 2013-01-15 | International Business Machines Corporation | System and method for interacting with a display |
CN101174193A (zh) * | 2006-10-31 | 2008-05-07 | 佛山市顺德区顺达电脑厂有限公司 | 以图像撷取操作电子设备选项功能的装置及其方法 |
US7903115B2 (en) | 2007-01-07 | 2011-03-08 | Apple Inc. | Animations |
CN101231567A (zh) * | 2007-01-24 | 2008-07-30 | 北京三星通信技术研究有限公司 | 基于手写识别的人机交互方法和***及运行该***的设备 |
US20090100383A1 (en) * | 2007-10-16 | 2009-04-16 | Microsoft Corporation | Predictive gesturing in graphical user interface |
CN101470568A (zh) * | 2007-12-24 | 2009-07-01 | 英华达(南京)科技有限公司 | 设定快捷功能的方法 |
US20100031202A1 (en) * | 2008-08-04 | 2010-02-04 | Microsoft Corporation | User-defined gesture set for surface computing |
US20100100854A1 (en) * | 2008-10-16 | 2010-04-22 | Dell Products L.P. | Gesture operation input system |
US20100100618A1 (en) | 2008-10-22 | 2010-04-22 | Matthew Kuhlke | Differentiating a User from Multiple Users Based on a Determined Pattern of Network Usage |
CN101546233A (zh) * | 2009-05-05 | 2009-09-30 | 上海华勤通讯技术有限公司 | 触摸屏界面手势识别操作方法 |
US8693724B2 (en) * | 2009-05-29 | 2014-04-08 | Microsoft Corporation | Method and system implementing user-centric gesture control |
US8145594B2 (en) * | 2009-05-29 | 2012-03-27 | Microsoft Corporation | Localized gesture aggregation |
US9400559B2 (en) | 2009-05-29 | 2016-07-26 | Microsoft Technology Licensing, Llc | Gesture shortcuts |
KR101572843B1 (ko) * | 2009-06-03 | 2015-11-30 | 엘지전자 주식회사 | 영상 표시 장치 및 그 동작 방법 |
US9141193B2 (en) * | 2009-08-31 | 2015-09-22 | Microsoft Technology Licensing, Llc | Techniques for using human gestures to control gesture unaware programs |
US9400548B2 (en) | 2009-10-19 | 2016-07-26 | Microsoft Technology Licensing, Llc | Gesture personalization and profile roaming |
US8436821B1 (en) * | 2009-11-20 | 2013-05-07 | Adobe Systems Incorporated | System and method for developing and classifying touch gestures |
US8631355B2 (en) * | 2010-01-08 | 2014-01-14 | Microsoft Corporation | Assigning gesture dictionaries |
CN101763219A (zh) * | 2010-02-03 | 2010-06-30 | 北京优视动景网络科技有限公司 | 可触摸式液晶屏操作网页浏览器的用户界面方法及设备 |
US8490002B2 (en) | 2010-02-11 | 2013-07-16 | Apple Inc. | Projected display shared workspaces |
US20110214055A1 (en) * | 2010-02-26 | 2011-09-01 | General Electric Company | Systems and Methods for Using Structured Libraries of Gestures on Multi-Touch Clinical Systems |
US20110296304A1 (en) | 2010-05-27 | 2011-12-01 | Palm, Inc. | Adaptive Gesture Tutorial |
US20110314427A1 (en) * | 2010-06-18 | 2011-12-22 | Samsung Electronics Co., Ltd. | Personalization using custom gestures |
US9785335B2 (en) * | 2010-12-27 | 2017-10-10 | Sling Media Inc. | Systems and methods for adaptive gesture recognition |
-
2011
- 2011-09-20 US US13/237,862 patent/US8751972B2/en not_active Expired - Fee Related
- 2011-09-30 US US13/250,848 patent/US8196066B1/en not_active Expired - Fee Related
-
2012
- 2012-09-20 CN CN201710252808.2A patent/CN107273019B/zh active Active
- 2012-09-20 EP EP12784362.1A patent/EP2758860A1/en not_active Withdrawn
- 2012-09-20 WO PCT/US2012/056384 patent/WO2013043901A1/en unknown
- 2012-09-20 CN CN201280045884.1A patent/CN103814351B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
US20130074014A1 (en) | 2013-03-21 |
CN107273019A (zh) | 2017-10-20 |
WO2013043901A1 (en) | 2013-03-28 |
US8196066B1 (en) | 2012-06-05 |
US8751972B2 (en) | 2014-06-10 |
CN103814351A (zh) | 2014-05-21 |
CN107273019B (zh) | 2020-12-01 |
EP2758860A1 (en) | 2014-07-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103814351B (zh) | 基于协同姿势的输入语言 | |
US11238211B2 (en) | Automatic hyperlinking of documents | |
US11080340B2 (en) | Systems and methods for classifying electronic information using advanced active learning techniques | |
CN104137038B (zh) | 具有手指鉴别的智能触摸屏键盘 | |
US7797356B2 (en) | Dynamically detecting exceptions based on data changes | |
CN109471944A (zh) | 文本分类模型的训练方法、装置及可读存储介质 | |
WO2016073856A1 (en) | Nonparametric model for detection of spatially diverse temporal patterns | |
US10698876B2 (en) | Distinguish phrases in displayed content | |
CN110178129A (zh) | 生成用于图像处理操作的目标图像的语义表示的***和方法 | |
US11887011B2 (en) | Schema augmentation system for exploratory research | |
CN104516635A (zh) | 管理内容显示 | |
CN114175018A (zh) | 新词分类技术 | |
Sen et al. | Feature selection for recognition of online handwritten bangla characters | |
US20170293691A1 (en) | Identifying Abandonment Using Gesture Movement | |
US11785098B2 (en) | Systems and methods for personalization of a computer application | |
US10558861B2 (en) | Supplementing a media stream with additional information | |
CN113407738A (zh) | 一种相似文本检索方法、装置、电子设备和存储介质 | |
US20230410543A1 (en) | List and tabular data extraction system and method | |
CN110347928A (zh) | 一种个性化信息推荐方法与*** | |
Yao | Automatic GUI Code Generation with Deep Learning | |
Mustafa | Non-word attributes’ efficiency in text mining authorship prediction | |
US11631263B1 (en) | Gradient boosting tree-based spatial line grouping on digital ink strokes | |
CN113221513B (zh) | 一种跨模态数据融合的个性化产品描述生成方法 | |
CN118170905A (zh) | 物品知识库构建方法、装置、设备、存储介质和产品 | |
CN110502628A (zh) | 意图词的生成方法、装置、电子设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CP01 | Change in the name or title of a patent holder | ||
CP01 | Change in the name or title of a patent holder |
Address after: American California Patentee after: Google limited liability company Address before: American California Patentee before: Google Inc. |