DE69724085T2 - Verfahren und Vorrichtung zur Etikettierung von Bildbereichen - Google Patents

Verfahren und Vorrichtung zur Etikettierung von Bildbereichen Download PDF

Info

Publication number
DE69724085T2
DE69724085T2 DE69724085T DE69724085T DE69724085T2 DE 69724085 T2 DE69724085 T2 DE 69724085T2 DE 69724085 T DE69724085 T DE 69724085T DE 69724085 T DE69724085 T DE 69724085T DE 69724085 T2 DE69724085 T2 DE 69724085T2
Authority
DE
Germany
Prior art keywords
segment
line
memory
current
label
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
DE69724085T
Other languages
English (en)
Other versions
DE69724085D1 (de
Inventor
Frederic Rivoallon
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.)
Technicolor SA
Original Assignee
Thomson Multimedia SA
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 Thomson Multimedia SA filed Critical Thomson Multimedia SA
Application granted granted Critical
Publication of DE69724085D1 publication Critical patent/DE69724085D1/de
Publication of DE69724085T2 publication Critical patent/DE69724085T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/0002Inspection of images, e.g. flaw detection
    • G06T7/0004Industrial image inspection
    • G06T7/0006Industrial image inspection using a design-rule based approach
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/11Region-based segmentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10016Video; Image sequence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30108Industrial image inspection

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Image Processing (AREA)
  • Image Analysis (AREA)

Description

  • Die Erfindung betrifft die Bildverarbeitung und insbesondere die Etikettierung von vorher bestimmten Bereichen in einem Bild.
  • Dieser Typ des Vorgangs dient zum Beispiel für die Verarbeitung von Videodaten, für die Identifikation von Bildbereichen durch Segmentierung oder Extrahierung von Bereichen.
  • Das Gebiet kann das einer industriellen Inspektion sein, zum Beispiel für die Ermittlung von Anomalien in einem Objekt aus einem Bild dieses Objekts, das von einer Videokamera stammt. Es kann in einem Vergleich mit einem bestimmten Modell oder Auswertung der Bereichsfläche bestehen. Die Anomalien werden als spezifische Bereiche identifiziert und extrahiert. Sie werden als bedeutend (major) oder unbedeutend (minor) angesehen, abhängig von der Größe und der Anzahl der Bereiche. Die Entscheidung, dass inspizierte Objekt oder die Komponente zurückzuweisen oder zu verwerten, erfolgt auf der Grundlage dieser Kriterien.
  • Der Etikettierungsvorgang besteht in der Bildung eines grauen Bildes, von dem jeder Grauwert einer Bereichsnummer entspricht.
  • Für eine industrielle Anwendung des Steuertyps erfordert die Verarbeitung des Bildes einen Vorgang in nahezu Echtzeit oder wenigstens einen sehr schnellen Vorgang. Er muß eine hohe Leistungsfähigkeit bei der Detektion der Defekte, d. h. in der Verarbeitung von Bereichen mit sehr geringen Flächen aufweisen.
  • Die bekannten Verfahren und Vorrichtungen sind im allgemeinen ungeeignet und langwierig in der Ausführung, und zwar aufgrund der Anwendung von komplexen Algorithmen, die eine beachtliche Zahl von Berechnungen und einen mehrfachen Zugriff zu den Speichern benötigen. Das ist insbesondere der Fall, wenn die Verarbeitung beim Pixelwert erfolgt.
  • Die US 4 624 013 zeigt zum Beispiel ein Verfahren zur Etikettierung von Bereichen in einem Bild, wo Pixel einzeln verarbeitet werden. Die Verarbeitung ist zeitaufwendig und ermöglicht keine Ausführung einer Etikettierung in Echtzeit.
  • Der Zweck der Erfindung besteht darin, die oben genannten Nachteile zu vermeiden.
  • Zu diesem Zweck betrifft die Erfindung ein Verfahren zur Etikettierung von Bereichen eines binären Bildes gemäß Anspruch 1.
  • Die Erfindung betrifft außerdem eine Vorrichtung gemäß Anspruch 2 zur Durchführung des obigen Verfahrens.
  • Das beschriebene Verfahren macht es möglich, vorverdrahtete programmierbare Schaltungen anzuwenden und dadurch die Berechnungszeit beachtlich zu verringern, wobei die durchgeführten Algorithmen sehr schnell sind. Die Erfindung ermöglicht die Verarbeitung von Bildern mit einer großen Fläche mit einer Definition beim Pixelwert. Der Aufbau wird daher vereinfacht, er fordert geringe Kosten und ist in hohem Maße flexibel.
  • Weitere Merkmale und Vorteile der Erfindung ergeben sich klar aus der folgenden Beschreibung eines nicht-einschränkenden Beispiels anhand der beigefügten Figuren: Darin zeigen:
  • 1 eine Vorrichtung gemäß der Erfindung,
  • 2a ein Beispiel eines Bildes während der ersten Verarbeitungsphase,
  • 2b ein Beispiel eines Bildes während der zweiten Verarbeitungsphase.
  • 1 zeigt eine Vorrichtung gemäß der Erfindung.
  • Der Eingang der Vorrichtung ist der Eingang eines Segmentzählers 1. Der Ausgang dieses Zählers ist mit dem Eingang eines FIFO-Speichers 2 und mit dem Eingang einer Vergleichs-, Speicherungs- und Sequentialisierungs-Schaltung 6 verbunden, die als CMS bezeichnet wird. Der FIFO-Ausgang ist mit einem ersten Eingang eines Multiplexers 5 und mit einem zweiten Eingang der Schaltung CMS verbunden. Ein erster Ausgang der Schaltung CMS ist mit dem zweiten Eingang des Multiplexers 5 verbunden. Ein erster und ein zweiter Ausgang dieses Multiplexers sind mit dem Adressbus eines Speichers 3 bzw. dem Adressbus eines Speichers 4 verbunden. Diese beiden Speicher, auch mit A und B bezeichnet, sind sogenannte "dubbed connectivity memories". Ein zweiter Ausgang der Schaltung CMS ist mit einem Bereichszähler 7 verbunden, dessen Ausgang seinerseits mit einem ersten Eingang eines zweiten Multiplexers 9 verbunden ist. Die Datenbusse der "connectivity memories" sind jeweils mit den beiden Eingängen/Ausgängen eines ersten bidirektionalen Multiplexers 8 verbunden. Ein Ausgang dieses Multiplexers ist mit einem Bildspeicher 10, mit einem zweiten Eingang des Multiplexers 9 sowie mit einem dritten Eingang der Schaltung CMS verbunden. Ein Eingang dieses Multiplexers 8 ist mit dem Ausgang des Multiplexers 9 verbunden. Ein dritter und ein vierter Ausgang der Schaltung CMS sind mit einem ersten Eingang eines zweiten Multiplexers vom bidirektionalen Typ 12 bzw. eines dritten unidirektionalen Multiplexers 13 verbunden. Der Ausgang des Multiplexers 13 ist mit einem Adressbus eines Synonymspeichers 11 verbunden, und die Eingangs/Ausgangs-Seite des Speichers des Multiplexers 12 ist mit dem Datenbus dieses Speichers verbunden. Ein zweiter Eingang des Multiplexers 13 stammt von dem Ausgang des Bildspeichers 10 und einem dritten Eingang einer zentralen Verarbeitungsschaltung oder CPU-Schaltung, die in der Figur nicht dargestellt ist. Ein Eingang/Ausgang des Multiplexers 12 ist ebenso mit der Schaltung CPU verbunden, und ein Ausgang dieses Multiplexers entspricht dem Ausgang der Vorrichtung.
  • Die zu dem Eingang der Vorrichtung übertragenen Informationswörter sind binäre Wörter. Der Hintergrund des Bildes entspricht zum Beispiel einem Nullwert, und die relevanten Elemente oder diejenigen, die in dem Bild zu identifizieren sind, entsprechen einem Einheitswert.
  • Diese Datenwörter ergeben sich aus bekannten Verarbeitungsvorgängen, wie dem sogenanntem "thresholding" (Schwellwertbildung) des Videobildes für die Luminanzinformationen, Chrominanzinformationen, usw.
  • Danach wird die Folge von Pixeln mit dem Einheitswert auf einer Zeile als ein Segment bezeichnet. Ein Segment ist daher durch zwei Pixel mit dem Nullwert begrenzt, und die Länge eines Segments kann sich zwischen einem Pixel und einer Zeile ändern.
  • Die Datenwörter werden Zeile für Zeile, ein Bit je Pixel, an dem Eingang des Geräts empfangen, der der Eingang einer programmierbaren logischen Schaltung ist, deren verschiedene Funktionen im folgenden erläutert werden.
  • Diese Datenwörter werden zu dem Eingang eines Zählers 1 übertragen, der jedes Mal inkrementiert wird, wenn er ein Einheitsbit empfängt, das auf ein Bit mit dem Nullwert folgt, oder das das erste der Zeile ist. Dies ist ein Zähler für die Nummerierung innerhalb der Zeile (intra-line numbering) oder ein Segmentzähler, der mit jedem Zeilenstart ausgelöst wird. Jeder Takteingang des Zählers ist der Takteingang der programmierbaren logischen Schaltung, die außerdem die verschiedenen, im folgenden beschriebenen Schaltungen speist, im allgemeinen durch eine im folgenden beschriebene Vergleichs-, Speicherungs- und Sequentialisierungs-Schaltung.
  • Dieser Takt liegt zum Beispiel bei der Frequenz von 40 MHz. Der am Ausgang des Zählers verfügbare Wert wird bei der Pixelrate zu einem FIFO-Speicher 2 übertragen, der die Segmentnummern für diejenigen speichert, die einer Bildzeile entsprechen. Der Zweck dieses Speichers besteht darin, die als Eingang empfangenen Datenwörter um eine Zeilenperiode zu verzögern, damit sie nacheinander gleichzeitig über den Datenbus eines Konnektivitäts-Speicher 3 oder 4, auch bezeichnet als Tabelle von sogenannten Match-ups, über einen Multiplexer 5 und dem Eingang einer Vergleichs-, Speicher- und Sequentialisierungsschaltung, bezeichnet als CMS 6, übertragen werden.
  • Die Match-up-Tabelle besteht aus zwei Speichern 3 und 4.
  • Ein Komparator der Schaltung CM 6 vergleicht die an dem Ausgang verfügbaren Datenwörter des Segmentzählers mit den am FIFO-Ausgang gelieferten Datenwörtern, d. h. die einem Pixel der laufenden Zeile zugeordnete Zahl mit der dem entsprechenden Pixel der darüber liegenden Zeile zugeordneten Zahl (auch als vorangehende Zeile bezeichnet). Die Schaltung CMS prüft, nachdem sie alle einem vollständigen Segment der laufenden Zeile entsprechenden Datenwörter eingegeben hat, ob dieses Segment mit wenigstens einem Segment der vorangehenden Zeile übereinstimmt, d. h., ob es eine Überlappung oder einen Einschluß von Segmenten gibt, wenn zwei Zeilen überlagert werden.
  • Im negativen Fall, also wenn das nicht der fall ist, d. h. im Falle, in dem für alle Pixel des Segmentes der laufenden Zeile ein Nullwert der vorangehenden Zeile übereinstimmt, wird ein Inkrementierungssignal als Ausgang von der Schaltung CMS zu einem Bereichszähler 7 übertragen.
  • Betrieb der Tabelle der Match-ups
  • Die Speicher A und B sind als FLIP-FLOP-Einheit geschaltet. Wenn einer der Speicher schreibt, ist der andere beim Lesen, und umgekehrt.
  • Es folgt eine Beschreibung des Betriebs des Bereichs-Schreibmodus für das Segment der laufenden Zeile, das der Phase eins des Betriebs der Einheit entspricht. Es sei angenommen, dass sich der Speicher A im Lesemodus und der Speicher B sich im Schreibmodus befindet.
  • Die Segmentnummer der den FIFO-Speicher verlassenden vorangehenden Zeile wird über den Adressbus zu dem Speicher A übertragen, und die Nummer des Segments der laufenden Zeile aus der Schaltung CMS wird über den Adressbus zu dem Speicher B übertragen.
  • Der Speicher A liefert an seinem Datenbus die Bereichsnummer, die der Segmentnummer der vorangehenden Zeile entspricht, die zu der Schaltung CMS übertragene Nummer.
  • Der Speicher B empfängt an seinem Datenbus die Bereichsnummer von dem Bereichszähler oder die Bereichsnummer entsprechend Segmentnummer der vorangehenden Zeile von dem Speicher A, abhängig von dem Befehl des Multiplexers 9.
  • Das laufende Segment wird in die Schaltung CMS eingegeben.
  • Es treten zwei Fälle auf:
  • Erster Fall
  • Es besteht eine Übereinstimmung zwischen dem Segment der laufenden Zeile und wenigstens einem Segment der vorangehenden Zeile. Somit wird kein Inkrementierungs-Datenwort zu dem Bereichszähler übertragen. Der Speicher B bewirkt die Aufzeichnung bei der Adresse, die der Nummer des Segments der laufenden Zeile entspricht, der Bereichszahlen von dem Speicher A für das erste übereinstimmende Segment der vorangehenden Zeile, dessen Nummer auf dem Adressbus des Speichers A dargestellt wird. Wenn ein zweites Segment der vorangehenden Zeile übereinstimmt, wird ein synonymer Speicher benutzt, wie im folgenden beschrieben wird.
  • Zweiter Fall
  • Es besteht keine Übereinstimmung zwischen dem Segment der laufenden Zeile und einem Segment der vorangehenden Zeile. Somit wird ein Inkrementierungs-Datenwort zu dem Bereichszähler gesendet, und diese neue Bereichsnummer, die an seinem Ausgang verfügbar ist, wird über den Datenbus des Speichers B übertragen (der Multiplexer 9 wird entsprechend umgeschaltet). Zur selben Zeit wird ein Schreibbefehl zu diesem Speicher übertragen, dessen Adressbus von der Schaltung CMS und über den Multiplexer 5 die Nummer des Segments der laufenden Zeile empfängt.
  • In anderen Worten, wenn ein Segment innerhalb einer Zeile nicht miteinem Segment der vorangehenden Zeile "verbunden", (das heißt in Bezug auf) ist, wird ein neues Bereichsetikett erzeugt und durch den Speicher der Match-ups dem Segment zugeordnet. Wenn ein Segment mit einem bereits nummerierten Segment der vorangehenden Zeile verbunden ist, wird ihm dasselbe Bereichsetikett wie dem ersten, in der vorangehenden Zeile angetroffenen Segment zugeordnet.
  • Dieser zweite Fall bleibt automatisch für die erste Zeile des Bildes erhalten, wobei der FIFO-Speicher mit jedem Bild auf null gesetzt oder initialisiert wird.
  • Betrieb der Tabelle der Synonyme
  • Ein Ausgang von der Schaltung CMS wird zu dem Lese/Schreib-Steuereingang eines Synonym-Speichers 11 übertragen.
  • Wenn die ein Segment der laufenden Zeile verarbeitende Schaltung CMS ermittelt, dass dieses Segment zwei Segmente der vorangehenden Zeile verbindet, wenn diese beiden Zeilen wieder überlagert sind, sendet sie ein Schreib-Datenwort zu dem Synonym-Speicher 11. Dieser Speicher empfängt an seinem Datenbus und über die Schaltung CMS und einen Multiplexer 12 die Bereichsnummer entsprechend dem ersten Segment der vorangehenden Zeile von dem Konnektivitätsspeicher, die in einem Puffer der Schaltung CMS gespeichert ist. Er empfängt an seinem Adressbus über den Multiplexer 13 die Bereichsnummer entsprechend dem zweiten Segment von dem Konnektivitätsspeicher, wenn die durch diesen Speicher empfangene Adresse diesem zweiten Segment entspricht.
  • Wenn, wieder während des Abtastens dieses selben Segments der laufenden Zeile eine neue Bereichsnummer (und somit ein neues Segment der vorangehenden Zeile) an dem Ausgang des Konnektivitätsspeichers erscheint, überträgt die Schaltung CMS einen neuen Schreibbefehl zu dem Synonymspeicher, der zu dieser Zeit auf seinem Datenbus die Bereichsnummer, die dem zweiten Segment der vorangehenden Zeile entspricht, gespeichert in einem Puffer der Schaltung CMS, und über den Adressbus die Bereichsnummer von dem Konnektivitätsspeicher, entsprechend dem dritten, in dieser vorangehenden Zeile angetroffenen Segments empfängt. Undsoweiter für alle Segmente, die auf der vorangehenden Zeile angetroffen werden und mit dem derzeit verarbeiteten Segment der laufenden Zeile übereinstimmen.
  • Beim Start wird die Tabelle der Synonyme in einer linearen Weise initialisiert, das heißt, der Inhalt des Speichers wird auf den Wert y = x initialisiert, wobei x die Adresse und y den Inhalt des Speichers darstellt.
  • Die Schaltung CMS ist in einer für sich bekannten Weise aus logischen Schaltungen von bekanntem Typ aufgebaut, die hier nicht beschrieben werden muß. Die laufende Zeile und die vorangehende Zeile werden Pixel für Pixel verglichen, und die Informa tionen werden für jedes Segment der laufenden Zeile gespeichert. Ein Sequencer oder Sortieren überträgt dann alle Befehle für die Inkrementierung des Bereichszählers, die Lese- und Schreibbefehle für die Speicher die Befehle für die Multiplexer, der es ermöglicht, den Speicher im Schreibmodus und den Speicher im Lesemodus sowie die zu berücksichtigenden Adressen und Daten zu wählen.
  • Während dieser ersten Phase speichern die Speicher A und B abwechselnd die Informationsdatenwörter von jeder Bildzeile, und diese Speicher übertragen abwechselnd diese Datenwörter Zeile für Zeile während des Lesemodus zu einem anderen Speicher, der als der Bildspeicher 10 bezeichnet wird, der die Bereichsnummern von A und B bei der Zeilenfrequenz für das gesamte Bild aufzeichnet.
  • Die Phase eins ist beendet, wenn alle Zeilen des Bildes verarbeitet und in dem Speicher 10 gespeichert worden sind.
  • Die Phase zwei bewirkt dann eine Sortierung und Neunummerierung der Bereiche für dieses Bild.
  • Wenn alle Zeilen des Bildes überprüft worden sind, erfolgt eine Verarbeitung des Inhalts des Synchronymspeichers, um so die neue Nummerierung auf der Grundlage dieser Synonyme auszuführen.
  • Wenn somit zum Beispiel der Bereich 5 (Adresse) synonym mit dem Bereich 3 (Datenwort) ist und wenn der Bereich 8 (Adresse) synonym mit dem Bereich 5 (Datenwort) ist, speichert eine Neusortierung bei den Adressen 3, 5 und 8 des Speichers das einzige Datenwort 3. Die Werte des Bereichs 5 und 8, die freigelassen werden, dienen zur Neunummerierung der höheren Bereiche, wodurch die Dekrementierung der höheren Bereiche möglich gemacht wird. Diese Umordnung erfolgt zum Beispiel durch eine zentrale Verarbeitungseinheit oder CPU (für "Control Processing Unit"). Während dieser Phase verbinden die Multiplexer 12 und 13 die Adressen und die Datenbusse des Synonymspeichers mit dem Bus der zentralen Verarbeitungseinheit, die die Umordnung, die Übertragung der neuen Daten zu dem Synonymspeicher übernimmt, wenn diese Verarbeitung erfolgt ist.
  • Wenn die Umordnung abgeschlossen ist, überträgt die CPU eine Anweisung, den Bildspeicher zu lesen. Der Datenbus dieses Speichers wird dann über den Multiplexer 13 mit dem Adressbus des Synonymspeichers verbunden, und der Datenbus dieses Speichers wird über den Multiplexer 12 mit dem Ausgang des Geräts verbunden. Diese Multiplexer, wie der Speicher und der Synonymspeicher empfangen daher Signale zur Steuerung der Schaltung CPU, die in der Figur nicht dargestellt sind.
  • Ein Beispiel des Betriebs wird im folgenden anhand der 2a und 2b erläutert.
  • Während der Abtastung der ersten Zeilen des laufenden Bildes bestehen diese Zeilen aus Pixeln mit dem Nullwert, es erfolgt durch das Gerät keine Speicherung oder Zählerinkrementierung.
  • Wenn die erste Zeile, die wenigstens ein Pixel mit dem Einheitswert besitzt, übertragen, wobei diese Zeile mit n bezeichnet wird, und am Eingang des Geräts empfangen wird, inkrementiert das entsprechende Segment den Segmentzähler auf den Wert eins. Eine Aufeinanderfolge von Nullen wird dann am Eingang des Geräts empfangen, bis auf derselben Leitung vor einer zweiten Aufeinanderfolge von Bit bei demselben Wert erscheint, wobei der Segmentzähler auf einen Wert zwei inkrementiert wird, der der Nummer des zweiten Segments auf dieser Zeile entspricht. Da die vorangehende Zeile alle ihre Pixel bei dem Nullwert hat, bewirkt der Vergleich zwischen den Nummern für die Pixel der laufenden Zeile (Werte von dem Segmentzähler) und diejenigen der Pixel der vorangehenden Zeile (Werte von dem FIFO-Speicher) eine Inkrementierung des Bereichszählers auf den Wert eins für das erste am Eingang empfangene Segment und dann auf den Wert zwei für das zweite empfangene Segment der laufenden Zeile. Der inkrementierte Bereichszählerausgang wird nach jeder Inkrementierung in dem Konnektivitäts-Speicher, zum Beispiel B, bei der Adresse gespeichert, die von der Schaltung CMS empfangen wird und der Segmentnummer der laufenden Zeile entspricht, die Bereichsnummer eins wird bei der Segmentadresse eins und die Bereichsnummer zwei bei der Segmentadresse zwei gespeichert.
  • Auf diese Weise wird eine Bereichsnummer jeder Segmentnummer zugeordnet.
  • Wenn das erste Segment der neuen laufenden Zeile n + 1 empfangen wird und mit dem Segment der vorangehenden Zeile n übereinstimmt, wird kein Bereichs-Inkrementiersignal zu dem Bereichszähler übertragen. Die Schaltung CMS überträgt einen Schreibbefehl zu dem Konnektivitäts-Speicher, der nun A ist und der auf seinem Adressbus die Nummer des Segments der laufenden Zeile empfängt. Das bei dieser Adresse aufgezeichnete Datenwort ist der Ausgang des Speichers B, dessen Adresse der FIFO-Ausgang, das heißt die Segmentnummer der vorangehenden Zeile n ist. Die Bereichsnummer des übereinstimmenden Segments der vorangehenden Zeile wird daher über diesen Datenbus übertragen. Dieser Wert wird durch den Multiplexer 9 über den Datenbus des Speichers A zu dem vorangehend genannten Adresse zurückübertragen. Auf diese Weise wird die Bereichsnummer des übereinstimmenden Segments der vorangehenden Zeile der Segmentnummer der laufenden Zeile zugeordnet. Dieser Wert wird gleichzeitig in dem Speicher 10 aufgezeichnet.
  • Derselbe Vorgang erfolgt dann für das mit zwei nummerierte Segment, zu der die Bereichsnummer zwei gehört.
  • Bei der neuen laufenden Zeile n + p verschmelzen die beiden Segmente in ein einziges. Ein Schreib-Datenwort wird zu dem Synonymspeicher übertragen, wenn ein zweites Segment der vorangehenden Zeile mit demselben Segment wieder der laufenden Zeile übereinstimmt. Der Speicher empfängt auf seinem Datenbus die Bereichsnummer von dem Konnektivitätsspeicher und wird in einem Pufferspeicher der Schaltung CMS abgelegt, wenn das erste Segment der vorangehenden Zeile angepaßt ist. Die Bereichsnummer, die von dem Konnektivitäts-Speicher stammt und der Nummer des zweiten angepaßten Segments der vorangehenden Zeile entspricht, wird auf dem Adressbus empfangen.
  • Während der Verarbeitung dieser Zeile n + p wird somit der Wert eins bei der Adresse zwei des Synonymspeichers gespeichert.
  • Ein einem neuen Bereich entsprechendes Segment wird bei der Zeile n + p + q angetroffen. Da keine Übereinstimmung mit einem Segment der vorangehenden Zeile besteht, wird der Bereichszähler auf den Wert drei inkrementiert. Der Synonymspeicher wird durch diesen Bereich nicht beeinflußt.
  • Die zweite Phase des Etikettierungsprogramms ist in 2b dargestellt. Es erfolgt eine Neunummerierung der Bereiche. Der Wert eins entspricht der Adresse eins und zwei des Synonymspeichers. Auf diese Weise wird die Bereichsnummer zwei verfügbar und dient zur Neunummerierung des ursprünglich mit drei nummerierten Bereichs. Zu diesem Zweck wird der Wert zwei bei der Adresse drei aufgezeichnet, die anfänglich den Wert drei enthielt.
  • Der Speicher wird dann gelesen, wobei sein Ausgang mit dem Adresseneingang des Synonymspeichers verbunden ist. Die Werte eins werden als Ausgang von dem Synonymspeicher zu dem Wert des Bereichs eins und zwei übertragen. Die Zahl zwei wird nach der Neunummerierung der Bereiche zu dem Wert des Bereichs drei übertragen.
  • Dies ist eine beispielhafte Ausführungsform eines Geräts, das das Etikettierverfahren durchführt, und dieses Beispiel ist nicht einschränkend.
  • Mit Ausnahme des Speichers und er CPU-Schaltungen können alle beschriebenen Schaltungen durch eine programmierbare logische Schaltung gebildet sein, allgemein bekannter als "programmierbare logische Einheit" (PLD = Programmable Logic Device).

Claims (5)

  1. Verfahren zur Etikettierung von Bereichen eines binären Bilds, wobei ein Bereich durch aufeinanderfolgende Pixel in der Vertikal- und der Horizontalrichtung mit demselben vordefinierten logischen Wert definiert ist und derartige aufeinanderfolgende Pixel auf einer Zeile ein Segment definieren, gekennzeichnet durch folgende Schritte: – Empfang der Pixeldaten für das binäre Bild entsprechend einer Zeilenabtastung, – Berechnung einer Segmentnummer für jedes Pixel der Segmente einer Zeile durch Inkrementierung dieser Nummer für jedes neue Segment auf einer laufenden Zeile, wobei diese Nummer bei jedem Zeilenstart initialisiert wird, – Speicherung der Segmentnummern für jedes Pixel der Segmente einer Zeile in einem FIFO-Speicher zur Bildung einer verzögerten Zeile, – Prüfung der Verbindung eines laufenden Segments der laufenden Zeile mit einem Segment der vorangehenden, verzögerten Zeile durch Vergleich der nummerierten Pixel des Segments der verzögerten Zeile mit den entsprechenden nummerierten Pixeln des Segments der laufenden Zeile, wobei ein negatives Ergebnis dieser Prüfung ein Etikett inkrementiert, – Speicherung in einem Konnektivitäts-Speicher bei der der laufenden Segmentzahl entsprechenden Adresse für das laufende Segment, entweder des entsprechenden inkrementierten Etiketts, wenn eine Inkrementierung des Etiketts oder des Etiketts, das dem verbundenen Segment der verzögerten Zeile entspricht, erfolgt, wenn keine Inkrementierung besteht, wobei dieses Etikett durch Lesen von dem Konnektivitäts-Speicher gewonnen wird, das gespeicherte Etikett des Segments der verzögerten Zeile bei der Adresse entsprechend der Segmentnummer des verbundenen Segments der verzögerten Zeile entspricht, wenn keine Inkrementierung besteht, – Übertragung der gespeicherten Etiketten zu einem Speicher zur Speicherung für das gesamte Bild, – Prüfung, ob eine Verbindung des laufenden Segments mit mehr als einem Segment der verzögerten Zeile besteht, und, in diesem Fall, Speicherung des Zusammenhangs zwischen den Etiketten der aufeinander folgenden Segmente der verzögerten Zeile in einem Synonymspeicher, – Neuetikettierung der Segmente entsprechend den in dem Speicher gespeicherten Etiketten und dem Zusammenhang zwischen den Etiketten.
  2. Vorrichtung zur Etikettierung von Bereichen eines binären Bildes, wobei ein Bereich durch aufeinanderfolgende Pixel in Vertikal- und Horizontalrichtung mit demselben vordefinierten logischen Wert definiert ist und derartige aufeinanderfolgende Pixel in einer Zeile das Segment bilden, gekennzeichnet durch folgende Merkmale: – ein Segmentzähler (1) zum Empfang der Pixeldaten für binäre Bilder entsprechend einer Zeilenabtastung als ein Bit je Pixel, wobei eine Segmentnummer jedesmal inkrementiert wird, wenn sie ein Bit mit dem vorbestimmten Wert empfängt, auf das ein Bit bei dem invertierten Wert folgt oder das das erste einer Zeile ist und mit jedem Zeilenstart ausgelöst wird, und zur Lieferung einer Segmentnummer für jedes Pixel der Segmente einer Zeile an ihren Ausgang, – ein mit dem Segmentzähler verbundener FIFO-Zeilenspeicher (2) zur Speicherung der Segmentnummer für jedes Pixel des Segments einer Zeile, – eine Vergleichs-, Speicher- und Sequentialisierungsschaltung (6) zum Empfang an einem ersten Eingang der Segmentnummern für jedes Pixel der Segmente der vorangehenden Zeile von dem FIFO und an einem zweiten Eingang die Segmentzahlen für jedes Pixel einer laufenden Zeile von dem Segmentzähler zur Bestimmung der Verbindung eines laufenden Segments in der laufenden Zeile mit einem Segment der vorangehenden Zeile und zur Bildung eines Auslösesignals am Ende des laufenden Segments, wenn das auf der laufenden Zeile angetroffene laufende Segment nicht mit einem Segment der vorangehenden Zeile verbunden ist, und außerdem zur Bestimmung einer Verbindung eines laufenden Segments mit zwei Segmenten der vorangehenden Zeile zur Bildung eines Schreibsignals, – ein durch das Auslösesignal ausgelöster Bereichszähler (7) zur Lieferung eines Etiketts, – ein mit dem Bereichszähler verbundener Konnektivitäts-Speicher (3, 4) zur Speicherung des Etiketts, wenn keine Verbindung oder Speicherung des Etiketts des Segments der vorangehenden Zeile besteht, mit der das laufende Segment verbunden ist, wenn eine Verbindung besteht, an der der Segmentnummer des laufenden Segments entsprechenden Adresse, – ein mit dem Konnektivitäts-Speicher verbundener Speicher (10) zur Speicherung der Etiketten für das gesamte Bild, – ein Synonymspeicher, der mit der Vergleichs-, Speicher- und Sequentialisierungsschaltung (6) verbunden ist, zum Empfang des Schreibsignals zur Speicherung des Zusammenhangs zwischen Etiketten der aufeinanderfolgenden Segmente der vorangehenden Zeile, wenn sie mit dem laufenden Segment verbunden ist.
  3. Vorrichtung nach Anspruch 2, dadurch gekennzeichnet, dass der Konnektivitäts-Speicher (3, 4) aus einem ersten Speicher A (3) und einem zweiten Speicher B (4) besteht, die im Flip-Flop-Modus arbeiten, und das dann, wenn das auf der laufenden Zeile angetroffene Segment mit wenigstens einem Segment der vorangehenden Zeile verbunden ist, der erste Speicher (3) an seinem Adressbus die Nummer des ersten verbundenen Segments der vorangehenden Zeile von dem FIFO-Speicher empfängt und so als Ausgang das entsprechende Etikett liefert, und der zweite Speicher (4) dieses Etikett speichert, das über den Datenbus des zweiten Speichers zu der Adresse übertragen wird, die der Nummer des durch den Segmentzähler (1) gelieferten angetroffenen Segments entspricht und die Rolle der Speicher bei der darauffolgenden Zeile umgekehrt wird.
  4. Vorrichtung nach Anspruch 2, dadurch gekennzeichnet, dass der Synonymspeicher (11) dann, wenn das auf der laufenden Zeile angetroffene Segment mit mehr als einem Segment der vorangehenden Zeile verbunden ist, auf dem Datenbus das Datenwort von dem Konnektivitäts-Speicher (3, 4) empfängt, das bei der Adresse enthalten ist, die der Segmentnummer des ersten verbundenen Segments der vorangehenden Zeile entspricht, und auf dem Adressbus das Datenwort von dem Konnektivitäts-Speicher (3, 4), das bei der Adresse entsprechend der Segmentnummer des darauffolgenden angeschlossenen Segments der vorangehenden Zeile enthält, um so das Datenwort bei der empfangenen Ad resse zu speichern, undsoweiter für alle mit dem angetroffenen Segment verbundenen Segmente, wobei das erste Segment das darauffolgende Segment wird.
  5. Vorrichtung nach Anspruch 4, dadurch gekennzeichnet, dass eine Neuetikettierung der Segmente in Abhängigkeit von den identischen Inhalten bei verschiedenen Adressen der Synonymspeicher erfolgt.
DE69724085T 1996-12-18 1997-12-17 Verfahren und Vorrichtung zur Etikettierung von Bildbereichen Expired - Fee Related DE69724085T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR9615548A FR2757297B1 (fr) 1996-12-18 1996-12-18 Procede et dispositif d'etiquetage de region
FR9615548 1996-12-18

Publications (2)

Publication Number Publication Date
DE69724085D1 DE69724085D1 (de) 2003-09-18
DE69724085T2 true DE69724085T2 (de) 2004-06-09

Family

ID=9498794

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69724085T Expired - Fee Related DE69724085T2 (de) 1996-12-18 1997-12-17 Verfahren und Vorrichtung zur Etikettierung von Bildbereichen

Country Status (5)

Country Link
US (1) US6125205A (de)
EP (1) EP0849705B1 (de)
JP (1) JPH10187995A (de)
DE (1) DE69724085T2 (de)
FR (1) FR2757297B1 (de)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100477656B1 (ko) * 2002-07-27 2005-03-22 삼성전자주식회사 디지털 화질 개선 방법 및 장치
KR100524072B1 (ko) * 2003-06-28 2005-10-26 삼성전자주식회사 화질 개선 방법
EP3748964A1 (de) * 2010-12-07 2020-12-09 Sony Corporation Bildverarbeitungsvorrichtung und bildverarbeitungsverfahren
US20130265305A1 (en) * 2012-04-04 2013-10-10 Jon N. Hasselgren Compressed Depth Cache
IT201600094439A1 (it) * 2016-09-20 2018-03-20 Manz Italy Srl Apparato di lavorazione

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4486784A (en) * 1982-12-27 1984-12-04 International Business Machines Corporation Image compression systems
JPS60207971A (ja) * 1984-03-31 1985-10-19 Toshiba Corp 連結成分抽出回路
JPS6312074A (ja) * 1986-07-02 1988-01-19 Toshiba Corp ラベリング回路
US5305393A (en) * 1990-12-28 1994-04-19 Kawasaki Steel Corporation Labelling circuit and processor for image processing
JP3307467B2 (ja) * 1993-04-09 2002-07-24 三菱電機株式会社 ラベリング方式およびラベリング回路

Also Published As

Publication number Publication date
FR2757297B1 (fr) 1999-03-05
EP0849705A1 (de) 1998-06-24
EP0849705B1 (de) 2003-08-13
DE69724085D1 (de) 2003-09-18
FR2757297A1 (fr) 1998-06-19
JPH10187995A (ja) 1998-07-21
US6125205A (en) 2000-09-26

Similar Documents

Publication Publication Date Title
DE2415900C3 (de) Rechenautomat mit mehreren mit je einem Vorratsspeicher versehenen Rechenanlagen
DE3222390C2 (de)
DE3854481T2 (de) Datenverarbeitungsverfahren in einem dezentralisierten Verarbeitungssystem.
DE3587750T2 (de) Peripheriegerät für Bildspeicher.
DE3689926T2 (de) Einrichtung zur sequenziellen Bildtransformation.
EP0013737A1 (de) Mehrstufige Speicherhierarchie für ein Datenverarbeitungssystem
DE3011552A1 (de) Datenverarbeitungsanlage mit einem hauptspeicher sowie wenigsten einem datenprozessor mit zugeordnetem adressenumformer
DE3338167A1 (de) Verfahren und vorrichtung zur speicherung von bilddaten in einer speichereinrichtung eines layout-abtastsystems
DE3305710A1 (de) Schaltungsanordnung zur merkmalsgewinnung
DE2154106A1 (de) Arbeitsspeicherwerk
DE3015875A1 (de) Speicherzugriffssystem und verfahren fuer einen zugriff zu einem digitalen speichersystem
EP0059239A2 (de) Verfahren zum Auffinden und Abgrenzen von Textbereichen auf einer Vorlage, die Text-, Graphik- und/oder Bildbereiche enthalten kann
DE3713627C2 (de)
DE3851264T2 (de) Bildverarbeitungsverfahren.
DE3248978C2 (de)
DE2912073C2 (de)
DE3490148T (de) Einrichtung zur Erzeugung unterschiedlicher Figuren in einem computergesteuerten Darstellungssystem auf einem Schirm
DE69724085T2 (de) Verfahren und Vorrichtung zur Etikettierung von Bildbereichen
DE3343348A1 (de) Anordnung zur datenuebertragung zwischen mehreren prozessoren und einem speicher
DE3889903T2 (de) Verfahren zur behandlung der verborgenen linien eines bildes.
DE1774211C3 (de) Datenspeicheranordnung für ein Datenverarbeitungssystem
EP0206214B1 (de) Verfahren zur einheitlichen symbolischen Beschreibung von Dokumentenmustern in Form von Datenstrukturen in einem Automaten
DE4103880C2 (de) Bildverarbeitungsgerät und -verfahren
DE3243444C2 (de)
CH646805A5 (de) Optisches handlesegeraet fuer maschinelle zeichenerkennung.

Legal Events

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