CN108369637A - 用于美化数字墨水的系统和方法 - Google Patents
用于美化数字墨水的系统和方法 Download PDFInfo
- Publication number
- CN108369637A CN108369637A CN201680072148.3A CN201680072148A CN108369637A CN 108369637 A CN108369637 A CN 108369637A CN 201680072148 A CN201680072148 A CN 201680072148A CN 108369637 A CN108369637 A CN 108369637A
- Authority
- CN
- China
- Prior art keywords
- digital ink
- character
- handwriting input
- input
- computing device
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 82
- 230000009466 transformation Effects 0.000 claims abstract description 44
- 230000011218 segmentation Effects 0.000 claims description 24
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 claims description 4
- 238000004590 computer program Methods 0.000 abstract description 3
- 230000003993 interaction Effects 0.000 description 15
- 238000012545 processing Methods 0.000 description 11
- 238000005516 engineering process Methods 0.000 description 9
- 230000008569 process Effects 0.000 description 9
- 238000010586 diagram Methods 0.000 description 7
- 238000004891 communication Methods 0.000 description 5
- 230000033764 rhythmic process Effects 0.000 description 5
- 230000001149 cognitive effect Effects 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 3
- 238000003780 insertion Methods 0.000 description 3
- 230000037431 insertion Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 238000011960 computer-aided design Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000010606 normalization Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000008707 rearrangement Effects 0.000 description 2
- 238000003860 storage Methods 0.000 description 2
- PEDCQBHIVMGVHV-UHFFFAOYSA-N Glycerine Chemical compound OCC(O)CO PEDCQBHIVMGVHV-UHFFFAOYSA-N 0.000 description 1
- 239000002253 acid Substances 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 238000004378 air conditioning Methods 0.000 description 1
- 150000001336 alkenes Chemical class 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 201000006549 dyspepsia Diseases 0.000 description 1
- 239000012634 fragment Substances 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 238000010438 heat treatment Methods 0.000 description 1
- 238000005286 illumination Methods 0.000 description 1
- 230000005389 magnetism Effects 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 210000004218 nerve net Anatomy 0.000 description 1
- JRZJOMJEPLMPRA-UHFFFAOYSA-N olefin Natural products CCCCCCCC=C JRZJOMJEPLMPRA-UHFFFAOYSA-N 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000010422 painting Methods 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 238000003825 pressing Methods 0.000 description 1
- 230000000306 recurrent effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000010079 rubber tapping Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000012706 support-vector machine Methods 0.000 description 1
- 238000010897 surface acoustic wave method Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- 238000009423 ventilation Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/14—Transformations for image registration, e.g. adjusting or mapping for alignment of images
- G06T3/147—Transformations for image registration, e.g. adjusting or mapping for alignment of images using affine transformations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/10—Character recognition
- G06V30/32—Digital ink
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0487—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
- G06F3/0488—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
- G06F3/04883—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures for inputting data by handwriting, e.g. gesture or text
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/60—Analysis of geometric attributes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/10—Character recognition
- G06V30/14—Image acquisition
- G06V30/142—Image acquisition using hand-held instruments; Constructional details of the instruments
- G06V30/1423—Image acquisition using hand-held instruments; Constructional details of the instruments the instrument generating sequences of position coordinates corresponding to handwriting
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Multimedia (AREA)
- General Engineering & Computer Science (AREA)
- Geometry (AREA)
- Human Computer Interaction (AREA)
- Character Discrimination (AREA)
- User Interface Of Digital Computer (AREA)
- Processing Or Creating Images (AREA)
Abstract
提供了用于美化手写输入到计算设备的数字墨水的系统、方法和计算机程序产品。计算设备连接到输入表面形式的输入设备。用户能够通过使用他或她的手指或诸如手写笔或笔的器具向输入表面上方施加压力或做手势来提供输入。本系统和方法监测输入笔画。计算设备还具有处理器和用于在处理器的控制下识别手写输入的至少一个应用程序。该至少一个系统应用程序被配置成使得显示数字墨水,根据通过识别手写输入确定的手写输入的几何信息和显示界面的对齐结构的几何信息来确定数字墨水的结构变换,并使得根据结构变换来显示变换后的数字墨水。
Description
相关申请的交叉引用
本申请要求于2015年12月8日提交的欧洲申请第15 290 303.5号以及于2015年12月22日提交的美国申请第14/978,081号的优先权,其全部内容以引用方式并入本文中。
技术领域
本发明总体上涉及使用计算设备界面的手写识别系统和方法的领域。本发明更具体地涉及用于美化在这类计算设备界面上手写输入呈现的数字墨水并提供在计算设备界面上编辑数字墨水的系统和方法。
背景技术
计算设备在日常生活中会继续变得更加普遍。它们采用台式电脑、笔记本电脑、平板电脑、混合计算机(2合1),电子书阅读器、移动电话、智能手机、可穿戴电脑(包括智能手表、智能眼镜/头戴设备)、全球定位系统(GPS)设备、企业数字助理(EDA)、个人数字助理(PDA)、游戏机等的形式。此外,计算设备现在被包含在车辆和设备,如轿车、货车、农业设备、生产设备、建筑环境控制(例如,照明、采暖通风与空调)以及家用和商用电器中。
计算设备通常由至少一个处理单元(如中央处理单元(CPU))、一些形式的存储器以及输入输出设备构成。计算设备及它们的后继使用的多样化需要多种接口和输入设备。一个这样的输入设备是触摸敏感表面(如触摸屏或触控板),其中用户输入是通过用户手指或器具(如笔或输入笔)与触摸敏感表面之间的接触来接收的。另一个输入设备是感知用户在输入表面上方所做出的手势的输入表面。另一个输入设备是检测与非触摸物理或虚拟表面的触摸或非触摸交互的相对位置的位置检测系统。这些输入方法中的任一方法通常可以用于绘入或输入文本。当用户输入是文本时,利用手写识别系统或方法对用户的手写进行解释。
手写识别在诸如智能手机、平板手机和平板计算机之类的非便携式和便携式计算设备中的一个应用是用于将文本输入到由计算设备运行的各种应用程序中,其方式类似于传统上用物理或虚拟的键盘进行。然而,不同于受严格布局规则管理的键盘输入(诸如根据显示的光标的位置在可见或不可见行上输入文本),可以在设备输入表面的任何位置虚拟地输入手写。虽然这种基本上不受约束的输入对手写的识别准确性有一些影响,但是目前可用的高级识别算法通常能够处理文本字符的这种相对‘自由’定位。
有更多影响的是,一旦输入在显示器上被呈现为所谓的“数字墨水”,用户就能够与输入进行交互。这是因为,不同于具有以均匀和已知的方式相对定位的字符的打字或‘排版墨水’文本,通常由于手写所固有的不规则性,数字墨水文本的字符是不均匀的或处于相对已知的位置。因此,常规系统和方法通常仅允许对从识别的文本呈现的排版墨水进行进一步的交互,这通常在显示器上允许输入的区域的不同位置处进行。
然而,用户希望能够直接与手写体交互,以及诸如编辑输入(例如,添加或删除字符或单词),以便维持手写输入的创造流程。一些可用的应用程序通过归一化等来提供数字墨水的对齐和缩放。然而,这些没有考虑手写体的某些几何特征,因此缩放和对齐不能被正确执行以允许原始数字墨水的全面交互或忠实再现。此外,他们不使用识别来提供这些操作,并且因此不提供输入信号内的交互能力。因此,编辑操作只能在单词级别执行,而不能例如在字符级别执行。
发明内容
在下文中描述的本发明的示例提供了用于在计算设备上美化数字墨水并提供编辑的系统和方法。
在一个示例中,本发明包括用于在计算设备上美化数字墨水的系统。每个计算设备可以包括处理器和用于在处理器的控制下识别手写输入的至少一个非暂时性计算机可读介质。非暂时性计算机可读介质可以被配置成使得根据手写输入在计算设备的显示界面上显示第一数字墨水,根据通过识别手写输入确定的手写输入的第一几何信息和显示界面的对齐结构的第二几何信息来确定第一数字墨水的结构变换,以及使得根据结构变换在显示界面上显示第二数字墨水。
结构变换可以根据第一几何信息和第二几何信息的至少两个比较来确定。该至少两个比较可以提供第一几何信息和第二几何信息的第一比值和第二比值,并且根据第一比值和第二比值中的最小值来确定结构变换。
结构变换可以缩放第一数字墨水以产生第二数字墨水。结构转换可以将第一数字墨水与对齐结构对齐以产生第二数字墨水。对齐结构可以是行图案。
在另一个示例中,本发明包括一种在计算设备上美化数字墨水的方法。每个计算设备可以包括处理器和用于在处理器的控制下识别手写输入的至少一个非暂时性计算机可读介质。该方法可以包括以下步骤:根据手写输入在计算设备的显示界面上显示第一数字墨水,根据通过识别手写输入确定的手写输入的几何信息确定第一数字墨水的结构变换,以及根据结构变换在显示界面上显示第二数字墨水。
该方法可以根据第一几何信息和第二几何信息的至少两个比较来确定结构变换。该至少两个比较可以提供第一几何信息和第二几何信息的第一比值和第二比值,并且该方法可以根据第一比值和第二比值中的最小值确定结构变换。
结构变换可以缩放第一数字墨水以产生第二数字墨水。结构转换可以将第一数字墨水与对齐结构对齐以产生第二数字墨水。对齐结构可以是行图案。
在另一个示例中,本发明包括其中具体实施有计算机可读程序代码的非暂时性计算机可读介质。计算机可读程序代码可以适于执行以实现用于在计算设备上美化数字墨水的方法。计算设备可以包括处理器和用于在处理器的控制下识别手写输入的至少一个系统非暂时性计算机可读介质。该方法可以包括以下步骤:根据手写输入在计算设备的显示界面上显示第一数字墨水,根据通过识别手写输入确定的手写输入的几何信息确定第一数字墨水的结构变换,以及根据结构变换在显示界面上显示第二数字墨水。
该方法可以根据第一几何信息和第二几何信息的至少两个比较来确定结构变换。该至少两个比较可以提供第一几何信息和第二几何信息的第一比值和第二比值,并且该方法可以根据第一比值和第二比值中的最小值来确定结构变换。
结构变换可以缩放第一数字墨水以产生第二数字墨水。结构转换可以将第一数字墨水与对齐结构对齐以产生第二数字墨水。对齐结构可以是行图案。
在另一个示例中,本发明包括用于在计算设备上提供数字墨水的编辑的系统。每个计算设备可以包括处理器和用于在处理器的控制下识别手写输入的至少一个非暂时性计算机可读介质。非暂时性计算机可读介质可以被配置成使得根据手写输入在计算设备的显示界面上显示数字墨水,根据通过识别手写输入确定的手写输入的分割信息来确定数字墨水的元素的范围,以及使得参照所确定的数字墨水元素范围在显示界面上显示输入光标。
数字墨水的元素可以包括文本字符,并且至少一个非暂时性计算机可读介质可以被配置成参照所确定的第一字符和第二字符的范围在第一字符与第二字符之间的位置处显示输入光标。
所确定的第一字符和第二字符的范围可以重叠,并且至少一个非暂时性计算机可读介质可以被配置成比较所确定的第一字符和第二字符的范围的几何特征,并且根据比较,使得在重叠区域内、所确定的第一字符的范围或所确定的第二字符的范围的边界上显示输入光标。几何特征可以包括确定的范围的高度和宽度。
在另一个示例中,本发明包括用于在计算设备上提供数字墨水的编辑的方法。每个计算设备可以包括处理器和用于在处理器的控制下识别手写输入的至少一个非暂时性计算机可读介质。该方法可以包括以下步骤:根据手写输入在计算设备的显示界面上显示数字墨水,根据通过识别手写输入确定的手写输入的分割信息来确定数字墨水的元素范围,以及参照所确定的数字墨水元素范围在显示界面上显示编辑光标。
数字墨水的元素可以包括文本字符,并且该方法可以参照所确定的第一字符和第二字符的范围在第一字符与第二字符之间的位置处显示输入光标。
所确定的第一字符和第二字符的范围可以重叠,并且该方法可以比较所确定的第一字符和第二字符的范围的几何特征,并且根据比较,在重叠区域内、所确定的第一字符的范围或所确定的第二字符的范围的边界上显示输入光标。几何特征可以包括确定的范围的高度和宽度。
在另一个示例中,本发明包括其中具体实施有计算机可读程序代码的非暂态计算机可读介质。计算机可读程序代码可以适于被执行以实现用于在计算设备上提供数字墨水的编辑的方法。计算设备可以包括处理器和用于在处理器的控制下识别手写输入的至少一个系统非暂时性计算机可读介质。该方法可以包括以下步骤:根据手写输入在计算设备的显示界面上显示数字墨水,根据通过识别手写输入确定的手写输入的分割信息来确定数字墨水的元素的范围,以及参照所确定的数字墨水元素范围在显示界面上显示编辑光标。
数字墨水的元素可以包括文本字符,并且该方法可以参照所确定的第一字符和第二字符的范围在第一字符与第二字符之间的位置处显示输入光标。
所确定的第一字符和第二字符的范围可以重叠,并且该方法可以比较所确定的第一字符和第二字符的范围的几何特征,并且根据比较,在重叠区域内、所确定的第一字符的范围或所确定的第二字符的范围的边界上显示输入光标。几何特征可以包括确定的范围的高度和宽度。
附图说明
基于以下对本发明各示例的详细说明并结合附图,将更全面地理解本发明的系统和方法。在各附图中用类似的附图标记来标注类似的要素。在各附图中:
图1示出了根据本发明系统和方法的示例的计算装置的方框图;
图2示出了根据本发明系统和方法的示例的用于手写识别的系统的方框图;
图3示出了图示说明根据本发明系统和方法的一个示例的图2的手写识别系统的细节的方框图;
图4示出了计算设备的输入表面的一部分上的墨水输入区域的示例视觉呈现的示意图;
图5示出了图4的示例输入区域,其中包括呈现为数字墨水的手写输入;
图6示出了图5的示例数字墨水,其中包括由手写识别系统提供的几何信息;
图7示出了图4的示例输入区域,其中包括由手写识别系统提供的几何信息;
图8示出了在行图案上呈现的示例美化数字墨水;
图9示出了图4的示例输入区域,其中包括呈现为数字墨水的手写输入;
图10示出了图9的示例数字墨水,其中包括由手写识别系统提供的几何信息;
图11示出了图8的包括光标的示例美化数字墨水;
图12示出了图5的示例数字墨水,其中包括由手写识别系统提供的示例手写输入的字符分割来确定的字符边界框;
图13示出了图4的示例输入区域,其具有呈现为数字墨水的手写输入;
图14示出了图13的示例数字墨水,其中包括根据手写识别系统提供的示例手写输入的字符分割来确定的字符边界框;
图15示出了在行图案上呈现的示例美化数字墨水;
图16示出了图15的示例美化数字墨水,其中包括根据手写识别系统提供的示例手写输入的字符分割来确定的字符边界框;
图17A示出了图15的示例美化数字墨水的不重叠字符的第一示例光标位置;
图17B示出了图15的示例美化数字墨水的不重叠字符的第二示例光标位置;
图17C示出了图15的示例美化数字墨水的不重叠字符的第三示例光标位置;
图18A示出了图15的示例美化数字墨水的重叠字符的第四示例光标位置;以及
图18B示出了图15的示例美化数字墨水的重叠字符的第五示例光标位置。
具体实施方式
在以下的详细描述中,通过举例陈述了许多具体细节从而提供对相关教示的详尽理解。然而,本领域技术人员应当理解的是本发明的教示可在没有这种细节的情况下而实施。在其他情况下,已在不提供具体细节的情况下以相对较高的水平对公知的方法、过程、部件和/或电路进行了描述,从而避免不必要地使本发明教示的各方面难以理解。
对方向性特征的引述和描述(如上、下、在上方、在下方、最低的、最高的、水平的、垂直的等)相对于直角坐标系统而进行,如适用于产生要被识别的输入的输入表面。此外,在查看附图时,诸如左和右等术语是与读者的参考系有关的。此外,在本发明中术语“文本”的使用被理解成包括在书面文本中使用的所有字母数字字符及其字符串以及在书面文本中使用的常见非字母数字字符(例如符号)。此外,这些附图中示出的示例是在从左到右的书面语言背景下,因此对位置的任何引用可以适于具有不同方向格式的书面语言
本文描述的各种技术通常涉及在便携式和非便携式计算设备上捕获、处理和管理手绘和手写内容,其方式便于保持内容的输入风格同时允许转换为该内容的忠实排版或美化版本。本文描述的系统和方法可以利用经由输入表面(诸如连接到计算设备或者计算设备的触敏屏幕)或者经由输入设备(诸如连接到计算设备的数字笔或鼠标)或者经由由位置检测系统监测的物理或虚拟表面输入到计算设备的用户的自然书写和绘画风格的识别。虽然参照使用所谓的在线识别技术识别手写输入来描述各种示例,但是应该理解的是,可能可以应用用于识别的其它形式的输入,诸如其中识别图像而不是数字墨水的离线识别。术语手绘和手写在本文中可互换地使用,以定义用户通过直接在数字或数字连接的介质上使用他们的手或经由诸如手持式手写笔的输入工具来创建数字内容。本文使用术语“手”来提供对输入技术的简要描述,然而,使用用户身体的其它部分进行相似输入被包括在该定义中,例如使用脚、嘴和眼睛。
图1示出了示例计算设备100的方框图。计算设备可以是计算机台式计算机、膝上型计算机、平板计算机、电子书阅读器、移动电话、智能电话、可穿戴计算机、数字手表、交互式白板、全球定位系统GPS)单元、企业数字助理(EDA)、个人数字助理(PDA)、游戏控制台等。计算设备100包括至少一个处理元件、某种形式的存储器以及输入和/或输出(I/O)设备的组件。这些组件通过输入端和输出端(诸如连接器、线路、总线、电缆、缓冲器、电磁链路、网络、调制解调器、换能器、IR端口、天线或本领域普通技术人员已知的其它装置)相互通信。
计算设备100具有用于从计算设备输出数据诸如图像、文本和视频的至少一个显示器102。显示器102可以使用LCD、等离子体、LED、iOLED、CRT或本领域普通技术人员已知的任何其它适当的触敏或非触敏的技术。显示器102中的至少一部分以与至少一个输入表面104位于同一位置。输入表面104可以采用诸如电阻式、表面声波、电容式、红外栅格、红外丙烯酸投影、光学成像、色散信号技术、声脉冲识别或本领域普通技术人员已知的任何其它适当技术来接收用户输入。输入表面104可以由清楚地标识其边界的永久或视频生成的边界来界定。
除了输入表面104之外,计算设备100可以包括经由本地接口通信地耦合的一个或多个附加I/O设备(或外围设备)。附加I/O设备可以包括输入设备,诸如键盘、鼠标、扫描仪、麦克风、触摸板、条形码阅读器、激光阅读器、射频设备阅读器或本领域普通技术人员已知的任何其它适当技术。此外,I/O设备可以包括输出设备,诸如打印机、条形码打印机或本领域普通技术人员已知的任何其它适当的技术。此外,I/O设备可以包括传递输入和输出的通信设备,诸如调制器/解调器(调制解调器;用于访间另一设备、系统或网络)、射频(RF)或其它收发器、电话接口、桥接器、路由器或本领域普通技术人员已知的任何其它适当的技术。本地接口可以具有用于实现通信的附加元件,诸如控制器、缓冲器(高速缓存)、驱动器、中继器和接收器,为简单起见,这些附加元件被省略但本领域技术人员已知。此外,本地接口可以包括地址、控制和/或数据连接以实现其它计算机组件之间的适当通信。
计算设备100还包括处理器106,该处理器是用于执行软件尤其是存储在存储器108中的软件的硬件设备。处理器可以是任何定制的或市售的通用处理器、中央处理单元(CPU)、基于半导体的微处理器(以微芯片或芯片组的形式)、宏处理器、微控制器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或其它可编程逻辑设备、分立门或晶体管逻辑、分立硬件组件、状态机或设计成用于执行本领域普通技术人员已知的软件指令的任何组合。合适的市售微处理器的示例如下:来自惠普公司的PA-RISC系列微处理器、来自英特尔公司的80x86或奔腾系列微处理器、来自IBM的PowerPC微处理器、来自Sun微系统公司的Sparc微处理器、来自摩托罗拉公司的68xxx系列微处理器、DSP微处理器或ARM微处理器。
存储器108可以包括易失性存储器元件(例如,随机存取存储器(RAM,诸如DRAM、SRAM或SDRAM))和非易失性存储器元件(例如,ROM、EPROM、闪存PROM、EEPROM、硬盘驱动器、磁带或光带、存储器寄存器、CD-ROM、WORM、DVD、廉价磁盘冗余阵列(RAID)、另一种直接存取存储设备(DASD))中的任何一个或其组合。此外,存储器108可以包含电子、磁性、光学和/或其它类型的存储介质。存储器108可以具有分布式架构,其中各个组件彼此远离但又可以由处理器106访问。此外,存储器108可以远离设备,诸如在服务器或基于云的系统处,其可由计算设备100远程访问。存储器108耦合到处理器106,因此处理器106可从存储器108读取信息并向存储器108写入信息。或者,存储器108可集成到处理器106。在另一个示例中,处理器106和存储器108都可以驻留在单个ASIC或其它集成电路中。
存储器108中的软件包括操作系统110和应用程序112。软件可选地还包括手写识别(HWR)系统114,其可以各自包括一个或多个单独的计算机程序。这些计算机程序中每个都有用于实现逻辑功能的可执行指令的有序列表。操作系统110控制应用程序112(和HWR系统114)的执行。操作系统110可以是任何专有操作系统或市售的操作系统,诸如WEBOS、MAC和IPHONELINUX和ANDROID。应该理解,也可以使用其它操作系统。
应用程序112包括与用户输入的检测、管理和处理有关的一个或多个处理元件(稍后详细讨论)。软件还可以包括一个或多个与手写识别、不同功能或两者相关的其它应用程序。其它应用程序的一些示例包括文本编辑器、电话拨号器、联系人目录、即时通讯设施、计算机辅助设计(CAD)程序、电子邮件程序、文字处理程序、网页浏览器和摄像头。应用程序112和其它应用程序包括在制造之后与计算设备100一起提供的程序,并且还可以包括在制造之后上传或下载到计算设备100中的程序。
具有支持和兼容能力的HWR系统114可以是源程序、可执行程序(目标代码)、脚本、应用程序或具有要执行的一组指令的任何其它实体。当是源程序时,程序需要经由可能会或可能不会包括在存储器中的编译器、汇编程序、解译器等进行转换,以便与操作系统相结合地正确运行。此外,具有支持和兼容能力的手写识别系统可以被编写为(a)面向对象的编程语言,其具有数据类别和方法;(b)程序编程语言,其具有例如但不限于C、C++、Pascal、Basic、Fortran、Cobol、Perl、Java、Objective C、Swift和Ada的例程、子例程和/或函数;或(c)函数式编程语言,例如但不限于Hope、Rex、Common Lisp、Scheme、Clojure、Racket、Erlang、OCaml、Haskell、Prolog和F#。或者,HWR系统114可以是用于与远离该设备的手写识别系统(诸如服务器或基于云的系统)进行通信的方法或系统,但是可由计算设备100通过使用计算设备100的前述通信I/O设备的通信链接进行远程访问。此外,应用程序112和HWR系统114可一起操作或组合为单个应用程序。
在输入表面104上或经由输入表面104输入的笔画由处理器106作为数字墨水来处理。用户可以用手指或诸如适于与输入表面一起使用的笔或手写笔之类的某种器具来输入笔画。如果感测输入表面104附近的运动的技术正被使用,或者与计算设备100的外围设备(诸如鼠标或操纵杆)一起使用,则用户还可以通过在输入表面104上方做出手势来输入笔画。笔画的特征至少在于笔画开始位置、笔画终止位置以及连接笔画开始位置和笔画终止位置的路径。因为不同的用户自然可以写出相同的对象,例如字母、形状、符号,并且具有轻微的变化,所以HWR系统适应各种方式,其中每个对象可以被输入同时被识别为正确或预期的对象。
图2是HWR系统114的示例的示意图,其具有本地(即,加载在设备100上)或远程(即,可由设备100远程访问)的形式。HWR系统114包括诸如预处理116、识别118和输出120的阶段。预处理阶段116处理数字墨水以实现更高的准确度并减少识别阶段118期间的处理时间。该预处理可以包括通过应用大小归一化和/或诸如B样条接近的方法来使输入平滑来对连接笔画初始位置和笔画终止位置的路径进行归一化。预处理后的笔画然后被传递到识别阶段118,该识别阶段处理笔画以识别由此形成的对象。然后,识别的对象通常作为手写元素/字符的排版版本被输出120到显示器102。
识别阶段118可以包括不同的处理元件或专家。图3是图2的示例的示意图,示出了识别阶段118的示意性细节。示出了三个专家,分割专家122、识别专家124和语言专家126,其通过动态编程进行协作以生成输出120。
分割专家122定义将输入笔画分割成单独元素假设(例如,字母数字字符和数学运算符、文本字符、单独形状或子表达式)以便形成表达(例如,单词、数学方程或形状组)。例如,分割专家122可以通过对原始输入的连续笔画进行分组来形成元素假设,以获得分割图,其中每个节点对应于至少一个元素假设并且其中元素之间的邻接约束由节点连接进行处理。或者,分割专家122可以针对不同的输入类型(诸如文本、图画、方程式和音乐符号)使用单独的专家。
识别专家124提供由分类器128提取的特征的分类,并且输出具有分割图的每个节点的概率或识别分数的元素候选列表。存在可用于解决该识别任务的许多类型的分类器,例如支持向量机、隐马尔可夫模型或诸如多层感知器、深度卷积或递归神经网络的神经网络。选择取决于任务所需的复杂性、准确性和速度。
语言专家126使用语言模型(例如,语法或语义)为分割图中的不同路径生成语言含义。专家126根据语言信息130检查由其它专家提出的候选项。语言信息130可以包括词典、正则表达式等。语言专家126旨在找到最佳识别路径。在一个示例中,语言专家126通过探索诸如表示语言信息130的内容的有限状态自动机(FSA)的语言模型来做到这一点。除了词典约束之外,语言专家126可以使用统计信息建模来确定给定元素序列在指定语言中出现的频率或者被特定用户使用的频率,以便评估对分割图的给定路径进行的解释的语言可能性。
本系统和方法利用HWR系统114来识别设备100上的手写输入。如前所述,不同于由严格的布局规则所管理的键盘输入,诸如根据所显示的光标位置在可见或不可见行上的文本输入,本系统和方法允许手写输入实际上在计算设备100的输入表面104上的任何位置处输入,并且该输入在输入位置被呈现为数字墨水,或者如果手写输入偏离呈现位置则在偏离位置上呈现。HWR系统114能够识别这个相对‘自由’定位的手写。本系统和方法还允许用户继续与数字墨水本身交互并通过美化数字墨水来提供有意义的引导和交互结果。考虑到手写的某些几何特征(稍后详细描述),通过适当地缩放以及根据输入表面104的对齐结构对齐数字墨水来实现美化。通过在识别过程中执行笔画分割并使用这种分割的信息来辅助交互,以允许管理输入或编辑光标,该光标用于字符级交互和编辑操作的指针。现在描述本系统和方法的这些和其它方面。
图4示出了示例计算设备100的输入表面104的一部分上的墨水输入或捕获区域400的示例视觉呈现的示意图。输入区域400被提供为无约束画布,其允许用户在任何地方创建对象块(文本块、图画等),无需担心大小或对齐。然而,如图中可以看到,行图案背景410形式的对齐结构可以被提供,用于引导用户输入以及数字和排版墨水对象的对齐。在任何情况下,由于用户可能输入与行图案不完全对齐的手写体,或者可能希望忽略行图案并且以不受约束的方式(诸如对角地或随意地)写入,HWR系统114执行手写输入的识别而不考虑行图案。在以本申请人和受让人的名义提交的标题为“System and Method of DigitalNote Taking”的美国专利申请第14/886,195号中描述了示例性对齐图案,其全部内容以引用方式并入本文中。
例如,根据该参考专利申请并入的内容,行图案410具有由垂直节奏高度单位的倍数分开的作为密度独立像素(dp)的水平行。不管特定设备100如何,水平行410之间的垂直距离由行图案单元(LPU)限定,并且垂直节奏高度单位提供特定设备上的LPU的分级测量。例如,对于任何设备,LPU可以被设置为约一厘米,作为垂直节奏高度单位的特定倍数,或者可以允许用户根据他们的书写风格将该行图案单元自定义为垂直节奏高度单位的不同倍数。或者,垂直节奏可以基于排版文本大小(例如,最小文本大小),并且LPU被提供为这种排版文本大小的倍数。所有行410都以相同的淡色(例如,灰色)显示,该颜色相对于内容本身的呈现是可见但淡化的。通过这种方式,行图案明显而不显眼,从而引导手写输入而不会对内容输入分心。
为了辅助用户输入,应用程序112可以根据用户输入在进行输入的位置呈现数字墨水。例如,图5示出了具有被呈现为(第一)数字墨水500的手写输入的示例输入区域400。数字墨水500包括形成问题短语“How are you?”的文本字符或符号,“H”501、“o”502、“w”503、“a”504、“r”505、“e”506、“y”507、“o”508、“u”509和“?”510。可以看出,用户已输入了由数字墨水文本500表示的输入,从而不符合行图案410。即,数字墨水文本500的字符501至510没有被直接写在任何一个行410上。然而,通过对输入的笔画应用结构变换,以进行适当的缩放和对齐来美化数字墨水,可以在行图案上呈现该输入。为了适当地做到这一点,确定关于数字墨水文本500的相对几何结构的信息,诸如手写体的下行部分,例如每个手写字符的基线与中线之间的距离,如下面详细描述。
(第一)几何信息由HWR系统114提供。即,在识别过程中,识别引擎118确定关于应用112的输入的每个字符的下极值和上极值的信息,如由HWR系统114识别。下极值是字符的笔画(或多个笔画)通过的最低点。上极值是字符的笔画(或多个笔画)通过的最高点。识别过程还在字符、单词(例如,一系列字符)、句子或短语(例如,一系列字符和/或单词)以及文本行(例如,一系列字符、单词和/或句子)级别上从这些极值书写行来确定。书写行包括顶线、底线、基线和中线。
顶线被定义为在字符、单词、句子或文本行的水平范围上穿过与上极值有关的点的水平线。底线被定义为在字符、单词、句子或文本行的水平范围上穿过与下极值有关的点的水平线。基线被定义为在字符、单词、句子或文本线的水平范围上穿过与底线有关的点的水平线,并且中线被定义为在字符、单词、句子或文本行的水平范围上穿过与顶线和基线有关的点的水平线。这些线穿过的点的确定对于HWR系统114所使用的识别过程和语言模型而言是特定的。
例如,对于将句子或短语中的所有字符和由这些字符构成的单词在类似垂直范围中书写的语言,诸如象形文字语言,对于单词、句子或文本行中的字符,例如,具有最高上极值的字符可用作顶线或中线的任一(或两者)的点,而具有最低下极值的字符可用作底线和基线的任一(或两者)的点。
另一方面,对于将句子或短语中的字符或字母以不同大小进行书写的语言,诸如基于拉丁语的语言,例如,大小写、上行和/或下行的字母(例如“h”、“g”)、变音符(例如,“i”、“j”)和标点符号(例如“?”),对于单词、句子或文本行中的字符,例如,具有最高上极值的字符可以用作顶线的点,具有最低下极值的字符可以用作底线的点,具有最低下极值字符(不具有下行字母)的字符可以用作基线的点,而具有最高上极值的小写字符(不具有上行字母)的小写字符可以用作中线的点。
或者,不将写入行设置为绝对值,而是可以取平均值或均值,诸如文本行、句子或单词或字符的笔画本身上的下极值和上极值的平均值或均值,因此局部变化和异常(诸如不适当的偏移字符)不会被赋予不希望的权重。
图6示出了图5的示例输入,其中由示出的HWR系统114提供基线和中线(或顶线)的上述几何信息。即,字符501-503被识别为属于一个单词600,例如“How”,其中针对单词600确定基线B0和中线M0,字符504-506被识别为属于一个单词602,例如“are”,其中针对单词602确定基线B2和中线M2,字符507-509被识别为属于一个单词604,例如“you”,其中针对单词604确定基线B4和中线M4,并且字符510被识别为单个符号606,其中针对符号606确定基线B6。本系统和方法使用几何信息,通过如下的输入笔画的适当缩放和对齐来提供结构变换。
结构变换使用比率,该比率是与行图案410的(第二)几何信息与输入的(第一)几何信息在字符、单词、句子或文本行级别的比较有关的多个不同比值之间的最小值。第一、第二和第三比率(下面描述)全部被确定的级别可以是例如经由应用程序112的UI预先确定或可设置的。在本文讨论的示例中,描绘了单词级别,但是它应该理解,类似的描述适用于其它级别。
行图案410的几何信息由应用程序确定并包括顶线、基线和中线,如图7中所示。例如,行图案的每行410的基线BL被定义为该行410,每行410的顶线TL被定义为处于距行410的基线BL(第一)偏移垂直距离处(例如,在LPU的约60%和约80%之间),并且每行410的中线ML被定义为处于距该行410的基线BL(和/或顶线TL)(第二)偏移垂直距离处(例如,在基线BL与顶线TL之间的距离的约30%和约70%之间)。以这种方式,一旦数字墨水被缩放到行图案410上,就为上行符和下行符、大写和语法符号提供了足够空间。
第一比率是行图案(即,一个LPU)的(第一)距离(即,高度)与输入的每个单词的(第一)距离(即,高度)的比率。单词的高度被定义为该单词的底线与顶线之间的垂直范围。类似的定义适用于字符级别,因为它们类似于具有单个字符的单词,诸如符号606。对于句子和文本行,高度可以从极值的绝对值确定,即最低的下极值和最高的上极值,和/或从基线和顶线确定,其可以基于或可以不基于平均值、均值或调整值(例如,丢弃大写或上行/下行字符)。
因此,在图6的示例中,例如,单词600的高度是从该单词的最高点(该字符501的最高点)开始到该单词的最低点(该字符503的最低点),单词602的高度是从单词的最高点(例如,字符504的最高点)到该单词的最低点(例如,字符508的最低点),单词604的高度是从该单词的最高点(例如,字符507的最高点)到该单词的最低点(例如,字符507的最低点),而符号606的高度是从字符510的最高点到字符510的最低点。因此,每个单词的第一比率提供由该单词的字符(即,包括大小写、上行符、下行符和语法符号)所设置的该单词的总高度与LPU的比较。
第二比率是行图案410的基线BL到顶线TL的(第二)距离(例如,顶部高度)与输入的每个单词的基线到顶线的(第二)距离(例如,顶部高度)的比率。因此,在图6的示例中,单词600的顶部高度是从该单词的顶线(例如,穿过字符501的最高点)到基线B0,单词602的顶部高度是从该单词的顶线(例如,穿过字符504的最高点)到基线B2,单词604的顶部高度是从该单词的顶线(例如,穿过字符507的最高点)到基线B4,而符号606的顶部高度从符号606的顶线(例如,穿过字符510的最高点)到基线B6。因此,每个单词的第二比率提供该单词的顶线到底线高度与行410的顶线高度的比较。
第三比率是行图案410的基线BL到中线ML的(第三)距离(例如,中间高度)与输入的每个单词的基线到中线的(第三)距离(例如,中间高度)的比率。因此,在图6的示例中,单词600的中间高度是从中线M0到基线B0,单词602的中间高度是从中线M2到基线B2,单词604的中间高度是从中线M4到基线B4,而符号606的中间高度是从符号606的中线(例如,与顶线相同)到基线B6。因此,每个单词的第三比率提供了该单词的中线到基线高度与行410的中线高度的比较。
比较这些比率中的两个或更多个以确定最小值。例如,可以比较第一和第二比率,或者第一和第三,或者第二和第三,或者全部三个比率。此外,可以确定其它比率并将其用于比较。该比较允许将最小的字符、单词、句子或文本行大小用于结构变换。在结构变换中,经缩放的数字墨水的呈现笔画与原始输入相比是最小的。然而,如果每个比较比率的最小值大于1,则返回的最小值求交运算(cap)为1,使得不执行缩放。这尤其适于一些不需要缩放的标点符号,诸如句号。
一旦进行比较,(未缩放或原始的)数字墨水的元素(例如,取决于用于比较的级别的字符、单词等)通过最小值进行缩放,并且被呈现在行图案的行410中的一个上,使得缩放元素的基线位于该行410的基线(即,在行410上)。图8示出了示例,其中为了对数字墨水500执行结构变换,成为结构化(第二)数字墨水800,根据上述第一、第二和第三比率的比较来确定数字墨水500的每个单词600至606的最小比值。结构化数字墨水文本800包括作为单词600的缩放版本的单词801,作为单词602的缩放版本的单词802,作为单词604的缩放版本的单词804,以及作为单词606的缩放版本的单词806。结构化数字墨水文本800被呈现在行图案410的最上(第一)行上,使得每个缩放单词801至806的基线被定位在第一行410中。
HWR系统114可能在确定输入的元素的基线方面具有一些问题,因为可能存在许多不明确性而导致不大可能识别基线。因此,应用程序112可以被配置成取决于由HWR系统114识别的元素/字符来处理缩放笔画的平移。例如,HWR系统114可能不能为识别为连字符或负号的单个水平线设置基线,因此应用程序112可以在与行410偏移来显示缩放笔画,诸如以便垂直居中于呈现区域的行图案中。
在行图案410的多行上的每个元素的定位是基于某些预定义或可设置的准则(诸如对于从左到右书写的语言),从设备100的呈现区域的顶部与第一可用行的第一可用的最左边区段进行对齐,其中呈现区域可以容纳缩放元素。例如,在图8的示例中,呈现区域与输入区域400重叠或共同延伸,使得缩放数字墨水文本800在第一行410上左对齐,因为在任何一行410上没有显示其它内容(例如,数字或排版墨水)。用于定位变换后的墨水的准则的另一示例可以是使用光标作为新输入的插入点,例如允许用户完成先前的输入(稍后详细描述)。例如,如果下一个可用位置位于先前用于结构化数字墨水的行的下方的行上,则这种定位可以包括在多个行410上的输入的重排(reflow)。以这种方式,可以从一系列单行文本输入(如下所述输入)形成文本段落,并且可以对结构化数字墨水执行编辑操作,包括触发重排事件的操作(如稍后所述)。
关于应用程序112的输入和呈现区域或区,应注意到这些区域可以是共同延伸的,如在图8的示例中那样,使得一旦输入已被接收并且在设定的(如由计算设备100的时钟结合例如存储器108所测量的)时间量之后被显示/呈现为原始数字墨水(例如,数字墨水500),从输入区域中清除原始数字墨水,并且在呈现区域上显示/呈现结构化数字墨水(例如,数字墨水800)。或者,输入区域和呈现区域可以被分隔在界面104的不同区域或者在分开的显示器或显示设备上,使得原始数字墨水的显示可以保持并滚动,例如以允许进一步输入,或者可以在一段时间或收到新输入之后被省略。例如,在分隔显示或重叠显示的任何一种情况下,叠加输入可能是可能,其中字符或单词或单词的部分彼此重叠地被输入,并且淡出或以其他方式省略先前录入的输入,诸如在以本申请人和受让人的名义提交的美国专利公开第2015/0286886号以及以本申请人和受让人的名义提交的美国专利公开第2015/0356360号中描述,其全部内容以引用方式并入本文中。
此外,在结构变换中,输入中的字符之间和单词之间的空间被变换为固定间距,诸如如图8中所示。可以基于LPU(例如,LPU的约5%至约15%)或行图案的中线高度(例如,中间高度的约40%至约60%)或其它准则来设置固定间距。提供固定间距以便提供与行图案对齐的大致归一化和美化的数字墨水输出,特别是关于上述新输入,其可以在与先前缩放的输入相同的行上呈现为缩放数字墨水。或者,输入的字符/单词之间的间距可以参照相关联的字符/单词的缩放来进行缩放。
上述示例包括通常在从左到右(或从右到左)书写的背景下水平提供的输入。然而,正如被理解为输入文本(诸如单词)的元素的几何形状被考虑用于结构变换一样,其它输入方式也由本系统和方法来处理。例如,图9示出了具有呈现为数字墨水文本900的手写输入的示例输入区域400。与上述示例中一样,数字墨水文本900包括‘单词’600、602、604和606,然而这些单词是垂直输入使得单词600在其它单词上方,单词602在单词604和606上方,并且单词604和606在相同的文本行上。如此,数字墨水900位于与任何一行410都不对齐的多个文本行上。如同上述示例一样,针对单词600确定基线B0和中线M0,针对单词602确定基线B2和中线M2,针对单词604确定基线B4和中线M4,并且针对符号606确定基线B6,如图10中所示。因此,由于几何信息是相同的,所以结构变换与前面所述的相同,使得非结构化数字墨水900被变换成如图8中所示的经过缩放和对齐的数字墨水800。可以理解的是,类似的变换可以适于输入手写体的其它对齐和方式。
根据设备100上的手写输入将非美化或“未加工”的数字墨水美化成美化数字墨水提供了以归一化和标准方式显示用户手写输入的方式,从而有助于内容的易读性、可用性和交互性。考虑到引导用户使用类似于文档处理应用程序中预期的那些机制与美化数字墨水的这种交互的是有益的,因为这增强了与应用程序112的用户体验。一种这样的机制是使用输入或编辑光标作为字符级别编辑操作的指针,诸如回车、空格插入、字符删除或插入。例如,图11示出了在美化数字墨水800之后提供的光标1100。
应该理解,除了引导与美化内容的手写交互之外,光标还提供其它形式的输入的定位,诸如通过键盘键入或通过语音识别输入的文本。可以看出,光标1100被显示为具有与结构化数字墨水相似的大小调整和对齐。响应于用户与呈现或编辑区域内的数字墨水的交互,应用程序112可以显示光标,并执行编辑功能。这种交互可以通过触摸和悬停设备上的已知手势(诸如轻击、双击、按压、长按、滑动、捏)、特定的数字墨水编辑手势(诸如均以本申请人和受让人的名义提交的标题为“System and Method for Note Taking Gestures”的欧洲专利申请第15290296.1号以及美国专利申请第14/989,217号中描述的手势,其全部内容以引用方式并入本文中)或硬件工具(诸如键盘、鼠标)。可选地或附加地,例如,一旦数字墨水已经被美化,光标可以由应用程序112在(设置的)默认位置处显示,诸如在(最近的)美化数字墨水的末尾(例如,如图11中所示)。例如,保持显示光标,直到应用程序112检测到新的手写输入为止。
如前所述,本系统和方法通过识别过程中的分割来提供光标管理。现在描述本系统和方法的这个方面。如上所述,在识别过程期间由HWR系统114执行分割。该分割信息由应用程序112获取以确定手写输入内的每个识别元素的范围,诸如例如手写文本的字符、手写图画的形状等。例如,图12示出了确定的范围,针对输入的字符501至510的示例分割,分别被示出为字符边界框511至520。本系统和方法使用这些范围在每个字符的边界框上显示光标。例如,在图11中,光标1100被显示在字符510的边界框520的右边缘处。
然而,不同于排版或字体化墨水,数字墨水甚至美化数字墨水并不是逐个字符地按规律提供。这是因为,手写是书写用户的个人字体的形式,并且虽然手写语言遵循基本标准,但是存在许多变化。因此,由于大写字母、上行符、下行符、倾斜书写或只是乱写,许多字符将在水平方向或垂直方向或这两个方向上重叠。虽然HWR系统114处理字符重叠以正确识别字符,但字符位置本身并未通过上述的分割或美化来调整。可以进行这种调整,但是难以提供通用规则,因为如上所述,手写方式非常个人化。因此,字符重叠导致边界框的重叠。例如,如可以在图12中看出,由于字符505和506的重叠,边界框515和516重叠。因此,在重叠的边界框上呈现光标可能导致用户混淆。以下关于图13至图18描述本系统和方法如何处理这种情况的示例。
图13示出了具有呈现为数字墨水文本1300的手写输入的示例输入区域400。数字墨水文本1300包括形成大写字母的单词“Tree”字符或符号,“T”1302、“r”1304、“e”1306和“e”1308。如前所述,用户已输入了由数字墨水文本1300表示的输入,从而不符合行图案410。图14示出了数字墨水文本1300,其中由HWR系统114分割的确定的每个字符的范围被示出为分别对应于字符1302至1308的边界框1402至1408。
图15示出了图13的数字墨水1300,在结构变换之后产生缩放数字墨水1500,其通过前述准则与行图案410正确对齐。可以理解的是,由于本示例的美化数字墨水是单词内未经调整(诸如字符间距和字符大小调整)的‘原始’数字墨水的缩放和对齐版本,因此结构变换同样适用于被分割的字符的范围。因此,如图16中所示,数字墨水1300的边界框1402至1408分别缩放到结构化数字墨水1500的边界框1602至1608。这些缩放的边界框因此被应用程序112用来设置光标位置,其通过以下列一种或多种方式考虑边界框的几何特征。
在两个连续字符的范围不重叠的情况下,本系统和方法可以应用多种策略来放置光标:
·光标位于这两个字符之间处于范围边界的中心。例如,图17A示出了位于不重叠的相应的(第一)字符1304和(第二)字符1306的边界框1604和1606之间的中心的居中(第一)光标1700。
·光标位于这两个字符之间处于左侧字符的右侧范围边界处。例如,图17B示出了位于不重叠字符1304和1306之间的处于字符1304的边界框1604的右边缘上的左对齐(第二)光标1702。
·光标位于这两个字符之间处于右侧字符的左侧范围边界处。例如,图17C示出了位于不重叠字符1304和1306之间的处于字符1306的边界框1606的左边缘上的右对齐(第三)光标1704。
然而,在两个连续字符的范围确实重叠的情况下,本系统和方法可以应用几种策略来放置光标:
·光标位于这两个字符之间处于由重叠字符的范围定义的重叠区域的中心。例如,图18A示出了位于(第一)字符1302和(第二)字符1304的重叠区域的中心的居中(第四)光标1800。然而,可以看出,该设置可能导致用户混淆光标1800与哪个字符相关。
·考虑到重叠字符范围的其它几何特征(诸如边界框的高度、宽度或面积),光标位于这两个字符之间处于字符的范围边界处,其中这些几何特征的最小值或最高值在重叠区域中。例如,图18B示出了位于重叠字符1302和1304之间的处于字符1304的边界框1604的左边缘上的左对齐(第五)光标1802,其中具有最小高度的边界框的字符被用作光标定位准则。
如同任何文档编辑应用程序一样,如先前所讨论,可以通过在由应用程序112提供的编辑区域内的用户交互(诸如通过轻击或点击)来设置和重置光标位置。然而,在输入或捕获区域与呈现或编辑区域重叠的本系统和方法的上述示例中,手势的接收可能导致设置光标位置与输入新内容之间的不明确性。本系统和方法通过评估关于接收到的用户交互的特定准则来解决这种不明确性,以识别‘设置光标位置’动作。例如,当:
·输入由独特的笔画组成,直到书写会话结束为止;以及
·新输入是定义用户交互点的单点手势,诸如轻击或其它独特采样点;以及
·用户交互点处的呈现区域中存在内容(诸如字符或单词),则:
用户交互被认为是设置光标位置的请求。
本系统和方法通过考虑手写的相对几何信息(诸如手写的下行部),例如,由用于识别手写输入的识别过程确定的手写的基线与中线之间的距离,通过缩放或最小化以及对齐编辑区域的对齐元素上的数字墨水来适当地美化“自由”(非结构化)输入的数字墨水。此外,本系统和方法考虑由用于识别手写输入的识别过程确定的字符分割,以允许管理美化数字墨水的编辑光标位置,使得编辑操作可以基于字符来执行,而不仅仅基于例如单词、句子、行或块。
虽然前文已经描述了被认为是最佳模式和/或其它示例的内容,但是应该理解,可以在其中进行各种修改,并且本文公开的主题可以以各种形式和示例来实现,并且它们可以应用于许多其它应用程序、组合和环境中,本文仅描述了其中的一些。本领域的普通技术人员将认识到,在不脱离本主题的真实精神和范围的情况下,可以改变或修改所公开的方面。因此,该主题不限于本说明书中的具体细节、呈现和说明性示例。旨在保护落入本文公开的有利构思的真实范围内的任何和所有修改和变化。
Claims (30)
1.一种用于在计算设备上美化数字墨水的系统,每个计算设备包括处理器和用于在所述处理器的控制下识别手写输入的至少一个非暂时性计算机可读介质,所述至少一个非暂时性计算机可读介质被配置成:
使得根据所述手写输入在计算设备的显示界面上显示第一数字墨水;
根据通过识别所述手写输入确定的所述手写输入的第一几何信息和所述显示界面的对齐结构的第二几何信息来确定所述第一数字墨水的结构变换;以及
使得根据所述结构变换在所述显示界面上显示第二数字墨水。
2.根据权利要求1所述的系统,所述至少一个非暂时性计算机可读介质被配置成根据所述第一几何信息和所述第二几何信息的至少两个比较来确定所述结构变换。
3.根据权利要求2所述的系统,所述至少两个比较提供所述第一几何信息和所述第二几何信息的第一比值和第二比值,所述至少一个非暂时性计算机可读介质被配置成根据所述第一比值和所述第二比值中的最小值来确定所述结构变换。
4.根据前述权利要求中任一项所述的系统,所述至少一个非暂时性计算机可读介质被配置成确定所述结构变换以缩放所述第一数字墨水以产生所述第二数字墨水。
5.根据前述权利要求中任一项所述的系统,所述至少一个非暂时性计算机可读介质被配置成确定所述结构变换以将所述第一数字墨水与所述对齐结构对齐以产生所述第二数字墨水。
6.根据前述权利要求中任一项所述的系统,其中所述对齐结构是行图案。
7.一种用于在计算设备上美化数字墨水的方法,每个计算设备包括处理器和用于在所述处理器的控制下识别手写输入的至少一个非暂时性计算机可读介质,所述方法包括:
根据所述手写输入在计算设备的显示界面上显示第一数字墨水;
根据通过识别所述手写输入确定的所述手写输入的几何信息来确定所述第一数字墨水的结构变换;以及
根据所述结构变换在所述显示界面上显示第二数字墨水。
8.根据权利要求7所述的方法,其中所述结构变换是根据所述第一几何信息和所述第二几何信息的至少两个比较来确定的。
9.根据权利要求8所述的方法,其中所述至少两个比较提供所述第一几何信息和所述第二几何信息的第一比值和第二比值,所述结构变换是根据所述第一比值和所述第二比值中的最小值来确定的。
10.根据权利要求7至9中任一项所述的方法,其中所述结构变换缩放所述第一数字墨水以产生所述第二数字墨水。
11.根据权利要求7至10中任一项所述的方法,其中所述结构变换将所述第一数字墨水与所述对齐结构对齐以产生所述第二数字墨水。
12.根据权利要求7至11中任一项所述的方法,其中所述对齐结构是行图案。
13.一种其中具体实施有计算机可读程序代码的非暂时性计算机可读介质,所述计算机可读程序代码适于被执行以实现用于在计算设备上美化数字墨水的方法,所述计算设备包括处理器和用于在所述处理器的控制下识别手写输入的至少一个系统非暂时性计算机可读介质,所述方法包括:
根据所述手写输入在计算设备的显示界面上显示第一数字墨水;
根据通过识别所述手写输入确定的所述手写输入的几何信息来确定所述第一数字墨水的结构变换;以及
根据所述结构变换在所述显示界面上显示第二数字墨水。
14.根据权利要求13所述的非暂时性计算机可读介质,其中所述结构变换是根据所述第一几何信息和所述第二几何信息的至少两个比较来确定的。
15.根据权利要求14所述的非暂时性计算机可读介质,其中所述至少两个比较提供所述第一几何信息和所述第二几何信息的第一比值和第二比值,所述结构变换是根据所述第一比值和第二比值中的最小值来确定的。
16.根据权利要求13至15中任一项所述的非暂时性计算机可读介质,其中所述结构变换缩放所述第一数字墨水以产生所述第二数字墨水。
17.根据权利要求13至16中任一项所述的非暂时性计算机可读介质,其中所述结构变换将所述第一数字墨水与所述对齐结构对齐以产生所述第二数字墨水。
18.根据权利要求13至17中任一项所述的非暂时性计算机可读介质,其中所述对齐结构是行图案。
19.一种用于在计算设备上提供数字墨水的编辑的系统,每个计算设备包括处理器和用于在所述处理器的控制下识别手写输入的至少一个非暂时性计算机可读介质,所述至少一个非暂时性计算机可读介质被配置成:
使得根据所述手写输入在计算设备的显示界面上显示数字墨水;
根据通过识别所述手写输入确定的所述手写输入的分割信息来确定所述数字墨水的元素的范围;以及
使得参照所确定的数字墨水元素范围在所述显示界面上显示输入光标。
20.根据权利要求19所述的系统,其中所述数字墨水的所述元素包括文本字符,所述至少一个非暂时性计算机可读介质被配置成参照所确定的第一字符和第二字符的范围在所述第一字符与所述第二字符之间的位置处显示所述输入光标。
21.根据权利要求20所述的系统,其中所确定的所述第一字符和所述第二字符的范围重叠,所述至少一个非暂时性计算机可读介质被配置成:
比较所确定的所述第一字符和第二字符的范围的几何特征;以及
根据所述比较,使得在所述重叠区域内、所确定的所述第一字符的范围或所确定的所述第二字符的范围的边界上显示所述输入光标。
22.根据权利要求21所述的系统,其中所述几何特征包括所确定的范围的高度和宽度。
23.一种用于在计算设备上提供数字墨水的编辑的方法,每个计算设备包括处理器和用于在所述处理器的控制下识别手写输入的至少一个非暂时性计算机可读介质,所述方法包括:
根据所述手写输入在计算设备的显示界面上显示数字墨水;
根据通过识别所述手写输入确定的所述手写输入的分割信息来确定所述数字墨水的元素的范围;以及
参照所确定的数字墨水元素范围在所述显示界面上显示编辑光标。
24.根据权利要求23所述的方法,其中所述数字墨水的所述元素包括文本字符,所述输入光标参照所确定的第一字符和第二字符的范围被显示在所述第一字符与所述第二字符之间的位置处。
25.根据权利要求24所述的方法,其中所确定的所述第一字符和所述第二字符的范围重叠,所述方法包括比较所确定的所述第一字符和所述第二字符的范围的几何特征,根据所述比较,所述输入光标被显示在所述重叠区域内、所确定的所述第一字符的范围或所确定的所述第二字符的范围的边界上。
26.根据权利要求25所述的方法,其中所述几何特征包括所确定的范围的高度和宽度。
27.一种其中具体实施有计算机可读程序代码的非暂时性计算机可读介质,所述计算机可读程序代码适于被执行以实现用于在计算设备上提供数字墨水的编辑的方法,所述计算设备包括处理器和用于在所述处理器的控制下识别手写输入的至少一个系统非暂时性计算机可读介质,所述方法包括:
根据所述手写输入在计算设备的显示界面上显示数字墨水;
根据通过识别所述手写输入确定的所述手写输入的分割信息来确定所述数字墨水的元素的范围;以及
参照所确定的数字墨水元素范围在所述显示界面上显示编辑光标。
28.根据权利要求27所述的非暂时性计算机可读介质,其中所述数字墨水的所述元素包括文本字符,所述输入光标参照所确定的第一字符和第二字符的范围显示在所述第一字符与所述第二字符之间的位置处。
29.根据权利要求28所述的非暂时性计算机可读介质,其中所确定的所述第一和所述第二字符的范围重叠,所述方法包括比较所确定的所述第一字符和所述第二字符的范围的几何特征,根据所述比较,所述输入光标被显示在所述重叠区域内、所确定的所述第一字符的范围或所确定的所述第二字符的范围的边界上。
30.根据权利要求29所述的非暂时性计算机可读介质,其中所述几何特征包括所确定的范围的高度和宽度。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP15290303.5 | 2015-12-08 | ||
EP15290303 | 2015-12-08 | ||
US14/978,081 | 2015-12-22 | ||
US14/978,081 US10410316B2 (en) | 2015-12-08 | 2015-12-22 | System and method for beautifying digital ink |
PCT/EP2016/002046 WO2017097411A1 (en) | 2015-12-08 | 2016-12-06 | System and method for beautifying digital ink |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108369637A true CN108369637A (zh) | 2018-08-03 |
CN108369637B CN108369637B (zh) | 2022-09-09 |
Family
ID=55085496
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201680072148.3A Active CN108369637B (zh) | 2015-12-08 | 2016-12-06 | 用于美化数字墨水的系统和方法 |
Country Status (6)
Country | Link |
---|---|
US (1) | US10410316B2 (zh) |
EP (1) | EP3387582A1 (zh) |
JP (1) | JP6914260B2 (zh) |
KR (1) | KR102347554B1 (zh) |
CN (1) | CN108369637B (zh) |
WO (1) | WO2017097411A1 (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10852938B2 (en) | 2016-01-07 | 2020-12-01 | Myscript | System and method for mixed content digital ink interactivity |
US11023661B2 (en) * | 2018-05-03 | 2021-06-01 | Microsoft Technology Licensing, Llc | Visually enhanced digital ink |
US11017258B2 (en) | 2018-06-05 | 2021-05-25 | Microsoft Technology Licensing, Llc | Alignment of user input on a screen |
US20200356251A1 (en) * | 2019-05-06 | 2020-11-12 | Apple Inc. | Conversion of handwriting to text in text fields |
KR20190096872A (ko) * | 2019-07-31 | 2019-08-20 | 엘지전자 주식회사 | 연합학습(Federated learning)을 통한 필기체 인식방법 및 이를 위한 장치 |
KR102570007B1 (ko) * | 2019-11-04 | 2023-08-23 | 삼성전자주식회사 | 필기 입력을 보정하는 방법 및 전자 장치 |
KR20220017063A (ko) | 2020-08-04 | 2022-02-11 | 삼성전자주식회사 | 전자 장치에서 손 글씨 입력 제공 방법 및 장치 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5953735A (en) * | 1991-03-20 | 1999-09-14 | Forcier; Mitchell D. | Script character processing method and system with bit-mapped document editing |
CN1173247C (zh) * | 1999-01-13 | 2004-10-27 | 国际商业机器公司 | 具有文字分割用户接口的手写信息处理系统 |
CN101103363A (zh) * | 2005-01-11 | 2008-01-09 | 视觉客体公司 | 搜索、识别和定位墨水中的术语的方法、装置、程序和语言 |
CN101393645A (zh) * | 2008-09-12 | 2009-03-25 | 浙江大学 | 一种手写体汉字的计算机生成与美化方法 |
US7567239B2 (en) * | 2003-06-26 | 2009-07-28 | Motorola, Inc. | Method and system for message and note composition on small screen devices |
CN101536012A (zh) * | 2005-07-01 | 2009-09-16 | 微软公司 | 用于标准化和美化/墨水美化的墨水扭曲 |
US20100232699A1 (en) * | 2003-02-26 | 2010-09-16 | Silverbrook Research Pty Ltd | System For Line Extraction In Digital Ink |
CN102681745A (zh) * | 2010-12-28 | 2012-09-19 | 广东开心信息技术有限公司 | 手写输入系统及用户终端 |
CN103135915A (zh) * | 2011-11-29 | 2013-06-05 | 北京三星通信技术研究有限公司 | 手写输入美化的方法和装置 |
Family Cites Families (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4731857A (en) | 1984-06-29 | 1988-03-15 | International Business Machines Corporation | Recognition system for run-on handwritten characters |
US5396566A (en) | 1993-03-04 | 1995-03-07 | International Business Machines Corporation | Estimation of baseline, line spacing and character height for handwriting recognition |
JP2939147B2 (ja) * | 1994-12-29 | 1999-08-25 | シャープ株式会社 | 手書き文字入力表示装置および方法 |
US6408092B1 (en) | 1998-08-31 | 2002-06-18 | Adobe Systems Incorporated | Handwritten input in a restricted area |
US7091959B1 (en) | 1999-03-31 | 2006-08-15 | Advanced Digital Systems, Inc. | System, computer program product, computing device, and associated methods for form identification and information manipulation |
US7751623B1 (en) | 2002-06-28 | 2010-07-06 | Microsoft Corporation | Writing guide for a free-form document editor |
US7137077B2 (en) * | 2002-07-30 | 2006-11-14 | Microsoft Corporation | Freeform encounter selection tool |
US7284200B2 (en) | 2002-11-10 | 2007-10-16 | Microsoft Corporation | Organization of handwritten notes using handwritten titles |
US8116569B2 (en) * | 2007-12-21 | 2012-02-14 | Microsoft Corporation | Inline handwriting recognition and correction |
US8094941B1 (en) * | 2011-06-13 | 2012-01-10 | Google Inc. | Character recognition for overlapping textual user input |
KR101337872B1 (ko) * | 2013-04-04 | 2013-12-06 | 주식회사 디오텍 | 잉크 텍스트 데이터 편집장치 및 잉크 텍스트 데이터 편집방법 |
US9881224B2 (en) * | 2013-12-17 | 2018-01-30 | Microsoft Technology Licensing, Llc | User interface for overlapping handwritten text input |
US9524440B2 (en) | 2014-04-04 | 2016-12-20 | Myscript | System and method for superimposed handwriting recognition technology |
US9384403B2 (en) | 2014-04-04 | 2016-07-05 | Myscript | System and method for superimposed handwriting recognition technology |
US9814038B2 (en) * | 2014-07-14 | 2017-11-07 | Honeywell International Inc. | 6lowpan based multidisciplinary wireless sensor protocol for connected home security systems |
KR20160062566A (ko) * | 2014-11-25 | 2016-06-02 | 삼성전자주식회사 | 필기 문자를 보정하는 디바이스 및 방법 |
JP6492894B2 (ja) * | 2015-04-01 | 2019-04-03 | 富士通株式会社 | 認識プログラム、認識方法及び認識装置 |
US20170103046A1 (en) * | 2015-10-07 | 2017-04-13 | Holden Schroder | System and method for providing personalized font via processor-based application |
-
2015
- 2015-12-22 US US14/978,081 patent/US10410316B2/en active Active
-
2016
- 2016-12-06 JP JP2018530055A patent/JP6914260B2/ja active Active
- 2016-12-06 CN CN201680072148.3A patent/CN108369637B/zh active Active
- 2016-12-06 EP EP16816195.8A patent/EP3387582A1/en active Pending
- 2016-12-06 KR KR1020187019464A patent/KR102347554B1/ko active IP Right Grant
- 2016-12-06 WO PCT/EP2016/002046 patent/WO2017097411A1/en active Application Filing
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5953735A (en) * | 1991-03-20 | 1999-09-14 | Forcier; Mitchell D. | Script character processing method and system with bit-mapped document editing |
CN1173247C (zh) * | 1999-01-13 | 2004-10-27 | 国际商业机器公司 | 具有文字分割用户接口的手写信息处理系统 |
US20100232699A1 (en) * | 2003-02-26 | 2010-09-16 | Silverbrook Research Pty Ltd | System For Line Extraction In Digital Ink |
US7567239B2 (en) * | 2003-06-26 | 2009-07-28 | Motorola, Inc. | Method and system for message and note composition on small screen devices |
CN101103363A (zh) * | 2005-01-11 | 2008-01-09 | 视觉客体公司 | 搜索、识别和定位墨水中的术语的方法、装置、程序和语言 |
CN101536012A (zh) * | 2005-07-01 | 2009-09-16 | 微软公司 | 用于标准化和美化/墨水美化的墨水扭曲 |
CN101393645A (zh) * | 2008-09-12 | 2009-03-25 | 浙江大学 | 一种手写体汉字的计算机生成与美化方法 |
CN102681745A (zh) * | 2010-12-28 | 2012-09-19 | 广东开心信息技术有限公司 | 手写输入系统及用户终端 |
CN103135915A (zh) * | 2011-11-29 | 2013-06-05 | 北京三星通信技术研究有限公司 | 手写输入美化的方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
KR20180097618A (ko) | 2018-08-31 |
WO2017097411A1 (en) | 2017-06-15 |
EP3387582A1 (en) | 2018-10-17 |
JP6914260B2 (ja) | 2021-08-04 |
KR102347554B1 (ko) | 2022-01-05 |
US10410316B2 (en) | 2019-09-10 |
US20170161866A1 (en) | 2017-06-08 |
JP2019508770A (ja) | 2019-03-28 |
CN108369637B (zh) | 2022-09-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11740783B2 (en) | System and method of guiding handwriting diagram input | |
US10664695B2 (en) | System and method for managing digital ink typesetting | |
US11402991B2 (en) | System and method for note taking with gestures | |
CN108369637A (zh) | 用于美化数字墨水的系统和方法 | |
EP3320482B1 (en) | System for recognizing multiple object input and method and product for same | |
JP7105695B2 (ja) | デジタルインク対話性のためのシステムおよび方法 | |
CN108475325B (zh) | 用于识别手写图连接符的系统、方法及计算机可读介质 | |
CN108700996A (zh) | 用于多输入管理的系统和方法 | |
CN114365075A (zh) | 用于选择图形对象的方法和对应装置 | |
EP3491580B1 (en) | System and method for beautifying superimposed digital ink | |
US20240134507A1 (en) | Modifying digital content including typed and handwritten text | |
WO2024110354A1 (en) | Setting font size in an unconstrained canvas | |
WO2017118609A1 (en) | System and method for digital ink interactivity |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |