CN1491402A - 图像处理装置及其方法 - Google Patents

图像处理装置及其方法 Download PDF

Info

Publication number
CN1491402A
CN1491402A CNA02804889XA CN02804889A CN1491402A CN 1491402 A CN1491402 A CN 1491402A CN A02804889X A CNA02804889X A CN A02804889XA CN 02804889 A CN02804889 A CN 02804889A CN 1491402 A CN1491402 A CN 1491402A
Authority
CN
China
Prior art keywords
processing
data
filtering
module
circuit
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.)
Granted
Application number
CNA02804889XA
Other languages
English (en)
Other versions
CN1282128C (zh
Inventor
佐藤仁
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.)
Sony Corp
Original Assignee
Sony 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 Sony Corp filed Critical Sony Corp
Publication of CN1491402A publication Critical patent/CN1491402A/zh
Application granted granted Critical
Publication of CN1282128C publication Critical patent/CN1282128C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/00Three-dimensional [3D] image rendering
    • G06T15/04Texture mapping
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/00Three-dimensional [3D] image rendering
    • G06T15/005General purpose rendering architectures
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three-dimensional [3D] modelling for computer graphics

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Graphics (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Mathematics (AREA)
  • Algebra (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Geometry (AREA)
  • Pure & Applied Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Image Processing (AREA)
  • Image Generation (AREA)
  • Multi Processors (AREA)
  • Complex Calculations (AREA)

Abstract

一种能够实现减小纵横电路的大小并且实现更高处理速度的图像处理装置和方法,其执行DDA处理(ST11),然后从存储器读出结构数据(ST12),进行子字再分配处理(ST13),然后进行结构滤波(ST14),然后由纵横电路13将数据全局分发给每个处理模块的第一操作处理元件(ST15),然后按像素电平进行处理,具体来说,利用滤波之后的结构数据和光栅化之后的各类数据,按像素单元进行操作,并且将在按像素电平处理过程中通过各类测试的像素数据描绘到存储器模块的帧缓冲器中(ST16)。

Description

图像处理装置及其方法
技术领域
本发明涉及一种图像处理装置及其方法,其中多个处理器件共享处理数据,以进行并行处理。
背景技术
近年来,用于通过硬件进行高速3D计算机制图的图形大规模集成电路(LSI)已经相当普及。特别地,在游戏系统和个人计算机(PC)中,经常将这种图形LSI安装为标准设备。
此外,在图形LSI中正在进行的技术进步已经很快。如在“Direct x指令X”中使用的在“顶点影像存储器(Vertex Shader)”和“像素影像存储器(Pixel Shader)”方面的功能扩展正在不断进行,并且已经以比CPU更快的速度改进性能。
为了改进图形LSI的性能,不仅提高LSI的运行频率是有效的,而且利用并行处理技术也是有效的。可以对并行处理技术大致进行如下分类:
第一是利用区域划分的并行处理方法,第二是按照图元(primitive)电平的并行处理方法,第三是按像素电平的并行处理方法。
上述的分类是按照并行处理的粒度进行的。区域划分并行处理的粒度是最粗糙的,而像素电平并行处理的粒度是最精细的。以下将对这些技术进行概述。
利用区域划分的并行处理
这是一种将屏幕分为多个矩形区域并且在将区域指定给多个处理单元负责的同时进行并行处理的技术。
按照图元电平的并行处理
这是一种将不同的图元(例如三角形)分给多个处理单元并且使它们并行运行的技术。
在图1中概念性地示出了按照图元电平的并行处理的视图。
在图1中,PM0到PMn-1表示不同的图元,PU0到PUn-1表示处理单元,MM0到MMn-1表示存储器模块。
当将具有相对相同大小的图元PM0到PMn-1提供给处理单元PU0到PUn-1时,处理单元PU0到PUn-1上的负载是平衡的并且能够进行有效的并行处理。
按像素电平的并行处理
这是一种粒度最精细的并行处理技术。
图2在概念上示出了基于在像素电平上的并行处理技术的、在图元电平上的并行处理的视图。
如图2所示,在按像素电平的并行处理技术中,当对三角形进行光栅化时,以在称为由按照2×8矩阵中排列的像素组成的“像素标记(pixelstamp)PS”的矩形区域的单元中产生像素。
在图2的例子中,生成了从像素标记PS0到像素标记PS7的总共八个像素标记。对包括在这些像素标记PS0到PS7中的最多16个像素同时进行处理。
按照粒度的精细程度,在并行处理方面,这种技术比其它技术更有效。
但是,在以上说明的利用区域划分进行并行处理的情况下,为了使处理单元有效地并行运行,需要预先对要在区域中绘出的对象进行分类,因此,对景物数据进行分析的负担很重。
此外,当在一帧的景物数据的性能全部出现之后没有开始描绘,但是当给出对象数据时按照所谓开始描绘的立即模式马上描绘时,不能实现并行特性。
此外,在按照图元电平进行并行处理的情况下,按照实际情况,在组成对象的图元PM0到PMn-1的大小方面出现变化,因此,对处理单元PU0到PUn-1中的一个图元进行处理的时间出现差异。当这种差异变大时,处理单元描绘的区域也很不相同,并且数据的位置被丢失,因此,举例来说,组成存储器模块的DRAM频繁地产生页误差,并且性能下降。
此外,在使用这种技术的场合,还有互连成本高的问题。一般来说,在用于图形处理的硬件中,为了拓宽存储器的带宽,将多个存储器模块用于存储器交叉存取。
此时,如图1所示,需要将所有处理单元PU0到PUn-1与内置存储器模块MM0到MMn连接。
另一方面,在按照像素电平进行并行处理的情况下,如上所述,具有并行处理的有效性按照粒度的精细程度变得更好的优点。由于处理包括实际滤波,因此,按照图3所示的程序进行处理。
即,对DDA(数字微分分析器)参数,例如,对进行光栅化所需要的各种类型的数据偏差(Z、结构坐标、颜色等)以及其它DDA参数进行计算(ST1)。
接着,从存储器中读出结构数据(ST2),对子字进行再分配(ST3),然后,由纵横电路将数据全局分发给处理单元(ST4)。
接着,进行结构滤波(ST5)。在这种情况下,利用读出的结构数据以及当对(u,v)地址进行计算时获得的十进制小数,处理单元PU0到PU3进行四相邻内插或者其它滤波。
接着,进行按照像素电平(逐像素操作)的处理,具体来说,将滤波之后的结构数据和光栅化之后的各类数据用于在像素单元上的操作(ST5)。
此外,在存储器模块MM0到MM3上的帧缓冲器和Z缓冲器中,描绘在按照像素电平进行处理的过程中通过各种类型的测试的像素数据。
顺便提起,结构读出系统的存储器访问与图形生成系统的存储器访问不同,因此需要从属于另一个模块的存储器中读取数据。
因此,对于结构读出系统的存储器访问,需要互连,如上述的纵横电路。
但是,如上所述,相关的图像处理装置将数据全局分发给处理单元,然后进行结构滤波,因此具有全局分发的数据量较大(例如,4Tbps)、用作全局总线的纵横电路在大小方面变得较大以及从互连延迟的观点来看阻碍了处理速度提高等缺点。
发明内容
本发明的一个目的是提供一种能够实现减小纵横电路的大小并且能够实现提高处理速度的图像处理装置及其方法。
为了实现上述目的,本发明的第一方面是一种其中由多个处理模块共享处理数据以进行并行处理的图像处理装置,其中:多个处理模块中的每一个都包括:存储器模块,用于至少储存与滤波相关的数据;处理电路,用于根据处理数据,得到用于滤波的数据,并且通过相应的存储器交叉存取,进行预定的指定处理;第一操作处理元件,用于根据指定的处理数据和在所述处理电路获得的滤波之后的数据,按照像素单元进行操作处理;以及第二操作处理元件,用于根据由所述处理电路获得的用于滤波的数据以及存储在所述存储器模块中的与滤波有关的数据进行滤波,并且接收来自第一操作处理元件的操作处理数据,然后将经过操作处理的数据描绘到存储器模块,所述第二操作处理元件还包括纵横电路,作为用于将所述处理模块的多个第一操作处理元件与多个第二操作处理元件连接的全局总线,将由每个处理模块中的所述处理电路获得的用于滤波的数据提供给在相同处理模块中的第二操作处理元件,将来自每个处理模块中的第二操作处理元件的滤波之后的数据提供给与该处理对应的处理模块中的第一操作处理元件,并且将来自第一操作处理元件的操作处理数据提供给第二操作处理元件。
按照第一方面,每个处理模块的处理电路包括用于调节时间的装置,使得指定数据的处理时间变得与将滤波之后的数据提供给第一操作处理元件的时间相等。
本发明的第二个方面是一种其中由多个处理模块共享处理数据以进行并行处理的图像处理方法,该方法包括:得到用于滤波的数据,并且根据处理数据,通过相应的存储器交叉存取,进行预定的指定处理;根据获得的用于滤波的数据和存储在存储器模块中的与滤波有关的数据,进行滤波;通过全局总线,将在每个处理模块中滤波之后的数据提供给预定的处理模块;并且根据获得的指定处理数据和滤波之后的数据,在像素单元中进行操作处理,并且将经过操作处理的数据描绘到所述存储器模块,在处理模块中接收滤波之后的数据。
最好,该方法还包括调节每个处理模块时间的步骤,使得指定数据的处理时间变得与提供滤波之后的数据的时间相等。
此外,在本发明中,需要滤波的处理是与结构有关的处理。
此外,上述的并行处理为按像素电平的并行处理。
按照本发明,例如,设置电路对顶点数据进行操作,设置图元,并且将指定结构的设置信息的性能输出到处理模块。
根据来自设置电路的信息,每个处理模块的处理电路计算例如DDA参数,尤其是各类数据(Z、结构坐标、颜色等)的偏差等,以及进行光栅化所需要的其它DDA参数。
此外,每个处理电路根据参数数据,判断三角形是否是其指定的区域,并且,当是它的指定区域时,进行光栅化。
此外,每个处理电路通过计算LOD计算MipMap电平,并且计算用于结构访问的(u,v)地址计算。
然后,每个处理电路将获得的结构坐标和用于结构访问的地址信息等输出到第二操作处理元件。
另一方面,每个处理电路将获得的除了结构以外的颜色和其它信息提供给第一操作处理元件。
此外,每个处理模块的第二操作处理元件接收从处理电路提供的与结构有关的坐标数据和地址数据,从存储器模块中读出结构数据,并且利用读出的结构数据和在计算(u,v)地址时获得的十进制小数,进行四相邻内插或其它结构滤波。
通过纵横电路,将来自第二操作处理元件的滤波之后的结构数据提供给例如具有与标志对应的帧缓冲器的处理模块中的第一操作处理元件。
根据从处理电路提供的除了结构信息以外的数据和通过纵横电路接收到的由处理模块的第二操作处理元件进行结构滤波之后的数据,该处理模块的第一操作处理元件进行按像素电平的处理并且将结果输出到第二操作处理元件。
然后,第二操作处理元件接收从第一操作处理元件提供的按照像素电平进行处理的结果并且将在按像素电平进行处理的过程中通过了各种类型的测试的像素数据描绘到存储器模块中。
在模块中并行执行上述处理。
附图说明
图1是概念性地示出了按照图元电平的并行处理的视图。
图2是概念性地示出了基于在像素电平上并行处理的技术的、按照图元电平的并行处理的视图。
图3是说明了包括相关图像处理装置的结构滤波的处理程序的视图。
图4是按照本发明的图像处理装置的实施例的配置的方框图。
图5是按照本实施例的图像处理装置的基本结构和处理流程的视图。
图6是按照本实施例的DDA电路的关键部分的结构的例子的视图。
图7是按照本实施例的纵横电路的结构的具体例子的视图。
图8是概念性地说明了按照本实施例的图像处理装置的处理的视图。
图9是按照本实施例的图像处理装置的概念上的处理流程的视图。
具体实施方式
图4为按照本发明的图像处理装置的一个实施例的配置的方框图。
如图4所示,按照本实施例的图像处理装置10具有设置电路11、处理模块12-0到12-3以及纵横电路13。
在本图像处理装置10中,将多个,在本实施例中为四,处理模块12-0到12-3并联连接到设置电路11。多个处理模块12-0到12-3共享处理数据以进行并行处理。
然而,对于结构读出系统,需要对其它处理模块进行存储器访问,但是将用作全局访问总线的纵横电路13用于这样的访问。
以下,参照附图对部件的结构和功能顺序进行描述。
设置电路11对CPU与外部存储器的数据传输以及处理模块12-0到12-3的数据传输进行控制,对顶点数据执行操作,设置一个图元,并且将设置信息的指定结构性能输出到处理模块12-0到12-3。
具体来说,当输入数据时,设置电路11执行逐顶点操作。
在这个处理过程中,当输入三维坐标的顶点数据、法向矢量以及结构坐标时,对顶点数据执行操作。作为有代表性的操作,有用于坐标变换的操作处理,如屏幕上的对象、投影等的变形、用于照明的操作处理和用于剪辑的操作处理。
处理模块12-0具有作为处理电路的DDA(数字微分分析器)电路121-0、第一操作处理元件(操作处理元件1)122-0、第二操作处理元件(操作处理元件2)123-0以及由例如DRAM形成的存储器模块(MEM)124-0。
相似地,处理模块12-1具有作为处理电路的DDA电路121-1、第一操作处理元件(操作处理元件1)122-1、第二操作处理元件(操作处理元件2)123-1以及由例如DRAM形成的存储器模块(MEM)124-1。
处理模块12-2具有作为处理电路的DDA电路121-2、第一操作处理元件(操作处理元件1)122-2、第二操作处理元件(操作处理元件2)123-2以及由例如DRAM形成的存储器模块(MEM)124-2。
处理模块12-3具有作为处理电路的DDA电路121-3、第一操作处理元件(操作处理元件1)122-3、第二操作处理元件(操作处理元件2)123-3以及由例如DRAM构成的存储器模块(MEM)124-3。
此外,如以后所详细描述的,通过纵横电路13,将在处理模块12-0到12-3中的第一操作处理元件122-0到122-3与第二操作处理元件123-0到123-3相互连接。
图5为按照本实施例的图像处理装置的基本结构和处理流程。在图5中注意,具有圆圈的箭头表示与结构有关的数据流,而没有圆圈的箭头表示与像素有关的数据流。
在本实施例中,在处理模块12-0到12-3中,将存储器模块124-0到124-3交织为预定大小,例如4×4的矩形区域单元。
具体来说,如图5所示,将所谓帧缓冲器交织到所有存储器模块,并且将结构存储器分散在存储器模块124-0到124-3中。
根据来自设置电路11的信息,在处理模块12-0中的DDA电路121-0计算DDA参数。
在这个处理过程中,对进行光栅化所需要的各类数据(Z、结构坐标、颜色等)的偏差以及其它DDA参数进行计算。
此外,根据参数数据,DDA电路121-0判断例如三角形是否在该电路进行处理的指定区域中,并且当在该区域中时,进行光栅化。
具体来说,它判断该三角形是否属于指定给它的区域,例如由4×4像素矩形区域单元交织的区域,当属于它时,对各类数据(Z、结构坐标、颜色等)进行光栅化。在这种情况下,每个本地模块每个周期所生成的单元为2×2像素。
接着,DDA电路121-0对结构坐标的全景进行校正。这个处理阶段包括通过计算LOD(level of detail,细节电平)来计算MipMap电平以及计算用于结构访问的(u,v)地址。
例如,如图6所示,DDA电路121-0利用结构系统DDA部分1211、用于结构访问的地址信息等进行关于结构坐标的结构处理,并且通过第一操作处理元件122-0和纵横电路13,将与结构有关的信息输出到第二操作处理元件123-0。
另一方面,DDA电路121-0利用另一个DDA部分1212进行除了结构以外的颜色以及其它处理,并且将结果输出到第一操作处理元件122-0。
在本实施例中,仅在其它DDA部分1212的数据输入侧给每个DDA电路121(-0到3)配备FIFO(先进先出),并且每个DDA电路121(-0到3)根据对结构系统进行滤波的时间来调节时间。
此外,尽管其它DDA部分1212仅生成通过存储器交织所指定的部分,但是,结构系统DDA部分1211为所有像素生成指定给该结构的结构数据。
根据从DDA电路121-0提供的除了结构信息以外的数据以及通过纵横电路13接收到的由处理模块12-0到12-3的第二操作处理元件123-0到123-3进行结构滤波之后的数据,第一操作处理元件122-0执行按照像素电平的处理(逐像素操作)并且通过纵横电路13将结果输出到第二操作处理元件123-0。
在按照像素电平进行处理的过程中,将滤波之后的结构数据和光栅化之后的各类数据用于与像素单元有关的操作。这里执行的处理与像素电平照明(逐像素照明)或者其它所谓的像素影像存储器处理相对应。
第二操作处理元件123-0接收从DDA电路121-0提供的与结构有关的坐标数据和地址数据,从存储器模块124-0读出结构数据,进行结构滤波,并且通过纵横电路13将滤波之后的结构数据输出到具有与标志对应的帧缓冲器的处理模块中的第一操作处理元件122-0到122-3中的任意一个。
在这种情况下,利用读出的结构数据以及在对(u,v)地址进行计算时获得的十进制小数,第二操作处理元件123-0进行四相邻内插或者其它滤波。
此外,第二操作处理元件123-0接收从第一操作处理元件122-0提供的像素电平的处理结果并且将在按照像素电平进行处理的过程中通过各种测试的像素数据描绘到存储器模块124-0。
在处理模块12-1中的DDA电路121-1根据来自设置电路11的信息计算DDA参数,尤其是进行光栅化所需要的各类数据(Z、结构坐标、颜色等)的偏差以及其它DDA参数。
此外,根据参数数据,DDA电路121-1判断例如三角形是否是它的指定区域,并且当是指定区域时,进行光栅化。
具体来说,它判断该三角形是否是它的指定区域,例如,它是否属于在4×4像素矩形区域单元中交织的区域,当属于时,对各类数据(Z、结构坐标、颜色等)进行光栅化。在这种情况下,每个本地模块每个周期所生成的单元为2×2像素。
接着,DDA电路121-1对结构坐标的透视图进行校正。这个处理过程包括通过计算LOD(细节电平)来计算MipMap电平以及计算用于结构访问的(u,v)地址。
例如,如图6所示,DDA电路121-1利用结构系统DDA部分1211、用于结构访问的地址信息等进行关于结构坐标的结构处理,并且通过第一操作处理元件122-1和纵横电路13,将与结构有关的信息输出到第二操作处理元件123-1。
另一方面,DDA电路121-1利用另一个DDA部分1212进行除了结构以外的颜色以及其它处理,并且将结果输出到第一操作处理元件122-1。
根据从DDA电路121-1提供的除了结构信息以外的数据以及通过纵横电路13接收到的由处理模块12-0到12-3的第二操作处理元件123-0到123-3进行结构滤波之后的数据,第一操作处理元件122-1执行按像素电平的处理(逐像素操作)并且通过纵横电路13将结果输出到第二操作处理元件123-1。
在按像素电平进行处理的过程中,将滤波之后的结构数据和光栅化之后的各类数据用于与像素单元有关的操作。这里执行的处理与像素电平照明或者其它所谓的像素影像存储器处理相对应。
第二操作处理元件123-1接收从DDA电路121-1提供的与结构有关的坐标数据和地址数据,从存储器模块124-1读出结构数据,进行结构滤波,并且通过纵横电路13将滤波之后的结构数据输出到具有与标志对应的帧缓冲器的处理模块中的第一操作处理元件122-0到122-3中的任意一个。
在这种情况下,利用读出的结构数据以及在对(u,v)地址进行计算时获得的十进制小数,第二操作处理元件123-1进行四相邻内插或者其它滤波。
此外,第二操作处理元件123-1接收从第一操作处理元件122-1提供的像素电平的处理结果并且将在按照像素电平进行处理的过程中通过各种测试的像素数据描绘到存储器模块124-1中。
在处理模块12-2中的DDA电路121-2根据来自设置电路11的信息计算DDA参数,尤其是进行光栅化所需要的各类数据(Z、结构坐标、颜色等)的偏差或者其它DDA参数。
此外,根据参数数据,DDA电路121-2判断例如三角形是否是它的指定区域,并且当是指定区域时,进行光栅化。
具体来说,它判断该三角形是否是它的指定区域,例如,它是否属于在4×4像素矩形区域单元中进行交织的区域,当属于时,对各类数据(Z、结构坐标、颜色等)进行光栅化。在这种情况下,每个本地模块每个周期所生成的单元为2×2像素。
接着,DDA电路121-2对结构坐标的透视图进行校正。这个处理过程包括通过计算LOD(细节电平)来计算MipMap电平以及计算用于结构访问的(u,v)地址。
例如,如图6所示,DDA电路121-2利用结构系统DDA部分1211、用于结构访问的地址信息等进行关于结构坐标的结构处理,并且通过第一操作处理元件122-2和纵横电路13,将与结构有关的信息输出到第二操作处理元件123-2。
另一方面,DDA电路121-2利用另一个DDA部分1212进行除了结构以外的颜色以及其它处理,并且将结果输出到第一操作处理元件122-2。
根据从DDA电路121-2提供的除了结构信息以外的数据以及通过纵横电路13接收到的由处理模块12-0到12-3的第二操作处理元件123-0到123-3进行结构滤波之后的数据,第一操作处理元件122-2执行按像素电平的处理(逐像素操作)并且通过纵横电路13将结果输出到第二操作处理元件123-2。
在按像素电平进行处理的过程中,将滤波之后的结构数据和光栅化之后的各类数据用于与像素单元有关的操作。这里执行的处理与像素电平照明或者其它所谓的像素影像存储器处理相对应。
第二操作处理元件123-2接收从DDA电路121-2提供的与结构有关的坐标数据和地址数据,从存储器模块124-2读出结构数据,进行结构滤波,并且通过纵横电路13将滤波之后的结构数据输出到具有与标志对应的帧缓冲器的处理模块中的第一操作处理元件122-0到122-3中的任意一个。
在这种情况下,利用读出的结构数据以及在对(u,v)地址进行计算时获得的十进制小数,第二操作处理元件123-2进行四相邻内插或者其它滤波。
此外,第二操作处理元件123-2接收从第一操作处理元件122-2提供的像素电平的处理结果并且将在按照像素电平进行处理的过程中通过各种测试的像素数据描绘到存储器模块124-2。
在处理模块12-3中的DDA电路121-3根据来自设置电路11的信息计算DDA参数,尤其是进行光栅化所需要的各类数据(Z、结构坐标、颜色等)的偏差或者其它DDA参数。
此外,根据参数数据,DDA电路121-3判断例如三角形是否是它的指定区域,并且当是指定区域时,进行光栅化。
具体来说,它判断该三角形是否是它的指定区域,例如,它是否属于在4×4像素矩形区域单元中进行交织的区域,当属于时,对各类数据(Z、结构坐标、颜色等)进行光栅化。在这种情况下,每个本地模块每个周期所生成的单元为2×2像素。
接着,DDA电路121-3对结构坐标的透视图进行校正。这个处理过程包括通过计算LOD(细节电平)来计算MipMap电平以及计算用于结构访问的(u,v)地址。
例如,如图6所示,DDA电路121-3利用结构系统DDA部分1211、用于结构访问的地址信息等进行关于结构坐标的结构处理,并且通过第一操作处理元件122-3和纵横电路13,将与结构有关的信息输出到第二操作处理元件123-3。
另一方面,DDA电路121-3利用另一个DDA部分1212进行除了结构以外的颜色以及其它处理,并且将结果输出到第一操作处理元件122-3。
根据从DDA电路121-3提供的除了结构信息以外的数据以及通过纵横电路13接收到的由处理模块12-0到12-3的第二操作处理元件123-0到123-3进行结构滤波之后的数据,第一操作处理元件122-3执行按像素电平的处理(逐像素操作)并且通过纵横电路13将结果输出到第二操作处理元件123-3。
在按像素电平进行处理的过程中,将滤波之后的结构数据和光栅化之后的各类数据用于与像素单元有关的操作。这里执行的处理与像素电平照明或者其它所谓的像素影像存储器处理相对应。
第二操作处理元件123-3接收从DDA电路121-3提供的与结构有关的坐标数据和地址数据,从存储器模块124-3读出结构数据,进行结构滤波,并且通过纵横电路13将滤波之后的结构数据输出到具有与标志对应的帧缓冲器的处理模块中的第一操作处理元件122-0到122-3中的任意一个。
在这种情况下,利用读出的结构数据以及在对(u,v)地址进行计算时获得的十进制小数,第二操作处理元件123-3进行四相邻内插或者其它滤波。
此外,第二操作处理元件123-3接收从第一操作处理元件122-3提供的像素电平的处理结果并且将在按照像素电平进行处理的过程中通过各种测试的像素数据描绘到存储器模块124-3。
图7为按照本实施例的纵横电路中的全局总线系统的结构的具体例子的视图。
如图7所示,纵横电路13具有第一到第四的四组互连组GRP0到GRP3,四条结构线构成一组。
第一互连组GRP0具有四个互连tex00到tex03,第二互连组GRP1具有四个互连tex10到tex13,第三互连组GRP2具有四个互连tex20到tex23,并且第四互连组GRP3具有四个互连tex30到tex33。
此外,将在处理模块12-0中的第二操作处理元件123-0的端子连接到第一互连组GRP0中的互连tex00、第二互连组GRP1中的互连tex10、第三互连组GRP2中的互连tex20以及在第四互连组GRP3中的互连tex30。
以同样的方式,将在处理模块12-1中的第二操作处理元件123-1的端子连接到第一互连组GRP0中的互连tex01、第二互连组GRP1中的互连tex11、第三互连组GRP2中的互连tex21以及第四互连组GRP3中的互连tex31。
将在处理模块12-2中的第二操作处理元件123-2的端子连接到第一互连组GRP0中的互连tex02、第二互连组GRP1中的互连tex12、第三互连组GRP2中的互连tex22以及第四互连组GRP3中的互连tex32。
将在处理模块12-3中的第二操作处理元件123-3的端子连接到第一互连组GRP0中的互连tex03、第二互连组GRP1中的互连tex13、第三互连组GRP2中的互连tex23以及第四互连组GRP3中的互连tex33。
将第一互连组GRP0中的四个互连tex00-tex03连接到处理模块12-0中的第一操作处理元件122-0的端子。
以同样的方式,将第二互连组GRP1中的四个互连tex10-tex13连接到处理模块12-1中的第一操作处理元件122-1的端子。
将第三互连组GRP2中的四个互连tex20-tex23连接到处理模块12-2中的第一操作处理元件122-2的端子。
将第四互连组GRP3中的四个互连tex30-tex33连接到处理模块12-3中的第一操作处理元件122-3的端子。
在具有这种结构的图像处理装置10中进行如图8所概念性地示出的处理。
即,在模块中,将来自设置电路11的数据分配给结构DDA部分1211和其它结构DDA部分1212。根据来自结构DDA部分1211的结构信息和在存储器124中的结构数据(由(1)表示的数据流),由第二操作处理元件123进行结构滤波。
由纵横电路13将滤波之后的结构数据分配给在请求的模块中的第一操作处理元件122(由(2)表示的数据流)。
然后,在第一操作处理元件122中进行按像素电平的处理,并且通过纵横电路13将结果发送到第二操作处理元件123,由此将该数据描绘到存储器模块124(由(3)表示的数据流)。
下面,将参照图5对由以上图4的结构所进行的操作进行描述。
首先,设置电路11对顶点数据进行操作,设置图元,并且将设置信息的指定的结构性能输出到处理模块12-0到12-3。
根据来自设置电路11的信息,在处理模块12-0到12-3中的DDA电路121-0到121-3计算DDA参数,尤其是进行光栅化所需要的各类数据(Z、结构坐标、颜色等)的偏差或者其它DDA参数。
根据参数数据,DDA电路121-0到121-3判断例如三角形是否是它的指定区域,并且当是它的指定区域时,进行光栅化。
此外,DDA电路121-0到121-3通过计算LOD来计算mipmap电平并且计算用于结构访问的(u,v)地址。
然后,通过第一操作处理元件122-0到122-3和纵横电路13,DDA电路121-0到121-3将由结构系统DDA部分1211获得的结构坐标以及用于结构访问的地址信息等输出到第二操作处理元件123-0到123-3。
另一方面,DDA电路121-0到121-3将颜色以及由其它DDA部分1212获得的除了结构以外的其它信息提供给第一操作处理元件122-0到122-3。
在处理模块12-0到12-3中的第二操作处理元件123-0到123-3接收从DDA电路121-0到121-3提供的有关结构的坐标数据和地址数据,从存储器模块124-0到124-3中读出结构数据,然后利用读取的结构数据和通过计算(u,v)地址获得的十进制小数进行四相邻内插或其它结构滤波。
通过纵横电路13,将来自第二操作处理元件123-0到123-3的滤波之后的结构数据提供给例如在具有与标志对应的帧缓冲器的处理模块12-1中的第一操作处理元件122-1。
根据从DDA电路121-1提供的除了结构信息以外的数据和通过纵横电路13接收到的由处理模块12-0到12-3的第二操作处理元件123-0到123-3进行结构滤波之后的数据,在处理模块12-1中的第一操作处理元件122-1执行按照像素电平的处理并且将结果输出到第二操作处理元件123-1。
然后,第二操作处理元件123-1接收由第一操作处理元件122-1提供的、按照像素电平进行处理的结果,并且将在按照像素电平进行处理的过程中通过了各种测试的像素数据描绘到存储器模块124-1。
在该模块上并行执行上述处理。
如上所述,如图9所示,本实施例执行DDA处理(ST11),然后从存储器读出结构数据(ST12),执行子字再分配处理(ST13),然后进行结构滤波(ST14),然后由纵横电路13将数据全局分发给每个处理模块的第一操作处理元件(ST15),然后进行按像素电平上的处理,具体来说,利用滤波之后的结构数据和光栅化之后的各类数据,按像素单元进行操作,并且将在按照像素电平进行处理的过程中通过各类测试的像素数据描绘到存储器模块的帧缓冲器(ST16),由此可以表现出以下效果。
即,由于在通过滤波使数据减少之后再对数据进行分配,因此,可以使用作全局总线的纵横电路13减小大小。
此外,由于可以使滤波之前的数据流本地化,使从存储器模块到第二操作处理元件需要较宽带宽的路径本地化,并且因此可以实现更高的处理速度。
因此,具有可以实现容易设计并且可以减少互连成本以及互连延迟的图像处理装置的优点。
工业适用性
如上所述,当多个处理装置共享处理数据以进行并行处理时,按照本发明的图像处理装置及其方法可以减少纵横电路的互连的数量并且使电路的尺寸减小。因此,容易设计并且可以减少互连成本以及互连延迟,因此,可以将本发明应用于图形LSI等。

Claims (9)

1.一种图像处理装置,其中多个处理模块共享处理数据,以进行并行处理,其中:
所述多个处理模块中的每一个都包括:
存储器模块,用于至少存储与滤波有关的数据;
处理电路,用于得到用于滤波的数据并且根据处理数据,通过对应的存储器内插,执行提前决定的指定处理;
第一操作处理元件,用于根据指定的处理数据和在所述处理电路获得的、滤波之后的数据,按像素单元进行操作处理;以及
第二操作处理元件,用于根据由所述处理电路获得的用于滤波的数据以及存储在所述存储器模块中的与滤波有关的数据进行滤波,并且接收来自所述第一操作处理元件的操作处理数据,然后将经过操作处理的数据送到该存储器模块,并且
还包括纵横电路,其作为用于连接所述处理模块的多个第一操作处理元件和多个第二操作处理元件的全局总线,将由每个处理模块中的所述处理电路获得的用于滤波的数据提供给在相同处理模块中的第二操作处理元件,将来自每个处理模块中的第二操作处理元件的、滤波之后的数据提供给与该处理相对应的处理模块中的第一操作处理元件,并且将来自第一操作处理元件的操作处理数据提供给第二操作处理元件。
2.根据权利要求1所述的图像处理装置,其中每个处理模块的处理电路都包括用于调节时间,使得指定数据的处理时间变得与将滤波之后的数据提供给第一操作处理元件的时间相等的装置。
3.根据权利要求1所述的图像处理装置,还包括设置电路,用于进行关于图元的顶点数据的操作,设置一个图元,并且将指定数据输出到处理模块的处理电路。
4.根据权利要求1所述的图像处理装置,其中需要滤波的处理是与结构有关的处理。
5.根据权利要求1所述的图像处理装置,其中,所述并行处理是按像素电平的并行处理。
6.一种图像处理方法,其中多个处理模块共享处理数据,以便进行并行处理,该方法包括如下步骤:
获得用于滤波的数据,并且用于根据每个处理模块中的处理数据,通过相应的存储器交叉存取,进行预先决定的指定处理;
根据获得的用于滤波的数据以及存储在存储器模块中的与滤波有关的数据进行滤波;
通过全局总线,将在每个处理模块中的滤波之后的数据提供给预定的处理模块;并且
根据获得的指定处理数据和滤波之后的数据,按像素单元执行操作处理并且将经过操作处理的数据描述到所述存储器模块,在处理模块中接收滤波之后的数据。
7.根据权利要求6所述的图像处理方法,还包括如下步骤:调节每个处理模块时间,使得指定数据的处理时间变得与提供滤波之后的数据的时间相等。
8.根据权利要求6所述的图像处理方法,其中需要滤波的处理是与结构有关的处理。
9.根据权利要求6所述的图像处理方法,其中所述并行处理是按像素电平的并行处理。
CNB02804889XA 2001-12-12 2002-12-11 图像处理装置及其方法 Expired - Fee Related CN1282128C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP379349/2001 2001-12-12
JP2001379349A JP3838086B2 (ja) 2001-12-12 2001-12-12 画像処理装置およびその方法

Publications (2)

Publication Number Publication Date
CN1491402A true CN1491402A (zh) 2004-04-21
CN1282128C CN1282128C (zh) 2006-10-25

Family

ID=19186757

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB02804889XA Expired - Fee Related CN1282128C (zh) 2001-12-12 2002-12-11 图像处理装置及其方法

Country Status (6)

Country Link
US (1) US7437021B2 (zh)
EP (1) EP1460582A4 (zh)
JP (1) JP3838086B2 (zh)
KR (1) KR100929746B1 (zh)
CN (1) CN1282128C (zh)
WO (1) WO2003054800A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101053013B (zh) * 2004-05-14 2010-04-07 辉达公司 低功率可编程处理器
CN106537446A (zh) * 2014-06-30 2017-03-22 英特尔公司 具有任意块(tile)形状的自适应划分机制以用于基于块的渲染GPU架构

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7079148B2 (en) * 2003-07-23 2006-07-18 Hewlett-Packard Development Company, L.P. Non-volatile memory parallel processor
US8788996B2 (en) 2003-09-15 2014-07-22 Nvidia Corporation System and method for configuring semiconductor functional circuits
US8732644B1 (en) 2003-09-15 2014-05-20 Nvidia Corporation Micro electro mechanical switch system and method for testing and configuring semiconductor functional circuits
US8775997B2 (en) 2003-09-15 2014-07-08 Nvidia Corporation System and method for testing and configuring semiconductor functional circuits
US8711161B1 (en) 2003-12-18 2014-04-29 Nvidia Corporation Functional component compensation reconfiguration system and method
JP2005234727A (ja) * 2004-02-18 2005-09-02 Toshiba Corp 画像処理装置、画像処理システムおよび画像処理方法
KR100868396B1 (ko) * 2004-08-26 2008-11-11 인텔 코오퍼레이션 기하 이미지 분할을 위한 그래픽 처리 시스템 및 방법
US8723231B1 (en) 2004-09-15 2014-05-13 Nvidia Corporation Semiconductor die micro electro-mechanical switch management system and method
US8711156B1 (en) 2004-09-30 2014-04-29 Nvidia Corporation Method and system for remapping processing elements in a pipeline of a graphics processing unit
JP2006202211A (ja) * 2005-01-24 2006-08-03 Fujitsu Ltd 画像描画装置および画像描画方法
JP4637640B2 (ja) * 2005-05-16 2011-02-23 三菱電機株式会社 図形描画装置
US8232991B1 (en) * 2006-11-03 2012-07-31 Nvidia Corporation Z-test result reconciliation with multiple partitions
US8724483B2 (en) 2007-10-22 2014-05-13 Nvidia Corporation Loopback configuration for bi-directional interfaces
US9331869B2 (en) 2010-03-04 2016-05-03 Nvidia Corporation Input/output request packet handling techniques by a device specific kernel mode driver
DE112011105994B4 (de) * 2011-12-21 2017-04-06 Intel Corporation Techniken und Verfahren für die Ratenregelung eines Anzeigedatenstroms
JP5993267B2 (ja) * 2012-10-04 2016-09-14 オリンパス株式会社 画像処理装置

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0348979A (ja) * 1989-07-17 1991-03-01 Nec Corp 並列画像処理装置
JP2858602B2 (ja) * 1991-09-20 1999-02-17 三菱重工業株式会社 パイプライン演算回路
US5359674A (en) * 1991-12-11 1994-10-25 David Sarnoff Research Center, Inc. Pyramid processor integrated circuit
JP2642039B2 (ja) * 1992-05-22 1997-08-20 インターナショナル・ビジネス・マシーンズ・コーポレイション アレイ・プロセッサ
US5566284A (en) * 1993-12-22 1996-10-15 Matsushita Electric Industrial Co., Ltd. Apparatus and method for mip-map generation using low-pass filtering based on resolution ratio
US5493643A (en) * 1994-05-03 1996-02-20 Loral Aerospace Corp. Image generator architecture employing tri-level fixed interleave processing and distribution buses
JPH08335273A (ja) * 1995-06-08 1996-12-17 Hitachi Denshi Ltd 画像発生装置
US5956744A (en) * 1995-09-08 1999-09-21 Texas Instruments Incorporated Memory configuration cache with multilevel hierarchy least recently used cache entry replacement
US5638533A (en) * 1995-10-12 1997-06-10 Lsi Logic Corporation Method and apparatus for providing data to a parallel processing array
JP3645024B2 (ja) * 1996-02-06 2005-05-11 株式会社ソニー・コンピュータエンタテインメント 描画装置及び描画方法
US6104842A (en) * 1996-06-10 2000-08-15 Integrated Device Technology, Inc. Geometry processing of digital video models and images
US6236405B1 (en) * 1996-07-01 2001-05-22 S3 Graphics Co., Ltd. System and method for mapping textures onto surfaces of computer-generated objects
EP0825550A3 (en) 1996-07-31 1999-11-10 Texas Instruments Incorporated Printing system and method using multiple processors
US6130967A (en) * 1997-07-03 2000-10-10 Tri Path Imaging, Inc. Method and apparatus for a reduced instruction set architecture for multidimensional image processing
US6452603B1 (en) * 1998-12-23 2002-09-17 Nvidia Us Investment Company Circuit and method for trilinear filtering using texels from only one level of detail
US6661424B1 (en) * 2000-07-07 2003-12-09 Hewlett-Packard Development Company, L.P. Anti-aliasing in a computer graphics system using a texture mapping subsystem to down-sample super-sampled images
US6763150B1 (en) * 2000-08-29 2004-07-13 Freescale Semiconductor, Inc. Image processing system with multiple processing units

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101053013B (zh) * 2004-05-14 2010-04-07 辉达公司 低功率可编程处理器
CN106537446A (zh) * 2014-06-30 2017-03-22 英特尔公司 具有任意块(tile)形状的自适应划分机制以用于基于块的渲染GPU架构
CN106537446B (zh) * 2014-06-30 2019-08-20 英特尔公司 具有任意块形状的自适应划分机制以用于基于块的渲染gpu架构

Also Published As

Publication number Publication date
KR100929746B1 (ko) 2009-12-03
US7437021B2 (en) 2008-10-14
WO2003054800A1 (en) 2003-07-03
EP1460582A1 (en) 2004-09-22
EP1460582A4 (en) 2008-11-19
US20040196290A1 (en) 2004-10-07
CN1282128C (zh) 2006-10-25
KR20040073280A (ko) 2004-08-19
JP3838086B2 (ja) 2006-10-25
JP2003178293A (ja) 2003-06-27

Similar Documents

Publication Publication Date Title
CN1282128C (zh) 图像处理装置及其方法
CN1317682C (zh) 优化图形处理的系统和方法
CN1252648C (zh) 三维图象绘制方法
CN1099655C (zh) 图像绘制装置及图像绘制方法
CN1957376A (zh) 可缩放着色器结构
CN1551048A (zh) 图像再现装置和图像再现方法
JP4598030B2 (ja) グラフィックスパイプラインにおけるタイルベース精度のラスタライズ
CN1244076C (zh) 并行z缓冲器体系结构与透明度
CN1527990A (zh) 图像处理器及其组件、和渲染方法
CN1205592C (zh) 图象生成设备
CN1255765C (zh) 数据通信系统和方法
US20090179894A1 (en) Computing system capable of parallelizing the operation of multiple graphics processing pipelines (GPPLS)
CN1656465A (zh) 可缩放的高性能3d图形显示
CN1173000A (zh) 用于记录和信息处理的改进方法和装置及其记录介质
CN1272194A (zh) 用于绘制在图像装置上显示的图像的装置、方法和分发介质
CN103026402A (zh) 显示压缩超级切片图像
CN1684104A (zh) 计算器系统中压缩及解压缩指令的方法与装置
CN1177784A (zh) 纹理数据的方法和设备
CN1893564A (zh) 图像特效设备、图形处理器和记录介质
CN1094612C (zh) 存储器访问方法及数据处理装置
CN1969299A (zh) 图像生成装置及图像生成方法
CN1282913C (zh) 三维图形描绘装置
CN1942901A (zh) 图像处理装置及图像处理方法
CN1236401C (zh) 数据处理系统和方法、计算机程序和记录介质
CN1127258C (zh) 利用关键信号产生合成图像的方法、设备和信息处理系统

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
C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20061025

Termination date: 20111211