CN103677816A - 基于vnc的多屏互动方法及装置 - Google Patents
基于vnc的多屏互动方法及装置 Download PDFInfo
- Publication number
- CN103677816A CN103677816A CN201310638861.8A CN201310638861A CN103677816A CN 103677816 A CN103677816 A CN 103677816A CN 201310638861 A CN201310638861 A CN 201310638861A CN 103677816 A CN103677816 A CN 103677816A
- Authority
- CN
- China
- Prior art keywords
- window
- vnc
- preset value
- screen
- change
- 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
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本发明公开了一种基于VNC的多屏互动方法,包括:检测VNC Server桌面的屏幕变化率;如果检测的所述屏幕变化率大于或者等于第一预设值,则逐个检测所述VNC Server桌面中各个窗口的窗口变化率;如果存在窗口其窗口变化率大于或者等于第二预设值,则采用H264、JPEG或者MJPEG对该窗口进行编码;其中,所述第二预设值大于所述第一预设值;将编码后的所述窗口发送至VNC Viewer桌面。此外,还公开了一种基于VNC的多屏互动装置。本发明有效避免了当VNC Server桌面快速变化,比如播放视频或动画时,画面出现非常明显的卡壳和停顿等现象。
Description
技术领域
本发明涉及多屏互动技术领域,尤其涉及一种基于VNC的多屏互动方法和一种基于VNC的多屏互动装置。
背景技术
VNC(Virtual Network Computing,虚拟网络计算机)广泛应用于跨平台的远程桌面共享和控制,它使用RFB(Remote Frame Buffer,远程帧缓冲)协议,RFB协议中的编码方式主要包括Raw、Copy Rectangle、RRE、Hextile和ZRLE等方式。上述VNC所采用的这些编码方式的特点是编解码速度较快,但压缩率不高,这些编码对于用户一些普通应用,例如查看文件、浏览网页等来说,可以满足要求。但在需要屏幕高速变化的应用场景中,如观看视频时,屏幕的刷新可以达到每秒25帧左右,这样就需要对大量象素做高频率编码和解码。在这种情况下,上述编解码方式就不合适了。在屏幕高速变化的应用场景下,比如播放视频或动画时,可以采用H264、JPEG或者MJPEG等方式进行编解码。但H264、JPEG或者MJPEG这些方式在进行编解码时会消耗大量的CPU资源,并且资源的消耗与像素点的数目成正比,因此会出现非常明显的卡壳和停顿等现象。
发明内容
基于此,本发明提供了一种基于VNC的多屏互动方法和一种基于VNC的多屏互动装置。
一种基于VNC的多屏互动方法,包括以下步骤:
检测VNC Server桌面的屏幕变化率;
如果检测的所述屏幕变化率大于或者等于第一预设值,则逐个检测所述VNC Server桌面中各个窗口的窗口变化率;
如果存在窗口其窗口变化率大于或者等于第二预设值,则采用H264、JPEG或者MJPEG对该窗口进行编码;其中,所述第二预设值大于所述第一预设值;
将编码后的所述窗口发送至VNC Viewer桌面。
与一般技术相比,本发明基于VNC的多屏互动方法检测出VNC Server桌面中图像快速变化的窗口,对该窗口采用H264、JPEG或者MJPEG等方式进行编解码,而其它区域可沿用RFB的普通编码方式。这样做可以大大减少采用H264、JPEG或者MJPEG进行编解码时需要的CPU资源。有效避免了当VNCServer桌面快速变化,比如播放视频或动画时,画面出现非常明显的卡壳和停顿等现象。
一种基于VNC的多屏互动装置,包括检测模块、比较模块、编码模块和发送模块;
所述检测模块,用于检测VNC Server桌面的屏幕变化率;
以及当所述屏幕变化率大于或者等于第一预设值时,逐个检测所述VNCServer桌面中各个窗口的窗口变化率;
所述比较模块,用于对检测的所述屏幕变化率与第一预设值进行比较;
以及对各个窗口的窗口变化率与第二预设值进行比较;其中,所述第二预设值大于所述第一预设值;
所述编码模块,用于当存在窗口其窗口变化率大于或者等于第二预设值时,采用H264、JPEG或者MJPEG对该窗口进行编码;
所述发送模块,用于将编码后的所述窗口发送至VNC Viewer桌面。
与一般技术相比,本发明基于VNC的多屏互动装置检测出VNC Server桌面中图像快速变化的窗口,对该窗口采用H264、JPEG或者MJPEG等方式进行编解码,而其它区域可沿用RFB的普通编码方式。这样做可以大大减少采用H264、JPEG或者MJPEG进行编解码时需要的CPU资源。有效避免了当VNCServer桌面快速变化,比如播放视频或动画时,画面出现非常明显的卡壳和停顿等现象。
附图说明
图1为本发明基于VNC的多屏互动方法的流程示意图;
图2为本发明基于VNC的多屏互动装置的结构示意图。
具体实施方式
为更进一步阐述本发明所采取的技术手段及取得的效果,下面结合附图及较佳实施例,对本发明的技术方案,进行清楚和完整的描述。
请参阅图1,为本发明基于VNC的多屏互动方法的流程示意图。
本发明基于VNC的多屏互动方法,包括以下步骤:
S101检测VNC Server桌面的屏幕变化率;
S102如果检测的所述屏幕变化率大于或者等于第一预设值,则逐个检测所述VNC Server桌面中各个窗口的窗口变化率;
S103如果存在窗口其窗口变化率大于或者等于第二预设值,则采用H264、JPEG或者MJPEG对该窗口进行编码;其中,所述第二预设值大于所述第一预设值;
S104将编码后的所述窗口发送至VNC Viewer桌面。
在屏幕快速变化的应用场景中,例如视频或动画时,用户观看并不总是全屏看的,如果能判断出正在播放的窗口而只对该窗口采用H264、JPEG或者MJPEG等方式进行编码和解码(简称编解码),而其它区域沿用RFB的普通编码方式,就可以大大减少H264、JPEG或者MJPEG编解码时需要的CPU资源。通常VNC软件要求用户事先输入视频窗口的类名(Class Name)来确定视频窗口。但这种方式很不方便,首先用户往往不知道视频窗口的类名,而且窗口可能是处于播放完成停止或者暂停状态,而窗口处于停止或暂停状态时屏幕不会高速变化,这时没必要用H264、JPEG或者MJPEG编解码。
本发明中可对Windows PC系统自动识别桌面是否有快速变化而且找出相关的窗口。
作为其中一个实施例,通过安装于操作系统内的显卡镜像驱动来检测屏幕变化率。
Windows PC系统可以安装显卡镜像驱动,该驱动将自己当作虚拟显卡注册到Windows系统。当系统向显卡输出显示数据时,会同时输出一份到镜像驱动。镜像驱动能收到屏幕的每次变化并能检索每次发生变化的最小区域。
通过镜像驱动来检测屏幕变化率和窗口变化率,效果更好,更能准确的判断出屏幕或者窗口是否发生了快速变化。
如果用户进行文件查看,浏览网页等普通操作,屏幕变化的频率很低。如果用户观看视频,屏幕变化频率很高,镜像驱动收到的屏幕变化频率大于一个数值(例如第一预设值)时,说明屏幕某些区域可能快速变动。
作为其中一个实施例,所述逐个检测所述VNC Server桌面中各个窗口的窗口变化率的步骤,包括以下步骤:
将所述VNC Server桌面中各个窗口按从顶层至底层的顺序依次提取;
逐个检测提取的各个窗口的窗口变化率。
将当前系统可见的全部窗口按Z-顺序取出放到待选窗口列表。取出第一个待选窗口。
如果待选窗口M(M值可根据实际情况设定)毫秒内的变化频率大于或者等于一个固定数值(例如第二预设值)时,说明此窗口发生快速变化。
按顺序将屏幕上的各个窗口提取出来,才能按照用户实际的使用情况对窗口变化率进行判断,判断结果更加准确。能最大限度地节省编解码时的计算资源。
作为其中一个实施例,在所述逐个检测所述VNC Server桌面中各个窗口的窗口变化率的步骤之后,包括以下步骤:
如果不存在窗口其窗口变化率大于或者等于第二预设值,则暂停预设时长之后,重新进行检测。
当检测完一个窗口之后,然后从待选窗口列表里取出下一个待选窗口,然后进行检测。依次类推,直至检测完所有的待选窗口。从待选窗口列表取下一个待选窗口。如果有下一个待选窗口,则对其继续进行检测。如果没有说明上一个窗口已经是最后一个待选窗口,在这个时间段无法检测到快速变化的窗口,检测暂停N(N值可根据实际情况设定,也即上述预设时长)秒,再重新检测。
如果不存在窗口其窗口变化率大于或者等于第二预设值,则说明不存在快速变化的窗口,则可以暂停一定时间,然后再重启检测。这样做有利于在保证实现对快速变化的窗口进行编解码,实现本发明的目的的同时最大限度地节省计算资源。
对检测出来发生快速变化的窗口启动H264、JPEG或者MJPEG编解码。
作为其中一个实施例,所述采用H264、JPEG或者MJPEG对窗口进行编码的步骤之后,包括以下步骤:
继续检测该窗口的窗口变化率;
如果该窗口的窗口变化频率小于第三预设值,则停止采用H264、JPEG或者MJPEG对该窗口进行编码;其中所述第三预设值小于所述第二预设值。
对检测出来发生快速变化的窗口启动H264、JPEG或者MJPEG编解码的同时,启动窗口快速变化结束检测,如果快速变化窗口M(M值可根据实际情况设定)毫秒内变化频率小于或者等于第三预设值,说明此窗口已经结束快速变化。停止对该窗口的H264、JPEG或者MJPEG编解码。然后重新进行屏幕快速变化检测。
如果启动对窗口的编码之后,窗口变化率降低,变成了非快速变化的窗口,则立即停止对其进行编解码,有利于更进一步节省计算资源。
作为其中一个实施例,所述将编码后的所述窗口发送至VNC Viewer桌面的步骤之后,包括以下步骤:
对编码后的所述窗口进行解码。
在VNC Server端对快速变化的窗口进行编码之后,VNC将编码后的窗口发送至VNC Viewer端。然后在VNC Viewer端进行相应的H264、JPEG或者MJPEG解码,就可以实现本发明的基于VNC的多屏互动方法。
与一般技术相比,本发明基于VNC的多屏互动方法检测出VNC Server桌面中图像快速变化的窗口,对该窗口采用H264、JPEG或者MJPEG等方式进行编解码,而其它区域可沿用RFB的普通编码方式。这样做可以大大减少采用H264、JPEG或者MJPEG进行编解码时需要的CPU资源。有效避免了当VNCServer桌面快速变化,比如播放视频或动画时,画面出现非常明显的卡壳和停顿等现象。
请参阅图2,为本发明基于VNC的多屏互动装置的结构示意图。
本发明基于VNC的多屏互动装置,包括检测模块201、比较模块202、编码模块203和发送模块204;
所述检测模块201,用于检测VNC Server桌面的屏幕变化率;
以及当所述屏幕变化率大于或者等于第一预设值时,逐个检测所述VNCServer桌面中各个窗口的窗口变化率;
所述比较模块202,用于对检测的所述屏幕变化率与第一预设值进行比较;
以及对各个窗口的窗口变化率与第二预设值进行比较;其中,所述第二预设值大于所述第一预设值;
所述编码模块203,用于当存在窗口其窗口变化率大于或者等于第二预设值时,采用H264、JPEG或者MJPEG对该窗口进行编码;
所述发送模块204,用于将编码后的所述窗口发送至VNC Viewer桌面。
作为其中一个实施例,所述检测模块通过安装于操作系统内的显卡镜像驱动来检测屏幕变化率。
通过镜像驱动来检测屏幕变化率和窗口变化率,效果更好,更能准确的判断出屏幕或者窗口是否发生了快速变化。
作为其中一个实施例,如果不存在窗口其窗口变化率大于或者等于第二预设值,则暂停预设时长之后,所述检测模块重新进行检测。
如果不存在窗口其窗口变化率大于或者等于第二预设值,则说明不存在快速变化的窗口,则可以暂停一定时间,然后再重启检测。这样做有利于在保证实现对快速变化的窗口进行编解码,实现本发明的目的的同时最大限度地节省计算资源。
作为其中一个实施例,本发明基于VNC的多屏互动装置还包括解码模块;
所述解码模块,用于在所述发送模块将编码后的所述窗口发送至VNCViewer桌面之后,对编码后的所述窗口进行解码。
在VNC Server端对快速变化的窗口进行编码之后,VNC将编码后的窗口发送至VNC Viewer端。然后在VNC Viewer端进行相应的H264、JPEG或者MJPEG解码,就可以实现基于VNC的多屏互动。
与一般技术相比,本发明基于VNC的多屏互动装置检测出VNC Server桌面中图像快速变化的窗口,对该窗口采用H264、JPEG或者MJPEG等方式进行编解码,而其它区域可沿用RFB的普通编码方式。这样做可以大大减少采用H264、JPEG或者MJPEG进行编解码时需要的CPU资源。有效避免了当VNCServer桌面快速变化,比如播放视频或动画时,画面出现非常明显的卡壳和停顿等现象。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种基于VNC的多屏互动方法,其特征在于,包括以下步骤:
检测VNC Server桌面的屏幕变化率;
如果检测的所述屏幕变化率大于或者等于第一预设值,则逐个检测所述VNC Server桌面中各个窗口的窗口变化率;
如果存在窗口其窗口变化率大于或者等于第二预设值,则采用H264、JPEG或者MJPEG对该窗口进行编码;其中,所述第二预设值大于所述第一预设值;
将编码后的所述窗口发送至VNC Viewer桌面。
2.根据权利要求1所述的基于VNC的多屏互动方法,其特征在于,所述检测VNC Server桌面的屏幕变化率的步骤,包括以下步骤:
通过安装于操作系统内的显卡镜像驱动来检测屏幕变化率。
3.根据权利要求1所述的基于VNC的多屏互动方法,其特征在于,所述逐个检测所述VNC Server桌面中各个窗口的窗口变化率的步骤,包括以下步骤:
将所述VNC Server桌面中各个窗口按从顶层至底层的顺序依次提取;
逐个检测提取的各个窗口的窗口变化率。
4.根据权利要求1所述的基于VNC的多屏互动方法,其特征在于,在所述逐个检测所述VNC Server桌面中各个窗口的窗口变化率的步骤之后,包括以下步骤:
如果不存在窗口其窗口变化率大于或者等于第二预设值,则暂停预设时长之后,重新进行检测。
5.根据权利要求1所述的基于VNC的多屏互动方法,其特征在于,所述采用H264、JPEG或者MJPEG对窗口进行编码的步骤之后,包括以下步骤:
继续检测该窗口的窗口变化率;
如果该窗口的窗口变化频率小于第三预设值,则停止采用H264、JPEG或者MJPEG对该窗口进行编码;其中所述第三预设值小于所述第二预设值。
6.根据权利要求1所述的基于VNC的多屏互动方法,其特征在于,所述将编码后的所述窗口发送至VNC Viewer桌面的步骤之后,包括以下步骤:
对编码后的所述窗口进行解码。
7.一种基于VNC的多屏互动装置,其特征在于,包括检测模块、比较模块、编码模块和发送模块;
所述检测模块,用于检测VNC Server桌面的屏幕变化率;
以及当所述屏幕变化率大于或者等于第一预设值时,逐个检测所述VNCServer桌面中各个窗口的窗口变化率;
所述比较模块,用于对检测的所述屏幕变化率与第一预设值进行比较;
以及对各个窗口的窗口变化率与第二预设值进行比较;其中,所述第二预设值大于所述第一预设值;
所述编码模块,用于当存在窗口其窗口变化率大于或者等于第二预设值时,采用H264、JPEG或者MJPEG对该窗口进行编码;
所述发送模块,用于将编码后的所述窗口发送至VNC Viewer桌面。
8.根据权利要求7所述的基于VNC的多屏互动装置,其特征在于,所述检测模块通过安装于操作系统内的显卡镜像驱动来检测屏幕变化率。
9.根据权利要求7所述的基于VNC的多屏互动装置,其特征在于,如果不存在窗口其窗口变化率大于或者等于第二预设值,则暂停预设时长之后,所述检测模块重新进行检测。
10.根据权利要求7所述的基于VNC的多屏互动装置,其特征在于,还包括解码模块;
所述解码模块,用于在所述发送模块将编码后的所述窗口发送至VNCViewer桌面之后,对编码后的所述窗口进行解码。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310638861.8A CN103677816A (zh) | 2013-12-02 | 2013-12-02 | 基于vnc的多屏互动方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310638861.8A CN103677816A (zh) | 2013-12-02 | 2013-12-02 | 基于vnc的多屏互动方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103677816A true CN103677816A (zh) | 2014-03-26 |
Family
ID=50315483
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310638861.8A Pending CN103677816A (zh) | 2013-12-02 | 2013-12-02 | 基于vnc的多屏互动方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103677816A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104158804A (zh) * | 2014-08-07 | 2014-11-19 | 中国海洋大学 | 一种多屏互动方法 |
CN106227477A (zh) * | 2016-07-08 | 2016-12-14 | 中霆云计算科技(上海)有限公司 | 一种用于远程桌面协议的无损有损自动切换方法 |
CN106911958A (zh) * | 2015-12-23 | 2017-06-30 | 北京国双科技有限公司 | 视频检测方法和装置 |
CN108174200A (zh) * | 2017-11-28 | 2018-06-15 | 西安万像电子科技有限公司 | 图像传输方法及装置 |
CN111447444A (zh) * | 2020-03-13 | 2020-07-24 | 西安万像电子科技有限公司 | 图像处理方法及装置 |
CN115834930A (zh) * | 2022-11-16 | 2023-03-21 | 百度在线网络技术(北京)有限公司 | 视频帧传输方法、装置、电子设备及存储介质 |
-
2013
- 2013-12-02 CN CN201310638861.8A patent/CN103677816A/zh active Pending
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104158804A (zh) * | 2014-08-07 | 2014-11-19 | 中国海洋大学 | 一种多屏互动方法 |
CN106911958A (zh) * | 2015-12-23 | 2017-06-30 | 北京国双科技有限公司 | 视频检测方法和装置 |
CN106911958B (zh) * | 2015-12-23 | 2019-10-25 | 北京国双科技有限公司 | 视频检测方法和装置 |
CN106227477A (zh) * | 2016-07-08 | 2016-12-14 | 中霆云计算科技(上海)有限公司 | 一种用于远程桌面协议的无损有损自动切换方法 |
CN108174200A (zh) * | 2017-11-28 | 2018-06-15 | 西安万像电子科技有限公司 | 图像传输方法及装置 |
CN111447444A (zh) * | 2020-03-13 | 2020-07-24 | 西安万像电子科技有限公司 | 图像处理方法及装置 |
CN115834930A (zh) * | 2022-11-16 | 2023-03-21 | 百度在线网络技术(北京)有限公司 | 视频帧传输方法、装置、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103677816A (zh) | 基于vnc的多屏互动方法及装置 | |
JP5638666B2 (ja) | シームレスな表示移行 | |
US8630512B2 (en) | Dynamic client-server video tiling streaming | |
RU2506715C2 (ru) | Передача изменяющегося визуального контента | |
US9807140B2 (en) | Method, terminal, and system for reproducing content | |
CN110647375A (zh) | 云桌面的图像渲染方法、装置和云服务器 | |
US20120306737A1 (en) | Gesture-based prioritization of graphical output on remote displays | |
EP2470976B1 (en) | Method and system for display output stutter | |
TWI495330B (zh) | 有效地串流數位視訊的系統及方法 | |
CN103248946A (zh) | 一种视频图像快速传输的方法及系统 | |
US9778894B2 (en) | System and method for outputting extended display identification data to another electronic device to achieve power savings | |
WO2016165594A1 (zh) | 一种参数调节方法及装置 | |
US9013540B2 (en) | Method for switching shared content in a video conference and a video conference system | |
CN103888840A (zh) | 一种视频移动终端实时拖动与缩放的方法及装置 | |
CN115883899A (zh) | 图像同屏播放方法、系统、电子设备及可读存储介质 | |
US20130246510A1 (en) | Remote control system, client device, and server device | |
CN109168061B (zh) | 播放装置及其控制方法 | |
CN107004018B (zh) | 数据处理方法及装置 | |
US20110285821A1 (en) | Information processing apparatus and video content playback method | |
US9270916B2 (en) | Method and system of improving quality of video beaming | |
WO2022161310A1 (zh) | 显示方法、装置和电子设备 | |
US20020154889A1 (en) | Video pre-processing/post-processing method for processing video efficiently and pre-processing/post-processing apparatus using the same | |
US20150106733A1 (en) | Terminal device, thin client system, display method, and recording medium | |
KR102186841B1 (ko) | 영상표시장치 및 영상표시장치 동작 방법 | |
US10140493B1 (en) | Method and apparatus for taking action based on coded graphical object in video content |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20140326 |
|
RJ01 | Rejection of invention patent application after publication |