专利名称:运动模糊的生成的利记博彩app
技术领域:
本发明涉及一种在图形系统中生成运动模糊的方法,以及一种图形计算机系统。示出了根据本发明的实施例,基于位移矢量SDV,使用拉伸纹理像素的时间预滤波。
背景技术:
通常,在一台显示装置的显示屏幕上,图像以扫描线的连续帧进行显示。在显示屏幕上显示的高速运动的3D(三维)物体,会存在大的帧间位移。这在3D游戏情况下尤其明显。大的位移可能会导致视觉失真,常被称为时间混叠(temporal aliasing)。时间滤波在多幅图像中添加模糊,减轻了这些失真。
一种代价高昂的减轻时间混叠的方法是提高帧率,使物体的运动导致较小的帧间位移。然而,高刷新率需要昂贵的显示装置,从而能够显示这些具有高刷新率的图像。
另一种方法是时间上采样,其中,多幅图像在一帧显示时间间隔内多次重现。这些被重现的图像先被平均,再被显示。这种方法要求3D应用在帧间间隔中,为一些实体发送几何体(geometry),这需要很强的处理能力。
一种效能成本合算的解决办法是在当前帧,对当前图像与前一帧先前显示的图像取平均。该方法仅提供运动模糊的一种近似,不能提供令人满意的图像质量。
US-B-6426755公开了一种实现模糊效果的图形系统和方法。在一个实施方式中,该系统包括一个图形处理器、一个采样缓冲器和一个采样-到-像素计算单元。配置图形处理器,从而基于一组接收到的三维图形数据,重现多个采样。同样,配置该处理器,用来为采样产生采样标签,其中,采样标签表示采样是否将被模糊。上采样的采样缓冲器接收并存储来自图形处理器的采样。采样-到-像素计算单元接收并滤波来自上采样缓冲器的采样,以产生输出像素,在显示器件上形成图像。配置采样-到-像素计算单元,以选择滤波器属性,该滤波器根据采样标签来过滤采样,以生成输出像素。
发明内容
本发明的目标是在光栅化操作期间利用一维滤波器添加模糊。
本发明的第一方面如权利要求1所述,提供了一种在图形系统中生成运动模糊的方法。本发明的第二方面如权利要求13所述,提供了一种计算机图形系统。从属权利要求中定义了优选的实施例。
根据本发明第一方面、在图形系统中生成运动模糊的方法中,接收定义了图形基元形状的几何信息,该几何信息可以是参考US-B-6426755中的三维图形数据。还可以使用由具有较低处理资源的系统中的应用所提供的二维图形数据。该方法使用位移信息按照运动方向对图形基元采样,以获得输入采样,该位移信息决定了定义图形基元运动方向的位移矢量。多个输入采样的一维空间滤波提供了时间滤波。通过这种方式,无需复杂的处理和滤波,即可获得高质量的模糊。
无需多余的计算,使用了一种简单的一维滤波器。相反,US-B-6426755中的后处理必须计算一个对每个像素具有不同方向和滤波数量的二维滤波器。根据本发明的方法具有如下优势以一种有效的方式引入充足的运动模糊。它不需要增加帧率,也不需要增加时间采样率,图像质量优于由当前的平均技术所获得的图像质量。
另外一个优点是,该方法能够如权利要求6所述,在已知的反向纹理映射方法中实现;也能够如权利要求7所述,在前向纹理映射方法中实现。将参考图2和图4详细阐述已知的反向映射方法和前向纹理映射方法。
如权利要求2所述,在根据本发明的一个实施例中,一维滤波器的覆盖区域随着位移矢量的幅度而变化,并因此也随着运动而变化。其优点是引入模糊的量与图形基元的位移量相关联。如果出现的运动量少,则仅引入少量模糊而保持大量的锐度。如果出现的运动量多,则引入大量模糊来抑制时间混叠失真。这样,就提供了最佳数量的模糊。由于仅需要一个一维滤波器,所以滤波量易于改变。
如权利要求3所述,在根据本发明的一个实施例中,位移矢量由2D(二维)或3D(三维)应用提供,如3D游戏。其优点是2D或3D应用的程序设计者可以完全控制位移矢量,从而能够掌控引入模糊的量。
如权利要求4所述,在根据本发明的一个实施例中,2D或3D的应用提供了定义前一帧中的图形基元的位置和方向的信息。在根据本发明的一个实施例中的生成运动模糊的方法,通过比较当前帧和前一帧中图形基元的位置和方向,来决定图形基元的位移矢量。其优点是无须通过3D应用软件来计算位移矢量,而改为使用几何图形加速硬件来决定位移矢量。
如权利要求5所述,在根据本发明的一个实施例中,通过根据本发明的生成运动模糊的方法,对前一帧中图形基元的位置和方向进行缓冲。其优点是可以使用标准的3D应用,位移矢量完全由与本发明相一致的生成运动模糊的方法决定。
如权利要求6所述,在根据本发明的一个实施例中,生成运动模糊的方法在已知的反向纹理映射方法中得以实现。
在屏幕空间中出现的像素亮度定义了屏幕上显示的图像。通常,像素实际位于(在矩阵显示中)或被认为位于(在CRT中)一个正交矩阵中,该正交矩阵由x、y正交坐标系表示。如权利要求6所述,在根据本发明的一个实施例中,x和y坐标系被旋转,使得屏幕空间中的屏幕位移矢量出现在x轴方向。因此,在屏幕空间中,按照屏幕位移矢量的方向进行采样。在屏幕空间内的图形基元是现实世界图形基元在旋转屏幕空间中的映射(也被称为投影)。通常,图形基元是一个多边形。屏幕位移矢量是在人眼空间中图形基元的位移矢量在屏幕空间中的映射。人眼空间的图形基元也被认为是现实世界图形基元,其意义不仅代表自然物体,也包括合成物体。采样提供了重新采样像素的坐标,而没有提供在非旋转坐标系中的像素的坐标,该重新采样的像素被用做反向纹理映射的输入采样。
然后,应用已知的反向纹理映射。在旋转坐标系中具有一个覆盖区域的模糊滤波器被分配给多个像素,该模糊滤波器。在覆盖区域内的像素按照模糊滤波器幅值特征被滤波。在屏幕空间中的该覆盖区域被映射到纹理空间,称之为映射的覆盖区域。同样,在屏幕空间中的多边形被映射到纹理空间,称之为映射的多边形。纹理空间包括那些应该在多边形表面上显示的纹理。这些纹理由保存在纹理存储器中的纹理像素亮度定义。因此,这些纹理就成为外观信息,这些外观信息通过在纹理空间中定义纹理像素亮度,来定义图形基元的外观。
确定了既落在映射的覆盖区域内,又落在映射的多边形中的纹理像素,使用映射的模糊滤波器对这些纹理像素的纹理像素亮度进行加权,以获得在旋转坐标系中的像素亮度(因此,获得的是重新采样像素的亮度,而不是其坐标系未被旋转的已知的反向纹理映射中的像素的亮度)。
一维滤波对旋转坐标系中像素的亮度进行平均,以获得平均亮度。重新采样器重新采样了平均后的重新采样像素亮度,以从平均亮度中,获得原始非旋转坐标系内的像素亮度。
如权利要求7所述,在根据本发明的一个实施例中,生成运动模糊的方法在前向纹理映射方法中得以实现。
在纹理空间中,纹理空间中图形基元的纹理像素亮度按照纹理位移矢量的方向被重新采样,以获得重新采样的纹理像素(RTi)。纹理像素位移矢量是现实世界位移矢量在纹理像素空间中的映射。对存储在纹理存储器中的纹理像素亮度进行内插,以获得重新采样纹理像素的亮度。一维空间滤波依照一个加权函数对重新采样纹理像素的亮度进行平均,以获得滤波后的纹理像素。图形基元的滤波后纹理像素被映射到屏幕空间,以获得映射的纹理像素。确定一个映射纹理像素对所有像素的亮度贡献,其中,相应的预滤波器的预滤波覆盖范围包括了该映射纹理像素。一个映射纹理像素对某一特定像素的贡献,依赖于预滤波器的特性。对于每个像素,求和多个映射纹理像素的亮度贡献,以获得每个像素的亮度。
因此,换句话说,纹理空间中多边形内的纹理像素的坐标被映射到屏幕空间,以及根据该映射纹理像素的滤波器的特性决定一个映射纹理像素对所有像素的贡献,与该所有像素相应的预滤波器的覆盖范围包括了该映射纹理像素,最后,对于每个像素,求和所有纹理像素的贡献,以获得像素亮度。
如权利要求8所述,在根据本发明的一个实施例中,通过图形基元多个顶点的平均位移矢量,来确定图形基元的位移矢量。其优点是对每个多边形,仅需要一个单独的位移矢量,该位移矢量可以由一种简单的方式确定。如果这些顶点的位移矢量方向被平均,则一个单独的位移矢量是足够的。位移矢量的幅度可以通过在整个多边形中内插得到。
如权利要求9所述,在根据本发明的一个实施例中,在屏幕空间中,在屏幕空间中位移矢量方向上、由位移矢量的幅度决定的一段距离内,分布重新采样像素的亮度,以获得分布亮度。不同像素的重叠分布亮度被平均,以获得一个分段常量信号,该分段常量信号是屏幕空间中的平均亮度。其优点是类似于照相机的快门动作,提供一个合适的运动模糊。
如权利要求10所述,在根据本发明的一个实施例中,在纹理空间中,在纹理空间中位移矢量方向上、由位移矢量的幅度决定的一段距离内,分布重新采样纹理像素的亮度,以获得分布亮度。不同重新采样纹理像素的重叠分布亮度被平均,以获得一个分段常量信号,该分段常量信号是纹理空间中的平均亮度(也称之为滤波后的纹理像素)。其优点是类似于照相机的快门动作,提供一个合适的运动模糊。
如权利要求11所述,在根据本发明的一个实施例中,一维空间滤波器在一个或多个帧间间隔中应用不同的加权平均函数。其优点是虽然在每一帧中采用了一个有效的一维滤波器,但可以获得一个高阶时间滤波。在帧重现中,仅计算必须被存储的部分像素亮度。必须累加n个连续帧的像素亮度,以获得正确的像素亮度。在这种情况下,n是时间滤波器的宽度。在模糊量相同的情况下,高阶滤波产生更少的混叠,或者等价于,在相同时间混叠量的情况下,所产生模糊量减少。
如权利要求12所述,在根据本发明的一个实施例中,重新采样像素或重新采样纹理像素被分布的距离,约为重新采样纹理像素间距的倍数。这就避免了在纹理像素分布亮度的累加中,重新采样纹理像素数目加倍的情况。
参考下文描述的实施例,本发明的这些和其它方面是显而易见的,并且将被进一步说明。
在图中图1说明了现实世界3D物体在显示屏幕上的显示;图2说明了已知的反向纹理映射;图3显示了用于实现已知的反向纹理映射的电路的方框图,;图4说明了前向纹理映射;图5显示了用于实现前向纹理映射的电路的方框图;图6显示了根据本发明一个实施例的电路的方框图;图7说明了在屏幕空间内位移矢量方向上的采样;图8显示了包括反向纹理映射的本发明一个实施例的电路的方框图;图9说明了在纹理空间内位移矢量方向上的采样;图10显示了包括前向纹理映射的本发明一个实施例的电路的方框图;图11显示了具有一定覆盖区域的模糊滤波器的具体实现;图12显示了基于多边形的多个顶点的位移矢量来决定整个多边形的位移矢量;图13显示了根据本发明一个实施例,基于位移矢量SDV,使用拉伸纹理像素的时间预滤波;图14显示了根据本发明一个实施例,基于位移矢量TDV,使用拉伸纹理像素的时间预滤波;以及图15显示了根据本发明一个实施例,通过使用拉伸纹理像素的照相机的运动模糊的近似。
发明详述图1说明了现实世界3D物体在显示屏幕上的显示。现实世界物体WO(world object)可能是诸如所示立方体这样的三维物体,该物体WO被投影到二维显示屏幕DS(display screen)上。三维物体WO具有一种表面结构或者纹理,它们定义了该三维物体WO的外观。在图1中,多边形A具有纹理TA,多边形B具有纹理TB。用一个更为通用的术语,多边形A和B也被称为现实世界图形基元。
通过定义人眼或相机相对于屏幕DS的位置ECP(eye or cameraposition),来获得现实世界物体WO的投影。图1表示了与多边形A对应的多边形SGP是如何被投影到屏幕DS上的。在屏幕空间SSP(screen space)中,由坐标X和Y定义的多边形SGP也被称为图形基元,代替称为屏幕空间中的图形基元。这样,图形基元在人眼空间内表示为多边形A,在屏幕空间内表示为多边形SGP,在纹理空间内表示为多边形TGP,从上下文就可以清楚地知道所指的是哪个图形基元。仅使用多边形A的几何形状来确定多边形SGP的几何形状。通常,已知多边形A的顶点,就足以确定多边形SGP的顶点。
多边形A的纹理TA(texture A)并不是直接从现实世界中投影到屏幕空间SSP中。现实世界物体WO的不同纹理被存储在一个纹理图或者纹理空间TSP(texture space)中,该纹理空间用坐标U和V定义。例如,图1表示多边形A具有一个纹理TA,该纹理TA在纹理空间TSP内TA指示的区域中可得到,而多边形B具有另一个纹理TB,该纹理TB在纹理空间TSP内TB指示的区域中可得到。多边形A被投影到纹理空间TA中,从而出现一个多边形TGP,这样,当存在于多边形TGP中的纹理被投影到多边形A上时,就可以获得现实世界物体WO的纹理或至少尽可能地近似。一种在纹理空间TSP和屏幕空间SSP之间的透视变换PPT(perspective transformation),将多边形TGP的纹理投影到相应的多边形SGP上。该处理过程也被称为纹理映射。通常,这些纹理不会全部出现在一个总体纹理空间中,而是每个纹理定义其自身的纹理空间。
图2说明了已知的反向纹理映射。图2显示了屏幕空间SSP内的多边形SGP和纹理空间TSP内的多边形TGP。为便于说明,假定多边形SGP和多边形TGP都对应于图1中所示的现实世界物体WO的多边形A。
出现在屏幕空间SSP中的多个像素Pi(pixel)的亮度PIi(intensity ofpixel)定义了所显示的图像。通常,像素Pi实际位于(矩阵显示中)或被认为位于(CRT中)一个正交位置矩阵中。在图2中,仅用点表示有限数目的像素Pi。在屏幕空间SSP中显示多边形SGP,以表示哪些像素Pi位于多边形SGP中。
在纹理空间TSP中的纹理像素或纹理像素亮度Ti,以水平线和垂直线的交叉点表示。这些纹理像素Ti定义了纹理,纹理像素Ti通常被存储在一个称为纹理图的存储器内。假定所示的纹理图或纹理空间TSP的一部分对应图1中所示的纹理TA。多边形TGP显示在纹理空间TSP中,以表示哪些纹理像素Ti位于多边形TGP内,用小十字交叉来表示这些纹理像素Ti。
已知的反向纹理映射包括下面所阐述的几个步骤。具有一个覆盖区域FP(footprint)的模糊滤波器在屏幕空间SSP中示出,为获得模糊,必须对多个像素Pi进行所需的加权平均操作。在屏幕空间SSP中的该覆盖区域FP被映射到纹理空间TSP中,并被称为映射覆盖区域MFP(mapped footprint)。多边形TGP也被称为映射多边形,可以通过将多边形SGP从屏幕空间SSP映射到纹理空间TSP得到该多边形TGP。纹理空间TSP包含纹理TA、TB(见图1),这些纹理应该显示在多边形SGP的表面上。如上所述,这些纹理TA、TB由存储在纹理像素存储器中的纹理像素亮度Ti定义。因此,纹理TA、TB是外观信息,通过在纹理空间TSP中定义纹理像素亮度Ti,来定义图形基元SGP的外观。
确定既落在映射覆盖区域MFP内又在映射多边形TGP内的纹理像素Ti。这些纹理像素Ti用十字交叉表示。利用映射模糊滤波器MFP对这些纹理像素Ti的纹理像素亮度Ti进行加权,以获得像素Pi的亮度。
图3显示了用于执行已知的反向纹理映射的电路的方框图。该电路包括在屏幕空间SSP内操作的光栅化引擎(rasterizer)RSS,纹理空间TSP中的重新采样器RTS,纹理存储器TM以及像素片段处理电路PFO。Ut、Vt表示序号为t的纹理像素Ti的纹理坐标,Xp、Yp表示序号为p的像素的屏幕坐标,It表示序号为t的纹理像素Ti的颜色,Ip表示序号为p的像素Pi滤波后的颜色。
光栅化引擎RSS在屏幕空间SSP内光栅化多边形SGP。对于扫过的每个像素Pi,其模糊滤波器覆盖区域FP被映射到纹理空间TSP。根据模糊滤波器的映射框架,映射覆盖区域MFP和映射多边形TGP内的纹理像素Ti被确定和加权。利用纹理空间TSP中的映射模糊滤波器,计算像素Pi的颜色。
这样,光栅化引擎RSS在屏幕空间SSP内接收多边形SGP,为映射模糊滤波器提供覆盖区域MFP和像素Pi的坐标。纹理空间内的重新采样器RTS接收映射模糊滤波器覆盖区域MFP和多边形TGP的位置信息,以确定哪些纹理像素Ti在映射覆盖区域MFP并在多边形TGP内。从纹理存储器TM中取出按照这种方法确定的纹理像素亮度Ti。模糊滤波器对按照这种方法确定的纹理像素Ti的相关亮度进行滤波,为像素Pi提供滤波后的颜色Ip。
像素片段处理电路PFO提供了一种改进的处理,用于处理多边形SGP边界附近的像素,并且提供显示在屏幕DS上的像素Pi的像素亮度PIi。如果几个多边形正在运动,那么像素片段处理电路PFO会混合模糊。
图4说明了前向纹理映射。图4表示了屏幕空间SSP中的多边形SGP和纹理空间TSP中的多边形TGP。为便于阐述,假定多边形SGP和多边形TGP均对应于图1所示的现实世界物体WO的多边形A。
存在于屏幕空间SSP内的像素Pi的亮度PIi定义了所显示的图像。这些像素Pi用点表示。在屏幕空间SSP内显示了多边形SGP,以表示哪些像素Pi位于多边形SGP内。实际上,由Pi表示的像素位于多边形SGP之外。对于每个像素Pi,都有一个模糊滤波器的覆盖区域FP与之相关联。
纹理空间TSP内的纹理像素或纹理像素亮度Ti由水平和垂直线间的间隙表示。而且,通常被存储在称为纹理图的存储器中的这些纹理像素Ti定义了纹理。假定所示的部分纹理像素图或部分纹理空间TSP与图1所示的纹理TA对应。在纹理空间TSP内显示多边形TGP,以表示哪些纹理像素Ti位于多边形TGP内。
多边形TGP内的纹理像素Ti的坐标被映射(重新采样)到屏幕空间SSP中。在图4中,纹理像素Ti(在纹理空间中用十字交叉表示)到屏幕空间SSP的该映射(由从纹理空间TSP到屏幕空间SSP的箭头AR表示)在屏幕空间SSP中提供映射纹理像素MTi(在屏幕空间SSP中用十字交叉表示,这些十字交叉可以位于由点表示的像素位置中间)。映射纹理像素MTi对具有模糊滤波器覆盖区域FP的所有像素Pi的贡献由模糊滤波器的滤波器特性来确定,该模糊滤波器的覆盖区域包围映射纹理像素MTi。求和所有映射纹理像素MTi对像素Pi的贡献,以获得像素Pi的亮度PIi。
在前向纹理映射中,从纹理像素Ti的颜色到像素Pi的颜色的重新采样出现在屏幕空间SSP中,从而驱动输入采样。与反向纹理映射相比,前向纹理映射更容易确定哪些纹理像素Ti对特定像素Pi有贡献。只有特定像素Pi的模糊滤波器的覆盖区域FP内的映射纹理像素MTi才会对该特定像素Pi的颜色或亮度有所贡献。另外,不需要将该模糊滤波器从屏幕空间SSP变换到纹理像素空间TSP。
图5显示了用于执行前向纹理映射的电路的方框图。该电路包括在纹理空间TSP内操作的光栅化引擎RTS,屏幕空间SSP中的重新采样器RSS,纹理存储器TM以及像素片段处理电路PFO。Ut、Vt表示序号为t的纹理像素Ti的纹理坐标,Xp、Yp表示序号为p的像素的屏幕坐标,It表示序号为t的纹理像素Ti的颜色,Ip表示序号为p的像素Pi滤波后的颜色。
光栅化引擎RTS在纹理空间TSP内光栅化(rasterize)多边形TGP。对于多边形TGP内的每个纹理像素Ti,屏幕空间RSS中的重新采样器将纹理像素Ti映射为屏幕空间SSP中的映射纹理像素MTi。另外,重新采样器RSS确定映射纹理像素MTi对所有像素Pi的贡献,与这些像素Pi关联的模糊滤波器的覆盖区域FP包围该映射纹理像素MTi。最后,重新采样器RSS对所有映射纹理像素MTi对像素Pi的亮度贡献进行求和,以获得像素Pi的亮度PIi。
像素片段处理电路PFO提供了一种改进的处理,用于处理在多边形SGP边界附近的像素,并提供在屏幕DS上显示的像素Pi的像素亮度PIi。
图6显示了根据本发明实施例的电路的方框图。该运动模糊生成电路包括光栅化引擎RA,位移提供电路DIG和一维滤波器ODF。
光栅化引擎RA接收几何信息GI和位移信息DI,其中,几何信息GI定义图形基元SGP或TGP的形状,位移信息DI确定位移矢量,该位移矢量定义图形基元SGP或TGP的运动方向。光栅化引擎RA在位移矢量方向上对图形基元SGP或TGP进行采样,以获得采样点RPi。一维滤波器ODF通过过滤采样点RPi提供时间预滤波,以获得平均亮度ARPi。
光栅化引擎RA可以在屏幕空间SSP内或在纹理空间TSP内操作。如果光栅化引擎在屏幕空间SSP内操作,图形基元SGP或TGP可以是多边形SGP,且采样点RPi基于像素Pi。如果光栅化引擎RA在纹理空间TSP内操作,图形基元SGP或TGP可以是多边形TGP,且采样点RPi基于纹理像素Ti。
参考图7并参考其与反向纹理映射的结合(见图8)来说明光栅化引擎RA在屏幕空间SSP内的使用。
参考图9并参考其与前向纹理映射的结合(见图10)来说明光栅化引擎RA在纹理空间TSP内的使用。
图7说明了在屏幕空间内位移矢量方向上的采样。现实世界物体WO沿某一方向运动。整个物体WO的这种运动导致了图形基元(多边形A和B)也随之运动。在屏幕空间SSP中,多边形A的运动可由多边形SGP的位移矢量SDV表示。现实世界物体WO的其它多边形可能会有其它位移矢量。像素Pi的亮度PIi被重新采样,从而确定重新采样像素RPi,该重新采样像素RPi位于一个矩形栅格中,该矩形栅格的一个方向与位移矢量SDV的方向相一致。像素Pi用点表示,重新采样像素RPi用十字交叉表示。仅显示了一些像素Pi和重新采样像素RPi。
其亮度PIi确定了所显示图像的像素Pi被置于由正交坐标轴x和y定义的正交坐标空间中。重新采样像素RPi被置于由正交坐标轴x′和y′定义的正交坐标空间中。
图8显示了根据本发明一个实施例、包括反向纹理映射的电路的方框图。
采样器RSS,即图6中所示的在屏幕空间SSP内采样的采样器RA,在多边形SGP内按照该多边形SGP的位移矢量SDV的方向进行采样,以获得重新采样像素RPi。因此,采样器RSS接收多边形SGP的几何外形,并接收来自位移提供电路DIG的位移信息DI。位移信息DI可以包括位移发生的方向和位移量,从而位移信息DI可以是位移矢量SDV。位移矢量SDV可以通过3D应用提供,或者可以通过位移提供电路DIG从连续帧中多边形A的位置确定。重新采样像素RPi出现在一个等距离正交坐标空间中,其位置与位移矢量SDV一致。或者换个说法,屏幕空间内的坐标系x、y被旋转,从而获得一个旋转坐标系x′、Y′,其中,x′轴与位移矢量方向相同。
反向纹理映射器ITM接收重新采样像素RPi,以提供亮度RIp。参考图2和图3所示为已知的反向纹理映射方式,反向纹理映射器ITM的操作与该已知反向纹理映射的方式相同。但是,其使用了重新采样像素RPi的坐标,而不是像素Pi的坐标。这样,在屏幕空间内的滤波器覆盖区域FP此时被定义在与屏幕位移矢量一致的坐标系中。该覆盖区域被映射到纹理空间,在纹理空间中,既在该映射覆盖区域内又在多边形内的纹理像素依照映射滤波器特性被加权,以获得该覆盖区域所属于的重新采样像素RIp的亮度。
一维滤波器ODF包括平均器AV和重新采样器RSA。平均器AV对亮度Rip求平均,以获得平均亮度ARIp。按照一个加权函数WF执行该平均。重新采样器RSA重新采样平均亮度ARIp,以获得像素Pi的亮度PIi。
图9说明了在纹理空间内位移矢量方向上的采样。现实世界物体WO沿某一方向运动。整个物体WO的这种运动导致图形基元(多边形A和B)也随之运动。在纹理空间TSP中,多边形A的运动可由多边形TGP的位移矢量TDV表示。现实世界物体WO的其它多边形可能会有其它位移矢量。纹理像素Ti的亮度被重新采样,从而获得重新采样纹理像素RTi,重新采样纹理像素RTi被置于一个矩阵中,该矩阵的一个方向与位移矢量TDV的方向相一致。纹理像素Ti用点表示,重新采样纹理像素RTi用十字交叉表示。仅显示了一些纹理像素Ti和重新采样纹理像素RTi。
纹理像素Ti亮度确定了所显示纹理,该纹理像素Ti被置于由正交坐标轴U和V定义的正交坐标空间中。重新采样纹理像素RTi被置于由正交坐标轴U′和V′定义的正交坐标空间中。在纹理空间中,两个采样点(纹理像素Ti)之间的距离DIS由DIS表示。
图10显示了根据本发明一个示实例、包括前向纹理映射的电路的方框图。
采样器RTS,即图6中所示的在纹理空间TSP内采样的采样器RA,在多边形TGP内按照该多边形SGP的位移矢量SDV的方向进行采样,以获得重新采样纹理像素RTi。因此,采样器RTS接收多边形TGP的几何外形,并接收来自位移提供电路DIG的位移信息DI。位移信息DI可以包括位移发生的方向和位移量,从而位移信息DI可以是位移矢量TDV。位移矢量TDV可以通过3D应用提供,或者可以通过位移提供电路DIG从连续帧中多边形A的位置确定。
内插器IP内插纹理像素Ti的亮度,以获得重新采样纹理像素RTi的亮度RIi。
一维滤波ODF包括一个平均器AV,平均器AV按照一个加权函数WF对亮度RIi进行平均,以获得滤波后的重新采样纹理像素FTi,也称之为滤波纹理像素FTi。
映射器MSP将多边形SGP(更一般地讲,也指图形基元)内的滤波纹理像素FTi映射到屏幕空间SSP,以获得映射纹理像素MTi(见图4)。
计算器CAL确定了每个映射纹理像素MTi对每个像素Pi的亮度贡献,与像素Pi对应的预滤波器PRF(见图11)的预滤波器覆盖区域FP覆盖了映射纹理像素MTi中的一个。亮度贡献取决于预滤波器PRF的特性。例如,如果预滤波器具有立方幅度特性(cubic amplitudecharacteristic),并且映射纹理像素MTi非常接近像素Pi,那么该映射纹理像素MTi对像素Pi亮度的贡献相对较大。如果映射纹理像素MTi在预滤波器覆盖区域FP的边缘,那么该映射纹理像素MTi的贡献相对较小,其中,预滤波器覆盖区域的中心位于像素Pi。如果映射纹理像素MTi不在某一特定像素Pi的预滤波器覆盖区域FP内,那么该映射纹理像素MTi对该特定像素Pi的亮度没有贡献。
计算器CAL求和所有不同映射纹理像素MTi对像素Pi的贡献,以获得像素Pi的亮度PIi。某一特定像素Pi的亮度PIi仅依赖于在属于该特定像素Pi的覆盖区域FP内的映射纹理像素MTi的亮度和预滤波器的幅度特性。因此,对于某一特定像素Pi,仅需要求和在属于该特定像素Pi的覆盖区域FP内的映射纹理像素MTi的贡献。
图11显示了具有一定覆盖区域的模糊滤波器的实施例。图11中,在屏幕空间SSP内滤波的模糊滤波器(也称为预滤波器)PRF具有覆盖区域FP。覆盖区域FP是滤波器PRF在x和/或y方向上的区域,该区域内,映射纹理像素MTi对像素Pi有所贡献。图中示出了位于屏幕空间SSP中的位置Xp处的像素点Pi的滤波器PRF。在所示滤波器PRF的例子中,覆盖区域FP的宽度为四个像素距离,且在x方向上包括位置Xp-2、Xp-1、Xp、Xp+1、Xp+2。映射到位置Xm处的映射纹理像素MTi,将会以映射纹理像素MTi的亮度与滤波器值CO1的乘积,对位置Xp处的像素Pi作出贡献。
图12显示了基于多边形顶点的位移矢量来确定整个多边形的位移矢量。屏幕空间SSP中的多边形SGP具有顶点V1、V2、V3、V4,分别对应于位移矢量TDV1、TDV2、TDV3、TDV4。优选的是,多边形SGP内的所有像素Pi的位移矢量TDV是位移矢量TDV1、TDV2、TDV3、TDV4的均值。因此,位移矢量TDV1、TDV2、TDV3、TDV4被矢量相加,以获得位移矢量TDV的方向和幅值(除以顶点数目之后的幅值)。
可能存在更复杂的方法,例如,如果位移矢量TDV1、TDV2、TDV3、TDV4大不相同,则多边形可以被分割为多个更小的多边形。
图13显示了根据本发明一个实施例、利用拉伸纹理像素的时间预滤波。通过首先在位移矢量SDV的方向上分布重新采样像素RPi的亮度RIp来实现一维滤波器ODF。在相应的重新采样像素RPi周围的区域内进行亮度RIp的分布,使得局部亮度RIp在该区域上被展开。该区域的尺寸由位移矢量SDV的幅度决定。这种亮度RIp的展开也被称为像素Pi的拉伸。图13仅作为例子显示了一个运动位移,该位移是两个相邻的重新采样像素RPi的间距的3.25倍。说明了x′方向(见图7)上的像素拉伸。
在图13A中,重新采样像素RPi的亮度RIp按照由DIi表示的水平线所示被分布或拉伸。x′轴上的每个点表示一个重新采样像素RPi的位置。线DIi表示,分布每个重新采样像素RPi的亮度RIp,以覆盖每个重新采样像素RPi左侧和右侧的另一个重新采样像素RPi。
图13B表示重叠分布亮度DIi的平均。
图14显示了根据本发明一个实施例、利用拉伸纹理像素的时间预滤波。通过首先在位移矢量TDV的方向上分布重新采样纹理像素RTi的亮度RIi来实现一维滤波器ODF。在相应的重新采样纹理像素RTi周围的区域内进行亮度RIi的分布,使得局部亮度RIi在该区域上被展开。该区域的尺寸由位移矢量SDV的幅度决定。这种亮度RIi的展开也被称为重新采样纹理像素RTi的拉伸。图14仅作为例子显示了一个运动位移,该位移是两个相邻的重新采样纹理像素RTi的间距的3.25倍。说明了U′方向(见图9)上的纹理像素拉伸。
在图14A中,重新采样纹理像素RTi的亮度RIi按照由TDIi表示的水平线所示被分布或拉伸。U′轴上的每个点表示一个重新采样纹理像素RTi的位置。线TDIi表示,分布每个重新采样纹理像素RTi的亮度RIi,以覆盖每个重新采样纹理像素RTi左侧和右侧的另一个重新采样纹理像素RTi。
图14B表示重叠分布亮度TDIi的平均FTi。
如果在帧采样间隔中的运动位移大于两个相邻的重新采样纹理像素Rti的间距,这些拉伸的纹理像素将会重叠。通过对分布亮度TDIi的重叠部分进行平均,获得分段常量信号FTi,FTi是对照相机的时间连续积分的很好的近似,将参照图15对其进行说明。因此,纹理像素拉伸的结果是一种模糊,这种模糊类似于传统照相机中的模糊。对于观看者来说,该模糊是非常易于接受的。如果由于没有运动或少量运动而使得被拉伸的纹理像素不重叠,则没有产生运动模糊,且获得空间箱重构(spatial box reconstruction)。
图14显示了运动位移是映射纹理像素距离的3.25倍情况下,对分布亮度DIi的重叠部分的平均。所得到的分段常量信号FTi是一个积分信号的近似。可以把分段常量信号FTi视为表示平均重叠部分的虚采样点(artificial samples)的箱重构。这些虚采样点依赖于可变数量的重叠拉伸纹理像素。在图14中,每三个或四个拉伸的纹理像素彼此重叠。通过将拉伸的纹理像素的边缘约束在重新采样或映射纹理像素位置RTi内,可以避免这种情况。因此,采用一个运动模糊因子,该因子是重新采样纹理像素RTi间距的整数倍。
图15显示了根据本发明一个实施例、通过使用拉伸纹理像素的照相机的运动模糊的近似。图15A表示八个映射纹理像素距离的纹理像素拉伸。由tb代表的线表示一特定帧中U′方向上的重新采样纹理像素RTi的位置。由te代表的线表示上述特定帧的后一帧中U′方向上的重新采样纹理像素RTi的位置。分布亮度RIi由一组线TDIi代表。所得到的分段连续亮度FTi如图15B所示。由CA代表的实线表示由照相机引入的运动模糊。
最后,在一个优选实施例中,本发明集中于一种在3D图形系统中生成运动模糊的方法。从3D应用中接收(RSS、RTS)几何信息GI,该几何信息GI定义了图形基元SGP或TGP的形状。还从该3D应用中接收或者由该几何信息确定位移矢量SDV、TDV,该位移矢量SDV、TDV定义了图形基元SGP或TGP运动的方向。该图形基元SGP或TGP在位移矢量SDV、TDV所指示的方向上被采样(RSS、RTS),以获取输入采样RPi,以及在输入采样RPi上执行一维空间滤波ODF,以获得时间预滤波。
值得注意的是,上文所述实施例是为了举例说明本发明,而不限制本发明,本领域的技术人员能够在不偏离附加权利要求的范围的情况下,设计出许多可替换的实施例。例如,在上文的很多实施例中,仅对一个多边形的处理进行了说明。在实际应用中,对于一整幅图像,可能必须处理大量的多边形(或更一般地,图形基元)。
在权利要求中,不应把括号内的任何参考符号理解为对权利要求的限制。单词“包括”并不排斥除权利要求中列出的要素或步骤之外所存在的其它要素或步骤。本发明可以通过包括若干独立部件的硬件实现,也可以通过适当编程的计算机来实现。在设备权利要求中列举了若干装置,其中的一些装置可以由一个相同的硬件项来实现。
权利要求
1.一种在图形系统中产生运动模糊的方法,包括接收(RA、RSS、RTS)定义了图形基元(SGP、TGP)形状的几何信息(GI),提供(DIG)决定位移矢量(SDV、TDV)的位移信息(DI),该位移矢量(SDV、TDV)定义了所述图形基元(SGP、TGP)的运动方向,在所述位移矢量(SDV、TDV)指示的方向采样(RA、RSS、RTS)所述图形基元(SGP、TGP),以获得输入样本(RPi、RIi),以及对所述输入样本(RPi、RIi)进行一维空间滤波(ODF),以获得时间预滤波。
2.根据权利要求1所述的方法,其中,所述提供(DIG)位移信息(DI)的步骤进一步定义了所述图形基元(SGP、TGP)的运动量,并且其中安排所述一维空间滤波(ODF)步骤,以获得具有一定尺寸的滤波覆盖范围(FP)的所述时间预滤波,该具有一定尺寸的滤波覆盖范围(FP)依赖于所述位移矢量(SDV、TDV)的幅度。
3.根据权利要求1所述的方法,其中,所述位移矢量(SDV、TDV)由二维或三维应用提供。
4.根据权利要求1所述的方法,其中,所述提供(DIG)位移信息(DI)的步骤,从二维或三维应用中接收模型-视图(model-view)转换矩阵,所述转换矩阵定义了前一帧图形基元(SGP、TGP)的位置和方向。
5.根据权利要求1所述的方法,其中,所述提供(DIG)位移信息(DI)的步骤,缓存前一帧图形基元(SGP、TGP)的位置和方向,以计算所述位移矢量(SDV、TDV)。
6.根据权利要求1所述的方法,其中,安排所述图形系统,从而在显示屏幕(DS)上显示具有像素亮度(PIi)的像素(Pi),所述像素(Pi)被定位在屏幕空间(SSP)中的像素位置(x、y)处,所述采样(RA、RSS、RTS)步骤用于在所述屏幕空间(SSP)中按照屏幕位移矢量(SDV)的方向进行采样(RSS),以获得重新采样的像素(RPi),该屏幕位移矢量(SDV)是映射到所述屏幕空间(SSP)的位移矢量,所述方法还包括反向纹理映射(ITM),用于接收所述重新采样像素(RPi)的坐标,以提供所述重新采样像素(RPi)的亮度(RIp),所述一维空间滤波(ODF)步骤包括按照加权函数(WF)平均(AV)所述重新采样像素(RPi)的亮度(RIp),以获得平均亮度,所述方法还包括对所述重新采样像素(RPi)的所述平均亮度(ARIp)重新采样(RSA)。
7.根据权利要求1所述的方法,其中安排所述图形系统,从而在显示屏幕上显示具有像素亮度(PIi)的像素(Pi),所述像素(Pi)被定位在屏幕空间(SSP)中的像素位置(x、y)处,所述方法还包括提供外观信息(TA、TB),该外观信息(TA、TB)通过在文理空间(TSP)中定义纹理像素亮度(Ti),从而在所述屏幕空间(SSP)中定义了所述图形基元(SGP)的外观。所述采样(RA、RSS、RTS)步骤用于在所述纹理像素空间(TSP)中按照纹理像素位移矢量(TDV)的方向进行采样(RTS),以获得重新采样的纹理像素(RTi),该纹理像素位移矢量(TDV)是映射到所述纹理像素空间(TSP)的位移矢量,所述方法还包括内插(IP)所述纹理像素亮度(Ti),以获得所述重新采样纹理像素(RTi)的亮度(RIi),所述一维空间滤波(ODF)步骤包括按照加权函数(WF)平均(AV)所述重新采样纹理像素(RTi)的亮度(RIi),以获得滤波的纹理像素(FTi),所述方法还包括将所述纹理像素空间(TSP)中的图形基元(TGP)的所述滤波的纹理像素(FTi)映射到所述屏幕空间(SSP),以获得映射的纹理像素(MTi),确定(CAL)从一个映射的纹理像素(MTi)到所有像素(Pi)的亮度贡献,其中,预滤波器(PRF)的相关预滤波覆盖范围(PFP)覆盖了所述映射纹理像素(MTi),根据所述预滤波器(PRF)的幅度特性来确定所述贡献,以及求和(CAL)所述映射纹理像素(MTi)对每个像素(Pi)的亮度贡献。
8.根据权利要求6或7所述的方法,其中,至少所述图形基元(GP)的位移矢量(SDV、TDV)的方向是所述图形基元顶点的位移矢量方向的平均。
9.根据权利要求6所述的方法,其中,所述一维空间滤波(ODF)的步骤包括在所述屏幕空间(SSP)中,按照所述位移矢量(SDV)的方向、在由所述位移矢量(SDV)的幅度决定的一段距离上分布所述重新采样像素(RPi)的亮度(RIp),以获得分布亮度(DIi),以及平均不同像素(Pi)的重叠分布亮度(DIi),以获得作为所述平均亮度(ARPi)的分段常量信号。
10.根据权利要求7所述的方法,其中,所述一维空间滤波(ODF)的步骤包括在所述纹理空间(TSP)中,按照所述位移矢量(TDV)的方向、在由所述位移矢量(TDV)的幅度决定的一段距离上分布所述重新采样纹理像素(RTi)的亮度(RIi),以获得分布亮度(TDIi),以及平均不同的重新采样纹理像素(RTi)的重叠分布亮度(TDIi),以获得一个表示所述滤波的纹理像素(FTi)的分段常量信号。
11.根据权利要求7所述的方法,其中,所述一维空间滤波(ODF)步骤被安排为在至少一个帧间间隔内应用加权平均函数(WF)。
12.根据权利要求9或10所述的方法,其中,所述距离圆整为所述重新采样纹理像素(RTi)之间间距(DIS)的倍数。
13.一种图形计算机系统,包括接收装置,用于接收(RA、RSS、RTS)定义了图形基元(SGP、TGP)的形状的几何信息(GI),提供装置,用于提供(DIG)决定位移矢量(SDV、TDV)的位移信息(DI),该位移矢量(SDV、TDV)定义了所述图形基元(SGP、TGP)的运动方向,采样装置,用于按照所述位移矢量(SDV、TDV)指示的方向,采样(RA、RSS、RTS)所述图形基元(SGP、TGP),以获得输入样本(RPi、RIi),以及一维空间滤波装置,用于对输入样本(RPi、RIi)进行一维空间滤波(ODF),以获得时间预滤波。
全文摘要
一种用于三维图形系统中生成运动模糊的方法,其中,从三维应用中接收(RSS、RTS)定义了图形基元(GP)形状的几何信息(GI)。也从三维应用中接收,或由几何信息决定定义了图形基元(GP)运动方向的位移矢量(SDV、TDV)。图形基元(GP)按照位移矢量指示的方向被采样(RSS、RTS),以获得输入样本(RPi),在输入样本(RPi)上完成一次一维空间滤波(ODF),以获得时间预滤波。
文档编号G06T13/20GK1771518SQ200480009286
公开日2006年5月10日 申请日期2004年4月2日 优先权日2003年4月9日
发明者科内利斯·梅德斯, 简·M·斯托特, 科尼利厄斯·W·A·M·范奥弗费尔德 申请人:皇家飞利浦电子股份有限公司