一种用于远程桌面协议的无损有损自动切换方法与流程

文档序号:13760134阅读:750来源:国知局

本发明涉及一种无损有损自动切换方法,尤其是涉及一种用于远程桌面协议的无损有损自动切换方法。



背景技术:

远程桌面协议是将远程桌面的屏幕更新传送到用户客户端显示,为了保证最佳的用户体验,在用户客户端进行显示时需要根据屏幕内容类型的不同采取不同的编码类型,编码类型包括有损编码和无损编码。比如在用AutoCAD,PhotoShop等应用做设计时,需要完全还原远程桌面屏幕内容,因此需要采用无损编码,而其他启用的办公应用如Office应用时,采用有损或者无损编码都可以,而在播放视频或者变化很快的游戏画面时,必须采用有损编码来降低数据的传输带宽,保证视频类画面的流畅显示。

现有技术采用的方案主要是根据屏幕区域的变化速度来判断是否进行有损还是无损编码,这种方式不一定准确,比如在IE浏览器快速用鼠标滚动时会切换到有损方式,但是此时用户可能不希望看到有损的方式,用户体验较差。



技术实现要素:

本发明的目的就是为了克服上述现有技术存在的缺陷而提供一种用于远程桌面协议的无损有损自动切换方法。

本发明的目的可以通过以下技术方案来实现:

一种用于远程桌面协议的无损有损自动切换方法,该方法包括如下步骤:

(1)监控远程桌面上的画面变化速度及相应的运行进程;

(2)判断远程桌面上画面变化速度是否超过设定值,若是将运行进程与保存的进程编码表进行对比,执行步骤(3),否则执行步骤(4);

(3)判断运行进程在进程编码表中是否对应为有损进程,若是则远程桌面上的画面内容通过有损编码方式进行编码输出,否则执行步骤(4);

(4)将远程桌面上的画面内容通过有损编码方式进行编码输出。

步骤(1)中远程桌面的画面变化速度通过如下方式获得:实时监控远程桌面上的画面变化,当画面发生变化时将变化区域采用一个能包含整个变化区域的矩形框框出,同时检测出该矩形框的尺寸大小,该矩形框以及对应的尺寸带下存储至历史队列中,通过一定时间内历史队列中存储的矩形框的总尺寸大小获得画面变化速度。

步骤(1)中远程桌面上的运行进程通过钩子函数进行监控。

所述的监控远程桌面上的画面变化用过钩子函数进行监控。

所述的进程编码表包括进程名称以及对应的编码类型,所述的编码类型包括有损进程和无损进程。

与现有技术相比,本发明具有如下优点:

(1)本发明采用画面变化区域的变化速度检测和进程检测相结合的方法来判断是采用无损还是有损编码,提高了判断的准确性,提高用户体验;

(2)本发明远程桌面的画面变化速度的检测通过检测设定时间内的画面变化区域的尺寸大小来获取,当设定时间内画面变化区域的总尺寸大小较大时则画面变化速度较快,这种方式方便实现。

附图说明

图1为本发明用于远程桌面协议的无损有损自动切换方法的流程框图。

具体实施方式

下面结合附图和具体实施例对本发明进行详细说明。

实施例

一种用于远程桌面协议的无损有损自动切换方法,该方法包括如下步骤:

(1)监控远程桌面上的画面变化速度及相应的运行进程,该步骤中通过钩子函数实现运行进程的监控;

(2)判断远程桌面上画面变化速度是否超过设定值,若是将运行进程与保存的进程编码表进行对比,执行步骤(3),否则执行步骤(4),其中进程编码表包括进程名称以及对应的编码类型,所述的编码类型包括有损进程和无损进程;

(3)判断运行进程在进程编码表中是否对应为有损进程,若是则远程桌面上的画面内容通过有损编码方式进行编码输出,否则执行步骤(4);

(4)将远程桌面上的画面内容通过有损编码方式进行编码输出。

其中,步骤(1)中远程桌面的画面变化速度通过如下方式获得:通过钩子函数实时监控远程桌面上的画面变化,当画面发生变化时将变化区域采用一个能包含整个变化区域的矩形框框出,同时检测出该矩形框的尺寸大小,该矩形框以及对应的尺寸带下存储至历史队列中,通过一定时间内历史队列中存储的矩形框的总尺寸大小获得画面变化速度。

本发明远程桌面的画面变化速度的检测通过检测设定时间内的画面变化区域的尺寸大小来获取,当设定时间内画面变化区域的总尺寸大小较大时则画面变化速度较快,这种方式方便实现。

具体地,本发明的用于远程桌面协议的无损有损自动切换方法流程图如图1所示:

执行步骤1:监控远程桌面上的画面,执行步骤2;

步骤2:监控运行进程,执行步骤3;

步骤3:将进程编码表载入到远程桌面上,执行步骤4;

步骤4:检测到远程桌面上的画面变化执行步骤5;

步骤5:将变化区域采用一个能包含整个变化区域的矩形框框出,同时检测出该矩形框的尺寸大小,该矩形框以及对应的尺寸带下存储至历史队列中,执行步骤6;

步骤6:从历史队列中获取设定时间内的矩形框,每个矩形框代表的是变化区域,判断所有矩形框的总尺寸大小是否大于设定值,若是则执行步骤7,否则执行步骤9;该步骤6即实现了远程桌面的画面变化速度的判定;

步骤7:判断步骤2中监控的当前进程是否为有损进程,若是执行步骤8,否则执行步骤9;

步骤8:将远程桌面上的画面内容通过有损编码方式进行编码输出,执行步骤10;

步骤9:将远程桌面上的画面内容通过无损编码方式进行编码输出,执行步骤10;

步骤10:判断是否完成远程传输,若是则结束,否则返回步骤4。

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