CN108700994A - 用于数字墨水交互性的***和方法 - Google Patents

用于数字墨水交互性的***和方法 Download PDF

Info

Publication number
CN108700994A
CN108700994A CN201780010260.9A CN201780010260A CN108700994A CN 108700994 A CN108700994 A CN 108700994A CN 201780010260 A CN201780010260 A CN 201780010260A CN 108700994 A CN108700994 A CN 108700994A
Authority
CN
China
Prior art keywords
ink
stroke
digital ink
input
handwriting input
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
CN201780010260.9A
Other languages
English (en)
Other versions
CN108700994B (zh
Inventor
让-尼古拉斯·甘瓦尔什
斯特凡纳·居耶唐
吉尔达斯·勒梅里
阿兰·沙泰涅
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.)
Our Co Hui
MyScript SAS
Original Assignee
Our Co Hui
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 Our Co Hui filed Critical Our Co Hui
Priority claimed from PCT/EP2017/000020 external-priority patent/WO2017118609A1/en
Publication of CN108700994A publication Critical patent/CN108700994A/zh
Application granted granted Critical
Publication of CN108700994B publication Critical patent/CN108700994B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction 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/0488Interaction 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/04883Interaction 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • G06F3/0354Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor with detection of 2D relative movements between the device, or an operating part thereof, and a plane or surface, e.g. 2D mice, trackballs, pens or pucks
    • G06F3/03545Pens or stylus
    • 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
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/26Segmentation 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
    • G06V10/267Segmentation 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 by performing operations on regions, e.g. growing, shrinking or watersheds
    • 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/32Digital 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/32Digital ink
    • G06V30/333Preprocessing; Feature extraction
    • G06V30/347Sampling; Contour coding; Stroke extraction
    • 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/32Digital ink
    • G06V30/36Matching; Classification
    • G06V30/373Matching; Classification using a special pattern or subpattern alphabet

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Human Computer Interaction (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Character Discrimination (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

提供了一种用于根据到计算设备的手写输入来提供交互式墨水的***、方法和计算机程序产品。计算设备连接到具有输入表面的形式的输入设备。用户能够通过使用他或她的手指或工具(比如,触写笔或笔)向输入表面施加压力或在输入表面上做手势来提供输入。本***和方法监测输入笔划。计算设备还具有处理器以及用于在处理器的控制下识别手写输入的墨水管理***。墨水管理***被配置为:使得在计算设备的显示界面上显示根据第一手写输入的第一数字墨水;向第一数字墨水的墨水要素分配引用;将该引用映射到第一手写输入的对应的识别要素;以及确定包括该引用和映射的识别要素在内的墨水对象,并将该墨水对象存储在计算设备的存储器中。

Description

用于数字墨水交互性的***和方法
相关申请的交叉引用
本申请要求于2016年1月7日提交的欧洲申请No.16290002.1和于2016年3月28日提交的美国申请No.15/083,195的优先权,其全部内容通过引用合并于此。
技术领域
本描述总体涉及使用计算设备的墨水管理***和方法的领域。本描述更具体地涉及管理手写到计算设备界面的墨水,以提供墨水的交互性。
背景技术
计算设备在日常生活中不断变得越来越普遍。它们采取如下形式:台式计算机、膝上型计算机、平板计算机、混合式计算机(2合1)、电子书阅读器、移动电话、智能电话、可穿戴计算机(包括智能手表、智能眼镜/耳机)、全球定位***(GPS)单元、企业数字助理(EDA)、个人数字助理(PDA)、游戏机等。此外,计算设备被并入到车辆和设备(比如,汽车、卡车、农场设备、制造设备、建筑环境控制(例如,照明、HVAC)以及家用和商用电器)中。
计算设备通常由至少一个处理元件(比如,中央处理单元(CPU)、某种形式的存储器以及输出和输出设备)组成。各种计算设备及它们的随后使用需要各种接口和输入设备。一个这样的输入设备是触敏表面(比如,触摸屏或触摸板),其中通过用户手指或工具(比如,笔或触写笔)和触敏表面之间的接触来接收用户输入。另一输入设备是感测用户在输入表面上做出的手势的输入表面。另一个输入设备是位置检测***,其检测触摸或非触摸交互与非触摸物理或虚拟表面的相对位置。这些输入方法中的任一种通常可以用于绘画或输入文本。用户的手写是使用手写识别***或方法来解释的。
在便携式计算设备(例如,智能电话、平板手机和平板电脑)中,存在许多手写识别的应用,例如涉及笔记记录、文档注释、数学方程式输入和计算、音乐符号输入、素描和绘画等。手写也可以输入到非便携式计算设备,特别是增加了台式计算机和交互式白板的触摸屏监测器的可用性。这些类型的输入通常由用户启动计算设备上的手写输入应用来执行,该手写输入应用在设备中本地地或经由设备的通信链路远程地接受和解释在触敏表面上输入的手写,并且将该输入显示或以其它方式呈现为所谓的“数字墨水”。通常,这种手写输入应用的能力有限,无法从文本和非文本(例如,绘画、方程式)向用户提供全面的文档创建体验,这是因为这些应用的重点主要在于识别精度而不是文档创建。也就是说,可用的应用提供对手写的识别以及将识别出的手写转换为数字内容,并利用各种反馈机制将其呈现为字体化(fontified)或“排版”墨水,但这通常属于可用于输入的交互的范围。
如果用户期望与输出文本做任何进一步交互(例如,编辑内容、操纵内容的布局、或将笔记或其它注释转换或添加到文档中),则通常需要将所识别的手写内容导入或以其它方式集成到单独的文档处理应用中。例如,这可以通过将识别的手写排版成合适格式的合适排版墨水来自动完成,或者通过累赘地打字输入手写来手动地完成。后一种手动处理固有地适得其反,并且特别是在手写识别的感知精度较低时、或者应用保持原始手写的布局的能力不可靠时,执行起来更是如此。前一种自动处理本身并不存在很大问题,然而,由于手写和实际输入手写本身(数字墨水)的原始布局通常在导入处理中被丢弃,因此用户必须回头参考原始手写,以便弄清原始意图。例如,用户可能已经通过注释或装饰或者通过内容本身的布局而强调了某些单词或段落。
一些可用的数字手写应用提供编辑数字墨水的能力。然而,这通常通过输入特定手势来以引起某种控制(例如,启动菜单或运行处理)来完成。申请人已经发现,当使用手写应用时,用户通常不能或不愿学习不自然或不直观的特定手势,或者通过菜单等做出编辑选择。此外,由于所有用户必须学习必要的行为来进行数字墨水交互,因此对用于提供数字墨水编辑的特定学习方法的要求限制了这些应用以及更一般的数字手写的可用性。
因此,在共享或协作地使用由多方(特别是来自例如企业组织内不同领域或学科的特定各方)创建、编辑、修订、审查等的文档时,不同“团队”成员使用手写与数字文档交互的能力各不相同,使得可能的生产率受到限制。例如,组织层次结构中的上层管理成员可能对数字手写的经验有限,因此可能无法使用手写与文档交互。对于通常与文档处理应用一起使用的非手写工具(例如,硬件工具,比如键盘和鼠标)和/或软件工具(例如,用户界面(UI)工具和菜单),会出现类似的问题。
此外,使用特定UI和/或硬件工具来对使用数字手写创建的内容进行编辑或其它交互的需要会使得用户的创意流被破坏。因此,与内容交互的方式应该易于使用、直观且不破坏内容本身的输入。
发明内容
在下文中描述的本发明的示例提供了用于在计算设备上提供交互式墨水的***和方法。
在一个示例中,计算设备可以包括:处理器;以及至少一个非暂时性计算机可读介质,用于在处理器的控制下识别手写输入。非暂时性计算机可读介质可以被配置为:使得在计算设备的显示界面上显示根据第一手写输入的第一数字墨水;向第一数字墨水的墨水要素分配引用;将该引用映射到第一手写输入的对应的识别要素;以及确定包括该引用和映射的识别要素在内的墨水对象,并将该墨水对象存储在计算设备的存储器中。
墨水要素可以是第一数字墨水的笔划的至少一部分,并且识别要素可以包括第一手写输入的笔划的至少一部分。此外,识别要素可以是第一手写输入的识别候选项。
至少一个非暂时性计算机可读介质还可以被配置为:通过参考墨水对象来确定第二手写输入的内容;以及,使得在显示界面上显示根据所确定的第二数字墨水的内容的第二数字墨水。第二数字墨水可以是第一数字墨水的至少一部分的编辑后版本。
在另一示例中,本发明包括一种用于在计算设备上提供交互式墨水的方法。每个计算设备可以包括:处理器;以及至少一个非暂时性计算机可读介质,用于在处理器的控制下识别手写输入。该方法包括以下步骤:在计算设备的显示界面上显示根据第一手写输入的第一数字墨水;向第一数字墨水的墨水要素分配引用;将该引用映射到第一手写输入的对应的识别要素;以及确定包括该引用和映射的识别要素在内的墨水对象,并将墨水对象存储在计算设备的存储器中。
墨水要素可以是第一数字墨水的笔划的至少一部分,并且识别要素可以包括第一手写输入的笔划的至少一部分。此外,识别要素可以是第一手写输入的识别候选项。
该方法还可以包括以下步骤:通过参考墨水对象来确定第二手写输入的内容;以及,在显示界面上显示根据所确定的第二数字墨水的内容的第二数字墨水。第二数字墨水可以是第一数字墨水的至少一部分的编辑后版本。
在另一示例中,本发明包括一种其中体现有计算机可读程序代码的非暂时性计算机可读介质。计算机可读程序代码可以适用于被执行以实现用于向计算设备提供交互式墨水的方法。计算设备可以包括:处理器;以及至少一个***非暂时性计算机可读介质,用于在处理器的控制下识别手写输入。该方法可以包括以下步骤:在计算设备的显示界面上显示根据第一手写输入的第一数字墨水;向第一数字墨水的墨水要素分配引用;将该引用映射到第一手写输入的对应的识别要素;以及确定包括该引用和映射的识别要素在内的墨水对象,并将墨水对象存储在计算设备的存储器中。
墨水要素可以是第一数字墨水的笔划的至少一部分,并且识别要素可以包括第一手写输入的笔划的至少一部分。此外,识别要素可以是第一手写输入的识别候选项。
该方法还可以包括以下步骤:通过参考墨水对象来确定第二手写输入的内容;以及,在显示界面上显示根据所确定的第二数字墨水的内容的第二数字墨水。第二数字墨水可以是第一数字墨水的至少一部分的编辑后版本。
附图说明
根据以下结合附图对本***和方法的示例的详细描述,将更全面地理解本***和方法。在附图中,类似的附图标记表示类似的要素。附图中:
图1示出了根据本***和方法的示例的计算设备的框图;
图2示出了根据本***和方法的示例的手写识别***的框图;
图3示出了图示根据本***和方法的示例的图2的手写识别***的细节的框图;
图4示出了计算设备的输入表面的一部分上的墨水输入区域的示例视觉呈现的示意图;
图5示出了输入到输入区域中而呈现为数字墨水的示例手写内容;
图6示出了排版图5的手写内容的结果;
图7示出了图5的内容,其中突出显示了一组示例的手写笔划;
图8示出了图5的内容,其中突出显示了一组示例的部分手写笔划;
图9示出了图5的内容,其中突出显示了一组示例的部分手写笔划;
图10示出了输入到输入区域中而呈现为数字墨水的示例手写内容;
图11A示出了图10的手写输入,其中具有示例引用分割的表示;
图11B示出了与手写输入的数字墨水隔离的引用分割;
图12A示出了图10的手写输入,其中具有示例识别的表示;
图12B示出了图10的手写输入,其中具有识别的若干示例分割的表示;
图13A示出了图10的数字墨水,其中具有示例输入编辑手势;
图13B示出了基于图13A的编辑手势对数字墨水的示例调整;
图13C示出了调整后的数字墨水,其中示例调整后的识别具有调整后的示例分割的表示;
图14A示出了图10的数字墨水,其中具有示例输入编辑手势;
图14B示出了基于图14A的编辑手势对数字墨水的示例调整;
图14C示出了调整后的数字墨水,其中具有输入到输入区域中的呈现为新数字墨水的新示例手写内容;
图14D示出了调整后的新数字墨水,其中示例调整后的识别具有调整后的示例分割的表示;
图15A示出了图5的数字墨水,其中示例内容部分由于被选择而突出显示;以及
图15B示出了图6的排版墨水,其中示例内容部分由于被选择而突出显示。
具体实施方式
在以下详细描述中,以示例的方式阐述了大量的特定细节,以提供对相关教导的透彻理解。然而,对于本领域技术人员来说显而易见的是,可以在没有这些细节的情况下实践本教导。在其它情况下,为了避免不必要地模糊本教导的方面,仅在相对较高的层面上描述了公知的方法、过程、组件和/或电路,而没有详细地描述。
在本描述中使用的术语“文本”应被理解为包括在书面文本中使用的任何书面语言形式的所有字母数字字符及其字符串和常见的非字母数字字符(例如,符号)。此外,本描述中的术语“非文本”被理解为包括在非文本上下文中使用的自由形式的手写或手绘内容和呈现的文本和图像数据、以及非字母数字字符及其字符串、和字母数字字符及其字符串。此外,这些附图中所示的示例处于从左到右书写的语言环境中,因此对位置的任何引用都可以适用于具有不同方向格式的书面语言。
本文中描述的各种技术通常涉及以保持输入的内容风格的同时允许将该内容转换为忠实的排版或美化版本的方式、在便携式和非便携式计算设备上捕获、处理和管理手绘和手写内容。本文中所述的***和方法可以对经由连接到计算设备的或者计算设备中的输入表面(例如,触敏屏幕)、或经由连接到计算设备的输入设备(例如,数字笔或鼠标)、或经由由位置检测***监控的物理或虚拟表面而输入到计算设备的用户的自然书写和绘画风格进行识别。尽管关于使用所谓的在线识别技术识别手写输入来描述了各种示例,但是应该理解的是,也可以应用其它形式的输入识别,比如识别图像而不是识别数字墨水的离线识别。本文中可互换地使用术语手绘和手写来定义用户通过使用他/她们的手直接在数字介质或数字连接的介质上操作或经由输入工具(比如,手持式触写笔)创建的数字内容。本文中使用术语“手”来提供对输入技术的简要描述,然而,使用用户身体的其它部位(比如,脚、嘴和眼)来进行相似输入也被包括在该定义中。
图1示出了示例计算设备100的框图。计算设备可以是台式计算机、膝上型计算机、平板计算机、混合式计算机(2合1)、电子书阅读器、移动电话、智能电话、可穿戴计算机、数字手表、交互式白板、全球定位***(GPS)单元、企业数字助手(EDA)、个人数字助手(PDA)、游戏机等。计算设备100包括如下组件:至少一个处理元件、某种形式的存储器、以及输入和/或输出(I/O)设备。这些组件通过例如连接器、线路、总线、电缆、缓冲器、电磁链路、网络、调制解调器、换能器、IR端口、天线或本领域普通技术人员已知的其它设备实现的输入和输出来彼此通信。
计算设备100的所示示例具有用于输出来自该计算设备的数据(例如,图像、文本和视频)的至少一个显示器102。显示器102可以使用LCD、等离子体、LED、iOLED、CRT或本领域普通技术人员已知的为触敏的或非触敏的任何其它适当的技术。至少一些显示器102与至少一个输入表面104位于同一位置。输入表面104可以采用如下技术来接收用户输入:例如,电阻式、表面声波、电容式、红外网格、红外丙烯酸投影、光学成像、色散信号技术、声学脉冲识别或本领域普通技术人员已知的任何其它适当技术。输入表面104可以由清楚地标识其分界线的永久性的或视频产生的边界限定。对于车载显示器来说,替代地或附加地,计算设备100可以具有投影显示能力。
计算设备100可以包括经由本地接口通信地耦接的一个或多个附加I/O设备(或***设备)。附加I/O设备可以包括输入设备,例如键盘、鼠标、扫描仪、麦克风、触摸板、条形码读取器、激光读取器、射频设备读取器、或本领域普通技术人员已知的任何其它适当的技术。此外,I/O设备可以包括输出设备,例如打印机、条形码打印机或本领域普通技术人员已知的任何其它适当的技术。此外,I/O设备可以包括传送输入和输出两者的通信设备,例如调制器/解调器(调制解调器;用于访问另一设备、***或网络)、射频(RF)收发机或其它收发机、电话接口、桥接器、路由器或本领域普通技术人员已知的任何其它适当技术。本地接口可以具有用于实现通信的附加元件,比如控制器、缓冲器(高速缓存)、驱动器、中继器和接收机,为了简单起见,省略了这些本领域技术人员熟知的元件。此外,本地接口可以包括地址、控制和/或数据连接,以实现其他计算机组件之间的适当通信。
计算设备100还包括处理器106,处理器106是用于执行软件(尤其是存储器108中存储的软件)的硬件设备。处理器可以是任何定制的或商业上可获得的通用处理器、中央处理单元(CPU)、包括基于半导体的微处理器(微芯片或芯片集形式的)在内的商业上可获得的微处理器、微控制器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或其它可编程逻辑器件、分立门或晶体管逻辑、分立硬件组件、状态机或被设计用于执行本领域普通技术人员已知的软件指令的任何组合。
存储器108可以包括如下项中的任何一个或组合:易失性存储元件(例如,随机存取存储器(RAM,比如DRAM、SRAM或SDRAM)和非易失性存储元件(例如,ROM、EPROM、闪存PROM、EEPROM、硬盘、磁盘或光盘、存储寄存器、CD-ROM、WORM、DVD、廉价磁盘冗余阵列(RAID)、另一直接存取存储设备(DASD)、或任何其它磁性、电阻性或相变非易失性存储器)。此外,存储器108可以包含电子、磁性、光学和/或其它类型的存储介质。存储器108可以具有分布式架构,在该分布式架构中各种组件彼此远离,但仍可以由处理器106访问。此外,存储器108可以远离所述设备(比如,在服务器或基于云的***处),但是存储器108可以由计算设备100远程访问。存储器108与处理器106耦接,因此处理器106可以从存储器108读取信息和向存储器108书写信息。在备选方案中,存储器108可以集成到处理器106。在另一示例中,处理器106和存储器108两者均可以驻留在单个ASIC或其它集成电路中。
存储器108中的软件包括操作***110和墨水管理***112。可选地,墨水管理***112还包括手写识别(HWR)***114,手写识别(HWR)***114可以各自包括一个或多个单独的计算机程序。这些程序中的每一个均具有用于实现逻辑功能的可执行指令的有序列表。操作***110控制墨水管理器112(和HWR***114)的执行。操作***110可以是任何专有操作***或者商业上或免费地可获得的操作***,例如WEBOS、MAC和IPHONELINUX和ANDROID。应该理解,也可以利用其它操作***。备选地,可以在不使用操作***的情况下提供本***和方法的墨水管理***112。
墨水管理器112包括与用户输入的检测、管理和处理相关的一个或多个处理元件(稍后详细讨论)。软件还可以包括与手写识别、不同的功能或这两者相关的一个或多个其它应用。其它应用的一些示例包括文本编辑器、电话拨号器、联系人目录、即时消息发送设施、计算机辅助设计(CAD)程序、电子邮件程序、文字处理程序、web浏览器和相机。墨水管理器112和其它应用包括在制造时与计算设备100一起提供的程序,并且还可以包括在制造之后被上传到或下载到计算设备100中的程序。
具有支持和兼容能力的HWR***114可以是源程序、可执行程序(目标代码)、脚本、应用或具有要被执行的指令集的任何其它实体。在源程序的情况下,所述程序需要经由可以包括或可以不包括在存储器内的编译器、汇编器、解释器等来翻译,以便结合操作***正确地操作。此外,具有支持和兼容能力的手写识别***可以被写为:(a)面向对象的编程语言,其具有数据和方法的类;(b)程序编程语言,其具有例程、子例程和/或函数,例如但不限于C、C++、Pascal、Basic、Fortran、Cobol、Perl、Java、Objective C、Swift和Ada;或(c)函数式编程语言,例如但不限于Hope、Rex、Common Lisp、Scheme、Clojure、Racket、Erlang、OCaml、Haskell、Prolog和F#。
备选地,HWR***114可以是用于与远离所述设备的(比如,服务器或基于云的***处)、但是可以使用计算设备100的前述通信I/O设备通过通信链路由计算设备100来远程访问的手写识别***进行通信的方法和***。在图1中,HWR***114被示出为包括在墨水管理器112中,但是HWR***114可以在计算设备100内或远程地与墨水管理器112分离并连接到墨水管理器112。此外,墨水管理器112和/或HWR***114可以被集成在操作***110内。
在输入表面104上输入的或经由输入表面104输入的笔划由处理器106处理为数字墨水。用户可以用手指或适合于与输入表面一起使用的某种工具(比如,笔或触写笔)来输入笔划。如果正在使用感测或对在输入表面104附近的运动进行成像的技术,则用户还可以通过在输入表面104上方做出手势来输入笔划,或者用户还可以利用计算设备100的***设备(比如,鼠标或操纵杆)、或者利用投射接口(例如,用于确定笔画和手势信号的无源平面表面的图像处理)来输入笔划。笔划是至少由笔划开始位置、笔划终止位置和连接笔划开始位置和笔划终止位置的路径来表征的。还可以捕获其它信息(比如,沿路径的多个采样点处的定时、压力、角度)以提供笔划的更深入的细节。由于不同的用户自然书写相同对象(例如,字母、形状或符号)会具有轻微变化,因此HWR***适应可以在输入每个对象的同时对象被识别为正确或预期的对象的各种方式。
图2是本地(即,加载在设备100上)或远程(即,可由设备100远程访问)形式的HWR***114的示例的示意图。HWR***114包括诸如预处理116、识别118和输出120之类的阶段。预处理阶段116处理数字墨水,以在识别阶段118期间实现更高的精度并减少处理时间。该预处理可以包括:通过应用大小归一化和/或诸如B样条逼近的方法来对连接笔划开始位置和笔划终止位置的路径进行归一化,以平滑输入。然后,将预处理后的笔划传送到识别阶段118,识别阶段118处理该预处理后的笔划以识别由此形成的对象。然后,向显示器102输出120所识别的对象,所识别的对象一般被显示成手写要素/字符的排版版本。
识别阶段118可以包括不同的处理要素或专家。图3是示出了识别阶段118的示意细节的图2的示例的示意图。示出了分割专家122、识别专家124和语言专家126这三个专家,这三个专家通过动态编程进行协作以产生输出120。
分割专家122定义不同的方式来将输入笔划分割成各个要素假设(例如,字母数字字符和数学运算符、文本字符、独特的形状或子表达式),以便形成表示(例如,单词、数学方程式或形状组)。例如,分割专家122可以通过对原始输入的连贯笔划进行分组来形成要素假设以获得分割图,在该分割图中每个节点与至少一个要素假设相对应,并且要素之间的邻接约束由节点连接处理。备选地,分割专家122可以针对不同的输入类型(比如,文本、绘画、方程式和音乐符号)而采用单独的专家。
识别专家124提供由分类器128提取的特征的分类,并且针对分割图的每个节点输出具有概率或识别分数的要素候选项列表。存在可以用于解决该识别任务的许多类型的分类器,例如支持向量机、隐马尔可夫模型或神经网络(比如,多层感知器、深度卷积或递归神经网络)。选择取决于任务所需的复杂度、精度和速度。
语言专家126使用语言模型(例如,语法或语义)为分割图中的不同路径产生语言学含义。专家126根据语言学信息130来检查由其它专家建议的候选项。语言学信息130可以包括词库、正则表达式等,并且是语言专家126用于执行语言模型所使用的所有静态数据的存储。语言模型可以依赖关于给定语言的统计信息。语言学信息130是根据识别和用户交互的结果自适应或非自适应地离线计算出来的,并且被提供到语言专家126。语言专家126旨在找到最优识别路径。在一个示例中,语言专家126通过探索语言模型(比如,表示语言学信息130的内容的有限状态自动机(FSA))来实现该目的。除了词典约束之外,语言专家126还可以使用利用统计信息建模的语言模型来确定给定的要素序列出现在指定语言中或者由特定用户使用的频繁程度如何,以评价分割图的给定路径的解释的语言学似然性。
本***和方法利用HWR***114来识别对设备100的手写输入。墨水管理***112包括用于处理所识别的用户输入的布局的应用。这样的应用可以设置在具有用于进行不同处理的分隔的层的架构中。这些层中的一个或多个层可以远离可经由先前提到的通信通道来访问的设备100。这些层可以包括应用包装器、平台包装器和(平台特定的)应用用户接口。
本***和方法的墨水管理***112允许用户使用自然书写来输入内容,并与内容交互以使用自然和直观的操作(例如,手势)在其便携式或非便携式计算设备上产生可共享格式的数字文档。任何能够书写的人都熟悉使用手写来创建和编辑内容。任何数字设备用户已经习惯于在屏幕上做手势来书写或编辑内容。在触摸和悬停设备上,做手势是自然且直观的模式。现在详细描述本***和方法的这些和其它特征。
图4示出了示例计算设备100的输入表面104的一部分上的墨水输入或捕获区域400的示例视觉呈现的示意图。输入区域400被提供为无约束画布,其允许用户在任何地方创建对象块(文本块、绘画等),而无需担心大小调整或对齐。然而,可以看出,可以提供线图案背景410形式的对齐结构,用于引导用户输入以及对齐数字和排版墨水对象。在任何情况下,由于用户可能输入与线图案不紧密对齐的手写,或者可能希望忽略线图案并以不受约束的方式(例如,对角线或随意地)进行书写,因此HWR***114不考虑线图案来执行手写输入的识别。示例对齐图案在以本申请人和受让人的名义提交的题为“System and Methodof Digital Note Taking”的美国专利申请No.14/886,195中得以描述,该专利的全部内容通过引用并入本文中。
根据设备100的屏幕技术,通过使用关于输入表面104的手势(例如,通过触摸、施力和/或接近)来将手写内容输入到输入区域400上。可以根据计算设备100的将用户的手指与触写笔或笔(通过其设备定义无源或有源触写笔)区分开的能力、或者触写笔的用于向设备指示或通信其是用于手写的能力、或者用户的用于提供这样的指示的能力,来不同地处理手势检测。默认情况下,并且在不进行区分的设备中,输入区域400内的任何单点触摸或悬停事件将被视为内容输入或内容交互。本***和方法通过HWR***114还提供了一种用于通过将数字墨水排版或字体化(fontification)为排版墨水来数字化或转换手写输入的机制。特别地,提供该功能以用于允许创建至少接近最终文档的文档以用于传送和共享,例如,将被编辑和格式化为数字墨水(formatted)的手写笔记转换成可以原本是使用键盘(和相关联的手势产生设备)产生的排版文档。
手写输入由墨水管理***112检测,并在输入被接收且同时被提供所谓“即时”或增量手写识别的HWR***114识别时,在表面104(或其它显示器)上呈现为数字墨水。增量识别通常通过在接收到笔划时将(预处理的)笔划解析到识别器、并且识别器处理笔划组以输出识别结果来执行的,即使输入还在继续,其中,结果可以基本立即以数字墨水或显示的识别候选项的排版形式来提供,或者仅由墨水管理***112存储(例如,通过使用设备100的存储器108)以供稍后使用。重新识别可以在输入其它笔划(例如,附加符号)时发生,该其他笔划在空间方式上与早期输入的笔划相关。备选地或附加地,手写识别可以作为批处理来执行,而不是增量地执行。在这样的示例中,例如,数字墨水和排版墨水的显示可以在指定时间(例如,***和/或用户指定的)的输入期间发生,或者可以在相同或不同设备上的输入之后的时间发生。
图5示出了一个(或两个)多行段落500,其例如作为手写内容被输入到输入区域400,大致在行图案410的行上,并且在设备的界面表面104上呈现为数字墨水。图6示出了将段落500排版成排版段落600的结果。
本***和方法的墨水管理***112以与操作***110以及其组件和应用通常采用的管理数字内容(比如,打字的墨水)类似的方式来管理手写输入及其数字墨水表示。也就是说,如果通过使用键盘进行打字而不是手写来将内容600输入到计算设备100,则计算设备100的键盘或打字解码器(例如,提供为存储器108中的应用)作为操作***110的一部分、或在本***和方法中作为墨水管理***112的一部分,将对数字内容中的每个内容要素(段落600自身、段落中包含的句子、句子中包含的单词和符号(例如,语法标记,比如句号、逗号)、以及单词中包含的字符或字母)进行解释和编码。如果内容600是经由其它手段(例如,来自数字或非数字(例如,纸墨)手写的光学字符识别(OCR))输入的,则类似的管理也适用。该数字内容由计算设备100以易于理解的方式处理,每个数字字符被视为数字对象。以这种方式,可以相对于每个数字对象来产生诸如输入或编辑光标定位以与数字内容交互的功能。
然而,与用于键盘上的按键直接被解释成“数字对象”(例如,如该文本中描绘的打字字母“a”是数字对象)的打字输入的解码处理不同,用于手写输入的识别处理通常采用概率方法来解释在界面表面上的或输入到界面表面的手绘笔划,以找到字符的最可能候选项。使用这种概率方法的常规的数字手写***和方法通常提供最高概率的字符和单词候选项来作为识别的内容,使得在排版时将识别的内容转换为数字内容,此时,识别的内容及其识别结果被丢弃。然后,可以使用上述常规的数字内容管理技术通过与数字内容的交互来校正任何识别错误。通过输入期间的某种反馈机制,例如,显示候选项列表、基于语言模型的自动校正)、或者使用基本实时的识别结果显示(比如,在以本申请人和受让人的名义提交的题为“System and Method of Guiding Handwriting Input”的美国专利申请No.14/886,200中所描述的,该专利的全部内容通过引用并入本文中),可以最小化通过排版转换所带来的这种错误的数量。
数字内容管理仅通过参考数字对象的元数据来考虑数字对象。此元数据提供与数字内容的对象类型、字体、风格、相对位置、嵌入数据或超链接等有关的信息,但不提供任何其它信息,例如每个字符所属的单词、字符的上下文、对象候选项。因此,与数字对象的任何后续交互都独立于邻近的数字对象。然而,手写识别处理提供关于每个识别对象(例如,每个识别的字符)的大量信息,其可以用于引导和增强与内容的后续交互。本***和方法提供了利用该识别信息来提供与手写和数字内容的交互水平的方法,这增强了内容创建、编辑、共享和协作的创造性、可用性和生产率,如下所述。
本***和方法将“原始”或输入墨水(例如,手写笔划)引用或链接到数字墨水(例如,显示的墨水)。通过该链接,***知道由HWR***114识别的实际输入与所显示的输入之间的关系,使得协同基础(underlying)识别来执行与数字墨水的用户交互(例如,编辑内容)。这种识别墨水和数字墨水的“结合”形成了“墨水对象”。每个墨水对象具有元数据,元数据包括与数字对象的信息类似的信息,并且还包括与识别处理相关的其它信息。现在参考图5和图7至图12来描述示例引用***和方法。
在图5中,段落500是手写文本的段落的基础原始墨水输入的数字墨水表示。原始墨水包括按照时间顺序和空间顺序书写的多个墨水笔划。在图5的示例中描绘的从左到右和从上到下语言的上下文中,第一笔划是在段落500的开头处的笔划501(表示为数字墨水字符“W”),并且最后的笔划是在段落500的末尾处的笔划502(表示为数字墨水字符“.”)。当接收到墨水输入时,本***和方法例如通过为每个要素及其特征分配引用,按照时间顺序依次对每个输入要素(例如,笔划,其由在每个检测到的后续笔划开始位置(或“落笔”)和终止位置(或“抬笔”)之间的墨水来表征)进行索引。
例如,对于段落500,笔划501可以被索引为笔划[0](0),并且笔划502可以被索引为笔划[244]。按时间顺序的索引意味着位置不按顺序的笔划(例如,附加符号、稍后添加的笔划等)具有比邻近的笔划更靠后的索引,例如,笔划503(表示为没有点“.”的数字墨水字符“i”)可以被索引为笔划[1](1),并且笔划504(表示为点“.”)可以被索引为笔划[4],因为笔划504是在笔划505和506之后书写的。备选地或附加地,可以对笔划重新索引以考虑空间顺序而不是时间顺序。此外,对于批量输入(例如OCR输入),索引可以以其中任一种或两种方式发生。
该笔划索引提供输入的粗略索引,其可用于定义输入的特征(例如,字符和单词边界)。例如,用户例如利用对数字墨水做出手势(例如,单点手势或多点手势,比如,轻击、长按或双击)来与表示为笔划索引[0]的数字墨水字符501交互,可以类似于与数字对象的交互那样,导致选择字符和/或在字符边界处提供输入光标。然而,与数字对象不同,由于笔划索引,该交互还涉及基础识别结果“字符[0]”,其提供了稍后更详细讨论的特征。然而,此处简言之,即使笔划被变换(例如,部分擦除、擦除、通过“撤消”动作省略、字体化或排版),对笔划索引(例如,索引[0])的索引也保持稳定,并且该变换而任何新笔划被分配或指派有新的笔划索引,这些新的笔划索引仍内部地引用先前的笔划索引(例如,索引[0]),从而保持与识别结果的链接。此外,例如,在图7中,段落500的一组笔划700(表示为数字墨水单词“handwriting”)(为了说明目的在图7的显示中突出显示)包括笔划[172]到笔划[183]的笔划索引,表示为笔划索引[172,183]。在单词700内的任何位置或在单词700附近处,用户利用对数字墨水做出手势(例如,单点或多点手势(比如,轻击、长按或双击))来与数字墨水单词700的交互,可以类似于与数字对象的交互那样,实现选择整个单词和/或在单词边界处提供光标。然而,与数字对象不同,由于笔划索引,该交互还涉及基础识别结果“单词[172,183]”,其提供了稍后更详细讨论的特征。
如前所述,在识别处理中,笔划被分割以便确定可能的字符候选项。本***和方法采用类似(或相同或实际)的分割方法来细化输入的索引。该分割涉及将每个索引笔划分割成多个笔划段,并在每个笔划段之间的点处对每个笔划段进行索引。例如,笔划501可以用从点0(零)到点50的一系列50个笔划段,例如,表示为笔划和点(“引用”)索引[0:0,0:50]。可以根据笔划特性,或者根据设备采样和***应用的任何可能的预采样,通过以规则方式分割笔划来设置每个点的位置,例如,每个笔划段具有相同的长度(例如,与数字墨水表示有关的像素数量)。
在后一种情况下,每个输入事件(例如,落笔、笔移动、方向改变、抬笔)的原始输入样本(由计算或捕获设备给出,例如存储在存储器108中)由墨水管理***112用作为输入笔划中的新点或样本。此外,替代原始输入样本,墨水管理***112可以使用平滑单元,在墨水管理***112中原始输入样本被处理并被输出为不同数量和位置的样本。在这种情况下,分割制度或分割长度本身对于所应用的索引是无关紧要的,相反,提供优化索引的分割对数字墨水的“平滑度”来说是重要的。然而,应注意,输入的这种平滑可能使例如用于签名认证的数字墨水的生物特征处理无效。此外,适合于显示的平滑可以与适合于识别的平滑不同。这样,平滑可以由墨水管理***112本身,而不是设备100本身的任何处理,在与输入时平滑不同的阶段执行。
在任何情况下,笔划段的数量即为每个索引中的点的数量。如上所述,用户利用对数字墨水做出手势来与数字墨水字符501交互可以实现选择字符和/或在字符边界处提供数字光标,使得在引用或笔划:点索引[0:50]处提供光标。因此,光标位置由i:j定义,其中“i”是笔划索引,“j”是点索引。由于点索引,该交互还涉及基础识别结果“字符[0:0,0:50]”,其提供了稍后更详细讨论的特征。
该点索引提供输入的精细索引,其可用于定义输入的其它特征(例如,笔划内的字符边界)。可以看出,原始(和数字)墨水的每个笔划可以属于多于一个的文本字符(例如,笔划507表示为数字墨水字符“h”和“e”),或者是一个字符的一部分(例如,笔划503和504组合以形成字符“i”)。类似的笔划属性也可能出现在非文本对象(比如,形状)中。如上所述,识别***的分割处理将每个笔划分割为由分割图表示的多个分割概率。通过该处理,例如,笔划507的字符“h”和“e”被正确识别。本***和方法的精细索引提供了类似的分割结果。例如,笔划507可以被索引为笔划[9],并且具有从点0(零)到点60的一系列60个笔划段,例如,表示为引用索引[9:0,9:60]。字符“h”和“e”之间的字符边界可以例如在点30处,使得字符“h”具有引用索引[9:0,9:30]而字符“e”具有引用索引[9:30,9:60]。备选地,例如,接续字符可以不共享索引,从而索引[9:30]不被共享。因此,用户利用在字符边界处或在字符边界附近对数字墨水做出手势来与数字墨水字符507交互可以实现在字符边界处提供数字光标,使得在引用索引[9:30]处提供光标。由于笔划和点索引,该交互还涉及基础识别结果“字符[9:0,9:60]”,其提供了稍后更详细讨论的特征。
该点索引的精细索引可以用于定义输入的其它特征(例如,部分笔划)。例如,在图8中,段落500的一组笔划800(表示为数字墨水单词“application”)具有笔划801(表示为数字墨水字符“a”)、笔划802(表示为分别不具有横“-”和点“.”的数字字符“t”和“i”)以及笔划803(表示为横“-”)。例如,笔划801可以被索引为笔划[158]并且具有点0(零)至50。例如,笔划802可以被索引为笔划[159]并且具有点0(零)至40。例如,笔划803可以被索引为笔划[161]并且具有点0(零)到14(例如,在笔划802之前输入表示为后面的数字墨水字符“o”和“n”的笔划并因此提供笔划[160])。用户利用在数字墨水的部分笔划处对数字墨水做出手势(例如,单点或多点手势,比如轻击、长按或双击)来与数字墨水单词800交互可以实现仅选择笔划的那些部分。例如,在图8中,与笔划801和802的一部分的交互(为了说明的目的在图8的显示中突出显示)包括引用索引[158:44,159:20],并且与整个笔划803的交互包括引用索引[161:0,161:14]。由于笔划和点索引,该选择还涉及部分字符的基础识别结果,其提供了稍后更详细讨论的特征。
此外,在图9中,段落500的一组笔划900(表示为数字墨水单词“layout andformatting”)具有笔划901(表示为单词“layout”中的数字墨水字符“y”)、笔划902(表示为单词“formatting”中的数字墨水字符“f”)和笔划903(表示为单词“formatting”中的数字墨水字符“n”和“g”)。例如,笔划901可以被索引为笔划[215]并且具有点0(零)至60。例如,笔划902可以被索引为笔划[233]并且具有点0(零)至60。例如,笔划903可以被索引为笔划[243]并且具有点0(零)至54。用户利用在数字墨水的笔划的一部分处对数字墨水做出手势(例如,单点或多点手势,比如,按压并滑动)来与数字墨水900交互,可以实现仅选择笔划的那些部分。例如,在图9中,与笔划901的一部分(“y”的下部内容(descender))的交互(为了说明的目的在图9的显示中突出显示)包括引用索引[215:36,215:48],与笔划902的一部分(“f”的向下写(underwrite)或下部内容)的交互包括引用索引[233:35,233:54],与笔划903的一部分(“g”的下部内容)的交互包括引用索引[243:37,243:54]。由于笔划和点索引,该选择还涉及部分字符的基础识别结果,其提供了稍后更详细讨论的特征。
此外,可以通过在点索引的点之间进一步分割来提供用于这种用户交互的更高精度。例如,可以在每对连续点之间定义常规或笔划定义的子点,以提供点索引的小数部分。例如,分数精度可以是每个笔划段的1/50至1/300。然而,可以提供更低或更高的精度。例如,在图9中,提供了精度为1/200的子点,使得所显示的与笔划901的一部分的交互包括引用索引[215:36.665,215:48.265],与笔划902的一部分的交互包括引用索引[233:35.585,233:54.71],并且与笔划903的一部分的交互包括引用索引[243:37.495,243:54]。由于笔划和小数的点索引,该选择还涉及基础识别结果的部分字符,其具有更大精度,提供了稍后更详细讨论的特征。
本***和方法采用的上述引用索引***提供所显示的数字墨水和来自原始墨水的识别结果之间的引用。例如,一旦被墨水管理***112确定,该引用可以存储在例如计算设备100的存储器108中,以便稍后在检测到用户与数字墨水的交互时使用。如上所述,引用索引被包括作为元数据,其中由原始的、识别的和数字墨水表示的数字内容作为墨水对象。因此,墨水对象是可移植的(transportable),从而可以在不同的应用和操作***之间导出、导入和以其它方式传送或变换数字内容。也就是说,与任何其它数字内容一样,引用元数据与墨水对象内容本身一起被维持。因为引用索引与数字墨水一起保持,因此不必保留原始墨水本身(例如,原始手写输入),从而减少了要存储的数据量并增加了墨水管理***112的便携性,因为在解释墨水对象交互时不需要寻址原始墨水的数据库。然而,即使不保持原始墨水本身,也保持了引用***的全部能力。现在详细描述这个和上面讨论的特征。
图10示出了包含若干单词在内的段落1000,所述若干单词例如作为手写内容输入到输入区域400,总体在行图案410的行上,并且在设备的界面表面上呈现为数字墨水。原始(和数字)墨水1000包括表示形成短语“cleaning the keyboard”的文本字符的多个笔划1001至1009。如前所述,墨水管理***112对笔划进行分割以确定输入的引用索引,从而确定数字墨水。图11A示出了手写输入1000,其中具有由墨水管理***112和/或HWR***114确定的短语“cleaning the keyboard”的示例引用分割1100的表示。引用分割1100被示出为一系列框rm,这些框rm指定数字墨水1000的每个引用索引部分的大致数字墨水界限或范围。图11B示出了这些框rm与数字墨水1000分离,其中笔划索引点由虚线示出。
笔划索引可以是例如:笔划1001为笔划[0](零)、笔划1002为笔划[1]、笔划1003为笔划[2]、笔划1004为笔划[3]、笔划1005为笔划[4]、笔划1006为笔划[5]、笔划1007为笔划[6]、笔划1008为笔划[7]、以及笔划1009为笔划[8]。例如,笔划1001较长,因此可以被分割以具有例如300个点,使得引用索引r1与[0:0,0:35]相对应,引用索引r2与[0:35,0:90]相对应,引用索引r3与[0:90,0:125]相对应,引用索引r4与[0:125,0:170]相对应,引用索引r5与[0:170,0:210]相对应,引用索引r6与[0:210,0:225]相对应,引用索引r8与[0:225,0:265]相对应,以及引用索引r9与[0:265,0:300]相对应。如上所述,还可以通过参考子点来提供额外的精度。为其它笔划1002至1009确定类似的引用索引。
如前所述,在识别处理中,笔划1001至1009被分割,以便确定实现识别短语1000的单词的可能的字符候选项。墨水管理***112利用引用分割1102,所述引用分割1102可以独立于HWR***114产生的分割,或者引用分割1102可以是由HWR***114提供的(或者,至少使用类似的处理产生的)。在任一种情况下,例如,输入/数字墨水的笔划的引用分割提供了如下到基础识别结果的映射。图12A示出了手写输入1000,其中具有短语“cleaning thekeyboard”的示例识别1200的表示。请注意,示例识别本身不是如所示那样显示的。可以看出,识别1200包括输入1000的笔划1001至1009的分割1202(由虚线示出),由此产生一系列识别的字符Cn。所识别的字符Cn包括“c”C1、“1”C2、“e”C3、“a”C4、“n”C5、包括点“.”在内的“i”C6、“n”C7、“g”C8、包括横“-”在内的“t”C9、“h”C10、“e”C11、“k”C12、“e”C13、“y”C14、“b”C15、“o”C16、“a”C17、“r”C18、以及“d”C19。请注意,在识别处理中,“n”C5也可能被识别为“r”以提供单词候选项“clearing”,而不是基于HWR***114的语言模型以相似或不同的概率识别的“cleaning”。其它备选字符识别也是可能的。此外,候选项的编号顺序仅用于描述目的,并且不一定反映HWR***114对识别字符进行标识(如果这样做的话)的方式。此外,仅用于说明目的,使用框来指定附图中的识别字符。
可以看出,识别分割1202通常与引用分割1102相对应。因此,墨水管理***112将引用索引rm映射到候选字符Cn。例如,笔划1001包含若干个字符,即字符C1至C8,使得字符C1与引用索引r1相对应,字符C2与引用索引r2相对应,字符C3与引用索引r3相对应,字符C4与引用索引r4相对应,字符C5与引用索引r5相对应,字符C6与组合的引用索引r6和r7(例如,完整字符“i”)相对应,字符C7与引用索引r8相对应,以及字符C8与引用索引r9相对应。为其它笔划1002至1009确定候选字符和引用索引的类似映射。因此,例如,数字墨水1000的基础识别1202可以经由引用索引而被确定为单词[0:0,1:10]与“cleaning”相对应、单词[2:0,3:10]与“the”相对应、以及单词[4:0,8:40]与“keyboard”相对应。识别的要素(例如,字符和单词)与对应的数字墨水要素之间的这种引用或链接提供墨水对象,其中在本示例中,第一墨水对象与引用索引[0:0,1:10]相对应,第二墨水对象与引用索引[2:0,3:10]相对应,并且第三墨水对象与引用索引[4:0,8:40]相对应。
以这种方式,墨水管理***112将数字墨水笔划与由手写识别处理提供的基础识别结果链接或映射在一起。无论呈现数字墨水的方式如何,都提供该映射。也就是说,作为原始墨水输入的显示版本的数字墨水可以通过变换或所谓的“美化”以与原始手写不同的大小、风格、字体等呈现。如果手写是在与显示本身不同的区域中(在受限区域中)输入的、或者是在不考虑布局要素(例如,行图案)的相对自由的方式输入的,在这些情况下尤其由此,在这种情况下,数字墨水是相对独立于输入原始墨水而呈现的。然而,这种变换或美化的数字墨水到识别的墨水的映射是可能的,只要知道变换或美化特性即可,例如在以本申请人和受让人的名义提交的题为“System and Method for Beautifying Digital Ink”的美国专利申请No.14/978,081中所描述的,该专利的全部内容通过引用并入本文中。
数字墨水到识别墨水的映射支持用户与数字墨水的交互性,因此在与数字墨水交互时(例如,以前面描述的方式),墨水对象被称为通过该链接与基础识别的墨水的交互,因此,墨水管理***112利用现有的和新的识别结果来管理数字墨水的编辑,比如,改变现有内容、输入新内容。现在对此详细描述。
在由HWR***114实现的针对手写识别的概率方法中,经由分割图来测试多个可能的对象候选项(比如,针对文本输入的字符候选项、针对形状输入的形状候选项、针对音乐输入的音符候选项),并且返回最可能的候选项以提供识别结果。然而,在输出识别结果时,HWR***114不丢弃(全部)其它候选项或者至少不丢弃最前面的候选项,例如5、10个等最可能的候选项。这至少部分是因为:例如,尽管识别结果是基于HWR***114在当时所采用的各种专家和模型的最可能的结果,但这有可能是不正确的,因此可以经由交互式UI菜单等向用户提供其它候选者以供选择,以便校正识别结果,比如在前面引用作为参考的美国专利申请No.14/886,200中所描述的。这些字符候选项中的每一个候选项以与图12A的示例中所示类似的方式映射到数字墨水上。也就是说,候选项与原始墨水的某些分割相对应,因此也与数字墨水的某些分割相对应。图12B示出了手写输入1000,其中具有短语1000的示例识别1200的若干分割1204、1206和1208的表示。
笔划1001至1009的分割1204类似于分割1202,然而在该分割中,笔划1006被分割以将笔划1006和1007之间的看得见的间隔视为空格,使得与分割1202中的“y”相对应的字符候选C14不存在,并且替代地产生与针对候选识别“cleaning the ken board”(或者如前面所讨论的“clearing the ken board”)的“n”相对应的字符候选项C14’。请注意,在识别处理中,“n”C14’也可以被识别为“y”以提供单词候选项“key”,而不是基于HWR***114的语言模型以相似或不同的概率识别的“ken”。
笔划1001至1009的分割1206与分割1102类似,然而,在该分割中,笔划1001被分割,使得分割1202中的分别与“c”、“1”、“e”和“a”相对应的字符候选项C1、C2、C3和C4不存在,并且替代地产生分别与针对候选识别“during the keyboard”的“d”和“u”相对应的字符候选项C1’和C3’。
笔划1001至1009的分割1208是分割1204和1206的组合,以产生候选识别“duringthe ken board”(或如上所述的“during the key board”)。这些不同的分割可以与最可能的识别候选项(例如,返回最高概率分数的候选项)相对应。尽管示出了四种最可能的识别候选项,但是应该理解,本***和方法可以提供更多或更少的识别候选项。此外,候选项1202至1208的顺序仅是说明性的,并不意味着候选项可能性的顺序。现在描述候选项识别到数字墨水的这种映射支持交互性的方式的示例。
图13A示出了数字墨水1000,其中具有由墨水管理***112和/或HWR***114检测到的编辑手势1300,编辑手势1300例如是通过用户在示出的显示位置中从下向上滑动其手指或触写笔尖而以单个笔划形成的从下到上竖直线来输入的。也就是说,按照时间顺序,笔划开始位置在笔划结束位置之下,如从下到上逐渐增粗的笔划所描绘的。所示的编辑笔划的特性是示例,并且其它特性也是可能的(例如,划掉),其它形式的编辑命令(稍后详细描述)也是如此。例如,与数字对象一样,也可以通过其它动作和工具(例如,键盘、UI按钮或菜单)结合光标或将墨水选择为可编辑内容来实现对墨水对象的编辑。编辑笔划1300被检测为在笔划1006和1007之间通过,并且因此墨水管理***112不仅知道编辑笔划1300与数字墨水1000的相对位置,还知道编辑笔划1300与基础识别墨水1200的候选项识别(例如,1202至1208)中每个候选项的相对位置。考虑编辑手势1300的这种相对位置及其从下到上的书写方向特性可以确定用户意在用编辑手势1300删除检测到的位置处的空格,特别是关于识别候选项1202和1208(下面详细描述)。通过该确定,墨水管理***112使数字墨水1000被重新呈现为编辑的数字墨水1000’(如图13B所示),其中笔划1006和1007连接在一起。如下所述,这种数字墨水的编辑伴随着由墨水对象表示的数字内容的任何合适的进一步识别。
在确定或解释编辑笔划1300时,墨水管理***112参考了被引用到编辑笔划位置附近的笔划的识别候选项。该附近范围可以是预先设置的和/或用户可设置的(例如,经由UI菜单),并且通常应该考虑可能影响用户体验的处理负担和时间。例如,笔划1006和1007之间的编辑笔划1300的位置实质上与识别候选项1204和1208中标识的、在备选字符候选项C14’和字符候选项C15之间的空格候选项一致。因此,墨水管理***112确定或使HWR***114确定(例如,通过提供合适的概率加权)编辑手势1300是删除空格手势。该确定可以至少部分地例如通过以本申请人和受让人的名义提交的题为“System and Method for NoteTaking with Gestures”的美国专利申请No.14/989,217(其全部内容通过引用并入本文中)中描述的手势检测和识别来执行。
可以对内容本身(例如,文本字符、单词、句子、段落等)以及非文本要素采取类似的删除动作。此外,由于精细的引用索引(特别是使用笔划子点的精确索引),部分删除字符等是可能的,因为仅数字墨水的那些部分被省略,并且相应地调整识别以修订墨水对象。例如,选择图9中的段落500的笔划901、902和903中的字符的下部内容的手势可以是针对这些要素组分的删除手势,使得仅省略与这些部分的引用索引相对应的数字墨水部分。备选地或附加地,由于部分字符引用索引属于完整字符引用索引,字符引用索引属于单词引用索引,单词引用索引属于句子引用索引等等,因此实际上意图是完整删除的部分删除(例如,用户仅做出了部分选择的划掉或删除手势,或者漏掉了单词末尾的一个或多个字符或句子末尾处的一个或多个单词)可以由墨水管理***112适当地处理以输出完整删除,由此删除了更大引用索引的数字墨水。
墨水管理***112可以被配置为例如通过将任何被删除的引用索引墨水的数字墨水存储在设备100的存储器108中来将该数字墨水永久地保持,或者保持长达一定量时间或后续多个操作,使得可以通过UI选择等来撤销删除。备选地或附加地,可以仅将删除的引用索引与基础识别结果(例如,部分或整个墨水对象)一起作为元数据而保持在墨水对象和/或存储器108中,使得在进行撤消动作时,可以基于识别结果和诸如字体(比如,通过对用户手写进行采样产生个人用户字体)的适当手写来产生恢复的数字墨水。因此,本***和方法的墨水对象与具有类似编辑功能的数字对象以类似方式进行管理,并且由于通过基础手写识别增强了与墨水对象的交互,所以也提供了增强的功能,并且允许不能与数字对象执行的、与部分内容要素的交互。
回到图13的示例,删除空格确定使得识别候选项改变。例如,可以通过墨水管理***112提供合适的概率加权,来从墨水对象中省略识别候选项1202和1206,或者从最可能的识别候选项列表中降低识别候选项1202和1206,并且识别候选项1204和1208被修改,并且可以通过墨水管理***112提供合适的概率加权,在最可能的识别候选项列表中被提高或提升。图13C示出了示例修订后或编辑后的识别1200’,其具有编辑后的短语1000’的修订分割1204’和1208’的表示。在修订分割1204’和1208’中,识别处理可以进一步使得字符候选项C14’被识别为“y”,省略或降低“n”候选项,因为连接的笔划1006和1007现在可能形成由HWR***114基于语言模型确定的可能性更大的单词“keyboard”。在确定编辑手势1300时,墨水管理***112也可以使用这种增加的可能性,整个原始和编辑后的短语1000和1000’也可以如此。
如前所述,编辑笔划或动作的附近笔划的范围考虑了必要的任何其它识别处理的效率。允许的范围相对较大,然而,由于输入/数字墨水的已经识别出的或目前识别的要素无需被重新识别,因此墨水对象提高了效率。也就是说,如上所述,仅新输入被识别,而先前识别结果根据对其的引用而被保持、修订或省略。然而,应当理解,在一些情况下,先前的识别结果可能无助于识别新输入,或者可能需要与新输入一起被重新识别,由此可以发生重新识别,但仅限于重新识别对于识别新输入来说是必须的。
图13的示例的新“输入”表示对内容做出的编辑或控制动作,而不是表示内容本身。本***和方法也适用于新的内容输入,例如如下所述。图14A示出了数字墨水1000,其中具有由墨水管理***112和/或HWR***114检测到的编辑手势1400,编辑手势1400例如是通过用户在示出的显示位置中从上向下滑动其手指或触写笔尖以单个笔划形成的为从上到下竖直线来输入的。也就是说,按照时间顺序,笔划开始位置在笔划结束位置的上方,如从上到下逐渐增粗的笔划所描绘的。所示的编辑笔划的特性是示例,并且其它特性也是可能的(例如,楔形物(wedge)),其它形式的编辑命令(稍后详细描述)也是如此。编辑笔划1400被检测为在笔划1001(以及1002)和1003(以及1004)之间通过,并且因此墨水管理***112不仅知道编辑笔划1400与数字墨水1000的相对位置,还知道编辑笔划1300与基础识别墨水1200的候选项识别(例如,1202至1208)中每个候选项的相对位置。
考虑编辑手势1400的该相对位置及其从上到下书写方向可以确定用户意在编辑手势1400在检测到的位置处断开或分开数字墨水1000。通过该确定,墨水管理***112使数字墨水1000被重新呈现为编辑的数字墨水1000’(如图14B所示),其中笔划1001(以及1002)和1003(以及1004)之间设置有空格。该空格的大小可以是预先设置的和/或(例如,经由UI菜单)用户可设置的,并且通常被调整大小以允许在该空格中提供后续输入。然而,也可以仅提供(基于文本模板等的)正常大小的单个空格。这种数字墨水的编辑伴随着由墨水对象表示的数字内容的任何合适的进一步识别。与图13的示例相同,在确定或解释编辑笔划1400时,墨水管理***112参考了被引用到编辑笔划位置附近的笔划的识别候选项。例如,笔划1001(以及1002)与1003(以及1004)之间的编辑笔划1400的位置实质上与在所有(最可能的)识别候选项1202至1208中标识的空格一致。因此,墨水管理***112确定或使HWR***114确定(例如,通过提供合适的概率加权)编辑手势1400是增加空格手势。例如,该确定可以至少部分地通过前面通过引用并入的美国专利申请No.14/989,217中所述的手势检测和识别来执行。
还可以通过覆写现有内容来进行内容***。这样的动作可以由墨水管理***112解释为例如删除被覆写的内容和***新输入,或者向现有内容添加新输入(例如,通过添加横“-”来将“1”变为“t”)。如上所述,这包括部分覆写/删除字符等、以及通过保留数字墨水和/或引用索引来提供撤消动作。
墨水管理***112可以被配置为将输入的编辑笔划显示为具有例如图13A和图14A所示的形状或一些其它适当的呈现的数字墨水,直到执行识别的编辑操作为止,或者可以仅执行编辑操作而没有这种显示。检测到的编辑手势的显示可以用于向用户提供关于手势本身及其相对位置的识别的识别反馈。否则,最终的编辑操作(例如,图13B和图14B中所示的修改后的显示)可以用于这种反馈。
图14C示出了编辑后的数字墨水1000″,其中,墨水管理***112和/或HWR***114检测到的新输入1402在笔划1001(以及1002)和1003(以及1004)之间的空格内,从而形成编辑后的短语1000″“cleaning of the keyboard”。原始(和数字)墨水1402包括表示形成单词“of”的文本字符的笔划。如前所述,墨水管理***112对笔划进行分割以产生引用分割,该引用分割用于确定输入的引用索引,从而确定数字墨水。例如,新笔划1402的笔划索引可以是笔划[9](即,从为笔划[8]的笔划1009起按顺序继续),并且可以被分割为具有60个点,例如,使得例如引用索引r22对应于[9:0,9:30],并且引用索引r23对应于[9:30,9:60]。如上所述,还可以通过参考子点来提供额外的精度。这样,不干扰先前索引的内容的引用索引,并且结合现有内容来引用新输入。
与非内容输入(如编辑手势1400)一样,如前所述地,参考被引用到新笔划附近位置的笔划的识别候选项,考虑新输入1402的相对位置,可以确定用户意在将新输入作为针对数字墨水1000’的在检测到的位置处的新内容,特别是关于识别候选项1202和1204(下面详细描述)。例如,通过该确定,墨水管理***112可以进一步重新呈现编辑后的数字墨水1000’,以提供用于内容***的附加空格,并且在已经输入了新内容时减小该空格。备选地,可以要求用户***更多空格以实现此目的。这种数字墨水的编辑伴随着由墨水对象表示的数字内容的任何合适的进一步识别(例如,墨水管理***112确定或使HWR***114确定(例如,通过提供合适的概率加权)笔划1402是新内容),使得由于已经确定或预处理了输入的类型,所以新内容的识别处理可以更快地执行。因此,在识别处理中,新笔划1402被分割,以便确定导致识别新输入1402的单词“of”的可能的字符候选项,其中该识别是参考现有的识别候选项执行的,但是并不干扰这些候选项,除非确定这种干扰是必须的(例如,向单词添加字符)。
在本示例中,该识别使得识别候选项改变。例如,图14D示出了示例修订后或编辑后的识别1200″,其具有编辑后的短语1000″的修订的分割1202’和1204’的表示。在每个修订的分割1202’和1204″中,笔划1402被分割以产生一系列识别字符Cn的附加识别字符。也就是说,笔划1001至1009的分割不变。附加识别字符Cn包括“o”C20和“f”C21。如在之前的示例中,每个修订的识别分割1202’和1204″通常对应于引用分割,使得墨水管理***112将扩展的引用索引rm映射到扩展的候选字符Cn。也就是说,新字符C20对应于引用索引r21,新字符C21对应于引用索引r22,并且保持其它笔划1002至1009的现有候选字符和引用索引的映射。因此,例如,数字墨水1000的基础识别1202’和1204″可以经由引用索引而确定为单词[0:0,1:10]与“cleaning”相对应,单词[9:0,9:60]与“of”相对应,单词[2:0,3:10]与“the”相对应,以及单词[4:0,8:40]与“keyboard”相对应,其中第四墨水对象与引用索引[9:0,9:60]相对应。
该示例中,通过墨水管理***112提供合适的概率加权,来从墨水对象中省略识别候选项1206和1208,或者从最可能的识别候选项列表中降低识别候选项1202和1206,并且识别候选项1202和1204被修改,并且可以通过墨水管理***112提供合适的概率加权,在最可能的识别候选项列表中被提高或提升。这是因为,在识别候选项1206和1208两者中,笔划1001和1002与候选识别项“during”相对应,并且HWR***114基于语言模型确定短语“during of the keyboard”或“during of the ken board”的可能性例如相对于原始输入1000的识别减少。另一方面,修订的识别候选项1202’和1204″分别为“cleaning of thekeyboard”和“cleaning of the ken board”的相对可能性很可能与原始识别候选项1202和1204的可能性相同。
因此,墨水管理***112通过调整与每个数字墨水字符、单词等相对应的墨水对象来管理用于编辑数字墨水的交互,所述交互是通过重新呈现数字墨水并且修定或调整与其相对应的基础识别候选项来进行交互的。因此,使用所做出的任何编辑来更新墨水对象,使得在将数字墨水内容转换成排版或增强内容时(例如,在定稿文档时),排版是基于更新后的墨水对象来执行的,使得在转换中使用最新的可应用的识别结果。
此外,与上述删除和***动作的数字墨水和/或引用索引一样,墨水管理***112可以在执行排版之后保持墨水对象,使得可以类似地采取撤消动作以恢复回数字墨水。例如,通过将墨水对象存储在设备100的存储器108中,可以在转换到数字对象时永久地保持墨水对象或者将墨水对象保持一定时间量或多个后续操作。备选地,可以通过仅将数字墨水重新呈现为排版墨水来执行通过排版来保留墨水对象,使得数字内容保持由墨水对象表征,而不是转换为数字对象。以这种方式,墨水管理***112以与数字墨水的交互类似的方式来处理与排版墨水的交互。也就是说,参考相关的基础识别结果,由此提供类似的功能。这在提供输入混合内容(例如,在排版内容上手写修订或注释)的能力方面特别有用,其中参考现有墨水对象来解释手写输入,以提供手写到排版内容的无缝集成。反之,对于向手写数字墨水添加打字内容来说亦是如此。在这种情况下,墨水管理***112可以将解码的按键处理为识别候选项,使得打字内容被表达为墨水对象。类似的可能性适用于通过手写或数字输入工具输入而输入的混合的非文本内容。
如前所述,除了手写编辑手势之外的编辑命令也可用于编辑墨水对象。这些编辑命令包括传统的编辑命令,例如经由UI菜单、键盘(例如,退格)和鼠标(例如,选择)提供的命令。也就是说,如前所述,引用索引允许相对于数字墨水相当精确地放置输入光标,并且还提供内容要素(例如,文本字符)的范围的精确连接。因此,无论呈现的墨水是数字墨水还是排版墨水,光标都可以位于要素边界处(例如,字符边界处),因此传统的编辑命令可以类似于数字对象那样来使用。例如,图15A示出了图5的数字墨水段落500,其中该段落的一部分1500被选择,图15B示出了图6的对应排版墨水段落600,其中该段落的一部分1502被选择。在这两个图中,选择了相同的内容,并且显示为如文档处理应用中通常提供的突出显示的选择区域。选择区域1500和1502呈现在相应数字和排版墨水字符的字符边界处,即光标位置。因此,在两种情况下,与所选择的内容的引用索引相对应的墨水对象被选择以用于任何后续交互。
在计算设备上使用手写来创建数字内容是有利的,因为这些设备不具有纸张的物理限制(例如,大小、页数)。然而,由于传统上管理数字墨水的方式,用手写创建数字内容目前不像打字那么容易或有效。通常,数字内容由打字文本对象或数字绘制的非文本对象(例如,形状和方程式)组成。当前的数字墨水管理将手写对象捕获为像素或笔划,这不符合数字内容模型。这导致创作者必须通过键盘打字或使用复杂工具创建和编辑非文本内容来重新输入内容。
手写识别技术可以避免这种重新输入范例。然而,由于手写通常是非结构化的,其中文本具有各种大小和取向并且与非文本组合,因此如通常所做的那样一次性地对整个内容执行识别不能提供该技术的最佳使用。这导致创作者必须进行多次后识别编辑以创建可发布的数字内容,这极大地限制了手写识别可以提供的生产率获益。
本***和方法通过墨水管理***显著地提高了数字墨水的生产率。墨水管理***提供交互式墨水,通过数字墨水与针对文本和非文本的“即时”识别的组合可以像打字的数字内容那样轻松管理交互式墨水。数字墨水和识别结果的这种组合将数字墨水转换为墨水对象,这些墨水对象像打字对象那样是交互式的,可以使用类似于键盘中的按键(比如,退格和输入)以及鼠标(例如,选择并拖动“n”向下)的直观手势来操纵。与数字墨水的交互提供了直观的用户体验,即使对于非技术的有经验的用户也是如此。
尽管前文已经描述了被视为是最佳实施方式的内容和/或其它示例,但是应当理解:可以在本发明中进行各种修改,并且可以以各种形式和示例来实现本文中所公开的主题,并且最佳实施方式的内容和/或其它示例可以应用于多个其它应用、组合和环境中,这里仅描述了其中的一些。本领域普通技术人员将认识到,在不脱离本主题的真实精神和范围的情况下,可以改变或修改所公开的方案。因此,主题不限于本说明书中的具体细节、展示和示例。本文旨在保护落入本文所公开的优势概念的真实范围内的任何和所有修改和变化。

Claims (18)

1.一种用于在计算设备上提供交互式墨水的***,每个计算设备包括处理器、存储器和至少一个非暂时性计算机可读介质,所述至少一个非暂时性计算机可读介质用于在所述处理器的控制下识别手写输入,并且所述至少一个非暂时性计算机可读介质被配置为:
使得在计算设备的显示界面上显示根据第一手写输入的第一数字墨水;
向所述第一数字墨水的墨水要素分配引用;
将所述引用映射到所述第一手写输入的对应的识别要素;以及
确定包括所述引用和映射的识别要素在内的墨水对象,并且将所述墨水对象存储在计算设备的存储器中。
2.根据权利要求1所述的***,其中,所述墨水要素是所述第一数字墨水的笔划的至少一部分。
3.根据权利要求1或2所述的***,其中,所述识别要素包括所述第一手写输入的笔划的至少一部分。
4.根据权利要求3所述的***,其中,所述识别要素是所述第一手写输入的识别候选项。
5.根据权利要求1至4中任一项所述的***,所述至少一个非暂时性计算机可读介质被配置为:
通过参考所述墨水对象来确定第二手写输入的内容;以及
使得在所述显示界面上显示根据所确定的第二手写输入的内容的第二数字墨水。
6.根据权利要求5所述的***,其中,所述第二数字墨水是所述第一数字墨水的至少一部分的编辑后版本。
7.一种用于在计算设备上提供交互式墨水的方法,每个计算设备包括处理器和至少一个非暂时性计算机可读介质,所述至少一个非暂时性计算机可读介质用于在所述处理器的控制下识别手写输入,所述方法包括:
在计算设备的显示界面上显示根据第一手写输入的第一数字墨水;
向所述第一数字墨水的墨水要素分配引用;
将所述引用映射到所述第一手写输入的对应的识别要素;以及
确定包括所述引用和映射的识别要素在内的墨水对象,并且将所述墨水对象存储在计算设备的存储器中。
8.根据权利要求7所述的方法,其中,所述墨水要素是所述第一数字墨水的笔划的至少一部分。
9.根据权利要求7或8所述的方法,其中,所述识别要素包括所述第一手写输入的笔划的至少一部分。
10.根据权利要求9所述的方法,其中,所述识别要素是所述第一手写输入的识别候选项。
11.根据权利要求7至10中任一项所述的方法,包括:
通过参考所述墨水对象来确定第二手写输入的内容;以及
在所述显示界面上显示根据所确定的第二手写输入的内容的第二数字墨水。
12.根据权利要求11所述的方法,其中,所述第二数字墨水是所述第一数字墨水的至少一部分的编辑后版本。
13.一种非暂时性计算机可读介质,其中体现有计算机可读程序代码,所述计算机可读程序代码适合于被执行以实现用于向计算设备提供交互式墨水的方法,所述计算设备包括处理器和用于在所述处理器的控制下识别手写输入的至少一个***非暂时性计算机可读介质,所述方法包括:
在计算设备的显示界面上显示根据第一手写输入的第一数字墨水;
向所述第一数字墨水的墨水要素分配引用;
将所述引用映射到所述第一手写输入的对应的识别要素;以及
确定包括所述引用和映射的识别要素在内的墨水对象,并且将所述墨水对象存储在计算设备的存储器中。
14.根据权利要求13所述的非暂时性计算机可读介质,其中,所述墨水要素是所述第一数字墨水的笔划的至少一部分。
15.根据权利要求13或14所述的非暂时性计算机可读介质,其中,所述识别要素包括所述第一手写输入的笔划的至少一部分。
16.根据权利要求15所述的非暂时性计算机可读介质,其中,所述识别要素是所述第一手写输入的识别候选项。
17.根据权利要求13至16中任一项所述的非暂时性计算机可读介质,包括:
通过参考所述墨水对象来确定第二手写输入的内容;以及
在所述显示界面上显示根据所确定的第二手写输入的内容的第二数字墨水。
18.根据权利要求17所述的非暂时性计算机可读介质,其中,所述第二数字墨水是所述第一数字墨水的至少一部分的编辑后版本。
CN201780010260.9A 2016-01-07 2017-01-09 用于数字墨水交互性的***和方法 Active CN108700994B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
EP16290002.1 2016-01-07
EP16290002 2016-01-07
US15/083,195 2016-03-28
US15/083,195 US10082951B2 (en) 2016-01-07 2016-03-28 System and method for digital ink interactivity
PCT/EP2017/000020 WO2017118609A1 (en) 2016-01-07 2017-01-09 System and method for digital ink interactivity

Publications (2)

Publication Number Publication Date
CN108700994A true CN108700994A (zh) 2018-10-23
CN108700994B CN108700994B (zh) 2021-11-09

Family

ID=55262760

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201780010260.9A Active CN108700994B (zh) 2016-01-07 2017-01-09 用于数字墨水交互性的***和方法

Country Status (5)

Country Link
US (1) US10082951B2 (zh)
EP (1) EP3400521B1 (zh)
JP (1) JP7105695B2 (zh)
KR (1) KR102473543B1 (zh)
CN (1) CN108700994B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112740201A (zh) * 2018-11-02 2021-04-30 株式会社和冠 墨水数据生成装置、方法及程序
CN113711232A (zh) * 2019-03-20 2021-11-26 微软技术许可有限责任公司 用于着墨应用的对象检测和分割

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9715282B2 (en) * 2013-03-29 2017-07-25 Microsoft Technology Licensing, Llc Closing, starting, and restarting applications
US10846345B2 (en) * 2018-02-09 2020-11-24 Microsoft Technology Licensing, Llc Systems, methods, and software for implementing a notes service
US10852938B2 (en) * 2016-01-07 2020-12-01 Myscript System and method for mixed content digital ink interactivity
JP2017215807A (ja) * 2016-05-31 2017-12-07 富士ゼロックス株式会社 プログラムおよび情報処理装置
US11409952B2 (en) 2016-08-16 2022-08-09 Myscript System and method for collaborative ink management
JP7023903B2 (ja) * 2018-08-23 2022-02-22 タタ・コンサルタンシー・サーヴィシズ・リミテッド 手書き入力データのリアルタイムデジタル化のためのシステムおよび方法
US11144192B2 (en) 2018-12-19 2021-10-12 Microsoft Technology Licensing, Llc Customizable user interface for use with digital ink
US10776000B2 (en) * 2018-12-19 2020-09-15 Microsoft Technology Licensing, Llc. System and method of receiving and converting digital ink input
US10783323B1 (en) * 2019-03-14 2020-09-22 Michael Garnet Hawkes Analysis system
EP3772015B1 (en) * 2019-07-31 2023-11-08 MyScript Text line extraction
EP3828685B1 (en) 2019-11-29 2022-09-28 MyScript Gesture stroke recognition in touch-based user interface input

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050135678A1 (en) * 2003-12-03 2005-06-23 Microsoft Corporation Scaled text replacement of ink
CN101178633A (zh) * 2007-12-13 2008-05-14 深圳华为通信技术有限公司 一种手写屏错误纠正的方法、***及装置
CN101196792A (zh) * 2007-12-28 2008-06-11 宇龙计算机通信科技(深圳)有限公司 一种文档自动校正方法和装置
CN101311887A (zh) * 2007-05-21 2008-11-26 刘恩新 一种计算机手写输入***及输入方法和编辑方法
CN103365446A (zh) * 2012-03-28 2013-10-23 联想(北京)有限公司 一种手写输入方法及装置

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3217084B2 (ja) * 1991-05-14 2001-10-09 シャープ株式会社 手書文字認識装置
US5500937A (en) 1993-09-08 1996-03-19 Apple Computer, Inc. Method and apparatus for editing an inked object while simultaneously displaying its recognized object
JP2944439B2 (ja) * 1994-12-27 1999-09-06 シャープ株式会社 手書き文字入力装置および方法
JP4212270B2 (ja) * 2001-12-07 2009-01-21 シャープ株式会社 文字入力装置、文字入力方法および文字を入力するためのプログラム
JP5807881B2 (ja) * 2013-05-10 2015-11-10 国立大学法人東京農工大学 プログラム、情報記憶媒体及び文字列認識装置
US9881224B2 (en) * 2013-12-17 2018-01-30 Microsoft Technology Licensing, Llc User interface for overlapping handwritten text input
US9430702B2 (en) * 2014-07-10 2016-08-30 Korea Electronics Technology Institute Character input apparatus and method based on handwriting
US9824266B2 (en) * 2014-11-28 2017-11-21 Samsung Electronics Co., Ltd. Handwriting input apparatus and control method thereof

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050135678A1 (en) * 2003-12-03 2005-06-23 Microsoft Corporation Scaled text replacement of ink
CN101311887A (zh) * 2007-05-21 2008-11-26 刘恩新 一种计算机手写输入***及输入方法和编辑方法
CN101178633A (zh) * 2007-12-13 2008-05-14 深圳华为通信技术有限公司 一种手写屏错误纠正的方法、***及装置
CN101196792A (zh) * 2007-12-28 2008-06-11 宇龙计算机通信科技(深圳)有限公司 一种文档自动校正方法和装置
CN103365446A (zh) * 2012-03-28 2013-10-23 联想(北京)有限公司 一种手写输入方法及装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112740201A (zh) * 2018-11-02 2021-04-30 株式会社和冠 墨水数据生成装置、方法及程序
CN113711232A (zh) * 2019-03-20 2021-11-26 微软技术许可有限责任公司 用于着墨应用的对象检测和分割

Also Published As

Publication number Publication date
EP3400521A1 (en) 2018-11-14
JP7105695B2 (ja) 2022-07-25
JP2019511025A (ja) 2019-04-18
CN108700994B (zh) 2021-11-09
US10082951B2 (en) 2018-09-25
KR20180100207A (ko) 2018-09-07
KR102473543B1 (ko) 2022-12-01
US20170199660A1 (en) 2017-07-13
EP3400521B1 (en) 2022-09-21

Similar Documents

Publication Publication Date Title
CN108700994A (zh) 用于数字墨水交互性的***和方法
US11922712B2 (en) Technologies for content analysis
KR102413461B1 (ko) 제스쳐들에 의한 노트 필기를 위한 장치 및 방법
KR102381801B1 (ko) 핸드라이팅 입력을 가이드하는 시스템 및 방법
US20220350955A1 (en) System and method for collaborative ink management
US10852938B2 (en) System and method for mixed content digital ink interactivity
CN108475325B (zh) 用于识别手写图连接符的***、方法及计算机可读介质
CN108700996A (zh) 用于多输入管理的***和方法
CN114365075B (zh) 用于选择图形对象的方法和对应装置
CN108369637A (zh) 用于美化数字墨水的***和方法
CN109690462A (zh) 管理手写图连接符的***和方法
EP4047465A1 (en) Modifying digital content
CA3075627A1 (en) Integrated document editor
US20240231582A9 (en) Modifying digital content including typed and handwritten text
WO2017118609A1 (en) System and method for digital ink interactivity

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant