CN1337033B - 使用三维流水线伸拉位闪的方法和装置 - Google Patents

使用三维流水线伸拉位闪的方法和装置 Download PDF

Info

Publication number
CN1337033B
CN1337033B CN008027889A CN00802788A CN1337033B CN 1337033 B CN1337033 B CN 1337033B CN 008027889 A CN008027889 A CN 008027889A CN 00802788 A CN00802788 A CN 00802788A CN 1337033 B CN1337033 B CN 1337033B
Authority
CN
China
Prior art keywords
rectangle
summit
address
window device
engine
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.)
Expired - Fee Related
Application number
CN008027889A
Other languages
English (en)
Other versions
CN1337033A (zh
Inventor
V·G·库克
S·W·詹森
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Intel Corp
Original Assignee
Intel Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Intel Corp filed Critical Intel Corp
Priority to CN201010155642.0A priority Critical patent/CN101853487B/zh
Publication of CN1337033A publication Critical patent/CN1337033A/zh
Application granted granted Critical
Publication of CN1337033B publication Critical patent/CN1337033B/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformation in the plane of the image
    • G06T3/40Scaling the whole image or part thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformation in the plane of the image
    • G06T3/40Scaling the whole image or part thereof
    • G06T3/4007Interpolation-based scaling, e.g. bilinear interpolation

Abstract

提供一种用于图像缩放的方法和装置。3D流水线包括命令流控制器以启动矩形方式。所述3D流水线包括窗口器以产生用于由顶点定义的矩形的地址。滤波器内插在基于相对位置的相邻点之间,以产生每个像素的属性。色彩计算器调整输出数据并把输出数据写到目标表面。

Description

使用三维流水线伸拉位闪的方法和装置
技术领域
本发明涉及电子装置的图形显示。更具体地说,本发明涉及对由电子装置显示的图形的伸拉位闪(stretch blitting)操作。
背景技术
经过二十多年个人计算机已经走入了日常家用。用于教育和娱乐的游戏已经有用于PC的强大的应用软件并且由于三维(3D)图示技术的引入而得以增强。特定纹理的实时图片3D图示技术将提供对具有全视点自由度、可见到的真实世界位置的准确模拟。
高质量实时3D图示技术的关键是,要具有支持杂乱场景的着色的系统结构和存储器访问方案,在所述杂乱场景中有抬高了像素存储器访问次数的多层对象。相关的处理负荷必须不会把系统刷新率降低到我们所认为的实时(30Hz)以下。一些提出的解决方案把处理卸载给应用程序(application’s shoulders),因而在对简单场景进行实时着色时有困难。更好的加速器将加速那些处理器增强的硬件功能,留着处理器用于高级功能。一般,定制的加速硬件(专用集成电路ASIC-硅)执行着色功能更快,为软件应用程序留有更多时间。这种图形3D着色引擎,即3D流水线,使用大量的乘法和加法电路。
电视会议和其他视频图像处理也提到日程中。一个期望用在可视电信会议中的特征是在传输前把视频图像缩放到各种大小的能力。图像越小、同时提供的细节越少,则需要的通信带宽越小并且能被接收者计算机越快地再现。一般,摄相机将产生其最大尺寸由摄相机图像传感器限定的视频图像。然后可由缩放装置把该图像缩放成更小或更大的图像。
采用对源像素的进行数字滤波来提供缩放的输出的现有的视频摄相机被设计成在源像素时钟的单个周期内产生每个输出像素。换言之,多抽头滤波器的抽头中的每个必须用在同一个时钟周期中。因此,需要大量乘法和加法电路来并行处理每个单独的滤波器抽头。随着乘法和加法电路的数量增加,滤波器传播延迟和功耗也增加。而且,当缩放装置是用集成电路(IC)来实现时,加法和乘法电路的增加的数量转变为增加的实现IC的芯片尺寸。最终结果是更昂贵的缩放引擎。
如果计算机系统包括3D着色以及视频成像系统,则用于辅助加速计算的硬件就面积和门而论变得昂贵。因而,如果减少用于包括三维着色和视频缩放的成像系统的门数量,则会有好处。
发明内容
本发明提供用于图像缩放的方法和装置。3D流水线包括启动矩形模式的命令流控制器。所述3D流水线包括产生由各顶点定义的矩形的地址的窗口器(windower)。滤波器在基于相对位置的相邻点之间进行内插,以产生每个像素的属性。色彩计算器调整输出数据并且把输出数据写到目标表面。
根据本发明的一个方面,一种用于三维着色和伸拉位闪的三维流水线的装置,所述装置包括:
用于启动矩形方式的命令流控制器;
耦合到所述命令流控制器的、用于在所述矩形模式内产生由顶点定义的一个矩形的地址的窗口器;
耦合到所述窗口器、在基于以所述地址为依据的相对位置的相邻点之间内插的、用于每个像素以产生每个像素的属性的滤波器;以及
耦合到所述滤波器的、用于校准输出数据并且把所述输出数据写到目标表面的色彩计算器。
根据本发明的另一个方面,一种在三维流水线中的着色和伸拉位闪的方法,所述方法包括:
接收信号;
接收定义一个区域的两个或两个以上坐标点;
基于所述信号及所述两个或两个以上坐标点确定所述区域是三角形还是矩形;
如果所述区域是三角形则基于关于所述区域的数据而产生三维图像;和
如果所述区域是矩形,则对关于所述区域的数据执行伸拉位闪操作。
根据本发明的又一个方面,一种在三维流水线中对数字视频数据进行伸拉位闪的方法,所述方法包括:
接收矩形命令;
接收定义直角三角形的左上顶点、右下顶点和左下顶点;
根据所述矩形命令及所述左上顶点、右下顶点和左下顶点标识定义矩形的有边界框;
计算图像目标表面;
计算图像源表面;
抽取和缓存像素值;
内插所述像素值以产生在所述目标表面中的像素;和
显示所述目标表面。
根据本发明的再一个方面,一种计算机系统,包括:
一个处理器;
一个耦合到所述处理器的存储器;
一个耦合到所述处理器和所述存储器的、用于三维着色和伸拉位闪的三维流水线引擎,所述三维流水线引擎包括:
用于接收信号的指令流控制器;
耦合到所述命令流控制器的、用于接收限定一个区域的两个或者更多个座标点和根据所述信号确定所述区域是三角形还是矩形的一个窗口器;以及
如果所述区域是三角形则所述三维流水线引擎根据用于所述区域的数据产生一个三维图象,而且,如果所述区域是矩形则所述三维流水线引擎对用于所述区域的数据执行伸拉位闪的操作。
附图说明
在附图中,以举例的方式、而不是以限定的方式说明本发明,并且在附图中类似的标号表示类似的元件,其中:
图1是本发明可以在其中实现的计算机系统的方框图;
图2是用于处理视频图像的3D流水线的一个实施例的方框图;
图3是视频图像伸拉处理的一个实施例的流程图;
图4说明用于16比12的矩形的目标数据;
图5A说明由用于3D着色和用于伸拉位闪的窗口器执行的边缘测试;
图5B说明由用于3D着色和用于伸拉位闪的窗口器执行的边缘测试。
具体实施方式
现在描述用于以纹理映射引擎进行图示技术的伸拉位闪的方法和装置。在以下描述中,为说明起见,给出大量特定细节以便提供对本发明的全面理解。但是显然,对于本专业的技术人员,可以不用这些特定的细节来实践本发明。另外,以方框图的形式表示结构和装置以避免使本发明模糊不清。
在说明书中提到“一个实施例”或“实施例”指的是联系实施例描述的具体特征、结构或特性是被包括在本发明的至少一个实施例中的。“在一个实施例中”这个短语在说明书中各个位置的出现不一定都指的是同一实施例。
在包括三维着色和视频的计算机系统中,实现重复使用辅助3D着色和伸拉位闪的硬件所用的门的系统。用于伸拉位闪和3D着色的计算是类似的。因而,可以使用带有修改的、用于对三维图像着色的3D流水线来对视频图像放大和缩小、滤波、改变表面格式,以及改变彩色空间。如下所述,在3D流水线中用纹理映射引擎来进行图像处理。这是有好处的,因为用于修改3D流水线以允许图像处理的门数量,与单独地实现这些功能相比,大大地减少了。
采用3D流水线来执行伸拉位闪导致性能改善、并且节省了孤立的伸拉位闪引擎所需要的门。还通过利用3D流水线的功能性由于具有更好缩放和滤波而改进了伸拉位闪引擎。而且,3D流水线的高度流水格式被有利地用来提高伸拉位闪引擎的性能。
实现对标准3D流水线的很多变化。修改设置引擎和窗口器以使3D流水线能处理除三角形之外的矩形。另外,修改映射地址产生器以便能够在4:2:2和4:2:0数据中寻址。另外,修改高速缓存以便能够对这些类型的数据寻址。下面将更详细地讨论所有这些变化。
图1是本发明可以在其中实现的计算机系统的方框图。该系统可包括一个或一个以上的处理器110。可把所述处理器110耦合到主机总线115。可把所述主机总线115耦合到主机桥接器120,以便把图形卡或图形子系统130耦合到处理器110。也可把存储器125耦合到主机桥接器120。可进一步把所述主机桥接器120耦合到系统总线150上,如PCI总线150。可把PCI总线150耦合到PCI至ISA桥接器160。可把端口以及扩展ISA总线耦合到PCI至ISA桥接器160。
图形加速器130包括用于对三维图像着色的3D引擎140。正如下面将要描述的,3D引擎140还可用于伸拉位闪。可把各种输入和输出装置耦合到图形卡130,如视频输入、显示器、电视机等。图形卡130还可包括用于加速图形操作的局部内存147。另外,中央单元140、145可包括局部高速缓冲存储器,如下所述。可把图形卡130经总线135或类似的连接装置耦合到主机桥接器120上。
图2是3D流水线的方框图。3D引擎210包括纹理流水线215。如本领域中众所周知的,可把这种3D引擎用于三维着色。如下面将要描述的,还可把3D流水线用于伸拉位闪。在一个实施例中,响应指定了矩形基元类型的、在这里称为GFXPRIMITIVE的具体命令(以下称为GFX矩形命令)而执行伸拉位闪解码;但是,也可以使用其他命令名称和格式。
命令流控制器220连接成从外部信源例如处理器或缓冲器接收命令。命令流控制器220对命令分析和解码以执行适当的控制功能。如果收到的命令不是GFX矩形命令,命令流控制器220把控制信号和数据传递给设置引擎225。命令流控制器220还控制关于非GFX矩形命令的内存管理、状态变量管理、二维操作等等。
在一个实施例中,当命令流控制器220收到GFX矩形命令时,把顶点信息送到设置引擎225。在一个实施例中,命令流控制器220为设置引擎225提供矩形的左上顶点、右下顶点和左下顶点。设置引擎225用这些顶点来计算平面方程的三项:关于X、关于Y以及原点的属性变化率。
另外,当执行纹理映射时,设置引擎225确定包含由顶点定义的三角形的有边界框。
设置引擎225从命令流控制器220接收目标位置的左上顶点、右下顶点和左下顶点。设置引擎225还接收定义原始尺寸、在每个顶点处的第二组坐标。设置引擎225计算两组坐标的比值以确定伸拉的比例,在尺寸上或者扩展或者缩小。目标坐标是相对窗口的,而源的坐标是相对于源图像的左上角、即左上角坐标总是(0,0)。注意,设置引擎方程是为用于3D着色的三角形所做计算的子集。因而,不需要附加的硬件。设置引擎225还产生边缘,定义矩形基元的有边界框。设置引擎225向窗口器230提供有边界框信息。
窗口器230产生目标平面的地址。窗口器230一般通过划出经过每对顶点的线来产生这些地址。顶端线510以上的区域被标为负的,而顶端线510以下的区域被赋予正值。底线520以下区域被标为负的,而底线520以上区域被赋予正值。在边缘线530以内的区域被赋予正值,而在边缘线530以外的区域被标为负的。这称为边缘测试。这确定了显示的三角形540。在图5A和5B中说明了这些。
对于伸拉位闪,使用了窗口器230的另一方面。窗口器230永远不显示在由设置引擎225传递给窗口器230的有边界框590以外的区域。因而,迫使边缘测试总为正,由此把该区域定义为有边界框590的整个区域。窗口器230在有边界框内迭代像素以产生由GFX矩形命令写入的数据的读和写地址。换言之,总是传递三角形边缘方程,这使窗口器230能处理整个矩形而不是停留在三角形边界上。这些读和写地址被传递给映射地址发生器。
窗口器230产生像素读写地址以把数据接入高速缓冲存储器,在图2中未示出。窗口器230还向色彩计算器280提供用于阿尔法(α)混合步骤的目标项。窗口器230从帧缓冲器获得目标信息。
窗口器230利用在3D流水线中可获得的深层流水线作业.当窗口器230从设置引擎225接收了有边界框和顶点时,窗口器230开始产生地址.用于这些地址的数据是从存储器中取出的.存储器具有相对长的延迟.因而,当窗口器230产生地址时,请求对数据进行流水作业,以FIFO(先进先出)方式设置每个请求的控制部分.因而,对用于每个产生的地址的数据的请求随着地址产生而连续地被送往存储器.因而,存储器延迟仅影响所请求的第一像素数据.通过流水线作业,消除了存储器延迟对随后的像素数据的影响,并且可以按每一个时钟脉冲产生像素,维持通过量.流水线作业就面积而论是昂贵的,而把现有的流水线作业再用于3D引擎是有利的.
映射地址产生器240产生实际地址以在纹理映射中提取特定的像素。在一个实施例中,映射地址发生器240按照以下方程计算目
u ( x , y ) = C xS · x + C yX · y + C OS C xiW · x + C yiW · y + C OiW + P Ou
标区域;
这个方程对于那些熟悉3D着色的人是众所周知的。
通过使用下表中的值,复杂的纹理映射方程可以被简化以用于伸拉位闪计算,由此使硬件能用于两个目的。Cxs和Cos被直接发送给映射地址产生器240作为平面系数。
  变量   说明   值
C<sub>xs</sub>   S(源平面中的水平尺寸)相对于x的变化率 由设置引擎计算
  C<sub>os</sub>   对S的偏移   由设置引擎计算
  C<sub>ys</sub>   S相对于y的变化率   由设置引擎计算
  C<sub>xT</sub>   T相对于x的变化率   由设置引擎计算
  C<sub>os</sub>   对T的偏移   由设置引擎计算
  C<sub>yT</sub>   T相对于y的变化率   由设置引擎计算
  C<sub>xiw</sub>   1/W相对于x的变化率   设置为0.0
  C<sub>oiw</sub>   对1/W的偏移   设置为1.0
  C<sub>yiw</sub>   1/W相对于y的变化率   设置为0.0
P<sub>ou</sub> 对u的偏移   由设置引擎计算,但通常设置为0.0
P<sub>ov</sub> 对v的偏移   由设置引擎计算,但通常设置为0.0
这迫使在上述方程中的分母为1。这产生简化的方程:
u(x,y)=CxS·x+CyX·y+COS
这个方程定义了一个简单平面Ax+By+C。进一步修改映射地址产生器240以接受对于顶点的非归一化值。视频地址一般都不是归一化的,而3D着色坐标组一般是归一化的。通过修改映射地址产生器240可操作的值,使3D流水线可用于伸拉位闪。
读取单元245执行存储器管理和串行化。读取单元245请求存储在高速缓存260或存储器中的源映射。读取单元245把由映射地址产生器240提供的读取地址转换成高速缓存地址。由读取单元245产生的高速缓存地址被送往高速缓存260。如果在高速缓存260中未发现数据,读取单元245向存储器请求数据,并且当数据到达时把它放入高速缓存。
存储在高速缓存地址中的像素数据被送往滤波器250。映射地址产生器240把部分像素定位数据和关于相邻像素的高速缓存地址发送到滤波器250。在本领域中滤波技术是众所周知的,这里不再进一步讨论。
内插器270可用于产生用于混合的内插α值。α混合使部分已经在帧缓冲器中的图像和部分源图像能被看到。术语α定义源的不透明度。对于一个实施例,α值对于伸拉位闪是固定的,并且未使用内插器270。如果α值不固定,则使用如上所述关于映射地址产生器240的同样方程。对于另一个实施例,指定所有三个顶点的α值,并且内插器270产生在各顶点的α值之间的光滑混合。α值被传递到色彩计算器280。
在下表中说明彩色空间转换和通道分配格式的一个实施例。
  源→目标表面   操作   源表面   目标表面
  4:2:0→4:2:0   动作补偿和算法伸拉位闪   分开处理4:2:0表面的每个通道,需要3遍   4:2:0
  4:2:0→4:2:2   算法伸拉位闪   4:2:2   分开处理4:2:0表面的每个通道,需要3遍
  4:2:2→4:2:2   算法伸拉位闪   4:2:2   4:2:2
  4:2:2→4:2:0   算法伸拉位闪   4:2:2   分开处理4:2:0表面的每个通
 道,需要3遍
  4:2:2→16bppRGB   算法伸拉位闪   4:2:2带有彩色空间转换  16bpp表面
  源→目标表面   操作   源表面   目标表面
  8bptY→16bppRGB   利用纹理合成的3D着色   亮度纹理映射调制另一映射  16bpp反向缓冲
  16bpt AI→16bppRGB   利用纹理合成的3D着色   α及强度纹理映射混合和/或调制另一映射  16bpp反向缓冲
  8bpt索引RGB→16bpp RGB   3D着色   8比特索引用于调色纹理映射  16bpp反向缓冲
  16bpt RGB→16bpp RGB   3D着色   16bpt纹理映射  16bpp反向缓冲
注:bpp-每像素位数,bpt-
对于另一个实施例,可从支持的源表面和输出方式中产生其他目标表面。
通道操作单元255执行颜色通道分配操作(Y、U和V通道)。它还执行从YUV到RGB的彩色空间转换。对于另一个实施例,通道操作单元255可以既进行通道分配、又进行彩色空间转换。对于一个实施例,对YUV通道转换要用三遍。首先,每个像素被上抽样(upsampled)4:4:4格式,对中间像素内插U和V值。然后,可能发生三遍表面格式转换。在第一遍中,写入Y值,在第二遍中写入U值,而在第三遍中写入V值。这提供了从平面到打包格式的便宜转换,并且不需要三个地址流式磁带机。这些转换可能用于电视会议和其他用途。
对于一个实施例,在色彩计算器280的数据校准寄存器中进行从4:2:0到4:2:2的通道转换。
对于一个实施例,色彩计算器280尤其是使用以下混合方程:
色彩=α*源+(1-α)*目标
色彩计算器280接收三个输入值:来自通道操作单元255的源色彩;由窗口器230取出的、来自存储器的目标色彩;以及来自内插器270的α值(它可能是固定的)。在色彩计算器280中的打包逻辑(packing logic)对数据进行校准并且把它写到目标平面。
图3是图像伸拉过程的流程图。在块310中,启动矩形基元类型。矩形基元类型使3D引擎能识别由三个点描述为矩形的对象。所述矩形是由按照与启动的淘汰顺序(culling order)一致的正确提升顺序(winding order)的三个顶点描述的轴校准的矩形。这些顶点描述了一个直角三角形,其中三角形的底边与X轴平行而三角形的垂直边与Y轴平行。基于这三个顶点而知道第四点。对于一个实施例,如果当开始伸拉位闪时已经启动矩形基元类型,这个步骤可以删去。
在块320,矩形命令被送到3D引擎,矩形命令向3D引擎指出以下信息将被伸拉位闪,而不是三维着色信息.
在块330,该过程测试3D流水线是否被刷新。对于一个实施例,因为3D流水线允许并行操作,所以,在开始视频伸拉之前它被刷新。对于一个实施例,这一步骤和步骤335可被删去。如果3D流水线未被刷新,则过程继续到块335,其中过程等待直到3D流水线被刷新。然后该过程继续到块340。如果3D流水线已被刷新,则过程直接继续到块340。
在块340,矩形数据被送到3D流水线210中的设置引擎225。矩形数据定义所操作的数据的矩形。
在块345,在窗口器中计算XY坐标。XY坐标定义图象目标表面。
在块350,在映射地址产生器(MAG)中计算UV坐标。U和V坐标定义图像源平面。
在块360,提取像素数据并将其高速缓存。对于一个实施例,这在产生像素地址后发生。对于一个实施例,像素数据以4×4数据块被高速缓存。
在块370,内插像素值。这产生在目标表面上每个像素的属性。
在块380,执行通道分配和彩色空间转换步骤。对于一个实施例,仅在被请求时才执行这些步骤。对于另一实施例,总是执行这些步骤。
在块390,色彩计算器对数据进行α混合、校准数据并把它写到目标表面。这产生目标图像。在这个过程的结尾,在目标图像中的每个像素都是已知的,并且显示出目标图像。
在前述的说明书中,已经参照其特定的示例性实施例描述了本发明。但是,显然,只要不违背如所附权利要求书中所陈述的本发明的更广的精神和范围,可以做各种修改和变化。因此,说明书和附图是为了说明而非为了限定。

Claims (30)

1.一种用于三维着色和伸拉位闪的三维流水线的装置,所述装置包括:
用于启动矩形方式的命令流控制器;
耦合到所述命令流控制器的、用于在所述矩形模式内产生由顶点定义的一个矩形的地址的窗口器;
耦合到所述窗口器、在基于以所述地址为依据的相对位置的相邻点之间内插的、用于每个像素以产生每个像素的属性的滤波器;以及
耦合到所述滤波器的、用于校准输出数据并且把所述输出数据写到目标表面的色彩计算器。
2.权利要求1的装置,其特征在于还包括:
耦合到所述命令流控制器和所述窗口器的设置引擎,所述设置引擎计算关于X和Y及原点的属性变化率,得出源和目标地址的坐标比,产生限定被传送到所述窗口器的所述矩形的有边界框。
3.权利要求1的装置,其特征在于还包括:
耦合到所述窗口器的、用以产生在像素映射中提取特定像素的实际地址的映射地址产生器。
4.权利要求3的装置,其特征在于,所述映射地址产生器要利用顶点的非归一化值。
5.权利要求3的装置,其特征在于还包括:
耦合到所述映射地址产生器的、用于提供存储器管理和高速缓存处理的读取单元。
6.权利要求5的装置,其特征在于还包括:
耦合到所述读取单元的、用于执行YUV空间中的通道转换的通道操作单元。
7.权利要求6的装置,其特征在于:执行的所述转换是从4:2:2YUV空间到4:2:0YUV空间。
8.权利要求1的装置,其特征在于:所述色彩计算器还要执行彩色空间转换。
9.权利要求8的装置,其特征在于:所述彩色空间转换是从YUV到RGB。
10.权利要求1的装置,其特征在于还包括:
耦合到所述窗口器和所述色彩计算器的、用于产生α混合的α值的内插器。
11.权利要求10的装置,其特征在于:所述色彩计算器还用于使用由所述内插器提供的所述α值对所述输出数据进行α混合。
12.权利要求1的装置,其特征在于:所述窗口器产生用于目标表面的地址。
13.权利要求12的装置,其特征在于:所述目标表面是强制通过对整个有边界框的边缘测试而产生的,该整个有边界框限定被传送到所述窗口器的所述矩形。
14.权利要求1的装置,其特征在于:所述窗口器要用深层流水线作业以持续产生地址、并且随着产生地址而要把所述地址持续地发送到存储器,由此减小存储器延迟的影响。
15.一种在三维流水线中的着色和伸拉位闪的方法,所述方法包括:
接收信号;
接收定义一个区域的两个或两个以上坐标点;
基于所述信号及所述两个或两个以上坐标点确定所述区域是三角形还是矩形;
如果所述区域是三角形则基于关于所述区域的数据而产生三维图像;和
如果所述区域是矩形,则对关于所述区域的数据执行伸拉位闪操作。
16.权利要求15的方法,其特征在于还包括:
基于所述信号设置所述三维流水线的状态,所述状态表示所述坐标点是定义视频图像还是定义用于着色的三维图像。
17.权利要求15的方法,其特征在于还包括:
如果所述区域是矩形,则在处理所述数据之前刷新所述三维流水线。
18.权利要求15的方法,其特征在于:所述信号是矩形命令。
19.权利要求15的方法,其特征在于:所述多个坐标点包括定义直角三角形的左上顶点、右下顶点和左下顶点的三个点,通过确定右上顶点来定义所述矩形。
20.一种在三维流水线中对数字视频数据进行伸拉位闪的方法,所述方法包括:
接收矩形命令;
接收定义直角三角形的左上顶点、右下顶点和左下顶点;
根据所述矩形命令及所述左上顶点、右下顶点和左下顶点标识定义矩形的有边界框;
计算图像目标表面;
计算图像源表面;
抽取和缓存像素值;
内插所述像素值以产生在所述目标表面中的像素;和
显示所述目标表面。
21.根据权利要求1的三维流水线,其中如果允许所述矩形方式,则在处理数据之前冲刷所述三维流水线。
22.根据权利要求1的三维流水线,其中所述窗口器接收包括定义直角三角形的左上顶点、右下顶点和左下顶点的三个点的多个坐标点,所述窗口器还计算所述矩形的右上顶点。
23.一种计算机系统,包括:
一个处理器;
一个耦合到所述处理器的存储器;
一个耦合到所述处理器和所述存储器的、用于三维着色和伸拉位闪的三维流水线引擎,所述三维流水线引擎包括:
用于接收信号的指令流控制器;
耦合到所述命令流控制器的、用于接收限定一个区域的两个或者更多个座标点和根据所述信号确定所述区域是三角形还是矩形的一个窗口器;以及
如果所述区域是三角形则所述三维流水线引擎根据用于所述区域的数据产生一个三维图象,而且,如果所述区域是矩形则所述三维流水线引擎对用于所述区域的数据执行伸拉位闪的操作。
24.根据权利要求23的计算机系统,其特征在于所述三维流水线引擎还包括:
耦合到所述命令流控制器和所述窗口器的设置引擎,所述设置引擎计算关于X和Y及原点的属性变化率,得出源和目标地址的坐标比,产生限定被传送到所述窗口器的所述矩形的有边界框。
25.根据权利要求23的计算机系统,其特征在于所述三维流水线引擎还包括:
耦合到所述窗口器的、用以产生在像素映射中提取特定像素的实际地址的映射地址产生器;以及
耦合到所述映射地址产生器的、用于提供存储器管理和高速缓存处理的读取单元。
26.根据权利要求23的计算机系统,其特征在于所述窗口器产生用于一个目标表面的地址。
27.根据权利要求26的计算机系统,其特征在于所述目标表面是强制通过对整个有边界框的边缘测试而产生的。
28.根据权利要求26的计算机系统,其特征在于所述窗口器接收包括定义直角三角形的左上顶点、右下顶点和左下顶点的三个点的多个坐标点,而且,所述窗口器还要计算所述矩形的右上顶点。
29.根据权利要求23的计算机系统,其特征在于所述窗口器要用深层流水线作业以持续产生地址、并且随着产生地址而要把所述地址持续地发送到存储器,由此减小存储器延迟的影响。
30.根据权利要求23的计算机系统,特征在于如果所述区域是矩形,则在处理所述数据之前刷新所述三维流水线引擎。
CN008027889A 1999-01-15 2000-01-12 使用三维流水线伸拉位闪的方法和装置 Expired - Fee Related CN1337033B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201010155642.0A CN101853487B (zh) 1999-01-15 2000-01-12 使用三维流水线伸拉位闪的方法和装置

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US09/231,260 US6445386B1 (en) 1999-01-15 1999-01-15 Method and apparatus for stretch blitting using a 3D pipeline
US09/231,260 1999-01-15
PCT/US2000/000784 WO2000042571A1 (en) 1999-01-15 2000-01-12 Method and apparatus for stretch blitting using a 3d pipeline

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN201010155642.0A Division CN101853487B (zh) 1999-01-15 2000-01-12 使用三维流水线伸拉位闪的方法和装置

Publications (2)

Publication Number Publication Date
CN1337033A CN1337033A (zh) 2002-02-20
CN1337033B true CN1337033B (zh) 2010-05-12

Family

ID=22868448

Family Applications (2)

Application Number Title Priority Date Filing Date
CN008027889A Expired - Fee Related CN1337033B (zh) 1999-01-15 2000-01-12 使用三维流水线伸拉位闪的方法和装置
CN201010155642.0A Expired - Fee Related CN101853487B (zh) 1999-01-15 2000-01-12 使用三维流水线伸拉位闪的方法和装置

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN201010155642.0A Expired - Fee Related CN101853487B (zh) 1999-01-15 2000-01-12 使用三维流水线伸拉位闪的方法和装置

Country Status (10)

Country Link
US (1) US6445386B1 (zh)
EP (1) EP1141892B1 (zh)
JP (1) JP4532746B2 (zh)
KR (1) KR20010102977A (zh)
CN (2) CN1337033B (zh)
AU (1) AU2609600A (zh)
DE (1) DE60004323T2 (zh)
HK (1) HK1036670A1 (zh)
TW (1) TW454154B (zh)
WO (1) WO2000042571A1 (zh)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6674479B2 (en) * 2000-01-07 2004-01-06 Intel Corporation Method and apparatus for implementing 4:2:0 to 4:2:2 and 4:2:2 to 4:2:0 color space conversion
US6697074B2 (en) * 2000-11-28 2004-02-24 Nintendo Co., Ltd. Graphics system interface
US6747623B2 (en) * 2001-02-09 2004-06-08 Semiconductor Energy Laboratory Co., Ltd. Liquid crystal display device and method of driving the same
US7092035B1 (en) * 2001-07-09 2006-08-15 Lsi Logic Corporation Block move engine with scaling and/or filtering for video or graphics
JP4313527B2 (ja) * 2001-11-21 2009-08-12 富士通マイクロエレクトロニクス株式会社 画像描画装置
KR100528343B1 (ko) * 2003-07-14 2005-11-15 삼성전자주식회사 3차원 객체의 영상 기반 표현 및 편집 방법 및 장치
KR100703709B1 (ko) * 2005-06-02 2007-04-06 삼성전자주식회사 그래픽스 처리장치와 처리방법, 및 그 기록 매체
CN101556689B (zh) * 2008-04-09 2013-01-09 宝利微电子系统控股公司 图像缩放方法及装置
US8130229B2 (en) * 2009-11-17 2012-03-06 Analog Devices, Inc. Methods and apparatus for image processing at pixel rate
US20120096380A1 (en) * 2010-10-13 2012-04-19 Wagner David L Color Selection Graphical User Interface
CN107633477B (zh) * 2017-10-20 2021-04-20 上海兆芯集成电路有限公司 图像处理方法及其装置
CN111813480A (zh) * 2020-07-09 2020-10-23 长沙景嘉微电子股份有限公司 Gpgpu中的2d桌面拉伸方法、装置及图形处理器

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
IL72685A (en) 1983-08-30 1988-08-31 Gen Electric Advanced video object generator
GB2227148B (en) * 1989-01-13 1993-09-08 Sun Microsystems Inc Apparatus and method for using a test window in a graphics subsystem which incorporates hardware to perform clipping of images
US5420972A (en) * 1990-11-15 1995-05-30 International Business Machines Corporation Method and apparatus for rendering lines
US5363119A (en) 1991-05-01 1994-11-08 Atari Games Corporation Scaling processor for raster images
JPH06509893A (ja) * 1991-08-13 1994-11-02 ボード オブ リージェンツ オブ ザ ユニバーシティ オブ ワシントン 画像処理及びグラフィック処理システム
JP3093444B2 (ja) * 1992-06-10 2000-10-03 富士通株式会社 グラフィック表示装置
US5384904A (en) 1992-12-08 1995-01-24 Intel Corporation Image scaling using real scale factors
JPH0729034A (ja) * 1993-07-09 1995-01-31 Fujitsu Ltd 影付け処理装置および画像生成装置
JPH0822555A (ja) * 1994-07-08 1996-01-23 Hitachi Ltd 図形描画方法及びその装置
TW304254B (zh) * 1994-07-08 1997-05-01 Hitachi Ltd
US5892518A (en) 1995-07-28 1999-04-06 Matsushita Electric Industrial Co., Ltd. Image generating apparatus with pixel calculation circuit including texture mapping and motion compensation
US6111584A (en) * 1995-12-18 2000-08-29 3Dlabs Inc. Ltd. Rendering system with mini-patch retrieval from local texture storage
JP3645024B2 (ja) * 1996-02-06 2005-05-11 株式会社ソニー・コンピュータエンタテインメント 描画装置及び描画方法
US5764814A (en) 1996-03-22 1998-06-09 Microsoft Corporation Representation and encoding of general arbitrary shapes
US5870105A (en) 1996-05-31 1999-02-09 Hewlett-Packard Company System and method for local storage of image data during object to image mapping
US5990911A (en) * 1996-06-21 1999-11-23 Autodesk, Inc. Immediate mode drawing interface for the construction of graphics software
TW348239B (en) * 1996-06-28 1998-12-21 Cirrus Logic Inc Embedding a transparency enable bit as part of a resizing bit block transfer operation
US6146277A (en) * 1996-08-21 2000-11-14 Konami Co., Ltd. Command input method and recording medium
US5748789A (en) 1996-10-31 1998-05-05 Microsoft Corporation Transparent block skipping in object-based video coding systems
US5974184A (en) 1997-03-07 1999-10-26 General Instrument Corporation Intra-macroblock DC and AC coefficient prediction for interlaced digital video
US5991447A (en) 1997-03-07 1999-11-23 General Instrument Corporation Prediction and coding of bi-directionally predicted video object planes for interlaced digital video
US6009190A (en) 1997-08-01 1999-12-28 Microsoft Corporation Texture map construction method and apparatus for displaying panoramic image mosaics
US6067090A (en) * 1998-02-04 2000-05-23 Intel Corporation Data skew management of multiple 3-D graphic operand requests
US6078339A (en) * 1998-02-10 2000-06-20 Intel Corporation Mutual exclusion of drawing engine execution on a graphics device
US6025855A (en) * 1998-02-10 2000-02-15 Intel Corporation Store double word and status word write graphics primitives
US6072505A (en) 1998-04-01 2000-06-06 Real 3D, Inc. Method and apparatus to efficiently interpolate polygon attributes in two dimensions at a prescribed clock rate
AU5688199A (en) * 1998-08-20 2000-03-14 Raycer, Inc. System, apparatus and method for spatially sorting image data in a three-dimensional graphics pipeline

Also Published As

Publication number Publication date
EP1141892B1 (en) 2003-08-06
TW454154B (en) 2001-09-11
JP2002535759A (ja) 2002-10-22
HK1036670A1 (en) 2002-01-11
CN1337033A (zh) 2002-02-20
CN101853487B (zh) 2016-12-21
US6445386B1 (en) 2002-09-03
WO2000042571A1 (en) 2000-07-20
AU2609600A (en) 2000-08-01
EP1141892A1 (en) 2001-10-10
JP4532746B2 (ja) 2010-08-25
CN101853487A (zh) 2010-10-06
KR20010102977A (ko) 2001-11-17
US20020085016A1 (en) 2002-07-04
DE60004323D1 (de) 2003-09-11
DE60004323T2 (de) 2004-02-12

Similar Documents

Publication Publication Date Title
US6654020B2 (en) Method of rendering motion blur image and apparatus therefor
CN1337033B (zh) 使用三维流水线伸拉位闪的方法和装置
TW200818054A (en) Tile based precision rasterization in graphics pipeline
CN105611256B (zh) 一种基于梯度的Bayer格式插值方法及基于FPGA的显示装置
US6731300B2 (en) Efficient anti-aliased dot rasterization
US7808512B1 (en) Bounding region accumulation for graphics rendering
KR100368198B1 (ko) 마이크로컴퓨터
JPH06348860A (ja) 画像合成装置およびこれを用いたゲーム装置
US6859209B2 (en) Graphics data accumulation for improved multi-layer texture performance
CN1430769B (zh) 拼块式图形结构
US20040008204A1 (en) Switching sample buffer context in response to sample requests for real-time sample filtering and video generation
US20020024522A1 (en) Mapping time-sorted to direction-sorted triangle vertices
JP4505866B2 (ja) 画像処理装置および映像信号処理方法
US20020051016A1 (en) Graphics drawing device of processing drawing data including rotation target object and non-rotation target object
EP0062669A1 (en) GRAPHICS AND TEXT IMAGE GENERATOR FOR A GRID SCAN DISPLAY.
US6885375B2 (en) Stalling pipelines in large designs
US20030174130A1 (en) Method for rasterizing graphics for optimal tiling performance
US6515661B1 (en) Anti-aliasing buffer
JPH09319892A (ja) 画像処理装置及びその処理方法
US20040008203A1 (en) Sample request mechanism for supplying a filtering engine
JP4419480B2 (ja) 画像処理装置およびその方法
JPH1063254A (ja) 3dグラフィクスアクセラレータカードおよび同カードを使用したコンピュータシステム
Ramanathan et al. Design of graphics processing framework on FPGA
JP2002352263A (ja) 3d表示方法及び3d表示装置
JPH01140384A (ja) 三次元図形塗り潰し表示装置

Legal Events

Date Code Title Description
C06 Publication
C10 Entry into substantive examination
PB01 Publication
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20100512

Termination date: 20190112