CN114444451A - 远程批注方法和装置 - Google Patents
远程批注方法和装置 Download PDFInfo
- Publication number
- CN114444451A CN114444451A CN202111528813.4A CN202111528813A CN114444451A CN 114444451 A CN114444451 A CN 114444451A CN 202111528813 A CN202111528813 A CN 202111528813A CN 114444451 A CN114444451 A CN 114444451A
- Authority
- CN
- China
- Prior art keywords
- handwriting
- event
- annotation
- annotation information
- remote
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/166—Editing, e.g. inserting or deleting
- G06F40/169—Annotation, e.g. comment data or footnotes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/103—Formatting, i.e. changing of presentation of documents
- G06F40/117—Tagging; Marking up; Designating a block; Setting of attributes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Administration; Management
- G06Q10/10—Office automation; Time management
- G06Q10/103—Workflow collaboration or project management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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
- G06Q50/00—Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
- G06Q50/10—Services
- G06Q50/20—Education
- G06Q50/205—Education administration or guidance
Abstract
本申请涉及远程批注方法和装置,该方法应用于用户端,包括:获取本地批注信息;将所述本地批注信息发送到远端服务器;获取来自所述远端服务器的远端批注信息;根据所述本地批注信息和所述远端批注信息在画布上生成批注内容;以及展示所述批注内容。根据本申请提供的远程批注方案,远程多端的批注能够相互实时显示,实现了多端笔迹的远程绘制和清除功能,多端批注过程中的更具有交互性并提升用户体验。
Description
技术领域
本申请涉及智能交互技术领域,尤其涉及一种远程批注方法和装置。
背景技术
随着科技的进步,网络技术的发展,各个领域的远程互动方式不断变化。尤其需要注意的是,教育的方式方法也在发生着快速的蜕变,教育交流的效率也在快速提高。其中,远程课堂教育使得教育交流变得更加快捷和方便,多端互动批注则使得远程教育中的交互更加具体和形象,交流更加快速和有效。
但是,目前多个用户端的批注仍主要在本地进行,同时对来自其他用户端批注的笔迹绘制和显示也存在着一些问题,为了提升用户体验,还需要对多个用户端之间的远程批注进行改进。
发明内容
目前的多端批注主要在本地进行,这样会导致做批注的多个用户端之间不能共享批注信息或者只能共享用户端中主讲端的批注而无法显示其他听讲端的批注;另外,还存在绘制笔迹无法区分用户以及清除笔迹无法区分用户等问题。
根据本申请的第一个方面,提供一种远程批注方法,应用于用户端,该方法包括:
获取本地批注信息;
将所述本地批注信息发送到远端服务器;
获取来自所述远端服务器的远端批注信息;以及
根据所述本地批注信息和所述远端批注信息在画布上生成批注内容;
展示所述批注内容。
根据本申请的第二个方面,提供一种远程批注装置,包括:
第一获取单元,用于获取本地批注信息;
发送单元,用于将所述本地批注信息发送到远端服务器;
第二获取单元,用于获取来自所述远端服务器的远端批注信息;以及
批注生成单元,用于根据所述本地批注信息和所述远端批注信息在画布上生成批注内容;
展示单元,用于展示所述批注内容。
根据本发明的第三个方面,提供一种电子设备,包括:
处理器;以及
存储器,存储有计算机程序,当所述计算机程序被所述处理器执行时,使得所述处理器执行如第一方面所述的方法。
根据本发明的第四个方面,提供一种计算机可读存储介质,其上存储有计算机可读指令,当所述指令被处理器执行时,使得所述处理器执行如第一方面所述的方法。
根据本申请提供的远程批注方案,远程多端(包括主讲端和听讲端)中的批注能够相互实时显示,实现了多端笔迹的远程绘制和清除功能,多端批注过程中的更具有交互性并提升用户体验;另外,对于不同的用户或不同的笔迹,为绘制的笔迹定义不同的参数,以区分用户或批注;此外,不同的用户和不同的笔迹都有对应的用户标识和笔迹标识,这样在清除笔迹的过程中可以根据用户标识和笔迹标识来清除对应的笔迹,并且,可以为远程多端的各个端设定不同的清除权限,例如根据用户标识,主讲端可以清除自己笔迹、其他笔迹及全部笔迹,听讲端仅可以清除自己的笔迹。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图,而并不超出本申请要求保护的范围。
图1是根据本申请实施例的远程批注方法的流程图。
图2是根据本申请实施例的远程批注方法中在绘画模式下获取当前用户批注信息的流程图。
图3是根据本申请实施例的远程批注方法中在清除模式下获取当前用户批注信息的流程图。
图4是根据本申请实施例的远程批注方法中根据笔迹更新消息请求批注信息的流程图。
图5是根据本申请实施例的远程批注方法中获取远端服务器的远端批注信息的流程图。
图6是根据本申请实施例的远程批注方法中生成批注内容的流程图。
图7是根据本申请实施例的远程批注装置的示意图。
图8是是本发明提供的一种电子设备的结构图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请涉及一种远程批注方案,该方案可以应用于远程多端课堂的场景中,该方案也可以应用于其他多个用户端交互的场景,在说明书中以远程多端课堂为例对本方案进行描述。在远程多端课堂中,用户端(包括主讲端和听讲端)之间通过远端服务器连接,进行互动时进行批注,主讲端和听讲端将本地的批注信息发送到远端服务器,并从远端服务器接收其他端的批注信息,实现了多端笔迹的远程绘制和清除功能。在本申请中,通过远端服务器连接的用户端可以为任何具有显示功能的电子设备,例如个人计算机、手机、平板电脑等,对此不做任何限制。
本申请方案的主要流程是:多个用户端中的任一用户端可以开启批注功能,显示批注幕布及设置菜单,设置菜单包含绘制模式(笔迹绘画模式和笔迹清除模式)、画笔设置及退出批注等功能。选择绘制模式,为每一个批注笔迹创建一个笔迹对象,在笔迹对象中记录绘制模式、批注笔迹的用户标识、该批注笔迹的标识、绘笔设置参数以及绘制模式为绘画模式时的笔迹路径或绘制模式为清除模式时的清除区域、笔迹路径所包含的点的节点类型、清除模式所包含点的节点类型等信息。本地的用户端一方面获取本地批注笔迹对应的本地笔迹对象,根据本地笔迹对象在画布上生成批注内容,将本地笔迹对象数据发送到远端服务器,另一方面从远端服务器接收来自其他用户端的远端笔迹对象数据,并根据远端笔迹对象数据在画布上生成批注内容。
如上所述,本申请的方案大体包括本地批注获取、远端批注获取以及生成批注内容三个方面。图1(或图7)从总体上公开了远程批注方案的流程,图2至图6分别公开了这个流程过程中绘画模式下获取当前用户批注信息、清除模式下获取当前用户批注信息、据笔迹更新消息请求批注信息、获取远端服务器的远端批注信息以及生成批注内容的处理过程。
根据本申请的一个方面,提供一种远程批注方法。图1是根据本申请实施例的远程批注方法的流程图。如图1所示,该方法包括如下步骤:
步骤S101,获取本地批注信息。
批注笔迹的绘制模式包括绘画模式和清除模式。图1和图2分别描述了在绘画模式下和在清除模式下获取当前用户批注信息的流程图。
如图1所示,本地的一端显示背景画布和批注幕布及设置菜单,设置菜单包含绘制模式(笔迹绘画模式和笔迹清除模式)、画笔设置及退出批注等功能。响应于触控事件,获取绝对坐标以用于计算触控的坐标。在设置菜单中选择绘画模式时,处理触控事件,触控事件包括按下事件、移动事件和抬起事件三种事件类型。获取本地批注信息包括获取本地批注笔迹的笔迹对象,笔迹对象包括批注笔迹的绘制模式、笔迹路径和清除区域等。
在绘画模式下,步骤S101包括如下步骤:
子步骤S1011,响应于按下事件,在笔迹路径中记录按下事件对应的点的坐标。
如图2所示,响应于按下事件,初始化批注笔迹的笔迹对象,新建笔迹路径,在笔迹路径中记录所述按下事件对应的点的坐标,并将笔迹路径添加到本地缓存中。
子步骤S1012,响应于移动事件,在笔迹路径中记录移动事件对应的点的坐标。
如图2所示,响应于移动事件,在笔迹路径中记录移动事件对应的点的坐标,并将笔迹路径添加到本地缓存中。
子步骤S1013,响应于抬起事件,在笔迹路径中记录抬起事件对应的点的坐标。
如图2所示,响应于抬起事件,在笔迹路径中记录抬起事件对应的点的坐标,并将笔迹路径添加到本地缓存中。
在一个实施例中,在检测到抬起事件的情况下,在画布上绘制整个笔迹路径对应的笔迹。在另一个实施例中,如图2所示,在笔迹路径中记录所述按下事件对应的点的坐标、移动事件对应的点的坐标和抬起事件对应的点的坐标的过程中,在画布上绘制笔迹路径对应的笔迹。这样,可以做到在绘画模式中一边绘制一边显示。
如图3所示,在设置菜单中选择清除模式时,处理触控事件,触控事件也包括按下事件、移动事件和抬起事件三种事件类型。
在清除模式下,步骤S101包括如下步骤:
子步骤S1014,响应于按下事件,在清除区域中记录按下事件对应的点的坐标。
如图3所示,响应于按下事件,初始化批注笔迹的笔迹对象,新建清除区域,在清除区域中记录所述按下事件对应的点的坐标,并将清除区域添加到本地缓存中。
子步骤S1015,响应于移动事件,在清除区域中记录移动事件对应的点的坐标。
如图3所示,响应于移动事件,在清除区域中记录移动事件对应的点的坐标,并将清除区域添加到本地缓存中。
子步骤S1016,响应于抬起事件,在清除区域中记录抬起事件对应的点的坐标。
如图3所示,响应于抬起事件,在清除区域中记录抬起事件对应的点的坐标,并将清除区域添加到本地缓存中。
在一个实施例中,在检测到抬起事件的情况下,在画布上清除与清除区域有交集的笔迹。这样在触发抬起事件的情况下,能够删除清除区域选定的笔迹。
在一个实施例中,批注笔迹的笔迹对象还包括节点类型信息,节点类型信息用于对批注笔迹按下事件对应的点、移动事件对应的点和抬起事件对应的点进行分类,将这些点分别确定为按下点、移动点和抬起点,便于将本地的笔迹对象发送到远端后,远端根据节点类型信息准确绘制该笔迹对象对应的笔迹。这样,步骤S101还包括:
子步骤S1017,将按下事件对应的点、移动事件对应的点和抬起事件对应的点的节点类型分别确定为按下点、移动点和抬起点,并记录在节点类型信息中。
在一个实施例中,批注笔迹的笔迹对象还包括批注笔迹的用户标识、批注笔迹的笔迹标识和批注笔迹的绘笔设置参数。其中,用户标识用于标识该批注笔迹是由哪个用户做出的,笔迹标识用于区分不同的批注笔迹,绘笔设置参数用于设置画笔的属性,例如画笔的类型(例如,笔的形状、橡皮擦的形状)、颜色、粗细等。
步骤S102,将本地批注信息发送到远端服务器。
将本地批注信息发送到远端服务器,便于其他端从服务器获取本地批注信息,将本地批注信息与其他端共享。
在一个实施例中,在绘画模式下,在检测到抬起事件的情况下,将整个笔迹对象信息发送到远端服务器,其他端通过远端服务器获取本地笔迹路径信息。
在另一个实施例中,在绘画模式下,在笔迹对象的笔迹路径中记录按下事件对应的点的坐标、移动事件对应的点的坐标和抬起事件对应的点的坐标的过程中,将笔迹路径发送到远端服务器,其他端通过远端服务器获取本地笔迹路径信息。这样,可以做到在本地一边绘制,远端可以实时显示绘制过程。
在一个实施例中,在清除模式下,在检测到抬起事件的情况下,将整个笔迹对象信息发送到远端服务器,其他端通过远端服务器获取本地笔迹路径信息。这样,其他端能够删除清除区域选定的笔迹。
步骤S103,获取来自远端服务器的远端批注信息。
在一个实施例中,主讲端或听讲端根据远端服务器发来的更新笔迹消息来更新笔迹。
当远端服务器收到主讲端和听讲端任一端的批注笔迹消息时,会向其他端或选定端发送更新笔迹消息。主讲端和听讲端在收到更新笔迹消息时,会主动向远端服务器获取批注信息,由于所获取的批注信息通常包括了多个用户多个批注笔迹的信息,所获取的信息也被称为批注信息集合。
这样,步骤S103包括:步骤S1031,响应于来自远端服务器的更新笔迹消息,从远端服务器获取批注信息集合。
图4是根据本申请实施例的远程批注方法中根据笔迹更新消息请求批注信息的流程图。在图4中,以MQTT(Message Queuing Telemetry Transport,消息队列遥测传输协议)机制为例描述主讲端和听讲端根据笔迹更新消息请求批注信息的方式。需要注意的是,还可以采用其他机制来实现根据笔迹更新消息请求批注信息。
如图4所示,该方式包括:1)启动批注功能时,主讲端或者听讲端均作为客户端完成MQTT链接,注册笔迹更新消息监听;2)主讲端或者听讲端进行批注时,会将批注信息上传到远端服务器,然后远端服务器会给管理的MQTT客户端列表中的在线客户端,发送MQTT消息,通知客户端更新全部笔迹;3)MQTT客户端在接收到更新笔迹的MQTT消息后,即进行远端笔迹的更新,在收到批注信息集合后更新本地笔迹缓存,并在画布上进行重新绘制。
在另一个实施例中,主讲端或听讲端可以在没有收到更新笔迹消息时,主动获取远端批注笔迹,例如在本地初始化的阶段,获取远端批注笔迹。
主讲端或者听讲端在收到笔迹更新消息后,具体如何从远端服务器获取笔迹信息,在图5中有详细描述。图5是根据本申请实施例的远程批注方法中获取远端服务器的远端批注信息的流程图。在图5中,远端服务器向主讲端或听讲端发送的笔迹更新消息不止一个,在发送笔迹更新消息的过程中,可以通过例如序列号来区分笔迹更新消息并表示各个笔迹更新消息的先后顺序。通常来说,后面发送的笔迹更新消息更新一些,可以将更新一些的笔迹更新消息的序列号标注得更大。主讲端或听讲端会存有当前笔迹更新消息及其序列号(称为“当前序列号”)。主讲端或听讲端中在收到笔迹更新消息后从远端服务器获取笔迹信息时需要考虑本地(主讲端或听讲端)的状态。本地的状态包括闲置状态和获取状态,其中获取状态表示主讲端或听讲端正在从远端服务器获取当前序列号对应的笔迹信息集合,闲置状态表示主讲端或听讲端没有正在从远端服务器获取当前序列号对应的笔迹信息集合,处于等待更新的状态。
如图5所示,主讲端或听讲端接收到MQTT消息,获取笔迹序列号并将其设置为MQTT消息序列号,然后查看主讲端或听讲端是否为闲置状态。
当不处于闲置状态即处于获取状态时,无论该MQTT消息序列号是否大于当前序列号(即无论MQTT消息是否为比当前序列号指示的更新消息更新一些的消息),均从远端服务器获取当前笔迹更新消息对应的批注信息集合;在批注信息集合数据获取结束后,将状态设置为闲置状态,获取当前序列号为起点、MQTT消息序列号为终点的数据,判断起点是否大于等于终点,在这个情形下,起点小于终点的,将状态设置为获取状态,从远端服务器获取MQTT消息(序列号)对应的笔迹信息集合。
当处于闲置状态,获取当前序列号为起点、MQTT消息序列号为终点的数据,判断起点是否大于等于终点,当起点小于终点时,将状态设置为获取状态,从远端服务器获取MQTT消息序列号对应的笔迹信息集合;当起点大于等于终点时,继续处于闲置状态,结束该MQTT消息对应的获取过程。
在图5中,从远端服务器无论是获取当前笔迹更新消息对应的批注信息集合还是获取MQTT消息对应的笔迹信息集合,当数据获取成功时,解析所获取的数据(笔迹信息集合),获取绘制的节点列表信息,添加节点列表信息中的笔迹点信息到绘制笔迹中,更新本地缓存,主讲端或听讲端根据更新的本地缓存更新所显示的笔迹。
在图5中,从远端服务器无论是获取当前笔迹更新消息对应的批注信息集合还是获取MQTT消息对应的笔迹信息集合,当数据获取没有成功时,结束获取过程。
这样,根据图5所示的流程,步骤S1031包括如下子步骤:
子步骤S10311,响应处于获取状态,从所述远端服务器获取当前笔迹更新消息对应的批注信息集合;以及
子步骤S10312,响应处于闲置状态,当来自所述远端服务器的更新笔迹消息为更新的笔迹更新消息时,从所述远端服务器获取来自所述远端服务器的更新笔迹消息对应的批注信息集合;否则,从所述远端服务器获取当前笔迹更新消息对应的批注信息集合。
主讲端和听讲端在从远端服务器收到批注信息集合后,还需要对该笔迹信息集合进行处理,所进行的处理包括:
1、从远端服务器获取的批注信息集合是否属于当前主讲端或听讲端所在的划分区域。
例如,在远程多端课堂的应用情景下,远端服务器可以管理不只一个的远程课堂,可能存在将一个远程课堂的批注信息集合发送到另一个远程课堂的情形。所以,主讲端或听讲端在收到批注信息集合后,需要判断批注信息集合是否属于主讲端或听讲端所属的课堂。当属于该课堂时,对批注信息集合进行解析,如果不属于,则丢弃该批注信息集合。
2、判断获取的批注信息集合是否为空。
例如,可以通过特定的算法判断批注信息集合是否为空,如果为空,则无需进一步解析;而如果不为空,则可以解析内部的数据。
3、获取批注信息集合的显示比例数据和当前主讲端和听讲端的显示比例数据,经过换算后对批注信息集合的笔迹信息进行显示。
在显示批注信息集合的笔迹信息之前,为了正确显示批注笔迹,需要确保收到的批注信息集合中的显示比例与当前主讲端和听讲端的显示比例一致。
步骤S104,根据本地批注信息和远端批注信息在画布上生成批注内容。
主讲端或听讲端在出现新的本地批注笔迹或收到新的远端批注笔迹后,需要对画布上的笔迹进行更新。
在根据本地批注信息在画布上生成批注内容时,如上所述,在一个实施例中,在检测到抬起事件的情况下,在画布上绘制整个笔迹路径对应的笔迹。在另一个实施例中,如图2所示,在笔迹路径中记录所述按下事件对应的点的坐标、移动事件对应的点的坐标和抬起事件对应的点的坐标的过程中,在画布上绘制笔迹路径对应的笔迹。这样,可以做到在绘画模式中一边绘制一边显示。
从而,步骤S104包括:子步骤S1041,在笔迹路径中记录按下事件对应的点的坐标、移动事件对应的点的坐标和抬起事件对应的点的坐标的过程中,在画布上绘制所述笔迹路径对应的笔迹。
在根据本地批注信息在画布上生成批注内容时,如上所述,在一个实施例中,在检测到抬起事件的情况下,在画布上清除与清除区域有交集的笔迹。这样在触发抬起事件时,能够删除清除区域选定的笔迹。
从而,步骤S104包括:子步骤S1042,响应于所述抬起事件,在所述画布上清除与所述清除区域有交集的笔迹。
在根据远端批注信息在画布上生成批注内容的过程中,需要根据远端批注信息中的笔迹对象在画布上生成批注内容,在这个过程中,需要借助笔迹对象中的节点类型信息,准确绘制远端批注信息中的笔迹。
主讲端或听讲端在出现新的本地批注笔迹或收到新的远端批注笔迹后,需要对笔迹进行更新,主要通过遍历本地缓冲中的当前用户和其他用户笔迹列表完成批注笔迹绘制。图6是根据本申请实施例的远程批注方法中生成批注内容的流程图。
如图6所示,生成批注内容的过程包括:1)判断是否有临时位图,如果没有临时位图,则新建临时位图及画布;2)清空画布内容,在一个实施例中,可以将画布的颜色设置为透明;3)遍历本地缓存中当前用户的本地批注信息对应的笔迹对象,在画布上生成批注内容;4)遍历本地缓存中其他用户的远端批注信息对应的笔迹对象,在画布上生成批注内容;5)在画布中绘制临时位图,在屏幕中显示画布生成的批注内容。
从而,本申请提供的远程批注方法还包括:
步骤S105,展示所述批注内容。
根据在画布中绘制临时位图,在用户端的屏幕中显示画布生成的批注内容。
根据本申请提供的远程批注方法,远程多端中的批注能够相互实时显示,实现了多端笔迹的远程绘制和清除功能,多端批注过程中的更具有交互性并提升用户体验。
根据本申请的另一个方面,提供一种远程批注装置。图7是根据本申请实施例的远程批注装置的示意图。如图7所示,该装置包括如下单元:
第一获取单元701,用于获取本地批注信息。
批注笔迹的绘制模式包括绘画模式和清除模式。图1和图2分别描述了在绘画模式下和在清除模式下获取当前用户批注信息的流程图。
如图1所示,本地的一端显示背景画布和批注幕布及设置菜单,设置菜单包含绘制模式(笔迹绘画模式和笔迹清除模式)、画笔设置及退出批注等功能。响应于触控事件,获取绝对坐标以用于计算触控的坐标。在设置菜单中选择绘画模式时,处理触控事件,触控事件包括按下事件、移动事件和抬起事件三种事件类型。获取本地批注信息包括获取本地批注笔迹的笔迹对象,笔迹对象包括批注笔迹的绘制模式、笔迹路径和清除区域等。
在绘画模式下,第一获取单元701包括如下子单元:
第一记录子单元7011,用于响应于按下事件,在笔迹路径中记录按下事件对应的点的坐标。
如图2所示,响应于按下事件,初始化批注笔迹的笔迹对象,新建笔迹路径,在笔迹路径中记录所述按下事件对应的点的坐标,并将笔迹路径添加到本地缓存中。
第二记录子单元7012,用于响应于移动事件,在笔迹路径中记录移动事件对应的点的坐标。
如图2所示,响应于移动事件,在笔迹路径中记录移动事件对应的点的坐标,并将笔迹路径添加到本地缓存中。
第三记录子单元7013,用于响应于抬起事件,在笔迹路径中记录抬起事件对应的点的坐标。
如图2所示,响应于抬起事件,在笔迹路径中记录抬起事件对应的点的坐标,并将笔迹路径添加到本地缓存中。
在一个实施例中,在检测到抬起事件的情况下,在画布上绘制整个笔迹路径对应的笔迹。在另一个实施例中,如图2所示,在笔迹路径中记录所述按下事件对应的点的坐标、移动事件对应的点的坐标和抬起事件对应的点的坐标的过程中,在画布上生成批注内容路径对应的笔迹。这样,可以做到在绘画模式中一边绘制一边显示。
如图3所示,在设置菜单中选择清除模式时,处理触控事件,触控事件也包括按下事件、移动事件和抬起事件三种事件类型。
在清除模式下,第一获取单元701包括如下子单元:
第四记录子单元7014,用于响应于按下事件,在清除区域中记录按下事件对应的点的坐标。
如图3所示,响应于按下事件,初始化批注笔迹的笔迹对象,新建清除区域,在清除区域中记录所述按下事件对应的点的坐标,并将清除区域添加到本地缓存中。
第五记录子单元7015,用于响应于移动事件,在清除区域中记录移动事件对应的点的坐标。
如图3所示,响应于移动事件,在清除区域中记录移动事件对应的点的坐标,并将清除区域添加到本地缓存中。
第六记录子单元7016,用于响应于抬起事件,在清除区域中记录抬起事件对应的点的坐标。
如图3所示,响应于抬起事件,在清除区域中记录抬起事件对应的点的坐标,并将清除区域添加到本地缓存中。
在一个实施例中,在检测到抬起事件的情况下,在画布上清除与清除区域有交集的笔迹。这样在触发抬起事件的情况下,能够删除清除区域选定的笔迹。
在一个实施例中,批注笔迹的笔迹对象还包括节点类型信息,节点类型信息用于对批注笔迹按下事件对应的点、移动事件对应的点和抬起事件对应的点进行分类,将这些点分别确定为按下点、移动点和抬起点,便于将本地的笔迹对象发送到远端后,远端根据节点类型信息准确绘制该笔迹对象对应的笔迹。这样,第一获取单元701还包括:
第七记录子单元7017,用于将按下事件对应的点、移动事件对应的点和抬起事件对应的点的节点类型分别确定为按下点、移动点和抬起点,并记录在节点类型信息中。
在一个实施例中,批注笔迹的笔迹对象还包括批注笔迹的用户标识、批注笔迹的笔迹标识和批注笔迹的绘笔设置参数。其中,用户标识用于标识该批注笔迹是由哪个用户做出的,笔迹标识用于区分不同的批注笔迹,绘笔设置参数用于设置画笔的属性,例如画笔的类型(例如,笔的形状、橡皮擦的形状)、颜色、粗细等。
发送单元702,用于将本地批注信息发送到远端服务器。
将本地批注信息发送到远端服务器,便于其他端从服务器获取本地批注信息,将本地批注信息与其他端共享。
在一个实施例中,在绘画模式下,在检测到抬起事件的情况下,将整个笔迹对象信息发送到远端服务器,其他端通过远端服务器获取本地笔迹路径信息。
在另一个实施例中,在绘画模式下,在笔迹对象的笔迹路径中记录按下事件对应的点的坐标、移动事件对应的点的坐标和抬起事件对应的点的坐标的过程中,将笔迹路径发送到远端服务器,其他端通过远端服务器获取本地笔迹路径信息。这样,可以做到在本地一边绘制,远端可以实时显示绘制过程。
在一个实施例中,在清除模式下,在检测到抬起事件的情况下,将整个笔迹对象信息发送到远端服务器,其他端通过远端服务器获取本地笔迹路径信息。这样,其他端能够删除清除区域选定的笔迹。
第二获取单元703,用于获取来自远端服务器的远端批注信息。
在一个实施例中,主讲端或听讲端根据远端服务器发来的更新笔迹消息来更新笔迹。
当远端服务器收到主讲端和听讲端任一端的批注笔迹消息时,会向其他端或选定端发送更新笔迹消息。主讲端和听讲端在收到更新笔迹消息时,会主动向远端服务器获取批注信息,由于所获取的批注信息通常包括了多个用户多个批注笔迹的信息,所获取的信息也被称为批注信息集合。
这样,第二获取单元703包括:获取子单元7031,用于响应于来自远端服务器的更新笔迹消息,从远端服务器获取批注信息集合。
图4是根据本申请实施例的远程批注方法中根据笔迹更新消息请求批注信息的流程图。在图4中,以MQTT(Message Queuing Telemetry Transport,消息队列遥测传输协议)机制为例描述主讲端和听讲端根据笔迹更新消息请求批注信息的方式。需要注意的是,还可以采用其他机制来实现根据笔迹更新消息请求批注信息。
如图4所示,该方式包括:1)启动批注功能时,主讲端或者听讲端均作为客户端完成MQTT链接,注册笔迹更新消息监听;2)主讲端或者听讲端进行批注时,会将批注信息上传到远端服务器,然后远端服务器会给管理的MQTT客户端列表中的在线客户端,发送MQTT消息,通知客户端更新全部笔迹;3)MQTT客户端在接收到更新笔迹的MQTT消息后,即进行远端笔迹的更新,在收到批注信息集合后更新本地笔迹缓存,并在画布上进行重新绘制。
在另一个实施例中,主讲端或听讲端可以在没有收到更新笔迹消息时,主动获取远端批注笔迹,例如在本地初始化的阶段,获取远端批注笔迹。
主讲端或者听讲端在收到笔迹更新消息后,具体如何从远端服务器获取笔迹信息,在图5中有详细描述。图5是根据本申请实施例的远程批注方法中获取远端服务器的远端批注信息的流程图。在图5中,远端服务器向主讲端或听讲端发送的笔迹更新消息不止一个,在发送笔迹更新消息的过程中,可以通过例如序列号来区分笔迹更新消息并表示各个笔迹更新消息的先后顺序。通常来说,后面发送的笔迹更新消息更新一些,可以将更新一些的笔迹更新消息的序列号标注得更大。主讲端或听讲端会存有当前笔迹更新消息及其序列号(称为“当前序列号”)。主讲端或听讲端中在收到笔迹更新消息后从远端服务器获取笔迹信息时需要考虑本地(主讲端或听讲端)的状态。本地的状态包括闲置状态和获取状态,其中获取状态表示主讲端或听讲端正在从远端服务器获取当前序列号对应的笔迹信息集合,闲置状态表示主讲端或听讲端没有正在从远端服务器获取当前序列号对应的笔迹信息集合,处于等待更新的状态。
如图5所示,主讲端或听讲端接收到MQTT消息,获取笔迹序列号并将其设置为MQTT消息序列号,然后查看主讲端或听讲端是否为闲置状态。
当不处于闲置状态即处于获取状态时,无论该MQTT消息序列号是否大于当前序列号(即无论MQTT消息是否为比当前序列号指示的更新消息更新一些的消息),均从远端服务器获取当前笔迹更新消息对应的批注信息集合;在批注信息集合数据获取结束后,将状态设置为闲置状态,获取当前序列号为起点、MQTT消息序列号为终点的数据,判断起点是否大于等于终点,在这个情形下,起点小于终点的,将状态设置为获取状态,从远端服务器获取MQTT消息(序列号)对应的笔迹信息集合。
当处于闲置状态,获取当前序列号为起点、MQTT消息序列号为终点的数据,判断起点是否大于等于终点,当起点小于终点时,将状态设置为获取状态,从远端服务器获取MQTT消息序列号对应的笔迹信息集合;当起点大于等于终点时,继续处于闲置状态,结束该MQTT消息对应的获取过程。
在图5中,从远端服务器无论是获取当前笔迹更新消息对应的批注信息集合还是获取MQTT消息对应的笔迹信息集合,当数据获取成功时,解析所获取的数据(笔迹信息集合),获取绘制的节点列表信息,添加节点列表信息中的笔迹点信息到绘制笔迹中,更新本地缓存,主讲端或听讲端根据更新的本地缓存更新所显示的笔迹。
在图5中,从远端服务器无论是获取当前笔迹更新消息对应的批注信息集合还是获取MQTT消息对应的笔迹信息集合,当数据获取没有成功时,结束获取过程。
这样,根据图5所示的流程,获取子单元7031包括如下支单元:
第一获取支单元70311,用于响应处于获取状态,从所述远端服务器获取当前笔迹更新消息对应的批注信息集合;以及
第二获取支单元70312,用于响应处于闲置状态,当来自所述远端服务器的更新笔迹消息为更新的笔迹更新消息时,从所述远端服务器获取来自所述远端服务器的更新笔迹消息对应的批注信息集合;否则,从所述远端服务器获取当前笔迹更新消息对应的批注信息集合。
主讲端和听讲端在从远端服务器收到批注信息集合后,还需要对该笔迹信息集合进行处理,所进行的处理包括:
1、从远端服务器获取的批注信息集合是否属于当前主讲端或听讲端所在的划分区域。
例如,在远程多端课堂的应用情景下,远端服务器可以管理不只一个的远程课堂,可能存在将一个远程课堂的批注信息集合发送到另一个远程课堂的情形。所以,主讲端或听讲端在收到批注信息集合后,需要判断批注信息集合是否属于主讲端或听讲端所属的课堂。当属于该课堂时,对批注信息集合进行解析,如果不属于,则丢弃该批注信息集合。
2、判断获取的批注信息集合是否为空。
例如,可以通过特定的算法判断批注信息集合是否为空,如果为空,则无需进一步解析;而如果不为空,则可以解析内部的数据。
3、获取批注信息集合的显示比例数据和当前主讲端和听讲端的显示比例数据,经过换算后对批注信息集合的笔迹信息进行显示。
在显示批注信息集合的笔迹信息之前,为了正确显示批注笔迹,需要确保收到的批注信息集合中的显示比例与当前主讲端和听讲端的显示比例一致。
批注生成单元704,用于根据本地批注信息和远端批注信息在画布上生成批注内容。
主讲端或听讲端在出现新的本地批注笔迹或收到新的远端批注笔迹后,需要对画布上的笔迹进行更新。
在根据本地批注信息在画布上生成批注内容时,如上所述,在一个实施例中,在检测到抬起事件的情况下,在画布上绘制整个笔迹路径对应的笔迹。在另一个实施例中,如图2所示,在笔迹路径中记录所述按下事件对应的点的坐标、移动事件对应的点的坐标和抬起事件对应的点的坐标的过程中,在画布上绘制笔迹路径对应的笔迹。这样,可以做到在绘画模式中一边绘制一边显示。
从而,批注生成单元704包括:第一批注生成子单元7041,用于在笔迹路径中记录按下事件对应的点的坐标、移动事件对应的点的坐标和抬起事件对应的点的坐标的过程中,在画布上绘制所述笔迹路径对应的笔迹。
在根据本地批注信息在画布上生成批注内容时,如上所述,在一个实施例中,在检测到抬起事件的情况下,在画布上清除与清除区域有交集的笔迹。这样在触发抬起事件时,能够删除清除区域选定的笔迹。
从而,批注生成单元704包括:第二批注生成子单元7042,用于响应于所述抬起事件,在所述画布上清除与所述清除区域有交集的笔迹。
在根据远端批注信息在画布上生成批注内容的过程中,需要根据远端批注信息中的笔迹对象在画布上生成批注内容,在这个过程中,需要借助笔迹对象中的节点类型信息,准确绘制远端批注信息中的笔迹。
主讲端或听讲端在出现新的本地批注笔迹或收到新的远端批注笔迹后,需要对笔迹进行更新,主要通过遍历本地缓冲中的当前用户和其他用户笔迹列表完成批注笔迹绘制。图6是根据本申请实施例的远程批注方法中生成批注内容的流程图。
如图6所示,生成批注内容的过程包括:1)判断是否有临时位图,如果没有临时位图,则新建临时位图及画布;2)清空画布内容,在一个实施例中,可以将画布的颜色设置为透明;3)遍历本地缓存中当前用户的本地批注信息对应的笔迹对象,在画布上生成批注内容;4)遍历本地缓存中其他用户的远端批注信息对应的笔迹对象,在画布上生成批注内容;5)在画布中绘制临时位图,在屏幕中显示画布生成的批注内容。
从而,本申请提供的远程批注装置还包括:
展示单元705,用于展示所述批注内容。
根据在画布中绘制临时位图,在用户端的屏幕中显示画布生成的批注内容。
根据本申请提供的远程批注装置,远程多端中的批注能够相互实时显示,实现了多端笔迹的远程绘制和清除功能,多端批注过程中的更具有交互性并提升用户体验。
参阅图8,图8提供一种电子设备,包括处理器;以及存储器,所述存储器存储有计算机指令,当所述计算机指令被所述处理器执行时,使得所述处理器执行所述计算机指令时实现如图1所示的方法以及细化方案。
应该理解,上述的装置实施例仅是示意性的,本发明披露的装置还可通过其它的方式实现。例如,上述实施例中所述单元/模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。例如,多个单元、模块或组件可以结合,或者可以集成到另一个系统,或一些特征可以忽略或不执行。
另外,若无特别说明,在本发明各个实施例中的各功能单元/模块可以集成在一个单元/模块中,也可以是各个单元/模块单独物理存在,也可以两个以上单元/模块集成在一起。上述集成的单元/模块既可以采用硬件的形式实现,也可以采用软件程序模块的形式实现。
所述集成的单元/模块如果以硬件的形式实现时,该硬件可以是数字电路,模拟电路等等。硬件结构的物理实现包括但不局限于晶体管,忆阻器等等。若无特别说明,所述处理器或芯片可以是任何适当的硬件处理器,比如CPU、GPU、FPGA、DSP和ASIC等等。若无特别说明,所述片上缓存、片外内存、存储器可以是任何适当的磁存储介质或者磁光存储介质,比如,阻变式存储器RRAM(Resistive Random Access Memory)、动态随机存取存储器DRAM(Dynamic Random Access Memory)、静态随机存取存储器SRAM(Static Random-AccessMemory)、增强动态随机存取存储器EDRAM(Enhanced Dynamic Random Access Memory)、高带宽内存HBM(High-Bandwidth Memory)、混合存储立方HMC(Hybrid Memory Cube)等等。
所述集成的单元/模块如果以软件程序模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储器中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储器中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本披露各个实施例所述方法的全部或部分步骤。而前述的存储器包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
本申请实施例还提供一种计算机存储介质,存储有计算机程序,当所述计算机程序被多个处理器执行时,使得所述处理器执行如图1所示的方法以及细化方案。
以上对本申请实施例进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明仅用于帮助理解本申请的方法及其核心思想。同时,本领域技术人员依据本申请的思想,基于本申请的具体实施方式及应用范围上做出的改变或变形之处,都属于本申请保护的范围。综上所述,本说明书内容不应理解为对本申请的限制。
Claims (13)
1.一种远程批注方法,应用于用户端,该方法包括:
获取本地批注信息;
将所述本地批注信息发送到远端服务器;
获取来自所述远端服务器的远端批注信息;
根据所述本地批注信息和所述远端批注信息在画布上生成批注内容;以及
展示所述批注内容。
2.如权利要求1所述的方法,其中,所述本地批注信息对应的触控事件包括按下事件、移动事件和抬起事件,所述获取本地批注信息包括获取所述本地批注信息的笔迹对象,所述笔迹对象包括批注笔迹的绘制模式、所述批注笔迹的笔迹路径和所述批注笔迹的清除区域,其中所述绘制模式包括绘画模式和清除模式。
3.如权利要求2所述的方法,其中,在所述绘制模式包括绘画模式时,所述获取本地批注信息包括:
响应于所述按下事件,在所述笔迹路径中记录所述按下事件对应的点的坐标;
响应于所述移动事件,在所述笔迹路径中记录所述移动事件对应的点的坐标;以及
响应于所述抬起事件,在所述笔迹路径中记录所述抬起事件对应的点的坐标。
4.如权利要求3所述的方法,其中,所述据根据所述本地批注信息和所述远端批注信息在画布上生成批注内容包括:
在所述笔迹路径中记录所述按下事件对应的点的坐标、所述移动事件对应的点的坐标和所述抬起事件对应的点的坐标的过程中,在所述画布上绘制所述笔迹路径对应的笔迹。
5.如权利要求2所述的方法,其中,在所述绘制模式包括清除模式时,所述获取本地批注信息包括:
响应于所述按下事件,在所述清除区域中记录所述按下事件对应的点的坐标;
响应于所述移动事件,在所述清除区域中记录所述移动事件对应的点的坐标;以及
响应于所述抬起事件,在所述清除区域中记录所述抬起事件对应的点的坐标。
6.如权利要求5所述的方法,其中,所述根据所述本地批注信息和所述远端批注信息在画布上生成批注内容包括:
响应于所述抬起事件,在所述画布上清除与所述清除区域有交集的笔迹。
7.如权利要求2至6任一者所述的方法,其中,所述笔迹对象还包括节点类型信息,所述获取本地批注信息还包括:
将所述按下事件对应的点、所述移动事件对应的点和所述抬起事件对应的点的节点类型分别确定为按下点、移动点和抬起点,并记录在所述节点类型信息中。
8.如权利要求2至6任一者所述的方法,其中,所述笔迹对象还包括:所述批注笔迹的用户标识、所述批注笔迹的笔迹标识和所述批注笔迹的绘笔设置参数。
9.如权利要求1至6任一者所述的方法,其中,所述获取来自远端服务器的远端批注信息包括:
响应于来自所述远端服务器的更新笔迹消息,从所述远端服务器获取批注信息集合。
10.如权利要求9所述的方法其中,所述响应于来自所述远端服务器的更新笔迹消息,从所述远端服务器获取批注信息集合包括:
响应处于获取状态,从所述远端服务器获取当前笔迹更新消息对应的批注信息集合;
响应处于闲置状态,当来自所述远端服务器的更新笔迹消息为更新的笔迹更新消息时,从所述远端服务器获取来自所述远端服务器的更新笔迹消息对应的批注信息集合;否则,从所述远端服务器获取当前笔迹更新消息对应的批注信息集合。
11.一种远程批注装置,包括:
第一获取单元,用于获取本地批注信息;
发送单元,用于将所述本地批注信息发送到远端服务器;
第二获取单元,用于获取来自所述远端服务器的远端批注信息;
批注生成单元,用于根据所述本地批注信息和所述远端批注信息在画布上生成批注内容;以及
展示单元,用于展示所述批注内容。
12.一种电子设备,包括:
处理器;以及
存储器,存储有计算机程序,当所述计算机程序被所述处理器执行时,使得所述处理器执行如权利要求1-10中任一项所述的方法。
13.一种计算机可读存储介质,其上存储有计算机可读指令,当所述指令被处理器执行时,使得所述处理器执行如权利要求1-10中任一项所述的方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111528813.4A CN114444451A (zh) | 2021-12-14 | 2021-12-14 | 远程批注方法和装置 |
PCT/CN2021/143020 WO2023108826A1 (zh) | 2021-12-14 | 2021-12-30 | 远程批注方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111528813.4A CN114444451A (zh) | 2021-12-14 | 2021-12-14 | 远程批注方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114444451A true CN114444451A (zh) | 2022-05-06 |
Family
ID=81364345
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111528813.4A Pending CN114444451A (zh) | 2021-12-14 | 2021-12-14 | 远程批注方法和装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN114444451A (zh) |
WO (1) | WO2023108826A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116248912A (zh) * | 2023-05-12 | 2023-06-09 | 南京维赛客网络科技有限公司 | 一种对直播流画面实时批注的方法、系统及存储介质 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7373590B2 (en) * | 2003-05-19 | 2008-05-13 | Microsoft Corporation | Shared electronic ink annotation method and system |
CN107659416B (zh) * | 2017-03-27 | 2021-11-16 | 广州视源电子科技股份有限公司 | 一种会议记录分享的方法、装置、会议终端和存储介质 |
CN110413187B (zh) * | 2018-04-26 | 2021-12-03 | 广州视源电子科技股份有限公司 | 交互智能设备的批注的处理方法和装置 |
CN109407954B (zh) * | 2018-09-11 | 2022-02-11 | 宁波思骏科技有限公司 | 一种书写轨迹的擦除方法和系统 |
CN110727361A (zh) * | 2019-09-30 | 2020-01-24 | 厦门亿联网络技术股份有限公司 | 一种信息交互方法、交互系统和应用 |
CN111428453B (zh) * | 2019-12-31 | 2023-09-05 | 杭州海康威视数字技术股份有限公司 | 批注同步过程中的处理方法、装置以及系统 |
-
2021
- 2021-12-14 CN CN202111528813.4A patent/CN114444451A/zh active Pending
- 2021-12-30 WO PCT/CN2021/143020 patent/WO2023108826A1/zh unknown
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116248912A (zh) * | 2023-05-12 | 2023-06-09 | 南京维赛客网络科技有限公司 | 一种对直播流画面实时批注的方法、系统及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
WO2023108826A1 (zh) | 2023-06-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110189246B (zh) | 图像风格化生成方法、装置及电子设备 | |
CN106846040A (zh) | 一种直播间中虚拟礼物显示方法和系统 | |
US20100054600A1 (en) | Tagging Images With Labels | |
US20180373736A1 (en) | Method and apparatus for storing resource and electronic device | |
CN107748780B (zh) | 一种回收站文件的恢复方法和装置 | |
US20230082638A1 (en) | Picture search method and apparatus, electronic device, computer-readable storage medium | |
WO2023226371A1 (zh) | 目标对象交互式重现的控制方法、装置、设备及存储介质 | |
US20230316529A1 (en) | Image processing method and apparatus, device and storage medium | |
US10705715B2 (en) | Collaborative group video production system | |
CN112866084A (zh) | 聊天群组的虚拟资源处理方法、设备及计算机可读介质 | |
CN112233009A (zh) | 一种图片渲染方法、装置、设备和存储介质 | |
CN109739611A (zh) | 列表视图绘制方法、装置、终端和存储介质 | |
CN114444451A (zh) | 远程批注方法和装置 | |
CN111583348A (zh) | 图像数据编码方法及装置、显示方法及装置、电子设备 | |
CN106209584A (zh) | 基于互联网的用户信息处理方法、客户端及服务器 | |
CN107204024A (zh) | 处理图片序列帧的方法及装置 | |
CN110197459B (zh) | 图像风格化生成方法、装置及电子设备 | |
CN108573044A (zh) | 一种相册处理方法、装置、终端及存储介质 | |
CN107743270A (zh) | 交互方法及设备 | |
WO2020124454A1 (zh) | 字体切换方法及相关产品 | |
CN110619513A (zh) | 电子资源领取方法、电子资源发放方法及相关设备 | |
TWI515684B (zh) | 資訊處理方法、裝置以及系統 | |
EP3612921A1 (en) | Enhanced inking capabilities for content creation applications | |
CN105100826B (zh) | 图片处理方法、装置及系统 | |
CN107800792A (zh) | 一种android图片或视频上传到服务器的方法 |
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 |