-
Die Erfindung bezieht sich auf ein Verfahren zur Bildverarbeitung.
-
Informationsverarbeitende Systeme können für viele verschiedene Anwendungen
eingesetzt werden, beispielsweise zur Spracherkennung, Bildverbesserung oder
-modifizierung, Bilderkennung, Bildkennzeichnung, Bildspeicherung und so weiter.
Normalerweise wird die Information in einem zusammenhängenden Speicherblock
(Bildspeicher) abgespeichert und einem Prozessor werden Signale von jedem Element
dieses Speichers zum Zwecke der Bildverarbeitung zugeführt. Für ein typisches Bild,
welches aus 512 Zeilen mit jeweils 512 Bildelementen besteht und bei einer
Bildwiederholrate von 25 Bildern pro Sekunde ergibt dies eine Dateneingangsrate von 512
· 512 · 25 = 6.553.600 Byte pro Sekunde. Diese Eingangsrate ist oftmals zu hoch,
um von herkömmlicher Software verarbeitet zu werden, was entweder eine schnellere
Software oder zusätzliche Datenverarbeitungskapazitäten erforderlich macht.
-
Es können auch mehrere Prozessoren verwendet werden, wobei jeder Prozessor
Zugang zum Bildspeicher hat. Die Verarbeitungsgeschwindigkeit ist jedoch durch den
aufgeteilten Zugang zu der Information in dem Speicher begrenzt, weil nur ein
Prozessor gleichzeitig Zugang zur Information erhalten kann.
-
Die Druckschrift K.N. Ngon, A.A. Kassim, H.S. Singh, "Parallel Imageprocessing
system based on the TM532010 digital signal processor", in IEEE Proceedings-
E/Computers and Digital Techniques, Vol. 134, No. 2, March 1987, pp. 119-124,
zeigt die Parallelverarbeitung von Teilbildern eines Bildes mit Hilfe eines
Multiprozessorsystems und einem gemeinsamen Programmspeicher auf, und zwar entweder
im MIMD oder SIMD Modus.
-
Die Druckschrift L.R. Williams, P. Anandan, "A course-to- fine control strategy
for stereo and motion on a mesh-connected computer", in Proceedings of the IEEE
Computer Society Conference on Computer Vision and Pattern Recognition, June
1986, Miami, Florida, pp. 219-226, zeigt die Möglichkeiten von Faltungs- und
Korrelationsalgorithmen auf einem SIMD Prozessor mit Hilfe einer Strategie der
abnehmenden räumlichen Auflösung auf.
-
Die Aufgabe der vorliegenden Erfindung besteht darin, ein verbessertes Verfahren
zur Bildverarbeitung bereitzustellen.
-
Der Gegenstand der Erfindung ist in Anspruch 1 beschrieben.
-
Die Bildinformation kann von einem Infrarotbild stammen und durch eine
Fernsehkamera erzeugt werden. Die Prozessorbausteine sind vorzugsweise miteinander
verbunden, um einen synchronen Betrieb der Prozessorbausteine zu ermöglichen.
Das System kann weiterhin eine Eingangsschaltung umfassen, welche Signale von
Sensoren den Prozessorbausteinen zur Abspeicherung in den Speichern zuführt.
Jeder Prozessorbaustein kann als entsprechender Transputer ausgebildet sein. Das
System kann eine Anzeigevorrichtung umfassen, welcher die entsprechenden
Ausgangssignale der Prozessorbausteine zugeführt werden, um eine der Information
entsprechende Anzeige zu erzeugen. Die einem Teil der Information
entsprechenden Signale können einer Vielzahl der Prozessorbausteine zugeführt werden, um die
Verarbeitungskapazität bezüglich dieses Teils zu erhöhen.
-
Ein Bildverarbeitungssystem für ein Flugzeug und seine Betriebsweise werden im
folgenden anhand eines Ausführungsbeispiels unter Bezugnahme auf die begleitenden
Zeichnungen näher beschrieben, welche zeigen:
-
Fig. 1 eine schematische Darstellung des Systems; und
-
Fig. 2 einen Teil des Systems in genauerer Darstellung.
-
Das Verarbeitungssystem umfaßt eine Infrarotfernsehkamera 1, welche Signale einer
Verarbeitungseinheit 2 zuführt, die auch Signale von anderen Quellen 3 erhält. Die
Verarbeitungseinheit 2 erzeugt Ausgangssignale für eine Anzeigevorrichtung 4 und
für andere Verwertungsvorrichtungen 5.
-
Die Kamera ist von herkömmlicher Bauart und kann ein Array von
Infrarotdetektoren umfassen, auf welche das Infrarotbild im Sichtfeld der Kamera fokussiert wird.
Das Detektorarray wird abgerastert und ein dieser Abrasterung entsprechendes
Videosignal wird über die Leitung 10 der Videoeingangskontrolleinheit 20 der
Verarbeitungseinheit 2 zugeführt. Wenn die Kamera über ein 512 · 512-Array verfügt,
entspricht ihr Ausgangssignal 512 Bildelementen in jeder der 512 Zeilen. Die
Videoeingangskontrolleinheit 20 unterteilt das Sichtfeld in 16 benachbarte Bereiche
oder Teilbilder, welche als 4 · 4-Array quadratischer Bereiche A-P angeordnet
sind. In der Einheit 20 wird das Ausgangssignal der Kamera 1 dem zugehörigen
Prozessorbaustein 21A-21P zugeführt. Die Prozessorbausteine 21A-21P können
auf vier Platinen montiert sein, also vier Prozessorbausteine pro Platine. Jeder
Prozessorbaustein 21 auf einer Platine ist mit jeder der drei anderen
Prozessorbausteine verbunden, wobei die Platinen in einer Kette aufgereiht sind und die erste
bzw. letzte Platine mit der Eingangseinheit 20 bzw. mit einer Ausgangseinheit 40
verbunden ist. Die Informationsübertragung von der Eingangskontrolleinheit 20 zu
der Verarbeitungseinheit 2 wird durch unmittelbaren Speicherzugriff zu den
Prozessorbausteinen 21 bewirkt. Mit einem einzelnen Teilbildspeicherpuffer kann jeder
Prozessor während 80% der Zeit auf sein entsprechendes Teilbild zugreifen. Dieser
Wert kann auf nahezu 100% gesteigert werden, wenn mehr als ein
Teilbildspeicherpuffer verwendet wird.
-
Jeder Prozessorbaustein erhält Signale von einem Bereich des Sichtfeldes wie es von
einem 128 · 128 großen Detektorfeld erfaßt wird. Der Prozessorbaustein 21A erhält
beispielsweise Signale von den ersten 128 Detektoren in jeder der oberen 128 Zeilen,
der Prozessorbaustein 21B erhält Signale von den Detektoren 129 bis 256 in den
oberen 128 Zeilen und so weiter.
-
Aus Fig. 2 ist ersichtlich, daß jeder Prozessorbaustein 21 einen Transputer 24
umfaßt, beispielsweise einen Inmos T414 oder T800. Der Transputer 24 weist einen
Speicher 22 und einen Prozessor 23 auf. In dem Speicher 22 befindet sich genügend
Speicherplatz um Information bezüglich jedes der 128 · 128 Bildelemente
abzuspeichern, welche dem Prozessorbaustein 21 zugeführt und zur Bildverarbeitung der
gespeicherten Information verwendet werden. Jeder Prozessorbaustein 21 umfaßt auch
einen Teilbildspeicher 31, der einen oder mehrere Puffer für Teilbilder enthalten kann
und mit einer Eingangs-/Ausgangsabbildungsschaltung 32 für die Teilbilder
verbunden ist. Ein Programmspeicher 33 ist durch ein 256K · 32 bit DRAM 33 realisiert
und eine Interfaceschaltung 34 zur Adreßdekodierung ist ebenfalls dargestellt. Die
Eingangs-/Ausgangsabbildungsschaltung 32 ist auf einem wiederprogrammierbaren
ASIC (application specific integrated circuit = anwendungsspezifischer integrierter
Schaltkreis) implementiert und umfaßt Komparatoren, welche die Zähler für
Bildelemente und Zeilen mit programmierten Grenzwerten vergleichen, um das in den
Prozessorbaustein 21 aufzunehmende Teilbild auszuwählen. Ähnliche Schaltungen
kontrollieren den Ausgang zur Anzeige eines Ausgangsbildes. Zusätzlich zu den
Videosignalen empfangen die Prozessorbausteine 21 jeweils auch
Synchronisationssignale von den anderen Prozessorbausteinen 21 in der Verarbeitungseinheit 2 und
externe Signale von anderen Quellen 3, welche beispielsweise den Kamerawinkel,
die Flughöhe oder andere Flugeigenschaften repräsentieren. Signale von diesen
anderen Quellen werden der Verarbeitungseinheit 2 über eine Eingangsschaltung 30
zugeführt, welche die Information von den Quellen 3 auf die entsprechenden
Prozessorbausteine 21 verteilt.
-
Jeder Prozessorbaustein 21 verfügt über genügend Bildspeicherraum, um mehrere
Teilbilder abzuspeichern, wodurch Zeitfolgenanalysen durchgeführt werden oder die
Eingänge von zwei oder mehr Sensoren miteinander verglichen werden können. Jeder
Prozessorbaustein 21 verfügt über eine festverdrahtete Adresse zu seiner eindeutigen
Identifizierung innerhalb der Einheit 2 und zur Identifizierung jedes
Prozessorbausteins und Koordinierung mit dem Teilbild dieses Prozessorbausteins.
-
Die von den Prozessorbausteinen 21 durchgeführten Operationen hängen von den
Anforderungen und der Natur des Systems ab, jedoch verarbeitet jeder Transputer
nur die in seinem Speicher vorhandene Information, das heißt Information bezüglich
desjenigen Bereichs des Sichtfeldes, welches dem Prozessor zugeordnet ist.
-
Sämtliche Prozessorbausteine 21 können mit identischer Software arbeiten, welche
von einem Hauptprozessor in der Eingangseinheit 20 gesteuert wird, die die
Abbildung des Eingangsbildes auf Teilbilder für bestimmte Prozessorbausteine 21
definiert. Der Hauptprozessor kann dann dem entsprechenden Prozessorbaustein 21
eine Nachricht senden, welche diesen veranlaßt, einen bestimmten Algorithmus mit
durch die Nachricht definierten Parametern auszuführen. Es werden iterative
Algorithmen verwendet und jedes Bild wird während seiner Bildstandzeit verarbeitet,
wobei die Ergebnisse als Analysebasis für das nächste Bild verwendet werden. In
einem Ausführungsbeispiel ist die Kamera 1 empfindlich auf Infrarotsignale und die
Transputer sind so angeordnet, daß sie eine Infrarotquelle innerhalb ihres
entsprechenden Bereichs des Sichtfeldes identifizieren können. Wenn eine Infrarotquelle
mit einer Stärke oberhalb der Hintergrundinfrarotstrahlung mit ausreichender
Bestimmtheit identifiziert wird, erzeugt der Prozessor 23 eine Markierung für diese
Quelle, welche mit Bewegung der Quelle verschoben wird. Der Prozessor 23
berechnet hieraus und aus der Information anderer Quellen die Bewegungsgeschwindigkeit
der Infrarotquelle, ihre Natur, ihre Größe und Ausdehnung und sagt ihre zukünftige
Bewegung voraus. Wenn sich die Quelle aus dem einem Transputer 21 zugeordneten
Bereich herausbewegt, übernimmt der benachbarte Transputer die Beobachtung. Zu
diesem Zweck werden Signale über die Leitung 24 zwischen den Transputern 21
ausgetauscht, um diese auf die Übernahme der Bezeichnung einer Quelle vorzubereiten,
welche sich zwischen ihnen bewegt. Jeder Transputer kann in seinem
entsprechenden Bereich des Sichtfeldes eine oder mehrere Quellen identifizieren und einzeln
verfolgen.
-
Ausgangssignale von jedem Transputer 21 werden über entsprechende Leitungen 25
und eine Ausgangseinheit 40 der Anzeigevorrichtung 4 zugeführt, wo eine
Darstellung der Ausgangssignale der oder jeder Infrarotquelle zusammen mit ihrer
zugeordneten
Markierung sowie Informationslegenden, ihrer Bewegungsspur, und so weiter
vorgenommen wird.
-
Es sei angemerkt, daß eine Anzeigevorrichtung nicht vorhanden sein muß. Anstatt
dessen können die Ausgangssignale ausschließlich der Verwertungsvorrichtung 5
zugeführt werden, welche beispielsweise Zielvorrichtungen für Waffen oder ähnliches
steuert.
-
Im Gegensatz zu herkömmlichen Blockspeichern, welche typischerweise einen
Gesamtdateneingang von 512 · 512 Byte · 25 Bilder/Sekunde = 6.553.600 Byte/Sekunde
benötigen, benötigt die erfindungsgemäße Anordnung für jede Einheit nur 128 · 128
Byte · 25 Bilder/Sekunde = 409.600 Byte/Sekunde.
-
Weil jeder Prozessor nur Zugang zu einem entsprechenden Teil des Speicher hat,
kann er zu diesem Teil des Speichers kontinuierlichen Zugang haben. Dies steht
im Gegensatz zu anderen Anordnungen, welche die gleiche Anzahl von Prozessoren
und die gleiche Speichergröße aufweisen, bei denen jedoch jeder Prozessor Zugang
zu dem gesamten Speicher hat. Bei diesen Anordnungen muß sich jeder Prozessor
den Zugang zu dem Speicher mit anderen Prozessoren teilen, so daß für n
Prozessoren jeder Prozessor nur während eines Bruchteils 1/n der Gesamtzeit Zugang zum
Speicher hat. Wenn 16 Prozessoren verwendet werden, könnte jeder Prozessor nur
während 6% der Gesamtzeit Zugang zum Bildspeicher haben, wodurch sich die
gesamte Verarbeitungsgeschwindigkeit erheblich verlangsamen würde.
-
Das beschriebene System kann in verschiedener Weise modifiziert werden,
beispielsweise durch Verwendung von mehr oder weniger Prozessorbausteinen.
-
Das System kann auch zur Verarbeitung anderer Informationsarten verwendet
werden, beispielsweise Bildinformation von einem Infrarotdetektor oder
Schallinformation zur Verwendung bei der Spracherkennung. Das System kann auch bei
Robotervorrichtungen eingesetzt werden, wobei die Ausgangssignale des Systems zur
Steuerung von Positionierungs- oder Manipulationsvorrichtungen dienen, welche
durch die Bezugszahl 6 dargestellt sind. Andere Quellen von Videoeingangssignalen
können zur Erzeugung von Videobildinformationen verwendet werden, beispielsweise
Videorecorder oder Radarvorrichtungen.
-
Es sei angemerkt, daß die Größen der Speicher 22, welche jedem Teilbild zugeordnet
sind, nicht identisch sein müssen. Beispielsweise kann, wenn eine erhöhte
Verarbeitungskapazität benötigt wird, mehr als ein Prozessorbaustein 21 zur Speicherung
und zur Verarbeitung von Information von dem gleichen Teilbild verwendet
werden. Die Größe und Position jedes Teilbildes können auch dynamisch bestimmt
werden. Beispielsweise kann bei Identifizierung eines sich bewegenden Objekts in
einem Bereich des Sichtfeldes die Information dieses Bereiches einer größeren Anzahl
von Prozessorbausteinen zugeführt werden, während gleichzeitig die Information aus
anderen Bereichen einer geringeren Anzahl von Prozessorbausteinen zugeführt wird,
so daß für den Bereich des sich bewegenden Objekts eine erhöhte
Verarbeitungskapazität zur Verfügung steht.