DE60208883T2 - Softwaresystem zum verteilen von bildverarbeitungsfunktionen auf einer programmierbaren plattform mit verteilten prozessorumgebungen - Google Patents

Softwaresystem zum verteilen von bildverarbeitungsfunktionen auf einer programmierbaren plattform mit verteilten prozessorumgebungen Download PDF

Info

Publication number
DE60208883T2
DE60208883T2 DE60208883T DE60208883T DE60208883T2 DE 60208883 T2 DE60208883 T2 DE 60208883T2 DE 60208883 T DE60208883 T DE 60208883T DE 60208883 T DE60208883 T DE 60208883T DE 60208883 T2 DE60208883 T2 DE 60208883T2
Authority
DE
Germany
Prior art keywords
image
data
strips
module
software system
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
DE60208883T
Other languages
English (en)
Other versions
DE60208883D1 (de
Inventor
Raoul Florent
R. Claude MEQUIO
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.)
Koninklijke Philips NV
Original Assignee
Koninklijke Philips Electronics NV
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 Koninklijke Philips Electronics NV filed Critical Koninklijke Philips Electronics NV
Publication of DE60208883D1 publication Critical patent/DE60208883D1/de
Application granted granted Critical
Publication of DE60208883T2 publication Critical patent/DE60208883T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Image Processing (AREA)
  • Multi Processors (AREA)
  • Computer And Data Communications (AREA)
  • Apparatus For Radiation Diagnosis (AREA)

Description

  • Die Erfindung betrifft ein Softwaresystem, bezeichnet als Bildtransportmaschine, für die Verarbeitung einer Bildsequenz zum Verteilen von Bildverarbeitungsfunktionen auf einem Multiprozessorsystem mit der Bezeichnung Plattform, wobei die besagte Plattform Eingabebilddaten generiert, um verarbeitete Ausgabebilddaten bereitzustellen. Die Verteilung ist bekannt als Kartierungsoperation von Softwarebauteilen auf Hardwarebauteilen.
  • Die Erfindung findet eine bestimmte Anwendung im Bereich von Softwaresystemen, entwickelt für die Verarbeitung von Sequenzen medizinischer Röntgenbilder.
  • Ein Softwarepaket, welches die Fähigkeit bietet, mehrere Verarbeitungen auszuführen, die an denselben Bildverarbeitungsaufgaben mitwirken, unter Verwendung von multiprozessorbasierten Signalverarbeitungsystemen zur Bildung einer verteilten programmierbaren Plattform, ist bereits aus der Veröffentlichung mit dem Titel „A new development Framework Based on Efficient Middleware for Real-Time Embedded Heterogeneous Multi-computers" von Randal JANKA bekannt aus: „Proceedings of IEEE Conference and Workshop on Engineering of Computer-Based Systems", Nashville, TN, USA, 7.–12. März 1999, S. 261–268. Gemäß der oben genannten Veröffentlichung werden Signalverarbeitungsanwendungen zunehmend komplex und erfordern nunmehr „skalierbare heterogene Multirechner" für das Erlangen zufriedenstellender Leistung. Spezifische Multiprozessor-Hardwareziele haben deshalb mehr und mehr Berechnungsduchsatz und Interprozessor-Kommunikationsbandbreite, um diese Anforderungen zufrieden zu stellen. Eine Software, welche die Schwierigkeit dieser Entwicklung erleichtert, ist bekannt als „Middleware", und ist in einer Schicht über einem Standard-Betriebssystem und unter der Anwendungssoftware befindlich, d. h. die Middleware ist eine Mehrzwecksoftware, die zwischen einer Plattform und der Anwendung liegt. Die Plattform besteht aus Verarbeitungselementen, deren Struktur von den Prozessorarchitekturen und Schnittstellen für die Programmierung der Betriebssystemanwendung definiert werden. Die Middleware wird von den Schnittstellen für die Programmierung der Anwendung und den Protokollen, die sie unterstützt, definiert. Sie kann zahlreiche Einsatzmöglichkeiten haben, die konform mit den Spezifikationen ihrer Schnittstelle und ihres Protokolls sind, abhängig von der Anzahl und dem Typ der Hardwareziele, denen sie dient. Ein „Framework" ist eine Softwareumgebung, die entwickelt wird, um die Anwendungsentwicklung und das Systemmanagement für einen spezialisierten Anwendungsbereich zu vereinfachen, wie die Signalverarbeitung in Echtzeit, das von der Schnittstelle einer Anwendungsprogrammierung, einer Anwenderschnittstelle und Middlewares definiert wird. Eine Middleware mit der Bezeichnung TALARIS Middleware von „MERCURY Computer Systems" wird in der aufgeführten Veröffentlichung berücksichtigt. Ein Framework mit der Bezeichnung „PeakWare für RACE" bezeichnet als PW4R" wird oben auf die TALARIS Middleware geschichtet, die entwickelt ist, um die Integration von graphischen Entwicklungswerkzeugen in skalierbaren heterogenen Systemen zu unterstützen. Die PW4R erlaubt es dem Entwickler, die Software und Hardware der Anwendung graphisch zu spezifizieren und dann die Software auf die Hardware zu kartieren. Womit die PW4R ein hochwertiges Mittel ist, welche es dem MERCURY Computer System erlaubt, verbesserte Flexibilität zu zeigen, d. h. leicht erweitert werden zu können, was bei vorhergehenden Systemen nicht der Fall war, die geringwertige Mittel verwenden. In Bezug auf ein derartiges Rechnersystem können viele verschiedene algorithmische Konfigurationen benötigt werden. Auch Algorithmen, die komplex sind, können mit anderen neu auf die Plattform eingebrachten Algorithmen kombiniert oder verbunden werden. Außerdem kann die Plattform neue Rechnermittel erhalten oder gewisse Rechnermittel können ausgetauscht oder entfernt werden. Die PW4R ist eine Lösung für dieses Flexibilitätsproblem.
  • Das Patent US 5461679 enthüllt einen Echtzeit-MPEG-Kodierer/Dekodierer für Videodaten. Aufgebaut als Multiprozessor-Umgebung partitioniert der Kodierer/Dekodierer die Daten in horizontale – möglicherweise überlappende – Streifen, die verschiedenen Prozessoren zugeteilt werden.
  • Es wird eine Synchronisation unter Verwendung eines Jobstapels für Nebenprozessoren ausgeführt, in die der Stapel von einem Hauptprozessor gespeist wird. Die Rollen des Haupt- und eines der Nebenprozessoren werden nach der Verarbeitung jedes einzelnen Bilds getauscht.
  • Bei der digitalen Bildverarbeitung, und insbesondere bei der Verarbeitung einer medizinischen digitalen Röntgenbildsequenz, werden Prozessoren verwendet, um algorithmische Bildverarbeitungen zu bewerkstelligen, die während dem Echtzeitbetrieb erforderlich sind. Aufgrund der Rechenleistung, die dies mit sich bringt, müssen mehrere auf einer Plattform verteilte Prozessoren an derselben Aufgabe mitwirken. Das bekannte Framework PW4R ist aus weiter unten dargelegten Gründen keine Lösung für die Probleme der Verarbeitung von medizinischen digitalen Röntgenbildsequenzen.
  • Ein erstes Hauptproblem hinsichtlich einem derartigen Bildverarbeitungssystem bezieht sich auf die Latenz, die als die notwendige Zeit definiert wird, um ein verarbeitetes Bildelement in Bezug auf den Zeitpunkt wiederzugeben, in dem das System die Verarbeitung dieses Bildelements beginnt. Beispielsweise kann ein medizinisches System verwendet werden, um eine Bildsequenz aufzunehmen und verarbeitete Bilder der besagten Sequenz während einer Herzoperation wiederzugeben, welche die Einführung eines Katheters von einem Arzt in die Arterie eines Patienten und die Verfolgung der Katheterprogression in der besagten Arterie auf einem Bildschirm beinhaltet. In diesem Fall ist es besonders wichtig, dass das medizinische System dem Arzt über das Bild eine getreue Rückmeldung liefert. Wenn der Arzt den Katheter handhabt, muss das Ergebnis seiner Handlung nach einer sehr kurzen Verzögerung auf dem Bildschirm wahrnehmbar sein. Eine zulässige Verzögerung beträgt beispielsweise 80 ms., was 2 Bildrahmen in einer Sequenz entspricht, die mit einer Rate von 25 Bildern pro Sekunde aufgenommen wurde. Für diesen Zweck muss die gesamte Rechenlatenz des Bildverarbeitungssystems vermindert werden.
  • Ein zweites Hauptproblem hinsichtlich einer derartigen Bildverarbeitung bezieht sich auf die Summe der innerhalb der zulässigen Verzögerung zu übertragenden Pixel. Aufgrund des Echtzeitbetriebs hat diese Summe pro Sekunde die Größenordnung von zu verarbeitenden Megapixeln.
  • Die dem Rechnersystem angegliederte PW4R, enthüllt in der oben genannte Veröffentlichung, schlägt für diese zwei Hauptprobleme keine Lösungen vor. Die Entwicklung eines Systems, dass diese Probleme löst, erfordert die präzise Spezifikation eines Berechnungsmodells, das sich für den Anwendungsbereich der Bildverarbeitung eignet. Dieses Berechnungsmodell beinhaltet die Entwicklung eines effizienten Mechanismus für das Erlangen der notwendigen, oben beschriebenen Leistungen.
  • Ein weiteres Problem liegt in der Verwendung von Speichermitteln zwischen den verschiedenen auf der Plattform verteilten Prozessoren. Wenn von allen Prozessoren nur ein Speicher geteilt wird, würde dies zu Konflikten führen. Es wären arbiträre Mittel für die Bewältigung dieser Konflikte notwendig, was zu Latenz führen würde. Ein weiteres Problem, spezifisch für die Bildverarbeitung, liegt der Tatsache zugrunde, dass das Bild entweder pixelweise verarbeitet wird, was nicht effizient ist, oder bildweise, was hinsichtlich der Übertragung effizient, aber hinsichtlich der Latenz nicht effizient ist. Ein anderes Problem liegt der Tatsache zugrunde, dass man gegebenenfalls viele verschiedene algorithmische Konfigurationen benötigen würde. Somit wird ein Verfahren für die Automatisierung der Funktionsweise der verschiedenen möglichen Konfigurationen benötigt.
  • Ein Ziel der Erfindung ist es, ein Softwaresystem bereitzustellen, bezeichnet als Bildtransportmaschine für die Verarbeitung einer Bildsequenz zum Verteilen von Bildverarbeitungsfunktionen auf einem Multiprozessorsystem mit der Bezeichnung Plattform, wobei die besagte Plattform Eingabebilddaten generiert, um verarbeitete Ausgabebilddaten bereitzustellen.
  • Diese Problem wird mit einer Bildtransportmaschine nach Anspruch 1 und gemäß den abhängigen Ansprüchen gelöst. Diese Bildtransportmaschine beinhaltet ein Modell zur Partitionierung von Softwaredaten, bezeichnet als Kommunikationsmuster, das die Bilder der Sequenz unter Verwendung von zeitmarkierten Datenpaketen partitioniert, deren Übertragung die Ausführung der besagten Bildverarbeitungsfunktionen überlappen kann.
  • Die Bildtransportmaschine gemäß der Erfindung weist mehrere Vorteile auf: Sie ist dazu in der Lage, die Verteilung der besagten Bildverarbeitungsfunktionen auf der Plattform auf eine Art und Weise auszuführen, die automatisch und flexibel ist. Sie ermöglicht es, die Latenz so klein wie möglich zu halten. Insbesondere ist sie sowohl hinsichtlich der Übertragung als auch der Latenz effizient. Sie ermöglicht die Verteilung mehrerer Algorithmen, die verschiedene Bildverarbeitungsfunktionen ausführen. Sie ist besonders geeignete für die Verwendung in Programmen für die Verarbeitung medizinischer Röntgenbildsequenzen. In einer Ausführungsform schlägt die Erfindung Mittel vor, welche das Konfliktproblem lösen.
  • Die Erfindung wird hiernach hinsichtlich der diagrammatischen Figuren in Details beschrieben, von denen:
  • 1A ein Blockdiagramm einer Fließbandstruktur des Kommunikationsmusters ist;
  • 1B ein Blockdiagramm einer Zerstreuungs/Sammlungs-Struktur des Kommunikationsmusters ist;
  • 1C ein Blockdiagramm einer Zweigstruktur des Kommunikationsmusters ist;
  • 1D ein Blockdiagramm einer Breitbandstruktur des Kommunikationsmusters ist;
  • 2 die Fließbandübertragung ohne Überlappung veranschaulicht;
  • 3A die Fließbandübertragung mit Überlappung veranschaulicht;
  • 3B die Zerstreuungsübertragung mit Überlappung veranschaulicht;
  • 3C die Sammlungsübertragung mit Überlappung veranschaulicht;
  • 3D die Zweiganschluss-Übertragung mit Überlappung veranschaulicht;
  • 4 ein Blockdiagramm einer medizinischen Vorrichtung mit Verarbeitungsmitteln für die Verwendung der Bildtransportmaschine ist.
  • Die Erfindung betrifft ein Softwaresystem, bezeichnet als Bildtransportmaschine, auf der Grundlage eines Softwarebauteils mit der Bezeichnung Kommunikationsmuster, das am oberen Ende einer programmierbaren Hardwarearchitektur mit der Bezeichnung Plattform liegt. Die Bildtransportmaschine führt die Verteilung von einer oder mehreren algorithmischen Verarbeitungsfunktionsketten auf der besagten Plattform aus. Die Plattform enthält einen Satz verteilter Prozessorumgebungen, bezeichnet CE, mit Pfadverbindungen. In einem Ausführungsbeispiel wird die besagte Bildtransportmaschine hiernach für den automatischen Einsatz von digitalen Röntgenbild-Verarbeitungsfunktionen, bezeichnet IP, auf der Plattform beschrieben. Effizienz, Erweiterbarkeit, Flexibilität, niedrige Latenz und Anwenderfreundlichkeit sind einige der Kennzeichen dieser Bildtransportmaschine.
  • Diese Bildtransportmaschine ist aufgrund des Anwendungsbereichs Bedingungen unterworfen, welcher die Bildnachverarbeitung für Röntgensysteme ist.
  • Beispielsweise bei der Eingabe von Daten: Kann die Bildgröße eine Größenordnung von 1K × 1K × 16 Bits Pixel haben? Die Bildrate die Größenordnung von 25 oder 30 Bildern pro Sekunde betragen? Das Scanning des Bilds verläuft progressiv, die Daten kommen in horizontalen Zeilen. Die Bildtransportmaschine lässt nur eine Liveeingabe zu. Die Bildgröße und die Bildrate können geändert werden, aber nicht während einer Bildsequenz. Für die Ausgabe von Daten kann die Bildgröße 1K × 1K × 16 Bits Pixel zur Anzeige oder Ablage betragen. Die Anzeige kann ein medizinischer Monitor sein. Die Bildspeicherung auf einer Platte kann auf verschiedenen Ebenen der Verarbeitungskette erforderlich sein. In der Verarbeitungskette können mehrere Algorithmen miteinander kombiniert werden. Es ist ein Ziel der vorgeschlagenen Bildtransportmaschine, dass die Latenz kürzer als ein Bildzeitintervall ist. Es kann mehr Latenz zugelassen werden, wenn die Algorithmen mehr erfordern. Die Bilder werden in Serien geformt, und alle Bilder einer bestimmten Sequenz müssen verarbeitet werden, um einen Bildverlust zu vermeiden. Diese Bildtransportmaschine hat auch die Fähigkeit, verschiedene Algorithmen zu vergleichen. Die Parameter können zwischen Bildern geändert werden. Die Algorithmen, die auf der Plattform zu verteilen sind, können enthalten: Eine Rauschreduzierungsverarbeitung mit temporalen, spatialen oder spatio-temporalen Verarbeitungsfunktionen, Kontrastanhebung oder Randanhebung bei Multiauflösung, Bildsubtraktion, Zoom mit Interpolation, Bildrotation, Bewegungsbestimmung; Strukturdetektion, Strukturextraktion, wie dem Fachmann bekannt. Diese als Beispiel gegebene Liste ist nicht erschöpfend. Die Algorithmen können nicht linear sein, verschiedene spatiale Breiten haben, d. h. Nachbarbereiche können kausal oder antikausal sein. Die algorithmische Komplexität kann bis zu 100 Operationen pro Pixel erreichen.
  • Diese Liste veranschaulicht, dass der Einsatz einer Multiprozessoranwendung für die Röntgenbildverarbeitung sehr vielen Bedingungen unterworfen ist. Datenrate, Latenz, spatiale Filterbreite und algorithmische Diversität machen die Entwicklung eines effizienten Einsatzes sehr delikat. Flexibilität und Erweiterbarkeit sind bedingende Faktoren, denn am oberen Ende der Leistungsausgabe erfordern sie zusätzlich eine beträchtliche Vereinfachung: Das Einfügen, Entfernen oder Tauschen eines Algorithmus muss mit einfachen Eingriffen erreicht werden. Auch die Bildtransportmaschine sollte für Nichtspezialisten handhabbar sein. Sie sollte nicht die Anwendungsintegrität gefährden. Die Bildgröße oder Bildrate muss einfach geändert werden können. Ein neuer Prozessor mit möglicherweise mehr Leistung muss der Plattform Hinzugefügt werden können. Es müssen beliebige Modifikationen an der Anwendungsinfrastruktur mit leichten Eingriffen handhabbar sein.
  • I) Spezifikation des Kommunikationsmusters
  • Die Bildtransportmaschine wurde entwickelt, um alle den oben genannten Anforderungen zu entsprechen. Der Aufbau einer effizienten Kommunikationsinfrastruktur für eine verteilte Verarbeitungsanwendung führt zur Spezifikation eines Kommunikationsmusters. Die Gesamtfunktionsweise der besagten Bildtransportmaschine wird allein über die Spezifikation des Kommunikationsmusters automatisiert, womit alle Kommunikationsdaten und Verarbeitungssteuerungen automatisch bewerkstelligt werden. Das hiernach definierte Kommunikationsmuster ist dazu fähig, verteilte Röntgenanwendungen zu handhaben und einem Anwender Mittel für die Division einer spezifischen Kommunikationsinfrastruktur bereitzustellen, die einer bestimmten Anwendung angepasst sind.
  • Die Definition dieses Kommunikationsmusters beinhaltet Phasen der Definition der Zielhardware mit einer Reihe von Prozessoren, ihrer Rechenleistung und Anschlussmöglichkeit. Die angezielte Hardwareplattform kann einem kommerziellen Betriebssystem und einem kommerziellen Hostprozessor angegliedert sein, ausgerüstet mit extra verteilten programmierbaren Umgebungen, bezeichnet als Rechenumgebungen, benannt CE, die untereinander Daten austauschen können. Die Rechenumgebungen sind mit physisch programmierbaren Datenpfaden mit der Bezeichnung BUS miteinander verbunden. Beide CEs enthalten einen Prozessor, seinen lokalen Speicher und dazu fähige Schnittstellenmittel, Übertragungen über den BUS zu überwachen. Jeder CE ist an ein kommerzielles Echtzeit-Betriebssystem angegliedert, das Basiseinrichtungen enthält, um die Datenübertragung und Synchronisierung zwischen CEs zu bewerkstelligen. Dieses kommerzielle Echtzeit-Betriebssystem entspricht nicht den vorher definierten Bedürfnissen an Flexibilität und Erweiterbarkeit.
  • Aus diesem Grund wird gemäß der Erfindung das Softwarebauteil mit der Bezeichnung Bildtransportmaschine analysiert, um die Entwicklung und Codierung einer parallelen Anwendung bis zu dem Punkt zu erleichtern, an dem nur Bildverarbeitungsfunktionen codiert werden müssen und wo die gesamte Anwendungsinfrastruktur anhand einer textuellen oder diagrammatischen Beschreibung spezifiziert und generiert werden kann. Diese Bildtransportmaschine hat die Vorgabe, Anwendungen sowohl hinsichtlich der Latenz als auch des Ablaufs effizient abzuwickeln. Für diesen Zweck basiert die Bildtransportmaschine auf einem Kommunikationsmuster, das für die Übertragung von Bilddatenpaketen entwickelt wurde. Die Latenz bezieht sich auf die durchschnittliche Übertragungszeit eines Datenelements durch das System von der Eingabe zur Ausgabe. Der Ablauf bezieht sich auf die Effizienz der Übertragung, Synchronisierung und Instruierung von Daten. Die Synchronisierung eines Bilddatenpakets ist effizient, wenn sie im Vergleich zur Übertragungszeit des Bilddatenpakets sehr kurz ist.
  • Die Übertragung eines Bilddatenpaket ist effizient, wenn sie die Bandbreite des BUSSES voll nutzt, über den diese Übertragung stattfindet. Und die Instruierung der Übertragung eines Bilddatenpaket ist effizient, wenn sie in Bezug auf die lokale Verarbeitung, also die temporale Überlappung der Verarbeitung und Kommunikation der Daten, geschmeidig ist.
  • In Bezug auf 1A bis 1D ist das Kommunikationsmuster ein Modell zur Ermöglichung der Definition der Bildverarbeitungsanwendung. Das besagte Kommunikationsmuster ist ein dafür ausgerichtetes Softwaremodell, die Automatisierung und die Optimierung der Kommunikation und Berechnung von Daten über eine Reihe von Bildverarbeitungsfunktionen IP zu bewerkstelligen, die in die besagte Bildverarbeitungsanwendung eingebunden sind. Das besagte Kommunikationsmuster handhabt elementare Bilddatenpakete, die regulär von Modul zu Modul weitergeleitet von Softwaremodulen verarbeitet werden. Die gesamte Verarbeitung kann als Ablauf aufeinanderfolgender Bilddatenpakete betrachtet werden, die sich gegenseitig in das Modell schieben, wo sie auf die Berechnungseinheiten mit der Bezeichnung Module treffen, die sie wiederholt nach und nach verarbeiten. Allerdings muss das System vor dem Erlangen eines flüssigen Datenflusses aus einem Sperrzustand starten, in dem jedes Modul in einem Initialisierungszustand blockiert ist, und unter Vermeidung von Stockungen und inkorrekter Synchronisierung Geschwindigkeit aufnehmen. Das Kommunikationsmuster wird aus mehreren Softwarebauteilen geformt, angeordnet gemäß einer Datenkommunikationsentwicklung mit Knoten, Schnittstellen und Kanten.
  • Die Knoten sind Softwaremodule, zur Vereinfachung als Module bezeichnet, in Rahmen gezeigt. Die Module sind Ausführungseinheiten. Die Aufgabe eines Moduls besteht in der Aktivierung der Bildverarbeitungsfunktion, bezeichnet IP, die ihm angegliedert ist, und der Bewerkstelligung der entsprechenden Übertragungen und Synchronisierung der Daten. Einem bestimmten Modul ist nur eine Bildverarbeitungsfunktion IP angegliedert. Diese Funktion IP kann ihrerseits mehrere andere Funktionen aufrufen. Die Bildverarbeitungsfunktionen IP werden innerhalb der Grenze der Verarbeitung und generell auf einer Bilddatenpaketebene definiert, um eine niedrige Latenz zu versichern. Somit wird eine Bildverarbeitungsanwendung als ein Satz von Daten, Parameter oder Synchronisierungsinformation austauschenden Modulen definiert. Das Kommunikationsmuster schließt weder Multiverarbeitung, d. h. mehrere Module, die zur selben Bildverarbeitungsanwendung unter selbem Prozessorbetrieb gehören, noch konkurrierende Bildverarbeitungsanwendungen, d. h. mehrere gesonderte Bildverarbeitungsanwendungen, die dieselben Prozessoren teilen, nicht aus.
  • Die Kanten sind Verbindungen, die mit Pfeilen dargestellt und die mit Anschlüsse bezeichnet werden. Das Kommunikationsmuster definiert die logische Anschlussmöglichkeit in Verbindung mit dem Modul einer bestimmten Anwendung. Womit das Kommunikationsmuster so ausgerichtet ist, dass die Daten über eine Verbindung nur in eine Richtung und auf zyklische Art und Weise fließen: Schleifen sind nicht gestattet, und es gibt keine vorgeschaltete Datenverbindung. Die die Anschlüsse darstellenden Pfeile sind dementsprechend ausgerichtet.
  • Die Schnittstellen zwischen den Modulen und Anschlüssen sind Ports. Die Module haben eine spezifische interne Struktur, welche ihnen den Austausch von Information ermöglicht. Der einzige Weg für den Austausch von Information mit einem Modul verläuft über die Ports. Die mit den Pfeilen angegebenen Anschlussrichtungen definieren Eingabeports und Ausgabeports. Wenn diese Module mit zum Kommunikationsmuster externen Einheiten kommunizieren müssen, werden diese Einheiten als Terminalports bezeichnet. Die Anschlüsse definieren den für den Informationsaustausch zwischen Modulports zuständigen Mechanismus. Logische Anschlüsse können nur erfolgreich sein, wenn sie physischen Pfaden, d. h. physischen Anschlüssen angegliedert sind.
  • Es werden drei Typen von Anschlussklassen definiert: Der erste Typ ist die Datenanschlussklasse, worin die Anschlüsse Bilddaten handhaben. Die Datenanschlüsse sind spezialisiert für die Übertragung von Bilddatenpaketen und sind unidirektional. Der zweite Typ ist die Terminalanschlussklasse, der Halbanschlüsse zur Verbindung von Modulports mit Terminalports enthält und unidirektional ist. Der dritte Typ ist die Parameteranschlussklasse, die Algorithmusparameter handhabt und bidirektional ist.
  • Jeder Datenanschluss bezieht sich auf einen Parameter für die Angabe des Typs der zu übertragenden Daten, der statisch definiert ist. Tatsächlich reicht die Anzahl der Bytes pro Pixel aus, solange eine Datenübertragung betroffen ist. Das Kommunikationsmuster erlaubt keine Konvertierung des Typs während der Datenübertragungszeit. Wenn derartige Konvertierungen notwendig sind, müssen sie innerhalb der Bildverarbeitungsfunktionen IP implementiert werden. Somit handhaben alle Eingabe- und Ausgabeports, die einem bestimmten Anschluss entsprechen, mit demselben Datentyp, womit ein einziger Parameter pro Anschluss gerechtfertigt wird. Solange eine Datenübertragung betroffen ist, ist jede beliebige Anzahl von Bytes pro Pixel annehmbar. Allerdings, da der Datentyp auch auf der Ebene der Bildverarbeitungsfunktion IP von Bedeutung ist, werden mögliche Werte von 1, 2, 4 oder 8 Bytes pro Pixel spezifiziert.
  • Die Module enthalten mehrere Typen, worunter: Ein Sourcemodul, bezeichnet SOURCE, das keinerlei Eingabedatenanschluss aufweist und das zusammen mit Synchronisierungsinformation für die Generierung der zu verarbeitenden Daten zuständig ist; ein Sinkmodul, bezeichnet SINK, das keinerlei Ausgabedatenanschluss aufweist und als Empfänger verarbeiteter Daten verwendet wird; und gewöhnliche Module, bezeichnet MOD, die weder Source- noch Sinkmodule sind. Die Source- und Sinkmodule sind naturgemäß oft mit Eingabe- und Ausgabe-Terminalanschlüssen ausgerüstet. Es gibt nur ein Sourcemodul pro Kommunikationsmuster. Dagegen kann es mehrere Sinkmodule geben. Es ist darauf hinzuweisen, dass Terminalausgabeanschlüsse nicht notwendigerweise von einem Sinkmodul hervorgehen. Terminalanschlüsse können an verschiedenen Stellen des Kommunikationsmusters verwendet werden, um beispielsweise Daten auf einem bestimmten Medium zu speichern.
  • Das Sourcemodul kann mehrere Ausgabedatenanschlüsse aufweisen, unter der Voraussetzung, dass sie synchrone Datenströme ausgeben. Das Sourcemodul ist auch zuständig für die Erzeugung einer Zeitreferenz-Datenstruktur, bezeichnet Time-Ref welche jedes Bilddatenpaket einer bestimmten Bildsequenz lokalisiert. Tatsächlich enthält diese Referenz ein Feld, das einen Bildindex innerhalb der Bildsequenz identifiziert, und ein Feld, welches sich auf den Paketindex innerhalb des laufenden Bilds bezieht. Die Time-Ref wird zusammen mit dem entsprechenden Paket von Modul zu Modul weitergeleitet. Sie ermöglicht die Ausführung mehrerer wichtiger Aufgaben, die aus der Datenlokalisierung, dem Management der Bildverarbeitungsfunktion IP und dem Verzögerungsmanagement bestehen. Die Time-Ref ist per Definition eine Zeitreferenzstruktur, die Datenpakete in Bezug auf den Bildindex in der Sequenz und in Bezug auf die Datenpaketposition innerhalb des laufenden Bilds lokalisiert. Sie ist somit nicht eine Datenpaketreferenz, in der mehrere gesonderte Datenpakete zusammen mit Time-Ref-Strukturen mit derselben Information übertragen werden können. Dies ist insbesondere der Fall, wenn ein bestimmtes Eingabedatenpaket mehrere Ausgabedatenpakete hervorbringt.
  • Mit den soweit eingebrachten Elemente ist es bereits möglich, sehr komplexe valide Kommunikationsmodelle zu erstellen. Es werden hiernach die Anschlussregeln präsentiert: Jedes Modul ist mit einem einzigen Parameteranschluss ausgerüstet; jedes Kommunikationsmuster muss mindestens ein Source- und ein Sinkmodul enthalten; das Sourcemodul ist einzig; es können mehrere Sinkmodule gleichzeitig bestehen; das Source kann mehrere Datenausgabeports entsprechend synchronen Strömen aufweisen; das Sink kann mehrere Dateneingabeports aufweisen; ein gewöhnliches Modul kann mehr als einen Eingabe- und/oder Ausgabeport aufweisen; ein Datenausgabeport kann von mehreren einfache Datenanschlüssen gelesen werden; ein Dateneingabeport kann nicht von mehreren einfachen Datenanschlüssen beschrieben werden; Datenanschlüsse können Fließbandebenen umgehen; Datenanschlussschleifen („No-loop"-Regel) sind nicht gestattet; mehrere Anschlüsse können nur vereint werden, wenn sie aus gemeinsamer Zerstreuung kommen und wenn sie dieselbe Streifenübertragungsfrequenz aufweisen; eine Teilsammlung ist möglich, wenn sie die letzten zwei Regeln beachtet. Die meisten oben aufgeführten Regeln sind natürlich oder permissiv. Allerdings scheint die „No-loop"-Regel die Möglichkeit der temporalen Implementierung rekursiver Algorithmen definitiv auszuschließen. Dies ist auch tatsächlich eine inkorrekte Assertion. Temporale rekursive Filter erfordern vorhergehende ausgehende Daten als Eingabe. Aber es besteht keine Erfordernis für die Wiedergewinnung vorhergehender Ausgabedaten von einem externen Pfad, wenn diese Daten intern erzeugt wurden. Es reicht aus, dem Entwickler eine Art der Datenspeicherung zwischen konsekutiven Bildern bereitzustellen, um diese Schwierigkeit zu bewältigen. Somit verhindert die Entfernung von Datenanschlussschleifen aus Kommunikationsmuster-Spezifikationen eine katastrophale Implementierung und theoretische Probleme. Ebenso darf nicht gefolgert werden, dass eventuelle Feedbacks auf intermodularer Ebene unmöglich sind. Die „No-loop"-Bedingung findet nur auf Datenanschlüsse Anwendung, aber Parameteranschlüsse können einwandfrei verwendet werden, um begrenzte Feedbacks einzubringen, beispielsweise unter Einbezug von Steuerinformation.
  • II) Kartierung des Kommunikationsmusters auf der Plattform.
  • Das Kommunikationsmuster ist auf der Plattform kartiert. Die Kartierungsoperation definiert die Verbindung zwischen Modulen und Rechenumgebungen und gewährt eine Implementierung der Art, wie die Bildverarbeitungsfunktionen IP mit den Daten interagiert, die das Prozessornetzwerk durchlaufen. Diese Operation beinhaltet Phasen der Partitionierung der Eingabedaten in Datenpakete und die Übertragung der besagten Bilddatenpakete.
  • Gemäß der Erfindung werden die Eingabedaten vom Sourcemodul in Datenpakete partitioniert, die Datenscheiben mit der Bezeichnung Bildstreifen sind. Ein Bildstreifen ist ein Paket konsekutiver Bildzeilen, möglicherweise andere Bildstreifen überlappend. Im folgenden Beispiel einer röntgenmedizinischen Bildverarbeitung wird ein Bild einer Sequenz horizontal gescannt und die Daten kommen in horizontalen Zeilen an, geformt aus Pixeln, die verarbeitet werden müssen. Das Bild wird nicht pixelweise verarbeitete, was nicht effizient ist, und die Sequenz wird nicht bildweise verarbeitete, was hinsichtlich der Übertragung effizient, aber hinsichtlich der Latent nicht effizient ist. Dagegen wird das Bild in Bildstreifen mit mehreren Zeilen entsprechend der oben beschriebenen Bilddatenpakete unterteilt. Die Bildstreifen sind parallel zu den Bildzeilen. Die Bildstreifen werden für eine Bildverarbeitung übertragen. Tatsächlich bewirkt jedes Modul eine Latenz, die proportional zur der Summe der zu verarbeitenden Daten ist. Der Erfindung gemäß wurde herausgefunden, dass die Verwendung von Bildstreifen sowohl bei der hohen Übertragung als auch bei schwacher Latenz effizient ist. Die Wahl der Anzahl an Zeilen zur Bildung eines Bildstreifens legt einen Kompromiss zwischen der Übertragungseffizienz und der Latenz fest. Die Bildstreifen halten die Latenz kleinstmöglich. Somit muss alles, was vorher hinsichtlich von Datenpaketen beschrieben wurde, für eine Anwendung auf Bildstreifen in Betracht gezogen werden. In einem Ausführungsbeispiel enthält ein Bild mit 1024 Zeilen 32 Bildstreifen mit 32 Zeilen.
  • Da die meisten Röntgenbildalgorithmen 2-D-Nachbarbereiche einführen, muss eine spatiale Überlappung berücksichtigt werden. Überlappungsbereiche werden auf der Ebene des Eingabeports benötigt. Die IP-Funktion wird mit Regionen bereitgestellt, die sowohl den aktiven Bereich enthalten, geformt aus den zu verarbeitenden Pixeln, als auch den Überlappungsbereich, geformt aus zusätzlichen Pixeln, benötigt zur Fertigstellung der Verarbeitung im aktiven Bereich. Da die von der PP-Funktion betrachteten Eingaberegionen natürlich zusammentreffen sollten, werden auf der Modulebene Überlappungsparameter erklärt. Dies bedeutet, dass Algorithmen, die mehrere Eingaben kombinieren, die verschiedene spatiale Breiten erfordern, tatsächlich mit Regionen bereitgestellt werden, die eine einzige Überlappung aufweisen. Auch eine symmetrische Überlappungsgeometrie wird in Betracht gezogen. Da nur horizontale Bildstreifen betrachtet werden kann der Überlappungseffekt von einem einzigen Modulebenenparameter hinsichtlich der Anzahl an Überlappungszeilen an beiden Seiten der Bildstreifen berücksichtigt werden. Es ist zu beachten, dass eine spatiale Überlappung bei jeder Modulkreuzung zusätzliche Streifenverzögerungen bewirkt. Es ist darauf hinzuweisen, dass die spatiale Überlappung nicht mit temporaler Überlappung verwechselt werden darf, die sich auf die Fähigkeit bezieht, dass eine Datenübertragung eine Datenverarbeitung überlappt.
  • Für den Start einer anwenderdefinierten Bildverarbeitungsfunktion IP am laufenden Bildstreifen wird eine Optimierung erreicht, indem eine temporale Inter/Infra-Modul-Eingabe/Ausgabe-Berechnungsüberlappung über mehrere vordefinierte Typen von Anschlussmitteln bewerkstelligt wird. Typen von Anschlussmitteln werden hiernach Fließband bezeichnet, Zerstreuung/Sammlung und Zweiganschlüsse wurden definiert. Unter den oben genannten Anschlüssen bilden die Datenanschlüsse die wichtigste Klasse. Alle Anschlüsse, die zur Klasse der Datenanschlüsse gehören, versichern wiederholte Übertragungen von aufeinanderfolgenden Bildstreifen zusammen mit der notwendigen Synchronisierungsinformation, einschließlich Time-Ref. Sie sind alle monodirektional. In Bezug auf 1A bis 1D enthalten die Datenanschlüsse einen:
    Einfachen Anschluss, bezeichnet PP, als Point-to-Point-Anschluss, der konsekutive Bildstreifen übertragen kann (1A).
  • [1/n]-Zerstreuungsanschluss, bezeichnet SC, der ein Point-to-Point-Anschluss ist, gehörend zur Gruppe von n Anschlüssen, die alle aus dem gemeinsamen Ausgabeport hervorgehen, der Bildstreifen nacheinander mit einer Rate von einem Bildstreifen alle n Bildstreifen übertragen kann. Der entsprechende Sendeport hat die Bezeichnung Datenzerstreuungsport (1B).
  • [1/n]-Sammlungsanschluss, bezeichnet GA, der auch ein Point-to-Point-Anschluss ist, gehörend zur Gruppe von n Anschlüssen, die alle einen gemeinsamen Eingabeport anlaufen, der Bildstreifen nacheinander mit einer Rate von einem Bildstreifen alle n Bildstreifen übertragen und alle Bildstreifen sammeln kann, die diesen Ausgabeport anlaufen. Der entsprechende Empfangsport hat die Bezeichnung Datensammlungsport (1B).
  • Zweiganschluss (1C); bezeichnet BR, der auch ein Point-to-Point-Anschluss ist, ähnlich wie ein einfacher Anschluss, aber zur Verbindung zweier Module, die zum selben Zweig einer Zerstreuungs-Sammlungs-Struktur gehören.
  • Es werden hiernach Beispiele von Kommunikationsmustern beschrieben, welche die besagten Bildstreifen mit kleinstmöglicher Latenz verwenden. Sie bauen auf Methoden der Aufgabenpartitionierung und Methoden der Datenpartitionierung.
  • In Bezug auf 1A beinhaltet eine Fließbandstruktur ein Sourcemodul SOURCE, ein oder mehrere gewöhnliche Module, beispielsweise MOD1, MOD2, und ein Sinkmodul SINK. Die einfachen Anschlüsse PP sind angepasst für die Implementierung der besagten Fließbandstruktur, die eine algorithmische Serienkombination ausführen kann. Die Bildverarbeitungsfunktionen werden nacheinander entlang dem physischen Datenpfad zur Verbindung der einbezogenen Module zur Formung der besagten Aufgabenpanitionierungsstruktur angewendet. Jedes Modul aktiviert für alle Bildstreifen eine bestimmte Aufgabe, und mehrere unbestimmte Ergebnisse können als parallele Datenströme zum nächsten Modul weitergeleitet werden. 1A stellt eine reine Aufgabenpanitionierungsstruktur dar. Eine Abkürzung zwischen der Source- und dem Sinkmodul oder zwischen dem Source- und einem gewöhnlichen Modul ist gestattet, wie mit dem Anschluss, der mit der gepunkteten Linie veranschaulichten wird. Die mit der Fließbandaufgabenpanitionierung eingebrachte Latenz nimmt mit der Anzahl an Fließbandebenen zu. Tatsächlich gehen bei jedem Durchlaufen einer Fließbandstufe mehrere Bildstreifenzeitperioden verloren, aber in der Praxis ist die Fließbandaufgabenpanitionierung sehr effizient.
  • In Bezug auf 1B enthält eine Zerstreuungs/Sammlungs-Struktur ein Sourcemodul SOURCE, mindestens zwei gewöhnliche Module, parallel in Zweigen angeordnet wie MOD1, MOD2, ..., MODn, und ein Sinkmodul SINK. Die Zerstreuungsanschlüsse SC und die Sammlungsanschlüsse GA sind ein spezialisiener Zerstreuungs/Sammlungs-Typ der Aufgabenpanitionierung. Das vom Port des Sourcemoduls ausgegebene Bild beispielsweise wird in Bildstreifen geteilt, die gemäß einem Index nummeriert sind. Ein [1/n]-Zerstreuungsanschluss verteilt die Bildstreifen gleichmäßig über die Module MOD1 bis MODn gemäß ihrem Streifenindex. Nach der Verarbeitung werden die zerstreuten Bildstreifen dank einem [1/n]-Sammlungsanschluss automatisch wieder zusammengefügt. Anstatt der n Zweige könnten nur zwei Zweige für die Formung einer Zerstreuungs/Sammlungs-Struktur verwendet werden. In diesem Fall werden die Bildstreifen mit dem ungeraden Index in einem Zweig verarbeitet, und die Bildstreifen mit dem geraden Index werden in dem anderen Zweig verarbeitet. 1B stellt eine reine Datenpanitionierungsmethode dar. Eine Abkürzung zwischen dem Source- und dem Sinkmodule ist gestattet. Die Zerstreuungs/Sammlungs-Operation ermöglicht den Erhalt der Vorteile der Datenpartitionierung unter Erhalt einer niedrigen Latenz. Allerdings könnte dies kritische Schwierigkeiten bewirken, wenn auf Algorithmen angewendet, die eine weite spatiale Breite aufweisen, da naturgemäß jeder Zweig der Zerstreuungsstruktur nicht aneinander angrenzender Bildstreifen verarbeitet. Am vorteilhaftesten ist es, wenn die erforderlichen spatialen Überlappungen begrenzt sind.
  • In Bezug auf 1C enthält eine Zweigmodusstruktur eine Zerstreuungs/Sammlungs-Struktur mit Fließbandstrukturen in den Zweigen. Die Zerstreuungs/Sammlungs-Struktur enthält ein Sourcemodul SOURCE, mindestens zwei parallele Zweige mit Fließbandstrukturen von gewöhnlichen Modulen und ein Sinkmodul SINK. Das vom Port des Sourcemoduls ausgegebene Bild beispielsweise wird in n = 2 Bildstreifen geteilt. Die Bildstreifen sind gemäß einem Index nummeriert, in diesem Beispiel können es die Indizes 1, 2 sein. Ein [1/2]-Zerstreuungsanschluss SC verteilt die Bildstreifen auf MODI, MOD2 des ersten Zweigs BR gemäß der Parität ihres Streifenindexes. Die Bildstreifen werden abwechselnd von den Modulen MOD3, MOD4 des zweiten Zweigs BR verarbeitet. Nach der Verarbeitung werden die zerstreuten Bildstreifen dank einem [1/2]-Sammlungsanschluss GA automatisch wieder zusammengefügt. Eine Abkürzung wie vorher beschrieben ist gestattet.
  • In Bezug auf 1D können weitere Strukturen mit der Bezeichnung Breitband-Datenpartitionierungsstrukturen als Zusammensetzung der vorhergehenden Strukturen unter Verwendung einfacher Anschlüsse PP entwickelt werden. Die Breitband-Datenpartitionierungsstrukturen verwenden eine Charakteristik des Sourcemoduls, d. h. seine Fähigkeit, zwei synchrone Ausgabeströme zu befördern. Wenn innerhalb des Moduls SOURCE eine Verzögerung eines halben Bildes plus eine mögliche Vorkehrung für einen spatial überlappenden Bildstreifen eingebracht wird, dann wird es machbar, zwei synchrone Ströme zu erzeugen, als würden sie von zwei gesonderten halbgroßen Bildern ausgehen. Die nachgeschalteten Module verarbeiten diese Ströme unabhängig abwärts zum Modul SINK, das dann zwei gesonderte Eingabeports aufweist, einen für den oberen Teil und einen für den unteren Teil des Bilds. Jetzt verbleibt noch die Sammlung der zwei halben Bilder innerhalb der Sink-Bildverarbeitungsfunktion und die Verschiebung des Endergebnisses zum angestrebten Terminalpunkt. Mehr allgemein gesagt kann diese Anordnung auf n konsekutive, möglicherweise überlappende Bildbreitbänder angewendet werden, die aus mehreren konsekutiven Bildstreifen hergestellt werden. Die oben beschriebene Fließbandaufgabenpartitionierung kann nahtlos mit einer Breitband-Datenpartitionierung kombiniert werden, wie in 1D veranschaulicht.
  • Die Breitband-Datenpartitionierung ist der Fließbandaufgabenpartitionierung vorzuziehen, da sie die erforderliche Anzahl der Bandreiten vermindert und eine hohe Modularität erlaubt, womit Aufgaben keiner unnatürlichen Aufteilung unterliegen müssen, um fließbandbedingte Echtzeitbedingungen zu erreichen. Allerdings bedingt eine Breitband-Datenpartitionierung höhere Latenzen. Die Fließbandaufgabenpartitionierung ist effizienter als die Breitband-Datenpartitionierung.
  • III) Definition der Übertragung der Bildstreifen
  • Time-Ref lokalisiert Bildstreifen in Bezug auf den laufenden Bildindex in der Sequenz und in Bezug auf die Bildstreifenposition innerhalb des laufenden Bilds. Wie oben beschrieben können mehrere gesonderte Bildstreifen zusammen mit Time-Ref-Strukturen übertragen werden, die dieselbe Information enthalten, wie wenn ein bestimmter Eingabebildstreifen mehrere Ausgabebildstreifen hervorbringt. Die besagten Bildstreifen werden nacheinander über die Anschlüsse übertragen. Somit findet die gesamte Datenkommunikation und -berechnung auf Streifenebene statt, was es erlaubt, die Latenz sehr klein zu halten. Jedes Modul erhält wiederholt die Verarbeitungen und überträgt die Bildstreifen. Zeitmarkierte Bildstreifen werden auf derartige Art und Weise verwendet, dass zwischen der Bildstreifenübertragung eine intermodulare und intramodulare temporale Überlappung ausgeführt wird, und diese Berechnung wird konstant durchgeführt: Somit wird die Gesamtfunktionsweise absolut optimiert. Für jeden Typ der Anschlussmittel wird die präzise Art, wie diese Überlappungseigenschaften erreicht werden, in Details erklärt. Dies beruht auf einem eigenen Eingabe/Ausgabe-Bildstreifenverzögerungsverfahren.
  • 2 veranschaulicht die Übertragung der Bildstreifen in der Fließbandstruktur der 1A gemäß einer Technik mit der Bezeichnung Fließband ohne Überlappen. Die SOURCE ist definiert für die Erzeugung einer vorbestimmten Anzahl von angrenzenden Bildstreifen (mit aktiven Bereichen, ohne Überlappungsbereiche). Die Bildstreifen haben eine bestimmte Anzahl an Zeilen mit der Bezeichnung Breite w. Diese Bildstreifen, von der SOURCE erzeugt, werden nacheinander an MOD1 und von MOD1 an MOD2 übertragen. MOD1 beispielsweise wendet an jedem Bildstreifen eine erste Bildverarbeitungsfunktion IP1 an, und MOD2 wendet außerdem an dem übertragenen Bildstreifen eine zweite Bildverarbeitungsfunktion IP2 an. Die Referenzen t-4, t-3, t-2, t-1, t sind die Zeitpunkte, in denen die aufeinanderfolgenden Bildstreifen von MOD1 verarbeitet werden. Während die erste Bildverarbeitungsfunktion IP1 im Zeitpunkt t einen Bildstreifen, bezeichnet [t]-Bildstreifen, erzeugt, ist der im vorhergehenden Zeitpunkt t-1 erzeugte Bildstreifen, bezeichnet [t-1]-Bildstreifen, bereits für die Übertragung an MOD2 verfügbar. Und der vorhergehende Bildstreifen, der im Zeitpunkt t-2, bezeichnet [t-2]-Bildstreifen, erzeugt wurde, ist bereits in MOD2 verfügbar, um von der IP2-Bildverarbeitungsfunktion verarbeitet zu werden. Somit überträgt in einer Fließbandstruktur während der Erzeugung eines bestimmten [t]-Bildstreifens von einem ersten Modul im Zeitpunkt t der erste Modulausgabeport den letzten zeitgerechten [t-1]-Bildstreifen. Und während der Verarbeitung eines bestimmten [t-2]-Bildstreifens von dem zweiten Modul erhält der besagte zweite Moduleingabeport den nächsten zeitgerechten [t-1]-Bildstreifen. Somit arbeitet jedes Modul konstant.
  • 3A veranschaulicht die Übertragung der Bildstreifen in der Fließbandstruktur der 1A gemäß einer Technik mit der Bezeichnung Fließband ohne Überlappen: Die SOURCE ist definiert für die Erzeugung einer vorbestimmten Anzahl von angrenzenden Bildstreifen (mit aktiven Bereichen, ohne Überlappungsbereiche). Die Bildstreifen haben eine bestimmte Anzahl an Zeilen mit der Bezeichnung Breite w. In einem Beispiel werden diese Bildstreifen, erzeugt von einer SOURCE, nacheinander an das erste Modul MODI übertragen, um von einer ersten Verarbeitungsfunktion IP1 verarbeitet zu werden. Dann werden sie in derselben Reihenfolge an das zweite Modul MOD2 übertragen, um von einer zweiten Verarbeitungsfunktion IP2 verarbeitete zu werden, die eine Nachbarschaft der Pixel benötigt, um sie zu verarbeiten. Somit werden zwei Überlappungsbereiche einer vorbestimmten Breite a, befindlich beiderseits des aktiven Bereichs, in MOD2 benötigt, um die besagte zweite Bildverarbeitungsfunktion IP2 auszuführen. Die Referenzen t-4, t-3, t-2, t-1, t sind die aufeinanderfolgenden Zeitpunkte, in denen die angrenzenden Bildstreifen einer Breite w vom ersten Modul MOD1 erzeugt werden.
  • Während die Bildverarbeitungsfunktion IP1 einen [t]-Bildstreifen im Zeitpunkt t in MOD1 hervorbringt, hat sie bereits den [t-1]-Bildstreifen erzeugt. Das nächste Modul MOD2 benötigt einen aktiven Bereich plus zwei Überlappungsbereiche. Somit kann der [t-1]-Bildstreifen nicht übertragen werden, da der im [t]-Bildstreifen befindliche Überlappungsbereich nicht fertig ist. Allerdings ist der bei t-2 erzeugte [t-2]-Bildstreifen bereits verfügbar. Somit sendet der Ausgabeport von MODI im Zeitpunkt t den [t-2]-Bildstreifen plus den Überlappungsbereich, der im [t-1]-Bildstreifen befindlich ist. Allerdings muss er weder den Überlappungsbereich senden, der im [t-3]-Bildstreifen befindlich ist, noch einen Bereich der Breite a, im [t-2]-Bildstreifen befindlich, angrenzend an den [t-3]-Bildstreifen, denn diese Bereiche sind im zweiten Modul MOD2 bereits verfügbar. Während der Erzeugung des [t]-Bildstreifens hat der Bildstreifen, der zum zweiten Modul MOD2 übertragen wird, die Besonderheit, eine Breite w aufzuweisen und von der Breite a in Bezug auf den [t-2]-Bildstreifen zum [t-1]-Bildstreifen verschoben zu werden. Während dieser Übertragungsoperation verarbeitet das Modul MOD2 den [t-3]-Bildstreifen mit seinen zwei Überlappungsbereichen (ein Überlappungsbereich an jeder Seite), die in MOD2 bereits verfügbar sind. Somit wird in dem Mechanismus der Fließbandaufgabenpartitionierung mit Überlappung eine zwischen der Erzeugung eines bestimmten Bildstreifen und der Übertragung eines vorher erzeugten Bildstreifens zusätzliche Verzögerung benötigt. Diese zusätzliche Verzögerung bezieht sich auf die Erzeugung des notwendigen Überlappungsbereichs, der im letzten zeitgerechten Bildstreifen befindlich ist. Die Verwendung dieser zusätzlichen Verzögerung und die spatiale Verschiebung gewährt ein optimales Schema der Bildstreifenübertragung.
  • 3B veranschaulicht die Übertragung der Bildstreifen in der Zerstreuungstruktur der 1B gemäß einer Technik mit der Bezeichnung Zerstreuung mit Überlappen. Die SOURCE wird definiert für die Erzeugung einer vorbestimmten Anzahl an angrenzenden Bildstreifen mit einer bestimmten Anzahl an Zeilen mit der Bezeichnung Breite w. In dem in 3B veranschaulichten Beispiel wird ein Bildstreifen von zweien zum ersten Modul MOD1 übertragen. Die besagten Bildstreifen werden nacheinander übertragen, um von einer ersten Verarbeitungsfunktion IP1 verarbeitet zu werden. Die Bildstreifen, die nicht an das erste Modul MODI übertragen werden, werden an das zweite Modul MOD2, parallel angeordnet, übertragen, um von einer zweiten Verarbeitungsfunktion IP2 verarbeitet zu werden. Somit verarbeiten die Module MOD1 und MOD2 abwechselnd Bildstreifen. Dies kann der Fall sein, wenn die Anzahl der Module von 1B n = 2 ist. Zwischen den von MODI verarbeiteten Bildstreifen gibt es fehlende Zeilen, und zwischen den von MOD2 verarbeiteten Bildstreifen gibt es fehlende Zeilen. MODI verarbeitet beispielsweise die mit weißen Bändern dargestellten Bildstreifen, und MOD2 verarbeitet die mit schraffierten Bändern dargestellten Bildstreifen. MODI verarbeitet beispielsweise die Bildstreifen mit ungeraden Indizes, und MOD2 verarbeitet die Bildstreifen mit geraden Indizes. Die Bildverarbeitungsfunktionen von MOD1 und MOD2 werden für die Benötigung einer Nachbarschaft an Pixeln für deren Verarbeitung vorausgesetzt. Somit werden zwei Überlappungsbereiche mit vorbestimmter Breite a an jeder Seite des aktiven Bereichs benötigt, um die besagten Bildverarbeitungsfunktionen IP1, IP2 auszuführen.
  • Die Referenzen t-4, t-3, t-2, t-1, t sind die aufeinanderfolgenden Zeitpunkte, in denen die Bildstreifen mit einer Breite w von der SOURCE erzeugt werden. Während die SOURCE einen [t]-Bildstreifen mit einem geraden Index im Zeitpunkt t erzeugt, hat sie bereits die vorhergehenden Bildstreifen bei t-4, t-3, t-2, t-1, ... erzeugt. Das nächste Modul MOD2 benötigt einen aktiven Bereich mit einem geraden Index plus zwei Überlappungsbereiche, die an jeder Seite im Bildstreifen mit ungeraden Indizes gelegen sind. Somit wird der [t-2]-Bildstreifen, bei t-2 in der SOURCE erzeugt, mit einem geraden Index und bereits verfügbar, an MOD2 übertragen, zusammen mit zwei Überlappungsbereichen der Breite a, in den bereits erzeugten [t-3]- und [t-1]-Bildstreifen ungeraden Indexes befindlich. Somit sendet im Zeitpunkt t der Ausgabeport der SOURCE den [t-2]-Bildstreifen plus die besagten Überlappungsbereiche, an seinen Seiten befindlich. Während dieser Übertragungsoperation verarbeitet das Modul MOD2 den [t-4]-Bildstreifen, der einen geraden Index hat, und seine zwei Überlappungsbereiche, die respektive von dem [t-5]-Bildstreifen ungeraden Indexes und dem [t-3]-Bildstreifen ungeraden Indexes kommen (ein Überlappungsbereich an jeder Seite), sind in MOD2 bereits verfügbar. Während der Übertragung des [t-2]-Bildstreifens geraden Indexes kann der SOURCE-Ausgabeport nicht den [t-1]-Bildstreifen ungeraden Indexes an MOD1 übertragen, da der im [t]-Bildstreifen befindliche Überlappungsbereich noch nicht fertig ist. So verarbeitet MOD1 den [t-3]-Bildstreifen ungeraden Indexes, der vor der Übertragung des [t-2]-Bildstreifens geraden Indexes übertragen wurde. Es ist zu beachten, dass die Überlappungsbereiche zusammen mit den aktiven Bereichen übertragen werden müssen, da sie in Bildstreifen von Indizes befindlich sind, die ansonsten nicht von den Modulen MOD1 oder MOD2 verarbeitet werden. MOD2 hat beispielsweise keine Zeilen von Bildstreifen ungeraden Indizes außer den Zeilen der Überlappungsbereiche. MODI hat keine Zeilen von Bildstreifen geraden Indizes außer den Zeilen der Überlappungsbereiche. Wie oben erklärt gibt es Lücken zwischen den Bildstreifen in MOD1, MOD2.
  • 3C veranschaulicht die Übertragung von Bildstreifen in der Sammlungsstruktur von Fig. gemäß einer Technik mit der Bezeichnung Sammlung mit Überlappen. Das SINK ist definiert für den Aufbau eines Endbilds anhand der Sammlung einer vorbestimmten Anzahl von angrenzenden Bildstreifen, beispielsweise den gemäß der Zerstreuung mit Überlappen verarbeiteten Bildstreifen wie vorher beschrieben. Die Bildstreifen haben eine bestimmte Anzahl an Zeilen mit der Bezeichnung Breite w. In dem in 3C veranschaulichten Beispiel werden diese Bildstreifen vom Eingabeport des SINK gesammelt. Das SINK erfordert nicht die von IP 1 und IP2 verarbeiteten Überlappungsbereiche. Das SINK benötigt nur die angrenzenden aktiven Bereiche für den Aufbau des Endbilds. So werden die Bildstreifen ohne ihre Überlappungsbereiche abwechselnd von MOD1 und MOD2 in der Reihenfolge der aufeinanderfolgenden Zeitpunkte t-4, t-3, t-2, t-1, t gesendet. Somit sendet MODI die [t-5]-Bildstreifen ungeraden Indexes, dann sendet MOD2 die [t-4]-Bildstreifen geraden Indexes, dann sendet MOD1 die [t-3]-Bildstreifen ungeraden Indexes, dann sendet MOD2 die [t-2]-Bildstreifen geraden Indexes, dann sendet MODI die [t-1]-Bildstreifen ungeraden Indexes, dann sendet MOD2 die [t]-Bildstreifen geraden Indexes. Und SINK baut das Endbild nur mit den aktiven Bereichen auf, da, wenn SINK die Zeilen der [t]-Bildstreifen erhält, es beispielsweise bereits über die Zeilen der angrenzendden [t-1]-Bildstreifen verfügt etc.
  • 3D veranschaulicht die Übertragung von Bildstreifen in der Zweigstruktur der 1C gemäß einer Technik mit der Bezeichnung Zweiganschluss mit Überlappen. Hinsichtlich des Zweigs, geformt aus den Modulen MOD1 und MOD, während die SOURCE einen [t]-Bildstreifen mit einem geraden Index im Zeitpunkt t erzeugt, hat dieser bereits die vorhergehenden Bildstreifen bei t-4, t-3, t-2, t-1, ... erzeugt. Es wird vorausgesetzt, dass das nächste Modul MOD1 einen aktiven Bereich mit einem geraden Index plus zwei Überlappungsbereiche benötigt, die an jeder Seite im Bildstreifen mit ungeraden Indizes gelegen sind. Somit wird der [t-2]-Bildstreifen, bei t-2 in der SOURCE erzeugt, mit einem geraden Index und bereits verfügbar, an MOD1 übertragen, zusammen mit zwei Überlappungsbereichen der Breite a, in den bereits erzeugten [t-3]- und [t-1]-Bildstreifen ungeraden Indexes befindlich. Somit sendet im Zeitpunkt t der Ausgabeport der SOURCE den [t-2]-Bildstreifen plus die besagten Überlappungsbereiche, an seinen Seiten befindlich. Während der Übertragungsoperation verarbeitet das Modul MOD1 den [t-4]-Bildstreifen, der einen geraden Index hat, und seine zwei Überlappungsbereiche, die respektive von dem [t-5]-Bildstreifen ungeraden Indexes und dem [t-3]-Bildstreifen ungeraden Indexes kommen (ein Überlappungsbereich an jeder Seite), sind in MOD2 bereits verfügbar. Während der Übertragung des [t-2]-Bildstreifens geraden Indexes kann der SOURCE-Ausgabeport den [t-1]-Bildstreifen ungeraden Indexes nicht an MOD1 übertragen, da der im [t]-Bildstreifen befindliche Überlappungsbereich noch nicht fertig ist. Somit verarbeitet MODI den [t-3]-Bildstreifen ungeraden Indexes, der vor der Übertragung des [t-2]-Bildstreifens geraden Indexes übertragen wurde. Es ist zu beachten, dass die Überlappungsbereiche zusammen mit den aktiven Bereichen übertragen werden müssen, da sie in Bildstreifen von Indizes befindlich sind, die ansonsten nicht von den Modulen MOD1 oder MOD2 verarbeitete werden. Jetzt müssen unter der Annahme, dass das nächste Modul MOD des Zweigs auch Überlappungsbereiche benötigt, die Überlappungsbereiche entlang dem Zweig kumuliert werden, um in der Modulkette innerhalb des Zweigs verwendet zu werden.
  • In der Breitbandstruktur der 1D werden die Bildstreifen gemäß einer Technik mit der Bezeichnung Breitband mit Überlappen übertragen. Die SOURCE ist definiert, um zwei Bildhälften zu erzeugen, wobei beide Bildhälften aus Bildstreifen geformt werden. Die erste Bildhälfte wird an den ersten Zweig mit den Modulen MOD1 und MOD3 übertragen. Die zweite Bildhälfte wird an den zweiten Zweig mit den Modulen MOD2 und MOD4, parallel angeordnet, übertragen. In jedem Zweig werden die Bildstreifen wie in Fließbandstrukturen verarbeitet. Die Übertragung wird entweder gemäß der Fließbandtechnik, veranschaulicht in 2, oder, wenn Nachbarbereiche benötigt werden, gemäß der Fließbandtechnik mit Überlappung, veranschaulicht in 3A, ausgeführt.
  • In allen Übertragungstechniken mit Überlappungen sind die Verzögerung für die Erzeugung der Bildstreifen, die Verzögerungen für das Senden der Bildstreifen und die Verzögerungen für die Verarbeitung der empfangenen Bildstreifen verschieden. Sommit enthalten die Techniken Schritte zur Anpassung der Differenz zwischen dem Zeitpunkt der Erzeugung der Bildstreifen in einem Modul und dem Zeitpunkt des Sendens der Bildstreifen von dem besagten Modul. Diese Techniken enthalten auch Schritte zur Anpassung der Differenz zwischen dem Zeitpunkt des Empfangs der Bildstreifen durch ein Modul und dem Zeitpunkt der Verarbeitung der Bildstreifen durch das besagte Modul. Diese Technik beinhaltet außerdem Schritte zur Feinanpassung hinsichtlich der Überlappungsbereiche.
  • IV) Betrieb der Bildtransportmaschine
  • Diese Bildtransportmaschine bedingt das exakte Verhalten des Systems bei Laufzeit. Die Bildtransportmaschine bewerkstelligt die eingehenden und ausehenden Datenübertragungen zur Verbindung der Softwaremodule mit der externen Welt, sie bewerkstelligt die Parameter Lesen, IP-Funktionsaufruf und Datenlokalisierung. Diese letzte Funktion entspricht der Notwendigkeit, Bildstreifen in Bezug auf den Raum und die Zeit zu lokalisieren, um beispielsweise die notwendige Information für die Registrierung der Verzögerung von Datenströmen bereitzustellen. Die Bildtransportmaschine bedingt auch die möglich temporale und/oder spatiale Bildstreifenüberlappung, die mögliche Datenzerstreuung oder Sammlungsoperationen.
  • V) Vorrichtung mit Rechenmitteln für die Verwendung des Softwaresystems und Programmprodukts zur Bildung des Softwaresystems
  • In Bezug auf 4 enthält eine medizinische Untersuchungsvorrichtung 150 Mittel für die Aufnahme von digitalen Bilddaten einer Bildsequenz und ein digitales Verarbeitungssystem 120 für die Verarbeitung dieser Daten unter Verwendung des oben beschriebenen Softwaresystems. Die medizinische Untersuchungsvorrichtung enthält Mittel für die Versorgung des Verarbeitungssystems 120 mit Bilddaten, das mindestens einen Ausgang 106 hat, um Bilddaten Anzeige- und/oder Speichermitteln 130, 140 bereitzustellen. Die Anzeige- und Speichermittel können respektive der Bildschirm 140 und der Speicher einer Workstation 110 sein. Die besagten Speichermittel können allerdings auch externe Speichermittel sein. Dieses Bildverarbeitungssystem 120 kann ein geeignet programmierter Computer der Workstation 130 oder ein speziell ausgerichteter Prozessor sein. Die Workstation 130 kann auch eine Tastatur 131 und eine Maus 132 enthalten.
  • SOURCE
    Source
    PP
    Point-to-Point-Anschluss
    SINK
    Sink
    MOD1, 2, 3, n
    Module
    SC
    Zerstreuungsanschluss
    GA
    Sammlungsanschluss
    BR
    Zweig
    IP1, 2
    Bildverarbeitungsfunktionen
    t-1, 2, 3
    Zeitpunkte
    w
    Breite
    a
    Breite

Claims (13)

  1. Softwaresystem für die Verarbeitung einer Bildsequenz zum Verteilen von Bildverarbeitungsfunktionen auf einem Multiprozessorsystem mit der Bezeichnung Plattform, wobei die besagte Plattform Eingabebilddaten generiert, repräsentativ für die Bildsequenz, und außerdem verarbeitete Ausgabebilddaten von den generierten Eingabebilddaten bereitstellt, wobei das besagte Softwaresystem enthält: Ein Modell zur Partitionierung von Softwaredaten, bezeichnet als Kommunikationsmuster, das die Bilder der Sequenz unter Verwendung von zeitmarkierten Datenpaketen partitioniert, deren Übertragung die Ausführung der besagten Bildverarbeitungsfunktionen überlappen kann.
  2. Softwaresystem nach Anspruch 1, worin das Kommunikationsmuster Softwaremodule (MOD1, MOD2) enthält, das über Ports mit ausgerichteten Anschlüssen (PP) verbunden ist; und jedes Modul aktiviert eine ihr angegliederte Bildverarbeitungsfunktion und bewerkstelligt Übertragungen und die Synchronisierung der Daten.
  3. Softwaresystem nach Anspruch 2, mit: Einem Modul für den Austausch von Information mit einem anderen Modul über Ports; einem Sourcemodul (SOURCE), zuständige für die Generierung von zeitmarkierten Datenpaketen und einer Zeitreferenz-Datenstruktur, die jedes Bilddatenpaket einer bestimmten Bildsequenz lokalisiert; einem oder mehreren Sinkmodulen (SINK), verwendet als Empfänger von Ausgabedaten; und gewöhnlichen Modulen, angeschlossen zwischen dem Sourcemodul und den Sinkmodulen auf eine Weise, dass die Bilddaten nur in eine Richtung und auf azyklische und Weise fließen; und worin das Sourcemodul keinen Eingabeport und die Sinkmodule keine Ausgabeports hat; Die gewöhnlichen Module haben Eingabe- und Ausgabeports.
  4. Softwaresystem nach Anspruch 3, worin es unter den Anschlüssen Datenanschlüsse gibt, die Daten handhaben und auf die Übertragung von Bilddatenpaketen spezialisiert und Einweg-Anschlüsse sind.
  5. Softwaresystem nach Anspruch 4, worin die Zeitreferenz-Datenstruktur Datenpakete in Bezug auf einen Bildindex in der Bildsequenz und in Bezug auf eine Datenpaketposition innerhalb des laufenden Bilds lokalisiert.
  6. Softwaresystem nach Anspruch 5, in dem das Sourcemodul die Eingabedaten in Bildstreifen partitioniert, wobei ein Bildstreifen ein Paket konsekutiver Bildzeilen wird und Daten enthält, die entlang den besagte Zeilen kommen, geformt aus Pixeln, die verarbeitet werden müssen.
  7. Softwaresystem nach Anspruch 6 mit der Definition der Überlappungsbereiche für die Verarbeitung der Pixel der spezifischen Bildstreifen, wobei die Überlappungsbereiche zusätzliche Teile der Bildstreifen enthalten, die an jeder Seiten des besagten Bereichs der spezifischen Bildstreifen befindlich sind.
  8. Softwaresystem nach Anspruch 7 für die Programmierung einer verteilten Anwendung mit Schritten für die Übertragung von Bildstreifen mit Überlappungsbereichen zwischen sendenden Modulen und empfangenden Modulen, wobei Schritte vorhanden sind zur Anpassung der Differenz zwischen dem Zeitpunkt der Erzeugung eines Bildstreifens von einem Modul und dem Zeitpunkt des Sendens der Bildstreifen von dem besagten Modul und Schritte zur Anpassung der Differenz zwischen dem Zeitpunkt des Empfangens der Bildstreifen von einem Modul und dem Zeitpunkt der Verarbeitung der Bildstreifen von dem besagten Modul für die Ausführung einer optimalen Überlappung zwischen der Datenübertragung und der Datenverarbeitung.
  9. Softwaresystem nach einem der Ansprüche 6 bis 8, worin die Zeitreferenzstruktur die Bildstreifen in Bezug auf den laufenden Bildindex in der Sequenz und in Bezug auf die Bildstreifenposition innerhalb des laufenden Bilds lokalisiert; und die Datenanschlüsse wiederholt Übertragungen von aufeinanderfolgenden Bildstreifen zusammen mit Synchronisierungsinformation einschließlich der Zeitreferenzstruktur versichern und alle Module die Bildstreifen wiederholt erhalten, verarbeiten und übertragen.
  10. Softwaresystem nach einem der Ansprüche 2 to 9, worin das Kommunikationsmuster einen der folgende Typen von Anschlüssen zwischen zwei Ports enthält: Einen Fließbandanschluss, also einen Point-to-Point-Anschluss, der konsekutiv Bildstreifen überträgt; einen [1/n]-Zerstreuungsanschluss (SC), also einen Point-to-Point-Anschluss, der zu einer Gruppe von n Anschlüssen gehört, die alle aus einem gemeinsamen Ausgabeport kommen, der einen Bildstreifen alle n Bildstreifen überträgt; einen [1/n]-Sammlungsanschluss, (GA) also einen Point-to-Point-Anschluss, der zu einer Gruppe von n Anschlüssen gehört, die alle einen gemeinsamen Eingabeport anlaufen, der einen Bildstreifen alle n Bildstreifen überträgt.
  11. Softwaresystem nach Anspruch 10 mit Datenpartitionierungsstrukturen, die Fließbandanschlüsse verwenden, und einer Vorschrift für das Sourcemodul, zwei synchrone Ausgabeströme zu befördern, als würden sie von zwei gesonderten Bildteilen ausgehen, und die besagten zwei Bildteile innerhalb der Sink-Bildverarbeitungsfunktion zu sammeln und das Endergebnis an einen angezielten Terminalport zu verschieben.
  12. Eine medizinische Bilduntersuchungsvorrichtung mit Mitteln für die Aufnahme medizinischer digitaler Bilddaten und die Verwendung eines Softwaresystems mit einem Zugang zu den besagten medizinischen digitalen Bilddaten gemäß einem der vorhergehenden Ansprüche 1 bis 11, und mit Anzeigemitteln für die Anzeige der medizinischen digitalen Bilder und der verarbeiteten medizinischen digitalen Bilder versehen.
  13. Computerprogrammprodukt mit einem Satz an Instruktionen für den Betrieb des Softwaresystems gemäß einem der Ansprüche 1 bis 11.
DE60208883T 2001-02-09 2002-01-28 Softwaresystem zum verteilen von bildverarbeitungsfunktionen auf einer programmierbaren plattform mit verteilten prozessorumgebungen Expired - Fee Related DE60208883T2 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP01400352 2001-02-09
EP01400352 2001-02-09
PCT/IB2002/000309 WO2002063559A2 (en) 2001-02-09 2002-01-28 Software system for deploying image processing functions on a programmable platform of distributed processor environments

Publications (2)

Publication Number Publication Date
DE60208883D1 DE60208883D1 (de) 2006-04-13
DE60208883T2 true DE60208883T2 (de) 2006-08-24

Family

ID=8182619

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60208883T Expired - Fee Related DE60208883T2 (de) 2001-02-09 2002-01-28 Softwaresystem zum verteilen von bildverarbeitungsfunktionen auf einer programmierbaren plattform mit verteilten prozessorumgebungen

Country Status (6)

Country Link
US (1) US20030026505A1 (de)
EP (1) EP1368786B1 (de)
JP (1) JP2004519043A (de)
AT (1) ATE316672T1 (de)
DE (1) DE60208883T2 (de)
WO (1) WO2002063559A2 (de)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2398715A (en) * 2003-02-21 2004-08-25 Sony Uk Ltd Pixel-based colour correction using two or more colour correction processes
MXPA06000573A (es) * 2003-07-15 2006-07-03 American Express Travel Relate Sistema y metodo para activar o cambiar el estado de una cuenta asociada con una tarjeta prepagada.
TWI220096B (en) * 2003-07-28 2004-08-01 Realtek Semiconductor Corp Image processing device and method thereof
US20060062491A1 (en) * 2004-09-17 2006-03-23 Chen Ernest P Techniques for image processing
JP2006099579A (ja) * 2004-09-30 2006-04-13 Toshiba Corp 情報処理装置及び情報処理方法
JP5038617B2 (ja) * 2005-11-15 2012-10-03 株式会社東芝 磁気共鳴イメージング装置
JP5306413B2 (ja) * 2011-05-25 2013-10-02 株式会社東芝 磁気共鳴イメージング装置
CN102538979A (zh) * 2011-12-31 2012-07-04 北京毕威康坶技术有限公司 一种红外热成像处理方法和系统
WO2019013919A1 (en) * 2017-07-14 2019-01-17 Illumina, Inc. COORDINATED APPLICATION PROCESSING
CA3136258A1 (en) * 2021-01-05 2022-07-05 The Boeing Company Fuel receptacle and boom tip position and pose estimation for aerial refueling

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB8713819D0 (en) * 1987-06-12 1987-12-16 Smiths Industries Plc Information processing systems
US5212777A (en) * 1989-11-17 1993-05-18 Texas Instruments Incorporated Multi-processor reconfigurable in single instruction multiple data (SIMD) and multiple instruction multiple data (MIMD) modes and method of operation
US5212742A (en) * 1991-05-24 1993-05-18 Apple Computer, Inc. Method and apparatus for encoding/decoding image data
US5325485A (en) * 1992-10-30 1994-06-28 International Business Machines Corporation Method and apparatus for displaying primitives processed by a parallel processor system in a sequential order
US5444709A (en) * 1993-09-30 1995-08-22 Apple Computer, Inc. Protocol for transporting real time data
US5434629A (en) * 1993-12-20 1995-07-18 Focus Automation Systems Inc. Real-time line scan processor
US5493643A (en) * 1994-05-03 1996-02-20 Loral Aerospace Corp. Image generator architecture employing tri-level fixed interleave processing and distribution buses
US6111582A (en) * 1996-12-20 2000-08-29 Jenkins; Barry L. System and method of image generation and encoding using primitive reprojection
GB9707020D0 (en) * 1997-04-07 1997-05-28 Pandora Int Ltd Image processing
CA2318272A1 (en) * 1998-01-26 1999-07-29 Yendo Hu Method and apparatus for advanced television signal encoding and decoding
US6526163B1 (en) * 1998-11-23 2003-02-25 G.E. Diasonics Ltd. Ultrasound system with parallel processing architecture

Also Published As

Publication number Publication date
ATE316672T1 (de) 2006-02-15
EP1368786B1 (de) 2006-01-25
DE60208883D1 (de) 2006-04-13
EP1368786A2 (de) 2003-12-10
WO2002063559A3 (en) 2003-06-05
JP2004519043A (ja) 2004-06-24
WO2002063559A2 (en) 2002-08-15
US20030026505A1 (en) 2003-02-06

Similar Documents

Publication Publication Date Title
DE602004012061T2 (de) Vorrichtung und Verfahren zum Festlegen eines Routing-Weges zwischen Routern auf einem Chip
DE60208883T2 (de) Softwaresystem zum verteilen von bildverarbeitungsfunktionen auf einer programmierbaren plattform mit verteilten prozessorumgebungen
DE69533230T2 (de) Verfahren und vorrichtung zur verbesserung der fehlertoleranz eines netzwerkes
DE69332778T2 (de) Verfahren und geraet mit einzigadressenzuweisung, knotenselbstidentifizierung und topologieabbildung fuer einen gerichteten, acyclischen graph
DE3506749C2 (de)
DE69909791T2 (de) Verteilte rechnerumgebung mit echt-zeit ablauffolgenlogik und zeit-deterministischer architektur
EP1669885A2 (de) Verfahren zur Selbstsynchronisation von konfigurierbaren Elementen eines programmierbaren Bausteines
DE202012013295U1 (de) Dynamisch rekonfigurierbarer Pipeline-Vorprozessor
DE10163342A1 (de) Datenübertragungsverfahren, serielles Bussystem und Anschalteinheit für einen passiven Busteilnehmer
WO2002075562A1 (de) Verfahren und vorrichtung zur synchronisation der globalen zeit von mehreren ttcan-bussen sowie entsprechendes bussystem
DE19822543A1 (de) Verfahren zum Zuteilen von Aufträgen, Datenverarbeitssystem, Client-Datenbearbeitungsknoten und computerlesbares Speichermedium
DE102013110614B4 (de) Skalierbares Mehrteilnehmervideokonferenzsystem
DE102004015599A1 (de) Matrizenverarbeitungsvorrichtung in einem Parallelrechner vom SMP-knotenverteilten Speichertyp
DE4326740C1 (de) Architektur für eine Rechenanlage
DE102006008780A1 (de) System von Komplexitätsvorverarbeitung innerhalb eines Bildes
DE602004001316T2 (de) Verfahren und Gerät zur Ablauffolgesteuerung der abwärtsgerichteten Packetdatenübertragung in einem drahtlosen Kommunikationssystem
EP1440544B1 (de) Verfahren zur kommunikation eines realzeit-datenverkehrs in einem kollisionserkennungs-basierten kommunikationsnetz, entsprechendes speichermedium und kommunikationsnetz
DE69923219T2 (de) Bildverarbeitungsgerät
EP1019871B1 (de) Verfahren zur bestimmung von blockvektoren für die bewegungsschätzung
DE112016002105T5 (de) Bildverarbeitungsvorrichtung und Bildverarbeitungsverfahren
DE60315264T2 (de) Durch timebox angesteuertes scheduling von softwarekomponenten in hard-echtzeitsystemen
DE60127342T2 (de) Systeme und Verfahren für gleichrangige Verbindungen über eine Netz-Schnittstellen-Karte
EP2500885B1 (de) Verfahren und Steuerungssystem zur Verkehrsflusssteuerung
DE19633745A1 (de) Mehrere Netzwerke zur Signalverarbeitung in einem elektrischen Antriebssystem
DE102017223568A1 (de) Verfahren zur Steigerung einer Netzwerkressourcennutzung und Bereitstellung genügender Service-Qualität

Legal Events

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