基于各向异性的纹理过滤方法和装置的制作方法

文档序号:6580813阅读:243来源:国知局
专利名称:基于各向异性的纹理过滤方法和装置的制作方法
技术领域
本发明涉及图像处理领域,特别涉及一种基于各向异性的纹理过滤方法和装置。
技术背景
为了加速纹理映射,减少映射过程的计算消耗,常采用预过滤纹理过程,使得每个 像素只需要提取很少的预过滤的采样点计算,从而提高了计算效果。
现有技术中一般可以采用二重积分定义预过滤,即g(x,y) = / / f(x,y) -h(x-u, y-v) (!!! dv,其中,f为输入图像(即纹理图像),g为输出图像,h为过滤器内核。在该 三线性插值算法选用的过滤器是正方形的,其是一种正方形过滤技术。现有的一种典型的 正方形过滤技术为MIP-MAP (多纹理映射)预过滤。MIP-MAP预过滤的主要思想是将纹理图 像表达为不同的分辨率的纹理数组。例如,给定一个分辨率为512X512的纹理图像,可将 纹理空间按纹理像素划分为512X512个小正方形,取每个正方形的纹理平均值作为第一 级标准采样,称为0层;然后把纹理空间划分为256 X 256个小正方形,取每个正方形的纹理 平均值作为第二级标准采样(即第一级4个相邻像素颜色值的平均),过滤形成只有一半分 辨率的新图像,称为1层。在新图像的基础上继续这种处理过程,直至图像分辨率为1X1, 这样就形成了金字塔的纹理存储结构。在三线性插值算法中,屏幕空间的一个像素被看成 以一个单位像素为边长的正方形,将屏幕空间的像素投影到纹理空间,用一个正方形去逼 近它的投影形状,并计算出正方形的边长,根据计算的此边长决定在金字塔的哪一 L层进 行取样。然后,在L和L+1层上分别取四个取样进行双线性插值,得到两个层上的颜色值, 再在这两个颜色值上做线性插值,得到最后的像素颜色值。由上述描述可知,该技术做了三 次线性插值,因此被称为三线性插值或三线性过滤。并且,选用的过滤器是正方形的,是一 种正方形过滤技术。
三线性过滤是建立在各向同性的正方形过滤器基础上的,然而,像素的映射是具 有各向异性的,使用各向同性的三线性过滤方法会使得图像变得模糊。
因此,为了克服各向同性过滤的缺点,现有技术中还提出了基于各向异性的过滤 方法。
现有的基于各向异性的过滤方法有inline (fast ellipse line,快速椭圆直线) 算法。inline算法的思想是将屏幕空间的像素看成是一个以这个像素为中心,以一个单位 像素为半径的圆,投影到纹理空间即为一个椭圆,计算出椭圆的短轴半径和长轴半径,用短 轴半径决定在哪一层取样,用短轴半径和长轴半径决定沿着椭圆长轴的取样数。
虽然,inline算法沿着椭圆长轴使用多个各向同性的三线性过滤来逼近椭圆的 值,降低了硬件实现的代价,但是,因为inline算法使用了多个各向异性的三线性过滤,这 样虽然在L层足够采样但在L+1层上为过采样,造成图像出现一定的模糊。因此,需要一种 方法解决上述问题。发明内容
本发明的目的旨在至少解决上述技术缺陷之一,特别是解决各向异性Wi^line 算法在L+1层过采样造成图像模糊的问题。
为了达到上述目的,本发明提出一种基于各向异性的纹理过滤方法,包括以下步 骤对纹理图像进行多纹理映射MIP-MAP预过滤,将所述纹理图像表达为具有不同分辨率 的纹理数组以作为纹理查找表;将屏幕空间中的像素投影到纹理空间,在所述纹理空间中 所述像素为椭圆;计算所述椭圆的短轴半径、长轴半径、长轴半径与u轴的夹角;根据所述 椭圆的短轴半径确定在所述纹理查找表中的取样层L ;根据所述椭圆的短轴半径、长轴半 径及长轴半径与u轴的夹角确定在所述取样层L的取样数及沿着椭圆长轴取样点的位置, 并在所述取样层L进行取样,得其颜色值;根据取样层L+1的取样数沿着椭圆长轴在取样层 L+1取样,得其颜色值;将所述取样层L和取样层L+1中得到的颜色值做线性插值,得到最 终的颜色值。
本发明另一方面还提出一种基于各向异性的纹理过滤装置,包括预过滤模块、投 影模块和计算模块。其中,所述预过滤模块用于对纹理图像进行MIP-MAP预过滤,将所述纹 理图像表达为具有不同分辨率的纹理数组以作为纹理查找表;所述投影模块,用于将屏幕 空间中的像素投影到纹理空间,在所述纹理空间中所述像素为椭圆;所述计算模块,用于计 算所述椭圆的短轴半径、长轴半径、长轴半径与u轴的夹角,并根据所述椭圆的短轴半径确 定在所述纹理查找表中的取样层L,以及根据所述椭圆的短轴半径、长轴半径及长轴半径与 u轴的夹角决定确定在所述取样层L的取样数及沿着椭圆长轴取样点的位置,并在所述取 样层L进行取样,得取样层L的颜色值,再根据取样层L+1的取样数沿着椭圆长轴在取样层 L+1取样,得取样层L+1的颜色值,并将所述取样层L和取样层L+1中得到的颜色值做线性 插值,得到最终的颜色值。
本发明通过在L+1层采用L层取样数的1/4为取样数,避免了过采样,使得当纹理 视角离观察点很远的时候仍然保持清晰。
本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变 得明显,或通过本发明的实践了解到。


本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变 得明显和容易理解,其中
图1为本发明实施例的基于各向异性的纹理过滤方法的流程图2为本发明实施例的图像金字塔的示意图3为本发明实施例的图像金字塔的存储方式示意图4为本发明实施例的像素投影的示意图5为本发明实施例的屏幕空间像素(X,y)投影到纹理空间得椭圆的示意图6为本发明实施例的纹理空间中的椭圆短轴半径和长轴半径小于一个像素的 情况示意图7为本发明实施例的L层取样数为偶数时的取样示意图8为本发明实施例的L层取样数为奇数时的取样示意图9为本发明实施例的在L层和L+1层取样的示意图10为本发明实施例的基于各向异性的纹理过滤装置的结构图11-1为三线性过滤方法的像素投影示意图11-2为三线性过滤方法的取样示意图11-3为本发明实施例的纹理样图11-4为三线性过滤方法的投影结果示意图11-5为对应于图11-4中的黑色边框部分放大3倍后的结果示意图12-1为inline算法的取样示意图12-2为inline算法的投影结果示意图12-3为对应于图12-2中的黑色边框部分放大3倍后的结果示意图13-1为本发明实施例的过滤方法的投影结果示意图13-2为对应于图13-1中的黑色边框部分放大3倍后的结果示意图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终 相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附 图描述的实施例是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。
如图1所示,为本发明实施例的基于各向异性的纹理过滤方法的流程图,包括以 下步骤
步骤S101,对纹理图像进行多纹理映射MIP-MAP预过滤,将纹理图像表达为具有 多个不同分辨率的纹理数组作为纹理查找表,形成一个分辨率逐级递减的图像金字塔。
在本发明的实施例中,每一级图像分辨率均取为高一级图像分辨率的一半。下面 以分辨率为256X256的原始纹理图像为例进行说明。首先,将纹理空间按照纹理像素划 分为256X256个小正方形,取每个正方形的纹理平均值作为第一级标准采样数据,称为0 层。然后,继续取第二层的分辨率为第一层的一半,即将纹理空间划分为个小正 方形,取每个正方形的纹理平均值作为第一级标准采样数据,称为1层。以此类推,直至图 像分辨率为1X1,这样就形成了如图2所示的分辨率逐级递减的图像金字塔。
纹理图像经过MIP-MAP预过滤后,图像的集合将存储在MIP-MAP表中。如图3所示 为本发明实施例的图像金字塔的存储方式,包括红(R)、绿(G)、蓝(B)三个分量的MIP-MAP 表存储在512X512的内存块中。可见,一个纹理图像的MIP-MAP表需要的内存大小为纹理 图像所占内存的4/3倍。
应理解,上述实施例仅是示意性的实施例,并不限制本发明的范围。
步骤S102,将屏幕空间像素投影到纹理空间。
如图4所示,为本发明实施例的像素投影的示意图。在图中,屏幕空间的像素被看 成以这个像素为圆心,以一个单位像素为半径的圆,这样,相邻像素的区域相互交替。将屏 幕空间的像素投影到纹理空间后,被看成一个椭圆,且纹理空间的椭圆相互交替。这样做的 目的在于能够在纹理空间足够采样,抵抗锯齿的发生。
步骤S103,计算椭圆的短轴半径、长轴半径及长轴半径与u轴的夹角。
如图5所示,为本发明实施例的屏幕空间像素(X,y)投影到纹理空间得椭圆的示意图。在纹理空间中,向量H =
权利要求
1.一种基于各向异性的纹理过滤算法,其特征在于,包括以下步骤对纹理图像进行多纹理映射MIP-MAP预过滤,将所述纹理图像表达为具有不同分辨率 的纹理数组以作为纹理查找表;将屏幕空间中的像素看成以一个单位像素为半径的圆,将所述像素投影到纹理空间, 在所述纹理空间中投影的形状为椭圆;计算所述椭圆的短轴半径、长轴半径、长轴半径与u轴的夹角; 根据所述椭圆的短轴半径确定在所述纹理查找表中的取样层L ; 根据所述椭圆的短轴半径、长轴半径及长轴半径与u轴的夹角确定在所述取样层L的 取样数及沿着椭圆长轴取样点的位置,并在所述取样层L进行取样,得其颜色值; 根据取样层L+1的取样数沿着椭圆长轴在取样层L+1取样,得其颜色值; 将所述取样层L和取样层L+1中得到的颜色值做线性插值,得到最终的颜色值。
2.如权利要求1所述的基于各向异性的纹理过滤方法,其特征在于,所述根据所述椭 圆的短轴半径确定在所述纹理查找表中的取样层L,包括如果level = Iog2 (minorRadius)为整数,则在level层取样,其中minorRadius为短 轴半径;如果level = Iog2 (minorRadius)为浮点数,则分别在[/eve/」层和「/eve/]取样,其中 minorRadius为短轴半径,L」为向下取整操作,「]为向上取整操作。
3.如权利要求1所述的基于各向异性的纹理过滤方法,其特征在于,所述根据所述椭 圆的短轴半径、长轴半径及长轴半径与u轴的夹角确定在所述取样层L的取样数包括所述取样层 L 的取样数为 Number = 2* (majorRadius/minorRadius) _1,如果 Number 为 浮点数,则向上取整,其中majorRadius为长轴半径,minorRadius为短轴半径。
4.如权利要求1所述的基于各向异性的纹理过滤方法,其特征在于,所述根据所述椭 圆的短轴半径、长轴半径及长轴半径与u轴的夹角确定所述取样点的位置包括所述取样层L的取样点坐标为(u,v) = (ufflid, Vfflid)+η/2*(Δu, Δν),其中,(umid, Vfflid)为所述椭圆圆心的坐标,(Au,Δ ν)为相邻两个取样点的坐标轴投影距离,
5.如权利要求4所述的基于各向异性的纹理过滤方法,其特征在于,所述Au= cos (theta) ^lineLength/ (Number-I), Δ ν = sin (theta) ^lineLength/ (Number_l),其中, IineLength = 2*(majorRadius-minorRadius),为取样直线的长度,即第一个取样点到最 后一个取样点的距离,theta为长轴半径与u轴的夹角。
6.如权利要求1所述的基于各向异性的纹理过滤方法,其特征在于,其中,所述取样层 L+1的取样数为所述取样层L取样数的1/4,即M/m&r’=「iVWw&r/4"l ,其中Number'为取样 层L+1的取样数,Number为取样层L的取样数,「1为向上取整操作。
7.如权利要求1所述的基于各向异性的纹理过滤方法,其特征在于,所述最终的颜色 值为Color = CL*(l-f)+CLl*f,其中,CL为在所述取样层L得到的颜色值,CLl为在所述取样层L+1得到的颜色值
8.一种基于各向异性的纹理过滤装置,其特征在于,包括预过滤模块、投影模块和计算 模块,所述预过滤模块,用于对纹理图像进行MIP-MAP预过滤,将所述纹理图像表达为具有 不同分辨率的纹理数组以作为纹理查找表;所述投影模块,用于将屏幕空间中的像素看成以一个单位像素为半径的圆,将所述像 素投影到纹理空间,在所述纹理空间中投影的形状为椭圆;所述计算模块,用于计算所述椭圆的短轴半径、长轴半径、长轴半径与u轴的夹角,并 根据所述椭圆的短轴半径确定在所述纹理查找表中的取样层L,以及根据所述椭圆的短轴 半径、长轴半径及长轴半径与u轴的夹角决定确定在所述取样层L的取样数及沿着椭圆长 轴取样点的位置,并在所述取样层L进行取样,得取样层L的颜色值,再根据取样层L+1的 取样数沿着椭圆长轴在取样层L+1取样,得取样层L+1的颜色值,并将所述取样层L和取样 层L+1中得到的颜色值做线性插值,得到最终的颜色值。
9.如权利要求8所述的基于各向异性的纹理过滤装置,其特征在于,所述计算模块根 据以下公式确定在所述纹理查找表中的取样层L 如果level = Iog2 (minorRadius)为整数,则在level层取样,其中minorRadius为短 轴半径;如果level = Iog2(minorRadius)为浮点数,则分别在L/eve/」层和「/eve/"]取样,其中 minorRadius为短轴半径,L」为向下取整操作,「]为向上取整操作。
10.如权利要求8所述的基于各向异性的纹理过滤装置,其特征在于,所述计算模块根 据以下公式确定在所述取样层L的取样数所述取样层 L 的取样数为 Number = 2* (majorRadius/minorRadius)-1,如果 Number 为 浮点数,则向上取整,其中majorRadius为长轴半径,minorRadius为短轴半径。
11.如权利要求8所述的基于各向异性的纹理过滤装置,其特征在于,所述计算模块根 据以下公式确定所述取样点的位置所述取样层L的取样点坐标为(u,v) = (ufflid, Vfflid)+η/2*(Δu, Δν),其中,(umid, Vfflid)为所述椭圆圆心的坐标,(Au,Δ ν)为相邻两个取样点的坐标轴投影距离,「±1,±3,.… Number 为偶数一Λ丄。^u认么极,majorfeidius为长轴半径,minorfeidius为短轴半径。LO, ±2,±4,..... Number为奇
12.如权利要求11所述的基于各向异性的纹理过滤装置,其特征在于,所述Au= cos (theta) ^lineLength/ (Number-I), Δ ν = sin (theta) ^lineLength/ (Number_l),其中, IineLength = 2*(majorRadius-minorRadius),为取样直线长度,即第一个取样点到最后 一个取样点的距离,theta为长轴半径与u轴的夹角。
13.如权利要求8所述的基于各向异性的纹理过滤装置,其特征在于,其中,所述取样 层L+1的取样数为所述取样层L取样数的1/4,即7Vwm&r’=「M#^er/4、其中Number'为 取样层L+1的取样数,Number为取样层L的取样数,「1为向上取整操作。
14.如权利要求8所述的基于各向异性的纹理过滤装置,其特征在于,所述计算模块根 据以下公式计算最终的颜色值最终的颜色值Color = CL*(l-f)+CLl*f,其中,CL为在所述取样层L得到的颜色值,CLl为在所述取样层L+1得到的颜色值,
全文摘要
本发明提出一种基于各向异性的纹理过滤方法,包括对纹理图像进行MIP-MAP预过滤;将屏幕空间中的像素看成以一个单位像素为半径的圆,将所述像素投影到纹理空间,用椭圆进行逼近;计算所述椭圆的短轴半径、长轴半径、长轴半径与u轴的夹角;根据计算的短轴半径确定在所述纹理查找表中的取样层L;根据短轴半径、长轴半径及长轴半径与u轴的夹角确定在所述取样层L的取样数及沿着椭圆长轴取样点的位置,并在所述取样层L进行取样;根据取样层L+1的取样数沿着椭圆长轴在取样层L+1取样;将所述取样层L和取样层L+1中得到的颜色值做线性插值,得到最终的颜色值。本发明通过在L+1层采用L层取样数的1/4为取样数,避免了过采样,使得当纹理视角离观察点很远的时候仍然保持清晰。
文档编号G06T15/04GK102034262SQ20091017812
公开日2011年4月27日 申请日期2009年9月27日 优先权日2009年9月27日
发明者李康 申请人:比亚迪股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1