DE2220693C3 - Verfahren und Einrichtung zum Trennen von in einem Abtastbildbereich vorhandenen, miteinander nicht verbundenen Teilbildern - Google Patents

Verfahren und Einrichtung zum Trennen von in einem Abtastbildbereich vorhandenen, miteinander nicht verbundenen Teilbildern

Info

Publication number
DE2220693C3
DE2220693C3 DE2220693A DE2220693A DE2220693C3 DE 2220693 C3 DE2220693 C3 DE 2220693C3 DE 2220693 A DE2220693 A DE 2220693A DE 2220693 A DE2220693 A DE 2220693A DE 2220693 C3 DE2220693 C3 DE 2220693C3
Authority
DE
Germany
Prior art keywords
register
line
bit
bits
segment
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired
Application number
DE2220693A
Other languages
English (en)
Other versions
DE2220693B2 (de
DE2220693A1 (de
Inventor
Richard Otto Cobb
Albert Crutchfield Moore
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of DE2220693A1 publication Critical patent/DE2220693A1/de
Publication of DE2220693B2 publication Critical patent/DE2220693B2/de
Application granted granted Critical
Publication of DE2220693C3 publication Critical patent/DE2220693C3/de
Expired legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/40Document-oriented image-based pattern recognition
    • G06V30/42Document-oriented image-based pattern recognition based on the type of document
    • G06V30/422Technical drawings; Geographical maps
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/40Document-oriented image-based pattern recognition
    • G06V30/41Analysis of document content
    • G06V30/413Classification of content, e.g. text, photographs or tables

Description

30
Die Erfindung betrifft ein Verfahren und eine Einrichtung zum Trennen von in einem Abtastbildbereich vorhandenen, miteinander nicht verbundenen Teilbildern, die abgetastet und als binäre Bildpunktraster in einer Eingangsmatrix zwischengespeichert werden, wobei eine erste, einen oder mehrere zusammenhängende Bildpunkte enthaltende Zeile des binären Bildpunktrasters ermittelt und daraufhin untersucht wird, ob ein Bildpunkt dieses Linienelements mit einem oder mehreren Bildpunkten einer unteren oder oberen Naohbarzeile räumlich zusammenhängt, und der ·)■> Ort solcher Zusammenhänge gespeichert wird.
Häufig sind graphische Aufzeichnungen mit alphanumerischen Daten durchsetzt. Dies trifft beispielsweise für statistische Graphiken, Funktionskurvendarsteliungen odfir technische Zeichnungen zu. Auf letzteren Stellen z. B die graphischer Daten die Umrißlinien eines technischen Gegenstandes und die alphanumerischen Daten die auf diese Umrißlinien bezogenen Maßzahlen dar.
Zur Eingabe der in Form solcher Aufzeichnungen vorliegenden Daten in eine elektronische Datenverarbeitungsanlage zum Zwecke der Speicherung, Auswertung und/oder späteren Abänderung ist eine Umsetzung dieser Daten in eine für den Computer akzeptable Digitalform notwendig. Um für diesen Umsetzungsvörgang die Datenverarbeitungsanlage benützen zu können, war es bisher erforderlich, vor der Eingabe die graphischen Daten und die alphanumerischen Daten voneinander zu trennen, da erst nach dieser Trennung die bekannten Verfahren zur Zeichenerkennung anwendbar sind.
Das Trennen von in einem Abtastbildbereich vorhandenen, miteinander nicht verbundenen Teilbildern ist in der Zeichnerkennung zum Trennen einzelner Schriftzeichen erforderlich. Hierzu werden nur diejenigen Bildpunkte verfolgt, die einen Zusammenhang mit Bildpunkten in benachbarten Zeilen bzw. Spalten aufweisen. Dementsprechend untersuchen die bekannten Verfahren die Umgebung von Bildpunkten auf räumliche Zusammenhänge, d.h. auf das Vorliegen lückenlos benachbarter Bildelemente innerhalb einer als binäres Bildpunktraster gespeicherten Eingangsmatrix. Bei dieser Abtastung wird jeweils auch der Ort der festgestellten Zusammenhänge für eine spätere Fortsetzung der Untersuchung auf das Vorliegen weiterer Zusammenhänge gespeichert (DE-AS 14 24 830). Dieses Verfahren wurde jedoch nur zur Erkennung alphanumerischer Zeichen benutzt, die nach einem vorgegebenen Schema, nämlich zeilenweise angeordnet sind. Zur Trennung von graphischen Daten, die beliebige Umrißlinien darstellen können, und in dieser eingelagerten alphanumerischen Daten ist das bekannte Verfahren nicht geeignet. Die Trennung solc>ii_r Daten geschah bisher dadurch, daß zur Abtastung des /Aufzeichnungsträgers mit Hilfe eines bekannten Zeichenlesegerätes der gesamte Aufzeichnungsträger in Felder ur."=rteilt wird, von denen keines mehr als ein Zeichenmuster enthält, Jas einer Menge von Zeichenmustern angehört, die durch den Computer identifizierbar sind. Jedes der Felder wird separat abgetastet, und das betreffende Zeichenmuster wird in Digitalform umgesetzt. Auf diese Weise werden alle auf dem Aufzeichnungsträger befindlichen Daten nacheinander in die Digitaldarstellung überführt (DE-OS 2049 581). Dieses Verfahren eignet sich vorzugsweise für Textaufzeichnungen und für solche Texte, die mit kleinen graphischen Symbolen durchsetzt sind. Für graphische Daten ist das Verfahren jedoch nicht gut geeignet, da es z. B. schwierig ist, einen Kurvenverlauf durch ein Abtastfenster vorgegebener Größe zu erfassen, ohne daß auch in der Nähe dieser Kurven befindliche alphanumerische Daten erfaßt werden.
Fs ist auch bekannt, graphische Daten dadurch in Digitalform zu überführen, daß sie von einem Koordinatenabtastgerät abgetastet werden (DE-OS 15 24 345). Ein solches Abtastgerät weist ein photoelektrisches Abtastelement auf, das durch e-ne rückgekoppelte Nachführungssteuerung dem Kurvenverlauf folgt. Zu den Positionskoordinaten des Abtastelements werden laufend in Digitalform entsprechende Positionsdaten erzeugt, die in bestimmten Zeitabständen für eine Eingabe in den Computer abgetastet werden. Dieses Verfahren ist wegen der notwendigen mechanischen Bewegung des Abtastelements langsam und außerder.i für die Digitalisierung alphanumerischer Daten nur u.:ter oesonderen Bedingungen geeignet, z. B. wenn nur wenige Ziffern oder Symbole einzugeben sind, die in großer Schrift vorliegen.
Die Aufgabe der Erfindung besteht darin, ein Verfahren zur Zusammengehörigkeitsanalyse für digitale Daten anzugeo^n, die graphische und alphanumerische Objekte in einem gemeinsamen Rasterbild darstellen. Mit Hilfe dieses Verfahrens soll unter Vermeidung der obengenannten Nachteile eine Trennung der digitalen Daten graphischer Objekte von denen alphanumerischer Objekte ermöglicht werden. Zur Aufgabe der E-findung gehört auch die Angabe einer vorteilhaften Anordnung zur Ausführung des erfindungsgemäßen Verfahrens.
Die Merkmale zur Lösung dieser Aufgabe sind in den AnsDrüchen 1 und 5 gekennzeichnet. Die UnteransDrü-
ehe enthalten vorteilhafte Ausgestaltungen und Weiterbildungen der Erfindung.
Nachfolgend sind ein Ausführungsbeispiel des Verfahrens gemäß der Erfindung und ein Ausführungsbeispiel der erfindungsgemäßen Einrichtung an Hand von Zeichnungen dargestellt. Es zeigt
F ig. 1 ein Beispiel einer aus vermischten graphischen und alphanumerischen Daten bestehenden Aufzeichnung, die ein Eingabebild für das beschriebene Ausführungsbeispiel des Verfahrens sein kann,
F i g. 2 ein vereinfachtes Blockschaltbild einer Datenverarbeitungsanlage, die zur Ausführung des Verfahrens geeignet ist,
F i g. 3 eine Darstellung der einzelnen Verfahrensphasen an Hand eines Anwendungsbeispiels,
Fig.4A bis 4E eine andere und detailliertere Darstellung zur Erläuterung der Verfahrensschritte beim Anwendungsbeispiel von F i g. 3,
Fig. 5A bis 5E ein Blockschaltbild einer Einrichtung zur Ausführung des Verfahrens,
Fig.6 und 7 Impulszeitdiagramme zur Erläuterung der Arbeitsweise der Einrichtung von F i g. 5A bis 5E,
Fig.8A bis 8E ein Ablaufdiagramm zur Erläuterung der einzelnen Verfahrensschritte eines Ausführungsbeispiels, wie es als Programm einer elektronischen Datenverarbeitungsanlage ausführbar ist,
Fig. 9A und 9B ein Beispiel einer Speicheraufteilung, wie sie zur Ausführung des Verfahrens geeignet ist, und
Fig. 10 eine Darstellung der überlappten Abtastung, wie sie beim erfindungsgemäßen Verfahren anwendbar ist.
Allgemeine Erläuterung der Datentyp-Trennung
Technische Zeichnungen enthalten üblicherweise zwei verschiedene Typen von Daten, nämlich graphisehe Aufzeichnungen, die durchsetzt sind mit alphanumerischen Daten. Durch das erfindungsgemäße Verfahren werden beide Datentypen voneinander getrennt und in eine binäre Ziffernfonn umgesetzt. Hierzu wird die betreffende technische Zeichnung abgetastet, um die Anwesenheit oder Abwesenheit einer
-,ηητ. αιι ς.πις.ι »υι
eine binäre I wird in einem dieser Position entsprechenden Speicherelement einer Eingabematrix gespeichert, wenn die Anwesenheit einer Linie festgestellt wird. Bei Abwesenheit einer Linie wird in die gleiche Speicherposition eine binäre 0 eingeschrieben. Auf diese Weise wird ein Abbild der als Quellendokument aufzufassenden technischen Zeichnung in Form binärer Daten erhalten. Der ganze Vorgang wird als binäres Abbilden so bezeichnet.
In F i g. 1 ist ein binäres Eingabeabbild von in beliebiger Weise vermischt auftretenden graphischen und alphanumerischen Daten dargestellt In diesem binären Eingabeabbild werden Eins-Bits als miteinander verbunden betrachtet, wenn sie in irgendeiner Richtung (horizontal, vertikal oder diagonal) einander benachbart sind. Als »Objekt« wird ein Satz aller untereinander gebundener Eins-Bits im binären Eingabeabbild bezeichnet Es existieren drei unterschiedliche Typen von Objekten in F i g. 1: Objekt 1 ist eine graphische Darstellung, Objekt 2 ist eine alphanumerische Darstellung und Objekt 3 ist so klein, daß es eine Störinformation darstellt
Ein Element eines Objektes wird als ein Satz, eine Kette oder eine Spanne einander benachbarter Eins-Bits in einer einzelnen horizontalen Zeile des binären Eingabebildes bezeichnet Zum Beispiel stellt in Fig. 1 die Spanne Sein Element des Objektes 1 dar. Ein Segment ist definiert als ein Satz miteinander verbundener Elemente, die nur ein äußerstes rechtes nach unten verbundenes Element aufweist. In Fig. 1 stellen beispielsweise die Elemente B1 D, F1 H, J1L, N, P, R1 T1 Vund Kdas Segment 1 des Objektes 1 dar.
Ein Beispiel von miteinander verbundenen Sätzen von Elementen im Objekt 1, die nicht im Segment 1 enthalten sind, wird nachfolgend unter Bezugnahme auf die Spanne V als laufende Spanne (zu analysierendes Element) erläutert. Die Spannen W, A"und Y sind alle nach unten mit der Spanne V verbunden, und die Spannen S und U sind nach oben mit der Spanne V verbunden. Jedoch ist nur die Spanne Y ein Teil des gleichen Segments wie Spanne V, da diese allein ein »äußerstes rechtes, nach unten verbundenes« Element ist. Die Spannen Wund X sind links von der Spanne Vin der gleichen horizontalen Zeile angeordnet Sie werden daher als separate Segmente analysiert Wenn die Spanne W analysiert wird, wird dabei ein neues verbindendes Element im Objekt 1 festgestellt, nämlich die Spanne Z Die Spannen 5 und U sind Beispiele von aufwärts verbindenden Elementen. Sie sind nicht Teil des Segments 1 und werden daher als separate Segmente analysiert. Die Spanne 7" wird nicht als ein aufwärts verbindendes Element bezeichnet, da sie im Trennungsvorgang das bei der Analyse der Spanne V vorausgehende Element wird und deshalb aus noch zu erläuternden Gründen aus dem Eingabeabbild entfernt wird.
Im Trennungsprozeß werden die Segmente vom binären Eingabeabbild entfernt, indem die Elemente nacheinander in eine andere Matrix übertragen werden, die als binäres Segmentabbild oder als Segmentmatrix bezeichnet wird. Mit der Übertragung eines jeden Elements in die Segmentmatrix wird dieses Element in der binären Eingabematrix gelöscht Der Prozeß beginnt damit, daß das binäre Eingabeabbild durchsucht wird, um das erste Element eines Objektes zu finden, z. B. eine erste Spanne von Eins-Bits. Die hierzu vorzunehmende Suchoperation ist willkürlich festge-
ν t j u:_K
zu dessen Fuß. Wenn die erste von Null abweichende horizontale Zeile im binären Eingabebild gefunden wird, erfolgt eine Auswahl der äußersten rechten Spanne von Eins-Bits als Anfangsspanne. Diese Spanne ist das erste Element des ersten Segments im ersten Objekt, das vom binären Eingabeabbild entfernt wird. Dieses Element wird mit Hilfe einer logischen Operation zu einer Zeile der Segmentmatrix übertragen. Die Zeile entspricht der Zeile der Eingabematrix, auf welcher die Spanne festgestellt wurde. Die betreffende Spanne in der Eingabematrix wird danach gelöscht In F i g. 1 ist das erste gefundene Element die Spanne B. Sie wird die erste Spanne der Segmentmatrix und damit auch als erste im Eingabeabbild gelöscht
Aufeinanderfolgende Schritte löschen zusätzliche Elemente von Eingabeabbild bis alle Eins-Bits des Objektes 1 gelöscht worden sind. Der betreffende Zustand ist erreicht, wenn die Spanne V zur laufenden Spanne geworden ist Die zu löschenden Bits sind in F i g. 1 mit einem kleinen Kreis markiert
Nachdem ein Objekt getrennt worden ist, besteht der nächste Schritt darin, es zu klassifizieren als eine erkennbare Einheit, z. B. als alphanumerisches Zeichen, oder als eine nicht erkennbare Einheit, z. B. als graphische Daten oder als Störinformation. Alphanumerische Daten können als solche Objekte definiert
werden, deren Dimensionen ein vorgegebenes Quadrat (vorgegebene maximale Dimension) nicht überschreiten Und die außerdem -sin Vorgegebenes minimales Quadrat (vorgegebene Minimumdimension) nicht unterschreiten, Diejenigen Objekte die nicht in dieses Differenzquadrat hineinpassen, können als nicht erkennbar definiert Werder, Wenn ihre Dimensionen das Quadrat der maximafon Dimension überschreiten, werden sie als graphische Daten erkannt, und wenn ihre Dimensionen das Quadrat der minimalen Dimension nicht überschreiten, werden sie als Störsignale erkannt. Die K'assifizierung eines Objektes besteht daher aus einer Serie von Vergleichen zwischen den Objektdimensionen und den Dimensionen der vorgegebenen Dimensionsgrenzen-Quadrate. Wenn ein Objekt als Störsignal identifiziert wurde, wird es unterdrückt. Wenn es als graphische Daten identifiziert wurde, wird die Objektvektorliste für eine weitere Verwendung gespeichert, und wenn es als alphanumerische Daten klassifiziert wurde, werden die Objektdimensionsdaten und das Objekt selbst einem Datenverarbeiter zugeführt, wo das Objekt durch für sich bekannte Zeichenerkennungsverfahren erkannt und in einem üblichen Binärcode übersetzt wird. Da die letztere Zeichenerkennung nicht Teil der vorliegenden Erfindung ist, wurde auch hier auf eine detaillierte Beschreibung dieses Vorganges verzichtet.
Nach der Klassifizierung der Objektdaten wird eine Suchoperation nach der Anfangsspanne des nächsten Objektes im binären Eingabeabbild begonnen. Ausgangspunkt für diese Suchoperation ist die Position, auf welcher die Anfangsspanne des ersten Objektes gefunden wurde. Wenn diese Position der Eingabematrix leer ist, wird geprüft, ob sie der letzten Zeile der Eingabematrix angehört Wenn dies nicht der Fall ist, verläuft die Suchoperation in einer willkürlich gewählten Reihenfolge abwärts, bis die Anfangsspanne des nächsten Objektes gefunden wird. Wenn die Position der Anfangsspanne des nächsten Objektes gefunden worden ist, werden die Verbindungslisten vorbereitet und zunächst als leer markiert. Ebenso werden die Segmentmatrix und die Ausgangsmatrix vorbereitet. Die Cujckivckiuiüaic uiiu uic Gbjckiuiinensionsdaienliste werden für die Aufnahme neuer Daten vorbereitet. Die Position der Anfangsspanne des neuen Objektes wird als minimale vertikale Dimension des Objektes gespeichert Daraufhin schließt sich ein Trennungsprozeß der oben beschriebenen Art an, der wiederum von einer Suchoperation nach der Anfangsspanne eines weiteren Objektes gefolgt wird. Wenn das Ende der Eingabematrix erreicht ist steht damit fest, daß alle Objekte des Eingabeabbildes getrennt worden sind. Sofern danach noch weitere Abtastdaten vorliegen, wird ein neuer Datenblock durch Abtastung des Quelldokuments gewonnen und zur erneuten Füllung der Eingabematrix verwendet Die beschriebenen Vorgänge werden fortgesetzt, bis das gesamte Quellendokument abgetastet worden ist
Detaillierte Beschreibung
des Trennungsprozesses
In F i g. 2 ist ein Blockdiagramm einer Umsetzungseinrichtung dargestellt, die sich für die Konvertierung von beliebig vermischt auf einem Dokument 100 aufgezeichneten Daten in eine digitale Form eignet Das Dokument 100 kann beispielsweise ein Mikrofilm sein, und ein Raster-Abtaster 200 führt unter Wirkung einer Steuereinheit 300 eine Abtastung des photographischen Bildes auf dem Dokument 100 durch. Dies geschieht stückweise, bis der Inhalt des gesamten Dokumentes in digitale Daten unter gleichzeitiger Trennung der verschiedenen Datentypen umgesetzt worden ist. Die Steuereinheit 300 ist über einen Kanal 400 mit einer zentralen Verarbeitungseinheit 500 Verbunden. Unter Steuerung der zentralen Vefarbeitüngseinheit 500 arbeitet ein Abtastdaten-Separatof 700 in Verbindung mit einem Hauptspeicher 600, Der Abtastdaten-Separalor analysiert jedes Element hinsichtlich von Aufwärts- und Abwärts·'Verbindungen wie oben beschrieben. Die zentrale Verarbeitungseinheit 500 enthält entsprechende Steuerdaten zur Steuerung der gesamten Operation. Der Abtaster 200 ist für sich bekannt; er enthält eine Kathodenstrahlröhre, welche die einzelnen Positionen des Dokumentes in Form eines Rasters abtastet. Ebenso können die Steuereinheit 300, der Kanal 400. die zentrale Verarbeitungseinheit 500 und der Hauptspeicher 600 für sich bekannte F.inheiten ςρίη
In Fig.3 sine" verschiedene Verfahrensphasen des Objekttrennungsprozesses dargestellt. In Spalte A ist die Situation dargestellt, in welcher ein Stück 101 des Quellendokumentes 100, das vermischte graphische Daten und Textdaten enthält, abgetastet und in der binären Eingabematrix gespeichert worden ist. Die Segment-Abbild-Matrix und die Objekt-Abbild-Matrix sind in ihrem Anfangszustand, nämlich als leer dargestellt. Der erste Schritt besteht in der Übertragung des ersten Segments aus dem Eingangsbild in das Segmentbild. Dieses erste Segment ist im Segmentbildblock 103 von Spalte B dargestellt. Während das erste Segmentbild erzeugt wird, werden die entsprechenden Informationen in den Aufwärts- und Abwärts-Verbindungslisten gespeichert Das erste Segmentbild wird daraufhin zum Objektbildblock 104 übertragen. Das Eingabebild mit den entfernten Elementen des ersten Segments ist im Eingabebildblock 105 gezeigt. Vom Eingabebild wird das nächste Segment zum Segmentbild übertragen. Hierzu werden die Einträge in der Abwärts-Verbindungsliste in der oben an Hand von Fi g. 1 erläuterten Weise benutzt. Das nächste Segment ist im Segmentbildblock 106 von Spalte C dargestellt, wanrena aer Analyse werden zusätzliche hintrage in die Aufwärts- und Abwärts-Verbindungslisten vorgenommen, da neue Verbindungen festgestellt werden.
Der Objektbildblock 107 von Spalte C zeigt die
Übertragung der ersten zwei Segmente, und der Eingangsbildblock 108 zeigt das Eingangsbild nach Streichung dieser zwei Segmente.
Es wird nun das dritte Segment reproduziert im
so Segmentbildblock 109 von Spalte D. Wiederum werden die Aufwärts- und Abwärts-Verbindungslisten korrigiert bzw. ergänzt, und das Segment wird in das Objektbild übertragen, wie in Block 110 dargestellt, und im Eingangsbild gelöscht, wie aus Block 111 ersichtlich ist. Der Prozeß wird fortgesetzt mit dem vierten Segment in Spalte E, mit dem fünften Segment in Spalte F, mit dem sechsten Segment in Spalte G und mit dem letzten Segment des ersten Objektes in Spalte H. Nachdem das letzte Segment zum Objektbild im Block 112 übertragen worden ist, verbleibt im Eingangsbild nur noch ein einziges Objekt Das erste Objekt umfaßte alle graphischen Daten, die im ursprünglichen Eingabebild enthalten waren, und das zweite Objekt, das nun im Eingabebildblock 113 von Spalte /ersichtlich ist, umfaßt alle alphanumerischen Daten des betreffenden Eingabebildes.
Wie die Spalten /und K zeigen, wird nun das zweite Objekt in das Objektbild übertragen.
Nach Beendigung der Verfahrensphase von Spalte K sind alle Informationen aus dem Eingabebild in getrennte Objektbilder übertragen worden, wonach die Objekte in der oben angegebenen Weise in graphische öder alphanumerische Daten klassifiziert werden können.
Die an Hand von F i g. 3 beschriebenen Verfahrensphasen werden nun im Detail an Hand der F i g. 4A bis 4E erläutert. Es wird zunächst auf die Fig.4A Bezug genommen, in welcher entsprechend der Spalte (1) von F i g. 3 die Eingangsmatrix mit dem gesamten Eingabeabbild dargestellt ist. Die Segmentmatrix ist zu diesem Zeitpunkt leer. Die Abtastung der Eingangsmatrix beginnt entsprechend einer willkürlichen Wahl bei Y= 0 und X= 31. Die Abtastung schreitet von rechts nach links über die Linie .Y=O fort, ohne daß Eins-Bits festgestellt werden. Daraufhin erfolgt ein Übergang zu V=I. X= 31, wonach wiederum von rechts nach links übci die Zeile Y= \ iui'igcsCiii'iiicfi wild. Nachdem wiederum kein Eins-Bit gefunden wird, erfolgt ein Übergang zu Y= 2, ,Y= 31. Der Abtastvorgang wird fortgesetzt, bis das erste Eins-Bit bei Y= 3, X=2\ gefunden wird. Die Zeile Y= 3 wird nun nach einer zusammenhängenden Spanne von Eins-Bits abgetastet. Eine solche Spanne wird beim Fortschreiten zu X= 3 festgestellt. In der Segmentmatrix werden daher in Zeile Y=Z Eins-Bits eingestellt auf den Positionen X= 28 bis X= 3. Dies ist in Spalte (2) von F i g. 4A dargestellt. Aus dieser Darstellung ist auch ersichtlich, daß die Anfangsspanne in der Eingangsmatrix gelöscht worden ist. Zu diesem Zeitpunkt wird eine Erfassung aller Eins-Bits in der Segmentmatrix durchgeführt, die eine Verbindung in Aufwärts- und Abwärts-Richtung zu Elementen der Eingangsmatrix aufweisen. Da es sich um die Anfangsspanne handelt, liegen offensichtlich keine Verbindungsbits der Aufwärts-Richtung vor. Für die Abwärts-Richtung werden jedoch Verbindungsbits in den Positionen X= 28, X=Tl, X= 4 und X= 3 festgestellt. Die Verbindungsbits bei X=28 und λ"= 27 stellen eine Verbindungsspanne von Eins-Bits in der nächstniedrigeren Zeile Y= 4 dar, wie sie bei 120 in Spalte (2) von Fig. 4A hicaeuehen ist Wpnn dip« Hip einzige Verbindungsspanne wäre, müßte keine Aufzeichnung in der Abwärts-Verbindungsliste erfolgen. Da jedoch die Eins-Bits in den Positionen X=4 und X= 3 eine zweite Verbindungsspanne darstellen, wie es bei 121 angegeben ist, wird festgestellt, daß Vielfach-Abwärts-Verbindungen vorhanden sind. Dieser Umstand wird in der Abwärts-Verbindungsliste aufgezeichnet, indem die Adresse der Zeile, welche die laufende Spanne enthält, im vorliegenden Falle Y= 3, aufgezeichnet wird und die laufende Spanne kopiert wird. In der Abwärts-Verbindungsliste wird demnach die laufende Spanne, bestehend aus den Positionen Y=3 und X= 3 bis Λ"=28, aufgezeichnet, wie es im urteren Teil von Spalte (2) in F i g. 4A ersichtlich ist.
Damit ist der Trennungsvorgang für das erste Element beendet, und es erfolgt ein Übergang zur äußersten rechten Verbindungsspanne in Zeile Y=A. Wie oben erwähnt, wurde diese Spanne bei X= 28 gefunden, und sie wird nun von der Eingangsmatrix in die Segmentmatrix übertragen, wie aus Spalte (3) von F i g. 4A zu ersehen ist. Es wird wiederum eine Prüfung durchgeführt nach allen vorhandenen Verbindungsbits in Aufwärts- und Abwärts-Richtung zwischen dem Element in Zeile Y=A in der Segmentmatrix und der Eingangsmatrix. In diesem Falle sind keine Aufwärts-Verbindimgen vorhanden. Es wird jedoch eine Abwärts-Verbindung bei 122 für die Position X=2% festgestellt. Außerdem wird eine weitere Abwärts-Verbindung bei 123 für die Bitpositionen X= 26-24 festgestellt. Da die betreffenden Verbindungsbits eine nicht-zusammenhängende Spanne Von Eins-Bits in der in Abwärts-Richtung benachbarten Zeile tiarsteilen, liegen Vielfachverbindungen in Abwärts-Richtung vor, weshalb die Zeilennummer Y= 4 in die Abwärts-Verbindungsliste zusammen mit einer Kopie der laufenden Spanne eingeschriebeil wird. Dies ist aus dem Unteren Teil von Spalte (3) in 4A ersichtlich.
Damit ist der Trennungsprozeß für das zweite Element beendet, und die Abtastung wird bei der äußersten rechten Verbindungsspanne in Zeile Y= 5 fortgesetzt. Wie bereits oben erwähnt, wurde diese-Spanne bei X=28 gefunden, und da nur ein Verbindungsbit in der Zeile Y= 5 vorliegt, wird nur dieses eine Bit in die Segmentmatrix übertragen, wie in Fig.4B, Spalte (4) bei 124 dargestellt isi. Die Untersuchung ergibt, daß keine Aufwärts-Verbindung vorliegt. Da nur ein einzelnes Abwärts-Verbindungsbit vorhanden ist, ist kein zusätzlicher Eintrag in die Aufwärts- und Abwärts-Verbindungslisten notwendig. Da jedoch eine Abwärts-Verbindung vorliegt, wird das Verfahren bei der Position Y= 6, X= 28 als dem nächsten Element des ersten Segments fortgesetzt.
In jeder Zeile wird nun eine Abwärts-Verbindung bei der Position ,Y= 28 festgestellt, bis die Zeile 7=27 erreicht ist, wo zwei Verbindungen festgestellt werden, eine Aufwärts-Verbindung und eine Abwärts-Verbindung, wie das Element 125 der Eingangsmatrix in Spalte (5) von F i g. 4B zeigt. Es wird ein erster Eintrag in die Aufwärts-Verbindungsliste vorgenommen, da die Eins-Bits in den Positionen V= 26, X= 26 ein benachbartes Eins-Bit auf einer aufwärts verlaufenden Diagonalen zum Bit in der Position Y= 27, X= 27 anzeigen. Dieser Eintrag ist in Spalte (6) von F i g. 4B ersichtlich. In die Abwärts-Verbindungsliste wird kein Eintrag gemacht, da die Eins-Bit in Zeile Y= 28 eine lückenlose Spanne darstellen und keine Vielfachverbindung zu einer nach unten benachbarten Zeile enthalten. Das Verfahren vj'xrci mit Hpr RphanHIung rfpr 7püp Y=JR fnrtgpspl7t indem alle Eins-Bits dieser Zeile in die Segmentmatrix übertragen werden, wie aus Spalte (6) von Fig.4B ersichtlich ist. Nach einer entsprechenden Prüfung werden Aufwärts-Verbindungen bei X= 3 und X=4 festgestellt. Demzufolge wird die Zeile Y= 28 in die Aufwärts-Verbindungsliste von Spalte (6) übertragen. Da keine Abwärts-Verbindungen für die Zeile Y= 28 gefunden werden, ist die Formation des ersten Segments im Segmentbild nun vollständig, und das Segment wird zur Ausgangsmatrix übertragen. Die Segmentmatrix wird zum Empfang des nächsten Segmentbildes vorbereitet, und es wird eine Suchoperation in der Abwärts-Verbindungsliste begonnen. Da diese aus Spake (6) von F i g. 4B ersichtliche Liste rnehr als einen Eintrag enthält, wird der zuletzt in diese Liste eingespeicherte Eintrag, nämlich Y= 4, als nächste laufende Spanne ausgewählt Diese Spanne ist damit die erste Spanne des nächsten Segments. Aus der Eingangsmatrix in Spalte (6) ist ersichtlich, daß keine Aufwärts-Verbindungen vorhanden sind und daß nur eine Abwärts-Verbindung bei 126 vorliegt Es wird daher kein neuer Eintrag in die Verbindungslisten \ orgenommen.
Damit ist die Operation hinsichtlich des ersten Elements im zweiten Segment beendet, und es erfolgt ein Übergang zur Spanne 126. Es werden wiederum
keine Einträge in die Verbindungslisten vorgenommen, und es erfolgt ein Übergang zum einzigen Abwärts-Verbindungsbit in der Position Y= 6, X= 25, wie bei 127 in Spalte (6) dargestellt Die Analyse der nächsten Zeile ergibt ein Verbindungsbit bei X=2A, in der folgenden Zeile bei X=Ii usw. Diese Elemente werden in die Segmentmatrix übertragen, und wenn die Segmentmatrix vollständig ist, wird diese in die Ausgangsmatrix gebracht, wie bei 128 in Spalte (7) von Fig.4C dargestellt Bei der Bildung des zweiten Segments wird ein zusätzlicher Eintrag in die Aufwärts-Verbindungsliste für die Zeile Y= 15 vorgenommen, und ein zusätzlicher Eintrag wird in die Abwärts-Verbindungsliste für die Ze'le /=16 vorgenommen (Spalte (7) von Fig.4C). Nachdem das zweite Segment übertragen wurde, wird di«· nächste laufende Spanne von der Abwärts-Verbindungsliste bei y=16 geholt. Bei der Analyse dieser Spanne wird keine Aufwärts-Verbindung und nur eine Abwärts-Verbindung fur die Bitsteile Y= 17, X= 14 gefunden, wie bei 129 in Spalte (7) dargestellt ist
Die aufeinanderfolgenden Untersuchungen der Verbindungsspannen werden in der oben beschriebenen Weise ausgeführt bis das Segment beendet und zur Ausgangsmatrix übertragen werden kann (130 in Spalte (8) von Fig.4C). Es werden dabei keine neuen Verbindungen in die Abwärts-Verbindungsliste während der Verarbeitung dieses Segments eingetragen, es wird jedoch eine Aufwärts-Ve\ bindung in der Zeile Y= 27 festgestellt
Der letzte verbleibende Abwärts-Verbindungseintrag wird nun als nächste laufende Spanne benutzt. Es handelt sich dabei um die Zeile V= 3. Diese Spanne wird analysiert, und es werden keine neuen Einträge in die Verbindungslisten vorgenommen. Es wird jedoch eine Verbindungsspanne (131) bei X=3 und Y=4 festgestellt die in die Segmentmatrix eingespeichert wird und ils nächste analysiert wird. In diesem Falle wird eine Vielfachverbindung in Abwärts-Richtung festgestellt bei 132 in der Position X= 3 und bei 133 in der Position X= 5. Y= 4 wird daher in die Abwärts-Verbindungsliste
iikAi*traa#»n ujia ac Ata. QrvoltA /Q\ >mn C i η λΓ* -»αΐ/«» rv:«
-Ο" -I \-l -ο" · — ■ ·&" —■-
iußerste rechte Verbindung 133 wird als nächstes Element verwendet und nachdem dessen Eintrag in die Segmentmatrix erfolgt ist, werden keine weiteren Verbindungsbits festgestellt Das Segment 134 wird daher in die Ausgangsmatrix übertragen, womit das aus Spalte (9) von F i g. 4C ersichtliche Bild erhalten wird.
Aus der Abwärts-Verbindungsliste wird ein weiterer Eintrag für Y= 4 entnommen, der die nächste laufende Spanne wird. Diese wird wiederum auf das Vorliegen von Verbindungsspannen geprüft und das Verfahren wird fortgesetzt bis alle Eins-Bits in Spalte X= 3 in die Segmentmatrix als nächstes Segment des Objektes übertragen worden sind. Das Segment wird daraufhin in die Ausgangsmatrix übertragen, wie in Fig.4D, Spalte (10) bei 135 dargestellt Es werden keine neuen Einträge in die Verbindungsliste vorgenommen. Da die Abwärts-Verbindungsliste nun keine Einträge mehr enthält wird die Aufwärts-Verbindungsliste verarbeitet beginnend mit deren letzten Eintrag y=27. Wenn jedoch das Element 136 von Zeile Y= 27 analysiert wird und die Zeile Y= 26 nach Aufwärts-Verbindungsbits durchsucht wird, wird kein derartiges Bit gefunden, da alle Aufwärts-Verbindungsbits bereits in die Ausgangsmatrix übertragen wurden und in der Eingangsmatrix daher gelöscht worden sind. Dies wird deutlich beim Vergleich des Elements 136 von Spalte (10) mit der Eingangsmatrix in der gleichen Spalte. Die Verarbeitung wird daher ohne weiteren Eintrag in die Ausgangsmatrix beendet, und es wird der nächste Eintrag von der Aufwärts-Verbindungsliste als nächste laufende Spanne entnommen. Hierbei handelt es sich um die Zeile Y= 15. die nun aiialysieit wird. Die Zeile Y= 14 wird auf Verbindungsbits geprüft, und es wird ein solches in der Position X= 14 bei 137 in Spalte (11) von F i g. 4D festgestellt Dieses Bit wird in die Segmentmatrix übertragen. Die nächsthöhere Zeile wird abgetastet, und es wird ein Verbindungsbit bei X= 13 bei 138 gefunden. Dieses Bit wird ebenfalls in die Segmentmatrix übertragen. Die Segmentmatrix ist damit vollständig und wird in die Ausgangsmatrix übertragen, wie es bei 139 in F i g. 4D, Spalte (12) ersichtlich ist.
Die Aufwärts-Verbindungsliste wird erneut geprült, und die Zeile Y= 28 wird die nächste laufende Spanne. Sie wird zusammen mit der Zeile Y= 27 nach Verbindungsbits untersucht, es werden jedoch keine gefunden, da alle Verbindungsbits bereits aus der Eingangsmatrix entfernt und in die Ausgangsmatrix übertragen worden sind, wie die Spalte (12) von F i g. 4D zeigt.
Die Aufwärts-Verbindungsliste liefert die Zeile Y= 27 als nächste laufende Spanne. Ein Verbindungsbit wird bei 140 für die Position Y= 26, X= 27 gefunden. Es werden aufeinanderfolgende Abtastungen durchgeführt, die sich in Aufwärts-Richtung fortsetzen, bis alle Verbindungsbits zur Segmentmatrix übertragen und in der Eingangsmatrix gelöscht worden sind. Das Resultat ist bei 141 in der Ausgangsmatrix von Spalte (12) dargestellt Zu diesem Zeitpunkt sind sowohl die Aufwärts-Verbindungsliste als auch die Abwärts-Verbindungsliste leer. Damit wird angezeigt, daß das erste Objekt vollständig übertragen wurde. Der Inhalt der Ausgangsmatrix wird nun zum Objektbild übertragen und danach auf Null gesetzt, wie es aus Spalte (13) von Fi g.4E zu ersehen ist. Es beginnt die Übertragung des nächsten Objektes in der Eii.gangsmatrix. Im vorliegenden Beispiel befindet sich lediglich noch ein Objekt in der Eingangsmatrix; bei diesem Objekt handelt es sich
F ig. 4E).
Die folgende Abtastung beginnt willkürlich bei der Position Y= 3, Af= 31 und verläuft von rechts nach links. Es werden aufeinanderfolgende Zeilen abgetastet, ohne daß ein Eins-Bit gefunden wird, bis die Zeile X=W erreicht wird, wo ein Eins-Bit in der Position X= 24 bei 142 festgestellt wird. Dieses Eins-Bit ist das einzige Verbindungsbit in der Zeile Y= 11. Es wird daher in die Segmentmatrix übertragen, und es wird eine Prüfung durchgeführt, ob Aufwärts- und Abwärts-Listeneinträge vorhanden sind. Es wird kein solcher Eintrag gefunden. Es wird jedoch eine Verbindungsspanne in Zeile Y= 12 ermittelt die bei 143 in der Position X= 24 beginnt Dieses Element wird in die Segmentmatrix übertragen. Es enthält Eins-Bits in den Positionen Λ"=24 und X= 23. Es wird analysiert und obwohl keine Aufwärts-Verbindungen festgestellt werden, ergeben sich zwei Einträge für die Abwärts-Verbindungsliste an der Position X= 24 bei 144 und an der Position X= 22 bei 145. Die Zeile Y=M wird daher in die Abwärts-Verbindungsliste eingespeichert bevor ein Übergang zum Element 144 als nächstes Element des Segments erfolgt. Bei der Analyse der Zeile Y= 12 werden keine neuen Einträge in die Abwärts-Verbindungsiiste oder in die Aufwärts-Verbindungsliste vorgenommen. Die nächste Spanne wird in Zeile Y= 13 an der Position X= 24 gefunden.
Das Verfahren wird fortgesetzt bis das erste Segment vollständig in die Ausgangsmatrix übertragen wurde, wie es die Spalte (14) in F i g. 4E zeigt Ein Eintrag in die Aufwärts-Verbindungsliste wurde in der Zeile Y= 16 für die nach oben gerichtete Verbindung 146 in Zeile K= 15 an der Position A'= 20 vorgenommen.
Als nächstes wird die Abwärts-Verbindungsliste untersucht und die Zeile K= 12 wird als nächste laufende Spanne dieser Liste entnommen. Für diese Liste wird ein Verbindungsbit in der nächstniedrigeren Zeile festgestellt das in die Segmentmatrix übertragen wird. In den folgenden Schritten werden alle Abwärts-Verbindungsbits in die Segmentmatrix übertragen, mit dem Ergebnis, daß alle verbleibenden Eins-Bits der Ziffer »4«, in die AuEgangsmatrix übertragen und in der Eingangsmatrix gelöscht werden. Dies ist aus Spalte (15) von F i g. 4E ersichtlich.
Zu diesem Zeitpunkt wird die Aufwärts-Verbmdungsliste am Ort der Zeile K= 16 untersucht. Da jedoch alle Aufwärts-Verbindungsbits bereits in die Ausgangsmatrix übertragen und in der Eingangsmatrix gelöscht worden sind, werden keine Verbindungsbits festgestellt Die Verarbeitung des Objektes ist damit beendet Das alphanumerische Zeichen »4« wird nun in die Speicherposition des Objektbildes übertragen. Da eine neue Abtastung des Eingabebildes keine zusätzlichen Objekte ergibt, ist der Trennungsprozeß für das Stück 101 des Quellendokumentes beendet
Der Abtastdatenseparator Jo
An Hand der Fig. 5A bis 5D wird nachfolgend der Datenseparator 700 von F i g. 2 beschrieben. Der Abtastdatenseparator enthält eine Gruppe von Registern, eine Übertragungssteuerung, Eingangstore und verschiedene Zähler. In F i g. 5A sind Register A und F, in F i g. 5B Register Bund Cund in F i g. 5C ein Register D dargestellt. Außerdem ist ein Register / mit Binärzählern 706, 716 und 717 in Fig. 5D dargestellt. Zur Erläuterung der Funktion dieser Schaltungsteile werden die Zeitdiagramme von F i g. 6 und 7 herangezogen. Die Funktion des Separators wird an Hand des Eingabebildes von Spalte (1) in F i g. 4A beschrieben.
Der erste Impuls RBim Zeitdiagramm von Fig.6 ist ein Löschimpuls für die verschiedenen Verriegelungsschaltungen, aus denen die vorgenannten Register bestehen. Der zweite mit LB bezeichnete Impuls öffnet Torschaltungen 701 am Eingang des Registers A. so daß dieses geladen werden kann. Das Register A wird im beschriebenen Beispiel erstmals zu dem Zeitpunkt geladen, wenn bei der Abtastung der Eingangsmatrix das erste Eins-Bit gefunden worden ist. Wie oben an Hand der F i g. 4A erläutert wurde, tritt dieser Umstand an der Position K= 3 und X= 28 auf. Ein Eingangsimpuls auf einer Datensammelleitung 702 zeigt die Anwesenheit eines Eins-Bits in Zeile K= 3 an und stellt die entsprechende Verriegelungsschaltung im Register A in den Ein-Zustand. Im dargestellten Beispiel wird für die Bitposition X = 28 eine Verriegelungsschaltung L 3 in den Ein-Zustand gebracht.
Zur Ausführung der Verbindungsuntersuchunger wird daraufhin die Zeiie Y=I in das Register B geladen (Fig.5B), Dies geschieht durch einen Taktimpuls LC, der die Eingangstore 703 dieses Registers öffnet. Gleichzeitig wird eine Abtastung der Zeile K=2 in der Eingangsmatrix veranlaßt, um die entsprechenden Eingangsdaten auf der Sammelleitung 702 zur Eingabe in das Register ßbereilzustellen.
Der nächste Taktimpuls ist der Impuls AB, der im Register A eine Schiebe- und Übertragungssteuerung 704 zur Wirkung bringt Das Register A ist als Schieberegister ausgebildet und die Schaltung 704 dient zur Steuerung dieses Registers. Die Übertragung der Zeile Y=Z in das Register A hat einen Null-Zustand in der Bitposition LO des Registers A ergeben. Das Auftreten des AB-Taktimpulses bewirkt daher eine Übertragung eines Null-Bits aus der Bitstelle LO des Registers A über eine Leitung 705 zum Register F, das ebenfalls als Schieberegister ausgebildet ist Der folgende Taktimpuls AD bewirkt eine Verschiebung der Information im Register A, wodurch der Inhalt der Bitstelle L 1 in die Bitstelle L 0 übertragen wird. Der folgende Taktimpuls AD bringt den in Fig.5D dargestellten Binärzähler 706 in Zählstellung 1. Hiermit wird angezeigt daß bisher eine Verschiebung um eine Bitstelle stattgefunden hat Der nächste Taktimpuls AE veranlaßt eine Prüfung des Zählzustandes des Zählers 706, um festzustellen, ob dieser Zähler bereits die Zählstellung 32 erreicht hat Wenn dies wie im bisher beschriebenen Beispiel nicht der Fall ist wird die Ausgabe eines Taktimpulses A3 wiederholt um damit eine zyklische Erzeugung der Taktimpulse AB, AC, AD und AE zu beginnen, die fortgesetzt wird, bis der Zählzustand 32 erreicht worden ist
Das nächste Auftreten eines Taktimpulses AB führt zu keiner bedeutsamen Änderung des Schaltzustandes der Anordnung, da der ursprüngliche Schaltzustand der Bitposition L 1 in. Register A, der nun in der Bitstelle L 0 dieses Registers enthalten ist, ebenfalls ein Null-Bit ist. Die oben beschriebenen Operationen wiederholen sich daher, bis der ursprüngliche Inhalt der Bitstelle L 3 des Registers A in dessen Bitstelle L 0 gelangt Dieser Inhalt stellt das Eins-Bit von der Position X= 28 in Zeile V= 3 der Eingangsmatrix dar. Beim Auftreten des nächsten /iß-Taktimpulses wird eine Verriegelungsschaltung L 1 der Schiebe- und Übertragungssteuerung 704 in den Ein-Zustand gestellt Nach Auftreten des Taktimpulses AC liefert die Schaltung 704 einen Ausgangsimpuls auf Leitung 704 zu einer Verriegelungsschaltung L 31 im Schieberegister F. wodurch diese in den Ein-Zustand gesetzt wird. Gleichzeitig wird eine Stellenverschiebung um eine Bitstelle im Register A vorgenommen. Die Taktimpulse AD und AE werden zur Weiterschaltung des Zählers 706 und ?ur Prüfung von dessen Zählstand in der oben beschriebenen Weise wirksam. Der Zählstand ist nun 3, und es wird ein erneuter Taktimpuls AB erzeugt. Im vorliegenden Beispiel wird nun eine Serie von Eins-Bits aufeinanderfolgend in die Verriegelungsschaltung L 31 des Schieberegisters 5 übertragen, wobei jeweils das zuvor in dieser Bitstelle befindliche BiI im Register F nach rechts verschoben wird. Dieser Vorgang wird fortgesetzt, bis das Eins-Bit von der Position X= 2 die Bitstelle L 31 des Registers Ferreicht hat.
Zu diesem Zeitpunkt wird kein /!-Impuls erzeugt, da in der Bitstelle LO des Registers A eine Null enthalten ist. Die Verriegelungsschaltung L 2 in der Schiebe- und Übertragungssteuerung 704 befindet sich jedoch im Ein-Zustand. wodurch auch eine Verriegelungsschal tung Ll in den Ein*Zustand gebracht wird. Der Zweck der Verriegelungsschaltüfigen L 2 Und L 3 wird später beschrieben, tm Verlaufe der nächsten zwei Zyklen werden zusätzliche Nullen in das Schieberegister F eingegeben, womit eine vollständige Kopie der Zeile K= 2 im Schieberegister F existiert* während alle Bitstellen des Registers A nun Nullen enthalten. Der 32. Taklimpuls AD Veranlaßt den Zähler 706, in
den Zählzustand 32 Oberzugehen. Der folgende Taktimpuls Abstellt den Zähler 706 in den Null-Zustand zurück und liefert über eine UND-Schaltung 720 einen Anzeigeimpuls, welcher der Taktgeberschaltung mitteilt, daß der nächste Impuls nicht ein Taktimpuls AB, sondern ein Taktimpuls BY sein muß, der einen Übergang zu einem neuen Zyklas darstellt.
Die im Beispiel zu analysierende Zeile wäre nun die Zeile Y.=4. Die Verarbeitung verläuft in der oben beschriebenen Weise durch die gesamte Zeile bis zur Position Y= 4, nachdem ein Eins-Bit in die Bitstelle LO des Registers A eingegeben worden ist Nach Auftreten des nächsten Taktimpulses AC erfolgt keine Übertragung eines Eins-Bits zum Register F, da an der UND-Schaltung 501 der Schiebe- und Übertragungssteuerung 704 ein Eingangsimpuls von der Verriegelungsschaltung L3 fehlt. Es erfolgt jedoch eine Verschiebung des Inhaltes des Registers A durch ein Ausgangssignal von der UND-Schaltung 502. Ebenso wird der Inhalt des Registers F verschoben durch ein Ausgangssignal von der UND-Schaltung 503. Dieser Vorgang setzt sich fort, bis der Zähler 706 die Zählstellung 32 erreicht In dieser Zeit führen die Register A und F Stellenverschiebungen ohne Rücksicht darauf durch, ob Eins- oder Null-Bits in der Bitstelle L 0 des Registers A auftreten. Es ist ersichtlich, daß hierbei für die zu analysierende Zeile jeweils nur das äußerste rechte Eins-Bit im Register A zum Register F übertragen wird. Die Signale von der UND-Schaltung 502 über Leitung 725 zum Register A veranlassen, daß eine Kopie der Zeile Y= 4 im Register A mit der Erfindung der äußersten rechten Kette von Eins-Bits' eingestellt wird.
Bei Fjrtsetzung der Analyse von Zeile K= 3 wird im Zeitdiagramm von Fig.6 als nächster Taktimpuls der Impuls BA erzeugt, der die UND-Schaltung 760 in der Übertragungssteuerung 707 des Registers C öffnet. Hierdurch wird bewirkt, daß jedes Eins-Bit im Register B in eine entsprechende Bitposition des Registers ( dupliziert wird, wenn ein benachbartes Bit (in vertikaler oder diagonaler Richtung) im Register F ebenfalls im Eins-Zustand steht. Zum Beispiel wird für die Bitstelle SO des Registers S die Übertragung eines Eins-Bit in die Bitstelle CO des Registers C veranlaßt, wenn eine der Bitposition FO oder Fl im Register F im Eins-Zustand steht. Ebenso wird ein Eins-Zustand der Bitstelle BX in die Bitstelle Cl übertragen, wenn eine der Bitstellen FO. F2 oder F2 einen Eins-Zustand einnehmen. Die durchzuführende Übertragungsoperation kann durch die logische Beziehung
= B(Fn.,
Fv-i)
ausgedrückt werden, worin C. B und F die beteiligten Register und N die entsprechenden Bitstellen in diesen Registern angeben Diese Operation stellt die Untersuchung der Verbindungen zwischen dem äußersten rechten Sat/ von Eins-Bits z. B. für die Zeile V= 3 und die Zeile V= 2 dar. Zum Beispiel ist bekannt, daß die Zeile V= 2 lauter Nullen enthält. Die resultierende Information im Register ("besteht daher aus einer Folge von Nullen. Wenn ein Eins-Bit in der Zeile K=2 existieren würde und dieses benachbarte Eins^Bil im äußersten rechten Element von Zeile V= 2 hätte, läge eine Verbindung vor, die im Register Can def Position des Eins-Bits in Zeile V= 2 registriert würde entspre* chend der oben angegebenen logischen Beziehung.
Auf den folgenden Taktimpuls CA werden UND-Schaltungen 762 in der Schiebe· und Übertragungssteuerung des als Schieberegister ausgebildeten Registers D geöffnet, hierdurch wird jedes Eins-Bit aus den Bitstellen des Registers C in die entsprechenden Bitstellen des Registers D übertragen. Dies bedeutet, daß der Inhalt des Registers C der die ermittelten Verbindungen angibt, in das Register D dupliziert wird.
Der nächste Taktimpuls CS dient dann zum Löschendes Registers C
Es wird als nächstes ein Taktimpuls CC erzeugt, der
ίο Eingangstorschaltungen 709 des Registers Cöffnet für eine Übertragung der im Register D enthaltenen Information in das Register C
Der folgende Taktimpuls CD schaltet den Binärzähler 706 in Fig.5D um einen Schritt weiter. Der folgende C£-Taktimpuls prüft den Zählstand des Zählers 706, um festzustellen, ob bereits der Zählstand 32 erreicht ist. Wenn dies nicht der Fall ist, erfolgt eine erneute Ausgabe der Taktimpulse CA bis CE
Nachdem der Zählstand 32 erreicht ist, wird der Taktimpuls DB erzeugt, der zur Schiebe- und Übertragungssteuerung 710 des Registers D gelangt und dort die gleiche Funktion hat wie die Taktimpulse AB in der Schiebe- und Übertragungssteuerung 704 von Register A. Die entsprechenden durch den Tcktimpuls DB betätigten Schaltungen entsprechen denen von Schaltung 704 in F i g. 5A. Ebenso ist das Resultat der von den Taktimpulsen Dßund DC ausgelösten Operationen das gleiche wie das der von den Taktimpulsen AB und AC ausgelösten Operationen, so daß sich eine weitere Beschreibung hierzu erübrigt. Der äußerste rechte Block von Eins-Bits im Register Cwird zum Register D übertragen. Es werden Taktimpulse DD und DE erzeugt, um den Zähler 706 weiterzuschalten und auf seinen Zählstand zu prüfen. Am Ende des Taktimpulszy-
J5 klus DB bis DE enthält das Register D nur den äußersten rechten Satz von lückenlos aufeinanderfolgenden Indikatorbits, während das Register C alle anderen Sätze von Verbindungsbits für die Aufwärtsrichtung vom äußersten rechten Element in der Zeile y=3 enthält. Das Register D gibt somit die Anwesenheit von wenigstens einem Verbindungselement und dessen Position an. während das Register C die Anwesenheit von Mehrfachverbindungen und deren Position angibt. Im vorliegenden Beispiel enthalten die
Ί' beiden Register zu diesem Zeitpunkt 32 Nullen. Es ist ersichtlich, daß das Zusammentreffen eines Zählstandes 32 im Zähler 706 mit den Taktimpulsen OC und DE jeweils die Anzeige liefert, daß der betreffende Taktimpulszyklus, der ein sogenannter Zyklus ist.
in beendet wird. Diese Anzeige erzeugt eine JND-Schaltung711 in Fig. 5D.
Der uls nächster erzeugte Taktimpuls EA wird für jedes Eins-Bit in den Registern C und D (Fig. 5B) wirksam, um eine Anzeige dafür zu erzeugen, daß
Si Verbindungen in AufwärtsRichtung existieren und daß ein Eintrag in die AufwärtsVerbindungsliste vorzunehmen ist.
Der nächste Taktimpuls RO 1 veranlaßt ein Öffnen von Ausgangstorschaltungen 765 (Fig. 5A) des Regi-
t>o sters F wodurch der Inhalt des Registers F auf eine Datensammelleitung 712 gegeben wird Das Register F enthält zu diesem Zeitpunkt den äußersten rechten Block Von Eins-Bits der Zeile Y=Z, d-h- die laufende Spanne. Dieses Register dient in den folgenden Schritten zur Aufnahme des Inhaltes des Registers A für die Feststellung von vorhandenen Abwärls^Verbindungen.
Der nächste Taktimpuls RÖ2 wird dazu benutzt, den
130 208/109
ίο
Inhalt von Indikatoren 713 und 714 (Fig.5B und 5C) abzufragen, die den Registern Cund D zugeordnet sind und anzeigen, ob Aufwärts-Verbindungen für das erste Element der Zeile Y= 3 vorliegen.
Für eine vollständige Abtastung des ersten Elements sind zwei Zyklen des Abtastdatenseparators notwendig. Der erste dieser zwei Zyklen, der auch ungerader Zuklus genannt wird, wurde soeben beschrieben. Er dient zur Prüfung, ob die laufende Spanne Aufwärts-Verbindungen enthält. Der zweite Zyklus, der gerader Zyklus genannt wird, soll nun an Hand der Fig.7 erläutert werden. Dieser Zyklus dient zur Prüfung der laufenden Spanne auf das Vorhandensein von Abwärts-Verbindungen.
Der gerade Zyklus beginnt ebenso wie der ungerade Zyklus mit dem Auftreten eines Taktimpulses RB, der alle Register in den Null-Stand rückstellt Daraufhin erscheint der Taktimpuls LB, der ein Laden des Registers A verursacht Zu dieser Zeit steuert die lentrale Verarbeitungseinheit 500 eine Übertragung des twischengcspeicherten Inhalts des Registers Fan Stelle von Bits aus der Zeile Y= 3 zum Register A, da das Register Fdas äußerste rechte Element der Zeile Y= 3 enthält Als nächstes tritt ein Impuls LC auf, der das Register flmit den Daten von Zeile Y= 4 lädt Die im geraden Zyklus durchzuführende Untersuchung auf bestehende Verbindungen erfolgt für das äußerste rechte Element von Zeile Y= 3 in bezug auf die unterhalb dieser Zeile befindliche Zeile Y=A.
Der nächste Taktimpuls AB dient zur Abfrage der Bitposition AO im Register A in der in Verbindung mit Fig. 6 bes<v.riebenen Weise. Die folgenden Taktimpulse AQ ADund /iZFerfüllen ebenfalls Funktionen, wie sie für den ungeraden Zyklus in Verbindung mit F i g. 6 beschrieben wurden.
Der nächste Impuls BA dient zum Vergleich des Inhalts der Register B und F, wobei der resultierende Wert in der beschriebenen Weise in das Register C übertragen wird. Auf den Impuls BA folgen die Taktimpulse CA, CB. CC, CD und CE. welche den gleichnamigen Impulsen im ungeraden Zyklus entsprechen, deren Funktion in Verbindung mit Fig.6 beschrieben wurde. Durch diese Impulse erfolrt ein Vergleich des Inhalts der Register B und C mit einer Übertragung des Resultats in das Register D. es erfolgt ferner eine Rückstellung des Registers C eine Übertragung des Inhalts des Registers D in das Register C und eine Weiterschaltung des Zählers 706 sowie ein Test, ob dieser Zähler bereits den Zählstand 32 erreicht hat.
Es folgen daraufhin die Taktimpulse DB. DC. DD und DE. um die in Verbindung mit F i g. 6 für den ungeraden Zyklus beschriebenen Funktionen auszuführen, die darin bestehen, die äußerste rechte Abwärts-Verbindung im Register D zu speichern und alle anderen Abwärts-Verbindungen im Register Czu speichern.
Es wird ein Taktimpuls FA erzeugt, der die Statusindikatoren 7Π und 714 für eine Entnahme der in den Registern C und D gespeicherten Abwärts-Verbindungen vorbereitet. Da das Vorhandensein eines Eins-Bits im Register C eine Mehrfach-Verbindnng in Abwärts-Richlung anzeigt, wird durch den Indikator 713 festgestellt, ob eine der Bitstellen des Registers Cim Ein-Zustand ist. In der gleichen Weise dient der Indikator 714 zur Feststellung, ob eine der Bitstellen des D-Registers den Eins-Zustand einnehmen.
Der folgende Taklimpuls FB prüft die Bitstelle FO im Register Fauf das Vorhandensein eines Eins-Bits. Dies
geschieht mit Hilfe einer UND-Schaltung 767 in einer Übertragungssteuerung 715 (Fig.5D). Der Taktimpuls FB startet außerdem einen Spannenbeginn-Binärzähler 716 und einen Gesamte-Spannenlänge-Binärzähler 717, die gemeinsam das Register / bilden. Der folgende Taktimpuls FCverschiebt den Inhalt des Registers Fum ein Bit nach rechts. Nach 32 derartigen Verschiebezyklen ergibt die Gesamtverschiebung von 32 Bits die Position der Eins-Bits und die gesamte Spannenlänge als Inhalt der Zähler 71ö und 717. Der Inhalt deb Registers F wird während der Verschiebeoperationen aufbewahrt, indem jeweils der Inhalt der Bitstelle L 0 des Registers F zu dessen Bitstelle L 31 über Leitungen 718 und 719 zurückübertragen wird (Schieberegister-Rückkopplung). Der Inhalt des Registers F ist daher nach 32 Stellenverschiebungen der gleiche wie am Beginn dieser Stellenverschiebungen. Die Taktimpulse FD und FE haben für den Binärzähler 706 die gleiche Weiterschalt- und Prüffunktion, wie sie oben bereits für die Impulse AD und AE beschrieben wurde. Das gleichzeitige Auftreten des Zählstandes 32 im Zähler 706 und der Taktinipulse FE and EC erfüllt die Eingangsbedingungen der UND-Schaltung 720, so daß diese ein Anzeigesignal für eine Beendigung des geradzahligen Zyklus an die zentrale Verarbeitungseinheit 500 abgibt
Es wird als nächstes ein Taktimpuls RO 2 erzeugt, der zur Entnahme der Anzeigeinformationen aus den Indikatoren 713 und 714 dient Diese Entnahmesignale werden dazu benutzt, die Speicherung der laufenden Spanne von Zeile Y= 3 sowie eine Identifizierung dieser Zeile in einem geeigneten Speicherbereich vorzunehmen, der für die Aufnahme der Abwärts-Verbindungsliste reserviert ist Die Taktimpulse RO 2 veranlassen außerdem eine Entnahme des Zählstandes aus den Zählern 716 und 717 über /-Ausgangstore 769.
Als letzter Taktimpuls des ungeraden Zyklus tritt der Taktimpuls RO 3 auf, der eine Entnahme des Inhalts des Registers D über dessen Ausgangstore 770 veranlaßt Hierdurch wird der äußerste rechte Block von Eins-Bits in Zeile Y= 4 als nächste Ιε Tende Spanne für die Durchführung des nächsten ungeraden Zyklus bereitgestellt.
Es wird daraufhin der ungerade Zyklus gemäß F i g. 6 wiederholt.
Hierbei wird jedoch mit Erscheinen des Taktimpulses LB das Regr ' er A nicht mit einer Spanne aus der Zeile F= 3 geladen, sondern mit dem äußersten rechten Block von Einsen der Zeile Y= 4. der zuvor während des geraden Zyklus im Register D isoliert worden ist. Der Taktimpuls LC bewirkt, daß die Zeile F= 3 in das Register B geladen wird, jedoch ohne deren äußersten rechten Block. Die Arbeitsweise der in den Fig. 5A bis 5D dargestellten Einrichtung wird durch sich abwechselnde ungerade und gerade Zyklen der oben beschriebenen Art fortgesetzt, bis das gesamte Segmentbild abgetastet worden ist und die entsprechenden Einträge in den Aufwärts- und Abwärts-Verbindungslisten vorgenommen worden sind. Für einen Teil der Operationszyklen zur Segmenttrennung sind die Inhalte der Register der Einrichtung aus den nachfolgenden Tabellen zu ersehen. Die zur Herstellung dieser Inhalte stattfindenden einzelnen Operationen entsprechen den oben für diese Register beschriebenen Operationen. Die Registerbezeichnung ist jeweils in der ersten Spalte der Tabellen angegeben. Im mittleren Bereich der Tabellen sind die Registerinhalte angegeben, Und im rechten Bereich befinden sich Kommentare zu den Operationen, die zu den betreffenden Registerinhalten geführt haben.
I.'
"1
r
19 00011111111111111111111111111000 OOOllllllllllllllllllllllllllOOO 22 20 693 20 A mit Zeile Y = 3 laden
Tabelle 1 - Erster ungerader Zyklus,)' = 3 oooooooooooooooooooooooooooooooo B mit Zeile Y= 2 laden
A oooooooooooooooooooooooooooooooo 00011000000000000000000000011000
B 00000000000000000000000000000000 oooooooooooo&ooooooooooooooooooo
C OOOOOOOOOOOOOOOOOOOOOOOOCOOOOOOÜ 00000000000000000000000000000000
D oooooooooooooooooooooooooooooooo 00000000000000000000000000000000 A verschieben (32X)1 um äußersten
F oooooooooooooooooooooooooooooooo rechten
A oooooooooooooooooooooooooooooooo Block von Einsen von A nach F
00011000000000000000000000011000 zu übertragen
B 00000000000000000000000000000000
00000000000000000000000000000000 oooooooooooooooooooooooooooooooo
C OOOlllllllllinilllllllllllllOOO oooooooooooooooooooooooooooooooo
D oooooooooooooooooooooooooooooooo 000111111111 111 11111111111111000
F oooooooooooooooooooooooooooooooo (XX)OMOOOOOCK)OO(X)OOOOOOOOOOOOOOo Cn = Bn(Fn+ ι + Fn + Fn- j)
A oooooooooooooooooooooooooooooooo 0001lOOOOOOOOOOOOOOOOOOOOOOl1000 Dn=Bn(Cn+ , + Cn +C1V-,)
B 00()0()0000(X)OOi)0{X)üO()000000000000 00011000000000000000000000011000 C rückstellen 32Xwiederholen
C 00011111111111111111lllllllllUOO 0001lOOPOOOOOOOOOOOOOOOOOOO11000 D zu C übertragen
D 00000000000000000000000000000000 OOOlllllliinilllllllllllllllOOO
F 00000000000000000000000000000000
A 00000000000000000000000000000000 C verschieben (32X), um äußersten
B rechten
C oooooooooooooooooooooooooooooooo Block von Einsen von C nach D
zu übertragen
D 0001llllllllllllllllllllllll1000
oooooooooooooooooooooooooooooooo
F oooooooooooooooooooooooooooooooo
A oooooooooooooooooooooooooooooooo C INDIKATOR BIT = 0
B oooooooooooooooooooooooooooooooo D INDIKATOR BIT = 0
C 00011111111111111111111111111000
D Tabelle 2 - Erster gerader Zyklus, V = 3
F A A mit Inhalt von F laden (äußerster
rechter Block von Einsen aus Y= 3)
B B mit Y = 4 laden
C
D
F
A A verschieben (32X), um äußersten
rechten
B Block von Einsen von A nach F
zu übertragen
C
D
F
I Λ
i β Cn = Bn(Fn+ +Fn + Fn+ Fn- ,)
] C Z),v = Bn(Cn+ ι + Cn + Cn- i)
' D C '.rückstellen 32X wiederholen
F
1
J
D nach C übertragen
22
Fortsetzung
A B C
A B C D F
OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO 00011000000000000000000000011000 00011000000000000000000000000000
00000000000000000000000000011000
00011111111111111111111111111000
00000000000000000000000000000000 00011000000000000000000000011000 00011000000000000000000000000000 00000000000000000000000000011000 00011111111111111111111111111000
Tabelle 3 - Zweiter ungerader Zyklus, Y =
A 00000000000000000000000000011000
B OOOtXJOOOOOOOCJOOOCIOOOOOOOOOOOOOOO
C 00000000000000000000000000000000
D 00000000000000000000000000000000
F OOiJOOOOOOOOOOOOOOOOOOOOOOOOOOOOO
A OOOOOCWOiXXXJOiXXJOOOOOOOOOOOOOOOO
B 00000000000000000000000000000000
C (KKMXXJOOOOOOOOiXXJOOOOOOOOOOOOOOO
D OOOCJOOOOCXXJOOOOOOOOOOOOOOOOOOOOO
F OOiJOOOOOOOOOOOOOOOOOOOOOOOOllOOO
A 00000000000000000000000000000000
B OOOOOOOOiKtOOOOOOOOOOOOOOOOOOOOOO
C 00000000000000000000000000000000
D 00000000000000000000000000000000
F 00000000000000000000000000011000
A ÖOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO
B 00000000000000000000000000000000
C 00000000000000000000000000000000
D 00000000000000000000000000000000
F 00000000000000000000000000011000
A 00000000000000000000000000000000
B 00000000000000000000000000000000
C 00000000000000000000000000000000
D 00000000000000000000000000000000
F 00000000000000000000000000011000
C verschieben (32X), um äußersten rechten
Block von Einsen von C nach D zu übertragen
CINDIKATORBIT = 1 D INDIKATOR BIT = \ Spannensfart einstellen X = 00011 (3) Gesamtspannenlänge einstellen AX= 11010(26)
A mit Inhalt von D laden (äußerster rechter Block von Einsen von Y = 4)
B von Y - 3 laden
A verschieben (32X), um äußersten rechten Block von Einsen von A nach F zu übertragen
D1M — ß,v(C,v+1 + Cv + C1V-1) C rückstellen 32 X wiederholen Ό nach C übertragen
C verschieben (32X), um äußersten rechten Block von Einsen von C nach D zu übertragen
C INDIKATOR BIT = 0 D INDIKATOR BIT = 0
Tabelle 4 - Zweiter gerader Zyklus, Y = 4 A 00000000000000000000000000011000
B 00010100000000000000000011101000
C 00000000000000000000000000000000
D 00000000000000000000000000000000
F 00000000000000000000000000000000
A mit Inhalt von Fladen (äußerster rechter Block von Einsen aus Y = 4)
B mit Y=S laden
Fortsetzung {»(XXXJOOOOOOOOOOOOOOOOOOOOOOOOOO (JOOOOOOOOOOOOOOOOOOOOOOOOOOOIOOO 22 20 693 24 I
A 00010100000000000000000011101000 I
B OOOOOWOCXJOCXJOWXWOCXWOOOOOOOOOO 00011(X)(XK)OC)()00()C)CK){){)00000000000 A verschieben (32 X^ um äußersten rechten * Ϊ-!
23 C (κ)θο(χκ)θ{)θ()οθ()οοοοοοο()θοοοο()θοοο OOOfXJOOiKXXMOOaXXWOOOOOOOOOOOOO Block von Einsen von A nach Fzu übertragen A verschieben (32X), um äußersten rechten |
D 00000000000000000000000000011000 (XJOOfXXJOOOOOOOOOOOOOOOOOOOOOOOOO Block von Einsen von A nach F τα übertragen 1
F 'Ooocxx)ooo(XX)(){)oooooo()0(X)(κ)0()0000 00000000000000000000000000000000 I
A 00010100000000000000000011101000 (JOiXKXXiOaXXKJOOOCXKJOOOOOOOOOOOOO I
B OOOOOOOOOOOOOOOOOOOOOOOOOO101000 00011000000000000000000000000000
C OOOOOOOOOOOOOOOOOOOOOOOOOIIOIOOO (XXXJOCXHJOOOOOOOOOOOOOOOOOOOOOOOO Cv = ^v(Z=Iv+I +Fn+ T=Iv-I)
D 00000000000000000000000000011000 nruvinririnrinnnnnriririivuvvvvvuvuvvinn Av = Bn(Cn+ ι + Cv + Cv- ,)
F 000000000000000000000000011O1000 00000000000000000000000000001000 Danach C rückstellen (1. von 32 Zyklen)
C 00000000000000000000000001101000
D oooooooooooooooooooooooooooooooo D nach C übertragen
A 00010100000000000000000011101000
B 000000000000000000000000011O1000
C 00000000000000000000000011101000
D 00000000000000000000000000011000 Dn = Bn(Cn+ , + Cv + Cv-1)
F 00000000000000000000000011101000 Danach C rückstellen (2. von 32 Zyklen)
C (XXXXXXJOOOOOOOOOOOOOOOOOl 1101000
D (χχχ)θθ()()()()θ()οοοοοο()(χκ)θθ()οοοοοοο D nach C übertragen
A ÖOOIOIOOOOOOOOOOOOOOOOOOI1101000
B 00000000000000000000000011101000
C ΟΟαίΟΟΟΟΟΟΟΟΟΟΟΟΟΟΟΟΟΟΟΟΙ 1101000 (3.-32. Zyklus)
D OOOOOOOOOOOOOOOOOOOOOOOOOOOl1000
F 00000000000000000000000011101000 Av = 5,v(Cv+,+Av+Cv-1)
C OOOOOOOOOOOOOOOOOOOOOOOOl1101000 Danach C rückstellen
D oooooooooooooooooooooooooooooooo D nach C übertragen
A ÖOOIOIOOOOOOOOOOOOOOOOOOI1101000
B OOOOOOOOOOOOOOOOOOOOOOOOl1100000
C 00000000000000000000000000001000
D OOOOOOOOOOOOOOOOOOOOOOOOOOOl1000 C verschieben (32X), um äußersten rechten
F 00000000000000000000000000000000 Block von Einsen von C nach D zu übertragen
A ÖOOIOIOOOOOOOOOOOOOOOOOOI1101000
B OOOOOOOOOOOOOOOOOOOOOOOOl1100000 C INDIKATOR BIT = 1
C OOOOOOOOOOOOOOOOOOOOOOOOOOOOIOOO D INDIKATOR BIT = 1
D OOOOOOOOOOOOOOOOOOOOOOOOOOOl1000 Spannenstart einstellen X = 11011 (27)
F Tabelle 5 - Dritter ungerader Zyklus, Y = 5 Gesamtspannenlänge einstellen
A 2)^=00010(2)
B A mit Inhalt von D laden (äußerster rechter Block von Einsen
C aus Y = 5)
D B mit Y=A laden
F
A
B
C
D
F
Fortsetzung
A OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO
B OOOllOOOOOOOOOOOOOOOOOOOOOOOOOOO
C COOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO
D 00000300000000000000000000000000
F (XXIOOOOOO(XX)OOOOOOOOOOUOOOOOIOOo
A OOO0(X)OOO0()OOO()OOO0()OOO0O00(XX)O0
B W)011000000(XX)0(X)0()000(XXX)000000
C O()OO(XX)OOO0O0OOO0OOOOOO(XXX)()OOOO
J) ()O()O(X)OO()O(X)OOO0()OO(XXX)OO00()O000
t ()00()0()00()00000000000000000001000
Λ ()0000000()0()00()00000{XXXX)00(X)0000
$ 000110000000(Χ)0(ΧΧ)00000000(ΧΧΧ)00
C O(X)O(XXXX)OO()(){)OO()O0OO0OO(XXXX)OO0
D (XX)OO(X)O()O(X)(XX)O()OO(X)O0OOOOOO()OO
t ()0000()()00()0()(X)000000000000001()00
26
Cn* Bn(Fn+1+Fn +FN-d Dn = Bn(Cn+I +Cn+Cn-t) Danach C rückstellen 32X wiederholen D nach C übertragen
G verschieben (32 X), um äußersten rechten Block von Einsen von C nach D /ü übertragen
C INDIKATOR BIT = 0 D INDIKATOR BIT = 0
Tabelle 6 - Dritter gerader Zyklus, Y= 5
A 00()0(XX)0000000()000000000(X)()01000
B (WiOOlOOOOCIOOOiXJOOOOOOOOlOOlOOO
C OiXXXXXJOOfXJOOOiXWaXXWOOOOOOOOOO
D OOCJOOOCIOOiJOiXJOiXXJOiXXJOOOOOOOOOOO
f OfJOCXXXWOWJOOiXXXXIOOOOOOOOOOOOOO
A (iooajooaxxxjooixxxxjooooooooooooo
B (Χ)Ο1ΟΟ1Ο(Χ)Ο0ΟΟΟ(Χ)ΟΟΟ0Ο0Ο01ΟΟ1000
C 0Ο0Ο0(ΧΧΧ)Ο00Ο0Ο(Χ)0ΟΟ0000()Ο0ΟΟ0Ο0
D 0Ο0(Χ)(Χ)()Ο()Ο0ΟΟ00()()Ο0()Ο(Χ)(Χ)Ο(Χ)Ο00
f ()0()0()00()00(Χ)0(Χ)00000000000001000
A O(XX)O(X)(X)()WO(X)O000{)O()O0(XXXXX)OO
B oooimiooooooooooooooooooiooiooo
C OOOOOOOOOOOOOOOOOOOOOOOOOÜOOIOUÜ
D OOOOOOOOOOOOOOOOOOOOOOOOOOOOIOOO
f OOOOOOOOOOOOOOOOOOOOOOOOOOOOIOOO
A 00000000000000000000000000000000
B 00010010000000000000000001001000
C 00000000000000000000000000000000
D 00000000000000000000000000001000
F 00000000000000000000000000001000
A (JOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO
B 00010010000000000000000001001000
C OOOOOOOOOOOOWXXXJOOOOOOOOOOOOOOO
D OOOOOOOOOOOOOOOOOOOOOOOOOOOOIOOO
F 00000000000000000000000000001000
A mit Inhalt von Fladen (äußerster rechter Block von Einsen
aus Y = 5) B mit Y = 6 laden
A verschieben (32X), um äußersten rechten Block von Einsen von A nach F zu übertragen
Cv= 5,v(FlV+i+ F,v+ F,v-i) Av= Ov(C1V+I + C.v+ C.v-,) Danach C rückstellen 32X wiederholen D nach C übertragen
C verschieben (32X), um äußersten rechten Block von Einsen von C nach D zu übertragen
CINDIKATORBIT = 0 D INDIKATOR BIT = I Spannenstart einstellen X= 11100 (28) Gesamtspanneniänge einstellen AX = 00001 (1)
Ablaufdiagramm-Beschreibung
In Verbindung mit F i g. 8A bis 8E werden nachfolgend an Hand eines Ablaufdiagrammes die einzelnen Verfahrensschritte im Detail beschriebe?. Nach einem Startschritt 790 wird durch einen Schritt 791 die Eingangsmatrix in einen entsprechenden Speicherbereich im Speicher 600 mit der vom Abtaster 200 durch Abtastung des ausgewählten Teils des Quellendokuments 100 erzeugten Information geladen. Dies
geschieht unter Wirkung der Steuereinheit 300 und des Kanals 400. Der Schritt Ϊ92 stellt entsprechende Steuerparameter in der zentralen Verarbeitungseinheit 500 bereit Zum Beispiel wird ein Zeilen-Adressenregiiter 780 (Fig.9A) auf Null gestellt. Außerdem wird festgelegt, ob ein Digitalisierungs-Steuerbit D in der Speicherposition 781 in Fig.9A in den Ein-Zustand oder in den Aus-Zustand gestellt werden soll. Der Zweck dieses Bits besteht darin, einen Übergang zu einer Digitalisierungsoperation an einem bestimmten Punkt des Verfahrensablaufes anzugeben, wenn es erwünscht ist, daß die X- und y-Koordinaten eines graphischen Segments, das durch das Verfahren •bgetrennt worden ist, zu erhalten und zu speichern. Wenn der Benutzer weiß, daß die auszuwertenden Quellendokumente Te.·, informationen enthalten oder wenn er nu·· die Aussonderung von Textinformationen wünscht, kann das Digitalisierungs-Steuerbit 781 im Aus-Zustand verbleiben, um damit unnötige Operatio-
*.—— ™. ■ .j.......■..!.]„ in
fidI £.11 TUIIII^IUUtI. «■"
Der nächste Schritt im Ablaufdiagramm 800 stellt fest, ob die jeweils in Behandlung befindliche V-Zeile leer ist. Für das Beispiel von Fig.4A wird für die Zeilen V=O, Y= 1 und y= 2 jeweils ein Ja-Ausgangssignal im Schritt βΟΟ erzeugt. In diesem Falle kommt der Schritt 901 zur Wirkung, der feststellt, ob die betreffende Zeile die unterste Zeile der Eingangsmatrix ist. Wenn dies der Fall ist, zeigt der Schritt 902 an, daß alle Objekte der Eingangsmatrix getrennt sind. Im anderen Falle erfolgt ein Übergang bei A1 7<im Schritt 903, der den Adressenwert von Y im Register 780 um eins erhöht. Danach erfolgt bei A 2 ein Übergang zurück zum Schritt 800. Die Schleife der Schritte 800, 901 und 903 wird so oft durchlaufen, bis der Schritt 800 eine Nein-Anzeige erzeugt Diese Nein-Anzeige veranlaßt, daß als nächster der Schritt 904 wirksam wird, der verschiedene Steuerparameter einstellt.
Die Bedeutung dieser Parameter wird an Hand von F i g. 9 deutlich, wo die verschiedenen Speicherbereiche des Hauptspeichers 600 (F i g. 2) dargestellt sind. Dieser Speicher enthält eine Anzahl Hinweisadressen für die Verbindungslisten. Die Adressen des ersten Eintrags in der Abwärts-Verbindunesliste ABL wird in den Speicherbereich 801 eingestellt Neben diesem Bereich befindet sich eine einzelne Speicherstelle, die ein Kennzeichen Fl enthält, das auf Null gesetzt wird, wenn die Abwärts-Verbindungsliste leer ist. Ein Speicherbereich 803 enthält die Anfangsadresse der Aufwärts-Verbindungsliste A UL und oine Speicherstelle 820 das Kennzeichen F2, das in den Null-Zustand gebracht wird, wenn die Aufwärts-Verbindungsliste leer ist Die Speicherbereiche 813 und 802 enthalten die Adressen 2 und 4, die jeweils die letzten Einträge der beiden Verbindungslisten bezeichnen. Am Anfang der Operation sind diese Felder leer. Die Ausgangsmatrix AM und die Segmentmatrix SM sind in F i g. 9A und 9B durch ihre Zeilennummern bezeichnet Sie sind am Anfang der Operation ebenfalls leer. Für die Objektmatrix bzw. Ausgangsmatrix AM\md für die Segmentmatric SM wird ein Speicherbereich 980 auf einen to Kennwert eingestellt der die maximale Länge der zu verarbeitenden Zeile angibt Im vorliegenden Beispiel wird dieser Speicherbereich auf 32 gestellt Dementsprechend wird ein Kennwert im Speicherbereich 982 entsprechend der minimalen Länge der zu verarbeitenden Zeile eingestellt Im Beispiel wird in diesem Speicherbereich der Wert Null eingestellt Ebenso existieren Kennwerte für die maximale und minimale Zeilenanzahl in Speicherbereichen 981 und 98?. Im Beispiel werden diese beiden Kennwerte auf 3 gesetzt. Der Speicher enthält ferner einen Speicherbereich 804, der zur Aufnahme eines Quellenbits 5 dient. Dieses Quellenbit zeigt an, wo die zu analysierenden V-Daten herstammen. Das Bit wird auf Null gestellt, wenn die K-Daten aus der Eingangsmatrix kommen und nicht aus einer Verbindungsliste. Der Zweck des S-Bits besteht darin, das Löschen der Information in der Eingangsmatrix zu steuern, nachdem ein Element analysiert wor Jin ist. Wie oben bereits beschrieben wurde, können die zu analysierenden Elemente entweder aus der Eingangsmatrix stammen, wo sie daraufhin gelöscht werden, oder sie können von der Aufwärts- oder Abwärts-Verbindungsliste kommen. In diesem Fall ist keine Löschung von Informationen in der Eingangsmatrix erforderlich.
Die vorausgehend erläuterten Vorbereitungs operationen sind in F i g. 8A durch die Schritte 905, 906 und 907 dargestellt Durch den folgenden Schritt 805 wird
ο rn ΐ ö I011/0
Eingangsmatrix in das Register A übertragen. Durch den Schritt 908 wird das Quellenbit »S« in den Aus-Zustand gestellt. Der Schritt 806 überträgt die obere Nachbarzeile, im Beispiel Y= 2, in das Reigster B. Der Schritt 909 startet den oben erläuterten ungeraden Speparatorzyklus, durch den in der beschriebenen Weise ein Vergleich der Inhalte der Register A und B durchgeführt wird. Der Schritt 910 stellt fest, ob die Operation des Separators beendet ist. Wenn dies der Fall ist, wird der Inhalt der Register des Separators und der Anzeigezustand der«indikatoren in einen Zwischenspeicher der zentralen Verarbeitungseinheit 500 übertragen. Dies wird durch den Schritt 850 von F i g. 8B ausgeführt.
Das Register F des Separators enthält draufhin den äußersten rechten Satz von Einsen aus der Zeile Y= 3 des Beispiels (letzte analysierte Zeile). Es wird durch eine logische ODER-Verknüpfung zwischen dem Inhalt des Registers Fund der Zeile Yder Segmentmatrix SM im Schritt 808 eine Erstellung der äußersten rechten Eins-Bits aus der Zeile Y= 3 in die Segmentmatrix SM vorgenommen. Dies geschieht im geradzahligen Zyklus des Separators. Der Schritt 309 führt eine logische UND-Verknüpfung der Zeile Yder Eingab?matrix EM durch mit der laufenden Zeile Vder Eingabematrix EM und dem Komplement des Inhalts des Registers F. Hierdurch wird der äußerste rechte Satz von Eins-Bits in der laufenden V-Zeile der Eingangsmatrix EM gelöscht
Daraufhin werden durch den Schritt 912 die Indikatorbits IBC und IBD für die Register C und L abgefragt ob sie sich im Ein-Zustand befinden. Das Indikatorbit IBDzeigt an, ob ein Eins-Bit im D-Register enthalten ist Wenn dies nicht der Fall ist liegt keine Verbindung in Aufwärts-Richtung vor. Das Indikatorbit IBC erfüllt die gleiche Funktion für das Register C Wenn sich dieser Indikator im Ein-Zustand befindet, so ist dies eine Anzeige dafür, daß mehrere Verbindungen in Aufwärts-Richtung vorliegen. Im beschriebenen Beispiel sind beide Indikatorbits zunächst im Aus-Zustand, so daß ein Übergang bei D zum Schritt 851 erfolgt
Durch diesen Schritt wird der zuvor im Zwischenspeicher der zentralen Verarbeitungseinheit 500 gespeicherte Inhalt des Registers Fvom Speicher in das Register A des Separators übertragen. Hierdurch werden die äußersten rechten Eins-Bits von Zeile Y= 3 in das Register A gebracht Daraufhin wird die Zeile Y= 4 aus
22 2G693
der Eingangsmatrix in das Register B übertragen. Diese Operation ist Gegenstand des Schrittes 810. Der folgende Schritt 913 startet den geraden Separatorzyklus in der oben beschriebenen Weise. Nachdem der Separator seine Operation beendet hat, werden der Inhalt der Register und die Indikatorbits in den Zwischenspeicher der zentralen Verarbeitungseinheit 5GO übertragen. Dies ist Gegenstand des Schrittes 852 von F i g. 8C. Im vorliegenden Beispiel wird als nächstes durch den Schritt 915 der Kennwert Xmin für die minimale Zeilenlänge geändert auf den neuen Wert x= 3, und durch den Schritt 807 wird für den Kennwert Xmax für die maximale Zeilenlänge der neue Wert 28 errechnet. Für die vom Schritt 807 auszuführende Operation wird der Wert AX aus dem Register / des Separators erhalten. Im Beispiel ist zur betrachteten Operationsphase dieser Wert 25. Ebenso wird der Wert Xmin im Schritt 915 aus dem Register / erhalten. Im Schritt 811 wird das Indikatorbit IBC abgefragt, ob es sich im F.inschalt-Ziustand befindet. Da im vorliegenden Falle mehrere Abwärts-Verbindungen existieren, liefert der Schritt 811 eine /a-Anzeige wodurch im Schriu 812 eine Abfrage durchgeführt wird, ob das Quellenbit »S« im Aus-Zustand steht Wenn dies der Fall ist, wird durch den Schritt 916 die im Speicherbereich 813 (F i g. 9A) enthaltene Hinweisadresse um eins erhöht. Danach wird der Inhalt des Registers Firn Zeileninformationsteil 814 der Aufwärts-Verbindungsliste (F i g. 9A) durch den Schritt 917 gespeichert Außerdem wird durch diesen Schritt der Zeilenwert K= 3 im Bereich 815 gespeichert. Durch einen Schritt 918 wird daraufhin das Kennzeichenbit Fl in der Speicherposition 816 in den Eins-Zustand geschaltet zur Anzeige dafür, daß die Abwärts-Verbindungsliste ABL nicht leer ist. Als nächs»es wird der Schritt 817 ausgeführt, der das Indikatorbit IBD daraufhin abfragt, ob es sich im eingeschalteten Zustand befindet. Dieses Bit zeigt die Anwesenheit eines äußersten rechten Satzes von Eins-Bits als Abwärts-Richtung-Verbindung zu dem in Behandlung befindlichen Element an. Wenn ein solcher Zustand vorliegt, wird durch den Schritt 919 der Inhalt des Registers D in das Register A übertragen. Der nun im Register A befindliche äußerste rechte Satz von Bits der Zeile Y= 4 ist damit das nächste zu behandelnde Element geworden. Durch den Schritt 920 wird die K-Adresse im Speicherbereich 780 entsprechend dem eingestellten Plus-Steuerbit OP2 um eins inkrementiert auf den Wert 4, und es erfolgt ein Obergang bei G zurück zum Schritt 908 von F i g. 8A. wo das Quellenbit »S« im Aus-Zustand gehalten wird, da die Informationsquelle nach wie vor die Eingangsmatrix und nicht eine der Verbindungslisten ist.
Die Operation wird wie vorausgehend beschrieben mit der Prüfung auf Verbindungen in den nachfolgenden Elementen fortgesetzt, bis durch den Schritt 817 von F i g. 8C festgestellt wird, daß das Indikatorbit für das Register D im Aus-Zustand steht, wodurch angezeigt wird, daß ein Segment nun getrennt worden ist. Zu diesem Zeitpunkt erfolgt ein Übergang zu einem Schritt 818, durch den der Schaltzustand des Digitalisierungsbits »D« abgefragt wird. Wenn sich dieses Bit im Ein-Zustand befindet, so bedeutet dies, daß die graphischen Daten des ausgesonderten Segmentes in digitale Informationen umzusetzen sind. Für diese Digitalisierung werden die in Fig.ÖE dargestellten Schritte ausgeführt. Es werden die Y- und X-Koordinaten des in der Segmentmatrix enthaltenen Segmentbildes separat als Segmentvektorliste in der Öbjektvektorliste von Fig.9B gespeichert, um so das Bild im Speicher in einer weniger Speicherraum erfordernden Weise, als dies bei Speicherung in der Segmentmatrix während der Verarbeitung möglich ist, aufzubewahren.
Die hierzu notwendigen Verfahrensschritte sind nicht Teil der Erfindung und werden daher in diesem Zusammenhang nicht ausführlicher beschrieben. Von der Digitalisierung werden die Kennwerte Xmin, Xmax und Ymin, Ymax in den Speicherbereichen 980 bis 983
ίο auf den neuesten Stand gebracht, wie es der obere Teil der Schritte von F i g. 8E erkennen läßt Der Schritt 854 von F i g. 8E prüft, ob die durch die Werte Xmin, Xmax, Ymin, Ymax dargestellten Ausdehnungsdaten die Bedingung der konzentrischen Quadrate erfüllen, wie sie oben erläutert wurde.
Im vorliegenden Beispiel ist das Digitalisierungsbit »D« ausgeschaltet, so daß der Schritt 818 eine Nein-Anzeige liefert, aufgrund der der Schritt 819 zur Wirkung kommt Da in diesem Falle keine Umsetzung des in der Segmentmatnx SM enthaltenen Bildes notwendig ist wird dieses Bild in die Ausgangsmatrix AM übertragen, was durch einfache ODER-Verknüpfung der Bitstellen beider Matrizen SM und AM geschieht. Durch den Schritt 921 wird dann die Segmentmatrix gelöscht, und der Schritt 922 bringt die Kennwerte Ymax oder Ymin auf den neuesten Stand.
Zu diesem Zeitpunkt wird mit der Abarbeitung der Verbindungslisten begonnen, indem zuerst die Abwärts-Verbindungsliste ABL auf einen Leer-Zustand abgefragt wird. Dies geschieht durch einen Schritt 924 in F i g. 8D. Wenn die Verbindungsliste nicht leer ist kommt der Schritt 855 zur Wirkung, der den letzten Eintrag der Abwärts-Verbindungsliste in das Register A überträgt. Durch den folgenden Schritt 925 wird der Y-Informationstei! des letztgenannten Eitrages aus dem Speicherbereich 822 in den /-Speicherbereich 780 übertragen. Danach wird durch den Schritt 926 das Quellenbit S in den Ein-Zustand gebracht. Hierdurch wird angezeigt, daß nun die zu verarbeitenden Daten aus einer der Verbindungslisten empfangen werden. Es wird eine Prüfung auf das Vorhandensein weiterer Abwärts-Verbindungen für das in Behandlung befindliche Element durchgeführt. In dieser Weise werden die ungeraden und geraden Zyklen fortgesetzt, bis durch den Schritt 817 ein Aus-Zustand für das Indikatorbit IBD des Registers D angezeigt wird. Zu diesem Zeitpunkt ist ein weiteres Segment aus den zu analysierenden Eingangsbildern abgetrennt worden. Es wird wiederum die Digitalisierungs-Steuerbit Abfrage durch den Schritt 818 vorgenommen. Das Segment wird durch den Schritt 819 in die Ausgangsmatrix übertragen. Nachdem der Kennwert Ymax des Objektes auf den neuesten Stand gebracht worden ist. erfolgt bei H ein Übergang zum Schritt 924 von F ι g. 8D. Dort wird erneut durch den Schritt 924 das Kennzeichenbit F/ abgefragt, um zu bestimmen, ob d:e Abwärts-Verbindungsliste leer ist. Wenn dies der Fall ist. führt ein Schritt 960 die gleiche Abfrage für das Kennzeichenbit F2 der Abwärts-Verbindungsliste aus. Unter der Annahme, daß die zweite Liste nteht leer ist, wird durch einen Schritt 961 der unterste Eintrag aus der Aufwärts-Verbindungsliste in das Register A- übertragen. Die Zeilenadresse aus dem Speicherbereich 822 der betreffenden Zeile wird durch den Schrill 962 in den ^-Speicherbereich 780 übertragen (F i g. 9A). Daraufhin stellt der Schritt 856 das Quellenbit »S« ein entsprechend dem Umstand, daß die zu analysierenden Daten aus einer Verbindungsliste stammen. Durch den
folgenden Schritt 963 werden die Verbindungslisten-Hinweisdadressen in den Sepicherbereich 801 und 813 sowie das Kennzeichen Fl entsprechend dem neuen Stand eingestellt. Der Schritt 964 führt die gleichen Operationen für die Steuerbits OPl und OP2 durch. Danach erfolgt ein Obergang bei C1 zum Schritt 806 von F i g. 8A, durch den die Zeile V-I der Eingangsmatrix in das Register B übertragen wi/d. Daß eine Dekrementierung der V-Adresse vorzunehmen ist, steuert der Inhalt das Operationssteuerbit OPl, der zuvor im Schritt 904 auf Minus gesetzt worden ist Durch den Schritt 909 wird nun ein ungerader Zyklus gestartet, der eine Prüfung auf das Vorhandensein von Abwärts-Verbindungen durchführt Wenn solche Verbindungen gefunden werden, erfolgen entsprechende weitere Einträge in die Verbindungslisten. Hierzu finden die Schritte 930 bis 932 statt, durch die jeweils die Hinweisadresse der Abwärts-Verbindungsliste um eins erhöht wird, der Inhalt des Register F in den Zciieninformationsteii des untersten Eintrags der Abwärts-Verbindungsliste gespeichert wird und die Abwärts-Verbindungsliste als »nicht leer« markiert wird. Der Schritt 931 bringt außerdem die richtige V-Adresse in den untersten Eintrag der Abwärts-Verbindungsliste.
Bei Fehlen von weiteren Aufwärts-Verbindungen erfolgt eine Rückkehr zum Schritt 924 von F i g. 8D, wo geprüft wird, ob die primäre Liste, die in diesem Falle die «lufwärts-Liste ist, leer ist Es wird also das Kennzeichenbit F2 in der Speicherposition 820 abgefragt Wenn die Aufwärts-Verbindungsliste nicht leer ist. erfolgt ihre weitere Abarbeitung in der beschrieDenen Weise. Hierbei führen die Schritte 927 bis 929 eine Streichung des jeweils letzten Primärlisten-Eintrags und eine Leer-Markierung der Primärliste aus, nachdem der Schritt 923 festgestellt hat, daß das Quellenbit »S« eingeschaltet ist. Wenn die Aufwärts-Verbindungsliste leer ist, wird durch den Schritt 960 die sekundäre Verbindungsliste abgefragt, die nun die Abwärts-Verbindungsliste ist Wenn beide Verbindungslisten leer sind, liefert der Schritt 857 die Anzeige, daß ein Objekt vollständig abgetrennt worden ist. In diesem Falle werden durch den Schritt 965 die Kennwerte für Xmin und Xmax auf ihre Endwerte tbgeändert. Der Schritt 858 prüft, ob das abgetrennte Objekt die Positionskriterien erfüllt
Der Begriff »Positionskriterien« wird verständlich bei Betrachtung der Fi g. 10, wo ein Teil des Quellendokuments 100 dargestellt ist Der erste Teil des Eingangsbildes besteht aus den Bereichen 3, 4 und 6. Eine nachfolgende Abtastung umfaßt die Bereiche 2,5 und 6.
Jedes Objekt, das in der ersten Abtastung abgetrennt wurde, aber nicht die Positionskriterien erfüllt, wird in der folgenden Abtastung erneut erfaßt, bis es zu einem späteren Zeitpunkt die Positionskriterien erfüllt Hierdurch soll vermieden werden, daß kleine Segmente von Eingangsbildern sofort als Störsignale klassifiziert werden, während sie in Wirklichkeit kleine Segmente von größeren Objekten sind, die erst in späteren Abtastungen gefunden werden. Ein Beispiel hierfür ist die Linie960in Fig. 10.
Nachdem die Klassifizierung durch die Schritte 966, 967 beendet ist, überträgt der Schritt 968 den Kef. r.vert Ymin, der während der Abtrennung des Objektes gefunden wurde, in das V-FeId 780. Es erfolgt dann ein Übergang zum Schritt 800, wo die Suche nach einem weiteren Objekt beginnt Sofern ein zweites Objekt gefunden wird, erfolgt eine Wiederholung der oben beschriebenen Verfahrensschritte. Wenn dagegen kein weiteres Objekt ermittelt wird und wenn die Abtastung die unterste Zeile der Eingangsmatrix erreicht hat (Schritt 901), sind alle Objekte der Eingangsmatrix verarbeitet worden. Sind noch weitere Teile des Quellendokumentes abzutasten, so erfolgt dies in der oben an Hand von Fig. 10 erläuterten überlappenden Art. Nachdem das ganze Quellendokument 100 abgetastet worden ist, wird das Verfahren mit einer Nein-Anzeige des Schrittes 858 von F i g. 8A beendet
Abweichend vom dargestellten Ausführungsbeispiel kann eine Digitalisierung auch erst nach Trennung mehrerer Segmente oder Objekte oder auch erst nach Trennung des gesamten Bildes des Quellendokumentes vorgenommen werden. Wenn es der benutzte Speicher erlaubt, kann das gesamte Bild des Quellendokumentes auf einmal abgetastet, verarbeitet und zum Speicher übertragen werden. Hierdurch wird eine überlappende Abtastung einzelner Stücke des Bildes, wie sie an Hand von Fig. 10 erläutert wurde, überflüssig. Abweichend vom dargestellten Beispiel können ferner zusätzliche Steuerbits verwendet werden, um ein Oberspringen bestimmter Elemente, Segmente oder Objekte zu veranlassen. Hierdurch kann die Analyse auf bestimmte Teile des Eingangsbildes beschränkt werden.
Hicr/u 20BI;ifl Zciii'nuneen
130 208/109

Claims (11)

Patentansprüche:
1. Verfahren zum Trennen von in einem Abtastbildbereich vorhandenen, miteinander nicht verbundenen Teilbildern, die abgetastet und als binäre Bildpunktraster in einer Eingangsmatrix zwischengespeichert werden, wobei eine erste, einen oder mehrere zusammenhängende Bildpunkte enthaltende Zeile des binären Bildpunktrasters ermittelt und daraufhin untersucht wird, ob ein Bildpunkt dieses Linienelements mit einem oder mehreren Bildpunkten einer unteren oder oberen Nachbarzeile räumlich zusammenhängt, und der Ort solcher Zusammenhänge gespeichert wird, gekennzeichnet durch folgende Merkmale:
a) der Ort der räumlichen Zusammenhänge und die diese darstellenden Bildpunkte werden für eine untere Nachbarzeile in einer Abwärtsverbindungsliste, für eine obere Nachbarzeile in einer Aufwärtsverbindungsliste gespeichert,
b) das ermittelte Linienelement wird in eine Ausgangsmatrix übertragen und gleichzeitig in der Eingangsmatrix gelöscht,
c) einer der gespeicherten Zusammenhänge mit der unteren oder oberen Nachbarzeile wird ausgewählt, der betreffende Bildpunkt in dieser Zeile als Linienelement betrachtet, dieses seinerseits auf weitere bestehende Zusammenhänge untersucht und der Ort in der Verbindungslisie gelöscht,
d) die Schritte a) bit c) wei '.en so oft wiederholt, bis ein Linieneleru-int ohne Zusammenhänge mit Nachbarzeilen ermittei wird,
e) in den Verbindungslisten wird, falls vorhanden, » ein weiterer gespeicherter Ort ausgewählt, dessen Bildpunkt mit einem Linienelement des bisher ermittelten Teilbildes zusammenhängt, und nach den Schritten a) bis d) so lange verfahren, bis keine weiteren Zusammenhänge -to mehr existieren und das vollständige Teilbild aus dem Ausgangsspeicher in einen Zielsptieher übertragen wird,
f) die Eingangsmatrix wird auf das Vorhandensein weiterer Teilbilder entsprechend den Schritten 4Ί a) bis e) untersucht.
2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß durch einen Bitstellenzähler die Bitzahl eines jeden Linienelements (Einzelbit oder lückenlose Kette von Eins-Bits), erfaßt wird und daß ein v> Vergleich der Bit/ahl mit einem vorgegebenen Grenzwert (minimale oder maximale Bitkettenlänge) zur Identifizierung der Daten als graphisches oder numerisches Objekt oder als Storinformation dient. r>
3. Verfahren nach Anspruch I oder 2, dadurch gekennzeichnet, daß abwechselnd die obere und die unlere Nachbarzeile auf das Vorliegen von Verbindungen untersucht wird.
4. Verfahren nach einem der Ansprüche 1 bis 3, &o dadurch gekennzeichnet, daß aus einer Verbindungsliste zunächst ein Randsegment (randseitiges, einzelnes Eins-Bit oder randseitige, lückenlose Kette von Eins-Bits) ausgewählt, separat gespeichert und in der Verbindungsliste gelöscht wird und daß der μ Vergleich auf weitere Zusamengehörigkeiten mit diesem Randsegment ausgeführt wird.
5. Anordnung zur Ausführung des Verfahrens
gemäß Anspruch 1, gekennzeichnet durch ein erstes Zeilenregister (A) zur Aufnahme einer ausgewählten Zeile der digitalen Rasterbild-Daten, durch ein zweites Zeilenregister (B) zur Aufnahme einer Nachbarzeile, durch eine Vergleichseinrichtung (707), die zum Vergleich der Bits vom Inhalt des zweiten Zeilenregisters mit wenigstens einem Teil der Bits vom Inhalt des ersten Zeilenregist ;rs dient zur Bestimmung von Zusammengehörigkeiten zwischen diesen Bits, durch ein an die Vergleichseinrichtung angeschlossenes Verbindungsregister (C), in das für jede festgestellte Zusammengehörigkeit ein deren Bitstelle zugeordnetes Signal übertragen wird, und durch eine mit dem Ausgang des Verbindungsregisters gekoppelte Anzeigeschaltung (713), die nach einem Vergleich zur Anzeige existierender Zusammengehörigkeiten und damit zur Steuerung der Fortführung des Vergleichs mit der nächsten Nachbarzeile oder der Beendigung der Zusammengehörigkeitsanalyse dient.
6. Anordnung nach Anspruch 5, dadurch gekennzeichnet, daß das erste Zeilenregister (A) durch eine Übertragungsschaltung (704) mit einem Aussonderungsregister (F) verbunden ist, die von den Bits im ersten Zeilenregister nur ein Randsegment (randseitiges, einzelnes Fins-Bit oder randseitige, lückenlose Kette von Eins-Bits) bestimmt, in das Aussonderungsregister überträgt und im ersten Zeilenregister löscht, und daß das Aussonderungsregister an einen Eingang der Vergleichsschaltung (707) angeschlossen ist.
7. Anordnung nach Anspruch 6, dadurch gekennzeichnet, daß das erste Zeilenregister (A) und das Aussonderungsregister (F) Schieberegister sind, die synchron fortgeschaltet werden, daß der Ausgang des ersten Zeilenregisters über die Übertragungsschaltung (704) /um Eingang dieses Registers rückgekoppelt ist und daß die Übertragungsschaltung (704) Umschalter (Li, LZ L 3) aufweist, die über Tore (501, 502) während ^ines Verschiebezyklus das erste Linienelement zum Aussondemngsregister überträgt und die restlichen Bits der Zeile zum Eingang des ersten Zeilenregisters zurückführt.
8. Anordnung nach einem der Ansprüche 5 bis 7, dadurch gekennzeichnet, daß die Vergleichseinrichtung (707) die logische Beziehung
Cv = Bn(Fn* ι + Fn+ Fh \)
erfüllt, worin C'jvdie Bitstellen des Verbindungsregisters (C), Bn die Bitstellen des zweiten Zeilenregisters (F) darstellen und worin Fn* 1 und Fn ι Bitstellen des Aussonderungsregisters sind, die jeweils einer Bitstelle Fn beidseitig benachbart sind.
9. Anordnung nach einem der Ansprüche 5 bis 8 dadurch gekennzeichnet, daß dem Vcbindungsregi ster (C) ein Aussonderungsregister (D) zugeordnet ist. in welches durch eine Übertragungsschaltung (710) aus dem Verbindungsregister (C) das äußerste rechte Eins-Bit oder die äußerste rechte lückenlose Kette von Eins-Bits übertragen wird, daß mit jedem dieser beiden Register (Cund D) eine Anzeigeschal· lung (713, 714) verbunden ist, weiche die Anwesenheit wenigstens eines Eins-Bits im zugeordneten Register anzeigt, wobei ein Eins*Ausgangssignal der Anzeigeschaltung (714) des Aussonderungsregisters (D)das Vorhandensein einer einzigen Zusammenge* hörigkeit und ein Ausgangssignal der Anzeigeschal· tung (713) des Registers (C) das Vorhandensein von
mehr ais einer Zusammengehörigkeit für das untersuchte Linienelement anzeigt.
10. Anordnung nach einem der Ansprüche 1 bis 9, gekennzeichnet durch einen Bitzähler (716), der während eines Verschiebezyklus für jedes im Aussonderungsregister (F) enthaltene Eins-Bit einen Zählimpuls zugeführt erhält und damit jeweils die Bitzahl des Objektsegments anzeigt, das auf das Vorliegen von Zusammengehörigkeiten untersucht wurde. ι ο
11. Anordnung nach einem der Ansprüche 5 bis 10, dadurch gekennzeichnet, daß eine Steuereinrichtung vorgesehen ist, welche Taktimpulse für einen ersten Operationszyklus erzeugt, die zu einer im ersten Zeilenregister (A) enthaltenen Zeile eine nach oben is benachbarte Zeile in das zweite Zeilenregister (B) übertragen und die Zusammengehörigkeit zur Untersuchung beider Register steuern, und weiche Taktimpulse für einen zweiten Operationszyklus erzeugt die zu der im ersten Zeilenregister enthaltenen Zeile eine nach unten benachbarte Zeile in das zweite Zeilenregister übertragen und die Zusammengehörigkeitsuntersuchung beider Zeilen steuern.
25
DE2220693A 1971-04-30 1972-04-27 Verfahren und Einrichtung zum Trennen von in einem Abtastbildbereich vorhandenen, miteinander nicht verbundenen Teilbildern Expired DE2220693C3 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US00139113A US3805237A (en) 1971-04-30 1971-04-30 Technique for the conversion to digital form of interspersed symbolic and graphic data

Publications (3)

Publication Number Publication Date
DE2220693A1 DE2220693A1 (de) 1972-11-09
DE2220693B2 DE2220693B2 (de) 1980-06-04
DE2220693C3 true DE2220693C3 (de) 1981-02-19

Family

ID=22485190

Family Applications (1)

Application Number Title Priority Date Filing Date
DE2220693A Expired DE2220693C3 (de) 1971-04-30 1972-04-27 Verfahren und Einrichtung zum Trennen von in einem Abtastbildbereich vorhandenen, miteinander nicht verbundenen Teilbildern

Country Status (5)

Country Link
US (1) US3805237A (de)
JP (1) JPS529344B1 (de)
DE (1) DE2220693C3 (de)
FR (1) FR2151805A5 (de)
GB (1) GB1338867A (de)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4083034A (en) * 1976-10-04 1978-04-04 Recognition Equipment Incorporated Plural tracker character detection and boundary location system
US4379282A (en) * 1979-06-01 1983-04-05 Dest Corporation Apparatus and method for separation of optical character recognition data
DE3049369A1 (de) * 1979-12-29 1981-09-17 Canon K.K., Tokyo Bildreproduktionsgeraet
DE3019836A1 (de) * 1980-05-23 1982-01-21 Siemens AG, 1000 Berlin und 8000 München Verfahren zum automatischen erkennen von bild- und text- oder graphikbereichen auf druckvorlagen
DE3034099A1 (de) * 1980-09-10 1982-05-19 Computer Gesellschaft Konstanz Mbh, 7750 Konstanz Verfahren und schaltungsanordnung zur segmentierung von zeichen aus einer seriell gelesenen zeichenfolge
DE3107521A1 (de) * 1981-02-27 1982-09-16 Siemens AG, 1000 Berlin und 8000 München Verfahren zum automatischen erkennen von bild- und text- oder graphikbereichen auf druckvorlagen
DE3107655A1 (de) * 1981-02-27 1982-09-16 Siemens AG, 1000 Berlin und 8000 München Verfahren zum auffinden und abgrenzen von textbereichen auf einer vorlage, die text-, graphik- und/oder bildbereiche enthalten kann
DE3113555A1 (de) * 1981-04-03 1982-10-21 Siemens AG, 1000 Berlin und 8000 München Verfahren zum automatischen erkennen von weissbloecken sowie text-, graphik- und/oder graubildbereichen auf druckvorlagen
ATE48196T1 (de) * 1981-04-25 1989-12-15 Image Processing Tech Geraet fuer die automatische trennung eines aufgenommenen bildes in einem visuellen formerkennungssystem.
FR2599205B1 (fr) * 1981-11-27 1990-08-24 Thomson Csf Procede recursif de caracterisation de zones isotropes dans une image video; dispositif detecteur de mouvement et detecteur de bruit dans une sequence d'images
CA1191955A (en) * 1983-01-07 1985-08-13 Michael A. Goolsbey Locating individual images in a field for recognition or the like
US4700401A (en) * 1983-02-28 1987-10-13 Dest Corporation Method and apparatus for character recognition employing a dead-band correlator
CA1268547A (en) * 1986-03-31 1990-05-01 Ahmed Mostafa El-Sherbini Thresholding algorithm selection apparatus
JPH06101049B2 (ja) * 1988-03-25 1994-12-12 インターナシヨナル・ビジネス・マシーンズ・コーポレーシヨン 文字列検出方法
US5038381A (en) * 1988-07-11 1991-08-06 New Dest Corporation Image/text filtering system and method
US5050222A (en) * 1990-05-21 1991-09-17 Eastman Kodak Company Polygon-based technique for the automatic classification of text and graphics components from digitized paper-based forms
JPH0772861B2 (ja) * 1990-08-24 1995-08-02 富士ゼロックス株式会社 プログラム作成装置
US5689342A (en) * 1994-11-17 1997-11-18 Canon Kabushiki Kaisha Image processing method and apparatus which orders text areas which have been extracted from an image
DE10110208A1 (de) * 2001-03-02 2002-09-19 Siemens Production & Logistics Verfahren zum Spezifizieren, Ausführen und Analysieren von Verfahrensabläufen beim Erkennen

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
BE587299A (de) * 1957-05-17
US3196398A (en) * 1962-05-21 1965-07-20 Ibm Pattern recognition preprocessing techniques
US3297993A (en) * 1963-12-19 1967-01-10 Ibm Apparatus for generating information regarding the spatial distribution of a function
US3496542A (en) * 1966-10-27 1970-02-17 Control Data Corp Multifont character reading machine
US3496543A (en) * 1967-01-27 1970-02-17 Singer General Precision On-line read/copy data processing system accepting printed and graphic material
US3588822A (en) * 1967-03-06 1971-06-28 Hitachi Ltd Character recognition apparatus for identifying characters by detecting stroke features of the characters
US3564498A (en) * 1969-10-31 1971-02-16 Burroughs Corp Character recognition system

Also Published As

Publication number Publication date
JPS529344B1 (de) 1977-03-15
FR2151805A5 (de) 1973-04-20
DE2220693B2 (de) 1980-06-04
DE2220693A1 (de) 1972-11-09
US3805237A (en) 1974-04-16
GB1338867A (en) 1973-11-28

Similar Documents

Publication Publication Date Title
DE2220693C3 (de) Verfahren und Einrichtung zum Trennen von in einem Abtastbildbereich vorhandenen, miteinander nicht verbundenen Teilbildern
DE2362111C2 (de) Computergesteuerte Kommunikationsanordnung
DE2264090C3 (de) Datenverdichtung
DE3217522C2 (de)
DE2948341A1 (de) Verfahren zum verarbeiten von bildelementen und vorrichtung zum verarbeiten einer bilddatenreihe
DE2432129C3 (de) Verfahren zum maschinellen Lesen von Zeichen und Vorrichtung zur Durchführung des Verfahrens
DE3809025A1 (de) Bereichserkennungseinrichtung
DE2557553A1 (de) Verfahren und anordnung zur bilddatenverdichtung und -reexpansion
DE19529142A1 (de) Verfahren zum automatischen Identifizieren einer Anzahl Fehlerstellen in einem digitalen Bild
DE2654481A1 (de) Faksimile-bildfernuebertragungsvorrichtung
DE2728889C3 (de) Verfahren und Vorrichtung zum Übertragen eines Zweipegel-Faksimilesignals
DE2438202A1 (de) Vorrichtung zur erzeugung von videosymbolen
EP0764310A1 (de) Verfahren zur generierung einer contone-map
DE2725193A1 (de) Verfahren und vorrichtung zur statistischen aufloesungsumsetzung
DE4011758C2 (de)
DE2558264B2 (de) Verfahren zur Verdichtung binärer Bilddaten
DE2154902A1 (de) Verfahren und Vorrichtung zum Zusammenstellen einer farbigen Druckseite
DE2727627A1 (de) Paralleldekodiersystem und verfahren zur umsetzung von binaerdaten in videoform
DE2146497B2 (de) Segmentierungs-Vorrichtung für optische Zeichenleser
DE2414239C3 (de) Verfahren und Vorrichtung zum Komprimieren einer binären Informationsfolge
DE2825519A1 (de) Elektronisches ausgabegeraet fuer mehrzeilige textwiedergabe
DE3024322A1 (de) Verfahren zur codierung von elektrischen signalen, die bei der abtastung eines grafischen musters mit aus text und bildern gemischtem inhalt gewonnen werden
EP1013070A2 (de) Verfahren und gerät zur elektronischen archivierung eines computer-datenstroms
DE2557922B2 (de) Verfahren zum Komprimieren von Faksimiledaten und Vorrichtung zu seiner Durchführung
DE2832511A1 (de) Verfahren und vorrichtung zur uebermittlung von bildinformationen

Legal Events

Date Code Title Description
C3 Grant after two publication steps (3rd publication)
8339 Ceased/non-payment of the annual fee