DE2340597A1 - Bildverarbeitungsanordnung - Google Patents

Bildverarbeitungsanordnung

Info

Publication number
DE2340597A1
DE2340597A1 DE19732340597 DE2340597A DE2340597A1 DE 2340597 A1 DE2340597 A1 DE 2340597A1 DE 19732340597 DE19732340597 DE 19732340597 DE 2340597 A DE2340597 A DE 2340597A DE 2340597 A1 DE2340597 A1 DE 2340597A1
Authority
DE
Germany
Prior art keywords
data
bit
unknown
register
image
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.)
Withdrawn
Application number
DE19732340597
Other languages
English (en)
Inventor
Stephen Barry Gray
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.)
INFORMATION INT Inc
Original Assignee
INFORMATION INT Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by INFORMATION INT Inc filed Critical INFORMATION INT Inc
Publication of DE2340597A1 publication Critical patent/DE2340597A1/de
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/24Aligning, centring, orientation detection or correction of the image
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/26Segmentation of patterns in the image field; Cutting or merging of image elements to establish the pattern region, e.g. clustering-based techniques; Detection of occlusion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/28Quantising the image, e.g. histogram thresholding for discrimination between background and foreground patterns
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/30Noise filtering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/34Smoothing or thinning of the pattern; Morphological operations; Skeletonisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/36Applying a local operator, i.e. means to operate on image points situated in the vicinity of a given point; Non-linear local filtering operations, e.g. median filtering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/42Global feature extraction by analysis of the whole pattern, e.g. using frequency domain transformations or autocorrelation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/46Descriptors for shape, contour or point-related descriptors, e.g. scale invariant feature transform [SIFT] or bags of words [BoW]; Salient regional features
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/94Hardware or software architectures specially adapted for image or video understanding
    • G06V10/955Hardware or software architectures specially adapted for image or video understanding using specific electronic processors
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01NINVESTIGATING OR ANALYSING MATERIALS BY DETERMINING THEIR CHEMICAL OR PHYSICAL PROPERTIES
    • G01N15/00Investigating characteristics of particles; Investigating permeability, pore-volume, or surface-area of porous materials

Description

Patentanwälte Dipl.-Ing. F. We ic* μ λ iv ν,
Dipl.-Ing. H.Weickmann, Dip^-Phis. Dr. K. Fincke Dipl.-Ing. RA.¥eickmann, Dipl.-Chem. B. Huber
8 MÜNCHEN 86, DEN
POSTFACH 860 820
MÖHLSTRASSE 22, RUFNUMMER 98 39 21/22
Information International, Inc.
12435 West Olympic Blvd.
Los Angeles, Californien 9oo64/
USA
Bildverarbeitungsanordnung
Die Erfindung betrifft eine Anordnung zur Verarbeitung von Zahlenfeldern zu verschiedenen Zwecken, wie z.B. zur Zeichenerkennung und Klassifiziex'ung.
Die im Anspruch 1 angegebene Lehre löst hierbei die Aufgabe eine äußerst schnelle, vielseitige und leicht an unterschiedliche Verwendungszwecke anpassbare Bildverarbeitungsanordnung anzugeben.
Eine Bildverarbeitungsanordnung gemäß der Erfindung kann höchst vielseitig Zahlenfelder verarbeiten, da sie auf ein Programm oder eine in einem digitalen Speicher gespeicherte Befehlsfolge anspricht. In einer bevorzugten Ausführungsform der Erfindung enthält die Anordnung eine Bildverarbeitungseinrichtung und einen Universalrechner bzw. eine zentrale Bildverarbeitungseinrichtung (ZVE),
409813/0794
deren Hauptspeicher die Befehlsfolge der .Bildverarbeitungseinrichtung speichert. Anders ausgedrückt, die Bildverarbeitungseinrichtung führt eine Befehlsfolge aus, nachdem die ZVE eine Befehlsanfangsadresse und ein Startsignal vorgegeben hat. Ein typischer Befehl veranlasst die Bildverarbeitungseinrichtung zum Abrufen mehrerer hundert Bits detaillierter Steuerdaten oder Parameter; hierauf beginnt die eigentliche Bildverarbeitung auf der Grundlage der abgerufenen Parameter.
Während der Bildverarbeitung werden ein oder zwei mit TJ (unbekannte Daten) bzw. M (Maskendaten) bezeichnete Datenfelder aus aufeinanderfolgenden Plätzen des Hauptspeichers abgerufen, während ein mit R (Ergebnisdaten), bezeichnetes Ausgangsdatenfeld als Punktion von U und M erzeugt und in den Speicher rückgespeichert werden kann* Gleichzeitig können die drei Felder U,M und R auf verschiedene Weise untersucht werden und die Untersuchungsergebnisse können nach Beendigung der Bildverarbeitung durch Ausführen eines weiteren Verarbeitungsbefehls im Speicher gespeichert werden. Die Bildverarbeitung umfasst eine weitere Hauptfunktion, die das Korrelieren der U- und M-Felder einschließt. Die Korrelation kann z.B. auf der Grundlage einer quadratischen 3x3-Nachbarschaft von Relativverschiebungen des U-Pelds bezogen auf das M-PeId durchgeführt werden. Die Bildverarbeitung schließt weiterhin eine Analyse oder eine Messung des als Punktion von U und M erzeugten R-Pelds ein. Die Analyse des R-Pelds kann z.B. auf der Grundlage eines 2x2-Abtastfensters erfolgen. Alle Punktionen der Bildverarbeitung können gleichzeitig erfolgen.
In bevorzugten Ausführungsformen der Bildverarbeitungseinrichtung ist eine Serie von wenigstens drei Registern für unbekannte Bilddaten vorgesehen. Die Register für
4098 1 3/0794
unbekannte Bilddaten speichern jeweils aufeinanderfolgenden Zeilen entsprechende Teile des unbekannten Datenfelds. Die aufeinanderfolgenden Zeilen sind hierbei entlang einer Achse,z.B. der horizontalen Achse des Datenfelds, beabstandet. Die Register weisen Abtasteinrichtungen auf, die in den Registern gespeicherte Daten entlang der zweiten oder vertikalen Achse in aufeinanderfolgenden Blöcken abtasten. Die Blöcke erstrecken sich vorzugsweise wenigstens drei Bits entlang jeder Achse, v/obei jeder aufeinanderfolgend abgetastete Block gegenüber dem vorhergehenden Block um ein Bit verschoben ist, womit sich die Blöcke beträchtlich überlappen. In einer Ausführungsform der Erfindung weist die Anordnung ein Register für bekannte Bilddaten auf, das bekannte bzw. Maskendaten an Plätzen innerhalb des jeweiligen Bilds speichert, die einer Zeile der in einem der Register für unbekannte Daten gespeicherten unbekannten Daten entsprechen. Das Register für bekannte Daten ist auf gleiche Weise abtastbar wie die Register für unbekannte Daten.
In einer weiteren Ausführungsform der Erfindung sind Einrichtungen vorgesehen, die eine. Vielzahl Korrelationssignale erzeugen. Pur jede Bitposition innerhalb eines abgetasteten Blocks der unbekannten Daten ist hierbei ein Korrelationssignal vorgesehen. Jedes Korrelationssignal ist eine vorgewählte logische Funktion des jeweiligen Bits der unbekannten Daten im abgetasteten Block und eines einzelnen Bits der bekannten Bilddaten, welches der speziellen Position im Block entspricht. Jedes der Korrelationssignale schaltet einen Zähler fort, wobei die beim Abtasten des Felds der unbekannten Daten aufsummierten Zählungen der Zähler ein Maß für den Grad der Ähnlichkeit zwischen den bekannten und den unbekannten Bildern für verschiedene verschobene Positionen liefern.
409813/0794
In einer noch weiteren Ausführungsform der Erfindung werden die verschiedenen Bits im Block der unbekannten Katen jeweils miteinander und in gewissen Fällen mit verschiedenen Steuerparameterbits und bekannten Bildbits entsprechend vorwählbaren logischen Funktionen kombiniert. Man erhält auf diese Yfeise ein Ergebnisbildsignal und jedes hierbei erhaltene Ergebnisbit wird einem Register für Ergebnisbilddaten an einer Stelle zugeführt, die der Stelle des abgetasteten Blocks innerhalb der unbekannten Daten entspricht. Indem im Speicher aufeinanderfolgend erzeugte Zeilen der Ergebnisdaten gespeichert werden, wird im Speicher ein Datenfeld aufgebaut, das ein Ergebnisbild als vorgewählte logische Modifizierung des unbekannten Bilds wiedergibt.
Die Anordnung kann außerdem ein zweites Register für Ergebnisbilddaten aufweisen, das vorher erzeugte Zeilen der Ergebnisdaten speichert. Die Daten in den beiden Registern für Ergebnisbilddaten können in zwei Bits entlang jeder Feldachse sich erstreckenden Blöcken abgetastet werden. Es sind Einrichtungen vorgesehen, die eine Vielzahl von Eigenschaftssignalen des Ergebnisbilds erzeugen, von denen jedes das Auftreten einer speziellen Klasse von Datenmustern im abgetasteten Block der Ergebnisdaten anzeigt. Verschiedene jeweils von den Eigenschaftssignalendes Ergebnisbilds fortgeschaltete Zähler summieren Zählungen auf, die beim Erzeugen des Ergebnisbilds dessen Eigenschaften und damit auch die Eigenschaften des unbekannten Bilds bezogen auf das bekannte oder Maskenbild angeben.
Die oben beschriebene Bildverarbeitungseinrichtung kann in einer ersten Ausführungsform unter Verwendung von Schieberegistern ausgeführt sein, womit die Daten in den Registern für unbekannte Daten bzw. für Maskendaten zum Vergleichen gleichzeitig ausgeschoben werden; die
/►09813/0794
erzeugten Ergebnisbits werden hierbei in das Register für Ergebnisdaten eingeschoben. Me Datenregister können alternativ statische Register mit einer Abtastlogik aufweisen, die irgendeinen festgelegten Teil der Registerlänge zur Verarbeitung abtasten kann. Die Verwendung statischer Register zusammen mit einer Abtastlogik ergibt im allgemeinen größere Anpassungsfähigkeit als die Verwendung von Schieberegistern, da auch kleinere Bildmuster in kürzerer Zeit verarbeitet werden können.
Im folgenden soll die Erfindung anhand von Zeichnungen näher erläutert werden. Hierbei zeigt:
Pig. 1 ein Blockschaltbild einer erfindungsgemäßen Bildverarbeitungsanordnung;
Fig. 2 ein Übersichtsdiagramm, das die Datenverarbeitungsoperationen der binären Bildverarbeitungseinrichtung nach Fig. 1 allgemein darstellt;
Pig. 3 ein Format diagramm, das die TJ-, M- und R-Pe Ider und die Bezeichnungsweise spezieller Bits darstellt;
Pig. 4 ein Blockdiagramm einer erfindungsgemäßen binären Bildverarbeitungseinrichtung;
Pig. 5 ein Formatdiagramm eines Parameterregisters;
Fig. 6 ein der Erläuterung dienendes Diagramm, das ein Beispiel einer Verarbeitungsoperation in binärer Betriebsart zeigt, die entsprechend der im Speicher gespeicherten Datenfeldinformation durchgeführt wird;
40981 3/0794
Pig. 7 ein erläuterndes Diagramm, das ein Beispiel einer Verarbeitungsoperation in der Dichte-Betriebsart zeigt;
Fig. 8a,b und c Blockdiagramme, die, genauer als in Pig. 4, erste Ausführungsformen erfindungsgemäßer TJ-, M- und R-Register zeigen;
Pig. 9 ein Blockdiagramm einer anderen Ausführungsform eines erfindungsgemäßen U-Registers;
Fig. 1oa,b,c und d Blookdiagramme, die, genauer als in Pig. 4, spezielle logiknetzwerke sowie den Datenfluss darin zeigen;
Pig. 11 eine Darstellung eines typischen Dichte-Betriebsartbilds;
und
Fig. 12a und b Darstellungen, die eine bei Zeichenerkennungsanwendungen verwendete typische Bildverarbeitung zeigen.
In Fig. 1 ist ein BildverarbeitungssystemmLt einer erfindungsgemäßen binären Bildverarbeitungseinrichtung dargestellt. Das Bildverarbeitungssystem nach Fig. 1 kann zur Durchführung vielfältigster Bildverarbeitungsfunktionen, wie z.B. Zeichenerkennung, Zeichenerfassung, Digitalisierung von Kurvenformen, Auswertung biomedizinischer Darstellungen, Erkennung und Klassifizierung von Fingerabdrucken, usw. herangezogen werden. Das System nach Fig. 1 ist, wie noch, deutlich werden wird, in seiner Bildverarbeitungsfähigkeit höchst wandelbar. Dies ist in erster Linie darauf zurückzuführen, daß es auf einem gespeicherten Programm beruht
0 9 813/0794
anstatt für spezielle Anwendungsfälle fest verdrahtet zu sein.
Das System nach Fig. 1 v/eist einen Wandler, wie z.B. einen Filmabtaster 2o auf, der abhängig von den einem Bild entsprechenden analogen Eingangsdaten dem gleichen Bild entsprechende digitale Ausgangsdaten erzeugt. Der Filmabtaster 2ο weist insbesondere vorzugsweise einen sehr genauen Wandler auf, der die Filmschwärzungen in digitale Daten umwandelt, welche über eine Speichersammelleitung 22 einem digitalen Speicher 21 zugeführt werden können. Der Speicher 21 kann, wie in einer bevorzugten Ausführungsform vorgesehen, den internen Speicher einer universell verwendbaren, zentralen ■Verarbeitungseinheit 24 aufweisen, welcher so abgeändert wurde, daß jedes Bauelement einer Vielzahl an die Speichersammelleitung 22 angeschlossener Bauelemente direkten Zugriff zu ihm hat. Die zentrale Verarbeitungseinheit 24 soll im folgenden kurz mit "ZVE 24" bezeichnet werden. Zusätzlich zum Filmabtaster 2o und zur ZVE 24 sind eine binäre Bildverarbeitungseinrichtung 26 (kurz bezeichnet im folgenden "BBV 26") und Eingabe/Ausgabegeräte 28 an die Speichersammelleitung 22 angeschlossen. Als direkter Nachrichtenweg ist zwischen den Baueinheiten 2o,24,26 und 28 eine Eingabe/Ausgabe-Sammelleitung 3o vorgesehen. Die ZVE 24 kann irgendeinen der ohne weiteres erhältlichen Universalrechner mit Programmspeicher,etwa den von Digital Equipment Corporation of Maynard, Massachusetts, verkauften PDP-10, aufweisen.
Bei Betrieb des Systems nach Fig. 1 veranlasst die ZVE 24» daß der BBV 26 Felddaten und Verarbeitungsbefehle zugeführt werden. Die BBV 26 erzeugt daraufhin ihrerseits verschiedene numerische Beschreibungssignale, die die
4 0 9 8 13/0794
Eigenschaften der zugeführten Datenfelder, sowie die Beziehungen zwischen diesen Datenfeldern allgemein beschreiben. Im einzelnen gibt die ZVE 24 zu Beginn eine Startadresse an die BBY 26 ab, die im Speicher 21 einen Wörterblock bestimmt, in dem jedes Wort einen BBV-Befehl darstellt. Der Wörterblock stellt damit das BBV-Programm dar. Die BBV 26 ruft dann die Befehle der Eeihe nach ab, wobei jeder Befehl die Ausführung einer vollständigen Bildverarbeitung bewirken kann. Im einzelnen bewirkt ein einziger Befehl, daß die BBV 26 sechs Wörter der im Zusammenhang mit Pig. 5 näher erläuterten Steuerparameter in sechs Parameterx'egister (Fig.4) lädt. Anschließend wird die durch die Steuerparameter bestimmte Bildverarbeitung durchgeführt. Nach einer vollständig durchgeführten Bildverarbeitung kann ein weiterer Befehl abgerufen werden, auf den hin z.B. die Parameterregister erneut geladen und erneut verarbeitet werden können, oder auf den hin die BBV 26 angehalten und an die ZVE 24 rückgemeldet wird. Es sind weiterhin Befehle vorgesehen, die z.B. numerische Ergebnisse aus der BBV 26 in den Speicher 21 übertragen.
Während der von der BBV 26 durchgeführten Bildverarbeitung werden ein oder zwei als unbekannt (U) und als bekannt (M = durch Masken bestimmt) bezeichnete Datenfelder von aufeinanderfolgenden Stellen des Speichers 21 abgerufen und der BBV 26, wie im Abbildungsdiagramm der Pig. 2 dargestellt, als Eingangssignale zugeführt. Die BBV 26 führt dann, wie durch Ausgangsblöcke in Pig. 2 dargestellt, mit den U- und M-Datenfeldern verschiedene Operationen durch. Die BBV kann z.B. wie durch einen Ausgangsblock 4o dargestellt ist, eine Korrelationszähloperation durchführen und neun Ausgangskorrelationszählungen CQ bis CQ erzeugen, die den Vergleich U mit M für jeweils eine von neun relativen Verschiebungen entsprechend einer 3x:3-Nachbarschaft wieder-
40981 3/0794
geben. Zur Erläuterung sei auf die das TJ-FeId und das M-FeId darstellende Figur 3 verwiesen, in der das U-FeId in einer 3x3-Nachbarschaft und ein entsprechendes Bit des M-Felds dargestellt sind. Die im U-FeId dargestellte 3x3-Nachbarschaft erläutert außerdem die im folgenden zur Identifizierung jedes der neun Bit innerhalb der 3x3-Haehbarschaft verwendeten Bezeichnungsweise. Die am Ausgang des die Korrelationszählungen durchführenden Ausgangsblocks· 4o in Fig. 2 abgegebenen Korrelationszählungen Cq bis Cg stellen somit die Korrelation zwischen dem innerhalb des M-Felds in Fig. 3 gezeigten M-Bits und jedem der Bits innerhalb der entsprechenden 3x3-Nachbarschaft des U-Felds dar.
Neben den durch den Ausgangsblock 4o in Fig. 2 dargestellten Korrelationszählungen kann die BBV 26 außerdem ein Ergebnisfeld (R) als Funktion der U- und M-Felder auf zwei unterschiedlichen, in Fig„ 2 durch einen Operationsblock 42 dargestellten Wegen erzeugen. Das in Fig. 3 durch den äußeren rechten Winkel dargestellte E-FeId wird durch aufeinanderfolgendes Erzeugen individueller R-Bits geschaffen. Bei Betrieb in einer Dichte-Betriebsart führt der Operationsblock 42 eine Byte-Vergleichsoperation aus, bei der die Bytes des U-Felds mit den Bytes des M-Felds arithmetisch verglichen werden. Ist; das Byte des U-Felds arithmetisch kleiner oder gleich dem entsprechenden Byte des M-Felds, so wird ein R = 1 Bit erzeugt. Ist andererseits das Byte des U-Feldsarithmetisch größer als das entsprechende Byte des M-Felds, so wird ein R=O Bit erzeugt.
Bei Betrieb in einer im Gegensatz zrur oben stehend erwähnten Dichte-Betriebsart stehenden binären Betriebsart erzeugt derOperationsblock 42 aus Pig. 2 aufeinanderfolgend
409813/0794
R-Bits und bildet hierdurch das R-PeId als Boole'sehe Funktion der U- und M-Pelder. Wie noch gezeigt wird, kann jedes R-Bit eine Punktion des entsprechenden M-Bits und aller U-Bits der entsprechenden 3x3-Nach.barsch.af t sein.
Sowohl in der Dichte-Betriebsart als auch in der binären Betriebsart wird das durch den Operationsblock 42 erzeugte R-PeId im Speicher 21 des Systems rückgespeichert; es kann außerdem einer eine 2x2-Bit-Nachbarschaft umfassenden Analyse-Operation unterworfen werden, wobei die 2x2-Bit-Nachbarschaft aus Rq,R^,R7 und RQ besteht. Der weitere Nachbar R? wird zn einem anderen, untenstehend näher erläuterten Zweck verwendet. Ein in Pig. 2 dargestellter Operationsblock 44 erzeugt als Punktion von RQi R.J ,R„ und Ro gewisse mit RAR und RQ- _ RQ^ bezeichnete Zählungen, deren Bedeutung ebenfalls später erläutert werden soll. An dieser Stelle genüget der Hinweis, daß diese Zählungen numerische Beschreitmngssignale des R-Pelds sind.
Im folgenden soll Pig. 4 erläuert werden, die ein Blockdiagramm der erfindungsgemäßen binären Bildverarbeitungseinrichtung (BBV) 26 zeigt.
Die BBV 26 weist vorzugsweise sur Überwachung und Polgesteuerung eine eigene Steuerschaltung 5o auf und kann damit wenigstens eine begrenzte Folge von Operationen unabhängig von der ZVE 24 durchführen. Zu diesem Zweck ist die BBV 26 über geeignete Koppelschaltungen direkt mit der Speichersammelleitung 22 gekoppelt und kann Daten und/oder Anweisungen unmittelbar mit dem Speicher austauschen. Bei Beschreibung des Systems sollen im folgenden aus Zweckmäßigkeitsgründen diejenigen "Anweisungen", die von der BBV 26 selbst unmittelbar aus dem Speicher 21 bezogen werden, als "Befehle" bezeichnet werden, während durch den Ausdruck "Anweisungen" Anweisungen im Programm der ZVE 24 bezeichnet werden sollen.
409813/0794
Die Steuerschaltung 5o der binären Bildverarbeitungseinrichtung 26 weist vorzugsweise zumindest folgende Bestandteile auf:
1. ein Befehlsadressenregister 52, das aufeinanderfolgend diejenigen Adressen des Speichers 21 bestimmt, aus denen die BBV 26 aufeinanderfolgende Befehle erhält;
2. ein Befehlsregister 53, das die aus dem Speicher 21 auf die letzte Adresse des Befehlsadressenregisters 52 hinzugeführten Befehlsdaten speicherts
Das Parameterregister 54 umfasst funktionsmäßig einen Maskendaten-Adressenspeicher, der im Speicher 21 Adressen bezeichnet, aus denen die BBY 26 Daten für gewisse untenstehend näher erläuterte bekannte Kaskenbilder bezieht. Das Parameterregister 54 weist weiterhin einen Speicher für unbekannte' Daten auf, der im Speicher 21 Adressen bezeichnet, aus denen die BBY 26 Daten für unbekannte Bilder erhält, die sie analysieren oder identifizieren soll. Ein Ergebnisdatenspeicher des Parameterregisters bezeichnet im Speicher 21 Adressen, in die die BBV 26 Ergebnisbilder darstellende Daten einspeichern kann, welche als Teil der Operation der BBV 26 erzeugt wurden. Das Parameterregister 54 weist schließlich einen Parameterspeicher auf, der in Verbindung mit Fig. 5 untenstehend näher erläuterte andere Parameterdaten speichert..
Trotzdem die vorliegende Erfindung in erster Linie die BBV 26 betrifft, soll die gesamte Betriebsweise peripherer Apparate und ihr Zusammenwirken mit der ZVE 24 und dem Speicher 21 weiter erläutert werden, da es dem Verständnis von Zweck und Punktionsweise der eigentlichen BBV 26 sicherlich dienlich ist. Unter der Annahme, daß eine geeignete Folge von Befehlen für die BBV 26,Tabellen
0 9 813/0794
geeigneter Operationsparameter und Felder von Bilddaten, mit denen die BBY 26 arbeiten soll» in den etwa als Kernspeicher ausgeführten Speicher 21 geladen wurden, kann die ZVE 24- den Betrieb der BBY 26 auslösen, indem sie das Befehlsadressenregister auf die Speicheradresse des ersten auszuführenden Befehls setzt. Die Steuerschaltung 5o der BBV 26 lädt dann die Befehle des Speichers 21 in das Befehlsregister 53. Der erste Befehl wird typischerweise die Steuerschaltung 5o zum Laden der verschMenen Parameterregister 54 veranlassen. Auf das Laden der Parameterregister 54 folgend, beginnt die eigentliche Bildverarbeitung, während der aus dem Speicher 21 Wörter abgerufen werden, die die Felder der Maskenbilder und der unbekannten Bilder darstellen, und während der die Wörter für Felder der Ergebnisbilder im Speicher 21 gespeichert werden können. Wenn die Maskenwörter und die unbekannten Wörter aus dem Speicher 21 abgerufen sind, werden sie in ein Maskendatenregister 6o (M-Register) bzw. in ein Register 62 für unbekannte Daten (U-Register) der BBV 26 geladen. Die Maskendaten und die unbekannten Daten werden dann zur Bildverarbeitung herangezogen und nach Beendigung derselben wird das Befehlsadressenregister 52 fortgeschaltet, um in aufeinanderfolgender Reihe einen nachfolgenden Befehl· aus dem Speicher 21 in das Befehlsregister 53 zu laden. Der nachfolgende Befehl kann dann die numerischen Ergebnisse des Zählers der BBV in äen Speicher 21 rückspeichern oder aber die gleichen oder andere Felder einer weiteren Bildverarbeitung unterwerfen. Der letzte Befehl der Befehlsfolge kann, wie üblich, als Kennzeichen der Steuerschaltung 5o dienen, die daraufhin die ZVE 24 unterbricht, sodaßder weitere Betrieb der BBV 26 entsprechend der Programmsteuerung der ZVE 24 erneut ausgelöst werden kann.
Λ 0 9 8 1 3/079A
Die erfindungsgemäße BBV 26 arbeitet mit Bildern, die in Form von Feldern binärer im Speicher 21 gespeicherter Daten vorliegen. Ein Teil dieser Daten stellt die zu analysierenden oder zu identifizierenden unbekannten Bilder dar. Derartige Bilder können z.B. aus einem Dokumenten- oder Mikrofilmleser bzw. -Abtaster stammen, der im Echtzeitbetrieb arbeitet und ebenfalls von der ZVE 24 auf einer Zeitmultiplexgrundlage gesteuert wird. Die unbekannten Bilder können alternativ unter Zwischenschaltung eines Magnetbands oder einer Magnetplatte oder anderer Kurzzeitdatenspeicher dem Speicher 21 zugeführt werden. In der nachstehenden Beschreibung wird allgemein angenommen, daß die Bildpunkte bzw. -elemente durch eine binäre "1" dargestellt sind, während jeder Punkt " des Hintergrunds durch eine "O" wiedergegeben wird. Es soll jedoch hervorgehoben werden, daß eine komplementäre Organisation gleichwertig wäre und daß die Ansprüche dementsprechend ausgelegt werden sollten.Es kann entweder die binäre "1" oder die binäre "O" als vorbestimmter binärer Zustand betrachtet werden.
Ein anderer Teil der gespeicherten Daten stellt bekannte Bilder dar. Einige dieser bekannten Bilder können als Masken aufgefasst werden, mit denen die unbekannten Bilder verglichen und korreliert werden sollen, während andere der bekannten Bilder speziellen Zwecken dienende Muster oder Mosaiken sein können, die in einer unter der Steuerung eines optischen Zeichenlese- oder Bildanalyse-Programms der ZVE 24 vorteilhaft verwendet werden können. Ein Teil des Speichers 21 dient, v/ie bereits erwähnt, zur Speicherung der von der BBV 26 zu verarbeitenden aufeinanderfolgenden Befehle oder Operationssteuerkods, sowie zur Speicherung der von der BBV 26 verwendeten verschiedenen Parameter.
409813/0794
Weiterhin wurde bereits erwähnt, daß die aus dem Speicher 21 abgerufenen Maskandaten und unbekannten Daten in das Maskendatenregister 60 baw, in das Register für unbekannte Daten 62 geladen werden. Im Betrieb liefert das Maslcendatenregister 60 seriell Maskendatenbits (1 Maskendatenbit pro Zeiteinheit) an einen Ausgangsanschluß 64. Das Register für unbekannte Daten 62 liefert Maskendatenbits (1 Maskendatenbit pro Zeiteinheit) an einen Ausgangsanschluß 66. Das Register für unbekannte Daten 62 liefert parallel neun Ausgangsbits entsprechend Un bis U0 in Fig. 3a. Die Ausgangsbits UQ bis U7 werden auf acht Ausgangsleitungen abgegeben, die in Pig. 4- zusammen durch das Bezugszeichen 66 bezeichnet sind. Das Ausgangsbjt Ug wird an einem Ausgangsanschluß- 68 abgegeben.
Jeder der Ausgangsanschlüsse 64,66 und 63 ist jeweils mit den Eingängen untenstehend näher erläuterter Logiknetzwerke 7o,72,74 und 76 verbunden. Das Logiknetzwerk 7o ist an der obenstehend in Zusammenhang mit ilig. 2 (Block 4o) erläuterten Korrelationszähloperation beteiligt. Es spricht auf die an den Ausgangsanschlüssen 64,66 und 68 abgegebenen Daten an und vergleicht jedes Maskenbit mit neun Bits UQ bis Ug der unbekannten Daten (siehe Pig. 3a). Das Logiknetzwerk 7o bestimmt jeweils, ob das Maskenbit gleich oder ungleich jedem Bit der entsprechenden 3x3-Nachbarschaft der unbekannten Daten ist und überträgt diese Information auf neun Korrelationszähler 78» die die Zahlungen über eine ein Maskendatenfeld bildende Folge von Maskenbits aufsummieren. Die im Korrelationszähler 78 aufsummierte Information ist das Maß der EOrmähnlichkeit und der relativen Lage abweichung zwischen den Maskendatenfeldern und den unbekannten Datenfeldern. Die durch die Korrelationszähler 78 aufsummierten Zählungen werden, gesteuert durch das Programm, über die Speichersammelleitung 22 in den
Λ 0 9 813/0794
Speicher 21 des Systems rückgespeichert. Diese Korrelationsoperation soll nachstehend im Zusammenhang mit Fig. 1o näher erläutert werden.
Das Logiknetzwerk 72 vergleicht zwischen den aus dem M-Register 6o und dem U-Register 62 zugeführten Vielfachbit-Bytes. Das Logiknetzwerk 72 kann damit die durch eine Serie von Bits aus dem M-Register 6o dargestellte arithmetische Größe mit einer entsprechenden Serie vom U-Register 62 gelieferter Bits vergleichen und ein Ergebnisbit (R-Bit) liefern. Ist z.B. das Byte eines U-Pelds arithmetisch kleiner als das entsprechende Byte eines M-Felds, so wird ein R = "1" Bit erzeugt. Ist andererseits das Byte des U-Pelds arithmetisch größer als das entsprechende Byte des M-Felds, so wird ein R = "0" Bit erzeugt. Die vom Logiknetzwerk 72 erzeugte R-Bitinformation wird einem Brgebnisart-Gatter zugeführt. Das Ergebnisart-Gatter 8o lädt sowohl Ausgangssignale des Logiknetzwerks 72 als auch des Logiknetzwerks 74 in ein Ergebnisregister 82 (R-Register).
Bei binärer Betriebsart führt das Ergebnisart-Gatter 8o das Ausgangssignal des Logiknetzwerks 74 dem Ergebnisregister 82 zu. Das Logiknetzwerk 74 erzeugt das R-Bit als Punktion des über den Ausgangsanschluß 64 zugeführten Maskenbits, des über den Ausgangsanschluß -68 zugeführten Bit Uq und eines vom Logiknetzwerk 76 erzeugten P-Bits. Das Logiknetzwerk 76 spricht auf die am Ausgangsanschluß 66 des U-Registers 62 verfügbaren Bits Uq bis U^ an. Wie untenstehend anhand der Figuren 5 und 1o noch näher erläutert werden soll, wird das P-Bit als spezielle Punktion der Bits UQ bis U7 gebildet. Die spezielle Punktion wird hierbei durch die Ausführung des Parameter- registers 54 bestimmt. Entsprechend wird R im Logiknetz-
40981 3/079*
werk 74 als spezielle Funktion von Uft, M und P gebildet, wobei die spezielle Punktion durch den Inhalt des Parameterregisters 54 bestimmt wird.
Die vom Ergebnisart-Gatter 8o durchgelassenen R-Bits werden außer dem Ergebnisregister 82 auch einem Ergebnisanalysenetzwerk 84 zugeführt, das, zusammen mit Ergebniszählern 86 dem in Fig. 2 dargestellten Operationsblock 44 entspricht. Das nachstehend noch näher zu erläuternde Ergebnisanalysenetzwerk 84 zählt verschiedene Mustersätze innerhalb einander überlappender 2x2-Nachbarschäften.
In einer bevorzugten erfindungsgemäßen Ausführungsform werden die Parameterregister 54 der Fig. 2 vorzugsweise, wie in Fig. 5 dargestellt, durch sechs 36 Bit-Parameterregister 54-j bis 54g ausgeführt. Ue die exakte Bildverarbeitung der BBV 26 vollständig bestimmen zu können, müssen die sechs Register 54* bis 54,- mit Parameterinformationen aus dem Speicher 21 geladen werden. Innerhalb der Register 54-] bis 54g in Fig. 5 sind folgende Bereiche von Bedeutung:
Symboldefinitionen
NTR: Nachbarschaftsschwellwert - bestimmt für welche Nachbarschaftsdichten das P-Bit = 1 wird.
BSL: Boole'sehe Auswahl - bestimmt die Funktion R(UQ,M,P)
NSL: Nachbarschaftsauswahl - ist mit der W-Nachbarschaft UND- verknüpft (siehe Fig. 1Ob).
NMT: Nachbarschaftsgleichheit - ist mit (NSL-W) ODER verknüpft.
RWA: Ergebniswortadresse - Ausgangsstelle im Speicher des R-Bildfelds.
Λ0981 3/0794
RBA.: Ergebnisbitadresse - Ausgangsbitadresse des R-Worts.
RBW: Ergebnisbytes (Bits) pro Wort - Formfaktor für das R-Bildfeld.
RSK: Ergebnissprung - ermöglicht es dem R-PeId nicht aufeinanderfolgende Adressen zu besetzen.
UBA: siehe RWA, RBA, RSK
MBA: siehe RWA, RBA, RSK
MBW: Maskenbits (Bytes) pro Wort - Formfaktor des M-Bildfelds.
WDS: Wortumfang - bestimmt die Anzahl der von der BBV zu verarbeitenden Wörter des Bildfelds.
BTS: Bitumfang - bestimmt wieviele Bits in jedem Wort des Bilds verarbeitet werden sollen.
Operationssteuerbits
DNS: Dichte-Betriebsart - läßt die BBV 26 R-Bitsdurch einen Speicherzelle-für-Speicherzelle-Vergleich der Bytes der U-Bilder und M-Bilder erzeugen.
SMW: Einzelmaskenwort - bewirkt, daß ein einzelnes Speicherwort wiederholt für das gesamte M-PeId verwendet wird.
PUB: Polarität, unbekannte Daten, Bitachse - kehrt jedes Wort von U um, bevor es die Seriellverarbeitungsstufe erreicht.
PUW: Polarität, unbekannte Daten, Wortachse - bewirkt, daß U aus aufeinanderfolgend niedrigeren Adressen des Speichers abgerufen wird.
; siehe PUB, PUW
ρτρ τι.
jjj; Analog PUB, PUV/
A0981 3/Q794
OWN: kumulative Wortnachbaren - bewirken, daß Nachbarschaftsbits U0 ,-IL· ,TJ2 durch entsprechende Bits des vorher erzeugten R—Worts ersetzt v/erden«
COIi: bewirkt, daß die W-Nachfcarsehaftsdichte (Zahl der 1'sen) auf das "Euler'sehe Differential" der Nachbarschaft bezogen wird.
CTJM: korreliere bezüglich U*M - Einschaltbedingung der neun Korrelationszähler.
CNM: korrelxere bezüglich Ϊ7·Μ.
CTJN: korreliere bezüglich TJ-H.
ROT: Ergebnis-Außenwerte - Zustand des R-Felds außerhalb seiner Grenzen; wird für gewisse 2x2-Nachbarschäften gebraucht.
Die Startstellungen im Speicher der Eingangsfelder TJ und M und des Ausgangsfelds R werden, wie in Pig. 5 dargestellt, durch die 18-Bit-Wortadressenfelder RWA, TJWA und MWA in den Registern 54*, 54, und 54p- spezifiziert. Die sechs Bitgrößen TJBA und MBA definieren anfängliche Vertikal- oder Bitachsenkoordinaten: das Bi in der Stellung TJBA, 0_<UBA<35, ist das erste, das von der TJ-Logik in jedem Wort des TJ-Bilds abgerufen wird entsprechendes gilt für M. RBA ist die Bitachsenkoordinate, an der das erste Bit in jedem Wort von R gespeichert wird. Wird ein Bildverarbeitungsprozess in binärer Betriebsart begonnen, so werden die in (UWA, UBA) und (MWA, MBA) befindlichen Bits zusammen mit den acht Nachbarn des U-Bits abgerufen. Das erste R-Bit wird dann als Funktion dieser zehn Bits erzeugt und anschließend im Speicher bei (RWA, RBA) gespeichert. Die BBV 26 verarbeitet dann kontinuierlich aufeinanderfolgende Bits in den Wörtern bei UViA und MWA und. erzeugt v/eitere R-Bits die in Adressen RWA gespeichert werden. Dies wird fortgesetzt, bis BTS Bits erzeugt wurden. Die BBV 26 ruft dann die Bits bei (UWA+1 , UBA) und (MWA+1 , MBA) ab. In gleicher Weise werden aufeinanderfolgende Wörter verarbeitet, bis insgesamt WDS Wörter/ verarbeitet wurden.
4098 13/07
Pig. 6 zeigt als Beispiel eine binäre Bildtransformation, in.der ein Ergebnisfeld durch Bit für Bit "Exklusiv-ODER"-Verknüpfung der unbekannten Felder und Maskenfelder erzeugt wird. Weiterhin ist ein 3x3-Nachbarschafts-Fenster" mit dessen normaler Abtastrichtung des BiIo.s dargestellt. Es ist zu beachten, daß die Größen (UV/A, UBA) und (JWA, MBA) die zu vergleichenden Teile der unbekannten Felder und Maskenfelder bezeichnen und daß (RWA, RBA) die Speicherstellen bezeichnen, in die das Ergebnisfeld eingespeichert wird.
Zusätzliche geometrische Anpassungsfähigkeit bei der Behandlung der Felder wird durch die Sprungfaktoren RSK, USK und MSK sowie durch die Packungsfaktoren (Bytes oder Bilderspalten pro Wort) RBW und MBW erzielt. Wird USK>0 gesetzt, so wird U nicht aus aufeinanderfolgenden Speicherstellen abgerufen, sondern von UWA, UWA + (USK+1), UWA + 2 (USK + 1) usw., wobei entsprechendes für MSK und RSK gilt. Indem MBW>1 gesetzt wird, kann mehr als eine geometrische Feldspalte in jedem Speicherwort von M gespeichert werden; entsprechendes gilt für RBW.
Das Parameterregister 54-j bestimmt, wie unten noch näher erläutert werden soll, wie die P- und R-Bits normalerweise erzeugt werden* Das Parameterregister 54p enthält obenstehend definierte Operations- oder Betriebsartsteuerbits, von denen jedes spezielle Operationen oder Betriebsarten spezifiziert.
Insbesondere das Steuerbit DNS ist wichtig, da die Bildverarbeitung der BBY, wenn DNS = "1" ist, in Wirklichkeit nicht Bits des M-Felds und Nachbarschaften des U-Felds prüft, sondern U und M jeweils als aus Zeichenfolgen numerischer Bytes bestehend ansieht, wobei jedes Byte, wie durch BTS definiert, eine Vielzahl Bits aufweist.
A09813/0794
-2ο-
Ein Byte aus U wird arithmetisch mit einem entsprechenden Byte aus M verglichen und wenn UBYte~MB t is'fc> wird ein "1" Bit erzeugt und in das R-FeId eingesetzt. Wenn üBvte>MBvte ist) wird ein "°" Bit iür das R~Feld er~ zeugt. Ein Beispiel des Bildformats für die DNS-Betriebsart ist in Fig. 7 dargestellt. Die Bytelänge für M und U wird durch den Parameter BTS (= 7 in Fig.7) bestimmt; die Anzahl der Bytes pro M- und U-Wort wird durch den Parameter MBW(=4) festgesetzt; die Anzahl der Reihen des R-Bilds ist durch RBW(=6) gegeben; die Anzahl der Spalten von R wird durch WDS(=3) festgesetzt.
Sowohl in binärer als auch in Dichte-Betriebsart wird das Bild in untenstehend noch näher erläuterter Weise nachbarschaftsanalysiert. ■
Es sollen nun die Figuren 8a, b und c erläutert werden, die erste Ausführungsformen der U-,M-und R-Register 62, 6o und 82 aus Fig. 4 zeigen. Die Ausführungsformen der Fig. 8 ermöglichen das obenstehend erwähnte 3x3-Fenster beim U-FeId und das 2x2-Fenster beim R-FeId durch Verwendung von Vielfachschieberegistern.
Im einzelnen besteht das U-Register 62 der Fig. 8a aus drei Ein-WortSchieberegistern 87,88 und 89, von denen jedes 36 Bits enthält, um Teile der unbekannten Bilddaten zu speichern und zu verarbeiten. Das erste Schieberegister 87 ist so ausgebildet, daß es aus dem Speicher 21 über eine Pufferstufe 9o und einen Gatterschaltkreis 91 geladen werden kann. Jedes der anderen Register 88 und ist so ausgebildet, daß es Daten aus den in Serie vorgeschalteten Registern parallel und synchron mit der Datenübertragung aus der Pufferstufe 9o in das erste Schieberegister 87 aufnehmen kann. Aus später noch zu
Λ 0 9 8 1 3/0794
erläuternden Gründen werden die im Register 88 enthaltenen unbekannten Bilddaten als momentanes unbekanntes Bildwort bezeichnet, während die Register 87 und 88 jeweils das nächste bzw. das vorhergehende unbekannte Bildwort enthalten.
Die Zeilen oder Wörter der in den Registern 87,88,89 enthaltenen binären Daten können innerhalb der jeweiligen Register, durch ein über eine Leitung 92 zugeführtes U-Bitschiebesignal herkömmlich synchron gesteuert, verschoben werden. Jedes der Register. 87,88,89 ist, wie dargestellt, so geschaltet, daß der Datenüberlauf am Austrittsende des Registers dem Eintrittsende des gleichen Registers zugeführt werden kann. Die binären Daten oder das binäre Wort in jedem Register werden also aufeinanderfolgend wiederholt verschoben und befinden sich nach einer mit der Länge des Registers übereinstimmenden Anzahl von Schiebevorgängen wieder in der Ausgangsstellung. Die Schieberegister 87,88,89 weisen außerdem Ausleseeinrichtungen 93»94,95 für die letzten drei Bits in jedem Schieberegister auf, so daß ein 3-Bit- auf >-Bit~J)atenblock zur Abtastung verfügbar ist« In Fig. 8 wie auch sonst ist ein eine Vielzahl paralleler oder gleichzeitiger binärer Signale aufweisender Datenfluss durch einen breiten Pfeil dargestellt, während Einzelbitsignale oder -Leiter durch eine einzelne Linie dargestellt sind. Als Alternative zur Parallelverschiebung von Daten zwischen den oben beschriebenen Registern könnte der Übertrag aus den ersten beiden dem linschiebeende des nächsten Registers zugeführt werden.
Wenn die in den drei Schieberegistern 87>88,89 gespeicherten binären Wörter durchgeschoben werden, so werden in Wirklichkeit die gespeicherten Daten in einer Aufeinanderfolge von Blöcken entlang einer der oben beschriebenen
Λ0981 3/0794
Achsen abgetastet. Um die Beschreibung des Betriebs dieses Apparats zu vereinfachen, soll diese Achse nachfolgend als vertikale oder Bitachse bezeichnet werden. Die andere dieser zwei Achsen soll als horizontale oder Wortachse bezeichnet werden. Die auf die vollständige Abtastung jedes Worts entlang der Bitachse folgende Abtastung des Bilds entlang der Wortachse erfolgt, wie dem Fachmann geläufig sein wird, durch Schieben binärer Wörter aus jedem Schieberegister der Serie in ein nachfolgendes Register, wobei die binären Daten des letzten Schieberegisters 89 verloren gehen, wenn das erste Schieberegister 87 über die Pufferstufe 9o aus dem Speicher 21 aufgefüllt wird. Es soll hervorgehoben werden, daß die drei aus jedem der Schieberegister 87i88, 89 erhaltenen Bits den neun Bits Uq bis UQ aus Fig. 3a entsprechen und daß die in Pig. 4 dargestellten Registerausgangsanschlüsse 66 und 68 den durch die Auslöseeinrichtungen 95,94,95 bezeichneten letzten drei Bitpositionen dieser Register entsprechen.
Fig. 8b zeigt das oben stehend erwähnte M-Register 6o, das vorzugsweise ein einziges Schieberegister 97 zur Speicherung eines einzigen, ein bekanntes oder Maskenbild wiedergebenden Datenworts (Datenzeile) aufweist. Das Schieberegister 97 kann vom Speicher 21 aus über eine Pufferstuf'e 98 und einen Gatterschaltkreis 99 aus selektiv geladen werden. Die Daten im Schieberegister 97 können Bit für Bit durch ein über eine Leitung 1oo zugeführtes M-Schiebesignal verschoben werden; das Schieberegister ist so geschaltet, daß der Überlauf aus dem Ausschiebeende in das Einschiebeende des Registers rückführbar ist. Diese Ausführungsforia ermöglicht Zirkulieren der gespeicherten Maskenbilddaten in einer den unbekannten Bilddaten in den Schieberegistern 87,68,89 entsprechenden
A0981 3/0794
Weise. Da jedoch diese Baten typischerweise nicht mehr als einmal verwendet werden, bestellt eine Alternative einfach in der Unterdrückung der Daten des Überlaufs. Es soll hervorgehoben werden, daß der Ausgang der letzten Stufe des Schieberegisters 97 dem Ausgangsanschluss 64 in Fig. 4 entspricht und das in Fig. 3 dargestellteM-Bit abgibt.
Unter der Voraussetzung, daß die bekannten Bilddaten im Schieberegister 97 synchron mit den unbekannten Bilddaten in den Schieberegistern 87,83,89 zirkulieren, entspricht jedes aus dem Schieberegister 97 der bekannten Bilddaten ausgelesene Bit im allgemeinen in seiner lage innerhalb des jeweiligen Bilds der lage des entsprechenden 3x3-Blocks abgetasteter Daten innerhalb des unbekannten Bilds.
Es bleibt dem Fachmann überlassen, die Felder der Bilddaten auf jeder der beiden Achsen bei der gewünschten vorbestimmten Registrierung zwischen den unbekannten und Maskenbildern, abhängig von den entsprechenden Bildformaten, um einen vorbestimmten Betrag vor- und rückzuschieben. Da jedoch diese Erfordernisse von der speziellen Konstruktion und dem verwendeten Logiksystem abhängig sind, bzw. keinen Kernpunkt der Erläuterung dieser Erfindung bilden, sollen diese Änderungsmöglichkeiten auch nicht im einzelnen erläutert werden. Da das unbekannte Bild in jeweils drei binäre Wörter oder Zeilen der Bilddaten umfassenden Blöcken überprüft oder abgetastet wird, während das Maskenbild Bit für Bit innerhalb jedes Worts abgetastet wird, wird ein Vorversciiieben der unbekannten Bilddaten auf der Wortachse im allgemeinen vorzuziehen sein, so daß das momentan im Schieberegister 88 gespeicherte unbekannte Bildwort in seiner Lage innerhalb
A09813/0794
des gewünschten Bildformats der Lage des einzelnen Maskenworts im Schieberegister 97 entspricht. Dementsprechend ist auch ein Vorversefoieben der unbekannten Daten entlang der Bitachse vorzuziehen, so daß das mittlere Bit U8 des 3x3-Blocks der unbekannten Daten in seiner Lage innerhalb des gesamten Bilds der Lage des speziell abgetasteten M-Bits der bekannten Bilddaten entspricht. Dieses Vorverschieben v/ird vorzugsweise innerhalb der peripheren Apparate selbst und ohne Zwischenschaltung der ZVE 24 gesteuert, wobei die gewünschten Vorverschiebungsgrößen in den Parametern, wie z.B. die Differenz zwischen den Bitachsen-Koordinaten UBA und MBA im Parameterregister 54· gespeichert werden.
Da das unbekannte Bild in einem 3x3-Block abgetastet wird, während lediglich ein einziges Bit aus dem bekannten oder Maskenbild entnommen wird, gibt es dementsprechend eine "Grenze" von Abtastlagen des unbekannten Bilds innerhalb des gesamten Bilds für die es keine entsprechende Abtastlage des bekannten Bilds gibt. Diese Grenzenbits in der U-iTachbarschaft werden zweckmäßigerweise auf einen vorbestimmten V/ert, vorzugsweise "O" als "Hintergrunds"-Wert gesetzt.
Wenn die Datenfelder der bekannten und der unbekannten Bilder abgetastet werden, wird das von dem Ergebnisärt-Gatter 8o (Fig.4) abgegebene Ergebnissignal Bit für Bit einem Einzelwort-Schieberegister 1o1 (Fig.8c) zugeführt. Bei normalem Betrieb werden die im Schieberegister 1o1 gespeicherten Daten, auf ein über eine Leitung 1o2 zugeführtes R-Bit-Schiebesignal hin synchron mit den Zeilen der in den Schieberegistern 87,88,89 bzw. 97 gespeicherten unbekannten und bekannten Daten verschoben. Für jedes abgetastete Wort (Zeile) der bekannten und unbekannten
4098 1 3/079A
Daten wird eine entsprechende Zeile der Ergebnisbilddaten erzeugt und im Schieberegister 1 o1 gespeichert.
Die Daten des Schieberegisters 1o1 können, wie dargestellt, parallel auf ein zweites Ergebnisdatenregister 1 o3 übertragen werden, wobei die Daten dieses zweiten Ergebnisdatenregisters 1o3 synchron zu den Daten des Schieberegisters 1o1 verschoben werden. Nachdem ein erstes binäres Ergebniswort erzeugt und vom Schieberegister 1o1 auf das Ergebnisdatenregister 1o3 übertragen wurde, stehen somit Ergebnisbilddatenwörter paarweise zur Verfugung.
Das im Ergebnisdatenregister 1o3 gespeicherte binäre Wort wird, wie in Fig. 4 dargestellt, der Speicher- ' Sammelleitung 22 zugeführt. Wenn jede Zeile der Ergebnisdaten entsprechend einer gegebenen Zeile der unbekannten Daten vervollständigt ist, wird somit ein vorhergehendes Wort der Ergebnisbilddaten an einer durch die Ergebniswortadresse im Parameterregister 54 bestimmten Stelle im Speicher 21 gespeichert. Wird ein gesamtes unbekanntes Bild abgetastet, so wird ein entsprechend einer vorgewählten logischen Funktion auf das unbekannte Bild bezogenes Ergebnisbild aufgebaut und im Speicher 21 gespeichert. Zugriffseinrichtungen 1o4 und 1o5 rufen die letzten zwei Bits jedes der Register 1o1 und 1o3 ab und liefern das im Zusammenhang mit Fig. 3 erwähnte, aus den Bits RQ,R^,R„,Rg bestehende 2x2-Bit-Fenster; außerdem wird das BitRpabgerufen, das, zusammen mit RQ,R-, wie nachstehend noch erläutert wird, in der CWN-Betriebsart verwendet wird.
Obwohl die Schieberegisterausführungen der Register 62,6o und 82 (Fig. 4 und 8) aufgrund ihrer Einfachheit und
40981 3/079*
niedrigen Kosten vorteilhaft sind, soll doch hervorgehoben werden, daß die Register 62,60 und 82 unter dem Gesichtspunkt spezieller Vorteile unterschiedlich ausgeführt sein können. Z.B. wird in der Schieberegisterausführung nach Fig. 8 der Inhalt jedes der Register (36 Bits) einmal vollständig herumgaschoben, bevor ein nachfolgendes Wort in das Register eingebracht werden kann. Beim Register 62 sind also 36 Bit-Zeitintervalle der U-Schiebeimpulse erforderlich, um das Wort im Schieberegister 87 henimzuschieben, bevor es in das Schieberegister 88 übertragen und durch ein neues Wort ersetzt werden kann. Die Verarbeitungsgeschwindigkeit ist damit durch die lange der Schieberegister begrenzt. Da für manche Verarbeitungsaufgaben nur ein !Teil des 36 Bit-Worts erforderlich ist, kann durch Verwendung einer die interessierenden Abtastbits willkürlich abrufenden, in Fig. 9 dargestellten Ausführungsform die Gesamtverarbeitungsgeschwindigkeit erhöht werden.
Im einzelnen sind in Fig. 9 drei parallel ausgebende Register 87f,88» und 89' für Einzelwörter (36 Bits) dargestellt, die in ihrer Funktionsweise den drei oben stehend erläuterten Schieberegistern 87,88 und 89 der Fig. 8a entsprechen. In jedes der Begister 87',88',Sg1 können 36 Bits parallel geladen und parallel abgerufen werden. Wie in Fig. 8a wird das Eegister 87' der Fig.9 über die Speichersammelleitung 22 geladen. Das Register 88' wird parallel aus dem Register 87* geladen und dementsprechend wird das Register 89' parallel aus dem Register 88' geladen (die hierzu jeweils erforderlichen Einrichtungen sind nicln. dargestellt).
Im Gegensatz zur Ausführungsform nach -Fig. 8a, bei der
40981 3/0794
das Wort innerhalb jedes Registers vollständig umlaufen muß, bevor ein neues Wort in dieses Register übertragen werden kann, ermöglicht die Ausführungsform nach Fig. 9 den willkürlichen Zugriff zu Wortteilen. Dies hat zur Folge, daß die G-esamtverarbeitungszeit, anders als im Fall der Fig. 8a, bei dem sie vollständig unabhängig von der Bildgröße war, ungefähr proportional zur verarbeiteten Bildgröße ist.
Wie bereits bei der Beschreibung der Figuren 4 und 5 ausgeführt wurde, werden die Paraiaeterregister 54 mit zwei durch UBA und BTS bezeichnete sechs Bitgrößen geladen. Die Größe UBA bezeichnet im Speicher 21 eine Startbitposition, aus der ein unbekanntes Datenbit abgerufen wird. Die Größe.BTS bezeichnet die Anzahl der zu verarbeitenden Bits. Zur Erläuterung sei angenommen, daß ein vollständig zwischen den Bitpositionen 12 und 2o des unbekannten Datenworts enthaltenes kleines Bild verarbeitet werden soll. In dieser Situation erhält die Größe UBA, wie in Fig. 6 dargestellt ist, den Wert 12, d.h.daß das erste zu verarbeitende Bit das Bit 12 ist. Die Größe BTS erhält den Wert 9; es sind also insgesamt 9 Bits, d.h. die Bits 12 bis 2o zu verarbeiten. Durch Bestimmen der speziellen Teile der zu verarbeitenden unbekannten Datenwörter wird die Gesamtverarbeitungszeit etwa proportional zur Bildgröße; sie ist nicht mehr unabhängig von der Bildgröße wie im Fall der Schieberegister nach Fig. 8.
Um einen speziellen Teil des unbekannten Datenworts aus den Registern 87',8S1 und 89' der Fig. 9 abrufen zu können, sind an die Ausgänge der Register 87',88· und 89' parallel jeweils identische Mehrwegschalter (multiplexer)
409813/0794
1o8, 11o und 112 angeschlossen. Ϋ/le untenstehend noch näher erläutert wird, sprechen die Mehrwegschalter 1o8, 11o,112 beim Abrufen jeweils spezieller 3 Bits aus jedem der Register auf das Ausganges signal eines "1 aus 36" Dekodiernetzwerks 114 an.
Zum anfänglichen Speichern der Größen UBA und BTS sind Zähler 116 bzw. 118 vorgesehen. Im oben angeführten Beispiel würde die Größe UBA =12 aus dem bezeichneten Teil des Parameter-"°gisters 54* (Fig. 5) in den Zähler 116 übertragen wer ι. Dementspreeilend würde die Größe BTS = 9 aus dem hierfür vorgesehenen Feld des Parameterregisters 54g in den Zähler 118 übertragen werden. Zum Aufwärtsfortschalten des Zählers 116 und zum Abwärtsfortschalten des Zählers 118 ist eine Bitimpulsquelle 121 vorgesehen. Es wird solange aufwärts- bzw. abwärtsfortgeschaltet bis der Zähler 118 -einen Zählerstand Null erreicht hat, wobei der Zähler 116 alle infrage kommenden Bitzählungen durchlaufen hat. Zum Erfassen des Zählerinhalts Null im Zähler 118 ist ein Kull-Detektorkreis vorgesehen. Sobald der Zählerinhalt Null erfasst wird, verhindert ein Gatter 122 das weitere Portschalten des Zählers 116. Das Ausgangssignal des Zählers 116 wird dem Dekodiernetzwerk 114 zugeführt, das für jeden der 36 verschiedenen Zählungen des Zäklers 116 eine von 36 Ausgangsleitungen übertragungsfahig macht. Jede der 36 Ausgangsleitungen des Dekodiern-etzwerks 114 bewirkt das Abrufen eines unterschiedlichen 3-Bitsatzes aus den Registern 87f,88· und 89'.
Die Mehrwegschalter 1o8,11o und 112 sind, wie bereits erwähnt, identisch. Zur Vereinfachrang ist in Fig. 9 jedoch lediglich der Mehrwegschalter 11o im Detail dargestellt. Weiterhin dargestellt ist die Verbindung der Bitausgangs-
4Q98 1 3 / 0 79A
leitung "34" des Dekodiernetzwerks 114 mit internen Gattern des Mehrwegschalters 11o. Die dargestellte Zwischenverbindung ist typisch für alle anderen Zwischenverbindungen zwischen den Bitausgangsleitungen des Dekodiernetzwerks 114 und der Mehrwegschalter 1o8,11o,112.
Wie bereits im Zusammenhang mit Fig. 8a erläutert wurde, sollen jeweils drei benachbarte Bits gleichzeitig aus den Registern 87',88' und 89' abgerufen werden. Wird z.B. die Bitausgangsleitung 34 des Dekodiernetzwerks 114 erregt, so sollen die Bits 33»34 und 35 der Register 87',88' und 89' abgerufen werden. Hierzu ist der Ausgang jeder Stufe der Register mit drei getrennten UND-Gattern 122,124 und 126 verbunden. Die Ausgänge aller UND-Gatter 122 sind mit den Eingängen eines ODER-Gatters 128 verbunden. Dementsprechend sind die Ausgänge aller UND-Gatter 124 mit den Eingängen eines ODER-Gatters 13o und die Ausgänge aller UND-Gatter 126 rait den Eingängen eines ODER-Gatters 132 verbunden. Die Ausgänge der ODER-ffattei· 128,13o und 132 des auf das Register 88' ansprechenden Mehrwegschalters 11o liefern jeweils die Bits U^, Ug und U„, die der mittleren Spalte des in Fig. 3 dargestellten 3x3-Bitfensters entsprechen.
Wird eine Bit-Ausgangsleitung des Dekodiernetzwerks 114 erregt, so erregt sie ihrerseits ein mit den Ausgängen dreier benachbarter Stufen in jedem der drei Register 87',88' und 89' verbundenen UND-Gatter. Bei der in Fig.9 dargestellten typischen Zwischenverbindung wird, beim Erregen der Bitausgangsleitung 34 das der Stufe.35 zugeordnete UND-Gatter 126, das der Stufe 34 zugeordnete UND-Gatter 124 und das der Stufe 33 zugeordnete UND-Gatter 122 übertragungsfähig. Die Bits der Stufen 33,34?35 können damit die ODER-Gatter 128,13o und 132 passieren und bilden
40981 3/0794
- 3ο -
die Bits U7,Ug und U, des 3x3-Bitfensters nach Pig. 3. Wenn jeder 3-Bitsatz aus'den Registern 87',88',89' abgerufen wurde, wird der Zähler 116 aufv/ärtsfortgeschaltet und der Zähler 118 abwärtsfortgeschaltet bis der Zähler 118 den Zählerinhalt Null erreicht. Sobald dies geschieht, wird der Zählerinnalt der Register 87' und 88* jeweils parallel in die Register 88' und 89' übertragen und aus detfl Speicher 21 wird ein nachfolgendes Wort in das Register 87' eingebracht.
Die obenstehenden Erläuterungen zu Fig. 9 sollen hervorheben, daß die zur Verarbeitung der abgerufenen Bits der unbekannten Daten erforderliche Verarbeitungszeit proportional der Bildgröße und nicht unabhängig von der Bildgröße wie im Fall der Fig. 8a ist. Obwohl die Punktionsweise der Pig.-9 lediglich für das U-Register dargestellt wurde, versteht es sich von selbst, daß das M- und das R-Register 60 bzw. 82 der Pig. 4 entsprechend ausgeführt sein muß, wenn die Verarbeitungszeit verkürzt werden soll.
Im folgenden rollen anhand you Pig. 1o die Logiknetzwerke 7oj74j84 und .'2 der Pig. 4 näher erläutert werden. Wie bereits ausgeführt wurde, erzeugt das Korrelations-Logiknetzwerk 7o für jedes Bit der aus den im Register 62 gespeicherten unbekannten Daten entnommenen 3x3-Bitprobe ein Korrelationssignal.
Jedes Korrelationssignal ist eine vorgewählte logische Kombination oder Punk eion äea jeweiligen unbekannten Bildbits (Uq bis Ug) und ocs einzelnen oder gemeinschaftlichen bekannten Bildbits (M), wobei zur Erzeugung der jev^eiligen Korrelationssignale jeweils die gleiche Kombinationslogikfunktion für alle neun der unbekannten DaSenprobebits verwendet wird. Die speziell erzeugte Logik-Funktion wird
409 813/0794
durch einen binären Korrelationskode gesteuert, der einer der im Register 54o (Fig.5) gespeicherten Steuerparameter ist. Der Korrelationskode weist drei mit CTIM, CUN und CNM bezeichnete Steuerbits auf, die einer Korrelationslogikmatrix 2oo (Fig. 1oa) zuführbar sind. Das Ausgangssignal (ACC«) für jede der neun Positionen des 3x3-Probefelds, d..h. für N = O bis 8, kann wie folgt in Boole'scher Algebra ausgedrückt werden:
ACCn = CUM-Un-M + CUN-Un'1 + CNM«ÜN«M
Die Korrelationslogikmatrix 2oo ist damit im wesentliehen eine allgemein verwendbare Logikgattermatrix, die unter Steuerung durch den Korrelationskode sehr zweckmäßig Boole'sehe Kombinationen jedes unbekannten Bildbits und des gemeinsamen bekannten Bildbits durchführen kann.
Die neun von der Korrelationslogiksiatrix 2oo gelieferten Korrelationssignale schalten jeweils Zähler 2o2Q bis 2o2Q fort, wobei die von diesen Zählern, aufsummierten Zählungen entsprechend den unbekannten Probebits Uq bis Ug mit CCq bis CCg bezeichnet sind. Beim Abtasten der bekannten bzw. unbekannten Bilder geben die von den Zählern 2o2Q bis 2o2g aufsummierten Zählungen an, wie oft die spezielle vorgewählte logische Punktion für jede Bitposition innerhalb des Probeblocks eine logische "1" oder ein "Richtig"-Signal erzeugt hat. Auf diese Weise erhält man eine Korrelationsinformation, die den Zusammenhang des unbekannten Bilds(U) mit dem bekannten Bild (M) nicht nur für die Mittelposition, sondern auch für jede der acht verschobenen Positionen des Bilds angibt. Weiterhin kann die Grundlage ,auf der die Korrelation durchgeführt wird, durch den Programmierer des Rechners über die Wahl des Korrelationskodes flexibel variiert werden. Die gebräuch-
409813/079*
lichste Korrelationsart ist die der EXKLUSIV-ODER-Punktion, die durch Setzen von GUN und CNM erhalten wird. Es gilt:
© M
Die Zähler 2o2Q bis 2o2Q sind an die SpeicherSammelleitung 22 (Fig.4) angeschlossen; die aufsummierten Zählungen können somit, nachdem das gesamte Bild abgetastet wurde, in den Speicher 21 überführt werden; die Zähler können dann rückgestellt werden. Die BBV 26 weist weiterhin vorzugsweise eine Gattermatrix 2o4 auf, durch die derjenige der Zähler 2o2Q bis 2o2g bestimmt und identifiziert werden kann, der die größte Zählung aufsummiert hatte. Seine Bezeichnung wird über die Speichersammelleitung 22 ebenfalls dem Speicher 21 zugeführt und dort gespeichert, um nachfolgend in einem optischen Zeichenleseprogramm verarbeitet werden zu können und so die Position mit der besten Korrelation schnell identifizieren zu können.
Wie oben stehend erläutert,werden die neun U-Bits und das einzelne bekannte Datenbit (M) außerdem dem Ergebnislogikschaltkreis 74,76 zugeführt. Dieser Schaltkreis erzeugt ein Einzelbitausgangssignal R, das eine vorwählbare logische Kombination verschiedener zugeführter Signale, einschließlich der zehn unbekannten und bekannten Bilddatenproben Uq bis Ug und M, darstellt.
Wie untenstehend noch näher erläutert wird, kann das Ergebnisbild, abhängig von dem zur Erzeugung des R-Bitsignals verwendeten Verfahrens auch eine modifizierte oder verbesserte Version des ursprünglichen unbekannten Bilds
0 9 8 1 3/0794
sein. Da das Ergebnisbild normalerweise die gleiche relative Größe wie das ursprüngliche unbekannte Bild hat, soll hervorgehoben werden, daß das unbekannte Bild in Wirklichkeit auch verkleinert oder vergrößert werden kann, wenn das Abtasten der unbekannten und Ergebnis-Bilddatenfelder entlang einer oder beider Achsen asynchron und nicht synchron erfolgt. Wird das Ergebnisbild .schneller als das ursprüngliche unbekannte Bild abgetastet, so wird das Bild vergrößert, wobei ein gegebenes R-Bit in mehr als einer R-Registerstelle gespeichert wird, um die zusätzlich erforderliche binäre Information zu liefern. Dementsprechend kann das Bild verkleinert werden, indem das unbekannte Bild schneller als das Ergebnisbild verschoben wird, wobei die überzähligen R-Bits übergangen und nicht gespeichert werden.
Wie obenstehend erwähnt, besteht äer 3x3-Block der unbekannten Daten aus einem zentralen Bit U8 und acht benachbarten Bits Uq bis U7. Wie aus Fig. 1 ob hervorgeht, wird das zentrale Bit Ug bei der Erzeugung des Ergebnisbits Rg in Abhängigkeit der acht getrennt von UQ erzeugten benachbarten Bits UQ bis U7 bewertet. Die Verarbeitung der acht benachbarten Bits UQ bis U7 kann geeigneterweise als Erzeugung aufeinanderfolgender Sätze von Nachbarschaftssignalen aufgefasst werden, wobei die Funktionstransformation,durch die jeder aufeinanderfolgende Satz erzeugt wird, mit Hilfe eines entsprechenden Teils der im Register 54 gespeicherten Operationssteuerparameter erfolgt. Da die Konstruktion einer speziellen Logikmatrix, mit deren Hilfe ein definierten logischen Kombinationen gegebener Eingangssignale entsprechendes Ausgangssignal erzeugt werden kann, zum Grundwissen eines Fachmanns für digitale Logikschaltkreise gehört, sollen die verschiedenen zur Durchführung dieser
3/0794
!Transformationen herangezogenen logischen Matrizen nicht näher erläutert werden. Diese Matrizen lassen sich leichter in Form der durchzuführenden logischen Kombinationen als Boole'sehe Funktionen ausdrucken.
Bevor auf die Einzelheiten der Fig. 1 ob eingegangen
"51 2 werden soll, soll hervorgehoben werden, daß es 2.^ mögliche Funktionen einer 3x3-Nachbarschaft gibt. Um eine völlig allgemeine Funktion bezeichnen zu können, ist deshalb ein 512-Bitregister erforderlich, was hinsichtlich seiner Parameterladeaeit und der Kompliziertheit seines Aufbaus zu umfangreich wäre. Eine beträchtliche Verringerung der Steuerlogik läßt sich durch eine von der Behandlung seiner acht Nachbarn getrennte Behandlung des mittleren Bits UQ erreichen. Auf diese Weise kann man dann jede Funktion der 8-Bit-Nachbarschaft mit 256 Steuerbits bezeichnen. Die sich ergebende 1-Bit-Aussage kann dann mit dem U0-Bit in
2 durch ein 4-Bit-Register bezeichenbaren Möglichkeiten kombiniert werden. Diese 26o Bits sind jedoch noch immer zu zahlreich. In einer Ausfiihrungsform der Erfindung wird deshalb eine gedrängte aber wirkungsvolle Untergruppe dieser 2 ° Funktionen ausgewählt. Diese Untergruppe schließt eine allgemeine Form einer Nachbarschaftsmajoritätslogik ein. Die zugelassenen Funktionen beruhen auf der Wachbar schaftsdichte, oder 1 ser-Zählung der 8-Bit-Nachbarschaft und speziell modifizierten Formen hiervon.
Die U-Nachbarschaft (UQ bis U^) der Fig. 3 kann zu Anfang durch Substitution der drei entsprechenden Bits des vorher erzeugten Ergebnisworts, d.h. der BitsROQ bis RO2 an die Stelle der drei Bits UQ bis Up in der linken Spalte des 3x3-Felds, selektiv modifiziert werden.
409813/079A
Diese Substitution wird bei Vorliegen eines Steuerbits CWN in einer Logikmatrix 21 ο durchgeführt. Im folgenden soll das Feld der acht auf diese Weise erzeugten Signale als V-Naehbarschaft bezeichnet werden und einzelne mit Vq bis V7 bezeichnete Signale umfassen. Diese Signale sind in herkömmlicher Boole'scher Form entsprechend der untenstehenden Tabellei definiert. Die V-Naehbarschaft ist, wie hieraus zu ersehen ist, bei Fehlen des CWN-Steuerbits mit der ursprünglichen U-Naehbarschaft identisch.
Tabelle 1 cwn *
V0 = CWN · R0 + ÜWN -
V1 = CWN · R1 + cwl ·
V2 = CWN · R2 +
T4 = \
T6 - V
T- TI7
Ein als W-Nachbarschaft bezeichnetes Feld von acht Signalen wird auf folgende Art gebildet; Für jedes der geradzahligen V~Nachbarschaftesignale VQ, V2, V. und Vg wird in einer Logikmatrix 212 ein entsprechendes W-Nachbarschaftssignal erzeugt, das entweder mit dem entsprechenden V-Nachbarschaftssignal identisch ist, oder das eine vorbestimmte logische Kombination des entsprechenden V-Nachbarschaftssigrnals mit zwei seinen Nachbarn ist; es gilt also W^ = f(VN, Vn-1, V)
4098 1 3/0794
Die Auswahl wird mit Hilfe eines Operationssteuer— parataeterbits CDN durchgeführt. Die Logikmatrix 212 führt typischerv/eise die in den Tabellen 2 und 3 angegebenen Gleichungen aus:
Tabelle 2
W0 = (V0 +V7) · V^ CON + CON·V0
W2 = (V2 + V1 ) · V5" CON + CON-V2
W. = (V. + V5) · VT CON + CÖI*V
¥c = (V-; + Vc) ' VT CON + CON*VC
Die Tablle 2 definiert die zur Erzeugung der geradzahligen W-Nachbarschaftssignale erforderlichen Gleichungen.. Für Jedes der ungeradzahligen V-Nachbarschaftssignale V19V-,Vj- und V^ wird ebenso ein entsprechendes W-Nachbarschaftssignal erzeugt, das entweder mit dem entsprechenden V-Nachbarschaftssignal identisch ist, oder das eine etwas abweichende logische Funktion des entsprechenden V-Nachbarschaftssignals und zwei seiner Nachbarn darstellt. Die Auswahl ist wiederum eine Punktion des Steuerparameterbits CON. Diese vier Signale sind in der folgenden Tabelle 3 definiert.
Tabelle 3
W1 = (YZ + V0") · V1.CON + CON-V1 W, = Tj" + V2") · V5 CON + ΟΌΝ·ν5 W = (vT + VT) · V5 CON + ÜÜIT'V W? = (V5 + V6) · V7 CON + C0N«V7
40981 3/0794
Wie untenstehend noch näher erläutert wird, beruhen die speziellen logischen"Punktionen,durch die jedes V-Nachbarschaftssignal ersetzt werden kann, auf der Bestimmung der Euler'sehen Zusammenhangszahl des gesamten Bilds und der Auswirkung auf diese Zusammenhangszahl, die durch Ändern des zentralen Bits (Üq) in jeder gegebenen 3x3-Nachbarschafi (U bis TJ7) des unbekannten Bilds,herausgefunden werden kann. Dieser Effekt wird als "Euler1 sches Differential1' bezeichnet.
In einer Logikmatrix 214 wird ein Feld von acht X-NachbarSchaftssignalen durch Kombination der W-Nachbarschaftssignale mit zwei 8-Bit-Steiaerpararaetern NMT und NSL gebildet. Die einzelnen Bits ±n jedem dieser Parameter entsprechen jeweils einem der Nachbarschaftssignale, d.h. der Parameter NMT weist acht einzelne Bits NMT ^ für N=O bis 7 auf. Die X-Nachbarschaftssignale werden entsprechend der folgenden Boole1 fachen Beziehung erzeugt:
Xn = Wn . NSLn ©
in der das Symbol Q- die Exklusiv-©DER-Funktion darstellt.
Aus dieser Beziehung ist ersichtlich, daß durch Laden geeigneter Operationssteuerparametier in das Register 58 jedes Bit der Nachbarschaft entweder unabhängig von dem entsprechenden W-Nachbarschafüssignal auf einen gewünschten oder vorbestimmten Wert gesetzt werden kann, oder daß es eine ausgewählte Punktxon des entsprechenden W-Nachbarschaftssignals sein kann- Sind z.B. die NMT-Bits in einem speziell gewählten Muster gesetzt, und sind alle NSL-Bite Eins, so beruht die Zahl der im X-Nachbarschaftsfeld der Signale vorliegenden Einsen auf dem Ausmaß oder Grad der Übereinstimmung zwischen dem W-Nachbarschaftsfeld
409813/0794
und dem vorgewählten KMT-Bit-Muster. Dementsprechend können ausgewählte Bitstellungen wirksam ausgeschlossen werden, so daß z.B. nur die geradzahligen W-Nachbarschaftssignale ein ErgebnisMt in der X-Nachbarschaft erzeugen können.
Die Anzahl der in der X-Naohbarschaft vorliegenden Einsen wird in einem in Fig. 1 ob dargestellten Zähler 216 gezählt und die Zählung als 1-aus-9-Kode ausgelesen. Es werden mit anderen Worten neun Ausgangssignale (C0 bis CR) vorgesehen und es wird nur auf demjenigen Signalleiter eine "1" erzeugt, der dem Wert der Zählung, d.h. der _ Anzahl der im gesamten X-Nachbarschaftsfeld der Signale vorliegenden Einsen, entspricht. Die verbleibenden acht Signale sind "0". Die vom Zähler 216 abgegebenen neun Signale werden in einer Logikmätrix 218 mit einem 9-Bit-Operationssteuerparameter KTE entsprechend der folgenden Boole'sehen Punktion kombiniert und liefern ein als P-Bit bezeichnetes Einzelbitsignal.
P = C0 · IiTR0 + G1 · NTR1 + C2-NTR2 +...+Cq-NTRq
Hierbei sind NTRQ bis NTRQ die neun einzelnen Bits des Parameters NTR.
Da der 1-aus-9-Kode die Anzahl der "Einsen" in der X-Nachbarschaft wiedergibt, kann der 9-Bit-Steuerparameter NTH eine Schwellwertoperation bezüglich dieser Anzahl ausführen. Wenn alle NTR-Bits, die Werten unterhalb des gewählten Schwellwerts entsprechen, auf "0" und die anderen NTR-Bits auf "1" gesetzt werden, so wird das P-Bit nur dann zu "1", wenn die Anzahl der "Einsen" der X-Naehbarschaft über dem Schwellwert liegt. Da jedoch der NTR-Parameter mit einem Satz Signale aus einem
409313/0794
1-aus-9-Kocle kombiniert wird, katro über das P-Bit ebenso anzeigt werden, ob die Anzahl der Einsen in der X-Naehbarschaft irgendeine aus einer Vielzahl willkürlich gewählter diskreter Werte ist. Wie untenstehend noch näher erläutert wird, ist diese Eigenschaft bei der Bestimmung verschiedener Zusammenhänge bei der Bildanalyse und Modifizierung von Nutzen.
Das P-Bit wird dann in einer Logifematrix 22o mit dem abgetasteten Masken- oder bekannten -Bit (M) und mit' dem zentralen Bit des unbekannten Prüfblocks (Ug) kombiniert, wobei die Logikmatrix 22o das R-Bit entsprechend der folgenden Boole'sehen Gleichung erzeugt:
R8 = UQH5»BSLA ο U
BSL2
BSI,
+ UDMP* »BSLC ο b
+ U0MP-BSL7
Hierbei bedeuten BSL bis BSL7 die einzelnen Bits eines allgemein mit BSL bezeichneten 8-Bit-0perationssteuer-
parameters. Da BSL 2 mögliche Zustände einnehmen kann, können alle 2 möglichen Boole'sehen Punktionen von Ug, M und P erzeugt werden. Das R-Bit -wird dann, wie in Pig. 4 dargestellt, dem Register 82 zugeführt. Das R-Bit ist mit Rgbezeichnet, um anzuzeigen, daß es in der binären Betriebsart in seiner Stellung normalerweise
40981 3/0794
dem zentralen Bit Uß der U-Nachbarschaft (Fig.3) entspricht. Da die Konstruktion einer Logikmatrix, die die in den Tabellen 1,2,3 und 4 definierten verschiedenen Signalkombinationen und die P- und R-Signale erzeugen kann, von der Art des verwendeten kompatiblen elektronischen Logiksystems abhängt, soll die spezielle Konstruktion, wie bereits erläutert wurde, nicht näher dargestellt .werden.
Als Beispiel einer Nachbarschaftsverarbeitung soll eine Bildreinigung angeführt werden, bei der gestreute Einsen entfernt werden sollen. Dies bedeutet, daß das Ergebnisbit R8 außer für U8 = 1 , gleich U8 ist und 7 oder 8 Null-Nachbarn hat. Zuerst wird P = 1 gesetzt für diejenigen Zellen, die 0 bis 6 Einser-Nachbarn haben, indem NTR0 =...= NTR6 = 1 gesetzt wird, (oktal: NTR = 774). Als nächstes ist R = Ug*P erforderlich; dies erhält man durch BSL,. = BSL^7 = 1. (oktal: BSL =5). In diesem Beispiel ist, wie in den meisten Anwendungsfallen, CWN = CON = NMT = O und NSL =11111111(377 oktal).
Zusätzlich zur Erzeugung und Speicherung des Ergebnisbilds kann die BBY 26 außerdem gewisse Eigenschaften des Ergebnisbilds analysieren oder messen, indem sie gleichzeitig mit der Erzeugung des Ergebnisbilds einen in Fig. 3 dargestellten und aus 4 Bits Rq>R-i >R7 "und R8 bestehenden Block von Prüfdaten untersucht. Der hierbei erhaltene 4-Bit-Block der Prüfdaten wird dem eine Logikmatrix 23o (Fig.io) aufweisenden Ergebnisanalysenetzwerk 84 zugeführt, das 5 Ausgangssignale ARQ1, ARQ2, ARQ,, ARQ-, und ARAR entsprechend den in Tabelle 4 angegebenen Boole'sehen Punktionen aus den vier Probebits erzeugt.
Λ098 1 3/0794
!Tabelle 4
-B0S1 R7
+ E0 E1 R7
+ E0 E1 E7
0 R1 R7
ARQ2 = R0 R1 R7 E8
+ R0 R1 R7 R8
+ R0 R1 R7 R8
+ R0 R1 R7 R8
ARQ5 = R0 R1 R7 \
+ R0 R1 R7 R8
+ R0 R1 R7 R8
+ R0 R1 R7 R8
AHQ4 = R0 R1 R7 R8
ARAR = R8
Diese Signale werden jeweils Zählern 232-j bis 232j- zugeführt, deren Zählung angibt, wieoft eine "1" im jeweiligen Signal beim Abtasten des gesamten Bilds auftritt. Die Erzeugung einer "1" in einem der Signale ARQ-j, ARQo» ARQ-z ARQ. zeigt das Auftreten eines jeweils zugeordneten Datenmustertyps im 2x2-Bit-Probeblock an. Diese von den Zählern 2321 bis 232,- aufsummierten Zählungen können
409813/0794
deshalb in einer halbgraphischen Form nach Tabelle 5 dargestellt werden.
Tabelle 5
+ n(J°) + n(°°) RQ2 = n(°°) + nig]) + n(JJ) + n(]°)
Aus dem Vorstehenden wir deutlich, daß die vom ersten Zähler 232., auf summierte Zählung die Anzahl der im Ergebnisbild auftretenden "Außenecken" anzeigt, daß die vom zweiten Zähler 232? aufsummierte Zählung (RQ2) die Anzahl der im Ergebnisbild gefundenen Einheiten an "Seitenkanten"darstellt, daß die dem dritten Zähler 232-z auf summierte Zählung (RQ,) die Anzahl der im ErgebnisTsild auftretenden "Innenecken" anzeigt, und daß die vom vierten Zähler 232. aufsummierte Zählung (RQ^) die Anzahl der im Ergebnisbild auftretenden "geschlossenen Blöcke" anzeigt. Die im letzten Zähler 232^ aufsummierte Zählung (RAR) stellt lediglich die gesamte Anzahl der im gesamten Ergebnisbild auftretenden "Einsen" oder Bildpunkte dar. Pig. 7 zeigt die Werte der Ergebniszählungen RAR und RQ^ bis RQ, für das dargestellte Ergebnisbild.
Die verschiedenen, in den Zählern 232., bis 232^ auf-
4098 1 3/0794
summierten Zählungen werden an die Speichersammelleitung 22 abgegeben und zur späteren Verwendung bei der Durchführung der Bildanalyse durch die ZVE 24 im Speicher 21 gespeichert. Dies, soll nachstehend noch näher erläutert werden. Zusätzlich zu den mehr direkt gemessenen Größen RQ1, RQ?» ^v ^U un(^· ^-^ kann eine weitere Größe RQD definiert werden, die die Anzahl "diagonaler Verbindungen" wiedergibt. Es ergibt sich:
RQD = ηφ +n(J°)
Diese Größe kann aus der folgenden Beziehung gewonnen werden.
RAR = R0-1 + R0-2 + RQ]D + 3RQ3 +
RQ>
Bei der Berechnung der Zählungen RQ-j ,..., RQ^, werden zweckraäßigerweise die an der Kante des R-Felds liegenden 2x2-Blöcke eingeschlossen. Y/enn nicht alle vier Bits des Blocks innerhalb des momentanen R-Pelds liegen, werden die verbleibenden Bits gleich einem Operationssteuerbit ROT gesetzt. Die Anzahl der gezählten 2x2-Blöcke ist damit (BTS+1)«(WDS+1 ).
Eine zusätzliche Größe RQQ kann als
RQ0 = n(°°)
definiert werden. Sie kann indirekt wie folgt berechnet werden:
RQ0 + RQ1 + RQ2 + RQD + RQ3 + RQ4 = (BTS+1 )· (WDS+1)
4098 13/0794
Die Ergebnisanalyselogik 84 und äie Ergebniszähler 86 weisen weiterhin vorzugsweise nicht dargestellte Übergangszähler auf, die zwei mit WZS und ZWT bezeichnete Zählungen durchführen. Wenn die Bildverarbeitung vollständig ist und das gesamte Ergebnisbild erzeugt wurde, definiert die Zählung WZT die Wortachsenkoordinate der ersten unmittelbar auf eine Spalte mit nicht nur Nullen folgende Spalte mit nur Nullen. Sementsprechend definiert die Zählung ZV/T die erste Spalte mit nur Nullen auf die unmittelbar eine Spalte mit nicht nur Nullen folgt. Diese Übergangszähler werden insbesondere bei der optischen Zeichenerkennung verwendet. In derartigen Anv/endungsfallen enthält das Ergebnisbild oftmals mehrere gedruckte Zeichen, deren Bitachse der vertikalen Richtung einer gedruckten Seite und deren Wortachse der horizontalen Richtung einer gedruckten Zeile entspricht. Die Übergangszähler werden zweckmäßig zum Peststellen des Anfangs und des Endes der Zeichen herangezogen.
Beispiele und Anwenüungsformen
Die obenstehende Beschreibung bezog sich hauptsächlich auf die Gestaltung und Konstruktion der erfindungsgemäßen Anordnung und weniger auf Ausführungsbeispiele, die die Verwendbarkeit dieser Anordnung demonstrieren. Obgleich die Verwendbarkeit der von der beschriebenen Anordnung gelieferten Information bei der Identifizierung, Verarbeitung und Analyse binär zugefiihrter Bilder für Fachleute auf dem Gebiet der Iopologie,des optischen Zeichenlesens und der Bildanalyse offensichtlich ist, soll der Nutzen dieser Anordnung und ihre bevorzugte Betriebsart anhand von Beispielen der Bildverarbeitung erläutert werden.
40981 3/0794
Eine der einfacheren aber gebräuchlicheren Punktionen der dargestellten Anoränung ist die Identifizierung unbekannter Bilder bezogen auf bekannte Bilder oder Masken. Die bekannten Bilder können im Speicher als Bezugsbild gespeichert v/erden. Bäe bekannten und unbekannten Bilder werden direkt verglichen, wenn die Felder der die einzelnen geeignet abgetastet und orientierten Zeichen, etwa gedruckte Suchstaben oder Zahlen wiedergebenden binären Daten an jeweils diskreten Stellen des Speichers gespeichert sind. Ein individuelles, ein unbekanntes Bild wiedergebendes Datenfeld kann dann durch die Register 87,38,89 (Fig.8a) synchron zur Abtastung der ein ausgewähltes Bild oder eine Maske wiedergebenden Daten durch das Register 97 abgetastet werden. Der Zähler 2o2 (Fig.io) wird dann auf Zählungen fortgeschaltet, die den Korrelationsgrad zwischen den bekannten und den unbekannten Bildern für jeweils verschobene oder unverschobene relative Positionen wiedergeben. Eine unter einem gewissen Pegel liegende, auf einer Exklusiv-ODER-Korrelation beruhende Fehlanpassungszählung Scann dann als Angleichung akzeptiert werden, oder es kann eine Serie von Masken durchlaufen werden, wobei die beste erhaltene Korrelationszählung zur Anzeige einer akzeptierbaren Angleichung herangezogen werden kann. Es versteht sich, daß unter der Steuerung des Rechnerprogramms eine voraussagende Analyse eines Worts oder eines Satzes die zuerst auszuprobierende Maske bestimmt werden kann, um so auf einer statistischen Grundlage die Anzahl der auszuprobierenden Masken zu verringern.
Da jedes Bit des das bekannte BiXd wiedergebenden
40981 3/0794
Datenfelds nicht nur mit dem zentralen oder Haupfbit (Uo) des 3x3-I)rüfblocks der unbekannten Daten verglichen wird, sondern auch mit jedem seiner acht unmittelbaren Nachbarn (XJq bis U^), deren einzelne Korrelationen unabhängig voneinander erhalten v/erden,erhält tnav nicht nur Korrelationszählungen für vermutlich ausgerichtete Lagen zweier zu vergleichender Bilder, sondern auch für acht seitlich verschobene lagen. Hierdurch kann die Registrierung überprüft werden, und, falls notwendig, können Korrekturmaßnahmen durchgeführt werden. Derartige Korrekturmaßnahmen können entweder über das die binären das Bild wiedergebenden Daten liefernde ursprüngliche Abtastverfahren, oder mit Hilfe eines weiteren BBV-Korrelationsdurchgangs durchgeführt werden, v/obei zwar das gleiche unbekannte Bild und die gleiche Maske verwendet wird, jedoch zum Beispiel UWA und UBA geringfügig geändert und hierdurch eine unterschiedliche Lage von U relativ zu M bewirkt wird.
Wie bereits erwähnt, kann das während des Abtastens des unbekannten Bilds erzeugte und gespeicherte Ergebnisbild eine verbesserte Version des ursprünglichen unbekannten Bilds sein. Damit können die Eigenschaften des ursprünglichen unbekannten Bilds durch Analyse des Ergebnisbilds bestimmt werden. Durch geeignete Wahl der Ergebniskodeparameter kann, falls gewünscht, auch Identität zwischen dem Ergebnisbild und dem ursprünglichen unbekannten Bild hergestellt werden.
Die Länge des Umfangs eines gegebenen Ergebnisbilds kann auf folgende Weise erhalten v/erden. Da der RC^- Zähler (Fig.Tod) jedesmal fortgeschaltet wird, wenn eine 2x2-Nachbarschaft festgestellt wird, die zwei
4098 1 3/0794
unmittelbar benachbarte Einsen in einem keine weiteren Einsen enthaltenden Feld aufweist, kann jede Einheit im RQ2-Zähler als eine Einheit des Umfangs angesehen werden. Der RQ--Zähler wird jedesmal fortgeschaltet, wenn eine 2x2-Hachbarschaft mit lediglich einer einzigen Eins auftritt. Da die einzige Eins notwendigerweise an einer von drei Nullen umgebenen Ecke des 2x2-Pelds liegt, bildet der Umfang notwendigerweise an dieser Stelle eine Ecke. Als geeigneter wirksamer Beitrag zum Umfang kann die Diagonale über das einzelne Bit, d.h. 1 Ein-
heiten des Umfangs angesehen werden. Ebenso kann der den RQ-z-Zähler fortschaltende Typ einer 2x2-Hachbarschaft als Ecke des Bilds angesehen werden; damit kann jedes Portschalten der Zählung des RQ,,-Zählers ebenfalls als
1
Beitrag von ' Einheiten zum gesamten Umfang angesehen
v2
werden. Die gesamte Länge des Umfangs eines Bildes (P) kann deshalb durch Berechnen der Größe P=RQP +RQi
s/2 bestimmt werden. Diese Bestimmung kann mit Hilfe der allgemeinen Rechenfähigkeiten des Rechners 11 erfolgen. Besteht das gegebene Ergebnisbild im Gegensatz zu einer großen Menge von "Einsen" oder Bildpunkten, aus Zeilen, so kann eine mittlere Zeilenlänge (L^) in erster Näherung gleich der halben Umfangslänge, d.h. Lt= P gesetzt werden
Während die Zähler RQ1, RQ2, BQ, und RQ. die Frequenz anzeigen, mit der verschiedene Muster in dem aus dem Ergebnisbild entnommenen 2x2-Datenblock auftreten, gibt die vom RAR-Zähler gelieferte Zählung lediglich die gesamte Anzahl an Einsen des Ergebnisbilds an. Diese Zählung kann damit als Gesamtgewicht oder "auf Masse" des Bilds angesehen-werden. Hat man die mittlere Zeilenlänge eines Bilds sowie seine Masse, so kann eine mittlere Zeilenbreite W in einer ersten Näherung durch
09 813/0794
Dividieren der RAR-Zählung durch die mittlere Zeilenlänge erhalten v/erden. Eine Möglichkeit, ein Bild danach zu bewerten, ob es für Zwecke optischen Zeichenlesens, d.h. zum Vergleich mit Masken, geeignet ist, besteht in der Bewertung der mittleren Zeilendicke. Pur einen gegebenen Satz von Masken sollte die mittlere Zeilendicke, um zufriedenstellende Korrelationsergebnisse erhalten zu können, zwischen vorbestimmbaren Grenzen liegen.
Eine weitere Verwendung der vom Zähler 232 (Pig.io) gemessenen Größen ist die Bestimmung der relativen Anzahl an Körpern (B) und Löchern (H) eines gegebenen Bilds. Bei Durchführung einer derartigen Analyse ist die Beachtung des Umfangsverlaufs jedes Körpers im Uhrzeigersinn von Nutzen, wobei jeder Körper und jedes Loch durch quadratische Elemente des Ergebnisbilds gebildet wird. Aus den quasi grafischen Definitionen der zum Portschalten des Zählers 232 in Tabelle 5 gegebenen Definitionen ist ersichtlich, daß der RQ*-Zähler bei jeder Rechtswendung beim Durchlaufen des Umfangs im Uhrzeigersinn fortgeschaltet wird, und daß der RQ^-Zähler für jede■Linkswendung beim Durchlaufen des Umfangs im Uhrzeigersinn einmal fortgeschaltet wird. Unter Durchlaufendes Umfangs im Uhrzeigersinn soll verstanden werden, daß das Innere des Umfangs beim Durchlaufen rechts liegt. Bei einem einen einzigen Körper umgebenden geschlossenen Umfang ist damit die Anzahl der Rechtswendungen um vier größer als die Anzahl der Linkswendungen, d.h. mit anderen Worten, für den Außenumfang eines einzigen Körpers gilt RQ1=RQ,+4. Entsprechend gilt für den Umfang eines einzigen Lochs RQ =RQ., +4. Da die von den Zählern 232 gelieferten
3 ·
Zählungen jedoch nicht von sich aus entweder die absolute Zahl der Körper (B) oder der Löcher (H) eines Bild definieren, wird die im folgenden als wEulerfsche Zahl" E benannte Größe B-H wie folgt definiert: E=B-H=—
09813/0794
Diese und entsprechende Formeln werden in S.B.Gray "Local Properties of Binary Images in Two Dimensions" , IEEE Transactions on Computers, May 1971 streng abge-. leitet.
Ein Weg, auf dem man abschätzen kann, ob sich ein Bild zur Korrelation mit einer Reihe von Masken zu Zwecken optischen Zeichenlesens eignet, besteht in der Berechnung der Euler·sehen Zahl B-H. Liegt die Euler'sehe Zahl z.B. zwischen -2 und +3, so deutet dies mit ziemlicher Wahrscheinlichkeit darauf hin, daß das Datenfeld ein gutes Einzelzeichenbild darstellt. Liegt die Euler'sehe Zahl andererseits außerhalb dieser Grenzen, so zeigt diese Information üblicherweise an, daß das Bild unvollständig ist, oder daß es eine Anzahl zusätzlicher Flecke ("Rauschen") enthält und daß es, um die Wahrscheinlichkeit einer richtigen Identifizierung zu erhöhen, weiterentwickelt, verfeinert oder abgeändert werden sollte.
Ein weiteres "Rauschen" des Bilds anzeigendes Maß ist ein üblicherweise großer Wert von RQD. Da diese Größe ein Maß "diagonaler Berührungspunkte" oder "beinahe zustande gekommener Berührungspunkte" ist, wird diese Größe bei einer großen Anzahl kleiner, dicht benachbarter Teilbereiche sehr groß werden. Bei Durchführung einer ersten, bzw. einer Versuchsabtastung eines Bilds zeigt damit ein hoher Wert dieser Größe an, daß die Abtastung mit einer zu geringen Auflösung erfolgte; die Abtastung also Abstände zwischen Bildeleraenten nicht richtig auflösen konnte.
In Fig. 11 ist ein Grautonbild eines typischen menschlichen Chromosoms dargestellt, das optisch in ein
t* 0 9 8 1 3 / 0 7 9
binäres Bild umgewandelt werden soll. Die dick ausgezogene "6" bezeichnet Punkte mit einer Dichte (Graupegel) von sechs Einheiten oder mehr; "5" bezeichnet Punkte mit der Dichte 5 oder mehr, jedoch weniger als 6. Entsprechendes gilt für die anderen Zahlen; die Punkte bezeichnen Stellen mit einer Dichte größer als O.
Bei der Verarbeitung des Bilds nach Pig. 11 würde die BBV 26 üblicherweise zuerst in der Dichtebetriebsart betrieben werden ,um das Grautonbild in ein binäres Bild umzuwandeln. Im allgemeinen werden,wie in Tabelle 6 angegeben, unterschiedliche Sehwellwerte verwendet, wobei jeder . der unterschiedlichen Schwellwerte ein unterschiedliches Ergebnisbild erzeugt. Wenn jedes Ergebnisbild erzeugt wurde, wird es einer 2x2-lTachbarschaftsanalyse unterworfen, wobei die Ergebniszählungen RAR und RQ- bis RQ, erzeugt werden. Die Ergebnissählungen für jedes Ergebnisbild werden im Speicher gespeichert und ermöglichen die Berechnung, der abgeleiteten Parameter E (Euler'sehe ■Zahl), L-r (Zeilenlänge) und Ü7 (mittlere Zeilenbreite) durch die ZVE 25. Die ZVE 24 kann damit die in Tabelle dargestellten Daten erzeugen und speichern.
Tabelle 6
Schwellwert Fläche Zeilenlänge mittlere
Zeilenbreite
Euler'sehe
Zahl
O 456 1o2 4.5 15
1 242 58 4.2 1.0
2 176 57 3.1 0.5
3 113 56 2.0 3.5 ■
4 79 47 1.7 5.5
VJl 34 32 1.1 6.5
6 5 7 0.7 5.0
4098 1 3/0794
Nachdem die ZVE 24 die Daten der Tabelle 6 berechnet hat, führt sie einen "Zweckmäßigkeitstest" durch und bestimmt hierdurch den geeignetsten Schwellwert. Der .Zweckmäßigkeitstest wird durch ein geeignet formuliertes Programm definiert, das unter Verwendung der in geeigneter Weise gewichteten Werte aus Tabelle 6 einen Güte- bzw, Zweckmäßigkeitsfalttor berechnet. Pur ein annehmbares Objekt wird ein geeigneter Schwellwert durch eine beinahe den Wert UuIl einnehmende Euler'sehe Zahl, eine entsprechend der Art des Bilds und dem Maßstab der Abtastung geeignet angepasste Zeilenbreite und durch eine Zeilenlänge gekennzeichnet, die vom Schwellwert nur wenig beeinflussbar ist. In Tabelle würde der Zweckmäßigkeitstest z.B. den Schwellwert Null aufgrund einer übermäßig hohen Euler'sehen Zahl ausschließen, da diese möglicherweise ^rein gutes Bild eines einzelnen Chromosoms charakterisiert. Die Schwellwerte 3 und darüber haben ebenfalls au hohe Euljr'sche Zahlen; weiterhin sind die zugehörigen Zeilenbreiten für den bekannten Maßstab eines Chromosoms und den zum Abtasten verwendeten bekannten Maßstab nicht geeignet. Der Zweckmäßigkeitstest würde also anzeigen, daß die Schwellwerte 1 oder 2 zu einem höchstwahrscheinlich eine gute Darstellung eines Chromosoms ergebenden binären Bild führen würden.
Das unbekannte Bild wird unter der Steuerung des die Erzeugung des R-Bit-Signals (d.h. Rg in Pig.1 ob) bestimmenden Ergebniskode abgeändert, wobei das R-Bit-Signal seinerseits das Ergebnisbild bestimmt. Eine mögliche Abänderung des unbekannten Bilds besteht in der Erzeugung eines Ergebnisbilds, bei dem Teile des Bilds verbreitert, d.h. in Wirklichkeit "verschmiert", wurden. Wie bereits erwähnt, kann die X-Nachbarschaft (Fig. 1ob) durch den
409813/0794
Einser-Zähler 218 und die Logikmatrix 22o durch. Schwellwerte bewertet werden; das P-Bit ist damit immer dann eine "1", wenn die X-Fachbarschaft mehr als eine vorbestimmte Anzahl an Einsen enthält. Indem Identität zwischen der X-Nachbarschaft und der ursprünglichen unbekannten Kachbarschaft herbeigeführt wird, weiterhin ein relativ niedriger Sehwellwert festgesetzt wird und indem das eigentliche P-Bit als R-Bit verwendet wird, kann ein Ergebnisbild erzeugt werden, dessen Bildelemente wirksam verbreitert oder verschmiert sind. Ist ein Bild durch kleine Kicken aufgeteilt, so können diese Lücken durch Verbreiterung geschlossen und die Anzahl der vorliegenden Körper wesentlich verringert werden. Entsprechend können die Bildelemente auch dünner gemacht oder verringert werden, indem ein relativ hoher Schwellwert festgesetzt wird. Wie jedoch untenstehend noch näher erläutert werden soll, kann zum Dünnermachen von Bildkomponenten oder Linien auch eine andere Methode angewandt werden, wobei diese andere Methode in den meisten Fällen bevorzugt wird.
Bei einem in Echtzeit arbeitenden optischen Zeichenlesesystem, d.h. bei einer im wesentlichen gleichzeitig mit der Bildabtastung erfolgenden Zeichenerkennung und Analyse, kann die Möglichkeit das Bild zu verschmieren auch zur Erkennung einer Seitenkante oder einer Zeile innerhalb einer Seite verwendet werden. Bei einer derartigen Betriebsweise erfolgt die Abtastung über ein relativ großes Feld hin, so daß eine die Fläche eines einzelnen Zeichens wesentlich übersteigende Fläche abgetastet wird. Durch Verwendung der eben beschriebenen Schmiertechnik ist es möglich, eine Zeichenzeile als
-40981 3/0794
ausgefüllter Balken erscheinen zu lassen, obwohl der eigentliche Abtaster scharf fokusiert ist. Die BBV 26 kann also mit anderen Worten eine nichtfokusierte Abtastung simulieren. Da (Sie BBV 26 weiterhin mit der Geschwindigkeit der Elektronik arbeitet, kann diese Änderung des Bilds bei Verwendung der BBV 26 schneller durchgeführt werden, aXs es durch entsprechende Steuerung des Betriebs, d.h. der Fokusierung, des optischen Abtasters möglich wäre.
Wie bereits erwähnt, kann die die W-Naehbarschaft (Pig. 1ob) bildende Gruppe von Signalen unter Steuerung des Operationssteuerbits CON selektiv abgeändert werden. Hierdurch können Punktionen gebildet werden, die zur Bestimmung des Euler · sehenDifferentials ΔΕ herangezogen werden können. Das Euler 'sehe Differential ΔΕ ist die Änderung der Euler1sehen Zahl des Bilds, die bei einer Änderung des zentralen Bits Ug von Hull auf Eins auftritt, Die Zusammenhangszahl des Bilds kann auf zwei verschiedenen Wegen einschließlich eines dritten Wegs, der eine Kombination der ersten beiden darstellt, gebildet werden. Bei einer 2x2-Nachbarschaft nach Eig. 3b, die zwei lediglich an einer Ecke sich berührende "Einsen" aufweist, kann die Zusammenhangszahl des diesen Block enthaltenden Bilds in einer ersten Art so definiert werden, als ob die beiden "Einsen-* zusammenhängen wurden. Diese erste Art soll im folgenden als W-Typ der Euler1 sehen oder Zusammenhangs-Zahl bezeichnet werden. Sieht man die "Nullen" als miteinander verbunden an, wobei die "Einsen" dann nicht miteinander verbunden sind, so wird diese zweite Art der Zusammenhangszahl willkürlich als "Z-Typ" der Euler1sehen bzw. Zusammenhangs-Zahl bezeichnet. In beiden Fällen wird jedoch die Euler1 sehe bzw. Zusammenhangs-Zahl (E) für die obenstehend mit Bezug auf die Zähler 1o1 bis 1o5 der Ergebnisbildeigen-
409813/0794
schäften definierte Größe B-H genommen. Um unterscheiden zu können, welche Art der Zusammenhangszahl gemeint ist, v/erden geeignete Indizes verwendet, d.h. E für W-Iype der Zusammenhangs zahl und E53 für den Z-Typ»
Die Auswirkung, die jedes ausgewählte zentrale Probebit TJg auf die Zusammenhangszahl eines Bilds haben kann, ist alsAE (Euler'sches Differential) definiert. ΔΕ ist die Differenz zwischen der sich für ein zentrales Bit = 1(E-) ergebenden Zusammenhangszahl und der für ein zentrales Bit = 0 (Eq) ergebenden Zusammenhangszahl. Porme!mäßig ausgedrückt bedeutet dies:
Δ E = E1 - E0
Zusätzliche Indizes können zur Bezeichnung des Z-Typs oder des W-Typs der Zusammenhangszahl verwendet werden.
Es kann mathematisch gezeigt werden, daß ΔΕ und ΔΕ lediglich gewisse diskrete V/erte, d.h. -3, -2, -1,0 und +1 einnehmen können. Es kann weiterhin gezeigt werden, daß die Auswirkung (ΔΕ) die ein gegebenes zentrales Bit Ug auf die Zusammenhangs zahl des gesamten Bilds aus der 8-Bit Ü-Nachbarschaft (UQ bis U7) allein, d.h. ohne Berücksichtigung des eigentlichen zentralen Bits, bestimmt werden kann. Dies ergibt sich aus der Überlegung, daß das zentrale Bit möglicher Bestandteil jeder der vier 2x2-Nachbarschaften sein kann. Zur Bestimmung von ΔΕ für eine gegebene U-Nachbarschaft wird die W-Nachbarschaft in der Zusammenhangs-Betriebsart erzeugt, d.h. der Operationssteuerpararaeter COIi wird auf "1" gesetzt und die NMQi-und NSL-Parameter werden so ausgewählt, daß, wie bereits beschrieben, lediglich die geradzahligen X-NachbarSchaftspositionen ϋβ,υρ,υ. und
409813/0794
TJg wirksam sind. Es kann dann mathematisch nachgewiesen werden (siehe S.B. Gray, "Local Properties of Binary Images in Two Dimensions", IEEE Transactions· on Computers, May 1971)» daß die durch den Einser-Zähler 94 bestimmte Zählung gleich 1 - AEW ist. Mit Hilfe der 9-Bit-Steuergröße NTR kann dann bestimmt werden, ob der so erzeugte δE -Werf ein Wert aus einem spezifischen Wertesatz oder irgendein von Null verschiedener Wert ist. Dementsprechend kann auch ein P-Bit erzeugt werden. Die Bildung des Ergebnisbilds wird damit je nach dem beeinflusst, ob jedes einzelne zentrale Probebit Ug den W-Typ der Zusammenhangszahl des Bilds auf spezielle Weise beeinflussen kann.
Wenn die Auswirkung des zentralen Bits auf den Z-Typ' der Zusammenhangszahl bestimmt werden soll, so werden die NMT- und NSL-Parameter so ausgewählt, daß lediglich die ungeradzahligen X-Nachbarschaftspositionen X^ ,X^,X,- und X7 wirksam v/erden. Es kann gezeigt werden, daß die durch den Einser-Zähler 218 bestimmte Zählung gleich 1 -ΔΕΖ ist.
Da das P-Bit als Punktion der Auswirkung, die das zentrale Bit Uq auf die Zusammenhangszahl haben kann, steuerbar ist, und da jedes Ergebnisbit als beliebige Funktion des P-Bits beeinflusst werden kann, kann ein Ergebnisbild erzeugt werden, das dem ursprünglichen unbekannten Bild entspricht, wobei jedoch alle nicht die Zusammenhangszahl des gesamten Bilds betreffenden Bits entfernt wurden. Wie Fachleuten auf dem Gebiet der Topologie verständlich sein wird, bewirkt das Entfernen der nicht die Zusammenhangszahl des Bilds beeinflussenden Bits ein Dünnerwerden der Linien eines Linienbilds, ohne jedoch irgendwelche Linien zu unterbrechen, da das Entfernen irgendeines eine Unter-
-4098 1 3/0794
brechung einer Linie bewirkendem Bits die Euler1sehe Zahl ändern würde und damit ein von Null verschiedenes Euler1sches Differential ergeben, würde. Durch wiederholtes Erzeugen von Ergebnisbiläern in der hier beschriebenen Weise und durch Verwendung jedes Ergebnisbilds als nächstes unbekanntes Bild, kann ein Mnienbild schrittweise verfeinert werden bis jede der zum Bild beitragenden Linien nur noch ein einziges Bit breit ist. Wie bereits beschrieben, kann zur Bestimmung der allgemeinen Auswirkung dieser Behandlung auf das zu verarbeitende Bild die mittlere Linienbreite berechnet werden.
In Pig. 12a ist als Beispiel die Anwendung zur optischen Zeichenerkennung dargestellt. Pig. 12a zeigt in vereinfachter Form ein allgemeines Problem, bei dem zwei benachbarte gedruckte Zeichen sich zwar überlappen, aber nicht berühren. Es muß nun einerseits erfasst werden, daß sie sich nicht berühren, und andererseits muß das Bild des T (Spalten O bis 7) so dem nachfolgenden Korrelationsprozess zugeführt werden, daß die zum A gehörenden Bits entfernt worden sind,und umgekehrt.
Der mit "a" zu bezeichnende erste Durchgang der BBY 26 führt eine von links nach rechts gerichtete Skelettieroperation im gesamten Bild (Spalten 0-14) durch. Durch Anwendung des Betriebsartbits CON können Bits mit einem Euler1sehen Differential = 0 herausgefunden und entfernt werden. Die Anwendung des Betriebsartbits CWN führt dazu, daß die linksseitigen Nachbarn jedes Bits (die Zahlen 0,1 und 2 in Fig.3) aus dem neuen bzw. Ergebnisfeld und nicht aus dem ungeänderten unbekannten Feld entnommen werden. Es soll hervorgehoben werden, daß zwei benachbarte Bits, wie z.B. die an den Koordinaten 65
4098 13/0 7 94
und 75 (Reihe - Spalte) jeweils für sieh entfernbar sind, ohne daß der Zusammehang unterbrochen wird, daß aber, wenn sie zusammen entfernt werden, die Zusammenhangszahl (des T in diesem Fall) geändert werden kann. Aus diesem Grund können im ersten Durchgang der BBV 26 lediglich Bits aus den Reihen O, 2, 4,und 6 entfernt werden. Wie bereits erwähnt, können die Register NSL und NTR so eingestellt werden, daß das P-Bit in jeder nicht z.B. zur V/-Zusammenhangszahl des Felds beitragenden Speicherzelle = 1 ist. Um lediglich in den geradzahligen Reihen Bits in einem einzigen Durchgang entfernen zu können, wird im Speicher ein einziges Wort erzeugt, das nur Einsen in den Bits 0, 2, 4, 6, 8 usw. aufweist. Der Parameter MWA wird gleich der Adresse dieses Worts gesetzt und das Betriebsartbit SMW wird so gewählt, daß es eine wiederholte Verwendung dieses einzigen' Worts ermöglicht. Nun kann BSL auf denjenigen Wert eingestellt werden, der die Nullen in U in Mullen in R transformiert und der Einsen in U in Nullen in R transformiert, wenn M=1 und P=1 ist. Weitere einzustellende Steuerparameter von Bedeutung sind: UWA, der auf die erste dargestellte Adresse (Bildspalte) hinweisen muß; RWA, der gleich TJWA sein kann, oder der auf einen anderen "Arbeitsspeicher" im Speicher hinweisen soll; und BTS und WDS, die in diesem Beispiel gleich 8 bzw. 15 sein können.
Nachdem die geeigneten Parameter eingestellt wurden, beginnt die eigentliche Bildverarbeitung "a" von links nach rechts. Die Eins im Speicherplatz 60 ist in einer geradzahligen Reihe und hat ein W-Differential gleich Null; sie wird also zurückgestellt. Dies wird durch den Buchstaben "a" bezeichnet. Als nächstes wird das Bit
A09813/0794
im Speicherplatz 61 zurückgestellt; diesem folgt 62. Der Speicherplatz 63 hat ebenfalls ein W-Differential gleich Null, da sein linker Nachbar, in der GWN-Betriebsart, 62 ist, der bereits zurückgestellt wurde. In dieser Spalte werden außerdem die Bits 03, 23 und zurückgestellt. In der nächsten Spalte können die Bits 24 und 44 nicht ohne W-Unterbreclmng zurückgestellt werden; beim Speicherplatz 64 ist dies hingegen möglich, da die W-Zusämmenhangszahl des Zeichens durch die Eckverbindung 54-65 bewahrt wird.
Nach Beendigung des Durchgangs "a" wird mit dem Ergebnis von 11A" der Durchgang "b" durchgeführt. Dieser ist identisch, wobei jedoch lediglich, in ungeradzahligen Reihen gelegene Bits entsandt werden können. Dies kann entweder durch geeignete Änderung von BSL oder dadurch geschehen, daß MBA=I gesetzt wird, was zu einer Folge von M—Bits gleich 0, 1 , 0, 1 , usw. anstelle von 1,0, 1, 0, ... führt. Damit werden "b" Bits entfernt. Es ist ersichtlich, daß das auf diese Art erzeugte "additives Skelett" mit dem Original topologisch identisch ist, insoweit als die Zusammenhangszahl jedes Zeichens wie auch die dazwischen liegende Ungleichmäßigkeit beibehalten wurde. Die Ungleichmäßigkeit ist jedoch nun breiter und enthält nur Nullen aufweisende Wörter. Die im Skelett von den Durchgängen "a" und "b" verbleibenden Bits sind in Fig. 12b durch querschraffierte Quadrate dargestellt.
Nach dem Durchgang "b" enthält dae Register WZT für den ersten nicht Null auf Null-Übergang die Zahl 7, die in Wirklichkeit das Ende des skelettierten "T" darstellt. Dieser Wert für WZO? zeigt der ZVE 24 an, daß das Bild einen sogenannten "Weißkanal" aufweist, der sich vom oberen bis zum unteren Ende erstreckt. Die ZVE weiß dann,
09813/0794
wie unten beschrieben wird, daß die Zeichen getrennt werden können, berechnet einige Adressen und startet die BBV erneut. Nun wird ein mit 11C" bezeichneter dritter Durchgang durchgeführt, der bei der durch WZT bezeichneten Koordinate beginnt und nach links ausgeführt wird. Dieser Durchgang wird das Skelett des T von rechts nach links in schneller, linienfächerförmiger Weise additiv wachsen und sich ausbreiten lassen, wobei gleichzeitig dieses wachsende Muster mit dem ursprünglichen Feld UND-verknüpft wird. Die Parameter werden wie folgt festgesetzt: WA zeigt die Spalte 7 des aus dem Durchgang b sich ergebenden Felds an; HWA zeigt ein "Start"-Feld (scratch) des Speichers an; 39WA zeigt die Spalte 7 des ursprünglichen Felds an; NSL wird so eingestellt, daß alle acht Nachbarn ausgewählt werden können; NMT=O; NTR wird so eingestellt, daß P jedesmal zu Eins wird, wenn die Nachbarschaft eine oder mehrere Einsen enthält; BSL wird so eingestellt, daß E=1 wird, wenn M(ü+P)=1 ist; durch PUW=PMW=PRW=I wird eine Rückwärt sverarbeitung entlang der Y/ortachse bewirkt? und CWN=I führt dazu, daß die infolge PUW=I rechts von U0 liegenden Nachbarn 0, 1, und 2 aus dem neuen bzw.
Ergebnisfeld kommen.
Das erste Wort, das nach dem Starten der Bildverarbeitung die zentrale Position der U-Logik besetzen soll, ist in Fig. 12b mit 7 bezeichnet. Die Zellen 67,77 und 87 haben wenigstens einen Nachbarn und erzeugen drei entsprechende P=1-Bits; die Boolesche Funktion M(ü+P) wird damit für die Zellen 67 und 77 erfüllt. Hinzugefügte Bits sind mit "G" bezeichnet. Die Verarbeitung wird für die Spalten 6, 5, 4 und 3 fortgesetzt. Die Zelle 73 hat bei den Unbekannten keine Nachbarn, da jedoch. CWN=I ist, bewirken die Zellen 64 und 74, daß die Nach-
40981 3/0794
- 6ο
2340537
barschaft von 75 nicht unbesetzt bleibt. Am Ende des Durchgangs C enthält das Ergebnisfeld das gesamte flTH-Zeichen ohne fehlerhafte oder fehlende Bits. Dieses Feld wird dann dem Erkennungsverfahren unterworfen. Hierauf folgend wird das 11A" durch einfaches Exklusiv-ODER-Verknüpfen des isolierten "T" mit dem ursprünglichen Feld abgetrennt. KA" wird abschließend durch ein übliches Verfahren erkannt.
Es soll hervorgehoben werden, daß auch andere Beziehungen als die in den Tabellen 2 und 5 gezeigten Beziehungen zwischen W und 7 definiert werden können, um das Rg-Bit (Fig.io) erzeugen zu können:
V1) T5)
W0 = V0 " κ con .
W2..= Y2 - ι- CON .
Λ - V4 - l· CON .
W6 = V6 H h CON .
W1 = V1
X - V5
W7 = V7
+ v
Es kann dann mathematisch gezeigt werden, daß, wenn CON=I, NSL=377 und NMT=I25 (Komplementierender Nachbarn W-j ,W,,W5>W„) ist, die vom Einserzähler 218 bestimmte und |X| bezeichnete Zählung gleich 5 - ΔΕ ist.
Die sechs NachbarschaftszeIlen sollen für das hexagonale
4098 13/0794
Gitter im Uhrzeigersinn mit UQ, TJ1,..., U5 beziffert werden. Die gewünschte' Nachbarschaftstransformation wird dann
W0 = V0 (CON + Y7) W1 = Y1 (CON + V0) W2 = V2 (CON + V1) W5 = V5 (ÜÖN +V2) W4 = V4 (CON + V5) W5 = V5 (CÖN + V4) W6 = V6 (CÖN + V5) W7 = V7 (CON + V6)
Wenn ΔΕ die durch eine Änderung der zentralen Zelle IL-von O auf 1 bewirkte Änderung der Euler1sehen Zahl des Bilds für CON=I ist, kann gezeigt werden, daß gilt
ΔΕ = 1 - |x|
Hierbei ist |x| die vom Schaltkreis 218 gezählte Anzahl der Einsen in der X-Nachbarschaft.
Eine entsprechende Nachbarschaftstransformation ist für ein aus dicht gepackten gleichseitigen Dreiecken bestehendes Gitter möglich.
Die Zusammenhangsbetriebsart ist weiterhin zur Bestimmung derjenigen Punkte nützlich, an denen sich Linien kreuzen oder treffen. Nachdem ein Linienbild so verdünnt wurde, daß alle Linien im wesentlichen nur noch ein einziges Bit breit sind, kann der Punkt, an dem sich zwei Linien
40981 3/0794
kreuzen, leicht identifiziert werden, da für diesen Punkt ΔΕ gleich -3 ist. Wenn eine Zeile lediglich auf eine andere trifft, d.h., wenn ein T-förmiger Kreuzungspunkt gebildet wird, so wird ΔΕ gleich -2. Wurde ein Linienbild so verdünnt, daß alle Linien lediglich ein Bit breit sind, so können die Endpunkte dieser Linien leicht identifiziert werden, da dies die einzigen Bits sind, deren ΔΕ-Wert gleich Null ist. Einem Fachmann auf dem Gebiet der Topologie und des optischen Zeichenlesens ist damit klar, daß diese eine Art Merkmalsextraktion darstellende Information bei der Charakterisierung und Analyse unbekannter Bilder äußerst nützlich ist. Bildpunkte mit speziellen Δ E-Werten können durch Auswahl des NTR-Parameters identifiziert werden, womit lediglich für die dem gewünschten ΔΕ-Wert entsprechende Einser-Zählung ein P-Bit erzeugt wird.
Die Analyse und Charakterisierung von Bildern kann nicht nur zur optischen Zeichenlesezwecken, für die reine Korrelation mit Masken ungeeignet ist, herangesogen werden, sondern diese Analysearten können auch auf anderen Gebieten verwendet werden. Z.B. ist bei der Analyse von Konstruktionszeichnungen zur Faksimile-Übertragung ohne hoch redundantes Abtasten einer redundanten Information die Bestimmung der Endpunkte und Kreuzungspunkte verschiedener Linienabschnitte äußerst vorteilhaft, wenn diese Linienabschnitte so definiert werden sollen, daß die nach der Übertragung ohne ein herkömmliches, hoch auflösendes Abtastverfahren neu gebildet werden können.
Die Verwendung speziellen Zwecken dienender Masken oder bekannter Bilder zur Abänderung oder Analyse eines unbe-
40981 3/0794
kannten Bilds wurde bereits in dieser Beschreibung kurz erwähnt. Bei einer speziell verwendbaren, speziellen Zwecken dienenden Maske ist die Dichte entlang einer oder der anderen der beiden Achsen abgestuft; diese Maske weist eine sehr dünne Verteilung der "Einsen"· entlang der einen Kante und eine sehr dichte Verteilung der "Einsen" entlang der anderen Kante auf, wobei die Dichte dazwischen linear abgestuft ist. Wenn ein derartiges Maskenbild mit dem unbekannten Bild korreiiert wird, so wird eine Korrelationszeilung erzeugt, die die Korrelation des Maskenbits mit dem als "gewichtete" Masse des Bilds auffassbaren Bit zählt. Mit anderen Worten bedeutet dies, daß der Beitrag der auf der dichten Seite des Maskenbilds liegenden Bereiche des unbekannten Bilds relativ größer sein wird, als der Beitrag der auf der hellen bzw. dünnen Seite des Maskenbilds liegenden Bereiche des unbekannten Bilds. Durch Dividieren der gewichteten Masse durch die Masse des ursprünglichen unbekannten Bilds, erhält man damit einen dem Teilabstand vom Schwerezentrum entlang der Achse der Maskenabstufung entsprechenden Wert.
Ist die Maske z.B. von links nach rechts" abgestuft, und ist die gewichtete Masse dividiert durch die ungewichtete Masse =0,6, so bedeutet dies, daß das SchwereZentrum des Bilds bei 3/5 der gesamten Bildbreite von links nach rechts liegt. Das SchwereZentrum entlang der anderen Achse kann auf entsprechende Weise bestimmt werden. Die Kenntnis des Schwerezentrums ist ein weiteres zur Identifizierung oder Analyse des unbekannten Bilds verwendbares Bit der Information, das herangezogen werden kann, wenn das unbekannte Bild · nicht lediglich mit vorbestimmten, bekannten Masken
4098 13/0794
korreliert werden kann. Diese Information kann weiterhin zur anfänglichen Zuordnung von unbekannten Bildern zu Masken dienen. Weiterhin kann der Korrelationszähler 2o2 zur Korrelation des unbekannten Bilds' mit sich selbst in jeder der acht verschobenen Stellungen herangezogen werden. Ϋ/enn das Ug-Bit, etwa durch Auswahl eines geeigneten Operationsparameters, anstelle des; M-Bits verwendet wird, so wird jeder der Hachbarschaftszähler 71-77 eine Zählung aufsummieren, die die Korrelation des unbekannten Bilds mit sich selbst führt. Eine entsprechend verschobene Stellung, d.h. ACC^ = 1V11E wieäergibt. Der letzte Zähler CCg summiert eine Zählung auf, die der Masse des Bilds, d.h. der gesamten Anzahl der "Einser" des gesamten Bilds gleich ist, da er das unbekannte Bild mit sich selbst korreliert. Wenn das Bild im wesentlichen aus vertikalen Linien besteht, werden die den vertikal verschobenen Stellungen entsprechenden Zählungen nur wenig vom Massewert abweichen, während sich die den horizontal verschobenen Stellungen entsprechenden Zählungen stark von diesem Wert unterscheiden werden. Diese Zähler können damit eine Information liefern, mit deren Hilfe das Programm bestimmen kann, ob die horizontale Kantenlänge des Bilds größer ist als die vertikale Kantenlänge und umgekehrt. Pur den einfachen PaIX, daß das Bild auf einer Seite einer diagonalen Linie nur aus "Einsen" und auf der anderen Seite nur aus "Nullen" besteht, können die Korrelationszähler eine den Winkel θ der Linie definierende Information entsprechend dem folgenden Zusammenhang liefern:
tan θ = CC8 - CoCj +
409813/0794
Diese Situation kann auftreten, wenn die Kante einer Seite abgetastet wird und die Orientierung der Seite bestimmt werden soll, um die Abtastung im Sinne einer gewünschten horizontalen Abtastachse korrigieren zu können.
Obwohl die verschiedenen Operationen der Bildtransfor~ mation und Abänderung sowie der Korrelation und Analyse , durch verschiedene herkömmliche Universalrechner aus- * geführt werden könnten, so würde doch das zur Erzeugung der gleichen Datenmenge erforderliche Programm viele iterative Schleifen benötigen. Die gesamte Durchführung wäre damit, verglichen mit der Durchführung durch die vorliegende Anordnung ziemlich langsam, da diese verschiedene Korrelationen und Ergebnisbildzeichenzählungen durchführt und gleichzeitig ein verfeinertes oder abgeändertes Irgebnisbild erzeugt und dadurch relativ schnell arbeitet. Bei Verwendung der erfindungsgemäßen Anordnung können damit Bilddaten mit einer die. Verwendung von in einem Speicher gespeicherten Masken ermöglichenden Geschwindigkeit verarbeitet werden,und es kann ein optisches Zeichenerkennungssystem in Echtzeit betrieben werden.
- Patentansprüche:
409813/0794

Claims (4)

  1. Ansprüche
    Anordnung zur Verarbeitung von in einem 3x3-DatenfeIdformat binärer Bits vorliegenden Bilddaten eines unbekannten Bilds, wobei eine zentrale Bitposition des Datenfelds mit Ug, eine Ecken-Bitposition mit Uq und Bitpositionen, die die zentrale Bitposition Uo aufeinanderfolgend entlang des Randes des Datenfelds umgeben mit U., bis U7 bezeichnet sind, gekennzeichnet durch. Logikschaltkreise (21o,212), die entsprechend den Zuständen der Bits in den Bitpositionen Uq bis U7 ein Bits WQ Ms W7 enthaltendes, zweites Datenfeld erzeugen, wobei die Bitpositionen der Bits WQ bis W7 des zweiten Datenfelds jeweils den Bitpositionen Uq bis U7 des Datenfelds entsprechen, durch Schaltkreise (214, 216), die auf das zweite Datenfeld ansprechen und eine quantitative Auswirkung Δ E auf eine Zusammenhangs zahl des Bilds für eine Zustandsänderung der zentralen Bitposition Ug ermitteln, durch eine Schwellwertschaltung (54^)f die einen Schwellwert festlegt, und durch eine Vergleioherschaltung (218), die die quantitative Auswirkung Δ E mit dem Schwellwert vergleicht.
  2. 2. Anordnung nach Anspruch 1, dadurch gekennzeichnet, daß die Logikschaltkreise (212) die Bits WQ bis W7 entsprechend folgenden Boole 'sehen Ausdrücken erzeugen:
    W0 = (V0 + V7) . V1 CON + CON . V0
    W1 = (V7 + V^) . V-, .CON + CON . V1
    W2 = (V2 + V1) . V^ CON + CON . V2
    W5 = (V\j + Vp . V5 .CON + CON . V5
    409813/07 94
    C0N
    ¥5 = ^3 + "^V *" V5 #C0N + ^ ' V5
    W6 = (V6 + V5) . V7 CON +"CÖI . V6
    w„ = (j +T-) . v„ .con +~cm . v_
    ι Ρ ο ι 7
  3. 3. Anordnung nach Anspruch 2, dadurch gekennzeichnet, daß die auf das zweite Datenfeld ansprechenden Schaltkreise (214,216) Schaltkreise (214) aufweisen,die ein Bits Xq bis X7 enthaltendes drittes Datenfeld erzeugen,wobei die Bitpositionen der Bits XQ bis X7 des dritten Datenfelds jeweils den Bitpositionen Wq bis W7 des zweiten Datenfelds entsprechen, und daß die das dritte Datenfeld erzeugenden Schaltkreise (214) durch ein acht Bit umfassendes Steuersignal (NSI) steuerbar sind, das die Übertragung von Bits des aweiten Datenfelds auf das dritte Datenfeld selektiv ermöglicht oder verhindert.
  4. 4. Anordnung nach Anspruch 3, dadurch gekennzeichnet, daß die das dritte Datenfeld erzeugenden Schaltkreise (214) die Bits X0 bis X7 entsprechend der Boole 'sehen Gleichung
    Xn = (Wn . NSLn ) Φ NMTn
    erzeugen, wobei NSL und NMT jeweils acht Bits umfassende Steuarsignale sind.
    5. Anordnung nach einem der Ansprüche 3 oder 4, dadurch gekennzeichnet, daß eine auf das dritte Datenfeld ansprechende Zählerschaltung (216) die Gesamtzahl an Bits eines gegebenen Zustande im dritten Datenfeld zählt und durch ihre Zählung die quantitative Auswirkung Δ Ε angibt.
    40981370794
    6. Anordnung nach Anspruch 5» dadurch gekennzeichnet, daß die Zählerschaltung (216) neun Ausgangsanschlüsse und einen Durchschaltekreis aufweist, der lediglich an dem der Zählung entsprechenden Ausgangsanschluß ein Durchschaltesignal abgibt, daß die Schwellwertschaltung (54* ) ein 9~Bit-Steuersignal (NTR) abgibt, und daß die Vergleicherschaltung (218) eine Logi-kschaltung aufweist, die die Signale an jedem der neun Ausgangsanschlüsse mit dem entsprechenden Bit des 9-Bit-Steuersignals (ETR) vergleicht.
    7. Anordnung nach einem der Ansprüche 5 oder 6, dadurch gekennzeichnet, daß die Vergleicherschaltung (218) ein Einzelbit-Signal P abgibt, dessen Zustand dem , Über- oder Unterschreiten des Schwellwerts (NTR) durch die Zählung der Zählerschaltung (216) entspricht.
    8. Anordnung nach einem der Ansprüche 1 bis 4, dadurch gekennzeichnet, daß die Vergleicherschaltung (218) ein Einzelbit-Signal P abgibt, dessen Zustand dem Über- oder Unterschreiten des Schwellwerts (NTR) durch die quantitative Auswirkung Δ Ε entspricht.
    9. Anordnung nach einem der Ansprüche 7 oder 8, dadurch gekennzeichnet, daß eine Logikschaltung (22o) das Einzelbit-Signal P logisch mit dem Bit der zentralen Bitposition Ug kombiniert und hierbei ein Ergebnisbit-Signal Rq erzeugt.
    1o. Anordnung nach einem der Ansprüche 8 oder 9» dadurch gekennzeichnet, daß Einrichtungen (82,84,86) vorgesehen sind, die entsprechend aufeinanderfolgend erzeugten Ergebnisbit-Signalen Rg ein Ergebnis-Datenfeld erzeugen.
    A0981 3/0794
    11. Anordnung nach Anspruch 1o, dadurch gekennzeichnet, daß ein Steuersignal CWN erzeugende Schaltkreise (54p) vorgesehen sind, und daß die das zweite Datenfeld erzeugenden Logikschaltkreise (21o,212Schaltkreise (21 ο) aufv/eisen, die entsprechend dem Steuersignal CWN selektiv die Bits in den Bitpositionen Uq bis TJ7 durch zuvor erzeugte Bits des Ergebnis-Datenfelds ersetzen.
    12. Anordnung nach einem der Ansprüche 1o oder 11, dadurch gekennzeichnet, daß eine Steuerschaltung (54-1) ein Vielfachbit-Steuersignal BSL erzeugt, und daß die das Ergebnisbit-Signal Rg erzeugende Logikschaltung (22o) entsprechend den verschiedenen Zuständen des Vielfachbit-Steuersignals BSL verschiedene logische Kombinationen mit dem Einzelbitsignal P ermöglicht.
    13. Anordnung, insbesondere nach einem der vorhergehenden Ansprüche, gekennzeichnet durch einen Speicher (21) mit einer Vielzahl von Wortplätzen, von denen jeder eine Vielzahl von Bitplätzen aufweist, durch eine Bildverarbeitungseinrichtung (26; 52,53,54) mit einem Befehlsadressenregister (52), einem Befehlsregister (53) und einer Vielzahl Parameterregister (54), durch Einrichtungen, die entsprechend der im Befehlsadressenregister (52) gespeicherten, einen der Wortplätze im Speicher (21) bezeichnenden Information aus diesem eine Befehlsinformation abrufen und in das Befehlsregister (53) einspeichern, durch Einrichtungen, die entsprechend der im Befehlsregister (53) gespeicherten Befehlsinformation eine Parameterinformation aus dein Speicher (21) abrufen und in das Parameterregister (54) einspeichern, wobei die Parameterinformation Wortplätze in dem Daten eines Datenfelds für ein
    4Q98 1 3/0794
    - 7ο -
    234Q597
    unbekanntes Bild und eines Datenfelds für ein Maskenbild speichernden Speicher (21) bestimmt, durch ein Register (62) für unbekannte Daten und ein Register (6o) für Maskendaten zur Speicherung der aus den durch die Parameterinformation bestimmten, die Daten der Datenfelder des unbekannten Bilds bzw. des Maskenbilds speichernden Wortplätzen abgerufenen unbekannten Daten bzw. Maskendaten, durch einen Vergleicher (42j72), der aufeinanderfolgend die Werte entsprechender Vielfachbit-Bytes der im Register (62) für unbekannte Daten und im Register (6o) für Maskendaten vergleicht und Ergebnisbits mit einem ersten Wert erzeugt, wenn der Wert des Bytes der unbekannten Daten größer ist als der des Bytes der Maskendaten, bzw. Ergebnisbit3 mit einem zweiten Wert erzeugt, wenn der Wert des Bytes der Maskendaten größer ist als der des Bytes der unbekannten Daten und durch Einrichtungen (8o,82) zum Einspeichern der Ergebnisbits im Speicher (21).
    14. Anordnung nach Anspruch 13» dadurch gekennzeichnet, daß die Parameterinformation eine Bitlängeninformation der Bytes enthält, und daß der Vergleicher (4-2; 72) hierauf anspricht.
    15. Anordnung nach einem der Ansprüche 13 oder 14, dadurch gekennzeichnet, daß die Parameterinformation eine einen Wortplatz im Speicher (21) bestimmende Ergebnisadresseninforraation enthält, und daß die Einrichtungen (8o,82) zum Einspeichern der Ergebnisbits im Speicher (21) auf die Ergebnisadresseninformation ansprechen.
    4098 1 3/0794
    16. Anordnung für eine auf.Maskenbilder bezogene Analyse unbekannter Bilder, wobei die unbekannten Bilder und die Maskenbilder jeweils durch Datenfelder von in Richtung einer ersten und einer zweiten Achse anordenbaren binären Daten dargestellt sind, mit einer Bildverarbeitungseinrichtung, insbesondere nach einem der vorhergehenden Ansprüche,gekennzeichnet durch eine Vielzahl jeweils eine Vielzahl von Bitstufen aufweisende Register (62;87,88,89) für Daten unbekannter Bilder, die aufeinanderfolgenden, entlang der ersten Achse beabstandeten Zeilen entsprechende Teile der unbekannten Daten speichern, durch ein eine Vielzahl von Bitstufen aufweisendes Register (6o;97) für Daten der· Maskenbilder, das die Maskendaten an Plätzen speichert, die innerhalb der jeweiligen Bilder einer einzigen Zeile der gespeicherten unbekannten Daten entsprechen, durch Zuführungsschaltungen (98,99»9o,9i), die dem Register (6o}97) für Daten der Maskenbilder und einem der Register (87) für Daten unbek nnter Bilder aufeinanderfolgende Zeilen der bekannten Daten bzw. der Maskendaten zuführen, und die jedem der anderen Register (88,89) für Daten unbekannter Bilder Daten aus einem in der R.eihe vorhergehenden Register (87,88) für Daten unbekannter Bilder zuführen, durch Schaltungen (114,116,118,12ο), die einen Bitstufensatz innerhalb der Vielzahl von Bitstufen der Register (62;87,88,89) für Daten unbekannter Bilder und innerhalb der Vielzahl der Bitstufen des Registers (6o;97) für.Daten der Maskenbilder festlegen, durch Abtastschaltungen (93,94-,95;1o8,11o,112) der Register (62; 87,88,89) für Daten unbekannter Bilder, die den darin festgelegten Bitstufensatz in aufeinanderfolgenden, aus Bitstufenteilsätzen gebildeten Blöcken abtasten
    4098 1 3/0 794
    und aus jedem Register (62; 87,88,89) aufeinanderfolgend Bitgruppen abrufen, durch eine Abtastschaltung (64) des Registers (6o;97) für Daten der Maskenbilder, die den darin festgelegten Bitstufenßatz Bit für Bit synchron zum Abtasten der Register (62;87,88,89) für Daten unbekannter Bilder abtasten, durch eine Korrelationsschaltung (7o;2oo), die eine Vielzahl von jeweils einem der Bitplätze innerhalb eines abgetasteten Blocks der unbekannten Daten zugeordnete Korrelationssignale erzeugt, wobei jedes der Korrelationssignale eine vorwählbare logische Funktion des jeweiligen Bits der unbekannten Daten im abgetasteten Block und des dem Platz des abgetasteten Blocks entsprechenden, einzelnen Bits der Daten des Maskenbildes.ist, durch jeweils einen von Korrelationssignalen fortschaltbaren Zähler (2o2) für jedes Korrelationssignal,und durch Ausleseeinrichtungen (2o4) zum Auslesen von Daten aus den Zählern (2o2), wobei die beim Abtasten eines Datenfelds unbekannter Daten aufsummierten Zählungen ein Maß der Ähnlichkeit zwischen den Maskenbildern und den unbekannten Bildern angeben.
    17. Anordnung, insbesondere nach einem der Ansprüche 1 bis 15, gekennzeichnet durch einen Speicher (21) mit einer Vielzahl von Wortplätzen, von denen jeder eine Vielzahl von Bitplätzen aufweist, durch eine Bildverarbeitungseinrichtung (26;52,53,54) mit einem Befehlsadressenregister (52), einem Befehlsregister (53) und einer Vielzahl Parameterregister (54), durch Einrichtungen, die entsprechend der im Befehlsadressenregister (52) gespeicherten, einen der Wortplätze im Speicher (21) bezeichnenden Information aus diesem eine Befehlsinformation abrufen und in das Befehls-
    4098 1 3/0794
    register (53) einspeichern, durch Einrichtungen, die entsprechend der im Befehlsregister (53) gespeicherten Befehlsinformation eine Parameterinformation aus dem Speicher (21) abrufen und in das Parameterregister (54) einspeichern, wobei die Parameterinformation Wortplätze in dem Daten eines Datenfelds für ein unbekanntes Bild und eines Datenfelds für ein Maskenbild speichernden Speicher (21) bestimmt, durch eine Registeranordnung (62) für unbekannte Daten und eine Registeranordnung (6o) für Maskendaten zur Speicherung der aus den durch die Parameterinformation bestimmten, die Daten der Datenfelder des unbekannten Bilds bzw. des Maskenbilds speichernden Wortplätzen abgerufenen unbekannten Daten bzw. Maskendaten, wobei die Registeranordnung (62) für unbekannte Daten eine Vielzahl von jeweils eine Vielzahl Bitstufen aufweisende Register (87,88,89) für unbekannte Daten enthält, welche eine Vielzahl Datenzeilen aus dem Datenfeld des unbekannten Bilds speichern, wobei die Registeranordnung (6o) für Maskendaten ein einziges, eine Vielzahl Bitstufen aufweisendes Register (97) für Maskendaten enthält, das eine einzige Datenzeile aus dem Datenfeld des Maskenbilds speichert, und wobei die Earameterinformation in den Bitstufen der Register (87,88,89) für unbekannte Daten und dem Register (97) für Maskendaten einen Bitstufensatz festlegt, durch Abtastschaltungen (93,94,95; 1o8,11o,112) der Registeranordnimg (62) für unbekannte Daten, die den darin festgelegten Bitstufensatz in aufeinanderfolgenden, jeweils Bitstufenteilsätze bildenden Blöcken abtasten und aus jedem Register aufeinanderfolgend Bitgruppen abrufen, durch. Abtastschaltungen (64) der Registeranordnung (6o) für Maskendaten, die den darin festgelegten Bitstufensatz Bit Tür Bit synchron zum Abtasten der Register (62) für unbekannte Daten abtasten,
    409813/0794
    durch eine Korrelationsschaltung (7o;2oo), die eine Vielzahl von jeweils einem der Bitplätze des abgetasteten Blocks der unbekannten Daten zugeordnete Korrelationssignale erzeugt, wobei jedes dieser Korrelationssignale eine vorwählbare Punktion der jeweiligen Bits der unbekannten Daten im abgetasteten Block und des dem Platz des abgetasteten Blocks entsprechenden einzelnen Bits der Maskendaten ist, durch jeweils einen vom Korrelationssignal fortschaltbaren Zähler (2o2) für jedes Korrelationssignal und durch Ausleseeinrichtungen (2o4) zum Auslesen von Daten aus den Zählern (2o2), wobei die beim Abtasten eines Datenfelds unbekannter Daten aufsummierten Zählungen ein Maß der Ähnlichkeit zwischen den Maskenbildern und den unbekannten Bildern liefern.
    18. Anordnung nach einem der Ansprüche 16 oder 17» dadurch gekennzeichnet, daß drei Register (87,88,89) für Daten unbekannter Bilder vorgesehen sind und die abgetasteten Blöcke jeweils drei Bits umfassen, wobei die in den Registern (87,88,89) für Daten unbekannter Bilder jeweils abgetasteten Daten mit Uq,U^,Up und U^,Ug,U~, und Ug,U ,U. und das im Register (97) für Daten der Maskenbilder mit M bezeichnet sind, und daß die Korrelationsschaltung (2oo) entsprechend dem Boole'sehen Ausdruck
    ACCn=CUM*üjj· M + CUN'UjJM + CNM'Üjj'M für N = 0^8 Signale Δ CC^ACCg erzeugt, wobei CUM, CUN und CNM Steuerbitsignale sind.
    4 0 9 8 ■ 3 ■-' 0 7 9
DE19732340597 1970-06-22 1973-08-10 Bildverarbeitungsanordnung Withdrawn DE2340597A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US4812470A 1970-06-22 1970-06-22
US289326A US3905018A (en) 1970-06-22 1972-09-15 Binary image processor

Publications (1)

Publication Number Publication Date
DE2340597A1 true DE2340597A1 (de) 1974-03-28

Family

ID=26725811

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19732340597 Withdrawn DE2340597A1 (de) 1970-06-22 1973-08-10 Bildverarbeitungsanordnung

Country Status (6)

Country Link
US (2) US3706071A (de)
JP (1) JPS4966241A (de)
CA (1) CA1022680A (de)
DE (1) DE2340597A1 (de)
FR (1) FR2205225A5 (de)
GB (2) GB1353912A (de)

Families Citing this family (58)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3706071A (en) * 1970-06-22 1972-12-12 Information Int Inc Binary image processor
JPS5231134B2 (de) * 1972-01-24 1977-08-12
NL7201225A (de) * 1972-01-28 1973-07-31
JPS57546B2 (de) * 1974-03-14 1982-01-07
US3987410A (en) * 1974-06-24 1976-10-19 International Business Machines Corporation Array logic fabrication for use in pattern recognition equipments and the like
US3990045A (en) * 1974-06-24 1976-11-02 International Business Machines Corporation Array logic fabrication for use in pattern recognition equipments and the like
US3973243A (en) * 1974-10-15 1976-08-03 The Bendix Corporation Digital image processor
US3997719A (en) * 1975-03-19 1976-12-14 Bell Telephone Laboratories, Incorporated Bi-level display systems
JPS51112236A (en) * 1975-03-28 1976-10-04 Hitachi Ltd Shape position recognizer unit
FR2317645A1 (fr) * 1975-07-11 1977-02-04 Armines Appareil destine a analyser au moins un milieu heterogene bi ou tridimensionnel
GB1545117A (en) * 1976-05-25 1979-05-02 Nat Res Dev Comparison apparatus eg for use in character recognition
JPS5313840A (en) * 1976-07-23 1978-02-07 Hitachi Ltd Analogy calculator
US4322716A (en) * 1976-11-15 1982-03-30 Environmental Research Institute Of Michigan Method and apparatus for pattern recognition and detection
JPS5832434B2 (ja) * 1976-11-15 1983-07-13 富士通株式会社 認識装置
US4167728A (en) * 1976-11-15 1979-09-11 Environmental Research Institute Of Michigan Automatic image processor
US4174514A (en) * 1976-11-15 1979-11-13 Environmental Research Institute Of Michigan Parallel partitioned serial neighborhood processors
US4094000A (en) * 1976-12-16 1978-06-06 Atex, Incorporated Graphics display unit
US4149184A (en) * 1977-12-02 1979-04-10 International Business Machines Corporation Multi-color video display systems using more than one signal source
US4244029A (en) * 1977-12-12 1981-01-06 Goodyear Aerospace Corporation Digital video correlator
SE412966B (sv) * 1978-01-20 1980-03-24 Danielsson Per Erik Anordning for kontroll av avstand mellan objekt i en tvadimensionell diskretiserad bild
DE2813157C2 (de) * 1978-03-25 1988-08-18 Dornier Gmbh, 7990 Friedrichshafen Gerät zur selbsttätigen, lageunabhängigen Mustererkennung
DE2903855A1 (de) * 1979-02-01 1980-08-14 Bloss Werner H Prof Dr Ing Verfahren zum automatischen markieren von zellen und bestimmung der merkmale von zellen aus zytologischen abstrichpraeparaten
US4288782A (en) * 1979-08-24 1981-09-08 Compression Labs, Inc. High speed character matcher and method
US4301443A (en) * 1979-09-10 1981-11-17 Environmental Research Institute Of Michigan Bit enable circuitry for an image analyzer system
US4464788A (en) * 1979-09-10 1984-08-07 Environmental Research Institute Of Michigan Dynamic data correction generator for an image analyzer system
US4442543A (en) * 1979-09-10 1984-04-10 Environmental Research Institute Bit enable circuitry for an image analyzer system
US4290049A (en) * 1979-09-10 1981-09-15 Environmental Research Institute Of Michigan Dynamic data correction generator for an image analyzer system
US4369430A (en) * 1980-05-19 1983-01-18 Environmental Research Institute Of Michigan Image analyzer with cyclical neighborhood processing pipeline
US4395697A (en) * 1980-08-15 1983-07-26 Environmental Research Institute Of Michigan Off-image detection circuit for an image analyzer
US4395698A (en) * 1980-08-15 1983-07-26 Environmental Research Institute Of Michigan Neighborhood transformation logic circuitry for an image analyzer system
US4395700A (en) * 1980-08-15 1983-07-26 Environmental Research Institute Of Michigan Image analyzer with variable line storage
US4398176A (en) * 1980-08-15 1983-08-09 Environmental Research Institute Of Michigan Image analyzer with common data/instruction bus
US4499595A (en) * 1981-10-01 1985-02-12 General Electric Co. System and method for pattern recognition
JPS58139241A (ja) * 1982-02-10 1983-08-18 Toshiba Corp 画像メモリアクセス方式
US4493105A (en) * 1982-03-31 1985-01-08 General Electric Company Method and apparatus for visual image processing
US4490848A (en) * 1982-03-31 1984-12-25 General Electric Company Method and apparatus for sorting corner points in a visual image processing system
JPS5979349A (ja) * 1982-10-29 1984-05-08 Toshiba Corp 演算装置
US4700401A (en) * 1983-02-28 1987-10-13 Dest Corporation Method and apparatus for character recognition employing a dead-band correlator
JPS60159973A (ja) * 1984-01-31 1985-08-21 Toshiba Corp 画像処理装置
JPS6112188A (ja) * 1984-06-27 1986-01-20 Hitachi Ltd 走査形表示画像を検出する装置および方法
JPS61107477A (ja) * 1984-10-30 1986-05-26 Toshiba Corp イメ−ジデ−タ処理装置
US4728925A (en) * 1985-07-03 1988-03-01 Tektronix, Inc. Data communications analyzer
US5222159A (en) * 1985-07-19 1993-06-22 Canon Kabushiki Kaisha Image processing method and apparatus for extracting a portion of image data
JPS6254373A (ja) * 1985-09-02 1987-03-10 Minolta Camera Co Ltd 画像処理装置
US4791675A (en) * 1985-12-31 1988-12-13 Schlumberger Systems And Services, Inc. VSP Connectivity pattern recognition system
US5046190A (en) * 1988-09-06 1991-09-03 Allen-Bradley Company, Inc. Pipeline image processor
JPH03174684A (ja) * 1989-12-02 1991-07-29 Ezel Inc ナンバープレート認識装置
US5796410A (en) * 1990-06-12 1998-08-18 Lucent Technologies Inc. Generation and use of defective images in image analysis
US5231663A (en) * 1991-03-18 1993-07-27 Earl Joseph G Image processing system
JPH07117498B2 (ja) * 1991-12-11 1995-12-18 インターナショナル・ビジネス・マシーンズ・コーポレイション 検査システム
US5392360A (en) * 1993-04-28 1995-02-21 International Business Machines Corporation Method and apparatus for inspection of matched substrate heatsink and hat assemblies
US6685832B2 (en) * 1995-08-11 2004-02-03 Zenon Environmental Inc. Method of potting hollow fiber membranes
GB2305798B (en) * 1995-09-28 1999-10-20 Sony Uk Ltd Spatial frequency-domain video signal processing
US6393154B1 (en) 1999-11-18 2002-05-21 Quikcat.Com, Inc. Method and apparatus for digital image compression using a dynamical system
US7027649B1 (en) * 2000-11-27 2006-04-11 Intel Corporation Computing the Euler number of a binary image
US7917906B2 (en) * 2004-07-02 2011-03-29 Seagate Technology Llc Resource allocation in a computer-based system
US8947736B2 (en) * 2010-11-15 2015-02-03 Konica Minolta Laboratory U.S.A., Inc. Method for binarizing scanned document images containing gray or light colored text printed with halftone pattern
US9319556B2 (en) 2011-08-31 2016-04-19 Konica Minolta Laboratory U.S.A., Inc. Method and apparatus for authenticating printed documents that contains both dark and halftone text

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
NL274810A (de) * 1961-02-16
DE1250166B (de) * 1962-05-21 1967-09-14 International Business Machines Corporation Armonk, NY (V St A) Vorrichtung zur maschinellen Zeichen erkennung
US3384875A (en) * 1965-09-27 1968-05-21 Ibm Reference selection apparatus for cross correlation
US3434109A (en) * 1966-06-01 1969-03-18 Cutler Hammer Inc Multifield comparator adjustable to compare any combinations of fields and to provide selectable bases of comparison
US3576534A (en) * 1969-08-11 1971-04-27 Compuscan Inc Image cross correlator
US3573730A (en) * 1969-10-15 1971-04-06 Ibm Stored logic recognition device
US3706071A (en) * 1970-06-22 1972-12-12 Information Int Inc Binary image processor

Also Published As

Publication number Publication date
US3905018A (en) 1975-09-09
GB1394326A (en) 1975-05-14
JPS4966241A (de) 1974-06-27
FR2205225A5 (de) 1974-05-24
US3706071A (en) 1972-12-12
CA1022680A (en) 1977-12-13
GB1353912A (en) 1974-05-22

Similar Documents

Publication Publication Date Title
DE2340597A1 (de) Bildverarbeitungsanordnung
DE3305710C2 (de) Schaltungsanordnung zur Merkmalserkennung bei auf einem Bildschirm darstellbaren Objekten
DE2703158C3 (de) Einrichtung zum Erfassen der Position eines Musters oder Zeichens
DE2801536C2 (de) Zeichenformkodiervorrichtung
DE2909153C2 (de) Einrichtung zur digitalen Analyse von Bild- oder Zeichenmustern
DE3546337C2 (de)
DE69628711T2 (de) Verfahren und Vorrichtung zum Korrigieren von Pixelwerten eines digitalen Bildes
DE1549930C3 (de) Einrichtung zum Erkennen vorzugsweise handgeschriebener Schriftzeichen
DE3415470A1 (de) Geraet und verfahren zum codieren und speichern von rasterabtastbildern
DE2835689A1 (de) Anordnung zur veraenderung der aufloesung bei der bild-datenerfassung und -uebertragung
DE2525155C2 (de) Anordnung zur computergesteuerten Rasterpunktdarstellung von codierter, Liniensegmente bezeichnender Vektorinformation als eine Folge von X/Y Koordinatenwerten
DE2726746A1 (de) Verfahren und einrichtung zur fehlerkontrolle von objekten
DE2438202B2 (de) Vorrichtung zur Erzeugung eines vorbestimmten Textes von Zeicheninformation, welche auf dem Bildschirm einer Videowiedergabeeinheit darstellbar ist
DE2740483A1 (de) Merkmal-detektor
DE3202365A1 (de) Datenspeicher mit fensterabtastung
DE3248451A1 (de) Positionsanzeigergenerator, damit ausgeruestetes fernsehmonitorsystem und verfahren zum anzeigen eines positionsanzeigers
DE3141196A1 (de) Videobildverarbeitungsvorrichtung
DE69729368T2 (de) Bildprozessor, Gerät und Verfahren zur Bildverarbeitung
DE2746969C2 (de) Einrichtung zum Vergleichen von Mustern
DE4215094C2 (de) Bildverarbeitungsverfahren und -vorrichtung
EP1038259B1 (de) Vorrichtung zur bilderfassung
DE4115902C2 (de) Halbton-Bildverarbeitungsschaltung
DE2148152B2 (de) Verfahren und Schaltungsanordnung zum automatischen Erkennen von Schriftzeichen mit Hilfe einer translationsinvarianten Klassifikationsmatrix
WO2005073911A1 (de) Bildverarbeitungssystem
DE4210086A1 (de) Zweidimensionale schieberegisteranordnung zur bildverdichtung von bildelementdaten

Legal Events

Date Code Title Description
8139 Disposal/non-payment of the annual fee