CN102165393A - 使用自然输入来编辑2d结构 - Google Patents

使用自然输入来编辑2d结构 Download PDF

Info

Publication number
CN102165393A
CN102165393A CN2009801381027A CN200980138102A CN102165393A CN 102165393 A CN102165393 A CN 102165393A CN 2009801381027 A CN2009801381027 A CN 2009801381027A CN 200980138102 A CN200980138102 A CN 200980138102A CN 102165393 A CN102165393 A CN 102165393A
Authority
CN
China
Prior art keywords
composing
ink
application program
input
naturally
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
Application number
CN2009801381027A
Other languages
English (en)
Other versions
CN102165393B (zh
Inventor
M·武科萨沃维奇
B·德雷塞维克
N·莱蒂奇
G·普雷多维克
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of CN102165393A publication Critical patent/CN102165393A/zh
Application granted granted Critical
Publication of CN102165393B publication Critical patent/CN102165393B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/103Formatting, i.e. changing of presentation of documents
    • G06F40/111Mathematical or scientific formatting; Subscripts; Superscripts
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • G06F40/171Editing, e.g. inserting or deleting by use of digital ink
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/14Image acquisition
    • G06V30/142Image acquisition using hand-held instruments; Constructional details of the instruments
    • G06V30/1423Image acquisition using hand-held instruments; Constructional details of the instruments the instrument generating sequences of position coordinates corresponding to handwriting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/14Image acquisition
    • G06V30/1444Selective acquisition, locating or processing of specific regions, e.g. highlighted text, fiducial marks or predetermined fields
    • G06V30/1456Selective acquisition, locating or processing of specific regions, e.g. highlighted text, fiducial marks or predetermined fields based on user interactions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Multimedia (AREA)
  • General Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Artificial Intelligence (AREA)
  • Health & Medical Sciences (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Mathematical Optimization (AREA)
  • Human Computer Interaction (AREA)
  • Mathematical Analysis (AREA)
  • Algebra (AREA)
  • User Interface Of Digital Computer (AREA)
  • Character Discrimination (AREA)
  • Document Processing Apparatus (AREA)
  • Processing Or Creating Images (AREA)

Abstract

描述了一种用于在排版应用程序中创建和编辑复杂结构的自然输入系统。自然输入系统接收对象的排版表示,并且转换排版格式来生成标准数字墨水表示。该自然输入系统将所生成的墨水表示提供给自然输入应用程序,在那里,用户可以用由自然输入应用程序提供的一组丰富的纠正和编辑特征来操纵该墨水表示。一旦最终用户对自然输入应用程序中的识别结果满意,自然输入系统接收基于经修改的数字墨水表示的识别结果。自然输入系统可以将所接收的识别结果转换成排版应用程序格式,并且将经修改的排版表示提供给排版应用程序用以合并到用户正在编辑的文档中。

Description

使用自然输入来编辑2D结构
背景
文档常常包含各种类型的元素,包括一维结构和二维(2D)结构。一维结构是其位置可以只用一个轴(即,线)来描述的元素的组织。例如,文本是典型的一维(线性)结构的示例。二维结构按照扁平表面来组织各元素,各元素的位置用两个正交的轴来描述。二维结构的示例是数据表达式、化学表达式、音符等等。创建和编辑2D结构通常使用键盘和/或鼠标来从下拉菜单中选择来执行。例如,下拉菜单可以包含在2D结构中使用的符号,诸如数学符号。以下是2D数据结构的示例:
x = - b ± b 2 - 4 ac 2 a
使用键盘来创建和编辑2D结构常常涉及急剧升降的学习曲线。通常,用户学习可以描述来自特定领域的结构的专用语言。例如,TeX是用于使用键盘输入来描述数学表达式的一种语言。注意,在该场景中,在诸2D领域之间没有便捷的切换方式。如果最终用户想要写化学表达式以及数学表达式,他/她必须学习至少两种语言。可以结合键盘输入来使用下拉菜单以减少学习的量,但用这种方式输入仍然是一个缓慢而乏味的过程。
如今市场上存在提供这种组合体验的各种各样的产品。例如,Microsoft Word 2007具有用于2D结构的键盘输入的专用语言以及支持较不高级的用户的下拉菜单。然而,大部分的这些应用程序只能够在非常有限的场景中提供编辑2D结构的良好用户体验,诸如在改变结构的线性部分(一维)的情况下。一旦用户想要改变非线性表达式或非线性表达式的一部分,则该过程将变得非常乏味。对于较复杂的编辑操作,常常需要擦除排版2D结构的整个部分并从头键入来实现所需结果。
平板PC或笔输入计算机是装备有触摸屏或图形输入板/屏幕混合技术的笔记本或平板形状的移动计算机,该技术允许用户用指示笔、数字笔、或手指尖来代替键盘或鼠标来操作计算机。平板PC提供了更加自然的输入形式,因为草绘和手写是比键盘和鼠标熟悉得多的输入形式,尤其对于那些新使用计算机的人。平板PC还可以更容易访问,因为那些在物理上无法打字的人能够使用平板PC的其他特征来与电子世界交互。
识别和存储用户在平板PC上的手写的自然输入应用程序是可用的。自然输入应用程序常常将非文本用户输入存储为图像而没有关于该图像的目的或结构的任何信息。因此,这种类型的输入通常对于编辑排版2D结构而言不再有用,诸如对于文字处理程序。该应用程序还将用户输入存储为一系列墨水笔画或点阵。支持用于指定2D领域的手写输入的领域专用自然输入应用程序通常具有非常丰富的纠正体验,并因此可以提供高效得多的编辑体验,但该应用程序常常是专用的并且不可用于排版应用程序或多个领域。
概述
描述了一种用于在诸如文档编辑应用程序等排版应用程序中创建和编辑复杂结构,诸如2D结构的自然输入系统。该自然输入系统桥接排版应用程序和领域专用的自然输入应用程序之间的差距,来允许用允许使用诸如手写等自然输入方法来编辑2D结构的一般方式来将2D结构包括在文档中。用户选择用排版格式存储的对象并向自然输入系统指示用户想要用自然输入方法来编辑该对象。自然输入系统接收对象的排版表示,并转换排版格式,来生成看上去与其排版原始相似的标准数字墨水表示。自然输入系统将所生成的墨水表示提供给自然输入应用程序,在那里,特定2D领域的自然输入识别器可以识别该墨水表示,并且用户可以用该自然输入应用程序所提供的一组丰富的纠正和编辑特征来操纵该墨水表示。一旦最终用户对自然输入应用程序中的识别结果满意,该自然输入系统接收基于经修改的数字墨水表示的识别结果。自然输入系统可以将所接收的识别结果转换成排版应用程序格式(如果尚未转换),并且将经修改的排版表示提供给排版应用程序用以合并到用户正在编辑的文档中。因此,自然输入系统提供了在编辑排版2D结构的使用便捷和花费时间方面显著地改进了最终用户体验的端对端解决方案。
提供本概述是为了以简化的形式介绍将在以下详细描述中进一步描述的一些概念。本概述并不旨在标识出所要求保护的主题的关键特征或必要特征,也不旨在用于限定所要求保护的主题的范围。
附图简述
图1是示出在一个实施例中的自然输入系统的各组件的框图。
图2是示出在一个实施例中的用于使用自然输入来编辑2D对象的自然输入系统的处理的流程图。
图3是示出在一个实施例中的排版到墨水转换组件的处理的流程图。
图4是示出在一个实施例中的用于自然输入系统的独立自然输入应用程序的显示图。
图5是示出在一个实施例中的文字处理应用程序内部启动的控件形式的自然输入应用程序的显示图。
图6是示出在一个实施例中的与2D结构相关联的边界框的显示图。
详细描述
描述了一种用于在诸如文档编辑应用程序等排版应用程序中创建和编辑复杂结构,诸如2D结构的自然输入系统。该自然输入系统桥接排版应用程序和领域专用的自然输入应用程序之间的差距,来允许用允许使用诸如手写等自然输入方法来编辑2D结构的一般方式来将2D结构包括在文档中。排版应用程序通常可以用一个或多个内部排版格式来导出排版2D结构。例如,Microsoft Word 2007可以用基于可扩展标记语言(XML)的数学标记语言(MathML)来导出数学等式。MathML是由国际标准体定义的一种特殊的XML,并且适用于描述数学符号的结构和内容。用户选择用排版格式存储的对象,并向自然输入系统指示用户想要用自然输入方法来编辑该对象。例如,用户可以选择文字处理应用程序中的数学等式。
自然输入系统接收该对象的排版表示。例如,系统可以接收描述所选等式的MathML。自然输入系统转换排版格式来生成看上去与其排版原始相似的标准数字墨水表示,如以下进一步描述的。例如,系统可以将MathML转换为标准数字墨水格式。数字墨水是表示笔画的一种数据类型,包括关于笔画的元数据以及在应用程序中使用墨水的位置的上下文感知。自然输入系统将所生成的墨水表示提供给自然输入应用程序,在那里,特定2D领域的自然输入识别器可以识别该墨水表示,并且用户可以用该自然输入应用程序所提供的一组丰富的纠正和编辑特征来操纵该墨水表示。识别器可以知道第一识别中的最终结果(但不是笔画分配)。例如,系统可以将经转换的MathML提供给数学等式自然输入应用程序,所述数学等式自然输入应用程序提供了用自然输入来编辑数学等式的丰富能力。对于用户而言,在自然输入应用程序内部对墨水执行修改通常比常规方法(如键盘或下拉菜单)更快且更自然,无需急剧升降的学习曲线。
一旦最终用户对自然输入应用程序中的识别结果满意,自然输入系统接收基于经修改的数字墨水表示的识别结果。例如,系统可以接收在原始数字墨水表示上包括附加变量的所识别的数学等式的对象模型。自然输入系统可以将所接收的识别结果转换成排版应用程序格式,并且将经修改的排版表示提供给排版应用程序用以合并到用户正在编辑的文档中。例如,系统可以将识别结果转换回MathML并将该MathML提供给Microsoft Word。因此,自然输入系统提供了在编辑排版2D结构的使用便捷和花费时间方面显著地改进了最终用户体验的端对端解决方案。
图1是示出在一个实施例中的自然输入系统的各组件的框图。自然输入系统100包括排版应用程序接口110、转换组件140和自然输入接口170。这些组件中的每一个都在以下进一步详细讨论。自然输入系统100与排版应用程序105以及自然输入应用程序195进行接口。虽然此处使用了术语应用程序,但本领域普通技术人员将明白,排版应用程序105和自然输入应用程序195中的任一个或两者可以是独立的应用程序或其他应用程序内托管的控件。例如,排版应用程序105和自然输入应用程序195可以是web浏览器内托管的控件,排版应用程序105可以是独立的应用程序而自然输入应用程序195可以是由排版应用程序105加载的控件,等等。
排版应用程序接口110包括排版导出组件120和排版合并组件130。排版应用程序接口110提供了系统100和排版应用程序105之间的接口,该接口用于提取和更新由排版应用程序105管理的2D结构。
排版导出组件120从排版应用程序中导出2D结构,从而使得该系统可以将它们提供给自然输入应用程序以供使用数字墨水来进行编辑。排版导出组件120可以是排版应用程序的一部分或者与系统100集成。系统可以使用由排版应用程序提供的应用程序编程接口(API)来访问排版结构。例如,电子表格应用程序可以提供用于通过程序访问电子表格文档的内容的对象模型,包括2D结构。
在用户使用此处进一步描述的自然输入方法编辑了2D结构之后,排版合并组件130从系统100接收经修改的2D结构。例如,用户可以使用自然输入应用程序来编辑数字墨水。系统将数字墨水的排版表示提供给排版应用程序。排版应用程序,例如通过替换与文档一起存储的2D结构的先前表示,将排版表示与文档合并。如先前所述,系统100可以使用应用程序所提供的API来与应用程序交互。例如,文字处理应用程序可以提供用于选择和更新2D结构以及其他文档内容的API。
转换组件140包括排版-墨水转换器组件150和模式识别器组件160。转换组件140负责将排版表示转换为数字墨水以及将数字墨水表示转换为排版。
排版-墨水转换器组件150经由排版应用程序接口110从排版应用程序105接收排版表示,并将排版表示转换为数字墨水表示。排版到墨水转换器通常将所接收的排版分成一个或多个符号或字符,并为每一个个别符号或字符标识墨水等价物。例如,如果音符包含音调“C”,则组件150可以标识存储在资源文件或其他位置中的基于墨水的字母“C”。组件150将关于所标识的墨水等价物的信息组合到墨水表示结构中,所述墨水表示结构中包含关于与原始排版表示的原始大小和布局相似的每一墨水元素的布局和大小。该过程在此处进一步描述。在某些实施例中,排版-墨水转换器组件150可以被略去或被包括在自然输入应用程序195中。例如,自然输入应用程序195能够直接接收某种排版表示,诸如MathML或其他常用标准。
墨水识别器组件160识别用户输入的手写或其他自然输入并将自然输入转换为排版结构。组件160可以采用与排版-墨水转换器组件150相似但相对的方法。例如,组件160可以标识自然输入中的个别元素(例如,字母、数字等等),并将每一个个别元素与相似的排版等价物匹配。墨水识别软件是容易获得的,并且墨水识别器组件160可以被内置到自然输入应用程序195内(如图所示)或者作为转换组件140请求转换时所调用的第三方组件来提供。最后,转换组件140接收由用户修改的2D结构的排版表示。
自然输入应用程序接口170包括排版加载组件175、墨水加载组件180和识别结果接收组件190。自然输入应用程序接口170提供系统100和自然输入应用程序195之间的接口,该接口用于加载表示现有2D结构的墨水,并接收包含用户对2D结构的修改的经修改的墨水。
在自然输入应用程序195能够直接接收排版的情况下使用排版加载组件175。在这些情形中,排版-墨水转换器组件150还可以被包括在自然输入应用程序195内,从而使得自然输入应用程序195接收排版并将其转换为墨水。这出于若干原因可以是有利的。例如,这种类型的配置允许自然输入应用程序195直接从排版应用程序105接收基于拖拽或剪贴板的MathML或其他受支持的2D结构格式。
墨水加载组件180基于2D结构的经转换的排版表示来将数字墨水加载到自然输入应用程序195中以供用户编辑。例如,自然输入应用程序195可以提供用于将输入提供给应用程序195的API。另选地或另外地,自然输入系统100可以将数字墨水存储在文件或其他存储位置中,并且在命令行上或者通过其他形式的应用程序间通信,将关于存储位置的信息传递给自然输入应用程序195。自然输入系统100还可以使用文本框架服务(TFS)、操作系统剪贴板、拖拽或其他通信方法。墨水加载组件180可以提供可由多个应用程序阅读的标准化格式的数字墨水。因此,在某些情况下,用户可以具有基于用户偏好和自然输入的可用形式从中选择的多个自然输入应用程序(例如,所安装的硬件外围设备)。
识别结果接收组件190从墨水识别器160接收经编辑的识别结果,或者从自然输入应用程序195接收其他经转换的自然输入。例如,用户可以使用手写来擦除变量、向等式添加更多元素等等,随后自然输入应用程序195将该输入提供给系统100。在某些实施例中,自然输入应用程序195包括墨水识别器组件160或其他识别器,所述墨水识别器组件160或其他识别器用于将数字墨水转换为系统100可将其转换为所需格式以便提供给排版应用程序105的排版结构或另一标准化格式。
在其上实现该系统的计算设备可包括中央处理单元、存储器、输入设备(例如,键盘和定点设备)、输出设备(例如,显示设备)和存储设备(例如,盘驱动器)。存储器和存储设备是可以用实现该系统的计算机可执行指令来编码的计算机可读介质,这表示包含该指令的计算机可读介质。此外,数据结构和消息结构可被存储或经由诸如通信链路上的信号等数据传送介质发送。可以使用各种通信链路,诸如因特网、局域网、广域网、点对点拨号连接、蜂窝电话网络等。
该系统的实施例可以在各种操作环境中实现,这些操作环境包括个人计算机、服务器计算机、手持式或膝上型设备、多处理器系统、基于微处理器的系统、可编程消费电子产品、数码照相机、网络PC、小型计算机、大型计算机、包括任何上述系统或设备中任一种的分布式计算环境等。计算机系统可以是蜂窝电话、个人数字助理、智能电话、个人计算机、可编程消费电子产品、数码照相机等。
该系统可以在由一个或多个计算机或其他设备执行的诸如程序模块等计算机可执行指令的通用上下文中描述。一般而言,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。通常,程序模块的功能可以在各个实施例中按需进行组合或分布。
图2是示出在一个实施例中的用于使用自然输入来编辑2D对象的自然输入系统的处理的流程图。通常,当用户选择排版应用程序中可被编辑的2D对象时调用该系统。在框210中,系统从排版应用程序接收该2D对象的排版格式表示。例如,系统可以从如Microsoft Word 2007之类的文字处理应用程序接收表示数学等式的MathML。在框220中,系统将2D对象从排版格式表示转换为2D对象的数字墨水表示。例如,系统可以标识2D对象内的各个元素并且为每一2D元素标识墨水等价物,如参考图3进一步描述的。在框230中,系统将2D对象的经转换的数字墨水标识提供给自然输入应用程序,该自然输入应用程序包括用于特定2D领域的至少一个识别器。例如,系统可以将数字墨水提供给数学输入面板(MIP),诸如图4所示的那个。用户使用自然输入应用程序来编辑该2D对象,并且可以指示他/她完成的时刻(例如,通过点击“保存”或“完成”按钮)。
在框240中,系统接收该2D对象的排版识别结果。例如,用户可能已经使用诸如手写姿势等自然输入添加了元素或从2D对象移除了元素,而自然输入应用程序可能已经识别了该2D对象的经编辑的数字墨水表示并将其转换为该2D对象的经修改的排版格式表示。例如,自然输入应用程序可以包括识别器,所述识别器识别数字墨水并用可由其他应用程序使用的格式来提供结果。如果需要,系统可以在自然输入应用程序所提供的输出和排版应用程序所预期的格式之间执行简单的转换。在框250中,系统将该2D对象的经修改的排版格式表示提供给排版应用程序。例如,系统可以使用文字处理应用程序的API来用经修改的2D对象来替换文字处理文档中先前的2D对象。在框250之后,这些步骤结束。
图3是示出在一个实施例中的排版到墨水转换组件的处理的流程图。转换过程的开始点是2D结构的排版表示。2D结构的排版表示的初始大小是不重要的;所描述的技术是大小不变的。从排版应用程序接收的2D结构由各元素组成。例如,在数学等式的情况中,等式包含变量、指数、符号等等。在框305中,组件选择第一或下一个元素(在后几轮的情况下)。在框310中,自然输入系统为2D结构中的当前元素计算边界框。本领域普通技术人员将明白为元素计算边界框的许多方式。在某些实施例中,对于数学领域,自然输入系统请求由能够在呈现时间内标识边界框的MathML呈现器计算的边界框。在框320中,自然输入系统将所计算的边界框与标识符相关联。例如,标识符可以是数学变量的Unicode字符码(例如,数字2的0x0032)。
在框330中,自然输入系统基于当前元素相关联的标识符来为其标识墨水等价物。系统为每一排版元素提供墨水等价物或者访问每一排版元素的墨水等价物。例如,系统可以将墨水对象存储在每一受支持的排版元素的资源文件中。在一个实施例中,数学领域具有200个左右墨水对象(即,所有拉丁和希腊字符、数字、数学运算符等等)并且可以容易地被存储在资源文件中。在某些实施例中,自然输入系统只为每一墨水元素存储单个大小。墨水对象通常是向量对象,并因此当系统伸展它们来容纳排版元素的不同字体大小时不损失质量。注意,即使每个排版元素只有一个墨水对象,但在2D结构内部,一个元素可有若干不同大小的存在。例如,对于带有指数的变量,指数的字体通常比变量小,即使两者都具有相同的值(例如,2提升到2次幂),但两者都可用相同的基于向量的墨水对象来表示。
在框340中,自然输入系统基于边界框来伸展所标识的墨水等价物以匹配排版元素的大小并将墨水等价物放在正确的位置中。例如,系统可以伸展墨水“x”来匹配来自排版应用程序的变量x的大小,并且在排版元素被集中的地方集中墨水。以此方式,系统用不妨碍其他字符的相对空间位置的合适的墨水表示来替换以排版形式出现的每一字符(分数线、根号、x、y等等)。在判定框350中,如果存在更多元素,则系统循环到框310来选择下一个排版元素,否则系统继续至框360。
在框360中,自然输入系统将墨水等价物收集为具有与排版元素相同的相对空间位置的墨水元素的最终墨水对象。因为可以成比例地改变墨水对象的大小而不影响质量,所以转换过程不依赖于排版结构的初始大小。结果是在视觉上与2D结构的排版表示相似的、用户可以用自然输入应用程序来编辑的一个墨水对象。在框360之后,这些步骤结束。
图4是示出在一个实施例中的用于自然输入系统的独立自然输入应用程序的显示图。该图包括正在运行用于使用手写将数学等式插入到应用程序中的数学输入面板应用程序140的计算机桌面400。应用程序410窗口包括手写区域420、识别结果区域430、一个或多个控件440和插入按钮450。用户使用数字笔或其他自然输入设备在手写区域420中绘制数学符号。应用程序410试图将这些符号识别为数学领域中已知的符号,并且在识别结果区域430中显示结果。控件440允许用户选择数学等式的特定部分并纠正识别结果以及提供其他常用的手写功能。例如,应用程序410可以显示所选数学符号的若干可能的识别结果的下拉列表,并且用户可以从列表中选择正确的符号。按压插入按钮450将识别结果提供回进行调用的应用程序。例如,按压插入按钮450可以将识别结果放置在进行调用的应用程序可以接收的操作系统剪贴板上。
图5是示出在一个实施例中的文字处理应用程序内部启动的控件形式的自然输入应用程序的显示图。文字处理应用程序窗口510显示文档520。文档520包括2D结构。例如,如图所示,2D结构可以是数学等式525。自然输入系统将用排版表示存储在文档520中的等式525转换为数字墨水表示,并且将该数字墨水表示提供给自然输入应用程序,如此处所描述的。所示的自然输入应用程序是在文字处理应用程序进程内启动的控件窗口530。控件窗口530控制与参考图4所描述的类似的控件和功能。当用户完成使用自然输入来编辑等式525之后,自然输入系统将其转换回排版表示并且将该排版表示插入到文档520中。
图6是示出在一个实施例中的与2D结构相关联的边界框的显示图。该显示图示出排版表示形式的数学等式600。如此处所描述的,为了将排版表示转换为数字墨水,自然输入系统标识带有边界框的排版表示内的元素,随后为每一所表示的元素寻找数字墨水等价物。对于所示等式600,系统表示指数元素610、分数线元素620、平方根元素630和变量元素640。系统还可以标识其他元素(例如,两个位置处的图形中的变量x),为解释清楚起见将这些元素略去。边界框确定每一元素的大小以及系统寻找匹配数字墨水的粒度水平。
在某些实施例中,自然输入系统将经转换的排版2D结构加载到排版应用程序进程中的控件中。自然输入系统将经转换的排版2D结构加载到装备有用于特定2D领域(例如,数学、化学、音乐等等)的自然输入识别器的自然输入应用程序中。自然输入应用程序通常包括使得编辑比常规输入技术更快速且更自然的一组丰富的编辑/纠正特征和工具,尤其在最终用户处理较复杂的2D结构的情况下。从排版2D结构到墨水对象的转换过程可以在加载之前或加载之后发生。自然输入应用程序可以与主存排版2D结构的排版应用程序相同。例如,自然输入应用程序可以作为在排版应用程序进程内执行的控件(例如,使用ActiveX)、独立配件、或其他类型的应用程序来运行。
在某些实施例中,自然输入系统将排版转换为多个应用程序可读的标准化墨水格式。对于特定2D结构,用户可以具有从中选择的若干自然输入应用程序。例如,用户可以偏好用于编辑数学等式的一个自然输入应用程序和用于编辑音符的另一应用程序。作为另一示例,用户可以偏好用于手写识别的一个自然输入应用程序以及用于语音输入的另一应用程序。以此方式,自然输入系统可以与许多自然输入应用程序和输入形式互操作并向用户提供其他选项。
从上文将会认识到,虽然在此已出于说明目的描述了自然输入系统的特定实施例,但是可以做出各种修改而不背离本发明的精神和范围。例如,虽然用2D结构相关联地描述了系统,但此处描述的方法可适用于带有三个维度的结构。因此,本发明只受所附权利要求限制。

Claims (20)

1.一种用于使用自然输入方法来编辑2D结构的计算机实现的方法,所述方法包括:
从排版应用程序接收210 2D对象的排版格式表示;
将所述2D对象从所述排版格式表示转换220为所述2D对象的数字墨水表示;
将所述2D对象的经转换的数字墨水表示提供230给自然输入应用程序,其中所述自然输入应用程序包括用于特定2D领域的至少一个识别器;
从所述自然输入应用程序的识别器接收240所述2D对象的经修改的排版格式表示;以及
将所述2D对象的经修改的排版格式表示提供250给所述排版应用程序。
2.如权利要求1所述的方法,其特征在于,所述2D对象是数学等式并且所述排版格式表示是MathML。
3.如权利要求1所述的方法,其特征在于,将所述2D对象从所述排版格式表示转换为数字墨水表示包括标识所述2D对象的元素并为每一所标识的元素确定数字墨水等价物。
4.如权利要求1所述的方法,其特征在于,提供经转换的数字墨水包括,调用所述自然输入应用程序的API以便将排版或数字墨水加载到所述自然输入应用程序中。
5.如权利要求1所述的方法,其特征在于,提供经修改的排版格式表示包括,调用所述排版应用程序的API以便将排版对象插入到所述排版应用程序中。
6.如权利要求1所述的方法,其特征在于,接收经修改的排版格式表示包括调用领域专用的手写识别器。
7.如权利要求1所述的方法,其特征在于,所述排版应用程序是用于编辑包括2D对象的文档的文字处理应用程序。
8.如权利要求1所述的方法,其特征在于,所述2D对象的领域从包括数学表达式、化学表达式和音符的组中选择。
9.一种用于使用手写来编辑存储在排版应用程序中的二维结构的计算机系统,所述系统包括:
排版导出组件120,被配置为从所述排版应用程序中导出2D结构;
排版-墨水转换器组件150,被配置为接收所导出的2D结构并将所导出的2D结构转换为数字墨水表示;
墨水加载组件180,被配置为将所述2D结构的数字墨水表示加载到其中用户可以使用手写来编辑所述2D结构的自然输入应用程序中;
墨水识别器组件160,被配置为识别经修改的数字墨水并将所识别的数字墨水转换为经修改的排版结构;以及
排版合并组件130,被配置为接收经修改的2D排版结构并将所述结构提供给所述排版应用程序。
10.如权利要求9所述的系统,其特征在于,所述排版-墨水转换器组件还被配置为将所接收的排版分成一个或多个符号并为每一符号标识墨水等价物。
11.如权利要求10所述的系统,其特征在于,在为每一符号标识所述墨水等价物之后,所述排版-墨水转换器组件将关于所标识的墨水等价物的信息组合到包含关于每一墨水元素的布局和大小的信息的墨水表示结构中。
12.如权利要求9所述的系统,其特征在于,所述排版-墨水转换器组件还被配置为将排版字符的墨水等价物存储为与大小无关的向量对象。
13.一种用通过一种方法来控制计算机系统来将2D结构从排版表示转换为数字墨水表示的指令来编码的计算可读存储介质,所述方法包括:
标识305所述排版表示内的元素;
对于每一元素,
为所述元素计算310边界框;
将所计算的边界框与标识符相关联320;
基于所述元素相关联的标识符来为所述元素标识330墨水等价物;以及
收集360所述墨水等价物并从所述墨水等价物的集合中创建所述数字墨水表示。
14.如权利要求13所述的计算机可读介质,其特征在于,计算边界框包括向为特定领域计算边界框的呈现器发送请求。
15.如权利要求13所述的计算机可读介质,其特征在于,将所计算的边界框与标识符相关联包括为所计算的边界框内的元素标识Unicode字符码。
16.如权利要求13所述的计算机可读介质,其特征在于,所述系统具有对存储在每一受支持的排版元素的资源文件中的墨水等价物的访问。
17.如权利要求13所述的计算机可读介质,其特征在于,相同的排版元素在所述排版表示中多次出现,并且所述方法为每一次出现选择相同的墨水等价物。
18.如权利要求13所述的计算机可读介质,其特征在于,所述数字墨水表示具有与所述排版表示中的排版元素相同的相对空间位置的墨水元素。
19.如权利要求13所述的计算机可读介质,其特征在于,所述方法还包括用多个自然输入应用程序可读的标准数字墨水格式来存储所述数字墨水表示。
20.如权利要求13所述的计算机可读介质,其特征在于,所述方法还包括,对于每一元素,基于所述边界框来伸展所标识的墨水等价物以匹配所述排版元素的大小。
CN200980138102.7A 2008-09-24 2009-08-17 使用自然输入来编辑2d结构 Active CN102165393B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/236,596 US8213719B2 (en) 2008-09-24 2008-09-24 Editing 2D structures using natural input
US12/236,596 2008-09-24
PCT/US2009/054073 WO2010036457A2 (en) 2008-09-24 2009-08-17 Editing 2d structures using natural input

Publications (2)

Publication Number Publication Date
CN102165393A true CN102165393A (zh) 2011-08-24
CN102165393B CN102165393B (zh) 2014-08-20

Family

ID=42037738

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200980138102.7A Active CN102165393B (zh) 2008-09-24 2009-08-17 使用自然输入来编辑2d结构

Country Status (3)

Country Link
US (1) US8213719B2 (zh)
CN (1) CN102165393B (zh)
WO (1) WO2010036457A2 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105264517A (zh) * 2013-05-20 2016-01-20 微软技术许可有限责任公司 用于文本表示转换的墨水
CN108780381A (zh) * 2015-12-01 2018-11-09 迈思慧公司 利用手势进行笔记记录的装置和方法

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101679744B1 (ko) * 2009-11-10 2016-12-06 삼성전자주식회사 단말기에서 데이터 처리 방법 및 그를 수행하는 장치
US8510650B2 (en) * 2010-08-11 2013-08-13 Stephen J. Garland Multiple synchronized views for creating, analyzing, editing, and using mathematical formulas
US8827710B2 (en) * 2011-05-19 2014-09-09 Microsoft Corporation Realtime user guidance for freehand drawing
US20130205205A1 (en) * 2012-02-03 2013-08-08 John Paul Powers Simplified Text Formatting Using Domain Specific Heuristics
US20130305133A1 (en) * 2012-05-11 2013-11-14 Elia Freedman Interactive Notepad For Computing Equations in Context
US9280524B2 (en) * 2012-06-28 2016-03-08 Texas Instruments Incorporated Combining a handwritten marking with a rendered symbol to modify the rendered symbol
CN102902987B (zh) * 2012-08-22 2017-03-01 北京壹人壹本信息科技有限公司 手写输入文字的处理方法、处理系统及电子装置
US9880990B2 (en) 2013-03-14 2018-01-30 Microsoft Technology Licensing, Llc Leveraging previous instances of handwriting for handwriting beautification and other applications
US10269258B2 (en) * 2013-05-16 2019-04-23 The Regents Of The University Of California System for automatic assessment of student learning
WO2015141260A1 (ja) * 2014-03-17 2015-09-24 株式会社河合楽器製作所 手書き音楽記号認識装置およびプログラム
US10346681B2 (en) * 2015-09-26 2019-07-09 Wolfram Research, Inc. Method and computing device for optically recognizing mathematical expressions
US10871880B2 (en) * 2016-11-04 2020-12-22 Microsoft Technology Licensing, Llc Action-enabled inking tools
CA3046608A1 (en) * 2019-06-14 2020-12-14 Mathresources Incorporated Systems and methods for document publishing
CN111179925A (zh) * 2019-12-04 2020-05-19 北京永洪商智科技有限公司 一种基于语音识别的报告版面设计系统及其方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1330332A (zh) * 2000-06-21 2002-01-09 微软公司 分类、锚定和变换墨迹的方法
CN1501239A (zh) * 2002-05-14 2004-06-02 微软公司 电子墨水的输入和编辑
US20060059214A1 (en) * 2004-09-15 2006-03-16 Sargent Murray Iii Systems and methods for automated equation buildup

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5953735A (en) * 1991-03-20 1999-09-14 Forcier; Mitchell D. Script character processing method and system with bit-mapped document editing
JPH04357713A (ja) * 1991-06-04 1992-12-10 Fujitsu Ltd 切換機能を有する基準信号発生回路
US5666139A (en) * 1992-10-15 1997-09-09 Advanced Pen Technologies, Inc. Pen-based computer copy editing apparatus and method for manuscripts
US20020149630A1 (en) * 2001-04-16 2002-10-17 Parascript Llc Providing hand-written and hand-drawn electronic mail service
US7039234B2 (en) * 2001-07-19 2006-05-02 Microsoft Corporation Electronic ink as a software object
US20040054701A1 (en) * 2002-03-01 2004-03-18 Garst Peter F. Modeless gesture driven editor for handwritten mathematical expressions
US7120872B2 (en) * 2002-03-25 2006-10-10 Microsoft Corporation Organizing, editing, and rendering digital ink
US7096432B2 (en) * 2002-05-14 2006-08-22 Microsoft Corporation Write anywhere tool
US7259752B1 (en) * 2002-06-28 2007-08-21 Microsoft Corporation Method and system for editing electronic ink
US7392475B1 (en) * 2003-05-23 2008-06-24 Microsoft Corporation Method and system for automatic insertion of context information into an application program module
US7262785B2 (en) * 2003-08-21 2007-08-28 Microsoft Corporation Ink editing architecture
KR100583473B1 (ko) 2003-12-18 2006-05-24 김문수 문서편집 소프트웨어의 수식 편집기 및 그 편집방법
US7574048B2 (en) * 2004-09-03 2009-08-11 Microsoft Corporation Freeform digital ink annotation recognition
US7394935B2 (en) * 2004-09-21 2008-07-01 Microsoft Corporation System and method for editing a hand-drawn chart in ink input
US8064696B2 (en) * 2007-04-10 2011-11-22 Microsoft Corporation Geometric parsing of mathematical expressions

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1330332A (zh) * 2000-06-21 2002-01-09 微软公司 分类、锚定和变换墨迹的方法
CN1501239A (zh) * 2002-05-14 2004-06-02 微软公司 电子墨水的输入和编辑
US20060059214A1 (en) * 2004-09-15 2006-03-16 Sargent Murray Iii Systems and methods for automated equation buildup

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
GEORGE LABAHN ET AL.: "MathBrush:An Experimental Pen-Based Math System", 《CHALLENGS IN SYMBOLIC COMPUTATION SOFTWARE》 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105264517A (zh) * 2013-05-20 2016-01-20 微软技术许可有限责任公司 用于文本表示转换的墨水
CN105264517B (zh) * 2013-05-20 2017-12-26 微软技术许可有限责任公司 用于文本表示转换的墨水
CN108780381A (zh) * 2015-12-01 2018-11-09 迈思慧公司 利用手势进行笔记记录的装置和方法
CN108780381B (zh) * 2015-12-01 2021-06-11 迈思慧公司 利用手势进行笔记记录的装置和方法

Also Published As

Publication number Publication date
WO2010036457A2 (en) 2010-04-01
WO2010036457A3 (en) 2010-05-27
CN102165393B (zh) 2014-08-20
US8213719B2 (en) 2012-07-03
US20100074527A1 (en) 2010-03-25

Similar Documents

Publication Publication Date Title
CN102165393B (zh) 使用自然输入来编辑2d结构
Haslwanter An introduction to statistics with python
Ruskeepää Mathematica navigator: mathematics, statistics, and graphics
Grätzer Math into LATEX
US7523395B1 (en) Web application generator for spreadsheet calculators
CN105264517A (zh) 用于文本表示转换的墨水
US7940273B2 (en) Determination of unicode points from glyph elements
CN101714133A (zh) 一种基于web的数学公式编辑系统及方法
US20040041843A1 (en) Inserting complex comments in a document
US20150193387A1 (en) Cloud-based font service system
CN105589686B (zh) WinCE平台下基于模板的信息录入、打印方法和装置
Kajler et al. A survey of user interfaces for computer algebra systems
US9159147B2 (en) Method and apparatus for personalized handwriting avatar
CN101430684A (zh) 中文办公软件文档与其他格式文档相互转换的方法及装置
US10747949B2 (en) Presenting an overlay canvas to ink edit typed text
US9886426B1 (en) Methods and apparatus for generating an efficient SVG file
US10628526B2 (en) Providing suggested diagrammatic representations of user entered textual information
US20060005115A1 (en) Method for facilitating the entry of mathematical expressions
US20100037131A1 (en) System and method for designing and generating online stationery
CN110245341A (zh) 标识码批量生成方法及装置
JP2008140150A (ja) 操作手順出力装置及び操作手順出力プログラム
KR20150085282A (ko) 전자 문서의 첨삭을 위한 단말의 동작 방법
Mudur On the need for cultural representation in interactive systems
WO2012142730A1 (zh) 文字处理方法及装置
JP2011158991A (ja) 帳票生成装置、帳票生成方法および帳票生成プログラム

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
ASS Succession or assignment of patent right

Owner name: MICROSOFT TECHNOLOGY LICENSING LLC

Free format text: FORMER OWNER: MICROSOFT CORP.

Effective date: 20150427

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20150427

Address after: Washington State

Patentee after: Micro soft technique license Co., Ltd

Address before: Washington State

Patentee before: Microsoft Corp.