DE69729368T2 - Bildprozessor, Gerät und Verfahren zur Bildverarbeitung - Google Patents

Bildprozessor, Gerät und Verfahren zur Bildverarbeitung Download PDF

Info

Publication number
DE69729368T2
DE69729368T2 DE69729368T DE69729368T DE69729368T2 DE 69729368 T2 DE69729368 T2 DE 69729368T2 DE 69729368 T DE69729368 T DE 69729368T DE 69729368 T DE69729368 T DE 69729368T DE 69729368 T2 DE69729368 T2 DE 69729368T2
Authority
DE
Germany
Prior art keywords
image
image data
sum
pixels
data values
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
DE69729368T
Other languages
English (en)
Other versions
DE69729368D1 (de
Inventor
Mitsuji Hitachinaka-shi Ikeda
Syoji Hitachi-shi Yoshida
Keisuke Hitachi-shi Nakashima
Koyo Hitachioota-shi Katsura
Shigeru Hitachinaka-shi Shibukawa
Haruo Nishitama-gun Yoda
Takashi Hitachi-shi Hotta
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from JP34495596A external-priority patent/JP3721681B2/ja
Priority claimed from JP539997A external-priority patent/JPH10208035A/ja
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Publication of DE69729368D1 publication Critical patent/DE69729368D1/de
Application granted granted Critical
Publication of DE69729368T2 publication Critical patent/DE69729368T2/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
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/74Image or video pattern matching; Proximity measures in feature spaces
    • G06V10/75Organisation of the matching processes, e.g. simultaneous or sequential comparisons of image or video features; Coarse-fine approaches, e.g. multi-scale approaches; using context analysis; Selection of dictionaries
    • G06V10/751Comparing pixel values or logical combinations thereof, or feature values having positional relevance, e.g. template matching
    • G06V10/7515Shifting the patterns to accommodate for positional errors

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Multimedia (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Software Systems (AREA)
  • Evolutionary Computation (AREA)
  • Databases & Information Systems (AREA)
  • Artificial Intelligence (AREA)
  • Health & Medical Sciences (AREA)
  • Image Analysis (AREA)
  • Image Processing (AREA)
  • Apparatus For Radiation Diagnosis (AREA)

Description

  • HINTERGRUND DER ERFINDUNG
  • Die vorliegende Erfindung betrifft das Gebiet einer Computeranwendungsvorrichtung und insbesondere einen Bildprozessor und eine Bildverarbeitungsvorrichtung, die sie verwenden.
  • Genauer gesagt, betrifft die vorliegende Erfindung ein Vorlagenmatching bzw. einen Vorlagenvergleich zum Extrahieren eines Bereichs, der einem Vorlagebild ähnelt, aus einem Objektbild mit einer gleitenden Mittelwertbildungsfilterung für die Bilddaten aller Pixel, wobei dies unter Verwendung von Pixeln in einem das Pixel enthaltenden rechteckigen Filterbereich in einem Objektbild ausgeführt wird, wobei die Größe des rechteckigen Bereichs vorgegeben ist.
  • Die vorliegende Erfindung betrifft ein Mustererkennungsverfahren und eine Vorrichtung, bei der das Verfahren verwendet wird, wobei diese zum Positionieren von Elementen in einer Halbleitervorrichtung, zum Suchen von Teilen in einer FA-Straße, zum Fernmessen usw. verwendet werden.
  • Auf verschiedenen Gebieten, bei denen eine Bildverarbeitung verwendet wird, wird ein Verfahren zum Vorlagenmatching bzw. ein Vorlagenvergleichsverfahren zum Suchen eines Teilbereichs in einem durch einen Sensor erhaltenen Bild (als Suchbild bezeichnet) verwendet, der einem spezifizierten Bildmuster (als Vorlage bezeichnet) ähnelt. Ein solches Vorlagenvergleichsverfahren ist beispielsweise in "Image Analysis Handbook" von Mikio Takagi und Akihisa Shimoda, University of Tokyo Press (1991) offenbart. Bei einem Vorlagenvergleichsverfahren wird häufig jedes Pixel durch eine n-Bit-Dateneinheit zum Ausdrücken einer Mehrniveauabstufungs-Bilddateneinheit dargestellt und ein normierter Korrelationskoeffizient als ein Maß für die Ähnlichkeit von Mustern verwendet. Ein normierter Korrelationskoeffizient r(i, j) wird durch die folgende Gleichung ausgedrückt, wobei t(m, n) (m = 0, 1, ..., M – 1; n = 0, 1, ..., N – 1) ein Datenwert eines Pixels in einer Vorlage s(i + m, j + n) (m = 0, 1, ..., M – 1; n = 0, 1, ..., N – 1) ist und (i, j) ein Anfangspunkt eines Teilbilds in einem Suchbild ist, dessen Ähnlichkeit mit der Vorlage zu beurteilen ist, und P die Anzahl der Pixel in der Vorlage ist.
  • Figure 00020001
  • Beim Ausführen eines Vorlagenvergleichs wird der vorstehend beschriebene normierte Korrelationskoeffizient für jedes der mehreren Teilbilder erhalten, und ein oder mehrere Teilbilder, von denen bestimmt wurde, daß sie einer Vorlage ähneln, werden entsprechend den erhaltenen normierten Korrelationskoeffizienten ausgewählt. Ein Verfahren, bei dem ein normierter Korrelationskoeffizient verwendet wird, kann einen Vorlagenvergleich ausführen, ohne daß Effekte von Variationen zwischen Bilddatenwerten von Pixeln in einem Vorlagebild und jenen von Pixeln in einem Suchbild auftreten, wobei die Variation beispielsweise durch Änderungen der Beleuchtung hervorgerufen wird.
  • Weil die Berechnungsschritte oder zu berechnenden Datenmengen bei einem Mustervergleichsverfahren, bei dem der vorstehend erwähnte normierte Korrelationskoeffizient verwendet wird, sehr umfangreich sind, wurde ein Verfahren zum wirksamen Erhalten eines normierten Korrelationskoeffizienten untersucht.
  • Bei einem der existierenden Verfahren zum Ausführen eines Vorlagenvergleichs mit hoher Geschwindigkeit werden Absolutwerte von Differenzen zwischen Bilddatenwerten von Pixeln in einem Vorlagebild und jenen von Pixeln in einem zu verarbeitenden Teilbild eines Suchbilds angesammelt, während ein normierter Korrelationskoeffizient für das Teilbild erhalten wird, und der Prozeß zum Berechnen des normierten Korrelationskoeffizienten wird abgeschlossen, falls die Summe der akkumulierten Absolutwerte einen vorgegebenen Schrankenwert bzw. Schwellenwert übersteigt.
  • Weil bei der vorstehend erwähnten existierenden Maßnahme die angesammelte Summe der Absolutwerte von Differenzen zwischen Bilddatenwerten von Pixeln in einem Vorlagebild und jenen von Pixeln in einem zu verarbeitenden Teilbild verwendet wird, um einen Prozeß zum Erhalten eines normierten Korrelationskoeffizienten abzuschließen, tritt ein Problem auf, das darin besteht, daß, falls Variationen von Bilddatenwerten von Pixeln in einem Vorlagebild und jenen von Pixeln in einem Teilbild eines Suchbilds, beispielsweise durch Beleuchtungsänderungen, hervorgerufen werden, ein Prozeß zum Erhalten eines normierten Korrelationskoeffizienten selbst für ein Teilbild, das eine hohe Ähnlichkeit mit dem Vorlagebild hat, wegen der großen angesammelten Summe des Absolutwerts der Differenzen falsch abgeschlossen wird. Dieses Problem wird nachstehend detailliert mit Bezug auf die 13 und 14 erklärt.
  • 13 ist ein Beispiel eines Vorlagebilds, und 14 ist ein Beispiel eines Suchbilds, für das ein Teilbild gesucht wird, das dem Vorlagebild ähnelt. In diesen Figuren zeigen Quadrate Pixel, und in den Quadraten dargestellte Werte geben Abstufungsniveaus von Bildern an. Die Ähnlichkeit zwischen zwei Bildern ist nicht auf der Grundlage der Nähe zwischen absoluten Bilddatenwerten von Pixeln in den zwei Bildern, sondern auf der Grundlage der Nähe zwischen sich ändernden lokalen Tendenzen in Bilddatenwerten von Pixeln in den zwei Bildern zu bestimmen. Daher ist ein Teilbild in dem in 14 dargestellten Suchbild, das dem in 13 dargestellten Vorlagebild am stärksten ähnelt, ein im rechten oberen Teil in 14 dargestelltes Teilbild, das aus Pixeln 1403, 1404, 1405, 1408, 1409, 1410, 1413, 1414 und 1415 besteht. Tatsächlich beträgt der normierte Korrelations koeffizient zwischen dem Vorlagebild und dem Teilbild 1,0. Der Wert in einer angesammelten Summe der Absolutwerte der Differenz zwischen den Bilddatenwerten, der bei dem existierenden Verfahren zum Abschließen eines Prozesses zum Erhalten eines normierten Korrelationskoeffizienten verwendet wird, ist jedoch für das Teilbild im rechten Oberteil 360 und für ein Teilbild im linken Unterteil, das aus den Pixeln 1411, 1412, 1413, 1416, 1417, 1418, 1421, 1422 und 1423 besteht, viel größer als 80. Falls daher ein für das Abschließen eines Prozesses zum Erhalten eines normierten Korrelationskoeffizienten festgelegter Schwellenwert der angesammelten Summe vorab auf einen Wert im Bereich von 80 bis 460 gelegt wird, wird das Teilbild im linken Unterteil gesucht, die Suche des Teilbilds im rechten Oberteil jedoch in der Mitte abgeschlossen. Nachstehend ist das Teilbild im linken Unterteil ein Bild eines seitlich gestreiften Musters.
  • Weiterhin ist es in vielen Fällen, einschließlich des vorstehenden Beispiels, schwierig, einen angemessenen Schwellenwert für die vorstehend erwähnte angesammelte Summe festzulegen.
  • Weiterhin ist eine Bildverarbeitungstechnik auf Gebieten, auf denen ein Mikroskop, medizinische Geräte usw. verwendet werden, und auch für eine Fernmeßtechnik, eine Inspektionstechnik eines Produkts usw. unerläßlich. Bei der Bildverarbeitung spielt ein Filterverfahren zum Entfernen von Rauschkomponenten oder zum Verbessern der Qualität eines verarbeiteten Bilds eine wichtige Rolle, und es wurden verschiedene Algorithmen zum Implementieren von Filterverfahren entwickelt, wobei einige von diesen in Hardwaresysteme aufgenommen wurden.
  • Ein als eines der Filterverfahren verwendetes gleitendes Mittelwertbildungs-Filterverfahren führt eine Filterung für eine Bilddateneinheit jedes Objektpixels in einem zu verarbeitenden Bild aus, indem es Bilddatenwerte der Pixel in einem rechteckigen Bereich, der das Objektpixel enthält, mittelt, wobei die Größe des rechteckigen Bereichs (Kern bereichs) gewöhnlich vorgegeben wird. Nachstehend wird ein gleitendes Mittelwertbildungs-Filterverfahren anhand der 35A und 35B grob erklärt. 35A zeigt ein aus 9 Pixeln in Spaltenrichtung (der seitlichen Richtung) × 8 Pixeln in Zeilenrichtung bestehendes Bild. Bezugszahlen 211289 geben Pixel an. 35B zeigt ein durch Ausführen einer gleitenden Mittelwertbildungsfilterung mit einer Kerngröße von 5 Pixeln × 5 Pixeln erhaltenes Bild für Bilddaten der in 35A dargestellten Pixel. Bezugszahlen 211'289' geben Pixel an, deren Bilddatenwerte gefiltert wurden. Beispielsweise ist ein Bilddatenwert eines Pixels 233' ein Mittelwert der Bilddatenwerte der Pixel in einem Bereich für 5 Pixel in Zeilenrichtung und 5 Pixel in Spaltenrichtung, in dem das Pixel 233 zentriert ist, d. h. ein Mittelwert der Bilddatenwerte der Pixel 211, 212, 213, 214, 215, 221, 222, 223, 224, 225, 231, 232, 233, 234, 235, 241, 242, 243, 244, 245, 251, 252, 253, 254 und 255. Ähnlich ist ein Bilddatenwert eines Pixels 234' ein Mittelwert der Bilddatenwerte der Pixel in einem Bereich für 5 Pixel × 5 Pixel, in dem das Pixel 234 zentriert ist, und ist ein Bilddatenwert eines Pixels 235' weiter ein Mittelwert der Bilddatenwerte der Pixel in einem Bereich für 5 Pixel × 5 Pixel, in dem das Pixel 235 zentriert ist, usw. Demgemäß hat ein Bilddatenwert jedes Pixels in dem in 35B dargestellten Bild einen Mittelwert der Bilddatenwerte der Pixel in einem Bereich mit der Kerngröße 5 Pixel × 5 Pixel, in dem das entsprechende Pixel in dem in 35A dargestellten Bild zentriert ist.
  • Ein wirksames gleitendes Mittelwertbildungs-Filterverfahren wurde im offengelegten japanischen Patent 51257/1995 entwickelt. 36 zeigt ein schematisches Blockdiagramm eines Systems zum Implementieren des entwickelten gleitenden Mittelwertbildungs-Filterverfahrens aus JP-A-51257/1995. Das in 36 dargestellte System besteht aus einer Bildeingabevorrichtung 3601 zur Eingabe eines Bilds, einem Bildspeicher 3604 zum Speichern von Bilddaten eines Eingabebilds, einer Berechnungsschaltung 3602 zum Berechnen eines Mittelwerts der Bilddatenwerte von n Pixeln in Zeilenrichtung, einem Speicher 3603 zum Speichern berechneter Mittelwerte für Pixel in Zeilenrichtung und einer Berechnungsschaltung 3605 zum Erhalten eines gleitenden Mittelwerts unter Verwendung der im Speicher 3603 gespeicherten Mittelwerte.
  • Bilddaten eines von der Bildeingabevorrichtung 3601 eingegebenen Bilds werden im Bildspeicher 3604 gespeichert, und die Berechnungsschaltung 3602 erhält einen Mittelwert der Bilddaten von n Pixeln in Zeilenrichtung parallel zum Speichern der Bilddaten. Nachfolgend werden Prozeduren zum Erhalten eines gleitenden Mittelwerts unter Verwendung im Speicher 3603 gespeicherter Daten mit Bezug auf 37 erklärt. In 37 bezeichnet eine Bezugszahl 2101 einen Bereich für 5 Pixel × 5 Pixel, der gegenwärtig zu verarbeiten ist, um einen gleitenden Mittelwert zu erhalten, und eine Bezugszahl 2102 bezeichnet einen Bereich (als Kernbereich bezeichnet) für 5 Pixel × 5 Pixel, der zuvor verarbeitet wurde, um einen gleitenden Mittelwert zu erhalten. Überdies bezeichnen Bezugszahlen 2103 und 2104 zwei Bereiche, die jeweils aus n (= 5) Pixeln in Zeilenrichtung bestehen. Eine Position eines in einem Kernbereich zentrierten Pixels ändert sich in dem in 37 dargestellten Bild von der am weitesten links gelegenen Position zu der am weitesten rechts gelegenen Position in der obersten Zeile, und die Position eines zentralen Pixels ändert sich ähnlich in den nachfolgenden Zeilen usw. Ein gleitender Mittelwert für den Bereich 2101 wird auf der Grundlage der folgenden Beziehung erhalten: gleitender Mittelwert für den Bereich 2101 = gleitender Mittelwert für den Bereich 2102 – (gleitender Mittelwert für den Bereich 2103 – gleitender Mittelwert für den Bereich 2104)/(Anzahl der Zeilen im Bereich 2101).
  • Die Mittelwerte für die in 37 dargestellten Bereiche 2103 und 2104 werden in dem in 36 dargestellten Speicher 3603 gespeichert, und weil der gleitende Mittelwert für den Bereich 2102 im vorhergehenden Berechnungsschritt erhalten wurde, wird der Wert in der Berechnungsschaltung 3605 gehalten. Daher kann der gleitende Mittelwert für den Bereich 2101 durch Lesen der Mittelwerte für die Bereiche 2103 und 2104 aus dem Speicher 3603 und Verwenden von ihnen erhalten werden.
  • Wenn bei der vorstehend erwähnten herkömmlichen Technik Mittelwerte für jeweils fünf Pixel in Zeilenrichtung in den Speicher 3603 geschrieben werden, kann ein Zugriff auf den Speicher 3603 ausgeführt werden, in dem in Spaltenrichtung aufeinanderfolgende Adressen angegeben werden. Wenn die Mittelwerte für die Bereiche 2103 und 2104 jedoch aus dem Speicher 3603 ausgelesen werden, um den gleitenden Mittelwert für den Bereich 2101 zu erhalten, ist es erforderlich, durch Angeben diskontinuierlicher Adressen einen Zugriff auf den Speicher 3603 auszuführen.
  • Im allgemeinen wird ein Hochfrequenz-Zyklusmodus, beispielsweise ein schneller Seitenmodus, für einen Speicher in der Art eines DRAMs, eines synchronen DRAMs usw. bereitgestellt, und es ist möglich, einen Zugriff auf einen solchen Speicher für aufeinanderfolgende Adressen schnell auszuführen.
  • Falls daher ein DRAM oder ein synchroner DRAM für den Speicher 3603 verwendet wird, kann, wenngleich ein schneller Zugriff auf den Speicher 3603 während eines Dateneinschreibmodus ausgeführt werden kann, weil es möglich ist, einen Zugriff auf den Speicher 3603 durch Angeben aufeinanderfolgender Adressen in Zeilenrichtung auszuführen, ein schneller Zugriff auf den Speicher 3603 während eines Datenauslesemodus nur schwer erreicht werden, weil der Zugriff auf den Speicher 3203 durch Angeben diskontinuierlicher Adressen ausgeführt wird.
  • In EP-A-0 584 701 ist ein Verfahren mit den im ersten Teil des Anspruchs 1 enthaltenen Schritten offenbart. Die in diesem Dokument beschriebene Mustervergleichsschaltung soll einfach sein und eine schnelle Verarbeitung ermöglichen, indem eine Position des maximalen Korrelationskoeffizienten grob herausgegriffen wird. Das Maximum wird demgemäß mit begrenzter Genauigkeit erhalten.
  • ZUSAMMENFASSUNG DER ERFINDUNG
  • Die Aufgabe der vorliegenden Erfindung besteht darin, eine Bildverarbeitungsvorrichtung unter Verwendung eines Verfahrens zum Vorlagenmatching bzw. eines Vorlagenvergleichsverfahrens bereitzustellen, wobei es möglich ist, ein fälschliches Abschließen eines Mustervergleichs zu verhindern und sich ein angemessener Schwellenwert für das Abschließen des Mustervergleichs leicht festlegen läßt.
  • Diese Aufgabe wird durch das in Anspruch 1 definierte Verfahren und durch die in Anspruch 6 definierte Vorrichtung, die das Verfahren ausführt, gelöst.
  • KURZBESCHREIBUNG DER ZEICHNUNG
  • 1 ist ein Flußdiagramm, in dem ein Verfahren zum Vorlagenmatching bzw. ein Vorlagenvergleichsverfahren gemäß einer Ausführungsform der vorliegenden Erfindung dargestellt ist.
  • 2 ist eine Darstellung zum Erklären des Konzepts eines Verfahrens zum Erhalten einer Summe und einer Summe von Quadraten von Bilddatenwerten von Pixeln in einem Teilbild gemäß der vorliegenden Erfindung.
  • 3 ist eine Darstellung zum Erklären des Konzepts eines Verfahrens zum Erhalten einer Summe und einer Summe von Quadraten von Bilddatenwerten von Pixeln in einem Teilbild gemäß der vorliegenden Erfindung.
  • 4 ist ein Flußdiagramm von Prozeduren, die das in den 2 und 3 dargestellte Verfahren implementieren.
  • 5 ist eine Darstellung zum Erklären des Konzepts eines anderen Verfahrens zum Erhalten einer Summe und einer Summe von Quadraten von Bilddatenwerten von Pixeln in einem Teilbild gemäß der vorliegenden Erfindung.
  • 6 ist eine Darstellung zum Erklären des Konzepts eines anderen Verfahrens zum Erhalten einer Summe und einer Summe von Quadraten von Bilddatenwerten von Pixeln in einem Teilbild gemäß der vorliegenden Erfindung.
  • 7 ist ein Flußdiagramm, in dem ein Vorlagenvergleichsverfahren gemäß einer anderen Ausführungsform der vorliegenden Erfindung dargestellt ist.
  • 8 ist ein Flußdiagramm, in dem ein Vorlagenvergleichsverfahren gemäß einer weiteren Ausführungsform der vorliegenden Erfindung dargestellt ist.
  • 9 ist ein Blockdiagramm eines Vorlagenvergleichsteils gemäß einer Ausführungsform der vorliegenden Erfindung.
  • 10 ist ein Blockdiagramm einer Recheneinheit zum Erhalten einer Summe und einer Summe von Quadraten von Bilddatenwerten von Pixeln in einem Teilbild in dem Vorlagenvergleichsteil.
  • 11 ist ein Blockdiagramm eines Bildverarbeitungssystems gemäß einer Ausführungsform der vorliegenden Erfindung.
  • 12 ist ein Blockdiagramm eines Bildverarbeitungsprozessors des in 11 dargestellten Bildverarbeitungssystems.
  • 13 ist ein Beispiel eines Vorlagebilds.
  • 14 ist ein Beispiel eines Suchbilds.
  • 15 zeigt Ergebnisse bei der Untersuchungsverarbeitung für einen fortlaufenden Vorlagenvergleich jedes Teilbilds und einen Schwellenwert für das Abschließen des Vorlagenvergleichs.
  • 16 zeigt Prozeduren eines Vorlagenvergleichs für ein Farbbild, wobei die Vorlagenvergleichsverfahren gemäß der vorliegenden Erfindung verwendet werden.
  • 17 ist ein Blockdiagramm einer Vorlagenvergleichsvorrichtung gemäß einer Ausführungsform der vorliegenden Erfindung.
  • 18 ist ein Blockdiagramm eines gleitenden Mittelwertbildungsfilters gemäß der vorliegenden Erfindung.
  • 19 ist ein Beispiel einer Speicheradressenzuordnung bei einem in dem gleitenden Mittelwertbildungs filter gemäß der vorliegenden Erfindung verwendeten Bildspeicher.
  • Die 20A und 20B sind Diagramme zum Erklären des Konzepts eines durch das gleitende Mittelwertbildungsfilter gemäß der vorliegenden Erfindung zu verarbeitenden Bilds bzw. eines dadurch verarbeiteten Bilds.
  • 21 ist ein Diagramm zum Erklären des Konzepts eines in dem gleitenden Mittelwertbildungsfilter gemäß der vorliegenden Erfindung verwendeten Algorithmus.
  • 22 ist ein Blockschaltplan eines Berechnungsteils des gleitenden Mittelwertbildungsfilters gemäß der vorliegenden Erfindung.
  • 23 ist ein Diagramm zum Erklären des Konzepts eines anderen Algorithmus, der im gleitenden Mittelwertbildungsfilter gemäß der vorliegenden Erfindung verwendet wird.
  • 24 ist ein Blockschaltplan eines anderen Berechnungsteils des gleitenden Mittelwertbildungsfilters gemäß der vorliegenden Erfindung.
  • 25 ist ein Blockschaltplan eines anderen Berechnungsteils des gleitenden Mittelwertbildungsfilters gemäß der vorliegenden Erfindung.
  • 26 ist ein Diagramm zum Erklären des Konzepts eines anderen Algorithmus, der im gleitenden Mittelwertbildungsfilter gemäß der vorliegenden Erfindung verwendet wird.
  • 27 ist ein Blockschaltplan eines anderen Berechnungsteils des gleitenden Mittelwertbildungsfilters gemäß der vorliegenden Erfindung.
  • 28 ist ein Blockdiagramm eines gleitenden Mittelwertbildungsfilters gemäß einer anderen Ausführungsform der vorliegenden Erfindung.
  • 29 ist ein Blockdiagramm eines gleitenden Mittelwertbildungsfilters gemäß einer anderen Ausführungsform der vorliegenden Erfindung.
  • 30 ist ein Blockdiagramm eines gleitenden Mittelwertbildungsfilters gemäß einer anderen Ausführungsform der vorliegenden Erfindung.
  • 31 ist ein Blockschaltplan eines anderen Berechnungsteils des gleitenden Mittelwertbildungsfilters gemäß der vorliegenden Erfindung.
  • 32 ist ein Zeitablaufdiagramm zum Erklären von Operationen des gleitenden Mittelwertbildungsfilters gemäß der vorliegenden Erfindung.
  • 33 ist ein Zeitablaufdiagramm zum Erklären von Operationen eines herkömmlichen gleitenden Mittelwertbildungsfilters.
  • 34 ist ein schematisches Blockdiagramm eines Elektronenmikroskopsystems, auf das das gleitende Mittelwertbildungsfilter gemäß der vorliegenden Erfindung angewendet wird.
  • Die 35A und 35B sind Diagramme, in denen ein durch ein herkömmliches gleitendes Mittelwertbildungsfilter zu verarbeitendes Bild bzw. ein dadurch verarbeitetes Bild dargestellt ist.
  • 36 ist ein Blockdiagramm eines herkömmlichen gleitenden Mittelwertbildungsfilters.
  • 37 ist ein Diagramm zum Erklären des Konzepts eines im herkömmlichen gleitenden Mittelwertbildungsfilter verwendeten Algorithmus.
  • DETAILLIERTE BESCHREIBUNG DER BEVORZUGTEN AUSFÜHRUNGSFORMEN
  • Verschiedene Ausführungsformen gemäß der vorliegenden Erfindung werden anhand der Zeichnung erklärt. 1 ist ein Flußdiagramm der Verarbeitung für ein Verfahren zum Vorlagenmatching bzw. ein Vorlagenvergleichsverfahren gemäß der vorliegenden Erfindung. Nachstehend wird ein Vorlagenvergleichsprozeß, der beispielsweise durch einen Computer für allgemeine Zwecke für ein in 13 dargestelltes Vorlagebild und ein Teilbild eines in 14 dargestellten Suchbilds ausgeführt wird, erklärt. Das Vorlagebild und das Suchbild werden beispielsweise durch eine Bildabtasteinrichtung eingegeben, und Bilddaten der zwei Bilder werden in einem externen Speicher gespeichert.
  • Zuerst werden die Bilddaten aus dem externen Speicher ausgelesen, und die Daten des Vorlagebilds und des Suchbilds werden mit einem Feldtyp t (m, n) (m = 0, 1, 2; n = 0, 1, 2) bzw. s(i, j) (i = 0, 1, ..., 4; j = 0, 1, ..., 4) in einem internen Speicher des Computers gespeichert (Schritte 101 und 102).
  • Als nächstes werden eine Summe und eine Summe von Quadraten von Bilddatenwerten von Pixeln in dem Vorlagebild berechnet (Schritt 103). Die Summe A und die Summe B von Quadraten der Bilddatenwerte sind 230 bzw. 6500. Andererseits werden für das Suchbild eine Summe und eine Summe von Quadraten von Bilddatenwerten für alle Teilbereiche in dem Suchbild, die die gleiche Größe wie das Vorlagebild aufweisen, berechnet (nachstehend wird ein Teilbereich als ein Teilbild bezeichnet) (Schritt 104).
  • Ein Verfahren zum wirksamen Erhalten einer Summe und einer Summe von Quadraten von Bilddatenwerten für das Vorlagebild und das Suchbild wird mit Bezug auf die 26 erklärt. Ein Verbesserungskonzept zum Erhalten der vorstehend erwähnten Summen ist in den 2 und 3 dargestellt. In 2 gleicht eine Summe G' von Bilddatenwerten für ein vorliegendes Teilbild 201 mit der gleichen Größe wie das Vorlagebild einem durch Subtrahieren einer Summe U von Bilddatenwerten für einen Bereich 203 von einer Summe G von Bilddatenwerten für ein vorhergehendes Teilbild 202, das sich in einem Bereich befindet, der gegenüber dem vorliegenden Teilbild 201 entgegen der Hauptabtastrichtung um ein Pixel verschoben ist, und durch Addieren einer Summe V von Bilddatenwerten für einen Bereich 204 zum Subtraktionsergebnis erhaltenen Wert. Das heißt, daß G' = G – U + V ist. Weiterhin gleicht, wie in 3 dargestellt ist, eine Summe V von Bilddatenwerten für den Bereich 204 einem durch Subtrahieren eines Bilddatenwerts y eines Pixels 206 von einer Summe W von Bilddatenwerten für einen Bereich 205, der sich an einem Bereich befindet, der gegenüber dem Bereich 204 in Aufwärtsrichtung um eine Zeile verschoben ist, und durch Addieren eines Bilddatenwerts Z eines Pixels 207 zum Subtraktionsergebnis erhaltenen Wert, so daß V = W – y + z ist. Es ist daher möglich, die Summe G' von Bilddatenwerten für das Teilbild 201 durch Ausführen im wesentlichen einer viermaligen Addition und Subtraktion zu erhalten, falls die Summe G von Bilddatenwerten für das Teilbild 202 und die Summe U von Bilddatenwerten für den Bereich 203 vorab berechnet werden.
  • 4 ist ein Flußdiagramm zum Erhalten einer Summe von Bilddatenwerten für alle Teilbilder in dem Suchbild, wobei die Größe jedes Teilbereichs derjenigen des Vorlagebilds gleicht und das in den 2 und 3 dargestellte Konzept verwirklicht wird.
  • Zuerst wird zum Erhalten von Summen von Bilddatenwerten für (I – M + 1) Teilbilder, die den jeweiligen Anfangspunkten (i, 0) (i = 0, 1, ..., I – M, wobei I die Anzahl der Pixel im Suchbild in Zeilenrichtung ist und M die Anzahl der Pixel im Vorlagebild in Zeilenrichtung ist) entsprechen, eine Summe von Bilddatenwerten für jeden Bereich, der aus Pixeln für 1 Spalte und N Zeilen besteht, berechnet (Schritt 401), wobei die Anzahl N gleich derjenigen der Zeilen im Vorlagebild ist und weiter jeder Bereich einem Anfangspunkt (i, 0) (I = 0, 1, ..., I – 1) entspricht. Zuerst wird durch Ansammeln von M Summen von Bilddatenwerten für M Pixelbereiche für 1 Spalte und N Zeilen eine Summe von Bilddatenwerten für ein einem Anfangspunkt (0, 0) entsprechendes Teilbild erhalten (Schritt 402). Anschließend werden Summen von Teilbildern, die Anfangspunkten (1, 0), (2, 0), ..., (I – M, 0) entsprechen, wiederum durch Addieren einer Summe von Bilddatenwerten für einen Pixelbereich für 1 Spalte und N Zeilen zu einer Summe für einen vorhergehenden Teilbereich und Subtrahieren einer Summe von Bilddatenwerten für einen anderen Pixelbereich für 1 Spalte und N Zeilen von der Summe für den vorhergehenden Teilbereich, d. h. – durch Addieren eines Differenzbetrags zwischen den vorstehenden zwei Summen zur Summe für das vorhergehende Teilbild erhalten (Schritt 403).
  • Weiterhin wird zum Erhalten der Summen von Bilddatenwerten für (I – M + 1) Teilbilder entsprechend den jeweiligen Anfangspunkten (i, 1) (i = 0, 1, ..., I – M, wobei I die Anzahl der Pixel im Suchbild in Zeilenrichtung ist und M die Anzahl der Pixel im Vorlagebild in Zeilenrichtung ist) eine Summe von Bilddatenwerten für jeden Pixelbereich für 1 Spalte und N Zeilen berechnet (Schritt 405), wobei die Anzahl N derjenigen der Zeilen im Vorlagebild gleicht und weiter jeder Bereich einem Anfangspunkt (i, 0) (I = 0, 1, ..., I – 1) entspricht. Jede Summe von Bilddatenwerten für jeden Pixelbereich für 1 Spalte und N Zeilen wird unter Verwendung der bereits erhaltenen Summen von Bilddatenwerten für Bereiche, die Anfangspunkten (i, 0) (I = 0, 1, ..., I – 1) entsprechen, und Addieren eines Bilddatenwerts eines Pixels zu einer Summe für einen vorhergehenden Bereich und Subtrahieren eines Bilddatenwerts eines anderen Pixels vom vorhergehenden Bereich, d. h. durch Addieren eines Differenzbetrags zwischen den vorstehenden zwei Bilddatenwerten zur Summe für den vorhergehenden Bereich erhalten. Durch Akkumulieren der vorstehend erhaltenen M Summen von Bilddatenwerten für M Bereiche, wobei jeder Bereich aus Pixeln für 1 Spalte und N Zeilen zusammengesetzt ist, wird eine Summe von Bilddatenwerten für ein einem Anfangspunkt (0, 1) entsprechendes Teilbild erhalten (Schritt 406). Nacheinander werden wiederum Summen von Anfangspunkten (1, 1), (2, 1), ..., (I – M, 1) entsprechenden Teilbildern erhalten, indem wiederum eine Summe von Bilddatenwerten für einen Pixelbereich für 1 Spalte und N Zeilen zu einer Summe für einen vorhergehenden Teilbereich addiert wird und eine Summe von Bilddatenwerten für einen anderen Pixelbereich für 1 Spalte und N Zeilen von der Summe für den vorhergehenden Teilbereich subtrahiert wird, d. h. indem ein Differenzbetrag zwischen den vorstehenden zwei Summen zur Summe für das vorhergehende Teilbild addiert wird (Schritt 407).
  • Für J = 2, ..., J – N wird eine Summe von Bilddatenwerten für jedes Teilbild auch erhalten, indem ähnlich wie bei J = 1. zuvor berechnete Ergebnisse verwendet werden (Schritt 405–Schritt 409). Die Darstellung einer Summe von Bilddatenwerten für jedes einem Anfangspunkt (i, j) entsprechende Teilbild durch C(i, j) in dem in 14 dargestellten Suchbild, nämlich C(i, j) (i = 0, 1, 2; J = 0, 1, 2) ist folgende:
    (C(0, 0), C(0, 1), C(0, 2), C(1, 0), C(1, 1), C(1, 2), C(2, 0), C(2, 1), C(2, 2))
    = (390, 580, 690, 270, 380, 470, 270, 310, 380)
  • Bei einem Prozeß zum Erhalten einer Summe von Quadraten von Bilddatenwerten für alle Teilbilder in dem Suchbild werden Quadrate von Bilddatenwerten von Pixeln in den jeweiligen Vorlage- und Suchbildern erhalten und eine Summe von Quadraten von Bilddatenwerten für jedes Teilbild weiter durch einen Prozeß erhalten, der dem vorstehend erwähnten Prozeß zum Erhalten von Summen von Bilddatenwerten für alle Teilbilder ähnelt. Die Darstellung einer Summe von Bilddatenwerten für jedes einem Anfangspunkt (i, j) entsprechende Teilbild durch D(i, j) in dem in 14 dargestellten Suchbild, nämlich D(i, j) (i = 0, 1, 2; J = 0, 1, 2) ist folgende:
    (D(0, 0), D(0, 1), D(0, 2), D(1, 0), D(1, 1), D(1, 2), D(2, 0), D(2, 1), D(2, 2))
    = (20900, 44800, 58500, 9500, 20400, 30100, 8700, 1190, 19600)
  • Die 5 und 6 zeigen ein anderes Verfahren zum wirksamen Erhalten einer Summe und einer Summe von Quadraten von Bilddatenwerten. Das in den 2 und 3 dargestellte Verfahren erhält eine Summe G' von Bilddatenwerten für das vorliegende Teilbild 201 auf der Grundlage einer Differenz zwischen einer Summe von Bilddatenwerten für das Teilbild 201 und einer Summe von Bilddatenwerten für das vorhergehende Teilbild 202, das entgegen der Hauptabtastrichtung um ein Pixel gegenüber dem Teilbild 201 verschoben ist. Andererseits erhält das in den 5 und 6 dargestellte Verfahren eine Summe von Bilddatenwerten für ein vorliegendes Teilbild 501 auf der Grundlage einer Differenz zwischen einer Summe von Bilddatenwerten für das Teilbild 501 und einer Summe von Bilddatenwerten für ein vorhergehendes Teilbild 502, das gegenüber dem Teilbild 501 in Zeilenrichtung um eine Zeile nach oben verschoben ist.
  • Die Erklärung kehrt zu dem in 1 dargestellten Flußdiagramm zurück. In Schritt 105 wird ein Schwellenwert E für das Abschließen der Beurteilung einer Ähnlichkeit eines verarbeiteten Teilbilds festgelegt. Der festgelegte Schwellenwert E wird entsprechend einem normierten Korrelationskoeffizienten bestimmt. Ein normierter Korrelationskoeffizient nimmt einen Wert im Bereich –1 bis 1 an, und die Werte von –1 und 1 geben an, daß ein verarbeitetes Teilbild dem Vorlagebild überhaupt nicht ähnelt bzw. daß ein verarbeitetes Teilbild vollkommen mit dem Vorlagebild übereinstimmt. Weil jeder Wert im Bereich –1 bis 1 als der Schwellenwert festgelegt werden kann, kann selbst ein Benutzer mit wenig Erfahrung den Schwellenwert E intuitiv festlegen. Es ist weiterhin möglich, den Schwellenwert vor dem Beginn der in 1 dargestellten Verarbeitung festzulegen. Es wird bei dieser Ausführungsform angenommen, daß der Schwellenwert E auf 0,7 gelegt ist.
  • Die vorstehende Erklärung bezieht sich auf eine Vorverarbeitung, und es ist bei der Vorverarbeitung gemäß der vorliegendes Erfindung möglich, eine Summe und eine Summe von Quadraten von Bilddatenwerten sowohl für das Vorlagebild als auch für das Suchbild unter Verwendung von Bilddaten zu erhalten, die durch Abtasten der jeweiligen Vorlage- und Suchbilder zu einer Zeit erhalten wurden. Als nächstes wird ein Prozeß zum Erhalten eines normierten Korrelationskoeffizienten für ein zu verarbeitendes Teilbild ausgeführt. Bei dem Prozeß wird zuerst ein einem Anfangspunkt (0, 0) entsprechendes Teilbild ausgewählt (Schritt 106) und ein Schwellenwert F(0, 0) zum Schließen eines Prozesses zum Beurteilen einer Ähnlichkeit des Teilbilds auf der Grundlage der folgenden Gleichung 3 erhalten (Schritt 107).
  • Figure 00170001
  • Als nächstes wird ein Quadrat einer Differenz zwischen einem Bilddatenwert jedes Pixels im Vorlagebild und demjenigen eines entsprechenden Pixels im Teilbild nacheinander erhalten, es wird weiter eine kumulative Addition für jedes erhaltene Quadrat ausgeführt, und es wird bestimmt, ob das Ergebnis der kumulativen Addition den Schwellenwert F(0, 0) übersteigt (Schritt 108–Schritt 111). Weil das Ergebnis der kumulativen Addition monoton ansteigt, können Ergebnisse aufeinanderfolgender kumulativer Additionsprozesse nicht gegenüber dem Schwellenwert F(0, 0) abnehmen, falls das Ergebnis der kumulativen Addition den Schwellenwert F(0, 0) übersteigt. Wenn daher das Ergebnis der kumulativen Addition den Schwellenwert F(0, 0) übersteigt, wird der Prozeß zum Schätzen einer Ähnlichkeit des Teilbilds mit dem Vorlagebild abgeschlossen und ein Prozeß zum Schätzen einer Ähnlichkeit eines nächsten Teilbilds eingeleitet. Wenn die Berechnung einer Summe von Quadraten von Differenzen zwischen Bilddatenwerten aller Pixel in dem Teilbild und jenen aller Pixel in dem Vorlagebild abgeschlossen ist, ist, falls die Summe den Schwellenwert F(0, 0) nicht übersteigt, ein normierter Korrelationskoeffizient zwischen dem Teilbild und dem Vorlagebild größer als 0,7, und der Anfangspunkt (0, 0) des Teilbilds wird registriert. 15 zeigt einen Schwellenwert F(i, j) für ein einem Anfangspunkt (i, j) entsprechendes Teilbild und Ergebnisse der kumulativen Addition von Quadraten von Differenzen zwischen Bilddatenwerten von Pixeln im Teilbild und jenen von Pixeln im Vorlagebild. Weil für das einem Anfangspunkt (0, 0) entsprechende Teilbild beispielsweise ein Bilddatenwert des ersten Pixels des Teilbilds 30 ist und derjenige des entsprechenden ersten Pixels des Vorlagebilds auch 30 ist, ist die Summe eines Quadrats einer Differenz zwischen einem Bilddatenwert des Pixels des Teilbilds und demjenigen des Pixels des Vorlagebilds 0, und die Summe übersteigt nicht den Schwellenwert F(0, 0). Daher wird die aufeinanderfolgende kumulative Addition für Quadrate der Differenzen fortgesetzt. Weil für die sechsten Pixel in beiden Bildern das Ergebnis der kumulativen Addition 5700 ist und den Schwellenwert F(0, 0) (= 5258) übersteigt, wird keine kumulative Addition für Pixel von den siebten Pixeln an ausgeführt, und es wird die Verarbeitung des nächsten Teilbilds eingeleitet.
  • Bei den in 15 dargestellten Ergebnissen übersteigen für Teilbilder, die Anfangspunkten (0, 1), (1, 0), (1, 1), (1, 2), (2, 0), (2, 1) und (2, 2) entsprechen, die Ergebnisse der kumulativen Addition die Schwellenwerte F an den neunten, dritten, sechsten, sechsten, siebten, siebten bzw. siebten Pixeln. Andererseits übersteigt das Ergebnis der kumulativen Addition für alle Pixel in einem Teilbild, das einem Anfangspunkt (0, 2) entspricht, nicht den Schwellenwert F. Die Koordinate (0, 2), die der Anfangspunkt des erwähnten Teilbilds ist, wird registriert.
  • Wie vorstehend erwähnt wurde, ist es durch Festlegen eines Schwellenwerts E für einen normierten Korrelationskoeffizienten möglich, mit dem Vorlagebild automatisch ein Teilbild zu extrahieren, das einen Korrelationskoeffizienten aufweist, der größer als E ist. Weiterhin kann ein Vorlagenvergleich mit einer hohen Geschwindigkeit ausgeführt werden, weil die kumulative Addition nicht immer für alle Pixel in einem Teilbild ausgeführt wird.
  • Weil weiterhin die Koordinaten von Anfangspunkten für Teilbilder, bei denen festgestellt wurde, daß sie mit dem Vorlagebild übereinstimmen, registriert werden, ist es möglich, einen Bereich anzugeben, der mit der Vorlage überein stimmt, indem der Bereich auf dem Suchbild, das einem Bediener auf einem beispielsweise an einen Computer für allgemeine Zwecke angeschlossenen Kathodenstrahlbildschirm angezeigt wird, mit einer deutlich sichtbaren Linie eingeschlossen wird. Falls festgestellt wird, daß mehrere Teilbilder mit dem Vorlagebild übereinstimmen, werden anschließend zum Auswählen eines Teilbilds, das am besten mit dem Vorlagebild übereinstimmt, normierte Korrelationskoeffizienten der betreffenden Teilbilder berechnet und ein Teilbild mit dem größten normierten Korrelationskoeffizienten ausgewählt.
  • 7 zeigt eine weitere Ausführungsform gemäß der vorliegenden Erfindung. Ein Flußdiagramm in 7 zeigt eine Modifikation des durch das Flußdiagramm in 1 dargestellten Vorlagenvergleichsverfahrens. Genauer gesagt, wird der folgende Schritt zu den in 1 dargestellten Prozeduren hinzugefügt, es wird nämlich dann, wenn ein für ein Teilbild berechneter normierter Korrelationskoeffizient größer als ein für E festgelegter vorhergehender Wert ist, der Wert von E durch den zu dieser Zeit berechneten normierten Korrelationskoeffizienten ersetzt. Jeder normierte Korrelationskoeffizient wird durch die folgende Gleichung 4 erhalten.
  • Figure 00190001
  • Hierbei sind A eine Summe von Bilddatenwerten für das Vorlagebild, B eine Summe von Quadraten von Bilddatenwerten für das Vorlagebild, C(i, j) eine Summe von Bilddatenwerten für ein einem Anfangspunkt (i, j) entsprechendes Teilbild, D(i, j) eine Summe von Quadraten von Bilddatenwerten für ein einem Anfangspunkt (i, j) entsprechendes Teilbild, E der Schwellenwert für einen normierten Korrelationskoeffizienten, G(i, j) eine Summe von Quadraten von Differenzen zwischen Bilddatenwerten von Pixeln in dem Vorlagebild und jenen von Pixeln in einem Teilbild entsprechend einem Anfangspunkt (i, j) und P die Anzahl der Pixel in dem Vorlagebild.
  • In der vorstehenden Gleichung ist r(i, j) ein normierter Korrelationskoeffizient für ein einem Anfangspunkt (i, j) entsprechendes Teilbild.
  • Gemäß dem Verfahren dieser Ausführungsform ist es möglich, ein Teilbild mit dem größten normierten Korrelationskoeffizienten in dem Suchbild automatisch zu suchen und zu erhalten. Weiterhin ist es selbst dann, wenn ein angemessener Wert von E nicht bekannt ist, durch dieses Verfahren schließlich möglich, ein Teilbild mit dem größten normierten Korrelationskoeffizienten zu suchen und zu erhalten.
  • 8 zeigt eine weitere Ausführungsform gemäß der vorliegenden Erfindung. Ein Flußdiagramm in 8 zeigt eine Modifikation des durch das Flußdiagramm in 1 dargestellten Vorlagenvergleichsverfahrens. Bei diesem Verfahren werden Summen und Summen von Quadraten von Bilddatenwerten aller Pixel in der Vorlage und einem zu verarbeitenden Teilbild erhalten, unmittelbar bevor ein normierter Korrelationskoeffizient zwischen dem Vorlagebild und dem Teilbild erhalten wird. Es ist in Übereinstimmung mit Prozeduren in dem in 8 dargestellten Verfahren möglich, die Kapazität eines Speichers für das Speichern von Summen und Summen von Quadraten von Bilddatenwerten aller Pixel in der Vorlage und einem zu verarbeitenden Teilbild zu verringern.
  • In der vorstehenden Erklärung wird ein Vorlagebild beim Vorlagenvergleich verwendet. Die vorstehend erwähnten Verfahren sind jedoch auf einen Vorlagenvergleich anwendbar, bei dem eine Anzahl von Vorlagebildern verwendet wird. Beispielsweise sind diese Verfahren auf einen Vorlagenvergleich für Farbbilder anwendbar.
  • 16 zeigt ein Vorlagenvergleichsverfahren für das Verarbeiten von Farbbildern. Zuerst werden Bilddaten des Vorlagebilds und des Suchbilds vom externen Speicher für jede Farbkomponente R (rot), G (grün) und B (blau) eingelesen (Schritt 1601). Für die eingelesenen Bilddaten beider Bilder wird das vorstehend erwähnte Vorlagenvergleichsverfahren auf Bilddaten des Vorlagebilds und ein Teilbild für jede Farbkomponente R, G und B angewendet, und es wird ein Teilbild mit einem großen normierten Korrelationskoeffizienten für jede Farbkomponente extrahiert (Schritt 1602). Auf der Grundlage der extrahierten Teilbilder für drei Farbkomponenten wird schließlich das optimale Teilbild bestimmt (Schritt 1603). Das heißt, daß schließlich ein Teilbild, das den meisten Punkten unter den Anfangspunkten für die extrahierten Teilbilder entspricht, als das optimale bestimmt wird.
  • Anschließend ist es möglich, den Schwellenwert E für drei Farbkomponenten R, G und B gemeinsam oder für jede Farbkomponente festzulegen. Es ist eine Möglichkeit zum Festlegen eines Schwellenwerts E auszuwählen, die für ein Objektbild angemessen ist. Beispielsweise wird ein Schwellenwert E für eine spezifische Farbkomponente nicht festgelegt.
  • 17 zeigt ein Diagramm einer Vorrichtung, in der das Vorlagenvergleichsverfahren gemäß. der vorliegenden Erfindung verwirklicht ist. Die Vorrichtung besteht aus einer CPU 1701, die ein Steuersignal zum Auslösen eines Vorlagenvergleichsteils 1702 sendet, dem Vorlagenvergleichsteil 1702, der Bilddaten von dem Vorlagebild und dem Suchbild einliest und einen Vorlagenvergleich für das Vorlagebild und das Suchbild ausführt, einem Bildspeicher 1703 zum Speichern der eingelesenen Bilddaten des Vorlagebilds und einem Bildspeicher 1704 zum Speichern der eingelesenen Bilddaten des Suchbilds. 9 zeigt ein Blockdiagramm des Vorlagenvergleichsteils 1702. Bezugszahlen 903 und 904 geben Adressengeneratoren zum Erzeugen von Leseadressen an den Bildspeichern 1703 bzw. 1704 an, eine Bezugszahl 905 gibt einen Wähler zum Auswählen und Ausgeben von einer der aus dem Bildspeicher 1703 und dem Bildspeicher 1704 ausgelesenen Dateneinheiten an, und Bezugszahlen 906 und 907 geben einen Multiplizierer bzw. einen Wähler an. Bezugszahlen 908 und 909 geben einen Addierer bzw. ein Register an, und eine kumulative Addition wird unter Verwendung des Addierers 908 und des Registers 909 ausgeführt. Eine Bezugszahl 910 gibt eine Recheneinheit zum wirksamen Berechnen einer Summe und einer Summe von Quadraten von Bilddatenwerten von Pixeln in einem Teilbild des Suchbilds an.
  • Bezugszahlen 915, 916, 917, 918, 919 und 920 geben Register zum Speichern der Anzahl der Pixel in dem Vorlagebild, einen Schwellenwert E für einen normierten Korrelationskoeffizienten, eine Summe von Bilddatenwerten von Pixeln in dem Vorlagebild, eine Summe von Quadraten von Bilddatenwerten für das Vorlagebild, eine Summe von Bilddatenwerten von Pixeln in einem zu verarbeitenden Teilbild bzw. eine Summe von Quadraten von Bilddatenwerten für das Teilbild an. Eine Bezugszahl 921 gibt, die jeweiligen in den Registern 915, 916, 917, 918, 919 und 920 gespeicherten Werte durch P, E, A, B, C bzw. D darstellend, eine Recheneinheit zum Berechnen der folgenden Gleichung 5 für die Werte P, E, A, B, C und D an, und eine Bezugszahl 922 gibt ein Register zum Speichern des Ergebnisses der von der Recheneinheit 921 ausgeführten Berechnung an. Weiterhin geben Bezugszahlen 911, 912, 913 und 914 einen Subtrahierer, einen Multiplizierer, einen Addierer bzw. ein Register zum Speichern eines Zwischenergebnisses der im Addierer 913 ausgeführten Berechnung an.
  • Figure 00220001
  • Eine Bezugszahl 923 gibt einen Vergleicher zum Vergleichen eines im Register 914 gespeicherten Zwischenergebnisses mit einem im Register 922 gespeicherten Schwellenwert und zum Ausgeben eines Steuersignals zum Abschließen eines Prozesses für das Beurteilen einer Ähnlichkeit für das vorliegende Teilbild und zum Einleiten eines Prozesses zum Beurteilen der Ähnlichkeit für das nächste Teilbild an.
  • Ein Vorlagenvergleich, bei dem die in 9 dargestellte Vorrichtung verwendet wird, wird entsprechend den folgenden Prozeduren ausgeführt Zuerst werden Bilddaten des Vorlagebilds und des Suchbilds, die durch einen Sensor usw. eingegeben werden, in den Bildspeichern 1703 bzw. 1704 gespeichert. Weiterhin werden die Anzahl der Pixel im Vorlagebild und der Schwellenwert für einen normierten Korrelationskoeffizienten, die von der CPU 1701 gesendet werden, in den jeweiligen Registern 915 und 916 gespeichert. Als nächstes steuert die CPU 1701 die Wähler 905 und 907, so daß in dem Bildspeicher 1703 gespeicherte Bilddaten in den Addierer 908 eingegeben werden. Bilddaten für jedes Pixel in dem Vorlagebild werden nacheinander einzeln durch den Adressengenerator 903 ausgelesen, und eine Summe von Bilddatenwerten aller Pixel in dem Vorlagebild wird durch kumulative Addition erhalten, die von einem Paar ausgeführt wird, das aus dem Addierer 908 und dem Register 909 besteht. Das Ergebnis der kumulativen Addition wird im Register 917 gespeichert. Ähnlich steuert die CPU 1701 die Wähler 905 und 907, so daß ein Quadrat eines Werts jeder im Bildspeicher 1703 gespeicherten Bilddateneinheit in den Addierer 908 eingegeben wird. Die Bilddaten jedes Pixels in dem Vorlagebild werden durch den Adressengenerator 903 nacheinander einzeln ausgelesen, und eine Summe von Quadraten von Bilddatenwerten aller Pixel in dem Vorlagebild wird durch kumulative Addition erhalten, die durch ein Paar ausgeführt wird, das aus dem Addierer 908 und dem Register 909 besteht. Das Ergebnis der kumulativen Addition wird im Register 918 gespeichert.
  • Weiterhin steuert die CPU 1701 die Wähler 905 und 906, so daß im Bildspeicher 1704 gespeicherte Bilddaten in den Addierer 910 eingegeben werden. Die Bilddaten aller Pixel in dem Suchbild werden nacheinander einzeln durch den Adressengenerator 904 ausgelesen, und es wird eine Summe der Bilddatenwerte aller Pixel in einem zu verarbeitenden Teilbild für das Vorlagebild berechnet. Das Ergebnis der Berechnung wird im Register 919 gespeichert. Ähnlich steuert die CPU 1701 die Wähler 905 und 907, so daß ein Quadrat eines Werts aller im Bildspeicher 1704 gespeicherten Bilddaten in den Addierer 910 eingegeben wird. Die Bilddaten aller Pixel in dem Vorlagebild werden nacheinander einzeln durch den Adressengenerator 904 ausgelesen, und es wird die Summe der Quadrate der Bilddatenwerte aller Pixel in dem Teilbild des Suchbilds berechnet. Das Ergebnis der Berechnung wird im Register 920 gespeichert. Die Recheneinheit 921 berechnet Gleichung 5 unter Verwendung der in den Registern 915, 916, 917, 918, 919 und 920 gespeicherten Werte. Das Ergebnis der von der Recheneinheit 921 ausgeführten Berechnung wird im Register 922 als ein Schwellenwert gespeichert, der zum Abschließen eines Prozesses zum Beurteilen der Ähnlichkeit für das zu verarbeitende Teilbild verwendet wird.
  • Die vorstehend erwähnte Verarbeitung ist eine Vorverarbeitung bei einem Prozeß zum Erhalten eines normierten Korrelationskoeffizienten zwischen einem zu verarbeitenden Teilbild und dem Vorlagebild. Bei dem Prozeß zum Erhalten eines normierten Korrelationskoeffizienten werden Bilddaten nacheinander einzeln für jedes Pixel des Vorlagebilds aus dem Bildspeicher 1703 und für jedes Pixel eines zu verarbeitenden Teilbilds aus dem Bildspeicher 1704 ausgelesen. Weiterhin wird eine kumulative Addition für ein Quadrat jeder Differenz zwischen einem Bilddatenwert jedes Pixels in dem verarbeiteten Teilbild und demjenigen eines entsprechenden Pixels in dem Vorlagebild ausgeführt, und das Ergebnis der kumulativen Addition wird im Register 914 gespeichert. Der Vergleicher 923 vergleicht das Ergebnis der kumulativen Addition, das im Register 914 gespeichert ist, mit dem im Register 922 gespeicherten Schwellenwert und gibt ein dem Vergleichsergebnis entsprechendes Signal aus. Falls das im Register 914 gespeicherte Ergebnis der kumulativen Addition anschließend den im Register 922 gespeicherten Schwellenwert übersteigt, werden eine Summe und eine Summe von Quadraten von Bilddatenwerten von Pixeln im nächsten dem vorliegenden Teilbild benachbarten Teilbild in den Registern 919 bzw. 920 gespeichert. Weiterhin wird ein für das Abschließen eines Prozesses zur Beurteilung einer Ähnlichkeit für das nächste Teilbild verwendeter Schwellenwert im Register 922 gespeichert, und die in den Adressengeneratoren 903 und 904 gespeicherten Adressen werden zu der Adresse des Anfangspixels im Vorlagebild bzw. einer Adresse eines Anfangspixels im nächsten Teilbild geändert. Gleichzeitig werden die Änderungen der Adressen in den Adressengeneratoren 903 und 904 der CPU 1701 mitgeteilt.
  • 10 zeigt ein Blockdiagramm der Recheneinheit 910. Eine Bezugszahl 1000 entspricht der Recheneinheit 910. Die Recheneinheit 1000 beinhaltet einen Zeilenspeicher 1001, bei dem die Anzahl der Zeilen wenigstens so groß ist wie die Anzahl der Zeilen im Vorlagebild, wobei jede Zeile eine Kapazität hat, die wenigstens so groß ist wie die Anzahl der Pixel in jeder Zeile des Suchbilds, Subtrahierer 1002 und 1005, Addierer 1003 und 1006, einen Zeilenspeicher mit einer Zeile, die eine Kapazität hat, die mindestens so groß ist wie die Anzahl der Pixel in jeder Zeile des Suchbilds, ein Register 1007, einen Speicher 1008 zum Speichern eines Berechnungsergebnisses und einen Adressengenerator, der eine zum Ausführen eines Zugriffs auf den Speicher 1008 verwendete Adresse erzeugt. Wenn ein Prozeß zum Beurteilen einer Ähnlichkeit für ein Teilbild eingeleitet wird, werden die Zeilenspeicher 1001 und 1004 und das Register 1007 initialisiert, so daß der Wert 0 in diese Zeilenspeicher und das Register gesetzt wird.
  • Operationen, bei denen eine Summe von Bilddatenwerten von Pixeln in einem Teilbild des Suchbilds durch die in 10 dargestellte Recheneinheit 1000 berechnet wird, werden mit Bezug auf die 2 und 3 erklärt. Zuerst werden Bilddaten des Suchbilds in der Abtastreihenfolge in die Recheneinheit 1000 eingegeben. Eine in die Recheneinheit 1000 eingegebene Bilddateneinheit (als z bezeichnet) wird im Zeilenspeicher 1001 gespeichert und in den Subtrahierer 1002 eingegeben. Anschließend wird angenommen, daß eine vorliegende Bilddateneingabe in die Recheneinheit eine Bilddateneinheit eines in 3 dargestellten Pixels 207 ist. Der Computer liest eine Bilddateneinheit (als y bezeichnet) aus dem Zeilenspeicher 1001, welche in einer Zeile, die N Zeilen über einer Zeile, in der die Bilddateneinheit z gespeichert ist, in der gleichen Spalte gespeichert ist, an der die Dateneinheit z gespeichert ist, und gibt die Bilddateneinheit y in den Subtrahierer 1002 ein. Die Dateneinheit y ist eine Bilddateneinheit eines in 3 dargestellten Pixels 206. Falls in dem Suchbild kein der Dateneinheit y entsprechendes Pixel existiert, wird der Wert 0 für den Anfangswert von y festgelegt. Der Subtrahierer 1002 berechnet (z – y). Der Zeilenspeicher 1004 speichert M Summen für eine Zeile, wobei jede eine Summe von Bilddatenwerten von Pixeln in einem Bereich mit 1 Spalte und N Zeilen ist. Der Addierer 1003 addiert den vom Subtrahierer 1002 berechneten Wert (z – y) zu einer Summe (als W bezeichnet) von Bilddatenwerten von Pixeln in dem in 3 dargestellten Bereich 205 und gibt die Ergebnisse der Addition als eine Summe (als V bezeichnet) von Bilddatenwerten von Pixeln in dem in 2 dargestellten Bereich 204 aus. Vom Addierer 103 ausgegebene Bilddaten werden im Zeilenspeicher 1004 gespeichert und in den Subtrahierer 1005 eingegeben. Der Subtrahierer 1005 subtrahiert eine Summe (als U bezeichnet) von Werten aus dem Zeilenspeicher 1004 ausgelesener Bilddaten für Pixel in dem in 2 dargestellten Bereich 203 von dem vorstehend erwähnten Wert V und gibt das Subtraktionsergebnis aus. Der Addierer 1006 berechnet eine Summe von Bilddatenwerten von Pixeln in dem in 2 dargestellten Teilbild 201 durch Addieren des vorstehend erwähnten Subtraktionsergebnisses zu einer Summe (als G bezeichnet), die im Register 1007 gespeichert ist, für Bilddatenwerte von Pixeln in dem in 2 dargestellten Teilbild 202. Die berechnete Summe von Bilddatenwerten für das Teilbild 201 wird in beiden Speichern 1007 und 1008 gespeichert.
  • Als nächstes wird bei jedem Ausleseprozeß eines Bilddatenwerts jedes Pixels in dem Suchbild die Berechnung einer Summe von Bilddatenwerten für das nächste Teilbild wiederholt und das Berechnungsergebnis im Speicher 1008 gespeichert. Ähnlich wird eine Berechnung einer Summe von Quadraten von Bilddatenwerten für das Teilbild ausgeführt. Ein normierter Korrelationskoeffizient für das Teilbild wird unter Verwendung einer Summe und einer Summe von Quadraten von Bilddatenwerten für das Teilbild berechnet, welche durch den Adressengenerator 1009 aus dem Speicher 1008 ausgelesen werden, und in den in 9 dargestellten Registern 919 und 920 gespeichert.
  • 11 zeigt ein Blockdiagramm eines Bildverarbeitungssystems. Das Bildverarbeitungssystem beinhaltet einen Bildverarbeitungsprozessor 1101, einen Host-Prozessor 1102, einen Sensor 1103 und einen Bildschirm 1104. 12 ist ein detailliertes Blockdiagramm des Bildverarbeitungsprozessors 1101. Wie in 12 dargestellt ist, besteht der Bildverarbeitungsprozessor 1101 aus Bildspeichern 1201 und 1202, einem Vorlagenvergleichsteil 1203, einem Bildvorverarbeitungsteil zum Ausführen von Prozessen in der Art eines Bilddaten-Filterprozesses, einem Bildeingabe-Verarbeitungsteil 1205 zum Ausgeben von einem Endgerät 1209 eingegebener Bilddaten an einen Schreibbus 1214, einem Bildanzeige-Verarbeitungsteil 1206 zum Ausgeben von Bilddaten von einem Lesebus 1212 an ein Endgerät 1210 als Bildsignale, einer Host-Schnittstelle 1207 zum Ausführen der Signalübertragung zwischen dem Bildverarbeitungsprozessor 1101 und dem Host-Prozessor 1102 und einem Bussteuerteil 1208 zum Ausführen der Daten- oder Adressenübertragungs-Bussteuerung zwischen den Bildspeichern 1201 und 1202 und den vorstehend erwähnten Verarbeitungsteilen oder der Schnittstelle.
  • Der Vorlagenvergleichsteil 1203 beinhaltet, abgesehen von den Adressengeneratoren 903 und 904, die gleichen Elemen te wie diejenigen, die in 9 dargestellt sind, und der Bussteuerteil 1208 übernimmt die Funktionen der Generatoren 903 und 904.
  • Der Bildverarbeitungsprozessor 1101 entspricht der durch eine Bezugszahl 1200 in 12 angegebenen Zusammensetzung. Weiterhin sind der Sensor 1103, der Bildschirm 1104 und der Host-Prozessor 1102 an die Anschlüsse 1209, 1210 bzw. 1211 angeschlossen.
  • Vor dem Vorlagenvergleich werden Bilddaten des Vorlagebilds und des Suchbilds in den Bildspeichern 1101 und 1102 gespeichert. Bilddaten des Vorlagebilds werden vom Sensor 1103 eingelesen und über den Anschluß 1109, den Bildeingabe-Verarbeitungsteil 1206, den Schreibbus 1214 und den Bussteuerteil 1208 im Speicher 1201 oder 1202 gespeichert, oder Bildinformationen des im Host-Prozessor 1102 gespeicherten Vorlagebilds werden über den Anschluß 1211, die Host-Schnittstelle 1207 und den Bussteuerteil 1208 zum Bildspeicher 1201 oder 1202 gesendet und darin gespeichert. Weiterhin werden vom Sensor 1103 eingelesene Bilddaten des Vorlagebilds über den Anschluß 1109, den Bildeingabe-Verarbeitungsteil 1206, den Schreibbus 1214 und den Bussteuerteil 1208 im Bildspeicher 1201 oder 1202 gespeichert.
  • Weil Bilddaten des Vorlagebilds und des Suchbilds im allgemeinen Rauschkomponenten aufweisen, wird eine Vorverarbeitung in der Art eines Filterns für die Bilddaten ausgeführt, um die Rauschkomponenten zu entfernen. Das heißt, daß die Bilddaten des Vorlagebilds und des Suchbilds über den Bussteuerteil 1208 und die Lesebusse 1212 oder 1213 aus dem Bildspeicher 1201 oder 1202 ausgelesen werden und der Bildvorverarbeitungsteil 1204 eine angemessene Vorverarbeitung der Bilddaten ausführt. Die Bilddaten, an denen die Vorverarbeitung ausgeführt wurde, werden im Bildspeicher 1201 oder 1202 gespeichert. Die Prozeduren zum Vorverarbeiten der Bilddaten werden im Vorverarbeitungsteil 1204 vom Host-Prozessor 1102 über den Anschluß 1211 und die Host-Schnittstelle 1207 festgelegt. Die Ergebnisse der Vorverarbeitung werden über den Bussteuerteil 1208, den Schreibbus 1214 und den Bildanzeige-Verarbeitungsteil 1206 auf dem Bildschirm 1104 angezeigt, und die Ergebnisse können auf dem Bildschirm 1214 bestätigt werden.
  • Der Vorlagenvergleichsteil 123 liest Bilddaten des Vorlagebilds und des Suchbilds über den Bussteuerteil 1208 aus dem Bildspeicher 1201 oder 1202 und führt durch Berechnen eines normierten Korrelationskoeffizienten für jedes Teilbild des Suchbilds einen Vorlagenvergleich für das Suchbild aus. Anschließend werden Anfangspunkte für Teilbilder, die eine große Ähnlichkeit mit dem Vorlagebild aufweisen, entsprechend den Ergebnissen bei dem mit Bezug auf 9 erklärten Vergleich gespeichert, und nach dem Abschluß der Verarbeitung für alle Teilbilder des Suchbilds werden Informationen über die vorstehend erwähnten Anfangspunkte zum Host-Prozessor 1102 gesendet.
  • Bei den vorstehend erklärten Ausführungsformen werden alle Berechnungen vom Bildverarbeitungsprozessor 1101 ausgeführt. Es ist jedoch auch möglich, daß der Host-Prozessor 1101 komplizierte Berechnungen in der Art einer Berechnung jedes Schwellenwerts ausführt.
  • Es ist gemäß der vorliegenden Erfindung möglich, mit hoher Geschwindigkeit einen Vorlagenvergleich auszuführen, bei dem ein normierter Korrelationskoeffizient verwendet wird, ohne daß fälschlicherweise ein Teilbild ausgeschlossen wird, das eine große Ähnlichkeit mit dem Vorlagebild hat.
  • Nachstehend wird ein gleitendes Mittelwertbildungsfilter gemäß der vorliegenden Erfindung erklärt. Eine Hardwareanordnung einer Bildverarbeitungsvorrichtung mit dem Mittelwertbildungsfilter wird zuerst mit Bezug auf 18 erklärt. Die Bildverarbeitungsvorrichtung beinhaltet eine Bildeingabevorrichtung 1801 zum Eingeben eines Bilds, einen Bildspeicher 1802 zum Speichern von Bilddaten des eingegebenen Bilds, einen Bildprozessor 1800 zum Ausführen einer Bildverarbeitung und einen Bildspeicher 1805 zum Speichern vom Bildprozessor 1800 verarbeiteter Bilddaten des Bilds. Weiterhin weist der Bildprozessor 1800 einen Zeilenspeicher 1803 zum Festhalten von Bilddaten von Pixeln in einer Zeile des Bilds, einen Berechnungsteil 1804 zum Implementieren von einem der später erklärten Algorithmen und einen Speichersteuerteil 1810 zum Steuern des Zugriffs auf den Bildspeicher 1802 und den Zeilenspeicher 1803 auf.
  • In 18 legt der Speichersteuerteil 1810 eine Adresse für jedes Pixel in dem Speicher 1802 fest, und eine Bilddateneinheit des Pixels, die über eine Übertragungsleitung 1801a von der Bildeingabevorrichtung 1801 ausgegeben wird, wird an der festgelegten Adresse des Speichers 1802 gespeichert. Weiterhin überträgt der Speichersteuerteil 1810 einen Befehl zum Lesen jeder zu verarbeitenden Bilddateneinheit zusammen mit einer Adresse der Bilddaten, und die von der Adresse des Speichers 1802 gelesenen Bilddaten werden an den Zeilenspeicher 1803 und den Berechnungsteil 1804 ausgegeben. Der Zeilenspeicher 1803 hält Bilddaten von Pixeln im Umfang der Pixel einer Zeile des Bilds, die im Speicher 1802 gespeichert sind. Der Zeilenspeicher 1803 ist beispielsweise unter Verwendung eines Schieberegisters aufgebaut. Demgemäß wird der Zeilenspeicher 1803 so gesteuert, daß er Bilddaten von Pixeln in einer Zeile des Bilds festhält und eine Bilddateneinheit vom Bildspeicher 1802 empfängt und eine Bilddateneinheit über eine Übertragungsleitung 1802a an den Berechnungsteil 1804 ausgibt. Der Berechnungsteil 1804 empfängt eine vom Bildspeicher 1802 ausgegebene Bilddateneinheit jedes Pixels und eine vom Zeilenspeicher 1803 ausgegebene Bilddateneinheit jedes Pixels und implementiert einen der später erklärten Algorithmen. Das Ergebnis der Implementation wird über eine Übertragungsleitung 1804a im Speicher 1805 gespeichert.
  • 19 zeigt eine Speicheradressenzuordnung des Bildspeichers 1802. Der Bildspeicher 1802 ist beispielsweise unter Verwendung eines SDRAMs (synchronen DRAMs) aufgebaut, und Bilddaten von Pixeln in dem Bild werden entsprechend der in 19 dargestellten Adressenzuordnung im Bildspeicher 1802 gespeichert. Das heißt, daß der unter Verwendung eines DRAMs, eines SDRAMs usw. aufgebaute Bildspeicher 1802 die Kapazität von Bilddaten für einen Bereich mit m Zeilen und n Spalten aufweist, wobei n und m natürliche Zahlen sind. Gewöhnlich wird der Zugriff auf einen DRAM oder einen SDRAM durch Angeben einer Zeilenadresse und einer Spaltenadresse ausgeführt. In 19 wird die Zeilenadresse durch m ausgedrückt und die Spaltenadresse durch n ausgedrückt. Gemäß einer Ausführungsform der vorliegenden Erfindung führt der Speichersteuerteil 1810 eine Speicherzugriffssteuerung aus, wobei es, weil ein Hochfrequenz-Zyklusmodus in der Art eines Hochgeschwindigkeits-Seitenmodus verwendet werden kann, indem eine Zeilenadresse und mehrere aufeinanderfolgende Spaltenadressen angegeben werden, möglich ist, ein schnelles Einschreiben von Bilddaten in den Bildspeicher 1802 und ein schnelles Auslesen von Bilddaten aus dem Bildspeicher 1802 zu verwirklichen. Anschließend wird jede Bilddateneinheit beispielsweise durch eine Acht-Bit-Dateneinheit ausgedrückt.
  • 20A zeigt ein Bild, das durch einen Bereich mit 9 Pixeln in Zeilenrichtung und 8 Pixeln in Spaltenrichtung ausgedrückt ist. Bezugszahlen 211289 geben jeweilige Pixel in dem Bild an. Der Speichersteuerteil 1810 steuert das Einschreiben und das Auslesen von Bilddaten durch Angeben der Adressen der Bilddaten im Bildspeicher 1802. Bei der Bilddaten-Ausleseverarbeitung werden Adressen für alle Pixel in jeder einzelnen Zeile des Bilds zu einer Zeit angegeben, und die der angegebenen Adresse entsprechenden Bilddaten werden kontinuierlich ausgelesen. Gemäß dieser Ausführungsform ist es für das in 20A dargestellte Bild möglich, daß nach neun Bilddateneinheiten von einer Bilddateneinheit des am weitesten links gelegenen Pixels 211 bis zu einer Bilddateneinheit des am weitesten rechts gelegenen Pixels 219 in der oberen Zeile wiederum neun Bilddateneinheiten von Pixeln in einer anderen Zeile, beispielsweise die Bilddateneinheiten der Pixel 261269 in der sechsten Zeile ausgelesen werden. Überdies zeigt 20B ein Bild, in dem Pixel durch Bezugszahlen 211' bis 289' bezeichnet sind, welche durch Ausführen eines gleitenden Mittelwertbildungs-Filterprozesses für einen Kernbereich von 5 Pixel × 5 Pixel des in 20A dargestellten Bilds erhalten wurden. Die Position eines zentralen Pixels in dem Kernbereich wird von 211 bis 219 in Zeilenrichtung, als nächstes von 221 bis 229 und weiter von 231 bis 239 usw. geändert.
  • Nachstehend wird ein gemäß dieser Ausführungsform verwendeter Algorithmus zur gleitenden Mittelwertbildungsfilterung mit Bezug auf 21 erklärt. In 21 bezeichnet eine Bezugszahl 2101 einen Bereich, von dem gegenwärtig eine gleitende Mittelwertbildung zu verarbeiten ist (als ein gegenwärtiger Bereichsmittelwert bezeichnet), und der gegenwärtige Bereichsmittelwert ist durch B ausgedrückt. Eine Bezugszahl 2141 gibt ein Pixel an, das sich an der äußersten rechten und niedrigsten Position im Kernbereich 2101 befindet, und ein Bilddatenwert des Pixels 2141 ist durch A ausgedrückt. Eine Bezugszahl 2102 gibt einen Kernbereich an, der sich eine Zeile über dem Kernbereich 2101 befindet, und ein gleitender Mittelwert des Kernbereichs 2102 ist durch B' ausgedrückt, und er wurde zuvor durch eine Zeile für den gleitenden Mittelwert B erhalten. Eine Bezugszahl 2103 gibt einen oberen Zeilenbereich in der oberen Zeile im Kernbereich 2102 an, und eine Summe von Bilddatenwerten von Pixeln im oberen Zeilenbereich 2103 ist durch C ausgedrückt. Eine Bezugszahl 2104 gibt einen unteren Zeilenbereich der unteren Zeile im Kernbereich 2101 an, und eine Summe von Bilddatenwerten von Pixeln im Zeilenbereich 2104 ist durch D ausgedrückt. Eine Bezugszahl 2145 gibt ein Pixel an, das sich an der äußersten rechten und oberen Position im Kernbereich 2102 befindet, und ein Bilddatenwert des Pixels 2141 ist durch E ausgedrückt. Eine Bezugszahl 2153 gibt einen durch Verschieben des oberen Zeilenbereichs 2103 um ein Pixel nach links erhaltenen oberen Zeilenbereich an, und eine Summe von Bilddatenwerten des oberen Zeilenbereichs 2153 ist durch C' ausgedrückt. Eine Bezugszahl 2154 gibt einen durch Verschieben des unteren Zeilenbereichs 2104 um ein Pixel nach links erhaltenen unteren Zeilenbereich an, und eine Summe von Bilddatenwerten des unteren Zeilenbereichs 2154 ist durch D' ausgedrückt. Eine Bezugszahl 2151 gibt ein Pixel an, das sich an der äußersten linken Position im unteren Zeilenbereich 2154 befindet, und ein Bilddatenwert des Pixels 2151 ist durch A' ausgedrückt. Eine Bezugszahl 2155 gibt ein Pixel an, das sich an der äußersten linken Position im oberen Zeilenbereich 2153 befindet, und ein Bilddatenwert des Pixels 2153 ist durch E' ausgedrückt.
  • Bei einem für diese Ausführungsform gemäß der vorliegenden Erfindung verwendeten Algorithmus wird der gegenwärtig zu erhaltende gleitende Mittelwert B durch Addieren von (Summe D der Bilddatenwerte des unteren Zeilenbereichs – Summe C der Bilddatenwerte des oberen Zeilenbereichs)/(Anzahl N der Pixel im Kernbereich für das gleitende Mittelwertbildungsfiltern) zum gleitenden Mittelwert B' des Bereichs 2102, der eine Zeile über dem Bereich 2101 liegt, berechnet. Weiterhin wird der Wert (Summe D der Bilddatenwerte des unteren Zeilenbereichs – Summe C der Bilddatenwerte des oberen Zeilenbereichs) durch Addieren von (Bilddatenwert A des am weitesten rechts gelegenen und untersten Pixels 2141 – Bilddatenwert E des am weitesten rechts gelegenen und obersten Pixels 2145) zu (Bilddatenwert A' des am weitesten links gelegenen und untersten Pixels 2154 – Bilddatenwert E' des am weitesten links gelegenen und obersten Pixels 2153) und Subtrahieren von (Summe C' des um ein Pixel nach links verschobenen oberen Zeilenbereichs – Summe D' des um ein Pixel nach links verschobenen unteren Zeilenbereichs) erhalten. Der vorstehend erwähnte Algorithmus wird durch die folgenden Gleichungen 6 und 7 ausgedrückt: D – C = (D' – C') + (A – E) – (A' – E') (6) B = B' + (D – C)/N (7)
  • Der gleitende Mittelwert B', der Wert (D' – C') und der Wert (A' – E'), die zuvor für den eine Zeile darüber liegenden Kernbereich berechnet wurden, werden festgehalten, und der gleitende Mittelwert B wird entsprechend den Gleichungen 6 und 7 erhalten, wobei die vorstehenden Werte verwendet werden und der Bilddatenwert A und der Bilddatenwert E gelesen werden, die an der Adresse gespeichert sind, die fünf Zeilen über derjenigen des Werts A liegt.
  • 22 zeigt einen schematischen Schaltplan des Berechnungsteils 1804, wobei der vorstehend erwähnte Algorithmus zur gleitenden Mittelwertbildungsfilterung implementiert wird. Der Berechnungsteil 1804 enthält einen Subtrahierer 2201 zum Berechnen von (A – E), ein Schieberegister 2202 zum Festhalten erhaltener Werte mit einem Umfang entsprechend der Breite des Kernbereichs 2101, das eine Kapazität für Bilddaten von Pixeln in einem Zeilenbereich entsprechend der Breite des Kernbereichs hat (die Kapazität ist fünf Wörter für fünf Pixel in einem in 21 dargestellten Beispiel), einen Subtrahierer 2203 zum Berechnen von ((A – E) = (A' – E')), einen Addierer 2204 zum Berechnen von (D – C), einen Latch-Speicher zum Halten von (D' – C'), ein Schieberegister 2206 zum Speichern von Berechnungsergebnissen mit einem Umfang für eine Zeile des Bilds (d. h. n Wörter) und einen Addierer 2207 und einen Dividierer 2210, welche B berechnen.
  • Der Berechnungsteil 1804 erhält den gleitenden Mittelwert B des Bereichs 2101 durch Einlesen der Bilddatenwerte A und E des äußersten rechten und niedrigsten Pixels und des äußersten rechten und obersten Pixels. Der Subtrahierer 2201 liest zum Berechnen von (A – E) den Bilddatenwert A über die Übertragungsleitung 1803a und den Bilddatenwert E über die Übertragungsleitung 1802a ein, führt weiter eine Subtraktion von (A – E) aus und gibt das Ergebnis der Subtraktion an eine Übertragungsleitung 2201a aus. Das Schieberegister 2202 empfängt jedes Ausgangssignal vom Subtrahierer 2201 und hält die Ausgangssignale mit dem der Bereichsbreite entsprechenden Umfang (fünf Signale in dem in 21 dargestellten Beispiel) fest. Folglich gleicht ein Ausgangssignal vom Schieberegister 2202 einem Wert (A – E), der um fünf Pixel nach links verschoben ist, d. h. einem Wert (A' – E'). Der Subtrahierer 2203 zum Berechnen von ((A – E) – (A' – E')) berechnet ((A – E) – (A' – E')) durch Empfangen eines Ausgangssignals vom Subtrahierer 2201 und eines Ausgangssignals vom Schieberegister 2202 und gibt die Ergebnisse der Subtraktion an eine Übertragungsleitung 2203a aus. Der Addierer 2204 zum Berechnen von (D – C) addiert fünf vom Subtrahierer 2203 ausgegebene Ausgangssignale ((A – E) – (A' – E')), berechnet weiter (D – C) unter Verwendung des Ergebnisses der Addition und (D' – C'), das vom Latch-Speicher 2205 ausgegeben wurde, und gibt das Ergebnis der Berechnung an eine Übertragungsleitung 2204a aus. Der Latch-Speicher 2205 zum Festhalten von (D – C), das vom Addierer 2204 ausgegeben wurde, verzögert das festgehaltene (D – C) um einen Verarbeitungsschritt und gibt es als (D' – C') an eine Übertragungsleitung 2205a aus. Der Dividierer 2210 empfängt das vom Addierer 2204 ausgegebene (D – C), dividiert weiter (D – C) durch die Anzahl N der Pixel im Kernbereich und gibt das Ergebnis der Division an den Addierer 2207 aus. Hierbei kann die Zahl N vorab festgelegt werden oder von einem Benutzer eingegeben werden. Das Schieberegister 2206 empfängt wiederum ein Ausgangssignal vom Addierer 2207 zum Berechnen von B und hält die Ausgangssignale im Umfang einer Zeile des Bilds (n Wörter für das in 19 dargestellte Bild) fest. Daher ist ein Ausgangssignal vom Schieberegister 2206 ein zuvor von einer Zeile erhaltener Wert B, d. h. ein gleitender Mittelwert B' des in 21 dargestellten Bereichs 2102. Der Addierer 2207 zum Berechnen von B empfängt ein Ausgangssignal vom Schieberegister 2206 und ein Ausgangssignal vom Dividierer 2210, berechnet weiter einen gleitenden Mittelwert B des gegenwärtigen Kernbereichs und gibt das Ergebnis der Berechnung an die Übertragungsleitung 1804a aus.
  • Gemäß der vorstehend erwähnten Prozedur wird der auf den Gleichungen 6 und 7 beruhende Algorithmus implementiert. Hierbei ist es möglich, daß der Berechnungsteil 1804 nur eine Additions- oder Subtraktionsverarbeitung ausführt und Ergebnisse der abschließenden Additionsverarbeitung an den Bildspeicher 1805 ausgibt, und es führt weiter ein äußerer Prozessor die Divisionsberechnung an Stelle des Dividierers 2210 aus und erhält den gleitenden Mittelwert B.
  • Nachfolgend werden Operationen der Bildverarbeitungsvorrichtung erklärt. Alle Bilddaten für das Bild, die durch die Bildeingabevorrichtung 1801 eingegeben werden, werden über die Übertragungsleitung 1801a an einer Adresse des Bildspeichers 1802 gespeichert, die durch den Speichersteuerteil 1810 festgelegt wird. Der Bildprozessor 1800 liest im Bildspeicher 1802 gespeicherte Bilddaten über die Übertragungsleitung 1802a aus. Wie vorstehend erwähnt wurde, ist, weil der Speichersteuerteil 1810 eine Zeilenadresse und mehrere aufeinanderfolgende Spaltenadressen angibt, ein Hochfrequenz-Zyklusmodus in der Art eines Hochgeschwindigkeits-Seitenmodus anwendbar, und Bilddaten können mit hoher Geschwindigkeit aus dem Bildspeicher 1802 ausgelesen oder in diesen geschrieben werden. Aus dem Bildspeicher 1802 ausgelesene Bilddaten werden in den Berechnungsteil 1804 und den Zeilenspeicher 1803 eingegeben. Das Eingeben von Bilddaten in jeden von dem Berechnungsteil 1804 und dem Zeilenspeicher 1803 wird zu verschiedenen Zeitpunkten ausgeführt. Beispielsweise steuert der Speichersteuerteil 1810 zuerst die Bilddatenspeicherung, so daß in dem in 21 dargestellten Beispiel Bilddaten von Pixeln in einer Zeile einschließlich des am weitesten rechts gelegenen und untersten Pixels 2141 ausgelesen und im Zeilenspeicher 1803 gespeichert werden. Als nächstes steuert der Speichersteuerteil 1810 das Lesen von Bilddaten, so daß eine Bilddateneinheit des am weitesten rechts gelegenen und untersten Pixels 2141 aus dem Bildspeicher 1802 ausgelesen wird und gleichzeitig eine Bilddateneinheit des Pixels 2145 aus dem Zeilenspeicher 1803 ausgelesen wird. Der in 22 dargestellte Berechnungsteil 1804 liest den Bilddatenwert A des Pixels 2141 und den Bilddatenwert E des Pixels 2145 ein, berechnet weiter den gleitenden Mittelwert B und gibt das Ergebnis der Berechnung aus. Der berechnete gleitende Mittelwert B wird über die Übertragungsleitung 1804a in den Bildspeicher 1805 eingegeben und an einer Adresse des Bildspeichers 1805 gespeichert, die durch den Speichersteuerteil angegeben wird. Ähnlich steuert der Speichersteuerteil 1810 zum Erhalten eines gleitenden Mittelwerts des nächsten Kernbereichs (der Kernbereich, der dem um ein Pixel nach rechts vom zentralen Pixel des vorhergehenden Kernbereichs verschobenen zentralen Pixel entspricht) die Bilddatenspeicherung, so daß eine Bilddateneinheit eines Pixels, die gegenüber dem am weitesten rechts gelegenen und untersten Pixel 2141 um ein Pixel nach rechts verschoben ist, aus dem Bildspeicher 1802 ausgelesen wird, und es wird gleichzeitig eine Bilddateneinheit eines Pixels, das um ein Pixel gegenüber dem Pixel 2145 nach rechts verschoben ist, aus dem Zeilenspeicher 1803 ausgelesen. Falls ein zentrales Pixel eines Kernbereichs zur nächsten unteren Zeile übertragen wird, werden Bilddaten von Pixeln für eine Zeile in der nächsten unteren Zeile unter dem Pixel 2145 im Zeilenspeicher 1803 gespeichert, und es wird wiederum eine Bilddateneinheit jedes Pixels ausgelesen.
  • Wenn zunächst ein gleitender Mittelwert erhalten wird, kann das Berechnen des gleitenden Mittelwerts ausgeführt werden, indem Blinddaten in jedes Schieberegister eingegeben werden.
  • Weil es, wie vorstehend erwähnt wurde, durch Bereitstellen des Zeilenspeichers 1803 möglich ist, ein aufeinanderfolgendes Berechnen jedes gleitenden Mittelwerts durch fortlaufendes Auslesen jedes dem Pixel 2145 entsprechenden Bilddatenwerts E und jedes dem Pixel 2141 entsprechenden Bilddatenwerts A im Kernbereich auszuführen, kann wiederum in horizontaler Richtung ein Speicherzugriff, der erforderlich ist, um einen gleitenden Mittelwert zu erhalten, schneller als bei herkömmlichen Verfahren ausgeführt werden.
  • Gemäß dieser Ausführungsform werden Bilddaten von Pixeln in einer Zeile, die das oberste Pixel 2145 enthält, im Zeilenspeicher 1803 gespeichert. Es ist jedoch auch möglich, Bilddaten von Pixeln in einer Zeile, die das unterste Pixel 2141 enthält, im Zeilenspeicher 1803 zu speichern. Wenngleich weiterhin Bilddaten der Pixel einer Zeile im Zeilenspeicher 1803 gespeichert werden, ist es auch möglich, Bilddaten von fünf Zeilen im Zeilenspeicher 1803 zu speichern. Weil bei dieser Anwendung der Zeilenspeicher 1803 als eine Verzögerungsschaltung angesehen werden kann, können aus dem Bildspeicher 1802 ausgelesene Bilddaten gleichzeitig in den Berechnungsteil 1804 und den Zeilenspeicher 1803 eingegeben werden. Demgemäß sollte das zum Erhalten jedes gleitenden Mittelwerts erforderliche Lesen von Bilddaten aus dem Bildspeicher 1802 nur zu einer Zeit ausgeführt werden.
  • Weil gemäß dieser Ausführungsform der Zugriff auf den Bildspeicher in horizontaler Richtung kontinuierlich ausgeführt werden kann, können gleitende Mittelwerte mit hoher Geschwindigkeit erhalten werden.
  • Nachstehend wird ein bei einer anderen Ausführungsform verwendeter Algorithmus mit Bezug auf 23 erklärt. Eine Bezugszahl 2301 gibt einen Kernbereich an, von dem ein gleitender Mittelwert gegenwärtig zu erhalten ist, welcher mit B bezeichnet ist. Eine Bezugszahl 2341 gibt ein Pixel an, das sich an der am weitesten rechts gelegenen und untersten Position im Bereich 2301 befindet, wodurch der Bilddatenwert des Pixels 2341 mit A bezeichnet ist. Eine Bezugszahl 2303 gibt einen vertikalen Zeilenbereich auf der linken Außenseite des vorhergehenden Bereichs 2302 an, wobei eine Summe von Bilddatenwerten von Pixeln im Zeilenbereich 2303 mit F bezeichnet ist. Eine Bezugszahl 2304 gibt einen vertikalen Zeilenbereich an der am weitesten rechts gelegenen Position im Bereich 2301 an, wobei eine Summe von Bilddatenwerten von Pixeln im Zeilenbereich 2304 mit G bezeichnet ist. Eine Bezugszahl 2345 gibt ein Pixel an, das um eine Zeile über der obersten Position im vertikalen Zeilenbereich 2304 liegt, wobei der Bilddatenwert des Pixels 2345 mit E bezeichnet ist. Eine Bezugszahl 2302 gibt den vorhergehenden Kernbereich an, der gegenüber dem Kernbereich 2301 um ein Pixel nach links verschoben ist, wobei ein gleitender Mittelwert des Bereichs 2302 mit B'' bezeichnet ist. Eine Bezugszahl 2314 gibt einen vertikalen Zeilenbereich an, der sich eine Zeile über dem vertikalen Zeilenbereich 2304 befindet, welcher sich an der äußersten rechten Position im Kernbereich 2301 befindet, wobei eine Summe von Bilddatenwerten von Pixeln im Zeilenbereich 2304 mit G' bezeichnet ist. Der gleitende Mittelwert B'' des Bereichs 2302 wurde zuvor durch ein Pixel erhalten, bevor der gleitende Mittelwert B des Bereichs 2301 erhalten wurde, und die Summe G' des Zeilenbereichs wurde zuvor durch eine Zeile erhalten, bevor die Summe G des Zeilenbereichs 2304 erhalten wurde. Das heißt, daß der gleitende Mittelwert B'' des Bereichs 2302 und die Summe G' für den Bereich 2314 bereits erhalten wurden und festgehalten werden.
  • In dem in 23 dargestellten Algorithmus wird der gleitende Mittelwert des Bereichs 2301, der gegenwärtig zu erhalten ist, berechnet, indem (Summe G des vertikalen Zeilenbereichs 2304 an der rechten Seitenposition – Summe F des vertikalen Zeilenbereichs 2303 an der linken Seitenposition)/N zum gleitenden Mittelwert B'' des Kernbereichs für das vorhergehende Pixel addiert wird. Weiterhin wird die Summe G für den vertikalen Zeilenbereich 2304 an der rechten Seitenposition erhalten, indem der Bilddatenwert A des Pixels 2341 zur Summe G' für den vertikalen Zeilenbereich 2304 addiert wird und der Bilddatenwert E des Pixels 2345 vom Ergebnis der Addition subtrahiert wird. Dieser Algorithmus wird durch die Gleichungen 8 und 9 ausgedrückt. G = G' + (A – E) (8) B = B'' + (G – F)/N (9)
  • Der gleitende Mittelwert B wird durch Halten des gleitenden Mittelwerts B'' und der Summen G' und F erhalten, die für das um ein Pixel vorhergehende zentrale Pixel erhalten wurden, wobei weiter der Bilddatenwert A des Pixels 2341 und der Bilddatenwert E des Pixels 2345 in derselben Spalte wie diejenige des Pixels 2341 und an der um fünf Zeilen gegenüber dem Pixel 2341 nach oben verschobenen Position und unter Verwendung der Werte in den Gleichungen 8 und 9 gelesen werden.
  • 24 zeigt einen schematischen Schaltplan eines Berechnungsteils 1804, in dem dieser Algorithmus zum Erhalten eines gleitenden Mittelwerts implementiert ist. Eine Hardwareanordnung einer Bildverarbeitungsvorrichtung kann, abgesehen vom Berechnungsteil 1804, ähnlich derjenigen der in 18 dargestellten Vorrichtung angeordnet werden. Die Operationen der Vorrichtung zum Implementieren dieses Algorithmus ähneln jenen der in 18 dargestellten Vorrichtung, und Bilddaten des Bilds werden in horizontaler Richtung ausgelesen.
  • In 24 weist der Berechnungsteil 1804 den Subtrahierer 2201 zum Berechnen von (A – E), ein Schieberegister 2402 zum Halten von Werten G im Umfang einer Zeile, einen Addierer 2403 zum Berechnen von G, einen Subtrahierer 2404 zum Berechnen von (G – F), einen Addierer 2405 zum Berechnen von B, einen Latch-Speicher zum Halten von B'' und einen Dividierer 2210 auf.
  • Der Berechnungsteil 1804 liest den Bilddatenwert A des Pixels 2341 und den Bilddatenwert E des obersten Pixels 2345 in dem vertikalen Bereich 2314, der in 23 dargestellt ist, ein und erhält den gleitenden Mittelwert B des Bereichs 2301. Der Subtrahierer 2201 zum Berechnen von (A – E) empfängt den Bilddatenwert A des Pixels 2341 über die Übertragungsleitung 1802a und den Bilddatenwert E des obersten Pixels 2345 im vertikalen Bereich 2314 über die Übertragungsleitung 1803a, führt weiter eine Subtraktion (A – E) aus und gibt das Ergebnis der Subtraktion auf die Übertragungsleitung 2201a. Das Schieberegister 2402 empfängt ein Ausgangssignal vom Addierer 2403 zum Berechnen von G über eine Übertragungsleitung 2403a und hält Werte von G im Umfang einer Zeile. Daher ist ein Ausgangssignal vom Schieberegister 2402 ein zuvor von einer Zeile erhaltener Wert G, d. h. der in 23 dargestellte Wert G'. Weiterhin ist ein Ausgangssignal von der fünften Stufe des Schieberegisters 2402 ein zuvor für die Breite des Kernbereichs erhaltener Wert G, d. h. der in 23 dargestellte Wert F. Der Addierer 2403 zum Berechnen von G berechnet G unter Verwendung eines Ausgangssignals vom Subtrahierer 2201 zum Berechnen von (A – E) und eines Ausgangssignals G' vom Schieberegister 2402 und gibt die Ergebnisse der Berechnung an eine Übertragungsleitung 2403a aus. Der Subtrahierer 2404 zum Berechnen von (G – F) berechnet (G – F) unter Verwendung eines Ausgangssignals G vom Addierer 2403 zum Berechnen von G und eines Ausgangssignals F vom Schieberegister 2402 und gibt das Ergebnis der Berechnung an eine Übertragungsleitung 2404a aus. Der Dividierer 2210 empfängt ein Ausgangssignal (G – F) vom Subtrahierer 2404 zum Berechnen von (G – F), dividiert (G – F) durch die vorgegebene Anzahl N von Pixeln im Kernbereich und gibt das Ergebnis der Division aus. Der Addierer 2405 zum Berechnen von B empfängt ein Ausgangssignal B'' vom Latch-Speicher 2406 zum Halten eines Werts B'' und ein Ausgangssignal des Dividierers 2210, erhält weiter den gleitenden Mittelwert B des gegenwärtigen Kernbereichs und gibt den erhaltenen gleitenden Mittelwert über die Übertragungsleitung 1804a aus. Der Latch-Speicher 2406 zum Halten von B'' empfängt ein Ausgangssignal vom Addierer 2405 zum Berechnen von B, verzögert weiter das empfangene Ausgangssignal um ein Pixel und gibt es über eine Übertragungsleitung 2406a als B'' aus.
  • Gemäß den vorstehend erwähnten Operationen wird der durch die Gleichungen 8 und 9 ausgedrückte Algorithmus implementiert.
  • Weil gemäß dieser Ausführungsform auch der Zugriff auf den Bildspeicher kontinuierlich in horizontaler Richtung ausgeführt werden kann, können gleitende Mittelwerte mit hoher Geschwindigkeit erhalten werden.
  • Für das Schieberegister 2402 sind Speicher mit drei Anschlüssen erforderlich, nämlich einem Anschluß zum Einlesen eines Ausgangssignals von der Übertragungsleitung 2403a und zwei Anschlüssen zum Ausgeben zweier Signale an die Übertragungsleitungen 2402a und 2402b. Es ist im allgemeinen schwierig, ein Register mit drei Anschlüssen in einem Prozessor aufzunehmen. In einem Fall, in dem zwei Register mit zwei Anschlüssen, nämlich einem Dateneingabeanschluß und einem Datenausgabeanschluß, verwendet werden, kann der Berechnungsteil 1804 daher, ähnlich dem in 24 dargestellten Teil 1804, so angeordnet sein, wie in 25 dargestellt ist, wobei 25 einen schematischen Schaltplan des Berechnungsteils 1804 zeigt, der den in 23 dargestellten Algorithmus ausführt.
  • In 25 beinhaltet der Berechnungsteil 1804 den Subtrahierer 2201 zum Berechnen von (A – E), ein Schieberegister 2502 zum Halten von Werten G in der Anzahl (Pixel einer Zeile – Pixel in der Bereichsbreite), den Addierer 2403 zum Berechnen von G, den Subtrahierer 2404 zum Berechnen von (G – F), den Addierer 2405 zum Berechnen von B, den Latch-Speicher 2406 zum Halten von B'', ein Schieberegister 2507 zum Halten von Werten G im Umfang der Bereichsbreite und den Dividierer 2210.
  • Der Subtrahierer 2201 zum Berechnen von (A – E) empfängt den Bilddatenwert A des Pixels 2341 über die Übertragungsleitung 1802a und den Bilddatenwert E des obersten Pixels 2345 im vertikalen Zeilenbereich 2134 über die Übertragungsleitung 1803a, führt weiter eine Subtraktion (A – E) aus und gibt das Ergebnis der Subtraktion an die Übertragungsleitung 2201a aus. Das Schieberegister 2502 zum Halten von Werten G in der Anzahl (Pixel einer Zeile – Pixel in der Bereichsbreite) empfängt ein Ausgangssignal vom Schieberegister 2507 zum Halten von Werten G im Umfang der Bereichsbreite über eine Übertragungsleitung 2402b und hält wiederum Werte G im Umfang (Pixel einer Zeile – Pixel in der Bereichsbreite, d. h. (n – 5)). Das Schieberegister 2507 zum Halten von Werten G empfängt einen Wert G und hält Werte G im Umfang der Bereichsbreite. Daher ist ein Ausgangssignal vom Schieberegister 2507 ein Wert G, der zuvor für die Breite erhalten wurde, d. h. der in 23 dargestellte Wert F. Der Addierer 2403 zum Berechnen von G berechnet G unter Verwendung eines Ausgangssignals (A – E) vom Subtrahierer 2201 zum Berechnen von (A – E) und eines Ausgangssignals G' vom Schieberegister 2507 zum Halten von Werten G im Umfang der Bereichsbreite und gibt das Ergebnis der Berechnung an die Übertragungsleitung 2403a aus. Der Subtrahierer 2404 zum Berechnen von (G – F) berechnet (G – F) unter Verwendung eines Ausgangssignals G vom Addierer 2403 zum Berechnen von G und eines Ausgangssignals F vom Schieberegister 2507 zum Halten von Werten G im Umfang der Bereichsbreite und gibt das Ergebnis der Berechnung an eine Übertragungsleitung 2404a aus. Der Dividierer 2210 empfängt ein Ausgangssignal (G – F) vom Subtrahierer 2404 zum Berechnen von (G – F), dividiert weiter (G – F) durch die vorgegebene Anzahl N von Pixeln im Kernbereich und gibt das Ergebnis der Division aus. Der Addierer 2405 zum Berechnen von B empfängt ein Ausgangssignal B'' vom Latch-Speicher 2406 zum Halten eines Werts B'' und ein Ausgangssignal vom Dividierer 2210, erhält weiter den gleitenden Mittelwert B des gegenwärtigen Kernbereichs und gibt den erhaltenen gleitenden Mittelwert B über die Übertragungsleitung 1804a aus. Der Latch-Speicher 2406 zum Halten von B'' empfängt ein Ausgangssignal B vom Addierer 2405 zum Berechnen von B, verzögert das empfangene Ausgangssignal um ein Pixel und gibt es über eine Übertragungsleitung 2406a als B'' aus.
  • Gemäß den vorstehend erwähnten Operationen wird der durch die Gleichungen 8 und 9 ausgedrückte Algorithmus implementiert.
  • Es ist durch den Berechnungsteil 1804, dessen Anordnung in 25 dargestellt ist, möglich, zwei Register mit zwei Anschlüssen, nämlich einem Dateneingabeanschluß und einem Datenausgabeanschluß, an Stelle eines Registers mit drei Anschlüssen zu verwenden.
  • Nachstehend wird ein gemäß einer anderen Ausführungsform verwendeter Algorithmus mit Bezug auf 26 erklärt. Eine Bezugszahl 2301 gibt einen Kernbereich an, dessen gleitender Mittelwert gegenwärtig zu erhalten ist, wobei der gleitende Mittelwert mit B bezeichnet ist. Eine Bezugszahl 2341 gibt das am weitesten rechts gelegene und unterste Pixel im Bereich 2301 an, wobei der Bilddatenwert des Pixels 2341 mit A bezeichnet ist. Eine Bezugszahl 2303 gibt einen vertikalen Zeilenbereich an der linken Außenseite des Bereichs 2301 an, wobei die Summe der Bilddatenwerte der Pixel im vertikalen Zeilenbereich 2303 mit F bezeichnet ist. Eine Bezugszahl 2354 gibt das unterste Pixel im vertikalen Zeilenbereich 2303 an, wobei ein Bilddatenwert des Pixels mit A' bezeichnet ist. Eine Bezugszahl 2302 gibt einen vorhergehenden Kernbereich an, der gegenüber dem Kernbereich 2301 um ein Pixel nach links verschoben ist, wobei der gleitende Mittelwert des Bereichs 2302 mit B' bezeichnet ist. Eine Bezugszahl 2313 gibt einen vertikalen Zeilenbereich an, der eine Zeile über dem vertikalen Zeilenbereich 2303 liegt, wobei es sich um den am weitesten links gelegenen vertikalen Zeilenbereich in dem zuvor verarbeiteten Kernbereich für eine Zeile des Kernbereichs 2302 handelt, wobei die Summe der Bilddatenwerte der Pixel in dem Zeilenbereich 2313 mit F' bezeichnet ist. Eine Bezugszahl 2314 gibt einen vertikalen Zeilenbereich an, der eine Zeile über dem obersten Pixel des vertikalen Zeilenbereichs 2304 liegt, wobei die Summe der Bilddatenwerte der Pixel in dem Zeilenbereich 2314 mit G' bezeichnet ist. Die Bezugszahl 2355 gibt das oberste Pixel im vertikalen Zeilenbereich 2313 an, wobei ein Bilddatenwert des Pixels 2355 mit E' bezeichnet ist. Die Bilddatenwerte A' und E' der Pixel 2354 und 2355 werden als die Bilddatenwerte A und E der Pixel 2341 und 2345, die zuvor für die Bereichsbreite verarbeitet wurden, zwischengespeichert. Weiterhin wurde der gleitende Mittelwert B' wie der zuvor für die Bereichsbreite erhaltene gleitende Mittelwert B erhalten, und die Summen G' und F' für die vertikalen Zeilenbereiche 2314 und 2313 wurden wie die Summen G und F der zuvor für eine Zeile verarbeiteten vertikalen Zeilenbereiche 2304 und 2303 erhalten. Daher wurden die Bilddatenwerte der Pixel 2354 und 2355 und die Summen für die vertikalen Zeilenbereiche 2313 und 2314 und den Bereich 2302 bereits erhalten und sind in den Registern gespeichert.
  • Bei diesem Algorithmus wird der gleitende Mittelwert B des gegenwärtigen Kernbereichs durch Addieren von (Summe G des am weitesten rechts gelegenen vertikalen Zeilenbereichs 2304 – Summe F des am weitesten links gelegenen vertikalen Zeilenbereichs 2302)/N des zuvor für ein Pixel verarbeiteten Kernbereichs erhalten. Weiterhin wird der Wert (Summe G des am weitesten rechts gelegenen vertikalen Zeilenbereichs – Summe F des am weitesten links gelegenen vertikalen Zeilenbereichs) durch Addieren von (Bilddatenwert A des untersten Pixels im vertikalen Zeilenbereich 2304 – Bilddatenwert E des obersten Pixels im vertikalen Zeilenbereich 2345) zu (Summe G' des vertikalen Zeilenbereichs 2314 – Summe F' des vertikalen Zeilenbereichs 2313) und Subtrahieren von (Bilddatenwert A' des untersten Pixels im: vertikalen Zeilenbereich 2303 – Bilddatenwert E' des obersten Pixels im vertikalen Zeilenbereich 2313) vom Ergebnis der Addition erhalten. Dieser Algorithmus wird durch die Gleichungen 10 und 11 ausgedrückt. G – F = (G' – F') + (A – E) – (A' – E') (10) B = B' + (G – F)/N (11)
  • Der gleitende Mittelwert B wird durch Halten des gleitenden Mittelwerts B' und der Werte (A' – E') und (G' – F'), die zuvor für ein Pixel erhalten wurden, und Lesen des Bilddatenwerts A und des Bilddatenwerts E des Pixels, das sich in derselben Spalte befindet wie das am weitesten rechts gelegene und unterste Pixel 2341 an der um fünf Zeilen nach oben verschobenen Position aus dem Bildspeicher 1802 und Verwenden der Werte in den Gleichungen 10 und 11 erhalten.
  • 27 zeigt einen schematischen Schaltplan eines Berechnungsteils 1804, in dem dieser Algorithmus zum Erhalten eines gleitenden Mittelwerts implementiert ist. Eine Hardwareanordnung einer Bildverarbeitungsvorrichtung kann mit Ausnahme des Berechnungsteils 1804 ähnlich derjenigen der in 18 dargestellten Vorrichtung angeordnet werden. Operationen der Vorrichtung zum Implementieren dieses Algorithmus ähneln jenen der in 18 dargestellten Vorrichtung, und Bilddaten des Eingabebilds werden auch in horizontaler Richtung ausgelesen.
  • Der Berechnungsteil 1804 beinhaltet einen Subtrahierer 2201 zum Berechnen von (A – E), das Schieberegister 2202 zum Halten von Werten (A – E) im Umfang der Bereichsbreite, den Subtrahierer 2203 zum Berechnen von ((A – E) – (A' – E')), einen Addierer 2704 zum Berechnen von (G – F), einen Addierer 2405 zum Berechnen von B, den Latch-Speicher 2406 zum Halten von B', ein Schieberegister 2707 zum Halten von Werten (G – F) im Umfang einer Zeile und den Dividierer 2210.
  • Der Berechnungsteil 1804 liest die Bilddatenwerte A und E des am weitesten rechts gelegenen und untersten Pixels und des am weitesten rechts gelegenen und obersten Pixels ein, welche in 26 dargestellt sind, und erhält den gleitenden Mittelwert B des Bereichs 2301. Der Subtrahierer 2201 zum Berechnen von (A – E) empfängt den Bilddatenwert A des Pixels 2341 über die Übertragungsleitung 1802a und den Bilddatenwert E des Pixels 2345 über die Übertragungsleitung 1803a, führt weiter eine Subtraktion von (A – E) aus und gibt das Ergebnis der Subtraktion an die Übertragungsleitung 2201a aus. Das Schieberegister 2202 empfängt ein Ausgangssignal (A – E) vom Subtrahierer 2201 zum Berechnen von (A – E) über die Übertragungsleitung 2201a und hält Werte (A – E) im Umfang der Bereichsbreite. Daher ist ein Ausgangssignal vom Schieberegister 2202 ein zuvor für die Bereichsbreite erhaltener Wert (A – E), d. h. der in 26 dargestellte Wert (A' – E'). Der Subtrahierer 2203 zum Berechnen von ((A – E) – (A' – E')) berechnet ((A – E) – (A' – E')) unter Verwendung eines Ausgangssignals vom Subtrahierer 2201 zum Berechnen von (A – E) und eines Ausgangssignals vom Schieberegister 2202 und gibt die Ergebnisse der Berechnung an eine Übertragungsleitung 2203a aus. Der Addierer 2704 zum Berechnen von (G – F) berechnet (G – F) unter Verwendung eines Ausgangssignals vom Subtrahierer 2203 zum Berechnen von ((A – E) – (A' – E')) und eines Ausgangssignals (G' – F') vom Schieberegister 2402 und gibt das Ergebnis der Berechnung an eine Übertragungsleitung 2704a aus. Das Schieberegister 2707 empfängt ein Ausgangssignal vom Addierer 2704 zum Berechnen von (G – F) und hält wiederum Werte (G – F) im Umfang einer Zeile. Daher ist ein Ausgangssignal vom Schieberegister 2707 ein zuvor für eine Zeile erhaltener Wert (G – F), d. h. der in 26 dargestellte Wert (G' – F'). Der Dividierer 2210 empfängt ein Ausgangssignal (G – F) vom Addierer 2704 zum Berechnen von (G – F), dividiert weiter (G – F) durch die vorgegebene Anzahl N von Pixeln im Kernbereich und gibt das Ergebnis der Division aus. Der Addierer 2405 zum Berechnen von B empfängt ein Ausgangssignal B' vom Latch-Speicher 2406 zum Halten eines Werts B' und ein Ausgangssignal vom Dividierer 2210, erhält weiter den gleitenden Mittelwert B des gegenwärtigen Kernbereichs und gibt den erhaltenen gleitenden Mittelwert über die Übertragungsleitung 1804a aus. Der Latch-Speicher 2406 zum Halten von B' empfängt ein Ausgangssignal vom Addierer 2405 zum Berechnen von B über die Übertragungsleitung 1804a, verzögert weiter das empfangene Ausgangssignal um ein Pixel und gibt es als B' über eine Übertragungsleitung 2406a aus.
  • Gemäß den vorstehend erwähnten Operationen wird der durch die Gleichungen 10 und 11 ausgedrückte Algorithmus implementiert.
  • Gemäß dieser Ausführungsform können, weil der Zugriff auf den Bildspeicher in horizontaler Richtung kontinuierlich ausgeführt werden kann, auch gleitende Mittelwerte mit hoher Geschwindigkeit erhalten werden.
  • Nachstehend wird eine andere Ausführungsform erklärt. 28 zeigt einen schematischen Schaltplan einer Bildverarbeitungsvorrichtung gemäß dieser Ausführungsform. Diese Vorrichtung beinhaltet die Bildeingabevorrichtung 1801 zum Eingeben eines Bilds, den Bildspeicher 1802 und einen Bildspeicher 2801, welche Bilddaten eines Eingabebilds von der Bildeingabevorrichtung 1801 speichern, den Bildprozessor 1800 zum Verarbeiten eines Bilds und den Speicher 1805 zum Speichern von Bilddaten des vom Bildprozessor 1800 verarbeiteten Bilds. Weiterhin beinhaltet der Bildprozessor 1800 einen Berechnungsteil 1804 zum Implementieren von einem der vorstehend erwähnten, in den 21, 23 und 26 dargestellten drei Algorithmen und einen Speichersteuerteil 1810 zum Steuern des Zugriffs auf die Bildspeicher 1802 und 2801.
  • In 28 gibt der Speichersteuerteil 1820 dem Speicher 1802 und dem Speicher 2801 für jedes Pixel eine Adresse an, und eine Bilddateneinheit des Pixels, die über eine Übertragungsleitung 1801a von der Bildeingabevorrichtung 1801 ausgegeben wird, wird an der festgelegten Adresse des Speichers 1802 und des Speichers 280 gespeichert. Weiterhin überträgt der Speichersteuerteil 1820 einen Befehl zum Lesen zu verarbeitender Bilddaten zusammen mit Adressen der Bilddaten, und von den jeweiligen Adressen des Speichers 1802 und des Speichers 2801 gelesene Bilddaten werden über die Übertragungsleitung 1802a und eine Übertragungsleitung 1803a an den Berechnungsteil 1804 ausgegeben. Der Berechnungsteil 1804 empfängt die von den Bildspeichern 1802 und 2801 ausgegebenen Bilddaten und implementiert einen der in den 21, 23 und 26 dargestellten vorstehend erwähnten Algorithmen. Das Ergebnis der Implementation wird über eine Übertragungsleitung 1804a im Speicher 1805 gespeichert.
  • Demgemäß kann der Berechnungsteil 1804 gemäß dieser Ausführungsform die in den 21, 23 und 26 dargestellten Algorithmen implementieren, und die in den 22, 24, 25 und 27 dargestellten Anordnungen sind auf den Berechnungsteil 1804 anwendbar.
  • Nachstehend werden Operationen der in 28 dargestellten Bildverarbeitungsvorrichtung erklärt. Alle Bilddaten des von der Bildeingabevorrichtung 1801 eingelesenen Bilds werden über die Übertragungsleitung 1801a an einer Adresse von jedem der Bildspeicher 1802 und 2801 gespeichert, die vom Speichersteuerteil 1820 angegeben ist. Die angegebenen Adressen gleichen einander. Das heißt, daß die gleichen Bilddaten an die gleiche Adresse in den jeweiligen Speichern 1802 und 2801 geschrieben werden. Der Bildprozessor 1800 liest eine Bilddateneinheit A des Pixels 2341 des gegenwärtigen Kernbereichs, die im Bildspeicher 1802 gespeichert ist, über die Übertragungsleitung 1802a aus, und eine Bilddateneinheit E des Pixels 2345, die im Bildspeicher 2801 gespeichert ist, über die Übertragungsleitung 1803a aus. Der Speichersteuerteil 1820 steuert das Lesen von Bilddaten, so daß eine Bilddateneinheit des Pixels 2341 aus dem Bildspeicher 1802 ausgelesen wird und eine Bilddateneinheit des Pixels 2345 aus dem Bildspeicher 2801 ausgelesen wird. Der Berechnungsteil 1804 liest den Bilddatenwert A des Pixels 2341 aus dem Speicher 1802 und den Bilddatenwert E des Pixels 2345 aus dem Speicher 2801 ein, berechnet weiter den gleitenden Mittelwert B und gibt das Ergebnis der Berechnung aus. Der berechnete gleitende Mittelwert B wird über die Übertragungsleitung 1804a in den Speicher 1805 eingegeben und an einer Adresse des Bildspeichers 1805 gespeichert, die vom Speichersteuerteil 1820 angegeben wird. Ähnlich steuert der Speichersteuerteil 1820 zum Erhalten eines gleitenden Mittelwerts des nächsten Kernbereichs (des Kernbereichs, der dem gegenüber dem zentralen Pixel des gegenwärtigen Kernbereichs um ein Pixel nach rechts verschobenen zentralen Pixel entspricht) das Lesen der Bilddaten, so daß eine Bilddaten einheit eines Pixels, das gegenüber dem Pixel 2341 um ein Pixel nach rechts verschoben ist, aus dem Bildspeicher 1802 ausgelesen wird und gleichzeitig eine Bilddateneinheit eines Pixels, das gegenüber dem Pixel 2345 um ein Pixel nach rechts verschoben ist, aus dem Bildspeicher 2801 ausgelesen wird, usw. Ähnlich wird in einer anderen Zeile wiederum eine erforderliche Bilddateneinheit jedes Pixels in horizontaler Richtung aus jedem der Speicher 1802 und 2801 ausgelesen.
  • Weil gemäß dieser Ausführungsform eine Bilddateneinheit jedes Pixels an der gleichen Adresse im Bildspeicher 1802 und im Bildspeicher 2801 gespeichert wird, sind zwei Bildspeicher erforderlich. Weil jedoch eine Bilddateneinheit A des Pixels 2341 und eine Bilddateneinheit E des Pixels 2345 gleichzeitig ausgelesen werden können, ist die Bildverarbeitungszeit gemäß dieser Ausführungsform um die Zeit, die erforderlich ist, um Bilddaten einer Zeile in den Zeilenspeicher 1803 zu übertragen, kürzer als diejenige in der in 18 dargestellten Ausführungsform. Das heißt, daß es durch Ausführen der Bildverarbeitung als kontinuierliches paralleles Lesen einer Bilddateneinheit von jedem der Pixel 2341 und 2345 möglich ist, einen schnellen Zugriff auf die Bildspeicher auszuführen, der zum Verarbeiten eines Bilds erforderlich ist, und die Leistungsfähigkeit der Bildverarbeitung zu verbessern. Weil weiterhin die Anordnung des Bildspeichers 1802 derjenigen des Bildspeichers 2801 gleicht, kann der Speichersteuerteil 1820 das Lesen von Daten steuern, so daß eine Bilddateneinheit E des Pixels 2345 aus dem Bildspeicher 2801 ausgelesen wird und gleichzeitig eine Bilddateneinheit A des Pixels 2341 aus dem Bildspeicher 1802 ausgelesen wird.
  • Nachstehend wird eine weitere Ausführungsform erklärt. 29 zeigt einen schematischen Schaltplan einer Bildverarbeitungsvorrichtung gemäß dieser Ausführungsform. Diese Vorrichtung enthält die Bildeingabevorrichtung 1801 zur Eingabe eines Bilds, den Bildspeicher 1802 zum Speichern von Bilddaten eines von der Bildeingabevorrichtung 1801 eingegebenen Bilds und den Bildprozessor 1800 zum Verarbeiten eines Bilds. Überdies enthält der Bildprozessor 1800 einen Zeilenspeicher 2905 und den Zeilenspeicher 1803, von denen jeder Bilddaten im Umfang einer Zeile speichert, einen Speichersteuerteil 1820 zum Steuern des Zugriffs auf die Zeilenspeicher 2905 und 1803, einen Berechnungsteil 1804 zum Implementieren von einem der in den 21, 23 und 26 dargestellten vorstehend erwähnten drei Algorithmen und einen Speicherbus 2910 zum Verbinden der vorstehend erwähnten Speicher und Teile miteinander.
  • In 29 gibt der Speichersteuerteil 1820 dem Speicher 1802 eine Adresse für jedes Pixel an, und eine Bilddateneinheit des Pixels, die über eine Übertragungsleitung 1801a von der Bildeingabevorrichtung 1801 ausgegeben wird, wird an der angegebenen Adresse des Speichers 1802 gespeichert. Weiterhin überträgt der Speichersteuerteil 1820 einen Befehl zum Lesen jeder zu verarbeitenden Bilddateneinheit zusammen mit einer Adresse der Bilddaten, und die aus dem Bildspeicher 1802 ausgelesenen Bilddaten werden über den Speicherbus 2910 an den Zeilenspeicher 2905 und den Zeilenspeicher 1803 ausgegeben. Der Zeilenspeicher 2905 und der Zeilenspeicher 1803, die Bilddaten empfangen, geben Bilddaten über eine Übertragungsleitung 2905a und die Übertragungsleitung 1803a an den Berechnungsteil 1804 aus. Der Berechnungsteil 1804 empfängt Bilddaten, die weiter von den Zeilenspeichern 2905 und 1803 ausgegeben werden, und implementiert einen der in den 21, 23 und 26 dargestellten vorstehend erwähnten Algorithmen. Das Ergebnis der Implementation wird über den Speicherbus 2910 im Speicher 1802 gespeichert. Demgemäß kann der Berechnungsteil 1804 gemäß dieser Ausführungsform die in den 21, 23 und 26 dargestellten Algorithmen implementieren, und die in den 22, 24, 25 und 27 dargestellten Anordnungen sind auf den Berechnungsteil 1804 anwendbar.
  • Nachstehend werden Operationen der in 29 dargestellten Bildverarbeitungsvorrichtung erklärt. Alle von der Bildeingabevorrichtung 1801 eingelesenen Bilddaten werden über die Übertragungsleitung 1801a an einer vom Speichersteuerteil 1820 angegebenen Adresse des Bildspeichers 1802 gespeichert. Der Bildprozessor 1800 liest Bilddaten im Umfang einer Zeile einschließlich des Pixels 2341 aus, welche über den Speicherbus 2910 im Bildspeicher 1802 gespeichert werden, und speichert die ausgelesenen Bilddaten im Zeilenspeicher 2905. Weiterhin liest der Bildprozessor 1800 Bilddaten im Umfang einer Zeile einschließlich des Pixels 2345, welche über den Speicherbus 2910 im Bildspeicher 1802 gespeichert werden, und speichert die gelesenen Bilddaten im Zeilenspeicher 1803. Der Speichersteuerteil 1820 gibt dem Bildspeicher 1802 eine Adresse einer Bilddateneinheit des Pixels 2341 an und gibt dem Bildspeicher 1802 eine Adresse einer Bilddateneinheit des Pixels 2345 an. Das Schreiben der Bilddaten in den Zeilenspeicher 2905 und den Zeilenspeicher 1803 wird zu verschiedenen Zeiten ausgeführt. Weiterhin steuert der Speichersteuerteil 1820 das Lesen von Daten, so daß eine Bilddateneinheit des Pixels 2341 aus dem Zeilenspeicher 2905 ausgelesen wird und gleichzeitig eine Bilddateneinheit des Pixels 2345 aus dem Zeilenspeicher 1803 ausgelesen wird. Der Berechnungsteil 1804 liest den Bilddatenwert A des Pixels 2341 und den Bilddatenwert E des Pixels 2345 ein und berechnet den gleitenden Mittelwert B und gibt das Ergebnis der Berechnung aus. Der berechnete gleitende Mittelwert B wird über den Speicherbus 2910 in den Speicher 1802 eingegeben und an einer vom Speichersteuerteil 1820 angegebenen Adresse des Bildspeichers 1802 gespeichert. Ähnlich steuert der Speichersteuerteil 1820 zum Erhalten eines gleitenden Mittelwerts des nächsten Kernbereichs (des Kernbereichs, der dem gegenüber dem zentralen Pixel des gegenwärtigen Kernbereichs um ein Pixel nach rechts verschobenen zentralen Pixel entspricht) das Lesen von Bilddaten, so daß eine Bilddateneinheit eines Pixels, das gegenüber dem Pixel 2341 um ein Pixel nach rechts verschoben ist, aus dem Zeilenspeicher 2905 ausgelesen wird und gleichzeitig eine Bilddateneinheit eines Pixels, das gegenüber dem Pixel 2345 um ein Pixel nach rechts verschoben ist, aus dem Zeilenspeicher 1803 ausgelesen wird. Falls ein zentrales Pixel eines Kernbereichs zur nächsten unteren Zeile übertragen wird, werden Bilddaten von Pixeln im Umfang einer Zeile in der nächsten Zeile unter dem gegenwärtigen Pixel 2341 und Bilddaten von Pixeln für eine Zeile in der nächsten Zeile unter dem gegenwärtigen Pixel 2345 in den Zeilenspeicher 2905 bzw. 1803 gelesen und darin gespeichert, und es wird auch eine Bilddateneinheit jedes Pixels wiederum in horizontaler Richtung ausgelesen.
  • Weil gemäß dieser Ausführungsform ein Zeilenspeicher 1803 zum Speichern von Bilddaten im Umfang einer Zeile einschließlich des Pixels 2345 und ein Zeilenspeicher 2905 zum Speichern von Bilddaten im Umfang einer Zeile einschließlich des Pixels 2341 des Kernbereichs bereitgestellt sind, ist die Zeit für das Speichern von Bilddaten in den Zeilenspeichern länger als beispielsweise bei der in 28 dargestellten Ausfuhrüngsform. Es ist jedoch möglich, eine Bildverarbeitungsvorrichtung nur unter Verwendung eines Bildspeichers 1802 anzuordnen. Demgemäß ist es durch paralleles Ausführen der Bildverarbeitung als kontinuierliches Lesen einer Bilddateneinheit jedes Pixels an der dem Pixel 2341 entsprechenden Position und einer Bilddateneinheit jedes Pixels an der dem Pixel 2345 entsprechenden Position möglich, einen Zugriff auf die Bildspeicher, der zum Verarbeiten eines Bilds erforderlich ist, mit hoher Geschwindigkeit auszuführen und die Leistungsfähigkeit der Bildverarbeitung zu verbessern. Weil die Anordnung des Zeilenspeichers 2905 weiterhin derjenigen des Bildspeichers 1803 gleicht, kann der Speichersteuerteil 1820 das Schreiben von Daten so steuern, daß Bilddaten im Umfang einer Zeile einschließlich des Pixels 2341 im Zeilenspeicher 1803 gespeichert werden und Bilddaten für eine Zeile einschließlich des Pixels 2345 im Bildspeicher 2905 gespeichert werden.
  • Nachfolgend wird eine weitere Ausführungsform erklärt. 30 zeigt einen schematischen Schaltplan einer Bildverarbeitungsvorrichtung gemäß dieser Ausführungsform. Diese Vorrichtung beinhaltet die Bildeingabevorrichtung 1801 zum Eingeben eines Bilds, den Bildspeicher 1802 zum Speichern von Bilddaten eines von der Bildeingabevorrichtung 1801 eingegebenen Bilds und den Bildprozessor 1800 zum Verarbeiten eines Bilds. Weiterhin beinhaltet der Bildprozessor 1800 den Zeilenspeicher 1803, der Bilddaten im Umfang einer Zeile speichert, einen Speichersteuerteil 1820 zum Steuern des Zugriffs auf jeden der Speicher, einen Berechnungsteil 3004 zum Implementieren von einem der in den 21, 23 und 26 dargestellten vorstehend erwähnten drei Algorithmen, einen Zeilenspeicher 3005 zum Speichern von gleitenden Mittelwerten B im Umfang einer Zeile und einen Speicherbus 3010 zum Verbinden der vorstehend erwähnten Speicher und Teile miteinander.
  • In 30 gibt der Speichersteuerteil 1820 dem Speicher 1802 eine Adresse für jedes Pixel an, und eine Bilddateneinheit des Pixels, die über eine Übertragungsleitung 1801a von der Bildeingabevorrichtung 1801 ausgegeben wird, wird an der angegebenen Adresse des Speichers 1802 gespeichert. Überdies überträgt der Speichersteuerteil 1820 einen Befehl zum Lesen jeder zu verarbeitenden Bilddateneinheit zusammen mit einer Adresse der Bilddateneinheit, und jede vom Bildspeicher 1802 gelesene Bilddateneinheit wird über den Speicherbus 3010 an den Zeilenspeicher 1803 ausgegeben. Der Bilddaten empfangende Zeilenspeicher 1803 gibt über die Übertragungsleitung 1803a Bilddaten an den Berechnungsteil 3004 aus. Der Berechnungsteil 3004 empfängt Bilddaten von Pixeln, die vom Bildspeicher 1802 und vom Zeilenspeicher 1803 ausgegeben werden, und implementiert einen der in den 21, 23 und 26 dargestellten vorstehend erwähnten Algorithmen. Das Ergebnis der Implementation wird im Zeilenspeicher 3005 gespeichert.
  • Nachfolgend werden Operationen der in 30 dargestellten Bildverarbeitungsvorrichtung erklärt. Jede Bilddateneinheit des von der Bildeingabevorrichtung 1801 eingelesenen Bilds wird über die Übertragungsleitung 1801a an einer vom Speichersteuerteil 1820 angegebenen Adresse des Bildspeichers 1802 gespeichert. Der Bildprozessor 1800 liest Bilddaten im Umfang einer Zeile einschließlich des Pixels 2741, die im Bildspeicher 1802 gespeichert sind, über den Speicherbus 3010 aus und speichert die gelesenen Bilddaten im Zeilenspeicher 1803. Der Speichersteuerteil 1820 gibt dem Bildspeicher 1802 eine Adresse einer Bilddateneinheit des Pixels 2141 an und gibt dem Zeilenspeicher 1803 eine Adresse einer Bilddateneinheit des Pixels 2145 an. Der Berechnungsteil 3004 liest den Bilddatenwert A des Pixels 2141 und den Bilddatenwert E des Pixels 2145 ein, berechnet weiter den gleitenden Mittelwert B und gibt das Ergebnis der Berechnung aus. Der berechnete gleitende Mittelwert B wird über eine Übertragungsleitung 3004a in den Zeilenspeicher 3005 eingegeben und an einer vom Speichersteuerteil 1820 angegebenen Adresse des Zeilenspeichers 3005 gespeichert. Ähnlich steuert der Speichersteuerteil 1820 zum Erhalten eines gleitenden Mittelwerts des nächsten Kernbereichs (des Kernbereichs, der dem gegenüber dem zentralen Pixel des gegenwärtigen Kernbereichs um ein Pixel nach rechts verschobenen zentralen Pixel entspricht) das Lesen von Bilddaten, so daß eine Bilddateneinheit eines Pixels, das gegenüber dem am weitesten rechts gelegenen und untersten Pixel 2141 um ein Pixel nach rechts verschoben ist, aus dem Bildspeicher 1802 ausgelesen wird und gleichzeitig eine Bilddateneinheit eines Pixels, das gegenüber dem am weitesten rechts gelegenen und obersten Pixel 2145 um ein Pixel nach rechts verschoben ist, aus dem Zeilenspeicher 1803 ausgelesen wird. Falls ein zentrales Pixel eines Kernbereichs zur nächsten unteren Zeile übertragen wird, werden Bilddaten von Pixeln für eine Zeile in der nächsten Zeile unter dem gegenwärtigen Pixel 2145 ausgelesen und im Zeilenspeicher 1803 gespeichert und wiederum eine Bilddateneinheit jedes Pixels ausgelesen. Nach Abschluß der gleitenden Mittelwertbildungsverarbeitung der Pixel einer Zeile werden die im Zeilenspeicher 3005 gespeicherten Ergebnisse fortlaufend ausgelesen und über den Speicherbus 3010 in den Bildspeicher 1802 geschrieben.
  • 31 zeigt einen schematischen Schaltplan des für diese Ausführungsform verwendeten Berechnungsteils 1804. Der in 31 dargestellte Berechnungsteil 1804 wird durch Entfernen des Schieberegisters 2206 aus dem in 22 dargestellten Berechnungsteil 1804 und Übertragen der Funktion des Schieberegisters 2206 auf den neu hinzugefügten Zeilenspeicher 3005 zum Eingeben und Ausgeben von Berechnungsergebnissen des Berechnungsteils 1804, die im Zeilenspeicher 3005 gespeichert werden, wie in 30 dargestellt ist, eingerichtet. Dieser Berechnungsteil 1804 beinhaltet den Subtrahierer 2201 zum Berechnen von (A – E), das Schieberegister 2202 mit der Kapazität für die Breite des Kernbereichs 2101 (Bilddaten von fünf Pixeln in dem in 21 dargestellten Beispiel), den Subtrahierer 2203 zum Berechnen von ((A – E) – (A' – E')), den Addierer 2204 zum Berechnen von (D – C), den Latch-Speicher zum Halten von (D' – C'), den Addierer 2207 zum Berechnen von B und den Dividierer 2207.
  • Der Berechnungsteil 1804 erhält den gleitenden Mittelwert B des Bereichs 2301 durch Einlesen der Bilddatenwerte A und E für die Pixel 2141 und 2145. Der Subtrahierer 2201 zum Berechnen von (A – E) liest den Bilddatenwert A über die Übertragungsleitung 1802a und den Bilddatenwert E über die Übertragungsleitung 1803a ein, führt weiter eine Subtraktion von (A – E) aus und gibt das Ergebnis der Subtraktion an eine Übertragungsleitung 2201a aus. Das Schieberegister 2202 empfängt jedes Ausgangssignal vom Subtrahierer 2201 und hält die Ausgangssignale im Umfang der Bereichsbreite (fünf Signale in dem in 21 dargestellten Beispiel). Folglich gleicht ein Ausgangssignal vom Schieberegister 2202 einem um 5 Pixel nach links verschobenen Wert (A – E), d. h. (A' – E'). Der Subtrahierer 2203 zum Berechnen von ((A – E) – (A' – E')) berechnet ((A – E) – (A' – E')) durch Empfangen eines Ausgangssignals vom Subtrahierer 2201 und eines Ausgangssignals vom Schieberegister 2202 und gibt die Ergebnisse der Subtraktion an eine Übertragungsleitung 2203a aus. Der Addierer 2204 zum Berechnen von (D – C) addiert fünf Ausgangssignale von ((A – E) – (A' – E')) vom Subtrahierer 2203, berechnet weiter (D – C) unter Verwendung des Ergebnisses der Addition und eines vom Latch-Speicher 2205 ausgegebenen Werts (D' – C') und gibt das Ergebnis der Berechnung an eine Übertragungsleitung 2204a aus. Der Latch-Speicher 2205 zum Halten von (D – C), das vom Addierer 2204 ausgegeben wurde, verzögert den gehaltenen Wert (D – C) entsprechend der Verarbeitung eines gleitenden Mittelwerts für ein zentrales Pixel um einen Schritt und gibt ihn als (D' – C') an die Übertragungsleitung 2205a aus. Der Dividierer 2210 empfängt den vom Addierer 2204 ausgegebenen Wert (D – C), dividiert (D – C) weiter durch die Anzahl N von Pixeln im Kernbereich und gibt das Ergebnis der Division an den Addierer 2207 aus. Der Zeilenspeicher 3005 empfängt ein Ausgangssignal vom Addierer 2207, um wiederum B zu berechnen, und hält die Ausgangssignale im Umfang einer Zeile des Bilds (n Wörter werden für das in 19 dargestellte Bild gehalten). Daher ist ein Ausgangssignal vom Zeilenspeicher 3005 ein zuvor für eine Zeile erhaltener Wert B, d. h. ein gleitender Mittelwert B' des in 21 dargestellten Kernbereichs 2102. Der Addierer 2207 zum Berechnen von B empfängt ein Ausgangssignal vom Zeilenspeicher 3005 und ein Ausgangssignal vom Dividierer 2210, berechnet weiter einen gleitenden Mittelwert B des gegenwärtigen Kernbereichs und gibt das Ergebnis der Berechnung an die Übertragungsleitung 1804a aus.
  • Gemäß den vorstehend erwähnten Prozeduren wird der auf den Gleichungen 6 und 7 beruhende Algorithmus implementiert.
  • Wie vorstehend erwähnt wurde, kann, weil es durch Bereitstellen des Zeilenspeichers 1803 und des Zeilenspeichers 3005 möglich ist, aufeinanderfolgende Berechnungen jedes gleitenden Mittelwerts als kontinuierliches Auslesen eines dem Pixel 2141 entsprechenden Bilddatenwerts A und eines dem Pixel 2145 entsprechenden Bilddatenwerts E in horizontaler Richtung auszuführen, der Speicherzugriff, der erforderlich ist, um einen gleitenden Mittelwert zu erhalten, schneller als bei herkömmlichen Verfahren ausgeführt werden, und die Leistungsfähigkeit der Bildverarbeitung kann verbessert werden. Gemäß dieser Ausführungsform werden Bilddaten von Pixeln in einer Zeile einschließlich des Pixels 2145 im Zeilenspeicher 1803 gespeichert. Es ist jedoch auch möglich, Bilddaten von Pixeln in einer Zeile einschließlich des am weitesten rechts gelegenen und untersten Pixels 2141 im Zeilenspeicher 1803 zu speichern.
  • Weiterhin kann die vorstehend erwähnte Funktion zum Verarbeiten eines Bilds, die vom Berechnungsteil 1804 ausgeführt wird, auch durch Software verwirklicht werden.
  • Die vorstehend erwähnten späteren sechs Ausführungsformen, die beispielsweise in den 21, 23, 26, 28, 29 bzw. 30 dargestellt sind, haben die folgenden Wirkungen. 32 zeigt ein Zeitablaufdiagramm von Operationen bei den vorstehenden Ausführungsformen gemäß der vorliegenden Erfindung, und 33 zeigt ein Zeitablaufdiagramm von Operationen gemäß einem herkömmlichen Verfahren. Bei den in 32 dargestellten Ausführungsformen und dem in 33 dargestellten Verfahren werden allgemeine SDRAMs verwendet. Jedes der Zeitablaufdiagramme zeigt Zeitsequenzen von Befehlen und Adressen, die zu verarbeiten sind, und entsprechende Daten, die aus einem Speicher auszulesen oder in einen Speicher zu schreiben sind. Weil beim herkömmlichen Verfahren Daten diskontinuierlicher Adressen aus einem Speicher ausgelesen und in einen Speicher geschrieben werden, sollten eine Zeilenadresse und eine Spaltenadresse der Dateneinheit immer dann angegeben werden, wenn ein Zugriff auf jede Dateneinheit ausgeführt wird. Es sind daher 24 Zyklen zum Auslesen von Bilddaten von vier Pixeln (D1 – D4) erforderlich, wie in 33 dargestellt ist. Andererseits kann gemäß den vorstehenden Ausführungsformen jeder Datenblock in Spaltenrichtung mit einem Burst-Lesemodus kontinuierlich ausgeführt werden, indem nach dem Angeben einer Zeilenadresse aufeinanderfolgende Spaltenadressen angegeben werden. Es ist folglich möglich, Bilddaten von vier Pixeln (D1 – D4) in 9 Zyklen auszulesen. Demgemäß können die vorstehenden Ausführungsformen Daten schneller als beim herkömmlichen Verfahren auslesen. Das heißt, daß es bei der vorstehenden Ausführungsform gemäß der vorliegenden Erfindung möglich ist, eine gleitende Mittelwertbildungsfilterung eines Bilds mit hoher Geschwindigkeit auszuführen.
  • Nachfolgend wird ein Elektronenmikroskop unter Verwendung der vorstehend erwähnten Bildverarbeitungsvorrichtung gemäß der vorliegenden Erfindung erklärt.
  • Ein in 34 dargestelltes Elektronenmikroskopsystem besteht aus der vorstehend erwähnten Bildverarbeitungsvorrichtung 3410, einem Elektronenmikroskop 3420, einem Steuercomputer 3430 zum Steuern des Elektronenmikroskops 3420, einem Spannungssteuerteil zum Steuern der Spannung für das Einstellen eines im Elektronenmikroskop 3420 erzeugten Elektronenstrahls, einem Ablenkungssteuerteil 3450 zum Formen des Elektronenstrahls, einem Linsensteuerteil 3460 zum Steuern einer Linse für das Fokussieren auf ein vom Elektronenmikroskop 3420 zu messendes Objekt, einem Vakuumsteuerteil 3470 zum Aufrechterhalten des Vakuums im Elektronenmikroskop 3420, einem Bildschirm 3480 zum Anzeigen des Meßergebnisses, einem Sensor 3421 zum Erfassen vom Objekt reflektierter Sekundärelektronen, einem Positioniermechanismus 3423 zum Bewegen des Objekts und einem Positioniermechanismus-Steuerteil 3490.
  • Das Elektronenmikroskopsystem bestrahlt ein mit einem vom Spannungssteuerteil 3440 gesteuerten Elektronenstrahl zu messendes Objekt, Der Sensor 3421 erfaßt vom Objekt reflek tierte Sekundärelektronen, und ein von den reflektierten Sekundärelektronen gebildetes Bild, das vom Sensor 3421 erfaßt wird, wird von der Bildverarbeitungsvorrichtung 3410 verarbeitet. Die Bildverarbeitungsvorrichtung 3410 führt eine Abstufungsverarbeitung, eine Kantenanhebungsverarbeitung, die vorstehend erklärte gleitende Mittelwertbildungsfilterung gemäß der vorliegenden Erfindung usw. aus. Durch die Verwendung der Bildverarbeitungsvorrichtung gemäß der vorliegenden Erfindung kann die Verarbeitung des gemessenen Bilds mit hoher Geschwindigkeit ausgeführt werden.
  • Als ein Beispiel der Anwendung einer Bildverarbeitungsvorrichtung gemäß der vorliegenden Erfindung wurde das in 34 dargestellte Elektronenmikroskopsystem erklärt. Eine Bildverarbeitungsvorrichtung gemäß der vorliegenden Erfindung kann jedoch auch auf jedes beliebige System angewendet werden, das eine Bildverarbeitung ausführt.
  • Gemäß der vorliegenden Erfindung kann ein gleitender Mittelwert einer Bilddateneinheit jedes Pixels in einem Bild durch Ausführen des kontinuierlichen Zugriffs auf aufeinanderfolgende Adressen erhalten werden. Demgemäß kann bei einer Bildverarbeitungsvorrichtung, bei der DRAMs oder SDRAMs verwendet werden, eine schnelle Bildverarbeitung ausgeführt werden, weil ein sehr wirksamer Speicherzugriff verwirklicht werden kann.

Claims (10)

  1. Verfahren zum Vorlagenmatching umfassend die folgenden Schritte: Berechnen eines Schrankenwerts als Auswertungsmaß der Ähnlichkeit mittels Bilddatenwerten von Pixeln eines Vorlagebildes und Bilddatenwerten von Pixeln eines Teilbildes eines zu verarbeitenden Suchbildes, wobei die Größe des Teilbildes gleich der des Vorlagebildes ist, und Berechnen des Quadrats der Differenz zwischen einem Bilddatenwert eines Pixels in dem zu verarbeitenden Teilbild und einem Bilddatenwert eines entsprechenden Pixels im Vorlagebild, gekennzeichnet durch folgende weitere Schritte: Durchführen einer kumulativen Addition für das Quadrat und Wiederholen der Schritte, in denen das Quadrat berechnet und die kumulative Addition ausgeführt werden, wobei die Auswertung der Ähnlichkeit für das Teilbild beendet wird, falls das Ergebnis der kumulativen Addition den Schrankenwert überschreitet.
  2. Verfahren nach Anspruch 1, ferner umfassend einen Schritt, in dem die Summe A der Bilddatenwerte von Pixeln in einem Vorlagebild die Summe B der Quadrate der Bilddatenwerte von Pixeln im Vorlagebild, die Summe C der Bilddatenwerte von Pixeln in einem Teilbild eines zu verarbeitenden Teilbildes und die Summe D der Quadrate der Bilddatenwerte von Pixeln im Teilbild des Vorlagebildes berechnet werden, wobei der Schrankenwert F aus der Gleichung (1) berechnet wird:
    Figure 00610001
    wobei P die Pixelanzahl im Vorlagebild und E einen vorgegebenen positiven Wert kleiner als 1 bezeichnen.
  3. Verfahren nach Anspruch 2, wobei die Summe der Bilddatenwerte für ein dem bearbeiteten Teilbild benachbartes Teilbild sowie die Summe ihrer Quadrate berechnet werden, indem die bereits berechnete Summe der Bilddatenwerte für das verarbeitete Teilbild sowie die bereits berechnete Summe ihrer Quadrate benutzt werden.
  4. Verfahren nach Anspruch 2, wobei, falls das Endergebnis der kumulativen Addition für das Teilbild kleiner als der Schrankenwert ist, ein normalisierter Korrelationskoeffizient zwischen dem Teilbild und dem Vorlagebild berechnet wird und als neuer Wert E angesetzt wird.
  5. Verfahren nach Anspruch 1, ferner umfassend einen Schritt, indem die Teilbilder extrahiert werden, für die die Summe der Quadrate der Differenzen zwischen den jeweiligen Bilddatenwerten von Pixeln im zu verarbeitenden Teilbild und den Bilddatenwerten von jeweils entsprechenden Pixeln im Vorlagebild den Schrankenwert nicht überschreitet.
  6. Vorrichtung zum Vorlagenmatching zum Durchführen des Verfahrens aus Anspruch 1 umfassend: mindestens einen Speicher (1703, 1704; 1201, 1202) zum Speichern von Bilddaten eines Vorlagebildes und eines Suchbildes, und einen Prozessor (910, 913, 914, 921, 923; 1101) zum Auslesen von Bilddaten des Vorlagebildes und des Suchbildes aus dem Speicher (1703, 1704; 1201, 1202), zum Berechnen des zur Auswertung der Ähnlichkeit jedes Teilbildes des Suchbildes zum Vorlagebild benutzten Schrankenwerts und zur Auswertung der Ähnlichkeit des Teilbildes.
  7. Vorrichtung nach Anspruch 6, wobei die Bilddaten des Vorlagebildes in einem ersten Speicher (1703) und die Bildda ten des Suchbildes in einem zweiten Speicher (1704) gespeichert werden und wobei der Prozessor enthält: eine erste Recheneinheit (910) zum Lesen von Bilddatenwerten von Pixeln im Vorlagebild aus dem ersten Speicher (1703), zum Berechnen der Summe der Bilddatenwerte und der Summe ihrer Quadrate, zum Lesen aus dem zweiten Speicher (1704) von Bilddatenwerten von Pixeln in jedem Teilbild des Suchbildes, dessen Größe gleich der des Vorlagebildes ist und zum Berechnen der Summe und der Summen der Quadrate, mindestens ein Register (915...920) zum Speichern der so aus den Bilddatenwerten für das Vorlagebild und das Teilbild berechneten Summen und Summen von Quadraten, eine zweite Recheneinheit (921) zum Berechnen eines zur Auswertung der Ähnlichkeit jedes Teilbildes des Suchbildes zum Vorlagebild benutzten Schrankenwerts, indem die Summe der Bilddatenwerte für das Vorlagebild und das Teilbild, die Summe ihrer Quadrate und ein der zweiten Recheneinheit von außen vorgegebener Wert benutzt werden, eine dritte Recheneinheit (913, 914) zum Durchführen einer kumulativen Addition von Differenzen zwischen jeweiligen Bilddatenwerten für jedes Teilbild des Suchbildes und den jeweils entsprechenden Bilddatenwerten für das Vorlagebild und eine Vergleichseinheit (923) zum Vergleichen des von der zweiten Recheneinheit (921) berechneten Schrankenwerts bei jeder Addition mit dem Ergebnis der von der dritten Recheneinheit (913, 914) berechneten kumulativen Additionen.
  8. Vorrichtung nach Anspruch 7, wobei die erste Recheneinheit (910, 1000) Summen von Bilddatenwerten für eine Gruppe von Bereichen des Suchbildes, deren jeder aus Pixeln aus einer Spalte und mit der gleichen Zeilennummer wie im Vorlagebild zusammengesetzt ist, und die Summe der Bilddatenwerte für jedes Teilbild durch Kombinieren der Summen der Bilddatenwerte für die Gruppe von Bereichen berechnet und ferner Summen von Quadraten von Bilddatenwerten für eine Gruppe von Bereichen des Suchbildes, deren jeder aus Pixeln aus einer Spalte und mit der gleichen Zeilennummer wie im Vorlagebild zusammengesetzt ist, und Summen von Quadraten von Bilddatenwerten für jedes Teilbild durch Kombinieren von Summen von Quadraten von Bilddatenwerten für die Gruppe von Bereichen berechnet.
  9. Vorrichtung nach Anspruch 7, wobei die erste Recheneinheit (910, 1000) berechnet: Summen von Bilddatenwerten für eine Gruppe von Bereichen des Suchbildes, deren jeder aus Pixeln aus einer Spalte und mit der gleichen Zeilennummer wie im Vorlagebild zusammengesetzt ist und deren Anfangspunkte in der ersten Zeile des Suchbildes in der Hauptscanrichtung liegen, und Summen von Bilddatenwerten für eine weitere Gruppe von Bereichen des Suchbildes, deren jeder aus Pixeln aus einer Spalte und mit der gleichen Zeilennummer wie im Vorlagebild zusammengesetzt ist und deren Anfangspunkte jeweils in den anderen Zeilen des Suchbildes liegen, indem ein Bilddatenwert eines Pixels, das aus jedem Bereich der vorherigen Gruppe von Bereichen ausgeschlossen werden soll, von der Summe der Bilddatenwerte des jeweiligen Bereichs subtrahiert wird und ein Bilddatenwert eines Pixels, das zu jedem Bereich der vorherigen Gruppe von Bereichen neu hinzukommen soll, zur Summe der Bilddatenwerte des jeweiligen Bereichs addiert wird, ferner die Summe von Bilddatenwerten für jedes Teilbild durch Kombinieren der berechneten Summen von Bilddatenwerten für die Gruppe von Bereichen und die Summen von Quadraten von Bilddatenwerten für eine Gruppe von Bereichen des Suchbildes, deren jeder aus Pixeln aus einer Spalte und mit der gleichen Zeilennummer wie im Vorlagebild zusammengesetzt ist und deren Anfangspunkte in der ersten Zeile liegen, und Summen von Bilddatenwerten für eine weitere Gruppe von Bereichen des Suchbildes, deren jeder aus Pixeln aus einer Spalte und mit der gleichen Zeilennummer wie im Vorlagebild zusammengesetzt ist und deren Anfangspunkte in den anderen Zeilen des Such bildes liegen, indem das Quadrat eines Bilddatenwerts eines Pixels, das aus jedem Bereich der vorherigen Gruppe von Bereichen ausgeschlossen werden soll, von der Summe der Quadrate der Bilddatenwerte für den jeweiligen Bereich subtrahiert wird und das Quadrat eines Bilddatenwerts eines Pixels, das zu jedem Bereich der vorherigen Gruppe von Bereichen neu hinzukommen soll, zur Summe der Quadrate der Bilddatenwerte für den jeweiligen Bereich addiert wird und die Summe der Quadrate der Bilddatenwerte für jedes Teilbild durch Kombinieren der berechneten Summen der Quadrate von Bilddatenwerten für die Gruppe von Bereichen.
  10. Vorrichtung nach Anspruch 6, wobei der Prozessor enthält: einen Bildprozessor (1101) zum Lesen von Bilddaten des Vorlagebildes und des Suchbildes aus dem Speicher (1201, 1202), zum Berechnen des Schrankenwerts jedes Teilbildes des Suchbildes für die Auswertung der Ähnlichkeit zum Vorlagebild und zum Auswerten der Ähnlichkeit des Teilbildes, einen Host-Rechner (1102) zum Verwalten der vom Bildprozessor (1101) ausgeführten Verarbeitung und ein Anzeigegerät (1104) zum Anzeigen des Vorlagebildes und des Suchbildes, deren Bilddaten im Speicher gespeichert sind, und der Teilbilder, die große Korrelationen mit dem Vorlagebild aufweisen.
DE69729368T 1996-12-25 1997-12-22 Bildprozessor, Gerät und Verfahren zur Bildverarbeitung Expired - Fee Related DE69729368T2 (de)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP34495596A JP3721681B2 (ja) 1996-12-25 1996-12-25 テンプレートマッチング方法及び装置
JP34495596 1996-12-25
JP539997 1997-01-16
JP539997A JPH10208035A (ja) 1997-01-16 1997-01-16 画像プロセッサ、画像処理装置および画像処理方法

Publications (2)

Publication Number Publication Date
DE69729368D1 DE69729368D1 (de) 2004-07-08
DE69729368T2 true DE69729368T2 (de) 2005-08-25

Family

ID=26339332

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69729368T Expired - Fee Related DE69729368T2 (de) 1996-12-25 1997-12-22 Bildprozessor, Gerät und Verfahren zur Bildverarbeitung

Country Status (5)

Country Link
US (3) US6249608B1 (de)
EP (1) EP0851383B9 (de)
KR (1) KR100505377B1 (de)
DE (1) DE69729368T2 (de)
TW (1) TW368640B (de)

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6389441B1 (en) * 1999-05-28 2002-05-14 Eastman Kodak Company Two dimensional moving average filter
GB9929269D0 (en) * 1999-12-11 2000-02-02 Koninkl Philips Electronics Nv Method and apparatus for digital correlation
JP3664231B2 (ja) * 2000-08-09 2005-06-22 日本電気株式会社 カラー画像処理装置
DE60115028T2 (de) * 2001-08-30 2006-06-01 Matsushita Electric Industrial Co., Ltd., Kadoma Verfahren und Vorrichtung zur Identifikation identischer Bilder
US20050123182A1 (en) * 2003-12-03 2005-06-09 Avision Inc. Temperature sensor
JP2005196678A (ja) * 2004-01-09 2005-07-21 Neucore Technol Inc テンプレートマッチング方法および対象画像領域抽出装置
US8031978B2 (en) 2004-06-30 2011-10-04 Hitachi Aloka Medical, Ltd. Method and apparatus of image processing to detect edges
JP4598182B2 (ja) * 2005-01-05 2010-12-15 Hoya株式会社 電子内視鏡システム
DE602005012673D1 (de) * 2005-02-21 2009-03-26 Mitsubishi Electric Corp Schnelles Verfahren zum Detektieren von Objekten durch statistischen Mustervergleich
US7570800B2 (en) * 2005-12-14 2009-08-04 Kla-Tencor Technologies Corp. Methods and systems for binning defects detected on a specimen
JP2008009140A (ja) * 2006-06-29 2008-01-17 Fujitsu Ltd 画像処理装置および画像処理方法
US8019164B2 (en) * 2007-01-29 2011-09-13 Hitachi High-Technologies Corporation Apparatus, method and program product for matching with a template
GB0707192D0 (en) * 2007-04-13 2007-05-23 Mitsubishi Electric Inf Tech Generalized statistical template matching
US8184912B2 (en) * 2007-06-06 2012-05-22 Sharp Kabushiki Kaisha Image processing apparatus, image forming apparatus, image processing system, and image processing method
US8180159B2 (en) * 2007-06-06 2012-05-15 Sharp Kabushiki Kaisha Image processing apparatus, image forming apparatus, image processing system, and image processing method
US7978906B2 (en) * 2007-06-14 2011-07-12 Microsoft Corporation Capturing long-range correlations in patch models
US8107758B2 (en) * 2008-04-16 2012-01-31 Microsoft Corporation Block based image processing
GB2493396B (en) * 2011-08-05 2018-08-08 Snell Advanced Media Ltd Multidimensional sampled-signal filter
CN103136544A (zh) * 2011-11-30 2013-06-05 夏普株式会社 图像判断装置
GB2502047B (en) * 2012-04-04 2019-06-05 Snell Advanced Media Ltd Video sequence processing
JP6004768B2 (ja) * 2012-06-14 2016-10-12 キヤノン株式会社 焦点検出のための信号処理装置、信号処理方法およびプログラム、ならびに焦点検出装置を有する撮像装置
TWI468641B (zh) * 2012-11-09 2015-01-11 Univ Nat Central 影像拍攝與座標擷取時間同步之校正方法與校正系統及其延遲時間計算方法
US11210551B2 (en) * 2019-07-29 2021-12-28 Hong Kong Applied Science And Technology Research Institute Co., Ltd. Iterative multi-directional image search supporting large template matching

Family Cites Families (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4183013A (en) * 1976-11-29 1980-01-08 Coulter Electronics, Inc. System for extracting shape features from an image
JPS5675139A (en) 1979-11-22 1981-06-22 Fuji Photo Film Co Ltd Radiation picture treating method and its device
US4315318A (en) 1978-12-26 1982-02-09 Fuji Photo Film Co., Ltd. Method and apparatus for processing a radiation image
DE3481144D1 (de) * 1983-04-11 1990-03-01 Komatsu Mfg Co Ltd Verfahren zum identifizieren von objekten.
US4635292A (en) 1983-12-19 1987-01-06 Matsushita Electric Industrial Co., Ltd. Image processor
US4541116A (en) 1984-02-27 1985-09-10 Environmental Research Institute Of Mi Neighborhood image processing stage for implementing filtering operations
US4745562A (en) * 1985-08-16 1988-05-17 Schlumberger, Limited Signal processing disparity resolution
US4864629A (en) * 1985-12-31 1989-09-05 Schlumberger Technologies, Inc. Image correlation system
US4703513A (en) 1985-12-31 1987-10-27 The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration Neighborhood comparison operator
DE3740066C1 (de) * 1987-11-26 1989-03-23 Messerschmitt Boelkow Blohm Einrichtung zur Auffindung und Lokalisierung eines Bildausschnittes
US5091963A (en) * 1988-05-02 1992-02-25 The Standard Oil Company Method and apparatus for inspecting surfaces for contrast variations
US5113454A (en) * 1988-08-19 1992-05-12 Kajaani Electronics Ltd. Formation testing with digital image analysis
US5168529A (en) * 1988-08-29 1992-12-01 Rayethon Company Confirmed boundary pattern matching
US5168530A (en) * 1988-08-29 1992-12-01 Raytheon Company Confirmed boundary pattern matching
DE4014975C1 (de) * 1990-05-10 1991-10-24 Girrbach Dental Gmbh, 7530 Pforzheim, De
US5073963A (en) * 1990-05-25 1991-12-17 Arizona Technology Development Corp. Computerized method of matching two-dimensional (2-d) patterns
GB9019538D0 (en) * 1990-09-07 1990-10-24 Philips Electronic Associated Tracking a moving object
US5390262A (en) * 1991-10-03 1995-02-14 Ncr Corporation Method for splitting and configuring a multi-channel image processing system
JPH05120436A (ja) * 1991-10-25 1993-05-18 Yaskawa Electric Corp テンプレートマツチング方法
JPH05336512A (ja) * 1992-06-03 1993-12-17 Matsushita Electric Ind Co Ltd 動き検出装置
IT1257073B (it) * 1992-08-11 1996-01-05 Ist Trentino Di Cultura Sistema di riconoscimento, particolarmente per il riconoscimento di persone.
JPH0668264A (ja) * 1992-08-21 1994-03-11 Takayama:Kk パターンマッチング回路
US5365251A (en) * 1992-08-28 1994-11-15 Xerox Corporation Image quality improvement by hierarchical pattern matching with variable size templates
DE69331982T2 (de) * 1992-11-27 2003-01-23 Fuji Photo Film Co., Ltd. Verfahren zur Lageanpassung von Röntgenbildern
JPH06231254A (ja) * 1993-02-03 1994-08-19 Kokusai Denshin Denwa Co Ltd <Kdd> 動画像の高速認識検索方法
JPH0751257A (ja) 1993-08-18 1995-02-28 Fujitsu Ltd 放射線画像変換装置
US5768404A (en) * 1994-04-13 1998-06-16 Matsushita Electric Industrial Co., Ltd. Motion and disparity estimation method, image synthesis method, and apparatus for implementing same methods
US5495537A (en) * 1994-06-01 1996-02-27 Cognex Corporation Methods and apparatus for machine vision template matching of images predominantly having generally diagonal and elongate features
JP2768644B2 (ja) * 1995-01-17 1998-06-25 株式会社グラフィックス・コミュニケーション・ラボラトリーズ 動きベクトル探索方法および探索装置
US5850466A (en) * 1995-02-22 1998-12-15 Cognex Corporation Golden template comparison for rotated and/or scaled images
US5850468A (en) * 1995-04-11 1998-12-15 Matsushita Electric Industrial Co., Ltd. Flaw detection apparatus
KR100225690B1 (ko) * 1995-04-18 1999-10-15 모리시다 요이치 상관도 연산장치, 병렬상관도 연산장치 및 상관도연산방법
JPH09245166A (ja) * 1996-03-06 1997-09-19 Fuji Electric Co Ltd パターンマッチング装置
US5852678A (en) * 1996-05-30 1998-12-22 Xerox Corporation Detection and rendering of text in tinted areas

Also Published As

Publication number Publication date
TW368640B (en) 1999-09-01
US6249608B1 (en) 2001-06-19
US6898318B2 (en) 2005-05-24
KR100505377B1 (ko) 2005-11-22
DE69729368D1 (de) 2004-07-08
EP0851383A3 (de) 2000-01-05
KR19980064572A (ko) 1998-10-07
EP0851383B9 (de) 2004-11-17
EP0851383B1 (de) 2004-06-02
US20050147305A1 (en) 2005-07-07
US7082224B2 (en) 2006-07-25
EP0851383A2 (de) 1998-07-01
US20010031086A1 (en) 2001-10-18

Similar Documents

Publication Publication Date Title
DE69729368T2 (de) Bildprozessor, Gerät und Verfahren zur Bildverarbeitung
DE602005001785T2 (de) Verfahren und Vorrichtung zur Textdetektion in Video
DE69734855T2 (de) Vorrichtung und Verfahren zur Extraktion eines Objektes in einem Bild
DE69129342T2 (de) Verfahren und Gerät zum Herausziehen von Bildranddaten
EP0014857B1 (de) Verfahren zum automatischen Markieren von Zellen und zur Bestimmung der Merkmale von Zellen aus zytologischen Abstrichpräparaten
DE69604481T2 (de) Verfahren und gerät zum trennen des vordergrunds und hintergrunds in textenthaltenden bildern
DE69428838T2 (de) Videokamera mit elektronischer Bildstabilisierung und Erzeugung von Additionsdaten
DE69521184T2 (de) Gerät zur Bildverarbeitung gemäss einem lokal ermittelten Bildregionentyp
DE69511620T2 (de) Videoverarbeitungssystem
DE69429464T2 (de) Bildverarbeitungsverfahren- und gerät
DE69812882T2 (de) Verfahren zur bewegungskompensierten Mehrhalbbildverbesserung von Videostandbildern
DE69810369T2 (de) Bildwiederauffindungsvorrichtung und -verfahren
DE69620125T2 (de) Gerät zur Bildverarbeitung von Fingerabdrücken
DE2831582C2 (de) Verfahren zur Identifizierung einer Person und Vorrichtung zur Durchführung des Verfahrens
DE68924612T2 (de) Bildverarbeitungsmethode zur Gestalterkennung.
DE3210814C2 (de) Verfahren zum Bestimmen einer optimalen Schwelle für die Umsetzung eines Videosignals in ein Binärsignal und Schaltungsanordnung zur Durchführung des Verfahrens
DE69525497T2 (de) Verfahren zur Bestimmung der gegenseitigen Tiefenbeziehung von Gegenständen zur Umwandlung zweidimensionaler in dreidimensionale Bilder
EP0472239B1 (de) Verfahren zur Ermittlung horizontaler Bewegungen in den Bildinhalten eines Fernsehsignals
DE4108288C2 (de)
DE3415470A1 (de) Geraet und verfahren zum codieren und speichern von rasterabtastbildern
DE69728724T2 (de) Bildbereichs-Erkennungsverfahren und Bildverarbeitungsvorrichtung
DE69518467T2 (de) Bildverarbeitungsgerät
DE3789091T2 (de) Bildverarbeitungsverfahren und -system zur Bildrekonstruktion.
EP1585059A2 (de) Verfahren und Vorrichtung zur Ermittlung von Bewegungsvektoren, die Bildbereichen eines Bildes zugeordnet sind
DE3732459C2 (de)

Legal Events

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