当前位置: 首页 > 专利查询>英特尔公司专利>正文

对要进行纹理操作的像素进行分组制造技术

技术编号:6703120 阅读:168 留言:0更新日期:2012-04-11 18:40
可以将像素区域或像素组作为一个单元来进行纹理操作,其中使用范围指定符和一个或多个锚像素来定义该组。在一些实施例中,处理被分组的像素提高了效率。

【技术实现步骤摘要】
对要进行纹理操作的像素进行分组
技术介绍
本专利技术总体上涉及图形处理,并且更具体地,涉及图形处理器的纹理单元。图形处理器是通常用于处理与图像显示相关联的处理任务的专用处理器。图形处理器可以包括多个专用功能单元,这些专用功能单元包括纹理单元。纹理单元执行包括纹理解压缩和各向异性滤波的纹理操作。纹理采样器是一种特定类型的纹理单元,其优化纹理滤波并且比通用处理器更快地执行纹理滤波。附图说明图1是根据一个实施例的纹理单元的示意图描述;图2是针对一个实施例的像素坐标系的描述;以及图3是针对一个实施例的流程图。具体实施例方式根据一些实施例,诸如纹理采样器的纹理单元可以用于执行数学计算。在一些实施例中,可以通过减少在对要进行纹理操作的像素组进行编码时由处理器核心所产生的计算开销,来提高在该处理器核心和纹理单元之间的通信效率。在一些实施例中,这可以通过范围指定符来实现,所述范围指定符有效地将像素块分组为由属于该组的一个像素所指定的一个范围。因此,在一些实施例中,纹理用户接口有益于纹理单元的图形使用和非图形使用两者。参照图1,纹理单元的纹理单元核心45经由纹理控制块(TCB)46接收纹理请求。 纹理控制块46可以包括指向纹理表面的指针、纹理表面的宽度和高度、要进行纹理操作的 η个像素的纹理坐标(u,ν)、要执行的滤波操作的类型,诸如线性、双线性、或三线性、是否包含常规卷积或mxn点积操作、以及纹理滤波结果。在地址产生单元或阶段M中的地址产生逻辑计算由给定的滤波操作所使用的所有纹理像素的地址。以非归一化形式或在0. 0至1. 0之间的归一化形式传递相关像素的坐标u和V。在后一情况中,通过将所述坐标乘以表面尺寸来将所述坐标进行非归一化。例如,u变成i.bu,其中,i是整数并且bu是小数。整数部分用于产生最近的邻居。在双线性内插的情况下,存在4个邻居(i,j)、(i+1,j)、(i,j+1)和(i+1,j+1)。在三线性滤波操作中,存在8个邻居。小数部分可以用于计算在对相邻像素进行混合时可使用的权重。纹理高速缓存56可以耦合到地址产生阶段54,并且用于高速缓存来自存储器58 的数据,其中所述数据通过使用所产生的纹理像素地址来进行存取。内插阶段62可以耦合到纹理高速缓存56。具有累加逻辑和小存储缓冲器64的累加阶段66在一个实施例中耦合到内插阶段62。纹理控制块46被用作经过建立阶段50的、对范围指定符解码器47的输入。解码器47可以包括纹理单元中的有限状态机(FSM)48以根据范围指定符来计算(u,ν)坐标。还可以在解码器中设置加法器49,并且在一些实施例中,可以使用多个加法器。在一些实施例中,可以使用范围指定符,来代替指定要进行纹理操作的每个像素各自的u和ν坐标。可以针对常见的几何形状,诸如正方形、矩形、三角形等,来定义范围指定符。例如,诸如以下所述的结构之类的结构可以用于指定矩形区域struct {int u ;int ν ;int dU ;int dV ;}rectangle_specifier ;在图2中示出了该矩形区域。图2示出了用于基于范围的寻址的方案,其中在χ和 y方向上指定初始的u和ν值以及偏移量dU和dV,但是提供了阵列元素的矩形窗口以供考虑。具体而言,在图2示出的示例中,在网格内用阴影描绘了 6*5的矩形区域。用星号标记的左上角位于u,ν坐标(6,5)处。矩形区域可以由元组{5,6,6,5}来指定,其中前两个位置(5,6)是u和ν坐标,并且后两个位置(6,幻分别是在u和ν方向上的dU和dV偏移量。在本示例中,并非是计算阴影块中每个像素的(u,ν)对,而是可以仅需要用星号标记的左上角像素的(U,ν)对。在本示例中,此举可以节省30次(u,ν)计算。 此外,在一些实施例中,并非是指定在阴影矩形内的所有U和ν坐标对(这将需要 30*2*4Β或者MOB的对),而可以仅使用一个包含4个B值的元组= 16B),节省了 224B。减少的存储随后可以用于对返回数据进行编码。在一些实施例中,元组的使用可以节省在将u,ν对传送至纹理采样器时的带宽。因此,可以通过使用一个或多个锚像素(其中,在图2中由星号指示了一个锚像素)来定义几何形状(例如,图2中所示的矩形)。锚像素是在已知的几何形状内在所定义位置中的像素。基于锚像素的位置和所述元组,可以将由已知形状定义的像素组指定为一组。作为另一示例,一个圆形像素组的锚像素例如可以是该圆形的中心。在一些实施例中,还可以在元组内对几何形状的类型进行编码。这种方法允许在不同的情况下动态地选择最合适的几何形状。产生纹理坐标的序列发生器有限状态机(FSM) 52可以以硬件实现,实现为范围解码逻辑,或者实现为软件。FSM 52根据范围指定符来计算纹理坐标。在一些实施例中,解码器50内的解码逻辑可以是在地址产生阶段44中的额外阶段。坐标非归一化获得在0. 0至1. 0之间的归一化的u和ν坐标,并且将归一化的u 和ν坐标分别乘以图像尺寸DIMX和DIMY。然后,u坐标变为uint. ufract,其中uint是整数并且ufract是小数。利用同一命名法,ν坐标变为vint. vfract。范围指定符解码器47中的范围硬件解码逻辑(hardware decoding rangelogic) 接受uint和vint值作为输入,并自动地产生在所指定的范围内的所有地址。坐标产生逻辑的复杂度取决于所支持的形状的类型。对于简单的矩形指定符,在一些实施例中,具有单个加法器49的简单的有限状态机就会是足够的。加法器49用于产生在每个维度中的地址。有限状态机52产生在所指定的地址范围中的所有地址。这些地址被前送到纹理单元管线的剩余部分。以下伪代码示出了在一些实施例中FSM 52如何产生在所指定的地址范围中的所有地址的示例输入integer base uint(floor(u*DIMX)), integer base vint (floor(v氺DIMY)),u range (dU), ν range (dV),FSM pair = (uint, vint)for(i = 0 ;i < dU ;i++)for(j = 0 ;j < dV ;j++)pair+ = (1,1)范围指定符FSM 48可以与加法器49 一起执行以上所述的FSM指令序列,以产生包括在该范围中每个纹理像素各自的(U,V)坐标的序列,这些(U,V)坐标被传递通过纹理管线的其余部分以初始化并执行对应的滤波操作。序列发生器FSM 52使得纹理采样器能够处理任意常规的mxn元素的点积。可编程系数存储设备60可以存储线性内插器所需的系数。序列发生器FSM 52可以将mxn点积分解为2-元素点积操作、4-元素点积操作、8-元素点积操作的组合,其可以使用滤波单元的线性内插器、双线性内插器或三线性内插器来执行。然后,循环通过点积操作,并使用累加器66进行累加来得到最终的输出。在一些实施例中,除了提高核心纹理单元通信的效率之外,还可以实现对使用纹理单元硬件进行的通用计算的性能提升。例如,当执行基于纹理采样器的卷积时,基于范围的指定符可以节省指定每个像素的(u,ν)对所需的大量计算。对于64个像素的纹理控制块,使用范围指定符将会涉及192个指令用本文档来自技高网...

【技术保护点】
1.一种方法,包括:使用已知几何形状的一个或多个锚像素的坐标来指定要进行纹理操作的一组像素。

【技术特征摘要】
...

【专利技术属性】
技术研发人员:M·斯梅良斯基YK·陈V·W·李G·S·达西格J·冈萨雷斯C·金J·钟加尼J·加戈S·加兰V·莫亚德尔巴里奥
申请(专利权)人:英特尔公司
类型:发明
国别省市:US

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

1