《电子技术应用》
您所在的位置:首页 > 通信与网络 > 设计应用 > 一种高品质优化的纹理采样滤波方法
一种高品质优化的纹理采样滤波方法
2015年电子技术应用第5期
刘晓芳1,李景丽2
1.河南城建学院 电气与信息工程学院,河南 平顶山467036; 2.黄河水利职业技术学院 自动化工程系,河南 开封475003
摘要: 提出了从一个Mipmap[1]中通过几种分辨率结合指定数目的纹理来创建高品质采样过滤器的方法。此方法能控制在读取每次采样时的纹理数量,以便扩展品质来匹配GPU的内存。
中图分类号: TN943
文献标识码: A
文章编号: 0258-7998(2015)05-0109-03
A high quality optimization texture sampling filter method
Liu Xiaofang1,Li Jingli2
1.College of Electrical and Information Engineering,Henan University of Urban Construction,Pingdingshan 467036,China; 2.Automation Engineering Department,Yellow River Conservancy Technical Institute,Kaifeng 475003,China
Abstract: A method by combining texture from a specified number of Mipmap in several resolutions to create high-quality sampling filter is presented in this paper. This method can control the number of reads per sample texture, so as to expand the quality to match the GPU memory. To find the best texture collection to represent a given sampling filter, using cardinality constrained least squares optimization method and storing the results to optimize encoding a table it′s easier to store on the GPU. The results show a few can accurately read the texture reconstruction filter, when four or more per sample texture, and this method can produce better image quality than tri-linear interpolation.
Key words : texture;filter;cardinality constrain

    

0 引言

    艺术家经常将图像、纹理应用到三维模型的表面,然而,在模型上显示图像时必须小心,因为在纹理和显示像素之间没有一一对应关系。当一个在远处的模型把几个纹理对应于每个像素采样会导致错误的模式,即出现混叠。如果绘制纹理作为二维信号采样,香农采样定理要求在图像采样之前必须使用一个低通滤波器去除高频数据。渲染算法通常使用名为Mipmap的图像金字塔[1]加速图像滤波。本文提出一种方法,结合在Mipmap中的纹理重现,只读取每个样本的几个纹理的低通滤波结果。由于内存带宽往往是图形应用程序的瓶颈,所以尽可能有效使用带宽。该方法可以通过扩展纹理的数目来匹配可用带宽,通过精心选择纹理元素来准确地再现图像过滤器,为图像的放大、平移和旋转而过滤掉严重的混叠[2]。此方法还可以近似高质量的过滤器,例如在实时Lanczos 2过滤器[3]中,由于过滤器的尺寸和复杂性仅仅影响预处理时间,因而用来计算滤波器系数表和生成Mipmap。

1 多分辨率采样

tx6-gs1-s.gif

tx6-gs1.gif

tx6-t1.gif

tx6-gs2-3.gif

tx6-t2.gif

    本文的方法和线性插值使用4个基函数在tx6-gs3-x.gif上插值。本文方法的结果见图2(a),双线性插值结果见图2(c),从图上能看出本文方法再现滤波器优于线性插值,基函数乘以系数用来近似滤波器的结果显示在图2(b)和图2(d)中。在图2(b)中不同的平移显示近似滤波器的最优策略取决于参数tx6-gs3-x2.gif在左边,最好的方法是从比tx6-gs3-x3.gif更宽的基函数中减去;在右边,最好的解决办法是增加高分辨率基函数来近似tx6-gs3-x4.gif


2 多项式拟合

tx6-gs4-5.gif

    式(4)中cij是二次方程,它作为一个线性系统,可优化选择多少个纹理可以使用、如何细分域和多项式的阶。

3 组合和启发式算法

    通过求解线性系统来找到纹理的权重非常方便,但也会出现许多纹理集合。对于每个子域,需要找到tx6-bt3-2.gif的纹理集合,当评估式(4)时具有最低的误差。如果从N=|E|个可能的纹理中选出n个纹理,则需要检查tx6-bt3-1.gif个纹理组合的错误。显然,为容易处理这个问题需要尽可能地减小N。首先需要观察的是排除纹理不在tx6-bt3-3.gif的支持内,其次需要观察的是当n很小时主要用低分辨率纹理来近似滤波器。对于一个n=8的滤波器仅用来自相对于Mipmap的0、1和2级的纹理,因此在优化过程中可以排除其他的分辨率。

4 实现

tx6-bt4-x1.gif

    图3中用曲线图表示本文方法的近似误差和三线性插值的误差归一化,比较一个直接卷积滤波器为从2~10的整数样本。本文方法的成本取决于子域的数目和匹配多项式的顺序,所以比较线性多项式为ei在2×2×1、4×4×2和8×8×4细分域上的误差以及二次多项式在2×2×1和4×4×2细分域上的误差。本文的方法可以近似各种滤波器,用不同滤波器进行Mipmap采样时,比较本文方法与三线性插值的误差。

tx6-t3.gif

    图4是使用8个纹理的滤波器来展示本文方法的访问模式的示例。从3个Mipmap级别读取,而三线性插值仅仅从2个级别读取,通过使用两个缓存交替Mipmap级别为三线性访问作GPU优化,从3个级别读取会导致缓存冲突。图形处理器也可能通过三线性插值优化2×2四边形纹理。本文方法也将不规则地读取相邻像素,因为在一个4×4×2离散相邻的像素中将至少有一个子域的跨越。

tx6-t4.gif

    测试在ATI和NVIDIA的GPU之间是一致的,表明了本地硬件实现显著提高了三线性插值的性能,展示了一个滤波器的4×4×2离散的8个纹理访问模式。单元域为粗线条黑色方框,图像的每一列表示在一个子域所使用的纹理,其中具有非零系数的纹理为黑色阴影。

    图5为使用一个滤波器,取4、6和8个纹理元件时表现出锯齿在一个无限平面的棋盘图案。一个差的过滤器不能轻松地隐藏混叠模式,当使用8个纹理、在三线性插值获取相同数目的纹理时,本文的过滤器看起来锐利和清晰;使用6个纹理和8个纹理的结果几乎无区别;当使用4个纹理元素,图像会略显杂乱,并在前台边缘显得有点粗糙。

tx6-t5.gif

5 结论

    内存带宽是图形应用的一个瓶颈,本文方法具有一定的实用价值,其局限是GPU已设计为三线性插值优化,这使得多种解释方法可能存在:一个是该方法更适合于离线光栅化和光线追踪;另一个是硬件设计将改变以更好地支持随机访问该方法的访问模式。实验表明,在简单的假设下可以通过优化纹理和系数实现更好的滤波。

参考文献

[1] WILLIAMS L.Pyramidal parametrics[M].SIGGRAPH,1983:1-11.

[2] 吴江波,汪西原.一种改进的基于纹理和颜色的运动阴影检测[J].电视技术,2014,38(7):178-181.

[3] DUCHON C.Lanczos filtering in one and two dimensions[J].Journal of Applied Meteorology,1979,18(8):1016-1022.

[4] 李国成,肖庆宪.基数约束投资组合问题的一种混合元启发式算法求解[J].计算机应用研究,2013,30(8):2292-2297.

[5] 王波,高岳林.基数约束下基于CVaR度量的投资组合优化模型[J].统计与决策,2011,14(1):52-55.

此内容为AET网站原创,未经授权禁止转载。