CN1199096C - 并行数据处理及重排 - Google Patents
并行数据处理及重排 Download PDFInfo
- Publication number
- CN1199096C CN1199096C CNB008060525A CN00806052A CN1199096C CN 1199096 C CN1199096 C CN 1199096C CN B008060525 A CNB008060525 A CN B008060525A CN 00806052 A CN00806052 A CN 00806052A CN 1199096 C CN1199096 C CN 1199096C
- Authority
- CN
- China
- Prior art keywords
- parallel
- array
- data
- tsmm1
- processing 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.)
- Expired - Fee Related
Links
- 238000012545 processing Methods 0.000 title claims abstract description 69
- 101000966782 Homo sapiens Lysophosphatidic acid receptor 1 Proteins 0.000 claims abstract description 22
- 102100040607 Lysophosphatidic acid receptor 1 Human genes 0.000 claims abstract description 22
- 230000015654 memory Effects 0.000 claims abstract description 20
- 238000003860 storage Methods 0.000 claims description 41
- 239000011159 matrix material Substances 0.000 claims description 22
- 230000008707 rearrangement Effects 0.000 claims description 21
- 238000000034 method Methods 0.000 claims description 10
- 238000001914 filtration Methods 0.000 claims description 7
- 239000003086 colorant Substances 0.000 claims description 5
- 230000008878 coupling Effects 0.000 claims description 3
- 238000010168 coupling process Methods 0.000 claims description 3
- 238000005859 coupling reaction Methods 0.000 claims description 3
- 101710190443 Acetyl-CoA carboxylase 1 Proteins 0.000 claims description 2
- 102100021334 Bcl-2-related protein A1 Human genes 0.000 claims description 2
- 238000012432 intermediate storage Methods 0.000 abstract description 4
- 238000005070 sampling Methods 0.000 description 11
- 230000008901 benefit Effects 0.000 description 8
- 238000004891 communication Methods 0.000 description 8
- 238000006243 chemical reaction Methods 0.000 description 7
- 230000017105 transposition Effects 0.000 description 7
- 238000012546 transfer Methods 0.000 description 6
- 238000004364 calculation method Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 239000000047 product Substances 0.000 description 4
- 101001038001 Homo sapiens Lysophosphatidic acid receptor 2 Proteins 0.000 description 2
- 102100040387 Lysophosphatidic acid receptor 2 Human genes 0.000 description 2
- 102000011842 Serrate-Jagged Proteins Human genes 0.000 description 2
- 108010036039 Serrate-Jagged Proteins Proteins 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000005611 electricity Effects 0.000 description 2
- 238000005265 energy consumption Methods 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 101100434411 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) ADH1 gene Proteins 0.000 description 1
- 238000009825 accumulation Methods 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 101150102866 adc1 gene Proteins 0.000 description 1
- 230000003321 amplification Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 239000007795 chemical reaction product Substances 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000006073 displacement reaction Methods 0.000 description 1
- 230000007717 exclusion Effects 0.000 description 1
- 230000002349 favourable effect Effects 0.000 description 1
- 230000008676 import Effects 0.000 description 1
- 238000012804 iterative process Methods 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000003199 nucleic acid amplification method Methods 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000035945 sensitivity Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/76—Arrangements for rearranging, permuting or selecting data according to predetermined rules, independently of the content of the data
- G06F7/762—Arrangements for rearranging, permuting or selecting data according to predetermined rules, independently of the content of the data having at least two separately controlled rearrangement levels, e.g. multistage interconnection networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/76—Arrangements for rearranging, permuting or selecting data according to predetermined rules, independently of the content of the data
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N25/00—Circuitry of solid-state image sensors [SSIS]; Control thereof
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Software Systems (AREA)
- Image Processing (AREA)
- Color Television Image Signal Generators (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Transforming Light Signals Into Electric Signals (AREA)
Abstract
本发明提供了一个并行数据处理设备,其具有一个并行处理单元阵列(LPA1...320)用于处理一个信号来获得并行数据流;以及用于以一个块式样方式重排该并行数据流的装置(TSMM1...80)。该数据重排装置(TSMM1...80)具有一个可寻址开关存储器矩阵阵列(TSMM1...80),其每一个都和一个预定数量的处理单元(LPA1...320)相连接。该开关存储器矩阵阵列(TSMM1...80)解决了高度并行线性阵列处理器的数据流局限以及图像处理算法所需要的中间存储。在一个照相机系统中,该并行数据处理设备和一个传感器阵列一起结合使用。
Description
本发明涉及一种设备、一种方法以及一种照相系统,其中信号在一个处理单元阵列中进行处理,以获得数据的并行流。
在Sweden,Linkoping Teknikringen 2C,SE-583 30,IVPIntegrated Vision Products AB公司的MAPP2200产品资料中,描述了在同一个半导体芯片上一个传感器以及一个通用用途的图象处理器组合。这是一个包含一个256×256个传感器全矩阵以及256个处理器单元的二维智能视觉传感器。该机内的处理器阵列并行处理一整行像素。在一整条图像线的灰度等级上并行执行一个模-数转换。在一个图像行或者一个寻址寄存器中的所有像素是同时处理的。该并行处理是在该图像寄存器上逐位执行的。一次计算的结果保存在累加器中,或者,如果该指令是一条算术指令的话,也保存在进位寄存器中。这些寄存器的内容能够移动到一个存储器寄存器中,作为下一个指令的第二操作数,或者经由状态寄存器从控制器存取。该现有技术的传感器用于目标识别且不适于视频通信。 该现有技术的传感器没有公开一种用于彩色图像的传感器的一种并行实现,其中这种传感器合乎视频通信的需要。
本发明的一个目的是提高并行数据处理的一种灵活性。为此,本发明提供了如在独立权利要求中定义的那样一种设备、一种照相机系统以及一种方法。在从属权利要求中定义了有利的实施例。
本发明的一个第一实施例的特征在于:该设备进一步包含用于以一个块式样(block-wise)的方式重排(SHUFFLING)该并行数据流的装置。
在高度并行处理中,灵活性,尤其就数据流而言,是显著受约束的。本发明结合并行数据处理,还提供了在视频处理设备中广泛使用的块级别计算。
在一个实际的实施例中,该数据重排装置包含一个可寻址的交换存储器矩阵阵列,它们的每一个都与一个预定编号的处理单元相连。该交换存储器矩阵能够以一个块式样的方式重排该数据。因为该交换存储器是并行排列的,所以控制是非常有效的。
本发明进一步提供一种包含依据本发明的一个传感器和一个设备的照相机系统。该照相机系统是最佳应用于视频通信。视频通信应用程序现今要求一个合理数量的块级别计算,用于,例如压缩。本发明提供了一个高度并行结构的一种扩展,来使,例如块级别计算变得可能。
根据本发明的第一方面,提供了一种并行数据处理设备,该设备包含:一个并行处理单元阵列(LPA1...320),用于处理一个信号来获得并行的数据流,每一个并行处理单元阵列包括至少一个算术逻辑单元(1...320),该设备的特征在于包括多个数据重排装置(TSMM1...80),用于以一个块式样方式重排该并行数据流,每一个数据重排装置与预定数量的处理单元相连接。
根据本发明的第二方面,提供了一种照相机系统,包含:
一个传感器阵列(S),用于获得一个信号;以及上述的一个并行数据处理设备,用于处理该信号。
根据本发明的第三方面,提供了一种处理一个信号的方法,包含如下步骤:
在一个处理单元阵列(LPA1...320)中处理该信号来获得并行数据流,每一个并行处理单元阵列包括至少一个算术逻辑单元(LPA1...320),基特征在于
在多个数据重排装置(TSMM1...80)中,以一个块式样方式重排该并行数据流(TSMM1...80),每一个数据重排装置与预定数量的处理单元耦合。
参考在下文中描述的实施例,本发明的上述方面及其他方面将变得明显以及将被解释清楚。
在附图中:
图1显示了根据本发明的一个具有一高并行处理体系结构和数据重排装置的照相机系统;
图2显示了一个滤色阵列;
图3显示了根据本发明的一种线性处理阵列的一个结构;
图4显示了根据本发明的一个数据重排装置结构;
图5到8显示了图4所示的数据重排装置的不同的工作状态;以及
图9和10显示了其中两个相邻开关矩阵已经耦合的数据重排装置的工作状态。
这些附图仅仅显示了那些理解本发明所必需的元件。
图1显示了本发明的一个最佳实施例,即,根据本发明的一个具有一高并行处理体系结构和数据重排装置的照相机系统; 该照相机系统包含一个具有一并行模-数转换器(ADC1...320)的图像传感器阵列S。该ADC和一个线性处理器阵列(LPA1...320)以及一个行存储器(LM)相连。该照相机系统的各个部分由一个中央处理单元(CPU)来控制。该照相机系统的最佳是使用CMOS图像处理,在CMOS图像处理中,固态CMOS传感器和数字信号处理(DSP)集成在单个IC芯片上。
即使没有数据重排装置,图1的实施例已经能够执行像素级别的图像处理和过滤,例如死像素替换、自动加白、自动曝光控制等等。
然而,一个高等级的并行性会导致在执行更复杂的块级别算法,例如DCT和锯齿形扫描时,会具有很小的灵活性。本发明因此提供了一个高并行体系结构的一种扩展,允许该信号处理设备有效地执行块级别操作,包括独立的递归离散余弦变换(DCT)、色度二次采样、以及锯齿形(ZZ)扫描等等。至此,利用用于以一种块式样方式重排数据的装置,该照相机系统已经被增强了。该数据重排装置(TSMM1...80)和LPA以及行存储器LM相连。在一个实际实施例中,这些数据重排装置包含一个换位开关存储器矩阵(TSMM)阵列。该TSMM是一个附加到该原来结构中的块级别存储器单元。TSMM设计用来提高在处理单元和行存储器LM之间的数据流。它们可以被认为是行存储器LM具有增加功能的一种扩充。该TSMM结合处理单元,并能够在它们之间进行存储和通信。在一个更进一步的实施例中,TSMM绑定一个相邻的TSMM,并且能够把数据传递到一个相邻的TSMM中。其他的优点有,TSMM可以转置数据并且能够访问四个处理器的输出,即,块式样的随机寻址。因为TSMM每个和4个处理器单元相连,所以在这个实施例中TSMM的总数为80个。
由于整体上的并行体系结构,不仅仅获得了高的计算性能,同时也具有良好的电源消耗功能。芯片内存储器的数据带宽不是由作为芯片外存储器对应物的、I/O管脚的数目所限制。数据带宽限制可能由存取等待时间要求或者串话所引起,但是这些问题可以通过减小存储器单元的时钟要求而得到缓解。这可以利用充分的并行性和恰当的结构设计来完成。利用一个足够低的时钟频率,可以降低工作电压来获得更进一步节电量。能量消耗的主要减少是归因于数据是从行存储器LM中并行获得的原理。在顺序处理器中,存储器存取耗费了电源的大部分。在一个顺序处理器中,为了运行一个算法,必须对每个像素的存储器都要进行若干次存取。首先,在LPA中,简单的因为能够进行倍数计算,利用单次读/写动作就可以立刻让所有的像素值变得可用,所以每个像素访问存储器的数目就减少了。其次,线存储器LM的电源效率和访问像素存储器相比要高出3倍。电能效率的一部分更进一步来自于ADC和LPA的并行实现。虽然计算是否是顺序执行还是并行执行和计算能力无关,但是通过低速的共享项目例如控制解码和读取指令,可以降低电源消耗。
该照相机系统可应用于电子静止图像(ESP/DSC),数字视频录像摄像机,桌面摄像机,可视电话,监视等等方面。所有这些产品的特点为低成本和一个高级别的集成度。这些应用程序的某一些也要求低能耗。本实施例支持典型的信号处理任务,如:模数转换(ADC)、图像增强和变换,以及大量的控制功能例如白色均衡和曝光时间控制。
事实上有两种可编程数字处理器:用于基于线算法的中央处理器和用于基于像素算法的线性处理器阵列(LPA1...320)。 两种处理器都从一个程序存储器(PM)获得它们的指令。非可编程处理器和控制器可用来提供行和列地址选择器、一个ADC控制器、一个I2C控制处理器以及一个串行处理器(SP)。这些处理器可以从CPU接受参数用于二次采样、感兴趣区域选定、镜像、增益、黑色电平、伽玛以及视频输出格式。该串行处理器经由一个列选择器(CS)与行存储器LM相连。
图像传感器S可以是一个活动像素的VGA(640×480)矩阵。在通过在一个像素的电容上施加某个电压而复位它之后,入射光将开始降低这个电荷。在某个曝光时间之后,读取在该电容上的剩余电压,其反映了照明度或者说是″像素值″。曝光时间是由在复位和读出该像素之间的延迟来控制。该传感器能够被看作是一个具有图像行做为随机寻址字的大模拟存储器。这意味着虽然在一整行内的所有像素(即640个)被同时读出,随机选择一个感兴趣区域(ROI)仍然是有可能的。
如图2所示,这些像素可以被一个光学滤色阵列所覆盖。这个过滤器为每个独立的像素指定一个红色(R)、绿色(G)或者蓝色(B)灵敏度。在该滤色阵列中的一行都包含两个交替的不同颜色。因为每个时钟周期仅仅处理一个颜色,每个处理单元共享相当于不同的颜色的两列是有利的。因此该并行处理器阵列LPA包含320个最佳的相同处理单元,即一个处理单元用于两个列。这种共享相当于不同颜色的列的方法,取决于应用的滤色器。例如,当一个滤色器在一行中提供三种不同的颜色时,每个处理单元可以共享三列。
由于CMOS传感器是在行的基础上读出的,最好是使用一个并行的ADC。所有的列是同时转换的。由于低采样速率,事实上,一个公共部分能够被所有ADC所共享,而且可以允许一个固定的偏移量,当与视频速度ADC相比时,并行ADC能够设计电源损耗非常有效率。在该ADC中,每列具有一个比较器,其允许在一组锁存器中存储输出值。每个比较器的一个输入和要数字化的信号连接。当在比较器的另一个输入处施加一个来自一综合的斜波发生器的斜波信号时,该输入信号保持稳定。当该斜波信号到达该输入值时,比较器将进行切换并且存储在那时施加到锁存器上的数字值。通过将该锁存器和一个全局计数器连接,该计数器某种程度上和斜波发生器同步,转换时间(以及由此的模拟输入值)能够被映射到一个数字值上,并且被贮存在该锁存器中。并行ADC的一个缺点是,参数的传播会导致对于相等的强度列之间的反应会不同。这显示其自身为在图像信号中基于列的“固定图像噪声″(FPN)。这个列FPN可以由一个初始程序进行估计,并且保存在一个行存储器中,用于在正常运转模式中进行抵消。像素级别的FPN由众所周知的的两次取样方法进行纠正,其中模拟减法已经集成到ADC中。因为滤色阵列,两个列能够共享一个ADC单元。以这种方法,就可以出现模拟的多路复用。当想要数字多路复用时,就需要每个列一个ADC。
图3显示了一个处理器阵列LPA1...320的一个实际实现。通过左右通信信道COMM和多路复用器MUX1...320,每个处理单元能够直接从六个列中获得数据。从行存储器LM或者一个给定TSMM中读取的数据能够被重定向到相应的处理单元或者在左边或者右边的处理单元,这样就提供了在处理单元LPA1...320之间的有限通信。在一个给定的时钟周期中,一个数据字能够被移入到邻近的处理单元中。 所有的处理单元都在它们的当地数据上运行相同的指令。再次,与一个顺序的列处理器相比,电耗又减少了,因为依据单指令多数据(SIMD)原理,控制和地址解码仅仅执行一次且由所有的处理单元共享。每个处理器都包含一个累加器ACC1...320用于存储最新结果,这些结果能够被用作一条下一步指令的一个操作数。在ALU1...320中实现了一加法器和一个乘法器,利用这些功能,就可以执行比较、加法、减法、数据加权和乘法-聚集。该处理器包括一个标记F,其依据最新结果而设置。基于这个标记F,就有可能实现条件通过指令,其允许在算法中一个有限形式的数据相关性。所有320个标记F1...F320都和一条全局线EVT相连,其又和CPU相连。用这种方法,在该并行处理器阵列LPA上就能够运行一个具有某个终止条件的迭代过程,或者说CPU能够对图像内容起作用。因此CPU提供一个控制信号INSTR。在点P1...P4上,结果数据变得可用。与这些点P1...P4相连,来自行存储器LM或者TSMM的数据可以被用在相应的处理单元LPA1...320中。
这可以使用累加器ACC,存储器LM的内容或者一个全局加权WGHT作为一个操作数。加权WGHT,其对所有的处理器LPA1...320都是相等的,可以用来在乘法和乘法聚集指令中放大数据。加权WGHT可以由CPU提供。
并行处理器LPA可以用来做的任务包含:固定图形噪声降低,缺陷像素隐藏,降噪,颜色重构和颜色域变换,其还包含预滤波用于二次取样目的。
通过为该行存储器LM使用一个双端口原理,在一个指令周期中,操作数能够从存储器中读取出来,而且结果能够被写回到预定存储单元上。在一个实际的实施例中,行存储器(LM)包含16个行存储器用于临时存储数据。更进一步,附加的三行被用作只写存储器,其用于排队计算的最后结果。
CPU管理整个芯片。它的主要任务是保持程序计数器,来读取和解码指令并且把它们传递给LPA。除这些之外,它能够执行全局计算,用于暴光时间控制,白色均衡等等。它使用统计的图像数据,这些数据在内部寄存器中(由串行处理器SP)进行更新。有许多可用的、包括乘法在内的逻辑与算术指令。对于程序控制,CPU处理在一个程序中的(条件)跳转,因此包含许多(程序)计数器。此外,CPU能够在由并行处理器LPA产生的事件上做出反应,并且跳转到不同的子程序中。CPU的某些寄存器可以通过I2C进行访问,因此给出了一种往返于一个终端用户的通信方式。例如,能够向CPU指定一个感兴趣区域,然后CPU就寻址选定的行与列用于处理。程序存储器PM保存用于CPU的指令。注意这个存储器PM也保存属于并行处理器LPA的指令。对该指令进行解码,然后要么LPA要么CPU就被激活了。这种顺序指令读取,易于从一个程序对两个处理器的组合编程。
最佳情况为:该TSMM包含一个附加在一个寄存器矩阵上的半连接纵横开关。该TSMM的提议结构如图4所描述。矩形MR表示在该存储器矩阵中的寄存器。该TSMM进一步包含由圆圈所代表的可控开关T。一个填充的圆圈意味着该开关是闭合的并且是导通的。一个空的圆圈意味着该开关是开启的并且是不导通的。该TSMM可以独立于该行存储器进行全局编址和存取。在附图中,作为举例,给定了一个4乘4的寄存器矩阵。因为处理单元与两列传感器阵列相连,所以该TSMM实际上与在该传感器阵列中的八列相连。在这个实施例中,一个TSMM实际上安排用来处理一个8乘4像素块。在一个实际的实施例中,有八条总线,四条横向(r1...r4),四条纵向(c1...c4),这样形成的纵横开关是16位宽的。这些总线和处理单元LPA,行存储器LM,相邻的TSMM以及矩阵的寄存器MR相连。更进一步,开关T位于横向总线(r1...r4)和纵向总线(c1...c4)的交叉处,来控制在连接单元之间的数据流。虽然可以在每个交叉点上放置一个开关,在这个实施例中最佳情况为:如图4所示在交叉点上放置七个开关。此外,每个MR都连接到相应的横向总线(r1...r4)和纵向总线(c1...c4),其由两个开关T来控制。通过横向总线或者纵向总线,数据能够流入和流出寄存器MR。
该寄存器矩阵能够解释为:四列(c1...c4)四个寄存器MR,其中每一列相应于一个特定的处理单元LPA1...320。一个处理单元能够有限地访问在该TSMM内的其它列。依据本发明的实施例提供了以下数据流配置:行存储器存取,寄存器存取,转置读/写,处理单元选择读/写,纵向块传送。这些配置将在以下进行论述。
图5显示了一个数据通过模式。在PI...P4上的开关T是闭合的,其导致一个到行存储器的直接数据通路。该TSMM对处理器LPA和行存储器MEM来说是透明的。没有数据贮存在寄存器MR中,因为所有连接到寄存器的开关都是打开的。
图6显示了一个寄存器存取模式。在这个模式中,TSMM用于临时存储。数据能够从存储器寄存器中读取,并且能够写入到存储器寄存器中。如图5所示,在P1...P4的开关是闭合的。此外,第三行与相应列相连的寄存器开关T也是闭合的。以这种方式,就可以在第三寄存器行中以一种类似字的方式读取或者写入一整行。这四列是互斥的。该TSMM中的一列与相应的处理单元相关,并且能够仅仅由该相应的处理单元直接存取。该TSMM能够用于临时存储,其类似在行存储器LM中的存储。TSMM与LM相比的一个优点是:TSMM更接近于LPA,并且可以在一个比LM更低的时钟频率上运行。存储器的局部化可以更加节电。
图7显示了一个转置读取模式。贮存在TSMM中的数据以列范围进行读取,然后通过闭合适当的开关T路由到纵向总线,以输出一个横向字回到处理单元。由此TSMM的转置读取(如果在相反方向应用的话,就是写入)就实现了。
图8显示了一个处理器选择存取模式。这个图显示了使用TSMM任意地存取处理器四个输出的一个,以及在TSMM一列的四个寄存器的一个中任意存储该输出的能力。作为例子,在P2的开关T闭合,因此仅仅允许来自LPA2的数据进入TSMM。通过启动适当的开关T,这个数据被路由到TSMM第一列的第四寄存器MR。以这种方式,来自LPA2的一个输出被写入到TSMM第一列c1的第四个寄存器中。因为LPA1...320不是独立可选的,所以由一个处理单元对TSMM的读取将会导致问题。那时所有的处理单元都将试图读取并且执行具有不确定结果的一些处理。当LPA1...320的累加器是有选择可寻址时,这个问题就得到有效地解决。
图9和10显示了块传送模式。在这些模式中,TSMM两个两个地彼此耦合。以这种方式,图1所示的照相机系统包含40个平行双TSMM队列。图9和10显示了用于从一个块到一个相邻块转移数据的可能模式。注意到为了允许传输数据,需要在TSMM之间的开关T(也称作传输门),以使得在同一横向总线的数据流到一个相邻TSMM上是可能的。图9显示了从TSMM2的上面到左边的一次块传送。以这样的方式启动在横向总线和纵向总线交叉点上的开关T,使得来自与P5...P8相连的处理单元的一行,以列方式向左传送。传输门T允许这些数据进入TSMM1。在TSMM1的横向总线和纵向总线交叉点上的开关T是这样启动的,以致该数据列在TSMM1中按一个行方式变得可用。这样来自与TSMM2相连的处理单元的数据就变得在TSMM1中可用,好象该数据是来自与TSMM1相连的处理单元。图10显示了一种块传送模式,其中在TSMM1中的一行被传送到TSMM2。这个模式可与在图9中所示的模式相比,但是在相反方向。除了数据来自处理单元以外,在图9和10中所示的模式也可适用于从行存储器LM获得数据。因为来自行存储器LM的数据在TSMM的底部进入,在P1到P8的开关就不是那样使用了。因为LPA整体上的并行体系结构,上述关于图8的类似读取问题也会发生。同样在这种情况下,当LPA不得不读取数据时,最好具有选择性可寻址的LPA累加器。虽然图9和10举出一个关于TSMM1和TSMM2的实例,对其它耦合的TSMM,例如TSMM3+TSMM4等等,同样是正确的。
上面描述的各种工作模式允许设备以一种有效的方法来执行各种算法,例如递归或者矩阵离散余弦变换(DCT)、色度二次采样和锯齿形(ZZ)扫描。这些特征将在以下进行论述。
块DCT应用于每个宏块的四个Y块,一个U块和一个V块。一个更可取的算法是aburdene等人在IEEE Signal ProcessingLetters,2(8),pp.155-156,1995年8月的文章″Computationof discrete cosine transform using Clenshaw′s recurrenceformula″中描述的一个独立二维递归DCT算法。该DCT算法的输入是一个从一个块的一列获取的8像素序列和两个加权。该加权确定了结果DCT系数的纵坐标。由于每块由四个处理单元进行服务,四个DCT系数可以并行处理。对于一个完全的块DCT,计算纵向一维的DCT需要十六遍该DCT算法,还需要另外十六遍用于计算该横向一维的DCT。该递归DCT算法有利于最小化中间存储所需要的区域。要求有两个中间变量来处理一个DCT系数。更快的蝶式DCT算法,需要八个中间变量用于每个处理单元。由于中间变量需要高精度,就需要更多的区域来把它们集成到像素缓冲区,例如行存储器LM中。TSMM为每个处理单元提供四个高精度中间寄存器MR。因为仅仅需要两个计算DCT系数的,还有两个寄存器可以用于其它目的。更重要地,贮存在TSMM中的DCT系数能够进行转置(见图7)。置换对于横向执行递归DCT算法是需要的。
至于该提议的体系结构,最佳是一个4乘4的TSMM。首先,它小于整个八乘八转置矩阵区域的1/4,因为一整个八乘八转置矩阵具有更多的寻址开销。其次,该处理单元仅仅产生四个DCT系数,而行存储器仅仅存储四个DCT系数。
块传送模式(见图9和10)提供了用于色度二次采样的有效模式。在以4∶2∶2格式对色度分量二次采样之前执行RGB-YUV的转换。RGB-YUV本身转换是一个像素级别的操作,并且涉及固定加权的相乘和乘积的累积。一旦像素被转换到YUV领域,在横向和纵向上都以2倍因子对U和V分量进行二次采样。在用于存储U和V分量的存储器分配中存在一个基本问题。在4∶2∶2格式中,在一个16×16像素宏块中的U和V分量被二次采样到8×8像素,而且Y分量没有进行子采样。一个宏块跨越两个块(两个8像素列)即两个TSMM单元或者8个处理单元。如果二次采样块被直接存储到相应的行存储器中的话,执行横向DCT时,效率是非常高的。更希望在宏块的一半上存储U块而且在另一半上存储V块。这个就允许同样的二维DCT代码应用到所有的Y、U和V块上。利用该块传送模式,这仅仅需要一次直接转送。即使在一个并行结构中,在相邻列之间的通信是可能的,这个传送需要四个数据移位周期。与图4的实施例相比,这个实施例的开销在于控制在TSMM之间的数据总线的开关。如果剩余用于在处理单元之间数据移位的周期数足够,或者如果开关引入的电容负载增加每次行存储器存取的功率,该数据块传送特征可以被省略。可以为实现而估算这个权衡。
块级别随机寻址(见图8)能够用于各种类型的算法,例如ZZ扫描。来自一个处理单元的累加器数据能够被有选择地编址并且写入到第一TSMM列四个寄存器的一个中。在写入到所有四个寄存器之后,能够对第一TSMM列进行转置,并写入到行存储器LM中。仅仅需要两位来寻址处理单元的输出,以及另外两位来寻址寄存器。如JPEG标准中描写的ZZ扫描能够用几种方式实现。本质上它是在一个八乘八块内的数据一次重新排序。在线性处理器阵列LPA中执行ZZ扫描和在LPA外面执行ZZ扫描之间的权衡是在硬件的复杂性上。在LPA外面执行ZZ扫描将需要一个块缓冲区,以保证在指定的流速率上有足够的数据用于重新排序。就将需要监视硬件来保持该缓冲器免于空或者溢出。需要在该流单元和LPA之间的同步将会引入在LPA中以及程序中的复杂性。在另一方面,如果ZZ扫描是在并行硬件中执行的话,流通量将是常数而且仅仅需要一个运行长度的编码器。
在没有引入较高复杂性的高度并行集成ALU中不能有效地实现可变长度编码,因此可变长度编码在该线性处理器阵列的外面处理。
概括地说,提出了一个高精度寄存器矩阵TSMM阵列,来解决高度并行线性阵列处理器的数据流局限,以及图像处理算法需要的中间存储。这种处理器和存储器单元的分级结构必需提高高度并行处理系统的灵活性,其中灵活性,特别是在数据流方面的灵活性被大大约束了。一个简单、专用存储器单元TSMM阵列结合一个高度并行的像素级别处理体系结构,其允许在单个芯片上以视频速率进行图像收集和运动-JPEG视频压缩。
本发明提供了一种具有一个并行处理单元阵列的并行数据处理设备,用于处理一个信号获得并行数据流,还提供了用于以一个块式样方式重排该并行数据流的装置。该数据重排装置具有一个可寻址的交换存储器矩阵阵列,它们的每一个都与一个预定编号的处理单元相连。该开关存储器矩阵阵列解决了高度并行线性处理器阵列的数据流局限性,以及图像处理算法所需要的中间存储。在一个照相机系统中,该并行数据处理设备和一个传感器阵列组合使用。
必须注意到以上描述的实施例仅仅用于说明而不是限制本发明,而且那些在本技术领域中的技术人员将能够设计出许多替换的实施例而没有背离附加权利要求的范围。列和行可以互换而没有背离本发明的范围。在该权利要求中,放置在括号内的任何参考符号将不会被看作是限制该权利要求。词″包含″没有排除除了列在一个权利要求内的其它元素或者步骤外,还有其它元素或者步骤的存在。本发明能够利用包含几个性质不同的单元的硬件来实现,也可以利用一个合适的程序控制计算机来实现。在一个枚举几个装置的设备权利要求中,这些装置的某些部分能够由硬件的一个和同一个零件所包含。
Claims (9)
1.一种并行数据处理设备,包含:
一个并行处理单元阵列(LPA1...320),用于处理一个信号来获得并行的数据流,每一个并行处理单元阵列包括至少一个算术逻辑单元(1...320),该设备的特征在于包括多个数据重排装置(TSMM1...80),用于以一个块式样方式重排该并行数据流,每一个数据重排装置与预定数量的处理单元相连接。
2.如权利要求1所述的一个设备,
其特征在于:多个数据重排装置(TSMM1...80)包含一个可寻址的开关存储器矩阵(TSMM1...80)阵列,其每一个都和一个预定编号的处理单元(LPA1...320)相连。
3.如权利要求2所述的一种设备,其特征在于:每个开关存储器矩阵(TSMM1...80)包含:
一个寄存器矩阵(MR);以及
一个具有行方向总线(r1...4)和列-方向总线(c1...4)的纵横开关,行方向总线(r1...4)和列方向总线(c1...4)的交叉点提供开关(T),每个寄存器(MR)和该纵横开关的一条行方向总线(r1...4)和一条列方向总线(c1...4)相连,而且每条列方向总线(c1...4)都和一个处理单元(LPA1...320)相连。
4.如权利要求2所述的一种设备,其特征在于:每个开关存储器矩阵(TSMM1...80)是一个方形矩阵。
5.如权利要求2所述的一种设备,其特征在于:该开关存储器矩阵(TSMM1...80)两个两个地彼此耦合。
6.如权利要求2所述的一种设备,
其特征在于:每个处理单元(LPA1...320)包含一个累加器(ACC1...320),该预定编号处理单元(LPA1...320)的累加器ACC(1...320)可以有选择地寻址。
7.照相机系统,包含:
一个传感器阵列(S),用于获得一个信号;以及
如权利要求1所述的一个并行数据处理设备,用于处理该信号。
8.如权利要求7所述的一种照相机系统,
其特征在于:该传感器阵列(S)具备一个滤色阵列,对应于不同颜色(R,G,B)的该传感器阵列的许多列可以由同一个处理单元(LPA1...320)所共享。
9.一种处理一个信号的方法,包含如下步骤:
在一个处理单元阵列(LPA1...320)中处理该信号来获得并行数据流,每一个并行处理单元阵列包括至少一个算术逻辑单元(LPA1...320),基特征在于
在多个数据重排装置(TSMM1...80)中,以一个块式样方式重排该并行数据流(TSMM1...80),每一个数据重排装置与预定数量的处理单元耦合。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP99204181A EP1107107A1 (en) | 1999-12-10 | 1999-12-10 | Parallel data processing and shuffling |
EP99204181.4 | 1999-12-10 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1346460A CN1346460A (zh) | 2002-04-24 |
CN1199096C true CN1199096C (zh) | 2005-04-27 |
Family
ID=8240980
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB008060525A Expired - Fee Related CN1199096C (zh) | 1999-12-10 | 2000-11-23 | 并行数据处理及重排 |
Country Status (7)
Country | Link |
---|---|
US (1) | US20010041012A1 (zh) |
EP (2) | EP1107107A1 (zh) |
JP (1) | JP4733894B2 (zh) |
KR (1) | KR100788179B1 (zh) |
CN (1) | CN1199096C (zh) |
DE (1) | DE60008706T2 (zh) |
WO (1) | WO2001042902A1 (zh) |
Families Citing this family (30)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7139743B2 (en) | 2000-04-07 | 2006-11-21 | Washington University | Associative database scanning and information retrieval using FPGA devices |
FR2834397A1 (fr) * | 2001-12-28 | 2003-07-04 | St Microelectronics Sa | Sous- echantillonnage de donnees images pixelisees |
US20030167408A1 (en) * | 2002-03-01 | 2003-09-04 | Fitzpatrick Gregory P. | Randomized bit dispersal of sensitive data sets |
JP2003283719A (ja) * | 2002-03-25 | 2003-10-03 | Noritsu Koki Co Ltd | 画像データ保存装置 |
US20040233294A1 (en) * | 2003-05-20 | 2004-11-25 | Mingjian Zheng | System and method for USB compatible I-frame only MPEG image compression |
US20040236920A1 (en) * | 2003-05-20 | 2004-11-25 | Sheaffer Gad S. | Methods and apparatus for gathering and scattering data associated with a single-instruction-multiple-data (SIMD) operation |
US10572824B2 (en) | 2003-05-23 | 2020-02-25 | Ip Reservoir, Llc | System and method for low latency multi-functional pipeline with correlation logic and selectively activated/deactivated pipelined data processing engines |
US7826664B2 (en) * | 2004-05-24 | 2010-11-02 | Xerox Corporation | Systems and methods for efficient manual windowing operation |
JP4599917B2 (ja) | 2004-07-09 | 2010-12-15 | ソニー株式会社 | 撮像装置 |
US7917299B2 (en) | 2005-03-03 | 2011-03-29 | Washington University | Method and apparatus for performing similarity searching on a data stream with respect to a query string |
US8134619B2 (en) * | 2007-07-02 | 2012-03-13 | Samsung Electronics Co., Ltd. | Column noise reduction device and method thereof |
KR100947846B1 (ko) * | 2008-02-28 | 2010-03-18 | 주식회사 티벳시스템 | 하드디스크 포멧장치의 접속단자 자동 절환장치 |
US8755515B1 (en) | 2008-09-29 | 2014-06-17 | Wai Wu | Parallel signal processing system and method |
CA3059606C (en) * | 2008-12-15 | 2023-01-17 | Ip Reservoir, Llc | Method and apparatus for high-speed processing of financial market depth data |
KR101292668B1 (ko) * | 2009-10-08 | 2013-08-02 | 한국전자통신연구원 | 멀티프로세서기반의 영상 복호화 장치 및 방법 |
KR20110055022A (ko) * | 2009-11-19 | 2011-05-25 | 한국전자통신연구원 | 데이터 및 기능적 분할 방식에 기반한 동영상 복호화 장치 및 방법 |
US9323994B2 (en) * | 2009-12-15 | 2016-04-26 | Micron Technology, Inc. | Multi-level hierarchical routing matrices for pattern-recognition processors |
JP4978719B2 (ja) * | 2010-07-26 | 2012-07-18 | ソニー株式会社 | 撮像装置 |
WO2013046475A1 (en) * | 2011-09-27 | 2013-04-04 | Renesas Electronics Corporation | Apparatus and method of a concurrent data transfer of multiple regions of interest (roi) in an simd processor system |
KR20130097972A (ko) * | 2012-02-27 | 2013-09-04 | 삼성전자주식회사 | 하드웨어 가속화를 통한 대규모 데이터의 분산 처리 장치 및 방법 |
CN103885984B (zh) * | 2012-12-21 | 2018-05-04 | 国际商业机器公司 | 处理数据库查询结果集的方法和设备 |
KR101520723B1 (ko) * | 2013-12-04 | 2015-05-15 | 크루셜텍 (주) | 지문 검출 장치 및 이의 구동 방법 |
CN108701236B (zh) * | 2016-01-29 | 2022-01-21 | 快图有限公司 | 卷积神经网络 |
US10497089B2 (en) | 2016-01-29 | 2019-12-03 | Fotonation Limited | Convolutional neural network |
US20180005059A1 (en) | 2016-07-01 | 2018-01-04 | Google Inc. | Statistics Operations On Two Dimensional Image Processor |
WO2018119035A1 (en) | 2016-12-22 | 2018-06-28 | Ip Reservoir, Llc | Pipelines for hardware-accelerated machine learning |
US20230229450A1 (en) * | 2018-02-23 | 2023-07-20 | Untether Ai Corporation | Computational memory |
US10868991B2 (en) | 2018-03-25 | 2020-12-15 | Ideal Industries Lighting Llc | High density parallel proximal image processing |
DE112020003436T5 (de) * | 2019-07-18 | 2022-04-14 | Sony Semiconductor Solutions Corporation | Festkörper-Bildgebungselement, Bildgebungseinrichtung und Verfahren zum Steuern eines Festkörper-Bildgebungselements |
CN112132765A (zh) * | 2020-09-28 | 2020-12-25 | 北京计算机技术及应用研究所 | 一种并行视频图像动态范围增强装置及方法 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4700320A (en) * | 1985-07-09 | 1987-10-13 | American Telephone And Telegraph Company, At&T Bell Laboratories | Bitmapped graphics workstation |
FR2617621B1 (fr) * | 1987-07-03 | 1989-12-01 | Thomson Semiconducteurs | Memoire de transposition pour circuit de traitement de donnees |
JP2793867B2 (ja) * | 1989-12-18 | 1998-09-03 | オリンパス光学工業株式会社 | 固体撮像装置 |
US5153731A (en) * | 1989-12-18 | 1992-10-06 | Olympus Optical Co., Ltd. | Solid state image pick-up device and apparatus capable of providing filtering output with direct and real time manner |
JPH03187585A (ja) * | 1989-12-18 | 1991-08-15 | Olympus Optical Co Ltd | 固体撮像素子 |
SE9002558D0 (sv) * | 1990-08-02 | 1990-08-02 | Carlstedt Elektronik Ab | Processor |
US5543932A (en) * | 1993-05-31 | 1996-08-06 | Sony Corporation | Digital video signal recording apparatus and digital video signal reproducing apparatus |
KR100498752B1 (ko) * | 1996-09-02 | 2005-11-08 | 소니 가부시끼 가이샤 | 비트메트릭스를 사용한 데이터 수신장치 및 방법 |
US6940541B1 (en) * | 1997-04-04 | 2005-09-06 | Eastman Kodak Company | Printer parameter compensation by a host camera |
US6115066A (en) * | 1997-06-12 | 2000-09-05 | International Business Machines Corporation | Image sensor with direct digital correlated sampling |
US6466265B1 (en) * | 1998-06-22 | 2002-10-15 | Eastman Kodak Company | Parallel output architectures for CMOS active pixel sensors |
US6714243B1 (en) * | 1999-03-22 | 2004-03-30 | Biomorphic Vlsi, Inc. | Color filter pattern |
-
1999
- 1999-12-10 EP EP99204181A patent/EP1107107A1/en not_active Withdrawn
-
2000
- 2000-11-23 JP JP2001544127A patent/JP4733894B2/ja not_active Expired - Fee Related
- 2000-11-23 EP EP00983152A patent/EP1159672B1/en not_active Expired - Lifetime
- 2000-11-23 WO PCT/EP2000/011652 patent/WO2001042902A1/en active IP Right Grant
- 2000-11-23 KR KR1020017010154A patent/KR100788179B1/ko not_active IP Right Cessation
- 2000-11-23 DE DE60008706T patent/DE60008706T2/de not_active Expired - Lifetime
- 2000-11-23 CN CNB008060525A patent/CN1199096C/zh not_active Expired - Fee Related
-
2001
- 2001-06-11 US US09/878,677 patent/US20010041012A1/en not_active Abandoned
Also Published As
Publication number | Publication date |
---|---|
US20010041012A1 (en) | 2001-11-15 |
JP2003516700A (ja) | 2003-05-13 |
KR20010102055A (ko) | 2001-11-15 |
DE60008706D1 (de) | 2004-04-08 |
KR100788179B1 (ko) | 2007-12-26 |
JP4733894B2 (ja) | 2011-07-27 |
WO2001042902A1 (en) | 2001-06-14 |
EP1159672B1 (en) | 2004-03-03 |
CN1346460A (zh) | 2002-04-24 |
EP1159672A1 (en) | 2001-12-05 |
DE60008706T2 (de) | 2005-02-10 |
EP1107107A1 (en) | 2001-06-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1199096C (zh) | 并行数据处理及重排 | |
Kapasi et al. | Programmable stream processors | |
US7961226B2 (en) | System for adapting device standards after manufacture | |
CN105323586B (zh) | 一种用于多核并行视频编码和解码的共享内存接口 | |
US6757019B1 (en) | Low-power parallel processor and imager having peripheral control circuitry | |
US5339447A (en) | Ones counting circuit, utilizing a matrix of interconnected half-adders, for counting the number of ones in a binary string of image data | |
US5371896A (en) | Multi-processor having control over synchronization of processors in mind mode and method of operation | |
CN102369552B (zh) | 存储器子系统 | |
US6421772B1 (en) | Parallel computer with improved access to adjacent processor and memory elements | |
JP2001236496A (ja) | 絶対差分の合計および対称濾波用の再構成可能simdコプロセッサ構造 | |
US10013733B2 (en) | Processor, system, and method for efficient, high-throughput processing of two-dimensional, interrelated data sets | |
CN105376583B (zh) | 一种按行交错划分任务和数据的多核并行视频解码方法 | |
EP1234443A1 (en) | Programmable image transform processor | |
US20010033617A1 (en) | Image processing device | |
CN116114263A (zh) | 用于集成图像信号处理的方法和设备 | |
JP5139322B2 (ja) | 画像およびビデオ処理のためのメモリ体系化スキームおよびコントローラ・アーキテクチャ | |
CN102769754B (zh) | H264编码器及其图像变换、量化及重构的方法 | |
WO2010016015A1 (en) | Simd parallel processor architecture | |
US5671020A (en) | Method and apparatus for improved video filter processing using efficient pixel register and data organization | |
US7346898B2 (en) | Method for scheduling processors and coprocessors with bit-masking | |
JP2002204356A (ja) | データ処理装置、プロセッサ、及びその制御方法 | |
US5978508A (en) | Two-dimensional inverse discrete cosine transformation circuit for MPEG2 video decoder | |
Gentile et al. | Image processing chain for digital still cameras based on the SIMPil architecture | |
CN1386245A (zh) | 用于处理不同类型数据的数据处理装置 | |
US20240232573A1 (en) | Neural network architecture for a systolic processor array and method of processing data using a neural network |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20050427 Termination date: 20171123 |
|
CF01 | Termination of patent right due to non-payment of annual fee |