DE3854039T2 - Bildverarbeitungssystem. - Google Patents

Bildverarbeitungssystem.

Info

Publication number
DE3854039T2
DE3854039T2 DE3854039T DE3854039T DE3854039T2 DE 3854039 T2 DE3854039 T2 DE 3854039T2 DE 3854039 T DE3854039 T DE 3854039T DE 3854039 T DE3854039 T DE 3854039T DE 3854039 T2 DE3854039 T2 DE 3854039T2
Authority
DE
Germany
Prior art keywords
data
bus
image
image processing
output
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
DE3854039T
Other languages
English (en)
Other versions
DE3854039D1 (de
Inventor
Kiyoshi Akutagawa
Kazunori Noso
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nissan Motor Co Ltd
Original Assignee
Nissan Motor Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from JP28929087A external-priority patent/JP2510220B2/ja
Priority claimed from JP28928887A external-priority patent/JP2510219B2/ja
Application filed by Nissan Motor Co Ltd filed Critical Nissan Motor Co Ltd
Publication of DE3854039D1 publication Critical patent/DE3854039D1/de
Application granted granted Critical
Publication of DE3854039T2 publication Critical patent/DE3854039T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Image Processing (AREA)

Description

    HINTERGRUND DER ERFINDUNG Gebiet der Erfindung
  • Die Erfindung betrifft eine verbesserte Struktur eines Bildverarbeitungssystems, und speziell betrifft sie Verbindungen zentraler Busse zwischen mehreren Bildspeichern und Datenprozessoren, die Hochgeschwindigkeitsverarbeitung ausführen und universell verwendbar sein können.
  • Hintergrundbildender Stand der Technik
  • Ein bereits vorgeschlagenes Bildverarbeitungssystem wird nachfolgend beschrieben.
  • Ein zentraler Bus mit zwei (X- und Y-)Adreßbusleitungen und drei Datenbusleitungen ist mit mehreren Bildspeichern (VRAMs) verbunden. Ein Prozessorelement ist mit dein zentralen Bus verbunden, um vorgegebene Berechnungen für Daten auszuführen, wie sie aus einem Bildspeicher oder den mehreren über die Datenbusleitung(en) ausgelesen werden, und um das Berechnungsergebnis in einen der anderen Bildspeicher einzuschreiben (einzuspeichern). Darüber hinaus sind Ausgangspuffer zwischen jedes Ausgangsende der Bildspeicher und des Prozessorelements und die Datenbusleitungen geschaltet. Ferner ist ein Adressencontroller zum Ausgeben von Adreßdaten an die jeweiligen Bildspeicher an die Adreßbusleitungen angeschlossen. Der Adressencontroller steuert die Adressen für die Bildspeicher, um sie für jeden Rahmen durchzurastern. Eine Steuerung ist vorhanden, um das Prozessorelement, den Adressencontroller usw. insgesamt zu steuern. Ein VRAM (Video Random Access Memory = Video-Direktzugriffsspeicher)-Controller steuert das Lesen und/oder Schreiben für die jeweiligen Bildspeicher (VRAMs).
  • Zum Beispiel werden in einem Verarbeitungsfall, bei dem die Bilddaten der Bildspeicher durch das Prozessorelement addiert werden und der Bilddatenwert gemäß der Addition in einen der anderen Bildspeicher eingeschrieben wird, die Daten in den entsprechenden Bildspeichern, wie sie über die Datenbusleitungen eingegeben werden, im Prozessorelement addiert. Danach wird das Ergebnis auf den Datenbus gegeben und der Ausgangsdatenwert des Prozessorelements kann in den entsprechenden Bildspeicher eingeschrieben werden. Dabei werden die Adressen durch den Adressencontroller für jeden Rahmen (jeden Bildschirm) durchgerastert.
  • Ein derartiges Bildverarbeitungssystem, wie es vorstehend beschrieben ist, ist beispielhaft durch die japanische Patentanmeldungsveröffentlichung (ungeprüft) Nr. Sho 61-153 774, veröffentlicht am 12. Juli 1986, angegeben.
  • Bei diesem bereits vorgeschlagenen Bildverarbeitungssystem werden die Adressen für die Bildspeicher nur über den zentralen Bus (spezielle Adreßbusleitungen) eingegeben und vom Prozessorelement zu verarbeitende Daten werden nur über den zentralen Bus (spezielle Datenbusleitungen) eingegeben.
  • Daher können Verarbeitungen, wie sie erforderlich sind, um Berechnungen für die Adressen der Bildspeicher auszuführen (z. B. affine Transformationen) beim bereits vorgeschlagenen Bildverarbeitungssystem nicht ausgeführt werden. Darüber hinaus können wegen fehlender Flexibilität der Struktur der Anschlüsse an den zentralen Bus, wie vorstehend beschrieben, keine gleichzeitigen Ausführungen verschiedener Verarbeitungen erfolgen.
  • Ferner hat das bereits vorgeschlagene Bildverarbeitungssystem selbst dann, wenn die installierte Anzahl von Prozessorelementen und Bildspeichern erhöht werden soll (Erweiterung der Systemkomponenten) und die Anzahl von Bussen (Busleitungen) erhöht wird, auf Grund von Beschränkungen der Anschlüsse an die Busse weniger Flexibilität und weniger universelle Verwendbarkeit, so daß keine kostensparenden Hochgeschwindigkeitsverarbeitungen erfolgen können.
  • Ein Bildverarbeitungssystem gemäß dem Oberbegriff von Anspruch 1 ist aus dem Dokument WO-A-87/04826 bekannt.
  • ZUSAMMENFASSUNG DER ERFINDUNG
  • Es ist eine Aufgabe der Erfindung, ein Bildverarbeitungssystem zu schaffen, das kostengünstige Hochgeschwindigkeitsverarbeitung von Bilddaten ausführen kann und das Erweiterungen der Bildspeicher und Prozessorelemente zu einem Bildverarbeitungssystem ohne Beschränkung von Anschlüssen an einen zentralen Bus erleichtert.
  • Diese Aufgabe wird durch das Bildverarbeitungssystem gemäß dem beigefügten Anspruch 1 gelöst.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • Fig. 1 ist ein Schaltbild eines Bildverarbeitungssystems gemäß einem ersten bevorzugten Ausführungsbeispiel der Erfindung.
  • Fig. 2 ist ein Schaltbild eines Beispiels eines Prozessors, wie er im in Fig. 1 dargestellten Bildverarbeitungssystem verwendet wird.
  • Fig. 3 ist ein Blockschaltbild des Bildverarbeitungssystems zuin Erläutern einer Funktion des in Fig. 1 dargestellten Bildverarbeitungssystems.
  • Fig. 4 ist ein Blockschaltbild eines Bildverarbeitungssystems gemäß einem zweiten bevorzugten Ausführungsbeispiel der Erfindung.
  • Fig. 5 ist ein Blockschaltbild eines Anschlußbeispiels von Bildverarbeitungsabschnitten im Bildverarbeitungssystem.
  • Fig. 6 ist ein Blockschaltbild eines Beispiels eines in Fig. 4 dargestellten Prozessorelements, das im Bildverarbeitungssystem gemäß dein zweiten bevorzugten Ausführungsbeispiel verwendet wird.
  • Fig. 7 ist ein Blockschaltbild des Bildverarbeitungssystems zum Erläutern einer Funktion des in Fig. 5 dargestellten Bildverarbeitungssystems.
  • Fig. 8 (A) und 8 (B) sind erläuternde Ansichten zum Erläutern der Beziehung zwischen jedem Eingangsbildpunkt und X- und Y-Adressen bei einem 3 x 3-Raumfilterungsvorgang.
  • DETAILLIERTE BESCHREIBUNG DER BEVORZUGTEN AUSFÜHRUNGSBEISPIELE
  • Nachfolgend wird auf die Zeichnungen Bezug genommen, um das Verständnis der Erfindung zu erleichtern.
  • Fig. 1 zeigt ein erstes bevorzugtes Ausführungsbeispiel eines erfindungsgemäßen Sildverarbeitungssystems.
  • In Fig. 1 bezeichnet die Bezugszahl 20 einen zentralen Bus mit Datenbussen A, B und C sowie Adreßbussen X und Y.
  • Auswahleinrichtungen S&sub1; bis Sm sind jeweils zwischen Bildspeichern VRAM (Video Random Access Memory = Video-Direktzugriffsspeicher) 1 bis VRAM m und dem zentralen Bus 20 vorhanden. Die Auswahleinrichtungen S&sub1; bis Sm wählen vom Adreßbus X und den Datenbussen A, B und C für eine X-Adresse des zugehörigen VRAM 1 bis VRAM in mindestens einen aus, und sie wählen unter dem Adreßbus Y und den Datenbussen A, B und C für die Y-Adresse des entsprechenden VRAM 1 bis VRAM m mindestens einen aus. Die Daten-Eingabe/Ausgabe des VRAM 1 bis VRAM m wählt einen beliebigen der Datenbusse A, B und C aus.
  • Außerdem sind Ausgangspuffer B&sub1;&submin;&sub1; bis Bm-3 zwischen jeweiligen Ausgangsenden des VRAM 1 bis VRAM m und den Datenbussen A, B und C vorhanden. In Fig. 1 bezeichnen die Symbole P&sub1; bis Pn mehrere (Anzahl n) Prozessoren, die jeweils eine Bilddaten betreffende vorgegebene arithmetische/logische Operation ausführen. Jeder Prozessor P&sub1; bis Pn verfügt über mindestens zwei Eingangsenden. Jeder Prozessor P&sub1; bis Pn kann voin zentralen Bus 20, d.h. den Datenbussen A, B und C und den Adreßbussen X und Y über die entsprechenden Auswahlrichtungen SP&sub1; bis SPn wahlweise Daten und Adreßinformation eingeben.
  • Ferner weisen die Prozessoren P&sub1; bis Pn jeweilige Ausgangsenden zum Ausgeben verarbeiteter Daten an einen beliebigen der Datenbusse A, B und C über entsprechende Ausgangspuffer BP&sub1;&submin;&sub1; bis BPn-3 auf.
  • Es wird darauf hingewiesen, daß, wie in Fig. 2 dargestellt, jeder oder ein beliebiger der Prozessoren P&sub1; bis Pn, wie sie allgemein durch P repräsentiert sind, LUTs (Look Up Table = Nachschlagetabelle), die an ihren Eingangsenden inA und inB Daten empfangen und Funktionstransformationen wie Konstantenmultiplikationen, Sinus und Kosinus ausführen, und eine ALU (arithmetisch-logische Betriebseinheit) enthält, die Additionen, Subtraktionen und Logikoperationen über die LUTs vornimmt. Es wird darauf hingewiesen, daß ein Schreibvorgang (Initialisierung) für jede LUT durch einen (nicht dargestellten) Hostcomputer ausgeführt wird. Die ALU ist ein Teil der Hardware jedes Prozessors, in dem arithmetische und logische Operationen ausgeführt werden, und sie beinhaltet im allgemeinen einen Akkumulator, einige spezielle Register für das Abspeichern von Operanten und Ergebnissen, wie sie von einer Schiebe- und Ablaufsteuerungsschaltung zugeführt werden, um Multiplikation, Division und andere gewünschte Operationen zu realisieren. Jede LUT ist als Ansammlung von Daten in einer für schnelle Bezugnahme geeigneten Form definiert, wie häufig an aufgeteilten Maschinenorten abgespeichert oder wie in Form eines Felds mit Zeilen und Spalten für einfache Einträge eingeschrieben, wobei Zwischenräume zwischen markierten Zeilen und Spalten dazu dienen, einen speziellen Teil an Daten oder Information zu lokalisieren.
  • In Fig. 1 führt ein VRAM-Controller 21 die gesamte Steuerung für die Auswahleinrichtungen S&sub1; bis Sm zusätzlich zu seiner Funktion für Lese- und Schreibsteuerungen jedes der Bildspeicher VRAM 1 bis VRAM m auf. Die Lese- und Schreibsteuervorgänge durch den VRAN-Controller 21 werden für jeden Bildspeicher VRAM 1 bis VRAM m unabhängig ausgeführt. Zum Beispiel wird der VRAM 1 in den Lesemodus versetzt, während der VRAM m in den Schreibmodus versetzt wird. In Fig. 1 bezeichnen die Bezugszahlen 22 und 23 einen Adressencontroller zum Steuern der Adressen auf den Adreßbussen X und Y bzw. eine Steuerung, die die Prozessoren P&sub1; bis Pn sowie den Adressencontroller 22 steuert.
  • Das gesamte Bildverarbeitungssystem wird durch den Hostcomputer gesteuert. Jedoch ist der Hostcomputer der Einfachheit halber in den Zeichnungen nicht dargestellt.
  • Unter Bezugnahme auf die Fig. 1 bis 3 wird ein Funktionsablauf des in Fig. 1 dargestellten Bildverarbeitungssystems für den Fall einer affinen Transformation beschrieben.
  • Es sei angenommen, daß die affine Transformation auf Grundlage von Daten ausgeführt wird, wie sie in einem der Bildspeicher, z. B. dem VRAM 1 abgespeichert sind, in dem Ursprungsbilddaten (vor der affinen Transformation) abgespeichert sind, und daß Daten, die der affinen Transformation unterzogen werden, in einem anderen Bildspeicher VRAM m abgespeichert sind.
  • In diesein Fall wird der Bildspeicher VRAM 1 durch den VRAM- Controller 21 in den Lesezustand versetzt. Der Datenbus A wird ausgewählt, um X-Adresse-Daten über die Auswahleinrichtung S&sub1; für die X-Adresse des VRAM 1 einzugeben, und der Datenbus B wird ausgewählt, um Y-Adresse-Daten über dieselbe Auswahleinrichtung S&sub1; für die Y-Adresse des VRAM 1 einzugeben. Adressen p und q (wie sie später beschrieben werden) werden von den Prozessoren P&sub1; bzw. Pn an die Datenbusse A und B ausgegeben. Die im Bildspeicher VRAM 1 abgespeicherten Bilddaten werden an den restlichen Datenbus C ausgegeben.
  • Andererseits wird der Bildspeicher VRAM m durch den VRAM- Controller 21 in den Schreibstatus versetzt. Der Adreßbus X wird als X-Adresse für die Prozessoren P&sub1; und Pn ausgewählt und der Adreßbus Y wird als Y-Adresse für die Prozessoren P&sub1; und Pn ausgewählt, was über die Auswahleinrichtungen SP&sub1; und SPn erfolgt. Der Bildspeicher VRAM m nimmt über den Adressencontroller 22 übertragenen X- und Y-Adressen auf. Der Datenbus C wird als Eingangsbus für Bilddaten ausgewählt, um die Eingabe von Daten von den Bildspeichern VRAM 1 bis VRAM m zu ermöglichen.
  • Die (X, Y)-Adressen, wie sie vom Adressencontroller 22 übertragen werden, werden über den Adreßbus X und den Adreßbus Y in die entsprechenden Prozessoren P&sub1; bzw. Pn eingegeben. Jeder Prozessor P&sub1; und Pn führt in den LUTs (Look-Up Tables = Nachschlagetabellen) eine Konstantenmultiplikation aus und führt über die folgenden Gleichungen mittels der ALUs die Additionsberechnungen aus:
  • p = ax + by
  • q = cx + dy
  • Die Konstanten a, b, c und d sind Konstanten, die zahlenmäßig dem Rotationswinkel des Bilds bei der affinen Transformation entsprechen. Außerdem kennzeichnen x und y in den obigen Gleichungen die Adressen nach der Bildrotation, wie vom Adressencontroller 22 ausgegeben, und sie dienen als Adressen für den vorstehend angegebenen Bildspeicher VRAM m. Außerdem bezeichnen p und q in den obigen Gleichungen die Adressen des Ursprungsbilds, entsprechend x und y nach der Bildrotation, d.h. sie dienen als Adressen des Bildspeichers VRAM 1. Das Ausgangsverarbeitungsergebnis des Prozessors P&sub1;, d.h. die Adresse p, wird über den Datenbus A in den Bildspeicher VRAM 1 eingegeben. Das Ausgangsverarbeitungsergebnis des Prozessors Pn, d.h. die Adresse q, wird über den Datenbus b in den VRAM 1 übertragen. Der Bildspeicher VRAM 1 gibt dann auf Grundlage der Adressen p und q Bilddaten auf den Adreßbus c aus. Da die aus dein Bildspeicher VRAM 1 herrührenden Bilddaten in den VRAM 2 eingespeichert werden, ist in dem in den Fig. 1 bis 3 dargestellten Bildverarbeitungssystem Datenübertragung zwischen verschiedenen Adressen möglich. Es wird darauf hingewiesen, daß dann, wenn der Adressencontroller 22 die Adressen der Bilddaten so steuert, daß ein Bildschirm (ein Vollbild) durchgerastert wird, ein Bogen eines Rotationsbilds im VRAM m eingespeichert wird und die Verarbeitung für das eine Rotationsbild beendet wird.
  • Obwohl beim vorstehend beschriebenen ersten Ausführungsbeispiel eine affine Transformation (Rotation einer Figur) beschrieben wurde, kann bei der Busstruktur des vorstehend beschriebenen Systems leicht eine Erweiterung der Prozessoren und Bildspeicher erzielt werden (die Installationsanzahl von Prozessoren und Bildspeichern kann erhöht werden). Wenn die Anzahl zentraler Busse erhöht wird, können demgemäß komplexe Verarbeitungs-Parallelläufe erzielt werden, und es kann Hochgeschwindigkeitsverarbeitung erzielt werden.
  • Fig. 4 zeigt ein Beispiel für ein Bildverarbeitungssystem gemäß einem zweiten bevorzugten Ausführungsbeispiel der Erfindung.
  • In Fig. 4 speichert ein Bildspeicher 210 Bilddaten ein. Ein Prozessorelement 220 ist zum Ausführen einer vorgegebenen Reihe von Berechnungen auf Grundlage der eingegebenen Bilddaten vorhanden. Ein zentraler Bus 230 beinhaltet Adreßbusse für X-Adressen und Y-Adressen sowie Datenbusse, die durch mehrere Busleitungen d&sub1; bis dn gebildet werden.
  • Beim zweiten bevorzugten Ausführungsbeispiel, wie es in Fig. 4 dargestellt ist, wird ein Bildverarbeitungsabschnitt 200 durch ein Paar aus einem einzelnen Prozessorelement 220 und einem einzelnen Bildspeicher 210 gebildet. Auswahleinrichtungen 24&submin;&sub1; und 24&submin;&sub2; führen Auswahlvorgänge für jeden Eingangsdatenwert für das Prozessorelement 220 aus. Auswahleinrichtungen 25 (25&submin;&sub1;, 25&submin;&sub2;, 25&submin;&sub3;) wählen jede Eingangsleitung aus, um Adressen und Daten in den Bildspeicher 210 einzugeben, wie es später beschrieben wird.
  • Die Auswahleinrichtung 24&submin;&sub1; wählt ein beliebiges von drei Signalen aus, d.h. ein Signal S&sub1; wie vom anderen Prozessorelement über eine Eingangsleitung inak erzeugt, ein Ausgangssignal S&sub2; des Bildspeichers 210, der mit der Auswahleinrichtung 24&submin;&sub1; verbunden ist, und ein Signal S&sub3; auf einem beliebigen der Datenbusse d&sub1;, d&sub2;, d&sub3;, ..., wie in das Prozessorelement 220 einzugeben.
  • Die Auswahleinrichtung 24&submin;&sub2; wählt ein beliebiges von zwei Signalen aus, d.h. ein Signal S&sub4;, wie vom anderen Prozessorelement (das in Fig. 4 nicht dargestellt ist) über eine Eingangsleitung inbk erhalten, und ein Signal S&sub5;, wie von einem beliebigen der Datenbusse d&sub1;, d&sub2;, d&sub3;, ..., erhalten, und sie gibt das ausgewählte Signal über ein Eingangsende B in das Prozessorelement 220 ein. Darüber hinaus werden die Ausgangsdaten des Prozessorelements 220 über Ausgangspuffer 26 und 27 an die Datenbusse d&sub1;, d&sub2;, d&sub3;, ..., an die Auswahleinrichtungen 25 (25&submin;&sub1;, 25&submin;&sub2;, 25&submin;&sub3;) und über Ausgangsleitungen outak und outbk an das andere Prozessorelement übertragen.
  • Andererseits wählt die Auswahleinrichtung 25&submin;&sub1; ein beliebiges Signal unter den folgenden aus: Ausgangssignal D des Prozessorelements 220, Signal auf dem X-Adreßbus und Signal S&sub3; auf einem der Datenbusse d&sub1;, d&sub2;, d&sub3;, ..., und zwar für die X-Adresse des Bildspeichers 210. Die Auswahleinrichtung 25&submin;&sub2; wählt ein beliebiges der folgenden Signale aus: Ausgangssignal D, Ausgangssignal E und Signal S&sub3; der Datenbusse d&sub1;, d&sub2;, d&sub3;, ..., wie über das Dateneingangsende Din in den Bildspeicher 210 einzugeben. Die Auswahleinrichtung 25&submin;&sub3; wählt ein beliebiges der Signale unter den folgenden aus: Signal S&sub3; vom Ausgang E, Signal auf dem Y-Adreßbuss und Signal auf den Datenbussen d&sub1;, d&sub2;, d&sub3;, ..., wie als Y-Adresse in den Bildspeicher 210 einzugeben.
  • Die Ausgangsbilddaten, wie sie vom Bilspeicher 210 geliefert werden, werden an die Auswahleinrichtung 24&submin;&sub1; und einen der Datenbusse d&sub1;, d&sub2;, d&sub3;, ..., übertragen, was über einen Ausgangspuffer 28 erfolgt.
  • Es wird darauf hingewiesen, daß eine integrierte Steuerung insgesamt für die Auswahleinrichtungen 24, 25 und die Ausgangspuffer 26, 27 und 28 dadurch ausgeführt wird, daß Befehle in ein Steuerregister 29 eingeschrieben werden, wie sie vom Hostcomputer ausgegeben werden.
  • Fig. 5 zeigt mehrere Paare von Bildverarbeitungsabschnitten 200, wobei jeder Bildverarbeitungsabschnitt 200 so aufgebaut ist, wie es in Fig. 4 dargestellt ist.
  • Das Ausgangssignal eines der Prozessorelemente 200 in jedem Bildverarbeitungsabschnitt 200 wird in ein anderes der Prozessorelemente 220 einer der anderen Verarbeitungsabschnitte 200 (tatsächlich über dessen Auswahleinrichtung 24) eingegeben. Wie in Fig. 5 dargestellt, sind der zentrale Bus 230 und jeder Bildverarbeitungsabschnitt 200 miteinander verbunden. Der zentrale Bus 230 ist ein unabhängiger Bus, der allen Bildverarbeitungsabschnitten 200 gemeinsam ist.
  • Beim zweiten bevorzugten Ausführungsbeispiel sind die zwei oberen und unteren Bildverarbeitungsabschnitte 200 mit den zwei benachbarten oberen und unteren Bildverarbeitungsab schnitten 200 (z. B. 200-1, 200-5, 200-2 und 200-6) verbunden. Daher bilden vier Paare von Bildverarbeitungsabschnitten 200 einen einzelnen Block. Ferner werden die Ausgangssignale der zwei oberen und unteren Blöcke in die benachbarten oberen und unteren Blöcke eingegeben.
  • Fig. 6 zeigt die Innenstruktur des in Fig. 4 dargestellten Prozessorelements 220.
  • Wie in Fig. 6 dargestellt, sind mindestens zwei Eingangsleitungen A und B und eine Hilfseingangsleitung C sowie zwei Ausgangsleitungen D und E im Prozessorelement 220 vorhanden.
  • Das Prozessorelement 220 beinhaltet vier ALUs (Einheit für arithmetische/logische Operationen) 34&submin;&sub1;, 34&submin;&sub2;, 35&submin;&sub1;, und 35&submin;&sub2;.
  • Die Eingangsports erster Stufen der ALUs 34 sind mit Auswahleinrichtungen 31, variablen Verzögerungseinrichtungen 32 und Schiebeeinrichtungen 33 in Reihe verbunden. Zwei RAMs 42 sind vorhanden, wobei jeder RAM 42 (42&submin;&sub1;, 42&submin;&sub2;) eine Kapazität aufweist, die P Wörter überschreitet. Es wird darauf hingewiesen, daß in P = 2L P die Anzahl von Bildpunkten in Längsrichtung (Y-Achse) und horizontaler Richtung (X-Achse) (256 (L = 8), 512 (L = 9) usw.) des Bildspeichers 210 bezeichnet, und L an die Anzahl der Bits für arithmetische Operationen des Eingangs/Ausgangs-Busses desselben und einer ALU (8, 9 usw.) angepaßt ist.
  • Andererseits wählen die Auswahleinrichtungen 31 (31&submin;&sub1; bis 31&submin;&sub4;) unabhängig voneinander eines der Eingangsenden A und B und einen der Ausgänge R&sub1; und R&sub2; der RAMs 42 aus. Die variablen Verzögerungseinrichtungen 32 (32&submin;&sub1; bis 32&submin;&sub4;) können die Anzahl von Verzögerungseinheiten von 0 bis 7 Takten (0D bis 7D) der Verzögerungseinheiten auswählen. Eine Verzögerung um einen Takt bedeutet eine Verzögerung um eine Teilung in horizontaler Richtung. Die arithmetischen Verschiebeeinrichtungen 33 (33&submin;&sub1; bis 33&submin;&sub4;) führen arithmetische Verschiebungen von Eingangsdatenwerten um das einfache, das doppelte 1/2, 1/4 usw. aus. Jede Verschiebeeinrichtung 33 multipliziert oder dividiert eine digitale Eingangsgröße mit der Potenz der Zahlenbasis.
  • Eine zweite Stufe von ALUs 35 (35&submin;&sub1;, 35&submin;&sub2;) ist mit Verschiebeeinrichtungen 36 (36&submin;&sub1;, 36&submin;&sub2;) und Registern 37 (37&submin;&sub1;, 37&submin;&sub2;) verbunden. Die Verschiebeeinrichtungen 36 korrigieren einen Überlauf der der jeweiligen ALUs 35. Die Register 37 werden als Pipelineregister verwendet.
  • Darüber hinaus werden, wie in Fig. 6 dargestellt, Eingabeauswahlvorgänge für die RAMs 42 durch Auswahleinrichtungen 41 ausgeführt. Das heißt, daß die Eingabe an einem Adreßeingangsende A des RAM (42&submin;&sub1;) aus einer der Eingangsleitungen A und C ausgewählt wird. Die Dateneingabe am Dateneingangsende Din des RAM (42&submin;&sub1;) wird durch die Auswahleinrichtung (41&submin;&sub2;) aus einem der folgenden Signale ausgewählt: Ausgangssignal D des Registers 37&submin;&sub1;, Signal auf der Eingangsleitung A und Ausgangssignal R2 des RAM (42&submin;&sub2;).
  • Andererseits wird die Eingabe am Adreßeingangsende A des RAM (42&submin;&sub2;) durch die Auswahleinrichtung (41&submin;&sub3;) aus einem der Signale auf den Eingangsleitungen H und C ausgewählt. Die Dateneingabe am Dateneingabeende Din des RAM (42&submin;&sub2;) wird durch die Auswahleinrichtung (41&submin;&sub4;) aus einem der folgenden Signale ausgewählt: Ausgangssignal E des Registers (37&submin;&sub2;), Eingangssignal B und Ausgangssignal R1 des RAM (42&submin;&sub1;). Die Leseausgangssignale der RAMs 42 werden in jeweilige Register 43 eingegeben.
  • Jeder RAM 42 wird so betrieben, daß er in der vorderen Hälfte von Takten ck Daten liest und in einer hinteren Hälfte von Takten ck Daten schreibt. Ein Zwischenspeichern in jedes Register 43 wird während des Endes der ersten Hälfte der Takte ck ausgeführt.
  • Das gesamte Prozessorelement 220 wird durch in einem Steuerregister 29 gespeicherte Anweisungen gesteuert. Abhängig vom Wert des Steuerregisters 29 werden Anweisungen an die Auswahleinrichtungen 31 und 41 und die ALUs 34 und 35 übertragen. Wenn einmal eine Anweisung in das Steuerregister 29 eingeschrieben ist, werden dieselben Abläufe wiederholt ausgeführt, vorausgesetzt, daß Eingangsdaten synchron mit den Takten ck zugeführt werden.
  • Es wird darauf hingewiesen, daß die RAMs 42 als LUTs verwendet werden können, oder daß sie als Verzögerungseinrichtung für eine Zeile verwendet werden können (eine Verzögerung um eine Zeile bedeutet eine Verzögerung um eine Längsverzögerung entsprechend einer Horizontaldurchrasterung der Bildpunkte) . Wenn die RAMs 42 als LUTs verwendet werden, wird der zu verarbeitende Inhalt vorab durch den Hostcomputer in die RAMs 42 eingeschrieben. Während der Verarbeitungwird die Eingangsleitung A für das Adreßeingangsende A jedes RAM 42&submin;&sub1; und 42&submin;&sub2; ausgewählt. Dann können LUT-Ausgangsinformationen als Ausgangsinformationen der RAMs 42 erhaltenwerden.
  • Andererseits erhält, wenn die RAMs 42 als Komponenten für eine Verzögerung um eine Zeile verwendet werden, die Ausgangsleitung C, die horizontal (X)-Adresse für den anderen Bildspeicher 210 und wird für jeden Bildpunkt imkrementiert. Die Eingangsleitung A wird für das Dateneingangsende (Din) ausgewählt und die RAMs 42 lesen in der ersten Hälfte der Takte ck und schreiben in der hinteren Hälfte der Takte ck. Auf diese Weise werden Daten vor einer Längszeile aus dem entsprechenden Register 43 ausgegeben.
  • Nachfolgend wird unter Bezugnahme auf die Fig. 7 bis 8 (B) der Betrieb des in den Fig. 4 bis 6 dargestellten Bildverarbeitungssystems gemäß dem zweiten bevorzugten Ausführungsbeispiel beschrieben.
  • Es sei angenommen, daß die Längs (Y-Richtung)- und Quer(X- Richtung) -Kanten einer graphischen Anzeige gleichzeitig durch 3 x 3 (Fensterraum)-Raumfilterung erhalten und in einem der Speicher 210 abgespeichert werden.
  • Dann sei angenommen, daß das mittlere Pixel durch Xi, j repräsentiert wird, die Längskante durch Vi, j repräsentiert wird und die Querkante durch Hi, j repräsentiert wird.
  • Die vier Prozessorelemente 220 werden dazu verwendet, die folgenden Gleichungen zu berechnen. Der Verarbeitungsweg geht aus Fig. 7 hervor. Jedoch sind zum Vereinfachen der Erläuterung andere Verbindungen von Linien, die nicht direkt die nachfolgend beschriebene Verarbeitung betreffen, weggelassen.
  • Das ursprüngliche Bild wird aus einem wahlfreien Bildspeicher ausgelesen. Verarbeitungsergebnisse werden in die Bildspeicher 210 eingeschrieben, die den Prozessorelementen (22&submin;&sub3;) und (22&submin;&sub4;) zugeordnet sind.
  • Es wird darauf hingewiesen, daß das Urspungsbild und das bearbeitete Bild dadurch für ein Vollbild durchgerastert werden, daß beide Bilder in Querrichtung (Richtung der X-Adressen) durchgerastert werden. Das heißt, daß die X-Adreßbusleitungen und die Y-Adreßbusleitungen des zentralen Busses 230 die Eingabe für die X- und Y-Adressen der Bildspeicher 210 liefern und die Bilddaten an die Datenbusse d&sub1;, d&sub2;, d&sub3;, ... ausgegeben werden.
  • Ein Beispiel für den Berechnungsablauf bei einer 3 x 3-Raumfilterung in jedem Prozessorelement 220 (22&submin;&sub1;, 22&submin;&sub2;, 22&submin;&sub3; und 22&submin;&sub4;) wird nachfolgend beschrieben.
  • Eine Verzögerung um eine Zeile und eine Verzögerung um zwei Zeilen werden durch Durchläufe durch die zwei RAMs 42 (42&submin;&sub1; und 42&submin;&sub2;) der Prozessorelemente (22&submin;&sub1;) und (22&submin;&sub2;) bewerkstelligt.
  • Dabei wird der X-Adreßbus (CX in Fig. 7 und X in Fig. 4) für jeden RAM 42&submin;&sub1; und 42&submin;&sub2; in den Prozessoreleinenten 22&submin;&sub1; und 22&submin;&sub2; durch jeweilige Register 41&submin;&sub1; und 41&submin;&sub2; ausgewählt.
  • Dann wählt das Register 41&submin;&sub2; Daten zum Ursprungsbild als Eingangsdaten Din für den Raum 42&submin;&sub1; aus. Ferner werden die um eine Abrasterzeile durch den RAM 42&submin;&sub1; verzögerten Daten R1 durch das Register 41&submin;&sub4; ausgewählt.
  • Es sei angenommen, daß die Bilddaten durchgerastert werden und daß zu einem bestimmten Zeitpunkt ein Bildpunkt ALPHA (Xi+2,j+1) über den Datenbus, der in Fig. 7 mit CU bezeichnet ist, eingegeben werden, daß die Ausgangsdaten R1 des RAM 42&submin;&sub1; BETA (Xi+2, j) angeben und daß die Ausgangsdaten R2 des RAM 42&submin;&sub2; GAMMA (Xi+2,j-1) angeben (siehe Fig. 7), dadurch den oberen RAN 42&submin;&sub1; eine Verzögerung um eine Zeile vorgenommen wird.
  • Darüber hinaus nimmt das obere Prozessorelement 22&submin;&sub1; die Eingangsbilddaten ALPHA (Xi+2,j+1) durch die Auswahleinrichtung 31&submin;&sub1; und die Daten R2, d.h. GAMMA (Xi+2,j-1) über das Register 31&submin;&sub2; auf.
  • Die variable Verzögerungseinrichtung 32&submin;&sub1; wird dazu verwendet, für eine Verzögerung von einem Takt (1D) zu sorgen, um Pixeldaten I zu erzeugen, wie in Fig. 7 dargestellt, die andere variable Verzögerungseinrichtung 32&submin;&sub3; wird dazu verwendet, für eine Verzögerung um drei Takte (3D) zu sorgen, um Pixeldaten C zu erzeugen, und die andere variable Verzögerungseinrichtung 32&submin;&sub4; wird dazu verwendet, für eine Verzögerung um einen Takt (1D) zu sorgen, um Pixeldaten G zu erzeugen. Eine Verzögerung um einen Takt bedeutet eine einzelne Horizontalverzögerung entsprechend einer Verschiebung um eine Position. Die Verschiebeeinrichtungen 33 (33&submin;&sub1; bis 33&submin;&sub4;) zuin Verhindern eines Überlaufs von Daten aus den benachbarten ALUs werden dazu verwendet, alle Eingangswerte der Bilddaten mit 1/2 zu multiplizieren. Dann wird die ALU (35&submin;&sub1;) dazu verwendet, die Additionsberechnung (a + b) auszuführen.
  • Die ALU (35&submin;&sub2;) wird dazu verwendet, eine Substraktion (a - b) auszuführen. Die Verschiebeeinrichtungen 36 werden dazu verwendet, die Eingangswerte der Bilddaten mit 1/2 zu multiplizieren, und die Ausgangswerte hierzu werden zwischengespeichert. Nachdem die vorstehend beschriebene Verarbeitung beendet ist, liefert das Prozessorelement (22&submin;&sub1;) die folgenden mit D und H bezeichneten Ausgangsdaten:
  • D = 1/4 (A + I + C - G)
  • E = 1/4 (A - I - C + G)
  • Es wird darauf hingewiesen, daß die ALUs 34&submin;&sub1;, 34&submin;&sub2; und 35&submin;&sub2; Subtraktionen (a - b) ausführen.
  • Die Ausgangswerte D und E werden an die Eingangsenden ina der Prozessorelemente (22&submin;&sub2;) und (22&submin;&sub4;) übertragen.
  • Andererseits empfangen die Auswahleinrichtungen (31&submin;&sub1;), (31&submin;&sub2;) , (31&submin;&sub3;) und (31&submin;&sub4;) im unteren Prozessorelement (22&submin;&sub2;) die Pixeldaten ALPHA, das Ausgangssignal GAMMA von R2, das Ausgangssignal BETA von R2 und das Ausgangssignal BETA von R1. Die variablen Verzögerungseinrichtungen (32&submin;&sub1;), (32&submin;&sub2;) (32&submin;&sub3;) und (32&submin;&sub4;) sind auf eine Verzögerung von zwei Takten (2D), von zwei Takten (2D) , von einem Takt (1D) und von drei Takten (3D) eingestellt, um Ausgangspixeldaten B, H, D und F auszugeben. Jeder Multiplikationswert der Verschiebeeinrichtungen 33 ist auf 1/2 eingestellt. Die ALU 34 führt eine Subtraktionsverarbeitung (a - b) für die eingegebenen Werte aus. Außerdem gibt die ALU 35&submin;&sub1; direkt das Subtraktionsergebnis (a) der ALU (34&submin;&sub2;) aus. Jeder Wert der ALU wird durch die Verschiebeeinrichtungen 36 jeweils mit 1/2 multipliziert. Außerdem nehmen die Register 37 eine Zwischenspeicherung der eintreffenden Daten vor. Nach der vorstehend beschriebenen Verarbeitung geben die Ausgangssignale D und E der Register 37 das folgende an:
  • D = 1/4 (B - H)
  • E = 1/4 (D - F)
  • Die Ausgangssignale D und E der Register 37 werden an die Eingangsenden inb der kreuzweise miteinander verbundenen Prozessorelemente (22&submin;&sub2;) und (22&submin;&sub4;) übertragen.
  • Danach nimmt das Prozessorelement (22&submin;&sub3;) die Daten auf den Leitungen ina und inb auf. Die ALU (34&submin;&sub1;) im Prozessorelement 22&submin;&sub2; führt eine Additionsverarbeitung (a + b) ohne Verzögerung (OD) aus, und die Verschiebeeinrichtungen 32&submin;&sub1; und 32&submin;&sub2; nehmen eine einmalige Multiplikation (OD) vor. Das Additionsergebnis veranlaßt die ALU (35&submin;&sub1;) zu einem direkten Hindurchlassen. Nachdem die Verschiebeeinrichtung (36&submin;&sub1;) das Additionsergebnis der ALU 34&submin;&sub1; mit 1/2 multipliziert hat, wird das multiplizierte Additionsergebnis dem Eingangsende Din der folgenden Stufe des Bildspeichers 210&submin;&sub3; (nicht dargestellt) zugeführt. Das Ausgangssignal D des Registers 37&submin;&sub1; gibt folgendes an: D = 1/8 (A + B + C - H - I).
  • Dieser Wert D bedeutet die Querkante.
  • Andererseits wird dieselbe Verarbeitung im Prozessorelement (22&submin;&sub4;) ausgeführt. Das heißt daß im Prozessorelement (22&submin;&sub4;) die ALU (34&submin;&sub1;) eine Additionsverarbeitung ohne Verzögerung (OD) ausführt und die Verschiebeeinrichtung 32&submin;&sub1; eine einmalige Multiplikation (1D) ausführt, wobei die Daten auf den Eingangsleitungen ina und inb über die Register 31&submin;&sub1; und 31&submin;&sub2; eingegeben werden. Das Ergebnis der Additionsverarbeitung wird von der ALU 35&submin;&sub1; direkt ausgegeben, und dieser
  • Wert wird von der Verschiebeeinrichtung 36&submin;&sub1; mit 1/2 multipliziert. Dann wird das multiplizierte Additionsergebnis an das Register 37&submin;&sub1; ausgegeben. Das Ausgangsergebnis D aus dem Register (37&submin;&sub1;) gibt folgendes an: D = 1/8 (A + D + G - C - F - I).
  • Dieser Wert D bedeutet eine Längskante.
  • Demgemäß werden zwei Arten von 3 x 3-Raumfilterungsvorgängen gleichzeitig ausgeführt. Wenn die mehreren Bildverarbeitungsabschnitte 200, die durch die Prozessorelement 220 und die Bildspeicher 210 gebildet werden, tatsächlich so angebracht sind, wie es in Fig. 5 dargestellt ist, können ganz verschiedene Verarbeitungen gleichzeitig in den jeweiligen Bildverarbeitungsabschnitten 200 ausgeführt werden. Außer 3 x 3-Filtervorgängen können eine andere Anzahl von Filtervorgängen wie 5 x 5, 1 x 8, 8 x 1 und 3 x 5, affine Transformationen und Hough-Transformationen unter wirkungsvoller Ausnutzung der Prozessorelemente ausgeführt werden.
  • Es wird darauf hingewiesen, daß sowohl die Hildspeicher als auch die Prozessorelemente einander entsprechen. Jedoch ist es nicht erforderlich, daß die Anzahl der Prozessorelemente mit derjenigen der Bildspeicher übereinstimmt. Das Anbringen überflüssiger Bildspeicher kann vermieden werden.
  • Ferner kann der Bildspeicher 210 für zweidimensionale LUTs verwendet werden, wenn die Ausgangssignale der Prozessorelemente 220 über die X-Adresse und die Y-Adresse der Bildspeicher 210 ausgewählt werden und das Berechnungsergebnis, wie X/Y, im Bildspeicher 210 abgespeichert wird.
  • Wie vorstehend beschrieben, wird Datenübertragung zwischen verschiedenen Adressen möglich und es wird ein paralleler Lauf verschiedener Verarbeitungen zwichen verschiedenen Koordinaten möglich, da beim erfindungsgemäßen Bildverarbeitungssystem Auswahleinrichtungen generell zwischen dem zentralen Bus und Bildspeichern (VRAMs) sowie zwischen dem zentralen Bus und Prozessoren (Prozessorelementen) vorhanden sind. Ferner ist die Erweiterung von Bildspeichern und Prozessoren (Prozessorelementen) erleichtert. Darüber hinaus kann Universalverwendung und Hochgeschwindigkeitsverarbeitung erzielt werden.
  • Dem Fachmann ist es erkennbar, daß die vorstehende Beschreibung hinsichtlich bevorzugter Ausführungsbeispiele erfolgt ist und daß verschiedene Änderungen und Modifizierungen vorgenommen werden können, ohne vom Schutzbereich der Erfindung abzuweichen, der durch die beigefügten Ansprüche festzulegen ist.

Claims (19)

1. Bildverarbeitungssystem mit: a) einem zentralen Bus (20) mit mindestens zwei Adreßbusleitungen (X, Y) und mindestens einer Datenbusleitung (A, B, C);
b) mehreren Bildspeichern (VRAM 1 - VRAM m), von denen jeder dazu in der Lage ist, Eingangsbilddaten abzuspeichern, und von denen jeder zwei Adreßeingangsenden, ein Dateneingangsende und ein Ausgangsende beinhaltet;
c) mehreren Datenprozessoren (P1 - Pn), die Eingangsbilddaten verarbeiten können, um vorgegebene Berechnungen auszuführen und Daten gemäß der Ausführung an den zentralen Bus ausgeben können, wobei jeder Datenprozessor mindestens zwei Eingangsenden und mindestens ein Ausgangsende aufweist, die mit dein zentralen Bus verbunden sind; gekennzeichnet durch,
d) mehrere Auswahleinrichtungen (S1 - Sm), die zwischen jede Busleitung des zentralen Busses und jedes Eingangsende der Bildspeicher geschaltet sind, und mehrere Auswahleinrichtungen (SP1 - SPn), die zwischen jede Busleitung des zentralen Busses und jedes Eingangsende der Datenprozessoren geschaltet sind, wobei jede Auswahleinrichtung mindestens eine der jeweiligen Busleitungen auswählen kann, um das entsprechende Eingangsende der Bildspeicher bzw. der Datenprozessoren anzuschließen; und
e) eine erste Einrichtung (22, 23) zum Steuern der Bildspeicher, der Datenprozessoren und der Auswahleinrichtungen unabhängig voneinander, so daß eine Übertragung von Bilddaten zwischen verschiedenen Adressen der Bildspeicher für jeden Bildrahmen möglich wird.
2. Bildverarbeitunssystem nach Anspruch 1, bei dem der zentrale Bus über zwei Quer- und Längs-Adreßbusleitungen und drei Datenbusleitungen verfügt und jede Auswahleinrichtung, wie sie den Bildspeichern und den Datenprozessoren zugeordnet ist, fünf Eingangsenden aufweist, die mit den jeweiligen Busleitungen des zentralen Busses verbunden sind.
3. Bildverarbeitungssystem nach Anspruch 2, bei dem jede dem entsprechenden Bildspeicher zugeordnete Auswahleinrichtung drei Eingangsenden ausweist, die mit dem Quer-, Längsund Dateneingangsende des entsprechenden Bildspeichers verbunden sind, und jeder Bildspeicher ein Ausgangsende aufweist, das mit den drei Datenbusleitungen des zentralen busses über einen entsprechenden Ausgangspuffer verbunden ist und jeder Datenprozessor ein Ausgangsende aufweist, das mit den drei Datenbusleitungen über einen entsprechenden puffer verbunden ist.
4. Bildverarbeitungssystem nach Anspruch 3, bei dem die erste Einrichtung folgendes beinhaltet:
a) eine zweite Einrichtung zum Versetzen eines ersten Bildspeichers unter den Bildspeichern in einen Lesemodus, während ein zweiter Bildspeicher in einen Schreibmodus versetzt wird; und
b) eine dritte Einrichtung zum Erzeugen und Ausgeben von Quer- und Längsadressen der Reihe nach für jeden Bildrahmen an die Quer- und Längs-Adreßbusleitungen des zentralen Busses.
5. Bildverarbeitungssystem nach Anspruch 4, bei dem die Auswahleinrichtungen, die dem ersten und zweiten Datenprozessor unter den Datenprozessoren zugeordnet sind, so betrieben werden, daß sie die zwei Ädreßbusleitungen auswählen, um Quer- und Längsadressen in die entsprechenden Adreßeingangsenden des ersten und zweiten Datenprozessors einzugeben, wobei die eine der Auswahleinrichtungen, die dem ersten, in den Lesemodus versetzten Bildspeicher zugeordnet ist, so betrieben wird, daß sie zwei der drei Datenbusleitungen des zentralen Busses auswählt, um die Ausführungsdaten aus dein ersten und zweiten Datenprozessor in die Querund Längsadresse-Eingangsenden des ersten Speichers einzugeben, und die andere der Auswahleinrichtungen, die dein zweiten, in den Schreibmodus versetzten Bildspeicher zugeordnet ist, so betrieben wird, daß sie die zwei Adreßbusleitungen auswählt, um die Quer- und Längsadreßdaten in die entsprechenden Adreßeingangsenden des zweiten Speichers einzugeben und um die verbleibende Datenbusleitung auszuwählen, um die Lesedaten aus dein ersten Bildspeicher in das Dateneingangsende des zweiten Bildspeichers einzugeben.
6. Bildverarbeitungssystem nach Anspruch 5, bei dem der erste Datenprozessor die folgende Berechnung vornimmt.
p = ax + by,
wobei x und y die Quer- und Längsadresse nach einer Rotation einer Figur im Bild unter einer affinen Transformation bezeichnen, p die Queradresse vor der Rotation der Figur und a und b Konstanten bezeichnen, die dem Rotationswinkel entsprechen,
und der zweite Datenprozessor die folgende Berechnung vornimmt:
q = cx + dy,
wobei q die Längsadresse vor der Rotation der Figur unter der affinen Transformation bezeichnet und c und d Konstanten entsprechend dem Rotationswinkel bezeichnen.
7. Bildverarbeitungssystein nach Anspruch 6, bei dem die Ausführungsdaten vom ersten Datenprozessor in das Queradressen-Eingangsende des ersten Bildspeichers über den entsprechenden Ausgangspuffer und eine erste Datenbusleitung der drei Datenbusleitungen des zentralen Busses übertragen wird, die Ausführungsdaten vom zweiten Datenprozessor an das Längsadressen-Eingangsende des ersten Datenspeichers über den entsprechenden Ausgangspuffer und eine zweite Datenbusleitung der drei Datenbusleitungen des zentralen Busses übertragen wird, und die aus dem ersten Bildspeicher ausgelesenen Daten über den entsprechenden Ausgangspuffer des ersten Bildspeichers, eine dritte Datenbusleitung des zentralen Busses und die dein zweiten Bildspeicher zugeordnete Auswahleinrichtung an das Dateneingangsende des zweiten Speicher übertragen wird.
8. Bildverarbeitungssystem nach Anspruch 6, bei dem der erste und zweite Datenprozessor jeweils zwei LUTs (Look-Up Tables Nachschlagetabellen) und eine ALU (Einheit für arithmetische/logische Operationen) beinhalten.
9. Bildverarbeitungssystem nach Anspruch 1, bei dem jeder Bildspeicher einen VRAM (Video-Direktzugriffsspeicher) beinhaltet.
10. Bildverarbeitungssystem nach Anspruch 1, das ferner einen ausschließlichen Bus zum Bereitstellen einer Verbindungseinrichtung zwischen einem der Datenprozessoren und mindestens einem Bildspeicher zum Aufbauen eines Paars aus dem Datenprozessor und dem Bildspeicher aufweist, so daß das System mehrere Bildverarbeitungsabschnitte aufweist, die durch diese Paare gebildet werden.
11. Bildverarbeitungssystem nach Anspruch 10, bei dem die Auswahleinrichtungen so im System angebracht sind, daß sie den jeweiligen Bildspeichern zugeordnet sind, um mindestens eines der vom zentralen Bus gelieferten Signale auszuwählen und um Ausgangssignale der Datenpräzessoren, die die jeweiligen Paare mit den zugehörigen Bildspeichern bilden, als Adreßeingangsdaten und Eingangsdaten der jeweils zugehörigen Bildspeicher zu bilden, und die Auswahleinrichtungen so im System angebracht sind, daß sie den jeweiligen Datenprozessoren zugeordnet sind, um mindestens eines der folgenden Signale auszuwählen: Datenausgangssignale der jeweiligen Bildspeicher, die die jeweiligen Paare mit den entsprechenden Datenprozessoren bilden, auf dem zentralen Bus übertragene Signale und Ausgangssignale, wie sie von irgendeinem der anderen Datenprozessoren über den ausschließlichen Bus als Eingangsdaten für die jeweils zugeordneten Datenprozessoren erzeugt werden.
12. Bildverarbeitungssystem nach Anspruch 11, bei dein jeder Bildverarbeitungsabschnitt eine erste Auswahleinrichtung, die zwischen eine erste Datenbusleitung (inak) des mit der benachbarten der anderen Bildverarbeitungsabschnitte verbundenen ausschließlichen Busses, das Ausgangsende des entsprechenden Bildspeichers und mehrere Datenbusleitungen des zentralen Busses sowie ein erstes Dateneingangsende des zugehörigen Datenprozessors geschaltet ist, und eine zweite Auswahleinrichtung aufweist, die zwischen eine zweite Datenbusleitung (inbk) des mit dem benachbarten der anderen Bilddatenverarbeitungsabschnitte verbundenen ausschließlichen Busses und die Datenbusleitungen des zentralen Busses und ein zweites Eingangsdaten-Eingangsende des Datenprozessors geschaltet ist.
13. Bildverarbeitungssystem nach Anspruch 12, bei dein jeder Bildverarbeitungsabschnitt eine dritte Auswahleinrichtung, die zwischen ein erstes Datenausgangsende des entsprechenden Datenprozessors, eine Queradressen-Busleitung des zentralen Busses und die Datenbusleitungen des zentralen Busses und ein Queradressen-Eingangsende des zugehörigen Bildspeichers geschaltet ist, eine zweite Auswahleinrichtung, die zwischen das erste Ausgangsende des entsprechenden Datenprozessors, das zweite Datenausgangsende desselben und Datenbusleitungen des zentralen Busses und das Dateneingangsende des Bildspeichers geschaltet ist, und eine dritte Auswahleinrichtung aufweist, die zwischen das zweite Ausgangsende des entsprechenden Datenprozessors, eine Längsadressen-Busleitung des zentralen Busses und Datenbusleitungen des zentralen Busses und ein Längsadressen-Eingangsende des Bildspeichers geschaltet ist.
14. Bildverarbeitungssystem nach Anspruch 13, bei dem ein Adresseneingangsende des Datenprozessors direkt mit einer Queradressen-Busleitung des zentralen Busses verbunden ist, wobei Datenausgangsenden des Datenprozessors über Ausgangspuffer mit den Datenbusleitungen des zentralen Busses verbunden sind und wobei das Ausgangsende des Bildspeichers über einen Ausgangspuffer mit den Datenbusleitungen verbunden ist.
15. Bildverarbeitungssystem nach Anspruch 14, bei dem eines der Ausgangssignale des Datenprozessors an dessen erstem Ausgangsende in einem der Bildverarbeitungsabschnitte über den ausschließlichen Bus an den Bildverarbeitungsabschnitt rechts oben übertragen werden, und die anderen Ausgangssignale des Datenprozessors am zweiten Ausgangsende an den Bildverarbeitungsabschnitt rechts unten übertragen werden, so daß die vier einander benachbarten Bildverarbeitungsabschnitte einen von Bildverarbeitungsblöcken bilden.
16. Bildverarbeitungssystem nach Anspruch 15, bei dem jeder Datenprozessor vier sechste Auswahleinrichtungen, vier variable Verzögerungseinrichtungen, vier erste Verschiebeeinrlchtungen, vier über Kreuz verbundene ALUs, zwei zweite Verschiebeeinrichtungen und zwei erste Ausgangsregister aufweist, wobei jede der sechsten Auswahleinrichtungen zwischen zwei interne Busleitungen der entsprechenden Datenauswahleinrichtung und ein Eingangsende der entsprechenden variablen Verzögerungseinrichtung geschaltet ist, wobei jede variable Verzögerungseinrichtung zum Verzögern ihrer Eingangsdaten um einen vorgegebenen Wert für eine Querpositionsverzögerung zwischen ein Ausgangsende der entsprechenden sechsten Auswahleinrichtung und ein Eingangsende der entsprechenden ersten Verschiebeeinrichtung geschaltet ist, wobei jede zweite Verschiebeeinrichtung zwischen ein Ausgangsende der entsprechenden der vier ALUs und ein Eingangsende des entsprechenden ersten Registers geschaltet ist, und wobei jede Datenauswahleinrichtung ferner vier siebte Auswahleinrichtungen, zwei RAMs und zwei zweite Ausgangsregister aufweist, wobei die erste der siebten Auswahleinrichtungen zwischen ein Ausgangsende der entsprechenden ersten Auswahleinrichtung und die Queradressen-Busleitung des zentralen Busses und ein Adreßeingangsende eines ersten der zwei RAMs geschaltet ist, wobei die zweite der siebsten Auswahleinrichtungen über die erste Ausgangsdaten-Busleitung des ausschließlichen Busses, die erste Eingangsdaten-Busleitung des ausschließlichen Busses und eine zweite innere Busleitung, die mit einem der zweiten Ausgangsregister verbunden ist, zwischen eines der ersten Register und ein Dateneingangsende des ersten RAM geschaltet ist, wobei die dritte der siebten Auswahleinrichtungen zwischen das Ausgangsende der zweiten Auswahleinrichtung und die Queradressen-Busleitung des zentralen Busses und ein Adreßeingangsende des zweiten RAM geschaltet ist, wobei die vierte der siebten auswahleinrichtungen zwischen ein Ausgangsende eines zweiten der ersten Register über die Ausgangsdatenleitung des ausschließlichen Busses, das Ausgangsende der zweiten Auswahleinrichtung und den ersten inneren Bus und ein Dateneingangsende des zweiten RAM geschaltet ist undwobei jedes zweite Register zwischen das entsprechende Ausgangsende jedes RAM und die entsprechende erste und zweite interne Busleitung geschaltet ist.
17. Bildverarbeitungssystem nach Anspruch 16, bei dem einer der Bildverarbeitungsblöcke eine 3 x 3-Raumfilterung ausführt und daraus eine Quer- und eine Längskante herleitet.
18. Bildverarbeitungssystem nach Anspruch 17, bei dem die zwei RAMs als Längsverzögerungseinrichtungen zum Verzögern von Eingangsdaten um denselben Wert einer Längspositionsverzögerung zu verzögern.
19. Bildverarbeitungssystem nach Anspruch 18, bei dem die erste Ausgangsdaten-Busleitung (D) des ersten Bildverarbeitungsabschnitts 1/4 (A - I + C - G) angibt, die zweite Ausgangsdaten-Busleitung (E) des ersten Bildverarbeitungsabschnitts 1/4 (A - I - C + G) angibt, die erste Ausgangsdaten-Busleitung des zweiten Bildverarbeitungsabschnitts 1/4 (B - H) angibt, die zweite Ausgangsdaten-Busleitung des zweiten Hildverarbeitungsabschnitts 1/4 (D - F) angibt, die erste Ausgangsdaten-Busleitung des dritten Bildverarbeitungsabschnitts 1/8 (A + B + C - G - H - I) angibt, was die Querkante bedeutet und die erste Ausgangsdaten-Busleitung des vierten Bildverarbeitungsabschnitts 1/8 (A + D + G - C F - I) angibt, was die Längskante bedeutet, wobei A Xi+1,j+1 bedeutet, B Xi,j+1 bedeutet, C Xi-1,j+1 bedeutet, D Xi+1,j bedeutet, E Xi,j bedeutet, was den zentralen Bildpunkt kennzeichnet, F Xi-1,j bedeutet, G Xi+1,j-1 bedeutet, H Xi,j-1 bedeutet und I Xi-1,j-1 bedeutet und X die Adresse jedes Bildpunkts bedeutet.
DE3854039T 1987-11-18 1988-11-18 Bildverarbeitungssystem. Expired - Fee Related DE3854039T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP28929087A JP2510220B2 (ja) 1987-11-18 1987-11-18 画像処理装置
JP28928887A JP2510219B2 (ja) 1987-11-18 1987-11-18 画像処理装置

Publications (2)

Publication Number Publication Date
DE3854039D1 DE3854039D1 (de) 1995-07-27
DE3854039T2 true DE3854039T2 (de) 1996-02-29

Family

ID=26557541

Family Applications (1)

Application Number Title Priority Date Filing Date
DE3854039T Expired - Fee Related DE3854039T2 (de) 1987-11-18 1988-11-18 Bildverarbeitungssystem.

Country Status (3)

Country Link
US (1) US5029018A (de)
EP (1) EP0316956B1 (de)
DE (1) DE3854039T2 (de)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0550427A1 (de) * 1990-08-03 1993-07-14 Du Pont Pixel Systems Limited Datenfeld parallelverarbeitungssystem
US5396343A (en) * 1991-03-14 1995-03-07 Nec Electronics, Inc. Image compresssion systems with optimized data access
DE4125112A1 (de) * 1991-07-30 1993-02-04 Rheinmetall Gmbh Bildverarbeitungssystem
US5384645A (en) * 1991-10-15 1995-01-24 Fuji Xerox Co., Ltd. Image rotating apparatus
JP3277399B2 (ja) * 1993-01-27 2002-04-22 ソニー株式会社 画像処理用汎用プロセッサ
EP0636990A3 (de) * 1993-07-28 1995-06-07 Hughes Aircraft Co Rechnerarchitektur zur effizienten Extraktion und Übertragung von iconischer/symbolischer Information zwischen Niveaus von Datenverarbeitungselementen in einer Bilderkennungseinrichtung.
SG48361A1 (en) * 1994-02-04 1998-04-17 Philips Electronics Nv Sorting sequential data prior to distribution over parallel processors in random access manner
US6111584A (en) * 1995-12-18 2000-08-29 3Dlabs Inc. Ltd. Rendering system with mini-patch retrieval from local texture storage
GB2374749B (en) 2001-04-20 2005-04-06 Discreet Logic Inc Image data processing
GB2374769B (en) 2001-04-20 2004-07-21 Discreet Logic Inc Network system for data processing systems and data storage systems
GB2374756B (en) 2001-04-20 2004-07-28 Discreet Logic Inc Image processing

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4891633A (en) * 1984-07-23 1990-01-02 General Research Of Electronics, Inc. Digital image exchange system
JPS6153774A (ja) * 1984-08-24 1986-03-17 Hitachi Ltd 半導体装置およびその製造方法
JPH0731491B2 (ja) * 1985-07-19 1995-04-10 ヤマハ株式会社 画像メモリの読出回路
US4835729A (en) * 1985-12-12 1989-05-30 Alcatel Usa, Corp. Single instruction multiple data (SIMD) cellular array processing apparatus with on-board RAM and address generator apparatus
EP0257061A1 (de) * 1986-02-10 1988-03-02 EASTMAN KODAK COMPANY (a New Jersey corporation) Vielfachprozessorvorrichtung

Also Published As

Publication number Publication date
DE3854039D1 (de) 1995-07-27
US5029018A (en) 1991-07-02
EP0316956B1 (de) 1995-06-21
EP0316956A3 (en) 1990-09-26
EP0316956A2 (de) 1989-05-24

Similar Documents

Publication Publication Date Title
DE3783072T2 (de) Zusatzprozessorarchitektur.
DE3804938C2 (de) Bildverarbeitungseinrichtung
DE3338345C2 (de)
DE68926783T2 (de) Paralleler datenprozessor
DE3750017T2 (de) Prozessor für orthogonale Transformation.
DE3689926T2 (de) Einrichtung zur sequenziellen Bildtransformation.
DE19835216B4 (de) Prozessor und Verfahren zur parallelen Datenverarbeitung
DE2718849C2 (de) Datenverarbeitungsanlage für Datenelemente einer Matrix aus M Speichermoduln und mit p Prozessoren
DE3789116T2 (de) Prozessor zur zweidimensionalen diskreten cosinustransformation.
DE3885775T2 (de) Digitaler Signalprozessor.
DE3875979T2 (de) Schaltung zur berechnung des quantisierten koeffizienten der diskreten cosinustransformation von digitalen signalabschnitten.
DE68921847T2 (de) Verfahren und Anordnung zur Filterung des Bilddarstellungssignals.
DE69031865T2 (de) Ein SIMD-Prozessor als digitales Filter
DE3854039T2 (de) Bildverarbeitungssystem.
DE602004006516T2 (de) Parallel-verarbeitungs-array
DE1302494B (de)
DE3486126T2 (de) Expansions- und/oder ziehungsverfahren und -geraet fuer bilddaten.
DE2712224A1 (de) Datenverarbeitungsanlage
DE3632639C2 (de) Einrichtung zum Hochgeschwindigkeitsverarbeiten von Bilddaten durch Faltung
DE3852592T2 (de) Bildbehandlungsprozessor mit zeitverschachteltem Bus mit freiem Fluss.
DE3043100C2 (de)
DE2625113C2 (de) Speicherschutzeinrichtung
DE68927245T2 (de) Bildverarbeitungssystem
DE3713627A1 (de) Bildspeicherschaltung, insbesondere zur verwendung beim drehen von bilddaten
DE3885294T2 (de) Parallele pipeline-bildverarbeitungseinheit mit einem 2x2-fenster.

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8328 Change in the person/name/address of the agent

Free format text: PATENTANWAELTE MUELLER & HOFFMANN, 81667 MUENCHEN

8339 Ceased/non-payment of the annual fee