CN103959246A - 窗口图像的传输方法、显示方法、终端、服务器及系统 - Google Patents

窗口图像的传输方法、显示方法、终端、服务器及系统 Download PDF

Info

Publication number
CN103959246A
CN103959246A CN201280001095.8A CN201280001095A CN103959246A CN 103959246 A CN103959246 A CN 103959246A CN 201280001095 A CN201280001095 A CN 201280001095A CN 103959246 A CN103959246 A CN 103959246A
Authority
CN
China
Prior art keywords
window
coordinate
masked areas
angle point
width
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
CN201280001095.8A
Other languages
English (en)
Other versions
CN103959246B (zh
Inventor
秦晋
狄龙
谢军安
张楚雄
张毅
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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Publication of CN103959246A publication Critical patent/CN103959246A/zh
Application granted granted Critical
Publication of CN103959246B publication Critical patent/CN103959246B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45595Network integration; Enabling network access in virtual machine instances

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • User Interface Of Digital Computer (AREA)
  • Controls And Circuits For Display Device (AREA)

Abstract

一种窗口图像的传输方法,包括:虚拟机在运行应用的过程中,接收终端发送该应用对应的窗口的窗口信息(11);根据所述窗口信息,确定所述窗口的显示区域信息(12);根据所述窗口的显示区域信息,将与窗口的显示区域信息对应的图像数据发送给所述终端,以使所述终端进行显示(13)。也公开了一种显示方法、终端、服务器及系统。本方案根据应用在终端显示的窗口的显示区域信息,发送与窗口的显示区域信息对应的图像数据,当窗口显示区域小于整个窗口区域时,不需要发送整个窗口区域对应的图像数据,从而达到降低网络负载的效果。

Description

窗口图像的传输方法、 显示方法、 终端、 服务器及系统 技术领域
本发明实施例涉及通信技术领域, 尤其涉及一种窗口图像的传输方法、 显示方法、 终端、 服务 器及系统。 发明背景
目前, 在线应用系统中, 终端与服务器一般交互过程为: 终端将用户操作产生的应用运行的请 求上传到服务器, 服务器收到应用运行的请求后进行计算和处理, 获得应用运行的窗口图像、 声音 等数据并发送到终端, 以便终端对窗口图像进行解码及显示。
为了有效的实现资源利用率, 一台服务器同时运行多个虚拟机, 每个虚拟机运行不同的应用。 终端向服务器发出应川运行的请求后, 服务器选择一个特定虚拟机运行终端请求的应用, 然后虚拟 机将应用运行的窗口图像实时发送给终端。 对终端用户来说, 同一终端的桌面上显示了多个应用的 数据。 然而每个应用都对应于一台虚拟机, 也就是说终端会与多个虚拟机建立连接, 以获取不同虚 拟机上运行的应 W的图像、 声音等数据。 因此, 终端就需要接收每个虚拟机的发送来的数据, 并解 码显示在终端的桌面上.
对于用户来说, 虽然终端显示多个应用的数据, 但用户有可能只关注于桌面最前端的一个或几 个应用显示示的窗口图像。 此时, 如果虚拟机还将多个应用运行的窗口图像发送给终端, 会占用大 量网络带宽。 而且, 终端需要对多个应用运行的窗口图像解码, 增加了终端的处理负担。 发明内容
本发明实施例的目的是提供一种窗口图像的传输方法、 显示方法、 终端、 服务器及系统, 对多 窗口存在遮挡的情况进行窗口显示。
本发明第一方面提供了一种窗口图像的传输方法, 包括, 虚拟机在运行应用的过程中, 接收终 端发送该应用对应的窗口的窗口信息, 根据所述窗口信息确定所述窗口的显示区域; 根据所述窗口 的显示区域, 将 窗口的显示区域信息对应的图像数据发送给所述终端, 以使所述终端进行显示。
本发明第二方面提供了一种服务器, 包括, 接收单元, 用于虚拟机在运行应用的过程中, 接收 终端发送该应用对应的窗口的窗口信息;
确定单元, 川于根据所述窗口信息, 确定所述窗口的显示区域信息;
传输单元, W于根据所述窗口的显示区域信息, 将与窗口的显示区域信息对应的图像数据发送 给所述终端, 以使所述终端进行显示。
本发明第三方面提供了一种窗口的显示方法, 包括, 虚拟机在运行应用的过程中, 发送该应用 对应的窗口的窗口信息给服务器, 以使所述服务器上的虚拟机根据所述窗口信息, 确定所述窗口的 显示区域信息; 接收所述服务器发送的与窗口的显示区域信息对应的图像数据并进行显示。 本发明第四方面提供了一种终端, 包括, 发送单元, 用于虚拟机在运行应用的过程中, 发送该 应用对应的的窗口的窗口信息给服务器, 以使所述服务器上的虚拟机根据所述窗口信息, 确定所述 窗口的显示区域信息;
接收单元, 于接收所述服务器发送的与窗口的显示区域信息对应的图像数据并进行显示。 本发明第三方面提供了一种窗口的显示系统, 包括上述的服务器以及上述的终端。
作为第一方面的第一可能的实现方式中,
本发明实施例窗口图像的传输方法、 显示方法、 终端、 服务器及系统, 根据应用在终端显示的 窗口的显示区域信息, 发送与窗口的显示区域信息对应的图像数据, 当窗口显示区域小于整个窗口 区域时, 不需要发送整个窗口区域对应的图像数据, 从而达到降低网络负载, 提高终端运行效率。 附图简要说明
图 1为本发明实施例窗口图像的传输方法的流程示意图。
图 2为本发明实施例窗口图像的传输方法中窗口示意图一。
图 3为本发明实施例窗口图像的传输方法统中窗口示意图二。
图 4为本发明实施例窗口图像的传输方法中窗口示意图三。
图 5为本发明实施例窗口图像的传输方法中窗口意图四。
图 6为本发明实施例服务器的构成示意图一。
图 7为本发明实施例服务器的构成示意图二。
图 8为本发明实施例窗口的显示方法的流程示意图一。
图 9为本发明实施例窗口的显示方法的流程示意图一。
图 10为本发明实施例终端的构成示意图一。
图 11为本发明实施例终端的构成示意图二。
图 12为本发明实施例窗口的显示系统的构成示意图。 实施本发明的方式
如图 1所示, 本发明实施例提供一种窗口图像的传输方法, 包括:
步骤 11、 虚拟机在运行应用的过程中, 接收终端发送该应用对应的窗口的窗口信息。
步骤 12、 根据所述窗口信息, 确定所述窗口的显示区域信息;
步骤 13、 根据所述窗口的显示区域信息, 将与窗口的显示区域信息对应的图像数据发送给所述 终端, 以使所述终端进行显示。
本发明实施例窗口图像的传输方法的执行主体可以是服务器端的虚拟机。 在执行步骤 11之前, 终端向服务器发出携带应用标识的应用运行的请求, 服务器根据用应标识选择虚拟机运行终端请求 的应用, 并由虚拟机和终端建立传输应用运行数据和接收终端发送信息的连接。 因此, 终端通过该 连接将该应用在终端显示窗口的窗口信息或用户针对应用的操作发送给运行该应用的虚拟机。 窗口 是虚拟机运行的应用在终端显示的窗口。 本发明实施例提供的窗口图像的传输方法, 根据应用在终端显示的窗口的显示区域信息, 发送 与窗口的显示区域信息对应的图像数据, 当窗口显示区域小于整个窗口区域时, 不需要发送整个窗 口区域对应的图像数据, 从而达到降低网络负载的效果。
其中, 具体而言, 上述步骤 11中, 终端发送的窗口信息包括: 窗口显示状态, 窗口的遮盖区域 任一角点的坐标, 以及遮盖区域的宽度和高度。 其中, 坐标包括 X坐标和 Y坐标, 坐标可采用屏幕 坐标系的坐标或者窗口坐标系的坐标,屏幕坐标系是指以显示器屏幕的左上角点为坐标原点(0, 0) , 横向为 X轴, 纵向为 Y轴, 窗口坐标系是指以窗口的左上角点为坐标原点 (0, 0)), 横向为 X轴, 纵 向为 Y轴; 窗口的遮盖区域可以为一个或者多个。 可选的, 窗口信息还可以包括: 遮盖窗口数量。
定义终端发送窗口信息的消息类型为 Updata— Window— infrom,消息格式可以如下表 1所示, 从而虚拟机解析该消息获取终端发送的窗口信息 - 表 1
表 1中, 窗口显示状态为全显示或者全遮盖时, 遮盖窗口数量、 X坐标、 Y坐标、 宽度及高度 的参数为空。 值得说明的是, 本申请中宽度指区域在 X轴的长度, 高度为区域在 Y轴的长度。 另, 在表 1中, X坐标和 Y坐标可以为第一个遮盖区域的任一角点的坐标,表一取值为左上角点的坐标, 也可以取其它角点的坐标。 本发明实施例在此不做限定。 其它表中的相应参数参照此段说明。
表 1中, 遮盖区域角点可以为遮盖区域左上角点、 右上角点、 左下角点或者右下角点。 较佳的, 基于采用的坐标系, 如屏幕坐标系 (以显示器屏幕的左上角点为坐标原点 (0,0 ) ) 或者窗口坐标系 (以窗口的左上角点为坐标原点 (0,0)), 则优选左上角点。
或者, 上述步骤 11中, 终端发送的窗口信息包括: 窗口显示状态, 窗口任一角点的坐标, 窗口 的宽度和高度, z轴序大于该窗口且遮盖该窗口的窗口的任一角点的坐标, 以及 Z轴序大于该窗口 且遮盖该窗口的窗口宽度和高度。 其中, 坐标包括 X坐标和 Y坐标, 坐标可采用屏幕坐标系的坐标 或者窗口坐标系的坐标; z 轴序大于该窗口且遮盖该窗口的窗口可以为一个或者多个。 可选的, 窗 口信息还可以包括: 遮盖窗口数量。
定义终端发送窗口信息的消息类型为 Updata— Window一 infrom, 消息格式可以如下表 2所示, 从而虚拟机解析该消息获取终端发送的窗口信息:
表 2
表 2中, 窗口显示状态为全显示或者全遮盖时, 遮盖窗口数量、 X坐标、 Y坐标、 宽度及高度为 空。
表 2中, 通过窗口的任一角点的 X坐标、 Y坐标、 窗口的宽度和高度, 以及 z轴序大于该窗口且 遮盖该窗口的窗口的任一角点的 X坐标、 Y坐标、 z轴序大于该窗口且遮盖该窗口的窗口的宽度和高 度, 可以确定如表 1所示的窗口的遮盖区域任一角点的 X坐标、 Y坐标、 遮盖区域的宽度和高度。
表 2中, 角点可以为左上角点、 右上角点、 左下角点或者右下角点。 较佳的, 优选左上角点。 对 Z轴序简单说明, Z轴序: 在使用操作系统时, 会打开多个窗口, 从而产生了一个重叠窗口 的堆。 为了表明这些 叠窗口的位置, 使用 z轴序来对各窗口进行标注, 每个窗口在 z轴序中都有 唯一的一个位置。这个窗口堆是沿着一个虚拟的轴—— "z轴", 从屏幕垂直向外延伸。 z轴序顶部的 窗口覆盖 Z轴序中的其他窗口。 Z轴序底部的窗口被 Z轴序中的其他窗口覆盖。
例如, Windows系统把刚刚创建的窗口放在 Z轴序的顶部, 用户可通过激活另外一个窗口来改 变 Z 轴序; Windows 系统总是把活动的窗口放在 Z 轴序的顶部, 应用程序可用函数
BringWindowToTopO把一个窗口放置到 Z轴序的顶部。
通常, 系统川一个单链表维护 Z轴序。 用户在激活不同的窗口过程中会改变 Z轴序。 例如通过 用 GetNextWindow() 凼数, 可以获得 Z轴序中的前一个或后一个窗口的句柄。
可见, 终端的操作系统可以得到每个窗口的 Z轴序、 窗口坐标信息, 包括左上角顶点坐标及每 个窗口的宽度和高度。
或者, 上述步骤 11中, 终端发送的窗口信息包括: 窗口任一角点的坐标, 窗口的宽度和高度, Z轴序大于该窗口的窗口的任一角点的坐标, 以及 Z轴序大于该窗口的窗口宽度和高度。 其中, 坐 标包括 X坐标和 Y坐标, 坐标可采用屏幕坐标系的坐标或者窗口坐标系的坐标; Z轴序大于该窗口 的窗口可以为一个 者多个。 可选的, 窗口信息还可以包括: 遮盖窗口数量。
定义终端发送窗口信息的消息类型为 Updata— Window— infrom,消息格式可以如下表 3所示, 从而虚拟机解析消息获取终端发送的窗口信息:
表 3
参数 类型 说明 消息类型 string 指示消息类型, 设为窗口显示状态更新消息,
可定义为 Updata_Windwo_infrom_
X坐标 int 窗口任一角点的 X坐标
Y坐标 int 窗口任一角点的 Y坐标 宽度 width int 窗口的宽度 高度 Height int 窗口的高度 遮盖窗口数量 int 标识有多少个窗口的 z轴序大于该窗口
X int 第一个 z轴序大于该窗口的窗口的任一角点的 X坐标
Y int 第一个 z轴序大于该窗口的窗口的任一角点的 Y坐标 width int 第一个 z轴序大于该窗口的窗口的宽度 Height int 第一个 z轴序大于该窗口的窗口的宽度 int 第二个、 第三个… z轴序大于该窗口的窗口的 (X, Y, width, Height) 表 3中, 通过窗口的任一角点的 X坐标、 Y坐标、 窗口的宽度和高度, 以及 z轴序大于该窗口的 窗口的任一角点的 X坐标、 Y坐标、 z轴序大于该窗口的窗口的宽度和高度, 可以确定如表 2所示的 z轴序大于该窗口且遮盖该窗口的窗口的任一角点的 X坐标、 Y坐标、 z轴序大于该窗口且遮盖该窗 口的窗口的宽度和高度, 从而进一步确定如表 1所示的窗口的遮盖区域任一角点的 X坐标、 Y坐标、 遮盖区域的宽度和高度。
表 3中, 角点可以为左上角点、 右上角点、 左下角点或者右下角点。 较佳的, 优选左上角点。 基于终端可以以上述 3种消息格式发送窗口信息, 则终端与虚拟机可以事先协商具体采用哪种 格式发送窗口信息, 便于虚拟机对应解析出窗口信息。
可选的, 上述步骤 11中, 窗口的大小是以像素点为单位的, 如窗口宽为 640, 高为 480, 则指 窗口的宽为 640个像素点, 高为 480个像素点。 当服务器与终端的屏幕分辨率相同的情况下, 对应 应用的两个窗口也可能不同。 这样的不同可以分为三类:
( 1 ) 窗口大小不同: 如服务器的窗口大小为 640*480, 但终端的窗口的大小被用户拖拽变为了 480*320。
( 2 ) 窗口位置不同: 如服务器的窗口左上角坐标为 (50, 50 ), 但终端的窗口的左上角坐标为 (40, 70)。
(3 ) 窗口大小和位置均不同: 上面两种情况的综合。
终端窗口大小和虚拟机的窗口大小可以通过操作系统提供的 API (Application Programming Interface,应用程序编程接口 )获得, 在此不做赘述。
因此终端的坐标和虚拟机的坐需要可以互相转换标: 如虚拟机的窗口大小为 X1*Y1, 终端窗 口大小为 Χ2*Υ2, 终端窗口的左上角的坐标为 (xl, yl ), 虚拟机窗口左上角的坐标为 (x2, y2), 则 对于在终端的一个坐标为(al, bl ),宽为 cl,高为 dl的窗口,其在虚拟机的坐标变为 a2= (al- xl+x2) *X2/X1; b2= (bl-yl+y2) *Y2/Yl; 宽为 c2=cl*X2/Xl; 高为 d2=dl*Y2/Yl o 举例说明, 对于终端窗口 的左上角坐标为 (100, 100), 窗口宽度为 480, 高 320, 虚拟机的窗口左上角坐标为 (50, 60), 窗口 宽度为 800, 高度为 600, 则对于终端侧任意窗口的左上角坐标如 (200, 200)) 及宽度如 (150)和 高度如 (80 ), 即 xl=100, yl=100, XI =480, Yl=320, x2=50, y2=60, Χ2=800, Υ2=600, al=200, bl=200, cl=150, dl=80, 则根据 a2= (al- xl+x2) *X2/X1; b2= (bl-yl+y2) *Y2/Yl; c2=cl*X2/Xl; d2=dl*Y2/Yl, 转换到虚拟机的此窗口坐标为: (250, 300), 宽度为 250, 高度为 150;
本领域普通技术人员可以参考现有技术理解坐标转换, 坐标变换可以在虚拟机端进行, 也可以 在终端进行, 如果在终端进行坐标变换, 则终端向虚拟机发送窗口位置请求消息, 以获得虚拟机的 窗口大小和位置信息。 如果在虚拟机端进行坐标变换, 则可以在消息 (如表 1-表 3格式) 中包含终 端的窗口大小和位置信息, 或者终端发送单独的窗口通知消息携带终端的窗口大小和位置信息给虚 拟机, 以便于虚拟机进行坐标转换, 在此不做赘述。 可选的, 上述步骤 11中, 终端发送的窗口的窗口信息可以以屏幕坐标系(屏幕坐标系是指以显 示器屏幕的左上角点为坐标原点 (0,0) ) 下的坐标表示, 也可以以窗口坐标系 (窗口坐标系是指以 窗口的左上角点为坐标原点 (0, 0 ) ) 下的坐标表示。 较佳的, 如表 1格式的窗口信息可以窗口坐标 系下的坐标表示, 由于虚拟机不需要根据窗口信息计算遮盖区域, 虚拟机可以快捷的根据窗口坐标 系下的坐标直接获得遮盖区域。 而表 2和表 3格式的窗口信息可以以屏幕坐标系下的坐标表示。
可选的, 本发明实施例窗口图像的传输方法, 当终端建立窗口, 或者窗口的 Z轴序发生变化, 或者窗口的任一角点的坐标发生变化, 或者窗口的宽度或者高度发生变化时, 终端需要对窗口的窗 口信息更新给对应的虚拟机, 从而, 对应的虚拟机接收终端发送的更新的窗口的窗口信息。
具体而言, 上述步骤 12、 根据窗口的窗口信息, 确定窗口的显示区域信息, 包括: 方式 1, 窗口信息为表 1格式时:
根据窗口信息中窗口显示状态为全显示时, 确定窗口的显示区域为整个窗口。
或者, 根据窗口信息中窗口显示状态为全遮盖时, 确定窗口的显示区域为 0。
或者, 根据窗口信息中窗口显示状态为部分遮盖时, 根据窗口信息中遮盖区域任一角点的 X坐 标、 Y 坐标、 遮盖 域的宽度和高度, 确定窗口的显示区域为整个窗口除遮盖区域外的区域, 当遮 盖区域为多个时, 确定多个遮盖区域构成的联合遮盖区域, 从而确定窗口的显示区域为整个窗口除 联合遮盖区域外的^域。
例如, 如图 2所示, 终端存在四个应用在终端分别对应窗口 A、 窗口 B、 窗口 C及窗口 D, 如窗 口 A的左上角点(Χ, Υ )坐标为(50, 50),宽为 150,高为 100;窗口 Β的左上角点(X, Υ)坐标为(70, 80), 宽为 60, 高为 120; 窗口 C的左上角点 (Χ,Υ) 坐标为 (100, 110), 宽为 140, 高为 100; 如窗口 D 的左上角点 (Χ, Υ ) 坐标为 (210, 160), 宽为 20,高为 20。
如窗口 C的 Ζ轴序〉窗口 D的 Ζ轴序〉窗口 Β的 Ζ轴序〉窗口 Α的 Ζ轴序。
如图 3所示, 对于窗口 A, 窗口 A的窗口信息中窗口显示状态为部分遮盖, 窗口 A的第一遮盖 域左上角点的 (X,Y ) 坐标为 (70, 80), 第一遮盖区域宽为 60, 高为 70。 窗口 Α的第二遮盖区域 左上角点的 (X,Y) 坐标为 (100, 110), 第二遮盖区域宽为 100, 高为 40。 根据第一遮盖区域和第二 遮盖区域, 确定第一遮盖区域和第二遮盖区域构成的联合遮盖区域, 其中坐标为 (100, 110), 宽为 30, 高为 40区域为重叠区域。
进一步根据联合遮盖区域, 确定窗口 Α的显示区域为整个窗口 A除联合遮盖区域外的区域。 如图 4所示, 对 P窗口 B, 窗口 B的窗口信息中窗口显示状态为部分遮盖, 窗口 B的遮盖区域 左上角点的 (Χ, Υ ) 坐标为 (100, 110), 遮盖区域宽为 30, 高为 40, 从而确定窗口 Β的显示区域为 整个窗口 Β除遮盖区域外的区域。
对于窗口 C,窗口 C的窗口信息中窗口显示状态为全显示,则确定窗口的显示区域为整个窗口 C。 对于窗口 D, 窗口 D的窗口信息中窗口显示状态为全遮盖, 则确定窗口的显示区域为 0。
方式 2, 窗口信息为表 2格式时:
根据窗口信息中窗口显示状态为全显示时, 确定窗口的显示区域为整个窗口。
或者, 根据窗口信息中窗口显示状态为全遮盖时, 确定窗口的显示区域为 0。 或者,根据窗口信息中窗口显示状态为部分遮盖时,根据窗口信息中窗口的任一角点的 X坐标、 Υ坐标、 宽度及高度, 以及 ζ轴序大于该窗口且遮盖该窗口的窗口的任一角点的 X坐标、 Υ坐标、 宽 度及高度, 确定遮盖 域任一角点的 X坐标、 Υ坐标、 遮盖区域的宽度和高度;
以及根据遮盖区域任一角点的 X坐标、 Υ坐标、 遮盖区域的宽度和高度, 确定窗口的显示区域 为整个窗口除遮盖区域外的区域, 当遮盖区域为多个时, 确定多个遮盖区域构成的联合遮盖区域, 从而确定窗口的显示区域为整个窗口除联合遮盖区域外的区域。
例如, 仍如图 2所示, 终端存在四个应用在终端分别对应窗口 Α、 窗口 Β、 窗口 C及窗口 D, 如 窗口 Α的左上角点 (X,Y) 坐标为 (50, 50), 宽为 150,高为 100; 窗口 Β的左上角点 (Χ,Υ) 坐标为 ( 70, 80 ), 宽为 60, 高为 120; 窗口 C的左上角点 (X, Υ) 坐标为 (100, 110), 宽为 140, 高为 100; 如窗口 D的左上角点 (Χ,Υ) 坐标为 (210, 160), 宽为 20,高为 20。
如窗口 C的 Ζ轴序〉窗口 D的 Ζ轴序〉窗口 Β的 Ζ轴序〉窗口 Α的 Ζ轴序。
如图 3所示, 对千窗口 A, 窗口 A的窗口信息中窗口显示状态为部分遮盖, 根据窗口 A的左上 角点的 (Χ, Υ) 坐标为 (50, 50), 宽为 150,高为 100, ζ轴序大于窗口 Α且遮盖窗口 Α的窗口 Β的左 上角点的 (X,Y) 坐标为(70, 80 ), 宽为 60, 高为 120,以及 ζ轴序大于窗口 Α且遮盖窗口 Α的窗口 C 的左上角点的 (X,Y) 坐标为 (100, 110), 宽为 140, 高为 100, 确定窗口 Α的第一遮盖区域左上角 点的 (Χ, Υ) 坐标为 (70, 80), 第一遮盖区域宽为 60, 高为 70。 窗口 Α的第二遮盖区域左上角点的 ( Χ, Υ) 坐标为 (100, 110), 第二遮盖区域宽为 100, 高为 40。
进一步, 根据第一遮盖区域和第二遮盖区域, 确定第一遮盖区域和第一遮盖区域构成的联合遮 盖区域, 其中坐标为 (100, 110 ), 宽为 30, 高为 40区域为重叠区域, 确定窗口 Α的显示区域为整 个窗口 A除联合遮盖 域外的区域。
如图 4所示, 对千窗口 B, 窗口 B的窗口信息中窗口显示状态为部分遮盖, 根据窗口 B的左上 角点 (X,Y)坐标为 (70, 80), 宽为 60, 高为 120, 以及 ζ轴序大于窗口 Β且遮盖窗口 Β的窗口 C的 左上角点的(Χ,Υ )坐标为(100, 110),宽为 140,高为 100,确定窗口 Β的遮盖区域左上角点的(Χ, Υ) 坐标为 (100, 110), 遮盖区域宽为 30, 高为 40, 从而确定窗口 Β的显示区域为整个窗口 Β除遮盖区 域外的区域。
对于窗口 C,窗口 C的窗口信息中窗口显示状态为全显示,则确定窗口的显示区域为整个窗口 C。 对于窗口 D, 窗口 D的窗口信息中窗口显示状态为全遮盖, 则确定窗口的显示区域为 0。
方式 3, 窗口信息为表 3格式时:
根据窗口信息中窗口的任一角点的 X坐标、 Y坐标、 宽度及高度, 以及 z轴序大于该窗口的窗 口的任一角点的 X坐标、 Y坐标、 宽度及高度, 确定 z轴序大于该窗口的窗口是否遮盖该窗口, 如 果 z轴序大于该窗口的窗口没有遮盖该窗口, 则该窗口的窗口显示状态为全显示, 确定该窗口的显 示区域为整个窗口;
如果 z轴序火于该窗口的窗口遮盖该窗口, 则根据窗口信息中窗口的任一角点的 X坐标、 Y坐 标、 宽度及高度, 以及 z轴序大于该窗口且遮盖该窗口的窗口的任一角点的 X坐标、 Y坐标、 宽度 及高度, 确定遮盖区域任一角点的 X坐标、 Y坐标、 遮盖区域的宽度和高度; 根据遮盖区域任一角点的 X坐标、 Y坐标、 遮盖区域的宽度和高度, 确定遮盖区域是否完全遮 盖该窗口, 当遮盖区域为多个时, 确定多个遮盖区域构成的联合遮盖区域是否完全遮盖该窗口; 如果遮盖区域或者联合遮盖区域完全遮盖该窗口, 则该窗口的窗口显示状态为全遮盖, 从而确 定该窗口的显示 域为 0, 如果遮盖区域或者联合遮盖区域没有完全遮盖该窗口, 则该窗口的窗口 显示状态为部分遮盖, 确定该窗口的显示区域为整个该窗口除遮盖区域外的区域, 或者确定该窗口 的显示区域为整个该窗口除联合遮盖区域外的区域。
例如, 如图 2所示, 终端存在四个应用在终端分别对应窗口 A、 窗口 B、 窗口 C及窗口 D, 如窗 口 A的左上角点(X,Y )坐标为(50, 50),宽为 150,高为 100;窗口 Β的左上角点(X, Υ)坐标为(70, 80), 宽为 60, 高为 120; 窗口 C的左上角点 (Χ, Υ ) 坐标为 (100, 110), 宽为 140, 高为 100; 如窗口 D 的左上角点 (Χ,Υ ) 坐标为 (210, 160), 宽为 20,高为 20。
如窗口 C的 Ζ轴序〉窗口 D的 Ζ轴序〉窗口 Β的 Ζ轴序〉窗口 Α的 Ζ轴序。
如图 3所示,对于窗口 A,根据窗口 A的窗口信息中窗口 A的左上角点的(X,Y)坐标为(50, 50 ), 宽为 150,高为 100, 以及 ζ轴序大于窗口 Α的窗口 Β的左上角点的(Χ,Υ)坐标为(70, 80), 宽为 60, 高为 120,确定窗口 Β的左上角点坐标位于窗口 Α的窗口区域内。 进一步的, 根据窗口 A的左上角点 ( Χ, Υ) 坐标为 (50, 50), 宽度 150,高度 100度计算窗口 Α的右上角点坐标 (X,Y) 为 (200, 50), 以及计算左下角点坐标(50, 150), 确定窗口 Β的左上角点的 X轴坐标 70大于窗口 Α的左上角点的 X轴坐标 50, 小于窗口 A的右上角点的 X轴坐标 200, 以及确定窗口 B的左上角点的 Y轴坐标 80小 于窗口 A的左下角点的 Y轴坐标 150, 大于窗口 A的左上角点的 Y轴坐标 50, 从而确定窗口 B的左 上角点位于窗口 A的窗口区域内。 进一步的确定窗口 B的 z轴序大于窗口 A且遮盖窗口 A。
根据窗口 A的窗口信息中窗口 A的左上角点的(X,Y)坐标为 (50, 50), 宽为 150,高为 100, 以 及 ζ轴序大于窗口 Α的窗口 C的左上角点的 (Χ, Υ)坐标为 (100, 110), 宽为 140, 高为 100,确定窗 口 C的左上角点坐标位于窗口 Α的窗口区域内。 进一步的, 根据窗口 A的左上角点 (X,Y) 坐标为 ( 50, 50 ), 宽度 150,高度 100度计算窗口 Α的右上角点坐标 (X,Y) 为 (200, 50 ), 以及计算左下 角点坐标(50, 150 ) , 确定窗口 C的左上角点的 X轴坐标 100大于窗口 Α的左上角点的 X轴坐标 50, 小于窗口 A的右上角点的 X轴坐标 200, 以及确定窗口 C的左上角点的 Y轴坐标 110小于窗口 A的 左下角点的 Y轴坐标 150, 大于窗口 A的左上角点的 Y轴坐标 50, 从而确定窗口 C的左上角点位于 窗口 A的窗口区域内。 进一步的确定窗口 C的 z轴序大于窗口 A且遮盖窗口 A。
根据窗口 A的窗口信息中窗口 A的左上角点的(X,Y)坐标为 (50, 50), 以及窗口!)的左上角点 ( Χ, Υ)坐标为(210, 160), 宽为 20,高为 20, 计算窗口 Α的右上角点坐标(Χ, Υ)为(200, 50 ) , 以 及计算左下角点坐标 (50, 150 ), 确定窗口 D的左上角点的 X轴坐标 210大于窗口 Α的右上角点的 X轴坐标 200, 窗口 D的左上角点的 Y轴坐标 160大于窗口 A的右上角点的 Y轴坐标 150, 从而确定 窗口 D的左上角点位于窗口 A的窗口区域之外。 进一步的确定窗口 D没有遮盖窗口 A。
此外, 假设确定窗口 B的左上角点的 X轴坐标大于窗口 A的右上角点的 X轴坐标, 或者窗口 B 的左上角点的 Y轴坐标大于窗口 A的左下角点的 Y轴坐标, 即窗口 B的左上角点没有位于窗口 A的 窗口区域内, 则确定窗口 A没有被窗口 B所遮盖; 假设确定窗口 C的左上角点的 X轴坐标大于窗口 A的右上角点的 X轴坐标, 或者窗口 C的左上角点的 Y轴坐标大于窗口 A的左下角点的 Y轴坐标, 即窗口 C的左上角点没有位于窗口 A的窗口区域内, 则确定窗口 A没有被窗口 C所遮盖; 因此确定 窗口 A没有被窗口 B、 窗口(;、 窗口 D所遮盖, 窗口 A的窗口显示状态为全显示, 确定窗口 A的显示 区域为整个窗口。
进一步根据窗口 B的宽度 60和高度 120, 以及窗口 A的左上角点的坐标以及窗口 A的宽度和高 度获取窗口 A被窗口 B的遮盖的遮盖区域(即第一遮盖区域)。 具体的, 根据窗口 A的左上角点的坐 标以及窗口 A的宽度和高度获取窗口 A的右上角点坐标(X, Y)为(200, 50 )以及左下角点坐标(50 , 150 ) ,以及根据窗口 B的左上角点的坐标以及窗口 B的宽度和高度计算窗口 B的右上角点坐标(X, Y) 为 (130 , 80 ) 以及左下角点坐标(70, 200 ) ,确定窗口 B的右上角点位于窗口 A的区域内, 以及窗 口 B的左下角点位于窗口 A的区域之外, 则确定第一遮盖区域的宽度为窗口 B的宽度 60, 以及第一 遮盖区域的高度为窗口 A左下角点的 Y轴坐标 150减去窗口 B左上角点的 Y轴坐标 80为 70。 因此, 窗口 A的第一遮盖区域左上角点的 (Χ, Υ) 坐标为 (70, 80 ), 第一遮盖区域宽为 60, 高为 70。 进一 步的, 假设确定窗口 Β的右上角点的坐标位于窗口 Α的区域之外, 即窗口 B的右上角点的 X轴坐标 大于窗口 A的 X轴坐标, 则第一遮盖区域的宽度为窗口 A的右上角点的 X轴坐标减去的窗口 B左上 角点的坐标。 此外, 假设窗口 B的左下角点位于窗于 A的区域内, 则第一遮盖区域的高度为窗口 B 的高度。
根据窗口 C的宽度 140和高度 100, 以及窗口 A的左上角点的坐标以及窗口 A的宽度和高度获 取窗口 A被窗口 C的遮盖的遮盖区域(即第二遮盖区域)。 具体的, 根据窗口 A的左上角点的坐标以 及窗口 A的宽度和高度获取窗口 A的右上角点坐标 (X,Y) 为 (200, 50 ) 以及左下角点坐标 (50, 150 ) ,以及根据窗口 C的左上角点的坐标以及窗口 C的宽度和高度计算窗口 C的右上角点坐标(Χ, Υ) 为 (240, 100 ) 以及左下角点坐标(100, 210 ),确定窗口 C的右上角点位于窗口 Α的区域之外以及 窗口 C的左下角点位丁 -窗口 A的区域之外, 则确定第二遮盖区域的宽度为窗口 A的右上角点的 X轴 坐标 200减去窗口 C的左上角点的 X轴坐标 100为 100, 以及第二遮盖区域的高度为窗口 A左下角 点的 Y轴坐标 150减去窗口 C左上角点的 Y轴坐标 110为 40。 因此, 窗口 A的第二遮盖区域左上角 点的 (X,Y )坐标为 (100, 110), 第二遮盖区域宽为 100, 高为 40。 进一步的, 假设确定窗口 C的右 上角点的坐标位丁 ·窗口 Α的区域内, 则第二遮盖区域的宽度为窗口 C的宽度。 此外, 假设窗口 C的 左下角点位于窗丁 A的区域内, 则第二遮盖区域的高度为窗口 C的高度。
进一步根据第一遮盖区域和第二遮盖区域构成的联合遮盖区域的左上角点的坐标(70, 80 )于窗 口 A的区域内, 则确定联合遮盖区域没有完全遮盖窗口 A, 确定窗口 A的显示区域为整个该窗口 A 除联合遮盖区域外的区域。 假设联合遮盖区域的左上角点的 X轴坐标小于等于窗口 A左上角点的 X 轴坐标, 联合遮盖区域的左上角点的 Y轴坐标小于等于窗口 A左上角点的 Y轴坐标, 且联合遮盖区 域的宽大于等于窗口 A的宽, 联合遮盖区域的高大于等于窗口 A的高, 则确定联合遮盖区域完全遮 盖窗口 A, 确定窗口 A的显示区域为 0。
如图 4所示, 对 ]'·窗口 B, 根据窗口 Β的左上角点(Χ,Υ )坐标为 (70, 80), 宽为 60, 高为 120, 以及 ζ轴序大于窗口 Β的窗口 C的左上角点的 (Χ, Υ) 坐标为 (100, 110 ) , 宽为 140, 高为 100 , 确 定窗口 C的左上角点坐标位于窗口 B的窗口区域内。 进一步的, 根据窗口 B的左上角点(X,Y)坐标 为 (70, 80), 宽为 60, 高为 120, 计算窗口 Β的右上角点坐标 (Χ, Υ) 为 (130, 80), 以及计算左 下角点坐标(70 , 200 ) , 确定窗口 C的左上角点的 X轴坐标 100大于窗口 Β的左上角点的 X轴坐标 70, 小于窗口 Β的右上角点的 X轴坐标 130, 以及确定窗口 C的左上角点的 Υ轴坐标 110小于窗口 Β 的左下角点的 Υ轴坐标 200, 大于窗口 Β的左上角点的 Υ轴坐标 80, 从而确定窗口 C的左上角点位 于窗口 Β的窗口区域内。 进一步的确定窗口 C的 ζ轴序大于窗口 Β且遮盖窗口 Β。
根据窗口 Β的左上角点(Χ,Υ)坐标为(70, 80),宽为 60,高为 120,以及窗口 D的左上角点(X, Υ) 坐标为 (210, 160 ) , 宽为 20,高为 20, 计算窗口 Β的右上角点坐标 (Χ,Υ) 为 (130, 80), 以及计 算左下角点坐标 (70, 200) , 确定窗口 D的左上角点的 X轴坐标 210大于窗口 Β的右上角点的 X轴 坐标 130, 从而确定窗口 D的左上角点位于窗口 Β的窗口区域之外。 进一步的确定窗口 D没有遮盖 窗口 Β。
假设确定窗口 C的左上角点的 X轴坐标大于窗口 Β的右上角点的 X轴坐标, 或者窗口 C的左上 角点的 Υ轴坐标人丁窗口 Β的左下角点的 Υ轴坐标, 即窗口 C的左上角点没有位于窗口 Β的窗口区 域内, 则确定窗口 Β没有被窗口(:、 窗口 D所遮盖,窗口 Β的窗口显示状态为全显示, 确定窗口 Β的 显示区域为整个窗口。
进一步根据窗口 C的宽度 140和高度 100, 以及窗口 Β的左上角点的坐标以及窗口 Β的宽度和 高度获取窗口 Β被窗口 C的遮盖的遮盖区域。 具体的, 根据窗口 Β的左上角点的坐标以及窗口 Β的 宽度和高度获取窗口 Β的右上角点坐标 (Χ,Υ) 为 (130, 80 ) 以及左下角点坐标 (70, 200 ) ,以及 根据窗口 C的左上角点的坐标以及窗口 C的宽度和高度计算窗口 C的右上角点坐标(X, Υ)为(240, 100 ) 以及左下角点坐标 (100, 110 ) ,确定窗口 C的右上角点位于窗口 Β的区域之外, 以及窗口 C 的左下角点位于窗口 Β的区域之外, 则确定遮盖区域的宽度为窗口 Β右上角点的 X轴坐标 130减去 窗口 C左上角点的 X轴坐标 100为 30, 以及遮盖区域的高度为窗口 Β左下角点的 Υ轴坐标 200减去 窗口 C左上角点的 Υ轴坐标 110为 90。因此,窗口 Β的遮盖区域左上角点的(Χ,Υ)坐标为(100, 110), 遮盖区域宽为 30, 高为 90。 进一步的, 假设确定窗口 C的右上角点的坐标位于窗口 Β的区域内, 则 遮盖区域的宽度为窗口 C的宽度。 此外, 假设窗口 C的左下角点位于窗于 Β的区域内, 则遮盖区域 的高度为窗口 C的高度。
进一步根据遮盖区域的左上角点的坐标(100, 110 )于窗口 Β的区域内, 则确定遮盖区域没有完 全遮盖窗口 Β, 确定窗口 Β的显示区域为整个该窗口 Β除遮盖区域外的区域。 假设遮盖区域的左上 角点的 X轴坐标小于 于窗口 Β左上角点的 X轴坐标, 遮盖区域的左上角点的 Υ轴坐标小于等于窗 口 Β左上角点的 Υ轴坐标, 且遮盖区域的宽大于等于窗口 Β的宽, 遮盖区域的高大于等于窗口 Β的 高, 则确定遮盖 Κ域完全遮盖窗口 Β, 确定窗口 Β的显示区域为 0。
对于窗口 C, 窗口 C的 Z轴序〉窗口 D的 Z轴序〉窗口 B的 Z轴序〉窗口 A的 Z轴序,窗口 C的窗 口信息中没有 z轴序人于窗口 C的窗口, 窗口 C的窗口显示状态为全显示, 则确定窗口 C的显示区 域为整个窗口(;。
如图 5所示,对丁 ·窗口 D,根据窗口 D的窗口信息中窗口 D的左上角点(X,Y)坐标为(210, 160), 宽为 20,高为 20, 计算窗口 D的右上角点坐标(X, Y) 为 (230, 160), 以及计算窗口 D的左下角点 坐标 (210, 180 ), 根据 z轴序大于窗口 D的窗口 C的左上角点的 (X,Y) 坐标为 (100, 110), 宽为 140, 高为 100, 计算窗口 C的右上角点坐标 (Χ, Υ) 为 (240, 100), 以及计算窗口 C的左下角点 坐标 (100, 210 ), 确定窗口 D的左上角点的 X轴坐标 210大于窗口 C的左上角点的 X轴坐标 100, 小于窗口 C的右上角点的 X轴坐标 240, 以及确定窗口 D的左上角点的 Υ轴坐标 160小于窗口 C的 左下角点的 Υ轴坐标 210, 大于窗口 C的左上角点的 Υ轴坐标 110, 从而确定窗口 C遮盖窗口 D。
进一步根据 D的右上角点坐标(Χ, Υ) 为 (210, 160 ) , 窗口 D的左下角点坐标(210, 180), 窗 口 C的右上角点坐标 (Χ, Υ) 为 (240, 100) , 以及窗口 C的左下角点坐标 (100, 210), 确定窗口 D的遮盖区域左上角点的(X, Υ)坐标为(210, 160), 窗口 D的右上角点的坐标位于窗口 C的区域内, 则遮盖区域的宽度为窗口 D的宽度 20, 窗口 C的左下角点位于窗于 C的区域内, 则遮盖区域的高度 为窗口 D的高度 20。
进一步根据窗口 D的遮盖区域左上角点的(Χ,Υ)坐标为 (210, 160 ), 遮盖区域的宽度度为窗口 D的宽度 20,遮盖区域的高度为窗口 D的高度 20, 确定确定遮盖区域完全遮盖窗口 D, 确定窗口 D的 显示区域为 0。
具体而言, 步骤] 3根据所述窗口的显示区域信息, 将与窗口的显示区域信息对应的图像数据发 送给所述终端, 以使所述终端进行显示, 包括:
窗口的显示 域为整个窗口时, 获取整个窗口的图像数据, 发送给终端, 由所述终端进行显示。 或者, 窗口的显示区域为整个窗口除遮盖区域外的区域时, 获取整个窗口的图像数据, 向遮盖 区域填充纯色或无色, 将填充后的图像数据发送给终端, 由所述终端进行显示。
其中, 整个窗口的图像数据即为窗口对应的应用运行的图像数据; 纯色如黑色或者白色。 可见, 对于现有的图像编码方式, 对于图像复杂 (颜色种类多, 颜色分布不均) 的编码后的数 据大小要大于图像简单的 (颜色种类单一, 颜色分布均匀), 所以说纯色的图像编码后数据量最小。 对于视频流来说, 即编码多幅连续的图像, 前后两幅图像的编码, 只需要编码第二幅图像改变的部 分, 所以将被遮盖的图像以纯色填充后进行编码, 此部分由于图像不会发生变化, 也不用编码, 可 降低视频流的数据量。 而且, 窗口的显示区域为 0时, 不需要获取图像数据, 降低视频流的数据量。
可选的, 本发明实施例窗口图像的传输方法, 还可以包括:
接收所述终端发送的显示图像传输策略, 所述显示图像传输策略包括根据所述窗口的 Z轴序小 于所述终端其他窗口的 Z轴序, 降质传输所述窗口的图像或者不传输所述窗口的图像, 或者根据所 述窗口的遮盖区域与显示区域的比例大于一定阈值时, 确定降质传输所述窗口的图像或者不传输所 述窗口的图像;
根据所述显示图像传输策略, 对应降低图像质量传输或不传输所述窗口的图像。
其中, 降质传输所述窗口的图像, 例如, 将高清图像降质为标清图像, 等等, 以降低网络负载。 可选, 如果终端确定显示图像传输策略为不传输所述窗口的图像, 则终端可以直接将窗口的窗 口显示状态设置为窗口全遮盖。
可见, 虽然启动了多个应用对应的窗口, 但用户有可能只关注于桌面最前端 (Z轴序最大) 的 一个或两个应用对应的窗口, 并不关注 z轴序小的窗口, 因此, 可以降质传输 Z轴序小的窗口或者 不传输 z轴序小的窗口, 从而达到降低网络负载。 提高终端运行效率, 降低服务器负载的效果。
本发明实施例窗口图像的传输方法, 适用于在线应用场景, 对窗口的音视频数据进行高效压缩 (例如采取视频压缩技术) 后发送到终端, 终端收到压缩后的画面后在本地先解码再展示。
与在线应用场景不同的是, 在线应用场景是将服务器运行应用的应用窗口的图像数据传递到终 端, 而远程桌面是将服务器的整个桌面传递到终端, 但在终端都是在一个窗口的方式进行显示。 所 以如果在终端显示的远程桌面的窗口被其他窗口半遮盖时, 可以对服务器对应的被遮盖的远程桌面 的区域进行单色填充后再编码传输, 如是全遮盖, 则整个桌面的图像都不用进行编码, 也不用进行 传输, 同样可以减少网络带宽, 降低服务器和终端的资源消耗。
本发明实施例窗口图像的传输方法也适用于远程桌面应用场景。
可见, 本发明实施例窗口图像的传输方法, 对于多窗口情况下, 窗口全显示时, 将窗口图像编 码传输给终端, 窗口被全部遮盖时, 不需要将窗口图像编码传输给终端, 而窗口被部分遮盖时, 对 遮盖区域内图像填充纯色, 再编码传输给终端, 从而达到降低网络负载, 提高终端运行效率, 降低 服务器负载的效果。 如图 6所示, 对应上述实施例的窗口图像的传输方法, 本发明实施例提供一种服务器, 包括: 接收单元 61, 用了-虚拟机在运行应用的过程中, 接收终端发送该应用对应的窗口的窗口信息; 确定单元 62, 用于根据所述窗口信息, 确定所述窗口的显示区域信息;
传输单元 63 , 用 T根据所述窗口的显示区域信息, 将与窗口的显示区域信息对应的图像数据发 送给所述终端, 以使所述终端进行显示。
本发明实施例的服务器, 根据应用在终端显示的窗口的显示区域信息, 发送与窗口的显示区域 信息对应的图像数据, 当窗口显示区域小于整个窗口区域时, 不需要发送整个窗口区域对应的图像 数据, 从而达到降低网络负载的效果。
本发明实施例的服务器, 接收单元 61接收终端发送该应用对应的窗口的窗口信息之前, 终端向 服务器发出携带应用标识的应用运行的请求,服务器根据用应标识选择虚拟机运行终端请求的应用, 并由虚拟机和终端建立传输应用运行数据和接收终端发送信息的连接。 因此, 终端通过该连接将该 应用在终端显示窗口的窗口信息或用户针对应用的操作发送给运行该应用的虚拟机。 窗口是虚拟机 运行的应用在终端显示的窗口。
可选的, 终端发送的窗口信息包括: 窗口显示状态, 窗口的遮盖区域任一角点的坐标, 以及遮 盖区域的宽度和高度。 其中, 坐标包括 X坐标和 Y坐标, 坐标可采用屏幕坐标系的坐标或者窗口坐 标系的坐标, 屏幕坐标系是指以显示器屏幕的左上角点为坐标原点 (0, 0) ,横向为 X轴, 纵向为 Y 轴, 窗口坐标系是指以窗口的左上角点为坐标原点 (0,0)), 横向为 X轴, 纵向为 Y轴; 窗口的遮盖 区域可以为一个 者多个。 可选的, 窗口信息还可以包括: 遮盖窗口数量。 定义终端发送窗口信息 的消息类型为 Updata— Window— infrom, 消息格式可以如是上表 1所示, 从而虚拟机解析该消息 获取终端发送的窗口信息。 可选的, 终端发送的窗口信息包括: 窗口显示状态, 窗口任一角点的坐标, 窗口的宽度和高度, z轴序大于该窗口且遮盖该窗口的窗口的任一角点的坐标, 以及 z轴序大于该窗口且遮盖该窗口的 窗口宽度和高度。 其中, 坐标包括 X坐标和 Y坐标, 坐标可采用屏幕坐标系的坐标或者窗口坐标系 的坐标; z 轴序人于该窗口且遮盖该窗口的窗口可以为一个或者多个。 可选的, 窗口信息还可以包 括: 遮盖窗口数 。 定义终端发送窗口信息的消息类型为 Updata_Window— infrom, 消息格式可以 如上表 2所示, 从而虚拟机解析该消息获取终端发送的窗口信息。
可选的, 终端发送的窗口信息包括: 窗口任一角点的坐标, 窗口的宽度和高度, Z 轴序大于该 窗口的窗口的任一角点的坐标, 以及 Z轴序大于该窗口的窗口宽度和高度。 其中, 坐标包括 X坐标 和 γ坐标, 坐标可采用屏幕坐标系的坐标或者窗口坐标系的坐标; Z轴序大于该窗口的窗口可以为 一个或者多个。 可选的, 窗口信息还可以包括: 遮盖窗口数量。 定义终端发送窗口信息的消息类型 为 Updata— Window— infrom, 消息格式可以如上表 3所示, 从而虚拟机解析消息获取终端发送的 窗口信息。
可选的, 接收单元 61还可以用于接收终端发送的窗口位置请求消息, 窗口位置请求消息用于请 求获得虛拟机的窗口大小和位置信息。 此时, 如图 7所示, 本发明实施例提供的服务器, 还可以包 括发送单元 71 , 用丁 '将虚拟机的窗口大小和位置信息发送给所述终端。
或者, 接收单元 61接收终端发送的窗口信息, 该窗口信息中包含终端的窗口大小和位置信息, 或者接收终端发送的窗口通知消息, 该窗口通知消息携带终端的窗口大小和位置信息。 此时, 如图 7所示, 本发明实施例提供的服务器, 还可以包括坐标转换单元 72, 用于根据终端的窗口大小和位 置信息、 虚拟机的窗口大小和位置信息将终端的坐标转换为虚拟机相应坐标。
虚拟机的窗口大小可以通过操作系统提供的 API获得。 坐标转换公式: 如虚拟机的窗口大小为 X1*Y1 , 终端窗口大小为 Χ2*Υ2, 如终端窗口的左上角的坐标为 (xl, yl ), 虚拟机窗口左上角的坐 标为 (x2,y2), 则对于在终端的一个坐标为 (al,bl ), 宽为 cl, 高为 dl 的窗口, 其在虚拟机的坐 标变为 a2= (al-xl+x2 ) *X2/X1; b2= (bl- yl+y2) *Y2/Yl ; 宽为 c2=cl*X2/Xl; 高为 d2=dl*Y2/Yl。
当窗口信息为表 1格式时: 确定单元 62, 具体可以用于:
根据窗口信息中窗口显示状态为全显示时, 确定窗口的显示区域为整个窗口。
或者, 根据窗口信息中窗口显示状态为全遮盖时, 确定窗口的显示区域为 0。
或者, 根据窗口信息中窗口显示状态为部分遮盖时, 根据窗口信息中遮盖区域任一角点的 X坐 标、 Y坐标、 遮盖区域的宽度和高度, 确定窗口的显示区域为整个窗口除遮盖区域外的区域, 当遮 盖区域为多个时, 确定多个遮盖区域构成的联合遮盖区域, 从而确定窗口的显示区域为整个窗口除 联合遮盖区域外的区域。
或者, 当窗口信息为表 2格式时: 确定单元 62, 具体可以用于- 根据窗口信息中窗口显示状态为全显示时, 确定窗口的显示区域为整个窗口。
或者, 根据窗口信息中窗口显示状态为全遮盖时, 确定窗口的显示区域为 0。
或者,根据窗口信息中窗口显示状态为部分遮盖时,根据窗口信息中窗口的任一角点的 X坐标、 Y坐标、 宽度及高度, 以及 z轴序大于该窗口且遮盖该窗口的窗口的任一角点的 X坐标、 Y坐标、 宽 度及高度, 确定遮盖 域任一角点的 X坐标、 Y坐标、 遮盖区域的宽度和高度;
以及根据遮盖区域任一角点的 X坐标、 Y坐标、 遮盖区域的宽度和高度, 确定窗口的显示区域 为整个窗口除遮盖区域外的区域, 当遮盖区域为多个时, 确定多个遮盖区域构成的联合遮盖区域, 从而确定窗口的显示 域为整个窗口除联合遮盖区域外的区域。
或者, 当窗口信息为表 3格式时: 确定单元 62, 具体可以用于:
根据窗口信息中窗口的任一角点的 X坐标、 Y坐标、 宽度及高度, 以及 z轴序大于该窗口的窗 口的任一角点的 X坐标、 Y坐标、 宽度及高度, 确定 z轴序大于该窗口的窗口是否遮盖该窗口, 如 果 z轴序大于该窗口的窗口没有遮盖该窗口, 则该窗口的窗口显示状态为全显示, 确定该窗口的显 示区域为整个窗口;
如果 z轴序火于该窗口的窗口遮盖该窗口, 则根据窗口信息中窗口的任一角点的 X坐标、 Y坐 标、 宽度及高度, 以及 z轴序大于该窗口且遮盖该窗口的窗口的任一角点的 X坐标、 Y坐标、 宽度 及高度, 确定遮盖区域任一角点的 X坐标、 Y坐标、 遮盖区域的宽度和高度;
根据遮盖区域任一角点的 X坐标、 Y坐标、 遮盖区域的宽度和高度, 确定遮盖区域是否完全遮 盖该窗口, 当遮盖区域为多个时, 确定多个遮盖区域构成的联合遮盖区域是否完全遮盖该窗口; 如果遮盖区域或者联合遮盖区域完全遮盖该窗口, 则该窗口的窗口显示状态为全遮盖, 从而确 定该窗口的显示 域为 0, 如果遮盖区域或者联合遮盖区域没有完全遮盖该窗口, 则该窗口的窗口 显示状态为部分遮盖, 确定该窗口的显示区域为整个该窗口除遮盖区域外的区域, 或者确定该窗口 的显示区域为整个该窗口除联合遮盖区域外的区域。
具体而言, 传输单元 63, 可以用于窗口的显示区域为整个窗口时, 获取整个窗口的图像数据, 发送给终端, 由所述终端进行显示。 或者, 窗口的显示区域为整个窗口除遮盖区域外的区域时, 获 取整个窗口的图像数据, 向该遮盖区域填充纯色或无色, 将填充后的图像数据发送给终端, 由所述 终端进行显示。
其中, 纯色如黑色或者白色。
可选的, 本发明实施例服务器, 接收单元 61还可以用于:
接收所述终端发送的显示图像传输策略, 所述显示图像传输策略包括根据所述窗口的 Z轴序小 于所述终端其他窗口的 Z轴序, 降质传输所述窗口的图像或者不传输所述窗口的图像, 或者根据所 述窗口的遮盖区域与显示区域的比例大于一定阈值时, 确定降质传输所述窗口的图像或者不传输所 述窗口的图像;
此时, 传输单元 63, 用于根据所述显示图像传输策略, 对应降低图像质量传输或不传输所述窗 口的图像。
其中, 降质传输所述窗口的图像, 例如, 将高清图像降质为标清图像, 等等, 以降低网络负载。 可选, 如果终端确定显示图像传输策略为不传输所述窗口的图像, 则终端发送的窗口信息中的 窗口显示状态为窗口全遮盖,从而接收单元 61接收到终端发送的窗口信息中的窗口显示状态为窗口 全遮盖。
本发明实施例服务器可以对应参考上述实施例的窗口图像的传输方法得以具体理解, 在此不作 赘述。 如图 8所示, 本发明实施例提供一种窗口的显示方法, 包括:
步骤 81、 虚拟机在运行应用的过程中, 发送该应用对应的窗口的窗口信息给服务器, 以使所述 服务器上的虚拟机根据所述窗口信息, 确定所述窗口的显示区域信息;
步骤 82、 接收所述服务器发送的与窗口的显示区域信息对应的图像数据并进行显示。
本发明实施例窗口的显示方法的执行主体是终端。
本发明实施例窗口的显示方法, 终端接收所述服务器发送的与窗口的显示区域信息对应的图像 数据, 当窗口显示区域小于整个窗口区域时, 不需要接收整个窗口区域对应的图像数据, 从而达到 降低网络负载的效果, 并提高终端运行效率。
本发明实施例窗口的显示方法, 终端向服务器发出携带应用标识的应用运行的请求, 服务器根 据用应标识选择虚拟机运行终端请求的应用, 并由虚拟机和终端建立传输应用运行数据和接收终端 发送信息的连接。 因此, 终端通过该连接将该应用在终端显示窗口的窗口信息或用户针对应用的操 作发送给运行该应用的虚拟机。 窗口是虚拟机运行的应用在终端显示的窗口。
本发明实施例窗口的显示方法, 在上述步骤 81之前, 还可以包括:
当终端建立窗口, 或者窗口的 Z轴序发生变化, 或者窗口的任一角点的坐标发生变化, 或者窗 口的宽度或者高度发生变化时, 确定该窗口的窗口信息。
具体的, 参见图 2-图 5, 终端存在四个应用在终端分别对应窗口 A、 窗口 B、 窗口 C及窗口 D, 如图 9所示, 确定窗口的窗口信息, 包括:
步骤 91、 终端获取终端所有窗口的 Z轴序、 所有窗口的任一角点的 (X,Y) 坐标以及所有窗口 的宽度和高度。
具体的, 终端获取所有窗口的 Ζ轴序, 如窗口 C的 Ζ轴序〉窗口 D的 Ζ轴序〉窗口 Β的 Ζ轴序〉 窗口 Α的 Ζ轴序。
以下具体都以左上角点为例, 终端获取窗口 A的左上角点 (X,Y) 坐标为 (50,50), 宽为 150, 高为 100; 窗口 Β的左上角点(Χ,Υ)坐标为(70,80), 宽为 60, 高为 120; 窗口 C的左上角点(Χ,Υ) 坐标为 ( 100,110 ), 宽为 140, 高为 100; 如窗口 D的左上角点 (Χ,Υ)坐标为 (210,160), 宽为 20, 高为 20。
步骤 92、 终端确定窗口的 Ζ轴序是否为最大, 如果是则窗口显示状态为全显示, 否则进入步骤 93确定 ζ轴序大丁亥窗口的窗口任一角点的 (Χ,Υ) 坐标以及窗口的宽度和高度。
具体的, 终端根据窗口 C的 Ζ轴序 >窗口 D的 Ζ轴序窗口 Β的 Ζ轴序 >窗口 Α的 Ζ轴序, 确定 窗口 C的 Z轴序最大, 即窗口 C为 Z轴序顶部的窗口, 则根据 Z轴序顶部的窗口覆盖 Z轴序中的 其他窗口, 确定窗口 C的窗口显示状态为全显示。
由于窗 Π Α、 窗口 Β和窗口 D的 Ζ轴序不为最大, 进入步骤 93进一步确定 Ζ轴序大于该窗口 的窗口任一角点的 (Χ,Υ) 坐标以及窗口的宽度和高度。
步骤 93、 终端根据 ζ轴序大于该窗口的窗口任一角点的 (Χ, Υ) 坐标以及窗口的宽度和高度, 确定窗口是否被 z轴序大于该窗口的窗口遮盖, 如果没有则该窗口的窗口显示状态为全显示, 否则 确定 ζ轴序大于该窗口且遮盖该窗口的窗口任一角点的 (Χ, Υ) 坐标以及窗口的宽度和高度。
具体的, 窗口 C的 Ζ轴序、 窗口 D的 Ζ轴序以及窗口 Β的 Ζ轴序大于窗口 Α的 Ζ轴序, 终端根 据窗口 A的左上角点的横纵轴(Χ, Υ ) 以及窗口的宽度和高度, 确认 Ζ轴序大于窗口 Α的窗口 Β的左 上角点位于窗口 A的窗口区域内, 确定窗口 A被窗口 B遮盖。 具体的, 如图 3所示, 对于窗口 A, 终端根据窗口 B的 Z轴序〉窗口 A的 Z轴序, 以及窗口 A的横纵轴(X,Y)坐标为(50, 50), 宽度 150, 高度 100 ; 窗口 Β的左上角点 (Χ,Υ) 坐标为 (70, 80), 确定窗口 Β的左上角点坐标位于窗口 Α的窗 口区域内。 进一步的, 终端可以根据窗口 A的 XY轴 (Χ, Υ ) 坐标为 (50, 50), 宽度 150,高度 100度 计算窗口 Α的右上角点坐标 (Χ, Υ) 为 (200, 50), 以及计算左下角点坐标 (50, 150), 确定窗口 Β的左上角点的 X轴坐标 70大于窗口 Α的左上角点的 X轴坐标 50,小于窗口 A的右上角点的 X轴坐 标 200, 以及确定窗口 B的左上角点的 Y轴坐标 80小于窗口 A的左下角点的 Y轴坐标 150, 大于窗 口 A的左上角点的 Y轴坐标 50, 从而确定窗口 B的左上角点位于窗口 A的窗口区域内。
作为另一种可选方式, 终端根据窗口 A的左上角点的横纵轴(Χ, Υ ) 以及窗口的宽度和高度以及 根据窗口 Β的左上角点的坐标和 /或窗口 Β的高度,确认 1轴序大于窗口 Α的窗口 Β窗口 Β的左上角 点的 Y轴标坐小丁 ·窗口 A的左下角点的 Y轴坐标, 或确定窗口 B的左下角点的 Y轴坐标大于窗口 A 的左上角点的 Y轴坐标, 则确定窗口 A没有被窗口 B所遮盖。 进一步的, 终端根据窗口 A的左上角 点的横纵轴 (Χ, Υ ) 以及窗口的宽度和高度以及根据窗口 Β的左上角点的坐标和 /或窗口 Β的高度, 确定窗口 Β的左上角点的 X坐标大于窗口 Α的左上角点的 X轴坐标, 小于窗口 A的右上角点的 X轴 坐标, 且窗口 B的左下角点的 Y轴坐标大于窗口 A的左上角点的 Y轴坐标, 则确定窗口 A被窗口 B 所遮盖。 并可以进一步确定窗口 A被遮盖的第一遮盖区域。
根据窗口 A的窗口信息中窗口 A的左上角点的 (Χ, Υ)坐标为 (50, 50), 宽为 150,高为 100, 以 及 ζ轴序大于窗口 Α的窗口 C的左上角点的 (Χ, Υ )坐标为 (100, 110), 宽为 140, 高为 100,确定窗 口 C的左上角点坐标位于窗口 Α的窗口区域内。 进一步的, 根据窗口 A的左上角点 (Χ, Υ) 坐标为 ( 50, 50), 宽度 150,高度 100度计算窗口 Α的右上角点坐标 (Χ, Υ ) 为 (200, 50), 以及计算左下 角点坐标(50, 150 ) , 确定窗口 C的左上角点的 X轴坐标 100大于窗口 Α的左上角点的 X轴坐标 50, 小于窗口 A的右上角点的 X轴坐标 200, 以及确定窗口 C的左上角点的 Y轴坐标 110小于窗口 A的 左下角点的 Y轴坐标 150, 大于窗口 A的左上角点的 Y轴坐标 50, 从而确定窗口 C的左上角点位于 窗口 A的窗口区域内。 进一步的确定窗口 C的 z轴序大于窗口 A且遮盖窗口 A。
根据窗口 A的窗口信息中窗口 A的左上角点的(Χ, Υ)坐标为 (50, 50), 以及窗口 D的左上角点 ( Χ, Υ )坐标为(210, 160), 宽为 20,高为 20, 计算窗口 Α的右上角点坐标(X, Υ)为(200, 50), 以 及计算左下角点坐标 (50, 150 ) , 确定窗口 D的左上角点的 X轴坐标 210大于窗口 A的右上角点的 X轴坐标 200, 窗口 D的左上角点的 Y轴坐标 160大于窗口 A的右上角点的 Y轴坐标 150, 从而确定 窗口 D的左上角点位于窗口 A的窗口区域之外。 进一步的确定窗口 D没有遮盖窗口 A。
此外, 假设确定窗口 B的左上角点的 X轴坐标大于窗口 A的右上角点的 X轴坐标, 或者窗口 B 的左上角点的 Y轴坐标大于窗口 A的左下角点的 Y轴坐标, 即窗口 B的左上角点没有位于窗口 A的 窗口区域内, 则确定窗口 A没有被窗口 B所遮盖; 假设确定窗口 C的左上角点的 X轴坐标大于窗口 A的右上角点的 X轴坐标, 或者窗口 C的左上角点的 Y轴坐标大于窗口 A的左下角点的 Y轴坐标, 即窗口 C的左上角点没有位于窗口 A的窗口区域内, 则确定窗口 A没有被窗口 C所遮盖; 因此确定 窗口 A没有被窗口 B、 窗口(、 窗口 D所遮盖, 窗口 A的窗口显示状态为全显示。
如图 4所示, 对于窗口 B, 窗口 C的 Z轴序以及窗口 D的 Z轴序大于窗口 B的 Z轴序, 终端根 据窗口 B的左上角点 (Χ, Υ) 坐标为 (70, 80), 宽为 60, 高为 120, 以及 ζ轴序大于窗口 Β的窗口 C 的左上角点的 《,Y) 坐标为 (100, 110 ) , 宽为 140, 高为 100, 确定窗口 C的左上角点坐标位于窗 口 Β的窗口区域内。进一步的, 根据窗口 Β的左上角点(Χ,Υ)坐标为(70, 80 ), 宽为 60, 高为 120, 计算窗口 Β的右上角点坐标 (Χ,Υ) 为 (130, 80), 以及计算左下角点坐标 (70, 200 ), 确定窗口 C的左上角点的 X轴坐标 100大于窗口 Β的左上角点的 X轴坐标 70, 小于窗口 Β的右上角点的 X轴 坐标 130, 以及确定窗口 C的左上角点的 Υ轴坐标 110小于窗口 Β的左下角点的 Υ轴坐标 200, 大于 窗口 Β的左上角点的 Υ轴坐标 80, 从而确定窗口 C的左上角点位于窗口 Β的窗口区域内。 进一步的 确定窗口 C的 ζ轴序人于窗口 Β且遮盖窗口 Β。
根据窗口 Β的左上角点(X, Υ)坐标为(70, 80),宽为 60,高为 120,以及窗口 D的左上角点(X, Υ) 坐标为 (210, 160 ) , 宽为 20,高为 20, 计算窗口 Β的右上角点坐标 (Χ, Υ) 为 (130, 80), 以及计 算左下角点坐标 (70, 200), 确定窗口 D的左上角点的 X轴坐标 210大于窗口 Β的右上角点的 X轴 坐标 130, 从而确定窗口 D的左上角点位于窗口 Β的窗口区域之外。 进一步的确定窗口 D没有遮盖 窗口 Β。
假设确定窗口 C的左上角点的 X轴坐标大于窗口 Β的右上角点的 X轴坐标, 或者窗口 C的左上 角点的 Υ轴坐标人于窗口 Β的左下角点的 Υ轴坐标, 即窗口 C的左上角点没有位于窗口 Β的窗口区 域内, 则确定窗口 Β没有被窗口(;、 窗口 D所遮盖,窗口 Β的窗口显示状态为全显示。
如图 5所示, 对丁 ·窗口 D, 窗口 C的 Z轴序大于窗口 D的 Z轴序, 终端根据窗口 D的窗口信息 中窗口 D的左上角点(X, Y)坐标为(210, 160 ),宽为 20,高为 20,计算窗口 D的右上角点坐标(X, Y) 为 (230, 160), 以及计算窗口 D的左下角点坐标(210, 180), 根据 z轴序大于窗口 D的窗口 C的 左上角点的 (Χ, Υ ) 坐标为 (100, 110), 宽为 140, 高为 100, 计算窗口 C的右上角点坐标(Χ, Υ) 为 ( 240, 100), 以及计算窗口 C的左下角点坐标 (100, 210), 确定窗口 D的左上角点的 X轴坐标 210大于窗口 C的左上角点的 X轴坐标 100, 小于窗口 C的右上角点的 X轴坐标 240, 以及确定窗口 D的左上角点的 Υ轴坐标 160小于窗口 C的左下角点的 Υ轴坐标 210,大于窗口 C的左上角点的 Υ轴 坐标 110, 从而确定 C的 ζ轴序大于窗口 D且遮盖窗口 D。
步骤 94、 终端根据 z轴序大于该窗口且遮盖该窗口的窗口任一角点的 (Χ, Υ) 坐标以及窗口的 宽度和高度, 以及该窗口任一角点的(Χ, Υ)坐标以及窗口的宽度和高度, 确定该窗口的遮盖区域任 一角点的 (Χ, Υ) 坐标以及遮盖区域的宽度和高度。
如图 3所示, 对于窗口 Α, 根据窗口 Β的宽度 60和高度 120, 以及窗口 Α的左上角点的坐标以 及窗口 A的宽度和高度获取窗口 A被窗口 B的遮盖的遮盖区域(即第一遮盖区域)。 具体的, 终端窗 口 A的左上角点的坐标以及窗口 A的宽度和高度获取窗口 A的右上角点坐标 (Χ, Υ) 为 (200, 50) 以及左下角点坐标 (50, 150) ,以及根据窗口 B的左上角点的坐标以及窗口 B的宽度和高度计算窗 口 B的右上角点坐标 (X,Y) 为 (130, 80 ) 以及左下角点坐标 (70, 200) ,终端确定窗口 Β的右上 角点位于窗口 Α的区域内, 则确定第一遮盖区域的宽度为窗口 B的宽度 60, 以及第一遮盖区域的高 度为窗口 A左下角点的 Y轴坐标 150减去窗口 B左上角点的 Y轴坐标 80为 70.因此, 窗口 A的第一 遮盖区域左上角点的 (X,Y) 坐标为 (70,80), 第一遮盖区域宽为 60, 高为 70。 进一步的, 假设终 端确定窗口 Β的 上角点的坐标位于窗口 Α的区域之外, 即窗口 B的右上角点的 X轴坐标大于窗口 A的 X轴坐标, 则第一遮盖区域的宽度为窗口 A的右上角点的 X轴坐标减去窗口 B的左上角点的坐 标。 此外, 假设终端窗口 B的左下角点位于窗于 A的区域内, 则第一遮盖区域的高度为窗口 B的高 度。
根据窗口 C的宽度 140和高度 100, 以及窗口 A的左上角点的坐标以及窗口 A的宽度和高度获 取窗口 A被窗口 C的遮盖的遮盖区域(即第二遮盖区域)。 具体的, 根据窗口 A的左上角点的坐标以 及窗口 A的宽度和高度获取窗口 A的右上角点坐标 (Χ, Υ) 为 (200, 50 ) 以及左下角点坐标 (50, 150 ) ,以及根据窗口 C的左上角点的坐标以及窗口 C的宽度和高度计算窗口 C的右上角点坐标(X, Υ) 为 (240, 100 ) 以及左下角点坐标(100, 210),确定窗口 C的右上角点位于窗口 Α的区域之外以及 窗口 C的左下角点位于窗口 A的区域之外, 则确定第二遮盖区域的宽度为窗口 A的右上角点的 X轴 坐标 200减去窗口 C的左上角点的 X轴坐标 100为 100 , 以及第二遮盖区域的高度为窗口 A左下角 点的 Y轴坐标 150减去窗口 C左上角点的 Y轴坐标 110为 40。 因此, 窗口 A的第二遮盖区域左上角 点的 (X,Y)坐标为 (100, 110), 第二遮盖区域宽为 100, 高为 40。 进一步的, 假设确定窗口 C的右 上角点的坐标位丁窗口 Α的区域内, 则第二遮盖区域的宽度为窗口 C的宽度。 此外, 假设窗口 C的 左下角点位于窗 Γ A的区域内, 则第二遮盖区域的高度为窗口 C的高度。
如图 4所示, 对丁窗口 B, 根据窗口 C的宽度 140和高度 100, 以及窗口 B的左上角点的坐标以 及窗口 B的宽度和高度获取窗口 B被窗口 C的遮盖的遮盖区域。 具体的, 根据窗口 B的左上角点的 坐标以及窗口 B的宽度和高度获取窗口 B的右上角点坐标 (X,Y) 为 (130, 80 ) 以及左下角点坐标 ( 70, 200) ,以及根据窗口 C的左上角点的坐标以及窗口 C的宽度和高度计算窗口 C的右上角点坐 标 (Χ,Υ) 为 (240, 100) 以及左下角点坐标 (100, 110 ) ,确定窗口 C的右上角点位于窗口 Β的区 域之外, 以及窗口 C的左下角点位于窗口 Β的区域之外, 则确定遮盖区域的宽度为窗口 Β右上角点 的 X轴坐标 130减去窗口 C左上角点的 X轴坐标 100为 30, 以及遮盖区域的高度为窗口 Β左下角点 的 Υ轴坐标 200减去窗口 C左上角点的 Υ轴坐标 110为 90。因此,窗口 Β的遮盖区域左上角点的 (Χ, Υ) 坐标为 (100, 110 ), 遮盖区域宽为 30, 高为 90。 进一步的, 假设确定窗口 C的右上角点的坐标位于 窗口 Β的区域内, 则遮盖区域的宽度为窗口 C的宽度。 此外, 假设窗口 C的左下角点位于窗于 Β的 区域内, 则遮盖 ^域的高度为窗口 C的高度。
如图 5所示, 对于窗口 D, 根据 D的右上角点坐标 (X, Υ) 为 (210, 160 ), 窗口 D的左下角点 坐标(210 , 180), 窗 C的右上角点坐标(Χ, Υ)为(240, 100), 以及窗口 C的左下角点坐标( 100, 210), 确定窗口 D的遮盖区域左上角点的 (Χ, Υ)坐标为 (210, 160), 窗口 D的右上角点的坐标位于 窗口 C的区域内, 则遮盖区域的宽度为窗口 D的宽度 20, 窗口 C的左下角点位于窗于 C的区域内, 则遮盖区域的高度为窗口 D的高度 20。
步骤 95、 终端确定该窗口的遮盖区域完全遮盖该窗口时, 确定窗口的窗口显示状态为全遮盖, 根据该窗口的遮盖区域没有完全遮盖该窗口时, 确定窗口的窗口显示状态为部分遮盖。
根据第一遮盖区域和第二遮盖区域构成的联合遮盖区域的左上角点的坐标(70, 80)于窗口 A的 区域内, 则确定联合遮盖区域没有完全遮盖窗口 A, 即窗口 A的窗口显示状态为部分遮盖。 假设联 合遮盖区域的左上角点的 X轴坐标小于等于窗口 A左上角点的 X轴坐标, 联合遮盖区域的左上角点 的 Y轴坐标小于 于窗口 A左上角点的 Y轴坐标, 且联合遮盖区域的宽大于等于窗口 A的宽, 联合 遮盖区域的高大 Τ·等丁 -窗口 A的高, 则确定联合遮盖区域完全遮盖窗口 A, 即窗口 A的窗口显示状 态为全遮盖。
根据遮盖区域的左上角点的坐标(100, 110)于窗口 B的区域内, 则确定遮盖区域没有完全遮盖 窗口 B, 即窗口 B的窗口显示状态为部分遮盖。假设遮盖区域的左上角点的 X轴坐标小于等于窗口 B 左上角点的 X轴坐标, 遮盖区域的左上角点的 Y轴坐标小于等于窗口 B左上角点的 Y轴坐标, 且遮 盖区域的宽大于 于窗口 B的宽, 遮盖区域的高大于等于窗口 B的高, 则确定遮盖区域完全遮盖窗 口 B, 即窗口 B的窗口显示状态为全遮盖。
根据窗口 D的遮盖区域左上角点的(X, Y)坐标为 (210, 160), 遮盖区域的宽度度为窗口 D的宽 度 20,遮盖区域的高度为窗口 D的高度 20, 确定遮盖区域完全遮盖窗口 D, 即窗口 D的窗口显示状 态为全遮盖。
可选的, 本发明实施例窗口的显示方法中, 窗口信息中包含终端的窗口大小和位置信息, 或者 终端发送窗口通知消息, 该窗口通知消息携带终端的窗口大小和位置信息, 以使服务器根据终端的 窗口大小和位置信息、 虚拟机的窗口大小和位置信息将终端的坐标转换为虚拟机相应坐标。
或者, 可选的, 本发明实施例窗口的显示方法, 还可以包括:
发送窗口位置请求消息给服务器, 窗口位置请求消息用于请求获得虚拟机的窗口大小和位置信 息 ΐ
接收服务器发送的虚拟机的窗口大小和位置信息;
根据终端的窗口大小和位置信息、 虚拟机的窗口大小和位置信息将终端的坐标转换为虚拟机相 应坐标。
其中, 终端的窗口大小可以通过操作系统提供的 API获得。 坐标转换公式: 如虚拟机的窗口大 小为 X1*Y1, 终端窗口大小为 Χ2*Υ2, 如终端窗口的左上角的坐标为 (xl, yl ), 虚拟机窗口左上角 的坐标为 (x2, y2 ), 则对于在终端的一个坐标为 (al, bl ), 宽为 cl, 高为 dl 的窗口, 其在虚拟机 的坐标变为 a2= ( al- xl+x2) *X2/X1; b2= (bl-yl+y2) *Y2/Yl ; 宽为 c2=cl*X2/Xl; 高为 d2=dl*Y2/Yl o 可选的, 本发明实施例窗口的显示方法, 还可以包括:
根据窗口的 Z轴序小于终端其他窗口的 Z轴序, 确定显示图像传输策略为降质传输所述窗口的 图像或者不传输所述窗口的图像,或者根据所述窗口的遮盖区域与显示区域的比例大于一定阈值时, 确定显示图像传输策略为降质传输所述窗口的图像或者不传输所述窗口的图像;
将确定显示图像传输策略发送给服务器。 其中, 降质传输所述窗口的图像, 例如, 将高清图像降质为标清图像, 等等, 以降低网络负载。 可选, 如果终端确定显示图像传输策略为不传输所述窗口的图像, 则终端发送的窗口信息中的 窗口显示状态为窗口全遮盖。 如图 10所示, 对应于上述实施例窗口的显示方法, 本发明实施例提供一种终端, 包括: 发送单元 101, 用于虚拟机在运行应用的过程中, 发送该应用对应的窗口的窗口信息给服务器, 以使所述服务器上的虚拟机根据所述窗口信息, 确定所述窗口的显示区域信息。
接收单元 102, 用于接收所述服务器发送的与窗口的显示区域信息对应的图像数据并进行显示。 本发明实施例的终端, 接收服务器发送的与窗口的显示区域信息对应的图像数据, 当窗口显示 区域小于整个窗口区域时, 不需要接收整个窗口区域对应的图像数据, 从而达到降低网络负载的效 果, 并提高终端运行效率。
本发明实施例终端向服务器发出携带应用标识的应用运行的请求, 服务器根据用应标识选择虚 拟机运行终端请求的应用, 并由虚拟机和终端建立传输应用运行数据和接收终端发送信息的连接。 因此, 终端通过该连接将该应用在终端显示窗口的窗口信息或用户针对应用的操作发送给运行该应 用的虚拟机。 窗口是虚拟机运行的应用在终端显示的窗口。
如图 11所示, 本发明实施例终端, 还包括:
确定单元 111, 用于当终端建立窗口, 或者窗口的 z轴序发生变化, 或者窗口的任一角点的坐 标发生变化, 或者窗口的宽度或者高度发生变化时, 确定该窗口的窗口信息。
确定单元 11〗 体包括:
获取子单元 1111, 用于获取终端所有窗口的 Z轴序、 所有窗口的任一角点的 (Χ, Υ) 坐标以及 所有窗口的宽度和高度;
第一确定子单元 1112, 用于确定该应用对应的窗口的 Ζ轴序是否为最大, 如果是则该应用对应 的窗口的窗口显示状态为全显示;
第二确定子单元 1113, 用于第一确定子单元 1112确定该应用对应的窗口的 Ζ轴序不为最大时, 根据 ζ轴序大于该应用对应的窗口的窗口任一角点的(Χ, Υ)坐标以及窗口的宽度和高度, 确定该应 用对应的窗口是否被 ζ轴序大于该应用对应的窗口的窗口遮盖, 如果没有则该应用对应的窗口的窗 口显示状态为全显示,否则确定 ζ轴序大于该应用对应的窗口且遮盖该窗口的窗口任一角点的 (Χ,Υ) 坐标以及窗口的宽度和高度;
第三确定子单元 1114, 用于根据 ζ轴序大于该应用对应的窗口且遮盖该应用对应的窗口的窗口 的任一角点的 (Χ,Υ) 坐标以及窗口的宽度和高度, 以及该应用对应的窗口的任一角点的 (Χ, Υ) 坐 标以及窗口的宽度和高度, 确定该应用对应的窗口的遮盖区域的任一角点的(Χ,Υ)坐标以及遮盖区 域的宽度和高度;
第四确定子单元 1115, 用于确定该应用对应的窗口的遮盖区域完全遮盖该应用对应的窗口时, 确定该应用对应的窗口的窗口显示状态为全遮盖, 该应用对应的窗口的遮盖区域没有完全遮盖该应 用对应的窗口时, 确定该应用对应的窗口的窗口显示状态为部分遮盖。 可选的, 发送单元 101发送的窗口信息中可以包含终端的窗口大小和位置信息, 或者发送单元 101 发送窗口通知消息, 该窗口通知消息携带终端的窗口大小和位置信息, 以使服务器根据终端的 窗口大小和位置信息、 虚拟机的窗口大小和位置信息将终端的坐标转换为虚拟机相应坐标。
或者, 可选的, 发送单元 101, 还可以用于发送窗口位置请求消息给服务器, 窗口位置请求消 息用于请求获得虚拟机的窗口大小和位置信息; 此时, 接收单元 102还可以用于接收服务器发送的 虚拟机的窗口大小和位置信息; 此时, 本发明实施例终端, 还包括坐标转换 112, 用于根据终端的 窗口大小和位置信息、 虚拟机的窗口大小和位置信息将终端的坐标转换为虚拟机相应坐标。
其中, 终端的窗口大小可以通过操作系统提供的 API获得。 坐标转换公式: 如虚拟机的窗口大 小为 X1*Y1, 终端窗口大小为 Χ2*Υ2, 如终端窗口的左上角的坐标为 (xl, yl ), 虚拟机窗口左上角 的坐标为 (x2,y2 ), 则对于在终端的一个坐标为 (al, bl ), 宽为 cl , 高为 dl 的窗口, 其在虚拟机 的坐标变为 a2= ( al- xl+x2) *X2/X1; b2= (bl-yl+y2) *Y2/Yl; 宽为 c2=cl*X2/Xl; 高为 d2=dl*Y2/Yl。
可选的, 确定单元 111, 还可以用于根据窗口的 Z轴序小于终端其他窗口的 Z轴序, 确定显示 图像传输策略为降质传输所述窗口的图像或者不传输所述窗口的图像, 或者根据所述窗口的遮盖区 域与显示区域的比例大于一定阈值时, 确定显示图像传输策略为降质传输所述窗口的图像或者不传 输所述窗口的图像;
发送单元 101 , 还可以用于将确定显示图像传输策略发送给服务器。
具体的, 可以由第一确定子单元 1112, 确定窗口的 Z轴序是否小于终端其他窗口的 Z轴序。 可 以由第四确定子单元 1115确定窗口的遮盖区域与显示区域的比例大于一定阈值。
其中, 降质传输所述窗口的图像, 例如, 将高清图像降质为标清图像, 等等, 以降低网络负载。 可选, 如果终端确定显示图像传输策略为不传输所述窗口的图像, 则发送单元 101发送的窗口 信息中的窗口显示状态为窗口全遮盖。
本发明实施例终端可以对应参考上述实施例的窗口的显示方法得以具体理解, 在此不作赘述。 如图 12所示, 本发明实施例窗口的显示系统的应用示意图, 窗口的显示系统包括终端 121以及 服务器 122。
具体而言, 终端 121包括确定单元 1211、 坐标转换单元 1212、 输入设备单元 1213、 发送单元 1214、 接收单元 1215和显示单元 1216。 服务器 122包括接收单元 1221、 应用运行单元 1222、 图像 截取单元 1223、 图像填充单元 1224、 图像位置处理单元 1225、 编码单元 1226和发送单元 1226。
确定单元 1211, 用于确定窗口的窗口信息。
坐标转换单元 1212, 用于将终端的窗口坐标转换为服务器端虚拟机上窗口的相应坐标。
输入设备单元 1213, 用于产生输入事件。 用户操作的输入事件具体可以指键盘和鼠标事件 (PC 机型的终端)、 按键或触摸屏事件 (手机或 PDA型的终端)、 遥控器或者游戏手柄的操作事件 (电视 型的终端) 等。
发送单元 1214, 用于发送窗口信息给接收单元 1221。
接收单元 1221, 用于接收发送单元 1214发送的窗口信息, 并发送给应用运行单元 1222和图像 位置处理单元 1225。
应用运行单元 1222, 为虚拟机上控制应用的运行, 包括应用的启动, 暂停, 中止等。
处理单元 1225, 用于当窗口部分遮盖时, 确定窗口遮盖区域信息, 或者根据窗口遮盖位置信息 计算得到窗口遮盖区域信息。
图像截取单元 1223, 用于根据应用运行单元 1222应用的运行, 截取窗口的图像, 当窗口全显 示时, 将截取图像发送给编码单元 1226。
图像填充单元 1224, 用于当窗口部分遮盖时, 对截取窗口的图像中的遮盖区域填充纯色, 将具 有填充的截取图像发送给编码单元 726。
编码单元 1226, 用于对接收到的图像进行编码, 并发送给发送单元 1226。
发送单元 226, 用于将编码后的图像发送给接收单元 1215。
接收单元 1215, 用于从发送单元 1226接收编码后的图像。
显示单元 1216, 用于对接收单元 1215接收到的编码后的图像进行解码显示。
本发明实施例窗口的显示系统中终端 121以及服务器 122可以对应参考上述实施例的终端以及 服务器得以具体理解, 在此不作赘述。 本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程, 是可以通过计算机程 序来指令相关的硬件来完成, 所述的程序可存储于一计算机可读取存储介质中, 该程序在执行时, 可包括如上述各方法的实施例的流程。 其中, 所述的存储介质可为磁碟、 光盘、 只读存储记忆体 ( Read-Only Memory, ROM) 或随机存储记忆体 (Random Access Memory, RAM) 等。

Claims (1)

  1. 权利要求
    1、 一种窗口图像的传输方法, 其特征在于, 包括:
    虚拟机在运行应川的过程中, 接收终端发送该应用对应的窗口的窗口信息,
    根据所述窗口信息确定所述窗口的显示区域;
    根据所述窗口的显示区域, 将与窗口的显示区域信息对应的图像数据发送给所述终端, 以使所 述终端进行显示。
    2、根据权利要求 1所述的窗口图像的传输方法, 其特征在于, 所述窗口信息包括窗口任一角点 的坐标, 窗口的宽度和高度, 以及 Z轴序大于该窗口的窗口的任一角点的坐标和 Z轴序大于该窗口 的窗口宽度和高度, 所述确定所述窗口的显示区域具体为:
    根据窗口信息中窗口的任一角点的 X坐标、 Y坐标、 宽度及高度, 以及 z轴序大于该窗口的窗 口的任一角点的 X坐标、 Y坐标、 宽度及高度, 确定 z轴序大于该窗口的窗口是否遮盖该窗口, 如 果 z轴序大于该窗口的窗口没有遮盖该窗口, 则该窗口的窗口显示状态为全显示, 确定该窗口的显 示区域为整个窗口;
    如果 z轴序火亍该窗口的窗口遮盖该窗口, 则根据窗口信息中窗口的任一角点的 X坐标、 Y坐 标、 宽度及高度, 以及 z轴序大于该窗口且遮盖该窗口的窗口的任一角点的 X坐标、 Y坐标、 宽度 及高度, 确定遮盖区域任一角点的 X坐标、 Y坐标、 遮盖区域的宽度和高度;
    根据遮盖区域任一角点的 X坐标、 Y坐标、 遮盖区域的宽度和高度, 确定遮盖区域是否完全遮 盖该窗口, 当遮盖 域为多个时, 确定多个遮盖区域构成的联合遮盖区域是否完全遮盖该窗口; 如果遮盖区域或者联合遮盖区域完全遮盖该窗口, 则该窗口的窗口显示状态为全遮盖, 从而确 定该窗口的显示 域为 0, 如果遮盖区域或者联合遮盖区域没有完全遮盖该窗口, 则该窗口的窗口 显示状态为部分遮盖, 确定该窗口的显示区域为整个该窗口除遮盖区域外的区域, 或者确定该窗口 的显示区域为整个该窗口除联合遮盖区域外的区域。
    3、 根据权利要求 1所述的窗口图像的传输方法,其特征在于,所述窗口信息包括窗口显示状态, 窗口的遮盖区域的任一角点坐标, 以及遮盖区域的宽度和高度, 所述确定所述窗口的显示区域具体 为:
    根据窗口信息中窗口显示状态为全显示时, 确定窗口的显示区域为整个窗口:
    或者, 根据窗口信息中窗口显示状态为全遮盖时, 确定窗口的显示区域为 0;
    或者, 根据窗口信息中窗口显示状态为部分遮盖时, 根据窗口信息中遮盖区域任一角点的 X坐 标、 Y 坐标、 遮盖区域的宽度和高度, 确定窗口的显示区域为整个窗口除遮盖区域外的区域, 当遮 盖区域为多个时, 确定多个遮盖区域构成的联合遮盖区域, 从而确定窗口的显示区域为整个窗口除 联合遮盖区域外的区域。
    4、 根据权利要求 1所述的窗口图像的传输方法, 其特征在于, 所述窗口信息包括: 窗口信息包 括: 窗口显示状态, 窗口任一角点的坐标, 窗口的宽度和高度, Z轴序大于该窗口且遮盖该窗口的 窗口的任一角点的坐标, 以及 Z轴序大于该窗口且遮盖该窗口的窗口宽度和高度, 所述确定所述窗 口的显示区域具体为: 根据窗口信息中窗口显示状态为全显示时, 确定窗口的显示区域为整个窗口; 根据窗口信息中 窗口显示状态为全显示时, 确定窗口的显示区域为整个窗口;
    或者, 根据窗口信息中窗口显示状态为全遮盖时, 确定窗口的显示区域为 0;
    或者,根据窗口信息中窗口显示状态为部分遮盖时,根据窗口信息中窗口的任一角点的 X坐标、 Y坐标、 宽度及高度, 以及 z轴序大于该窗口且遮盖该窗口的窗口的任一角点的 X坐标、 Y坐标、 宽 度及高度, 确定遮盖区域任一角点的 X坐标、 Y坐标、 遮盖区域的宽度和高度;
    以及根据遮盖 域任一角点的 X坐标、 Y坐标、 遮盖区域的宽度和高度, 确定窗口的显示区域 为整个窗口除遮盖区域外的区域, 当遮盖区域为多个时, 确定多个遮盖区域构成的联合遮盖区域, 从而确定窗口的显示 域为整个窗口除联合遮盖区域外的区域。
    5. 根据权利要求 1-4任一所述的窗口图像的传输方法, 其特征在于, 该方法进一步包括: 根据 所述显示区域, 确定 显示区域对应的图像数据。
    6. 根据权利要求 5所述的窗口图像的传输方法, 其特征在于, 所述根据所述窗口的显示区域, 将与窗口的显示区域信息对应的图像数据发送给所述终端, 以使所述终端进行显示, 包括:
    窗口的显示区域为整个窗口时, 获取整个窗口的图像数据, 发送给终端, 由所述终端进行显示; 或者, 窗口的显示区域为整个窗口除遮盖区域外的区域时, 获取整个窗口的图像数据, 向遮盖 区域填充纯色或无色, 将填充后的图像数据发送给终端, 由所述终端进行显示。
    7. 根据权利要求 1-6中任一所述的窗口图像的传输方法, 其特征在于, 该方法进一步包括, 接收所述终端发送的显示图像传输策略, 所述显示图像传输策略包括根据所述窗口的 Z轴序小 丁-所述终端其他窗口的 Z轴序, 降质传输所述窗口的图像或者不传输所述窗口的图像, 或者根据所 述窗口的遮盖区域与显示区域的比例大于一定阈值时, 确定降质传输所述窗口的图像或者不传输所 述窗口的图像;
    根据所述显示图像传输策略, 对应降低图像质量传输或不传输所述窗口的图像。
    8. 一种服务器, 其特征在于, 包括:
    接收单元, W于虚拟机在运行应用的过程中, 接收终端发送该应用对应的窗口的窗口信息; 确定单元, 川于根据所述窗口信息, 确定所述窗口的显示区域信息;
    传输单元, W于根据所述窗口的显示区域信息, 将与窗口的显示区域信息对应的图像数据发送 给所述终端, 以使所述终端进行显示。
    9. 根据权利要求 8所述的服务器, 其特征在于, 所述接收单元接收到的所述窗口信息包括窗口 任一角点的坐标, 窗口的宽度和高度, 以及 Z轴序大于该窗口的窗口的任一角点的坐标和 Z轴序大 于该窗口的窗口宽度和高度, 所述确定单元具体用于:
    根据窗口信息中窗口的任一角点的 X坐标、 Y坐标、 宽度及高度, 以及 z轴序大于该窗口的窗 口的任一角点的 X坐标、 Y坐标、 宽度及高度, 确定 z轴序大于该窗口的窗口是否遮盖该窗口, 如 果 z轴序大于该窗口的窗口没有遮盖该窗口, 则该窗口的窗口显示状态为全显示, 确定该窗口的显 示区域为整个窗口;
    如果 z轴序火于该窗口的窗口遮盖该窗口, 则根据窗口信息中窗口的任一角点的 X坐标、 Y坐 标、 宽度及高度, 以及 z轴序大于该窗口且遮盖该窗口的窗口的任一角点的 X坐标、 Y坐标、 宽度 及高度, 确定遮盖区域任一角点的 X坐标、 Y坐标、 遮盖区域的宽度和高度;
    根据遮盖区域任一角点的 X坐标、 Y坐标、 遮盖区域的宽度和高度, 确定遮盖区域是否完全遮 盖该窗口, 当遮盖区域为多个时, 确定多个遮盖区域构成的联合遮盖区域是否完全遮盖该窗口; 如果遮盖区域或者联合遮盖区域完全遮盖该窗口, 则该窗口的窗口显示状态为全遮盖, 从而确 定该窗口的显示 域为 0, 如果遮盖区域或者联合遮盖区域没有完全遮盖该窗口, 则该窗口的窗口 显示状态为部分遮盖, 确定该窗口的显示区域为整个该窗口除遮盖区域外的区域, 或者确定该窗口 的显示区域为整个该窗口除联合遮盖区域外的区域。
    10、 根据权利要求 8所述的服务器, 其特征在于, 所述接收单元接收到的所述窗口信息包括窗 口显示状态, 窗口的遮盖区域的任一角点坐标, 以及遮盖区域的宽度和高度, 所述确定单元具体用 于:
    根据窗口信息中窗口显示状态为全显示时, 确定窗口的显示区域为整个窗口:
    或者, 根据窗口信息中窗口显示状态为全遮盖时, 确定窗口的显示区域为 0;
    或者, 根据窗口信息中窗口显示状态为部分遮盖时, 根据窗口信息中遮盖区域任一角点的 X坐 标、 Y 坐标、 遮盖区域的宽度和高度, 确定窗口的显示区域为整个窗口除遮盖区域外的区域, 当遮 盖区域为多个时, 确定多个遮盖区域构成的联合遮盖区域, 从而确定窗口的显示区域为整个窗口除 联合遮盖区域外的区域。
    11、 根据权利耍求 8所述的服务器, 其特征在于, 所述接收单元接收到的所述窗口信息包括: 窗口信息包括: 窗口显示状态, 窗口任一角点的坐标, 窗口的宽度和高度, Z轴序大于该窗口且遮 盖该窗口的窗口的任一角点的坐标, 以及 Z轴序大于该窗口且遮盖该窗口的窗口宽度和高度, 所述 确定单元具体用丁:
    根据窗口信息中窗口显示状态为全显示时, 确定窗口的显示区域为整个窗口; 根据窗口信息中 窗口显示状态为全显示时, 确定窗口的显示区域为整个窗口;
    或者, 根据窗口信息中窗口显示状态为全遮盖时, 确定窗口的显示区域为 0;
    或者,根据窗口信息中窗口显示状态为部分遮盖时,根据窗口信息中窗口的任一角点的 X坐标、 Y坐标、 宽度及高度, 以及 z轴序大于该窗口且遮盖该窗口的窗口的任一角点的 X坐标、 Y坐标、 宽 度及高度, 确定遮盖 域任一角点的 X坐标、 Y坐标、 遮盖区域的宽度和高度; 根据遮盖区域任一 角点的 X坐标、 Y坐标、 遮盖区域的宽度和高度, 确定窗口的显示区域为整个窗口除遮盖区域外的 区域, 当遮盖区域为多个时, 确定多个遮盖区域构成的联合遮盖区域, 从而确定窗口的显示区域为 整个窗口除联合遮盖 域外的区域。
    12、 根据权利要求 8-11中任一所述的服务器, 其特征在于, 所述传输单元, 具体用于窗口的显 示区域为整个窗口时, 获取整个窗口的图像数据, 发送给终端, 由所述终端进行显示;
    或者, 窗口的显示区域为整个窗口除遮盖区域外的区域时, 获取整个窗口的图像数据, 向遮盖 区域填充纯色或无色, 将填充后的图像数据发送给终端, 由所述终端进行显示。
    13、 根据权利要求 8-11中任一所述的服务器, 其特征在于, 所述接收单元, 还用于接收所述终 端发送的显示图像传输策略, 所述显示图像传输策略包括根据所述窗口的 Z轴序小于所述终端其他 窗口的 z轴序, 降质传输所述窗口的图像或者不传输所述窗口的图像, 或者根据所述窗口的遮盖区 域与显示区域的比例人于一定阈值时, 确定降质传输所述窗口的图像或者不传输所述窗口的图像; 所述传输单元, 还用于根据所述显示图像传输策略, 对应降低图像质量传输或不传输所述窗口 的图像。
    14、 一种窗口的显示方法, 其特征在于, 包括:
    虚拟机在运行应 W的过程中, 发送该应用对应的窗口的窗口信息给服务器, 以使所述服务器上 的虚拟机根据所述窗口信息, 确定所述窗口的显示区域信息;
    接收所述服务器发送的与窗口的显示区域信息对应的图像数据并进行显示。
    15、根据权利要求 14所述的窗口的显示方法, 其特征在于, 所述方法还包括确定要发送的窗口 的窗口信息, 具体包括:
    获取终端所有窗口的 Z轴序、 所有窗口的任一角点的 (Χ, Υ) 坐标以及所有窗口的宽度和高度; 确定该应用对应的窗口的 Ζ轴序是否为最大, 如果是则该应用对应的窗口的窗口显示状态为全 显示,否则根据 ζ轴序大于该应用对应的窗口的窗口任一角点的(Χ, Υ)坐标以及窗口的宽度和高度, 确定该应用对应的窗口是否被 ζ轴序大于该应用对应的窗口的窗口遮盖;
    如果 Ζ轴序大于该应用对应的窗口的窗口没有遮盖该应用对应的窗口, 则该应用对应的窗口的 窗口显示状态为全显示, 如果 ζ轴序大于该应用对应的窗口的窗口遮盖该应用对应的窗口, 确定 Ζ 轴序大于该应用对应的窗口且遮盖该窗口的窗口任一角点的 (Χ,Υ) 坐标以及窗口的宽度和高度; 根据 ζ轴序人于该应用对应的窗口且遮盖该应用对应的窗口的窗口的任一角点的(Χ, Υ)坐标以 及窗口的宽度和高度, 以及该应用对应的窗口的任一角点的(Χ, Υ)坐标以及窗口的宽度和高度, 确 定该应用对应的窗口的遮盖区域的任一角点的 (Χ, Υ) 坐标以及遮盖区域的宽度和高度;
    确定该应用对应的窗口的遮盖区域完全遮盖该应用对应的窗口时, 确定该应用对应的窗口的窗 口显示状态为全遮盖, 该应用对应的窗口的遮盖区域没有完全遮盖该应用对应的窗口时, 确定该应 用对应的窗口的窗口显示状态为部分遮盖。
    16、 根据权利要求 14或 15所述的窗口的显示方法, 其特征在于, 所述方法, 还包括: 根据该应用对应的窗口的 Ζ轴序小于终端其他窗口的 Ζ轴序, 确定显示图像传输策略为降质传 输所述窗口的图像或者不传输所述窗口的图像, 或者根据该应用对应的窗口的遮盖区域与显示区域 的比例大于一定阈值时, 确定显示图像传输策略为降质传输所述窗口的图像或者不传输所述窗口的 图像;
    将确定显示图像传输策略发送给服务器。
    17、 一种终端, 其特征在于, 包括:
    发送单元, 于虚拟机在运行应用的过程中, 发送该应用对应的的窗口的窗口信息给服务器, 以使所述服务器上的虚拟机根据所述窗口信息, 确定所述窗口的显示区域信息;
    接收单元, W于接收所述服务器发送的与窗口的显示区域信息对应的图像数据并进行显示。
    18、 根据权利要求 17所述的终端, 其特征在于, 所述终端还包括确定单元, 所述确定单元具体 包括:
    获取子单元, 用于获取终端所有窗口的 Z轴序、 所有窗口的任一角点的(Χ, Υ)坐标以及所有窗 口的宽度和高度;
    第一确定子单元, 用于确定该应用对应的窗口的 ζ轴序是否为最大, 如果是则该应用对应的窗 口的窗口显示状态为全显示;
    第二确定子单元, 用于所述第一确定子单元确定该应用对应的窗口的 ζ轴序不为最大时, 根据 ζ轴序大于该应川对应的窗口的窗口任一角点的 (Χ,Υ) 坐标以及窗口的宽度和高度, 确定该应用对 应的窗口是否被 ζ轴序大于该应用对应的窗口的窗口遮盖, 如果没有则该应用对应的窗口的窗口显 示状态为全显示, 否则确定 ζ轴序大于该应用对应的窗口且遮盖该窗口的窗口任一角点的(Χ, Υ)坐 标以及窗口的宽度和高度;
    第三确定子单元, 用于根据 Ζ轴序大于该应用对应的窗口且遮盖该应用对应的窗口的窗口的任 一角点的 (Χ,Υ) 坐标以及窗口的宽度和高度, 以及该应用对应的窗口的任一角点的 (Χ,Υ) 坐标以 及窗口的宽度和高度, 确定该应用对应的窗口的遮盖区域的任一角点的(Χ, Υ)坐标以及遮盖区域的 宽度和高度;
    第四确定子单元, 用于确定该应用对应的窗口的遮盖区域完全遮盖该应用对应的窗口时, 确定 该应用对应的窗口的窗口显示状态为全遮盖, 该应用对应的窗口的遮盖区域没有完全遮盖该应用对 应的窗口时, 确定该应用对应的窗口的窗口显示状态为部分遮盖。
    19、 根据权利要求 17或 18所述的终端, 其特征在于,
    所述确定单元, 还用于根据该应用对应的窗口的 Ζ轴序小于终端其他窗口的 Ζ轴序, 确定显示 图像传输策略为降质传输所述窗口的图像或者不传输所述窗口的图像, 或者根据该应用对应的窗口 的遮盖区域与显示区域的比例大于一定阈值时, 确定显示图像传输策略为降质传输所述窗口的图像 或者不传输所述窗口的图像;
    所述发送单元, 还用于将确定显示图像传输策略发送给服务器。
    20、 一种窗口的显示系统, 其特征在于, 包括如权利要求 8- 13中任一所述的服务器以及如权利 要求 17-19中任一所述的终端。
CN201280001095.8A 2012-08-22 2012-08-22 窗口图像的传输方法、显示方法、终端、服务器及系统 Active CN103959246B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2012/080475 WO2014029091A1 (zh) 2012-08-22 2012-08-22 窗口图像的传输方法、显示方法、终端、服务器及系统

Publications (2)

Publication Number Publication Date
CN103959246A true CN103959246A (zh) 2014-07-30
CN103959246B CN103959246B (zh) 2017-03-08

Family

ID=50149354

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201280001095.8A Active CN103959246B (zh) 2012-08-22 2012-08-22 窗口图像的传输方法、显示方法、终端、服务器及系统

Country Status (2)

Country Link
CN (1) CN103959246B (zh)
WO (1) WO2014029091A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114217758A (zh) * 2021-12-01 2022-03-22 深圳Tcl新技术有限公司 图像显示方法、装置、电子设备及计算机可读存储介质

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107508886A (zh) * 2017-08-24 2017-12-22 西安万像电子科技有限公司 应用显示方法及装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020196279A1 (en) * 1995-11-13 2002-12-26 Marc Bloomfield Interacting with software applications displayed in a web page
CN1645320A (zh) * 2005-01-31 2005-07-27 浙江大学 确定图形用户界面中窗口剪切关系的方法
CN102436350A (zh) * 2011-12-06 2012-05-02 北京航空航天大学 远程应用窗口显示方法、服务器及用户终端

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020196279A1 (en) * 1995-11-13 2002-12-26 Marc Bloomfield Interacting with software applications displayed in a web page
CN1645320A (zh) * 2005-01-31 2005-07-27 浙江大学 确定图形用户界面中窗口剪切关系的方法
CN102436350A (zh) * 2011-12-06 2012-05-02 北京航空航天大学 远程应用窗口显示方法、服务器及用户终端

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
郑昌睿 等: "多窗口显示管理算法及其实现", 《小型微型计算机系统》 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114217758A (zh) * 2021-12-01 2022-03-22 深圳Tcl新技术有限公司 图像显示方法、装置、电子设备及计算机可读存储介质

Also Published As

Publication number Publication date
WO2014029091A1 (zh) 2014-02-27
CN103959246B (zh) 2017-03-08

Similar Documents

Publication Publication Date Title
US11303881B2 (en) Method and client for playing back panoramic video
US7667704B2 (en) System for efficient remote projection of rich interactive user interfaces
US10902663B2 (en) Method and apparatus for displaying 2D application interface in virtual reality device
CN102375718A (zh) 在无线显示表面上显示特定窗口
CN103348695B (zh) 针对图形的低延时无线显示器
CN102375687B (zh) 在无线显示表面上显示计算机桌面
CN112235626B (zh) 视频渲染方法、装置、电子设备及存储介质
CN108108140B (zh) 一种多屏协同显示方法及存储装置及支持3d显示的设备
US20200259931A1 (en) Multimedia information sharing method, related apparatus, and system
JP2013514044A (ja) ビデオディスプレイシステムのためのデコンポーズドマルチストリーム(dms)技法
CN103336816A (zh) 安卓系统上基于GPU实现的Canvas元素渲染方法及装置
CN102413150A (zh) 服务器、虚拟桌面控制方法以及虚拟桌面控制系统
CN112905289A (zh) 应用画面的显示方法、装置、终端、投屏系统及介质
CN109413508A (zh) 图像混合的方法、装置、设备、推流方法及直播系统
CN116821040B (zh) 基于gpu直接存储器访问的显示加速方法、装置及介质
CN113596571B (zh) 屏幕分享方法、装置、系统、存储介质以及计算机设备
CN103959246A (zh) 窗口图像的传输方法、显示方法、终端、服务器及系统
CN111459432B (zh) 虚拟内容的显示方法、装置、电子设备及存储介质
CN111111175A (zh) 一种游戏画面生成方法、装置和移动终端
CN101520719B (zh) 画面分享系统以及画面分享方法
JP5328852B2 (ja) 画像処理装置、画像処理方法、プログラム及び情報記憶媒体
CN114840159A (zh) 一种渲染上屏方法、装置、设备及介质
CN110278479A (zh) 一种图片显示方法及电视机
CN112395035B (zh) 一种基于3d大屏的动画播放方法、装置、设备及介质
JP7278850B2 (ja) ビデオランダムアクセスメモリにおけるマルチソースメディアをオーバーレイするシステム及び方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant