绘制图像用于显示的计算机图形系统及方法

文档序号:6433495阅读:260来源:国知局
专利名称:绘制图像用于显示的计算机图形系统及方法
技术领域
本发明涉及一种计算机图形系统及一种使用纹理映射绘制图像用于显示的方法。进一步地,本发明涉及一种计算机及一种计算机程序。
背景技术
绘制3D图形的一个重要要素是纹理映射。为了执行纹理映射,不得不将2D画面映射在屏幕上。通常情况是在该过程中所述2D画面不得不被显著缩小。为了减小读取该2D画面所需的带宽,经常执行一个预处理步骤,在该步骤中生成该2D画面的几个缩小版本。在纹理映射过程中,只有在分辨率上最匹配屏幕图像的较小的缩小画面的那部分被读取并映射到屏幕上。所述2D画面连同其缩小版本一起被称作贴图分级细化(Mipmap)。纹理映射及Mipmap被特别地描述在“Surveyof Texture Mapping”,Paul S.Heckbert,IEEE Computer Graphicsand Application,Nov.1986,pp.56-57及U.S.6,236,405 B1中。
有几种类型的Mipmap,不同之处在于其中存储的缩小图像。在一个3D Mipmap中,两个方向上都被缩小同样的系数,而在一个4D Mipmap中原始图像在两个维度上相互独立地缩小。
然而,与所述3D Mipmap相比,所述4D Mipmap结构需要花费大量的读取带宽和大量的存储空间,因此经常使用所述3D Mipmap结构。在该3D Mipmap结构中,只存储所述4D Mipmap的对角线。
一般而言,有几种已知方法用于将所述(Mipmap的)图像映射到帘栅极上。其中一种方法是两次扫描前向纹理映射。在该方法中,所述2D映射分解成两个1D映射。首先,该图像在一个方向如水平方向映射,然后在另一个方向如垂直方向映射。在一个这样的映射阶段中,优选地通过改变一个方向上的缩小系数在该方向进行映射,这意味着在另一个方向上的缩小系数保持不变。为此,所述4D Mipmap结构是理想的,因为它使得能够保持一行或列的嵌在该4D Mipmap中的图像集。然而,优选地使用所述3D Mipmap结构的低带宽及存储要求,其中不可能保持一个缩小系数不变而改变另一个缩小系数。

发明内容
因此,本发明的一个目标是提供一种改进的计算机图形系统及方法,用于绘制图像以显示,该方法提供了上述问题的一种解决方案,并且结合了所述3D与4D贴图分级细化的优势。
该目标可以由权利要求1所要求保护的一种计算机图形系统来实现,该系统包括一个纹理存储器,用来以3D Mipmap格式存储纹理图;一个Mipmap重建装置,用来从所述纹理存储器中读取的所述3DMipmap中实时重建一个4D Mipmap的一个纹理图的至少一部分,和一个纹理映射装置,用来将来自所述4D Mipmap的纹理数据映射到相应的定义所述显示图像的像素数据。
该目标可以进一步地由权利要求8所要求的一种相应的方法来实现。一个计算机程序,包括程序代码装置,当所述计算机程序运行在权利要求9所要求的计算机上时,所述程序代码装置用来使计算机执行该方法的步骤。
本发明基于以下思想,即只是预计算并存储所述3D Mipmap等级并根据这些等级实时地,即,当正在执行图像的绘制,特别是当执行所述纹理映射时,计算4D Mipmap。在绘制过程中,当需要来自4D Mipmap的数据时,所述3D Mipmap数据从所述纹理存储器中读取,并采用过滤来生成想要的4D Mipmap数据,该数据然后被立刻使用。这样一来,使用了两种结构的优势,即结合了3D Mipmap需要小的存储空间和带宽的优势与4D Mipmap在Mipmap选择上允许更多的自由度及能够选择用于两次扫描算法的合适的等级的优势。由于用来执行生成Mipmap结构的缩小,即所述纹理图构成Mipmap,是很规则的(2的幂次),重建所述4D Mipmap所要的放大可以有效地进行。
作为放大的一个选择,一个4D Mipmap等级也可以通过(实时)缩小一个3D Mipmap等级来生成。例如Mipmap等级(2,1)可以通过垂直放大等级(2,2)来生成,但也可以通过水平缩小等级(1,1)来生成。后者使用更多带宽,但保留等级(1,1)上存在的垂直细节上的高分辨率。该系数为2的缩小可能有用(代替直接从等级(1,1)简单地进行纹理映射),因为它允许使用纹理映射过滤器,该过滤器被限制到至多两次缩小的一个系数。使用已知的纹理方法,该预缩小可以产生一个可以提高图像质量的各向异性的过滤器轨迹。组合当然也有可能,例如,等级(3,1)可以通过缩小等级(1,1)、放大等级(3,3)或者放大与缩小等级(2,2)的组合来生成。
本发明的优选实施例包括在从属的权利要求中。如上面所提到的,两个已知方法是一次扫描2D映射与两次扫描1D映射。2D映射使用一个2D过滤器结构,而1D映射顺次使用两个1D过滤器结构。每个方法都有一些优势与不足。一个2D过滤器结构提取一个轨迹(2D的)中的所有纹理颜色并处理它们。一个两次扫描1D结构处理这些纹理颜色是通过先水平弯曲它们然后垂直弯曲它们(或者相反)。根据本发明的一个优选实施例,所述纹理映射装置采用两次扫描1D纹理映射。
根据又一个优选实施例,所述Mipmap重建装置包括一个重建过滤器,用于垂直放大所述3D Mipmap的一个较低分辨率的纹理图形,以获得所述4D Mipmap的一个较高分辨率的纹理图形,然后水平放大该较高分辨率的纹理图形。该实施例优选地用于两次扫描1D纹理映射。在那里,从那些可以得到的Mipmap等级(或纹理图形)中选择一个合适的。在第一次扫描时,生成一个中间画面,该画面作为第二次扫描的输入。所以第二次扫描不能在不同分辨率输入画面中间进行选择。因此在第二次扫描之前,在所述中间画面上不做额外的缩放处理。然而,在第一次扫描中生成一个4D Mipmap等级而发生的伸长有可能包括水平缩放。该可选的方法可以用在一个实施例中,在该实施例中一个两次扫描过滤方法的两次扫描中的第一次扫描是一个垂直过滤通过,而第二次扫描是一个水平过滤通过。这样,一个3D Mipmap等级被水平缩放以产生一个用作所述第一次扫描的输入的4D Mipmap等级。一个可选的实施例由权利要求4所说明。
当不得不从一个不是下一个缩小或放大版本的Mipmap等级中进行重建时,可以采用递归重建。其中,一个较高分辨率的纹理图形从下一个较低等级的具有较低分辨率的一个纹理图形中或下一个较高等级的具有较高分辨率的一个纹理图形中被逐步地重建。这提供了可以使用一个简单的“一级”重建硬件的优势。


本发明将参照附图进行详细说明,其中图1示出了一个第一已知两次扫描纹理过滤选择;
图2示出了一个第二已知纹理过滤选择;图3示出了一个4D Mipmap结构;图4示出了一个第三已知两次扫描纹理过滤选择;图5示出了根据本发明的一个两次扫描纹理过滤选择;图6a-c示出了Mipmap等级的结构;图7a-c示出了从不同Mipmap等级中读取的样本;图8a-c示出了根据本发明的样本重建,且图9示出了根据本发明的一个计算机的框图。
具体实施例方式
对于两次扫描1D前向绘图,第一次扫描使用原始纹理作为源。该纹理可以存储为Mipmap格式。该第一次扫描的输出是一个中间图像。在第二次扫描中,该中间图像被转换成输出图像,但由于该中间图像只在第一次扫描中产生,没有它可用的不同的Mipmap等级。因此一般的Mipmap方法不能用于所述的第二次扫描。
图1示出了一个已知两次扫描纹理过滤选择的第一实施例。其中,一个正方形纹理图形10被顺时针旋转,然后绕着一个垂直轴旋转,使得纹理图形10的右边14移离观察者。该图过滤通过示出具有原始部分13,14的原始纹理图形10,具有中间部分15,16的中间图像11,以及具有最终部分17,18的最终图像12,示出了两个过滤路径,即先水平后垂直。由于纹理图形10的右边原始部分14被映射到一个比映射到屏幕区域17的左边原始部分13更小的屏幕区域18,用于该部分的纹理可以来自更高的Mipmap等级,即来自具有较低分辨率的纹理图形。
图2示出了如果右边部分26确实由一个较低分辨率的Mipmap生成将会怎样。这呈现出传统的3D Mipmap结构,其中较低分辨率的Mipmap是通过对具有较高分辨率的Mipmap的四个纹理的不加权平均成较低分辨率版本的一个纹理而形成的,即Mipmap水平与垂直缩小相等的2的幂次。由于所述1D过滤器将一个输入线映射到一个输出线,该纹理图形20的左边和右边部分23,26在中间图像21中以不同的垂直分辨率结束。一般而言,该中间图像包含由不同Mipmap等级产生的不同部分27,28。这可以从中间图像21的两个部分27,28之间的垂直缝隙29看到。然而,不使用所述原始纹理图形20的部分24,25。
这使两次扫描都复杂了许多。在第一次扫描中,中间图像的不相连的部分不得不被分配到该中间图像的不同区域,且不得不建立管理来将该信息转发到第二次扫描。第二次扫描需要读取该信息并将适当部分再次合并,这由于合并来自中间图像的不同部分的样值的一个Mipmap等级变换装置的邻近的过滤样值而变得复杂。复杂性的原因是由于在中间图像中存在不同的垂直缩放系数。该原因可以通过使用所谓4D Mipmap来消除。
在所述4D Mipmap结构中,原始纹理映射的缩小版本在水平与垂直方向上相互独立地缩放,形成如图3所示的结构。这里,标号为(1,1)的区域是所述原始纹理图形,它在u和v方向上相互独立地(例如以2的幂次或系数)缩放。对于传统的3D Mipmap,两个方向以同样的系数采样,产生如图3所示的只有对角块(1,1),(2,2),(3,3),(4,4)的样本结构。
使用此4D Mipmap结构,可以保持一个不变的垂直缩放系数。如图4所示。这里,选择Mipmap等级(2,1)代替(2,2)来生成所述中间图像31的右边部分38。所述第一次扫描的过滤器可以处理来自一行(包含由u坐标上的不同Mipmap等级生成的片断,但垂直Mipmap等级不变)的样值而不需任何额外的工作。第二次扫描与非Mipmap情况相同,因为所述中间图像31不再使用Mipmap。然而,该中间图像是以一种比没有贴图分级细化时更为有效的方式产生。对于右边38,读取纹理只使用一半的带宽,这也意味着不得不处理更少的纹理。又一次,不使用原始纹理图形30的部分34,35,只使用部分33,36来获取从中重建最终图像32的中间部分37,38。
然而有一些不足之处。根据如图2所描绘的选择,更少的纹理从纹理存储器(只有四分之一用于生成右边部分28,因为现在只有区域26而不是区域14从该纹理存储器中读取)中读取,说明了该3D方法的带宽使用比4D方法的好,其中4D方法中有时保持不自然的高值以保证不变的垂直缩放。此外,所述4D Mipmap结构比常规的3D Mipmap结构有多得多的存储密度它存储一个4D Mipmap结构花费的存储空间是存储一个3D Mipmap结构的3倍。因此,最好结合3D Mipmap与4D Mipmap的优势。根据本发明,这可以通过使用3D Mipmap的纹理并实时地,即执行绘制时重建所述4D Mipmap结构来实现。
图5中示出了实时4D Mipmap重构。这里,从一个常规的3D Mipmap结构中读取用于所述中间图像41的右边部分49的纹理,但右边部分49在所述水平过滤通过开始获得最终图像42之前被垂直放大到另一个中间部分47,即实时重建,来匹配左边部分48。这样一来,仍然可以保持与3D Mipmap有关的低带宽要求,但此外也可获得来自所述4D Mipmap结构的不变的垂直缩放系数。后者使所述第一次过滤通过保持简单。由于生成同样的中间图像,所述第二次过滤也简单。这样,根据本发明,只使用原始纹理图形40的部分43,46而不使用部分44,45。
使用这个由于只要求以2的幂次扩张因而在优选实施例中变得相对容易的实时放大,所有读取的纹理都达到同样的垂直分辨率。在穿过一个三角形之前,需要决定将到达哪个分辨率。因此需要计算例如遇到的最高分辨率,该最高分辨率很容易地由所述三个顶点的导数所确定。最高分辨率提供最高的图像质量,但分辨率越低,要求的带宽越小。
为了确定如何执行垂直放大,可以仔细看看如何从所述原始纹理图形中过滤低分辨率Mipmap等级。这如图6所示。图6a只示出了来自原始纹理图形的样值(圆点)60。图6b还示出了来自所述第一Mipmap等级的样值(加号)61。图6c还示出了来自所述第二Mipmap等级的样值(正方形)62。箭头63或64分别示出了一个低分辨率Mipmap的一个新样值是如何通过所述高分辨率Mipmap的四个样值不加权平均而生成的。该平均对应于一个双线性过滤的特例,其中该新样值恰好位于该四个原始样值的中间。
当一个纹理以3D Mipmap方式读取时,不同Mipmap样值将被读取,如图7所示。这些样值需要用来驱动所述第一(水平的)过滤通过。但是如图7中的虚线所示,没有完整的行可被过滤,因此所述低分辨率Mipmap不得不如图5中所示的被垂直放大。此放大意味着以高分辨率重建所述纹理图形。如图8所示,其中样值60’(开环)将被生成,与样值60(圆点)一起组成行,该行可以送给所述水平1D过滤器,通过所述低分辨率样值61,62来垂直地重建所述纹理颜色。为了正确进行,需要一个重建过滤器。
适当地重建样值60’并不关键。然而在这种情况中,第二次扫描将对一个宽大的轨迹进行适当的过滤。只有在一个原始Mipmap等级中有许多不同的Mipmap等级,即最低分辨率Mipmap不得不被放大许多。通常地,在所述4D Mipmap重建中的这样的放大将伴随着所述第二次扫描中的类似的缩小,因此在这些罕见的情况中不是显而易见的。
最简单的过滤器是箱式过滤器,它等于是最近的邻近选择。用这样的过滤器,样值60’只是最近的低分辨率样值61或62的副本。然而,由于用于重建的栅格结构是很规则的,实现一个更好的过滤器外形是很容易且便宜的。
使用帐篷(tent)过滤器,样值60’是两个邻近低分辨率样值61的一个线性组合。但所述放大系数是2的幂次,该加权系数是常值在两个垂直邻近低分辨率样值a,b中间的两个样值601’,602’是所述两个低分辨率样值a,b之间的四分之一和四分之三,并因此可以重建为(3a+b)/4和(a+3b)/4。设计专门的硬件来有效地执行此插值,并因此从一个较高的Mipmap等级执行重建。需要跟踪以前的读取样值的行以使低分辨率样值a,b都能用于插值。这花费一行内存,如果不执行基于瓦片的重现,所述花费一行内存是禁止的。对于更高阶的过滤器相应地需要更多行的存储器。
如果不得不从一个不是下一个缩小版本的Mipmap等级中执行重建,同样的“一级”重建硬件可以被递归地使用。该递归过程如图8所示,其中右边的样值60’(开环)可以从所述低分辨率样值62(正方形)建立,先从样值62(正方形)生成样值65(三角形),即应用“一级”重建,然后再次采用“一级”重建从样值65(三角形)重建样值60’(开环)。该递归过程可以以时间共享方式通过一个重复过程执行,即无需不同的硬件。该时间共享的减速不是那么具有禁止性的,因为每个原始的Mipmap等级多于两个的Mipmap等级可能是一种罕见的情况,因为这样的原始等级的指向与观察者之间有很大角度,这意味着它们不占用许多屏幕区域。
根据本发明的包括一个计算机图形系统的计算机的框图如图9所示。该计算机70包含的主要器件有一个中央处理单元71,一个存储器72,一个输入装置73,一个显示器74和一个计算机图形系统75。所述可以作为图形处理器的计算机图形系统75进一步包含本发明所必需的用来以3D Mipmap格式存储纹理图形的纹理存储器76,一个用于从存储在所述纹理存储器76中的所述3D Mipmap中实时重建一个4DMipmap的一个纹理图形的至少一部分的Mipmap重建单元77,一个用于将来自所述4D Mipmap的纹理数据映射到相应的定义所述显示到所述显示器74的显示图像的像素数据的纹理映射单元78。
权利要求
1.一种使用纹理映射绘制图像用于显示的计算机图形系统,包含一个纹理存储器,用来以3D Mipmap(贴图分级细化)格式存储纹理图形;一个Mipmap重建装置,用来根据从所述纹理存储器中读取的3DMipmap实时重建一个4D Mipmp的一个纹理映射的至少一部分,和一个纹理映射装置,用来将来自所述4D Mipmap的纹理数据映射相应的定义所述显示图像的像素数据。
2.如权利要求1所述的计算机图形系统,其中所述Mipmap重建装置适于两次扫描1D纹理映射。
3.如权利要求1所述的计算机图形系统,其中所述Mi pmap重建装置包括一个重建过滤器,用于垂直放大所述3D Mipmap的一个较低分辨率的纹理映射来获得所述4D Mipmap的一个较高分辨率的纹理映射,然后水平放大所述较高分辨率的纹理映射。
4.如权利要求1所述的计算机图形系统,其中所述Mipmap重建装置包括一个重建过滤器,用于水平缩小所述3D Mipmap的一个较高分辨率的纹理映射来获得所述4D Mipmap的一个较低分辨率的纹理映射,然后垂直缩小所述较低分辨率的纹理映射。
5.如权利要求1所述的计算机图形系统,其中所述Mipmap重建装置适于通过从下一个较低等级的具有较低分辨率的一个纹理映射中逐步重建一个具有较高分辨率的纹理映射或从下一个较高等级的具有较高分辨率的一个纹理映射中逐步重建具有较低分辨率的纹理映射来递归重建所述4D Mipmap。
6.如权利要求1所述的计算机图形系统,其中所述Mipmap重建装置适于要么通过缩小所述3D Mipmap的一个具有较高分辨率的纹理图形要么通过放大所述3D Mipmap的一个具有较低分辨率的纹理图形来重建所述4D Mipmap的一个纹理图形的至少一部分。
7.一种计算机,包括一个中央处理单元,一个存储器,一个输入装置,一个显示器和一个如权利要求1所述的计算机图形系统。
8.一种使用纹理映射绘制图像用于显示的方法,包含步骤以3D Mipmap格式存储纹理映射;从所述3D Mipmap实时重建一个4D Mipmap的至少一部分,及将来自所述4D Mipmap的纹理数据映射到相应的定义所述显示图像的像素数据。
9.一种计算机程序,包括程序代码装置,当所述计算机程序运行在一个计算机上时,所述程序代码装置使所述计算机执行如权利要求8所述的方法的步骤。
全文摘要
本发明涉及一种计算机图形系统及一种使用纹理映射绘制图像用于显示的方法。根据本发明,结合了所述3D与4D Mipmap绘图的优势,通过如下步骤以3D Mipmap格式存储纹理图形,从所述3D Mipmap实时重建一个4D Mipmap的至少一部分,和将来自所述4D Mipmap的纹理数据映射到相应的定义所述显示图像的像素数据。
文档编号G06T15/04GK1605088SQ02825356
公开日2005年4月6日 申请日期2002年12月16日 优先权日2001年12月20日
发明者B·G·B·巴伦布鲁格, K·梅恩德斯 申请人:皇家飞利浦电子股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1