DE69520974T2 - An integrated semiconductor circuit - Google Patents
An integrated semiconductor circuitInfo
- Publication number
- DE69520974T2 DE69520974T2 DE69520974T DE69520974T DE69520974T2 DE 69520974 T2 DE69520974 T2 DE 69520974T2 DE 69520974 T DE69520974 T DE 69520974T DE 69520974 T DE69520974 T DE 69520974T DE 69520974 T2 DE69520974 T2 DE 69520974T2
- Authority
- DE
- Germany
- Prior art keywords
- data
- memory cell
- cell array
- mar
- lines
- 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
- 239000004065 semiconductor Substances 0.000 title claims description 47
- 238000012545 processing Methods 0.000 claims description 237
- 230000015654 memory Effects 0.000 claims description 180
- 238000012546 transfer Methods 0.000 claims description 65
- 230000005540 biological transmission Effects 0.000 claims description 30
- 241000426682 Salinispora Species 0.000 claims description 25
- 239000013598 vector Substances 0.000 claims description 20
- 238000003491 array Methods 0.000 claims description 16
- 238000000034 method Methods 0.000 claims description 11
- 210000004027 cell Anatomy 0.000 description 34
- 101100364827 Prochlorococcus marinus (strain SARG / CCMP1375 / SS120) ahcY gene Proteins 0.000 description 19
- 101150081953 SAM1 gene Proteins 0.000 description 19
- 101150021948 SAM2 gene Proteins 0.000 description 10
- 238000001914 filtration Methods 0.000 description 10
- 101001073409 Homo sapiens Retrotransposon-derived protein PEG10 Proteins 0.000 description 9
- 102100035844 Retrotransposon-derived protein PEG10 Human genes 0.000 description 9
- 101001094545 Homo sapiens Retrotransposon-like protein 1 Proteins 0.000 description 7
- 101000689689 Oryzias latipes Alpha-1A adrenergic receptor Proteins 0.000 description 7
- 102100035123 Retrotransposon-like protein 1 Human genes 0.000 description 7
- 238000004364 calculation method Methods 0.000 description 7
- 101150047137 ABF1 gene Proteins 0.000 description 4
- 101100481781 Arabidopsis thaliana TNO1 gene Proteins 0.000 description 4
- 102100031503 Barrier-to-autointegration factor-like protein Human genes 0.000 description 4
- 101000729827 Homo sapiens Barrier-to-autointegration factor-like protein Proteins 0.000 description 4
- 102100023882 Endoribonuclease ZC3H12A Human genes 0.000 description 3
- 101710112715 Endoribonuclease ZC3H12A Proteins 0.000 description 3
- 108700012361 REG2 Proteins 0.000 description 3
- 101150108637 REG2 gene Proteins 0.000 description 3
- 101100120298 Rattus norvegicus Flot1 gene Proteins 0.000 description 3
- 101100412403 Rattus norvegicus Reg3b gene Proteins 0.000 description 3
- 238000010276 construction Methods 0.000 description 3
- 238000006073 displacement reaction Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- QGVYYLZOAMMKAH-UHFFFAOYSA-N pegnivacogin Chemical compound COCCOC(=O)NCCCCC(NC(=O)OCCOC)C(=O)NCCCCCCOP(=O)(O)O QGVYYLZOAMMKAH-UHFFFAOYSA-N 0.000 description 3
- 238000007781 pre-processing Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 230000010365 information processing Effects 0.000 description 2
- 101710190443 Acetyl-CoA carboxylase 1 Proteins 0.000 description 1
- 102100021334 Bcl-2-related protein A1 Human genes 0.000 description 1
- 101100334739 Mus musculus Fgfr3 gene Proteins 0.000 description 1
- 101150076716 SAM3 gene Proteins 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 230000006837 decompression Effects 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 210000002569 neuron Anatomy 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1006—Data managing, e.g. manipulating data before writing or reading out, data bus switches or control circuits therefor
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/15—Correlation function computation including computation of convolution operations
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Algebra (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Dram (AREA)
- Image Processing (AREA)
- Multi Processors (AREA)
- Logic Circuits (AREA)
Description
Die vorliegende Erfindung betrifft eine integrierte Halbleiterschaltung mit einem zweidimensionalen Speicherarray und insbesondere eine integrierte Halbleiterschaltung, die die Ausführung von entweder einer digitalen Filteroperation wie einer Konvolutionsverarbeitungsoperation oder einer Verarbeitungsoperation unter Verwendung von zweidimensionalen Daten, etwa die Suche nach dem Bewegungsvektor eines sich bewegenden Bildes, in Echtzeit ermöglicht.The present invention relates to a semiconductor integrated circuit having a two-dimensional memory array, and more particularly to a semiconductor integrated circuit that enables either a digital filtering operation such as a convolutional processing operation or a processing operation using two-dimensional data such as searching for the motion vector of a moving image to be carried out in real time.
Von den verschiedenen Informationsverarbeitungsoperationen an zweidimensionalen Daten umfaßt die Bildverarbeitungsoperation ein zweidimensionales Array von Pixeln auf einem Bildschirm, so daß die zweidimensionalen Daten oft zu verarbeiten sind. Eine zweidimensionale Filteroperation stellt eine solche Informationsverarbeitungsoperation dar.Among the various information processing operations on two-dimensional data, the image processing operation involves a two-dimensional array of pixels on a screen, so that the two-dimensional data often has to be processed. A two-dimensional filtering operation is one such information processing operation.
Die Fig. 2 zeigt eine bekannte integrierte Halbleiterschaltung zum Verarbeiten eines Bildes. Diese Vorrichtung ist für eine zweidimensionale Filteroperation geeignet, wie es Yoshiki Kobayashi, Tadashi Fukushima, Syuichi Miura, Morio Kanasaki und Kohtaro Hirasawa in "A BiCMOS Image Processor with Line Memories", ISSCC Digest of Technical Papers, Seiten 182 bis 183, Februar 1987 beschreiben.Fig. 2 shows a known semiconductor integrated circuit for processing an image. This device is suitable for a two-dimensional filtering operation as described by Yoshiki Kobayashi, Tadashi Fukushima, Syuichi Miura, Morio Kanasaki and Kohtaro Hirasawa in "A BiCMOS Image Processor with Line Memories", ISSCC Digest of Technical Papers, pages 182 to 183, February 1987.
Die integrierte Halbleiterschaltung der Fig. 2 wird hier zusammengefaßt. Wie in der Fig. 2(a) gezeigt, besteht die integrierte Halbleiterschaltung aus einer Vorverarbeitungsschaltung PPU zum Ausführen einer Vorverarbeitungsoperation wie einer Schwellenwertoperation an den Eingangs-Bilddaten; Zeilenspeichern LM1 und LM2 zum Speichern von Bildern einer Zeile, um eine Verzögerung um je eine Zeile hervorzurufen; einem Schieberegister SR; einem Datenspeicher DM zum Speichern der Gewichtungskoeffizienten des Filters; einer Verarbeitungsschaltung PE und aus Verbindungseinheiten LU1 und LU2 mit Addierern. Die Fig. 2B zeigt ein Beispiel für die Berechnung in dem Fall, daß die integrierte Halbleiterschaltung der Fig. 2A zum Berechnen eines 3 · 3-Raumfilters verwendet wird. In der Fig. 2B bezeichnen die Bezugszeichen F32 und F(x + i)(y + i) den (Dichte-) Wert des Pixels in der dritten Zeile und der zweiten Spalte im Datenblock des Eingangsbildes bzw. den Wert des Pixels in der (x + i)-ten Zeile und der (y + i)-ten Spalte. Die Bezugszeichen Wij, W-1-1, - - - und W11 bezeichnen Filterkoeffizienten und die Bezugszeichen Rxy den Wert des Pixels in der Zeile x und der Spalte y im Datenblock des verarbeiteten Ausgangsbildes. Die Operationen der integrierte Halbleiterschaltung der Fig. 2A werden anhand der Fig. 2B beschrieben. Bei der Berechnung für den 3 · 3-Raumfilter kann, wie allgemein bekannt, der Wert von Rxy durch die Summe der Produkte der Werte der Pixel der Eingangsbilder und der Filterkoeffizienten ausgedrückt werden, wie es die Gleichung in der Fig. 2B angibt. Um den Wert von Rxy zu bestimmen, sind daher die Werte der Pixel von neun Eingangsbildern um das Pixel in der Zeile x und der Spalte y im Datenblock des Eingangsbildes erforderlich. Die eingegebenen Bilddaten werden zuerst zu der Vorverarbeitungsschaltung PPU gegeben. Da die Filteroperation keine Schwellenwertverarbeitung beinhaltet, werden die eingegebenen Bilddaten so wie sie sind zum Schieberegister SR und zum Zeilenspeicher LM1 weitergegeben. Das Ausgangssignal des Zeilenspeichers LM1 wird mit einer Verzögerung von einer Zeile ausgegeben. Das Ausgangssignal des Zeilenspeichers LM1 wird zum Zeilenspeicher LM2 geführt, von dem es mit einer weiteren Verzögerung von einer Zeile ausgegeben wird. Im Ergebnis werden die Werte der Pixel des Eingangsbildes, die zum Berechnen des 3 · 3-Raumfilters erforderlich sind, für die einzelnen Zeilen in verschiedenen Schieberegistern gespeichert. Die Fig. 2B zeigt den Zustand, in dem die Werte der neun Pixel des Eingangsbildes um F22 in den Schieberegistern gespeichert sind. Die Werte der in den Schieberegistern gespeicherten neun Pixel werden aufeinanderfolgend in die Verarbeitungsschaltungen PE1, PE2 und PE3 eingegeben und dort deren Produkte mit den entsprechenden Koeffizienten berechnet. Die sich ergebenden Produkte werden in die Verbindungseinheiten LU1 und LU2 eingegeben und dort addiert, so daß in diesem Fall der Wert von R22 bestimmt wird. Bei der bekannten integrierten Halbleiterschaltung der Fig. 2 werden daher die Werte der Pixel über die drei Zeilen dadurch in die drei Verarbeitungsschaltungen eingegeben, daß von den Verzögerungen der Zeilenspeicher derart Gebrauch gemacht wird, daß die drei Multiplikationen parallel ausgeführt werden. Im Ergebnis kann der Raumfilter mit hoher Geschwindigkeit ausgeführt werden. Die genannte Literaturstelle erwähnt, daß eine versuchsweise in einer 1,8-Mikron- Technik hergestellte BiCMOS-Schaltung die Berechnungen für den 3 · 3-Raumfilter für ein TV-Bild aus 512 · 512 Pixeln in Echtzeit ausführen kann.The semiconductor integrated circuit of Fig. 2 is summarized here. As shown in Fig. 2(a), the semiconductor integrated circuit is composed of a preprocessing circuit PPU for performing a preprocessing operation such as a threshold operation on the input image data; line memories LM1 and LM2 for storing images of one line to cause a delay of one line each; a shift register SR; a data memory DM for storing the weighting coefficients of the filter; a processing circuit PE, and connection units LU1 and LU2 with adders. Fig. 2B shows an example of calculation in the case where the semiconductor integrated circuit of Fig. 2A is used to calculate a 3 × 3 spatial filter. In Fig. 2B, the reference symbols F32 and F(x + i)(y + i) denote the (density) value of the pixel in the third row and the second column in the data block of the input image and the value of the pixel in the (x + i)-th row and the (y + i)-th column, respectively. The reference symbols Wij, W-1-1, - - - and W11 denote filter coefficients and the reference symbols Rxy denote the value of the pixel in the row x and the column y in the data block of the processed output image. The operations of the semiconductor integrated circuit of Fig. 2A are described with reference to Fig. 2B. In the calculation for the 3 x 3 spatial filter, as As is well known, the value of Rxy can be expressed by the sum of the products of the values of the pixels of the input images and the filter coefficients, as shown in the equation in Fig. 2B. Therefore, to determine the value of Rxy, the values of the pixels of nine input images around the pixel in row x and column y in the data block of the input image are required. The input image data is first fed to the preprocessing circuit PPU. Since the filtering operation does not involve threshold processing, the input image data is passed as it is to the shift register SR and the line memory LM1. The output of the line memory LM1 is output with a delay of one line. The output of the line memory LM1 is fed to the line memory LM2, from which it is output with a further delay of one line. As a result, the values of the pixels of the input image required for calculating the 3 × 3 spatial filter are stored in different shift registers for each line. Fig. 2B shows the state in which the values of the nine pixels of the input image are stored in the shift registers around F22. The values of the nine pixels stored in the shift registers are successively input to the processing circuits PE1, PE2 and PE3, where their products with the corresponding coefficients are calculated. The resulting products are input to the connection units LU1 and LU2 and added there, so that in this case the value of R22 is determined. In the known semiconductor integrated circuit of Fig. 2, therefore, the values of the pixels over the three lines are input to the three processing circuits by making use of the delays of the line memories so that the three multiplications are carried out in parallel. As a result, the spatial filter can be carried out at high speed. The cited reference mentions that a BiCMOS circuit experimentally manufactured using 1.8 micron technology can perform the calculations for the 3 x 3 spatial filter for a TV picture of 512 x 512 pixels in real time.
Eine erste Aufgabe der vorliegenden Erfindung ist es, eine integrierte Halbleiterschaltung zum Ausführen der Verarbeitungsoperationen an zweidimensionalen Daten mit hoher Parallelität zu schaffen, und ein zweites, zu lösenden Problem ist, eine Anzahl von solchen Verarbeitungsschaltungen so in einem hochintegrierten Halbleiterchip unterzubringen, daß die Verarbeitungsoperationen mittels zweidimensionaler Speicherzellenarrays mit hoher Parallelität ausgeführt werden, wobei die Speicherzellenarrays in der Lage sein sollen, eine große Zahl von zweidimensionalen Daten zu verarbeiten.A first object of the present invention is to provide a semiconductor integrated circuit for carrying out the processing operations on two-dimensional data with high parallelism, and a second problem to be solved is to accommodate a number of such processing circuits in a highly integrated semiconductor chip so that the processing operations are carried out by means of two-dimensional memory cell arrays with high parallelism, wherein the memory cell arrays should be capable of processing a large number of two-dimensional data.
Bei der beschriebenen, bekannten integrierten Halbleiterschaltung der Fig. 2 werden die Berechnungen für den Raumfilter mit hoher Geschwindigkeit von den neun Multiplikatoren zum Berechnen eines Ausgangspixels ausgeführt, immer drei mal drei parallel. In der Zukunft muß die Parallelität jedoch erhöht werden, um eine höhere Geschwindigkeit zu erreichen.In the described, known integrated semiconductor circuit of Fig. 2, the calculations for the spatial filter are carried out at high speed by the nine Multipliers to calculate an output pixel are always executed three by three in parallel. In the future, however, the parallelism must be increased to achieve higher speed.
Mit dem Ansteigen der Bildqualität von Fernsehern, Workstations, PCs und Spielmaschinen auf einen höheres Niveau steigt auch die Anzahl der Pixel für ein Bild an, und die Pixelfrequenz erhöht sich. Darüberhinaus wird angenommen, daß tragbare Geräte mit Kommunikations- und Anzeigefunktionen in naher Zukunft stark an Verbreitung gewinnen. Es wird auch angenommen, daß solche Geräte durch Verarbeiten der Daten für ein sich bewegendes Bild, die über die Kommunikationsfunktion erhalten werden, eine klare Anzeige zu bewirken haben. In solchen Geräten dient eine Batterie mit einer geringen Spannung zur Energieversorgung. Im allgemeinen fällt jedoch die Geschwindigkeit von integrierten Halbleiterschaltungen bei sinkender Batteriespannung proportional zum Abfall der Versorgungsspannung ab, so daß die bekannte integrierte Halbleiterschaltung nicht mehr in der Lage sein kann, eine ausreichende Verarbeitungsgeschwindigkeit zu erreichen. Um dieses Problem zu beheben, muß die Parallelität angehoben werden, um den Abfall in der Verarbeitungsgeschwindigkeit zu kompensieren. Eine integrierte Halbleiterschaltung mit höherer Parallelität, die zweidimensionale Daten mit hoher Geschwindigkeit verarbeiten kann, ist daher erwünscht.As the picture quality of televisions, workstations, personal computers and game machines rises to a higher level, the number of pixels for an image also increases, and the pixel frequency increases. In addition, portable devices with communication and display functions are expected to become widely used in the near future. It is also expected that such devices are required to provide a clear display by processing the data for a moving image obtained through the communication function. In such devices, a battery with a low voltage is used for power supply. In general, however, as the battery voltage drops, the speed of semiconductor integrated circuits drops in proportion to the drop in the power supply voltage, so that the conventional semiconductor integrated circuit may no longer be able to achieve a sufficient processing speed. To solve this problem, parallelism must be increased to compensate for the drop in processing speed. A semiconductor integrated circuit with higher parallelism that can process two-dimensional data at high speed is therefore desired.
Bei Geräten zur Darstellung eines Bildes wird darüberhinaus ein sogenannter "Bildspeicher" zum Speichern der Daten für wenigstens ein Anzeigebild verwendet, um die Erzeugung und Verarbeitung eines Bildes durch die CPU und das Darstellen des Bildes auf dem Bildschirm gleichzeitig ausführen zu können. Die Größe der Geräte zur Darstellung von Bildern kann verringert werden, besonders die Größe von tragbaren Geräten, wenn die Verarbeitungsoperationen für den Bildspeicher und für die zweidimensionalen Daten in einem einzigen Halbleiterchip in hohem Maße parallel erfolgten.In addition, in image display devices, a so-called "image memory" is used to store the data for at least one display image in order to be able to carry out the generation and processing of an image by the CPU and the display of the image on the screen simultaneously. The size of image display devices can be reduced, especially the size of portable devices, if the processing operations for the image memory and for the two-dimensional data are carried out in a highly parallel manner in a single semiconductor chip.
Gemäß einem ersten Aspekt der vorliegenden Erfindung wird eine integrierte Halbleiterschaltung geschaffen mitAccording to a first aspect of the present invention, an integrated semiconductor circuit is provided with
einem Speicherzellenarray (MAR) mit einer Anzahl von Datenleitungen (DE), einer Anzahl von Wortleitungen (W1 bis W3), die die Datenleitungen (DE) schneiden, und einer Anzahl von Speicherzellen, die an gewünschten Schnittstellen zwischen den Datenleitungen (DE) und den (W1 bis W3) angeordnet sind;a memory cell array (MAR) having a number of data lines (DE), a number of word lines (W1 to W3) intersecting the data lines (DE), and a number of memory cells arranged at desired interfaces between the data lines (DE) and the (W1 to W3);
einer Paralleldatenübertragungsschaltung (TRC) zur parallelen Übertragung einer Anzahl von Daten von der Anzahl von Datenleitungen (DE); und mita parallel data transmission circuit (TRC) for parallel transmission of a number of data from the number of data lines (DE); and with
einer Anzahl von Verarbeitungsschaltungen (PE1 bis PEn) zur Aufnahme der von der Paralleldatenübertragungsschaltung (TRC) übertragenen Anzahl von Daten als Eingangssignale,a number of processing circuits (PE1 to PEn) for receiving the number of data transmitted by the parallel data transmission circuit (TRC) as input signals,
wobei die Paralleldatenübertragungsschaltung (TRC) so angeordnet ist, daß sie die Datenleitungen (DG) mit den Verarbeitungsschaltungen (PE1 bis PEn) in einer Folge verbindet, die beinhaltetwherein the parallel data transmission circuit (TRC) is arranged to connect the data lines (DG) to the processing circuits (PE1 to PEn) in a sequence which includes
i) eine erste Verbindungsanordnung, in der jede Datenleitung mit einer ersten entsprechenden Verarbeitungsschaltung verbunden ist, undi) a first connection arrangement in which each data line is connected to a first corresponding processing circuit, and
ii) eine zweite Verbindungsanordnung, in der jede Datenleitung mit einer zweiten entsprechenden Verarbeitungsschaltung verbunden ist;ii) a second connection arrangement in which each data line is connected to a second corresponding processing circuit;
wobei die erste und die zweite entsprechende Verarbeitungsschaltung für jede Datenleitung benachbart sind und die jeweiligen Leitungen, mit denen jede Verarbeitungsschaltung in der ersten und der zweiten Verbindungsanordnung verbunden ist, nebeneinanderliegen.wherein the first and second corresponding processing circuits for each data line are adjacent, and the respective lines to which each processing circuit is connected in the first and second connection arrangements are adjacent to one another.
Gemäß einem zweiten Aspekt der vorliegenden Erfindung wird eine integrierte Halbleiterschaltung geschaffen mitAccording to a second aspect of the present invention, an integrated semiconductor circuit is provided with
einem Speicherzellenarray (MAR) mit einer Anzahl von Datenleitungsgruppen (DG), einer Anzahl von Wortleitungen (W1 bis W3), die die Datenleitungsgruppen (DG) schneiden, und einer Anzahl von Speicherzellen, die an gewünschten Schnittstellen zwischen den Datenleitungsgruppen (DG) und den Wortleitungen (W1 bis W3) angeordnet sind;a memory cell array (MAR) having a number of data line groups (DG), a number of word lines (W1 to W3) intersecting the data line groups (DG), and a number of memory cells arranged at desired interfaces between the data line groups (DG) and the word lines (W1 to W3);
einer Paralleldatenübertragungsschaltung (TRC) zur parallelen Übertragung einer Anzahl von Datengruppen von der Anzahl von Datenleitungsgruppen (DG); unda parallel data transmission circuit (TRC) for parallel transmission of a number of data groups from the number of data line groups (DG); and
eine Anzahl von Verarbeitungsschaltungen (PE1 bis PEn) zur Aufnahme der von der Paralleldatenübertragungsschaltung (TRC) übertragenen Anzahl von Datengruppen als Eingangssignale;a number of processing circuits (PE1 to PEn) for receiving the number of data groups transmitted by the parallel data transmission circuit (TRC) as input signals;
wobei die Paralleldatenübertragungsschaltung (TRC) so angeordnet ist, daß sie die Datenleitungsgruppen (DG) mit den Verarbeitungsschaltungen (PE1 bis PEn) in einer Folge verbindet, die beinhaltetwherein the parallel data transmission circuit (TRC) is arranged to connect the data line groups (DG) to the processing circuits (PE1 to PEn) in a sequence which includes
i) eine erste Verbindungsanordnung, in der jede Datenleitungsgruppe mit einer ersten entsprechenden Verarbeitungsschaltung verbunden ist; undi) a first connection arrangement in which each data line group is connected to a first corresponding processing circuit; and
ii) eine zweite Verbindungsanordnung, in der jede Datenleitungsgruppe mit einer zweiten entsprechenden Verarbeitungsschaltung verbunden ist;ii) a second connection arrangement in which each data line group is connected to a second corresponding processing circuit;
wobei die erste und die zweite entsprechende Verarbeitungsschaltung für jede Datenleitungsgruppe benachbart sind und die jeweiligen Leitungen, mit denen jede Verarbeitungsschaltung in der ersten und der zweiten Verbindungsanordnung verbunden ist, nebeneinanderliegen.wherein the first and second corresponding processing circuits for each data line group are adjacent and the respective lines to which each processing circuit connected in the first and second connection arrangements, lie next to each other.
Gemäß einem dritten Aspekt der vorliegenden Erfindung wird eine integrierte Halbleiterschaltung geschaffen mitAccording to a third aspect of the present invention, an integrated semiconductor circuit is provided with
einem ersten und einem zweiten Speicherzellenarray (MAR 1 und MAR 2), jedes mit einer Anzahl von Datenleitungen, einer Anzahl von Wortleitungen, die die Datenleitungen schneiden, und einer Anzahl von Speicherzellen, die an gewünschten Schnittstellen zwischen den Datenleitungen und den Wortleitungen (W1 bis W3) angeordnet sind;a first and a second memory cell array (MAR 1 and MAR 2), each having a number of data lines, a number of word lines intersecting the data lines, and a number of memory cells arranged at desired interfaces between the data lines and the word lines (W1 to W3);
einer ersten Paralleldatenübertragungsschaltung (TRC 1) zur parallelen Übertragung einer Anzahl erster Daten von der Anzahl von Datenleitungen des ersten Speicherzellenarrays (MAR 1);a first parallel data transfer circuit (TRC 1) for parallel transfer of a number of first data from the number of data lines of the first memory cell array (MAR 1);
einer zweiten Paralleldatenübertragungsschaltung (TRC 2) zur parallelen Übertragung einer Anzahl zweiter Daten von der Anzahl von Datenleitungen des zweiten Speicherzellenarrays (MAR 2); unda second parallel data transfer circuit (TRC 2) for parallel transfer of a number of second data from the number of data lines of the second memory cell array (MAR 2); and
einer Anzahl von Verarbeitungsschaltungen (PE1 bis PEn) zur Aufnahme der ersten und der zweiten Anzahl von Daten von der ersten und der zweiten Paralleldatenübertragungsschaltung (TRC 1 und TRC 2);a plurality of processing circuits (PE1 to PEn) for receiving the first and second plurality of data from the first and second parallel data transfer circuits (TRC 1 and TRC 2);
wobei die erste Paralleldatenübertragungsschaltung (TRC 1) so angeordnet ist, daß sie die Datenleitungen des ersten Speicherzellenarrays (MAR 1) mit den Verarbeitungsschaltungen (PE1 bis PEn) in einer Folge verbindet, die beinhaltetwherein the first parallel data transfer circuit (TRC 1) is arranged to connect the data lines of the first memory cell array (MAR 1) to the processing circuits (PE1 to PEn) in a sequence that includes
i) eine erste Verbindungsanordnung, in der jede Datenleitung des ersten Speicherzellenarrays (MAR 1) mit einer entsprechenden Verarbeitungsschaltung verbunden ist, undi) a first connection arrangement in which each data line of the first memory cell array (MAR 1) is connected to a corresponding processing circuit, and
ii) eine zweite Verbindungsanordnung, in der jede Datenleitung des ersten Speicherzellenarrays (MAR 1) mit einer anderen entsprechenden Verarbeitungsschaltung verbunden ist;ii) a second connection arrangement in which each data line of the first memory cell array (MAR 1) is connected to another corresponding processing circuit;
wobei die eine und die andere entsprechende Verarbeitungsschaltung für jede Datenleitung des ersten Speicherzellenarrays (MAR 1) benachbart sind und die jeweiligen Leitungen, mit denen jede Verarbeitungsschaltung in der ersten und der zweiten Verbindungsanordnung verbunden ist, nebeneinanderliegen; undwherein the one and the other corresponding processing circuit for each data line of the first memory cell array (MAR 1) are adjacent and the respective lines to which each processing circuit is connected in the first and second connection arrangements are adjacent to each other; and
wobei die zweite Paralleldatenübertragungsschaltung (TRC 2) so angeordnet ist, daß sie die Datenleitungen des zweiten Speicherzellenarrays (MAR 2) mit den Verarbeitungsschaltungen (PE1 bis PEn) in einer Folge verbindet, die beinhaltetwherein the second parallel data transfer circuit (TRC 2) is arranged to connect the data lines of the second memory cell array (MAR 2) to the processing circuits (PE1 to PEn) in a sequence which includes
i) eine dritte Verbindungsanordnung, in der jede Datenleitung des zweiten Speicherzellenarrays (MAR 2) mit einer entsprechenden Verarbeitungsschaltung verbunden ist; undi) a third connection arrangement in which each data line of the second memory cell array (MAR 2) is connected to a corresponding processing circuit; and
ii) eine vierte Verbindungsanordnung, in der jede Datenleitung des zweiten Speicherzellenarrays (MAR 2) mit einer anderen entsprechenden Verarbeitungsschaltung verbunden ist;ii) a fourth connection arrangement in which each data line of the second memory cell array (MAR 2) is connected to another corresponding processing circuit;
wobei die eine und die andere entsprechende Verarbeitungsschaltung für jede Datenleitung des zweiten Speicherzellenarrays (MAR 2) benachbart sind und die jeweiligen Leitungen, mit denen jede Verarbeitungsschaltung in der ersten und der zweiten Verbindungsanordnung verbunden ist, nebeneinanderliegen.wherein the one and the other corresponding processing circuits for each data line of the second memory cell array (MAR 2) are adjacent and the respective lines to which each processing circuit is connected in the first and second connection arrangements are adjacent to each other.
Gemäß einem vierten Aspekt der vorliegenden Erfindung wird eine integrierte Halbleiterschaltung geschaffen mitAccording to a fourth aspect of the present invention, an integrated semiconductor circuit is provided with
einem ersten und einem zweiten Speicherzellenarray (MAR 1 und MAR 2), jedes mit einer Anzahl von Datenleitungsgruppen, einer Anzahl von Wortleitungen, die die Datenleitungsgruppen schneiden, und einer Anzahl von Speicherzellen, die an gewünschten Schnittstellen zwischen den Datenleitungsgruppen und den Wortleitungen angeordnet sind;a first and a second memory cell array (MAR 1 and MAR 2), each having a number of data line groups, a number of word lines intersecting the data line groups, and a number of memory cells arranged at desired intersections between the data line groups and the word lines;
einer ersten Paralleldatenübertragungsschaltung (TRC 1) zur parallelen Übertragung einer Anzahl erster Datengruppen von der Anzahl von Datenleitungsgruppen des ersten Speicherzellenarrays (MAR 1);a first parallel data transfer circuit (TRC 1) for parallel transfer of a number of first data groups from the number of data line groups of the first memory cell array (MAR 1);
einer zweiten Paralleldatenübertragungsschaltung (TRC 2) zur parallelen Übertragung einer Anzahl zweiter Datengruppen von der Anzahl von Datenleitungsgruppen des zweiten Speicherzellenarrays (MAR 2); unda second parallel data transfer circuit (TRC 2) for parallel transfer of a number of second data groups from the number of data line groups of the second memory cell array (MAR 2); and
einer Anzahl von Verarbeitungsschaltungen (PE1 bis PEn) zur Aufnahme der Anzahl von ersten und zweiten Datengruppen von der ersten und der zweiten Paralleldatenübertragungsschaltung (TRC 1 und TRC 2);a number of processing circuits (PE1 to PEn) for receiving the number of first and second data groups from the first and second parallel data transfer circuits (TRC 1 and TRC 2);
wobei die erste Paralleldatenübertragungsschaltung (TRC 1) so angeordnet ist, daß sie die Datenleitungsgruppen des ersten Speicherzellenarrays (MAR 1) mit den Verarbeitungsschaltungen in einer Folge verbindet, die beinhaltetwherein the first parallel data transfer circuit (TRC 1) is arranged to connect the data line groups of the first memory cell array (MAR 1) to the processing circuits in a sequence which includes
i) eine erste Verbindungsanordnung, in der jede Datenleitungsgruppe des ersten Speicherzellenarrays (MAR 1) mit einer entsprechenden Verarbeitungsschaltung verbunden ist; undi) a first connection arrangement in which each data line group of the first memory cell array (MAR 1) is connected to a corresponding processing circuit; and
ii) eine zweite Verbindungsanordnung, in der jede Datenleitungsgruppe des ersten Speicherzellenarrays (MAR 1) mit einer anderen entsprechenden Verarbeitungsschaltung verbunden ist;ii) a second connection arrangement in which each data line group of the first memory cell array (MAR 1) is connected to another corresponding processing circuit;
wobei die eine und die andere entsprechende Verarbeitungsschaltung für jede Datenleitungsgruppe des ersten Speicherzellenarrays (MAR 1) benachbart sind und die jeweiligen Leitungen, mit denen jede Verarbeitungsschaltung in der ersten und der zweiten Verbindungsanordnung verbunden ist, nebeneinanderliegen; undwherein the one and the other corresponding processing circuits for each data line group of the first memory cell array (MAR 1) are adjacent and the respective lines to which each processing circuit is connected in the first and second connection arrangements are adjacent to each other; and
wobei die zweite Paralleldatenübertragungsschaltung (TRC 2) so angeordnet ist, daß sie die Datenleitungsgruppen des zweiten Speicherzellenarrays (MAR 2) mit den Verarbeitungsschaltungen in einer Folge verbindet, die beinhaltetwherein the second parallel data transfer circuit (TRC 2) is arranged to connect the data line groups of the second memory cell array (MAR 2) to the processing circuits in a sequence which includes
i) eine dritte Verbindungsanordnung, in der jede Datenleitung des zweiten Speicherzellenarrays (MAR 2) mit einer entsprechenden Verarbeitungsschaltung verbunden ist; undi) a third connection arrangement in which each data line of the second memory cell array (MAR 2) is connected to a corresponding processing circuit; and
ii) eine vierte Verbindungsanordnung, in der jede Datenleitungsgruppe des zweiten Speicherzellenarrays (MAR 2) mit einer anderen entsprechenden Verarbeitungsschaltung verbunden ist;ii) a fourth connection arrangement in which each data line group of the second memory cell array (MAR 2) is connected to another corresponding processing circuit;
wobei die eine und die andere entsprechende Verarbeitungsschaltung für jede Datenleitungsgruppe des zweiten Speicherzellenarrays (MAR 2) benachbart sind und die jeweiligen Leitungen, mit denen jede Verarbeitungsschaltung in der ersten und der zweiten Verbindungsanordnung verbunden ist, nebeneinanderliegen.wherein the one and the other corresponding processing circuits for each data line group of the second memory cell array (MAR 2) are adjacent and the respective lines to which each processing circuit is connected in the first and second connection arrangements are adjacent to each other.
Da die Bereiche der Datenleitungen der zweidimensionalen Speicherarrays, auf die benachbarte Verarbeitungsschaltungen zugreifen, überlappen können, ist es möglich, eine Filteroperation für ein Bild durch Berechnen des Wertes eines Pixels aus dem Wert eines dem ersten Pixel benachbarten Pixels auszurechnen. Bei einem 3 · 3-Filter sind zum Beispiel die zweidimensional angeordneten umgebenden 3 · 3-Eingangspixel erforderlich, um für ein Ausgangspixel ein Ergebnis zu erhalten, und die Filteroperation kann in Zeilenrichtung dadurch ausgeführt werden, daß die benachbarten Pixel der gleichen Zeile zu einer Verarbeitungsschaltung gegeben werden. Wenn darüberhinaus die Verarbeitungsschaltung die Verarbeitungsoperation mittels einer Anzahl von Datengruppen ausführen kann, die auf einer der erwähnten Anzahl von Datenleitungsgruppen durch Auswahl von zwei oder mehr Wortleitungen ausgelesenen werden, kann die Filteroperation dadurch ausgeführt werden, daß dasjenige der 3 · 3-Eingangspixel, das senkrecht zur Zeilenrichtung liegt, in eine Verarbeitungsschaltung eingegeben wird. Im Ergebnis kann die Filteroperation durch Eingabe der 3 · 3 Pixel in eine Verarbeitungsschaltung ausgeführt werden. Da darüberhinaus die benachbarten Verarbeitungsschaltungen überlappende Bereiche für die Datenleitungen aufweisen, auf die sie durch die Paralleldatenübertragungsschaltung zugreifen können, kann die Konvolutionsoperation und die Verarbeitungsoperation unter Verwendung der zweidimensionalen Daten des 3 · 3-Filters oder dergleichen von der Anzahl von Verarbeitungsschaltungen parallel ausgeführt werden,Since the areas of the data lines of the two-dimensional memory arrays accessed by adjacent processing circuits may overlap, it is possible to perform a filtering operation for an image by calculating the value of a pixel from the value of a pixel adjacent to the first pixel. For example, in a 3 × 3 filter, the two-dimensionally arranged surrounding 3 × 3 input pixels are required to obtain a result for an output pixel, and the filtering operation can be carried out in the row direction by supplying the adjacent pixels of the same row to a processing circuit. Moreover, if the processing circuit can perform the processing operation by means of a plurality of data groups read out on one of the aforementioned plurality of data line groups by selecting two or more word lines, the filtering operation can be carried out by supplying the one of the 3 × 3 input pixels which is perpendicular to the row direction to a processing circuit. As a result, the filtering operation can be carried out by supplying the 3 × 3 pixels to a processing circuit. In addition, since the adjacent processing circuits have overlapping areas for the data lines that they can access through the parallel data transfer circuit, the convolution operation and the processing operation can be performed using the two-dimensional data of the 3 x 3 filter or the like are executed in parallel by the number of processing circuits,
In der Zeichnung zeigt:In the drawing shows:
[Fig. 1][Fig.1]
Eine Ausführungsform für den Aufbau (d. h. eines 3 · 3-Raumfilters) einer integrierten Halbleiterschaltung gemäß der vorliegenden Erfindung.An embodiment for the structure (i.e., a 3 x 3 spatial filter) of a semiconductor integrated circuit according to the present invention.
[Fig. 2][Fig.2]
Eine bekannte integrierte Halbleiterschaltung mit einem Zeilenspeicher.A well-known semiconductor integrated circuit with a line memory.
[Fig. 3][Fig.3]
Eine Ausführungsform für den Aufbau (d. h. eines 5 · 5-Raumfilters) einer integrierten Halbleiterschaltung gemäß der vorliegenden Erfindung.An embodiment for the structure (i.e., a 5 x 5 spatial filter) of a semiconductor integrated circuit according to the present invention.
[Fig. 4][Fig.4]
Eine Ausführungsform für einen ersten Aufbau zum Vergrößern des Layoutabstandes der Verarbeitungsschaltung bei der Ausführungsform der Fig. 1.An embodiment of a first structure for increasing the layout pitch of the processing circuit in the embodiment of Fig. 1.
[Fig. 5][Fig.5]
Eine Ausführungsform für den Aufbau einer Paralleldatenübertragungsschaltung bei der Ausführungsform der Fig. 4.An embodiment for the construction of a parallel data transmission circuit in the embodiment of Fig. 4.
[Fig. 6][Fig.6]
Eine Ausführungsform für ein Verfahren zum Steuern der Paralleldatenübertragungsschaltung bei den Ausführungsformen der Fig. 4 und 5.An embodiment of a method for controlling the parallel data transfer circuit in the embodiments of Figs. 4 and 5.
[Fig. 7][Fig.7]
Eine zweite Ausführungsform für einen Aufbau zum Vergrößern des Layoutabstandes der Verarbeitungsschaltung bei der Ausführungsform der Fig. 1.A second embodiment of a structure for increasing the layout pitch of the processing circuit in the embodiment of Fig. 1.
[Fig. 8][Fig.8]
Eine Ausführungsform für den Aufbau einer Paralleldatenübertragungsschaltung bei der Ausführungsform der Fig. 7.An embodiment for the construction of a parallel data transmission circuit in the embodiment of Fig. 7.
[Fig. 9][Fig.9]
Eine Ausführungsform für ein Verfahren zum Steuern der Paralleldatenübertragungsschaltung bei den Ausführungsformen der Fig. 7 und 8.An embodiment of a method for controlling the parallel data transfer circuit in the embodiments of Figs. 7 and 8.
[Fig. 10][Fig.10]
Eine Ausführungsform für den Aufbau einer Bewegungsvektor-Verarbeitungsschaltung gemäß der vorliegenden Erfindung.An embodiment for constructing a motion vector processing circuit according to the present invention.
[Fig. 11][Fig.11]
Eine Ausführungsform für den Aufbau einer Minimaldistanz-Verarbeitungsschaltung für die Ausführungsform der Fig. 10.An embodiment for the construction of a minimum distance processing circuit for the embodiment of Fig. 10.
Die Fig. 1 zeigt eine Ausführungsform für eine erfindungsgemäße integrierte Halbleiterschaltung, das heißt für den Aufbau einer Vorrichtung zum Verarbeiten von Bilddaten, die in Echtzeit eingegeben werden, durch ein 3 · 3-Raumfilter. In der Fig. 1 ist nicht nur der Aufbau der vorliegenden Ausführungsform gezeigt, sondern es sind auch die Entsprechungen zwischen den Pixeln eines Bildblocks und dem Inhalt der Speicherzellen der Vorrichtung sowie ein Verfahren zum Steuern einer Paralleldatenübertragungsschaltung dargestellt. Gemäß der vorliegenden Ausführungsform können die Raumfilter für eine Zeile des Ausgangsbilds parallel verarbeitet werden. Die vorliegende Ausführungsform ist wie gezeigt so aufgebaut, daß sie umfaßt: Einen Speicher SAM1 mit seriellem Zugriff zum Speichern der Eingangspixel Fxy einer Zeile und zum parallelen Einschreiben dieser Pixel in ein zweidimensionales Speicherarray MAR; das zweidimensionale Speicherarray MAR zum Speichern der Werte der Pixel für drei Zeilen, die vom Speicher SAM1 mit seriellem Zugriff ausgegeben werden; ein Leseverstärker 5A zum parallelen Auslesen und zum Festhalten der Werte der Pixel einer Zeile aus dem zweidimensionalen Speicherarray MAR; eine Paralleldatenübertragungsschaltung TRC zum parallelen Übertragen der ausgelesenen Werte zu einer Gruppe von Verarbeitungsschaltungen; einen Datenspeicher DM zum Speichern von Filterkoeffizienten; und die gruppierten Verarbeitungsschaltungen PE1, PE2, - - - PEn zum parallelen Ausführen von Multiplikations/Additionsoperationen. Die Operationen der vorliegenden Ausführungsform werden im folgenden anhand der Fig. 1 beschrieben.Fig. 1 shows an embodiment of a semiconductor integrated circuit according to the present invention, that is, the structure of an apparatus for processing image data input in real time by a 3 x 3 spatial filter. In Fig. 1, not only the structure of the present embodiment is shown, but also the correspondences between the pixels of an image block and the contents of the memory cells of the apparatus and a method of controlling a parallel data transfer circuit are shown. According to the present embodiment, the spatial filters for one line of the output image can be processed in parallel. The present embodiment is constructed as shown to include: a serial access memory SAM1 for storing the input pixels Fxy of one line and for writing these pixels in parallel into a two-dimensional memory array MAR; the two-dimensional memory array MAR for storing the values of the pixels for three lines output from the serial access memory SAM1; a sense amplifier 5A for reading out and holding the values of the pixels of one line from the two-dimensional memory array MAR in parallel; a parallel data transfer circuit TRC for transferring the read values to a group of processing circuits in parallel; a data memory DM for storing filter coefficients; and the grouped processing circuits PE1, PE2, - - - PEn for carrying out multiplication/addition operations in parallel. The operations of the present embodiment will be described below with reference to Fig. 1.
Zuerst werden die Eingangsbilder, die aus Daten mit P Bit zusammengesetzt sind, seriell in den Speicher SAM1 mit seriellem Zugriff eingegeben. Die Eingangsbilder werden, wenn die Pixelwerte F11, F12, - - - F1k der ersten Zeile gespeichert sind, parallel in eine Wortleitung W 1 des zweidimensionalen Speicherarrays MAR eingeschrieben. Daraufhin werden gleichermaßen die Pixelwerte der zweiten und dritten Zeile des Eingangsbildes jedesmal dann in Wortleitungen W2 und W3 eingeschrieben, wenn sie im Speicher SAM1 mit seriellem Zugriff gespeichert sind. Im zweidimensionalen Speicherarray MAR werden so die Daten der drei Zeilen vorbereitet, die zum Berechnen der Pixelwerte des Ausgangsbildes erforderlich sind. Die Entsprechung zwischen dem Datenblock des Eingangsbildes und den Daten auf den Wortleitungen des zweidimensionalen Speicherarrays MAR ist in der Fig. 1 links unten dargestellt.First, the input images, composed of P-bit data, are serially input into the serial access memory SAM1. The input images are written in parallel into a word line W1 of the two-dimensional memory array MAR when the pixel values F11, F12, - - - F1k of the first line are stored. Then, the pixel values of the second and third lines of the input image are written in the same way into word lines W2 and W3 each time they are stored in the serial access memory SAM1. In this way, the two-dimensional memory array MAR prepares the data of the three lines required to calculate the pixel values of the output image. The correspondence between the data block of the input image and the data on the word lines of the two-dimensional memory array MAR is shown in the bottom left of Fig. 1.
Während die Daten der nächsten Zeile in den Speicher SAM1 mit seriellem Zugriff eingeschrieben werden, werden parallel die Werte R11, R12, - - - und R1k der Pixel der zweiten Zeile des Ausgangsbildes berechnet. Die Steuerung der Paralleldatenübertragungsschaltung erfolgt dazu durch neun Verarbeitungszyklen, wie es in der Fig. 1 rechts unten gezeigt ist. Zuerst werden im ersten Zyklus die Eingangsbilder einer Zeile, die in der Wortleitung W des zweidimensionalen Speicherarrays MAR gespeichert sind, durch eine Datenleitungsgruppe DG im Leseverstärker SA ausgelesen und festgehalten. Einer (L) der Schalter L, C und R eines Selektors SEL der aus solchen Selektoren aufgebauten Paralleldatenübertragungsschaltung TRC ist dabei auf EIN geschaltet. Im Ergebnis werden durch die Paralleldatenübertragungsschaltung TRC das Eingangspixel F 11 zur Verarbeitungsschaltung PE1 übertragen, das Eingangspixel F12 zur Verarbeitungsschaltung PE2, - - und das Eingangspixel F1k-2 zur Verarbeitungsschaltung PEn. Gleichzeitig damit wird ein Gewichtungskoeffizient C-1-1 aus dem Datenspeicher DM ausgelesen und mit dem Eingangspixel multipliziert, das der Verarbeitungsschaltung eingegeben wird. Daraufhin wird im zweiten Zyklus der Schalter C im Selektor SEL auf EIN geschaltet, um durch die Paralleldatenübertragungsschaltung das Eingangspixel F 12 in die Verarbeitungsschaltung PE1 einzugeben, das Eingangspixel F13 in die Verarbeitungsschaltung PE2, - - - und das Eingangspixel F1k-1 in die Verarbeitungsschaltung PEn, und diese Eingangspixel werden mit dem Gewichtungskoeffizienten C-10 multipliziert. Im dritten Zyklus wird der Schalter R im Selektor SEL auf EIN geschaltet, um durch die Paralleldatenübertragungsschaltung das Eingangspixel F13 in die Verarbeitungsschaltung PE1 einzugeben, das Eingangspixel F14 in die Verarbeitungsschaltung PE2, - - - und das Eingangspixel F1k in die Verarbeitungsschaltung PEn, und diese Eingangspixel werden mit dem Gewichtungskoeffizienten C-11 multipliziert. Nachdem so die in der Wortleitung W1 des zweidimensionalen Speicherarrays MAR gespeicherten Eingangsbilder verwendet wurden, wird die Wortleitung W2 ausgewählt, um die Eingangsbilder einer Zeile auszulesen und im Leseverstärker festzuhalten. Im vierten Zyklus wird dann der Schalter L im Selektor SEL auf EIN geschaltet, um das Eingangspixel F21 in die Verarbeitungsschaltung PE1 einzugeben, das Eingangspixel F22 in die Verarbeitungsschaltung PE2, - - - und das Eingangspixel F2k-2 in die Verarbeitungsschaltung PEn. Diese Eingangspixel werden mit dem Gewichtungskoeffizienten CO-1 multipliziert, und die Produkte werden zu den vorher berechneten Werten hinzuaddiert. Danach wird im fünften Zyklus der Schalter C im Selektor SEL auf EIN geschaltet, um das Eingangspixel F22 in die Verarbeitungsschaltung PE1 einzugeben, das Eingangspixel F23 in die Verarbeitungsschaltung PE2, - - - und das Eingangspixel F2k-1 in die Verarbeitungsschaltung PEn. Diese Eingangspixel werden mit dem Gewichtungskoeffizienten C00 multipliziert, und die Produkte werden zu den vorher berechneten Werten hinzuaddiert. Gleichermaßen wird im sechsten Zyklus der Schalter R im Selektor SEL auf EIN geschaltet, um das Eingangspixel F23 in die Verarbeitungsschaltung PE1 einzugeben, das Eingangspixel F24 in die Verarbeitungsschaltung PE2, - - - und das Eingangspixel F2k in die Verarbeitungsschaltung PEn. Diese Eingangspixel werden mit dem Gewichtungskoeffizienten C01 multipliziert, und die Produkte werden zu den vorher berechneten Werten hinzuaddiert. In den siebten bis neunten Zyklen werden durch Auswahl der Wortleitung W3 mit ähnlichen Berechnungen die Werte R22, R23, - - - und R2k1 der Pixel der zweiten Zeile des Ausgangsbildes in den Verarbeitungsschaltungen PE1, PE2, - - - und PEn bestimmt. Diese Pixelwerte R22, R23, - - -, R2k-1 werden parallel zu dem Speicher SAM2 mit seriellem Zugriff übertragen und aufeinanderfolgend ausgegeben. Das Endpixel hat nicht notwendigerweise ein Eingangspixel und kann wie gezeigt so übertragen werden wie es ist. Um die Ausgangsbilder der folgenden einen Zeile zu verarbeiten, können ähnliche Operationen wiederholt werden. Das heißt, wenn die Pixelinformation einer Zeile im Speicher SAM1 mit seriellem Zugriff gespeichert ist, wird sie zu der Wortleitung des zweidimensionalen Speicherarrays übertragen, in die zuletzt neu eingeschrieben wurde, so daß das Ausgangsbild einer Zeile verarbeitet wird, während die Pixelinformation der folgenden Zeile in den Speicher SAM1 mit seriellem Zugriff eingeschrieben wird. Bei der vorliegenden Ausführungsform können daher die 3 · 3-Raumfilteroperationen für eine Anzahl von Bildern auf der gleichen Zeile des Ausgangsbildes parallel und in Echtzeit verarbeitet werden. Die einzelnen Verarbeitungsschaltungen können die Verarbeitungsoperationen und die Datenübertragungen in der Zeitspanne ausführen, in der die Bilder einer Zeile eingegeben werden. Im Ergebnis ist die für die Verarbeitungsoperationen zur Verfügung stehende Zeitspanne länger als bei den bekannten Verfahren, bei denen die Verarbeitungsoperation für jede Zeitspanne ausgeführt wird, in der ein Pixel eingegeben wird. Mit anderen Worten kann auch dann eine Echtzeitverarbeitung erhalten werden, wenn die Eingangspixel eine hohe Frequenz aufweisen.While the data of the next line are written into the serial access memory SAM1, the values R11, R12, - - - and R1k of the pixels of the second line of the output image are calculated in parallel. The control of the parallel data transfer circuit This is done through nine processing cycles, as shown in the bottom right of Fig. 1. First, in the first cycle, the input images of a line stored in the word line W of the two-dimensional memory array MAR are read out and held by a data line group DG in the sense amplifier SA. One (L) of the switches L, C and R of a selector SEL of the parallel data transfer circuit TRC constructed from such selectors is switched to ON. As a result, the parallel data transfer circuit TRC transfers the input pixel F 11 to the processing circuit PE1, the input pixel F12 to the processing circuit PE2, - - and the input pixel F1k-2 to the processing circuit PEn. Simultaneously, a weighting coefficient C-1-1 is read out from the data memory DM and multiplied by the input pixel that is input to the processing circuit. Then, in the second cycle, the switch C in the selector SEL is turned ON to input the input pixel F12 to the processing circuit PE1, the input pixel F13 to the processing circuit PE2, - - - and the input pixel F1k-1 to the processing circuit PEn through the parallel data transfer circuit, and these input pixels are multiplied by the weighting coefficient C-10. In the third cycle, the switch R in the selector SEL is turned ON to input the input pixel F13 to the processing circuit PE1, the input pixel F14 to the processing circuit PE2, - - - and the input pixel F1k to the processing circuit PEn through the parallel data transfer circuit, and these input pixels are multiplied by the weighting coefficient C-11. After thus using the input images stored in the word line W1 of the two-dimensional memory array MAR, the word line W2 is selected to read out the input images of one line and hold them in the sense amplifier. Then, in the fourth cycle, the switch L in the selector SEL is turned ON to input the input pixel F21 to the processing circuit PE1, the input pixel F22 to the processing circuit PE2, - - - and the input pixel F2k-2 to the processing circuit PEn. These input pixels are multiplied by the weighting coefficient CO-1 and the products are added to the previously calculated values. Thereafter, in the fifth cycle, the switch C in the selector SEL is turned ON to input the input pixel F22 to the processing circuit PE1, the input pixel F23 to the processing circuit PE2, - - - and the input pixel F2k-1 to the processing circuit PEn. These input pixels are multiplied by the weighting coefficient CO00 and the products are added to the previously calculated values. Similarly, in the sixth cycle, the switch R in the selector SEL is turned ON to input the input pixel F23 into the processing circuit PE1, the input pixel F24 to the processing circuit PE2, - - - and the input pixel F2k to the processing circuit PEn. These input pixels are multiplied by the weighting coefficient C01 and the products are added to the previously calculated values. In the seventh to ninth cycles, by selecting the word line W3, the values R22, R23, - - - and R2k1 of the pixels of the second line of the output image in the processing circuits PE1, PE2, - - - and PEn are determined with similar calculations. These pixel values R22, R23, - - -, R2k-1 are transferred in parallel to the serial access memory SAM2 and output sequentially. The final pixel does not necessarily have an input pixel and may be transferred as it is as shown. To process the output images of the following one line, similar operations may be repeated. That is, when the pixel information of one line is stored in the serial access memory SAM1, it is transferred to the word line of the two-dimensional memory array into which it was rewritten last, so that the output image of one line is processed while the pixel information of the following line is written into the serial access memory SAM1. In the present embodiment, therefore, the 3 × 3 spatial filtering operations for a number of images on the same line of the output image can be processed in parallel and in real time. The individual processing circuits can carry out the processing operations and the data transfers in the period in which the images of one line are input. As a result, the time available for the processing operations is longer than in the conventional methods in which the processing operation is carried out for each period in which a pixel is input. In other words, real time processing can be obtained even when the input pixels have a high frequency.
Wie beschrieben können darüberhinaus bei der vorliegenden Ausführungsform die Informationen, die in einem Leseverstärker festgehalten werden, über die Paralleldatenübertragungsschaltung TRC zu verschiedenen Verarbeitungsschaltungen übertragen werden. Im Ergebnis können die zweidimensionalen Filteroperationen oder Konvolutionsoperationen parallel ausgeführt werden, ohne daß während der Operationen die Daten, die im Leseverstärker festgehalten werden, zwischen den Leseverstärkern oder zwischen den Verarbeitungsschaltungen hin und her bewegt oder übertragen werden. Im Ergebnis wird keine aufwendige Schaltung für Übertragungsoperationen zwischen den Leseverstärkern oder zwischen den Verarbeitungsschaltungen benötigt, so daß eine hochintegrierte Schaltung mit niedrigem Energieverbrauch realisiert werden kann. Bei der vorliegenden Ausführungsform sind, wie in der Fig. 1 gezeigt, die Verarbeitungsschaltungen direkt unterhalb des zweidimensionalen Speicherarrays MAR angeordnet. Im Ergebnis kann der Datenübertragungsweg vom zweidimensionalen Speicherarray zu den Verarbeitungsschaltungen auf eine sehr kurze, gleichbleibende Distanz verkürzt werden. Zusätzlich zu dem Vorteil, daß die Verzögerungszeit für die Übertragung kurz ist, wird so der weitere Vorteil erhalten, daß die Verarbeitungsschaltungen weniger verteilt sind und so leicht synchronisiert werden können. Da darüberhinaus die Paralleldatenübertragungsschaltung und die Verarbeitungsschaltungen neben und direkt unter dem Speicherarray angeordnet sind, können sie hoch integriert werden, um den Energieverbrauch durch die Übertragung der Pixelinformationen zu verringern.As described above, in the present embodiment, moreover, the information held in a sense amplifier can be transferred to various processing circuits via the parallel data transfer circuit TRC. As a result, the two-dimensional filtering operations or convolution operations can be carried out in parallel without moving or transferring the data held in the sense amplifier between the sense amplifiers or between the processing circuits during the operations. As a result, no complex circuit is required for transfer operations between the sense amplifiers or between the processing circuits, so that a highly integrated circuit with low power consumption can be realized. In the present embodiment, as shown in Fig. 1, the processing circuits are arranged directly below of the two-dimensional memory array MAR. As a result, the data transmission path from the two-dimensional memory array to the processing circuits can be shortened to a very short, constant distance. In addition to the advantage that the delay time for transmission is short, this provides the further advantage that the processing circuits are less distributed and can thus be easily synchronized. In addition, since the parallel data transmission circuit and the processing circuits are arranged next to and directly below the memory array, they can be highly integrated to reduce the power consumption by transmitting the pixel information.
Die Ausführungsform der Fig. 1 war auf eine Vorrichtung für 3 · 3-Filterberechnungen gerichtet. In der Paralleldatenübertragungsschaltung werden daher eine Verarbeitungsschaltung und die Datenleitungen für drei Pixel miteinander verbunden, und der Leseverstärker und die Verarbeitungsschaltungen sind mit einem Überlapp von zwei Pixeln zwischen benachbarten Verarbeitungsschaltungen verbunden. Bei der Ausführungsform der Fig. 1 können jedoch auch die Verarbeitungsoperationen eines Filters mit einer beliebigen Größe von 3 · 3 oder mehr durch Ändern des Aufbaus der Paralleldatenübertragungsschaltung und des Speicherarrays erhalten werden. Die Fig. 3 zeigt eine Ausführungsform für den Aufbau der Verarbeitungsvorrichtung für einen 5 · 5-Filter. Die vorliegende Ausführungsform ist gegenüber der Ausführungsform der Fig. 1 derart modifiziert, daß die Anzahl der Wortleitungen des zweidimensionalen Speicherarrays MAR auf fünf erhöht ist und daß der Überlapp der Paralleldatenübertragungsschaltung TRC auf vier Pixel erhöht ist. Der Selektor SEL der Paralleldatenübertragungsschaltung TRC ist als ein 5 : 1-Selektor zur Auswahl von Daten mit P Bit aus Daten mit 5P Bit ausgelegt, und es können durch Erhöhen der Kapazität des Datenspeichers die fünfundzwanzig Koeffizienten gespeichert werden, die für den 5 · 5-Filter erforderlich sind. Bei der vorliegenden Ausführungsform können einer Verarbeitungsschaltung die Daten vom Leseverstärker entsprechend den fünf Pixeln zugeführt werden, und die benachbarten Verarbeitungsschaltungen teilen sich die Datenleitungen für vier Pixel der Datenleitungsgruppe. Im Ergebnis können die Verarbeitungsoperationen für den 5 · 5-Filter parallel ausgeführt werden, während die Wortleitungen des zweidimensionalen Speicherarrays wie bei der Ausführungsform der Fig. 1 sequentiell angewählt werden. Bei der vorliegenden Ausführungsform können übrigens nicht nur die Operationen für einen 5 · 5-Filter ausgeführt werden, sondern es läßt sich auch leicht ein 4 · 4-Filter aufbauen, wozu vier der fünf Wortleitungen und vier der fünf Sätze von Verbindungsleitungen verwendet werden, die mit einer Übertragungsschaltung TRC verbunden sind. Gleichermaßen ist es möglich, die Verarbeitungsoperationen für einen 3 · 3-Filter oder einen 2 · 2-Filter auszuführen.The embodiment of Fig. 1 was directed to a device for 3 × 3 filter calculations. In the parallel data transfer circuit, therefore, a processing circuit and the data lines for three pixels are connected to each other, and the sense amplifier and the processing circuits are connected with an overlap of two pixels between adjacent processing circuits. However, in the embodiment of Fig. 1, the processing operations of a filter of an arbitrary size of 3 × 3 or more can be obtained by changing the structure of the parallel data transfer circuit and the memory array. Fig. 3 shows an embodiment for the structure of the processing device for a 5 × 5 filter. The present embodiment is modified from the embodiment of Fig. 1 in such a way that the number of word lines of the two-dimensional memory array MAR is increased to five and that the overlap of the parallel data transfer circuit TRC is increased to four pixels. The selector SEL of the parallel data transfer circuit TRC is designed as a 5:1 selector for selecting P bit data from 5P bit data, and the twenty-five coefficients required for the 5 × 5 filter can be stored by increasing the capacity of the data memory. In the present embodiment, one processing circuit can be supplied with the data from the sense amplifier corresponding to the five pixels, and the adjacent processing circuits share the data lines for four pixels of the data line group. As a result, the processing operations for the 5 × 5 filter can be carried out in parallel while the word lines of the two-dimensional memory array are selected sequentially as in the embodiment of Fig. 1. Incidentally, in the present embodiment, not only the operations for a 5 × 5 filter can be carried out, but also a 4 × 4 filter can be easily constructed by using four of the five word lines and four of the five sets of connecting lines connected to one transfer circuit TRC. Similarly, it is possible to perform the processing operations for a 3 · 3 filter or a 2 · 2 filter.
Bei den Ausführungsformen der Fig. 1 und 3 kann für P Datenleitungen eine Verarbeitungsschaltung vorgesehen werden, wenn der Wert des Pixels durch P Bit ausgedrückt wird. Wenn der Pixelwert zum Beispiel mit einer Genauigkeit von 8 Bit ausgedrückt wird, können die Verarbeitungsschaltungen im Abstand von acht Datenleitungen angeordnet werden. Es kann jedoch schwierig sein, die Verarbeitungsschaltungen so anzuordnen, wenn die Verarbeitungsschaltungen groß sind oder wenn die Datenleitungen des zweidimensionalen Speicherarrays einen geringen Abstand haben.In the embodiments of Figs. 1 and 3, one processing circuit can be provided for P data lines when the value of the pixel is expressed by P bits. For example, when the pixel value is expressed with an accuracy of 8 bits, the processing circuits can be arranged at a pitch of eight data lines. However, it may be difficult to arrange the processing circuits in this way when the processing circuits are large or when the data lines of the two-dimensional memory array are closely spaced.
In diesem Fall kann die in der Fig. 4 gezeigte Ausführungsform verwendet werden. Die Fig. 4 zeigt eine Ausführungsform zum Vergrößern des Layoutabstandes der Verarbeitungsschaltungen der Fig. 1 zum Berechnen des 3 · 3-Filters. Bei der vorliegenden Ausführungsform werden die Eingangsbilder einer Zeile, die in den Speicher SAM1 mit seriellem Zugriff eingegeben werden, durch die Paralleldatenübertragungsschaltung TRC1, die aus Verteilern DIS zusammengesetzt ist, zu einem Register RG1 mit einer Kapazität von drei Zeilen übertragen. Als Folge davon ist der Layoutabstand der Verarbeitungsschaltung dreimal so groß wie bei der Ausführungsform der Fig. 1. Bei der Ausführungsform der Fig. 1 kann eine Verarbeitungsschaltung die Daten von den Datenleitungen von drei Pixeln übertragen, und zwei Übertragungswege in benachbarten Verarbeitungsschaltungen überlappen sich. Bei der vorliegenden Ausführungsform kann demgegenüber eine Verarbeitungsschaltung Daten von den Datenleitungen von neun Pixeln übertragen, und die Paralleldatenübertragungsschaltung ist so aufgebaut, daß die benachbarten Verarbeitungsschaltungen sechs Datenleitungen gemeinsam haben. Die Arbeitsweise der vorliegenden Ausführungsform wird im folgenden anhand der Fig. 4 beschrieben.In this case, the embodiment shown in Fig. 4 can be used. Fig. 4 shows an embodiment for increasing the layout pitch of the processing circuits of Fig. 1 for calculating the 3 x 3 filter. In the present embodiment, the input images of one line input to the serial access memory SAM1 are transferred to a register RG1 having a capacity of three lines through the parallel data transfer circuit TRC1 composed of distributors DIS. As a result, the layout pitch of the processing circuit is three times as large as that of the embodiment of Fig. 1. In the embodiment of Fig. 1, one processing circuit can transfer the data from the data lines of three pixels, and two transfer paths in adjacent processing circuits overlap. In the present embodiment, on the other hand, one processing circuit can transfer data from the data lines of nine pixels, and the parallel data transfer circuit is constructed so that the adjacent processing circuits share six data lines. The operation of the present embodiment will be described below with reference to Fig. 4.
Zuerst werden, wenn die Eingangsbilder der ersten Zeile im Speicher SAM1 mit seriellem Zugriff gespeichert sind, die Schalter L in allen Verteilern DIS auf EIN geschaltet, um die Eingangsbilder parallel in das Register RG1 einzuschreiben. Wenn dann die Eingangsbilder der zweiten Zeile im Speicher SAM1 mit seriellem Zugriff gespeichert sind, werden die Schalter C in allen Verteilern DIS auf EIN geschaltet, um diese Eingangsbilder parallel in das Register RG1 einzuschreiben. Wenn die Eingangsbilder der dritten Zeile im Speicher SAM1 mit seriellem Zugriff gespeichert sind, werden die Schalter C in allen Verteilern DIS auf EIN geschaltet, um diese Eingangsbilder parallel in das Register RG1 einzuschreiben. Die Bilder der aufeinanderfolgenden ersten, zweiten und dritten Zeile werden so in das Register RG1 eingeschrieben und parallel vom Register RG1 über die Datenleitungsgruppe DG zum Register RG2 übertragen. Dann werden im Register RG2 die Pixel der Eingangsbilder für die drei Zeilen vorbereitet, die zum Erstellen der Ausgangsbilder der zweiten Zeile erforderlich sind. Diese Daten werden über die Paralleldatenübertragungsschaltung TRC2 zur Verarbeitungsschaltung übertragen, so daß die Werte der Pixel der zweiten Zeile der Ausgangsbilder bestimmt werden. Die Übertragungs- und Verarbeitungsoperationen an den Daten werden im übrigen ausgeführt, während die Eingangsbilder der vierten Zeile in den Speicher SAM 1 mit seriellem Zugriff eingeschrieben werden. Wenn die Berechnungen der Pixelwerte für die zweite Zeile der Ausgangsbilder beendet sind, so daß die Eingangsbilder der vierten Zeile in den Speicher SAM1 mit seriellem Zugriff eingeschrieben werden können, wird der Schalter L der Verteiler DIS auf EIN geschaltet, um ein Drittel des Inhalts des Registers RG1 zu überschreiben. Da zu diesem Zeitpunkt die Bilder der zweiten, dritten und vierten Zeile der Eingangsbilder im Register RG1 vorbereitet sind, werden sie parallel vom Register RG1 zum Register RG2 übertragen, um die Verarbeitungsoperationen für die Ausgangsbilder der dritten Zeile auszuführen. Wenn diese Operationen jedesmal dann ausgeführt werden, wenn die Eingangsbilder für eine Zeile im Speicher SAM1 mit seriellem Zugriff gespeichert werden, können die Verarbeitungsoperationen für den 3 · 3-Filter fortlaufend parallel ausgeführt werden. Wie bei diesen Operationen die Verarbeitungsoperationen durch Übergeben der Daten vom Register RG2 zu den Verarbeitungsschaltungen ausgeführt werden, wird anhand der Fig. 5 und 6 beschrieben.First, when the input images of the first line are stored in the serial access memory SAM1, the switches L in all the distributors DIS are turned ON to write the input images in parallel to the register RG1. Then, when the input images of the second line are stored in the serial access memory SAM1, the switches C in all the distributors DIS are turned ON to write these input images in parallel to the register RG1. Then, when the input images of the third line are stored in the serial access memory SAM1, the switches C in all the distributors DIS are turned ON to write these input images in parallel to the register RG1. The images of the successive first, second and third lines are thus written in the register RG1 and transferred in parallel from the register RG1 to the register RG2 via the data line group DG. Then, in the register RG2 prepares the pixels of the input images for the three lines required to prepare the output images of the second line. These data are transferred to the processing circuit through the parallel data transfer circuit TRC2 so that the values of the pixels of the second line of the output images are determined. The transfer and processing operations on the data are otherwise carried out while the input images of the fourth line are being written into the serial access memory SAM1. When the calculations of the pixel values for the second line of the output images are completed so that the input images of the fourth line can be written into the serial access memory SAM1, the switch L of the distributor DIS is turned ON to overwrite one-third of the contents of the register RG1. Since at this time the images of the second, third and fourth lines of the input images are prepared in the register RG1, they are transferred in parallel from the register RG1 to the register RG2 to carry out the processing operations for the output images of the third line. If these operations are carried out each time the input images for one line are stored in the serial access memory SAM1, the processing operations for the 3 × 3 filter can be continuously carried out in parallel. In these operations, how the processing operations are carried out by passing the data from the register RG2 to the processing circuits will be described with reference to Figs. 5 and 6.
Die Fig. 5A und 5B zeigen ein Beispiel für den Aufbau der Paralleldatenübertragungsschaltung TRC2 für die Ausführungsform der Fig. 4. Wie in der Fig. 5A gezeigt, sind die Selektoren SEL der Paralleldatenübertragungsschaltung TRC2 in zwei Lagen angeordnet, ihnen werden jeweils drei Steuersignale φLi, φC1 und φRi zugeführt. Jeder Selektor besteht aus drei Schaltern L, C und R, wie es auf der linken Seite der Fig. 5B gezeigt ist. Wenn der Schalter L durch das Steuersignal φLi auf EIN geschaltet wird, wird ein linkes Eingangssignal INL ausgegeben; wenn der Schalter C durch das Steuersignal φCi auf EIN geschaltet wird, wird ein mittleres Eingangssignal INC ausgegeben; und wenn der Schalter R durch das Steuersignal φRi auf EIN geschaltet wird, wird ein rechtes Eingangssignal INR ausgegeben. Diese Schalter können durch eine Parallelverbindung von MOS-Transistoren gebildet werden, wie es auf der rechten Seite der Fig. 5B gezeigt ist. Die Fig. 5A zeigt den Zustand, in dem die Eingangsbilder der ersten, zweiten und dritten Zeile zum Register RG2 übertragen werden. In diesem Zustand sind, wie oben angegeben, die Pixeldaten zum parallelen Erarbeiten der Ausgangsbilder der zweiten Zeile zu der Verarbeitungsschaltung zu übertragen. Die Fig. 6 zeigt die entsprechende zeitliche Ausgabe der Steuersignale. In der Fig. 6 bezeichnen die Buchstaben φL1, φC1 und φR1 sowie φL2, φC2 und φR2 die Steuersignale für die Selektoren SEL, die die Paralleldatenübertragungsschaltung TRC2 bilden. Die Fig. 6 zeigt auch, welche Pixeldaten zu verschiedenen Zeitpunkten zu den linken vier Ausgängen TNO0, TNO1, TNO2 und TNO3 der Paralleldatenübertragungsschaltung TRC2 ausgegeben werden. Wie in der Fig. 5a gezeigt, ist mit der Verarbeitungsschaltung PE1 der Ausgang TNO1 der Paralleldatenübertragungsschaltung TRC verbunden. Aus der Fig. 6 ergibt sich, daß die Pixel F11, F12, F13, F21, F22, - - - und so weiter und die 3 · 3 Pixeldaten um das Pixel F22 in die Verarbeitungsschaltung PE1 eingegeben werden. Gleichermaßen werden die 3 · 3 Pixeldaten um das Pixel F23 in die Verarbeitungsschaltung PE2 eingegeben und die 3 · 3 Pixeldaten um das Pixel F24 in die Verarbeitungsschaltung PE3. Im Ergebnis können die Ausgangsbilder der beiden Zeilen durch die Verarbeitungsschaltungen PE1, PE2, PE3, - - - usw. parallel verarbeitet werden. Die Verarbeitungsoperationen der Ausgangsbilder auf der dritten und den folgenden Zeilen können gleichermaßen ausgeführt werden. Der 3 · 3-Filter kann am linken Ende TNO0 nicht bearbeitet werden, so daß das Ausgangssignal nicht durch die Verarbeitungsschaltung ausgegeben wird, sondern so wie es ist, wie in der Fig. 1. Gemäß der in den Fig. 4, 5 und 6 gezeigten und beschriebenen Ausführungsform ist der Layoutabstand der Verarbeitungsschaltungen vergrößert, und die zweidimensionalen Filteroperationen können für jede Zeile der Ausgangsbilder parallel ausgeführt werden. Auch wenn hier ein 3 · 3-Filter beschrieben wird, kann die vorliegende Erfindung leicht auf die Verarbeitungsoperationen für einen größeren Filter erweitert werden.5A and 5B show an example of the structure of the parallel data transmission circuit TRC2 for the embodiment of Fig. 4. As shown in Fig. 5A, the selectors SEL of the parallel data transmission circuit TRC2 are arranged in two layers, and three control signals φLi, φC1 and φRi are respectively supplied to them. Each selector consists of three switches L, C and R as shown on the left side of Fig. 5B. When the switch L is turned ON by the control signal φLi, a left input signal INL is output; when the switch C is turned ON by the control signal φCi, a middle input signal INC is output; and when the switch R is turned ON by the control signal φRi, a right input signal INR is output. These switches can be formed by a parallel connection of MOS transistors as shown on the right side of Fig. 5B. Fig. 5A shows the state in which the input images of the first, second and third lines are transferred to the register RG2. In this state, as stated above, the pixel data for parallel processing of the output images of the second line are to be transferred to the processing circuit. Fig. 6 shows the corresponding temporal output of the control signals. In Fig. 6, the letters φL1, φC1 and φR1 and φL2, φC2 and φR2 are the control signals for the selectors SEL which form the parallel data transfer circuit TRC2. Fig. 6 also shows which pixel data are output at different times to the left four outputs TNO0, TNO1, TNO2 and TNO3 of the parallel data transfer circuit TRC2. As shown in Fig. 5a, the output TNO1 of the parallel data transfer circuit TRC is connected to the processing circuit PE1. From Fig. 6 it can be seen that the pixels F11, F12, F13, F21, F22, - - - and so on and the 3 x 3 pixel data around the pixel F22 are input to the processing circuit PE1. Similarly, the 3 × 3 pixel data around the pixel F23 is input to the processing circuit PE2, and the 3 × 3 pixel data around the pixel F24 is input to the processing circuit PE3. As a result, the output images of the two lines can be processed in parallel by the processing circuits PE1, PE2, PE3, - - -, etc. The processing operations of the output images on the third and subsequent lines can be carried out similarly. The 3 × 3 filter may not be processed at the left end TNO0, so that the output signal is not output by the processing circuit but as it is, as in Fig. 1. According to the embodiment shown and described in Figs. 4, 5 and 6, the layout pitch of the processing circuits is increased, and the two-dimensional filter operations can be carried out in parallel for each line of the output images. Although a 3 × 3 filter is described here, the present invention can be easily extended to the processing operations for a larger filter.
Die Fig. 7 zeigt eine zweite. Ausführungsform zum Vergrößern des Layoutabstandes der Verarbeitungsschaltungen gegenüber der Vorrichtung der Fig. 1 zum Berechnen des 3 · 3-Filters. In der Fig. 4 wird der größere Layoutabstand durch Anordnen der gleichen Anzahl von Verarbeitungsschaltungen wie bei der Vorrichtung der Fig. 1 über eine dreimal so große Layoutbreite erreicht. Bei der vorliegenden Ausführungsform wird im Gegensatz dazu der Layoutabstand dadurch erhöht, daß die Anzahl von Verarbeitungsschaltungen auf ein Drittel verringert wird, wobei die Verarbeitungsschaltungen mit der gleichen Layoutbreite wie bei der Ausführungsform der Fig. 1 angeordnet werden. Die Fig. 8A und 8B zeigen ein Beispiel für den Aufbau der Paralleldatenübertragungsschaltung TRC1 für die Ausführungsform der Fig. 7. Die Fig. 8A zeigt den Zustand, in dem die Pixelwerte F 11, F 12, - - - und so weiter der ersten Zeile der Eingangsbilder zum Leseverstärker SA übertragen werden. Die Paralleldatenübertragungsschaltung TRC 1 umfaßt eine Art von 5 : 1-Selektoren SEL, um jeweils aus 5P Bit P Bit auszuwählen, wie es in der Fig. 7 gezeigt ist. Die Fig. 8A zeigt eine Ausführungsform, bei der der Selektor SEL der Fig. 7 aus einer Art 2 : 2-Selektor SEL2-1 aufgebaut ist, um aus 2P Bit P Bit auszuwählen. Die Selektoren sind in drei Lagen angeordnet, jedem Selektor SEL2-1 werden die beiden Steuersignale φL1 und φRi zugeführt. Der Selektor SEL2-1 besteht aus den beiden Schaltern L und R, wie es auf der linken Seite der Fig. 8B gezeigt ist. Das linke Eingangssignal INL wird ausgegeben, wenn der Schalter L durch das Steuersignal φLi auf EIN geschaltet wird, und das rechte Eingangssignal INR wird ausgegeben, wenn der Schalter R durch das Steuersignal φRi auf EIN geschaltet wird. Diese Schalter können durch eine Parallelverbindung von MOS-Transistoren gebildet werden, wie es auf der rechten Seite der Fig. 8B gezeigt ist.Fig. 7 shows a second embodiment for increasing the layout pitch of the processing circuits compared with the apparatus of Fig. 1 for calculating the 3 × 3 filter. In Fig. 4, the larger layout pitch is achieved by arranging the same number of processing circuits as in the apparatus of Fig. 1 over a layout width three times as large. In the present embodiment, on the contrary, the layout pitch is increased by reducing the number of processing circuits to one third while arranging the processing circuits with the same layout width as in the embodiment of Fig. 1. Figs. 8A and 8B show an example of the structure of the parallel data transfer circuit TRC1 for the embodiment of Fig. 7. Fig. 8A shows the state in which the pixel values F 11 , F 12 , - - - and so on of the first line of the input images are transferred to the sense amplifier SA. The parallel data transmission circuit TRC 1 comprises a kind of 5:1 selectors SEL for selecting P bits from 5P bits each, as shown in Fig. 7. Fig. 8A shows an embodiment in which the selector SEL of Fig. 7 is constructed of a kind of 2:2 selector SEL2-1 for selecting P bits from 2P bits. The Selectors are arranged in three layers, each selector SEL2-1 is supplied with the two control signals φL1 and φRi. The selector SEL2-1 consists of the two switches L and R as shown on the left side of Fig. 8B. The left input signal INL is output when the switch L is turned ON by the control signal φLi, and the right input signal INR is output when the switch R is turned ON by the control signal φRi. These switches can be formed by a parallel connection of MOS transistors as shown on the right side of Fig. 8B.
Anhand der Fig. 9 wird im folgenden die Arbeitsweise der Ausführungsform der Fig. 7 und 8 erläutert. In der Fig. 9 bezeichnen (φL1, φR1), (φL2, φR2), (φL3, φR3) die einzelnen Steuersignale für die Selektoren SEL der Paralleldatenübertragungsschaltung TRC1 der Fig. 8. Die Fig. 9 zeigt die Zeitpunkte der Auswahl der Wortleitungen und der erwähnten Steuersignale, die an den linken vier Ausgängen TNO0, TNO1, TNO2 und TNO3 der Paralleldatenübertragungsschaltung TRC 1 ausgegebenen Pixeldaten und die Zeitpunkte zum Schalten der Schalter L, C und R der Distributoren DIS in der Paralleldatenübertragungsschaltung TRC2 auf EIN. Bei der vorliegenden Ausführungsform werden, da die Anzahl von Verarbeitungsschaltungen auf ein Drittel verringert ist, drei aufeinanderfolgende Ausgangspixel von einer Verarbeitungsschaltung verarbeitet. Zuerst werden die Eingangsbilder der ersten Zeile im Speicher SAM1 mit seriellem Zugriff gespeichert und dann zu der Wortleitung W1 des zweidimensionalen Speicherarrays MAR übertragen. Gleichermaßen werden die Eingangsbilder der zweiten und dritten Zeile zu den Wortleitungen W2 und W3 übertragen, und es wird dann mit der Erarbeitung der Ausgangsbilder der zweiten Zeile begonnen. Die Eingangsbilder der ersten Zeile auf der Wortleitung W1 werden durch die Datenleitungsgruppe DG ausgelesen, und ihre Pixel F11, F12, F13, - - - und so weiter werden von links im Leseverstärker festgehalten, wie es in der Fig. 8A gezeigt ist. Danach wird das Steuersignal für die Selektoren SEL in der Paralleldatenübertragungsschaltung TRC1 umgeschaltet, wie es in der Spalte für den Zyklus t1 der Fig. 9 gezeigt ist. Dann werden die Pixel F11, F14, F17, - - - und so weiter über die Ausgänge TNO1, TNO2 und TNO3 der Paralleldatenübertragungsschaltung TRC zu den Verarbeitungsschaltungen PE1, PE2 und PE3 übertragen. Die Pixel werden in den Multiplikatoren MT1, MT2, - - - und so weiter mit den vom Datenspeicher ausgelesenen Gewichtungskoeffizienten multipliziert, und die sich ergebenden Produkte werden in den Registern RG1, RG2, - - - und so- weiter gespeichert. Daraufhin werden die Steuersignale für die Selektoren SEL umgeschaltet, wie es in der Spalte für den Zyklus t2 in der Fig. 9 gezeigt ist. Die Pixel F12, F 15, F18, - - - und so weiter werden dann zu den Verarbeitungsschaltungen PE1, PE2, PE3 übertragen. Diese Daten werden mit den Gewichtungskoeffizienten multipliziert. Die Produkte werden zu den in den Registern gespeicherten vorherigen Ergebnissen addiert, und die Summe wird wieder in den Registern gespeichert. Wie in der Spalte für den Zyklus t3 in der Fig. 9 gezeigt, werden darüberhinaus die Steuersignale umgeschaltet, um die Pixel F 13, F16, F19, - - - und so weiter zu den Verarbeitungsschaltungen PE1, PE21, PE3 zu übertragen. Diese Daten werden multipliziert und zu den vorherigen Ergebnissen hinzuaddiert. Die bis hier erhaltenen Ergebnisse werden über den Schalter L des Distributors DIS in der Paralleldatenübertragungsschaltung TRC2 der Fig. 7 in den Speicher SAM2 mit seriellem Zugriff eingeschrieben. Die Daten werden intermittierend in den Speicher SAM2 mit seriellem Zugriff eingeschrieben.The operation of the embodiment of Figs. 7 and 8 will now be explained with reference to Fig. 9. In Fig. 9, (φL1, φR1), (φL2, φR2), (φL3, φR3) denote the individual control signals for the selectors SEL of the parallel data transmission circuit TRC1 of Fig. 8. Fig. 9 shows the timing of the selection of the word lines and the mentioned control signals, the pixel data output from the left four outputs TNO0, TNO1, TNO2 and TNO3 of the parallel data transmission circuit TRC1 and the timing of turning the switches L, C and R of the distributors DIS in the parallel data transmission circuit TRC2 to ON. In the present embodiment, since the number of processing circuits is reduced to one third, three consecutive output pixels are processed by one processing circuit. First, the input images of the first row are stored in the serial access memory SAM1 and then transferred to the word line W1 of the two-dimensional memory array MAR. Similarly, the input images of the second and third rows are transferred to the word lines W2 and W3, and then the processing of the output images of the second row is started. The input images of the first row on the word line W1 are read out by the data line group DG, and their pixels F11, F12, F13, - - - and so on are held from the left in the sense amplifier as shown in Fig. 8A. Thereafter, the control signal for the selectors SEL in the parallel data transfer circuit TRC1 is switched as shown in the column for the cycle t1 of Fig. 9. Then, the pixels F11, F14, F17, - - - and so on are transferred to the processing circuits PE1, PE2 and PE3 via the outputs TNO1, TNO2 and TNO3 of the parallel data transfer circuit TRC. The pixels are multiplied by the weighting coefficients read from the data memory in the multipliers MT1, MT2, - - - and so on, and the resulting products are stored in the registers RG1, RG2, - - - and so on. Thereafter, the control signals for the selectors SEL are switched as shown in the column for the cycle t2 in Fig. 9. The pixels F12, F15, F18, - - - and so on are then transferred to the processing circuits PE1, PE2, PE3. These data are multiplied by the weighting coefficients. The products are added to the previous results stored in the registers, and the sum is stored in the registers again. Furthermore, as shown in the column for cycle t3 in Fig. 9, the control signals are switched to transfer the pixels F13, F16, F19, - - - and so on to the processing circuits PE1, PE21, PE3. These data are multiplied and added to the previous results. The results obtained up to this point are written into the serial access memory SAM2 via the switch L of the distributor DIS in the parallel data transfer circuit TRC2 of Fig. 7. The data is intermittently written into the serial access memory SAM2.
Dann werden, während die Eingangspixel der ersten Zeile im Leseverstärker festgehalten werden, die Daten übertragen, wie es in den Zyklen t4 bis t6 der Fig. 9 gezeigt ist, und die Verarbeitungsergebnisse werden durch Einschalten des Schalters C des Distributors DIS intermittierend in den Speicher SAM2 mit seriellem Zugriff eingeschrieben.Then, while the input pixels of the first line are held in the sense amplifier, the data are transferred as shown in cycles t4 to t6 of Fig. 9, and the processing results are intermittently written into the serial access memory SAM2 by turning on the switch C of the distributor DIS.
Dann werden, während die Eingangspixel der ersten Zeile im Leseverstärker festgehalten werden, die Daten übertragen, wie es in den Zyklen t7 bis t9 der Fig. 9 gezeigt ist, und die Verarbeitungsergebnisse werden durch Einschalten des Schalters R des Distributors DIS intermittierend in den Speicher SAM2 mit seriellem Zugriff eingeschrieben. Danach wird die Wortleitung W2 ausgewählt, um die Eingangspixel der zweiten Zeile im Leseverstärker festzuhalten, und es werden entsprechende Operationen ausgeführt. Zu Beginn der Zyklen t1, t4 und t7 werden dabei die Ergebnisse, die unter Verwendung der Eingangspixel der ersten Zeile erhalten wurden, vom Speicher SAM2 mit seriellem Zugriff zu den Registern RG1, RG2, - - - und so weiter der Fig. 7 geführt, und die neu erhaltenen Multiplikationsergebnisse werden zu den zugeführten Ergebnissen addiert. Wenn bei der Auswahl der Wortleitung W3 zum Festhalten der Eingangspixel der dritten Zeile im Leseverstärker entsprechende Operationen ausgeführt werden, werden alle Werte der Pixel der Ausgangsbilder der zweiten Zeile im Speicher SAM2 mit seriellem Zugriff bestimmt. Wenn diese Operationen jedesmal dann fortgeführt werden, wenn die Eingangspixel einer Zeile im Speicher SAM1 mit seriellem Zugriff gespeichert werden, können die Verarbeitungsoperationen für den 3 · 3-Filter fortlaufend ausgeführt werden. Wie bei der Ausführungsform der Fig. 4 läßt sich mit der vorliegenden Ausführungsform der Vorteil erhalten, daß der Layoutabstand der Verarbeitungsschaltungen dreimal so groß gemacht werden kann wie bei der Ausführungsform der Fig. 1. Bei der vorliegenden Ausführungsform ist die Anzahl von Verarbeitungsschaltungen auf ein Drittel vermindert, da eine Verarbeitungsschaltung die Verarbeitungsoperationen für drei aufeinanderfolgende Ausgabepixel ausführt, so daß diese Ausführungsform für den Fall geeignet ist, daß auf einem Chip nicht viele Verarbeitungsschaltungen integriert werden können. Um den Abstand der Verarbeitungsschaltungen noch weiter zu erhöhen, reicht es aus, daß eine Verarbeitungsschaltung drei oder mehr aufeinanderfolgende Pixel verarbeitet, was leicht einzusehen ist. Dazu kann, wie ebenfalls leicht einzusehen ist, das Übertragungsnetzwerk so aufgebaut werden, daß die Daten von der Anzahl von Leseverstärkern zu einer Verarbeitungsschaltung übertragen werden, wobei sich zwei Übertragungswege benachbarter Verarbeitungsschaltungen überlappen.Then, while the input pixels of the first line are held in the sense amplifier, the data are transferred as shown in cycles t7 to t9 of Fig. 9, and the processing results are intermittently written into the serial access memory SAM2 by turning on the switch R of the distributor DIS. Thereafter, the word line W2 is selected to hold the input pixels of the second line in the sense amplifier, and corresponding operations are carried out. At this time, at the beginning of cycles t1, t4, and t7, the results obtained using the input pixels of the first line are supplied from the serial access memory SAM2 to the registers RG1, RG2, - - - and so on of Fig. 7, and the newly obtained multiplication results are added to the supplied results. When corresponding operations are carried out when the word line W3 is selected to hold the input pixels of the third line in the sense amplifier, all the values of the pixels of the output images of the second line in the serial access memory SAM2 are determined. If these operations are continued each time the input pixels of one line are stored in the serial access memory SAM1, the processing operations for the 3 x 3 filter can be carried out continuously. As with the embodiment of Fig. 4, the present embodiment can obtain the advantage that the layout pitch of the processing circuits can be made three times as large as in the embodiment of Fig. 1. In the present embodiment, the number of processing circuits is reduced to one third because one processing circuit can carry out the processing operations for three consecutive output pixels. so that this embodiment is suitable for the case where not many processing circuits can be integrated on one chip. To increase the distance between the processing circuits even further, it is sufficient for one processing circuit to process three or more consecutive pixels, which is easy to understand. To this end, as is also easy to understand, the transmission network can be constructed in such a way that the data is transmitted from the number of sense amplifiers to one processing circuit, with two transmission paths of adjacent processing circuits overlapping.
Die anhand einschließlich der Fig. 9 beschriebenen Ausführungsformen umfassen einen zweidimensionalen linearen Filter. Dank dieser Ausführungsformen können die Linien oder Kanten im Bild durch Ändernder Größen und Koeffizienten der Filter schnell hervorgehoben oder geglättet werden. Durch Ändern der Funktionen der Verarbeitungsschaltungen können darüberhinaus spezielle Muster extrahiert oder die Verarbeitungsoperationen eines nichtlinearen Filters wie eines Medianfilters mit hoher Geschwindigkeit ausgeführt werden. Auch können die vorstehenden Ausführungsformen natürlich dazu verwendet werden, einen zellularen Automaten oder ein neuronales Netzwerk zu schaffen, das nur mit dem benachbarten Neuron verbunden ist, wenn sie die Ausgangssignale unter Verwendung der Informationen von benachbarten, zweidimensional verteilten Zellen erarbeiten. In den Darstellungen zur Beschreibung der vorstehenden Ausführungsformen speichert das zweidimensionale Speicherzellenarray nur die Daten der Pixel für die Anzahl von Zeilen, die für die Verarbeitungsoperationen erforderlich sind. Durch Erhöhen der Anzahl der Wortleitungen des zweidimensionalen Speicherarrays können jedoch leicht die Pixeldaten für mehr Zeilen gespeichert werden. Wenn zum Beispiel die Daten für ein ganzes Bild gespeichert werden, können die Ausführungsformen als sogenannte "Bildspeicher" verwendet werden. In diesem Fall wird nur ein Teil des zweidimensionalen Speicherarrays verarbeitet, während die übrigen Daten seriell ausgelesen und so ausgegeben werden wie sie sind, so daß nur ein Teil des Bildschirms durch den Filter bearbeitet wird oder ähnliches. Das bearbeitete Gebiet kann leicht durch entsprechendes Steuern der Wortleitungen hin- und herbewegt werden.The embodiments described with reference to Fig. 9 include a two-dimensional linear filter. Thanks to these embodiments, the lines or edges in the image can be quickly emphasized or smoothed by changing the sizes and coefficients of the filters. Furthermore, by changing the functions of the processing circuits, specific patterns can be extracted or the processing operations of a non-linear filter such as a median filter can be carried out at high speed. Also, the above embodiments can of course be used to create a cellular automaton or a neural network that is connected only to the neighboring neuron when they process the output signals using the information from neighboring cells distributed in two dimensions. In the illustrations describing the above embodiments, the two-dimensional memory cell array only stores the data of the pixels for the number of rows required for the processing operations. However, by increasing the number of word lines of the two-dimensional memory array, the pixel data for more lines can be easily stored. For example, when storing the data for an entire image, the embodiments can be used as so-called "image memories". In this case, only a part of the two-dimensional memory array is processed, while the remaining data is serially read out and output as it is, so that only a part of the screen is processed by the filter or the like. The processed area can be easily moved back and forth by appropriately controlling the word lines.
Es wird nun beispielhaft eine Ausführungsform zum Erfassen eines Bewegungsvektors beschrieben, bei dem die vorliegende Erfindung auf etwas anderes als einen Filter angewendet wird. Das Erfassen eines Bewegungsvektors ist beim Komprimieren/Dekomprimieren eines sich bewegenden digitalen Bildes von Nutzen. Wegen der großen zu verarbeitenden Datenmenge ist jedoch eine Vorrichtung zum schnellen Erfassen des Bewegungsvektors erwünscht. Wie allgemein bekannt, wird der Bewegungsvektor dadurch erfaßt, daß das Eingangsbild in Blöcke mit einer Anzahl von Pixeln aufgeteilt wird, wobei die einzelnen Blöcke dann mit einem Block, der so angeordnet ist, daß er einem Bezugsbild entspricht, und einer Anzahl von Blöcken in der Umgebung dieses Bezugsblocks verglichen werden, um den Block mit dem kleinsten Abstand zu bestimmen und die Koordinatendifferenz zum Block des Eingangsbildes festzustellen.An embodiment for detecting a motion vector in which the present invention is applied to something other than a filter will now be described by way of example. Detecting a motion vector is useful in compressing/decompressing a moving digital image. However, because of the large amount of data to be processed, an apparatus for quickly detecting the motion vector is desired. As is well known, the motion vector detected by dividing the input image into blocks of a number of pixels, each block then being compared with a block arranged to correspond to a reference image and a number of blocks in the vicinity of that reference block to determine the block with the smallest distance and to determine the coordinate difference from the block of the input image.
Die Fig. 10 und 11 zeigen eine Ausführungsform einer Vorrichtung zum Erarbeiten des Bewegungsvektors eines sich bewegenden Bildes mittels der vorliegenden Erfindung. Um die Beschreibung zu vereinfachen, wird im folgenden angenommen, daß der Block eine Größe von 3 · 3 Pixeln hat und die Suche einen Umfang von zwei Pixeln in der vertikalen und in der horizontalen Richtung. Die vorliegende Erfindung ist jedoch nicht auf diese numerischen Werte begrenzt, sondern kann leicht erweitert werden. Die Fig. 11 zeigt den Aufbau für eine Minimaldistanz-Verarbeitungseinheit zum Bestimmen des Minimums des wie in der Fig. 10 bestimmten Zwischenblockabstands und zur Ausgabe des Bewegungsvektors. Es wird nun der Aufbau und die Arbeitsweise der vorliegenden Ausführungsform beschrieben.10 and 11 show an embodiment of an apparatus for determining the motion vector of a moving picture by means of the present invention. In order to simplify the description, it is assumed hereinafter that the block has a size of 3 x 3 pixels and the search has a scope of two pixels in the vertical and horizontal directions. However, the present invention is not limited to these numerical values, but can be easily extended. Fig. 11 shows the structure for a minimum distance processing unit for determining the minimum of the inter-block distance determined as in Fig. 10 and for outputting the motion vector. The structure and operation of the present embodiment will now be described.
Bei der Vorrichtung der Fig. 10 wird das Pixel REFx'y' eines Bezugsbildes, das zum Vergleich mit dem Pixel Fxy des Eingangsbildes verwendet wird, einzeln in Echtzeit in die Speicher SAM1 und SAM2 mit seriellem Zugriff eingegeben. Nach dieser Eingabe in die Speicher mit seriellem Zugriff wird das Pixel zu zweidimensionalen Pufferarrays BAF2 und BAF1 für drei Zeilen und außerdem zum Vergleich zu den zweidimensionalen Speicherarrays MAR2 und MAR1 übertragen. Das zweidimensionale Speicherarray MAR2 kann die Eingangsbilder von drei Zeilen speichern, so daß in einer Spalte ein Block der Größe 3 · 3 Pixel gespeichert werden kann. Andererseits kann das zweidimensionale Speicherarray MAR1 die Eingangsbilder von sieben Zeilen speichern, die außer der Position, die dem Block der Eingangsbilder im Speicherarray MAR2 entspricht, zwei vertikale Zeilen umfassen. Die in den Speicher SAM2 mit seriellem Zugriff eingegebenen Eingangsbilder werden mit einer Verzögerung von zwei Zeilen gegen das in den Speicher SAM1 mit seriellem Zugriff eingegebene Bezugsbild eingegeben, so daß die Daten jedesmal dann von den Speichern SAM1 und SAM2 mit seriellem Zugriff zu den Pufferarrays BAF1 und BAF2 und die Speicherarrays MAR1 und MAR2 übertragen werden, wenn die Daten einer Zeile gespeichert werden. Das Bild im Speicherarray MAR1 umfaßt zusätzlich zu der Position, die dem Block des Eingangsbildes im Speicherarray MAR2 entspricht, zwei vertikale Zeilen. Die zweidimensionalen Pufferarrays BAF2 und BAF1 für drei Zeilen sind zum vorübergehenden Speichern der Daten zum Betimmen des Bewegungsvektors des Blocks der nächsten Spalte vorgesehen, während der Bewegungsvektor für den Block einer Spalte bestimmt wird. Am Ende jeder Verarbeitungsoperation für den Bewegungsvektor des Blocks einer Spalte werden die Daten dieser zweidimensionalen Pufferarrays BAF1 und BAF2 zu den Speicherarrays MAR1 und MAR2 übertragen, so daß der Bewegungsvektor des Blocks der nächsten Spalte erarbeitet werden kann. Um den Bewegungsvektor zu bestimmen, ist es wie erwähnt erforderlich, den Abstand zwischen dem Block des Eingangsbildes und dem Block des Bezugsbildes zu bestimmen, dessen Position in vertikaler und horizontaler Richtung verschoben ist. Der Zwischenblockabstand kann durch Aufsummieren der Differenz zwischen den Werten der Pixel für einen Block und der Pixel für einen anderen Block bestimmt werden. Bei der Ausführungsform der Fig. 10 werden die Abstände zwischen den aus den Speicherarrays MAR2 und MAR1 ausgelesenen Pixeln parallel durch die Verarbeitungsschaltungen PE1, - - - und PEn berechnet. Wenn die Steuersignale φL, φC und φR für die Paralleldatenübertragungsschaltung TRC2 jedesmal dann umgeschaltet werden, wenn nacheinander die Wortleitungen des Speicherarrays MAR2 angewählt werden, ist es möglich, die Pixel verschiedener Blöcke für die Verarbeitungsschaltungen zu übertragen. Andererseits enthält das Speicherarray MAR1 die Daten des Bezugsbildes und weiterer zwei vertikaler Zeilen zusätzlich zu der Position, die dem Block des Eingangsbildes im Speicherarray MAR2 entspricht. Durch Umschalten der Wortleitungen kann daher die y-Koordinate der zu übertragenden Pixel innerhalb der zwei vertikalen Pixel zusätzlich zu der dem Block des Eingangsbildes entsprechenden Position geändert werden. Durch das Umschalten der Steuersignale für die Paralleldatenübertragungsschaltung TRC1 werden darüberhinaus die Pixel, die innerhalb des Bereichs der insgesamt sieben Pixel um horizontal zwei Pixel zusätzlich zu der dem Block des Eingangsbildes entsprechenden Position in x-Richtung verschoben werden, zu den einzelnen Verarbeitungsschaltungen übertragen. Im Ergebnis werden die Koordinaten des Blocks des Bezugsbildes, der in die Verarbeitungsschaltungen einzugeben ist, innerhalb des Bereichs der beiden Pixel bezüglich dem Eingangsbild in der x- und der y-Richtung verschoben. Die Signalleitungen der Paralleldatenübertragungsschaltung TRC1 benötigen einen Überlapp von vier Leitungen, die Signalleitungen des Ausgangs TN1 benötigen jedoch keinen Überlapp.In the device of Fig. 10, the pixel REFx'y' of a reference image used for comparison with the pixel Fxy of the input image is input one by one in real time to the serial access memories SAM1 and SAM2. After this input to the serial access memories, the pixel is transferred to two-dimensional buffer arrays BAF2 and BAF1 for three lines and also to the two-dimensional memory arrays MAR2 and MAR1 for comparison. The two-dimensional memory array MAR2 can store the input images of three lines so that a block of size 3 x 3 pixels can be stored in one column. On the other hand, the two-dimensional memory array MAR1 can store the input images of seven lines comprising two vertical lines in addition to the position corresponding to the block of input images in the memory array MAR2. The input images input to the serial access memory SAM2 are input with a delay of two lines from the reference image input to the serial access memory SAM1, so that the data is transferred from the serial access memories SAM1 and SAM2 to the buffer arrays BAF1 and BAF2 and the memory arrays MAR1 and MAR2 each time the data of one line is stored. The image in the memory array MAR1 comprises two vertical lines in addition to the position corresponding to the block of the input image in the memory array MAR2. The two-dimensional buffer arrays BAF2 and BAF1 for three lines are provided for temporarily storing the data for determining the motion vector of the block of the next column, while the motion vector for the block of a column. At the end of each processing operation for the motion vector of the block of a column, the data of these two-dimensional buffer arrays BAF1 and BAF2 are transferred to the memory arrays MAR1 and MAR2 so that the motion vector of the block of the next column can be worked out. As mentioned above, in order to determine the motion vector, it is necessary to determine the distance between the block of the input image and the block of the reference image whose position is shifted in the vertical and horizontal directions. The interblock distance can be determined by summing the difference between the values of the pixels for one block and the pixels for another block. In the embodiment of Fig. 10, the distances between the pixels read out from the memory arrays MAR2 and MAR1 are calculated in parallel by the processing circuits PE1, - - - and PEn. If the control signals φL, φC and φR for the parallel data transfer circuit TRC2 are switched each time the word lines of the memory array MAR2 are selected in succession, it is possible to transfer the pixels of different blocks for the processing circuits. On the other hand, the memory array MAR1 contains the data of the reference image and another two vertical lines in addition to the position corresponding to the block of the input image in the memory array MAR2. Therefore, by switching the word lines, the y-coordinate of the pixels to be transferred can be changed within the two vertical pixels in addition to the position corresponding to the block of the input image. Furthermore, by switching the control signals for the parallel data transfer circuit TRC1, the pixels which are shifted horizontally by two pixels in the x-direction within the range of the total of seven pixels in addition to the position corresponding to the block of the input image are transferred to the individual processing circuits. As a result, the coordinates of the block of the reference image to be input to the processing circuits are shifted within the range of the two pixels with respect to the input image in the x and y directions. The signal lines of the parallel data transmission circuit TRC1 require an overlap of four lines, but the signal lines of the output TN1 do not require an overlap.
Der Abstand zwischen dem Block des Eingangsbildes und dem Block des Bezugsbildes wird auf die folgende Weise bestimmt. Zuerst wird die Verschiebung der Koordinaten fixiert, und die Pixel des Blocks des Eingangsbildes und des Blocks des Bezugsbildes werden zu den einzelnen Verarbeitungsschaltungen PE1, - - - PEn übertragen. Die Abstände zwischen den Pixeln, die von den Verarbeitungsschaltungen bestimmt werden, werden zu Akkumulatoren ACC1, - - - ACCn übertragen, so daß die Werte davon für einen Block akkumuliert werden. Die so bestimmten Abstände zwischen den Blöcken werden zu Minimaldistanz-Verarbeitungseinheiten MIN1, - - - MINn übertragen. Diese Minimaldistanz-Verarbeitungseinheiten bestimmen die Koordinatenverschiebung, die die Abstände zwischen den Blöcken minimiert. Der Aufbau dieser Minimaldistanz-Verarbeitungseinheiten ist in der Fig. 11 gezeigt. Die Minimaldistanz-Verarbeitungseinheit MINi ist wie in der Fig. 11 gezeigt so aufgebaut, daß sie einen Komparator COM, Register REG1 und REG2 und Schalter SWB1 und SWB2 umfaßt. Der Zwischenblockabstand BLDi(Δx, Δy) für vorgegebene Verschiebungen Δx und Δy wird nach der Bestimmung in den Komparator COM eingegeben. Der Komparator COM vergleicht den neu bestimmten Zwischenblockabstand BLDi(Δx, Δy) mit dem Zwischenblockabstand (Δx', Δy') bereits bestimmter und im Register REG1 gespeicherter anderer Verschiebungen Δx' und Δy'. Wenn sich ergibt, daß der Abstand BLDi(Δx, Δy) kleiner ist, wird der Schalter SWB1 auf EIN geschaltet, damit der Inhalt des Registers REG1 durch den Wert BLDi(Δx, Δy) erneuert wird. Im Register REG2 ist die Verschiebung (Δx', Δy') gespeichert, die auch durch (Δx, Δy) erneuert wird, wenn der Schalter SWB2 auf EIN geschaltet wird. Wenn der Abstand BLDi(Δx, Δy) dagegen größer ist, werden die Schalter SWB1 und SWB2 nicht auf EIN geschaltet, so daß die Inhalte der Register nicht erneuert werden. Durch Ausführen dieser Operationen für alle Verschiebungen stellt das Register REG2 die Verschiebung für den minimalen Zwischenblockabstand fest, d. h. den Bewegungsvektor MC. In der Fig. 10 werden die Bewegungsvektoren der Blöcke einer Spalte parallel bestimmt, zum Speicher SAM3 mit seriellem Zugriff übertragen und sequentiell vom Chip nach außen abgegeben.The distance between the block of the input image and the block of the reference image is determined in the following manner. First, the shift of the coordinates is fixed, and the pixels of the block of the input image and the block of the reference image are transferred to the individual processing circuits PE1, - - - PEn. The distances between the pixels determined by the processing circuits are transferred to accumulators ACC1, - - - ACCn so that the values thereof are stored for a block. The distances between the blocks thus determined are transferred to minimum distance processing units MIN1, - - - MINn. These minimum distance processing units determine the coordinate shift which minimizes the distances between the blocks. The structure of these minimum distance processing units is shown in Fig. 11. The minimum distance processing unit MINi is constructed as shown in Fig. 11 to include a comparator COM, registers REG1 and REG2, and switches SWB1 and SWB2. The inter-block distance BLDi(Δx, Δy) for predetermined displacements Δx and Δy is input to the comparator COM after determination. The comparator COM compares the newly determined interblock distance BLDi(Δx, Δy) with the interblock distance (Δx', Δy') of other displacements Δx' and Δy' already determined and stored in the register REG1. If the distance BLDi(Δx, Δy) is found to be smaller, the switch SWB1 is turned ON so that the contents of the register REG1 are updated with the value BLDi(Δx, Δy). The register REG2 stores the displacement (Δx', Δy'), which is also updated with (Δx, Δy) when the switch SWB2 is turned ON. On the other hand, if the distance BLDi(Δx, Δy) is larger, the switches SWB1 and SWB2 are not turned ON, so that the contents of the registers are not updated. By performing these operations for all shifts, the register REG2 determines the shift for the minimum interblock distance, ie, the motion vector MC. In Fig. 10, the motion vectors of the blocks of a column are determined in parallel, transferred to the serial access memory SAM3, and sequentially output from the chip.
Wie beschrieben ist es bei den Ausführungsformen der Fig. 10 und 11 möglich, die Bewegungsvektoren für die Blöcke einer Spalte parallel für ein Bild zu bestimmen, das in Echtzeit eingegeben wird. Das Komprimierungs/Dekomprimierungssystem für ein bewegtes Bild, das von dem Bewegungsvektor Gebrauch macht, kann daher durch Anbringung der erfindungsgemäßen integrierten Halbleiterschaltung am System schnelle Verarbeitungsoperationen ausführen. Bei dem Aufbau der Fig. 10 läßt sich der Abstand der Verarbeitungsschaltungen durch die Verfahren der Fig. 4 und 7 erhöhen.As described, in the embodiments of Figs. 10 and 11, it is possible to determine the motion vectors for the blocks of one column in parallel for an image that is input in real time. The motion picture compression/decompression system using the motion vector can therefore perform high-speed processing operations by incorporating the semiconductor integrated circuit of the present invention into the system. In the structure of Fig. 10, the pitch of the processing circuits can be increased by the methods of Figs. 4 and 7.
Es wurden Ausführungsformen der vorliegenden Erfindung beschrieben, bei denen zweidimensionale Speicherarrays verwendet werden, deren Wortleitungen die Pixeldaten von einer oder mehr Zeilen speichern können. Wenn jedoch die Wortleitungen übermäßig lang sind, steigt die Leitungskapazität und der Widerstand so an, daß es schwierig werden kann, die Leitungen schnell anzusteuern. In diesem Fall können die Arrays aufgeteilt werden. Bei einer einfachen Aufteilung liegen die Pixel, die für die Verarbeitungsschaltung am Ende eines Subarrays erforderlich sind, im benachbarten Subarray, so daß ein besonderer Zugangsweg erforderlich wird. Um dies zu vermeiden, können die Pixeldaten am Ende der Subarrays den benachbarten Subarrays doppelt zugehören. In den Darstellungen zum Erläutern der Ausführungsformen sind der genaue Aufbau der zweidimensionalen Speicherarrays und das Verfahren zum Erzeugen der Steuersignale nicht genau gezeigt, lassen sich jedoch leicht mit der Technik erstellen, die bei gewöhnlichen LSI-Schaltungen verwendet wird. Zum Beispiel kann das zweidimensionale Speicherarray durch ein DRAM-Array aus einzelnen Transistorzellen erstellt werden. Da in diesem Fall das zweidimensionale Speicherarray hochintegriert werden kann, können auf dem gleichen Chip mehr Verarbeitungsschaltungen untergebracht werden als mit einem SRAM-Array oder dergleichen. Im Ergebnis wird die Verarbeitungsoperation schneller. Wie beschrieben, nutzen die meisten Ausführungsformen der vorliegenden Erfindung die Informationen des Speicherarrays nur kurz. Auch bei einem DRAM-Array erfolgt somit während der Verarbeitungsoperation eine automatische Auffrischung. Das Auffrischen braucht daher nicht durch Unterbrechen der Verarbeitungsoperation ausgeführt zu werden.Embodiments of the present invention have been described using two-dimensional memory arrays whose word lines can store the pixel data of one or more rows. However, if the word lines are excessively long, the line capacitance and resistance increase to such an extent that it may be difficult to drive the lines quickly. In this case, the arrays can be divided. In a simple division, the pixels required for the processing circuitry at the end of a subarray are in the adjacent subarray, so that a special access path is required. To avoid this, the pixel data at the end of the subarrays may be duplicated in the adjacent subarrays. In the illustrations for explaining the embodiments, the detailed structure of the two-dimensional memory arrays and the method for generating the control signals are not shown in detail, but can be easily constructed using the technique used in ordinary LSI circuits. For example, the two-dimensional memory array can be constructed by a DRAM array of individual transistor cells. In this case, since the two-dimensional memory array can be highly integrated, more processing circuits can be accommodated on the same chip than with an SRAM array or the like. As a result, the processing operation becomes faster. As described, most embodiments of the present invention use the information of the memory array only for a short time. Thus, even with a DRAM array, automatic refreshing is performed during the processing operation. The refreshing therefore does not need to be carried out by interrupting the processing operation.
Bei der erfindungsgemäßen integrierten Halbleiterschaltung können die Verarbeitungsoperationen an zweidimensionalen Daten wie für einen zweidimensionalen Raumfilter, eine Konvolutionsoperation oder die Operationen zur Suche des Bewegungsvektors zwischen Bildern parallel ausgeführt werden. Diese Verarbeitungsoperationen können daher in Echtzeit mit hoher Geschwindigkeit ausgeführt werden.In the semiconductor integrated circuit according to the present invention, the processing operations on two-dimensional data such as a two-dimensional spatial filter, a convolution operation or the operations for searching the motion vector between images can be carried out in parallel. These processing operations can therefore be carried out in real time at a high speed.
Claims (21)
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP07182194A JP3251421B2 (en) | 1994-04-11 | 1994-04-11 | Semiconductor integrated circuit |
Publications (2)
Publication Number | Publication Date |
---|---|
DE69520974D1 DE69520974D1 (en) | 2001-06-28 |
DE69520974T2 true DE69520974T2 (en) | 2002-03-28 |
Family
ID=13471611
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE69520974T Expired - Fee Related DE69520974T2 (en) | 1994-04-11 | 1995-03-29 | An integrated semiconductor circuit |
Country Status (7)
Country | Link |
---|---|
US (1) | US5854636A (en) |
EP (1) | EP0676764B1 (en) |
JP (1) | JP3251421B2 (en) |
KR (1) | KR100373222B1 (en) |
CN (1) | CN1104695C (en) |
DE (1) | DE69520974T2 (en) |
TW (1) | TW447192B (en) |
Families Citing this family (159)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3524250B2 (en) * | 1995-11-27 | 2004-05-10 | キヤノン株式会社 | Digital image processor |
US6546147B1 (en) | 1997-01-08 | 2003-04-08 | Institut Fur Mikroelectronik Stuttgart | Method of and device for analog signal processing |
JP3650519B2 (en) * | 1997-12-17 | 2005-05-18 | 株式会社ルネサステクノロジ | Microcomputer |
DE69808798T2 (en) * | 1997-12-19 | 2003-09-18 | Bae Systems Plc, Farnborough | DIGITAL SIGNAL FILTER USING UNWEIGHTED NEURAL TECHNIQUES |
US6587158B1 (en) * | 1998-07-23 | 2003-07-01 | Dvdo, Inc. | Method and apparatus for reducing on-chip memory in vertical video processing |
US6990058B1 (en) | 2000-04-03 | 2006-01-24 | Dphi Acquisitions, Inc. | Structure and method for storing data on optical disks |
EP1436700A2 (en) | 2000-05-30 | 2004-07-14 | DPHI Aquisitions, Inc. | Defect management system for write-once storage disk |
US6738333B1 (en) | 2000-05-30 | 2004-05-18 | Dphi Acquisitions, Inc. | Format for recording data in a storage disk |
CN100385460C (en) * | 2001-03-13 | 2008-04-30 | 伊强德斯股份有限公司 | Visual device, interlocking counter, and image sensor |
JP2003280982A (en) * | 2002-03-20 | 2003-10-03 | Seiko Epson Corp | Data transfer device for multi-dimensional memory, data transfer program for multi-dimensional memory and data transfer method for multi-dimensional memory |
DE602005025677D1 (en) | 2004-11-03 | 2011-02-10 | Koninkl Philips Electronics Nv | PROGRAMMABLE DATA PROCESSING CIRCUIT SUPPORTING SIMD COMMANDS |
US7423642B2 (en) * | 2005-12-14 | 2008-09-09 | Winbond Electronics Corporation | Efficient video frame capturing |
CN100409259C (en) * | 2006-08-29 | 2008-08-06 | 中国航天时代电子公司第七七一研究所 | Scaleable large-scale 2D convolution circuit |
US7529149B2 (en) * | 2006-12-12 | 2009-05-05 | Mosaid Technologies Incorporated | Memory system and method with serial and parallel modes |
JP5522890B2 (en) * | 2007-07-31 | 2014-06-18 | キヤノン株式会社 | Image processing apparatus and method |
US8181003B2 (en) * | 2008-05-29 | 2012-05-15 | Axis Semiconductor, Inc. | Instruction set design, control and communication in programmable microprocessor cores and the like |
CN102169717B (en) * | 2011-05-06 | 2013-03-13 | 西安华芯半导体有限公司 | Memory device with data processing function |
JP6044240B2 (en) * | 2012-10-01 | 2016-12-14 | 株式会社ソシオネクスト | Semiconductor device and semiconductor device design method |
US9158667B2 (en) | 2013-03-04 | 2015-10-13 | Micron Technology, Inc. | Apparatuses and methods for performing logical operations using sensing circuitry |
US8964496B2 (en) | 2013-07-26 | 2015-02-24 | Micron Technology, Inc. | Apparatuses and methods for performing compare operations using sensing circuitry |
US8971124B1 (en) | 2013-08-08 | 2015-03-03 | Micron Technology, Inc. | Apparatuses and methods for performing logical operations using sensing circuitry |
US9153305B2 (en) | 2013-08-30 | 2015-10-06 | Micron Technology, Inc. | Independently addressable memory array address spaces |
US9019785B2 (en) | 2013-09-19 | 2015-04-28 | Micron Technology, Inc. | Data shifting via a number of isolation devices |
US9449675B2 (en) | 2013-10-31 | 2016-09-20 | Micron Technology, Inc. | Apparatuses and methods for identifying an extremum value stored in an array of memory cells |
US9430191B2 (en) | 2013-11-08 | 2016-08-30 | Micron Technology, Inc. | Division operations for memory |
US9934856B2 (en) | 2014-03-31 | 2018-04-03 | Micron Technology, Inc. | Apparatuses and methods for comparing data patterns in memory |
US9786335B2 (en) | 2014-06-05 | 2017-10-10 | Micron Technology, Inc. | Apparatuses and methods for performing logical operations using sensing circuitry |
US9779019B2 (en) | 2014-06-05 | 2017-10-03 | Micron Technology, Inc. | Data storage layout |
US9711207B2 (en) | 2014-06-05 | 2017-07-18 | Micron Technology, Inc. | Performing logical operations using sensing circuitry |
US9711206B2 (en) | 2014-06-05 | 2017-07-18 | Micron Technology, Inc. | Performing logical operations using sensing circuitry |
US9830999B2 (en) | 2014-06-05 | 2017-11-28 | Micron Technology, Inc. | Comparison operations in memory |
US9455020B2 (en) | 2014-06-05 | 2016-09-27 | Micron Technology, Inc. | Apparatuses and methods for performing an exclusive or operation using sensing circuitry |
US9449674B2 (en) | 2014-06-05 | 2016-09-20 | Micron Technology, Inc. | Performing logical operations using sensing circuitry |
US9496023B2 (en) | 2014-06-05 | 2016-11-15 | Micron Technology, Inc. | Comparison operations on logical representations of values in memory |
US10074407B2 (en) | 2014-06-05 | 2018-09-11 | Micron Technology, Inc. | Apparatuses and methods for performing invert operations using sensing circuitry |
US9704540B2 (en) | 2014-06-05 | 2017-07-11 | Micron Technology, Inc. | Apparatuses and methods for parity determination using sensing circuitry |
US9910787B2 (en) | 2014-06-05 | 2018-03-06 | Micron Technology, Inc. | Virtual address table |
US9847110B2 (en) | 2014-09-03 | 2017-12-19 | Micron Technology, Inc. | Apparatuses and methods for storing a data value in multiple columns of an array corresponding to digits of a vector |
US9589602B2 (en) | 2014-09-03 | 2017-03-07 | Micron Technology, Inc. | Comparison operations in memory |
US9747961B2 (en) | 2014-09-03 | 2017-08-29 | Micron Technology, Inc. | Division operations in memory |
US9904515B2 (en) | 2014-09-03 | 2018-02-27 | Micron Technology, Inc. | Multiplication operations in memory |
US9898252B2 (en) | 2014-09-03 | 2018-02-20 | Micron Technology, Inc. | Multiplication operations in memory |
US9740607B2 (en) | 2014-09-03 | 2017-08-22 | Micron Technology, Inc. | Swap operations in memory |
US10068652B2 (en) | 2014-09-03 | 2018-09-04 | Micron Technology, Inc. | Apparatuses and methods for determining population count |
US9836218B2 (en) | 2014-10-03 | 2017-12-05 | Micron Technology, Inc. | Computing reduction and prefix sum operations in memory |
US9940026B2 (en) | 2014-10-03 | 2018-04-10 | Micron Technology, Inc. | Multidimensional contiguous memory allocation |
US10163467B2 (en) | 2014-10-16 | 2018-12-25 | Micron Technology, Inc. | Multiple endianness compatibility |
US10147480B2 (en) | 2014-10-24 | 2018-12-04 | Micron Technology, Inc. | Sort operation in memory |
US9779784B2 (en) | 2014-10-29 | 2017-10-03 | Micron Technology, Inc. | Apparatuses and methods for performing logical operations using sensing circuitry |
US10073635B2 (en) | 2014-12-01 | 2018-09-11 | Micron Technology, Inc. | Multiple endianness compatibility |
US9747960B2 (en) | 2014-12-01 | 2017-08-29 | Micron Technology, Inc. | Apparatuses and methods for converting a mask to an index |
US10032493B2 (en) | 2015-01-07 | 2018-07-24 | Micron Technology, Inc. | Longest element length determination in memory |
US10061590B2 (en) | 2015-01-07 | 2018-08-28 | Micron Technology, Inc. | Generating and executing a control flow |
US9583163B2 (en) | 2015-02-03 | 2017-02-28 | Micron Technology, Inc. | Loop structure for operations in memory |
CN107408404B (en) | 2015-02-06 | 2021-02-12 | 美光科技公司 | Apparatus and methods for memory devices as storage of program instructions |
WO2016126472A1 (en) | 2015-02-06 | 2016-08-11 | Micron Technology, Inc. | Apparatuses and methods for scatter and gather |
EP3254286B1 (en) | 2015-02-06 | 2019-09-11 | Micron Technology, INC. | Apparatuses and methods for parallel writing to multiple memory device locations |
US10522212B2 (en) | 2015-03-10 | 2019-12-31 | Micron Technology, Inc. | Apparatuses and methods for shift decisions |
US9898253B2 (en) | 2015-03-11 | 2018-02-20 | Micron Technology, Inc. | Division operations on variable length elements in memory |
US9741399B2 (en) | 2015-03-11 | 2017-08-22 | Micron Technology, Inc. | Data shift by elements of a vector in memory |
US10365851B2 (en) | 2015-03-12 | 2019-07-30 | Micron Technology, Inc. | Apparatuses and methods for data movement |
US10146537B2 (en) | 2015-03-13 | 2018-12-04 | Micron Technology, Inc. | Vector population count determination in memory |
US10049054B2 (en) | 2015-04-01 | 2018-08-14 | Micron Technology, Inc. | Virtual register file |
US10140104B2 (en) | 2015-04-14 | 2018-11-27 | Micron Technology, Inc. | Target architecture determination |
US9959923B2 (en) | 2015-04-16 | 2018-05-01 | Micron Technology, Inc. | Apparatuses and methods to reverse data stored in memory |
US10073786B2 (en) | 2015-05-28 | 2018-09-11 | Micron Technology, Inc. | Apparatuses and methods for compute enabled cache |
US9704541B2 (en) | 2015-06-12 | 2017-07-11 | Micron Technology, Inc. | Simulating access lines |
US9921777B2 (en) | 2015-06-22 | 2018-03-20 | Micron Technology, Inc. | Apparatuses and methods for data transfer from sensing circuitry to a controller |
US9996479B2 (en) | 2015-08-17 | 2018-06-12 | Micron Technology, Inc. | Encryption of executables in computational memory |
US9905276B2 (en) | 2015-12-21 | 2018-02-27 | Micron Technology, Inc. | Control of sensing components in association with performing operations |
US9952925B2 (en) | 2016-01-06 | 2018-04-24 | Micron Technology, Inc. | Error code calculation on sensing circuitry |
US10048888B2 (en) | 2016-02-10 | 2018-08-14 | Micron Technology, Inc. | Apparatuses and methods for partitioned parallel data movement |
US9892767B2 (en) | 2016-02-12 | 2018-02-13 | Micron Technology, Inc. | Data gathering in memory |
US9971541B2 (en) | 2016-02-17 | 2018-05-15 | Micron Technology, Inc. | Apparatuses and methods for data movement |
US10956439B2 (en) | 2016-02-19 | 2021-03-23 | Micron Technology, Inc. | Data transfer with a bit vector operation device |
US9899070B2 (en) | 2016-02-19 | 2018-02-20 | Micron Technology, Inc. | Modified decode for corner turn |
US9697876B1 (en) | 2016-03-01 | 2017-07-04 | Micron Technology, Inc. | Vertical bit vector shift in memory |
US10262721B2 (en) | 2016-03-10 | 2019-04-16 | Micron Technology, Inc. | Apparatuses and methods for cache invalidate |
US9997232B2 (en) | 2016-03-10 | 2018-06-12 | Micron Technology, Inc. | Processing in memory (PIM) capable memory device having sensing circuitry performing logic operations |
US10379772B2 (en) | 2016-03-16 | 2019-08-13 | Micron Technology, Inc. | Apparatuses and methods for operations using compressed and decompressed data |
US9910637B2 (en) | 2016-03-17 | 2018-03-06 | Micron Technology, Inc. | Signed division in memory |
US10120740B2 (en) | 2016-03-22 | 2018-11-06 | Micron Technology, Inc. | Apparatus and methods for debugging on a memory device |
US10388393B2 (en) | 2016-03-22 | 2019-08-20 | Micron Technology, Inc. | Apparatus and methods for debugging on a host and memory device |
US11074988B2 (en) | 2016-03-22 | 2021-07-27 | Micron Technology, Inc. | Apparatus and methods for debugging on a host and memory device |
US10977033B2 (en) | 2016-03-25 | 2021-04-13 | Micron Technology, Inc. | Mask patterns generated in memory from seed vectors |
US10474581B2 (en) | 2016-03-25 | 2019-11-12 | Micron Technology, Inc. | Apparatuses and methods for cache operations |
US10430244B2 (en) | 2016-03-28 | 2019-10-01 | Micron Technology, Inc. | Apparatuses and methods to determine timing of operations |
US10074416B2 (en) | 2016-03-28 | 2018-09-11 | Micron Technology, Inc. | Apparatuses and methods for data movement |
US10453502B2 (en) | 2016-04-04 | 2019-10-22 | Micron Technology, Inc. | Memory bank power coordination including concurrently performing a memory operation in a selected number of memory regions |
US10607665B2 (en) | 2016-04-07 | 2020-03-31 | Micron Technology, Inc. | Span mask generation |
US9818459B2 (en) | 2016-04-19 | 2017-11-14 | Micron Technology, Inc. | Invert operations using sensing circuitry |
US10153008B2 (en) | 2016-04-20 | 2018-12-11 | Micron Technology, Inc. | Apparatuses and methods for performing corner turn operations using sensing circuitry |
US9659605B1 (en) | 2016-04-20 | 2017-05-23 | Micron Technology, Inc. | Apparatuses and methods for performing corner turn operations using sensing circuitry |
US10042608B2 (en) | 2016-05-11 | 2018-08-07 | Micron Technology, Inc. | Signed division in memory |
US9659610B1 (en) | 2016-05-18 | 2017-05-23 | Micron Technology, Inc. | Apparatuses and methods for shifting data |
US10049707B2 (en) | 2016-06-03 | 2018-08-14 | Micron Technology, Inc. | Shifting data |
US10387046B2 (en) | 2016-06-22 | 2019-08-20 | Micron Technology, Inc. | Bank to bank data transfer |
US10037785B2 (en) | 2016-07-08 | 2018-07-31 | Micron Technology, Inc. | Scan chain operation in sensing circuitry |
US10388360B2 (en) | 2016-07-19 | 2019-08-20 | Micron Technology, Inc. | Utilization of data stored in an edge section of an array |
US10387299B2 (en) | 2016-07-20 | 2019-08-20 | Micron Technology, Inc. | Apparatuses and methods for transferring data |
US10733089B2 (en) | 2016-07-20 | 2020-08-04 | Micron Technology, Inc. | Apparatuses and methods for write address tracking |
US9972367B2 (en) | 2016-07-21 | 2018-05-15 | Micron Technology, Inc. | Shifting data in sensing circuitry |
US9767864B1 (en) | 2016-07-21 | 2017-09-19 | Micron Technology, Inc. | Apparatuses and methods for storing a data value in a sensing circuitry element |
US10303632B2 (en) | 2016-07-26 | 2019-05-28 | Micron Technology, Inc. | Accessing status information |
US10468087B2 (en) | 2016-07-28 | 2019-11-05 | Micron Technology, Inc. | Apparatuses and methods for operations in a self-refresh state |
US9990181B2 (en) | 2016-08-03 | 2018-06-05 | Micron Technology, Inc. | Apparatuses and methods for random number generation |
US11029951B2 (en) | 2016-08-15 | 2021-06-08 | Micron Technology, Inc. | Smallest or largest value element determination |
US10606587B2 (en) | 2016-08-24 | 2020-03-31 | Micron Technology, Inc. | Apparatus and methods related to microcode instructions indicating instruction types |
US10466928B2 (en) | 2016-09-15 | 2019-11-05 | Micron Technology, Inc. | Updating a register in memory |
US10387058B2 (en) | 2016-09-29 | 2019-08-20 | Micron Technology, Inc. | Apparatuses and methods to change data category values |
US10014034B2 (en) | 2016-10-06 | 2018-07-03 | Micron Technology, Inc. | Shifting data in sensing circuitry |
US10529409B2 (en) | 2016-10-13 | 2020-01-07 | Micron Technology, Inc. | Apparatuses and methods to perform logical operations using sensing circuitry |
US9805772B1 (en) | 2016-10-20 | 2017-10-31 | Micron Technology, Inc. | Apparatuses and methods to selectively perform logical operations |
CN207637499U (en) | 2016-11-08 | 2018-07-20 | 美光科技公司 | The equipment for being used to form the computation module above memory cell array |
US10423353B2 (en) | 2016-11-11 | 2019-09-24 | Micron Technology, Inc. | Apparatuses and methods for memory alignment |
US9761300B1 (en) | 2016-11-22 | 2017-09-12 | Micron Technology, Inc. | Data shift apparatuses and methods |
CN106843809B (en) * | 2017-01-25 | 2019-04-30 | 北京大学 | A kind of convolution algorithm method based on NOR FLASH array |
WO2018138603A1 (en) * | 2017-01-26 | 2018-08-02 | Semiconductor Energy Laboratory Co., Ltd. | Semiconductor device and electronic device including the semiconductor device |
US10402340B2 (en) | 2017-02-21 | 2019-09-03 | Micron Technology, Inc. | Memory array page table walk |
US10403352B2 (en) | 2017-02-22 | 2019-09-03 | Micron Technology, Inc. | Apparatuses and methods for compute in data path |
US10268389B2 (en) | 2017-02-22 | 2019-04-23 | Micron Technology, Inc. | Apparatuses and methods for in-memory operations |
US10838899B2 (en) | 2017-03-21 | 2020-11-17 | Micron Technology, Inc. | Apparatuses and methods for in-memory data switching networks |
US11222260B2 (en) | 2017-03-22 | 2022-01-11 | Micron Technology, Inc. | Apparatuses and methods for operating neural networks |
US10185674B2 (en) | 2017-03-22 | 2019-01-22 | Micron Technology, Inc. | Apparatus and methods for in data path compute operations |
US10049721B1 (en) | 2017-03-27 | 2018-08-14 | Micron Technology, Inc. | Apparatuses and methods for in-memory operations |
US10147467B2 (en) | 2017-04-17 | 2018-12-04 | Micron Technology, Inc. | Element value comparison in memory |
US10043570B1 (en) | 2017-04-17 | 2018-08-07 | Micron Technology, Inc. | Signed element compare in memory |
US9997212B1 (en) | 2017-04-24 | 2018-06-12 | Micron Technology, Inc. | Accessing data in memory |
US10942843B2 (en) | 2017-04-25 | 2021-03-09 | Micron Technology, Inc. | Storing data elements of different lengths in respective adjacent rows or columns according to memory shapes |
US10236038B2 (en) | 2017-05-15 | 2019-03-19 | Micron Technology, Inc. | Bank to bank data transfer |
US10068664B1 (en) | 2017-05-19 | 2018-09-04 | Micron Technology, Inc. | Column repair in memory |
US10013197B1 (en) | 2017-06-01 | 2018-07-03 | Micron Technology, Inc. | Shift skip |
US10152271B1 (en) | 2017-06-07 | 2018-12-11 | Micron Technology, Inc. | Data replication |
US10262701B2 (en) | 2017-06-07 | 2019-04-16 | Micron Technology, Inc. | Data transfer between subarrays in memory |
US10318168B2 (en) | 2017-06-19 | 2019-06-11 | Micron Technology, Inc. | Apparatuses and methods for simultaneous in data path compute operations |
JP6958027B2 (en) | 2017-07-03 | 2021-11-02 | 富士通株式会社 | Arithmetic processing unit and control method of arithmetic processing unit |
US10162005B1 (en) | 2017-08-09 | 2018-12-25 | Micron Technology, Inc. | Scan chain operations |
US10534553B2 (en) | 2017-08-30 | 2020-01-14 | Micron Technology, Inc. | Memory array accessibility |
US10346092B2 (en) | 2017-08-31 | 2019-07-09 | Micron Technology, Inc. | Apparatuses and methods for in-memory operations using timing circuitry |
US10416927B2 (en) | 2017-08-31 | 2019-09-17 | Micron Technology, Inc. | Processing in memory |
US10741239B2 (en) | 2017-08-31 | 2020-08-11 | Micron Technology, Inc. | Processing in memory device including a row address strobe manager |
US10409739B2 (en) | 2017-10-24 | 2019-09-10 | Micron Technology, Inc. | Command selection policy |
US10522210B2 (en) | 2017-12-14 | 2019-12-31 | Micron Technology, Inc. | Apparatuses and methods for subarray addressing |
US10332586B1 (en) | 2017-12-19 | 2019-06-25 | Micron Technology, Inc. | Apparatuses and methods for subrow addressing |
US10614875B2 (en) | 2018-01-30 | 2020-04-07 | Micron Technology, Inc. | Logical operations using memory cells |
US10437557B2 (en) | 2018-01-31 | 2019-10-08 | Micron Technology, Inc. | Determination of a match between data values stored by several arrays |
US11194477B2 (en) | 2018-01-31 | 2021-12-07 | Micron Technology, Inc. | Determination of a match between data values stored by three or more arrays |
US10725696B2 (en) | 2018-04-12 | 2020-07-28 | Micron Technology, Inc. | Command selection policy with read priority |
US10440341B1 (en) | 2018-06-07 | 2019-10-08 | Micron Technology, Inc. | Image processor formed in an array of memory cells |
US11175915B2 (en) | 2018-10-10 | 2021-11-16 | Micron Technology, Inc. | Vector registers implemented in memory |
US10769071B2 (en) | 2018-10-10 | 2020-09-08 | Micron Technology, Inc. | Coherent memory access |
US10483978B1 (en) | 2018-10-16 | 2019-11-19 | Micron Technology, Inc. | Memory device processing |
US11184446B2 (en) | 2018-12-05 | 2021-11-23 | Micron Technology, Inc. | Methods and apparatus for incentivizing participation in fog networks |
US12118056B2 (en) | 2019-05-03 | 2024-10-15 | Micron Technology, Inc. | Methods and apparatus for performing matrix transformations within a memory array |
US10867655B1 (en) | 2019-07-08 | 2020-12-15 | Micron Technology, Inc. | Methods and apparatus for dynamically adjusting performance of partitioned memory |
US11360768B2 (en) | 2019-08-14 | 2022-06-14 | Micron Technolgy, Inc. | Bit string operations in memory |
US11449577B2 (en) | 2019-11-20 | 2022-09-20 | Micron Technology, Inc. | Methods and apparatus for performing video processing matrix operations within a memory array |
US11853385B2 (en) | 2019-12-05 | 2023-12-26 | Micron Technology, Inc. | Methods and apparatus for performing diversity matrix operations within a memory array |
US11227641B1 (en) | 2020-07-21 | 2022-01-18 | Micron Technology, Inc. | Arithmetic operations in memory |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4298950A (en) * | 1979-10-12 | 1981-11-03 | Westinghouse Electric Corp. | Multipoint pipeline processor for computing the discrete fourier transform |
US4460958A (en) * | 1981-01-26 | 1984-07-17 | Rca Corporation | Window-scanned memory |
JPS6053349B2 (en) * | 1981-06-19 | 1985-11-25 | 株式会社日立製作所 | image processing processor |
US4635292A (en) * | 1983-12-19 | 1987-01-06 | Matsushita Electric Industrial Co., Ltd. | Image processor |
EP0179605B1 (en) * | 1984-10-17 | 1992-08-19 | Fujitsu Limited | Semiconductor memory device having a serial data input circuit and a serial data output circuit |
GB2184316B (en) * | 1985-12-17 | 1989-10-11 | Sony Corp | Two-dimensional finite impulse response filter arrangements. |
US4860373A (en) * | 1986-03-31 | 1989-08-22 | General Electric Company | Location dependent signal processor |
US4845664A (en) * | 1986-09-15 | 1989-07-04 | International Business Machines Corp. | On-chip bit reordering structure |
JPH06101039B2 (en) * | 1988-05-11 | 1994-12-12 | 富士通株式会社 | Window image data read processing method |
FR2634084A1 (en) * | 1988-07-08 | 1990-01-12 | Labo Electronique Physique | INTEGRATED CIRCUIT AND IMAGE PROCESSING DEVICE |
JPH0736163B2 (en) * | 1988-08-26 | 1995-04-19 | 株式会社東芝 | Fill pattern generator |
US5321510A (en) * | 1989-11-13 | 1994-06-14 | Texas Instruments Incorporated | Serial video processor |
JP2753129B2 (en) * | 1990-10-02 | 1998-05-18 | 株式会社東芝 | Semiconductor storage device |
US5276641A (en) * | 1991-12-12 | 1994-01-04 | International Business Machines Corporation | Hybrid open folded sense amplifier architecture for a memory device |
GB9202613D0 (en) * | 1992-02-07 | 1992-03-25 | Questech Ltd | Improvements in and relating to digital filters |
EP0626661A1 (en) * | 1993-05-24 | 1994-11-30 | Societe D'applications Generales D'electricite Et De Mecanique Sagem | Digital image processing circuitry |
US5671296A (en) * | 1994-02-15 | 1997-09-23 | Unisys Corporation | Method of electronically processing a quantized image |
-
1994
- 1994-04-11 JP JP07182194A patent/JP3251421B2/en not_active Expired - Fee Related
-
1995
- 1995-03-27 TW TW084102953A patent/TW447192B/en active
- 1995-03-29 EP EP95302121A patent/EP0676764B1/en not_active Expired - Lifetime
- 1995-03-29 DE DE69520974T patent/DE69520974T2/en not_active Expired - Fee Related
- 1995-04-04 KR KR1019950007778A patent/KR100373222B1/en not_active IP Right Cessation
- 1995-04-10 CN CN95104392A patent/CN1104695C/en not_active Expired - Fee Related
-
1997
- 1997-09-16 US US08/931,776 patent/US5854636A/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US5854636A (en) | 1998-12-29 |
TW447192B (en) | 2001-07-21 |
KR100373222B1 (en) | 2003-04-26 |
EP0676764A3 (en) | 1998-05-06 |
EP0676764B1 (en) | 2001-05-23 |
JPH07282237A (en) | 1995-10-27 |
CN1104695C (en) | 2003-04-02 |
JP3251421B2 (en) | 2002-01-28 |
EP0676764A2 (en) | 1995-10-11 |
CN1126860A (en) | 1996-07-17 |
DE69520974D1 (en) | 2001-06-28 |
KR950033952A (en) | 1995-12-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE69520974T2 (en) | An integrated semiconductor circuit | |
DE68926783T2 (en) | PARALLEL DATA PROCESSOR | |
DE3407983C2 (en) | Multi-processor computer system for generating pixel information from object elements defined in a hierarchical data structure | |
DE60109858T2 (en) | System for measuring inequality of stereoscopic images | |
DE3804938C2 (en) | Image processing device | |
DE69132495T2 (en) | Distributed processing memory | |
DE3784050T2 (en) | A PARALLEL DATA PROCESSOR. | |
DE3789116T2 (en) | PROCESSOR FOR TWO-DIMENSIONAL DISCRETE COSINE TRANSFORMATION. | |
DE3202365C2 (en) | Data storage with window scanning | |
DE69217150T2 (en) | Motion vector estimation, motion picture coding and storage | |
DE3852909T2 (en) | Linear chain of parallel processors and methods of use thereof. | |
DE3688353T2 (en) | NON-RECURSIVE TWO-DIMENSIONAL DIGITAL FILTER. | |
DE3689926T2 (en) | Sequential image transformation device. | |
DE3114643C2 (en) | ||
DE3788747T2 (en) | Semiconductor memory. | |
DE3750017T2 (en) | Orthogonal transformation processor. | |
DE3632639C2 (en) | Device for high-speed processing of image data by folding | |
DE69624866T2 (en) | Memory circuit for texture patterns | |
DE2640157A1 (en) | PROCEDURE AND ARRANGEMENT FOR REDUNDANCY REDUCING IMAGE CODING | |
DE69609475T2 (en) | Two-dimensional associative processor and data transfer method | |
DE3788758T2 (en) | Polymorphic mesh network for image processing system. | |
DE69504203T2 (en) | MULTI-GATE DATA STORAGE ARRANGEMENT WITH MULTIPLE COLUMN GROUPS | |
DE68925303T2 (en) | Cell stack for series architecture with variable digit width | |
DE4036455C1 (en) | ||
DE69031317T2 (en) | Processing of a two-dimensional particle of a digital image signal |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8364 | No opposition during term of opposition | ||
8339 | Ceased/non-payment of the annual fee |