首页> 中国专利> 通过笔画起始和结束点分析执行手写识别的方法和装置

通过笔画起始和结束点分析执行手写识别的方法和装置

摘要

一种方法、计算机程序产品和数据处理系统,其用于采集手写字符和基于从手写字符的笔画中计算而得的参数来执行手写识别。识别笔画起始和结束事件,并且从笔画起始和结束事件的坐标中计算笔画参数。基于笔画参数,识别一个或多个候选字符。

著录项

  • 公开/公告号CN1658221A

    专利类型发明专利

  • 公开/公告日2005-08-24

    原文格式PDF

  • 申请/专利权人 国际商业机器公司;

    申请/专利号CN200510001836.4

  • 发明设计人 陈彦甫;J·W·邓斯摩尔;

    申请日2005-01-13

  • 分类号G06K9/00;

  • 代理机构11247 北京市中咨律师事务所;

  • 代理人于静;李峥

  • 地址 美国纽约

  • 入库时间 2023-12-17 16:25:17

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2013-03-20

    未缴年费专利权终止 IPC(主分类):G06K9/00 授权公告日:20090114 终止日期:20120113 申请日:20050113

    专利权的终止

  • 2009-01-14

    授权

    授权

  • 2005-10-19

    实质审查的生效

    实质审查的生效

  • 2005-08-24

    公开

    公开

说明书

技术领域

本发明通常涉及改进的数据处理系统,并且特别涉及用于执行手写识别的方法和装置。更特别地,本发明提供了这样的方法和装置,所述方法和装置用于使服务器能够基于字符笔画参数来高效地识别笔迹样本,所述字符笔画参数是从由客户机提供给服务器的笔画起始和结束点计算出来的。

背景技术

在手写识别领域中,软件提供商采用了各种方法来提供笔迹样本的更准确识别。对于软件提供商开发高效的手写识别算法来说,具有大字符集的书面语言例如中文和韩文是特别成问题的。例如,中文包括数千的字符。因此,用于执行中文手写识别的参考字符字典必须包括数千的条目。在参考字典中维护的字符的数据量限制了对书面中文字符执行笔迹分析的效率。

目前的手写识别解决方案需要在整个字符笔画的输入中采样手写字符的笔画。例如,许多手写识别算法需要构建手写字符的图像例如位图,用来查询参考字符字典。构建手写字符的位图图像需要在输入字符时采集手写输入的大量样本。这种技术是数据密集型的,并且需要从用户输入中收集大量的样本数据。

手写识别算法通常配置在便携式计算设备例如个人数字助理(PDA)上。这种设备的有限的存储和计算能力使相对简单的手写识别算法成为必要。在具有有限计算能力的设备上减少执行手写识别所需的数据量是所希望的。

配置手写识别算法来处理因特网网站上的用户手写输入是所希望的。将接收用户手写输入的能力部署在电子商务网站、远程学习网站等上的是可能有益的。为了能够同时对大量用户进行服务,需要最小化执行笔迹分析所需的数据量,来减少与从客户机到执行笔迹分析的服务器传递笔迹数据相关的时延效应。

最小化执行笔迹分析所需的数据是有益的。另外,有益的是,具有这样改进的方法、装置和计算机指令,所述方法、装置和计算机指令用于采集手写字符数据并分析所述数据,从而减少识别手写字符所需的数据量。另外有益的是,提供允许相对于执行手写字符的采集的装置而言远程地执行手写识别算法的技术。

发明内容

本发明提供了一种方法、计算机程序产品和数据处理系统,用于采集手写字符和基于从手写字符的笔画中计算而得的参数执行手写识别。识别笔画起始和结束事件,并且从笔画起始和结束事件的坐标计算笔画参数。基于笔画参数,识别一个或多个候选字符。

附图说明

在附带的权利要求中阐明了被认为是本发明特点的新颖特征。然而,通过结合附图参考下面的说明性实施例的详细描述,将能够最好地理解本发明本身、使用的优选方式、以及它的目的和优势,在所述附图中:

图1是可在其中实现本发明的数据处理系统网络的图示表达;

图2是根据本发明的优选实施例可实现为服务器的数据处理系统的框图;

图3是示出可在其中实现本发明的数据处理系统的框图;

图4是根据本发明的优选实施例的计算机接口图,所述计算机接口用来接收手写字符输入并显示候选字符;

图5是根据本发明的优选实施例的由客户机执行的用来采集手写字符笔画的处理的流程图;

图6是根据本发明的优选实施例的由客户机执行的笔画参数计算的流程图;

图7是示出根据本发明的优选实施例的由客户机进行的笔画参数计算的图;

图8是根据本发明的优选实施例的由服务器执行的手写识别算法的处理的流程图;

图9是根据本发明的优选实施例的用于识别候选字符的参考字符字典记录的图形化说明;

图10A是说明根据本发明的优选实施例,在用户输入第一字符笔画之后计算机接口上的捕获区域和候选显示区的图;

图10B是说明根据本发明的优选实施例,在用户输入第二字符笔画之后图10A中所描述的捕获区域和候选显示区的图;

图11A是根据本发明的优选实施例,正确书写时需要3个组成笔画的字符的图;

图11B是示出根据本发明的优选实施例,当图11A中所描述的字符笔画被输入计算机接口的捕获区域时所述字符笔画的图;以及

图11C是示出根据本发明的优选实施例,图11B所描述的笔画的分割的图。

具体实施方式

现在参考附图,图1描述了在其中可实现本发明的数据处理系统网络的图示表达。网络数据处理系统100是在其中可实现本发明的计算机网络。网络数据处理系统100包括网络102,所述网络102是用于提供各种设备和计算机之间通信连接的媒介,所述各种设备和计算机在网络数据处理系统100中相互连接。网络102可包括诸如有线、无线通信链路、或光纤电缆等连接。

在描述的例子中,服务器104连同存储单元106一起被连接到网络102上。另外,客户机108、110和112被连接到网络102上。这些客户机108、110和112例如可以是例如个人计算机或网络计算机。在描述的例子中,服务器104提供数据,例如HTML文档和附带的脚本、小应用程序或其他应用给客户机108、110和112。客户机108、110和112是服务器104的客户端。网络数据处理系统100可包括另外的服务器、客户机和其它没有示出的设备。

在描述的例子中,网络数据处理系统100是因特网,其中网络102代表使用传输控制协议/网际协议(TCP/IP)的一套协议来相互通信的网络和网关的全球汇聚。在因特网的核心是主要节点或主机之间的高速数据通信线路的骨干网,所述主要节点或主机包括数以千计的路由数据和消息的商业、政府、教育和其它计算机系统。当然,也可将网络数据处理系统100实现为若干不同类型的网络,例如内联网、局域网(LAN)、或广域网(WAN)。图1意在举例,并不作为本发明的结构限制。图中所示的服务器104是web服务器,也称为HTTP服务器,并且包括服务器软件,当客户例如web浏览器请求时,所述服务器软件使用HTTP来提供HTML文档以及任何相关文件和脚本。在已经提供了请求的文档或文件之后,通常断开客户机和服务器之间的连接。HTTP服务器用在Web和内联网站上。

参考图2,根据本发明的一个优选实施例描述了可实现为服务器例如图1中的服务器104的数据处理系统的框图。数据处理系统200是可用于分析从手写字符笔画中计算出的参数的计算机的一个例子,所述手写字符笔画是从一个或多个客户机108、110和112中获得的。更具体地,数据处理系统200提供客户机为了在显示设备上提供计算机接口而处理的数据,客户机的用户在所述显示设备上通过使用指点设备来提供手写字符输入。在说明性的例子中,数据处理系统200提供给客户机的应用从用户输入的字符笔画中得出参数,并将参数传递给数据处理系统200。作为对接收到参数的响应,数据处理系统200识别一个或多个候选字符,并将所述候选字符传递给客户机。

笔画参数定义了用户输入的笔画的属性,并由服务器将其与参考字符字典中的参考字符的相应笔画属性进行比较。例如,笔画长度参数可由客户机确定,所述笔画长度参数提供用户输入的手写字符笔画长度的数值度量。传递笔画长度参数给服务器,并将所述参数与参考字符笔画的参考长度参数进行比较,并获得指示手写字符笔画的长度和参考字符笔画长度之间的一致程度的数值度量。笔画角度参数可由客户机确定,所述笔画角度参数提供输入手写字符笔画的轨迹的数值度量。传递笔画角度参数给服务器,并将所述参数与参考字符笔画的参考角度参数进行比较,并获得指示手写字符笔画的角度和参考字符笔画角度之间的一致程度的数值度量。中心参数可由客户机确定,所述中心参数标识手写字符笔画的中心点的位置或坐标。传递中心参数给服务器,并可将所述参数与手写字符笔画的其它中心参数进行比较,来确定笔画之间的位置关系。基于笔画中心参数比较的手写字符笔画的位置度量,可与参考字符笔画之间的中心参数关系进行比较,来确定手写字符笔画的相对位置和参考字符笔画的相对位置之间的数值一致程度。这里将角度参数、长度参数和中心参数共同称为笔画参数集合。

然后评估长度、角度和中心参数比较的结果,来确定手写字符笔画和参考笔画之间的一致程度。服务器对参考字符字典中的剩余参考字符重复所述过程。识别一个或多个参考字符,作为与正在输入的字符之间的可能匹配,并把所述参考字符传递给客户机。

数据处理系统200可以是对称式多处理器(SMP)系统,所述系统包括连接到系统总线206上的多个处理器202和204。或者,可使用单一处理器系统。存储器控制器/高速缓存208也连接到系统总线206上,其提供了与本地存储器209之间的接口。I/O总线桥210连接到系统总线206上,并提供与I/O总线212的接口。可如图所示的集成存储器控制器/高速缓存208和I/O总线桥210。

连接到I/O总线212上的外围部件互连(PCI)总线桥214提供与PCI局部总线216的接口。可连接多个调制解调器到PCI局部总线216上。典型的PCI总线实现将支持4个PCI扩展槽或附件连接器。可通过调制解调器218和网络适配器220来提供到图1中的客户机108、110和112的通信链路,所述调制解调器218和网络适配器220通过附件卡连接到PCI局部总线216上。

另外的PCI总线桥222和224提供与另外的PCI局部总线226和228的接口,在所述PCI总线上可以连接另外的调制解调器或网络适配器。以这种方式,数据处理系统200允许与多个网络计算机的连接。如图所示,存储器映射图形适配器230和硬盘232也可直接地或间接地连接到IO总线212上。系统200运行如下面将更完全地描述的根据本发明的实施例的手写识别算法。

本领域一般技术人员将认识到,如图2所示的硬件可以变化。例如,附加于所示硬件,或代替所示硬件,也可使用其它外围设备,例如光盘驱动器和类似物。所示例子不是旨在暗示关于本发明的结构限制。

图2所示的数据处理系统可以是例如IBM eServer pSeries系统,所述系统是纽约阿蒙克(Armonk)的国际商业机器公司的产品,在所述产品中运行高级交互执行体(AIX)操作系统或LINUX操作系统。

现参考图3,其中示出了在其中可实施本发明的一数据处理系统的框图。数据处理系统300是这样的客户计算机例如图1的客户机108的一例子,该客户计算机可用于从用户接受手写字符并计算该手写字符的的笔画参数。更具体地说,数据处理系统300接收从系统200下载的网页,并响应于处理该下载的网页,显示用于输入手写字符的计算机接口。评估每个手写字符的字符笔画以获得笔画起始和结束事件。数据处理系统300随着标识了笔画起始和结束事件而计算一个或多个笔画参数。响应于笔画参数的计算,数据处理系统300将笔画参数传递给数据处理系统200,以便提交给由处理系统200执行的手写识别算法。将由系统200识别的候选字符传递给数据处理系统300,从而用户就能够确认提供给客户计算机接口的字符和由系统200识别的候选字符之间的匹配。当用户继续将字符笔画提供给客户计算机接口时,计算其他的笔画参数,并将其传递给系统200,以用于进一步的笔迹分析,直到数据处理系统的用户确认一候选字符为匹配为止。

数据处理系统300使用外围部件互连(PCI)局部总线结构。尽管描述的例子使用PCI总线,也可能使用其它总线结构,例如加速图形端口(AGP)和工业标准结构(ISA)。处理器302和主存储器304通过PCI桥308连接到PCI局部总线306上。PCI桥308也可包括集成的存储器控制器和用于处理器302的高速缓存存储器。可通过直接部件互连或通过附件卡进行与PCI局部总线306的其他的连接。在所述例子中,通过直接部件连接,将局域网(LAN)适配器310、SCSI主机总线适配器312以及扩展总线接口314连接到PCI局部总线306上。相反地,通过插入到扩展槽中的附件卡,将音频适配器316、图形适配器318、和音频/视频适配器319连接到PCI局部总线306上。图形适配器318驱动显示设备107,所述显示设备107提供计算机接口或GUI,来显示用户提供的手写字符。扩展总线接口314提供用于键盘和鼠标适配器320、调制解调器322和另外的存储器324的连接。例如鼠标109的指点设备连接到适配器320上,并且使得用户能够向系统300提供光标输入。小型计算机系统接口(SCSI)主机总线适配器312提供用于硬盘驱动器326、磁带驱动器328和CD-ROM驱动器330的连接。典型的PCI局部总线实现将支持3个或4个PCI扩展槽或附件连接器。

当在本文档中使用术语“鼠标”时,所述术语是指任何类型的操作系统支持的图形指点设备,所述图形指点设备包括但不局限于鼠标、跟踪球、光笔、输入笔和触摸屏或触摸垫,以及类似物。指点设备典型地由数据处理系统中的用户使用,来与该数据处理系统的GUI进行交互。“光标”是由鼠标或其它这类设备控制的图标图像,并且其显示在数据处理系统的视频显示设备上,来在视觉上给用户指示可选择或操作的图标、菜单、或类似物。

操作系统运行在处理器302上,并且用来协调图3中数据处理系统300中的各个部件,并提供对所述各个元件的控制。所述操作系统可以是商业上可获得的操作系统,例如可从微软公司获得的Windows XP。例如Java的面向对象的编程系统可以与操作系统一起运行,并且提供从在数据处理系统300上执行的Java程序或应用到操作系统的调用。“Java”是SunMicrosystems公司的商标。操作系统、面向对象的编程系统和应用或程序的指令位于存储设备例如硬盘驱动器326中,并且可装载到主存储器304中来由处理器302执行。

数据处理系统300运行web浏览器,所述web浏览器适用于执行根据本发明的实施例的字符笔画采集算法。

优选地,当浏览器从系统200中下载例如HTML编码的网页的文档时,将笔画采集算法作为Java小应用程序分发给系统300。因此,由数据处理系统300执行的浏览器,可实现为多种众所周知的基于Java的web浏览器例如Microsoft Explorer、Netscape Navigator或类似物中任何一种。

本领域普通技术人员将认识到,图3中的硬件可根据实现而有所变化。附加于图3中所示硬件,或替代图3中所示硬件,可使用其它内部硬件或外围设备,例如快闪只读存储器(ROM)、等价非易失性存储器(equivalentnonvolatile memory)、或光盘驱动器及类似物。同样,本发明的处理可应用于多处理器数据处理系统。

作为另外一个例子,数据处理系统300可以是个人数字助理(PDA)设备,所述PDA设备被配置为具有ROM和/或快闪ROM以便提供非易失性存储器来存储操作系统文件和/或用户产生的数据。

图3中所述例子和上述例子不是旨在暗示结构限制。例如,数据处理系统300除了采取PDA形式以外也可以是笔记本计算机或手持计算机。数据处理系统300也可以是信息亭(kiosk)或Web设备(Web appliance)。

图4是根据本发明的优选实施例当客户机连接到服务器104上时,显示设备107上的GUI输出的描述。作为对客户机处理从服务器104传递的网页的响应,而显示GUI 400。优选地在web浏览器接口408的窗口404内显示GUI 400。如图4所示,GUI 400包括捕获区域402,所述捕获区域用于显示提供给客户机的手写字符和根据本发明的实施例由数据处理系统200识别并传递给数据处理系统300的候选字符。用户通过例如鼠标109的指点设备,提供手写字符给捕获区域402。另外,GUI 400包括候选字符显示区410,所述候选字符显示区410用于显示最新确定的候选字符,并且用于接收用户对候选字符匹配的确认。

在该说明性的例子中,显示了输入捕获区域402一完整中文字符406。字符406的输入需要多个手写笔画。显示的特殊字符需要3个笔画412、414和416的输入。客户机执行的笔画采集算法检测提供给捕获区域402的每个字符笔画的开始和结束。随着检测完成的笔画,从检测过的笔画中计算出笔画参数。传递所述笔画参数给数据处理系统200来识别一个或多个可能匹配用户输入的候选笔画,如下面将更完全地描述的。

图5是根据本发明的优选实施例由客户机执行的笔画采集算法进行的处理的流程图。初始化笔画采集算法(步骤502),并且进行到轮询笔画起始事件(步骤504)。在所述的例子中,笔画起始事件是一个指点设备“按下”事件,例如鼠标按钮的按下。随着检测到笔画起始事件,笔画采集算法临时记录笔画起始事件的坐标(步骤506),并且进行到轮询笔画结束事件(步骤508)。在该说明性的例子中,笔画结束事件是指点设备“抬起”事件,例如鼠标按钮的释放。

随着检测到笔画结束事件,读取笔画结束事件的坐标(步骤510),并且计算笔画参数(步骤512)。传递笔画参数给数据处理系统200来由手写识别算法进行分析(步骤514)。进行是否继续的评估(步骤516),并且该过程返回到轮询笔画起始事件。否则,该过程退出(步骤518)。

图6是根据本发明的实施例由笔画采集算法执行的处理的流程图500。图6中所示和所述的处理步骤对应于图5的步骤512。随着检测到笔画起始事件和随后的笔画结束事件而初始化笔画参数的计算(步骤552)。基于笔画起始和结束点坐标来计算笔画长度参数(步骤554)。例如,可以代数方法处理对应于笔画起始和结束事件的光标图标的坐标,来确定笔画起始和结束点之间的线性“长度”度量。另外,例如通过笔画起始和结束坐标之间的三角关系来计算笔画角度参数,并且所述笔画角度参数提供了笔画的方向度量(步骤556)。优选地计算笔画中心参数(步骤558),并且可从笔画长度和角度参数以及笔画起始和结束事件坐标之一中,得出所述笔画中心参数。随着计算了笔画参数,笔画参数计算算法退出(步骤560)。

图7是说明根据本发明的优选实施例,笔画采集算法计算笔画参数的图。响应于提供给例如鼠标109的指点设备的适当命令,而检测到笔画起始事件。例如,当鼠标光标位于采集区域402内时,可响应于鼠标“按下”事件,或通过按下鼠标109按钮而进行的鼠标拖动操作的初始化,而检测到笔画起始事件。或者,如果提供手写字符给触摸垫,则可响应于在触摸垫上检测到的输入笔按下事件,而确定笔画起始事件。识别笔画412的起始点420,并且所述起始点420对应于当检测到笔画起始事件时的鼠标的位置。或者,起始点420对应于当检测到笔画起始事件时在触摸垫上输入笔的位置。当移动鼠标109时,根据用户提供的鼠标移动,在捕获区域402中显示笔画412。响应于提供给鼠标109的适当命令,例如鼠标“抬起”或按钮释放事件,而检测到笔画结束事件。或者,如果提供手写字符给触摸垫,可响应于在触摸垫上检测到输入笔抬起事件,而检测到笔画结束事件。识别笔画412的结束点422,并且所述结束点422对应于当检测到笔画结束事件时鼠标或输入笔的位置。

使用例如直角坐标系的坐标系来跟踪鼠标的位置,并将起始和结束点420和422与相应的坐标结合起来。在本例中,笔画412具有x坐标为7以及y坐标为10的起始点420。笔画412具有x坐标为7以及y坐标为3的结束点420。在检测了笔画412的起始和结束点对之后,从起始和结束点坐标中提取一个或多个笔画参数,以便提交给运行在数据处理系统200中的手写识别算法。根据本发明的优选实施例,从起始和结束点坐标中计算笔画长度参数(L)、笔画角度参数(θ)、和笔画中心参数(C)。例如,可通过起始和结束点坐标的代数处理,来计算笔画长度。例如通过计算机实现的、笔画起始和结束点420和422的坐标之间的三角关系,从起始和结束点坐标中提取笔画角度参数。

另外,通过计算机实现的三角计算,使用起始和结束点坐标之一、笔画长度参数和笔画角度参数作为操作数来来计算笔画中心参数。笔画中心参数是计算出的笔画412中心点的坐标。在优选实施例中,通过将笔画近似为线性运动来计算笔画参数。因此,仅通过使用笔画起始和结束点坐标,就可获得所有笔画参数。通过网络102将从笔画坐标中计算出来的笔画参数发送从给数据处理系统200,所述笔画参数这里共同地被称为笔画参数集合。

应注意到,运行在客户机系统300中的笔画采集算法并不等待用户完成字符之后,才试图识别用户输入的字符。因此,可以将从一个笔画输入中得出的笔画参数集合传递给数据处理系统200,而同时由用户提供后续字符。参考图5-7描述的笔画采集算法优选地由Java小应用程序实现,当数据处理系统200连接到数据处理系统300上时,所述Java小应用程序作为网页的附件被下载。

图8是根据本发明的优选实施例由数据处理系统200执行的手写识别算法进行的处理的流程图600。当从客户机系统接收了笔画参数集合时,初始化手写识别算法(步骤602)。响应于接收到笔画参数集合,执行参考字符字典查找(步骤604)。参考字符字典可以实现为例如表、文件系统、或其它合适的数据结构。通常,参考字符字典包含字典中每个字符的属性,所述属性能够与从用户提供的手写字符笔画中计算得到笔画参数进行匹配。

更具体地,参考字符字典包括每个笔画的属性,例如笔画长度、角度和中心参数。参考字符笔画的笔画长度、角度和中心参数在这里共同地被称为参考参数集合。将在参考字符字典中为一特定参考字符条目维护的参考参数,与由客户机传递给服务器的笔画参数集合中的相应笔画参数进行比较。针对在参考字符字典中定义的一个或多个参考字符,产生笔画参数集合和参考参数集合之间一致程度的数值度量或匹配概率。

从参考字符字典中取出N个可能的字符匹配或候选字符,并且将它们传递给系统300(步骤606)。从参考字符字典中取出的候选字符的数量可被编码于手写识别算法中,或者可由客户机提供。

或者,可以选择参考字符字典中的这样的字符条目作为候选字符,将其传递给客户机,所述字符条目具有导致了匹配概率超过预定阈值的相应的参考参数。数据处理系统200等待来自客户机的响应(步骤608)。对客户机是否确认了任何候选字符与正在输入的字符匹配进行评估(步骤610)。

如果客户机提供的N个候选字符中没有字符符合正在输入的手写字符的响应,或未能确认候选字符匹配,则手写识别处理进行到等待接收另外的笔画参数集合(步骤612)。随着接收到另外的笔画参数集合,执行另一次参考字符字典的查询。

如果客户机的响应确认了N个候选字符中的一个为对应于手写字符的字符匹配,则手写识别处理终止(步骤614)。这样,针对用户提供的字符的每个笔画,继续进行参考字符字典查询,直到用户确认由手写识别算法获得的一候选字符为一匹配。优选地,参考图8说明和描述的手写识别算法由Java小服务程序实现。

图9是参考字符字典700的记录720-725的图形说明。典型地,中文字符的参考字符字典将有数千条记录。仅为了便于理解本发明而选择了所显示和描述的记录。参考字符字典700被实现为具有记录720-725的表,所述记录分别包括在各字段710-719中的数据元素,但可合适地用其它数据结构替代。字段710-719典型地具有名称或标识符,所述名称或标识符便于字典700的插入、删除、查询和其它数据操作或操纵的处理。在该说明性的例子中,字段710、711和712分别具有字符号、字符、笔画的标记。字段713-717分别被标记为参考参数集合1-参考参数集合5。在这个例子中,字段718和719分别具有音频和频率的标记。参考参数集合字段714-717包含针对各个记录720-725的参考参数集合。

每个记录720-725包含关键字字段710中的唯一索引号,用来将某一特定记录与字典700的其它条目区分开来。通过相关关键字段710的值来寻址特定记录,在这里被称为记录的索引。字符字段711包括由各个记录720-725所定义的参考字符的图像数据。例如,记录723具有在字符字段711中的图像文件、或对图像文件的引用例如图像文件的地址,所述图像文件对应于参考图4所述的提供给计算机接口的手写字符。

笔画字段712包含各个记录720-725所定义的字符的字符笔画的数目。例如,具有记录723所定义的属性的字符包括1个垂直笔画和2个水平笔画,并且笔画字段712因此在记录723中包含值3。

参考参数集合字段713-717包括各个记录720-725所描述的字符的每个笔画的参考参数集合。例如,记录723的参考参数集合字段713-715分别包括了记录723所定义的字符的笔画的参考参数集合,并且参考参数集合字段716和717为空。

字典700中可能包括音频字段718,所述音频字段718包含或引用这样的音频文件,所述音频文件是各记录720-725所定义的字符的正确发音的音频记录。另外,字段719的音频文件可包含或引用相应字符的正确用法的音频记录。例如,中文字典的字符可能组成一个词或一个词的一部分。音频字段718的音频文件可包含在词或句子中使用的相关中文字符的音频记录。

频率字段719包含标识在各个记录720-725中定义的字符的使用频率的数据元素。例如,通过调查各种文献可获得单个字符的出现频率,并且将指示该出现频率的数值数据元素输入相应记录720-725的频率字段719中。当2个或更多个候选字符具有相似的比较结果时,即当2个或更多个候选字符参数集合与笔画参数集合的比较产生了在预定阈值之内、或彼此相距指定量之内的匹配概率时,频率字段719的频率数据元素可由手写识别算法用作比较标准。在该说明性的例子中,记录720-725所定义的字符分别具有频率值8、13、12、23、24和20。当确定候选字符以传递给客户机时,手写识别算法可使用频率字段719的字符频率值作为比较标准。

当接收到笔画参数集合时,系统200查询参考字典。通常,手写识别算法在字典700条目中循环,并将笔画参数集合的笔画参数与参考参数集合的相应参数进行比较。例如,将笔画参数集合的长度参数与参考字符字典中参考参数集合的长度参数进行比较。同样,将笔画参数集合的角度和中心参数与参考参数集合的相应的角度和中心参数进行比较。响应于笔画参数集合和参考参数集合的比较,产生匹配概率。响应于匹配概率的评估,服务器选择一个或多个候选字符,并将其返回给数据处理系统300,以在候选字符显示区410中显示。例如,数据处理系统200可向用户传递在这样的3个参考字符字典条目的字符字段711中识别的图像,所述3个参考字符字典条目具有由字典查询所获得的最高的匹配概率。另外,可连同候选字符图像一起传递候选字符的音频文件给客户机。

现在参考图10A,其中显示了在用户输入字符406的第一笔画412之后,捕获区域402和候选显示区410的图示说明。客户机计算笔画412的笔画参数集合,并且将所述集合传递给数据处理系统200来识别候选字符。数据处理系统200以笔画参数集合查询参考字符字典,并且基于笔画参数集合和记录720-725的参考参数集合之间的比较,来识别一个或多个候选字符。传递由数据处理系统200识别的候选字符给客户机来输出在候选显示区410中。在该说明性的例子中,已经识别了3个候选字符430、432和434,并且将其显示在候选显示区410上。如果由系统200识别的候选字符与正在输入给客户机的字符匹配,用户能够在候选显示区410上选择正确的候选字符。在本例中,在笔画412输入之后,没有所识别的候选字符与正在由用户写入的字符406相匹配。

现在参考图10B,其中显示了在用户输入字符406的第一和第二笔画412和414之后,捕获区域402和候选显示区410的图形化说明。由客户机计算笔画414的笔画参数集合,并且将所述集合传递给系统200,以便对参考字符字典700进行另外的查询。数据处理系统200以客户机从笔画414中计算的笔画参数集合,来查询参考字符字典700,并且识别一个或多个候选字符。传递数据处理系统200识别的候选字符给客户机,并将所述候选字符输出到候选显示区410上。在该说明性的例子中,在参考字符字典的第二次查询之后,排除了候选字符430和432作为候选,并且识别了新的候选字符436和438,并将其传递给客户机来输出在候选显示区410中。候选字符436与正提供给捕获区域402的字符匹配。用户通过例如将光标定位在候选字符436的显示区域内并给鼠标提供输入,来确认候选字符436匹配正在输入的字符。或者,用户可通过由笔画采集算法实现的一快速选择功能来选择候选字符434、436和438。例如,笔画采集算法可能将显示在候选显示区410中的候选字符与键盘上的按键逻辑地联系起来。选择键盘上的各个按键,例如与候选字符434、436和438相关的一些按键“1”、“2”和“3”,导致确认候选字符与正在输入的字符匹配。用于确认候选字符和在客户机上正在输入的字符之间的匹配的其它机制可以适当地替换。随着用户提供了确认输入,客户机向系统200提供确认消息。优选地,然后在采集区域402中显示由用户从候选显示区410中选择的候选字符,并且可由数据处理系统200输出所选择的字符的音频重放。用户可然后开始在捕获区域402中输入另外的字符。

根据本发明的另一个实施例,笔画采集算法可检测到单个笔画的方向改变,并且根据本发明的优选实施例将所述笔画分割为多个逻辑笔画。这里所说的逻辑笔画是指笔画的部分、或片断,所述笔画的部分或片断由单个物理笔画分割而得,并且就像所述笔画分割是完整的手写笔画一样,分析所述笔画的部分或片断。图11A是一中文字符800,当其正常书写时,需要3个组成笔画802、804和806。笔画804和806的直角不利于通过笔画起始和结束点的分析进行名义上的长度、角度和中心参数的计算。例如,根据笔画804的起始和结束点而进行的长度参数计算,将不会提供笔画长度的希望估计值。另外,不是非常熟悉中文语言的用户,可能错误地将笔画804和806写成每个包含2个笔画。其他用户可能错误地将笔画804和806一起写在单个物理笔画中。

下面,图11B示出了笔画804作为单个物理笔画输入捕获区域402。根据本发明的实施例,在笔画输入期间,如果指点设备的方向移动改变了等于或大于一阈值的量,则该笔画被分割为多个逻辑笔画。

图11C说明了如根据本发明的优选实施例实现的、笔画804的示例性分割。识别了笔画起始和结束点820和822,并且获得每个起始和结束点820和822的坐标。另外,笔画采集算法检测到笔画轨迹的改变,并且将笔画804分割为多个逻辑笔画810和812。在该说明性的例子中,检测到与一90度的预定轨迹阈值相等的轨迹改变Φ。通过笔画采集算法,分割笔画804为逻辑笔画810和812。

响应于检测到光标轨迹改变等于或超过轨迹阈值,针对每个逻辑笔画810和812来计算笔画参数。随着确定笔画804包含逻辑笔画810和812,在笔画轨迹等于或超过轨迹阈值的笔画位置上指定一分割点824。指定分割点824作为逻辑笔画810的结束点和逻辑笔画812的起始点。因此,基于笔画起始点820和分割点824,来计算逻辑笔画810的长度(LA)、角度(θA)和中心(CA)参数。同样地,基于指定为起始点的分割点824和逻辑笔画812的笔画结束点822,来计算逻辑笔画812的长度(LB)、角度(θB)和中心(CB)参数。以同样的方式,当用户输入笔画806到采集区域402时,分割笔画806为2个逻辑笔画。

虽然图11A-11C的例子说明了笔画804被分割为2个逻辑笔画810和812,所显示和描述的分割例子仅是示例性的。单个物理笔画可被分割为任意数量的逻辑笔画。将笔画分割成的逻辑笔画的数量,取决于轨迹阈值和提供到捕获区域402的笔画的轨迹改变。

随着使能分割手写字符笔画为多个逻辑笔画,参考参数字典700的参考参数集合可在适当时描述逻辑笔画的属性。例如,记录725是参考字符字典中的、图11A所示字符的示例性的字符条目。应注意到,在笔画字段中维护的笔画数目是包含逻辑笔画的笔画数。由记录725所定义的并在图11A中所描述的笔画,当正常书写时需要3个手写笔画。然而,记录725的笔画数目指定了为5的笔画数。参考字符字典中笔画字段712的笔画数是不需要轨迹改变等于或超过轨迹阈值的特定参考字符笔画和任何需要轨迹改变等于或超过轨迹阈值的物理笔画的逻辑笔画数的总和。

因此,字符条目725具有5个参考参数集—1个描述物理笔画,以及4个描述逻辑笔画。每个笔画,无论物理或逻辑笔画,包括一相应的具有参考笔画参数集合的参考参数集合字段,所述参考参数集合将与客户机计算的笔画参数集合进行比较。

通过分割字符笔画为逻辑笔画,增强了识别正确候选字符的能力。例如,正确书写为3个笔画802、804和806的字符800被分割为总共5个笔画,并且针对每个物理和逻辑笔画来计算相应的笔画参数集合。此外,也可能不正确地以2个笔画或5个笔画书写字符800。在每个例子中,客户机识别总共5个笔画,并且对该5个笔画中的每个计算笔画参数集合。因此,将手写字符的笔画分割为逻辑笔画便于当正确或不正确地书写字符时,准确地识别候选字符。

如上所述,本发明提供从用户输入的字符笔画中得出笔画参数的技术。从笔画起始和结束点中计算笔画参数,因此减少了执行笔迹分析所需的笔画数据量。笔画参数可以包含于数据集中,所述数据集小于进行参考字符字典查询所需的笔迹样本数据。分割手写笔画为逻辑笔画,并且为逻辑笔画确定笔画参数。通过将轨迹改变超过预定轨迹阈值的笔画分割为逻辑笔画,便利了笔画参数的计算。通过减少执行手写识别所需的数据量,便利了基于网络的手写识别实现。

注意到以下方面是重要的:虽然在具有完全功能的数据处理系统的情境中描述了本发明,本领域技术人员将认识到能够以包含指令的计算机可读介质的形式以及多种形式,来分发本发明的过程,并且不管实际用于进行分发的信号承载介质的具体类型,本发明都同样适用。计算机可读介质的例子包括可记录类型的介质和传输类型的介质,所述可记录类型的介质例如有软盘、硬盘驱动器、RAM、CD-ROM、DVD-ROM,所述传输类型的介质例如有数字和模拟通信链路、使用诸如射频和光波传输等传输形式的有线或无线通信链路。计算机可读介质可采用编码格式的形式,所述编码格式在具体数据处理系统中的实际使用中被解码。

为了说明和描述的目的已经给出了本发明的描述,并且所述描述并不旨在是详尽无遗的或将本发明限制了所公开的形式。许多修改和改变对于本领域技术人员将是明显的。选择和描述的实施例是为了最好地解释本发明的原理和实际应用,并且使本技术领域中其它人员能够理解适合于所设想的具体使用的、本发明的具有各种修改的各种实施例。

去获取专利,查看全文>

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号