使用按钮按压类型错误分析进行单词识别的系统和方法与流程

文档序号:14203628阅读:241来源:国知局
使用按钮按压类型错误分析进行单词识别的系统和方法与流程

本说明书总地涉及电子设备领域,更具体地涉及电子设备的用户界面。



技术实现要素:

计算机处理器实现的方法可以被总结为包括:由至少一个计算机处理器接收由多个按钮的作动导致的输入;由至少一个计算机处理器解释来自接收到的输入的按钮按压值序列和按钮按压类型序列;基于接收到的输入,由至少一个计算机处理器识别一个或更多个备选按钮按压类型序列,每个备选按钮按压类型序列具有与接收到的输入相同数量的按钮作动;以及由至少一个计算机处理器将一个或更多个备选按钮按压类型序列按照所述解释的按钮按压值序列转换为相应的一个或更多个备选字符序列。

计算机处理器实现的方法还可以包括:由至少一个计算机处理器从所述解释的按钮按压值序列和所述解释的按钮按压类型序列识别一个推测词;以及将所述推测词与一个或更多个相应的备选字符序列中的至少一个进行比较。

计算机处理器实现的方法还可以包括:将所述推测词和一个或更多个相应的备选字符序列中的至少一个与已知词库进行比较。

计算机处理器实现的方法还可以包括:由至少一个计算机处理器接受相应的备选字符序列中的一个代替所述推测词作为输入。

计算机处理器实现的方法还可以包括:根据所选标准和接收到的输入,基于发生的可能性,将所述一个或更多个识别的备选按钮按压类型序列分离成至少两个类别。

将所述推测词与所述一个或更多个相应的备选字符序列中的至少一个进行比较可以仅对于与被分类为可能发生的备选按钮按压类型序列相对应的所述一个或更多个备选字符序列而发生。

计算机处理器实现的方法还可以包括:根据所选标准和接收到的输入,基于发生的可能性,对所述一个或更多个识别的备选按钮按压类型序列进行排序。

将所述推测词与所述一个或更多个相应的备选字符序列中的至少一个进行比较可以按照所述一个或更多个识别的备选按钮按压序列被排序的顺序而发生,所述一个或更多个备选字符序列中的每一个与所述一个或更多个识别的备选按钮按压序列相对应。

一种系统,可以被总结为包括:至少一个计算机处理器;以及至少一个存储器,耦连到所述至少一个计算机处理器,所述至少一个存储器具有存储于其上的计算机可执行指令,当被执行时,使得所述至少一个处理器执行:解释来自接收到的输入的按钮按压值序列和按钮按压类型序列;基于接收到的输入,识别一个或更多个备选按钮按压类型序列,每个备选按钮按压类型序列具有与接收到的输入相同数量的按钮作动;以及根据所述解释的按钮按压值序列将所述一个或更多个备选按钮按压类型序列转换为相应的一个或更多个备选字符序列。

所述计算机可执行指令当被执行时,进一步使得所述至少一个处理器执行:从所述解释的按钮按压值序列和所述解释的按钮按压类型序列识别一个推测词;以及将所述推测词与所述一个或更多个相应的备选字符序列中的至少一个进行比较。所述计算机可执行指令当被执行时,可进一步使得所述至少一个处理器执行:将所述推测词和所述一个或更多个相应的备选字符序列中的至少一个与已知词库的进行比较。所述计算机可执行指令当被执行时,可进一步使得所述至少一个处理器执行:接受所述相应的备选字符序列中的一个代替所述推测词作为输入。所述计算机可执行指令当被执行时,可进一步使得所述至少一个处理器执行:根据所选标准和接收到的输入,基于发生的可能性,将所述一个或更多个识别的备选按钮按压类型序列分离成至少两个类别。将所述推测词与所述一个或更多个相应的备选字符序列中的至少一个进行比较仅对于与被分类为可能发生的备选按钮按压类型序列相对应的所述一个或更多个备选字符序列而发生。

一种非暂时性计算机可读介质,可以被总结为具有存储在其上的计算机可执行指令,当被执行时,使得至少一个处理器执行:解释来自接收到的输入的按钮按压值序列和按钮按压类型序列;基于接收到的输入,识别一个或更多个备选按钮按压类型序列,每个备选按钮按压类型序列具有与接收到的输入相同数量的按钮作动;以及根据所述解释的按钮按压值序列将所述一个或更多个备选按钮按压类型序列转换为相应的一个或更多个备选字符序列。

所述计算机可执行指令当被执行时,可进一步使得所述至少一个处理器执行:从所述解释的按钮按压值序列和所述解释的按钮按压类型序列识别一个推测词;以及将所述推测词与所述一个或更多个相应的备选字符序列中的至少一个进行比较。所述计算机可执行指令当被执行时,可进一步使得所述至少一个处理器执行:将所述推测词和所述一个或更多个相应的备选字符序列中的至少一个与已知词库进行比较。所述计算机可执行指令当被执行时,可进一步使得所述至少一个处理器执行:接受所述相应的备选字符序列中的一个代替所述推测词作为输入。所述计算机可执行指令当被执行时,可进一步使得所述至少一个处理器执行:根据所选标准和接收到的输入,基于发生的可能性,将所述一个或更多个识别的备选按钮按压类型序列分离成至少两个类别。将所述推测词与所述一个或更多个相应的备选字符序列中的至少一个进行比较仅对于与被分类为可能发生的备选按钮按压类型序列相对应的所述一个或更多个备选字符序列而发生。

附图说明

在附图中,相同的附图标记表示相似的元件或动作。附图中的元件的尺寸和相对位置不一定按比例绘制。例如,各种元件的形状和角度没有按比例绘制,并且这些元件中的某些被任意地放大和定位以提高附图的易读性。此外,所绘制的元件的特定形状不意图传达关于特定元件的实际形状的任何信息,并且是专门为了便于在附图中识别而被选择。

图1是根据一个示出的实施例的用于采用可选的时间相关按钮按压输入字符的示例性电子设备的示意图,该电子设备是具有外壳、显示器、图形引擎、中央处理单元(cpu)、用户输入设备、其上具有可由cpu执行的多个软件模块的一个或更多个存储介质、输入/输出(i/o)端口、网络接口、无线接收器和发射器、电源、经时计数器和按钮按压值计数器的移动设备。

图2是用于输入字符的电子设备100的一个实施例的示意图。用户界面150先前在图8的美国专利8,487,877中被公开,其全部内容通过引用并入本文。

图3是根据一个示出的实施例的从多个字符中指定一个字符的方法的流程图。

图4是根据一个示出的实施例的电子设备解释按钮按压的方法的流程图。

图5是根据一个示出的实施例的解释按钮按压的方法的变量和变量的示例值的流程图。

图6是根据一个示出的实施例的字符识别方法的应用的示例。

图7是输入字符的两种不同方法的特征表。

图8是用于输入字符的方法的两个不同用户界面的实施例。

图9是根据一个示出的实施例的输入字符的方法的按钮按压类型的图示。

图10-12是根据一个示出的实施例的输入字符的方法的按钮按压的图示。

图13是根据一个示出的实施例的解释按钮按压的方法的错误情况的表格。

图14是单词识别方法的一个实施例的示例的变量值。

图15是根据一个示出的实施例的解释按钮按压的方法的特征表。

图16-18是根据一个示出的实施例的解释按钮按压的方法的特征的示例。

图19是根据一个示出的实施例的电子设备解释按钮按压的另一方法的流程图。

图20是根据一个示出的实施例的解释按钮按压的另一方法的变量和变量的示例值的流程图。

图21-23是根据一个示出的实施例的单词识别方法的应用的示例。

图24-26是根据一个示出的实施例的单词识别方法的应用的附加示例。

图27是根据一个示出的实施例的解释按钮按压的方法的错误情况的表格。

图28是根据一个示出的实施例的电子设备解释按钮按压的又一方法的流程图。

图29-31是根据一个示出的实施例的又一单词识别方法的应用的附加示例。

图32是根据一个示出的实施例的解释按钮按压的方法的错误情况的表格。

图33-36是根据一个示出的实施例的解释按钮按压的方法的特征表。

图37是根据一个示出的实施例的电子设备解释按钮按压的又一方法的流程图。

图38和39是根据一个示出的实施例的又一字符识别方法的应用的示例。

图40是根据一个示出的实施例的解释按钮按压的方法的特征表。

具体实施方式

在下面的描述中,阐述了某些具体细节以便提供对所公开的多个实施例的透彻理解。然而,相关领域的技术人员将认识到,可以在没有这些具体细节中的一个或更多个的情况下或采用其他方法、组件、材料等来实践实施例。在其他实例中,与计算系统相关联的众所周知的结构,包括客户端和服务器计算系统以及包括各种类型的电信网络的网络,尚未被详细地示出或描述,以避免不必要地模糊实施例的描述。

除非上下文另行要求,否则遍及后面的说明书和权利要求书,“包括”一词及其变体,例如“包含”和“组成”应解释为具有开放的、包含在内的意思,也就是说,如“包括但不限于”一样。

遍及本说明书中引用“一个实施例”或“实施例”意味着结合实施例描述的特定特征、结构或特性包括在至少一个实施例中。因此,遍及本说明书在各个位置出现的短语“在一个实施例中”或“在实施例中”未必全部指代相同的实施例。此外,在一个或更多个实施例中,特定特征、结构或特性可以以任何合适的方式组合。

除非另有明确规定,否则如本说明书和所附权利要求书中所使用的,单数形式“一”,“一个”和“该”包括复数指示物。还应该指出的是,除非另有明确的规定,否则术语“或”通常包括“和/或”的含义。

本文中提供的公开内容的标题和摘要仅为了方便起见,并不解释实施例的范围或含义。

本文描述了提供用于采用可选的时间相关按钮按压输入字符的系统、设备和方法的多个实施例。

例如,图1是根据一个示出的实施例的用于采用可选的时间相关按钮按压输入字符的一个示例性电子设即移动设备100的示意图。图1所示的移动设备100可以具有外壳102、显示器104、图形引擎106、中央处理单元(cpu)108、一个或更多个用户输入设备110、其上存储有包括可由cpu108执行的指令的多个软件模块114的一个或更多个存储介质112、输入/输出(i/o)端口116、一个或更多个无线接收器和发射器118、一个或更多个网络接口120和电源122。在一些实施例中,图1所示并在本文中描述的移动设备100的部分或全部相同、相似或等同的结构和功能可以是另一设备或机器的通信系统和/或计算系统、另一设备或机器的通信系统和/或计算系统的一部分或可操作地连接至另一设备或机器的通信系统和/或计算系统。

移动设备100可以是各种通信设备中的任何一种,诸如蜂窝电话、智能手机、可穿戴设备、手表、便携式媒体播放器(pmp)、个人数字助理(pda)、移动通信设备、具有内置或附加蜂窝通信的便携式计算机、便携式游戏机、全球定位系统(gps)、手持式工业电子设备等,或其任何组合。移动设备100具有至少一个中央处理单元(cpu)108,其可以是标量处理器、数字信号处理器(dsp)、精简指令集(risc)处理器或任何其它合适的处理器。中央处理单元(cpu)108、显示器104、图形引擎106、一个或更多个用户输入设备110、一个或更多个存储介质112、输入/输出(i/o)端口116、一个或更多个无线接收器和发射器118以及一个或更多个网络接口120都可以经由系统总线124彼此通信地连接。系统总线124可以采用任何合适的总线结构或架构,包括具有存储控制器的存储器总线、外围总线和/或本地总线。

移动设备100还包括一个或更多个易失性和/或非易失性存储介质112。存储介质112可以包括任何单个的各种类型的处理器可读存储介质或其任何合适的组合并且可以存储由cpu108操作的指令和数据。例如,包括软件114的软件指令和/或包括固件的固件指令的特定集合由cpu108执行。软件指令或固件指令通常控制移动设备100的许多操作,并且软件指令和/或固件指令的子集可以执行功能,从而可操作地配置移动设备100中的硬件和其他软件,该软件指令和/或固件指令的子集可启动、控制和维持相关计算机网络和电信链路,该相关计算机网络和电信链路可从移动设备100延伸到使用无线接收器和发射器118、网络接口120和/或i/o端口116的其他设备。

cpu108包括经时计数器140。经时计数器140可以使用可操作地连接到cpu108或作为cpu108的一部分的计时器电路来实现。可选地,经时计数器140的部分或全部可以作为存储在易失性和/或非易失性存储介质112上的计算机可执行指令在计算机软件中实现,例如,所述计算机可执行指令当由cpu108或计时器电路的处理器执行时,实施经时计数器140的本文所述的功能。

cpu108包括按钮按压值计数器142。可选地,按钮按压值计数器142中的部分或全部可以作为存储在易失性和/或非易失性存储介质112上的计算机可执行指令在计算机软件中实现,例如,所述计算机可执行指令当由cpu108执行时,实施按钮按压值计数器142的本文所述的功能。

作为示例而非限制,存储介质112可以是处理器可读存储介质,其可以包括计算机存储介质的任意组合,所述计算机存储介质包括以任何方法或技术实现的用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的易失性和非易失性、可移除和不可移除的介质。上述任意组合还应包括在处理器可读存储介质的范围内。

存储介质112可以包括系统存储器,其包括易失性和/或非易失性存储器(诸如只读存储器(rom)和随机存取存储器(ram))形式的计算机存储介质。基本输入/输出系统(bios)通常存储在rom中,包含有助于在移动设备100内的元件之间传输信息的基本例程,诸如在启动或通电期间。ram通常包含可由cpu108直接访问和/或当前正在由cpu108操作的数据和/或程序模块。作为示例而非限制,图1示出了包括操作系统、应用程序和实现本文描述的过程和方法的其他程序模块的软件模块114。

移动设备100还可以包括其他可移除/不可移除的、易失性/非易失性的计算机存储介质驱动器。仅作为示例,存储介质112可以包括读取来自或写入到不可移除的非易失性介质的硬盘驱动器或固态存储驱动器、读取来自或写入到可移除的非易失性ssd的ssd和/或读取来自或写入到可移除的非易失性光盘(诸如dvd-rw或其他光学介质)的光盘驱动器。可以在移动设备100的操作环境中使用的其他可移除/不可移除的、易失性/非易失性的计算机存储介质包括但不限于:闪存卡、其他类型的数字通用盘(dvd)、微盘、数字录像带、固态ram、固态rom等。存储介质通常通过不可移除的存储器接口连接到系统总线124。上文讨论并在图1中示出的存储介质112提供了用于移动设备100的计算机可读指令、数据结构、程序模块和其他数据的存储。在图1中,例如,存储介质可以存储包括操作系统、应用程序、其他程序模块和程序数据的软件114。存储介质112可以实现文件系统、平面存储器架构、数据库或能够存储这种信息的任何其它方法或组合。

用户可以通过触摸屏显示器104或一个或更多个其他输入设备110(诸如小键盘、键盘、触觉按钮、照相机、运动传感器、位置传感器、光传感器、生物特征数据传感器、加速计或通常称为鼠标的点击设备、轨迹球或触摸板)将命令和信息输入到移动设备100中。移动设备100的其他输入设备可以包括麦克风、操纵杆、摇杆、游戏平板、光学扫描仪、其他传感器等。这些和其他输入设备通常通过耦连到系统总线124的用户输入接口连接到cpu108,但是可以通过其他接口和总线结构(诸如并行端口、串行端口、无线端口、游戏端口或通用串行总线(usb))连接。通常,存储在软件114中的唯一的软件驱动器对每个输入机制进行配置以感应用户输入,然后软件驱动器提供数据点,数据点由cpu108在其他软件114的指导下进行操作。显示器还经由接口(诸如图形引擎106)连接到系统总线124。除了显示器104之外,移动设备100还可以包括其他外围输出设备,诸如扬声器、打印机、投影仪、外部监视器等,其可以通过一个或更多个模拟或数字i/o端口116、网络接口120或无线接收器和发射器118连接。移动设备100可以使用到一个或更多个远程计算机或设备(诸如远程计算机或设备)的连接在网络环境中操作。

当在lan或wan网络环境中使用时,移动设备100可以经由无线接收器和发射器118和网络接口120进行连接,其可以包括例如蜂窝接收器和发射器、wi-fi接收器和发射器以及相关联的网络接口。当在wan网络环境中使用时,移动设备100可以包括调制解调器或其他装置,其作为网络接口的一部分,用于通过wan(诸如因特网)建立通信。无线接收器和发射器118以及网络接口120可以通信地连接到系统总线124。在网络环境中,相对于移动设备100所描述的程序模块或其部分可以存储在远程系统的远程存储器存储设备中。

移动设备100具有i/o端口116和/或短程无线接收器和发射器118以及网络接口120的集合,用于在短距离内将数据传送到或传送自移动设备100,或者用于将附加存储耦连到移动设备100。例如,串行端口、usb端口、wi-fi端口、蓝牙端口、ieee1394(即火线)等可以将移动设备100通信地耦连到其他计算装置。紧凑型闪存(cf)端口、安全数字(sd)端口等可以将存储器设备耦连到移动设备100,以用于通过cpu108读取和写入,或将移动设备100耦连到其他通信接口,诸如wi-fi或蓝牙发射器/接收器和/或网络接口。

移动设备100还具有电源122(例如,电池)。当传统的有线或无线电源不可用或未连接时,电源122可以为移动设备100需要电力的所有组件提供能量。移动设备100的其他各种合适的系统架构和设计被设想并且可以利用,其提供与本文所描述的相同、相似或等同的功能。

应当理解,本文所描述的各种技术、组件和模块可以结合硬件、软件和/或固件来实现,或者在适当的情况下,采用以上各项的组合来实现。因此,本公开的方法和装置或其某些方面或部分可以采用包含在有形介质(诸如各种固态存储器设备、dvd-rw、ram、硬盘驱动器、闪存驱动器或任何其他机器可读或处理器可读存储介质)中的程序代码(即,指令)的形式,其中当程序代码被加载到机器(例如计算机、车辆或移动设备的处理器)中并由机器执行时,机器成为用于实践各种实施例的装置。在可编程计算机、车辆或移动设备上执行程序代码的情况下,通常包括处理器、可由处理器(包括易失性和非易失性存储器和/或存储元件)读取的存储介质、至少一个输入设备和至少一个输出设备。一个或更多个程序可以实现或利用结合本公开描述的过程,例如通过使用api、可重复使用的控制等。所述程序优选地以高级程序或面向对象的编程语言来实现,以与移动设备100的计算机系统进行通信。然而,如果需要,程序可以以汇编语言或机器语言来实现。无论如何,语言可以是编译语言或解释语言,并与硬件实现相结合。

图2示出了用于输入字符的电子设备100的一个实施例的示意图。设备100可以具有在本文中关于图1的移动设备100所描述的部分或全部组件和功能。设备100具有先前在美国专利8,487,877的图8中公开的方面,其通过引用全部并入本文。

电子设备100包括显示器104、填充字符菜单240的位置242的多个字符200、多个选择按钮110和空格键按钮264,其共同组成设备100的用户界面150。多个选择按钮110的每一个具有分配的按钮按压值222。还包括作为菜单240的一部分或在菜单附近的参考258和偏移尺260。如图1的实施例所述,显示器104、多个选择按钮110和空格键按钮264与cpu108通信地耦连。如图1的实施例所述,cpu108包括经时计数器140和按钮按压值计数器142。如图1的实施例所述,cpu108与存储介质112和电源122通信地耦连。

在图2的实施例中,除了菜单240在显示器104上显示而不是作为用户界面150的物理特征之外,菜单240的位置242被布置成与专利8,487,877的图8中的实施例类似的一维阵列。多个选择按钮110可以是硬键(物理按钮)或软键(显示器104上显示的按钮)。在图2的实施例中,选择按钮110被示出为物理按钮。在任一情况下,按钮110与cpu108通信地耦连。

菜单240和偏移尺260位于设备100的用户界面150上的各自的一维阵列中。在一个实施例中,字符菜单240和偏移尺260位于用户界面150上相邻并彼此平行的位置上。在一个实施例中,字符菜单240和偏移尺260在软件中被编程,从而在设备100的显示器104上显示为特征。

在一个实施例中,菜单240的位置242以均匀间隔的增量分布在一维阵列中。在另一实施例中,偏移尺260的值以匹配菜单240的增量的空间增量分布在一维阵列中,从而通过在菜单240上参照偏移尺260,菜单中的字符200被有效编号。

参考258是位于菜单240的位置242之一附近或之上的指示器。偏移尺260包括位置与菜单240的参考258相对应的零值。偏移尺260的值从零开始以预选的增量随着偏移尺的位置与零值的距离的增加而增加。在另一个实施例中,偏移尺260的值从零开始以预选的增量随着偏移尺的位置在增加方向相反的方向上与零值的距离的增加而减小。在一个实施例中,偏移尺260的预选的增量等于1,并且偏移尺的值从负值通过零延伸到正值。在备选的实施例中,偏移尺260的增量为10,菜单240的位置242相应地以10为单位进行标记。

在一个具体实施例中,菜单240的位置242和偏移尺260的值分布在彼此相邻并平行的各自的一维阵列中,偏移尺260的值以1为增量进行计数并且在阵列中彼此之间相对隔开以与菜单240的位置242的间隔相对应,并且偏移尺260的零值对应于菜单240的参考258,从而根据菜单240的给定位置242与参考258偏移多少个位置,以偏移尺260的值来标记菜单240的位置。

多个选择按钮110位于设备100的用户界面150上,并且如上所述,可以是硬键或软键。在一个实施例中,按钮110被布置成与用户界面上的菜单240的物理排列相对应的行。每个按钮与cpu108通信地耦连并被分配按钮按压值222。分配的按钮按压值222可以是正的或负的。每个按钮110具有当按下按钮时将分配给按钮的值222输入到cpu108中的功能。在一个实施例中,每个选择按钮被分配的按钮按压值222是唯一的。在另一个实施例中,有四个选择按钮,按钮的被分配值为-3、-2、+2和+3。在另一个实施例中,有四个选择按钮,按钮的被分配值为-3、-1、+1和+3。

空格键也位于设备100的用户界面150上,可以是硬键或软键,并且与cpu108通信地耦连。

图3示出了用户从多个字符中指定字符的方法504的实施例的流程图。在方法504的一个步骤510中,用户查看菜单240中显示的字符200。在另一步骤512中,用户从菜单240中选择字符以输入到电子设备100。在另一步骤514中,用户通过字符相对于菜单240的参考258的位置来识别所选择的字符,例如通过与所选字符偏离菜单的参考258的位置的数量相等的值。用户可以以多种方式识别所选字符的位置,包括通过使位置参考偏移尺260中的对应值,计数所选字符偏离参考258的位置的数量,从存储器调回识别特定所选字符的值,并通过肌肉记忆想起与所选字符或所选字符的位置相对应的选择按钮按键。

在另一步骤516中,用户确定识别菜单240中所选字符的位置242的值是否等于任何选择按钮110的被分配的按钮按压值222。

如果选择按钮110中的一个具有相等的分配值222,则在另一步骤538中,用户按下具有等于所选字符的位置的分配值的选择按钮,并且在经时计数器到期之前释放按钮。上述步骤518会将所按下的选择按钮的分配值222输入到cpu108,触发cpu108启动经时计数器140,并向cpu指示按钮按压的类型是短(short)按。在随后的步骤520中,用户等待经时计数器140到期,或者在到期之前,在可选步骤522中,用户在显示器104上查看指定字符。在另一替代性实施例中,步骤522被略过。

然而,如果识别菜单240中所选字符的位置242的值不等于任何选择按钮的分配值,则在轮替的步骤536中,用户确定识别菜单240中所选字符位置242的值是否等于任何选择按钮110被分配的按钮按压值222的两倍。

如果是,在另一步骤540中,用户按下具有等于所选字符位置的一半的分配值222的选择按钮110,并保持按钮按住直到经时计数器到期。上述步骤540会将所按压的选择按钮的分配值222输入到cpu108,触发cpu108启动经时计数器140,并向处理器指示按钮按压的类型是长(long)按。在可选的步骤522中,用户在显示器104上查看指定的字符。在另一替代性实施例中,略过步骤522。

然而,如果分配给选择按钮110的值222中没有一个等于所选字符的位置242或者等于所选字符的位置的一半,则在轮替的步骤524中,用户按压具有分配值222的选择按钮,分配值为总和等于所选字符的位置的两个值之一。上述步骤524会将所按下的选择按钮110的分配值222输入到cpu108,并触发cpu启动经时计数器140。在随后的步骤526中,用户按下具有分配值222的选择按钮110,分配值为总和等于所选字符的位置242的两个值的另一个,并且在经时计数器140到期之前按下。上述步骤526会将所按下的选择按钮110的分配值222输入到cpu108,并向处理器指示按钮按压的类型是成对(pair)。可选地,作为步骤526的一部分,cpu108也可以终止经时计数器140。一旦用户已经按下第二选择按钮,则在另一步骤522中,用户在显示器104上查看指定字符,其是可选步骤并且在另一替代性实施例中被略过。

根据本发明的另一实施例,迭代地使用上述字符指定方法504以指定来自字符菜单240的系列字符。在一个实施例中,通过根据上述方法迭代地指定字符在显示器104上形成单词和句子,空格键264用于在显示器上在单词之间输入空格。

图4示出了用于电子设备的处理器108解释按钮按压序列的方法606的实施例的流程图。

在方法606的一个步骤650中,cpu108将阵列变量‘按钮按压值序列’380的元素初始化为零。在另一步骤652中,cpu108将阵列变量‘按钮按压类型序列’382的元素初始化为零。在另一步骤654中,cpu108将变量‘循环次数m’390初始化为零。在另一步骤655中,cpu108将变量‘按钮按压次数n’392初始化为零。

在另一步骤612中,cpu108将经时计数器140初始化为零。在另一步骤614中,cpu108监测用于所按下的选择按钮110的选择按钮110。一旦出现第一选择按钮,在另一步骤656中,cpu108确定第一按压选择按钮110是否为空格键264的按压。如果不是,则在下一步骤658中,cpu108向变量bpv序列380的第n个元素分配第一按压选择按钮110的分配值222。

在另一步骤618中,cpu108启动经时计数器140。在一对步骤620、622中,cpu108监测用于第二选择按钮按压发生的选择按钮110,同时将经时计数器140与用户选择的长度可选时长进行比较。

如果经时计数器140在附加选择按钮按压发生之前超过了经时时长持续时间(即,到期),则在随后的步骤640中,cpu108确定第一按钮按压是否仍被按下。

如果当经时时长到期时第一按钮按压未被仍然按下,则在随后的步骤660中,cpu108向变量bpt序列382的第m个元素分配值为‘短’340的值。

然而,如果当经时时长到期时第一按钮按压仍然被按下,则在轮替的后续步骤662中,cpu108向变量bpt序列382的第m个元素分配值为‘长’345的值。

然而,如果在经时计数器140到期之前发生第二选择按钮按压,则在另一步骤664中,cpu108向变量bpt序列382的第m个元素分配值为‘成对’350的值。然后,在随后的步骤666中,cpu108将1添加到变量按钮按压次数n392。然后,在随后的步骤668中,cpu108向变量bpv序列380的第n个元素分配第二按压选择按钮110的值222。然后,在随后的步骤666中,cpu108再次将1添加到变量按钮按压次数n392。然后,在随后的步骤670中,cpu108将1添加到变量循环次数m390。

根据方法606的一个实施例,cpu108将经时计数器140重新初始化为零并且连续重复该方法,直到在步骤656中cpu108发现在步骤614中按下的选择按钮是按下空格键264。

然后,在另一替代性步骤672中,cpu108将变量bpv序列380的值转换为变量‘总bpv序列’386的值,通过:(1)将与bpt序列382的‘长bpt’值345相吻合的bpv序列380的值加倍,以及(2)将与bpt序列382的连续‘成对bpt’值350相吻合的bpv序列380的值相加在一起。

在bpt序列382中连续出现成对的情况下(即多对成对),则不将bpv序列380的值与一个以上的其他值相加。此外,进行相加使得与一对bpt350相吻合的bpv序列380的每个值和也与一对bpt相吻合的bpv序列的连续值相加,并且通过这种方式使得没有与一对bpt相吻合的bpv未相加。

然后,在随后的步骤674中,cpu108通过按顺序识别来自菜单240的每个字符200来构建字符序列388,每个字符200的位置242等于总bpv序列386的值以。

虽然图4的方法606是处理器108解释按钮按压序列的方法的一个实施例,但是该方法的范围不限于该实施例,而是由权利要求的范围限制。

图5示出了用于图4的方法606和图2的用户界面150的变量的第一流程图138和每个变量的示例值的第二流程图139。

第一流程图138示出了图4的方法606存在三个输入变量:(1)‘按钮按压值序列’380,(2)‘共同按压’210和(3)‘持续时间’208。接下来在流程图中,变量‘共同按压’210和‘持续时间’208二者一起确定变量‘按钮按压类型序列’382,其作为通过图4的步骤620和640的重复循环的结果而发生。接下来,变量‘按钮按压值序列’380和‘按钮按压类型序列’382二者一起确定变量‘总按钮按压值序列’386,其在图4的方法606的步骤672中发生。最后,变量‘总按钮按压值序列’386确定变量‘字符序列’388,其在方法606的步骤674中发生并且基于图2的用户界面150。

第二流程图139示出了用于图2的用户界面150的实施例的第一流程图138的每个变量的示例值。变量‘按钮按压值序列’380具有值‘-3+2-3+3’381。变量‘共同按压’210具有值‘成对’或‘非’211。变量‘持续时间’具有值‘<etp’或‘>etp’209。变量‘按钮按压类型序列’382具有值‘短-短-成对’383。变量‘总按钮按压值序列’386具有值‘-3+20’387。变量‘字符序列’388具有值‘dig’130,其是被识别的单词的示例。第二流程图139的值是用于说明图2和图4的实施例的示例。本发明的范围不限于本文所示的变量和特定值,而是由权利要求的范围限制。

图6示出了图4的方法606和图5中用于图2的用户界面150的变量流的三个示例。每个示例包括变量‘按钮按压次数n’392,‘bpv序列’380,‘循环次数m’390,‘bpt序列’382,‘总bpv序列’386和‘字符序列’388。

在第一示例190中,变量‘按钮按压次数n’392识别阵列变量bpv序列380的元素(0-4)。bpv序列380包含通过图4的方法606的多次迭代在步骤658和/或668中收集的每次连续按钮按压(-3+2-3+3)的bpv222。变量循环次数m390识别阵列变量bpt序列382的元素(0-3)。bpt序列382包含在图4的方法606的每次迭代(短-短-成对)的步骤660、662或664之一中收集的bpt224。总bpv序列386包含值序列(-3+20),其识别所选字符的菜单位置242。字符序列388包含所选字符(dig)。在第一示例190中,上述每个变量的值如图5的第一流程图所示,有助于选择单词130‘dig’的字符。

在第二示例191中,变量按钮按压次数n392识别阵列变量bpv序列380的元素(0-4)。bpv序列380包含通过图4的方法606的多次迭代在步骤658和/或668中收集的每个连续按钮按压(+2+3-3-3)的bpv222。变量循环次数m390识别阵列变量bpt序列382的元素(0-3)。bpt序列382包含在图4的方法606的每次迭代(成对-长-短)的步骤660、662或664之一中收集的bpt224。总bpv序列386包含值序列(+5-6-3),其识别所选字符的菜单位置242。字符序列388包含所选字符(1ad)。在第二示例191中,上述每个变量的值有助于选择单词130‘lad’的字符。

在第三示例192中,变量按钮按压次数n392识别阵列变量bpv序列380的元素(0-12)。bpv序列380包含通过图4的方法606的多次迭代在步骤658和/或668中收集的每个连续按钮按压(-3-2-3-2+2-3+2+2-2+2+3-3)的bpv222。变量循环次数m390识别阵列变量bpt序列382的元素(0-9)。bpt序列382包含在图4的方法606的每次迭代(成对-长-长-长-成对-短-短-成对-短)的步骤660、662或664之一中收集的bpt224。总bpv序列386包含识别所选字符的菜单位置242的值序列(-5-6-4+4-1+2-2+5-3)。字符序列388包含所选字符(backfie1d)。在第三示例192中,上述每个变量的值用于选择单词‘backfield’的字符。

图7示出了比较两种不同输入法的特征的表格。所示的一种方法是图4的方法606,也称为减少按钮输入法。所示的另一种方法是二十六按钮输入法132。标准qwerty键盘是二十六按钮法132的一个示例。

在图7的表格中比较的特征是:输入变量,输入变量的可能值,控制水平以及决定控制水平的因素。

减少按钮法606具有三个输入变量:(1)按钮按压值222,(2)共同按压210和(3)持续时间208。这三个变量在图5的第一流程图138中和图4的方法606的步骤620、640、658和668中显示为输入。用于图2的用户界面150的这些变量的可能值是:(1)-3,-2,+2或+3,(2)成对或非,以及(3)<etp或>etp。

二十六按钮法132具有一个输入变量:按钮按压值222。在二十六按钮法的情况下按钮按压值222的可能值是字符本身:a,b,c,d……等等。

对减少按钮法606的三个变量的控制水平对于按钮按压值变量222是高的,但对于共同按压210和持续时间208是低的。决定对按钮按压值变量222的高控制水平的因素是按钮大小。相对于其他输入法,因为减少按钮法606与可选择的字符数相比需要较少的按钮,所以存在可用于增加按钮大小的空间。例如,对于图2的界面150中示出的字符与按钮之间比例13:4,仅需要八个按钮来提供英文字母表的每个字符。因此,即使在如移动设备一样的紧凑应用中,按钮尺寸也可以足够大,以使人类手指可以无误地按压它们,因此控制水平被认为是高的。

决定对变量共同按压210和持续时间208的低控制水平的因素是按钮按压的时刻和按钮释放的时刻。这些变量208、210两者都是时间相关的,在典型应用中需要将其控制到小于十分之一秒的精度。在日常的基础上难以实现这种控制水平,因此出于该原因,对这些变量的控制水平被认为是低的。

对二十六按钮法132的按钮按压值变量222的控制水平是低的。如采用减少按钮法606一样,决定按钮按压值222的控制水平的因素是按钮大小。但是与二十六按钮法132的区别在于,由于需要提供26个按钮,每个单独按钮的大小在紧凑应用中必须小。在使用中,小的按钮大小导致按钮按压错误,因此对二十六按钮法132的按钮按压值变量222的控制水平被认为是低的。

图8示出了使用减少按钮法606的图2的界面150的示例以及使用二十六按钮法132的二十六按钮用户界面133的示例。每个界面的选择按钮110的大小差异是明显的。使用减少按钮法606的用户界面150的较大的选择按钮110向用户提供高水平的控制。二十六按钮界面133的较小的选择按钮110仅提供低水平的控制。

图9示出了三个按钮按压类型224中的每一个的示例的图示:短bpt340、长bpt345和成对bpt350。图9还示出了两个短bpt341的序列的图示。

对于每个示例,时间的流逝由水平条326表示。条326内的黑色区域327表示按钮被按下的时长。条326内的白色区域328表示按钮未被按压的时长。第一实心垂直标记表示经时时长330的起点329。第二实心垂直标记表示经时时长330的终点(或到期)331。按钮按压具有起始320和释放时刻322。起始320和释放时刻322之间的时间是持续时间208。如图4的方法606的步骤612、614和618所规定的,每当经时时长330尚未发生时,经时时长330采用按钮按压的起始320作为开始。

如前所定义的,具有比经时时长330短的持续时间208的按钮按压是短bpt340。具有比经时时长330长的持续时间208的按钮按压是长bpt345。由于按钮按压的起始320与经时时长330一起开始,按钮释放的时刻322将短bpt340与长bpt345区分开。

如短bpt340和长bpt345的图形所示,如果按钮释放时刻322的发生接近(在时间上)经时时长的到期331,则释放时间的小差异可以改变bpt224的决定。在图9的示例中,短bpt340和长bpt345之间的释放时刻322的差异大约为0.02秒。这种灵敏度水平就是为什么将图7的表格中的输入变量持续时间208视为低控制的原因。它还示出了在图4的方法606中,用户不准确时机的按钮释放会如何导致想要的短bpt340被作为长bpt345输入,反之亦然。

如果经时时长330的到期331在时间上比按钮按压的起始320稍先一点,此时具有类似的风险。两个短bpt341的序列的图示示出随后的按钮按压332的起始320如何与到期的经时时长330的到期331几乎重叠(在时间上)。如果随后的按钮按压332的起始320发生在经时时长330的到期331之前,则cpu108将随后的按钮按压332解释为成对bpt350的第二按钮按压333。因此,连续的短bpt341的序列被解释为成对bpt350。在图9的示例中,按钮起始320的差异约为0.02秒。这种灵敏度就是为什么将图7的表格中的输入变量共同按压210认为是低控制的原因。它还示出了在图4的方法606中,用户不准确时机的按钮按压会如何导致想要的连续bpt输入的按钮按压被作为成对bpt350输入,反之亦然。

图10、11和12示出了由于按钮按压的不准确时机导致的可能的按钮按压类型错误的图示。

图10示出了可能的单按钮按压时机错误360的两个示例。在第一bpt错误310的图示中,由于释放时刻322在etp期限330的到期331之后发生,想要的短bpt340变为不想要的长bpt345。在第二bpt错误311的图示中,由于在etp330的到期331之前发生按钮按压释放的时刻322,想要的长bpt345变为不想要的短bpt340。

图11示出了可能的双按钮按压时机错误361的四个示例。在第三bpt错误312的图示中,由于后续按钮按压332的起始320在经时时长330的到期331之前发生,因此想要作为短bpt340后跟长bpt345的序列(a)变为不想要的成对bpt350(b)。相同的图示示出了第四bpt错误313,由于成对350的第二按钮按压333的起始320在etp330的到期331之后发生,因此想要的成对bpt350(b)变为不想要的短bpt340后跟长bpt345的序列(a)。

在第五bpt错误314的图示中,由于随后的按钮按压332的起始320在经时时长330的到期331之前发生,因此想要作为长bpt345后跟短bpt340的序列(a)变为不想要的成对bpt350(b)。相同的图示示出了第六bpt错误315,由于成对350的第二按钮按压333的起始320在etp330的到期331之后发生,因此想要的成对bpt350(b)变为长bpt345后跟短bpt340的序列(a)。

图12示出了可能的双按钮按压时机错误361的四个附加示例。在第七bpt错误316的图示中,由于随后按钮按压332的起始320在经时时长330的到期331之前发生,因此想要作为两个连续的短bpt340的序列(a)变为不想要的成对bpt350(b)。相同的图示示出了第八个bpt错误317,由于成对350的第二按钮按压333的起始320在etp330的到期331之后发生,因此想要的成对bpt350(b)变为不想要的短bpt340序列(a)。

在第九bpt错误318的图示中,由于随后的按钮按压332的起始320在经时时长330的到期331之前发生,因此想要的两个连续的长bpt345序列(a)变为不想要的成对bpt350(b)。此图示还示出了第十个bpt错误319,由于成对350的第二按钮按压333的起始320在etp330的到期331之后发生,因此想要的成对bpt350(b)变为不想要的两个连续的长bpt345序列(a)。

图13列出了图10-12中示出的每种可能的错误案例397。每种案例397具有想要的按钮按压类型(或多个类型)400和错误的按钮按压类型(或多个类型)402。图13包括每种案例397的说明404,其描述了导致想要的bpt(或多个bpt)400变为错误的bpt(或多个bpt)402的按钮按压时机错误。由于按钮按压类型可以具有一次按压(短bpt340和长bpt345)或两次按钮按压(成对bpt350),则10种独特的bpt错误案例397是可能的。由于按钮按压时机错误导致的精确和错误bpt序列382之间的任何偏差可以由图13的一个或更多个案例397来解释。

图14示出了可用于单词130‘dig’的值的表格。该表格示出了变量‘字符’200、‘菜单位置’242、‘按钮按压值’222和‘按钮按压类型’224的值。图14还示出了可用于单词‘dig’的按钮按压进展(progression)378、按钮按压类型序列382、多个备选bpt序列420、多个预期bpt400以及多个错误bpt402。

变量‘字符’200的值直接从单词130中导出。变量‘菜单位置’242的值根据图2的用户界面150以及如seedipmatterno.680065.40501的图9所示从菜单240中的每个字符200的位置中导出。

根据图4及其描述,‘按钮按压值’222和‘按钮按压类型’224的值从方法606的执行中导出。此外,图6的第一示例190示出了就单词“dig”的具体案例,如何导出每个变量的每个阵列元素的值。图2的用户界面150的‘dig’的bpv序列380是‘-3+2-3+3’。图2的用户界面150的‘dig’的bpt序列382是‘短-短-成对’。

按钮按压进展378以像句子一样的形式示出了按钮按压类型序列382以及各个按钮按压类型224与单词130的字符200之间的对应关系。空格309定义了相对于之前和后续的单词,单词130的bpt序列382的范围。

每个备选bpt序列420从图13的一个或更多个bpt错误案例397的逆向应用导出为bpt序列382。想要的bpt400和错误的bpt402的比较示出了创建特定备选bpt序列420所需的特定错误案例397。每个备选bpt序列420是将一种或更多种错误案例397应用于bpt序列382的逆向结果。

例如,对于备选bpt序列slp421,将bpt序列slp382的第二位置上想要的bptl401作为创建ssp382的错误bpts411被输入。这是图13中的案例2的错误的示例。在另一示例中,对于备选bpt序列pp423,想要的bptp403作为创建ssp382的错误bptss413被输入。这是图13中的案例7的错误的示例。在又一示例中,对于备选bpt序列llss425,想要的bptllss405作为创建ssp382的错误bptssp415被输入。这是案例2的错误发生两次并且案例5的错误发生一次的示例。

该分析的显著结果是实现:对于给定的按钮按压次数392的bpt序列382,具有相同的按钮按压次数的可能的备选bpt序列420的数量是有限的。此外,对于给定的按钮按压次数392的任何bpt序列382,可能的备选bpt序列420的数量总是相同的。因此,尽管可能的备选bpt序列420的数量并不一律完全取决于bpt序列382中的bpt224的数量,但可能的备选420的数量的确一律取决于bpt序列382中的按钮按压次数392。

换句话说,对于bpt序列中的给定数量的bpt,可能的独特bpt序列的数量不是恒定的,但对于bpt序列中的给定的按钮按压次数,其数量是恒定的。再换句话说,可能的独特bpt序列的列表对于给定的按钮按压次数的bpt序列是有限的并且总是相同的。

图15-18示出了公开了给定bpt序列382中的按钮按压次数392与该给定bpt序列382可能的备选bpt序列420的数量之间的关系的表格和示例。图15的表格总结了来自图16-18的例子的结果。

图16表明对于具有两次按压的按钮进展378的bpt序列382,可能的bpt序列是‘短-短’、‘短-长’、‘长-短’、‘长-长’和‘成对’。可能的独特bpt序列382的数量为5。可能的备选bpt序列420的数量是可能的独特bpt序列的数量减去1,即4。

图17表明对于具有三次按压的按钮进展378的bpt序列382,可能的bpt序列是列出的那些。可能的独特bpt序列382的数量为12。可能的备选bpt序列420的数量是可能的独特bpt序列的数量减去1,即11。

图18表明对于具有四次按压的按钮进展378的bpt序列382,可能的bpt序列是列出的那些。可能的独特bpt序列382的数量为29。可能的备选bpt序列420的数量是可能的独特bpt序列的数量减去1,即28。

图19示出了方法700,其使用按钮按压类型224从接收到的按钮按压序列中识别单词。方法700使用的事实:对于由给定的按钮按压次数表示的单词,只有有限和已知数量的按钮按压类型序列是可能的,如图15-18所示。该方法适用于按钮按压时机错误的问题,诸如图9-12中所述的那些。

图19的方法700的第一步骤是图4的方法606。在图4的方法606中,cpu108解释接收到的按钮按压以及由其构建字符序列388。当在图19的方法700中使用时,构建的字符序列388是推测词134。

在方法700的下一步骤710中,cpu108将上述推测词134与可能单词库136进行比较。在下一步骤712中,cpu108确定在库136中是否找到上述推测词134。

如果上述推测词134在库136中,则在下一步骤714中,cpu108接受上述推测词作为输入。

然而,如果上述推测词134不在库136中,则在下一步骤716中,cpu108确定bpv序列380中的值202的数量。在一个实施例中,cpu108参考按钮按压次数392以确定bpv序列380中的值202的数量。

在下一步骤718中,cpu108识别可能的备选bpt序列420。可能的备选bpt序列420是按钮按压次数等于bpv序列380中的值202的数量的bpt224的可能组合,其中不包括接收到的bpt序列382。

在下一步骤720中,cpu108基于接收到的bpv序列380将每个备选bpt序列420转换为备选总bpv序列426。

在下一步骤721中,cpu108基于用户界面150的字符200和菜单位置242将每个备选总bpv序列426转换为备选字符序列445。

在下一步骤722中,cpu108将每个备选字符序列445与可能单词库136进行比较。接下来,在步骤724中,cpu108确定在库136中是否找到任何备选字符序列445。

如果至少一个备选字符序列445在库136中,则在步骤7726中,cpu108接受所找到的备选序列之一作为输入。如果库136中没有备选序列445,则在步骤714中,cpu108接受上述推测词134作为输入。

图20示出了第三和第四流程图148、149。第三流程图148示出了图19的方法700的变量。第四流程图149示出了第三流程图148的变量的示例值。

第三流程图148包括其中的三个宽路径:(1)图5的第一流程图138,(2)子流程图151和(3)可能单词库136。第一流程图138示出了通过图4的方法606的诸变量的进展,其导致推测词134。子流程图151示出了通过图19的方法700的诸变量的进展,其导致可能的备选字符序列445。

值得注意的是,子流程图151与第一流程图138的组合不需要任何附加的输入变量。图19的方法700的所有变量从图4的方法606中已经存在的变量获取它们的输入。

图5的第一流程图138具有三个初始输入变量:(1)‘按钮按压值序列’380,(2)‘共同按压’210和(3)‘持续时间’208。接下来在流程图中,变量‘共同按压’210和‘持续时间’208二者一起确定变量‘按钮按压类型序列’382,其作为通过图4的步骤620和640重复循环的结果而发生。接下来,变量‘按钮按压值序列’380和‘按钮按压类型序列’382二者一起确定变量‘总按钮按压值序列’386,其在图4的方法606的步骤672中发生。最后,变量‘总按钮按压值序列’386确定变量‘推测词’134,其在方法606的步骤674中发生并且基于图2的用户界面150。当在图19的方法700的情况下使用时,图5的变量‘字符序列’388是变量‘推测词’134。

子流程图151仅具有作为用户输入的变量‘按钮按压值序列’380。接下来在流程图中,变量‘按钮按压值序列’380确定变量‘序列中值的数量’202,其发生在方法700的步骤716中。接下来在流程图中,变量‘序列中值的数量’202确定变量‘可能的备选bpt序列’420,其在步骤718中发生。接下来,变量‘按钮按压值序列’380和‘可能的备选bpt序列’420二者一起确定变量‘总bpv的可能的备选序列’426,其在步骤720中发生。接下来,变量‘总bpv的可能的备选序列’426确定变量‘可能的备选字符序列’445,其在步骤721中发生。最后,将变量‘可能的备选字符序列’445和‘推测词’134与变量‘词库’136进行比较以确定变量‘识别词’130,其发生在步骤710和722中。

第四流程图149示出了图2的用户界面150的实施例的第三流程图148的每个变量的示例值。

变量‘按钮按压值序列’380具有值‘-3+2-3+3’381。变量‘共同按压’210具有值‘成对’或‘非’211。变量‘持续时间’具有值‘<etp’或‘>etp’209。变量‘按钮按压类型序列’382具有值‘短-短-成对’383。变量‘总按钮按压值序列’386具有值‘-3+20’387。变量‘推测词’134具有值‘dig’135。变量‘序列中值的数量’202具有值‘4’203。变量‘可能的备选bpt序列’420具有作为值的bpt阵列‘ssss,sssl,ssls...pp’421。变量‘总bpv的可能的备选序列’426具有作为值的值序列阵列‘-3+2-3+3,-3+2-3+6,-3+2-6+3...-10’427。变量‘可能的备选字符序列’445具有作为值的字符序列阵列‘didj,didm,diaj...fg’446。变量‘识别词’130具有值‘dig’131。变量可能单词库136具有作为值的可能单词,诸如‘cat,dog,sky,convenient,blue,the,is,dig…’137。

第四流程图149的值是用于说明图2、4和19的实施例的示例。本发明的范围不限于本文所示的变量和特定值,而是由权利要求的范围限制。

图21示出了根据图2的用户界面150的、识别单词130‘dig’的变量‘bpv序列’380和‘bpt序列’382的值。菜单位置242是‘-3+20’。总bpv序列386为‘-3+20’。bpv的可能序列380为‘-3+2-3+3’和‘-3+2+3-3’。两个bpv序列是可能的,因为序列的第三和第四值是成对bpt350的值。因此,在按下按钮110以输入字符200‘g’时,用户可以以任何顺序输入这些值。bpt序列382是‘短-短-成对’。

图22和23每个示出了图19的方法700的示例,其解释接收到的按钮按压序列以识别单词‘dig’。

对于图22的示例,接收到的bpv序列380是‘-3+2-3+3’。接收到的bpt序列382是‘短-短-成对’。图19的方法700的第一步骤606产生总bpv序列386‘-3+20’以及然后产生推测词134‘dig’。图19的方法700的步骤716产生bpv序列202中的值的数量,为4。方法700的步骤718产生所示的可能的备选bpt序列420,为28个。方法700的步骤720产生所示出的可能的备选总bpv序列426。方法700的步骤721产生所示出的可能的备选字符序列445。方法700的步骤710和722将推测词134‘dig’和28个可能的备选字符序列445与可能单词库136进行比较。对于图22的示例,不存在另外的合理的单词,因此在步骤714中,推测词134‘dig’被解释为输入。

对于图23的示例,接收到的bpv序列380是‘-3+2+3-3’。接收到的bpt序列382是‘短-短-成对’。图19的方法700的第一步骤606产生总bpv序列386‘-3+20’以及然后产生推测词134‘dig’。图19的方法700的步骤716产生bpv序列202中的值的数量,为4。方法700的步骤718产生所示的可能的备选bpt序列420,为28个。方法700的步骤720产生所示出的可能的备选总bpv序列426。方法700的步骤721产生所示出的可能的备选字符序列445。方法700的步骤710和722将推测词134‘dig’和28个可能的备选字符序列445与可能单词库136进行比较。对于图23的示例,不存在另外的合理的单词,因此在步骤714中,推测词134‘dig’被解释为输入。

图24示出了根据图2的用户界面150的、识别单词130‘lad’的变量‘bpv序列’380和‘bpt序列’382的值。菜单位置242是‘+5-6-3’。总bpv序列386为‘+5-6-3’。bpv的可能序列380为‘+2+3-3-3’和‘+3+2-3-3’。两个bpv序列是可能的,因为序列的第一和第二值是成对bpt350的值。因此,在按下按钮110以输入字符200‘l’时,用户可以以任何顺序输入这些值。bpt序列382是‘成对-长-短’。

图25和26每个示出了图19的方法700的示例,其解释接收到的按钮按压序列以识别单词‘lad’。

对于图25的示例,接收到的bpv序列380是‘+2+3-3-3’。接收到的bpt序列382是‘成对-长-短’。图19的方法700的第一步骤606产生总bpv序列386‘+5-6-3’以及然后产生推测词134‘lad’。图19的方法700的步骤716产生bpv序列202中的值的数量,为4。方法700的步骤718产生所示的可能的备选bpt序列420,为28个。方法700的步骤720产生所示出的可能的备选总bpv序列426。方法700的步骤721产生所示出的可能的备选字符序列445。方法700的步骤710和722将推测词134‘lad’和28个可能的备选字符序列445与可能单词库136进行比较。对于图25的示例,不存在另外的合理的单词,因此在步骤714中,推测词134‘lad’被解释为输入。

对于图26的示例,接收到的bpv序列380是‘+3+2-3-3’。接收到的bpt序列382是‘成对-长-短’。图19的方法700的第一步骤606产生总bpv序列386‘+5-6-3’以及然后产生推测词134‘lad’。图19的方法700的步骤716产生bpv序列202中的值的数量,为4。方法700的步骤718产生所示的可能的备选bpt序列420,为28个。方法700的步骤720产生所示出的可能的备选总bpv序列426。方法700的步骤721产生所示出的可能的备选字符序列445。方法700的步骤710和722将推测词134‘lad’和28个可能的备选字符序列445与可能单词库136进行比较。对于图26的示例,不存在另外的合理的单词,因此在步骤714中,推测词134‘lad’被解释为输入。

对于图26的示例,接收到的bpv序列380也是‘+2+3-3-3’,但是接收到的bpt序列382是‘短-长-短-长’,这对于想要的单词‘lad’是不准确的。图19的方法700的第一步骤606产生总bpv序列386‘+2+6-3-6’以及然后产生推测词134‘imda’。图19的方法700的步骤716产生bpv序列202中的值的数量,为4。方法700的步骤718产生所示的可能的备选bpt序列420,为28个。方法700的步骤720产生所示出的可能的备选总bpv序列426。方法700的步骤721产生所示出的可能的备选字符序列445。方法700的步骤710和722将推测词134‘imda’和28个可能的备选字符序列445与可能单词库136进行比较。对于图26的示例,推测词是不合理的,但已知词‘lad’出现在备选列表中。因此在步骤726中,特定备选字符序列135‘lad’被解释为输入。

图27列出了图13的错误案例397,其具有识别每种错误案例发生的可能性406的附加列。由于用户界面150的性质,一些错误案例397的可能性显著地低于其他错误案例。说明404描述了为了使每种错误案例397发生而必须发生的按钮时机错误。一般来说,由于按下按钮太快而导致的错误案例比由按下按钮太晚导致的错误更有可能。图27基于错误案例发生的可能性406将错误案例分为两类(高409和低407)。

图28示出了方法702,其使用按钮按压类型和错误案例397的可能性406从接收到的按钮按压序列中识别单词。方法702使用的事实是,对于按钮按压时机错误,一些错误案例397比其他错误案例更可能。

图28的方法702的第一步骤是图4的方法606。在图4的方法606中,cpu108解释接收到的按钮按压并从中构建字符序列388。当在图28的方法702中使用时,构建的字符序列388是推测词134。

在方法702的下一步骤710中,cpu108将上述推测词134与可能单词库136进行比较。在下一步骤712中,cpu108确定在库136中是否找到上述推测词134。

如果上述推测词134在库136中,则在下一步骤714中,cpu108接受上述推测词作为输入。

然而,如果上述推测词134不在库136中,则在下一步骤716中,cpu108确定bpv序列380中的值202的数量。在一个实施例中,cpu108参考按钮按压392的数量以确定bpv序列380中的值202的数量。

在下一步骤718中,cpu108识别可能的备选bpt序列420。可能的备选bpt序列420是按钮按压次数等于bpv序列380中的值202的数量的bpt224的可能组合,其中不包括接收到的bpt序列382。

在下一步骤728中,cpu108将可能性高的可能的备选bpt序列420与可能性低的分离。cpu108基于接收到的bpt序列382以及以下中的一个或更多个分离序列420:(1)图13的一个或更多个错误案例397,其对于每个备选bpt序列420变为接收到的bpt序列382必将发生,(2)特定错误案例397的发生可能性,(3)备选bpt序列420成为接收到的bpt序列382所需的错误案例397的数量,以及(4)影响发生可能性的任何其他标准。

在下一步骤730中,cpu108基于用户界面150的bpv序列380和字符200以及菜单位置242将每个可能的备选bpt序列420转换为可能的备选字符序列446。

在下一步骤732中,cpu108将每个可能的备选字符序列446与可能单词库136进行比较。接下来,在步骤734中,cpu108确定在库136中是否找到任何可能的备选字符序列446。

如果至少一个可能的备选字符序列446在库136中,则在步骤726中,cpu108接受所找到的备选序列之一作为输入。如果库136中没有可能的备选序列446,则在步骤714中,cpu108接受上述推测词134作为输入。

图29示出了不太可能的错误案例417的表格,推测词134‘lad’,bpt序列382,接收到的bpv序列380,序列202中的值的数量,用于4按钮按压序列的可能的备选bpt序列420和多个可能的备选bpt序列421。可能的备选bpt序列421不包括那些需要发生表417的错误案例397才能使接收到的bpt序列382‘成对-长-短’被接收的bpt序列。可能的备选bpt序列421是未被划掉的备选bpt序列。

例如,所有备选bpt序列中第三位置是短bpt340的被去除。这些序列被去除是因为‘长’bpt345处于bpt序列382的第三按钮按压位置,表417中的案例1表示从短bpt340到长bpt345的错误是不可能的。案例1的不可能性去除了八个bpt序列420不予考虑。

在另一示例中,在前两个按钮按压位置中具有长bpt345的序列420被去除。对于这些可能的序列420,它们需要发生案例6,才能使两个连续的长bpt成为成对bpt350。

在另一示例中,在第三和第四按钮按压位置中具有成对bpt30的序列420被去除。不仅这些备选bpt420依据案例9是不太可能的,它们由于bpv序列380在序列420的第三和第四位置都具有相同的值的事实而实际上是不可能的。成对bpt350必须是两个不同的bpv,因此这些特定的备选bpt序列420是不可能的。

图30和31每个示出了解释接收到的按钮按压序列的图28的方法702的示例。在这些示例中,方法702识别单词‘lad’。

对于图30的示例,接收到的bpv序列380是‘+2+3-3-3’。接收到的bpt序列382是‘成对-长-短’。图28的方法702的第一步骤606产生总bpv序列386‘+5-6-3’以及然后产生推测词134‘lad’。图28的方法702的步骤716产生bpv序列202中的值的数量,为4。方法702的步骤718产生所示的可能的备选bpt序列420,为28个。方法702的步骤728基于接收到的bpt序列382以及图29的不太可能错误案例表格417产生可能的备选bpt序列421。可能的备选bpt序列421是在图30中未划掉的那些序列。方法702的步骤730产生可能的备选字符序列446。方法702的步骤710和732将推测词134‘lad’和13个可能的备选字符序列446与可能单词库136进行比较。对于图30的示例,不存在另外的合理的单词,因此在步骤714中,推测词134‘lad’被解释为输入。

对于图31的示例,接收到的bpv序列380是‘+3+2-3-3’。接收到的bpt序列382是‘成对-长-短’。图28的方法702的第一步骤606产生总bpv序列386‘+5-6-3’以及然后产生推测词134‘lad’。图28的方法702的步骤716产生bpv序列202中的值的数量,为4。方法702的步骤718产生所示的可能的备选bpt序列420,为28个。方法702的步骤728基于接收到的bpt序列382以及图29的不太可能错误案例表格417产生可能的备选bpt序列421。可能的备选bpt序列421是在图31中未划掉的那些序列。方法702的步骤730产生可能的备选字符序列446。方法702的步骤710和732将推测词134‘lad’和13个可能的备选字符序列446与可能单词库136进行比较。对于图31的示例,不存在另外的合理的单词,因此在步骤714中,推测词134‘lad’被解释为输入。

图32示出了根据发生可能性进行排名的图13的错误案例397。案例397从最可能到最不可能进行排名408。发生的可能性取决于特定按钮按压错误(或多个错误),其必须发生才能从备选bpt序列420创建一个接收到的bpt序列382。想要的bpt400是备选字符序列420的个体bpt(或多个bpt)224,其将备选bpt序列与接收到的bpt序列382区分开。错误bpt402是被错误地输入的接收到的bpt序列382的个体bpt(或多个bpt)224。

案例2是排名最高的案例,因为它是在用户按下选择按钮太快时发生的错误。长bpt345需要用户按下并保持按下选择按钮直到经时时长(etp)330到期。当匆忙打字时,用户可能想要保持按下选择按钮110直到到期331,但却意外地太快释放按钮,如图10的底部图形311所示。当用户加快其打字速度时,该错误是常见的。

案例3-6是与案例2相同原因排名次之的案例,不同之处为不是在到期330之前释放选择按钮110,而是在etp到期之前按下后续的按钮按压332。错误案例3-6导致想要的连续按钮按压变成为成对bpt450。这四种错误案例中的每一种通过图11和图12中的图形312、314、316、318由双向箭头从(a)到(b)的向下进展表示。

案例1是排名更次之的错误案例397。当用户在etp330到期331之前未能释放选择按钮110时,案例1发生。通常,用户选择避免发生这种情况的etp330的持续时间208,因此在实践中,案例1不是常见的错误。

当实际使用中etp330的持续时间208被设置得太短时,通常会发生案例7-10。在这些案例中,用户未能在etp330的到期331之前完成成对bpt350的第二选择按钮按压333。这四种错误案例中的每一种通过图11和12中的图形313、315、317、319由双向箭头从(b)到(a)的向上进展表示。实际上,当这些错误发生时,它们的数目很多。一个解决方案是增加etp330。

图33示出了3个示例bpt序列382:ssl,sls,lsl的每一个的所有可能的备选bpt序列420。如图15-18所解释的,可以从bpt序列382导出的独特bpt序列仅是序列中按钮按压次数的函数。因此,图33的3按钮按压示例都具有相同的可能的备选bpt序列列表420,除了接收到的bpt序列382本身以外,因为每个示例都将它从备选列表420中略去。如图17所示,对于3按钮按压单词,可能的独特bpt序列的数量为12。因此,在可能省略接收到的bpt序列382之后,对于每个示例,可能的备选bpt序列420的数量为11。

图33还示出了对于每个示例创建每个备选bpt序列420所需的各个bpt错误。如图32所示,想要的bpt400是备选字符序列420的个体bpt(或多个bpt)224,其将备选bpt序列与接收到的bpt序列382区分开。错误bpt402是接收到的bpt序列382的个体bpt(或多个bpt)224,其被错误地输入并导致接收到的bpt序列382。想要的bpt400与错误的bpt402之间的bpt差异是对于图33的每个备选bpt序列420所识别的错误案例397。

例如,对于接收到的bpt序列ssl,第一备选bpt序列451是sss。要从sss创建bpt序列ssl,需要将想要的bpts错误地输入为l,这与图13的案例1相对应。在另一个示例中,对于接收到的bpt序列sls,第二备选bpt序列452是lp。要从lp创建bpt序列sls,需要将想要的bptl错误地输入为s,并且将想要的bptp错误地输入为ls。这些错误分别与案例2和案例9相对应。在另一示例中,对于接收到的bpt序列lsl,第三备选bpt序列453是sll。要从sll创建bpt序列lsl,需要将想要的bpts错误地输入为l,并且将想要的bptl错误地输入为s。这些错误分别与案例1和案例2相对应。

图34示出了全部5个可能的2按钮按压bpt序列382即ss,sl,ls,ll和p的所有可能的备选bpt序列420。此外,每个bpt序列382的备选bpt序列420被显示为多个进行了排名的备选bpt序列425。

每个2按钮按压bpt序列382具有4个可能的备选bpt序列420。对于每个备选bpt序列420,还示出了为备选bpt序列420创建接收到的bpt序列382所需的错误案例397的排名408。

例如,对于接收到的bpt序列sl,第四备选bpt序列454是ss。要从ss创建bpt序列sl,需要将想要的bpts错误地输入为l,这与图13的案例1相对应。图32示出了案例1对应于排名6,如对图34的示例性备选bpt序列454所示的。在另一示例中,对于接收到的bpt序列p,第五备选bpt序列455是ll。要从ll创建bpt序列p,需要将想要的bptll错误地输入为p,其与图13的案例6相对应。图32示出了案例6对应于排名5,如对图34的示例性备选bpt序列455所示的。

图34示出了以从最可能到最不可能发生的错误排名408的顺序列出的每个bpt序列382的备选bpt序列420。对于bpt序列382,在某些情况下,需要多于一种错误案例才能创建接收的bpt序列382,在这些情况下,需要较少错误案例创建的备选bpt序列420将优先于需要较多错误案例创建的序列420。

图35和36一起示出了对于所有12个可能的3按钮按压bpt序列382:sss,ssl,sls,lss,sll,lls,lsl,lll,sp,lp,ps和pl的所有可能的备选bpt序列420。此外,对于每个bpt序列382的备选bpt序列420被示出为多个进行了排名的备选bpt序列425。

每个3按钮按压bpt序列382具有11个可能的备选bpt序列420。对于每个备选bpt序列420,还示出了为备选bpt序列420创建接收到的bpt序列382所需的错误案例397的排名408。

例如,对于接收到的bpt序列sls,第六备选bpt序列456是sp。要从sp创建bpt序列sls,需要将想要的bptp错误地输入为ls,这与图13的案例9相对应。图32示出了案例9对应于排名8,如对图35的示例性备选bpt序列456所示的。在另一示例中,对于接收到的bpt序列ps,第七备选bpt序列457是lsl。要从lsl创建bpt序列ps,需要将想要的bptls错误地输入为p,并且将想要的bptl错误地输入为s。这些错误分别与图13的案例4和案例2相对应。图32示出了案例4对应于排名4,案例2对应于排名1,两者都对图36的示例性备选bpt序列456示出。

每个bpt序列382的备选bpt序列420按照从最可能到最不可能发生的排名408按顺序列出。对于bpt序列382,在某些情况下,需要多于一种错误案例才能创建接收到的bpt序列382,在这些情况下,需要较少的错误案例创建的备选bpt序列420将优先于需要较多的错误案例创建的序列420。在具有多于一个排名408的多于一个备选bpt序列420的实例中,错误排名最高的是第一决胜局,排名次之的是次决胜局,以此类推。

图37示出了方法704,其使用按钮按压类型和错误案例397的排名408从接收到的按钮按压序列上识别单词。方法704使用以下事实:对于按钮按压时机错误,一些错误案例397比其他错误更可能。

图37的方法704的第一步骤是图4的方法606。在图4的方法606中,cpu108解释接收到的按钮按压并从中构建字符序列388。当在图37的方法704中使用时,所构建的字符序列388是推测词134。

在方法704的下一步骤710中,cpu108将推测词134与可能单词库136进行比较。在下一步骤712中,cpu108确定在库136中是否找到推测词134。

如果推测词134在库136中,则在下一步骤714中,cpu108接受推测词作为输入。

然而,如果推测词134不在库136中,则在下一步骤716中,cpu108确定bpv序列380中的值202的数量。在一个实施例中,cpu108参考按钮按压次数392以确定bpv序列380中的值202的数量。

在下一步骤718中,cpu108识别可能的备选bpt序列420。可能的备选bpt序列420是按钮按压次数等于bpv序列380中的值202的数量的bpt224的可能组合,其中不包括接收到的bpt序列382。

在下一步骤736中,cpu108将识别的备选bpt序列420组成多个进行了排名的备选bpt序列425。cpu108基于接收到的bpt序列382和排名标准来排列备选bpt序列420的顺序。在一个实施例中,排名标准是从想要的备选bpt序列中创建接收到的bpt序列382所需的各个bpt错误的数量和/或所需的每个个体bpt错误发生的可能性。在另一实施例中,所需的每个个体bpt错误发生的可能性排名是图32的排名408。

在下一步骤738中,cpu108基于用户界面150的bpv序列380和字符200和菜单位置242将最高排名的备选bpt序列420转换为备选字符序列445。

在下一步骤740中,cpu108将备选字符序列445与可能单词库136进行比较。接下来,在步骤742中,cpu108确定在可能单词库136中是否找到该备选字符序列445。如果在库136中找到该备选字符序列445,则在步骤744中,cpu108接受该备选字符序列445作为输入。如果在库136中没有找到该备选字符序列445,则在下一步骤746中,cpu108从多个进行了排名的备选bpt序列425中丢弃最高排名的备选bpt序列420。

在下一步骤748中,cpu108确定在多个进行了排名的备选字符bpt序列425中是否还有任何备选bpt序列420。如果至少还有一个备选bpt序列420,则cpu108将次最高排名的备选bpt序列420转换为备选字符序列445,并且方法704执行另一个循环。如果在步骤748中没有备选bpt序列420,则在步骤714中,cpu108接受推测词134作为输入。

图38和39每个示出了图37的方法704的示例,其解释了接收到的按钮按压序列。在这些示例中,方法704识别单词‘lad’。这些示例采用来自图24中示例的几个变量的值。

对于图38的示例,接收到的bpv序列380是‘+2+3-3-3’。接收到的bpt序列382是‘成对-长-短’。图37的方法704的第一步骤606产生总bpv序列386‘+5-6-3’(未示出)以及然后产生推测词134‘lad’。方法704的步骤716产生bpv序列202中的值的数量,为4。方法704的步骤718产生可能的备选bpt序列420,为28个。

方法704的步骤736产生多个进行了排名的备选bpt序列425。各个bpt序列420使用图32的排名标准通过案例397从最可能到最不可能来排名。还示出了从每个备选bpt序列420创建bpt序列382‘成对-长-短’所需的个体bpt错误400、402。

步骤738产生字符序列450。步骤738在方法704的每个经执行的周期产生一个字符序列450。字符序列450以与多个进行了排名的备选bpt序列425相同的顺序产生,字符序列450从所述进行了排名的备选bpt序列425导出。

步骤740-748将字符序列450与可能单词库136一一对比。该方法丢弃方法704的每个周期的次最高排名的备选bpt序列420,直到找到匹配或者在多个进行了排名的备选bpt序列425中已经没有备选bpt序列。对于图38的示例,不存在另外的合理的单词备选,其意味着在库136中没有找到匹配,因此在步骤714中,推测词134‘lad’被解释为输入。

对于图39的示例,接收到的bpv序列380是‘+3+2-3-3’。接收到的bpt序列382是‘长-短-长-短’。图37的方法704的第一步骤606产生总bpv序列386‘+6+2-6-3’(未示出)以及然后产生推测词134‘miad’。方法704的步骤716产生bpv序列202中的值的数量,为4。方法704的步骤718产生可能的备选bpt序列420,为28个。

方法704的步骤736产生多个进行了排名的备选bpt序列425。各个bpt序列420使用图32的排名标准通过案例397从最可能到最不可能来排名。还示出了从每个备选bpt序列420创建bpt序列382‘长-短-长-短’所需的个体bpt错误400、402。

步骤738产生字符序列450。步骤738在方法704的每个经执行的周期产生一个字符序列450。字符序列450以与多个进行了排名的备选bpt序列425相同的顺序产生,字符序列450从所述进行了排名的备选bpt序列425导出。

步骤740-748将字符序列450与可能单词库136一一对比。该方法丢弃方法704的每个周期的次最高排名的备选bpt序列420,直到找到匹配或者在多个进行了排序的备选bpt序列425中已经没有备选bpt序列。对于图39的示例,推测词‘miad’是未知的,因此在步骤712中,方法704判定为‘否’。在步骤738-748的第五次迭代的步骤740中,字符序列388‘lad’与可能单词库136中的单词‘lad’匹配。在步骤744中,方法704终止,并且所识别的单词130‘lad’被接受为输入。

图40是将二十六按钮字符输入法132的各个特征180的示例值与图19的减少按钮法700的各个特征的示例值进行比较的表格。比较的特征180是变量‘按钮按压值’222,变量‘按钮按压类型’224,数学运算181,经时时钟182,错误类型183和纠错方法184。

对于二十六按钮法132,变量‘按钮按压值’222的典型值是字符本身:‘a,b,c,d,e,f...’。对于减少按钮法700,‘按钮按压类型’224的典型值是数字值:‘-3,-2,+2,+3’。二十六按钮法对变量‘按钮按压类型’224只有一个值:‘单一’。减少按钮法700具有三个‘按钮按压类型’224:‘短bpt’340、‘长bpt’345和‘成对bpt’350”。二十六按钮法仅具有一个数学运算:‘等于’。减少按钮法700具有三个数学运算181:‘等于’、‘2倍’和‘求和’。二十六按钮法132没有时钟并且是时间无关的,而减少按钮法700具有经时计数器140并且是时间相关的。二十六按钮法有一种错误类型183:‘位置错误’。减少按钮法700具有两种错误类型183:‘位置错误’和‘按钮按压时机错误’。二十六按钮法有一种纠错方法184:‘基于位置的纠正’。减少按钮法700具有两种纠错方法184:‘基于位置的纠正’和‘按钮按压类型(bpt)错误分析’。

可以组合上述各个实施例以提供其他实施例。在本说明书中提及的和/或在申请数据表中列出的所有美国专利、美国专利申请公布、美国专利申请、外国专利、外国专利申请和非专利出版物的全部内容通过引用并入本文。如果需要使用各种专利、应用和出版物的概念以提供另外的实施例,则可以修改实施例的各方面。

可以根据上述具体实施方式对这些实施例进行这些和其他改变。通常,在所附权利要求书中,所使用的术语不应被解释为将权利要求限制为说明书和权利要求书中公开的具体实施例,而应被解释为包括权利要求所拥有权利的所有可能的实施例以及等同物的全部范围。因此,权利要求不受本公开的限制。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1