用于提供对硬件图形层的透明接入的系统技术方案

技术编号:2853632 阅读:269 留言:0更新日期:2012-04-11 18:40
本发明专利技术通常涉及计算机图形学,更具体地涉及用于配置、控制和接入用于组成一个视频显示的多个硬件图形层的方法和系统。本发明专利技术一方面被广义地如下定义:在包括软件应用程序和在计算机上运行的操作系统的计算机环境中,计算机包括图形卡和视频显示器,图形卡可操作用于将图像传给视频显示器,改进包括:所述操作系统包括支持图形卡上的硬件层的通用应用程序编程接口(API);操作系统可操作用于:通过所述通用API接收绘制事件;确定所述图形卡上的可用硬件层,以及它们的参数;并通过将所述绘制请求选择性地传给任意的所述图形卡上的可用硬件层来响应来自软件应用程序的绘制请求;由此所述计算机环境允许软件应用程序利用所述图形卡上的可用硬件层。

【技术实现步骤摘要】

本专利技术通常涉及计算机图形学,更具体地涉及用于配置、控制和接入用来组成一个视频显示的多个硬件图形层的方法和系统。
技术介绍
视窗型操作系统允许用户和开发者通过相容的图形用户接口(GUI)与软件应用程序进行交互,同时为他们提供同时与多个软件应用程序相交互的能力。理想地,当操作系统保持相容的应用程序接口(API)时,操作系统应该提供尽可能多的到达底层图形硬件功能的接入。操作系统API是组成操作系统与接入它的软件应用程序之间的接口的例程、协议、和工具的集合。软件应用程序与操作环境(即,视频显示器、硬盘驱动器、键盘等等)之间的任何交互作用都是通过操作系统API完成的。此外,操作系统应该支持一定程度的特征透明度。也就是说,软件应用程序应该能够受益于系统特征,而不要求软件应用程序得知系统特征的每个细节。例如,在16位色彩深度显示系统上设计的软件应用程序应该如预期的那样在32位色彩深度显示系统上运行。软件应用程序应该不需知道它正在其上运行的视频显示器所支持的色彩深度。操作系统提供的特征透明度程度越高,能够在多种环境下运行的软件应用程序的开发就越容易,并且可以在任何给定平台上使用的软件应用程序的选择也就越多。视频存储器、视频面和多层(layers)个人计算机和其它计算设备通常包括被称为图形卡、视频卡或视频板的电路板,它允许个人计算机驱动物理显示器,例如LCD(液晶显示器)或CRT(阴极射线管)监视器。这些图形卡典型地包含它们自己的视频存储器,这样就不需要计算机的RAM(随机存取存储器)来保存视频显示数据。很多图形卡还有它们自己的板上微处理器,这样呈现图像所需的处理能够被快速完成而不会成为计算机的主微处理器的负担。图形卡典型地拥有比保存单个显示屏的内容所需要的多得多的视频存储空间。视频存储器的内容被分为能够被动态地定义和重新定义的块,每个块有特定的宽度、高度和其它性质。每个块被称做一个视频“面”,这些视频面之一被作为主显示。对关于主显示的视频面进行绘制将在物理显示器上产生可视图形。对除主显示外的视频面进行绘制将是不可见的,除非那些面的内容是“被位图传送(blitted)”到主显示的视频面。“多层”硬件允许图形卡把一个或多个视频面作为主显示的组成部分。结合和/或混合多个视频面以创建主显示的方式可以通过图形卡上的多层硬件来配置。多层硬件将所有指向主显示的面无破坏地结合起来。也就是说,这多个视频面的内容不受分层硬件的影响——只有显示设备上看到的最后结果受到影响。这使得具有分层硬件的图形卡成为对低性能平台理想的图形卡,低性能平台需要例如自动的远程信息处理系统(telematics)的精细图形组成,其中,例如,可能期望显示道路图上的通风系统的设置或者正在连续播放的视频程序的设置。“自动的远程信息处理系统”指的是管理汽车里的环境和娱乐系统的计算机化控制系统的技术。这些系统还被称作汽车“信息娱乐”或“信息电子(infotronic)”系统,或者其它类似的名字。这种系统能管理的一些功能包括1.支持例如无线广播、视频游戏和播放电影的娱乐应用。可以将这些娱乐应用有选择性地针对汽车中的不同显示器、扬声器和头戴受话器系统;2.管理车辆气候控制系统;3.提供互联网接入、电子邮件和即时消息服务(instant messagingservice);4.提供例如反盗窃和自动拨号的安全系统;5.与例如个人数字助理(PDA)、膝上型电脑和笔记本式机算机的便携式计算设备的连接和同步;6.显示电子道路图,使用GPS(全球定位系统)技术来选择正确的地图并识别车辆在地图上的实际位置。这项技术还可以用于通知用户附近的服务站、饭店和其它服务,提供交通信息、导航建议和停车场利用率;以及7.与加油站的销售点和相关的自动化银行服务进行无线交互;例如,允许用户购买汽油、洗车和下载电影,而不必非要与服务员进行交互(参见例如,Sun Microsystems,Inc.在2001的“The eGasStationArchitecture-JavaTMTechnology Based Managed Services for RetailService Stations”(太阳微系统有限公司在2001年发表的“电子加油站构架——用于零售服务站的基于JavaTM技术的受控服务”))。这个列表只是汽车远程信息处理系统能被设计来支持的所有功能中的小部分示例。随着时间的推移其它服务也必将得到远程信息处理系统的支持。现有的视频系统在本
中有两种视频系统的通用配置。在一种系统中,软件应用程序使用直接操作图形卡的存储器和寄存器的操作系统的API来绘制图像、向量和字符来影响显示。软件应用程序使用操作系统API,但是软件应用程序本身用作对硬件进行直接操作的图形驱动程序。在这种系统中,由于硬件争用问题一次只有一种软件应用程序可以接入图形卡。在其它系统中,软件应用程序使用打包并发送出绘制请求的操作系统的API进行绘制。如果打包的绘制请求被传送给正在使用操作系统的API来操作图形卡的存储器和寄存器以影响显示的软件应用程序,则那些绘制请求被交给图形卡并可能对可视显示产生影响。在这种配置中,绘图应用程序和图形驱动程序是分离的允许多个应用程序使用单个图形卡绘图的软件进程。用于传送封装的绘制请求的机构在本领域内已知的窗口系统范围内变化。图1示出了如现有技术已知的具有多层支持的图形卡的典型配置框图10。当软件应用程序12希望在显示屏14上绘制图像、字符或者向量时,它向操作系统18的API 16发出“绘制”请求。操作系统18处理该绘制请求并向图形卡20发送合适的指令。这些指令是通过操作系统API 16和图形卡20的API 22传送的。因为操作系统18不知道图形卡20中的硬件层24,所有的绘制请求仅仅会被传给同一层,主层26。接着主层26中的视频图像被传到显示屏14上。如果软件应用程序12对图形卡20的API 22有特定的了解,并且系统的其余部分许可,则软件应用程序12能够直接向图形卡20传递消息或者从其传出消息以操纵图形卡20的存储器和寄存器(这是上文所述的第一种方法)。可替代地,如果操作系统18具有对图形卡20的API 22有特定的了解的图形驱动程序并且系统的其余部分许可,则操作系统18中的图形驱动程序可以操纵图形卡20的多层性能(这是上文所述的第二种方法)。用来接入和控制视频硬件层的API首先是由生产多层支持的图形卡的图形卡制造商提供的。但是,这些早期的API至少存在两个主要问题1.不同制造商的API彼此之间几乎没有共性,这意味着需要接入和控制图形卡的多层特征的软件应用程序只能在一个制造商生产的图形卡上工作;以及2.视窗型操作系统对视频硬件层的存在一无所知,因此这些层不能通过操作系统API接入。近期,可以使用一种操作系统API,其与硬件分层性能相容但是接口受限,尽管软件应用程序仍需要使用该特定的操作系统API才能够传到硬件所支持的层。这个限制导致不可能将第三方软件集成到能够分层的系统。换句话说,这个新操作系统API仍然需要第三方软件应用程序知道该新操作系统API接入了硬件层,并知道如何使用它。典型地,第三方软件应用程序不具有该知识,因此这不是“透明的”方案。这种API是“DirectFB本文档来自技高网
...

【技术保护点】
一种在计算机系统中管理视频显示的方法,所述计算机系统包括图形卡、视频显示器和操作系统,所述计算机系统用于运行软件应用程序,所述图形卡用于将图像传给所述视频显示器,所述方法包括以下步骤:通过所述操作系统的通用的应用程序编程接口(API )从所述软件应用程序接收绘制事件,所述接口支持图形卡上的硬件层;确定所述图形卡上的可用硬件层,以及它们的参数;所述操作系统将所述绘制请求选择性地传送给对应所述图形卡上的所述可用硬件层的特定的层的视频层;以及所述图形卡 将所述视频层上的数据映射到所述可用硬件层的特定的层上,用于在所述视频显示器上显示;由此所述软件应用程序能够利用所述图形卡上的可用硬件层,而不需要知道它们的存在。

【技术特征摘要】
US 2004-8-30 10/928,6981.一种在计算机系统中管理视频显示的方法,所述计算机系统包括图形卡、视频显示器和操作系统,所述计算机系统用于运行软件应用程序,所述图形卡用于将图像传给所述视频显示器,所述方法包括以下步骤通过所述操作系统的通用的应用程序编程接口(API)从所述软件应用程序接收绘制事件,所述接口支持图形卡上的硬件层;确定所述图形卡上的可用硬件层,以及它们的参数;所述操作系统将所述绘制请求选择性地传送给对应所述图形卡上的所述可用硬件层的特定的层的视频层;以及所述图形卡将所述视频层上的数据映射到所述可用硬件层的特定的层上,用于在所述视频显示器上显示;由此所述软件应用程序能够利用所述图形卡上的可用硬件层,而不需要知道它们的存在。2.如权利要求1所述的方法,其中所述传送步骤包括通过把所述绘制请求传送给所述特定的视频层来响应包括特定的视频层的识别的所述绘制请求的步骤。3.如权利要求2所述的方法,其中所述传送步骤包括通过确定所述绘制请求应该被传送给哪个视频层并从而传送所述绘制请求来响应不识别特定的视频层的所述绘制请求的步骤。4.如权利要求3所述的方法,其中所述确定步骤包括根据所述绘制请求的几何形状和绘制敏感区域的几何形状来选择所述绘制请求要被送往的视频层。5.如权利要求3所述的方法,其中所述图形卡包括用于无破坏地保存视频层数据的存储器。6.如权利要求5所述的方法,进一步包括的步骤有构造三维事件空间,定义用于管理绘制事件和软件区域的坐标系统,每个所述软件区域被定义为所述三维事件空间内的平面区域并且每个所述绘制事件被定义为所述三维事件空间内的向量,所述软件区域被选择性地配置为响应穿过所述软件区域的绘制事件。7.如权利要求6所述的方法,其中所述绘制事件包括在所述视频显示器上显示图像、向量或字符的请求。8.如权利要求7所述的方法,其中每个所述软件区域都包括所述三维事件空间的尺度和位置参数。9.如权利要求8所述的方法,其中所述图形驱动程序的尺度等于物理显示器的尺度。10.如权利要求8所述的方法,其中所述三维事件空间中的根部区域的尺度比所述视频显示器的尺度大,允许绘制请求被传到屏幕外环境。11.如权利要求8所述的方法,其中所述计算机系统上运行的每个软件应用程序都与所述三维事件空间中的区域相关。12.如权利要求11所述的方法,其中所述软件区域中的至少一个是适合于所述图形卡的图形驱动程序。13.如权利要求12所述的方法,其中所述软件区域中的两个或多个是图形驱动程序,并且所述两个或多个图形驱动程序在所述空间内是不相重叠的,所述两个或多个图形驱动程序是与分离的图形硬件层相关的。14.如权利要求5所述的方法,进一步包括根据所述图形卡上的相关的硬件层的参数生成驱动程序区域的步骤。15.如权利要求5所述的方法,进一步包括步骤使用配置应用程序来配置视频面、驱动程序区域、面与层的关联、以及层属性。16.一种管理视频显示的方法,包括的步骤有使用配置应用程序来配置视频面、驱动程序区域、面与层的关联、以及层属性,包括确定图形卡上的可用硬件层,以及它们的参数;通过以下步骤响应于通过操作系统的通用API绘制事件的接收确定所述绘制请求是否被标记用于特定的视频层,并且如果被标记了,将所述绘制请求传给所述特...

【专利技术属性】
技术研发人员:D弗里A林D多诺霍
申请(专利权)人:QNX软件操作系统公司
类型:发明
国别省市:CA[加拿大]

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

1