[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

CN104685451B - 姿势适应选择 - Google Patents

姿势适应选择 Download PDF

Info

Publication number
CN104685451B
CN104685451B CN201380048280.7A CN201380048280A CN104685451B CN 104685451 B CN104685451 B CN 104685451B CN 201380048280 A CN201380048280 A CN 201380048280A CN 104685451 B CN104685451 B CN 104685451B
Authority
CN
China
Prior art keywords
input
computing device
key
sensitive display
user
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
Application number
CN201380048280.7A
Other languages
English (en)
Other versions
CN104685451A (zh
Inventor
翟树民
欧阳瑜
殷颍
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Google LLC
Original Assignee
Google LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Google LLC filed Critical Google LLC
Priority to CN201810295894.XA priority Critical patent/CN108710406B/zh
Publication of CN104685451A publication Critical patent/CN104685451A/zh
Application granted granted Critical
Publication of CN104685451B publication Critical patent/CN104685451B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/16Constructional details or arrangements
    • G06F1/1613Constructional details or arrangements for portable computers
    • G06F1/1633Constructional details or arrangements of portable computers not specific to the type of enclosures covered by groups G06F1/1615 - G06F1/1626
    • G06F1/1684Constructional details or arrangements related to integrated I/O peripherals not covered by groups G06F1/1635 - G06F1/1675
    • G06F1/1694Constructional details or arrangements related to integrated I/O peripherals not covered by groups G06F1/1635 - G06F1/1675 the I/O peripheral being a single or a set of motion sensors for pointer control or gesture input obtained by sensing movements of the portable computer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/02Input arrangements using manually operated switches, e.g. using keyboards or dials
    • G06F3/023Arrangements for converting discrete items of information into a coded form, e.g. arrangements for interpreting keyboard generated codes as alphanumeric codes, operand codes or instruction codes
    • G06F3/0233Character input methods
    • G06F3/0237Character input methods using prediction or retrieval techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/041Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means
    • G06F3/0416Control or interface arrangements specially adapted for digitisers
    • G06F3/0418Control or interface arrangements specially adapted for digitisers for error correction or compensation, e.g. based on parallax, calibration or alignment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/041Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means
    • G06F3/0416Control or interface arrangements specially adapted for digitisers
    • G06F3/0418Control or interface arrangements specially adapted for digitisers for error correction or compensation, e.g. based on parallax, calibration or alignment
    • G06F3/04186Touch location disambiguation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction 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/04883Interaction 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction 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/04886Interaction 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 by partitioning the display area of the touch-screen or the surface of the digitising tablet into independently controllable areas, e.g. virtual keyboards or menus

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • User Interface Of Digital Computer (AREA)
  • Input From Keyboards Or The Like (AREA)

Abstract

在一个示例中,计算设备包括至少一个处理器,其中,至少一个处理器被配置成输出包括多个键的图形键盘以用于显示。所述至少一个处理器可被配置成接收在被操作地耦接到计算设备的存在敏感输入设备处检测到的输入的指示;以及响应于接收到该指示,确定输入的输入姿势,其中,输入姿势表示计算设备相对于用来提供输入的输入单元的取向。所述至少一个处理器可被配置成至少部分地基于输入姿势来选择被用于确定所述多个键中的一个或多个中的至少一个已被选择的概率的空间模型。

Description

姿势适应选择
本申请要求2012年9月18日提交的美国临时申请号61/702,678的权益,其全部内容被通过引用结合到本文中。
背景技术
某些计算设备(例如,移动电话、平板计算机等)可使用存在敏感显示器(例如,屏幕)提供图形键盘作为图形用户界面的一部分以用于文本录入。例如,计算设备的存在敏感显示器可输出图形(或“软”)键盘,其使得用户能够通过指示在存在敏感显示器处显示的键(例如,通过在其上面或之上敲击、滑动和/或挥扫)来录入数据。
在某些情况下,计算设备可呈现图形键盘,用户通过敲击键盘的个体键或基本上通过将他或她的手指在与键相关联的区域之上滑动而用手势表示出单词来与之相交互。这样,图形键盘提供允许用户用一个或多个手势来录入字符、单词或一组单词的输入方法。同样地,图形键盘可允许用户通过快速地且准确地录入文本来达到一定程度的效率。提供图形键盘的计算设备可利用单词预测、自动修正和/或建议技术以便根据用户输入来确定单词。
然而,图形键盘可具有某些缺点。例如,计算设备可能在用户在输出连续手势图形键盘的存在敏感屏幕处作出手势时生成触摸事件。触摸事件可包括在执行敲击或连续手势时被用户的手指滑过的存在敏感输入设备的一个或多个不同位置的表示。在某些示例中,用户可基于用户用来提供输入的不同姿势(例如,用双拇指和/或不同手的两个手指敲击(双模态)对比用单个手指敲击(单敲击))而在不同的位置上提供此类输入。同样地,图形键盘可能未正确地确定用户意图的键和/或单词。因此,计算设备可选择用户并不意图录入的一个或多个单词和/或字符,从而导致减小用户可与计算设备交互的速度的不准确文本录入。
发明内容
在一个示例中,一种方法包括由计算设备且为了显示而输出包括多个键的图形键盘。该方法还可包括由计算设备接收在被操作地耦接到计算设备的存在敏感输入设备处检测到的输入的指示。该方法还可包括响应于接收到指示,由计算设备来确定输入的输入姿势,其中,输入姿势表示计算设备相对于用来提供输入的输入单元的取向。该方法还可包括至少部分地基于输入姿势且由计算设备来选择被用于确定所述多个键中的一个或多个中的至少一个已被选择的概率的空间模型。
在一个示例中,一种编码有指令的计算机可读存储介质,所述指令在被执行时,使计算设备的一个或多个处理器执行操作,所述操作包括由计算设备且为了显示而输出包括多个键的图形键盘。计算机可读存储介质进一步编码有指令,所述指令使计算设备的一个或多个处理器执行操作,该操作包括由计算设备接收在存在敏感输入设备处检测到的输入的指示。计算机可读存储介质进一步编码有指令,所述指令使计算设备的一个或多个处理器执行操作,所述操作包括响应于接收到指示,由计算设备来确定输入的输入姿势,其中,输入姿势表示计算设备相对于用来提供输入的输入单元的取向。计算机可读存储介质进一步编码有指令,所述指令使计算设备的一个或多个处理器执行操作,所述操作包括至少部分地基于输入姿势且由计算设备来选择被用于确定所述多个键中的一个或多个中的至少一个已被选择的概率的空间模型。
在一个示例中,计算设备包括至少一个处理器,其中,所述至少一个处理器可被配置成输出包括多个键的图形键盘以用于显示。在某些示例中,所述至少一个处理器可被配置成接收在存在敏感输入设备处检测到的输入的指示。在某些示例中,所述至少一个处理器可被配置成响应于接收到指示,确定输入的输入姿势,其中,输入姿势表示计算设备相对于用来提供输入的输入单元的取向。在某些示例中,所述至少一个处理器可被配置成至少部分地基于输入姿势来选择被用于确定所述多个键中的一个或多个中的至少一个已被选择的概率的空间模型。
在附图和以下描述中阐述了本公开的一个或多个示例的细节。根据本描述和附图以及根据权利要求,其他特征、目的以及优点将是显而易见的。
附图说明
图1是图示出根据本公开的一个或多个技术的可实现用以基于用户输入姿势来提供键盘的所选键的改善预测的技术的示例计算设备的框图。
图2图示出根据本公开的一个或多个方面的图1中所示的计算设备的一个示例的更多细节的框图。
图3是图示出根据本公开的一个或多个技术的分级适应空间模型(hierarchicaladaptive spatial model)的概念图的框图。
图4是图示出根据本公开的一个或多个技术的可实现用以基于用户输入姿势来提供键盘的所选键的改善预测的技术的计算设备的更多细节的概念图的框图。
图5是图示出根据本公开的一个或多个技术的用以基于用户输入姿势来提供键盘的所选键的改善预测的计算设备的示例操作的流程图。
图6是图示出根据本公开的一个或多个技术的在远程设备处输出图形内容以用于显示的示例计算设备的框图。
具体实施方式
本公开的技术针对基于用户输入姿势来提供键盘的所选键的改善预测。通过基于用户输入姿势来选择空间模型,本公开的技术可使得计算设备能够实现改善的字符、单词和/或短语级识别和预测。在某些示例中,本公开的技术允许计算设备确定用户用来选择图形键盘的键的姿势,例如通过敲击、做手势或使用用户界面设备来提供输入。本公开的技术可被计算设备应用于确定例如其中用户正在一个手中握持移动计算设备并使用第二只不同的手用单个手指做手势的姿势。使用不同的姿势,用户可用双手握持移动计算设备并用他或她的拇指敲击键,并且可以有许多其他姿势。
实现本公开的技术的移动计算设备使用所确定姿势来选择一个或多个空间模型以预测用户已选择哪个键。在某些示例中,移动计算设备使用空间模型来将用户界面设备处的一个或多个触摸点转换成图形键盘的特定键已被用户选择的概率。由于对于给定键的用户输入的触摸位置可取决于用户用来录入用户输入的姿势而改变,所以本公开的技术可以用来改善对于给定触摸点的意图的键的概率估计。
在某些示例中,本公开的技术采用具有回退的分级适应空间模型。分级模型可以是适应性的,并包括基于姿势、键以及用户信息的子模型。也就是说,在某些示例中,可以使用识别姿势、用户和/或键中的一个或多个的信息来选择更准确地预测用户选择的键的一个或多个空间模型。每个空间模型可包括概率分布以确定触摸输入对应于图形键盘的键的概率,其中,概率分布基于但不限于输入姿势、键以及用户信息中的一个或多个而补偿偏差。本公开的技术还可以使用一个或多个回退(back-off)技术,使得如果移动计算确定用于姿势、用户或键的不足够量或置信度水平的信息,则分级模型可以基于对于其而言存在足够的置信度水平或量的信息的信息来提供键预测。这样,分级模型可使用分级模型的更多部分,因为用于进行键预测的信息量对于分级模型的相应的部分而言增加。
图1是图示出根据本公开的一个或多个技术的可实现用以基于用户输入姿势来提供键盘的所选键的改善预测的技术的示例计算设备2的框图。在某些示例中,可使计算设备2与用户相关联。与计算设备2相关联的用户可通过向计算设备提供各种用户输入而与计算设备2交互。在某些示例中,用户可具有一个或多个帐户,该一个或多个帐户具有一个或多个服务,诸如社交联网服务和/或电话服务,并且可利用计算设备2注册该帐户。
计算设备2的示例可包括但不限于便携式或移动设备,诸如移动电话(包括智能电话)、膝上型计算机、台式计算机、平板计算机、智能电视平台、个人数字助理(PDA)、服务器、主机等。如图1的示例中所示,计算设备2可以是智能电话。在某些示例中,计算设备2可以包括用户界面(UI)设备4、UI模块6、键盘模块8、手势模块10、应用模块10A—10N(“应用模块10”)以及预测模块14。例如,如图2中所示,实现本公开的技术的计算设备2的其他示例可包括图1中未示出的附加组件。
计算设备2可包括UI设备4。在某些示例中,UI设备4被配置成接收触觉、音频或视觉输入。如图1中所示,UI设备4的示例可包括存在敏感输入设备、触摸敏感显示器、存在敏感显示器、光学敏感显示器或用于接收输入的任何其他类型的设备。UI设备4可输出诸如图形用户界面(GUI)16之类的内容以用于显示。在图1的示例中,UI设备4可以是存在敏感显示器,其可以显示图形用户界面16并使用存在敏感显示器处或附近的电容、电感和/或光学检测而从用户接收输入。
如图1中所示,计算设备2可包括用户界面(UI)模块6。UI模块6可执行一个或多个功能以接收输入的指示,诸如从UI设备4接收用户输入的指示,并向与计算设备2相关联的其他组件发送此类输入的指示,诸如应用模块12。UI模块6还可从计算设备2的组件或被操作地耦接到计算设备2的组件接收数据。使用数据,UI模块6可使得与计算设备2(诸如UI设备4)相关联的其他组件基于数据来提供输出。例如,UI模块6可从应用模块8接收使得UI设备4显示GUI 10、18和24的数据。
在某些示例中,计算设备2包括键盘模块8。键盘模块8可包括用以生成图形键盘以用于显示的功能。键盘模块8还接收和/或处理输入数据,诸如在图形键盘处接收到的用以选择一个或多个键的输入指示。例如,键盘模块8可从UI模块6接收数据,该数据表示由用户经由在UI设备4处显示的图形键盘作为敲击手势和/或连续挥扫手势而输入的某些敲击、按键、手势等的输入。键盘模块8基于输入特征,诸如接收到的输入位置、输入持续时间、输入速度等,来可处理接收到的按键并确定所选字符、单词、串等。键盘模块8还可用于向与计算设备2相关联的其他组件,诸如应用模块12、手势模块10、键盘、UI模块6等,发送字符、单词和/或字符串数据。也就是说,在各种示例中,键盘模块8可从UI模块6接收输入数据,处理输入数据以确定字符、文本、串等,并向应用模块12提供数据。
如图1中所示,计算设备2还可包括手势模块10。在某些示例中,可将手势模块10配置成从UI模块6接收手势数据并处理该手势数据。例如,手势模块10可接收数据,该数据指示由用户在UI设备4处输入的手势。手势模块10可确定输入手势对应于键入手势、光标移动手势、光标区域手势或其他手势。在某些示例中,手势模块10确定一个或多个对准点,其对应于响应于用户手势而被触摸或检测的UI设备4的位置。在某些示例中,手势模块10可确定与连续手势相关联的一个或多个特征,诸如两个对准点之间的欧几里德距离、手势路径的长度、手势的方向、手势路径的曲率以及对准点之间的手势的最大曲率、手势的速度等。连续手势可以是这样的手势,其在第一位置处开始,在被计算设备2检测的同时继续至UI设备4的第二、不同位置,使得在到达第二、不同位置时不再检测到连续手势。手势模块10可向计算设备2的其他组件,诸如应用模块12、键盘模块8、预测模块14等,发送已处理数据。
在某些示例中,计算设备2包括一个或多个应用模块12。应用模块12可包括将在计算设备2上执行任何种类的操作的功能。例如,应用模块12可包括文字处理器、电子数据表、web浏览器、多媒体播放器、服务器应用、操作系统、分布式计算应用、图形设计应用、视频编辑应用、web开发应用、通知应用等。如图1的示例中所描述的,应用模块12A可包括显示图形内容的电子邮件应用的功能。此类图形内容可包括文本编辑器控制器22和图形键盘24,其每个被包括在GUI 16中。在图1的示例中,应用模块12A可使得用户能够阅读电子邮件、编写并发送电子邮件等。
如图1中所示,GUI 16可以是由键盘模块8和应用模块12A中的一个或多个生成的允许用户与计算设备2交互的用户界面。UI 16可包括图形内容。图形内容一般地可以是GUI16中的任何视觉上可显示的表示。图形内容的示例可包括图形对象、文本、图像、一组移动图像、字符、符号等。如图1中所示,GUI 16包括文本编辑器控制装置22和图形键盘24。
如图1中所示,GUI 16可以是由应用模块12A生成的允许用户与计算设备2交互的用户界面。GUI 14可包括图形键盘24和/或文本编辑器控制装置22。如图1中所示,文本编辑器控制装置22可显示由用户录入的、由计算设备2生成的和/或由计算设备2从被操作地耦接到计算设备2的另一计算设备接收到的文本内容。出于图1中的图示的目的,文本内容可包括“The quick brown fox(敏捷的棕色狐狸)”。UI模块6可使得UI设备4显示具有包括的文本内容的文本编辑器控制装置22。
图形键盘24可被UI设备4显示为可选择键的集合。键可表示来自字符集合的单个字符(例如,英语字母表中的字母),或者可表示字符的组合。图形键盘的一个示例可包括传统“QWERTY”键盘布局。其他示例可包含用于不同语言、不同字符集合或不同字符布局的字符。如图1的示例中所示,图形键盘24包括提供字符键的用于英语语言以及提供其他功能的各种键(例如,“向上箭头”键,其提供“移位”功能)的传统“QWERTY”键盘布局的版本。示例键包括“O”键30和“X”键28。在某些示例中,图形键盘24包括一个或多个单词建议,诸如包括单词“狐狸”的单词建议32。
根据本公开的技术,计算设备2可实现预测模块14以改善键盘24处的用户选择的预测准确度。如在本公开中描述的,预测模块14确定用户用来选择图形键盘24的一个或多个键的姿势。基于所确定的用户姿势,预测模块14可识别与姿势相关联的空间模型以预测用户已意图选择的键盘24的一个或多个可能键。预测模块14可至少部分地基于至少一个空间模型来确定空间模型分数,其指示所述多个键中的键已被选择的概率。如在本文中进一步描述的,在某些示例中,预测模块14和键盘模块8可至少部分地基于空间模型分数来确定包括在字典中的单词和用于显示的单词。
如图1中所示,UI设备4接收接近于图形键盘24的所述多个键中的一个或多个的输入的指示。例如,用户可在UI设备4处执行一个或多个敲击和/或连续手势。UI模块6可将来自UI设备4的数据发送给手势模块10,其进而确定一个或多个手势滑过的UI设备4的一个或多个位置。基于该数据,手势模块10可以确定输入信息,其指示手势路径的形状、一个或多个挥扫手势滑过的UI设备4的位置等。预测模块14可从手势模块10接收输入信息。
响应于接收到该信息,预测模块14确定输入的输入姿势。示例“双拇指”输入姿势可包括用左手和右手来握持计算设备2。用户可通过使用他或她的相应的右手和左手的拇指来在UI设备4处做手势、敲击或指示用户输入来在UI设备4处提供输入。在不同的“单手指”输入姿势中,用户可利用用户的左手或右手中的一个来握持计算设备2。使用没有在握持计算设备2的剩余的手,用户可在UI设备4处提供输入,例如通过使用剩余的手的手指在UI设备4处敲击或做手势。上述两个输入姿势是示例性的,并且预测模块14可确定在某些示例中的其他的不同姿势。
在某些示例中,预测模块14使用计算设备2的加速度计基于设备的取向来确定用户正在使用什么输入姿势。在其他示例中,预测模块14基于在UI设备4处检测到的两次输入之间流逝的时间和两个输入之间的距离来确定用户正在使用什么输入姿势来提供输入。例如,在分开较长距离处但在较短持续时间内在UI设备4处发生的连续输入可指示双拇指输入姿势的较高概率。然而,在UI设备4处在分开较长距离处但在较长持续时间内发生的连续输入可指示单手指输入姿势的较高概率。也就是说,使用单手指输入姿势执行的输入可遵循的是在UI设备4的目标位置处提供输入所需的时间是从用于输入的起始位置到目标位置的距离和目标位置的尺寸的函数。相反地,使用双拇指输入姿势执行的输入不遵循在UI设备4的目标位置处提供输入所需的时间是从用于输入的起始位置到目标位置的距离和目标位置的尺寸的函数。
在图1的示例中,用户可使用双拇指输入姿势向计算设备2提供输入。使用双拇指输入姿势,用户可提供一个或多个手势以录入单词“狐狸”。例如,用户可使用他或她的右拇指来在接近于“O”键30的UI设备4的第一位置处提供第一输入,并且随后使用他或她的左拇指来在接近于“X”键28的UI设备4的第二位置处提供第二输入。预测模块14可从手势模块10接收信息,其指示例如提供第一输入的第一时间和提供第二输入的第二时间。预测模块14还可从手势模块10接收信息,其指示在该处检测到将提供第一和第二输入的对准点。对准点可包括与在该处UI设备4检测到用户的输入的UI设备4的位置相对应的坐标。
预测模块14确定第一输入和第二输入的对准点之间的距离。也就是说,在图1的示例中,预测模块14可确定接近于“O”键30的第一输入与接近于“X”键20的第二输入之间的记录距离。预测模块14还确定在UI设备4处检测到第一输入的第一时间与检测到第二输入的第二时间之间所流逝的时间。使用第一和第二输入之间的记录距离和所流逝的持续时间,预测模块14确定指示输入姿势是单手指姿势还是双手指姿势的至少一个概率。在本示例中,第一和第二输入的对准点之间的记录距离可以是6个像素,并且第一和第二输入之间所流逝的时间可以是100毫秒。预测模块14可基于对准点之间所流逝的时间和记录距离来确定用户正在使用双拇指输入姿势。
如图2中进一步描述的,预测模块14可使用一个或多个分类器来基于对准点之间所流逝的时间和距离来确定用户正在使用哪个输入姿势。例如,预测模块14可使用两个连续按键之间所流逝的时间和记录距离作为用以确定输入姿势的特征。为了补偿单独键入速度差,预测模块14还可使用在连续按键之间流逝的归一化时间作为特征。可根据以下等式来计算所流逝的归一化时间:所流逝的归一化时间=用于最后n次按键的所流逝时间/所流逝平均时间,其中,n可以是某个整数(例如,n=10)。
预测模块14可使用输入姿势的确定来选择一个或多个空间模型。预测模块14使用一个或多个空间模型以基于第一和第二输入的对准点来确定图形键盘24的特定键已被用户选择的一个或多个概率。在某些示例中,空间模型包括用于特定键的二变量高斯模型。用于键的二变量高斯模型可包括与显示给定键的UI设备4的位置相对应的坐标(例如,(x,y)坐标对)的分布。更具体地,在某些示例中,用于键的二变量高斯模型可包括与当用户意图选择给定键时被用户最频繁地选择的UI设备4的位置相对应的坐标的分布。虽然在图1的示例中描述为二变量高斯模型,但可将任何适当的统计模型用于键。
在某些示例中,本公开的技术可基于姿势、键以及用户而使用不同的空间模型。每个不同的空间模型可具有与针对一个或多个姿势、键以及用户信息的给定的集合被最频繁地选择的UI设备4的位置相对应的不同坐标的分布。例如,用户在使用双拇指输入姿势时可在选择键时显示出偏差,即与用于单手指输入姿势的坐标的分布相比,坐标的分布可在一个或多个方向上略微移位。因此,与用于给定键的不同姿势相关联的一个或多个空间模型可包括用于与给定键相关联的输入的更准确的坐标的分布。如图2和3中进一步描述的,可基于姿势、键以及用户信息的可用性和/或充分性来分级地适配和选择空间模型。使用本公开的技术,预测模块14因此可如上所述地确定输入姿势,选择对应于所确定姿势的一个或多个空间模型,并且使用空间模型来预测用户意图选择的键。在图1的示例中,预测模块14可选择与双拇指输入姿势相关联的空间模型并测试接近于第二输入的一个或多个键以确定用户意图选择哪个键。使用一个或多个空间模型,预测模块14可确定用户意图选择与字母“X”相关联的“X”键28。预测模块14因此可选择字母“X”以便在文本编辑器控制装置22处显示。
图2是图示出根据本公开的一个或多个方面的图1中所示的计算设备的一个示例的更多细节的框图。图2仅图示出计算设备2的一个特定示例,并且在其他情况下可使用计算设备2的许多其他示例。
如在图2的特定示例中所示,计算设备2包括一个或多个处理器40、一个或多个输入设备42、一个或多个通信单元44、一个或多个输出设备46、一个或多个存储设备48和用户界面(UI)设备4。图2的示例中的计算设备2包括UI模块6、键盘模块8、手势模块10、操作系统48、预测模块14、空间模型50以及语言模型52。预测模块14还可包括单输入分类器54、时间窗分类器56、选择模块58以及用户模块60。可将组件40、42、44、46和48中的每一个互连(在物理上、在通信上和/或在操作上)以用于组件间通信。在某些示例中,通信信道50可包括系统总线、网络连接、进程间通信数据结构或用于传送数据的任何其他信道。作为图2中的一个示例,可用一个或多个通信信道50将组件40、42、44、46和48耦接。UI模块6、键盘模块8、手势模块10、应用模块12、操作系统48、预测模块14及其相应的组件(例如,单输入分类器54)、空间模型50以及语言模块52还可相互地以及与计算设备2中的其他组件传送信息。
在一个示例中,处理器40被配置成实现功能和/或处理指令以便在计算设备2内执行。例如,处理器40可能能够处理存储在存储设备48中的指令。处理器40的示例可包括微处理器、控制器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或等效分立或集成逻辑电路中的任何一个或多个。
可将一个或多个存储设备48配置成在操作期间在计算设备2内存储信息。在某些示例中,存储设备48被描述为计算机可读存储介质。在某些示例中,存储设备48是临时存储器,意味着存储设备48的主要目的并不是长期存储。在某些示例中,将存储设备48描述为易失性存储器,意味着存储设备48在计算机被关掉时不保持存储的内容。易失性存储器的示例包括随机存取存储器(RAM)、动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM)以及本领域中公知的其他形式的易失性存储器。在某些示例中,使用存储设备48来存储程序指令以便由处理器40执行。在一个示例中,存储设备48被在计算设备2上运行的软件或应用(例如,应用48)用来在程序执行期间临时地存储信息。
在某些示例中,存储设备48还包括一个或多个计算机可读存储介质。可将存储设备48配置成比易失性存储器存储更大量的信息。可进一步将存储设备48配置成用于信息的长期的存储。在某些示例中,存储设备48包括非易失性存储元件。此类非易失性存储元件的示例包括磁性硬盘、光盘、软盘、闪速存储器,或者电可编程存储器(EPROM)或电可擦可编程(EEPROM)存储器的形式。
在某些示例中,计算设备2还包括一个或多个通信单元44。在一个示例中,计算设备2利用通信单元44经由诸如一个或多个无线网络之类的一个或多个网络来与外部设备通信。通信单元44可以是网络接口卡(诸如以太网卡)、光学收发机、射频收发机或可以发送和接收信息的任何其他类型的设备。此类网络接口的其他示例可包括蓝牙、3G以及WiFi无线电计算设备以及通用串行总线(USB)。在某些示例中,计算设备2利用通信单元44来与被操作地耦接到计算设备2的另一计算设备无线地通信。
在一个示例中,计算设备2包括一个或多个输入设备42。在某些示例中,输入设备42被配置成通过触觉、音频或视频反馈从用户接收输入。输入设备42的示例包括存在敏感显示器、鼠标、键盘、语音响应系统、摄像机、扩音器或用于检测来自用户的命令的任何其他类型的设备。在某些示例中,存在敏感显示器包括触摸敏感屏幕。
还可在计算设备2中包括一个或多个输出设备46。在某些示例中,输出设备46被配置成使用触觉、音频或视频刺激向用户提供输出。在一个示例中,输出设备46包括存在敏感显示器、声卡、视频图形适配卡、光学投影仪或用于将信号转换成人类或机器可理解的适当形式的任何其他类型的设备。输出设备46的附加示例包括扬声器、阴极射线管(CRT)监视器、液晶显示器(LCD)或可以向用户生成可理解输出的任何其他类型的设备。
在某些示例中,UI设备4可包括输入设备42和/或输出设备46的功能。在图2的示例中,UI设备6可以是存在敏感显示器。在某些示例中,存在敏感显示器可检测存在敏感显示器的屏幕处和/或附近的对象。作为一个示例范围,存在敏感显示器可检测在存在敏感显示器的物理屏幕的2英寸或以下内的诸如手指或触针之类的对象。存在敏感显示器可确定在该处检测到对象的存在敏感显示器的位置(例如,(x,y)坐标)。在另一示例范围内,存在敏感显示器可检测距离存在敏感显示器的物理屏幕6英寸或以下的对象,并且还可以有其他示例性范围。存在敏感显示器可使用电容、电感和/或光学识别技术确定由用户的手指选择的显示器的位置。在某些示例中,存在敏感显示器使用触觉、音频或视频刺激向用户提供输出,如关于输出设备46所述。
计算设备2可包括操作系统48。在某些示例中,操作系统48控制计算设备2的组件的操作。例如,在一个示例中,操作系统48促进UI模块6、键盘模块8、手势模块10、应用12、预测模块14、空间模型50以及语言模型52与处理器40、通信单元44、存储设备48、输入设备42、输出设备46和UI设备4的通信。包括UI模块6、键盘模块8、手势模块10、应用模块12、操作系统48、预测模块14、空间模块50以及语言模块52的存储设备48的一个或多个组件每个可包括可由计算设备2执行的程序指令和/或数据。作为一个示例,UI模块6可包括使计算设备2执行在本公开中所述的操作和动作中的一个或多个的指令。在某些示例中,可用硬件和/或软件和硬件的组合来实现存储设备48中的所示的组件中的一个或多个。
如图2中所示,预测模块14还包括单输入分类器54、时间窗分类器56、选择模块58以及用户模块60。单输入分类器54从UI模块6和手势模块接收指示输入UI设备4的信息。例如,单输入分类器54接收指示由用户选择的UI设备4的位置的信息。在某些示例中,单输入分类器54还可指示每个位置被选择的时间的信息。在其他示例中,单输入分类器54在从手势模块10和/或UI模块4中的一个或多个接收到信息时确定每个位置被选择的时间。
可使用一个或多个分类器技术来实现单输入分类器54。示例技术可包括支持向量机、神经网络、贝叶斯分类器等。使用指示由用户选择的UI设备4的所检测位置之间的距离和输入之间所流逝的时间的信息来选择位置,单输入分类器54可生成给定输入姿势的概率。也就是说,单输入分类器54可生成输入姿势是双拇指输入姿势的概率。单输入分类器54还可生成输入姿势是单手指输入姿势的概率。在其他示例中,单输入分类器54可生成对于任何数目的输入姿势的概率。
为了生成姿势的概率,单输入分类器54确定在时间T1处接收到的坐标(x1,y1)与在时间T2处接收到的坐标(x2,y2)之间的欧几里德距离。单输入分类器54还确定在时间T1和时间T2之间流逝的时间。使用该距离和流逝时间,单输入分类器54生成输入姿势的一个或多个概率。
在某些示例中,预测模块14还包括时间窗分类器56。时间窗分类器56还可实现如上文关于单输入分类器54所述的一个或多个分类器技术。时间窗分类器54可将每个输入分类并假设用户不会快速地改变姿势。在此类示例中,时间窗分类器56确定10个输入(例如,可接近大约2个单词的10次键敲击)的滑动时间窗来生成用户正在针对给定输入姿势提供输入的概率。在某些示例中,时间窗分类器56针对由单输入分类器54确定的每个输入(例如,每次敲击或连续挥扫手势的一部分)从单输入分类器54接收输入的概率分数和指示。如下面进一步描述的,时间窗分类器56可基于随时间推移而确定且从单输入分类器54接收到的一组的一个或多个概率而生成使用给定输入姿势录入该输入的概率。
在一个示例中,针对每个时间窗,时间窗分类器56可使用包括以下各项的特征来确定输入姿势的概率:(1)两个输入之间所流逝时间与记录距离之间的相关性,(2)每个输入是单手指输入姿势的平均概率,(3)每个输入是单手指输入姿势的平均概率,(4)被分类为使用单手指输入姿势的输入的平均数目,和(5)被分类为使用双拇指输入姿势的输入的平均数目。时间窗分类器56还可给出对于每个姿势的概率分数。
如图2中所示,预测模块14包括选择模块58。选择模块58可从时间窗分类器56和/或用户模块60接收信息。来自时间窗分类器56的信息可指示时间窗内的对于给定输入姿势的概率。用户模块60可指示给定用户正在提供输入的概率。基于从选择模块时间窗分类器56和用户模块60接收到的信息,选择模块58可从空间模型50选择空间模型。如图3中进一步描述的,空间模型50可以是分级适应空间模型,其由可由选择模块58基于键、用户以及姿势信息选择的子模型组成。
作为一个示例,选择模块58可从时间窗分类器56接收单输入分类器54正在使用双拇指输入姿势来提供输入的概率。选择模块58可进一步从用户模块60接收特定用户正在提供输入的概率。基于此信息,选择模块58可选择空间模型50中的一个并确定输入对应于与空间模型相关联的图形键盘24的给定键的概率。选择模块58可针对每个与不同键相关联的多个不同空间模型确定哪个键具有被用户的输入选择的最高概率。响应于确定与最高概率相关联的键,选择模块56可向UI模块6发送与该键相关联的字符。UI模块6进而可使UI设备4输出字符以用于显示。
在某些示例中,计算设备2包括语言模型52。语言模型52可包括字典。在某些示例中,字典可包括单词列表,并且可包括关于所列单词的附加信息。可用一些的数据结构,诸如阵列、列表和/或树,来表示字典。例如,语言模型52可包括存储在特里(trie)数据结构中的字典。字典特里数据结构可包含多个节点,每个节点可表示字母。可将字典特里中的第一节点称为入口节点,其可不对应于字母。在其他示例中,入口节点可对应于字母。每个节点可具有一个或多个子节点。例如,入口节点可具有二十六个子节点,每个对应于英语字母表的字母。
字典特里中的节点的子集每个可包括指示节点是终端节点的标志。字典特里的每个终端节点可指示完整单词(例如,候选单词)。由沿着从入口节点到终端节点的节点路径的节点所指示的字母可拼写出终端节点所指示的单词。在某些示例中,语言模型52可以是安装在计算设备2上的默认词典。在其他示例中,语言模型52可包括多个字典源,其可存储在计算设备2处或者存储在一个或多个远程计算设备处且可被计算设备2经由一个或多个通信信道访问。
在某些示例中,可在计算设备2的固件中实现语言模型52。语言模型52可包括语言模型频率信息,诸如n元语言模型。n元语言模型可基于序列(即,P(xi|xi-(n-1),...,xi-1))中的先前项目而提供对于项目的连续序列中的项目xi(字母或单词)的概率分布。例如,二元语言模型(n元模型,其中,n=2)可提供字母“X”在序列“FOX”之后的概率。在某些示例中,语言模型52包括具有集成语言模型频率信息的字典特里。例如,词典特里的每个节点可包括字母的表示和概率值。
在某些示例中,选择模块58可进一步使用语言模块52来确定由用户选择给定键的概率。例如,当确定由用户选择的键的概率时,选择模块5可确定键的字符是否对应于语言模型52中的单词或基于包括在语言模型52中的单词和先前或连续录入的字符的上下文而生成的短语。例如,假设已键入字母“FO”且在图形键盘24处输入接近于“X”和“Z”,选择模块58可确定“FOX”比“FOZ”更有可能,并且因此向与“X”相关联的键分配比与“Z”相关联的键更高的概率。
在某些示例中,预测模块14可逐渐地确定由敲击和/或连续手势指示的一个或多个字符、单词、短语。在一个示例中,用户可能期望向GUI的文本录入区域中录入文本,例如单词“朋友”。根据本公开的技术,用户可在被输出以便由计算设备2显示的图形键盘处执行一系列敲击手势。该手势可包括多个不同的敲击。在某些示例中,可将敲击手势划分成具有基本上相等时间的持续时间的部分,而在其他示例中,敲击手势可具有不同的持续时间。
键盘模块8可从手势模块10接收数据,该数据表示由手势模块10生成的触摸事件的序列。键盘模块8还可从手势模块10接收数据,该数据表示UID 4的存在敏感屏幕的位置,其中,UID 4呈现图形键盘的每个键。键盘模块8可与预测模块14通信以基于键的位置来确定触摸事件的序列表示一个或多个键的选择。根据本公开的技术,键盘模块8可基于在哪里字符串中的每个字符对应于图形键盘的键的选择来确定一个多个字符串。键盘模块8可向UI模块6发送指示一个或多个字符串的数据。
为了确定触摸事件的序列表示一个或多个键的选择,键盘模块8可使用一个或多个空间模型50。一般地,空间模型50可基于与用户输入相关联的位置数据来指示已选择图形键盘的特定键的一个或多个概率。在某些示例中,空间模型50包括用于每个键的二变量高斯模型。用于键的二变量高斯模型可包括与呈现给定键的UID 4的位置相对应的坐标(例如,(x,y)坐标对)的分布。更具体地,在某些示例中,用于键的二变量高斯模型可包括与当用户意图选择给定键时被用户最频繁地选择的UID 4的位置相对应的坐标的分布。用户输入的位置数据与空间模型50中的一个的较高密度区之间的距离越短,与空间模型50相关联的键已被选择的概率越高。用户输入的位置数据与空间模型50中的一个的较高密度区之间的距离越大,与空间模型50中的一个相关联的键已被选择的概率越低。
键盘模块8可使用空间模型50来将触摸事件的序列中的一个或多个触摸事件的位置分量(例如,坐标)与图形键盘的一个或多个键的相应的位置相比较并基于这些比较而生成键的选择发生的概率。在某些示例中,键盘模块8可使用空间模型50中的一个或多个来生成空间模型分数(或“空间模型概率”)。空间模型分数可至少部分地基于手势滑过的UID 4的位置来指示所选键的概率。在某些示例中,空间模型分数可至少部分地基于手势滑过的UID 4的位置来指示一组所选键的组合概率。
键盘模块8可使用空间模型50中的一个或多个将触摸事件序列中的一个或多个触摸事件的位置分量与图形键盘的特定键的键位置相比较。键盘模块8可从预测模块14接收数据,该数据指示由预测模块14基于所确定的姿势和/或空间模型50的分级组织使用本公开的技术确定的空间模型50中的一个或多个。序列中的每个触摸事件的位置分量可包括UID 4的一个位置。图形键盘中的键的键位置(例如,键的质心)可包括UID 4的不同位置。键盘模块8可使用空间模型50中的一个或多个来确定两个位置之间的欧几里德距离,并基于该欧几里德距离而生成选择了键的概率。空间模型50可针对与一个或多个触摸事件共享较小欧几里德距离的键指示比与一个或多个触摸事件共享较大欧几里德距离的键更高的概率。基于与每个键相关联的空间模型概率,键盘模块8可将单独键选择与最高空间模型概率组合成键盘模块8然后可确定表示字符串的键的时间排序序列。每个键的组合概率可表示对于字符串的空间模型分数。
键盘模块8可使用语言模型52以基于对应于触摸事件的键的序列来确定对于一个或多个字符串的语言模型分数(或“语言模型概率”)。例如,键盘的每个键可表示字符或键盘操作。键盘模块8可基于键的序列来确定由一个或多个键选择表示的特定字符。诸如数字或小写字母之类的字符可要求单个字符键选择(例如、<letter-key>、<number-key>等),并且诸如大写字母之类的字符可要求两个键选择(例如,<shift-key>+<letter-key>等)。
键盘模块8可访问计算设备2的语言模型52以基于对应于手势的键的序列来确定对于一组的一个或多个字符串的语言模型分数。也就是说,键盘模块8可响应于接收到一个或多个手势的指示使用语言模型52来逐渐地生成一组的一个或多个字符串。字符串可以是一组字符,其包括包含在语言模型52中的字符串的前缀或一部分或者未包括在语言模块52中的词汇表之外的(OOV)字符串。在某些示例中,字符串可以是一组字符,其包括包含在语言模型52中的完整字符串或完整OOV字符串。随着用户提供对应于一个或多个手势的用户输入,键盘模块8可逐渐地确定对应于字符串的空间和语言模型分数。使用空间和语言模型分数,键盘模块8可基于对于每个相应的字符串的空间和语言模型分数来确定对于每个字符串的组合分数。键盘模块8可随着键盘模块8确定后续手势的指示而逐渐地更新空间、语言和/或组合分数。例如,键盘模块8可在接收在存在敏感屏幕处检测到的一个或多个手势的多个指示的同时基于语言上下文来更新语言模型,其中,语言上下文响应于一个或多个手势的所述多个指示中的至少一个而改变。例如,与语言模型52中的字符串相关联的语言模型分数可响应于输入的字符串而改变。由于组合分数可指示字符串对应于手势的概率,所以键盘模块8可按其相应的组合分数将字符串排序,如在本公开中进一步描述的。键盘模块8然后可输出字符串和/或基于该字符串来确定其他字符串以用于输出。
一般地,计算设备2的语言模型52可包括编写语言词汇内的字符串的列表,例如单词。在某些示例中,语言模型52可基于和/或包括基于存储在计算设备2或计算设备2可访问的远程计算设备处的词典(例如,其包括单词的词汇)的字符串集合。在某些示例中,词典可包括单词的词汇。单词的词汇可以是在书面和/或口语语言中使用的单词的主体。可将词典实现为以结构化方式来存储词汇的一个或多个单词的数据结构。语言模型52可基于字符串在给定语言上下文中出现的频率来指示每个相应的字符串的概率。例如,字符串“door”在英语中可能更频繁地在字符串“the”之后使用,并且因此与例如在字符串“the”之后的字符串“run”相比与更大的概率相关联。
在某些示例中,键盘模块8基于语言上下文使用语言模型28来确定对于字符串的语言模型分数,所述语言上下文可包括但不限于例如对应于由用户执行的手势的指示的字符、词典中的字符串和/或先前输入字符串等。例如,键盘模型22可确定与对应于手势的键相关联的一组字符。该组字符可以是字符串的前缀或一部分。字符串可包括在语言模型52中,或者可以是词汇表之外的字符串。键盘模块8可搜索或“向前看”以确定分别地对应于前缀的语言模型52中的一个或多个字符串。
在某些示例中,键盘模块8可执行与对应于手势的键相关联的多个不同组的字符的查找,例如其中每组字符可以是字符串的前缀或一部分。键盘模块8可使用语言模型52来识别语言模型52中的一个或多个字符串,该语言模型52包括可以是字符串的前缀或一部分的该组字符中的字符的一部分或全部。例如,用户可在UID 4处执行滑过键s-a-r-t的手势。键盘模块8因此可执行前缀s-a-r的查找以确定以s-a-r开始的一组字符串。同样地,键盘模块8可执行前缀s-a-t的查找以确定以s-a-t开始的一组字符串。
如上所述,键盘模块8可至少部分地基于对于每个相应的字符串的相应的空间和语言模型分数来确定对于每个字符串的组合分数。对于字符串的组合概率因此可在键的给定集合的情况下基于语言上下文和手势的准确度而表示字符串的概率。键盘模块8可按照从最可能字符串到最不可能字符串的递减顺序通过组合分数将一组字符串中的每个字符串排序。在某些示例中,键盘模块8可基于具有最高概率的一个或多个字符串来确定一个或多个字符串。UID 4可将此类字符串输出为建议字符串。
图3是图示出根据本公开的一个或多个技术的分级适应空间模型76(“空间模型76”)的概念图的框图。分级适应空间模型76可包括每个空间模型的一个或多个子模型。空间模型一般地可以是具有其自己的中心、平均值、协方差等的概率分布。该概率分布可基于但不限于输入姿势、一个或多个先前输入、一个或多个用户的键入位置偏差、包括训练输入集合的训练数据等中的一个或多个。如图3中所示,可将图2的空间模型50以分级方式图示为分级空间模型76。在某些示例中,可将分级空间模型76实现为一个或多个散列表。分级模型可考虑不同的条件以用于特殊化适应,并且当不存在用于高阶模型的足够数据或置信度时提供回退机制。
空间模型76的第零或最低阶子模型是基础模型60。基础模型60可以是键、人以及姿势无关的。高阶模型由空间模型的组合组成,其适合于手部姿势(例如,一个手指、两个拇指或平板电脑上的十个手指)、键或双字母(例如,“h/t”,其中,当前目标字母是“h”键且先前的字母是“t”)、单个用户或其组合。例如,姿势适应子模型62可由基于姿势而补偿用户输入的位置中的偏差的空间模型组成。姿势或键适应子模型68可由基于姿势而补偿用户输入的位置中的偏差的空间模型和已被计算设备2学习的用户特定的过去用户输入组成。作为另一示例,姿势、用户以及键适应子模型74可提供子模型,其包括基于姿势、用户以及键子模型的UI设备坐标的分布。键空间模型还可以更特殊化成包括频繁地发生的双字母模式,例如“h”后面是“e”、“t”后面是“h”等。由于这些可能是高度频繁的模式,所以基于这些更特殊化的模型而检测这些键方面的小的改善可提供总体键检测准确度的改善。
在图3的示例中,基础模型60预测具有与敲击坐标的最短欧几里德距离的键。也就是说,预测模块14可在接收到与由用户在UI设备4处触摸的位置相对应的(x,y)坐标时确定坐标和例如用于一个或多个给定键的基础模型中的坐标的分布的质心或质量中心之间的欧几里德距离。预测模块14可使最高概率与具有到接收到的(x,y)坐标的最短欧几里德距离的键相关联。
姿势适应子模型62基于输入姿势而补偿UI设备4处的输入位置方面的差异,其对应于所检测的用户输入。也就是说,如前所述,一个或多个空间模型可包括输入位置的不同分布,其基于用户正在使用哪个输入姿势来提供输入而改变。用户适应子模型64可基于单独用户偏差补偿UI设备4处的输入位置方面的差异,其对应于所检测的用户输入。也就是说,一个用户可始终在键的底部边缘处敲击键,而其他用户可始终在中心敲击右上角键,例如,QWERTY键盘的“I”、“K”、“L”、“O”、“P”键,而在键的顶部边缘处敲击左手下角键(例如,QWERTY键盘的“A”、“S”、“D”、“Z”、“X”键)。预测模块14可随时间推移而获悉此类偏差并生成补偿此偏差的空间模型。在某些示例中,预测模块14确定由计算设备10接收到的输入始终显示出与用于给定用户的学习空间模型相关联的偏差。基于该确定,预测模块14可以使用用户适应空间模型来更准确地预测由用户选择的键。键适应子模型66可以是基于来自许多不同用户的用户输入的观察由用于每个键的二变量高斯模型组成的空间模型。然后,键检测过程涉及到选择键,该键的高斯模型给出对于给定(x,y)敲击坐标的最高概率。当将其与姿势和单独适应组合时,可针对每个键构建更特殊化的高斯模型。
根据本公开的技术,预测模块14将在已经由预测模块14确定足够数目的样本以构建可靠模型时使用子模型的一个或多个组合。也就是说,预测模块14可包括用于子模型的一个或多个组合的一个或多个阈值。每个此类子模型或子模型的组合将仅在其可靠性超过设定阈值(例如已收集到100+输入/观察)时变得活动;否则,子模型仍在“生长”,但是处于“睡眠”模式,即未被预测模块14使用。这样,预测模块14使用此类阈值或“回退”来选择空间模型56的那些子模型,其具有足够的信息以提供具有改善的准确度的预测。因此,预测模块14可选择更准确的空间模型,例如子模型74,其在姿势、键和用户适应信息可用时和/或足够量的此类信息可用时基于此类信息。如果基于给定阈值不可用足够量的姿势、键以及用户适应信息,则预测模块14可以适应性地落回至低阶的子模型。
当预测模块14确定已选择哪个键时,如果更加特殊化的高阶模型满足条件集合的话,诸如以高置信度检测到特定姿势模式且相对应的模型(例如h/t、单手指)可用(活的、成熟),则使用该更加特殊化的高阶模型。另外,预测模块14回退至低阶模型。预测模块14可回退至基础模型,其在必要时是键、个体和姿势无关的。预测模块14可将键检测准确度与不同的模型相比较以分析其相对有效性。这可以将回退模型的阶告知预测模块14以在没有用于高阶模型的足够数据时使用。
在某些示例中,可以通过从许多用户收集数据来离线地训练键适应模型66,并且因此一旦收集了足够的数据,可将其用作基本备份模型。在某些示例中,用户和键适应模型72可提供比姿势和键适应模型70更高的准确度。因此,在某些示例中,用户和键适应模型72可以具有较高优先级。也就是说,预测模块14可更频繁地或响应于比其他子模型更低的阈值而使用用户和键适应模型72。因此,在某些示例中,当计算设备2不具有用于用户的足够数据时,计算设备2可以使用姿势和键适应模型70而不是用户和键适应模型72。
在某些示例中,可将分级适应空间模型76实现为散列表或一组散列表。在一组散列表的示例中,预测模块14可保持用于子模型60—74中的每一个的散列表。作为一个示例,预测模块14可保持用于姿势、用户以及键适应空间模型74的姿势、用户和键适应散列表(“PUK表”)。PUK表的每个桶(bucket)包括到用于图像键盘的键的高斯模型的指针。预测模型10可生成搜索键,诸如来自一组数据的散列键,包括:确定姿势P、确定用户U以及确定键K。换言之,预测模块10生成散列键以基于(P,U,K)的元组而从PUK表中选择高斯模型。P可以是表示输入姿势的数据(例如,输入姿势类型),U可以是包括计算设备2的用户的标识符的数据,并且K可以是包括图形键盘的键的标识符的数据。在某些示例中,预测模块14可通过测试在UI设备4处检测到的触摸位置的许多不同的相邻键来确定用户选择了图形键盘的给定键的概率。例如,预测模块14可测试如图1中所示的测试键“X”,但是还可测试相邻键“C”、“Z”、“D”,其可在已在“X”键处执行的敲击手势的触摸位置的阈值距离内。预测模块14可至少部分地基于搜索键来搜索分级适应空间模型76以选择分级空间模型的至少一个空间模型(其可以是分级适应空间模型76的子模型)因此,预测模块14可通过针对每个键生成散列键并确定对于给定键的相应的空间模型概率来从分级适应空间模型76中选择不同的高斯模型。例如,预测模块14可使用以下输入来确定对于相应的键的空间模型概率:(P,U,K=“X”)、(P,U,K=“C”)、(P,U,K=“Z”)、(P,U,K=“D”)。预测模块14通过基于从包括在(P,U,K=“X”)中的值生成的散列键来从PUK表中选择高斯模型而确定“X”键被敲击的空间模型概率。也就是说,基于包括在(P,U,K=“X”)中的值生成的散列键可对应于PUK表中的桶,其包括到用于“X”键的高斯模型的指针,其中,高斯模型的概率分布是基于值(P,U,K)。预测模块14可对(P,U,K=“C”)、(P,U,K=“Z”)、(P,U,K=“D”)执行相同的操作。
在某些示例中,预测模块14可能不具有足够量的信息以生成所确定姿势P、所确定用户U和/或所确定键K。作为一个示例,该信息量可小于为了所确定姿势P必须满足的阈值。预测模块14可保持用于要求足够量的信息以生成所确定用户U和/或所确定键K的类似阈值。在其中存在不足量的信息的此类示例中,预测模块14可基于对于其而言存在足够量的信息的输入来生成散列键。例如,如果预测模块14具有不足以生成所确定姿势P的量的信息,则预测模块14可基于(U,K)而不是(P,U,K)来生成散列键,因为对于P而言存在不足的信息。用于(U,K)的散列键可对应于PUK表中的桶,其包括到用于用户和键适应空间模型72的不同用户和键适应散列表(“UK表”)中的桶的指针。PUK表中的指针所参考的UK表中的桶可包括到用于“X”键的高斯模型的指针,其中,高斯模型的概率分布是基于值(U,K)。这样,如果对于P而言存在不足的信息(例如,不满足阈值,诸如小于阈值)且因此用于基于姿势来选择空间模型的置信度水平过低,则预测模块14可以遍历实现分级适应空间模型76的散列表以基于对于其而言存在足够的信息(例如,满足阈值,诸如大于阈值)的信息来选择高斯模型。因此,在确定指示输入姿势是多个输入姿势类型中的一个的概率时,预测模块14可响应于确定概率满足阈值且至少部分地基于输入姿势而确定空间模型。
预测模块14可同样地保持用于子模型60—74中的每一个的散列表。这样,预测模块14可基于采取形式[(姿势,用户,键),键]的值来生成散列键并因此如上所述地选择对应的空间模型。作为另一示例,预测模块14可不具有足够量的信息以生成所确定姿势P、所确定用户U和/或所确定键K中的任何一个。预测模块14因此可基于(<empty>)而生成散列键。预测模块14可确定对应于(<empty>)的PUK表中的桶。桶可包括到基础模型60的指针,在这种情况下,预测模块14使用基础模型60来确定选择了“X”的空间模型概率。在另一示例中,预测模块14可基于(P)而生成散列键,其中,可用足够量(例如满足阈值)的P姿势信息。对应于PUK表中的桶的散列键可包括到用于姿势和键适应模型70的姿势和键散列表(“PK表”)中的桶的指针。指针所参考的PK表中的桶可包括到用于姿势适应模型62的功率表(“P表”)中的桶的不同指针。到P表中的桶的指针可基于P姿势信息参考P表中的桶,其包括用于“X”键的高斯模型。预测模块14然后可确定由用户选择了“X”键的空间模型概率。这样,如果对于姿势、用户和/或键而言存在不足量的信息,则预测模块14可如在图3的示例中所述以分级方式遍历到低阶模型。虽然已关于一组散列表描述了图3的技术,但可使用单个散列表、任何其他单个适当数据结构或一个或多个不同适当数据结构的任何其他组合来实现该技术。
在某些示例中,预测模块14可基于训练数据和/或观察的用户输入来更新一个或多个空间模型(包括例如分级适应空间模型和子模型)。也就是说,预测模块14随时间推移可随着确定关于用户输入的附加信息而周期性地和/或连续地更新空间模型。预测模块14可将此类信息确定为用户类型或者来自信息(例如,训练信息)的一个或多个集合。这样,随着预测模块14确定此类新信息,预测模块14可更新一个或多个空间模型以在确定触摸输入是否对应于图形键盘的键时提供更大的准确度。例如,如果用户始终使她的图形键盘的“K”键的敲击输入向键的左下角偏差,则预测模块14可更新基于该用户的空间模型以反映该偏差。换言之,预测模块14可更新姿势和用户适应空间模型68及用户和键适应空间模型72的高斯分布以反映用户的偏差。随着预测模块14确定更多的信息并提供对此类空间模型的附加更新,预测模块14可在确定触摸输入是否对应于图形键盘的键时更准确地从分级适应空间模型76选择要使用哪个空间模型。换言之,随着预测模块14确定更多信息,预测模块14可以更大的置信度确定要使用哪个空间模型。因此,随着预测模块14确定更多信息,预测模块14可选择分级适应空间模型76的高阶空间模型。在某些示例中,随着预测模块14的输入姿势、提供输入的用户等分类的概率增加,预测模块14可确定此类概率满足必须满足以便使用分级空间模型76的高阶子模型的阈值。如果此类分类不具有满足阈值的足够高的概率(例如,在分类中存在不足的置信度),则预测模块14可回退并使用对于其而言存在足够置信度的信息来选择低阶空间模型(例如,分类的概率满足阈值)。在图4中进一步描述了此类阈值。
图4是图示出根据本公开的一个或多个技术的可实现用以基于用户输入姿势来提供键盘的所选键的改善预测的技术的计算设备的更多细节的概念图的框图。
如图4中所示,预测模块14包括单输入分类器54、时间窗分类器80、用户模块60、选择模块58以及空间模型50,其可用硬件、软件或硬件和软件的组合实现。图4图示出预测模块14内的示例信息流。特别地,预测模块14图示出触摸事件到预测模块的流入和对于键的空间模型分数的流出。在某些示例中,键盘模块8从预测模块14接收空间模型分数。键盘模块8然后可基于空间模型分数和语言模型分数来确定用于字符或一组字符的组合分数,如图2中所示。
单输入分类器54可以是从UI模块6、键盘模块8和/或手势模块10中的一个或多个接收触摸事件84的支持向量机分类器(SVM分类器)。每个触摸事件可对应于在该处由UI设备4检测到手势输入的UI设备4的位置,诸如敲击手势或连续手势的一部分。触摸事件可包括检测到手势输入的UI设备4的(x,y)坐标、检测到手势输入的时间等。在接收到当前触摸事件时,单输入分类器54可将当前触摸事件与先前的触摸事件相比较。也就是说,单输入分类器54可保持表示来自先前触摸事件的信息的数据。在某些示例中,先前触摸事件可以是直接在当前触摸事件之前接收到的触摸事件。单输入分类器54可计算在先前触摸事件与当前触摸事件之间流逝的时间。单输入分类器54还可确定先前触摸事件的位置与当前触摸事件的位置之间的欧几里德距离。
单输入分类器54可至少部分地基于先前触摸事件的位置与当前触摸事件的位置之间的距离和先前触摸事件的位置与当前触摸事件的位置之间的时间来确定输入手势的概率。例如,单输入分类器45可在当前和先前触摸事件之间的距离较大且当前和先前触摸事件之间的时间较小时生成指示输入姿势为双模态的较高概率。同样地,单输入分类器45可在当前和先前触摸事件之间的距离较大且当前和先前触摸事件之间的时间较大时生成指示输入姿势为单次敲击的较高概率。在某些示例中,该概率可基于训练数据,其基于用户键入行为而被应用于单输入分类器54。如图4中所示,单输入分类器54可将输入姿势为姿势类型(例如,双模态、单敲击等)的概率的数据发送到时间窗分类器80。在某些示例中,数据可指示该概率和对应的姿势类型。在某些示例中,单输入分类器可向时间窗分类器80发送多个概率和对应的姿势类型。在某些示例中,单输入分类器54仅在当前触摸事件的位置与先前触摸事件的位置之间的距离大于阈值距离时确定一个或多个输入姿势的概率。在此类示例中,当当前触摸事件和先前触摸事件的位置之间的距离小于阈值距离时,单输入分类器可针对不同输入姿势类型中的每一个提供0的概率。
时间窗分类器80针对触摸事件所表示的单触摸输入接收一个或多个不同输入姿势类型的一个或多个概率。时间窗分类器80可针对触摸事件所表示的一组触摸输入确定一个或多个不同的输入姿势类型的一个或多个概率。也就是说,在一个示例中,时间窗分类器80基于多个手势输入来提供输入姿势类型的概率(例如,在某些示例中,10次键敲击或约2个单词)。时间窗分类器80可以是SVM分类器,其接收指示单个手势输入为给定姿势类型的概率信息以及触摸事件信息的数据82。
在预测模块14的某些实施方式中,可假设用户的输入姿势不会常常改变。例如,用户在正在键入单词或句子中时可不改变输入姿势。因此,时间窗分类器80可基于将一个或多个先前用户输入考虑在内的多个不同特征来确定输入姿势的概率。预测模块14可基于输入姿势的多个先前确定来生成对于对应于输入姿势的至少一个特征的统计量;并且响应于接收在存在敏感输入设备处检测到的输入,至少部分地基于该统计量而确定输入姿势。该统计量可以是对于特征的对应于先前用户输入的数据的数值表示,诸如平均值、计数、相关或任何其他适当统计量。
作为一个示例特征,时间窗分类器80可基于时间相邻触摸事件的所流逝时间和距离(例如,记录距离)之间的相关性来生成输入姿势的概率。例如,时间窗分类器80可使得一组键敲击内的所流逝时间和距离之间的较高相关性指示单次敲击输入姿势,而一组键敲击内的所流逝时间和距离之间的较低相关性指示双模态(例如,双拇指)输入姿势。
时间窗分类器80还可使用平均概率分布分数作为每个用户输入为单手指的特征。时间窗分类器80还可使用平均概率分数作为每个输入为双手指(例如,双模态或双拇指)的特征。时间窗分类器80可从单输入分类器54接收用户输入为单手指的概率,并且因此可生成且更新每个用户输入为单手指的平均概率分数。同样地,时间窗分类器80可从单输入分类器54接收用户输入为双拇指的概率,并且因此可生成且更新每个用户输入为双拇指的平均概率分数。换言之,相应的平均概率可为从单输入分类器54接收到的当前和先前概率的平均值。
时间窗分类器80还可使用被分类为单手指的敲击的平均次数(例如,数量)作为特征。对于给定敲击输入而言,时间窗分类器80可将敲击输入分类为是具有最高概率的输入姿势类型。也就是说,如果单输入分类器54分配正在使用单输入姿势来输入敲击输入的80%概率和正在使用双拇指输入姿势来输入敲击输入的20%概率,则单输入分类器54可将敲击输入分类为使用单输入姿势。时间窗分类器80还可使用被分类为双手指(例如,双模态或双拇指)的敲击的平均数目(例如,数量)作为特征。时间窗分类器80可从单输入分类器54接收指示用户输入为单手指的数据,并且因此可生成且更新每个用户输入为单手指的平均数量。同样地,时间窗分类器80可从单输入分类器54接收指示用户输入为双拇指的数据,并且因此可生成且更新每个用户输入为双拇指的平均数量。换言之,相应的平均数量可以是从单输入分类器54接收到的敲击输入的当前和先前分类的平均值。
时间窗分类器80可基于上述特征中的一个或多个的组合而生成指示一个或多个输入姿势的一个或多个概率。上文未描述的其他特征也可以是由时间窗分类器80生成一个或多个概率。在一个示例中,针对按键所流逝时间与记录距离之间的较强相关性、用于每个敲击输入是单手指输入的较高平均概率分数以及被分类为单手指输入的敲击输入的较高平均目,时间窗分类器80可生成输入姿势是单次敲击的较高概率。同样地,针对按键所流逝时间与记录距离之间的较弱相关性、用于每个敲击输入是双拇指输入的较高平均概率分数以及被分类为双拇指输入的敲击输入的较高平均数目,时间窗分类器80可生成输入姿势是双拇指的较高概率。通过使用如上所述的一个或多个特征,可实现为SVM分类器的时间窗分类器80可生成指示一个或多个输入姿势的一个或多个概率。例如,时间窗分类器80可针对先前的10个敲击输入而确定输入姿势是单次敲击的80%概率和输入姿势是双拇指的20%概率。选择模块58可从时间窗分类器80接收此类概率,选择模块58可将其用来选择空间模型并响应于敲击输入而确定不同的键被用户选择的概率。
如图4中所示,预测模块14包括用户模块60。用户模块60可确定一个或多个用户之中的哪个用户正在计算设备2处提供输入。也就是说,用户模块60可向选择模块58发送指示用户的数据,选择模块58进而可使用指示用户的数据来选择基于用户的键入偏差的一个或多个空间模型。在某些示例中,用户模块60可生成给定用户正在计算设备2处提供输入的概率,其可被选择模块58接收到。在一个示例中,用户模块60可生成对应于不同用户的多个概率。用户模块60可保持分别地对应于一个或多个用户的一组的一个或多个简档。简档可包括唯一地识别用户的数据。作为一个示例,计算设备2的操作系统可支持每个由用户名识别的一个或多个用户帐户。可将用户的用户名包括在简档中。当特定用户登陆到计算设备2的操作系统中时,用户模块60可将识别登陆用户的数据发送到选择模块58。虽然关于操作系统的用户名来描述,来自在计算设备2上执行的任何一个或多个应用的用户的任何适当标识符可被用户模块60使用。在其他示例中,用户模块60可包括SVM分类器的功能,其基于多个特征来确定哪个用户目前正在键入。该特征可包括键入速度、键入偏差或可用来确定哪个用户目前正在键入的任何其他信息。选择模块58可从用户模块60接收数据,该数据指示正在计算设备2处提供输入的用户。
选择模块58可接收触摸事件84并且可基于所确定输入姿势、正在提供输入以生成触摸事件84的所确定用户和/或指示图形键盘的键的数据中的一个或多个来确定对于图形键盘的一个或多个键的空间模型分数。选择模块58可基于所确定输入姿势、正在提供输入以生成触摸事件84的所确定用户和/或指示图形键盘的键的数据中的一个或多个来选择空间模型50中的一个或多个。例如,选择模块58可接收诸如来自时间窗分类器80的所确定姿势P、来自用户模块60的所确定用户U和/或所确定键K之类的信息。选择模块58可通过计算接收到的触摸事件的位置与在UI设备4处显示的图形键的键的位置之间的距离来识别所确定键K。如果计算的距离小于阈值距离,则选择模块58可使用所确定键K来确定对于所选键的空间模型分数。这样,如果多个键在触摸事件所指示的位置的阈值距离内,则选择模块58可确定对于每个相应的键的空间模型分数。
在某些示例中,选择模块58通过便利一个或多个分级空间模型、诸如图3中所示的分级空间模型76来确定对于一个或多个键的空间模型分数。也就是说,选择模块58可基于(P,U,K)信息中的一个或多个来生成散列键。选择模块58然后可选择对应于根据(P,U,K)信息中的一个或多个生成的散列键的空间模型,如图3中所述。在选择由散列键识别的空间模型50的空间模型时,选择模块58可通过将图形键盘的所确定键的位置与空间模型相比较来生成空间模型分数。对于图形键盘的所确定键的空间模型分数可指示触摸输入意图选择图形键盘的所确定键的概率。键盘模块8可从选择模块58接收空间模型分数并确定字符、字符串等,如图2中所述。如图4中所示,键盘模块8可在响应于触摸事件而确定对于图形键盘的多个键的多个空间模型分数时针对具有最高空间模型分数的图形键盘的键而生成数据,该数据指示图形键盘的键及其对应的空间模型分数。
在某些示例中,选择模块58可仅使用信息中的某些,诸如来自时间窗分类器80的所确定姿势P、来自用户模块60的所确定用户U和/或所确定键K。例如,如果与姿势P相关联的概率满足阈值(例如,大于x%概率,其中,x是0与100之间的任何实数),则选择模块58可仅使用所确定姿势P来选择空间模型。这样,选择模块58可在概率不满足阈值时基于(U,K)信息来选择空间模型(即,可选择用户和键适应空间模型72而不是姿势、用户和键适应空间模型74)。这样,如果与输入姿势相关联的概率不满足阈值且因此预测模块14不具有所确定输入姿势方面的充分置信度,则预测模块14可选择低阶的或更一般空间模型。因此,在一个示例中,如果从时间窗分类器80接收到的单次敲击输入的概率是52%且从时间窗分类器接收到的双拇指输入的概率是48%,则预测模块14可仅基于(U,K)信息来选择空间模型。预测模块14可对U和K信息应用类似技术,以仅在对应的概率满足阈值(例如,大于阈值值)时使用此类信息。因此,在一个示例中,如果来自用户模块60的用户的概率小于阈值(例如,不满足阈值),则选择模块58可在没有U信息的情况下基于(P,K)信息而从空间模型50选择姿势和键适应空间模型70。在某些示例中,预测模块70可在一个或多个输入的处理之前、期间和之后修改关于P、K和U信息的阈值中的一个或多个。
图5是图示出根据本公开的一个或多个技术的用以基于用户输入姿势来提供键盘的所选键的改善预测的计算设备的示例操作的流程图。仅仅出于说明的目的,下面在如图1和2中所示的计算设备2的背景内描述示例操作。
在图5的示例中,键盘模块输出图形键盘24以用于在UI设备4处显示(100)。图形键盘24包括多个键,诸如“O”键30和“X”键28。用户可在显示图形键盘24的UI设备4的区域处执行两个敲击手势。响应于该手势,预测模块14可接收与接近于所述多个键中的一个或多个的输入的指示相对应的数据(102)。例如,预测模块可接收指示与检测到两次敲击的UI设备4的位置相对应的对准点的数据。响应于接收到该指示,预测模块14可确定输入、例如两次敲击的输入姿势。如图1—5中所述,预测模块14可确定对准点所表示的两次敲击位置之间的流逝时间和距离。预测模块14基于流逝时间和距离而生成概率,其指示使用给定输入姿势来录入两次输入(104)。基于输入姿势的所确定概率,预测模块14使用如图1—3中所述的分级适应空间模型来选择一个或多个空间模型(106)。使用一个或多个空间模型,预测模块14可确定用户意图选择的最可能键。在确定最可能键时,预测模块14确定与键相关联的字符。在某些示例中,预测模块14输出字符以用于显示。在其他示例中,预测模块14使用所确定字符来执行单词或短语预测。
在某些示例中,所述操作可包括由计算设备确定图形键盘的键的第一位置与存在敏感输入设备上检测到输入的位置之间的距离;由计算设备确定在存在敏感输入设备处检测到第一输入的第一时间与在存在敏感显示器处检测到第二输入的第二时间之间所流逝的时间,第二时间在第一时间之前发生;以及由计算设备且至少部分地基于距离和所流逝的时间,确定输入姿势。在某些示例中,输入姿势包括单手指输入姿势和双模态输入姿势中的至少一个。在某些示例中,所述操作可包括由计算设备至少部分地基于输入姿势来生成搜索键;由计算设备且至少部分地基于搜索键来搜索包括一个或多个子模型的分级空间模型,所述至少一个空间模型是分级空间模型的子模型;以及由计算设备且至少部分地基于该搜索来选择所述至少一个空间模型。在某些示例中,该操作可包括由计算设备至少部分地基于图形键盘的键的标识符和计算设备的用户的标识符中的一个或多个来生成搜索键。在某些示例中,该操作可包括由计算设备来确定指示输入姿势是多个输入姿势类型中的一个的概率;以及其中,至少部分地基于输入姿势来选择空间模型包括响应于确定概率满足阈值而选择输入姿势。
在某些示例中,所述操作可包括由计算设备且基于输入姿势的多个先前确定而生成对于对应于输入姿势的至少一个特征的统计量;以及响应于接收到在存在敏感输入设备处检测到的输入,由计算设备且至少部分地基于所述统计量来确定输入姿势,其中,所述至少一个特征包括以下各项中的至少一个:在存在敏感输入设备处检测到的先前输入的所流逝的时间和记录距离之间的相关性;基于在存在敏感输入设备处检测到的先前输入的对于输入是单手指输入姿势的平均概率;基于在存在敏感输入设备处检测到的先前输入的对于输入是双模态输入姿势的平均概率;基于在存在敏感输入设备处检测到的先前输入而被分类为使用单手指输入姿势的先前输入的平均数目,以及基于在存在敏感输入设备处检测到的先前输入而被分类为双模态输入姿势的先前输入的平均数目。在某些示例中,所述操作可包括由计算设备且至少部分地基于所述至少一个空间模型而确定指示已经选择了所述多个键中的键的概率的空间模型分数;由计算设备且至少部分地基于空间模型分数确定包括在字典中的单词;以及由计算设备且为了显示而输出单词。
图6是图示出根据本公开的一个或多个技术的在远程设备处输出图形内容以用于显示的示例计算设备的框图。图形内容一般地可包括可被输出以用于显示的任何视觉信息,诸如文本、图像、一组移动图像等。图6中所示的示例包括计算设备120、存在敏感显示器122、通信单元124、投影仪126、投影仪屏幕128、移动设备130以及视觉显示设备132。虽然在图1和2中出于示例的目的而示为独立计算设备2,但诸如计算设备120之类的计算设备一般地可以是包括处理器或用于执行软件指令的其他适当计算环境的任何组件或系统,并且例如不需要包括存在敏感显示器。
如图6的示例中所示,计算设备120可以是包括如关于图2中的处理器40所述的功能的处理器。在此类示例中,可由通信信道134A将计算设备120操作地耦接到存在敏感显示器122,该通信信道134A可以是系统总线或其他适当连接。计算设备120还可由通信信道134B操作地耦接到下面进一步描述的通信单元124,该通信信道134B也可以是系统总线或其他适当连接。虽然在图6中单独地示为示例,但计算设备120也可由任何数目的一个或多个通信信道操作地耦接到存在敏感显示器122和通信单元124。
在诸如先前在图1—2中由计算设备2举例说明的其他示例中,计算设备可指的是便携式或移动设备,诸如移动电话(包括智能电话)、膝上型计算机等。在某些示例中,计算设备可以是台式计算机、平板计算机、智能电视平台、照相机、个人数字助理(PDA)、服务器、主机等。
类似于如图1中所示的UI设备4的存在敏感显示器122可包括显示设备136和存在敏感输入设备138。显示设备136可例如从计算设备120接收数据并显示图形内容。在某些示例中,存在敏感输入设备138可使用电容、电感和/或光学识别技术来确定存在敏感显示器122处的一个或多个用户输入(例如,连续手势、多触摸手势、单触摸手势等),并使用通信信道134A将此类用户输入的指示发送到计算设备120。在某些示例中,存在敏感输入设备138可在物理上位于显示设备136的顶部上,使得当用户将输入单元定位于由显示设备136显示的图形元件上时,该存在敏感输入设备138处的位置对应于显示设备136上显示图形元件的位置。在其他示例中,存在命啊输入设备138可在物理上远离显示设备136定位,并且存在敏感输入设备138的位置可对应于显示设备136的位置,使得可在存在敏感输入设备138处进行输入以用于与在显示设备136的对应的位置处显示的图形元件交互。
如图6中所示,计算设备120还可包括通信单元124和/或与之操作地耦接。通信单元124可包括如图2中所述的通信单元44的功能。通信单元124的示例可包括网络接口卡、以太网卡、光学收发机、射频收发机或可以发送和接收信息的任何其他类型的设备。此类通信单元的其他示例可包括蓝牙、3G以及WiFi无线电设备、通用串行总线(USB)接口等。计算设备120还可包括一个或多个其他设备和/或与之操作地耦接,该一个或多个其他设备例如输入设备、输出设备、存储器、存储设备等,其在图6中出于简洁和图示的目的而未示出。
图6还图示出投影仪126和投影仪屏幕128。投影设备的其他此类示例可包括电子白板、全息显示设备以及用于显示图形内容的任何其他适当设备。投影仪126和投影仪屏幕128可包括使得相应的设备能够与计算设备120通信的一个或多个通信单元。在某些示例中,一个或多个通信单元可使得能够实现投影仪126与投影仪屏幕128之间的通信。投影仪126可从计算设备120接收包括图形内容的数据。投影仪126响应于接收到数据而可将图形内容投射到投影仪屏幕128。在某些示例中,投影仪126可使用光学识别或其他适当技术在投影仪屏幕处确定一个或多个用户输入(例如,连续手势、多触摸手势、单触摸手势等)并使用一个或多个通信单元将此类用户输入的指示发送到计算设备120。在此类示例中,投影仪屏幕128可能是不必要的,并且投影仪126可在任何适当介质上投射图形内容,并使用光学识别或其他此类适当技术来检测一个或多个用户输入。
在某些示例中,投影仪屏幕128可包括存在敏感显示器140。存在敏感显示器140可包括如本公开中描述的UI设备4的功能的子集或所有功能。在某些示例中,存在敏感显示器140可包括附加功能。投影仪屏幕128(例如,电子白板)可从计算设备120接收数据并显示图形内容。在某些示例中,存在敏感显示器140可使用电容、电感和/或光学识别技术来确定投影仪屏幕128处的一个或多个用户输入(例如,连续手势、多触摸手势、单触摸手势等),并使用一个或多个通信单元将此类用户输入的指示发送到计算设备120。
图6还图示出移动设备130和视觉显示设备132。移动设备130和视觉显示设备132可每个包括计算和连接能力。移动设备130的示例可包括电子读取器设备、可转换笔记本设备、混合式平板设备等。视觉显示设备132的示例可包括其他半固定设备,诸如电视、计算机监视器等。如图6中所示,移动设备130可包括存在敏感显示器142。视觉显示设备132可包括存在敏感显示器144。存在敏感显示器142、144可包括如在本公开中所述的存在敏感显示器4的功能的子集或所有功能。在某些示例中,存在敏感显示器142、144可包括附加功能。在任何情况下,存在敏感显示器144例如可从计算设备120接收数据并显示图形内容。在某些示例中,存在敏感显示器144可使用电容、电感和/或光学识别技术来确定投影仪屏幕处的一个或多个用户输入(例如,连续手势、多触摸手势、单触摸手势等),并使用一个或多个通信单元将此类用户输入的指示发送到计算设备120。
如上所述,在某些示例中,计算设备120可输出图形内容以便在被系统总线或其他适当通信信道耦接到计算设备120的存在敏感显示器122处显示。计算设备120还可输出图形内容以便在一个或多个远程设备处显示,该远程设备诸如投影仪126、投影仪屏幕128、移动设备130以及视觉显示设备132。例如,计算设备120可根据本公开的技术执行一个或多个指令以生成和/或修改图形内容。计算设备120可向计算设备120的通信单元、诸如通信单元124输出包括图形内容的数据。通信单元124可向远程设备中的一个或多个发送数据,该远程设备诸如投影仪126、投影仪屏幕128、移动设备130和/或视觉显示设备132。这样,计算设备120可输出图形内容以用于在远程设备中的一个或多个处显示。在某些示例中,远程设备中的一个或多个可在包括在相应的远程设备中和/或操作地耦接到相应的远程设备的存在敏感显示器处输出图形内容。
在某些示例中,计算设备120可不在被操作地耦接到计算设备120的存在敏感显示器122处输出图形内容。在其他示例中,计算设备120可输出图形内容以用于在由通信信道134A耦接到计算设备120的存在敏感显示器122处且在一个或多个远程设备处显示。在此类示例中,可在每个相应的设备处基本上同时地显示图形内容。例如,可由通信等待时间引入某些延迟以将包括图形内容的数据发送到远程设备。在某些示例中,由计算设备120生成且输出以便在存在敏感显示器122处显示的图形内容可不同于被输出以便在一个或多个远程设备处显示的图形内容显示。
计算设备120可使用任何适当通信技术来发送和接收数据。例如,可使用网络链路148A将计算设备120操作地耦接到外部网络146。可由相应的网络链路148B、148C和148D中的一个将图6中所示的每个远程设备操作地耦接到网络外部网络146。外部网络146可包括网络集线器、网络交换机、网络路由器等,其被可操作地互耦接,从而提供计算设备120与图6中所示的远程设备之间的信息交换。在某些示例中,网络链路148A—148D可以是以太网、ATM或其他网络连接。此类连接可以是无线和/或有线连接。
在某些示例中,可使用直接设备通信150将计算设备120操作地耦接到包括在图6中的远程设备中的一个或多个。直接设备通信150可包括计算设备120通过其使用有线或无线通信直接地与远程设备发送和接收数据的通信。也就是说,在直接设备通信150的某些示例中,由计算设备120发送的数据在被在远程设备处接收到之前可能未被一个或多个附加设备转送,并且反之亦然。直接设备通信150的示例可包括蓝牙、近场通信、通用串行总线、WiFi、红外等。可由通信链路154A—154D将图6中所示的远程设备中的一个或多个与计算设备120操作地耦接。在某些示例中,通信链路154A—154D可以是使用蓝牙、近场通信、通用串行总线、红外等的连接。此类连接可以是无线和/或有线连接。
根据本公开的技术,可使用外部网络146将计算设备120操作地耦接到移动设备130。计算设备120可输出包括多个键的图形键盘以用于在存在敏感显示器142处显示。例如,计算设备120可将包括图形键盘的表示的数据发送到通信单元124。通信单元124可使用外部网络146将包括图形键盘的表示的数据发送到移动设备130。移动设备130可响应于使用外部网络146接收到数据而使存在敏感显示器142输出图形键盘。响应于用户在存在敏感显示器处提供输入,移动设备130可使用外部网络146向计算设备120发送输入的指示。通信单元124可接收手势的指示,并且可向计算设备120发送指示。
响应于接收到手势,计算设备120可确定输入的输入姿势,其中,输入姿势表示计算设备相对于用来提供输入的输入单元的取向。计算设备120至少部分地基于输入姿势且由计算设备来确定被用于确定所述多个键中的一个或多个中的至少一个已被选择的概率的空间模型。计算设备120可输出至少部分地基于空间模型而确定的候选单词以用于显示。例如,计算设备120可向通信单元124发送表示候选单词的数据。通信单元124可经由外部网络146向移动设备130发送数据。移动设备130可使存在敏感显示器142输出数据所表示的所述至少一个单词。
示例1.一种方法,包括:由计算设备且为了显示而输出包括多个键的图形键盘;由计算设备接收在被操作地耦接到计算设备的存在敏感输入设备处检测到的输入的指示;响应于接收到该指示,由计算设备确定输入的输入姿势,其中,输入姿势表示计算设备相对于用来提供输入的输入单元的取向;以及至少部分地基于输入姿势且由计算设备来确定被用于选择所述多个键中的一个或多个中的至少一个已被选择的概率的空间模型。
示例2.权利要求1的方法,其中,所述输入是第一输入,存在敏感输入设备是存在敏感显示器,并且图形键盘被输出在存在敏感显示器处用于显示,其中,确定输入姿势进一步包括:由计算设备来确定存在敏感显示器上被输出了图形键盘的键的第一位置与存在敏感显示器上被检测到输入的位置之间的距离;由计算设备来确定在存在敏感显示器处检测到第一输入的第一时间与在存在敏感显示器处检测到第二输入的第二时间之间所流逝的时间,第二时间在第一时间之前发生;以及由计算设备且至少部分地基于距离和所流逝的时间,确定输入姿势。
示例3.示例1—2中的任一项的方法,其中,所述输入姿势包括单手指输入姿势和双模态输入姿势中的至少一个。
示例4.示例1—3中的任一项的方法,其中,确定空间模块还包括:由计算设备至少部分地基于输入姿势来生成搜索键;由计算设备且至少部分地基于搜索键来搜索包括一个或多个子模型的分级空间模型,所述至少一个空间模型是分级空间模型的子模型;以及由计算设备且至少部分地基于该搜索来选择所述至少一个空间模型。
示例5.示例1—4中的任一项的方法,其中,生成搜索键进一步包括:由计算设备至少部分地基于图形键盘的键的标识符和计算设备的用户的标识符中的一个或多个来生成搜索键。
示例6.示例1—5中的任一项的方法,进一步包括:由计算设备来确定指示输入姿势是多个输入姿势类型中的一个的概率;以及其中,至少部分地基于输入姿势来选择空间模型包括响应于确定概率满足阈值而选择输入姿势。
示例7.权利要求1—6中的任一项的方法,其中,确定输入的输入姿势进一步包括:由计算设备且基于输入姿势的多个先前确定而生成对于对应于输入姿势的至少一个特征的统计量;以及响应于接收到在存在敏感输入设备处检测到的输入,由计算设备且至少部分地基于所述统计量来确定输入姿势,其中,所述至少一个特征包括以下各项中的至少一个:在存在敏感输入设备处检测到的先前输入的所流逝的时间和记录距离之间的相关性;基于在存在敏感输入设备处检测到的先前输入的对于输入是单手指输入姿势的平均概率;基于在存在敏感输入设备处检测到的先前输入的对于输入是双模态输入姿势的平均概率;基于在存在敏感输入设备处检测到的先前输入而被分类为使用单手指输入姿势的先前输入的平均数目,以及基于在存在敏感输入设备处检测到的先前输入而被分类为双模态输入姿势的先前输入的平均数目。
示例8.示例1—7中的任一项的方法,进一步包括:由计算设备且至少部分地基于所述至少一个空间模型而确定指示已经选择了所述多个键中的键的概率的空间模型分数;由计算设备且至少部分地基于空间模型分数确定包括在字典中的单词;以及由计算设备且为了显示而输出单词。
示例9.一种编码有指令的计算机可读存储介质,该指令在被执行时,使计算设备的一个或多个处理器执行操作,该操作包括:输出包括多个键的图形键盘以用于显示;接收在被操作地耦接到计算设备的存在敏感输入设备处检测到的输入的指示;响应于接收到该指示,确定输入的输入姿势,其中,输入姿势表示计算设备相对于用来提供输入的输入单元的取向;以及至少部分地基于输入姿势来选择被用于确定所述多个键中的一个或多个中的至少一个已被选择的概率的空间模型。
示例10.权利要求9的计算机可读介质,其中,所述输入是第一输入,存在敏感输入设备是存在敏感显示器,并且图形键盘被输出在存在敏感显示器处用于显示,该计算机可读存储介质被编码有指令,该指令在被执行时,使计算设备的一个或多个处理器执行操作,该操作包括:确定存在敏感显示器上被输出了图形键盘的键的第一位置与存在敏感显示器上被检测到输入的位置之间的距离;确定在存在敏感显示器处检测到第一输入的第一时间与在存在敏感显示器处检测到第二输入的第二时间之间所流逝的时间,第二时间在第一时间之前发生;以及至少部分地基于距离和所流逝的时间,确定输入姿势。
示例11.编码有指令的示例9的计算机可读存储介质,该指令在被执行时,使计算设备的一个或多个处理器执行请求项3—8中的任一项所述的方法。
示例12.一种包括至少一个处理器的计算设备,其中,所述至少一个处理器被配置成:输出包括多个键的图形键盘以用于显示;接收在存在敏感输入设备处检测到的输入的指示;响应于接收到该指示,确定输入的输入姿势,其中,输入姿势表示计算设备相对于用来提供输入的输入单元的取向;以及至少部分地基于输入姿势来选择被用于确定所述多个键中的一个或多个中的至少一个已被选择的概率的空间模型。
示例13.示例12的计算设备,其中,所述输入是第一输入,存在敏感输入设备是存在敏感显示器,并且图形键盘被输出在存在敏感显示器处用于显示,其中,所述至少一个处理器被配置成:确定存在敏感显示器上被输出了图形键盘的键的第一位置与存在敏感显示器上被检测到输入的位置之间的距离;确定在存在敏感显示器处检测到第一输入的第一时间与在存在敏感显示器处检测到第二输入的第二时间之间所流逝的时间,第二时间在第一时间之前发生;以及至少部分地基于距离和所流逝的时间,确定输入姿势。
示例14.示例12的计算设备,其中,所述至少一个处理器被配置成:至少部分地基于输入姿势来生成搜索键;至少部分地基于搜索键来搜索包括一个或多个子模型的分级空间模型,所述至少一个空间模型是分级空间模型的子模型;以及至少部分地基于该搜索来选择所述至少一个空间模型。
示例15.示例12的计算设备,进一步包括用于执行请求项3—8的方法中的任一项的装置。
可至少部分地用硬件、软件、固件或其任何组合来实现在本公开中所述的技术。例如,可在一个或多个处理器内实现所述技术的各种方面,包括一个或多个微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或任何其他等效集成或分立逻辑电路以及此类组件的任何组合。术语“处理器”或“处理电路”一般地可指的是任何的前述逻辑电路、单独地或与其他逻辑电路相组合,或者任何其他等效电路。包括硬件的控制单元也可执行本公开的技术中的一个或多个。
可在同一设备内或在单独设备内实现此类硬件、软件以及固件以支持在本公开中所述的各种技术。另外,可将任何的所述单元、模块或组件一起或单独地实现为分立但可互操作的逻辑设备。描述为模块或单元的不同特征意图强调不同的功能方面而不一定暗示必须由单独的硬件、固件或软件组件来实现此类模块或单元。相反地,与一个或多个模块或单元相关联的功能可由单独硬件、固件或软件组件来实现,或者集成在公共或单独硬件、固件或软件组件内。
还可在包括编码有指令的计算机可读存储介质的制品中体现或编码在本公开中描述的技术。诸如当由一个或多个处理器来执行包括在计算机可读存储介质中或在其中编码的指令时,在包括已编码计算机可读存储介质的制品中嵌入或编码的指令可使一个或多个可编程处理器或其他处理器实现本文所述的技术中的一个或多个。计算机可读存储媒介可包括随机存取存储器(RAM)、只读存储器(ROM)、可编程只读存储器(PROM)、可擦可编程只读存储器(EPROM)、电可擦可编程只读存储器(EEPROM)、闪速存储器、硬盘、紧凑式盘ROM(CD-ROM)、软盘、卡带、磁媒介、光学媒介或其他计算机可读媒介。在某些示例中,制品可包括一个或多个计算机可读存储介质。
在某些示例中,计算机可读存储介质可包括非暂时性介质。术语“非暂时”可指示并未在载波或传播信号中体现存储介质。在某些示例中,非暂时性存储介质可存储可以随时间推移而改变的数据(例如,在RAM或高速缓存器中)。
应认识到的是取决于实施例,本文所述方法中的任一项的某些动作或事件可按照不同的顺序来执行,可添加、合并或一起省去(例如,并非所有的所述动作或事件都是方法的实施所需要的)。此外,在某些实施例中,可例如通过多线程处理、中断处理或多个处理器同时地而不是连续地执行动作或事件。
已描述了本发明的各种实施例。这些及其他实施例在以下权利要求的范围内。

Claims (11)

1.一种用于提供所选键的改善预测的方法,包括:
由计算设备且为了显示而输出包括多个键的图形键盘;
由所述计算设备接收在被操作地耦接到所述计算设备的存在敏感显示器处检测到的第一输入的指示;
由所述计算设备来确定所述存在敏感显示器上被检测到第二输入的第二位置与所述存在敏感显示器上被检测到所述第一输入的第一位置之间的距离;
由所述计算设备来确定在所述存在敏感显示器处检测到所述第一输入的第二时间与在所述存在敏感显示器处检测到第二输入的第一时间之间所流逝的时间,所述第一时间在所述第二时间之前发生;
由所述计算设备至少部分地基于所述距离和所流逝的时间来确定所述第一输入的输入姿势类型;以及
由所述计算设备至少部分地基于所述输入姿势类型来选择被用于确定所述多个键中的至少一个已被选择的概率的空间模型。
2.根据权利要求1所述的方法,其中,所述第一输入的输入姿势类型包括单手指输入姿势类型和双模态输入姿势类型中的至少一个。
3.根据权利要求1所述的方法,其中,确定所述空间模型还包括:
由所述计算设备至少部分地基于所述输入姿势类型来生成搜索键;
由所述计算设备且至少部分地基于所述搜索键来搜索包括一个或多个子模型的分级空间模型;以及
由所述计算设备且至少部分地基于所述搜索来选择至少一个空间模型,所述至少一个空间模型是所述分级空间模型的子模型。
4.根据权利要求3所述的方法,其中,所述搜索键是散列键,并且其中,生成所述搜索键进一步至少部分地基于所述图形键盘的键的标识符和所述计算设备的用户的标识符中的一个或多个来生成。
5.根据权利要求1所述的方法,进一步包括:
由所述计算设备来确定指示所述输入姿势类型是多个输入姿势类型中的一个的概率;以及
其中,所述输入姿势类型响应于确定所述概率满足阈值而确定。
6.根据权利要求1所述的方法,其中,确定所述第一输入的所述输入姿势类型进一步包括:
由所述计算设备且基于输入姿势类型的多个先前确定而生成对于对应于所述输入姿势类型的至少一个特征的统计量;以及
响应于接收到在所述存在敏感显示器处检测到的所述第一输入,由所述计算设备且至少部分地基于所述统计量来确定所述输入姿势类型,
其中,所述至少一个特征包括以下各项中的至少一个:
在所述存在敏感显示器处检测到的先前输入的所流逝的时间和记录距离之间的相关性;
基于在所述存在敏感显示器处检测到的先前输入的对于所述第一输入是单手指输入姿势类型的平均概率;
基于在所述存在敏感显示器处检测到的先前输入的对于所述第一输入是双模态输入姿势类型的平均概率;
基于在所述存在敏感显示器处检测到的先前输入而被分类为使用单手指输入姿势类型的先前输入的平均数目;以及
基于在所述存在敏感显示器处检测到的先前输入而被分类为双模态输入姿势类型的先前输入的平均数目。
7.根据权利要求3所述的方法,进一步包括:
由所述计算设备且至少部分地基于所述至少一个空间模型而确定指示已经选择了所述多个键中的键的概率的空间模型分数;
由所述计算设备且至少部分地基于所述空间模型分数确定包括在字典中的单词;以及
由所述计算设备且为了显示而输出所述单词。
8.一种用于提供所选键的改善预测的系统,包括:
用于输出包括多个键的图形键盘以用于显示的装置;
用于接收在被操作地耦接到计算设备的存在敏感显示器处检测到的第一输入的指示的装置;
用于确定所述存在敏感显示器上被检测到第二输入的第二位置与所述存在敏感显示器上被检测到所述第一输入的第一位置之间的距离的装置;
用于确定在所述存在敏感显示器处检测到所述第一输入的第二时间与在所述存在敏感显示器处检测到第二输入的第一时间之间所流逝的时间的装置,所述第一时间在所述第二时间之前发生;
用于至少部分地基于所述距离和所流逝的时间来确定所述第一输入的输入姿势类型的装置;以及
用于至少部分地基于所述输入姿势类型来选择被用于确定所述多个键中的至少一个已被选择的概率的空间模型的装置。
9.根据权利要求8所述的系统,进一步包括用于执行权利要求2—7中的任一项所述的方法的装置。
10.一种用于提供所选键的改善预测的计算设备,所述计算设备包括至少一个处理器的计算设备,其中,所述至少一个处理器被配置成:
输出包括多个键的图形键盘以用于显示;
接收在存在敏感显示器处检测到的第一输入的指示;
确定所述存在敏感显示器上被检测到第二输入的第二位置与所述存在敏感显示器上被检测到所述第一输入的第一位置之间的距离;
确定在所述存在敏感显示器处检测到所述第一输入的第二时间与在所述存在敏感显示器处检测到第二输入的第一时间之间所流逝的时间,所述第一时间在所述第二时间之前发生;
至少部分地基于所述距离和所流逝的时间来确定所述第一输入的输入姿势类型;以及
至少部分地基于所述输入姿势类型来选择被用于确定所述多个键中的至少一个已被选择的概率的空间模型。
11.根据权利要求10所述的计算设备,进一步包括用于执行权利要求2—7的方法中的任一项的装置。
CN201380048280.7A 2012-09-18 2013-09-18 姿势适应选择 Active CN104685451B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810295894.XA CN108710406B (zh) 2012-09-18 2013-09-18 姿势适应选择

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201261702678P 2012-09-18 2012-09-18
US61/702,678 2012-09-18
PCT/US2013/060378 WO2014047161A2 (en) 2012-09-18 2013-09-18 Posture-adaptive selection

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN201810295894.XA Division CN108710406B (zh) 2012-09-18 2013-09-18 姿势适应选择

Publications (2)

Publication Number Publication Date
CN104685451A CN104685451A (zh) 2015-06-03
CN104685451B true CN104685451B (zh) 2018-04-17

Family

ID=49305129

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201380048280.7A Active CN104685451B (zh) 2012-09-18 2013-09-18 姿势适应选择
CN201810295894.XA Active CN108710406B (zh) 2012-09-18 2013-09-18 姿势适应选择

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN201810295894.XA Active CN108710406B (zh) 2012-09-18 2013-09-18 姿势适应选择

Country Status (3)

Country Link
US (1) US9471220B2 (zh)
CN (2) CN104685451B (zh)
WO (1) WO2014047161A2 (zh)

Families Citing this family (86)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9318108B2 (en) 2010-01-18 2016-04-19 Apple Inc. Intelligent automated assistant
US8977255B2 (en) 2007-04-03 2015-03-10 Apple Inc. Method and system for operating a multi-function portable electronic device using voice-activation
US8676904B2 (en) 2008-10-02 2014-03-18 Apple Inc. Electronic devices with voice command and contextual data processing capabilities
JP6280867B2 (ja) 2011-10-18 2018-02-14 カーネギー メロン ユニバーシティ タッチセンサ表面に対するタッチ事象を分類するための方法及び装置
US10417037B2 (en) 2012-05-15 2019-09-17 Apple Inc. Systems and methods for integrating third party services with a digital assistant
WO2014093506A1 (en) * 2012-12-11 2014-06-19 University Of Washington Through Its Center For Commercialization Use of hand posture to improve text entry
EP2752757B1 (en) * 2013-01-08 2022-04-06 Elo Touch Solutions Inc. Gesture event determination
DE212014000045U1 (de) 2013-02-07 2015-09-24 Apple Inc. Sprach-Trigger für einen digitalen Assistenten
WO2014134793A1 (en) * 2013-03-06 2014-09-12 Nokia Corporation Apparatus and associated methods
US9348429B2 (en) * 2013-03-15 2016-05-24 Blackberry Limited Method and apparatus for word prediction using the position of a non-typing digit
US20140282034A1 (en) * 2013-03-15 2014-09-18 Hewlett-Packard Development Company, L.P. Data analysis in a network
KR20140114766A (ko) 2013-03-19 2014-09-29 퀵소 코 터치 입력을 감지하기 위한 방법 및 장치
US9612689B2 (en) 2015-02-02 2017-04-04 Qeexo, Co. Method and apparatus for classifying a touch event on a touchscreen as related to one of multiple function generating interaction layers and activating a function in the selected interaction layer
US9013452B2 (en) 2013-03-25 2015-04-21 Qeexo, Co. Method and system for activating different interactive functions using different types of finger contacts
JP6259911B2 (ja) 2013-06-09 2018-01-10 アップル インコーポレイテッド デジタルアシスタントの2つ以上のインスタンスにわたる会話持続を可能にするための機器、方法、及びグラフィカルユーザインタフェース
US9612736B2 (en) * 2013-07-17 2017-04-04 Korea Advanced Institute Of Science And Technology User interface method and apparatus using successive touches
JP6548358B2 (ja) * 2014-04-04 2019-07-24 タッチタイプ リミテッド マルチ入力ターゲットに関連付けられた1つ又はそれ以上の入力を入力するためのシステム及び方法
KR20150121949A (ko) * 2014-04-22 2015-10-30 삼성전자주식회사 제스처를 인식하는 방법 및 장치
US10170123B2 (en) 2014-05-30 2019-01-01 Apple Inc. Intelligent assistant for home automation
US9715875B2 (en) 2014-05-30 2017-07-25 Apple Inc. Reducing the need for manual start/end-pointing and trigger phrases
EP3149728B1 (en) 2014-05-30 2019-01-16 Apple Inc. Multi-command single utterance input method
US10303295B2 (en) * 2014-05-30 2019-05-28 Apple Inc. Modifying an on-screen keyboard based on asymmetric touch drift
US9338493B2 (en) 2014-06-30 2016-05-10 Apple Inc. Intelligent automated assistant for TV user interactions
US9952763B1 (en) * 2014-08-26 2018-04-24 Google Llc Alternative gesture mapping for a graphical keyboard
US9329715B2 (en) 2014-09-11 2016-05-03 Qeexo, Co. Method and apparatus for differentiating touch screen users based on touch event analysis
US9430085B2 (en) * 2014-09-12 2016-08-30 Microsoft Technology Licensing, Llc Classification of touch input as being unintended or intended
US11619983B2 (en) 2014-09-15 2023-04-04 Qeexo, Co. Method and apparatus for resolving touch screen ambiguities
US10606417B2 (en) * 2014-09-24 2020-03-31 Qeexo, Co. Method for improving accuracy of touch screen event analysis by use of spatiotemporal touch patterns
US10282024B2 (en) 2014-09-25 2019-05-07 Qeexo, Co. Classifying contacts or associations with a touch sensitive device
US10282089B2 (en) 2015-02-03 2019-05-07 Google Llc User state-adaptive text input
US9886953B2 (en) 2015-03-08 2018-02-06 Apple Inc. Virtual assistant activation
US9678664B2 (en) 2015-04-10 2017-06-13 Google Inc. Neural network for keyboard input decoding
US10460227B2 (en) 2015-05-15 2019-10-29 Apple Inc. Virtual assistant in a communication session
US20160378747A1 (en) 2015-06-29 2016-12-29 Apple Inc. Virtual assistant for media playback
US10642404B2 (en) 2015-08-24 2020-05-05 Qeexo, Co. Touch sensitive device with multi-sensor stream synchronized data
US10671428B2 (en) 2015-09-08 2020-06-02 Apple Inc. Distributed personal assistant
US10747498B2 (en) 2015-09-08 2020-08-18 Apple Inc. Zero latency digital assistant
US10740384B2 (en) 2015-09-08 2020-08-11 Apple Inc. Intelligent automated assistant for media search and playback
US10331312B2 (en) 2015-09-08 2019-06-25 Apple Inc. Intelligent automated assistant in a media environment
US11868354B2 (en) * 2015-09-23 2024-01-09 Motorola Solutions, Inc. Apparatus, system, and method for responding to a user-initiated query with a context-based response
US11587559B2 (en) 2015-09-30 2023-02-21 Apple Inc. Intelligent device identification
US10691473B2 (en) 2015-11-06 2020-06-23 Apple Inc. Intelligent automated assistant in a messaging environment
US10956666B2 (en) 2015-11-09 2021-03-23 Apple Inc. Unconventional virtual assistant interactions
US10223066B2 (en) 2015-12-23 2019-03-05 Apple Inc. Proactive assistance based on dialog communication between devices
US10474358B2 (en) * 2016-02-29 2019-11-12 Google Llc Computing devices having dynamically configurable user input devices, and methods of operating the same
US12223282B2 (en) 2016-06-09 2025-02-11 Apple Inc. Intelligent automated assistant in a home environment
US10586535B2 (en) 2016-06-10 2020-03-10 Apple Inc. Intelligent digital assistant in a multi-tasking environment
DK179415B1 (en) 2016-06-11 2018-06-14 Apple Inc Intelligent device arbitration and control
DK201670540A1 (en) 2016-06-11 2018-01-08 Apple Inc Application integration with a digital assistant
US12197817B2 (en) 2016-06-11 2025-01-14 Apple Inc. Intelligent device arbitration and control
CN106293128B (zh) * 2016-08-12 2019-06-28 清华大学 盲式文字输入方法、盲式文字输入装置和计算装置
CA3036778C (en) 2016-09-21 2022-02-01 Motorola Solutions, Inc. Method and system for optimizing voice recognition and information searching based on talkgroup activities
US11520412B2 (en) * 2017-03-06 2022-12-06 Microsoft Technology Licensing, Llc Data input system/example generator
DK180048B1 (en) 2017-05-11 2020-02-04 Apple Inc. MAINTAINING THE DATA PROTECTION OF PERSONAL INFORMATION
DK201770427A1 (en) 2017-05-12 2018-12-20 Apple Inc. LOW-LATENCY INTELLIGENT AUTOMATED ASSISTANT
DK179496B1 (en) 2017-05-12 2019-01-15 Apple Inc. USER-SPECIFIC Acoustic Models
DK201770411A1 (en) 2017-05-15 2018-12-20 Apple Inc. MULTI-MODAL INTERFACES
US20180336275A1 (en) 2017-05-16 2018-11-22 Apple Inc. Intelligent automated assistant for media exploration
KR102474245B1 (ko) * 2017-06-02 2022-12-05 삼성전자주식회사 스와이프 입력에 기초하여 입력 문자를 판단하는 시스템 및 방법
US11513678B2 (en) * 2017-06-06 2022-11-29 Polycom, Inc. Context based annotating in an electronic presentation system
US10818288B2 (en) 2018-03-26 2020-10-27 Apple Inc. Natural assistant interaction
US10928918B2 (en) 2018-05-07 2021-02-23 Apple Inc. Raise to speak
US11145294B2 (en) 2018-05-07 2021-10-12 Apple Inc. Intelligent automated assistant for delivering content from user experiences
DK179822B1 (da) 2018-06-01 2019-07-12 Apple Inc. Voice interaction at a primary device to access call functionality of a companion device
DK201870355A1 (en) 2018-06-01 2019-12-16 Apple Inc. VIRTUAL ASSISTANT OPERATION IN MULTI-DEVICE ENVIRONMENTS
DK180639B1 (en) 2018-06-01 2021-11-04 Apple Inc DISABILITY OF ATTENTION-ATTENTIVE VIRTUAL ASSISTANT
CN110837305A (zh) * 2018-08-16 2020-02-25 北京搜狗科技发展有限公司 输入法纠错方法及装置
US11009989B2 (en) 2018-08-21 2021-05-18 Qeexo, Co. Recognizing and rejecting unintentional touch events associated with a touch sensitive device
US11462215B2 (en) 2018-09-28 2022-10-04 Apple Inc. Multi-modal inputs for voice commands
US11348573B2 (en) 2019-03-18 2022-05-31 Apple Inc. Multimodality in digital assistant systems
CN111754571B (zh) * 2019-03-28 2024-07-16 北京沃东天骏信息技术有限公司 一种姿态识别方法、装置及其存储介质
DK201970509A1 (en) 2019-05-06 2021-01-15 Apple Inc Spoken notifications
US11307752B2 (en) 2019-05-06 2022-04-19 Apple Inc. User configurable task triggers
US10942603B2 (en) 2019-05-06 2021-03-09 Qeexo, Co. Managing activity states of an application processor in relation to touch or hover interactions with a touch sensitive device
US11140099B2 (en) 2019-05-21 2021-10-05 Apple Inc. Providing message response suggestions
DK180129B1 (en) 2019-05-31 2020-06-02 Apple Inc. USER ACTIVITY SHORTCUT SUGGESTIONS
US11227599B2 (en) 2019-06-01 2022-01-18 Apple Inc. Methods and user interfaces for voice-based control of electronic devices
US11231815B2 (en) 2019-06-28 2022-01-25 Qeexo, Co. Detecting object proximity using touch sensitive surface sensing and ultrasonic sensing
CN110896495A (zh) * 2019-11-19 2020-03-20 北京字节跳动网络技术有限公司 用于目标设备的视图调整方法、装置、电子设备和介质
US11009969B1 (en) 2019-12-03 2021-05-18 International Business Machines Corporation Interactive data input
US11592423B2 (en) 2020-01-29 2023-02-28 Qeexo, Co. Adaptive ultrasonic sensing techniques and systems to mitigate interference
US11061543B1 (en) 2020-05-11 2021-07-13 Apple Inc. Providing relevant data items based on context
US11043220B1 (en) 2020-05-11 2021-06-22 Apple Inc. Digital assistant hardware abstraction
US11490204B2 (en) 2020-07-20 2022-11-01 Apple Inc. Multi-device audio adjustment coordination
US11438683B2 (en) 2020-07-21 2022-09-06 Apple Inc. User identification using headphones
DE112020007543T5 (de) * 2020-08-25 2023-08-03 Google Llc Initiieren eines Computergerät-Interaktionsmodus unter Nutzung der Erkennung von Gesten außerhalb des Bildschirms

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101932990A (zh) * 2008-02-04 2010-12-29 微软公司 动态软键盘

Family Cites Families (50)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5075896A (en) 1989-10-25 1991-12-24 Xerox Corporation Character and phoneme recognition based on probability clustering
US5801941A (en) 1996-08-12 1998-09-01 International Business Machines Corporation Mobile client computer programmed to establish soft keyboard targeting sensitivity
US5953541A (en) 1997-01-24 1999-09-14 Tegic Communications, Inc. Disambiguating system for disambiguating ambiguous input sequences by displaying objects associated with the generated input sequences in the order of decreasing frequency of use
KR100327209B1 (ko) 1998-05-12 2002-04-17 윤종용 첨펜의자취를이용한소프트웨어키보드시스템및그에따른키코드인식방법
GB2347247A (en) 1999-02-22 2000-08-30 Nokia Mobile Phones Ltd Communication terminal with predictive editor
US7293231B1 (en) 1999-03-18 2007-11-06 British Columbia Ltd. Data entry for personal computing devices
DE60043008D1 (de) 1999-05-27 2009-11-05 Tegic Comm Inc Tastatursystem mit automatischer korrektur
US7750891B2 (en) 2003-04-09 2010-07-06 Tegic Communications, Inc. Selective input system based on tracking of motion parameters of an input device
US7030863B2 (en) 2000-05-26 2006-04-18 America Online, Incorporated Virtual keyboard system with automatic correction
US6904405B2 (en) 1999-07-17 2005-06-07 Edwin A. Suominen Message recognition using shared language model
US7035788B1 (en) 2000-04-25 2006-04-25 Microsoft Corporation Language model sharing
CA2416835A1 (en) 2000-07-21 2002-01-31 Raphael Bachmann Method for a high-speed writing system and high-speed writing device
US6606597B1 (en) 2000-09-08 2003-08-12 Microsoft Corporation Augmented-word language model
US7042443B2 (en) 2001-10-11 2006-05-09 Woodard Scott E Speed Writer program and device with Speed Writer program installed
US7075520B2 (en) 2001-12-12 2006-07-11 Zi Technology Corporation Ltd Key press disambiguation using a keypad of multidirectional keys
US7151530B2 (en) 2002-08-20 2006-12-19 Canesta, Inc. System and method for determining an input selected by a user through a virtual interface
US7199786B2 (en) 2002-11-29 2007-04-03 Daniel Suraqui Reduced keyboards system using unistroke input and having automatic disambiguating and a recognition method using said system
US7251367B2 (en) 2002-12-20 2007-07-31 International Business Machines Corporation System and method for recognizing word patterns based on a virtual keyboard layout
US7098896B2 (en) 2003-01-16 2006-08-29 Forword Input Inc. System and method for continuous stroke word-based text input
US7453439B1 (en) 2003-01-16 2008-11-18 Forward Input Inc. System and method for continuous stroke word-based text input
SG135918A1 (en) 2003-03-03 2007-10-29 Xrgomics Pte Ltd Unambiguous text input method for touch screens and reduced keyboard systems
EP1477924B1 (en) * 2003-03-31 2007-05-02 HONDA MOTOR CO., Ltd. Gesture recognition apparatus, method and program
US7250938B2 (en) 2004-01-06 2007-07-31 Lenovo (Singapore) Pte. Ltd. System and method for improved user input on personal computing devices
US7706616B2 (en) 2004-02-27 2010-04-27 International Business Machines Corporation System and method for recognizing word patterns in a very large vocabulary based on a virtual keyboard layout
US7508324B2 (en) 2004-08-06 2009-03-24 Daniel Suraqui Finger activated reduced keyboard and a method for performing text input
US20060176283A1 (en) 2004-08-06 2006-08-10 Daniel Suraqui Finger activated reduced keyboard and a method for performing text input
US8036878B2 (en) 2005-05-18 2011-10-11 Never Wall Treuhand GmbH Device incorporating improved text input mechanism
US7886233B2 (en) 2005-05-23 2011-02-08 Nokia Corporation Electronic text input involving word completion functionality for predicting word candidates for partial word inputs
DE102005058982B4 (de) 2005-12-09 2008-02-28 Infineon Technologies Ag Bündelungsschaltung für eine Leitungstreiberkarte und Verfahren zum Bündeln von Datenfragmenten
US8059101B2 (en) 2007-06-22 2011-11-15 Apple Inc. Swipe gestures for touch screen keyboards
US8065624B2 (en) * 2007-06-28 2011-11-22 Panasonic Corporation Virtual keypad systems and methods
US20090231282A1 (en) * 2008-03-14 2009-09-17 Steven Fyke Character selection on a device using offset contact-zone
US20100131447A1 (en) 2008-11-26 2010-05-27 Nokia Corporation Method, Apparatus and Computer Program Product for Providing an Adaptive Word Completion Mechanism
US8169418B2 (en) * 2009-05-12 2012-05-01 Sony Ericsson Mobile Communications Ab Displays for electronic devices that detect and respond to the size and/or angular orientation of user input objects
US20100315266A1 (en) 2009-06-15 2010-12-16 Microsoft Corporation Predictive interfaces with usability constraints
US20110063231A1 (en) 2009-09-14 2011-03-17 Invotek, Inc. Method and Device for Data Input
US8135582B2 (en) 2009-10-04 2012-03-13 Daniel Suraqui Keyboard system and method for global disambiguation from classes with dictionary database from first and last letters
US8599130B2 (en) 2009-11-30 2013-12-03 Blackberry Limited Portable electronic device and method of controlling same
US8918734B2 (en) 2010-07-28 2014-12-23 Nuance Communications, Inc. Reduced keyboard with prediction solutions when input is a partial sliding trajectory
TW201224857A (en) 2010-12-15 2012-06-16 Inst Information Industry Electrical device with touch screen, method for adjusting touch positions of software keyboard and computer readable storage medium thereof
US20120166995A1 (en) 2010-12-24 2012-06-28 Telefonaktiebolaget L M Ericsson (Publ) Smart virtual keyboard for touchscreen devices
US9542092B2 (en) * 2011-02-12 2017-01-10 Microsoft Technology Licensing, Llc Prediction-based touch contact tracking
US9430145B2 (en) 2011-04-06 2016-08-30 Samsung Electronics Co., Ltd. Dynamic text input using on and above surface sensing of hands and fingers
US20120304067A1 (en) * 2011-05-25 2012-11-29 Samsung Electronics Co., Ltd. Apparatus and method for controlling user interface using sound recognition
US8719719B2 (en) 2011-06-17 2014-05-06 Google Inc. Graphical icon presentation
US20130002565A1 (en) 2011-06-28 2013-01-03 Microsoft Corporation Detecting portable device orientation and user posture via touch sensors
US20130009896A1 (en) 2011-07-09 2013-01-10 Lester F. Ludwig 3d finger posture detection and gesture recognition on touch surfaces
US9262076B2 (en) * 2011-09-12 2016-02-16 Microsoft Technology Licensing, Llc Soft keyboard interface
US20130222247A1 (en) 2012-02-29 2013-08-29 Eric Liu Virtual keyboard adjustment based on user input offset
US8928593B2 (en) 2012-03-11 2015-01-06 Beijing Hefengxin Keji Co. Ltd. Selecting and updating location of virtual keyboard in a GUI layout in response to orientation change of a portable device

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101932990A (zh) * 2008-02-04 2010-12-29 微软公司 动态软键盘

Also Published As

Publication number Publication date
CN108710406B (zh) 2021-10-08
CN108710406A (zh) 2018-10-26
US20140082545A1 (en) 2014-03-20
WO2014047161A2 (en) 2014-03-27
US9471220B2 (en) 2016-10-18
WO2014047161A3 (en) 2014-08-28
CN104685451A (zh) 2015-06-03

Similar Documents

Publication Publication Date Title
CN104685451B (zh) 姿势适应选择
US11573698B2 (en) Neural network for keyboard input decoding
CN105009064B (zh) 使用语言和空间模型的触摸键盘
CN105431809B (zh) 用于国际语言的虚拟键盘输入
CN104020943B (zh) 字符串替换
CN105378606B (zh) 用于手势键入的备选假设错误修正
CN105164616B (zh) 用于输出候选字符串的方法、计算设备及存储介质
CN104718544B (zh) 部分手势文本输入的方法、计算设备及系统
CN110083254A (zh) 多手势文本输入预测
CN104123012B (zh) 使用替代评分的非字典字符串的姿态键盘输入
CN104035712B (zh) 用于基于姿势的键盘的姿势完成路径显示
US9304595B2 (en) Gesture-keyboard decoding using gesture path deviation
US20120223889A1 (en) System and Method for Inputting Text into Small Screen Devices
US9454240B2 (en) Gesture keyboard input of non-dictionary character strings
CN104718545A (zh) 递增的多词识别
US9298276B1 (en) Word prediction for numbers and symbols
CN107209577A (zh) 用户状态自适应文本输入
CN105027040A (zh) 文本输入系统及方法
CN108701124A (zh) 预测接下来的字母并在图形键盘的键中显示它们
CN107850950A (zh) 基于时间的分词
EP3485361B1 (en) Pressure-based gesture typing for a graphical keyboard
CN107407975A (zh) 连续手势输入期间的建议选择
CN108701123A (zh) 图形键盘的动态键映射
US9952763B1 (en) Alternative gesture mapping for a graphical keyboard
Sakkos et al. Anima: Adaptive personalized software keyboard

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information
CB02 Change of applicant information

Address after: American California

Applicant after: Google limited liability company

Address before: American California

Applicant before: Google Inc.

GR01 Patent grant
GR01 Patent grant