CN107003993B - 湿墨预测器 - Google Patents

湿墨预测器 Download PDF

Info

Publication number
CN107003993B
CN107003993B CN201580052906.0A CN201580052906A CN107003993B CN 107003993 B CN107003993 B CN 107003993B CN 201580052906 A CN201580052906 A CN 201580052906A CN 107003993 B CN107003993 B CN 107003993B
Authority
CN
China
Prior art keywords
ink
touch screen
point
contact point
wet ink
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
Application number
CN201580052906.0A
Other languages
English (en)
Other versions
CN107003993A (zh
Inventor
涂霄
F.熊
J.林
P.J-A.潘
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Technology Licensing LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Technology Licensing LLC filed Critical Microsoft Technology Licensing LLC
Publication of CN107003993A publication Critical patent/CN107003993A/zh
Application granted granted Critical
Publication of CN107003993B publication Critical patent/CN107003993B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/041Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means
    • G06F3/0416Control or interface arrangements specially adapted for digitisers
    • G06F3/04162Control or interface arrangements specially adapted for digitisers for exchanging data with external devices, e.g. smart pens, via the digitiser sensing hardware
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/041Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means
    • G06F3/0416Control or interface arrangements specially adapted for digitisers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/02Input arrangements using manually operated switches, e.g. using keyboards or dials
    • G06F3/023Arrangements for converting discrete items of information into a coded form, e.g. arrangements for interpreting keyboard generated codes as alphanumeric codes, operand codes or instruction codes
    • G06F3/0233Character input methods
    • G06F3/0237Character input methods using prediction or retrieval techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • G06F3/0354Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor with detection of 2D relative movements between the device, or an operating part thereof, and a plane or surface, e.g. 2D mice, trackballs, pens or pucks
    • G06F3/03545Pens or stylus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/041Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means
    • G06F3/0412Digitisers structurally integrated in a display
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/041Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means
    • G06F3/0414Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means using force sensing means to determine a position
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • G06F3/04883Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures for inputting data by handwriting, e.g. gesture or text
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • G06F40/171Editing, e.g. inserting or deleting by use of digital ink
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/14Image acquisition
    • G06V30/142Image acquisition using hand-held instruments; Constructional details of the instruments
    • G06V30/1423Image acquisition using hand-held instruments; Constructional details of the instruments the instrument generating sequences of position coordinates corresponding to handwriting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/14Image acquisition
    • G06V30/144Image acquisition using a slot moved over the image; using discrete sensing elements at predetermined points; using automatic curve following means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/32Digital ink
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/32Digital ink
    • G06V30/333Preprocessing; Feature extraction
    • G06V30/347Sampling; Contour coding; Stroke extraction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2203/00Indexing scheme relating to G06F3/00 - G06F3/048
    • G06F2203/041Indexing scheme relating to G06F3/041 - G06F3/045
    • G06F2203/04104Multi-touch detection in digitiser, i.e. details about the simultaneous detection of a plurality of touching locations, e.g. multiple fingers or pen and finger
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2203/00Indexing scheme relating to G06F3/00 - G06F3/048
    • G06F2203/041Indexing scheme relating to G06F3/041 - G06F3/045
    • G06F2203/04106Multi-sensing digitiser, i.e. digitiser using at least two different sensing technologies simultaneously or alternatively, e.g. for detecting pen and finger, for saving power or for improving position detection

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Multimedia (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Health & Medical Sciences (AREA)
  • User Interface Of Digital Computer (AREA)
  • Character Discrimination (AREA)
  • Processing Or Creating Images (AREA)
  • Control Of Indicators Other Than Cathode Ray Tubes (AREA)
  • Controls And Circuits For Display Device (AREA)

Abstract

提供了用于改进针对墨在用户利用对象创建墨内容期间的显示的延时的系统和方法,所述对象例如是触笔、鼠标、手指(或其它触摸输入)或其它绘图设备。为了减少或最小化用于显示由用户创建的墨内容的时间,本文所描述的技术的各方面生成可以利用实际的湿墨被显示的预测性湿墨。预测性湿墨通过使有效墨部段延伸预测性距离而被计算出。预测性距离意图作为针对有效湿墨部段的终止墨点与书写对象尖端之间的距离。在一个方面中,通过确定触摸设备上的当前延时时段和书写对象的速率来计算预测性距离。

Description

湿墨预测器
背景技术
平板计算设备(或类似类型的嵌入式设备)通常包含允许用户向设备录入数据的触摸屏。用户进行数据录入可以使用诸如手指或触笔(或笔)之类的书写对象来完成。来自书写对象的对设备的输入被显示为“墨”。
墨被数字化以允许其被计算设备处理和操纵并且被显示。这可以通过以下来执行:向设备上的操作系统发送出数字化墨,使处理器处理墨,并且然后向图形卡发送经处理的墨。图形卡然后将墨(其是用户动作的效果)渲染在监视器或显示器上。
当前的墨渲染技术的一个缺点是所引入的延时。笔和手指往往是快速且实际上瞬时的,而墨的渲染往往延后。事实上,整个墨渲染过程可能引入可以在50至100毫秒之间的任何值或甚至更大的量级的延时。墨渲染中的该延时可以导致缓慢且尴尬的用户体验。
特别地,该延时是不合期望的效应,因为其打破了直接操纵对象的感知屏障。当然,这些多半是在其中存在同地协作的体验的情形中被感知的。换言之,当输入和输出彼此同地时(诸如利用触笔在平板计算设备或触摸屏上进行书写),延时效应最大。
发明内容
提供了用于改进针对墨在利用鼠标或书写对象进行墨内容的用户创建期间的显示的延时的系统和方法,所述书写对象诸如手指、触笔、主动笔或用于追踪针对显示区域中的墨内容的期望位置的其它绘图设备。为了减少或最小化用于显示由用户使用触笔/鼠标/触摸输入/其它设备而创建的墨内容的时间,本文所描述的技术的方面生成可以利用实际的湿墨显示的预测性湿墨。预测性湿墨通过使有效墨部段延伸预测性距离而被计算出。预测性距离意图作为用于有效湿墨部段的终止墨点与书写对象尖端之间的距离。在一个方面中,通过确定触摸设备上的当前延时时段和书写对象的速率来计算预测性距离。预测性距离然后是书写对象在当前延迟时段期间将以该速率行进的距离。此外或可替换地,可以使用速率和加速度二者来计算预测性距离。
此外,本文所描述的技术的方面可以生成针对墨渲染引擎的压力数据,墨渲染引擎中没有原始压力数据离开。原始压力数据可以由压敏触摸表面、主动笔等等生成。然而,用户在其上进行书写的许多设备不是压敏的。本文所描述的技术的方面使用书写对象速率作为用于压力的代表物以生成可以馈送至墨渲染引擎的压力数据。压力数据可以由墨渲染引擎用于设置墨宽度和/或其它墨参数。
提供本发明内容来以简化的形式引入以下在具体实施方式中进一步描述的概念的选择。本发明内容不意图标识所要求保护的主题的关键特征或必要特征,也不意图孤立地用于帮助确定所要求保护的主题的范围。
附图说明
以下参照附图各图来详细描述本文所描述的技术,其中:
图1示意性地示出用于生成预测性墨的流程图。
图2是图示了延时效应的图。
图3是图示了具有不正确的长度的预测性墨的图。
图4是图示了具有正确的长度的预测性墨的图。
图5是图示了通过墨点绘制的接触点、墨点和湿墨以及预测性墨的图。
图6是根据本文所描述的技术的一方面的用于生成预测性墨的方法的流程图的图。
图7是根据本文所描述的技术的一方面的用于生成预测性墨的方法的流程图的图。
图8是图示了墨粗细度的图。
图9是根据本文所描述的技术的一方面的用于生成压力数据以供用于生成数字墨的方法的流程图的图。
图10是根据本文所描述的技术的一方面的数字墨环境的图。
图11是根据本文所描述的技术的一方面的示例性计算环境的图。
具体实施方式
在各种方面中,提供了用于减少在用户利用触笔、鼠标、手指(或其它触摸输入)或其它绘图设备创建墨内容期间墨的显示延时的系统和方法。特别地,可以通过预计书写对象的路线并且渲染预测性湿墨来减少书写对象在点处接触触摸屏与表示该点的湿墨出现在触摸屏上之间的延时。
“数字墨”是指从书写对象记录的一个或多个笔划,所述书写对象例如是数字化器平板电脑上的鼠标、触笔/笔、电容式触摸数字化器上的电容式触笔或电容式对象(例如手指),或者与数字化器平板电脑集成的显示屏上的触笔/笔,所述数字化器平板电脑可以或可以不利用触敏显示屏。如本文所使用的,术语“墨”与“数字墨”可互换地使用,并且是指“数字墨”。此外,术语“书写对象”可以是笔、触笔、手指或者可以提供触摸输入的任何其它仪器。每一个笔划可以存储为一个或多个墨点,并且每一个墨点可以包含各种性质,仅作为示例,包括压力、倾斜、方位角和对应于输入仪器的位置的坐标(x,y)。墨点从其中书写对象接触触摸表面的实际接触点可区分。例如,用户可以沿计算机系统的触敏显示屏移动笔,以便绘制线条或曲线,并且计算机系统可以在用户移动输入仪器时随时间(或以任何其它间隔,如对本领域普通技术人员已知的那样)而对沿输入仪器尖端位置的轨迹的坐标(x,y)进行采样。这些坐标表示沿由用户输入的曲线或线条的接触点,并且在本文中被称为“接触点”。接触点可以由与触摸接口相关联的硬件组件生成。一般而言,硬件组件可以分配时间戳和位置信息以形成每一个接触点。
书面文本可以传达比通过线段连接的一系列坐标更多的信息。例如,书面墨改变以反映笔压力(通过墨的粗细度)、笔角度(通过线条或曲线段的形状和离散点周围的墨的行为)和笔尖速度(通过笔直度、线条宽度和线条或曲线的路线之上的线条宽度变化)。墨的这些附加性质的处理可以揭示所分析的书面文本中的情绪、个性、强调等。
数字墨可以是指笔划的序列或笔划的任何任意集合,其中每一个笔划包括点序列。笔划可能已经被同时绘制或收集,或者可能已经在独立的时间和位置处并且出于独立的原因而被绘制或收集。点可以使用各种已知技术而被表示,包括笛卡尔坐标(X, Y)、极坐标(r,Θ)和如本领域中已知的其它技术。数字墨可以包括性质的表示,所述性质包括压力、角度、速度、颜色、触笔大小和墨透明度。数字墨还可以包括其它性质,除其它信息之外,包括墨如何被沉积在页面上的次序(对于大多数西方语言而言,从左向右然后向下的栅格图案)、时间戳(指示何时沉积墨)、墨的作者的指示和起源设备(在其上绘制墨的机器的标识或用于沉积墨的笔的标识中的至少一个)。
墨渲染引擎可以将接触点视为输入,并且生成形成墨部段的“墨点”。墨渲染引擎可以是操作系统的部分、接收墨的应用的部分或独立的应用。墨点用于渲染数字墨,其是用户看到显示的内容。墨渲染引擎可以采用各种平滑算法和/或滤波器,其使用接触点来形成包括多个墨点的笔划,所述笔划更紧密地类似纸张上的用户绘图的外观。各个墨点的位置可以不同于各个接触点的位置,尽管接触点有时可以与墨点重合。
在生成墨点之前,接触点可以被滤波或以其它方式被处理以改进用于生成墨的随后过程的性能。在一个方面中,处理接触点以生成多个经滤波的接触点。如本文所使用的,术语“接触点”可以包括经滤波的接触点。因此,在将接触点描述为对墨生成过程或其它计算的输入时,可以意指经滤波的或原始的接触点。相反,经滤波的接触点不包括原始的接触点。
在一个方面中,部段生成器用于形成墨部段,其包括使用多个接触点(或者可能地,多个经滤波的接触点)计算的一系列墨点。墨部段可以通过使用部段中的墨点连同显示特性(比如墨颜色和宽度)作为湿墨而被渲染在显示器上。墨部段可以在起始墨点与终止墨点之间行进。
关于渲染由用户创建的墨内容的困难之一是足够快地显示墨内容,使得用户的动作看起来导致墨内容的显示。已经确定用户可以感知到响应于用于创建墨内容的用户动作中的、小至大约50毫秒或更小的延迟。当由用户创建的墨内容的显示中的延迟作为终止墨点与书写对象的尖端之间的间隙而可见时,延迟可以破坏用户体验,因为内容创建可能不再具有使用物理笔在书写表面上创建墨的感觉。
本文所描述的技术的方面通过生成预测性湿墨而克服该困难。预测性湿墨通过使有效墨部段延伸预测性距离来计算。预测性距离意图作为终止墨点与书写对象的尖端之间的距离。在一个方面中,预测性距离通过确定触摸设备上的当前延时时段和书写对象的速率来计算。预测性距离然后是书写对象在当前延时时段期间以该速率将行进的距离。
书写对象速率可以使用最后两个接触点上的时间戳来计算,或者可以使用若干接触点来计算,包括当前墨笔划中的所有点。墨笔划,如本文所使用的,是在下笔事件与提笔事件之间生成的数字墨。下笔事件发生在第一接触点由书写对象生成时。提笔事件与未检测到触摸屏与书写对象之间的接触对应。在一个方面中,在速率计算中,最近的接触点被给出比较早的接触点更多的权重。
“接触”,如本文所使用的,可以意指其中不发生实实在在的接触的接近。一些触摸表面在书写对象没有实际接触触摸屏时可以感测书写对象向屏幕的接近。这样的接近检测可以被视为“接触”并且用于生成下笔事件和“接触点”。
在一个方面中,书写对象加速度也用于确定预测性距离。加速度可以在一系列接触点之上被计算。
在一些方面中,本文所描述的系统和方法的益处是改进计算机的性能,以便减少针对墨内容的显示的表观延时。这样的改进还可以造成在墨内容的创建期间的改进的用户体验。
在各种方面中,本文所描述的系统和方法可以允许用户使用输入设备来创建墨输入,所述输入设备诸如触笔、用于接收触摸输入的触摸接口、鼠标、或可以控制显示区域内的光标的移动的另一设备。
定义
在以下讨论中,根据本文所描述的技术的系统和方法的示例可以使用基于MicrosoftTM操作环境的操作环境来例示,但是各方面不受限于该环境。此外,某些术语在描述各种方面时为了引用的简易性而被使用。提供以下明确定义来帮助各种方面的理解。
如本文所利用的,“数字墨”是具有性质的笔划的序列或集合。笔划序列可以包括以有序形式的笔划。序列可以按照捕获的时间或者按照笔划出现在页面哪里或者在协作情形中按照墨的作者来排除。其它次序是可能的。笔划集合可以包括笔划序列或无序笔划或其任何组合。另外,一些性质可以对每一个笔划或笔划中的点是独特的(例如,压力、速度、角度等)。这些性质可以以笔划或点水平而不以墨水平被存储。
如本文所利用的,“点”是定义空间中的位置的信息。例如,点可以相对于捕获空间(例如,数字化器上的点)、虚拟墨空间(将所捕获到的墨放置到其中的空间中的坐标)和/或显示空间(显示设备的点或像素)来定义。
如本文所利用的,“笔划”是所捕获到的点的序列或集合。例如,当被渲染时,点的序列可以利用线条来连接。可替换地,可以将笔划表示为点和下一个点的方向上的矢量。简而言之,笔划意图涵盖涉及墨的点或部段的任何表示,而与点的底层表示和/或什么将点进行连接点无关。
如本文所利用的,“书写仪器”是指用于提供对应于数字墨的笔划的设备。例如,书写仪器可以包括笔、手指、触笔和能够由支持数字墨的表面感测的指向对象。
湿墨:在墨笔划处于进行中的同时被渲染的墨,也就是说,在接触件(例如,笔)尚未提离表面的同时。在各种方面中,湿墨上的部分可以包括预测性墨。
干墨:在墨笔划完成之后被渲染或重新渲染的墨,或者从加载自除了输入之外的源(持续性墨内容)的墨数据被渲染的墨。
预测性墨:基于用户意图在哪里继续墨笔划的预测而被渲染的墨。预测性墨笔划可以在对应于湿墨笔划的最后被渲染的像素的起始点与终止点之间行进。湿墨笔划的最后被渲染的像素基于触摸屏上的用户输入而被确定。在向笔划添加新的湿墨时最后的点持续改变,直到笔划完成。
半干墨:待同步化到干墨层的中间层中的墨。
预测性墨过程流
现在转向图1,示出依照本文所描述的技术的一方面的用于生成预测性墨的过程流100。过程流100可以由在触敏设备上运行的墨引擎执行,所述触敏设备诸如智能电话、平板电脑、膝上型电脑或感知像素显示器。墨引擎可以与设备的操作系统集成,可以是独立应用,或者可以与接收手写输入的应用集成,诸如绘图或记笔记应用。在步骤102处,接收点信息。点信息可以指明已经由书写工具接触的触摸屏表面上的特定接触点,所述书写工具诸如触笔、主动笔或手指。接触点还可以是指经滤波的接触点。
在决定点104处,点信息被评估以确定点是否表示新墨笔划的开始。新墨笔划的开始可以与下笔事件对应。下笔事件可以发生在书写工具接触触摸屏时。在下笔事件之后立即接收到的点可以是笔划中的第一点。在下笔事件之后但是在发生提笔事件之前接收到的点可以被视为相同笔划的部分。提笔事件发生在书写工具与触摸屏的接触不连续或者在大于阈值的时间段内不连续时。换言之,提笔事件发生在触摸表面停止检测到接触触摸表面的笔或者在大于阈值时间内停止检测到笔时。
如果在步骤102处接收到的点是新笔划的开始,则在步骤106处,初始化拟合器。初始化拟合器可以牵涉在用于处置新笔划的准备中启动新的拟合器过程或者清空来自运行过程的数据。随后将更加详细地描述拟合器,但是简要来说,拟合器生成遵循笔划内的点的湿墨。可以使用不同类型的拟合器。一种类型的拟合器可以连接点,如在连接网点中。第二类型的拟合器可以试图绘制追踪接触点的更平滑的线条,但是可以或可以不交叉与笔划相关联的任何给定接触点。第二类型的拟合器可以生成一起形成墨笔划的一系列弯曲部段。
在已经启动拟合器状态之后,点被返回。通过将点返回,点可以与笔划相关联,并且被保存以供当接收到附加点时的随后处理。例如,点连同其它点可以被处理以生成湿墨的部段。
如果点不是笔划的开始,如在决定点104处所确定的,则拟合器在步骤110处运行。如所提到的,拟合器取已经作为笔划的部分被接收的点作为输入和输出数据,其可以用于渲染遵循点的湿墨的部段。
在决定点112处,做出新点是否是拟合器内的有效部段内的良好拟合的确定。在一个方面中,拟合器生成部段的序列。部段可以采取线条或曲线的形式。在某个点处,新点可能不紧密地符合现有部段。例如,当用户在她的书写中做出方向的急剧调节或改变时,则在调节之后接收的第一点可能不符合之前点。当检测到差的拟合时,拟合器状态在步骤114处更新以准备生成新的部段,并且在步骤116处最终化现有部段。不同的部段可以是相同笔划的部分。如所提到的,笔划可以由下笔和然后的提笔事件定义。
如果在决定点112处,新点是良好拟合,则在决定点118处做出是否存在在笔画内生成的多个部段的确定。如果存在附加部段,则在步骤120处,可以使用新点更新部段之间的关系。更新可以通过在步骤120处运行C1连续性算法来完成。如果在决定点118处或者在步骤120处更新之前部段的连续性之后仅存在所存在的一个部段,则在步骤122处计算预测性墨。如所提到的,预测性墨被显示在实际的湿墨终止的地方的结尾处。当生成实际湿墨时,替换预测性墨,尽管新的预测性墨可以连续地被生成,直到笔划在提笔事件处的终止。
预测性墨试图桥接当被渲染于显示器上的实际湿墨终止和书写对象的尖端在触摸屏上之间的间隙。在一个方面中,湿墨结尾与书写对象的点之间的距离最初通过确定系统内的延时来确定。延时可以由与生成原始点数据的触摸屏相关联的硬件处理管线以及处理原始点数据以生成湿墨的渲染管线中的延迟所导致。换言之,书写工具可以比可以生成湿墨更快地跨触摸屏移动。
预测性墨示例
现在转向图2,图示了由延时导致的湿墨中的间隙。图2示出了触摸屏显示器200,其中墨笔划205在进行中。墨笔划205通过用户的手部210跨触摸屏显示器移动书写工具212来生成。如可以看到的,墨笔划205中的湿墨在终止墨点206处终止。设备和墨处理引擎内的延时使得墨的进行延后于书写对象的尖端213。延后导致湿墨终止点206与书写工具212的尖端213之间的间隙214。在本文所描述的技术的一方面中,生成预测性墨(在图2中未示出)以跨越湿墨终止点206和书写对象的尖端213之间的间隙214。
现在转向图3,图示了预测性墨的非准确生成。触摸屏300示出了通过用户310使书写工具312的尖端313跨触摸屏300行进而生成的主动笔划305。湿墨在墨终止点306处终止。在该情况下,已经向实际的湿墨(实线)的结尾添加预测性湿墨315(虚线)。长度314使得预测性湿墨315以显著的量307超出湿墨的墨终止点306与书写工具312的尖端313之间的距离。本文所描述的技术的方面通过精确地预测湿墨的墨终止点306与书写工具312的尖端313之间的距离来试图避免生成过量的湿墨。
现在转向图4,示出依照本文所描述的技术的一方面的精确设计大小的预测性墨。触摸屏400示出通过用户410使书写工具412的尖端413跨触摸屏400行进而生成的有效墨笔划405。包括湿墨的有效笔划在墨终止点406处终止。预测性墨在墨终止点406处开始并且行进到点407,其在触摸屏上与尖端413对应。具有对应于湿墨的墨终止点406与书写仪器尖端之间的差异的长度414的预测性墨可以依照本文所描述的技术的一方面而生成。如更加详细解释的,本文所描述的技术的各方面力图避免生成在书写工具前方行进的预测性墨或者在书写工具之后延后从而暴露所渲染的墨与书写对象的尖端413之间的间隙的预测性墨。
图5示出示例性接触点、湿墨点、湿墨和预测性墨。接触点包括第一接触点502、第二接触点504、第三接触点506、倒数第二接触点508和终止接触点510。将湿墨530绘制成通过第一接触点502、第一湿墨点520、第二湿墨点522、第三湿墨点524和终止接触点510。在各方面中,湿墨点可以使用贝塞尔近似来计算。第二接触点504、第三接触点506和倒数第二接触点508可以充当贝塞尔近似中的约束。湿墨540可以通过重新参数化贝塞尔近似、使用书写对象跨表面的速率和可选地加速度来计算。湿墨530可以形成墨部段的部分。
初步滤波
如所提到的,本文所描述的技术的各方面可以对接触点进行滤波以生成经滤波的接触点的集合。在其中接触点具有许多噪声或者不具有非常良好的质量的场景中,滤波算法的输出由于每个部段拟合的几个点而可能看起来不“平滑”。在一个方面中,由于输入点离开经拟合的曲线不多于10个himetric单位,因此抖动数据可能更经常超出该限制。结果得到的贝塞尔曲线将仍旧拟合输入点,但是将最可能看起来不是用户所意图的,因为由硬件引入误差。虽然拟合误差容限可以增加以降低抖动的效果,但是这产生了在上墨的同时显著的墨形状改变的不合期望的效果。取代于增加拟合误差容限,缓解该问题的一种方式是通过在运行拟合算法之前使点经过滤波器来预处理输入点。对输入进行滤波的缺点是延时中的增加。由滤波导致的延时可以包括在用于确定预测性墨的长度的延时中。
若干不同的滤波方法是可能的。对噪声进行滤波的第一方法是取输入点的移动平均。一个示例是3点平均,其中每一个输入点利用之前和之后点进行平均。具体地,给定输入点
Figure DEST_PATH_IMAGE002
,结果得到的点
Figure DEST_PATH_IMAGE004
将为:
Figure DEST_PATH_IMAGE006
要指出的是,点不能被计算,直到下一点是已知的,这使延时增加接收下一输入点所花费的时间。这可以被延伸到包括平均中的更多点。例如,5点平均将取5个接连点的平均。
EAn无限冲击响应(IIR)滤波器是可以与本文所描述的技术的各方面一起使用的第二滤波器。IIR如同移动平均,其中结果得到的值取决于所有之前值。利用指数IIR滤波器,之前点的权重指数递减。当前经平滑的点
Figure DEST_PATH_IMAGE008
通过取当前输入点
Figure DEST_PATH_IMAGE010
和之前经平滑的点
Figure DEST_PATH_IMAGE012
的加权平均来计算:
Figure DEST_PATH_IMAGE014
是确定当前输入点和之前经平滑的点的权重的参数。
要注意,应用指数滤波器具有与其中经滤波的点倾向于曲线的内部的移动平均类似的效果。而且,当在之前点上放置更多权重时(也就是说,当a较小时),结果得到的点在实际的输入点之后延后得更多。结果得到的笔划的端点同样可见地在最后的实际输入点之后。这不同于移动平均,其中最后输入点被定义为结果得到的笔划的最后点。
要指出的是,基于当前速率或其它因素而使a变化是可能的。例如,a对于较高的速率而言可以较大,使得经平滑的点不落后太多并且存在较少的所感知到的延时。要指出的是,速率计算要求知晓输入点的时间戳。相应地,原始接触点可以用于确定速率。在另一方面中,经滤波的接触点包括与对应的原始接触点相同的时间戳信息。
墨滤波器
如所提到的拟合器,诸如参照图1提到的拟合器,接收作为输入的接触点并且生成用于形成湿墨和干墨二者的墨点。在一个方面中,三次方贝塞尔滤波器生成三次方贝塞尔部段。拟合算法利用三次方贝塞尔部段的集合来近似墨点的笔划。贝塞尔部段是使用贝塞尔算法生成的曲线。贝塞尔部段的任一端在接触点上。端点之间的接触点可以是用于贝塞尔算法的控制点。接触点可以不在由贝塞尔算法生成的曲线上。由于算法一次被馈送一个接触点,因此对于每一个新点,其更新有效贝塞尔部段,或者其开始新的贝塞尔部段,如果点不足够良好地符合有效部段的话。拟合可以使用分段逻辑而被评估。
三次方贝塞尔拟合维护有效点的集合。每一次接收到新点,将其添加到集合并且拟合器计算新的三次方贝塞尔近似。三次方贝塞尔近似继续更新,直到接收到不符合其它点从而使有效部段结束并且开始新部段的点。单个笔划可以包括多个部段。部段被连接并且第一部段的端部是下一部段的开端。换言之,相邻部段共享接触点。因此,有效集合不一定包含所有点,因为笔划的开端可能被分段逻辑重置。三次方贝塞尔部段
Figure DEST_PATH_IMAGE016
由其四个控制点
Figure DEST_PATH_IMAGE018
限定:
Figure DEST_PATH_IMAGE020
在任何给定时间点处,算法利用一个单个贝塞尔部段B(t)对有效点的集合
Figure DEST_PATH_IMAGE022
进行拟合。拟合任务被公式化为最小化问题:
Figure DEST_PATH_IMAGE024
其中E是以下更加全面地描述的某个误差函数。
Figure DEST_PATH_IMAGE026
是描述为集合
Figure DEST_PATH_IMAGE028
的隐含折线。则,
Figure DEST_PATH_IMAGE030
由于计算折线和贝塞尔上的点之间的距离是昂贵的,因此在各种方面中,通过以参数t的相同值对折线和贝塞尔进行采样而获取的两个点之间的距离被近似为:
Figure DEST_PATH_IMAGE032
针对其期望最小化的误差函数然后可以定义为:
Figure DEST_PATH_IMAGE034
Figure DEST_PATH_IMAGE036
,并且
Figure DEST_PATH_IMAGE038
可以选择成使得
Figure DEST_PATH_IMAGE040
,使得误差函数计及
Figure DEST_PATH_IMAGE042
中的所有且仅有的点。然而,由于使用三次方近似,因此样本包括至少四个点。
最小化问题的变量是B的控制点。令
Figure DEST_PATH_IMAGE044
为控制点的矢量。梯度下降方案用于找到最优值:
Figure DEST_PATH_IMAGE046
更新规则的参数
Figure DEST_PATH_IMAGE048
控制收敛速率。一般而言,关于较大的值要求较少迭代,但是同时,当
Figure DEST_PATH_IMAGE048A
为大时,计算可能变得不稳定。可以利用的一个示例性参数
Figure DEST_PATH_IMAGE048AA
为:
Figure DEST_PATH_IMAGE050
另外,发散风险可以通过用
Figure DEST_PATH_IMAGE048AAA
除以不产生拟合误差上的任何改进的迭代的数目来缓解。
Figure DEST_PATH_IMAGE052
是关于B的控制点的近似误差的梯度,并且可以被计算如下:
Figure DEST_PATH_IMAGE054
应当指出的是,在更新规则中存在四个自由度,对应于三次方贝塞尔近似的四个控制点。然而,在下一章节中描述的分段组件230将使用这些自由度中的一些以在样条上施加合期望的解析性质(例如连续性)。
分段
分段逻辑完成两个基本任务。第一,其决定开始新的贝塞尔近似还是更新当前的贝塞尔近似。第二,其通过在开始新的近似或曲线的任何时间重新配置三次方贝塞尔拟合器来在样条上强加解析性质(最明显地,C0或C1连续性)。如本文所利用的,并且如本领域普通技术人员将理解到的,“连续性”是指相邻贝塞尔曲线相连接的结合点处的相对平滑性。“C0连续性”是指其中相邻贝塞尔曲线共享相同端点的情形。“C1连续性”是指其中相邻的贝塞尔曲线共享相同的端点和相同的导数二者的情形。
开始新的贝塞尔近似还是更新当前的贝塞尔近似的决定是基于拟合的质量。更具体地,开始新的贝塞尔近似还是更新当前贝塞尔近似的决定是基于所接收的数字化的墨点与由三次方贝塞尔拟合器计算出的最佳近似之间的最大距离。在各方面中,截止阈值可以是10个himetric单位(0.1mm),在该点以上,用户在可用性研究中指示当新点到来时(而不是延伸到新点)墨改变是明显的。然而,应当指出的是,阈值在墨被渲染时与墨的物理大小相关。例如,如果湿墨(也就是说,在从接收表面释放输入仪器之前,在笔划活动期间被渲染的墨)利用10x放大进行渲染,则阈值很可能将需要成为1/10倍,否则用户将注意到墨改变。当然,由于干墨(即一旦从接收表面释放输入仪器时,接收表面上的墨)不改变(也就是说,分段已经完成),该点仅对于湿墨是有意义的。还应当指出的是,阈值可以是任何数量的之前墨点、这样的墨点的任何特征(例如坐标、压力、倾斜、扭曲等)的函数,和/或可以是设备相关的(例如DPI、可用存储器、CPU、GPU等)。任何和全部这样的变型,以及其任何组合,被设想到在本文所描述的技术的范围内。
由分段逻辑完成的其它重要任务是在样条上施加合期望的解析性质。至少样条必须被连接(C0连接性),这意味着每一个贝塞尔曲线或部段的第一控制点必须与之前的曲线或部段的最后控制点匹配,从而损失一个自由度:
C0连续性:
Figure DEST_PATH_IMAGE056
虽然C0连续性保证样条被连接,但是其不足以产生平滑的墨。依照本文所描述的技术的各方面,差的伪像可以通过施加C1连续性来去除。参数C1连续性要求部段在t=0处的导数匹配之前部段在t=1处的导数:
Figure DEST_PATH_IMAGE058
然而,当施加参数C1连续性时损失另一自由度,这留下用于产生良好拟合的极少自由度。幸运的是,使样条看起来是平滑的所全部需要的是几何(如与参数相对的)C1连续性,其是不太限制的并且要求仅约束第二控制点的方向:
几何C1连续性:
Figure DEST_PATH_IMAGE060
依照其实施例,几何C1连续性可以通过在已经应用更新规则之后在所要求的方向上投射第二控制点而被施加。
预测性墨计算
现在转向图6,提供了用于示出依照本文所描述的技术的一方面的用于在显示设备上渲染预测性湿墨内容的方法600的流程图。在步骤610处,接收由书写对象跨触摸屏的表面做出的路径上的多个接触点。
在步骤620处,使用多个接触点作为输入来计算有效三次方贝塞尔近似。有效贝塞尔近似具有起始接触点和终止接触点。以上已经描述了贝塞尔近似的生成。
在步骤630处,确定书写对象在位置处接触触摸屏与将与该位置对应的点考虑在内的触摸屏显示器上的湿墨的显示之间的延时时段。在一个方面中,将延时时段确定为20ms或更大,诸如30ms或更大,或者诸如40ms或更大,或者诸如50ms或更大,或者诸如60ms或更大,或诸如80ms或更大,或者诸如100ms或更大。在一个方面中,通过调用计算延时的函数来确定延时。函数可以通过操作系统API或其它机构来调用。延时可以可替换地描述为绘制时间(即,使绘制点出现在屏幕上所花费的时间)。
在步骤640处,确定书写对象跨触摸屏的速率。速率可以使用作为湿墨的一部分的接触点之间的距离和那些点之间的距离来确定。可选地,还可以确定加速度。在一个方面中,在针对湿墨的两个最新接收的接触点之上计算速率。在另一方面中,考虑有效笔划中的所有接触点并且更新的点被给予更多的权重。加速度还可以在最新的三个或更多点之上被计算,或者使用附加点来计算,其中更新的点被给予更多的权重。
在步骤650处,确定书写对象在延时时段期间应当以该速率行进的预测性距离。以下更加详细地描述该计算。
在步骤660处,计算从终止点延伸预测性距离的新的三次方贝塞尔近似。
在步骤670处,基于有效贝塞尔近似的实际的湿墨连同基于新的三次方贝塞尔近似的预测性湿墨被渲染。
现在转向图7,提供了依照本文所描述的技术的一方面的一种用于向接触点分配压力数据的方法700。在步骤710处,在触摸屏设备处接收多个接触点。接触点在由书写对象跨与触摸屏设备集成的触摸屏的表面做出的路径上。
在步骤720处,生成多个经滤波的接触点。在一个方面中,经滤波的点通过在所述多个接触点上运行EAn无限冲击响应滤波器而被生成。其它滤波方法是可能的。
在步骤730处,使用多个经滤波的接触点作为输入来计算有效三次方贝塞尔近似。有效三次方贝塞尔近似具有起始接触点和终止接触点。
在步骤740处,确定针对触摸屏设备的湿墨延时时段。在步骤750处,确定书写对象跨触摸屏的速率。
在步骤760处,确定书写对象在湿墨延时时段期间应当以该速率行进的预测性距离。在计算预测性距离时还可以考虑加速度。
在步骤770处,计算从终止点延伸预测性距离的新的三次方贝塞尔近似。可以如之前所描述的那样计算新的三次方贝塞尔近似。
在步骤780处,基于有效贝塞尔近似的湿墨连同基于新的三次方贝塞尔近似的预测性湿墨被渲染。预测性湿墨可以从湿墨的终止延伸。当渲染附加湿墨时,附加湿墨可以取代预测性湿墨。
现在,在下文中更加详细地描述方法600和700的各种方面。
为了生成预测性墨,计算当前贝塞尔部段要延伸的量。令
Figure DEST_PATH_IMAGE062
为当前笔划的接触点的(经滤波的)位置(按照时间排序),
Figure DEST_PATH_IMAGE064
为点的对应(经滤波的)时间戳,并且T是在预测前方的指定时间。在一个方面中,前方时间T=湿墨延时。湿墨延时是书写对象接触触摸屏上的点与显示使用接触点生成的湿墨之间的时间量。
一旦确定了湿墨延时,可以计算书写工具的速率以确定预测性墨应当从实际的湿墨的端部延伸的距离。在一个方面中,结合书写工具的速率来考虑书写工具的加速度以计算预测性墨距离。然后通过重新参数化,通过对部段进行延伸来生成预测性墨。
要指出的是,可以利用滤波器预处理接触点数据以去除之前所描述的噪声和抖动。对时间戳进行滤波还避免重复时间戳的问题,其将导致以下计算中的除以零的除法。在至少有3个输入点正由当前贝塞尔部段拟合情况下,经延伸的贝塞尔部段的长度通过计算点n-1和n-2之间的速率
Figure DEST_PATH_IMAGE066
和点n-2和n-3之间的
Figure DEST_PATH_IMAGE068
而按照如下来计算出:
Figure DEST_PATH_IMAGE070
是书写对象的加速度。如果
Figure DEST_PATH_IMAGE072
,设置
Figure DEST_PATH_IMAGE074
,因为预测的速率可能为负。
在计算当前部段的弧长度之后,使用对应于弧长度加上
Figure DEST_PATH_IMAGE076
(其为对应于T的延伸量)的参数
Figure DEST_PATH_IMAGE078
来重新参数化部段。基本思想是通过将最后的贝塞尔部段
Figure DEST_PATH_IMAGE080
延伸到其未来而进行预测,这意味着在t处对
Figure DEST_PATH_IMAGE080A
进行采样。
压力模拟
此外,本文所描述的技术的各方面可以生成针对墨渲染引擎的压力数据,其中没有原始压力数据离开。原始压力数据可以由压敏触摸表面、主动笔等生成。然而,用户在其上进行书写的许多设备不是压敏的。本文所描述的技术的各方面可以使用书写对象速率作为用于压力的代表物,以生成可以馈送至墨渲染引擎的压力数据。压力数据可以由墨渲染引擎用于设置墨宽度和/或其它墨参数。
在本文所描述的技术的一方面中,笔速率用作针对笔压力的代表物,其进而用于设置结果得到的墨的粗细度。如本文所使用的,墨的粗细度是指墨的截面宽度,其中近似垂直于墨笔划来取得截面。图8图示了在不同区段处具有不同粗细度的墨800。墨行进通过墨点820、墨点822、墨点824和链接点828。在一个方面中,不同墨点与不同压力值相关联。较高压力可以创建较粗的墨,诸如在第一截面802处。较低压力可以创建较细的线,诸如在第二截面804处。
一般而言,较高速率充当针对轻压力的代表物,其导致较粗的墨。并且较低速率充当针对高压力的代表物,其导致较细的墨。
现在转向图9,提供了依照本文所描述的技术的一方面的用于向接触点分配压力数据的方法900。
在步骤910处,从触摸屏接收不与压力信息相关联的第一接触点。第一接触点是由书写对象跨触摸屏的表面做出的路径上的多个接触点中的一个。
在步骤920处,确定所述多个接触点内的第二接触点之间的书写对象的速率。
在步骤920处,确定对应于该速率的压力。
在步骤930处,将压力与第一接触点相关联以生成被更新的第一接触点。
在步骤940处,经更新的第一接触点用于渲染数字墨。第一接触点可以被传送至墨渲染引擎,其渲染数字墨。
现在提供方法900的细节。本文所描述的技术的各方面可以在用于创建墨的一个或多个设备不能够有效地处理输入压力时使用速率作为针对压力的代表物。作为阈值步骤,本文所描述的技术的各方面可以确定设备没有提供与接触点相关联的压力数据或者没有通过不同的信道提供。一些设备不能够将压力数据与接触点相关联。在该情况下,缺少检测压力的能力可能是由硬件、硬件上的软件或组合导致。
已经存在通过使用在指示器信息中捕获到的笔尖压力来利用主动笔技术得到自然且漂亮的墨的努力。其可以与墨笔划的宽度相关联,因此当压力为高时其变得更粗,并且当压力为低时更细。书写器从纸张上的物理上墨产生什么内容也是自然的类比。然而,该模型不直接应用于触摸上墨或被动笔(触笔)上墨,因为不存在从硬件提供的压力信息。当不存在压力数据时,则墨笔划将总是具有相同的宽度,而不管用户的书写触笔如何,并且看起来相当枯燥。
为了将触摸墨质量改进到与可以通过主动笔产生的情况同等的水平,本文所描述的技术的各方面使用利用书写对象在上墨期间的移动速率来模拟笔尖压力的算法。基本假设是缓慢且持续的书写将创建较粗的笔划,并且快速且迅速的上墨很可能创建较细的笔划。本文所描述的技术的各方面捕获通过速率改变的用户意图并且在笔划外观中将其反映出来。
速率可以通过用两个接连的墨点之间的距离(以DIP计)除以采样时间(例如在60hz数字化器上16ms)来计算。然后需要模拟函数以将速率映射到压力,因此其可以使用在与导出针对主动笔的笔划宽度的类似的计算中。一个方法是得到XY坐标中的速率矢量。然后,计算矢量的绝对值的对数并且将其映射到压力。
Figure DEST_PATH_IMAGE082
该压力P然后可以与(多个)接触点相关联,所述接触点与速率矢量相关联。要指出的是,给定相同速率,对数可以被较大的底数取代,诸如log5或log10,以得到用于不同的上墨体验的较粗笔划。
数字墨环境
图10示出了适于实践本文所描述的技术的方面的示例性数字墨环境1000。数字墨环境1000可以存在于平板电脑、PC、膝上型电脑、智能电话或其它计算设备(诸如随后描述的计算设备1100)上。数字墨环境1000是基于MicrosoftTM操作环境并且使用来自于该操作环境的术语。本文所描述的技术的各方面不限于该环境。
图10示出可以在环境的不同方面处生成的延时。例如,硬件生态系统1006可以生成15ms以处理输入(例如,生成接触点数据)和24ms以渲染墨。低层级输入和图形层1005可以添加另外的1ms。输入和合成器层1004可以生成24ms。这些数字可以随设备的不同而变化,并且在此仅作为示例而提供。墨渲染过程的其它方面(未示出)可能生成延时。给定这些数字,总延时将为64ms。在本文所描述的技术的各方面中,预测器组件1020可以使用给定速率和贝塞尔近似来将预测性湿墨64ms绘制到未来。
数字墨环境1000中的其它层包括应用和壳层1001、UI框架层1002和直接墨(DirectInk)层1003。应用和壳层1001包括壳子组件1010和直接墨应用1012。安装在任何给定设备上的直接墨应用可以变化。UI框架层1002包括UI框架子组件1014、墨应用程序接口(API)1016和DirectX API 1018。直接墨层1003包括直接操纵子组件1022和直接墨子组件1019。输入和合成器层包括输入子组件1024和合成器子组件1026。低层级输入和图形层包括低层级输入子组件1028和图形子组件1030。硬件生态系统1006可以包括硬件子组件1032,其包括涉及触摸功能的各种硬件驱动器。
计算环境
图11是图示了适于实现本文所描述的技术的实施例的示例性计算环境的框图。一般地参照附图并且最初特别地参照图11和配置成选择由计算设备1100渲染的数字墨的计算设备1100。计算设备1100只是合适的计算环境的一个示例,并且不意图暗示关于本文所描述的技术的实施例的使用或功能的范围的任何限制。也不应当将计算设备1100解释为具有涉及所图示的任何一个组件或组件的组合的任何依赖性或要求。
本文所描述的技术的实施例可以在计算机代码或机器可用指令(包括计算机可执行指令)的一般上下文中描述。这些指令可以包括由计算机或其它机器(例如个人数据助理或其它手持设备)运行的程序组件。一般地,程序组件,包括例程、程序、应用、对象、组件、数据结构等,是指执行特定任务或实施特定抽象数据类型的代码。本文所描述的技术的实施例可以在各种系统配置中实践,包括手持设备、平板计算机、游戏设备、消费电子产品、通用计算机、专用计算设备等。本文所描述的技术的实施例还可以在分布式计算环境或云环境中实践,其中任务由通过通信网络链接的远程处理设备执行。
如本领域技术人员将领会到的,计算设备1100可以包括硬件、固件、软件或硬件和软件的组合。硬件包括处理器和存储器,处理器被配置成执行存储在存储器中的指令。与指令相关联的逻辑可以整体或部分地直接以硬件逻辑实现。例如并且没有限制,说明性类型的硬件逻辑包括现场可编程门阵列(FPGA)、专用集成电路(ASIC)、片上系统(SOC)或复杂可编程逻辑器件(CPLD)。硬件逻辑允许计算设备生成图形用户接口,图形用户接口从用户接收数字墨笔划。设备被配置成在图形用户接口处接收作为输入的数字墨笔划。在某些实施例中,计算设备在数字墨书写模式与数字墨选择模式之间切换。基于从用户接收到的动作,计算设备可以选择在支持墨的表面上被渲染的数字墨笔划。在实施例中,设备可以显示命令框以修改数字墨笔划。
继续参照图11,计算设备1100包括总线1110,总线1110直接或间接地耦合以下设备:存储器1112、一个或多个处理器1114、一个或多个呈现组件1116、输入/输出(I/O)端口1118、I/O组件1120和说明性电源1122。总线1110表示一个或多个总线可以是什么总线(诸如地址总线、数据总线或其组合)。尽管为了清楚起见图11的各种块以线条示出,但是实际上,对各种组件进行勾勒并非是如此清晰的,并且打个比喻,线条将更准确地为灰色且模糊的。例如,人们可以将呈现组件(诸如显示设备)视为I/O组件。而且,处理器具有存储器。本文的发明人认识到,这是技术的本质,并且重申,图11的图仅仅说明可以结合本文所描述的技术的一个或多个实施例使用的示例性计算设备。对诸如“工作站”、“服务器”、“膝上型电脑”、“手持设备”等之类的类别之间不做区分,因为全部被设想在图1的范围内并且是指“计算机”或“计算设备”。
计算设备1100典型地包括各种计算机可读介质。计算机可读介质可以是可由计算设备1100访问并且包括易失性和非易失性介质、可移除和不可移除介质二者的任何可用介质。计算机可读介质可以包括计算机存储介质和通信介质。
计算机存储介质包括以用于信息的存储的任何方法或技术实施的易失性和非易失性、可移除和不可移除介质,所述信息诸如计算机可读指令、数据结构、程序模块或其它数据。计算机存储介质包括但不限于随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、闪速存储器或其它存储器技术、CD-ROM、数字多功能盘(DVD)或其它全息存储器、磁盒、磁带、磁盘存储装置或其它磁性存储设备,或可以用于对期望的数据进行编码并且可以由计算设备1100访问的任何其它介质。在实施例中,计算机存储介质可以从有形计算机存储介质选择,比如闪速存储器。这些存储器技术可以暂时、临时或永久地存储数据。计算机储存装置不包括并且排除通信介质。计算机存储介质是非暂时性的,并且排除传播的数据信号。
另一方面,通信介质典型地体现计算机可读指令、数据结构、程序模块或调制的数据信号(诸如载波或其它输运机制)中的其它数据,并且包括任何信息递送介质。术语“调制的数据信号”意指使其特性中的一个或多个特性以对信号中信息进行编码的这种方式被设置或改变的信号。作为示例而非限制,通信介质包括有线介质,诸如有线网络或直接接线的连接,以及无线介质,诸如声学、RF、红外和其它无线介质。
存储器1112包括易失性和/或非易失性存储器形式的计算机存储介质。存储器可以是可移除的、不可移除的或其组合。示例性硬件设备包括固态存储器、硬盘驱动器、光盘驱动器等。计算设备1100包括一个或多个处理器,其从诸如存储器1112或I/O组件1120之类的各种实体读取数据。(多个)呈现组件1116向用户或其它设备呈现数据指示。示例性呈现组件1116包括显示设备、支持数字墨的表面、扬声器、打印组件、振动组件等。I/O端口1118允许计算设备1100逻辑耦合到包括I/O组件1120的其它设备,一些I/O组件可以内置。说明性I/O组件包括麦克风、操纵杆、游戏垫、卫星天线、扫描仪、打印机、无线设备、控制器(诸如书写仪器、触笔、键盘和鼠标)或自然用户接口(NUI)等。I/O组件1120可以包括表面传感器1120a和墨数字化器1120b。表面传感器1120a从书写仪器接收交互。进而,所感测的交互信息可以被墨数字化器1120b数字化为一系列接触点。接触点可以用作用于以上描述的墨渲染引擎的输入。
NUI处理由用户生成的姿势(例如手部、面部、身体等)、话音或其它生理输入。这些输入中的一些可以被解释为应当在支持数字墨的表面上被渲染的数字墨。NUI的输入可以传输至适当的网络元件以供进一步处理。NUI实施语音识别、触摸和触笔识别、面部识别、生物识别、屏幕上和屏幕附近二者的姿势识别、空中姿势以及与计算设备1100上的显示相关联的头部和眼镜追踪中的任何组合。计算设备1100可以配备有深度相机,诸如立体相机系统、红外相机系统、RGB相机系统、表面传感器和这些的组合,以用于姿势检测和识别。此外,计算设备1100可以配备有加速度计或陀螺仪,其使得能够检测运动或压力。将加速度计或陀螺仪的输出提供到存储器以供存储和处理。此外,将加速度计或陀螺仪的输出提供到计算设备1100的显示器以渲染沉浸式增强现实或虚拟现实。
无线电1124传输和接收无线电通信。计算设备1100可以是适配成通过各种无线网络接收通信和媒介的无线终端。计算设备1100可以经由无线协议进行通信以与其它设备(在图11中未示出)通信,所述无线协议诸如是码分多址(“CDMA”)、全球移动通信系统(“GSM”)或时分多址(“TDMA”),以及其它通信协议。无线电通信可以是短程连接、长程连接、或者短程和长程无线电信连接二者的组合。当我们提到“短”和“长”类型的连接时,我们不意指两个设备之间的空间关系。而是,我们一般将短程和长程称为不同类别或类型的连接(即初级连接和次级连接)。短程连接可以包括到提供对无线通信网络(诸如使用802.11协议的WLAN连接)的访问的设备(例如移动热点)的Wi-Fi®连接。到另一计算设备的蓝牙连接是短程连接的第二示例。长程连接可以包括使用CDMA、GPRS、GSM、TDMA和802.16协议中的一个或多个的连接。
已经关于特定实施例描述了本文所描述的技术的实施例,它们在所有方面中都意图是说明性而非限制性的。对于本文所描述的技术所述的普通技术人员而言,未脱离本文描述的技术的范围的替代性实施例将变得明显。
将理解到,某些特征和子组合是实用性的,并且可以在不参照其它特征和子组合的情况下被采用。这由权利要求的范围所设想到并且处于权利要求的范围内。

Claims (33)

1.一种触摸屏显示设备,包括:
处理器,
触摸屏,
计算机存储装置,具有计算机可执行指令,当所述指令由处理器运行时,其执行一种用于在触摸屏上渲染预测性湿墨的方法,所述方法包括:
接收由对象跨触摸屏的表面做出的路径上的多个接触点;使用所述多个接触点作为输入来计算有效三次方贝塞尔逼近,有效三次方贝塞尔逼近具有起始接触点和终止接触点;
确定针对触摸屏的湿墨延时时段,所述湿墨延时时段至少是所述对象接触所述触摸屏上的点与表示所述点的湿墨在所述触摸屏上出现之间的延时;
使用所述对象在所述触摸屏上的不同接触点之间的速率,来确定对象在湿墨延时时段期间应当行进的预测性距离,在速率计算中,近期接触点之间的速率被赋予比较早期接触点大的权重;
计算使所述预测性距离从终止接触点延伸的新的三次方贝塞尔逼近;以及
渲染基于有效三次方贝塞尔逼近的湿墨连同基于所述新的三次方贝塞尔逼近的预测性湿墨。
2.权利要求1所述的触摸屏显示设备,其中方法还包括确定对象跨触摸屏的加速度,并且使用速率和加速度来确定预测性距离。
3.权利要求1所述的触摸屏显示设备,其中方法还包括使用速率来计算针对湿墨的粗细度。
4.权利要求1所述的触摸屏显示设备,其中终止接触点具有时间戳,所述时间戳随后于与所述多个接触点中的所有其它接触点相关联的时间戳。
5.权利要求1所述的触摸屏显示设备,其中湿墨延时时段是当对象在接触点处接触触摸屏时的第一时间点与当使用接触点作为对墨湿计算的输入来渲染湿墨时的第二时间点之间的时间量。
6.权利要求1所述的触摸屏显示设备,其中对象是手指。
7.一种用于在触摸屏设备上渲染预测性湿墨的方法,包括:
在所述触摸屏设备处,接收由对象跨与触摸屏设备集成的触摸屏的表面做出的路径上的多个接触点;
使用所述多个接触点作为输入来计算有效三次方贝塞尔逼近,有效三次方贝塞尔逼近具有起始接触点和终止接触点;
确定针对触摸屏设备的湿墨延时时段,所述湿墨延时时段至少是所述对象接触所述触摸屏上的点与表示所述点的湿墨在所述触摸屏上出现之间的延时;
确定对象在湿墨延时时段期间应当行进的预测性距离;
接收附加接触点;
确定所述附加接触点在所述有效三次方贝塞尔逼近中拟合;
计算新的三次方贝塞尔逼近,所述新的三次方贝塞尔逼近使用所述附加接触点作为输入并且根据所述有效三次方贝塞尔逼近从终止接触点延伸所述预测性距离;以及
渲染基于有效三次方贝塞尔逼近的湿墨连同基于所述新的三次方贝塞尔逼近的预测性湿墨。
8.权利要求7所述的方法,其中湿墨延时时段是对象在位置处接触触摸屏与将与所述位置对应的点考虑在内的湿墨在触摸屏上的显示之间的时间量。
9.权利要求7所述的方法,其中所述多个经滤波的接触点通过在所述多个接触点上运行EAn无限冲击响应滤波器而生成。
10.权利要求7所述的方法,其中方法还包括确定对象跨触摸屏的速率,并且预测性距离使用所述速率而被确定。
11.权利要求10所述的方法,其中方法还包括使用速率作为输入来计算针对湿墨的粗细度。
12.权利要求10所述的方法,其中通过用两个接连的墨点之间的距离除以针对触摸屏的采样时间来计算速率。
13.一种计算机存储介质,所述计算机存储介质具有体现在其上的计算机可执行指令,所述计算机可执行指令在由具有触摸屏的计算设备执行时,使所述计算设备执行用于在所述触摸屏上渲染预测性湿墨的方法,包括:
接收由对象跨所述触摸屏的表面做出的路径上的多个接触点;
使用所述多个接触点作为输入来计算有效三次方贝塞尔逼近,所述有效三次方贝塞尔逼近具有起始接触点和终止接触点;
确定针对所述触摸屏的湿墨延时时段,所述湿墨延时时段至少是所述对象接触所述触摸屏上的点与表示所述点的湿墨在所述触摸屏上出现之间的延时;
确定所述对象在所述湿墨延时时段期间应当行进的预测性距离;
接收附加接触点;
确定所述附加接触点在所述有效三次方贝塞尔逼近中拟合;
计算新的三次方贝塞尔逼近,所述新的三次方贝塞尔逼近使用所述附加接触点作为输入并且根据所述有效三次方贝塞尔逼近从所述终止接触点延伸所述预测性距离;以及
渲染基于所述有效三次方贝塞尔逼近的湿墨连同基于所述新的三次方贝塞尔逼近的预测性湿墨。
14.根据权利要求13所述的计算机存储介质,其中所述方法还包括:确定所述对象跨所述触摸屏的速率,并且所述预测性距离使用所述速率被确定。
15.根据权利要求14所述的计算机存储介质,其中所述方法还包括:确定所述对象跨所述触摸屏的加速度,并且所述预测性距离使用所述速率和所述加速度被确定。
16.根据权利要求14所述的计算机存储介质,其中所述方法还包括:使用所述速率来计算针对所述湿墨的粗细度。
17.根据权利要求13所述的计算机存储介质,其中所述终止接触点具有时间戳,所述时间戳在与所有其它接触点相关联的时间戳之后。
18.根据权利要求13所述的计算机存储介质,其中所述湿墨延时时段是所述对象在接触点处接触所述触摸屏时的第一时间点与湿墨通过使用所述接触点作为对墨湿计算的输入来被渲染时的第二时间点之间的时间量。
19.根据权利要求13所述的计算机存储介质,其中所述对象是手指。
20.一种触摸屏显示设备,包括:
处理器,
触摸屏,
计算机存储装置,具有计算机可执行指令,当所述指令由所述处理器运行时其执行一种用于向接触点分配压力数据的方法,所述方法包括:
接收来自所述触摸屏的第一接触点;
确定所述触摸屏没有提供与所述第一接触点相关联的压力数据,所述第一接触点在由对象跨所述触摸屏的表面做出的路径上;
确定所述对象在所述第一接触点处的速率;
至少通过计算XY坐标中的所述速率的矢量并且计算作为所述矢量的绝对值的对数的压力,来确定对应于所述速率的压力;
将所述压力与第一接触点相关联以生成经更新的第一接触点;以及
使用所述经更新的第一接触点来渲染数字墨。
21.根据权利要求20所述的触摸屏显示设备,其中所述方法还包括使用与经更新的第一接触点相关联的压力来确定数字墨的粗细度。
22.根据权利要求20所述的触摸屏显示设备,其中所述第一接触点用于渲染湿墨,并且所述经更新的第一接触点用于渲染干墨。
23.根据权利要求20所述的触摸屏显示设备,其中所述速率通过用所述第一接触点与笔划中的较早期接触点之间的距离除以所述触摸屏的采样时间来被计算。
24.根据权利要求20所述的触摸屏显示设备,其中所述对象是触笔。
25.根据权利要求20所述的触摸屏显示设备,其中所述压力与所述速率相对应,使得较高的速率导致较低的压力。
26.根据权利要求20所述的触摸屏显示设备,其中所述对象是手指。
27.一种用于向触摸屏上的接触点分配压力数据的方法,包括:
接收来自所述触摸屏的第一接触点;
确定所述触摸屏没有提供与所述第一接触点相关联的压力数据,所述第一接触点在由对象跨所述触摸屏的表面做出的路径上;
确定所述对象在所述第一接触点处的速率;
至少通过计算XY坐标中的所述速率的矢量并且计算作为所述矢量的绝对值的对数的压力,来确定与所述速率对应的压力;
将所述压力与所述第一接触点相关联以生成经更新的第一接触点;以及
使用所述经更新的第一接触点来渲染数字墨。
28.根据权利要求27所述的方法,其中所述方法还包括:使用与所述经更新的第一接触点相关联的压力来确定所述数字墨的粗细度。
29.根据权利要求27所述的方法,其中所述第一接触点用于渲染湿墨,并且所述经更新的第一接触点用于渲染干墨。
30.根据权利要求27所述的方法,其中所述速率通过用所述第一接触点与笔划中的较早期接触点之间的距离除以所述触摸屏的采样时间来被计算。
31.根据权利要求27所述的方法,其中所述对象是触笔。
32.根据权利要求27所述的方法,其中所述对象是手指。
33.根据权利要求27所述的方法,其中所述压力与所述速率相对应,使得较高的速率导致较低的压力。
CN201580052906.0A 2014-09-29 2015-09-24 湿墨预测器 Active CN107003993B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201462057025P 2014-09-29 2014-09-29
US62/057025 2014-09-29
US14/856,167 US10338725B2 (en) 2014-09-29 2015-09-16 Wet ink predictor
US14/856167 2015-09-16
PCT/US2015/051828 WO2016053727A1 (en) 2014-09-29 2015-09-24 Wet ink predictor

Publications (2)

Publication Number Publication Date
CN107003993A CN107003993A (zh) 2017-08-01
CN107003993B true CN107003993B (zh) 2020-07-31

Family

ID=55584365

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201580052906.0A Active CN107003993B (zh) 2014-09-29 2015-09-24 湿墨预测器

Country Status (11)

Country Link
US (2) US10338725B2 (zh)
EP (2) EP3201740B1 (zh)
JP (1) JP2017529623A (zh)
KR (1) KR102412021B1 (zh)
CN (1) CN107003993B (zh)
AU (1) AU2015324295A1 (zh)
BR (1) BR112017004012A2 (zh)
CA (1) CA2961254A1 (zh)
MX (1) MX2017004057A (zh)
RU (1) RU2017108531A (zh)
WO (1) WO2016053727A1 (zh)

Families Citing this family (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015141260A1 (ja) * 2014-03-17 2015-09-24 株式会社河合楽器製作所 手書き音楽記号認識装置およびプログラム
KR102314110B1 (ko) * 2014-09-16 2021-10-18 삼성디스플레이 주식회사 시각화 가속부를 포함하는 터치 표시 장치
US9633466B2 (en) * 2014-09-29 2017-04-25 Microsoft Technology Licensing, Llc Low latency ink rendering pipeline
SG11201703438YA (en) * 2014-11-18 2017-06-29 Tactual Labs Co System and method for timing input sensing, rendering, and display to minimize latency
US9756375B2 (en) * 2015-01-22 2017-09-05 Microsoft Technology Licensing, Llc Predictive server-side rendering of scenes
WO2016122385A1 (en) 2015-01-28 2016-08-04 Flatfrog Laboratories Ab Dynamic touch quarantine frames
EP3537269A1 (en) 2015-02-09 2019-09-11 FlatFrog Laboratories AB Optical touch system
US10554713B2 (en) 2015-06-19 2020-02-04 Microsoft Technology Licensing, Llc Low latency application streaming using temporal frame transformation
EP3387516B1 (en) 2015-12-09 2022-04-20 FlatFrog Laboratories AB Improved stylus identification
US20170236318A1 (en) * 2016-02-15 2017-08-17 Microsoft Technology Licensing, Llc Animated Digital Ink
US10802711B2 (en) 2016-05-10 2020-10-13 Google Llc Volumetric virtual reality keyboard methods, user interface, and interactions
US9847079B2 (en) * 2016-05-10 2017-12-19 Google Llc Methods and apparatus to use predicted actions in virtual reality environments
US10126873B2 (en) * 2016-06-24 2018-11-13 Wacom Co., Ltd. Stroke continuation for dropped touches on electronic handwriting devices
GB201618288D0 (en) 2016-10-28 2016-12-14 Remarkable As Interactive displays
PL3667475T3 (pl) 2016-12-07 2022-11-21 Flatfrog Laboratories Ab Zakrzywione urządzenie dotykowe
EP3458946B1 (en) 2017-02-06 2020-10-21 FlatFrog Laboratories AB Optical coupling in touch-sensing systems
US10627910B2 (en) * 2017-02-21 2020-04-21 Adobe Inc. Stroke operation prediction for three-dimensional digital content
EP3602258B1 (en) 2017-03-22 2024-05-08 FlatFrog Laboratories AB Pen differentiation for touch displays
CN110663015A (zh) 2017-03-28 2020-01-07 平蛙实验室股份公司 触摸感应装置和用于组装的方法
US10657682B2 (en) 2017-04-12 2020-05-19 Adobe Inc. Drawing curves in space guided by 3-D objects
US11256371B2 (en) 2017-09-01 2022-02-22 Flatfrog Laboratories Ab Optical component
CN107608619A (zh) * 2017-09-20 2018-01-19 广州视源电子科技股份有限公司 用于触控屏的笔迹曲线生成方法、装置、设备和存储介质
US11567610B2 (en) 2018-03-05 2023-01-31 Flatfrog Laboratories Ab Detection line broadening
WO2019172829A1 (en) * 2018-03-08 2019-09-12 Flatfrog Laboratories Ab Touch apparatus
US10924525B2 (en) 2018-10-01 2021-02-16 Microsoft Technology Licensing, Llc Inducing higher input latency in multiplayer programs
CN109558059B (zh) * 2018-11-12 2021-10-22 大陆汽车车身电子系统(芜湖)有限公司 手写轨迹绘制方法及装置
WO2020153890A1 (en) 2019-01-25 2020-07-30 Flatfrog Laboratories Ab A videoconferencing terminal and method of operating the same
CN111974616B (zh) * 2019-10-23 2023-01-03 广东安达智能装备股份有限公司 一种点胶方法、装置、计算机设备及存储介质
GB2591766B (en) 2020-02-04 2023-02-08 Peratech Holdco Ltd Maintaining pressure input paths
JP2023512682A (ja) 2020-02-10 2023-03-28 フラットフロッグ ラボラトリーズ アーベー 改良型タッチ検知装置
US10976867B1 (en) * 2020-03-06 2021-04-13 Wacom Co., Ltd. System and method providing pen up positioning assist for a sensor surface
JP7163545B2 (ja) * 2020-03-30 2022-11-01 東芝情報システム株式会社 タッチパネル装置及びタッチパネル用プログラム
KR20220049407A (ko) * 2020-10-14 2022-04-21 삼성전자주식회사 디스플레이 장치 및 그 제어 방법
CN112306301A (zh) * 2020-11-02 2021-02-02 北京小米移动软件有限公司 触控数据的处理方法、装置、设备及存储介质
CN112506413B (zh) * 2020-12-16 2022-06-07 Oppo广东移动通信有限公司 触控点预测方法、装置、终端设备及计算机可读存储介质
KR20220109250A (ko) * 2021-01-28 2022-08-04 삼성전자주식회사 터치 입력의 가속도 및/또는 각 가속도를 이용하여 예측 알고리즘의 적용 여부를 판단하는 전자 장치 및 그 제어 방법
JP2022133602A (ja) * 2021-03-02 2022-09-14 シャープ株式会社 タッチ入力装置、タッチ入力方法、及びタッチ入力プログラム
KR20230018096A (ko) * 2021-07-29 2023-02-07 삼성전자주식회사 전자 장치 및 입력 좌표 예측 방법
WO2023157556A1 (ja) * 2022-02-21 2023-08-24 株式会社ワコム ペン及びペン位置検出装置を含むシステム、ペン位置検出装置、並びに、ペンに内蔵されるハプティクス素子を動作させる方法
US20230419033A1 (en) * 2022-06-28 2023-12-28 Microsoft Technology Licensing, Llc Generating predicted ink stroke information using text-based semantics

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008097024A1 (en) * 2007-02-09 2008-08-14 Pnf Co., Ltd Method and apparatus for inputting handwriting and input system using the same
CN102253802A (zh) * 2010-06-22 2011-11-23 微软公司 墨水滞后补偿技术
EP2482177A2 (en) * 2011-01-31 2012-08-01 TPK Touch Solutions Inc. Method of tracing touch paths for a multi-touch panel

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100595925B1 (ko) 1998-01-26 2006-07-05 웨인 웨스터만 수동 입력 통합 방법 및 장치
US6771266B2 (en) 2001-01-16 2004-08-03 Microsoft Corporation Method and apparatus for improving the appearance of digitally represented handwriting
US7057615B2 (en) 2001-06-28 2006-06-06 Microsoft Corporation Method and system for representing and displaying digital ink
US20040140962A1 (en) 2003-01-21 2004-07-22 Microsoft Corporation Inertial sensors integration
GB2406028A (en) * 2003-09-11 2005-03-16 Autodesk Canada Inc Tangent handle adjustment for Bezier curves
US7437003B1 (en) 2003-12-16 2008-10-14 Evernote Corp. System and method for handling electronic ink
US7697002B2 (en) * 2007-01-25 2010-04-13 Ricoh Co. Ltd. Varying hand-drawn line width for display
US8014630B1 (en) 2007-05-02 2011-09-06 Evernote Corporation Method and apparatus for representing image data using digital filtering and adaptive parameterization
KR101080255B1 (ko) * 2009-07-21 2011-11-08 (주)펜앤프리 필기 패턴에 따른 필기 정보 입력 장치 및 필기 정보 입력 방법
US9529842B2 (en) * 2009-12-28 2016-12-27 International Business Machines Corporation Dynamically creating queries to find related records in a database
JPWO2011099439A1 (ja) * 2010-02-09 2013-06-13 マークデバイシス株式会社 反共振周波数可変型複合共振回路
US8847961B2 (en) 2010-06-14 2014-09-30 Microsoft Corporation Geometry, speed, pressure, and anti-aliasing for ink rendering
CN201811064U (zh) * 2010-07-27 2011-04-27 张冰 一种圣诞灯
US10452790B2 (en) * 2011-03-17 2019-10-22 Aditazz, Inc. System and method for evaluating the energy use of multiple different building massing configurations
US10061997B2 (en) * 2011-04-11 2018-08-28 Apple Inc. Handwriting capture techniques
TW201322070A (zh) * 2011-11-21 2013-06-01 Novatek Microelectronics Corp 雜訊過濾方法
KR20130060145A (ko) * 2011-11-29 2013-06-07 삼성전자주식회사 수기 입력의 처리 방법 및 장치
US20130271487A1 (en) * 2012-04-11 2013-10-17 Research In Motion Limited Position lag reduction for computer drawing
JP6034138B2 (ja) * 2012-11-01 2016-11-30 株式会社東芝 電子機器、筆跡表示方法およびプログラム
TW201435666A (zh) * 2013-03-06 2014-09-16 Waltop Int Corp 電磁筆控制方法
US9529525B2 (en) * 2013-08-30 2016-12-27 Nvidia Corporation Methods and apparatus for reducing perceived pen-to-ink latency on touchpad devices
EP3103005B1 (en) * 2014-02-04 2019-06-19 Sony Corporation Predictive input system for touch and touchless displays
US20150242115A1 (en) * 2014-02-21 2015-08-27 Qualcomm Incorporated Systems and methods for improved signal to noise ratio in touch systems

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008097024A1 (en) * 2007-02-09 2008-08-14 Pnf Co., Ltd Method and apparatus for inputting handwriting and input system using the same
CN102253802A (zh) * 2010-06-22 2011-11-23 微软公司 墨水滞后补偿技术
EP2482177A2 (en) * 2011-01-31 2012-08-01 TPK Touch Solutions Inc. Method of tracing touch paths for a multi-touch panel

Also Published As

Publication number Publication date
US20190220137A1 (en) 2019-07-18
BR112017004012A2 (pt) 2017-12-05
MX2017004057A (es) 2017-06-12
CN107003993A (zh) 2017-08-01
WO2016053727A1 (en) 2016-04-07
JP2017529623A (ja) 2017-10-05
CA2961254A1 (en) 2016-04-07
EP3680757B1 (en) 2023-11-29
KR20170061703A (ko) 2017-06-05
EP3680757A1 (en) 2020-07-15
RU2017108531A (ru) 2018-09-17
EP3201740B1 (en) 2020-03-18
KR102412021B1 (ko) 2022-06-21
US20160092021A1 (en) 2016-03-31
US10338725B2 (en) 2019-07-02
EP3201740A1 (en) 2017-08-09
AU2015324295A1 (en) 2017-03-16
US10719168B2 (en) 2020-07-21

Similar Documents

Publication Publication Date Title
CN107003993B (zh) 湿墨预测器
US10969905B2 (en) Interactive displays
US11507190B2 (en) Gesture control method applied to VR device, and apparatus
JP6918053B2 (ja) デジタルインクの平滑化及びgpu−対応レンダリング
CN104823147B (zh) 作为与应用的交互的多模式用户表达和用户力度
US9207858B2 (en) Method and apparatus for drawing and erasing calligraphic ink objects on a display surface
US20160048318A1 (en) Detecting selection of digital ink
US10510322B2 (en) Input display device, input display method, and computer-readable medium
US20150091832A1 (en) Information processing apparatus, information processing method, and program
WO2015102974A1 (en) Hangle-based hover input method
CN114063858B (zh) 图像处理方法、装置、电子设备及存储介质
JP2015191250A (ja) 情報処理装置、及びその制御方法、プログラム、記録媒体
US20140253558A1 (en) Systems and methods for sketch processing
CN115237320A (zh) 笔迹显示方法、触控显示设备、计算机设备及介质
CN110162251A (zh) 图像缩放方法及装置、存储介质、电子设备
TW201911235A (zh) 線段平滑化方法、系統以及電腦可讀取媒體
CN112365565B (zh) 笔触处理方法、装置、设备及存储介质

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