图像处理的可重配置地址生成电路及可重配置lsi的制作方法

文档序号:6554609阅读:245来源:国知局
专利名称:图像处理的可重配置地址生成电路及可重配置lsi的制作方法
技术领域
本发明涉及用于图像处理的可重配置地址生成电路,以及包括该电路的可重配置LSI,更具体地说,本发明涉及这样的地址生成电路,该电路在图像处理期间产生存储器中的图像数据的读地址。
背景技术
可重配置集成电路器件(LSI)包括多个处理器元件和在这些处理器元件之间进行连接的网络,并且基于序列发生器响应于外部或内部事件而输出的配置数据,处理器元件的结构和这些处理器元件之间的网络的结构可以被建立为任意计算状态或算术电路。
现有技术的可编程微处理器顺序读出存储在存储器中的命令,并且按次序处理它们。因此,单个处理器可同时执行的命令的数目是受限的,从而限制了处理能力。
在这种连接中,在可重配置集成电路器件中,预先提供了多种类型的多个处理器元件,例如,具有加法器、乘法器、比较器等的功能的逻辑算术单元(ALU),延迟电路,计数器等;此外,还提供在这些处理器元件之间进行连接的网络,并且处理器元件和网络可以基于来自状态转换控制单元的配置数据而被重配置为任何期望的结构,其中状态转换控制单元包括序列发生器,并且在该计算状态中执行预定的计算。如果多个算术电路被多个处理器元件配置,则在这些算术电路中可以同时执行数据处理。另外,当一个计算状态中的数据处理已完成时,利用不同的配置数据集合,可以建立另外的计算状态,并且可以在该状态中进行不同的数据处理。
通过以这种方式动态配置为不同的计算状态,可重配置集成电路器件能够提高对大量数据的数据处理能力,从而能够提高总的处理效率。这种可重配置集成电路器件例如在日本专利申请早期公开2001-312481中被描述。
上述可重配置LSI可以动态重配置为已针对各种不同类型的数据处理作了优化的算术电路。图像处理就是这些类型的数据处理的一个代表。这种图像处理包括滤波处理,例如对位像数据的一个帧的3×3个像素的像素数据的平滑处理等。在这种情形中,随着处理对象像素时,对围绕它们的像素的图像数据执行计算处理。其他类型的图像处理包括对8×8个像素的单元中的单个帧的位像数据进行处理,以抽取高频成分和低频成分。已知这种处理在MPEG解码器中被执行。在这种抽取处理中,也对具有多行多列的像素单元中的图像数据执行计算,并且其要求周围像素的图像数据。
在这种类型的图像处理中,存储在外部存储器中的位像数据按照预定的块被读出,并且临时存储到内部存储器中,然后,该图像数据从内部存储器被读出,并且对其执行图像处理。在这种情形中,围绕该块的像素的图像数据也被存储在内部存储器中,并且包括这些周围像素的块的图像数据被读出;即,包括周围像素的图像数据按照3×3像素单元或5×5像素单元等被读出。为了完成这种操作,要求执行地址生成来从内部存储器读出图像数据的处理器元件。
然而,当在对位于帧的左、右、上和下边沿的像素的图像数据进行处理时,由于在该帧的外部不存在图像数据,所以必需重复读出位于帧边沿的像素的图像数据。因此,根据要被读出的像素是否是在帧外部的像素,要求生成用于被读出的不同地址。换言之,在像素在帧内的情形中,仅仅生成与该像素相对应的地址;而在像素的帧边沿外的情形中,不是生成与该像素相对应的地址,而是生成与在边沿位置中的像素相对应的地址。
然而,在配置用于处理器元件的上述不同的读出操作的不同读出地址生成电路时,需要的处理器元件的数目要增加,从可重配置LSI的方面来说,这是不希望的。

发明内容
因此,本发明的一个目的是要提供一种用于图像处理的地址生成电路以及结合了这种地址生成电路的可重配置LSI,其中该地址生成电路可取决于要处理的像素的位置而被重配置。
为了实现上述目的,根据本发明的第一方面,本发明提议了一种用于图像处理的可重配置地址生成电路,该电路基于配置数据被配置为任意状态,并且该电路产生用于从存储图像数据的存储器读出具有多行多列的像素单元的图像数据的读地址。其中,作为配置数据,设置了与被读出像素单元的列数相对应的X计数终值和与被读出像素单元的行数相对应的Y计数终值、指示存储器中的图像的列数的宽度值、以及指示针对其对读出像素单元执行剪贴(clip)处理的边沿的边沿信息;该地址生成电路包括X计数器,其重复计数到X计数终值;Y计数器,其响应于X计数器的进位信号计数到Y计数终值;X剪贴处理电路,其根据左和右边沿信息转换X计数器的计数值;Y剪贴处理电路,其根据上和下边沿信息转换Y计数器的计数值;以及地址计算电路,其基于来自X和Y剪贴处理电路的计数值和宽度值产生读出地址。
根据上述本发明的这个方面,可以根据配置数据,产生任意地址生成电路。


图1是用于说明在图像处理期间的地址生成的图;图2是用于说明图像处理的地址生成的问题点的图;图3是本实施例的可重配置集成电路器件的框图;图4是示出了本实施例的处理器阵列30的结构的示例的图;图5是示出了本实施例中,在正常操作期间利用配置数据配置的电路状态的示例的图;图6是示出了本实施例中,在正常操作期间利用配置数据配置的电路状态的示例的另一个图;图7是用于说明本实施例的用于图像处理的地址生成电路的地址生成的图;图8是用于说明本实施例中在地址生成期间的剪贴处理的图;
图9是从其配置本实施例的地址生成电路的处理器元件的总体框图;图10是本实施例的地址生成电路的详细电路图;图11是剪贴电路的详细电路图;以及图12是示出了图像数据的另一个示例的图。
具体实施例方式
在下面将根据本发明的优选实施例对本发明进行说明。但是,本发明的技术范围不受限于这些实施例,而是由所附权利要求书的范围及其等同物限定。
图1是用于说明在图像处理期间的地址生成的图。单个帧FM(一屏)的图像数据可以被细分为多个块BLK,并且通常存储在内部存储器中。图像数据例如是以像素为单位的RGB数据,并且如果假定每种颜色使用8位的话,则总共由32位组成。另外,当利用LSI执行图像处理时,以块为单位的图像数据从外部存储器被传送到内部存储器,然后一块的图像数据从该内部存储器被读出,以执行预定的图像处理,或者3×3像素单元中的图像数据被读出,以执行滤波处理。一般而言,对于滤波处理,为了实现滤波过程,要被处理的像素的图像数据和八个相邻像素的图像数据是必需的。此外,对于其他图像处理,以要被处理的像素为中心的5×5像素单元的图像数据,或者N×N(其中,N是大于等于3的整数)像素单元的图像数据是必需的。
如上所述,在针对一块的多个像素的图像处理中,也需要围绕该块的外边沿的像素的图像数据。因此,在块BLK0的图像数据从外部存储器传送到内部存储器时,还包括围绕该块BLK0的像素的扩大块EBLK0的图像数据被传送,以使得可以符合通过从内部存储器读出图像数据来执行的图像处理。换言之,如图1所示,扩大块EBLK0的图像数据被传送到内部存储器,除了块BLK0的像素外,周围像素的图像数据也从该内部存储器被读出,并且诸如滤波处理之类的预定图像处理被执行。
在某些情形中,从内部存储器读出的单元是扩大块EBLK0的所有像素,或者在某些情形中是3×3像素单元,该像素单元是扩大块EBLK0内的一部分。
图2是用于说明用于图像处理的地址生成的问题的图。如已参考图1所说明的,当执行某个块BLK0的图像数据到内部存储器的数据传送时,扩大块EBLK1(该块被扩大到图像处理所要求的数目的像素)的图像数据被传送。对于此种情形,对包括围绕要被处理的块BLK1的像素的扩大块EBLK1,执行从外部存储器的数据传送。然而,当执行将位于帧FM的边沿部分处的块BLK1的图像数据从外部存储器传送到内部存储器的数据传送时,由于在该帧FM的边沿的左侧和上侧没有像素存在,所以不能从存储在外部存储器中的帧数据FM读出在扩大块EBLK1的外围部分的像素列PX和像素行PY的图像数据(图中的阴影线部分)。例如,即使试图执行这种读出,也是不正确的地址的图像数据被读出,以致于不适于作为要在过滤处理等中使用的周围像素的图像数据。
因此,当读出已被传送到内部存储器的扩大块EBLK1的图像数据时,像素列PY和像素行PX的图像数据未被读出,而是取而代之地执行了对仅具有正常图像数据的块BLK1的像素列PV和像素行PH中的图像数据的读出。当读出扩大块EBLK1内的部分像素单元时,相同的过程也被执行。这是因为这些像素列PV和像素行PH中的图像数据与相邻像素列PX和像素行PY中的图像数据相似的概率很高,并且难以想象其应当是完全不相称的图像数据。
以这种方式,当读出内部存储器中的块的图像数据时,有必要根据要读出的像素是位于帧FM的边沿还是不位于边沿,来改变所创建的读出地址。这样,就必需提供多种类型的地址生成电路,或者提供能够在边沿部分执行特殊处理的地址生成电路。在本实施例中,利用可重配置电路实现了这样的地址生成电路该地址生成电路符合帧的边界部分的情形。
图3是本实施例的可重配置集成电路器件的框图。可重配置集成电路16包括用于临时数据存储的内部存储器18和19,以及可重配置处理器阵列30。该可重配置处理器阵列30包括多个处理器元件PE和这些处理器元件之间的网络20。并且处理器阵列30可以利用从控制单元10提供的配置数据CD而被动态配置为任意处理器状态,其中控制单元10包括序列发生器12和存储配置数据的配置存储器14。此外,块数据例如通过直接存储器访问,从外部存储器E-MEM被传送到第一内部存储器18,并且动态配置的处理器对该数据执行预定的数据处理,该处理的结果被存储到第二内部存储器19中。然后,数据从第二内部存储器19传送到外部存储器E-MEM。
为了不使存储器访问的吞吐量劣化,第一和第二内部存储器18和19具有双缓冲结构,以使外部访问和内部访问不彼此竞争。换言之,利用内部存储器18和19,存储器单元中的一个执行与外部存储器的数据传送,而同时,另一存储器单元执行与处理器阵列30内的处理器元件PE的数据传送。
处理器元件PE包括多种类型的元件,包括ALU元件,其包括加法器、减法器、比较器等;延迟元件,其包括延迟电路;计数器元件,其包括计数器电路;存储器元件,其包括存储器等。此外,处理器元件PE可以包括存储器元件,这些存储器元件包括内部存储器。另外,在处理器元件PE内,包括了可以构成地址生成电路的元件PEA,该地址生成电路用于从上述内部存储器读出多个像素行和列的单元中的数据。其结构将在下文中详细描述。
图4是示出了本实施例的处理器阵列30的结构的示例的图。计算处理元件PE0到PE3、存储处理器元件PE5和其他处理器元件PE4被使得可经由选择器41互连,这些选择器41是网络20中的开关。这些各种处理器元件PE0到PE5可以基于配置数据CD0到CD5而被配置为任意结构;此外,网络20中的选择器41(41a、41b和41c)也可以基于配置数据CD而被配置为任意结构。
当每个处理器元件PE已完成其计算处理后,它输出最终信号CS0到CS3。最终信号作为事件被提供给控制单元10的序列发生器12(参见图3),并且下一配置数据CD在适当的定时处被提供给处理器元件PE,从而建立不同的算术电路。
如图的右下部分以示例方式所示的,选择器41包括存储配置数据CD的寄存器42、根据寄存器42中的数据来选择输入的选择器电路43、以及与时钟信号CK同步并且锁存选择器电路43的输出的触发器44。此外,也可以按需经由选择器将网络20连接到数据输入端口22和输出端口24。
图5和图6是示出了本实施例中在正常操作期间利用配置数据配置的电路状态的示例的图。在这些图中,可以动态配置为算术电路的计算处理器元件PE0到PE3和PE6通过网络20连接到一起,以配置为高速执行预定计算的专用算术电路。
图5的示例是这样的示例其中配置了根据下式对输入数据项a、b、c、d、e和f执行计算的专用算术电路(a+b)+(c-d)+(e+f)根据该配置示例处理器元件PE0被配置为用于A=a+b的算术电路;处理器元件PE1被配置为用于B=c-d的算术电路;处理器元件PE2被配置为用于C=e+f的算术电路;处理器元件PE3被配置为用于D=A+B的算术电路;并且处理器元件PE6被配置为用于E=D+C的算术电路。各个数据项a到f从存储处理器元件(图中未示出)提供,并且处理器元件PE6的输出作为计算结果E被输出到存储处理器元件或输出到外部。
处理器元件PE0、PE1和PE2并行计算它们的计算处理;处理器元件PE3对这些计算的结果执行D=A+B计算处理;最后,处理器元件PE6执行E=D+C计算处理。以这种方式,通过配置专用算术电路,可以并行执行计算,从而可以提高计算处理的效率。
每个计算处理元件包括内部ALU、加法器、乘法器、比较器等,并且可以基于配置数据CD而被配置为任意算术电路。另外,通过如图5所示地进行配置,可以配置上述专用算术电路,该电路执行上述专用计算。通过配置该专用算术电路,可以并行执行多个计算,从而可以提高计算效率。
图6的示例是这样的示例其中计算处理元件被配置为专用算术电路,该专用算术电路对输入数据项a到d执行计算(a+b)*(c-d)。
处理器元件PE0被配置为用于A=a+b的算术电路;处理器元件PE1被配置为用于B=c-d的算术电路;并且处理元件PE3被配置为用于C=A*B的算术电路;并且该计算的结果C被输出到存储处理器元件或者输出到外部集群。同样在这种情形中,处理器元件PE0和PE1并行执行它们的计算处理,并且处理器元件PE3对它们的计算的结果A和B执行计算C=A*B。因此,通过配置这种专用算术电路,可以提高上述计算的效率,从而可以提高对大量数据执行计算的效率。
-用于图像处理的地址生成电路的具体示例-返回图2,当读出存储在内部存储器中的扩大块EBLK1的图像数据时,必需执行下述处理。首先,如果正读出的像素在扩大块EBLK1的左边沿上的像素列PX处,则检查块BLK1是否接触帧FM的左边沿,并且如果不接触,则内部的像素列PV的图像数据被读出。第二,如果正读出的像素在扩大块EBLK1的右边沿上的像素列PX处,则检查块BLK1是否接触帧的右边沿,并且如果不接触,则内部的像素列的图像数据被读出。第三和第四,如果正读出的像素在上边沿或下边沿,则执行同样的处理。第五,如果正读出的像素不是任何边沿上的像素,则原样读出该像素的图像数据。此外,即使在第一到第四情形中块BLK1不接触帧的边沿,由于BLK1的边沿上的像素的图像数据是正确的图像数据,所以该像素的图像数据被原样读出。
图7是用于说明本实施例的用于图像处理的地址生成电路的地址生成的图。在图7中,示出了已存储在内部存储器18中的扩大块EBLK的10×10像素阵列。已从8×8像素构成的块BLK扩大了一个周围像素的该扩大块EBLK的数据被从外部存储器被传送到内部存储器18。对于R、G和B数据中的每种,每个像素包括8位,总共32位数据。每个像素的这32位数据被存储在与100个像素相对应的内部存储器中。因此,内部存储器中的地址ADD1从地址0到地址99,并且基于像素阵列(0,0)(1,0)到(9,0)(这是第一行),(0,1)(1,1)到(9,1)(这是第二行),…到(0,9)到(9,9)(这是第十行)的x和y坐标,以及扩大块的宽度W=10,可以获得地址ADD1=x+y*W。换言之,像素(0,0)的地址为ADD1=0;像素(9,0)的地址为ADD1=9,…,像素(x,y)的地址为ADD1=x+y*W,并且像素(9,9)的地址为ADD1=99。
通常,在图像处理中,基于像素的阵列信息(x,y),对所需像素的图像数据执行处理。因此,必需要有地址生成电路来从像素的阵列信息(x,y)产生内部存储器中的像素的地址。
图8是用于说明本实施例中在地址生成期间的剪贴处理的图。在图8中,示出了存储在内部存储器中的块BLK接触帧的左、右、上和下边沿的情形。在图8中的A中,块BLK接触帧的左边沿,并且因此,左边沿上的列PX1的图像数据不是正确数据。同样,在图8中的B、C和D中,块BLK分别接触帧的右、上和下边沿,所以右边沿列PX2、上边沿行PY1和下边沿行PY2的图像数据分别不是正确数据。当从外部存储器传送数据时,包括围绕块BLK的像素的扩大块EBLK的图像数据被传送,但是由于即使帧边沿外的地址被指定了,也不能获得正确数据,所以如上所述,图中用阴影示出的像素的图像数据会是不正确的。
为了参考图8中的示例A来进行说明,对于X方向和Y方向,内部存储器中的像素的阵列信息如下X方向0,1,2,…7,8,9Y方向0,1,2,…7,8,9并且阵列中的任意像素(x,y)的地址为ADD1=x+y*W。
然而,由于左边沿上的像素不是正确的数据,不读出X方向阵列信息为“0”的像素的数据,所以希望的是替代地读出在块BLK的左边沿上的像素的数据。因此,基于块BLK在帧的左边沿的信息,需要对内部存储器中的像素的阵列信息执行剪贴处理,如下划线所示X方向1,1,2,…7,8,9Y方向 0, 1,2,…7,8,9通过以这种方式产生阵列信息,并且通过从其获得地址,可以读出列PV1中的像素的数据,而不是列PX1中的像素的数据。
在图8中的情形B中,基于块BLK在帧的右边沿的信息,阵列信息应当是X方向0,1,2,…7,8,8Y方向0,1,2,…7,8, 9
在图8中的情形C中,基于块BLK在帧的上边沿的信息,阵列信息应当是X方向 0, 1,2,…7,8,9Y方向1,1,2,…7,8,9在图8中的情形D中,基于块BLK在帧的下边沿的信息,阵列信息应当是X方向0,1,2,…7,8, 9Y方向0,1,2,…7,8,8在每种情形中如下划线所示执行剪贴处理,使得产生所示的各自的阵列信息,并且从其可获得地址。
换言之,必需被执行剪贴处理的边沿信息被产生,并且基于示出在何处必需执行剪贴的剪贴号(在上述示例中,剪贴号为1和8)信息,可以执行边沿部分的剪贴处理。
根据上述示例,地址生成电路基于关于块BLK是否接触帧的边沿的信息,来执行上述剪贴处理,并且产生必须读出的像素的阵列信息(x,y),然后产生地址ADD1=x+y*W。此外,地址生成电路还可以将剪贴处理设置为由于除了关于块BLK是否接触帧的边沿这类信息之外的某些因素而被执行。例如,有时根据某些图像处理条件来执行剪贴处理。在这种情形中,地址生成电路被配置为执行剪贴处理,而不管块BLK是否接触帧的边沿。
图9是从其配置本实施例的地址生成电路的处理器元件的总体框图。该地址生成电路包括X计数器50和Y计数器51,其产生被读出的像素的阵列信息(X1,Y1);执行上述剪贴处理的剪贴处理电路52和53;加法器54和55,其在产生阵列信息(X2,Y2)之后,根据读出的像素单元的扩大块内的位置Xoff,Yoff,执行上述阵列信息的坐标转换;以及地址计算电路56,其基于所产生的阵列信息(X3,Y3),产生内部存储器中的地址ADD1。该地址生成电路通过复位信号RST被初始化,并且与时钟信号CLK同步工作。
如图7所示,在读出内部存储器18中的扩大块EBLK中的所有像素的图像数据时,各个X和Y计数器50和51输出“0,1,2,…8,9”作为X1和Y1计数值。此外,如图7所示,如果被读出像素单元UNIT是扩大块EBLK内的部分,并且位于扩大块EBLK内的位置Xoff,Yoff处,则X和Y计数器50和51分别输出“0,1,2”作为计数器值X1和Y1,并且以左上为原点,根据位置信息Xoff=3,Yoff=2,像素单元UNIT内的阵列信息(X1,Y1)被坐标转换为内部存储器中的阵列信息。
如上所述,被读出像素单元的各个最终计数器值X-CNT和Y-CNT被提供给X计数器50和Y计数器51。例如,如果扩大块EBLK是被读出像素单元,则计数器终值X,Y-CNT=10被提供给X和Y计数器50和51,并且在计数值变为这些终值时,它们被复位为“0”。另外,X计数器50与时钟信号CLK同步地向上计数,而Y计数器51与其进位CO同步地向上计数。如果3×3像素单元正被读出,由于计数器值重复为“0,1,2”,因此“3”被提供作为最终计数器值X,Y-CNT。换言之,X和Y计数器50和51通过复位被设置为计数值“0”,然后通过“0”,“1”和“2”向上计数,并且当计数值变为“3”时,初始值“0”被输出。并且响应于X计数器50的进位CO,Y计数器51的计数值递增。
剪贴处理电路52和53对由X计数器50和Y计数器51产生的阵列信息(X1,Y1)执行剪贴处理。关于是否必须在被读出像素单元的左边沿和右边沿处执行剪贴处理的边沿信息Ledg,Redg被提供给X侧的剪贴处理电路52,而关于是否必须在被读出像素单元的上边沿和下边沿处执行剪贴处理的边沿信息Tedg,Bedg被提供给Y侧的剪贴处理电路53。此外,剪贴号X-CL和Y-CL也被提供给剪贴处理电路52和53。例如,如果希望在左边沿处执行剪贴处理,则X方向的剪贴号X-CL“1”被提供,并且根据该剪贴号X-CL,阵列信息X1被转换。此外,如果希望在右边沿处执行剪贴处理,侧剪贴号X-CL“8”被提供,并且根据该剪贴号X-CL,阵列信息X1被转换。同样,如果期望在上边沿或下边沿执行剪贴处理,则Y方向的剪贴号Y-CL被提供,并且根据该剪贴号,阵列信息Y1被转换。
如果正被读出的像素单元是10×10像素的扩大块,则在左边沿,剪贴号X-CL将是X-CL=1,而在右边缘,该剪贴号将是X-CL=8。此外,如果希望对两个周围像素进行剪贴处理,则在左边沿,X-CL=2,而在右边沿,X-CL=7。此外,如果正被读出的像素单元是5×5像素,并且希望剪贴一个周围像素,则上述在左边沿处的剪贴号X-CL为X-CL=1,而在右边沿,该剪贴号为X-CL=3。另外,如果希望对两个周围像素进行剪贴处理,则在左边沿和右边沿,该剪贴号都为X-CL=2。
如图8所示,在内部存储器中的块BLK接触帧的左、右、上和下边沿,并且在读出其中像素时剪贴处理被执行的情形中,如果该块接触帧的左边沿,并且正被读出的像素单元接触扩大块的左边沿,则左边沿信息Redg被设置为“1”。同样,如果该块接触帧的上边沿,并且正被读出的像素单元接触扩大块的上边沿,则上边沿信息Tedg被设置为“1”。
此外,如果由于某些其他原因,需要在正被读出的像素单元的任何边沿处执行剪贴处理,则通过将边沿信息设置为“1”,可以在任意条件下对正被读出的像素单元内的阵列信息(X1,Y1)执行剪贴处理。换言之,可以以灵活的方式设置剪贴处理条件。
执行坐标转换的加法器54和55分别将像素单元的左上像素的阵列位置Xoff,Yoff加到已经经历了剪贴处理的计数值(X2,Y2),并输出阵列信息(X3,Y3)。该阵列信息(X3,Y3)与扩大块内的阵列信息相对应。扩大块的宽度W被提供给地址计算电路56,通过从已计算出的阵列信息(X3,Y3)和宽度W的计算,获得内部存储器中的地址ADD1。
上述各个数据项X-CNT、Y-CNT、Xoff、Yoff、Ledg、Redg、Tedg、Bedg和W从图3的控制单元10作为配置数据CD被提供,并且基于该配置数据,在地址生成电路中进行配置以读出指定的像素单元。换言之,控制单元10根据正被读出的像素单元的尺寸,设置计数终值X-CNT和Y-CNT;根据剪贴号,设置剪贴号X-CL和Y-CL;根据正被读出的像素单元是否接触帧的任何边沿,或者根据某些其他条件,设置指示是否必须执行剪贴处理的边沿信息;并且,根据正被读出的像素单元在扩大块内的位置,设置位置信息Xoff和Yoff。此外,它还根据已经被数据传送到内部存储器中的扩大块的尺寸,设置宽度W。根据这些配置数据项的设置,处理器元件PEA被动态建立为最适合的地址生成电路。
图10是本实施例的地址生成电路的详细电路图。此外,图11是剪贴电路的详细电路图。X计数器50包括加法器ADD1,其与时钟信号CLK同步地将寄存器REG1内的计数值X1每次递增“1”;比较器COMP1,其检测加法器ADD1的输出是否与计数终值X-CNT一致;选择器SEL1,其根据比较器COMP1的比较结果,选择加法器ADD1的输出或者初始值“0”;以及存储计数器值X1的寄存器REG1。此外,响应于复位信号RST,寄存器REG1中的值被复位为其初始值“0”,尽管这在图中未示出。
同样,Y计数器51包括加法器ADD2、比较器COMP2、选择器SEL2和寄存器REG2。加法器ADD2与进位信号CO同步地将“1”加到计数器值Y1。此外,响应于复位信号RST,计数器REG2被复位为其初始值“0”,尽管这在图中未示出。如上所述,X和Y计数器50、51根据动态提供的计数终值X-CNT,Y-CNT,产生被读出像素单元的阵列信息(X1,Y1)。
根据所提供的必须经受剪贴处理的剪贴号X-CL、Y-CL和边沿信息Ledg、Redg、Tedg、Bedg,剪贴处理电路52和53对该像素单元的阵列信息(X1,Y1)执行所需的剪贴处理。在图11中,示出了用于X轴的剪贴处理电路。该剪贴处理电路包括比较器COMP3和COMP4,其将阵列信息X1和剪贴号X-CL一起比较;选择器SEL3和SEL4,其根据各个比较器的输出,选择阵列信息X1或剪贴号X-CL;以及选择器SEL5,其根据边沿信息Ledg和Redg,选择选择器SEL3或选择器SEL4的输出。
包括比较器COMP3和选择器SEL3的处理电路52L对左边沿执行剪贴处理,而包括比较器COMP4和选择器SEL4的处理电路52R对右边沿执行剪贴处理。为了说明处理电路52L如果X1>X-CL,则比较器COMP3的输出变为“1”,并且选择器SEL3选择计数器输出X1,否则,比较器COMP3的输出变为“0”,并且选择器SEL3选择剪贴号X-CL(在5×5像素单元的情形中例如1)。另一方面,为了说明处理电路52R如果X1<X-CL,则比较器COMP4的输出变为“0”,并且选择器SEL4选择计数器输出X1,否则,比较器COMP4的输出变为“1”,并且选择器SEL4选择剪贴号X-CL(在5×5像素单元的情形中例如3)。并且,根据边沿信息Ledg和Redg,选择器SEL5选择选择器SEL3的输出或选择器SEL4的输出。
通过以这种方式根据边沿信息Ledg和Redg设置剪贴号X-CL,可以在正被读出的像素单元内的左边沿或右边沿处执行剪贴处理。Y侧剪贴处理电路也与图11的电路相同。
作为示例,为了说明从内部存储器读出图7所示的3×3像素单元的情形,计数器50和51每个都产生像素单元内的阵列信息“0,1,2”。并且关于需要在该像素单元的那个边沿处执行剪贴处理的信息被提供作为边沿信息。如果考虑需要在左边沿处执行剪贴处理,则Ledg=1被设置,并且剪贴号X-CL被设置。结果,当计数器值X1=0或1时,比较器COMP3的输出变为“0”,并且选择器SEL3输出剪贴号X-CL=1;而当计数器值X1=2时,比较器COMP3的输出变为“1”,并且选择器SEL3输出剪贴号X-CL=2。
在5×5像素单元的情形中,计数器值变为“0,1,2,3,4”,并且当右边沿Redg=1被设置,并且剪贴号X-CL=3被设置时,已经受剪贴处理的值X2变为“0,1,2,3,3”。换言之,根据已通过设置在被读出像素单元内的边沿位置而设置的剪贴号来执行剪贴处理。
此外,在读出像素单元为10×10扩大块的情形中,计数器值X1变为“0,1,2,3,4,5,6,7,8,9”,并且当右边沿Redg=1和剪贴号X-CL=8被设置时,已经受剪贴处理的值X2变为“0,1,2,3,4,5,6,7,8,8”。
加法器54和55将被读出像素单元的位置信息Xoff,Yoff分别加到已经受剪贴处理的计数器值X2,Y2,并且输出坐标变换后的位置信息X3,Y3。如果被读出像素单元是整个扩大块,则位置信息Xoff,Yoff都为“0”。此外,如果如图7所示,被读出像素单元是扩大块内的一部分,则位置信息为Xoff=3,Yoff=2。并且地址计算电路56包括乘法器MPX,其将宽度W与Y计数值Y3相乘;以及加法器ADD5,其将X计数值X3加到相乘结果Y3*W。加法器ADD5的输出变为内部存储器中的地址ADD1。
图12是示出了图像数据的另一个示例的图。该图是与图2相对应的图,并且在本示例中,包括添加有两个周围像素的8×8的像素块的扩大块EBLK被存储在内部存储器18中。因此,当从内部存储器读出5×5像素单元时,需要对左边沿执行两个像素宽度的剪贴处理,因此剪贴号X-CL=2被设置,并且像素单元的移位位置被设置为Xoff=0,Yoff=4。计数器50和51产生“0,1,2,3,4”作为计数器值X1,Y1,并且剪贴处理电路52对计数器值X1执行剪贴处理,产生值X2“2,2,2,3,4”。位置信息Xoff=0被加到值X2,而位置信息Yoff=4被加到值Y2。
通过上述过程,本实施例的地址生成电路能够通过将前述数据设置为配置数据来产生地址,用于读出内部存储器中的任意位置中的任意尺寸的像素单元。此外,还能够任意设置图像处理专门和特殊的边沿位置的剪贴处理。此外,还能够在任意边沿执行剪贴处理,而不管读出数据单元是否接触边沿,从而避免读出在像素单元的边沿处的像素的数据。
在图9和图10示出的地址生成电路中,剪贴处理电路根据计数器50和51的计数器值X1和Y1执行剪贴处理。作为变体实施例,剪贴处理电路也可以布置为在已经将像素单元的位置信息Xoff和Yoff加到计数器值X1,Y1之后,执行其剪贴处理。换言之,该结构可以是加法器54和55与剪贴处理电路52和53互换的。在这种情形中,通过提供关于存储在内部存储器中的块BLK是否接触帧的左、右、上或下边沿的边沿信息,可以重复读出在帧的边沿处的像素的图像数据,而不读出帧外部的任何不正确的图像数据。另外,在这种情形中,被提供给剪贴处理电路的剪贴号X-CL和Y-CL被设置为与扩大块EBLK的位置信息(X1+Xoff,Y1+Yoff)相对应的值。因此,利用这种类型的结构,当读出在帧的边沿位置的像素单元并且执行剪贴处理时,避免了读出帧外部的图像数据。
本申请基于2005年9月29日提交的在先日本专利申请No.2005-284718,并且要求该申请的优先权,该申请通过引用全文结合于此。
权利要求
1.一种用于图像处理的可重配置地址生成电路,该电路基于配置数据被配置为任意状态,并且该电路产生用于从存储器读出具有多行和多列的像素单元的图像数据的读地址,所述存储器存储扩大块的图像数据,所述扩大块具有包括一个帧内的至少部分像素组的块以及围绕所述块的像素,其中作为所述配置数据,设置了与被读出像素单元的列数相对应的X计数终值和与所述被读出像素单元的行数相对应的Y计数终值、指示所述扩大块的列数的宽度值、以及边沿信息,所述边沿信息指示针对其对所述被读出像素单元执行剪贴处理的边沿,所述地址生成电路包括X计数器,所述X计数器重复计数到所述X计数终值;Y计数器,所述Y计数器响应于所述X计数器的进位信号,计数到所述Y计数终值;X剪贴处理电路,所述X剪贴处理电路根据左和右边沿信息,转换所述X计数器的计数值;Y剪贴处理电路,所述Y剪贴处理电路根据上和下边沿信息,转换所述Y计数器的计数值;以及地址计算电路,所述地址计算电路基于来自所述X和Y剪贴处理电路的所述计数值和所述宽度值,产生所述读出地址。
2.根据权利要求1所述的用于图像处理的地址生成电路,其中作为所述配置数据,设置了指定剪贴处理位置的剪贴值;如果所述边沿信息涉及所述左边沿,则所述X剪贴处理电路当所述X计数器的计数值小于所述剪贴值时,将所述计数值转换为所述剪贴值,并且如果所述边沿信息涉及所述右边沿,则所述X剪贴处理电路当所述X计数器的计数值大于所述剪贴值时,将所述计数值转换为所述剪贴值;并且如果所述边沿信息涉及所述上边沿,则所述Y剪贴处理电路当所述Y计数器的计数值小于所述剪贴值时,将所述计数值转换为所述剪贴值,并且如果所述边沿信息涉及所述下边沿,则所述Y剪贴处理电路当所述Y计数器的计数值大于所述剪贴值时,将所述计数值转换为所述剪贴值。
3.根据权利要求1所述的用于图像处理的地址生成电路,其中,作为所述配置数据,还设置了所述扩大块内的所述被读出像素单元的位置信息,所述地址生成电路还包括加法电路,所述加法电路将所述位置信息加到所述剪贴处理电路的输出计数值上。
4.根据权利要求1所述的用于图像处理的地址生成电路,其中,如果所述被读出像素单元接触所述帧的所述左、右、上或下边沿中的任何边沿,则所述边沿信息被设置为用于指示剪贴处理的值。
5.根据权利要求1所述的用于图像处理的地址生成电路,其中,如果满足预定条件,则所述边沿信息被设置为用于指示剪贴处理的值。
6.一种用于图像处理的可重配置地址生成电路,该电路基于配置数据被配置为任意状态,并且该电路产生用于从存储器读出具有多行和多列的像素单元的图像数据的读地址,所述存储器存储图像数据,其中作为所述配置数据,设置了与被读出像素单元的列数相对应的X计数终值和与所述被读出像素单元的行数相对应的Y计数终值、指示所述存储器中的所述图像的列数的宽度值、以及边沿信息,所述边沿信息指示针对其对所述被读出像素单元执行剪贴处理的边沿,所述地址生成电路包括X计数器,所述X计数器重复计数到所述X计数终值;Y计数器,所述Y计数器响应于所述X计数器的进位信号,计数到所述Y计数终值;X剪贴处理电路,所述X剪贴处理电路根据左和右边沿信息,转换所述X计数器的计数值;Y剪贴处理电路,所述Y剪贴处理电路根据上和下边沿信息,转换所述Y计数器的计数值;以及地址计算电路,所述地址计算电路基于来自所述X和Y剪贴处理电路的所述计数值和所述宽度值,产生所述读出地址。
7.根据权利要求6所述的用于图像处理的地址生成电路,其中作为所述配置数据,设置了指定剪贴处理位置的剪贴值;如果所述边沿信息涉及所述左边沿,则所述X剪贴处理电路当所述X计数器的计数值小于所述剪贴值时,将所述计数值转换为所述剪贴值,并且如果所述边沿信息涉及所述右边沿,则所述X剪贴处理电路当所述X计数器的计数值大于所述剪贴值时,将所述计数值转换为所述剪贴值;并且如果所述边沿信息涉及所述上边沿,则所述Y剪贴处理电路当所述Y计数器的计数值小于所述剪贴值时,将所述计数值转换为所述剪贴值,并且如果所述边沿信息涉及所述下边沿,则所述Y剪贴处理电路当所述Y计数器的计数值大于所述剪贴值时,将所述计数值转换为所述剪贴值。
8.根据权利要求6所述的用于图像处理的地址生成电路,其中,作为所述配置数据,设置了所述存储器的所述图像内的所述被读出像素单元的位置信息;所述地址生成电路还包括加法电路,所述加法电路将所述位置信息加到所述剪贴处理电路的输出计数值上。
9.一种可重配置LSI,包括根据权利要求1到8中任意一个的用于图像处理的地址生成电路,以及状态控制电路,所述状态控制电路产生所述配置数据。
全文摘要
本发明提供了一种图像处理的可重配置地址生成电路及可重配置LSI。用于图像处理的可重配置地址生成电路基于配置数据被配置为任意状态,产生用于从存储图像数据的存储器读出具有多行和多列的像素单元的图像数据的读地址。被读出像素单元的X,Y计数终值、存储器中的图像的宽度值以及用于剪贴处理的边沿信息被设置为配置数据。地址生成电路具有X计数器;Y计数器;X,Y剪贴处理电路,其根据左、右、上和下边沿信息,转换X,Y计数器的计数值;以及地址计算电路,其基于来自X和Y剪贴处理电路的计数值和宽度值产生读出地址。
文档编号G06F15/80GK1940991SQ20061000820
公开日2007年4月4日 申请日期2006年2月16日 优先权日2005年9月29日
发明者河野哲雄 申请人:富士通株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1