DE69329144T2 - Verfahren und gerät zur verarbeitung von datenfolgen - Google Patents

Verfahren und gerät zur verarbeitung von datenfolgen

Info

Publication number
DE69329144T2
DE69329144T2 DE69329144T DE69329144T DE69329144T2 DE 69329144 T2 DE69329144 T2 DE 69329144T2 DE 69329144 T DE69329144 T DE 69329144T DE 69329144 T DE69329144 T DE 69329144T DE 69329144 T2 DE69329144 T2 DE 69329144T2
Authority
DE
Germany
Prior art keywords
data
processing
circuits
image
memory
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
DE69329144T
Other languages
English (en)
Other versions
DE69329144D1 (de
Inventor
V. Budak
S. Johnston
James Lee
C. Schmidt
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.)
Neopath Inc
Original Assignee
Neopath Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Neopath Inc filed Critical Neopath Inc
Application granted granted Critical
Publication of DE69329144D1 publication Critical patent/DE69329144D1/de
Publication of DE69329144T2 publication Critical patent/DE69329144T2/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
    • G06T1/00General purpose image data processing
    • G06T1/60Memory management

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Image Processing (AREA)
  • Image Analysis (AREA)
  • Multi Processors (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Communication Control (AREA)

Description

    Technisches Gebiet
  • Die vorliegende Erfindung ist auf ein Verfahren und eine Vorrichtung zur schnellen Verarbeitung von Datenfolgen gerichtet und spezieller auf ein Verfahren und eine Vorrichtung zur parallelen und überlappenden (d. h. Pipeline-) Verarbeitung von Datenfolgen, die Bilder wiedergeben.
  • Hintergrund der Erfindung
  • Für das Verarbeiten von Datenfolgen, die Bilder wiedergeben, sind viele Systeme entwickelt worden. Einige solcher Systeme, die hier als Bildaufbereitungssysteme bezeichnet werden, sind für das Erhalten von Bilder wiedergebenden Daten, d. h. von Bilddaten entwickelt worden, wobei das Bild physikalische Merkmale einer biologischen Probe wiedergeben kann. Als Beispiele sind Bildaufbereitungssysteme für das Erhalten von Bildern von inneren Organen eines Patienten auf eine nicht eindringende Weise entwickelt worden, z. B. magnetische Kernresonanzeinrichtungen, Ultraschallabbildungseinrichtungen, rechnergestützte Abtastabbildungseinrichtungen usw. Diese Einrichtungen werden typischerweise zum Aufnehmen und Verarbeiten von Daten verwendet, um ein Bild eines funktionalen Systems eines Patienten, z. B. des Herzens oder der Lunge des Patienten, bereitzustellen. Das Verarbeiten der Bilddaten, das von diesen Einrichtungen ausgeführt wird, erfolgt primär, um die Genauigkeit und Eindeutigkeit der resultierenden Bilder sicherzustellen.
  • Andere Systeme, die hier als Bildanalysesysteme bezeichnet werden, sind zum Erhalten von Bilddaten von Proben, die einem Patienten entnommen wurden, bereitgestellt worden. Beispielsweise sind Einrichtungen zum Erhalten von Bilddaten bereitgestellt worden, die Blutzellen, Knochenmarkzellen, Gehirnzellen usw. wiedergeben. Diese Systeme sind typischerweise vorgesehen, um Bilddaten aufzunehmen und zu bearbeiten, um Charakteristika der Proben zu bestimmen, beispielsweise eine Blutzellenzahl. Die Verarbeitung von Bilddaten, die von diesen Systemen durchgeführt wird, erfolgen primär zum Analysieren der Bilddaten für das Bestimmen, ob die Probe das Charakteristikum zeigt.
  • In jedem der vorgenannten Abbildungssysteme wird typischerweise eine große Menge von Daten benötigt, um die Bilder präzise wiederzugeben. Außerdem muß zum Erhalten aussagekräftiger Informationen aus den aufgenommenen Bilddaten eine große Anzahl von Datenverarbeitungsschritten ausgeführt werden. Dies gilt sowohl, wenn die Verarbeitung durchgeführt wird, um die Bilddaten aufzubereiten, wie es in einem Bildaufbereitungssystem erfolgt, als auch wenn die Verarbeitung durchgeführt wird, um die Bilddaten zu analysieren, wie es in einem Bildanalysesystem erfolgt.
  • Aufgrund der großen Anzahl an erforderlichen Datenverarbeitungsoperationen haben die Entwickler dieser Systeme versucht, Schaltungen für das Verarbeiten der Bilddaten in einer überlappenden und parallelen Weise, d. h. kontinuierlich und simultan, bereitzustellen, so daß der Datendurchsatz gesteigert und hierdurch die Zeit, die zum Durchführen der Bildaufbereitung oder Bildanalyse erforderlich ist, reduziert werden kann. Jedoch war die Effektivität von bisherigen Schaltungen für die überlappende und parallele Verarbeitung aufgrund der Unfähigkeit von bisherigen Schaltungen, Daten in adäquater Weise zwischen den Speichereinrichtungen und den Verarbeitungsschaltungen hin und her zu schieben, begrenzt. Die US-A-4 483 349 beschreibt ein solches System, in dem jedoch spezielle Verknüpfungen (64-70) zwischen den Prozessoren, die zu unterschiedlichen Pipelines gehören, vorgesehen sind, um Pixeldaten zwischen benachbarten Stufen der Pipelines zu übertragen. Bilddatenübertragungen zwischen einen Hochgeschwindigkeitsspeicher und den parallelen Pipelines sind durch Puffereinrichtungen (44-48) von begrenzter Flexibilität sichergestellt. Dementsprechend ist es wünschenswert, eine Vorrichtung zum effektiven hin und her Schieben von Daten zwischen den Speichereinrichtungen von mehreren Verarbeitungsschaltungen bereitzustellen, um den Durchsatz von überlappend und parallel bildverarbeitenden Schaltungen zu verbessern.
  • Unter besonderer Bezugnahme auf Bildanalysesystemen ist es oft wünschenswert, in der Lage zu sein, die Bilddaten durch Ausführen einer eindimensionalen Bildverarbeitung in einer ersten Ordnung oder Richtung und durch anschließendes Ausführen einer eindimensionalen Bildverarbeitung der derart verarbeiteten Bilddaten in einer zweiten Ordnung oder Richtung in zwei Dimensionen zu verarbeiten.
  • Entsprechende Techniken sind auf dem Gebiet der DCT- und FFT- Bildverarbeitung bekannt. In der EP-A-0 200 283 ist eine solche Technik beschrieben, gemäß der auf Bilddaten in einer ersten Ordnung oder Richtung zugegriffen wird, die Bilddaten gefiltert werden, auf die gefilterte Ausgabe in einer zweiten Ordnung oder Richtung über einen Transpositionsspeicher zugegriffen wird und die Ausgabe ein zweites Mal gefiltert wird.
  • Dementsprechend ist es wünschenswert, eine Vorrichtung und ein Verfahren zum Durchführen solch einer zweidimensionalen Bildverarbeitung ohne die Notwendigkeit eines Transpositionsspeichers bereitzustellen.
  • Die vorliegende Erfindung stellt eine Vorrichtung und ein Verfahren zum Verarbeiten von Datenfolgen bereit, wie sie in den nachstehenden Patentansprüchen dargelegt sind.
  • Kurzbeschreibung der Zeichnungen
  • Fig. 1 ist ein erläuterndes Blockdiagramm, das die Bildaufnahme und das Verarbeitungssystem der vorliegenden Erfindung zeigt;
  • Fig. 2 ist ein detaillierteres erläuterndes Blockdiagramm des Bildprozessors 112 des Bildaufnahme- und -verarbeitungssystems 100, das in Fig. 1 dargestellt ist;
  • Fig. 3 ist ein Blockdiagramm, das die Verknüpfung des Adressencontrollers 202 und des Pixelprozessors 204 erläutert, die in Fig. 2 dargestellt sind;
  • Fig. 4 ist ein erläuterndes Blockdiagramm des Adressencontrollers, der in Fig. 2 dargestellt ist;
  • Fig. 5 ist ein erläuterndes Blockdiagramm des Pixelprozessors, der in Fig. 2 dargestellt ist;
  • Fig. 6 ist ein erläuterndes Blockdiagramm eines neuen binominalen Filters für die Verwendung mit dem Pixelprozessor, der in Fig. 5 dargestellt ist;
  • die Fig. 7A und 7B sind erläuternde Blockdiagramme einer neuen morphologischen Verarbeitungseinrichtung zur Verwendung mit den Pixelprozessoren gemäß Fig. 5;
  • Fig. 8 ist ein erläuterndes Diagramm einer neuen programmierbaren arithmetischen Logikeinheit zur Verwendung mit den Pixelprozessoren gemäß Fig. 5; und
  • Fig. 9 ist ein erläuterndes Diagramm eines Merkmalsprozessors zur Verwendung mit der vorliegenden Erfindung.
  • Detaillierte Beschreibung der Erfindung
  • In Fig. 1 ist ein Bildaufnahme- und -verarbeitungssystem 100 dargestellt. Das Bildaufnahme- und -verarbeitungssystem 100 ist für das Aufnehmen und Verarbeiten von Daten vorgesehen, die ein Bild wiedergeben. In einer derzeit bevorzugten Ausführungsform der Erfindung, ist das Bildaufnahme und -verarbeitungssystem 100 ausgebildet, um Bilddaten aufzunehmen und zu analysieren, die Zellen des menschlichen Körpers für die Verwendung bei der PAP- Cervikalabstrichanalyse wiedergeben. Der Fachmann erkennt jedoch, daß die vorliegende Erfindung leicht zur Ausführung anderer Arten von Bildanalysen adaptiert werden kann. Weiterhin wird der Fachmann erkennen, daß die vorliegende Erfindung in Bildaufbereitungssystemen verwendet werden könnte, die für das Aufnehmen und Aufbereiten von Bilddaten vorgesehen sind, um ein Bild eines Objekts bereitzustellen.
  • Das Bildaufnahme- und -verarbeitungssystem 100 umfaßt ein Bilderfassungssystem 101 zum Erfassen der Bilddaten des abzubildenden Objekts. Das Bilderfassungssystem 101 kann ein optisches System zum Erhalten der von dem Bildaufnahme- und -verarbeitungssystem 100 zu verarbeitenden Bilddaten umfassen. Das optische System 103 kann eine Digitalkamera und zugeordnete Optiken zum Beleuchten des Objekts und zum Bereitstellen der Bilddaten aufweisen. Weiterhin kann das Bilderfassungssystem 101 ein Objektpositioniersystem 102 zum Positionieren des abzubildenden Objekts umfassen. Das Bilderfassungssystem 101 kann außerdem ein Bilderfassungsboard 106 für das Kontrollieren des Fokus des optischen Systems und für das Korrigieren der Bildsignale aufweisen, um Rauschen zu beseitigen, das durch das optische System 103 hervorgerufen wird. Das Bilderfassungsboard 106 kann auch so ausgebildet sein, daß es die von dem optischen System 103 empfangenen Bildsignale digitalisiert.
  • Als Beispiels kann das Bilderfassungssystem 101 einen Präzisionsbewegungscontroller aufweisen, der mit einem Mikroskop gekoppelt ist, um einen Objektträger unter dem Objektiv des Mikroskops so zu positionieren, daß das Mikroskop Proben bereitstellen kann, die auf dem Objektträger angeordnet sind, wobei die Bilder einer digitalen Kamera bereitgestellt und durch ein Stroposkop beleuchtet werden, wobei das gesamte System von einem Datenprozessor gesteuert wird. Der Fachmann wird erkennen, daß andere Einrichtungen zum Erhalten der zu verarbeitenden Bilddaten für das Bilderfassungssystem 101 substituiert werden können, ohne von dem Geist der vorliegenden Erfindung abzuweichen.
  • In der derzeit bevorzugten Ausführungsform der Erfindung ist das Bilderfassungssystem 101 ausgebildet, um ein Bild eines Blickfelds der Kamera des optischen Systems 103 bereitzustellen. Die Kamera ist ausgebildet, um einen Objektträger abzutasten, der an dem Objektpositioniersystem 102 gelagert ist, und kann bis zu 15.000 Blickfeldbilder für jede Objektträger bereitstellen. Das Bildaufnahme- und -verarbeitungssystem 100 ist ausgebildet, um jedes der Blickfeldbilder aufzunehmen und zu verarbeiten, die von dem optischen System 103 bereitgestellt werden.
  • Für das Steuern des Bildaufnahme- und -verarbeitungssystem ist ein Systemprozessor 108 an einen Speicher 110 und den Datenbus 104 angeschlossen. Das Bilderfassungssystem 105 ist für das Übertragen und Empfangen von Steuer- und Statusinformationen an bzw. von dem Systemprozessor 108 ebenfalls an den Datenbus 104 angeschlossen. Wie in Fig. 1 dargestellt ist, kann der Systemprozessor 108 an ein Datenprozessornetzwerk, so wie beispielsweise ein Ethernet oder ein anderes Netzwerk angeschlossen sein, um die Datenübertragung zwischen anderen Bildaufnahme- und -verarbeitungssystemen oder anderen Datenverarbeitungseinrichtungen zu ermöglichen. Der Speicher 110 ist für das Speichern von Programmdaten und -anweisungen zur Verwendung durch den Systemprozessor 108 ausgebildet. Der Speicher 110 kann weiterhin für das Speichern von Bilddaten oder anderen Daten ausgebildet sein, die sich auf Bilder beziehen, welche von den Bildaufnahme- und -verarbeitungssystem 100 aufgenommen werden.
  • In der derzeit bevorzugten Ausführungsform der Erfindung umfaßt das optische System 103 eine Kamera, die ausgebildet ist, um die Blickfeldbilddaten in einem Feld von Datenworten bereitzustellen, in welchem jedes Datenwort einem Pixel oder Element der Kamera zugeordnet ist. Weiterhin ist gemäß einer derzeit bevorzugten Ausführungsform der Erfindung jedes Datenwort ein binäres 8 bit Datenwort, wobei der binäre Wert, des Datenworts der Intensität des Lichts an seinem zugeordneten Pixel proportional ist. Das optische System 103 ist weiterhin ausgebildet, um ein Feld von 512 · 512 Datenworten, das einem Feld von 512 · 512 Pixeln wiedergibt, für jedes Blickfeldbild bereitzustellen. Der Fachmann wird jedoch voraussetzen, daß die vorliegende Erfindung gleichermaßen zur Verwendung mit Bilderfassungssystem anwendbar ist, die zur Bereitstellung von mehr oder weniger Daten für jedes Blickfeldbild ausgebildet sind.
  • Um ein im wesentlichen simultanes Verarbeiten von mehreren Bildern zu ermöglichen, umfaßt das Bildaufnahme- und -verarbeitungssystem 100 mehrere im wesentlichen gleiche Bildverarbeitungsschaltungen 112-1 bis 112-10. Die mehreren Bildverarbeitungsschaltungen 112 sind für das Empfangen der Blickfeldbilddaten von dem Bildaufnahmeboard 106 jeweils an einen Bilddatenbus 104 angeschlossen. Der Systemprozessor 108 überwacht die mehreren Bildprozessoren 112 über den Datenbus 104, um die Blickfeldbilder zwischen den Bildprozessoren zu verschieben. Jede Bildverarbeitungsschaltung 112 ist ausgebildet, um Bilddaten zu verarbeiten, die ein einzelnes Blickfeldbild wiedergeben. Jeder Bildprozessor 112 ist weiterhin für eine im wesentlichen parallele und überlappende Verarbeitung der Blickfeldbilder ausgebildet, wie unten detaillierter beschrieben werden wird. Die mehreren Bildprozessoren 112-1 bis 112-20 verarbeiten die Blickfeldbilder parallel, so daß das Bildaufnahme- und -verarbeitungssystem 100 zur im wesentlichen überlappenden und parallelen Verarbeitung von Blickfeldbilddaten in der Lage ist.
  • Wie oben diskutiert wurde, ist das Bildaufnahme- und -verarbeitungssystem 100 ausgebildet, um eine Bildanalyse eines Objekts auf einem Objektträger bereitzustellen. Zu diesem Zweck sind die mehreren Bildverarbeitungsschaltungen 112 ausgebildet, um eine Bildanalyseverarbeitung der Bilddaten auszuführen, die von dem Bildaufnahmeboard 106 bereitgestellt werden. Als Beispiele sind die Bildverarbeitungsschaltungen der vorliegenden Erfindung ausgebildet, um Entfernungstransformationen, binäre Morphologie, Graustufenmorphologie, binominales Filtern, Histogramme, Graustufenakkumulation, Laufzeitcodierung, Bildschwellwertvergleiche, arithmetische Operationen, logische Operationen und Einflußzonenanalysen durchzuführen. Der Fachmann wird jedoch voraussetzen, daß die Bildverarbeitungsschaltungen 112 modifiziert werden können, um andere Funktionen zusätzlich zu den oder anstatt der hier beschriebenen auszuführen.
  • Bezugnehmend auf Fig. 2 umfaßt jeder Bildprozessor 112 mehrere Speicherschaltungen 200-1 bis 200-6, die jeweils einem von mehreren Adressencontrollern 202-1 bis 202-6 zugeordnet sind. Die Speicherschaltungen 200-1 und 200-2 sind für das Speichern von einem oder mehreren Blickfeldbildern ausgebildet, die von dem Bildaufnahmeboard 106 bereitgestellt werden. Wie oben diskutiert wurde, ist jeder Bildprozessor 112 für eine im wesentlichen parallele und überlappende Verarbeitung von Daten ausgebildet, die die in den Speicherschaltungen 200-1 und 200-2 gespeicherten Blickfeldbilder wiedergeben. Die Speicherschaltungen 200-3 bis 200-6 werden verwendet, um Daten zu speichern, die verschiedene Zwischenformen der Blickfeldbilder während der Verarbeitung wiedergeben. Beispielsweise können die Speicherschaltungen 200-3 bis 200-6 verwendet werden, um eine Graustufendarstellung des Blickfeldbilds, eine Entfernungstransformationsdarstellung des Blickfeldbilds usw. zu speichern. In einer derzeit bevorzugten Ausführungsform der Erfindung ist jede Speicherschaltung 200 zum Speichern von mindestens zwei 8 bit Graustufenbildern und vorzugsweise von vier Bildern ausgebildet.
  • Die Adressencontroller 202 sind zum Anbinden der Speicherschaltungen 200 über ein Verbindungsnetzwerk 207 an mehrere Pixelprozessoren 204-1 bis 204-3 und einem Merkmalsprozessor 206 vorgesehen. Das Verbindungsnetzwerk 207 kann konfiguriert sein, um die Adressencontroller 202 und die Pixelprozessoren 204 so zu verschalten, daß Daten zwischen jedem Adressencontroller und jedem Pixelprozessor übertragen werden. Weiterhin kann das Verbindungsnetzwerk 207 so konfiguriert sein, daß Daten gleichzeitig von jedem der Adressencontroller zu jedem der Pixelprozessoren und dem Merkmalsprozessor übertragen werden. Beispielsweise kann die Bildverarbeitungsschaltung 112 so konfiguriert sein, daß zur selben Zeit Daten von der Speicherschaltung 200-1 an den Pixelprozessor 204-2 und von der Speicherschaltung 200-2 an die Pixelprozessoren 204-2 und 204-3 übertragen werden. Verschiedene andere Kombinationen der Datenübertragung zwischen den Speicherschaltungen 200 und den Pixelprozessoren 204 und dem Merkmalsprozessor 206 sind möglich, wie unten unter Bezugnahme auf Fig. 3 beschrieben werden wird.
  • Unter Bezugnahme auf Fig. 3 weist jeder der Adressencontroller 202-3 bis 202-6 einen Ausgang auf, der eine unabhängige Verbindung 300-1 bis 300-6 mit jedem Pixelprozessor 204 und dem Merkmalsprozessor 206 hat. Entsprechend kann jeder Adressencontroller 202 Daten von seiner jeweiligen Speicherschaltung 200 an jeden der Pixelprozessoren 204 oder den Merkmalsprozessor 206 bereitstellen. Der Fachmann wird voraussetzen, daß Daten von einem Adressencontroller gleichzeitig an jeden der Pixelprozessoren und den Merkmalsprozessor oder alternativ von jeder Kombination der Adressencontroller gleichzeitig an die Pixelprozessoren übertragen werden können.
  • Zusätzlich weist jeder Pixelprozessor 204-1 bis 204-3 einen Ausgang mit einer zugeordneten Verbindung 302-1 bis 302-3 zu jedem der Adressencontroller 202 und den anderen Pixelprozessoren 204 auf. In gleicher Weise umfaßt der Merkmalsprozessor einen Ausgang mit einer zugeordneten Verbindung 304 zu jedem der Adressencontroller 202. Entsprechend können über den Adressencontroller 202 Daten zwischen jedem Pixelprozessor 204 und jeder Speicherschaltung 200 übertragen werden. In gleicher Weise können über seinen zugeordneten Adressencontroller 202 Daten zwischen dem Merkmalsprozessor 206 und jeder Speicherschaltung 200 übertragen werden.
  • Zurückkehrend zu Fig. 2 umfassen die mehreren Bildprozessoren 112 auch eine Merkmalsspeicherschaltung 208, die an den Merkmalsprozessor 206 angeschlossen ist. Die Merkmalsspeicherschaltung 208 ist verschaltet, um Daten zwischen dem Merkmalsprozessor 206 und einem lokalen Bus 210 des Bildprozessors 112 zu übertragen. Zusätzlich zum Speichern von Daten in jeder der Speicherschaltungen 200 ist der Merkmalsprozessor 206 weiterhin ausgebildet, um Daten in der Merkmalsspeicherschaltung 208 zu speichern. Die Mehrzahl der Bildprozessoren 112 umfaßt auch eine DSP/CPU (digitale Signalprozessor-/zentrale Verarbeitungseinheit) 212, die für das Steuern des Betriebs der Adressencontroller 202, der Pixelprozessoren 204 und des Merkmalsprozessors 206 an einen Prozessorbus 211 angeschlossen ist. Zusätzlich ist die DSP/CPU 212 ausgebildet, um auf Daten des Merkmalsspeichers 208 zuzugreifen. Die DSP/CPU 212 ist für das Empfangen der verarbeiteten Daten von dem Merkmalsprozessor 206 und das Analysieren der Bilddaten vorgesehen, um die Merkmale und Charakteristika der hierdurch wiedergegebenen Bilder zu analysieren. In einer derzeit bevorzugten Ausführungsform der Erfindung ist die DSP/CPU 212 ausgebildet, um Daten zu empfangen, die Messungen von Merkmalen in einem Bereich einer PAP-Cervikalabstrichproben wiedergeben. Die DSP/CPU 212 und der Systemprozessor 108 kooperieren, um die Merkmalsmessungen zu analysieren, um den Gesamtstatus der Probe zu bestimmen.
  • Der lokale Bus 210 von jedem der Bildprozessoren 212 ist über eine Busschnittstelle 214 an den Datenbus 104 des Bildaufnahme- und -verarbeitungssystem 100 angeschlossen. Die Busschnittstelle 214 wird für das Übertragen von Daten und Anweisungen von der DSP/CPU 212 an den Systemprozessor 108 durch die DSP/CPU und den Systemprozessor 108 (Fig. 1) gesteuert. Zusätzlich ist der Controllerspeicher 215 über den lokalen Bus 210 an die DSP/CPU 212 angeschlossen, um der DSP/CPU 212 Programmdaten und -instruktionen bereitzustellen. Der Controllerspeicher 215 kann von der DSP/CPU auch für das Speichern von Bildinformationen verwendet werden, beispielsweise von Blickfeldbilddaten oder Merkmalsmessungen, die von den Pixelprozessoren 204 und dem Merkmalsprozessor 206 erhalten wurden. Noch weiter wird der Controllerspeicher 215 von der DSP/CPU 212 und dem Systemprozessor 108 als gemeinsamer Speicher für das Übertragen von Bilddaten und Datenanalysen zwischen der DSP/CPU 212 und dem Systemprozessor 108 verwendet.
  • Für das Empfangen von Bilddaten von dem Bildaufnahmeboard 106 ist eine Bildbusschnittstelle 216 an den Bildbus 114 angeschlossen. Um eine im wesentlichen kontinuierliche Übertragung von Bilddaten an die Bildprozessoren 112 zu ermöglichen, werden zwei der Speicherschaltung 200-1 und 200-2 zusammen mit ihren zugeordneten Adressencontrollern 202-1 und 202-2 als Warteschlange zum Speichern der Blickfeldbilddaten verwendet, während sie durch die Pixelprozessoren 204 und dem Merkmalsprozessor 206 verarbeitet werden. Zu diesem Zweck werden die Blickfeldbilddaten, die von dem Bildaufnahmeboard 106 an den Bildprozessor 112 übertragen werden, über die Bildbusschnittstelle 216 in einer der Speicherschaltungen 201 oder 202 gespeichert. Die Adressencontroller 202-1 und 202-2 sind über einen gemeinsamen Knoten 217 an die Speicherschaltungen 201 und 202 und an eine Bildbusschnittstelle 216 angeschlossen. Die Bildbusschnittstelle 216 ist ausgebildet, um die Übertragung von Bilddaten von dem Bildaufnahmeboard 106 zu den Speicherschaltungen 200-1 und 200-2 des Bildprozessors 112 zu steuern. Für das Steuern der Übertragung von Bilddaten von dem Datenbus 104 über den lokalen Bus 210 und die Busschnittstelle 214 an die Speicherschaltungen 200- 1 und 200-2 ist außerdem eine Datenbusschnittstelle 216 an den gemeinsamen Knoten angeschlossen. Der Systemprozessor 108 kann die Datenbusschnittstelle 216 zum Übertragen von Testbildern, Kalibrierbildern usw. an die Bildprozessoren 112 oder zum Sichern von Bilddaten von den Speicherschaltungen 200-1 und 200- 2 in dem Speicher 110 verwenden. Techniken zur Steuerung der Übertragung von Informationen über einen gemeinsamen Knoten sind wohl bekannt und müssen hier nicht im Detail diskutiert werden.
  • Im Betrieb überträgt der Systemprozessor 108 ein Blickfeldbild an einen Bildprozessor 112, indem er das Bildaufnahmeboard 106 steuert, damit es die Blickfelddaten auf den Bilddatenbus 114 gibt, und die Bilddatenbusschnittstelle 216 des geeigneten Bildprozessors 112, damit sie die Blickfeldbilddaten von dem Bilddatenbus 114 auf eine der Speicherschaltungen 200-1 oder 200-2 überträgt. Die Blickfeldbilddaten bleiben in der Speicherschaltung 200-1 oder 200-2 bis alle Verarbeitungen abgeschlossen sind. Dies ermöglicht es dem Bildprozessor, zu jedem Zeitpunkt während der Verarbeitung auf die originalen Blickfeldbilddaten zuzugreifen, was manchmal notwendig ist. Während der Zeit, in der eine große Anzahl von Blickfeldbildern verarbeitet werden müssen, sind die Bildprozessoren 112 so ausgebildet, daß ein in der Speicherschaltung 200-1 gespeichertes Bild verarbeitet werden kann, während ein zweites Bild für die nachfolgende Verarbeitung an die Speicherschaltung 200-2 übertragen und dort gespeichert werden kann. Entsprechend werden die Speicherschaltungen 200-1 und 200-2 zusätzlich zu ihrer Verwendung zum Speichern der Blickfeldbilder während der Verarbeitung durch den Bildprozessor 112 auch als Warteschlange zum Speichern eines zusätzlichen Blickfeldbilds für die nachfolgende Verarbeitung verwendet.
  • Ein besonderes neues Merkmal der vorliegenden Erfindung ist, daß jede Speicherschaltung 200 acht parallel geschaltete Speicherschaltkreise aufweist, von denen jeder ausgebildet ist, um ein einzelnes Bit des 8 bit Datenworts zu empfangen. Die Adressencontroller 202 sind ausgebildet, um ein 8 bit Schreibsteuerwort an jede Speicherschaltung 200 bereitzustellen, wobei eines der acht Bits jeweils einem der acht individuellen 1 bit Speicherschaltkreise zugeordnet ist. Auf diese Weise kann die Speicherschaltung 200 verwendet werden, um Bilddaten zu speichern, einschließlich einer Mehrzahl von 8 bit Graustufendatenworten, oder sie kann ohne Speicherplatz zu verschwenden, zum Speichern von 8 bits, die sich auf acht binäre Bilder beziehen, verwendet werden. Der Fachmann wird erkennen, daß die oben beschriebene Speicherschaltung 200 konfiguriert werden kann, um ein Bild zu speichern, das sich aus einem oder mehreren Bildern zusammensetzt, die zusammen 8 bits ausmachen.
  • Wie hier oben erwähnt wurde, ist ein besonderer neuer Aspekt der vorliegenden Erfindung die Fähigkeit des Adressencontrollers 202 einen Teil der Bilddaten dafür auszuwählen, daß er durch die Pixelprozessoren 204 und den Merkmalsprozessor 206 verarbeitet wird. Die Auswahl eines Teils der Bilddaten ermöglicht es den Pixelprozessoren und dem Merkmalsprozessor, Operationen ausschließlich an den gewünschten Teilen der Bilddaten auszuführen und damit Datenverarbeitungszeit einzusparen. Weiterhin sind die Adressencontroller 202 auch ausgebildet, um Informationen für das Identifizieren der Grenze eines Bilds oder eines Bildbereichs, das bzw. der von den Speicherschaltungen 200 zu den Pixelprozessoren und dem Merkmalsprozessor 206 übertragen wird, bereitzustellen. Die Hinzufügung von Grenzeninformationen zu einem Bild oder einem Bildbereich ist wünschenswert, um beim Filtern und Entfernungstransformieren des Bilds oder Bildbereichs zu unterstützen.
  • Unter Bezugnahme auf Fig. 4 wird ein detaillierteres erläuterndes Diagramm eines Adressencontrollers 202 bereitgestellt. Obwohl in Fig. 4 ein Adressencontroller 202 dargestellt ist, wird es dem Fachmann klar werden, daß jeder der Adressencontroller 202-1 bis 202-6, der in Fig. 2 dargestellt ist, in entsprechender Weise wie der in Fig. 4 dargestellte Adressencontroller arbeitet.
  • Um Bildbereiche bereitzustellen, weist der Adressencontroller eine Steuerschaltung 400 auf, die verschaltet ist, um Daten und Anweisungen von der DSP/CPU 212 (Fig. 2) zu empfangen. Die Steuerschaltung 400 ist an einen X-Adressenzähler 402 und an einen Y-Adressenzähler 404 angeschlossen, um diesen Adressendaten und Zeittaktsignale bereitzustellen. Der X-Adressenzähler 402 und der Y-Adressenzähler 404 sind ausgebildet, um der Speicherschaltung 200, der der Adressencontroller 202 zugeordnet ist, die X- und Y-Adressen für die Auswahl der Daten zur Verfügung zu stellen, die von der Speicherschaltung auf den Adressencontroller 202 zu übertragen sind. Der X- und der Y- Adressenzähler 402 und 404 sind jeweils zum Programmieren auf eine vorgegebene Startadresse und zum abwärts oder aufwärts Zählen geeignet. Entsprechend kann der Adressencontroller durch Vorgeben geeigneter Startadressen an die X- und Y-Adressenzähler 402 und 404 und durch entweder ansteigendes Inkrementieren oder absteigendes Dekrementieren der Adressenzähler programmiert werden, um einen Bereich des Bilds, das in der ihm zugeordneten Speicherschaltung 200 gespeichert ist, von links nach rechts oder von oben nach unten zu selektieren. Darüberhinaus sind die X- und Y-Adressenzähler 402 und 404 jeweils ausgebildet, um in vorgegebenen Inkrementen zu zählen, so daß inkrementale Bereiche der Bilddaten als Ausgabe des Adressencontrollers 202 bereitgestellt werden können. Die X- und Y-Adressenzähler 402 und 404 sind auch so ausgebildet, daß sie eine Adresse wiederholen, so daß die Bilddaten der Adresse wiederholt werden. Das Bereitstellen von inkrementalen Bereichen eines Bilds ist nützlich für das Einsparen von Verarbeitungszeit, wenn Details des Bilds nicht notwendig sind, um Ergebnisse des Prozesses zu sammeln. Das Wiederholen der Daten eines Bildes ist nützlich für Prozesse die eine ausgedehnte Zykluszeit aufweisen, z. B. für Histogrammoperationen.
  • Der Adressencontroller 202 ist auch ausgebildet, um eine vorgegebene Grenze um das Bild oder den Bildbereich bereitzustellen, der von den von der Speicherschaltung 200 bereitgestellten Bilddaten wiedergegeben wird. Zu diesem Zweck werden Daten, die durch die X- und Y-Adressenzähler 402 und 404 ausgewählt werden, von der Speicherschaltung 200 über ein Latch 406 an einen Multiplexer 408 bereitgestellt. Der Multiplexer 408 wird durch einen Verzögerungszähler 410 und einen Erweiterungszähler 412 zum Auswählen entweder der gespeicherten Bilddaten über den Latch 406 oder vorgegebener Grenzendaten aus einem Grenzenregister 414 als Datenausgabe des Adressencontrollers angesteuert. Der Verzögerungszähler 410 und der Erweiterungszähler 412 sind jeweils an den X- bzw. Y-Adressenzähler 402 bzw. 404 angeschlossen, um den Adressenzähler auszuschalten, wenn die Grenzendaten als Ausgabe des Multiplexers 408 bereitgestellt werden.
  • Das Grenzenregister 414 ist für das Speichern von Daten vorgesehen, die einen gewünschten Grenzenzustand eines Bilds oder eines Bildbereichs wiedergeben. Der Verzögerungszähler 410 und der Erweiterungszähler 412 sind vorgesehen, um festzulegen, wieviel Grenze um das Bild oder den Bildbereich herum von dem Adressencontroller 202 vorgesehen wird. Im einzelnen legt der Verzögerungszähler 410 den Umfang an Grenze fest, der vor und praktischer Weise hinter dem Bild oder Bildbereich, das/der von den Bilddaten wiedergegeben wird, vorgesehen wird, während der Erweiterungszähler den Umfang an Grenze festlegt, der vor und hinter jeder Linie des Bilds oder Bildbereichs, das/der durch die Bilddaten wiedergegeben wird, vorgesehen wird. Der Verzögerungszähler 410 wird auch verwendet, um die X- und Y- Adressenzähler 402 und 404 zu verzögern, so daß sie zur richtigen Zeit beginnen, Adressen für das Speichern der Ergebnisse eines Prozesses bereitzustellen.
  • Im Betrieb werden der Verzögerungszähler 410 und der Erweiterungszähler 412 durch die Steuerschaltung 400 mit Randwerten programmiert. Der Verzögerungszähler steuert den Multiplexer 408, so daß dieser für eine Anzahl von Zeittaktsignalen die Ausgabe des Grenzenregister 414 als seine Ausgabe bereitstellt, wie es erforderlich ist, um den Umfang an Grenze zu erzeugen, welcher durch seine programmierten Grenzendaten festgelegt ist. Anschließend wird der Multiplexer 408 gesteuert, um eine Zeile von Bilddaten von dem Latch 406 bereitzustellen. Nachdem jede Zeile von Bilddaten bereitgestellt wurde, steuert der Erweiterungszähler 412 den Multiplexer 408, um für eine Anzahl von Zeittaktsignalen die Grenzendaten aus dem Grenzenregister 414 als Adressencontrollerausgabe auszugeben, wobei die Anzahl der Zeittaktsignale so ausgewählt ist, daß der Umfang an Grenze bereitgestellt wird, der durch die Randwerte festgelegt ist, welche in dem Erweiterungszähler 412 programmiert sind. Auf diese Weise enthalten die Daten, die von den Speicherschaltungen 200 bereitgestellt werden und ein Bild oder einen Bildbereich wiedergeben, eine Grenze, wobei der Wert der Grenze durch die Grenzenwerte festgelegt ist, die in dem Grenzenregister 414 gespeichert sind, und wobei der Umfang der Grenze durch die Randwerte bestimmt wird, die in dem Verzögerungszähler 410 und dem Erweiterungszähler 412 gespeichert sind. Es wird dem Fachmann klar sein, daß die Adressenzähler 402 und 404 so programmiert werden können, daß ein Bildbereich mit oder ohne eine Grenze bereitgestellt wird, die von dem Verzögerungszähler 410, dem Erweiterungszähler 412 und dem Grenzenregister 414 bereitgestellt wird.
  • Wie oben diskutiert wurde, ist der Adressencontroller 202 auch für das Anschließen der mehreren Pixelprozessoren 204 und des Merkmalsprozessors 206 an die Speicherschaltung 200 ausgebildet, der der Adressencontroller 202 zugeordnet ist. Dementsprechend sind ein Multiplexer 412 und ein Latch 418 an die mehreren Einzelverbindungen 302-1 bis 302-3 der Pixelprozessoren 204-1 und 204-3 (Fig. 3) und die Einzelverbindung 304 des Merkmalsprozessors 206 angeschlossen. Der Multiplexer 416 wird durch die Steuerschaltung 400 gesteuert, um eine Eingabe von einem der Pixelprozessoren 204 oder dem Merkmalsprozessor 206 auszuwählen.
  • Zusätzlich zur Zusammenarbeit, um Grenzeninformationen für von dem Adressencontroller 202 bereitgestellte Daten, die ein Bild oder einen Bereich eines Bilds wiedergeben, bereitzustellen, arbeitet das Grenzenregister 414 auch mit einem Komparator 422 zusammen, um eine einzigartige Überprüfungsanordnung für die Speicherschaltung 200 bereitzustellen, die dem Adressencontroller 202 zugeordnet ist. Ein Multiplexer 420 ist für das Auswählen der Daten vorgesehen, die von dem Multiplexer 416 oder dem Grenzenregister 414 als Eingabe für die Speicherschaltung 200 bereitgestellt werden. Um die Speicherschaltung 200, die dem Adressencontroller 202 zugeordnet ist, zu überprüfen, wird das Grenzenregister 414 durch die Steuerschaltung 400 mit einer Testfolge programmiert. Der Multiplexer 420 wird gesteuert, um die Testfolge von dem Grenzenregister 414 als die Eingabe an die Speicherschaltung 200 bereitzustellen. Die Testfolge, die in dem Grenzenregister 414 gespeichert ist, wird so ausgewählt, daß ein einzigartiges Muster von aufeinanderfolgenden Einsen und Nullen in der Speicherschaltung 200 gespeichert wird. Danach werden Daten über den Latch 406 aus der Speicherschaltung gelesen und in einem Komparator 422 mit der Testsequenz in dem Grenzenregister 414 verglichen. Falls das Muster, das aus der Speicherschaltung 200 gelesen wird, nicht dasselbe wie die Testsequenz ist, die von dem Grenzenregister 414 erzeugt wird, zeigt der Komparator 422 einen Fehler in der Speicherschaltung 200 an.
  • Die Elemente, die den Adressencontroller 202, wie er in Fig. 4 dargestellt ist, ausbilden, können jegliche aus einer Anzahl von kommerziellen Vorrichtungen umfassen, die dem Fachmann leicht zugänglich ist. In der derzeit bevorzugten Ausführungsform der Erfindung weist der Adressencontroller 202 eine anwendungsspezifische integrierte Schaltung auf, die ausgelegt ist, um die Funktionen auszuführen, die unter Bezugnahme auf Fig. 4 erläutert und beschrieben wurden. Es können jedoch auch andere Einrichtungen, wie beispielsweise diskrete Einrichtungen, hierfür einfach substituiert werden.
  • Zurückkehrend wieder zu Fig. 2 sind die mehreren Pixelprozessoren 204 für das Ausführen von parallelen und überlappenden Datenverarbeitungsfunktionen an den Bilddaten ausgebildet, die den Bildprozessoren 112 bereitgestellt werden. Insbesondere sind die Pixelprozessoren 204 ausgebildet, um Entfernungstransformationen, binäre Morphologie, Graustufenmorphologie, binominales Filtern, arithmetische Operationen, logische Operationen, Schwellwertvergleiche und Einflußzonenanalysen jeweils in im wesentlichen überlappender Weise auszuführen. Die Pixelprozessoren 204 sind durch die DSP/CPU 212 programmierbar, um jede der oben angegebenen Funktionen auszuführen. Unter Bezugnahme auf Fig. 5 wird ein detaillierteres erläuterndes Diagramm eines Pixelprozessors 204-1 bereitgestellt. Wie oben unter Bezugnahme auf den in Fig. 4 dargestellten Adressencontroller festgestellt wurde, wird der Fachmann voraussetzen, daß obwohl nur ein Pixelprozessor 204-1 in Fig. 5 dargestellt ist, jeder der Pixelprozessoren 204-2 und 204-3 in einer im wesentlichen gleichen Weise wie der Pixelprozessor 204, der in Fig. 5 dargestellt ist, ausgebildet ist.
  • Der Pixelprozessor 204 weist eine Steuerschaltung 500 auf, die auf Eingangssteuer- und -datensignale reagiert, welche von der DSP/CPU 212 für das Konfigurieren und Steuern der Operationen des Pixelprozessors 204 empfangen werden. Die Steuerschaltung 500 stellt Steuer- und Datensignale über einen Steuerdatenbus 502 an den Pixelprozessor 204 bereit. Ein Multiplexer 504 reagiert auf Steuer- und Datensignale, die er von der Steuerschaltung 500 empfängt, um als Pixelprozessoreingabe Bilddaten von den Einzelverbindungen 300-1 bis 300-6 zu jedem der Adressencontroller 202-1 bis 202-6 auszuwählen, wie oben unter Bezugnahme auf Fig. 3 erläutert ist. In gleicher Weise kann der Multiplexer 504 Daten von den Einzelverbindungen 302-2 und 302-3 von jedem der anderen Pixelprozessoren 204-2 bzw. 204-3 auswählen.
  • Der Multiplexer 504 ist ausgebildet, um Daten an gleichzeitige und im wesentlichen gleiche Datenwege bereitzustellen, die als Weg A und Weg B dargestellt sind. Insbesondere spricht der Multiplexer 404 zum Auswählen irgendeiner seiner Eingaben zum Bereitstellen an den Wege A und das gleichzeitige Auswählen irgendeiner seiner Eingabe zum Bereitstellen an den Weg B auf Steuersignale von der Steuerschaltung 500 an. Als Beispiel kann der Multiplexer 504 angesteuert werden, um Bilddaten von der Speicherschaltung 200-2, die auf der Einzelverbindung 300-2 empfangen werden, an den Pfad A bereitzustellen, während er verarbeitete Daten von dem Pixelprozessor 204-2, die er auf der Einzelverbindung 302-2 empfängt, an den Pfad B bereitstellt. Als anderes Beispiel könnte der Multiplexer 504 angesteuert werden, um Daten, die von der Speicherschaltung 200-2 empfangen werden, sowohl an den Pfad A als auch gleichzeitig an den Pfad B bereitstellt.
  • Die Wege A und B sind jeweils für ein paralleles Verarbeiten von Bilddaten vorgesehen. Da die Datenverarbeitung, die in Bezug auf die Bilddaten durch die Elemente des Wegs A bereitgestellt werden kann, identisch zu der Datenverarbeitung ist, die in Bezug auf die Bilddaten durch die Elemente des Wegs B bereitgestellt werden kann, wird nur Weg A unten detailliert beschrieben werden. Es wird dem Fachmann aber klar sein, daß der Aufbau und die Funktion des Wegs B dieselben sind, wie sie unten unter Bezugnahme auf den Weg A beschrieben werden. Weiterhin wird es klar sein, daß, obwohl hier nur zwei Wege beschrieben werden, mehr Wege in einfacher Weise bereitgestellt werden könnten, falls dies erwünscht ist.
  • Bilddaten, die durch den Multiplexer 504 ausgewählt und an den Weg A bereitgestellt werden, werden in einem Schieberegister 506 empfangen. Das Schieberegister 506 ist ausgebildet, um ein Pixeldatenwort zu empfangen und zu verschieben, so daß eine ausgewählte Gruppe von Bits, die das Pixeldatenwort darstellen, ausgewählt werden kann. Diese Gruppe von Pixeln kann dann in einem Maskenregister 512 mit maskierenden Bits kombiniert werden. Die resultierenden Daten können dann durch einen Multiplexer 514 als Ausgabe des Wegs A ausgewählt werden. Die Datenverarbeitung, wie sie oben beschrieben ist, ist für das Auswählen des geeigneten Bits einer binären Maske aus den Mehrbitdatenworten, die im Speicher gespeichert sind, und für das Maskieren eines Bilds vor der Verarbeitung mit einem Grauschleier nutzbar.
  • Alternativ können die maskierten oder unmaskierten Daten von dem UND-Gatter 510 an einen Schwellwertdetektor 518 bereitgestellt werden. Ein vorgegebener Wert wird als Ausgabe des Schwellwertdetektors bereitgestellt, falls die maskierten oder unmaskierten Bilddaten oberhalb oder unterhalb eines Schwellwerts liegen, der über die Steuerschaltung 500 von der DSP/CPU 212 bereitgestellt wird. Die Ausgabe des Schwellwertdetektors 518 kann über den Multiplexer 514 als die Ausgabe des Wegs A ausgewählt werden. Die Verwendung des Schwellwertdetektors 518, wie sie oben beschrieben wurde, ist für viele Operationen nutzbar. Die Ausgaben der Wege A und B werden an eine Mehrzahl von Multiplexern 520 bis 526 bereitgestellt. Die Multiplexer 520 bis 526 sind ausgebildet, um ihre Ausgaben an eine entsprechende Mehrzahl von Verarbeitungsschaltungen 528 bis 534 bereitzustellen. Entsprechend kann die Ausgabe des Wegs A oder des Wegs B über die Multiplexer 520 bis 526 als die Eingabe für jeden Verarbeitungsblock 528 bis 584 bereitgestellt werden.
  • Die Verarbeitungsschaltungen 528 bis 534 sind jeweils ausgebildet, um eine bestimmte Datenverarbeitungsfunktion bezüglich ihrer Eingabe auszuführen und um ihre Ausgabe an Multiplexer 536 und 540 bereitzustellen. Eine Durchgangsverarbeitungsschaltung 528 ist ausgebildet, um einfach die Ausgabe des Multiplexers 520 an die Multiplexer 536 und 540 anzuschließen. Eine Verzögerungsverarbeitungsschaltung 530 ist ausgebildet, um eine Verzögerung zwischen der Ausgabe des Multiplexers 514 und den Multiplexern 536 und 540 bereitzustellen. Die Durchgangsverarbeitungsschaltung 528 und die Verzögerungsverarbeitungsschaltung 530 kann der Fachmann leicht ausbilden.
  • Fig. 6 ist ein erläuterndes Blockdiagramm eines binominalen Filters zur Verwendung als der Filterverarbeitungsblock 532 des Pixelprozessors 204 (Fig. 5). Das binominale Filter umfaßt mehrere Filterblöcke 600, wobei jeder Filterblock zum Erzeugen und Anwenden eines binominal geformten Filters konfiguriert ist. Als Beispiel ist hier der Filterblock 600 ausgebildet, um eine Reihe von Dateneingaben zu empfangen und um als seine Ausgabe eine Reihe von Datenworten bereitzustellen, wobei jedes Datenwort eine Summe von ausgewählten Bereichen der Eingabefolge wiedergibt. Als Beispiel kann ein Filterblock, wenn die Eingabe an den Filterblock eine Folge von Datenworten X&sub0;, X&sub1;, X&sub2;, X&sub3; ... Xn ist, programmiert sein, um als seine Ausgabe eine Reihe bereitzustellen, bei der jedes Datenbit gleich 4 + 2 · 1 + X&sub2; ist. Genauer sind die Filterblöcke 600-1 und 600-2 mit zwei Verzögerungsschaltungen 602 und einem Verarbeitungsblock 604 ausgebildet. Wie aus dem Stand der Technik bekannt ist, sind die Verzögerungsschaltungen 602 ausgebildet, um eine Zeittaktsignalverzögerung bereitzustellen, so daß Daten, die während eines Zeittaktsignals ankommen, an ihrem Ausgang um ein einzelnes Zeittaktsignal verzögert sind. Der Multiplexer 606 ist bereitgestellt, um Daten, die entweder zwei Verzögerungen oder eine Verzögerung aufweisen, als Eingabe für den Verarbeitungsblock auszuwählen. In gleicher Weise sind die Filterblöcke 600-3 bis 600-4 ausgebildet, um einen vier Verzögerungen-Filter zu implementieren, wie detaillierter durch Block 600-3 dargestellt ist. Der Verarbeitungsblock 604 ist ausgewählt, um die in Fig. 6 dargestellte Funktion zu implementieren. D. h., die Ausgabe des Verarbeitungsblock kann entweder gleich einer der Eingaben, dem Maximum einer der Eingaben, dem Minimum einer der Eingaben oder der Summe beider Eingaben sein.
  • Es wird vom Fachmann vorausgesetzt, daß, wenn die Summenfunktion ausgewählt wird, der Filterblock 600 ausgebildet sein wird, um ein binominales Filter bereitzustellen, dessen Koeffizienten durch die Signale festgelegt werden, welche von dem Multiplexer 606 ausgewählt werden. Wenn entweder die Maximum- oder Minimumfunktion durch den Verarbeitungsblock 604 implementiert ist, wird der Filterblock 600 ausgebildet sein, um eine morphologische Graustufenoperation bereitzustellen, wobei die zu vergleichenden Pixel durch die Signale festgelegt werden, welche von dem Multiplexer 606 ausgewählt werden. Entsprechend wird der Filterverarbeitungsblock 532 für das Ausführen von Operationen an benachbarten Pixel bereitgestellt, und er ist für das Auswählen verschiedener zu bearbeitender Pixel konfigurierbar. Entsprechend kann der in Fig. 6 dargestellte Filterverarbeitungsblock 532 über die Steuerschaltung 500 durch die DSP/CPU 212 programmiert werden, um ein binominales Filter oder ein morphologisches Graustufenfilter unterschiedlicher Stufe und Konstruktion zu implementieren. Binominales Filtern und morphologisches Graustufenfiltern von Bilddaten sind beide wünschenswert, um den Effekt eines direkt oder nicht direkt benachbarten Pixels auf ein Subjektpixel zu bestimmen.
  • Die Fig. 7A und 7B sind detailliertere erläuternde Blockdiagramme des Transformationsverarbeitungsblocks 534 des Pixelprozessors 204 (Fig. 5). Bezugnehmend auf Fig. 5A umfaßt der Transformationsverarbeitungsblock 534 eine Mehrzahl von Arbeitsunterblöcken 700, die jeweils ein Register 701 (Fig. 7B) für das Speichern von Daten aus einer vorherigen Stufe und ein Register für das Speichern einer vorher geladenen Konstante aufweisen. Jeder Arbeitsblock 700 umfaßt weiterhin einen Addierer 705 für das Addieren der Inhalte der Register 701 und 703. Ein Funktionsblock 706 ist für das Implementieren einer Vielzahl von Funktionen umfaßt, einschließlich des Auswählens des Minimums seiner Eingaben als seine Ausgabe, des Auswählens des Maximums seiner Eingaben als seine Ausgabe und des Hindurchlassen seiner Eingaben als seine Ausgabe. Zurückkehrend zu Fig. 7A ist die Mehrzahl der Arbeitsblöcke für das Empfangen der Bilddaten in Reihe geschaltet. Der Zeilenpuffer 702 ist ausgebildet, um eine Zeile von Bilddaten für die Verwendung durch den Transformationsverarbeitungsblock 534 zu speichern, wenn dieser eine Abstandstransformation ausführt.
  • Wie der Filterverarbeitungsblock 532 kann der Transformationsverarbeitungsblock 534 für das Ausführen von Operationen an benachbarten Pixeln konfiguriert werden. Genauer gesagt kann der Transformationsverarbeitungsblock 534 konfiguriert werden, um binäre oder graustufenmorphologische Operationen und Abstandstransformationsoperationen zu implementieren.
  • Ein besonderer neuer Aspekt der vorliegenden Erfindung ist die Fähigkeit des Filterverarbeitungsblocks 532 und des Transformationsverarbeitungsblocks 534 des Pixelprozessors 204, mit den Speicherschaltungen 200 und den Adressencontrollern 202 zu kooperieren, um ein im wesentlichen zweidimensionales Verarbeiten der Pixeldaten in einer überlappenden Weise zu ermöglichen. Wie oben diskutiert wurde, ist der Adressencontroller 202 so ausgebildet, daß Daten, die Pixel eines Bilds oder eines Bereichs eines Bilds wiedergeben, von links nach rechts, rechts nach links, unten nach oben oder oben nach unten an die Pixelprozessoren bereitgestellt werden. Um eine zweidimensionale Verarbeitung eines Bilds durchzuführen, wird das Bild in zwei Durchgängen an den Pixelprozessor bereitgestellt, wobei beim ersten Mal das Bild in einer ersten Folge bereitgestellt wird, beispielsweise von links nach rechts und oben nach unten, und beim zweiten Mal das Bild in einer zweiten Folge bereitgestellt wird, beispielsweise von oben nach unten und rechts nach links. In dieser Weise können der Filterverarbeitungsblock 532 und der Transformationsverarbeitungsblock 534 ausgebildet sein, um Ihre beabsichtigten Operationen auf alle Nachbarn, d. h. direkte und nicht direkte Nachbarn in beiden Dimensionen, von Pixeln auszuführen, die in einem zweidimensionalen Bild enthalten sind. Der Fachmann wird schnell feststellen, daß die vorliegende Erfindung durch Erhöhen der Anzahl von Durchgängen durch den Pixelprozessor und durch Rekonfigurieren der Adressencontroller, um einen dreidimensionalen Zugriff auf die Speicherschaltung 200 zu ermöglichen, leicht auf Bilder mit drei oder mehr Dimensionen erweitert werden könnte.
  • In Fig. 8 umfaßt die arithmetische Logikeinheit 542 des Pixelprozessors 204 (Fig. 5) eine arithmetische Einheit 800, die verschaltet ist, um eine A-Eingabe von dem Multiplexer 536 und eine B-Eingabe von dem Multiplexer 540 zu empfangen. Die arithmetische Einheit 800 ist ausgebildet, um arithmetische Standardoperationen bezüglich der Eingabe auszuführen, wie beispielsweise das Hinzuaddieren einer Konstante, das Aufaddieren von zwei Eingaben, das Subtrahieren der zwei Eingaben usw..
  • Die arithmetische Logikeinheit 542 umfaßt auch einen Multiplexer 802, der für das Ausführen logischer Operationen an der A- bzw. B-Eingabe von den Multiplexern 536 und 540 an ein Register 804 angeschlossen ist. Genauer gesagt ist der Multiplexer 802 ausgebildet, um als Reaktion auf Steuerinformationen, die an seinem Eingang empfangen werden, ein Bit aus der Ausgabe aus einem Register 804 als seine Ausgabe auszuwählen. Der Steuereingang des Multiplexers 802 ist an die A- und B-Eingabe an die arithmetische Logikeinheit angeschlossen, d. h. an die Ausgabe von den Multiplexern 536 und 540 (Fig. 5). Entsprechend kann der Multiplexer durch Auswählen des Datenworts, das in dem Register 804 gespeichert ist, verwendet werden, um vorgegebene arithmetische Logikfunktionen als Antwort auf verschiedene Kombinationen von Daten bereitzustellen, die an seinem Steuereingang von den A- und B-Eingaben an die arithmetische Logikeinheit empfangen werden.
  • Ein Multiplexer 806 ist für das Auswählen der Ausgabe der arithmetischen Logikeinheit 542 bereitgestellt. Wie oben erwähnt wurde, sind die Speicherschaltungen 200 jeweils in der Lage, eine mehrere 8 bit Graustufendatenworte zu speichern, oder sie können verwendet werden, um acht binäre Bits zu speichern, die sich auf acht separate binäre Bilder beziehen. Das Trommelschieberegister 808 kann verwendet werden, um ein einzelnes Bit eines binären Bilds für die Speicherung in einer bestimmten Einzelbitspeicherschaltung in der richtigen 8 bit Datenwortposition zu positionieren. Das Trommelschieberegister 808 wird demnach verwendet, um binäre Daten vor der Speicherung in der richtigen Bitposition zu positionieren.
  • Bezugnehmend auf Fig. 9 wird ein detaillierteres erläuterndes Diagramm des Merkmalsprozessors 206 bereitgestellt. Der Merkmalsprozessor 206 umfaßt eine Steuerschaltung 902, die für das Empfangen von Adressen, Steuerbefehle und Daten von der DSP/CPU 212 ausgebildet ist, um bei der Steuerung des Merkmalsverarbeitungsblocks 206 zu unterstützen. Ein Eingabemultiplexer 904 ist ausgebildet, um über den jeweiligen Adressencontroller 202-3 bis 202-6 die Eingabe an den Merkmalsprozessor von den Speicherschaltungen 203 bis 206 zu empfangen. Eine Schiebe- und Schwellwertvergleichsschaltung 906 ist ausgebildet, um Schwellwertvergleichs- und Verschiebeoperationen auszuführen, wie oben in Bezug auf die Pixelprozessoren 204 erläutert wurde. Ein Musterregister 908 ist ausgebildet für das Erzeugen von Daten mit einem vorgegebenen Muster als Testmerkmal für das Testen des Merkmalsspeichers 208, in einer ähnlichen Weise wie diejenige, die oben im Zusammenhang mit dem Grenzenregister 414 und den Speicherschaltungen 200 erläutert wurde. In Bezug auf das Testen des Merkmalsspeichers 208 bestätigt jedoch die DSP/CPU 215 die Richtigkeit des Musters, das aus dem Merkmalsspeicher gelesen wird. Ein ROI-Zähler 910 ist bereitgestellt für das Identifizieren von Interessenbereichen in einer Weise ähnlich den X- und Y-Adressenzählern 402 und 404 des Adressencontrollers 202. Ein Akkumulator 912 kann, wie es im Stand der Technik bekannt ist, für das Ausführen von arithmetischen Standardoperationen vorgesehen sein. Eine Merkmalsspeicherschnittstelle 914 und eine Bildspeicherschnittstelle 916 sind für die Verknüpfung des Merkmalsprozessors mit dem Merkmalsspeicher 208 bzw. den Speicherschaltungen 200-3 bis 200-6 bereitgestellt.
  • Der Fachmann wird voraussetzen, daß der oben beschriebene Merkmalsprozessor durch die DSP/CPU 212 programmiert werden kann, um die folgenden Funktionen, das sind Tabellenaufrufoperationen, Histogramm- und bedingte Histogrammoperationen, Graustufen- und bedingte Akkumulation sowie Laufzeitcodierungsoperationen, ausführen kann.
  • Mit Ausnahme der bedingten Histogrammoperation sind die oben bezeichneten Operationen im Stand der Technik wohl bekannt und müssen hier nicht im Detail beschrieben werden. Die bedingte Histogrammoperation ist aber eine neue Operation für das gleichzeitige Ausführen einer Mehrzahl von Histogrammoperationen. Gemäß der bedingten Histogrammoperation, die von dem oben beschriebenen Merkmalsprozessor ausgeführt wird, wird ein Bild zuerst in bestimmte Bereiche unterteilt. Als Beispiel kann ein Bild durch Objekte unterteilt werden, so daß jedes Objekt und der Hintergrund als ein separater Bereich definiert sind. Danach wird gemäß der bedingten Histogrammoperation der vorliegenden Erfindung ein Histogramm für jeden Bereich erstellt. Entsprechend wird in dem obigen Beispiel ein Histogramm für jedes Objekt und den Hintergrund erstellt.
  • Es wird dem Fachmann klar sein, daß obwohl nur verschiedene derzeit bevorzugte Ausführungsformen der Erfindung hier detailliert beschrieben worden sind, viele Modifikationen und Variationen vorgenommen werden können. Entsprechend ist die Erfindung nicht beschränkt außer durch die beigefügten Patentansprüche.

Claims (12)

1. Vorrichtung zur mehrdimensionalen Verarbeitung von Datenfolgen, mit:
einer Mehrzahl von Speicherschaltungen (200) zum Speichern mindestens einer der Datenfolgen, wobei jede der mehreren Speicherschaltungen (200) einen Speichereingang (217) und einen Speicherausgang (217) umfaßt;
einer Mehrzahl von Verarbeitungsschaltungen (112, 204, 206) für das Verarbeiten der Datenfolgen, wobei jede der mehreren Verarbeitungsschaltungen einen Datenausgang (302) für das Bereitstellen einer Ausgangsdatenfolge umfaßt und jede der mehreren Verarbeitungsschaltungen (204) weiterhin eine erste Multiplexerschaltung (504) für das Empfangen einer Mehrzahl von Eingangsdatenfolgen (300, 302) umfaßt, wobei die erste Multiplexerschaltung (504) auf ein erstes Auswahlsteuersignal (502) zum Auswählen mindestens einer der mehreren Eingangsdatenfolgen (300, 302), die zu verarbeiten sind, um die Ausgangsdatenfolge (302) bereitzustellen, reagiert;
einer Mehrzahl von Adressensteuerschaltungen (202), die jeweils einer der mehreren Speicherschaltungen (200) zum gleichzeitigen Übertragen der Datenfolgen (300) zwischen einer der mehreren Speicherschaltungen (200) und jede der mehreren Verarbeitungsschaltungen (112, 204, 206) zugeordnet sind, wobei jede der mehreren Adressensteuerschaltungen eine zweite Multiplexerschaltung (416, 420) umfaßt, die zum Empfangen der mehreren Ausgangsdatenfolgen (302, 304) vorgesehen ist und auf ein zweites Auswahlsteuersignal (400) zum Auswählen mindestens einer der mehreren Ausgangsdatenfolgen (302, 304), die in ihrer jeweiligen der mehreren Speicherschaltungen (200) zu speichern ist, reagiert; und
zentralen Verarbeitungsmitteln (212, 400, 500), die auf eine vom Benutzer bereitgestellte Eingabe zum Bereitstellen des ersten und zweiten Auswahlsteuersignals reagieren, um das gleichzeitige Übertragen der Datenfolgen zwischen den mehreren Speicherschaltungen (200) und den mehreren Verarbeitungsschaltungen (112, 204, 206) zu steuern.
2. Vorrichtung nach Anspruch 1, wobei jede der mehreren Speicherschaltungen (200) auf eine X- und Y-Adresse (402, 404) zum Speichern und Wiederaufrufen der Datenfolgen (302) reagiert, und wobei jede der mehreren Steuerschaltungen (202) weiterhin aufweist:
erste und zweite Register zum Bereitstellen der X- und Y- Adressen (402, 404) an die mehreren Speicherschaltungen (200), wobei die ersten und zweiten Register auf Registersteuersignale reagieren, die von den den zentralen Verarbeitungsmitteln (212, 400) zum Bereitstellen der X- und Y-Adressen in ansteigender und abfallender Ordnung empfangen werden, wobei die ersten und zweiten Register in Reaktion auf von den zentralen Verarbeitungsmitteln (212, 400) empfangene Programmadressen programmierbar sind, wobei die zentralen Verarbeitungsmittel (212, 400) weiterhin ausgebildet sind, um die Registersteuersignale bereitzustellen, so daß die ersten und zweiten Register die X- und Y-Adressen (402, 404) aufeinander abfolgend bereitstellen und so daß die ersten und zweiten Register die X- und Y-Adressen (402, 404) in solch einer Weise bereitstellen, daß die X- und Y- Adressen (402, 404) um einen kostanten Betrag ansteigen und abfallen.
3. Vorrichtung nach Anspruch 1, wobei die mehreren Verarbeitungsschaltungen (112) eine Merkmalsverarbeitungsschaltung (206) umfassen, wobei die Vorrichtung weiterhin aufweist:
eine Merkmalsspeicherschaltung (208), die zum Empfangen und Speichern von Daten von der Merkmalsverarbeitungsschaltung (206) ausgebildet ist, wobei die Merkmalsspeicherschaltung (208) weiterhin ausgebildet ist, um eine Ausgabe an die Merkmalsverarbeitungsschaltung (206) und die zentralen Verarbeitungsmittel (212) bereitzustellen.
4. Vorrichtung nach Anspruch 1, wobei jede der mehreren Adressensteuerschaltungen (202) aufweist:
Randregistermittel (414) zum Bereitstellen von Randdaten, die zu den Datenfolgen (300) hinzuzufügen sind, wobei die Randregistermittel durch die zentralen Verarbeitungsmittel (212, 400) programmierbar sind, so daß eine vorgegebene Menge der Randdaten vor und hinter den Datenfolgen (300) oder einem Teil davon selektiv hinzugefügt wird.
5. Vorrichtung nach Anspruch 4, wobei jede der mehreren Adressensteuerschaltungen (202) weiterhin Multiplexermittel (408) aufweist, die ausgebildet sind, die Datenfolgen (300, 406) und die Randdaten (414) zu empfangen, wobei die Multiplexermittel (408) zum Bereitstellen entweder der Randdaten (414) oder der Datenfolgen (406) an ihrem Ausgang (300) auf Steuersignale (410, 412) reagieren.
6. Vorrichtung nach Anspruch 1, die weiterhin Auswahlregistermittel (410) zum Auswählen eines Bereichs der auf die mehreren Verarbeitungsschaltungen zu übertragenden Datenfolgen (300, 406) aufweist, wobei die Auswahlregistermittel zum Überspringen eines Anfangsbereichs der Datenfolgen, zum Bereitstellen eines vorbestimmten Teils der Datenfolgen und zum Überspringen eines nachfolgenden Teils der Datenfolgen auf von den zentralen Verarbeitungsmitteln (212, 400) empfangene Interessenbereichssignale reagieren.
7. Vorrichtung nach Anspruch 1, wobei jede der mehreren Verarbeitungsschaltungen (112) aufweist:
erste und zweite Datenwege (A, B), die jeder programmierbar sind, um eine Schiebeoperation (506-A, 506-B) auszuführen, um jegliche Ziffer eines Mehrbitdatenwords auf eine vorbestimmte Bitposition zu übertragen, und die weiterhin programmierbar sind, um eine Schwellwertoperation an einem Mehrbitdatenword auszuführen:
erste (512-A, 518-A) und zweite (512-B, 518-B) Datenverarbeitungsblockmittel, die programmierbar sind, um Datenverarbeitung an der Eingangsdatenfolge auszuführen; und
Ausgangsmultiplexermittel (520-526), die zum Empfangen der Ausgaben (514-A, 514-B) von den ersten und zweiten Datenverarbeitungsblöcken vorgesehen und programmierbar sind, um die ersten und zweiten Ausgaben selektiv mehreren Verarbeitungsschaltungen (528-534) bereitzustellen.
8. Vorrichtung zur mehrdimensionalen Verarbeitung von Datenfolgen, wobei jede Datenfolge eine Mehrzahl von Datenworten umfaßt, wobei die Vorrichtung aufweist:
eine Mehrzahl von Speichermitteln (200) zum Speichern der Datenfolgen, wobei die Speichermittel einen Ausgang (300) aufweisen, der auf Speichersteuersignale (400) reagiert, wobei der Ausgang die Datenfolgen in mindestens einer ersten und einer zweiten Reihenfolge bereitstellt;
eine Mehrzahl von Verarbeitungsmitteln (204), die zum Verarbeiten der Datenfolgen, die von dem Ausgang (300) bereitgestellt werden, auf Konfigurationssteuersignale (502) reagieren, um den Wert mindestens eines Teils der Datenworte in der Datenfolge als Reaktion auf den Wert von unmittelbar und nichtunmittelbar benachbarten Datenworten zu ändern; und
zentrale Verarbeitungsmittel (212, 400, 500) zum Bereitstellen der Speichersteuersignale (400) und der Konfigurationssteuersignale (502), um die Operation der mehreren Speichermittel (200) und der mehreren Verarbeitungsmittel (204) zu steuern, wobei die zentralen Verarbeitungsmittel ausgebildet sind, um die Speichersteuersignale ein erstes Mal bereitzustellen, um auf die Datenfolgen in der ersten Reihenfolge zuzugreifen, so daß der Wert mindestens eines Teils der Datenworte in der Datenfolge als Reaktion auf unmittelbar und nicht-unmittelbar benachbarte Datenworten in einer ersten Dimension geändert wird, und um die Speichersteuersignale ein zweites Mal bereitzustellen, um auf die Datenfolgen in der zweiten Reihenfolge zuzugreifen, so daß der Wert mindestens eines Teils der Datenworte in der Datenfolge als Reaktion auf unmittelbar und nicht-unmittelbar benachbarte Datenworten in einer zweiten Dimension geändert wird.
9. Vorrichtung nach Anspruch 8, wobei jedes der mehreren Verarbeitungsmittel Mittel (532) zum binominalen Filtern der Datenfolgen aufweist.
10. Vorrichtung nach Anspruch 8, wobei jedes der mehreren Verarbeitungsmittel Mittel (532, 534, 600) zum Ausführen morphologischer Operationen an den Datenfolgen aufweist.
11. Vorrichtung nach Anspruch 8, wobei jedes der mehreren Speichermittel (200) aufweist:
eine Speichereinheit zum Speichern der Datenworte der Datenfolgen, wobei die Speichereinheit zum Bereitstellen der gespeicherten Datenworte als Ausgabe (300) der Speichermittel (200) auf Adressensignale reagiert; und
eine Speichersteuerung (202), die zum Bereitstellen der Adressensignale zum Zugreifen auf die Speichereinheit auf die Speichersteuersignale (400) reagiert, wobei die Speichersteuerung ausgebildet ist, um die Adressensignale so bereitzustellen, daß die Datenfolgen in der mindestens ersten und zweiten Reihenfolge bereitgestellt werden.
12. Verfahren zum mehrdimensionalen Verarbeiten von Datenfolgen, wobei jede Datenfolge eine Mehrzahl von Datenworten umfaßt, wobei das Verfahren die Schritte aufweist:
des Bereitstellens mindestens einer Datenfolge in einer ersten Reihenfolge an mindestens eine einer Mehrzahl von Verarbeitungsmaschinen, wobei jede Verarbeitungsmaschine ausgebildet ist, um die Daten zu verarbeiten, um den Wert eines betroffenen Datenworts basierend auf dem Wert von unmittelbar und nichtunmittelbar benachbarten Datenworten zu ändern; und nachfolgend des Bereitstellens der mindestens einen Datenfolge in einer zweiten Reihenfolge an die mindestens eine Verarbeitungsmaschine, so daß die Verarbeitungsmaschine die Daten verarbeitet, um den Wert eines betroffenen Datenworts basierend auf dem Wert von unmittelbar und nicht-unmittelbar benachbarten Datenworten zu ändern, und so daß als Resultat die Daten in zwei Dimensionen verarbeitet werden.
DE69329144T 1992-02-18 1993-02-18 Verfahren und gerät zur verarbeitung von datenfolgen Expired - Fee Related DE69329144T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US07/838,070 US5315700A (en) 1992-02-18 1992-02-18 Method and apparatus for rapidly processing data sequences
PCT/US1993/001882 WO1993016438A1 (en) 1992-02-18 1993-02-18 Method and apparatus for rapidly processing data sequences

Publications (2)

Publication Number Publication Date
DE69329144D1 DE69329144D1 (de) 2000-09-07
DE69329144T2 true DE69329144T2 (de) 2001-06-07

Family

ID=25276178

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69329144T Expired - Fee Related DE69329144T2 (de) 1992-02-18 1993-02-18 Verfahren und gerät zur verarbeitung von datenfolgen

Country Status (8)

Country Link
US (1) US5315700A (de)
EP (1) EP0628187B1 (de)
JP (1) JP3068189B2 (de)
AU (1) AU662970B2 (de)
CA (1) CA2130336C (de)
DE (1) DE69329144T2 (de)
ES (1) ES2150939T3 (de)
WO (1) WO1993016438A1 (de)

Families Citing this family (67)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5912699A (en) * 1992-02-18 1999-06-15 Neopath, Inc. Method and apparatus for rapid capture of focused microscopic images
US5640543A (en) * 1992-06-19 1997-06-17 Intel Corporation Scalable multimedia platform architecture
US5506693A (en) * 1992-09-30 1996-04-09 Harris Corporation Addressing mechanism for interfacing spatially defined imagery data with sequential memory
JPH06276520A (ja) * 1993-03-22 1994-09-30 Sony Corp 画像処理装置
DE69430982T2 (de) * 1993-12-09 2003-03-13 Sun Microsystems, Inc. Verschachtelung von Bildelementdaten für eine Darstellungspeicherschnittstelle
US5434629A (en) * 1993-12-20 1995-07-18 Focus Automation Systems Inc. Real-time line scan processor
DE69523677T2 (de) * 1994-02-04 2002-08-01 Koninklijke Philips Electronics N.V., Eindhoven Sortierung von sequentiellen daten vor der selektiven zugriffverteilung über parallelen prozessoren
US5555244A (en) * 1994-05-19 1996-09-10 Integrated Network Corporation Scalable multimedia network
US5619624A (en) * 1994-05-20 1997-04-08 Management Graphics, Inc. Apparatus for selecting a rasterizer processing order for a plurality of graphic image files
US5715326A (en) * 1994-09-08 1998-02-03 Neopath, Inc. Cytological system illumination integrity checking apparatus and method
US5499097A (en) * 1994-09-19 1996-03-12 Neopath, Inc. Method and apparatus for checking automated optical system performance repeatability
US5557097A (en) * 1994-09-20 1996-09-17 Neopath, Inc. Cytological system autofocus integrity checking apparatus
US5638459A (en) * 1994-09-20 1997-06-10 Neopath, Inc. Method and apparatus for detecting a microscope slide coverslip
US5978497A (en) * 1994-09-20 1999-11-02 Neopath, Inc. Apparatus for the identification of free-lying cells
AU3544995A (en) * 1994-09-20 1996-04-09 Neopath, Inc. Apparatus for identification and integration of multiple cell patterns
US5647025A (en) * 1994-09-20 1997-07-08 Neopath, Inc. Automatic focusing of biomedical specimens apparatus
US5627908A (en) * 1994-09-20 1997-05-06 Neopath, Inc. Method for cytological system dynamic normalization
AU3371395A (en) * 1994-09-20 1996-04-19 Neopath, Inc. Biological specimen analysis system processing integrity checking apparatus
US5740269A (en) * 1994-09-20 1998-04-14 Neopath, Inc. Method and apparatus for robust biological specimen classification
WO1996009604A1 (en) * 1994-09-20 1996-03-28 Neopath, Inc. Apparatus for automated identification of cell groupings on a biological specimen
US5757954A (en) * 1994-09-20 1998-05-26 Neopath, Inc. Field prioritization apparatus and method
WO1996009594A1 (en) * 1994-09-20 1996-03-28 Neopath, Inc. Apparatus for automated identification of thick cell groupings on a biological specimen
US5715327A (en) * 1994-09-20 1998-02-03 Neopath, Inc. Method and apparatus for detection of unsuitable conditions for automated cytology scoring
US5566249A (en) * 1994-09-20 1996-10-15 Neopath, Inc. Apparatus for detecting bubbles in coverslip adhesive
CA2200457C (en) * 1994-09-20 2001-08-14 Shih-Jong J. Lee Biological analysis system self-calibration apparatus
WO1996009542A1 (en) * 1994-09-20 1996-03-28 Neopath, Inc. Apparatus for illumination stabilization and homogenization
WO1996009598A1 (en) * 1994-09-20 1996-03-28 Neopath, Inc. Cytological slide scoring apparatus
US5581631A (en) * 1994-09-20 1996-12-03 Neopath, Inc. Cytological system image collection integrity checking apparatus
US5692066A (en) * 1994-09-20 1997-11-25 Neopath, Inc. Method and apparatus for image plane modulation pattern recognition
WO1996010801A1 (en) * 1994-09-30 1996-04-11 Neopath, Inc. Method and apparatus for highly efficient computer aided screening
US5907850A (en) * 1994-12-23 1999-05-25 Gary Matthew Krause Method and system for manipulating construction blueprint documents with hypermedia hotspot reference links from a first construction document to a related secondary construction document
US5625706A (en) * 1995-05-31 1997-04-29 Neopath, Inc. Method and apparatus for continously monitoring and forecasting slide and specimen preparation for a biological specimen population
US5619428A (en) * 1995-05-31 1997-04-08 Neopath, Inc. Method and apparatus for integrating an automated system to a laboratory
US5671288A (en) * 1995-05-31 1997-09-23 Neopath, Inc. Method and apparatus for assessing slide and specimen preparation quality
US5787208A (en) * 1995-06-07 1998-07-28 Neopath, Inc. Image enhancement method and apparatus
US6252979B1 (en) 1995-06-07 2001-06-26 Tripath Imaging, Inc. Interactive method and apparatus for sorting biological specimens
US5745601A (en) * 1995-07-31 1998-04-28 Neopath, Inc. Robustness of classification measurement apparatus and method
US5621519A (en) * 1995-07-31 1997-04-15 Neopath, Inc. Imaging system transfer function control method and apparatus
US5642433A (en) * 1995-07-31 1997-06-24 Neopath, Inc. Method and apparatus for image contrast quality evaluation
TW439380B (en) 1995-10-09 2001-06-07 Hitachi Ltd Terminal apparatus
JP3203180B2 (ja) * 1996-03-27 2001-08-27 三菱電機株式会社 幾何学演算装置
US5991465A (en) * 1996-08-29 1999-11-23 Apple Computer, Inc. Modular digital image processing via an image processing chain with modifiable parameter controls
US6028611A (en) * 1996-08-29 2000-02-22 Apple Computer, Inc. Modular digital image processing via an image processing chain
IT1286838B1 (it) * 1996-09-25 1998-07-17 Consiglio Nazionale Ricerche Metodo per la raccolta di immagini in microscopia confocale
US5937103A (en) * 1997-01-25 1999-08-10 Neopath, Inc. Method and apparatus for alias free measurement of optical transfer function
US6122397A (en) * 1997-07-03 2000-09-19 Tri Path Imaging, Inc. Method and apparatus for maskless semiconductor and liquid crystal display inspection
US6148099A (en) * 1997-07-03 2000-11-14 Neopath, Inc. Method and apparatus for incremental concurrent learning in automatic semiconductor wafer and liquid crystal display defect classification
US6130967A (en) * 1997-07-03 2000-10-10 Tri Path Imaging, Inc. Method and apparatus for a reduced instruction set architecture for multidimensional image processing
WO1999001985A1 (en) * 1997-07-03 1999-01-14 Neopath, Inc. Method and apparatus for semiconductor wafer and lcd inspection using multidimensional image decomposition and synthesis
US5959726A (en) * 1997-07-25 1999-09-28 Neopath, Inc. Modulation transfer function test compensation for test pattern duty cycle
US6198839B1 (en) 1997-09-05 2001-03-06 Tripath Imaging, Inc. Dynamic control and decision making method and apparatus
US6181811B1 (en) 1998-01-13 2001-01-30 Neopath, Inc. Method and apparatus for optimizing biological and cytological specimen screening and diagnosis
US6547730B1 (en) * 1998-12-31 2003-04-15 U-Systems, Inc. Ultrasound information processing system
JP4665268B2 (ja) * 1999-08-16 2011-04-06 ソニー株式会社 画像処理装置
US7369304B2 (en) * 1999-10-29 2008-05-06 Cytyc Corporation Cytological autofocusing imaging systems and methods
US6271634B1 (en) * 2000-02-29 2001-08-07 Diversitronics, Inc. Strobe lighting control system
KR100794098B1 (ko) * 2000-04-21 2008-01-10 마츠시타 덴끼 산교 가부시키가이샤 화소연산장치
JP4078507B2 (ja) * 2000-11-27 2008-04-23 オムロン株式会社 ビジュアル検査装置の設定データ調整方法
US6463175B1 (en) 2000-12-15 2002-10-08 Shih-Jong J. Lee Structure-guided image processing and image feature enhancement
US6507675B1 (en) 2001-03-23 2003-01-14 Shih-Jong J. Lee Structure-guided automatic learning for image feature enhancement
US20030007703A1 (en) * 2001-07-03 2003-01-09 Roylance Eugene A. Configurable image processing logic for use in image processing devices
US7215808B2 (en) * 2004-05-04 2007-05-08 Kla-Tencor Technologies Corporation High throughout image for processing inspection images
US8045381B2 (en) * 2005-05-09 2011-10-25 Stmicroelectronics Sa Device for protecting a memory against attacks by error injection
US7627153B2 (en) * 2005-08-04 2009-12-01 Carl Zeiss Microimaging Gmbh Repositioning inaccuracies in an automated imaging system
US8245162B2 (en) * 2007-09-14 2012-08-14 Abrams Daniel S Write-pattern determination for maskless lithography
US9552206B2 (en) * 2010-11-18 2017-01-24 Texas Instruments Incorporated Integrated circuit with control node circuitry and processing circuitry
US8653454B2 (en) 2011-07-13 2014-02-18 Luminescent Technologies, Inc. Electron-beam image reconstruction

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4300192A (en) * 1974-04-18 1981-11-10 Honeywell Information Systems Inc. Method and means for storing and accessing information in a shared access multiprogrammed data processing system
US4136500A (en) * 1978-03-30 1979-01-30 Difiore Dante Basement waterproofing system
DE3177295D1 (de) * 1980-04-11 1993-02-04 Ampex Vordezimierungsfilter fuer bildveraenderungssystem.
US4363104A (en) * 1980-09-22 1982-12-07 Hughes Aircraft Company Imaging system having multiple image copying and hierarchical busing
AU554337B2 (en) * 1981-03-11 1986-08-14 Metalogic Control Ltd. Adaptive control of a dynamic system
JPS58139241A (ja) * 1982-02-10 1983-08-18 Toshiba Corp 画像メモリアクセス方式
US4484349A (en) * 1982-03-11 1984-11-20 Environmental Research Institute Of Michigan Parallel pipeline image processor
DE3587458T2 (de) * 1984-04-10 1994-03-24 Ascii Corp Videoanzeigesteuersystem.
FR2566950B1 (fr) * 1984-06-29 1986-12-26 Texas Instruments France Processeur de points d'images video, systeme de visualisation en comportant application et procede pour sa mise en oeuvre
AU598101B2 (en) * 1987-02-27 1990-06-14 Honeywell Bull Inc. Shared memory controller arrangement
US4949280A (en) * 1988-05-10 1990-08-14 Battelle Memorial Institute Parallel processor-based raster graphics system architecture
US5016191A (en) * 1988-09-02 1991-05-14 Tektronix, Inc. Half toning pixel processor
US5048109A (en) * 1989-12-08 1991-09-10 Xerox Corporation Detection of highlighted regions
DE4037671A1 (de) * 1990-11-27 1992-06-04 Sundwiger Eisen Maschinen Positioniervorrichtung fuer auf eine haspeltrommel aufzusteckende bunde, insbesondere aus metallband

Also Published As

Publication number Publication date
AU662970B2 (en) 1995-09-21
US5315700A (en) 1994-05-24
ES2150939T3 (es) 2000-12-16
EP0628187A4 (de) 1995-03-22
AU3737593A (en) 1993-09-03
EP0628187A1 (de) 1994-12-14
EP0628187B1 (de) 2000-08-02
JP3068189B2 (ja) 2000-07-24
CA2130336C (en) 1999-03-30
WO1993016438A1 (en) 1993-08-19
DE69329144D1 (de) 2000-09-07
CA2130336A1 (en) 1993-08-19
JPH07505003A (ja) 1995-06-01

Similar Documents

Publication Publication Date Title
DE69329144T2 (de) Verfahren und gerät zur verarbeitung von datenfolgen
DE3885409T2 (de) System zur überwachung und analyse eines kontinuierlichen prozesses.
DE69322498T2 (de) Verfahren zur identifizierung von normalen biomedizinischen proben
DE60218380T2 (de) Mustererkennungsgerät zur Ermittlung eines festgelegten Musters in einem Eingangssignal
DE3111027C2 (de)
DE60109858T2 (de) System zur Ungleichheitsmessung von stereoskopischen Bildern
DE2703158C3 (de) Einrichtung zum Erfassen der Position eines Musters oder Zeichens
DE69811049T2 (de) Elektronisches bildverarbeitungsgerät zur detektion von dimensionnellen änderungen
DE3750189T2 (de) System zur automatischen Inspektion periodischer Muster.
DE3689926T2 (de) Einrichtung zur sequenziellen Bildtransformation.
DE112011101695T5 (de) System und Verfahren zur Verarbeitung von Bilddaten in Bezug zu einer Konzentration innerhalb des gesamten Bildes
DE69729368T2 (de) Bildprozessor, Gerät und Verfahren zur Bildverarbeitung
DE3632639C2 (de) Einrichtung zum Hochgeschwindigkeitsverarbeiten von Bilddaten durch Faltung
EP1209622A2 (de) Verfahren und Vorrichtung zur Registrierung von Bildern
DE112020006938T5 (de) Kamera-mehrzeilen-zeitteilungs-belichtungsverarbeitungsverfahren und -system
DE3851264T2 (de) Bildverarbeitungsverfahren.
DE2901683A1 (de) Einrichtung zum pruefen von abstaenden zwischen objekten in einem zweidimensionalen quantisierten bild
DE69901030T2 (de) Bildverarbeitungs-inspektionsgerät
DE2461651C3 (de) Zählvorrichtung zum Zählen von Mustern
DE3622222A1 (de) Zeichenerkennung in zweidimensionalen signalen
DE69629265T2 (de) Bildskalierungsverfahren und -gerät
DE10142457A1 (de) Digitale Bildmessung retroreflektierender Marken
DE68926832T2 (de) Bildverarbeitungsverfahren
DE68910625T2 (de) Verfahren zum Erkennen eines Musters in einem Feld mit einer Mehrwertamplitude, Anordnung zum Durchführen eines derartigen Verfahrens.
DE3436276C2 (de)

Legal Events

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