CN101202914B - 具有本地寄存器的处理元件阵列 - Google Patents

具有本地寄存器的处理元件阵列 Download PDF

Info

Publication number
CN101202914B
CN101202914B CN2007101966391A CN200710196639A CN101202914B CN 101202914 B CN101202914 B CN 101202914B CN 2007101966391 A CN2007101966391 A CN 2007101966391A CN 200710196639 A CN200710196639 A CN 200710196639A CN 101202914 B CN101202914 B CN 101202914B
Authority
CN
China
Prior art keywords
register
array
input data
data
treatment element
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
CN2007101966391A
Other languages
English (en)
Other versions
CN101202914A (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.)
InterDigital VC Holdings Inc
Original Assignee
Thomson Licensing SAS
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 Thomson Licensing SAS filed Critical Thomson Licensing SAS
Publication of CN101202914A publication Critical patent/CN101202914A/zh
Application granted granted Critical
Publication of CN101202914B publication Critical patent/CN101202914B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/60Memory management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/80Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
    • G06F15/8007Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors single instruction multiple data [SIMD] multiprocessors
    • G06F15/8023Two dimensional arrays, e.g. mesh, torus

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Image Processing (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

本发明提供了一种具有本地寄存器的处理元件阵列。通常以大规模并行的方式,作为单指令多数据(SIMD)架构,以硬件来实现专用图像处理电路。已知的实现方式具有在处理元件和存储器子系统之间的连接路径长且复杂的问题,并且产生对最大操作频率的限制。图像处理的优化架构具有按照二维结构布置的处理元件(PE00、...PE77),并且每个处理元件具有包含多个参考像素的本地存储装置(X 0、...X 8),所述多个参考像素在参考图像中不是邻居。相反,参考像素属于参考图像的不同块,这对于不同的编码方案可不同。

Description

具有本地寄存器的处理元件阵列
技术领域
本发明涉及一种具有用于输入数据的本地寄存器的处理元件阵列。 
背景技术
运动估计(ME)是需要大量处理能力的时间严格的应用的示例。因此,通常以大规模并行的方式,作为单指令多数据(SIMD)架构,以硬件来实现专用电路。这些架构通常对于每个要计算的值具有一个处理元件(PE),例如,用于将当前图像的像素与参考像素相比较。通常,前一图像中的相应像素及其邻居用作参考像素。更一般而言,任意的一维、二维或多维数据集用作处理的输入。针对ME的PE可访问当前像素和存储在存储器中的多个参考像素。通常从大的图像存储器中将像素拷贝到可更快速访问的较小的操作存储器中。这种拷贝操作花费相对较长的时间,因为大的图像存储器较慢。操作存储器包含多个块,这些块根据所采用的编码方案而可用作用于预测当前块的参考。块通常具有16×16、8×8或4×4像素的方形结构。 
通常,积累用于像素块的PE的结果,以用于计算当前块和特定参考块之间的相似度,并且随后的电路确定最相似的参考块,然后基于该块来对当前块进行编码。 
因此,PE需要访问分布在操作存储器各处的多个参考像素,并且操作存储器与当前块相比相对较大。如果要避免冗余的像素存储,则需要具有复杂连接电路的架构。例如,US2003/0174252使用可编程纵横开关来将像素值从存储器子系统分配到PE。位掩码控制PE可访问哪些像素数据。纵横开关通常包含深层次的大量多路选择器元件,这对于较高的操作频率而言是不利的。 
通常,以硬件,例如ASIC来实现ME电路。然而,已知的实现方式通常具有在PE和存储器子系统之间的连接路径长且复杂的问题,并且具有对最大操作频率的限制。因此需要一种优化的架构。 
发明内容
本发明提供一种架构,优化了PE及其各自的存储器子系统之间的时间严格的信号路径。已经认识到,在现有技术的实现方式中,这些信号路径实现两个不同的功能,即参考像素的重新排序(这较慢)以及重排的参考像素与PE的连接(需要很快)。原理上,主要通过将这两个功能分离而实现根据本发明的优化。 
本发明的一个方面是一种多个数字处理元件的阵列,其中,数字处理元件是用于处理数字输入数据并提供数字输出数据的硬件结构,所述阵列可以为一维、二维或三维,其中每个数字处理元件与用于保持参考输入数据的多个第一寄存器(X0、…、X8)以及用于保持当前输入数据的至少一个第二寄存器(R0)相关联,其中可在加载模式下从所述阵列的外部数据源加载参考输入数据;以及每个数字处理元件的多个第一寄存器(X0、…、X8)中的每一个而不是第二寄存器(R0)通过可切换连接与所述阵列的每一维中的两个邻接处理元件的对应的第一寄存器相连,其中,与处于阵列边界处的处理元件相关联的第一寄存器和与处于阵列的相对边界处的处理元件的不对应的第一寄存器相连,其中可切换连接能够切换以实现移位寄存器模式,其中存储在一个第一寄存器中的值能够移位到与该第一寄存器相连的另一第一寄存器中。 
在本发明的一个实施例中,移位寄存器模式包括两个或多个子模式,其中,子模式允许向所述阵列的每一维的每个方向移位。例如,对于一维,“右”和“左”的不同子模式是可能的,而对于至少二维,“北”、“南”、“东”和“西”是可能的。 
在本发明的一个实施例中,可在第二组寄存器处于移位寄存器模式时将第一组寄存器切换到加载模式。在本发明的一个实施例中,作为“短移位寄存器”模式的另一模式包括与不处于阵列边界处的处理元件相关联的寄存器和与处于阵列边界之一处的处理元件相关联的寄存器相连。因此,仅仅阵列的一些PE的本地寄存器被设置为移位寄存器,而不使用其它寄存器,例如可加载其它寄存器。这在加载花费的 时间长于一个时钟周期的情况下是有利的。 
在本发明的一个实施例中,由时钟信号来操作所述阵列,并且按照与移位寄存器模式下的移位相同的时钟周期来执行PE的所述处理。 
在本发明的一个实施例中,在一维或多维上按照顺序布置输入数据,并且根据所述顺序,存储在与特定处理元件相关联的多个寄存器中的输入数据不对应于相邻像素。 
在本发明的一个实施例中,在相邻数据块中布置输入数据,并且与处理元件相关联的多个寄存器用于存储来自不同块的输入数据(即每个寄存器存储来自不同块的数据)。 
在根据本发明一个实施例的架构中,按照二维结构来布置多个PE,并且每个PE都具有本地存储装置。每个PE的本地存储装置包括在输入数据字段(例如参考图像)中不是邻居的多个参考值(例如像素)。相反,参考像素属于参考图像的不同块,这对于不同编码方案可以不同。取决于所定义的搜索区域,参考像素之一可直接与当前像素相对应,即该像素在参考图像中的坐标与当前像素在当前图像中的坐标相同。例如,其它参考像素可来自参考图像中的邻接块或宏块。它们被用于大于8×8像素的更大的块尺寸。 
在二维阵列结构中,每个PE与其直接邻居相连,从而可与任意邻接PE进行像素值的移位,这实现了本发明实施例中的二维移位寄存器。这允许在多个参考块上对当前块进行移位。 
此外,在本发明的一个实施例中,每个PE的存储器子系统包含用作参考像素加载区域的扩展区域,即这次不与当前像素比较而下次要比较的像素的存储区域。这允许从主图像存储器中相对较慢地加载像素,因为对扩展区域的写入与对存储器的主要搜索区域的处理/移位不互相干扰。在这种模式下可独立对主要搜索区域进行移位。由于这种加载能力,可以以任意方式扩展参考块,同时处理其它数据。 
所附权利要求、下面的说明书和附图公开了本发明的有利实施例。 
附图说明
参考附图来描述本发明的示范性实施例,附图中: 
图1的上半部分示出了8×8PE阵列; 
图1的下半部分示出了PE的本地存储器; 
图2示出了主要搜索区域、扩展区域的结构以及有关像素对PE的分配; 
图3示出了边界和非边界PE的邻居关系; 
图4示出了特定通信寄存器的电路;以及 
图5示出了PE的结构、其通信寄存器和输入数据字段区域。 
具体实施方式
对于运动估计,搜索前一场/帧中给定块的最佳匹配位置。为了实现该目的,必须将给定块与搜索区域中的多个位置进行比较。为了实现所需处理速度,使用对于每个像素具有一个PE的并行硬件。如图1所示,这可以实现为PE的二维阵列或网格。在本发明的该实施例中,每个PE具有9个专用寄存器X0、…、X8,每个寄存器均保持参考像素值。例如,一个寄存器X0保持参考图像的相应块的相应像素,三个寄存器X1、X3、X4保持可用于例如8×16、16×8、16×16的更大块尺寸的参考图像的邻接块的相应像素,并且五个寄存器X2、X5、X6、X7、X8 用于缓冲如下所述移入或移出16×16块X0-X1-X3-X4的像素。例如,邻接参考块是被称作东X1、南X3和东南X4的块。此外,一个寄存器R0 保持要搜索的当前像素。此外,多个额外的寄存器R1-R9可用于该目的。所有这些寄存器都在PE本地可用。因此,PE内这些寄存器和处理单元之间的连接结构非常简单。此外,如果当前块大于8×8,每个PE可具有保持例如当前块的三个额外像素的额外寄存器R1、R2、R3。这允许在例如8×16、16×8或16×16的块上进行块匹配。 
考虑单个像素来自于每个PE本地存储的情况下,可以更好地理解所述结构。图2示出了参考图像的24×24像素区域,其中每个像素本地存储在PE网格中。在该示例中,参考图像的主要搜索区域包括4个8×8的块。例如,主要搜索区域的每个块的左上角本地存储在PE00中,在寄存器X0、X1、X3和X4中。按照相同的方式,将其它参考像素分配给其它PE。 
在运动估计过程中,确定当前块与参考块之间的相似度,例如绝对差之和(SAD)。如果特定PE的8×8块的当前像素存储在本地寄存器R0中,则PE计算绝对差| R0-X0|,并且上级处理器(例如累加器) 按照SAD=∑|R0-X0|,计算所有PE的SAD。在另一示例中,8×16块的当前像素存储在本地寄存器R0和R1中。PE以一个或两个步骤来计算绝对差|R0-X0|和| R1-X1|,这取决于PE硬件,并且累加器计算SAD=∑|R0-X0|+|R1+X1|。对于这种搜索,邻接参考块的像素在PE本地可用是有利的。因此,对于处理8×8数据块的应用,上述8×8 PE网格(每个PE对于当前值具有四个寄存器R0、…、R3)被优化了,而且也可处理8×18、16×8或16×16数据的块,这对于当前所用的ME算法也是一样的。对于其它应用,修改PE个数和/或每个PE的寄存器个数是有利的。 
对于ME,存储SAD,移动搜索区域,并重复SAD计算。确定具有最小SAD的块,并最终将其选择作为用于确定运动矢量的参考块。通常通过相对彼此移位搜索区域和参考区域,来进行搜索区域的移动,这通常是复杂的过程,但是对于本发明的架构而言很简单。根据本发明的一个方面,在较小的当前区域保持不动的同时移位较大的搜索(或参考)区域,直到遍历了所有位置。因此,R0-R3寄存器中的当前值对于每个PE而言保持相同,而修改“专用”寄存器(X0、…、X8)中的值。 
根据本发明的一个方面,这些“专用”寄存器(X0、…、X8)通过可切换连接与邻接PE的相应“专用”寄存器相连,实现了二维移位寄存器,可以进行北、东、南或西移位。由于PE可通过这些寄存器(X0、…、X8)将它们的值通过通信传递到邻接的PE,所以这里这些寄存器被称为通信寄存器。可切换连接典型地使用多路选择器。多路选择器是简单的,例如6∶1,并且通过短线连接到邻居PE。因此,高频操作是可能的。当完成PE的处理步骤并且要将当前块移动到搜索区域中的下一位置时,仅通过相应地控制PE网格的所有多路选择器,就能(沿当前所用方向)将每个PE的像素移位到其邻居PE。显然,非常容易改变搜索方向,即通过不同的多路选择器控制。下面描述边界PE的邻居映射。 
因此,获得了移位寄存器,其提供了在PE之间交换搜索数据的有效方式。这允许逐个像素地移动搜索区域像素。例如,沿“北”方向的移位操作会将特定PE(例如PE11)的像素移位到其北面邻居PE01 的相应寄存器。移出搜索区域的像素被输入网格的相反一侧(尽管这也被称作“旋转”,但是在此使用术语“移位”)。例如,在“北”移位中,来自PE01的像素被移位到PE71。对于“南”移位也是这样,对于“东”和“西”移位也是一样的。因此,所有PE的通信寄存器构成了二维环形缓冲器。然而,由于8×8块,该结构是复杂的:这从图2中可见,图2还示出了取决于移位方向的可能的环形缓冲器的结构。例如,当配置为在所有块上“东”(=右)移位时,保持最上一行像素的一个环形缓冲器包含PE00-PE07的所有X0寄存器、相同PE的所有X1寄存器以及相同PE的所有X2寄存器。如图3所示,该行中的最后一个寄存器PE07X2与第一个PE00X0相连,这构成了环形结构。相应地布置搜索区域的其它行,对于列也是一样的。 
在一次搜索中,例如,沿行扫描顺序或蛇形扫描顺序,在8×8块内的所有可能的位置上移动搜索区域。例如,在沿“南”方向的七次移位操作之后,PE00X0、PE10X0、…、PE70X0的内容被移动到PE70X0、PE00X3、…、PE60X3。使用蛇形扫描顺序意味着下面进行“东”移位,因此PE70X0、PE00X3、…、PE60X3的内容被移动到PE71X0、PE01X3、…、PE61X3,以计算下一个SAD,然后进行八次“北”移位、又一次“东”移位,如此等等。第一行/列仅需要七次移位,因为在加载数据时已经进行了第一次计算。其它类型的蛇形扫描可使用其它算法,例如(7×E)-S-(8×W)-S-(8×E)-S-…或者(7×N)-W-(8×S)-W-(8×N)-W-…(其中例如,E是一次“东”移位和PE计算,等等)。将参考图像的当前未用部分移位到扩展寄存器X2、X5、X6、X7、X8,并且稍后可移位回来。也可使用其它类型的扫描顺序,例如从中间块开始的螺旋扫描。有利地,由于PE的寄存器是同等的,所以这在所提出的结构中是可能的,因此,例如,搜索区域内要搜索的8×8源块可存储在R0寄存器中,但是例如也可存储在R3寄存器中,这取决于所采用的搜索策略。类似地,扩展区域也可处于上侧或左侧,例如对于螺旋扫描而言需要这样,这同样是因为PE内的通信寄存器X0-X8具有同等结构。 
这种结构的一个特殊的优点在于可在边缘处扩展网格或阵列,而不限制搜索区域的大小,因为仅有最多四个通信寄存器被用作当前搜 索位置。如图2所示,这四个寄存器是每个PE的X0、X1、X3和X4。例如,如果处理16×16的块,则每个PE在下一次移位之前执行四次计算,即|R0-X0|、|R1-X1|、|R2-X2|和|R3-X3|。对于这些计算,可能需要四次循环。然后,假设相应的扩展区域事先已经加载有有效数据,如上所述地进行移位。 
例如,对于“东”或“西”移位,事先必须加载右扩展区域(通信寄存器X2和X5),而对于“北”或“南”移位,事先必须加载底部扩展区域(通信寄存器X6和X7)。在八次移位之后,各个扩展区域的通信寄存器仅保持了最初处于主要搜索区域的数据。如果使用蛇形扫描顺序,则会将这些数据移位回去。然而,对于搜索区域的扩展,所经过的时间(4×8循环)可能已被用于从主要图像存储器加载新的扩展区域数据。这是有利的,因为不需要在特定时刻访问主要图像存储器,而可在这32个循环期间的任何时刻进行访问。这允许在主要图像存储器很慢或很繁忙时同样进行ME的无缝操作。来自主要图像存储器的新数据可收集在中间缓冲器中,并在第八和第九次移位之间,在单个步骤中被拷贝到扩展区域的通信寄存器中。 
根据本发明的架构对于其它类型的处理也是有利的,尤其是对于图像处理,例如二维滤波。PE的数目和/或每个PE的通信寄存器数目根据实际应用而不同。在任何情况下,PE都具有本地寄存器(通信寄存器),本地寄存器可动态地连接成用作在移位时不会丢失数据的环形缓冲器的不同类型的移位寄存器。使用这种寄存器结构,可以对较大的输入数据字段进行操作,而不需要连续地访问该输入数据字段的源。这通过将当前操作步骤的输入数据移位以便在下一操作步骤中在另一或相同PE中重新使用而实现。因此,沿PE移动输入数据,而不是沿输入数据移动PE及其当前的中间结果。 
图4示意性地且仅在原理上示出了PE43的特定通信寄存器X1的电路,在图3中同样突出了该通信寄存器。该寄存器PE43X1通过多路选择器MX43X1连接到PE43的本地寄存器及其邻居,即南向的PE53X1、西向的PE42X1、北向的PE33X1以及东向的PE44X1。取决于多路选择器的位置,由控制信号CRTL控制,沿各个方向移动值。此外,保持当前值需要一个多路选择器位置,即在不执行移位时需要一个多路选择器 位置。在一个实施例中,控制信号CTRL对于所有通信寄存器利PE都是相同的。在另一个实施例中,可以仅移位图2的24×24个寄存器的一部分,因此不同控制信号用于PE阵列的不同部分。例如,对于东或西移位,也许不需要对底部的扩展区域进行移位,因为不使用该部分。在8×8的块模式中,对块的一行或一列进行移位就足够了。在这种情况下,使用“短移位寄存器”模式,其中,与不处于阵列边界处的处理元件相关联的寄存器和与处于阵列的边界之一处的处理元件相关联的寄存器相连(图4未示出该模式)。 
图4还示出了PE的实际处理单元PU43可通过另一多路选择器MX43X与其任意本地通信寄存器相连。基于当前模式而切换该连接。例如,如果源块位于8×8块模式的左上角,则所述本地通信寄存器仅仅是X0,而在16×16块模式的情况下,所述本地通信寄存器是X0、X1、X3和X4。然而,由于所有寄存器X0、…、X8是等同的,所以源块可位于任意处。由于仅需要每个PE的四个通信寄存器来构建公共的16×16宏块,所以可将一行或一列用于从存储器加载新数据以便扩展搜索区域。示例地,需要8个循环来旋转一个块,但是仅需要3个循环来加载新的行或列。因此,可动态地将搜索区域扩展到不受限制的大小,而不需要额外的循环。 
如图4所示,PE的九个通信寄存器中的每一个仅具有PE之外的四个连接。所有连接对于PE的直接邻居而言是本地的,并因此很短。信号通路从寄存器开始,并结束在目标寄存器中,在此之前仅需要很小的多路选择器。因此,芯片上的实现的路由和定时闭合相对比较容易。 
此外,由于PE与其邻居相连,并且边界是环绕的,所以在边界处不需要额外的循环。例如,PE07X2的“东”邻居是PE00X0,而其“北”邻居是PE77X8。 
图5在顶部示出了与图2右下角相对应的图1PE阵列PE00、…、PE77,在第二层示出了PE的通信寄存器PE00X0-X8、…、PE77X0-X8,并在第三层示出了输入数据字段的一部分。由于九个通信寄存器保持了来自不同块的像素数据,所以这些像素不是参考图像中的邻居,而是当前九个块的一种粗略表示。原理上,该架构将多块的数据结构映射到 单块的数据结构上,例如将3×3块的参考区域映射到单个PE块。图5未示出通信寄存器之间的互连。 
在实际实现中,可在与移位相同的循环中执行处理。因此,如果对于8×8的块模式,如上所述可在一个循环中执行处理,则数据可以被连续地移位并同时被PE处理。 
根据本发明的PE结构的编程需要简单但是专门的命令,例如选择移位模式的命令或对于不同移位模式的不同命令、从外部(中间)存储器将数据加载到一个扩展区域的命令等。 
根据本发明的架构例如对于一维滤波也是有利的。如果输入数据排列成一行,例如单行图像数据像素,则它们可以被组织成n个连续值的组。代替通常一个寄存器与一个PE相关联,有两个或多个寄存器与每个PE相连。PE的这些寄存器中的每一个存储来自不同组输入数据的数据。PE通过多路选择器依次连接到其每个输入寄存器,并计算各个输出值。然后,将值移位到邻接的PE。不同的PE可执行不同的操作,或者可对不同的数据集合执行相同类型的操作。根据本发明的结构减少了数据加载时间,缩短了输入数据的连接(对于高速电路是有利的),并且由于可被切换或配置为处理不同的处理方案,所以是灵活的。 
本发明对于对输入数据阵列(甚至是二维或多维输入数据字段)进行操作的各种处理结构都是有利的,尤其在总是执行相同类型的计算的情况下。 

Claims (14)

1.一种多个数字处理元件(PE00、…、PE77)的阵列,其中,数字处理元件是用于处理数字输入数据并提供数字输出数据的硬件结构,所述阵列可以为一维、二维或三维,其中
-每个数字处理元件与用于保持参考输入数据的多个第一寄存器(X0、…、X8)以及用于保持当前输入数据的至少一个第二寄存器(R0)相关联,其中可在加载模式下从所述阵列的外部数据源加载参考输入数据;以及
-每个数字处理元件的多个第一寄存器(X0、…、X8)中的每一个而不是第二寄存器(R0)通过可切换连接与所述阵列的每一维中的两个邻接处理元件的对应的第一寄存器相连,其中,与处于阵列边界处的处理元件相关联的第一寄存器和与处于阵列的相对边界处的处理元件的不对应的第一寄存器相连,其中可切换连接能够被切换以实现移位寄存器模式,其中存储在一个第一寄存器中的值能够移位到与该第一寄存器相连的另一第一寄存器中。
2.根据权利要求1所述的阵列,其中,所述移位寄存器模式包括两个或多个子模式,其中子模式允许向所述阵列的每一维的每个方向移位。
3.根据权利要求1或2所述的阵列,其中,可在第二组第一寄存器处于所述移位寄存器模式时将第一组第一寄存器切换到所述加载模式。
4.根据权利要求1所述的阵列,其中,在作为“短移位寄存器模式”的另一模式中,与不处于阵列边界处的处理元件相关联的第一寄存器和与处于阵列边界之一处的处理元件相关联的第一寄存器相连。
5.根据权利要求1所述的阵列,其中,在第一寄存器处于所述移位寄存器模式时不对第二寄存器(R0)的内容进行移位。
6.根据权利要求1所述的阵列,其中,由时钟信号来操作所述阵列,并且按照与所述移位寄存器模式下的移位相同的时钟周期来执行处理元件对数字输入数据的处理。
7.根据权利要求1所述的阵列,其中,所述处理元件阵列为二维,每一维具有八个处理元件,并且每个处理元件具有九个用于保持参考输入数据的所述第一寄存器(X0、…、X8)。
8.根据权利要求1所述的阵列,其中,在一维、二维、或三维上按照顺序布置参考输入数据,并且根据所述顺序,存储在处理元件的多个寄存器中的参考输入数据不对应于相邻像素。
9.根据权利要求8所述的阵列,其中,在相邻数据块中布置输入数据,并且与处理元件相关联的多个寄存器(X0、…、X8)用于存储来自不同块的参考输入数据。
10.根据权利要求1所述的阵列,其中,数字输入数据和数字输出数据是多比特值。
11.根据权利要求10所述的阵列,其中,所述多比特值是图像的像素值。
12.根据权利要求1所述的阵列,其中所述处理元件用于比较存储在主要搜索区域中的第一寄存器(X0、…、X8)中的参考输入数据和存储在第二寄存器(R0)中的当前输入数据。
13.根据权利要求1所述的阵列,其中对于扩展区域中的第一寄存器,在存储于其他第一寄存器中的数据被处理单元处理的同时加载参考数据。
14.一种用于在块级别上执行运动估计的设备,包括根据权利要求1所述的阵列,其中当前输入数据是当前搜索块的像素数据,参考输入数据是参考块的像素数据,其中处理元件计算当前搜索块和参考块之间的相似度。
CN2007101966391A 2006-12-01 2007-11-29 具有本地寄存器的处理元件阵列 Expired - Fee Related CN101202914B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP06301200.9 2006-12-01
EP06301200A EP1927949A1 (en) 2006-12-01 2006-12-01 Array of processing elements with local registers

Publications (2)

Publication Number Publication Date
CN101202914A CN101202914A (zh) 2008-06-18
CN101202914B true CN101202914B (zh) 2012-01-11

Family

ID=37907631

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2007101966391A Expired - Fee Related CN101202914B (zh) 2006-12-01 2007-11-29 具有本地寄存器的处理元件阵列

Country Status (4)

Country Link
US (1) US7941634B2 (zh)
EP (1) EP1927949A1 (zh)
JP (1) JP5131830B2 (zh)
CN (1) CN101202914B (zh)

Families Citing this family (48)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7321623B2 (en) 2002-10-01 2008-01-22 Avocent Corporation Video compression system
US9560371B2 (en) * 2003-07-30 2017-01-31 Avocent Corporation Video compression system
US7457461B2 (en) * 2004-06-25 2008-11-25 Avocent Corporation Video compression noise immunity
US8718147B2 (en) * 2006-02-17 2014-05-06 Avocent Huntsville Corporation Video compression algorithm
CA2650663A1 (en) * 2006-04-28 2007-11-08 Avocent Corporation Dvc delta commands
US10298834B2 (en) 2006-12-01 2019-05-21 Google Llc Video refocusing
GB201007406D0 (en) * 2010-05-04 2010-06-16 Aspex Semiconductor Ltd Block motion estimation
US9329834B2 (en) * 2012-01-10 2016-05-03 Intel Corporation Intelligent parametric scratchap memory architecture
US9858649B2 (en) 2015-09-30 2018-01-02 Lytro, Inc. Depth-based image blurring
US10334151B2 (en) 2013-04-22 2019-06-25 Google Llc Phase detection autofocus using subaperture images
US9749548B2 (en) 2015-01-22 2017-08-29 Google Inc. Virtual linebuffers for image signal processors
US10412373B2 (en) 2015-04-15 2019-09-10 Google Llc Image capture for virtual reality displays
US11328446B2 (en) 2015-04-15 2022-05-10 Google Llc Combining light-field data with active depth data for depth map generation
US10565734B2 (en) 2015-04-15 2020-02-18 Google Llc Video capture, processing, calibration, computational fiber artifact removal, and light-field pipeline
US10275898B1 (en) 2015-04-15 2019-04-30 Google Llc Wedge-based light-field video capture
US10567464B2 (en) 2015-04-15 2020-02-18 Google Llc Video compression with adaptive view-dependent lighting removal
US10444931B2 (en) 2017-05-09 2019-10-15 Google Llc Vantage generation and interactive playback
US10440407B2 (en) 2017-05-09 2019-10-08 Google Llc Adaptive control for immersive experience delivery
US10419737B2 (en) 2015-04-15 2019-09-17 Google Llc Data structures and delivery methods for expediting virtual reality playback
US10469873B2 (en) 2015-04-15 2019-11-05 Google Llc Encoding and decoding virtual reality video
US10341632B2 (en) 2015-04-15 2019-07-02 Google Llc. Spatial random access enabled video system with a three-dimensional viewing volume
US10540818B2 (en) 2015-04-15 2020-01-21 Google Llc Stereo image generation and interactive playback
US10546424B2 (en) 2015-04-15 2020-01-28 Google Llc Layered content delivery for virtual and augmented reality experiences
US9785423B2 (en) 2015-04-23 2017-10-10 Google Inc. Compiler for translating between a virtual image processor instruction set architecture (ISA) and target hardware having a two-dimensional shift array structure
US10291813B2 (en) * 2015-04-23 2019-05-14 Google Llc Sheet generator for image processor
US9772852B2 (en) 2015-04-23 2017-09-26 Google Inc. Energy efficient processor core architecture for image processor
US9756268B2 (en) 2015-04-23 2017-09-05 Google Inc. Line buffer unit for image processor
US10095479B2 (en) * 2015-04-23 2018-10-09 Google Llc Virtual image processor instruction set architecture (ISA) and memory model and exemplary target hardware having a two-dimensional shift array structure
US9965824B2 (en) * 2015-04-23 2018-05-08 Google Llc Architecture for high performance, power efficient, programmable image processing
US9769356B2 (en) 2015-04-23 2017-09-19 Google Inc. Two dimensional shift array for image processor
US9979909B2 (en) 2015-07-24 2018-05-22 Lytro, Inc. Automatic lens flare detection and correction for light-field images
US9830150B2 (en) 2015-12-04 2017-11-28 Google Llc Multi-functional execution lane for image processor
US10313641B2 (en) 2015-12-04 2019-06-04 Google Llc Shift register with reduced wiring complexity
US10387988B2 (en) * 2016-02-26 2019-08-20 Google Llc Compiler techniques for mapping program code to a high performance, power efficient, programmable image processing hardware platform
US10204396B2 (en) * 2016-02-26 2019-02-12 Google Llc Compiler managed memory for image processor
US10380969B2 (en) 2016-02-28 2019-08-13 Google Llc Macro I/O unit for image processor
US10275892B2 (en) 2016-06-09 2019-04-30 Google Llc Multi-view scene segmentation and propagation
US10546211B2 (en) 2016-07-01 2020-01-28 Google Llc Convolutional neural network on programmable two dimensional image processor
US20180005059A1 (en) 2016-07-01 2018-01-04 Google Inc. Statistics Operations On Two Dimensional Image Processor
US20180007302A1 (en) 2016-07-01 2018-01-04 Google Inc. Block Operations For An Image Processor Having A Two-Dimensional Execution Lane Array and A Two-Dimensional Shift Register
US20180005346A1 (en) * 2016-07-01 2018-01-04 Google Inc. Core Processes For Block Operations On An Image Processor Having A Two-Dimensional Execution Lane Array and A Two-Dimensional Shift Register
US10679361B2 (en) 2016-12-05 2020-06-09 Google Llc Multi-view rotoscope contour propagation
US10594945B2 (en) 2017-04-03 2020-03-17 Google Llc Generating dolly zoom effect using light field image data
US10474227B2 (en) 2017-05-09 2019-11-12 Google Llc Generation of virtual reality with 6 degrees of freedom from limited viewer data
US10354399B2 (en) 2017-05-25 2019-07-16 Google Llc Multi-view back-projection to a light-field
US10545215B2 (en) 2017-09-13 2020-01-28 Google Llc 4D camera tracking and optical stabilization
US10965862B2 (en) 2018-01-18 2021-03-30 Google Llc Multi-camera navigation interface
US20200210517A1 (en) * 2018-12-27 2020-07-02 Intel Corporation Systems and methods to accelerate multiplication of sparse matrices

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1155117A (zh) * 1996-01-19 1997-07-23 张胤微 一种高速乘法器
CN1475015A (zh) * 2000-09-18 2004-02-11 ض� 具有内建自测功能的存储模块和存储部件
CN1688135A (zh) * 2005-05-13 2005-10-26 清华大学 10g网络性能测试仪流量接收、抓取和统计电路组件
CN1246980C (zh) * 2000-02-10 2006-03-22 皇家菲利浦电子有限公司 数字无绳电信系统终端的控制单元及用于控制单元的方法

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3544973A (en) * 1968-03-13 1970-12-01 Westinghouse Electric Corp Variable structure computer
US4380046A (en) * 1979-05-21 1983-04-12 Nasa Massively parallel processor computer
US4811413A (en) * 1987-10-22 1989-03-07 International Business Machines Corp. System of reconfigurable pipelines of generalized neighborhood function morphic image processors
US5179714A (en) * 1988-10-07 1993-01-12 Martin Marietta Corporation Parallel bit serial data processor
JP2717850B2 (ja) * 1989-05-30 1998-02-25 富士通株式会社 高速通信機構を持った並列計算機
US5706290A (en) * 1994-12-15 1998-01-06 Shaw; Venson Method and apparatus including system architecture for multimedia communication
WO1994009595A1 (en) * 1991-09-20 1994-04-28 Shaw Venson M Method and apparatus including system architecture for multimedia communications
JP3084170B2 (ja) * 1992-08-13 2000-09-04 三菱電機株式会社 動きベクトル検出装置
DE4322343C2 (de) 1992-07-06 1996-10-02 Mitsubishi Electric Corp Mittel zum Erfassen eines Bewegungsvektors und Verfahren zum Bestimmen eines Bewegungsvektors
US5428804A (en) * 1992-12-18 1995-06-27 Xerox Corporation Edge crossing circuitry for SIMD architecture
JP3089165B2 (ja) * 1994-11-10 2000-09-18 株式会社グラフィックス・コミュニケーション・ラボラトリーズ 動きベクトル探索装置
US6118901A (en) 1997-10-31 2000-09-12 National Science Council Array architecture with data-rings for 3-step hierarchical search block matching algorithm
US6167501A (en) * 1998-06-05 2000-12-26 Billions Of Operations Per Second, Inc. Methods and apparatus for manarray PE-PE switch control
US6643763B1 (en) 2000-02-28 2003-11-04 International Business Machines Corporation Register pipe for multi-processing engine environment
US6754801B1 (en) * 2000-08-22 2004-06-22 Micron Technology, Inc. Method and apparatus for a shift register based interconnection for a massively parallel processor array
US6596979B2 (en) * 2001-02-20 2003-07-22 Syscan Technology (Shenzhen) Co., Limited Method and apparatus for scanning colors using multiple arrays of photodetectors
DE60237256D1 (de) * 2001-03-14 2010-09-23 Ricoh Kk Lichtemissionsmodulation mit einem effektiven Verfahren zur Erzeugung von Grautönen in einem Bild
US7072395B2 (en) 2001-07-20 2006-07-04 Ess Technology, Inc. Memory control apparatus and efficient search pattern for block-matching motion estimation
KR100451584B1 (ko) * 2001-12-20 2004-10-08 엘지전자 주식회사 웨이블릿 변환과 움직임 추정을 이용한 동영상 부호화 및복호화 장치
FR2865290A1 (fr) * 2004-01-21 2005-07-22 Thomson Licensing Sa Procede de gestion de donnees dans un processeur matriciel et processeur matriciel mettant en oeuvre ce procede
US7483420B1 (en) * 2004-03-08 2009-01-27 Altera Corporation DSP circuitry for supporting multi-channel applications by selectively shifting data through registers
US7539845B1 (en) * 2006-04-14 2009-05-26 Tilera Corporation Coupling integrated circuits in a parallel processing environment

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1155117A (zh) * 1996-01-19 1997-07-23 张胤微 一种高速乘法器
CN1246980C (zh) * 2000-02-10 2006-03-22 皇家菲利浦电子有限公司 数字无绳电信系统终端的控制单元及用于控制单元的方法
CN1475015A (zh) * 2000-09-18 2004-02-11 ض� 具有内建自测功能的存储模块和存储部件
CN1688135A (zh) * 2005-05-13 2005-10-26 清华大学 10g网络性能测试仪流量接收、抓取和统计电路组件

Also Published As

Publication number Publication date
US7941634B2 (en) 2011-05-10
EP1927949A1 (en) 2008-06-04
US20080133881A1 (en) 2008-06-05
CN101202914A (zh) 2008-06-18
JP5131830B2 (ja) 2013-01-30
JP2008165756A (ja) 2008-07-17

Similar Documents

Publication Publication Date Title
CN101202914B (zh) 具有本地寄存器的处理元件阵列
US11475101B2 (en) Convolution engine for neural networks
CA2215598C (en) Fpga-based processor
US4939642A (en) Virtual bit map processor
CN101371263A (zh) 用于在并行处理系统中处理多媒体数据的算法步骤的方法和装置
WO1999053412A9 (en) Global input/output support for a mesh connected computer
US20170251184A1 (en) Shift register with reduced wiring complexity
EP0773502B1 (en) Two-dimensional associative processor and data transfer method
JP2002222117A (ja) メモリの使用方法、2次元データ・アクセス・メモリ、及び演算処理装置
KR20070061538A (ko) Simd 프로세서 및 데이터 통신 방법
CN114008602A (zh) 环形计算机网络上的嵌入式环
US7000090B2 (en) Center focused single instruction multiple data (SIMD) array system
US6845423B2 (en) Conflict-free memory system and method of address calculation and data routing by using the same
CN113785280A (zh) 环形计算机网络上的嵌入环
Chen et al. An efficient algorithm for complete Euclidean distance transform on mesh-connected SIMD
US7783861B2 (en) Data reallocation among PEs connected in both directions to respective PEs in adjacent blocks by selecting from inter-block and intra block transfers
EP1927950A1 (en) Array of processing elements with local registers
CN113095024A (zh) 一种张量数据的区域化并行载入装置及方法
CN102045568B (zh) 双斜栅扫描实现对角线匹配运动估计匹配电路结构和方法
Pan et al. Constant-time algorithm for computing the Euclidean distance maps of binary images on 2D meshes with reconfigurable buses
Pan et al. A scalable and efficient algorithm for computing the city block distance transform on reconfigurable meshes
CN113095030A (zh) 一种可伸缩的并行数据载入装置及方法
JP3726977B2 (ja) 2次元peアレイ装置並びにデータ転送方法およびモルフォロジー演算処理方法
CN111797585A (zh) 一种深度卷积神经网络硬件加速器中的可伸缩的并行数据载入装置及其设计方法
JP2004145493A (ja) マッチング演算回路

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
CP02 Change in the address of a patent holder

Address after: I Si Eli Murli Nor, France

Patentee after: THOMSON LICENSING

Address before: French Boulogne - Bilang Kurt

Patentee before: THOMSON LICENSING

CP02 Change in the address of a patent holder
TR01 Transfer of patent right

Effective date of registration: 20190528

Address after: American Delaware

Patentee after: Interactive Digital VC Holdings

Address before: I Si Eli Murli Nor, France

Patentee before: THOMSON LICENSING

TR01 Transfer of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20120111

Termination date: 20201129

CF01 Termination of patent right due to non-payment of annual fee