一种显示会议共享屏幕内容的方法、装置和系统与流程

文档序号:30486709发布日期:2022-06-22 00:32阅读:181来源:国知局
一种显示会议共享屏幕内容的方法、装置和系统与流程

1.本技术涉及会议领域,尤其涉及显示会议共享屏幕内容的方法、装置和系统。


背景技术:

2.远程会议,通常是指两个或两个以上不同地域的个人或群体,通过会议终端和传输网络等,将语音,图像以及数据等信息进行互传,以实现即时且互动的沟通的会议。通过远程会议,使人们在进行异地交流的时候既可以听到对方的声音,又可以看到对方的图像,还可以共享具体的数据内容,增强交流的真实感、亲切感和临场感。远程会议可用于军事、政治、经济、教育、卫生等领域,充分发挥真实、高效、实时的优点,为人们提供简便而有效的沟通、管理、协同决策等手段。
3.在远程会议中,与会者经常需要通过远程协作来实现更加深入、高效的交流。
4.其中,远程协作(remote collaboration)通常是指参与会议的多方可以对共享的屏幕进行协同操作。例如,假设有三个与会方分别通过各自的会议终端(简称终端)接入某个会议中,且其中第一个终端提供了一个共享的屏幕内容,则该三个终端中的任意一个终端都可以在该共享的屏幕内容上进行标注(例如,画线,插入内容)等协同操作,且三个终端都可以实时看到所有终端在该共享屏幕内容上的协同操作情况。
5.现有的远程协作方案只支持一路协作,即只能提供基于一路共享屏幕内容的远程协作,不支持多路协作。


技术实现要素:

6.本技术提供一种显示会议共享屏幕内容的方法、装置和系统,有助于在会议过程中实现多路远程协作,从而提供更好的内容分享和远程协作体验。
7.为达上述目的,本技术提供如下技术方案:
8.第一方面,本技术提供了一种显示会议共享屏幕内容的方法,该方法应用于第一终端,第一终端与第二终端参与同一会议,该方法包括:获取该会议中的第一共享屏幕内容和第二共享屏幕内容;显示第一共享屏幕内容和所述第二共享屏幕内容;获取第一共享屏幕内容关联的第一操作数据;根据所述第一操作数据在第一共享屏幕内容上显示第一操作。
9.通过本技术的第一方面,可以在会议过程中实现多路远程协作,即实现显示会议的多路共享屏幕内容,并基于该多路共享屏幕内容进行操作,从而可以提供更好的内容分享和远程协作体验。
10.在一种可能的实现方式中,上述获取会议中的第一共享屏幕内容和第二共享屏幕内容,可以为:获取本地会场的第一共享屏幕内容;接收来自第二终端的第二共享屏幕内容。此时,上述方法还可以包括:发送上述第一共享屏幕内容,以使得第二终端显示上述两路共享屏幕内容。
11.在一种可能的实现方式中,上述获取会议中的第一共享屏幕内容和第二共享屏幕
(multipoint control unit,多点控制单元),该方法包括:接收第一共享屏幕内容和第二共享屏幕内容;根据第一参数将上述第一共享屏幕内容和第二共享屏幕内容合并为第三共享屏幕内容;并发送该第三共享屏幕内容;接收第一操作数据;根据上述第一操作数据以及第一参数,确定第二操作数据,并发送该第二操作数据。
22.通过本技术的第二方面,mcu可以将会议中的多路共享屏幕内容按照第一参数合并成一路共享屏幕内容,还可以将基于多路共享屏幕内容的操作数据和基于上述合并后的一路共享屏幕内容的操作数据进行相互转换,从而可以让会议中不支持多路协作处理的终端也能参与该会议的多路协作中,从而可以提高显示会议共享屏幕内容的方法的适应性。
23.在一种可能的实现方式中,上述第一参数可以包括第三共享屏幕内容的分辨率,第一共享屏幕内容在第三共享屏幕内容中的显示区域信息以及第二共享屏幕内容在第三共享屏幕内容中的显示区域信息。此外,该第一参数可以是系统中预设的参数,也可以是mcu与终端协商得到。
24.在一种可能的实现方式中,上述第一操作数据包括第一位置信息,该第一位置信息为第一操作在所述第一共享屏幕内容上的位置信息;上述第二协作操作数据包括第二位置信息,所述第二位置信息为所述第一操作在第三共享屏幕内容上的位置信息;那么,上述根据第一操作数据以及第一参数,确定第二操作数据,可以为:根据第一位置信息、第一共享屏幕内容在第三共享屏幕内容中的显示区域信息以及第一共享屏幕内容的分辨率,确定上述第二位置信息。
25.在一种可能的实现方式中,上述第一操作数据包括第一位置信息,该第一位置信息为第一操作在第三共享屏幕内容上的位置信息;上述第二操作数据包括第二位置信息,该第二位置信息为第二操作在第一共享屏幕内容上的位置信息;该第二操作为上述第一操作的部分或全部;那么,上述根据第一操作数据以及第一参数,确定第二操作数据,可以为:根据第一位置信息和第一共享屏幕内容在第三共享屏幕内容中的显示区域信息,确定所述第二操作在第三共享屏幕内容上的位置信息;然后,根据第二操作在第三共享屏幕内容上的位置信息,第一共享屏幕内容在第三共享屏幕内容中的显示区域信息以及第一共享屏幕内容的分辨率,确定上述第二位置信息。
26.在上述两种可能的实现方式中,上述位置信息可以为坐标;例如,上述第一操作在第一共享屏幕内容上的位置信息可以为该第一操作在第一共享屏幕内容上的坐标。
27.第三方面,本技术还提供一种终端,假设终端为第一终端,该第一终端与第二终端参与同一会议。该第一终端包括:获取模块和显示模块;其中,获取模块用于获取会议中的第一共享屏幕内容和第二共享屏幕内容;还用于获取与第一共享屏幕内容关联的第一协作操作数据;显示模块用于显示上述第一共享屏幕内容和第二共享屏幕内容;还用于根据第一协作操作数据在第一共享屏幕内容上显示第一协作操作。
28.上述获取模块在获取第一共享屏幕内容以及第二共享屏幕内容时,可以为:获取本地会场的第一共享屏幕内容,接收来自第二终端的第二共享屏幕内容;此时,该第一终端还可以包括发送模块,用于发送上述第一共享屏幕内容,以使得上述第二终端显示第一共享屏幕内容和第二共享屏幕内容。
29.上述获取模块在获取第一共享屏幕内容和第二共享屏幕内容时,还可以为:获取本地会场的第一共享屏幕内容以及第二共享屏幕内容;此时,该第一终端还可以包括发送
模块,用于发送上述两路共享屏幕内容,以使得第二终端显示上述两路共享屏幕内容。
30.上述显示模块在显示上述两路共享屏幕内容时,可以为:按上下,或左右并排的方式显示两路共享屏幕内容,或者显示所述两路共享屏幕内容中的一个。
31.可选地,上述终端还可以包括确定模块;上述第一操作数据包括第一操作在第一共享屏幕内容上的位置信息,获取模块获取与第一共享屏幕内容关联的第一操作数据的过程,可以为:在检测到本地会场的操作时,指示确定模块确定该操作在所述第一上的位置信息,并根据该位置信息和上述两路共享屏幕内容的显示区域信息,确定该操作包含第一协作操作,并确定该第一操作在第一终端上的位置信息;然后,基于上述第一操作的在第一终端上的位置信息,第一共享屏幕内容的显示区域以及第一共享屏幕内容的分辨率确定上述第一操作在第一共享屏幕内容上的位置信息。此时,发送模块还可以发送第一操作数据,从而从第二终端也能在第一共享屏幕上显示第一操作。
32.在上述可能的实现方式中,上述位置信息可以为坐标;例如,上述第一操作在第一共享屏幕内容上的位置信息可以为该第一操作在第一共享屏幕内容上的坐标。
33.第四方面,本技术还提供一种终端,该终端包括存储器和一个或多个处理器;所述存储器与所述处理器耦合;所述存储器用于存储计算机程序代码,所述计算机程序代码包括计算机指令,当所述计算机指令被所述识别装置执行时,使得所述终端执行上述第一方面提供的任一种可能的实现方式所述的显示会议共享屏幕内容的方法。
34.第五方面,本技术还提供一种mcu,该mcu包括:接收模块,处理模块和发送模块;其中,接收模块用于接收第一共享屏幕内容和第二共享屏幕内容;还用于接收第一操作数据;处理模块用于根据第一参数将上述第一共享屏幕内容和第二共享屏幕内容合并为第三共享屏幕内容;还用于根据上述第一操作数据以及第一参数,确定第二操作数据;发送模块用于发送上述第三共享屏幕内容和第二操作数据。
35.在一种可能的实现方式中,上述第一参数可以包括第三共享屏幕内容的分辨率,第一共享屏幕内容在所述第三共享屏幕内容中的显示区域信息以及第二共享屏幕内容在第三共享屏幕内容中的显示区域信息。可以理解的是,该第一参数可以为预设参数,或者由mcu与终端协商得到。
36.在一种可能的方式中,上述第一操作数据包括第一位置信息,该第一位置信息为第一协作操作在第一共享屏幕内容上的位置信息;第二操作数据包括第二位置信息,该第二位置信息为所述第一协作操作在所述第三共享屏幕内容上的位置信息;那么,处理模块在根据第一协作操作数据以及第一参数确定第二操作数据,可以为:根据第一位置信息,所述第一共享屏幕内容在所述第三共享屏幕内容中的显示区域信息以及所述第一共享屏幕内容的分辨率,确定所述第二位置信息。
37.在另一种可能的方式中,上述第一操作数据包括第一位置信息,该第一位置信息为第一操作在第三共享屏幕内容上的位置信息;上述第二操作数据包括第二位置信息,该第二位置信息为第二操作在第一共享屏幕内容上的位置信息;其中,第二操作为所述第一操作的部分或全部;那么,处理模块在根据第一操作数据以及第一参数,确定第二操作数据,包括:根据第一位置信息和第一共享屏幕内容在所述第三共享屏幕内容中的显示区域信息,确定第二操作在所述第三共享屏幕内容上的位置信息;然后,根据所述第二协作操作在第三共享屏幕内容上的位置信息、第一共享屏幕内容在第三共享屏幕内容中的显示区域
信息以及第一共享屏幕内容的分辨率,确定上述第二位置信息。
38.在上述可能的实现方式中,上述位置信息可以为坐标;例如,上述第一操作在第一共享屏幕内容上的位置信息可以为该第一操作在第一共享屏幕内容上的坐标。
39.第六方面,本技术提供一种mcu,该mcu包括存储器,一个或多个处理器和收发器;所述存储器与所述处理器耦合;所述存储器用于存储计算机程序代码,所述计算机程序代码包括计算机指令,当所述计算机指令被所述识别装置执行时,使得所述终端执行上述第二方面提供的任一种可能的实现方式所述的显示会议共享屏幕内容的方法。
40.第七方面,本技术提供一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,当所述计算机程序在计算机上执行时,使得所述计算机执行如上述第一方面或第二方面提供的任一种可能的实现方式所述的显示会议共享屏幕内容的方法。
41.第八方面,本技术提供一种计算机程序产品,该计算机程序产品包括计算机执行指令,当该计算机执行指令在计算机上执行时,使得所述计算机执行如上述第一方面或第二方面提供的任一种可能的实现方式所述的显示会议共享屏幕内容的方法。
42.本技术中第二方面到第八方面及其各种实现方式的具体描述,可以参考第一方面和第二方面及其各种实现方式中的详细描述;并且,第二方面到第八方面及其各种实现方式的有益效果,可以参考第一方面和第二方面及其各种实现方式中的有益效果分析,此处不再赘述。
附图说明
43.图1a-1b为远程协作中显示的协作内容的示意图。
44.图2为本技术实施例所适用的一种会议系统架构示意图。
45.图3为本技术实施例所适用的另一种会议系统架构示意图。
46.图4为本技术实施例提供的一种显示会议共享屏幕内容的方法的流程图。
47.图5为本技术实施例中终端2向终端1申请发起第二路远程协作的流程示意图。
48.图6为本技术实施例中终端1邀请终端2发起第二路远程协作的流程示意图。
49.图7a-图7e为本技术实施例中显示两路共享屏幕内容的示意图。
50.图8a-图8d为本技术实施例中在两路共享屏幕内容上执行协作操作的示意图。
51.图9为本技术实施例提供的另一种显示会议共享屏幕内容的方法的流程示意图。
52.图10为本技术实施例提供的另一种显示会议共享屏幕内容的方法的流程示意图。
53.图11为本技术实施例提供的会议终端的一种结构示意图。
54.图12为本技术实施例提供的会议终端的另一种结构示意图。
55.图13为本技术实施例提供的mcu的一种结构示意图。
56.图14为本技术实施例提供的mcu的另一种结构示意图。
具体实施方式
57.在本技术实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本技术实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
58.在本技术的实施例中,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本技术的描述中,除非另有说明,“多个”的含义是两个或两个以上。
59.为了方便理解,在介绍本技术实施例提供的技术方案之前,下面对本技术涉及的关键术语进行说明。
60.远程会议通常包括位于异地的两个或两个以上的与会方;其中,每个与会方通过本地会场中的会议终端(简称“终端”)接入会议,且每个与会方的会场中实际参与会议的用户人数可以是一个或多个。
61.在远程会议远程协作的过程中,各个终端看到的内容,即协作内容,包括如下两个部分:
62.第一部分内容:多个终端协同操作时所基于的背景内容,即“共享屏幕内容”。
63.第二部分内容:多个终端在协同操作(即“协作操作”或“操作”)过程中在第一部分内容(即共享屏幕内容)上进行标注时产生的数据,即“协作操作数据”或“操作数据”。例如在第一部分内容上画线,画矩形,椭圆,或者是在第一部分内容上插入文本,图,表或音视频内容等所产生的操作数据。
64.例如,在图1a所示的远程协作的例子中,第一部分内容,即共享屏幕内容为一个打开的文档,第二部分内容包括在该文档上标注时所画的红色线段,和蓝色椭圆。在图1b所示的例子中,第一部分内容为一个空白的屏幕,即电子白板,第二部分内容包括在该电子白板上书写的公式,和插入的公式。
65.下面将结合各个附图对本技术技术方案的实现原理、具体实施方式及其对应能够达到的有益效果进行详细的阐述。
66.本技术提供一种实现远程会议中显示会议共享屏幕内容的方法,有助于实现多路远程协作;其中,该多路远程协作中的多路共享屏幕内容可以由同一个终端提供,也可以由不同的终端提供。
67.示例性的,图2为本技术所提供的显示会议共享屏幕内容的方法所适用的一种会议系统架构示意图。该会议系统由多点控制单元(multipoint control unit,mcu)101,以及多个终端100(例如,图2中的终端1、终端2和终端3)构成。各终端可以通过预定的通信协议与mcu建立通信连接,其中,该通信连接所基于的物理传输信道可以是光纤、电缆、微波或卫星等方式。
68.终端100用于获取会议中的多路共享屏幕内容,并按照预设的显示模式将该多个共享屏幕内容显示给用户。其中,上述多路共享屏幕内容可以由某个终端100,例如终端1获取的本地会场的共享屏幕内容,或者是接收mcu101转发的、来自其他终端,如终端2提供的共享屏幕内容。当上述多路屏幕共享内容中的一路或者多路是由终端1提供时,则终端1可以将提供的一路或者多路屏幕共享内容通过mcu101转发给其他终端,从而让其他终端也能按照预设的模式显示上述多路屏幕共享内容。其中,上述“其他终端”是指位于其他会场中的、且与该终端1参与同一个会议中的终端。
69.此外,终端100还用于获取协作操作信息,该协作操作信息包括针对上述多路共享屏幕内容中的至少一路共享屏幕内容的协作操作数据,并根据该协作操作数据在对应的共
享屏幕内容上显示相应的协作操作。其中,上述操作信息可以是某个终端 100,例如终端1检测本地会场中的与会者的协作操作得到的,也可以是接收 mcu101转发的来自其他会场的协作操作信息。当上述协作操作信息是由终1端所在会场中的与会者执行协作操作所产生的时,终端1还用于将该协作操作信息通过 mcu101转发给其他终端,从而让其他终端也能够根据该协作操作信息在对应的共享屏幕内容上显示相应的协作操作。
70.可选地,终端100还用于采集本会场的视频、音频和控制信息(例如,申请发言、申请主控权)等,并将这些信息发送给mcu101,以使得mcu101对这些信息进行转发,从而让其他终端可以接收到该会场的视频、音频和控制信息;还用于接收通过mcu101转发的、来自其他终端采集的视频、音频和控制信息。
71.mcu101用于会议数据的转发,该会议数据包括上述一路或多路共享屏幕内容,以及协作操作信息。例如,mcu101可以用于接收某个终端发送的一路或多路共享屏幕内容和协作操作信息,并将其转发给其他终端,从而使得与会的各个终端都可以显示多路共享屏幕内容和相应的协作操作。可以理解的是,上述会议数据还可以包括会议中的视频,音频和控制信息等。
72.在有些实施方式下,参与会议的某个终端可能不支持多路远程协作,例如,不支持对多路共享屏幕内容的显示和协作操作处理,在这种情况下,mcu101还可以用于将会议中的多路共享屏幕内容按照第一参数合并成一路共享屏幕内容后发送给该终端;且根据第一参数将针对多个共享屏幕内容的协作操作信息进行转换后发送给该终端,从而使得该终端也能够显示多路共享屏幕内容,并能正确地显示相应的协作操作。
73.需要说明的是,图2中所示的mcu101和终端100的数量并不对本技术所适用的会议系统进行限定。比如,终端可以只有两个。再比如,mcu101可以是多个,在这种实现方式下,每个mcu101可以连接多个终端100或者其他的mcu101,这样可以支持较大的会议规模(即支持更多的与会方)。此时,mcu101可以用于接收与其连接的某个终端100,或某个mcu101发送的会议数据,并将该会议数据转发给与其连接的其他终端100或者mcu101,在此不再赘述。
74.还需要说明的是,当参与会议的终端只有两个时,会议系统也可以不需要mcu101 进行会议数据的转发,终端100可以直接将本地会场的会议数据发送给另一终端100;也可以直接接收另一终端100发送的来自另一会场的会议数据。在这种实现下,本技术所适用的会议系统架构可以如图3所示。
75.下面结合图4-图8,对本技术提供的显示会议共享屏幕内容的方法进行介绍。该实施例基于上述图2所示的会议系统架构为例进行说明。在该实施例中,假设会议包括两个会场,且这两个会场分别通过终端1和终端2接入了该会议。
76.如图4所示,为本技术提供的显示会议共享屏幕内容的方法的流程示意图。在该实施例中,假设有两个会场分别通过终端1和终端2接入同一个会议,在该会议中,首先由终端1发起第一路远程协作(由终端1提供该会议的第一路共享屏幕内容),然后终端2又发起第二路远程协作(由终端2提供该会议的第二路共享屏幕内容);然后,终端1和终端2可以基于第一路共享屏幕内容和第二路共享屏幕内容进行协作操作。该方法包括但不限于如下步骤:
77.s401,终端1与mcu之间协商第一路远程协作涉及的媒体流的参数。
78.终端1发起第一路远程协作请求时,所述终端1与所述mcu协商第一路远程协作涉
及的媒体流的参数。其中,二者协商的媒体流的参数可以包括第一路远程协作涉及的媒体流的标识,具体地,包括用于标识终端1需要共享的第一共享屏幕内容的媒体流标识以及用于标识对所述第一共享屏幕内容的操作数据的媒体流标识。
79.上述媒体流标识可以是由终端1或者mcu按照预定的规则生成的包括数字或字符等的任意形式的内容,本技术对此不做限定。
80.因为该实施例中涉及多路远程协作,为了让终端能够对多路远程协作涉及的各个媒体流进行区分从而正确显示,因此需要标识多路远程协作中的各个媒体流。以第一路远程协作为例,第一路远程协作涉及两个媒体流:第一个媒体流为第一路远程协作的共享屏幕内容(即第一路远程协作中操作所基于的背景内容,为便于描述,下称“第一共享屏幕内容”);第二个媒体流为第一路远程协作的操作数据(下称“第一协作操作数据”)。可以理解的是,第一协作操作数据是发生于第一共享屏幕内容上的操作数据。
81.由于终端1和mcu可以通过二者之间已有的传输通道,或者通过新建立传输通道来传输第一路远程协作涉及的媒体流。因此,可选地,如果二者想要通过新建立的传输通道来传输,则在本步骤中,终端1和mcu还可以协商用于第一路远程协作涉及的媒体流内容的一个或两个传输通道的地址(例如,ip地址和端口号)。然后,终端1和mcu 可以按照协商的地址建立一个或者两个传输通道用于后续传输第一路远程协作涉及的媒体流内容。
82.可选地,当终端1和mcu采用两条传输通道来分别传输第一共享屏幕内容和第一协作操作数据时,二者可以将传输通道的地址作为媒体流的标识。在这种实现下,二者可以直接通过不同的传输通道的地址来区分不同的媒体流,而不用将所述标识封装在对应的媒体流中传输。
83.可选地,终端1和mcu协商的媒体流参数还可以包括其他内容,例如,二者之间发送的第一共享屏幕内容的分辨率大小,或者对第一共享屏幕内容或第一协作操作数据的处理方式,比如,是否要压缩,如果要压缩,则各自采用什么压缩算法,压缩的具体参数,或者采用什么传输协议发送第一共享屏幕内容或第一协作操作数据等。
84.在上述过程中,终端1和mcu可以基于t.120控制协议、或者基于其他协议来进行协商,本技术对此不作限定。终端1和mcu之间可以通过两者之间已经建立的传输通道进行上述媒体流参数的协商,也可以是终端1与mcu新建立的一个通道进行上述媒体流参数的协商。可选地,在有些实现方式下,终端和mcu还可以在会议之前预先定义多路远程协作涉及的各个媒体流的标识。此时,终端1和mcu可以直接按照预定义的规则来确定第一共享屏幕内容的媒体流标识和第一协作操作数据的媒体流标识,在这种实现方式下,终端1和mcu可以不用执行上述媒体流标识的协商过程。
85.s402,mcu与终端2协商第一路远程协作的媒体流的参数。
86.mcu可以在执行完s401之后执行本步骤;也可以在接收到终端1发起的第一路远程协作的请求时,执行本步骤。
87.该过程类似s401终端1与mcu协商第一路远程协作的媒体流参数的过程,不再赘述。可以理解的是,mcu和终端2之间协商的媒体流标识可以不与s401中终端1 与mcu之间协商的媒体流标识一致,此时,mcu可以维护与两个终端协商的媒体流标识之间的对应关系,并根据该对应关系进行相应的转发即可。
88.可选地,在该步骤中,mcu也可以直接将s401中与终端1协商确定的第一路远程协
作的媒体流参数发送给终端2,以使得终端2能够对第一路远程协作的媒体流内容进行正确的识别和处理。
89.同理,如步骤s401中所述,mcu与终端2也可以协商一条或两条新的传输通道用于传输第一路远程协作的媒体流内容,在此不在赘述。
90.s403,终端1向mcu发送包含第一共享屏幕内容的媒体流。
91.当终端1执行完s401之后,向mcu发送包含第一共享屏幕内容的媒体流。
92.终端1可以基于401中协商的媒体流参数对获取到的第一共享屏幕内容进行处理,例如,按照协商的参数进行压缩、封装等处理后再发送给mcu。
93.需要说明的是,终端1在向mcu发送包含第一共享屏幕内容的媒体流时,可以携带该媒体流的标识。具体地,如果终端1和mcu之间不是通过独立的传输通道来传输所述媒体流时,则终端1可以将所述媒体流的标识封装在所述媒体流中。例如,如果终端1和mcu采用rtp(real-time transport protocol,实时传输协议)协议来传输第一共享屏幕内容,则可以将第一共享屏幕内容的媒体流标识承载在rtp头中的负载类型(payload type)字段中,或者承载在rtp的扩展报头中。终端1和mcu也可以采用其他自定义的方式来传输第一共享屏幕内容并携带其媒体流标识,本技术对此不作限定。此外,如果终端1和mcu通过独立的传输通道来传输所述媒体流时,则可以直接通过该传输通道的地址来标识该媒体流,可以认为传输通道的地址为该媒体流的标识。
94.该第一共享屏幕内容可以是终端1自己的屏幕内容,也可以是终端1所在会场的其他设备的屏幕内容。当第一共享屏幕内容不是终端1自己的屏幕内容时,则在执行本步骤之前,终端1可以先获取本地会场的第一共享屏幕内容,比如,通过 hdmi(high-definition multimedia interface,高清多媒体接口)获取会场中某个计算机的屏幕内容,或者通过无线传输方式获取某个手机的屏幕内容等。
95.在本步骤中,终端1可以将第一共享屏幕内容实时发送给mcu。可以理解的是,在第一路远程协作的过程中,终端1可以持续按照一定的频率获取第一共享屏幕内容的画面并实时发送给mcu;其中,所述一定的频率可以是预定义的值,例如,每秒获取25帧。或者,终端1也可以持续按照一定的频率获取第一共享屏幕内容的画面,并在检测到第一共享屏幕内容的画面发生变化时,则将其发送给mcu。
96.s404,mcu将包含第一共享屏幕内容的媒体流转发给终端2。
97.可选地,mcu还可以将接收到的第一共享屏幕内容在本地缓存预定的时间,这样,当有新的终端在会议的过程中接入时,mcu可以直接将本地缓存的第一共享屏幕内容发送给所述新的终端,从而使得新的终端也能够实时参与第一路远程协作。
98.s405,终端1显示第一共享屏幕内容。
99.终端1在获取到第一共享屏幕内容后,可以先显示第一共享屏幕内容,再将其发送给mcu,也可以反之,即s403与s405的执行没有先后顺序。
100.s406,终端2接收包含第一共享屏幕内容的媒体流,显示第一共享屏幕内容。
101.终端2接收mcu发送的第一共享屏幕内容,并将其显示在屏幕上。
102.至此,终端1和终端2所在的会场的与会者都可以看到第一共享屏幕内容,并开始第一路远程协作了,比如,所述两个会场的与会者可以在第一共享屏幕内容上标注 (包括画线,插入内容等)。每个会场进行协作操作时所产生的操作数据,也可以由本地会场的终
端实时获取到后发送给其他会场的终端,以便于与会者实时看到所有会场所产生的协作操作。在该实施例中,操作数据的处理和发送过程将在s414-s418中进行描述。
103.s407,终端2申请发起第二路远程协作。
104.假设在会议的过程中,终端2想要同时发起第二路远程协作,则终端2可以向主讲人终端1申请发起第二路远程协作。
105.如图5中s4071~s4072所示,终端2可以通过mcu向终端1发送申请第一路远程协作的请求消息;其中,该请求消息中可以携带终端2所在会场的标识,例如会场的名称等。
106.相应地,如图5中s4073~s4074所示,终端1通过mcu向终端2发送申请第二路远程协作的响应消息,该响应消息可以携带所述请求的结果指示信息。例如,如果主讲人同意终端2发送的请求,则返回的响应消息中可携带请求成功的指示信息;反之,则携带请求失败的指示信息。
107.具体实现时,上述的请求或响应消息,可以基于对现有的协议进行扩展来实现。例如,可以基于t.120,h.323,或sip(session initiation protocol,会话初始协议)。
108.如果基于sip协议实现,则可以通过sip协议中的info消息来扩展实现上述请求消息或响应消息,并可采用xml(extensible markup language,可扩展标记语言)格式来实现。
109.例如,上述请求消息可以是如下的形式(以通过令牌请求消息的形式实现为例);其中,终端2在发送请求消息时,可以"reqsitenum"字段中填入终端2所在会场的标识,例如,会场的名称。
[0110][0111][0112]
又例如,上述响应消息可以是如下的形式;其中,终端1在发送响应消息时,可以"reqresult"字段中填入请求结果的指示信息,例如,0表示“请求失败”,1表示“请求成功”。
[0113][0114]
可选地,在上述过程中,mcu可以记录上述请求消息和相应的响应结果信息,从而可以在后续的步骤中根据记录的这些信息判断终端2是否有权限发起第二路远程协作。
[0115]
s408,终端2与mcu协商第二路远程协作的媒体流参数。
[0116]
类似s401中所述,终端2与mcu协商的媒体流参数可以包括第二路远程协作的媒体流内容的标识。同理,第二路远程协作的媒体流内容也包括两路子媒体流:其中一路子媒体流为第二路远程协作中的共享屏幕内容(即第二路远程协作操作的背景内容,下称“第二共享屏幕内容”);另一路子媒体流为第二路远程协作的操作数据(下称“第二协作操作数据”)。
[0117]
终端2与mcu之间协商的其他媒体流参数,或者协商的其他内容,以及具体的实现方式可以参见上述s401中的描述,在此不再赘述。
[0118]
可选地,mcu在与终端2进行上述协商之前,还可以根据s407中记录的关于申请第二路远程协作的请求消息和相应的响应结果信息,判断终端2是否有权限发起第二路远程协作。具体地,如果mcu判断上述请求消息中会场的标识为终端2所在的会场的标识一致,且相应的响应消息中指示请求结果为“请求成功”,则判断终端2有权限发起第二路远程协作;反之,则判断终端2没有权限发起第二路远程协作。如果mcu判断终端2没有权限发起第二路远程协作,可以拒绝执行与终端2进行上述第二路远程协作的媒体流参数的协商过程。相应地,s409以及后续的步骤也不会执行。反之,如果mcu判断终端有权限发起第二路远程协作,则s409及后续的步骤会继续执行。
[0119]
s409,mcu与终端1协商第二路远程协作的媒体流参数。
[0120]
类似上述s402中mcu与终端2协商第一路远程协作的媒体流参数的过程,在此不再赘述。
[0121]
s410-s411,终端2向mcu发送包含第二共享屏幕内容的媒体流,mcu向终端1发送包含第二共享屏幕内容的媒体流。
[0122]
类似地上述s403中的介绍,第二共享屏幕内容可以是终端2自己的屏幕内容,或者是终端2所在会场中其他设备的屏幕内容。
[0123]
其中,第二共享屏幕内容的传输通道可以复用第一共享屏幕内容,或者其他内容的传输通道,也可以是一条独立的传输通道。当第二共享屏幕内容的传输通道是复用的传输通道时,即不能通过传输通道的地址来识别第二共享屏幕内容时,则终端2在发送的第二
共享屏幕内容的媒体流时,需要携带该媒体流的标识,以便于各终端能区分和识别第一共享屏幕内容和第二共享屏幕内容。具体的实现方式以及其他方面的描述,请参见上述s403-s404中终端1通过mcu向终端2发送第一共享屏幕内容的过程,不再赘述。
[0124]
s412,终端2显示第一共享屏幕内容和第二共享屏幕内容。
[0125]
第一共享屏幕内容和第二共享屏幕内容的显示模式可以有多种,例如,可以是如图 7a所示的方式,将第一共享屏幕内容和第二共享屏幕内容的两个画面横向均匀排布;或者是如图7b所示的方式,将两个画面纵向均匀排布;或者是如图7c或7d所示的单画面显示模式,即选择两个画面中的一个进行显示。可以理解的是,实际实现时,多个共享屏幕内容的画面还是还可以是除上述例子之外的其他的显示方式,本技术对此不作限定。
[0126]
然后,终端2可以根据两路共享屏幕内容的显示模式,确定第一共享屏幕内容和第二共享屏幕内容各自的显示区域信息。其中,显示区域信息包括第一共享幕内容和第二共享屏幕内容在显示器上的显示位置和大小信息。具体地,终端2在该过程中确定的内容可以如表1所示,其中,media-id1和media-id2分别为第一共享屏幕内容和第二共享屏幕内容的媒体流标识,[x
1lt
,y
1lt
]和[x
1rb
,y
1rb
]分别为第一共享屏幕内容的显示区域在显示器上的左上角和右下角的坐标,同理,[x
2lt
,y
2lt
]和[x
2rb
,y
2rb
]分别为第二共享屏幕内容的显示区域在显示器上的左上角和右下角的坐标。
[0127]
表1
[0128]
媒体流媒体流标识显示区域信息第一共享屏幕内容media-id1([x
1lt
,y
1lt
],[x
1rb
,y
1rb
])第二共享屏幕内容media-id2([x
2lt
,y
2lt
],[x
2rb
,y
2rb
])
[0129] 例如,假设在该实施例中,终端2的显示器的分辨率为1280*720,终端2确定的预设显示模式为横向均匀分布,且假设显示所述第一共享屏幕内容和第二共享屏幕内容的界面为全屏显示状态,则终端2可以确定[x
1lt
,y
1lt
]和[x
1rb
,y
1rb
]的值对应为[0,0]和[639, 719],[x
2lt
,y
2lt
]和[x
2rb
,y
2rb
]的值对应为[640,0]和[1279,719]。其中,假设终端2的显示坐标系是以左上角为原点,水平轴向右,垂直轴向下的坐标系(该实施例中,假设各终端的显示坐标系、以及共享屏幕内容的坐标系都是这种坐标系)。终端2可以根据如表1所示的媒体流标识,以及与媒体流标识对应的显示区域信息,将第一共享屏幕内容和第二共享屏幕内容显示在正确的位置上,例如,在该实施例中,将第一共享屏幕内容和第二共享屏幕内容均匀显示在显示器的左右两个区域。
[0130]
可选地,在会议的过程中,终端2所在会场的与会者可能对预设的显示模式进行调整,例如,对第一共享屏幕内容,或第二共享屏幕内容的显示区域进行调整(比如拖动,缩放等操作),此时,终端2可以根据与会者的操作来调整如表1所示的显示区域信息,从而能够保持始终正确地显示第一共享屏幕内容和第二共享屏幕内容。
[0131]
此外,可以理解的是,当终端2上的显示模式为单画面显示模式时,可以只获取所选择显示的共享屏幕内容。例如,若终端2的显示模式为只显示第二共享屏幕内容,则可以与mcu协商,以使得mcu不向终端2转发第一共享屏幕内容;等到终端2的显示模式切换到需要显示第一共享屏幕内容时,终端2可以再向mcu获取第一共享屏幕内容。当然,在该实施例中,当终端2的显示模式为只显示第一共享屏幕内容时,终端2仍然需要获取并向mcu发送第二共享屏幕内容,因为在该场景下终端2是该会议中第二共享屏幕内容的提供者。
[0132]
可选地,终端2还可以记录第一共享屏幕内容与第一视频内容之间关联关系,其中第一视频内容为第一共享屏幕内容所在的会场的视频内容,即终端1所在会场的视频内容,以便于根据所述关联关系显示所述第一共享屏幕内容和第一视频内容。同理,终端2还可以根据第二共享屏幕内容与第二视频内容之间的关联关系显示第二共享屏幕内容和第二视频内容(第二视频内容为终端2所在会场的视频内容)。例如,在图7e所示的例子中,终端2按照横向均匀分布的方式显示第一共享屏幕内容和第二共享屏幕内容,并且,以画中画形式在第一共享屏幕内容的右下角显示第一视频内容,在第二共享屏幕内容的右下角显示第二视频内容。通过这种方式,可以进一步提升用户的体验。
[0133]
可选地,上述显示模式可以是预设的显示模式,例如,终端2可以根据与会者的指示来确定所述预设显示模式,例如,终端2提供多种显示模式的选择或者配置界面,然后根据本地会场的与会者的选择或配置来确定所述预设显示模式。或者,终端2也可以直接从多种显示模式中选择一个默认显示模式作为所述预设显示模式。
[0134]
此外,终端2还可以根据mcu的指示来确定所述预设显示模式,在这种实现方式下,可以由mcu将包含预设显示模式的消息发送给终端2。具体地,所述包含预设显示模式的消息可以基于对t.120、h.323或sip协议进行扩展实现。
[0135]
例如,如果基于sip协议来实现上述过程,则可以在info消息中增加对预设显示模式的定义。具体地,可以按照xml格式来定义,如下:
[0136][0137][0138]
在该例子中,“《pic_num》”标签表示显示的画面数量;在该实施例中,显示的画面数量为2,所以该标签的值为2。“《pic_mode》”标签表示显示模式,对该标签,可以是预先定义不同的值,以及每个值代表的显示模式。例如,可以预先设置:“1”横向均匀分布的显示模式;“2”表示纵向均匀分布的显示模式;“3”表示单画面的显示模式等;这里,“《pic_mode》”标签的值为1表示按照横向均匀分布的方式进行显示。“《site_id》”标签有多个,该多个“《site_id》”标签按照从上到下,从左到右的顺序,定义每个画面对应的媒体流的标识。
[0139]
此外,需要说明的是,类似s405中所述,s410与s412的执行没有先后顺序。
[0140]
s413,终端1接收包含第二共享屏幕内容的媒体流,显示第一共享屏幕内容和第二共享屏幕内容。
[0141]
终端1接收mcu发送的第二共享屏幕内容,可以按照预设模式显示第一共享屏幕内容和第二共享屏幕内容,还可以根据本地会场用户对显示内容相关的操作来调整上述两路共享屏幕内容的显示。该过程类似s412中终端2按照预设模式显示第一共享屏幕内容和第二共享屏幕内容的过程,不再赘述。
[0142]
但需说明的是,终端1和终端2确定的显示模式可以是不一致的。例如,终端1所在会场的与会者设置的预设显示模式为纵向均匀显示,而终端2所在会场的与会者设置的预设显示模式为横向均匀显示。在这种情况下,各终端可以按照自己的显示模式各自正确地记录两路共享屏幕内容的媒体流标识,以及每路共享屏幕内容的显示区域信息,就能各自正确地显示第一共享屏幕内容和第二共享屏幕内容。
[0143]
s414,终端1获取协作操作,确定与第一共享屏幕内容关联的第一协作操作数据,和/或与第二共享屏幕内容关联的第二协作操作数据。
[0144]
随着会议的进程,终端1所在会场的与会者可以执行协作操作。
[0145]
具体地,终端1可以提供多种协作操作的菜单选项,以便于与会者执行各种不同类型的协作操作。例如,终端1提供的菜单可以包括“笔”,“线框”和“插入”等。其中,菜单“笔”又可以包括“铅笔”,“荧光笔”,“激光笔”等子菜单,用于与会者通过多种形式的“笔”在共享屏幕内容上进行写、画等。菜单“线框”又可以包括“线”,“矩形”和“椭圆”等子菜单,用于与会者在共享屏幕上画各种图形(如直线,矩形或椭圆等)。菜单“插入”可以包括“文本”,“图片”,“视频”等,用于与会者在共享屏幕内容上插入各种形式的内容。本技术对终端提供的协作操作的菜单选项的内容和形式不作限定。
[0146]
在与会者执行协作操作时,终端1可以检测到与会者的协作操作,并确定该协作操作对应的协作操作数据。由于在该实施例中,终端1上显示了两路共享屏幕内容,因此,与会者产生的协作操作可能只发生于其中一个共享屏幕内容上,此时,终端1确定的协作操作数据可能只包括与第一共享屏幕内容关联的第一协作操作数据(如图8a所示的例子),或者只包括与第二共享屏幕内容关联的第二协作操作数据(如图8b所示的例子)。此外,与会者产生的协作操作也可能发生于两个共享屏幕内容上,此时,终端1 确定的协作操作数据包括所述第一协作操作数据和所述第二协作操作数据(如图8c和 8d所示的例子)。
[0147]
其中,第一协作操作数据包括该协作操作在第一共享屏幕内容上的坐标信息;例如,与会者执行“铅笔”类型的协作操作时,在第一共享屏幕内容上所画的线、或者点的坐标信息;或者与会者执行“文本”类型的协作操作时,在第一共享屏幕内容上插入的“文本”的坐标信息。同理,第二协作操作数据包括该协作操作在第二共享屏幕内容上的坐标信息。
[0148]
具体地,终端1可以按照如下过程确定上述协作操作对应的协作操作数据。
[0149]
首先,终端1可以确定该协作操作在终端1的显示器上的坐标信息(下称“协作操作的物理坐标信息”),所述协作操作物理坐标信息可以由终端1根据与会者在进行协作操作时产生的鼠标、或者触摸等输入事件的坐标信息得到。可以理解的是,上述协作操作的物理坐标信息指示的是所述协作操作所产生的一个或多个坐标信息。例如,如果该协作操作是水平方向画线段标注,则该协作操作的物理坐标信息可以包括该协作操作所产生的一个或多个线段的物理坐标信息,其中每个线段的物理坐标信息可以采用该线段的起点和终点的物理坐标来表示,或者采用该线段的起点的物理坐标和该线段的长度来表示。
[0150]
然后,终端1可以根据所述协作操作的物理坐标信息,以及第一共享屏幕内容和第二共享屏幕内容在终端1的显示器上的显示区域信息,确定协作操作中包括的发生在第一共享屏幕内容上的第一协作操作的物理坐标信息,和/或发生在第二共享屏幕内容上的第二协作操作的物理坐标信息。例如,假设终端1的显示器的分辨率为1280*720,且第一共享屏幕内容的显示区域的左上角和右下角的坐标分别为[0,0]和[639,719],第二共享屏幕内
容的显示区域的左上角和右下角的坐标分别为[640,0]和[1279,719]。在这种情况下,例如,如果该协作操作是如图8a所示的画线标注,且该标注的线段的起点和终点的坐标分别为[100,680]和[530,680],那么终端1可以确定该标注操作只包括第一协作操作,且该第一协作操作对应的物理坐标信息为起点坐标为[100,680]、终点坐标为[530,680]所表示的线段。又例如,如果该协作操作是如图8d所示的画线标注,且该标注的线段的起点和终点的坐标分别为[160,360]和[1120,360],那么终端1可以确定该标注操作不仅包括第一协作操作,还包括第二协作操作,并且,所述第一协作操作对应的物理坐标信息为起点坐标为[160,360]、终点坐标为[639,360]所表示的线段;第二协作操作对应的物理坐标信息为起点坐标为[640,360]、终点坐标为[1120, 360]所表示的线段。
[0151]
进一步地,终端1可以根据所确定的所述第一协作操作对应的物理坐标信息,和/或发生第二协作操作对应的物理坐标信息,确定所述协作操作对应的协作操作数据。在该过程中,需要将第一协作操作对应的物理坐标信息转换为第一协作操作在第一共享屏幕内容上的坐标信息,和/或将第二协作操作对应的物理坐标信息转换为第二协作操作在第二共享屏幕内容上的坐标信息。该过程可通过共享屏幕内容自身的坐标范围与其物理坐标范围之间的关系(例如,平移,缩放)得到。其中,共享屏幕内容自身的坐标范围可以根据其分辨率得到,而共享屏幕内容的物理坐标范围可根据其显示区域得到。在该实施例中,假设两个共享屏幕内容的分辨率也都为1280*720,也就是说,两个共享屏幕内容的自身的坐标范围都为[0,0](左上角点的坐标)到[1279,719](右下角点的坐标)。而由第一共享屏幕内容的显示区域信息可得其第一共享屏幕内容的物理坐标范围为[0,0]到[639,719]。因此,对第一协作操作上的点,其物理坐标与其在第一共享屏幕内容上的坐标的转换关系为:将其物理坐标中的水平坐标放大两倍、垂直坐标保持不变即可得到其在第一共享屏幕内容上的坐标;即如果假设该点的物理坐标为[x1,y1],其在第一共享屏幕内容上的坐标为[x1’,y1’],则有:x1’=x1*2,y1’=y1。同理,可得到对第二协作操作上的点,其物理坐标与其在第二共享屏幕内容上的坐标的转换关系为:x2’=(x2-640)*2,y2’=y2;其中,[x2,y2]为该点的物理坐标,[x1’, y1’]为该点在第二共享屏幕内容上的坐标。因此,在图8d所示的例子中,终端1确定的协作操作数据包括第一协作操作数据和第二协作操作数据,其中,第一协作操作数据为[320,360](起点)到[1278,360](终点)的线段,第二协作操作数据为[0,360]到[960, 360]的线段。
[0152]
可以理解的是,上述协作操作数据中的第一协作操作数据还可以包括第一协作操作的类型信息,该类型信息可通过与会者选择的协作操作的菜单选项确定,例如,“铅笔”或者“文本”等。
[0153]
此外,上述第一协作操作数据还可以包括该第一协作操作的其他参数信息,例如,与会者在执行“笔”或“线框”操作时所产生的线段或者矩形等形状中的线条的类型 (实线,或虚线等)、长度,粗细,颜色等信息;或者与会者在执行“插入”操作时,插入的内容及其属性信息,例如,当与会者在执行插入“文本”时,插入的文本的内容,以及该文本内容的字体,大小、颜色等属性信息,或者当与会者在执行插入“图片”或“视频”时,该“图片”或“视频”本身的内容。可以理解的是,当其他终端接收到来自终端1的协作操作数据时,能够根据该协作操作数据正确地显示终端1会场所执行的协作操作。
[0154]
同理,上述协作操作数据中的第二协作操作数据也可以包括第二协作操作的类型
信息,和第二协作操作的其他参数信息,不再赘述。
[0155]
另外,需要说明的是,实际实现时,终端1可以按照预设的固定时间间隔检测每个时间间隔内的协作操作,并确定其协作操作数据。所以,在所述时间间隔较小,或者某个协作操作(例如,画线标注)的持续时间较长的情况下,终端1会在该协作操作的持续时间内,确定每个时间间隔内的协作操作数据,在这种实现下,终端1可以在每次确定完所述协作操作数据后立即发送给其他终端时,可以使得其他终端实时看到终端 1会场中执行所述画线标注的过程。
[0156]
s415-s416,终端1向mcu发送包含第一协作操作数据的媒体流和/或包含第二协作操作数据的媒体流;mcu向终端2发送包含第一协作操作数据的媒体流和/或包含第二协作操作数据的媒体流。
[0157]
具体地,终端1可以按照s401中协商的参数对所述第一协作操作数据,和/或第二协作操作数据进行压缩和封装等处理;并将处理后的、包含第一协作操作数据和/或第二协作操作数据的媒体流发送给mcu。
[0158]
需要说明的是,终端1发送包含第一协作操作数据的媒体流需要携带第一协作操作数据的媒体流标识。如前述,在有些实施方式下,如果第一协作操作数据是通过独立的传输通道来传输时,则该媒体流的标识可以是所述传输通道的地址。而在有些实施方式下,终端1可以将s401中与mcu协商的第一协作操作数据的标识封装在所述媒体流中。从而让其他终端能够正确识别第一协作操作数据和第二协作操作数据。
[0159]
同理,终端1发送包含第一协作操作数据的媒体流也需要携带第二协作操作数据的媒体流标识。通过这样,从而让其他终端在接收到媒体流时,能够正确识别第一协作操作数据的媒体流和第二协作操作数据的媒体流。可选地,mcu还可以将接收到的第一协作操作数据和/或第二协作操作数据在本地缓存预定的时间,这样,当有新的终端在会议的过程中接入时,mcu可以直接将本地缓存的协作操作数据发送给所述新的终端,从而使得新的终端也能够实时看到该协作操作。
[0160]
s417,终端1在第一共享屏幕内容上显示第一协作操作,和/或在第二共享屏幕上显示第二协作操作。
[0161]
如果终端1确定的协作操作数据中包含第一协作操作数据,则可以根据第一协作数据在第一共享屏幕内容上显示第一协作操作。
[0162]
具体地,终端1可以根据第一协作操作数据中的坐标信息确定第一协作的显示位置,还可以根据第一协作操作数据中的类型和其他参数信息确定第一协作操作的其他显示参数,例如显示的线条的粗细,颜色,或者插入的内容及其字体大小、颜色等。进一步地,终端1可以根据第一协作操作的显示位置和所述其他显示参数对所述第一协作操作进行渲染,并显示在第一共享屏幕内容上。
[0163]
需要说明的是,终端1在根据第一协作操作数据中的坐标信息确定第一协作操作的显示位置时,需要先将第一协作操作数据中的坐标信息转换为对应的物理坐标(即在显示器上的坐标),该转换过程与上述s414中将第一协作操作的物理坐标转换为其在第一共享屏幕上的坐标的原理类似,不再赘述。可以理解的是,本该实施例中,由于终端1在确定第一协作操作数据的过程中,已经获得了第一协作操作的物理坐标,因此可以直接根据已知的所述物理坐标确定第一协作操作的显示位置,而不用执行上述的将第一协作操作数据中
的坐标信息转换为对应的物理坐标的过程。
[0164]
同理,如果该协作操作还包括第二协作操作,则终端1按照类似的过程在第二共享屏幕内容上显示该第二协作操作。
[0165]
s418,终端2接收包含第一协作操作数据的媒体流和/或包含第二协作操作数据的媒体流,并在第一共享屏幕内容上显示第一协作操作和/或在第二共享屏幕内容上显示第二协作操作。
[0166]
终端2可以根据接收到的媒体流的媒体流标识信息,确定接收到的媒体流数据中是否包含第一协作操作数据和/或第二协作操作数据。其中,终端2可以根据接收到所述媒体流的通道的地址(ip地址和端口号),或者所述媒体流中封装的媒体流标识信息确定所接收到的媒体流的标识。如果上述接收到的媒体流数据中包含所述第一协作操作数据,则根据第一协作操作数据在第一共享屏幕上显示第一协作操作。
[0167]
该过程类似s417中终端1在第一共享屏幕内容上显示第一协作操作的过程,其中,终端2在确定第一协作操作的显示位置时,可以根据与第一协作操作数据关联第一共享屏幕内容的分辨率,和第一共享屏幕内容在终端2上的显示区域得到第一协作操作在终端2的物理坐标,从而确定所述显示位置。其他过程不再赘述。
[0168]
同理,终端2还可以确定接收的协作操作数据中是否包含第二协作操作数据,如果包含,则按照类似的过程在第二共享屏幕内容上显示第二协作操作。
[0169]
可以理解的是,上述s414~s418的协作操作是由终端1的会场产生的,在会议的过程中,终端2会场的与会者也可以执行协作操作,并且,终端1和终端2也可以同时执行各自的协作操作。终端1和终端2执行各自协作操作后,在本地显示自己的协作操作,并按照上述方法确定自己的协作操作对应的一路或多路远程协作操作数据,并将确定的一路或多路远程协作操作数据发送到对方,让对方能同时看到本会场产生的协作操作,从而实现多路远程协作操作。
[0170]
在上述实施例的步骤s407中,是由终端2向主讲人终端1申请发起第二路远程协作的。在实际应用中,主讲人终端1也可以主动邀请终端2发起第二路远程协作。如图6中s601~s602所示,主讲人终端1可以通过mcu向终端2发送邀请第二路远程协作的请求消息。相应地,如图6中s603~s604所示,终端2通过mcu向终端1 发送邀请第二路远程协作的响应消息,该响应消息可以携带所述请求的结果指示信息。例如,如果终端2同意终端1发送的请求,则返回的响应消息中可携带请求成功的指示信息;反之,则携带请求失败的指示信息。
[0171]
在上述实施例中,终端1或终端2可以再发起一路远程协作,但需要说明的是,因为在该实施例中,终端1是主讲人,所以,如果是终端2再发起一路远程协作,仍然可以按照如图5或图6所示的过程让终端2从主讲人处获得再发起一路远程协作的权限;而如果是终端1再发起一路远程协作,则可以不用执行上述获取协作权限的过程。
[0172]
通过上述描述可知,本技术提供的显示会议共享屏幕内容的方法,有助于在会议过程中实现多路远程协作,从而提供更好的内容分享和远程协作体验。
[0173]
此外,在上述实施例中,如果在s418之后,又有终端3接入了该会议,则mcu 和终端3之间可以按照图9所示的方法,可以使得终端3也能实时参与上述两路远程协作内容中,该方法包括但不限于如下步骤:
[0174]
s901,mcu与终端3协商第一路远程协作的媒体流参数和第二路远程协作的媒体流
参数。该过程类似上述s402中mcu与终端2协商第一路媒体流参数的过程,不再赘述。
[0175]
s902,mcu向终端3发送包含第一共享屏幕内容的媒体流以及包含第二共享屏幕内容的媒体流。
[0176]
mcu可以将本地缓存的上述分别包含两路屏幕共享内容的媒体流发送给终端 3。在有些实施方式下,当mcu本地没有缓存上述分别包含两路共享屏幕内容的媒体流时,mcu可以分别向终端1和终端2获取所述两路媒体流后,再向终端3发送所述两路媒体流。
[0177]
s903,终端3接收包含第一共享屏幕内容媒体流和包含第二共享屏幕内容的媒体流,显示第一共享屏幕内容和第二共享屏幕内容。
[0178]
终端3按照预设模式显示第一共享屏幕内容和第二共享屏幕内容的过程可以参考 s412中的描述,不再赘述。
[0179]
s904,mcu向终端3发送包含第一协作操作数据的媒体流,和/或包含第二协作操作数据的媒体流。
[0180]
类似s902中所述,mcu可以将本地缓存的终端1发送的上述一路或多路远程协作操作数据,或者向终端1获取所述一路或多路远程协作操作数据后发送给终端3。
[0181]
s905,终端3接收包含第一协作操作数据媒体流,和/或包含第二协作操作数据的媒体流,在第一共享屏幕内容上显示第一协作操作,和/或在第二共享屏幕内容上显示第二协作操作。
[0182]
该过程类似上述s418中描述的过程,不再赘述。
[0183]
此外,在实际场景下,上述终端3可能不支持多路远程协作,例如,不支持对多路共享屏幕内容的显示处理,以及多路远程协作操作数据的处理。在这种情况下,可以通过如图10所述的方法使得在终端3不支持多路远程协作的情况下,仍然能参与到上述多路远程协作中。该方法包括但不限于如下步骤:
[0184]
s1001,mcu合并第一共享屏幕内容和第二共享屏幕内容得到一路共享屏幕内容。
[0185]
mcu可以在接收到终端1发送的第一共享屏幕内容的媒体流时,或者在接收到终端 2发送的第二共享屏幕内容的媒体流时,将第一共享屏幕内容的媒体流中的画面(下称“第一画面”)与第二共享屏幕内容的媒体流中的画面(下称“第二画面”)合并成一帧画面(下称“第三画面”)。其中,第一画面和第二画面通常分别是第一共享屏幕内容和第二共享屏幕内容的媒体流中的当前画面(即最新的画面)。可以理解的是,所述第三画面为所述合并后的一路共享屏幕内容的媒体流中的一帧图像,mcu在远程协作的过程中,可以多次执行本步骤。
[0186]
具体地,mcu可以按照如下方法处理上述合并过程:可以预先定义第一参数,该第一参数可以包括:第三画面的分辨率,第一画面在第三画面中的显示区域信息以及第二画面在第三画面中的显示区域信息。mcu可以按照上述第一参数将第一画面和二画面进行缩放、拼接等处理后得到的第三画面。
[0187]
可以理解的是,第一参数可以是预定义的,也可以是mcu在执行本步骤之前与终端3协商得到的。
[0188]
可选地,mcu还可以先对第一共享屏幕内容或第二共享屏幕内容的媒体流进行解码等处理后得到上述第一画面、和第二画面,再执行上述合并过程。
[0189]
此外,可选地,mcu在执行本步骤之前,还可以先与终端3进行能力协商,以确认终
端3不支持多路远程协作。
[0190]
s1002,mcu向终端3发送包含合并后的一路共享屏幕内容的媒体流。
[0191]
可选地,mcu可以将上述合并后的一路共享屏幕内容进行压缩等处理后再发送给终端3。
[0192]
s1003,终端3接收包含合并后的一路共享屏幕内容的媒体流,并显示所述合并后的一路共享屏幕内容。
[0193]
终端3可以全屏或者在显示器的某块显示区域中显示所述合并后的一路共享屏幕内容。
[0194]
s1004,mcu对第一协作操作数据,和/或第二协作操作数据进行坐标转换得到转换后的协作操作数据。
[0195]
假设在图4所示的实施例中,终端1所产生的协作操作数据包括第一协作操作数据。
[0196]
而由前述可知,第一协作操作数据中的坐标信息是上述协作操作在第一共享屏幕内容上的坐标(即该协作操作相对于第一画面的坐标系下的坐标),而终端3上是按照上述第三画面的格式显示两路屏幕共享内容的,因此,在本步骤中,mcu可以对第一协作操作数据的坐标信息转换为第三画面的坐标系下的坐标。该过程可以根据上述第一参数(具体地,根据第一参数中第一画面在第三画面中的显示区域信息),对第一协作操作数据的坐标数据进行平移、缩放等处理后得到。具体过程,可以参见s414中将协作操作数据的物理坐标转换为其在共享屏幕内容上的坐标的相关描述,不再赘述。
[0197]
同理,如果终端1所产生的协作操作数据包括第一协作操作数据,则mcu可以按照类似的过程,对第二协作操作数据的坐标信息也转换为第三画面的坐标系下的坐标。
[0198]
s1005,mcu向终端3发送包含所述转换后的协作操作数据的媒体流。
[0199]
s1006,终端3接收包含所述转换后的协作操作数据的媒体流,并根据转换后的协作操作数据在所述合并后的一路共享屏幕内容上显示协作操作。
[0200]
终端3根据合并后的一路共享屏幕内容的分辨率(即第三画面的分辨率),以及该共享屏幕内容在显示器上的显示区域,将从mcu接收到的转换后的协作操作数据中的坐标信息转换为在终端3的显示器上的坐标,从而可以确定所述接收到的协作操作的显示位置。进一步地,终端3还可以根据接收到的协作操作数据中的类型和其他参数信息确定该协作操作的其他显示参数。
[0201]
上述过程请参见上述s417中的描述,不再赘述。
[0202]
s1007,终端3获取本地的协作操作,确定第三协作操作数据。
[0203]
终端3获取本地会场中与会者的协作操作,并确定该协作操作的第三协作操作数据。其中,该第三协作操作数据包括该协作操作在所述合并后的一路共享屏幕内容上的坐标(即在所述第三画面的坐标系下的坐标)。具体地,终端3可以根据该协作操作产生的鼠标、或触摸事件等得到该协作操作在终端3的显示器上的坐标(即该协作操作的物理坐标),然后根据所述第三画面的坐标范围(可通过第三画面的分辨率得到)与第三画面的物理坐标范围(可通过第三画面在终端3的显示器上的显示区域信息得到)之间的转换关系,将所述协作操作的物理坐标转换为其在第三画面坐标下的坐标。
[0204]
类似s414中所述,第三协作操作数据中还可以包括该协作操作的类型,以及其他
参数信息,不再赘述。
[0205]
s1008,终端3向mcu发送包含第三协作操作数据的媒体流。
[0206]
可选地,终端3可以对第三协作操作数据进行压缩、封装等处理后发送给mcu。
[0207]
s1009,mcu将第三协作操作数据转换为第一协作操作数据,和/或第二协作操作数据。
[0208]
mcu首先根据第三协作操作数据中的坐标信息,以及上述第一参数中的第一画面和第二画面在第三画面中的显示区域信息,将该第三协作操作数据拆分为与第一共享屏幕内容关联的第一协作操作数据,和/或与第二共享屏幕内容关联的第二协作操作数据。
[0209]
如果第三协作操作数据中包含第一协作操作数据,则mcu可以将第一协作操作数据中的坐标转换为其在第一共享屏幕内容上的坐标。该过程可通过第一共享屏幕内容的坐标范围(可通过第一共享屏幕内容的分辨率得到)与以及第三画面中的第一画面的坐标范围(可通过上述第一参数中的第一画面在第三画面中的显示区域信息得到) 之间的转换关系得到,具体过程不再赘述。
[0210]
同理,如果第三协作操作数据中包含第二协作操作数据,则mcu可以进一步将第二协作操作数据中的坐标转换为其在第二共享屏幕内容上的坐标。
[0211]
s1010,mcu将包含第一协作操作数据的媒体流,和/或包含第二协作操作数据的媒体流发送给终端1和终端2。
[0212]
通过该步骤,使得终端1和终端2能接受到第一协作操作数据,和/或第二协作操作数据,并在第一共享屏幕内容上显示第一协作操作,和/或在第二共享屏幕上显示第二协作操作,从而让终端1和终端2所在会场的与会者可以看到终端3会场产生的协作操作。
[0213]
可见,通过图10所述的方法,通过mcu对多路共享屏幕内容的合并处理,以及对多路远程协作操作数据的合并或拆分处理,可以使得不支持多路远程协作的终端3也能够参与上述多路远程协作,因而可以提升适用性和与会者的体验。
[0214]
成一路共享屏幕内容,并且将两路远程协作操作数据合并成一路远程协作操作数据后发送给终端3。
[0215]
上述实施例是基于图2所示的系统架构进行描述的。可以理解的是,本技术提供的显示会议共享屏幕内容的方法同样也可以基于图3所示的系统架构进行实施,在这种实现方式下,终端1和终端2之间不需要mcu进行消息和内容的转发。具体地,在终端1发起第一路远程协作时,终端1可以直接与终端2协作第一路远程协作的媒体流参数,然后直接将第一共享屏幕内容发送给终端2;终端2也可以直接向终端1 申请发起第二路远程协作,并在与终端1协商第二路远程协作的媒体流参数后,直接将第二共享屏幕内容发送给终端1。对于协作操作数据,也是类似的,终端1和终端 2直接将确定的协作操作数据发送给对方。具体实施过程可以参见针对图4中方法的介绍,不再赘述。
[0216]
本技术还提供一种终端,该终端可以用于执行图4-图6,以及图9-图10中终端 100所执行的方法。如图11所示为上述本技术所提供的终端100的一种结构示意图。其中,该终端100包括处理器10011、收发器10012、存储器10013、输入设备 10014和输出设备10015。
[0217]
其中,处理器10011可以是控制器,中央处理器(central processing unit, cpu),通用处理器,dsp(digital signal processor,数字信号处理器), asic(application specific integrated circuit,专用集成电路),fpga(field
programmable gate array,现场可编程逻辑门阵列)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本发明实施例公开内容所描述的各种示例性的逻辑方框,模块和电路。处理器10011也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,dsp和微处理器的组合等等。
[0218]
收发器10012可以是通信模块、收发电路,用于与其它设备或通信网络通信。
[0219]
存储器10013可以是只读存储器(read-only memory,rom)或可存储静态信息和指令的其它类型的静态存储设备,随机存储器(random access memory,ram) 或可存储信息和指令的其它类型的动态存储设备,也可以是电可擦可编程只读存储器 (electrically erasable programmable read-only memory,eeprom)、只读光盘 (compact disc read-only memory,cd-rom)或其它光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其它磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够存取的任何其它介质,但不限于此。存储器10013可以独立于处理器10011;也可以通过通信总线和处理器10011相连;还可以和处理器10011集成在一起。存储器 10013用于存储数据,指令或者程序代码。处理器10011调用并执行存储器10013中存储的指令或者程序代码时,能够实现本技术实施例提供的显示会议共享屏幕内容的方法。
[0220]
输入设备10014可以包括图像采集器(如摄像头等),音频采集器(如麦克风等),或是协作操作事件的采集器(如鼠标、键盘、或触控板等)等中的一种或多种。输入设备10014用于采集会场中的图像数据、音频数据,或者与会者的协作操作的相关数据,并将这些数据传递到处理器10011上处理。
[0221]
输出设备10015可以包括显示器,扬声器等。其中,显示器用于显示处理器 10011传递到显存中的数据,例如,多路屏幕共享内容,或者与会者在所述多路共享屏幕内容上的协作操作;扬声器用于将处理输出的声音的电子信号转换为声音,从而能让用户听到。
[0222]
应理解,上述处理器10011、收发器10012和存储器10013之间可以通过总线相连接;处理器10011与输出设备10015之间、处理器10011与以及输入设备10014之间可以通过总线、物理接口(如hdmi),或者网络相连接。
[0223]
需要说明的是,图11所示的结构示意图并不构成对本技术实施例的限定,实际应用中,终端100还可能还包括其它部件。
[0224]
还需要说明的是,本技术提供的终端100可以是分体式终端设备,此时,终端100 可以包括多个物理设备;终端100也可以是一体化终端设备,此时,终端100可以是一个物理设备。
[0225]
此外,本技术实施例可以根据上述方法示例对上述终端100进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。需要说明的是,本技术实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
[0226]
如图12所示,为本技术实施例提供的终端100的逻辑结构示意图,假设该终端100 为终端1,与该终端1参与同一会议的还有终端2。那么,该终端1可以包括获取模块 10001和显示模块10002。
[0227]
其中,获取模块10001,用于获取会议中的第一共享屏幕内容以及第二共享屏幕内容;还用于获取协作操作数据,该协作操作数据包括与第一共享屏幕内容关联的第一协作操作数据。
[0228]
显示模块10002,用于显示上述第一共享屏幕内容和第二共享屏幕内容;还用于根据上述第一协作操作数据在所述第一共享屏幕内容上显示第一协作操作。
[0229]
上述获取模块10001在获取第一共享屏幕内容以及第二共享屏幕内容时,可以为:获取本地会场的第一共享屏幕内容,接收来自终端2的第二共享屏幕内容;此时,该终端1还可以包括发送模块10004,用于发送上述第一共享屏幕内容,以使得上述终端2显示第一共享屏幕内容和第二共享屏幕内容。
[0230]
上述获取模块10001在获取第一共享屏幕内容以及第二共享屏幕内容时,还可以为:获取本地会场的第一共享屏幕内容以及第二共享屏幕内容;此时,该终端1还可以包括发送模块10004,用于发送上述两路共享屏幕内容,以使得终端2显示上述两路共享屏幕内容。
[0231]
上述显示模块10002显示上述两路共享屏幕内容时,可以为:按上下,或左右并排的方式显示两路共享屏幕内容,或者显示所述两路共享屏幕内容中的一个。
[0232]
终端100还可以包括确定模块10003;上述第一协作操作数据包括第一协作操作在第一共享屏幕内容上的坐标信息,获取模块10001获取协作操作数据的过程,可以为:在检测本地会场的协作操作时,指示确定模块10003确定该协作操作在所述终端1上的坐标信息,并根据该坐标信息和上述两路共享屏幕内容的显示区域信息,确定该协作操作包含第一协作操作,并确定第一协作操作在终端1上的坐标信息;并基于上述第一协作操作的在终端1上的坐标信息,第一共享屏幕内容的显示区域以及第一共享屏幕内容的分辨率确定上述第一协作操作在第一共享屏幕内容上的坐标信息。此时,发送模块10004还可以发送第一协作操作数据,从而从其他终端也能在第一共享屏幕上显示第一协作操作。
[0233]
此外,本技术还提供一种mcu,该mcu可以用于执行图4-图6,以及图9-图10 中终端mcu101所执行的方法。如图13所示为上述本技术所提供的mcu101的一种结构示意图。其中,该mcu101包括处理器10111、收发器10112、存储器10113。
[0234]
其中,处理器10111可以是控制器,中央处理器(central processing unit, cpu),通用处理器,dsp(digital signal processor,数字信号处理器), asic(application specific integrated circuit,专用集成电路),fpga(field programmable gate array,现场可编程逻辑门阵列)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本发明实施例公开内容所描述的各种示例性的逻辑方框,模块和电路。处理器10111也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,dsp和微处理器的组合等等。
[0235]
收发器10112可以是通信模块、收发电路,用于与其它设备或通信网络通信。
[0236]
存储器10113可以是只读存储器(read-only memory,rom)或可存储静态信息和指令的其它类型的静态存储设备,随机存储器(random access memory,ram) 或可存储信息和指令的其它类型的动态存储设备,也可以是电可擦可编程只读存储器 (electrically erasable programmable read-only memory,eeprom)、只读光盘 (compact disc read-only memory,cd-rom)或其它光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用
光碟、蓝光光碟等)、磁盘存储介质或者其它磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够存取的任何其它介质,但不限于此。存储器10113可以独立于处理器10111;也可以通过通信总线和处理器10111相连;还可以和处理器10111集成在一起。存储器 10113用于存储数据,指令或者程序代码。处理器10111调用并执行存储器10113中存储的指令或者程序代码时,能够实现本技术实施例提供的显示会议共享屏幕内容的方法。
[0237]
应理解,图13所示的结构示意图并不构成对本技术实施例的限定,实际应用中,mcu101还可能还包括其它部件。
[0238]
此外,本技术实施例可以根据上述方法示例对上述mcu101进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。需要说明的是,本技术实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
[0239]
如图14所示,为本技术实施例提供的mcu101的逻辑结构示意图,该mcu101可以包括接收模块10101,处理模块10102和发送模块10103。
[0240]
其中,接收模块10101用于接收第一共享屏幕内容和第二共享屏幕内容;还用于接收第一协作操作数据;
[0241]
处理模块10102用于根据第一参数将上述第一共享屏幕内容和第二共享屏幕内容合并为第三共享屏幕内容;还用于根据上述第一协作操作数据以及第一参数,确定第二协作操作数据;
[0242]
发送模块10103用于发送上述第三共享屏幕内容和第二协作操作数据。
[0243]
上述第一参数可以包括第三共享屏幕内容的分辨率,第一共享屏幕内容在所述第三共享屏幕内容中的显示区域信息以及第二共享屏幕内容在第三共享屏幕内容中的显示区域信息。可以理解的是,该第一参数可以为预设参数,或者由mcu101与终端协商得到。
[0244]
在一种可能的方式中,上述第一协作操作数据包括第一位置信息,该第一位置信息为第一协作操作在第一共享屏幕内容上的位置信息;第二协作操作数据包括第二位置信息,该第二位置信息为所述第一协作操作在所述第三共享屏幕内容上的位置信息;那么,处理模块10102在根据第一协作操作数据以及第一参数确定第二协作操作数据,包括:根据第一位置信息,所述第一共享屏幕内容在所述第三共享屏幕内容中的显示区域信息以及所述第一共享屏幕内容的分辨率,确定所述第二位置信息。
[0245]
在另一种可能的方式中,上述第一协作操作数据包括第一位置信息,该第一位置信息为第一协作操作在第三共享屏幕内容上的位置信息;上述第二协作操作数据包括第二位置信息,该第二位置信息为第二协作操作在第一共享屏幕内容上的位置信息;其中,第二协作操作为所述第一协作操作的部分或全部;那么,处理模块10102在根据第一协作操作数据以及第一参数,确定第二协作操作数据,包括:根据第一位置信息和第一共享屏幕内容在所述第三共享屏幕内容中的显示区域信息,确定第二协作操作在所述第三共享屏幕内容上的位置信息;然后,根据所述第二协作操作在第三共享屏幕内容上的位置信息、第一共享屏幕内容在第三共享屏幕内容中的显示区域信息以及第一共享屏幕内容的分辨率,确定上述第二位置信息。
[0246]
本技术另一实施例还提供一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当指令在计算机设备上运行时,该计算机设备可以执行如上述方法实施例中终端或者mcu所执行的各个步骤。
[0247]
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件程序实现时,可以全部或部分地以计算机程序产品的形式来实现。该计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行计算机执行指令时,全部或部分地产生按照本技术实施例的流程或功能。计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,计算机指令可以从一个网站站点、计算机、服务器或者数据中心通过有线(例如同轴电缆、光纤、数字用户线(digital subscriber line,dsl))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可以用介质集成的服务器、数据中心等数据存储设备。可用介质可以是磁性介质(例如,软盘、硬盘、磁带),光介质(例如,dvd)、或者半导体介质(例如固态硬盘(solidstate disk,ssd))等。
[0248]
以上所述,仅为本技术的具体实施方式。熟悉本技术领域的技术人员根据本技术提供的具体实施方式,可想到变化或替换,都应涵盖在本技术的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1