CN107209577B - 用于促进用户输入的方法、计算设备和存储介质 - Google Patents

用于促进用户输入的方法、计算设备和存储介质 Download PDF

Info

Publication number
CN107209577B
CN107209577B CN201680008639.1A CN201680008639A CN107209577B CN 107209577 B CN107209577 B CN 107209577B CN 201680008639 A CN201680008639 A CN 201680008639A CN 107209577 B CN107209577 B CN 107209577B
Authority
CN
China
Prior art keywords
user
computing device
gesture
module
display
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
CN201680008639.1A
Other languages
English (en)
Other versions
CN107209577A (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
Publication of CN107209577A publication Critical patent/CN107209577A/zh
Application granted granted Critical
Publication of CN107209577B publication Critical patent/CN107209577B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/0482Interaction with lists of selectable items, e.g. menus
    • 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)
  • 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

在一个示例中,一种方法包括:通过计算设备(102),输出包括多个键的图形键盘(124)以显示在可操作地耦合至所述计算设备的显示设备(104)处;以及通过所述计算设备,接收在可操作地耦合至所述计算设备的存在敏感输入设备处检测到的手势的指示。在该示例中,所述方法还包括:通过所述计算设备的一个或者多个传感器(154),检测指示被确定为影响手势准确性的一个或者多个用户状态的数据;通过所述计算设备并且至少部分地基于所述手势和所述数据的所述指示,选择特定候选串;以及通过所述计算设备,输出所述特定候选串以显示在所述显示设备处。

Description

用于促进用户输入的方法、计算设备和存储介质
背景技术
一些计算设备提供虚拟键盘作为用于文本输入的用户界面的一部分。例如,包括在计算设备中或者耦合至计算设备的触摸屏可以输出图形键盘,该图形键盘使用户能够通过指示显示在存在敏感显示器处的键来输入数据。提供图形键盘的计算设备可以利用词预测、自动校正、和/或建议技术来确定来自用户输入的词。
在一些情况下,计算设备可以呈现图形键盘,利用该图形键盘,用户可以通过轻击键盘的单独的键或者通过手指滑过与期望的键相关联的连续区域来进行交互。按照这种方式,图形键盘提供输入方法,该方法允许用户通过输入一个或者多个触摸手势来输入字符、词、或者词组。同样,虚拟键盘可以允许用户快速并且准确地将文本输入到计算设备中。
然而,存在改进键盘以正确地确定用户意图输入的键和/或词从而使文本输入更准确的机会。
附图说明
在附图和下面的描述中阐述了本公开的一个或者多个示例的细节。其它特征、对象、和优点将通过描述和附图以及权利要求书而显而易见,在该附图中:
图1是图示了根据本公开的一个或者多个技术的基于一个或者多个检测到的用户状态来选择候选串的示例计算设备的框图。
图2是图示了根据本公开的一个或者多个方面的在图1中示出的计算设备的一个示例的其它细节的框图。
图3是图示了根据本公开的一个或者多个技术的特定键的示例空间模型的图。
图4是图示了根据本公开的一个或者多个技术的输出图形内容以显示在远程设备处的示例计算设备的框图。
图5是图示了根据本公开的一个或者多个技术的基于一个或者多个检测到的用户状态来选择候选串的计算设备的示例操作的流程图。
图6是图示了根据本公开的一个或者多个技术的允许用户与计算设备进行交互的示例用户界面的概念图。
具体实施方式
一般而言,本公开的技术涉及响应于用户输入确定候选串,具体地,使用由计算设备检测到的一个或者多个用户状态来确定候选字符串。通过至少部分地基于一个或者多个检测到的用户状态来选择候选串,本公开的技术可以使计算设备能够减少一个或者多个检测到的用户状态对文本输入准确性的影响。
在一些示例中,一个或者多个不同的用户状态可能影响用户输入手势相对于用户意图输入手势的准确性。可能影响手势准确性的一些示例用户状态包括(但不限于):用户所从事的活动(例如,步行、跑步、骑自行车、运动、锻炼以及身处移动中的设备上)、和影响用户的手眼协调受损状态(例如,环境温度、用户醉酒状态、用户所穿的服装等)。
根据本公开的一个或者多个技术,计算设备可以接收用户执行的手势的指示和确定与手势准确性相关联的一个或者多个用户状态。例如,计算设备可以使用各种传感器和通信组件来确定用户正在步行并且戴着手套。计算设备可以通过修改一个或者多个候选文本串的相应概率来考虑手势准确性被用户状态影响的程度。因此,计算设备可以至少部分地基于手势和一个或者多个确定的用户状态来选择特定候选串。按照这种方式,计算设备可以基于用户状态来更准确地确定和预测用户意图的字符串,从而允许计算设备更准确地推断文本输入。
图1是图示了根据本公开的一个或者多个技术的基于一个或者多个检测到的用户状态来选择候选串的示例计算设备102的框图。在一些示例中,可以将计算设备102与用户相关联。与计算设备102相关联的用户可以通过向计算设备提供各种用户输入来与计算设备102进行交互。在一些示例中,用户可以具有一个或者多个账户,该一个或者多个账户具有一个或者多个服务(诸如,社交网络服务和/或电话服务),并且可以向计算设备102注册账户。
计算设备102的示例可以包括但不限于:诸如移动电话(包括智能电话)的便携式或者移动设备、可穿戴式计算机(也称为智能手表)、膝上型计算机、桌面计算机、平板计算机、智能电视机平台、个人数字助理(PDA)、远程控制器、游戏系统、服务器、大型计算机等。如在图1的示例中示出的,计算设备102可以是智能电话。在一些示例中,计算设备102可以包括:存在敏感显示器104、键盘模块108、手势模块110、应用模块112A至112N(“应用模块112”)、和用户状态模块114。例如,如在图2中示出的,实施本公开的技术的计算设备102的其它示例可以包括在图1中未示出的附件组件。
计算设备102可以包括存在敏感显示器104。计算设备102的存在敏感显示器104可以用作计算设备102的输入组件和输出组件二者。可以通过使用各种技术来实施存在敏感显示器104。例如,存在敏感显示器104可以使用存在敏感屏幕(诸如,电阻式触摸屏、表面声波触摸屏、电容式触摸屏、投射电容触摸屏、压敏屏、声脉冲识别触摸屏、摄像头和显示系统、或者另一存在敏感屏幕技术)来用作存在敏感输入组件。存在敏感显示器104可以使用液晶显示器(LCD)、点阵显示器、发光二极管(LED)显示器、有机发光二极管(OLED)显示器、电子墨水、或者能够向计算设备2的用户输出可视信息的类似的单色或者彩色显示器中的任何一个或者多个来用作输出组件(诸如,显示设备)。
计算设备102的存在敏感显示器104可以包括可以从计算设备102的用户接收触觉用户输入并且呈现输出的存在敏感屏幕。存在敏感显示器104可以通过检测来自计算设备102的用户的一个或者多个轻击和/或非轻击手势(例如,用户用手指或者触控笔触摸或者指着存在敏感显示器104的一个或者多个位置)来接收触觉用户输入的指示并且响应于该输入,计算设备102可以使存在敏感显示器104呈现输出。存在敏感显示器104可以呈现输出作为可以与由计算设备102提供的功能有关的用户界面(例如,图形用户界面(GUI)16)的一部分。
如在图1中示出的,计算设备102还可以包括手势模块110。在一些示例中,可以将手势模块110配置为从存在敏感显示器104接收手势数据并且处理该手势数据。例如,手势模块110可以从存在敏感显示器104接收指示用户在存在敏感显示器104处输入的手势的数据。手势模块110可以确定与轻击手势、滑动手势、光标移动手势、选择手势、或者其它手势对应的输入手势。在一些示例中,响应于用户手势,手势模块110确定与存在敏感显示器104的被触摸的或者以其他方式被检测到的位置对应的一个或者多个对准点。在一些示例中,手势模块110可以确定与连续手势相关联的一个或者多个特征,诸如,两个对准点之间的欧几里得距离、手势路径的长度、手势的方向、手势路径的弯曲度、两个对准点之间的手势最大弯曲度、手势的速度等。连续手势可以是在第一位置处开始并且在被计算设备102检测到时继续到达存在敏感显示器104的第二不同位置的手势,从而使得连续手势在到达第二不同位置时不再被检测到。手势模块110可以将处理后的数据发送至计算设备102的其它组件(诸如,应用模块112、键盘模块108等)。
在一些示例中,计算设备102包括键盘模块108。键盘模块108可以包括生成虚拟或者图形键盘124以进行显示的功能。键盘模块108还可以接收和/或处理输入数据(诸如,手势输入的指示)以选择图形键盘124的一个或者多个键。例如,键盘模块108可以从手势模块110接收表示某些轻击、键击、手势等的输入的数据,这些轻击、键击、手势等是用户经由显示在存在敏感显示器104处的图形键盘124作为轻击手势和/或连续滑动手势而输入的。键盘模块108可以基于输入特征(诸如,所接收到的输入位置、输入持续时间、输入速度、输入方向等)来处理接收到的键击并且确定所选择的字符、词、串等。键盘模块108还可以用于向与计算设备102相关联的其它组件(诸如,应用模块112、手势模块110等)发送字符数据、词数据、和/或字符串数据。即,在各种示例中,键盘模块108可以从手势模块110接收输入数据,处理该输入数据以确定字符、文本、串等,并且将数据提供至应用模块112。
在一些示例中,计算设备102包括一个或者多个应用模块112。应用模块112可以包括在计算设备102上执行任何种类的操作的功能。例如,应用模块112可以包括文字处理器、电子表单、web浏览器、联系人列表、一个或者多个消息应用(例如,文本消息、即时消息、电子邮件等)、多媒体播放器、服务器应用、操作系统、分布式计算应用、图形设计应用、视频编辑应用、网络开发应用、通知应用等。如在图1的示例中描述的,应用模块112A可以包括显示图形内容的电子邮件应用的功能。这种图形内容可以包括本文编辑器控件122和图形键盘124,该本文编辑器控件122和图形键盘124分别包括在GUI 116中。在图1的示例中,应用模块112A可以使用户能够读取电子邮件、撰写电子邮件、和发送电子邮件等。
在一些示例中,计算设备102可以包括一个或者多个传感器154。传感器154中的一个或者多个可以测量一个或者多个被测量。传感器154中的一个或者多个的示例可以包括:一个或者多个位置传感器(例如,全球定位系统(GPS)传感器、室内定位传感器等)、一个或者多个运动传感器/定向传感器(例如,加速度计、陀螺仪等)、光传感器、温度传感器、压力(或者握持力)传感器、物理开关、接近传感器、和可以测量皮肤/血液的属性(诸如,酒精、血糖等)的一个或者多个生物传感器。
如在图1中示出的,GUI 116可以是由键盘模块108和应用模块112A中的一个或者多个生成的、允许用户与计算设备102进行交互的用户界面。GUI 116可以包括图形内容。通常,图形内容可以包括GUI116中的任何可视觉显示的表示。图形内容的示例可以包括图形对象、文本、图像、一组移动图像、字符、符号等。如在图1中示出的,GUI116包括本文编辑器控件122和图形键盘124。
如在图1中示出的,本文编辑器控件122可以显示用户输入的、由计算设备102生成的、和/或计算设备102从可操作地耦合至计算设备102的另一计算设备接收到的文本内容。为了说明图1,文本内容可以包括“Let’s go”120。键盘模块108可以使存在敏感显示器104将文本编辑器控件122与所包括的文本内容一起显示。
可以通过存在敏感显示器104来显示图形键盘124作为可选键的集合。键可以表示来自字符集合的单个字符(例如,英语字母表中的字母),或者可以表示字符的组合。图形键盘的一个示例可以包括传统“QWERTY”键盘布局。其它示例可以包含针对不同语言、不同字符集合、或者不同字符布局的字符。如在图1的示例中示出的,图形键盘124包括英语语言的传统“QWURTY”键盘布局的版本,该键盘提供字符键以及提供其它功能的各种键(例如,提供“移位”功能的“上箭头”键)。示例键包括“E”键130和“S”键128。在一些示例中,图形键盘124包括一个或者多个词建议,诸如,包括词“out”的词建议132。
根据本公开的技术,计算设备102可以实施用户状态模块114以改进在键盘124处的用户选择的准确性。如在本公开中描述的,用户状态模块114可以选择与手势准确性相关联的一个或者多个用户状态。用户状态模块114可以基于源自本地的数据(例如,由包括在计算设备102中的一个或者多个传感器154生成的数据)和/或源自远程的数据(例如,计算设备102从一个或者多个外部设备(诸如,一个或者多个服务器)接收到的数据)的任何组合来选择一个或者多个用户状态。例如,用户状态模块114可以确定用户所从事的一个或者多个活动(例如,步行、跑步、骑自行车、驾车、运动、锻炼以及身处移动中的设备(诸如,船、汽车、公共汽车、火车、飞机等)上)和/或用户的一个或者多个手眼协调受损状态(例如,环境温度、用户醉酒状态、用户所穿的服装等)。用户状态模块114可以向计算设备102的一个或者多个其它组件(诸如,键盘模块108)输出一个或者多个检测到的用户状态的指示。如本文进一步描述的,在一些示例中,用户状态模块114和键盘模块108可以至少部分地基于检测到的一个或者多个用户状态来确定特定候选串以进行显示。
在操作中,存在敏感显示器104可以接收接近图形键盘124的多个键中的一个或者多个的输入的指示。例如,用户可以在存在敏感显示器104处执行一个或者多个轻击和/或连续手势。手势模块110可以处理来自存在敏感显示器104的数据以确定在存在敏感显示器104的表面上的一个或者多个位置。基于该位置,手势模块110可以确定指示手势路径的形状、该一个或者多个滑动手势所遍历的存在敏感显示器104的位置、轻击手势的序列、双手指捏放手势的张开或者缩合等的输入信息。手势模块110可以向键盘模块108输出输入信息的指示。
用户状态模块114可以从一个或者多个传感器154接收信号并且使用该传感器信息来选择与手势准确性相关联的一个或者多个用户状态。例如,用户状态模块114可以确定计算设备102的用户正站着不动(如用户状态103A所图示)、计算设备的用户正站着不动并且戴着手套(如用户状态103B所图示)、计算设备102的用户正在步行(如用户状态103C所图示)、计算设备102的用户正在骑自行车(如用户状态103D所图示)等。在一些示例中,用户状态模块114可以在用户在存在敏感显示器104处执行手势之前、期间、和/或之后检测一个或者多个用户状态。作为一个示例,用户状态模块114可以定期地接收传感器输入并且重新评定一个或者多个用户状态。作为另一示例,用户状态模块114可以响应于确定用户正在存在敏感显示器104处执行/已经在存在敏感显示器104处执行了手势来检测一个或者多个用户状态。在任何情况下,用户状态模块114可以向键盘模块108输出一个或者多个检测到的用户状态的指示。
键盘模块108可以至少基于由用户状态模块114检测到的一个或者多个用户状态和由手势模块110确定的输入信息来确定一个或者多个候选串。例如,在一个或者多个检测到的用户状态与降低的手势准确性相关联的情况下,键盘模块108可以确定一个或者多个候选串,其中对输入信息的准确性的依赖降低。作为一个示例,键盘模块108可以调整用于确定一个或者多个候选串中的每个候选串的物理成本值的一个或者多个参数(诸如,一个或者多个电机噪声参数)。作为另一示例,键盘模块108可以通过调整一个或者多个候选串中的每个候选串的物理成本值与词汇成本值之间的相对权重来降低在确定一个或者多个候选串时对输入信息的准确性的依赖。下面参照图2讨论物理成本值和词汇成本值的进一步细节。
在图1的示例中,用户可以执行可以由存在敏感显示器104检测到的一个或者多个手势。例如,用户可以执行旨在输入短语“Let’s go”120的多个轻击手势。手势模块110可以接收手势的指示并且确定手势遍历了对准点129A至129F(统称为“对准点129”)。用户状态模块114可以接收传感器输入并且选择与手势准确性相关联的一个或者多个用户状态。例如,用户状态模块114可能检测到用户正在步行(即,用户状态103C),该状态可能会降低与坐着不动或者站着不动有关的手势准确性。例如,当用户步行时,用户的身体、计算设备102、和手指的相对移动可以引起在相较于用户所意图的位置处响应不太准确的位置处的触摸输入。基于来自用户状态模块114的检测到的用户状态103C和来自手势模块110的对准点129A至129F,键盘模块108可以确定一个或者多个候选串。例如,与确定候选串“Lrtd ho”而不考虑用户状态相反,键盘模块108可以通过降低对对准点129的准确性的依赖或者增加对词汇模型的依赖来确定候选串“Let’s go”120。按照这种方式,本公开的技术可以至少部分地基于一个或者多个检测到的用户状态来改进通过触摸数据对候选串的选择。
图2是图示了根据本公开的一个或者多个方面的在图1中示出的计算设备的一个示例的进一步细节的框图。图2仅图示了计算设备202的一个特定示例,并且在其它实例中可以使用计算设备202的许多其它示例。
如在图2的具体示例中示出的,计算设备202包括:一个或者多个处理器240、一个或者多个输入组件242、一个或者多个通信单元244、一个或者多个输出组件246、一个或者多个存储设备248、和存在敏感显示器204。在图2的示例中,计算设备202包括键盘模块208、手势模块210、操作系统257、用户状态模块214、空间模块251、和语言模型252。组件240、242、244、246、248、和204中的每一个可以互连(物理地、通信地、和/或可操作地)以进行组件间通信。在一些示例中,通信信道250可以包括系统总线、网络连接、进程间通信数据结构、或者用于通信数据的任何其它信道。作为图2中的一个示例,可以通过一个或者多个通信信道250来耦合组件240、242、244、246、248、和204。键盘模块208、手势模块210、应用模块212A至212N(统称为“应用模块212”)、操作系统257、用户状态模块214、空间模型251、语言模型252还可以与彼此以及与计算设备202中的其它组件通信。
在一个示例中,处理器240被配置为实施用于在计算设备202内执行的功能和/或过程指令。例如,处理器240能够处理存在存储设备248中的处理指令。处理器240的示例可以包括微处理器、控制器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、或者等效的离散逻辑电路或者集成逻辑电路中的任何一个或者多个。
可以将一个或者多个存储设备248配置为在操作期间存储计算设备202内的信息。在一些示例中,将存储设备248描述为计算机可读存储介质。在一些示例中,存储设备248是暂时性存储器,这意味着存储设备248的主要目的不是长期存储。在一些示例中,将存储设备248描述为易失性存储器,这意味着存储设备248在计算设备关闭时不会维持存储的内容。易失性存储器的示例包括:随机存取存储器(RAM)、动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM)、和本领域已知的其它形式的易失性存储器。在一些示例中,存储设备248用于存储由处理器240执行的程序指令。在一个示例中,存储设备248由在计算设备202上运行的软件或者应用(例如,应用模块212)用于在程序执行期间暂时存储信息。
在一些示例中,存储设备248还包括一个或者多个计算机可读存储介质。可以将存储设备248配置为比易失性存储器存储更大量的信息。可以将存储设备248进一步配置为长期存储信息。在一些示例中,存储设备248包括非易失性存储元件。这种非易失性存储元件的示例包括:磁性硬盘、光盘、软盘、闪速存储器、或者电可编程存储器(EPROM)或者电可擦除可编程(EEPROM)存储器的形式。
在一些示例中,计算设备202还包括一个或者多个通信单元244。在一个示例中,计算设备202利用通信单元244来经由一个或者多个网络(诸如,一个或者多个有线或者无线网络)与外部设备通信。通信单元244可以是网络接口卡(诸如,以太网卡)、光收发器、射频收发器、或者可以发送和接收信息的任何其它类型的设备。这种网络接口的示例可以包括蓝牙、红外信令、3G、LTE、和Wi-Fi无线电以及通用串行总线(USB)和以太网。在一些示例中,计算设备202利用通信单元244来与可操作地耦合至计算设备202的另一计算设备无线地通信。
计算设备202的一个或者多个输入组件242可以接收输入。输入的示例是触觉输入、音频输入、和视频输入。在一个示例中,计算设备202的输入组件242包括:存在敏感显示器、触摸敏感屏幕、鼠标、键盘、操纵杆、物理按钮/开关、语音响应系统、摄像头、麦克风或者用于检测来自人类或者机器的输入的任何其它类型的设备。
如在图2的中图示的,在一些示例中,输入组件242可以包括一个或者多个传感器254。传感器254中的一个或者多个可以测量一个或者多个被测量。传感器254中的一个或者多个的示例可以包括:一个或者多个位置(例如,全球定位系统(GPS)传感器、室内定位传感器等)、一个或者多个运动/定向传感器(例如,加速度计、陀螺仪)、光传感器、温度传感器、压力(或者握持力)传感器、物理开关、接近传感器、和可以测量皮肤/血液的属性(诸如,酒精、血糖等)的一个或者多个生物传感器。
计算设备202的一个或者多个输出组件246可以生成输出。输出的示例可以包括触觉输出、音频输出、和视频输出。在一个示例中,计算设备202的输出组件246包括:存在敏感显示器、声卡、视频图形适配卡、扬声器、电子显示器、或者用于向人或者机器生成输出的任何其它类型的设备。电子显示器可以是触摸屏的LCD或OLED部分,可以是非触摸屏直观显示组件(诸如,CRT、LED、LCD、或者OLED)。显示组件还可以是投影仪,而不是直观显示器。
计算设备202的存在敏感显示器204包括显示组件256和存在敏感输入组件258。显示组件256可以是屏幕,在该屏幕处,存在敏感显示器204显示信息并且存在敏感输入组件258可以检测在显示组件256处和/或附近的物体。作为一个示例范围,存在敏感输入组件258可以检测物体,诸如,在显示组件256的2英寸(~5.08厘米)或者小于2英寸内的手指或者触控笔。存在敏感输入组件258可以确定检测到物体的显示组件256的位置(例如,(x,y)坐标)。在另一示例范围中,存在敏感输入组件258可以检测与存在敏感输入组件256相距6英寸(~15.24厘米)或者更小距离的物体,并且其它范围也是可能的。存在敏感输入组件258可以通过使用电容、电感、和/或光学识别技术来确定通过用户的手指选择的显示组件256的位置。在一些示例中,存在敏感输入组件258还使用如针对显示组件256描述的触觉、音频、或者视频刺激来向用户提供输出。在图2的示例中,存在敏感显示器204呈现用户界面(诸如,图1的用户界面116)。
虽然将存在敏感显示器204图示为计算设备202的内部组件,但是存在敏感显示器204还可以表示与计算设备202共享数据路径以传输和/或接收输入和输出的外部组件。例如,在一个示例中,存在敏感显示器204表示位于计算设备202的外部封装内并且物理地连接至计算设备2的外部封装的计算设备202的内置组件(例如,在移动电话上的屏幕)。在另一示例中,存在敏感显示204可以表示位于计算设备202的封装外并且与计算设备202的封装物理地分开的计算设备202的外部组件(例如,与平板计算机共享有线和/或无线数据路径的监视器、投影仪等)。
计算设备202可以包括操作系统257。在一些示例中,操作系统257控制计算设备202的组件的操作。例如,在一个示例中,操作系统257促进UI模块206、键盘模块208、手势模块210、应用模块212、用户状态模块214、空间模型251和语言模型252与处理器240、通信单元244、存储设备248、输入组件242、输出组件246、和存在敏感显示器204的通信。存储设备248的一个或者多个组件,包括UI模块206、键盘模块208、手势模块210、应用模块212、操作系统257、用户状态模块214、空间模型251、和语言模型252,可以每个包括可由计算设备202执行的程序指令和/或数据。作为一个示例,UI模块206可以包括使计算设备202执行本公开中描述的操作和动作中的一个或者多个的指令。在一些示例中,可以在硬件、和/或软件和硬件的组合中实施存储设备248中所图示的组件中的一个或者多个。
如上面讨论的,用户状态模块214可以检测可能会影响手势准确性的一个或者多个用户状态。在一些示例中,用户状态模块214可以基于从传感器254中的一个或者多个接收到的数据和/或从一个或者多个外部设备接收到的数据(例如,经由一个或者多个通信单元244接收到的数据)来检测一个或者多个用户状态。例如,用户状态模块214可以基于由传感器254中的一个或者多个运动传感器和/或一个或者多个位置传感器测得的数据来确定计算设备202的用户所从事的一个或者多个活动。作为一个示例,用户状态模块214可以基于由传感器54的加速度计测得的数据来确定计算设备202的用户正在步行。作为另一示例,用户状态模块214可以基于传感器254中的位置传感器(例如,GPS传感器)来确定计算设备202的用户在船上(例如,如果计算设备202的定位与一个水体的位置对应)。作为另一示例,用户状态模块214可以基于从通信单元244中的一个或者多个接收到的数据(例如,指示计算设备202诸如经由蓝牙与汽车配对的数据)来确定计算设备202的用户在车中。
类似地,用户状态模块214可以基于由传感器254中的一个或者多个天气传感器和/或一个或者多个定位传感器、位置传感器或者移动传感器测得的数据来确定影响计算设备202的用户的一个或者多个手眼协调受损状态。作为一个示例,用户状态模块214可以基于传感器254中的温度传感器来确定影响计算设备202的用户的温度状况(例如,计算设备202的用户感到冷并且可能在发抖)。作为另一示例,用户状态模块214可以基于传感器254中的位置传感器和经由通信单元244接收到的天气数据来确定影响计算设备202的用户的温度状况(例如,计算设备202的位置在寒冷天气期间处于室外)。
作为另一示例,用户状态模块214可以确定计算设备202的用户的受损手眼协调状态。例如,用户可能处于醉酒状态。在一种情况下,传感器254中的运动传感器(例如,陀螺仪或者加速度计)可以登记计算设备202的不稳定的或者摇摆的粗略运动移动,并且传感器254中的位置传感器(如通过使用GPS接收器来实施的位置传感器)可以登记计算设备202的位置与供应酒精的场所的位置对应。用户状态模块214可以接收这两个传感器信号并且由于醉酒的推断而为用户选择受损手眼协调状态。在不同的情况下,当摄像头指示通常佩戴眼镜的用户当前未佩戴智能眼镜时,用户状态模块214可以选择受损手眼协调状态。在不同的情况下,用户状态模块214可以基于由输入组件242中的一个输入组件检测到的触摸数据(例如,较大尺寸的触摸事件可以指示计算设备202的用户正戴着手套)来确定计算设备202的用户所穿的服装(例如,确定计算设备202的用户正戴着手套)。
在一些示例中,用户状态模块214可以针对每个相应用户状态确定指示在程度范围内相应用户状态或者用户状态的组合对手势准确性的影响程度。作为一个示例,用户状态模块214可以确定针对跑步的值和针对步行的值,从而使得针对跑步的值指示相较于步行,跑步影响手势准确性的程度更大。作为另一示例,用户状态模块214可以确定针对组合的醉酒和步行状态的值和针对组合的醉酒和静坐状态的值,从而使得针对醉酒和步行的值指示相较于醉酒和静坐,醉酒和步行影响手势准确性的程度更大。作为另一示例,用户状态模块214可以确定针对组合的醉酒和戴着手套状态的值和针对组合的醉酒和裸手状态的值,从而使得针对醉酒和戴着手套的值指示相较于醉酒和裸手,醉酒和戴着手套影响手势准确性的程度更大。在一些示例中,用户状态模块214可以维持将一组不同的用户状态映射至不同的值的数据(诸如,查找表)。作为一个示例,由用户状态模块214维持的查找表可以指示针对跑步的值为3、针对步行的值为5、针对乘坐车辆的值为3等。
在一些示例中,用户状态模块214可以随时间对这些值进行更新。在一些示例中,用户状态模块214可以基于针对计算设备202的用户的数据对这些值进行更新。例如,在第一时间,用户状态模块214可以确定针对步行的值为3并且针对跑步的值为6。随着时间的推移,用户状态模块214可以确定计算设备202的用户能够在步行时准确地执行手势(例如,基于来自键盘模块208和手势模块210的指示:来自用户的触摸点以字母为中心和/或退格或者其它校正不频繁)。同样,在第二时间,用户状态模块214可以调整针对步行的值,例如,以减少在计算设备202的用户在步行的同时步行状态对所确定的字符串的影响。在一些示例中,用户状态模块214可以基于针对计算设备202或者其它计算设备的其他用户的数据(例如,基于人口的数据)对这些值进行更新。
在一些示例中,计算设备202包括语言模型252。语言模型252可以包括词典。在一些示例中,词典可以包括词列表并且可以包括有关列出的词的附加信息。可以用一系列数据结构来表示词典,诸如,数组、链表、和/或树。例如,语言模型252可以包括存储在特里(trie)数据结构中的词典。词典特里数据结构可以包含多个节点,每个节点可以表示字母。可以将词典特里中的第一个节点称为入口节点,该入口节点可以不与字母对应。在其它示例中,入口节点可以与字母对应。每个节点具有一个或者多个子节点。例如,入口节点可以具有二十六个子节点,每个子节点与英语字母表的字母对应。
在词典特里中的节点的子集可以每个包括指示节点是终端节点的标志。词典特里的每个终端节点可以指示完整的词(例如,候选词)。由节点沿着从入口节点到终端节点的路径指示的字母可以拼出由终端节点指示的词。在一些示例中,语言模型252可以是安装在计算设备202上的默认字典。在其它示例中,语言模型252可以包括多个词典源,可以将所述词典源存储在计算设备202处或者存储在一个或者多个远程计算设备处,并且所述词典源对计算设备202是经由一个或者多个通信信道可访问的。
在一些示例中,可以在计算设备202的固件中实施语言模型252。语言模型252可以包括语言模型频率信息(诸如,n元语法语言模型)。n元语法语言模型可以基于序列(即,P(xi|xi-(n-1),...,xi-1))中的先前项,来为连续项序列中的项Xi(字母或者词)提供概率分布。例如,二元语法语言模型(n=2的n元语法模型)可以提供字母“X”跟随序列“FOX”的概率。在一些示例中,语言模型252包括具有集成语言模型频率信息的词典特里。例如,词典特里的每个节点可以包括字母的表示和概率值。
在一些示例中,键盘模块208还可以使用语言模型252来确定用户选择给定键的概率。例如,当确定用户选择某个键的概率时,键盘模块208可以确定该键的字符是否与语言模型252中的词或者基于包括在语言模型252中的词生成的短语以及先前或者连续输入的字符的上下文对应。例如,键盘模块208可以确定:假设在图形键盘124处已经输入字母“FO”和接近“X”和“Z”的输入“FOX”,则“FOX”比“FOZ”更有可能,并且因此,向字母“X”分配比字母“Z”更高的概率。
在一些示例中,键盘模块208可以递增地确定由轻击和/或连续手势指示的一个或者多个字符、词、短语。在一个示例中,用户可能期望将文本(例如,词“朋友”)输入到GUI的文本输入区域中。根据本公开的技术,用户可以在通过计算设备202输出以进行显示的图形键盘处执行一系列轻击手势。该手势可以包括多个不同的轻击。在一些示例中,可以将轻击手势分为持续时间基本相等的多个部分,而在其它示例中,轻击手势可以具有不同的持续时间。
键盘模块208可以从手势模块210接收表示显示组件256的位置的数据,其中,显示组件256呈现图形键盘的键中的每一个键。键盘模块208可以基于键的位置来确定触摸事件序列表示对一个或者多个键的选择。根据本公开的技术,键盘模块208可以基于触摸事件来确定一个或者多个字符串,其中,字符串中的每个字符与图形键盘的键对应。键盘模块8可以向存在敏感显示器204发送指示一个或者多个字符串的数据以显示在显示组件256上。
为了从触摸事件序列中确定对一个或者多个键的选择,键盘模块208可以使用一个或者多个空间模型251。通常,空间模型251可以基于与用户输入相关联的位置数据来指示已经选择了图形键盘的特定键的一个或者多个概率。在一些示例中,空间模型251包括每个键的双变量高斯模型。键的双变量高斯模型可以包括与呈现给定键的显示组件256的位置对应的坐标(例如,(x,y)坐标对)分布。更具体地,在一些示例中,键的双变量高斯模型可以包括与显示组件256的位置对应的坐标分布,所述位置是当用户意图选择给定键时,用户最常选择的位置。用户输入的位置数据与空间模型251中的一个空间模型的较高密度区域之间的距离越短,已经选择与空间模型251相关联的键的概率就越高。用户输入的位置数据与空间模型251中的一个空间模型的较高密度区域之间的距离越大,已经选择与空间模型251中的一个空间模型相关联的键的概率就越低。
键盘模块208可以使用空间模型50来将触摸事件序列中的一个或者多个触摸事件的位置分量(例如,坐标)与图形键盘的一个或者多个键的相应位置相比较,并且基于这些比较来生成发生对键的选择的概率。在一些示例中,键盘模块208可以使用空间模型251中的一个或者多个空间模型来生成空间模型得分(或者“空间模型概率”)。该空间模型得分可以至少部分地基于手势所遍历的显示组件256的位置来指示所选择的键的概率。在一些示例中,空间模型得分可以至少部分地基于手势所遍历的显示组件256的位置来指示一组选择的键的组合概率。
键盘模块208可以使用空间模型251中的一个或者多个空间模型来将触摸事件序列中的一个或者多个触摸事件的位置分量与图形键盘的特定键的键位置相比较。序列中的每个触摸事件的位置分量可以包括存在敏感显示器204的一个位置。图形键盘中的键的键位置(例如,键的质心)可以包括存在敏感显示器204的不同位置。键盘模块208可以使用空间模型251中的一个或者多个空间模型来确定这两个位置之间的欧几里得距离,并且基于该欧几里得距离来生成选择该键的概率。空间模型251可以指示与一个或者多个触摸事件共享较小欧几里得距离的键的概率比与一个或者多个触摸事件共享较大欧几里得距离的键更高。基于与每个键相关联的空间模型概率,键盘模块208可以将具有最高空间模型概率的各个键选择整合成按时间排序的键序列,使得键盘模块208然后可以确定表示字符串。每个键的组合概率可以表示字符串的空间模型得分。在一些示例中,可以将字符串的空间模型得分称为字符串的物理成本值。
键盘模块208可以使用语言模型252来基于与触摸事件对应的键序列确定一个或者多个字符串的语言模型得分(或者“语言模型概率”)。例如,键盘的每个键可以表示字符或者键盘操作。键盘模块208可以基于键序列来确定由一个或者多个键选择表示的特定字符。诸如数字或者小写字母的字符可能需要单个字符键选择(例如,<字母-键>、<数字-键>等),并且诸如大写字母的字符可能需要两个键选择(例如,<移位-键>+<字母-键>等)。
键盘模块8可以访问计算设备202的语言模型252以基于与手势对应的键序列来确定一组一个或者多个字符串的语言模型得分。即,响应于接收到一个或者多个手势的指示,键盘模块208可以使用语言模型252来递增地生成一组一个或者多个字符串。在一些示例中,可以将字符串的语言模型得分称为字符串的词汇成本值。字符串可以是包括在语言模型252中所包括的字符串的前缀或者部分、或者未包括在语言模型252中的词汇表以外(OOV)的字符串的一组字符。在一些示例中,字符串可以是包括语言模型252中所包括的完整字符串或者完整OOV字符串的一组字符。
当用户提供与一个或者多个手势对应的用户输入时,键盘模块208可以递增地确定与字符串对应的空间和语言模型得分(例如,物理成本值和词汇成本值)。使用空间和语言模型得分,键盘模块208可以基于每个相应字符串的空间和语言模型得分来确定每个字符串的组合得分。键盘模块208可以随着键盘模块208确定手势的后续指示而递增地更新空间得分、语言得分、和/或组合得分。例如,键盘模块208可以在接收到在存在敏感屏幕处检测到的一个或者多个手势的多个指示的同时基于语言上下文来更新语言模型得分,其中,响应于一个或者多个手势的多个指示中的至少一个,语言上下文发生改变。例如,与语言模型252中的字符串相关联的语言模型得分可以响应于输入的字符串而改变。由于组合得分可以指示字符串与手势对应的概率,因此,键盘模块208可以按照本公开中进一步描述的字符串的相应组合得分来对字符串进行排名。键盘模块8然后可以输出字符串和/或基于要输出的字符串来确定其它字符串。
通常,计算设备202的语言模型252可以包括在书面语言词汇表内的字符串(例如,词)的列表。在一些示例中,语言模型252可以基于和/或包括基于存储在计算设备202处或者可由计算设备202访问的远程计算设备处的字典(例如,该字典包括词的词汇表)的字符串的集合。在一些示例中,字典可以包括词的词汇表。词的词汇表可以是以书面和/或口头语言使用的词本体。可以将字典实施为按照结构化的方式来存储词汇表的一个或者多个词的数据结构。语言模型252可以基于字符串在给定语言上下文中出现的频率来指示每个相应字符串的概率。例如,在英语语言中,可以在字符串“the”之后更频繁地使用字符串“door”,并且因此,相较于在字符串“the”之后使用字符串“run”,在字符串“the”之后使用字符串“door”与更高概率相关联。
在一些示例中,键盘模块208可以使用语言模型252来基于语言上下文确定字符串的语言模型得分,该语言上下文可以包括但不限于:例如,与用户执行的手势的指示对应的字符、字典中的字符串和/或先前输入的字符串等。例如,键盘模块208可以确定与手势对应的键相关联的一组字符。该一组字符可以是字符串的前缀或者部分。可以将字符串包括在语言模型252中,或者字符串可以是词汇表以外的字符串。键盘模块208可以进行搜索或者“预测(look ahead)”以确定语言模型252中分别与前缀对应的一个或者多个字符串。
在一些示例中,键盘模块208可以执行对与手势对应的键相关联的多个不同组字符进行查找,例如,其中,每组字符可以是字符串的前缀或者部分。键盘模块208可以使用语言模型252来识别语言模型252中包括该组字符中的一部分字符或者全部字符的一个或者多个字符串,该组字符可以是字符串的前缀或者部分。例如,用户可以在显示组件256处执行对键s-a-r-t进行遍历的手势。因此,键盘模块208可以执行对前缀s-a-r的查找以确定以s-a-r开始的一组字符串。类似地,键盘模块208可以执行对前缀s-a-t的查找以确定以s-a-t开始的一组字符串。
如上所述,键盘模块208可以至少部分地基于每个相应字符串的相应空间模型得分和语言模型得分来确定每个字符串的组合得分。因此,字符串的组合概率可以基于语言上下文和给定键集合的手势的准确性表示字符串的概率。键盘模块208可以按照从最可能的字符串到最不可能的字符串的降序,通过组合得分,对一组字符串中的每个字符串进行排序。在一些示例中,键盘模块208可以基于具有最高概率的一个或者多个字符串来确定一个或者多个字符串,显示组件256可以输出这样的字符串作为建议的字符串。
根据本公开的一个或者多个技术,键盘模块208可以至少基于由用户状态模块214检测到的一个或者多个用户状态来确定一个或者多个候选串。例如,当确定字符串的组合得分时,键盘模块208可以至少部分地基于由用户状态模块214检测到的一个或者多个用户状态来调整字符串的空间模型得分或者字符串的语言模型得分中的至少一个。作为一个示例,当用户状态模块214检测到计算设备202的用户的状态可能降低手势准确性时,键盘模块208可以确定组合得分,从而使得不与语言模型得分一样多地对空间模型得分进行加权。在一些示例中,键盘模块208可以基于从用户状态模块214接收到的值来调整加权,该值指示在程度范围内所检测到的用户状态对手势准确性的影响程度。按照这种方式,与按照相同的方式来为所有用户状态调整加权相反,键盘模块208可以基于特定的检测到的用户状态来调整加权。
在一些示例中,除了调整空间模型得分和语言模型得分的加权之外或者与调整空间模型得分和语言模型得分的加权相反,键盘模块208还可以至少基于由用户状态模块214检测到的一个或者多个用户状态来调整对空间模型得分的确定。例如,键盘模块208可以至少基于由用户状态模块214检测到的一个或者多个用户状态来修改空间模型251中用于确定空间模型得分的空间模型。例如,在空间模型251包括每个键的双变量高斯模型的情况下,键盘模块208可以基于从用户状态模块214接收到的值来修改该双变量高斯模型,该值指示检测到的用户状态对手势准确性的影响程度。下面参照图3讨论了键盘模型208可以如何修改空间模型的进一步细节。
在任何情况下,键盘模块208可以至少部分地基于该调整来从一个或者多个候选串中选择特定候选串。例如,如上面讨论的,键盘模块208可以通过字符串的相应组合得分来对字符串进行排名,并且选择排名最高的(即,最可能的)候选串作为特定候选串。键盘模块208可以输出特定候选串,诸如,以显示在显示组件256处。按照这种方式,键盘模块208可以在选择候选串时补偿一个或者多个检测到的用户状态。
图3是图示了根据本公开的一个或者多个技术的特定键的空间模型的曲线图。如在图3中图示的,曲线图360包括:表示沿着图2的存在敏感显示器204的显示组件256的表面的位置的水平轴、表示触摸事件与键364对应的概率的垂直轴、和空间模型362A和362B(统称为“空间模型362”)的曲线。在一些示例中,空间模型362可以是可以包括在图2的空间模型251中的空间模型的示例。例如,键盘模块(诸如,图1的键盘模块108或者图2的键盘模块208)可以使用空间模型362中的一个或者多个空间模型来生成选择键364的概率。
如上面讨论的并且根据本公开的一个或者多个技术,键盘模块208可以至少基于由用户状态模块214检测到的一个或者多个用户状态来修改用于确定空间模型得分的空间模型。例如,响应于用户状态模块214检测到降低手势准确性的用户状态,键盘模块208可以修改空间模型362A以生成空间模型362B。可替选地,与修改空间模型362A以生成空间模型362B相反,键盘模块208可以至少基于由用户状态模块214检测到的一个或者多个用户状态来选择空间模型362B。
通过至少基于由用户状态模块214检测到的一个或者多个用户状态来修改或者选择用于确定空间模型得分的空间模型,键盘模块208可以在选择候选串时补偿一个或者多个检测到的用户状态。例如,如果计算设备202的用户触摸到位置366(如由存在敏感输入组件258检测到并且由手势模块210确定的),同时用户状态模块214检测到用户正在步行(如由用户状态模块214选择的),并且并未至少基于检测到的用户状态修改或者选择用于确定空间模型得分的空间模型(即,不加修改地使用空间模型362A),则键盘模块208可以确定在显示组件256的位置366处的触摸事件与键364对应的概率小于50%。相反,如果至少基于检测到的用户状态修改或者选择了用于确定空间模型得分的空间模型(即,使用空间模型362B),则键盘模块208可以确定在显示组件256的位置366处的触摸事件与键364对应的概率大于50%。
图4是图示了根据本公开的一个或者多个技术的输出图形内容以显示在远程设备处的示例计算设备的框图400。通常,图形内容可以包括可以输出以进行显示的视觉信息,诸如,文本、图像、一组移动图像等。在图4中示出的示例包括:计算设备402、存在敏感显示器404、通信单元444、投影仪469、投影仪屏幕470、移动设备471、和视觉显示设备472。虽然为了图1和图2中的示例将计算设备示出为独立的计算设备102和202,但是计算设备(诸如,计算设备402)通常可以是包括处理器或者用于执行软件指令的其它合适的计算环境的任何组件或者系统,并且例如,不需要包括存在敏感显示器。
如在图4的示例中示出的,计算设备402可以是包括如针对图2中的处理器40描述的功能的处理器。在这种示例中,可以通过通信信道468A(该通信信道468A可以是系统总线或者其它合适的连接)来将计算设备402可操作地耦合至存在敏感显示器404。如下面进一步描述的,还可以通过通信信道468B(该通信信道468B也可以是系统总线或者其它合适的连接)来将计算设备402可操作地耦合至通信单元444。虽然在图4中将计算设备402单独示出作为示例,但是可以通过任何数量的一个或者多个通信信道来将计算设备402可操作地耦合至存在敏感显示器404和通信单元444。
在其它示例中,诸如,先前通过图1中的计算设备102和图2中的计算设备202图示的,计算设备可以指便携式设备或者移动设备,诸如,移动电话(包括智能电话)、膝上型计算机、智能手表等。在一些示例中,计算设备可以是台式计算机、平板计算机、智能电视机平台、游戏机、遥控器、电子摄像头、个人数字助理(PDA)、服务器、大型计算机等。
存在敏感显示器404(如在图2中示出的存在敏感显示器204)可以包括显示组件456和存在敏感输入组件458。显示组件456可以,例如,从计算设备402接收数据并且显示图形内容。在一些示例中,存在敏感输入组件458可以使用电容、电感、和/或光学识别技术来确定在存在敏感显示器404处的一个或者多个用户输入(例如,连续手势、多点触摸手势、单点触摸手势等),并且使用通信信道468A将这种用户输入的指示发送至计算设备402。在一些示例中,可以将存在敏感输入组件458物理地定位在显示组件456的顶部,从而使得,当用户将输入单元定位在由显示组件456显示的图形元素之上时,存在敏感输入组件458的位置与显示组件456的显示有图形元素的位置对应。在其它示例中,可以将存在敏感输入组件458物理地定位成与显示组件456分开,并且存在敏感输入组件458的位置可以与显示组件456的位置对应,从而使得可以在存在敏感输入组件458处进行输入以便与显示在显示组件456的对应位置处的图形元素进行交互。
如在图4中示出的,计算设备402还可以包括通信单元444和/或与通信单元444可操作地耦合。通信单元444可以包括如在图2中描述的通信单元244的功能。通信单元444的示例可以包括:网络接口卡、以太网卡、光收发器、射频收发器、或者可以发送和/或接收信息的任何其它类型的设备。这种通信单元的其它示例可以包括:蓝牙、3G、和Wi-Fi无线电设备、通用串行总线(USB)接口等。计算设备402还可以包括一个或者多个其它设备(例如,出于简洁和说明之目的而未在图4中示出的输入设备、输出设备、存储器、存储设备等)和/或与一个或者多个其它设备可操作地耦合。
图4还图示了投影仪469和投影仪屏幕470。投影设备的其它这种示例可以包括:电子白板、全息显示设备、和用于显示图形内容的任何其它合适的设备。投影仪469和投影仪屏幕470可以包括使相应设备能够与计算设备402进行通信的一个或者多个通信单元。在一些示例中,该一个或者多个通信单元可以使能在投影仪469与投影仪屏幕470之间的通信。投影仪469可以从计算设备402接收包括图形内容的数据。响应于接收到数据,投影仪469可以将图形内容投影到投影仪屏幕470上。在一些示例中,投影仪469可以使用光学识别技术或者其它合适的技术来确定在投影仪屏幕处的一个或者多个用户输入(例如,连续手势、多点触摸手势、单点触摸手势等),并且使用一个或者多个通信单元将这种用户输入的指示发送至计算设备402。在这种示例中,投影仪屏幕470可以是不必要的,并且投影仪469可以将图形内容投影在任何合适的介质上并且使用光学识别或者其它这种合适的技术来检测一个或者多个用户输入。
在一些示例中,投影仪屏幕470可以包括存在敏感显示器473。存在敏感显示器473可以包括如在本公开中描述的存在敏感显示器404的功能的子集或者全部功能。在一些示例中,存在敏感显示器473可以包括附加功能。投影仪屏幕470(例如,电子白板)可以从计算设备402接收数据并且显示图形内容。在一些示例中,存在敏感显示器473可以使用电容、电感、和/或光学识别技术来确定在投影屏幕470处的一个或者多个用户输入(例如,连续手势、多点触摸手势、单点触摸手势等)并且使用一个或者多个通信单元将这种用户输入的指示发送至计算设备402。
图4还图示了移动设备471和视觉显示设备472。移动设备471和视觉显示设备472可以每个包括计算能力和连接能力。移动设备471的示例可以包括:电子阅读器设备、可转换笔记本设备、混合式平板设备等。视觉显示设备472的示例可以包括其它半固定设备(诸如,电视机、计算机监视器等)。如在图4中示出的,移动设备471可以包括存在敏感显示器474。视觉显示设备472可以包括存在敏感显示器475。存在敏感显示器474、475可以包括如在本公开中描述的存在敏感显示器404的功能的子集或者所有功能。在一些示例中,存在敏感显示器474和475可以包括附加功能。在任何情况下,存在敏感显示器475,例如,都可以从计算设备402接收数据并且显示图形内容。在一些示例中,存在敏感显示器475可以使用电容、电感、和/或光学识别技术来在投影仪屏幕处确定一个或者多个用户输入(例如,连续手势、多点触摸手势、单触摸手势等)并且通过使用一个或者多个通信单元将这种用户输入的指示发送至计算设备402。
如上所述,在一些示例中,计算设备402可以输出图形内容以显示在存在敏感显示器404处,该存在敏感显示器404通过系统总线或者其它合适的通信信道耦合至计算设备402。计算设备402还可以输出图形内容以显示在一个或者多个远程设备处,诸如,投影仪469、投影仪屏幕470、移动设备471、和视觉显示设备472。例如,计算设备402可以执行用于根据本公开的技术生成和/或修改图形内容的一个或者多个指令。计算设备402可以将向包括图形内容的数据输出至计算设备402的通信单元(诸如,通信单元444)。通信单元444可以将数据发送至远程设备(诸如,投影仪469、投影仪屏幕470、移动设备471、和/或视觉显示设备472)中的一个或者多个。按照这种方式,计算设备402可以输出图形内容以显示在远程设备中的一个或者多个远程设备处。在一些示例中,远程设备中的一个或者多个可以在包括在相应远程设备中和/或可操作地耦合至相应远程设备的存在敏感显示器处输出图形内容。
在一些示例中,计算设备402可以不在可操作地耦合至计算设备402的存在敏感显示器404处输出图形内容。在其它示例中,计算设备402可以输出图形内容以显示在通过通信信道468A耦合至计算设备402的存在敏感显示器404处和一个或者多个远程设备处。在这种示例中,可以在每个相应设备处大体上同时地显示图形内容。例如,可以通过通信延迟来引入一些时延以将包括图形内容的数据发送至远程设备。在一些示例中,由计算设备402生成并且输出以显示在存在敏感显示器404处的图形内容可以与被输出以显示在一个或者多个远程设备处的图形内容不同。
计算设备402可以使用任何合适的通信技术来发送和接收数据。例如,可以使用网络链路477A来将计算设备402可操作地耦合至外部网络476。可以通过相应网络链路477B、477C、和477D中的一个来将图4中图示的远程设备中的每一个可操作地耦合至外部网络476。外部网络476可以包括可操作地相互耦合的网络集线器、网络交换机、网络路由器等,从而在计算设备402与在图4中图示的远程设备之间提供信息交换。在一些示例中,网络链路477A至477D可以是以太网、ATM或者其它网络连接。这种连接可以是无线和/或有线连接。
在一些示例中,可以使用直接设备通信479来将计算设备402可操作地耦合至远程设备中的一个或者多个。直接设备通信479可以包括计算设备402通过使用有线或者无线通信直接与远程设备发送和接收数据的通信。即,在直接设备通信479的一些示例中,在远程设备处接收到由计算设备402发送的数据之前,一个或者多个附加设备可以不转发由计算设备100发送的数据,并且反之亦然。直接设备通信479的示例可以包括:蓝牙、近场通信、通用串行总线、WiFi、红外等。可以通过通信链路478A至478D来将图4中图示的远程设备中的一个或者多个与计算设备100可操作地耦合。在一些示例中,通信链路478A至478D可以是使用蓝牙、近场通信、通用串行总线、红外等的连接。这种连接可以是无线和/或有线连接。
根据本公开的技术,可以使用外部网络476来将计算设备402可操作地耦合至移动设备471。计算设备402可以输出包括多个键的图形键盘以显示在存在敏感显示器475处。例如,计算设备402可以向通信单元444发送包括图形键盘的表示的数据。通信单元444可以使用外部网络476来将包括该图形键盘的表示的数据发送至移动设备471。响应于使用外部网络476接收到数据,移动设备471可以使存在敏感显示器474输出图形键盘。响应于用户在存在敏感显示器处提供输入,移动设备471可以使用外部网络476来向计算设备402发送输入的指示。通信单元444可以接收手势的指示,并且将该指示发送至计算设备402。
如上面讨论的,计算设备402可以检测影响手势准确性的一个或者多个用户状态。响应于接收到手势,计算设备402可以至少部分地基于一个或者多个检测到的用户状态来选择特定候选串。计算设备402可以输出至少部分地基于一个或者多个检测到的用户状态确定的特定候选串以进行显示。例如,计算设备402可以向通信单元444发送表示候选串的数据。通信单元444可以经由外部网络476来将该数据发送至移动设备471。移动设备471可以使存在敏感显示器474输出由该数据表示的至少一个串。
图5是图示了根据本公开的一个或者多个技术的基于一个或者多个检测到的用户状态来选择候选串的计算设备的示例操作的流程图。可以由计算设备(诸如,在图1和图2中图示的计算设备102、202)的一个或者多个处理器来执行图5的技术。为了进行说明,在图2的计算设备202的场境内描述了图5的技术,尽管具有与计算设备202的配置不同的配置的计算设备也可以执行图5的技术。
根据本公开的一个或者多个技术,计算设备202可以输出502包括多个键的图形键盘以显示在可操作地耦合至计算设备202的显示设备处。例如,计算设备202的键盘模块208可以生成图形键盘124以显示在计算设备202的存在敏感显示器204的显示组件256处。计算设备202可以接收504在可操作地耦合至计算设备的存在敏感输入设备处检测到的手势的指示。例如,手势模块210可以接收指示用户在存在敏感显示器204的存在敏感输入组件258处输入的手势的数据。
计算设备202可以检测506指示影响手势准确性的一个或者多个用户状态的数据。例如,计算设备202的用户状态模块214可以确定用户所从事的一个或者多个活动(例如,步行、跑步、骑自行车、在车上、在船上、在飞机上等)、和/或影响用户的一个或者多个手眼协调受损状态(例如,环境温度、用户醉酒状态、用户所穿的服装等)。在一些示例中,用户状态模块214可以在用户执行在存在敏感输入设备处检测到的手势时检测影响手势准确性的一个或者多个用户状态。在一些示例中,用户状态模块214可以在用户执行在存在敏感输入设备处检测到的手势之前检测影响手势准确性的一个或者多个用户状态。
计算设备202可以至少部分地基于手势的指示和指示一个或者多个用户状态的数据来选择508特定候选串。例如,在一个或者多个检测到的用户状态与降低的手势准确性相关联的情况下,键盘模块208可以确定对由手势模块210确定的输入对准点129信息的准确性的依赖降低的一个或者多个候选串。计算设备202可以输出510特定候选串以显示在显示设备处。例如,键盘模块208可以输出特定候选串以显示在显示组件256处。按照这种方式,本公开的技术可以至少部分地基于一个或者多个检测到的用户状态来改进对候选串的选择。
图6是图示了根据本公开的一个或者多个技术的允许用户与计算设备进行交互的示例用户界面的概念图。如在图6中图示的,图形用户界面(GUI)616可以是图1的GUI 116的示例。例如,GUI 616可以是由图1的键盘模块108中的一个或者多个键盘模块和图1的允许用户与计算设备(诸如,图1的计算设备102)进行交互的应用模块112A生成的用户界面。
如在图6中示出的,文本编辑器控件622可以显示用户输入的、由计算设备102生成的、和/或计算设备102从可操作地耦合至计算设备102的另一计算设备接收到的文本内容。为了说明图6,文本内容可以包括“Lrtd ho”620。键盘模块108可以使存在敏感显示器104将文本编辑器控件122与包括的文本内容一起显示。
可以通过存在敏感显示器104来显示图形键盘624作为可选键的集合。键可以表示来自字符集合的单个字符(例如,英文字母表中的字母),或者可以表示字符的组合。图形键盘的一个示例可以包括传统“QWERTY”键盘布局。其它示例可以包含针对不同语言、不同字符集合、或者不同字符布局的字符。如在图6的示例中示出的,图形键盘124包括英语语言的传统“QWERTY”键盘布局的版本,该键盘提供字符键以及提供其它功能的各种键(例如,提供“移位(shift)”功能的“上箭头(up arrow)”键)。示例键包括“E”键630和“S”键628。在一些示例中,图形键盘624包括一个或者多个词建议,诸如,包括词“out”的词建议632。
如上面讨论的并且根据本公开的技术,计算设备102可以实施用户状态模块114以改进在键盘124处的用户选择的准确性。如在本公开中描述的,用户状态模块114可以选择与手势准确性相关联的一个或者多个用户状态,将该一个或者多个检测到的用户状态的指示输出至计算设备102的一个或者多个其它组件(诸如,键盘模块108)。同样如上面讨论的,在一些示例中,用户状态模块114和键盘模块108可以至少部分地基于检测到的一个或者多个用户状态来确定特定候选串以进行显示。
用户可以执行可以由存在敏感显示器104检测的一个或者多个手势。例如,用户可以执行旨在输入短语“Let’s go”120的滑动手势。如在图6的示例中示出的,用户输入短语“Let’s go”120所执行的滑动手势可以在“L”键附近开始,沿着路径680,并且在“O”键附近结束。手势模块110可以接收手势的指示并且确定手势所遍历的对准点629A至629F(统称为“对准点629”)。用户状态模块114可以接收传感器输入并且选择与手势准确性相关联的一个或者多个用户状态。例如,在图6的示例中,用户状态模块114可以检测到用户正坐着,相对于步行或者跑步,这不会降低手势准确性。基于通过用户状态模块114检测到的用户状态和来自手势模块110的对准点629A至629F,键盘模块108可以确定一个或者多个候选串。例如,与检测到的用户状态降低了手势准确性并且键盘模块108通过使用更像362B而不是362A的空间模型来降低对对准点129的准确性的依赖和/或增加对词汇模型的依赖的图1的示例相反,在图6的示例中,键盘模块108可以在不减少对对准点629的准确性的依赖或者增加对词汇模型的依赖的情况下确定候选串“Lrtd ho”。而在图6的示例中,由键盘模块108确定的候选串可能不是用户期望输入的串(即,“Let’s go”),当检测到的用户状态不影响手势准确性时,键盘模块108可以不对用户的粗心手势输入进行校正。按照这种方式,本公开的技术可以至少部分地基于一个或者多个检测到的用户状态来通过触摸数据改进对候选串的选择。
以下编号的示例可以说明本公开的一个或者多个方面。
示例1:一种方法,该方法包括:通过计算设备,输出包括多个键的图形键盘以显示在可操作地耦合至计算设备的显示设备处;通过计算设备,接收在可操作地耦合至计算设备的存在敏感输入设备处检测到的手势的指示;通过计算设备,检测指示被确定为影响手势准确性的一个或者多个用户状态的数据;通过计算设备并且至少部分地基于手势和数据的指示,选择特定候选串;以及通过计算设备,输出该特定候选串以显示在显示设备处。
示例2:根据示例1所述的方法,其中,指示一个或者多个用户状态的数据指示以下中的至少一个:在计算设备的用户执行手势的同时用户所从事的一个或者多个活动、以及在用户执行手势的同时影响用户的一个或者多个手眼协调受损状态。
示例3:根据示例1至2的任何组合所述的方法,其中,用户所从事的一个或者多个活动包括以下中的一个或者多个:步行、跑步、骑自行车、运动、锻炼以及身处移动中的设备上。
示例4:根据示例1至3的任何组合所述的方法,其中,影响用户的一个或者多个手眼协调受损状态包括以下中的一个或者多个:用户温度状况、用户醉酒状态、和用户所穿的服装。
示例5:根据示例1至4的任何组合所述的方法,其中,选择特定候选串包括:基于手势来确定多个候选串,其中,多个字符串中的每一个字符串与来自空间模型的相应物理成本值和来自语言模型的相应词汇成本值中的至少一个相关联;针对多个字符串中的特定候选串并且至少部分地基于一个或者多个用户状态,调整与特定候选字符串相关联的物理成本值和与特定候选字符串相关联的词汇成本值中的至少一个;以及至少部分地基于该调整来从多个候选串中选择特定候选串。
示例6:根据示例1至6的任何组合所述的方法,其中,调整与特定候选字符串相关联的物理成本值和与特定候选字符串相关联的词汇成本值中的至少一个进一步包括:至少部分地基于至少一种用户状态来确定权重;以及将该权重应用于与特定候选字符串相关联的物理成本值和与特定候选字符串相关联的词汇成本值中的至少一个。
示例7:根据示例1至6的任何组合所述的方法,其进一步包括:针对一个或者多个用户状态中的每个相应用户状态,确定提供至少一个值的相应模型,该至少一个值指示在程度范围内相应用户状态影响手势准确性的程度,其中,调整与特定候选字符串相关联的物理成本值或者与特定候选字符串相关联的词汇成本值中的至少一个进一步包括:基于所检测到的一个或者多个用户状态中的每个状态的相应模型来调整相关权重。
示例8:根据示例1至7的任何组合的方法,其中,手势是一系列轻击。
示例9:根据示例1至7的任何组合所述的方法,其中,所述手势是利用两个端点的滑动。
示例10:根据示例1至7的任何组合所述的方法,其中,手势进一步包括所述两个端点之间的方向角度变化。
示例11:根据示例1至10的任何组合所述的方法,其中,图形键盘是虚拟键盘。
示例12:一种计算设备,该计算设备包括:一个或者多个处理器;一个或者多个传感器,该一个或者多个传感器耦合至该一个或者多个处理器,该一个或者多个传感器被配置为检测指示被确定为影响手势准确性的一个或者多个用户状态的数据;存在敏感显示器,该存在敏感显示器耦合至该一个或者多个处理器,该存在敏感显示器包括显示组件和存在敏感输入组件;存储设备,该存储设备存储至少一个模块,其中,该至少一个模块可由该一个或者多个处理器执行以:输出包括多个键的图形键盘以显示在显示组件处;接收在存在敏感输入组件处检测到的手势的指示;至少部分地基于手势和数据的指示,选择特定候选串;以及输出该特定候选串以显示在显示设备处。
示例13:根据示例12所述的计算设备,其中,被配置为检测指示一个或者多个用户状态的数据的一个或者多个传感器包括以下至少一个:被配置为检测指示在计算设备的用户执行手势的同时用户所从事的一个或者多个活动的数据的一个或者多个传感器;以及被配置为检测指示在用户执行所述手势时影响用户的一个或者多个手眼协调受损状态的数据的一个或者多个传感器。
示例14:根据示例12至13的任何组合所述的计算设备,其中,被配置为检测指示计算设备的用户所从事的一个或者多个活动的数据的一个或者多个传感器包括用于确定一个或者多个活动的运动传感器。
示例15:根据示例12至14的任何组合所述的计算设备,其中,被配置为检测指示在用户执行手势的同时影响用户的一个或者多个手眼协调受损状态的数据的一个或者多个传感器包括用于确定环境温度的温度计。
示例16:根据示例12至15的任何组合所述的计算设备,其中,存储设备进一步存储空间模型和语言模型,以及其中,选择特定候选串,该至少一个模块可由该一个或者多个处理器执行以:基于手势来确定多个候选串,其中,多个字符串中的每一个字符串与来自空间模型的相应物理成本值和来自语言模型的相应词汇成本值中的至少一个相关联;针对多个字符串中的特定候选字符串并且至少部分地基于一个或者多个用户状态,调整与特定候选字符串相关联的物理成本值和与特定候选字符串相关联的词汇成本值中的至少一个;以及至少部分地基于该调整来从多个候选串中选择特定候选串。
示例17:根据示例12至16的任何组合所述的计算设备,其中,为了调整与特定候选字符串相关联的物理成本值和与特定字符串相关联的词汇成本值中的至少一个,该至少一个模块可由一个或者多个处理器进一步执行以:至少部分地基于至少一个用户状态来确定权重;以及将该权重应用于与特定候选字符串相关联的物理成本值和与特定候选字符串相关联的词汇成本值中的至少一个。
示例18:根据示例12至17的任何组合所述的计算设备,其中,该至少一个模块进一步可由该至少一个处理器执行以:针对一个或者多个用户状态中的每个相应用户状态,确定提供至少一个值的相应模型,该至少一个值指示在程度范围内相应用户状态影响手势准确性的程度,其中,该至少一个模块可由该至少一个处理器进一步执行以通过基于检测到的一个或者多个用户状态中的每个状态的相应模型至少调整相关权重来调整与特定候选字符串相关联的物理成本值或者与特定候选字符串相关联的词汇成本值中的至少一个。
示例19:一种存储指令的非暂时性计算机可读存储介质,该指令在被执行时使计算设备的一个或者多个处理器:输出包括多个键的图形键盘以显示在可操作地耦合至计算设备的显示设备处;接收在可操作地耦合至计算设备的存在敏感输入设备处检测到的手势的指示;检测指示被确定为影响手势准确性的一个或者多个用户状态的数据;至少部分地基于手势和数据的指示,选择特定候选串;以及输出该特定候选串以显示在显示设备处。
示例20:根据示例19的计算机可读存储介质,其中,指示一个或者多个用户状态的数据指示以下中的至少一个:在计算设备的用户执行手势的同时用户所从事的一个或者多个活动,以及在用户执行手势的同时影响用户的一个或者多个手眼协调受损状态,其中,用户所从事的一个或者多个活动包括以下一个或者多个:步行、跑步、骑自行车、驾驶、运动、锻炼以及身处移动中的设备上;以及其中,影响用户的一个或者多个手眼协调受损状态包括以下一个或者多个:温度状况、醉酒状态、和用户所穿的服装。
示例21:根据示例19的计算机可读存储介质,其进一步存储指令,该指令使该一个或者多个处理器执行示例1至11的任何组合所述的方法。
示例22:一种设备,该设备包括用于执行示例1至11的任何组合所述的方法的装置。
本公开中描述的技术可以至少部分地在硬件、软件、固件、或者其任何组合中实施。例如,所描述的技术的每个方面可以在一个或者多个处理器内实施,包括:一个或者多个微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程逻辑阵列(FPGA)、或者其它等效的集成或者离散逻辑电路、以及这种组件的任何组合。术语“处理器”或“处理电路”通常可以指前述逻辑电路中的任何逻辑电路(单独地或者结合其它逻辑电路),或者任何其它等效电路。包括硬件的控制单元还可以执行本公开的技术中的一个或者多个技术。
这样的硬件、软件、和固件可以在同一设备内或者在单独的设备内实施以支持本公开中描述的各种技术。另外,所描述的单元、模块或者组件中的任何可以一起实施或者单独实施作为离散的但是可彼此协作的逻辑设备。对如模块或者单元等不同特征的描述旨在突出不同的功能方面,并且不一定暗示这种模块或者单元必须通过单独的硬件、固件、或者软件组件来实现。相反,可以由单独的硬件、固件、或者软件组件来执行与一个或者多个模块或者单元相关联的功能,或者将该功能集成在共同的或者单独的硬件、固件、或者软件组件内。
本公开中描述的技术还可以体现在包括编码有指令的计算机可读存储介质的制品中或者在该制品中对本公开中描述的技术进行编码。嵌入或者编码在包括编码的计算机可读存储介质制品中的指令可以使一个或者多个可编程处理器或者其它处理器实施本文描述的技术中的一个或者多个技术,诸如,当包括或者编码在计算机可读存储介质中的指令由一个或者多个处理器执行时。计算机可读存储介质可以包括:随机存取存储器(RAM)、只读存储器(ROM)、可编程只读存储器(PROM)、可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPRQM)、闪速存储器、硬盘、光盘ROM(CD-ROM)、软盘、磁带盒、磁性介质、光学介质、或者其它计算机可读介质。在一些示例中,制品可以包括一个或者多个计算机可读存储介质。
在一些示例中,计算机可读存储介质可以包括非暂时性介质。在一些实例中,术语“非暂时性”指示存储介质不体现在载波或者传播信号中。在某些示例中,非暂时性存储介质可以存储可以随时间变化的数据(例如,在RAM或者高速缓存中)。
要认识到,根据实施例,可以按照不同的顺序来执行本文描述的任何方法的某些动作或者事件,可以对其进行添加、合并、或者完全省略(例如,并非所有描述的动作或者事件对于方法的实践都是必要的)。此外,在某些实施例中,可以,例如,通过多线程处理、中断处理、或者多处理器来同时而不是顺序地执行动作或者事件。
已经对各种示例进行了描述。这些和其它实施例在以下权利要求书的范围内。

Claims (13)

1.一种用于促进用户输入的方法,所述方法包括:
通过计算设备,输出包括多个键的图形键盘以显示在可操作地耦合至所述计算设备的显示设备处:
通过所述计算设备,接收在可操作地耦合至所述计算设备的存在敏感输入设备处检测到的手势的指示;
通过所述计算设备,检测指示被确定为影响手势准确性的一个或者多个用户状态的数据,其中,指示所述一个或者多个用户状态的所述数据指示以下中的至少一个:
在所述计算设备的用户执行所述手势的同时所述用户所从事的一个或者多个活动,以及
在所述用户执行所述手势的同时影响所述用户的一个或者多个手眼协调受损状态;
通过所述计算设备并且至少部分地基于所述手势和所述数据的所述指示,选择特定候选字符串;以及
通过所述计算设备,输出所述特定候选字符串以显示在所述显示设备处。
2.根据权利要求1所述的方法,其中,所述用户所从事的所述一个或者多个活动包括以下中的一个或者多个:步行、跑步、骑自行车、运动、锻炼、以及身处移动中的设备上。
3.根据权利要求1所述的方法,其中,影响所述用户的所述一个或者多个手眼协调受损状态包括以下中的一个或者多个:用户温度状况、用户醉酒状态、和用户所穿的服装。
4.根据权利要求1所述的方法,其中,选择所述特定候选字符串包括:
基于所述手势来确定多个候选字符串,其中,所述多个候选字符串中的每一个字符串与来自空间模型的相应物理成本值和来自语言模型的相应词汇成本值中的至少一个相关联;
针对所述多个候选字符串中的特定候选字符串并且至少部分地基于所述一个或者多个用户状态,调整与所述特定候选字符串相关联的物理成本值和与所述特定候选字符串相关联的词汇成本值中的至少一个;以及
至少部分地基于所述调整来从所述多个候选字符串中选择所述特定候选字符串。
5.根据权利要求4所述的方法,其中,调整与所述特定候选字符串相关联的所述物理成本值和与所述特定候选字符串相关联的所述词汇成本值中的至少一个进一步包括:
至少部分地基于至少一个用户状态来确定权重;以及
将所述权重应用于与所述特定候选字符串相关联的所述物理成本值和与所述特定候选字符串相关联的所述词汇成本值中的所述至少一个。
6.根据权利要求4所述的方法,其进一步包括:
针对所述一个或者多个用户状态中的每个相应用户状态,确定提供至少一个值的相应模型,所述至少一个值指示在程度范围内所述相应用户状态影响手势准确性的程度,
其中,调整与所述特定候选字符串相关联的所述物理成本值或者与所述特定候选字符串相关联的所述词汇成本值中的至少一个进一步包括:基于所检测到的一个或者多个用户状态中的每个状态的所述相应模型来调整相关权重。
7.根据权利要求1所述的方法,其中,所述手势是一系列轻击。
8.根据权利要求1所述的方法,其中,所述手势是利用两个端点的滑动。
9.根据权利要求8所述的方法,其中,所述手势进一步包括所述两个端点之间的方向角度变化。
10.根据权利要求1所述的方法,其中,所述图形键盘是虚拟键盘。
11.一种用于促进用户输入的计算设备,所述计算设备包括用于执行根据权利要求1至10中的任一项所述的方法的装置。
12.根据权利要求11所述的计算设备,其中:
所述一个或者多个第一传感器包括用于确定所述一个或者多个活动的运动传感器,或者
所述一个或者多个第二传感器包括用于确定环境温度的温度计。
13.一种存储指令的非暂时性计算机可读存储介质,所述指令在被执行时使计算设备的一个或者多个处理器执行根据权利要求1至10中的任一项所述的方法。
CN201680008639.1A 2015-02-03 2016-01-15 用于促进用户输入的方法、计算设备和存储介质 Active CN107209577B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201562111521P 2015-02-03 2015-02-03
US62/111,521 2015-02-03
US14/793,070 2015-07-07
US14/793,070 US10282089B2 (en) 2015-02-03 2015-07-07 User state-adaptive text input
PCT/US2016/013560 WO2016126401A1 (en) 2015-02-03 2016-01-15 User state-adaptive text input

Publications (2)

Publication Number Publication Date
CN107209577A CN107209577A (zh) 2017-09-26
CN107209577B true CN107209577B (zh) 2020-11-03

Family

ID=56553051

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201680008639.1A Active CN107209577B (zh) 2015-02-03 2016-01-15 用于促进用户输入的方法、计算设备和存储介质

Country Status (4)

Country Link
US (1) US10282089B2 (zh)
EP (1) EP3238016A1 (zh)
CN (1) CN107209577B (zh)
WO (1) WO2016126401A1 (zh)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9690478B2 (en) * 2014-03-04 2017-06-27 Texas Instruments Incorporated Method and system for processing gestures to cause computation of measurement of an angle or a segment using a touch system
US9678664B2 (en) * 2015-04-10 2017-06-13 Google Inc. Neural network for keyboard input decoding
US10884610B2 (en) 2016-11-04 2021-01-05 Myscript System and method for recognizing handwritten stroke input
WO2019000153A1 (en) * 2017-06-26 2019-01-03 Orange METHOD FOR DISPLAYING A VIRTUAL KEYBOARD ON A MOBILE TERMINAL SCREEN
US10292089B2 (en) 2017-09-18 2019-05-14 Sonos, Inc. Re-establishing connectivity on lost players
US11061556B2 (en) * 2018-01-12 2021-07-13 Microsoft Technology Licensing, Llc Computer device having variable display output based on user input with variable time and/or pressure patterns
CN112005205A (zh) * 2018-07-30 2020-11-27 惠普发展公司,有限责任合伙企业 用户界面修改
US10789973B2 (en) * 2018-08-28 2020-09-29 Honda Motor Co., Ltd. Management of autonomous vehicle driving features based on driver state
CN109992106B (zh) * 2019-01-10 2022-05-10 北京工业大学 手势轨迹识别方法、电子设备及存储介质
US11592907B2 (en) * 2020-10-20 2023-02-28 Google Llc Gesture-triggered augmented-reality
CN118069023A (zh) * 2022-11-24 2024-05-24 华为技术有限公司 一种输入方法、设备及系统
WO2024145628A1 (en) * 2022-12-30 2024-07-04 Theai, Inc. Real-time animation of artificial intelligence characters

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7714265B2 (en) 2005-09-30 2010-05-11 Apple Inc. Integrated proximity sensor and light sensor
US8978117B2 (en) * 2007-11-19 2015-03-10 Avaya Inc. Authentication frequency and challenge type based on environmental and physiological properties
US9552155B2 (en) * 2008-02-04 2017-01-24 Microsoft Technology Liecsnsing, LLC Dynamic soft keyboard
GB0905457D0 (en) * 2009-03-30 2009-05-13 Touchtype Ltd System and method for inputting text into electronic devices
US9424246B2 (en) * 2009-03-30 2016-08-23 Touchtype Ltd. System and method for inputting text into electronic devices
EP2264563A1 (en) 2009-06-19 2010-12-22 Tegic Communications, Inc. Virtual keyboard system with automatic correction
CN103038728B (zh) * 2010-03-12 2016-01-20 纽昂斯通信有限公司 例如在移动电话上使用触摸屏的多模式文本输入系统
US20110248948A1 (en) * 2010-04-08 2011-10-13 Research In Motion Limited Touch-sensitive device and method of control
ES2393006B1 (es) * 2011-06-01 2013-12-12 Comexi Group Industries Sau Bobinadora tipo revolver para material en banda.
IN2014CN01893A (zh) 2011-09-16 2015-05-29 Qualcomm Inc
US8977553B2 (en) 2012-07-30 2015-03-10 Google Inc. Dynamic adjustment of text input system components
CN108710406B (zh) 2012-09-18 2021-10-08 谷歌有限责任公司 姿势适应选择
US8843845B2 (en) * 2012-10-16 2014-09-23 Google Inc. Multi-gesture text input prediction
US8994681B2 (en) 2012-10-19 2015-03-31 Google Inc. Decoding imprecise gestures for gesture-keyboards
US8965754B2 (en) * 2012-11-20 2015-02-24 International Business Machines Corporation Text prediction using environment hints
US9411510B2 (en) 2012-12-07 2016-08-09 Apple Inc. Techniques for preventing typographical errors on soft keyboards
CN103312893A (zh) * 2013-05-16 2013-09-18 江苏诚迈科技有限公司 一种智能触屏手机汉字注解音装置及汉字辨识方法
US20150143234A1 (en) * 2013-10-22 2015-05-21 Forbes Holten Norris, III Ergonomic micro user interface display and editing
US9740396B1 (en) * 2014-06-25 2017-08-22 Amazon Technologies, Inc. Adaptive gesture recognition

Also Published As

Publication number Publication date
US20160224240A1 (en) 2016-08-04
CN107209577A (zh) 2017-09-26
US10282089B2 (en) 2019-05-07
EP3238016A1 (en) 2017-11-01
WO2016126401A1 (en) 2016-08-11

Similar Documents

Publication Publication Date Title
CN107209577B (zh) 用于促进用户输入的方法、计算设备和存储介质
US11573698B2 (en) Neural network for keyboard input decoding
US10489508B2 (en) Incremental multi-word recognition
EP3400539B1 (en) Determining graphical elements associated with text
US9471220B2 (en) Posture-adaptive selection
JP6140668B2 (ja) 携帯電話のタッチスクリーンとの使用等のためのマルチモーダルテキスト入力システム
JP6151381B2 (ja) 国際言語のための仮想キーボード入力
US20170308290A1 (en) Iconographic suggestions within a keyboard
US20150220265A1 (en) Information processing device, information processing method, and program
US8756499B1 (en) Gesture keyboard input of non-dictionary character strings using substitute scoring
WO2014189625A1 (en) Order-independent text input
US20170336969A1 (en) Predicting next letters and displaying them within keys of a graphical keyboard
US10146764B2 (en) Dynamic key mapping of a graphical keyboard

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for 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