DE3786986T2 - Bildbehandlungsvorrichtung. - Google Patents

Bildbehandlungsvorrichtung.

Info

Publication number
DE3786986T2
DE3786986T2 DE87903422T DE3786986T DE3786986T2 DE 3786986 T2 DE3786986 T2 DE 3786986T2 DE 87903422 T DE87903422 T DE 87903422T DE 3786986 T DE3786986 T DE 3786986T DE 3786986 T2 DE3786986 T2 DE 3786986T2
Authority
DE
Germany
Prior art keywords
processing
results
address
convolution
intermediate processing
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
DE87903422T
Other languages
English (en)
Other versions
DE3786986D1 (de
Inventor
Mitsuo Kurakake
Yutaka Muraoka
Shoichi Otsuka
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.)
Fanuc Corp
Original Assignee
Fanuc 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
Application filed by Fanuc Corp filed Critical Fanuc Corp
Publication of DE3786986D1 publication Critical patent/DE3786986D1/de
Application granted granted Critical
Publication of DE3786986T2 publication Critical patent/DE3786986T2/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
    • G06T5/00Image enhancement or restoration
    • G06T5/20Image enhancement or restoration using local operators
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/15Correlation function computation including computation of convolution operations
    • G06F17/153Multidimensional correlation or convolution

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Computational Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Algebra (AREA)
  • Computing Systems (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Image Processing (AREA)
  • Complex Calculations (AREA)
  • Picture Signal Circuits (AREA)
  • Image Analysis (AREA)

Description

    Technischer Hintergrund
  • Die vorliegende Erfindung bezieht sich auf eine Bildverarbeitungsvorrichtung, insbesondere auf eine Bildverarbeitungsvorrichtung zur Durchführung einer Faltungsverarbeitung in Bezug auf pluralische Posten von Pixeldaten, die in einem Teilbildspeicher gespeichert sind, auf der Basis eines Time-sharings, wobei eine vorher bestimmte Koeffizientenmatrix verwendet wird, die Reihen und Spalten aufweist.
  • Stand der Technik
  • Für Zwecke wie zum Schneiden eines Bildes, Entfernen eines Hintergrundgeräusches von einem Bild usw. ist es gängige Praxis, eine Faltungsverarbeitung in Bezug auf Pixeldaten eines Teilbildspeichers durchzuführen, wobei eine vorgegebene gewichtete Koeffizientenmatrix verwendet wird, die Reihen und Spalten aufweist.
  • Die Fig. 4(a) zeigt eine Koeffizientenmatrix mit fünf Reihen und fünf Spalten, und Fig. 4(b) zeigt 256 · 256 Posten von Pixeldaten A&sub1;&sub1;, A&sub1;&sub2;, . . . , A256 256 in einem Teilbildspeicher. Gewichtete Koeffizienten C&sub1;&sub1;, C&sub1;&sub2;, . . . , C&sub5;&sub5; in der Koeffizientenmatrix haben gewichtete Werte, um die obenerwähnten Zwecke zu erreichen.
  • Um eine Faltungsverarbeitung bezüglich der Pixeldaten der in Fig. 4(b) gezeigten Art in einem Teilbildspeicher mit einer Koeffizientenmatrix der in Fig. 4(a) gezeigten Art durchzuführen, wird ein Faltungsprozessor verwendet. Mit einem Faltungsprozessor wird eine partielle Faltungsverarbeitung in Bezug auf eine vorbestimmte Reihe von Pixeldaten eines Teilbildspeichers durchgeführt, die Ergebnisse dieser Zwischenverarbeitung werden in einem Puffer-RAM abgespeichert, danach werden die Zwischenergebnisse, die gerade im Puffer-RAM gespeichert wurden, gelesen, diese Zwischenergebnisse werden zu den Ergebnissen der nächsten partiellen Faltungsverarbeitung addiert, die vom Faltungsprozessor erhalten werden, die resultierende Summe wird wiederholt bei einer Adresse im Puffer-RAM gespeichert, wo die vorhergehenden Zwischenverarbeitungsergebnisse gespeichert wurden, und die Summe wird aus dieser Adresse gelesen. Folglich wird die Faltungsverarbeitung auf der Basis eines Time-sharings durchgeführt.
  • Mit der 5 · 5 Koeffizientenmatrix wird wie z. B. in Fig. 4(a) gezeigt die Time-sharing-Faltungsverarbeitung durchgeführt, wobei sie in fünf Stufen aufgeteilt wird. Wenn die Faltungsverarbeitung in Bezug auf die dritte Reihe der Pixeldaten in Fig. 4(b) durchgeführt wird, wird eine partielle Faltungsverarbeitung zwischen der ersten Reihe der Koeffizientenmatrix und der 1. bis 256. Spalte der Pixeldaten in der ersten Reihe in der ersten Verarbeitungsstufe ausgeführt. Wie in Fig. 6 gezeigt, wird
  • in der dritten bis 254. Reihe des Puffer-RAM als entsprechende Zwischenverarbeitungsergebnisse der Faltungsverarbeitung gespeichert. In diesem Zeitpunkt werden ungültige Daten (die mit "*", in den Zeichnungen angedeutet sind) in die erste, zweite, 255. und 256 Spalte eingegeben. Danach werden in einer zweiten Verarbeitungsstufe diese Zwischenverarbeitungsergebnisse, die im Puffer-RAM gespeichert wurden, gelesen, und im selben Zeitpunkt führt der Faltungsprozessor eine partielle Faltungsverarbeitung zwischen der zweiten Reihe der Koeffizientenmatrix und der ersten bis 256. Spalte der Pixeldaten in der zweiten Reihe durch. Diese partiellen Ergebnisse und die vorhergehenden Zwischenverarbeitungsergebnisse, die in einer Datenspeicherschaltung gespeichert wurden, werden addiert und die neuen Zwischenverarbeitungsergebnisse, die aus der Addition erhalten wurden, werden durch Wiedereinschreiben der vorhergehenden Zwischenverarbeitungsergebnisse in der dritten bis 254. Spalte des Puffer-RAM gespeichert, wie in Fig. 6(b) gezeigt ist, und zwar mit einer Zeitfolge, die durch einen Buspuffer gesteuert wird. Folglich werden
  • in die dritte bis 254. Spalte des Puffer-RAM geschrieben.
  • Die dritte, vierte und fünfte Verarbeitungsstufe wird durch diese Prozedur ausgeführt, um Zwischenverarbeitungsergebnisse der Art wie in den Fig. 6(c), (d) und (e) gezeigt in der ersten Reihe des Puffer-RAM zu speichern. Wenn die fünfte Verarbeitungsstufe durchgeführt wird, wird eine 5 · 5 Matrixfaltungsverarbeitung in Bezug auf die dritte Reihe des Teilbildspeichers vollendet, so daß Ergebnisse wie in Fig. 6(e) gezeigt erhalten werden. In anderen Worten:
  • Wenn jedoch eine Hochgeschwindigkeitsverarbeitung mit dieser konventionellen Vorrichtung zur Durchführung einer Faltungsverarbeitung auf der Basis eines Time-sharings versucht wird, ist eine vorgeschriebene Zeitperiode zum Lesen der Zwischenverarbeitungsergebnisse aus dem Puffer-RAM in die Datenspeicherschaltung, zum Addieren der Zwischenverarbeitungsergebnisse, die in der Speicherdatenschaltung gespeichert sind, und der nächsten Faltungsverarbeitungsergebnisse vom Faltungsprozessor erforderlich. Demnach ergibt sich das Problem, daß eine unangemessene Zeit gebraucht wird, um die Zwischenverarbeitungsergebnisdaten in den Puffer-RAM zu schreiben.
  • Wie beispielsweise im Zeitablaufdiagramm von Fig. 5 gezeigt ist, wird, wenn eine Faltungsverarbeitung bezüglich einer Reihe von Pixeldaten von Fig. 5(a) im Teilbildspeicher durchgeführt wird, eine Zeit T oder eine Verarbeitungsfrequenz f, die für eine partielle Faltungsverarbeitung benötigt wird, die durch den Faltungsprozessor durchgeführt wird, eine Videorate von 167 ns sein, wie in Fig. 5(b) gezeigt. In anderen Worten wird die Verarbeitung mit 6 MHz durchgeführt. Aus diesem Grund ist es notwendig, daß der Inhalt des Puffer-RAM mit dieser Rate gelesen (R) und geschrieben (W) wird.
  • Obwohl ein Puffer-RAM, der in der Lage ist, mit einer hohen Geschwindigkeit zu arbeiten, verwendet wird, beträgt die Zugriffszeit mit C-MOS-RAMs, die zur Zeit erhältlich sind, 50 ns.
  • Fig. 5(b) zeigt den Zeitablauf, mit dem die Faltungsverarbeitungsergebnisse der ersten Stufe in den Puffer- RAM geschrieben (W) werden, und Fig. 5(c) zeigt die zweite Stufe der Zeitfolge, mit der die Zwischenverarbeitungsergebnisse der ersten Verarbeitungsstufe, die im Puffer-RAM gespeichert sind, gelesen (R) werden, und die Summe, die durch Addieren dieser Ergebnisse zu den nächsten Verarbeitungsergebnissen erhalten wird, wird in den Puffer-RAM geschrieben (W). Man sieht aus den Fig. 5(c) und (d), daß, nachdem die Zwischenverarbeitungsergebnisse, die im Puffer-RAM in Übereinstimmung mit der ersten Verarbeitungsstufe gespeichert sind, gelesen (R) und in der Datensignalspeicherschaltung gespeichert werden, die Zeitfolge zur Ausgabe der Ergebnisse aus der Signalspeicherschaltung zum Addierer um eine vorgegebene Zeitperiode verzögert wird.
  • Fig. 5(e) zeigt die Ausgabe der Verarbeitungsergebnisse beim nächsten Verarbeitungszyklus des Faltungsprozessors. Fig. 5(f) zeigt die Zeitfolge für das Addieren der Ergebnisse, die im nächsten Verarbeitungszyklus des Faltungsprozessors und der Ausgabe von der Datensignalspeicherschaltung erhalten werden, wie in Fig. 5(d) gezeigt ist. Der schraffierte Bereich zeigt, daß die Ausgabe des Addierers nicht gültig ist. Die Zeitfolge, mit der die Ergebnisse der Addition, die vom Addierer erhalten werden, in den Puffer- RAM geschrieben werden, ist so wie in Fig. 5(g) gezeigt. Dies geschieht durch eine Buspuffer-Ein-/Aus-Steuerung und ein Puffer-RAM-Schreibermöglichungssignal. Man sieht aus den Fig. 5(f) und (g), daß, da die Ergebnisse der Addition, die vom Addierer erhalten werden, beträchtlich bezüglich der Zeitfolge verzögert sind, mit dem diese Ergebnisse in den Puffer-RAM geschrieben sind, die Zwischenverarbeitungsergebnisse nicht mit Sicherheit im Puffer-RAM gespeichert werden können.
  • Da der Prozessor folglich eine Faltungsverarbeitung mit einer Videorate von 167 ns ausführt, gibt es eine Begrenzung mit einer Lese-/Schreibsteuerung eines RAM, der eine Zugriffszeit von 50 ns hat. Um diese zeitliche Lese/Schreibbegrenzung zu vermeiden, ist die herkömmliche Vorrichtung so angepaßt, daß die Faltungsverarbeitung zweimal in der Periode ausgeführt wird, d. h. in einer Zeit, die 2 · T entspricht. Als Folge davon kann die Bildverarbeitung nicht beschleunigt werden.
  • Die vorliegende Erfindung hat die Aufgabe, die obenerwähnten Probleme zu lösen und eine Bildverarbeitungsvorrichtung vorzusehen, bei der eine Schreib-/Lesesteuerung mit Sicherheit durchgeführt werden kann und mit der es möglich ist, die Faltungsverarbeitung zu beschleunigen, sogar dann, wenn ein RAM verwendet wird, der eine Zugriffszeit von 50 ns in Bezug auf eine Videorate von z. B. 167 ns hat.
  • Offenbarung der Erfindung
  • Nach der Erfindung ist eine Bildverarbeitungsvorrichtung vorgesehen, so wie sie durch den Anspruch 1 beansprucht wird.
  • Kurzbeschreibung der Zeichnungen
  • Fig. 1 ist ein Blockdiagramm, das die erfindungsgemäße Bildverarbeitungsvorrichtung zur Durchführung einer Time-sharing-Faltungsverarbeitung zeigt;
  • Fig. 2 ist ein Zeitdiagramm einer Time-sharing-Faltungsverarbeitung nach der Erfindung;
  • Fig. 3 ist eine Ansicht, die die Art und Weise zeigt, in der Zwischenverarbeitungsergebnisse in einem Puffer-RAM nach der Erfindung gespeichert werden;
  • Fig. 4 ist eine erläuternde Ansicht, die ein generelles Beispiel einer Bildverarbeitung zeigt, bei der (a) eine Ansicht ist, die eine Koeffizientenmatrix in einem Koeffizientenspeicher zeigt und (b) eine Ansicht ist, die Pixeldaten in einem Teilbildspeicher zeigt, die einer Faltungsverarbeitung unterworfen werden sollen;
  • Fig. 5 ist ein Zeitdiagramm einer Faltungsverarbeitung in einer konventionellen Bildverarbeitungsvorrichtung; und
  • Fig. 6 ist eine Ansicht, die die Art und Weise zeigt, mit der Zwischenverarbeitungsergebnisse in einem Puffer-RAM in der konventionellen Vorrichtung gespeichert werden.
  • Beste Weise zur Ausführung der Erfindung
  • Eine Ausführung der Erfindung wird nun im Detail unter Bezugnahme auf die Zeichnungen beschrieben.
  • Fig. 1 ist ein Blockdiagramm, das die erfindungsgemäße Verarbeitungsvorrichtung zur Durchführung der Timesharing-Faltungsverarbeitung zeigt. Ein Hauptprozessor 1 versorgt eine Steuereinheit 2 mit einem Befehl zur Steuerung der Faltungsverarbeitung. Auf der Basis dieses Befehls gibt die Steuereinheit 2 Steuersignale für eine Time-sharing-Faltungsverarbeitung aus.
  • Bilddaten, die beispielsweise aus 256 · 256 Pixeln bestehen, sind zuvor in einem Teilbildspeicher 3 gespeichert, deren Leseadresse durch einen Ursprungzähler 31 bestimmt wird. Auf der Basis eines Steuersignals von der Steuereinheit 2 bestimmt der Ursprungzähler 31 die Adresse des Teilbildspeichers 3, wodurch Pixeldaten einer vorbestimmten Reihe oder Spalte, d. h. der Gegenstand der Verarbeitung, vom Teilbildspeicher 3 an einen Faltungsprozessor 4 ausgegeben werden. Der Faltungsprozessor 4 führt eine Faltungsverarbeitung auf der Basis des Time-sharings durch, d. h. in fünf Stufen in Bezug auf die vorbestimmten Pixeldaten vom Teilbildspeicher und beispielsweise einer 5 · 5 Koeffizientenmatrix in einem Koeffizientenspeicher (nicht gezeigt). Die Ausgabeinformation des Faltungsprozessors 4 wird an einen Eingang eines Addierers 5 angelegt. An den anderen Eingang des Addierers 5 werden die Ausgabedaten von einem Datensignalspeicher 6 angelegt. Der Addierer 5 addiert Zwischenverarbeitungsergebnisse vom Faltungsprozessor 4 und die früheren Zwischenverarbeitungsergebnisse von der Signalspeicherschaltung 6. Die effektive Periode der Ausgabeinformation des Addierers 5 wird durch ein Steuersignal von der Steuereinheit 2 bestimmt.
  • Die Ausgabeinformation des Addierers 5 wird an eine Verzögerungsschaltung, beispielsweise an ein Pipeline-Register 7 angelegt. Das Pipeline-Register 7 besteht beispielsweise aus einem D-Typ-Flipflop und verzögert die Ausgabeinformation des Addierers 5 bis zum Beginn des nächsten Faltungsverarbeitungszyklus. Die Ausgabeinformation des Pipeline-Registers 7 wird an einen Buspufferspeicher 8 angelegt. Der Buspufferspeicher 8 wird aus/ein- gesteuert durch ein Steuersignal von der Steuereinheit 2. Es ist für die Ausgabeinformation des Pipeline-Registers 7 möglich, daß sie in einen Puffer-RAM 9 während der Zeit eingeschrieben wird, in der der Buspufferspeicher 8 "ein" ist. Da die Ausgabeinformation des Addierers 5 durch das Pipeline-Register 7 verzögert wird, wird die Anfangsadresse zum Schreiben der Daten in den RAM 9 um +1 verschoben, und zwar immer dann, wenn Zwischenverarbeitungsergebnisse addiert werden.
  • Der Puffer-RAM 9 speichert die Zwischenverarbeitungsergebnisse der Time-sharing-Verarbeitung und ist angepaßt, um die Zwischenverarbeitungsergebnisse der Timesharing-Verarbeitung in Bezug auf eine Reihe von Pixeldaten im Teilbildspeicher 3 zu speichern. Beim Stand der Technik genügt es, wenn der RAM groß genug ist, 256 Pixel zu speichern. Nach der vorliegenden Erfindung wird jedoch die Adresse inkrementiert jedes Mal dann, wenn Zwischenverarbeitungsergebnisse dank des Vorsehens des Pipeline-Registers 7 erhalten werden. Mit der Time-sharing-Verarbeitung, die in fünf Stufen durchgeführt wird, ist deshalb ein zusätzlicher Bereich äquivalent vier Pixeln erforderlich.
  • Ein Adreßzähler 10 liefert eine Schreib-/Leseadresse zum Puffer-RAM 9 aufgrund der Steuerung der Steuereinheit 2. Wenn Daten in den Puffer-RAM 9 geschrieben werden, werden eine Startadresse zum Schreiben der Zwischenverarbeitungsergebnisse der ersten Stufe und Startadressen zum Schreiben der folgenden Zwischenverarbeitungsergebnisse durch eine +1 -Adresse inkrementiert. Wenn also Daten aus dem Puffer-RAM 9 gelesen werden, ist es erforderlich, daß Startadressen zum Lesen der Zwischenverarbeitungsergebnisse der ersten, zweiten, dritten vierten und fünften Stufe durch eine +1 -Adresse inkrementiert werden, wie oben beschrieben. Für diesen Zweck ist ein Adreßregister 11 vorgesehen.
  • Wenn man den Betrieb auf diese Weise ausführt, daß ein Adreßwert, der mit +1 über der Startadresse der Zwischenverarbeitung inkrementiert wird, von dem Adreßzähler 10 voreingestellt ist, wird "+1" im Adreßregister 11 gespeichert. Jedesmal wenn ein partieller Faltungsverarbeitungszyklus endet, wird der Wert im Adreßregister 11 im Adreßzähler 10 als Startadreßwert des Adressenzählers 10 aufgrund der Steuerung der Steuereinheit 2 eingestellt, wodurch die Startadresse mit +1 inkrementiert wird. Bei der ersten Stufe der Zwischenverarbeitung wird jedoch der Zähler 10 gelöscht, um von der Adresse +1 zu starten. Wenn Zwischenverarbeitungsergebnisse gelesen werden, sendet der Adreßzähler 10 die Zwischenverarbeitungsergebnisse, die Adresse, die durch den Adreßzähler 10 bestimmt wird, zur Datensignalspeicherschaltung 6.
  • Wenn fünf Stufen der partiellen Faltungsverarbeitung einer Reihe durchgeführt wurden, werden die kompletten Faltungsergebnisse, die Pixel entsprechend der dritten Reihe des Teilbildspeichers 3 betreffen, nämlich
  • vom Addierer 5 ausgegeben. Folglich werden die Ergebnisse der Faltungsverarbeitung, die die vierte, fünfte, 254. Reihe des Teilbildspeichers 3 betreffen, nacheinander bei allen fünf Stufen der partiellen Faltung ausgegeben. Daher können diese Ergebnisse zu einem Teilbildspeicher 13 übertragen werden. Für die Übertragung wird ein Bestimmungszähler 12 verwendet.
  • Die Arbeitsweise der Erfindung wird nun unter Bezugnahme auf die Fig. 2 und 3 beschrieben.
  • Fig. 2 ist ein Zeitdiagramm, das die Schreib/Lesezeitfolge bezüglich des Puffer-RAM 9 zeigt, Fig. 3(a) bis (d) zeigt die Art und Weise, mit der Zwischenverarbeitungsergebnisse in den Puffer-RAM 9 in der ersten, zweiten, dritten und vierten Stufe jeweils geschrieben werden, und Fig. 3(e) zeigt die Ergebnisse der fünften Verarbeitungsstufe, nämlich die kompletten Faltungsergebnisse. Die Ergebnisse der fünften Bearbeitungsstufe werden direkt im Teilbildspeicher 13 ohne in den Puffer-RAM 9 geschrieben zu werden gespeichert.
  • Fig. 2(a) zeigt eine Reihe von Pixeldaten im Teilbildspeicher 3, und Fig. 2(b) zeigt einen ersten Zyklus der Schreibfolge bezüglich des Puffer-RAM 9.
  • Zum Schreiben des ersten Zyklus der Zwischenverarbeitungsergebnisse sei angenommen, daß der Inhalt der Datensignalspeicherschaltung 6 gelöscht ist und keine Daten aus dem Puffer-RAM 9 gelesen werden. Die erste Stufe der Zwischenverarbeitungsergebnisse vom Faltungsprozessor 4 wird in der zweiten bis 257.- Adresse des Puffer-RAM 9 gespeichert, wie in Fig. 3(a) gezeigt ist. Hier sind die Daten der zweiten, dritten, 256. und 257. Adresse ungültige Daten.
  • Zum Schreiben der zweiten Stufe der Zwischenverarbeitungsergebnisse werden zuerst die Daten, die im Puffer- RAM 9 von der zweiten bis 257. Adresse geschrieben wurden, mit einer zeitlichen Folge zum Lesen (R) gelesen, wie in Fig. 2(c) gezeigt ist, und diese Daten werden in der Datensignalspeicherschaltung 6 gespeichert. Als nächstes wird die erste Stufe der Zwischenverarbeitungsergebnisse, die in der Signalspeicherschaltung 6 gespeichert sind, mit einer zeitlichen Folge wie in Fig. 2(d) gezeigt, gelesen. Diese Ergebnisse werden mit den nächsten Zwischenverarbeitungsergebnissen vom Faltungsprozessor 4 im Addierer 5 mit einer zeitlichen Folge addiert, wie in Fig. 2(f) gezeigt ist. Die Ergebnisse der Addition werden durch das Pipeline-Register 7 verzögert, wie in Fig. 2(h) gezeigt ist, und diese verzögerte zweite Stufe der Zwischenverarbeitungsergebnisse wird in den Puffer-RAM 9 mit einer zeitlichen Folge wie in Fig. 2(g) gezeigt geschrieben. Die zeitliche Folge für das Schreiben wird wie in Fig. 2(g) gezeigt durch Steuern des Buspuffers 8 durch die Steuereinheit 2 gebildet, wie oben erwähnt. Die Startadresse des Puffer-RAM 9, bei der die zweite Stufe der Zwischenverarbeitungsergebnisse gespeichert wird, wird durch eine Adresse um "+1" verschoben, wie man aus den Fig. 2(a), 2(h) sieht. Folglich werden die Zwischenverarbeitungsergebnisse der zweiten Stufe von der dritten Adresse bis zur 258. Adresse in den Puffer-RAM 9 geschrieben, wie in Fig. 3(b) gezeigt. Hier sind die Daten bei der dritten, vierten, 257. und 258. Adresse, nämlich die zwei Pixeldaten links und die zwei Pixeldaten rechts ungültige Daten.
  • Als nächstes müssen zum Schreiben der dritten Stufe der Zwischenverarbeitungsergebnisse die Zwischenverarbeitungsergebnisse der zweiten Stufe, die im Puffer-RAM 9 bei der dritten bis 258. Adresse gespeichert sind, gelesen und in der Datensignalspeicherschaltung 6 gespeichert werden. Die dritte Adresse, die um +1 gegenüber der zweiten Adresse inkrementiert ist, die die Startadresse des zweiten Zyklus ist, wird im Adreßzähler 10 durch das Adreßregister 11 voreingestellt. Als Folge davon ist es möglich, von der dritten Adresse des Puffer-RAM 9 zu lesen. Hier wird die Steuerung durch die Steuereinheit 2 in einer solchen Weise ausgeübt, daß ein Adreßwert, der um +1 gegenüber der Startadresse der Zwischenverarbeitung inkrementiert wird, im Adreßregister 11 vom Adreßzähler 10 die ganze Zeit voreingestellt wird.
  • Folglich werden in der dritten Schreibstufe die Zwischenverarbeitungsergebnisse der dritten Stufe in den Puffer-RAM von der vierten bis 259. Adresse geschrieben, wie in Fig. 3(c) gezeigt. Wenn die vierte Schreibstufe ausgeführt wird, wird der Anfangswert "1", der jetzt im Adreßzähler 10 ist, durch das Adreßregister 11 auf "4" voreingestellt und die Zwischenverarbeitungsergebnisse der dritten Stufe werden von der vierten Adresse des Puffer-RAM 9 gelesen und in der Datensignalspeicherschaltung 6 gespeichert. In der vierten Schreibstufe werden die Zwischenverarbeitungsergebnisse der vierten Stufe in den Puffer-RAM 9 von der fünften bis 260. Adresse geschrieben, wie in Fig. 3(d) gezeigt ist. Folglich werden in der fünften Stufe die kompletten Faltungsergebnisse, die in Fig. 3(e) gezeigt sind, in der dritten Reihe des Teilbildspeichers 13 unmittelbar gespeichert, ohne in den Puffer-RAM 9 geschrieben werden zu müssen.
  • Somit wird wie oben bemerkt das Pipeline-Register 7 hinter dem Addierer 5 beliefert und die Zeitfolge, mit der die Zwischenverarbeitungsergebnisse geschrieben werden, wird durch eine Adresse durch das Pipelineverfahren verzögert, wie in Fig. 2(h) gezeigt, wobei als Folge davon kein Abfall der hohen Verarbeitungsgeschwindigkeit des Faltungsprozessors 4 auftritt. In anderen Worten können die Zwischenverarbeitungsergebnisse in den Puffer-RAM 9 zuverlässig geschrieben werden, ohne den vorbestimmten Verarbeitungszyklus T des Faltungsprozessors anzugreifen. Weiterhin können mit der Ein-Adresse der zeitlichen Schreibfolge die Zwischenverarbeitungsergebnisse des vorherigen Verarbeitungszyklus, die synchron mit der unmittelbar vorherigen zeitlichen Schreibfolge geschrieben wurden, zuverlässig durch Inkrementieren der Startadresse des Adreßzählers 10 um "+1" gelesen werden, wann auch immer die Zwischenverarbeitungsergebnisse gelesen werden müssen.
  • Industrielle Anwendbarkeit
  • Gemäß der Bildverarbeitungsvorrichtung nach der vorliegenden Erfindung ist eine Verzögerungsschaltung wie ein Pipeline-Register hinter einem Addierer vorgesehen und Zwischenverarbeitungsergebnisse vom Addierer werden koordiniert mit der Zeitfolge, mit der Daten in einen Puffer-RAM geschrieben werden. Dadurch ist es möglich, Daten in den Puffer-RAM mit Sicherheit zu schreiben und gleichzeitig ist es möglich, die Faltungsverarbeitungsgeschwindigkeit zu erhöhen.
  • Weiterhin ist sie so aufgebaut, daß ein Adreßzähler und ein Adreßregister kombiniert werden, um die Adresse des Puffer-RAM zu bestimmen, und daß der Anfangswert im Adreßzähler überprüft wird und auf einen Wert gesetzt wird, der eine Verschiebung der Schreibadresse bewirkt. Folglich werden die vorher bestimmten Zwischenverarbeitungsergebnisse zuverlässig aus dem Puffer-RAM gelesen.

Claims (4)

1. Bildverarbeitungsvorrichtung zur Durchführung einer Faltungsverarbeitung bezüglich von pluralischen Posten (A1,1 bis A&sub2;&sub5;&sub6;,&sub2;&sub5;&sub6;) von Pixeldaten, die in Form einer Matrix organisiert sind, die Reihen und Spalten aufweist, auf der Basis eines Time-sharings, d. h. in einer Vielzahl von aufeinanderfolgenden Stufen mit einer vorbestimmten Koeffizientenmatrix (C&sub1;&sub1; bis C&sub5;&sub5;), die Reihen und Spalten aufweist, wobei die Anzahl der Stufen identisch mit der Anzahl der Reihen der letzteren Matrix ist, mit
einem Teilbildspeicher (3), der die pluralischen Posten von Pixeldaten speichert;
Verarbeitungsmitteln (4) zum Ausführen der Faltungsverarbeitung bezüglich jedes Postens der Pixeldaten auf der Basis eines Time-sharings in der genannten Vielzahl von aufeinanderfolgenden Stufen mit den Koeffizientenmatrixdaten;
Puffermitteln (9) zum Speichern der Zwischenverarbeitungsergebnisse einer Stufe, die durch die Faltungsverarbeitung erhalten wurden;
Addiermitteln (5) zum Lesen der gespeicherten Zwischenverarbeitungsergebnisse einer Stufe und zum Addieren dieser Ergebnisse zu den Zwischenverarbeitungsergebnissen, die die nächste Stufe betreffen, und die von den Verarbeitungsmitteln im nächsten Verarbeitungszyklus erhalten werden; und
Adreßmitteln (10, 11) zur Bestimmung einer Schreibadresse der Puffermittel und zur Bestimmung einer Leseadresse der Puffermittel, gekennzeichnet durch
Verzögerungsmittel (7) zur Verzögerung der Additionsergebnisse für eine vorbestimmte Zeitdauer und zum Speichern dieser in die Puffermittel durch Wiedereinschreiben der Zwischenverarbeitungsergebnisse in die Puffermittel, und
wobei die Adreßmittel die Leseadresse der Puffermittel aufgrund einer Überprüfung der Leseadresse durch einen Betrag bestimmen, der äquivalent einer Verschiebung in der Schreibadresse ist, infolge einer Verzögerungszeit, die durch die Verzögerungsmittel eingestellt ist.
2. Bildverarbeitungsvorrichtung nach Anspruch 1, dadurch gekennzeichnet, daß sie Datensignalspeichermittel (6) zur Durchführung einer Steuerung in einer Weise aufweist, daß die Zwischenverarbeitungsergebnisse eines vorherigen Zyklus zu den Addiermitteln (5) im nächsten Verarbeitungszyklus (4) gelesen werden.
3. Bildverarbeitungsvorrichtung nach Anspruch 1, dadurch gekennzeichnet, daß die Verzögerungsmittel durch ein Pipeline-Register (7) gebildet werden.
4. Bildverarbeitungsvorrichtung nach Anspruch 1, dadurch gekennzeichnet, daß eine Speicherkapazität der Puffermittel (9) modifiziert wird und in Abhängigkeit der Koeffizientenmatrixdaten, die durch die Verarbeitungsmittel (4) verwendet werden, eingestellt wird.
DE87903422T 1986-05-23 1987-05-23 Bildbehandlungsvorrichtung. Expired - Fee Related DE3786986T2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP61118686A JPS62274471A (ja) 1986-05-23 1986-05-23 画像処理装置

Publications (2)

Publication Number Publication Date
DE3786986D1 DE3786986D1 (de) 1993-09-16
DE3786986T2 true DE3786986T2 (de) 1993-11-25

Family

ID=14742677

Family Applications (1)

Application Number Title Priority Date Filing Date
DE87903422T Expired - Fee Related DE3786986T2 (de) 1986-05-23 1987-05-23 Bildbehandlungsvorrichtung.

Country Status (5)

Country Link
US (1) US4945496A (de)
EP (1) EP0267967B1 (de)
JP (1) JPS62274471A (de)
DE (1) DE3786986T2 (de)
WO (1) WO1987007412A1 (de)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2639412B2 (ja) * 1987-06-01 1997-08-13 株式会社鷹山 画像処理方法
FR2638871B1 (fr) * 1988-11-09 1994-06-03 Jutand Francis Procede et circuit de filtrage de signal de representation d'image
US5268771A (en) * 1989-02-15 1993-12-07 Hitachi, Ltd. Image restoration processing system and method
JPH04295980A (ja) * 1991-03-25 1992-10-20 Eastman Kodak Japan Kk 画像読み取り装置
US5438636A (en) * 1992-05-14 1995-08-01 United Parcel Service Of America, Inc. Apparatus for simultaneously convolving multiple digital binary images using a single convolver with a binary mask to determine pixel densities
US5881178A (en) * 1994-05-20 1999-03-09 Image Resource Technologies, Inc. Apparatus and method for accelerating the processing of data matrices
US5912673A (en) * 1995-11-27 1999-06-15 Sun Microsystems, Inc. Graphical image convolution using multiple pipelines
KR970049860A (ko) * 1995-12-30 1997-07-29 이대원 컨벌류션 계산 장치
CN109754359B (zh) * 2017-11-01 2021-12-07 腾讯科技(深圳)有限公司 一种应用于卷积神经网络的池化处理的方法及***

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS51141536A (en) * 1975-05-31 1976-12-06 Toshiba Corp Image-paralleling calculation processing device
US4135247A (en) * 1977-08-15 1979-01-16 Siemens Aktiengesellschaft Tomography signal processing system
US4328426A (en) * 1980-08-04 1982-05-04 Xerox Corporation Filter for image pixels
US4398176A (en) * 1980-08-15 1983-08-09 Environmental Research Institute Of Michigan Image analyzer with common data/instruction bus
JPS6053349B2 (ja) * 1981-06-19 1985-11-25 株式会社日立製作所 画像処理プロセツサ
JPS5851376A (ja) * 1981-09-22 1983-03-26 Agency Of Ind Science & Technol 重畳積分計算方式
JPS58115492A (ja) * 1981-12-29 1983-07-09 シャープ株式会社 パタ−ン認識用自己相関器
JPS60123964A (ja) * 1983-12-07 1985-07-02 Yokogawa Hokushin Electric Corp 補間演算装置
US4635292A (en) * 1983-12-19 1987-01-06 Matsushita Electric Industrial Co., Ltd. Image processor
JPS617655A (ja) * 1984-06-21 1986-01-14 Seiko Epson Corp 半導体装置
JPH0650523B2 (ja) * 1985-01-29 1994-06-29 三菱電機株式会社 画像処理装置
EP0325181B1 (de) * 1988-01-19 1995-04-05 National Semiconductor Corporation Verfahren zum Herstellen eines Polysiliciumemitters und eines Polysiliciumgates durch gleichzeitiges Ätzen von Polysilicium auf einem dünnen Gateoxid

Also Published As

Publication number Publication date
EP0267967B1 (de) 1993-08-11
EP0267967A4 (en) 1990-09-19
JPS62274471A (ja) 1987-11-28
US4945496A (en) 1990-07-31
WO1987007412A1 (en) 1987-12-03
DE3786986D1 (de) 1993-09-16
EP0267967A1 (de) 1988-05-25

Similar Documents

Publication Publication Date Title
DE3789116T2 (de) Prozessor zur zweidimensionalen diskreten cosinustransformation.
DE2451982C2 (de)
DE3338345C2 (de)
DE3132225C2 (de) Einrichtung für die Adressierung gespeicherter Ergebniswerte bei einer schnellen Hadamard-Transformation
DE3689926T2 (de) Einrichtung zur sequenziellen Bildtransformation.
DE3687789T2 (de) Bildsignalverarbeitungsgeraet.
DE69315001T2 (de) Fehlerdiffusionsprozessor und Verfahren zur Umwandlung eines Bildes mit Grauskalaelementen in ein Bild mit Binärwertelementen
DE3879637T2 (de) Pufferspeichergeraet und -verfahren, insbesondere fuer die matrixtransposition von datenfolgen.
DE3011552A1 (de) Datenverarbeitungsanlage mit einem hauptspeicher sowie wenigsten einem datenprozessor mit zugeordnetem adressenumformer
DE2625973B2 (de) Verfahren und Anordnung zur redundanzvermindernden Transformation von Bildern
DE3632639C2 (de) Einrichtung zum Hochgeschwindigkeitsverarbeiten von Bilddaten durch Faltung
DE2718849A1 (de) Rechenspeicher mit mehrdimensionalem, parallelem zugriff
DE3400723C2 (de)
DE3209073C2 (de) Anordnung zum Umsetzen der Zahl von Abtastlinien
DE2712224A1 (de) Datenverarbeitungsanlage
DE69125874T2 (de) Generator für mehrdimensionale Adressen und Anordnung zum Steuern desselben
DE3786986T2 (de) Bildbehandlungsvorrichtung.
DE3586326T2 (de) Anlage zum verarbeiten und segmentieren von bildern.
DE68927202T2 (de) Paralleler Prozessor
DE3636105A1 (de) Digitaler signalprozessor
DE2133638B2 (de) Verfahren zum Betrieb eines lernfähigen Systems aus in Kaskade geschalteten, zur nicht linearen Datenverarbeitung geeigneten lernfähigen Datenverarbeitungseinheiten
DE3885294T2 (de) Parallele pipeline-bildverarbeitungseinheit mit einem 2x2-fenster.
DE3854039T2 (de) Bildverarbeitungssystem.
DE3786225T2 (de) Bildbehandlungsvorrichtung.
DE69129916T2 (de) Schaltung zur Erzeugung einer Adresse eines Wahlspeichers

Legal Events

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