一种跨终端的多屏显示方法、客户端及系统与流程

文档序号:16133716发布日期:2018-12-01 00:39阅读:239来源:国知局

本发明涉及数据处理领域,尤其涉及一种跨终端的多屏显示方法、客户端及系统。

背景技术

随着现代化办公模式的普及,为了提高办公的效率,通常会采用拓展显示屏的方式,将程序窗口移到副显示屏中显示。

现有的应用程序窗口跨屏显示只能在与同一台主机连接的显示设备之间进行跨屏显示,导致了现有技术不能利用非本地计算机的显示设备显示本地程序窗口的技术问题。



技术实现要素:

本发明提供了一种跨终端的多屏显示方法、客户端及系统,用于解决现有技术不能利用非本地计算机的显示设备显示本地程序窗口的技术问题。

本发明提供了一种跨终端的多屏显示方法,包括:

s1:根据所有客户端对应的主机的身份信息和显示设备分辨率,建立包含有所有客户端对应的显示区域的边界坐标的全局坐标配置信息;

s2:获取源客户端本地的源程序窗口的本地窗口边界坐标,根据所述本地窗口边界坐标判断所述源程序窗口是否在源客户端显示设备的显示边界内,若否,则执行步骤s3;

s3:根据所述全局坐标配置信息,将所述本地窗口边界坐标换算成全局窗口边界坐标,并根据所述全局窗口边界坐标确定目标客户端并建立通信连接;

s4:截取所述源程序窗口在所述源客户端的显示边界外的窗口图像,并将所述窗口图像发送至所述目标客户端进行显示。

优选地,所述步骤s3具体包括:

s31:根据所述全局坐标配置信息,确定所述源客户端的原点坐标对应的全局源客户端坐标;

s32:通过将所述全局源客户端坐标与所述本地窗口边界坐标进行求和,将所述本地窗口边界坐标换算成全局窗口边界坐标,并确定所述全局窗口边界坐标对应的目标客户端并建立通信连接。

优选地,所述步骤s4具体包括:

s41:根据所述本地窗口边界坐标与所述源客户端对应的显示边界坐标之差,确定所述源程序窗口在所述源客户端的显示边界外的越界窗口区域;

s42:截取所述越界窗口区域内的窗口图像,并将所述窗口图像和经所述越界窗口区域边界坐标换算后的全局越界窗口区域边界坐标发送至所述目标客户端,使得所述目标客户端将所述全局越界窗口区域边界坐标换算成所述目标客户端的本地窗口边界坐标,并根据所述目标客户端的本地窗口边界坐标创建程序映射窗口,其中所述程序映射窗口用于显示接收到的所述窗口图像。

优选地,所述步骤s32具体包括:

s321:通过将所述全局源客户端坐标与所述本地窗口边界坐标进行求和,将所述本地窗口边界坐标换算成全局窗口边界坐标;

s322:通过将所述全局窗口边界坐标与所述全局坐标配置信息进行比较,确定所述全局窗口边界坐标构成的区域内是否含有非源客户端的显示边界坐标,若否,则直接根据所述全局窗口边界坐标确定对应的目标客户端并建立通信连接,若是则执行步骤s323:

s323:根据所述全局窗口边界坐标与所述非源客户端的显示边界坐标的差值,确定所述全局窗口边界坐标构成的区域内的所有所述目标客户端,并使得所述源客户端与所有所述目标客户端建立通信连接。

优选地,所述步骤s4之后还包括:

s5:当所述目标客户端接收到输入设备发送的键鼠指令,且所述目标客户端的光标坐标处于所述窗口图像的边界范围内时,则根据所述目标客户端与所述源客户端的通信关系,反向确定发出所述窗口图像的源客户端,并将所述目标客户端接收到的键鼠指令发送给所述源客户端,使得所述源客户端根据接收到的键鼠指令执行相应的操作。

本发明提供了一种跨终端的多屏显示客户端,包括

全局坐标创建单元,用于根据所有客户端对应的主机的身份信息和显示设备分辨率,建立包含有所有客户端对应的显示区域的边界坐标的全局坐标配置信息;

边界坐标获取单元,用于获取源客户端本地的源程序窗口的本地窗口边界坐标,根据所述本地窗口边界坐标判断所述源程序窗口是否在源客户端显示设备的显示边界内,若是,则触发目标客户端确定单元;

目标客户端确定单元,用于根据所述全局坐标配置信息,将所述本地窗口边界坐标换算成全局窗口边界坐标,并根据所述全局窗口边界坐标确定目标客户端并建立通信连接;

跨端显示单元,用于截取所述源程序窗口在所述源客户端的显示边界外的窗口图像,并将所述窗口图像发送至所述目标客户端进行显示。

优选地,所述目标端确定单元具体包括:

原点坐标转换子单元,用于根据所述全局坐标配置信息,确定所述源客户端的原点坐标对应的全局源客户端坐标;

目标端确定子单元,用于通过将所述全局源客户端坐标与所述本地窗口边界坐标进行求和,将所述本地窗口边界坐标换算成全局窗口边界坐标,并确定所述全局窗口边界坐标对应的目标客户端并建立通信连接。

优选地,所述跨端显示单元具体包括:

越界区域确定子单元,用于根据所述本地窗口边界坐标与所述源客户端对应的本地显示边界坐标之差,确定所述源程序窗口超出所述源客户端的显示边界外的越界窗口区域;

跨端显示子单元,用于截取所述越界窗口区域内的窗口图像,并将所述窗口图像和经所述越界窗口区域边界坐标换算后的全局越界窗口区域边界坐标发送至所述目标客户端,使得所述目标客户端将所述全局越界窗口区域边界坐标换算成目标客户端的本地窗口边界坐标,并根据所述目标客户端的本地窗口边界坐标创建程序映射窗口,其中,所述程序映射窗口用于显示接收到的所述窗口图像。

优选地,所述目标端确定子单元具体包括:

窗口边界坐标转换子模块,用于通过将所述全局源客户端坐标与所述本地窗口边界坐标进行求和,将所述本地窗口边界坐标换算成全局窗口边界坐标;

窗口内部边界点判断子模块,用于通过将所述全局窗口边界坐标与所述全局坐标配置信息进行比较,确定所述全局窗口边界坐标构成的区域内是否含有非源客户端的显示边界坐标,若否,则直接根据所述全局窗口边界坐标确定对应的目标客户端并建立通信连接,若是则触发多目标端确定子模块:

多目标端确定子模块:根据所述全局窗口边界坐标与所述非源客户端的显示边界坐标的差值,确定所述全局窗口边界坐标构成的区域内的所有所述目标客户端,并使得所述源客户端与所有所述目标客户端建立通信连接。

优选地,还包括:

操作指令转发单元,用于当所述目标客户端接收到输入设备发送的键鼠指令,且所述目标客户端的光标坐标处于所述窗口图像的边界范围内时,则根据所述目标客户端与所述源客户端的通信关系,反向确定发出所述窗口图像的源客户端,并将所述目标客户端接收到的键鼠指令发送给所述源客户端,使得所述源客户端根据接收到的键鼠指令执行相应的操作。

本发明提供了一种跨终端的多屏显示系统,包括:服务端和至少两个上述发明内容提及的客户端;

所述服务端用于存储全局坐标配置信息;

所述服务端与所有所述客户端建立通信连接,其中,一台pc主机对应一个客户端。

从以上技术方案可以看出,本发明具有以下优点:

本发明提供了一种跨终端的多屏显示方法,包括:s1:根据所有客户端对应的主机的身份信息和显示设备分辨率,建立包含有所有客户端对应的显示区域的边界坐标的全局坐标配置信息;s2:获取源客户端本地的源程序窗口的本地窗口边界坐标,根据所述本地窗口边界坐标判断所述源程序窗口是否在源客户端显示设备的显示边界内,若否,则执行步骤s3;s3:根据所述全局坐标配置信息,将所述本地窗口边界坐标换算成全局窗口边界坐标,并根据所述全局窗口边界坐标确定目标客户端并建立通信连接;s4:截取所述源程序窗口超出所述源客户端的显示边界外的窗口图像,并将所述窗口图像发送至所述目标客户端进行显示。

本发明通过建立全局坐标系并在所述全局坐标系中划分出所有主机对应的客户端的显示区域,并通过将源客户端的本地坐标换算成全局坐标,再将截取的窗口图像发送所述全局坐标对应的目标客户端进行显示,解决了现有的应用程序窗口跨屏显示只能在与同一台主机连接的显示设备之间进行跨屏显示,导致的现有技术不能利用非本地计算机的显示设备显示本地程序窗口的技术问题。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图。

图1为本发明提供的一种跨终端的多屏显示方法的一个实施例的流程示意图;

图2为本发明提供的一种跨终端的多屏显示方法的另一个实施例的流程示意图;

图3为本发明提供的一种跨终端的多屏显示客户端的一个实施例的结构示意图;

图4为本发明提供的一种跨终端的多屏显示系统的一个实施例的结构示意图;

图5为本发明提供的一种跨终端的多屏显示方法中的全局坐标系的架构示意图。

具体实施方式

本发明实施例提供了一种跨终端的多屏显示方法、客户端及系统,用于解决现有的多计算机控制方法导致的不能利用相邻的计算机所对应的显示器显示本地的源程序窗口的技术问题。

为使得本发明的发明目的、特征、优点能够更加的明显和易懂,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,下面所描述的实施例仅仅是本发明一部分实施例,而非全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。

请参阅图1,本发明实施例提供了一种跨终端的多屏显示方法,包括:

101:根据所有客户端对应的主机的身份信息和显示设备分辨率,建立包含有所有客户端对应的显示区域的边界坐标的全局坐标配置信息;

需要说明的是,在实现跨终端的窗口显示前,首先获取需要建立跨终端显示的主机的客户端身份信息和显示设备的分辨率参数,建立所有客户端的屏幕坐标与全局坐标的对应关系表,即全局坐标配置信息,其中,全局坐标的架构如图5所示;

请参阅图5,例如:

定义客户端a(对于显示器a)的区域为(0,1080)和(1920,2160)两点构成的矩形区域

定义客户端c(对于显示器c)的区域为(1920,1080)和(3840,2160)两点构成的矩形区域

定义客户端b(对于显示器b)的区域为(1920,0)和(3840,1080)两点构成的矩形区域

定义客户端d(对于显示器d)的区域为(3840,1080)和(5760,2160)两点构成的矩形区域,且图5所示的客户端位置关系仅为示例性,具体设置方式可根据用户实际需求设置,在此不做具体限定;

本实施例提及的坐标系均为设备坐标系。

102:获取源客户端本地的源程序窗口的本地窗口边界坐标;

需要说明的是,在本实施例中,边界坐标一般设为程序窗口的左上角顶点的坐标和右下角顶点的坐标;

103:根据本地窗口边界坐标判断源程序窗口是否在源客户端显示设备的显示边界内,若否,则执行步骤104;

需要说明的是,在本实施例中,根据本地窗口边界坐标与源客户端对应的显示设备的显示边界坐标的差值,判断源程序窗口的边界坐标是否都位于源客户端的对应的显示区域内,若否,则判定源程序窗口超出了源客户端对应的显示设备的显示边界。

104:根据全局坐标配置信息,将本地窗口边界坐标换算成全局窗口边界坐标,并根据全局窗口边界坐标确定目标客户端并建立通信连接;

需要说明的是,根据全局窗口边界坐标和全局坐标配置信息中所有客户端的显示边界坐标的对应关系,确定超出源客户端的显示设备显示边界的跨屏窗口区域位于哪个客户端的显示边界坐标区域内。

105:截取源程序窗口超出源客户端的显示边界外的窗口图像,并将窗口图像发送至目标客户端进行显示。

本发明实施例通过建立全局坐标系并在全局坐标系中划分出所有主机对应的客户端的显示区域,并通过将源客户端的本地坐标换算成全局坐标,再将截取的窗口图像发送全局坐标对应的目标客户端进行显示,解决了现有的应用程序窗口跨屏显示只能在与同一台主机连接的显示设备之间进行跨屏显示,导致的现有技术不能利用非本地计算机的显示设备显示本地程序窗口的技术问题。

以上为本发明提供的一种跨终端的多屏显示方法的一个实施例的详细说明,下面为本发明提供的一种跨终端的多屏显示方法的另一个实施例的详细说明。

请参阅图2,本发明实施例提供了一种跨终端的多屏显示方法,包括:

201:根据所有客户端对应的主机的身份信息和显示设备分辨率,建立包含有所有客户端对应的显示区域的边界坐标的全局坐标配置信息;

需要说明的是,在实现跨终端的窗口显示前,首先获取需要建立跨终端显示的主机的客户端身份信息和显示设备的分辨率参数,建立所有客户端的屏幕坐标与全局坐标的对应关系表,即全局坐标配置信息,其中,全局坐标的架构如图5所示;

请参阅图5,例如:

定义客户端a(对于显示器a)的区域为(0,1080)和(1920,2160)两点构成的矩形区域;

定义客户端c(对于显示器c)的区域为(1920,1080)和(3840,2160)两点构成的矩形区域;

定义客户端b(对于显示器b)的区域为(1920,0)和(3840,1080)两点构成的矩形区域;

定义客户端d(对于显示器d)的区域为(3840,1080)和(5760,2160)两点构成的矩形区域,且图5所示的客户端位置关系仅为示例性,具体设置方式可根据用户实际需求设置,在此不做具体限定;

本实施例提及的坐标系均为设备坐标系。

202:获取源客户端本地的源程序窗口的本地窗口边界坐标;

需要说明的是,在本实施例中,边界坐标一般设为程序窗口的左上角顶点的坐标和右下角顶点的坐标;

203:根据本地窗口边界坐标判断源程序窗口是否在源客户端显示设备的显示边界内,若否,则执行步骤204;

需要说明的是,在本实施例中,根据本地窗口边界坐标与源客户端对应的显示设备的显示边界坐标的差值,判断源程序窗口的边界坐标是否都位于源客户端的对应的显示区域内,若否,则判定源程序窗口超出了源客户端对应的显示设备的显示边界。

204:根据全局坐标配置信息,确定源客户端的原点坐标对应的全局源客户端坐标;

205:通过将全局源客户端坐标与本地窗口边界坐标进行求和,将本地窗口边界坐标换算成全局窗口边界坐标;

需要说明的是,假设源客户端的屏幕原点坐标,即源客户端屏幕左上角的原点坐标(0,0)对应的全局边界坐标为(x0,y0),获取到源程序窗口的窗口顶点坐标为(x1,y1),则源程序窗口的全局窗口边界坐标为(x0+x1,y0+y1)。

206:通过将全局窗口边界坐标与全局坐标配置信息进行比较,若全局窗口边界坐标构成的区域内含有非源客户端的显示边界坐标,若否,则执行步骤208,若是,则执行步骤207;

207:根据全局窗口边界坐标与非源客户端的显示边界坐标的差值,确定全局窗口边界坐标构成的区域内的所有目标客户端,并使得源客户端与所有目标客户端建立通信连接;

需要说明的是,当源程序窗口的全局窗口边界坐标限定的区域内包括有非源客户端对应的全局显示边界坐标时,说明该源程序窗口的窗口范围跨越了至少两个目标客户端,此时则提取出该源程序窗口中的显示边界坐标和全局窗口边界坐标限定的区域内的全局显示边界坐标中的x,y值,并进行重新组合,根据重组得到的全局窗口边界坐标将窗口图像划分成对应目标客户端数量的小区域窗口图像,根据每个小区域窗口图像的顶点坐标,确定与小区域窗口图像一一对应的目标客户端,并使得源客户端与多个目标客户端建立通信连接。

208:直接根据全局窗口边界坐标确定对应的目标客户端并建立通信连接。

209:根据本地窗口边界坐标与源客户端对应的显示边界坐标之差,确定源程序窗口超出源客户端的显示边界外的越界窗口区域;

210:截取越界窗口区域内的窗口图像,并将窗口图像和经越界窗口区域边界坐标换算后的全局越界窗口区域边界坐标发送至目标客户端,使得目标客户端将全局越界窗口区域边界坐标换算成目标客户端的本地窗口边界坐标,并根据目标客户端的本地窗口边界坐标创建程序映射窗口;

其中,程序映射窗口用于显示接收到的窗口图像。

211:当目标客户端接收到输入设备发送的键鼠指令,且目标客户端的光标坐标处于窗口图像的边界范围内时,则根据目标客户端与源客户端的通信关系,反向确定发出窗口图像的源客户端,并将目标客户端接收到的键鼠指令发送给源客户端,使得源客户端执行相应的操作。

需要说明的是,目标客户端监控本地的所有程序映射窗口的状态,若程序映射窗口为激活状态时,其接收到的键鼠事件和光标坐标信息全部转发给对应的源客户端来处理,源客户端收到后激活其移动出边界的窗口,并将键鼠事件发送到对应窗口进行处理,可执行的操作包括:键盘输入,鼠标点击、窗口拉伸、平移等,同时源程序窗口在处理相关操作指令时,源客户端仍会实时截取本地显示边界外的窗口图像并发送给目标客户端显示。

本发明实施例通过建立全局坐标系并在全局坐标系中划分出所有主机对应的客户端的显示区域,并通过将源客户端的本地坐标换算成全局坐标,再将截取的窗口图像发送全局坐标对应的目标客户端进行显示,解决了现有的应用程序窗口跨屏显示只能在与同一台主机连接的显示设备之间进行跨屏显示,导致的现有技术不能利用非本地计算机的显示设备显示本地程序窗口的技术问题。

以上为本发明提供的一种跨终端的多屏显示方法的一个实施例的详细说明,下面为本发明提供的一种跨终端的多屏显示客户端的一个实施例的详细说明。

请参阅图3,本发明实施例提供了一种跨终端的多屏显示客户端,包括

全局坐标创建单元301,用于根据所有客户端对应的主机的身份信息和显示设备分辨率,建立包含有所有客户端对应的显示区域的边界坐标的全局坐标配置信息;

边界坐标获取单元302,用于获取源客户端本地的源程序窗口的本地窗口边界坐标,根据本地窗口边界坐标判断源程序窗口是否超出源客户端显示设备的显示边界,若否,则执行目标客户端确定单元303;

目标客户端确定单元303,用于根据全局坐标配置信息,将本地窗口边界坐标换算成全局窗口边界坐标,并根据全局窗口边界坐标确定目标客户端并建立通信连接;

跨端显示单元304,用于截取源程序窗口超出源客户端的显示边界外的窗口图像,并将窗口图像发送至目标客户端进行显示。

优选地,目标端确定单元303具体包括:

原点坐标转换子单元3031,用于根据全局坐标配置信息,确定源客户端的原点坐标对应的全局源客户端坐标;

目标端确定子单元3032,用于通过将全局源客户端坐标与本地窗口边界坐标进行求和,将本地窗口边界坐标换算成全局窗口边界坐标,并确定全局窗口边界坐标对应的目标客户端并建立通信连接。

优选地,跨端显示单元304具体包括:

越界区域确定子单元3041,用于根据本地窗口边界坐标与源客户端对应的本地显示边界坐标之差,确定源程序窗口超出源客户端的显示边界外的越界窗口区域;

跨端显示子单元3042,用于截取越界窗口区域内的窗口图像,并将窗口图像和经越界窗口区域边界坐标换算后的全局越界窗口区域边界坐标发送至目标客户端,使得目标客户端将全局越界窗口区域边界坐标换算成目标客户端的本地窗口边界坐标,并根据目标客户端的本地窗口边界坐标创建程序映射窗口,其中程序映射窗口用于显示接收到的窗口图像。

优选地,目标端确定子单元3032具体包括:

窗口边界坐标转换子模块30321,用于通过将全局源客户端坐标与本地窗口边界坐标进行求和,将本地窗口边界坐标换算成全局窗口边界坐标;

窗口内部边界点判断子模块30322,用于通过将全局窗口边界坐标与全局坐标配置信息进行比较,若全局窗口边界坐标构成的区域内含有非源客户端的显示边界坐标,若否,则直接根据全局窗口边界坐标确定对应的目标客户端并建立通信连接,若是则执行多目标端确定子模块30323:

多目标端确定子模块30323,用于根据全局窗口边界坐标与非源客户端的显示边界坐标的差值,确定全局窗口边界坐标构成的区域内的所有目标客户端,并使得源客户端与所有目标客户端建立通信连接。

优选地,还包括:

操作指令转发单元305,用于当目标客户端接收到输入设备发送的键鼠指令,且目标客户端的光标坐标处于窗口图像的边界范围内时,则根据目标客户端与源客户端的通信关系,反向确定发出窗口图像的源客户端,并将目标客户端接收到的键鼠指令发送给源客户端,使得源客户端执行相应的操作。

以上为本发明提供的一种跨终端的多屏显示客户端的一个实施例的详细说明,下面为本发明提供的一种跨终端的多屏显示系统的一个实施例的详细说明。

本发明提供了一种跨终端的多屏显示系统,包括:服务端401和至少两个上述实施例提及的客户端402;

服务端401用于存储全局坐标配置信息;

服务端401与所有客户端402通信连接,其中,一台pc主机对应一个客户端402。

需要说明的是,每一台计算机会将其显示输出通过hdmi、dvi等有线方式或者miracast等无线显示的方式传输到显示设备上进行显示,计算机与客户端软件一一对应,计算机与显示设备一一对应。而在操作台上会有多台显示设备,其摆放位置存在区域位置上的相对关系显示器区域位置与客户端软件一一对应;

且服务端401即可单独设置于一台终端中,也可安装于设置有客户端软件的主机中,在此不做具体限定。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明所有实施例中的各功能单元可以集成在一个处理单元中,也可以是所有单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明所有实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1