DE69906186T2 - Vorrichtung zur Bearbeitung von erfassten Daten, insbesondere Bilddaten - Google Patents

Vorrichtung zur Bearbeitung von erfassten Daten, insbesondere Bilddaten

Info

Publication number
DE69906186T2
DE69906186T2 DE69906186T DE69906186T DE69906186T2 DE 69906186 T2 DE69906186 T2 DE 69906186T2 DE 69906186 T DE69906186 T DE 69906186T DE 69906186 T DE69906186 T DE 69906186T DE 69906186 T2 DE69906186 T2 DE 69906186T2
Authority
DE
Germany
Prior art keywords
bit
environment
current
instructions
image
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
DE69906186T
Other languages
English (en)
Other versions
DE69906186D1 (de
Inventor
Gregoire Malandain
Luc Robert
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.)
Institut National de Recherche en Informatique et en Automatique INRIA
Original Assignee
Institut National de Recherche en Informatique et en Automatique INRIA
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 Institut National de Recherche en Informatique et en Automatique INRIA filed Critical Institut National de Recherche en Informatique et en Automatique INRIA
Publication of DE69906186D1 publication Critical patent/DE69906186D1/de
Application granted granted Critical
Publication of DE69906186T2 publication Critical patent/DE69906186T2/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
    • G06T5/00Image enhancement or restoration
    • G06T5/20Image enhancement or restoration using local operators

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Image Processing (AREA)

Description

  • Die Erfindung betrifft das Gebiet der Verarbeitungen von erfassten Daten. Diese Daten betreffen physische Darstellungen wie etwa zwei- oder dreidimensionale Bilder, bei denen es möglich ist, eine Nachbarschafts- bzw. Umgebungsbeziehung zwischen den Elementen zu definieren, die sie bilden.
  • Derartige Erfassungsdaten präsentieren sich in Form einer Sequenz von Elementen, die wenigstens ein Bit pro Segment umfassen. Im Falle eines zweidimensionalen Bildes besitzt jedes Bildelement (oder Pixel) eigene Attribute, zum Beispiel Farben oder Graupegel, codiert auf einer bestimmten Anzahl von Bits. Wie leicht zu verstehen ist, kann ein Strich eines zweidimensionalen Schwarz-Weiß-Bildes ein Attribut "schwarz" umfassen, während die Hintergrund-Pixel ein Attribut "weiß" umfassen. Diese Attribute werden dann auf einem Bit "0" oder "1" codiert, zum Beispiel "0" für "weiß" und "1" für "schwarz". Was die Position des Pixels betrifft, so kann es entsprechend der Spalte und Zeile codiert werden, zu denen es gehört. Diese beiden Größen werden generell aufgezeichnet in einem Speicher, um Bildinformationen entnehmen zu können (charakteristische Punktegruppen) oder auch in der Folge Bildmodifikationen erzeugen zu können, zum Beispiel eine Erosion, eine Dilatation und/oder eine Verdünnung von Strichen (und/oder Flächen im Falle eines dreidimensionalen Bildes).
  • Diese verschiedenen Bearbeitungen bestehen im Allgemeinen darin, mit einem laufenden Element ein "Resultat-Wort" zu verbinden, das eine Funktion eines Vergleichs der Bits in Bezug auf Umgebungselemente in der Sequenz dieses laufenden Elements ist. In der Praxis erfolgt dieser Vergleich aufgrund einer Folge von Tests bei den Bits der Elemente, die eine gewählte Umgebung des laufenden Elements definieren.
  • Die klassischen Vorrichtungen, die solche Verarbeitungen durchführen, wenden zwei generell unterschiedliche Techniken an. Eine erste Technik besteht darin, systematisch die gewählte Verarbeitungsoperation zu reproduzieren. Es wird dann häufig der Wert des Bits von einem der Nachbarn des laufenden Elements im Laufe der Verarbeitung mehrmals geprüft wird. Eine zweite Technik schlägt vor, dieses Problem zu lösen, indem man am Ende jedes Tests eines Umgebungselements zwei Tests eines anderen Umgebungselements vorsieht. Der eine wie der andere dieser Tests entsprechen jeweils den Bitwerten "0" und "1" des vorhergehend geprüften Elements. Die Anzahl der durchzuführenden Tests entspricht im Wesentlichen der Anzahl der in der Umgebung in Betracht zu ziehenden Elemente. Jedoch wächst die Anzahl der vorzusehenden Tests gemäß 2n in Abhängigkeit von der Anzahl n von Elementen.
  • Die Tests dieses Typs erfolgen oft mit Hilfe von Informatik- bzw. Datenverarbeitungsprogrammen. Die Programme, die die erste Technik anwenden, umfassen eine reduzierte Anzahl von Instruktionen, erfordern aber besonders lange Ausführungszeiten. Hingegen haben die Programme, die die zweite Technik anwenden, zufriedenstellende Ausführungszeiten, umfassen aber durchschnittlich eine Instruktion pro Test und können extrem lange Ausführungszeiten erreichen, was zu hohen Verarbeitungskosten tendiert.
  • Die vorliegende Erfindung verbessert die Situation.
  • Sie geht von einer Erfassungsdaten-Verarbeitungsvorrichtung aus, die umfasst:
  • a) eine erste Speicherzone zum Speichern einer Erfassungsdatensequenz in der Form von Sequenzelementen, von denen jedes wenigstens ein Bit hat,
  • b) eine zweite Speicherzone mit einem Zugriffsmodul auf die erste Speicherzone, die adressierbar ist, um auf die Umgebung eines bezeichneten laufenden Elements zuzugreifen,
  • c) eine dritte Speicherzone zum Speichern eines Rechenmoduls, fähig als Eingang eine Bezeichnung wenigstens eines laufenden Elements zu empfangen, um als Ausgang ein Resultat-Wort zu liefern, repräsentativ für die Anwendung einer gewählten Verarbeitungsfunktion, in der genannten Umgebung dieses laufenden Elements, wobei dieser Modul einen Satz Instruktionen umfasst, mit Testinstruktionen, jede ein Bit betreffend, und aufgrund einer Eingangsinstruktion Wege bildet, wo die Testinstruktionen sich abwechseln bzw. sich ablösen, um in Endinstruktionen zu münden, die Bit für Bit das Resultat-Wort definieren,
  • d) Steuereinrichtungen, um diesen Modul repetitiv mit einem Arbeitsspeicher kooperieren zu lassen, auf der Basis von sukzessiven laufenden Elementen, um eine Vielzahl von Resultat- Wörtern zu erhalten, die durch die genannte Verarbeitungsfunktion wenigstens eine partielle Transformierte der Sequenz repräsentieren.
  • Erfindungsgemäß ist der Rechenmodul mit einem Satz Instruktionen ausgestattet, optimiert durch eine der genannten Funktion zugeordnete binäre Entscheidungsbaum-Reduktionstechnik, um gemeinsam die Gesamtzahl der kumulierten Testinstruktionen bezüglich der Gesamtheit der durch den Testinstruktionen-Satz definierten Wege und die Gesamtzahl der Instruktionen dieses Satzes zu minimieren, was ermöglicht, durch einen besseren Kompromiss zwischen dem Speicherplatzbedarf des Instruktionen- Satzes und seiner Ausführungsgeschwindigkeit die Verarbeitungsgeschwindigkeit zu erhöhen.
  • Nach einer bevorzugten Ausführungsart der vorliegenden Erfindung umfasst jede Testinstruktion eine bedingte Verzweigung zu einer anderen Testinstruktion oder einer Endinstruktion, abhängig von dem getesteten Bit, und der Modul umfasst in der Speicherzone höchstens zwei Endinstruktionen. Vorteilhafterweise greift der Testinstruktionensatz im Laufe der Ausführung höchstens ein Mal auf ein Bit eines Umgebungselements zu, während die Testinstruktionen sich im Laufe der Ausführung abwechseln bzw. ablösen, bis zu einer der beiden Endinstruktionen, eingerichtet um eine Resultat-Variable zu bezeichnen, die repräsentativ ist für ein Bit des Resultat-Worts.
  • Nach einer weiteren vorteilhaften Charakteristik der Erfindung umfasst der Testinstruktionensatz Testinstruktionen mit Umkehrverzweigungen, während jedes Bit des Resultat-Worts in Übereinstimmung mit der zugeordneten Resultat-Variablen und einer Parität der Anzahl der Umkehrverzweigungen definiert wird, die im Laufe der Ausführung benutzt werden.
  • Weitere Merkmale und Vorteile der Erfindung gehen besser aus der nachfolgenden beispielhaften Beschreibung hervor, bezogen auf die beigefügten Figuren:
  • - die Fig. 1 stellt schematisch eine Sequenzverarbeitungsvorrichtung dar, wobei insbesondere die Wechselwirkungen zwischen den verschiedenen Systemen gezeigt werden, die sie in dem beschriebenen Beispiel umfasst,
  • - die Fig. 2a stellt beispielartig die rohe Verzweigung einer einfachen, der booleschen "oder"-Funktion entsprechenden Funktion dar, die zwei logische Variablen x&sub1; und x&sub2; mit ihrer Summe x&sub1; + x&sub2; verbindet,
  • - die Fig. 2b stellt ein der Summenfunktion zugeordnetes beliebiges binäres Entscheidungsdiagramm dar,
  • - die Fig. 2c stellt das mit dieser Funktion verbundene reduzierte und ordinierte binäre Entscheidungsdiagramm dar,
  • - die Fig. 3 zeigt die einem laufenden Element in einem zweidimensionalen Bild zugeordnete Umgebung in dem beschriebenen Beispiel,
  • - die Fig. 4a und 4b zeigen die jeweiligen Wirkungen einer Erosion und einer Dilatation eines zweidimensionalen Bildes,
  • - die Fig. 5a und 5b zeigen die reduzierten und ordinierten binären Entscheidungsdiagramme, jeweils einer Erosion und einer Dilatation eines zweidimensionalen Bildes zugeordnet,
  • - die Fig. 6a zeigt eine mit drei aneinandergrenzenden laufenden Elementen verbundene Umgebung eines zweidimensionalen Bildes zur Verarbeitung einer Vielzahl von laufenden Elementen zugleich durch eine Erosion und/oder eine Dilatation eines zweidimensionalen Bildes in dem Beispiel, wobei diese drei laufenden Elemente mit V4, V7 und V10 bezeichnet sind,
  • - die Fig. 6b zeigt die Nummerierungen der drei Elemente, jedem von denen die gewählte Verarbeitung ein Bit-Resultat zuteilt, wobei die Gesamtheit der Bit-Resultate ein Wort-Resultat bildet,
  • - die Fig. 7 zeigt das einer Dilatation eines zweidimensionalen Bildes zugeordnete reduzierte und ordinierte binäre Entscheidungsdiagramm mit Umkehrverzweigung bei einer Umgebung von drei aneinandergrenzenden laufenden Elementen, eingeschlossen in diese Umgebung,
  • - die Fig. 8 zeigt das einer Erosion eines zweidimensionalen Bildes zugeordnete reduzierte und ordinierte binäre Entscheidungsdiagramm mit Umkehrverzweigung bei einer Umgebung von drei aneinandergrenzenden laufenden Elementen, eingeschlossen in diese Umgebung,
  • - die Fig. 9a, 9b und 9c zeigen Beispiele von Umgebungen, bei denen das zentrale und durch ein Kreuz bezeichnete laufende Element als ein einfacher Punkt eines zweidimensionalen Bildes betrachtet wird, entsprechend einem in dem beschriebenen Beispiel gewählten Konnexitätskriterium, wobei dieses laufende Element nicht Teil der betrachteten Umgebung ist,
  • - die Fig. 9d, 9e und 9f zeigen Beispiele von Umgebungen, bei denen das zentrale Element kein einfacher Punkt nach demselben Konnexitätskriterium ist,
  • - die Fig. 10 zeigt das der Detektion von einfachen Punkten eines zweidimensionalen Bildes zugeordnete, reduzierte und ordinierte binäre Entscheidungsdiagramm mit Umkehrverzweigungen, und
  • - die Fig. 11a und 11b zeigen jeweils - von oben bzw. von unten
  • - die Ansichten der gewählten Umgebung in dem beschriebenen Beispiel zur Verarbeitung eines dreidimensionalen Bildes mittels Verdünnung von Strichen und/oder Flächen.
  • - Annex I ist die Retranskription einer Verarbeitung, die die Detektion einfacher Punkte eines zweidimensionalen Bildes ermöglicht, erfindungsgemäß aufgebaut aufgrund eines Umkehrverzweigungen umfassenden ordinierten und reduzierten Entscheidungsdiagramms. Die in C-Sprache kompilierte Verarbeitung umfasst in jeder Zeile einen Test und zwei Verzweigungen. Der Anfang dieses Annex I beschreibt eine Funktion in C-Sprache, kommentiert und Elemente einführend, die zur Detektion einfacher Punkte benutzt werden (Konnexitätskriterium), unabhängig von jeder Verzweigungsbetrachtung der Tests.
  • - Annex II ist eine Retranskription der Informatik- bzw. Datenverarbeitung des Annex I, kompiliert in C-Sprache und verschachtelte Tests umfassend.
  • - Annex III ist eine Retranskription einer Verarbeitung zur Detektion von einfachen Punkten eines zweidimensionalen Bildes und aufgebaut auf der Basis eines Umkehrverzweigungen umfassenden reduzierten und geordneten binären Entscheidungsdiagramms.
  • - Annex IV schließlich ist eine Retranskription einer in C-Sprache kompilierten Datenverarbeitung, die die Detektion von einfachen Punkten ermöglicht, die keine Endpunkte sind, und aufgebaut ist auf der Basis eines Umkehrverzweigungen umfassenden reduzierten und ordinierten binären Entscheidungsbaums.
  • Die Zeichnungen und die Annexe enthalten im Wesentlichen Elemente von sicherem Charakter. Sie dienen also nicht nur dem besseren Verständnis der Beschreibung, sondern können gegebenenfalls auch zur Definition der Erfindung beitragen.
  • Die in der Folge genannten Dokumente aus dem Stand der Technik werden mit derselben Terminologie wie derjenigen analysiert, die zur Beschreibung der vorliegenden Erfindung benutzt wird. Daraus lässt sich eine Interpretation herleiten, die aus Sicht des Fachmanns, der die Erfindung noch nicht kennt, über den objektiven Inhalt der genannten Dokumente hinaus gehen kann.
  • Zunächst wird auf die Fig. 1 Bezug genommen, die eine Verarbeitungsvorrichtung einer Sequenz darstellt, die in dem beschriebenen Beispiel ein zwei- oder dreidimensionales Bild ist. Eine solche Vorrichtung kann einen Computer 1 umfassen, ausgestattet mit einem Speicher und einer Zentraleinheit mit einem Prozessor, betrieben mit einer Software des Typs Windows, DOS oder UNIX (Schutzmarken). Der Computer verfügt über einen Kontroll- Bildschirm 2 und eine Benutzerperipherie 3, um die zu verarbeitende Sequenz zu erfassen, zum Beispiel ein zweidimensionales Bild eines einfachen digitalen Scanners, einer CCD-Kamera, oder auch ein von einer Sondengruppe oder einem medizinischen Scanner stammendes dreidimensionales Bild.
  • Im Falle eines medizinischen Scanners wird das Radiodiagnostikgerät zum Beispiel durch ein tomographisches System und einen Computer gebildet, der die erfassten Daten analysiert, um Bilder von diversen Teilen eines Organismus zu rekonstruieren, in dünnen Scheiben. Das zu verarbeitende Bild kann ein medizinisches Bild sein, das ein menschliches biologisches Gewebe darstellt. In diesem Fall ist es oft nötig, das Bild mittels Verdünnung von Strichen und/oder Flächen oder auch mittels Erosion oder mittels Dilatation vorauszubearbeiten, so dass sich zum Beispiel Blutgefäße des Gewebes von einem Hintergrund aus verschiedenen Farben abheben.
  • Bei den klassischen Vorrichtungen der Bildverarbeitung begegnet man oft einem Nummerierungssystem, in Form eines Nummerierungsprogramms im Computer installiert, oder auch in einem Scanner am Eingang der Benutzerperipherie 3 installiert. Im Allgemeinen kooperiert das Nummerierungssystem mit dem Auswertungssystem, um die Sequenz in eine Vielzahl von Elementen zu zerlegen. Bei einem zweidimensionalen Bild kann das Nummerierungssystem das Bild zum Beispiel in mehrere Elemente zerlegen, gemeinhin "Pixel" genannt. Es kann auch ein dreidimensionales Bild in eine Vielzahl von parallelflachen Elementen unterteilen, auch "Voxel" genannt. Schließlich kooperiert das Auswertungssystem mit dem Nummerierungssystem, um im Speicher des Computers 1 geordnet die jeweiligen Attribute und Positionen der Elemente in der Sequenz abzuspeichern.
  • In dem beschriebenen Beispiel umfasst die Verarbeitungsvorrichtung ein Bildverwaltungssystem, das sich in Form eines Programms präsentiert, das dem Benutzer die Möglichkeit bietet, eine Verarbeitung auszuwählen unter einer Erosion, einer Dilatation und einer Verdünnung von Strichen und/oder Flächen. Die Vorrichtung teilt einem laufenden Pixel (oder Voxel) X in Abhängigkeit vom Typ der gewählten Verarbeitung ein Bit-Resultat zu, indem sie die Bits der diesem laufenden Pixel (oder Voxel) X benachbarten Pixel (oder Voxel) vergleicht.
  • Im Falle einer Verdünnung der Striche eines zweidimensionalen Bildes ist die Vorrichtung zum Beispiel so eingerichtet, dass sie eine Suche von einfachen Punkten durchführt, und umfasst außerdem Einrichtungen zur Detektion von Endpunkten, um die Striche des Bildes zu verkleinern bzw. zu verdünnen. In der Praxis handelt es sich darum, die Werte von Hits von einfachen Punkten zu modifizieren, die keine Endpunkte sind, damit sie in dem bearbeiteten Bild im Hintergrund erscheinen. Das Verwaltungssystem schlägt anschließend einem Benutzer über den Kontrollbildschirm 2 ein Bild vor, dessen Striche entsprechend Kriterien verkleinert bzw. verdünnt sind, die weiter unten beschrieben werden.
  • Die Vorrichtung umfasst einen Modul, um in einer ersten Zeitpanne Zugriff auf eine erste Speicherzone zu haben und um ein zu verarbeitendes laufendes Element X sowie eine Gruppe benachbarter Elemente dieses laufenden Elements zu entnehmen. Im Voraus definiert man eine Umgebungsrelation zwischen den Elementen, abhängig vom Typ der gewünschten Verarbeitung. Bei einem zweidimensionales Bild kann die Umgebung eines laufenden Pixels zum Beispiel durch seine 8 unmittelbaren Nachbarn gebildet werden, und eventuell von dem laufenden Pixel selbst (Fig. 3). Bei einem dreidimensionalen Bild kann sich diese Umgebung auf 26 erste Nachbarn erstrecken (Fig. 11a und 11b). Der Zugriffsmodul der Vorrichtung enthält eine Gruppe von Abruf-Instruktionen, abgespeichert in einer zweiten Speicherzone.
  • Die Vorrichtung umfasst außerdem einen Rechenmodul, abgespeichert in einer dritten Speicherzone. Dieser Modul umfasst einen Satz Test-Instruktionen, fähig die jeweiligen Bits der Umgebungselemente zu vergleichen, indem bei diesen Elementen eine Folge von Test durchgeführt wird, um dem laufenden Element X eventuell einen neuen Bitwert zuzuteilen, abhängig von diesem Vergleich. Die neuen Bitwerte der verarbeiteten Elemente werden schließlich an das Betriebssystem übertragen, um abgespeichert zu werden. Das Vergleichsverfahren stützt sich erfindungsgemäß auf der Struktur eines binären Entscheidungsdiagramms ab.
  • Unter den Techniken, auf denen die klassischen Verarbeitungsmittel (oder Vorverarbeitungsmittel) basieren; stützen sich zahlreiche Verfahren auf die Bewertung der Bits der Pixel oder Voxel in der unmittelbaren Umgebung eines Pixels oder Voxels des Bildes. Jede dieser Methoden benutzt eine Funktion, die für ein bestimmtes Element des Bildes die binären Werte (oder Bits) seiner Nachbarn analysiert. Diese Funktion wird im Allgemeinen während des Analyseverfahrens mehrmals bewertet.
  • Eine klassische Lösung besteht darin, für alle Umgebungselemente eine rohe Verweistabelle (Übersetzung des angelsächsischen Terms "look-up table") zu erstellen. Diese Annäherung ist insbesondere bekannt durch die Fundstelle:
  • [1]- "An algorithm for a 3D simplicity test" (L. LATECKI et C. C. MA, Computer Vision and Image Understanding, 63(2): 388-393, März 1996).
  • Alle Eingangsvariablen werden dann ein Mal geprüft, um ihnen eine Adresse in der Tabelle zuzuweisen. Wenn man also N Umgebungselement in Betracht zieht, muss die Anzahl der Eintragungen in der Tabelle 2N betragen. Im Falle eines dreidimensionalen Bildes sind die Grenzen der Rechen- und Speicherkapazität des verwendeten Computers schnell erreicht. Eine Reduzierung der Anzahl Tests kann manchmal vorgesehen werden, indem man gewissen Symmetrien des Systems Rechnung trägt. Jedoch folgen die vorgesehenen Tests immer einer symmetrischen Verzweigung des Typs "quad-tree" (angelsächsischer Term).
  • Die erfindungsgemäße Lösung stützt sich auf die Benutzung der Binärentscheidungsdiagramme (BED) als adäquater Darstellung von boolesche Variable verarbeitenden booleschen Funktionen.
  • Zuerst erstellt man ein kompaktes BED, das die zu bewertende boolesche Funktion repräsentiert. Es kann sich um eine formale, also einfache boolesche Funktion handeln. In diesem Fall repräsentiert das zugeordnete BED die Funktion in expliziter Weise. Wenn nicht, schreitet man im Allgemeinen zur Auflösung der Funktion durch die sogenannte "rohe Kraft"-Methode, insbesondere bekannt durch:
  • [2]- "An approach to unified Methology of combinational switching circuits" (E. Cerny and M. A. Mann, IEEE Trans. Comp. C-26, Seiten 745-756, 1977).
  • Anschließend wird das BED in einen leistungsstarken Code kompiliert, zum Beispiel in C-Sprache.
  • Der Vorteil, einen reduzierten Ausdruck eines BED zu benutzen, um einen solchen Code zu erzeugen, beruht insbesondere auf der Tatsache, dass man nur die Pixel prüft, deren Wert das Resultat wirklich beeinflusst. Außerdem führt der Code für jedes geprüfte Pixel einen einzigen Test, eine einzige Verzweigung und, unter bestimmten Bedingungen, eine einzige binäre Operation in einem Register durch. Diese Eigenschaft der BEDs benutzenden Codes wird in den weiter unten beschriebenen Bildverarbeitungsbeispielen klarer.
  • Das Prinzip der BEDs an sich ist bekannt, insbesondere in der kombinatorischen Logik. Ein BED stellt eine einer azyklischen Verzweigung entsprechende boolesche Funktion dar. Jeder Knoten der Verzweigung entspricht einem Test einer booleschen Variablen. Diese Verzweigung umfasst zwei Endknoten, die den binären werten der Funktion entsprechen: den logischen Niveaus bzw. Pegeln (oder Bits) "0" und "1". Die Fig. 2 zeigt zum Beispiel eine einer einfachen booleschen Funktion zugeordnete Verzweigung, die zwei Variable x&sub1; und x&sub2; mit ihrer Summe x&sub1; + x&sub2; verbindet, was dem logischen "oder" entspricht.
  • Indem man eine bestimmte Analyseordnung der Variablen vorschreibt und indem man einige Knoten der Verzweigung teilt, ist es möglich, die Größe dieser Verzweigung substantiell zu reduzieren. In dem in der Fig. 2a dargestellten Beispiel repräsentiert jeder Knoten einen Test des Typs "wenn" bei einer Variablen. Die vollen Linien repräsentieren die "dann"-Zweige und die punktierten Linien die "wenn nicht"-Zweige. Diese Darstellung der Summenfunktion entspricht einer vollständigen entsprechend der BOOLE-SHANNON-Expansion. Die Darstellung in der Fig. 2b für dieselbe Funktion zeigt dann, dass der Endknoten 1 links in der Verzweigung vorteilhafterweise unterdrückt bzw. weggelassen wird. Die Tatsache, diese Verzweigung entsprechend einem vereinfachten BED etwas kompakter zu machen, kann in der Folge ermöglichen, bei der programmierten Verarbeitung einer solchen Funktion eine Instruktion zu unterdrücken bzw. wegzulassen. Die Fig. 2c zeigt dann eine der beiden möglichen ENDs, der Summenfunktion zugeordnet mit, so wie dargestellt, "x&sub1; vor x&sub2;". Das BED erscheint dann in seiner kompaktesten Form und enthält nur zwei Endknoten. Eine solche Darstellung entspricht dann einem sogenannten reduzierten und ordinierten BED, also einen ROBED, das nur zwei Endknoten aufweist.
  • Diese Darstellung ist kanonisch, das heißt, dass, wenn die Analyseordnung der Variablen festgelegt ist und wenn die Reduzierungsregeln angewendet werden, zwei äquivalente boolesche Funktionen dieselbe Darstellung pro BED haben. Die Fig. 2c stellt also ein ROBED der Summenfunktion der Fig. 2a dar.
  • Um das erhaltene ROBED noch kompakter zu machen, kann man die sogenannte Methode der "komplementären Ränder" benutzen. Diese Methode ist insbesondere bekannt durch die Fundstelle:
  • [3]- "Perfekt normal forms for discrete functions" (J. P. BILLON, Research Report 87019, BULL, März 1987).
  • Sie ermöglicht, zu vermeiden, denselben Knoten mehr als ein Mal zu testen, wobei jedem Zweig des Diagramms ein binäres Unterscheidungszeichen, zum Beispiel + oder -, zugeordnet wird. In dem beschriebenen Beispiel wirken die Zweige des Diagramms, die das Vorzeichen "-" tragen, dann als Umkehrverzweigungen des Endresultats.
  • In der Folge der Beschreibung entspricht die Abkürzung BED einem "reduzierten und ordinierten binären Entscheidungsdiagramm mit komplementären Rändern".
  • Der Anmelder hat also gezeigt, dass die Benutzung der BEDs bei der Bearbeitung zwei- und dreidimensionaler Bilder angewendet werden kann.
  • Im Falle eines zweidimensionalen Bildes kann man mit einem selektierten Element eine Umgebung verbinden, gebildet durch acht Elemente, die die ersten Nachbarn des selektierten Elements sind und acht Hauptpositionen einnehmen, nämlich: Nord-West, Nord-Ost, Ost, Süd-Ost, Süd, Süd-West, West und Nord. Diese Elemente sind mit V0, V1, V2, V3, V4, V5, V6 und V7 bezeichnet. Die Wahl der Umgebung und insbesondere der Anzahl Elemente pro Umgebung hängt von der Wahl der Verarbeitungsfunktion f ab. Eine Umgebung von acht Elementen zur Verarbeitung eines zweidimensionalen Bildes ist in der Fig. 3 dargestellt.
  • In bestimmten Fällen können Bildbearbeitungsfunktionen direkt dargestellt werden durch einfache boolesche Operationen an den Werten der Pixel der Umgebung. Im Falle einer Erosion zum Beispiel, wenn man ein Pixel betrachtet, dessen Bitwert "1" ist, wird ihm ein neuer Wert "0" zugeordnet, wenn, und nur wenn, er und/oder wenigstens einer seiner Nachbarn einen Bitwert gleich "0" hat. Die Funktion zum Modifizieren des Werts des betrachteten Pixels entspricht:
  • f(X) = X.x&sub1;.x&sub2;.x&sub3; ... xn,
  • wo "." der booleschen "und"-Funktion entspricht und die x&sub1; boolesche Variable sind, die die Werte von Bits der Pixel der Umgebung des betrachteten Pixels darstellen.
  • Im Falle eine Dilatation wird die Funktion f folgendermaßen ausgedrückt:
  • f(X) = X + x&sub1; + x&sub2; + ... xn,
  • wo "+" der booleschen "oder"-Funktion entspricht.
  • Die Fig. 4a stellt den Effekt einer Erosion bei einem laufenden zentralen Element X in Abhängigkeit von seinen acht ersten Nachbarn dar. Es wird ein Bit des Werts "0" einem selektierten Element dann zugeteilt, wenn es selbst und/oder wenigstens eines der Umgebungselemente ein Bit "0" aufweist.
  • Die Fig. 4b zeigt den Effekt einer Dilatation bei einem laufenden zentralen Element X in Abhängigkeit von seinen acht ersten Nachbarn. In diesem Fall wird ein logisches "0" einem laufenden Element dann zugeteilt, wenn dieses selbst und alle Umgebungselemente ein "0"-Bit aufweisen, wenn nicht, wird ihm ein "1"-Bit zugeteilt.
  • Die Fig. 5a und 5b zeigen BEDs, die die booleschen Funktionen zeigen, die jeweils mit einer Erosion und einer Dilatation verbunden sind. Bei einer Erosion sowie einer Dilatation bildet das BED der booleschen Funktion eine explizite Darstellung der Funktion.
  • Die Vorverarbeitungsmittel können sich in Form einer programmierten Datenverarbeitung präsentieren, die erfindungsgemäß einer Verzweigung folgt, die einem BED mit reduziertem Ausdruck entspricht. Es umfasst dann eine Testinstruktion für jeden Testknoten des BED. Jedem durchgeführten Test sind zwei konditionelle Verzweigungen zugeordnet. Eine erste konditionelle Verzweigung entspricht dem Bitwert 0 des getesteten Pixels, und eine zweite konditionelle Verzweigung entspricht dem Bitwert 1 des getesteten Pixels. Diese konditionellen Verzweigungen entsprechen den Zweigen "dann" und "wenn nicht" des BED und führen zu anderen Knoten des Diagramms. Wenn diese Verarbeitung zum Beispiel in C- Sprache programmiert ist, kann eine Testzeile die folgenden Instruktionen enthalten:
  • L : if (x) goto L1; else goto L2;
  • Die Verarbeitung, die eine einem BED reduzierter Ordnung entsprechende Verzweigung vorsieht, umfasst dann zwei Stopp- Punkte, die den beiden Endpunkten des BED entsprechen. Diesen Stopp-Punkten sind dann Unterbrechungsverzweigungen zugeordnet, die Verzweigungen des BED entsprechen, die einen Testknoten mit einem Endknoten verbinden. Die Verarbeitung sieht also vor: eine Gruppe Tests, ordiniert durch eine "wenn"-Instruktion, konditionelle Verzweigungen, ordiniert durch die "goto"- Instruktionen, und Stopp-Punkte, ordiniert durch Endinstruktionen des Typs "return R" und "return !R". R und !R entsprechen zwei konjugierten logischen Zuständen des Stopp-Punkts : !R entspricht "non R".
  • Um eine Erosion und/oder Dilatation des Bildes durchzuführen, umfasst die Verarbeitung dann einen Instruktionstest pro Umgebungselement, eine konditionelle Verzweigung zu einem anderen Instruktionstest und eine Unterbrechungsverzweigung zu einem Stopp-Punkt, und dies für jedes Umgebungselement.
  • Die Verarbeitung kann in allgemeinerer Weise auf eine Vielzahl zu verarbeitender laufender Elementen angewendet werden, zum Beispiel auf drei laufende Elemente. Der Rechenmodul ist dann eingerichtet, um ein Resultatwort V15-V16-V17 zu bewerten (anstatt eines einzigen Bitresultats) auf der Basis von drei laufenden Elementen (oder Pixel) V4, V7, V10 (Fig. 6a), in dem Beispiel erste und aneinandergrenzende Nachbarn. Jeder Vergleich betrifft dann eine Gruppe von Elementen, gebildet durch die Vereinigung der drei Gruppen erster Nachbarn jedes dieser Pixel, und umfasst also 15 Elemente V0, ..., V14. Die drei den jeweiligen Bitresultaten der laufenden Pixel entsprechenden Bitresultate sind mit V15, V16 und V17 nummeriert. V15, V16 und V17 nehmen jeweils dieselben Positionen wie V4, V7 und V10 ein (Fig. 6b).
  • Die Fig. 7 und 8 stellen die BEDs (mit Umkehrverzweigung) dar, die jeweils mit einer Dilatation und einer Erosion eines zweidimensionalen Bildes verbunden sind, mit drei in einer einzigen Vergleichsserie zu verarbeitenden laufenden Pixeln. Die Knoten 0 und 1 entsprechen jeweils einer Hypothese "falsch" und "richtig", formuliert in jedem Bit des Resultatworts und umzukehren, wenn die Anzahl der während des Vergleichs benutzten Umkehrverzweigungen ungerade ist. Es muss also wenigstens ein Teil der Knoten des Diagramms durchlaufen werden, bis man den Endknoten 1 - wenn die Anzahl der während des Durchlaufens der Baumstruktur benutzte Umkehrverzweigungen gerade ist, wenn nicht, dann den Endknoten 0 - erreicht. Bei jedem Erreichen des Knotens 0 (indem man der oben erwähnten Parität Rechnung trägt), muss die Baumstruktur in umgekehrter Richtung durchlaufen werden, um wieder zu dem letzten bewerteten Bit zu gelangen und ihm einen konjugierten Resultatwert zuzuteilen. Die Gesamtheit der Werte gefundener Bitresultaten bildet dann ein Resultatwort für die drei laufenden Pixel.
  • Falls keine einfache boolesche Funktion die zu verarbeitende Funktion beschreiben kann, kann man eine Auflösung von f durchführen. Diese Auflösung kann nach der "rohe Kraft"- Methode [2] erfolgen. Eine solche Auflösung benutzt nur einfache boolesche Funktionen des Typs "und" und "oder". Sie erscheint in dem anschließend beschriebenen Beispiel.
  • Der Anmelder hat eine Anwendung der Erfindung für die Detektion einfacher zweidimensonaler (2D) und dreidimensionaler (3D) Bildpunkte. Ein einfacher Punkt ist ein Punkt eines binären Bildes, dessen Attribut (1 oder 0) sich verändern kann ohne dass die Topologie des Bildes sich im Wesentlichen verändert. Zum Beispiel ermöglicht die Detektion einfacher Punkte im Rahmen einer Verdünnungsbearbeitung insbesondere, die Formen dünn zu machen, ohne sie zu zerschneiden. Wenn man also mit den oben benutzten Konventionen eine Verdünnungsbearbeitung (Verdickungsbearbeitung) mit Vorausdetektion einfacher Punkte durchführt, wird das Attribut 1 (0) eines Punkts in 0 (1) verwandelt, wenn dieser Punkt ein einfacher Punkt ist.
  • Auf dem Gebiet der 3D-Bilder und insbesondere der medizinischen Bilder weckt die Detektion einfacher Punkte heute ein wachsendes Interesse. Man versucht dann, möglichst einfache Verarbeitungen zu erhalten.
  • Zuerst wird die Detektion einfacher Punkte in einem 2D-Bild mittels einer Verarbeitung, die eine BED benutzt, dargestellt. Der Anmelder hat auch eine Verarbeitung vorgeschlagen, die eine BED benutzt und die Detektion einfacher Punkte in einem 3D-Bild ermöglicht. Sie wird später beschrieben.
  • Die Erstellung einer Gruppe von Tests zur Detektion einfacher Punkte muss zunächst die Wahl eines Konexitätskriteriums durchlaufen. In der Praxis handelt es sich darum, eine Konnexität für die 1-Elemente zu wählen, und eine Konnexität für die 0- Elemente, wobei das gewählte Konnexitätspaar bestimmte Bedingungen erfüllen muss, insbesondere beschrieben in:
  • [4]- "Digital topology: introduction and survey" (T. Y. Kong and A. Rosenfeld, Computer vision, graphics and image processing, 48, 357-393, 1989).
  • Das in dem Beispiel gewählte Konnexitätskriterium zur Suche einfacher Punkte eines 2D-Bilds besteht darin, vier konnexe Komponenten unter denen zu nehmen, die die Hauptpositionen Nord, Ost, Süd und West einer Umgebung mit acht Elementen erster Nachbarschaft zum laufenden zentralen Element X einnehmen.
  • Die Fig. 9a, 9b und 9c stellen Situationen dar, in denen das zentrale Element in Abhängigkeit von den Bitwerten der Elemente der Umgebung als ein einfacher Punkt betrachtet wird, während die Fig. 9d, 9e und 9f Situationen darstellen, in denen das zentrale Element nicht als einfacher Punkt nach dem oben erwähnten Konnexitätskriterium betrachtet wird. Die gestrichelten Schraffierungen bedeuten, dass der Bitwert des Umgebungselements 0 oder 1 sein kann, ohne dass es irgendeinen Einfluss auf das Resultat haben könnte.
  • Festzustellen ist, dass im Falle der Detektion einfacher Punkte das laufende Element nicht Teil der wie oben beschriebenen Umgebung ist. Der Vergleich der Bits betrifft also nicht das laufende Element. Außerdem wird man weiter unten sehen, dass die Endknoten 0 und 1 des BED ermöglichen, direkt festzustellen, ob das laufende Pixel einfach ist oder nicht, wobei im Voraus keine Hypothese bezüglich dieses Pixels formuliert wird.
  • Mit Bezug auf die Fig. 9a, 9b und 9c ist das zentrale Element ein einfacher Punkt:
  • - wenn ein oder mehrere Elemente der Umgebung, paarweise Nachbarn durch eine Seite oder eine Spitze, in dem beschriebenen Beispiel den Wert 1 tragen, und
  • - wenn wenigstens eines der Elemente, die eine Hauptposition zwischen Nord, Ost, West und Süd einnehmen, den Wert 0 trägt. Wenn diese Bedingungen nicht erfüllt werden, ist das zentrale Element kein einfacher Punkt (Fig. 9d, 9e und 9f).
  • Die Fig. 10 zeigt die BED, die der Baumstruktur entspricht, die die Verarbeitung der Detektion einfacher Punkte eines 2D-Bilds nach der Erfindung vorsieht. Man verifiziert zuerst, wenn man einem Pfad der Baumstruktur zwischen dem ersten Test des Elements V3 bis zu einem der Endknoten 0 oder 1 folgt, dass jedes Pixel der Umgebung nur ein einziges Mal geprüft wird. Außerdem verifiziert man, dass ein einziger Pfad zugleich die acht Pixel der Umgebung prüft (V0, ..., V7 = 0): wenn die sieben ersten Elemente den Wert 0 haben (V0, ..., V6 = 0), dann wird das achte V7 geprüft.
  • Das BED beginnt mit einem ersten Test bei dem Wert von V3 (West). Aufgrund des gewählten Konnexitätskriteriums könnte das BED mit einem anderen Pixel beginnen, nämlich mit V1, V4 oder V6 (Nord, Süd, Ost). Anschließend wird das Pixel V1 (Nord) getestet. Man stellt dann fest:
  • - dass die Tests die Bits von wenigstens drei Pixeln betreffen, die jeweils drei Hauptpositionen zwischen Nord, Ost, West und Süd einnehmen, und dies unabhängig von den Bitwerten der Umgebungselemente,
  • - dass die Elemente V0, V2, V7 und V5 nur getestet werden, wenn ein Element 4-konnex unter V1, V4, V6 und V3, mit dem es eine gemeinsame Seite hat, den Bitwert 0 aufweist.
  • Diese Verarbeitung analysiert also:
  • - eines der beiden Nord-Ost- und Nord-West-Elemente nur, wenn das Nord-Element einen Bitwert 0 hat,
  • - eines der beiden Nord-Ost- und Süd-Ost-Elemente nur, wenn das Ost-Element einen Bitwert 0 hat,
  • - eines der beiden Nord-West- und Süd-West-Elemente nur, wenn das West-Element einen Bitwert 0 hat, und
  • - eines der beiden Süd-Ost- und Süd-West-Elemente nur, wenn das Süd-Element einen Bitwert 0 hat.
  • Am Ende eines Tests wird jeder Zweig einem Bitwert 0 oder 1 des getesteten Elements zugeordnet. Außerdem folgt auf die angegebenen binären Werte ein Zeichen + oder -, je nach dem, ob die Zweige von einem komplementären Rand stammen oder nicht. Die Gesamtheit der konditionellen Verzweigungen umfasst also eine Teilgruppe von mit einem "-"-Zeichen markierten Umkehrverzweigungen.
  • Die der in der Fig. 10 dargestellten BED entsprechende erlangte Verarbeitung wurde in Annex I in ein in C-Sprache kompilierten Programms übertragen. Es umfasst neunzehn Testzeilen des Typs "if", die den neunzehn Testknoten des Diagramms entsprechen. Die Endknoten des Diagramms werden durch die Endinstruktionen "return" dargestellt, die in den Zeilen L080 und L081 erscheinen. Außerdem erscheinen die Umkehrverzweigungen in den Zeilen L896, L864 und L560, die dann die Instruktionen "R = !R" tragen.
  • Anschließend benutzt die Verarbeitung eine der Zeilen L080 und L081, um zu definieren, ob das zentrale Element einfach ist oder nicht, je nach dem analysierten Wert von R.
  • Man kann auch noch einen Teil der Instruktionen "goto" unterdrücken bzw. weglassen, indem man die in der Fig. 10 dargestellte netzförmige Struktur des BED benutzt. Der Annex II beschreibt dann die entsprechende Verarbeitung, in C-Sprache programmiert. Die beiden Programme sind äquivalent. Insbesondere stellt man in beiden Fällen fest, dass der Bitwert des einfachen Punktes in den beiden Stopp-Punkten nicht definitiv zugeteilt ist, zum Beispiel im Annex I den Zeilen L080 und L081.
  • Der Vergleich zwischen den Umgebungspixeln endet in einem dieser beiden Stopp-Punkte, wobei die logischen Zustände R und !R konjugiert sind. Insbesondere, den Umkehrverzweigungen Rechnung tragend,
  • - wird der Wert R (oder !R) auf R (!R) gehalten, wenn die Umkehrverzweigungen, die während des Durchlaufens der Baumstruktur benutzt werden, eine gerade Zahl ergeben, und
  • - der Wert R (oder !R) wird umgekehrt zu !R (R), wenn die während des Durchlaufens der Baumstruktur benutzten Umkehrverzweigungen eine ungerade Zahl ergeben.
  • Wenn in dem Beispiel der BED-Pfad in dem Endknoten 0 (1) endet und die Anzahl der benutzten Umkehrverzweigungen gerade ist, ist das laufende Pixel kein einfacher Punkt (ein einfacher Punkt). Wenn hingegen der BED-Pfad in dem Endknoten 0 (1) endet und die Anzahl der benutzten Umkehrverzweigungen, ungerade ist, ist das laufende Pixel ein einfacher Punkt (kein einfacher Punkt).
  • Im Falle einer Verdünnungsbearbeitung oder einer Verdickungsbearbeitung mit vorausgehender Suche einfacher Punkte hängt der Wert eines laufenden Pixels ab:
  • - vom Endknoten am Ende des BED-Pfades,
  • - von dem Wert R oder !R dieses Endknotens (einfacher Punkt oder nicht), und
  • - von dem Anfangswert dieses laufenden Pixels (ein einfacher Punkt mit 1 wird durch Verdünnung in 0 umgewandelt; ein einfacher Punkt mit 0 wird durch Verdünnung in 1 umgewandelt).
  • Bei den Verarbeitungsbeispielen der Annexe I und II ist der vorausbestimmte Wert von R gleich 0.
  • Die Anzahl der Test wird vorteilhaft reduziert, indem man die Verarbeitung benutzt, die sich auf ein BED mit derart reduziertem Ausdruck stützt. Tatsächlich schlägt die erfindungsgemäße Verarbeitung durchschnittlich 4,72 Tests pro Pixel eines 2D-Bildes vor, während eine klassische Verarbeitung, die nicht allen Symmetrien des Problems Rechnung trägt, durchschnittlich 7 Tests vorschlägt.
  • Im Sinne der vorliegenden Erfindung verifiziert ein reduzierter Ausdruck des BED also alle oder einen Teil der folgenden Bedingungen:
  • - es gibt Pixel, die nicht systematisch analysiert werden: V0, V2, V5, V6 und V7,
  • - die Verarbeitung sieht 2N Endknoten vor, wenn das Resultat auf N Bits codiert ist,
  • - es gibt Knoten des Diagramms, bei denen mehrere Eingänge vorgesehen sind: zwei Eingänge in V7, zwei oder drei Eingänge in V6 und in V5,
  • - die Verarbeitung umfasst Umkehrverzweigungen, und
  • - die Knoten bezüglich Pixeln wie V0 und V7 erscheinen nur ein einziges Mal.
  • Die Fig. 11a und 11b stellen eine Ansicht einer Umgebung jeweils von oben und von unten dar, die einem laufenden Element in einem 3D-Bild zugeordnet ist. Das laufende Element befindet sich im Zentrum eines Parallelflachs, kubisch in dem Beispiel, den die Gesamtheit der Umgebungselemente bilden. Die Umgebung umfasst dann sechsundzwanzig kubische Elemente.
  • Bei einem dreidimensionalen Bild aus einer Vielzahl von Voxeln vergleicht die Verarbeitung die Bits der sechsundzwanzig Voxel, die die ersten Nachbarn des zentralen Voxels bilden. Sechs Voxel besetzen das Zentrum der Seiten des Kubus, dessen Zentrum das laufende Voxel ist. Acht Elemente besetzen die Spitzen und zwölf besetzen die Kantenmitten.
  • Die Umgebung ist folgendermaßen indexiert:
  • - auf einer ersten Seite des Voxels sind die Elemente von V0 bis V8 indexiert,
  • - auf der entgegengesetzten Seite sind die Elemente von V18 bis V25 indexiert, und
  • - bei der mittleren Scheibe sind die Elemente von V9 bis V16 indexiert, wobei das laufende zentrale Element nicht indexiert ist.
  • Das Konnexitätskriterium für die Detektion von einfachen Punkten erfolgt hier durch die Wahl von sechs konnexen 6- Komponenten, gestützt auf den Formalismus, der insbesondere beschrieben wird in:
  • [5]- "A new characterization of three-dimensional simple points" (G. Bertrand and G. Malandain, Pattern recognition letters, 15-2, 169-175, 1994).
  • Das BED reduzierter Ordnung und von kompakter Form mit Umkehrverzweigungen umfasst 503 Knoten. Das Programm in C-Sprache, das diesem ROBED entspricht, ist in Annex 3 enthalten. Während also eine klassische Verarbeitung, wie zum Beispiel die der folgenden Fundstelle:
  • [6]- "Boolean charakterization of 3D simple points" (G. BERTRAND, Pattern Recognition Letters, 17, 115-124, 1996)
  • durchschnittlich 111 Tests umfasst, umfasst die erfindungsgemäße Verarbeitung, bei der eine BED benutzt wird, durchschnittlich 8,71 Tests pro selektiertes Element.
  • Die Verarbeitung analysiert hier die Bitwerte von wenigstens fünf Voxeln, die fünf Positionen unter den sechs Zentren der Seiten besetzen, unabhängig von den Bitwerten der anderen Voxeln der Umgebung, und analysiert eines der Voxel einer Seite nur, wenn das das Zentrum besetzende Voxel einen Bitwert gleich 0 hat.
  • Das entsprechende BED umfasst wieder zwei Endknoten, auf Grund dessen das zentrale Element definiert werden kann als einfacher Punkt oder nicht. In dem Beispiel ist das laufende Voxel ein einfacher Punkt, wenn die Voxel, die Bitwerte von 1 haben, paarweise benachbart sind durch eine Fläche, durch eine Seite oder durch eine Spitze und dass davon wenigstens eines existiert, und wenn die Voxel, die einen Bitwert von 0 haben und durch eine Fläche Nachbarn des zentralen Voxels sind, miteinander durch Elemente verbunden sind, die einen Bitwert von 0 haben und durch eine Kante Nachbarn des zentralen Voxels sind und dass davon wenigstens eines existiert.
  • Hingegen wird das zentrale Element nicht als einfacher Punkt definiert, wenn die Umgebungselemente diese Bedingungen nicht erfüllen. So detektiert man die einfachen Punkte eines 3D- Bildes.
  • Die Verdünnung binärer Bilder besteht darin, Punkt mit 1, die einfach sind, die keine Endpunkte sind, zu löschen. Üblicherweise sind die Verarbeitungsvorrichtungen so konzipiert, dass die beiden Tests (einfache Punkte und Endpunkte) nacheinander durchgeführt werden. Eine Löschbedingung wird zum Beispiel in folgender Fundstelle beschrieben:
  • [7]- "A parallel thinning algorithm for medial surfaces" (G. BERTRAND, Pattern Recoqnition Letters, 16, 979-986, 1995).
  • Diese Bedingung beruht auf einer booleschen Charakterisierung, beschrieben durch die Fundstelle [6], der die folgende Bedingung hinzugefügt ist: "ist der einfache Punkt ein Endpunkt?".
  • Generell lässt diese neue Bedingung die Anzahl der Tests ansteigen. Nun sieht eine BED, die gleichzeitig diese beiden Bedingungen erfüllt, nur 272 Knoten vor, das heißt dass die Anzahl der durchgeführten Tests noch kleiner ist als vorher. Die erfindungsgemäße Verarbeitung ist, in C-Sprache programmiert, im Annex VI wiedergegeben. Die Anzahl der durchgeführten Test bei Benutzung einer BED nach der Erfindung und unter Berücksichtigung der beiden oben erwähnten Bedingungen beträgt 5,16. Hingegen ist diese Zahl 114,1, wenn man den in der Fundstelle [7] beschriebenen Formalismus anwendet.
  • Man kann zum Beispiel auch noch eine andere Methode nennen, die darin besteht, das 3D-Bild in sechs Richtungen zu durchlaufen, nämlich nach Nord, nach Süd, nach Ost, nach West, nach oben und nach unten, indem man die sechs Zentren der Seiten des Voxels durchläuft, wobei man sukzessive Iterationen in diesen Richtungen realisiert. Diese Methode ist bekannt durch die Fundstelle:
  • [8]- "A simple parallel 3-D thinning algorithm" (W. X. GONG und BERTRAND, 10th International Conference on Pattern Recognition, Atlantic City, 17.-21. Juni 1990)
  • Sie läuft also darauf hinaus, dass fünf Bedingungen berücksichtigt werden müssen, die leicht in boolesche Expressionsterme transkribiert werden können. Das vereinfachte BED führt in diesem Fall durchschnittlich 3,27 Tests pro geprüftes Element durch, während der in der Fundstelle [8] benutzte Formalismus durchschnittlich 4,83 Tests vorsieht.
  • Die Programme in C-Sprache, die in den Annexen I, II, III und IV erscheinen, werden unter UNIX-Umgebung kompiliert. Typisch beträgt die Verdünnungs-Verarbeitungszeit eines 3D-Bilds ungefähr 0,25 us pro Voxel in Zentraleinheiten, die über 167 MHz-Prozessoren verfügen (SUN Ultral Sparc oder DEC Alpha 3000) (Schutzmarken).
  • Selbstverständlich kann für die Programmierung der Verarbeitungen eine andere Informatiksprache als die C-Sprache benutzt werden.
  • Vorteilhafterweise umfasst die oben beschriebene Vorrichtung in der Speicherzone der jeweiligen Instruktionssätze eine Vielzahl von Rechenmodulen, von denen jeder an einen Verarbeitungstyp angepasst ist, nämlich einer Erosion, einer Dilatation und einer Verdünnung von Strichen und/oder Flächen von 2D- und/oder 3D-Bildern. Jeder Rechenmodul ist als ausgestattet mit einem Instruktionensatz, optimiert durch eine binäre Entscheidungsbaum-Reduktionstechnik, der Funktion der gewählten Entscheidung zugeordnet. Diese Reduktion kann nach einer Informatik- bzw. Datenverarbeitung erfolgen, insbesondere bekannt durch:
  • [9]- "Symbolic boolean manipulation with ordered binary decision diagramms" (R. E. Bryant, Technical Report CMU-CS-92-160, School of Computer Science, Carnagie Mellon University, Juni 1992).
  • Die Erfindung ist nicht beschränkt auf die oben beispielartig beschriebene Realisierungsform, sondern erstreckt sich auf Varianten.
  • So muss die zu verarbeitende Sequenz nicht unbedingt ein digitales Bild sein. Das erfindungsgemäße Testmittel kann auch auf die Verarbeitung einer Klangsequenz angewendet werden, dargestellt entsprechend einer Frequenz- und Intensitätstopologie.
  • Außerdem kann die oben beschriebene Verarbeitung auch auf ein eindimensionales Bild angewendet werden. In diesem Fall kann die für jedes laufende Element gewählte Umgebung sich über ein oder zwei Kurvensegmente erstrecken.
  • Die Bearbeitungen durch Verdünnung, Detektion einfacher Punkte, Erosion und Dilatation sind beispielartig beschrieben. Die Erfindung kann in allgemeiner Weise auf eine beliebige Verarbeitungsfunktion angewendet werden, zerlegt in einfache boolesche Operationen, insbesondere durch die Rohe-Kraft-Methode.
  • Außerdem sind die für die Detektion einfacher Punkte gewählten Konnexitätskriterien oben beispielartig beschrieben. Bei einer Variante können die gewählten Kriterien anders sein.
  • Die Vereinfachung des BED nach dem Verfahren der Erfindung kann nur partiell sein. Bei bestimmten Anwendungen kann es also keine Umkehrverzweigungen enthalten (ROBED) oder auch mehr als zwei Endknoten umfassen.
  • Außerdem können die Definitionen der Erosions- und Dilatationsfunktionen folgendermaßen verallgemeinert werden: ein Bit-Resultat von bestimmtem Wert wird einem laufenden Element zugeteilt, wenn alle Elemente der Umgebung jeweilige Bitwerte gleich diesem vorher festgelegten Wert haben; wenn nicht, wird ein Bit-Resultat von konjugiertem Wert zugeteilt.
  • Schließlich wird oben die Bearbeitung durch Erosion und/oder durch Dilatation von gleichzeitig drei laufenden Elementen eine 2D-Bilds beispielartig beschrieben. Noch allgemeiner kann die erfindungsgemäße Bearbeitung gleichzeitig auf ein oder mehrere laufende Elemente eines 2D- oder 3D-Bildes angewendet werden.
  • ANNEX I
  • Die Zeilen unten ermöglichen, entsprechend dem Wert von - _STATISTICS_:
  • - entweder auf den Wert des Punkts zuzugreifen und einen Zähler zu inkrementieren hinsichtlich der Realisierung der Statistiken,
  • - oder nur auf den Wert des Punkts zuzugreifen
  • Diese Prozedur nimmt zu Beginn eine Tabelle mit 8 Werten, die die 2D-Umgebung des Punkts darstellen (der Wert des zentralen Punkts hat wenig Bedeutung). Die Umgebung ist wie folgt nummeriert:
  • Die Prozedur sendet 1 zurück, wenn der Punkt einfach ist (in 2D), 0 wenn nicht. Ein 2D-Punkt ist dann und nur dann einfach, wenn es in seiner Umgebung:
  • - eine und nur eine einzige konnexe 4-Komponente des Hintergrunds 4-angrenzend an den zentralen Punkt gibt,
  • - eine und nur eine einzige 8-Komponente konnex zum Objekt.
  • Man verwendet die 4-Konnexität explizit für den Hintergrund, Punkte auf 0, und folglich die 8-Konnexität für das Objekt, Punkte mit anderem Wert als 0.
  • Das Prinzip besteht darin, die konnexen 4-Komponenten des Hintergrunds zu zählen, die 4-angrenzend sind an den zentralen Punkt.
  • Damit eine solche konnexe 4-Komponente existiert, muss ein 4-Nachbar (1, 3, 4 oder 6) des zentralen Punkts zum Hintergrund gehören. Man muss auch darauf achten, dieselbe Komponente nicht zweimal zu zählen, also verifizieren, dass zwei 4-Nachbarn nicht tatsächlich zu derselben 4-Komponente gehören.
  • Man testet, ob der Punkt 1, 4-Nachbar des zentralen Punkts, zum Hintergrund gehört, wobei ggf. sein Wert (VAL(V,1)) 0 ist (= falsch) und folglich die Negation seines Werts (!VAL(V,1)) wahr ist. Wenn "ja", inkrementiert man die Anzahl gefundener Komponenten. Man verifiziert anschließend, dass diese Komponente nicht ein zweites Mal gezählt werden kann, zum Beispiel mit der 4- Komponente, definiert durch den 4-Nachbarn 4. Damit dies eintritt, muss ein 4-Weg in dem Hintergrund zwischen 1 und 4 existieren und folglich gehören 2 und 4 alle beide zum Hintergrund. Wenn dies der Fall ist, zählt man diese Komponente, wenn man den Punkt 4 verarbeitet, dekrementiert also den Zähler.
  • Tatsächlich existiert ein Fall, wo die berechnete Zahl, nb_cc, nicht gleich der Anzahl der konnexen 4-Komponenten des Hintergrunds ist. Es handelt sich um den Fall, wo alle Umgebungspunkte zum Hintergrund gehören: dann ist nb_cc = 0 (anstatt 1).
  • Jedoch ist in diesem Fall der Punkt nicht einfach (es gibt keine konnexe 8-Komponente des Objekts in der Umgebung). Dies passt also gut, da es möglich ist, zu antworten, dass der Punkt nicht einfach ist.
  • Die erlangten Verarbeitungen präsentieren sich folgendermaßen: ANNEX II Detektion der einfachen 2D-Punkte - Kompilierte Verarbeitung ANNEX III ANNEX IV

Claims (15)

1. Vorrichtung zur Verarbeitung von Erfassungsdaten, insbesondere Bilddaten, umfassend:
a) eine erste Speicherzone zum Speichern einer Erfassungsdatensequenz in der Form von Sequenzelementen (V0, ..., VN), von denen jedes wenigstens ein Bit hat,
b) eine zweite Speicherzone mit einem Zugriffsmodul auf die erste Speicherzone, die adressierbar ist, um auf die Umgebung eines bezeichneten laufenden Elements (X) zuzugreifen,
c) eine dritte Speicherzone zum Speichern eines Rechenmoduls, fähig als Eingang eine Bezeichnung wenigstens eines laufenden Elements (X) zu empfangen, um als Ausgang ein Resultat-Wort zu liefern, repräsentativ für die Anwendung einer gewählten Verarbeitungsfunktion (f), in der genannten Umgebung dieses laufenden Elements (X), wobei dieser Modul einen Satz Instruktionen umfasst, mit Testinstruktionen, jede ein Bit betreffend, und aufgrund einer Eingangsinstruktion Wege bildet, wo die Testinstruktionen sich abwechseln bzw. sich ablösen, um in Endinstruktionen zu münden, die Bit für Bit das Resultat-Wort definieren,
d) Steuereinrichtungen, um diesen Modul repetitiv mit einem Arbeitsspeicher kooperieren zu lassen, auf der Basis von sukzessiven laufenden Elementen, um eine Vielzahl von Resultat- Wörtern zu erhalten, die durch die genannte Verarbeitungsfunktion wenigstens eine partielle Transformierte der Sequenz repräsentieren,
dadurch gekennzeichnet,
dass der Rechenmodul mit einem Satz Instruktionen ausgestattet ist, optimiert durch eine der genannten Funktion zugeordnete binäre Entscheidungsbaum-Reduktionstechnik, um gemeinsam die Gesamtzahl der kumulierten Testinstruktionen bezüglich der Gesamtheit der durch den Testinstruktionen-Satz definierten Wege und die Gesamtzahl der Instruktionen dieses Satzes zu minimieren, was ermöglicht, durch einen besseren Kompromiss zwischen dem Speicherplatzbedarf des Instruktionensatzes und seiner Ausführungsgeschwindigkeit die Verarbeitungsgeschwindigkeit zu erhöhen.
2. Vorrichtung nach Anspruch 1, dadurch gekennzeichnet, dass jede Testinstruktion eine bedingte Verzweigung zu einer anderen Testinstruktion oder einer Endinstruktion umfasst, abhängig von dem getesteten Bit, während der Testinstruktionensatz im Laufe der Ausführung höchstens einmal auf ein Bit eines Elements der Umgebung zugreift.
3. Vorrichtung nach Anspruch 2, dadurch gekennzeichnet, dass der Modul in der Speicherzone höchstens zwei Endinstruktionen umfasst, während die Testinstruktionen sich im Laufe der Ausführung abwechseln bzw. ablösen, bis zu einer der beiden Endinstruktionen, eingerichtet um eine Resultat-Variable zu bezeichnen, die repräsentativ ist für ein Bit des Resultat-Worts.
4. Vorrichtung nach Anspruch 3, dadurch gekennzeichnet, dass der Testinstruktionensatz Testinstruktionen mit Umkehrverzweigungen umfasst, während jedes Bit des Resultat-Worts in Übereinstimmung mit der zugeordneten Resultat-Variablen und einer Parität der Anzahl der Umkehrverzweigungen definiert wird, die im Laufe der Ausführung benutzt werden.
5. Vorrichtung nach einem der vorangehenden Ansprüche, dadurch gekennzeichnet, dass die erste Speicherzone eingerichtet ist, um eine Sequenz von Daten eines zweidimensionalen Bildes in Form einer Vielzahl von Bits zu speichern, die wenigstens ein Bit pro Pixel dieses Bildes umfasst, während der Zugriffsmodul eingerichtet ist, um eine einem laufenden Pixel (X) zugeordnete Umgebung zu bezeichnen, die acht Pixel (V0, V1, V2, V3, V4, V5, V6, V7), erste Nachbarn des laufenden Pixels (X) auf einer Seite oder einer Spitze, umfasst.
6. Vorrichtung nach Anspruch 5, dadurch gekennzeichnet, dass der Rechenmodul eingerichtet ist, um als Ausgang ein Resultat-Wort zu liefern, abhängig von den Pixeln der Umgebung, und variabel je nach dem, ob das laufende Pixel (X) ein einfacher Punkt ist oder nicht, wobei ein laufendes Pixel definiert wird als ein einfacher Punkt eines zweidimensionalen Bildes, wenn ein oder mehrere der Pixel der diesem Pixel zugeordneten Umgebung, notwendigerweise paarweise benachbart auf einer Seite oder einer Spitze, Bitwerte gleich einem festgelegten Wert haben, während wenigstens eines der dem laufenden Pixel (X) auf einer Seite benachbarten Pixel (V1, V3, V4, V6) einen konjugierten Bitwert des genannten festgelegten Werts hat.
7. Vorrichtung nach Anspruch 6 in Kombination mit einem der Ansprüche 3 und 4, dadurch gekennzeichnet, dass die Eingangsinstruktion eingerichtet ist, um ein Bit von einem der vier dem Pixel (X) auf einer Seite benachbarten Pixel (V3, V1, V4, V6) zu testen, während der Testinstruktionensatz eingerichtet ist, um einerseits die Bits der drei dem laufenden Pixel auf einer Seite benachbarten Pixel (V3, V1, V4) zu vergleichen, und dies unabhängig von den Werten der Bits der anderen Pixel der Umgebung, und andererseits, um ein an einer Spitze (V0, V2, V5, V7) benachbartes Pixel nur zu analysieren, wenn zwei Pixel der Umgebung (V1, V3; V1, V4; V3, V6; V4, V6), jedes diesem Pixel und dem laufenden Pixel auf einer Seite benachbart, Bitwerte gleich dem genannten konjugierten Wert haben.
8. Vorrichtung nach einem der vorangehenden Ansprüche, dadurch gekennzeichnet, dass die erste Speicherzone fähig ist, eine Sequenz von Daten eines dreidimensionalen Bildes in Form einer Vielzahl von Bits zu speichern, die wenigstens ein Bit pro Elementarwürfel dieses Bildes umfasst, während der Zugriffsmodul eingerichtet ist, um eine einem laufenden Elementarwürfel (X) zugeordnete Umgebung zu bezeichnen, die sechsundzwanzig Elementarwürfel (V0, ... V25), erste Nachbarn des Elementarwürfels (X), umfasst, wobei sechs (V4, V10, V12, V13, V15, V21) die Mitte der Seiten eines Parallelflachs besetzen, dessen Zentrum der laufende Elementarwürfel (X) ist, acht (V0, V2, V6, V8, V17, V19, V23, V25) die Spitzen besetzen, und zwölf (V1, V3, V5, V7, V9, V11, V14, V16, V18, V20, V22, V24) die Mitten der Kanten besetzen.
9. Vorrichtung nach Anspruch 8, dadurch gekennzeichnet, dass der Rechenmodul eingerichtet ist, um als Ausgang ein Resultat-Wort zu liefern, abhängig von den Elementarwürfeln der Umgebung, und variabel je nach dem, ob der laufende Elementarwürfel (X) ein einfacher Punkt ist oder nicht, wobei ein laufender Elementarwürfel definiert wird als ein einfacher Punkt eines dreidimensionalen Bildes, wenn diesem laufenden Elementarwürfel zugeordnete Elementarwürfel der Umgebung mit jeweiligen Bitwerten gleich einem festgelegten Wert paarweise benachbart sind auf einer Fläche, einer Seite oder einer Spitze, und wenn davon wenigstens einer existiert, während Elementarwürfel der Umgebung von jeweiligen konjugierten Bitwerten des genannten festgelegten Werts dem laufenden Elementarwürfel (X) auf einer Seite (V4, V10, V12, V13, V15, V21) benachbart sind und miteinander verbunden sind durch einen Elementarwürfel mit einem Bitwert gleich dem genannten konjugierten Wert, dem laufenden Elementarwinkel (X) an einer Kante (V1, V3, V5, V7, V9, V11, V14, V16, V18, V20, V22, V24) benachbart, und dass davon wenigstens einer existiert.
10. Vorrichtung nach Anspruch 9 in Kombination mit einem der Ansprüche 3 und 4, dadurch gekennzeichnet, dass die Eingangsinstruktion eingerichtet ist, um ein Bit von einem der vier dem Elementarwürfel (X) auf einer Seite benachbarten Elementarwürfel (V3, V1, V4, V6) zu testen, während der Testinstruktionensatz eingerichtet ist, um einerseits die Bits der fünf Elementarwürfel der Umgebung (V4, V10, V12, V13, V15) zu vergleichen, von denen jeder eine der sechs Mitten der Seiten (V4, V10, V12, V13, V15, V21) besetzt, und dies unabhängig von den Bits der anderen Elementarwürfel der Umgebung, und andererseits, um das Bit von einem der benachbarten Elementarwürfel einer Seite nur zu analysieren, wenn der die Mitte dieser Seite besetzende Elementarwürfel (V4, V10, V12, V14, V16, V22) einen Bitwert gleich dem genannten konjugierten Wert hat.
11. Vorrichtung nach einem der Ansprüche 6, 7, 9 und 10, dadurch gekennzeichnet, dass es außerdem eine Einrichtung zur Detektion von Endpunkten von Linien und/oder Flächen des Bildes enthält, während der Rechenmodul wenigstens eine Resultat-Instruktion umfasst, eingerichtet um gemeinsam mit den Endinstruktionen und den Detektionseinrichtungen zu kooperieren, um ein Resultat-Wort eines laufenden Elements (X) zu bezeichnen, variabel je nach dem, ob dieses laufende Element (X) einerseits ein einfacher Punkt ist oder nicht, und andererseits ein Endpunkt ist oder nicht, was ermöglicht, eine Verdünnung von Linien und/oder Flächen des Bildes vorzunehmen.
12. Vorrichtung nach einem der Ansprüche 3 bis 11, dadurch gekennzeichnet, dass der Rechenmodul eingerichtet ist, um ein Resultat-Wort (V15, V16, V17) auf der Basis von mehreren laufenden Elementen (V4, V7, V10), ersten Nachbarn der Sequenz, zu bewerten, und dadurch, dass der Zugriffsmodul eingerichtet ist, um eine Umgebung zu bezeichnen, die diese laufenden Elemente sowie Elemente der Erste-Nachbarn-Sequenz der laufenden Elemente umfasst, während die Resultat-Variable repräsentativ ist für den Wahrheitsgehalt oder die Richtigkeit einer Hypothese ("falsch", "wahr"), formuliert auf jedem Bit des einem laufenden Element zugeordneten Resultat-Worts.
13. Vorrichtung nach Anspruch 12, dadurch gekennzeichnet, dass der Rechenmodul eingerichtet ist, um ein Resultat-Wort einer Bilderosions- und/oder -dilatationsfunktion zu bewerten, indem jedem Stromelement ein Resultat-Bit von festgelegtem Wert zugeteilt wird, wenn alle Elemente der Umgebung jeweils Bitwerte gleich dem genannten festgelegten Wert haben, und andernfalls ein Bit-Resultat mit konjugiertem Wert haben.
14. Vorrichtung nach Anspruch 11 in Kombination mit Anspruch 13, dadurch gekennzeichnet, dass sie ein Bildverwaltungssystem umfasst, fähig mit den Steuereinrichtungen zusammenzuwirken, um einem Benutzer zu ermöglichen, eine Verarbeitungsfunktion unter einer Bilderosion, einer Bilddilatation und einer Verdünnung von Linien und/oder Flächen auszuwählen, während der Rechenmodul mit einem Satz Instruktionen ausgestattet ist, optimiert durch eine binäre Entscheidungsbaum- Reduktionstechnik, der gewählten Verarbeitungsfunktion zugeordnet.
15. Vorrichtung nach einem der vorangehenden Ansprüche, dadurch gekennzeichnet, dass die genannten Erfassungsdaten ein medizinisches Bild eines biologischen, insbesondere menschlichen Gewebes betreffen.
DE69906186T 1998-06-25 1999-06-15 Vorrichtung zur Bearbeitung von erfassten Daten, insbesondere Bilddaten Expired - Fee Related DE69906186T2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR9808087A FR2780535B1 (fr) 1998-06-25 1998-06-25 Dispositif de traitement de donnees d'acquisition, notamment de donnees d'image

Publications (2)

Publication Number Publication Date
DE69906186D1 DE69906186D1 (de) 2003-04-30
DE69906186T2 true DE69906186T2 (de) 2003-12-11

Family

ID=9527870

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69906186T Expired - Fee Related DE69906186T2 (de) 1998-06-25 1999-06-15 Vorrichtung zur Bearbeitung von erfassten Daten, insbesondere Bilddaten

Country Status (4)

Country Link
US (1) US6392653B1 (de)
EP (1) EP0967573B1 (de)
DE (1) DE69906186T2 (de)
FR (1) FR2780535B1 (de)

Families Citing this family (47)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6791555B1 (en) * 2000-06-23 2004-09-14 Micron Technology, Inc. Apparatus and method for distributed memory control in a graphics processing system
US20030101312A1 (en) * 2001-11-26 2003-05-29 Doan Trung T. Machine state storage apparatus and method
US7133972B2 (en) 2002-06-07 2006-11-07 Micron Technology, Inc. Memory hub with internal cache and/or memory access prediction
US7200024B2 (en) * 2002-08-02 2007-04-03 Micron Technology, Inc. System and method for optically interconnecting memory devices
US7117316B2 (en) * 2002-08-05 2006-10-03 Micron Technology, Inc. Memory hub and access method having internal row caching
US7254331B2 (en) * 2002-08-09 2007-08-07 Micron Technology, Inc. System and method for multiple bit optical data transmission in memory systems
US7149874B2 (en) * 2002-08-16 2006-12-12 Micron Technology, Inc. Memory hub bypass circuit and method
US7836252B2 (en) 2002-08-29 2010-11-16 Micron Technology, Inc. System and method for optimizing interconnections of memory devices in a multichip module
US6820181B2 (en) * 2002-08-29 2004-11-16 Micron Technology, Inc. Method and system for controlling memory accesses to memory modules having a memory hub architecture
US7102907B2 (en) * 2002-09-09 2006-09-05 Micron Technology, Inc. Wavelength division multiplexed memory module, memory system and method
US6868536B2 (en) * 2002-11-19 2005-03-15 Lsi Logic Corporation Method to find boolean function symmetries
US7245145B2 (en) 2003-06-11 2007-07-17 Micron Technology, Inc. Memory module and method having improved signal routing topology
US7120727B2 (en) * 2003-06-19 2006-10-10 Micron Technology, Inc. Reconfigurable memory module and method
US7260685B2 (en) * 2003-06-20 2007-08-21 Micron Technology, Inc. Memory hub and access method having internal prefetch buffers
US7107415B2 (en) * 2003-06-20 2006-09-12 Micron Technology, Inc. Posted write buffers and methods of posting write requests in memory modules
US7428644B2 (en) * 2003-06-20 2008-09-23 Micron Technology, Inc. System and method for selective memory module power management
US7389364B2 (en) * 2003-07-22 2008-06-17 Micron Technology, Inc. Apparatus and method for direct memory access in a hub-based memory system
US7210059B2 (en) * 2003-08-19 2007-04-24 Micron Technology, Inc. System and method for on-board diagnostics of memory modules
US7133991B2 (en) * 2003-08-20 2006-11-07 Micron Technology, Inc. Method and system for capturing and bypassing memory transactions in a hub-based memory system
US7136958B2 (en) * 2003-08-28 2006-11-14 Micron Technology, Inc. Multiple processor system and method including multiple memory hub modules
US20050050237A1 (en) * 2003-08-28 2005-03-03 Jeddeloh Joseph M. Memory module and method having on-board data search capabilities and processor-based system using such memory modules
US7310752B2 (en) 2003-09-12 2007-12-18 Micron Technology, Inc. System and method for on-board timing margin testing of memory modules
US7194593B2 (en) * 2003-09-18 2007-03-20 Micron Technology, Inc. Memory hub with integrated non-volatile memory
US7120743B2 (en) * 2003-10-20 2006-10-10 Micron Technology, Inc. Arbitration system and method for memory responses in a hub-based memory system
US7003739B2 (en) * 2003-11-21 2006-02-21 Lsi Logic Corporation Method and apparatus for finding optimal unification substitution for formulas in technology library
US7216196B2 (en) * 2003-12-29 2007-05-08 Micron Technology, Inc. Memory hub and method for memory system performance monitoring
US7330992B2 (en) * 2003-12-29 2008-02-12 Micron Technology, Inc. System and method for read synchronization of memory modules
US7188219B2 (en) 2004-01-30 2007-03-06 Micron Technology, Inc. Buffer control system and method for a memory system having outstanding read and write request buffers
US7181584B2 (en) * 2004-02-05 2007-02-20 Micron Technology, Inc. Dynamic command and/or address mirroring system and method for memory modules
US7412574B2 (en) * 2004-02-05 2008-08-12 Micron Technology, Inc. System and method for arbitration of memory responses in a hub-based memory system
US7788451B2 (en) * 2004-02-05 2010-08-31 Micron Technology, Inc. Apparatus and method for data bypass for a bi-directional data bus in a hub-based memory sub-system
US7366864B2 (en) * 2004-03-08 2008-04-29 Micron Technology, Inc. Memory hub architecture having programmable lane widths
US7257683B2 (en) * 2004-03-24 2007-08-14 Micron Technology, Inc. Memory arbitration system and method having an arbitration packet protocol
US7120723B2 (en) * 2004-03-25 2006-10-10 Micron Technology, Inc. System and method for memory hub-based expansion bus
US7447240B2 (en) * 2004-03-29 2008-11-04 Micron Technology, Inc. Method and system for synchronizing communications links in a hub-based memory system
US7213082B2 (en) * 2004-03-29 2007-05-01 Micron Technology, Inc. Memory hub and method for providing memory sequencing hints
US6980042B2 (en) * 2004-04-05 2005-12-27 Micron Technology, Inc. Delay line synchronizer apparatus and method
US7590797B2 (en) 2004-04-08 2009-09-15 Micron Technology, Inc. System and method for optimizing interconnections of components in a multichip memory module
US7162567B2 (en) * 2004-05-14 2007-01-09 Micron Technology, Inc. Memory hub and method for memory sequencing
US7222213B2 (en) * 2004-05-17 2007-05-22 Micron Technology, Inc. System and method for communicating the synchronization status of memory modules during initialization of the memory modules
US7363419B2 (en) * 2004-05-28 2008-04-22 Micron Technology, Inc. Method and system for terminating write commands in a hub-based memory system
US7310748B2 (en) * 2004-06-04 2007-12-18 Micron Technology, Inc. Memory hub tester interface and method for use thereof
US7519788B2 (en) * 2004-06-04 2009-04-14 Micron Technology, Inc. System and method for an asynchronous data buffer having buffer write and read pointers
US7392331B2 (en) * 2004-08-31 2008-06-24 Micron Technology, Inc. System and method for transmitting data packets in a computer system having a memory hub architecture
US20060168407A1 (en) * 2005-01-26 2006-07-27 Micron Technology, Inc. Memory hub system and method having large virtual page size
US8983893B2 (en) * 2012-08-08 2015-03-17 Fujitsu Limited Modeling dynamic graphs with binary decision diagrams
CN109959885B (zh) * 2017-12-26 2021-04-30 深圳先进技术研究院 一种基于二元决策树的成像方法及其装置和储存介质

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4606066A (en) * 1982-09-09 1986-08-12 Hitachi, Ltd. Programmable image processor
JP2638774B2 (ja) * 1986-01-08 1997-08-06 ソニー株式会社 テレビジヨン受像機
JPH04294166A (ja) * 1991-03-25 1992-10-19 Ricoh Co Ltd 画像処理装置

Also Published As

Publication number Publication date
DE69906186D1 (de) 2003-04-30
US6392653B1 (en) 2002-05-21
EP0967573B1 (de) 2003-03-26
EP0967573A1 (de) 1999-12-29
FR2780535B1 (fr) 2000-08-25
FR2780535A1 (fr) 1999-12-31

Similar Documents

Publication Publication Date Title
DE69906186T2 (de) Vorrichtung zur Bearbeitung von erfassten Daten, insbesondere Bilddaten
DE69529210T2 (de) Verfahren zum paaren von fingerabdrückminutiae mittels attribut-verhältnissgraphen
DE69517524T3 (de) Automatische erkennung von läsionen in der computertomographie
DE69222707T2 (de) Zeichenverdünnung mit Verwendung des Auftrittsverhaltens von lokal unabhängigen kompetitiven Prozessen
DE69610478T2 (de) Zeichenerkennungssystembestimmung von abgetasteten und "echtzeit"-handgeschriebenen zeichen
DE69324207T2 (de) Bildgruppierungsvorrichtung
DE69329144T2 (de) Verfahren und gerät zur verarbeitung von datenfolgen
DE3886560T2 (de) Musterkonturen in Bildverarbeitung.
DE60318471T2 (de) Extraktion von wissen mittels eines objektbasierten semantischen netzes
DE2557553C2 (de) Maschinelles Verfahren zur Verdichtung und -Wiederausdehnung eines beliebigen Schwarzweiß-Bildes und Einrichtung zur Durchführung des Verfahrens
EP1789925B1 (de) Vorrichtung, verfahren und computerprogramm zum ermitteln einer information über eine form und/oder eine lage einer ellipse in einem graphischen bild
DE69811049T2 (de) Elektronisches bildverarbeitungsgerät zur detektion von dimensionnellen änderungen
DE68928484T2 (de) Verfahren zum erkennen von bildstrukturen
DE60208431T2 (de) Verfahren zur automatischen etikettierung von zweigen
DE112020004321T5 (de) Kontextuelle erdung von phrasen in natürlicher sprache in bildern
DE112010003810B4 (de) Verfahren, Programm und paralleles Computersystem für die Planung einer Vielzahl von Berechnungsverfahren einschließlich All-to-All Kommunikation (A2A) zwischen einer Vielzahl von Knoten (Prozessoren), die ein Netzwerk formen
DE102004009143A1 (de) Randdetektion für eine medizinische Bildgebung
DE102009036467A1 (de) Mustermodell-Positionierungsverfahren bei Bildverarbeitung, Bildverarbeitungsvorrichtung, Bildverarbeitsprogamm und computerlesbares Aufzeichnungsmedium
DE2340597A1 (de) Bildverarbeitungsanordnung
DE2459427A1 (de) Anordnung zum skelettieren von zeichen
DE10304360A1 (de) Unstarre Bilderfassung unter Verwendung von Abstandsfunktionen
EP1437685A2 (de) Verfahren zum Segmentieren einer dreidimensionalen Struktur
DE102006044595B4 (de) Bildverarbeitungsvorrichtung zur Segmentierung anhand von Konturpunkten
DE69327129T2 (de) Vorrichtung zum Bearbeiten von dreidimensionalen Bildinformationen mit Hervorhebung von herausstechenden Linien
EP1038259B1 (de) Vorrichtung zur bilderfassung

Legal Events

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