一种远程桌面视频编码的方法及装置制造方法及图纸

技术编号:16458505 阅读:46 留言:0更新日期:2017-10-25 22:56
本发明专利技术实施例提供一种远程桌面视频编码的方法及装置,其中,所述方法包括对远程桌面中的窗口状态进行监测,确定当前帧的活动窗口;从预先建立的参考帧列表中提取与所述当前帧的活动窗口相匹配的目标参考帧;根据提取出的目标参考帧对当前帧进行编码。本发明专利技术实施例提供的一种远程桌面视频编码的方法及装置,能够解决当前编码器占用CPU较高的问题。

Method and device for remote desktop video coding

The embodiment of the invention provides a method and a device for remote desktop video encoding which, the method includes monitoring a remote desktop window in the state, to determine the current frame window; extracting target reference frame and the current frame of the active window matching from the reference frame list established beforehand; according to the current frame of reference frame encoding target extraction. The method and the device for remote desktop video coding provided by the embodiment of the invention can solve the problem that the current encoder occupies high CPU.

【技术实现步骤摘要】
一种远程桌面视频编码的方法及装置
本专利技术实施例涉及视频编码
,尤其涉及一种远程桌面视频编码的方法及装置。
技术介绍
随着移动通信技术的发展,人们可以借助桌面云,通过与网络连接的设备来访问跨平台的应用程序以及整个客户桌面。在桌面云中,远程桌面是一项核心技术,远程桌面指的是对于如何以较高的画质、较小的延时、较低的带宽占用将云中的桌面实时地传送至远程云终端上。现在较常用的远程桌面协议有微软的远程桌面协议(RDP,RemoteDesktopProtocol)、威睿(VMWare)的PCoIP(PC-over-IP)、思杰(Citrix)的独立计算体系结构(ICA,IndependentComputingArchitecture)及开源的简单协议独立计算环境(SPICE,SimpleProtocolforIndependentComputingEnvironment)等,其中,RDP存在一定的限制,如只能在windows系统启动后客户端才能连接看到桌面,不能看到包括基本输入输出系统(BIOS,BasicInputOutputSystem)自检等开机过程,RDP虚拟机也必须配置IP地址客户端才能连接等;PCoIP、CTRIX都是商业化的闭源协议,以上三种协议自研系统很难整合;SPICE协议占用带宽太高,在低带宽条件下用户体验不好。基于以上缺陷,目前国际国内广泛应用H264协议来作为视频编解码标准。H264协议一种视频编码标准,是国际标准化组织(ISO)和国际电信联盟(ITU)共同提出的继MPEG4之后的新一代数字视频压缩格式,具备高质量、容错率强、网络适应性强等优势。然而,H264协议对桌面进行实时编码时,编码器占用CPU较高,特别是用户在使用过程中发生切换窗口操作时,CPU及带宽占用都比较高。
技术实现思路
本专利技术实施例提供一种远程桌面视频编码的方法及装置,能够节省编码器的CPU计算量,同时节省网络带宽。本专利技术实施例提供一种远程桌面视频编码的方法,所述方法包括:对远程桌面中的窗口状态进行监测,确定当前帧的活动窗口;从预先建立的参考帧列表中提取与所述当前帧的活动窗口相匹配的目标参考帧;根据提取出的目标参考帧对当前帧进行编码。本专利技术实施例提供一种远程桌面视频编码的装置,所述装置包括:活动窗口确定单元,用于对远程桌面中的窗口状态进行监测,确定当前帧的活动窗口;目标参考帧确定单元,用于从预先建立的参考帧列表中提取与所述当前帧的活动窗口相匹配的目标参考帧;编码单元,用于根据提取出的目标参考帧对当前帧进行编码。与现有技术相比,本专利技术实施例提供的一种远程桌面视频编码的方法及装置,通过将远程桌面的窗口与预设的参考帧列表中的参考帧对应起来,从而可以在发生窗口切换时能选择与当前帧的活动窗口相匹配的参考帧,并将选择的参考帧进行远程传输,该参考帧列表中均可以为经过编码的参考帧,那么在发生窗口切换时,由于待编码帧与参考帧较相似,因此可以使用与当前帧的活动窗口相匹配的参考帧,从而可以减少编码器CPU的计算时间,同时还能降低网络带宽的占用率。本专利技术的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本专利技术而了解。本专利技术的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。附图说明附图用来提供对本专利技术技术方案的进一步理解,并且构成说明书的一部分,与本专利技术的实施例一起用于解释本专利技术的技术方案,并不构成对本专利技术技术方案的限制。图1为本专利技术实施例提供的一种远程桌面视频编码的方法流程图;图2为本专利技术实施例提供的一种远程桌面视频编码的方法中窗口监测步骤的流程图;图3为本专利技术实施例提供的一种远程桌面视频编码的方法中编码器的工作流程图;图4为本专利技术实施例提供的一种远程桌面视频编码的装置功能模块图。具体实施方式为使本专利技术的目的、技术方案和优点更加清楚明白,下文中将结合附图对本专利技术的实施例进行详细说明。需要说明的是,在不冲突的情况下,本专利技术中的实施例及实施例中的特征可以相互任意组合。在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行。并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。图1为本专利技术实施例提供的一种远程桌面视频编码的方法流程图。如图1所示,所述方法包括以下步骤:步骤11:对远程桌面中的窗口状态进行监测,确定当前帧的活动窗口。在本专利技术实施方式中,在远程桌面中,当从一个窗口切换至另一个窗口时,窗口的状态也会随之改变。例如,当使用第一窗口时,所述第一窗口可以处于活动状态,而当从第一窗口切换至第二窗口时,所述第一窗口便不再处于活动状态,此时所述第二窗口则处于活动状态。图2为本专利技术实施例提供的一种远程桌面视频编码的方法中窗口监测步骤的示意图。在本专利技术实施方式中,可以在远程桌面所在的操作系统中注入全局钩子,从而通过所述全局钩子对桌面上的窗口状态进行监测。在操作系统中,钩子(hook)可以利用应用程序编程接口(API,ApplicationProgrammingInterface)来拦截并处理系统消息。钩子实际上是一个处理消息的程序段,可以通过系统调用将其挂入系统。每当特定的消息发出,在没有到达目的窗口前,钩子程序就可以先捕获该消息,也就是说钩子函数可以先得到控制权,这时钩子函数即可以分析该消息,也可以不作处理而继续传递该消息,还可以强制结束消息的传递。对每种类型的钩子由系统来维护一个钩子链,最后安装的钩子放在链的开始,而最先安装的钩子放在链的末尾,也就是后加入的钩子先获得控制权。在本专利技术实施方式中,要实现在系统中注入钩子,可以调用软件开发工具包(SDK,SoftwareDevelopmentKit)中的API函数SetWindowsHookEx来安装这个钩子函数,这个函数的原型是HHOOKSetWindowsHookEx(intidHook,HOOKPROClpfn,HINSTANCEhMod,DWORDdwThreadId),其中,括号内的第一个参数idHook是钩子函数的类型;第二个参数HOOKPROClpfn是钩子函数的地址;第三个参数HINSTANCEhMod是包含钩子函数的模块句柄;第四个参数DWORDdwThreadId指定监视的线程。如果指定确定的线程,即为线程专用钩子;如果指定为空,即为全局钩子。因此,在本专利技术实施方式中,可以将第四个参数指定为空,从而可以在系统中注入全局钩子。全局钩子的函数可以包含在动态链接库(DLL,DynamicLinkLibrary)中,而线程专用钩子还可以包含在可执行文件中。得到控制权的钩子函数在完成对消息的处理后,如果想要该消息继续传递,那么它可以调用另外一个SDK中的API函数CallNextHookEx来传递该消息。钩子函数也可以通过直接返回TRUE来丢弃该消息,并阻止该消息的传递。在本专利技术实施方式中,可以在桌面所在的操作系统中注入全局钩子,通过所述全局钩子截获所述桌面内的窗口事件;然后可以对截获的所述窗口事件进行分析,从而可以确定所述桌面内当前帧的活动窗口;在确定得到当前帧的活动窗口后,便可以将所述当前帧的活动窗口上报至编码器,以进行后续的处理。本文档来自技高网
...
一种远程桌面视频编码的方法及装置

【技术保护点】
一种远程桌面视频编码的方法,其特征在于,包括:对远程桌面中的窗口状态进行监测,确定当前帧的活动窗口;从预先建立的参考帧列表中提取与当前帧的活动窗口相匹配的目标参考帧;根据提取出的目标参考帧对当前帧进行编码。

【技术特征摘要】
1.一种远程桌面视频编码的方法,其特征在于,包括:对远程桌面中的窗口状态进行监测,确定当前帧的活动窗口;从预先建立的参考帧列表中提取与当前帧的活动窗口相匹配的目标参考帧;根据提取出的目标参考帧对当前帧进行编码。2.根据权利要求1所述的方法,其特征在于,所述对远程桌面上的窗口状态进行监测,确定当前帧的活动窗口,包括:在所述远程桌面所在的操作系统中注入全局钩子,通过全局钩子截获所述远程桌面内的窗口事件;对截获的窗口事件进行分析,确定所述远程桌面内当前帧的活动窗口。3.根据权利要求1所述的方法,其特征在于,所述参考帧列表中的参考帧分别对应有标识;所述从预先建立的参考帧列表中提取与当前帧的活动窗口相匹配的目标参考帧,包括:在所述参考帧列表中确定与所述当前帧的活动窗口的标识相同的目标标识;将所述目标标识对应的参考帧确定为与所述当前帧的活动窗口相匹配的目标参考帧。4.根据权利要求3所述的方法,其特征在于,所述方法还包括:当所述预先建立的参考帧列表中不存在与所述当前帧的活动窗口的标识相同的目标标识时,将所述当前帧的上一帧对应的参考帧确定为与所述当前帧的活动窗口相匹配的目标参考帧。5.根据权利要求1所述的方法,其特征在于,所述方法还包括:将编码后的当前帧更新到所述参考帧列表中。6.根据权利要求5所述的方法,其特征在于,所述将编码后的当前帧更新到所述参考帧列表中,包括:将所述目标参考帧从所述参考帧列表中删除,将编码后的当...

【专利技术属性】
技术研发人员:胡振崔振峰吴迪黄小敏张宁曹颖陆剑峰秦延涛
申请(专利权)人:中兴通讯股份有限公司
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1