一种动态可配置的纹理双线性滤波系统技术方案

技术编号:14173328 阅读:54 留言:0更新日期:2016-12-13 01:26
本发明专利技术公开了一种动态可配置的纹理双线性滤波系统,包括相互连接的纹理坐标运算模块、双线性滤波仲裁模块、Cache地址计算模块、纹理Cache模块、双线性滤波器模块以及输出模块,提出了一种低开销的纹理双线性滤波系统的流水线架构,能在不损失滤波精度的同时,采用了流水线的运算架构代替了并行架构,乘法器能在流水线过程中复用,节省了硬件上的乘法器开销;同时流水线的引入能使并行取四个纹素点的过程并行化为一个周期取一个纹素点,节省带宽消耗;同时,本发明专利技术加入了动态可配置的双线性滤波仲裁模块,每个像素点都可以动态地判断是否开启双线性滤波,节省运算开销;另外,取纹素点的纹理Cache模块的引入能减少临近点带来的访存开销。

A dynamic configurable texture bilinear filtering system

The invention discloses a dynamic texture bilinear filtering system can be configured, including interconnected texture coordinates calculation module, bilinear filtering arbitration module, Cache address calculation module, Cache module, bilinear texture filter module and an output module, a low overhead bilinear filtering system texture pipelined architecture, without loss of energy in the the filtering accuracy at the same time, using the pipeline architecture instead of parallel architecture, the multiplier can be reused in the pipeline process, saves the hardware multiplier overhead; the process of pipeline and parallel four texels point parallel to a cycle of a texel, save the bandwidth consumption; at the same time, the invention adds a bilinear filter arbitration module dynamically configurable, each pixel can dynamically decide whether to open In addition, the introduction of the texture Cache module with the texture point can reduce the access cost of the neighboring points.

【技术实现步骤摘要】

本专利技术属于计算机图形学
,涉及一种纹理滤波系统,具体是一种动态可配置的纹理双线性滤波系统
技术介绍
GPU(Graphic Processing Unit),图像处理单元,是相对于CPU的一个概念,由于在现代的计算机中图形的处理变得越来越重要,需要一个专门的图形的核心处理器。GPU是显卡的“心脏”,也就相当于CPU在电脑中的作用,它决定了该显卡的档次和大部分性能。NVIDIA公司在1999年发布GeForce256图形处理芯片时首先提出GPU的概念。从此NV显卡的芯就用这个新名字GPU来称呼。GPU使显卡减少了对CPU的依赖,并进行部分原本CPU的工作,尤其是在3D图形处理时。用户端的应用程序,如电子游戏等,则是通过应用程序编程接口(Application Programming Interface,API)来调用GPU执行绘图任务。通常而言,GPU的绘图任务往往包含大量的纹理贴图任务,纹理滤波(Texture Filtering)也是大部分GPU所支持的一种纹理处理方式。纹理滤波是指当纹理图像贴在物体表面时,图形的像素点(pixel)中心与纹理上的纹素(texel)不是完全一一对应时,采用临近的纹素点计算得到物体上像素点的颜色值的方法。这种方法也被称为纹理平滑或者纹理插值。纹理滤波的方法中最简单的方式最近点采样(Nearest Point Sampling),该方式表示当pixel坐标计算得到的纹理坐标不是恰好对应一个纹理上的texel坐标时,则取离采样点最近的texel的颜色值作为像素值。这种方案的硬件成本以及计算成本最小,但是当纹理发生缩放或者旋转变换时会发生严重的走样以及变形。为了缓解上述的走样以及变形的问题,一种双线性滤波的方法被提了出来。双线性滤波是指以pixel对应的纹理坐标为中心,取该纹理坐标周围的四个texel的像素值的加权平均作为最终的像素值的方法。双线性滤波可以有效缓解纹素间突变带来的像素突变,从而能缓解纹理旋转或者放缩带来的走样以及变形,现有技术中也提供了几种双线性滤波系统架构。1、美国申请公布专利US 6453330 B1.,提出了一种实现高精度纹理双线性滤波的系统架构,通过两次差值计算来提高计算精度。此方案提供了实现高精度纹理双线性滤波的电路结构,该结构能够很好地实现纹理双线性滤波。但是:a.该系统不存在流水线结构,多路并行运算,每计算一个像素点需要同时使用6个乘法器,硬件需求开销大。b.该系统要求采样的四个纹素点必须并行地同时输入至系统中,对纹理读取的带宽要求过高。c.该系统不存在动态配置的功能,所有输入系统的纹理都会进行双线性滤波的操作,绘图开销大。2、美国申请公布专利US 2014/0010479 A1提出了采用将读出纹理写入单端口SRAM的方法来减少双线性滤波过程中读取纹理的开销,从而减少带宽的开销。该方案提供了一种减少双线性滤波过程的带宽消耗的方法。但是:a.内部SRAM读写控制模块采用了跨时钟域的设计方案,设计复杂。b.双线性滤波的过程中也采用并行运算的方式而不是流水线,硬件需求大。c.不存在动态可配置功能,绘图开销大。3、美国申请公布专利US 2009/0289949 A1提出了动态可配置双线性滤波系统,该系统采用Cache读取纹理减少带宽消耗,通过动态可配置单元来决定纹理是否需要进行双线性滤波。该方案在计算纹理双线性滤波的过程中任然采用的是并行的计算架构,硬件开销大。
技术实现思路
本专利技术针对现有技术的不足,提供了一种动态可配置的纹理双线性滤波系统,采用流水线架构,包含动态配置模块,能动态判断是否需要使用双线性滤波,降低硬件开销。本专利技术的目的可以通过以下技术方案实现:一种动态可配置的纹理双线性滤波系统,包括纹理坐标运算模块,通过对像素坐标计算得到纹理坐标;双线性滤波仲裁模块,用于判断每个像素点是否开启双线性滤波,并且输出相关的数据信号和控制信号;Cache地址计算模块,通过双线性滤波仲裁模块输出的纹理坐标计算得到纹理的地址值;纹理Cache模块,用于根据纹理地址值取出对应纹理像素点;双线性滤波器模块,根据输入的纹理坐标以及其对应的纹理像素点,通过四个周期的流水线进行双线性滤波的运算,最终输出像素点;输出模块,根据控制信号判断是否需要双线性滤波,如果需要双线性滤波则输出滤波后的像素点,否则直接输出内存中取出的像素点;所述的纹理坐标运算模块连接双线性滤波仲裁模块,所述的双线性滤波仲裁模块连接Cache地址计算模块,所述的Cache地址计算模块连接双线性滤波器模块,所述的双线性滤波器模块连接输出模块,所述的纹理Cache模块分别连接Cache地址计算模块、双线性滤波器模块和输出模块。进一步地,所述的双线性滤波仲裁模块包括用于判断是否开启双线性滤波的仲裁状态机和用与计算传递给Cache地址计算单元的纹理坐标的坐标运算状态机。进一步地,所述的仲裁状态机对纹理坐标进行分析,若纹理坐标中不包含小数,则像素点不进行双线性滤波,否则,像素点进行双线性滤波。进一步地,所述的坐标运算状态机在像素点不需要开启双线性滤波时,直接将纹理坐标传递给Cache地址运算模块;当像素点需要进行双线性滤波,所述的坐标运算状态机分四个周期分别取四个临近的纹理像素点,传递给Cache地址运算模块。进一步地,所述的双线性滤波器模块的双线性滤波算法如下:对于24.8格式的纹理坐标(u,v),定义权重weight1=(1.0-u)*(1.0–v),weight2=(1.0-u)*v,weight3=u*(1.0–v),weight4=u*v,最终像素点的像素值为pixel=pixel00*weight1+pixel01*weight2+pixel10*weight3+pixel11*weight4。进一步地,所述的双线性滤波器模块采用四个周期的流水线进行运算,每个周期复用一个乘法器,第一阶段乘法器的结果得到的是权值,第二阶段乘法器得到的是权值与像素点的乘积,第三阶段的加法器将上述乘积累加,每四个周期得到一个有效的最终像素点。本专利技术的有益效果:本专利技术提供一种动态可配置的纹理双线性滤波系统,能在不损失滤波精度的同时,采用了流水线的运算架构代替了并行架构,乘法器能在流水线过程中复用,节省了硬件上的乘法器开销;同时流水线的引入能使并行取四个纹理像素点的过程并行化为一个周期取一个纹理像素点,节省带宽消耗;同时,本专利技术加入了动态可配置的双线性滤波仲裁模块,每个像素点都可以动态地判断是否开启双线性滤波,节省运算开销;另外,取纹理像素点的纹理Cache模块的引入能减少临近点带来的访存开销。附图说明下面结合附图和具体实施例对本专利技术作进一步详细描述。图1是本专利技术系统框图。图2是本专利技术仲裁状态机工作示意图。图3是本专利技术坐标运算状态机工作示意图。图4是本专利技术双线性滤波模块的流水线架构示意图。图5是本专利技术应用在基于FPGA的逻辑验证平台上的架构图。图6是本专利技术工作流程图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它本文档来自技高网
...
一种动态可配置的纹理双线性滤波系统

【技术保护点】
一种动态可配置的纹理双线性滤波系统,其特征在于:包括纹理坐标运算模块,通过对像素坐标计算得到纹理坐标;双线性滤波仲裁模块,用于判断每个像素点是否开启双线性滤波,并且输出相关的数据信号和控制信号;Cache地址计算模块,通过双线性滤波仲裁模块输出的纹理坐标计算得到纹理的地址值;纹理Cache模块,用于根据纹理地址值取出对应纹理像素点;双线性滤波器模块,根据输入的纹理坐标以及其对应的纹理像素点,通过四个周期的流水线进行双线性滤波的运算,最终输出像素点;输出模块,根据控制信号判断是否需要双线性滤波,如果需要双线性滤波则输出滤波后的像素点,否则直接输出内存中取出的像素点;所述的纹理坐标运算模块连接双线性滤波仲裁模块,所述的双线性滤波仲裁模块连接Cache地址计算模块,所述的Cache地址计算模块连接双线性滤波器模块,所述的双线性滤波器模块连接输出模块,所述的纹理Cache模块分别连接Cache地址计算模块、双线性滤波器模块和输出模块。

【技术特征摘要】
1.一种动态可配置的纹理双线性滤波系统,其特征在于:包括纹理坐标运算模块,通过对像素坐标计算得到纹理坐标;双线性滤波仲裁模块,用于判断每个像素点是否开启双线性滤波,并且输出相关的数据信号和控制信号;Cache地址计算模块,通过双线性滤波仲裁模块输出的纹理坐标计算得到纹理的地址值;纹理Cache模块,用于根据纹理地址值取出对应纹理像素点;双线性滤波器模块,根据输入的纹理坐标以及其对应的纹理像素点,通过四个周期的流水线进行双线性滤波的运算,最终输出像素点;输出模块,根据控制信号判断是否需要双线性滤波,如果需要双线性滤波则输出滤波后的像素点,否则直接输出内存中取出的像素点;所述的纹理坐标运算模块连接双线性滤波仲裁模块,所述的双线性滤波仲裁模块连接Cache地址计算模块,所述的Cache地址计算模块连接双线性滤波器模块,所述的双线性滤波器模块连接输出模块,所述的纹理Cache模块分别连接Cache地址计算模块、双线性滤波器模块和输出模块。2.根据权利要求1所述的一种动态可配置的纹理双线性滤波系统,其特征在于:所述的双线性滤波仲裁模块包括用于判断是否开启双线性滤波的仲裁状态机和用与计算传递给Cache地址计算单元的纹理坐标的坐标运算状态机。3.根据权利要求2所述的一种动态可配置的纹理双线性滤波系统,其特征在于:所述的仲裁状态机对...

【专利技术属性】
技术研发人员:王攀周钰致查道路
申请(专利权)人:合肥杰美电子科技有限公司
类型:发明
国别省市:安徽;34

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

1