首页> 中国专利> 获取和组织笔感知计算机系统中的墨水信息的方法和装置

获取和组织笔感知计算机系统中的墨水信息的方法和装置

摘要

一个墨水管理器运行在计算机系统上,它接收在一个基于笔的输入/显示设备上输入的墨水信息和积累这些墨水信息为墨水笔画。墨水管理器与书写识别引擎通信,和包括一个墨水短语结束引擎,后者配置为通过检查墨水信息检测一个或者多个墨水短语结束事件的发生。在墨水短语结束事件发生时,墨水管理器通知书写识别引擎和组织前面的墨水笔画到墨水短语数据结构中。墨水管理器还可以把该墨水短语传送给在计算机系统上运行的一个应用程序,该应用程序与所述墨水信息关联,作为响应,它可以给墨水管理器返回一个参考指针和一个识别环境。然后把该参考指针和识别环境附加到墨水短语数据结构上。使用由应用程序标识的识别环境,书写识别引擎产生为墨水短语的一个或者多个假设。墨水管理器把这些假设连同参考指针传送给应用程序,还可以把它们附加到墨水短语数据结构上。

著录项

  • 公开/公告号CN1460223A

    专利类型发明专利

  • 公开/公告日2003-12-03

    原文格式PDF

  • 申请/专利权人 苹果电脑公司;

    申请/专利号CN00819297.9

  • 申请日2000-12-18

  • 分类号G06K9/22;

  • 代理机构72001 中国专利代理(香港)有限公司;

  • 代理人吴立明;张志醒

  • 地址 美国加利福尼亚州

  • 入库时间 2023-12-17 15:01:15

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2019-12-06

    未缴年费专利权终止 IPC(主分类):G06K9/22 授权公告日:20070530 终止日期:20181218 申请日:20001218

    专利权的终止

  • 2008-10-08

    专利权人的姓名或者名称、地址的变更 变更前: 变更后: 申请日:20001218

    专利权人的姓名或者名称、地址的变更

  • 2007-05-30

    授权

    授权

  • 2004-02-11

    实质审查的生效

    实质审查的生效

  • 2003-12-03

    公开

    公开

说明书

技术领域

本发明一般涉及计算机领域,具体说,涉及一个墨水管理器,用于获取和组织基于笔的墨水信息,为笔感知(pen-aware)和其它应用使用。

背景技术

像个人计算机这样的计算机常常包括一个或者多个输入设备,诸如键盘和鼠标,它们允许用户控制计算机。更复杂的输入设备包括话音识别输入系统和基于“笔”或铁笔的输入系统。对于基于笔的输入系统,用户依赖他或她自己的书法或者画法来控制或操作计算机。这些输入系统通常包括称为“书板”的硬件设备,其连接到计算机的串行端口。书板可以包括一个集成的显示屏幕,以便该书板可以用作输入和输出设备两者。当作为输入设备操作时,书板感知笔尖在书板表面上运动的位置,并把这一信息提供给计算机的中央处理单元。为给用户提供笔运动时的视觉反馈,计算机通常显示“墨水”(亦即跟踪笔的运动的象素的路径),模拟由实际笔滴的墨水。如果书板具有集成的显示屏幕,这一电子墨水通常直接画在运动的笔尖下。对于一个暗的、只输入的书板来说,墨水通常画在书板对其“映射”的正常的计算机屏幕上。不管是否与书板集成,屏幕通常显示标准的计算机产生的信息,诸如文字、图标等等。

除书板之外,基于笔的计算机还具有软件笔驱动程序,它与书板接口并周期采样笔的位置,例如,每秒100次。笔驱动程序把这一墨水数据传送给墨水管理器,后者组织该信息并协调识别过程。具体说,墨水管理器组织墨水数据为墨水笔画,后者由收集笔从书板提起前的墨水数据定义。墨水管理器把墨水笔画传送给识别器,后者使用各种工具,诸如神经网络、词汇表、语法等,把墨水笔画转换成字母数字字符、符号或形状。识别器可以产生几种墨水笔画可能是什么的假设,每一假设可以具有一个相应的概率。然后把这些假设提供给应用程序,应用程序把这些识别的墨水作为一个输入事件对待。

对于微软公司用于Windows 95的Pen Services(笔服务),墨水笔画组织为笔输入会话。见为微软Windows 95(1995微软出版社)的Pen Services的程序员指南。一次笔输入会话在用户一把笔接触书板时就开始,和在用户把笔点在书写区域之外(例如点OK按钮)、或过去一个不活动的短暂时期时结束。当用户恢复书写时开始一次新的会话。相应于一次给定的笔输入会话的所有墨水笔画累积为单一笔数据对象。与笔输入会话关联的应用程序可以基本选择两种操作方式中的一种。首先,应用程序可以选择只接收识别结果,从而允许系统根据它的缺省设定处理和组织墨水数据和与缺省识别器接口。另外可选,应用程序可以请求“未处理的”墨水数据,以一些方式处理它。例如,它可以缓冲存储这一数据推迟识别,或它可以抛弃这一数据。墨水数据在一笔画一笔画的基础上提供给应用程序。如果应用程序希望有识别后的数据,则它把未处理的墨水数据传送给识别器自身。任何特别的识别需求,诸如字段特定的识别环境(例如名字,社会保险号,或其它类型的输入字段),和在墨水输入会话之间的任何唯一的相关和特定的输入字段也必须在一笔画一笔画的基础上决定,通常根据它接收的第一笔画。

基于这种一笔画一笔画收集和组织墨水数据到笔输入会话具有几个缺点。已经注意到,为把墨水数据与特别的数据输入字段关联,系统通常唯一依赖由用户输入的第一墨水笔画的位置。如果说明了一个笔输入区域,随后笔画超出该区域,则系统不把这些笔画与数据输入字段关联,即使用户可能打算这些后继笔画是数据输入字段的一部分。另外,如果第一笔画仅稍微放错一点(例如如果首先写大写字符“T”的横杠,并写的太高),则整个后继的会话将相关于错误的输入字段。把墨水与错误的字段关联可能产生沿错误位置的识别结果,而且如果为每一输入字段使用一个特殊的识别环境(例如对名字,对地址,对社会保险号字段等),则可能在识别期间应用错误的环境。

即使试图通过使用每一笔画来决定新的输入字段来改善这一情形的系统,诸如加利福尼亚的Cupertino市的苹果计算机公司的AppleNewton,也可能遭受失败的方式,它使得这种情形对最终用户和应用程序开发者都十分困难。例如,一个词偶尔跨到两个输入字段,即使很小的量(例如由于偏离的上画,下画,横杠,点),也可能分成多个会话,引起错误识别和无效数据输入,必须用手工改正。

因此,存在需要改善组织墨水数据的方式,以便便利识别处理和也能改善把墨水数据与特定数据输入字段的关联。

                        发明内容

本发明大部分涉及对下面的观察,即在基于笔的计算机系统中的客户应用程序和书写识别软件可以根据整个墨水短语进行相当准确的关于墨水的决定,而不是根据单个的墨水笔画。因此,本发明指向一个墨水管理器,其设计为组织墨水笔画为墨水短语(ink phrase)和提供这些墨水短语给客户应用程序。在图示实施例中,墨水管理器在基于笔的输入设备、一个或多个应用程序(笔感知或不感知)和一个或多个在该计算机系统上执行的书写识别引擎之间提供接口。墨水管理器获取由基于笔的输入设备输入的墨水信息,诸如墨水笔画,和组织这种信息为墨水短语。墨水管理器包括一个墨水短语结束引擎(其可以在笔驱动程序组件中部分执行),其配置为对墨水信息应用一个或者多个墨水短语结束测试。如果结束引擎检测到出现一个墨水短语结束事件,则墨水管理器顺序执行下述步骤:1)完成把笔画组织到一个墨水短语数据结构中,2)可选地通过将墨水短语提供给当前客户应用程序,通知它该结束事件,从而允许应用程序决定在墨水短语和一个特定输入字段之间的相关关系,指定一个参考环境(例如一个指针)和请求一个特别的识别环境,如果希望的话,3)通知适当的书写识别引擎,以便允许它完成它的工作和提供相应于当前墨水短语的识别结果,和4)发送现在标记的(例如识别的)墨水短语给应用程序,连同由应用程序在先前识别的(在步骤2)任何参考环境。在应用程序返回一个参考环境和/或一个识别环境时,它们可以附加在墨水短语数据结构上。

有意义的是,通过在短语结束后立即传送现在还未识别的墨水短语给应用程序(上面的步骤2),墨水管理器允许应用程序做出关于比先前的系统更合适的数据单元的特定输入字段和环境的决定-短语,而非笔画。随着,系统可以把用户的墨水数据与由用户打算的输入字段更一致地关联,即使一个或者多个墨水笔画(包括第一墨水笔画)全部或部分在输入字段外面。系统还由于使用最合适的识别环境能更准确地识别墨水数据,再一次由应用程序基于墨水短语决定。

在优选的实施例中,墨水短语结束引擎对在基于笔的设备上产生的墨水信息应用3个墨水短语结束测试,还允许识别引擎施加它自己的短语结束测试。首先,墨水短语结束引擎在接收到每一墨水样本时启动一个超时机构。如果在接收到下一墨水样本之前超时到期,则发生一次墨水短语结束事件。这一超时值优选地由最终用户可调节。第二,墨水短语结束引擎监视由基于笔的输入设备得到的接近信息,并当笔从输入设备的表面抬起离开接近度时发布一个墨水短语结束事件。也就是说,输入设备包括传感器,它检测笔是否,即使尚未接触到设备的表面,接近该表面(亦即在或不在接近值内)。可选,与当前笔会话关联的应用程序可以给墨水管理器提供笔输入区域的坐标和请求墨水短语结束引擎在墨水样本运动到这一区域外时发布墨水短语结束事件。最后,可以用书写识别引擎触发墨水短语结束事件。特别是,识别引擎优选应用一个词分段模型给动态接受的墨水信息。如果该引擎判定,一个新的墨水样本提出一个新词的开始(例如,新的墨水样本在一个新行或者水平距前一墨水样本相当大的距离分开),则识别引擎可以发布一个墨水短语结束事件。

虽然墨水管理器可以允许另外的数据处理方法,包括基于笔画的和甚至由客户应用程序执行的基于点的墨水积累以及基于输入区域的短语结束,但是组织墨水信息为墨水短语把笔感知应用程序从低级的墨水收集和处理过程中解放出来,改进墨水信息的相关到基于笔的输入设备上的特定区域,并改进识别过程。

附图说明

下面参考附图说明本发明,附图中:

图1是根据本发明的一个计算机系统的高度缩略的方框图;

图2是图1的书板的顶平面视图;

图3是图1的计算机系统的软件部分的高度缩略的功能方框图;

图4A-B是本发明的方法的流程图;

图5是一个墨水短语数据结构的高度缩略的方框图。

具体实施方式

图1表示一个计算机系统100,它具有一个中央处理单元(CPU)102,其连接到用于接收一个或者多个指令集的只读存储器(ROM)104,和具有多个缓冲器107a-d的随机存取存储器(RAM)106,用于暂时存储和重现信息。时钟108也连接到CPU102,用于给其提供时钟或定时信号。计算机系统100另外包括输入/输出(I/O)电路110,它在CPU102和一个或者多个外围设备诸如键盘112、鼠标114和海量存储设备116(例如硬驱动器)之间提供接口。计算机系统100另外包括一个基于笔的书板118(它可以包括或不包括一个集成的在这里表示的显示屏幕),它也类似地通过I/O电路110连接到CPU102上。用户可以通过用笔或铁笔120在书板118上写或画控制或与计算机系统100交互反应。熟悉本技术领域的人理解,计算机系统100包括一个或者多个总线结构以互联它的各种部件。

用于本发明的一个适合的计算机系统100包括由加利福尼亚的Cupertino市的苹果计算机公司销售的系列计算机。然而,本发明也可以以其它类型的的环境实现,包括由位于纽约的Armonk市的国际商业机器公司和位于得克萨斯州的Houston市的康培计算机公司销售的个人计算机。所有这些计算机都常驻有、并由其控制和协调的操作系统软件,诸如Apple Mac OS操作系统和微软Windows 95或98操作系统。用于本发明的其它合适的计算机系统100包括手持个人数字助手(PDA),诸如由位于加利福尼亚州Santa Clara市的3Com公司的PalmPilot和WinCE兼容设备。

图2是书板118的顶平面视图。在图示实施例中,配置书板118既作为输入设备又作为输出设备操作。当作为输出设备操作时,书板118通过I/O电路110从CPU102(图1)接收数据,并在诸如液晶显示(LCD)屏幕的屏幕202上显示该数据。书板118的输入设备可以是薄层传感电路,或者在可见屏幕/书板表面202之下,或者作为覆盖在屏幕202上的一个薄的、光亮的膜(未示出)的一部分,其对笔120在其表面上的位置敏感。在操作时,用户可以用笔120在书板118的屏幕202上“写”给计算机系统100提供输入。关于笔120在屏幕202上相对于x-y坐标系统203的位置的信息优选以大约每秒100次采样,并通过I/O电路110提供给CPU102。另外的信息,诸如笔的方向和笔在屏幕202上的压力也可以提供给CPU102。

为便利用户与书板118的接口,安排或配置计算机系统100(图1)在屏幕202上产生某些图像。例如,可以在屏幕202上显示一系列水平线204a-d等,来帮助用户对齐书写文字。还可以显示一个输入按钮阵列206a-f。通过用笔120敲击按钮206a-f,用户可以引起计算机系统100执行各种命令。还可以提供上和下滚动按钮208a和208b,它们也可以类似地用笔120驱动。下面还要详细说明,在计算机系统100上运行的应用程序可以产生一个或者多个数据输入字段或方框,诸如在屏幕202上的字段210a-c。这些字段或方框210a-c可以用显示部件202的输出标记,以便从用户请求特别的书写信息,诸如城市、州、电话号码等。显示部件202可以与书板118集成在一起,也可以作为一个单独的屏幕。

用于本发明的合适的书板118包括由位于华盛顿特区的Voncouver的Wacom技术公司生产的Wacom图形板。

图3是在计算机系统100(图1)上运行的软件部件的一个高度缩略的功能方框图。这些软件部件一般包括一个或者多个应用程序或进程,诸如应用程序302a和302b,和一个操作系统304。应用程序302a和302b在计算机系统100上执行,并通过应用程序编程接口(API)层308的系统调用或进程命令与操作系统304相互反应,以控制计算机系统100的运行。根据本发明,操作系统304包括一个新颖的具有墨水短语结束引擎312的墨水管理器310。墨水管理器310通过箭头314连接到API层318并提供其一部分。还连接到一个事件管理器316,后者自身通过箭头318连接到API层308。墨水管理器310还与书写环境管理器320和书写识别管理器322有通信关系。

可以在计算机系统100上安装一个或者多个书写识别引擎,诸如引擎1、引擎2等,并通体用324指示,它们可以由书写识别管理器322选择操作。输入书板118通常用一个或者多个驱动器连接到墨水管理器310。具体说,墨水管理器310可以从它连接的笔驱动器326接收墨水信息,和笔驱动器326依次可以连接到一个书板特定的驱动器328。笔驱动器326或者书板特定的驱动器328之一直接与书板118接口。在本优选实施例中,墨水短语结束引擎312包括一个定时器313,并另外连接到笔驱动器326为评估接收到的墨水信息,这在下面说明。

另外,墨水管理器310直接或间接与墨水存储器区域330有通信关系,墨水存储器区域330可以表示分配给墨水管理器310的RAM 106(图1)的一部分。在墨水存储器区域330之内,墨水管理器310可以建立和操作一个或者多个墨水短语数据结构332。应该理解,墨水短语结束引擎312可以分布在墨水管理器310和笔驱动器326之间。还应该理解,笔驱动器326甚至可以考虑为墨水管理器310的一部分。

墨水管理器310、结束引擎312和笔驱动器326可以组成属于这里说明的方法的一个或多个软件程序,诸如软件模块或库,其驻留在计算机可读介质上,诸如海量存储器116(图1)或RAM106,并可由一个或多个处理元件例如CPU102执行。也可以使用其它计算机可读介质,诸如软盘和CD-ROM,来存储要执行的程序指令。也可以通过配置为产生顺序逻辑电路和协作状态机的多个寄存器和组合逻辑以硬件实现墨水管理器310、结束引擎312和笔驱动器326。熟悉本技术领域的人知道,也可以使用硬件和软件部件的各种组合。

事件管理器316也在操作系统中包括一组软件模块或库,它通过API层308发送或返回事件消息或记录来通知应用程序302a、302b硬件和软件事件。例如,应用程序302a、302b可以周期地发布一个WaitNextEvent()函数或系统调用给事件管理器316以检查是否已经发生了一个事件。作为响应,事件管理器316返回等待请求的应用程序处理的事件,如果有的话。每一应用程序302a、302b优选包括一个事件处理器用于协调来自事件管理器316的事件的请求和接收。墨水管理器310优选与事件管理器316有通信关系,以便墨水管理器310负责的硬件和软件的出现(例如墨水事件)可以传送到事件管理器316为传递给适当的应用程序或进程。

书写识别管理器322提供一个或者多个书写识别引擎324和它们的客户(例如墨水管理器或应用程序302a、302b自身)之间的一个接口或层。特别是,书写识别管理器322使系统100知道各个书写识别引擎的存在和为识别器324和它们的客户两者都建立一个唯一的标识符,以便把墨水信息和相应结果与适当的识别器和客户关联。此外,每一识别引擎324在它自己的识别处理以外,可以使用它自己特别的内部墨水笔画数据结构,它自己为积累墨水笔画的方法和它自己的识别结果数据结构。

图4A-B是本发明的优选方法的流程图。管理墨水信息的过程在开始块402开始。当用户在计算机系统100(图1)上打开应用程序或处理时,由操作系统304(图3)的一个窗口管理器(未示出)把它们放到一个常规的z次序模式中。当一个诸如应用程序302a的应用程序被初始打开时,它可以用墨水管理器310登记,如在方框404所示,通过经由API层308给墨水管理器310发布一个InkInit()系统调用,使用一个作为说明应用程序302a希望从墨水管理器310接收的数据类型的参数的一个唯一的标识符。应用程序302a也可以表示对特殊的短语处理结束的请求和由墨水管理器310的回叫,通过经由API层308发布一个InkSetEndOfPhraseCallback()系统调用,所述调用具有一个常规通用过程指针作为一个参数。当短语结束事件发生时,墨水管理器310使用这一指针唯一标识应用程序302a并与之通信(例如回叫),下面将会讨论。应用程序302a另外可以调用一个特定的书写识别引擎324(例如引擎1)在处理在书板118上产生的信息中使用。

墨水管理器310和/或笔驱动器326当由用户输入时寻找墨水数据,其由406的决策框指示。在检测到这种墨水数据以前,决策框406一直循环,如No(否)箭头407所示。当用户使用墨水时,亦即当用户把笔120与书板118接触并在其表面上移动笔120时,墨水信息,诸如墨水数据点,由书板118产生,并由书板特定的驱动器328和笔驱动器326接收和处理。这一墨水信息被认为是前台应用程序处理的目标。最顶层的开放应用程序或处理,其通常是当前正被用户操作的应用程序称为前台处理,而其它开放应用程序和处理称为背景处理。为重现这一墨水信息,笔驱动器326可以周期地询问书板特定的驱动器328或书板118(通常通过一个设备管理器系统服务)。另外可选的方案为,每当有新的墨水信息可用时,书板特定的驱动器328(或系统设备管理器)可以调用笔驱动器326。例如,书板特定的驱动器328可以通过Apple Desktop Bus(苹果台式总线)(ADB)与书板通信,然后可以在一个DV01数据结构中存储墨水信息和通过该数据结构与笔驱动器326通信。DV01数据结构和ADB都由苹果计算机公司定义和实现,熟悉本发明所属技术领域的人都熟知这一点。

笔驱动器326优选收集和组织这一墨水信息(例如,单个墨水数据点或笔位置)为相应墨水笔画,其在方框408指示。更具体说,笔驱动器326开始在第一缓冲器107a中存储墨水数据。当来自书板特定的驱动器328的墨水信息指示笔120(图1)已经从屏幕202上抬起时,笔驱动器326停止在第一缓冲器107a内存储墨水数据点而启动第二缓冲器107b为后继墨水数据点(亦即当笔120再次与屏幕202接触并在其上移动时)使用,等等。因此,由笔驱动器326启动的每一缓冲器107包含相应于一个墨水笔画的那些墨水数据点。为当笔120在屏幕202上“跳过”时产生新的墨水笔画,笔驱动器326可以在做出后继的墨水数据点表示一个新的笔画的结论前使用一个短时不与屏幕202接触的需求。所述“跳过”与抬起相反,后者是为开始一个新笔画。

墨水管理器310可以周期地询问笔驱动器326以重现已经收集的墨水笔画。或者优选笔驱动器326通知墨水管理器310,作为事件驱动的模型的一部分,当它有一个新墨水笔画时。墨水管理器310在墨水短语数据结构332中存储接收的墨水笔画,如方框410所示。

图5是一个优选的墨水短语数据结构332的高度缩略的示意方框图。墨水短语数据结构332包括多个字段,包括头标字段502,它包含诸如短语结束类型、可能的修改符键字、笔画数、和边框的信息,和应用程序标识符(ID)字段504。应用程序ID字段504优选为当用户输入相应墨水时处于前台的进程包括一个唯一的进程标识符。数据结构332另外包括一个墨水笔画字段506,其中墨水管理器310优选存储从笔驱动器326重现的墨水笔画信息。下面会说明,数据结构322另外包括一个参考环境(REF CON)字段508、一个识别环境字段510和一个识别结果字段512。

除在各墨水短语数据结构332中存储每一墨水笔画外,墨水管理器310还把每一墨水笔画传送给书写识别管理器322,如方框412(图4)所示。书写识别管理器322与指定的(或缺省的)书写识别引擎324合作,执行墨水笔画的一定的预识别处理,但是还没有执行识别。例如,书写识别管理器322和指定的引擎可以计算运行平均笔画和间隙大小和运行一个基本的词分段模型。

另外,墨水管理器310的墨水短语结束引擎312与笔驱动器326结合检查从书板118和书板特定的驱动器328重现的新墨水信息,以决定或检测是否已经发生一个墨水短语结束事件,如决策框414所示。在优选实施例中,墨水短语结束引擎312对墨水信息应用3个判据或测试,以便检测一个短语是否结束。首先,墨水短语结束引擎312对墨水信息应用“超时”。特别是,在接收到在笔驱动器326上的每一墨水数据点时,墨水短语结束引擎312开始/复位它的定时器313,和如果在接收到下一墨水数据点之前定时器313到时,则墨水短语结束引擎312识别到一个墨水短语结束事件。超时的值的数量级是几分之一秒,优选在预定范围内可由用户设定。更具体说,用户可以显示为墨水管理器310的配置参数和使用一个常规的滑片调节该超时。另外可选的方案为,超时可以由应用程序302a通过一个特殊的墨水管理器API系统调用指定。在检测到这种墨水短语结束事件时,笔驱动器326作为一个特殊的缓冲器类型保存该事件并将其发送到墨水管理器310。应该理解,结束引擎312可以大部分在笔驱动器326内实现。

墨水短语结束引擎312还对在笔驱动器326中收集的墨水信息应用“不在附近”测试。具体说,书板118及其相关书板特定的驱动器328优选配置和安排为不只在笔120接触屏幕202时决定,而且当笔在屏幕附近时也决定。也就是说,当笔120接近(例如在其上面1/2到1/4英寸)、但尚未接触屏幕202时。这一接近信息,包括笔的x-y坐标,由书板118(和与其关联的书板特定的驱动器328,如果在使用的话)提供给笔驱动器326。如果笔120抬到超过书板118的感知能力以外(亦即笔120移动到不在附近),则墨水短语结束引擎312检测这一出现和笔驱动器326再次作为特殊缓冲器类型保存这一事件并将其发送给墨水管理器310。也就是说,笔驱动器326通知它已经停止从书板118或书板驱动器328接收墨水数据和/或在附近信息。

墨水短语结束引擎312还可以对墨水信息应用“不在区域”测试,根据由前台应用程序302a定义的一个或者多个数据输入字段或屏幕区域的边界坐标。更具体说,应用程序302a可以定义数据输入字段210a-c和应用这些字段210a-c的坐标到墨水管理器310。墨水短语结束引擎312比较墨水数据点的位置信息与由应用程序302a提供的边界坐标。如果它决定正由笔驱动器326获得的墨水信息,最初落在这些数据输入字段之一中例如框210b中(图2),现在已经移动到该字段以外,则它可以使笔驱动器326通知墨水管理器310。

在由结束引擎312应用的3个墨水短语结束事件测试外,书写识别管理器322与书写识别引擎324结合对正从墨水管理器310接收的墨水笔画应用一个“识别硬中断”测试。特别,作为从墨水管理器310接收的笔画的预处理的一部分,墨水识别管理器322和指定的引擎324应用一个基本的词分段模型,诸如基于笔画和词间隙的几何概率模型。如果词分段模型做出结论,一个新笔画组成一个新词,作为书写识别管理器322优选通知墨水管理器310,它把该通知作为一个墨水短语结束事件对待。例如,如果一个新的墨水笔画位于一个新行,例如行204c,相对于最后的笔画位于的一行,例如行204b,优选引起词分段模型给墨水管理器310发布短语事件通知结束。一个其x坐标显著不同于最后的墨水笔画的x坐标的墨水笔画(例如两个笔画相距数英寸)将同样引起书写识别管理器通知墨水管理器310。也就是说,词分段模型优选对墨水笔画应用某些预定义的、在平面内的(例如在屏幕202的平面内)空间限制。熟悉本技术领域的人理解,词分段模型可以应用其它限制来检测一个新词的开始。

所有上述墨水短语结束测试优选基本同时应用于在笔驱动器326和墨水管理器310上正被接收的墨水信息,并在任何这种事件发生时一个墨水短语被结束。也就是说,笔驱动器326和/或墨水管理器310连续寻找任何这些墨水短语结束事件的发生。如果不发生任何前台墨水短语结束事件,则墨水管理器310从决策框414如NO箭头416指示返回方框406,和继续在各墨水短语数据结构322中存储从笔驱动器326来的墨水笔画,并将它们传送给书写识别管理器322。

如果墨水管理器310得到一个墨水短语结束事件的通知(或者由结束引擎312通过笔驱动器326或者书写识别管理器322),则它优选如下响应。首先,它通知前台应用程序302a墨水短语结束事件发生,如方框422(图4B)指示。使用由应用程序302a指定的通用过程指针,墨水管理器310可以通过一个短语结束回叫调用应用程序302a中的过程,使用迄今未标记的(亦即未识别的)墨水短语作为参数。应用程序302a优选以一定的指定方式响应这一回叫。

在通过短语结束回叫接收到墨水短语时,应用程序302a可以给墨水管理器310提供一个应用程序为该墨水短语产生的参考环境(REFCON)。REF CON可以只是一个由应用程序302a为内部标识或提供关于该墨水短语的其它信息而产生的标记。更一般的是,REF CON可以是对一个包含对应用程序302a的使用的各种信息的数据结构的一个指针。REF CON附加在各墨水短语数据结构332上,例如,通过把它插入字段508(图5),如方框424指示。应该理解,墨水管理器310可以关联REF CON与传送给应用程序302a的相应墨水笔画,不把REF CON附加到墨水短语数据结构332。例如,墨水管理器310可以在某一它可以访问的其它数据结构或存储器中存储REF CON。

应用程序302a还可以在识别墨水短语期间标识要使用的识别环境。例如,假定应用程序302a检查从墨水管理器310接收的墨水短语,和根据各笔画在202上的位置信息判定笔画大体在数据输入字段210a内。还假定数据输入字段210a相应于“城市”,于是应用程序302a可以指示墨水管理器310在执行对这一墨水短语识别时使用城市词汇表。识别环境可以加载到墨水短语数据结构的字段510内(图5)。另外可选的方案是,应用程序302a可以做出结论,墨水笔画相应于接收数学等式或音乐作品的屏幕位置,和提供一个相应的识别环境。应用程序302a还可以证实(或什么都不做而拒绝)一定的依赖环境的表示。

接着,应用程序302a对墨水管理器310说明它是否希望“毁灭”墨水短语,如决策框426指示。如果是,则墨水管理器310引起相应的识别器抛弃各墨水信息,如方框427指示,然后抛弃它自己各个墨水短语数据结构332,如方框428指示。如果应用程序302a不打算毁灭墨水短语,则墨水管理器310通知书写识别管理器322短语结束事件,并指示它识别该短语,如方框430指示。因为书写识别管理器322在墨水管理器310从笔驱动器326接收墨水笔画时接收它们,因此墨水管理器310不需要重新发送这些墨水笔画给书写识别管理器322。代之为,墨水管理器310只是告诉书写识别管理器322识别在墨水短语结束事件前的墨水笔画(其相应于数据结构332的数据字段506(图5)中的墨水笔画)。书写识别管理器322可以接触书写环境管理器320以标识一个适当的环境,如果有的话,为在识别过程中使用。

因为正被处理的墨水笔画相应于由各墨水短语结束事件定义的墨水短语,因此这些笔画可以相应于多个词。从而被调用的识别引擎324可以产生几种假设,每一种具有在各墨水短语中的不同的词中断。例如,同样的墨水,具有一个模糊的开始字母和一定的模糊的字符间隔可以被识别为“boat ramp”或者“to a tramp”。应该理解,识别结果可以代之可以由几何形状、字母数字字符、音乐符号、数学等式、或任何其它对所选择的识别引擎知道的符号组成。

在完成识别处理时,书写识别管理器322把结果发送给墨水管理器310。具体说,书写识别管理器322给墨水管理器310提供被调用的识别器324(例如引擎1)的标识符(ID),和为每一种假设,管理器322还提供识别结果、为每一短语假设的词计数、为在每一短语假设中的每一词的另外可选择的词列表、和为每一词使用的可能的笔画描述。墨水管理器310优选附加该识别结果给各墨水短语数据结构332,如方框432指示。特别是,墨水管理器310加载识别结果到字段512(图5)。墨水管理器310还传送识别结果和先前产生的REF CON,如果有的话,给应用程序302a,如方框434指示。如果开始时由应用程序302a提供有一个REF CON的话,则它在方框434返回应用程序302a时,应用程序可以使用该REF CON为任何数目的目的,例如作为对一个数据块的指针,该数据块标识墨水被输入的一个特定输入字段。

熟悉本技术领域的人理解,应用程序302a可以采取任何数目的步骤响应对识别结果的接收。例如,应用程序302a可以用户显示识别结果为证实或选择正确的结果,如果由识别引擎324返回多个假设的话。应用程序302a也可以对待识别结果作为输入并以常规方式处理这些结果。在一个适当的系统软件环境中,诸如Mac OS,加注标记的墨水短语可以作为事件邮寄给应用程序302a,即使应用程序302a不是“墨水感知的”(尚未调用InkInit(),和尚未恢复墨水管理器310、笔驱动器326等)。在这一“兼容性”场合,由墨水管理器310建立并作为其一部分的系统缺省事件处理器转换被识别的墨水短语为常规非墨水事件,诸如模拟在常规键盘上键按压的键向下事件。

一旦活动的墨水短语要么被抛弃,要么被识别并邮寄给应用程序302a,墨水管理器310和笔驱动器326就恢复等待从用户的笔输入,如箭头436指示(图4B)它分支回到框406(图4A)。如果墨水活动性恢复(亦即在笔驱动器326接收到另外的墨水信息),则笔驱动器326再次开始积累数据点为墨水笔画(随着从方框406出来的YES(是)箭头),然后发送墨水笔画给墨水管理器310,后者开始积累它们为一个新的墨水短语(方框410),再次开始整个循环。

熟悉本技术领域的人理解,墨水管理器310和笔驱动器326执行一个或者多个“清理”功能(例如释放存储器,抛弃数据结构,等等),如果用户在某个指定的时期内不活动的话。墨水管理器310还可以给应用程序302a提供一个InkDisposePhrase()系统调用,以解除在笔活动期间使用的存储器资源的分配。

前述说明指向本发明的特定的实施例。然而显然,对于所述实施例可以进行其它的改变和修改而保持它们某些或全部优点。例如,应该理解,应用程序302a可以请求从墨水管理器接收未加工的墨水信息。这里,墨水管理器310或笔驱动器326直接给应用程序302a提供在笔驱动器326上接收的墨水数据点。因此,所附权利要求的目的是覆盖这种来自本发明的真正精神和范围内的变化和修改。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号