CN105830011A - User interface for overlapping handwritten text input - Google Patents
User interface for overlapping handwritten text input Download PDFInfo
- Publication number
- CN105830011A CN105830011A CN201480069495.1A CN201480069495A CN105830011A CN 105830011 A CN105830011 A CN 105830011A CN 201480069495 A CN201480069495 A CN 201480069495A CN 105830011 A CN105830011 A CN 105830011A
- Authority
- CN
- China
- Prior art keywords
- stroke
- strokes
- characters
- user
- character
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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 OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/0007—Image acquisition
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/20—Image preprocessing
- G06V10/26—Segmentation of patterns in the image field; Cutting or merging of image elements to establish the pattern region, e.g. clustering-based techniques; Detection of occlusion
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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 OR CALCULATING; 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
- G06V30/333—Preprocessing; Feature extraction
- G06V30/347—Sampling; Contour coding; Stroke extraction
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Computer Vision & Pattern Recognition (AREA)
- General Engineering & Computer Science (AREA)
- Human Computer Interaction (AREA)
- User Interface Of Digital Computer (AREA)
- Character Discrimination (AREA)
Abstract
Description
背景技术Background technique
传统上,文本是利用硬件键盘(例如,12个电话键或QWERTY键盘)或软件键盘(例如,键是在触摸屏显示器上显示的图形按钮)输入的。这种方法的主要问题是在手持设备上的键尺寸小,使得相对难以键入。通常,键盘被划分成若干部分(字母vs.数字vs.特殊字符)。这允许用户在各部分之间切换,并且在一个时刻在屏幕上仅显示一部分。这允许每部分更大的按钮,但是切换引起了用户的开销。并且,随着移动设备的屏幕尺寸减小,用户在触摸屏上触摸所意图的字符时易于出现更多错误,由此降低了整体准确性。因此,存在一种看法:与更为自然的用户输入(例如,笔迹辨识)相比,在较小的屏幕上进行键入没有在速度和/或准确性方面提供特别的价值。Traditionally, text is entered using a hardware keyboard (eg, 12 phone keys or a QWERTY keyboard) or a software keyboard (eg, keys are graphical buttons displayed on a touch screen display). The main problem with this approach is the small size of the keys on handheld devices, making them relatively difficult to type. Typically, the keyboard is divided into sections (letters vs. numbers vs. special characters). This allows the user to switch between sections and only have one section displayed on the screen at a time. This allows for larger buttons per section, but switching causes overhead for the user. Also, as the screen size of mobile devices decreases, users tend to make more mistakes when touching intended characters on the touch screen, thereby reducing overall accuracy. Thus, there is a perception that typing on a smaller screen offers no particular value in terms of speed and/or accuracy compared to more natural user input (eg, handwriting recognition).
因此,在小屏幕的情况下,对于个人通信,笔迹有时提供比键入更多的好处。此外,手写笔记通常包含凭借于书写字体的微妙的个人暗示,以及不能通过键入的文本来表达的绘画。当今的许多通信设备(例如,智能手机、平板计算机等)具有基于触摸屏的系统,其能够记录在设备的触摸屏上输入的笔迹。若干商业应用采用笔迹来记笔记和消息传送。不巧的是,这些类型的笔迹应用通常需要触笔,或需要足够大的表面以供手指以足够的精度书写。这对于移动设备的小屏幕来说是成问题的。Thus, in the case of small screens, handwriting sometimes offers more benefits than typing for personal communications. In addition, handwritten notes often contain subtle personal cues by virtue of handwriting, as well as drawings that cannot be conveyed through typed text. Many of today's communication devices (eg, smartphones, tablet computers, etc.) have touchscreen-based systems that are capable of recording handwriting entered on the device's touchscreen. Several business applications employ handwriting for note-taking and messaging. Unfortunately, these types of handwriting applications typically require a stylus, or a surface large enough for a finger to write with sufficient precision. This is problematic for the small screens of mobile devices.
例如,一种常规的笔迹技术提供了基于手机的应用,其中用户在手机的横向模式下写入字符。用户对屏幕的最左边的触摸(或等待超时)将书写接受,并清除屏幕以供更多的输入。不巧的是,这种方法需要用户在空间上组织她的输入,以使得触发“接受和清除”型动作并因此有合适量的空间围绕每个字符,这是因为字符是通过将在头前的和在尾后的空白包括在内来被串接的。另外,这种应用的横向定向使得频繁旋转设备成为必要。另一类似应用使用两手指滑动的手势来在屏幕上手动布置预先定义的墨迹段,从而形成个体字符。For example, one conventional handwriting technology provides a mobile phone-based application in which a user writes characters while the phone is in landscape mode. A user's leftmost touch of the screen (or wait for a timeout) accepts the writing and clears the screen for more input. Unfortunately, this approach requires the user to spatially organize her input so that an "accept and clear" type action is triggered and thus has the right amount of space around each character, since the characters are created by placing the and trailing blanks are included to be concatenated. Additionally, the landscape orientation of such applications necessitates frequent rotation of the device. Another similar application uses a two-finger swipe gesture to manually arrange predefined ink segments on the screen, forming individual characters.
在为解决较小屏幕上可用于以手指书写的空间有限的问题而进行的尝试中,已经实现了各种自动分割技术以便在移动文本输入场景中使用。这样的系统允许将字母以覆于彼此上的方式(ontopofeachother)写入,并且然后这些字母通过后处理被分离。例如,所谓的交叠辨识系统通常是通过这样来运作的:评估交叠笔划以识别所意图的字符,并且然后使用该信息来分割笔划。不巧的是,这意味着这些系统使用文本辨识或笔迹辨识的形式,这是连同笔划分割一起执行的,作为在对笔划进行分割时使用的引导或辅助,伴随着作为结果的复杂性和计算开销需求的增加。一种避免字符分割问题的方法是使用定制的单笔划字母表,其中每个个体笔划表示一个不同的字符。这样的技术可以允许免视(eyes-free)输入,但却要求用户学习新的手势集(即,针对每个个体字符的不同的单个笔划)来输入文本。In an attempt to address the limited space available for writing with fingers on smaller screens, various automatic segmentation techniques have been implemented for use in mobile text entry scenarios. Such a system allows letters to be written on top of each other, and these letters are then separated by post-processing. For example, so-called overlap recognition systems typically work by evaluating overlapping strokes to identify intended characters, and then using this information to segment the strokes. Unfortunately, this means that these systems use a form of text recognition or handwriting recognition, which is performed in conjunction with stroke segmentation as a guide or aid in segmenting the strokes, with the resulting complexity and computational Increased overhead requirements. One way to avoid the character segmentation problem is to use a custom single-stroke alphabet, where each individual stroke represents a different character. Such techniques may allow for eyes-free input, but require the user to learn a new set of gestures (ie, different individual strokes for each individual character) to enter text.
另一种手指输入笔迹方法允许用户在触摸表面上通过织物(fabric)书写交叠字符。这种方法通常在没有进一步的用户动作的情况下辨识单笔划字母(例如,“c”或“l”)。然而,为了对更复杂的字符(例如“k”、“t”、“f”和“x”)分割交叠笔划,这种方法寻找第二特定笔划。特别地,如果遇到“<”、“—”、“\”或“/”手势,则该方法将该笔划与先前输入的笔划简单地融合以产生字符。换句话说,该方法或是将单个笔划作为字符识别,或是查找用于指示连续的笔划将被融合的一个或多个特殊标识符笔划或手势。在没有识别该类型的特殊字符的情况下,该系统不能够分割多个交叠笔划来确定用户意图的是什么字符。Another method of finger input handwriting allows a user to write overlapping characters through a fabric on a touch surface. This approach typically recognizes single-stroke letters (eg, "c" or "l") without further user action. However, to segment overlapping strokes for more complex characters such as "k", "t", "f" and "x", this method looks for a second specific stroke. In particular, if a "<", "—", "\" or "/" gesture is encountered, the method simply fuses that stroke with a previously entered stroke to produce a character. In other words, the method either recognizes individual strokes as characters, or looks for one or more special identifier strokes or gestures that indicate that consecutive strokes are to be merged. Without recognizing that type of special character, the system cannot segment multiple overlapping strokes to determine what character the user intended.
发明内容Contents of the invention
提供该发明内容是为了引入简化形式的概念的选集,将对之在下文的具体实施方式部分进一步描述。该发明内容并非旨在识别所要求保护的主题的关键特征或必要特征,亦非旨在用作在确定所要求保护主题的范围时的辅助。此外,虽然可能在此注解或讨论了现有技术的某些缺点,但并非旨在将所要求保护的主题限制于可以解决或处理这些现有技术的任意或全部缺点的实现方式。This Summary is provided to introduce a selection of concepts in a simplified form that are further described below in the Detailed Description. This Summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used as an aid in determining the scope of the claimed subject matter. Furthermore, while certain shortcomings of the prior art may be noted or discussed herein, the intent is not to limit claimed subject matter to implementations that may address or address any or all of these prior art shortcomings.
通常,如本文所描述的“笔划理清器(StrokeUntangler)”提供了各种技术来在触摸屏上、或者在其它真实或虚拟书写表面(在本文中统称为“书写面板”)上利用手指或书写实现工具构成手写消息。首先在书写面板上绘画表示交叠的字母或部分字母段的手写笔划。然后对这些交叠笔划自动理清、分割以及合成为一个或多个字母、词语或短语。有利的是,该理清、分割和合成是在不需要用户手势(或预先定义的分割)、超时或其它用于在词语中将字符划界的输入的情况下执行的。此外,与现有分割技术相对比,该理清和分割过程是在无需使用文本或笔迹辨识技术作为用于对由用户输入的交叠笔划进行理清和分割的引导的情况下执行的。然而,在各个实施例中,作为结果的字符的辨识是接下来在已经完成理清和分割之后,利用各种笔迹辨识(HWR)技术执行的。In general, a "Stroke Untangler" as described herein provides various techniques for using fingers or writing on touch screens, or other real or virtual writing surfaces (collectively referred to herein as "writing pads") Implement tools to compose handwritten messages. Handwritten strokes representing overlapping letters or partial letter segments are first drawn on the writing pad. These overlapping strokes are then automatically untangled, segmented and synthesized into one or more letters, words or phrases. Advantageously, this untangling, segmentation, and synthesis is performed without requiring user gestures (or predefined segmentations), timeouts, or other input to delimit characters in words. Furthermore, in contrast to existing segmentation techniques, the untangling and segmentation process is performed without using text or handwriting recognition techniques as a guide for untangling and segmenting overlapping strokes input by the user. However, in various embodiments, recognition of the resulting characters is then performed using various handwriting recognition (HWR) techniques after untangling and segmentation have been performed.
考虑到上述发明内容,显然的是,本文描述的笔划理清器提供了各种技术用于根据多个交叠笔划构成手写消息,而无需预先定义的手势或笔划,并且无需使用基于HWR的技术作为引导来对多个交叠笔划进行理清、分割和合成以形成字符。除了刚描述的益处外,根据后文的详细描述在结合附图的情况下将会容易理解笔划理清器的其它优点。In view of the foregoing disclosure, it should be apparent that the stroke untangler described herein provides various techniques for composing handwritten messages from multiple overlapping strokes, without the need for predefined gestures or strokes, and without the use of HWR-based techniques As a guide to untangle, segment and combine multiple overlapping strokes to form characters. In addition to the benefits just described, other advantages of the stroke untangler will be readily understood from the following detailed description when taken in conjunction with the accompanying drawings.
附图说明Description of drawings
结合后续描述、随附权利要求和附图,将更好地理解所要求保护主题的特定特征、方面和优点。在附图中:Certain features, aspects and advantages of the claimed subject matter will be better understood from the ensuing description, appended claims and drawings. In the attached picture:
图1示出了使用“笔划理清器”以便自动理清、分割和合成多个交叠笔划以形成字符、词语和短语,如本文所描述的。Figure 1 illustrates the use of the "Stroke Untangler" to automatically untangle, segment, and synthesize multiple overlapping strokes to form characters, words, and phrases, as described herein.
图2提供了示出用于实现笔划理清器的各个实施例的程序模块的示例性架构流程图,如本文所描述的。2 provides an exemplary architectural flow diagram illustrating program modules for implementing various embodiments of a stroke untangler, as described herein.
图3示出了基于手镯或腕表形状因子的示例性笔划理清器用户界面,其示出了对已理清、分割和合成的笔划的显示,基于HWR的辨识候选的显示,搜索建议的显示,以及渐隐笔划痕迹,以向用户提供视觉反馈,如本文所描述的。Figure 3 shows an exemplary Stroke Untangler user interface based on a bracelet or wrist watch form factor showing display of untangled, segmented and synthesized strokes, display of HWR based recognition candidates, search suggested Display, and fade stroke traces to provide visual feedback to the user, as described in this article.
图4示出了示例性笔划理清器用户界面,其示出了对已理清、分割和合成的笔划的显示,以及对应的基于HWR的机器可读文本和绘画输入的显示。4 illustrates an exemplary stroke untangler user interface showing the display of untangled, segmented, and synthesized strokes, and the corresponding HWR-based machine-readable text and drawing input.
图5示出了示例性笔划理清器用户界面,其示出了对已理清、分割和合成的笔划的显示,与对对应的基于HWR的机器可读文本、搜索建议和对笔划分割错误进行的用户校正的显示相结合。Figure 5 illustrates an exemplary stroke untangler user interface showing the display of untangled, segmented and synthesized strokes, corresponding HWR-based machine-readable text, search suggestions, and pair stroke segmentation errors combined with the display of the user corrections made.
图6示出了在执行笔划分割时使用的示例性状态图,用于理清和合成多个用户笔划以形成一个或多个字符,如本文所描述的。6 illustrates an exemplary state diagram used in performing stroke segmentation for untangling and compositing multiple user strokes to form one or more characters, as described herein.
图7示出了示例性笔划理清器用户界面,其示出了在腕表类型的设备上基于笔划的预测键盘,在其中已理清、分割和合成的笔划用于显示有限集合的键以供用户选择,如本文所描述的。7 illustrates an exemplary stroke untangler user interface showing a stroke-based predictive keyboard on a wristwatch-type device, where untangled, segmented, and synthesized strokes are used to display a limited set of keys to for user selection, as described in this article.
图8示出了基于指环形状因子的具有触摸屏或触摸敏感表面的书写窗格的例子,在所述触摸屏或触摸敏感表面上用于可以输入交叠笔划以供笔划理清器处理,如本文所描述的。8 shows an example of a ring form factor based writing pane with a touchscreen or touch-sensitive surface on which overlapping strokes can be entered for processing by the Stroke Untangler, as described herein. describe.
图9示出了笔迹辨识模型的使用,该模型用于处理根据断裂笔划(例如,由在输入交叠笔划的同时跨书写面板的边缘而引起的未完成笔划)形成的断裂字符,如本文所描述的。9 illustrates the use of a handwriting recognition model for processing broken characters formed from broken strokes (e.g., unfinished strokes caused by crossing the edge of a writing panel while inputting overlapping strokes), as described herein. describe.
图10提供了总体流程图,其示出了用于实现笔划理清器的各个实施例的示例性方法,如本文所描述的。FIG. 10 provides a general flowchart illustrating an exemplary method for implementing various embodiments of the Stroke Untangler, as described herein.
图11是总体系统图,其描绘了简化通用计算设备,该设备具有简化的计算和I/O能力以用于实现笔划理清器的各个实施例,如本文所描述的。11 is an overall system diagram depicting a simplified general-purpose computing device with reduced computing and I/O capabilities for implementing various embodiments of the Stroke Untangler, as described herein.
具体实施方式detailed description
在所要求保护主题的实施例的下列描述中,参考形成其一部分的附图,在附图中通过图示示出了可以实践所要求保护主题的特定实施例。应该理解的是,可以利用和其它实施例,并且可以做出结构变化,而不背离当前要求保护主题的范围。In the following description of embodiments of the claimed subject matter, reference is made to the accompanying drawings, which form a part hereof, and in which are shown by way of illustrations specific embodiments in which the claimed subject matter may be practiced. It is to be understood that other embodiments may be utilized and structural changes may be made without departing from the scope of the presently claimed subject matter.
1.0引言:1.0 Introduction:
通常,如本文所描述的“笔划理清器”提供各种技术用于在触摸屏或其它真实或虚拟的书写表面上利用手指或书写实现工具构成手写消息。首先在触摸屏设备或触摸敏感表面上绘画表示交叠的字母或部分字母段的手写笔划。然后对这些交叠笔划自动理清、分割并组合或合成一个或多个字母、词语或短语。此外,分割和组合是实时执行的,由此使得能够在用户界面窗口中实时地呈现作为结果的字符。在各个实施例中,在已经完成分割之后,利用各种笔迹辨识(HWR)技术,对作为结果的字符执行文本辨识。In general, "Stroke Untangler" as described herein provides various techniques for composing handwritten messages with fingers or writing implements on a touch screen or other real or virtual writing surface. Handwritten strokes representing overlapping letters or partial letter segments are first drawn on the touchscreen device or touch-sensitive surface. These overlapping strokes are then automatically untangled, segmented and combined or synthesized to one or more letters, words or phrases. Furthermore, segmentation and combining are performed in real-time, thereby enabling real-time presentation of the resulting characters in a user interface window. In various embodiments, after segmentation has been completed, text recognition is performed on the resulting characters using various handwriting recognition (HWR) techniques.
换句话说,笔划理清器允许用户在触摸屏或触摸敏感表面上连续地或周期性地绘画(draw)多个交叠笔划。然后对这些笔划自动分割并组合成一个或多个对应字符。有利地,在无需要求用户手势(或预定义分割)、超时、或其它用于在词语中将字符划界的输入的情况下,来执行分割和组合。然而,在各个实施例中,笔划理清器使得各种控制手势能够实现如下功能,例如退格以删除字符、在词语之间的空格,以及用于清除整个词语或短语的清除型命令。注意,在各个实施例中,用户在词语之间并不输入空格,而后续的HWR处理自动确定词语间断,并随后在适当时在字符之间插入空格。In other words, the stroke untangler allows a user to continuously or periodically draw multiple overlapping strokes on a touch screen or touch-sensitive surface. These strokes are then automatically segmented and combined into one or more corresponding characters. Advantageously, segmentation and combination are performed without requiring user gestures (or predefined segmentations), timeouts, or other inputs to delimit characters in words. However, in various embodiments, the Stroke Untangler enables various control gestures to implement functions such as backspace to delete characters, spaces between words, and clear-type commands to clear entire words or phrases. Note that in various embodiments, the user does not enter spaces between words, but subsequent HWR processing automatically determines word breaks and then inserts spaces between characters when appropriate.
此外,与用于分割笔划的现有的基于HWR的分割技术相对比,笔划理清器通过将交叠笔划分组成k笔划字符而分割笔划,而不使用基于HWR的分割技术。这使得笔划理清器能够理清和呈现手写消息,同时以在典型的辨识系统中未找到的保持美学质量的方式保留用户的个人笔迹。此外,这些手写消息固有地是可以呈现给各种HWR系统的格式以供进一步处理。注意,相关的绘画模式使得能够结合手写字符输入绘画。Furthermore, in contrast to existing HWR-based segmentation techniques for segmenting strokes, the Stroke Untangler segments strokes by dividing overlapping strokes into k-stroke characters without using HWR-based segmentation techniques. This enables the stroke untangler to untangle and render handwritten messages while preserving the user's personal handwriting in a manner that maintains an aesthetic quality not found in typical recognition systems. Furthermore, these handwritten messages are inherently in a format that can be presented to various HWR systems for further processing. Note that an associated drawing mode enables drawing input in conjunction with handwritten characters.
有利地,笔划分割是基于训练的分割模型的,而不使用基于HWR的技术作为分割过程的引导,显著减少了计算开销。此外,该方法便利于不常用词语或有表达性的拼写(例如,“whoooah”),因为笔划理清器所使能的技术在理清和分割笔划时不需要使用词典或类似物。此外,遵循由笔划理清器执行的理清、分割和呈现过程的字符或文本辨识已被观察到使用相对于现有系统(其是通过利用各种基于HWR的字符和文本辨识技术来操作的)显著降低的计算开销,从而便于最初的理清和分割过程。Advantageously, stroke segmentation is based on a trained segmentation model without using HWR-based techniques as a guide to the segmentation process, significantly reducing computational overhead. Furthermore, the method facilitates unusual words or expressive spellings (eg, "whoooah") because the techniques enabled by the Stroke Untangler do not require the use of dictionaries or the like when untangling and segmenting strokes. Furthermore, character or text recognition following the untangling, segmentation and rendering process performed by the Stroke Untangler has been observed using ) significantly reduces computational overhead, thus facilitating the initial untangling and segmentation process.
在各个实施例中,笔划理清器还提供完整词语的“墨迹显示”(即,所显示的对用户输入笔划的表示),其随着笔划被理清、分割和合成以形成字符而实时更新,由此创建与用户的非常紧密的反馈回路。换句话说,对由用户输入的当前笔划的显示利用笔划理清和分割算法(参见章节2.3)(该算法周期性地更新作为结果的字符分组)来实时更新所显示的字符。如上所述,在各个实施例中,在理清、分割和合成过程之后对那些字符接下来执行文本辨识或笔迹辨识。该能力在各个实施例中通过提供图形用户界面(UI)而被进一步利用,在所述用户界面处,作为结果的字符邻近于可用于用户选择的一个或多个辨识候选而被显示,作为对一个或多个其它应用(例如,文本编辑、搜索引擎等)的输入。In various embodiments, the Stroke Untangler also provides an "ink display" (i.e., a displayed representation of a user-entered stroke) of a complete word, which updates in real time as strokes are untangled, segmented, and combined to form characters , thereby creating a very tight feedback loop with the user. In other words, the display of the current stroke entered by the user utilizes the stroke untangling and segmentation algorithm (see Section 2.3) which periodically updates the resulting character groupings to update the displayed characters in real time. As noted above, in various embodiments, text recognition or handwriting recognition is then performed on those characters after the untangling, segmentation, and synthesis processes. This capability is further leveraged in various embodiments by providing a graphical user interface (UI) where the resulting character is displayed adjacent to one or more recognition candidates available for user selection as a reference to Input to one or more other applications (eg, text editors, search engines, etc.).
例如,图1示出了经由手持计算设备的用户界面实现的笔划理清器的使用,用于自动理清、分割和合成多个交叠笔划以形成字符和词语。注意,图1并非旨在表示笔划理清器的所有特征、特性或实施例,图1意图简单地作为基本视觉例子,以引入一些在该文献通篇中描述的一般概念。For example, FIG. 1 illustrates the use of a stroke untangler implemented via a user interface of a handheld computing device to automatically untangle, segment, and synthesize multiple overlapping strokes to form characters and words. Note that Figure 1 is not intended to represent all features, features or embodiments of the Stroke Untangler, but is intended simply as a basic visual example to introduce some general concepts described throughout this document.
特别地,图1示出了具有触摸屏110的手持计算设备100。通过用户的手的手指120输入多个交叠笔划120(由在触摸屏110上显示的多个交叠虚曲线表示)。在图1所示的实施例中,笔划理清器理清和分割交叠笔划120并合成这些笔划,以形成人类可读字符集合140,其表现为拼写词语“pizza”。这种人类可读字符集合140显示在触摸屏110上的字符输入窗口150中。In particular, FIG. 1 shows a handheld computing device 100 having a touch screen 110 . A plurality of overlapping strokes 120 (represented by a plurality of overlapping dashed curves displayed on the touch screen 110 ) are input by fingers 120 of the user's hand. In the embodiment shown in FIG. 1, the stroke untangler untangles and segments overlapping strokes 120 and synthesizes these strokes to form a set of human-readable characters 140, which appear to spell the word "pizza." Such a set of human-readable characters 140 is displayed in a character input window 150 on the touch screen 110 .
注意,在各个实施例中,在触摸屏上直接输入不是必需的。这种笔划可以例如在膝上型计算机的触摸板上进行,或在具有触摸敏感表面的移动设备的背上进行。此外,可以在一个设备(例如,手表、触摸敏感手镯)上进行这种笔划,而在另一设备(例如,台式计算机、电子白板等)上理清(并呈现给用户)。其它例子包括与各种设备相关联的“触摸盖(TouchCover)”或“触摸盖2”输入设备。这种设备包括电容敏感技术、压力敏感技术和接近度感知技术的各种组合。这种设备可以适于(经由各种软件或驱动器修改)接收通过在一个或多个压力敏感的或接近度敏感的键顶部上或上方击打而输入的笔划,而不是仅感知屏幕上或触摸板上的笔划。Note that direct input on the touch screen is not required in various embodiments. Such strokes can be performed, for example, on the touchpad of a laptop computer, or on the back of a mobile device with a touch-sensitive surface. Furthermore, such strokes can be made on one device (eg, watch, touch-sensitive bracelet) while being sorted out (and presented to the user) on another device (eg, desktop computer, electronic whiteboard, etc.). Other examples include various The TouchCover or TouchCover2 input device associated with the device. Such devices include various combinations of capacitance-sensing, pressure-sensing, and proximity-sensing technologies. Such a device may be adapted (via various software or driver modifications) to receive strokes entered by tapping on or over the top of one or more pressure-sensitive or proximity-sensitive keys, rather than just sensing on-screen or touch strokes on the board.
此外,在图1示出的实施例中,笔划理清器执行对人类可读字符集合140的自动笔迹辨识,所述集合140是为以将文本“pizza”作为机器可读文本来表示而通过笔划理清器的HWR部件辨识出的。然后将该辨识出的文本自动提供作为对搜索引擎的输入,搜索引擎继而在建议窗口160中返回用户可选择的搜索建议的集合(例如,“pizzahut”、“pizzahutmenu”和“pizzarecipe”)。Furthermore, in the embodiment shown in FIG. 1 , the stroke untangler performs automatic handwriting recognition on a set of human-readable characters 140 that was passed to represent the text "pizza" as machine-readable text Recognized by the HWR component of the Stroke Untangler. This recognized text is then automatically provided as input to the search engine, which in turn returns a set of user-selectable search suggestions in suggestion window 160 (eg, "pizzahut," "pizzahutmenu," and "pizzarecipe").
注意,在各个实施例中,HWR直到整个词语被输入(由用户在笔划输入之后输入空格或词语分隔符确定出)才被执行。在这种情况下,在输入了每个个体词语之后,HWR执行对人类可读字符的逐词语处理。在相关实施例中,一旦将每个笔划添加到字符,就立即在每个词语或部分词语上执行辨识,即使在词语尚未完成时。作为结果的部分辨识通常对用户有帮助。例如,如果用户书写“pizz”并且部分辨识已经出错误,例如,系统返回“riff”,则有很大可能该词语不是通过基于对对应字符的HWR处理将能够识别的方式书写的,因此即使在完成时也不会被正确地辨识出。在这种情况下,用户可以选择对于该词语重新开始(例如,删除一个或多个字符并重新输入那些字符)。Note that in various embodiments, HWR is not executed until an entire word is entered (determined by the user entering a space or word separator after a stroke entry). In this case, the HWR performs word-by-word processing of human-readable characters after each individual word is entered. In a related embodiment, recognition is performed on each word or part of words as soon as each stroke is added to the character, even when the word is not yet complete. The resulting part identification is often helpful to the user. For example, if a user writes "pizz" and part of the recognition has gone wrong, e.g., the system returns "riff", there is a good chance that the word is not written in a way that would be recognizable based on HWR processing of the corresponding characters, so even in It is also not recognized correctly when completed. In this case, the user may choose to start over with the word (eg, delete one or more characters and re-enter those characters).
还应注意,在图1所示的实施例中,笔划理清器的用户界面包括按钮(170、180和190)或类似物,用于在文本模式和绘画模式之间切换,以及用于发送人类可读字符集合140或对应的辨识出的文本作为对另一输入设备或应用(例如,搜索、电子邮件、文本编辑应用等)的输入。It should also be noted that in the embodiment shown in FIG. 1 , the user interface of the stroke untangler includes buttons (170, 180, and 190) or the like, for switching between text mode and drawing mode, and for sending The set of human-readable characters 140 or corresponding recognized text serves as input to another input device or application (eg, search, email, text editing application, etc.).
最后需注意,因为触摸屏通常能够在其整个表面上接收输入,所以笔划理清器允许用户输入的笔划130在触摸屏的任意部分上输入,即使在其它用户界面窗口(例如,字符输入窗口150和建议窗口160)的顶上。有利地,这增加了用户能够输入个体字符段的可用空间。然而,如果需要,则可以从笔划输入中排除触摸屏的部分。此外,注意,设备的触摸敏感度可能超出其可见屏幕的边界,例如在手表或移动设备上的触摸敏感座圈(bezel),其即使在笔划可能延伸超出触摸屏的边界时也允许用户的笔划被完整地感知到。As a final note, because a touchscreen is typically capable of receiving input across its entire surface, the Stroke Untangler allows user-entered strokes 130 to be entered on any part of the touchscreen, even in other user interface windows (e.g., the character entry window 150 and the suggestion window 150). window 160). Advantageously, this increases the space available for a user to enter individual character fields. However, portions of the touch screen may be excluded from stroke input if desired. Also, note that a device's touch sensitivity may extend beyond the boundaries of its visible screen, such as a touch-sensitive bezel on a watch or mobile device, which allows a user's strokes to be detected even when the strokes may extend beyond the boundaries of the touchscreen. Perceived completely.
笔划理清器的额外特征的和实施例的例子包括但不限于各种UI元件,例如,呈现快速渐隐墨迹痕迹以提供对用户手指在输入笔划的同时跨触摸屏所采取的路径的视觉反馈。由笔划理清器提供的UI元件的另一例子是当用户在输入笔划的同时移动她的手指跨触摸屏时,在书写面板上显示已理清和分割的“墨迹”(即,笔划的视觉表示)。Examples of additional features and embodiments of the Stroke Untangler include, but are not limited to, various UI elements, such as presenting fast-fade ink trails to provide visual feedback on the path a user's finger takes across the touchscreen while entering a stroke. Another example of a UI element provided by a stroke untangler is when a user moves her finger across a touchscreen while entering a stroke, displaying untangled and segmented "ink" (i.e., a visual representation of the stroke) on the writing panel. ).
在另一实施例中,相对用户笔迹的辨识提供各种辨识候选(类似于相对图1示出的搜索候选)。在各个实施例中,用户可以在任何时候通过轻敲或以其它方式选择候选中的一个,来接受辨识候选。辨识候选还可以包括预测,例如,系统可以在辨识候选中包括词语“pizza”,即使用户目前仅写了“piz”。首位候选(topcamdidate)的副本在应用的编辑或文本输入控制件或窗口中示出,直到候选已被选择为止。当候选被选择时,其就被发送到应用的编辑控制件(可能地替换之前显示的首位候选)。对候选进行选择可以在辨识出的词语之后将空格插入到应用编辑控制件,从而后续的由用户输入的词语或字符被先前的字符或词语分隔。In another embodiment, various recognition candidates (similar to the search candidates shown with respect to FIG. 1 ) are provided relative to the recognition of the user's handwriting. In various embodiments, a user may accept a recognition candidate at any time by tapping or otherwise selecting one of the candidates. Recognition candidates may also include predictions, for example, the system may include the word "pizza" in the recognition candidates even though the user has only written "piz" so far. A copy of the top candidate (topcamdidate) is shown in the application's edit or text entry control or window until a candidate has been selected. When a candidate is selected, it is sent to the application's edit control (possibly replacing the previously displayed top candidate). Selecting a candidate may insert a space into the application edit control after the recognized word such that subsequent user-entered words or characters are separated by previous characters or words.
在笔划理清器的其它UI实施例中,经由相对于触摸屏的一个或多个滑动手势提供各种控制手势。示例性控制手势包括删除字符、删除词语、在字符或词语之间添加空格、切换绘画输入模式等。注意,在本文献通篇中讨论的特定控制手势并非旨在限制控制手势的特定类型、控制手势的数量或者用于激活由笔划理清器的各个实施例可用的控制手势的滑动或多次触摸输入的方向。In other UI embodiments of the stroke untangler, various control gestures are provided via one or more swipe gestures relative to the touch screen. Exemplary control gestures include deleting characters, deleting words, adding spaces between characters or words, switching drawing input modes, and the like. Note that the specific control gestures discussed throughout this document are not intended to limit the specific types of control gestures, the number of control gestures, or the swipes or multi-touches used to activate the control gestures available by various embodiments of the Stroke Untangler. The direction of the input.
1.1系统概况:1.1 System overview:
如上所述,“笔划理清器”提供各种技术,用于根据多个交叠笔划构成手写消息而无需要求预定的手势或笔划,并无需使用基于HWR的技术作为对理清、分割和合成多个交叠笔划以形成字符的引导。上述过程由图2的总体系统图所示出。特别地,图2的系统图示出了用于实现笔划理清器的各种实施例的程序模块之间的相互关系,如本文所描述的。此外,虽然图2的系统图示出了笔划理清器的各种实施例的高级视图,但是图2并非旨在提供笔划理清器的每个可能实施例的穷举性的或完备性的图示,如本文献通篇描述的。As mentioned above, the "Stroke Untangler" provides techniques for composing handwritten messages from multiple overlapping strokes without requiring predetermined gestures or strokes, and without using HWR-based techniques for untangling, segmentation, and compositing Multiple overlapping strokes to form the leading character. The above process is shown by the overall system diagram in FIG. 2 . In particular, the system diagram of FIG. 2 shows the interrelationships between program modules for implementing various embodiments of the Stroke Untangler, as described herein. Furthermore, while the system diagram of FIG. 2 shows a high-level view of various embodiments of a stroke untangler, FIG. 2 is not intended to provide an exhaustive or complete list of every possible embodiment of a stroke untangler. Graphically, as described throughout this document.
另外,应该注意的是,在图2中以断裂线或虚线表示的任意框以及框之间的相互连接表示本文描述的笔划理清器的替代实施例,并且如下文描述,任意或全部这些替代实施例可以与本文献通篇描述的其它替代实施例结合使用。Additionally, it should be noted that any blocks represented by broken or dashed lines in FIG. 2 and the interconnections between the blocks represent alternative embodiments of the stroke untangler described herein, and as described below, any or all of these alternative Embodiments may be used in conjunction with other alternative embodiments described throughout this document.
通常,如图2所示,笔划理清器所使能的过程通过使用书写面板200(例如,触摸屏、触摸敏感表面或能够跟踪用户笔迹的其它真实或虚拟书写表面)输入表示交叠的字母或部分字母段的多个手写笔划而开始操作。在各个实施例中,笔划显示模块205可选地在触摸屏上呈现每个用户笔划的渐隐痕迹,其紧随在与触摸屏接触的用户手指之后。这为用户提供了在输入每个笔划的同时显示每个笔划的视觉反馈。Generally, as shown in FIG. 2 , the process enabled by the Stroke Untangler is performed by using a writing panel 200 (e.g., a touch screen, touch-sensitive surface, or other real or virtual writing surface capable of tracking a user's handwriting) to enter letters representing overlaps or Multiple handwritten strokes of part of the letter segment to start the operation. In various embodiments, the stroke display module 205 optionally presents a faded trace of each user stroke on the touchscreen immediately following the user's finger in contact with the touchscreen. This provides the user with visual feedback showing each stroke as it is being typed.
当接收到每个笔划时,控制手势模块210评估笔划与根据表示控制手势的滑动或其它多触摸输入的笔划区分。控制手势的例子包括但不限于:滑动手势用于删除最后的笔划(例如,向左滑动、跨书写面板的左边缘),删除最后的词语(例如,向上滑动、跨书写面板的上边缘),标记词语的结束(例如,向右滑动、跨书写面板的右边缘),以及在文本和绘画模式之间切换(例如,向下滑动、跨书写面板的下边缘)。注意,控制手势的例子在段2.2.2中更详细的讨论。然后将每个笔划以及任意控制手势存储或缓存到笔划上下文模块215中。As each stroke is received, the control gesture module 210 evaluates the stroke to distinguish it from strokes representing a swipe or other multi-touch input representing a control gesture. Examples of control gestures include, but are not limited to: swipe gestures to delete the last stroke (e.g., swipe left, across the left edge of the writing pad), delete the last word (e.g., swipe up, across the top edge of the writing pad), Mark the end of a word (eg, swipe right, across the right edge of the writing panel), and toggle between text and drawing mode (eg, swipe down, across the bottom edge of the writing panel). Note that examples of control gestures are discussed in more detail in Section 2.2.2. Each stroke and any control gestures are then stored or cached in the stroke context module 215 .
然后笔划上下文模块215将缓存的笔划以及任何相关联的控制手势传递给笔划理清和分割模块220。一般而言,笔划理清和分割模块220考虑到任意控制手势来对交叠笔划进行理清、分割和合成,从而形成一个或多个字符。如上所述,这些交叠笔划被自动理清、分割和合成,无需要求预先定义的手势或笔划,并无需使用基于HWR的技术作为引导。在该理清和分割过程中使用的分割算法的示例性实施例在章节2.3中在下文更详细讨论。此外,结合一个或多个训练的分割模型操作该分割算法,如在本文献的章节2.4中在后文更详细讨论的。注意,分割用于将多个笔划组合到个体字符。换句话说,分割形成表示个体字符的笔划的组。The stroke context module 215 then passes the cached strokes and any associated control gestures to the stroke untangling and segmentation module 220 . In general, the stroke untangling and segmentation module 220 untangling, segmenting, and compositing overlapping strokes to form one or more characters, taking into account any control gestures. As mentioned above, these overlapping strokes are automatically untangled, segmented and synthesized without requiring pre-defined gestures or strokes and without using HWR-based techniques as a guide. Exemplary embodiments of segmentation algorithms used in this untangling and segmentation process are discussed in more detail below in Section 2.3. Furthermore, the segmentation algorithm is operated in conjunction with one or more trained segmentation models, as discussed in more detail later in Section 2.4 of this document. Note that segmentation is used to combine multiple strokes into individual characters. In other words, segmentation forms groups of strokes representing individual characters.
一旦通过笔划理清和分割模块220理清、分割和合成了笔划,则字符呈现模块225将呈现合成的笔划以产生表示一个或多个字母、词语和/或短语的人类可读字符。然后,字符显示模块230在用于输入交叠笔划的触摸屏上,或在一些与书写面板200相关联的其它显示器设备上,显示所呈现的字符的表示。还应该注意的是,由字符呈现模块225产生的呈现字符可以用于多种目的,包括但不限于基于笔迹的文本编辑应用,在其中将所呈现的字符作为文本的人类可读图像传递到另一设备或应用。Once the strokes have been untangled, segmented, and synthesized by the stroke untangling and segmentation module 220, the character rendering module 225 will render the synthesized strokes to produce human-readable characters representing one or more letters, words, and/or phrases. Character display module 230 then displays a representation of the rendered characters on the touch screen used to enter the overlapping strokes, or on some other display device associated with writing panel 200 . It should also be noted that the rendered characters produced by the character rendering module 225 may be used for a variety of purposes, including but not limited to handwriting-based text editing applications where the rendered characters are passed to another user as a human-readable image of the text. A device or application.
一旦字符显示模块230已经显示了所呈现的字符,则用户能够看到由笔划理清器执行的理清、分割和合成的结果。因此,如果在该理清、分割和合成过程中有任何错误,则用户可选地经由字符校正模块235(其接收用于校正错误的用户输入)来校正这些错误。注意,对错误的校正包括但不限于:相对于已理清和分割的笔划来校正合成错误(例如,将一个或多个笔划从一个字符处移动到先前或后续的字符),删除字符、词语或短语,插入或添加字符、词语或短语等。在各个实施例中,笔划理清器提供“轻敲以校正(tap-to-correct)”用户界面(参见章节2.2.6),其中用户简单地轻敲、触摸或以其它方式选择所显示的不正确地合成的字符。一旦被选择,则笔划理清和分割模块220就考虑所选字符的一个或多个笔划被不正确合成的信息来自动校正一个或多个字符的合成。Once the character display module 230 has displayed the rendered characters, the user can see the results of the untangling, segmentation, and compositing performed by the stroke untangler. Thus, if there are any errors in this untangling, segmentation and synthesis process, the user optionally corrects these errors via the character correction module 235 (which receives user input for correcting the errors). Note that correction of errors includes, but is not limited to: correcting compositional errors relative to untangled and segmented strokes (e.g., moving one or more strokes from one character to a previous or subsequent character), deleting characters, words or phrases, insert or add characters, words or phrases, etc. In various embodiments, the Stroke Untangler provides a "tap-to-correct" user interface (see Section 2.2.6), where the user simply taps, touches, or otherwise selects a displayed Incorrectly synthesized characters. Once selected, the stroke untangling and segmentation module 220 automatically corrects the composition of one or more characters taking into account information that one or more strokes of the selected character were incorrectly composed.
字符呈现模块225还将由合成过程得到的人类可读字符传递给笔迹辨识模块240。笔迹辨识模块240然后利用各种HWR技术处理这些所呈现的字符,以辨识字母、词语等,并产生对应的机器可读文本。注意,在章节2.6中在后文提供了对作为结果的交叠笔迹进行辨识的进一步讨论。The character rendering module 225 also passes the human readable characters resulting from the synthesis process to the handwriting recognition module 240 . The handwriting recognition module 240 then processes these rendered characters using various HWR techniques to recognize letters, words, etc., and generate corresponding machine-readable text. Note that further discussion of the recognition of the resulting overlapping handwriting is provided later in Section 2.6.
然后使由笔迹辨识模块240产生作为输出的机器可读文本可用于多种应用中的任一个作为文本输入。例如,在各个实施例中,辨识候选模块245提供一个或多个自动完成或辨识建议以供用户选择。用户选择这些建议之一用于提供对应于所选建议的文本,作为对从笔迹辨识模块240的输出接收输入的任何应用(搜索引擎、消息传送应用、词语处理器、密码输入窗口等)的输入。例如,自动完成的建议或辨识候选可以包括预测,例如,在用户仅手写了对应于“piz”的字符时建议词语“pizza”。此外,可以基于部分或完全的用户输入,从一个或多个语言模型或词典中得到辨识候选。另外,可以基于部分或完全的用户输入,从各种搜索引擎中取回搜索候选。注意,这些建议或搜索候选的任意或全部是结合笔划理清器的各个实施例使用的。The machine-readable text produced as output by handwriting recognition module 240 is then made available as text input in any of a variety of applications. For example, in various embodiments, the recognition candidates module 245 provides one or more auto-complete or recognition suggestions for user selection. The user selects one of these suggestions for providing the text corresponding to the selected suggestion as input to any application (search engine, messaging application, word processor, password entry window, etc.) that receives input from the output of handwriting recognition module 240 . For example, auto-completed suggestions or recognition candidates may include predictions, eg, suggesting the word "pizza" when the user has only handwritten characters corresponding to "piz". Additionally, recognition candidates may be derived from one or more language models or dictionaries based on partial or complete user input. Additionally, search candidates may be retrieved from various search engines based on partial or complete user input. Note that any or all of these suggestions or search candidates are used in conjunction with various embodiments of the Stroke Untangler.
在其它实施例中,一旦已经辨识出所呈现的字符,则笔迹辨识模块240将对应的所呈现字符、词语和/或短语的样本传递到习得字符样本数据库250。通过用每个用户自己的笔迹的样本填充该数据库,这些样本可以用于多种目的。例如,当使用辨识候选模块245来选择一个或多个自动完成的建议时,字符显示模块230可以从习得字符样本数据库250取回所呈现字符的对应样本,以更新对所呈现的字符的显示以对应于用户选择。结果是由字符显示模块以用户自己的笔迹来显示自动呈现的字母、词语和/或短语。因此,如同由字符呈现模块225所产生的呈现字符,利用习得字符样本数据库250产生的字符可以用于多种目的,包括但不限于基于笔迹的文本编辑应用,在其中将所呈现的字符作为文本的人类可读图像传递给另一设备或应用。In other embodiments, once the rendered characters have been recognized, the handwriting recognition module 240 passes samples of the corresponding rendered characters, words, and/or phrases to the learned character sample database 250 . By populating the database with samples of each user's own handwriting, these samples can be used for various purposes. For example, when one or more auto-completed suggestions are selected using the recognize candidates module 245, the character display module 230 may retrieve corresponding samples of the rendered characters from the learned character sample database 250 to update the display of the rendered characters to correspond to user selections. The result is that the automatically rendered letters, words and/or phrases are displayed by the character display module in the user's own handwriting. Thus, like the rendered characters generated by the character rendering module 225, the characters generated using the learned character sample database 250 can be used for a variety of purposes, including but not limited to handwriting-based text editing applications in which the rendered characters are used as A human-readable image of the text is passed to another device or application.
应该理解的是,在先前段落中讨论的关于在习得字符样本数据库250中的单个用户数据并非旨在将该数据库只限制为用户自己的笔迹。例如,来自多个用户的笔迹样本的语料库用于上述分割模型的初始训练。在各个实施例中,可以利用具有来自其他用户或来自设备的特定用户的更多数据的在线模型来扩增该语料库。替代地,假定习得字符样本数据库250用于帮助以用户自己的笔迹呈现已理顺(disentangled)的字符,在数据库包含来自其他用户的样本的情况下,还可以用于利用其他用户笔迹的样本生成字符输出。It should be understood that the discussion in the preceding paragraphs regarding individual user data in the learned character sample database 250 is not intended to limit the database to only the user's own handwriting. For example, a corpus of handwriting samples from multiple users is used for the initial training of the segmentation model described above. In various embodiments, the corpus may be augmented with online models with more data from other users or from specific users of the device. Alternatively, it is assumed that the learned character sample database 250 is used to assist in rendering disentangled characters in the user's own handwriting, and in cases where the database contains samples from other users, can also be used to utilize samples of other users' handwriting Generate character output.
注意,可以在任何时候对上述总结的任何错误执行校正,或插入或删除字符、词语或短语。任何这种校正或改变将导致在由字符显示模块230呈现的字符的显示中的对应实时变化,在笔迹辨识模块240的输出中的对应实时变化,以及在可选辨识候选模块245的输出中的对应实时变化。Note that correction of any errors summarized above, or insertion or deletion of characters, words or phrases may be performed at any time. Any such corrections or changes will result in corresponding real-time changes in the display of characters rendered by character display module 230, corresponding real-time changes in the output of handwriting recognition module 240, and in the output of optional recognition candidates module 245. Corresponds to real-time changes.
2.0笔划理清器的操作细节: 2.0 Stroke Untangler operation details:
采用上述程序模块来实现笔划理清器的各个实施例。如上所述,笔划理清器提供各种技术,用于根据多个交叠笔划构成手写消息,而不要求预先定义的手势或笔划,并无需使用基于HWR的技术作为对理清、分割和合成多个交叠笔划以形成字符的引导。后续章节提供了对笔划理清器的各个实施例的操作的详细讨论,以及实现结合图1在章节1中描述的程序模块的示例性方法。特别地,后续章节提供了笔划理清器的各个实施例的例子和操作细节,包括:The various embodiments of the stroke untangler are implemented using the program modules described above. As mentioned above, the Stroke Untangler provides techniques for composing handwritten messages from multiple overlapping strokes without requiring pre-defined gestures or strokes, and without using HWR-based techniques for untangling, segmentation, and compositing Multiple overlapping strokes to form the leading character. Subsequent sections provide a detailed discussion of the operation of various embodiments of the Stroke Untangler, and an exemplary method of implementing the program modules described in Section 1 in connection with FIG. 1 . In particular, subsequent sections provide examples and operational details of various embodiments of the Stroke Untangler, including:
·笔划理清器的操作概况;·Operation overview of Stroke Untangler;
·与笔划理清器交互的示例性用户界面;Exemplary user interface for interacting with the Stroke Untangler;
·用于理清和合成用户笔划的分割算法;Segmentation algorithms for untangling and synthesizing user strokes;
·训练分割模型以便由分割算法使用;· Train the segmentation model for use by the segmentation algorithm;
·校正笔划分割错误;Correction of stroke segmentation errors;
·交叠笔迹辨识;以及· Overlapping handwriting recognition; and
·额外的实施例和考量。• Additional embodiments and considerations.
2.1操作概况: 2.1 Operation overview:
如上所述,本文描述的基于笔划理清器的过程提供了各种技术,用于根据多个交叠笔划构成手写消息,而无需要求预先定义的手势或笔划,并无需使用基于HWR的技术作为对理清、分割和合成多个交叠笔划以形成字符的引导。一旦已经完成理清、分割和合成过程,则将对应的人类可读字符传递给HWR过程,HWR过程评估这些字符以生成对应的机器可读文本。然后使得作为结果的机器可读文本可用于多种应用和设备。As noted above, the stroke untangler-based process described herein provides various techniques for composing handwritten messages from multiple overlapping strokes without requiring pre-defined gestures or strokes, and without using HWR-based techniques as Guide to untangling, splitting, and compositing multiple overlapping strokes to form characters. Once the untangling, segmentation, and synthesis processes have been completed, the corresponding human-readable characters are passed to the HWR process, which evaluates these characters to generate corresponding machine-readable text. The resulting machine-readable text is then made available to a variety of applications and devices.
上述总结的能力提供了多种优点。例如,如上所述,笔划分割是基于训练的分割模型的,而不使用基于HWR的技术作为引导,显著减少了计算开销。此外,该方法便利于不常用的词语或有表达性的(expressive)拼写,因为在理清、分割和合成笔划时不使用词典等。此外,在理清、分割和合成过程之后的字符或文本辨识相对于现有系统(其利用文本或笔迹辨识技术操作)显著降低了计算开销,从而便于初始理清和分割过程。另外,持续输入多个交叠笔划而不用等待超时或输入字符分隔符的能力增加了用户输入字符的速率。另一优点在于对交叠笔划进行理清、分割和合成的能力意味着笔划理清器很好地适于与任何尺寸的书写面板一起使用,所述书写面板包括例如小型腕表或指环型的基于触摸屏的设备。The capabilities summarized above provide a variety of advantages. For example, as mentioned above, stroke segmentation is based on the trained segmentation model without using HWR-based techniques as a guide, significantly reducing the computational overhead. Furthermore, the method facilitates unusual words or expressive spellings, since dictionaries etc. are not used when untangling, segmenting and synthesizing strokes. Furthermore, the character or text recognition following the untangling, segmentation and synthesis process significantly reduces computational overhead compared to existing systems (which operate with text or handwriting recognition techniques), thereby facilitating the initial untangling and segmentation process. Additionally, the ability to continuously enter multiple overlapping strokes without waiting for a timeout or entering character separators increases the rate at which users can enter characters. Another advantage is that the ability to untangle, segment and combine overlapping strokes means that the Stroke Untangler is well suited for use with writing tablets of any size, including, for example, small wristwatches or ring-shaped ones. Touch screen based devices.
2.2用户界面例子: 2.2 Example of user interface:
笔划理清器可以以多种形状因子实现,包括但不限于智能手机、平板计算机、具有或不具有触摸屏的腕表型设备、可以佩戴到用户手指上的基于指环的设备、或具有真实或虚拟书写面板以跟踪交叠笔划的任意其它设备。给定可以实现笔划理清器的设备的宽范围,呈现对采用本文描述的一些或所有功能的用户界面进行呈现存在许多方式。此外,一些不同的可以呈现用户界面的方式与设备上可用的屏幕大小有关。例如,具有相对小屏幕的腕表型设备可以与较大平板计算机或智能手机不同地显示用户界面的各种部件(或不同数量的部件)。这样,应该理解的是,提供该文献通篇描述的各种用户界面例子仅出于讨论和解释的目的,并且在本文中讨论的例子并非旨在将笔划理清器的用户界面限制于所描述的各种形式。Stroke untanglers can be implemented in a variety of form factors including, but not limited to, smartphones, tablets, wrist-watch-type devices with or without touch screens, ring-based devices that can be worn on the user's fingers, or with real or virtual Any other device with a writing pad to track overlapping strokes. Given the wide range of devices that can implement a stroke untangler, there are many ways to present a user interface that employs some or all of the functionality described herein. Additionally, some of the different ways in which the user interface can be presented are related to the screen sizes available on the device. For example, a wristwatch-type device with a relatively small screen may display various components (or a different number of components) of the user interface differently than a larger tablet computer or smartphone. As such, it should be understood that the various user interface examples described throughout this document are provided for purposes of discussion and explanation only, and that the examples discussed herein are not intended to limit the user interface of the Stroke Untangler to the described of various forms.
通常,用于实现笔划理清器的各种特征的用户界面包括用于输入交叠笔划的书写面板和各种视觉反馈机构。这些视觉反馈机构允许用户看到响应于用户输入笔划而产生的已理清、分割和合成的人类可读字符集合并与之交互。另外,这些视觉反馈机构允许用户看到由人类可读字符集合的基于HWR处理产生的机器可读文本(包括辨识候选、搜索建议等的各种组合)并与之交互。人类可读字符集合和对应的机器可读文本均以各种组合显示并以多种方式使用。Typically, the user interface used to implement the various features of the stroke untangler includes a writing panel for entering overlapping strokes and various visual feedback mechanisms. These visual feedback mechanisms allow the user to see and interact with the untangled, segmented, and synthesized human-readable character sets produced in response to user input strokes. Additionally, these visual feedback mechanisms allow users to see and interact with machine-readable text (including various combinations of recognition candidates, search suggestions, etc.) resulting from HWR-based processing of human-readable character sets. Both the set of human-readable characters and the corresponding machine-readable text are displayed in various combinations and used in a variety of ways.
另外,提供各种控制手势以实现用户界面的各个实施例。控制手势的例子包括但不限于:在词语之间添加空格,删除一个或多个字符,删除一个或多个词语,校正理清、分割和合成错误,等等。如本文更详细讨论的,这些控制手势在各个实施例中包括基于笔划的控制手势。然而,在笔划理清器用户界面的各个实施例中还可以使用其它控制手势,包括但不限于:基于语音的控制手势,基于触摸真实或虚拟设备按钮的控制,基于设备运动的控制,基于多触摸或组合手势的控制,等等。Additionally, various control gestures are provided to implement various embodiments of the user interface. Examples of control gestures include, but are not limited to: adding spaces between words, deleting one or more characters, deleting one or more words, correcting untangling, segmentation, and synthesis errors, and the like. As discussed in greater detail herein, these control gestures include, in various embodiments, stroke-based control gestures. However, other control gestures may also be used in various embodiments of the Stroke Untangler user interface, including but not limited to: voice-based control gestures, touch-based real or virtual device buttons, device motion-based controls, multi- Controls with touch or combined gestures, and more.
2.2.1书写面板: 2.2.1 Writing panel:
如上所述,笔划理清器通过接收对应于一个或多个交叠笔划的输入而开始操作。因此,用于跟踪这种笔划的现有或预期的技术可以操作以由笔划理清器使用。例如,这种技术包括但不限于:使用触摸屏、触摸敏感表面、绘画板、或可以跟踪手指(或触笔)的其它真实或虚拟表面。出于解释和讨论的目的,所有这种表面(真实的或虚拟的)将在本文中总体上称作书写面板。As mentioned above, the stroke untangler begins to operate by receiving input corresponding to one or more overlapping strokes. Accordingly, existing or contemplated techniques for tracking such strokes are operable for use by a stroke untangler. For example, such techniques include, but are not limited to, using a touch screen, touch-sensitive surface, drawing tablet, or other real or virtual surface that can track a finger (or stylus). For purposes of illustration and discussion, all such surfaces (real or virtual) will generally be referred to herein as writing pads.
此外,由于可以以类似于跟踪手指的方式来跟踪书写实现工具(例如,触笔、笔等),后续讨论将一般涉及利用手指创建笔划,可以理解后续讨论可以均等地应用于创建笔划的各种技术或工具的任何一种。还应注意,相对于任意表面甚至在空中跟踪笔划的各种技术将在章节2.4中在下文更详细地讨论Furthermore, since writing enabling implements (e.g., stylus, pen, etc.) can be tracked in a manner similar to that of a finger, the subsequent discussion will generally relate to creating strokes with fingers, with the understanding that the subsequent discussion applies equally to various methods of creating strokes. Any kind of technique or tool. It should also be noted that various techniques for tracking strokes with respect to arbitrary surfaces and even in-air are discussed in more detail below in Section 2.4
一般而言,书写面板涵盖用户在其上输入交叠笔划的真实或虚拟表面的部分或全部。在操作中,用户可以采用她常用的书写字体,利用大写或小写字母、数字、标点、特殊字符等,来在书写面板上书写笔划。取决于书写面板的尺寸以及用户书写的多大,书写面板可以允许用户书写一个或多个相邻字符,每个字符包括多个交叠笔划。用户可以在书写面板上水平和/或垂直放置和隔开字符的交叠笔划,而没有限制。事实上,在触摸屏的情况下,用户输入的交叠笔划可以侵占各种用户界面或输入窗口或触摸屏的其它显示区域。注意,这些情况的例子在上文关于图1讨论过。In general, the writing pad covers part or all of the real or virtual surface on which the user enters overlapping strokes. In operation, the user can use her usual writing fonts, use uppercase or lowercase letters, numbers, punctuation, special characters, etc., to write strokes on the writing panel. Depending on the size of the writing pad and how large the user's writing is, the writing pad may allow the user to write one or more adjacent characters, each character comprising multiple overlapping strokes. Users can place and space overlapping strokes of characters horizontally and/or vertically on the writing pad without limitation. In fact, in the case of a touch screen, overlapping strokes entered by the user may encroach on various user interfaces or input windows or other display areas of the touch screen. Note that examples of these situations are discussed above with respect to FIG. 1 .
2.2.2控制手势: 2.2.2 Control Gestures:
如上所述,可以实现宽范围的控制手势中的任一种用于与笔划理清器的用户界面交互。在经过验定的实施例中观察到,利用相对较小计算资源,容易将被设计为跨书写面板的外边界的滑动手势与意图利用输入字符的笔划区分开来。这允许笔划理清器避免各种控制手势的意外激活。其它实施例,例如利用两个手指的滑动或其它多触摸手势或设备运动以区别控制手势,也在笔划理清器的各个实现方式中提供。As described above, any of a wide range of control gestures can be implemented for interacting with the Stroke Untangler's user interface. It was observed in the tested embodiments that, using relatively small computing resources, it was easy to distinguish a swipe gesture designed to cross the outer boundary of the writing panel from a stroke intended to utilize an input character. This allows Stroke Untangler to avoid accidental activation of various control gestures. Other embodiments, such as utilizing two-finger swipes or other multi-touch gestures or device motions to differentiate control gestures, are also provided in various implementations of the stroke untangler.
例如,在各个实施例中,笔划理清器基于跨触摸屏的物理边缘而延续的滑动来提供四个方向的控制系统。在经过验定的实施例中,这些滑动或控制手势包括“退格”手势,用于通过跨书写面板的左边缘滑动而删除先前笔划或字符。类似地,跨书写面板的右边缘的滑动插入空格(等价于轻敲当前首位辨识候选),用于自动开始新字符或词语,该新字符或词语与先前输入的字符或词语分离。跨书写面板的上边缘的向上滑动将所有墨迹和/或候选从屏幕清除。最后,跨书写面板的下边缘的向下滑动切换绘画模式,以允许用户经由多个笔划输入图像,而不将这些笔划合成个体字符。For example, in various embodiments, the Stroke Untangler provides a four-way control system based on swipes that continue across the physical edges of the touchscreen. In proven embodiments, these swipe or control gestures include a "backspace" gesture for deleting previous strokes or characters by swiping across the left edge of the writing panel. Similarly, a swipe across the right edge of the writing panel inserts a space (equivalent to tapping the current leading recognition candidate) for automatically starting a new character or word that is separate from the previously entered character or word. Swiping up across the top edge of the writing panel clears all ink and/or candidates from the screen. Finally, a downward swipe across the lower edge of the writing panel toggles the drawing mode to allow the user to enter an image via multiple strokes without compositing the strokes into individual characters.
2.2.3显示屏: 2.2.3 Display screen:
笔划理清器的用户界面包括显示屏,例如,实现笔划理清器的设备的触摸屏,或与笔划理清器通信的某个其它屏幕。通常,显示屏显示根据用户输入的交叠笔划而理清、分割和合成的手写文本的一行或多行。在每次触摸事件(包括笔划输入、经由控制手势的笔划或字符删除、在字符之间输入空格,等)时,在书写面板上更新对当前笔划(在书写面板上正在绘制的笔划)的呈现。The user interface of the stroke untangler includes a display screen, eg, a touch screen of the device implementing the stroke untangler, or some other screen in communication with the stroke untangler. Typically, the display screen displays one or more lines of handwritten text that are untangled, segmented, and synthesized based on overlapping strokes entered by the user. On every touch event (including stroke entry, stroke or character deletion via control gestures, entering a space between characters, etc.), update the rendering of the current stroke (the stroke being drawn on the writing panel) on the writing panel .
换句话说,通过一个或多个先前笔划对笔划进行理清、分割和合成以形成字符,或者进行分割并用于开始新字符,作为实时过程。这允许用户可以在进行她的输入时对她的输入进行视觉验证。结果,随着用户在书写面板上书写,显示屏示出了形成用户输入的字符实时地演变的当前状态。In other words, strokes are untangled, segmented and synthesized from one or more previous strokes to form a character, or segmented and used to start a new character, as a real-time process. This allows the user to have visual validation of her input as it is being made. As a result, the display screen shows the current state of the characters forming the user input evolving in real time as the user writes on the writing panel.
注意如图1所示,在各个实施例中,合成的字符(例如,人类可读字符集合140)被缩放(即,减小大小)以适配到布置在字符输入窗口150内的虚拟边界框中,从而这些字符可以在屏幕上以允许实现用户界面的其它元件的方式显示。注意在各个实施例中,利用相同的相对缩放比例(例如,所有人类可读字符减小80%)来缩放根据已分割和合成的笔划构造的每个字符,而不是个体地缩放每个字符以适配到上述边界框中。换句话说,在各个实施例中,利用相同的缩放比例缩放所有笔划。替代地,对所获得的人类可读字符进行缩放以适配到边界框中。Note that as shown in FIG. 1 , in various embodiments, the synthesized characters (e.g., set of human-readable characters 140 ) are scaled (i.e., reduced in size) to fit within a virtual bounding box disposed within character input window 150 , so that these characters can be displayed on the screen in a manner that allows other elements of the user interface to be implemented. Note that in various embodiments, instead of scaling each character individually to fit into the above bounding box. In other words, in various embodiments, all strokes are scaled with the same scaling factor. Alternatively, the obtained human-readable characters are scaled to fit into a bounding box.
当为了显示而对经分割的词语(即,一个或多个经分割的字符,其每个包括从一个或多个交叠笔划生成的)进行布局时,笔划理清器依据字符将笔划自动地分割或分组,并且将对应的字符(或用于每个字符的边界框)水平地对准,以小空格(例如,大约一个笔划宽度)分隔。可以在每个词语的结束处插入更宽的水平空格,以改善人类可读字符集合的可读性。字符位置通常不被垂直调整,然而在各个实施例中,各种各样的对准或布局设置允许将字符以任意期望方式(例如,水平、垂直、对角线、沿着任意曲线、增加或减少的间隔等)相对彼此调整。When laying out a segmented word (i.e., one or more segmented characters each comprising one or more overlapping strokes generated from one or more overlapping strokes) for display, the Stroke Untangler automatically separates the strokes from character to character Split or group, and align corresponding characters (or bounding boxes for each character) horizontally, separated by small spaces (eg, about one stroke width). Wider horizontal spaces may be inserted at the end of each word to improve the readability of human-readable character sets. Character positions are generally not adjusted vertically, however in various embodiments, various alignment or layout settings allow characters to be positioned in any desired manner (e.g., horizontally, vertically, diagonally, along any curve, increased or reduced intervals, etc.) are adjusted relative to each other.
在各个实施例中,笔划理清器从书写面板中在每个字符内保持相对笔划位置。在一些情况下,在该简单方案后的假设没有保持,例如,如果用户在符号的半途放下设备并在稍后尝试结束。在这种情况下,笔划理清器基于在理清和分割过程中使用的训练分割模型为笔划自动确定更可能的位置。In various embodiments, the stroke untangler maintains relative stroke positions within each character from the writing panel. In some cases, the assumptions behind this simple scheme do not hold, for example if the user drops the device halfway through a symbol and tries to end later. In this case, the Stroke Untangler automatically determines a more likely location for the stroke based on the trained segmentation model used in the untangling and segmentation process.
2.2.4视觉反馈: 2.2.4 Visual feedback:
视觉反馈(呈现墨迹笔划)帮助用户检查他们目前写入的字母(或词语)部分。然而,事实上,将字符书写在彼此顶部产生了用户通常没有兴趣查看的复杂度。换句话说,在显示屏上呈现所有笔划并保留这些笔划达一段时间,将意味着将多个字符杂乱地呈现在彼此顶部。因此,笔划理清器用户界面的各个实施例用不同方式处理该问题,可以经由与笔划理清器用户界面相关联的配置菜单等选择或调整这些方式中的一些或全部。Visual feedback (rendering ink strokes) helps users check which part of the letter (or word) they are currently writing. In fact, however, writing characters on top of each other creates complications that users are not normally interested in viewing. In other words, rendering all strokes on the display and retaining them for a period of time would mean rendering multiple characters jumbled on top of each other. Accordingly, various embodiments of the Stroke Untangler user interface handle this issue in different ways, some or all of which may be selected or adjusted via a configuration menu or the like associated with the Stroke Untangler user interface.
例如,在一个实施例中,如上所述,除了用于形成人类可读字符集合的那些笔划的缩放版本外,简单地不示出笔划。在触摸屏的情况下,在各个实施例中,笔划理清器在书写面板上以跟踪跨触摸屏的用户笔划的渐隐笔划痕迹形式提供可选的视觉反馈。在其它实施例中,显示交叠笔划,直到由笔划理清器执行的分割开始新的字符,此时清除先前笔划,并且通过笔划理清器显示新的交叠笔划。再次,在用户界面的各个实现方式中可以选择和使用任意或全部这种模式。For example, in one embodiment, as described above, strokes are simply not shown except for scaled versions of those strokes used to form the human-readable character set. In the case of a touch screen, in various embodiments, the Stroke Untangler provides optional visual feedback on the writing pad in the form of faded stroke traces that track the user's strokes across the touch screen. In other embodiments, overlapping strokes are displayed until the segmentation performed by the stroke untangler begins a new character, at which point the previous stroke is cleared and the new overlapping stroke is displayed by the stroke untangler. Again, any or all of these patterns may be selected and used in various implementations of the user interface.
如上所述,笔划理清器利用各种HWR技术来处理根据交叠笔划创建的人类可读字符集合,以创建机器可读文本。注意,笔迹辨识技术是本领域技术人员公知的,并且在此不再详细讨论。As mentioned above, the Stroke Untangler utilizes various HWR techniques to process human-readable character sets created from overlapping strokes to create machine-readable text. Note that handwriting recognition techniques are well known to those skilled in the art and will not be discussed in detail here.
关于该HWR过程的各个用户界面方面,在各个实施例中,笔划理清器将当前手写词语或字符邻近辨识候选(或在显示屏上的任意其它位置处)显示。在图3中示出了该实施例的例子,并伴随若干额外用户界面元件。例如,响应于理清和分割用户输入的交叠笔划,基于触摸屏的计算设备300(在该情况下,呈现为基于手镯或腕表的形状因子)显示人类可读字符集合310(其在该情况下表现为拼写词语“bill”)的呈现。如上所述,在用户输入笔划时实时地执行对这些人类可读字符的理清、分割、合成和呈现。Regarding various user interface aspects of the HWR process, in various embodiments, the Stroke Untangler displays the current handwritten word or character adjacent to the recognition candidate (or at any other location on the display screen). An example of this embodiment is shown in Figure 3, along with several additional user interface elements. For example, in response to untangling and segmenting overlapping strokes of user input, touchscreen-based computing device 300 (in this case, presented as a bracelet- or wrist-based form factor) displays human-readable character set 310 (which in this case The following shows a rendering of the spelled word "bill"). As described above, the untangling, segmentation, synthesis, and rendering of these human-readable characters is performed in real-time as the user enters strokes.
邻近人类可读字符集合310的是一组一个或多个用户可选HWR辨识候选320。在图示的实施例中,这些辨识候选320从左到右被按照从最可能到最不可能的候选进行排序,从而最可能的候选邻近对应的人类可读字符集合310。对这些辨识候选320之一的用户选择起到将正确的文本通知笔划理清器的作用,并还使得对应的机器可读文本可用于一个或多个额外应用。Adjacent to the set of human-readable characters 310 is a set of one or more user-selectable HWR recognition candidates 320 . In the illustrated embodiment, the recognition candidates 320 are ordered from left to right from most likely to least likely candidates such that the most likely candidates are adjacent to the corresponding set of human-readable characters 310 . User selection of one of these recognition candidates 320 acts to inform the stroke untangler of the correct text, and also makes the corresponding machine-readable text available to one or more additional applications.
例如,在图3所示的用户界面实施例中,最可能的辨识候选320(在该情况下是文本“bill”(或者用户所选择的无论什么其它辨识候选))还被提供到搜索引擎的输入字段330。如同许多搜索引擎,当由笔划理清器将输入提供到输入字段330时,但在实际执行搜索之前,提供基于部分用户输入的用户可选搜索候选340的一个组或列表。当用户选择这些搜索候选340的任一个时,或者当用户选择搜索按钮350等时,执行搜索,将结果代替于搜索候选(或显示屏的任意其它部分)而显示。还应注意,图3示出了渐隐笔划痕迹360的例子,该渐隐笔划痕迹在用户的当前笔划输入被理清、分割、合成和呈现以创建人类可读字符集合310时跟踪用户的当前笔划输入。For example, in the user interface embodiment shown in Figure 3, the most likely recognition candidate 320 (in this case the text "bill" (or whatever other recognition candidate the user selected)) is also provided to the search engine's Input field 330 . As with many search engines, when input is provided to the input field 330 by the stroke untangler, but before the search is actually performed, a set or list of user-selectable search candidates 340 based on partial user input is provided. When the user selects any of these search candidates 340, or when the user selects the search button 350, etc., a search is performed, with the results displayed in place of the search candidates (or any other portion of the display screen). It should also be noted that FIG. 3 shows an example of a faded stroke trail 360 that tracks the user's current stroke input as it is untangled, segmented, synthesized, and rendered to create a human-readable character set 310. Stroke input.
换句话说,图3的示例性用户界面示出了已理清和分割的用户笔划的显示,作为邻近的一组一个或多个HWR辨识候选的人类可读字符。这个用户界面例子还示出了基于首位HWR辨识候选或用户所选的HWR辨识候选之一的连同搜索建议的搜索引擎输入窗口。对人类可读字符集合的更新实时发生,伴随着对应的对HWR辨识候选的实时更新和对应的对搜索建议的实时更新。已经观察到,作为这些更新结果而提供给用户的实时视觉反馈允许用户基于用户输入的手写文本来快速执行搜索,而无需使用真实或虚拟键盘。还应注意,类似的用户界面可以用于对除了搜索引擎外的应用(例如,消息传送应用、词语处理器、或利用机器可读文本输入的任意其它应用)提供输入。In other words, the exemplary user interface of FIG. 3 shows the display of untangled and segmented user strokes as a contiguous set of one or more HWR recognition candidate human-readable characters. This user interface example also shows a search engine input window with search suggestions based on the top HWR recognition candidate or one of the user-selected HWR recognition candidates. Updates to the set of human readable characters occur in real-time, with corresponding real-time updates to HWR recognition candidates and corresponding real-time updates to search suggestions. It has been observed that the real-time visual feedback provided to the user as a result of these updates allows the user to quickly perform searches based on handwritten text entered by the user without using a real or virtual keyboard. It should also be noted that a similar user interface may be used to provide input to applications other than search engines (eg, messaging applications, word processors, or any other application that utilizes machine-readable text input).
利用用户可选辨识候选和搜索建议的这些多级视觉反馈的一个优点在于:即使在对笔划的理清、分割和合成中或在对作为结果的字符的基于HWR的辨识中存在错误,也可能在候选或建议中有一个对应于所意图的用户输入。这样,这种类型的用户界面已经被观察到通过向用户提供选择正确文本的多个选项而减少了整体手写输入错误。One advantage of using these multi-level visual feedback of user-selectable recognition candidates and search suggestions is that even if there are errors in the untangling, segmentation and synthesis of strokes or in the HWR-based recognition of the resulting characters, it is possible to One of the candidates or suggestions corresponds to the intended user input. As such, this type of user interface has been observed to reduce overall handwriting input errors by providing the user with multiple options for selecting the correct text.
2.2.5绘画模式: 2.2.5 Drawing mode:
笔划理清器用户界面的各个实施例允许用户向文本中添加小的绘画。绘画与字符的不同在于在其合成期间关闭笔划分割。为了构成绘画,用户通过使用前述下滑控制姿势,通过切换绘画按钮,或者通过使用任意其它期望的控制手势,来将界面带入绘画模式。Various embodiments of the Stroke Untangler user interface allow users to add small drawings to text. Drawings differ from characters in that stroke segmentation is turned off during their compositing. To compose a drawing, the user brings the interface into drawing mode by using the aforementioned swipe control gesture, by toggling the drawing button, or by using any other desired control gesture.
与根据交叠笔划执行理清和分割过程来生成字符相比,在绘画模式中,绘画是典型的定制创建,其要求可能的多个笔划和在合成期间的放大的视图。这样,在各个实施例中,笔划理清器用户界面提供视觉指示以警告用户系统处于绘画模式。例如,在各个实施例(例如,图1的按钮180)中,选择或以其它方式突出绘画模式切换按钮来指示系统处于绘画模式,即使在书写面板上没有笔划。注意,在绘画模式中也可以使用删除手势。为了结束绘画,用户或是切换绘画模式按钮,或是做出词语结束手势。当显示消息时,将绘画作为词语对待,即,通过空白将其与相邻词语或绘画分离。对消息中绘画的数量没有限制。In contrast to generating characters by performing untangling and segmentation processes from overlapping strokes, in painting mode, paintings are typically custom creations requiring potentially multiple strokes and a magnified view during compositing. As such, in various embodiments, the stroke untangler user interface provides a visual indication to alert the user that the system is in painting mode. For example, in various embodiments (eg, button 180 of FIG. 1 ), selecting or otherwise highlighting the drawing mode toggle button indicates that the system is in drawing mode, even if there are no strokes on the writing pad. Note that the delete gesture can also be used in drawing mode. To end the drawing, the user either toggles the drawing mode button, or makes an end-of-word gesture. When displaying a message, treat the drawing as a word, ie, separate it from adjacent words or drawings by white space. There is no limit to the number of drawings in a message.
在笔划理清器的经过验定的实施例中,每个笔划包括指示其是以绘画模式还是文本模式输入的位(bit),从而可以执行对绘画或文本的后续编辑,并因此当执行对人类可读字符集合的辨识时,基于HWR的辨识过程可以跳过该绘画。例如,假设用户“退格”经过多个笔划,并最终删除绘画的最后笔划。此时,笔划理清器用户界面自动切换到绘画模式,并在书写面板上显示所述绘画的所有笔划,从而可以编辑整个绘画。类似地,如果用户“退格”经过整个绘画,则笔划理清器用户界面回复到文本输入模式(即,捕捉用户输入字符的交叠笔划)。In a proven embodiment of the stroke untangler, each stroke includes a bit indicating whether it was entered in drawing mode or text mode, so that subsequent editing of the drawing or text can be performed, and thus when performing For the recognition of human readable character sets, the HWR-based recognition process can skip the drawing. For example, suppose the user "backspaces" through multiple strokes, and eventually deletes the last stroke of the painting. At this point, the Stroke Untangler UI automatically switches to painting mode and displays all strokes of said painting on the writing panel, allowing the entire painting to be edited. Similarly, if the user "backspaces" through the entire drawing, the stroke untangler user interface reverts to text entry mode (ie, captures overlapping strokes of the user-entered character).
图4经由笔划理清器用户界面的另一例子提供字符和绘画输入的组合使用的图示。特别地,如上所述,在各个实施例中,笔划理清器用户界面使得用户能够伴随用于输入字符的交叠笔划输入手指绘画图像。例如,在图4左侧的设备400示出了理清和分割交叠笔划410的结果作为人类可读字符集合420,其表现为拼写词语“thequickbrownfox”。另外,基于HWR处理人类可读字符集合420会导致显示对应的机器可读文本430,如图所示。注意在各个实施例中,人类可读字符集合420和对应的机器可读文本430都是用户可选和用户可编辑的。4 provides an illustration of the combined use of character and drawing input via another example of a stroke untangler user interface. In particular, as described above, in various embodiments, the stroke untangler user interface enables a user to enter a finger paint image with overlapping strokes used to enter a character. For example, device 400 on the left side of FIG. 4 shows the result of untangling and segmenting overlapping strokes 410 as a set of human-readable characters 420 appearing to spell the word "thequickbrownfox." Additionally, processing the set of human-readable characters 420 based on the HWR results in the display of corresponding machine-readable text 430, as shown. Note that in various embodiments, the set of human-readable characters 420 and the corresponding machine-readable text 430 are both user-selectable and user-editable.
此外,图4右侧的设备405示出了将绘画415添加到先前输入的人类可读字符集合420上的结果。在这种情况下,由于绘画415被随后添加到人类可读字符集合420的输入上,所以随后缩放附图以适配人类可读字符集合并与这些字符组合呈现(参见元件425)。Additionally, device 405 on the right side of FIG. 4 shows the result of adding a drawing 415 to a previously entered set of human-readable characters 420 . In this case, since the drawing 415 is subsequently added to the input of the human readable character set 420, the drawing is then scaled to fit the human readable character set and presented in combination with these characters (see element 425).
还应注意,在示出的例子中,绘画还与对应的机器可读文本组合呈现(参见元件435)。有利地,在该情况下,可以保存机器可读文本和绘画以供后续使用或呈现为到任意其它应用的输入,例如,搜索引擎,其随后在机器可读文本和图像上执行联合搜索。替代地,可以利用绘画415作为输入执行基于图像的搜索。It should also be noted that in the example shown, the drawing is also presented in combination with corresponding machine-readable text (see element 435). Advantageously, in this case, the machine-readable text and drawing can be saved for later use or presented as input to any other application, eg a search engine, which then performs a joint search on the machine-readable text and images. Alternatively, an image-based search may be performed using the drawing 415 as input.
2.2.6轻敲以校正: 2.2.6 Tap to correct:
如同解释自然用户输入的任意系统,存在输出不匹配用户意图的情况。在笔划理清器使用分割算法的情况下,这种错误导致字符全部或部分呈现在彼此顶部,或断裂成碎片。这样,在各个实施例中,笔划理清器用户界面提供各种技术,允许用户校正由理清和分割过程产生的人类可读字符集合的分割和合成错误。As with any system that interprets natural user input, there are cases where the output does not match the user's intent. In cases where the stroke untangler uses segmentation algorithms, this error causes characters to render fully or partially on top of each other, or break into pieces. Thus, in various embodiments, the stroke untangler user interface provides various techniques that allow a user to correct segmentation and synthesis errors of the human-readable character set produced by the untangling and segmentation process.
例如,假设用户想要写入“clean”,但是理清过程错误地将笔划分割而产生“dean”。然后,当用户简单地轻敲或以其它方式选择“d”时,分割将自动校正以将形成“d”字符的笔划分离为单独的“c”和“l”字符。For example, suppose a user wants to write "clean", but the untangling process mistakenly splits the strokes to produce "dean". Then, when the user simply taps or otherwise selects the "d", the segmentation will automatically correct to separate the strokes forming the "d" character into separate "c" and "l" characters.
图5示出了笔划理清器用户界面的例子,其包括轻敲以校正控制手势,该手势能够通过对合成这些笔划的对应自动校正,而自动校正不正确分割的笔划成为校正的人类可读字符集合。Figure 5 shows an example of a Stroke Untangler user interface that includes a tap-to-correct control gesture that enables automatic correction of incorrectly segmented strokes into corrected human-readable ones by compositing these strokes with corresponding automatic corrections collection of characters.
例如,如图5所示,对在设备的触摸屏510上输入的多个交叠笔划500自动理清、分割和合成以形成人类可读字符集合520,其表现为拼写词语“hellowotd”。此外邻近人类可读字符结合520的是基于HWR的处理的对应结果,其导致显示拼写“hellowotd”的机器可读字符530。该示例性用户界面的一个有趣特征是搜索建议窗口540基于机器可读字符530提供建议的搜索术语。For example, as shown in FIG. 5, a plurality of overlapping strokes 500 entered on a touch screen 510 of the device are automatically untangled, segmented, and synthesized to form a set of human-readable characters 520, which appears to spell the word "hellowotd." Also adjacent to the human-readable character combination 520 is the corresponding result of the HWR-based processing, which results in the display of the machine-readable character 530 spelling "hellowotd". One interesting feature of this exemplary user interface is that search suggestion window 540 provides suggested search terms based on machine-readable characters 530 .
在这种情况下,实际上针对所意图的用户输入来校正搜索引擎返回的搜索建议。特别地,图5右侧的设备515示出了用户选择(例如,用户“轻敲”所显示的字符)人类可读字符的结果,其表示在表现为拼写“wotd”的字符集合中的字符“t”。在该例子中,笔划理清器自动重新分割笔划,在显示屏上显示得到的校正后的人类可读字符525和对应的机器可读字符535,并突出了校正后的分割和对应的字符(参见元件555)。In this case, the search suggestions returned by the search engine are actually corrected for the intended user input. In particular, device 515 on the right side of FIG. 5 shows the result of a user selecting (e.g., the user "tapping" the displayed character) a human-readable character representing a character in the set of characters represented by the spelling "wotd." "t". In this example, the stroke untangler automatically re-segments the strokes, displays the resulting corrected human-readable characters 525 and corresponding machine-readable characters 535 on the display screen, and highlights the corrected segmentation and corresponding characters ( See element 555).
注意,对突出的校正后的分割和对应的字符(参见元件555)的显示可以被呈现达预定时间段或被呈现直到用户取消。此外,如该例子所示,在各个实施例中,可以在更大视图中呈现突出的校正后的分割和对应字符(参见元件555),以将这些字符以在用户想要进一步编辑的情况下能够更容易编辑的格式呈现给用户。Note that the display of the highlighted corrected segmentation and corresponding characters (see element 555) may be presented for a predetermined period of time or until canceled by the user. Additionally, as shown in this example, in various embodiments, the corrected segmentation and corresponding characters may be presented in a larger view highlighted (see element 555) to allow these characters to be displayed in case the user wishes to further edit Presented to the user in a more easily editable format.
注意,在图5的例子中,当将用户输入校正为原始意图的“helloworld”时,所显示的搜索建议仍是相同的。对每个分割错误而言情况不总是这样的,但是在发生分割错误的百分率非常高时情况就是如此。这样,即使当形成人类可读字符集合时在对笔划进行理清、分割和合成中出现错误,用户也能够快速输入或选择所意图的输入。Note that in the example of Figure 5, when the user input is corrected to the original intent of "helloworld", the displayed search suggestion remains the same. This is not always the case for every segmentation error, but it is the case when a very high percentage of segmentation errors occur. In this way, even if errors occur in untangling, segmenting, and synthesizing strokes when forming a human-readable character set, the user can quickly input or select an intended input.
注意,用于校正分割错误的示例性技术将在章节2.5中详细讨论。Note that exemplary techniques for correcting segmentation errors are discussed in detail in Section 2.5.
2.3分割算法: 2.3 Segmentation algorithm:
通常,笔划理清器用户界面允许用户通过空格手势或标记词语结束的任何其它控制手势来标记词语边界。利用以下结合在图6中呈现的笔划分割而描述的技术,将词语内的笔划自动分割成字符(其用于实现图1的笔划理清和分割模型220的各个实施例)。Typically, the stroke untangler user interface allows the user to mark word boundaries with a space gesture or any other control gesture that marks the end of a word. Strokes within words are automatically segmented into characters using techniques described below in connection with the stroke segmentation presented in FIG. 6 (which are used to implement various embodiments of the stroke untangling and segmentation model 220 of FIG. 1 ).
特别地,图6示出了示例性笔划分割图600。笔划分割图600包括多个节点610-650(每个节点表示对应的分割模型,参见在章节2.4讨论的分割模型)。在所示的例子中,笔划分割图600可以用于表示由1-4个笔划构成的手写字符,因为这个数量的笔划通常对大部分字符都是足够的。然而,应该理解的是,可以通过增加在分割图中的节点的数量来分割任意数量的笔划。在任何情况下,在图6的例子中,来自节点4(即,元件650)到节点0(即,元件610)的任意路径表示笔划分割,其中这种分割的分数(score)是遍历的边缘权重(traversededgeweight)的和sik,并且其中访问节点标记字符结束。In particular, FIG. 6 shows an exemplary stroke segmentation map 600 . The stroke segmentation graph 600 includes a plurality of nodes 610-650 (each node represents a corresponding segmentation model, see the segmentation model discussed in Section 2.4). In the example shown, the stroke segmentation map 600 can be used to represent handwritten characters consisting of 1-4 strokes, since this number of strokes is usually sufficient for most characters. However, it should be understood that any number of strokes can be split by increasing the number of nodes in the split graph. In any case, in the example of FIG. 6, an arbitrary path from node 4 (i.e., element 650) to node 0 (i.e., element 610) represents a stroke segmentation, where the score of such segmentation is the traversed edge The sum of weights (traversededgeweight) s ik , and where the visited node marks the end of characters.
在示例性实施例中,笔记理清器的分割算法用于分割包括N个笔划的任意词语或字符。对于每个笔划i=1,…,N,可以计算四个分数sik,k=1,…,4,其中每个分数描述笔划i是在k笔划字符中的最后笔划的可能性如何。图6描绘了分割图,其中N=4,并且包括N+1个节点;每个笔划i=1,…,N的一个节点加上一个标记为0的额外节点610,其中图600包括从每个节点返回到其(直到)四个前导(predecessors)的指向边缘。从节点i到节点i-k的边缘对应于将笔划(i-k+1),…,i分组到一个字符中,并由对应的分数sik加权。从节点N到节点0的路径表示将N个笔划分割成字符。预测最可能的分割相当于定位具有边缘权重的最大和的路径。本领域技术人员可以理解的是,这是个最短路径问题,可以利用在O(N)时间和空间中动态编程而有效地解决。In an exemplary embodiment, the segmentation algorithm of Note Untangler is used to segment any word or character comprising N strokes. For each stroke i=1,...,N, four scores sik ,k=1,...,4 can be calculated, where each score describes how likely it is that stroke i is the last stroke in a k-stroke character. Figure 6 depicts a segmentation graph where N=4 and includes N+1 nodes; one node for each stroke i=1,...,N plus an extra node 610 labeled 0, where the graph 600 includes nodes return to the directed edges of their (up to) four predecessors. An edge from node i to node ik corresponds to grouping strokes (i−k+1),...,i into a character and is weighted by the corresponding score sik . A path from node N to node 0 represents the segmentation of N strokes into characters. Predicting the most likely split amounts to locating the path with the maximum sum of edge weights. Those skilled in the art will appreciate that this is a shortest path problem that can be efficiently solved using dynamic programming in O(N) time and space.
2.4分割模型: 2.4 Segmentation model:
一般而言,分割算法利用用于分割笔划的多个训练分割模型之一。这些训练分割模型由分割算法用于计算字符结束分数为sik=fk(vi),其中vi是描述笔划i的特征向量,而fk是笔划是k笔划字符中最后一个的可能性的统计模型。换句话说,这些模型确定一个字符的笔划何时结束,后续笔划然后被分割到下一字符中。多个交叠笔划的逐字符分割然后被合成一个对应的人类可读字符,如本文献通篇所讨论的。In general, a segmentation algorithm utilizes one of several trained segmentation models for segmenting strokes. These trained segmentation models are used by the segmentation algorithm to compute the character ending score as sik = fk(v i ), where v i is the feature vector describing stroke i and fk is the probability that the stroke is the last of the k -stroke characters statistical model. In other words, these models determine when a character's stroke ends, and subsequent strokes are then segmented into the next character. The character-by-character segmentation of multiple overlapping strokes is then synthesized into a corresponding human-readable character, as discussed throughout this document.
在各个实施例中,特征向量vi包括多个值,包括笔划输入的边界框位置、维度、面积、纵横比、笔划长度、多箱(multi-bin)斜率直方图、在笔划开始和结束处的斜率,等等。特征向量还可以为在时间上相邻的笔划在两个方向(即,先前和后续相邻笔划)上保持类似的值。例如,特征向量可以为在时间上相邻的两个笔划在两个方向(i-2),…,(i+2)上保持类似值,如果这种笔划存在(在vi中丢失的输入可以被设置为一些默认值,例如-1,以表示对特定输入不存在值)。此外,用于笔划输入的边界框特征可以被采用于确定笔划输入的相邻边界框的并集和交集。注意,在触摸屏上的笔划输入的这些边界框不应与用于缩放根据上述在章节2.2.3中讨论的已理清和分割的笔划所呈现的人类可读字符的可选边界框混淆。In various embodiments, the feature vector vi includes a plurality of values, including stroke input's bounding box location, dimension, area, aspect ratio, stroke length, multi-bin slope histogram, at stroke start and end the slope of , and so on. The feature vectors may also hold similar values in both directions (ie, previous and subsequent adjacent strokes) for temporally adjacent strokes. For example, feature vectors can hold similar values in both directions (i-2),...,( i +2) for two temporally adjacent strokes, if such strokes exist (inputs lost in vi Can be set to some default value, such as -1, to indicate that no value exists for a particular input). Furthermore, bounding box features for stroke inputs may be employed to determine the union and intersection of adjacent bounding boxes for stroke inputs. Note that these bounding boxes for stroke input on a touch screen should not be confused with the optional bounding boxes used to scale human-readable characters rendered from the untangled and segmented strokes discussed above in Section 2.2.3.
在笔划理清器的经过验定的实施例中,采用提升的决策残根(boosteddecisionstump)来习得字符分割模型的结束:例如,在vi的个体维度上n个步骤函数hjk的和。注意,在该经过验定的实施例中,利用在训练数据中的k笔划字符笔划的结束作为正面例子而剩余的笔划作为反面例子,有区别地训练模型。另外,应该理解,可以使用其它计算机学习或建模技术构造理清算法所使用的字符分割模型的结束,并且仅出于解释的目的描述了提升决策残根的使用。In a proven embodiment of the stroke untangler, a boosted decision stump is employed to learn the end of the character segmentation model: For example, the sum of n step functions hjk over the individual dimension of vi . Note that in this validated embodiment, the model is trained discriminatively using the end of k-stroke character strokes in the training data as positive examples and the remaining strokes as negative examples. Additionally, it should be understood that other computer learning or modeling techniques may be used to construct the end of the character segmentation model used by the untangling algorithm, and the use of lifting decision stubs is described for explanatory purposes only.
2.4.1模型训练: 2.4.1 Model training:
可以利用多种技术实现为分割图的节点训练分割模型。例如,在经过验定的实施例中,记录了针对已知阶段手动输入笔划数据,所述数据被手动标记字符边界,并用于训练四个分割模型(对于四个节点分割图的情况)。然而,这种类型的手动数据输入会是慢且较不准确的,除非输入大量数据。Training a segmentation model for the nodes of a segmentation graph can be achieved using a variety of techniques. For example, in the validated embodiment, manually input stroke data was recorded for known stages, the data was manually marked with character boundaries, and used to train four segmentation models (for the case of four node segmentation graphs). However, this type of manual data entry can be slow and less accurate unless large amounts of data are entered.
因此,在经过验定的实施例中,利用在典型在线消息传送系统中观察到的包括来自大群体的写手和最频繁词语的语料库的数以千计的手写英语字符的公共可用数据集,通过自动模仿笔划,来生成显著更多的训练数据。注意,可以使用其它语言和字符集,例如,汉语、婆罗米系文字等,来生成语言特定的分割模型。Thus, in a validated embodiment, utilizing a publicly available dataset of thousands of handwritten English characters observed in typical online messaging systems comprising a corpus of writers and most frequent words from a large population, Generate significantly more training data by automatically imitating strokes. Note that other languages and character sets, such as Chinese, Brahmi, etc., can be used to generate language-specific segmentation models.
为了模仿输入到书写面板上的词语,从消息传送系统语料库中取出随机词语。然后,对于每个字符,从笔迹数据集中取回一组墨迹笔划。模仿的笔划的位置和大小被随机打乱,以使得它们的平均值和方差匹配来自前述讨论的手动创建(但是真实)的数据集的数据。在字符中的相对笔划位置不是随机的,因为假设当用户正在书写面板上输入笔划时相对笔划位置通常保存在字符内。这些技术用于生成非常大量的笔划用于训练分割模型。在经过验定的实施例中,利用n=256残根中的每个(即,利用上述提升的决策残根)训练模型。注意,在该过程中可以采用更多或更少的残根,这取决于可用训练数据以及取决于期望的模型保真度。To mimic words entered on the writing pad, random words are taken from the messaging system corpus. Then, for each character, retrieve a set of ink strokes from the handwriting dataset. The positions and sizes of the simulated strokes were randomly shuffled such that their mean and variance matched data from the manually created (but real) dataset discussed previously. The relative stroke positions within the character are not random, as it is assumed that the relative stroke positions are usually saved within the character when the user is entering strokes on the writing pad. These techniques are used to generate very large numbers of strokes for training segmentation models. In a validated embodiment, the model is trained with each of the n=256 stubs (ie, with the boosted decision stubs described above). Note that more or fewer stubs can be employed in this process, depending on the available training data and on the desired model fidelity.
2.5校正笔划分割错误: 2.5 Correct stroke segmentation errors:
如结合图5在上述讨论的,错误有时可以发生于理清和分割笔划时,结果是意图成为人类可读的字符的一个或多个笔划全部或部分被呈现于彼此顶部,或以不正确的方式断裂成碎片。笔划理清器提供各种技术用于解决这种错误。As discussed above in connection with Figure 5, errors can sometimes occur when untangling and segmenting strokes, with the result that one or more strokes intended to be human-readable characters are rendered wholly or partially on top of each other, or in incorrect Way to break into pieces. Stroke Untangler offers various techniques for resolving this error.
一般而言,当用户表示(例如,“轻敲以校正”,或以其它方式选择或指定)一个或多个字符被不正确地显示或呈现时,笔划理清器通过确定一个或多个所选和相邻笔划的最可能替代分割,来自动重新分割所选的一个或多个字符。In general, when a user indicates (eg, "tap to correct," or otherwise selects or specifies) that one or more characters are incorrectly displayed or rendered, the Stroke Untangler operates by determining one or more of the Automatically re-segment the selected character or characters by selecting the most likely alternative segmentation for the selected and adjacent strokes.
特别地,关于由于分割错误而未被正确显示的一个或多个字符,笔划理清器识别对轻敲或选择位置的一个或多个字符的最接近序列。然后将与所述词语的字符相关联的笔划划分为三个种类,包括:In particular, the stroke untangler identifies the closest sequence of one or more characters to a tap or selection location with respect to one or more characters that were not correctly displayed due to segmentation errors. The strokes associated with the characters of the word are then classified into three categories, including:
种类1:将被改变分割的笔划。在经过验定的实施例中,在用户轻敲位置大约5mm周围的笔划被放置到该种类中,因为用户被预期为实际轻敲或选择被她视为分割错误的事物,但是这个距离将取决于各种因素,例如,字符的所显示大小; Category 1: Strokes to be segmented by changes. In a proven embodiment, strokes around 5mm from the user's tap location are placed into this category because the user is expected to actually tap or select something she sees as a segmentation error, but this distance will depend on depending on various factors, such as the displayed size of characters;
种类2:可能改变分割的笔划。一般而言,这些是一个或多个笔划,其是在分割将被改变的种类1中用户所选字符或笔划的紧邻(在任意方向,如上所述);以及 Category 2: strokes that may change segmentation. In general, these are one or more strokes that are in the immediate vicinity (in either direction, as above) of a user-selected character or stroke in Category 1 where the segmentation will be changed; and
种类3:不在种类1和种类2中的笔划。对这些笔划的分割不改变,直到用户后续进行选择,或者除非它们紧邻后续选择的笔划。 Category 3: Strokes not in category 1 and category 2. The division of these strokes does not change until the user subsequently makes a selection, or unless they are next to a subsequently selected stroke.
给定可能改变或不改变(例如,种类1和2)分割的笔划的上述种类,利用上述分割算法,计算最可能的替代分割的某个阈值(例如,32),同时保持种类3中的笔划不变。这可以通过以下而实现:从分割图(参见图6)移除将导致种类3中笔划的替代分割的边缘,并确定直到剩余路径的阈值数量的分数(score)。注意,取决于正被重新分割的笔划数量,替代路径的可能的总数可能少于对所考虑的路径数量设置上限的阈值数量。Given the above classes of strokes that may or may not change (e.g., classes 1 and 2) segment, using the above segmentation algorithm, compute the most likely alternative segmentation for some threshold (e.g., 32) while keeping strokes in class 3 constant. This can be achieved by removing from the segmentation map (see Fig. 6) edges that would result in an alternative segmentation of strokes in category 3, and determining a score up to a threshold number of remaining paths. Note that, depending on the number of strokes being re-segmented, the possible total number of alternative paths may be less than a threshold number that places an upper limit on the number of paths considered.
在各个实施例中,给定上述讨论的最可能的替代分割的集合,笔划理清器自动选择单个最可能的替代分割,其定义为满足以下标准的可行路径:In various embodiments, given the set of most likely alternative segmentations discussed above, the stroke untangler automatically selects a single most likely alternative segmentation, defined as a feasible path that satisfies the following criteria:
1.所选的替代分割改变落入到种类1中的至少一个笔划;以及1. The selected alternative segmentation changes at least one stroke that falls into Category 1; and
2.所选的替代分割对落入到种类2中的笔划具有最小影响。2. The selected alternative segmentation has minimal impact on strokes that fall into category 2.
上述规则有利于部分的校正,但是当部分改变需要在较大区域内改变时(即,对邻近笔记分割的可能改变)还允许更大区域的改变。此外,利用该规则使得笔划理清器能够实时地在用户轻敲或选择具有分割错误的字符时自动校正分割。在各个替代实施例中,笔划理清器替代地表示对应于多个最可能替代分割的两个的显示以供用户选择。The above rules facilitate partial corrections, but also allow for larger-area changes when partial changes require changes over larger areas (ie, possible changes to adjacent note divisions). Furthermore, utilizing this rule enables the stroke untangler to automatically correct the segmentation in real time when the user taps or selects a character with a segmentation error. In various alternative embodiments, the stroke untangler instead presents a display corresponding to two of the plurality of most likely alternative segmentations for user selection.
2.6交叠笔迹辨识: 2.6 Overlapping handwriting recognition:
如本文献通篇所描述的,笔划理清器利用自动理清和分割交叠笔划来执行对对应人类可读字符的笔迹辨识。换句话说,笔划理清器提供交叠的HWR过程,其首先通过分组或分割交叠笔划到字符中,然后执行后续的HWR处理这些人类可读字符,来“理清”表示交叠墨迹的笔划。As described throughout this document, the Stroke Untangler utilizes automatic untangling and segmentation of overlapping strokes to perform handwriting recognition of corresponding human-readable characters. In other words, the stroke untangler provides an overlapping HWR process that "untangles" the characters representing overlapping ink by first grouping or segmenting overlapping strokes into characters and then performing subsequent HWR processing on these human-readable characters. strokes.
与以需要使用各种HWR处理技术作为帮助执行分割的方式集成理清逻辑与笔迹辨识的技术相比,笔划理清器实现理清作为单独的专用过程,在不使用基于HWR技术作为帮助或引导执行分割的情况下执行理清。换句话说,该预处理笔划仅提供了将墨迹笔划分组或分割到人类可读组分。然将经分组或分割的字符发送给标准(非交叠)HWR过程,其操作以返回对应于人类可读字符的机器可读文本。In contrast to techniques that integrate untangling logic with handwriting recognition in a way that requires the use of various HWR processing techniques as an aid to perform segmentation, the Stroke Untangler implements untangling as a separate dedicated process without using HWR-based techniques as an aid or guide. Perform untangling in case of performing split. In other words, the preprocessing strokes only provide for grouping or segmentation of ink strokes into human readable components. The grouped or segmented characters are then sent to a standard (non-overlapping) HWR process, which operates to return machine-readable text corresponding to the human-readable characters.
对于笔划理清器执行的笔划分割过程存在若干优点。例如,理清和分割比完全辨识简单,并因此通常比现有基于HWR的理清和分割技术更快(和较低的功率)。这使得其能很好地适于实时反馈,用于在用户正输入笔划的同时在显示器上呈现整个手写词语。此外,上述笔划分割过程可以利用任何现有HWR系统,其通常是不能被容易地修改以处理交叠输入的高度优化过程。There are several advantages to the stroke segmentation process performed by the Stroke Untangler. For example, untangling and segmentation is simpler than full identification, and thus is generally faster (and lower power) than existing HWR-based untangling and segmentation techniques. This makes it well suited for real-time feedback for presenting entire handwritten words on the display while the user is entering strokes. Furthermore, the stroke segmentation process described above can utilize any existing HWR system, which is generally a highly optimized process that cannot be easily modified to handle overlapping inputs.
2.6.1辨识候选: 2.6.1 Identify Candidates:
如上所述,笔划理清器响应于用户输入的手写字符,提供各种用户可选词语预测和“语义”辨识候选。特别地,当将来自HWR算法的结果馈送到如搜索算法的应用时,后者可以比单独HWR算法访问更多的校正或预测集合。As described above, the stroke untangler provides various user-selectable word predictions and "semantic" recognition candidates in response to handwritten characters entered by the user. In particular, when the results from the HWR algorithm are fed to an application like a search algorithm, the latter can access a larger set of corrections or predictions than the HWR algorithm alone.
例如,如果用户在搜索引擎中键入“facebock”,则通常搜索引擎将以“facebook”作为搜索候选进行响应。在这种情况下,笔划理清器可以在候选窗口或显示屏的任意地方处直接显示更详尽的校正和预测作为用户可选输入。注意,该概念的例子结合图5在上文进行了描述。在各个实施例中,一旦用户已经选择了特定的辨识候选,则输入窗口被清除并准备用于下一字符输入。For example, if a user types "facebock" into a search engine, typically the search engine will respond with "facebook" as a search candidate. In this case, the Stroke Untangler can directly display the more detailed corrections and predictions anywhere on the candidate window or display screen as user-selectable input. Note that an example of this concept is described above in connection with FIG. 5 . In various embodiments, once the user has selected a particular recognition candidate, the input window is cleared and ready for the next character input.
词语预测是笔划理清器支持的另一技术。例如,在各个实施例中,笔划理清器使用统计语言模型等来显示当前词语的最可能的完成,例如,当用户书写“faceb”时,候选列表将包含“facebook”。这允许用户利用单次轻敲完成词语输入,导致更快速的输入速度。Word prediction is another technique supported by Stroke Untangler. For example, in various embodiments, the stroke untangler uses a statistical language model or the like to display the most likely completion for the current word, eg, when a user writes "faceb", the candidate list will contain "facebook". This allows the user to complete word input with a single tap, resulting in a faster input speed.
注意,因为笔划理清器显示邻近或靠近辨识候选、预测候选、建议候选和/或校正候选(或这些的任意或全部的任意组合)的手写字符(即,由本文所描述的分割和合成技术生成的人类可读字符),所以用户仍可以访问她实际手写的事物。这已经被观察到有助于用户相对与笔划理清器呈现的各种辨识候选涉及她的输入。这在使用更复杂的预测算法或语言模型时,并且当在实际书写输入和候选之间的关系变得更抽象时,变得愈加有用。例如,在极端例子中,如果用户写入“lowes”,笔划理清器可以显示“homedepot”,因为两者都涉及家用改善型存贮。Note that because the Stroke Untangler displays handwritten characters adjacent to or close to recognition candidates, prediction candidates, suggestion candidates, and/or correction candidates (or any combination of any or all of these) (i.e. generated human-readable characters), so the user can still access what she actually wrote by hand. This has been observed to help the user relate her input relative to the various identification candidates presented by the Stroke Untangler. This becomes increasingly useful when using more complex predictive algorithms or language models, and when the relationship between actual written input and candidates becomes more abstract. For example, in an extreme case, if the user writes "lowes", the Stroke Untangler may display "homedepot", since both relate to home improvement storage.
2.6.2词表外的词语或字符串: 2.6.2 Out-of-vocabulary words or strings:
通常,用户想要输入不是实际词语的文本。例子包括:密码、在词典中找不到的不常用词语(包括另一种语言的词语)、或有表达性的拼写(例如,“whoooah”)等。因此,在笔划理清器的各个实施例中,经由HWR过程,通过发起辨识模式,允许这些类型的词表外词语或字符串,在所述辨识模式中,建议包括纯粹的理清和合成作为一种选择(例如,为至少一种选择关闭拼写检查或词语识别)以允许用户输入新词语(例如,“wooooah”)或具有混合特殊字符、数字和字母的密码(例如,“&4KrPqwS”)等。笔划理清器还可以通过使用HWR系统执行逐字符的辨识而不提供拼写或词语校正或建议来实现类似的结果。注意,在一些实施例中,这种结果可以表示为在预测列表中的替代,而不是强迫用户切换到不同的辨识模式。Often, users want to enter text that is not actual words. Examples include: passwords, unusual words not found in dictionaries (including words in another language), or expressive spellings (for example, "whoooah"), etc. Thus, in various embodiments of the stroke untangler, these types of out-of-vocabulary words or strings are allowed, via the HWR process, by initiating a recognition mode in which it is recommended to include pure untangling and synthesis as An option (eg, turn off spellcheck or word recognition for at least one option) to allow users to enter new words (eg, "wooooah") or passwords with a mix of special characters, numbers and letters (eg, "&4KrPqwS"), etc. . Stroke Untangler can also achieve similar results by using the HWR system to perform character-by-character recognition without providing spelling or word corrections or suggestions. Note that in some embodiments, such results may be represented as alternatives in the prediction list, rather than forcing the user to switch to a different recognition mode.
2.7额外的实施例和考量: 2.7 Additional Examples and Considerations:
如上所讨论的,笔划理清器可以以广泛范围的形状因子实现,例如,智能手机、平板计算机、具有触摸屏或触摸敏感表面的腕表型设备、或具有可以跟踪交叠笔划的真实或虚拟书写面板的任意其它设备。此外,使得作为HWR过程之后的输出产生的机器可读文本对于多种应用中的任一种作为文本输入可用。As discussed above, stroke untanglers can be implemented in a wide range of form factors, for example, smartphones, tablet computers, wristwatch-type devices with touchscreens or touch-sensitive surfaces, or real or virtual writing devices with overlapping strokes that can be tracked Any other device on the panel. Furthermore, the machine-readable text produced as output following the HWR process is made available as text input for any of a variety of applications.
因此,给定可以实现笔划理清器的广范围的设备,以及笔划理清器将机器可读文本传递到任意数量的应用的能力,存在多种方式呈现采用本文所描述的一些或所有功能的用户界面。此外,可以呈现用户界面的一些不同方式与设备上可用的显示屏的尺寸相关。Thus, given the wide range of devices that can implement a Stroke Untangler, and the ability of a Stroke Untangler to deliver machine-readable text to any number of applications, there are multiple ways to present an application that employs some or all of the functionality described herein. User Interface. Furthermore, some of the different ways in which the user interface can be presented are related to the size of the display screen available on the device.
考虑到这些考量,在下文描述了笔划理清器的各种特征和能力的多个实施例和用途中的一些的若干额外例子。应该理解的是,这些例子并非旨在限制笔划理清器的用户界面实施例或能力的任一个的范围,并且这种例子仅出于解释的目的提供。With these considerations in mind, several additional examples of some of the many embodiments and uses of the various features and capabilities of the Stroke Untangler are described below. It should be understood that these examples are not intended to limit the scope of any of the user interface embodiments or capabilities of the Stroke Untangler, and that such examples are provided for explanatory purposes only.
2.7.1自动完成用户笔迹样本: 2.7.1 Automatically complete user handwriting samples:
如本文献通篇所描述的,笔划理清器以人力可读格式根据用户输入的交叠笔划生成已理清的和分割的字符和词语。这样,这些人类可读字符和词语是用户个人的笔迹。因此,在HWR过程之后,在用户个人笔迹的对应机器可读文本的个体字符和词语之间存在直接映射。As described throughout this document, a stroke untangler generates untangled and segmented characters and words in a human-readable format from overlapping strokes input by a user. As such, these human readable characters and words are the user's personal handwriting. Thus, after the HWR process, there is a direct mapping between individual characters and words of the corresponding machine-readable text of the user's personal handwriting.
因此,在各个实施例中,笔划理清器构造形成用户笔迹以及对应机器可读文本的字符和词语的笔划的实际样本的数据库或库(例如,图2的元件250)。该数据库或库随后可以用于广范围的目的。Thus, in various embodiments, the stroke untangler constructs a database or library (eg, element 250 of FIG. 2 ) of actual samples of user handwriting and strokes corresponding to characters and words of machine-readable text. This database or library can then be used for a wide range of purposes.
例如,当从各种辨识候选、搜索建议或自动完成建议中进行选择时,笔划理清器可以从用户的字符样本库中取回对应的字符样本,以更新所呈现字符的显示以对应于用户选择。结果是通过字符显示模块显示以用户个人笔迹自动呈现的字母、词语和/或短语。注意,笔划理清器还被允许在用户输入的文本中校正拼写错误,同时针对对应的人类可读字符保持用户个人笔迹。For example, when selecting from various recognition candidates, search suggestions, or autocomplete suggestions, the Stroke Untangler can retrieve corresponding character samples from the user's library of character samples to update the display of rendered characters to correspond to the user's choose. The result is the display of letters, words and/or phrases automatically rendered in the user's personal handwriting by the character display module. Note that the Stroke Untangler is also allowed to correct misspellings in user-entered text while maintaining the user's personal handwriting for the corresponding human-readable characters.
其它示例性使用包括但不限于:基于笔迹的文本编辑应用,其中用户利用任意期望的文本(或语音)输入技术键入或输入文本,来自样本库的对应字符样本随后被作为文本的人类可读图像传递给另一设备或应用。注意,对应机器可读文本可以连同这些文本的人类可读图像被传递到其它设备或应用。另一例子Other exemplary uses include, but are not limited to: handwriting-based text editing applications, where a user types or enters text using any desired text (or speech) input technology, and corresponding character samples from a library of samples are then used as human-readable images of the text passed to another device or application. Note that corresponding machine-readable text may be communicated to other devices or applications along with human-readable images of such text. another example
2.7.2整体词语理清: 2.7.2 Clarification of overall words:
通常,训练笔划理清器的分割算法和分割模型来每次支持不仅一个字符,而是支持两个或更多字符或甚至整个词语。因此,如果书写面板足够大,或如果用户能写地足够小,则一次可以输入两个或更多字母的笔划或甚至整个词语,如上所述笔划理清器将操作以理清、分割、合成和辨识这些多个字符作为组合操作。Typically, the stroke untangler's segmentation algorithms and segmentation models are trained to support not just one character at a time, but two or more characters or even whole words. Thus, if the writing panel is large enough, or if the user can write small enough, two or more letter strokes or even whole words can be entered at a time, and the stroke untangler will operate to untangle, segment, synthesize and recognize these multiple characters as a combined operation.
2.7.3搜索引擎集成: 2.7.3 Search engine integration:
如该文献通篇所描述的,笔划理清器自动理清和合成用户输入笔划,以形成表示字母、词语或短语的字符。在各个实施例中,随后在这些字符上执行文本辨识,并将文本辨识自动提供作为搜索引擎等的输入。如同多个搜索引擎,在各个实施例中,自动完成功能用于提供基于部分用户输入的搜索建议。As described throughout this document, the Stroke Untangler automatically unscrambles and synthesizes user input strokes to form characters representing letters, words or phrases. In various embodiments, text recognition is then performed on these characters and provided automatically as input to a search engine or the like. As with many search engines, in various embodiments, an autocomplete function is used to provide search suggestions based in part on user input.
例如,如图1所示,如上所述,将被理清以产生后续辨识为文本“pizza”的字符的用户笔划用作自动完成目的的部分搜索输入。作为响应,搜索引擎返回多个搜索建议,其在图1的例子中包括“pizzahut”、“pizzahutmenu”和“pizzahutcoupons”。然后,用户可以简单地选择这些自动完成建议中的任一个来执行搜索。替代地,如果用户不想接受任一个自动完成建议,则她可以执行仅基于词语“pizza”的搜索,或者简单地继续输入额外的笔划以提供额外的字符输入(例如,额外的笔划以输入表示词语“recipe”的字符)。还应注意的是,如结合图4讨论的,在各个实施例中,当用户输入绘画时,笔划理清器基于图像执行搜索或执行组合的图像与文本搜索。For example, as shown in FIG. 1 , as described above, user strokes that are untangled to produce characters subsequently recognized as the text "pizza" are used as part of the search input for auto-completion purposes. In response, the search engine returns a number of search suggestions, which in the example of FIG. 1 include "pizzahut," "pizzahutmenu," and "pizzahutcoupons." Users can then simply select any of these autocomplete suggestions to perform a search. Alternatively, if the user does not want to accept either of the autocomplete suggestions, she can perform a search based only on the term "pizza", or simply continue typing additional strokes to provide additional character input (e.g., additional strokes to enter to represent the word "recipe" characters). It should also be noted that, as discussed in connection with FIG. 4, in various embodiments, when a user enters a drawing, the stroke untangler performs a search based on the image or performs a combined image and text search.
2.7.4在空中或在任意表面的交叠笔划: 2.7.4 Overlapping strokes in the air or on any surface:
本领域技术人员已知各种用于跟踪手指运动的技术,例如, 摄像机、基于射频的跟踪系统、基于激光的跟踪系统等。这种技术和设备适应于各个实施例中以跟踪用户的手指(或书写实现工具的尖端),同时用户在空中或在任意表面(例如,台式计算机或桌面)上进行交叠笔划运动。Various techniques for tracking finger movements are known to those skilled in the art, for example, Cameras, RF-based tracking systems, laser-based tracking systems, etc. Such techniques and devices are adapted in various embodiments to track a user's fingers (or the tip of a writing implement) while the user is making overlapping stroke motions in the air or on any surface (eg, a desktop computer or tabletop).
此外,如上所述,在各个实施例中,在触摸屏上直接输入不是必需的。这种笔划可以例如在膝上型计算机的触摸板上进行,或在具有触摸敏感表面的移动设备的背上进行。此外,可以在一个设备(例如,手表、触摸敏感手镯)上进行这种笔划,而在另一设备(例如,台式计算机、电子白板等)上理清(并呈现给用户)。其它例子包括与各种设备相关联的“触摸盖”或“触摸盖2”输入设备。这种设备包括电容敏感技术、压力敏感技术和接近度感知技术的各种组合。这种设备可以适于(经由各种软件或驱动器修改)接收通过在一个或多个压力敏感或接近度敏感键顶部上或之上击打而输入的笔划,而不是仅感知屏幕上或触摸板上的笔划。Furthermore, as mentioned above, in various embodiments, direct input on the touch screen is not required. Such strokes can be performed, for example, on the touchpad of a laptop computer, or on the back of a mobile device with a touch-sensitive surface. Furthermore, such strokes can be made on one device (eg, watch, touch-sensitive bracelet) while being sorted out (and presented to the user) on another device (eg, desktop computer, electronic whiteboard, etc.). Other examples include various The "Touch Cover" or "Touch Cover 2" input device associated with the device. Such devices include various combinations of capacitance-sensing, pressure-sensing, and proximity-sensing technologies. Such a device may be adapted (via various software or driver modifications) to receive strokes entered by tapping on top of or over one or more pressure-sensitive or proximity-sensitive keys, rather than just sensing on-screen or touchpad strokes on.
换句话说,用户笔划理清器能够利用各种跟踪技术相对任意真实或虚拟表面来跟踪交叠的手指笔划。如同笔划输入直接到触摸屏或其它触摸敏感表面,用户笔划理清器然后利用观察该文献描述的一些或全部各种技术,来自动理清和合成这些笔划以形成字母、词语或短语。然后利用各种HWR技术处理得到的人类可读字符,以提供机器可读文本以用于任何期望的应用中,如本文献通篇所讨论的。In other words, the UserStroke Untangler is able to track overlapping finger strokes against any real or virtual surface using various tracking techniques. As strokes are entered directly to a touch screen or other touch-sensitive surface, the User Stroke Untangler then automatically unscrambles and synthesizes these strokes to form letters, words, or phrases, using some or all of the various techniques described in this document. The resulting human-readable characters are then processed using various HWR techniques to provide machine-readable text for use in any desired application, as discussed throughout this document.
还应注意,在各个实施例中,在一个或多个手指上佩戴着惯性跟踪设备。然后,当这些手指移动以在空中或任意表面上创建交叠笔划时,经由惯性跟踪设备跟踪这些手指的运动。然后由笔划理清器将得到的运动视为如在本文献通篇中讨论的处理的输入交叠笔划。It should also be noted that in various embodiments, an inertial tracking device is worn on one or more fingers. The motion of these fingers is then tracked via an inertial tracking device as they move to create overlapping strokes in the air or on an arbitrary surface. The resulting motion is then treated by the stroke untangler as input overlapping strokes processed as discussed throughout this document.
2.7.5针对安全性考虑用户笔迹样本: 2.7.5 Consider user handwriting samples for security:
如上所述,在各个实施例中,笔划理清器基于用户笔迹的实际样本,收集用户的习得字符样本。因此,这些样本可以用于广范围的目的,例如,在章节2.7.1中讨论的笔迹自动完成技术。这些习得字符样本的另一感兴趣用途是考虑用户输入的手写字符是否足够接近在习得字符数据库中存储的那些字符的例子。为此,可以计算各种相似度度量,例如,现有的图像比较或匹配技术。然后,在手写字符足够接近匹配所存储的字符样本的情况下,笔划理清器可以接受那些手写字符作为有效的基于图像的密码输入。As noted above, in various embodiments, the stroke untangler collects learned character samples of the user based on actual samples of the user's handwriting. Therefore, these samples can be used for a wide range of purposes, eg, handwriting auto-completion techniques discussed in Section 2.7.1. Another interesting use of these learned character samples is to consider whether the handwritten characters entered by the user are close enough to the examples of those characters stored in the learned character database. To this end, various similarity measures can be calculated, for example, existing image comparison or matching techniques. Then, where the handwritten characters closely match the stored character samples, the stroke untangler can accept those handwritten characters as valid image-based password input.
此外,该处理可以用作上述HWR处理这些字符的前驱。例如,当通过对笔划进行理清、分割和合成来输入密码等时,对应的机器可读文本将不被作为密码输入尝试来传递,直到字符足够接近匹配用户笔迹。结果是需要输入仅一个密码的两级授权过程。换句话说,即使辨识出的文本提供正确的密码,当以不同用户的笔迹输入时,所述密码也将被拒绝。Furthermore, this processing can be used as a precursor to the processing of these characters by the HWR described above. For example, when entering passwords, etc. by untangling, segmenting, and compositing strokes, the corresponding machine-readable text will not be passed as a password entry attempt until the characters closely match the user's handwriting. The result is a two-level authorization process that requires entering only a password. In other words, even if the recognized text provided the correct password, the password would be rejected when entered in a different user's handwriting.
2.7.6基于笔划的预测键盘: 2.7.6 Stroke-based predictive keyboard:
在各个实施例中,笔划理清器利用技术来处理交叠笔划以用于选择性填充动态键盘以供用户下一输入。换句话说,如图7所示,笔划理清器用户界面的动态键盘特征基于理清、分割、合成和后续辨识随着每次输入笔划而更新的作为结果的字符,自动填充邻近正输入笔划处的可选键的小的子集。In various embodiments, the stroke untangler utilizes techniques to process overlapping strokes for selectively populating a dynamic keyboard for the user's next input. In other words, as shown in FIG. 7, the dynamic keyboard feature of the Stroke Untangler UI automatically fills in adjacent positive input strokes based on the untangling, segmentation, synthesis and subsequent recognition of the resulting characters which are updated with each input stroke. A small subset of the optional keys at .
例如,图7示出了腕表型设备720,在该例子中佩戴在用户的左手730上,其提供书写面板以供用户右手710的手指输入笔划。此外,如图7所示,在圆圈700的近似形状中绘画笔划将被HWR处理所述笔划作为“o”、“p”、“d”、“g”等的开始而辨识出。因此,包括一个或多个用户可选键740的动态键盘提供最可能匹配的用户输入笔划,并相对用户笔划700显示。For example, FIG. 7 shows a wrist-wrist-type device 720 , worn in this example on the user's left hand 730 , which provides a writing surface for stroke input with the fingers of the user's right hand 710 . Furthermore, as shown in FIG. 7, paint strokes in the approximate shape of circle 700 will be recognized by the HWR processing the stroke as the beginning of "o", "p", "d", "g", etc. Accordingly, a dynamic keyboard including one or more user-selectable keys 740 provides the most likely match for the user-input stroke and is displayed relative to the user stroke 700 .
然后,当输入更多笔划时,包括动态键盘的一组键可能改变(通过字母、字符或所显示键的整体数量和/或大小),直到用户选择一个键,或直到HWR处理自动确定超过字符匹配可能性的某个阈值。从用户选择该动态键盘的一个或多个键得到的机器可读文本可以用于任何期望目的。还应注意,可以根据其匹配用户笔划的可能性来定键的大小,更可能的匹配用户笔划的被比不太可能匹配用户笔划的更大地显示。Then, as more strokes are entered, the set of keys comprising the dynamic keyboard may change (by letter, character, or overall number and/or size of keys displayed) until the user selects a key, or until HWR processing automatically determines that more than characters Some threshold of match likelihood. The machine-readable text resulting from user selection of one or more keys of the dynamic keyboard may be used for any desired purpose. It should also be noted that keys may be sized according to their likelihood of matching a user stroke, with more likely matches being displayed larger than less likely matches.
2.7.7人类可读字符的远程HWR处理: 2.7.7 Remote HWR processing of human readable characters:
通常,上述理清和分割技术使用相对少量的计算资源来实时操作。然而,基于HWR的技术用于后续处理结果人类可读字符通常需要相对更多的计算资源。因此,在各个实施例中,笔划理清器使用远程服务器或基于云的系统来执行HWR处理从用户设备发送的人类可读字符。换句话说,在各个实施例中,基于HWR的处理由远程服务执行,同时在本地执行理清。Typically, the above-described untangling and segmentation techniques operate in real-time using relatively small amounts of computing resources. However, HWR-based techniques generally require relatively more computing resources for subsequent processing of the resulting human-readable characters. Thus, in various embodiments, the stroke untangler uses a remote server or cloud-based system to perform HWR processing of human-readable characters sent from the user device. In other words, in various embodiments, HWR-based processing is performed by a remote service while untangling is performed locally.
在这种情况下,在发生理清时,实时地将人类可读字符的图像(或者在各个实施例中,2D轨迹或描述笔划的曲线的任意其它数学表示)发送给远程服务。然后远程服务周期性发送回从一个或多个词典、语言模型、基于搜索引擎的搜索建议等导出的一个或多个辨识候选。换句话说,当用户输入笔划时实时地提供本地理清的墨迹显示,同时远程HWR系统提供周期性更新。在经过验定的实施例中,以大约500ms的间隔将周期性的基于HWR的更新返回到用户设备,同时向用户实时呈现部分笔划分割和显示。In this case, an image of the human-readable character (or in various embodiments, a 2D trajectory or any other mathematical representation of a curve describing a stroke) is sent to the remote service in real-time as untangling occurs. The remote service then periodically sends back one or more recognition candidates derived from one or more dictionaries, language models, search engine-based search suggestions, and the like. In other words, a locally cleared ink display is provided in real time as the user enters strokes, while the remote HWR system provides periodic updates. In a proven embodiment, periodic HWR-based updates are returned to the user device at approximately 500 ms intervals, while partial stroke segmentation and display is presented to the user in real time.
这种实施例的优点在于它们允许计算昂贵的任务(例如,基于HWR处理字符图像)远程执行,同时最小化在用户设备上的计算负担和对应的功率花费。这在小型设备的情况下是尤其有利的,所述小型设备例如是基于手表的形状因子(参见图7),或者一些其它小型可穿戴或基于粘贴触摸屏的设备具有有限的计算能力和有限的电力资源,但是具有发送和接收数据的通信能力。An advantage of such embodiments is that they allow computationally expensive tasks (eg, processing character images based on HWR) to be performed remotely, while minimizing the computational burden and corresponding power expenditure on the user equipment. This is especially advantageous in the case of small devices, such as a watch-based form factor (see Figure 7), or some other small wearable or sticky touchscreen based device with limited computing power and limited power resources, but with communication capabilities to send and receive data.
2.7.8基于草图的自动完成功能: 2.7.8 Sketch-based auto-completion:
如上所述,在各个实施例中,笔划理清器包括绘画模式,其允许用户输入不理清笔划的草图(参见图4)。HWR处理这些绘画可以返回对应于常见的文本-图标型自动完成场景的字符组合。例如,如果在各个实施例中用户利用表示邻近右括号字符的冒号的笔划(即,“:)”)输入草图,则笔划理清器通过笑脸ascii型字符自动完成。还注意,在文本输入模式中,输入这些相同的字符笔划还可以用于自动完成或返回对应的笑脸图标等。基于在字符和图标之间的任意期望关系的类似的基于字符的自动完成或建议由笔划理清器的各个实施例所支持。As noted above, in various embodiments, the Stroke Untangler includes a drawing mode that allows a user to enter a sketch without untangling strokes (see FIG. 4 ). HWR processes these paintings to return character combinations corresponding to common text-icon autocompletion scenarios. For example, if a user enters a sketch with a stroke representing a colon adjacent to a closing bracket character (ie, ":)") in various embodiments, the Stroke Untangler autocompletes with smiley ascii type characters. Also note that in text input mode, entering these same character strokes can also be used for auto-completion or return to a corresponding smiley face icon, etc. Similar character-based auto-completion or suggestions based on any desired relationship between characters and icons are supported by various embodiments of the Stroke Untangler.
此外,如上所述,在各个实施例中,笔划理清器基于用户输入的绘画或草图执行搜索。在该情况下,这种搜索用于返回一个或多个剪贴型图像或可以自动或由用户选择输入的照片.Additionally, as described above, in various embodiments, the Stroke Untangler performs searches based on user-input drawings or sketches. In this case, this search is used to return one or more clip-type images or photos that can be entered automatically or by user choice.
2.7.9用于实现笔划理清的其它形状因子: 2.7.9 Other form factors for stroke untangling:
如上所述,笔划理清器可以以广范围的形状因子实现,包括但不限于:智能手机、平板计算机、具有或不具有触摸屏的腕表式设备、可以戴在用户手指上的基于指环的设备、或具有能够跟踪交叠笔划的真实或虚拟书写面板的任意其它设备。例如,图8示出了书写面板800的例子,其具有触摸屏或触摸敏感表面,在其上用户可以输入交叠笔划810以供笔划理清器处理,如本文所描述的。As mentioned above, stroke untanglers can be implemented in a wide range of form factors, including but not limited to: smartphones, tablet computers, wrist-wrist-style devices with or without touch screens, ring-based devices that can be worn on the user's finger , or any other device with a real or virtual writing pad capable of tracking overlapping strokes. For example, FIG. 8 shows an example of a writing panel 800 having a touch screen or touch-sensitive surface on which a user may input overlapping strokes 810 for processing by a stroke untangler, as described herein.
2.7.10手写字符的自动字距调整: 2.7.10 Automatic kerning of handwritten characters:
在各个实施例中,笔划理清器使用负字距调整和正字距调整中之一或两者,来在用户正输入笔划时调整在显示器设备上呈现的一个或多个人类可读字符之间的间隔。In various embodiments, the stroke untangler uses one or both of negative kerning and positive kerning to adjust between one or more human-readable characters rendered on the display device while the user is entering strokes. interval.
通常,字距调整(kerning)是调整比例字体(proportionalfont)的字符之间的间隔的过程,通常为实现视觉美观的结果。字距调整调整了个体字符形式之间的空间,同时跟踪(字母间隔)一致地调整字符范围的间隔。在数字排印中,字距调整通常作为数字施加于字母对(letter-pair)上,按照该数字应该增加或减少默认字符间隔:正值表示增加,负值表示减少。In general, kerning is the process of adjusting the spacing between characters of a proportional font, usually to achieve a visually pleasing result. Kerning adjusts the space between individual character forms, while tracking (letter spacing) adjusts the spacing of character ranges consistently. In digital typography, kerning is usually applied as a number on a letter-pair by which the default character spacing should be increased or decreased: a positive value indicates an increase, a negative value indicates a decrease.
负字距调整通常用于将大写字母,例如,“T”、“V”、“W”和“Y”,配合靠近在另一侧的一些其它大写字母,例如“A”,并在右侧配合到一些小写字母,例如,组合“Ta”、“Te”和“To”。负字距调整有时还用于将句号或逗号适配靠近各种字母或字母组合。使用负字距调整的其它组合的例子包括但不限于:“FA”、“LT”和“LY”,并且如“A”、“L”和“h”等字母之后跟随引号。注意,足够大的负字距调整还可以使得字符部分交叠,例如,当“o”放置地非常靠近“T”时,“T”顶部可以直接高于字母“o”的至少一部分,如在字距调整后的词语“To”。Negative kerning is often used to align capital letters, such as "T," "V," "W," and "Y," with some other capital letter, such as "A," Fits to some lowercase letters, for example, the combination "Ta", "Te" and "To". Negative kerning is also sometimes used to fit periods or commas close to various letters or combinations of letters. Examples of other combinations using negative kerning include, but are not limited to: "FA", "LT", and "LY", and letters such as "A", "L", and "h" followed by quotation marks. Note that sufficiently large negative kerning can also cause characters to partially overlap, for example, when an 'o' is placed very close to a 'T', the top of the 'T' can be directly above at least part of the letter 'o', as in The kerned word "To".
相反,正字距调整通常结合特殊字符和标点使用(例如,小写字母“f”之后跟随右括号或引号),以增加字符之间的间隔。取决于字体,一些小的正字距调整还可以用于强调字母并用于成对,例如,“Bo”、“Dw”和“TY”。Instead, kerning is often used in conjunction with special characters and punctuation (for example, a lowercase "f" followed by a closing parenthesis or quotation mark) to increase the space between characters. Depending on the font, some small kerning can also be used to emphasize letters and for pairs, for example, "Bo", "Dw", and "TY".
在各个实施例中,笔划理清器使用多种字距调整技术中的任一种,其具有或不具有基于边界框缩放人类可读字符,以根据用户输入的交叠笔划构建字符、词语和/或句子。已经观察到相对与未调整字距的(non-kerned)版本的相同人类可读字符,所获得的已调整字距的人类可读字符具有更视觉美观的外观。In various embodiments, the stroke untangler uses any of a variety of kerning techniques, with or without scaling human-readable characters based on bounding boxes, to build characters, words, and / or sentences. It has been observed that the resulting kerned human readable characters have a more visually pleasing appearance relative to the non-kerned version of the same human readable characters.
2.7.11断裂字符的辨识模型: 2.7.11 Identification model of broken characters:
当书写面板相对较小时,或者当用户输入相对较大笔划时,在输入期间用户输入的一个或多个交叠笔划可能跨书写面板的边缘,从而手指或书写实现工具不再与书写面板的触摸敏感表面接触。在这种情况下,当笔划理清器确定笔划不是控制手势时,所述笔划固有地断裂成两个或多个碎片,每个碎片被笔划理清器解释为单独的笔划,用于理清、分割和合成这些笔划。理清、分割和合成这些笔划的结果是呈现用于HWR处理的部分字符或断裂字符。因此,为了改善这种情况下的笔迹辨识,在各个实施例中,基于断裂字符训练一个或多个HWR处理模型,其中出于训练的目的将字符的上、下、左、右边缘的一个或多个消除掉。When the writing surface is relatively small, or when the user enters relatively large strokes, one or more overlapping strokes entered by the user may span the edge of the writing surface during input such that the finger or writing implement is no longer in contact with the writing surface Sensitive surface contact. In this case, when the stroke untangler determines that the stroke is not a control gesture, the stroke is inherently broken into two or more fragments, each fragment is interpreted by the stroke untangler as a separate stroke for untangling , segment and composite these strokes. The result of untangling, segmenting and compositing these strokes is to render partial or broken characters for HWR processing. Therefore, to improve handwriting recognition in this situation, in various embodiments, one or more HWR processing models are trained based on broken characters, wherein for training purposes, one or more of the upper, lower, left, and right edges of the character are Multiple eliminated.
例如,如图9所示,手写字母“g”900的上部和下部的一部分被移除,如在该字母的上部和下部的虚线所示,并在训练HWR模型时提供作为字母“g”的正例子。然后,当用户输入跨书写面板920的上边缘和下边缘的交叠笔划910时,结果是若干断裂的交叠笔划930。然后笔划理清器理清、分割和合成这些笔划以产生表面上(ostensibly)人类可读的字符940。当人类可读字符940随后被传递到HWR处理模块时,所述模块包括在断裂字符上训练的一个或多个模型(例如,手写字母“g”900,其上部和下部的一部分被移除),结果是及其可读字母“g”950。For example, as shown in FIG. 9, part of the upper and lower parts of the handwritten letter "g" 900 is removed, as shown by the dashed lines at the upper and lower parts of the letter, and provided as the letter "g" when training the HWR model. Positive example. Then, when the user enters overlapping strokes 910 that span the upper and lower edges of writing panel 920 , the result is several broken overlapping strokes 930 . The stroke untangler then untangles, segments and synthesizes these strokes to produce ostensibly human readable characters 940 . When the human-readable characters 940 are then passed to the HWR processing module, which includes one or more models trained on broken characters (e.g., the handwritten letter "g" 900 with parts of its upper and lower parts removed) , the result is the extremely readable letter "g" 950.
2.7.12笔划的后处理: 2.7.12 Post-processing of strokes:
在各个实施例中,在理清、分割和合成过程之前或之后处理每个交叠笔迹,以自产生多个视觉效果。例如,利用多种图像处理技术过滤或修改形成每个笔划的个体曲线,以创建包括但不限于如下的效果:In various embodiments, each overlapping stroke is processed before or after the untangling, segmentation, and compositing processes to self-generate multiple visual effects. For example, the individual curves that form each stroke are filtered or modified using various image processing techniques to create effects including but not limited to:
·呈现每个笔划以显得其是利用铅笔绘画的;· Each stroke is rendered to appear to be drawn with a pencil;
·呈现每个笔划以显得其是利用各种类型的笔绘画的;· Each stroke is rendered to appear to have been drawn with various types of pens;
·呈现每个笔划以显得其是利用各种画笔类型和尺寸绘画的;Renders each stroke to appear to have been painted with various brush types and sizes;
·以一种或多种所选颜色呈现每个笔划;· Render each stroke in one or more selected colors;
·利用多种填充图案中任一来呈现每个笔划;· Render each stroke with any of a variety of fill patterns;
·利用多种阴影效果中任一来呈现每个笔划;Render each stroke with any of a variety of shading effects;
·利用每个笔划的基于样条的表示或任意其它期望的平滑或过滤技术来平滑每个笔划;• Smooth each stroke using a spline-based representation of each stroke or any other desired smoothing or filtering technique;
·将合成的笔划或人类可读字符呈现到在任意期望的背景上(例如,羊皮纸、图像等);Rendering of composite strokes or human-readable characters onto any desired background (e.g., parchment, image, etc.);
·等等。·etc.
3.0笔划理清的操作摘要: Operation summary of 3.0 stroke sorting out:
以上结合图1至图9描述的过程以及进一步考虑以上在章节1和2中提供的详细描述,在图10的操作流程图中示出。特别地,图10提供了总结笔划理清器的各种实施例的一些操作的示例性操作流程图。注意,图10并非旨在是本文描述的笔划理清器的各个实施例的全部的穷举表示,并且在图10中表示的实施例只是出于解释的目的提供的。The process described above in connection with FIGS. 1 to 9 , with further consideration of the detailed description provided above in Sections 1 and 2, is illustrated in the operational flow diagram of FIG. 10 . In particular, FIG. 10 provides an exemplary operational flow diagram summarizing some operations of various embodiments of a stroke untangler. Note that FIG. 10 is not intended to be an exhaustive representation of all of the various embodiments of the stroke untangler described herein, and the embodiments represented in FIG. 10 are provided for purposes of explanation only.
此外,应该理解的是,框以及由图10中的断裂线或虚线表示的框之间的相互连接表示本文描述的笔划理清器的可选或替代实施例,如下所述的这些可选或替代实施例中的任一个或全部可以与本文献通篇描述的其它替代实施例组合。Furthermore, it should be understood that the blocks and interconnections between the blocks represented by broken or dashed lines in FIG. 10 represent alternative or alternative embodiments of the stroke untangler described herein, such alternative or Any or all of the alternative embodiments may be combined with other alternative embodiments described throughout this document.
一般而言,如图10所示,笔划理清器通过以下步骤开始工作:接收(1000)表示一个或多个字符、一个或多个控制笔划和/或一个或多个其它多触摸手势的多个交叠笔划(例如,1005)。在各个实施例中,笔划理清器可选地在用于输入这些笔划的触摸屏上呈现(1010)笔划的渐隐痕迹。然后,笔划理清器评估(1015)每个笔划以确定该笔划是否是控制手势,例如,删除最后一个笔划手势、删除最后一个词语手势、标记词语结束或插入空格手势、切换绘画模式手势,等。In general, as shown in FIG. 10 , the Stroke Untangler begins by receiving (1000) a multi-touch gesture representing one or more characters, one or more control strokes, and/or one or more other multi-touch gestures. overlapping strokes (eg, 1005). In various embodiments, the stroke untangler optionally presents (1010) the faded traces of the strokes on the touch screen used to input the strokes. The stroke untangler then evaluates (1015) each stroke to determine if the stroke is a control gesture, e.g., delete last stroke gesture, delete last word gesture, mark end of word or insert space gesture, toggle drawing mode gesture, etc. .
然后,笔划理清器使用(1020)前述分割算法和经训练的分割模式(1025),考虑任何控制手势或其它多触摸手势和用户校正来理清、分割和合成一个或多个笔划,从而形成一个或多个字符。一旦已经完成分割过程,则笔划理清器呈现(1030)合成的笔划,以产生一个或多个人类可读字符(1035),例如,字母、词语和/或短语,其在显示器设备的用户界面窗口中连同可选绘画或草图呈现,以向用户提供实时的视觉反馈。如上所讨论的,在各个实施例中,笔划理清器还接收(1040)用户输入,以校正在任意字符中的理清和合成错误(例如,利用前述“轻敲以校正”过程)。The stroke untangler then uses (1020) the aforementioned segmentation algorithm and the trained segmentation pattern (1025), taking into account any control gestures or other multi-touch gestures and user corrections to untangle, segment and synthesize one or more strokes to form one or more characters. Once the segmentation process has been completed, the stroke untangler renders (1030) the synthesized strokes to produce one or more human-readable characters (1035), e.g. Window along with an optional drawing or sketch to provide real-time visual feedback to the user. As discussed above, in various embodiments, the stroke untangler also receives (1040) user input to correct untangling and synthesis errors in any character (eg, utilizing the aforementioned "tap to correct" process).
然后,笔划理清器执行(1045)人类可读字符(1035)的笔迹辨识(HWR),并输出对应的机器可读文本。然后,笔划理清器可选地提供(1050)该辨识出的文本、词语或短语的输出作为对各种应用的输入,所述应用例如是搜索引擎、消息传送、词语处理、密码输入、游戏等。最后,在各个实施例中,笔划理清器接收用户输入(1055)来从一个或多个自动完成的建议、辨识候选和/或搜索建议中进行选择。The Stroke Untangler then performs (1045) handwriting recognition (HWR) of the human readable characters (1035) and outputs the corresponding machine readable text. The Stroke Untangler then optionally provides (1050) an output of this recognized text, word or phrase as input to various applications such as search engines, messaging, word processing, password entry, gaming Wait. Finally, in various embodiments, the stroke untangler receives user input (1055) to select from one or more autocomplete suggestions, recognition candidates, and/or search suggestions.
4.0示例性操作环境: 4.0 Exemplary operating environment:
本文描述的笔划理清器在多种通用或专用计算系统环境或配置中可操作。图11示出了可以实现如本文所描述的笔划理清器的各种实施例和元件的通用计算机系统的简化例子。应该理解的是,在图11中由断裂线或虚线表示的任意框表示简化计算设备的替代实施例,并且如下文所述任意或所有这些替代实施例可以与该文献通篇中描述的其它替代实施例组合。The stroke untangler described herein is operable in a variety of general purpose or special purpose computing system environments or configurations. Figure 11 shows a simplified example of a general-purpose computer system that can implement various embodiments and elements of a stroke untangler as described herein. It should be understood that any blocks represented by broken or dashed lines in FIG. 11 represent alternative embodiments of simplified computing devices, and that any or all of these alternative embodiments, as described below, may be substituted with others described throughout this document. Example combinations.
例如,图11示出了显示简化计算设备1100的通用系统图。可以与笔划理清器操作的这种设备的例子包括但不限于:便携式电子设备、可穿戴计算设备、手持计算设备、膝上型或移动计算机、通信设备(例如,蜂窝电话、智能手机和PDS)、多处理器系统、基于微处理器的系统、机顶盒、可编程消费者电子、网络PC、微型计算机、音频或视频媒体播放器、手持远程控制设备,等等。还应注意的是,如上所述,可以实现笔划理清器具有任意触摸屏或触摸敏感表面,其与广范围的电子设备或对象通信或以其它方式耦合。For example, FIG. 11 shows a generalized system diagram showing a simplified computing device 1100 . Examples of such devices that may operate with the Stroke Untangler include, but are not limited to: portable electronic devices, wearable computing devices, handheld computing devices, laptop or mobile computers, communication devices (e.g., cellular phones, smartphones, and PDS ), multiprocessor systems, microprocessor-based systems, set-top boxes, programmable consumer electronics, network PCs, microcomputers, audio or video media players, handheld remote control devices, and more. It should also be noted that, as described above, the Stroke Untangler can be implemented with any touch screen or touch-sensitive surface that communicates or otherwise couples with a wide range of electronic devices or objects.
为了允许设备实现笔划理清器,计算设备1100应该具有足够的计算能力和系统存储器以支持基本计算操作。另外,计算设备1100包括一个或多个传感器1105,包括但不限于:加速度计、摄像机、电容传感器、接近度传感器、麦克风、多频谱传感器等。此外,计算设备1100还可以包括可选系统固件1125(或其它固件或处理器可访问存储器或存储设备),以用于实现笔划理清器的各个实施例。To allow a device to implement a stroke untangler, computing device 1100 should have sufficient computing power and system memory to support basic computing operations. Additionally, computing device 1100 includes one or more sensors 1105 including, but not limited to, accelerometers, cameras, capacitive sensors, proximity sensors, microphones, multispectral sensors, and the like. Additionally, computing device 1100 may also include optional system firmware 1125 (or other firmware or processor-accessible memory or storage device) for implementing various embodiments of the stroke untangler.
如图11所示,计算设备1100的计算能力通常由一个或多个处理单元1110示出,并还可以包括一个或多个GPU1115,其一者或两者与系统存储器1120通信。注意,计算设备1100的处理单元1110可以是专用微处理器,例如,DSP、VLIW或其它微控制器,或者可以是传统的具有一个或多个处理芯片的CPU,包括在多核心CPU中的基于专用GPU核心。As shown in FIG. 11 , the computing capabilities of computing device 1100 are typically represented by one or more processing units 1110 , and may also include one or more GPUs 1115 , either or both of which are in communication with system memory 1120 . Note that the processing unit 1110 of the computing device 1100 may be a special-purpose microprocessor, such as a DSP, VLIW, or other microcontroller, or may be a conventional CPU with one or more processing chips, including a multi-core CPU based Dedicated GPU cores.
另外,简化的计算设备1100还可以包括其它部件,例如,通信接口1130。简化的计算设备1100还可以包括一个或多个传统计算机输入设备1140,或这种设备的组合(例如,触摸屏、触摸敏感表面、定点设备、键盘、音频输入设备、基于话音或语音的输入和控制设备、视频输入设备、触觉输入设备、用于接收有线或无线数据传输的设备,等)。简化的计算设备1100还可以包括其它可选部件,例如,一个或多个传统计算机输出设备1150(例如,显示器设备1155、音频输出设备、视频输出设备、用于发送有线或无线数据传输的设备,等)。注意,本领域技术人员已知用于通用计算机的典型的通信接口1130、输入设备1140、输出设备1150以及存储设备1160,并在本文中不再详细描述。Additionally, simplified computing device 1100 may also include other components, such as communication interface 1130 . The simplified computing device 1100 may also include one or more conventional computer input devices 1140, or a combination of such devices (e.g., touch screen, touch-sensitive surface, pointing device, keyboard, audio input device, voice or voice-based input and control devices, video input devices, tactile input devices, devices for receiving wired or wireless data transmissions, etc.). The simplified computing device 1100 may also include other optional components, such as one or more conventional computer output devices 1150 (e.g., a display device 1155, an audio output device, a video output device, a device for sending wired or wireless data transmissions, Wait). Note that typical communication interface 1130, input device 1140, output device 1150, and storage device 1160 for a general-purpose computer are known to those skilled in the art and will not be described in detail herein.
简化的计算设备1100还可以包括多种计算机可读介质。计算机可读介质可以是任意可用介质,其可以经由存储设备1160访问,并包括可移除(1170)和/或不可移除(1180)的易失性和非易失性介质,用于存储信息,例如计算机可读或计算机可执行指令、数据结构、程序模块或其它数据。通过例子而非限制,计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质指的是有形的计算机或机器可读介质或存储设备,例如DVD、CD、软盘、磁带驱动器、硬盘驱动器、光盘驱动器、固态存储器设备、RAM、ROM、EEPROM、闪存或其它存储器技术、磁带盒、磁带、磁盘存储设备或其它磁存储设备、或可以用于存储期望信息并能由一个或多个计算设备访问的任意其它设备。Simplified computing device 1100 may also include a variety of computer-readable media. Computer readable media can be any available media that can be accessed via storage device 1160 and includes removable (1170) and/or non-removable (1180) volatile and nonvolatile media for storing information , such as computer readable or computer executable instructions, data structures, program modules or other data. By way of example, and not limitation, computer readable media may comprise computer storage media and communication media. Computer storage medium means a tangible computer or machine readable medium or storage device such as DVD, CD, floppy disk, tape drive, hard drive, optical drive, solid state memory device, RAM, ROM, EEPROM, flash memory or other memory technology, Magnetic tape cartridges, tapes, magnetic disk storage devices or other magnetic storage devices, or any other device that can be used to store desired information and can be accessed by one or more computing devices.
还可以通过使用多种前述通信介质中的任一种编码一个或多个调制的数据信号或载波、或其它传输介质或通信协议,并且包括任意有线或无线信息输送机制,来完成存储信息,例如计算机可读或计算机可执行指令、数据结构、程序模块等。注意,术语“调制的数据信号”或“载波”通常指代具有一个或多个其特征集或以编码信号中的信息的方式改变的信号。例如,通信介质包括有线介质,例如携带一个或多个调制数据信号的有线网络或直接连线连接;以及无线介质,例如,声、RF、红外、激光和其它无线介质用于发送和/或接收一个或多个调制数据信号或载波。对上述任意组合也应该包含于通信介质的范围内。Storing information may also be accomplished by encoding one or more modulated data signals or carrier waves, or other transmission media or communication protocols, using any of a variety of the aforementioned communication media, and including any wired or wireless information delivery mechanism, such as Computer-readable or computer-executable instructions, data structures, program modules, etc. Note that the terms "modulated data signal" or "carrier" generally refer to a signal that has one or more of its characteristics set or changed in such a manner as to encode information in the signal. For example, communication media includes wired media such as a wired network or direct-wire connection that carry one or more modulated data signals, and wireless media such as acoustic, RF, infrared, laser, and other wireless media for transmitting and/or receiving One or more modulated data signals or carriers. Any combination of the above should also be included within the scope of communication media.
还可以通过使用多个前述通信介质编码一个或多个调制数据信号或载波、或其它传输机制或通信协议,并包括任意有线或无线信息输送机制,实现信息的保留,所述信息例如是计算机可读或计算机可执行指令、数据结构、程序模块等。注意,术语“调制的数据信号”或“载波”通常指代具有一个或多个其特征集或以编码信号中的信息的方式改变的信号。例如,通信介质包括有线介质,例如携带一个或多个调制数据信号的有线网络或直接连线连接;以及无线介质,例如,声、RF、红外、激光和其它无线介质用于发送和/或接收一个或多个调制数据信号或载波。对上述任意的组合也应该被包括于通信介质的范围内。Retention of information, such as a computer-readable Read or computer-executable instructions, data structures, program modules, etc. Note that the terms "modulated data signal" or "carrier" generally refer to a signal that has one or more of its characteristics set or changed in such a manner as to encode information in the signal. For example, communication media includes wired media such as a wired network or direct-wire connection that carry one or more modulated data signals, and wireless media such as acoustic, RF, infrared, laser, and other wireless media for transmitting and/or receiving One or more modulated data signals or carriers. Combinations of any of the above should also be included within the scope of communication media.
此外,可以从任意期望组合的计算机可执行指令或其他数据指令形式的计算机或机器可读介质或存储设备自己通信介质中,存储、接收、发送或读取实现本文描述的笔划理清器的各个实施例的一些或全部的软件、程序和/或计算机程序产品或其一部分。In addition, the various components implementing the stroke untangler described herein may be stored, received, sent, or read from any desired combination of computer-executable instructions or other data instructions in the form of computer- or machine-readable media or the storage device's own communication media. Some or all of the software, programs and/or computer program products of the embodiments or a portion thereof.
最后,本文描述的笔划理清器还可以在由计算设备执行的计算机可执行指令(例如,程序模块)的一般上下文中得以进一步的描述。通常,程序模块包括例程、程序、对象、部件、数据结构等,其执行特定任务户欧实现特定抽象数据类型。本文描述的实施例还可以在分布式计算环境中实现,其中通过一个或多个远程处理设备执行任务,或者在通过一个或多个通信网络链接的一个或多个设备的云端执行任务。在分布式计算环境中,程序模块可以位于本地和远程计算机存储介质中,其包括介质存储设备。此外,前述指令可以整体或部分地实现为硬件逻辑电路,其可以包括或不包括处理器。Finally, the stroke untanglers described herein may also be further described in the general context of computer-executable instructions (eg, program modules) being executed by a computing device. Generally, program modules include routines, programs, objects, components, data structures, etc. that perform particular tasks or implement particular abstract data types. Embodiments described herein can also be practiced in distributed computing environments where tasks are performed by one or more remote processing devices or in the cloud with one or more devices linked through one or more communications networks. In a distributed computing environment, program modules may be located in both local and remote computer storage media including media storage devices. Furthermore, the foregoing instructions may be implemented in whole or in part as hardware logic circuitry, which may or may not include a processor.
出于图示和描述的目的提出了对笔划理清器的前述说明。其并不打算穷举所要求保护主题或将其限制到所公开的精度。根据上述教导,许多修改和变型是可行的。此外,应该注意的是,前述替代实施例的任一个或全部可以在任意期望的组合中使用,以形成笔划理清器的另外的混合实施例。本发明的范围并非旨在受限于该详细描述,而是通过随附权利要求进行限定。虽然以专用于结构特征和/或方法动作的语言描述了本发明的主题,但可以理解的是在随附权利要求中定义的本发明的主题不必受限于上述特定特征或行为。而是,上述特定特征和行为被公开为实现权利要求的实例形式。The foregoing description of the Stroke Untangler has been presented for purposes of illustration and description. It is not intended to be exhaustive or to limit the claimed subject matter to the precision disclosed. Many modifications and variations are possible in light of the above teachings. Furthermore, it should be noted that any or all of the aforementioned alternative embodiments may be used in any desired combination to form further hybrid embodiments of the stroke untangler. It is intended that the scope of the invention be limited not by this detailed description, but rather by the appended claims. Although the inventive subject matter has been described in language specific to structural features and/or methodological acts, it is to be understood that the inventive subject matter defined in the appended claims is not necessarily limited to the specific features or acts described above. Rather, the specific features and acts described above are disclosed as example forms of implementing the claims.
Claims (10)
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN201910119634.1A CN109886180A (en) | 2013-12-17 | 2014-11-24 | User interface for overlapping handwritten text input |
Applications Claiming Priority (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US14/109,001 US9881224B2 (en) | 2013-12-17 | 2013-12-17 | User interface for overlapping handwritten text input |
| US14/109,001 | 2013-12-17 | ||
| PCT/US2014/066994 WO2015094587A1 (en) | 2013-12-17 | 2014-11-24 | User interface for overlapping handwritten text input |
Related Child Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN201910119634.1A Division CN109886180A (en) | 2013-12-17 | 2014-11-24 | User interface for overlapping handwritten text input |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| CN105830011A true CN105830011A (en) | 2016-08-03 |
| CN105830011B CN105830011B (en) | 2019-03-08 |
Family
ID=52103011
Family Applications (2)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN201480069495.1A Active CN105830011B (en) | 2013-12-17 | 2014-11-24 | User interface for overlapping handwritten text input |
| CN201910119634.1A Pending CN109886180A (en) | 2013-12-17 | 2014-11-24 | User interface for overlapping handwritten text input |
Family Applications After (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN201910119634.1A Pending CN109886180A (en) | 2013-12-17 | 2014-11-24 | User interface for overlapping handwritten text input |
Country Status (4)
| Country | Link |
|---|---|
| US (3) | US9881224B2 (en) |
| EP (1) | EP3084580B1 (en) |
| CN (2) | CN105830011B (en) |
| WO (1) | WO2015094587A1 (en) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN109992124A (en) * | 2018-01-02 | 2019-07-09 | 北京搜狗科技发展有限公司 | Input method, apparatus and machine-readable medium |
Families Citing this family (75)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US8074172B2 (en) | 2007-01-05 | 2011-12-06 | Apple Inc. | Method, system, and graphical user interface for providing word recommendations |
| US9591339B1 (en) | 2012-11-27 | 2017-03-07 | Apple Inc. | Agnostic media delivery system |
| US9774917B1 (en) | 2012-12-10 | 2017-09-26 | Apple Inc. | Channel bar user interface |
| US10200761B1 (en) | 2012-12-13 | 2019-02-05 | Apple Inc. | TV side bar user interface |
| US9532111B1 (en) | 2012-12-18 | 2016-12-27 | Apple Inc. | Devices and method for providing remote control hints on a display |
| US10521188B1 (en) | 2012-12-31 | 2019-12-31 | Apple Inc. | Multi-user TV user interface |
| US12149779B2 (en) | 2013-03-15 | 2024-11-19 | Apple Inc. | Advertisement user interface |
| US9898187B2 (en) | 2013-06-09 | 2018-02-20 | Apple Inc. | Managing real-time handwriting recognition |
| JP2015069284A (en) * | 2013-09-27 | 2015-04-13 | 株式会社リコー | Image processing apparatus |
| KR102138515B1 (en) * | 2013-10-01 | 2020-07-28 | 엘지전자 주식회사 | Mobile terminal and method for controlling thereof |
| US9881224B2 (en) * | 2013-12-17 | 2018-01-30 | Microsoft Technology Licensing, Llc | User interface for overlapping handwritten text input |
| US9841873B1 (en) * | 2013-12-30 | 2017-12-12 | James Ernest Schroeder | Process for reducing the number of physical actions required while inputting character strings |
| JP6524111B2 (en) * | 2014-04-01 | 2019-06-05 | アップル インコーポレイテッドApple Inc. | Apparatus and method for ring computing device |
| CN110262733B (en) | 2014-06-24 | 2022-06-03 | 苹果公司 | Character recognition on a computing device |
| US10650052B2 (en) | 2014-06-24 | 2020-05-12 | Apple Inc. | Column interface for navigating in a user interface |
| TWI585673B (en) | 2014-06-24 | 2017-06-01 | 蘋果公司 | Input device interacts with user interface |
| US10878179B2 (en) * | 2014-07-30 | 2020-12-29 | Lenovo (Singapore) Pte. Ltd. | Simplified text correction on a touch screen |
| US10261674B2 (en) * | 2014-09-05 | 2019-04-16 | Microsoft Technology Licensing, Llc | Display-efficient text entry and editing |
| JP6430199B2 (en) * | 2014-09-30 | 2018-11-28 | 株式会社東芝 | Electronic device, method and program |
| JP2016085457A (en) | 2014-10-24 | 2016-05-19 | 株式会社半導体エネルギー研究所 | Electronic device |
| US10032071B2 (en) * | 2014-12-23 | 2018-07-24 | Lenovo (Singapore) Pte. Ltd. | Candidate handwriting words using optical character recognition and spell check |
| US10614300B2 (en) * | 2014-12-23 | 2020-04-07 | Lenovo (Singapore) Pte. Ltd. | Formatting handwritten content |
| WO2016181565A1 (en) * | 2015-05-14 | 2016-11-17 | 富士通株式会社 | Character input and reception method, character input and reception device, and character input and reception program |
| JP6005880B1 (en) * | 2015-08-04 | 2016-10-12 | 株式会社ワコム | Handwritten data drawing method and handwritten data drawing apparatus |
| US11402991B2 (en) * | 2015-12-01 | 2022-08-02 | Myscript | System and method for note taking with gestures |
| US10410316B2 (en) * | 2015-12-08 | 2019-09-10 | Myscript | System and method for beautifying digital ink |
| US10852938B2 (en) | 2016-01-07 | 2020-12-01 | Myscript | System and method for mixed content digital ink interactivity |
| US10082951B2 (en) * | 2016-01-07 | 2018-09-25 | Myscript | System and method for digital ink interactivity |
| US11373033B2 (en) * | 2016-01-26 | 2022-06-28 | Lenovo (Singapore) Pte. Ltd. | Display of ink input and digital recognition results |
| KR102482850B1 (en) * | 2016-02-15 | 2022-12-29 | 삼성전자 주식회사 | Electronic device and method for providing handwriting calibration function thereof |
| US9990564B2 (en) * | 2016-03-29 | 2018-06-05 | Wipro Limited | System and method for optical character recognition |
| US20170285932A1 (en) * | 2016-03-29 | 2017-10-05 | Microsoft Technology Licensing, Llc | Ink Input for Browser Navigation |
| US10248880B1 (en) * | 2016-06-06 | 2019-04-02 | Boston Inventions, LLC | Method of processing and recognizing hand-written characters |
| US10146429B2 (en) * | 2016-06-10 | 2018-12-04 | Apple Inc. | Character recognition method, apparatus and device |
| DK201670582A1 (en) | 2016-06-12 | 2018-01-02 | Apple Inc | Identifying applications on which content is available |
| DK179374B1 (en) | 2016-06-12 | 2018-05-28 | Apple Inc | Handwriting keyboard for monitors |
| DK201670581A1 (en) | 2016-06-12 | 2018-01-08 | Apple Inc | Device-level authorization for viewing content |
| US20180032494A1 (en) * | 2016-07-29 | 2018-02-01 | Myscript | System and method for beautifying superimposed digital ink |
| US11080846B2 (en) * | 2016-09-06 | 2021-08-03 | International Business Machines Corporation | Hybrid cloud-based measurement automation in medical imagery |
| US11966560B2 (en) | 2016-10-26 | 2024-04-23 | Apple Inc. | User interfaces for browsing content from multiple content applications on an electronic device |
| US10627910B2 (en) * | 2017-02-21 | 2020-04-21 | Adobe Inc. | Stroke operation prediction for three-dimensional digital content |
| US10657682B2 (en) | 2017-04-12 | 2020-05-19 | Adobe Inc. | Drawing curves in space guided by 3-D objects |
| US10657326B2 (en) * | 2017-05-23 | 2020-05-19 | International Business Machines Corporation | Removable spell checker device |
| US11272160B2 (en) * | 2017-06-15 | 2022-03-08 | Lenovo (Singapore) Pte. Ltd. | Tracking a point of interest in a panoramic video |
| WO2019022567A2 (en) * | 2017-07-27 | 2019-01-31 | Samsung Electronics Co., Ltd. | Method for automatically providing gesture-based auto-complete suggestions and electronic device thereof |
| JP2019061590A (en) * | 2017-09-28 | 2019-04-18 | 富士ゼロックス株式会社 | Information processing apparatus, information processing system, and program |
| US10573033B2 (en) * | 2017-12-19 | 2020-02-25 | Adobe Inc. | Selective editing of brushstrokes in a digital graphical image based on direction |
| CN110134924B (en) * | 2018-02-08 | 2023-07-28 | 佳能株式会社 | Overlapping text component extraction method and device, text recognition system and storage medium |
| US12307082B2 (en) | 2018-02-21 | 2025-05-20 | Apple Inc. | Scrollable set of content items with locking feature |
| JP2019197321A (en) * | 2018-05-08 | 2019-11-14 | 京セラドキュメントソリューションズ株式会社 | Image processing apparatus and image forming apparatus |
| AU2019100574B4 (en) | 2018-06-03 | 2020-02-20 | Apple Inc. | Setup procedures for an electronic device |
| CN109062491A (en) * | 2018-07-23 | 2018-12-21 | 广州视源电子科技股份有限公司 | Handwriting processing method and device for interactive intelligent equipment |
| US11106905B2 (en) * | 2018-09-04 | 2021-08-31 | Cerence Operating Company | Multi-character text input system with audio feedback and word completion |
| KR102759947B1 (en) * | 2019-02-22 | 2025-02-03 | 삼성전자주식회사 | Method and apparatus for displaying an input based on handwriting |
| US11683565B2 (en) | 2019-03-24 | 2023-06-20 | Apple Inc. | User interfaces for interacting with channels that provide content that plays in a media browsing application |
| US11057682B2 (en) | 2019-03-24 | 2021-07-06 | Apple Inc. | User interfaces including selectable representations of content items |
| WO2020198238A1 (en) | 2019-03-24 | 2020-10-01 | Apple Inc. | User interfaces for a media browsing application |
| CN114302210B (en) | 2019-03-24 | 2024-07-05 | 苹果公司 | User interface for viewing and accessing content on an electronic device |
| WO2020243645A1 (en) | 2019-05-31 | 2020-12-03 | Apple Inc. | User interfaces for a podcast browsing and playback application |
| US11863837B2 (en) | 2019-05-31 | 2024-01-02 | Apple Inc. | Notification of augmented reality content on an electronic device |
| US11194467B2 (en) | 2019-06-01 | 2021-12-07 | Apple Inc. | Keyboard management user interfaces |
| CN110503101A (en) * | 2019-08-23 | 2019-11-26 | 北大方正集团有限公司 | Font evaluation method, apparatus, device and computer-readable storage medium |
| EP3828685B1 (en) * | 2019-11-29 | 2022-09-28 | MyScript | Gesture stroke recognition in touch-based user interface input |
| US11843838B2 (en) | 2020-03-24 | 2023-12-12 | Apple Inc. | User interfaces for accessing episodes of a content series |
| CN117113962A (en) * | 2020-04-01 | 2023-11-24 | 支付宝(杭州)信息技术有限公司 | An information processing method, device and equipment |
| US11899895B2 (en) | 2020-06-21 | 2024-02-13 | Apple Inc. | User interfaces for setting up an electronic device |
| US11823474B2 (en) | 2020-10-27 | 2023-11-21 | Boe Technology Group Co., Ltd. | Handwritten text recognition method, apparatus and system, handwritten text search method and system, and computer-readable storage medium |
| US11720229B2 (en) | 2020-12-07 | 2023-08-08 | Apple Inc. | User interfaces for browsing and presenting content |
| US11934640B2 (en) | 2021-01-29 | 2024-03-19 | Apple Inc. | User interfaces for record labels |
| JP7026839B1 (en) * | 2021-06-18 | 2022-02-28 | 株式会社電通 | Real-time data processing device |
| KR20230017538A (en) | 2021-07-28 | 2023-02-06 | 삼성전자주식회사 | Electronic device and the method to recognize handwriting |
| US12282737B2 (en) | 2022-06-28 | 2025-04-22 | Microsoft Technology Licensing, Llc | Generating predicted ink stroke information using ink-based semantics |
| US20230419033A1 (en) * | 2022-06-28 | 2023-12-28 | Microsoft Technology Licensing, Llc | Generating predicted ink stroke information using text-based semantics |
| CN115273103A (en) * | 2022-07-28 | 2022-11-01 | 深圳市星桐科技有限公司 | Text recognition method and device, electronic equipment and storage medium |
| WO2025076451A1 (en) * | 2023-10-05 | 2025-04-10 | Meta Platforms Technologies, Llc | Methods for identifying devolved sequences of handwriting motions for generating target inputs using a co-adapted input detection model, and devices and systems therefor |
Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20080082930A1 (en) * | 2006-09-06 | 2008-04-03 | Omernick Timothy P | Portable Multifunction Device, Method, and Graphical User Interface for Configuring and Displaying Widgets |
| US20100277422A1 (en) * | 2009-04-30 | 2010-11-04 | Microsoft Corporation | Touchpad display |
| CN103069376A (en) * | 2010-05-25 | 2013-04-24 | 索尼移动通信公司 | A user interface for a touch sensitive display on an electronic device |
| CN103299254A (en) * | 2010-12-02 | 2013-09-11 | 诺基亚公司 | Method, apparatus, and computer program product for overlapped handwriting |
Family Cites Families (30)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH05233623A (en) * | 1991-11-27 | 1993-09-10 | Internatl Business Mach Corp <Ibm> | Method and device for inputting stroke syntax |
| US5870492A (en) | 1992-06-04 | 1999-02-09 | Wacom Co., Ltd. | Hand-written character entry apparatus |
| JPH07160827A (en) | 1993-12-09 | 1995-06-23 | Matsushita Electric Ind Co Ltd | Handwriting stroke editing apparatus and method |
| JP3787372B2 (en) * | 1995-06-12 | 2006-06-21 | キヤノン株式会社 | Character generating apparatus and method |
| US7319957B2 (en) * | 2004-02-11 | 2008-01-15 | Tegic Communications, Inc. | Handwriting and voice input with automatic correction |
| CN1173247C (en) * | 1999-01-13 | 2004-10-27 | 国际商业机器公司 | Handwriting Information Processing System with Character Segmentation User Interface |
| JP2000278391A (en) | 1999-03-26 | 2000-10-06 | Nec Saitama Ltd | Portable telephone set having back handwriting input function |
| CN2388665Y (en) * | 1999-05-30 | 2000-07-19 | 赵金 | Electronic reading material with sound capable of using standby time |
| US6694056B1 (en) * | 1999-10-15 | 2004-02-17 | Matsushita Electric Industrial Co., Ltd. | Character input apparatus/method and computer-readable storage medium |
| US6564213B1 (en) * | 2000-04-18 | 2003-05-13 | Amazon.Com, Inc. | Search query autocompletion |
| CN1145336C (en) * | 2000-10-27 | 2004-04-07 | 陈远燮 | Mobile watch-telephone with watch battery, touch screen for dialing and writing input |
| JP3974359B2 (en) | 2000-10-31 | 2007-09-12 | 株式会社東芝 | Online character recognition apparatus and method, computer-readable storage medium, and online character recognition program |
| US7177473B2 (en) | 2000-12-12 | 2007-02-13 | Nuance Communications, Inc. | Handwriting data input device with multiple character sets |
| US7567239B2 (en) | 2003-06-26 | 2009-07-28 | Motorola, Inc. | Method and system for message and note composition on small screen devices |
| TW200809660A (en) | 2006-03-01 | 2008-02-16 | Zi Decuma Ab | A method for additive character recognition and an apparatus thereof |
| JP4582810B2 (en) * | 2006-12-25 | 2010-11-17 | カシオ計算機株式会社 | Electronic dictionary device |
| US8116569B2 (en) * | 2007-12-21 | 2012-02-14 | Microsoft Corporation | Inline handwriting recognition and correction |
| US8010465B2 (en) | 2008-02-26 | 2011-08-30 | Microsoft Corporation | Predicting candidates using input scopes |
| US8908973B2 (en) * | 2008-03-04 | 2014-12-09 | Apple Inc. | Handwritten character recognition interface |
| CN101620501B (en) * | 2009-07-28 | 2012-04-18 | 上海合合信息科技发展有限公司 | Handwriting input system and method and electronic equipment |
| US8310461B2 (en) * | 2010-05-13 | 2012-11-13 | Nuance Communications Inc. | Method and apparatus for on-top writing |
| WO2012024829A1 (en) | 2010-08-24 | 2012-03-01 | Nokia Corporation | Method and apparatus for segmenting strokes of overlapped handwriting into one or more groups |
| CN102156608B (en) | 2010-12-10 | 2013-07-24 | 上海合合信息科技发展有限公司 | Handwriting input method for writing characters continuously |
| CN102156609B (en) | 2010-12-10 | 2012-12-19 | 上海合合信息科技发展有限公司 | Overlap handwriting input method |
| WO2012159250A1 (en) | 2011-05-20 | 2012-11-29 | Microsoft Corporation | User interface for handwriting inputs |
| US20130007606A1 (en) | 2011-06-30 | 2013-01-03 | Nokia Corporation | Text deletion |
| CN102508598B (en) * | 2011-10-09 | 2014-03-05 | 北京捷通华声语音技术有限公司 | Method and device for gradually blanking character strokes |
| US20130227460A1 (en) * | 2012-02-27 | 2013-08-29 | Bjorn David Jawerth | Data entry system controllers for receiving user input line traces relative to user interfaces to determine ordered actions, and related systems and methods |
| US9846536B2 (en) * | 2012-12-17 | 2017-12-19 | Microsoft Technology Licensing, Llc | Composition of handwritten messages on mobile computing devices |
| US9881224B2 (en) * | 2013-12-17 | 2018-01-30 | Microsoft Technology Licensing, Llc | User interface for overlapping handwritten text input |
-
2013
- 2013-12-17 US US14/109,001 patent/US9881224B2/en active Active
-
2014
- 2014-11-24 CN CN201480069495.1A patent/CN105830011B/en active Active
- 2014-11-24 WO PCT/US2014/066994 patent/WO2015094587A1/en not_active Ceased
- 2014-11-24 CN CN201910119634.1A patent/CN109886180A/en active Pending
- 2014-11-24 EP EP14812688.1A patent/EP3084580B1/en active Active
-
2018
- 2018-01-08 US US15/865,236 patent/US20180129897A1/en not_active Abandoned
-
2021
- 2021-09-14 US US17/447,665 patent/US20210406578A1/en not_active Abandoned
Patent Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20080082930A1 (en) * | 2006-09-06 | 2008-04-03 | Omernick Timothy P | Portable Multifunction Device, Method, and Graphical User Interface for Configuring and Displaying Widgets |
| US20100277422A1 (en) * | 2009-04-30 | 2010-11-04 | Microsoft Corporation | Touchpad display |
| CN103069376A (en) * | 2010-05-25 | 2013-04-24 | 索尼移动通信公司 | A user interface for a touch sensitive display on an electronic device |
| CN103299254A (en) * | 2010-12-02 | 2013-09-11 | 诺基亚公司 | Method, apparatus, and computer program product for overlapped handwriting |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN109992124A (en) * | 2018-01-02 | 2019-07-09 | 北京搜狗科技发展有限公司 | Input method, apparatus and machine-readable medium |
| CN109992124B (en) * | 2018-01-02 | 2024-05-31 | 北京搜狗科技发展有限公司 | Input method, device and machine-readable medium |
Also Published As
| Publication number | Publication date |
|---|---|
| CN109886180A (en) | 2019-06-14 |
| EP3084580B1 (en) | 2020-06-03 |
| EP3084580A1 (en) | 2016-10-26 |
| US20150169975A1 (en) | 2015-06-18 |
| US9881224B2 (en) | 2018-01-30 |
| US20180129897A1 (en) | 2018-05-10 |
| US20210406578A1 (en) | 2021-12-30 |
| WO2015094587A1 (en) | 2015-06-25 |
| CN105830011B (en) | 2019-03-08 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US20210406578A1 (en) | Handwriting-based predictive population of partial virtual keyboards | |
| KR102413461B1 (en) | Apparatus and method for taking notes by gestures | |
| JP2025124752A (en) | Real-time handwriting recognition management | |
| US10275152B2 (en) | Advanced methods and systems for text input error correction | |
| CN108369484B (en) | System and method for guiding handwriting input | |
| US10996843B2 (en) | System and method for selecting graphical objects | |
| US9360955B2 (en) | Text entry for electronic devices | |
| KR102473543B1 (en) | Systems and methods for digital ink interaction | |
| KR102402397B1 (en) | Systems and Methods for Multi-Input Management | |
| US11209976B2 (en) | System and method for editing input management | |
| US11112965B2 (en) | Advanced methods and systems for text input error correction | |
| US12211302B2 (en) | Structural decomposition in handwriting | |
| CN101601050B (en) | System and method for previewing and selecting characters | |
| EP4047465B1 (en) | Modifying digital content |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| C06 | Publication | ||
| PB01 | Publication | ||
| C10 | Entry into substantive examination | ||
| SE01 | Entry into force of request for substantive examination | ||
| GR01 | Patent grant | ||
| GR01 | Patent grant |