基于单词或字符边界的划去手势识别的制作方法

文档序号:6556690阅读:151来源:国知局
专利名称:基于单词或字符边界的划去手势识别的制作方法
技术领域
本发明一般涉及计算设备,尤其涉及与计算设备的用户交互。
背景技术
当代计算设备允许用户以若干种方式输入信息,包括通过键盘,或通过以种或多种类型的定点设备和专用硬件按钮(典型地在便携式设备上)。对于定点设备,计算机系统可以从鼠标和/或触摸板,并且如果配置有数字化仪,也可由传感笔和触摸数据(例如,通过输入笔(笔)或手指输入的)来接收用户输入。
某些个人计算机,例如基于图形输入板的个人计算机,具有内建到显示屏内的数字化仪。这对于很多用户是非常有用的,因为这种计算设备能够带或不带键盘而操作。基于图形输入板的个人计算机和类似的接收手写体的计算设备允许用户输入手写数据,例如印刷字符和草写单词。能够输入手写体到计算设备中的一个有价值的方面是写入的单词能够被识别为文本,之后该文本能够用一种文本编辑程序来搜索、呈现和编辑等等。
在某些设备上提供给用户的一个特征是被输入的单词或字符可以被划去。不像在纸上的墨迹,墨迹输入系统自动地移除用户认为应该移除的被划去的字符和单词。为此,当代的设备被配置成检测划去手势,它基本上是一种在图形输入板屏幕上画的“穿过”被划去单词或字符的特定符号,或者是一种用图形输入板笔作出的擦除墨迹的特定移动。
现有的划去手势识别系统是基于神经网络的,并且遭遇某些重大的可用性问题。该问题的一个主要原因源自要求通常为(且典型地水平拉长的)Z形状手势。该神经网络识别器对于划去手势的组成内容具有严格的要求,它会导致相对较高的假否定率(例如,用户想要划去某些墨迹,而手势被识别为墨迹笔划)。该手势要求还不自然地限制该用户,因为所要求的划去手势不是用户本能地能够发现的某些东西;典型的用户可能尝试某种形式的划去手势,然而Z形状的手势对大部分用户既不是本能的也不是自然的。
所需要的是更加自然的划去手势(或者手势集),该手势以大部分用户的交叉线划去文本的个人风格运作。任何这样的划去手势应该对于用户是直观的,也是能够本能地发现的,并且通常应该增加用户对手工输入的删除操作的满意度。同时,把划去手势区别于其他墨迹输入的正确率将被改进。

发明内容
简而言之,本发明提供这样一种系统和方法,该系统和方法通过评估可能的划去手势相对可被划去的单词或字符的边界的位置和水平宽度,来将划去手势形式的某一电子墨迹区别于其他墨迹。使用域值量和比率确定手势是划去还是进一步的墨迹。
当用户输入对应于笔划的电子墨迹数据时,划去手势检测器应用各种基于域值的规则以在划去手势和其他墨迹输入之间进行区分。划去被用来擦除现有的墨迹,而非划去则向表示单词或字符的其他笔划增加墨迹笔划。因为划去手势检测器使用单词和字符边界用于其决策制定,因此划去不限于任何预定的划去手势。这样,可使用若干种划去风格中的任一种,包括加删除线手势、Z形状手势、垂直划去手势、圆圈划去手势、角度划去手势和交叉线划去,包括X形状手势或加双删除线手势。
通常,任何单个笔划可以被识别为划去手势。用于将划去笔划区别于墨迹笔划的示例准则可包括划去需要在先前识别的单词或字符的顶部(相交于其边界框),和/或划去笔划需要具有其宽度(水平)与先前识别的单词或字符的宽度的特定比率。为了允许例如交叉线划去一个单词等划去风格(用X划去或加双删除线方法),满足相对于先前的划去手势的定时和/或邻近性准则的笔划被认为是同一划去手势的一部分。
在一个实现中,在自由格式行式书写的区域中,当划去手势笔划与一个或多个先前识别的单词相交,并且其边界框的宽度至少达到与该笔划相交的先前识别的一个或多个单词的边界框的宽度的一个域值百分比时,该笔划被承认为相对于一个或多个单词的划去手势。该笔划还需要与该单词的边界框相交多于该单词边界框的宽度的某个数量(例如,一半),并且该划去笔划的一部分需要是在安置该一个或多个单词的行的基线的上方。可以按距离(它可以包括例如像素等相对距离),基于实际测量的该单词的长度而使用不同的域值。
另一种写入表面由加方框的书写区域组成,其中用户在每个方框中输入一个字符。在一个实现中,用于划去手势的准则包括该笔划需要相交于一个或多个先前识别的字符,并且其边界框的宽度至少是与该笔划相交的先前识别的一个或多个字符的边界框的宽度的某个域值百分比。此外,笔划需要跨越一个点,例如它相交的一个或多个字符的一个或多个方框的中心垂直轴(宽度的一半)。而且,该划去笔划的某个部分需要在安置该一个或多个字符的行的基线的上方。
在自由格式行式区域和加方框的书写区域中,单个笔划可能划去多个方框,包括跨越多行的若干方框。当单个笔划被用于划去一行上的多个单词或字符时,即使该笔划没有与其边界框的一个或多个相交,或者没有被承认为相对于其一个或多个的划去,在介入在划去的第一和最后一个单词或字符之间的单词或字符也被删除。类似地,当单个笔划用来划去在多行上的单词或字符时,即使该笔划没有与其一个或多个相交,或者虽然相交了,但是没有被承认为相对于其一个或多个的划去,在划去的第一和最后一个单词或字符之间的那些单词或字符也被删除。
当一个单词被划去而且它不是最后一个单词时,如果在下一个单词和前一个单词之间不存在空格并且该单词是一个字符长度,则下一个单词也被划去。这样,即使划去手势删除前一单词而并不需要与下一个单词相交,在句子末尾也划去如句号等标点符号。
从以下结合附图的详细描述中,其他的优点将变的明显,在附图中


图1是表示可在其中结合本发明的一个示例性计算机系统的框图;图2是概括地表示用于根据本发明的各个方面处理用户输入(包括笔输入)和用于检测划去手势的组件的框图;图3是根据本发明的各个方面,可以在其中输入划去手势的一个示例自由格式(行式)书写区域的表示;图4是根据本发明的各个方面,可在其中输入划去手势的一个示例加方框书写区域的表示;图5A-9是根据本发明的各个方面基于各种准则确定的划去手势和非划去手势的示例表示;图10-14包含根据本发明的各个方面,概括地表示把划去手势和其他墨迹区分开,以及当检测到划去手势时构建要删除的一个或多个单词或方框的列表的示例步骤的流程图。
具体实施例方式
示例性操作环境图1示出其中可实现本发明的一个合适的计算系统环境100的例子。计算系统环境100仅仅是合适的计算环境的一个例子,并不意味着对本发明的使用范围或功能提出任何限制。也不应该把计算环境100解释为具有关于在该示例性操作环境100中示出的任一组件或其组合的任何依赖或需求。
本发明是以各种其他通用或专用计算机环境或配置来操作的。众所周知的可以适合本发明使用的计算系统、环境、和/或配置的例子包括但不局限于个人计算机、服务器计算机、手持或膝上型设备、图形输入板设备、多处理器系统、基于微处理器的系统、机顶盒、可编程消费者电子设备、网络PC、小型计算机、大型计算机、包含任何上述系统和设备的分布式计算环境,等等。
本发明可以在由计算机所执行的计算机可执行指令(例如程序模块)的一般上下文中描述。通常,程序模块包括例程、程序、对象、组件、数据结构等,它们完成特定的任务或实现特定的数据结构类型。本发明也可以在分布式计算环境中实践,其中任务由通过通信网络链接的远程计算设备完成。在分布式计算环境中,程序模块可以位于包括存储器存储设备的本地或远程计算机存储介质中。
参考图1,用于实现本发明的示例性系统包括计算机110形式的通用计算设备。计算机110的组件可以包括但不局限于处理单元120、系统存储器130、和系统总线121,该总线将包括系统存储器的各种系统组件耦合到处理单元120。系统总线121可以是数种类型总线结构的任一种,包括存储器总线或存储器控制器、外围总线、和使用各种总线体系结构中的任一种的局部总线。作为例子而不是限制,这样的体系结构包括工业标准体系结构(ISA)总线、微通道体系结构(MCA)总线、增强型ISA(EISA)总线、视频电子标准协会(VESA)局部总线、和外围组件互连(PCI)总线(也称为Mezzanine总线)。
计算机110通常包括各种计算机可读介质。计算机可读介质可以是可以由计算机110访问的任何可用介质,并且包括易失性和非易失性、可移动和不可移动介质。作为例子但不是限制,计算机可读介质可包括计算机存储介质和通信介质。计算机存储介质包括以任何方法或技术实现的用于存储信息(如计算机可读指令、数据结构、程序模块或其他数据)的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其他存储技术、CD-ROM、数字多功能盘(DVD)或其他光盘存储、磁带盒、磁带、磁盘存储或其他磁存储设备、或者任何其他能够用来存储所需的信息并由计算机110所访问的介质。通信介质通常具体化为诸如载波或其他传输机制等已调制数据信号中的计算机可读指令、数据结构、程序模块或其他数据,并且包括任何信息传递介质。术语“已调制数据信号”是指这样一种信号,其一个或多个特征以在该信号中编码信息的方式而设置和改变。作为例子而不是限制,通信介质包括有线介质,例如有线网络或直接线路连接,以及无线介质,如声学、RF、红外和其他无线介质。以上介质的任何组合也应该被包括在计算机可读介质的范围之内。
系统存储器130包括易失性和/或非易失性存储器形式的计算机存储介质,例如只读存储器(ROM)131和随机存取存储器(RAM)132。基本输入/输出系统133(BIOS)包含例如在启动期间帮助在计算机110内的元件之间传输信息的基本例程,通常被存储在ROM 131中。RAM 132通常包含处理单元120立即可访问和/或当前正在操作的数据和/或程序模块。作为例子而不是限制,图1示出了操作系统134、应用程序135、其他程序模块136和程序数据137。
计算机110还可包括其他可移动/不可移动、易失性/非易失性计算机存储介质。仅仅作为例子,图1示出它读取或写入不可移动非易失性磁介质的硬盘驱动器141;读取或写入可移动非易失性磁盘152的磁盘驱动器151;以及读取或写入可移动非易失性光盘156,例如CD ROM或其他光学介质的光盘驱动器155。能够在示例性操作环境中使用的其他可移动/不可移动、易失性/非易失性计算机存储介质包括,但不限于磁带盒、闪存卡、数字多功能盘、数字录像带、固态RAM、固态ROM等。硬盘驱动器141通常通过不可移动存储器接口(如接口140)连接到系统总线121,磁盘驱动器151和光盘驱动器155通常通过可移动存储器接口(例如接口150)连接到系统总线121。
以上讨论和在图1中示出的驱动器及其相关联的计算机存储介质为计算机110提供计算机可读指令、数据结构、程序模块和其他数据的存储。作为例子,在图1中,硬盘驱动器141被示为存储有操作系统144、应用程序145、其他程序模块146和程序数据147。注意,这些组件和操作系统134、应用程序135、其他程序模块136和程序数据137可以相同也可以不同。操作系统144、应用程序145、其他程序模块146、和程序数据147在此给予不同的标号以说明至少它们是不同的副本。用户可以通过输入设备,如图形输入板(电子数字化仪)164、话筒163、键盘162和定点设备161(通常称为鼠标、轨迹球和触摸垫)等输入命令和信息到计算机110中。其他输入设备(未示出)可包括操纵杆、游戏垫、卫星式圆盘天线、扫描仪等。这些和其他的输入设备往往通过耦合到系统总线的用户输入接口160连接到处理单元120,但是也可以通过其他接口和总线体系结构,如并行端口、游戏端口或通用串行总线(USB)而连接。监视器191或其他类型的显示设备通过接口(如视频接口190)也被连接到系统总线121。监视器191也可与触摸屏面板193或类似设备集成,该触摸屏或类似设备能够通过接口(如触摸屏接口192)输入数字化的输入(如手写体)到计算机系统110。注意,监视器和/或触摸屏面板能够实际地被耦合到其中包含计算设备110的外壳,例如在图形输入板类型的个人计算机中,其中触摸屏面板193本质上用作图形输入板164。另外,如计算设备110等计算机还可包括其他外围输出设备,如扬声器195和打印机196,它们可通过输出外围接口194等而连接。
计算机110可以使用到一个或多个远程计算机(例如远程计算机180)的逻辑连接在网络化环境中操作。远程计算机180可以是个人计算机、服务器、路由器、网络PC、对等设备或其他常见的网络节点,并且通常包括以上相对于计算机110所描述的许多或所有元件,虽然在图1中仅仅示出了存储器存储设备181。在图1中描述的逻辑连接包括局域网(LAN)171和广域网(WAN)173,但也可包括其他类型的网络。这种网络环境普遍存在于办公室、企业范围计算机网络、内联网和因特网中。
当在LAN网络环境中使用时,计算机110通过网络接口或适配器170连接到LAN 171。当在WAN网络环境中使用时,计算机110通常包括调制解调器172,或用于通过WAN 173,如因特网建立通信的其他装置。调制解调器172可以是内置或外置的,它可通过用户输入接口160或其他的适当的机制连接到系统总线121。在网络化环境中,相对于计算机110所描述的程序模块或其部分可被存储在远程存储器存储设备中。作为例子但不是限制,图1示出远程应用程序185驻留在存储器设备181上。应该理解,所示的网络连接是示例性的,并且可以使用在计算机之间建立通信链路的其他手段。
划去检测本发明主要针对通过电子墨迹输入的用户输入数据,通常是在笔数字化仪处作为电子墨迹接收的计算机笔(输入笔)输入。一般而言,该墨迹可在自由格式输入区域中接收,在此它被识别为单词,如此处所使用的“单词”是一个或多个字符、符号等的任何组合或排列,即使不是一个实际的单词,但它是按照某种方式可与其他单词逻辑上分离的。墨迹也可在加方框的书写区域中接收,其中(通常)在每个方框中输入一个字符。除单词和字符输入之外,本发明检测和区分划去手势形式的某些电子墨迹,该划去手势是由用户在意图擦除先前输入的单词或字符时输入的,例如通过画一条穿过一组一个或多个先前输入的单词或字符,或者穿过要删除的键入的(或已识别的)文本的行来输入。该区分使用域值量和比率决定手势是划去还是进一步的墨迹,来评估该手势相对可被划去的单词或字符的边界的位置和水平宽度。
将会理解,多种实现本发明的方式是切实可行的,并且此处仅仅描述了替换方案中的某一些。例如,在一个实现中,单词边界是由手写体一文本识别器来确定的。然而,也可采用其他描绘单词边界的方法,例如诸如当识别器不可用时,或者当不能跟上用户输入的速率时,评估书写输入之间的空格的方法。实际上,识别器对于本发明甚至可以是不需要的,例如,用户能够独立于系统是否甚至具有识别器来划去然后被擦除的手写输入。而且,虽然在本例中使用英语单词,但本发明是语言无关的。这样,本发明并不限于在此使用的任何特定的示例,而是可以按通常在计算中提供好处和优点的各种方式来使用。
转向图2,示出了一个示例体系结构,在该例中笔数字化仪202和触摸数字化仪204通过合适的驱动程序206和208连接到被称作图形输入板输入面板210的操作系统级组件。注意,为举例的目的,每个输入设备被示为具有它自己的驱动程序,然而一个驱动程序可以处理一个以上设备的输入。
如在图2中所示,该图形输入板输入面板210可包括包含手写表面212的对象或类似物,用户在该手写表面上输入对应于笔划的电子墨迹数据。如所示,这样的笔划可以被发送给识别器216,它返回基于这些笔划的文本,例如一个或多个单词。如果返回一个以上单词,则单词通常与某种概率数据或等级相关联,默认地为用户自动选择最高可能的单词。因为识别不是瞬时的,因此在任何给定时刻可以有已识别的笔划数据(文本)220和未识别的笔划数据222。
图形输入板输入面板210支持不同类型的手写表面。表面包括自由格式书写区域320(图3),它可被设置为(例如,行式的)具有用于字符输入的编辑能力的自由格式的文本识别面板;软(例如,标准传统键盘QWERTY)键盘;以及加方框的输入区域430(图4),其中手写体作为各个字符输入,例如用于完成格式化的字段。注意,虽然墨迹可以在自由格式墨迹书写区域中接收,但一种实现仍约束用户在行式输入区域中进行自由格式的书写,在该行式区域中,用户一次输入一行墨迹。这使得比较容易确定单词之间的边界,否则当用户能够按任何方向和/或任何配置书写时该边界的确定将更困难。
按照本发明的各个方面,划去检测器224应用各种基于域值的规则以在划去手势和其他墨迹输入之间进行区分,并且还应用基于域值的规则来确定划去手势所针对的是哪些单词或方框。为此,表面212提供未识别的笔划数据给划去手势检测器224,它然后将该笔划数据与已识别的笔划数据(一个或多个文本单词,或一个或多个加方框的字符)220进行比较,以确定该笔划是否包含划去手势。该划去手势检测器224将结果返回给表面212;对于划去手势,该结果包括要擦除的单词和一个或多个笔划。对于非划去手势,该结果是该笔划作为发送给识别器216的墨迹数据的一部分来提供。注意,这仅仅是用于处理笔划的一个示例机制。
例如,一种替换机制可以处理其中识别器落后用户且处理笔划以供识别要比用户能够返回并且划去这些笔划更慢的情况。一个可任选的(如图2中由虚线框和线指出的)边界检测器226(它能够例如基于间隔而不是识别来估计单词的边界)可以由划去手势识别检测器224所使用,用于将划去手势与其他手势相区分。注意,这样的边界检测器226可以在其他时候使用,例如结合识别结果使用。在任何情况下,替换地在未识别的笔划上实现划去检测是直截了当的,只要存在某种预识别边界定义。
如上所述,并且与其他(如基于神经网络的)系统相反,本发明的划去手势检测器224使用单词或字符的边界用于其决策制定,因此划去并不限于任何预定义的划去手势。例如,不存在对笔划方向、笔划次序、或之字形数量的约束。换言之,该划去检测器224本质上假设当在行式书写区域320中时,用户仅仅书写文本(不同于画图或图表)以将划去手势与某些单词或加方框的字母相区别。由此,可以使用若干划去风格中的任一种。某些将被识别为划去手势的风格包括加删除线手势、Z形状手势、垂直划去手势(例如按M或W的通用图案)、圆圈划去手势、角度划去手势、和交叉线划去,包括X形状手势或加双删除线手势。用户个人的划去风格也可当作或被配置成当作划去手势。
通常,任何单个笔划可以基于所建立的准则(例如预定义的或基于用户训练系统)被识别为划去手势。在一个实现中,交叉线划去(例如,X形状或加双删除线)手势将导致第一笔划被分析为划去,并且如果第一笔划被确定为划去,则如下所述,基于第二笔划相对于划去笔划的定时和邻近性,第二笔划或者被擦除,或者被认为是一个后继的墨迹笔划。这样,两个(和可能更多)快速且接近的划去笔划将被认为是单个划去,而较后跟着另一个划去笔划的一个笔划,和/或远离该划去笔划的笔划将被认为是新的墨迹。按此方式,用户能够在划去其他墨迹之后不久输入墨迹,而仍使用多个快速划去笔划。
用于将划去笔划和墨迹书写笔划区分开的示例准则可以包括划去需要在先前已识别的单词或字符的上方,和/或划去笔划需要具有其宽度(即水平长度,不是厚度)与先前已识别的单词或字符的宽度(水平长度)的某一比率。可计算边界框用于比较。
在一个实现中,在自由格式的行式书写区域中(例如图3中表示的区域320),当笔划满足若干准则时,它就被承认为相对于一个或多个单词的划去手势。用于自由格式的单词输入的准则包括划去手势笔划与一个或多个先前识别的单词(包括至少一个字符)相交,并且其边界框的宽度至少达到与该笔划相交的先前识别的一个或多个单词的边界框宽度的一个域值百分比(例如80%)。这一般地在图5A中表示,其中,与图5B相比,实际上覆盖手写单词“cream”的长笔划被认为是划去手势,而在图5B中,该笔划不够长。
此外,在这个实现中,该笔划需要与该单词的边界框相交达到大于单词的边界框的宽度的某个数量(例如,一半),并且该划去笔划的一部分需要例如在安置该一个或多个单词的行的基线以上,这样就不会将划去手势和下划线和/或字符的下伸部分相混淆。这样,图6A和7A中的手势是划去手势,而图6B和7B中的则不是,在图6A和6B中,虚线表示宽度方向上的中心,而在图7A和7B中,虚线表示基线。
对于以某个域值距离单位(例如英寸或像素)所测量的宽度上较短的单词,例如一个或两个字符的单词,像“it等,要求笔划具有比先前描述的更大的域值百分比的边界框宽度,通常大于该单词宽度的100%。例如,一个实现可要求为使任何没有达到某个域值长度(例如半英寸(在适当大小的图形输入板上))的单词被承认为划去手势,该笔划的宽度需要是该笔划所相交的先前识别的一个或多个单词的方框宽度的某一其他百分比值,例如至少120%(不同与前面例子中的80%)。这样,在图8A的例子中,该笔划满足这个规则,然而在图8B中不满足。注意,在图8B中,在某种程度上看上去该短笔划可能是试图将小写字母“l”转换成“T”或“t”字符,诸如在不正确识别之后的用户“修补”操作中。同样可以容易地理解,其他大小准则可具有其他百分比值,例如,为了划去宽度大于半英寸并小于或等于2/3英寸的单词,为了被承认为划去手势,要求笔划边界框的宽度是该笔划所相交的先前识别的单词的方框的宽度的100%或更高,而不是图6A和6B例子中的80%或图8A和8B中的120%。也可采用其他准则,例如对于宽度小于半英寸的单词,划去笔划可能需要一般在该单词的中心垂直入口上居中。
如上所述,另一类型的书写输入表面包含加方框的书写区域,如图4所示。在加方框的书写区域中,如果笔划满足特定的其他准则,则该笔划被定义为相对于一个或多个方框的划去手势。在一个实现中,这样的准则包括该笔划需要与一个或多个先前识别的字符相交,并且其边界框宽度至少是该笔划相交的先前识别的一个或多个字符的方框宽度的某个域值百分比(例如,120%)。而且,该笔划需要跨越它相交的一个或多个字符的一个或多个方框的中心垂直轴(半宽度)。该划去笔划的一部分需要在安置一个或多个字符的行的基线的上方。
注意,划去将删除方框中的全部内容。因此,当加方框的输入区域中的一个方框包含多个字符时,划去手势删除在方框中的所有字符。单个笔划有可能划去多个方框,包括跨越多行的多个方框。
某些规则也可应用于自由格式的行式区域和加方框的书写区域。例如,为了允许如交叉线划去单词等划去风格(X划去或加双删除线方法),即使它没有与另一个墨迹笔划相交,满足特定准则的笔划也被承认为划去手势。这样,如果在前一笔划是划去手势时,在前一笔划的笔提起之后的不超过一个短暂的时间量(例如,1秒钟)内添加笔划,则该笔划就可以被认为是该同一个划去手势的一部分。可以被评估的其他准则包括笔划与先前被划去的边界框的合并相交大于合并的边界框的宽度的某个百分比(例如,80%),以及使用先前删除的墨迹的边界框替代相交墨迹笔划,该笔划满足为了成为划去手势的其他准则。
当一个单词被划去并且不是最后一个单词时,如果在下一个单词和前一单词之间没有空格,并且该单词是一个字符长度,则下一个单词同样被删除。这样,在句子末尾的标点符号被划去,即使划去手势删除前一单词但并不需要相交于该标点符号。
当单个笔划被用来划去一行上的多个单词或字符时,即使该笔划并不与其边界框的一个或多个相交,或者没有被承认为相对于于其一个或多个的划去,在第一个和最后一个划去单词或字符之间的单词或字符也被删除。这样,例如在图9中,即使笔划低于单词的基线,也即使该笔划与边界框相交并不是很多,但因为该单词在用单个手势划去的两个单词之间,中心单词“Ice”将仍然被划去。类似地,当单个笔划用来划去多行上的单词或字符时,即使该笔划并不相交于其一个或多个,或者如果相交,但没有被承认为相对于于其一个或多个的划去,在第一个和最后一个划去单词或字符之间的单词或字符也被删除。
转到对划去检测机制的操作解释,图10示出当接收到新的笔划时的一个示例过程,如由步骤1002所表示的。步骤1004测试笔划是否为先前的划去手势的第二笔划,如上所述,这发生在用户作出第一划去手势、提起该笔、并且作出第二手势的时候。如上所述,包括的要考虑的事项在步骤1004中用于在以下两者之间区分是用户试图多笔划手势还是在划去手势之后的新笔划。在笔划是划去手势的第二笔划的情况下,第一笔划已经被确定为是一个划去手势,并且要划去的一个或多个单词或者一个或多个方框)是已知的,因此在步骤1006该新的笔划可被自动地擦除。然后该过程结束,直到检测到另一个新的笔划。
返回到步骤1004,如果不是划去的第二笔划,则替代地执行步骤1008,该步骤本质上表示该可能的划去手势所应用的单词或方框(即与该笔划相交的那些)的列表的生成。如以下参照图11A和11B用于自由格式(例如,行式表面)输入的描述,和图13用于加方框输入的描述,执行各种评估以确定该笔划是否为划去手势,并且如果是,确定对哪个(些)单词或方框应用该笔划。当通过步骤1008调用时,它内在地包括关于用户是在自由格式还是在加方框输入表面上书写的确定,图11A和11B生成并返回零个或多个单词的列表。当替换地通过步骤1008调用时,图13生成并返回零个或多个单词的列表。
在调用图11A和11B或图13之后,在适当时,步骤1010评估该单词或方框的列表是否为空。如果是,则步骤1010分支到步骤1012,以将笔划作为墨迹笔划来处理,否则执行步骤1014,它擦除该笔划和列表中的单词或方框。然后过程结束。
如以上注意到的,图11A和11B表示当用户在自由格式表面输入新笔划时所调用的过程的一部分,以确定该笔划是否为划去手势,并且如果是,则生成要删除字符的列表。为此,图11A和11B对照各种规则来评估该笔划,包括基于域值评估的单词规则,如以下将参照图12A和12B一般描述的。
图11A通过在步骤1102确定笔划是否与一行以上相交来开始其评估。如果是,在步骤1104,行边界从一行变为多行,这本质上是通过对于所有单词将虚拟墨迹边界框延长到与该笔划相交的最顶行的顶部和最低行的底部来完成的。如果相交不超过一行,则跳过步骤1104。
然后,步骤1106至少在现在将该行中具有以正常域值与该笔划相交的边界框的所有单词添加到列表中。单词与该笔划的相交要求边界框与笔划相交一个恒定的域值量。
步骤1108测试该列表是否只包含一个单词,如果不是,则该过程继续到图11B,如下所述。否则,在该列表中只有一个单词,并且执行步骤1110,该步骤测试笔划的长度以及它是否至少延伸到边界框的中心,如上并在以下参照图12A和12B所述的。如果不是,就没有单词要被划去,并且过程返回到图10,此处过程结束。否则,过程继续到图11B。
图11B测试例外,即在列表中的最后一个单词之后是否跟随单字符单词,而没有尾随空格。类似地,评估第一个单词的前置字符。如上所述,这处理标点符号(单词之前和之后),如句号、问号、惊叹号、省略号、逗号、引号等,以及其他字符。注意,处理前置和尾随单字符单词还有助于语言不相关性,例如,相对于问号字符(“?”)出现在句子结束的方式,西班牙语的问号颠倒地出现在句子的前面。这还处理从右到左(RTL)语言中的划去操作,例如基于阿拉伯的语言或希伯来语。由于单字符单词也是单词的一部分,因此步骤1120寻找这种情况,并且如果找到,在步骤1122把该前置和/或尾随单字符单词(或多个单词)添加到该列表。
步骤1124寻找多行划去,(但还能寻找是否有任何单词介于单行上的第一和最后一个单词之间),如果有,把介于第一和最后一个划去单词之间的单词添加到该列表。此时,要删除的单词的列表已知,并且该过程返回到图10的步骤1010。
图12A和12B更详细地表示行式的、单个单词划去评估的例子。在图12中,使用了以下的缩写

在图12A中,步骤1202对照最小值,如上所述的半英寸,来评估单词的墨迹边界。如果低于该最小值,则步骤1202分支到步骤1204,在此将划去笔划的宽度与该划去笔划宽度相对于单词宽度的域值(例如,按百分比)进行比较。如果较大,该过程如下所述继续到图12B。否则步骤1204分支到步骤1210,在此该单词不被包括在列表中。
回到步骤1202,如果达到该最小值,则执行步骤1206,该步骤对照单词的墨迹边界框的域值评估该单词的墨迹边界框。如果低于该域值,则步骤1206分支到步骤1208,该步骤对照进一步的准则评估该划去笔划的宽度。如在步骤1208所示,该笔划宽度要求大于或等于最小划去笔划宽度,并且还大于单词的墨迹边界框乘以划去笔划宽度相对于该单词宽度的百分比域值,否则通过步骤1210该单词不被包括。如果在步骤1208满足两个准则,该过程通过图12B继续评估,如下所述。
回到步骤1206,当墨迹边界框超过域值时,执行步骤1212,该步骤将该边界框与单词的边界框的域值进行比较(单词T1<单词T2)。如果是,该过程继续到步骤1214,否则过程继续到步骤1216,该步骤是对于正常域值的处理程序。在步骤1216,对照该单词的墨迹边界框的域值乘以该划去笔划宽度相对于单词宽度T2的域值(按百分比),并且还对照单词的墨迹边界框和该划去笔划宽度相对于单词宽度的大于T2的域值(按百分比),来评估划去笔划的宽度。如果笔划宽度不大于或等于这两者,则通过步骤1218该单词不被包括,否则该过程继续到图12B以进一步处理该笔划数据。
步骤1212的“是”分支改为分支到步骤1214,该步骤分析划去笔划的宽度。具体地,在步骤1214,该划去笔划要求是至少宽度如同该单词的墨迹边界框的域值乘以该划去笔划宽度相对于该单词宽度的百分比域值,还要求至少宽度如同该边界框乘以该划去笔划宽度相对于该单词宽度的百分比域值。如果不满足,则通过步骤1218该单词不被包括,否则该过程继续到图12B。
在图12B,步骤1220为多行划去评估该笔划。如果是,则通过步骤1226该单词被添加到划去列表,并且该过程本质上返回到图11A步骤1110。如果不是,步骤1224确定该划去笔划是否相对于该单词的边界框居中(例如,其某一部分跨越垂直轴)。如果是,则通过步骤1226该单词被添加到划去列表;如果不是,则通过步骤1228该单词不被添加。如所能看到的,由此,自由格式输入的单词基于相对于边界框和可能的一个或多个划去笔划的各种域值来处理;这样,各种笔划风格都可作为划去笔划而被接受。
回到图10的步骤1008。替换通过图11A的处理,对于加方框的输入区域,该列表通过图13生成。步骤1302表示将带文本的、以正常阈值与笔划相交的方框添加到列表,如一般通过图14确定的。在图14中,使用以下缩写

在步骤1402开始,该过程评估方框宽度是否超过宽方框的域值。如果是,步骤1404将笔划宽度与方框宽度乘以划去笔划宽度相对于正常方框的百分比域值进行比较。在步骤1404,如果该笔划宽度足够长,步骤1404分支到步骤1410,把该方框添加到列表。否则,该方框不被添加到列表。
如果相反,在步骤1402该方框的宽度不超过宽方框的域值,则步骤1402分支到步骤1406,在此,将笔划宽度与方框宽度乘以划去笔划宽度相对于该宽方框的百分比域值的乘积进行比较。如果该笔划宽度达到这个域值,则在步骤1410该方框被添加到列表,否则,通过步骤1408它不被添加。
返回到图13,步骤1304确定该笔划是否与一行以上相交。如果是,执行步骤1306以将相交的方框包括进列表中。否则,跳过该步骤。在任何情况下,要删除的方框(零个或多个)的列表现在完成,如在步骤1308所示,并且过程返回到图10,在此,如上所述使用该列表。按这种方式,在加方框书写区域中的划去手势也同样按基于边界/域值的方式而处理,这就允许删除各种划去手势。
如能够在前面的详细描述所看到的那样,在此提供了一种方法和系统,该方法和系统使用边界框和域值来评估用户关于划去手势的意向。划去手势的风格最大地不受限制,并且在书写时用户能够更好地操纵笔,以把划去手势与其他墨迹输入相区分。
虽然本发明允许各种变化和替换的结构,但其特定的示例性实施例已在附图中示出并且在以上已进行详细描述。然而,应该理解,并不意味着将本发明限于所揭示的一种或多种具体形式,而是相反,本发明覆盖落入本发明的精神和范围之内的所有修改、替换构造以及等效技术方案。
权利要求
1.一种计算设备中的计算机实现的方法,包括接收对应于通过数字化仪输入的墨迹数据的用户输入;基于至少一个对应的单词或字符的边界域值数据评估所述墨迹数据,以确定所述用户输入是否为划去手势;以及a)如果所述墨迹数据是划去手势,则擦除对应于所述划去手势的先前输入的墨迹;以及b)如果所述墨迹数据不是划去手势,则将所述墨迹数据作为单词或字符的至少一部分的墨迹笔划数据来处理。
2.如权利要求1所述的方法,其特征在于,接收对应于通过数字化仪输入的墨迹数据的用户输入对应于接收计算机笔输入的数据。
3.如权利要求1所述的方法,其特征在于,所述墨迹数据是在自由格式书写区域中作为可能的划去手势接收的,其中,所述边界域值数据是基于先前输入的单词或字符的边界框,并且其中,评估所述墨迹数据包括将所述手势的宽度与所述边界框的宽度进行比较。
4.如权利要求1所述的方法,其特征在于,基于边界域值数据评估所述墨迹数据包括确定所述手势是否延伸到先前输入的单词或字符的边界框之内超过一特定点。
5.如权利要求1所述的方法,其特征在于,所述墨迹数据是在自由格式书写区域上作为可能的划去手势接收的,其中,所述边界域值数据是基于先前输入的单词或字符的边界框,并且其中,评估所述墨迹数据包括将所述边界框的宽度与一最小尺寸进行比较,如果所述边界框的宽度低于所述最小尺寸,则选择第一域值用于与所述手势的宽度进行比较,如果所述边界框的宽度高于所述最小尺寸,则选择不同的域值用于与所述手势的宽度进行比较。
6.如权利要求1所述的方法,其特征在于,其中,评估所述墨迹数据包括确定所述手势的至少一部分是否在先前输入的单词或字符的基线之上。
7.如权利要求1所述的方法,其特征在于,所述墨迹数据被确定为应用于至少两个分离的单词或字符的划去手势,并所述方法还包括擦除对应于所述分离的单词或字符的先前输入的墨迹,并擦除介于所述分离的单词或字符之间的任何单词或字符。
8.如权利要求1所述的方法,其特征在于,所述手势包括至少一个附加的分离手势笔划,并且其中,评估所述墨迹数据包括评估所述手势的第一笔划以确定所述墨迹数据是否为划去手势,如果是,将所述手势的每个其他笔划作为所述手势的第一笔划的一部分来处理,包括擦除每个其他笔划。
9.如权利要求1所述的方法,其特征在于,将所述墨迹数据作为墨迹笔划数据来处理包括将所述墨迹数据发送到识别器。
10.如权利要求1所述的方法,其特征在于,所述墨迹数据是在加方框的书写区域上作为可能的划去手势接收的,并且其中,所述边界域值数据是基于先前识别的、与所述笔划相交的字符的方框。
11.如权利要求10所述的方法,其特征在于,基于边界域值数据评估所述墨迹数据包括确定所述手势是否延伸到所述方框内一域值距离。
12.一种具有计算机可执行指令的计算机可读介质,所述指令在执行时实现如权利要求1所述的方法。
13.一种具有计算机可执行指令的计算机可读介质,所述指令在执行时实现以下步骤使用对应于单词或字符边界容器的边界的基于边界的准则评估通过数字化仪接收的墨迹数据,以确定用户输入是否为划去手势;当满足所述准则时,将所述墨迹数据作为划去手势来处理,包括擦除在对应于所述划去手势的位置上的先前输入的墨迹;以及当不满足所述准则时,将所述墨迹数据作为单词或字符的至少一部分的墨迹笔划来处理。
14.如权利要求13所述的计算机可读介质,其特征在于,评估所述墨迹数据基于所述墨迹数据的水平笔划宽度与所述边界容器的水平宽度之比来确定是否符合所述准则。
15.如权利要求14所述的方法,其特征在于,所述边界容器包括逻辑上围绕在自由格式书写区域中通过墨迹书写输入的单词的边界框,并且其中,评估所述墨迹数据包括基于所述边界框的水平宽度与对应于一距离的固定值之比来选择一域值比率。
16.一种计算设备中的系统,包括从数字化仪接收电子墨迹的手写表面组件;提供对应于单词或字符的边界的边界信息的组件;以及耦合到所述手写表面组件和所述提供边界信息的组件的划去手势检测器,所述划去手势检测器对照基于所述边界信息的准则评估在所述手写表面上接收的电子墨迹,以确定所述电子墨迹是否对应于划去手势。
17.如权利要求16所述的系统,其特征在于,所述提供边界信息的组件包括手写识别器。
18.如权利要求16所述的系统,其特征在于,所述准则包括一集合中的至少一个准则,所述集合包含所述电子墨迹是否与一个或多个先前识别的单词或字符相交;所述电子墨迹是否具有至少是至少一个先前识别并与所述电子墨迹相交的单词或字符的边界框的宽度的域值百分比的边界框宽度;所述电子墨迹是否延伸到至少一个先前识别并与所述电子墨迹相交的单词或字符的边界框内超过一域值范围;以及所述电子墨迹的至少某个部分是否在至少一个先前识别并与所述电子墨迹相交的单词或字符的基线之上。
19.如权利要求16所述的系统,其特征在于,所述手写表面组件对应于自由格式书写区域或加方框的书写区域。
20.如权利要求13所述的计算机可读介质,其特征在于,评估所述墨迹数据包括基于所述墨迹数据的水平笔划是否延伸到所述边界容器内超过一特定水平范围来确定是否满足所述准则。
21.如权利要求13所述的计算机可读介质,其特征在于,评估所述墨迹数据确定是否满足划去手势的准则,且其中,擦除先前输入的墨迹包括擦除在同样被擦除的两个其他单词或字符之间的至少一个单词或字符,和/或擦除直接在同样被擦除的单词之前或之后的单字符单词。
全文摘要
描述一种计算机实现的系统和方法,该系统和方法检测划去手势并将其与例如通过笔输入的其他电子墨迹相区分。该系统和方法比较基于边界的准则以进行区分,这就消除具有特别形状的划去图案的要求,而是允许检测各种各样的划去风格。准则包括基于边界的评估,例如可能的划去手势是否与先前识别的单词或字符相交;划去手势是否具有至少是单词或字符边界框的宽度的域值百分比的宽度;电子墨迹是否延伸超过该边界框的中点;以及划去手势的至少某一部分是否在该单词或字符的基线之上。支持在自由格式输入书写区域和加方框的输入书写区域中输入的划去手势。
文档编号G06K11/06GK1834872SQ200610054919
公开日2006年9月20日 申请日期2006年2月17日 优先权日2005年3月17日
发明者A·J·加塞德, D·圭瑞克, E·L·本林顿, S·-C·希尔林, T·慕拉雅玛, T·舒尔茨 申请人:微软公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1