DE3784581T2 - Verfahren zur bestimmung und beschreibung von konturen eines bildes und vorrichtung zum ausfuehren dieses verfahrens. - Google Patents

Verfahren zur bestimmung und beschreibung von konturen eines bildes und vorrichtung zum ausfuehren dieses verfahrens.

Info

Publication number
DE3784581T2
DE3784581T2 DE8787401503T DE3784581T DE3784581T2 DE 3784581 T2 DE3784581 T2 DE 3784581T2 DE 8787401503 T DE8787401503 T DE 8787401503T DE 3784581 T DE3784581 T DE 3784581T DE 3784581 T2 DE3784581 T2 DE 3784581T2
Authority
DE
Germany
Prior art keywords
zone
value
points
point
address
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
DE8787401503T
Other languages
English (en)
Other versions
DE3784581D1 (de
Inventor
Christian Jacques Richard
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.)
Thales SA
Original Assignee
Thomson CSF 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 CSF SA filed Critical Thomson CSF SA
Publication of DE3784581D1 publication Critical patent/DE3784581D1/de
Application granted granted Critical
Publication of DE3784581T2 publication Critical patent/DE3784581T2/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
    • G06T9/00Image coding
    • G06T9/20Contour coding, e.g. using detection of edges
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/46Descriptors for shape, contour or point-related descriptors, e.g. scale invariant feature transform [SIFT] or bags of words [BoW]; Salient regional features

Landscapes

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

Description

  • Die Erfindung bezieht sich auf die Erfassung und Modellierung der Konturen eines Bildes, beispielsweise eines Fernseh- oder Radarbildes, wobei jeder Punkt dieses Bildes durch einen Digitalwert dargestellt wird, beispielsweise den Helligkeitswert im Fall eines Fernsehbildes.
  • Die Konturen sind Linien, die von Grenzen zwischen verschiedenen auf dem Bild dargestellten Gegenständen gebildet werden. Sie bestehen aus Helligkeitssprüngen, wenn es sich um ein Fernsehbild handelt. Für viele Anwendungen, insbesondere für die Erkennung von Formen, ist es notwendig, die Konturen eines Bildes zu erfassen. Das Ergebnis dieser Erfassung ist ein Binärsignal, das für jeden Bildpunkt angibt, ob er einer Konturenlinie angehört oder nicht.
  • Für die Anwendung auf die Gestalterkennung ist es günstig, wenn die erfaßten Konturen vollständig durchgehende Linien einer minimalen Breite sind. In der Praxis enthalten die in einem Bild dargestellten Gegenstände aber fließende Übergänge und das Bild ist mit einem gewissen Rauschen überzogen. Es ist daher schwierig, die Konturen in Form kontinuierlicher und schmaler Linien zu erfassen. Die bekannten Verfahren haben den Nachteil, diskontinuierliche Konturen oder aber Konturen mit Störlinien zu erzeugen. Ziel der Erfindung ist es, Konturen zu erfassen, die diese Fehler nicht mehr aufweisen. Das erfindungsgemäße Verfahren soll Konturen erfassen, indem sie in Form kontinuierlicher Linien modelliert werden, die Geradensegmente bilden und deren Kennwerte durch ein rekursives Verfahren bestimmt werden, das den Modul und die Richtung des Helligkeitsgradienten in jedem Punkt des Bildes nacheinander berücksichtigt. Dieses Verfahren kann in Echtzeit auf eine Folge von Fernsehbildern angewandt werden.
  • Erfindungsgemäß ist ein Verfahren zur Erfassung und Modellierung der Konturen eines Bildes, wobei jeder Bildpunkt durch einen digitalen Wert dargestellt wird, der unter den Werten der Helligkeit oder des Farbwerts ausgewählt wird, wobei das Verfahren für alle Bildpunkte den Modul und den Richtungswert Ri des Gradienten des gewählten repräsentativen digitalen Werts bestimmt und wobei Ri aus einer vorgegebenen ganzzahligen Anzahl s von möglichen Richtungswerten R&sub1;, ... Rs ausgewählt wird, dadurch gekennzeichnet, daß dieses Verfahren außerdem die Schritte der Auswahl der Bildpunkte, in denen der Gradient einen größeren Modul als ein fester Wert besitzt, Punkte mit starkem Gradienten genannt, und der Gruppierung der aneinander anschließenden Punkte mit starkem Gradienten aufweist, die einen gleichen Richtungswert besitzen, um Konturzonen durch Vergleich der Richtung des Gradienten des aktuellen Punkts mit denen von zwei Nachbarpunkten zu bilden, nämlich dem auf derselben Zeile vorausgehenden Punkt und dem auf der vorhergehenden Zeile dem aktuellen Punkt entsprechenden Punkt, wobei diesem Punkt
  • - eine neue Zone zugewiesen wird, wenn die Richtung des Gradienten des aktuellen Punkts sich von der der beiden Nachbarpunkte unterscheidet,
  • - einer Zone zugewiesen wird, die mindestens einen der Nachbarpunkte enthält, wenn die Richtung von dessen Gradienten dieselbe wie die der Punkte dieser Zone ist,
  • - wobei die beiden Zonen, denen die beiden Nachbarpunkte angehören, verschmolzen werden, wenn sie, obwohl sie zum Zeitpunkt ihrer Erzeugung nicht aneinander anschließend waren, durch den aktuellen Punkt aneinanderstoßend werden, und wenn die Richtung des Gradienten des aktuellen Punkts dieselbe wie die gemeinsame Richtung dieser beiden Zonen ist,
  • - wobei die Konturzonen durch digitale Werte bezeichnet werden, Zonennummern genannt, und durch Zustandsvektoren gekennzeichnet werden, die Komponenten in Abhängigkeit von den in der Zone zusammengefaßten Punkten besitzen, wobei diese Zustandsvektoren in einem Zustandsspeicher während der Behandlung aller Punkte eines Bildes aktualisiert werden, und daß zum Verfahren außerdem die Modellierung der Konturen des Bildes ausgehend von den so gebildeten Zonen gehört, indem jeder Zone ein Geradensegment zugeordnet wird, das durch den Schwerpunkt dieser Punkte verläuft und eine Richtung senkrecht zur Richtung des Gradienten in dieser Zone annimmt.
  • Die Erfindung sowie weitere Merkmale gehen aus der nachfolgenden Beschreibung und den beiliegenden Figuren hervor.
  • Die Figuren 1 bis 9 zeigen die Durchführung des erfindungsgemäßen Verfahrens für ein Beispiel eines Bildausschnitts.
  • Die Figuren 10a bis 10d und 11a bis 11d zeigen einen Schritt des erfindungsgemäßen Verfahrens.
  • Die Figuren 12 bis 17 zeigen einen weiteren Schritt des erfindungsgemäßen Verfahrens für ein Beispiel eines Bildausschnitts.
  • Figur 18 zeigt das Blockschaltbild einer Ausführungsform der erfindungsgemäßen Vorrichtung für die Durchführung des erfindungsgemäßen Verfahrens.
  • Die Figuren 19, 20, 22, 23, 24 zeigen Detailblockschaltbilder dieser Ausführungsform.
  • Figur 21 zeigt eine Tabelle mit den verschiedenen Werten der verwendeten Variablen in Verbindung mit Figur 20.
  • Figuren 25, 26 und 27 zeigen Flußdiagramme zum Betrieb eines Teils dieses Ausführungsbeispiels, Konturengenerator genannt.
  • Figur 1 zeigt die Helligkeitswerte eines Bilds, das von einem Halbbild eines üblichen Fernsehbilds gebilde twird. Die Abszisse X und die Ordinate Y werden durch den Rang der Punkte auf der Zeile bzw. den Rang der Zeile gebildet. Um die Beschreibung zu vereinfachen, bezieht sie sich nur auf die Bearbeitung eines Bildausschnitts, dessen Helligkeitswerte von einem unterbrochenen Rahmen in Figur 1 umgeben sind.
  • Ein erster Schritt des Konturenerfassungsverfahrens besteht darin, die Punkte zu erfassen, Punkte mit starkem Gradienten genannt, bei denen der Helligkeitsgradient einen ausreichend großen Modul oder Absolutwert besitzt, um einer Konturenlinie zu entsprechen. Danach wird die örtliche Richtung dieses Gradienten in jedem der Punkte mit starkem Gradienten bestimmt, um die Richtung der Konturenlinie zu kenne, wobei die Richtung einer Konturenlinie senkrecht zu der des Helligkeitsgradienten auf dieser Konturenlinie verläuft. In einem Anwendungsbeispiel besteht das Verfahren in der Berechnung von sechs Konvolutionsprodukten L ist eine quadratische Matrix 5 x 5 bestehend aus dem Wert der Helligkeit des Punkts, in dem man den Modul und die Richtung des Gradienten bestimmen will, und aus den Helligkeitswerten der 24 benachbarten Punkte. Die sechs Matrizen G&sub1; sind quadratische Matrizen 5 x 5, wie sie von Nevatia beschrieben wurden in "Linear Feature Extraction and Description", Computer Graphics and Image Processing, Juni 1980.
  • Diese Matrizen werden Masken genannt und ermöglichen die Diskriminierung von sechs Gradientenrichtungen, nämlich 0º, 150º, 120º, 90º, 60º, 30º entsprechend sechs Konturenrichtungen, nämlich 90º, 60º, 30º, 0º, 150º, 120º, die bezüglich einer horizontalen Linie und im Uhrzeigersinn gemessen wurden. Die Richtung der Konturenlinie wird bestimmt, indem die Werte der sechs Konvolutionsprodukte miteinander verglichen werden. Das Produkt mit dem größten Absolutwert gibt die Richtung der Konturenlinie an. Andererseits gibt der Absolutwert des Produkts den Modul des Helligkeitsgradienten wieder. Dieser Absolutwert ermöglicht also die Unterscheidung der Punkte mit starkem Helligkeitsgradienten bezüglich der anderen Bildpunkte. Die Unterscheidung der Punkte mit starkem Gradienten besteht darin, den Absolutwert des größten Konvolutionsprodukts mit einem festen Schwellwert zu vergleichen.
  • Figur 2 zeigt eine Tabelle, die den Absolutwert des größten Konvolutionsprodukts für die Punkte des gestrichelt in Figur 1 markierten Bildausschnitts angibt.
  • Figur 3 zeigt eine Tabelle, die den Wert der Richtung der Konturenlinie in jedem dieser Punkte in Grad angibt, wobei dieser Richtungswert für jeden Punkt bestimmt wird, indem die Absolutwerte der sechs für den betrachteten Punkt erhaltenen Konvolutionsprodukte miteinander verglichen werden. In diesem Beispiel bildet die Figur 3 die Richtungswerte für alle Punkte, selbst für die Punkte, in denen der Modul des Gradienten gering ist, d.h. für die Punkte, die später als nicht zur Konturenlinie gehörend betrachtet werden.
  • Figur 4 zeigt eine Tabelle mit den Werten der Richtung der Konturenlinien nur für die Punkte mit starkem Gradienten, d.h. die Punkte, an denen der Absolutwert des größten Konvolutionsprodukts größer als ein Schwellwert ist, der in diesem Beispiel auf 47 festgelegt ist. Der weiß gebliebene Teil der Tabelle entspricht den Punkten, die nicht Konturenlinien angehören. Es ist zu bemerken, daß dieses Verfahren zur Erfassung der Konturenpunkte angewendet werden kann, indem die Punkte eines Bilds in beliebiger Reihenfolge betrachtet werden, die sich von der Reihenfolge der Abtastung unterscheiden kann.
  • Es liegt im Bereich fachmännischen Könnens, diese Bestimmung der Punkte mit starkem Gradienten und die Bestimmung der Richtung der Konturenlinien nach anderen bekannten Methoden zu bewirken, insbesondere eine Methode, die von Richard und Benveniste in einem Aufsatz "Recursive Estimation of Local Characteristics of Edges in TV Pictures as Applied to ADPCM Coding" beschrieben wurde, der in IEEE Transactions on Communications, Vol-Com 32, Nº 6, Juni 1984 veröffentlicht wurde.
  • Diese bekannte Methode erfordert mehr Berechnungen als die oben beschriebene Methode, aber sie ermöglicht eine Erkennung einer größeren Zahl von Richtungswerten, beispielsweise 15 Werte, wie in dieser Druckschrift beschrieben. Andererseits wird bei dieser bekannten Methode gefiltert, um das die Konturenlinien beeinträchtigende Rauschen zu beseitigen.
  • Ein zweiter Schritt des erfindungsgemäßen Verfahrens besteht darin, die Punkte mit starken Helligkeitsgradienten, die denselben Richtungswert besitzen und aneinander anschließen, zu Gruppen zusammenzufassen, um kompakte Zonen zu bilden, damit jede Zone durch ein Segment einer Geraden modelliert werden kann. Figur 4 zeigt die so gebildeten Zonen mit den Punkten mit starkem Gradienten aus dem als Beispiel angegebenen Bildausschnitt. Gewisse dieser Zonen sind sehr klein. Beispielsweise enthält die Zone, deren Richtungswert 90º ist und die auf der Abszisse X = 5 liegt, nur zwei Punkte. Die kleinen Zonen können nicht als Segmente von Konturenlinien betrachtet werden und werden daher ausgeschieden, wenn die Anzahl ihrer Punkte unter fünf im vorliegenden Beispiel ist. Die Wahl dieses Schwellwerts bestimmt die Filterwirkung, durch die die kleinen Segmente von Konturenlinien eliminiert werden.
  • Figur 5 zeigt die drei Zonen, die mindestens fünf Punkte enthalten. Um diese Zonen voneinander zu unterscheiden, wurden sie mit Nummern 1, 2, 3 versehen. Figur 5 zeigt die jedem Punkt der Konturenlinie des als Beispiel gewählten Bildausschnitts zugewiesenen Zonennummern. Eine rekursive Methode zur Zuordnung der Punkte mit starkem Gradienten zu Zonen und zur Charakterisierung dieser Zonen wird weiter unten beschrieben.
  • Ein dritter Schritt des erfindungsgemäßen Verfahrens besteht darin, die Konturenlinien des Bildes zu modellieren, indem jede aus den Punkten einer Zone bestehende Konturenlinie durch ein Segment einer Geraden ersetzt wird, das durch den Schwerpunkt dieser Zone senkrecht zur Richtung des Gradienten verläuft und durch die Grenzkoordinaten der zu dieser Zone gehörenden Punkte begrenzt ist.
  • Die Figuren 6, 7 und 8 zeigen getrennt die so erhaltenen modellierten Konturenlinien für die Zonen 1, 2 und 3. Figur 9 zeigt die Verbindung der modellierten Konturenlinien für dieses Bildbeispiel. Die einer modellierten Konturenlinie angehörenden Punkte werden durch die Werte 1 und alle anderen Punkte durch den Wert 0 definiert. Der Schwerpunkt wird durch die eingerahmte Ziffer 1 bezeichnet. Die Modellierung der Konturen durch Segmente endet in der Speicherung von Binärwerten 1 für die einer modellierten Konturenlinie angehörenden Punkte und des Werts 0 für alle übrigen Bildpunkte in einem Konturenspeicher mit der Speicherfähigkeit eines Bildes.
  • Für jede der Zonen bilden folgende Punkte das Modellsegment:
  • - der Schwerpunkt der Zone, dessen Koordinaten (Xg, Yg) heißen und den ganzzahligen Werten des Mittelwerts der Koordinaten X und des Mittelwerts der Koordinaten Y der Punkte der Zone gleichen,
  • - die ersten Punkte, deren Koordinaten (X, Y) die folgenden Beziehungen befriedigen:
  • Hierbei sind P&sub1; und P&sub2; zwei Steigungswerte, die einen Bereich um den Steigungswert herum definieren, der dem Richtungswert des für die Zone bestimmten Gradienten entspricht, wobei die Taststruktur der Bildpunkte dazu führt, daß ein gewisser Fehler in der Lagebestimmung des Punkts bezüglich der theoretischen Steigung toleriert werden muß.
  • XMIN und XMAX sind die Minimal- und Maximalabszissen der Punkte der Zone.
  • YMIN und YMAX sind die Minimal- und Maximalordinaten der Punkte der Zone.
  • - zweite Punkte, die dazu bestimmt sind, dem Segment mehr Kontinuität zu verleihen, wobei diese zweiten Punkte auf derselben Zeile oder derselben Spalte neben den ersten Punkten liegen und so gewählt sind, daß jeder Punkt des Segments genau zwei anderen Punkten desselben Segments benachbart ist, mit Ausnahme der ersten Punkte, die auf den Enden des Segments liegen, d.h. die Punkte, die mindestens eine Koordinate gleich XMAX oder XMIN oder YMAX oder YMIN besitzen; diese Punkte an den Enden sind nur einem einzigen weiteren Punkt des Segments benachbart.
  • Die Figuren 10a bis 10d zeigen ein Beispiel für die Wahl der ersten Punkte, die die Segmente für die Konturenlinien mit der Richtung 0º, 30º, 60º, 90º bilden. Die Figuren 11a bis 11d zeigen die Segmente, wie sie nach Hinzufügen der zweiten Punkte erhalten wurden. Es ist zu bemerken, daß diese Segmente aus periodischen Motiven bestehen. In diesen Figuren begrenzen die unterbrochenen Striche die Segmente und entsprechen den Extremordinaten und -abszissen von als Beispiel genommenen Zonen. Die eingerahmten Ziffern 1 bezeichnen die Schwerpunkte der Zonen. Die Figuren 11a bis 11d geben den Inhalt des Konturenspeichers für jedes der in diesem Beispiel betrachteten Segmente wieder. Die Konturenlinien bei 120º und 150º werden durch symmetrische Motive zu denen der oben dargestellten Konturenlinien bei 60º und 30º realisiert. Natürlich können diese Motive länger als in dem dargestellten Beispiel sein.
  • In Figur 6 ist die modellierte Konturenlinie ausgehend von der Zone 1 ein Segment einer senkrechten Geraden, das genau den Punkten der Zone 1 entspricht. In Figur 7 ist die ausgehend von der Zone 2 modellierte Konturenlinie ein Segment mit einer Richtung von 60º bezüglich der Waagrechten, gemessen im Uhrzeigersinn. Die Berechnung der Koordinaten des Schwerpunkts ergibt 4,56 und 7,62 für die Mittelwerte der Koordinaten der Punkte, so daß der Schwerpunkt als im Punkt (4,8) liegend betrachtet wird. Das Segment besteht aus drei ersten Punkten, die auf einer um 60º geneigten und durch den Schwerpunkt verlaufenden Geraden liegen und aus sechs zweiten Punkten, die gemäß der oben definierten Regel gewählt wurden. Die Zone 2 wird also durch ein Geradensegment modelliert, das nur neun Punkte enthält, während die Zone 2 sechzehn Punkte enthält.
  • Figur 8 zeigt das für die Modellierung der Konturenlinie entsprechend der Zone 3 verwendete Segment. Die Zone 3 enthält sechs Punkte, an denen die Richtung des Gradienten einen Wert 90º hat. Der Schwerpunkt hat die Koordinaten (3,9). Diese Zone 3 wird durch ein senkrechtes Segment modelliert, das durch den Punkt mit den Koordinaten (3,9) verläuft und durch das Rechteck mit der Mindestordinate 8 und der Höchstordinate 11 begrenzt ist. Der Vergleich von Figur 5 mit den Figuren 7 und 8 zeigt die Vereinfachung der durch die Modellierung in Form von Segmenten mit geringer Dicke erzielten Konturenlinien.
  • Die Modellierung der Konturenlinien mit Hilfe von Geradensegmenten ermöglicht es, kontinuierliche und schmale Konturenlinien zu erfassen, die leicht in Anwendungen wie der Formerkennung ausgewertet werden können. Um die Kontinuität der so modellierten Konturenlinien zu verbessern, besteht eine bevorzugte Form des erfindungsgemäßen Verfahrens darin, die beiden Enden aller Segmente systematisch um eine vorgegebene Anzahl von Punkten zu verlängern, um ggf. den Anschluß an Segmente herbeizuführen, die benachbarte Enden besitzen. Beispielsweise wird jedes Segment senkrecht um zwei Einheiten und waagrecht um zwei Einheiten verlängert, so daß das Segment durch die folgende Ungleichungen definiert ist
  • Um Geradensegmente zu erzielen, die nicflt unnötig gestückelt sind, ist es notwendig, die Punkte mit starkem Gradienten, die einander benachbart sind und eine gleichen Richtungswert des Gradienten besitzen, fehlerfrei in eine Gruppe zusammenzufassen. Wenn nämlich Zonen aufgrund eines Fehlers zerstückelt werden, dann erhöht sich die Zahl der Segmente und damit werden die erfaßten Konturenlinien unnötig kompliziert und schwer auszuwerten. Um die Punkte mit starkem Gradienten in durch benachbarte Punkte mit gleichem Richtungswert gebildeten Zonen zusammenzufassen, werden alle Punkte eines Bilds nacheinander in der Reihenfolge behandelt, in der die Helligkeitswerte verfügbar sind, d.h. in der Reihenfolge der Abtastung dieser Punkte und in der Reihenfolge der Abtastung der Zeilen.
  • Jede Zone wird mit Hilfe eines Zustandsvektors charakterisiert, dessen Komponenten im Verlauf der Bearbeitung der Bildpunkte aktualisiert werden. Für jeden Punkt PC, aktueller Punkt genannt, besteht das Verfahren darin:
  • - einen Wert für die Zonennummer z(PC) zu bestimmen, der in einem betrachteten Zeitpunkt eine Zone bezeichnet, der der aktuelle Punkt zugeordnet ist, wobei dieser Wert z(PC) in einem gegebenen Zeitpunkt abhängig vom Wert Z, der Nummer der Zone des benachbarten Punkts, der dem betrachteten Punkt auf derselben Zeile vorausgeht, abhängig vom Wert Z' der Nummer der Zone des dem betrachteten Punkt auf der vorhergehenden Zeile entsprechenden Punkts und abhängig vom Richtungswert des Gradienten im betrachteten Punkt und in den beiden benachbarten Punkten bestimmt wird; der aktuelle Punkt wird einer neuen Zone zugewiesen oder der Zone Z oder der Zone Z' oder der fiktiven Zone, die die Punkte zusammenfaßt, die nicht einer Konturenlinie angehören; ggf. kann die Zone Z von der Zone Z' absorbiert werden oder umgekehrt;
  • - dann die aktualisierten Werte der Zonennummern der beiden benachbarten Punkte abhängig von den Werten Z und Z' und den Richtungswerten des Gradienten im aktuellen Punkt und den beiden benachbarten Punkten zu bestimmen, um eine eventuelle Absorption einer dieser Zonen zu berücksichtigen, wenn sie über den aktuellen Punkt zusammenhängen;
  • - einen aktualisierten Wert der Komponenten des Zustandsvektors der Zone zu bestimmen, der der aktuelle Punkt zugeordnet ist, und zwar abhängig von den Werten Z und Z' der Zonennummern der beiden benachbarten Punkte im betrachteten Zeitpunkt und abhängig vom Richtungswert des Gradienten im betrachteten Punkt und den beiden benachbarten Punkten sowie abhängig von den augenblicklichen Werten der Komponenten der Zustandsvektoren der Zonen Z und Z' der beiden benachbarten Punkte, um die Zuordnung des aktuellen Punkts zu einer Zone und die eventuelle Absorption einer dieser Zonen zu berücksichtigen, wenn sie über den aktuellen Punkt miteinander in Verbindung stehen.
  • Die Kennwerte jeder Zone und selbst die Existenz jeder Zone sind definitiv erst bekannt, wenn alle Bildpunkte einer Zone zugewiesen wurden.
  • Die Hauptkomponenten des Zustandsvektors Ei einer Zone Zi sind folgende:
  • - ein Wert R(Zi), der die Richtung des Gradienten aller Punkte der Zone kodiert,
  • - die Zahl N(Zi) der der Zone zugewiesenen Punkte,
  • - der Maximal- und Minimalwert YMAX(Zi) und YMIN(Zi) der senkrechten Koordinaten der dieser Zone zugewiesenen Punkte,
  • - der Höchst- und Mindestwert XMAX(Zi) und XMIN(Zi) der waagrechten Koordinaten der dieser Zone zugewiesenen Punkte,
  • - die Summe GX(Zi) der Koordinaten X der dieser Zone zugewiesenen Punkte,
  • - die Summe GY(Zi) der Koordinaten Y der dieser Zone zugewiesenen Punkte,
  • - ein Binärwert, der Absorptionsindikator T(Zi) genannt wird und 0 ist, wenn die Zone mit der Nummer Zi nie eine andere Zone absorbiert hat, während er ansonsten den Wert 1 hat.
  • Die Komponenten GX(Zi), GY(Zi) und N(Zi) ermöglichen die Bestimmung der Koordinaten (Xg, Yg) des Zonenschwerpunkts. Die Höchstwerte der Koordinaten ermöglichen die Bestimmung des Rechtecks, das das die Zone modellierende Segment begrenzt. Beispielsweise enthält die nachfolgende Tabelle die Werte der Komponenten der Zustandsvektoren der Zonen 1, 2 und 3, wie sie in Figur 5 gezeigt sind, wobei die Zonen mit weniger als 5 Punkten eliminiert wurden. Die Werte R(Zi) = 1, 2, 3, 4, 5, 6 kodieren die einzelnen Werte der Gradientenrichtung, nämlich 0º, 30º, 60º, 90º, 120º, 150º.
  • Andere Komponenten können in jedem Zustandsvektor integriert sein in Hinblick auf Anwendungen, die über die einfache Erfassung der Konturenlinien hinausgehen. Beispielsweise kann eine Komponente aus dem Mittelwert des Moduls des Helligkeitsgradienten der Punkte der Zone oder auch aus der Dicke der Konturenlinie vor der Modellierung oder schließlich aus den Koordinaten der Enden des die Zone bildenden Segments gebildet werden.
  • Um die Werte der Komponenten des Zustandsvektors jeder Zone zu speichern, ist ein Zustandsspeicher vorgesehen. Um eine Entsprechung zwischen jedem Bildpunkt und dem ersten Wert der Zonennummer z(PC) herzustellen, der diesen Punkt in dem Zeitpunkt zugeordnet ist, in dem er der aktuelle Punkt ist, wird ein Wartespeicher vorgesehen. Um den ersten Wert z(PC) der Nummer der einem Punkt zugewiesenen Zone mit dem definitiven aktualisierten Wert dieser Zonennummer in Korrespondenz zu bringen und um die Verschmelzungen von Zonen, die während der Verarbeitung aller Bildpunkte nacheinander erfolgt sind, zu speichern, ist ein Adressenspeicher vorgesehen, der jedem Wert der Nummer der Zone Zi einen anderen Wert Zh zuordnet, der aktualisierter Wert genannt wird und eine Zone Zh bezeichnet, die aus der Verschmelzung der Zone Zi mit der Zone Zh resultiert, wobei die Zone Zi von der Zone Zh absorbiert wird.
  • Während des rekursiven Prozesses der Aktualisierung der Zone, der nachfolgend beschrieben wird, werden Kaskaden von Verschmelzungen von aneinander angrenzenden Zonen durchgeführt. Wenn beispielsweise eine Zone Zj dann die Zone Zh absorbiert, dann wird die sich ergebende Zone von einem einzigen Zustandsvektor Ej gekennzeichnet, der im Zustandsspeicher an der Adresse Zj steht. Damit die Zonennummer Zh auch auf diesen Zustandsvektor verweist, enthält der Adressenspeicher den Wert Zj. an der Adresse Zh. Der Adressenspeicher erlaubt also eine indirekte Adressierung des Zustandsspeichers. Außerdem ordnet der Adressenspeicher für jede Zone der Nummer z, die nicht von einer anderen Zone absorbiert worden ist, die Adresse z der Adresse z zu.
  • In diesem Beispiel wurde eine Zonennummer 0 den Punkten zugewiesen, an denen der Helligkeitsgradient unter einem Schwellwert liegt, während ein fiktiver Richtungswert, der mit dem Wert R = 0 kodiert ist, durch Vereinbarung einer Zone zugewiesen wird, die alle Punkte umfaßt, die nicht einer Konturenlinie angehören. Wie oben ausgeführt wurde, werden die Werte 0º, 30º, 60º, 90º, 120º, 150º der Gradientenrichtung mit R = 1, 2, 3, 4, 5, 6 kodiert. Die Richtungswerte der entsprechenden Konturenlinien sind 90º, 120º, 150º, 0º, 30º, 60º, gemessen im Uhrzeigersinn. In der nachfolgenden Beschreibung wird ein Bildpunkt, der gerade zugewiesen wird, als aktueller Punkt bezeichnet und der Wert, mit dem die Richtung des Helligkeitsgradienten im aktuellen Punkt verschlüsselt wird, heißt R(PC).
  • Um einen ersten Wert der Zonennummer z(PC) zu bestimmen, der eine Zone bezeichnet, der der aktuelle Punkt zugewiesen ist, unterscheidet man gemäß einem Ausführungsbeispiel des erfindungsgemäßen Verfahrens vier Fälle, je nach den Werten der Zonennummern der dem aktuellen Punkt benachbarten Punkte und je nach den Werten, mit denen die Richtung der Konturenlinie in diesen Zonen kodiert ist.
  • In der nachfolgenden Beschreibung wird der auf derselben Zeile vorangehend benachbarte Punkt als linker Punkt und der auf der unmittelbar vorhergehenden Zeile dem aktuellen Punkt benachbarte Punkt als Oberpunkt bezeichnet. Diese Bezeichnungen entsprechen dem häufigsten Fall, in dem die Bildanalyse von oben nach unten und von links nach rechts erfolgt. Das erfindungsgemäße Verfahren ist aber natürlich nicht auf diese Art Abtastung beschränkt.
  • Die Zusammenfassung der aneinander anschließenden Punkte mit starkem Gradienten gleicher Richtung der Konturenlinien ist in den Figuren 11 bis 17 für ein Beispiel eines Bildausschnitts dargestellt. In Figur 12 sind die Punkte mit starkem Helligkeitsgradienten mit "1" und die Punkte mit schwachem Helligkeitsgradienten mit "0" bezeichnet, da in diesem Beispiel eines Bildauschnitts alle Punkte mit starkem Gradienten als dieselbe Richtung der Konturenlinien einnehmend angenommen werden. Diese Richtung wird mit dem Wert 1 kodiert. In den Figuren 13 bis 17 wird jeder Punkt durch eine Zonennummer dargestellt, die die Zone bezeichnet, zu der er in einem gegebenen Zeitpunkt gehört. Die Figuren 13 bis 17 entsprechen aufeinanderfolgenden Verarbeitungszeitpunkten. Daher ändert sich für einzelne Punkte der Wert der Zonennummer von einer Figur zur anderen aufgrund von Zonenschöpfungen und Zonenverschmelzungen.
  • Bei den vier Fällen handelt es sich um folgende:
  • Erster Fall: Der linke Punkt und der Oberpunkt gehören der Zone mit der Nummer 0 an, d.h. sie sind keine Punkte der Konturenlinie oder sie gehören Zonen Z und Z' an, deren Richtungen R(Z) und R(Z') sich von der Richtung R(PC) im aktuellen Punkt unterscheiden. Da der aktuelle Punkt nicht einer dieser beiden Zonen zugewiesen werden kann, wird er einer neuen Zone zugewiesen, deren Nummer Zd die Adressen eines Speicherplatzes ist, die im Adressenspeicher verfügbar ist. Die Werte der Komponenten des Zustandsvektors dieser Zone werden an der Adresse Zi. in den Zustandsspeicher eingeschrieben. Diese Werte sind folgende:
  • R(Zd) = R(PC) = R(PC)
  • N(Zd) = 1
  • YMAX(Zd)= Y(PC)
  • YMIN(Zd) = Y(PC)
  • XMAX(Zd) = Y(PC) (1)
  • XMIN(Zd) = X(PC)
  • GX(Zd) = X(PC)
  • GY(Zd) = Y(PC)
  • T(Zd) = 0
  • Der Wert z(PC) = Zd wird in den Wartespeicher an einer dem aktuellen Punkt entsprechenden Adresse und in den Adressenspeicher an der Adresse Z d eingeschrieben.
  • Dieser Fall gilt für die Punkte (X = 4, Y = 2) und (X = 3, Y = 3) in Figur 13.
  • Zweiter Fall: Der Punkt links vom aktuellen Punkt ist ein Punkt der Konturenlinie, er gehört zu einer Zone Z, deren Richtung R(Z) gleich der Richtung R(PC) im aktuellen Punkt ist, während der Oberpunkt kein Punkt der Konturenlinie ist oder einer Zone Z' angehört, deren Richtung R(Z') sich von der Richtung R(PC) des aktuellen Punkts unterscheidet. Der aktuelle Punkt hängt mit einer bereits existierenden Zone zusammen, die die gleiche Richtung besitzt, und wird daher dieser Zone zugewiesen.
  • Die Werte der Komponenten das Zustandsvektors der Zone Z werden aktualisiert, indem in den Zustandsspeicher an der Adresse Z die folgenden Werte eingetragen werden:
  • Na(Z) = Np(Z) + 1
  • YMAXa(Z) = Maximum von (YMAXp(Z),Y(PC)
  • YMINa(Z) = Minimum von(YMINp(Z),Y(PC))
  • XMAXa(Z) = Maximum von (XMAXp(Z),X(PC))
  • XMINa(Z) = Minimum von (XMINp(Z),X(PC)) (2)
  • GXa(Z) = GXp(Z) + X(PC)
  • GYa(Z) = GYp(Z) + Y(PC)
  • Ta(Z) = Tp(Z)
  • Der Index a bezeichnet die aktualisierten Werte der Komponenten und der Index p bezeichnet die vorhergehenden Werte der Komponenten, d.h. vor der Aktualisierung.
  • Dieser Fall gilt für den Punkt (X = 5, Y = 2) des Beispiels gemäß Figur 13.
  • Dritter Fall: Wenn der linke Punkt und der Oberpunkt Punkte der Konturenlinie sind, dann muß zwischen drei Möglichkeiten (a, b, c) je nach dem Wert der Richtung des Gradienten im aktuellen Punkt und in jedem der beiden genannten Punkte und je nachdem, ob diese Zonen bereits eine andere Zone absorbiert haben oder nicht, unterschieden werden. Die Zuordnungsregeln des aktuellen Punkts zu einer Zone können also verschiedene Varianten enthalten, je nachdem, ob sie die Zone des Oberpunkts oder die des linken Punkts bevorzugen. Diese weiter unten angegebenen Regeln wurden mit dem Ziel ausgewählt, so weit wie möglich Kaskaden-Absorptionen einer Zone durch eine andere zu vermeiden und so die Aktualisierung des Adressenspeichers zu vereinfachen.
  • Wenn nämlich beispielsweise eine Zone Z&sub9; eine Zone Z&sub8; absorbiert, die ihrerseits eine Zone Z&sub7; absorbiert hat, die nun wieder ihrerseits eine Zone Z&sub6; absorbiert hat, dann muß der Adressenspeicher nicht nur Z&sub8; den Wert Z&sub9; zuordnen, sondern auch Z&sub6; und Z&sub7; dem Wert Z&sub9;, da die der Zone Z&sub6; und Z&sub7; zugewiesenen Punkte als nunmehr der Zone Z&sub9; zugewiesen betrachtet werden müssen. Hierzu müssen zwei getrennte Operationen im Adressenspeicher durchgeführt werden, nämlich eine Speicherung der Absorption von Z&sub8; durch Z&sub9;, indem der Wert Z&sub9; an die Adresse Z&sub8; eingeschrieben wird, und dann eine Kaskade von Aktualisierungen des Inhalts des Adressenspeichers, die darin bestehen, zu bestimmen, welche Zone (Z&sub7;)von Z&sub8; absorbiert wurde, dann, welche Zone (Z&sub6;) von Z&sub7; absorbiert wurde usw., und dann Z&sub9; an den Adressen einzuschreiben, die durch die Nummern all dieser Zonen gebildet werden. Die Aktualisierung ist also eine relativ langwierige Angelegenheit, da sie mehrere Lesevorgänge im Adressenspeicher erfordern kann.
  • Die gewählte Regel zur möglichst weitgehenden Vermeidung von Absorptionskaskaden ist folgende:
  • Wenn zwei Zonen einen gemeinsamen Punkt besitzen, dann liegt die Priorität beim Oberpunkt, um die Zone des linken Punkts zu absorbieren. Auf diese Weise wird eine Zone absorbiert, die im allgemeine erst vor kurzem erzeugt wurde. Auf der anderen Seite wird diese Absorption nur dann zugelassen, wenn die Zone des linken Punkts nicht eine Zone vorher absorbiert hat, so daß dann die Zone des linken Punkts die Zone des Oberpunkts absorbiert. Um anzugeben, ob eine Zone bereits mindestens eine andere Zone absorbiert hat, wird ein Absorptionskennbit T(Zi) in jeden für eine Zone Zi charakteristischen Zustandsvektor eingebaut. Beispielsweise ist dieses Bit T(Z) = 1 für die Zone Z, der der linke Punkt angehört, wenn diese Zone bereits eine andere Zone absorbiert hat, und ansonsten 0.
  • - a) Wenn die Zonen der beiden erwähnten benachbarten Punkte unterschiedliche Nummern Z und Z' haben, wenn sie dieselbe Gradientenrichtung wie der aktuelle Punkt besitzen und wenn der linke Punkt noch nie eine andere Zone absorbiert hat (TZ) = 0, dann kann die Zone Z des linken Punkts von der Zone Z' des Oberpunkts absorbiert werden, ohne eine Kaskade von Aktualisierungen im Adressenspeicher zu erfordern. Der Wert Z' wird in den Wartespeicher an der dem aktuellen Punkt entsprechenden Adresse eingetragen sowie in den Adressenspeicher an der Adresse Z, da er den aktualisierten Wert der Zonennummer des linken Punkts bildet. Die Werte der Komponenten des Zustandsvektors der Zone Z' werden aktualisiert, indem in den Zustandsspeicher an der Adresse Z' die folgenden Werte eingetragen werden:
  • Na(Z') = Np(Z') + 1 + Np(Z)
  • YMAXa(Z') = Maximum von (YMAXp(Z),Y(PC),YMAXp(Z'))
  • YMINa(Z') = Minimum von (YMINp(Z),Y(PC),YMINp(Z'))
  • YMAXa(Z') = Maximum von (XMAXp(Z),X(PC),,XMAX p(Z')) (3)
  • XMINa(Z') = Minimum von (XIMINp(Z),X(PC),XMINp(Z'))
  • GXa(Z') = GXp(Z') + X(PC) + GXp(Z)
  • GYa(Z') = GYp(Z') + Y(PC) + GYp(Z)
  • Ta(Z') = 1
  • In dem in Figur 13 dargestellten Beispiel gilt dieser Fall für den Punkt (X = 4, Y = 3). Der benachbarte Oberpunkt gehört der Zone Z&sub1; und der linke Punkt einer anderen Zone Z&sub2; an, die erzeugt wurde, als der Punkt (X = 3, Y = 3) verarbeitet wurde. Die Richtung ist jedoch in diesen beiden Zonen Z&sub1; und Z&sub2; und im aktuellen Punkt dieselbe. Andererseits hat die Zone Z&sub1; noch nie eine andere Zone absorbiert. Daher kann die Zone Z&sub2; in der Zone Z&sub1; aufgehen und der aktuelle Punkt (X = 4, Y = 3) kann der Zone Z&sub1; zugewiesen werden.
  • - b) Wenn, wie oben, die Zonen Z und Z' unterschiedliche Nummern haben, aber dieselbe Gradientenrichtung wie der aktuelle Punkt, und wenn die Zone Z des linken Punkts mindestens eine andere Zone bereits absorbiert hat (T(Z) = 1), dann absorbiert sie die Zone Z' des Oberpunkts. Es ist keine Aktualisierungskaskade des Adressenspeichers erforderlich, wenn die Zone Z' des Oberpunkts keine andere Zone vorher absorbiert hat (T(Z') = 0). Eine Absorption in der anderen Richtung, d.h. eine Absorption der Zone Z durch die Zone Z', hätte unbedingt eine Aktualisierungskaskade im Adressenspeicher erforderlich gemacht.
  • Eine Aktualisierungskaskade des Inhalts des Adressenspeichers ist nur in dem Fall nötig, wenn die Zone Z' des Oberpunkts ihrerseits bereits mindestens eine Zone absorbiert hatte (T(Z') = T(Z) = 1).
  • Im einfachsten Fall, in dem die Zone Z' vorher noch keine anderen Zonen absorbiert hatte, wird der Wert Z in den Adressenspeicher an der Adresse Z eingetragen.
  • In allen anderen Fällen wird der Wert Z in den Wartespeicher an der dem aktuellen Punkt entsprechenden Adresse eingetragen sowie im Adressenspeicher an der Adresse Z', da er den aktualisierten Wert der Zonennummer des benachbarten Oberpunkts bildet.
  • Die Werte der Komponenten des Zustandsvektors der Zone Z werden aktualisiert, indem in den Zustandsspeicher an der Adresse Z die folgenden Werte eingetragen werden:
  • Na(Z) = Np(Z) + 1 + Np(Z')
  • YMAXa(Z) = Maximum von (YMAXp(Z),Y(PC),YMAXp(Z'))
  • YMINa(Z) = Minimum von (YMINp(Z),Y(PC),YMINp(Z'))
  • XMAXa(Z) = Maximum von (XMAXp(Z),X(PC),XMAXp(Z')) (4)
  • XMINa(Z) = Minimum von (XMINp(Z),X(PC),XMINp(Z'))
  • GXa(Z) = GXp(Z) + X(PC) + GXp(Z')
  • GYa(Z) = GYp(Z) + Y(PC) + GYp(Z')
  • Ta(Z) = 1
  • Dieser Fall trifft zu für den Punkt (X = 14, Y = 4) in Figur 15: Die Zone Z&sub1; darf nicht von der Zone Z&sub3; absorbiert werden, um eine Aktualisierungskaskade im Adressenspeicher zu vermeiden, denn die Zone Z&sub1; hatte bereits vorher die Zone Z&sub2; absorbiert. Gleiches gilt für den Punkt (X = 10, Y = 5) in Figur 16. Schließlich werden in diesem Beispiel alle Punkte der Zone Z&sub1; zugewiesen, wie dies in Figur 17 gezeigt ist, da die erste erzeugte Zone Z&sub1; alle während der Bearbeitung dieses beispielhaften Bildausschnitts erzeugten Zonen absorbiert.
  • - c) Wenn die beiden erwähnten benachbarten Punkte einer gleichen Zone (Z = Z') mit der gleichen Gradientenrichtung wie der Gradient des aktuellen Punkts, dann wird letzterer dieser Zone zugewiesen.
  • Der Wert Z = Z' wird in den Wartespeicher an der dem aktuellen Punkt entsprechenden Adresse eingeschrieben. Die Komponenten des Zustandsspeichers werden wie für den zweiten Fall beschrieben aktualisiert. Dieser Fall gilt beispielsweise für den Punkt (X = 5, Y = 3) in Figur 14.
  • Vierter Fall: Der linke Nachbarpunkt ist kein Punkt einer Konturenlinie oder gehört einer Zone an, deren Gradientenrichtung sich von der des aktuellen Punkts unterscheidet. Der benachbarte Oberpunkt ist ein Punkt einer Konturenlinie mit derselben Gradientenrichtung. Wenn der aktuelle Punkt mit einer bereits existierenden Zone Z' in Verbindung steht, dann wird er dieser Zone zugewiesen. Der Wert Z' wird in den Wartespeicher an der dem aktuellen Punkt entsprechenden Adresse eingeschrieben. Die Werte der Komponenten des Zustandsvektors der Zone Z' werden aktualisiert, indem in den Zustandsspeicher an der Adresse ZZ' eingegeben werden:
  • Na(Z') = Np(Z') Z + 1
  • YMAXa(Z') = Maximum von (Y(PC),YMAXp(Z'))
  • YMINa(Z') = Minimum von (Y(PC).YMINp(Z'))
  • XMAXa(Z') Maximum von (X(PC),XMAXp(Z'))
  • XMINa(Z') = Minimum von (X(PC),XMINp(Z')) (5)
  • GXa(Z') = GXp(Z') + X(PC)
  • GYa(Z') = GYp(Z') + Y(PC)
  • Ta(Z') = Tp (Z')
  • Dieser Fall gilt beispielsweise für den Punkt (X = 9, Y = 3) in Figur 14.
  • In dem in den Figuren 11 bis 17 gezeigten Beispiel breitet sich die Zone Z&sub1; schrittweise solange aus, wie die Folge von behandelten Punkten Konturenpunkte mit derselben Gradientenrichtung und eine Verbindung zu dieser Zone Z&sub1; aufweist. Neue Zonen Z&sub2; bis Z&sub6; werden erzeugt, aber von der Zone Z&sub1; absorbiert.
  • Beispielsweise wird im Punkt (X = 14, Y = 3) in Figur 17 eine Zone Z&sub3; erzeugt, die aber bei der Bearbeitung des darunterliegenden Punkts durch die Zone Z&sub1; absorbiert wird. In gleicher Weise werden Zonen Z&sub4; und Z&sub5; erst erzeugt und kurz danach wieder absorbiert (Figuren 15 und 16). Für jeden bearbeiteten Punkt kann es zu einem Verschwinden einer existierenden Zone kommen; daher ist die Definition der Zonen eines Bilds erst beendet, wenn alle Punkte des Bilds behandelt worden sind. Im Beispiel der Figur 12 führt die aufeinanderfolgende Verschmelzung benachbarter Zonen zu einer einzigen Zone Z&sub1; (Figur 17).
  • In dem Beispiel der Figuren 12 bis 17 ist die endgültige Konfiguration des Adressenspeichers folgende: Adresse Inhalt
  • Nach der Erfassung der Zonen von Punkten von Konturenlinien im ganzen Bild wird der Zustandsvektor der Zonen zur digitalen Weiterverarbeitung herangezogen. Um zu bestimmen, welcher Zone schließlich ein Bildpunkt angehört, besteht ein erster Verfahrensschritt darin, aus dem Wartespeicher die Nummer z(PC) der Zone auszulesen, der der betrachtete Punkt ursprünglich zugewiesen wurde; in einem zweiten Verfahrensschritt wird dann aus dem Adressenspeicher an der Adressen z(PC) die Nummer Z&sub0; der Zone ausgelesen, die schließlich die Zone mit der Nummer z(PC) ggf. nach einer Absorptionskaskade absorbiert hat. Im Beispiel der Figur 12 ist für den Punkt X = 3, Y = 3) die ursprünglich zugeteilte Zonennummer Z&sub2;. Nachdem diese Zone Z&sub2; von der Zone Z&sub1; absorbiert wurde, ordnet der Adressenspeicher Z&sub1; dem Wert Z&sub2; zu, so daß der betrachtete Punkt als zu r Zone Z&sub1; gehörend bearbeitet wird. Der Zustandsvektor dieser Zone wird vom Zustandsspeicher an der Adresse Z&sub1; angegeben.
  • Die Speicherung einer Verschmelzung von zwei Zonen erfolgt in dem Augenblick, in dem der aktuelle Punkt einer Vereinigung dieser beiden Zonen zugewiesen wird. Dagegen können die Aktualisierungskaskaden, die ggf. im Adressenspeicher durchzuführen sind, eine gewisse Zeit aufgeschoben werden. Wenn der Augenblick kommt, in dem ein gegebener Punkt den linken Nachbarpunkt oder den benachbarten Oberpunkt des aktuellen Punkts bildet, dann ist es notwendig, seine aktualisierte Zonennummer zu kennen, die nicht notwendigerweise der ersten Zonennummer, die einem gegebenen Punkt zugewiesen wurde, gleicht. Die Zonennummer des links vom aktuellen Punkt liegenden Punkt hat sich seit dem jüngst vergangenen Zeitpunkt nicht geändert, an dem dieser bearbeitet wurde. Dagegen hat sich die Zonennummer des Oberpunkts mehrfach aufgrund der Zonenabsorptionen geändert. Die Aktualisierung der Zonennummer eines gegebenen Punkts muß daher erfolgen, ehe dieser Punkt die Rolle eines Oberpunkts übernimmt. Dann müssen folgende Operationen abgewickelt sein:
  • - Auslesen der dem Oberpunkt zugewiesenen ersten Zonennummer z(PD) aus dem Wartespeicher. Beispielsweise gilt z(PD) = Z&sub1;&sub1;.
  • - Auslesen des Inhalts ADR(Z&sub1;) an der Adresse Z&sub1;&sub1; des Adressenspeichers. Beispielsweise lautet der Inhalt des Adressenspeichers folgendermaßen: Adresse Inhalt
  • also ADR(Z&sub1;&sub1;)=Z&sub1;&sub2;
  • - Auslesen des Inhalts ADR(Z&sub1;&sub2;) an der Adresse Z&sub1;&sub2; des Adressenspeichers.
  • ADR(Z&sub1;&sub2;) = Z&sub1;&sub3;
  • - Auslesen des Inhalts ADR(Z&sub1;&sub3;) an der Adresse Z&sub1;&sub3; des Adressenspeichers.
  • ADR(Z&sub1;&sub3;) = Z&sub1;&sub4;
  • - Auslesen des Inhalts ADR(Z&sub1;&sub4;) an der Adresse Z&sub1;&sub4; des Adressenspeichers.
  • ADR(Z&sub1;&sub4;) = Z&sub1;&sub4;.
  • Da Z&sub1;&sub4; an der Adresse Z&sub1;&sub4; eingetragen wird, wurde die Zone Z&sub1;&sub4; nicht von einer anderen Zone absorbiert, weshalb es unnötig ist, das Verfahren fortzusetzen.
  • - Einschreiben von Z&sub1;&sub4; an den Adressen Z&sub1;&sub3;, Z&sub1;&sub2;, Z&sub1;&sub1; des Adressenspeichers.
  • Nach diesen Aktualisierungsoperationen ist der Inhalt des Adressenspeichers folgender: Adresse Inhalt
  • Diese Aktualisierung berücksichtigt natürlich nur Adsorptionen, die zwischen dem Zeitpunkt, in dem der Oberpunkt der Zone Z&sub1;&sub1; zugewiesen wurde, und dem Zeitpunkt stattgefunden haben, in dem der aktuelle Punkt betrachtet wird. Danach erfolgen ggf. weitere Aktualisierungen an den Adressen Z&sub1;&sub1;, Z&sub1;&sub2;, Z&sub1;&sub3;, Z&sub1;&sub4;.
  • In der Praxis ist es nicht notwendig, einen Test durchführen, um zu erfahren, daß ein Inhalt seiner eigenen Adresse gleicht, um dann die Kaskade von Lesevorgängen zu beenden. Die Erfahrung zeigt, daß es praktisch nie mehr als zwei Kaskaden gibt. Andererseits ist es nicht unbedingt erforderlich, den aktualisierten Wert Z&sub1;&sub4; an allen Adressen Z&sub1;&sub1;, Z&sub1;&sub2;, Z&sub1;&sub3; einzuschreiben, da es möglich ist, den aktualisierten Wert so oft wie nötig zu finden, indem man jedesmal eine Folge von Lesevorgängen in dem Adressenspeicher durchführt. Es reicht also, systematisch drei Lesevorgänge durchzuführen und es ist nicht unbedingt erforderlich, die erhaltene Zahl einzutragen. Da aber diese Operationsfolge relativ langwierig ist, ist es notwendig, die Aktualisierung um eine Zeit gleich 3T vorzuziehen, wobei T einer Abtastungsdauer eines Bildpunkts entspricht. Um außerdem Zeit zu gewinnen, erfolgen die drei Lesevorgänge nicht nacheinander in demselben Speicher unter Verwendung eines Pufferspeichers, um einen Adressenwert zwischen zwei Lesevorgängen zwischenzuspeichern; vielmehr erfolgen die Lesevorgänge in drei getrennten, aber identischen Speichern, die vorab denselben Inhalt aufweisen und schließlich identisch aktualisiert werden. Wenn t der Zeitpunkt ist, in dem der aktuelle Punkt einer Zone zugewiesen wird, dann braucht man folgende Operationen, um den Adressenspeicher und die beiden Hilfsspeicher in dem oben betrachteten Beispiel zu aktualisieren:
  • - Zum Zeitpunkt t-3T wird der Inhalt ADR&sub1;(Z&sub1;&sub1;) an der Adresse Z&sub1;&sub1; im ersten Hilfsspeicher ausgelesen:
  • ADR&sub1;(Z&sub1;&sub1;) = Z&sub1;&sub2;
  • - Zum Zeitpunkt t-2T wird der Inhalt ADSR&sub2;(ADR&sub1;(Z&sub1;&sub1;)) an der Adresse ADR&sub1;(Z&sub1;&sub1;) im zweiten Hilfsspeicher ausgelesen:
  • ADR&sub2;(ADR&sub1;(Z&sub1;&sub1;)) = ADR&sub2;(Z&sub1;&sub2;) = Z&sub1;&sub3;
  • - Zum Zeitpunkt t-T wird der Inhalt
  • ADR&sub3;(ADR&sub2;(ADR&sub1;(Z&sub1;&sub1;))) an der Adresse ADR&sub2;(ADR&sub1;(Z&sub1;))) = Z&sub3; aus dem Zustandsspeicher ausgelesen:
  • ADR&sub3;(Z&sub1;&sub3;) = Z&sub4;.
  • So ist im Zeitpunkt t der aktualisierte Wert der Zonennummer des Oberpunkts bezüglich des aktuellen Punkts bekannt, und es ist somit möglich, den aktuellen Punkt zu bearbeiten. Dieses Beispiel beschränkt den Umfang der Erfindung nicht. Es liegt im Rahmen fachmännischer Maßnahmen, eine größere Zahl von Lesevorgängen im Adressenspeicher und den Hilfsspeichern durchzuführen und sie über ein größeres Zeitintervall zu verteilen.
  • Figur 18 zeigt das Blockschaltbild eines Ausführungsbeispiels einer Vorrichtung zur Erfassung und zum Modellieren der Konturenlinien eines Bilds zur Durchführung des erfindungsgemäßen Verfahrens. Sie besitzt eine Vorrichtung 2 zur Bestimmung der Konturpunkte und zur Bestimmung der Richtung des Gradienten in jedem Punkt, Steuermittel 4, einen Adressenund Zustandsgenerator 5, einen Wartespeicher 6, einen Adressenspeicher 7, einen Zustandsspeicher 8, einen Generator 9 für modellierte Konturenlinien und einen Konturenspeicher 10.
  • Dieses Ausführungsbeispiel ist dazu bestimmt, in Echtzeit eine Folge von Fernsehbildern gemäß üblicher Norm zu verarbeiten. Diese Fernsehbilder bestehen je aus zwei versetzten Halbbildern, die in der nachfolgenden Beschreibung als zwei unabhängige Bilder betrachtet werden. Eine Eingangsklemme 1 empfängt eine Folge digitaler Werte entsprechend der Helligkeit der Punkte eines analysierten, getasteten und digitalisierten Halbbilds gemäß einem üblichen Fernsehverfahren. Diese digitalen Werte gelangen an die Eingangsklemme 1 mit einem Zeitabstand T zwischen jedem Wert, in Form von Paketen entsprechend je einer Zeile des Bildes. Eine Eingangsklemme 3 empfängt Synchronisationssignale entsprechend jedem Bildpunkt und jeder Bildzeile. Eine Eingangsklemme 21 und eine Ausgangsklemme 22 sind dazu vorgesehen, einen Adressenwert bzw. Steuersignale an einen Eingang des Konturenspeichers 10 anzulegen, bzw. einen Binärwert aus diesem Speicher 10 auszulesen, um die Konturen, die von der Vorrichtung erfaßt und modelliert wurden, auszuwerten. Der Konturenspeicher 10 speichert einen Binärwert für jeden Bildpunkt, wobei ein Wert 0 einen Punkt angibt, der nicht zu einer modellierten Konturenlinie gehört, und ein Wert 1 einen Punkt angibt, der zu einer modellierten Konturenlinie gehört.
  • Die Vorrichtung 2 enthält eine an die Eingangsklemme 1 angeschlossene Eingangsklemme und eine an einen Eingang der Steuermittel 4 und an eine Eingangsklemme 12 des Adressen- und Zustandsgenerators 5 angeschlossene Ausgangsklemme. Die Steuermittel 4 besitzen einen Eingang, der mit der Eingangsklemme 3 verbunden ist. Der Wartespeicher 6 besitzt einen Eingang, der mit einer Ausgangsklemme 15 des Generators 5 verbunden ist, und zwei Ausgänge, die an einen Adressenleseeingang des Adressenspeichers 7 angeschlossen sind. Der Adressenspeicher 87 besitzt eine Schreibadresseneingang, der an eine Ausgangsklemme 14 des Generators 5 angeschlossen ist, einen an eine Ausgangsklemme 15 des Generators 5 angeschlossenen Dateneingang und einen an eine Ausgangsklemme 16 des Generators 5 und an einen Leseadresseneingang des Zustandsspeichers 8 angeschlossenen Datenausgang.
  • Der Zustandsspeicher 8 besitzt einen an die Ausgangsklemme 15 des Generators 5 angeschlossenen Schreibadresseneingang, einen an die Ausgangsklemme 17 des Generators 5 angeschlossenen Dateneingang und einen an die Ausgangsklemme 18 des Generators 5 und an eine Eingangsklemme 20 des Generators 9 für modellierte Konturen angeschlossenen Datenausgang. Der Generator 9 besitzt eine an den Leseadresseneingang des Adressenspeichers 7 angeschlossenen Ausgang 19, eine an einen Adresseneingang des Konturenspeichers 10 angeschlossene Adressenausgangsklemme und einen mit einem Datenein- und -ausgang des Speichers 10 verbundenen Datenausgang. Die Eingangsklemme 21 und die Ausgangsklemme 22 sind an den Adresseneingang bzw. den Datenein- und -ausgang des Speichers 10 angeschlossen.
  • Die Vorrichtung 2 hat die Aufgabe, für jeden Bildpunkt nacheinander in der Reihenfolge der Abtastung zu bestimmen, ob er einer Konturenlinie angehört oder nicht, je nach dem Wert des Helligkeitsgradienten in diesem Punkt, und die Richtung des Helligkeitsgradienten in diesem Punkt zu bestimmen, um daraus die Orientierung der Konturenlinie abzuleiten, der dieser Punkt angehört. Der Ausgang der Vorrichtung 2 liefert einen Wert R(PC), der den Richtungswert des Helligkeitsgradienten kodiert und zugleich den Richtungswert der Konturenlinie kodiert, da dieser stets senkrecht auf der Richtung des Gradienten steht. Die Richtungswerte 0º, 30º, 60º, 90º, 120º, 150º werden verschlüsselt mit R(PCT) = 1, 2, 3, 4, 5, 6. Wenn der aktuelle Punkt nicht einer Konturenlinie angehört, dann wird der Wert R(PG) = 0 vereinbarungsgemäß zugewiesen.
  • Die Steuermittel 4 liefern mit diesen an die Eingangsklemme 3 angelegten Synchronisationssignalen synchrone Taktsignale und liefern Steuersignale in Abhängigkeit von diesen Taktsignalen und von der Folge von durch die Vorrichtung 32 gelieferten Werten R(PC). Diese Signale steuern alle Elemente der Vorrichtung zur Erfassung und Modellierung der Bildkonturen. Die Vorrichtung arbeitet mit drei verschiedenen Perioden, nämlich einer Periode T entsprechend der Abtastungsperiode der Bildpunkte, einer Periode entsprechend der Abtastungsperiode einer Zeile des Bilds, und einer Periode entsprechend der Abtastungsperiode der Halbbilder. Jedes Bild besteht aus zwei verschachtelten Halbbildern, die für die Erfassung und das Modellieren der Konturen je als unabhängiges Bild betrachtet werden. Die nachfolgende Beschreibung betrifft nacheinander den Betrieb während jeder dieser Perioden.
  • Während einer Periode T entsprechend der Abtastung eines Punkts ergibt sich folgender Betrieb: Die Steuermittel 4 erzeugen eine Folge von Steuersignalen, die von den Werten R(PC), R(PD), R(PA) abhängen, die die Gradientenrichtung des aktuellen Punkts bzw. des benachbarten Oberpunkts bzw. des benachbarten linken Punkts kodieren. Ein Ausgang des Wartespeichers 6 liefert an den Leseadresseneingang des Adressenspeichers 7 einen Wert z(PC), der die Nummer der Zone angibt, die dem benachbarten Oberpunkt angibt, während der aktuelle Punkt behandelt wird. Ein Lesevorgang im Adressenspeicher 7 liefert an die Eingangsklemme 16 des Generators 5 und an den Leseadresseneingang des Zustandsspeichers 8 einen Wert Z', der der aktuelle Wert der Nummer der dem benachbarten Oberpunkt zugewiesenen Zone im betrachteten Zeitpunkt ist. Der Zustandsspeicher 8 liefert die Werte E(Z') der Komponenten des Zustandsvektors der Zone mit der Nummer Z'.
  • Der Adressen- und Zustandsgenerator 5 bestimmt dann den Wert z(PC) der Zonennummer, die dem aktuellen Punkt zuzuweisen ist, abhängig vom Wert Z', vom aktuellen Wert Z der Nummer der dem links benachbarten Punkt zugewiesenen Zone im betrachteten Zeitpunkt und abhängig von R(PC) sowie von den Werten der Komponenten der Zustandsvektoren E(Z') der Zone des Oberpunkts, sowie E(Z) der Zone des links benachbarten Punkts. Der Wert Z und der Zustandsvektor E(Z) brauchen nicht aus dem Zustandsspeicher 8 ausgelesen zu werden, da der links benachbarte Punkt kurz vorher bearbeitet worden ist. Der Wert Z und die Werte der Komponenten des Zustandsvektors E(Z) sind also im Inneren des Adressen- und Zustandsgenerators 5 noch verfügbar.
  • Dann wird der vom Generator 5 bestimmte Wert z(PC) an seine Ausgangsklemme 15 angelegt. Er wird in den Wartespeicher 6 an einer dem gerade bearbeiteten Bildpunkt entsprechenden Stelle und in den Adressenspeicher 7 an einer Schreibadresse AD eingeschrieben, die über die Ausgangsklemme 14 vom Generator 5 geliefert wird. Außerdem wird dieser Wert an den Schreibadresseneingang des Zustandsspeichers 8 angelegt. Die Ausgangsklemme 17 des Generators 5 liefert den Wert E(z)(PC)) der Komponenten des Zustandsvektors der Zone mit der Nummer z(PC), der der aktuelle Punkt zugewiesen ist. Wenn diese Zone schon vorher existierte, dann wurde der Wert dieser Komponenten aktualisiert, d.h. der Tatsache angepaßt, daß der aktuelle Punkt dieser Zone zugewiesen wurde und daß ggf. eine Verschmelzung einer anderen Zone in dieser Zone erfolgte. Dieser aktualisierte Wert der Komponenten dieses Zustandsvektors wird in den Zustandsspeicher 8 an der Adresse z(PC) eingeschrieben.
  • Wenn eine Zone absorbiert wurde, entweder die des linken Nachbarpunkts oder die des benachbarten Oberpunkts, dann wird der Wert z(PC), der die absorbierende Zone bezeichnet, in den Adressenspeicher 7 an der Adresse AD eingeschrieben, die dann durch den Wert der Nummer der absorbierten Zone gebildet wird. Dieses Einschreiben in den Adressenspeicher 7 bildet eine partielle Aktualisierung seines Inhalts. Die Zone mit der Nummer AD kann vorher bereits eine oder mehrere Zonen absorbiert haben. Daher ist es notwendig, die Nummern dieser Zonen und die Nummer AD einander zuzuordnen. Dieser Aktualisierungsprozeß wird nachfolgend in Verbindung mit der genaueren Struktur des Adressenspeichers 7 beschrieben.
  • Der Betrieb der Vorrichtung zur Erfassung und zum Modellieren der Konturen enthält auch eine Periode entsprechend der Abtastungsperiode einer Bildzeile, die während der Zeit abläuft, die Abtastungen zweier aufeinanderfolgender Zeilen eines Bilds trennen. Hier gilt es, Zonen zu eliminieren, die abgeschlossen sind und eine sehr kleine Anzahl von Punkten enthalten. Diese Eliminierung führt zu einem Ausfiltern der allzu kleinen Zonen, um eine Konturenlinie zu bilden, und erlaubt, erneut Zonennummerwerte zur Verfügung zu stellen, d.h. erlaubt eine erneute Benutzung der Speicherplätze des Zustandsspeichers. So kann die Kapazität des Zustandsspeichers erheblich verringert werden.
  • Diese Bearbeitung erfolgt während des Zeitintervalls, das Zeitintervalle entsprechend zweier Zeilen trennt, das ein Auslesen aus dem Adressenspeicher und ein Auslesen aus dem Zustandsspeicher erforderlich sind, die beide während der Zeilenanalysezeiten mit Lese- und Schreibvorgängen sehr beschäftigt sind. Die Bearbeitung besteht darin, aus dem Wartespeicher 6 einen Wert zt auszulesen, der der Zonennummer entspricht, die einem zwei Linien oberhalb des aktuellen Punkts liegenden Punkt zugewiesen ist. Dieser Wert zt wird an den Leseadresseneingang des Adressenspeichers 7 angelegt. Dann erfolgt ein Auslesen des Speichers 7 an dieser Adresse, um eine Wert Zt zu erhalten, der der Nummer einer Zone entspricht, getestete Zone genannt, die die Zone mit der Nummer Zt absorbiert hat. Wenn letztere nie absorbiert worden ist, dann gilt Zt = zt. Der Wert Zt wird an die Eingangsklemme 16 des Adressen- und Zustandsgenerators 5 und an den Leseadresseneingang des Zustandsspeichers 8 angelegt, um das Auslesen des Werts E(Zt) der Komponenten des Zustandsvektors der getesteten Zone aus diesem Speicher zu erlauben. Abhängig von diesen Daten Zt und E(Zt) entscheidet der Generator 5, ob die Zone mit der Nummer Zt eliminiert werden soll oder nicht. Wenn sie eliminiert wird, dann wird die Zone Zt als eine neue, für eine weitere Verwendung verfügbare Zonennummer betrachtet.
  • Der Betrieb der Vorrichtung zur Erfassung und zum Modellieren der Konturen enthält auch eine Periode entsprechend der Periode von Halbbildern, die insbesondere die Modellierung der Konturen betrifft. Diese Modellierung kann erst nach der Erfassung aller Konturen eines Halbbilds stattfinden, da eine Konturenlinie sich über die ganze Höhe eines Halbbilds erstrecken kann. Die Modellierung erfolgt, nachdem alle Punkte eines Halbbilds mit starken Gradientenzonen zugeteilt worden sind, d.h. während des Zeitintervalls, das die Abtastung von zwei aufeinanderfolgenden Halbbildern trennt. Während dieser Modellierung wird zuerst nacheinander der Inhalt jeder Adresse des Adressenspeichers 7 ausgelesen, wobei der Generator 9 für modellierte Konturen eine zunehmende Folge von Adressenwerten zm an seinem mit dem Leseadresseneingang des Speichers 7 verbundenen Ausgang 19 liefert. Durch Auslesen an der Adresse zm des Adressenspeichers 7 wird dann ein aktueller Wert der Zonennummer Zm geliefert, der eine Zone bezeichnet, die die Zone zm absorbiert hat, wenn diese je absorbiert wurde. Ansonsten liefert sie eine Wert gleich zm. So empfängt der Zustandsspeicher nur Adressen entsprechend existierender Zonen.
  • Durch Auslesen des Zustandsspeichers 8 an dieser Adresse Zm wird der Wert E(Zm) der Komponenten des Zustandsvektors der Zone mit der Nummer Zm ausgelesen und an die Eingangsklemme 20 des Generators 9 für modellierte Konturen angelegt. Ausgehend von den vom Wert der Komponenten dieses Zustandsvektors gebildeten Daten bestimmt der Generator 9 die Koordinaten der Bildpunkte, die ein die Konturenlinie entsprechend der Zone der Nummer Zm modellierendes Segment bilden, dann schreibt dieser Generator einen Wert 1 in den Konturenspeicher 10 an den Adressen mit diesen Koordinaten ein. Wenn mehrere Adressenwerte Zm des Adressenspeichers 7 den gleichen Wert Zm enthalten, weil die Zone Zm mehrere Zonen absorbiert hat, dann wird die Modellieraufgabe unnützerweise mehrfach vom Generator 9 wiederholt, aber dies hat keinen anderen Nachteil als einen Zeitverlust. Wie weiter unten erläutert wird, werden die Nummern der absorbierten Zonen als verfügbar betrachtet und möglichst bald neuen Zonen zugeteilt. Daher bleiben im Adressenspeicher 7 wenige Adressen entsprechend Zonen die absorbiert worden sind und es kommt selten vor, daß der Generator 9 die Modellieraufgabe unnützerweise erfüllt.
  • Figur 19 zeigt ein genaueres Blockschaltbild der Vorrichtung 2 zur Bestimmung der Punkte der Umrißlinie und zur Bestimmung der Richtung des Gradienten in jedem Punkt, sowie der Steuermittel 4. Die Vorrichtung 2 enthält sechs Vorrichtungen 30, ... 31 zur Berechnung des Absolutwerts der Konvolutionsprodukte L x G&sub1;, ... L x G&sub6;, zwei Komparatoren 32 und 35, zwei Multiplexer mit sechs Eingängen und einem Ausgang 33 und 34 und ein logisches Tor 36. Die Rechenvorrichtungen 30, ... 31 sind mit je einem Eingang an die Eingangsklemme 1 angeschlossen um die Folge von Helligkeitswerten zu empfangen, und besitzen je einen Ausgang. Der Komparator 32 und der Multiplexer 33 haben je sechs Eingänge, wobei jeder dieser Eingänge an den einer der Rechenvorrichtungen 30, ... 31 angeschlossen ist.
  • Der Multiplexer 34 besitzt sechs Eingänge, die je ein Binärwort empfangen, dessen Wert 1, 2, 3, 4, 5 oder 6 ist. Der Komparator 32 hat die Aufgabe, den größten Wert unter den sechs an die Eingänge angelegten Werten zu bestimmen und an einem Ausgang ein Binärwort M zu liefern, das den Rang dieses Werts angibt. Dieses Binärwort M wird an einen Steuereingang der Multiplexer 33 und 34 angelegt, um die Auswahl eines Eingangs entsprechend dem Wert des Worts M zu steuern. So überträgt der Multiplexer 33 an seinem Ausgang, der an einem Eingang des Komparators 35 angeschlossen ist, den Absolutwert des größten Konvolutionsprodukts unter den sechs berechneten Werten. Zugleich überträgt der Multiplexer 34 an seinen Ausgang, der an einen Eingang des Tores 36 angeschlossen ist, ein Binärwort, dessen Wert angibt, welches der Konvolutionsprodukte den größten Absolutwert hat, und kodiert so die Richtung des Gradienten und die Richtung der Konturenlinie.
  • Der Komparator 35 besitzt einen zweiten Eingang, der einen Schwellwert gleich 47 im vorliegenden Beispiel empfängt, um die starken Gradienten von den schwachen zu unterscheiden. Wenn der Absolutwert des an den Komparator 35 angelegten Konvolutionsprodukts größer als dieser Schwellwert ist, dann liefert der Komparator 35 an einem Ausgang ein logisches Signal, das an einen Steuereingang des Tores 36 angelegt wird. Das Tor 36 überträgt dann das Binärwort, das ihm der Multiplexer 34 liefert, an den Ausgang der Vorrichtung 2. Im anderen Fall, d.h. wenn der Helligkeitsgradient im betrachteten Punkt zu gering ist, dann überträgt das Tor 36 nicht das vom Multiplexer 34 gelieferte Binärwort und liefert ein Binärwort des Werts 0. Der Ausgang der Vorrichtung 2 liefert also ein Binärwort R(PC), das die Richtung des Helligkeitsgradienten und der Konturenlinie im aktuellen Punkt kodiert, wenn es sich um einen Konturpunkt handelt, und den Wert 0, wenn der aktuelle Punkt kein Konturpunkt ist.
  • Der Aufbau der Vorrichtung 30, ... 31 zur Berechnung der Konvolutionsprodukte liegt im fachmännischen Rahmen. Jede Vorrichtung kann bestehen aus 25 Registern zu je 8 Bits, um 25 Helligkeitswerte zu speichern, 25 8-Bit-Multiplizierglieder und einem Addierer mit 25 Eingängen zu 8 Bits.
  • Die Steuermittel 4 enthalten einen Taktsignalgenerator 40, zwei Register 41 und 42 und eine Folgeschaltung 43. Der Generator 40 liefert Taktsignale HP&sub1;, ... HP&sub7;, HZ im Rhythmus der Abtastung der Punkte, ein Taktsignal HL im Rhythmus der Zeilenanalyse und ein Taktsignal HT im Rhythmus der Abtastung der Halbbilder, die die Gesamtheit der Elemente der Vorrichtung zur Erfassung und zum Modellieren der Konturenlinien steuern, und insbesondere die Folgeschaltung 43, deren Aufgabe es ist, Steuersignale C&sub1;, ...C&sub1;&sub2; und zwei Binärwörter Y(PC), X(PC) zu liefern, die die Koordinaten des aktuellen Bitpunkts bilden, wobei die Koordinatenachsen in Richtung der Bildanalyse angeordnet sind, d.h. von links nach rechts für die X-Achse und von oben nach unten für die Y-Achse.
  • Ein Eingang der Mittel 4 ist an einen Eingang des Kreises 43 und an einen Eingang des Registers 41 angeschlossen, um ihnen die Folge der Werte R(PC) zu liefern. Ein Steuereingang dieses Registers 41 empfängt das Taktsignal HP&sub1;, und ein Ausgang ist mit einem Eingang der Folgeschaltung 43 und einem Eingang des Registers 42 verbunden. Das Register 42 empfängt über einen Steuereingang das Taktsignal HP&sub1; und ist über einen Ausgang mit einem Eingang der Folgeschaltung 43 verbunden. Das Register 41 hat eine Kapazität eines Werts, wenn das Register 42 ein Schieberegister ist mit einer Kapazität entsprechend einer Zeile minus einem Bildpunkt. Ihre Aufgabe ist es, die Werte R(PC) um eine Dauer entsprechend einem Punkt bzw. um eine Dauer entsprechend einer Zeile zu verzögern, um der Folgeschaltung 43, die die Richtung des Gradienten des benachbarten Oberpunkts und des links benachbarten Punkts zu liefern. Abhängig von diesen Werten und dem die Gradientenrichtung des aktuellen Punkts kodierenden Werts erstellt die Schaltung 43 eine Folge von Signalen C&sub1;, . . . C&sub1;&sub2;, um alle Elemente der Vorrichtung zur Erfassung und zum, Modellieren der Konturen zu steuern. Diese Schaltung 43 kann aus Zählern gebildet werden, die von Taktsignalen HP&sub1; ... H&sub7;, HL, HT, HZ gesteuert wird, aus Dekodern und aus logischen Toren. Der Aufbau liegt im Rahmen fachmännischen Wissens.
  • Die Taktsignale HP&sub1;, ... HP&sub7; sind zueinander derart Phasenverschoben, daß sie über eine Dauer entsprechend drei Bildpunkten regelmäßig verteilt sind. So beginnt während der Bearbeitung des laufenden Punkts die Bearbeitung des nächstfolgenden Punkts und endet die Bearbeitung des dem aktuellen Punkt vorhergehenden Punkts.
  • Figur 20 zeigt das Blockschaltbild einer Ausführungsform des Adressen und Zustandsgenerators 5. Dieses Ausführungsbeispiel enthält einen Generator 50 für die verfügbaren Adressen, zwei Multiplexer 49 und 51, die einem Schalter mit vier Stellungen gleichen, einen Multiplexer 52, der einem Schalter mit sieben Schaltstellungen gleicht, einen Multiplexer 53, der einem Schalter für sieben Kreise und zwei Stellungen gleicht, eine Gruppe von siebzehn Registern 54, sechs Addierer 55, 60, 61, 63, 68, 69, ein Register 78 mit der Kapazität eines Werts, ein Schieberegister 79, mit der Kapazität entsprechend einer Bildzeile, einen logischen Kreis 62, vier Vorrichtungen 56, 57, 64 und 65 zur Bestimmung des Höchstwerts aus zwei Werten, vier Vorrichtungen 64, 65, 66 und 678 zur Bestimmung des Mindestwerts aus zwei Werten, eine Gruppe von elf Pufferstufen 70, deren Ausgänge drei Zustände annehmen können, von denen einer ein Zustand hoher Impedanz ist.
  • Die Werte AD, z(PC), E(z)PC)), Z, Z', die in Figur 20 erwähnt sind, sind die Werte, die im Generator 5 in dem Augenblick vorliegen, in dem die Behandlung endet, um dem aktuellen Punkt eine Zonennummer zuzuteilen. Es ist festzustellen, daß einzelne dieser Werte nochmals und unter neuem Namen für die Behandlung des nächst folgenden Punkts nach dem aktuellen Punkt verwendet werden.
  • Die Werte Zt und E(Zt), die auch in Figur 20 erwähnt werden, sind nicht im Generator 5 während der Bearbeitung vorhanden, um eine Zonennummer dem aktuellen Punkt zuzuteilen. Sie spielen nur eine Rolle während der Zeitintervalle zwischen den Abtastungen zweier aufeinanderfolgender Zeilen, und zwar für die Filterbehandlung der kleinen Zonen und für die erneute Verwendung der Zonennummern.
  • Der Generator 5 enthält eine Eingangsklemme 12, über die er das Binärwort R(PC) zugeführt erhält und die an einen Eingang des Registers 78, an einen Eingang des logischen Kreises 62 und an einen Eingang der Pufferstufen 70 angeschlossen ist. Der Generator enthält weiter eine Eingangsklemme 18, die an einen Vielfacheingang der Registergruppe 54 angeschlossen ist, um ihm den Wert E(Z') der Komponenten des Zustandsvektors der Zone mit der Nummer Z' oder auch den Wert E(Zt) der Komponenten des Zustandsvektors der Zone mit der Nummer Zt zu übermitteln, je nachdem, ob man den Betrieb während der Abtastung einer Zeile oder während des Intervalls zwischen den Abtastungen zweier Zeilen in Betracht zieht. Der Generator enthält weiter eine Eingangsklemme 16, die an einen Eingang der Gruppe 54 angeschlossen ist und die Zonennummer Z' des Punkts oberhalb des aktuellen Punkts während der Abtastung einer Zeile zugeführt erhält oder die Nummer Zt jeder getesteten Zone während des Zeitintervalls zwischen den Abtastungen zweier Zeilen. Die Gruppe von Registern 54 speichert den Wert der Nummer von Z' und den Wert E(Z') der Komponenten des Zustandsvektors der Zone Z', mit Ausnahme des Wertes R(Z'), der die Gradientenrichtung während der Abtastung einer Zeile kodiert. Die Registergruppe 54 speichert den Wert der Nummer Zt und den Wert E(Zt), der Komponenten des Zustandsvektors der Zone Zt, außerdem den Wert R(Zt), der die Gradientenrichtung während des Intervalls zwischen den Abtastungen zweier Zeilen kodiert.
  • Ein Vielfacheingang der Registergruppe 54 ist mit den sieben Ausgängen des Multiplexers 53 verbunden, um den Wert (Ez)(PC)) des Zustandsvektors der Zone z(PC) zu empfangen, der der aktuelle Punkt zugewiesen ist. Außerdem ist dieser Vielfacheingang an einen Ausgang des logischen Kreises 62 angeschlossen, der einen Wert T(z)(PC)) liefert, welcher das Absorptionsindikatorbit der Zone bildet, der der aktuelle Punkt zugeordnet ist. Der Wert Z(z(PC)) wird später in der Gruppe von 54 gespeichert, um den Wert T(Z) des Absorptionsindikatorbits der Zone des links benachbarten Punkts für den nächsten aktuellen Punkt zu bilden. Der Wert jeder Komponente wird später in der Registereinheit 54 gespeichert, um den Wert E(Z) der Komponenten des Zustandsvektors der Zone des linken Punkts für den nächsten aktuellen Punkt zu bilden, d.h. wenn der aktuelle Punkt der links benachbarte Punkt des nächsten aktuellen Punkts geworden ist.
  • Ein Eingang der Registergruppe 54 ist mit dem Ausgang des Multiplexers 49 verbunden und empfängt den Wert z(PC) der Nummer der dem aktuellen Punkt zugewiesenen Zone. Dieser Wert wird später in der Gruppe 54 gespeichert, um den Wert Z der Nummer der Zone des linken Punkts zu bilden, wenn der nächste Punkt den aktuellen Punkt bildet. Die Registergruppe 54 speichert jedoch nicht den Wert der Komponente R(Z), durch die die Gradientenrichtung in der Zone Z kodiert wird.
  • Das Register 78 ist mit einem Eingang an die Eingangsklemme 12 angeschlossen und empfängt den Wert R(PC). Es hat eine Kapazität eines Werts und führt eine Verzögerung entsprechend einem Bildpunkt ein, liefert also am Ausgang den Wert R(Z), mit dem die Gradientenrichtung in der Zone des links vom aktuellen Punkt liegenden Punkts kodiert wird. Dieser Ausgang ist an einen Eingang des logischen Kreises 62, an einen Eingang des Schieberegisters 79 und an einen Eingang der Gruppe 70 von Pufferstufen. Das Register 79 hat eine Kapazität, die die Werte R(Z) um eine Zeitspanne verzögern kann, die einer Bildzeile entspricht. Es liefert am Ausgang einen Wert R(Z'), der die Orientierung des Gradienten in der Zone des Punktes oberhalb des aktuellen Punkts kodiert. Dieser Ausgang ist an einen Eingang des logischen Kreises 62 angeschlossen.
  • Der Wert R(Z') ist eine der Komponenten des Zustandsvektors der Zone mit der Nummer Z', die im Zustandsspeicher (8) enthalten ist und somit verfügbar ist, wenn dieser Zustandsspeicher gelesen wird. Die Verwendung eines Schieberegisters 79 macht diese Komponente jedoch schneller verfügbar als dies durch Auslesen des Zustandsspeichers 8 möglich wäre.
  • Der logische Kreis 62 besitzt sechs Ausgänge, die sechs Binärwörter an Steuereingänge der Multiplexer 49, 51, 52, 53 sowie an eine Eingangsklemme 75 und eine Eingangsklemme 71 des Generators 50 für verfügbare Adressen. Diese Binärwörter werden abhängig von den an die Eingänge des logischen Kreises 62 angelegten Werten bestimmt, die eine Unterscheidung der verschiedenen in der Beschreibung der Durchführung des Verfahrens zur Erfassung der Konturen aufgezählten Fälle erlauben.
  • Die Registergruppe 54, das Register 78 und das Register 79 besitzen Steuereingänge, an die das Taktsignal HP&sub1; im Rhythmus der Abtastung der Punkte angelegt wird.
  • Der Multiplexer 49 besitzt eine Ausgang a und vier Eingänge 1 bis 4 (siehe Figur 20), die in der nachfolgenden Beschreibung mit 1a, 2a, 3a, 4a bezeichnet werden.
  • Der Multiplexer 51 besitzt einen Ausgang b und vier in dieser Figur mit 1 bis 4 bezeichnete Eingänge, die in der nachfolgenden Beschreibung mit 1b, 2b, 3b, 4b bezeichnet werden. Der Multiplexer 52 besitzt sieben Ausgänge c, d, e, f, g, h, k, wobei jeder dieser Ausgänge mit drei Eingängen 1, 2, 3 in Verbindung stehen kann, die in der nachfolgenden Beschreibung mit 1c, 2,c, 3c, ... bezeichnet sind. Der Multiplexer 53 besitzt sieben Ausgänge m, n, p, q, r, s, t, die je mit zwei Eingängen 1 und 2 in Verbindung gebracht werden können und nachfolgend mit 1m, 2m ... bezeichnet sind. Die Registergruppe 54 besitzt siebzehn Ausgänge 1 bis 17. Diese Ausgänge liefern Werte der Komponenten des Zustandsvektors der Zone Z und des Zustandsvektors der Zone TZ' oder des Zustandsvektors der Zone Zt, je nachdem, ob der Betrieb während der Abtastung einer Bildzeile oder während der Zeit zwischen den Abtastungen zweier Bildzeilen in Betracht gezogen wird. Aus Gründen der Klarheit der Darstellung sind die an den Ausgängen der Registergruppe 54 angegebenen Werte nur die, welche während der Abtastung einer Zeile vorliegen. Während des Zwischenraums zwischen den Abtastungen zweier Zeilen müssen die Werte, die sich auf die Zone Z' beziehen, durch die Werte ersetzt werden, die sich auf die Zone Zt beziehen, während die Werte bezüglich der Zone Z nicht existieren.
  • Der Ausgang 1 der Gruppe 54 ist an die Eingänge 4a und 3b des Multiplexers 49 und des Multiplexers 51 und an einen Eingang des logischen Kreises 62 angeschlossen und liefert den Wert Z. Der Eingang 2 ist an eine Eingangsklemme 72 des Generators 50, an die Eingänge 3a und 4b des Multiplexers 49 und des Multiplexers 51 und an einen Eingang des logischen Kreises 62 angeschlossen und liefert den Wert Z'. Der Ausgang 3 ist an den Eingang 1c des Multiplexers 52 und an einen ersten Eingang des Addierers 55 angeschlossen und liefert den Wert N(Z). Der Ausgang 4 ist an eine Eingangsklemme 74 des Generators 50, an den Eingang 2c des Multiplexers 52 und an einen zweiten Eingang des Addierers 55 angeschlossen und liefert den Wert N(Z').
  • Der Ausgang 5 ist an die Eingangsklemme 73 des Generators 50, an den Eingang 1d des Multiplexers 52 und an einen ersten Eingang der Vorrichtung 56 angeschlossen und liefert den Wert YMAX(Z). Der Ausgang 6 ist an den Eingang 2g des Multiplexers 52 und an einen zweiten Eingang der Vorrichtung 56 angeschlossen und liefert den Wert YMAX(Z'). Der Ausgang 7 ist an den Eingang 1e des Multiplexers 52 und an einen ersten Eingang der Vorrichtung 57 angeschlossen und liefert den Wert XMAX(Z). Der Ausgang 8 ist an den Eingang 2e des Multiplexers 52 und an einen ersten Eingang der Vorrichtung 57 angeschlossen und liefert den Wert XMAX(Z').
  • Der Ausgang 9 ist an den Eingang 1f des Multiplexers 52 und an einen ersten Eingang der Vorrichtung 58 angeschlossen und liefert den Wert YMIN(Z). Der Ausgang 10 ist an den Eingang 2f des Multiplexers 52 und an einen zweiten Eingang der Vorrichtung 58 angeschlossen und liefert den Wert YMIN(Z'). Der Ausgang 11 ist an den Eingang 1b des Multiplexers 52 und an einen ersten Eingang der Vorrichtung 59 angeschlossen und liefert den Wert XMIN(Z). Der Ausgang 12 ist an den Eingang 2g des Multiplexers 52 und an einen zweiten Eingang des Multiplexers 59 angeschlossen und liefert den Wert XMIN(Z'). Der Ausgang 13 ist an den Eingang 1h des Multiplexers 52 und an einen ersten Eingang des Addierers 60 angeschlossen und liefert den Wert GX(Z). Der Ausgang 14 ist an den Eingang 2a des Multiplexers 52 und an einen zweiten Eingang des Addierers 60 angeschlossen und liefert den Wert GX(Z'). Der Ausgang 15 ist an den Eingang 1k des Multiplexers 652 und an einen ersten Eingang des Addierers 61 angeschlossen und liefert den Wert GY(Z). Der Ausgang 16 ist an den Eingang 2k des Multiplexers 52 und an einen zweiten Eingang des Addierers 61 angeschlossen und liefert den Wert GY(Z'). Der Ausgang 17 ist an einen Eingang des logischen Kreises 62 angeschlossen und liefert den Wert T(Z).
  • Die Addierer 55, 60, 61 sind mit ihren Ausgängen an je einen Eingang 3c, 3h, 3k des Multiplexers 52 angeschlossen. Die Eingänge 2a und 2b des Multiplexers 51 sind gemeinsam an eine Ausgangsklemme 76 des Generators für verfügbare Adressen 50 angeschlossen, um einen Wert Zd zu empfangen, der die Nummer der verfügbaren Zone bildet. Die Ausgänge a und b der Multiplexer 49 und 51 sind je an einen Ausgang 15 bzw. 16 des Generators 5 über zwei Pufferstufen der Gruppe 70 angeschlossen, um den Wert z(PC) bzw. den Wert AD zu liefern. Der Ausgang b des Multiplexers 51 ist andererseits mit dem Eingang der Registergruppe 54 verbunden, der dem Register entspricht, das als Ausgang den Ausgang 1 hat und dazu bestimmt ist, den Wert Z zu speichern. Der Ausgang a des Multiplexers 49 ist andererseits an eine Eingangsklemme 77 des Generators 50 angeschlossen.
  • Die Ausgänge c, d, e, f, g, h, k des Multiplexers 52 sind an erste Eingänge des Addierers 63, der Vorrichtung 64, der Vorrichtung 65, der Vorrichtung 66, der Vorrichtung 67 des Addierers 68 und des Addierers 69 angeschlossen. Die Eingänge 2m 2n, 2p, 2q, 2r, 2s, 2t des Multiplexers 53 sind an Ausgänge des Addierers 63, der Vorrichtung 64, der Vorrichtung 65, der Vorrichtung 67, der Vorrichtung 68 und des Addierers 69 angeschlossen. Der Eingang 1m des Multiplexers 53 und ein zweiter Eingang des Addierers 63 empfangen einen Wert 1 als Dauerwert. Der Eingang 1n, der Eingang 1q und der Eingang 1t des Multiplexers 53 sowie zweite Eingänge der Vorrichtungen 64, 66 und 69 sind über eine nicht dargestellte Verbindung an den Ausgang der Steuermittel 4 angeschlossen, die den Wert Y(PC) liefern. Die Eingänge 1p, 1r, 1s des Multiplexers 53 und zweite Eingänge der Vorrichtungen 65 und 67 und des Addierers 68 sind über eine nicht dargestellte Verbindung an den Ausgang der Steuermittel 4 angeschlossen, um den Wert X(PC) zu empfangen.
  • Die Ausgänge m, n, p, q, r, s, t des Multiplexers 53 sind an die Ausgangsklemme 17 des Generators 5 über sieben Pufferstufen gekoppelt, die zur Gruppe 50 gehören, und sind an den zweiten Vielfacheingang der Registergruppe 54 angeschlossen. Die Eingangsklemme 12 ist ebenfalls an die Ausgangsklemme 17 über eine Pufferstufe der Gruppe 70 angeschlossen. Die Gesamtheit der vom Register 78 und den Ausgängen des Multiplexers 53 gelieferten Werte stellt den Wert E(z)(PC)) der Komponenten des Zustandsvektors der Zone des aktuellen Punkts dar. Die Gruppe 70 der Pufferstufen wird von einem Steuersignal C&sub1; gesteuert, das von den Steuermitteln 4 geliefert wird. Liegt dieses Signal nicht vor, dann bieten die Pufferstufen am Ausgang eine hohe Impedanz.
  • Während der Dauer der Abtastung einer Zeile ist für jeden Punkt dieser Zeile der Betrieb des Adressen- und Zustandsgenerators 5 wie folgt: Die Ausgänge der Registergruppe 54 liefern die Nummern der Zonen Z und Z' des links benachbarten und des benachbarten Oberpunkts zum aktuellen Punkt, sowie die Werte der Komponenten der Zustandsvektoren der Zonen Z und Z', zu denen diese beiden Nachbarpunkten gehören, ausgenommen die Komponenten R(z) und R(z'). Andererseits liefern die Register 78 und 79 die Werte R(Z) und R(Z'), die die Richtung der Helligkeitsgradienten in diesen beiden dem aktuellen Punkt benachbarten Punkten kodieren. Der logische Kreis 62 empfängt die Werte Z, Z', T(Z), R(PC), R(Z), R(Z') und leitet daraus die an den Generator für verfügbare Adressen 50 und an die Multiplexer 49, 51, 52, 53 anzulegenden Steuersignale gemäß den oben anhand der Beschreibung der Durchführung des Verfahrens erwähnten logischen Regeln ab, indem hauptsächlich vier Fälle unterschieden werden. Die Herstellung eines logischen Kreises 62, der diese Regeln anwendet, liegt im Bereich fachmännischer Maßnahmen. Die Steuersignale, die von dem logischen Kreis 62 geliefert werden, stellen im Inneren der Multiplexer 49, 51, 52, 53 die in der Tabelle der Figur 21 dargestellten Verbindungen abhängig von den verschiedenen Eingangswerten her. Beispielsweise bedeutet eine Ziffer 3 in der Spalte des Multiplexers 52, daß der Multiplexer 52 die Verbindungen 3-c, 3-d, 3-e, ... 3-k herstellt. Die unbeschrifteten Felder bedeuten einen indifferenten Wert.
  • Die an der Ausgangsklemme 17 des Generators 5 verfügbaren Werte sind die durch die Formeln 1 bis 5 gemäß der Beschreibung der Durchführung des Verfahrens gegebenen Werte. Die aktualisierten Werte, die mit dem Index a in diesen Formeln bezeichnet sind, liegen an der Ausgangsklemme 17 vor. Die vorhergehenden Werte, die mit dem Index p in diesem Formeln bezeichnet sind, liegen an den Ausgängen 1 bis 17 der Registergruppe 54 vor. In Figur 20 wurde der Index p weggelassen, um die Bezeichnungen zu vereinfachen. So wird z.B. der Wert MAXa(Z') = Maximum(YMAXp(Z), Y(PC), YMAXp(Z') durch die Vorrichtungen 56 und 64 zur Bestimmung eines Höchstwerts aus zwei Werten berechnet, die in Kaskade geschaltet sind. Die Vorrichtung 56 gibt den größeren der beiden Werte YMAXp(Z) und Y> MAXp(Z') aus. Dieser Wert wird dann über den Multiplexer 52 der Vorrichtung 64 zugeführt. Diese Vorrichtung 64 liefert den von der Vorrichtung 56 bestimmten oder den Wert Y(PC), je nachdem, welcher größer ist.
  • Während der Abtastung jeder Zeile besteht die Aufgabe des Generators für verfügbare Adressen 50 darin, den Wert Zd einer Adresse zu liefern, die im Zustandsspeicher 8 in dem Augenblick verfügbar ist, in dem eine neue Zone erzeugt wird, d.h. wenn der Generator 50 ein logisches Signal K empfängt, das vom Kreis 62 an die Eingangsklemme 71 des Generators 50 gelangt. Der Generator 50 hat weiter die Aufgabe, die Zonen zu erfassen, die abgeschlossen sind und eine kleinere Anzahl von Punkten als ein Schwellwert umfassen, um den Adressenwert dieser Zonennummer wiederverwenden zu können. Dieser Generator soll weiter sobald wie möglich die Nummer einer durch Verschmelzung einer anderen Zone verschwindenden Zone erneut verwenden. Der logische Kreis 62 liefert ein logisches Signal A an seine Eingangsklemme 75, das angibt, daß eine Zonenabsorption erfolgt ist. Der Generator 50 kann die Zone, deren Nummer durch den an seine Eingangsklemme 77 angelegten Wert AD gebildet wird, nach einer Verzögerung entsprechend drei Zeilen wieder verwenden.
  • Figur 22 zeigt das Blockschaltbild eines Ausführungsbeispiels des Generators 50 für verfügbare Adressen. Dieses Ausführungsbeispiel enthält einen Multiplexer 97 mit zwei Eingängen und einem Ausgang, vier Komparatoren 98, 99, 100, 108, ein Subtrahierglied 101, ein logisches UND-Tor mit vier Eingängen 102, ein logisches UND-Tor mit zwei Eingängen 103, ein logisches ODER-Tor mit zwei Eingängen 104, einen Stapelspeicher 105, ein logisches UND-Tor 106, eine Gruppe von logischen Toren 109, ein Schieberegister 110 und eine Initialisierungsvorrichtung 107.
  • Die Gruppe von logischen Toren 109 ist mit einem Eingang an die Eingangsklemme 77 angeschlossen, um ein Binärwort zu empfangen, das den Wert der Adresse AD bildet, die die Nummer einer absorbierten Zone oder die Nummer einer neuen Zone oder einen Nullwert darstellt. Die Gruppe 109 besitzt einen Steuereingang, der an die Eingangsklemme 75 angeschlossen ist, um das Signal A zu empfangen, das angibt, daß eine Zone absorbiert wurde, d.h. daß der Wert AD eine Nummer einer absorbierten Zone ist, die somit wiederverwendet werden kann. Die Gruppe von Toren 109 wird somit aktiviert und überträgt den Wert AD an den Ausgang, der an einen Eingang des Schieberegisters 110 angeschlossen ist. Wenn diese Gruppe nicht aktiviert wurde, liefert sie einen Wert Null.
  • Das Schieberegister 110 wird vom Taktsignal HP&sub2; im Rhythmus der Punktanalyse gesteuert. Es verzögert die Nummern der absorbierten Zonen um eine Dauer entsprechend drei Bildzeilen, damit diese Nummern nicht bereits wiederverwendet werden, solange sie noch für die Bestimmung der Nummern der aktuellen Zone der Punkte oberhalb der Zeile des aktuellen Punkts verwendet werden können, um die Zone zu bestimmen, der der aktuelle Punkt zugewiesen wird, und insbesondere, um die Nummern der aktuellen Zone der in der zweiten Zeile oberhalb der Zeile des aktuellen Punkts liefernden Punkte zum Ausfiltern der Kleinzonen und zur Wiederverwendung ihrer Nummern zu bestimmen.
  • Der Ausgang des Registers 110 ist an einen ersten Eingang des Multiplexers 97 und an einen ersten Eingang des Komparators 108 angeschlossen. Ein zweiter Eingang des Komparators 108 empfängt dauernd einen Wert 0. Ein Ausgang des Komparators 108 ist an einen ersten Eingang des UND-Tores 103 angeschlossen, um dieses zu aktivieren, wenn die verzögerte und vom Register 110 wiedergegebene Zonennummer von 0 verschieden ist.
  • Ein zweiter Eingang des UND-Tors 103 empfängt ein Taktsignal HP&sub3; im Rhythmus der Abtastung der Punkte. Ein Ausgang des Tors 103 ist an einen ersten Eingang des ODER-Tors 104 angeschlossen. Ein Ausgang des ODER-Tors 104 ist an einen Schreibsteuereingang des Stapelspeichers 105 angeschlossen. Ein Ausgang des Multiplexers 97 ist an einen Dateneingang des Stapelspeichers 105 angeschlossen. Er besitzt eine zweiten Eingang, der an die Eingangsklemme 72 angeschlossen ist, sowie eine Steuereingang, der das Steuersignal C&sub2; während der Dauer der Abtastung jeder Bildzeile empfängt. Er überträgt dann die Nummern der absorbierten Zonen, die vom Register 110 geliefert wurden. Dann werden diese in den Stapelspeicher 105 aufgrund des Taktsignals HP&sub3; eingetragen, sofern sie nicht Null sind.
  • Der Multiplexer 97 besitzt einen zweiten Eingang, der an die Eingangsklemme 72 angeschlossen ist, um eine Folge von Werten Zt zu empfangen und zu übertragen, die die Nummern der getesteten Zonen während der Zeitintervalle zwischen den Abtastungen zweier aufeinanderfolgender Zeilen bildet. Der Wert N(Zt) der Anzahl von Punkten der getesteten Zone und der Wert YMAX(Zt) der größten Ordinate der Punkte der getesteten Zone werden an die Eingangsklemmen 74 bzw. 73 über die Ausgänge 4 und 5 der Registergruppe 54 angelegt. Diese Werte werden aus dem Zustandsspeicher 8 an der Adresse Zt ausgelesen. Dies sind die aktualisierten Werte, die den während der Behandlung der Punkte der Zeile mit der Ordinate Y(PC)-1 zugeteilten Punkten Rechnung tragen.
  • Der Ausgang des UND-Tors 102 ist an einen zweiten Eingang des ODER-Tors 104 angeschlossen. Das logische UND-Tor 102 besitzt vier an je einen Ausgang des Komparators 98, des Komparators 99, des Komparators 100 und (nicht dargestellt) der Steuermittel 4 angeschlossen sind, um das Taktsignal HZ zu empfangen, das nur während der Zeitintervalle zwischen den Zeilenanalysen vorliegt.
  • Die Komparatoren 98, 99 und 100 überprüfen, ob die Zone Zt drei Bedingungen erfüllt:
  • - Der Komparator 98 ist mit einem ersten Eingang an die Eingangsklemme 72 und mit einem zweiten Eingang an den Wert 0 angeschlossen, um zu erfassen, ob die getestete Zone die Zone der Nummer 0 ist, der alle Punkte zugewiesen sind, die keine Konturenpunkte sind. In diesem Fall braucht das Tor 102 nicht aktiviert zu werden, da die Nummer 0 keine für die Zonen der Konturenpunkte verfügbare Nummer ist.
  • - Der Komparator 99 hat die Aufgabe, den Wert N(Zt) der Zahl der in der getesteten Zone vorliegenden Punkte mit einem Schwellwert Nmin, beispielsweise gleich fünf Punkte, zu vergleichen. Dieser Schwellwert ist vom Benutzer der Vorrichtung abhängig vom gewünschten Filtereffekt einstellbar. Wenn die Zone der Nummer Zt eine Anzahl von Punkten oberhalb des Schwellwerts besitzt, dann liefert der Komparator 99 ein logisches Signal des Werts 0 und das Tor 102 bleibt gesperrt. Auf diese Weise werden die Nummern von Zonen mit ausreichender Größe nicht zur Wiederverwendung freigegeben, während die Nummern von Zonen mit einer Größe unter fünf Punkten wiederverwendet werden können.
  • - Der Komparator 100 hat die Aufgabe, den Wert YMAX(Zt) der größten Ordinate der Punkte der Zone mit der Nummer Zt mit dem Wert Y(PC)-1 zu vergleichen, der am Ausgang des Subtrahierglieds 101 vorliegt. Wenn die größte Ordinate der Zone mit der Nummer Zt deutlich größer als die Ordinate Y(PC)-1 der Zeile oberhalb des aktuellen Punkts ist, dann kann man daraus schließen, daß die Zone mit der Nummer Zt abgeschlossen ist, d.h. daß kein weiterer Punkt dieser Zone mehr zugeordnet wird. Im gegenteiligen Fall liefert der Komparator ein logisches Signal des Werts 0 und das Tor 102 bleibt gesperrt. Das Subtrahierglied 101 empfängt an einem ersten Eingang den Wert Y(PC) von den Steuermitteln 4 und empfängt an einem zweiten Eingang einen Wert 1, der von Y(PC) abgezogen werden soll.
  • Das UND-Tor 102 wird somit aktiviert, wenn gleichzeitig die Zone mit der Nummer Zt abgeschlossen ist und eine Anzahl von Punkten größer als 0 und kleiner oder gleich Nmin umfaßt. Das Tor 102 überträgt dann das Taktsignal HZ an das ODER-Tor 104, die es an den Schreibsteuereingang des Stapelspeichers 105 weitergibt.
  • In diesem Beispiel ist das Taktsignal HZ, das an das Tor 102 angelegt wird, ein Signal mit demselben Rhythmus wie die Punktanalyse, aber dies ist nicht unbedingt erforderlich. Dieses Taktsignal kann einen anderen Rhythmus als die Abtastung der Bildpunkte haben, da das Filtern der kleinen Zonen und die Erfassung ihrer Zonennummern während des Zeitintervalls zwischen den Abtastungen zweier aufeinanderfolgender Zeilen durchgeführt werden, d.h. während des Zeitintervalls, in dem kein Punkt einer Zone zugewiesen werden muß.
  • Das Tor 106 besitzt einen ersten Eingang, der an die das logische Signal K empfangende Eingangsklemme 71 angeschlossen ist, und einen zweiten Eingang, der ein Taktsignal HP&sub4; empfängt, dessen Rhythmus gleich dem der Abtastung der Punkte ist. Außerdem enthält das Tor einen Ausgang, der an einen Lesesteuereingang des Stapelspeichers 105 angeschlossen ist. Ein Datenausgang des Stapelspeichers 105 ist an die Ausgangsklemme 76 angeschlossen. Wenn der Generator 5 das logische Signal K mit dem Wert 1 liefert, das angibt, daß eine neue Zone erzeugt wird, dann wird das UND-Tor 106 aktiviert.
  • Es überträgt das Taktsignal HP&sub4; an den Lesesteuereingang des Stapelspeichers 105, und letzterer liefert den Wert Zd einer im Zustandsspeicher verfügbaren Adresse, die somit für die Nummer einer neuen Zone verwendet werden kann.
  • Der Stapelspeicher 105 besitzt einen Vielfacheingang, der seine Initialisierung steuert und an einen Ausgang der Initialisierungsvorrichtung 107 angeschlossen ist. Die Vorrichtung 107 besitzt einen Steuereingang, an dem ein Taktsignal der Halbbildfrequenz HT anliegt. Die Vorrichtung 107 hat die Aufgabe, den Stapelspeicher 105 mit Hilfe einer Folge von durch die Gruppe der Adressen des Zustandsspeichers 8 gebildeten Werten zu laden. Die Herstellung dieser Vorrichtung 107 liegt im Bereich fachmännischer Maßnahmen. Die Vorrichtung kann eine Zählvorrichtung enthalten, um eine Folge von Adressen zu erzeugen, und einen Taktsignalgenerator, um diese Zählvorrichtung zu betätigen und um das Einschreiben der Folge von Adressen in den Stapelspeicher 105 zu steuern. Die Nummern der wiederzuverwendenden Zonen werden am Kopf des Stapels der verfügbaren Adressen eingeschrieben und die letzte eingeschriebene Nummer wird als erste gelesen. Daher werden die wiederzuverwendenden Nummern bevorzugt wiederverwendet im Vergleich zu Nummern, die noch nie verwendet worden sind.
  • Figur 23 zeigt ein detaillierteres Blockschaltbild des Wartespeichers 6, des Adressenspeichers 7 und des Zustandsspeichers 8.
  • Der Wartespeicher 6 hat zwei Aufgaben: Erstens speichert er die Werte z(PC) der den Punkten eines Bildes provisorisch zugeteilten Zonen und gibt sie mit einer Verzögerung wieder aus, die einer Zeile minus drei Punkten entspricht, so daß die Werte z(PD) der dem benachbarten Oberpunkt provisorisch zugeteilten Zonennummer zu bilden, wobei dieser Wert z(PD) dann als Leseadresse im Adressenspeicher 7 verwendet wird, um dort den aktuellen Wert Z' der Nummer der Zone des den aktuellen Punkt benachbarten Oberpunkt zu lesen. Die durch den Wartespeicher 6 bewirkte Verzögerung entspricht nicht einer ganzen Zeile, da die Tatsache berücksichtigt werden muß, daß das Auslesen eines aktuellen Werts aus dem Adressenspeicher eine Zeit entsprechend drei Bildpunkten erfordert.
  • Eine zweite Aufgabe des Wartespeichers besteht darin, die Nummern Zt der zu testenden Zone an den Generator 50 für verfügbare Adressen zu liefern, um die zu filternden Zonen zu bestimmen, und deren Nummern wieder zu verwenden. Hierzu speichert der Wartespeicher während einer gewissen Zeit die Werte z(PC) der provisorisch den Bildpunkten zugewiesenen Zonennummern, wenn diese den aktuellen Punkt bilden. Dann gibt der Wartespeicher 6 diese Werte an den Generator 50 für verfügbare Adressen in Form von Werten zt weiter. Die Dauer der Speicherung wird so gewählt, daß sie zu erkennen erlaubt, ob eine Zone abgeschlossen ist oder nicht. Andererseits bewirkt der Teil des Wartespeichers 6, der der Speicherung der Nummern der zu testenden Zone zugewiesen ist, eine Unterdrückung gewisser redundanter Werte zt. In diesem Teil wird nicht ein Wert der Zonennummer z(PC) für jeden Bildpunkt gespeichert, da die Dauer zwischen den Abtastungen zweier aufeinanderfolgender Zeilen viel kürzer als die Dauer der Abtastung einer Zeile ist und verbietet, daß aus dem Zustandsspeicher für jeden Punkt der Zeile eine Leseoperation erfolgt.
  • Da die Konturenlinien eine gewisse Breite haben und die anderen Bildbereiche ebenfalls eine gewisse Breite besitzen, kommt es oft vor, daß eine Folge von Punkten auf einer gemeinsamen Zeile dieselbe Zonennummer z(PC) aufweisen. Es ist so möglich, die Arbeit des Testens dieser Zonen zu erleichtern, indem der Test nur einmal durchgeführt wird, wenn eine Folge von Punkten einer gemeinsamen Zone zugewiesen wurde. Hierzu enthält der Wartespeicher 6 Mittel, die in der Folge von Werten z(PC) aufeinanderfolgende identische Werte in der Folge von Werten z(PC) erfassen, um nur einen einzigen dieser Werte zu speichern. Die Bestimmung der zu filternden Zonen und die neue Verwendung der Zonennummern erzeugt für die Punkte einer Zeile nach einer gewissen Verzögerung derart, daß die Zuordnung der Zonennummern für alle Punkte der zweiten Zeile beendet wird, die auf die für diesen Test in Betracht gezogene Zeile folgt. Mit anderen Worten erfolgt dieser Test für die Zonen der Punkte der Zeile mit der Ordinate Y(PC)-2, wenn die Zuordnung der Zonennummern für die Punkte der Zeile mit der Ordinate Y(PC) beendet ist.
  • Der Wartespeicher 6 enthält drei Schieberegister 84, 85, 89, ein Register 90, einen Komparator 91, einen Multiplexer 88 mit vier Eingängen und zwei Ausgängen, zwei Demultiplexer 86 und 87 mit einem Eingang und zwei Ausgängen, einen Multiplexer 81 mit zwei Eingängen und einem Ausgang, ein logisches UND-Tor 80 und zwei Pufferstufen 82 und 83.
  • Das Schieberegister 89 besitzt einen Serieneingang, der den Dateneingang des Wartespeichers 6 bildet und an die Ausgangsklemme 15 des Adressen- und Zustandsgenerators 5 angeschlossen ist, um den Wert z(PC) der dem aktuellen Punkt zugewiesenen Zonennummer zu empfangen. Es wird gesteuert von einem Taktsignal HP&sub5; im Rhythmus der Abtastung der Bildpunkte. Es besitzt einen Ausgang, der an einen Eingang des Registers 90 angeschlossen ist. Das Register 90 hat eine Kapazität eines Werts und wird vom Taktsignal HP&sub5; gesteuert. Der Komparator 91 besitzt einen ersten Eingang, der an einen Ausgang des Registers 9 angeschlossen ist, und einen zweiten Eingang, der an den Ausgang des Schieberegisters 89 angeschlossen ist. Der Ausgang des Komparators 91 ist an einen ersten Eingang des UND-Tors 80 angeschlossen. Das Register 89 hat die Aufgabe, die Werte der den verschiedenen Punkten zugewiesenen Zonennummern um eine Zeitdauer zu verzögern, die einer Zeile minus drei Punkten entspricht.
  • Das Register 90 und der Komparator 91 haben die Aufgabe, zwei aufeinanderfolgende Werte dieser Folge von Zonennummern miteinander zu vergleichen, um das UND-Tor 80 nur zu aktivieren, wenn der Wert der vom Ausgang des Schieberegisters 89 gelieferten Zonennummer sich von der unterscheidet, die vom Ausgang des Registers 90 kommt. Mit anderen Worten wird das UND-Tor 80 gesperrt, wenn aufeinanderfolgende Punkte denselben Zonennummernwert aufweisen. Ein zweiter Eingang des UND-Tors empfängt ein Taktsignal HP&sub6; im Rhythmus der Abtastung der Punkte, das das Einschreiben der Zonennummern abwechselnd in die Schieberegister 84 oder 85 steuert. Das UND-Tor 80 sperrt also die Übertragung dieses Taktsignals, wenn aufeinanderfolgende Punkte dieselbe Zonennummer besitzen, damit dieser Wert der Nummer nur einmal gespeichert wird. Dies erlaubt es, die Lieferung einer Folge von identischen Werten zt an den Generator 50 für verfügbare Adressen zu vermeiden, der nur eine kurze Zeit zum Testen dieser Zonen zur Verfügung steht.
  • Der Multiplexer 88 gleicht einem Schalter für zwei Kreise und mit zwei Stellungen. Ein erster Ausgang ist an einen Seriendateneingang des Schieberegisters 84 und ein zweiter Ausgang ist an einen Seriendateneingang des Schieberegisters 85 angeschlossen. Der erste Ausgang kann entweder mit einem ersten an den Ausgang des Registers 89 angeschlossenen Eingang angeschaltet werden, oder an einen zweiten Eingang, der einen Dauerwert Null empfängt. Der zweite Ausgang kann entweder mit einem dritten einen Dauerwert Null empfangenden Eingang verbunden werden oder mit einem vierten an den Ausgang des Registers 89 angeschlossenen Eingang. Der Multiplexer 88 wird von einem Steuersignal G&sub3; gesteuert, das von den Steuermitteln 4 geliefert wird.
  • Dieses Steuersignal C&sub3; hat einen Binärwert, der abwechselnd mit jeder Bildzeile wechselt, so daß eines der Register 84 oder 85 zum Einschreiben der vom Ausgang des Registers 89 gelieferten Werte verwendet wird, während das andere am Lesen ist. Während eines der Register 84, 85 am Lesen ist, empfängt sein Dateneingang einen Wert 0, der an ein Ende dieses Registers eingespeist wird, während die in diesem Register enthaltenen Werte am anderen Ende entnommen werden. Die Register 84 und 85 besitzen je einen Datenserienausgang, der an einen ersten bzw. zweiten Eingang des Multiplexers 81 angeschlossen ist. Der Multiplexer 81 besitzt einen Ausgang, der entweder mit dem ersten Eingang oder mit dem zweiten Eingang in Verbindung gebracht werden kann unter der Wirkung des Steuersignals C&sub3;. Auf diese Weise überträgt das Register 84 oder 85, das gerade am Lesen ist, seinen Inhalt über den Multiplexer 81 bis an den Eingang der Pufferstufe 82.
  • Die Register 84 und 85 besitzen je eine Schreibtakteingang und einen Lesetakteingang. Ihre Schreibtakteingänge sind an einen ersten bzw. zweiten Ausgang des Demultiplexers 86 angeschossen, der an einem Eingang das Taktsignal HP&sub6; vom Ausgang des Tors 80 empfängt, wenn letzteres aktiviert ist. Der Demultiplexer 86 besitzt einen Steuereingang, an den das Steuersignal C&sub3; anliegt, um ein Schreibtaktsignal abwechselnd zum Schieberegister 84 und zum Schieberegister 85 zu übertragen. Die Leseeingänge für den Takt HP&sub7; der Register 84 und 85 sind an einen ersten bzw. zweiten Ausgang des Demultiplexers 87 angeschlossen, der an einem Eingang das Taktsignal HP&sub7; empfängt. Ein Steuereingang des Demultiplexers 87 empfängt das Taktsignal C&sub3;. Er überträgt also ein Lesetaktsignal abwechselnd an die Register 84 und 85 im Rhythmus der Abtastung der Zeilen. Wenn eines der Register leer ist, gibt es Nullwerte aus. Der Rhythmus des Taktsignals HP&sub7; ist beispielsweise gleich dem Abtastungsrhythmus der Punkte, aber dies ist nicht unbedingt erforderlich, da die Bestimmung der zu filternden Zonen unabhängig von der Abtastung der Punkte ist. Die Register 84 und 85 besitzen je einen Nullsetzungseingang, dem das Taktsignal HT zugeführt wird, um ihren Inhalt zu Beginn jedes Halbbilds auf Null zu setzen.
  • Ein Eingang der Pufferstufe 83 ist an den Ausgang des Schieberegisters 89 angeschlossen. Die Pufferstufe 82 und die Pufferstufe 83 besitzen je einen Ausgang, der an den Dateneingang des Adressenspeichers 6 angeschlossen ist. Diese Pufferstufen werden durch das Steuersignal C&sub4; bzw. C&sub5; gesteuert, das von den Steuermitteln 4 geliefert wird. Liegt das Steuersignal C&sub4; vor, dann überträgt die Pufferstufe 82 einen Wert zt an den Leseadresseneingang des Wartespeichers 6, um dort einen Wert Zt auszulesen. Liegt kein Signal C&sub4; vor, dann ist die Ausgangsimpedanz der Pufferstufe 82 hoch. Liegt ein Signal C&sub5; vor, dann überträgt die Pufferstufe 83 an den Leseadresseneingang des Wartespeichers 6 den Wert z(PD) Zonennummer des Punkts oberhalb des aktuellen Punkts, um dort den Wert Z' zu lesen. Liegt kein Signal C&sub5; vor, dann besitzt der Ausgang der Pufferstufe 83 eine hohe Impedanz. Das Signal C&sub4; wird während der Dauer der Abtastung jeder Zeile geliefert, während das Signal C&sub5; während des Zwischenzeitraums zwischen den Abtastungen zweier aufeinanderfolgender Zeilen geliefert wird.
  • Der Adressenspeicher 7 enthält drei identische Arbeitsspeicher 92, 93, 94 mit freiem Zugriff und eine Pufferstufe 95. Die Speicher 92, 93, 94 besitzen parallelgeschaltete Dateneingänge, die den Dateneingang des Adressenspeichers 7 bilden und an die Ausgangsklemme 15 des Adressen- und Zustandsgenerators 5 angeschlossen sind, um eine Folge von Werten z(PC) zu empfangen. Diese Speicher 92, 93, 94 besitzen parallelgeschaltete Schreibadresseneingänge, die die Schreibadresseneingänge des Adressenspeichers 7 bilden und an die Ausgangsklemme 14 des Adressen- und Zustandsgenerators 5 angeschlossen sind, um die Adresse AD zu empfangen. Die Speicher 92, 93, 94 besitzen Lesesteuereingänge, die über nicht dargestellte Verbindungen an Ausgänge der Steuermittel 4 angeschlossen sind, um Steuertaktsignale C&sub7;, C&sub8;, C&sub9; zu empfangen. Ihre Schreibsteuereingänge sind parallelgeschaltet und bilden die Schreibsteuereingänge des Adressenspeichers 7 und sind an einen Ausgang der Steuermittel 4 zum Empfang eines Steuersignals C&sub1;&sub0; angeschlossen.
  • Der Speicher 92 besitzt einen Leseadresseneingang, der den Leseadresseneingang des Adressenspeichers 7 bildet und somit an die beiden Ausgänge des Wartespeichers 6 und an die Ausgangsklemme 19 des Generators 9 für modellierte Konturen angeschlossen ist. Der Speicher 92 besitzt eine Datenausgang, der an den Leseadresseneingang des Speichers 93 angeschlossen ist. Der Speicher 93 besitzt einen Datenausgang, der an einen Leseadresseneingang des Speichers 94 angeschlossen ist. Der Speicher 94 besitzt einen Datenausgang, der an einen Eingang der Pufferstufe 95 angeschlossen ist. Die Pufferstufe 95 besitzt einen Steuereingang, der das von den Steuermitteln 4 gelieferte Steuersignal C&sub6; empfängt. Der Ausgang der Pufferstufe 95 bildet den Datenausgang des Adressenspeichers 7 und ist an den Leseadresseneingang des Zustandsspeichers 8 und an die Eingangsklemme 16 des Adressen- und Zustandsgenerators 5 angeschlossen.
  • Die Funktion des Adressenspeichers 7 ist es, eine ersten und eine zweiten Wert der Zonennummer eines gleichen Punkts einander zuzuordnen, um die Absorption einer durch den ersten Wert bezeichneten ersten Zone durch eine durch den zweiten Wert bezeichnete zweite Zone zu berücksichtigen. Diese Funktion wird während drei Schritten des Verfahrens zur Erfassung und zum Modellieren der Konturenlinien verwendet: Zuerst zur Bestimmung des aktualisierten Werts Z' der Zonennummer des Punktes oberhalb des aktuellen Punkts, dann zur Bestimmung des aktualisierten Werts Zt entsprechend dem aktualisierten Wert der Zonennummer eines zwei Zeilen oberhalb der Zeile des aktuellen Punkts liegenden Punkts, und schließlich zum Test dieser Zone, damit festgelegt wird, ob diese Zone ausgefiltert werden soll oder nicht; schließlich muß der Adressenspeicher 7 eine aktualisierten Wert Z m einem Wert der Zonennummer Zm zuordnen, um die Modellierung jeder Zone durchzuführen, die noch besteht, wenn alle Punkte eines Halbbildes einer Zone zugewiesen wurden.
  • Jeder Wert z(PC), der in den Adressenspeicher 7 eingeschrieben werden soll, wird an der Adresse AD gleichzeitig und identisch in jeden der Speicher 92, 93 und 94 eingeschrieben, da z(PC) zugleich an die drei Dateneingänge dieser Speicher angelegt wird und das Signal C&sub1; gleichzeitig an die drei Schreibsteuereingänge gelangt. Das Auslesen jedes der Werte Z', Zt oder Zm am Datenausgang des Adressenspeichers 7 erfolgt in drei Stufen. In einer ersten Stufen wird ein Wert einer Zonennummer z(PD) oder zt oder zm an den Leseadresseneingang des Speichers 92 angelegt, dann gelangt das Signal C&sub7; an den Lesesteuereingang dieses Speichers 92, um einen ersten Wert zu erhalten, der als Leseadresse im zweiten Speicher 93 verwendet wird.
  • In einem zweiten Schritt löst das Signal C&sub8; das Auslesen des Speichers 93 an dieser Adresse aus. Der so aus dem Speicher 93 ausgelesene Wert bildet die Leseadresse zum Lesen des Speichers 94. In einem dritten Schritt führt das Signal C&sub9; zum Auslesen des Speichers 94 an dieser Adresse. Der so gelesene Wert wird an den Datenausgang des Adressenspeichers 7 übertragen, wen die Pufferstufe 95 vom Steuersignal C&sub6; aktiviert wird. Wird diese Stufe nicht aktiviert vom Signal C&sub6;, dann hat sie eine hohe Ausgangsimpedanz.
  • Der Zustandsspeicher 8 wird von einem frei adressierbaren Arbeitsspeicher gebildet, der einen an den Datenausgang des Adressenspeichers 7 angeschlossenen Leseadresseneingang, einen an die Ausgangsklemme 15 des Adressen- und Zustandsgenerators 5 angeschlossenen Schreibadresseneingang, einen an die Ausgangsklemme 17 des Adressen- und Zustandsgenerators 5 angeschlossenen Dateneingang, einen an die Eingangsklemme 18 des Generators 5 und an die Eingangsklemme 20 des Generators 9 für modellierte Konturen angeschlossenen Datenausgang, einen ein Lesesteuersignal C&sub1;&sub1; von den Steuermitteln 4 empfangenden Lesesteuereingang und einen ein Steuersignal C&sub1;&sub2; von den Steuermitteln 4 empfangenden Schreibsteuereingang besitzt.
  • Der Zustandsspeicher 8 wird verwendet, um an der Adresse z/PC) den aktualisierten Wert E(z(PC)) der Komponenten des Zustandsvektors der Zone zu speichern, der der aktuelle Punkt zugewiesen ist. Ausgangsseitig wird dieser Speicher dazu verwendet, um an der Adresse Z' den Wert E(Z') der Komponenten des Zustandsvektors der Zone des Punktes oberhalb des aktuellen Punkts auszulesen, wenn bestimmt werden soll, welcher Zone der aktuelle Punkt zugewiesen werden wird, um an der Adresse Zt den Wert E(Zt) des Zustandsvektors einer Zone für den Test dieser Zone zu lesen, um an der Adresse Zm den Wert E(Zm) der Komponenten des Zustandsvektors einer Zone zu lesen, wenn diese Zone modelliert werden soll.
  • Figur 24 zeigt das Blockschaltbild einer Ausführungsform des Generators 9 für modellierte Konturen und des Konturenspeichers 10. Der Generator 9 enthält in diesem Beispiel einen Mikroprozessor 112, eine Eingangs-Ausgangs-Schnittstelle 111, einen Rechenspeicher 113 und eine Programmspeicher 114. Der Mikroprozessor 112 ist an Adresseneingänge und Dateneinund -ausgänge der Schnittstelle 111, des Speichers 113 und des Speichers 114 angeschlossen. Andererseits ist er an Adresseneingänge und Datenein-ausgänge des Konturenspeichers 10 angeschlossen. Diese Adresseneingänge und Datenein- und -ausgänge des Speichers 10 sind auch an eine Adresseneingangsklemme 21 und an eine Datenausgangsklemme 22 angeschlossen, durch die eine Vorrichtung von außerhalb die in dem Konturenspeicher 10 enthaltenen Daten lesen kann, um die von dieser Vorrichtung entnommenen und modellierten Konturen auszuwerten. Der Generator 9 besitzt eine Eingangsklemme 20 und eine Ausgangsklemme 19, die an einen Eingang bzw. einen Ausgang der Schnittstelle 111 angeschlossen sind.
  • Figur 25 zeigt ein Flußdiagramm des im Mikroprozessor ablaufenden und im Programmspeicher 114 gespeicherten Programms zur Erzeugung der Segmente, die die Konturenlinien eines Halbbilds während des Zwischenraums zwischen zwei aufeinanderfolgenden Halbbildern modellieren. Zu Beginn dieses Zwischenraums bewirkt der Mikroprozessor 112 zuerst eine Nullsetzung des ganzen Inhalts des Konturenspeichers 10, während das Einschreiben der Konturen erst später durch Einschreiben einer 1 nur an den Adressen entsprechend den Punkten der Konturenlinie erfolgt. Ein Register des Mikroprozessors 112 wird zur Speicherung des Werts zm einer Adresse des Adressenspeichers 7 verwendet. Der Wert zm wird ursprünglich auf Null gesetzt und dann um 1 erhöht, worauf er an die Ausgangsklemme 19 gelangt, um im Adressenspeicher 7 die Zelle mit der Adresse zm auszulesen. Wenn die Zone der Nummer zm absorbiert wurde, dann liefert der Adressenspeicher 7 einen Wert Zm, der die absorbierende Zone bezeichnet. So erzeugt der Generator 9 ein Segment nur für die Zonen, die am Ende der Zusammenfassung der Punkte mit starkem Gradienten in Zonen noch übrigbleibenden Zonen. Der Wert Zm ist gleich zm, wenn die Zone mit der Nummer zm während der Bearbeitung nicht absorbiert worden ist.
  • Dieses Auslesen wird gesteuert durch die aufeinanderfolgenden Signale C&sub7;, C&sub8; und C&sub9;. Dann liefern die Steuermittel 4 nacheinander die Signale C&sub6; und C&sub1;&sub1;, um den Wert E(Zm) der Komponenten des Zustandsvektors der Zone Zm aus dem Zustandsspeicher 8 bei der Adresse Zm auszulesen. Zu diesen Komponenten gehören XG(Zm), also die Summe der Abszissen der Punkte der Zone mit der Nummer Zm, YG(Zm), also die Summe der Ordinaten der Punkte dieser Zone, und n(Zm), also die Anzahl der Punkte dieser Zone. Der Mikroprozessor 112 errechnet dann die Werte Xg und Yg, also die Koordinaten des Schwerpunkts der Zone gemäß folgender Formeln und rundet sie auf den ganzzahligen Wert ab:
  • Zu diesen Komponenten gehören auch XMAX(Zm), YMAX(Zm), XMIN(Zm), YMIN(Zm), die die Koordinaten der Endpunkte der Zone mit der Nummer Zm sind. Ausgehend von diesen Werten berechnet der Mikroprozessor 112 die Werte X'MAX, Y'MAX, X'MIN, Y'MIN, die die Werte der Koordinaten der Punkte des die Zone modellierenden Segments sind, unter der Berücksichtigung einer Verlängerung jedes Endes des Segments, bestehend aus der Verschiebung dieser beiden Endpunkte beispielsweise gemäß folgender Formeln:
  • X'MAX = XMAX(Zm) + 2
  • YMAX = YMAX(Zm) + 2
  • X'MIN = YMIN(Zm) - 2
  • Y'MIN = YMIN(Zm) - 2
  • Zwei Register des Mikroprozessors 112 werden zum Speichern zweier Werte X und Y verwendet, die die Adressen des Punkts im Konturenspeicher 10 bilden, an denen ein Wert 1 eingeschrieben werden wird, der angibt, daß ein Punkt des Segments vorliegt. Diese beiden Register werden mit den Wert Xg und Yg initialisiert.
  • Zu den Komponenten des Zustandsvektors der Zone mit der Nummer Zm gehört auch der Wert R, der die Richtung des Helligkeitsgradienten und die Richtung der Konturenlinie in dieser Zone kodiert. Der Mikroprozessor 112 vergleicht diesen Wert R nacheinander mit den Werten 1, 2, 3, 4 und 5. Findet er, daß der Wert R = 1 ist, dann startet er ein Unterprogramm zur Erzeugung eines Segments, das im 90º-Winkel bezüglich der Abtastungszeilen des Bildes verdreht ist. Erkennt er, daß der Wert R = 2 ist, dann startet er ein Unterprogramm zur Erzeugung eines Segments, das um 120º verdreht ist. Erkennt er, daß der Wert R = 3, dann startet er ein Unterprogramm zur Erzeugung eines Segments, das um 150º verdreht ist usw. Erkennt er, daß sich der Wert R von 1, 2, 3, 4, 5 unterscheidet, dann startet er ein Unterprogramm zur Erzeugung eines Segments mit einer Winkeldrehung von 60º, da der einzige mögliche verbleibende Wert für R 6 ist. Der Wert R = 0 tritt nicht auf, da der Mikroprozessor keine Adresse zm = 0 an den Adressenspeicher 7 liefert.
  • Wenn das Unterprogramm zur Erzeugung eines Segments beendet ist, dann vergleicht der Mikroprozessor den in dem Register entsprechend zm enthaltenen Wert mit einem festen Wert zmax, der der letzten Adressen des Adressenspeichers 7 entspricht und der beispielsweise den Wert 511 hat. Wenn der Wert zm diesen Maximalwert nicht erreicht hat, dann wird das Programm nach Inkrementierung von zm erneut gestartet, ansonsten wird das Programm nach einer Nullsetzung des Inhalts des ganzen Konturenspeichers 10 neu gestaltet.
  • Die Figuren 26 und 27 zeigen als Beispiel ein Flußdiagramm zur Erzeugung eines Segments, das in Richtung von 0º orientiert ist, bzw. ein Organigramm zur Erzeugung eines Segments, das um 30º verdreht ist. Die anderen Unterprogramme zur Erzeugung eines Segments für einen anderen Drehwinkel ähneln diesem und können vom Fachmann abgeleitet werden. jedes Segment wird ausgehend vom Schwerpunkt erzeugt, in dem ein erster Teil auf einer Seite des Schwerpunkts und dann ein zweiter Teil auf der anderen Seite des Schwerpunkts erzeugt wird. Die Punkte bilden die regelmäßigen Motive, die in den Figuren 10 und 11 dargestellt sind.
  • In Figur 26 erfolgt die Erzeugung eines Segments entlang der Abtastungsachse, indem zuerst ein Wert 1 an die Adresse (X, Y) des Konturenspeichers 102 eingeschrieben wird, da X und Y augenblicklich gleich den Werten Xg und Yg sind. Dann wird der Inhalt des dem Wert X entsprechenden Registers um eine Einheit erhöht und mit dem Wert X'MAX verglichen. Wenn X nicht gleich X'MAX ist, dann wird der erste Teil des Segments nicht beendet und der Mikroprozessor 112 schreibt eine Wert 1q an die Adresse X, Y des Konturenspeichers 10, Wen X gleich X'MAX wird, dann ist der erste Teil des Segments beendet und der Mikroprozessor 112 bringt den Inhalt des Registers entsprechend dem Wert X in den Anfangszustand, in dem der Wert Xg der Abszisse des Schwerpunkts der Zone eingeschrieben wird. Dann wird der Inhalt dieses Registers um eine Einheit verkleinert und ein Wert 1 in dem Konturenspeicher 10 an der Adresse (X, Y) eingetragen. Dann vergleicht der Mikroprozessor 112 den Wert X mit dem X'MIN. Wenn der Wert X nicht gleich X'MIN ist, dann ist der zweite Teil des Segments noch nicht beendet und der Mikroprozessor 112 verringert wieder den Wert X um eine Einheit und schreibt einen Wert 1 in den Konturenspeicher 10 an die Adressen (X, Y), bis er feststellt, daß X dem Wert X'MIN gleicht. Die Erzeugung des Segments ist also beendet und der Mikroprozessor 112 kehrt zum Hauptprogramm zurück, dessen Flußdiagramm in Figur 25 gezeigt ist.
  • Gemäß Figur 27 beginnt das Flußdiagramm zur Erzeugung eines Segments mit einer 30º-Drehung durch Einschreiben eines Werts 1 in den Konturenspeicher 1 an der Adresse (X, Y), die zu diesem Zeitpunkt gleich (Xg, Yg) ist. Dann wird der Wert von X um eine Einheit erhöht und mit X'MAX verglichen. Wenn der Wert X kleiner oder gleich X'MAX ist, dann ist der erste Teil des Segments noch nicht beendet, und der Mikroprozessor 112 schreibt einen Wert 1 an die Adresse (X, Y) des Konturenspeichers 10.
  • Dann wird der Wert Y um eine Einheit erhöht. Der Mikroprozessor vergleicht den Wert Y mit Y'MAX. Wenn der Wert Y kleiner oder gleich Y'MAX ist, dann ist der erste Teil des Segments noch nicht beendet, da er noch nicht eine Endordinate erreicht hat. Der Mikroprozessor 112 schreibt einen Wert 1 in den Konturenspeicher 10 an der Adresse (X, Y). Dann erhöht er den Wert X um eine Einheit und vergleicht dann mit X'MAX. Wenn der Wert X kleiner oder gleich X'MAX ist, dann ist der erste Teil des Segments noch nicht beendet und der Mikroprozessor 112 beginnt dieselben Operationen von Anfang des Unterprogramms zur Erzeugung eines Segments mit der Orientierung 30º; insbesondere beginnt er durch Einschreiben eines Werts 1 in den Speicher 10 an der Adresse (X, Y).
  • Wenn der Wert X größer als X'MAX ist, dann bedeutet dies, daß das Segment bereits seine Endabszisse erreicht hat. Dann schreibt der Mikroprozessor 112 nichts in den Konturenspeicher 10 ein und ersetzt erneut den Inhalt des Registers entsprechend den Werten X und Y durch die Koordinaten Xg und Yg des Schwerpunkts der Zone.
  • Um den zweiten Teil des Segments zu erzeugen, verringert der Mikroprozessor 112 den Wert X um eine Einheit und vergleicht ihn dann mit Y'MIN, um zu erkennen, ob der zweite Teil des Segments bei der Mindestabszisse der Punkte dieses Segments angekommen ist. Wenn der Wert X kleiner als X'MIN ist, bedeutet dies, daß der zweite Teil des Segments seine Endabszisse bereits erreicht hat und die Erzeugung des Segments beendet ist. Der Mikroprozessor 112 kehrt dann zum Hauptprogramm zurück, das im Flußdiagramm gemäß Figur 25 dargestellt ist.
  • Ansonsten schreibt er eine 1 in den Konturenspeicher an die Adresse X, Y und verringert dann den Wert Y um eine Einheit und vergleicht diesen Wert dann mit Y'MIN, nämlich der kleinsten Ordinate, die von den Punkten des Segments nicht unterschritten werden darf. Wenn Y kleiner als Y'MIN ist, bedeutet dies, daß das Segment bereits beendet ist und der Mikroprozessor 112 kehrt zur Ausführung des Hauptprogramms zurück. Wenn der Wert Y größer oder gleich Y'MIN ist, dann ist das Segment noch nicht beendet. Der Mikroprozessor 112 schreibt dann eine 1 in den Konturenspeicher 10 an die Adresse (X, Y).
  • Dann verringert der Mikroprozessor 12 den Wert X um eine Einheit und vergleicht wieder mit X'MIN. Wenn der Wert X kleiner als X'MIN ist, dann schreibt der Mikroprozessor 112 eine 1 in den Konturenspeicher 10 bei der Adresse (X, Y) ein und beginnt dann erneut das Unterprogramm zur Erzeugung eines um 30º gedrehten Segments ausgehend von einer Dekrementierung des Werts X, die der erneuten Initialisierung von X auf den Wert Xg und von Y auf den Wert Yg folgt.
  • Das erfindungsgemäße Verfahren und die Vorrichtung zu seiner Durchführung sind insbesondere im Bereich der Gestalterkennung anwendbar, da sie die Modellierung der entnommenen Konturen durch Segmente erlauben, die eine minimale Breite besitzen und besonders gut für diese Art Anwendung geeignet sind. Sie sind auch anwendbar auf Werte, die für die Farbe der Bildpunkte repräsentativ sind, anstelle der Helligkeitswerte, sofern eine im Rahmen des fachmännischen Wissens liegende einfache Anpassung erfolgt.

Claims (13)

1. Verfahren zur Erfassung und Modellierung der Konturen eines Bildes, bestehend aus zeilenweise angeordneten Bildpunkten, wobei jeder Bildpunkt durch einen digitalen Wert dargestellt wird, der unter den Werten der Helligkeit oder des Farbwerts ausgewählt wird, wobei das Verfahren für alle Bildpunkte den Modul und den Richtungswert Ri des Gradienten des gewählten repräsentativen digitalen Werts bestimmt und wobei Ri aus einer vorgegebenen ganzzahligen Anzahl s von möglichen Richtungswerten R&sub1;, ... Rs ausgewählt wird, dadurch gekennzeichnet, daß dieses Verfahren außerdem die Schritte der Auswahl der Bildpunkte, in denen der Gradient einen größeren Modul als ein fester Wert besitzt, Punkte mit starkem Gradienten genannt, und der Gruppierung der aneinander anschließenden Punkte mit starkem Gradienten aufweist, die einen gleichen Richtungswert besitzen, um Konturzonen durch Vergleich der Richtung des Gradienten des aktuellen Punkts mit denen von zwei Nachbarpunkten zu bilden, nämlich dem auf derselben Zeile vorausgehenden Punkt und dem auf der vorhergehenden Zeile dem aktuellen Punkt entsprechenden Punkt, wobei diesem Punkt
- eine neue Zone zugewiesen wird, wenn die Richtung des Gradienten des aktuellen Punkts sich von der der beiden Nachbarpunkte unterscheidet,
- einer Zone zugewiesen wird, die mindestens einen der Nachbarpunkte enthält, wenn die Richtung von dessen Gradienten dieselbe wie die der Punkte dieser Zone ist,
- wobei die beiden Zonen, denen die beiden Nachbarpunkte angehören, verschmolzen werden, wenn sie, obwohl sie zum Zeitpunkt ihrer Erzeugung nicht aneinander anschließend waren, durch den aktuellen Punkt aneinanderstoßend werden, und wenn die Richtung des Gradienten des aktuellen Punkts dieselbe wie die gemeinsame Richtung dieser beiden Zonen ist,
- wobei die Konturzonen durch digitale Werte bezeichnet werden, Zonennummern genannt, und durch Zustandsvektoren gekennzeichnet werden, die Komponenten in Abhängigkeit von den in der Zone zusammengefaßten Punkten besitzen, wobei die Berechnung des Schwerpunkts der Punkte der Zone möglich ist und wobei diese Zustandsvektoren in einem Zustandsspeicher während der Behandlung aller Punkte eines Bildes aktualisiert werden, und daß zum Verfahren außerdem die Modellierung der Konturen des Bildes ausgehend von den so gebildeten Zonen gehört, indem jeder Zone ein Geradensegment zugeordnet wird, das durch den Schwerpunkt dieser Punkte verläuft und eine Richtung senkrecht zur Richtung des Gradienten in dieser Zone annimmt.
2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß zur Erfassung der Punkte eines starken Gradienten und zur Bestimmung des Richtungswerts des Gradienten in jedem dieser Punkte das Verfahren für jeden Bildpunkt folgende Schritte enthält:
- Berechnung von s Konvolutionsprodukten L * Gj, wobei j von 1 bis s variiert und L eine quadratische Matrix aus den Helligkeitswerten der den betreffenden Punkt umgebenden Punkte ist und wobei Gj (1 ≤ j ≤ s) quadratische Matrizen bezeichnet entsprechend den s möglichen Richtungswerten,
- Bestimmung desjenigen der Konvolutionsprodukte L * GM mit dem größten Absolutwert und Ermittlung der Richtung RM des Gradienten im betrachteten Punkt,
- Vergleich des Absolutwerts von L * GM mit einem festen Schwellwert, wobei der betrachtete Punkt als Punkt mit starkem Gradienten betrachtet wird, wenn dieser Absolutwert größer als der Schwellwert ist.
3. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß zur Modellierung der Konturen des Bilds in Form von Geradensegmenten für jede Zone das Verfahren darin besteht, dieses Segment ausgehend von einer Mindestanzahl von aneinanderhängenden Punkten auf einer gemeinsamen Zeile oder einer gemeinsamen Spalte von Bildpunkten zu bilden, wobei die Höchst- und Mindestkoordinaten der Punkte dieses Segments die Höchst- und Mindestkoordinaten der Punkte der Zone sind.
4. Verfahren nach Anspruch 3, dadurch gekennzeichnet, daß es außerdem darin besteht, systematisch die beiden Enden aller Segmente um eine vorgegebene Anzahl von Bildpunkten über die Mindest- und Höchstkoordinaten der Punkte der Zone der durch dieses Segment modellierten Konturenlinie zu verlängern.
5. Verfahren nach einem der Ansprüche 1 bis 4, dadurch gekennzeichnet, daß die Komponenten des Zustandsvektors jeder Zone aufweisen:
- den Wert der gemeinsamen Gradientenrichtung aller Punkte der Zone,
- die Anzahl der der Zone zugewiesenen Punkte,
- die Höchst- und Mindestwerte der Koordinaten der der Zone zugewiesenen Punkte,
- die Summe der waagrechten Koordinaten der der Zone zugewiesenen Punkte,
- die Summe der senkrechten Koordinaten der der Zone zugewiesenen Punkte.
6. Verfahren nach Anspruch 5, dadurch gekennzeichnet, daß die Komponenten des Zustandsvektors jeder Zone außerdem ein Absorptionsindikatorbit enthalten, dessen Wert verändert wird, wenn die Zone mindestens eine andere Zone absorbiert hat, und daß der Wert des Absorptionsindikatorbits der Zonen von zwei dem aktuellen Punkt benachbarten Punkten berücksichtigt wird zur Bestimmung
- des Werts der Zonennummer z(PC), der eine Zone bezeichnet, der der aktuelle Punkt zugewiesen ist,
- der aktualisierten Werte der Zonennummern zweier benachbarter Punkte,
- und der aktualisierten Werte der Komponenten des Zustandsvektors der Zone, der der aktuelle Punkt zugewiesen ist.
7. Verfahren nach Anspruch 6, dadurch gekennzeichnet, daß für den Fall, daß die beiden dem aktuellen Punkt benachbarten Punkte beide Punkte mit starkem Gradienten sind und zwei Zonen mit unterschiedlichen Werten der Zonennummer Z und Z' angehören, aber dieselbe Gradientenrichtung wie der aktuelle Punkt besitzen, der aktuelle Punkt entweder zugewiesen wird
- der Zone Z' des dem aktuellen Punkt auf der vorhergehenden Linie entsprechenden Nachbarpunkts, wenn die Zone Z des auf derselben Linie dem aktuellen Punkt vorausgehenden Nachbarpunkts noch nie von einer anderen Zone absorbiert wurde, wobei dann die Zone mit der Nummer Z von der Zone mit der Nummer Z' absorbiert wird und der aktualisierte Wert ihrer Nummer von Z' gebildet wird,
- oder der Zone Z des dem aktuellen Punkt auf derselben Zeile vorausgehenden Nachbarpunkts im entgegengesetzten Fall, wobei dann die Zone mit der Nummer Z' von der Zone mit der Nummer Z absorbiert wird und der aktualisierte Wert ihrer Nummer von Z gebildet wird.
8. Vorrichtung zur Erfassung und zum Modellieren der Konturen eines Bildes bestehend aus in Zeilen angeordneten Bildpunkten, mit Mitteln (30 bis 34), die eine Folge von für die Bildpunkte repräsentativen digitalen Werten empfangen, um in jedem dieser Punkte den Modul und die Richtung des Gradienten zu bestimmen, dadurch gekennzeichnet, daß sie weiter enthält:
- Vergleichsmittel (35) zur Erfassung derjenigen Punkte, an denen der Gradient der repräsentativen Werte einen größeren Modul als ein fester Wert besitzt und die Punkte mit starkem Gradienten genannt werden, Mittel (5 bis 8), um die aneinandergrenzenden Punkte mit starkem Gradienten und gleichen Richtungswerts zu Zonen von Konturen zusammenzufassen, indem die Richtung des Gradienten des aktuellen Punkts mit denen von zwei Nachbarpunkten verglichen werden, von denen der eine dem aktuellen Punkt auf derselben Zeile vorausgeht und der andere dem aktuellen Punkt auf der vorhergehenden Zeile entspricht, und indem dieser Punkt entweder einer neuen Zone zugewiesen wird, wenn die Richtung des Gradienten des aktuellen Punkts sich von der der beiden Nachbarpunkte unterscheidet oder einer Zone zugeordnet wird, die mindestens einen der Nachbarpunkte einschließt, wenn die Richtung des Gradienten dieselbe wie die der Punkte in dieser Zone ist,
wobei die beiden Zonen, denen die beiden Nachbarpunkte angehören, miteinander verschmolzen werden, wenn sie, obwohl noch getrennt zum Zeitpunkt ihrer Erzeugung, durch den aktuellen Punkt miteinander in Verbindung gelangen und wenn die Richtung des Gradienten des aktuellen Punkts dieselbe wie die gemeinsame Richtung dieser beiden Zonen ist, wobei die Konturzonen durch digitale Werte, Zonennuminern genannt, bezeichnet und durch Zustandsvektoren charakterisiert werden, deren Komponenten von den in der Zone zusammengefaßten Punkten abhängen, so daß die Berechnung des Schwerpunkts der Punkte der Zone möglich ist, wobei diese Zustandsvektoren während der Bearbeitung aller Punkte eines Bildes aktualisiert werden,
- Mittel (8, 9) zur Modellierung der Konturen des Bildes ausgehend von den so gebildeten Zonen, indem jeder Zone ein Geradensegment zugeordnet wird, das durch den Schwerpunkt ihrer Punkte verläuft und eine Richtung senkrecht zur Richtung des Gradienten in dieser Zone besitzt,
- einen Speicher (10), Konturenspeicher genannt, um für jeden Punkt eines Bildes einen Binärwert zu speichern, der seine Zugehörigkeit zu einem der modellierten segmente der Zonen von Punkten mit starkem Gradienten kennzeichnet.
9. Vorrichtung nach Anspruch 8, dadurch gekennzeichnet, daß die Mittel zur Bestimmung des Moduls und der Richtung des Gradienten aufweisen:
- Mittel (30, 31) zur Berechnung von s Konvolutionsprodukten L * Gi (1 ≤ i ≤ s) für jeden Bildpunkt, wobei s eine vorgegebene ganze Zahl ist, L eine quadratische Matrix, die aus den für die den betreffenden Punkt umgebenden Punkte charakteristischen Werte gebildet wird, und wobei G&sub1;, ... Gs s Matrizen sind, die s bestimmten Werten für die Richtung entsprechen,
- Mittel (32 bis 34) zum gegenseitigen Vergleich der s für den betrachteten Punkt berechneten Konvolutionsprodukte und zur Bestimmung eines Produkts L * GM unter diesen s Konvolutionsprodukten, das den größten Absolutwert besitzt und zur Lieferung eines Binärworts, das den Richtungswert entsprechend diesein größten Konvolutionsprodukt angibt,
wobei die Vergleichsmittel (35) den Absolutwert des Produkts L * GM mit einem Schwellwert vergleichen und ein Binärsignal liefern, das angibt, ob der betrachtete Punkt ein Punkt mit starkem Gradienten ist oder nicht.
10. Vorrichtung nach Anspruch 8, dadurch gekennzeichnet, daß die Mittel (5 bis 8) zur Bestimmung der Werte der Bildzonen charakterisierenden Zustandsvektoren aufweisen
- Mittel (5), auch Adressen- und Zustandsgeneratoren genannt, um zu bestimmen
- einen Wert einer Nummer z(PC), der in einem betrachteten Zeitpunkt eine Zone bezeichnet, der der aktuelle Punkt zugewiesen ist und den aktualisierten Wert der Zonennuinmer der Punkte einer absorbierten Zone bildet, falls eine Zone absorbiert worden ist,
- einen Wert E(z(PC)) der Komponenten des Zustandsvektors der Zone mit der Nummer z(PC),
- und einen Wert AD, der die Nummer einer durch die Zone mit der Nummer z(PC) absorbierten Zone ist, wenn eine Zone absorbiert worden ist,
abhängig von Binärinformationen, die für jeden Bildpunkt angeben, ob es sich um einen Punkt mit starkem Gradienten handelt, und für jeden Punkt mit starkem Gradienten, den Richtungswert des Gradienten in diesem Punkt angeben,
- abhängig von einem Wert Z', der in einem betrachteten Zeitpunkt die Nummer der Zone eines auf der dein aktuellen Punkt vorausgehenden Zeile diesem entsprechenden Punkts bildet,
abhängig vom Wert E(Z') der Komponenten des Zustandsvektors, der die Zone mit der Nummer Z' charakterisiert,
- abhängig von einem Wert Z, der in einem gegebenen Zeitpunkt die Nummer der Zone eines dem aktuellen Punkt auf derselben Zeile unmittelbar vorausgehenden Punkts bildet,
- und abhängig vom Wert E(Z) der Komponenten des die Zone mit der Nummer Z charakterisierenden Zustandsvektors,
- einen Speicher (6), Wartespeicher genannt, um jeden Wert z(PC) zu speichern und mit einer Verzögerung entsprechend der Dauer der Bearbeitung der Punkte einer Bildzeile wieder auszugeben, wobei jeder wieder ausgegebene Wert einen Wert z(PD) bildet,
- einen Speicher (7), Adressenspeicher genannt, um jeden Wert z(PC) zu speichern, der vom Adressen- und Zustandsgenerator (5) geliefert wurde, und zwar an einer durch den von dem Adressen- und Zustandsgenerator (5) gelieferten Wert AD gebildeten Adresse, wobei der Wert z(PC) den aktualisierten Wert der Nummer der Zone der Punkte bildet, die bis zum betrachteten Zeitpunkt den Wert AD als Zonennummer hatten, und um dem Adressen- und Zustandsgenerator (5) den Wert Z' zu liefern, der an einer durch den vom Wartespeicher (6) gelieferten Wert z(PD) gebildeten Adresse gelesen wird.
11. Vorrichtung nach Anspruch 10, dadurch gekennzeichnet, daß zur Bestimmung des Werts E(z(PC)) der Komponenten des Zustandsvektors der Zone mit der Nummer z(PC) der Adressen- und Zustandsgenerator (5) aufweist:
- Rechenmittel (52, 53, 55, 63) zur Bestimmung der Anzahl der Punkte der Zone mit der Nummer z(PC) abhängig von der Anzahl der Punkte der Zonen mit den Nummern Z und Z',
- Rechenmittel (56, bis 59, 52, 53, 64 bis 67) zur Bestimmung der Extreinkoordinaten der Punkte der Zone mit der Nummer z(PC) abhängig von den Extremkoordinaten der Punkte der Zonen Z und Z',
- Rechenmittel (60, 61, 52, 53, 68, 69) zur Bestimmung der Summe der Abszissen und der Summe der Ordinaten der Punkte der Zone mit der Nummer z(PC) abhängig von den Summen der Abszissen und den Summen der Ordinaten der Punkte in den Zonen mit den Nummern Z und Z',
- Mittel (54) zum Speichern des Werts E(z(PC)) der Komponenten des Zustandsvektors der Zone, der der aktuelle Punkt zugeordnet ist, während einer Dauer entsprechend der Bearbeitung des aktuellen Punkts, wobei der Wert dieser Komponenten später den Wert E(Z) der Komponenten des Zustandsvektors der Zone Z des Nachbarpunkts des nächsten aktuellen Punkts auf derselben Zeile bilden wird.
12. Vorrichtung nach Anspruch 11, dadurch gekennzeichnet, daß der Adressen- und Zustandsgenerator (5) außerdem Mittel enthält, die Generatoren (50) für verfügbare Adressen genannt werden, um Werte von im Zustandsspeicher (8) verfügbaren Adressen zu liefern, wobei dieser Generator (50) mit einer Folge von vorgegebenen Adressen initialisiert wird und aufweist:
- Mittel (97 bis 104) zur Erfassung der Zonen, deren Anzahl von Punkten nicht mehr zunehmen wird und unter einem festen Schwellwert liegt, und um die Nummern dieser Zonen als verfügbare Nummern zu speichern, die dann anderen Zonen zugewiesen werden können,
- Mittel (97, 108 bis 110), um die Nummern der absorbierten Zonen um eine Zeitdauer zu verzögern, die der Abtastung von drei Bildzeilen entspricht, und um dann diese Nummern als verfügbare Nummern zu speichern, die anderen Zonen zugewiesen werden können.
13. Vorrichtung nach Anspruch 10, dadurch gekennzeichnet, daß die Mittel (8, 9) zur Bestimmung der Koordinaten der Bildpunkte, die ein Geradenseginent bilden, das die betrachtete Zone modelliert, ausgehend vom Wert der Komponenten des Zustandsvektors jeder Zone aufweisen:
- Mittel (9), Generatoren für modellierte Konturen genannt, um eine Folge von Adressenwerten zm an den Adressenspeicher zu liefern, die der Gesamtheit der Adressenwerte des Adressenspeichers (7) entspricht, um Zonennummern Zm aus dem Adressenspeicher (7) an den Adressen zm auszulesen, um Werte E(Zm) der Komponenten der Zustandsvektoren der Zonen Zm im Zustandsspeicher (8) an den Adressen Zm auszulesen und um ausgehend von jedem aus dem Zustandsspeicher ausgelesenen Wert E(Zm) zu berechnen:
- die ganzzahligen Koordinaten (Xg, Yg) des Schwerpunkts der Punkte dieser Zone,
- die Koordinaten der Bildpunkte, die ein Geradenseginent bilden, das durch die Koordinaten (Xg, Yg) verläuft und durch die Extremwerte der Koordinaten der Punkte dieser Zone, erweitert um eine feste Anzahl von Einheiten begrenzt wird, um systematisch die Enden jedes Segments zu verlängern,
- und um im Konturenspeicher (10), der vorher auf Null gesetzt worden war, einen von Null verschiedenen Wert an den Adressen zu speichern, die den ganzzahligen Koordinaten des Schwerpunkts und der Punkte des Segments entsprechen.
DE8787401503T 1986-07-01 1987-06-30 Verfahren zur bestimmung und beschreibung von konturen eines bildes und vorrichtung zum ausfuehren dieses verfahrens. Expired - Fee Related DE3784581T2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR8609526A FR2601166B1 (fr) 1986-07-01 1986-07-01 Procede d'extraction et de modelisation des contours d'une image et dispositif pour la mise en oeuvre de ce procede.

Publications (2)

Publication Number Publication Date
DE3784581D1 DE3784581D1 (de) 1993-04-15
DE3784581T2 true DE3784581T2 (de) 1993-07-01

Family

ID=9336927

Family Applications (1)

Application Number Title Priority Date Filing Date
DE8787401503T Expired - Fee Related DE3784581T2 (de) 1986-07-01 1987-06-30 Verfahren zur bestimmung und beschreibung von konturen eines bildes und vorrichtung zum ausfuehren dieses verfahrens.

Country Status (3)

Country Link
EP (1) EP0255419B1 (de)
DE (1) DE3784581T2 (de)
FR (1) FR2601166B1 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10213196A1 (de) * 2002-03-25 2003-10-23 Thomson Brandt Gmbh Verfahren zur Korrektur des von einer Videokamera aufgenommenen Bildes und Videokamera

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6614930B1 (en) * 1999-01-28 2003-09-02 Koninklijke Philips Electronics N.V. Video stream classifiable symbol isolation method and system

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10213196A1 (de) * 2002-03-25 2003-10-23 Thomson Brandt Gmbh Verfahren zur Korrektur des von einer Videokamera aufgenommenen Bildes und Videokamera

Also Published As

Publication number Publication date
EP0255419B1 (de) 1993-03-10
FR2601166A1 (fr) 1988-01-08
EP0255419A1 (de) 1988-02-03
FR2601166B1 (fr) 1988-10-21
DE3784581D1 (de) 1993-04-15

Similar Documents

Publication Publication Date Title
DE3688178T2 (de) Verfahren zur Bildextraktion eines sich bewegenden Objekts.
DE4309105C2 (de) Verfahren zum Behandeln eines Teils eines verdichteten Bildes für eine Aufbereitung
DE4142650B4 (de) Verfahren und Anordnung zur Ableitung eines Steuersignals für die Einblendung eines Hintergrundsignals in Teile eines Vordergrundsignals
DE3416939A1 (de) Verfahren zur steuerung von betriebseinrichtungen
WO2000010119A1 (de) Verfahren zum erkennen von objekten in digitalisierten abbildungen
DE3202365A1 (de) Datenspeicher mit fensterabtastung
DE102007040070B4 (de) Bilddichteumwandlungsverfahren, Bildverbesserungsverarbeitungseinrichtung und dafür geeignetes Programm
DE4224568C2 (de) Vorrichtung und Verfahren zur Bildung der Anzeige eines dreidimensionalen sequentiellen tomografischen Flächenschattierungsbildes
EP1585059A2 (de) Verfahren und Vorrichtung zur Ermittlung von Bewegungsvektoren, die Bildbereichen eines Bildes zugeordnet sind
DE3789091T2 (de) Bildverarbeitungsverfahren und -system zur Bildrekonstruktion.
DE3586326T2 (de) Anlage zum verarbeiten und segmentieren von bildern.
DE3047695A1 (de) Verfahren und vorrichtung zum herstellen einer speichertabelle fuer farbkontrollbedingungen
DE4444304C2 (de) Verfahren zum Erzeugen eines zusammengesetzten Videobildes
DE60105044T2 (de) Verfahren zur individualisierung eines elements einer integrierten schaltung
DE3524505A1 (de) Bilderkennungsvorrichtung
DE3905234C2 (de)
DE69627391T2 (de) Verfahren und system zum durchführen einer booleschen operation auf bitketten unter benutzung einer maximalen bitscheibe
DE3784581T2 (de) Verfahren zur bestimmung und beschreibung von konturen eines bildes und vorrichtung zum ausfuehren dieses verfahrens.
DE3878868T2 (de) Generator fuer periodische zeitsignale des fractaltyps.
EP1525442B1 (de) Verfahren zur analyse von farbabweichungen von bildern mit einem bildsensor
DE3786986T2 (de) Bildbehandlungsvorrichtung.
DE3837068A1 (de) Bildverarbeitungsverfahren zur gewinnung eines schattenbildes
EP0213683B1 (de) Verfahren und Anordnung zur Erzeugung von Zwischenbildsignalen aus Referenzbildsignalen mit verringerter Bildfrequenz
WO2010028718A2 (de) Verfahren zur bildverarbeitung von stereobildern
DE3243444C2 (de)

Legal Events

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