CN100504923C - 用于纹理视讯处理的纹理引擎、图形处理器及方法 - Google Patents
用于纹理视讯处理的纹理引擎、图形处理器及方法 Download PDFInfo
- Publication number
- CN100504923C CN100504923C CNB2007100039444A CN200710003944A CN100504923C CN 100504923 C CN100504923 C CN 100504923C CN B2007100039444 A CNB2007100039444 A CN B2007100039444A CN 200710003944 A CN200710003944 A CN 200710003944A CN 100504923 C CN100504923 C CN 100504923C
- Authority
- CN
- China
- Prior art keywords
- texture
- video signal
- pixel
- duplicate
- unit
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/04—Texture mapping
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2200/00—Indexing scheme for image data processing or generation, in general
- G06T2200/28—Indexing scheme for image data processing or generation, in general involving image processing hardware
Landscapes
- Engineering & Computer Science (AREA)
- Computer Graphics (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Image Processing (AREA)
- Image Generation (AREA)
Abstract
本发明的实施例揭示一种纹理引擎,其包含一纹理元素地址计算器、纹理快取单元以及一视讯处理单元。该纹理元素地址计算器接收一像素的一纹理与视讯要求,该纹理与视讯要求包含该纹理数据于一纹理贴图中的位置信息以及该像素所需的视讯操作信息,该纹理贴图储存于一存储器单元。当执行该纹理与视讯要求指定的视讯操作时,该纹理元素地址计算器计算一像素于该存储器单元中的纹理数据以及该像素所需的图形数据。该纹理快取单元根据该存储器单元中所述存储器地址,撷取该图形数据与该纹理数据的一复本,所述存储器地址由该纹理元素地址计算器计算。该视讯处理单元接收该图形数据,以根据该纹理与视讯要求执行该视讯处理。
Description
技术领域
本发明涉及一种纹理引擎(texture engine),特别是涉及一种包含对像素数据(pixel data)执行视讯操作(video function)的一纹理快取单元(texture cacheunit)的纹理引擎。
背景技术
在计算机图学应用中,场景几何学(scene geometry)通常藉由数个几何像素(primitives)来表现,例如点、线、多边形(例如三角形与四边形)以及曲面等等,几何像素由一个或数个二维或三维的顶点定义,其中,每一顶点可有额外的数值或向量属性以决定颜色、透明度、亮度、阴影以及该顶点与该顶点相关的数个像素的状态。所述像素由数个单独像素互相连接形成。色彩与纹理用于所述单独像素,所述单独像素拥有一形状,该形状基于在像素中的位置以及所产生形状的像素方向,由此产生一相对应显示的对象以提供观看。
由于图学应用的复杂度与写实度的增加,图学处理系统的计算机系统必须跟着改善以加速描绘程序。为了符合目前对图学的需求,图形处理单元(graphics processing unit GPUs)必须为计算机系统的一内部结构,其中,图形处理单元有时也称为图形加速器(graphics accelerators)。在目前的揭示中,图形控制器(graphics controller)是指一图形处理单元或一图形加速器。在计算机系统中,图形处理单元控制一计算机的该显示子系统,像是一个人计算机、工作站、个人数字助理(PDA)或是任何有显示屏幕的设备。对产生的形状而言,像素之间的连接以及色彩与纹理的应用是由图形处理单元执行。一般的图形处理单元包含数个着色器(shaders),所述着色器是决定以何种相对应的属性以何种方式绘出一最终影像于一屏幕或一合适的显示设备上
图1为一般图形处理器100的一方块图,包含一顶点着色器102、一生成引擎104、一像素引擎106、一像素着色器108一纹理引擎110以及一回写引擎112。顶点着色器102接收影像数据并对每一像素的数个顶点执行数学运算,其可包含转换运算、光源处理与切割。生成引擎104接收来自顶点着色器102的所述顶点数据并且执行几何组合,其中,接收的所述顶点被组合成数个三角形。一旦产生所述三角形,即产生三维场景。像素引擎106转换先前组合的所述像素成像素数据并传送至像素着色器108,其中,每一像素对应一像素数据组(pixel data set)。为了对一像素产生该色彩与其它的外在属性,以及为了对相关的所述像素产生外在属性,像素着色器108加载像素着色指令(PS instructions)以对每一像素数据组执行运算。另外,像素着色器108为每一像素抓取其纹理数据。纹理引擎110接收来自像素着色器108的纹理要求并且根据该纹理要求提供纹理。
当像素着色完成,像素数据被传给回写引擎112。回写引擎112回写接收来自像素着色器108每一像素数据的修改过的该像素色彩与深度值。输入的每一像素数据组伴随着相对应的像素值,随后输出至帧缓冲区(framebuffer)以呈现于输出显示。
一般而言,为了执行视讯操作如反交错、定比缩放、去块状噪声与色彩空间转换,像素着色器108通常藉由像素着色指令撰写的程序来实现期望的视讯操作。无论如何,其可能需要数个像素着色指令来执行一视讯操作,当需要多种视讯操作时,将会降低执行效率使成果较差。表1举例说明4x4过滤器与色彩空间转换的像素着色编程(PS code)。
其中hij为过滤器的系数,ds为s方向单位向量以及dt为t方向单位向量。如表1所示,为了执行像是过滤器及色彩空间转换这类简单的视讯操作却使用了大量的像素着色指令
因此,拥有能有效率地执行二维视讯操作的图形处理单元是有益的。
发明内容
有鉴于此,本发明提供一种一图形处理单元中执行纹理视讯处理的纹理引擎(texture engine)。本发明的实施例揭示一种纹理引擎,其包含一纹理元素地址计算器以接收一像素的一纹理与视讯要求,该纹理与视讯要求包含该纹理数据于一纹理贴图的位置信息以及一像素数据所需的视讯处理信息,其中,该纹理贴图储存于一存储器单元,当根据该纹理与视讯要求执行该视讯处理时,该纹理元素地址计算器计算对应于一像素的纹理数据与图形数据于该存储器单元中的数个存储器地址;一纹理快取单元根据由该纹理元素地址计算器所提供的该存储器单元中的所述存储器地址,撷取该图形数据与该纹理数据的一复本,所述存储器地址由该纹理元素地址计算器计算;以及,一视讯处理单元,连接于该纹理快取单元,接收该图形数据,并根据该纹理讯要求,对该复本执行视讯处理。
本发明的实施例揭示一种用于纹理视讯处理的图形处理器。该图形处理器包含有一顶点着色器以接收影像数据用以坐标转换与光源处理;一生成引擎接收在顶点着色器的该影像数据生成数个三角形;一像素引擎将所述三角形转换成像素数据,每一三角形对应一像素数据组;一像素着色器接收来自该像素引擎的该像素数据执行描绘处理并产生每一像素数据组的一纹理与视讯要求,以取得对应的一纹理数据及提供视讯处理的需求;一纹理引擎自该像素着色器接收该纹理与视讯要求,根据该纹理数据与该纹理与视讯要求,提供该纹理数据给予该像素着色器,并于该像素数据上执行该纹理与视讯要求指定的视讯处理并输出至该像素着色器;以及一回写引擎回写接收自该像素着色器的该像素数据的最终像素值。
本发明的实施例还揭示一种用于纹理视讯处理的视讯处理方法。该视讯处理方法包含接收对应于一像素的一纹理与视讯要求,其中包含一纹理贴图中该像素的纹理数据的位置信息,以及该像素数据所需的视讯操作信息,该纹理贴图储存于一存储器单元;计算该像素所需的该纹理数据与该图形数据于该存储器单元中的数个存储器地址;根据该存储器单元中所述存储器地址,撷取该图形数据与该纹理数据的一复本;以及根据该纹理与视讯要求对该复本执行视讯操作。
附图说明
图1为一般图形处理单元的方块图。
图2为本发明实施例的一图形处理单元的方块图。
图3为本发明实施例于图2中该像素着色器与该纹理引擎的方块图。
图4显示本发明实施例中该视讯处理单元的一细部结构。
图5显示本发明实施例中于一纹理引擎的一视讯处理方法的流程图。
具体实施方式
为使本发明的上述和其它目的、特征、和优点能更明显易懂,下文特举出较佳实施例,并结合附图详细说明如下。
图2为一图形处理器200的示意图。图形处理器200除了一像素着色器208、一纹理引擎210,以及一存储器单元212之外,其余和图1的图形处理器100类似。图2中与图1中有相同组件符号的组件执行相同功能,因此不再赘述于此。像素着色器208除了和一般像素着色器一样执行描绘处理(rendering process)的外,并且发送每一像素数据组的一纹理与视讯要求至纹理引擎210,以取得纹理数据,并且允许纹理引擎210根据该纹理与视讯要求对该像素执行视讯处理。纹理引擎210根据所接收的该纹理与视讯要求,给予像素着色器208该纹理数据,对该像素数据执行视讯处理后,输出至像素着色器208。存储器单元212为一显示卡中的一本地存储器(local memory)或为一整合型绘图芯片中的一系统存储器中的,储存纹理引擎210所需撷取的数个纹理贴图与图形数据。
图3为图2中的像素着色器208与纹理引擎210细部结构的示意图。像素着色器208包含一像素撷取单元302以及一算术逻辑单元管线304。纹理撷取单元302产生该像素数据组的该纹理与视讯要求并发送至纹理引擎210,该纹理与视讯要求包含该像素数据于纹理贴图的位置信息以及该像素数据的视讯处理信息,其中,该纹理贴图储存于存储器单元212、纹理引擎210包含一纹理元素地址计算器306、一纹理快取单元308、以及一视讯处理单元310。纹理元素计算器306自像素着色器208的纹理撷取单元302接收该纹理与视讯要求,根据该纹理与视讯要求,决定该像素数据所需的纹理数据,并且计算该纹理数据在储存于存储器单元212的纹理贴图中的存储器地址。
此外,根据该纹理与视讯要求,纹理元素地址计算器306也计算图形数据于存储器单元212中的存储器位置。根据纹理元素地址计算器306计算的存储器位置,纹理快取单元308从存储器单元212撷取该图形数据与该纹理数据的复本。视讯处理单元310连接于纹理快取单元308,接受来自纹理快取单元308的图形数据,并且根据该纹理与视讯要求对该图形数据的复本执行视讯处理。接着,视讯处理单元310根据该纹理与视讯要求,输出该纹理数据以及视讯处理后的该图形数据至算术逻辑单元管线304,由该算术逻辑单元管线304对该纹理数据与该图形数据执行三维图形计算。
图4为视讯处理单元310细部结构的示意图。视讯处理单元310可包含一反交错单元402、一边缘检测单元404、一动态检测单元406、一去块状噪声单元408、一缩放单元502、一色彩空间转换单元504以及一灰度校正单元506。反交错单元402是当输入图形数据为图场格式(field format)时,将该输入图形数据转换为按帧模式(frame mode)。边缘检测单元404与动态检测单元406可利用各种不同算法实现,例如以统计学为基础或以实时估计为基础的算法。去块状噪声单元408消除一影像方块边缘的环形噪声。为了执行去块状噪声,纹理快取单元308撷取所述影像方块边缘的像素,以及去块状噪声单元408可对该影像方块作简单的过滤。缩放单元502为执行放大比例或缩小比例算法。这两个算法都是由相邻行或相邻列的加权总合得到新的行或列。因此,纹理快取单元308可储存该相邻行与相邻列的像素以执行缩放操作。色彩空间转换单元504使用于图形处理单元内不同色彩格式的输入图形数据,其中,该色彩格式为一致的。另外,为了调整非线性显示装置,灰度校正单元506可在显示前对像素数据作灰度校正。所述技术可包含相同设计需求的其它视讯处理单元。
图5是一纹理引擎中一视讯处理方法的流程图。首先,接收对应于一像素的一纹理与视讯要求(S1)。在此,该像素与视讯需求可包含该像素在纹理贴图中纹理数据的位置信息以及该像素所需的视讯操作信息,于一实施例中,该纹理贴图储存于图2所示的一存储器单元212内。接着,当执行该纹理与视讯要求指定的该视讯操作时,计算该纹理数据与该像素所需图形数据干存储器单元中的存储器地址(S2)。接下来,由存储器单元中的所述存储器地址撷取图形数据与纹理数据(S3)。最后,对该图形数据执行纹理与视讯要求中指定的视讯操作(S4)。该视讯操作可包含对该图形数据执行反交错操作边缘检测、动态检测、去块状噪声操作、缩放处理、色彩空间转换或灰度校正等等。
本发明中,纹理引擎210不单是如一般纹理引擎相同提供该像素数据的纹理数据予色彩着色器208,并且对该像素数据执行视讯操作。因此,减少了该像素数据所需的相对执行时间,且改善该像素着色器的执行效率。例如,于本发明的该纹理引擎执行4x4过滤器与色彩空间转换操作,该像素着色指令编程(PS code)如下述:
texld r0,t0, s0//定义s0为4x4过滤器与色彩转换
Mov oC0.rgba r0.rgba
显然地,相较于表1列出的像素着色指令编程,降低了该像素着色器的执行时间。
本发明虽以较佳实施例揭示如上,然其并非用以限定本发明的范围,本领域的技术人员在不脱离本发明的精神和范围的前提下,可做若干的更动与润饰,因此本发明的保护范围以本发明的权利要求为准。
Claims (8)
1.一种用于纹理视讯处理的纹理引擎,包含有:
一纹理元素地址计算器,用于计算对应于一像素的纹理数据与图形数据于一存储器单元中的数个存储器地址,其中,该像素被纪录在一纹理与视讯要求内,该纹理与视讯要求包含该纹理数据于一纹理贴图中的位置信息,其中,该纹理贴图储存于该存储器单元;
一纹理快取单元,用于根据由该纹理元素地址计算器所提供的该存储器单元中的所述存储器地址,撷取该图形数据与该纹理数据的一复本;以及
一视讯处理单元,连接于该纹理快取单元以接收该图形数据,并根据该纹理与视讯要求,对该复本执行视讯处理。
2.如权利要求1所述的纹理引擎,其中,该视讯处理单元选自于下列群组其中之一:
一反交错处理单元,对该复本执行反交错处理操作;
一边缘检测单元,对该复本执行边缘检测;
一动态检测单元,对该复本执行动态检测;
一去块状噪声单元,对该复本执行去块状噪声操作;
一定比缩放单元,对该复本执行定比缩放处理;
一色彩空间转换单元,对该复本执行色彩空间转换;
一灰度校正单元,对该复本执行灰度校正;以及
以上所述各项的各种组合。
3.一种用于纹理视讯处理的图形处理器,包含有:
一顶点着色器,接收影像数据用以坐标转换与光源处理;
一生成引擎,接收来自该顶点着色器的该影像数据生成数个三角形;
一像素引擎,将所述三角形转换成像素数据,每一三角形对应一像素数据组;
一像素着色器,对接收来自该像素引擎的该像素数据执行描绘处理,并产生每一像素数据组的一纹理及视讯要求,以取得对应的一纹理数据及提供视讯处理的需求;
一纹理引擎,自该像素着色器接收该纹理与视讯要求,根据该纹理数据与该纹理与视讯要求,提供该纹理数据给予该像素着色器,并于该像素数据上执行该纹理与视讯要求指定的视讯处理并输出至该像素着色器;以及
一回写引擎,回写接收自该像素着色器的该像素数据的最终像素值。
4.如权利要求3所述的图形处理器,其中,该像素着色器包含有:
一纹理撷取单元,产生每一像素数据组的该纹理与视讯要求予该纹理引擎;以及
一算术逻辑单元管线,自该纹理引擎接收该纹理数据与该视讯处理后的该像素数据,以执行三维图形计算。
5.如权利要求3所述的图形处理器,其中,该纹理引擎包含有:
一纹理元素地址计算器,用于计算对应于一像素的其纹理数据与其图形数据于一存储器单元的数个存储器地址,其中,该像素被纪录在该纹理与视讯要求内,该纹理与视讯要求包含该纹理数据于一纹理贴图中的位置信息,其中,该纹理贴图储存于该存储器单元;
一纹理快取单元,用于根据由该纹理元素地址计算器所提供的该存储器单元中的所述存储器地址,撷取该图形数据与该纹理数据的一复本;以及
一视讯处理单元,连接于该纹理快取单元以接收该图形数据,并根据该纹理与视讯要求,对该复本执行该视讯处理。
6.如权利要求5所述的图形处理器,其中,该视讯处理单元选自于下列群组其中之一:
一反交错处理单元,对该复本执行反交错处理操作;
一边缘检测单元,对该复本执行边缘检测;
一动态检测单元,对该复本执行动态检测;
一去块状噪声单元,对该复本执行去块状噪声操作;
一定比缩放单元,对该复本执行定比缩放处理;
一色彩空间转换单元,对该复本执行色彩空间转换;
一灰度校正单元,对该复本执行灰度校正;以及
以上所述各项的各种组合。
7.一种用于纹理视讯处理的视讯处理方法,包含有:
接收对应于一像素的一纹理与视讯要求,其包含一纹理贴图中该像素的纹理数据的位置信息,以及该像素所需的视讯操作信息,该纹理贴图储存于一存储器单元;
计算该像素所需的该纹理数据与图形数据于该存储器单元中的数个存储器地址;
根据该存储器单元中所述存储器地址,撷取该图形数据与该纹理数据的一复本;以及
根据该纹理与视讯要求,对该复本执行视讯操作。
8.如权利要求7所述的视讯处理方法,其中,该视讯操作包含选自于下列群组其中之一:
对该复本执行反交错操作;
对该复本执行边缘检测;
对该复本执行动态检测;
对该复本执行去块状噪声操作;
对该复本执行定比缩放处理;
对该复本执行色彩空间转换;
对该复本执行灰度校正;以及
以上所述各项的各种组合。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/460,319 | 2006-07-27 | ||
US11/460,319 US20080024510A1 (en) | 2006-07-27 | 2006-07-27 | Texture engine, graphics processing unit and video processing method thereof |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101004833A CN101004833A (zh) | 2007-07-25 |
CN100504923C true CN100504923C (zh) | 2009-06-24 |
Family
ID=38703947
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2007100039444A Active CN100504923C (zh) | 2006-07-27 | 2007-01-19 | 用于纹理视讯处理的纹理引擎、图形处理器及方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20080024510A1 (zh) |
CN (1) | CN100504923C (zh) |
TW (1) | TWI334581B (zh) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8749574B2 (en) * | 2008-06-06 | 2014-06-10 | Apple Inc. | Method and apparatus for improved color management |
US20100013854A1 (en) * | 2008-07-18 | 2010-01-21 | Microsoft Corporation | Gpu bezier path rasterization |
US8274516B2 (en) * | 2008-08-04 | 2012-09-25 | Microsoft Corporation | GPU scene composition and animation |
US8289341B2 (en) * | 2009-06-29 | 2012-10-16 | Intel Corporation | Texture sampling |
GB201103698D0 (en) * | 2011-03-03 | 2011-04-20 | Advanced Risc Mach Ltd | Graphics processing |
US8830249B2 (en) | 2011-09-12 | 2014-09-09 | Sony Computer Entertainment Inc. | Accelerated texture lookups using texture coordinate derivatives |
US9940422B2 (en) * | 2015-01-08 | 2018-04-10 | Mediatek Inc. | Methods for reducing congestion region in layout area of IC |
KR102512521B1 (ko) * | 2015-10-12 | 2023-03-21 | 삼성전자주식회사 | 텍스쳐 처리 방법 및 장치 |
CN110045958B (zh) * | 2019-04-17 | 2021-09-28 | 腾讯科技(深圳)有限公司 | 纹理数据生成方法、装置、存储介质及设备 |
KR20200145665A (ko) * | 2019-06-19 | 2020-12-30 | 삼성전자주식회사 | 최적화된 픽셀 셰이더 속성 관리 |
CN112581575B (zh) * | 2020-12-05 | 2024-05-03 | 西安翔腾微电子科技有限公司 | 一种外视频做纹理系统 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6919895B1 (en) * | 1999-03-22 | 2005-07-19 | Nvidia Corporation | Texture caching arrangement for a computer graphics accelerator |
US7310722B2 (en) * | 2003-12-18 | 2007-12-18 | Nvidia Corporation | Across-thread out of order instruction dispatch in a multithreaded graphics processor |
US7848409B2 (en) * | 2005-05-02 | 2010-12-07 | Qualcomm Incorporated | Macroblock level bit allocation |
US20070070077A1 (en) * | 2005-09-26 | 2007-03-29 | Silicon Integrated Systems Corp. | Instruction removing mechanism and method using the same |
-
2006
- 2006-07-27 US US11/460,319 patent/US20080024510A1/en not_active Abandoned
-
2007
- 2007-01-09 TW TW096100790A patent/TWI334581B/zh active
- 2007-01-19 CN CNB2007100039444A patent/CN100504923C/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN101004833A (zh) | 2007-07-25 |
TWI334581B (en) | 2010-12-11 |
TW200807327A (en) | 2008-02-01 |
US20080024510A1 (en) | 2008-01-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100504923C (zh) | 用于纹理视讯处理的纹理引擎、图形处理器及方法 | |
JP5336067B2 (ja) | グラフィックスを処理する方法および装置 | |
EP3180773B1 (en) | Bandwidth reduction using texture lookup by adaptive shading | |
US8059144B2 (en) | Generating and resolving pixel values within a graphics processing pipeline | |
US7724263B2 (en) | System and method for a universal data write unit in a 3-D graphics pipeline including generic cache memories | |
US8009172B2 (en) | Graphics processing unit with shared arithmetic logic unit | |
CN105718420B (zh) | 数据处理装置及其操作方法 | |
CN107077828A (zh) | 对颜色查找表的大小进行压缩 | |
WO2016133730A1 (en) | Systems and methods for reducing memory bandwidth using low quality tiles | |
US20170061926A1 (en) | Color transformation using non-uniformly sampled multi-dimensional lookup table | |
US7310103B2 (en) | Pipelined 2D viewport clip circuit | |
US6975317B2 (en) | Method for reduction of possible renderable graphics primitive shapes for rasterization | |
CN106575428A (zh) | 图形处理单元中的高阶滤波 | |
US6784894B2 (en) | Mapping time-sorted to direction-sorted triangle vertices | |
US6867778B2 (en) | End point value correction when traversing an edge using a quantized slope value | |
US6943791B2 (en) | Z-slope test to optimize sample throughput | |
US7145570B2 (en) | Magnified texture-mapped pixel performance in a single-pixel pipeline | |
US6900803B2 (en) | Method for rasterizing graphics for optimal tiling performance | |
US6885375B2 (en) | Stalling pipelines in large designs | |
US6847378B2 (en) | System and method for performing scale and bias operations by preclamping input image data | |
US6819320B2 (en) | Reading or writing a non-super sampled image into a super sampled buffer | |
US6927775B2 (en) | Parallel box filtering through reuse of existing circular filter | |
US6847372B2 (en) | Magnified texture-mapped pixel performance in a single-pixel pipeline | |
US6847368B2 (en) | Graphics system with a buddy / quad mode for faster writes | |
US7868902B1 (en) | System and method for pixel data row forwarding in a 3-D graphics pipeline |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |