利用手势进行笔记记录的装置和方法与流程

文档序号:15884240发布日期:2018-11-09 18:32阅读:397来源:国知局
利用手势进行笔记记录的装置和方法与流程

本申请要求于2015年12月1日提交的欧洲申请no.15290296.1和于2016年1月6日提交的美国申请no.14/989,217的优先权,其全部内容通过引用并入本文并构成其一部分。

本描述总体涉及使用计算设备接口的数字笔记记录系统和方法的领域。本描述更具体地涉及能够识别与显示的字符、符号和对象相关的各种手势的用户输入手写的数字笔记记录系统和方法。

背景技术

计算设备在日常生活中不断变得越来越普遍。它们采取如下形式:台式计算机、膝上型计算机、平板计算机、混合式计算机(2合1)、电子书阅读器、移动电话、智能电话、可穿戴计算机(包括智能手表、智能眼镜/耳机)、全球定位系统(gps)单元、企业数字助手(eda)、个人数字助手(pda)、游戏机等。此外,计算设备被包括到车辆和设备(比如,汽车、卡车、农场设备、制造设备、建筑环境控制(例如,照明、hvac)以及家用和商用电器)中。

计算设备通常由至少一个处理元件(比如,中央处理单元(cpu))、某种形式的存储器以及输出和输出设备组成。各种计算设备及它们的后续使用需要各种接口和输入设备。一个这样的输入设备是触敏表面(比如,触摸屏或触摸板),其中通过用户手指或工具(比如,笔或触写笔)和触敏表面之间的接触来接收用户输入。另一输入设备是感测用户在输入表面上做出的手势的输入表面。另一个输入设备是位置检测系统,其检测触摸或非触摸交互与非触摸物理或虚拟表面的相对位置。这些输入方法中的任一种通常可以用于绘制或输入文本。当用户输入是文本时,用户的手写是使用手写识别系统或方法来解释的。

便携式计算设备(比如,智能电话、平板电话和平板电脑)中的手写识别的一个应用是笔记记录。在计算设备的用户例如在讲座或会议期间捕获笔记的教育和商业环境中,尤其如此。这通常通过用户启动计算设备上的手写笔记记录应用来完成,该手写笔记记录应用在设备中本地地或经由设备的通信链路远程地接受和解译在触敏表面上输入的手写笔记。通常,这种手写笔记记录应用的能力有限,无法根据记录的笔记向用户提供全面的文档创建体验,这是因为这些应用的重点主要在于识别精确度而不是文档创建。也就是说,可用的应用提供对手写的识别以及将识别出的手写转换为排版文本,并向用户提供各种反馈机制,但这通常属于输入交互的范围。

如果用户期望与输出文本的任何进一步交互(例如,编辑内容、操纵笔记的布局、或将笔记转换或添加到文档中),则通常需要将文本导入到单独的文档处理应用中。这本身并不是什么大问题,然而,由于手写笔记和实际输入手写本身(所谓的数字墨水)的原始布局通常在导入处理中被丢弃,因此用户必须回头参考原始笔记,以便弄清所记录的笔记的意图。例如,用户可能已经通过注释或装饰或者通过笔记内容本身的布局而强调了笔记中的某些词语或段落。

一些可用的手写数字笔记记录应用提供用于对数字墨水进行编辑的能力。然而,这通常通过输入特定手势以引起某种控制(例如,启动菜单或运行处理)来完成。然而,申请人已经发现,当使用手写笔记记录应用时,用户通常不能或不愿学习不自然或不直观的特定手势,也不能或不愿通过菜单等做出编辑选择。

此外,手势还用于引起内容的某种改变,例如编辑、风格改变、格式化。因此,应用必须确定用户使用手势的意图,以便可以区分用于控制的手势和用于内容输入的手势,并采取适当的动作。挑战之处在于,一些交互有多个意图,甚至可能构成内容本身。



技术实现要素:

在下文中描述的本公开的示例提供了用于在计算设备上编辑数字文档的系统和方法。

在本公开的一些方面中,提供了一种用于在计算设备上编辑数字文档的系统,每个计算设备可以包括处理器和至少一个非暂时性计算机可读介质,所述至少一个非暂时性计算机可读介质用于在处理器的控制下识别手写输入,所述至少一个非暂时性计算机可读介质可以被配置为:使得根据文档内容在计算设备的显示界面上显示第一数字墨水;将手写输入检测为关于文档内容的一个或多个编辑手势;以及,使得根据手写输入在显示界面上显示第二数字墨水。

第二数字墨水可以不同于第一数字墨水。

第二数字墨水可以是第一数字墨水的归一化版本。

所述至少一个非暂时性计算机可读介质可以被配置为:基于检测到的编辑手势,在显示界面上将文档内容重新显示为第三数字墨水。

第三数字墨水可以与第一数字墨水和第二数字墨水不同。

第三数字墨水可以是第一数字墨水的排版版本。

在本公开的一些方面中,提供了一种用于计算设备上编辑数字文档的方法,每个计算设备包括处理器和至少一个非暂时性计算机可读介质,所述至少一个非暂时性计算机可读介质用于在处理器的控制下识别手写输入,所述方法包括:根据文档内容在计算设备的显示界面上显示第一数字墨水;将手写输入检测为关于文档内容的一个或多个编辑手势;以及,根据手写输入在显示界面上显示第二数字墨水。

第二数字墨水可以不同于第一数字墨水。

第二数字墨水可以是第一数字墨水的归一化版本。

所述方法还可以包括:基于检测到的编辑手势,在显示界面上将文档内容重新显示为第三数字墨水。

第三数字墨水可以与第一数字墨水和第二数字墨水不同。

第三数字墨水可以是第一数字墨水的排版版本。

在一些方面中,本公开提供了一种非暂时性计算机可读介质,其中体现有计算机可读程序代码,所述计算机可读程序代码适合于被执行以实现用于识别对计算设备的编辑手写输入的方法,所述计算设备包括处理器和用于在处理器的控制下识别所述输入的至少一个系统非暂时性计算机可读介质,所述方法可以包括:根据文档内容在计算设备的显示界面上显示第一数字墨水;将手写输入检测为关于文档内容的一个或多个编辑手势;以及,根据手写输入在显示界面上显示第二数字墨水。

第二数字墨水可以不同于第一数字墨水。

第二数字墨水可以是第一数字墨水的归一化版本。

所述方法可以包括:基于检测到的编辑手势,在显示界面上将文档内容重新显示为第三数字墨水。

第三数字墨水可以与第一数字墨水和第二数字墨水不同。

第三数字墨水可以是第一数字墨水的排版版本。

在一个示例中,计算设备可以包括:处理器;以及至少一个非暂时性计算机可读介质,用于在处理器的控制下识别手写输入。非暂时性计算机可读介质可以被配置为:使得根据文档内容在计算设备的显示界面上显示第一数字墨水;将手写输入检测为关于文档内容的一个或多个编辑手势;以及,根据手写输入在显示界面上显示第二数字墨水。第二数字墨水可以不同于第一数字墨水,和/或可以是第一数字墨水的归一化版本。非暂时性计算机可读介质可以被配置为:基于检测到的编辑手势,在显示界面上将文档内容重新显示为第三数字墨水。第三数字墨水可以不同于第一数字墨水和第二数字墨水,并且还可以是第一数字墨水的排版版本。

在另一示例中,本发明包括一种用于在计算设备上编辑文档的方法。每个计算设备可以包括:处理器;以及至少一个非暂时性计算机可读介质,用于在处理器的控制下识别手写输入。所述方法可以包括以下步骤:根据文档内容在计算设备的显示界面上显示第一数字墨水;将手写输入检测为关于文档内容的一个或多个编辑手势;以及根据手写输入在显示界面上显示第二数字墨水。第二数字墨水可以不同于第一数字墨水,和/或可以是第一数字墨水的归一化版本。所述方法可以包括以下步骤:基于检测到的编辑手势,在显示界面上将文档内容重新显示为第三数字墨水。第三数字墨水可以不同于第一数字墨水和第二数字墨水,并且还可以是第一数字墨水的排版版本。

在另一示例中,本公开包括一种其中体现有计算机可读程序代码的非暂时性计算机可读介质。计算机可读程序代码可以适用于被执行以实现用于识别对计算设备的编辑手写输入的方法。计算设备可以包括:处理器;以及至少一个系统非暂时性计算机可读介质,用于在处理器的控制下识别所述输入。所述方法可以包括以下步骤:根据文档内容在计算设备的显示界面上显示第一数字墨水;将手写输入检测为关于文档内容的一个或多个编辑手势;以及,根据手写输入在显示界面上显示第二数字墨水。第二数字墨水可以不同于第一数字墨水,和/或可以是第一数字墨水的归一化版本。所述方法可以包括以下步骤:基于检测到的编辑手势,在显示界面上将文档内容重新显示为第三数字墨水。第三数字墨水可以不同于第一数字墨水和第二数字墨水,并且还可以是第一数字墨水的排版版本。

附图说明

根据以下结合附图对本系统和方法的实施例的详细描述,将更全面地理解本系统和方法。在附图中,相似的附图标记表示相同的要素。附图中:

图1示出了根据本系统和方法的示例的计算设备的框图;

图2示出了根据本系统和方法的示例的手写识别系统的框图;

图3示出了图示根据本系统和方法的示例的图2的手写识别系统的细节的框图;

图4示出了计算设备的输入表面的一部分上的滚动页面的示例视觉呈现的示意图;

图5a和图5b示出了根据本系统和方法的与断词相关的编辑手势的示例;

图6a和图6b示出了根据本系统和方法的与断行相关的编辑手势的示例;

图7a和图7b示出了根据本系统和方法的与断行相关的编辑手势的另一示例;

图8a至图8c示出了根据本系统和方法的计算设备的输入表面的一部分上的滚动页面的示例视觉呈现的示意图,其中包括与断行相关的编辑手势的示例;

图9a和图9b示出了根据本系统和方法的与断开段落相关的编辑手势的示例;

图10a至图10d示出了根据本系统和方法的与断开段落相关的编辑手势的另一示例;

图11a和图11b示出了根据本系统和方法的计算设备的输入表面的一部分上的滚动页面的示例视觉呈现的示意图,其中包括与断开段落相关的编辑手势的示例;

图12a至图12c示出了根据本系统和方法的与接合两个单词相关的编辑手势的示例;

图13a至图13e示出了根据本系统和方法的与接合两个行相关的编辑手势的示例;

图14示出了根据本系统和方法的与接合两个行相关的编辑手势的示例;

图15a至图15c示出了根据本系统和方法的与接合两个段落相关的编辑手势的示例;

图16a和图16b示出了根据本系统和方法的与使两个段落之间无间隔相关的编辑手势的示例;

图17a至图17d示出了根据本系统和方法的计算设备的输入表面的一部分上的滚动页面的示例视觉呈现的示意图,其中包括与使段落之间无间隔相关的编辑手势的示例;

图18a至图18d示出了根据本系统和方法的与擦除一个字符相关的编辑手势的示例;

图19a至图19c示出了根据本系统和方法的与擦除若干个字符相关的编辑手势的示例;

图20a至图20c示出了根据本系统和方法的与擦除一个单词相关的编辑手势的示例;

图21a至图21c示出了根据本系统和方法的与擦除两个单词相关的编辑手势的示例;

图22a至图22c示出了根据本系统和方法的与擦除若干个单词相关的编辑手势的示例;

图23a至图23b示出了根据本系统和方法的计算设备的输入表面的一部分上的滚动页面的示例视觉呈现的示意图,其中包括与擦除单词相关的编辑手势的示例;

图24a至图24c示出了根据本系统和方法的与擦除一个文本行相关的编辑手势的示例;

图25a至图25c示出了根据本系统和方法的与擦除若干个文本行相关的编辑手势的示例;

图26a和图26b示出了根据本系统和方法的与擦除一个段落相关的编辑手势的示例;

图27a和图27b示出了根据本系统和方法的与擦除若干个段落相关的编辑手势的示例;

图28示出了作为手写内容被输入到输入区域的多行段落;

图29示出了根据本系统和方法的具有被输入且呈现为数字墨水的附加手写内容的图28的段落;

图30示出了根据本系统和方法的对具有图29中的附加输入的图28的段落进行排版的结果;

图31a和图31b示出了根据本系统和方法的具有被输入且呈现为数字墨水的附加手写内容的图28的段落的另一示例;

图32示出了根据本系统和方法的具有被输入且呈现为数字墨水的附加手写内容的图28的段落的另一示例;

图33a和图33b示出了根据本系统和方法的具有被输入且呈现为数字墨水的附加手写内容的图28的段落的另一示例;

图34示出了根据本系统和方法的对具有图33b中的附加输入的图28的段落进行排版的结果;

图35a至35d示出了根据本系统和方法的具有被输入且呈现为数字墨水的附加手写内容的图28的段落的另一示例;

图36示出了根据本系统和方法的与断行相关的编辑手势的另一不例;

图37a和图37b示出了根据本系统和方法的与断行相关的编辑手势的另一示例;

图38示出了根据本系统和方法的对图37a和图37b的段落进行排版的结果;

图39示出了根据本系统和方法的具有被输入且呈现为数字墨水的附加手写内容的图28的段落的另一示例;

图40a至40c示出了根据本系统和方法的具有被输入且呈现为数字墨水的附加手写内容的图28的段落的另一示例;

图41示出了根据本系统和方法的与断行相关的编辑手势的另一示例;

图42a和图42b示出了根据本系统和方法的与断行相关的编辑手势的另一示例;

图43示出了根据本系统和方法的具有被输入且呈现为数字墨水的附加手写内容的图28的段落的另一示例;

图44示出了根据本系统和方法的具有被输入且呈现为数字墨水的附加手写内容的图28的段落的另一示例;

图45a和图45b示出了根据本系统和方法的与接合两个行相关的编辑手势的另一示例;

图46示出了根据本系统和方法的计算设备的输入表面的一部分上的滚动页面的示例视觉呈现的示意图,其中包括被输入且呈现为数字墨水的附加手写内容;

图47示出了根据本系统和方法的计算设备的输入表面的一部分上的滚动页面的示例视觉呈现的示意图,其为图46的排版结果;

图48示出了根据本系统和方法的计算设备的输入表面的一部分上的滚动页面的示例视觉呈现的示意图,其为图45和图46的排版结果。

具体实施方式

在以下详细描述中,以示例的方式阐述了大量的特定细节,以提供对相关教导的完全理解。然而,对于本领域技术人员来说显而易见的是,可以在没有这些细节的情况下实践本教导。在其它情况下,为了避免不必要地模糊本教导的方面,仅在相对较高的层面上描述了公知的方法、过程、组件和/或电路,而没有详细地描述。

对于方向特征(比如,向上、向下、上方、下方、最低、最高、水平、竖直等)的引用和讨论是相对于如应用于在其上进行要被识别的输入的输入表面的笛卡儿坐标系进行的。此外,在查看附图时,诸如左和右之类术语是与读者的参照系有关的。此外,在本描述中使用的术语“文本”应被理解为包括在书面文本中使用的任何书面语言形式的所有字母数字字符及其字符串和常见的非字母数字字符(例如,符号)。此外,本描述中的术语“非文本”被理解为包括在非文本上下文中使用的自由形式的手写或手绘内容和呈现的文本和图像数据、以及非字母数字字符及其字符串、和字母数字字符及其字符串。此外,这些附图中所示的示例处于从左到右书写的语言环境中,因此对位置的任何引用都可以适用于具有不同方向格式的书面语言。

本文中描述的各种技术通常涉及以保持输入的内容风格的同时允许将该内容转换为忠实的排版或美化版本的方式、在便携式和非便携式计算设备上捕获、处理和管理手绘和手写内容。本文中所述的系统和方法可以对经由连接到计算设备的或者计算设备中的输入表面(例如,触敏屏幕)、或经由连接到计算设备的输入设备(例如,数字笔或鼠标)、或经由由位置检测系统监控的实体或虚拟表面而输入到计算设备的用户的自然书写和绘画风格进行识别。尽管关于使用所谓的在线识别技术识别手写输入来描述了各种示例,但是应该理解的是,也可以应用其它形式的输入识别,比如识别图像而不是识别数字墨水的离线识别。本文中可互换地使用术语手绘和手写来定义用户通过使用他/她们的手直接在数字介质或数字连接的介质上操作或经由输入工具(比如,手持式触写笔)创建的数字内容。本文中使用术语“手”来提供对输入技术的简要描述,然而,使用用户身体的其它部位(比如,脚、嘴和眼)来进行相似输入也被包括在该定义中。

图1示出了示例计算设备100的框图。计算设备可以是台式计算机、膝上型计算机、平板计算机、电子书阅读器、移动电话、智能电话、可穿戴计算机、数字手表、交互式白板、全球定位系统(gps)单元、企业数字助理(eda)、个人数字助理(pda)、游戏机等。计算设备100包括如下组件:至少一个处理元件、某种形式的存储器、以及输入和/或输出(i/o)设备。这些组件通过例如连接器、线路、总线、电缆、缓冲器、电磁链路、网络、调制解调器、换能器、ir端口、天线或本领域普通技术人员已知的其它设备实现的输入和输出来彼此通信。

计算设备100具有用于从计算设备输出数据(例如,图像、文本和视频)的至少一个显示器102。显示器102可以使用lcd、等离子体、led、ioled、crt或本领域普通技术人员已知的为触敏的或非触敏的任何其它适当的技术。至少一些显示器102与至少一个输入表面104位于同一位置。输入表面104可以采用如下技术来接收用户输入:例如,电阻式、表面声波、电容式、红外网格、红外丙烯酸投影、光学成像、色散信号技术、声学脉冲识别或本领域普通技术人员已知的任何其它适当技术。输入表面104可以由清楚地标识其分界线的永久性的或视频产生的边界限定。

除输入表面104之外,计算设备100可以包括经由本地接口通信地耦接的一个或多个附加i/o设备(或外围设备)。附加i/o设备可以包括输入设备,例如键盘、鼠标、扫描仪、麦克风、触摸板、条形码读取器、激光读取器、射频设备读取器、或本领域普通技术人员已知的任何其它适当的技术。此外,i/o设备可以包括输出设备,例如打印机、条形码打印机或本领域普通技术人员已知的任何其它适当的技术。此外,i/o设备可以包括传送输入和输出两者的通信设备,例如调制器/解调器(调制解调器;用于访问另一设备、系统或网络)、射频(rf)收发机或其它收发机、电话接口、桥接器、路由器或本领域普通技术人员已知的任何其它适当技术。本地接口可以具有用于实现通信的附加元件,比如控制器、缓冲器(高速缓存)、驱动器、中继器和接收机,为了简单起见,省略了这些本领域技术人员熟知的元件。此外,本地接口可以包括地址、控制和/或数据连接,以实现其它计算机组件之间的适当通信。

计算设备100还包括处理器106,处理器106是用于执行软件(尤其是存储器108中存储的软件)的硬件设备。处理器可以是任何定制的或商业上可获得的通用处理器、中央处理单元(cpu)、基于半导体的微处理器(微芯片或芯片组形式的)、宏处理器、微控制器、数字信号处理器(dsp)、专用集成电路(asic)、现场可编程门阵列(fpga)或其它可编程逻辑器件、分立门或晶体管逻辑、分立硬件组件、状态机或被设计用于执行本领域普通技术人员已知的软件指令的任何组合。合适的商业上可获得的微处理器的示例如下:来自hewlett-packard公司的pa-risc系列微处理器、来自intel公司的80x86或pentium系列微处理器、来自ibm的powerpc微处理器、来自sunmicrosystems有限责任公司的sparc微处理器、来自摩托罗拉公司的68xxx系列微处理器、dsp微处理器或arm微处理器。

存储器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。可选地,软件还包括手写识别(hwr)系统114,手写识别(hwr)系统114可以各自包括一个或多个单独的计算机程序。这些程序中的每一个均具有用于实现逻辑功能的可执行指令的有序列表。操作系统110控制应用112(和hwr系统114)的执行。操作系统110可以是任何专有操作系统或商业上可获得的操作系统,例如webos、mac和linux和android。应该理解,也可以利用其它操作系统。

应用112包括与用户输入的检测、管理和处理有关的一个或多个处理元件(稍后详细讨论)。软件还可以包括与手写识别、不同的功能或这两者相关的一个或多个其它应用。其它应用的一些示例包括文本编辑器、电话拨号器、联系人目录、即时消息发送设施、计算机辅助设计(cad)程序、电子邮件程序、文字处理程序、web浏览器和相机。应用112和其它应用包括在制造时与计算设备100一起提供的程序,并且还可以包括在制造之后被上传到或下载到计算设备100中的程序。

具有支持和兼容能力的hwr系统114可以是源程序、可执行程序(目标代码)、脚本、应用或具有要被执行的指令集的任何其它实体。在源程序的情况下,所述程序需要经由可以包括或可以不包括在存储器内的编译器、汇编器、解释器等来翻译,以便结合操作系统正确地操作。此外,具有支持和兼容能力的手写识别系统可以被写为:(a)面向对象的编程语言,其具有数据和方法的类;(b)程序编程语言,其具有例程、子例程和/或函数,例如但不限于c、c++、pascal、basic、fortran、cobol、perl、java、objectivec、swift和ada;或(c)函数式编程语言,例如但不限于hope、rex、commonlisp、scheme、clojure、racket、erlang、ocaml、haskell、prolog和f#。备选地,hwr系统114可以是用于与远离所述设备的(比如,服务器或基于云的系统处)、但是可以使用计算设备100的前述通信i/o设备通过通信链路由计算设备100来远程访问的手写识别系统进行通信的方法和系统。此外,应用112和hwr系统114可以一起操作或被组合为单个应用。

在输入表面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旨在找到最佳识别路径。在一个示例中,语言专家126通过探索语言模型(比如,表示语言学信息130的内容的有限状态自动机(fsa))来实现该目的。除了词典约束之外,语言专家126可以使用统计信息建模来确定给定的要素序列出现在指定语言中或者被特定用户使用的频度如何,以评估分段图的给定路径的解释的语言学似然性。

本系统和方法利用hwr系统114来识别对设备100的手写输入。如前所述,应用112包括用于处理所识别的用户输入的布局的应用。这样的应用可以设置在具有用于进行不同处理的分隔的层的架构中。这些层中的一个或多个层可以远离可经由先前提到的通信通道来访问的设备100。这些层可以包括应用包装器、平台包装器和(平台特定的)应用用户接口。

由本系统和方法提供的应用112允许用户(比如,学生、学术专业人员和在职专业人员)在例如讲座、会议和头脑风暴会话间记录手写笔记,他/她们可以在其便携式或非便携式计算设备上使用自然且直观的操作(比如,手势)来将手写笔记转换成可共享格式的文档。该应用允许记录可以使用计算设备适当地搜索和记忆的“干净”的笔记。本系统和方法还由于书写是在(网格)线上进行的而允许输入自然书写,并且响应于取向(即,纵向或横向)和设备显示能力而遵守段落和其它布局要素。还支持在设备之间同步捕获的笔记和自动保存笔记,导出选项也可以是各种格式,比如文本、latex、html、图像、pdf等。现在描述这些和其它方面。

应用112利用框架来定义和处理文档和文档要素,以提供允许布局定义和保留的结构化内容。此文档模型处理不同类型的文档要素,文档要素最好使用html5参考来描述,例如,请参见w3chtml5dom-kindsofcontent::http://www.w3.org/tr/html5/dom.html#kinds-of-content。应用112所使用的文档模型不再现html规范,而是从中获取灵感。文档模型的要素的子集是流、章节、标题、措辞、嵌入式内容和交互式内容。

申请人已经发现,现有的数字笔记记录应用的用户有这样的问题:难以理解当进行编辑时在存在文本重排(reflow)和不受控文本/要素位置的情况下的文本表现为何样。为了降低使用这些应用的学习曲线,手写应该更接近用户熟悉的方式。也就是说,在文本编辑软件/web服务中用键盘进行书写和通过键盘和鼠标交互进行编辑具有相同的模型和行为。任何数字设备用户已经习惯于在屏幕上做手势来书写或编辑内容。在触摸和悬停设备上,做手势是自然且直观的模式。手写笔记记录环境中的一种快速解决方案是仅调整当前使用的手势(例如,轻击、双击、按下、长按、滑动、捏合),以允许在数字笔记记录和文档创建环境中进行编辑。尽管通常在触摸和悬停设备上直观地提供了这些手势以用于现有的功能,但是基于用户反馈,申请人还发现,这种直观性不一定能够很好地适用于内容编辑功能。因此,本系统和方法提供新类别的手势和行为以用于提供内容编辑功能。现在详细描述本系统和方法的这些和其它特征。

图4示出了示例计算设备100的输入表面104的一部分上的笔记记录页面400的示例视觉呈现的示意图。页面400被显示在编辑视图中,内容输入和编辑是在编辑视图中执行的。然而,其它视图可以用于文档结构编辑和笔记本导航。除了提供用户界面(ui)控制(稍后描述)之外,编辑视图还提供从设备100的显示器102竖直下溢的全宽度页面。页面400具有灵活的高度,本质上具有无限的高度,并且可以使用很好理解的触摸屏计算设备手势或非触摸屏计算设备方法(例如使用鼠标)进行竖直滚动。为了使用户的书写空间最大化(特别是在较小的设备上),将空白可滚动页面定义为至少占用整个编辑视图高度。

在编辑视图(以及视情况而定的其它视图)中,显示有包括顶内边距(padding)402、左外边距(margin)404和右外边距406在内的若干页面要素。内边距和外边距定义了具有行图案背景410的输入区域408。行图案410具有由竖直节奏高度(rhythmheight)单位的倍数进行分隔的水平行,所述竖直节奏高度单位是密度独立像素(dp)。不管特定设备100如何,水平行410之间的竖直距离由行图案单元(lpu)定义,并且竖直节奏高度单元提供特定设备上的lpu的刻度测量。例如,对于任何设备来说可以将lpu设置为大约1厘米,这是竖直节奏高度单元的某个倍数,或者可以允许用户根据其书写风格将行图案单元定制为竖直节奏高度单元的不同倍数。备选地,竖直节奏可以基于排版文本大小(例如,最小文本大小),并且lpu被提供为这种排版文本大小的倍数。所有行410都以相同的浅淡颜色(例如灰色)显示,该颜色相对于内容本身的呈现是可见的但淡化的。以这种方式,行图案显而易见却又不显眼,以便引导手写输入而不会分散内容输入的注意力。行图案背景410显示在手写文本上下文中,并且用于多种目的:

强制用户在行上书写,使得手写识别得到优化

帮助用户采用常规的竖直节奏书写,从而实现相同的书写大小和更好的块大小和位置

帮助用户控制跳行来定义段落。

顶内边距402显示在任何新页面或章节上,并且不包含行图案背景。这帮助用户以适当的竖直间隔书写,即,不太靠近界面104边界,并且为其它要素(例如,章节标题和标记)留下空间。顶内边距402由lpu的倍数定义,例如在图4的示例中,顶内边距是lpu的两倍。然而,可以期望允许在顶内边距中写入标题,例如文档和章节标题、注解等。也可以在输入区域408的底部处设置类似的底内边距。

左外边距404和右外边距406以竖直线显示。在图4的示例中,左外边距406和右外边距406的线在颜色和清晰度上与行图案410相似,但然而如果需要的话,这些线可以更显眼地显示。竖直线外边距被定位为与对应的左侧“页面”边缘和右侧“页面”边缘相距的距离为竖直节奏单位的倍数。在图4的示例中,外边距404、406不显示在顶内边距402中,并且从第一个行图案410水平线开始。然而,如果需要,外边距可以延伸到顶内边距中。此外,为了防止在这些区域中书写,行图案410不显示在外边距要素中。然而,可以期望允许在外边距中书写注解等。备选地,外边距可以仅在页面400的水平范围上方悬停或与之接触交互时显示,或者完全省略,因此例如依靠用户的自然手写行为而不至写得太靠近屏幕/ui边缘。

根据设备100的屏幕技术,通过使用关于输入表面104的手势(例如,通过触摸、施力和/或接近)来将手写内容输入到页面400上。可以根据计算设备100的将用户的手指与触写笔或笔(通过其设备定义无源或有源触写笔)区分开的能力、或者触写笔的用于向设备指示或通信其是用于手写的能力、或者用户的用于提供这样的指示的能力,来不同地处理手势检测。默认情况下,并且在不进行区分的设备中,输入区域408内的任何单点触摸或悬停事件将被视为内容输入或内容交互。

滚动页面可以被提供为无约束画布,允许用户在任何地方创建对象块(文本块、绘画等),而无需担心大小调整或对齐。然而,为了提供包含结构化内容的专业格式的文档,可以定义某些对齐要素或图案,在对齐要素或图案上所有内容将对齐/限定(在输入处或者沿着用户交互)。这允许将块定义为块的呈现是响应于设备大小/取向的。示例对齐图案和响应显示在以本申请人和受让人的名义提交的题为“systemandmethodofdigitalnotetaking”的美国专利申请no.14/886,195中得以描述,该专利的全部内容通过引用并入本文中。

图4还示出了被呈现为数字墨水的手写输入。具体地,在图4的示例中,示出了五个文本对象412、414、416、418和420。例如,文本对象412是在单个行410上的包含两个单词的文本块,并且定义文档或章节标题。例如,文本对象414是在与块412间隔一个行410的单行410上的包含两个单词的文本块,并且定义章节标题或子标题。例如,文本对象416是在多个行410上包含多个单词的文本块,并且定义(章节)段落,其中第一(最上面)行410与块414间隔开一行。例如,文本对象418是在单行410上包含两个单词的文本块,其与块416的最下面一行410间隔开一行,并且定义章节标题或子标题。例如,文本对象420是在多个行410上包含多个单词的文本块,其最上面一行410与块418间隔开一行410,并且定义(章节)段落。

文档模型将章节内容定义为定义标题和注脚范围的内容。标题内容定义了章节的页眉(无论是使用章节内容要素明确标记的还是标题内容本身所隐含的)。段落通常是一连串的流内容,其形成具有一个或多个句子的文本块,其间没有任何空行。根据输入长度和位置,段落可以是任何宽度(从单个单词到全宽度)。在任何时候,段落的最宽行定义了它的边界,当输入新内容时,该边界会对文档模型产生潜在影响。只要所有行(除了最后一行)的宽度大致相同,文档模型会在执行排版重排时将新内容附加到段落行内。如下所述,主要通过在内容输入之间跳行410来创建段落。如果紧接在段落之前或之后输入文本而没有留有空行,则所有新内容都将合并到现有段落中。可以利用内容编辑或手势拆分或合并所有段落(稍后描述)。

可以看出,文本块420的内容流到输入区域408的底部之外,如图4所示。然而,可以通过用户在输入区域上的任何位置或在专用区域中(比如,在一个或多个外边距中)进行单点交互(例如,单个手指或触写笔手势在界面104上的触摸或悬停)或多点交互(例如,两个手指在界面104上的几乎同时的触摸或悬停)来滚动页面400来查看(和输入)内容。例如,当使用能够将手指与触写笔区分开的设备、或向设备指示其使用的触写笔、或者用户提供该指示,由此例如为内容输入定义有源触写笔时,多点交互是不必要的,可在界面表面104上的任何地方处使用单指竖直滚动手势进行滚动。

如上所述,文本块412至420分别由空行410间隔开(例如,两个lpu的间隔)。这种简单的约束以用户容易理解和应用的方式作用于竖直流中的各个段落(和对象框)的输入,使得滚动页面400的竖直流中的对象块之间的相对布局可以整洁地维持,并被应用于直接输入内容以及拖放或推放块。根据本系统和方法提供的以下对某些编辑示例的描述,该方法的益处将变得显而易见。然而,备选地或附加地,可能不需要这样的约束,特别是使用手势来定义样式,如稍后所述。

图5至图7、图9、图10、图12、图13、图15、图16、图18至图22和图24至图45示出了对一般的示例文本块执行的编辑手势的示例,图8、图11、图14、图17、图23和图46至图48示出了对图4的示例输入执行的那些示例编辑手势。在图5至图7、图9、图10、图12、图13、图15、图16、图18至图22、图24至图27、图36至图38、图41、图42和图45的图示中,示出了文档处理标记,其描述段落换行符或回车符以及字符/单词间隔其仅用于说明目的,而不被显示为手写输入。在上述分段规则的上下文中:

当文本块与另一文本(或其它对象)块分隔至少一个空行41时定义段落;

当通过输入相关联的手势(下面描述)将两个文本块彼此分隔而彼此之间没有空行410时定义换行符。换行符不是显式输入的一部分,而是仅考虑文本布局并保留用户输入而由文档模型隐式创建/删除的。通过这种方式,换行符用作为布局助手来表达段落之间的间隔;

当在相同的行410或随后的行410上将文本块内的字符、单词、符号等彼此分隔时定义间隔。

对符号进行描述,有助于理解检测和识别编辑手势的结果,并提供与使用键盘执行的类似操作(例如,键入回车或回车键以提供段落或换行符或回车键入空格键以提供间隔)的上下文比较。换行符是特殊的要素,它将回车符引入短语内容或内容流中。

在对示例进行描述之前,现在提供对本系统和方法的应用112和hwr系统114如何检测和识别手写手势的示例的简要描述。如前所述,hwr系统114使用分段模型、识别模型和语言模型处理在输入表面104上输入的或经由输入表面104输入的笔划,以便将每个笔划和笔划组识别为手写对象(例如,文本字符和单词)。对手势的识别使用相同的方法来检测手势的笔划(例如,至少以笔划开始位置、笔划终止位置和连接笔划开始位置和笔划终止位置的路径来表征),并且将该笔划检测与笔划的其它特性的确定相结合,来检测手势输入和该输入的上下文以识别所使用的特定手势。这样做是因为此时还不知道新输入的笔划是进一步的手写内容(例如,附加文本)还是用于对已输入(和识别的)内容进行某种控制的手势。

因此,hwr系统114的识别器118处理输入笔划,以确定笔划是某种输入(例如,文本、符号、形状、直线、“之”字型线、卷曲线)的概率和确定诸如书写方向(例如,左、右、竖直、水平)、几何图形(例如,方向改变的类型和数量、形状)和与lpu的关系等特性。这些确定的特性与确定的可能笔划类型一起允许确定处理后的笔划是一种手势(例如,下划线、删除线、划掉)的概率。通过将可能的手势的笔划与最接近的识别的对象(例如,字符、单词、段落)进行比较来针对上下文评估所确定的可能手势类型。例如,此比较用于验证输入笔划是手势而不是进一步的文本输入,以及可能的手势类型是否可以应用于所检测到的情况。这例如通过将手势和对象/文本的笔划的相对几何图形特征(例如,基线、边界框、重叠率)进行比较和/或通过考虑识别的文本的语言来完成。然后,向应用112提供一组结果,其中包括概率分数和可能的手势必然适用的数字墨水的时间间隔。这样,hwr系统114仅提出手势识别结果并且不对该上下文本身做出任何更新。以这种方式,维持任何预定识别结果(例如,针对其输入手势的识别文本)。应用112处理这些手势识别结果以便对内容施加修改或忽略它们。

通过关于应用112的ui设置可以禁用一些几何图形的评估。这允许限制某些手势的可用性。例如,hwr系统114能够识别沿从左到右和从右到左的方向上的删除线删除手势,然而可能期望仅允许沿这些方向之一的删除线。这种禁用可以用于简化识别或允许使用其它手势,例如沿禁用方向的(反向)删除线可以被识别为所识别的删除线的“撤销”。还可以完全禁用某些类型的手势,例如所有擦除手势。此外,可以使用某些特性的评估来增加概率分数。例如,书写流可以用于增加添加、覆写、插入手势的概率分数,使得当连续书写输入(例如,在内容输入之后编辑手势随后跟随,而不是在一段时间后才施加)时其它手势将不是最佳结果。这可以用于简化对超时内容输入的识别,比如音调符号,例如在书写完包含“t”的整个单词之后的针对字符“t”的笔划。

现在描述示例编辑手势。图5a示出了单行段落500,其包括如由其间的间隔限定的若干个单词“break”502、“a”504和“word”506以及单词506之后的句号507。例如,编辑手势508被检测为在所示出的显示位置中的通过用户从上到下滑动他/她们的手指或触笔尖而形成的单笔划形式的从上到下的竖直线的输入。也就是说,按照时间顺序,笔划开始位置在笔划结束位置的上方,如从上到下逐渐增粗的笔划所描绘的。hwr系统114将编辑笔划508检测为在单词506的字符/字母(即,“o”和“r”)之间穿过。编辑笔划508相对于(识别的)文本500的这种相对位置(例如,在一个单词内)提供了编辑手势508的上述特性之一,而从上到下的书写方向提供了另一特性。

仅仅考虑这些特性可以确定用户意在编辑手势508在检测到的位置处断开或拆分单词506。该识别结果在图5b中示出,在图5b中,单词506被断开成两部分506a和506b,这两个部分在“o”和“r”之间有间隔。可以看出,段落500的特征以其他方式被保持。然而,如果hwr系统114允许识别这样的覆写字符,则手写识别会将这种简单的编辑手势混淆为附加的输入字符(例如,字母“l”)。例如,在所示情况下,由于hwr系统114的语言模型将返回针对单词“wolrd”的不良结果,因此字符“l”的识别结果的概率很可能低于编辑手势“断开”的概率。然而,例如,语言模型可以为“world”的拼写错误提供相对高的概率,或者替代地,手势本该位于单词506的“r”和“d”之间。这样的识别结果取决于输入的语言和上下文,并且因此优选在很大程度上独立于这些因素的识别,以便提供鲁棒和广泛适用的系统和方法。

因此,本系统和方法考虑附加特性。这种特性是编辑笔划508的竖直范围与页面400的输入环境相比较。例如,笔划508与上面书写有段落500的行410(以及其上方的行410)交叉,这例如不是字母“l”的典型特性,因此可以用于相对减少该字符被识别的概率。备选地或附加地,这样的特性是编辑笔划508的竖直范围与定义最接近的对象之间的几何关系的最接近对象的组合特性(比如,那些对象的要素的均匀、平均和/或最大行图案(例如,基线、中心线、顶线、上缘线、下缘线、马特拉线、rukar线等))相比较。例如,编辑笔划508与单词506的笔划的基线(以及段落500的基线)交叉,这例如不是字母“l”的典型特性,因此可以用于相对减少该字符被识别的概率。

应用112可以被配置为将输入的编辑笔划显示为具有例如图5a所示的形状或其它适当的呈现的数字墨水,直到执行识别的编辑操作为止,或者可以仅执行编辑操作而没有这种显示。检测到的编辑手势的显示可以用于向用户提供关于手势本身及其相对位置的识别的识别反馈。否则,最终的编辑操作(例如,图5b中所示的修改后的显示)可以用于这种反馈。

图6a示出了单行段落600,其包括如由其间的间隔限定的若干个单词“break”602、“a”604和“line”606以及单词606之后的句号607。编辑手势608被检测为在所示出的显示位置中的单笔划形式的的从上到下的竖直线的输入。hwr系统114将编辑笔划608检测为在单词602和604之间穿过。类似于图5的示例,编辑笔划608相对于(识别的)文本600的这种相对位置(例如,在单词之间的间隔内)提供了编辑手势608的上述特性之一,而从上到下的书写方向提供了另一特性。仅仅考虑这些特性可以确定用户意在编辑手势608在检测到的位置处将单行的段落600断开或拆分成两行。该识别结果在图6b中示出,在图6b中,段落600断开成两个文本行600a和600b,其中在行600a,具有段落600的原始(第一)行410上的单词602,并且在行600b,具有段落600中在第一行410的正下方的下一(第二)行410的单词604和606以及句号607,在单词602和单词604之间有间隔。可以看出,段落600的特征以其他方式被保持。如上面关于图5b所描述的,本系统和方法可以使用所考虑的附加特性(比如,编辑笔划608的竖直范围与页面400的输入环境和/或最接近对象的组合特性相比较)来进一步验证这样的识别结果。

如以上关于图6所讨论的,段落600被拆分成两行,在行之间设置有间隔。然而,备选地,可以通过提供换行符来进行拆分。这些情况之间的差异在于:当显示状况改变时,例如,响应显示(比如,应用112的ui的窗口大小或设备100的长宽或屏幕大小改变)或者进一步编辑内容或将数字墨水排版成排版墨水,在段落的行之间提供间隔将允许数字墨水或排版墨水的重排(例如,段落的单词排到相邻的行以遵守单词间隔惯例),而提供换行符将流保留为输入,这样在断开的行上不允许重排。

图7a示出了在换行时提供换行符而不是间隔的示例。在图7a中,已经输入了单行段落700,其包括如由其间的间隔限定的若干个单词“break”702、“a”704、“longer”706和“line”706以及单词706之后的句号707。编辑手势708被检测为在所示出的显示位置中的单笔划形式的的从上到下的竖直线的输入。hwr系统114将编辑笔划708检测为在单词702和704之间穿过。类似于图6的示例,编辑笔划608相对于(识别的)文本700的这种相对位置(例如,在单词之间的间隔内)提供了编辑手势708的上述特性之一,而从上到下的书写方向提供了另一特性。仅仅考虑这些特性可以确定用户意在编辑手势708在检测到的位置处将单行的段落700断开或拆分成两行。该识别结果在图7b中示出,在图7b中,段落700已断开成两行700a和700b,在单词702和单词704之间具有换行符,使得单词702保持在原始(第一)行410上,其余的单词704、705和706和句号707移动到第一行410下方的下一(第二)行410。可以看出,段落700的特征以其他方式被保持。如上面关于图6所描述的,本系统和方法可以使用所考虑的附加特性(比如,编辑笔划708的竖直范围与页面400的输入环境和/或最接近对象的组合特性相比较)来进一步验证这样的识别结果。

确定在诸如图6和图7的场景中提供间隔还是换行符可以通过考虑输入的其它特性(例如,段落尺寸和/或手势位置,比如考虑到用户的意图是在段落600旁边输入附加的对象块(例如,图像块),由此在图6中减小段落600的总宽度)来提供,使得允许重排是合适的,而在图7中,考虑到用户希望段落700的布局改变,由此在断开操作(参见图7b)之后,第二行410设置有比第一行410更多的内容,使得换行符是合适的。应该理解,可以使用附加的和/或备选的特性,并且这些特性可以经由用户通过ui设置。

图8示出了对图4的示例输入执行的示例换行操作。在图8中,断开手势800被检测为在所示出的显示位置中的单笔划形式的从上到下的竖直线的输入。hwr系统114将编辑笔划800检测为在段落416的行426上的要素422和424之间穿过,由此形成句号422并使得单词424大写。类似于图5至图7的示例,编辑笔划800相对于(识别的)文本416的这种相对位置(例如,在句子之间的间隔内)提供了编辑手势800的上述特性之一,而从上到下的书写方向提供了另一特性。仅仅考虑这些特性可以确定用户意在编辑手势800在检测到的位置处断开或拆分段落416。如上所述,根据该识别的上下文和/或应用112的设置,该识别结果可以使得在检测到的断开位置处提供间隔或换行符,如上所讨论的。提供这些布局操作中的任何一个可以对内容的其它部分采取不同的动作。

例如,如果应用112在确定识别结果时提供换行符,这意味着不允许文本重排,则断开段落的任何下游内容可以类似地在断开操作期间不重排。这在图8b中示出,在图8b中,段落416已经被断开,使得句号422(与前面的单词一起)保持在原始(第一)行410上,并且单词424(以及随后的单词428和逗号430)移动到下方随后的(第二)行上,作为段落416的新行432,并且在行426和432之间设置有换行符(未示出)。因此,图8a中所示的输入400的原始布局中的在第二行410(行434)上的段落416的文本移动到第二行410下面的下一(第三)行410,并且段落416和标题418以及段落420的所有其余行相应和类似地移动,如图8b所示(例如,可以看出,如图8a所示的段落420的文本的最后一行436从显示器104中滚出)。

另一方面,如果应用112在确定识别结果时提供间隔,这意味着允许文本重排,则断开段落的任何下游内容可以类似地在断开操作期间重排。这在图8c中示出,在图8c中,段落416已经被拆分,使得句号422(与前面的单词一起)保持在第一行410上,并且单词424(以及随后的单词428和逗号430)移动到下面的第二行410上,在行426和第二行410上的内容之间设置有间隔(未示出)。然而,与图8b的示例不同,移动的内容不创建新行,而是将该内容(即,单词424和428以及逗号430)重排到段落416的下一行434上,相应地将行434中原始的一些内容重排到第三行410(段落416的行438)上,并且将行438中的原始的一些内容进行重排以容纳重排后的靠上的内容。可以看出,在这种情况下不需要进一步重排下游内容(例如,标题418和段落420),因为段落416的重排的行438容纳了重排的和原始的内容。

上述示例示出了使用所描述的从上到下的单个笔划断开手势断开在单行或多行段落内的文本行。认为:针对示例中所示的从左到右语言输入的竖直流场景,该手势相对直观地断开了对象块的要素。然而,应当理解,也可以使用沿不同方向的单笔划手势(特别是对于水平流语言)、多笔划手势(比如,描摹(tracing)换行符或回车符符号的两个笔划手势)、或者非方向性手势(比如,轻击)。类似的断开手势也可以用于断开段落而不是行的上下文。

图9a示出了多行段落900,其包括在段落900的第一行900a中(在第一行410上)的“break”902、在段落900的第二行900b(在第一行410的正下方的第二行410上)的“a”904、“paragraph”906这几个单词以及在在单词906之后的句号907,并且第一行和第二行之间有换行符。在行900a的换行符处(例如,在单词902的右侧)检测到编辑手势908,或者在行900b的开头处(例如,在单词904的左侧)检测到编辑手势910,这两个编辑手势中的任一个编辑手势都是单个笔划形式的从上到下的竖直线的输入。在任一情况下,hwr系统114将编辑笔划908或910检测为在段落900的行900a和900b之间穿过。

类似于图5至图8的示例,编辑笔划908或910相对于(识别的)文本900的这种相对位置(例如,在换行符处)提供了编辑手势908或910的上述特性之一,而从上到下的书写方向提供了另一特性。仅仅考虑这些特性可以确定用户意在编辑手势908或910在检测到的位置处将单个段落900断开或拆分成两个段落。该识别结果在图9b中示出,在图9b中,段落900已经断开为两个单行段落912和914,其中(第一)段落912包含段落900的原始(第一)行900a的单词902(在原始第一行410上),(第二)段落914包含在第二行410正下方的下一(第三)行410上的段落900的原始(第二)行900b的单词904和906以及句号907,由此第二行410现在是空的(例如,段落900的行之间没有内容),并且换行符被段落标记代替。如上面关于图5至图8所描述的,本系统和方法还可以使用所考虑的附加特性(比如,编辑笔划908或910的竖直范围与页面400的输入环境和/或最接近对象的组合特性相比较)来进一步验证这样的识别结果。

如以上关于图9所讨论的,多行段落900是在现有换行符的基础上被拆分成两个段落的。这种拆分也可以在现有间隔的基础上执行,如图10所示。图10a示出了多行段落1000,其包括在段落1000的第一行1000a的“break”1002和“again”1003(在第一行410上)、在段落1000的第二行1000b中的“a”1004、“paragraph”1006这几个单词,以及在单词1006之后的句号1007(在第一行410的正下方的第二行410上),并且第一行和第二行之间有间隔。在行1000a的单词1003之后的间隔处(例如,在单词1003的右侧)检测到编辑手势1008,或者在行1000b的开头处(例如,在单词1004的左侧)检测到编辑手势1010,这两个编辑手势中的任一个编辑手势都是单笔划形式的从上到下的竖直线的输入。在任一情况下,hwr系统114将编辑笔划1008或1010检测为在段落1000的行1000a和1000b之间穿过。

类似于图9的示例,编辑笔划1008或1010相对于(识别的)文本1000的这种相对位置(例如,在结束间隔处)提供了编辑手势1008或1010的上述特性之一,而从上到下的书写方向提供了另一特性。仅仅考虑这些特性可以确定用户意在编辑手势1008或1010在检测到的位置处将单个段落1000断开或拆分成两个段落。该识别结果在图10b中示出,在图10b中,段落1000已经断开为两个单行段落1012和1014,其中(第一)段落1012包含段落1000的原始(第一)行1000a的单词1002和1003(原始第一行410上的),(第二)段落1014包含在第二行410正下方的下一(第三)行410上的段落1000的原始(第二)行1000b的单词1004和1006以及句号1007,由此第二行410现在是空的,并且行1000a的结束间隔被段落标记代替。因此,获得与图9b的示例的识别结果类似的识别结果。如上面关于图9所描述的,本系统和方法还可以使用所考虑的附加特性(比如,编辑笔划1008或1010的竖直范围与页面400的输入环境和/或最接近对象的组合特性相比较)来进一步验证这样的识别结果。

可以使用类似定位的断开手势来提供在分隔的段落之间的另一间隔,无论各个段落是如图9和图10的示例中的通过拆分单个段落形成还是初始就是以该方式输入的。图10c示出了图10b的分隔的段落1012和1014,其中在段落1012的单词1002之后的段落标记处(例如,在单词1003的右侧)检测到编辑手势1008,或者在段落1014的开头处(例如,在单词1004的左侧)检测到编辑手势1010,或者在段落1012和1014之间的空的间隔(在第二行410)中检测到编辑手势1016,这些编辑手势1008、1010、1016中的任何一个手势都是单笔划形式的从上到下竖直线的输入。在任一情况下,hwr系统114将编辑笔划1008、1010或1016检测为在段落1012和1014之间穿过。

就图10a而言,编辑笔划1008、1010或1016相对于(识别的)文本1012和1014的这种相对位置(例如,在段落之间)提供了编辑手势1008、1010或1016的上述特性之一,而从上到下的书写方向提供了另一特性。仅仅考虑这些特性可以确定用户意在编辑手势1008、1010或1016在检测到的位置处在段落1012和1014之间添加另一间隔。该识别结果在图10d中示出,在图10d中,(第二)段落1014移动到在第三行410正下方的下一(第四)行410,使得第二行和第三行410现在都是空的,并且在第三行410内记录有换行标记。例如,该换行符是可通过应用112可选择的,并且,如果向第二行或第三行410添加内容,则提供该换行符可以用于提供对下游内容的移动的控制,例如,如果向第二行添加内容,则这被认为是添加到段落1012的内容,使得第三行410被保持而不移动段落1014。如上面所述,本系统和方法还可以使用所考虑的附加特性(比如,编辑笔划1008、1010或1016的竖直范围与页面400的输入环境和/或最接近对象的组合特性相比较)来进一步验证这样的识别结果。

图11示出了对图4的示例输入执行的示例间隔添加操作。在图11中,间隔手势1100被检测为在所示出的显示位置中的单笔划形式的从上到下的竖直线的输入。hwr系统114将编辑笔划1100检测为在段落416和418之间穿过,其位于它们之间的空白(第一)行410上,并且在提供段落418的(第二)行410的上方。类似于图10c和图10d的示例,编辑笔划1100相对于(识别的)段落416和418的这种相对位置(例如,在段落之间的间隔中)提供了编辑手势1100的上述特性之一,而从上到下的书写方向提供了另一特性。仅仅考虑这些特性可以确定用户意在编辑手势1100在检测到的位置处在段落416和418之间添加另一间隔。

该识别结果在图11b中示出,在图11b中,段落418移动到在第二行410下方的随后(第三)行410上。因此,在图11a中所示的输入400的原始布局中的在第三行410下方的(第四)行410上的段落420可以移动到在第四行410下方的下一(第五)行410(例如,可以看出,如图11a所示的段落420的文本的最后一行436滚出显示器104)。如上所述,根据该识别的上下文和/或应用112的设置,该识别结果可以在检测到的断开位置处提供换行符,并且对内容的其它部分执行相应动作。

上述示例示出了使用所描述的从上到下的单笔划断开或间隔手势将单行段落或多行段落断开成分隔的段落或将分隔的段落间隔开。认为:针对示例中所示的从左到右语言输入的竖直流场景,该手势相对直观地将对象块断开成分隔的块或将对象块间隔开。然而,应当理解,也可以使用沿不同方向的单笔划手势(特别是对于水平流语言)、多笔划手势(比如,描摹(tracing)换行符或回车符符号的两个笔划手势)、或者非方向性手势(比如,轻击)。

上述编辑手势用于执行关于手写内容的断开、拆分或间隔操作。其它编辑操作也是可能的。图12a示出了单行段落1200,其包括如由其间的间隔定义的若干个单词“join”1202、“two”1204和“words”1206,以及在单词1206之后的句号1207。例如,编辑手势1208被检测为在所示出的显示位置中的通过用户从下到上滑动他/她们的手指或触笔尖而形成的单笔划形式的从下到上的竖直线的输入。也就是说,按照时间顺序,笔划开始位置在笔划结束位置之下,如从下到上逐渐增粗的笔划所描绘的。hwr系统114将编辑笔划1208检测为在单词1204和1206之间的间隔中穿过。编辑笔划1208相对于(识别的)文本1200的这种相对位置(例如,在单词之间的间隔内)提供了编辑手势1208的上述特性之一,而从下到上的书写方向提供了另一特性。

仅仅考虑这些特性可以确定用户意在编辑手势1208在检测到的位置处将单词1204和1206接合在一起或者删除间隔,由此识别结果如图12b中所示,在图12b中,单词1204和1206接合成新的单词1209,即在单词1204的“o”和单词1206的“w”处接合。可以看出,段落1200的特征以其他方式被保持。然而,手写识别可能会将这种简单的编辑手势混淆为附加的输入字符(例如,字母“l”)。例如,在所示情况下,由于hwr系统114的语言模型将返回针对以从下到上的笔划顺序书写而成的“l”字符的不良结果,因此字符“l”的识别结果的概率很可能低于编辑手势“接合”的概率。然而,例如,如果输入是“l”,则语言模型可以提供针对单词“twolwords”的相对相似的概率,或者如果输入是编辑手势“接合”,则提供针对单词“twowords”的相对相似的概率。这样的识别结果取决于输入的语言和上下文,并且因此优选在很大程度上独立于这些因素的识别,以便提供鲁棒和广泛适用的系统和方法。

因此,本系统和方法考虑附加特性。与从上到下竖直编辑手势类似,这种特性是编辑笔划1208的竖直范围与页面400的输入环境相比较。例如,笔划1208与上面书写有段落1200的行410(以及其上方的行410)交叉,这例如不是字母“l”的典型特性,因此可以用于相对减少该字符被识别的概率。备选地或附加地,这样的特性是编辑笔划1208的竖直范围与定义最接近的对象之间的几何关系的最接近对象的组合特性(比如,那些对象的要素的均匀、平均和/或最大行图案(例如,基线、中心线、顶线、上缘线、下缘线、马特拉线、rukar线等))相比较。例如,编辑笔划1208与单词1204和1206的笔划的基线(以及段落1200的基线)交叉,这例如不是字母“l”的典型特性,因此可以用于相对减少该字符被识别的概率。

通过允许或要求不同的手势类型,可以进一步增强对这种接合手势或间隔删除手势的识别。图12c示出了单行段落1200,其中具有编辑手势1210,编辑手势1210例如被检测为在所示的显示位置中通过用户上上下下若干次滑动他/她的手指或触笔尖而形成的单笔多方向笔划的竖直“之”字型线的输入。hwr系统114将编辑笔划1210检测为在单词1204和1206之间的间隔中穿过。编辑笔划1210相对于(识别的)文本1200的这种相对位置(例如,在单词之间的间隔内)提供了编辑手势1210的上述特性之一,而“之”字型提供了另一特性。

仅仅考虑这些特性可以确定用户意在编辑手势1210在检测到的位置处将单词1204和1206接合在一起或者删除间隔,由此识别结果如图12b中所示。以这种方式,使用“之”字型或划掉手势而不是关于图12a描述的相对简单的单向编辑手势。然而,手写识别也会将“之”字型手势1210混淆为附加的输入字符(例如,字母“w”)。在所示情况下,例如,由于hwr系统114的语言模型将返回针对以与所识别的文本1200的其它字符的倾斜度大不相同的所绘倾斜书写而成的“w”字符的不良结果,因此字符“w”的识别结果的概率很可能低于编辑手势“接合”的概率。然而,例如,如果输入是“w”,则语言模型可以提供针对单词“twowwords”的相对相似的概率,或者如果输入是编辑手势“接合”,则提供针对单词“twowords”的相对相似的概率。这样的识别结果取决于输入的语言和上下文,并且因此优选在很大程度上独立于这些因素的识别,以便提供鲁棒和广泛适用的系统和方法。

因此,本系统和方法考虑附加特性。与从下到上接合或间隔删除手势类似,这种特性是编辑笔划1210的竖直范围与页面400的输入环境相比较。例如,笔划1210与其上书写有段落1200的行410交叉,这例如不是字母“w”的典型特性,因此可以用于相对减少该字符被识别的概率。备选地或附加地,这样的特性是编辑笔划1210的竖直范围与定义最接近的对象之间的几何关系的最接近对象的组合特性(比如,那些对象的要素的均匀、平均和/或最大行图案(例如,基线、中心线、顶线、上缘线、下缘线、马特拉线、rukar线等))相比较。例如,编辑笔划1210与单词1204和1206的笔划的基线(以及段落1200的基线)交叉,这例如不是字母“w”的典型特性,因此可以用于相对减少该字符被识别的概率。

应用112可以被配置为将输入的编辑笔划显示为具有例如图5a或图12a所示的形状或其它适当的呈现的数字墨水,直到执行识别的编辑操作为止,或者可以仅执行编辑操作而没有这种显示。检测到的编辑手势的显示可以用于向用户提供关于手势本身及其相对位置的识别的识别反馈。否则,最终的编辑操作(例如,图12b中所示的修改后的显示)可以用于这种反馈。

类似的接合或间隔(或换行符)删除手势可以用于接合段落的分隔的文本行。例如,图13a示出了多行段落1300,其包括在段落1300的第一行1300a中的“join”1302和“two”1304(在第一行410上)、在段落1300的第二行1300b中的“lines”1306这几个单词以及在单词1306之后的句号1307(在第一行410的正下方的第二行410上),并且第一行和第二行之间有间隔。在行1300a的结束间隔处(例如,在单词1304的右侧)检测到编辑手势1308,或者在行1300b的开头处(例如,在单词1306的左侧)检测到编辑手势1310,这两个编辑手势中的任一个编辑手势都是单笔划形式的从下到上的竖直线的输入。类似地,在图13b中,在段落1300的行1300a的结束间隔处检测到被检测为单笔多方向笔划形式的为竖直“之”字型线的输入的编辑手势1312。在任一情况下,hwr系统114将编辑笔划1308、1310或1312检测为在段落900的行1300a和1300b之间穿过。该编辑笔划相对于(识别的)文本1300的这种相对位置(例如,在行之间的间隔内)提供了编辑手势的上述特性之一,而从下到上的书写方向或“之”字型提供了另一特性。

仅仅考虑这些特性可以确定用户意在编辑手势在检测到的位置处将行1300a和1300b接合在一起或者删除间隔,由此识别结果如图13c中所示,在图13c中,行1300a和1300b接合成新的行1314,该新的行1314包含段落1300的所有内容。从图13d和图13e所示的接合示例中获得类似的识别结果,在图13d和图13e中,使用从下到上编辑手势1308或1310或“之”字型手势1312来跨越段落1300的两行1300a和1300b之间换行符而不是结束间隔。

图14示出了对图8b的示例识别结果执行的示例行接合操作或间隔删除操作,在图14中,在断开的段落416的行426和432之间设置有换行符(未示出)。在图14中,接合手势1400被检测为在所示出的显示位置中的单笔划形式的从下到上的竖直线的输入。hwr系统114将编辑笔划1400检测为在分别在段落416的行426和432上的句号422和单词424之间穿过。类似于前面的示例,编辑笔划1400相对于(识别的)段落416的这种相对位置(例如,在段落的行之间的换行符上)提供了编辑手势1400的上述特性之一,而从下到上的书写方向提供了另一特性。仅仅考虑这些特性可以确定用户意在编辑手势1400在检测到的位置处将段落416的行426和432接合,同时去除在行426和432之间的换行符。因此,单词424(以及随后的单词428和逗号430)从在具有句号422的第一行410正下方的(第二)行410移动到(第一)行410上,段落416中的在第三行和第四行410上的文本分别移动到第二行和第三行上,并且标题418和段落420类似地各自向上移动一行410,使得显示返回至图4中所示的那样。

上述示例示出了使用所描述的从下到上的单笔划接合或删除间隔手势或“之”字型多方向的单笔划或多笔划划掉手势,来将单行段落或多行段落内的文本的行接合或删除间隔。认为:针对示例中所示的从左到右语言输入的竖直流场景,这些手势相对直观地接合对象块的要素或删除对象块的要素之间的间隔。然而,应当理解,也可以使用沿不同方向的单笔划手势(特别是对于水平流语言)、多笔划手势、或者非方向性手势(比如,轻击)。可以使用类似的接合或间隔(或换行符)删除手势来接合分隔的段落或去除分隔的段落之间的间隔(或换行符)。

图15a示出了(第一)单行段落1500和(第二)单行段落1503,其中(第一)单行段落1500包括在(第一)行410上的一个单词“join”1502,在第一行410正下方的(第二)行410是空的,(第二)单行段落1503包括在第二行410正下方的(第三)行410上的若干个单词“two”1504和“paragraphs”1506以及在单词1506之后的句号1507。检测到在第一段落1500的结束处(例如,在单词1502的右侧)的编辑手势1508、在段落1500与1503之间的空白第二行410处的编辑手势1510、以及在第二段落1503的开头处(例如,在单词1504的左侧)的编辑手势1512中的任一个手势,其中每个手势都是单笔划形式的从下到上的竖直线的输入。类似地,在图15b中,在段落1500和1503之间的空白第二行410处检测到被检测为成单笔多方向笔划形式的竖直“之”字型线的输入的编辑手势1514。在任一情况下,hwr系统114将编辑笔划1508、1510、1512或1514检测为在第一段落1500和第二段落1503之间。该编辑笔划相对于(识别的)文本1500和1503的这种相对位置(例如,在段落之间的空行中)提供了编辑手势的上述特性之一,而从下到上的书写方向或“之”字型提供了另一特性。

仅仅考虑这些特性可以确定用户意在编辑手势将在检测到的位置处段落1500和1503接合在一起或者删除段落1500和1503之间的空行,由此,识别结果如图15c中所示,在图15c中,段落1500和1503接合成新的(第三)段落1516,新的段落1516包含在第一行1516a中(在第一行410上)的第一段落1500的内容和第二段落1503的单词1504、以及在第二行1516b中(第二行410上)的第二段落1503的单词1506和句号1507,其中第一行1516a和第二行1516b之间具有间隔(例如,行1516a的结束间隔)。因此,接合后的段落的内容被重排以产生单个段落,因为这被认为是用户接合段落的意图。然而,备选地,可以提供换行符以使得不发生重排。在那种情况下,获得与图13d和图13e所示的接合示例中的识别结果类似的识别结果,其中,使用从下到上编辑手势1508、1510或1512或“之”字型手势1514来跨越段落1500和1503之间换行符而不是结束间隔。

可以使用类似的接合或间隔(或换行符)来删除手势来去除分隔的段落之间的更多间隔(换行符)。例如,图16a示出了(第一)单行段落1600和(第二)单行段落1604,其中(第一)单行段落1600包括在(第一)行410上的若干个单词“two”1601和“paragraphs”1602以及在单词1602之后的句号1603、在第一行410正下方的两个空白(第二和第三)行410、在第三行410上的换行符(类似于图10d的示例),并且,(第二)单行段落1604包括在第三行410正下方的(第四)行410上的若干个单词“unspace”1605和“paragraphs”1606以及在单词1606之后的句号1607。检测到在第一段落1600的结束处(例如,在句号1603的右侧)的编辑手势1608、在段落1600和1604之间的在空白第二行410处的编辑手势1610或者在空白第三行410处的编辑手势1612、以及在第二段落1604的开头处(例如,在单词1605的左侧)的编辑手势1614中的任何一个手势,每个手势都是单笔划形式的从下到上的竖直线的输入。hwr系统114将编辑笔划1608、1610、1612或1614检测为在被两个空行410分隔的第一段落1600和第二段落1604之间。该编辑笔划相对于(识别的)文本1600和1604的这种相对位置(例如,在段落之间的空行中)提供了编辑手势的上述特性之一,而从下到上的书写方向提供了另一特性。

仅仅考虑这些特性可以确定用户意在编辑手势508在检测到的位置处去除段落1600和1604之间的空行之一,由此识别结果如图16b中所示,在图16b中,第二段落1604移动到第三行410上,并且相应地去除了换行符,两个段落的特性以其他方式被保持。尽管未具体示出,但应理解,可以通过检测段落1600和1604之间的划掉手势来获得类似的识别结果。

图17a示出了对图11b的示例识别结果执行的用于删除段落之间的空行的示例操作。在图17a中,间隔删除手势1700被检测为在所示出的显示位置中的单笔划形式的从下到上的竖直线的输入。hwr系统114将编辑笔划1700检测为在段落416和418之间的两个空行410之一(第三行410)上。类似于前面的示例,编辑笔划1700相对于(识别的)段落416和418的这种相对位置(例如,在分隔的段落之间的空行上)提供了编辑手势1700的上述特性之一,而从下到上的书写方向提供了另一特性。仅仅考虑这些特性可以确定用户意在编辑手势1700在检测到的位置处将段落416和418之间的一个空行410删除,同时去除段落之间的换行符(未示出)。因此,标题418移动到先前空(第三)行410上,并且段落420相应地类似地向上移动一行410,使得段落420的最后一行436重新出现,并且显示返回到如图4中所显示的那样。

图17b示出了用于接合段落416和418或者删除段落416和418之间的其余空行的示例操作。在图17b中,接合或间隔删除手势1702被检测为在所示出的显示位置中的单笔划形式的从下到上的竖直线的输入。hwr系统114将编辑笔划1702检测为在段落416和418之间的空行410(第二行410)处。类似于前面的示例,编辑笔划1702相对于(识别的)段落416和418的这种相对位置(例如,在分隔的段落之间的空行上)提供了编辑手势1702的上述特性之一,而从下到上的书写方向提供了另一特性。仅仅考虑这些特性可以确定用户意在编辑手势1702在检测到的位置处将段落416和418接合或者删除段落416和418之间的空行410。

该识别结果在图17c中示出,在图17c中,段落418的单个单词被重排到段落416的最后一行438上(例如,在句号440之后),以形成新的段落442。因此,段落420向上移动两行410(到第三行410),在段落420和442之间留下空(第二)行410,类似于图15c的识别结果示例。根据该识别的上下文和/或应用112的设置,该识别结果可以在检测到的接合/删除位置处提供换行符,而不会发生如图17c所示的重排。这种备选的识别结果在图17d中示出,在图17d中,段落418移动到在段落416的最后一行438(第一行410)正下方的先前的空(第二)行410上,以形成新的段落444,段落444具有在新的最后一行446上的段落418的单个单词,并且在行438上的句号和行446之间有换行符(未示出)。因此,段落420向上移动一行410(到第四行410)。

上述示例示出了使用所描述的从下到上的单笔划接合或删除间隔手势或“之”字型多方向单笔划或多笔划划掉手势,来将单行段落或多行段落接合成单个段落或删除单独段落之间的间隔。认为:针对示例中所示的从左到右语言输入的竖直流场景,这些手势相对直观地接合对象块或删除对象块之间的间隔。然而,应当理解,也可以使用沿不同方向的单笔划手势(特别是对于水平流语言)、多笔划手势、或者非方向性手势(比如,轻击)。

上述编辑手势用于执行关于手写内容的断开、拆分或间隔操作以及接合或间隔删除操作。其它编辑操作也是可能的。图18a示出了单行段落1800,其包括如由其间的间隔限定的若干个单词“erase”1802、“one”1804和“char”1806以及单词1806之后的句号1807。例如,编辑手势1808被检测为在所示的显示位置中的通过用户将他/她们的手指或触笔尖以左右倾斜的方式滑动若干次而形成的成单笔划多方向形式的倾斜的“之”字型线的输入。hwr系统114将编辑笔划1808检测为(实质上)在单词1804的(整个)字符“e”1804a之上。编辑笔划1808相对于(识别的)文本1800的这种相对位置(例如,在单个字符上)提供了编辑手势1808的上述特性之一,而“之”字型提供了另一特性。

仅仅考虑这些特性可以确定用户意在编辑手势1808删除单词1804的字符1804a,由此识别结果如图18b中所示,在图18b中,删除了字符1804a,留下了单词1804的字符“o”1804b和“n”1804c,形成新的单词“on”1809。可以看出,段落1800的特征以其他方式被保持。至少出于前面讨论的原因(例如,考虑到倾斜、基线的相交叉、单词“on”比“onw”更高的概率等),认为hwr系统114将(倾斜的)“之”字型手势1808识别为划掉删除手势是相对鲁棒的。然而,使用这样的手势可能需要一定量的精度,从而不会错误地删除多于一个的字符。因此,可以为这种字符删除操作提供备选或附加的手势。

图18c示出了单行段落1800,其中具有编辑手势1810,编辑手势1810例如被检测为通过用户沿倾斜方向从左下到右上滑动他/她的手指或触笔尖而形成的单笔划形式的从下到上的倾斜线的输入。也就是说,按照时间顺序,笔划开始位置在笔划结束位置的下方,且笔划结束位置在笔划开始位置的右侧,如从左下到右上逐渐增粗的笔划所描绘的。图18d示出了单行段落1800,其中具有编辑手势1812,编辑手势1812例如被检测为通过用户从下到上向右螺旋地滑动他/她的手指或触笔尖而形成的单笔划形式的从下到上的卷曲线的输入。也就是说,按照时间顺序,笔划开始位置在笔划结束位置的左下方,如从左下到右上逐渐增粗的笔划所描绘的。hwr系统114将编辑笔划1810和编辑笔划1812检测为(实质上)在单词1804的(整个)字符1804a之上。编辑笔划1810和1812相对于(识别的)文本1800的这种相对位置(例如,在单个字符上)提供了编辑手势1810和1812的上述特性之一,而编辑手势1810的从左下到右上的书写方向和编辑手势1812的卷曲的书写方向各自提供了另一特性。

仅仅考虑这些特性可以确定用户意在编辑手势1810和1812各自删除单词1804的字符1804a,由此识别结果如图18b所示。至少出于前面讨论的原因(例如,考虑到倾斜、基线的相交叉、单词“on”的良好概率等),认为hwr系统114将该(倾斜的)从下到上的手势1810识别为删除手势是相对鲁棒的。此外,至少出于前面讨论的原因(例如,考虑到倾斜、卷曲的形状、单词“on”的良好概率等),认为hwr系统114将该(卷曲的)从下到上的手势1810识别为“猪尾(pig-tail)”式删除手势是相对鲁棒的。然而,类似于划掉手势,使用这样的手势可能需要一定量的精度,从而不会错误地删除多于一个的字符。

应用112可以被配置为将输入的编辑笔划显示为具有例如图18a、图18b或图18c所示的形状或一些其它适当的呈现的数字墨水,直到执行识别的编辑操作为止,或者可以仅执行编辑操作而没有这种显示。检测到的编辑手势的显示可以用于向用户提供关于手势本身及其相对位置的识别的识别反馈。否则,最终的编辑操作(例如,图18b中所示的修改后的显示)可以以其它方式用于这种反馈。

类似的删除手势可以用于删除单词的多个字符。例如,图19a示出了多行段落1900,其包括在段落1900的第一行1900a中的“erase”1902和“several”1904(在第一行410上)、在段落1900的第二行1900b中的“characters”1906这几个单词以及在第二行1900b中的在单词1906之后的句号1907(在第一行410的正下方的第二行410上),并且第一行和第二行之间有间隔。编辑手势1908被检测为(实质上)在单词1906的(整个)一系列字符1906a之上,被检测为多方向单笔划的竖直“之”字型线的输入。类似地,在图19b中,被检测为单笔划形式的从左到右的竖直线的输入的编辑手势1910被检测为(实质上)在单词1906的(整个)一系列字符1906a之上。在任一种情况下,hwr系统114将编辑笔划1908或1910检测为穿过单词1906的一系列字符1906a。编辑笔划相对于(识别的)文本1900的这种相对位置(例如,在一系列字符上)提供编辑手势的上述特性之一,而“之”字型或从左到右(水平)书写方向提供另一特性。

仅仅考虑这些特性可以确定用户意在编辑手势删除单词1906的一系列字符1906a,由此识别结果如图19c所示,在图19c中,删除了多个字符1906a,留下了单词1906的一系列字符“char”1906b和字符“s”1906c,分别形成两个新的单词1912和1914。可以看出,段落1900的特征以其它方式被保持,并且被去除的字符被代替为间隔,没有重排字符1906c以接合单词1906b中的字符1906b。本示例中这么做是因为认为用户意在删除多个字符以添加新的字符。然而可以理解的是,可以有或设置不同的考虑,例如接合被部分删除的单词的其余字符。应当理解,可以利用单个擦除编辑手势或单个间隔删除手势来实现擦除多个顺序连续(sequentiallike)要素(比如,文本或间隔字符)。

至少出于前面讨论的原因(例如,考虑到倾斜、基线的相交叉、穿过若干个字符需要较少的精度),认为hwr系统114将该“之”字型手势1908识别为划掉删除手势是相对鲁棒的。此外,例如,认为hwr系统114将水平手势1910识别为删去删除手势是相对鲁棒的,因为水平手势1910穿过若干个字符需要较少精度,是众所周知的用于删除的编辑手势,并且被hwr系统114识别为关于识别的文本1900的字符,具有相对较低的概率,因为作为连字符或短划线字符来说可能相对太长了。

应用112可以被配置为将输入的编辑笔划显示为具有例如图19a或图19b所示的形状或一些其它适当的呈现的数字墨水,直到执行识别的编辑操作为止,或者可以仅执行编辑操作而没有这种显示。检测到的编辑手势的显示可以用于向用户提供关于手势本身及其相对位置的识别的识别反馈。否则,最终的编辑操作(例如,图19c中所示的修改后的显示)可以用于这种反馈。

可以使用类似的删除手势从行(或段落)中删除一个或多个单词。例如,图20a示出了单行段落2000,其包括由之间的间隔限定的若干个单词“erase”2002、“one”2004和“word”2006以及在单词2006之后的句号2007。编辑手势2008被检测为(实质上)在(整个)单词2006和句号2007之上,被检测为成多方向单笔划形式的为竖直“之”字型线的输入。类似地,在图20b中,被检测为单笔划形式的从左到右的水平线的输入的编辑手势2010被检测为(实质上)在(整个)单词2006和句号2007之上。在任一种情况下,hwr系统114将编辑笔划2008或2010检测为穿过单词2006和句号2007。编辑笔划相对于(识别的)文本2000的这种相对位置(例如,在单词上)提供编辑手势的上述特性之一,而“之”字型或从左到右(水平)书写方向提供另一特性。

仅仅考虑这些特性可以确定用户意在编辑手势删除单词2006和句号2007,由此识别结果如图20c所示,在图20c中,删除了单词2006和句号2007,留下了单词2002和2004。

此外,图21a示出了单行段落2100,其包括由之间的间隔限定的若干个单词“erase”2102、“two”2104和“words”2106以及在单词2006之后的句号2107。编辑手势2108被检测为(实质上)在(整个)单词2104和2106以及句号2107之上,被检测为多方向单笔划形式的竖直“之”字型线的输入。类似地,在图21b中,被检测为单笔划形式的从左到右的水平线的输入的编辑手势2110被检测为(实质上)在(整个)单词2104和2106以及句号2107之上。在任一种情况下,hwr系统114将编辑笔划2108或2110检测为穿过单词2104和2106以及句号2007。编辑笔划相对于(识别的)文本2100的这种相对位置(例如,在单词上)提供编辑手势的上述特性之一,而“之”字型或从左到右(水平)书写方向提供另一特性。

仅仅考虑这些特性可以确定用户意在编辑手势删除单词2104和2106以及句号2107,由此识别结果如图21c所示,在图21c中,删除了单词2104和2106以及句号2107,留下了单词2102。

可以使用类似的删除手势从多行段落中删除单词。例如,图22a示出了多行段落2200,其包括在段落2200的第一行2200a中的“erase”2202和“several”2203(在第一行410上)、在段落2200的第二行2200b中的由其间的间隔限定的“words”2204、“at”2205和“once”2206这几个单词以及在单词2206之后的句号2207(在第一行410的正下方的第二行410上),并且第一行和第二行之间有间隔。编辑手势2208被检测为(实质上)在(整个)单词2203、2205和2206以及句号2207之上,被检测为成多方向单笔划形式的为竖直“之”字型线的输入。hwr系统114将编辑笔划2208检测为穿过单词2203、2205和2206以及句号2207。编辑笔划相对于(识别的)文本2200的这种相对位置(例如,在单行上的若干单词上)提供了编辑手势的上述特性之一,而“之”字型提供了另一特性。

仅仅考虑这些特性可以确定用户意在编辑手势删除单词2203、2205和2206以及句号2207,由此识别结果如图22b所示,在图22b中,在相应行2200a和2200b上,删除了单词2203、2205和2206以及句号2207,留下了单词2202和2204,两个行之间具有间隔。本示例中这么做是因为认为用户意在删除多个单词以向多行段落添加新的单词。然而,应该理解,可以有或设置不同的考虑因素。例如,图22c示出了备选的识别结果,其中单词2204被重排在第一行410上,位于单词2202之后,这两个单词之间有间隔,由此形成新的单行段落2210。和以前一样,认为划掉和删去手势是相对鲁棒的识别。

图23示出了对图4的输入示例执行的用于删除单词的示例操作。在图23a中,删去删除手势2300被检测为在所示出的显示位置中的单笔划形式的从左到右的水平线的输入。hwr系统114将编辑笔划2300检测为(实质上)在段落416的行434中的(整个)单词448之上。类似于前面的示例,编辑笔划2300相对于(识别的)段落416的这种相对位置(例如,在段落的单词上)提供了编辑手势2300的上述特性之一,而从左到右的(水平)书写方向提供了另一特性。仅仅考虑这些特性可以确定用户意在编辑手势2300删除段落416的单词448。

该识别结果在图23b中示出,在图23b中,省略了单词446,相应地对行434上的其余单词进行重排(到左边缘404的),将单词450从行438向上重排到行434,位于其它(重排的)单词之后,并且对行438上的其余单词和句号进行重排(到左边缘404的)。执行该重排是由于行434和438之间存在间隔(未示出)。可以看出,由于内容保持在编辑的段落416的行438上,因此下游内容(即,段落418和420)不移动。

可以使用类似的删除手势从多行段落中删除一行或多行文本。例如,图24a示出了多行段落2400,其包括在段落2400的第一行2400a中的“erase”2402和“one”2403(在第一行410上)、在段落2400的第二行2400b中的由其间的间隔限定的“line”2404、“of”2405和“text”2406这几个单词以及在第二行2400b中的在单词2406之后的句号2407(在第一行410的正下方的第二行410上),并且第一行和第二行之间有间隔。编辑手势2408被检测为(实质上)在段落2400的(整个)行2404b(例如,单词2404、2405和2406以及句号2407)之上,被检测为成多方向单笔划形式的为竖直“之”字型线的输入。类似地,在图24b中,被检测为单笔划形式的从左到右的水平线的输入的编辑手势2410被检测为(实质上)在(整个)行2400b之上。在任一情况下,hwr系统114将编辑笔划2408或2410检测为穿过行2400b。编辑笔划相对于(识别的)文本2400的这种相对位置(例如,在一行的所有单词上)提供了编辑手势的上述特性之一,而“之”字型或从左到右的(水平)书写方向提供了另一特性。

仅仅考虑这些特性可以确定用户意在编辑手势删除行2400b(包含单词2404、2405和2406和句号2407),由此识别结果如图24c所示,在图24c中,省略了第二行,留下了具有单词2402和2403的第一行2400a。

此外,图25a示出了多行段落2500,其包括(第一)行2500a、(第二)行2500b和(第三)行2500c这几个行,其中每个行各自分别包含由其间的间隔限定的一系列单词2502、2504和2506,并且第三行2500c中单词2506之后有句号2507,每行之间都有间隔。编辑手势2508被检测为(实质上)在段落2500的(整个)第一行2500b和第二行2500c(例如,一系列单词2504、2506和句号2507)上,被检测为成多方向单笔划形式的为竖直“之”字型线的输入。类似地,在图25b中,被检测为单笔划形式的从左下到右上(倾斜的)线的输入的编辑手势2510被检测为(实质上)在段落2500的(整个)第一行2500b和2500c上。在任一情况下,hwr系统114将编辑笔划2508或2510检测为穿过行2500b和2500c两者。编辑笔划相对于(识别的)文本2500的这种相对位置(例如,在分隔的行上的若干个单词上)提供了编辑手势的上述特性之一,而“之”字型或从左下到右上的(倾斜的)书写方向提供了另一特性。

仅仅考虑这些特性可以确定用户意在编辑手势删除第二行2500b和第三行2500c(包含一系列单词2504和2506和句号2507),由此识别结果如图25c所示,在图25c中,省略了第二行和第三行,留下了具有一系列单词2502的第一行2500a。和以前一样,认为划掉和倾斜的删去手势是相对鲁棒的识别。

可以使用类似的删除手势来删除一个或多个单行段落和/或多行段落。例如,图26a和图26b分别示出了多行段落2600,在多行段落2600上分别输入了由hwr系统114检测到的(实质上)在(整个)段落2600上的划掉和倾斜的删去删除手势2602和2604,从而确定用户意在每个编辑手势删除整个段落2600。此外,图27a和图27b分别示出了(由一个空行410分隔开的)多行段落2700和单行段落2701,其中分别在段落2700和2701上输入了由hwr系统114检测的(实质上)在(整个)段落2700和2701(和段落2700和2701之间的空行410)上的划掉和倾斜的删去删除手势2702和2704,从而确定用户意在每个编辑手势删除段落2700和2701两者。

上述示例示出了使用所描述的(相对直的)从左下到右上的单个倾斜笔划删除手势、从左下到右上的单个卷曲笔划删除手势、从左到右的多方向的单个倾斜笔划删除手势、以及(相对直的)从左到右的单个水平删除手势,来从单词和文本行中删除单个字符(字母、符号等)、从一个或多个文本行中删除单个或多个单词、从一个或多个单行段落或多行段落中删除单个或多个文本行、以及删除一个或多个单行段落或多行段落。认为:针对示例中所示的从左到右语言输入的竖直流场景,这些手势相对直观地删除对象块的要素或对象块自身。然而,应当理解,也可以使用沿不同方向和形式的单笔划手势(特别是对于水平流语言)、多笔划手势、或者非方向性手势(比如,轻击)。

上述编辑手势用于执行关于手写内容的断开、拆分或间隔操作以及接合或间隔删除操作。其它编辑操作也是可能的。图28示出了多行段落2800,其例如作为手写内容被输入到输入区域408,总体上在行图案410的行上,并且在设备的界面表面104上呈现为数字墨水。图29示出了其中被输入且呈现为数字墨水2900的附加手写内容的图28的段落2800。附加内容2900包括下划线2902和下划线2904,下划线2902写在段落2800的(第一)行2806上的多个单词“can”2802和“replace”2804的下方,下划线2904写在第一行2806上的若干个单词“kevboard”2808和“and”2810以及在段落2800的随后(第二)行2814上的单词“mouse”2812的下方。hwr系统114可以通过对附加内容2900进行识别来将该内容视为是针对段落2800的识别文本的下划线内容。然而,本系统和方法提供了用于将这种“内容”视为编辑手势的机制,如下所述。

在笔和纸的上下文中,用户可以针对部分或整个段落使用下划线或其它装饰(比如,双下划线、圆圈、椭圆、方框、着色)来强调其中的某些文本或整个段落本身、或甚至是文档的章节。因此,由于本系统和方法的应用112将手写输入(特别是笔记记录的输入)呈现为数字墨水,并且允许继续与该数字墨水交互(比如,编辑)作为用于文档创建和共享的手写,因此手写装饰被维持成如用户输入它们时的样子,或者如后面详细描述的那样被美化。这维持了用户提供装饰的意图,同时笔记/文档被保持为手写(数字墨水)形式。

本系统和方法通过hwr系统114还提供了一种用于通过将数字墨水排版或字体化(fontification)为排版墨水来数字化或转换手写输入的机制。特别地,提供该功能以用于允许创建至少接近最终文档的文档以用于传送和共享,例如,将被编辑和格式化为数字墨水(formatted)的手写笔记转换成可以原本是使用键盘(和相关联的手势产生设备)产生的排版文档。然而,在这样的排版文档中,使用类似于手写装饰的装饰可能不能提供相同的强调效果,或者不适合看起来专业的文档结果。因此,本系统和方法确定将要应用于这种装饰输入的附加信息。例如,这样做是为了允许将这些装饰转换为排版文档内的风格改变,并有助于区分纯内容和编辑手势。

例如,图30示出了将具有图29的装饰2900的段落2800排版成排版段落3000的结果。如可以看出的,应用112使数字墨水下划线2902和2904转换为用于段落2800的关联单词2802、2804、2808、2810和2812的排版墨水版本的粗体字体。通过这种方式,加下划线的单词的适当强调被保持在排版文档中,从而保持用户的意图。可以理解,粗体字体的样式仅是示例,并且可以提供其它字体,如稍后所讨论的。此外,如果合适的话,也可以维持原始的装饰风格,例如将下划线2902和2904呈现为排版下划线。此外,可以使用不同的装饰来应用不同的样式(稍后讨论)。输入装饰排版或风格改变是可以经由应用112的ui设置的。

为了适当识别装饰输入和该输入与内容(例如,数字墨水单词、段落)的关联,hwr系统114检测现有(识别的)内容与新输入的(可能的)装饰输入之间的几何和空间关系。可以根据hwr系统114的各种模型(特别是语言模型)容易地识别诸如形状、下划线之类的装饰。通过这种识别的装饰与所识别装饰的类型相关的最接近内容的相对位置来确定这些关联。例如,下划线通常是水平线,通常位于段落的一个或多个字符、单词或行的下方,其中下划线与其上方的那些要素相关。

使用手写手势编辑内容时出现的问题是可能为内容选择和应用控制提供类似的手势。例如,用户可以意在将内容(例如,一个或多个单词)圈住来选择该内容以用于交互(例如,复制或剪切和粘贴、或拖放或推放操作)。使用手写手势编辑内容时出现的另一问题是,可能会为内容本身提供类似的输入,特别是在支持非文本输入的情况下。例如,用户可以将圆圈输入为图表或绘画中的圆圈。因此,应用112必须能够区分这些事件,以便确定并适当地遵守用户的意图。

在可用的数字笔记记录应用中,提供了分离的笔或触写笔以明确区分这些事件。例如,一支笔可以用于关于数字墨水的文本输入和简单文本编辑(例如,覆写、删去等),另一支笔用于绘画或非文本输入,并且另一支笔用于选择内容和复杂的内容编辑(比如,装饰)。文本、绘画和选择笔设置有可以被设备和应用检测以使笔彼此区分的编码等。备选地,这些笔中的一支或多支可以设置有用于通过选择或切换(例如,通过按压笔上的按钮)来展现这些属性中的多于一个的属性的能力。然而,申请人已经发现用户不理解必须使用不同的硬件或者操纵硬件以用于特定功能。

因此,本系统和方法使得能够在没有功能选择的情况下使用单个输入设备(比如,用户的手指/手或触写笔)来执行所有内容和交互输入,由此使用单个工具来处理内容、装饰和选择。应用112区分这些以确定用户意图。这通过初始将被识别为可能的装饰输入的所有合适输入默认视为装饰、并且将被识别为非文本输入的所有输入默认视为非文本来完成的。非文本的识别是通过由本系统和方法实现的识别系统例如以在如下文献中描述的方式来提供的,所述文献是以本申请人和受让人的名义提交的题为“systemandmethodofhandwritingrecognitionindiagrams”的美国专利申请no.14/955,155,其全部内容通过引用并入本文中。

关于默认装饰分类,如果应用112检测到与被确定为与识别的装饰相关联的内容的随后或进一步(具有大约1至3个笔划和/或大约50ms至大约500ms的合适时间延迟)交互,则处理改变为选择输入的处理。例如,当输入被检测到并被识别为围绕一个或多个单词的圆圈时,hwr系统114将该圆圈分类为装饰,使得无论样式或编辑已被设置用于圆圈装饰还是可被设置用于圆圈装饰,在排版时都将被应用。然后,如果诸如单点或多点手势(例如,轻击或双击)的手势被检测为关于该圆圈的和/或由该圆圈围绕的单词的下一输入,则该输入被视为选择,并且应用112去除该装饰分类。备选地,如果下一输入是在内容的非关联部分中写入的其它内容或其它手势,则保持装饰分类。也可以例如通过ui为用户提供这种手势输入的手动指定。

使用手写手势提供可编辑的数字墨水内容的装饰所引起的另一问题是:在编辑或改变设备方向、窗口大小显示或设备显示时适当呈现装饰,这会触发重新显示数字墨水内容(比如,重排和段落大小调整等)。下面对此进行详细描述。

图31a示出了具有图29的装饰2900的段落2800。编辑手势3100被检测为在所示出的显示位置中的单笔划形式的从上到下的竖直线的输入。hwr系统114将编辑笔划3100检测为在单词2808和2810之间穿过。类似于图6的示例,编辑笔划3100相对于(识别的)文本2800和装饰2900的这种相对位置(例如,在单词之间的间隔中)确定用户意在编辑手势3100在检测位置处将段落2800的第一行2806断开或拆分成两行。该识别结果在图31b中示出,在图31b中,单词2810移动到第二行2814,相应地,单词2812移动到段落2800的随后(第三)行2816上,并且下游内容移动到下一行上。这样做是因为段落2800在行2814和2816之间具有换行符(未示出)。备选地,拆分后的单词2810可以重排到行2814上,相应地,单词2812也被重排在该行2814上。在任何一种情况下,由于单词2808、2810和2812与下划线2904相关联,因此也需要编辑下划线2904。

下划线2904实际上是以两个部分输入的,行2806上的(第一)部分2904a和行2814上的(第二)部分2904b。下划线部分2904b简单地随着相关联的单词2812一起移动,如图31b所示。然而,下划线部分2904a与单词2808和2810两者相关联,因此被编辑手势3100断开。因此,下划线部分2904a(例如,通过hwr系统114的分段器)被分段成(第一)分段3102和(第二)分段3104。第一分段3102包含下划线部分2904a中的在编辑手势3100与下划线部分2904a相交叉的位置左侧的所有数字墨水,由此保持在段落2800的行2806上,并保持相对于单词2808的相对位置。第二分段3104包含下划线部分2904a中的在编辑手势3100与下划线部分2904a相交叉的位置右侧的所有数字墨水,由此移动到段落2800的行2814上,并保持相对于单词2810的相对位置。

可以看出,下划线部分2904a的第一分段3102的最终显示可能不完全令用户满意,因为下划线现在突出,超过带下划线的单词2808。在本示例中,这可能不会有太大的问题,但是可以理解的是,当分段后的装饰不能令人满意地显示时可能出现情况,其示例在后面描述。可以配置装饰的分段以省略一部分数字墨水,使得编辑后的显示更令人满意。例如,可以“剪切”第一分段3102,使得最右边的范围不突出超过带下划线的单词2808的最后一个字符。然而,这种省略的适当程度可能难以确定并以一般的方式应用于不同类型的内容和装饰。这在当被呈现为数字墨水的手写不是很整洁(例如,手写是粗略的、歪斜的、起伏的等)的情况下尤其由此,使得在与数字墨水本身的形式不相关的任意位置处剪切数字墨水会导致所得到的编辑数字墨水的易读性问题。

备选操作是重新缩放数字墨水而不是剪切。然而,这样的重新缩放还可能导致所得到的缩放后的数字墨水太小或太大或手写的缺陷被强调的问题。以合理方式缩放数字墨水的可能处理在以本申请人和受让人的名义提交的题为“systemandmethodforhandwrittendiagramconnectors”的美国专利申请14/955,174中得以描述,该专利的全部内容通过引用并入本文中。

本系统和方法还提供了数字墨水和完全字体化成为排版墨水之间的中间步骤。这中间步骤是美化。在美化处理中,应用112和/或hwr系统114确定数字墨水的极值、平均和均匀特性,并且应用与hwr系统114的预处理116类似的平滑和归一化。得到了美化的数字墨水,其保持了手写的“原始”质量,并且增加了易读性和规则性。这样的美化可以是应用112的可选设置。关于上述讨论的关于编辑装饰的“原始”数字墨水的问题,本系统和方法能够将美化应用于装饰,装饰可以与数字墨水内容一起或单独地被美化,以最小化所提到的问题。这是因为,美化后的装饰本质上是规则的,因此可以以可控的、已知和预期的方式剪切、调整大小、缩放等。现在描述对美化后装饰的编辑操作的示例。

图32示出了如图29所示的段落2800,其中,装饰2900呈现为美化后的数字墨水装饰3200。因此,下划线2902被转换为“接近”排版下划线3202,并且下划线2904被转换为“接近”排版下划线3204,下划线3204中具有相关联的部分3204a和3204b。备选地,美化后的版本可以具有完全排版的质量。对于本示例,即相对较细的下划线,这些版本之间的差异可能是微不足道的。然而,对于更具风格的装饰(例如,具有草图类型的笔划的二维形状),美化后的数字墨水被认为更接近地反映了文档的预期手写形式,以便在最终定为完全数字化的文档之前的后续工作。

图33a示出了具有图32的装饰3200的段落2800。编辑手势3300被检测为在所示出的显示位置中的单笔划形式的从上到下的竖直线的输入。hwr系统114将编辑笔划3300检测为在单词2802和2804之间穿过。类似于图31a的示例,编辑笔划3300相对于(识别的)文本2800和装饰3200的这种相对位置(例如,在单词之间的间隔中)确定用户意在编辑手势3300在检测位置处将段落2800的第一行2806断开或拆分成两行。该识别结果在图33b中示出,在图33b中,单词2804移动到第二行2814,相应地,第一行2806的其余单词移动到第二行2814上(包括单词2808和2810以及下划线3204的(第一)部分3204a),并且将单词2812重排在该行2814上。示出该重排以图示图31b的换行符操作结果的备选。可以看出,段落2800的其它部分保持不变。

该编辑操作使得重新呈现下划线3202和3204,如下。下划线3202(例如,通过hwr系统114的分段器)被分段成(第一)分段3302和(第二)分段3304。第一分段3302包含下划线3202中的在编辑手势3300与下划线3202相交叉的位置的左侧的、仅归属于单词2802并在其下方的美化后的数字墨水。即,省略了下划线3202中的、从单词2802的最右侧字符范围起始到编辑手势3300与下划线3202相交叉为止的美化后的数字墨水。与针对“原始”数字墨水的处理相比,针对美化后的数字墨水的处理更为简单,这是因为美化后的数字墨水沿着下划线的长度具有合理不变的呈现,因此可以在任意位置处剪切而不损失质量或含义。第二分段3304包含下划线3202中的在编辑手势3300与下划线3202相交叉的位置的右侧的美化后的数字墨水。

对于下划线3204,第一部分3204a和第二部分3204b在段落2800的行2814上接合,以形成具有第一部分3204a和第二部分3204b的组合长度和相对于单词2802、2810和2812的相对位置的新的美化后的数字墨水下划线3306。与针对“原始”数字墨水的处理相比,针对美化后的数字墨水的处理更为简单,这是因为美化的数字墨水沿着下划线的长度具有合理的不变呈现,因此可以在任意位置处接合而不会丢失质量或含义,而“原始”数字墨水下划线2904的下划线部分2904a和2904b可能需要进行显著调整才允许接合,这可能不适合以一般方式应用。

如可以看到的,图33b中所得到的显示保持着对内容的原始装饰的清晰指示。图34示出了将具有图33b的装饰3300的段落2800排版成排版段落3400的结果。如可以看出的,应用112以与图30的示例中的方式类似的方式,使美化后的数字墨水下划线3302、3304和3306转换为用于段落2800的关联单词2802、2804、2808、2810和2812的排版墨水版本的粗体字体。通过这种方式,加下划线的单词的适当强调被保持在排版文档中,从而保持用户的意图。

提供美化后的装饰还可以有助于在其它编辑操作时合理地重新显示加装饰的内容。图35a示出了具有图32的装饰3200的段落2800。编辑手势3500被检测为在所示出的显示位置中的单笔划形式的从左到右的水平线的输入。hwr系统114将编辑笔划3500检测为(实质上)穿过(整个)单词2810。类似于图20b的示例,编辑笔划3500相对于(识别的)文本2800和装饰3200的这种相对位置(例如,穿过单词)确定用户意在编辑手势3500从段落2800中删除单词2810。该识别结果在图35b中示出,其中省略了单词2810。

该编辑操作使得如下地重现呈现了下划线3204。在图35a中在单词2810下方的下划线部分3204a(例如,通过hwr系统114的分段器)被分段成分段3502,分段3502包含下划线3204中的仅归属于单词2808并且在其下方的美化后的数字墨水。即,省略了下划线3204中的、从单词2808的最右侧字符范围起始的美化后的数字墨水。可以看出,段落2800的其它部分保持不变。至少由于以上讨论的原因,与针对“原始”数字墨水的处理相比,针对美化后的数字墨水的处理更简单。在备选方案中,如果认为用户意在删除操作用于在其位置插入新内容,则可以保持整个下划线部分3204a不变,这将保持下划线。

此外,图35c示出了具有图35b的修改后的装饰3200的段落2800。进一步的手写内容的输入被检测为在段落2800的行2806上的(加装饰的)单词2808的右侧的输入,并且被显示为已被hwr系统114识别为单词“and/or”的数字墨水内容3504。当新内容被检测为位于加装饰的单词2808和2812之间时,该编辑操作使得如下地重新呈现下划线3504。

在图35c中位于单词2808下方的下划线3504从单词2808的最右侧范围延伸到在添加的内容3504的下方的最右侧,由此形成新的美化后的数字墨水下划线3506,如图35d所示。可以看出,段落2800的其它部分保持不变。至少由于以上讨论的原因,与针对“原始”数字墨水的处理相比,针对美化后的数字墨水的处理更简单。在备选方案中,下划线可以保持不变而不在新的内容下延伸,由此如果用户的意图是类似地对新内容加下划线,则可以做出新的装饰输入,此时应用112可能将新的下划线与下划线3504接合以形成新的下划线3506。

上述装饰示例涉及相对简单的装饰形式,即,单笔划形式的的单条线的下划线。如前所述,更复杂的装饰形式是可能的,包括围绕或接近手写内容的二维装饰(例如,圆圈、椭圆、方框)。

图36示出了单行段落3600,类似于图6a,单行段落3600包括如由其间的间隔限定的若干个单词“break”3602、“a”3604和“line”3606以及单词3606之后的句号3607。然而,与图6a不同,例如,hwr系统114检测到手绘或手写的装饰3608位于单词3602、3604和3606以及句号3607周围,并且装饰3608被识别为椭圆并以“原始”数字墨水呈现。图37a示出了编辑手势3700,其被检测为在所示出的显示位置中的单笔划形式的从上到下的竖直线的输入。hwr系统114将编辑笔划3700检测为在单词3602和3604之间穿过。类似于图6的示例,编辑笔划608相对于(识别的)文本700的这种相对位置(例如,在单词之间的间隔内)提供了编辑手势708的上述特性之一,而从上到下的书写方向提供了另一特性。

仅仅考虑这些特性可以确定用户意在编辑手势3700在检测到的位置处将单行的段落3600断开或拆分成两行。该识别结果在图37b中示出,在图37b中,段落3600断开成两个文本行3600a和3600b,其中在行3600a,段落3600的原始(第一)行410上具有单词3602,并且在行3600b,段落3600中的在第一行410的正下方的下一(第二)行410上有单词3604和3606以及句号3607,单词3602和单词3604之间有间隔。可以看出,段落3600的特征以其他方式被保持。如上面关于图6所描述的,本系统和方法可以使用所考虑的附加特性(比如,编辑笔划3700的竖直范围与页面400的输入环境和/或最接近对象的组合特性相比较)来进一步验证这样的识别结果。在任何情况下,因为单行被拆分成两行,因此还需要编辑关联的椭圆3608,以便装饰继续围绕所有(之前被围绕的)内容。这在图37b中示出,在图37b中,椭圆被重新调整大小和/或缩放成新的“原始”数字墨水装饰3702,以围绕段落3600的编辑后的或重新显示的内容。

可以看出,装饰3702的结果显示可能不完全令用户满意,因为它与原始装饰3608很大不同。在本示例中,这可能不会有太大的问题,但是可以理解的是,当重新调整大小后的装饰不能令人满意地显示时可能出现状况,其示例在后面描述。可以配置装饰的重新调整大小或缩放,以使所得到的缩放后的数字墨不会太小或太大、或者强调手写中的缺陷,如先前通过引用并入的题为“systemandmethodforhandwrittendiagramconnectors”的美国专利申请no.14/955,174所讨论的。

图38示出了将具有图37b的装饰3702的段落3600排版成排版段落3800的结果。可以看出,应用112使数字墨水椭圆3702转换为段落3600的关联内容3602至3607的排版墨水版本的粗体字体。通过这种方式,加装饰(被圈住)的内容的适当强调被保持在排版文档中,从而保持用户的意图。可以理解,粗体字体的样式仅是示例,并且可以提供字体改变或其它字体化或样式,如稍后所讨论的。此外,可以使用不同的装饰来应用不同的样式(稍后讨论)。输入装饰或风格改变的这种排版是可以经由应用112的ui可设置的。

图39示出了具有被输入且呈现为数字墨水3900的附加手写内容的图28的段落2800。附加内容3900包括书写成围绕段落2800的(第一)行2824上的多个单词“documents”2818、“with”2820和“clean”2822的椭圆。hwr系统114可以通过对附加内容3900进行内容识别来将该内容视为是与段落2800的识别文本有关的非文本要素(例如,椭圆)。然而,如上所述,本系统和方法提供了将这种“内容”视为用于编辑的进一步手势的机制,这种编辑例如使得在内容的排版(美化)版本中,加装饰的内容的样式与未加装饰的内容的样式不同。

图40a示出了具有图39的装饰3900的段落2800。编辑手势4000被检测为在所示出的显示位置中的单笔划形式的从上到下的竖直线的输入。hwr系统114将编辑笔划4000检测为在单词2820和2822之间穿过。类似于图31的示例,编辑笔划4000相对于(识别的)文本2800和装饰3900的这种相对位置(例如,在单词之间的间隔中)确定用户意在编辑手势4000在检测位置处将段落2800的第一行2824断开或拆分成两行。该识别结果在图40b中示出,在图40b中,单词2822移动到(第二)行2826,相应地,第二行2826上的内容移动到随后的行410上。以这种方式,在行2826上的移动后的单词2822之后提供换行符。备选地,可以实现如图40c所示的识别结果,在该识别结果中,单词2822移动到第二行2826上,相应地,对第二行2826上的内容进行重排。在任何一种情况下,因为单词2818、2820和2822与椭圆3900相关联,因此还需要编辑装饰3900,使得装饰继续围绕所有(之前围绕的)内容。这在图40b和图40c中均有示出,其中,椭圆被复制并重新调整大小和/或缩放成围绕段落2800的单词2818和2820的新的“原始”数字墨水装饰3902以及围绕段落2800的单词2822的新的“原始”数字墨水装饰3904。

可以看出的,(拆分得到的)装饰3902和3904的最终显示可能不完全令用户满意,因为它与原始装饰3900有较大不同(例如,对于随后的样式而言,不清楚所有被圈住的内容是否被视为是相同的)。因此,与以上讨论的一维装饰(例如,下划线)一样,也可以通过应用112和/或hwr系统114类似于hwr系统114的预处理116那样确定数字墨水的极值、平均和/或均匀特性并且应用平滑和归一化来美化二维装饰。

图41示出了图36的单行段落3600。然而,与图36不同,应用112和/或hwr系统114将手绘或书写的装饰3608的美化后的数字墨水版本呈现为位于单词3602、3604和3606和句号3607的周围的“接近”排版椭圆4100。图42a示出了编辑手势4200,其被检测为在所示出的显示位置中的单笔划形式的从上到下的竖直线的输入。hwr系统114将编辑笔划4200检测为在单词3602和3604之间穿过。类似于图37a的示例,编辑笔划4200相对于(识别的)文本3600的这种相对位置(例如,在单词之间的间隔内)提供了编辑手势4200的上述特性之一,而从上到下的书写方向提供了另一特性。

仅仅考虑这些特性可以确定用户意在编辑手势4200在检测到的位置处将单行的段落3600断开或拆分成两行。该识别结果在图42b中示出,在图37b中,段落3600断开成两个文本行3600a和3600b,其中在行3600a,段落3600的原始(第一)行410上具有单词3602,并且在行3600b,段落3600中的在第一行410的正下方的下一(第二)行410上有单词3604和3606以及句号3607,单词3602和单词3604之间有间隔。可以看出,段落3600的特征以其他方式被保持。如上面关于图37所描述的,本系统和方法可以使用所考虑的附加特性(比如,编辑笔划4200的竖直范围与页面400的输入环境和/或最接近对象的组合特性相比较)来进一步验证这样的识别结果。在任何情况下,因为单行被拆分成两行,因此还需要编辑关联的椭圆4100,以便装饰继续围绕所有(之前被围绕的)内容。这在图42b中示出,在图42b中,椭圆被重新调整大小和/或缩放成新的美化后的装饰4202,以围绕段落3600的编辑或重新显示后的内容。可以看出,美化后的装饰4202没有被调整大小成仅围绕内容,而是保持了原始大小。然而,不必这样做,并且可以进行调整大小。然而,例如,如果认为用户的意图是拆分操作,则不重新调整大小可以有助于随后将进一步的输入包括到加装饰的部分中。

提供这种美化后的二维装饰可以有助于在编辑操作时合理地重新显示内容。例如,图43示出了图39的内容,但数字墨水椭圆3900被呈现为围绕段落2800的第一行2824上的单词2818、2820和2822的美化后的数字墨水椭圆4300。图44示出了图40b的识别结果,但“原始”数字墨水装饰3902和3904被复制、重新调整大小和/或缩放,而呈现为围绕段落2800的第一行2824和第二行2826上的单词2818、2820和2822的美化后的数字墨水椭圆4400。以这种方式,例如,在行2826上的移动单词2822之后提供的换行符和“延伸的”美化后的数字墨水装饰4400保持清晰,即对于随后样式来说,所有被圈住的内容将被视为是相同的。

对美化后的装饰进行类似的编辑操作可以减少装饰的大小,而不是延伸。例如,图45a示出了由美化后的装饰4502围绕的多行段落4500,并且该段落4500的单词4504被检测到的编辑手势4506删除。删除的识别结果如图45b所示,在图45b中,省略了单词4504,相应地对下游内容进行重排,使得段落4500变成单行段落,并且美化后的装饰4502的大小被减小为仅围绕现在单行段落4500的内容。

图46示出了图4的示例输入的示例装饰。在图46中,检测到其它输入手写,所得到的显示为:标题412由“原始”数字墨水椭圆4600围绕,标题414由“原始”数字墨水下划线4602加下划线标注,段落416的单词452和454由“原始”数字墨水下划线4604加下划线标注,并且标题418由“原始”数字墨水下划线4606加下划线标注。图47示出了图46的示例装饰被呈现为美化后的数字墨水。也就是说,在图47中,“原始”数字墨水椭圆4600被呈现为美化后的数字墨水椭圆4700,“原始”数字墨水下划线4602被呈现为美化后的数字墨水下划线4702,“原始”数字墨水下划线4604被呈现为美化后的数字墨水下划线4704,并且“原始”数字墨水下划线4606被呈现为美化后的数字墨水下划线4706,其中美化后的形式具有与未美化的形式实质上相同的范围。

如前面所讨论的,当数字墨水内容被转换为排版墨水时,应用和/或hwr系统114可以将这些装饰视为指示某种样式改变。该样式应用可以被执行,而不管在转换之前显示的是原始的数字墨水还是美化后的数字墨水。图48示出了在排版之后的图46和图47的内容。这可以例如响应于在页面400和/或设备100的界面表面104中的指定位置或任何位置中检测到手势(比如,单点手势或多点手势,比如轻击或双击)而执行。可以看出,响应于页面400的不同内容区域中的不同装饰,排版后的风格对于不同级别的内容来说是不同的。例如,响应于圆圈装饰,标题412被呈现为很大(与内容的其它部分相比)并且是粗体字体,以提供文档或章节标题,响应于针对由标题414和418表示的隔离单行段落的下划线装饰,标题414和418被呈现为较小(与章节标题412相比)但仍然较大(与内容的其它部分相比),并且是倾斜字体,以提供章节或子章节标题,以及,响应于针对主体段落内容的下划线装饰,段落416的加下划线的内容452和454被呈现为粗体字体。这些被应用的风格仅是示例,其它样式类型也是可能的,例如更多层次的标题风格、文本和/或背景的着色等。

由于可以针对不同的排版结果提供不同的装饰类型(比如,不同的样式),并且由于本系统和方法涉及使用内容和手势的手写输入提供尽可能多的与内容的交互,因此可以通过另外的手写输入来提供用于改变或编辑装饰本身的能力。例如,利用不同的装饰覆写或附加装饰会改变原始装饰,例如,向用于向段落应用标题3风格的下划线装饰被附加了第二下划线,以创建双下划线装饰,以应用标题2风格。例如,利用不同的装饰来覆些或附加装饰会取消所有装饰,例如,从左至右的下划线提供了一个装饰,用从右向左的下划线进行覆写会取消装饰,类似于“回退”。例如,利用编辑手势覆写或附加装饰会改变或删除装饰,例如,(实质上或部分地)在装饰上的划掉去除装饰,而不去除与该装饰相关联的内容。

本系统和方法提供了一种应用,该应用允许用户(比如,学生、学术人员和在职专业人员)在例如讲座、会议和头脑风暴会期间、以与文字处理文档类似的浅显易懂的且可共享的格式来在他/她们的计算设备上记录手写笔记。本系统和方法还由于书写是在(网格)线上进行的而允许输入自然书写,并且响应于取向(即,纵向或横向)和设备显示能力而遵守段落和其它布局要素。可以在应用中直接与在笔记中创建的手写或排版文本或非文本内容进行进一步交互(比如,编辑内容、操纵笔记的布局、或者将笔记转换到文档中或将笔记添加到文档中),而无需将笔记导入到单独的文档处理应用中。因此,手写笔记的原始布局被维持为如同实际输入的手写本身数字墨水一样。因此,为了便于理解所记录的笔记,维持注释、装饰、特殊布局等。

尽管前文已经描述了被视为是最佳实施方式的内容和/或其它示例,但是应当理解:可以在本发明中进行各种修改,并且可以以各种形式和示例来实现本文中所公开的主题,并且最佳实施方式的内容和/或其它示例可以应用于多个其它应用、组合和环境中,这里仅描述了其中的一些。本领域普通技术人员将认识到,在不脱离本主题的真实精神和范围的情况下,可以改变或修改所公开的方案。因此,主题不限于本说明书中的具体细节、展示和示例。本文旨在保护落入本文所公开的优势概念的真实范围内的任何和所有修改和变化。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1