一种计算机多屏幕扩展显示方法及显示系统
技术领域
本发明涉及计算机领域,尤其是涉及一种计算机多屏幕扩展显示方法及显示系统。
背景技术
随着计算机技术的不断发展,人们对计算机图形显示的需求越来越高,高清晰度、大屏幕、多屏幕显示渐渐成为计算机显示技术发展的趋势。目前所有多屏幕显示都是由添加额外显卡或者购买昂贵的带多头输出的显卡来实现的。而支持多显卡插糟的计算机主板价格非常昂贵,而且显卡插糟数目增长的速度非常慢,多头显卡的价格随着输出头的增加价格成级数增长。因此,现有技术多屏幕显示技术方案都会导致支持多屏幕输出的计算机系统的成本高昂,而且该种技术方案对多屏幕的支持受到当前计算机系统中显卡插糟和显卡输出数目的制约。
与此同时,随着计算机技术和体系结构的发展,计算机的视频处理和显示运算功能、总线以及网络传输带宽资源相对过剩,CPU的计算核心和显卡的GPU的计算能力非常强大,然而这些计算单元大部分时间处于闲置状态,计算机总线比如说PCIE、USB、SATA总线和网络传输的速度越来越快,这些传输带宽大部分时间也没有得到充分的利用。
发明内容
本发明为了解决现有计算机结构下多屏幕显示都是由添加额外显卡或者购买昂贵的带多头输出的显卡来实现,因此,会导致支持多屏幕输出的计算机系统的成本高昂,而且对多屏幕的支持受到当前计算机系统中显卡插糟和显卡输出数目的制约的技术问题,提供了一种计算机多屏幕扩展显示方法及显示系统。
为解决上述技术问题,本发明采用的技术方案为设计一种计算机多屏幕扩展显示方法,包括下列步骤:
在计算机的CPU的运算单元或者GPU的运算单元中模拟显卡的视频处理或显示运算功能,对将显示在扩展的各显示器的图像进行解码,获取将显示在各个显示器上的每一帧图像的显示编码数据并发送出去;
显示输出卡接收所述显示编码数据,并拆分所述显示编码数据后分别打包输出到各拆分后的显示编码数据对应的显示器;
各显示器接收显示输出卡发送过来的对应的拆分后的显示编码数据并显示。
所述显示编码数据通过计算机的高速总线或者外部网络发送到显示输出卡。
所述高速总线包括PCIE总线、USB总线或SATA总线。
所述显示编码数据为YUV或RGB格式的显示编码数据。
所述显示输出卡将所述拆分后的显示编码数据分别打包成HDMI数据包、VGA数据包或DVI数据包。
本发明还提供了一种计算机多屏幕扩展显示系统,包括:
计算机;
与计算机连接的若干扩展的显示器;
模拟显卡模块,其在计算机的CPU的运算单元或者GPU的运算单元中模拟显卡的视频处理或显示运算功能,对将显示在扩展的各显示器的图像进行解码,获取将显示在各个显示器上的每一帧图像的显示编码数据并发送出去;
显示输出卡,其接收所述显示编码数据,并拆分所述显示编码数据后分别打包输出到各拆分后的显示编码数据对应的显示器显示。
所述显示编码数据通过计算机的高速总线或者外部网络发送到显示输出卡。
所述高速总线包括PCIE总线、USB总线或SATA总线。
所述显示编码数据为YUV或RGB格式的显示编码数据。
所述显示输出卡将所述拆分后的显示编码数据分别打包成HDMI数据包、VGA数据包或DVI数据包。
本发明通过在计算机的CPU运算单元或者GPU运算单元中模拟显卡的视频处理或显示运算功能,对将显示在扩展的各显示器的图像进行解码,获取将显示在各个显示器上的每一帧图像的显示编码数据并发送出去;显示输出卡接收所述显示编码数据,并拆分所述显示编码数据后分别打包输出到各拆分后的显示编码数据对应的显示器。从而可充分利用CPU和GPU闲置的运算能力,不再需要采用多显卡或带多头输出的显卡的方式来实现对多屏幕的支持,而用更加灵活的方式和低廉的成本实现对多屏幕的支持。
附图说明
下面结合实施例和附图对本发明进行详细说明,其中:
图1是本发明计算机多屏幕扩展显示方法的流程图;
图2是本发明计算机多屏幕扩展显示系统的原理图;
图3是本发明在视频监控以及娱乐系统中的应用的原理图;
图4是本发明在多屏幕游戏系统中的应用的原理图。
具体实施方式
请参见图1。本发明计算机多屏幕扩展显示方法包括下列步骤:
第一步:在计算机的CPU的运算单元或者GPU的运算单元中模拟显卡的视频处理或显示运算功能,对将显示在扩展的各显示器的图像进行解码,获取将显示在各个显示器上的每一帧图像的显示编码数据并发送出去。
通过采用软件和简单的视频输出硬件模拟复杂的多头输出显卡的功能,将传统显卡的各种计算功能用软件模拟在CPU或者GPU的运算单元中运算。由于计算机的CPU或GPU的计算单元大部分时间处于闲置状态,因此,显示处理软件利用计算机的CPU和GPU的计算资源,而非显示硬件对显示编码数据进行分布式计算处理直接生成多个显示器不同组合的显示编码数据。显示编码数据可为YUV或RGB格式的显示编码数据。
第二步:显示输出卡接收所述显示编码数据,并拆分所述显示编码数据后分别打包输出到各拆分后的显示编码数据对应的显示器。
生成的显示编码数据在软件的传输控制下,通过计算机的高速总线或者外部网络发送到显示输出卡,从而充分利用了闲置的计算机内的高速总线和计算机外的外部网络。所述高速总线包括PCIE总线、USB总线或SATA总线等。总线或者网络的传输控制用于将运算完成的显示编码数据传输给显示输出卡,显示输出卡只对显示编码数据拆分和打包输出。显示输出卡接收从总线或者网络传输过来的显示编码数据,拆分出不同显示器的输出编码数据,按照所连接显示器的输入接口规格(HDMI,DVI,VGA),打包成对应的显示输出格式数据供显示器输出,如分别打包成HDMI数据包、VGA数据包或DVI数据包等。
第三步:各显示器接收显示输出卡发送过来的对应的拆分后的显示编码数据并显示。
请参见图2。本发明计算机多屏幕扩展显示系统包括:计算机、与计算机连接的若干扩展的显示器、模拟显卡模块和显示输出卡。其中:
模拟显卡模块在计算机的CPU的运算单元或者GPU的运算单元中模拟显卡的视频处理或显示运算功能,对将显示在扩展的各显示器的图像进行解码,获取将显示在各个显示器上的每一帧图像的显示编码数据并发送出去。
显示输出卡接收所述显示编码数据,并拆分所述显示编码数据后分别打包输出到各拆分后的显示编码数据对应的显示器显示。
所述显示编码数据通过计算机的高速总线或者外部网络发送到显示输出卡。所述高速总线包括PCIE总线、USB总线或SATA总线。所述显示编码数据为YUV或RGB格式的显示编码数据。所述显示输出卡将所述拆分后的显示编码数据分别打包成HDMI数据包、VGA数据包或DVI数据包。
各显示器显示显示输出卡输出的对应的显示编码数据。
本发明通过在计算机的CPU运算单元或者GPU运算单元中模拟显卡的视频处理或显示运算功能,对将显示在扩展的各显示器的图像进行解码,获取将显示在各个显示器上的每一帧图像的显示编码数据并发送出去;显示输出卡接收所述显示编码数据,并拆分所述显示编码数据后分别打包输出到各拆分后的显示编码数据对应的显示器。从而可充分利用CPU和GPU闲置的运算能力,不再需要采用多显卡或带多头输出的显卡的方式来实现对多屏幕的支持,而用更加灵活的方式和低廉的成本实现对多屏幕的支持。
请参见图3。首先用软件播放器调用CPU或者GPU运算单元,即视频解码运算模块,对监控视频或者娱乐视频(H.264、MPG2……)进行解码,输出YUV/RGB格式的显示编码数据,根据显示输出卡所接入显示器的数量和编号,将这些数据通过PCIE总线的传输控制发到挂在PCIE总线上的显示输出卡上,显示输出卡从PCIE总线接收这些数据,拆分出各个显示器所对应的显示数据分别打包成HDMI数据包通过HDMI接口传送个对应的显示器显示。
请参见图4,。该应用实施例与图3结构相似,只是使用特定的游戏软件调用CPU或者GPU的运算单元进行游戏的3D/2D图形运算,输出YUV/RGB格式的显示编码数据,根据显示输出卡所接入显示器的数量和编号,将这些数据通过PCIE总线的传输控制发到挂在PCIE总线上的显示输出卡上,显示输出卡从PCIE总线接收这些数据,拆分出各个显示器所对应的显示数据分别打包成HDMI或者VGA数据包通过HDMI或者VGA接口传送个对应的显示器显示。
本发明通过利用没有得到充分利用CPU和GPU计算单元,模拟出一块软件的显卡,通过软件的方式计算出要扩展的多屏幕中各个显示器每一帧图像的编码数据(YUV或者RBG)。利用闲置的快速总线(PCIE、USB3.0、SATA)或者高速网络,通过传输控制,将这些编码数据传输到挂在这些总线或者网络的支持此构架的显示输出卡上。显示输出卡在这个构架中,只具有将编码数据拆分,并根据所连接显示器接口规格(HDMI、DVI、VGA),对各个显示器进行打包输出的功能,显示输出卡所能支持的显示器数目,约等于所有用于显示数据传输的总线或者网络的带宽除以每个显示器显示数据所需要的编码数据带宽。本发明计算机多屏幕扩展显示方法理论上支持的显示器数量受制于CPU和GPU的综合计算能力,以及计算机总线和网络的带宽的限制。CPU和GPU的综合计算能力随着CPU和GPU的不断升级换代,发展迅速,而PCIE2.0 16X就可以支持大概32个1080P显示器的传输需求。本发明计算机多屏幕扩展显示系统采用基于分布式计算和传输控制的计算机多屏幕扩展显示构架,成本更加低廉,扩充更加灵活。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。