附图的详细描述
本发明诸方面涉及提供允许在用户输入模式间切换以得到对于识别和其它用途的更好的多语言支持的用户界面。
以下编排成若干小节以有助于理解本发明的各个方面。各小节包括:术语;通用计算机;笔尖关联,按钮关联;语言辅助;示例性过程;用户界面;以及用户界面选择过程。
墨迹特征
如使用墨迹笔的用户所了解的,物理墨迹(使用带有墨水容器的笔留在纸上的这种东西)可比由直线段连接的一系列坐标传达更多的信息。例如,物理墨迹可反映笔压(通过墨迹的浓度)、笔角度(通过直线或曲线段的形状和离散点周围墨迹的状态)以及笔尖的速度(通过直线或曲线过程上的平直度、线宽及线宽变化)。由于这些附加属性,情绪、个性、强调等比各点间的统一线宽更能即时地传达。
电子墨迹(或墨迹)涉及当用户使用基于铁笔的输入设备时捕获的电子信息的捕捉和显示。电子墨迹指一连串笔画,其中每个笔画由一连串点组成。点可用各种已知的技术表示,包括笛卡尔坐标(X,Y)、极坐标(r,Θ)以及本领域所知的其它技术。电子墨迹可包括真实墨迹属性的表现,包括压力、角度、速度、颜色、铁笔大小和墨迹模糊性。电子墨迹还可包括其它信息中的其它属性,包括墨迹如何涂在纸上的顺序(大多数西方语言是自左向右再向下的光栅模式)、时标(指示墨迹什么时候涂的)、墨迹作者指示以及发起设备(至少墨迹在其上画出的机器的标识或用来涂墨迹的笔的标识之一)。
术语
墨迹-带有属性的一连串或一组笔画。一连串笔画可包括顺序化格式中的笔画。该序列可通过捕捉的时间或者通过笔画出现在纸上的位置或者墨迹作者的合作情况下来排序。其它顺序也是可能的。一组笔画可包括笔画顺序或未排序笔画或其任意组合。此外,一些属性可唯一于每个笔画或笔画中的点(例如,压力、速度、角度等)。这些属性可存储在笔画或点层上,而不是在墨迹层。
墨迹对象-存储有或没有属性的墨迹的数据结构。
笔画-一连串或一组捕捉点。例如,当呈现时,一连串的点可用直线连接。可供选择地,笔画可表示为一个点和其下一点方向中的向量。简而言之,笔画旨在包括涉及墨迹的点或线段的任意表示,而不考虑下面的点和/或连接点的东西的表示。
点-定义空间中位置的信息。例如,点可相关于捕捉空间(例如,数字转换器上的点)、虚拟墨迹空间(所捕捉墨迹放置的空间中的坐标)和/或显示空间(显示设备的点或像素)被定义。
通用计算环境
图1示出可用于实现本发明各个方面的示例性常规通用数字计算环境的示意图。图1中,计算机100包括处理单元110、系统存储器120和将包括系统存储器的各种系统组件耦合到处理单元110的系统总线130。系统总线130可以是几种总线结构类型的任一种,包括存储器总线或存储器控制器、外围总线和使用各种总线体系结构任一种的局部总线。系统存储器120包括只读存储器(ROM)140和随机访问存储器(RAM)150。
基本输入/输出系统160(BIOS),包含在诸如起动过程中帮助存储于ROM140。在计算机100内各元件间传输信息的基本例程,计算机100还包括用于读写硬盘(未示出)的硬盘驱动器170、用于读写可移动磁盘190的磁盘驱动器180和用于读写诸如CD ROM或其它光介质的可移动光盘192的光盘驱动器191。硬盘驱动器170、磁盘驱动器180和光盘驱动器190分别通过硬盘驱动器接口192、磁盘驱动器接口193和光盘驱动器接口194连接到系统总线130。驱动器及其关联的计算机可读介质为个人计算机100提供计算机可读指令、数据结构、程序模块和其它数据的非易失性存储。本领域熟练技术人员将理解,其它类型的可存储由计算机可访问的数据的计算机可读介质,诸如盒式磁带、闪存卡、数字视频盘、伯努利盒式磁盘机、随机存取存储器(RAM)、只读存储器(ROM)等,也可用于示例操作环境。
许多程序模块可存储在硬盘驱动器170、磁盘190、光盘192、ROM140或RAM150中,包括操作系统195、一或多个应用程序196、其它程序模块197和程序数据198。用户可通过诸如键盘101和定点设备102的输入设备将命令和信息输入到计算机100。其它输入设备(未示出)可包括话筒、操纵杆、游戏垫、卫星天线、扫描仪等。这些和其它输入设备常常通过耦合到系统总线上的串行端口接口106连接到处理单元110上,但也可通过其它接口连接,诸如并行端口、游戏端口或通用串行总线(USB)。还有,这些设备可通过适当的接口(未示出)直接耦合到系统总线130上。监视器107或其它类型的显示设备也可通过诸如视频适配器108的接口连接到系统总线130上。除了监视器,个人计算机一般包括其它外围输出设备(未示出),诸如扬声器和打印机。在一个实施例中,笔数字转换器165及所附笔或铁笔166可提供来数字化捕捉徒手输入。尽管示出了笔数字转换器165和串行端口接口106之间的直接连接,实际上,笔数字转换器165可直接耦合到处理单元110上,或通过包括无线方式的任何技术连接到并行端口或其它接口和系统总线130。还有,笔166可有关联于它的摄像机和用于无线传输由摄像机捕捉的图像信息到与总线130交互的接口的收发器。此外,笔可具有除了或取代摄像机的其它感知系统,用于确定电子墨迹的笔画,包括加速仪、磁力仪和回转仪。
此外,尽管数字转换器165示出远离监视器107之外,但数字转换器165可用的输入区域共存于监视器107的显示区内。还有,数字转换器165可以集成进监视器107,或可作为重叠或附加在监视器107上的独立设备存在。
计算机100可运行于使用到一或多个远程计算机,诸如远程计算机109,的逻辑连接的网络化环境中。远程计算机109可以是服务器、路由器、网络PC、对等设备或其它普通网络节点,且一般包括许多或所有上述相关于计算机100的元件,尽管图1中只示出了存储器存储设备111。图1所示的逻辑连接包括局域网(LAN)112和广域网(WAN)113。这样的网络环境在办公室、企业级计算机网络、内联网和因特网中是很普遍的。
当用于LAN网络环境中时,计算机100通过网络接口或适配器114连接到局域网112。当用于WAN网络环境中时,个人计算机100一般包括调制解调器115或其它用于在诸如因特网的广域网113上建立通信的工具。调制解调器115,可以是内置的或外置的,通过串行端口接口106连接到系统总线130。在网络化环境中,相关于个人计算机100所示的程序模块或其部分可存储于远程存储器存储设备中。此外,系统可包括有线和/或无线能力。例如,网络接口114可包括蓝牙、SWLan和/或IEEE802.1类的结合能力。要理解其它无线通信协议可与这些协议结合或取代这些协议使用。
将要理解所示网络连接是示例性的,且其它用于在计算机间建立通信链路的技术是可使用的。假定存在任意各种众所周知的协议,诸如TCP/IP、以太网、FTP、HTTP等,且系统可运行于客户端-服务器配置中以允许用户从基于web的服务器检索web页面。任意各种常规web浏览器可用于显示和操纵web页面上的数据。
编程接口(或更简单地,接口)可视作任意用于使一或多个代码段能与由一或多个其它代码段通信或访问其所提供的功能的机制、过程、协议。可供选择地,编程接口可视作系统的能够与其它组件的一或多个机制、方法、函数调用、模块等通信连接的组件的一或多个机制、方法、函数调用、模块、对象等。前句中的术语“代码段”旨在包括一或多条指令或多行代码,并包括,例如,代码模块、对象、子例程、函数等,而忽略应用于以下内容的术语,或者代码段是否独立编译、或者代码段是否提供为源、中间或对象代码、或者代码段是否用于运行时间系统或过程、或者它们是位于相同还是不同机器或分布于多台机器中、或者由代码段表示的功能是否全部由软件、全部由硬件或硬件或软件的结合来实现。
概念上,编程接口通常可看作如图1B或1C所示。图1B示出接口Interface1为一管道,通过它第一和第二代码段通信。图1C示出接口为包括接口对象I1和I2(它们可能或不可能是第一和第二代码段的一部分),它们使系统的第一和第二代码段通过介质M通信。在图1C视图中,人们可将接口对象I1和I2看作相同系统的独立接口而且人们还可认为对象I1和I2加上介质M组成了接口。尽管图1B和1C示出了双向流和流每边上的接口,但某些实现可以只有一个方向上的信息流(或如下所述没有信息流)或者可以只在一边有接口对象。作为示例,而非限制,诸如应用编程接口(API)、入口点、方法、函数、子例程、远程过程调用和组件对象模型(COM)接口等术语都包括在编程接口的定义内。
这样一个编程接口的诸方面可包括第一代码段凭借用以传输信息(这里“信息”用于其最宽泛的意思并包括数据、命令、请求等)到第二代码段的方法;第二代码段凭借用以接收信息的方法;以及信息的结构、序列、语法、组织、大纲、时间安排和内容。在这点上,下面的传输介质本身对接口的运行并不重要,不管介质是有线的还是无线的,或者是两者的结合,只要信息以由接口所定义的方式传输。在某些情况下,信息传递可通过另一机制(例如,置于独立于代码段之间信息流的缓冲器、文件等中的信息)或者不存在,当一个代码段简单访问由第二代码段执行的功能之时信息不可在传统的意义上以单或双向传递。任意或所有这些方面在给定情况下可能是重要的,例如,取决于代码段是否是松散耦合或紧密耦合配置中的系统的一部分,而且这个列表应看作是示例性的和无限制的。
编程接口的这个概念已知于本领域熟练技术人员并且从本发明前面的详细描述清晰可见。但是,还有其它方法实现编程接口,而且除非特意排除,这些也旨在由本说明书末尾提出的权利要求书中所包括。这类其它方法可能显然比图1B和1C的简化视图更完善和复杂,但它们仍只不过执行了类似的功能以完成同样的总体结果。我们现在将简要描述一些示例性可供选择的编程接口的实现。
A.分解技术
从一个代码段到另一个的通信可间接通过将通信分解成多个离散通信来完成。这图示于图1D和1E。如所示,一些接口可利用功能的可分组来描述。这样,图1B和1C的接口功能可分解来获得同样结果,就象可算术地提供24,或者2乘以2乘以3乘以2。从而,如图1D所示,由接口Interface1提供的功能可细分为将接口的通信转换为多个接口Interface1A、Interface1B、interface1C等,同时得到同样结果。如图1E所示,由接口I1提供的功能可细分为多个接口I1a、I1b、I1c等,同时得到同样的结果。类似地,从第一代码段接收信息的第二代码段的接口I2可分解为多个接口I2a、I2b、I2c等。当分解时,第一代码段包括的接口数不需要匹配第二代码段包括的接口数。在图1D和1E的任一情况下,接口Interface1和I1的功能性仍分别与图1B和1C相同。接口的分解还可遵从结合、交换及其它算术的属性,从而分解可能难以识别。例如,操作的排序可能不重要,并且因此,由接口执行的函数可能在到达接口前就执行好了,由另一段代码或接口,或者由系统的独立组件完成。此外,编程领域的普通技术人员会理解存在各种进行得到相同结果的不同函数调用的方法。
B.重定义
在一些情况下,可能要忽略当还在完成预期结果时添加或重定义编程接口的某些方面(例如,参数)。这一点示于图1F和1G。例如,假设图1B的接口Interface1包括函数调用Square(input、precision、output),包括三个参数input、precision、output(输入、精度、输出)的调用,并且它从第一代码段发出到第二代码段。如果在给定情况下中间参数precision是不关心的,如图1F所示,它也只是被忽略或用无意义(这种情况下)参数代替。人们还可添加不关心的附加参数。在还有的事件中,能够达到平方的功能,只要在由第二代码段平方输入后返回输出。精度可以对计算系统的某些下游或其它部分而言是有意义的参数;但是,一旦认识到精度对计算平方的有限用途不是必需时,就可以取代或忽略。例如,代替传递有效的精度值,诸如生日等无意义值不会有害地影响结果而传递。同样地,如图1G所示,接口I1由接口I1’取代,重定义忽略或添加对接口的参数。接口I2可同样地重定义为接口I2’,重定义以忽略不必需的参数或者可在别处处理的参数。这里的要点是在一些情况下,编程接口可包括诸如对某些用途不需要的参数等方面,而且它们可忽略或重定义,或者为其它用途在别处处理。
C.联机编码
还可以可行的合并两个独立代码模块的一些或所有功能,从而它们之间的“接口”改变了形式。例如,图1B和1C的功能可分别转化为图1H和1I的功能。在图1H中,前面图1B中的第一和第二代码段合并成包含它们两者的模块。在这种情况下,代码段仍可继续彼此通信但接口可调整为更适于单一模块的形式。因而,例如,形式的Call(调用)和Return(返回)语句可不再必需,但与接口Interface1一致的处理或响应仍然是有效的。同样地,示于图1I,来自图1C的接口I2的部分(或全部)可联编进接口I1来形成接口I1”。如所示,接口I2分成I2a和I2b,而接口部分I2a已与接口I1联机编码,形成接口I1”。对于一个具体的示例,考虑来自图1C的接口I1执行函数调用Square(input,output),它由接口I2接收,在处理由第二代码段用input传递的值(平方它)后,用output传回平方结果。在这种情况下,由第二代码段执行的处理(平方输入)可由第一代码段不对接口调用就执行。
D.分离
从一个代码段到另一个的通信可间接通过将通信打断成多个离散通信来完成。这示意性地示于图1J和1K。如图1J所示,提供了一或多个中间件(分离接口,因为它们从原始接口分离功能和/或接口函数)来转换第一接口Interface1上的通信来使它们相配于不同接口,这种情况下与Interface2A、Interface2B和Interface2C接口。这可在例如存在设计用来与符合Interface1协议的操作系统通信的应用程序安装基准但随后该操作系统变为使用不同的接口的情况下完成,这种情况下与Interface2A、Interface2B和Interface2C接口。要点是由第二代码段使用的原接口改变了,从而它不再与第一代码段使用的接口兼容,而且因此要使用中间物使老的和新的接口兼容。同样地,如图1K所示,第三代码段可与分离接口DI2一起引入,接收来自接口I1的通信,并与分离接口DI2一起引入,发送接口功能到,例如接口I2a和I2b,重设计来与DI2合作,但提供相同的功能结果。同样地,DI1和DI2可一起合作来将图1C的接口I1和I2的功能转换到新操作系统,同时提供相同或相似的功能结果。
E.重写
还有另一个可能的变化是动态重写代码以用别的达到相同全部结果的东西取代接口功能。例如,可能有一系统,其中提供呈现于中间语言(例如Microsoft IL、Java ByteCode等)的代码段给执行环境(诸如由.Net框架、Java运行时间环境或其它类似的运行时间类型环境所提供的)中的运行时编译执行(JIT)编译器或解释器。可编写JIT编译器,以便动态转换来自第一代码段的通信到第二代码段,使它们符合可由第二代码段(或者是原来的或者是不同的第二代码段)所要求的不同的接口。这示于图1L和1M。如图1L中所看到的,这种方法类似于上述的分离情况。它可在例如设计应用程序安装基准来与符合Interface1协议的操作系统通信但随后该操作系统变为使用不同接口的情况下完成。JIT编译器可用来使从安装基准应用程序到操作系统的新接口的在空中通信。如图1M所示,动态重写接口的这种方法可应用于动态因素,或者也可应用于选择接口。
还要注意上述通过可供选择的实施例达到相同或相似的作为接口的结果的情况也可以不同方法结合,串行和/或并行,或者其它插入代码。因而,以上呈现的可供选择的实施例不相互独占而是可混合、匹配和结合起来产生与图1B和1C中呈现的通用情况相同或等价的情况。还要注意,由于具有大多数编程结构,存在其它类似的方法达到未在这里描述的接口的相同或类似功能,但虽然如此,仍由本发明的精神和范围所表达,即要注意是由成为接口值基础的接口表示的至少部分的功能及带来的优势结果。
图2示出可依照本发明各方面使用的示例写字板PC201。图1系统中的任意或所有部件、子系统和功能都可包括在图2的计算机中。写字板PC201包括大显示器表面202,例如数字化平板显示器、较佳地,液晶显示器(LCD)屏幕,其上显示多个窗口203。使用铁笔204,用户可在数字化显示器表面202上选择、高亮和/或书写。合适的数字化显示器表面202的示例包括电磁笔数字转换器,诸如Mutoh或Wacom笔数字转换器。也可使用其它类型的笔数字转换器,例如光数字转换器。写字板PC201解释使用铁笔204形成的手势,以便操纵数据、输入文本、创建图画和/或执行常规计算机应用程序任务,诸如电子制表软件、字处理程序等等。
铁笔204可配备一或多个按钮或其它加强其选择能力的部件。在一个实施例中,铁笔204可实现为“铅笔”或“钢笔”,其中一端构成书写部分,另一端构成“橡皮擦”端,并且当跨显示器移动时,它指示要擦除的显示器部分。其它类型的输入设备,诸如鼠标、轨迹球等都可使用。此外,用户自己的手指可以是铁笔204并用来在触控或接近敏感显示器上选择或指示所显示图像部分。因此,术语“用户输入设备”,如这里所使用的,旨在具有宽泛的定义并能包括在诸如铁笔204的众所周知的输入设备上的许多变体。区205示出允许用户确定铁笔204在哪里接触显示表面202的反馈区或接触区。
在各种实施例中,系统提供了墨迹平台为一组COM(组件对象模型)服务,应用程序可用来捕捉、操纵和存储墨迹。一种服务使应用程序能够使用所揭示的墨迹表示来读取和书写墨迹。墨迹平台还可包括标记语言,包括一种类似于扩展标记语言(XML)的语言。而且,系统可使用DCOM作为另一种实现。还可使用其它实现,包括来自微软公司的Win32编程模型和.Net编程模型。
笔尖关联
图3示出电子笔300为各种输入设备之一。如图3所示的笔具有两个笔尖:主笔尖302和次笔尖304。笔300还有按钮306。如图3所示的笔可使用来自华盛顿Vancouver的Wacom技术公司的产品。
在笔300的其它示例中,可只有一个笔尖302和按钮306。还有其它示例中,笔300可具有两或多个笔尖和按钮。附加的笔尖可包括笔帽端和其它可移动部分。要理解主、次和对于一个笔尖取代另一个的其它设计纯粹为说明而做。所有笔尖可看作是等价的或者是有层次结构的。
在具有多笔尖的笔的第一示例中,每个笔尖可具有其自己的笔尖标识。这个标识能以各种方法变为对计算机系统已知。例如,数字转换器能够确定笔尖ID。而且,由笔尖生成的轨迹形状可帮助识别笔尖。也可使用其它识别笔尖的技术。
在数字转换器确定笔尖ID的示例中,笔尖ID可当笔尖靠近屏幕或者当它触到屏幕时确定。在使用不同笔尖ID的地方,笔尖ID可映射到一种语言。
例如,用户可以英语和法语书写。用户正使用的笔可具有两个笔尖,每个具有它自己的笔尖ID。主尖可映射到英语而次尖可映射到法语上。使用这种排列,用户当她要用法语书写时可翻转笔而当她要用英语书写时再次翻转笔。
映射可包括多于一个的关联。例如,映射可将第一手写识别器与由第一笔尖302生成的墨迹关联而将第二手写识别器与由第二笔尖304生成的墨迹关联。识别器可以基于单词或基于字符。基于字符的识别器提供易于实现和需要较小的存储器和处理器的好处。基于单词的识别器提供具有较高识别率并可允许将自然语言模型应用于所识别的墨迹来建议正确性等的好处。
在一些情况下,给出哪种语言(及关联的识别器)当前正在关联于所生成墨迹是有好处的。在这种情况下,当前语言(或识别器)的提示可用各种有帮助的方法显示。首先,可显示关联于识别器的语言。可供选择地,每种语言(识别器)可关联于颜色或一组颜色。切换笔尖将切换到关联于该语言或识别器的颜色。而且,墨迹的颜色可修改为反映关联于它的语言或识别器。这种方法,用户可观察墨迹的段落并看出什么单词、字符、符号、图画等关联于哪个识别器。此外,代替颜色,声音可用于提示用户一种语言或识别器而不是另一种的使用。
手写识别器能力可用于识别手写墨迹。来自识别处理的结果可对用户隐藏,取代显示器上的手写墨迹,或者可与手写墨迹联合显示。在一些情况下,识别引擎的结果可存储在墨迹对象中。在其它情况下,结果可独立于墨迹存储在例如数据库或表中,并对手写墨迹建立索引。识别引擎可在手写墨迹沉淀的同时、当完成手写或两者的某些结合时(例如,如果有2或多秒的暂停)运行。
图4A和4B示出将笔尖关联于语言的用户界面和各种笔。为了这里的用途,用户界面和其下的机制称为“语言选项板”。语言选项板提供用户将笔尖ID(图4A)或笔的状态(图5A)关联于语言或手写识别器。
参考图4A,用户可为每个笔尖ID配置不同的语言,这样当感知到关联于各个笔尖的笔尖ID时,当前输入语言相应变化。使用如图4A所示的语言选择选项板,用户可选择笔尖ID402、笔尖ID404或笔尖ID406(例如由标签表示的)并可将不同的语言(或相同的语言)与各笔尖ID的每一个关联。图4A示出将所选笔尖ID标签(这里,406)与语言选择菜单(例如,下拉菜单408)的一种语言相关联的一种选择机制(这里,下拉菜单408)。要理解如元素408所示的下拉菜单只是为了示例的目的。可供选择地,人们可以使用单选按钮、鼠标或覆盖菜单、对话框、目录导航窗口和其它将笔尖406关联于语言的选择技术。
而且,人们可具有如标签一样的预定义语言(表示存储在系统中或由系统可访问(例如通过网络远程远程存储)的识别器)并具有选择系统408中的笔尖ID。
图4B示出具有笔尖(410-414)的各种笔。用户可使与笔尖(410-414)关联的笔尖ID的一些或所有映射到一或多种语言。因此,人们可有英语-西班牙语笔、英语-法语笔和英语-数学笔。也可使用数学(或公式)笔。例如,如果人们正在使用数学识别器,“∑”可识别为累加符号并不是大写“E”且“a”可识别为“α”。
此外,一些笔尖ID可不与语言或识别器关联。这可以是缺省设置或非识别设置。因此,例如,如果人们试图画一幅图,系统就不尝试将墨迹(图画的墨迹对象或笔画)与识别器关联起来(这可能最终试图识别墨迹,产生错误结果)。
将笔尖ID与非传统语言属性(数学、图形形状等)关联的以上能力可用各种方法实现。首先,例如,可分配单非语言笔尖ID,并把笔尖ID的解释留给软件环境(诸如Excel的货币字段或某些种类的乐谱创作辅助软件的乐谱纸,例如)。笔尖的解释可依赖于上下文环境。例如,如果笔尖ID关联于一种语言,墨迹识别为文本,否则,墨迹可关联于可供选择的特性(例如,乐谱创作辅助软件中的乐谱记号或图形或绘画软件中的地理图形等)。
第二,一种可供选择的方法是枚举所有非语言属性(诸如图形形状、货币数、乐谱记号)且随后将它们视同于语言属性。
此外,在一些实施例中,识别器可识别形状并根据关联于输入设备,诸如当前使用的笔尖的当前语言映射形状。例如,画的长方形形状当输入设备的语言设置为美国英语可导致显示“星条”旗,而同一个所画长方形当输入设备的语言设置为英国英语时可导致显示英国国旗。
在其它实施例中,要使用的特定识别器是根据输入设备的语言设置及输入的软件环境选择的。例如,当一个数写在电子制表软件的货币字段中而输入设备的语言设置为美国英语时,识别器不仅识别出墨迹为一个数,而且输入合适的货币符,诸如$、千位分隔符和小数点。使用另一个示例,输入设备或笔尖当用于另一软件环境时可没有关联于它的语言,例如用于乐谱创作辅助软件或图形软件。这样的输入可分别识别为乐谱记号或图形元素;然而,如果语言关联于输入设备,在这种情况下,输入可识别为文本。
在一些实施例中,输入设备的语言设置可影响已经显示的各项。例如,当软件键盘显示且诸如具有笔尖的笔的带有指示法语的ID的输入设备在显示器的预定距离内,则检测到笔的笔尖ID并可显示法语软件键盘。当笔,在以后的时间内,是在显示器的预定距离内,且检测到笔的笔尖ID映射到美国英语,则所显示的软件键盘可改变至美国英语软件键盘。在这个示例中,输入设备的语言设置不关联于墨迹。相反,它关联于改变关联于另一信息路径的语言。
本发明各方面可应用于基于笔或基于非笔的计算机系统。例如,本发明诸方面涉及将语言或识别器关联于按钮点击。如图3和5B所示,一些笔可有一或多个按钮(306、516和517)。鼠标和轨迹球也有按钮。本发明诸方面允许人们将按钮点击映射到语言或识别器。如果人们正用笔书写并需要改变语言,他可点击笔上的动作按钮并具有关联于下一识别器的笔尖ID。这还可应用于鼠标和轨迹球,其中当人们将鼠标作为手写输入装置使用,点击鼠标按钮可提供相同的语言或识别器循环。
一些输入设备,诸如,例如,计算机鼠标、铁笔或只具有一个笔尖的电子笔也可用于本发明实施例。语言的预定义列表可用诸如图5A中所示的语言选项板500的语言选项板来配置。在这个实施例中,为了配置输入语言的列表,用户可选择标签502、504或506之一并从菜单508选择一输入语言。当进行电子墨迹输入时,用户可通过各种方法指示输入语言的改变。例如,如果用计算机鼠标,按压按钮可用来导致要选择下一语言。例如,将发生从第一语言到第二语言的切换。如果用铁笔,可使用铁笔上的按钮。此外,如果铁笔或笔上没有按钮,人们可轻点提示当前或下一语言选择的用户界面上的显示按钮。
示例性语言选项板500示出可配置三个点击;然而,其中配置了或少或多的点击的其它实施例也是可能的。在一相关实施例中,对于使用有一个不变的笔尖ID的单尖笔或对于使用包括,例如,没有电子ID的铁笔或定点设备的输入设备,用户可通过使用类似图4A那种的语言选项板来改变输入语言,但只允许配置一种语言。因而,标签504和506将不显示。在这个实施例中,用户可通过弹出菜单的方式选择语言选项板并选择另一所需语言来改变输入语言。具有对用户方便可用的语言选项板的这种方法提供了简单的用户界面来导航的好处,相对于向下定位多层菜单选项来改变相关于输入设备的语言而言。
相应地,使用图5B的笔,用户可有许多种关联于笔的语言。例如,用户可具有专门设置到带有其关联笔尖ID的第一笔尖512的第一语言和专门设置到带有其关联笔尖ID的第二笔尖514。如果只使用一个按钮516,按钮的点击可循环于为该笔尖ID设置的语言。如果使用两或多个按钮(按钮516和517,例如),不同按钮的点击可在不同组语言或识别器间循环。此外,可同时操作两个按钮以在多种语言或识别器间循环,或者可用来复位所有点击状态到缺省或初始点击状态。
图5C示出列出一或多个带有关联于笔尖ID的语言的按钮点击的表。该表包括点击518和笔尖ID520、521和522。如果使用带有其第一笔尖ID的第一笔尖,点击可在第一组语言中循环(例如,英语、法语和德语)。如果使用带有第二笔尖ID的第二笔尖,点击可在带有相同或偏离起始语言的同一组语言间循环。可供选择地,不同语言组可关联于第二笔尖ID。例如,点击同时使用第二笔尖可在日语、英语和意大利语间循环。
可使用其它技术来代替按钮的点击,如上所述,改变关联于输入设备的语言。例如,临时语言关联改变可当用电子笔做手势时进行,诸如用笔悬在显示器上做个圆周运动或者将笔从竖直位置斜成超过预定度数的角度。当然,许多其它技术可使用,且本发明不仅限于以上所列的那些技术。
语言辅助
在一些情况下,让用户记住什么语言分配给笔尖或者笔(或鼠标或轨迹球)的当前点击状态是困难的。作为选项,系统可提供用户当前语言或语言改变的可视或可听的提示。例如,图6示出修改用户界面以反映关联于所接收墨迹的语言或识别器的过程。在步骤600,系统检查看看笔尖是否至少靠近显示屏(靠近或接触)。如果有笔尖靠近或接触显示屏,则系统步进到步骤601。否则,系统稍后检查,或者一直等待到接收到提示笔尖靠近或接触显示屏的事件。接着,在步骤601,系统确定语言标识符(语言ID)是否关联于笔尖。笔尖可包括笔尖ID或不包括。如果是,则用户界面可在步骤602修改以适应从步骤601关联于笔尖的语言。此步骤602反映给用户被捕捉的墨迹将关联于一种语言或识别器。否则,在步骤603,将显示给用户缺省界面,且墨迹将关联于缺省语言。步骤600的检查可以是事件驱动的。即事件可在每次笔尖靠近或接触显示屏时生成。可供选择地,步骤600的检查可在每个预定时间段上进行,即轮询方式。
示例性过程
图7示出将所接收墨迹关联于语言的更详细的过程。在步骤701,墨迹随着笔尖ID而接收。在步骤702,系统确定关联于笔尖ID的语言ID。在步骤703,所接收墨迹关联于来自步骤702的语言ID。这可以是图7的相关过程的结束。可供选择地,如虚线所示,关联于语言ID的识别器可如步骤704所示处理所接收墨迹。
图8示出,以方框图形式,用于实现本发明诸方面的示例性装置。801的输入接收器可以是,例如,数字转换器,诸如用于接收电子墨迹笔画的数字转换器165。关于这份说明书,语言不仅指书写语言,包括但不限于,例如,英语和日语,但也可指特殊符号,诸如用于表示数学公式的数学符号。
语言选项板804将输入笔画映射到特定语言(语言ID)或识别器。即,映射到特定语言ID的来自具有笔尖ID的笔的笔画输入是通过语言选项板804映射到语言ID。输入笔画和语言提示(或识别器标识符)可存储在存储设备802中,可包括但不限于计算机存储器,诸如随机访问存储器(RAM)、光盘、软盘和硬盘。
语言选项板804将提示提供给辅助框508,以通知辅助框508当前输入语言。辅助框508(如虚线中所示的可选部分)可使得可视提示出现在显示器805上,以便提供当前输入语言的提示。此外,辅助框803可供选择地(或附加地)使得可听到声音提示,这提供了当前输入语言的提示。
语言选项板804、识别器806和807及可选辅助框803可实现为驻留在RAM150上的程序模块并由处理单元110执行。此外,存储设备802可包括,但不限于,RAM150、硬盘170或磁盘190。
可视提示,它可由辅助框803提供,可以许多方法呈现,但不限于显示文本消息,诸如当前输入语言的名字、以特定颜色显示电子墨迹(用颜色提供当前输入语言的提示-例如,红色表示英语而蓝色表示日语)、通过背景颜色提示当前输入语言以及通过电子墨迹输入笔画的浓度提示当前输入语言(例如,粗笔画提示英语而细笔画提示日语)。图10A、10B和10C提供了语言的可视提示关联于所接收墨迹的其它示例。例如,直水平线可提示关联于所接收墨迹的语言是基于字符的语言(例如,英语),而图10B的四分之三框或图10C的框式输入区可提示关联于墨迹的语言是符号语言(例如,日语)。显示器805可用于显示可视提示并可用于在输入时显示笔画电子墨迹。
声音提示,可由辅助框803提供,可呈现为,例如,特定音调,诸如高音为英语而低音为日语。此外,可播放乐曲作为提示。例如,可播放特定国家的国歌,诸如美国的国歌来提示英语而日本的国歌提示日语。声音提示可通过扬声器播放,如本领域众所周知的。
存储设备802连同语言或识别器标识符一起存储电子墨迹的输入笔画。
系统可有多个手写识别器,例如,每种语言一个。在图8所示系统中,示出了第一识别器806和第二识别器807,尽管系统可以有多于两个的识别器。
图9示出可在修改关联于笔(有或没有笔尖ID)或其它输入设备的语言或识别器时使用的可选过程。在901,进行检查以判定是否选择了新语言。如前面所指出的,如果输入设备是一铁笔,用户可移动带有笔尖标识符的笔,或者可供选择地,可按压或选择下一语言框来从语言的预定义列表中选择下一语言。此外,用户可通过使用关于图4A和5A描述的语言选项板来配置另一语言的输入。例如,如果输入设备是计算机鼠标,鼠标的一个按钮可压下以使得从语言的预定义列表选中下一语言。如果选择了新语言,电子墨迹的笔画可在步骤902用新界面捕捉来适合新语言或识别器。否则,在步骤903,电子墨迹的笔画可用当前界面捕捉。
用户界面
图11示出依照本发明诸方面的用户界面1101。区1101可称为框式或分割式输入区。可视线1102、1103等可提供给用户,以示出框或界面分割在哪里分割。这些框边或分割点定义区1104、1105、1106和1107等,其中书写墨迹。
使用框式输入的好处之一是识别在用户开始在另一分割或框式区中输入信息稍后(或即刻之后)就发生了。对于符号语言(例如,中文),用户一开始在另一框或输入区内输入另一个字或符号识别就开始了。
参考图11,符号字符可在区1101中书写。用户现在在区1105中书写字符1109。用户前面在区1104中书写字符1108。字符1108的识别可根据一或多个包括在另一区内书写、从表面移动笔尖、在输入字符1108的最后墨迹笔画之后等待了预定义时间等因素而发生。
图12给出具有如图11所示的框式或分割式区的输入区1201,并包括区1202、1203和1204。在每个这些区中,用户已分别写了字符1205、1206和1207。字符1205-1207分别是字母U、S和A。如图1201所示单独打印每个字符提供了良好的识别结果。但是,在其自己区1201-1204内打印每个字符对于非符号语言而言是困难而缓慢的,因为它通常由多个字母定义一个单词或一个概念。
图13示出框式或分割式输入及非分割式或非框式输入区的组合。分割式或框式区由分割线1302和1303示出。这里,用户可书写中文字符1304和1305,然后切换用户界面以在区1306中接受一串字符。
图14示出已在区1401中输入的手写笔迹。这里,笔迹是“United”1402、“States”1403、“of”1404和“America”1405。它们被输入的地方是区1406。区1406中笔迹的识别可延迟到所有单词完成的预定时间后、直到至少一个单词完成、它们的一些组合,或在别处书写。什么时候开始识别的其它判定因素也是可能的。
图15给出带有已识别手写笔迹的区1501。笔迹现在已转换成文本1502-1505。文本可取代笔迹或与之并列显示。在图15中,笔迹已被文本取代。紧挨着每个所识别单词的是由分割符1510-1512划分的区1506-1509。区1506-1509可或不可用于帮助向用户示出文本已识别。可供选择地,区1506-1509可用于提供给用户一条水平线以帮助指导笔迹1402-1405的书写。
图16-18示出可选的修正机制,可用于修正所识别信息。参考图16,对于其中有带有单词1603的区1602的区1601,人们可在现有单词上以更好的书法简单地重写单词,以试图改善处理器的识别结果。可供选择地,人们可以擦掉单词然后再重写单词1603。此外,人们可完全写在原始笔迹之上(这可重影示出),来提供用户前面单词看上去像什么的提示。
图17包括区1701。这里,用户正试图修正文本1702。在轻点文本1702或者选择它(通过轻点它周围或轻点另一按钮)后,识别选择列表可在区1703显示。区1704还可提供来允许切换到图16的重写模式“重写”,并可提供有限识别结果选项。
图18示出以框式输入格式输入的字符的修正。区1801包括附加区。通过轻点中文字符之一,可提供人们可供选择文本列表1802和选项窗口1803。
图19示出包括符号字符和非符号字符两种的区1901。符号字符1902-1904和1907-1909由英文文本1905分开。这提供了允许用户切换识别模式来将识别器与后面的笔迹或字符关联的好处。
图20示出可供选择的输入信息方法。这里,用户在图2001的独立区中放置了“United States...”的每个字母。
图21示出还有另一种方法,其中用户输入完整行笔迹。
图22示出还有另一种方法,其中符号和非符号字符都可以在同一行上书写。
用户界面选择过程
图23-25示出示例性过程,用于判定哪个用户界面向用户示出,因而用户可准确选择哪个用户界面用于要书写的墨迹。在步骤2301,过程开始。在步骤2302,系统判定是否用户做了使用哪个用户界面的选择。如果用户选择了框式输入,那么示出框式输入,且步骤2302用户在框式输入用户界面中书写。系统停留在这个模式,直到用户在步骤2304完成书写,在这点上,书写系统在步骤2305结束。如果在步骤2302选择了行式输入,则系统为用户提供行式输入,且步骤2306在行式用户界面中从用户接收输入。在步骤2304中书写结束时,系统停止查找用户墨迹并在步骤2305终止。
图24示出步骤2303的过程。在步骤2401,显示给用户框式用户界面。在步骤2402,用户可在框式区中书写墨迹。在步骤2403,系统试图识别手写墨迹。系统可或不可以所识别文本取代墨迹。然后系统结束于步骤2404。
在一个可供选择的方面,系统可继续修正步骤2405。这里,提供给用户修正在步骤2402书写的墨迹的机会。如果在步骤2406用户想要修正墨迹,则允许用户重写墨迹或在步骤2407从可供选择的列表中选择。最后,系统在步骤2404结束。如果步骤2406为否,系统可在步骤2404返回。
图25示出在步骤2306中用户选择行式用户界面时的过程。在步骤2501,显示给用户行式用户界面用于接收墨迹。行式用户界面可包括一或多个向导行用于接收墨迹。可供选择地,行式输入可没有任何行。接下来,在步骤2502,用户可在带有行式输入的显示区中书写墨迹。在步骤2503,系统试图识别手写墨迹。系统可或不可用所识别文本取代墨迹。然后系统在步骤2504结束。
在另一可供选择的方面,系统可继续以修正步骤2505。这里,提供给用户修正在步骤2502中书写的墨迹的机会。如果在步骤2506用户想要修正墨迹,则允许用户重写墨迹或在步骤2507从选择列表中选择。最后,系统在步骤2504结束。如果步骤2506为否,则系统可在步骤2504返回。
图11-22所示的用户界面涉及简单用户界面区别。如前所述,指定的识别器可关联于手写墨迹。除了行式或框式输入模式外还可提供给用户当前选择的识别器。
所选识别器的实际显示还可由哪些识别器安装或可用来进一步修正。例如,如果系统里只安装了日语识别器用于符号输入以及安装了法语和德语识别器用于行式输入,那么,当在符号用户界面模式时,不提供日语识别器的提示,因为只有涉及符号语言的一个可用识别器。
框式输入模式可关联于一或多种类型的识别器,且每个识别器可支持框式输入和/或行式输入。例如,框式输入模式可关联于符号(或有时称为东亚)语言。而且,框式输入模式也可关联于字母输入(以识别打印字母)。此外,框式输入可关联于数学或数字类型的识别器。行式输入模式可关联于书写单词(或查找书写单词的识别器)。可供选择地,行式输入模式可以是通用输入模式,且等待要关联于它的识别器的定制选择(或之前的选择)。
此外,框式输入模式和/或行式输入模式可关联于零识别器。例如,用户可进行语言与识别器的非明显关联。但是,系统能够确定识别器(从查阅已安装识别器)或作为缺省使用关联于语言的识别器。
许多可关联于语言的识别器各不相同。一般而言,在语言和识别器间可以有一对一的特性。可供选择地,用户可从各种识别器中选择以关联于语言。例如,图26示出一用户界面,用于选择活动语言。这里,例如,人们可选择按钮1601,并示出各种不同的语言。不同语言包括中文-台湾2602、韩语2603、日语2604、中文-中国2605和英语-US2606。这些可用语言可涉及驻在系统中的不同显示语言。这些显示语言的一些可或不可具有该特定语言的实际识别器。例如,可以没有繁体中文识别器可用,但只有简体中文识别器可用。这样,在中文-台湾2602和中文2606的选择基础上,可关联的实际识别器是简体中文识别器。图26仅为示例性目的而提供。要理解语言切换界面的其它体现也是可能的。而且,用户可为语言的每种输入模式选择识别器。因此,人们可为框式输入模式选择简体中文而为行式输入模式选择英语(或简体-中文或如用户所愿的任意其它单个识别器或其组合)。
呈现了判定表用于确定哪个识别器可关联于语言选择及支持什么类型的输入模式。
法语 |
公司A |
否 |
是 |
简体中文 |
公司A |
是 |
是 |
日语 |
公司A |
是 |
是 |
日语 |
公司B |
是 |
否 |
从上表中可看出,一些语言没有关联于它们的识别器。一些语言只有一个关联于它们的识别器。一些语言具有多于一个的识别器关联于它们。一些识别器支持框式和行式输入模式,一些支持一种输入模式。
还要认识到,用户可指定一种当前没有在本地机上安装针对它的识别器的语言。在这种情况下,识别可当识别器对输入信息变为可用时再进行。例如,识别器可存储在远程位置并可通过网络访问(例如,内联网和外联网或因特网)。
人们可通过相关于图3-9描述的过程在各种模式间切换。例如,人们可在各种映射标识符间循环来修改哪个识别器或哪个用户界面要用。图27示出输入模式切换用户界面2701的说明性示例。在这个示例中,用户界面可采用菜单条2702的形式。语言、识别器和框式/行式输入模式间的各种映射可存在于菜单条2701。这里,菜单条2701示出当前模式为框式输入(已选择了选项2705)。第一选项2702可提供用户,使能够切换至行式输入模式。行式输入模式可关联于当前或另一识别器。在这个示例中,英语识别器关联于行式输入模式且用户界面提供识别器身份的提示。在一可供选择的方法中,选项2702可只标有“单词”,因此提示接受书写单词的行式输入模式。数字2703和字母数字/数字2704选项可涉及东亚识别器或英语识别器,因为两者都支持这些类型的输入。关联于“单词”2702、“数字”2703、“字母数字”2703和“所有”2704的指定识别器可或不可由用户配置。
此外,可存在各种映射,用于各种笔或可选择按钮(硬件、软件等),允许用户改变他所要用的输入模式。
本发明诸方面已利用各种示例性实施例描述。大量落在所附权利要求书的范围和精神中的其它实施例、修改体和变体,本领域普通技术人员都将从本说明书的浏览中想到。