[go: up one dir, main page]

DE3650069T2 - Datenprozessor. - Google Patents

Datenprozessor.

Info

Publication number
DE3650069T2
DE3650069T2 DE19863650069 DE3650069T DE3650069T2 DE 3650069 T2 DE3650069 T2 DE 3650069T2 DE 19863650069 DE19863650069 DE 19863650069 DE 3650069 T DE3650069 T DE 3650069T DE 3650069 T2 DE3650069 T2 DE 3650069T2
Authority
DE
Germany
Prior art keywords
processing
data
address
memory
signal
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
DE19863650069
Other languages
English (en)
Other versions
DE3650069D1 (de
Inventor
Atsushi Hasebe
Norikazu Ito
Ryohei Kato
Atsushi Kikuchi
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.)
Sony Corp
Original Assignee
Sony Corp
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 JP25452885A external-priority patent/JPS62114044A/ja
Priority claimed from JP60259539A external-priority patent/JP2610817B2/ja
Application filed by Sony Corp filed Critical Sony Corp
Publication of DE3650069D1 publication Critical patent/DE3650069D1/de
Application granted granted Critical
Publication of DE3650069T2 publication Critical patent/DE3650069T2/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

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Image Processing (AREA)

Description

  • Die vorliegende Erfindung betrifft einen Datenprozessor.
  • Bisher wurde eine Informationsverarbeitungssystem beispielsweise ein Videobild-Verarbeitungssystem vorgeschlagen (Journal of the Institute of Electronics and Communication Engineers of Japan, 85/4, Band J68-D, No. 4).
  • Als Beispiel eines solchen Systems wurde ein Bildverarbeitungssystem vorgeschlagen, das einen Prozessor zur Bilddatenverarbeitung und einen Prozessor zur Verarbeitung einer Adresse der Bilddaten aufweist (JP-A-58-215813).
  • Um ein Hochgeschwindigkeits-Bildverarbeitungssystem aufzubauen, wird eine hohe Bearbeitungsgeschwindigkeit für arithmetische Operationen mit einem der Bildverarbeitung entsprechenden Arbeitsaufbau gefordert. Darüber hinaus muß der Zugriff und die Übertragung einer großen Menge von zweidimensional aufgebauter Daten mit einer hohen Geschwindigkeit erreicht werden.
  • Zur Implementierung dieser Hochgeschwindigkeits-Verarbeitung wurde ein Parallelsystem und ein Pipelinesystem vorgeschlagen.
  • Im Parallelsystem arbeiten viele Prozessorelemente parallel, um eine hohe Arbeitsgeschwindigkeit zu erzielen.
  • Obwohl dieses System eine sehr hohe Arbeitsgeschwindigkeit zulassen würde, wird der Software-Steuerung der Verarbeitung eine große Last auferlegt, was dazu führt, daß die mögliche Kapazität der Hardware nicht ausreichend genutzt werden kann.
  • Andererseits besitzt das Pipelinesystem einen einfache Hardware-Aufbau und eine einfache Verarbeitungssteuerung, womit eine hohe Arbeitsgeschwindigkeit relativ leicht erreicht werden kann. Da jedoch die Verarbeitungsgeschwindigkeit im wesentlichen proportional zu der Schaltgeschwindigkeit der Transistoren ist, ist die sehr hohe Arbeitsgeschwindigkeit begrenzt. Die Verarbeitung wird durch den Pipelineaufbau eingeschränkt, was dazu führt, daß die Flexibilität des Systems vermindert wird. Die Datenübertragungsgeschwindigkeit im Parallelsystem wird bestimmt durch ein Verfahren der Kombination der Prozessorelemente und des Speichers. Das Kombinationsverfahren wird klassifiziert in einen geteilten Speichertyp (engl: shared memory typ; Speicher, der gemeinsam genutzt wird) und einen Netzwerktyp. Da die Bildverarbeitung eine große Datenmenge handhaben muß, wird das Kombinationsverfahren des geteilten Speichertyps in vielen Systemen angewendet. Im Pipelinesystem wird die Verarbeitung und die Übertragung gemischt, wodurch die Geschwindigkeit in jeder Stufe der Pipeline vergrößert werden muß.
  • Eine Systemsynchronisationsvorrichtung für ein Datenverarbeitungssystem wurde in der US-A-4 290 133 beschrieben, um eine Hochgeschwindigkeits-Datenverarbeitung zu erreichen.
  • Das offenbarte Verarbeitungssystem umfaßt eine Zwischenverbindung für verschiedene das System bildende Elemente. Jedes Element, das mit der Zwischenverbindung verbunden ist, wird als Nexus (engl: nexus) bezeichnet, und jeder Nexus im System kann mit jedem anderen Nexus kommunizieren. Eine zentrale Taktschaltung generiert Synchronisationssignale, die eine solche Kommunikation auf einer Synchronisationsbasis steuern. Die Taktschaltung umfaßt einen Oszillator, Steuerungs- und Ablauffolgeschaltungen, die Phasen und Taktsignale erzeugen, die mit jedem Nexus gekoppelt werden. Jeder Nexus enthält Empfänger und Decodierer für die Umwandlung der Phasen und Taktsignale in eine Sequenz von internen Synchronisationssignalen, die den Betrieb der Nexus mit den Übertragungen der Nexus synchronisiert. Ein Anwendung des Synchronisationssystem innerhalb einer Pipeline, die für eine Bildverarbeitung geeignet wäre, ist nicht offenbart.
  • Ein Vollbildprozessor zur Verarbeitung digitalisierter Bildinformationen ist in EP-A-0 150 910 beschrieben. Der offenbarte Vollbildprozessor umfaßt einen Speicher zum Speichern eines zweidimensionalen Pixelfelds, Logikschaltungen zur Steuerung des Schreibens und Lesens der Informationen im Speicher, eine Arithmetik- und Logikeinheit mit zwei Eingängen, deren einer mit dem Ausgang des Speichers verbunden ist, und einen Mikroprozessor zur Betriebssteuerung der Arithmetik- und Logikeinheit und Logikschaltungen zur Lese- und Schreib-Steuerung. Es ist jedoch kein Pipelinebetrieb offenbart, der eine einfache Synchronisation mit der E/A-Vorrichtung benutzt.
  • Ein Informationsverarbeitungssystem nach dem Oberbegriff des Anspruchs 1 ist in GB-A-2 137 847 beschrieben. Das Bildverarbeitungssystem besteht aus mehreren Betriebsmodulen, die Bilddaten abhängig von ihren jeweiligen Ablaufroutinen verarbeiten, einem gemeinsamen Datenbus zur Zuführung der Bilddaten zu den Betriebsmodulen und einem Taktgenerator zur Erzeugung von Dateneingangs-/Ausgangssignalen mit einer spezifischen Synchronisation, die die Übertragung der Daten zwischen den Betriebsmodulen und dem Datenbus steuert und den Buszyklus teilt. Die Betriebsmodule werden so gesteuert, daß sie die Bilddaten verarbeiten.
  • Das Synchronisationskonzept benutzt einen zusätzlichen Synchronisationsbus, der einen Steuerungsmikrocomputer mit den Betriebsmodulen verbindet. In einem derart aufgebauten Bildverarbeitungssystem werden Daten oder Befehle zuerst von einem Hauptcomputer zum Mikrocomputer übertragen, wodurch der Mikrocomputer unterbrochen wird. Die derart übertragenen Daten oder Befehle erlauben dem Mikrocomputer, zu bestimmen, welche Verarbeitung mit welchen Daten zuerst ausgeführt wird. Abhängig von dieser Entscheidung werden die Synchronisationssetzwerte jeweils den Modulen eingegeben. Die Bilddaten, die auf dem Plattenspeicher gespeichert sind, werden dem Datenbus über eine Schnittstelle zugeführt, womit die Daten den Betriebsmodulen zugeführt werden und die Ausgangssignale der resultierenden verarbeiteten Daten dem Bus zugeführt werden in Synchronisation mit Synchronisationsimpulsen, die im Synchronisationsbus vorhanden sind.
  • Das Hochgeschwindigkeits-Bildverarbeitungssystem ermöglicht verschiedene Bildverarbeitungen, und der Inhalt der Bildverarbeitung umfaßt nicht nur eine einfache lineare Verarbeitung sondern auch nichtlineare Verarbeitungen, wie beispielsweise eine bedingte Verzweigungsverarbeitung. Demzufolge wird ein flexibles System benötigt. Dieses System reicht jedoch nicht aus, um mehrere der Prozessoren organisch zu kombinieren, so daß eine Hochgeschwindigkeits-Verarbeitung und eine komplexe Berechnung erzielt wird.
  • Es ist deshalb eine Aufgabe der vorliegenden Erfindung, einen Datenprozessor vorzusehen, in dem mehrere Prozessoren organisch kombiniert sind, um eine Hochgeschwindigkeits-Verarbeitung und eine komplizierte Berechnung zu bewirken.
  • Die Aufgabe der Erfindung wird durch die Merkmale des Anspruchs 1 gelöst. Weiterentwicklungen der Erfindung werden in den Ansprüchen 2-10 ausgeführt.
  • Die vorliegende Erfindung wird anhand der folgenden detaillierten Beschreibung in Zusammenhang mit den begleitenden Zeichnungen deutlich.
  • Fig. 1 ist ein schematisches Blockdiagramm, das den gesamten Aufbau eines Bildverarbeitungssystems darstellt, bei dem ein Ausführungsbeispiel der erfindungsgemäßen Datenverarbeitung angewendet wird;
  • Fig. 2 ist ein Flußdiagramm, das die Arbeitsweise der Schaltungen im Datenprozessor der Fig. 1 darstellt;
  • Fig. 3 ist ein Blockdiagramm, das ein Ausführungsbeispiel eines Eingangs-/Ausgangsbereichs des Datenprozessors der Fig. 1 darstellt;
  • Fig. 4 ist ein schematisches Diagramm, das ein Ausführungsbeispiel des wesentlichen Bereichs des Eingangs-/Ausgangsbereichs der Fig. 3 darstellt;
  • Fig. 5 ist ein Zeitablauf-Flußdiagramm zur Erläuterung der Fig. 4;
  • Fig. 6 ist ein Blockdiagramm, das ein Ausführungsbeispiel der Schaltungen des Datenprozessors der Fig. 1 zeigt;
  • Fig. 7 ist ein Blockdiagramm, das ein Ausführungsbeispiel des wesentlichen Bereichs der Schaltungen, die in Fig. 6 gezeigt sind, darstellt;
  • Fig. 8 ist ein schematisches Blockdiagramm, das ein Ausführungsbeispiel der Schaltungen des Datenprozessors der Fig. 1 darstellt;
  • Fig. 9 ist ein Blockdiagramm, das ein Ausführungsbeispiel eines Hauptarithmetikbereichs, der in Fig. 8 gezeigt ist, darstellt;
  • Fig. 10 ist ein Blockdiagramm, das ein Ausführungsbeispiel eines Steuerbereichs und eines Hilfsarithmetikbereichs der Fig. 8 zeigt;
  • Fig. 11 ist ein schematisches Schaltungsdiagramm, das ein Ausführungsbeispiel eines Modussignalgenerators der Fig. 10 darstellt;
  • Fig. 12 ist ein Blockdiagramm das ein Ausführungsbeispiel einer Adreßgeneratoreinheit des Datenprozessors der Fig. 1 darstellt;
  • Fig. 13 ist ein schematisches Diagramm zur Erläuterung der Fig. 12;
  • Fig. 14 ist ein Blockdiagramm, das ein Ausführungsbeispiel der Schaltungen des Datenprozessors der Fig. 1 darstellt;
  • Fig. 15 ist ein Blockdiagramm, das ein Ausführungsbeispiel eines DOG-Bereichs der Fig. 14 darstellt;
  • Fig. 16 ist ein Blockdiagramm, das ein Ausführungsbeispiel des Aufbaus für jenen Fall darstellt, bei dem der Datenprozessor der Fig. 1 für die Berechnung einer dreidimensionalen Adresse angewendet wird;
  • Fig. 17 ist ein schematisches Diagramm zur Erläuterung eines Beispiels der dreidimensionalen Verarbeitung;
  • Fig. 18A, 18B und 18C sind Diagramme, die ein Flußdiagramm zeigen, um die dreidimensionale Verarbeitung im Aufbau der Fig. 16 zu erläutern;
  • Fig. 19-20 sind Diagramme zur Erläuterung einer Konturextrahierungsverarbeitung als ein Beispiel, bei dem eine benachbarte Verarbeitung im Bildverarbeitungssystem der Fig. 1 erreicht wird;
  • Fig. 21 ist ein Blockdiagramm, das ein Ausführungsbeispiel einer Eingangsschaltung jedes Prozessors zur Ausführung der in Fig. 19 bis 20 gezeigten benachbarten Verarbeitung darstellt;
  • Fig. 22-23 sind schematische Diagramme, die ein Beispiel eines Verfahrens zur Erreichung einer Bildverarbeitung im Bildverarbeitungssystem der Fig. 1 darstellt;
  • Fig. 24 ist ein Diagramm, das ein Beispiel eines Hauptabschnitts des Systems zur Erzielung der Bildverarbeitung der Fig. 22-23 darstellt;
  • Fig. 25 ist ein Blockdiagramm, das ein Beispiel eines in jedem Prozessor des Systems angeordneten Eingangsregister zur Erzielung der Bildverarbeitung der Fig. 22-23 darstellt;
  • Fig. 26 ist ein schematisches Diagramm, das ein Splittingverfahren (bzw. Trennverfahren) für jenen Fall zeigt, bei dem eine Splitbearbeitung (bzw. Trennbearbeitung) auf einem Schirm in der Bildverarbeitung der Fig. 22-23 ausgeführt wird;
  • Fig. 27 ist ein Blockdiagramm zur Erläuterung des Aufbaus des Datenprozessors der Fig. 1; und
  • Fig. 28 ist ein schematisches Diagramm zur Erläuterung der Speicherinhalte im Aufbau der Fig. 27.
  • Im folgenden wird nun mit Bezug auf die begleitenden Zeichnungen eine Beschreibung eines Ausführungsbeispiels gegeben, bei dem die vorliegende Erfindung auf ein Video-Bildverarbeitungssystem angewendet wird.
  • Ein Beispiel eines Video-Bildverarbeitungssystems der Fig. 1 erzielt eine Datenverarbeitung bei höherer Geschwindigkeit und umfaßt einen Eingangs-/Ausgangsbereich 1 (IOC), einen Speicherbereich 2 (VIM) mit einem Eingangsbildspeicher 2A (VIMIN) und einem Ausgangsbildspeicher 2B (VIMOUT), einen Datenverarbeitungsbereich 3 mit einem Lageinvariant-Prozessor 3A (PIP) hauptsächlich zum Berechnen eines Pixelwerts und einem Lagevariant-Prozessor 3B (PVP) zur Erzielung einer Datenflußsteuerung, beispielsweise eine Adreß-Steuerung, und zur Ausführung einer Synchronisationssteuerung, und einem Prozessor 4 (TC) als Steuerung des gesamten Systems zur Steuerung der Ausführung der Verarbeitung, Beendigung der Verarbeitung und des Programmaustausches. Der TC4 ist mit einem Hauptcomputer 5 (HP) verbunden, um das gesamte Video-Bildverarbeitungssystem zu steuern.
  • Das IOC 1 ist derart aufgebaut, daß beispielsweise ein Videosignal von einer Videokamera 6 oder einem VTR einer A/D-Umwandlung unterzogen wird, um digitale Bilddaten zu erhalten, die dann in VIMIN 2A geschrieben werden. Des weiteren werden verarbeitete Bilddaten aus VIMOUT 2B ausgelesen und in ein analoges Videosignal mittels einer D/A-Umwandlung rückgewandelt, das dann beispielsweise in einem VTR 7 aufgezeichnet oder einem Monitorbildempfänger 8 zugeführt wird, der dann die Betrachtung eines Videobilds ermöglicht.
  • Zusätzlich werden, anders als die digitalen Daten, Signale für die externe Steuerung des VIM 2, beispielsweise ein Taktsignal, ein dominantes Modussignal, eine Adresse oder ein Schreibsteuerungssignal, von dem IOC 1 geliefert.
  • In diesem Fall sind die Signale, die vom IOC 1 eingegeben oder ausgegeben werden können, Signale des NTSC-Systems oder RIG/B-Systems. Das Signalsystem wird über TC 4 spezifiziert. Darüber hinaus ist ein Pixel beispielsweise ein Datenwort mit acht Bits.
  • Eine Lese- oder Schreiboperation des VIM 2 wird als Bildgruppe ausgeführt, nämlich als Halbbild oder als Vollbild. Der VIMIN 2A und der VIMOUT 2B umfassen jeweils mehrere Speicherblätter, die ihrerseits eine Speicherkapazität entsprechend den Halbbild- oder Vollbild-Bilddaten aufweisen. Beispielsweise sind 12 Blätter mit 768 · 512 Byte Vollbildspeicher vorgesehen. In diesem Fall ist die Benutzung dieser 12 Blätter des Vollbildspeichers nicht festgelegt, d. h., die 12 Blätter können beliebig als VIMIN 2A oder VIMOUT 2B abhängig vom Verarbeitungszweck oder dem zu verarbeitenden Zielbild beliebig belegt werden. Des weiteren sind die Speicherblätter so ausgelegt, daß sie paarweise benutzt werden können, und, falls ein Blatt eines Paars im Schreibzustand ist, das andere Blatt für eine Leseoperation benutzt werden kann. Dadurch kann der IOC 1 eine Parallelverarbeitung einer externen Verarbeitung über das VIM 2 und die interne Verarbeitung über das VIM 2 durch Nutzung der PIP 3A und des PVP 3B erzielen. In diesem Fall wird das dominante Modussignal vom IOC 1 erzeugt, um zu bestimmen, ob die Blätter des Vollbildspeichers des VIM 2 von dem IOC 1 oder der PVP 3B gesteuert sind.
  • Das Modussignal wird dann dem VIM 2 zugeführt. Des weiteren werden die Adressen der zu verarbeitenden digitalen Daten, das Schreibsteuersignal, das Lesemodussignal, und das Datenauswahlsignal zur internen Steuerung des VIM 2 von der PVP 3B dem VIM 2 zugeführt. Anschließend werden die an der Adresse gespeicherten Daten zur PIP 3A zur Verarbeitung übertragen.
  • Weiterhin werden die im PIP 3A verarbeiteten Daten dem VIM-System 2 zugeführt, und dann werden eine Adresse und andere Informationen von dem PVP 3B dem VIM 2 zugeführt.
  • Daraus ergibt sich, daß die derart verarbeiteten digitalen Daten in das VIM 2 eingeschrieben werden.
  • Des weiteren werden eine Adresse und andere Informationen vom VIM 2 auch zum IOC 1 geführt, das dafür sorgt, daß die als Ergebnis ausgelesenen digitalen Daten dem IOC 1 zugeführt werden. Anschließend werden die digitalen Daten in ein vorbestimmtes analoges Videosignal mittels einer D/A-Umwandlung und anderer Verarbeitungen umgewandelt, um dann zu einem Ausgangsanschluß übertragen zu werden.
  • Der Datenverarbeitungsbereich 3 besitzt einen Prozessor und liest die im VIMIN 2A gespeicherten Bilddaten entsprechend einem Programm des Prozessors und unterzieht diese verschiedenen Datenbearbeitungen. Dann werden die verarbeiteten Daten in den Ausgangsbildspeicher 2B eingeschrieben.
  • Der Datenverarbeitungsbereich 3 ist in das PIP 3A und das PVP 3B unterteilt. Daraus ergibt sich im Vergleich mit dem herkömmlichen Datenverarbeitungsbereich, der eine Verarbeitungszeit benötigt, die der gesamten Verarbeitungszeit dieser Unterbereiche entspricht, daß der Datenverarbeitungsbereich 3 nur die größere Verarbeitungszeit aufgrund dieser Unterabschnitte benötigt. Somit verwirklicht dieses Beispiel eine Hochgeschwindigkeitsverarbeitung, die es beinahe erlaubt, die Videodatenverarbeitung in Echtzeit auszuführen.
  • Der Prozessor des Datenverarbeitungsabschnitts 3 umfaßt ein Prozessorblatt oder mehrere Prozessorblätter. Das Mikroprogramm, das im Mikroprogramm gespeichert ist, kann geändert werden, falls die Verarbeitungsmöglichkeiten ausgedehnt werden sollen.
  • Das Mikroprogramm wird zeitweise vom HC 5 zum TC 4 geführt und in einem darin angeordneten Rahmen gespeichert. Danach wird beispielsweise das Mikroprogramm vom TC 4 zu jedem Prozessor geführt, womit das Mikroprogramm geändert wird, abhängig von einem Programmänderungswunsch des Benutzers, indem der entsprechende Schalter eingeschaltet wird.
  • Der PIP 3A und der PVP 3B besitzen jeweils die gleiche Architektur und sind unabhängige Prozessoren, wobei jeder einen Steuerungsabschnitt, einen Arithmetikabschnitt, einen )Speicherabschnitt und einen Eingangs-/Ausgangsanschluß umfaßt. Diese Systeme sind jeweils in einer Multiprozessor-Konfiguration aufgebaut, die mehrere Prozessoreinheiten umfaßt, in denen eine Hochgeschwindigkeits-Verarbeitung hauptsächlich entsprechend dem Paralellverarbeitungsschema implementiert ist.
  • Der PIP 3A hat beispielsweise 60 Blätter von PIP-Prozessoren und einige Blätter von Hilfsprozessoren, so daß die Bearbeitung der Bilddaten vom VIM 2 erreicht wird oder die Bilddaten im PIP 3A generiert werden.
  • Der PVP 3B umfaßt beispielsweise 30 Blätter von Prozessoren, um den Fluß der internen Bilddaten hinsichtlich des VIM 3 zu steuern, beispielsweise um die Belegung und Wiederherstellung der vom VIM 2 erhaltenen Bilddaten auf dem PIP 3A zu bewirken.
  • D.h., daß der PVP 3B Adreßdaten und ein Kontrollsignal erzeugt und diese dem VIM 2 zuführt. Der PVP 3B erzeugt das Eingangs./Ausgangssteuerungssignal des PIP 3A und weitere Steuerungssignale und führt sie dem PIP 3A zu. Bei der Bilddatenverarbeitung werden nicht nur die Daten von einem Vollbild des Eingangsbildspeichers 2A verarbeitet und diese verarbeiteten Daten in den Ausgangsbildspeicher 2B geschrieben, sondern werden auch die in mehreren der Vollbildern von mehreren Blättern der Vollbildspeicher gespeicherten Daten verarbeitet. Zusätzlich ist die im PIP 3A und im PVP 3B zu verarbeitende Bit-Anzahl 16 bei einer Standardspezifikation. Der Arithmetikverarbeitung der Bilddatenverarbeitung wird ermöglicht, mit einer Verarbeitungsgeschwindigkeit zu arbeiten, bei der ein Vollbild verarbeitet werden kann, d. h. daß die Echtzeitverarbeitung für die Bilddaten eines Vollbilds erzielt werden kann. Natürlich gibt es auch eine Verarbeitung, die mehr Verarbeitungszeit benötigt, als für ein Vollbild.
  • In diesem Fall wird die Bilddatenverarbeitung der PIP 3A und PVB 3B in Synchronisation mit dem Vollbild erreicht. Demnach wird dem PVB 3B ein Verarbeitungsstart-Synchronisationssignal PS, das mit dem Vollbild synchronisiert ist, vom IOC 1 zugeführt. Das PS-Signal besitzt normalerweise einen hohen Pegel und wird auf einen niederen Pegel gesetzt, wenn die Verarbeitungsstart-Synchronisation erkannt wird.
  • Andererseits führt der PVP 3B dem IOC 1 ein Signal OK zu, das das Ende einer Verarbeitung anzeigt. Dieses Signal OK wird von dem ersten Prozessor der Prozessoren des PVP 3B ausgegeben, falls die Verarbeitung beendet ist, wobei der Prozessor die Synchronisation des Verarbeitungssystem steuert.
  • D.h., daß im Schritt 101 des Programmablaufdiagramms der Fig. 2 als ein Beispiel einer Vorrichtung zur Ausgabe eines Signals OK vom Prozessor, der erste Prozessor des PVP 3B softwaremäßig erfaßt, daß das Verarbeitungsstart-Synchronisationssignal PS vom IOC 1 auf einen niederen Pegel gesetzt ist. Falls erkannt wird, daß das Signal PS auf einen niederen Pegel gesetzt ist, beginnt der Prozessor mit seiner Verarbeitung und gibt ein Synchronisationssignal TS durch die Benutzung eines Programms an die anderen Prozessoren aus, die den PIP 3A umfassen. Anschließend liefert der Prozessor eine Adresse an das VIM 2, liest Bilddaten aus dem VIM 2 und führt eine Verarbeitung im PIP 3A (Schritt 102) aus.
  • Falls die Verarbeitung beendet ist, wird das Signal OK ausgegeben und die Verarbeitung beendet (Schritt 103), um auf das nächste Verarbeitungsstart-Synchronisationssignal PS (Schritt 101) zu warten.
  • Das Signal PS wird durch das IOC 1 wie folgt erzeugt.
  • Das IOC 1 ist beispielsweise wie in Fig. 3 gezeigt konfiguriert.
  • D.h., daß die PLL-Schaltung 11 zur Erzeugung eines Takts den Takt erzeugt, der beispielsweise für die Phase des Hilfsträgers des Eingangsvideosignals verriegelt bzw. geregelt wird. Die Schnittstelle 12 führt eine Teilung des Takts der PLL-Schaltung 11 aus und verzögert einige der resultierenden Signale. Dann werden die erhaltenen Signale zu den relevanten Bereichen des IOC 1, des VIMIN 2A und des VIMOUT 2B übertragen.
  • Im A/D-Wandler 13 wird das Eingangsvideosignal durch Benutzung eines Abtasttakts (z. B. 14,32 MHz) von der Schnittstelle 12 in digitale Bit-Daten umgewandelt, in denen für jede )Abtastung 8 Bit erzeugt werden.
  • Die Eingangsschaltung 14 wird mit digitalen Bilddaten vom A/D-Wandler 13 versorgt, und die Daten werden zum VIMIN 2A übertragen und darin eingeschrieben.
  • In diesem Fall wird ein Signal, das das Signalsystem (NTSC- oder R/G/B-System) spezifiziert, von dem TC 4 zu der Eingangsschaltung 14 geführt. Für das TC-Signal werden zwei Blätter von Vollbildspeichern (oder mehr als zwei Blätter) dem Eingangsbildspeicher zugeordnet, und die Daten werden abwechselnd in den Speicher eingeschrieben. Andererseits werden für das R/G/B-Signal sechs Blätter des Vollbildspeichers aus den zwölf Blättern dem Eingangsbildspeicher zugeordnet, und die Daten werden abwechselnd in zwei Blätter des Vollbildspeicher für jede Grundfarbe eingeschrieben. Die Daten werden aus irgendeinem der Vollbildspeicher ausgelesen, bei dem die Schreiboperation nicht durchgeführt wurde. Wie zuvor beschrieben, werden die im Speicher gespeicherten Bilddaten vom IOC 1 getrennt, und der Datenfluß wird dann durch den PVP 3B gesteuert.
  • In diesem Fall liefert diese Eingangsschaltung 14 der VIMIN 2 nur die effektiven Signale des Bildsignals, aus dem die Sync-Signal- und die Farbsynchronisationssignal-Bereiche entfernt sind. Das erhaltene Signal wird dann in die Vollbildeinheiten eingeschrieben entsprechend dem von dem Interface 12 gelieferten Takt. Zusätzlich werden in der Eingangsschaltung 14 die Phase des Farbsynchronisationssignals im Videosignal und die Phase des Taktes verglichen, und das Vergleichsergebnis wird als ein Phasensteuerungssignal der PLL-Schaltung 11 zugeführt. Der Takt von der PLL-Schaltung 11 wird einer Phasenverriegelung bzw. Phasenregelung hinsichtlich des Hilfsträgers im Videosignal unterzogen.
  • Des weiteren werden ein Signal zur Extrahierung des Farbsynchronisationssignals, ein Gültigkeits-Ungültigkeitssignal, das anzeigt, ob das Synchronisationssignal und das Farbsynchronisationssignal im Bildsignal enthalten sind, ein Vollbildstartsignal FL, das die erste Zeile jedes Vollbilds kennzeichnet, ein Signal, das die Vertikalaustastung jedes Halbbilds kennzeichnet, und ein Videoideesignal mit einem Signal, das den Start jeder Zeile kennzeichnet, erzeugt und darin benutzt. Darüber hinaus werden diese Signale zur Verarbeitung zur Ausgangsschaltung 15, die später beschrieben wird, geführt.
  • Die Ausgangsschaltung 15 wird mit den verarbeiteten Videodaten versorgt, die aus dem VIMOUT 2B Vollbild für Vollbild ausgelesen werden.
  • In den derart ausgelesenen Daten, enthält das Sync-Signal nicht das Farbsynchronisationssignal. Demgemäß umfaßt die Ausgangsschaltung 15 ein ROM zur Erzeugung eines Sync-Signals, ein Farbsynchronisationssignal und ein Vertikalaustastungssignal. In dem NTSC-Signalsystem werden die Daten vom VIMOUT 2B zum D/A-Wandler zusammen mit dem Sync-Signal, dem Farbsynchronisationssignal und dem Vertikal-Austastungssignal (nach einer Neuordnung, falls notwendig) übertragen.
  • Falls die Signale drei Grundfarben darstellen, wird zusätzlich ein externes Sync-Signal benötigt. Das Sync-Signal wird durch diese Ausgangsschaltung 15 neu erzeugt und Schaltungen, bspw. für den Monitor, zugeführt.
  • Darüber hinaus erzeugt die Ausgangsschaltung 15 ein Signal zur Steuerung des VIM 2. Ein Hauptmodussignal zur Kennzeichnung, ob das VIM 2 in einem Modus ist, bei dem es durch das IOC 1 oder durch den PVP 3B gesteuert wird, wird erzeugt und dem VIM 2 zugeführt.
  • Aus den Speicherblättern des VIM 2 wird nur ein Speicher vom IOC 1 gesteuert, dem Eingangsdaten geliefert werden oder von dem Ausgangsdaten entsprechend dem Haupttypmodussignal ausgelesen werden. Die Umschaltzeit des Haupttypmodussignals wird abhängig vom Signal OK bestimmt.
  • Die Ausgangsschaltung 15 erzeugt des weiteren ein Adreß-Signal des VIM 2 und ein Schreibfreigabesignal zur Steuerung einer Lese-/Schreiboperation. Die Signale werden dem Speicher unter der Steuerung des IOC 1 in Verbindung mit dem VIM 2 übertragen. Der Speicher, der vom PVP 3A dominiert wird, wird mit der Adresse und anderen Steuerungssignalen von dem PVP 3B versorgt.
  • Des weiteren erzeugt die Ausgangsschaltung 15 ein Verarbeitungsstart-Synchronisationssignal PS aus dem Vollbildstartsignal FL, das die erste Zeile jedes Vollbilds von der Eingangsschaltung 14 anzeigt, und aus dem Verarbeitungsendsignal OK vom PVP 3B.
  • D.h., daß bei einem Beispiel einer Vorrichtung zur Erzeugung des Signals PS wie in Fig. 4 gezeigt, das Vollbildstartsignal FL für eine Taktperiode zum Startzeitpunkt jedes Vollbilds (Fig. 5A) auf einem niederen Pegel ist. Das Vollbildstartsignal FL wird um eine Taktperiode in der Verzögerungsschaltung 17 verzögert und dann dem Löschanschluß des Flipflops 18 zugeführt. Andererseits wird am Ende der Verarbeitung der Taktanschluß des Flipflops 18 mit einem Signal OK vom PVP 3B versorgt, um das Flipflop auf einen hohen Pegel für eine Taktperiode zu setzen (Fig. 5B).
  • Darüber hinaus ist der D-Eingang des Flipflops 18 immer auf hohem Pegel. Bis das Signal OK empfangen wird, wird demnach dieses Flipflops 18 durch das Vollbildstartsignal FL gelöscht und somit der Q-Ausgang DP (Fig. 5C) auf einem hohen Pegel gehalten.
  • Falls das Signal OK empfangen wird, wird der Ausgang DF dieses Flipflops 18 auf einen niederen Pegel gesetzt.
  • Der Ausgang DF wird dem ODER-Gatter 19 zugeführt. Das ODER-Gatter 19 wird ebenfalls mit einem Vollbildstartsignal FL versorgt. Das Ausgangssignal dieses ODER-Gatters 19 ist das Signal PS (Fig. 5D), und falls das Vollbildstartsignal FL empfangen wird, wenn das Ausgangssignal DF auf einem niederen Pegel ist, wird der Ausgang PS auf einen niederen Pegel gesetzt für eine Zeitdauer, in der das Signal FL auf einem niederen Pegel ist.
  • Nur wenn das Signal OK erhalten wird, kann das Verarbeitungsstart-Synchronisationssignal PS, das mit dem Vollbild synchronisiert ist, gewonnen werden. Falls eine Echtzeitverarbeitung ausgeführt wird, wird das Signal OK für jedes Vollbildende erhalten, und somit wird das Signal PS identisch mit dem Vollbildstartsignal FL.
  • Falls die Verarbeitungszeit länger als ein Vollbild ist, unterscheidet sich andererseits das Signal PS von der Vollbildperiode und kann erst beim nächsten Vollbild, das einem Ausgang des Signal OK folgt, erhalten werden.
  • In diesem Fallbeispiel können für die Bilddatenverarbeitung folgende drei Modi gewählt werden.
  • 1. Eine Verarbeitung wird einmal für N-Vollbilder ausgeführt. Die Echtzeitverarbeitung wird für N = 1 ausgeführt.
  • 2. Das Vollbild, das dem Zeitpunkt folgt, bei dem die vorhergehende Verarbeitung beendet ist, wird automatisch für die Verarbeitung abgefragt.
  • 3. Das Vollbild, das dem durch den Benutzer beispielsweise durch einen Druckknopf gekennzeichneten Zeitpunkt folgt, wird für diese Verarbeitung abgefragt.
  • Obwohl in dem zuvor beschriebenen Fall die gesamte Datenverarbeitung automatisch ausgeführt wird, ohne menschlich einzugreifen, wird das Vollbild, das dem Zeitpunkt folgt, bei dem die vorhergehende Verarbeitung beendet ist, automatisch für die Verarbeitung abgefragt bzw. abgerufen. Es ist ebenfalls möglich, um dem Benutzer die Verarbeitung der gewünschten Vollbilddaten zu ermöglichen, zu diesem Zweck einen manuellen Schalter vorzusehen. Falls der Benutzer ein Vollbild zur Verarbeitung kennzeichnet, wird das Signal PS beim spezifizierten Vollbild ausgetastet, d. h. das Signal PS wird nur zum Startzeitpunkt des spezifizierten Vollbilds erhalten.
  • Da bei dieser Erfindung das Verarbeitungsstart-Synchronisationssignal nach einem Signal erzeugt wird, das anzeigt, daß das Datenverarbeitungsende von dem Datenverarbeitungsbereich empfangen wurde, tritt keine Inkonsistenz in der Weise auf, daß das nächste Verarbeitungsstartsignal erzeugt wird, bevor die vorhergehende Verarbeitung beendet ist.
  • Darüber hinaus muß die Verarbeitungsstart-Synchronisation nicht mit einem Verarbeitungszeitrand bzw. einer Verarbeitungszeitreserve bestimmt sein, wodurch eine effektive Datenverarbeitung erreicht werden kann.
  • Die Bilddatenverarbeitung wird wie zuvor beschrieben durchgeführt.
  • Im Datenverarbeitungsbereich 3 wird ein Bildprozessor zur Erzielung der Computerverarbeitung eingesetzt. In diesem Fall wird durch Nutzung der Charakteristik der Bilddaten, die gewöhnlich in einem zweidimensionalen Feld angeordnet sind, ein Verfahren zur Anordnung mehrerer Einheitsprozessoren, deren jeder den gleichen Aufbau besitzt, und zum gleichzeitigen und simultanen Betrieb der Prozessoren als ein Verfahren zur Verarbeitung der Bilddaten mit hoher Geschwindigkeit benutzt.
  • In einem System, in dem mehrere Hilfssysteme miteinander zusammenarbeiten, um eine Verarbeitung auszuführen, ist es notwendig, die Ablaufsynchronisation zur Kennzeichnung des Verarbeitungsstarts und Verarbeitungszweigs jedes Prozessors korrekt zu steuern.
  • Zusätzlich zu dem Fall, bei dem mehrere Prozessoren mit genau der gleichen Arbeitssynchronisation gesteuert werden, gibt es Fälle, bei denen eine unterschiedliche Synchronisation benötigt wird, nämlich wenn jeder Prozessor mit einer leichten Zeitdifferenz gestartet werden muß. Als ein Verfahren zur Steuerung dessen Synchronisation ist es allgemein bekannt, eine unabhängige Synchronisationssteuerung zu bewirken, indem ein Betriebssynchronisationssignal zu jedem Hilfssystem unabhängig gesendet wird, anstatt die Synchronisationssteuerung mit einem Synchronisationssteuerungssystem auszuführen.
  • Wenn jedoch jedes Hilfssystem unabhängig gesteuert wird, wird eine gleiche Anzahl von Synchronisationssteuerungsleitungen und Hilfssystemen benötigt, was zu einer Vergrößerung des Synchronisationssteuerungssystems 100 führt.
  • Um diese Schwierigkeit zu überwinden, wird erfindungsgemäß, wie in Fig. 6 gezeigt, das Synchronisationssignal von mehreren Hilfssystemen geteilt.
  • Im Aufbau der Fig. 4, die den Synchronisationssteuerungsbereich zeigt, ist ein Synchronisationssteuerungsprozessor 30 als Hauptprozessor im PVP 3B, wie zuvor beschrieben, angeordnet. Der Prozessor 30 wird mit dem Verarbeitungsstartsignal PS vom IOC 1 versorgt. Das IOC 1 wird darüber hinaus mit dem Verarbeitungsendsignal OK vom Prozessor 30 versorgt.
  • Falls erkannt wird, daß das Verarbeitungsstartsynchronisationssignal PS auf einem niederen Pegel ist, sendet der Prozessor 30 als Synchronisationssignal TS ein Zeitseriensignal mit einer Breite von einem Bit zu den anderen Prozessoren 31, 32, 33, etc. im PVP 3B. Des weiteren wird das Synchronisationssignal TS auch zu den Prozessoren 34, 35, 36, etc. des PIP 3A übertragen. In diesem Fall werden die 60 Blätter von Prozessoren im PIP 3A gruppenweise gesteuert, wobei jede Gruppe zehn Blätter von Prozessoren umfaßt.
  • Die Prozessoren 31, 32, 33, etc. und 34, 35, 36, etc. sind jeweils mit einem Decodierer für das Synchronisationssignal TS versehen.
  • In einem in Fig. 7 gezeigten Beispiel des Decodierers umfaßt dieser ein Schieberegister 37, eine Bit-Mustersetzeinheit 38 und einen Vergleicher 39. Das Schieberegister 37 empfängt sequentiell das Synchronisationssignal TS vom Steuerungsprozessor 30. In diesem Fall wird der Schiebetakt des Schieberegisters 37 mit dem Übertragungssynchronisationstakt des Synchronisationssignals PS synchronisiert. Oder der Schiebetakt besitzt eine Frequenz, die höher ist als die Frequenz des Übertragungssynchronisationstakts.
  • Das Synchronisationssignal TS wird Bit für Bit übertragen abhängig vom Übertragungssynchronisationstakt, so daß das Signal in das Schieberegister 37 derart geholt wird, daß beispielsweise ein Bitmuster von fünf Bits sequentiell Bit für Bit verschoben wird. Ein besonderes Bitmuster, das für jeden Prozessor spezifisch ist, wird von der entsprechenden Bit-Mustersetzeinheit 38 gesetzt.
  • Der Vergleicher 39 vergleicht das 5-Bit-Muster des Synchronisationssignals TS, das im Schieberegister 37 gespeichert ist, mit dem 5-Bit-Muster in der Setzeinheit 38. Falls die Muster übereinstimmen, wird das Betriebssynchronisationssignal TP des Prozessors, auf den der Decodierer gesetzt ist, vom Vergleicher 39 geliefert.
  • Nimmt man beispielsweise an, daß ein Bit-Muster (1001) in der Setzeinheit 38 enthalten ist, generiert der Vergleicher ein Betriebssynchronisationssignal TP zu dem Zeitpunkt, an dem das Bit-Muster des Schieberegisters 37, das sich bei jedem Übertragungstakt ändert, (1001) wird.
  • Falls deshalb ein Bit-Muster, das von der Bit-Mustersetzeinheit 38 jedes Decodierers der Prozessoren 31, 32, 33, etc. und 34, 35, 36, etc., gesetzt werden soll, jedem Prozessor zugeteilt wird, wird das Betriebssynchronisationssignal TB jeweils zu einem spezifischen Zeitpunkt erzeugt.
  • In diesem Fall sichert der Synchronisationssteuerungsprozessor 30 das Bit-Muster der Setzeinheit 38 jedes Decodierers der Prozessoren und führt eine Arithmetikverarbeitung aus, um beispielsweise die Übertragungssequenz (0111) des Synchronisationssignals TS zu bestimmen, so daß ein gewünschtes Betriebssynchronisationssignal jedem Prozessor zugeführt werden kann. Dann wird das Synchronisationssignal TS zu den Prozessoren geführt, wodurch die Synchronisationssteuerung jedes Prozessors erreicht wird.
  • In diesem Fall kann das Bit-Muster, das von der Bit-Mustersetzeinheit 38 gesetzt wird, Daten enthalten, deren Bitanzahl größer oder gleich der Bitanzahl des Schieberegisters 37 ist. Des weiteren kann die Anzahl der Bits für jedes Register variieren. Wird bspw. die Verarbeitung gestartet, wenn (101) und (1001) für die Prozessoren 31 bzw. 34 erkannt werden, falls ein Zeitseriensignal (1) . . . (11011) . . . (10011) . . . als Synchronisationssignal übertragen wird, können die Prozessoren 30 und 34 bei der vorhergehenden Synchronisation von (101) bzw. bei der nachfolgenden Synchronisation (1001) betrieben werden.
  • Startet die Verarbeitung, wenn (10) und (100) für die Prozessoren 32 bzw. 33 erkannt werden, sofern ein Zeitseriensignal (1) . . . (11011) . . . als Synchronisationssignal übertragen wird, kann der Prozessor 33 bei der vorhergehenden Synchronisation betrieben werden, die durch einen Übertragungstaktzyklus hinsichtlich des Prozessors 32 verzögert wurde.
  • Ohne den Decodierer wie in Fig. 5 gezeigt anzuordnen, kann jeder Prozessor eine Software-Verarbeitung durchführen, um das Bit-Muster zu erkennen, womit die Betriebssynchronisation erhalten wird.
  • Außer den zuvor beschriebenen Bit-Mustern kann darüber hinaus (1) übertragen werden, anders als die Übertragung des Synchronisationssignal TS, und (0) kann bei der Übertragung des Synchronisationssignals TS gesendet werden, so daß jeder Prozessor die Häufigkeit von (1) zählt, um die Betriebssynchronisation zu bestimmen. In diesem Fall kann die Häufigkeit für jeden Prozessor geändert werden, um die spezifische Betriebssynchronisation für jeden Prozessor zu bestimmen.
  • Wie zuvor beschrieben, kann das Synchronisationssignal TS neben einer Breite von einem Bit auch mehrere Bits breit sein. In einem solchen Fall wird jedoch das Bit-Parallelsignal mit mehreren Bits zur Verwendung als Synchronisationssignal erforderlich. Somit werden mehrere Übertragungsleitungen benötigt. Bei einer Signalbreite von einem Bit wird jedoch nur eine Übertragungsleitung erforderlich.
  • Wie zuvor beschrieben, wird erfindungsgemäß das Synchronisationssignal unter mehreren Hilfssystem geteilt, und die Decodierungsverarbeitung des Synchronisationssignals in jedem Hilfssystem, nämlich der Algorithmus zur Erfassung der Betriebssynchronisation jedes Hilfssystems, wird geändert, wodurch ermöglicht wird, daß die jeweilige Verarbeitungssynchronisation den mehreren Hilfssystemen durch Benutzung einer Hardware geringer Größe zugeführt wird.
  • Die Prozessoren, aus denen der PIP 3A und der PVP 3B besteht, umfassen jeweils einen Steuerungsbereich, der mit einem darin gespeicherten Mikroprogramm versehen ist zur Ausgabe eines Mikrobefehls und einen Arithmetikbereich zur Ausführung einer Arithmetikoperation entsprechend dem Mikrobefehl. Die Eingangsdigitaldaten werden dem Arithmetikbereich zugeführt. Ein Teil der Informationen des Arithmetikabschnitts wird dem Steuerungsabschnitt zugeführt, so daß die Arithmetikinformation zum Programm reflektiert wird. Das Ergebnis der Arithmetikoperation wird als Ausgangsdigitaldaten von dem Arithmetikabschnitt erhalten.
  • Der Arithmetikbereich des Prozessors umfaßt einen Multiplizierer, einen Addierer/Subtrahierer und einen Faktorspeicher zum Speichern von Faktoren oder Koeffizienten, die für die arithmetische Operation notwendig sind, beispielsweise für Sinus R und Cosinus R.
  • In dem zuvor beschriebenen Prozessor gibt es zusätzlich zu der Signalwertberechnung zur Berechnung eines Ausgangsdatenwerts aus den Eingangsdaten verschiedenartige Werte, die mit anderen als der Signalwertberechnung verbunden sind, beispielsweise eine Adresse zur Bestimmung eines Faktors, der aus dem Faktorspeicher ausgelesen werden soll und einen Zähler einer sogenannten DO-Schleife, der entsprechend dem Verarbeitungsinhalt bestimmt werden sollen.
  • Falls die Berechnung der verschiedenen Werte, die nicht die Signalwertberechnung betreffen, auch durch Benutzung des die Signalwertberechnung ausführenden Arithmetikbereichs ausgeführt wird, wird insbesondere dafür Berechnungszeit benötigt, was die Datenverarbeitungsgeschwindigkeit senkt. Fig. 8 ist ein Blockdiagramm, das die gesamte Konfiguration eines Beispiels eines Prozessors für die digitale Verarbeitung, die im erfindungsgemäßen Datenprozessor benutzt wird, zeigt.
  • In diesem Beispiel wird der Mikrobefehl von dem Steuerungsabschnitt 100 zum Hauptarithmetikabschnitt 300 und zum Hilfsarithmetikabschnitt 200 geführt. Der Hauptarithmetikabschnitt 300 wird mit Eingangsdaten versorgt, die dann einer Signalwertberechnung unterzogen werden. Anschließend werden Ausgangsdaten generiert und geliefert.
  • Der Hilfsarithmetikabschnitt 200 erzeugt Adressen des Faktorspeichers und des Datenspeichers, der im Hauptarithmetikabschnitt 300 angeordnet ist, wie später beschrieben, und führt eine Berechnung zum Erhalt der Anzahl der Wiederholungen der DO-Schleife aus. Die Adressen und die DO-Schleifenwiederholungsanzahl werden zum Hauptarithmetikabschnitt 300 bzw. dem Steuerungsabschnitt 100 zugeführt. Fig. 9 ist ein Blockdiagramm, das ein Beispiel des Hauptarithmetikabschnitts 300 zeigt, in dem zwei Systeme von Datenoperationseinheiten jeweils für acht Bit-Operationen für die allgemeine Verarbeitung vorgesehen sind, so daß eine 16-Bit-Datenverarbeitung im System als Ganzes möglich ist.
  • D.h., daß die Arithmetikeinheiten 300X und 300Y jeweils genau die gleiche Konfiguration aufweisen. Folglich werden gleiche Bezugszeichen zusammen mit einem nachgestellten Buchstaben X oder Y den entsprechenden Abschnitten zugeordnet.
  • Die erste Arithmetikeinheit 300X umfaßt einen Multiplizierer 311X, einen Addierer/Subtrahierer 312X, einen Faktorspeicher 313X, einen Datenspeicher 314X, mehrere Register 321X-328X und einen Tri-State-Puffer 331X-338X.
  • Der Steuerungsabschnitt 100 überträgt Mikrobefehle, um anzugeben, ob die Ausgänge der Register 321X-328X freigeschaltet werden sollen, ob die Daten abgerufen werden sollen oder ob der Multiplizierer 311 betrieben werden soll.
  • Die Tri-State-Puffer 331X-338X werden ebenfalls durch Mikrobefehle gesteuert.
  • In der ersten Arithmetikeinheit 301X werden die Eingangsdaten dem Register 321X zugeführt, und das Register 328X liefert Ausgangsdaten.
  • Der Faktorspeicher 313X enthält die Faktor- oder Koeffizientdaten, wie beispielsweise Cosinus R und Sinus R. Falls ein Adreßsignal vom Hilfsarithmetikabschnitt 200 über das Register 341XY zu dem Faktorspeicher 313 übertragen wird, wird ein Faktor, der für eine Signalwertberechnung notwendig ist, entsprechend ausgelesen.
  • Der Datenspeicher 314X wird benutzt, um die erzeugten Ausgangsdaten, falls notwendig, zu speichern. Falls ein Adreßsignal von dem Hilfsarithmetikabschnitt 200 über das Register 342XY zum Datenspeicher 314X geführt wird, werden die Daten entsprechend ausgelesen.
  • Die zweite Arithmetikeinheit 300Y ist gleich aufgebaut, wobei die Eingangsdaten dem Register 321Y zugeführt werden, und das Register 328Y Ausgangsdaten liefert. Eine Adresse vom Hilfsarithmetikabschnitt 200 wird über das Register 341XY zum Faktorspeicher 313Y übertragen, wobei eine Adresse vom Hilfsarithmetikabschnitt 200 über das Register 342XY zum Datenspeicher 314Y geführt wird.
  • In diesem Fall sind die erste Arithmetikeinheit 300X und die zweite Arithmetikeinheit 301Y so ausgestaltet, daß 16-Bit-Daten verarbeitet werden können, d. h. 32-Bit-Daten können als Ganzes im System verarbeitet werden. Das System ist so aufgebaut, daß eine allgemeine Verarbeitung erzielt wird, so daß die Verarbeitung durch entweder die erste oder die zweite Arithmetikeinheit 300X und 300Y bewirkt werden kann. Darüber hinaus werden die Ausgangssignale der Addierer/Subtrahierer 312X und 312Y den Registern 323Y bzw. 323X zugeführt, wohingegen die Ausgangssignale der Register 327X und 327Y zu dem Register 324 und dem Multiplizierer 311 bzw. dem Register 324X und dem Multiplizierer 31 1X geliefert werden, wodurch eine Informationskommunikation zwischen den Arithmetikabschnitten 300X und 300Y ermöglicht wird.
  • Des weiteren sind die Addierer-/Subtrahierereinheiten 312X und 312Y miteinander verbunden, indem ein Verbindungsabschnitt 305 verwendet wird. Falls ein bestimmtes Auswahlsignal dem Verbindungsabschnitt 350 zugeführt wird, kann der Betrieb zwischen zwei Modi gewechselt werden, nämlich ob die entsprechenden Addierer-/Subtrahierereinheiten 312X und 312Y jeweils als ein 16-Bit-Addierer/Subtrahierer mit einfacher Genauigkeit arbeiten oder zwei Addierer-/Subtrahierereinheiten 312X und 312Y als eine Einheit arbeiten, um als 32-Bit-Addierer/Subtrahierer mit doppelter Genauigkeit zu funktionieren.
  • In diesem Beispiel sind die Addierer-/Subtrahierereinheiten 312X und 312Y jeweils als ein 16-Bit-Addierer/Subtrahierer aufgebaut, die beispielsweise vier Mikroprozessoren von Am 2901 von AMD als eine Einheit umfassen. Der Addierer/Subtrahierer umfaßt beispielsweise ein RAM, das 16 Datenworte von 16-Bit-Daten speichern kann. Die 16-Bit-Datenworte sind so angeordnet, daß sie in Spaltenrichtung entsprechend den numerischen Verhältnissen, wie beispielsweise 1/2-mal, 2-mal, und so weiter, verschoben werden können.
  • In einem Parallelverarbeitungssystem basierend auf dem zuvor erwähnten Multiprozessoraufbau, führt das TC 4 eine Steuerung in drei Modi, die später beschrieben werden, aus, wodurch eine Verarbeitungsausführung, die Verarbeitungsbeendigung und die Programmübertragung (Wechsel) ohne jegliche Inkonsistenz ermöglicht werden.
  • Fig. 10 zeigt die Verbindungsverhältnisse zwischen dem TC und dem Steuerungsabschnitt 100 eines der vielen Prozessoren des PIP 3A und des PVP 3B. Dieser Aufbau wird bei allen Prozessoren angewendet, um den Programmwechsel zu bewirken.
  • In diesem Diagramm bilden die Komponenten außer dem TC 4 ein Beispiel des Aufbaus des Steuerungsabschnitts des Prozessors. Die Mikroprogrammsteuerung 101 generiert Adressen des Mikroprogrammspeichers 111- 114a und 114b, die sich aus dem RAM zusammensetzen. Aus dem Mikroprogrammspeicher 111 werden beispielsweise vier Befehls-Bits erhalten, um einen von mehreren Befehlen der Mikroprogrammsteuerung 110 auszuwählen. Die Befehls-Bits werden über ein Register 115 einem Befehlsanschluß 1 der Steuerung 110 zugeführt. In diesem Fall besitzt die Steuerung 16 verschiedene Befehle.
  • Darüber hinaus wird die Auswahlvorrichtung 116 mit mehreren 1-Bit-Informationsdatenworten versorgt und eines dieser Datenworte wird entsprechend einer Information ausgewählt, die aus dem Mikroprogrammspeicher 112 ausgelesen wird. Die 1-Bit-Information von der Auswahlvorrichtung 116 wird als ein Bedingungskode zum Anschluß CC der Programmsteuerung 110 geführt und anschließend mit den Befehls-Bits kombiniert, so daß sie als Information benützt werden können, um die nächste Adresse als inkrementiertes Datum, eine Adresse, die direkt zum Eingangsanschluß D geführt wird, oder anderen Adressen auszuwählen.
  • Eine Information, beispielsweise eine Bestimmungsadresse eines GO-TO-Befehls oder eine Information über die Wiederholungsanzahl einer DO-Schleife, wird aus dem Mikroprogrammspeicher 113 gewonnen und wird dann im Register 117a gespeichert.
  • Aus dem Mikroprogrammspeicher 114a und 114b wird eine Information des Mikrobefehls extrahiert. Diese Information wird über das Register 118 zum Arithmetikbereich dieses Prozessors geführt, und alle oder ein Teil des Mikrobefehls wird zu der Addier-/Subtrahierlogikeinheit 201 als ein Hilfsarithmetikabschnitt 200 geführt. Die Mikroprogrammsteuerung 110 ist so ausgebildet, daß eines von drei Freigabesignalen PL, VECT und MAP abhängig vom Befehls-Bit freigegeben wird. Damit wird eines der Register 117a-117c durch das Befehls-Bit freigegeben, und die im Register gespeicherte Adresse wird als Direkteingangssignal verwendet. In den meisten Befehlen wird das Signal PL freigegeben, d. h., daß das Signal VECT oder MAP nur für bestimme Befehle freigegeben wird. Ob der direkte Eingang im Befehls-Bit-Zustand direkt ausgewählt wird, bestimmt sich abhängig vom Bedingungskode der Auswahlvorrichtung 116.
  • Beim Empfang eines Mikrobefehls, erhält die Addier-/Subtrahierarithmetikeinheit 201 durch Berechnung Adreßsignale des Faktorspeichers 313X und 313Y und des Datenspeichers 314X und 314Y des Hauptarithmetikabschnitts 300 und führt diese Adreßsignale zu den Registern 341XY und 342XY des Speichers.
  • In der Addier-/Subtrahierarithmetikeinheit 201 wird eine Information, beispielsweise die Wiederholungsanzahl einer DO-Schleife, über eine Berechnung erhalten, und dann beispielsweise zu dem Register 117b zur Speicherung geführt.
  • Die Abläufe in dem Hilfsarithmetikabschnitt 200 sind einfacher als die Signalwertberechnungen des Hauptarithmetikabschnitts 300. Deshalb kann, wie im Beispiel zuvor beschrieben, der Hilfsarithmetikabschnitt 200 hinsichtlich seiner Größe kleiner sein als die Addier-/Subtrahierarithmetikeinheit 201.
  • Falls die Hilfsarithmetikeinheit 200 wie zuvor beschrieben vorgesehen ist, beispielsweise dann, wenn eine Berechnung aller Operationen zwischen den Koeffizienten KA(a&sub1;), KA(a&sub2;), . . . KA(an) an den Adressen a&sub1;, a&sub2;, . . . an des Faktorspeichers 313X und den Daten TA (a&sub1;), TA (a&sub2;), . . . TA (an) an jeweiligen Adressen a&sub1;, a&sub2;, . . . an des Datenspeichers 314X, nämlich KA(a&sub1;) * TA(a&sub1;) * KA(a&sub2;) * TA(a&sub2;) + . . . KA(an) * TA (an), zur gleichen Zeit mit einer Berechnung der Gesamtoperationen zwischen den Koeffizienten KB(a&sub1;), KB(a&sub2;), . . . KB(an) an den Adressen a&sub1;, a&sub2;, . . . an des Faktorspeichers 313Y und den Daten TB (a&sub1;), TB (a&sub2;), . . . TB (an) an den jeweiligen Adressen a&sub1;, a&sub2;, . . . an des Datenspeichers, nämlich KB(a&sub1;) * TB (a&sub1;) + KB(a&sub2;) * TB (a&sub2;) + . . . KB(an) * TB (an), ausgeführt werden, kann die Verarbeitung in n Schritten oder etwas mehr als n Schritten ausgeführt werden im Vergleich zu den zweimal n Schritten, die im Stand der Technik notwendig sind, was eine Erhöhung der Verarbeitungsgeschwindigkeit ermöglicht.
  • Da der Hilfsarithmetikabschnitt erfindungsgemäß Werte, wie beispielsweise die Speicheradresse des Faktorspeichers des Hauptartihmetikabschnitts, der die Signalwertberechnung durchführt, berechnet, wird der Hauptarithmetikabschnitt, der normalerweise diese Adresswertberechnungen durchführt, davon entlastet, wodurch der Hauptarithmetikabschnitt nur die Signalwertberechnung ausführt, womit eine Erhöhung der Verarbeitungsgeschwindigkeit erreichbar ist.
  • Da die Operationen im Hilfsarithmetikabschnitt keine aufwendige bzw. große Hardware benötigt, wie sie es in den meisten Fällen bei der Signalwertberechnung im Hauptarithmetikabschnitt notwendig wäre, ergibt sich daraus der Vorteil, daß nur eine größenmäßig kleine Hardware zum Hilfsarithmetikabschnitt hinzugefügt werden muß.
  • Falls eine sogenannte adaptive Verarbeitung entsprechend den Informationen von dem Arithmetikabschnitt und anderen Prozessoren durchgeführt wird, wird die Auswahlvorrichtung 116 mit Informationen vom Arithmetikabschnitt und mit Informationen der anderen Prozessoren versorgt, und abhängig von diesen Eingangsinformationen wird ein Befehl, beispielsweise ein bedingter Sprung, ausgeführt.
  • Bei dem zuvor beschriebenen Programmiersystem für die adaptive Verarbeitung beeinflußt jedoch selbst eine einfach adaptive Verarbeitung, beispielsweise eine Berechnung eines Absolutwerts, den Fluß der Programmadressen aufgrund eines bedingten Sprungs oder ähnlichem.
  • Falls darüber hinaus mehrere Datenflüsse für die jeweilige Arithmetikverarbeitung in einem Prozessor existieren, ergibt sich das Problem, daß ein durch Benutzung eines solchen bedingten Kodes erzeugten Programms mit der Verarbeitung der mit den jeweiligen Datenflüssen verbundenen Daten nicht zurechtkommt.
  • Im vorliegenden Beispiel sind die Speichereinheiten 114a und 114b als Mikroprogrammspeicher vorgesehen, um dem ersten Datensystem Mikrobefehle zuzuführen.
  • Die Ausgänge der Speicher 114a und 114b werden miteinander verbunden (oder verdrahtet) und sind über das Register 118 mit dem ersten Datensystem verbunden.
  • Die Informationen vom ersten Datensystem werden als Chipauswahlsignal CS&sub1; dem Speicher 114a zugeführt und über einen Inverter 122 dem Speicher 114b. Im folgenden werden beispielhaft die Inhalte der Mikroprogrammspeicher 114a und 114b dargestellt, für den Fall, bei dem eine Berechnung von C =A + B ausgeführt wird. Adresse Inhalt des Speichers Eingabe der Daten A in ALU Prüfung des Vorzeichens von B
  • Obwohl die Inhalte der Adressen 0 und 1 des Speichers 114A und 114B übereinstimmen, variiert der Inhalt der Adresse 2 abhängig vom Vorzeichen des Datums B. Da das Signal der Digitaldaten positiv ist, falls das MSB 0 (MSB= most significant bit; höchstwertigstes Bit) ist, und das Signal negativ ist, falls das MSB 1 ist, wird das MSB des Datums B als Chipauswahlsignal CS&sub1; geliefert. Somit wird der Speicher 114A ausgewählt und eine Operation C =A + B im Arithmetikabschnitt ausgeführt, falls das MSB 0 ist, das ein positives Vorzeichen kennzeichnet. Im Gegensatz dazu wird der Speicher 114B ausgesucht und eine Operation C =A - B im Arithmetikabschnitt ausgeführt, falls das MSB 1 ist, was ein negatives Vorzeichnen kennzeichnet. Ohne den Adreßfluß zu ändern, d. h. den Programmfluß selbst, kann eine adaptive Verarbeitung, wie beispielsweise eine Berechnung eines Absolutwerts, ausgeführt werden. Unter der Voraussetzung, daß basierend auf einem Signal des einen Datensystems ein Programmspeicher in Verbindung mit Befehlen, die das Datensystem steuern, ausgesucht werden kann, kann die adaptive Verarbeitung leicht für jedes Datensystem ausgeführt werden.
  • Falls die Adreßkapazität des Programmspeichers die Programmlänge übersteigt, ist es möglich, zwei Speicher, wie beispielsweise die Speicher 114A und 114B des zuvor beschriebenen Beispiels, vorzusehen. Diese Speichereinheiten werden über eine Chipauswahloperation ausgewählt, d. h. zwei verschiedene Programminhalte werden in einen Speicher eingeschrieben, wodurch ermöglicht wird, daß eine dieser zwei unterschiedlichen Programme ausgewählt werden kann, indem Informationen vom Datensystem zum MSB der Adresse geführt werden.
  • Da erfindungsgemäß mehrere Programminhalte vorbereitet sind und eines der Programme abhängig von der Information aus dem Datensystem ausgewählt wird, kann die adaptive Verarbeitung in Verbindung mit der Information aus dem Datensystem ohne Änderung des Programmflusses einfach erzielt werden.
  • Falls darüber hinaus der 4-Bit-Befehl vom Register 115 (0000) ist, wird ein (JUMP ZERO) Befehl angenommen, und die Mikroprogrammsteuerung 110 wird derart gesetzt, daß sie eine Adresse 0 ausgibt unabhängig vom Bedingungskode.
  • Andererseits umfaßt das TC 4 ein RAM 41 zur Speicherung der Programme, die dem Mikroprogrammspeicher 111-114a und 114b zugeführt werden, und einen Adreßgenerator 42 zum Erzeugen dieser Adressen.
  • Um drei Modi zu implementieren, die den Ausführungsmodus, den Rücksetz(Halte)-Modus und den Programmwechselmodus umfassen, ist ein Modussignalgenerator 43 angeordnet, um 1-Bit-Modussignale MA und MB zu erzeugen. Darüber hinaus ist ein Schreibsignalgenerator 44 vorgesehen, um ein Programmschreibsignal für den Mikroprogrammspeicher 111-114a und 114b im Programmwechselmodus zu erzeugen.
  • Der Modussignalgenerator 43 ist beispielsweise wie in Fig. 11 gezeigt aufgebaut.
  • Schalter SWA und SWB werden durch den Bediener umgeschaltet. Jeder Schalter hat einen Eingang A, der mit einer positiven Gleichspannung beaufschlagt ist, und einen weiteren Anschluß B, der geerdet ist. Ein Signal a, das durch den Schalter SWA erhalten wird, wird einem Eingangsanschluß eines ODER-Gatters 45 zugeführt. Das durch den Schalter SWB erhaltene Signal b wird als ein Modussignal MB geliefert und zum anderen Eingangsanschluß des ODER-Gatters 45 geführt, das wiederum ein Modussignal MA liefert.
  • In diesem Fall wird der Modus wie folgt abhängig von den 1-Bit-Modussignalen MA und MB gesetzt.
  • MA = 0 MB = 0 Programm-Wechselmodus
  • MA = 1 MB = 0 Rücksetz(Halte)-Modus
  • MA=1 MB=1 Ausführungs-Modus
  • Tabelle 1
  • Falls der Schalter SWB auf den Anschluß A gesetzt wird, wird der Ausführungsmodus gewählt unabhängig vom Zustand des Schalters SWA. Falls der Schalter SWA auf den Anschluß A gesetzt ist und der Schalter SWB auf den Anschluß B, wird der Rücksetzmodus gesetzt. Falls der Schalter SWB auf den Anschluß B und der Schalter SWA auf den Anschluß B gesetzt ist, wird der Programmwechselmodus gesetzt. Wie aus der zuvor aufgeführten Tabelle 1 ersichtlich, wird die Programmausführung gestoppt, falls das Signal MB 0 ist, und das Programm wird wieder weitergeführt, falls das Signal MB 1 ist. Somit wird dieses Modussignal MB als ein Rücksetz(Halte)-Signal bezeichnet.
  • Falls andererseits das Signal MA 0 ist, ist ein Programmwechsel möglich. Dieses Modussignal MA wird deshalb als ein Wechselsignal bezeichnet.
  • Die beiden Modussignale MA und MB werden dazu benutzt, folgende jeweiligen Modi zu begründen.
  • Die Auswahlvorrichtung 120 wählt Adressen für Mikroprogrammspeicher 111 bis 1 14a und 114b aus den Adressen von der Programmsteuerung 110 und dem TC 4 aus. Als Auswahlsignal für diesen Zweck wird das Signal MA zugeführt. Falls das Signal MA 1 ist, wird die Adresse von der Mikroprogrammsteuerung 110 ausgewählt, und falls das Signal MA 0 ist, wird die Adresse vom TC 4 ausgewählt.
  • Die Torschaltung 121 blendet das Schreibsignal WR abhängig vom Gattersignal MA aus.
  • Falls das Gattersignal MA 0 ist, wird das Gatter geöffnet und das Signal WR zu jedem Schreibfreigabeanschluß WE des Mikroprogrammspeichers 111 bis 114a und 114b geführt. Falls dem WE-Anschluß des Mikroprogrammspeichers 111 bis 114a und 114b eine 0 zugeführt wird, wird der Mikroprogrammspeicher in den Schreibfreigabezustand gesetzt.
  • Darüber hinaus wird das Signal MB zum Rücksetzanschluß des Registers 115 geführt, und falls dieses Signal MB 0 ist, wird das Register 115 zurückgeführt.
  • Im TC 4 werden die Zustände der Modussignale MA und MB durch den Laststeuerungsabschnitt 46 überwacht, um die Verarbeitung im TC 4 abhängig vom Modus zu steuern.
  • Im Programmausführmodus ist das Modussignal MA 1. Daher wird eine Adresse von der Mikroprogrammsteuerung 110 von der Auswahlvorrichtung 120 erhalten. Dieses Adreßsignal wird einer Verzögerung von einem Takt durch das Register 119 unterzogen und das sich daraus ergebende Signal wird dem Mikroprogrammspeicher 111-114a und 114b zugeführt.
  • Das Ausgangssignal des ODER-Gatters 121 ist 1 immer dann, wenn das Signal MA 1 ist, und die Speicher 111 bis 114a und 114b werden deshalb nicht in den Schreibfreigabezustand gesetzt.
  • Da das Modussignal MB 1 ist, wird das Register 115 nicht zurückgesetzt, und die aus dem Mikroprogrammspeicher 111 ausgelesenen Daten werden einer Verzögerung um einen Takt im Register 115 unterzogen und dem Befehlsanschluß der Mikroprogrammsteuerung 110 zugeführt, womit ein Programm ausgeführt wird.
  • In diesem Fall wird der aus dem Mikroprogrammspeicher 114 ausgelesene Mikrobefehl um einen Takt im Register 118 verzögert und dem Arithmetikabschnitt zugeführt.
  • Im Ausführmodus sind die Pipeline-Register wie folgt ausgeführt. Ein Register 119 befindet sich zwischen der Programmsteuerung 110 und dem Programmspeicher 111 bis 1 14a und 114b, die Register 115 und 117a sind zwischen der Ausgangsseite des Mikroprogrammspeichers 111-114a und 114b und der Programmsteuerung 110 angeordnet, und ein Register (nicht gezeigt) ist mit dem Eingang der Auswahlvorrichtung 116 verbunden. Damit kann der Taktzyklus vermindert werden. D.h., daß im Bildverarbeitungssystem dieses Beispiels das Parallelverarbeitungsverfahren durch Benutzung einer Multiprozessorkonfiguration angewendet wird und das Pipeline-Verarbeitungsverfahren wie zuvor beschrieben wird jedoch auch teilweise benutzt um eine Hochgeschwindigkeitsverarbeitung zu erreichen.
  • Im Programmübertragungsmodus ist das Modussignal 0, und dadurch wird das Register 115 zurückgesetzt und (0000) dem Befehlsanschluß der Programmsteuerung 110 zugeführt. Somit wird die von der Programmsteuerung 110 gelieferte Adresse auf 0 gehalten oder der Adreßausgang wird unterbrochen. D.h., daß die Programmadressen für alle Prozessoren, die mit dem PIP 3A und dem PVP 3B verbunden sind 0 werden, wodurch ein Programmunterbrechungszustand gesetzt wird. Da andererseits das Modussignal MA auch 0 ist, wird die Auswahlvorrichtung 120 in einen Zustand gesetzt, um die Adresse vom Adreßgenerator 42 des TC 4 auszuwählen. Im Programmübertragungsmodus ist der Mikroprogrammspeicher aller Prozessoren unter der Steuerung des TC 4.
  • In diesem Fall kann das Signal MA dem Ausgangsfreigabeanschluß OE der Programmsteuerung 110 zugeführt werden, so daß der Ausgangspuffer der Programmsteuerung 110 auf Aus gesetzt wird.
  • Entsprechend dem Programm, das die vom TC 4 im Programmübertragungsmodus ausgeführte Programmübertragung durchlaufen hat, veranlaßt ein Befehl vom Laststeuerungsabschnitt 46 den Adreßgenerator 42 dazu, eine Adresse an das RAM 41 zu übertragen. Die zum Mikroprogrammspeicher 111-114a und 114b zu übertragenden Programmdaten werden aus dem RAM 41 ausgelesen. Gleichzeitig wird das Schreibsignal WR vom Schreibsignalgenerator 44 auf 0 gesetzt, und das Modussignal MA ist 0. Damit wird der Ausgang des ODER-Gatters 121 auch auf 0 gesetzt, was den Mikroprogrammspeicher 111-114a und 114b in den Schreibfreigabezustand setzt.
  • Als Konsequenz ergibt sich daraus, daß die Programmdaten vom RAM 41 sequentiell in den Mikroprogrammspeicher 111-114a und 114b abhängig von der Adresse vom Adreßgenerator 42 eingeschrieben werden, wodurch eine Programmübertragung erzielt wird.
  • In diesem Beispiel wird die Programmübertragung für jeden Prozessor sequentiell ausgeführt.
  • D.h., daß der TC 4 mit dem ROM 47 vorgesehen ist, indem das Prozessorauswahlsignal gespeichert ist. Falls ein Programm vom ROM 47 übertragen wird, wird das Prozessorauswahlsignal abhängig vorn Befehl aus dem Laststeuerungsabschnitt 46 ausgelesen. Das Prozessorauswahlsignal wird im Decodierer 48 Decodiert. Nur das Auswahlsignal SEL für den auszuwählenden Prozessor wird 0 gesetzt und die anderen Signale werden auf 1 gesetzt. Das Auswahlsignal SEL wird weiterhin dem ODER-Gatter 121 zugeführt, und nur der Mikroprogrammspeicher 111-114a und 114b des Prozessors, für den das Auswahlsignal SEL 0 ist, wird in den Schreibfreigabezustand gesetzt. Dann wird eine Programmrückschreiboperation durchgeführt.
  • Falls eine Schreiboperation im Mikroprogrammspeicher beendet ist, wird ein Prozessorsignal für einen anderen Prozessor vom ROM 47 extrahiert, und das Auswahlsignal SEL des Prozessors wird auf 0 gesetzt. In gleicher Weise wird die Programmübertragung zu diesem Prozessor erreicht. Um die Programme aller Prozessoren zu wechseln, muß die zuvor beschriebene Operation so viel Male, wie Prozessoren vorhanden sind, ausgeführt werden.
  • Falls in diesem Fall mehrere Programme zu jedem Prozessor übertragen werden müssen, oder falls mehrere unterschiedliche Programme zu jedem Prozessor übertragen werden müssen, werden diese Programme als eine Einheit in jedem Prozessor eingeschrieben. In jedem Prozessor wird das als nächstes auszuführende Programm gekennzeichnet, indem eine Ausführungsstartadresse jedem Prozessor zugeführt wird.
  • Die Ausführungsstartadresse wird vom RAM 49 extrahiert und dem Register 1 17c jedes Prozessors zugeführt. Das Auswahlsignal SEL wird als Speichersignal des Registers 117c geliefert. Sobald das Auswahlsignal von 0 nach 1 wechselt, wird die Ausführungsstartadresse gespeichert. Das Register 117c wird durch das Freigabesignal MAP von der Mikroprogrammsteuerung 110 freigegeben, und die gespeicherten Daten werden dem Direkteingangsanschluß D zugeführt.
  • Im zuvor beschriebenen Ausführungsmodus wird, falls ein Programm startet, die Adresse von diesem Register 117c von der Programmsteuerung 110 abgerufen, die ihrerseits die von der abgerufenen Adresse beginnenden Adressen erzeugt.
  • Auf diese Art werden ein Programm und deren Ausführungsstartadresse sequentiell zu einem Prozessor übertragen.
  • Die Ausführungsstartadresse für jeden Prozessor, die im RAM 49 gespeichert ist, wird vom Hauptcomputer 5 im voraus geliefert.
  • Wie bereits beschrieben, überträgt die Mikroprogrammsteuerung 110 im Programmübertragungsmodus ununterbrochen eine Adresse 0, oder befindet sich im Haltezustand.
  • Da die Modussignale MA und MB 1 bzw. 0 sind, wird im Rücksetz(Halte)-Modus eine Adresse der Programmsteuerung 110 durch die Auswahlvorrichtung 120 jeden Prozessors ausgewählt und das Register 115 wird durch das Signal MB zurückgesetzt. Somit gibt die Programmsteuerung 110 ununterbrochen eine Adresse 0 aus, und die Programmausführung wird in allen Prozessoren gestoppt.
  • Da das Signal MA 1 ist, werden die Mikroprogrammspeichereinheiten 111 bis 1 14a und 114b nicht mit einem Schreibsignal für einen Wert 0 versorgt.
  • Im Rücksetzmodus wird neben mehreren zuvor in den Mikroprogrammspeicher jedes Prozessors eingeschriebenen Programmen eine Startadresse eines auszuführenden Programms erneut zugeteilt. D.h., daß ähnlich wie bei der Programmübertragung, die Prozessorauswahlsignale sequentiell vom ROM 47 ausgegeben werden, und die Ausführungsstartadresse sequentiell vom RAM 49 jedem Prozessor zugeführt wird. Dann wird die Ausführungsstartadresse sequentiell im Register 117c jedes Prozessors abhängig vom Signal SEL gespeichert.
  • Falls als nächstes der Ausführungsmodus eingestellt wird, führt jeder Prozessor das Programm beginnend von der erneut zugewiesenen Ausführungsstartadresse aus. D.h., daß ein anderes Programm in jedem Prozessor ausgeführt werden kann, ohne das neue Programm zu übertragen. Die drei zuvor beschriebenen Modi werden von einem Programm des Prozessors in TC 4 gesteuert.
  • Im Aufbau der Fig. 1 liest der Datenverarbeitungsabschnitt 3 zur Verarbeitung die notwendigen Datenworte aus den im VIM 2 gespeicherten Bilddaten aus, und schreibt die verarbeiteten Daten wieder in das VIM 2 ein. Für eine Gruppe von Bilddaten, wie beispielsweise die Bilddaten eines Halbbilds oder eines Vollbilds, gibt es neben dem Fall, daß alle Pixeldatenwörter für deren Verarbeitung ausgelesen werden, den Fall, daß nur die notwendigen Bilddaten aus mehreren Halbbildern, die aus einem Vollbildspeicher erhalten werden, oder aus Daten, die mehrere Vollbilder bilden, ausgelesen werden. Die erhaltenen Daten werden einer Verarbeitung unterzogen, um Halbbild- oder Vollbilddaten zu erzeugen, die dann in ein Halbbild oder einen Vollbildspeicher eingeschrieben werden. In diesem Fall wird die Steuerung der Daten hinsichtlich des VIM 2 hauptsächlich durch den Adreßgeneratorbereich im VIM 3 bewirkt. Wie der Adreßgeneratorabschnitt wird der Prozessor benutzt und der Prozessor erzeugt über eine Berechnung Adressen für unterschiedliche Verarbeitungen.
  • In einem Verarbeitungssystem (beispielsweise in einem Bildverarbeitungssystem), in dem der Verarbeitungsgegenstand zwischenzeitlich in einem Speicher vor dessen Verarbeitung gespeichert wird, und in dem die Adresse für den Speicher wie zuvor beschrieben erzeugt werden muß, werden solche Operationen allgemein durch Verwendung eines Prozessors durchgeführt. In diesem Fall variiert die Charakteristik, die für die Adreßerzeugung notwendig ist, abhängig von der Art der Verarbeitung. D.h., daß die für die Verarbeitung benötigten Adressen wie folgt hauptsächlich in zwei Typen klassifiziert werden.
  • 1. Eine Adresse, die regelmäßig mit einer hohen Geschwindigkeit ausgegeben wird.
  • 2. Eine Adresse, die regelmäßig erzeugt und ausgegeben wird bei einer großen Berechnung.
  • Falls jedoch nur einer dieser Adreßtypen in einem Adreßerzeugungsprozessor vorgesehen ist, ist es schwierig, ein Verarbeitungssystem zu implementieren, das für die Verarbeitung geeignet ist, welche beide Arten von Adressen benötigt.
  • In diesem Fall umfaßt der Adreßerzeugungsbereich des PVP 3B einen ersten Prozessor 301 zur Erzeugung einer einfachen Adresse über eine Berechnung und einen zweiten Prozessor 302 zum Erzeugen einer komplizierten Adresse durch eine Berechnung, wie in Fig. 12 gezeigt.
  • In Fig. 12 erzeugt der erste Prozessor 301 eine reguläre einfache Adresse, wohingegen der zweite Prozessor 302 eine komplexe Operation ausführen kann, um eine komplizierte Adresse zu erzeugen. Zusätzlich kennzeichnet das Bezugszeichen 303 einen Adreßerzeugungssteuerungsprozessor zur Steuerung der ersten und zweiten Prozessoren 301 und 302.
  • Das Bezugszeichen 304 bezeichnet eine Auswahlvorrichtung, die von den drei Adreßdaten ein Adreßdatum entsprechend einem Auswahlsignal vom Adreßerzeugungssteuerungsprozessor 303 auswählt. Die drei Adreßdaten umfassen die Adreßdaten von dem ersten und dem zweiten Prozessor 301 und 302 und ein zusammengesetztes Adreßdatum, das durch Ausführung einer Berechnung in der Artihmetikschaltung 305 aus den Adreßdaten von dem ersten und dem zweiten Prozessor erhalten wird.
  • Der erste Prozessor 301 erzeugt eine Adresse zur Spezifizierung beispielsweise einer rechtwinkligen Fläche auf einem Bildschirm, und kann durch Benutzung eines Zählers zu diesem Zweck implementiert werden. In diesem Fall können die rechtwinkligen Adressen in horizontaler und vertikaler Richtung erzeugt werden.
  • Der zweite Prozessor 302 ist beispielsweise ein Allzweckprozessor, der nach einem Mikroprogramm arbeitet. Zusätzlich zu den linearen Operationen kann dieser Prozessor nicht-lineare Operationen und adaptive Operationen ausführen, wobei das Programm vom TC 4 geliefert wird.
  • Der Adreßerzeugungssteuerungsprozessor 303 führt Steuerungssignale, beispielsweise ein Startsignal und Parameter, zu dem ersten Prozessor 301. Der zweite Prozessor 302 wird mit Steuerungssignalen, beispielsweise ein Programmstartsignal, versorgt, wohingegen die Parameter und andere Informationen vom TC geliefert werden.
  • Darüber hinaus wird das Mikroprogramm vom TC 4 zum Adreßerzeugungssteuerungsprozessor 303 geführt. Im Adreßerzeugungssteuerungsprozessor 303 wird beispielsweise die Summe der Adressen vom ersten und zweiten Prozessor 301 und 302 berechnet.
  • Falls Adressen für eine rechteckige Fläche in einem Bereich, der auf dem in Fig. 13 gezeigten Bildschirm A dunkel gekennzeichnet ist, erzeugt werden, erhält der zweite Prozessor 302 durch eine Berechnung die Position P der linken oberen Ecke der rechteckigen Fläche. Die Adreßdaten dieser Position werden vom zweiten Prozessor 302 geliefert und der Arithmetikschaltung 305 zugeführt.
  • Andererseits liefert der Adreßerzeugungssteuerungsprozessor 303 dem ersten Prozessor 301 einen Parameter, der die Größe der Rechteckfläche angibt. Der erste Prozessor 301 erzeugt dann die rechtwinkligen Adressen, die vom Punkt P&sub0; der oberen linken Ecke des Bildschirms A bis zum Bereich, der durch die gestrichelten Linien eingeschlossen ist, reicht. Falls die Summe der Rechteckadressen und der Adresse P&sub1; des Startpunkts berechnet ist, werden die Adressen für das Zielfeld, das durch eine Abdunklung in Fig. 13 gekennzeichnet ist, erhalten. Die Auswahlvorrichtung 304 wählt eine Adresse von der Arithmetikschaltung 305 aus basierend auf dem Auswahlsignal vom Steuerungsprozessor 303.
  • Falls die Adreßerzeugung für die durch die Abdunklung in Fig. 13 gekennzeichnete Fläche vom Prozessor nicht beendet ist, wird eine Berechnung zum Erhalt des Punktes P&sub1; und eine Berechnung zum regulären Erzeugen der Adressen des rechteckigen Bereichs benötigt. Die Verarbeitungsgeschwindigkeit wird erniedrigt. Wie in diesem Beispiel gibt jedoch der zweite Prozessor 302 weiterhin die Adresse des Punktes P&sub1; aus und der erste Prozessor 301 liefert regelmäßig eine Adresse mit hoher Geschwindigkeit, so daß eine Addition in der Arithmetikschaltung 305 ausgeführt werden kann. Dies ermöglicht die Erzeugung einer regulären Adresse mit hoher Geschwindigkeit, die an der Adresse beginnt, die vom zweiten Prozessor 302 berechnet wurde.
  • Zusätzlich zu den Adressen eines Rechtecks kann der erste Prozessor 301 alle regulären Daten erzeugen, beispielsweise eine Adresse mit einer umgekehrten Bit-Ordnung, die für eine schnelle Fourier-Transformation notwendig ist. Falls die Auswahlvorrichtung 304 eine der Adressen vom ersten und zweiten Prozessor 301 und 302 auswählt, kann eines der folgenden Verfahren ausgeführt werden. Das erste Verfahren, in dem die Auswahl entsprechend der Adreßerzeugungsgeschwindigkeit bewirkt wird, und das zweite Verfahren, in dem die Auswahl entsprechend der Verarbeitungsgeschwindigkeit im PIP 3A, der die Arithmetikverarbeitung der Pixeldaten ausführt, erreicht wird, oder das dritte Verfahren, in dem die Auswahl abhängig von der Gesamtverarbeitungszeit zur Adreßerzeugung und zur Verarbeitung in PIP 3A erreicht wird. In jedem Fall ist die Auswahlvorrichtung 304 so ausgelegt, daß sie eine Adresse mit hoher Geschwindigkeit empfangen kann, falls eine Hochgeschwindigkeitsverarbeitung beabsichtigt ist. Zusätzlich gibt es einen Fall, bei dem das System eine Adresse auswählt, die eine geringere Fehlerwahrscheinlichkeit besitzt, selbst wenn die Verarbeitungsgeschwindigkeit nieder ist.
  • Da erfindungsgemäß mehrere Adressen einer Auswahl unterzogen werden und als Adressen abhängig vom Verarbeitungszweck und Einsatz ausgegeben werden, können die für die Verarbeitung passenden Adressen wirksam erzeugt werden. In der vorliegenden Erfindung sind darüber hinaus mehrere Prozessoren vorgesehen, um jeweils mehrere Adressen zu erzeugen. Zusätzlich zu der Auswahl der erzeugten Adressen durch Benutzung einer Auswahlvorrichtung, werden die mehreren so erzeugten Adressen geeignet berechnet durch eine weitere Arithmetikschaltung, und kombiniert, um eine andere Adresse zu erzeugen. Somit wird die Verarbeitungskapazität im Verarbeitungssystem erhöht.
  • Falls die Adreßerzeugung in diesem System mit einem einfachen Wechsel, beispielsweise ein Linearwechsel, verbunden wird, muß die Konfiguration nur einen einfachen Arithmetikabschnitt und einen Steuerungsabschnitt aufweisen. Falls der PIP 3A jedoch eine komplizierte Adresse erzeugen soll, kann ein einfacher aufgebauter PVP 3B auf diese Bedingung nicht ausreichend reagieren.
  • Um diese Schwierigkeit zu überwinden ist das PVP 3B erfindungsgemäß mit einem PVPP-Abschnitt 361 als erster Verarbeitungsabschnitt vorgesehen, und Informationen, wie beispielsweise ein Vollbildstartsignal, wird zwischen den PVPP 361 und dem IOC 1 ausgetauscht.
  • Im PVPP 361 wird eine einfache Adresse, beispielsweise eine Adresse einer rechteckigen Fläche, entsprechend einem Mikroprogramm erzeugt. Die Signale, wie beispielsweise ein Steuerungssignal und ein Synchronisationssignal für die anderen Verarbeitungsbereiche, werden ebenso erzeugt, womit die gesamte Operation des PVP 3B gesteuert wird. Die Adressen der rechteckigen Fläche können in Längs- und in Vertikalrichtung erzeugt werden und in einer umgekehrten Bit-Reihenfolge.
  • Das Steuerungssignal vom PVPP 361 wird dem PVPCF 362 als zweiten Verarbeitungsabschnitt zugeführt. Im PVPCF 362 wird ein Eingangs-/Ausgangssteuerungssignal für das PIP erzeugt abhängig vom Steuerungssignal des PVPP 361 entsprechend dem Mikroprogramm. Dieses Signal wird dann dem PIP 3A zugeführt. Darüber hinaus wird das Steuerungssignal vom PVPP 361 dem PVPCA's 363A und 363B als dritte Verarbeitungsabschnitte zugeführt. Zwei PVPCA-Systeme 363A und 363B sind für die VIM's 2A und 2B vorgesehen. Zusätzlich enthalten die PVPCA's neun Schaltungen I1-I9 bzw. 01-09 als Prozessorabschnitte, die dem Prozessorabschnitt des PIP 2A entsprechen. In den Prozessorabschnitten werden Adressen mit einer linearen Änderung oder einer adaptiven Änderung entsprechend den jeweiligen Mikroprogrammen erzeugt.
  • Darüber hinaus wird das Steuerungssignal vom PVPP 361 dem Verarbeitungssteuerungsabschnitt (CAT) 364 zugeführt, der seinerseits ein Signal zur Steuerung des Eingangs/Ausgangs jedes Prozessors der PVPCA's 363A und 362B aussendet.
  • Adressen von den Prozessoren der PVPCA's 363A und 363B werden den DOG's 365A und 365B zugeführt. Die DOG's 365A und 365B sind beispielsweise wie in Fig. 15 gezeigt aufgebaut. In diesem Diagramm ist beispielsweise eine dreidimensionale Adresse, die sich aus jeweils 16 Bits für die X-, Y- und Z-Achse zusammensetzt, vom PVPCA 363A zum Eingangsregister 367 geführt. Von diesen Bits werden die Adressen, die mit den 19 Bits der X- und Y-Koordinaten in Verbindung stehen, zum PVPCNT 366 wie später beschrieben ausgegeben. Zusätzlich wird eine 48-Bit-Adresse vom Register 367 zum Adressregister 368 geliefert und einer bestimmten Synchronisationsanpassung und anderen Verarbeitungen unterzogen. Dann wird das sich daraus ergebende Signal dem PVPCA 363A oder den anderen DOGs 365B über den ersten Eingang des Multiplexers (MUX) 369 zugeführt. Eine 48-Bit-Adresse vom DGG 365B wird über das Register 370 dem zweiten Eingang des MUX 369 zugeführt. Darüber hinaus wird die 19-Bit-Adresse der x-y-Koordinate vom Register 372 und die 8-Bits der z-Koordinatenadresse dem Register 37a zugeführt. Diese 19 Bits werden für eine Adresse des Speichers 372 übertragen, und die 8 Bits werden für die Daten des Speichers 372 übertragen. Dies bewirkt, daß ein 8-Bit-Datum, das mit der z-Koordinate verbunden ist, im Speicher 372 abhängig von der x-y-Adresse gespeichert wird. Darüber hinaus wird eine 32-Bit-Adresse der x-y-Koordinate vom Register 367 dem Register 373 zugeführt. Dann wird die 32 Bit-Adresse zum dritten Eingang des MUX 369 zusammen mit den 8 Bits, die aus dem Speicher 372 ausgelesen werden, und mit zusätzlichen 8 Bits, die beispielsweise 0 umfassen, zugeführt.
  • D.h., daß insgesamt 48-Bits als eine Adresse geliefert werden. Darüber hinaus wird ein 4-Bit-Steuerungssignal vom CAT 364 dem Register 374 zugeführt und dazu verwendet, die Synchronisation des Registers 368, die Auswahl einer der drei Eingänge des MUX 369 und die Schreiboperation im Speicher 372 zu steuern.
  • Im DOG 365A und 365B ergibt sich daraus, daß die Adressen von den Prozessoren PVPCA's 363A und 363B geliefert werden und weiterhin zu dem PVPCA's 363A und 363B für eine komplizierte Verarbeitung zurückübertragen werden. Des weiteren wird eine Kommunikation mit den anderen DOGs ausgeführt, um die Adressen auf der Eingangs- und Ausgangsseite miteinander in Beziehung zu setzen. Das z-Adreßdatum kann gespeichert werden, um mit der dreidimensionalen Information und dem Pixel index übereinzustimmen.
  • Die Adressen von den DOGs 365A und 365B und die durch das PVPP 361 erzeugte Adresse werden der Auswahlschaltung PVPCNT 366 zugeführt, die ihrerseits die Adressen zu dem MUX 366A und dem MUX 366B zuführt. Diese MUX 366A und 366B werden vom PVPP 361 gesteuert, um die Adressen vom DOG oder PVPP zu erhalten oder um eine Adresse durch Addition der Adressen zu erzeugen. Die sich ergebenden Adressen werden zu den VIM's 2A und 2B geführt.
  • Die Adreßerzeugung wird, wie zuvor beschrieben, ausgeführt. Da gemäß diesem System die zur Erzeugung von Adressen und Steuerung der Signale notwendigen Funktionen wirksam untergliedert werden, kann die Last auf die jeweiligen Verarbeitungsabschnitte reduziert werden und die Verarbeitung inklusive der komplexen Operationen relativ einfach erreicht werden.
  • Fig. 16 ist ein schematisches Schaltungsdiagramm, das die Verbindung des PVP 3B zeigt, um eine dreidimensionale Adresse zu berechnen. Darin ist ein Adreßerzeugungsabschnitt 300 vorgesehen mit einem Adreßerzeugungsabschnitt 30DZ zur Erzeugung einer z-Richtungsadresse zusätzlich zum Aufbau der Fig. 9. Da diese Adreßerzeugungsabschnitte 30DX, 39DY und 30DZ die X-, Y- bzw. Z-Richtungen betreffen und jeder genau den gleichen Aufbau aufweist, werden gleiche Bezugszeichen den Komponenten der Adreßerzeugungsabschnitte 30DX, DY und DZ zugewiesen, die mit jenen der Fig. 9 übereinstimmen, wobei ein Buchstabe X, Y bzw. Z angefügt wurde.
  • Der Adreßerzeugungsabschnitt 30DX, DY und DZ ist zusätzlich zum Aufbau der Fig. 9 jeweils mit Registern 326X', 329X, 329X' und 330X versehen. Wie in diesem Diagramm gezeigt, sind die Adreßerzeugungsabschnitte 30DX, DY und DZ der drei Richtungen miteinander verbunden, so daß für eine Adreßerzeugung in jeder Richtung die Resultate der Adreßerzeugung in den anderen Richtungen benutzt werden können.
  • Bei diesem Beispiel werden die Ausgänge der Addier-/Subtrahiereinheit 312X, 312Y und 312Z den Registern zugeführt, so daß eines der Ausgangssignale, das eine Richtung betrifft, dem Multiplizierer 311X der Adreßerzeugungsabschnitte für die anderen zwei Richtungen zugeführt wird. Die Ausgangssignale der Addier-/Subtrahiereinheiten 312X, 312Y und 312Z werden zwischenzeitlich in Registern gespeichert und dann Registern zugeführt, so daß die Ausgangssignale dem Addierer/Subtrahierer der Adreßerzeugungsabschnitte, die die anderen zwei Richtungen betreffen, zugeführt werden können. Natürlich ist das Verfahren zur Verbindung der Adreßerzeugungsabschnitte 30DX, DY und DZ nicht auf diese Verbindung beschränkt. Durch Benutzung zweier Einheiten von Adreßerzeugungsabschnitten, die den zuvor beschriebenen Aufbau aufweisen, kann eine Adreßerzeugung erzielt werden, die für die dreidimensionale Verarbeitung geeignet ist.
  • Falls in diesem Beispiel für das PVP 3B das einzugebende Bild mit Adreßinformationen in X- und Y-Richtung dargestellt wird, wird die 3-dimensionale Positionsinformation des ursprünglichen als ein Bild darzustellenden Objekts, nämlich die Tiefeninformation im Z-Speicher (nicht gezeigt) gespeichert. Die Tiefeninformation wird über eine Berechnung auf der Annahme von Z = Z (X, Y) erhalten, und deren Werte werden zuvor über das TC 4 unter Steuerung des Hauptcomputer in den Z-Speicher eingeschrieben.
  • Beispielhaft wird nun eine Beschreibung der Verarbeitung gegeben, in der ein Objekt im 3-dimensionalen Raum gedreht wird. Nehmen wir beispielsweise, wie in Fig. 17 gezeigt, an, daß ein Paralleloid im dreidimensionalen Raum um 0 um eine zu der Y-Achse parallelen Linie A gedreht wird. In diesem Fall wird ein beliebiger Punkt (X&sub1;, Y&sub1;, Z&sub1;) auf dem Paralleloid zu einer Position (Xi, Yi, Zi) bewegt. Die Werte von X, Y und Z können wie folgt erhalten werden.
  • Xi = X&sub1; + Z&sub1; sin R
  • Xi = Y&sub1; (a)
  • Z&sub1; = Z&sub1; cos R
  • Falls demnach X&sub1; und Y&sub1; vom ersten Adreßerzeugungsabschnitt und Z&sub1; vom Z-Speicher dem zweiten Adreßerzeugungsabschnitt zugeführt werden, kann X&sub1; Y&sub1; und Z&sub1; vom zweiten Adreßerzeugungsabschnitt gewonnen werden, wobei die der Drehung unterzogene Figur im VIMOUT-Speicher 2B gespeichert wird.
  • Fig. 18A ist ein Flußdiagramm eines Programms, das im ersten Adreßerzeugungsabschnitt ausgeführt wird. Fig. 18B ist ein Flußdiagramm eines Programms, das im PIP 3A ausgeführt wird und Fig. 18C ist ein Flußdiagramm eines Programms, das im zweiten Adreßerzeugungsabschnitt ausgeführt wird.
  • D.h., daß aus den Adressen der drei Richtungen vom ersten Adreßerzeugungsabschnitt die Adressen der X- und Y-Richtungen dem VIMIN 2A beginnend von "0" zugeführt werden. Die Eingangsbilddaten für einen Bildschirm werden vollständig ausgelesen und dem PIP 3A zugeführt.
  • Die vom PIP 3A gelieferten Bilddaten werden zum VIMOUT 2B geführt. Andererseits werden die Adressen der X- und Y-Richtung vom ersten Adreßerzeugungsabschnitt als Eingangssignale den Arithmetik- und Erzeugungsabschnitten 300X und 300Y für die X- und Y-Richtung jeweils vom zweiten Adreßerzeugungsabschnitt zugeführt. Des weiteren werden die Adressen dem Z-Speicher zugeführt, der die Adressen in Z-Richtung basierend auf Z = Z (X, Y) liefert. Die erhaltenen Adressen werden als Eingangssignale dem Arithmetik- und Erzeugungsabschnitt 300Z für die Z-Richtung zugeführt.
  • Beim Empfang der Adreßinformationen der drei Richtungen führt der zweite Adreßerzeugungsabschnitt die Berechnung (a), wie zuvor beschrieben, aus. Aus den Adressen der drei Richtungen werden die Adressen (Xi, Yi) in den zwei Richtungen Xi und Yi verwendet, um die Daten von (X&sub1;, Y&sub1;) in den VIMOUT 2B einzuschreiben. Falls die in das VIMOUT 2 B eingeschriebenen Daten sequentiell beginnend von einer Adresse X = 0 und Y = 0 ausgelesen werden, wird als Ergebnis ein um 0 im 3-dimensionalen Raum gedrehtes Bild, wie in Fig. 17 gezeigt, auf dem Monitorschirm dargestellt.
  • In dem zuvor beschriebenen Beispiel werden die Adressen vom VIMIN 2A und dem VIMOUT 2B ausgelesen und mit Bezug auf die gleichen zwei Richtungen eingeschrieben. Ein Bild eines Objekts, das aus einer anderen Richtungen gesehen wird, kann leicht gewonnen werden, indem die Richtungen der 2-dimensionalen Adresse derart geändert werden, daß die Adressen des Speichers 2A ausgelesen und in X- und Y-Richtung eingeschrieben werden und die Adressen des Speichers 2B in X- und Z-Richtung bearbeitet werden.
  • Um in dieser Erfindung eine 2-dimensionale Adresse für ein Bild mit einem 2-dimensionalen Aufbau zu erzeugen, werden Daten wie 3-dimensionale Daten bei der Erzeugung der Adresse verarbeitet, indem die Datenworte der jeweiligen Richtung in Beziehung zueinander stehen, was eine wirksame Verarbeitung ähnlich einer 3-dimensionalen Verarbeitung ermöglicht, um beispielsweise ein Objekt im dreidimensionalen Raum zu drehen.
  • In dem zuvor beschriebenen Bildverarbeitungssystem existiert eine sogenannte Nachbarschaftsverarbeitung, bei der mehrere Bilddatenwörter in der Nachbarschaft eines Pixels benutzt werden, um ein Pixel in einer Bildverarbeitung zu verarbeiten. Eine Konturextraktion ist ein Beispiel einer Nachbarschaftsverarbeitung. Die Verfahren zur Ausführung der Konturenextraktion umfassen ein Verfahren, das ein logisches Filter verwendet, das später beschrieben wird. Beispielsweise ist gemäß diesem Verfahren jedes Pixeldatum mit acht Bits in Binärform dargestellt, und die erhaltenen Daten werden einer Operation unterzogen, wobei ein 3 · 3 Logikfilter verwendet wird, mit dem eine Kontur eines Bildes extrahiert wird.
  • Bei diesem Verarbeitungsverfahren werden zunächst die Daten einschließlich 3 · 3 = 9 Pixel in binäre Daten umgewandelt. Wie in Fig. 19 gezeigt, wird die binäre Umwandlung bei acht Pixel a&sub1;-a&sub3;, b&sub1;-b&sub3; und c&sub1;-c&sub3; um das Pixeldatum b&sub2; ausgeführt, womit a&sub1; -a&sub3; bzw. b&sub1; -b&sub3; , (bzw. c&sub1; -c&sub3; ) erhalten werden.
  • Die logische Summe der neun binären Pixel wird dann wie folgt gewonnen.
  • A = ai a&sub2; a&sub3;
  • B = b&sub1; b&sub2; b&sub3;
  • C = C&sub1; C&sub2; C&sub3;
  • Der binäre Mittelwert b wird von den logischen Summenwerten A, B und C wie folgt subtrahiert.
  • A B C-b&sub2;
  • Das Ergebnis dieser Operation wird als Wert des Mittelwerts b&sub2; der neun Pixel ausgegeben.
  • Die Verarbeitung für jedes Pixel wird über den gesamten Bildschirm ausgeführt, um die Konturextraktion zu erzielen.
  • Bei dem zuvor beschriebenen Konturextrahierungsverfahren wird die logische Summe von
  • Pixeldaten in der binären Form mit 0 oder 1 erzeugt. Falls beispielsweise die ursprüngliche Figur ein wie in Fig. 20 gezeigtes Rechteck ist, wird das Gebiet 401, das schraffiert gekennzeichnet ist und einen Wert von ursprünglich 1 in der binären Darstellung aufweist, etwas vergrößert (um etwa ein Pixel) und das ursprüngliche Gebiet 401 des Wertes 1 wird aus dem vergrößerten Gebiet entfernt, so daß lediglich der Bereich 402, der in Fig. 8 schraffiert dargestellt ist, übrig bleibt. Dieses Gebiet umfaßt die Pixel, die das Gebiet umschließen, deren Wert 1 durch die Vergrößerungsoperation wurde, wodurch die Kontur erhalten wurde. Die Verfahren der binären Umwandlung umfassen das P-Tile-Verfahren, das Modusverfahren, das Differenz-Histogrammverfahren und das Diskriminierungs-Analyseverfahren. Die binäre Umwandlung in diesem System wird ausgeführt, indem der Schwellenwert benutzt wird, der entsprechend einem dieser Verfahren bestimmt wird.
  • Falls eine Nachbarschaftsverarbeitung ausgeführt wird, werden die Daten von acht Pixeln um ein Pixel benötigt. Daraus ergibt sich die Schwierigkeit, die Pixeldaten in den Prozessor einzugeben.
  • Gemäß einem der Verfahren, wie in Fig. 21 gezeigt, werden die Verzögerungsschaltungen 403 und 404, die jeweils um eine Periode einer Horizontalabtastung verzögern, benutzt, um gleichzeitig aus den Momentandaten DA das Datum DL&sub1; zu extrahieren, das um eine Horizontalabtastungsperiode vorauseilt, und das Datum D&sub2;, das um eine Horizontalabtastperiode hinterhereilt, so daß die Daten der drei Pixel, die vertikal auf dem Bildschirm angeordnet werden sollen, zur gleichen Zeit verarbeitet werden können. Die Daten der neun Pixel werden beispielsweise in den Registerbereich geholt, der als eine Eingangsstufe des Prozessors angeordnet ist, wodurch die Verarbeitung erreicht wird.
  • Bei diesem Verfahren zur Eingabe von Daten durch Benutzung der zuvor beschriebenen Verzögerungsschaltungen wird jedoch die Datenverarbeitung für die Verzögerungszeit, die in Beziehung zu den Verzögerungsschaltungen steht, verzögert, was die Echtzeitverarbeitung unmöglich macht.
  • Falls die Echtzeitverarbeitung in diesem Fall ausgeführt wird, ergibt sich folgendes Problem. Falls die Nachbarschaftsverarbeitung ein 3 · 3 Logikfilter wie zuvor beschrieben benutzt, sind beispielsweise Daten von neun Pixel notwendig, um ein Ausgangssignal bezüglich eines Pixels zu erhalten. Somit muß die Datenübertragungsrate auf der Eingangsseite neunmal größer sein als die Datenübertragungsrate auf der Ausgangsseite.
  • Daraus ergibt sich, daß die Echtzeitverarbeitung nicht nur durch Eingabe der Daten in den Prozessor erreicht werden kann. Nun wird eine Beschreibung eines erfindungsgemäßen Systems gegeben, bei dem die zuvor beschriebene Konturextraktion angewendet wird.
  • Zunächst werden in diesem Beispiel die gesamten Bildschirmdaten in Blöcke B aufgeteilt, wobei jeder 20 Horizontallinien, wie in Fig. 22 gezeigt, umfaßt. 20 Prozessoren sind so angeordnet, daß die Nachbarschaftsverarbeitung einer Linie jeden Blocks B von einem der Prozessoren ausgeführt wird.
  • Bei der 3 · 3 Verarbeitung, die als Nachbarschaftsverarbeitung beschrieben ist, berechnet ein Prozessor das Ergebnis einer Linie durch Benutzung der mit drei Linien in Bezug stehenden Daten. Da die Bilddaten zwischenzeitlich im Bildspeicher gespeichert sind, werden die Eingangsdaten
  • des Prozessors zur Verarbeitung der Daten aus dem Eingangsbildspeicher ausgelesen. In diesem Beispiel können jedoch die gleichen Datenübertragungsraten auf der Eingangs- und Ausgangsseite implementiert werden, indem die Reihenfolge zum Lesen der Pixel aus dem Eingangsbildspeicher geeignet eingestellt werden, indem die vom Prozessor benötigten Pixeldaten gleichzeitig übertragen werden, und indem das Register verwendet wird, das in der Eingangsstufe jedes Prozessors angeordnet ist.
  • Fig. 23 ist ein Diagramm, das einen Block von 20 Linien des Eingangsbildspeichers zeigt, in dem Linien L&sub1;, L&sub2;, . . L&sub2;&sub0; den Prozessoren P&sub1;, P&sub2;, . . . P&sub2;&sub0; entsprechen.
  • Andererseits werden die Pixeldaten aus dem Eingangsbildspeicher in einer Reihenfolge ausgelesen, nämlich in vertikaler Richtung wie durch einen Pfeil 405 markiert. In jedem Block werden deshalb die 20 in vertikaler Richtung angeordneten Pixel aus dem Block ausgelesen und zur Prozessorseite übertragen.
  • Bei dieser Operation werden die übertragenen Daten gleichzeitig in das Eingangsregister des Prozessors, der die Daten benötigt, geführt.
  • Im folgenden wird für die Konturenextrahierungsverarbeitung mit dem zuvor beschriebenen 3 · 3 Logikfilter eine Nachbarschaftsverarbeitung der zehnten Bilddaten jeder Zeile betrachtet, indem die Positionen verwendet werden, die von der neunten Position bis zur elften Position liegen.
  • Wird nun angenommen, daß nach dem Pixeldatum d (i, 9) und d (i, 10) (i-1, 2 . . . 20) der neunten und zehnten Position in den Zeilen L&sub1;-L&sub2;&sub0; zu den Prozessoren P&sub1;-P&sub2;&sub0; übertragen werden, wird das Pixeldatum d (i, 11) der elften Positionen in den Zeilen L - L übertragen.
  • Falls, wie in Fig. 24 gezeigt, das Pixeldatum d (1, 11) der elften Position der Zeile L&sub1; zu den Prozessoren P&sub1; und P&sub2; übertragen wird, wird das Pixeldatum d (2, 11) der elften Position der Zeile L&sub2; zu den Prozessoren P&sub1;, P&sub2; und P&sub3; geliefert, das Pixeldatum d (3, 11) der elften Position der Zeile L&sub3; zu den Prozessoren P&sub2;, P&sub3; und P&sub4;, das Pixeldatum d (4, 11) der elften Position der Zeile L' zu den Prozessoren P&sub3;, P&sub4; und P&sub5;, usw. In dieser Weise werden die Daten an die Prozessoren P&sub1;-P&sub2;&sub0; über die Eingangsregister gesendet. Die in den Eingangsregistern der Prozessoren P&sub1;-P&sub2;&sub0; gespeicherten Daten werden mit dem neunten und zehnten Pixeldatum d (i, 9) und d (i, 10) in den Zeilen L&sub1;-L&sub2;&sub0; kombiniert, so daß sie als Daten der neunten Pixel, die für die Berechnung der Ausgangswerte der zehnten Mittelpixel notwendig sind, verarbeitet werden.
  • In diesem Fall werden die Daten von 6 Pixeln aus den Daten der neun Pixel auch als Pixeldaten benutzt, um den Ausgangswert des vorhergehenden neunten Mittelpixeldatum zu berechnen.
  • Fig. 25 zeigt den Aufbau des Eingangsregisters jedes Prozessors. Dieses Beispiel ist nicht nur auf das 3 · 3 Logikfilter anwendbar. Dieser Aufbau besitzt nämlich ein Merkmal, das die Nachbarschaftsverarbeitung durch Benutzung der Daten von bis zu 5 · 5 = 25 Pixeln ermöglicht.
  • In den in diesem Diagramm gezeigten Schieberegistern 411-415, die entsprechend den fünf Horizontalzeilen angeordnet sind, sind die Pufferregister 421-425 als erste Stufe enthalten.
  • Der Eingangsanschluß für die Eingangspixeldaten ist so ausgeführt, daß er gemeinsam die Pufferregister versorgt. Die Synchronisation, um den Registern Taktsignale zuzuführen, wird gesteuert, womit die notwendigen Pixeldaten aus den entsprechenden Registern abgerufen werden.
  • Da dieses Beispiel die Verarbeitung eines 3 · 3 Logikfilters betrifft, sind die Register 424, 425 und die Schieberegister 414-415 nicht eingesetzt.
  • Falls das 3 · 3 Logikfilter verwendet wird, sofern die Pixeldaten in drei Pufferregistern 421- 423 gespeichert werden, erzielt das System eine Operation, so daß die Pixeldaten gleichzeitig von diesen Registern zu den Schieberegistern 411-413 für die erste, zweite und dritte Zeile übertragen werden.
  • Falls die Daten von neun Pixel, die im Prozessor benutzt werden, in den Schieberegistern 411 -413 bezüglich der ersten, zweiten und dritten Zeile gespeichert werden, werden die Pixeldaten der neunten Pixel zum Arithmetikabschnitt des Prozessors übertragen, um die zuvor beschriebene Konturenextrahierungsverarbeitung auszuführen. Die Übertragung der Daten von den Schieberegistern 411-413 zum Arithmetikabschnitt des Prozessors wird durch Verwendung von Befehlen eines Verarbeitungsprogramms ausgeführt, das im Steuerungsabschnitt des Prozessors gespeichert ist. Die mit den Pixeldaten der neunten Pixel zusammenhängende Verarbeitung ist dann beendet, wenn die Pixeldaten der neunten Pixel für das nächste Datum in der Zeile, die vom Prozessor verarbeitet wird, abgerufen werden.
  • Im folgenden wird nun eine Beschreibung des Vorgangs gegeben, bei dem die Daten in ein Eingangsregister jedes Prozessors gemäß dem zuvor beschriebenen Beispiel abgerufen werden. Beispielsweise wird gleichzeitig das elfte Pixeldatum d (2, 11) in der Zeile L&sub2; in das Pufferregister 423 für die dritte Zeile im Eingangsregister des Prozessors P&sub1; eingelesen, in das Pufferregister 422 für die zweite Zeile im Eingangsregister des Prozessors P&sub2; und in das Pufferregister 421 für die erste Zeile im Eingangsregister des Prozessors P&sub3;.
  • Anschließend wird gleichzeitig das elfte Pixeldatum d (3, 11) in der Zeile L&sub3; in das Pufferregister 423 für die dritte Zeile im Prozessor P&sub2; eingelesen, in das Pufferregister 422 für die zweite Zeile im Prozessor P&sub3; und in das Pufferregister 421 für die erste Zeile im Prozessor P&sub4;.
  • Falls drei elfte Daten bezüglich der Zeilen in die Register eingelesen werden, werden die drei achten bereits verarbeiteten Daten zu der zweiten Stufe in den Schieberegistern übertragen und gelöscht, was zu einem effizienten Übertragungsablauf führt.
  • In der zuvor beschriebenen Verarbeitung besitzt jeder Prozessor natürlich eine Verarbeitungsgeschwindigkeit, die eine Konturenextrahierungsverarbeitung ermöglicht, die in einer Zeit beendet ist, in der die Daten, die jeweils drei Pixeldaten umfassen, zur nächsten Stufe in den Schieberegistern 411-413 übertragen sind.
  • Obwohl der Ablauf der Blockbildung auf dem Bildschirm, die Reihenfolge des Auslesens der Blöcke und das Verfahren zum Abrufen der Daten in das Eingangsregister abhängig von der Verarbeitung variiert, wird gesichert, daß die gleichen Daten gleichzeitig zu den Prozessoren übertragen werden, die die Daten benötigen, und daß die gleichen Datenübertragungsraten hinsichtlich der Eingangs- und Ausgangsseiten bestehen.
  • In dem zuvor genannten Beispiel, in dem der Bildschirm in Blöcke unterteilt wird, können die ersten und letzten Zeilen der 20 Zeilen nicht geeignet verarbeitet werden. (Dies liegt daran, daß die vorhergehende Zeile für die erste Zeile fehlt und die nachfolgende Zeile für die letzte Zeile). Falls jedoch für das Beispiel der Blockteilung eine Überlappung von zumindest einer Zeile für jeden Block, wie in Fig. 26 gezeigt, vorgesehen wird, kann die Anzahl der Zeilen, für die die entsprechende Verarbeitung ausgeführt wird, reduziert werden.
  • Zusätzlich muß der Eingangsregisterbereich nicht notwendigerweise im Prozessor angeordnet sein. Die gleiche Operation kann selbst dann erzielt werden, wenn der Eingangsregisterbereich als vorhergehende Stufe des Eingangs des Prozessors angeordnet ist.
  • Erfindungsgemäß werden bei der Nachbarschaftsverarbeitung, die die umliegenden Daten um ein Pixel verwendet, mehrere Prozessoren benutzt, und die Daten gleichzeitig zu den Daten benötigenden Prozessoren übertragen, was die gleiche Datenübertragungsrate auf der Eingangs- und Ausgangsseite ermöglicht und somit auch eine Echtzeitverarbeitung. Falls jedoch ein 1 K Wortspeicher für jeden Faktorspeicher im System angeordnet wird, muß die Adresse durch zehn Bits dargestellt werden, und somit muß die Konfiguration der Adreßerzeugungs- und Versorgungsoperation für insgesamt 20 Bits für zwei Einheiten des Faktorspeichers implementiert werden. Demnach wird der Aufbau des Adreßerzeugungsabschnitts im Steuerungsabschnitt 100 komplex und hinsichtlich seinen Abmessungen groß. Des weiteren ist es nicht einfach, zwei Zeilen zur Versorgung der Adreßinformation vorzusehen.
  • In Fig. 9 werden zwei Eingangsregister mit einem Datenauswahlsignal von dem Steuerungsabschnitt 100 versorgt, und die ausgewählten Daten werden den Eingangsregistern der Multiplizierer 311X und 311Y, die die Artihmetikabschnitte 300X bzw. 300Y bilden, zugeführt. Die Faktorspeichereinheiten 313X und 313Y werden mit der Adresse versorgt, die aus dem Steuerungsabschnitt 100 ausgelesen wird und der so ausgelesene Faktor wird zu den Multiplizierern 311X und 311Y geführt, die dann entsprechend einem Steuerungssignal vom Steuerungsabschnitt 100 angesteuert werden, und die Operationsergebnisse werden dann den Addierer-/Subtrahierereinheiten 312X bzw. 312Y zugeführt. Darüber hinaus werden die Daten von den Ausgangsregistern dieser Addierer-/Subtrahierereinheiten 312X und 312Y zurückgeführt, und die Addierer-/Subtrahierereinheiten durch das Steuerungssignal vom Steuerungsabschnitt 100 so betrieben, daß das Operationsergebnis geliefert wird, das seinerseits in die Ausgangsregister 328X bzw. 328Y eingeschrieben wird. Die Daten von den Ausgangsregistern 328X und 328Y werden zum Ausgangsanschluß entsprechend dem Steuerungssignal vom Steuerungsabschnitt 100 geführt.
  • Falls beispielsweise ein 3 · 3 Raumfilter im System konfiguriert wird, ergeben sich die notwendigen Funktionsblöcke wie in Fig. 27 gezeigt. In diesem Diagramm bezeichnet Xij ein Datenwort, aij ein Gewichtsfaktor (i = 1, 2, 3; j = 1, 2, 3), und Yij ein Operationsergebnis.
  • Das Ergebnis wird durch die folgende Differenzgleichung ausgedrückt.
  • Um diese Operation im Einheitsprozessorabschnitt, wie zuvor beschrieben, zu implementieren, wird die Verarbeitung wie folgt ausgeführt.
  • (Schritt j)
  • CM (A) {a&sub1;&sub1;} → MPY (A)
  • a&sub1;&sub1; wird aus dem Faktorspeicher 313X ausgelesen und dem Multiplizierer 31 1X zugeführt.
  • FRA {Xi-1,j-1} → MPY (A)
  • Xi-1,j-1 wird aus dem FRA ausgelesen und zum Multiplizierer 311X übertragen.
  • CM (B) {a&sub1;&sub3;} → MPY (B)
  • a&sub1;&sub3; wird aus dem Faktorspeicher 313Y ausgelesen und dem Multiplizierer 31 1Y zugeführt.
  • FRA {xi-1,j-1} → MPY (B)
  • xi+1,j+1 wird aus dem Eingangsregister 321X ausgelesen und dem Multiplizierer 311 Y zugeführt.
  • (Schritt j + 1)
  • CM (A) {a&sub2;&sub1;} → MPY (A)
  • FRA {xi-1,j} → MPY (A)
  • CM (B) {a&sub2;&sub3;} → MPY (B)
  • FRA {ai-1,j} → MPY (B)
  • MPY (A) → ALU (A)
  • Speichere a&sub1;&sub1; X xi-1,j-1 im Ausgangsregister des Addierers/Subtrahierers 312X.
  • MPY(B) → ALU(B)
  • Speichere a&sub1;&sub3; X xi+1,j+1 im Ausgangsregister des Addierers/Subtrahierers 312Y.
  • (Schritt j + 2)
  • CM (A) {a&sub3;&sub1;} → MPY (A)
  • FRA {xi+1,j+1} → MPY (A)
  • CM (B) {a&sub2;&sub3;} → MPY (B)
  • FRA {ai-1,j+1} → MPY (B)
  • MPY (A) → ALU (A) + RA
  • Addiere das Ausgangssignal vom Ausgangsregister des Addierers/Subtrahierers 312X und a&sub2;&sub1; X xi-1,j und speichere das Ergebnis im Ausgangsregister des Addierers/Subtrahierers 3 12X.
  • MPY (B) → ALU (B) + RB Addiere das Ausgangssignal des Ausgangsregisters des Addierers/Subtrahierers 312Y und a X xi+1,j+1 und speichere das Ergebnis im Ausgangsregister des Addierers/Subtrahierers 3 12Y.
  • (Schritt j + 3)
  • CM (A) a&sub1;&sub2; → MPY (A)
  • FRA {xi-1,j} → MPY (A)
  • CM (B) {a&sub2;&sub3;} → MPY (B)
  • FRA {ai,j+1} → MPY (B)
  • MPY (A) → ALU (A) + RA
  • MPY (B) → ALU (B) + RB
  • (Schritt j +4)
  • CM (A) {a&sub2;&sub2;} → MPY (A)
  • FRA {xji} → MPY (A)
  • MPY (A) → ALU (A) + RA
  • MPY (B) → ALU (B) + RB
  • (Schritt j +6)
  • RB + ALU(A) + RA
  • Addiere den Inhalt des Ausgangsregisters des Addierers/Subtrahierers 312Y und den Inhalt des Ausgangsregisters des Addierers/Subtrahierers 312X.
  • (Schritt j +7)
  • RA → Ausgangsanschluß
  • Das 3 · 3 Raumfilter ist wie zuvor beschrieben implementiert.
  • In diesem Fall werden die Faktoren a&sub1;&sub1; und a&sub1;&sub3; im Schritt j, die Faktoren a&sub2;&sub1; und a&sub2;&sub3; im Schritt j + 1 und die Faktoren a&sub3;&sub1; und a&sub3;&sub3; im Schritt j + 3 aus den Faktorspeichereinheiten 313X und 313Y erhalten, die zum gleichen Zeitpunkt benötigt werden. Diese Faktoren sind an den betreffenden Adressen der jeweiligen Speichereinheiten 313X und 313Y eingeschrieben, so daß Adresse 0, Adresse 1, Adresse 2, Adresse 3 und Adresse 4 in den Schritten, j,j + 1, j +2, j +3 bzw. -j +4 ausgelesen werden, womit diese Faktoren in gleicher Weise zur herkömmlichen Art extrahiert werden.
  • Selbst wenn in dem zuvor beschriebenen System die gemeinsame Leseadresse vom Steuerungsabschnitt 100 zu dem Speicher 313X und 313Y geliefert wird, werden die Faktoren gleich aus dem Speicher 313X und 313Y in gleicher Weise extrahiert, wie für den Koordinatenfall, der die gleiche Adresse im Steuerungsabschnitt 100 generiert und die Daten aus jedem Speicher 313X, 313Y über eine Signalversorgungsleitung für einen Speicher, beispielsweise für 10 Bits, ausliest.
  • Das zuvor beschriebene System ist effektiver, wenn die Anzahl der Speichereinheiten vergrößert wird. Falls beispielsweise die Anzahl n ist, kann die Anzahl der Adreßerzeugungsabschnitte sowie der Signalversorgungsleitungen um 1/n mal vermindert werden bezüglich der im herkömmlichen System benötigten Anzahl. Da erfindungsgemäß jeder Faktorspeicher durch Benutzung der gemeinsamen Adresse ausgelesen werden kann, wird die Leseadreßerzeugung im Steuerungsabschnitt erleichtert. Darüber hinaus wird die Anzahl der Signalversorgungsleitungen reduziert, was zu einer Vereinfachung des Systemaufbaus führt.
  • Es wurde ein Fall beschrieben, in dem das System der vorliegenden Erfindung auf die Videosignalverarbeitung angewendet wurde. Jedoch werden auch in einem Fall zur digitalen Verarbeitung der Audiosignale und anderer Signale die Signale in einem Speicher für jede Einheitszeitperiode gespeichert, und die digitale Verarbeitung wird für das Signal in der Einheit der Zeitperiode erzielt, d. h., daß die vorliegende Erfindung auch für die Informationssignalverarbeitung anderer Signale als dieser Videosignale anwendbar ist.

Claims (9)

1. Informations-Verarbeitungssystem mit einem Eingangs-/Ausgangsbereich (I), einem Speicherbereich (2) und einem Datenverarbeitungsbereich (3A, 3B) zur blockweisen Übermittlung von Daten über den Speicherbereich zwischen dem Eingangs-/Ausgangsbereich und dem Datenverarbeitungsbereich, um eine Verarbeitung durchzuführen, deren Startzeit mit den vom Eingangs-/Ausgangsbereich empfangenen Daten synchronisiert ist, dadurch gekennzeichnet, daß ein das Ende der blockweisen Verarbeitung anzeigendes Signal (OK) vom Datenverarbeitungsbereich (3A, 3B) dem Eingangs-/Ausgangsbereich (1) zugeführt wird und daß ein Verarbeitungsstart-Synchronisationssignal (PS), das abhängig von dem das Verarbeitungsende anzeigenden von dem Ausgangsbereich gelieferten Signal (OK) gebildet wird, dem Datenverarbeitungsbereich zugeführt wird, wobei das Verarbeitungsstart-Synchronisationssignal (PS) mit einer Datenblock-Periode (FL) synchronisiert wird, und
daß der Speicherbereich (2) einen Eingangsspeicher (VIMIN) umfaßt, einen Ausgangsspeicher (VIMOUT), einen ersten Adreßerzeugungsbereich (30Di) und einen zweiten Adreßerzeugungsbereich (30Dj) zum Erzeugen einer Adresse für den Eingangs- und den Ausgangsspeicher (2) in einer Konfiguration, in der jeder Adreßerzeugungsbereich (30 Di, 30 Dj) einen Berechnungsbereich für drei Richtungen umfaßt, wobei die Berechnungsbereiche miteinander verbunden sind, wobei
ein Datum aus dem Eingangsspeicher (VIMIN) basierend auf den Adressen von zwei Richtungen (Xi, Yi) aus den Adressen von drei Richtungen, die vom ersten Adreßerzeugungsbereich (30 Di) geliefert werden, ausgelesen wird, eine arithmetische Operation durch Verwendung der Adressen der zwei Richtungen und der Adresse der übrigen Richtung (Zi) ausgeführt wird, um die Adressen der drei Richtungen vom zweiten Adreßerzeugungsbereich (30 Dj) zu erhalten, und
ein Datum aus dem Eingangsspeicher (VIMIN) in den Ausgangsspeicher (VIMOUT) eingeschrieben wird basierend auf den Adressen von zwei Richtungen aus den Adressen von drei Richtungen vom zweiten Adreßerzeugungsbereich (30 Di).
2. Informations-Verbreitungssystem nach Anspruch 1, gekennzeichnet durch ein Synchronisations-Steuersystem (30) zur Ausgabe eines Zeitreihensignals als ein Synchronisations-SignaI (TS) und durch mehrere Hilfssysteme (31-36), die jeweils eine Verarbeitung durch Erfassen des Synchronisations-Signals auslösen, wobei das Synchronisations-Signal (TS) vom Synchronisations-Steuersystem über einen gemeinsamen Übertragungsweg den mehreren Hilfssystemen zugeführt wird, und wobei jedes Hilfssystem für das Synchronisations-Signal des Zeitreihensignals eine unterschiedliche Dekodierungs-Verarbeitung durchführt (Fig. 7), wobei jedes Hilfssystem ein einziges Verarbeitungsstart-Synchronisationssignal (TS) hat.
3. Informations-Verarbeitungssystem nach Anspruch 1 oder 2, gekennzeichnet durch
den Datenverarbeitungsbereich (3A, 3B) mit einem ersten Bereich zum hauptsächlichen Berechnen eines Datenwerts und einem zweiten Bereich zum Steuern des Datenflusses,
einen Prozessor für arithmetische Operationen, der zumindest in dem ersten oder zweiten Bereich angeordnet ist,
einen Haupt-Arithmetikbereich (300), der im Prozessor für die arithmetischen Operationen angeordnet ist, zur Durchführung einer Signalwertberechnung, und einen Hilfs-Arithmetikbereich (200) zum Erhalt einer Information, die für die Signalwertberechnung im Haupt-Arithmetikbereich notwendig ist, durch arithmetische Operationen.
4. Informations-Verarbeitungssystem nach einem der Ansprüche 1 bis 3, gekennzeichnet durch mehrere Programmspeicher (111-114a, 114b) zum Speichern verschiedener Programminhalte;
eine Datenverarbeitungseinheit (200, 201, 300) zur Ausführung einer bestimmten Verarbeitung durch Empfang eines Befehls vom Programmspeicher; und
eine Auswahlvorrichtung (116) zur Auswahl eines der mehreren Programmspeicher basierend auf einer Information aus der Datenverarbeitungseinheit (3A, 3B).
5. Informations-Verarbeitungssystem nach einem der Ansprüche 1 bis 4, gekennzeichnet durch einen Adreßerzeugungsbereich mit einem ersten Prozessor (302) zum Erzeugen einer komplexen Adresse, die für eine arithmetische Operation notwendig ist, einen zweiten Prozessor (301) zum Erzeugen einer relativ einfachen Adresse mit einer Regelmäßigkeit, und eine Auswahlvorrichtung (304) zur Auswahl einer Adresse vom ersten Prozessor und zweiten Prozessor, wobei eine Adresse vom ersten oder zweiten Prozessor zur Ausgabe passend ausgewählt wird.
6. Informations-Verarbeitungssystem nach einem der Ansprüche 1 bis 4, gekennzeichnet durch einen Adreßerzeugungsbereich mit einem ersten Prozessor (302) zum Erzeugen einer komplexen Adresse, die für eine arithmetische Operation notwendig ist, einen zweiten Prozessor (301) zum Erzeugen einer relativ einfachen Adresse mit einer Regelmäßigkeit, eine Kombinierungsvorrichtung (305) zum Kombinieren von Adressen vom ersten und zweiten Prozessor, und eine Auswahlvorrichtung (304) zur Auswahl einer Adresse vom ersten Prozessor und zweiten Prozessor und einer durch Kombination der Adressen erhaltene Adresse.
7. Informations-Verarbeitungssystem nach einem der Ansprüche 1 bis 6, gekennzeichnet durch den Speicherbereich (2) mit mehreren Speicheradressen und den Verarbeitungsbereich (3) mit mehreren Prozessoren zur Durchführung einer Verarbeitung der Speicherdaten des Speicherbereichs durch Einsatz des Verarbeitungsbereichs, wobei eine Adreßerzeugungseinheit umfaßt:
einen ersten Verarbeitungsbereich (361) zum Erzeugen einer Speicheradresse des Speicherbereichs, die sich in einfacher Art ändert, und zum Erzeugen eines ersten Steuersignals für den anderen Verarbeitungsbereich;
einen zweiten Verarbeitungsbereich (362) zum Erzeugen eines zweiten Steuersignals für den Verarbeitungsbereich aus einem Eingangs-/Ausgangssignal der Daten entsprechend dem ersten Steuersignal aus dem ersten Verarbeitungsbereich (361); und
einen dritten Verarbeitungsbereich (363A, 363B) zum Erzeugen einer Speicheradresse des Speicherbereichs, die sich auf komplexe Weise ändert entsprechend dem ersten Steuersignal aus dem ersten Verarbeitungsbereich (361), wobei die Speicheradresse dem Speicherbereich (2) zugeführt wird, indem die von dem ersten und dem dritten Verarbeitungsbereich erzeugten Adressen ausgewählt werden.
8. In formations- Verarbeitungssystem nach einem der Ansprüche 1 bis 7, gekennzeichnet durch eine Verarbeitungsausführung, bei der die um ein Pixeldatum (b2) liegenden Pixeldaten (a1-a3, b1-b3, c1-c3) benutzt werden, wobei mehrere Prozessoren (P1-P20) für die Verarbeitung vorgesehen sind und jedes Pixeldatum gleichzeitig den die Pixeldaten benötigenden mehreren (Pi, Pi+1, Pi+2) der mehreren Prozessoren zugeführt wird.
9. Informations-Verarbeitungssystem nach einem der Ansprüche 1 bis 8, dadurch gekennzeichnet, daß ein Faktor-Speicher (31 3X, 313Y) für jede der mehreren Verarbeitungs/Arithmetik-Einheiten (300X, 300Y) vorgesehen ist, so daß die Verarbeitungs/Arithmetik-Einheiten abhängig von einer Steuerung eines Steuerbereichs (100) angesteuert werden, und daß ein Faktor aus dem Faktor-Speicher ausgelesen wird, um eine arithmetische Verarbeitung durchzuführen, wobei Daten (Xij) in jeden Faktor-Speicher eingeschrieben werden, so daß der Faktor (aij), der zu einem beliebigen Zeitpunkt für die mehreren Verarbeitungs/Arithmetik-Einheiten benötigt wird, an der gleichen Adresse im Faktor-Speicher existiert, und eine Leseadresse, die vom Steuerbereich (100) erzeugt wird, gemeinsam jedem Faktor-Speicher zugeführt wird.
DE19863650069 1985-11-13 1986-11-13 Datenprozessor. Expired - Fee Related DE3650069T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP25452885A JPS62114044A (ja) 1985-11-13 1985-11-13 アドレス発生装置
JP60259539A JP2610817B2 (ja) 1985-11-19 1985-11-19 アドレス生成装置

Publications (2)

Publication Number Publication Date
DE3650069D1 DE3650069D1 (de) 1994-10-20
DE3650069T2 true DE3650069T2 (de) 1995-01-19

Family

ID=26541714

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19863650069 Expired - Fee Related DE3650069T2 (de) 1985-11-13 1986-11-13 Datenprozessor.

Country Status (6)

Country Link
EP (1) EP0222405B1 (de)
CA (2) CA1283738C (de)
DE (1) DE3650069T2 (de)
FR (2) FR2593622B1 (de)
GB (3) GB2183067B (de)
NL (1) NL8602885A (de)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
NL8800053A (nl) * 1988-01-11 1989-08-01 Philips Nv Videoprocessorsysteem, alsmede afbeeldingssysteem en beeldopslagsysteem, voorzien van een dergelijk videoprocessorsysteem.
US5237657A (en) * 1989-03-17 1993-08-17 Sony Corporation Apparatus for manipulating a picture represented by a video signal
GB2229336B (en) * 1989-03-17 1993-09-15 Sony Corp Picture manipulation
IE920032A1 (en) * 1991-01-11 1992-07-15 Marconi Gec Ltd Parallel processing apparatus
EP1555828A1 (de) * 2004-01-14 2005-07-20 Sony International (Europe) GmbH Verfahren für die Vorverarbeitung von blockbasierten Videodaten

Family Cites Families (52)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
NO119615B (de) * 1966-02-25 1970-06-08 Ericsson Telefon Ab L M
FR2028240A1 (de) * 1969-01-13 1970-10-09 California Computer Products
NL7110608A (de) * 1970-10-05 1972-04-07
US4330822A (en) * 1971-09-02 1982-05-18 Burroughs Corporation Recursive system and method for binding compiled routines
FR2296221A1 (fr) * 1974-12-27 1976-07-23 Ibm France Systeme de traitement du signal
US4024510A (en) * 1975-08-28 1977-05-17 International Business Machines Corporation Function multiplexer
US4290133A (en) 1977-10-25 1981-09-15 Digital Equipment Corporation System timing means for data processing system
GB2017987B (en) * 1978-03-29 1982-06-30 British Broadcasting Corp Method of and apparatus for processing data particularly digital audio signals
DE2963153D1 (en) * 1978-06-26 1982-08-12 Environmental Res Inst Apparatus and method for generating a transformation of a first data matrix to form a second data matrix
US4244019A (en) * 1978-06-29 1981-01-06 Amdahl Corporation Data processing system including a program-executing secondary system controlling a program-executing primary system
GB2052813B (en) * 1979-05-31 1983-03-09 Micronology Ltd Interface unit between a computer and a hardcopy output device
US4363104A (en) * 1980-09-22 1982-12-07 Hughes Aircraft Company Imaging system having multiple image copying and hierarchical busing
JPS5790650A (en) * 1980-11-28 1982-06-05 Toshiba Corp Control device for copying machine
US4510568A (en) * 1981-05-25 1985-04-09 Fanuc Ltd. Graphic processing method
US4503490A (en) * 1981-06-10 1985-03-05 At&T Bell Laboratories Distributed timing system
JPS58139241A (ja) * 1982-02-10 1983-08-18 Toshiba Corp 画像メモリアクセス方式
US4542453A (en) * 1982-02-19 1985-09-17 Texas Instruments Incorporated Program patching in microcomputer
GB2119594B (en) * 1982-03-19 1986-07-30 Quantel Ltd Video processing systems
JPS58215813A (ja) 1982-06-09 1983-12-15 Sony Corp デイジタル信号処理装置
US4530051A (en) * 1982-09-10 1985-07-16 At&T Bell Laboratories Program process execution in a distributed multiprocessor system
JPS5979349A (ja) * 1982-10-29 1984-05-08 Toshiba Corp 演算装置
DE3241189A1 (de) * 1982-11-08 1984-05-10 Siemens AG, 1000 Berlin und 8000 München Taktstromversorgung fuer ein multimikrocomputersystem in eisenbahnsicherungsanlagen
US4590556A (en) * 1983-01-17 1986-05-20 Tandy Corporation Co-processor combination
JPS59176838A (ja) 1983-03-28 1984-10-06 Dainippon Screen Mfg Co Ltd 画像演算処理方法
GB2138182B (en) * 1983-04-14 1986-09-24 Standard Telephones Cables Ltd Digital processor
JPS59198513A (ja) * 1983-04-26 1984-11-10 Nec Corp デイジタル信号処理装置
EP0153439B1 (de) * 1983-06-03 1993-08-04 Fondazione Pro Juventute Don Carlo Gnocchi Modular ausbaufähiges System zur Echtzeit-Verarbeitung einer TV-Anzeige, besonders brauchbar zur Koordinatenerfassung von Objekten von bekannter Form und Verfahren zur Benutzung dieses Systems bei Röntgenaufnahmen.
US4514647A (en) * 1983-08-01 1985-04-30 At&T Bell Laboratories Chipset synchronization arrangement
FR2569071B1 (fr) * 1983-09-30 1988-10-14 Thomson Csf Dispositif de traitement numerique de signal
US4646075A (en) * 1983-11-03 1987-02-24 Robert Bosch Corporation System and method for a data processing pipeline
US4586038A (en) * 1983-12-12 1986-04-29 General Electric Company True-perspective texture/shading processor
US4689823A (en) 1984-01-04 1987-08-25 Itek Corporation Digital image frame processor
US4680628A (en) * 1984-01-04 1987-07-14 Itek Corporation Realtime digital diagnostic image processing system
JPS60151789A (ja) * 1984-01-19 1985-08-09 Hitachi Ltd 多機能画像処理プロセツサ
AU576348B2 (en) * 1984-02-29 1988-08-25 Measurex Corporation Processing information
US4751637A (en) * 1984-03-28 1988-06-14 Daisy Systems Corporation Digital computer for implementing event driven simulation algorithm
GB2161666A (en) * 1984-07-09 1986-01-15 Philips Electronic Associated Video signal processing arrangement
GB2158321B (en) * 1984-04-26 1987-08-05 Philips Electronic Associated Arrangement for rotating television pictures
JPS60231235A (ja) * 1984-04-27 1985-11-16 インタ−ナショナル ビジネス マシ−ンズ コ−ポレ−ション イメ−ジ処理システム
GB8419291D0 (en) * 1984-07-27 1984-08-30 Micro Consultants Ltd Image processing apparatus
EP0174231B1 (de) * 1984-08-02 1990-11-14 Telemecanique Programmierbare Steuereinrichtung mit Zusatzprozessor
NO843822L (no) * 1984-09-24 1986-07-08 Olav Holberg Regnemaskinstruktur for ekstrapolasjon av boelgefelt.
GB8428443D0 (en) * 1984-11-10 1984-12-19 Int Computers Ltd Data processing
US4742443A (en) * 1985-03-28 1988-05-03 Allen-Bradley Company Programmable controller with function chart interpreter
GB2174860B (en) * 1985-05-08 1989-06-28 Sony Corp Methods of and circuits for video signal processing
WO1986007174A1 (en) * 1985-05-20 1986-12-04 Shekels Howard D Super-computer system architectures
GB2177871B (en) * 1985-07-09 1989-02-08 Sony Corp Methods of and circuits for video signal processing
JPH0632053B2 (ja) * 1985-07-17 1994-04-27 シャープ株式会社 集積回路装置
JPS6247786A (ja) * 1985-08-27 1987-03-02 Hamamatsu Photonics Kk 近傍画像処理専用メモリ
GB8521672D0 (en) * 1985-08-30 1985-10-02 Univ Southampton Data processing device
US4720780A (en) * 1985-09-17 1988-01-19 The Johns Hopkins University Memory-linked wavefront array processor
IT1182575B (it) * 1985-09-27 1987-10-05 Elsag Sistema per realizzare elaborazioni convolutive veloci su informazioni rappresentative di immagini

Also Published As

Publication number Publication date
GB8906178D0 (en) 1989-05-04
FR2593622A1 (fr) 1987-07-31
GB2213620B (en) 1990-04-25
GB2213621A (en) 1989-08-16
CA1293818C (en) 1991-12-31
CA1283738C (en) 1991-04-30
GB2213620A (en) 1989-08-16
GB2183067A (en) 1987-05-28
DE3650069D1 (de) 1994-10-20
GB8906179D0 (en) 1989-05-04
NL8602885A (nl) 1987-06-01
EP0222405A3 (en) 1989-08-23
GB2183067B (en) 1990-04-25
GB2213621B (en) 1990-04-25
GB8627179D0 (en) 1986-12-10
FR2641100A1 (de) 1990-06-29
FR2641100B1 (de) 1994-09-30
EP0222405A2 (de) 1987-05-20
FR2593622B1 (fr) 1994-05-06
EP0222405B1 (de) 1994-09-14

Similar Documents

Publication Publication Date Title
DE3309846C2 (de)
DE68929101T2 (de) Digitalsignalverarbeitungsanlage
DE69803266T2 (de) Schaltung zur bewegungsschätzung in codierern für digitalisierte videosequenzen
DE3689926T2 (de) Einrichtung zur sequenziellen Bildtransformation.
DE69433031T2 (de) Bildprozessor
DE3043084C3 (de) Anordnung zum Zusammenfassen mehrerer verschiedener Einzelbilder zu einem Gesamtbild
DE3506749C2 (de)
DE69228139T2 (de) System zur Abbildung von Videobildern
DE69937785T2 (de) Verfahren zur Selektion von Farbblockpunkten für die Blockkodierung
DE3814627C2 (de)
DE19704881C2 (de) Bildverfolgungsgerät zum Verfolgen eines Bildes innerhalb einer lokalen Region
DE3507948A1 (de) Videosignal-verarbeitungssystem
DE4224568C2 (de) Vorrichtung und Verfahren zur Bildung der Anzeige eines dreidimensionalen sequentiellen tomografischen Flächenschattierungsbildes
DE3113195A1 (de) "speicheradressiervorrichtung"
DE3804938A1 (de) Bildverarbeitungseinrichtung
DE3750862T2 (de) Verarbeitung von Videobildsignalen.
DE69328584T2 (de) Lokales Bildkompressionberechnungsverfahren und Vorrichtung zur Steuerung des Antialiasing-Filterns in dreidimensionaler Behandlung von zweidimensionalen Bildern
DE3851264T2 (de) Bildverarbeitungsverfahren.
DE3711201A1 (de) Binaerdatenverdichtungs- und -dehnungs-verarbeitungsgeraet
DE4408522C2 (de) Vorrichtung zur Bilddatenverarbeitung und Verfahren zur Verarbeitung von Bilddaten
DE3038195A1 (de) Vorrichtung zur verarbeitung von visueller information
DE69802269T2 (de) Vorrichtung und verfahren zum vergleichen von pixelblöcken
DE3650069T2 (de) Datenprozessor.
DE69324723T2 (de) DSP-Taktsteuerung
DE69609931T2 (de) Verfahren zur Datenverarbeitung in matrixförmigen Netzwerken in einem Bewegungsschätzungssystem

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee