DE69329144T2 - Verfahren und gerät zur verarbeitung von datenfolgen - Google Patents
Verfahren und gerät zur verarbeitung von datenfolgenInfo
- 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
Links
- 238000012545 processing Methods 0.000 title claims description 135
- 238000000034 method Methods 0.000 title claims description 23
- 238000012546 transfer Methods 0.000 claims description 15
- 230000008569 process Effects 0.000 claims description 13
- 238000001914 filtration Methods 0.000 claims description 6
- 230000000877 morphologic effect Effects 0.000 claims description 6
- 230000004044 response Effects 0.000 claims description 6
- 230000001174 ascending effect Effects 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 14
- 230000006870 function Effects 0.000 description 11
- 230000003287 optical effect Effects 0.000 description 9
- 238000012360 testing method Methods 0.000 description 9
- 238000010191 image analysis Methods 0.000 description 7
- 230000009466 transformation Effects 0.000 description 5
- 238000004458 analytical method Methods 0.000 description 3
- 238000003384 imaging method Methods 0.000 description 3
- 238000005259 measurement Methods 0.000 description 3
- 239000000523 sample Substances 0.000 description 3
- 238000009825 accumulation Methods 0.000 description 2
- 230000000873 masking effect Effects 0.000 description 2
- 238000009595 pap smear Methods 0.000 description 2
- 238000000844 transformation Methods 0.000 description 2
- 230000017105 transposition Effects 0.000 description 2
- 238000005481 NMR spectroscopy Methods 0.000 description 1
- 239000012472 biological sample Substances 0.000 description 1
- 210000000601 blood cell Anatomy 0.000 description 1
- 238000004820 blood count Methods 0.000 description 1
- 210000002798 bone marrow cell Anatomy 0.000 description 1
- 210000004958 brain cell Anatomy 0.000 description 1
- 210000004027 cell Anatomy 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 210000004072 lung Anatomy 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 230000001131 transforming effect Effects 0.000 description 1
- 238000012285 ultrasound imaging Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
- 210000001835 viscera Anatomy 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/60—Memory 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
- 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.
- 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.
- 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.
- 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.
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)
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)
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 |
-
1992
- 1992-02-18 US US07/838,070 patent/US5315700A/en not_active Expired - Fee Related
-
1993
- 1993-02-18 ES ES93906284T patent/ES2150939T3/es not_active Expired - Lifetime
- 1993-02-18 WO PCT/US1993/001882 patent/WO1993016438A1/en active IP Right Grant
- 1993-02-18 EP EP93906284A patent/EP0628187B1/de not_active Expired - Lifetime
- 1993-02-18 DE DE69329144T patent/DE69329144T2/de not_active Expired - Fee Related
- 1993-02-18 CA CA002130336A patent/CA2130336C/en not_active Expired - Fee Related
- 1993-02-18 JP JP5514367A patent/JP3068189B2/ja not_active Expired - Lifetime
- 1993-02-18 AU AU37375/93A patent/AU662970B2/en not_active Ceased
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 |