多重显示器控制方法及其系统的制作方法

文档序号:6427655阅读:111来源:国知局
专利名称:多重显示器控制方法及其系统的制作方法
技术领域
本发明涉及一种显示器的控制方法与系统,特别是涉及一种多重显示器的控制方法与系统。
背景技术
目前市面上已有许多多重显示器的技术,例如,利用多重输出转接器(multiple output adapter)扩增显示器的数量、使用多部的计算机驱动多个显示器、利用显示器的功能将一个视讯来源提供至多个显示器、或以外部交换器(external switch)将多个显示器组合成显示墙。上述所提的各种技术各有优缺点,但整体而言,实现的技术常常过于复杂、 昂贵或是缺乏高解析度影像的支持能力,其中最重要的是缺乏三维影像显示技术,例如微
(Microsoft Corporation)(Direct3D runtime library)白勺$持。三维影像显示技术,例如Direct3D,包括Direct3D影像应用或DirectSiow视频影片应用等皆需要使用Direct3D的程序库来处理影像的内容。但是目前Direct3D程序库只能识别逻辑上的一个显示器,意即若将一个应用程序的视窗显示于多重显示器上,就算目前多重显示器之中的多个显示器是由多个图形处理器(graphics processing unit,简称GPU)所控制,视窗(Windows)操作系统仍是只能在其中的一个图形处理器处理并绘制好 Direct3D的影像,再将此影像根据显示位置复制至各个图形处理器以供显示。上述复制是由操作系统执行,而无图形处理器加速,所以非常缓慢。相较于建立一般的二维影像内容,建立三维影像数据的显示内容的运算复杂度较为复杂。因此,如何在考量经济成本的情况下,加速建立三维影像数据的显示内容并显示于多重显示器上,成为一个需要解决的问题。

发明内容
本发明提供一种多重显示器的控制方法,以控制多个图形处理器同时处理并显示影像于多重显示器上。本发明提供一种多重显示器的控制系统,以控制器分派多个命令控制多个图形处理器,使得多个图形处理器可以同时处理并显示影像于多重显示器上。本发明提供一种多重显示器控制方法,用于控制多个图形处理器,其中每一上述图形处理器控制至少一显示器。上述多重显示器控制方法包括以下步骤。提供和一操作系统的程序库相同的图形接口,并取代此程序库,以图形接口自应用程序接收命令;根据应用程序的显示区域的位置,决定多个图形处理器的一集合,此集合包括所控制的显示器画面与显示区域有交集的每一图形处理器;以及根据显示区域在集合的每一个图形处理器所控制的显示器画面的第一交集区域,并分派命令至集合的每一图形处理器。本发明提供一种多重显示器控制系统,用于控制多个图形处理器,其中每一图形处理器控制一个至多个显示器。多重显示器控制系统包括一存储器及一控制器。控制器提供和一操作系统的程序库相同的图形接口,并取代程序库以图形接口自应用程序接收命令。控制器根据应用程序的显示区域的位置,决定多个图形处理器的一集合,此集合包括所控制的显示器画面与显示区域有交集的每一个图形处理器。控制器根据显示区域在集合的每一个图形处理器所控制的显示器画面的第一交集区域,分派命令至集合中的每一个图形处理器。控制器亦将集合与上述第一交集区域记录在存储器。基于上述,本发明可从应用程序接受命令,并分派指令至所控制的显示器画面与应用程序的显示区域有交集的每个图形处理器,使这些图形处理器分别处理所交集区域的影像内容并同时显示于多重显示器上,减少了在多重显示器上显示影像的所需时间。为使本发明的上述特征和优点能更明显易懂,下文特举实施例,并结合附图详细说明如下。


图1示出了本发明一实施例的多重显示器控制系统的示意图。图2示出了本发明一实施例的多重显示器控制方法的步骤流程图。图3A及图:3B示出了本发明一实施例中,一实施方式的显示区域及显示器画面的关系示意图。图4示出了本发明一实施例中,分派命令至集合的每个图形处理器的步骤的流程图。图5示出了本发明一实施例中,分派命令至集合的每一图形处理器,而命令包括绘制显示区域中的纹理图案的步骤的流程图。图6示出了本发明一实施例中,分派命令至集合的每一图形处理器,而命令包括显示区域中的纹理图案的步骤的流程图。图7示出了本发明一实施例中,显示区域中的一纹理图案于显示器上显示的实施方式的示意图。图8A及图8B示出了本发明一实施例中,应用程序的显示区域改变的实施方式的示意图。图9示出了本发明一实施例的多重显示器控制系统的示意图。附图符号说明101,901 应用程序102、902:图形接口103:中介软件903 多重显示器控制系统9031 控制器9032 存储器104,904 驱动程序1051 105n、9051 905η 图形处理器106,906 多重显示器211、212、213、214、311 313、321 323、331 333、711、712、721、722、811
814 显示器
All A14、A21 A24、A71 A74、B11、B21 交集区域APIA、APIB, AP7、AP8A、AP8B 显示区域S201 S203、S400、S401、S403、S411、S412、S501 S504、S601S604 步骤
具体实施例方式图1示出了本发明一实施例的多重显示器控制系统的示意图。请参照图1,应用程序101与图形接口 102相连接,用以发出显示所需的命令。图形接口 102分别与应用程序 101及中介软件103相接,自应用程序101接收命令,并传送至中介软件103。其中,应用程序101、中介软件103、以及驱动程序104都在一个操作系统中执行。中介软件103提供图形接口 102,图形接口 102与上述操作系统其中的一程序库的图形接口相同。此外,中介软件103也具备和上述程序库相同的功能。因此,中介软件103可取代上述程序库接收应用程序101的命令,并对应用程序透明。上述的操作系统可以是微软公司的视窗操作系统,上述的程序库可以是Direct3D程序库,或OpenGL不过本发明不以此为限。在其他实施例中, 可用类似的操作系统和程序库分别替代上述的视窗操作系统和Direct3D程序库。请继续参照图1。中介软件103与图形接口 102相接,接收通过图形接口 102传送的应用程序101的命令至操作系统原始接口 107,操作系统原始接口 107通过驱动程序104 分派上述命令至一个至多个图形处理器1051 105η,分派命令的动作以下将另外详细说明。驱动程序104分别与操作系统原始接口 107及一个至多个图形处理器1051 105η相接,将自中介软件103接收的命令转译并分派至所属的图形处理器1051 105η。图形处理器1051 105η与驱动程序104相接,接收由驱动程序104转译的命令,并根据上述命令控制多重显示器106。多重显示器106由一个至多个显示器所组成,与一个至多个图形处理器 1051 105η相接。其中,每一个图形处理器1051 105η可控制多重显示器106其中的一个至多个显示器,并将其所处理绘制的显示内容显示于其所控制的一个至多个显示器。图2示出了本发明一实施例的多重显示器控制方法的步骤流程图,此控制方法可由中介软件103执行。请参照图2,首先于步骤S201,本方法提供和操作系统的某一程序库相同的图形接口,例如图1中的图形接口 102,并取代此程序库以此图形接口向应用程序接受命令,例如图1中的中介软件103。接着,于步骤S202,根据应用程序的显示区域位置决定上述多个图形处理器的一个集合。此集合中包括了所控制的显示器画面与上述显示区域有交集的每一个图形处理器。另外,显示区域则为应用程序在显示器的画面上所显示的视窗。然后于步骤S203,根据应用程序的显示区域在集合中每个图形处理器所控制的显示器画面的第一交集区域,分派命令至集合中的每个图形处理器。图3Α示出了本发明一实施例中,一实施方式的显示区域及显示器画面的关系示意图。首先请参照图3Α,在图3Α中显示器211、212、213、和214分别由四个图形处理器 GP11、GP12、GP13和GP14(未绘示)所控制。显示区域APIA表示目前应用程序的视窗大小及位置,由于显示区域APIA与显示器211、212、213、和214的画面皆有交集,因此在本实施例中的集合包含图形处理器GP11、GP12、GP13和GP14四个处理器。显示区域APIA与显示器211、212、213、和214的画面的交集区域即为第一交集区域All、A12、A13和A14,分别对应于显示器211、212、213、和214。因此集合中的图形处理器GP11、GP12、GP13和GP14将收到分派的命令,并分别处理并绘制第一交集区域All、A12、A13和A14中的显示内容。
图IBB示出了本发明另一实施例中,一实施方式的显示区域及显示器画面的关系示意图。请参照图3B,其中显示器311、312、和313由图形处理器GP21 (未绘示)所控制, 显示器321、322、和323由图形处理器GP22 (未绘示)所控制,显示器331、332、和333由图形处理器GP23(未绘示)所控制。显示区域APlB与显示器311、312、321、和322的画面有交集,所以于本实施例中的集合仅包含控制显示器311、312、321和322的图形处理器GP21 及GP22。图形处理器GP21及GP22将收到分派的命令并分别处理并绘制第一交集区域A21 和A22,及A23和A24中的显示内容。图4示出了本发明一实施例中,分派命令至集合的每个图形处理器的步骤的流程图。请参照图4,由于在本实施例中,欲显示的影像为三维影像,首先必须于步骤S400,判断命令中的端点(vertex)坐标是否已转换为显示器的画面坐标,若命令中的端点坐标已转换为显示器的画面坐标,接着于步骤S401,对于集合内的每个图形处理器,分派给各个图形处理器的命令,仅有对应此图形处理器的第一交集区域的部份,因此集合内的每个图形处理器仅绘制其对应的第一交集区域。例如图3A的图形处理器GPll仅绘制第一交集区域 All,图;3B的图形处理器GP22仅绘制第一交集区域A23和A24。另外,集合中的每个图形处理器亦被控制于同时进行绘制,并于步骤S403,当集合内的所有图形处理器皆完成绘制后, 控制集合内的所有图形处理器同时显示各自的第一交集区域。请继续参照图4,若于步骤S400发现上述命令中的端点坐标尚未转换为显示器的画面坐标,则于步骤S411,根据命令中的端点坐标和显示器的画面坐标之间的转换关系,以及集合中的每一个图形处理器的第一交集区域,为集合中的各个图形处理器设定对应的视界转换(viewport transform)。视界转换是Direct3D的功能之一,设定视界转换相当于设定各个图形处理器在上述端点所在的三维向量空间之中可观察到的视野范围。其中,端点坐标可以向量形式存在,再通过视界转换的计算便能直接获得位于显示器上的画面坐标。 接着于步骤S412,由于通过上述的视界转换的设定,集合中的每个图形处理器仅绘制上述命令中预定显示在该图形处理器所对应的第一交集区域的部分。接着于步骤S403,控制各个图形处理器同时进行绘制,并在绘制完成时控制集合中的所有图形处理器同时显示各自的第一交集区域。对于Direct3D的可绘制纹理(renderable texture),本发明的控制方法有对应的处理方式。图5示出了本发明一实施例中,分派命令至集合的每一图形处理器,而命令包括绘制显示区域中的纹理图案的步骤的流程图。在决定端点的位置坐标后,显示三维影像物件的另一个重点是物件表面的纹理图案的绘制及显示。请参照图5,首先于步骤S501, 经由图形接口自应用程序接收纹理图案在显示器的画面上的显示位置。步骤S501并非 Direct3D的标准图形接口,而是本实施例的扩充功能。接着,于步骤S502,根据纹理图案的显示位置,计算纹理图案在集合中的各个图形处理器所控制的显示器画面的第二交集区域。其中,第二交集区域意指纹理图案的显示区域与集合中每一个图形处理器所控制的显示器的画面所交集的部份。请继续参照图5,在计算得第二交集区域后,于步骤S503,根据集合中的各个图形处理器所控制的显示器画面上的第二交集区域,分派命令至集合中各个图形处理器,而每个图形处理器仅绘制上述纹理图案在自己所控制的显示器画面上的第二交集区域的部分, 并使集合中的各个图形处理器的绘制同时进行。值得注意的是,集合中的图形处理器所控制的显示器上亦可能没有第二交集区域,因此在此步骤没有第二交集区域的集合中图形处理器不需进行绘制的动作。最后于步骤S504,当所有图形处理器绘制完成后,再控制参与绘制的所有图形处理器同时显示上述纹理图案。对于Direct3D的上载纹理(uploaded texture),本发明的控制方法有对应的处理方式。图6示出了本发明一实施例中,分派命令至集合的每一图形处理器,而命令包括显示区域中的纹理图案的步骤的流程图。此实施例与图5所述的实施例的流程步骤大致相同,其中两者主要的差别在于此实施例欲显示的纹理图案由应用程序的命令直接提供,而不需图形处理器绘制。步骤S601和S602分别与步骤S501和S502相同。于步骤S603,仅需把纹理图案在各个图形处理器的第二交集区域的部份分派到各个对应的图形处理器,不需重新绘制。接下来,在步骤S604,控制集合内的所有图形处理器同时显示纹理图案。图7示出了本发明一实施例中,显示区域中的一纹理图案于显示器上显示的实施方式的示意图。请参照图7,其中,显示器711、712、721和722分别由图形处理器GP71、 GP72、GP73和GP74(未绘示)所控制。显示区域AP7表示应用程序的显示区域并分别与显示器711、712、721和722具有第一交集区域A71、A72、A73和A74,因此在集合中便有图形处理器GP71、GP72、GP73和GP74。纹理图案显示区域TEX7表示纹理图案的显示位置及大小,并与显示器711和721具有第二交集区域Bll及B21。接着,若纹理图案需被绘制,则将应用程序的命令中对应第二交集区域Bll及B21的部分分别分派至图形处理器GP71及 GP73,控制图形处理器GP71及GP73分别绘制第二交集区域Bll及B21的纹理图案,并在完成后同时显示。若纹理图案由应用程序提供,则将上述纹理图案对应第二交集区域Bll及 B21的部份分别分派给图形处理器GP71及GP73,并控制图形处理器GP71及GP73同时显示上述纹理图案。图8A及图8B示出了本发明一实施例中,应用程序的显示区域改变的实施方式的示意图。请参照图8A,其中,显示器811、812、813和814分别由图形处理器GP81、GP82、GP83 和GP84(未绘示)所控制。应用程序的显示区域AP8A仅与显示器811具有交集,亦即集合中仅包含图形处理器GP81。值得一提的是,中介软件103分派来自应用程序101的命令,在分派时,中介软件103亦根据上述命令,记录应用程序101在上述集合中的图形处理器所设定的状态和所创建的资源。上述资源例如Direct3D的端点缓存区(vertex buffer)、索引缓存区(index buffer)、端点坐标转换程序(vertex shader)、像素色彩计算程序(pixel shader)、以及纹理图案。上述状态例如Direct3D,光栅化状态,纹理混合状态,深度和模板状态,输出混合状态等。接着,请同时参照图8A及图8B,应用程序的显示区域自图8A中的显示区域AP8A 增大至图8B中的显示区域AP8B。此时,显示器812、813和814亦和显示区域AP8B交集,控制显示器812、813和814的图形处理器GP82、GP83和GP84便因此加入集合中。由于图形处理器GP82、GP83和GP84新增至集合中,为了绘制应用程序的显示内容,图形处理器GP82、 GP83和GP84必须和图形处理器GP81具有相同的状态和资源。因此,中介软件103会在新加入的图形处理器GP82、GP83和GP84各别设定前述所记录的状态,并且在新加入的图形处理器GP82、GP83和GP84各别创建前述所记录的资源。此外,当应用程序的显示区域移动时, 也可能有图形处理器新增至上述集合,中介软件103也会用相同方式在新增的图形处理器设定状态并创建资源。
本发明亦提供一种多重显示器控制系统,以执行前述的多重显示器控制方法。图9 示出了本发明一实施例的一种多重显示器控制系统的示意图。图9与图1大部分相似,主要区别是以多重显示器控制系统903取代图1的中介软件103。多重显示器控制系统903 包括控制器9031和存储器9032,其中控制器9031执行以上各实施例的多重显示器控制方法,例如图2、4、5、6、8A和8B所绘示的方法流程。而在执行上述方法的过程中,控制器9031 可将步骤S202(图2、中的集合,以及步骤S203中的各图形处理器的第一交集区域,记录于存储器9032之中,也可根据应用程序的命令,将应用程序在上述集合中的图形处理器所设定的状态及创建的资源记录在存储器9032之中。综上所述,本发明提供一种多重显示器控制方法与系统,使得欲在多重显示器上显示的影像数据,特别是三维影像内容时,将影像数据内容分派给各个控制显示器的图形处理器以绘制其显示内容,并同时显示,可以多工的方式加速影像的处理速度并减少单一图形处理器的负担。而在应用程序的显示区域扩大或移动时,亦可动态的加入对应的图形处理器同时进行运算。虽然本发明已以实施例揭示如上,然其并非用以限定本发明,本领域的技术人员, 在不脱离本发明的精神和范围的前提下,可作些许的更动与润饰,故本发明的保护范围是以本发明的权利要求为准。
权利要求
1.一种多重显示器控制方法,用于控制多个图形处理器,其中每一上述图形处理器控制至少一显示器,该多重显示器控制方法包括提供和一操作系统的一程序库相同的图形接口,并取代该程序库,以该图形接口自一应用程序接收一命令;根据该应用程序的显示区域的位置,决定上述多个图形处理器的一集合,该集合包括所控制的显示器画面与该显示区域有交集的每一上述图形处理器;以及根据该显示区域在该集合的每一图形处理器所控制的显示器画面的第一交集区域,分派该命令至该集合的每一图形处理器。
2.如权利要求1所述的多重显示器控制方法,其中该显示区域为该应用程序在上述显示器的画面所显示的视窗。
3.如权利要求1所述的多重显示器控制方法,其中该命令的端点坐标已转换为上述显示器的画面坐标,而且分派该命令至该集合的每一图形处理器的步骤包括对于该集合的每一图形处理器,仅将该命令中对应该图形处理器的该第一交集区域的部分分派至该图形处理器,使该图形处理器仅绘制该第一交集区域,并且使该集合的每一图形处理器的上述绘制同时进行;以及当该集合的所有图形处理器完成上述绘制时,控制该集合的所有图形处理器同时显示上述第一交集区域。
4.如权利要求1所述的多重显示器控制方法,其中该命令的端点坐标尚未转换为上述显示器的画面坐标,而且分派该命令至该集合的每一图形处理器的步骤包括根据该命令的端点坐标和上述显示器的画面坐标之间的转换关系,以及该集合的每一图形处理器的该第一交集区域,为该集合的每一图形处理器设定对应的视界转换,使该集合的每一图形处理器仅绘制该命令中预定显示在该图形处理器的该第一交集区域的部分, 并且使该集合的每一图形处理器的上述绘制同时进行;以及当该集合的所有图形处理器完成上述绘制时,控制该集合的所有图形处理器同时显示上述第一交集区域。
5.如权利要求1所述的多重显示器控制方法,其中该命令包括绘制该显示区域中的一纹理图案,而且分派该命令至该集合的每一图形处理器的步骤包括经由该图形接口自该应用程序接收该纹理图案在上述显示器的画面的显示位置; 根据该纹理图案的显示位置,计算该纹理图案在该集合的每一图形处理器所控制的显示器画面的第二交集区域;根据该纹理图案的上述第二交集区域,分派该命令至该集合的每一图形处理器,使该集合的每一图形处理器仅绘制该纹理图案在该图形处理器的该第二交集区域的部分,并且使该集合的每一图形处理器的上述绘制同时进行;以及当该集合的所有图形处理器完成上述绘制时,控制该集合的所有图形处理器同时显示该纹理图案。
6.如权利要求1所述的多重显示器控制方法,其中该命令包括该显示区域中的一纹理图案,而且分派该命令至该集合的每一图形处理器的步骤包括经由该图形接口自该应用程序接收该纹理图案在上述显示器的画面的显示位置; 根据该纹理图案的显示位置,计算该纹理图案在该集合的每一图形处理器所控制的显示器画面的第二交集区域;对于该集合的每一图形处理器,仅将该纹理图案在该图形处理器的该第二交集区域的部分分派至该图形处理器;以及控制该集合的所有图形处理器同时显示该纹理图案。
7.如权利要求1所述的多重显示器控制方法,还包括根据该命令,记录该应用程序在该集合的图形处理器所设定的状态和所创建的资源;以及若有图形处理器新增至该集合,则在新增的图形处理器设定上述状态并创建上述资源。
8.一种多重显示器控制系统,用于控制多个图形处理器,其中每一上述图形处理器控制至少一显示器,该多重显示器控制系统包括一存储器;以及一控制器,提供和一操作系统的一程序库相同的图形接口,并取代该程序库,以该图形接口自一应用程序接收一命令;该控制器根据该应用程序的显示区域的位置,决定上述多个图形处理器的一集合,该集合包括所控制的显示器画面与该显示区域有交集的每一上述图形处理器;该控制器根据该显示区域在该集合的每一图形处理器所控制的显示器画面的第一交集区域,分派该命令至该集合的每一图形处理器;该控制器将该集合与上述第一交集区域记录在该存储器。
9.如权利要求8所述的多重显示器控制系统,其中该显示区域为该应用程序在上述显示器的画面所显示的视窗。
10.如权利要求8所述的多重显示器控制系统,其中该命令的端点坐标已转换为上述显示器的画面坐标,而且对于该集合的每一图形处理器,该控制器仅将该命令中对应该图形处理器的该第一交集区域的部分分派至该图形处理器,使该图形处理器仅绘制该第一交集区域,并且使该集合的每一图形处理器的上述绘制同时进行;当该集合的所有图形处理器完成上述绘制时,该控制器控制该集合的所有图形处理器同时显示上述第一交集区域。
11.如权利要求8所述的多重显示器控制系统,其中该命令的端点坐标尚未转换为上述显示器的画面坐标,而且该控制器根据该命令的端点坐标和上述显示器的画面坐标之间的转换关系,以及该集合的每一图形处理器的该第一交集区域,为该集合的每一图形处理器设定对应的视界转换,使该集合的每一图形处理器仅绘制该命令中预定显示在该图形处理器的该第一交集区域的部分,并且使该集合的每一图形处理器的上述绘制同时进行;当该集合的所有图形处理器完成上述绘制时,该控制器控制该集合的所有图形处理器同时显示上述第一交集区域。
12.如权利要求8所述的多重显示器控制系统,其中该命令包括绘制该显示区域中的一纹理图案,而且该控制器经由该图形接口自该应用程序接收该纹理图案在上述显示器的画面的显示位置;该控制器根据该纹理图案的显示位置,计算该纹理图案在该集合的每一图形处理器所控制的显示器画面的第二交集区域;该控制器根据该纹理图案的上述第二交集区域,分派该命令至该集合的每一图形处理器,使该集合的每一图形处理器仅绘制该纹理图案在该图形处理器的该第二交集区域的部分,并且使该集合的每一图形处理器的上述绘制同时进行;当该集合的所有图形处理器完成上述绘制时,该控制器控制该集合的所有图形处理器同时显示该纹理图案。
13.如权利要求8所述的多重显示器控制系统,其中该命令包括该显示区域中的一纹理图案,而且该控制器经由该图形接口自该应用程序接收该纹理图案在上述显示器的画面的显示位置;该控制器根据该纹理图案的显示位置,计算该纹理图案在该集合的每一图形处理器所控制的显示器画面的第二交集区域;对于该集合的每一图形处理器,该控制器仅将该纹理图案在该图形处理器的该第二交集区域的部分分派至该图形处理器;该控制器控制该集合的所有图形处理器同时显示该纹理图案。
14.如权利要求8所述的多重显示器控制系统,其中该控制器根据该命令在该存储器记录该应用程序在该集合的图形处理器所设定的状态和所创建的资源;若有图形处理器新增至该集合,则该控制器在新增的图形处理器设定上述状态并创建上述资源。
全文摘要
一种多重显示器系统及其控制方法。该多重显示器控制方法用于控制多个图形处理器,其中每一图形处理器控制一个至多个显示器。上述方法包括下列步骤提供和一操作系统的图形程序库相同的图形接口,并取代此图形程序库,以图形接口自应用程序接收绘画命令;根据应用程序的显示区域的位置,决定多个图形处理器的一集合,此集合包括所控制的显示器画面与显示区域有交集的每一个图形处理器;以及根据显示区域在集合的每一图形处理器所控制的显示器画面的第一交集区域,分派命令至集合的每一图形处理器。另外,还提出了一种多重显示器控制系统。
文档编号G06F3/048GK102270095SQ20111018231
公开日2011年12月7日 申请日期2011年6月30日 优先权日2011年6月30日
发明者张国峰, 朱逸斐 申请人:威盛电子股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1