基于wddm的屏幕获取方法及带多显示器的计算机系统的利记博彩app

文档序号:6614022阅读:771来源:国知局
专利名称:基于wddm的屏幕获取方法及带多显示器的计算机系统的利记博彩app
技术领域
本发明涉及屏幕获取技术,尤其涉及一种基于Vista显示驱动模式(WDDM, Windows Vista Display Driver Model)的基于WDDM的屏幕获取方法及带多显 示器的计算机系统。
背景技术
随着网络技术的发展,通过截取计算机桌面图像,压缩后在其他计算机、 远程终端或远程显示设备(如网络投影机)上显示,以实现桌面共享、远程监 控及维护等应用越来越多。以NT技术中的XP操作系统桌面图像获取为例, 现有技术是加载XP显示驱动模式(XDDM, XP Display Driver Model)过滤/ 映象显示驱动程序,如镜像Mirror或设备驱动接口 DDI,实时映象当前显示屏 的各个更新,然后将映象后的数据进行压缩以并流的形式记录下来,并通过 TCP/IP技术等传送到远端显示终端上进行显示,从而达到远端共享或监控目 的。
伴随着Vista的上市,微软在Vista及其以后操作系统中,采用了一种不同 于XP显示驱动模式(XDDM, XP Display Driver Model)全新桌面显示架构 WDDM,在WDDM显示架构下,操作系统支持内容保护与Aero效果的桌面显 示。针对Vista的桌面获取存在以下问题,若想使获取的桌面图像支持Aero效 果,需要截取显示适配器处理后的显示图像数据,而Vista中的显示图像数据均 是加密了的数据,非指定的显示终端无法显示这些显示图像。而如果直接截取 显示适配器处理前的数据,将不支持Aero效果,远程用户体验将大打折扣。现 有技术中的屏幕图像获取技术并不适合操作系统Vista。

发明内容
有鉴于此,本发明的主要目的在于提供一种基于WDDM的屏幕获取方法 及带多显示器的计算机系统,能实现Vista屏幕图像的完整获取并支持远程Aero 效果的显示。
为达到上述目的,本发明的技术方案是这样实现的 一种基于WDDM的屏幕获取方法,包括 图像显示处理引擎输出显示图像绘制指令;
过滤驱动解析所述显示图像绘制指令,根据显示适配器的注册能力判断所 述显示适配器能否执行所述显示图像绘制指令,在所述显示适配器能执行所述 显示图像绘制指令时,将所述显示图像绘制指令传送至所述显示适配器;
所述显示适配器根据所述显示图像绘制指令生成显示图像数据并回传至所 述过滤驱动;
所述过滤驱动緩存所述显示图像数据。
其中,该方法还包括
所述过滤驱动将緩存的所述显示图像数据输出到指定的备用显示设备的输 入端口 。
其中,所述过滤驱动加载在图像显示处理引擎与显示适配器之间,所述显 示适配器向所述过滤驱动注册其能力信息,所述过滤驱动接管所述图像显示处 理引擎的图像绘制指令输出。
其中,所述过滤驱动将緩存的所述显示图像数据输出到指定的备用显示设 备的输入端口,具体为
判断当前緩存的待输出显示图像数据与前一 已输出显示图像数据比较是否 有更新,在更新时将更新部分输出到指定的备用显示设备的输入端口 。
一种带多显示器的计算机系统,包括
一主机;
至少二显示器,所述至少二个显示器都与所述主机连接;
5其中,所述主机中包括:图像显示处理引擎,连接于过滤加载单元,用于
向所述过滤加载单元输出显示图像绘制指令;过滤加栽单元, 一端连接于所述图像显示处理引擎,另一端连接于显示适配器,用于在接收到所述显示图像绘制指令时根据显示适配器的注册能力判断所述显示适配器能否执行所述显示图像绘制指令,在所述显示适配器能执行所述显示图像绘制指令时,将所述显示图像绘制指令传送至所述显示适配器;緩存所述显示适配器发送的所述显示图像数据;显示适配器,连接于所述过滤加载单元,根据接收的所述显示图像绘制指令生成显示图〗象数据并回传至所述过滤加载单元。
其中,所述至少二个显示器都与所述主机连接,具体为所述至少二个显示器中至少一个连接于所述主^L中的显示适配器的显示图形数据输出接口 ,其余的所述至少二个显示器中至少一个连接于所述主机中的过滤加载单元的显示图形数据输出接口 。
本发明针对现有屏幕获取技术不能应用于Vista操作系统的缺点,釆用在显示适配器与图像显示处理引擎之间加载过滤驱动,由过滤驱动接管显示适配器的能力注册,并代图像显示处理引擎发出显示图像绘制指令,显示适配器完成屏幕显示图像生成后,发送至过滤驱动进行緩存,再转发到远端的备用图像显示终端显示。本发明过滤驱动输出的屏幕显示图像数据与显示适配器输出的屏幕显示图像数据完全相同,因此过滤驱动输出的屏幕显示图像数据支持Vista的Aero效果,远端显示终端能达到本地显示终端一样的显示效果,并且,屏幕显示图像是在显示适配器输出数据之前获取的,无需远端显示终端进行解密处理。本发明实现筒单,所截取的屏幕显示图像与本地显示终端的图像质量相同。


图1为本发明基于WDDM的屏幕获取方法的流程图2为本发明带多显示器的计算机系统的组成结构示意图。
具体实施例方式
以下结合附图对本发明进行详细描述。
图1为本发明基于WDDM的屏幕获取方法的流程图,如图1所示,本发明基于WDDM的屏幕获取方法包括
步骤101:显示适配器与图像显示处理引擎之间加载过滤驱动。这里,图像显示处理引擎可为才喿作系统的内核服务,显示适配器为显示卡及其驱动等具有显示图像处理能力的软硬件结合体。
首先加载过滤驱动,使该过滤驱动接管操作系统中内核服务Dxgkml.sys的注册接口。内核服务Dxgkrnl.sys是操作系统完成图像显示管理的系统文件,其参与系统所有的图像生成管理。其次加载显示驱动,由于过滤驱动接管了内核服务Dxgkml.sys的注册接口 ,因此,所述显示驱动将应向内核服务Dxgkrnl.sys注册的操作系统要求的设置/命令接口,注册到所述过滤驱动中,最后由所述过滤驱动将过滤驱动注册的设置/命令接口再注册到内核服务Dxgkml.sys。这样,即在显示驱动与内核服务之间架设了一个代理方,由过滤驱动协调显示驱动与内核服务之间的指令交互,从而完成屏幕显示图像的生成。
步骤102:图像显示处理引擎输出显示图像绘制指令;过滤驱动解析所述显示图像绘制指令,根据显示适配器的注册能力判断所述显示适配器能否执行所述显示图像绘制指令,在所述显示适配器能执行所述显示图像绘制指令时,将所述显示图像绘制指令传送至所述显示适配器。操作系统接收到用户的屏幕显示图像绘制指令后,通过内核服务Dxgkml.sys发送至过滤驱动,过滤驱动接收到显示图像绘制指令后,进行解析,根据显示驱动向过滤驱动注册的各种能力来判断显示驱动是否支持当前的显示图像绘制指令,如果支持,则返回可执行显示图像绘制指令消息,如果不支持,则返回不可执行显示图像绘制指令消息。当接收到显示驱动不支持当前的显示图像绘制指令时,内核服务Dxgkml.sys向用户反馈该不支持消息。在显示驱动能执行所述显示图像绘制指令时,将所述显示图像绘制指令传送至所述显示适配器。步骤103:所述显示适配器根据所述显示图像绘制指令生成显示图像数据并回传至所述过滤驱动。显示显示适配器接收到所述显示图像绘制指令后,执行该显示图像绘制指令,完成显示图像的绘制,并将绘制完成的显示图像数据发送给过滤驱动。
步骤104:所述过滤驱动緩存所述显示图像凄史据并转送到远程显示终端的相应数据输入端口。过滤驱动緩存步骤103中所生成的待显示的屏幕图像数据,传送至显示适配器加密后直接由本地显示终端进行显示。同时,将緩存的数据通过设定的传送通道发送到远端显示终端的对应数据输入端口 ,由远端显示终端显示该屏幕图像。这样,即实现了本地屏幕图像的远端显示,实现图像共享/监控等。过滤驱动緩存的屏幕显示图像数据与显示显示适配器输出的屏幕显示图像数据完全相同,因此所缓存的屏幕图像数据完全支持Aero效果,由于所緩存并转发远端的屏幕图像数据并未经显示适配器的加密处理,因此远端显示终端无需解密即可正常显示。
作为一种优化的手段,步骤104中过滤驱动缓存显示图像数据后,判断该显示图像数据是否有更新,若更新则转发更新后的显示图像数据,若无更新则不转发所緩存的显示图像数据。当然,在检测到显示图像数据更新后,也可仅将更新区域的数据转发到远端显示终端指定端口 。
图2为本发明带多显示器的计算机系统的组成结构示意图,如图2所示,本发明带多显示器的计算机系统包括一主机IO和至少二显示器11,显示器11都与所述主机10连接。也就是说,本发明的至少二显示器中,有至少一个是本地的显示器,有至少一个是远端显示器。
其中,所述主机10中包括图像显示处理引擎101,连接于过滤加载单元102,用于向所述过滤加载单元102输出显示图像绘制指令;过滤加载单元102,一端连接于所述图像显示处理引擎101,另一端连接于显示适配器103,用于在接收到所述显示图像绘制指令时根据显示适配器103的注册能力判断所述显示适配器103能否执行所迷显示图像绘制指令,在所述显示适配器103能执行所述显示图像绘制指令时,将所述显示图像绘制指令传送至所述显示适配器103;緩存所述显示适配器103发送的所述显示图像数据;显示适配器103,连接于所述过滤加载单元102,根据接收的所述显示图像绘制指令生成显示图像数据并回传至所述过滤加载单元102。
过滤加载单元102即为设置在图像显示处理引擎101与显示适配器103之间的代理,过滤加载单元102接管显示适配器103的能力注册,同时接收图像显示处理引擎101的显示图像绘制指令,并下发给显示适配器103。本领域技术人员应当理解,图像显示处理引擎101可由操作系统的内核服务Dxgkrnl.sys来实现,显,适配器103可由显示卡及其驱动来实现。
本发明中,所述至少二个显示器都与所述主机连接,具体为至少一个显示器连接于所述主机10中的显示适配器103的显示图形数据输出接口 ,也即本地显示输出;至少一个显示器连接于所述主机10中的过滤加载单元102的显示图形数据输出接口,也即远端显示输出。
作为一种优化的手段,过滤加载单元102緩存显示图像数据后,判断当前待显示图像数据与前一显示图像数据相比是否有更新,若更新则向远端图像输出端口转发更新后的显示图像数据,若无更新则不转发所緩存的显示图像数据。当然,在检测到显示图像数据更新后,也可仅将更新区域的数据转发到远端显示终端指定端口 。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。
9
权利要求
1、一种基于WDDM的屏幕获取方法,其特征在于,该方法包括图像显示处理引擎输出显示图像绘制指令;过滤驱动解析所述显示图像绘制指令,根据显示适配器的注册能力判断所述显示适配器能否执行所述显示图像绘制指令,在所述显示适配器能执行所述显示图像绘制指令时,将所述显示图像绘制指令传送至所述显示适配器;所述显示适配器根据所述显示图像绘制指令生成显示图像数据并回传至所述过滤驱动;所述过滤驱动缓存所述显示图像数据。
2、 根据权利要求1所述的基于WDDM的屏幕获取方法,其特征在于,该 方法还包括所述过滤驱动将緩存的所述显示图像数据输出到指定的备用显示设备的输 入端口。
3、 根据权利要求l所述的基于WDDM的屏幕获取方法,其特征在于,所 述过滤驱动加栽在图像显示处理引擎与显示适配器之间,所述显示适配器向所 述过滤驱动注册其能力信息,所述过滤驱动接管所述图像显示处理引擎的图像 绘制指令输出。
4、 根据权利要求2所述的基于WDDM的屏幕获取方法,其特征在于,所 述过滤驱动将緩存的所述显示图像数据输出到指定的备用显示设备的输入端 口,具体为判断当前緩存的待输出显示图像数据与前一 已输出显示图像数据比较是否 有更新,在更新时将更新部分输出到指定的备用显示设备的输入端口 。
5、 一种带多显示器的计算机系统,其特征在于,该系统包括 一主机;至少二显示器,所述至少二个显示器都与所述主机连接;其中,所述主机中包括图像显示处理引擎,连接于过滤加载单元,用于向所述过滤加载单元输出显示图像绘制指令;过滤加载单元, 一端连接于所述 图像显示处理引擎,另一端连接于显示适配器,用于在接收到所述显示图像绘 制指令时根据显示适配器的注册能力判断所述显示适配器能否执行所述显示图 像绘制指令,在所述显示适配器能执行所述显示图^f象绘制指令时,将所述显示 图像绘制指令传送至所述显示适配器;緩存所述显示适配器发送的所述显示图 像数据;显示适配器,连接于所述过滤加载单元,才艮据接收的所述显示图像绘 制指令生成显示图像数据并回传至所述过滤加栽单元。
6、根据;f又利要求5所述的系统,其特征在于,所述至少二个显示器都与所 述主机连接,具体为所述至少二个显示器中至少一个连"l矣于所述主沖几中的显示适配器的显示图 形数据输出接口 ,其余的所述至少二个显示器中至少一个连接于所述主机中的 过滤加载单元的显示图形数据输出接口 。
全文摘要
本发明公开了一种基于WDDM的屏幕获取方法,涉及屏幕获取技术,为解决当前技术不适用Vista而提出,所采用的技术方案是图像显示处理引擎输出显示图像绘制指令;过滤驱动解析所述显示图像绘制指令,根据显示适配器的注册能力判断所述显示适配器能否执行所述显示图像绘制指令,在所述显示适配器能执行所述显示图像绘制指令时,将所述显示图像绘制指令传送至所述显示适配器;所述显示适配器根据所述显示图像绘制指令生成显示图像数据并回传至所述过滤驱动;所述过滤驱动缓存所述显示图像数据。本发明同时公开了一种利用上述方法的带多显示器的计算机系统。本发明实现简单,所截取的屏幕显示图像与本地显示终端的图像质量相同。
文档编号G06F3/14GK101464785SQ20071017971
公开日2009年6月24日 申请日期2007年12月17日 优先权日2007年12月17日
发明者飞 周, 孙成昆, 李洪伟, 焦悦光 申请人:联想(北京)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1