最佳实施例的详细描述
为了提高对本发明的原理的理解,将参考附图中所示的实施例,并用
特定的语言对其进行描述。但应该了解,并不因此而对本发明的范围有所
限制。对图示实施例的任一改动和进一步的修改,以及对在此所示的本发
明的原理的任何附加应用,对本领域技术人员来说很正常,都将被认为位
于本发明权利要求保护的范围之内。
随着现有技术键盘方法的应用,用户在输入不常用的汉字时可能会产
生麻烦,因为他可能忘记或不知道那个字的多个笔划。而且,如果用户在
找到他想输入的汉字之前需要输入很多笔划,他可能会忘记已经输入的笔
划,因为他要频繁地在两种模式之间切换:查看候选汉字列表寻找要输入
的汉字和找出他要输入的汉字的下一笔划。
在本文档中将给出一个装置,该装置至少将表意的(如:汉语)基本笔划
和部首映射到一个输入小键盘的常规输入键上。还给出了一种方法来解决
由于此映射而产生的不定性的问题,并缓解了需要用户输入许多笔划来找
到所需的字的问题。
参考附图,图1是一个举例说明的表意字符装置(如:蜂窝电话)100的
前视图,它适合于根据本发明的最佳实施例接收一个输入和提供一个输
出。如图1中所描述的,本发明用这样的一种方式配置了30个表意的基本
笔划,10个常用的部首和10个数字(可选择),将它们映射到具有预定数目
的输入键102,…,111的常规输入小键盘上。在输入小键盘上,每个输
入键至少表示一个笔划和一个部首。这种输入小键盘也可以是电话小键
盘、寻呼机、个人数字助手、应答机、传真机且并不仅仅限于这些装置。
这样,输入键的预定数目可以在1到12范围之间,不超过10,或者至少
是10但不超过20。
装置100有一个显示器(输出)210。显示器210有一个主显示区211、
一个字符显示区212和一个数字显示区213。
图2是根据本发明的最佳实施例详细描述图1的装置的内部电路系统
的一个方框图。如图2所示,图示的蜂窝电话具有一个输入小键盘,一个
微处理器202,一个闪速存储器204,一个语言模型数据库206和一个排
序函数208。
微处理器202连接到输入小键盘200上。闪速存储器204连接到微处
理器202上。语言模型数据库206和排序函数208被存储在闪速存储器204
中。语言模型在理论上将表意字符分成多个组。每组由输入键的一个常规
顺序所表示。排序函数208根据所希望的字的最高概率,一般按降序对表
意字符进行排序。下面将参考图5对闪速存储器204中的映射进行详细讨
论。
装置也可以包括一个显示区210。这样的一个显示区210可以连接到
或能够连接到微处理器202上。这个显示区210可以是下面所列之一但并
不仅仅限于所列:液晶显示器,监视器,打印机和全息屏幕。
为本发明的举例描述和清楚说明,下面的例子和附图将假设:输入小
键盘是具有不超过10个输入键102,…,111和两个功能键120和122(例
如分别为星号键(*)和磅键(#))的电话小键盘。但是,本发明并不依靠任何输
入小键盘的具体类型也不依靠任何具体数目的输入和功能键。
图3是描述本发明的最佳实施例的操作的软件程序流程图。用户可以
通过基于笔划的方法输入表意字符。如图3所示,用一个计数器来跟踪装
置所接收到的输入的数目。装置根据创建所需表意字符的笔划的时间顺序
一个一个地接收笔划。
在本发明最佳实施例的第一个方面,在数字串完成之前(装置接收到预
定数目的输入时,在此情况下为3,数字串就完成了。),用户只需要输入
所需表意字符的前3个笔划。例如,如图3中所示,在步骤300时计数器
等于零。装置在步骤302接收用户的键输入,软件程序在步骤304根据用
户接收到的键输入的数目来确定计数是否等于3。此时用户仅输入了一个
键,因此软件程序移到步骤306。在步骤306,星号键120允许用户删除
上一个数字输入。如果装置接收到星号键120,在步骤308,软件程序将
删除/忽略用户的上一个数字输入。如果装置没有接收到星号键120,那么
在步骤310,软件程序将计数器加1。这个过程(步骤302-310)继续到计
数器等于3为止(即直到该装置接收到3个键输入)。装置除了输入小键盘之
外,还能接收用户通过各种方法所执行的输入,例如下载、声音或适合输
入表意字符的任何其它方法。
当在步骤304计数器等于3时,软件程序在步骤312将确定是否存在
一个有效的数字串。因为装置接收到的对应于键102,…,111的笔划和
部首并不标识一个表意字符,所以一些键输入的组合并不是有效的数字
串。数字串有效性的概念将在图5的讨论中作进一步地探讨。因此,如果
没有接收到一个有效的数字串,程序将在返回到步骤300之前在步骤314
给出一个错误信号(如可听到的嘟嘟声)。注意,当软件程序在接收到一个无
效的数字串后返回到步骤300时,计数器被复位为零直到该装置接收到进
一步的键输入等为止。如果在步骤312的数字串有效,软件程序将在步骤
316显示一组可能的表意字符。
当软件程序在显示器210的字符显示区212里向用户显示一组可能的
表意字符之后,就进入了一种选择模式,允许用户从这组可能的表意字符
中集中找到所需的表意字符。
当软件程序进入选择模式时,它显示了具有与用户前面输入的前3笔
划相同的笔划的一组可能的表意字符。这组表意字符按降序排列,即将最
有可能为所需表意字符的表意字符显示在第一个。组是根据被接收到的输
入的时间顺序选择的。注意这组可能的表意字符还可以按用户所需的具体
顺序被显示(例如按升序或随机顺序),但为了这个和下面的例子,按照
概率(即使用频率)的降序显示这组可能的表意字符是最有利的,因为它允许
用户首先观察最有可能的表意字符。
如果用户在第一组表意字符中找不到所需表意字符,他可以在步骤318
输入磅键122。响应在步骤318输入的磅键122,软件程序将在步骤320
一般按降序显示随后一组具有下一为所需表意字符最高概率的可能的表意
字符。一旦用户观察了下一组可能的表意字符,通过在步骤324输入星号
键120,他总可以返回到前一组可能的表意字符。观察下组和前组表意字
符的过程一直持续到用户找到要输入的表意字符为止。一旦找到所需的表
意字符,用户可以在步骤326输入相应的输入键102,…,111选择所需
表意字符。在装置接收到了标识被选表意字符的键输入后,软件程序在步
骤328把被选择的表意字符放在文本中,
注意在此具体实施例中,本发明总共只使用了10个输入键和两个功能
键:10个输入键用来输入所需表意字符的笔划并从可能的表意字符组中选
择所需表意字符;一个功能键用于显示下组可能的表意字符;一个功能键
用于显示前一组可能的表意字符。这样当用户输入笔划时,使用的是与输
入部首和从可能的表意字符组中选择所需的表意字符所用的输入键相同的
输入键。
图4是举例说明本发明最佳实施例和另一个实施例的模式图。在上面
参考图3的描述中给出了最佳实施例的第一个方面。在图3描述和说明最
佳实施例的第一个方面中缺少的是当用户正在输入他的数字流时,在可能
的表意字符显示之前,允许用户通过输入星号键120来删除上一个输入键
的选择。当程序软件接收到星号键120之后,它忽略上一个键输入并返回
到前一种键输入模式。
图4还描述了最佳实施例的第二个方面。用户可以利用基于部首加笔
划的方法输入表意字符。通过此方法,软件程序在步骤400进入第一个键
输入模式。利用输入键102,…111,用户可以输入标识所需表意字符的
第一个键输入。一旦装置接收到第一个键输入,软件程序在步骤406进入
第二个键输入模式。
用户在输入第一个和第二个键输入时,使用的是相同的输入键102,…
111。一旦装置接收到第二个键输入,软件程序在步骤408进入第三个键输
入模式。对于用户使用基于步骤加笔划方法来说,所需要的仅仅是两个输
入键输入。当软件程序在步骤408进入第三个键输入模式时,用户输入磅
键,软件程序将在步骤410显示一组可能的表意字符,这样进入一种选择
模式。
在步骤410的选择模式中,用户观察这组可能的表意字符。如果在这
组可能的表意字符中没有显示所需的表意字符,用户在步骤412输入磅键
122滚动到下一组可能的表意字符。用户继续输入磅键122使软件显示下一
组可能的表意字符。如果需要返回前一组可能的表意字符,用户可在步骤
414输入星号键120。当装置接收到星号键120时,它将向用户显示前一组
可能的表意字符。这一显示前后可能的表意字符组的过程将继续到用户选
择了所需的表意字符为止。
用户利用与输入第一、第二和第三个键输入时所用的键相同的输入键
102,…111选择所需的表意字符。在此例中,表意字符组显示了10个可
能的表意字符。表意字符组中的每一个可能的表意字符对应于一个输入键
102,…111。在所需的表意字符被选择之后,软件程序在416步把他选择
的表意字符输入文本。当所需的表意字符被输入到文本中之后,软件程序
在步骤400自动返回到第一个键输入模式。此时,用户可以执行下述的一
种操作:通过在步骤402输入星号键120删除刚输入到文本中的表意字符;
通过在步骤404输入磅键122在刚输入的表意字符之后加一个空格:或者
在步骤406输入第一个键输入来标识另一个所需的表意字符。
注意在软件程序显示了第一组可能的表意字符并在步骤410进入选择
模式之后,下面的滚动、输入和删除步骤对于所有的实施例都是相同的。
因此,为了避免冗长,滚动、输入和删除步骤在每一个实施例的描述中将
不再重复。
本发明的最佳实施例的第三个方面描述了基于笔划的方法和基于部首
加笔划的方法的第一种结合方案。当所需的表意字符仅包括下列之一:一
个单笔划;和一个单部首时,将产生这一结合方案。在最佳实施例中,如
果用户希望输入仅有一个笔划或部首的一个表意字符,他必须在输入的键
输入之后跟一个功能键输入(例如,磅键122)。当装置接收到功能键时,它
知道用户已经完成了一个数字串。
关于最佳实施例的第三个方面的附加细节将通过下面的例子讨论。当
用户想输入一个表意字符,而其中的笔划或部首本身是所需的表意字符
时,就产生了不定性。用户要输入一个输入键并随后输入功能键。当装置
接收到后面紧跟一个功能键的输入键时,软件程序知道所需的表意字符是
一个部首或是一个笔划。因为每一个输入键102,…111至少代表一个笔
划和一个部首,软件程序不知道哪一个是所需表意字符。为了解决这种不
定性,软件程序显示了一组可能的表意字符,这些表意字符由仅具有与接
收到的输入键对应的一个单笔划的表意字符和具有与接收到的输入键对应
的一个单部首的表意字符组成。这样显示两种可能性就解决了将多个笔划
和部首映射到单个输入键的不定性问题,并允许用户从这组可能的表意字
符中选择所需的表意字符。
本发明的最佳实施例的第四个方面描述了将基于笔划的方法和基于部
首加笔划的方法结合的第二种结合方案。当所需表意字符仅包括下面之
一:两个笔划;一个部首和至少一个笔划时,这种结合方案产生。在最佳
实施例中,如果想输入仅有两个键输入输入的一个表意字符时,用户则必
须在两个输入键输入后紧跟一个功能键输入。
有关最佳实施例的第四个方面的附加细节将通过下面的例子进行讨
论。当用户想输入仅具有两个笔划或一个部首和至少一个笔划的表意字符
时,就产生了不定性。用户在步骤408输入两个输入键随后输入功能键。
当装置接收到后面紧跟一个功能键的两个输入键输入时,软件程序知道所
需表意字符或者仅由两个笔划、或者由一个部首和至少一个笔划组成。由
于每个输入键表示至少一个笔划和一个部首,软件程序不知道哪一个是所
需的表意字符。为了解决不定性,软件程序在步骤410显示一组可能的表
意字符,它们仅由具有分别与第一个输入键和和第二个输入键对应的第一
个笔划和第二个笔划的表意字符以及具有分别与第一个输入键和第二个输
入键对应的一个部首和至少一个笔划的表意字符组成。这样,最佳实施例
第二个方面中的基于部首加笔划的方法就与最佳实施例的第四个方面中描
述的仅有两个笔划的表意字符相结合。
本发明适用于各种长度的输入串。在最佳实施例中,对于基于笔划的
方法,用户必须输入的输入键输入的最大数目是3。对于基于部首和笔划
的方法,用户在最佳实施例中必须输入的输入键输入的最大数目是2。
对于基于笔划的方法,另一实施例的第一个方面与最佳实施例的第一
个方面相似。但是,在另一实施例中,当用户在步骤400、406和408中
输入想输入的所需表意字符的前三个笔划之后,软件程序在步骤409进入
第四个键输入模式。一旦处于第四个键输入模式,用户输入磅键122来向
软件程序表示数字串结束。因此,在另一实施例中,对基于笔划的方法,
最佳实施例的第一个方面仅有的不同在于软件程序在显示一组可能的表意
字符之前要寻找磅键122。对于另一实施例的基于笔划的方法,输入键输
入的最大数目仍然是3(与最佳实施例中的相同)。
此外,对于基于部首加笔划的方法,另一实施例的第二个方面与最佳
实施例的第二个方面相似。代替输入两个键输入(如最佳实施例的第二个方
面),另一实施例的第二个方面允许用户输入另外3个键输入,总共有4个
键输入:一个部首和三个笔划。当装置在步骤409接收到第四个键输入之
后,软件程序在步骤410显示一组可能的表意字符。因此在另一实施例中,
对于基于部首加笔划的方法,输入的最大数目是四个输入键。这种映射和
方法的结果是,当装置接收到第四个输入键时,软件程序知道将第一个输
入键解释为部首而不是笔划。在第一个输入键之后输入的所有输入键都被
解释为笔划。
考虑到另一实施例,对于仅具有以下之一的表意字符:单个笔划、单个
部首、两个笔划、一个部首加一个笔划;三个笔划;以及一个部首加两个
笔划的情况,将产生不定性。上述表意字符后面必须跟一个功能键(如磅
键)。为解决这种不定性,当软件程序在步骤410显示可能的表意字符组
时,表意字符组中将包括两种概率。例如,当数字流包括一个输入键输入
时(如“2#”),软件程序将显示一组表意字符,它包括具有与输入键
对应的单个笔划的表意字符和具有与输入键对应的单个部首的表意字符。
当数字流包括两个输入键输入时(如“22#”),软件程序将显示一组表
意字符,它们仅包括与输入键对应的两个笔划和具有一个部首和与输入键
对应的一个笔划的表意字符。当数字流包括三个输入键输入时(如“112
#”),软件程序将显示一组表意字符,它们至少有三个笔划与输入键对
应,并包括一个部首和仅由两个笔划与输入键对应的表意字符。
图5是表示对图4的最佳实施例,在闪速存储器中存储的两个表的结构
图。第一个表(表1)500有三列。第一列502包括一个输入数字流。第
二列504表示一个开始地址,它指向第二个表(表2)550的开始地址。
表1500中的第三列506表示在表2550中可以找到多少与被选数字流对应
的字符。表2550的第一列552是一个简单地址,第二列554表示要选择的
字符,第三列556中存储有一个排序索引。
在操作中,一个数字流被输入(如2#)。从表1500中,有两个可能
的字符与这个数字流对应。这两个字符存储在从地址2开始的表2550中。
表2550中的排序顺序556表示可能的字符要显示的顺序(当有多个可能的
字符时)。可以改变排序顺序索引来选择新顺序。例如另举一个例子,数
字流“23#”在从地址8开始的表2550中有两个可能的字符。
图5的表1500总共有1,027个输入,而表2550总共有10,015个输入。
这些表是特别为图4准备的。在此例中,十个输入键102,…111的组合
表示两个笔划或一个部首和仅仅一个笔划。例如,数字流“23#”只给出
了两个可选字符。如果表2550被修改为图4的最佳实施例,两个输入键可
以表示两个笔划或一个部首和一个或一个多的笔划。在此情况下,在修改
后的表2550中,数字流“23#”将产生多于两个的选择字符。注意所示
的表1500在它的数字流的第一列502中有一个或两个数字(如图所示)以
及三个或四个数字(图中没给出)。在表1500改动后的版本中(改动为面
向图4的最佳实施例)将只有对应于一个、两个和三个数字流的输入,而
如果表1500是面向图4的另一个实施例修改的,将有对应于一个、两个、
三个或四个输入流的输入。
从图5可以看到,有许多可能的数字流没有对应的字符。例如“1#”、
“3#”、“4#”、“8#”、“9#”、“11#”、“12#”等等。
当输入这些数字流其中之一时,将给出一个错误信号(如可听到的嘟嘟声)
并且/或者上一个键输入或完整的输入流被忽略(或者如果适合的话,磅键
输入被忽略)。
另外,例如,对于参考双字组数据,如在1997年2月24日申请的专利
申请号08/806,504的详细描述中所述,语言模型数据可以存储到表2550
中,在此作为参考。
注意,图4的最佳实施例希望使用时较快,而图4的另一实施例则希望
具有更大的准确性。用户所喜欢的实施例可以根据喜欢用部首还是喜欢用
笔划来书写来确定。测试表明,30%的汉字可以用部首来输入,而70%
的汉字则只能用笔划来输入。
虽然参考特别的实施例对本发明进行了描述,但显然根据前面的描述,
本领域技术人员可以对其进行修改、改动和变动。因此,可以理解本发明
并不仅仅限于前面的描述,而是可以根据附加的权利要求的精神和范围对
其进行的所有修改、改动和变动。