CN110673780B - 带有手写识别的电子绘图 - Google Patents
带有手写识别的电子绘图 Download PDFInfo
- Publication number
- CN110673780B CN110673780B CN201910586944.4A CN201910586944A CN110673780B CN 110673780 B CN110673780 B CN 110673780B CN 201910586944 A CN201910586944 A CN 201910586944A CN 110673780 B CN110673780 B CN 110673780B
- Authority
- CN
- China
- Prior art keywords
- bitmap
- input
- vector representation
- vector
- stroke
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 claims abstract description 91
- 238000012986 modification Methods 0.000 claims abstract description 75
- 230000004048 modification Effects 0.000 claims abstract description 75
- 238000009877 rendering Methods 0.000 claims abstract description 46
- 239000013598 vector Substances 0.000 claims description 293
- 230000004044 response Effects 0.000 claims description 16
- 230000000007 visual effect Effects 0.000 claims description 12
- 238000005516 engineering process Methods 0.000 abstract description 19
- 230000008569 process Effects 0.000 description 34
- 238000010586 diagram Methods 0.000 description 18
- 230000015654 memory Effects 0.000 description 15
- 238000012545 processing Methods 0.000 description 11
- 230000036541 health Effects 0.000 description 8
- 230000002085 persistent effect Effects 0.000 description 7
- 230000006870 function Effects 0.000 description 5
- 230000000694 effects Effects 0.000 description 4
- 230000036961 partial effect Effects 0.000 description 4
- 241001422033 Thestylus Species 0.000 description 3
- 230000002093 peripheral effect Effects 0.000 description 3
- 239000004065 semiconductor Substances 0.000 description 3
- 238000013503 de-identification Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000000873 masking effect Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000003825 pressing Methods 0.000 description 2
- 230000002829 reductive effect Effects 0.000 description 2
- 230000010076 replication Effects 0.000 description 2
- 238000010079 rubber tapping Methods 0.000 description 2
- 238000000638 solvent extraction Methods 0.000 description 2
- 241000258963 Diplopoda Species 0.000 description 1
- 230000004931 aggregating effect Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 229940079593 drug Drugs 0.000 description 1
- 239000003814 drug Substances 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 238000009499 grossing Methods 0.000 description 1
- 230000000670 limiting effect Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 239000003550 marker Substances 0.000 description 1
- 230000007935 neutral effect Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000009528 vital sign measurement Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/80—Creating or modifying a manually drawn or painted image using a manual input device, e.g. mouse, light pen, direction keys on keyboard
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0487—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
- G06F3/0488—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
- G06F3/04883—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures for inputting data by handwriting, e.g. gesture or text
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/20—Drawing from basic elements, e.g. lines or circles
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/20—Drawing from basic elements, e.g. lines or circles
- G06T11/203—Drawing of straight lines or curves
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/10—Character recognition
- G06V30/32—Digital ink
- G06V30/333—Preprocessing; Feature extraction
- G06V30/347—Sampling; Contour coding; Stroke extraction
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Human Computer Interaction (AREA)
- Multimedia (AREA)
- Processing Or Creating Images (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
本公开涉及带有手写识别的电子绘图。本文公开了一种主题技术,所述主题技术的各方面提供了用于带有手写识别的电子绘图的系统和方法。电子设备可以包括一个或多个处理器,所述处理器被配置为接收对在所述显示器上呈现的对象的修改输入,并且基于所述修改输入在所述显示器上执行所述对象的第一重新呈现。所述一个或多个处理器还可以被配置为基于所述修改输入生成所述对象的至少一个基于多边形的表示,并且基于所述至少一个基于多边形的表示,在所述显示器上执行所述对象的第二重新呈现。
Description
相关申请的交叉引用
本申请要求2018年7月2日提交的名称为“ELECTRONIC DRAWING WITHHANDWRITING RECOGNITION”的美国申请序列号16/025,931的部分继续申请,其全部内容以引用方式并入本文。
技术领域
本说明书整体涉及电子绘图系统和方法,更具体地涉及带有手写识别的电子绘图。
背景技术
一些电子设备提供了电子绘图功能,通过该电子绘图功能,用户可以使用他们的手指在触摸屏或触摸板上、或者使用触摸屏或触摸板上的触笔设备在表面上或在空中的三维中输入绘图输入。绘图输入存储在存储器中,并且可以在电子设备的显示器上显示,以供用户查看。
附图说明
本主题技术的一些特征在所附权利要求书中被示出。然而,出于解释的目的,在以下附图中阐述了本主题技术的若干实施方案。
图1示出了根据一个或多个具体实施的示例网络环境,其中可以实现用于带有手写识别的电子绘图的系统。
图2示出了根据一个或多个具体实施示出的绘图笔划输入的示例性条目的示意图。
图3示出了根据一个或多个具体实施的示出擦除笔划对呈现的位图的影响和绘图笔划输入的相关联矢量表示的示意图。
图4示出了根据一个或多个具体实施示出的可以生成的用于基于擦除笔划修改绘图笔划输入的矢量表示的各种多边形的示意图。
图5A示出了根据一个或多个具体实施的示出选择和移动操作对呈现的位图的影响和绘图笔划输入的相关联矢量表示的示意图。
图5B示出了根据一个或多个具体实施的示出涂污或模糊操作对呈现的位图的影响和绘图笔划输入的相关联矢量表示的示意图。
图6示出了根据一个或多个具体实施的示出绘图笔划输入的增强矢量表示的示意图。
图7示出了根据一个或多个具体实施的示出部分擦除笔划对绘图笔划输入的增强矢量表示的影响的示意图。
图8示出了根据一个或多个具体实施的示出涂污笔划对绘图笔划输入的增强矢量表示的影响的示意图。
图9示出了根据一个或多个具体实施的示出擦除笔划对绘图笔划输入的增强矢量表示的影响的示意图。
图10示出了根据一个或多个具体实施的可编辑徒手绘画中的字符识别的示意图。
图11示出了根据一个或多个具体实施的使用位图呈现和编辑以及矢量手写识别的电子绘图的示例过程的流程图。
图12示出了根据一个或多个具体实施的使用增强矢量绘图的电子绘图的示例过程的流程图。
图13示出了根据一个或多个具体实施的使用增强矢量绘图的电子绘图的另一个示例过程的流程图。
图14示出了可用以实现本主题技术的一个或多个具体实施的电子系统。
具体实施方式
下面示出的具体实施方式旨在作为本主题技术的各种配置的描述并且不旨在表示本主题技术可被实践的唯一配置。附图被并入本文并且构成具体实施方式的一部分。具体实施方式包括具体的细节旨在提供对本主题技术的透彻理解。然而,本主题技术不限于本文阐述的具体细节,而是可以采用一个或多个其他具体实施来实践。在一个或多个具体实施中,以框图形式示出了结构和部件,以便避免使本主题技术的概念模糊。
用于电子设备的电子绘图应用程序可为用户提供以下能力:使用绘图输入笔划和/或绘图修改笔划来提供绘图输入以擦除绘图的部分,涂污绘图的部分,选择并移动绘图的部分,并且/或者相对于绘图输入/修改笔划遮盖绘图的部分(例如,使用标尺绘图工具)。输入笔划诸如绘图笔划输入或绘图修改笔划的可以由用户提供,例如,通过使用用户的手指、触笔设备或其他输入设备滑动、敲击、按压或以其他方式与触摸屏或触摸板交互,滑动、敲击、按压或以其他方式使触笔设备与被动表面交互,使触笔设备在空中移动,移动鼠标,单击鼠标按钮或触笔设备,或以其他方式提供物理输入以生成电子图中的物理输入的对应空间表示。
电子绘图应用程序可以包括生成、存储和呈现用于显示和编辑的位图(例如,位图像素值的阵列)的位图绘图应用程序,以及生成、存储和呈现绘图输入笔划的矢量表示的矢量绘图应用程序。位图绘制应用程序生成并存储位图(例如,位图像素值的网格,诸如在.png文件中),并允许对所存储/显示的位图进行位图编辑操作,诸如绘制、擦除、涂污和过滤位图像素值所存储的位图直接对应于由设备显示器显示的图像。位图编辑操作修改了所存储的位图像素值和对应的显示器像素亮度和/或颜色。然而,识别用位图绘图应用程序绘制的字符可能很困难。
电子绘图应用程序还可以包括矢量绘图应用程序,其生成并存储绘图笔划输入的矢量表示。矢量表示可以包括一个或多个控制点、一个或多个曲线和/或描述曲线的视觉呈现特征的元数据,诸如线条宽度、线条样式、颜色等。基于存储的矢量表示来呈现为用户显示的图像。矢量绘图允许用户删除整个笔划,并无损地缩放和旋转整个笔划或笔划组合。矢量表示可用于有效地检测手绘字符,诸如字母和数字。然而,用矢量表示提供无缝绘图特征诸如擦除和涂污可能是困难的,并且移除笔划的擦除可能使得难以进行手写识别。
在一些场景中,可以通过切割绘图笔划输入的矢量表示(例如,在笔划的任一侧生成两个矢量表示)并基于切片的矢量重新呈现所显示的图像来提供用矢量表示的擦除。该矢量切片对于利用矢量表示的手写识别可能是有帮助的,然而,从切片矢量重新呈现和绘制的图像可能在视觉上令用户不愉快,特别是当呈现相对较厚的笔划时。
在其他场景中,一些位图程序存储一系列位图操作,这可以促进类似矢量的绘图功能,诸如删除整个笔划。然而,这种类型的位图序列通常被高速缓存以避免减缓对绘图的重新呈现,这可能是记忆和计算密集型的。
相比之下,并且如下文进一步详细描述的,本主题技术的各个方面提供用于显示的位图表示和用于手写识别的矢量表示两者。矢量表示可独立于位图表示。例如,矢量表示可能包括用于完全呈现用户的预期绘图的不充分信息,因为该矢量表示不用于显示。这样,提供了对于用户来说最自然的视觉位图编辑体验,结合对于手写识别有用的矢量表示的背景存储。
本公开的各方面还提供了增强的矢量表示,其可以用于手写识别和类似位图的绘图体验,而无需存储和显示位图表示。增强的矢量表示可以包括绘图矢量,其对应于围绕绘制对象的多边形(例如,通过绘图笔划输入和/或将对象分成较小对象的擦除操作而形成)。对应于多边形的绘图矢量可以便于编辑与选择、移动和/或擦除对象有关的操作。此外,增强的矢量表示可以包括主矢量(例如,每个多边形的中心处的单个线/曲线),其可以便于手写识别。
图1示出了根据一个或多个具体实施的示例网络环境100,其中可以实现用于带有手写识别的电子绘图。然而,并非所有所描绘的部件均可在所有具体实施中使用,并且一个或多个具体实施可包括与图中所示的那些相比附加的或不同的部件。可进行这些部件的布置和类型的变化,而不脱离本文所列出的权利要求的实质或范围。可提供附加的部件、不同的部件、或更少的部件。
网络环境100包括电子设备110、电子设备115和服务器120。网络106可以通信地(直接地或间接地)耦接电子设备110和/或服务器120、电子设备115和/或服务器120和/或电子设备110和/或电子设备115。
在一个或多个具体实施中,网络106可以是可包括互联网或可通信地耦接到互联网的设备的互连网络。出于解释的目的,网络环境100在图1中示出为包括电子设备110、电子设备115和服务器120;然而,网络环境100可以包括任何数量的电子设备,并且任何数量的服务器和/或电子设备110和115中的每个可以在无需连接到网络106或服务器120即可操作。
电子设备110可以是例如台式计算机;便携式计算设备,诸如膝上型计算机、智能电话、外围设备(例如,数字相机、耳机)、平板设备、可穿戴设备(诸如手表、腕带等);或者包括例如一个或多个无线接口的任何其他适当设备,诸如WLAN无线电设备、蜂窝无线电设备、蓝牙无线电设备、Zigbee无线电设备、近场通信(NFC)无线电设备和/或其他无线电设备。在图1中,以举例的方式,电子设备110被描绘为台式计算机,其包括可以用作绘图输入设备的输入设备(例如,可以与触摸板113一起使用或与其分开使用的鼠标111、触摸板113和/或触笔设备114),用于向电子设备110提供绘图笔划输入和绘图修改输入。
电子设备110还可以包括:显示器117,诸如非触摸显示器(例如,具有用于显示图像的像素显示器的显示器),用于显示绘图输入的位图或增强的矢量呈现;或包括触摸屏(例如,具有用于显示图像的显示器像素阵列的显示器以及接收基于触摸的输入的电容、电阻或其他触摸传感器电极的对应阵列),用于接收绘图输入和显示绘图输入的位图或增强的矢量呈现两者。电子设备110可以是和/或可以包括下文相对于图14论述的电子系统的全部或部分。在一个或多个具体实施中,电子设备110可以操作显示器117,以显示绘图输入的位图呈现,同时存储绘图输入的背景矢量表示。
电子设备115可包括显示器119诸如触摸屏,并且可以是例如便携式计算设备,诸如包括触摸屏的膝上型计算机、包括触摸屏的智能电话、包括触摸屏的外围设备(例如,数字相机、耳机)、包括触摸屏的平板设备、包括触摸屏的可穿戴设备(例如,手表、腕带等)、包括例如触摸屏的任何其他适当设备或者任何具有触控板的电子设备。在图1中,通过举例的方式,电子设备115被描绘成具有触摸屏的平板设备。在一个或多个具体实施中,电子设备115可以是和/或可以包括下文相对于图14论述的电子系统的全部或部分。在一个或多个具体实施中,电子设备115可以设置有触笔设备114,该触笔设备可以被使用(例如,除了用户的手指之外或作为用户的手指的替代),用于向显示器119的触摸传感器电极提供绘图输入。在一个或多个具体实施中,电子设备110可以显示绘图输入的位图呈现,同时存储绘图输入的背景矢量表示。
图2示出了根据一个或多个具体实施示出的绘图笔划输入的条目的示意图。如图2所示,触笔设备114(或用户的手指或其他输入设备)可用于向电子设备115提供绘图笔划输入202(例如,使用显示器119的触摸传感器电极)。如箭头220和222分别指出的那样,电子设备115生成绘图笔划输入202的位图208和矢量表示216。可以通过操作显示器119的显示器像素阵列来显示位图208以显示呈现的位图。矢量表示216独立于位图208,并且在一个或多个具体实施中,矢量表示216包括不足以呈现位图208的信息(例如,矢量表示216可以不含视觉表示元数据,用于呈现与所呈现的位图208在视觉上匹配的显示图像)。例如,位图208可以示出厚标记笔划,并且矢量表示216可以包括一个或多个控制点,诸如控制点214,以及曲线诸如曲线210(例如,表示细线的曲线)。矢量表示216还可以包括一个或多个偏移值,其描述曲线210相对于例如另一条曲线或曲线的一部分的原点或控制点的位置。曲线210可以存储为未呈现用于显示的细线的数学表示。例如,曲线210可以是b样条曲线、一组b样条曲线或一条或多条其他曲线,其描述了例如绘图笔划输入的中心处的细线。矢量表示216可以不含元数据,诸如线条样式、线条粗细、纹理、颜色等,其通常将被存储以用于呈现矢量绘图。
如图2所示,矢量表示216可以直接从绘图输入笔划或从位图208处生成。位图208可以包括位图像素值207的阵列。位图像素值207可以对应于背景值或值206,这些值表示与位图像素值207的位置对应的绘图笔划输入202的一部分的颜色、亮度或其他方面。位图像素值207可各自用于操作显示器119的一个或多个对应的显示器像素,以显示对应于绘图输入笔划的图像。
当接收到多个绘图笔划输入时,电子设备115可以生成一系列位图操作的矢量存储,然后将该位图操作序列呈现给位图208以用于显示和矢量表示216(例如,用于字符识别)两者。这样,提供了视觉位图编辑体验以及对于手写识别有用的矢量表示216。新的绘图笔划可以作为细线整体添加到矢量表示216。例如,矢量表示216中的每个笔划可以包括指向原始笔划的指针、该笔划的可见片段的开始和结束参数以及偏移。可以添加原始笔划,其中开始和结束参数作为该原始笔划的开始和结束以及零偏移。
在显示位图208之后由用户编辑输入可以包括:擦除导致值206的部分被设置为背景值205的笔划,涂污导致位图像素值207在相邻像素之间扩展的笔划(例如,使用多像素平滑功能),或者其他编辑输入,诸如选择和移动、选择和擦除、选择和重新缩放、选择和重新设置、相对于绘图输入/修改笔划或其他编辑输入遮盖绘图的部分(例如,使用标尺绘图工具)。如下文进一步详细描述的,此类编辑输入还引起矢量表示216的改变,其不反映在任何显示的呈现中。
可以响应于用户的请求周期性地执行手写识别操作,或者响应于新的绘图笔划输入或编辑输入以基于所存储的矢量表示识别与绘图笔划输入202相关联的文本。手写识别操作可以包括对矢量表示216中的所有矢量笔划的收集/迭代(和/或如下所述的矢量表示216的修改版本),并且每个笔划可以在沿着该笔划的样条线段的点上具有其自己的迭代器。
图3示出了显示器119上的位图208的所显示呈现。在图3的示例中,矢量表示216被示出为叠加在位图208上,尽管在操作场景中矢量表示216可能不会在显示器119上可视地显示。然而,图3中的矢量表示216的描绘示出了矢量表示216可以是如果被呈现,则将在位图208的位图像素值207的中心处或附近形成与绘图笔划输入202对应的细线的曲线。
在图3的示例中,已经为绘图笔划输入202接收到以擦除笔划300的形式的修改输入。如图所示,响应于接收擦除笔划300,电子设备115修改了存储的位图208的值206,擦除笔划300通过了该值(例如,通过将位图208的与擦除笔划300相交的那部分的值设置为背景值205)。电子设备115还基于修改输入(例如,图3中存储的擦除笔划300)修改所存储的矢量表示216。基于修改输入修改了存储和呈现的位图208的修改值,并且独立于对存储的矢量表示216的修改。
如图3所示,通过在擦除笔划300切穿曲线210的每个位置处将所存储的位图矢量表示(例如,分裂曲线210)分成擦除笔划的第一侧上的第一部分和擦除笔划的第二侧上的第二部分,响应于擦除笔划300修改矢量表示216。图3的示例包括在擦除笔划300的一部分的相对侧上的对应的第一部分和第二部分210A和210B、对应的第一部分和第二部分210B和210C、对应的第一部分和第二部分210C和210D、对应的第一部分和第二部分210D和210E、对应的第一部分和第二部分210E和210F、对应的第一部分和第二部分210F和210G、对应的第一部分和第二部分210G和210H、对应的第一部分和第二部分210H和210J、对应的第一部分和第二部分210J和210K、对应的第一部分和第二部分210K和210L、对应的第一部分和第二部分210L和210M、对应的第一部分和第二部分210M和210N,尽管这仅仅是说明性的。
如图所示,例如对于擦除笔划300通过曲线的每个实例,通过沿着曲线210识别对应于擦除笔划的边缘的新控制点320并设置新控制点320作为曲线210的第一和第二有效范围的端点,电子设备115可以将所存储的矢量表示分成擦除笔划的第一侧上的第一部分和擦除笔划的第二侧上的第二部分。例如,矢量表示的曲线210可以保持不变,除了部分210A-210N之外的曲线的某些范围是无效的(例如,防止在电子绘图的字符/手写识别操作中考虑)。
图4示出了通过将擦除笔划300转换为矢量轮廓诸如轮廓多边形400,然后使绘图笔划输入202的矢量表示216(例如,矢量呈现的b样条曲线)和/或任何其他绘图笔划与轮廓多边形400相交,可以由电子设备115识别的新控制点320。然后,电子设备115用指向相同原始笔划的零个或多个新段替换任何相交笔划。轮廓多边形400与曲线210的相交可以包括将曲线210(例如,b样条曲线)平坦化为具有添加的元数据的多边形402,然后使用多边形布尔运算库来执行轮廓多边形400和多边形402的相交。使用布尔运算库的相交生成相交的多边形404的元数据,该相交的多边形用于创建由新控制点320定义的相交的b样条段。这样,可以从所有绘图笔划的矢量表示中的所有相交笔划中减去擦除笔划300。
在接收到擦除笔划300之前和/或在接收到擦除笔划300并且如所描述的修改矢量表示216之后,可以基于矢量表示216识别与绘图笔划输入202相关联的文本。
尽管图3和图4的示例中的修改输入是擦除笔划,但是可以提供其他修改输入,诸如选择和移动修改输入和/或涂污(模糊)修改输入,分别如图5A和图5B所示。
图5A示出了用户选择所显示的位图208的值的一部分并将其从第一组位图像素移动到第二组位图像素的示例。在图5A的示例中,电子设备115接收对应于包围所呈现和显示的位图208的部分206B的边界的边界输入500。例如,用户可以利用设备的触摸屏和/或触笔在部分206B周围绘制圆形或非圆形边界。响应地,电子设备115识别由边界包围的位图像素的位图值。然后,如箭头502所示,电子设备115接收移动该边界的拖动输入。响应于拖动输入,电子设备115将由边界包围的位图208的位图值重新呈现到基于拖动输入确定的位置(例如,一组新的位图像素),从而将所显示的位图的部分206B与部分206A分开。这样,提供了电子绘图的套索和移动部分的位图操作。
为了进行示意性的说明,图5A与图4一样,示出了覆盖在位图208上的矢量表示216的曲线210,即使该曲线可能未显示给用户。除了上文针对位图208在选择和移动操作中描述的位图操作之外,响应于接收边界输入500,电子设备115还识别由边界包围的矢量表示216的一部分(例如,通过使边界与曲线210相交,以识别曲线上的相交点)。例如,上文结合图4描述的相同相交技术(例如,将曲线210转换为多边形并且执行与多边形的布尔相交)可以用于分割曲线210。
响应于由箭头502指示的所接收的拖动输入,电子设备基于该拖动输入将空间偏移应用于矢量表示的有界部分。例如,电子设备115可以在每个相交点处添加分段偏移诸如分段偏移504,并且在新端点520之间将曲线的新偏移部分识别为无效。电子设备115存储具有应用于矢量表示的一部分的空间偏移的矢量表示,而不呈现用于显示的矢量表示。矢量表示的移动部分以更新的偏移量存储。这样,选择和移动操作被视为所选区域的减法和移动位置处的新矢量笔划的添加。然后可以执行手写识别操作(例如,在选择和移动操作之前和/或之后),其将曲线210的有效范围210P-210X视为已修改,但是不考虑无效偏移范围诸如偏移504。
图5B示出了用户提供模糊了所显示的位图208的部分522的涂污笔划521的示例。如图5B的示例中所示,涂污笔划521与所显示的位图208的一部分相交,但是不与曲线210相交。在该示例中,部分522的位图像素被修改(例如,通过在那些位图像素和一个或多个相邻或周围像素中扩展那些位图像素的值,诸如通过将低通空间滤波器应用于位图像素),但曲线210未经修改。这样,允许模糊或涂污所显示的绘图,而不影响使用曲线210的文本识别操作。
又如,涂污笔划521可以通过进一步进入或完全通过所呈现的绘图笔划输入(例如,下文中称为“直通擦除笔划”)而与曲线210相交。在该示例中,可以使用上文结合图4描述的相同交叉技术(例如,从涂污笔划521处生成涂污矢量轮廓,将曲线210转换为多边形,并执行涂污矢量轮廓和多边形的布尔相交以识别曲线210的相交部分)来分割曲线210。然后可以修改曲线210的与涂污笔划521相交的部分(例如,通过对该部分应用减小的权重因子)。这样,可以为曲线210的涂污部分提供减少的重量以用于手写识别操作。
在上文结合图2至图5B描述的示例中,提供了电子绘图应用程序,其中显示位图以供用户查看和编辑,并且根据对所显示的位图的编辑来存储和修改矢量表示,并用于手写/字符识别。然而,在一些场景中,可以提供电子绘图应用程序,其中响应于绘图笔划输入(例如,不生成任何位图)生成增强的矢量表示。增强的矢量表示可以包括可以用于呈现和手写识别的矢量信息以及可以用于在不生成位图的情况下提供类似位图和矢量编辑两者的附加矢量信息。
图6示出了绘图笔划输入的一部分(诸如图2的绘图笔划输入202)的增强矢量表示的示例。当设备诸如电子设备115接收绘图笔划输入202时,电子设备115可以生成绘图笔划输入的增强矢量表示,该增强矢量表示包括主矢量610,其可以用作手写识别矢量。手写识别矢量可以是绘图笔划输入的中心处的单线/曲线。例如,主矢量610可包括一个或多个控制点和曲线诸如b样条曲线。
在图6的示例中,绘图笔划输入的增强矢量表示还包括形成多边形的绘图矢量612,利用该绘图矢量可以生成绘图笔划输入的矢量呈现606。在一些具体实施中,主矢量610可以与绘图矢量612结合使用以生成矢量呈现606。例如,矢量笔划呈现可以由多边形界定,该多边形由四个(或更少或更多)绘图矢量612形成。这样,提供了增强的矢量表示,其可用于提供类似位图的编辑能力,如图7至图9中进一步所示。
已经显示具有增强矢量表示的矢量呈现606的电子设备(诸如电子设备115)可以接收用于所显示的矢量呈现的绘图修改笔划。在图7的示例中,绘图修改笔划是与所显示的矢量呈现606的部分702相交但不完全通过所显示的矢量呈现的部分擦除笔划。在该示例中,设备修改至少一个绘图矢量612而不修改主矢量610(例如,手写识别矢量),并且基于所修改的至少一个绘图矢量修改矢量呈现606。例如,当接收到部分擦除笔划时,设备可以生成并存储对应于部分擦除笔划的擦除掩模700,将擦除掩模与多边形相交,该多边形与多个绘图矢量相关联(例如,通过使用如上所述的布尔运算库将绘图矢量612与擦除掩模相交),并基于相交修改任何相交的绘图矢量612(例如,通过使相交绘图矢量612的范围和矢量呈现的设置部分702无效,以根据无效范围和/或描述擦除部分的形状的元数据显示背景值)。
然而,其中修改笔划是部分擦除笔划的图7的示例仅是可以用于编辑矢量呈现606的修改笔划的一个示例。例如,图8示出了一个示例,其中修改笔划是旨在涂污或模糊矢量呈现606的部分702而不是如图6中那样擦除该部分的涂污笔划。
在图8的示例中,设备接收涂污笔划,修改至少一个绘图矢量612,而不修改主矢量610(例如,手写识别矢量),并且基于修改的至少一个绘图矢量修改矢量呈现606,以显示预期的涂污。例如,当接收到涂污笔划时,设备可以生成并存储对应于涂污笔划的涂污掩模800,将涂污掩模与多边形相交,该多边形与多个绘图矢量相关联(例如,通过使用如上所述的布尔运算库将绘图矢量612与涂污掩模相交),并基于相交修改任何相交的绘图矢量612(例如,通过显示先前显示在由该多边形外部的绘图矢量612形成的多边形边界内的呈现的一部分,诸如通过降低与相交的绘图矢量612的一侧相邻的像素的亮度,并相应地增加与该相交的绘图矢量612的相对侧相邻的像素的亮度)。
图9示出了对呈现的增强矢量表示的绘图修改输入的另一个示例,其中接收到擦除笔划,该擦除笔划在至少一个位置(例如,直通擦除笔划)处完全通过矢量呈现606。如图9的示例中所示,直通擦除笔划将矢量呈现的至少一部分二等分为第一部分和第二部分606A和606B。在图9的示例中,直通擦除笔划通过主矢量610和主矢量610的相对侧上的两个绘图矢量612。在图9的示例中,设备生成擦除掩模900,并且可以使主矢量610和绘图矢量612中的每一个平坦化(例如,以形成多边形)。平坦的矢量可以与擦除掩模900相交,并且可以修改任何相交的矢量,例如,如结合图7描绘的绘图矢量612。然后,设备可以基于所修改的绘图矢量和所修改的主矢量来修改矢量呈现606。
在该示例中,可以在擦除笔划条目之后添加一个或多个新绘图矢量612,以关闭在二等分部分610A和610B周围的矢量多边形,使得用户可以提供进一步的修改输入(例如,在任何位置擦除或涂污绘图,包括在由完整擦除笔划创建的新边缘处)。
如上文关于图6至图9所述,响应于接收绘图笔划输入(例如,绘图笔划输入202),电子设备115可以生成绘图笔划输入的增强矢量表示,并显示对应的矢量呈现606。然而,在一个或多个具体实施中,响应于接收绘图笔划输入,电子设备115可以替代地被配置为使用位图表示(例如,对应于图2中的值207)初始呈现绘图笔划输入202。此外,电子设备115可以随后接收绘图修改输入以修改所显示的位图。
例如,绘图修改输入可以对应于穿过整个位图表示的擦除笔划(例如,直通擦除笔划)。然而,相对于位图表示(例如,与对应于图9的增强矢量表示相反),可以基于位图操作来检测直通擦除笔划。例如,用于检测相对于绘图笔划输入的位图表示(例如,值207)和背景的位图表示(例如,背景值205)的对象、边缘、边界等的技术可以用于检测直通擦除笔划的发生。
在一个或多个具体实施中,电子设备115可以在位图表示的第一重新呈现期间最初应用位图编辑操作(例如,位图合成)。第一重新呈现可以显示由直通擦除笔划修改的位图表示(例如,实时地)。
此外,响应于检测到直通擦除笔划,电子设备115可以生成与所修改的位图表示对应的两个或更多个增强矢量表示。如上所述,增强的矢量表示可以包括绘图矢量612,其被生成以形成用于呈现的多边形。对应于所修改的位图表示的增强矢量表示可以包括绘图矢量以封闭由直通擦除笔划形成的边界,从而形成两个多边形(例如,类似于图9的606A和606B)。另外,主矢量610可以在每个多边形的中心处生成为单个曲线。主矢量610中的每个可以包括一个或多个控制点和曲线诸如b样条曲线。
在生成增强矢量表示之后,电子设备115可以执行第二重新呈现,以呈现两个多边形表示。如上所述,可以使用相对于初始位图表示执行的位图编辑操作(例如,位图合成)来实时地执行第一重新呈现。在完成绘图修改输入(例如,直通擦除笔划)之后,第一重新呈现可以在视觉上显示为初始位图表示的分割(例如,其中一个所显示的对象被分成两个较小的对象)。电子设备115的用户可以感知到第一重新呈现是实时发生的,而不必等待在呈现之前完成增强表示的生成。此外,第二重新呈现(例如,对应于两个多边形表示)可以代替第一重新呈现。第二重新呈现与第一重新呈现之间的显示差异可能是电子设备115的用户难以察觉或难以检测的。
在图7、图8和图9的任何示例中,可以存储增强矢量表示(例如,对应于多边形和/或主矢量610的绘图矢量612)和/或掩模(例如,擦除掩模、涂污掩模等)中的一个或多个,以进一步呈现和/或编辑。在图7、图8和图9的任何示例中,在擦除或涂污修改之前和/或之后,可以基于主矢量610和/或绘图矢量612执行手写识别操作,以用于基于所修改的手写识别矢量和/或所修改的绘图矢量612识别至少一个字符。例如,用户可以如图7的示例中那样擦除绘图笔划的一部分,以使手绘字母对于观看者更清楚。在该示例中,基于所修改的绘图矢量612识别文本可以提高识别预期字符的准确度。
在一个或多个具体实施中,存储增强矢量表示和/或掩模可以便于编辑操作,诸如擦除绘图的部分,涂污绘图的部分,选择和移动绘图的部分,并且/或者相对于绘图输入/修改笔划遮蔽绘图的部分(例如,使用标尺绘图工具)。此外,在完成直通擦除笔划之后,可以促进相对于绘图对象的编辑操作。例如,通过生成增强矢量表示(例如,利用对象周围的多边形边界),相对于对位图表示执行此类操作,可以启用或以其他方式促进对象选择、对象擦除和/或对象移动。
在一个或多个具体实施中,主题系统可以提供相对于对绘图的并发更新的冲突解决。例如,此类并发更新可以通过使用复制数据结构来实现,诸如无冲突复制数据类型(CRDT)。主题系统可以实现CRDT,其中每个CRDT可以对应于表示对数据的更新(例如,绘图数据)并且可以被复制的数据结构,使得可以独立地并发地更新副本而无需副本之间的协调。
在一个或多个具体实施中,CRDT可以用在分布式计算中,其中数据结构跨网络中的多个设备复制(例如,在多个设备同时对共享绘图进行更新的情况下)。另选地或另外地,CRDT可以用于跨相同过程的多个线程复制数据结构(例如,在单个设备上接收并发输入笔划和/或修改笔划的情况下)。
在一个或多个具体实施中,主题系统提供了相对于增强矢量表示使用CRDT,以解决并发绘图笔划/修改输入的冲突。例如,绘图笔划/修改输入可以与分布式环境(例如,输入来自不同设备)和/或相对于单个过程(例如,在同一设备上接收输入的情况)同时发生。
另外,主题系统可以实现“最后写入获胜”启发法,其中通过选择对应于最后写入操作的并发更新来确定性地解析并发绘图输入。并发绘图输入还可以与存储参数诸如路径、颜色和/或转换(例如,绘图笔划的移动)的数据结构相关联。此外,本公开的主题系统可以在父与子绘图输入之间提供此类参数的继承。这样,相对于移动对象的绘图输入,可以将一个或多个参数从父对象(例如,在移动之前)传递到子对象(例如,在移动之后/期间)。因此,在两个绘图输入设置笔划颜色的示例场景中,将仅执行一个绘图输入(例如,确定性地,基于最后写入获胜启发式),其中相对于所呈现的对象继承适当的参数。
本文描述的电子绘图系统和方法提供各种解决方案,其允许用户手绘文本和其他内容,无缝地编辑绘图,并且电子地识别绘图内的文本(例如,字符诸如字母、数字和特殊字符)。可以响应于用户的请求、或者响应于新输入或图形的修改,周期性地识别文本。如果需要,已经手绘的已识别文本可以由矢量呈现文本替换。
图10示出了用矢量呈现文本替换电子绘图中的手绘文本的示例。在图10的示例中,用户已生成手绘电子绘图1000,其包括形成快乐面部的绘图1001的绘图笔划1002,并且包括形成单词“快乐”的绘图1004的绘图笔划1002。可以基于从用户的输入笔画生成的位图(如图2至图4的示例中)或基于增强的矢量表示(如图6至图9的示例中)来显示所显示的电子绘图1000。在任一种情况下,绘图都可编辑,以擦除、涂污或以其他方式修改绘图,并且存储绘图笔划输入的背景矢量表示。当执行手写识别时,对应于绘图1004的绘图笔划1002被识别为字符,并且对应于绘图1001的绘图笔划1002可以被识别为非字符绘图笔划。如果执行手绘字符的替换,则可以在电子绘图1000中用如图所示的单词“快乐”的识别字符的矢量表示1010替换被识别为字符部分的绘图笔划1002,同时继续将快乐面部绘图1001的绘图笔划1002显示为手绘笔画(例如,作为位图值或增强的矢量呈现)。
图11示出了根据一个或多个具体实施的用于带有位图绘图和矢量手写识别的电子绘图的示例过程1100的流程图。出于解释的目的,本文主要参考图1的一个或多个设备(尤其是参考电子设备115)来描述过程1100,该过程可由图1的电子设备115的一个或多个处理器执行。然而,过程1100不限于电子设备115,并且过程1100的一个或多个框(或操作)可由其他合适的设备(诸如电子设备110或服务器120中的一者或多者)的一个或多个其他部件执行。进一步出于解释的目的,过程1100的框在本文中被描述为顺序地或线性地发生。然而,过程1100的多个框可并行发生。此外,过程1100的框不必按所示顺序执行,并且/或者过程1100的一个或多个框不必执行和/或可由其他操作替代。
在框1102处,设备诸如电子设备115接收绘图笔划输入(例如,如上结合图2的绘图笔划输入202所述)。在框1104处,该设备生成矢量表示,诸如绘图笔划输入的矢量表示216(例如,如以上结合图2所述)。
在框1106处,该设备基于绘图笔划输入并且独立于矢量表示(例如,如上结合图2所述)生成值的位图诸如图2的值206的位图208。矢量表示可以包括用于呈现与位图呈现匹配的矢量绘图的不足的信息。在框1108处,设备呈现位图以供显示器诸如设备的显示器200显示(例如,如上结合图2所述)。
在框1110处,设备存储所生成的位图和所生成的位图的矢量表示。如上结合例如图3至图5所述,可以使用擦除、涂污、选择和移动或其他位图绘图操作来显示和编辑所呈现的位图,同时修改底层(隐藏)矢量表示以结合用于手写识别操作的位图绘图操作。
图12示出了根据一个或多个具体实施的用增强矢量绘图的电子绘图的示例过程1200的流程图。出于解释的目的,本文主要参考图1的一个或多个设备(尤其是参考电子设备115)来描述过程1200,该过程可由图1的电子设备115的一个或多个处理器执行。然而,过程1200不限于电子设备115,并且过程1200的一个或多个框(或操作)可由其他合适的设备(诸如电子设备110或服务器120中的一者或多者)的一个或多个其他部件执行。进一步出于解释的目的,过程1200的框在本文中被描述为顺序地或线性地发生。然而,过程1200的多个框可并行发生。此外,过程1200的框不必按所示顺序执行,并且/或者过程1200的一个或多个框不必执行和/或可由其他操作替代。
在框1202处,电子设备诸如电子设备110接收绘图笔划输入(例如,如上结合图2的绘图笔划输入202所述)。在框1204处,电子设备生成手写识别矢量,诸如对应于绘图笔划输入的主矢量610(例如,如上结合图6所述)。
在框1206处,电子设备生成一个或多个绘图矢量,诸如对应于绘图笔划输入的绘图矢量612(例如,如上结合图6所述)。然后,电子设备可以基于手写识别矢量和/或绘图矢量来呈现绘图笔划输入的矢量表示以供显示。如上文结合例如图6至图9所述,手写识别矢量可以由一个或多个控制点和曲线表示,该曲线可用于手写识别和/或用于在显示器上呈现绘图笔划输入的视觉表示。如上文结合例如图6至图9所述,绘图矢量可以用于在显示器上呈现绘图笔划输入的视觉表示,使得用户可以执行绘制操作(通常仅可用于位图绘制)诸如擦除和涂抹,以及手写识别和其他矢量绘图功能,诸如移动或缩放绘图。
图13示出了根据一个或多个具体实施的使用增强矢量绘图的电子绘图的另一个示例过程的流程图。出于解释的目的,本文主要参考图1的一个或多个设备(尤其是参考电子设备115)来描述过程1300,该过程可由图1的电子设备115的一个或多个处理器执行。然而,过程1300不限于电子设备115,并且过程1300的一个或多个框(或操作)可由其他合适的设备(诸如电子设备110或服务器120中的一者或多者)的一个或多个其他部件执行。进一步出于解释的目的,过程1300的框在本文中被描述为顺序地或线性地发生。然而,过程1300的多个框可并行发生。此外,过程1300的框不必按所示顺序执行,并且/或者过程1300的一个或多个框不必执行和/或可由其他操作替代。
在框1302处,设备诸如电子设备115接收对在显示器上呈现的对象的修改输入。例如,在接收修改输入之前,设备可能已经接收到绘图笔划输入,基于绘图笔划输入生成值的位图,并且呈现位图以在显示器上显示,所呈现的位图对应于在显示器上呈现的对象。
在框1304处,设备基于所修改输入在显示器上执行对象的第一重新呈现。例如,第一重新呈现可以对应于基于修改输入的实时位图合成。
在框1306处,设备基于修改输入生成对象的至少一个基于多边形的表示(例如,增强矢量表示)。修改输入可以包括擦除笔划或基于标尺的笔划,该笔划定义对象的至少一个基于多边形的表示的边界。
修改输入可以对应于将对象分成第一部分和第二部分(例如,第一对象和第二对象)。至少一个基于多边形的表示可以包括对应于第一部分的第一基于多边形的表示和对应于第二部分的第二基于多边形的表示。
在框1308处,设备基于至少一个基于多边形的表示,在显示器上执行对象的第二重新呈现。对象的第二重新呈现可以替换显示器上的对象的第一重新呈现。生成至少一个基于多边形的表示并执行对象的第二重新呈现可以是基于用于并发修改输入的冲突解决的最后写入获胜启发法。
另外,设备可存储对象的至少一个基于多边形的表示,以便于编辑与对象的第二重新呈现相关联的操作。便利的编辑操作包括对象选择、对象擦除或对象移动中的至少一个。
此外,设备可以为该对象的至少一个基于多边形的表示生成至少一个中间剖面线,并存储至少一个中段剖面线以便于识别与对象的第二重新呈现相关联的文本。
设备可以接收对对象的第二重新呈现的第二修改输入,基于第二修改输入生成至少一个第二基于多边形的表示。设备可基于至少一个第二基于多边形的表示,执行对象的第三重新呈现,以替换显示器上的对象的第二重新呈现。
如上所述,本技术的一个方面是收集和使用特定和合法来源的数据,用于带有手写识别的电子绘图。本公开设想,在一些实例中,该所采集的数据可包括唯一地识别或可用于识别特定人员的个人信息数据。此类个人信息数据可包括人口统计数据、基于位置的数据、在线标识符、电话号码、电子邮件地址、家庭地址、与用户的健康或健身等级相关的数据或记录(例如,生命特征测量、药物信息、锻炼信息)、出生日期、或任何其他个人信息。
本公开认识到在本发明技术中使用此类个人信息数据可用于使用户受益。例如,个人信息数据可用于带有手写识别的电子绘图。因此,使用此类个人信息数据可便于事务处理(例如,在线事务处理)。此外,本公开还预期个人信息数据有益于用户的其他用途。例如,可以根据用户的偏好来使用健康和健身数据,以提供对其总体健康状况的见解,或者可用作使用技术来追求健康目标的个体的积极反馈。
本公开设想负责采集、分析、公开、传输、存储或其他使用此类个人信息数据的实体将遵守既定的隐私政策和/或隐私实践。具体而言,将期望此类实体实施和一贯地应用一般公认为满足或超过维护用户隐私的行业或政府所要求的隐私惯例。关于使用个人数据的此类信息应当被突出地并能够被用户方便地访问,并应当随数据的采集和/或使用变化而被更新。用户的个人信息应被采集仅用于合法使用。另外,此类采集/共享应只发生在接收到用户同意或在适用法律中所规定的其他合法根据之后。此外,此类实体应考虑采取任何必要步骤,保卫和保障对此类个人信息数据的访问,并确保其他有权访问个人信息数据的人遵守其隐私政策和流程。另外,这种实体可使其本身经受第三方评估以证明其遵守广泛接受的隐私政策和实践。此外,应针对便采集和/或访问的特定类型的个人信息数据调整政策和实践,并使其适用于适用法律和标准,包括可用于施加较高标准的辖区专有的具体考虑因素。例如,在美国,对某些健康数据的收集或获取可能受联邦和/或州法律的管辖,诸如健康保险流通和责任法案(HIPAA);而其他国家的健康数据可能受到其他法规和政策的约束并应相应处理。
不管前述情况如何,本公开还预期用户选择性地阻止使用或访问个人信息数据的实施方案。即本公开预期可提供硬件元件和/或软件元件,以防止或阻止对此类个人信息数据的访问。例如,就带有手写识别的电子绘图而言,本公开技术可被配置为允许用户在注册服务期间或者在之后的任何时间选择“加入”或“退出”参与对个人信息数据的收集。除了提供“选择加入”和“选择退出”选项外,本公开设想提供与访问或使用个人信息相关的通知。例如,可在下载应用时向用户通知其个人信息数据将被访问,然后就在个人信息数据被应用访问之前再次提醒用户。
此外,本公开的目的是应管理和处理个人信息数据以最小化无意或未经授权访问或使用的风险。一旦不再需要数据,通过限制数据采集和删除数据可最小化风险。此外,并且当适用时,包括在某些健康相关应用中,数据去标识可用于保护用户的隐私。可在适当时通过移除标识符、控制所存储数据的量或特异性(例如,在城市级别而不是在地址级别采集位置数据)、控制数据如何被存储(例如,在用户间汇集数据)、和/或其他方法诸如差异化隐私来促进去标识。
因此,虽然本公开广泛地覆盖了使用个人信息数据来实现一个或多个各种所公开的实施方案,但本公开还预期各种实施方案也可在无需访问此类个人信息数据的情况下被实现。即,本发明技术的各种实施方案不会由于缺少此类个人信息数据的全部或一部分而无法正常进行。
图14示出了可用以实现本主题技术的一个或多个具体实施的电子系统1400。电子系统1400可以是图1所示的电子设备110、电子设备114和/或服务器120并且/或者可以是其一部分。电子系统1400可包括各种类型的计算机可读介质以及用于各种其他类型的计算机可读介质的接口。电子系统1400包括总线1408、一个或多个处理单元1412、系统存储器1404(和/或缓存)、ROM 1410、永久性存储设备1402、输入设备接口1414、输出设备接口1406以及一个或多个网络接口1416,或其子集及变体形式。
总线1408总体表示通信地连接电子系统1400的许多内部设备的所有系统总线、外围设备总线和芯片组总线。在一个或多个具体实施中,总线1408将一个或多个处理单元1412与ROM 1410、系统存储器1404和永久性存储设备1402通信地连接。一个或多个处理单元1412从这些各种存储器单元检索要执行的指令和要处理的数据,以便执行本主题公开的过程。在不同的具体实施中,一个或多个处理单元1412可为单个处理器或者多核处理器。
ROM 1410存储一个或多个处理单元1412以及电子系统1400的其他模块需要的静态数据和指令。另一方面,永久性存储设备1402可为读写存储器设备。永久性存储设备1402可为即使在电子系统1400关闭时也存储指令和数据的非易失性存储器单元。在一个或多个具体实施中,海量存储设备(诸如,磁盘或光盘及其相应盘驱动器)可被用作永久性存储设备1402。
在一个或多个具体实施中,可移除存储设备(诸如,软盘、闪存驱动器及其相应盘驱动器)可被用作永久性存储设备1402。与永久性存储设备1402一样,系统存储器1404可为读写存储器设备。然而,与永久性存储设备1402不同,系统存储器1404可为易失性读写存储器,诸如随机存取存储器。系统存储器1404可存储一个或多个处理单元1412在运行时可能需要的指令和数据中的任何指令和数据。在一个或多个具体实施中,本主题公开的过程被存储在系统存储器1404、永久性存储设备1402和/或ROM1410中。一个或多个处理单元1412从这些各种存储器单元检索要执行的指令和要处理的数据,以便执行一个或多个具体实施的过程。
总线1408还连接至输入设备接口1414和输出设备接口1406。输入设备接口1414使得用户能够向电子系统1400传达信息以及选择命令。可与输入设备接口1414一起使用的输入设备可包括例如字母数字混合键盘和指向设备(也称为“光标控制设备”)。输出设备接口1406可例如使得能够显示电子系统1400所生成的图像。可与输出设备接口1406一起使用的输出设备可包括例如打印机和显示设备,诸如液晶显示器(LCD)、发光二极管(LED)显示器、有机发光二极管(OLED)显示器、柔性显示器、平板显示器、固态显示器、投影仪或用于输出信息的任何其他设备。一个或多个具体实施可包括既充当输入设备又充当输出设备的设备,诸如触摸屏。在这些具体实施中,提供给用户的反馈可以是任何形式的感官反馈,诸如视觉反馈、听觉反馈或触觉反馈;并且可以任何形式接收来自用户的输入,包括声学、语音或触觉输入。
最后,如图14所示,总线1408还通过一个或多个网络接口1416将电子系统1400耦接到一个或多个网络以及/或者耦接到一个或多个网络节点,诸如图1中所示的电子设备114。以此方式,电子系统1400可为计算机网络(诸如LAN、广域网(“WAN”)或内联网)的一部分,或者可为网络的网络(诸如互联网)的一部分。电子系统1400的任何或所有部件可与本主题公开一起使用。
根据本主题公开的各个方面,提供了一种设备,其包括至少一个处理器,该处理器被配置为接收绘图笔划输入。该至少一个处理器还被配置为生成绘图笔划输入的矢量表示。该至少一个处理器还被配置为基于绘图笔划输入生成值的位图,并且独立于矢量表示。该至少一个处理器还被配置为呈现位图以供设备的显示器显示。该至少一个处理器还被配置为存储所生成的位图,以便于位图编辑操作并存储所生成的矢量表示,以便于识别与绘图笔划输入相关联的文本。
根据本主题公开的各个方面,提供了一种计算机实现的方法,其包括接收绘图笔划输入。该方法还包括生成表示绘图笔划输入的值的位图。该方法还包括呈现位图以用于由电子设备的显示器显示。该方法还包括基于位图生成绘图笔划输入的矢量表示。该方法还包括存储生成的位图以用于位图编辑操作。该方法还包括存储所生成的位图的矢量表示,以便于相对于绘图笔划输入的字符识别。
根据本主题公开的各个方面,提供了一种包括指令的非暂态计算机可读介质,这些指令在由至少一个计算设备执行时使得至少一个计算设备执行操作包括:接收绘图笔划输入;生成与绘图笔划输入对应的手写识别矢量,以便于绘图笔划输入的手写识别操作;生成与绘图笔划输入对应的多个绘图矢量,以便于编辑绘图笔划输入的呈现。
可以利用编写有一个或多个指令的有形计算机可读存储介质(或一种或多种类型的多个有形计算机可读存储介质)部分地或全部地实现本公开范围之内的具体实施。有形计算机可读存储介质实质上也可以是非暂态的。
计算机可读存储介质可以是任何可以由通用或专用计算设备读、写或以其他方式访问的存储介质,包括任何能够执行指令的处理电子器件和/或处理电路。例如,非限制地,计算机可读介质可包括任何易失性半导体存储器,诸如RAM、DRAM、SRAM、T-RAM、Z-RAM和TTRAM。计算机可读介质也可包括任何非易失性半导体存储器,诸如ROM、PROM、EPROM、EEPROM、NVRAM、闪存、nvSRAM、FeRAM、FeTRAM、MRAM、PRAM、CBRAM、SONOS、RRAM、NRAM、赛道存储器、FJG和Millipede存储器。
此外,计算机可读存储介质可包括任何非半导体存储器,诸如光盘存储装置、磁盘存储装置、磁带、其他磁性存储设备或者能够存储一个或多个指令的任何其他介质。在一个或多个具体实施中,有形计算机可读存储介质可直接耦接到计算设备,而在其他具体实施中,有形计算机可读存储介质可例如经由一个或多个有线连接、一个或多个无线连接、或它们的任意组合而间接地耦接到计算设备。
指令可以是直接能执行的,或者可用于开发可执行指令。例如,指令可被实现为可执行的或不可执行的机器代码,或者可被实现为可被编译以产生可执行的或不可执行的机器代码的高级语言指令。此外,指令也可被实现为数据,或者可包括数据。计算机可执行指令也可以任何格式组织,包括例程、子例程、程序、数据结构、对象、模块、应用、小程序、函数等。如本领域技术人员认识到的那样,包括但不限于指令的数量、结构、序列和组织的细节可明显不同,而不改变底层的逻辑、功能、处理和输出。
虽然以上论述主要涉及执行软件的微处理器或多核处理器,但一个或多个具体实施由一个或多个集成电路诸如ASIC或FPGA执行。在一个或多个具体实施中,此类集成电路执行存储在电路自身上的指令。
本领域的技术人员将会认识到,本文所述的各种例示性的框、模块、元件、部件、方法和算法可被实现为电子硬件、计算机软件或两者的组合。为了说明硬件和软件的这种可互换性,上文已经一般性地按照功能性对各种例示性的框、模块、元件、部件、方法和算法进行了描述。此类功能性是被实现为硬件还是软件取决于具体应用以及对整个系统施加的设计约束。技术人员对于每个具体应用可通过不同方式实现所描述的功能性。各种部件和框可被不同地布置(例如,以不同的顺序排列,或以不同的方式划分),而不脱离本主题技术的范围。
应当理解,本文所公开的过程中的框的特定顺序或分级结构为示例性方法的例示。基于设计优选要求,应当理解,过程中的框的特定顺序或者分级结构可被重新布置或者所有示出的框都被执行。这些框中的任何框可被同时执行。在一个或多个具体实施中,多任务和并行处理可能是有利的。此外,上述具体实施中各个系统部件的划分不应被理解为在所有具体实施中都要求此类划分,并且应当理解,程序部件和系统可一般性地被一起整合在单个软件产品中或者封装到多个软件产品中。
如本说明书以及本专利申请的任何权利要求中所用,术语“基站”、“接收器”、“计算机”、“服务器”、“处理器”及“存储器”均是指电子设备或其他技术设备。这些术语排除人或者人的群组。出于本说明书的目的,术语“显示”或“正在显示”意指在电子设备上显示。
如本文所用,在用术语“和”或“或”分开项目中任何项目的一系列项目之后的短语“中的至少一者”是将列表作为整体进行修饰,而不是修饰列表中的每个成员(即每个项目)。短语“中的至少一者”不要求选择所列出的每个项目中的至少一个;相反,该短语允许包括任何一个项目中的至少一个和/或项目的任何组合中的至少一个和/或每个项目中的至少一个的含义。举例来说,短语“A、B和C中的至少一者”或“A、B或C中的至少一者”各自是指仅A、仅B或仅C;A、B和C的任意组合;和/或A、B和C中的每一个中的至少一个。
谓词字词“被配置为”、“可操作以”以及“被编程以”并不意味着对某一主题进行任何特定的有形或无形的修改而是旨在可互换使用。在一个或多个具体实施中,被配置为监视和控制操作或部件的处理器也可以是意指处理器被编程以监视和控制操作或者处理器可操作以监视和控制操作。同样,被配置为执行代码的处理器可解释为被编程以执行代码或可操作以执行代码的处理器。
短语诸如方面、该方面、另一方面、一些方面、一个或多个方面、具体实施、该具体实施、另一具体实施、一些具体实施、一个或多个具体实施、实施方案、该实施方案、另一实施方案、一些实施方案、一个或多个实施方案、配置、该配置、其他配置、一些配置、一种或多种配置、主题技术、公开、本公开、它们的其他变型等等都是为了方便,并不意味着涉及这样的一个或多个短语的公开对于主题技术是必不可少的,也不意味着这种公开适用于主题技术的所有配置。涉及此类一个或多个短语的公开可适用于所有配置或一个或多个配置。涉及此类一个或多个短语的公开可提供一个或多个示例。短语诸如方面或一些方面可指代一个或多个方面,反之亦然,并且这与其他前述短语类似地应用。
字词“示例性”在本文中被用于意指“用作示例、实例或者例示”。在本文中被描述为“示例性的”或作为“示例”的任何实施方案不必被理解为优选于或优于其他具体实施。此外,术语“包括”、“具有”等在一定程度上用于说明书或权利要求中,这样的术语旨在以类似于术语“包括”当用作过渡字词用于权利要求中时“包括”被解释的方式包含在内。
本领域的普通技术人员已知或稍后悉知的贯穿本公开描述的各个方面的元素的所有结构和功能等同物通过引用明确地并入本文,并且旨在被权利要求书所涵盖。此外,本文所公开的任何内容并非旨在提供给公众,而与该公开是否明确地被陈述在权利要求中无关。根据35U.S.C.§112第六段的规定,不需要解释任何权利要求元素,除非使用短语“用于……的装置”明确陈述了该元素,或者就方法权利要求而言,使用短语“用于……的步骤”陈述了该元素。
本发明的示例如下:
1.一种设备,包括:
至少一个处理器,所述至少一个处理器被配置为:
接收绘图笔划输入;
生成所述绘图笔划输入的矢量表示;
基于所述绘图笔划输入并且独立于所述矢量表示生成值的位图;
通过所述设备的显示器呈现所述位图以供显示;
存储生成的位图以便于位图编辑操作;以及
存储生成的矢量表示以便于识别与所述绘图笔画输入相关联的文本。
2.根据示例1所述的设备,其中所述至少一个处理器被配置为从通信地耦接到所述设备的触摸屏、触摸板或触笔设备接收所述绘图笔划输入。
3.根据示例1所述的设备,其中所述至少一个处理器还被配置为基于存储的矢量表示来识别与所述绘图笔划输入相关联的所述文本。
4.根据示例3所述的设备,其中所述至少一个处理器还被配置为:
接收所述绘图笔划输入的修改输入;
基于所述修改输入来修改存储的矢量表示;以及
基于所述修改输入并且独立于对所述存储的矢量表示的所述修改来修改存储的位图的所述值。
5.根据示例4所述的设备,其中所述修改输入包括与所述呈现的位图的至少一部分相交的擦除笔划,并且所述至少一个处理器还被配置为:
通过将与所述擦除笔划相交的所述位图的所述至少一部分的值设置为背景值来修改所述存储的位图的所述值;以及
通过将所述存储的矢量表示分成所述擦除笔划的第一侧上的第一部分和所述擦除笔划的第二侧上的第二部分来修改所述存储的矢量表示。
6.根据示例5所述的设备,其中所述矢量表示包括与所述绘图笔划输入对应的b样条曲线,并且其中所述至少一个处理器被配置为通过以下方式将所述存储的矢量表示分成所述擦除笔划的所述第一侧上的所述第一部分和所述擦除笔划的所述第二侧上的所述第二部分:
将所述擦除笔划转换为矢量轮廓;
将所述b样条曲线转换为多边形;
使所述矢量轮廓与所述多边形相交;以及
基于所述相交获得所述b样条曲线的第一有效范围和第二有效范围的端点,其中所述第一有效范围和所述第二有效范围与所述第一部分和所述第二部分对应。
7.根据示例4所述的设备,其中所述至少一个处理器还被配置为:
在接收所述修改输入之前,基于所述矢量表示识别与所述绘图笔划输入相关联的所述文本;以及
在接收所述修改输入之后,基于修改的矢量表示识别与所述绘图笔划输入相关联的所述文本。
8.根据示例1所述的设备,其中所述至少一个处理器被进一步配置为:
接收所述绘图输入笔划的修改输入,其中所述修改输入包括与呈现的位图的至少一部分相交的涂污笔划;以及
通过扩展与所述涂污笔划相交的所述位图的所述至少一部分的值来修改所述存储的位图的所述值,而不修改存储的矢量表示。
9.根据示例1所述的设备,其中所述至少一个处理器被进一步配置为:
基于存储的矢量表示识别至少一个字符;
接收显示识别的所述至少一个字符的请求;以及
响应于所述请求,用识别的所述至少一个字符的矢量呈现来替换呈现的位图的第一部分,同时保持所述呈现的位图的第二部分。
10.根据示例1所述的设备,还包括具有显示像素阵列的显示器,其中所述至少一个处理器还被配置为操作所述显示像素阵列,以独立于存储的矢量表示显示呈现的位图。
11.根据示例1所述的设备,其中所述矢量表示包括不足以呈现所述绘图笔划输入的表示以供显示的信息,所述绘图笔划输入在视觉上匹配呈现的位图。
12.根据示例11所述的设备,其中所述矢量表示包括b样条曲线并且不含视觉表示元数据。
13.一种计算机实现的方法,包括:
接收绘图笔划输入;
生成表示所述绘图笔划输入的值的位图;
通过电子设备的显示器呈现所述位图以供显示;
基于所述位图生成所述绘图笔划输入的矢量表示;
存储生成的位图用于位图编辑操作;以及
存储生成的所述位图的矢量表示,以便于相对于所述绘图笔划输入的字符识别。
14.根据示例13所述的计算机实现的方法,还包括:
接收与包围呈现的位图的一部分的边界对应的边界输入;
标识由所述边界包围的所述位图的位图值;
接收移动所述边界的拖动输入;以及
在基于所述拖动输入确定的位置处重新呈现标识的位图值。
15.根据示例14所述的计算机实现的方法,还包括:
标识由所述边界包围的所述矢量表示的一部分;
基于所述拖动输入将空间偏移应用于所述矢量表示的所述部分;以及
存储具有应用于所述矢量表示的所述部分的所述空间偏移的所述矢量表示,而不呈现所述矢量表示以供显示。
16.根据示例13所述的计算机实现的方法,其中所述矢量表示包括不足以呈现所述绘图笔划输入的表示以供显示的信息,所述绘图笔划输入在视觉上匹配呈现的位图。
17.根据示例13所述的计算机实现的方法,其中所述矢量表示包括b样条曲线并且不含视觉表示元数据。
18.一种计算机实现的方法,包括:
接收绘图笔划输入;
生成与所述绘图笔划输入对应的手写识别矢量,以便于所述绘图笔划输入的手写识别操作;以及
生成与所述绘图笔划输入对应的多个绘图矢量,以便于编辑所述绘图笔划输入的呈现。
19.根据示例18所述的方法,还包括:基于所述多个绘图矢量呈现所述绘图笔划输入的矢量表示以供显示,以生成所述绘图笔划输入的所述呈现。
20.根据示例18所述的方法,还包括:基于所述手写识别矢量和所述多个绘图矢量呈现所述绘图笔划输入的矢量表示以供显示,以生成所述绘图笔划输入的所述呈现。
21.根据示例18所述的方法,还包括:基于所述手写识别矢量,执行所述手写识别操作以识别至少一个字符。
22.根据示例18所述的方法,其中所述手写识别矢量包括在所述绘图笔划输入的所述中心处的单个曲线。
23.根据示例18所述的方法,还包括:
基于所述多个绘图矢量呈现所述绘图笔划输入的矢量表示以供显示;
接收绘图修改笔划;
修改所述多个绘图矢量中的至少一个而不修改所述手写识别矢量;以及
基于修改的所述多个绘图矢量中的至少一个来修改呈现的矢量表示。
24.根据示例23所述的方法,其中所述绘图修改笔划包括不与所述手写识别矢量相交的擦除笔划或涂污笔划。
25.根据示例18所述的方法,还包括:
基于所述多个绘图矢量呈现所述绘图笔划输入的矢量表示以供显示;
接收绘图修改笔划;
基于所述绘图修改笔划修改所述多个绘图矢量中的至少一个;
基于所述绘图修改笔划修改所述手写识别矢量;以及
基于修改的所述多个绘图矢量和修改的手写识别矢量中的至少一个来修改呈现的矢量表示。
26.根据示例25所述的方法,其中所述绘图修改笔划包括与所述手写识别矢量相交的擦除笔划或涂污笔划。
27.根据示例26所述的方法,其中所述绘图修改笔划是所述擦除笔划,并且所述方法还包括:
生成并存储与所述擦除笔划对应的擦除掩模;
使所述擦除掩模与多边形相交,所述多边形与所述多个绘图矢量相关联;以及
基于所述相交修改所述多个绘图矢量和所述手写识别矢量中的至少一个。
28.根据示例25所述的方法,还包括:基于所述修改的手写识别矢量,识别至少一个字符。
29.一种方法,所述方法包括:
接收对显示器上呈现的对象的修改输入;
基于所述修改输入在所述显示器上执行所述对象的第一重新呈现;
基于所述修改输入生成所述对象的至少一个基于多边形的表示;以及
基于所述至少一个基于多边形的表示,在所述显示器上执行所述对象的第二重新呈现。
30.根据示例29所述的方法,还包括:
存储所述对象的所述至少一个基于多边形的表示,以促进编辑与所述对象的所述第二重新呈现相关联的操作。
31.根据示例30所述的方法,其中促进的编辑操作包括对象选择、对象擦除或对象移动中的至少一个。
32.根据示例29所述的方法,还包括:
在接收所述修改输入之前,接收绘图笔划输入;
基于所述绘图笔划输入生成值的位图;以及
呈现所述位图以在所述显示器上显示,呈现的位图与在所述显示器上呈现的所述对象对应。
33.根据示例29所述的方法,其中所述修改输入包括擦除笔划或基于标尺的笔划,所述笔划定义所述对象的所述至少一个基于多边形的表示的边界。
34.根据示例29所述的方法,其中所述修改输入对应于将所述对象分成第一部分和第二部分,并且
其中所述至少一个基于多边形的表示包括与所述第一部分对应的第一基于多边形的表示和与所述第二部分对应的第二基于多边形的表示。
35.根据示例29所述的方法,还包括:
为所述对象的所述至少一个基于多边形的表示生成至少一个中间剖面线;以及
存储所述至少一个中间剖面线,以便于识别与所述对象的所述第二重新呈现相关联的文本。
36.根据示例29所述的方法,其中所述对象的所述第二重新呈现替换了所述显示器上的所述对象的所述第一重新呈现。
37.根据示例29所述的方法,还包括:
接收对所述对象的所述第二重新呈现的第二修改输入;
基于所述第二修改输入生成至少一个第二基于多边形的表示;以及
基于所述至少一个第二基于多边形的表示,执行所述对象的第三重新呈现,以替换所述显示器上的所述对象的所述第二重新呈现。
38.根据示例29所述的方法,其中生成所述至少一个基于多边形的表示并执行所述对象的所述第二重新呈现是基于用于并发修改输入的冲突解决的最后写入获胜启发法。
39.一种计算设备,包括至少一个处理器,所述至少一个处理器被配置为执行如示例13-17中任一项所述的方法。
40.一种包括指令的非暂态计算机可读介质,所述指令在由至少一个计算设备执行时使得所述至少一个计算设备执行如示例13-17中任一项所述的方法。
41.一种计算设备,包括至少一个处理器,所述至少一个处理器被配置为执行如示例18-28中任一项所述的方法。
42.一种包括指令的非暂态计算机可读介质,所述指令在由至少一个计算设备执行时使得所述至少一个计算设备执行如示例18-28中任一项所述的方法。
43.一种计算设备,包括至少一个处理器,所述至少一个处理器被配置为执行如示例29-38中任一项所述的方法。
44.一种包括指令的非暂态计算机可读介质,所述指令在由至少一个计算设备执行时使得所述至少一个计算设备执行如示例29-38中任一项所述的方法。
先前的描述被提供以使得本领域的技术人员能够实践本文所述的各个方面。这些方面的各种修改对本领域的技术人员而言是显而易见的,并且本文所限定的通用原则可应用于其他方面。因此,本权利要求书并非旨在受限于本文所示的方面,而是旨在使得全部范围与语言权利要求书一致,其中对奇异值中的元素的引用并非旨在意味着“仅仅一个”,而是指“一个或多个”,除非被具体指出。除非另外特别说明,否则术语“一些”是指一个或多个。男性的代名词(例如,他的)包括女性和中性(例如,她的和它的),并且反之亦然。标题和子标题(如果有的话)仅为了方便起见而使用并且不限制本公开。
Claims (15)
1.一种计算设备,包括:
至少一个处理器,所述至少一个处理器被配置为:
接收绘图笔划输入;
生成所述绘图笔划输入的矢量表示,其中所述矢量表示包括b样条曲线并且不含视觉表示元数据,所述视觉表示元数据包括线条样式、线条粗细、纹理和颜色;
基于所述绘图笔划输入并且独立于所述矢量表示,生成值的位图;
通过所述设备的显示器呈现所述位图以供显示;
存储生成的位图以便于位图编辑操作;
存储生成的矢量表示以便于识别与所述绘图笔划输入相关联的文本;以及
基于所存储的矢量表示并且不使用所述位图,识别与所述绘图笔划输入相关联的文本。
2.根据权利要求1所述的计算设备,其中所述至少一个处理器被配置为从通信地耦接到所述设备的触摸屏、触摸板或触笔设备接收所述绘图笔划输入。
3.根据权利要求1所述的计算设备,其中所述至少一个处理器还被配置为:
接收所述绘图笔划输入的修改输入;
基于所述修改输入来修改存储的矢量表示;以及
基于所述修改输入并且独立于对所述存储的矢量表示的所述修改来修改存储的位图的所述值。
4.根据权利要求3所述的计算设备,其中所述修改输入包括与所述呈现的位图的至少一部分相交的擦除笔划,并且所述至少一个处理器还被配置为:
通过将与所述擦除笔划相交的所述位图的所述至少一部分的值设置为背景值来修改所述存储的位图的所述值;以及
通过将所述存储的矢量表示分成所述擦除笔划的第一侧上的第一部分和所述擦除笔划的第二侧上的第二部分来修改所述存储的矢量表示。
5.根据权利要求4所述的计算设备,其中所述矢量表示包括与所述绘图笔划输入对应的b样条曲线,并且其中所述至少一个处理器被配置为通过以下方式将所述存储的矢量表示分成所述擦除笔划的所述第一侧上的所述第一部分和所述擦除笔划的所述第二侧上的所述第二部分:
将所述擦除笔划转换为矢量轮廓;
将所述b样条曲线转换为多边形;
使所述矢量轮廓与所述多边形相交;以及
基于所述相交获得所述b样条曲线的第一有效范围和第二有效范围的端点,其中所述第一有效范围和所述第二有效范围与所述第一部分和所述第二部分对应。
6.根据权利要求3所述的计算设备,其中所述至少一个处理器还被配置为:
在接收所述修改输入之前,基于所述矢量表示识别与所述绘图笔划输入相关联的所述文本;以及
在接收所述修改输入之后,基于修改的矢量表示识别与所述绘图笔划输入相关联的所述文本。
7.根据权利要求1所述的计算设备,其中所述至少一个处理器被进一步配置为:
接收所述绘图笔划输入的修改输入,其中所述修改输入包括与呈现的位图的至少一部分相交的涂污笔划;以及
通过扩展与所述涂污笔划相交的所述位图的所述至少一部分的值来修改所述存储的位图的所述值,而不修改存储的矢量表示。
8.根据权利要求1所述的计算设备,其中所述至少一个处理器被进一步配置为:
基于存储的矢量表示识别至少一个字符;
接收显示识别的所述至少一个字符的请求;以及
响应于所述请求,用识别的所述至少一个字符的矢量呈现来替换呈现的位图的第一部分,同时保持所述呈现的位图的第二部分。
9.根据权利要求1所述的计算设备,还包括具有显示像素阵列的显示器,其中所述至少一个处理器还被配置为操作所述显示像素阵列,以独立于存储的矢量表示显示呈现的位图。
10.根据权利要求1所述的计算设备,其中所述矢量表示包括不足以呈现与呈现的位图在视觉上匹配的所述绘图笔划输入的表示以供显示的信息。
11.一种计算机实现的方法,包括:
接收绘图笔划输入;
生成表示所述绘图笔划输入的值的位图;
通过电子设备的显示器呈现所述位图以供显示;
使用所述位图的所述值生成所述绘图笔划输入的矢量表示,其中所述矢量表示包括b样条曲线并且不含视觉表示元数据,所述视觉表示元数据包括线条样式、线条粗细、纹理和颜色;
存储生成的位图用于位图编辑操作;以及
存储生成的所述位图的矢量表示,以便于相对于所述绘图笔划输入的字符识别,
其中所存储的矢量表示包括不足以呈现与呈现的位图在视觉上匹配的所述绘图笔划输入的表示以供显示的信息。
12.根据权利要求11所述的计算机实现的方法,还包括:
接收与包围呈现的位图的一部分的边界对应的边界输入;
标识由所述边界包围的所述位图的位图值;
接收移动所述边界的拖动输入;以及
在基于所述拖动输入确定的位置处重新呈现标识的位图值。
13.根据权利要求12所述的计算机实现的方法,还包括:
标识由所述边界包围的所述矢量表示的一部分;
基于所述拖动输入将空间偏移应用于所述矢量表示的所述部分;以及
存储具有应用于所述矢量表示的所述部分的所述空间偏移的所述矢量表示,而不呈现所述矢量表示以供显示。
14.一种计算设备,包括至少一个处理器,所述至少一个处理器被配置为执行如权利要求11-13中任一项所述的方法。
15.一种包括指令的非暂态计算机可读介质,所述指令在由至少一个计算设备执行时使得所述至少一个计算设备执行如权利要求11-13中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410251398.XA CN118051162A (zh) | 2018-07-02 | 2019-07-02 | 带有手写识别的电子绘图 |
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/025,931 | 2018-07-02 | ||
US16/025,931 US11380028B2 (en) | 2018-07-02 | 2018-07-02 | Electronic drawing with handwriting recognition |
US16/428,891 | 2019-05-31 | ||
US16/428,891 US11270486B2 (en) | 2018-07-02 | 2019-05-31 | Electronic drawing with handwriting recognition |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410251398.XA Division CN118051162A (zh) | 2018-07-02 | 2019-07-02 | 带有手写识别的电子绘图 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110673780A CN110673780A (zh) | 2020-01-10 |
CN110673780B true CN110673780B (zh) | 2024-03-19 |
Family
ID=69007622
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910586944.4A Active CN110673780B (zh) | 2018-07-02 | 2019-07-02 | 带有手写识别的电子绘图 |
CN202410251398.XA Pending CN118051162A (zh) | 2018-07-02 | 2019-07-02 | 带有手写识别的电子绘图 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410251398.XA Pending CN118051162A (zh) | 2018-07-02 | 2019-07-02 | 带有手写识别的电子绘图 |
Country Status (2)
Country | Link |
---|---|
US (1) | US11270486B2 (zh) |
CN (2) | CN110673780B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113888546A (zh) * | 2021-09-01 | 2022-01-04 | 浙江大华技术股份有限公司 | 手绘图形的规整方法、电子设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB201300290D0 (en) * | 2013-01-08 | 2013-02-20 | Neuratron Ltd | Conversion apparatus and method |
CN105247540A (zh) * | 2013-06-09 | 2016-01-13 | 苹果公司 | 管理实时手写识别 |
CN105637460A (zh) * | 2013-10-18 | 2016-06-01 | 肯特显示器公司 | 书写平板电脑信息记录设备 |
CN106022206A (zh) * | 2015-03-26 | 2016-10-12 | 联想(新加坡)私人有限公司 | 改进的手写数据搜索的方法、装置及产品 |
CN106125963A (zh) * | 2016-06-24 | 2016-11-16 | 江西金格科技股份有限公司 | 一种无压感设备上原笔迹手写签批系统及其在pdf文档原笔迹手写的签批方法 |
Family Cites Families (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6054990A (en) | 1996-07-05 | 2000-04-25 | Tran; Bao Q. | Computer system with handwriting annotation |
JP3705923B2 (ja) * | 1998-04-09 | 2005-10-12 | 株式会社ソニー・コンピュータエンタテインメント | 画像処理装置および画像処理方法、プログラム提供媒体、並びにデータ提供媒体 |
GB0213219D0 (en) | 2002-06-08 | 2002-07-17 | Koninkl Philips Electronics Nv | Text entry for electronic device |
US6867786B2 (en) | 2002-07-29 | 2005-03-15 | Microsoft Corp. | In-situ digital inking for applications |
US20040196313A1 (en) | 2003-02-26 | 2004-10-07 | Microsoft Corporation | Ink repurposing |
JP2005346415A (ja) | 2004-06-03 | 2005-12-15 | Hitachi Ltd | 電子ペンを用いた編集システム、編集方法およびそのプログラム |
US20080296074A1 (en) | 2004-06-30 | 2008-12-04 | Anoto Ab | Data Management in an Electric Pen |
US7474928B2 (en) | 2005-04-15 | 2009-01-06 | Autodesk Canada Co. | Hybrid vector/raster based paint |
CA2634494C (en) * | 2005-12-24 | 2015-10-27 | Joshua D. I. Distler | Methods and files for delivering imagery with embedded data |
US20070200873A1 (en) * | 2006-02-27 | 2007-08-30 | Microsoft Corporation | Pixel and vector layer interaction |
US8018470B2 (en) | 2006-03-28 | 2011-09-13 | Microsoft Corporation | Vector based object property variations |
US20140250059A1 (en) * | 2008-05-30 | 2014-09-04 | Anant Gilra | Method and Apparatus for Performing Bi-State Editing |
US8244038B2 (en) * | 2008-12-11 | 2012-08-14 | Xerox Corporation | Text vectorization using OCR and stroke structure modeling |
US20140047413A1 (en) * | 2012-08-09 | 2014-02-13 | Modit, Inc. | Developing, Modifying, and Using Applications |
US9465985B2 (en) | 2013-06-09 | 2016-10-11 | Apple Inc. | Managing real-time handwriting recognition |
US9916017B2 (en) * | 2014-07-03 | 2018-03-13 | Adobe Systems Incorporated | Smart eraser to erase digital strokes |
US9489572B2 (en) * | 2014-12-02 | 2016-11-08 | Myscript | System and method for recognizing geometric shapes |
US10049289B2 (en) * | 2016-02-12 | 2018-08-14 | Wacom Co., Ltd. | Method and system for generating and selectively outputting two types of ink vector data |
US9792517B2 (en) | 2016-02-12 | 2017-10-17 | Wacom Co., Ltd. | Method and system for generating and selectively outputting two types of ink vector data |
US10664695B2 (en) * | 2016-10-26 | 2020-05-26 | Myscript | System and method for managing digital ink typesetting |
US10380722B2 (en) * | 2017-10-30 | 2019-08-13 | Adobe Inc. | Editing a graphic object in a vector representation to improve crisp property in raster representation |
US10579240B2 (en) * | 2018-02-09 | 2020-03-03 | Picmonkey, Llc | Live-rendered and forkable graphic edit trails |
-
2019
- 2019-05-31 US US16/428,891 patent/US11270486B2/en active Active
- 2019-07-02 CN CN201910586944.4A patent/CN110673780B/zh active Active
- 2019-07-02 CN CN202410251398.XA patent/CN118051162A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB201300290D0 (en) * | 2013-01-08 | 2013-02-20 | Neuratron Ltd | Conversion apparatus and method |
CN105247540A (zh) * | 2013-06-09 | 2016-01-13 | 苹果公司 | 管理实时手写识别 |
CN105637460A (zh) * | 2013-10-18 | 2016-06-01 | 肯特显示器公司 | 书写平板电脑信息记录设备 |
CN106022206A (zh) * | 2015-03-26 | 2016-10-12 | 联想(新加坡)私人有限公司 | 改进的手写数据搜索的方法、装置及产品 |
CN106125963A (zh) * | 2016-06-24 | 2016-11-16 | 江西金格科技股份有限公司 | 一种无压感设备上原笔迹手写签批系统及其在pdf文档原笔迹手写的签批方法 |
Also Published As
Publication number | Publication date |
---|---|
CN110673780A (zh) | 2020-01-10 |
CN118051162A (zh) | 2024-05-17 |
US11270486B2 (en) | 2022-03-08 |
US20200005510A1 (en) | 2020-01-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111448581B (zh) | 使用深层神经网络进行图像处理的系统和方法 | |
US20230019607A1 (en) | Systems and methods for moving content between virtual and physical displays | |
US20110115814A1 (en) | Gesture-controlled data visualization | |
US11003683B2 (en) | Visual data mining using virtual reality and augmented reality | |
AU2019202799A1 (en) | A method to automatically predict handle locations for skinningtransformations using deep learning | |
US11475617B2 (en) | Path-constrained drawing with visual properties based on drawing tool | |
US11195323B2 (en) | Managing multi-modal rendering of application content | |
JP2019121348A (ja) | チームの会話データを分析及び視覚化するシステム、方法、プログラム及びコンピュータ装置 | |
WO2014182583A1 (en) | Automated presentation of visualized data | |
US20210278932A1 (en) | Self-learning digital interface | |
US11380028B2 (en) | Electronic drawing with handwriting recognition | |
CN113240778A (zh) | 虚拟形象的生成方法、装置、电子设备和存储介质 | |
Silva et al. | Eye tracking support for visual analytics systems: foundations, current applications, and research challenges | |
CN113330455A (zh) | 使用有条件的生成对抗网络查找互补的数字图像 | |
US20190107924A1 (en) | Optimizing a display of a user device | |
Shen et al. | CUDA-based real-time hand gesture interaction and visualization for CT volume dataset using leap motion | |
Shen et al. | Gpu-based realtime hand gesture interaction and rendering for volume datasets using leap motion | |
CN110673780B (zh) | 带有手写识别的电子绘图 | |
US10699451B1 (en) | Generating digital graphical representations reflecting multiple data series utilizing dynamic y-axes | |
US11270070B1 (en) | Method and apparatus for improved presentation of information | |
US10388055B2 (en) | Rendering animated user input strokes | |
Burley et al. | ARQuery: Hallucinating Analytics over Real-World Data using Augmented Reality. | |
Schwenderling et al. | Activation modes for gesture-based interaction with a magic lens in AR anatomy visualisation | |
WO2019024068A1 (en) | SYSTEMS AND METHODS FOR DETECTING EMOTION IN VIDEO DATA | |
WO2015167834A1 (en) | Attribute histograms for providing data access |
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 |