CN107735758A - 同步数字墨水笔划呈现 - Google Patents

同步数字墨水笔划呈现 Download PDF

Info

Publication number
CN107735758A
CN107735758A CN201680038594.2A CN201680038594A CN107735758A CN 107735758 A CN107735758 A CN 107735758A CN 201680038594 A CN201680038594 A CN 201680038594A CN 107735758 A CN107735758 A CN 107735758A
Authority
CN
China
Prior art keywords
ink
strokes
ink strokes
submit
local
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201680038594.2A
Other languages
English (en)
Other versions
CN107735758B (zh
Inventor
X·屠
W·迪翁
J·哈特曼
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 CN107735758A publication Critical patent/CN107735758A/zh
Application granted granted Critical
Publication of CN107735758B publication Critical patent/CN107735758B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/20Drawing from basic elements, e.g. lines or circles
    • G06T11/203Drawing of straight lines or curves
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • G06F3/04883Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures for inputting data by handwriting, e.g. gesture or text
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • G06F3/1454Digital output to display device ; Cooperation and interconnection of the display device with other functional units involving copying of the display data of a local workstation or window to a remote workstation or window so that an actual copy of the data is displayed simultaneously on two or more displays, e.g. teledisplay
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M3/00Automatic or semi-automatic exchanges
    • H04M3/42Systems providing special services or facilities to subscribers
    • H04M3/56Arrangements for connecting several subscribers to a common circuit, i.e. affording conference facilities
    • H04M3/567Multimedia conference systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/14Systems for two-way working
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/14Systems for two-way working
    • H04N7/15Conference systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Human Computer Interaction (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

提供了一种用于操作计算***的方法。该方法包括:在本地计算设备处且在墨水输入正在发生的同时,基于所述墨水输入在本地显示器上呈现本地未提交墨水笔划;以及将与所述未提交墨水笔划相对应的未提交墨水数据发送给远程计算设备,所述未提交墨水数据包括未提交墨水笔划路径和将所述未提交墨水数据与对应于不同计算设备和墨水输入的其他未提交墨水数据区分开的全局唯一标识符。所述方法还包括:响应于接收到墨水笔划提交输入,在本地显示器上呈现本地已提交墨水笔划;以及将包括墨水提交命令和与未提交墨水笔划路径相关联的全局唯一标识符的已提交墨水数据发送给远程计算设备。

Description

同步数字墨水笔划呈现
背景
一些计算***使多个计算设备能够彼此交互以提供协作式墨水呈现。在实践中,当处理来自多个设备、用户、手指、笔等等的墨水源时,这些***通常受到挑战。在一些情形中,呈现伴随不可接受的延迟、抖动、间隙、或其他不合需的视觉伪像而出现,从而减损协作体验。在其他情境中,各种挑战可起于区分墨水源、在目标设备处正确地协调墨水活动、以及高效且动态地分配墨水源和墨水目标设备上的计算资源。
附图简述
图1描绘了用于在多个计算设备上协调墨水笔划呈现的示例计算***;
图2A-2B示出用于协调墨水笔划呈现的方法;
图3-4示出用于同步墨水笔划呈现的示例用例场景;以及
图5描绘了示例计算***,其一个或多个组件可被用来实现图1-5的示例***和方法。
详细描述
本说明书设想了提供协作式环境的示例***/方法,其中墨水输入和所呈现的墨水输出可跨在物理上邻近的和/或远离的位置中的多个参与设备被高效地协调。输入/输出可由许多参与方施加和查看。活跃的墨水用户可从任何源/本地机器这样做并且使这些源输入被传送给任何目标/远程机器以供呈现。
协作式环境中的涂墨可通过多个不同的以下各项来生成:(1)用户/帐户;(2)机器/设备;(3)指示笔;(4)手/手指以及其他触摸器具;(5)轨迹板;(6)触摸板;(7)计算机鼠标以及(8)其他***设备;等等。这些是非限制性示例——本公开设想了可产生墨水笔划(直线和其他形状的线)的任何输入机制。在高度活跃的协作式环境中,非常大数目的墨水笔划可随时间同时发生。全局唯一标识符因此可被提供以唯一地标识所有墨水笔划,而不论源是什么以及它们在何处被呈现。这可支持各种各样的与区别相关的功能(例如,通过使笔划不同地出现、向来自给定用户的笔划提供特定的墨水相关的特权/安全性/接入的等级,等等)。在其他示例中,全局唯一标识符可以促进目标设备的能力来智能地控制在涂墨和其他进程之间的资源分配。
本文的许多示例支持响应于源设备墨水输入在目标设备处的同步和增量呈现。具体而言,目标墨水输出可被增量地显示以在时间上逐点展开——也称为源笔划的“重放”——以与发生在本地源设备处的源墨水笔划输入相同的方式和相同的时间。这可提供视觉增强、平滑输出并向各参与方和查看者提供总体经改进体验。
在许多示例中,墨水笔划可被表征为“未提交”或“已提交”,也分别称为“湿墨水”和“干墨水”。未提交/湿墨水指的是进行中墨水笔划。例如,随着指示笔、手指等等跨触摸显示器移动,下方所呈现的线是未提交/湿的。它是不完整的、没有被完成的等等。相反,已提交/干墨水是在墨水笔划完成之后保留的墨水。在许多示例中,基于墨水数据的湿/干状态来分配不同水平的处理资源(例如,资源的优先次序)。例如,在一些情形中,较高计算花销可被分配给湿墨水数据以确保墨水被平滑地绘出而没有延迟、间隙、抖动或其他不合需的视觉伪像。平滑质量在源和目标设备两者处可以是重要的——在这两种情形中在线被平滑地绘出时用户体验被增强。同样,目标呈现发生在尽可能接近与它所关联的源笔划的精确相同时间和相同方式(方向、形状、速率/速度,等等)通常将是合乎需要的。各湿墨水过程的优先次序确定可涉及使用更多计算资源、更快资源、更高工作频率、优选/高优先级处理线程,等等。
图3-4解说了多设备涂墨协作的示例,其中各唯一标识符被交换以区分墨水笔划数据。标识符可被附加地用来高效地控制资源的提交和重分配(例如,在提交之际将墨水移至较低优先级处理线程)。将首先参考图3-4呈现通用用例概览,其中这些附图在下文更详细地描述。在图3和4的示例中,示出了处于未提交和已提交状态的墨水笔划。各状态可在不同时间发生和结束。历时可改变——笔划可处于未提交状态达相对更短或相对更长时间(例如,取决于移动的指示笔的尖端与触摸输入表面接触有多久)。通常,未提交笔划被快速且不可察觉地转换成已提交笔划,例如通过用对应的已提交笔划替换未提交笔划。
图3和4的示例中的参与设备如下:(1)本地计算设备102;(2)远程计算设备104;以及(3)第二远程计算设备310。在此使用“本地”和“远程”术语是因为该示例涉及在本地设备处发起且发送给远程设备的墨水笔划。如上所示,笔划传输的相对方向将产生反转术语。同样,如上所示,在传送墨水输入时,设备102可被认为是“源”设备。接收方设备(例如,远程设备104)将是“目标”设备。
参考图3,它分别在本地计算设备102和远程计算设备104处示出了未提交墨水笔划304和306的呈现。远程未提交墨水笔划306与本地未提交墨水笔划304同步地呈现。换言之,在可接受的延迟水平内,目标笔划(306)以与源笔划(304)相同的方式且在相同的时间被绘出。
目标处的该笔划复制可被称为时间上接近的同步重放(即,源笔划的同步重放)。它也可被称为增量重放,在目标笔划被逐比特地(例如,像素级)呈现的意义上。源将墨水笔划路径118(以及其他数据)发送给目标以促进源笔划的重放。通常,与墨水笔划路径118分开地或作为其一部分提供时间戳信息以促进增量呈现。墨水笔划路径118和其他数据可包括用于生成与源笔划相关联的笔划几何形状和特性(方向、曲率、速度,等等)的任何信息。
图4分别在本地计算设备102和远程计算设备104上示出本地已提交墨水笔划402和远程已提交墨水笔划404的呈现。在一些示例中,已提交呈现响应于指定事件(例如,指示笔从设备102的触摸表面抬起)来发生。为了区分来自不同手指、用户、指示笔、设备等的未提交和已提交墨水笔划,全局唯一标识符128(如上所述)可被指派给墨水笔划。该标识符通常结合墨水源设备(例如,本地计算设备102)处的已提交和未提交墨水两者来被使用。
在许多实现中,全局唯一标识符是能基本上彼此区分任何墨水笔划数据的有力工具。这极大地增强了协作式环境的范围。在一些情境中,设备发送笔划至多个设备并接收来自多个设备的笔划。一个以上用户可与给定设备交互。一个用户可具有多个设备。多个器具(手、手指、指示笔)可在任何给定设备处活跃。不同用户可具有不同许可/安全性,从而使其对区分它们的笔划感兴趣。
甚至在基本上更简单的环境中,墨水显示设备通常致力于高效地分配资源。成本高昂的资源通常被保留用于更复杂、密集、高优先级任务。在本文的许多示例中,使用全局唯一标识符使得墨水显示设备能够以有利的方式快速切换处理资源。例如,未提交墨水数据可具有比已提交墨水数据更高的处理优先级。具体而言,进行中墨水笔划的平滑呈现(没有间隙、延迟、抖动或其他不合需要的视觉伪像)可增强用户体验。
具体地在一个实例中,呈现延迟可通过向未提交墨水线程指派比已提交墨水线程更高的处理优先级来降低。另外,通过向已提交墨水线程指派较低处理优先级,可在较少关心延迟的墨水笔划阶段节省处理资源。因此,该***的处理效率被进一步提高。
现在转向图1,该附图描绘了示例计算***100,包括本地计算设备102和远程计算设备104。本地计算设备102和远程计算设备104被配置成同步地呈现墨水笔划并启用墨水的涂墨者和观看者之间的协作式交互。源笔划可以按任何实际的方式生成——用户可以使用指示笔、手指、手、鼠标或任何其他工具来涂墨于本地显示器106。在一个示例中,本地显示器可以是本地触敏显示器。然而,在另一示例中,用户可以经由操作其他输入设备(诸如鼠标、轨迹球、轨迹板、绘画板,等等)来涂墨本地显示器。响应于本地涂墨,墨水能以经降低的延迟被平滑地呈现在目标(远程计算设备104)处,以在墨水笔划出现的同时启用不同设备/用户/工具之间的协作式交互。作为结果,用户的交互式体验被增强。
墨水的平滑和同步呈现可经由在墨水笔划的执行期间将未提交墨水数据传送给远程计算设备104来实现。如上所述的全局唯一标识符可以与本地笔划两者(即,未提交和已提交)相关联。通过如此标识,这些墨水笔划可与其他笔划区分开,包括(1)其他本地笔划,诸如个别用户的两个或更多个手或手指、用户的一只手与另一只手、另一用户的手、第二指示笔,等等;以及(2)非本地笔划,源自任何数目的不同用户、手、触摸板、设备、指示笔,等等。将明白,许多设备可以发送、接收并呈现来自几乎任何源的墨水,且高效地区分各笔划以提供高质量协作式用户体验。可在目标设备处使用任何类型的视觉指示符来区分笔划,包括颜色、线宽、虚线化等效果;相关联的图标(例如,使用用户的脸或化身);等等。
可基于墨水笔划是在进行中(未提交)还是已完成(已提交)来分配处理资源。未提交墨水可例如具有较高优先级(例如,使用较快处理、较多存储器、较高优先级线程等等来实现)。较高优先级可以相对于在计算机上运行的各种其他处理,且尤其可相对高于已提交墨水笔划。使用全局唯一标识符可以快速(诸如在笔划提交之后立即)启用处理资源的高效去优先化(例如,从未提交降位至已提交)。具体地,进行中笔划可具有比已提交笔划更高的优先次序,以降低多笔划干扰和呈现延迟、间隙、中断,等等。
本地计算设备102可包括本地墨水管理器108。远程计算设备104可包括远程墨水管理器110。这两个墨水管理器可被配置成处理来自它们相关联的设备的显示器(即,本地显示器106和远程显示器112)的墨水输入。将明白,在一个示例中,远程显示器112可以是触敏显示器。然而,在其他示例中,远程显示器112可以接收来自其他设备(诸如鼠标、轨迹球、轨迹板、绘画板,等等)的涂墨输入。墨水管理器可被不同地实现以提供所描述的功能,包括使用与参考图5详细描述的哪些组件相似的一个或多个组件。虽然墨水输入可由计算机鼠标和其他非触摸机制生成在这些和其他设备处,但触摸模态通常将是合乎需要的。为此,在本示例中,触摸传感器113和137可被用在所描绘的设备中。可采用电容式感测或任何其他触摸技术。
图1示出本地显示器106处的墨水输入114。在本文引用的这一和其他触敏显示器中,此类输入可经由指示笔、手指、触摸板、电子笔、或任何其他触摸工具在触敏显示器的输入表面之上或附近来施加。在其他示例中,非触摸工具可被采用来生成墨水输入,诸如计算机鼠标、轨迹球、光学方法,等等。一般而言,本文构想的墨水输入包括任何用户输入,其中用户旨在在显示器上绘制或以其他方式创建标记。用户可能希望记笔记,绘草图,对演示进行注释,等等。在本文的许多示例中,墨水输入被发送给其他设备,且各种技术结合这些输入和来自其他源的输入一起使用,以在多设备、多用户以及多墨水输入情境中正确地标识笔划并增强协作。
在墨水输入114发生时,本地墨水管理器108可指令(如在115处示出的)在本地显示器106上呈现本地未提交墨水笔划。例如,响应于使用手指、指示笔和/或其他合适输入的画线运动,对应的线可被呈现在本地显示器上。本地未提交墨水笔划的呈现可与墨水输入114的开始在时间上接近地开始(例如,基本上同步)。
本地墨水管理器108可以生成并发送未提交墨水数据116至远程计算设备104(例如,至远程墨水管理器110)。通常,这响应于本地墨水输入发生而完成。此外,传输可被定时,以使得数据在与本地墨水笔划的呈现在时间上接近地发送(例如,基本上同步)。相应地,远程墨水笔划可增量地、平滑地、以及与本地设备处的本地墨水笔划在时间上接近地呈现。
未提交墨水数据116通常包括墨水笔划路径118,这可按各种方式来表示。例如,墨水笔划路径118可包括具有笔划形状的曲线表征的各Bezier段。这可降低要传送的数据的质量,这可用于降低呈现延迟。在使用Bezier段时,本地墨水管理器108可被配置成基于与墨水输入相关联的点的X-Y位置来计算Bezier段。各种转换方法可被采用来在Bezier和X-Y表示之间转换。作为Bezier表示的补充或替换,墨水笔划路径118可包括X-Y墨水点。在其他示例中,墨水笔划路径118可经由向量空间、位图等中的多个墨水段来表示。
除了点位置之外,未提交墨水数据116可进一步包括附加呈现参数,诸如压力数据120、倾斜数据122以及时间戳数据124。压力数据120指示与墨水输入114相关联的压力(例如,经由力敏电阻器)。倾斜数据122指示输入设备(例如,指示笔、手指等)相对于触敏显示器的取向。另外,时间戳数据124指示与每一X-Y坐标、Bezier段等相关联的输入时间。在一些实施例中,时间戳数据可由远程计算设备使用来重构本地执行的笔划的定时,使得笔划由远程计算设备以与本地执行的笔划相同的定时来重放。以上讨论的呈现参数(墨水笔划路径、时间戳数据,等等)一起可按匹配本地未提交墨水笔划呈现操作的方式启用远程计算设备104上的未提交墨水笔划的平滑呈现。
在现有***中,在交叠的时间区间和/或在共同位置处实现的各单独墨水笔划可能合并。为解决这一问题,未提交墨水数据116还包括全局唯一标识符128。该全局唯一标识符使未提交墨水数据116能够与以下各项相关联:(a)特定计算设备,(b)用户,和/或(c)触摸输入(例如,手指、鼠标、指示笔,等等)。全局唯一标识符128可包括设备间标识符130和设备标识符131。设备间标识符130使本地执行的墨水笔划能够与其他在本地执行的墨水笔划(例如,手指笔划、笔笔划,等等)区分开。例如,第一用户可在本地使用与第一唯一设备间标识符相对应的指示笔来涂墨。同时,第二用户可在本地使用与第二唯一设备间标识符相对应的手指来涂墨。第一和第二设备间标识符使这些分开的墨水笔划能够被区分,并且允许这些笔划同时但独立地呈现。指针ID可被包括在设备间标识符中以使得能够区分分开的本地(a)指示笔、(b)手指和/或(c)鼠标输入。例如,指针ID可被指派给执行本地墨水输入的每一指示笔、手指、鼠标等等。另外,帧ID也可被包括在设备间标识符中。帧ID使得能够区分在非交叠时间区间发生在同一位置的墨水笔划。例如,两个墨水笔划可能在分开的时间行进通过触摸屏上的共同位置。帧ID提供行进通过该共同位置的这两个墨水笔划的分开的标识。因此,可避免墨水笔划误解释。
此外,设备标识符131使得由一个计算设备生成的墨水笔划能够与由其他计算设备生成的墨水笔划区分开。在一个示例中,设备标识符可以是每一计算设备唯一的机器ID。例如,平板可被指派第一机器ID而台式计算机可被指派第二机器ID,从而在协作式涂墨期间允许设备级区分。联合使用设备标识符和设备间标识符这两者使得在本地和远程两者执行的墨水笔划能够被分开地识别,从而允许多个同时/交叠的墨水笔划的协调和同步呈现。
此外,在本地计算设备102和/或远程计算设备104上,各种许可可基于全局唯一标识符128被授予给未提交墨水数据。具体而言,各应用可以使用全局唯一标识符128来触发不同功能。例如,具有特定全局唯一标识符的未提交墨水数据可被允许与由计算设备执行的所指定的应用/所指定的应用部分交互。然而,具有不同全局唯一标识符128的未提交墨水数据可具有不同许可,并且被阻止与所指定的应用/应用部分交互。此外,将特定墨水笔划置于显示器上可基于该特定墨水笔划的全局唯一标识符128。例如,全局唯一标识符可被指派给远程显示器112或本地显示器106的特定部分。具有特定全局唯一标识符的墨水笔划可因此被置于显示器的被指派给该特定全局唯一标识符的特定部分。附加许可功能也可结合全局唯一标识符128来使用。
在未提交墨水数据116被远程计算设备104接收到时,远程墨水管理器可(如在136处示出的)指令呈现远程未提交墨水笔划。远程显示器112上呈现的笔划可以响应于接收到未提交墨水数据116来完成。还将明白,未提交墨水数据可由远程计算设备104使用来快速且以有限延迟来创建重复在本地计算设备102上呈现的墨水笔划的平滑墨水笔划。例如,时间戳124和墨水笔划路径118可被联合使用来启用远程计算设备104上的未提交墨水笔划的平滑重放。此外,通过将全局唯一标识符128包括在未提交墨水数据116中,远程设备可以区分许多不同类型的墨水笔划。这些类型的墨水笔划包括例如:由单个用户实现的笔划;由多个用户实现的笔划;由本地计算设备102生成的笔划;和/或由远程计算设备104生成的笔划。
本地墨水管理器108还可被配置成在检测到墨水笔划提交输入138时使用已提交墨水笔划来替换未提交墨水笔划。此类输入可包括例如从显示器提起指示笔/手指。响应于接收到墨水笔划提交输入138,本地墨水管理器108可被配置成(如在139处示出的)指令在本地显示器106上呈现本地已提交墨水笔划。作为响应,本地显示器106可随后呈现已提交墨水笔划。呈现已提交墨水笔划可包括在本地显示器106上用已提交墨水笔划替换未提交墨水笔划,并随后擦除该未提交墨水笔划。然而,已设想了用于已提交墨水笔划呈现的其他技术。例如,呈现已提交墨水笔划可包括将未提交墨水笔划转换成已提交墨水笔划。在这样的示例中,未提交墨水笔划中的每一个点、片段等可被重新分类为已提交墨水笔划点、片段,等等。此外,呈现已提交墨水笔划还可包括用于该墨水笔划的处理资源的优先级的改变。例如,已提交墨水笔划的处理优先级可以小于未提交墨水笔划的处理优先级。在一些实施例中,确保不管使用哪一特定墨水笔划转换方法,墨水笔划转换都对用户而言是不可察觉的是合乎需要的。
响应于确定墨水笔划完成,本地墨水管理器108可以将已提交墨水数据140发送给远程计算设备104。已提交墨水数据140可包括:(1)全局唯一标识符128,使得已提交墨水数据能够与未提交墨水笔划相关联;以及(2)墨水提交命令141。以此方式,全局唯一标识符128可被用来将已提交墨水数据链接到未提交墨水数据。并且如在其他部分描述的,提交命令可以触发目标设备处的处理资源的重分配。
在远程计算设备104接收到已提交墨水数据140时,远程墨水管理器110可被配置成(如在144处所示)指令在远程显示器112上呈现远程已提交墨水笔划。如上文讨论的,提交可包括按用户不可察觉的方式用已提交墨水笔划替换未提交墨水笔划。在一些情形中,未提交墨水笔划结合呈现已提交墨水笔划而被擦除。在其他示例中,未提交墨水笔划被重分类为已提交墨水笔划。
在本地和远程计算设备102和104两者中,处理资源可能受限。如果专用于墨水笔划功能的处理资源没有排定优先次序,则墨水笔划演示可能被负面地影响。例如,用户可能在墨水笔划呈现期间感知到显著延迟、抖动和/或其他不合需要的伪像。因此,涂墨资源的未排定优先次序可能减损总体用户体验。因此,与本地和远程计算设备102和104上的协作式涂墨相关联的各种功能可被排定优先次序。例如,并发地绘制的墨水(即,未提交墨水)具有高处理优先级可以是合乎需要的。或者,已完成的墨水笔划(即,已提交墨水笔划)具有通常保持不变的固定形状/路径,并且因此可被给予较低处理优先级。因而,已提交墨水笔划可具有比未提交墨水笔划更低的处理优先级。在一个示例中,未提交墨水笔划处理线程的处理优先级可高于已提交墨水笔划处理线程的处理优先级。这可应用于在本地和远程呈现的墨水笔划两者。线程可被处理通过各种处理组件,诸如API、操作***,等等。通过减少专用于已提交墨水笔划的处理资源,可节省处理资源。作为结果,计算***的处理效率提高,而没有负面地影响墨水笔划演示。
本地墨水管理器108和远程墨水管理器110还可被配置成将各种变换应用于在本地和远程呈现的墨水笔划。这些变换可被应用于未提交和已提交墨水笔划两者。这些变换可包括例如旋转、修剪、缩放变换,缩放至矩形,以及线性变换,以及其他。使得能够在本地和远程两者应用上述变换可以允许在墨水笔划实现期间执行各种呈现操作。因此,用户的协作式涂墨体验被进一步增强。
此外,本地墨水管理器108和远程墨水管理器100可各自被配置成设置和检索未提交和已提交墨水笔划的自定义属性。自定义属性提供用于墨水呈现的选项的进一步扩展。自定义属性可包括墨水笔划的视觉属性。例如,不同墨水笔划可在远程设备和/或本地设备上被指派不同视觉效果。例如,用户可以定制所选墨水笔划的外观以类似喷枪、油画、水彩画或其他想得到的定制效果。将这些定制视觉效果用于墨水呈现扩展了该***的图形能力。
本地墨水管理器108还可被配置成确定用户何时希望取消墨水输入。提示墨水取消的动作可包括(a)无意触摸屏接触(例如,手掌接触),(b)取消姿势,等等。相应地,墨水笔划取消输入142可被实现在本地显示器106处。响应于接收到墨水笔划取消输入142,本地墨水管理器108被配置成指令删除在本地显示器106上的本地未提交墨水笔划115。以此方式,无意墨水输入可被擦除,且本地已提交墨水笔划139的呈现可被阻止。作为结果,避免了不想要的墨水笔划提交。
本地墨水管理器108还被配置成将墨水笔划取消数据144发送给远程计算设备104。墨水笔划取消数据144可包括全局唯一标识符128,从而允许墨水笔划取消数据被链接到未提交墨水数据116。墨水笔划取消数据144还包括指令上述墨水笔划取消的墨水取消命令146。
在远程计算设备104接收到墨水笔划取消数据144时,远程墨水管理器110被配置成指令移除远程未提交墨水笔划136。以此方式,在用户决定取消墨水笔划时,笔划数据可以从远程显示器112擦除。在这样的示例中,远程已提交墨水笔划144可不被呈现。
图2A-2B示出了用于操作计算***的方法200。方法200可经由以上参考图1讨论的计算***100实现,或者可由另一合适的计算***实现。方法200启用协作式输入场景中的许多墨水笔划之间的笔划区分。方法200另外地提供处理优先级排序以降低所选时段期间的墨水呈现延迟并且提高其他所选时段期间的处理效率。
在202,该方法包括发起墨水输入。发起墨水输入可包括用户在本地显示器上实现墨水输入。在204,该方法包括在墨水输入正在发生时,基于该墨水输入在本地显示器(例如,本地触敏显示器)上呈现本地未提交墨水笔划。例如,用户可能正在使用指示笔执行墨水输入,并且该指示笔的路径可以在该输入正在发生时在本地显示。
在206,该方法包括在墨水输入正在发生时,将与该未提交墨水笔划相对应的未提交墨水数据发送给远程计算设备。未提交墨水数据可包括(1)未提交墨水笔划路径和(2)全局唯一标识符。该全局唯一标识符可帮助将所发送的未提交墨水数据与对应于不同计算设备和墨水输入的其他未提交墨水数据区分开。此外,全局唯一标识符可以使得能够区分墨水数据与对应于其他远程/本地用户、手指、指示笔等的其他墨水数据,如先前讨论的。
另外,未提交墨水数据可包括缩放操作、平移操作、以及旋转操作中的一者或多者,以及上述其他变换操作。以此方式,可在墨水笔划实现期间执行各种呈现操作,由此扩展协作式涂墨选项。在一些实施例中,步骤202-206可以经由本地计算设备来实现。
在208,该方法包括远程计算设备接收来自本地计算设备的未提交墨水数据。接着,在210,该方法包括响应于接收到未提交墨水数据来呈现远程未提交墨水笔划。以此方式,墨水笔划可实际上同时在本地和远程呈现,从而允许远程墨水以与现有***相比经降低的延迟来同步地呈现。另外,远程未提交墨水笔划可基于未提交墨水笔划路径来增量地呈现在远程计算设备处。因此,墨水笔划的远程呈现可被感知为基本上平滑且无中断的。
在212,该方法包括确定是否已接收到墨水笔划提交输入。墨水笔划提交输入可包括例如从本地显示器抬起手指或指示笔。然而,其他类型的墨水笔划提交输入已被设想,诸如输入压力的变化、按钮的致动,等等。
如果确定已接收到墨水笔划提交输入(212处的是),则该方法进至214。在214,该方法包括响应于接收到墨水笔划提交输入,在本地显示器上呈现本地已提交墨水笔划。在一个示例中,本地未提交墨水笔划可响应于呈现本地已提交墨水笔划而被擦除。以此方式,已提交墨水笔划可以替换未提交墨水笔划。
接着,在216,响应于接收到墨水笔划提交输入,该方法包括将已提交墨水数据发送给远程计算设备。该已提交墨水数据可包括:(1)墨水提交命令和(2)与未提交墨水笔划路径相关联的全局唯一标识符。墨水提交命令可用于指令在远程计算设备上的远程显示器上呈现远程已提交墨水笔划。同样,全局唯一标识符可被应用远程墨水笔划区分且墨水笔划路径可被应用无缝墨水呈现。如图所示,步骤212-216是经由本地计算设备来实现的。
在218,该方法包括在远程计算设备处接收已提交墨水数据。接着,在220,该方法包括响应于接收到已提交墨水数据来呈现远程已提交墨水笔划。
在222,该方法包括响应于呈现远程已提交墨水笔划来擦除远程未提交墨水笔划。然而,在其他示例中,远程未提交墨水笔划数据可被转换成已提交墨水笔划数据。在一些实施例中,步骤218-222可以由远程计算设备来实现。
如果确定尚未接收到墨水笔划提交输入(212处的否),则该方法进至224,如在图2B中所示。现在参考图2B,在224,该方法包括确定是否已接收到墨水笔划取消输入。墨水笔划取消输入可包括(a)触摸姿势、(b)手掌在触摸表面上抽回、(c)按钮的致动等的实现。
如果墨水笔划取消输入已被接收到(224处的是),则该方法进至226。在226,该方法包括响应于接收到墨水笔划取消输入,将墨水笔划取消数据发送给远程计算设备,该墨水笔划取消数据包括墨水笔划取消命令和全局唯一标识符。
在228,该方法包括在远程计算设备处接收墨水笔划取消数据。接着,在230,该方法包括响应于接收到墨水笔划取消数据来擦除所呈现的远程未提交墨水笔划。
在232,该方法进一步包括响应于接收到墨水笔划取消输入,擦除所呈现的本地未提交墨水笔划。以此方式,不想要或无意的墨水笔划可被快速擦除。另外,如果尚未接收到墨水笔划取消输入(224处的否),则该方法结束。
方法200使得未提交墨水数据能够在墨水笔划的执行期间被快速发送给远程计算设备,并且通过使用全局唯一标识符与由其他用户、指示笔和/或计算设备实现的其他墨水笔划区分开。此外,通过为已提交和未提交墨水笔划使用不同处理线程,墨水数据可被高效地处理以用于墨水笔划的快速本地和远程呈现,同时节省处理资源。
图3-4示出了示例性顺序涂墨输入场景。这一场景可通过以下设备来执行:(a)具有本地显示器106的本地计算设备102、(b)具有远程显示器112的远程计算设备104、以及(c)具有第二远程显示器312的第二远程计算设备310。在图3-4中描绘的示例中,本地显示器106和远程显示器112两者都具有触敏功能性。
如图3所示,第一用户300使用指示笔302实现墨水输入。本地未提交墨水笔划304由本地计算设备102呈现。虚线被用来标识本地未提交墨水笔划304,以将该本地未提交墨水笔划与其他墨水笔划区分开。然而,将明白,在一些示例中,未提交和已提交墨水笔划两者可同等地可视地表示在触敏显示器上。
同时,第二用户320使用指示笔322和他们的手指324之一来实现墨水输入。未提交墨水笔划326和327由第二远程计算设备310基于第二用户320所实现的墨水输入来呈现。
与本地未提交墨水笔划304被呈现在本地计算设备102上的同时,未提交墨水数据116被发送给远程计算设备104。如先前讨论的,未提交墨水数据可包括全局唯一标识符128、未提交墨水笔划路径116、以及其他参数(例如,压力数据、倾斜数据、缩放操作、平移操作、旋转操作,等等)。此外,第二组未提交墨水数据328和第三组未提交墨水数据330被从第二远程计算设备310发送给第一远程计算设备104。
第二和第三组未提交墨水数据328和330分别与未提交墨水笔划326和327相对应。此外,第二和第三组未提交墨水数据328和330各自包括不同的全局唯一标识符和未提交墨水笔划路径。如先前讨论的,全局唯一标识符使得能够将该未提交墨水笔划数据与对应于在本地实现的和/或在其他计算设备上远程地实现的其他用户和/或指示笔的墨水数据区分开。作为结果,大量用户可在协作式呈现的用户界面上同时参与协作式涂墨,从而改进总体协作式体验。
响应于接收到未提交墨水数据116,远程计算设备104与本地未提交墨水笔划304基本上相同地呈现远程未提交墨水笔划306。将明白,本地未提交墨水笔划304和远程未提交墨水笔划306可基本上同时呈现。还将明白,与先前协作式墨水呈现***相比,归因于上述呈现参数,远程未提交墨水笔划306可相对平滑地呈现并且没有中断。此外,在远程计算设备中与未提交墨水数据相关联的线程具有比其他处理线程更高的优先级时,远程未提交墨水笔划306能以经降低延迟来呈现,
另外,响应于接收到第二组未提交墨水数据328和第三组未提交墨水数据330,远程计算设备104可以呈现第二远程未提交墨水笔划340和第三未提交墨水笔划342。第二远程未提交墨水笔划340对应于未提交墨水笔划326,且第三远程未提交墨水笔划342对应于未提交墨水笔划327。
接着在图4中,其解说了在时间上在图3中所示的墨水输入操作之后的实例,该墨水输入已完成。在这一情形中,墨水输入的完成由第一用户300从本地显示器106的触摸表面400抬起指示笔302来表示。然而,其他动作可以表示墨水输入的完成。
响应于墨水输入的完成,本地计算设备102呈现本地已提交墨水笔划402。将明白,本地已提交墨水笔划402替换图3中所示的本地未提交墨水笔划304。本地已提交墨水笔划402在图4中描绘为实线,以将本地已提交墨水笔划402与本地未提交墨水笔划304区分开。然而,如先前讨论的,未提交和已提交墨水笔划可在视觉上是相同的。响应于确定未提交墨水笔划304的完成,已提交墨水数据140(包括全局唯一标识符128和墨水提交命令141)被发送给远程计算设备。
在接收到已提交墨水数据140后,远程计算设备与本地已提交墨水笔划402基本上相同地呈现远程已提交墨水笔划404。此外,远程未提交墨水笔划306可响应于呈现远程已提交墨水笔划404而被擦除,从而替换未提交墨水笔划。
另外,如图4所示,第二用户320也完成在第二远程计算设备310上执行的墨水输入。相应地,第二远程计算设备310响应于墨水输入的完成来呈现第一已提交墨水笔划406和第二已提交墨水笔划408。
响应于墨水输入的完成,第二组已提交墨水数据410和第三组已提交墨水数据412被从第二远程计算设备310发送给远程计算设备104。将明白,第二组已提交墨水数据410包括第二全局唯一标识符和第二墨水提交命令。同样,第三组已提交墨水数据412包括第三全局唯一标识符和第三墨水提交命令。响应于接收到第二组已提交墨水数据410,远程计算设备104呈现第二远程已提交墨水笔划414。同样,响应于接收到第三组已提交墨水数据412,远程计算设备104呈现第三远程已提交墨水笔划416。
将明白,与不同已提交墨水输入相关联的全局唯一标识符使得远程计算设备104能够区分远程已提交墨水笔划404、414和416。因此,大量用户可协作式地涂墨而***没有合并各墨水笔划,从而改进用户之间的协作式交互。
在一些实施例中,本文中描述的方法和过程可以与一个或多个计算设备的计算***绑定。具体而言,这样的方法和过程可被实现为计算机应用程序或服务、应用编程接口(API)、库和/或其他计算机程序产品。
图5示意性地示出了可执行上述方法和过程中的一个或多个的计算***500的非限制性实施例。以简化形式示出了计算***500。计算***500可采取以下形式:一个或多个个人计算机、服务器计算机、平板计算机、家庭娱乐计算机、网络计算设备、游戏设备、移动计算设备、移动通信设备(例如,智能电话)和/或其他计算设备。
计算***500包括逻辑机502和存储机504。计算***500可任选地包括显示子***506、输入子***508、通信子***510和/或在图5中未示出的其他组件。
逻辑机502包括被配置成执行指令的一个或多个物理设备。例如,逻辑机可被配置成执行作为以下各项的一部分的指令:一个或多个应用、服务、程序、例程、库、对象、组件、数据结构、或其他逻辑构造。这种指令可被实现以执行任务、实现数据类型、转换一个或多个组件的状态、实现技术效果、或以其他方式得到期望结果。
逻辑机可包括被配置成执行软件指令的一个或多个处理器。作为补充或替换,逻辑机可包括被配置成执行硬件或固件指令的一个或多个硬件或固件逻辑机。逻辑机的处理器可以是单核或多核,且在其上执行的指令可被配置为串行、并行和/或分布式处理。逻辑机的各个组件可任选地分布在两个或更多单独设备上,这些设备可以位于远程和/或被配置成进行协同处理。逻辑机的各方面可由以云计算配置进行配置的可远程访问的联网计算设备来虚拟化和执行。
存储机504包括被配置成保持或存储可由逻辑机执行以实现此处所述的方法和过程的指令的一个或多个物理设备。在实现这些方法和过程时,可以变换存储机504的状态(例如,保存不同的数据)。
存储机504可以包括可移动和/或内置设备。存储机504可包括光学存储器(例如,CD、DVD、HD-DVD、蓝光盘等)、半导体存储器(例如,RAM、EPROM、EEPROM等)和/或磁存储器(例如,硬盘驱动器、软盘驱动器、磁带驱动器、MRAM等)等等。存储机504可包括易失性、非易失性、动态、静态、读/写、只读、随机存取、顺序存取、位置可寻址、文件可寻址和/或内容可寻址设备。
可以理解,存储机504包括一个或多个物理设备。然而,本文描述的指令的各方面可替换地通过不由物理设备在有限时长内持有的通信介质(例如,电磁信号、光信号等)来传播。
逻辑机502和存储机504的各方面可被一起集成到一个或多个硬件逻辑组件中。这些硬件逻辑组件可包括例如现场可编程门阵列(FPGA)、程序和应用专用的集成电路(PASIC/ASIC)、程序和应用专用的标准产品(PSSP/ASSP)、片上***(SOC)以及复杂可编程逻辑器件(CPLD)。
术语“模块”、“程序”和“引擎”可用于描述被实现为执行一个特定功能的计算***500的一方面。在某些情况下,可以通过执行由存储机504所保持的指令的逻辑机502来实例化模块、程序或引擎。将理解,不同的模块、程序、和/或引擎可以从相同的应用、服务、代码块、对象、库、例程、API、函数等实例化。类似地,相同的模块、程序和/或引擎可由不同的应用、服务、代码块、对象、例程、API、功能等来实例化。术语“模块”、“程序”和“引擎”意在涵盖单个或成组的可执行文件、数据文件、库、驱动程序、脚本、数据库记录等。
应该理解,在此使用的“服务”是跨多个用户会话可执行的应用程序。服务可用于一个或多个***组件、程序和/或其他服务。在某些实现中,服务可以在一个或多个服务器计算设备上运行。
在被包括时,显示子***506可用于呈现由存储机504保持的数据的视觉表示。此视觉表示可采用图形用户界面(GUI)的形式。由于本文所描述的方法和过程改变了由存储机保持的数据,并由此变换了存储机的状态,因此同样可以转变显示子***506的状态以视觉地表示底层数据的改变。显示子***506可包括使用实质上任何类型的技术的一个或多个显示设备。可将这样的显示设备与逻辑机502和/或存储机504组合在共享封装中,或者这样的显示设备可以是***显示设备。
在包括输入子***508时,输入子***508包括诸如键盘、鼠标、触摸屏或游戏控制器之类的一个或多个用户输入设备或者与其对接。在一些实施例中,输入子***可以包括所选择的自然用户输入(NUI)部件或与其对接。这种元件部分可以是集成的或***的,并且输入动作的转导和/或处理可以在板上或板外被处理。NUI部件的示例可包括用于语言和/或语音识别的麦克风;用于机器视觉和/或姿势识别的红外、色彩、立体显示和/或深度相机;用于运动检测和/或意图识别的头部***、眼睛***、加速度计和/或陀螺仪;以及用于评估脑部活动的电场感测部件。
当包括通信子***510时,通信子***510可被配置为将计算***500与一个或多个其他计算设备通信地耦合。通信子***510可包括与一个或多个不同通信协议兼容的有线和/或无线通信设备。作为非限制性示例,通信子***可被配置成用于经由无线电话网络或者有线或无线局域网或广域网来进行通信。在一些实施例中,通信子***可允许计算***500经由诸如互联网这样的网络将消息发送至其他设备以及/或者从其他设备接收消息。
本公开的主题被进一步描述在以下段落中。根据一个方面,提供了一种用于操作计算***的方法。该方法包括:在本地计算设备处且在墨水输入正在发生的同时,基于所述墨水输入在本地显示器上呈现本地未提交墨水笔划;将与所述本地未提交墨水笔划相对应的未提交墨水数据发送给远程计算设备,所述未提交墨水数据包括未提交墨水笔划路径和将所述未提交墨水数据与对应于不同计算设备和不同墨水输入的其他未提交墨水数据区分开的全局唯一标识符;以及响应于接收到墨水笔划提交输入,在所述本地显示器上呈现本地已提交墨水笔划并将包括墨水提交命令和与所述未提交墨水笔划路径相关联的全局唯一标识符的已提交墨水数据发送给所述远程计算设备,所述墨水提交命令用于请求在所述远程计算设备的远程显示器上呈现远程已提交墨水笔划。
在这一方面,与所述本地未提交墨水笔划相对应的本地未提交墨水笔划处理线程可具有比与所述本地已提交墨水笔划相对应的本地已提交墨水笔划处理线程更高的处理优先级。
在这一方面,与所述远程未提交墨水笔划相对应的远程未提交墨水笔划处理线程可具有比与所述远程已提交墨水笔划相对应的远程已提交墨水笔划处理线程更高的处理优先级。
在这一方面,该方法还可包括在所述远程计算设备处,基于并响应于接收到所述未提交墨水数据来呈现远程未提交墨水笔划,以及基于并响应于接收到所述已提交墨水数据来呈现远程已提交墨水笔划。
在这一方面,该方法还可包括在所述远程计算设备处,响应于呈现所述远程已提交墨水笔划来擦除所述远程未提交墨水笔划。
在这一方面,远程未提交墨水笔划可基于未提交墨水笔划路径来增量地呈现在远程计算设备处。
在这一方面,该方法还可包括在所述本地计算设备处,接收墨水笔划取消输入,并且响应于接收到所述墨水笔划取消输入,擦除呈现的本地未提交墨水笔划并将墨水笔划取消数据发送给所述远程计算设备,所述墨水笔划取消数据包括墨水取消命令和所述全局唯一标识符。
在这一方面,所述全局唯一标识符可将所述未提交墨水数据和所述已提交墨水数据与对应于其他用户、手指、笔、擦除器、和/或在其他远程计算设备上远程地执行输入的***设备指针的墨水数据区分开。
在这一方面,所述全局唯一标识符可将所述未提交墨水数据和所述已提交墨水数据与对应于在本地实现的其他用户和/或指示笔的墨水数据区分开。
在这一方面,所述未提交墨水数据可包括缩放操作、平移操作、以及旋转操作中的一者或多者。
在这一方面,所述全局唯一标识符可包括设备间标识符和设备标识符。
根据另一方面,提供了一种计算***。该计算设备包括本地计算设备,该本地计算设备包括保持指令的本地存储机,所述指令使得本地逻辑机:在墨水输入正在发生时,基于所述墨水输入在本地显示器上呈现本地未提交墨水笔划;将与所述本地未提交墨水笔划相对应的未提交墨水数据发送给远程计算设备,所述未提交墨水数据包括未提交墨水笔划路径和将所述未提交墨水数据与对应于不同计算设备和不同墨水输入的其他未提交墨水数据区分开的全局唯一标识符;以及如果接收到墨水笔划提交输入,则在所述本地显示器上呈现本地已提交墨水笔划并将包括墨水提交命令和与所述未提交墨水笔划路径相关联的全局唯一标识符的已提交墨水数据发送给所述远程计算设备,所述墨水提交命令用于请求在所述远程计算设备的远程显示器上呈现远程已提交墨水笔划。
在这一方面,所述指令还可被配置成使得所述本地逻辑机:如果接收到墨水笔划取消输入,则擦除呈现的本地未提交墨水笔划并将包括墨水取消命令和所述全局唯一标识的墨水笔划取消数据发送给所述远程计算设备,所述墨水取消命令用于请求从所述远程显示器移除远程未提交墨水笔划。
在这一方面,本地未提交墨水笔划处理线程可对应于所述本地未提交墨水笔划且可具有比对应于所述本地已提交墨水笔划的本地已提交墨水笔划处理线程更高的处理优先级,并且其中远程未提交墨水笔划处理线程可对应于所述远程未提交墨水笔划且可具有比对应于所述远程已提交墨水笔划的远程已提交墨水笔划处理线程更高的处理优先级。
在这一方面,所述远程计算设备可包括保持指令的远程存储机,所述指令使得远程逻辑机:响应于接收到所述未提交墨水数据,基于所述未提交墨水数据呈现远程未提交墨水笔划,以及响应于接收到所述已提交墨水数据,基于所述已提交墨水数据在所述远程显示器上呈现远程已提交墨水笔划。
在这一方面,所述指令还可被配置成使得所述远程逻辑机响应于接收到墨水取消命令来擦除所述远程未提交墨水笔划。
在这一方面,所述全局唯一标识符可包括设备间标识符和设备标识符。
根据另一方面,提供了一种用于操作计算***的方法。该方法包括:在本地计算设备处且在墨水输入正在发生的同时,基于所述墨水输入在本地显示器上呈现本地未提交墨水笔划;将与所述本地未提交墨水笔划相对应的未提交墨水数据发送给远程计算设备,所述未提交墨水数据包括未提交墨水笔划路径和全局唯一标识符,所述全局唯一标识符包括将所述未提交墨水数据与对应于不同计算设备和不同墨水输入的其他未提交墨水数据区分开的设备间标识符和设备标识符,所述全局唯一标识符与所述未提交墨水笔划路径相关联;以及如果接收到墨水笔划提交输入,则在所述本地显示器上呈现本地已提交墨水笔划并将包括墨水提交命令和与所述未提交墨水笔划路径相关联的全局唯一标识符的已提交墨水数据发送给所述远程计算设备,所述墨水提交命令用于请求在所述远程计算设备的远程显示器上呈现远程已提交墨水笔划;以及如果在所述本地计算设备处接收到墨水笔划取消输入,则擦除所呈现的本地未提交墨水笔划,以及将包括墨水取消命令和所述全局唯一标识符的墨水笔划取消数据发送给所述远程计算设备,所述墨水取消命令用于请求从所述远程显示器移除远程未提交墨水笔划。
在这一方面,本地未提交墨水笔划处理线程可对应于所述本地未提交墨水笔划且可具有比对应于所述本地已提交墨水笔划的本地已提交墨水笔划处理线程更高的处理优先级,并且其中远程未提交墨水笔划处理线程可对应于所述远程未提交墨水笔划且可具有比对应于所述远程已提交墨水笔划的远程已提交墨水笔划处理线程更高的处理优先级。
在这一方面,该方法还可包括在所述远程计算设备处,响应于接收到所述未提交墨水数据,基于所述未提交墨水数据呈现远程未提交墨水笔划,以及响应于接收到已提交墨水数据,基于所述已提交墨水数据用远程已提交墨水笔划在所述远程显示器上替换所述远程未提交墨水笔划。
将会理解,本文描述的配置和/或方式本质是示例性的,这些具体实施例或本文示例不应被视为限制性的,因为许多变体是可能的。本文描述的具体例程或方法可以表示任何数量的处理策略中的一个或多个。如此,所示和/或所述的各种动作可以以所示和/或所述顺序、以其他顺序、并行地执行,或者被省略。同样,上述过程的次序可以改变。
本公开的主题包括本文公开的各种过程、***和配置以及其他特征、功能、动作和/或性质的所有新颖和非显而易见的组合和子组合,以及其任何和所有等同物。

Claims (15)

1.一种用于操作计算***的方法,包括:
在本地计算设备处且在墨水输入正在发生的同时,基于所述墨水输入在本地显示器上呈现本地未提交墨水笔划;
将与所述本地未提交墨水笔划相对应的未提交墨水数据发送给远程计算设备,所述未提交墨水数据包括未提交墨水笔划路径和将所述未提交墨水数据与对应于不同计算设备和不同墨水输入的其他未提交墨水数据区分开的全局唯一标识符;以及
响应于接收到墨水笔划提交输入,在所述本地显示器上呈现本地已提交墨水笔划并将包括墨水提交命令和与所述未提交墨水笔划路径相关联的全局唯一标识符的已提交墨水数据发送给所述远程计算设备,所述墨水提交命令用于请求在所述远程计算设备的远程显示器上呈现远程已提交墨水笔划。
2.如权利要求1所述的方法,其特征在于,与所述本地未提交墨水笔划相对应的本地未提交墨水笔划处理线程具有比与所述本地已提交墨水笔划相对应的本地已提交墨水笔划处理线程更高的处理优先级。
3.如权利要求1所述的方法,其特征在于,与远程未提交墨水笔划相对应的远程未提交墨水笔划处理线程具有比与所述远程已提交墨水笔划相对应的远程已提交墨水笔划处理线程更高的处理优先级。
4.如权利要求1所述的方法,其特征在于,还包括在所述远程计算设备处,基于并响应于接收到所述未提交墨水数据来呈现远程未提交墨水笔划,以及基于并响应于接收到所述已提交墨水数据来呈现远程已提交墨水笔划。
5.如权利要求4所述的方法,其特征在于,还包括在所述远程计算设备处,响应于呈现所述远程已提交墨水笔划来擦除所述远程未提交墨水笔划。
6.如权利要求4所述的方法,其特征在于,所述远程未提交墨水笔划基于所述未提交墨水笔划路径被增量地呈现在所述远程计算设备处。
7.如权利要求1所述的方法,其特征在于,还包括在所述本地计算设备处,接收墨水笔划取消输入,并且响应于接收到所述墨水笔划取消输入,擦除呈现的本地未提交墨水笔划并将墨水笔划取消数据发送给所述远程计算设备,所述墨水笔划取消数据包括墨水取消命令和所述全局唯一标识符。
8.如权利要求1所述的方法,其特征在于,所述全局唯一标识符将所述未提交墨水数据和所述已提交墨水数据与对应于在其他远程计算设备上远程地执行输入的其他用户、手指、笔、擦除器、和/或***设备指针的墨水数据区分开。
9.如权利要求1所述的方法,其特征在于,所述全局唯一标识符将所述未提交墨水数据和所述已提交墨水数据与对应于在本地实现的其他用户和/或指示笔的墨水数据区分开。
10.如权利要求1所述的方法,其特征在于,所述未提交墨水数据包括缩放操作、平移操作、以及旋转操作中的一者或多者。
11.如权利要求1所述的方法,其特征在于,所述全局唯一标识符包括设备间标识符和设备标识符。
12.一种计算***,包括:
包括保持指令的本地存储机的本地计算设备,所述指令使得本地逻辑机:
在墨水输入正在发生时,基于所述墨水输入在本地显示器上呈现本地未提交墨水笔划;
将与所述本地未提交墨水笔划相对应的未提交墨水数据发送给远程计算设备,所述未提交墨水数据包括未提交墨水笔划路径和将所述未提交墨水数据与对应于不同计算设备和不同墨水输入的其他未提交墨水数据区分开的全局唯一标识符;以及
如果接收到墨水笔划提交输入,则在所述本地显示器上呈现本地已提交墨水笔划并将包括墨水提交命令和与所述未提交墨水笔划路径相关联的全局唯一标识符的已提交墨水数据发送给所述远程计算设备,所述墨水提交命令用于请求在所述远程计算设备的远程显示器上呈现远程已提交墨水笔划。
13.如权利要求12所述的计算***,其特征在于,所述指令还被配置成使得所述本地逻辑机:如果接收到墨水笔划取消输入,则擦除呈现的本地未提交墨水笔划并将包括墨水取消命令和所述全局唯一标识符的墨水笔划取消数据发送给所述远程计算设备,所述墨水取消命令用于请求从所述远程显示器移除远程未提交墨水笔划。
14.如权利要求12所述的计算***,其特征在于,本地未提交墨水笔划处理线程对应于所述本地未提交墨水笔划且具有比对应于所述本地已提交墨水笔划的本地已提交墨水笔划处理线程更高的处理优先级,并且其中远程未提交墨水笔划处理线程对应于所述远程未提交墨水笔划且具有比对应于所述远程已提交墨水笔划的远程已提交墨水笔划处理线程更高的处理优先级。
15.如权利要求12所述的计算设备,其特征在于,所述远程计算设备包括保持指令的远程存储机,所述指令使得远程逻辑机:响应于接收到所述未提交墨水数据,基于所述未提交墨水数据呈现远程未提交墨水笔划,以及响应于接收到所述已提交墨水数据,基于所述已提交墨水数据在所述远程显示器上呈现远程已提交墨水笔划。
CN201680038594.2A 2015-06-29 2016-06-24 同步数字墨水笔划呈现 Active CN107735758B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201562186244P 2015-06-29 2015-06-29
US62/186,244 2015-06-29
US14/873,021 US9898841B2 (en) 2015-06-29 2015-10-01 Synchronizing digital ink stroke rendering
US14/873,021 2015-10-01
PCT/US2016/039143 WO2017003833A1 (en) 2015-06-29 2016-06-24 Synchronizing digital ink stroke rendering

Publications (2)

Publication Number Publication Date
CN107735758A true CN107735758A (zh) 2018-02-23
CN107735758B CN107735758B (zh) 2021-06-22

Family

ID=57601158

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201680038594.2A Active CN107735758B (zh) 2015-06-29 2016-06-24 同步数字墨水笔划呈现

Country Status (4)

Country Link
US (1) US9898841B2 (zh)
EP (1) EP3314388A1 (zh)
CN (1) CN107735758B (zh)
WO (1) WO2017003833A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108537858A (zh) * 2018-03-23 2018-09-14 浙江工业大学 一种基于绘画时序的笔划线条动态合并方法
CN110235097A (zh) * 2017-02-03 2019-09-13 微软技术许可有限责任公司 用于着墨应用用户界面的可反转数字墨水

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170236318A1 (en) * 2016-02-15 2017-08-17 Microsoft Technology Licensing, Llc Animated Digital Ink
US10289373B2 (en) * 2016-02-18 2019-05-14 Astro HQ LLC Event latency mitigation and screen selection
US11409952B2 (en) * 2016-08-16 2022-08-09 Myscript System and method for collaborative ink management
US10817169B2 (en) * 2016-10-14 2020-10-27 Microsoft Technology Licensing, Llc Time-correlated ink
KR102649009B1 (ko) * 2016-12-20 2024-03-20 삼성전자주식회사 디스플레이 장치 및 그 제어 방법
US11023661B2 (en) 2018-05-03 2021-06-01 Microsoft Technology Licensing, Llc Visually enhanced digital ink
US20240094896A1 (en) * 2022-09-19 2024-03-21 Microsoft Technology Licensing, Llc Locally generating preliminary inking imagery

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1521688A (zh) * 2003-02-14 2004-08-18 微软公司 确定电子笔笔尖的位置
CN1802689A (zh) * 2003-11-10 2006-07-12 微软公司 墨水纠正垫
CN101828186A (zh) * 2008-05-11 2010-09-08 诺基亚公司 在设备之间共享信息
US20130307861A1 (en) * 2012-05-15 2013-11-21 Evernote Corporation Creation and manipulation of hand drawn objects with automatic grouping
US20140380193A1 (en) * 2013-06-24 2014-12-25 Microsoft Corporation Showing interactions as they occur on a whiteboard
US20150116226A1 (en) * 2013-10-28 2015-04-30 Microsoft Corporation Wet Ink Texture Engine for Reduced Lag Digital Inking
WO2015075930A1 (en) * 2013-11-19 2015-05-28 Wacom Co., Ltd. Method and system for ink data generation, ink data rendering, ink data manipulation and ink data communication

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1205529C (zh) 1999-06-30 2005-06-08 西尔弗布鲁克研究股份有限公司 用于协作文档标记的方法和***
US6707473B2 (en) 2001-08-01 2004-03-16 Microsoft Corporation Dynamic rendering of ink strokes with transparency
US7123770B2 (en) 2002-05-14 2006-10-17 Microsoft Corporation Incremental system for real time digital ink analysis
US6867786B2 (en) 2002-07-29 2005-03-15 Microsoft Corp. In-situ digital inking for applications
US7373590B2 (en) 2003-05-19 2008-05-13 Microsoft Corporation Shared electronic ink annotation method and system
US7262785B2 (en) 2003-08-21 2007-08-28 Microsoft Corporation Ink editing architecture
US7436535B2 (en) 2003-10-24 2008-10-14 Microsoft Corporation Real-time inking
US7284192B2 (en) 2004-06-24 2007-10-16 Avaya Technology Corp. Architecture for ink annotations on web documents
US7680332B2 (en) 2005-05-30 2010-03-16 Microsoft Corporation Grouping lines in freeform handwritten text
US7907141B2 (en) 2007-03-23 2011-03-15 Palo Alto Research Center Incorporated Methods and processes for recognition of electronic ink strokes
US8407589B2 (en) 2007-04-20 2013-03-26 Microsoft Corporation Grouping writing regions of digital ink
US20090251338A1 (en) 2008-04-03 2009-10-08 Livescribe, Inc. Ink Tags In A Smart Pen Computing System
US20100083109A1 (en) 2008-09-29 2010-04-01 Smart Technologies Ulc Method for handling interactions with multiple users of an interactive input system, and interactive input system executing the method
WO2012131922A1 (ja) * 2011-03-29 2012-10-04 富士通株式会社 スケジューリング方法、およびスケジューリングシステム
US20130033429A1 (en) 2011-08-03 2013-02-07 Silverbrook Research Pty Ltd. Method of notetaking with source document referencing
WO2014066660A2 (en) 2012-10-26 2014-05-01 Livescribe Inc. Multiple-user collaboration with a smart pen system
US9286703B2 (en) 2013-02-28 2016-03-15 Microsoft Technology Licensing, Llc Redrawing recent curve sections for real-time smoothing

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1521688A (zh) * 2003-02-14 2004-08-18 微软公司 确定电子笔笔尖的位置
CN1802689A (zh) * 2003-11-10 2006-07-12 微软公司 墨水纠正垫
CN101828186A (zh) * 2008-05-11 2010-09-08 诺基亚公司 在设备之间共享信息
US20130307861A1 (en) * 2012-05-15 2013-11-21 Evernote Corporation Creation and manipulation of hand drawn objects with automatic grouping
US20140380193A1 (en) * 2013-06-24 2014-12-25 Microsoft Corporation Showing interactions as they occur on a whiteboard
US20150116226A1 (en) * 2013-10-28 2015-04-30 Microsoft Corporation Wet Ink Texture Engine for Reduced Lag Digital Inking
WO2015075930A1 (en) * 2013-11-19 2015-05-28 Wacom Co., Ltd. Method and system for ink data generation, ink data rendering, ink data manipulation and ink data communication

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110235097A (zh) * 2017-02-03 2019-09-13 微软技术许可有限责任公司 用于着墨应用用户界面的可反转数字墨水
CN110235097B (zh) * 2017-02-03 2022-08-30 微软技术许可有限责任公司 用于着墨应用用户界面的可反转数字墨水
CN108537858A (zh) * 2018-03-23 2018-09-14 浙江工业大学 一种基于绘画时序的笔划线条动态合并方法
CN108537858B (zh) * 2018-03-23 2022-06-21 浙江工业大学 一种基于绘画时序的笔划线条动态合并方法

Also Published As

Publication number Publication date
CN107735758B (zh) 2021-06-22
US9898841B2 (en) 2018-02-20
WO2017003833A1 (en) 2017-01-05
EP3314388A1 (en) 2018-05-02
US20160379385A1 (en) 2016-12-29

Similar Documents

Publication Publication Date Title
CN107735758A (zh) 同步数字墨水笔划呈现
Lee et al. A usability study of multimodal input in an augmented reality environment
EP3223116B1 (en) Multiplatform based experience generation
Bragdon et al. Code space: touch+ air gesture hybrid interactions for supporting developer meetings
CN105518575B (zh) 与自然用户界面的双手交互
Seo et al. Direct hand touchable interactions in augmented reality environments for natural and intuitive user experiences
EP2919104B1 (en) Information processing device, information processing method, and computer-readable recording medium
Funk et al. Teach me how! interactive assembly instructions using demonstration and in-situ projection
Elsayed et al. Vrsketchpen: unconstrained haptic assistance for sketching in virtual 3d environments
WO2018102615A1 (en) A system for importing user interface devices into virtual/augmented reality
Brondi et al. Using mixed reality and natural interaction in cultural heritage applications
CN105247463B (zh) 增强的画布环境
Weidner et al. Interact with your car: a user-elicited gesture set to inform future in-car user interfaces
AU2018251560B2 (en) Live ink presence for real-time collaboration
Petreca et al. Radically relational tools: A design framework to explore materials through embodied processes
CN109584148A (zh) 一种在vr设备中处理二维界面的方法和装置
CN108292193A (zh) 动画数字墨水
CN106648432A (zh) 用于大屏显示设备的控制方法和控制装置
CN108885556A (zh) 控制数字输入
CN109284058A (zh) 移动终端及其显示内容处理方法、装置和存储介质
CN105843479A (zh) 一种内容交互方法及其***
Chapoulie et al. Evaluation of direct manipulation using finger tracking for complex tasks in an immersive cube
Rupprecht et al. When bigger is simply better after all: Natural and multi-modal interaction with large displays using a smartwatch
CN109697001A (zh) 交互界面的显示方法和装置、存储介质、电子装置
Chang et al. An interactive multimedia storybook demonstration system

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