DE3931887C2 - System zur Speicherung und Verarbeitung von Videobildern - Google Patents
System zur Speicherung und Verarbeitung von VideobildernInfo
- Publication number
- DE3931887C2 DE3931887C2 DE19893931887 DE3931887A DE3931887C2 DE 3931887 C2 DE3931887 C2 DE 3931887C2 DE 19893931887 DE19893931887 DE 19893931887 DE 3931887 A DE3931887 A DE 3931887A DE 3931887 C2 DE3931887 C2 DE 3931887C2
- Authority
- DE
- Germany
- Prior art keywords
- image
- video
- memory
- picture
- data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/60—Memory management
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Image Processing (AREA)
- Image Analysis (AREA)
- Image Input (AREA)
- Closed-Circuit Television Systems (AREA)
- Processing Or Creating Images (AREA)
- Apparatus For Radiation Diagnosis (AREA)
- Measuring And Recording Apparatus For Diagnosis (AREA)
Description
Die Erfindung bezieht sich auf ein System zur Speicherung und Verarbeitung
von Videobildern von zwei separaten Quellen, wobei jedes Videobild durch wenig
stens ein Videofeld (Videoteilbild) dargestellt ist.
Maschinenbildsysteme dienen zum Analysieren von Pro
dukten bei verschiedenen Stadien während des Herstellungs
prozesses. Solch ein System enthält eine Videokamera, die
längs eines Montagebandes angeordnet ist und ein Videobild
jedes Produkts liefern soll. Dieses Videobild wird dann
von einem Bildprozessor analysiert, um Eigenschaften der
Produkte festzustellen, beispielsweise das Vorhandensein
von Komponenten oder Bauteilen, und um festzustellen, ob
die mechanischen Abmessungen des Produkts innerhalb spe
zifizierter Toleranzen liegen. Infolge der Komplexität der
durchgeführten Bildanalyse sind zahlreiche Videobildpro
zessoren nicht in der Lage, das Videobild auf Echtzeitbasis
zu analysieren. In derartigen Prozessoren muß daher ir
gendeine Art von Bildspeichermechanismus vorgesehen werden.
Solche Bildspeichermechanismen digitalisieren gewöhnlich
das Bild in eine zweidimensionale Anordnung aus Bildele
menten. Eine Dimension entspricht den Abtastzeilen des
Bildes, und die andere Dimension entspricht den Spalten der
Bildelemente.
Bisher war ein Videoverarbeitungssystem typischer
weise einer einzigen Kamera zugeordnet. Einhergehend mit
der Verbesserung der Analysefähigkeiten ist es oft er
wünscht, zwei Videobilder jedes Produkts bei seinem Voran
schreiten durch den Herstellungsprozeß einzufangen. In
diesem Fall stellt jedes Bild oder Abbild eine separate
Ansicht des Gegenstands dar, und zwar mit dem Ziel,
unterschiedliche Merkmale zu inspizieren. Obgleich eini
ge bisherige Bildprozessoren mit Vielfachkameras ge
koppelt waren, konnten sie dennoch zu einer Zeit jeweils
nur das Bild einer Kamera erlangen, speichern und ana
lysieren. Wenn Vielfachansichten eines einzigen Gegen
stands gewonnen werden sollten, bestand das Ergebnis
darin, daß die gewonnenen Ansichten den Zustand des Ge
genstands zu unterschiedlichen Zeitpunkten darstellen
würden. Damit ist die Gefahr verbunden, daß die Gegenstän
de ihre Orientierung und sogar ihre Merkmale verändern
könnten, und zwar infolge des zeitlichen Abstands zwischen
der Erlangung der Bilder. Solche Veränderungen können sich
nachteilig auf den Inspektionsprozeß auswirken. Bei einem
sich schnell bewegenden Montageband muß man darüber hinaus
mit großer Sorgfalt sicherstellen, daß sich jeweils der
selbe Gegenstand vor jeder Kamera befindet, wenn die Bilder
aufgenommen werden. Bisher bestand die einzig verfügbare
Lösung für dieses Problem darin, duplizierte Verarbeitungs
systeme einzusetzen, um separate Bilder gleichzeitig zu
erlangen und zu analysieren.
In einem typischen Maschinenbildsystem erzeugt die
Kamera ein Grauskalavideobild, d. h. ein Bild mit einer
Vielzahl von Helligkeitsstufen. Eine Art der bisherigen
Bildprozessoren setzte das Grauskalavideobild in ein bi
näres Bild um, das lediglich weiße und schwarze Helligkeits
stufen aufweist. Diese Umsetzung vereinfachte die Analyse
des Bildes dadurch, daß die Helligkeitsstufen auf lediglich
zwei Stufen reduziert wurden. Bei der Durchführung der Um
setzung wurde jedoch das gesamte Bild binärisiert bzw. der
Binärumsetzung unterzogen, und zwar selbst dann, wenn nur
ein kleiner Bildbereich interessierende Gegenstände auf
wies, die zu analysieren waren. In solchen Fällen wurde
daher die Verarbeitungszeit infolge der Umsetzung des
gesamten Bildes verlängert.
Eine bisherige bekannte Bildverarbeitungstechnik ge
stattete es dem Benutzer, in dem Bild zweidimensionale
"Fenster" zu definieren, durch die man bestimmte Merkmale
und Gegenstände des Bildes sehen konnte. Diese Merkmale
und Gegenstände waren für den Benutzer von Interesse,
und die Fenster definierten diejenigen Teile des Bildes,
die diese Merkmale und Gegenstände enthielten. Die für
die Bildanalyse erforderliche Zeit wurde herabgesetzt,
weil nur die in die Fenster fallenden Bildteile verar
beitet wurden. Weiter fortgeschrittene Bildprozessoren
gestatteten es dem Benutzer, Fenster zu definieren, die
nicht rechtwinklig waren, beispielsweise Fenster mit
einem kreisförmigen oder dreieckförmigen Aussehen. Ob
gleich es relativ leicht war, die gespeicherten Bild
elemente in einem rechteckförmigen Fenster durch Raster
abtastadressierung zu adressieren, benötigen nicht
rechteckförmige Fenster komplexere Adressierberechnungen.
In dem letzteren Fall konnte jede Zeile der Bildelemente
innerhalb des Fensters bei einer anderen Bildelementspalte
anfangen und enden. Daher war das Adressenzahlinkrement
von dem Speicherplatz des letzten Bildelements in einer
Zeile des Fensters zu dem Speicherplatz des ersten Bild
elements in der nächsten Zeile des Fensters keine feste
Zahl. Man mußte daher Verarbeitungszeit aufwenden, um
die erste Adresse in jeder Fensterzeile zu bestimmen.
In der DE 25 57 864 A1 ist ein System zur Verarbeitung von Videobildern
einer Bildsignalquelle beschrieben, in welchem ankommende analoge Bildsignale
zur Korrektur von möglichen Zeitbasisfehlern zunächst digitalisiert werden und dann
die aufeinanderfolgenden digitalisierten Zeilen eines Bildes mit der möglicherweise
fehlerbehafteten Taktimpulsfolge in einen Speicher eingeschrieben und anschließend
mit einer Standardtaktimpulsfolge wieder ausgelesen werden. Der Speicher besteht
aus wenigstens drei Schieberegistern für jeweils eine Zeile, und eine Steuerung sorgt
dafür, daß die Schieberegister zyklisch betrieben werden. Die aufeinanderfolgend
ausgelesenen Zeilen werden wieder in die analoge Form umgesetzt und als analoges
Bildsignal weitergeleitet.
Aus der US 4 709 264 ist ein System zur Verarbeitung von Videobildern be
kannt, die von einer Kamera aufgenommen werden und jeweils aus zwei Halbbildern
bestehen. Nach einer Umsetzung in die digitale Form werden die beiden Halbbilder
in separate Halbbildspeicher eingeschrieben und dann mit derart relativ zueinander
korrigierten Adressen wieder ausgelesen, daß nach Rückumsetzung in die analoge
Form ein von der Kamera aufgenommener, sich schnell bewegender Gegenstand
keine störenden Bildeindrücke auf einem von einem Monitor dargestellten Bild her
vorruft.
Aus Mitschke, H.: Bilder aus dem Speicher, Funkschau, Heft 9, 1988, S. 56-
58, ist es zur elektronischen Bildverarbeitung, beispielsweise Bildverkleinerung, be
kannt, ein PAL-codiertes Eingangssignal in das Leuchtdichtesignal und die Farbdif
ferenzsignale zu zerlegen, die voneinander getrennten Signale zu digitalisieren und in
separaten Komponenten eines Halbbildspeichers zu Speichern. Der als Komponen
tenspeicher ausgebildete Halbbildspeicher bietet die Möglichkeit, die einzelnen Bild
komponentensignale getrennt in einer gewünschten Weise zu verarbeiten, bevor sie
wieder zusammengefügt und in die analoge Form gebracht werden.
Aus Bermbach, R.; Scherfenberg, H.: Zeilensensor überwacht bewegte Ob
jekte, Elektronik, Nr. 24, 1986, S. 99-102, ist es bekannt, zur Überwachung bewegter
Objekte mehrere Zeilensensoren einzusetzen, denen jeweils ein eigener Videobus mit
einem eigenen Zeilenprozessorsystem zugeordnet ist. Zusätzlich ist ein gemeinsamer
Systembus vorgesehen, über den die gesamte Kommunikation des Multiprozessor
systems abgewickelt wird.
In der US 4 577 344 ist ein Videobildverarbeitungssystem beschrieben, bei
dem von mehreren parallel betriebenen Videokameras jeweils eine Kamera zur Ver
arbeitung des gerade aufgenommenen Bildes in einem Videoprozessor und Speiche
rung des verarbeitenden Bildes ausgewählt wird.
Aus Flik, Th.; Liebig, H.: 16-Bit-Mikroprozessorsysteme, Springer Verlag,
1982, S. 193-199, ist es bekannt, Dual-Port-Speicher für die Kopplung von E/A-
Schnittstellen an einen Systembus zu verwenden.
Aus der US 4 570 181 ist es bekannt, rechteckförmige Bereiche eines Bildes
zu selektieren.
Aufgabe der Erfindung ist es, ein System anzugeben, das die Videobilder von
zwei separaten Videoquellen, beispielsweise von zwei synchron arbeitenden
Videokameras, gleichzeitig speichern und zur Analyse der Videobilder verarbeiten
kann.
Diese Aufgabe wird durch den Gegenstand des Anspruchs 1 gelöst. Vorteil
hafte Weiterbildungen sind in Unteransprüchen gekennzeichnet.
Um maximale Flexibilität für das erfindungsgemäße System zu erlangen,
spricht bei einer bevorzugten Weiterbildung der Erfindung die Steuerung auf ein
Signal an, das anzeigt, wann jedes der beiden Videobilder zu speichern ist. Falls eine
Anzeige für beide Videobilder während desselben Videofeldintervalls empfangen
wird, ermöglicht die Steuerung die gleichzeitige Speicherung der Reihen der Pixels
für jedes Videobild. Wenn die Steuerung eine Anzeige enthält, daß ein neues Video
bild von einer der Quellen zu speichern ist, während das Videobild von der anderen
Quelle gerade aus der Speichereinrichtung ausgelesen wird, hält die Steuerung die
Verarbeitung des anderen Videobildes zeitweise an, so daß das neue Bild von der
ersten Quelle mit Hilfe des Systems erlangt und gespeichert werden kann.
Die Auswertung des Bildes wird vorzugsweise aufgrund der Pixels vorge
nommen, die innerhalb benutzerdefinierter Fenster liegen, die Bildteile definieren,
welche zu analysierende Merkmale enthalten. Die Adressierung der Speichereinrich
tung zum Auslesen der Bildelemente zwecks Verarbeitung wird dadurch vereinfacht,
daß für jedes benutzerdefinierte Fenster ein interessierender Bereich definiert wird.
Jeder interessierende Bereich ist ein rechteckförmiger Bildteil, der das entsprechende
Fenster umschließt. Die gespeicherten Bildelemente des interessierenden Bereiches
werden unter Anwendung des herkömmlichen Rasterabtastadressierschemas ausge
lesen. Die Adresse des Bildelements in jeder Zeile des interessierenden Bereiches ist
stets ein festes Inkrement ausgehend von der Adresse des letzten Bildelements in der
vorangegangenen Zeile des interessierenden Bereiches. Eine Maske des gesamten
Bildes wird gespeichert, welche Maske es dem System gestattet, zwischen Bildele
menten in dem interessierenden Bereich zu unterscheiden, die innerhalb oder außer
halb des zugeordneten Fensters liegen.
Bei einer bevorzugten Weiterbildung der Erfindung wird ein Arbitrations-
oder Schiedsverfahren zwischen der Wiedergewinnung von Bilddaten von einer
Quelle und der Speicherung eines neuen Bildes von der anderen Quelle durchgeführt.
Bei einer weiteren bevorzugten Weiterbildung der Erfindung können Daten
für einen Teil eines Videobildes aus der Speichereinrichtung ausgelesen werden, und
zwar zum Zwecke der Verarbeitung bevor das gesamte Bild gespeichert worden ist.
Mit Hilfe dieses Mechanismus wird die für die Bilderlangung und Bildverarbeitung
erforderliche Zeit vermindert.
Vorzugsweise soll die Verarbeitung und Analyse an lediglich vordefinierten
Teilen im Bild durchgeführt werden. Infolge der Verarbeitung von nur diesen Teilen
wird die für die Bildanalyse erforderliche Zeit minimiert.
Gemäß den Vorgaben der Benutzer hat der vordefinierte Bildteil oft eine
nicht rechteckförmige Gestalt. Bei einer vorteilhaften Weiterbildung der Erfindung
wird dann ein Rechteckbereich ausgewählt, das den nicht rechteckförmigen vordefi
nierten Bildteil umschließt. Der ausgewählte Rechteckbereich vereinfacht die Adres
sierung des Bildteils.
Fig. 1 ist eine bildliche Darstellung eines
programmierbaren Steuerungssystems, das einen Bildmodul
enthält, der von der Erfindung Gebrauch macht,
Fig. 2 zeigt ein Blockschaltbild von dem Zentral
verarbeitungseinheitsteil eines Videobildprozessors gemäß
der Erfindung,
Fig. 5 veranschaulicht den Videosignalverarbei
tungsteil des Videobildprozessors,
Fig. 4 zeigt eine graphische Darstellung eines
Werkstückbildes auf dem in Fig. 1 gezeigten Monitor,
Fig. 5 ist eine Darstellung einer beispielshaften
Speicherstruktur von Konfigurationsdaten für den erfin
dungsgemäßen Bildprozessor,
Fig. 6 zeigt eine Zeitstrecke für die Erlangung
eines Videobildes, das aus zwei Zeilensprung-Feldern
zusammengesetzt ist, und
Fig. 7 zeigt einen interessierenden Bereich, der
um ein nicht rechteckförmiges Fenster herum definiert
ist.
Zunächst wird auf Fig. 1 Bezug genommen. Darin ist
die Erfindung verkörpert in einer programmierbaren Steue
rung 1. Die programmierbare Steuerung enthält ein Gestell
oder einen Rahmen, in welchem verschiedene Funktions
module gehäusemäßig untergebracht sind. Diese Module um
fassen einen Prozessor 3, der ein benutzergeschriebenes
Programm ausführt, um eine von der Steuerung gesteuerte
Maschine zu betätigen, eine Reihe herkömmlicher Eingabe/
Ausgabe-Module 4, die die Schnittstelle zwischen der
Steuerung und der Maschine darstellen, und einen neuarti
gen Videobildprozessor 10. Der Bildprozessor 10 erhält
Videosignale von zwei CCD-Kameras 6 und 7 (CCD = ladungs
gekoppeltes Element), die unter unterschiedlichen Winkeln
auf ein Werkstück 5 gerichtet sind. Die beiden Videokame
ras 6 und 7 sind herkömmliche Rasterabtastgeräte, die dem
RS-170-Standard entsprechen und einen Videobildrahmen er
zeugen, der aus zwei Zeilensprung-Feldern besteht. Jedes
Feld besteht aus etwa 256 Abtastzeilen. Ein Videomonitor 8
stellt ein Videoausgabebild vom Bildprozessor 10 dar.
Zusätzlich zur Darstellung des verarbeiteten Bildes wird
der Monitor 8 in Verbindung mit einem Lichtgriffel 9
vom Benutzer verwendet, um den Bildprozessor mit Hilfe von
Symbolen und Menüs zu konfigurieren, die auf dem Monitor
schirm dargestellt sind. Eine Computeranschlußeinheit 1 ist
mit dem Hauptprozessormodul 3 verbunden, und dient zum
Programmieren dieses Modul.
Der Bildprozessor 10 besteht aus einem CPU-Teil 11
(CPU = Zentralverarbeitungseinheit) und einem Videosignal-
Teil 12. Einzelheiten dieser beiden Prozessorteile sind in
Fig. 2 und 3 dargestellt. Der CPU-Teil 11 ist um einen
Satz von drei Bussen herum aufgebaut, bei denen es sich
um einen Steuerbus 13 aus einem Satz von Steuerleitungen,
einem Paralleladreßbus 14 und einem Paralleldatenbus 15
handelt. Ein Mikroprozessor (oder Mikrocomputer) 16 ist
mit den drei Bussen 13 bis 15 verbunden und führt ein
Programm aus, das die Arbeitsweise des Bildprozessors
zum Zwecke der Erlangung und Analyse von Videobildern
steuert, die von den Kameras empfangen werden.
Das Programm für den Mikroprozessor 16 ist in einem
Festwertspeicher (ROM) 19 gespeichert, der ebenfalls mit
den drei Bussen im CPU-Teil verbunden ist. Ein Direkt
zugriffsspeicher (RAM) 18 stellt Speicherplätze für die
verschiedenen Variablen zur Verfügung, die vom Mikropro
zessor 16 während der Ausführung des Programms benutzt
werden, sowie für die Ergebnisse der Bildanalyse. Ein
Ein elektrisch löschbarer programmierbarer Festwertspeicher
(EEPROM) 22 ist mit dem Steuerleitungssatz des Steuer
busses 13 sowie mit dem Adreßbus 14 und dem Datenbus 15
verbunden. Der EEPROM speichert vom Benutzer bereitgestell
te Daten, die den Bildprozessor 10 konfigurieren und die
durchzuführende Bildanalyse definieren.
Eine Eingabe/Ausgabe-Schnittstellenschaltung 24 ist
ebenfalls mit den Steuer-, Adreß- und Datenbussen 13, 14
und 15 verbunden. Die E/A-Schnittstellenschaltung 24
stellt Sätze von einzelnen Eingabe- und Ausgabeleitungen
25 bzw. 26 zur Verfügung. Zwei Eingabeleitungen 25
empfangen separate Triggersignale, die eine Anzeige lie
fern, wenn Bilder erlangt werden sollen. Die verschiedenen
Ausgabeleitungen 26 sind vorgesehen für Abtastlicht(strobe
light)-Zündsignale, Prozessor-Besetzt-Ausgabesignale und
eine Reihe einzelner Signale, die die Ergebnisse von ver
schiedenen vom Prozessor durchgeführten Bildanalysen an
zeigen. Die E/A-Schnittstelle 24 enthält auch einen her
kömmlichen RS-232-Serienanschluß 21, der dazu dient, den
Bildprozessor 10 direkt mit einer Computeranschlußeinheit
oder einem fernaufgestellten Computer zu verbinden.
Nach Fig. 1 ist der Bildprozessor 10 in einem Modul
untergebracht, der sich in dem Rahmen der programmierbaren
Steuerung 1 befindet. Im Falle einer solchen Installation
enthält der CPU-Teil 11 eine Rückebene-Schnittstelle 28
zum Verbinden des Bildprozessors 10 mit der Rückebene des
Rahmens der programmierbaren Steuerung. Dadurch wird es dem
Bildprozessor gestattet, Konfigurationsdaten und Befehle
von dem Prozessor 3 der programmierbaren Steuerung zu
empfangen als auch die Analyseergebnisse an diesen Pro
zessor zu senden. Die Rückebene-Schnittstelle 28 besteht
aus herkömmlichen Schaltungen wie sie auch bei anderen
Modulen der programmierbaren Steuerung benutzt werden, um
diese Module mit der Rückebene des Rahmens zu verbinden.
In Abhängigkeit von den Eigenschaften der besonderen
programmierbaren Steuerung, mit der der Bildprozessor 10
verwendet wird, ist ein Fachmann ohne weiteres in der
Lage, die geeignete Rückebene-Schnittstelle 28 zu kon
struieren.
Die restlichen Bildprozessorkomponenten sind im
Videosignal-Teil 12, oder kurz Videoteil, enthalten, der
in Fig. 3 dargestellt ist. Der Bildteil 12 erhält Bild
daten in der Form von herkömmlichen analogen Videosignalen
von den beiden Kameras 6 und 7, wobei jedes dieser analo
gen Videosignale jeweils einem Analog/Digital-Umsetzer
(A/D) 32 bzw. 33 zugeführt wird. Diese Analog/Digital-
Umsetzer digitalisieren das analoge Videosignal der jeweils
entsprechenden Kamera in eine Reihe digitaler Bildelemente
(Pixels), wobei die Grauskalaluminanz jedes Pixels durch
eine Mehrbit-Digitalzahl dargestellt ist. Die Analog/
Digital-Umsetzer sind von herkömmlicher Bauart, in die
hohe und niedrige Spannungsreferenzwerte über einen Par
alleldatenbus gegeben werden können, und zwar zum Defi
nieren der digitalen Umsetzungsparameter. Jeder der Analog/
Digital-Umsetzer wird von einem Signal einer Videozeit
gabeschaltung 27 getaktet, um 512 Pixel pro Horizontalab
tastzeile von seiner jeweiligen Kamera zu erzeugen. Die
Videozeitgabeschaltung 27 liefert auch ein Horizontal-
und Vertikalsynchronsignal an die Kameras 6 und 7.
Die Mehrbitausgänge der Analog/Digital-Umsetzer 32
und 33 werden parallel an verschiedene Eingänge eines
ersten Videomultiplexers (MUX) 34 geleitet. Der erste
Multiplexer 34 ist so konfiguriert oder ausgelegt, daß er
jeden der beiden Paralleleingänge wahlweise und einzeln
an einen von drei parallelen Videobussen 35 bis 37 legen
kann. Jeder der drei digitalen Videobusse 35 bis 37 ist
mit einem Eingang eines zweiten 3-auf-1-Videomultiple
xers 38 verbunden. Der Ausgang des zweiten Multiplexers 38
ist mit einem Eingang eines Videodatenselektors 40 ver
bunden, der digitale Eingangsdaten wahlweise an einen
Videosignalgenerator leitet. Der Videosignalgenerator 42
setzt die Daten vom Videodatenselektor 40 in ein herkömm
liches analoges Videosignal um, das dem externen Monitor
80 zugeführt wird.
Jeder der drei Videobusse 35, 36 und 37 ist auch mit
einem ersten Datenanschluß von jeweils einem von drei dual
angeschlossenen Feld-Speichern 44, 45 und 46 verbunden. Der
zweite Datenanschluß jedes der dual angeschlossenen Feld-
Speicher 44 bis 46 ist mit einem gemeinsamen Speicherdaten
bus 51 verbunden. Jeder der Feld-Speicher 44 bis 46 hat
eine hinreichende Anzahl von Speicherplätzen, um ein
separates 512 × 256-Pixel-Grauskala-Videobildfeld vom
Ausgang der Analog/Digital-Umsetzer 32 und 33 zu spei
chern. Die Feld-Speicher bilden zusammen einen Mechanis
mus zum Speichern von Videobildern, wobei jeder Feld-
Speicher ein Teil dieses Mechanismus ist.
Ein Graphik-Speicher 47, bei dem es sich ebenfalls
um einen dual angeschlossenen oder beidseitig verbunde
nen RAM handelt, ist mit einem Datenanschluß mit dem
Speicherdatenbus 51 und mit einem zweiten Datenanschluß
mit einem anderen Eingang des Videodatenselektors 40 ver
bunden. Der Graphik-Speicher speichert ein Videobild, das
alphanumerische Zeichen und graphische Symbole enthält,
die vom CPU-Teil 11 zwecks Darstellung auf dem Monitor 8
erzeugt werden. Diese Zeichen und Symbole werden zum
Einrichten des Prozessors zur Bildanalyse und zur Dar
stellung der Analysenergebnisse verwendet. Die Adreß
eingänge der Feld-Speicher 44 bis 46 und des Graphik-
Speichers 47 sind mit einem gemeinsamen parallelen Video
adreßbus 50 verbunden. Jedes in den Feld-Speichern ge
speicherte Pixel kann mittels einer Digitalzahl adres
siert werden, die eine Gruppe von Bits hat, welche die
Feld-Abtastzeile spezifizieren, in der das Pixel loka
lisiert ist, und eine andere Gruppe von Bits hat, die
die Horizontalbildspalte für das Pixel spezifizieren.
Die Lese- und Schreiboperationen der Feld-Speicher
44 bis 46 und des Graphik-Speichers 47 werden mittels
einer Speichersteuerung 52 gesteuert. Wenn Daten aus den
Speichern gelesen werden sollen, erzeugt die Speicher
steuerung eine Mehrbitadresse an Ausgangsleitungen 53, die
einen der Speicherplätze in jedem der Feld- und Graphik-
Speicher bezeichnet. Die Adreßausgangsleitungen 53 der
Speichersteuerung 52 sind mit einem Eingang eines ersten
3-auf-1-Paralleladreßmultiplexers 54 verbunden. Der Mehr
bitausgang des ersten Adreßmultiplexers 54 ist mit dem
Speicheradreßbus 50 verbunden. Ein anderer Mehrbiteingang
des ersten Adreßmultiplexers 54 ist mit einem Adreßgenera
tor innerhalb der Videozeitgabeschaltung 27 verbunden, die
Speicheradressen für die Bildspeicherung und Darstellung
liefert. Welcher der Eingänge des ersten Adreßmultiplexers
54 an seinen Ausgang durchgeschaltet ist, hängt von einem
Signal an einer Leitung 56 von der Speichersteuerung 52
ab. Die Speichersteuerung 52 erzeugt auch herkömmliche
Lese/Schreib-Steuersignale an einem Satz von Steuerlei
tungen 58, die mit jedem der Feld-Speicher 44, 45 und 46
und mit dem Graphik-Speicher 47 verbunden sind.
Rahmenrücksetzkameras (frame reset cameras) können
als Alternative zu RS-170-Kameras 6 und 7 verwendet wer
den. In diesem Fall erfolgt die Abtastung durch die Ka
meras asynchron zur Abtastung des Monitors 80. Bei dieser
Alternative müßte daher die Videozeitgabeschaltung 27
separate Adreßsignale für die Bilderlangung und Darstel
lung erzeugen. Separate Busse würden diese Signale an
den Multiplexer 54 sowie einen Multiplexer 74 weiterleiten,
bei denen es sich dann um 4-auf-1-Geräte handeln würde.
Eines dieser Adreßsignale würde an die Speicher 44 bis 49
geleitet werden, und zwar in Abhängigkeit davon, ob ein
Bild gespeichert oder zur Darstellung ausgelesen wird.
Ein Masken-Speicher 48 ist ebenfalls mit dem Speicher
adreßbus 50 und den Steuerleitungen 58 verbunden. Der
Masken-Speicher 48 ist in zwei Ebenen unterteilt, von
denen jede ein Bild einer Verarbeitungsmaske für das
Videobild von einer der Kameras 6 oder 7 speichert. Die
Funktion dieser Masken wird nachfolgend beschrieben. Ein
Logik-Tor 63 verbindet eine 1-Bit-Leitung des Speicher
datenbusses 51 mit dem Datenanschluß des Masken-Speichers
48. Das Tor 63 wird von einem Signal an einer der Speicher
steuerleitungen 58 freigegeben oder durchgeschaltet.
Der CPU-Teil 11 ist mit dem Videoteil 12 verbunden.
Der Steuerleitungssatz des Steuerbusses 13, der Adreßbus 144
und der Datenbus 15 sind an eine CPU-Schnittstellenschal
tung 60 im Videoteil 12 angeschlossen. Die CPU-Schnitt
stellenschaltung 60 enthält einen herkömmlichen Adreßdeco
der, der auf spezifische Adressen anspricht, die am CPU-
Bus 14 vorhanden sind, und zwar durch Erzeugen von Steuer
signalen für verschiedene Komponenten innerhalb des Video
teils 12. Zusätzlich enthält die CPU-Schnittstellenschal
tung 60 eine Reihe adressierbarer Datenregister, in die
der Mikroprozessor 16 Daten schreibt, um die Arbeitsweise
des Videoteils zu konfigurieren. Diese Register speichern
beispielsweise Steuerbits, die an die Steuerleitungen 61
gelegt werden, um jeden der Videomultiplexer 34 und 38 zu
konfigurieren.
Der CPU-Teil-Adreßbus 14 ist über einen CPU-Schnitt
stellen-Adreßbus 64 mit dem dritten Eingang des ersten
Adreßmultiplexers 54 verbunden. Der Datenbus 15 des CPU-
Teils 11 ist über die CPU-Schnittstellenschaltung 60 mit
einem CPU-Schnittstellen-Datenbus 66 verbunden. Der CPU-
Schnittstellen-Datenbus 66 ist an zwei Sätze bidirektiona
ler Datenpuffer 68 und 69 angeschlossen. Der erste Satz
Datenpuffer 68 verbindet den CPU-Schnittstellen-Bus 66
mit dem Speicher-Datenbus 51 in Abhängigkeit von einem
Freigabe- oder Durchschaltsignal von der GPU-Schnittstellen
schaltung 60.
Wenn ein Satz Datenpuffer 70 durch ein Steuersignal
der Speichersteuerung 52 freigegeben oder durchgeschaltet
ist, ist der Speicherdatenbus 51 mit einem Satz von Ein
gängen eines Paralleldatenbus-Multiplexers 71 verbunden.
Ein weiterer Satz von Paralleleingängen des Datenbus-
Multiplexers 71 ist geerdet. Der Datenbus-Multiplexer 71
verbindet einen Satz von Eingängen mit seinem Ausgang in
Abhängigkeit von einem Freigabe- oder Durchschaltsignal
von einem UND-Glied 65. Ein Eingang des UND-Glieds 65
empfängt ein Maskenfreigabesignal an einer Leitung 62
von der CPU-Schnittstellenschaltung 60. Der andere Ein
gang des UND-Glieds 65 ist mit dem Datenanschluß des
Masken-Speichers 48 verbunden.
Die Parallelausgänge des Datenbus-Multiplexers 71
sind mit den Eingängen einer Binärisier- und Filterschal
tung 72 verbunden. Die Binärisier- und Filterschaltung 72
enthält eine herkömmliche Schaltung, die eine Vielbit-
Eingangszahl in eine Binärzahl umsetzt, und zwar in Ab
hängigkeit von der numerischen Beziehung der Eingangszahl
zu einem vordefinierten Schwellenwert. Die Binärisier-
und Filterschaltung 72 setzt ein Grauskala-Pixel in ein
binäres Pixel mit entweder einem schwarzen oder einem
weißen Luminanzwert um. Alternativ kann die Eingangszahl
mit zwei Schwellenwerten verglichen oder "gefenstert"
werden, und der Wert der Binärumsetzung ist dadurch be
stimmt, ob die Eingangszahl zwischen zwei Schwellenwerten
liegt. Weiterhin kann die Schaltung 72 eine herkömmliche
zweidimensionale Filterung an dem Bild ausführen, um un
erwünschte Artifakte zu entfernen und komplexe gegen
stände im Bild auf einfachere Formen zu reduzieren.
Der binäre Ausgang der Binärisier- und Filterschal
tung 72 gelangt zu einem zweiten Satz von Datenpuffern 69
und zu einem Datenanschluß eines dual angeschlossenen oder
beidseitig verbundenen Binärbild-Speichers 49. Der andere
Datenanschluß des Binärbild-Speichers 49 ist mit einem
dritten Dateneingang des Videodatenselektors 40 verbunden.
Der Adreßeingang des Binärbild-Speichers 49 ist mit dem
Ausgang eines zweiten 3-auf-1-Adreß-Multiplexers 74 ver
bunden. Der zweite Adreßmultiplexer 74 empfängt einen
Adreßsignaleingang über eine Leitung 64 von der CPU-
Schnittstellenschaltung 60, einen anderen Adreßsignalein
gang von den Adreßleitungen 55, die ihren Ursprung in der
Videozeitgabeschaltung 27 haben, und ein drittes Adreß
signal von der Speichersteuerung 52 über eine Leitung 75.
Ein Signal von der Speichersteuerung 52 über eine Leitung
76 steuert, welches der drei Eingangsadreßsignale des
zweiten Adreßmultiplexers 74 zum Binärbild-Speicher 49
weitergeleitet wird. Der Binärbild-Speicher 49 erhält auch
Steuersignale über den Satz von Steuerleitungen 58 von der
Speichersteuerung 52.
Die Speichersteuerung 52 enthält eine herkömmliche
Speicherzugriffs-Arbitrationsschaltung, die von der Binäri
sier- und Filterschaltung 72, der CPU-Schnittstellenschal
tung 60 und der Videozeitgabeschaltung 27 Speicheranforde
rungen empfängt und Anforderungsbestätigungen an diese
Schaltungen aussendet. Aufgrund dieser Speicheranforderungen
erzeugt die Speichersteuerung 52 die verschiedenen Steuer
signale, um den Betrieb der Adreßmultiplexer 54 und 74 und
der verschiedenen Speicher 44 bis 49 zu steuern und zu
leiten.
Der Videoteil 12 enthält auch ein Lichtgriffel-
Register 78, das mit den Adreßleitungen 55 der Videozeit
gabeschaltung 27 verbunden ist. Dieses Register kann durch
den CPU-Teil 11 gelesen werden, um die Feld-Speicheradresse
des von den Analog/Digital-Umsetzern 32 und 33 gerade
gespeicherten Pixels zu erhalten. Aus dieser Adresse kann
der CPU-Teil 11 die Abtastzeilen- und Spaltenkoordinaten
dieses Pixels im Videospeicher bestimmen. Aufgrund eines
Signals des Lichtgriffels 9 speichert das Lichtgriffel-
Register 78 die Adresse von der Videozeitgabeschaltung 27.
Da der Monitor 8 und die Kameras 6 und 7 vorzugsweise syn
chron abgetastet werden, stellt diese (vorübergehend) ge
speicherte Adresse die Position auf dem Schirm des Monitors
8 dar, bei der dann der Lichtgriffel 9 positioniert ist.
Die Lichtgriffel-Positionsadresse kann von dem CPU-Teil 11
über die Datenbusse 15 und 66 aus dem Lichtgriffel-Register
78 ausgelesen werden.
Der Bildprozessor 10 analysiert die Videobilder von
den Kameras 6 und 7 unter Verwendung einer Vielzahl von
benutzerdefinierten Auswertfenstern und Linien-Meßlehren,
um verschiedene Merkmale der Gegenstände in jedem Kamera
bild zu erfassen und zu erfühlen. Fig. 4 zeigt beispiels
weise das von der ersten Kamera 6 erlangte Bild des Werk
stücks 5, wie es auf dem Monitor 8 erscheinen würde. Dieses
Bild enthält auch Kennungen (Indicia) für Bildanalyse
fenster und Linien-Meßlehren. So ist beispielsweise ein
rechteckförmiges Analysefenster 80 rund um den zylindri
schen Vorsprung 84 des Werkstücks vorgesehen, und ein
kreisförmiges Fenster 77 umgibt ein Durchgangsloch 73 im
Werkstück. Ein Linien-Meßlehre-Analysewerkzeug 81 ist in
einem positionierten Zustand gezeigt, um die Breite der
Ausnehmung an der unteren Kante des Werkstücks 5 zu erfas
sen. Eine Reihe von Auswertfenstern und Linien-Meßlehren
können bezüglich des Bildes von jeder Kamera 6 und 7 sepa
rat definiert werden.
Eine Grundanalyse des Bildes wird dadurch vorgenommen,
daß Pixels innerhalb der Fenster 87 und 88 und längs der
Linien-Meßlehre gezählt werden, welche Pixels eine Luminanz
haben, die oberhalb und unterhalb eines benutzerdefinierten
Luminanzschwellenwerts liegt. Dieser Zählvorgang kann von
Schaltungen in der Binärisier- und Filterschaltung 72 oder
durch den Mikroprozessor 16 ausgeführt werden. In einer am
3. Juni 1988 eingereichten US-Patentanmeldung mit dem
Aktenzeichen 07/057,797 und dem Titel "Programmable Controller
Vision System" (US 49 16 640), ist ein ähnlicher Bildprozessor offenbart,
der Fenster und Linien-Meßlehren verwendet, um eine Bild
analyse durchzuführen. Dieses Dokument enthält auch eine
Beschreibung darüber, wie ein Lichtgriffel zu verwenden ist,
um die Prozessoranalyse durch Auswählen von Symbolen auf
dem Schirm eines Monitors einzurichten. Die in diesem Doku
ment enthaltene Erläuterung wird in diese Anmeldung ein
bezogen.
Das Monitorbild enthält auch Kennungen (Indicia) für
die Position einer Helligkeitssonde 82. Diese Sonde ist
in einem Bereich fester Größe, der im Bild vom Benutzer
positioniert werden kann. Wie es in einer bereits einge
reichten US-Patentanmeldung mit dem Aktenzeichen 07/031,414,
eingereicht am 3. März 1987, mit dem Titel "Machine Vision
System with Illumination Variation Compensation" (US 4 855 830), be
schrieben ist, wird die Luminanz der Pixels in dem Sonden
bereich gemessen. Das Meßergebnis wird verwendet, um eine
Veränderung in der Gesamtluminanz des Bildes aufgrund
einer Änderung in der Beleuchtung des Kameragesichtsfeldes
von der Analyseeinrichtzeit an zu erfassen. Diese Messung
ermöglicht es dem Mikroprozessor 16, die Spannungsreferenzen
der Analog/Digital-Umsetzer so einzustellen, daß die Digi
talisierung der Kamerasignale eine Kompensation gegenüber
Auswirkungen der Beleuchtungsänderung vornimmt.
Die Einrichtparameter der Analysefenster, der Linien-
Meßlehren und der Helligkeitssonde für jedes Bild sind in
dem EEPROM 22 in Form einer Tablle von Konfigurationsdaten
gespeichert. Die in der EEPROM-Tabelle gespeicherten Konfi
gurationsdaten werden von dem Mikroprozessor 16 verwendet,
um Daten in Register der CPU-Schnittstellenschaltung 60 nach
Fig. 3 zu laden, um dann die geeigneten Steuersignale für
verschiedene Komponenten des Videoteils 12 zu erzeugen. Diese
Konfigurationsdatentabelle ist graphisch in Fig. 5 darge
stellt. Es gibt zwei dieser Konfigurationsdatentabellen,
und zwar jeweils eine für das Bild von jeder Kamera 6 und 7.
Ein erster Abschnitt 86 von Tabellenspeicherplätzen spei
chert Systemdaten, die den Bildprozessor 10 im allgemeinen
konfigurieren. Wie bereits zuvor erläutert, liefern die
beiden Kameras 6 und 7 jeweils einen 2-Feld-Zeilensprung-
Abtastrahmen des Bildes. In Abhängigkeit vom Grad der er
forderlichen Vertikalauflösung kann der Benutzer wählen,
ob die Bildanalyse lediglich aufgrund eines Feldes oder
aufgrund beider Felder des Bildes vorgenommen werden soll.
Eine Anzeige der Vertikalauflösung (d. h. ein oder zwei
Felder) ist in dem Systemdatenabschnitt 86 gespeichert.
Gespeichert in diesem Abschnitt 86 ist auch eine
Zuordnung, welcher von zwei Kameratriggereingängen 25
die Bilderlangung von jeder Kamera steuern soll. Den Ka
meras können separate Triggereingänge zugeordnet werden,
oder ein einziger Eingang kann das Erlangen eines Bildes
von beiden Kameras 6 und 7 gleichzeitig triggern. Wie zuvor
erwähnt, hat das Kamerabild 512 Pixel in jeder Horizontal
zeile. Bei der Verarbeitung des Bildes können alle 512
Pixel verwendet werden oder, falls dieser Grad an Horizon
talauflösung nicht notwendig ist, kann nur jedes zweite
Horizontalpixel benutzt werden; man erhält dann eine 256-
Pixel-Horizontalauflösung. Ein Bitpaar in dem Systemdaten
abschnitt 86 gibt an, ob jedes Pixel oder nur jedes
zweite Pixel längs jeder Abtastzeile zu verarbeiten ist.
Die hohen und niedrigen Spannungsreferenzen für die
Analog§Digital-Umsetzer 32 und 33, die während des Analyse
einrichtens benutzt werden, sind ebenfalls in dem System
datenabschnitt 86 gespeichert. Der Systemdatenabschnitt 86
der Konfigurationstabelle im EEPROM 22 speichert auch
andere Daten, die für den Systembetrieb benötigt werden,
die jedoch bezüglich der Funktion der Erfindung unbedeu
tend sind.
Die in Fig. 5 dargestellte Konfigurationsdatentabelle
hat einen zweiten Abschnitt 87, der eine Definition der
Helligkeitssonde 82 enthält. Diese Definition umfaßt zwei
Bytes, die die Videozeilen- und Spaltenkoordinaten einer
Ecke des Sondenbereiches spezifizieren. Da die Helligkeits
sonde 82 eine feste Größe hat, spezifiziert dieser einzige
Satz von Koordinaten die Lokalisierung dieses Bereiches. Der
Wert der Luminanz des Helligkeitssondenbereiches zur
Analyseneinrichtzeit wird in diesem Abschnitt als Refe
renzwert gespeichert, mit dem nachfolgende Messungen ver
glichen werden, um eine Luminanzänderung festzustellen.
Ein anderes Bit in diesem zweiten Konfigurationsdatenta
bellenabschnitt 87 wirkt als Markierer, um anzuzeigen,
ob eine Helligkeitskompensation vom Benutzer freigegeben
oder aktiviert worden ist.
Jedes der Analysefenster hat einen Datenblock inner
halb eines dritten Abschnitts 88 der Konfigurationsdaten
tabelle, in welchem die Daten gespeichert sind, die das
Fenster definieren. Wie es in Fig. 5 veranschaulicht ist,
enthalten diese Daten ein 2-Byte-Wort, das die Bildadresse
für den Ort einer oberen Ecke eines rechteckförmigen Fen
sters spezifiziert. Ein anderes Wort spezifiziert den Ort
der entgegengesetzten unteren Fensterecke. Diese beiden
Orte definieren die Position des rechteckförmigen Fen
sters im Bild und seine Größe. Soll ein nicht rechteck
förmiges Fenster definiert werden, werden die beiden Ort-
Wörter benutzt, um die Gestalt und Position zu definieren.
Beispielsweise ein kreisförmiges Fenster wird definiert
durch ein Wort, das den Mittelpunkt des Fensters angibt,
und das andere Wort speichert den Fensterradius. Die Fen
sterdaten enthalten auch eine Zahl, die die Analysefunktion
angibt, welche an den Pixeln des Fensters vorzunehmen ist,
einen Schwellenwertluminanzwert zur Binärisierung der
Bildpixel sowie Wörter mit den maximal und minimal annehm
baren Werten des Analyseergebnisses.
Ähnliche Datenblöcke sind in einem Linien-Meßlehre-
Datenabschnitt 89 enthalten, um jede der Linien-Meßlehren
zu definieren. Zum Spezifizieren der Position jeder
Strecken- oder Linien-Meßlehre wird der Pixelkoordinatenort
am Ende der Linie zusammen mit einem Markierbit gespeichert,
das angibt, ob die Linie in der Horizontalen oder in der
Vertikalen verläuft, und es wird gespeichert die Länge der
Linie in Pixels. Ein Binärisierschwellenwertluminanzwert
wird ebenfalls gespeichert. Eine Zahl, die die Analyse
funktion angibt, die an den Pixels längs der Linien-Meß
lehre auszuführen ist, ist ebenfalls im Abschnitt 89 der
Konfigurationsdatentabelle enthalten.
Eine Datentabelle ist auch im RAM 18 definiert, in
der die Bildverarbeitungsergebnisse gespeichert werden
sollen. Eine solche Tabelle ist ähnlich zu derjenigen,
die in bisherigen Bildverarbeitungssystemen benutzt wird.
Nachdem die Fenster und Linien-Meßlehren vom System
benutzer definiert worden sind, verwendet der Mikropro
zessor 16 die Konfigurationsdaten, um für jedes Kamerabild
eine Bildverarbeitungsmaske zu erzeugen. Wie es im einzel
nen beschrieben wird, werden die Masken während der Bild
analyse verwendet, um die Pixel innerhalb der Fenster in
bezug auf die anderen Pixel des erlangten Bildes auszu
wählen. Jede Maske stellt eine 512 × 256-Pixelanordnung
dar, wobei jedes Pixel innerhalb eines Bildes oder längs
einer Linien-Meßlehre für das Bild dargestellt ist durch
einen logischen 1-Bitwert und die Pixels außerhalb dieser
Bereiche dargestellt sind durch einen logischen 0-Bitwert.
Besteht ein erlangtes Bild aus zwei Feldern, wird dieselbe
Maske verwendet, um jedes Feld des Bildes zu verarbeiten.
Die beiden Maskenanordnungen werden in separaten Ebenen
des in Fig. 3 dargestellten Masken-Speichers 48 gespeichert.
Zum Speichern der Maske sendet der CPU-Teil 11 eine Anfor
derung an die Speichersteuerung 52, um Zugriff zum Masken-
Speicher 48 im Videoteil 12 zu erlangen. Sobald der Zugriff
gewährt ist, wird der Satz an Datenpuffern 68 und das Bit-
Tor 63 von Steuersignalen von Registern in der CPU-Schnitt
stellenschaltung 60 freigegeben. Der erste Adreßmultiplexer
54 wird ebenfalls freigegeben, um den CPU-Adreßbus 64 über
den Videoadreßbus 50 mit dem Masken-Speicher 48 zu verbinden.
Bits von Daten für die Maske werden dann vom Mikroprozessor
16 über den CPU-Schnittstellendatenbus und den Speicher
datenbus 51 zum Masken-Speicher 48 gesendet, wo Steuer
signale der Speichersteuerung veranlassen, daß die
Maskendaten in der richtigen Ebene des Speichers 48
gespeichert werden.
Sobald die Einrichtfunktionen vervollständigt sind,
kann der Bildprozessor 10 in Betrieb genommen werden, um
Bilder zu verarbeiten. Unter Bezugnahme auf Fig. 2 und 3
wird ausgeführt, daß die Erlangung der Daten von den Ka
meras 6 und 7 aufgrund von Triggersignalen erfolgt, die
vom CPU-Teil 11 über die Triggereingänge 25 empfangen
werden. Die beiden Kameras tasten synchron ab und geben
kontinuierlich ein Videosignal an den jeweiligen Analog/
Digital-Umsetzer 32 bzw. 33 ab. Diese Umsetzer digita
lisieren ebenfalls kontinuierlich die Videobilder, die
die Kamerasignale tragen. Wenn allerdings ein Trigger
signal nicht empfangen wird, werden die digitalisierten
Videobilder in den Feld-Speichern 44 bis 46 nicht ge
speichert.
Der Bildprozessor 10 kann vom Benutzer oder Bediener
so konfiguriert werden, daß separate Bilder von beiden
Kameras gleichzeitig erlangt werden, und zwar aufgrund
eines gemeinsamen Triggersignals. Alternativ können die
beiden Kameras auf separate Triggersignale ansprechen,
und auf diese Weise Bilder zu unterschiedlichen Zeiten
erlangen. Wenn ein Triggersignal empfangen wird, betrach
tet der Mikroprozessor 16 die Konfigurationsdaten, um fest
zustellen, zu welcher der Kameras dieses Signal zugeord
net ist. Aufgrund des Triggereingangs und der Konfigura
tionsdaten triggert der Mikroprozessor 16 über Ausgangs
leitungen 26 ein Strobe- oder Abtastlicht, für das Sorge
getragen ist bei jeder der bezeichneten Kameras. Ob
gleich bei allen Anwendungen ein Strobe-, Abtast- oder
Blitzlicht nicht erforderlich ist, wird es angewendet, um
sich schnell bewegende Gegenstände vor der Kamera
"einzufrieren".
Zur Zeit des Empfangs eines Bilderlangungtrigger
signals durch den CPU-Teil ordnet der Mikroprozessor 16
einen der dann verfügbaren Feld-Speicher 44 bis 46 zu,
um das nächste Feld von der Kamera zu speichern. In Ab
hängigkeit von dem ausgewählten Grad an Vertikalauflö
sung werden einer oder zwei Feld-Speicher der Kamera zu
geordnet, von der das Bild abverlangt wird. Wenn beide
Felder gespeichert werden sollen, werden zwei Feld
speicher zugeordnet, und zwar einer für das geradzeilige
Feld und der andere für das ungeradzeilige Feld. Ein
Markierbit zeigt an, welches Feld in welchem Speicher
gespeichert ist, damit das Bild für die Verarbeitung
und die Darstellung wieder zusammengesetzt werden kann.
Die Feld-Speicherzuordnung wird dadurch vorgenommen, daß
der CPU-Teil 11 Steuerdaten an den Videoteil 12 sendet,
um den ersten Videomultiplexer 34 so zu konfigurieren, daß
die Analog/Digital-Umsetzer 32 und 33 mit den zugeordne
ten Feld-Speichern 44 bis 46 verbunden werden. Zusätzlich
empfängt auch die Speichersteuerung 52 eine Anzeige
darüber, welche Feld-Speicher für die Datenspeicherung
freizugeben sind.
Der Videoteil 12 wird von dem CPU-Teil 11 darüber in
Kenntnis gesetzt, ein Bild zu erlangen, und die Video
zeitgabeschaltung 27 sendet eine Speicherzugriffanforde
rung an die Speichersteuerung 52. Unabhängig davon, ob
andere Funktionen von dem Videoteil 12 gerade ausgeführt
werden, veranlaßt diese Anforderung, daß die Speicher
steuerung die Videoteilschaltung für die Speicherung von
neuen Bilddaten konfiguriert. Die Speichersteuerung 52
gibt an die Leitung 56 ein Steuersignal ab, welches dem
ersten Adreßmultiplexer 54 befiehlt, die Adreßleitungen 55
von der Videozeitgabeschaltung 27 mit den Feld-Speichern 44
bis 46 zu verbinden. Während des nächsten Vertikalaustast
intervalls im Kameravideosignal versetzt die Speicher
steuerung den geeigneten oder die geeigneten der Feld-
Speicher in die Schreib-Betriebsart. Die Speichersteuerung
bestimmt, welche Feld-Speicher vom Mikroprozessor 16
freigegeben werden sollen, und zwar aufgrund von Daten,
die in den Speicherregistern der CPU-Schnittstellen
schaltung 60 gespeichert sind. Wenn die digitalisierten
Pixels gerade aus den Analog/Digital-Umsetzern 32 und 33
herausgetaktet werden, gibt auch die Videozeitgabeschal
tung 27 die Adressen der freigegebenen Feld-Speicher
schrittweise heraus, um diese Pixel zu speichern. Falls
die Videofeld-Zeilensprung-Betriebsart für das ankommende
Bild ausgewählt worden ist, gibt die Speichersteuerung
bei dem nächsten Videovertikalaustastintervall einen
anderen Feld-Speicher frei, um das zweite Feld (Halbbild)
des Rahmens (Vollbild) zu speichern. Der erste Videomulti
plexer 34 wird ebenfalls so geschaltet, daß der Ausgang
des Analog/Digital-Umsetzers 32 oder 33 mit diesem Feld-
Speicher verbunden ist.
Die Bilddaten müssen zuerst in den Feld-Speichern 44
bis 46 gespeichert sein, bevor sie verarbeitet und ana
lysiert werden können. Da es sich jedoch bei diesen
Speichern um dual angeschlossene oder beidseitig verbun
dene Einrichtungen handelt, kann der Bildprozessor 10
mit dem Auslesen von Daten für Pixels am Bildanfang be
ginnen, bevor die Daten für das gesamte Bild gespeichert
worden sind. Der erste Schritt in dem Analyseprozeß besteht
darin, die relative Bildluminanz wie gemessen von der
Helligkeitssonde 82 zu bewerten und die Analog/Digital-
Umsetzung einzustellen, um eine Beleuchtungsveränderung
zu kompensieren. Wenn beide Felder (Halbbilder) des Bild
rahmens (Vollbild) erlangt worden sind, wird in jedem
Feld der Helligkeitssondenbereich analysiert, und das
Ergebnis wird verwendet, um für die Digitalisierung des
Restes des Feldes eine Kompensation vorzusehen. Sobald
die erste Zeile des Helligkeitssondenbereiches 82 für ein
Feld erlangt worden ist, kann der Mikroprozessor mit dem
Zugriff zu dessen Pixel beginnen, um die Luminanz der
Sonde zu berechnen. Obgleich zu diesem Zeitpunkt noch
nicht alle Sondenpixel erlangt worden sind, wird die
Luminanzberechnung die Bilderlangung nicht außer Schritt
bringen.
Die Festlegung, wann mit der Helligkeitssondenberech
nung begonnen werden kann, wird von einer zeitgesteuerten
Unterbrechung gemacht, die bei Empfang des Triggersignals
besetzt wird. Fig. 6 zeigt eine Zeitstrecke von drei
Bildfeldern, die aufeinanderfolgend von einer der Kameras
übertragen werden. Zur Zeit T empfängt der CPU-Teil 11
ein Triggersignal, und der Mikroprozessor 16 liest un
mittelbar den Inhalt des in Fig. 3 dargestellten Licht
griffel-Registers 78. Wenn der Lichtgriffel 9 nicht be
nutzt worden ist, entspricht der Inhalt dieses Registers
78 einem Zählwert der Pixels, die von den Analog/Digital-
Umsetzern 32 und 33 seit des letzten Vertikalaustast
intervalls empfangen wurden. Der Mikroprozessor 16 be
nutzt diesen Zählwert, um die Anzahl der Pixelperioden
bis zum nächsten Vertikalintervall zu bestimmen (Anzahl
der Pixel in einem Feld minus dem laufenden Zählwert).
Die verbleibende Anzahl von Pixelperioden ist graphisch
dargestellt als die Periode zwischen T und V2 in Fig. 6.
Zu dieser Zahl addiert der Mikroprozessor die Anzahl der
Pixelperioden vom Beginn des nächsten Feldes zur zweiten
Zeile der Helligkeitssonde. Diese Helligkeitssonde ist
durch Kästchen 93 in Fig. 6 dargestellt. Die Summe ist
die Anzahl von Pixelperioden bis hin zu der Zeit, bei
der die Auswertung der Helligkeitssondenluminanz be
ginnen kann. Dies wird dadurch in eine Zeit umgesetzt,
daß die Anzahl der Pixelperioden mit dem Zeitbetrag für
eine Pixelperiode multipliziert wird. Mit der sich er
gebenden Zeitangabe wird ein Unterbrechungszeitgeber für
den Mikroprozessor 16 gesetzt. Wenn der Unterbrechungszeit
geber abgelaufen ist, wird die Helligkeitssondenanalyse-
Softwaretask vom Mikroprozessor 16 aufgerufen. Wenn die
2-Feld-Erlangungs-Betriebsart ausgewählt worden ist, wird
eine ähnliche Berechnung für den Helligkeitssondenbereich
(Kästchen 94 in Fig. 6) im zweiten Feld durchgeführt, und
es wird ein zweiter Unterbrechungszeitgeber gesetzt. Um
die Bildverarbeitungsgeschwindigkeit zu optimieren,
spllte die Helligkeitssonde 82 so dicht wie möglich bei
der Oberseite des Bildes angeordnet sein.
Die Luminanz der Pixel in der Helligkeitssonde wird
unter Anwendung von Techniken gemessen, die denjenigen
ähnlich sind, welche in bisherigen Bildprozessoren mit
Helligkeitsveränderungskompensation angewendet werden.
Wie in diesen anderen Prozessoren, wird das Ergebnis der
Helligkeitssondenmessung mit dem Luminanzreferenzwert
verglichen, der im Abschnitt 87 der Konfigurationsdaten
tabelle im EEPROM (vgl. Fig. 5) gespeichert ist. Die
Differenz zwischen der gegenwärtigen Luminanz von der
Helligkeitssonde und dem Referenzwert liefert einen
Korrekturfaktor, der benutzt wird, um die hohen und
niedrigen Spannungsreferenzen des entsprechenden Analog/-
Digital-Umsetzers 32 oder 33 einzustellen. Stellt bei
spielsweise die Helligkeitssondenmessung eine Luminanz
abnahme fest, wird jede Spannungsreferenz um einen
proportionalen Betrag herabgesetzt. Die Einstellung
der Spannungsreferenzen sieht eine Kompensation für Be
leuchtungsdifferenzen zwischen Strobe- oder Abtastlicht
blitzen vor und auch Änderungen im Umgebungslicht. Die
Spannungsreferenzen der Analog:Digital-Umsetzer werden
sofort bezüglich der neuen Werte geändert, so daß die
Pixels im restlichen ankommenden Bildfeld helligkeits
kompensiert sind.
Nachdem der Korrekturfaktor vom Mikroprozessor 16
berechnet worden ist, kann der CPU-Teil 11 mit der Aus
wertung der Analysefenster und Linien-Meßlehren be
ginnen, obgleich Pixels für das gesamte Bild noch nicht
im Feld-Speicher gespeichert sind. Die Auswertung muß
allerdings insoweit verzögert werden, bis hinreichend
viele Bildpixel erlangt worden sind, um sicherzustellen,
daß die Bildauswertung die Bilderlangung nicht überholt.
Dadurch wird sichergestellt, daß für den Auswerteprozeß
plötzlich keine Pixel mehr zur Verfügung stehen, bevor
alle erforderlichen Pixel erlangt worden sind. Um diesen
Sicherheitsschutz vorzusehen, ist in dem Systemkonfigu
rationsdatenabschnitt 86 im EEPROM 22 eine Verarbeitungs
schwellenwertabtastzeile für das im Bild am höchsten
positionierte Fenster gespeichert. Diese Schwellenwert
zeile ist als gestrichelte Linie 92 in Fig. 4 darge
stellt, und zwar in Querrichtung der Monitoranzeige.
Die Position der Verarbeitungsschwellenwertabtast
zeile wird vorzugsweise vom CPU-Teil 11 während der
Analyseeinrichtphase berechnet. Nachdem alle Bild
analysefenster definiert worden sind, bestimmt der
Rechner 16, welches von ihnen das im Bild am höchsten
positionierte Fenster ist, und zwar durch Überprüfen der
im Konfigurationsdatenabschnitt 88 des EEPROM 22 für
jedes Fenster gespeicherten Ort-Wörter. Die Bestimmung
der Position der Verarbeitungsschwellenwertabtastzeile
beruht auf einigen Faktoren. Einer ist die Position der
ersten Abtastzeile des Fensters. Ein weiterer Faktor
oder Umstand ist die Analysefunktion, die an den Pixeln
innerhalb des Fensters auszuüben ist, und die Zeitspanne
(d. h. Systemtaktperioden), die zum Verarbeiten jedes
Pixels erforderlich ist. So kann beispielsweise ein
einfaches Zählen weißer und schwarzer Pixel ohne irgend
eine Filterung des Bildes relativ schnell ausgeführt
werden, und zwar im Vergleich zu einer Verarbeitungs
funktion, die eine zweidimensionale Filterung beinhaltet.
Je schneller die Verarbeitung ist, um so niedriger muß
die Schwellenwertabtastzeile im Bild liegen, damit die
Verarbeitung die Bilderlangung nicht überholt. Zur
Analyse eines Fensters werden lediglich die darin befind
lichen Pixel aus den Feld-Speichern ausgelesen. Ein
weiterer Umstand bei der Bestimmung der Verarbeitungs
schwellenwertabtastzeilenposition ist daher auch die
Gestalt des Fensters. Wenn das Fenster relativ schmal
ist, können die Pixel längs einer Abtastzeile im Fenster
mit einer höheren Geschwindigkeit ausgelesen und verar
beitet werden als die Geschwindigkeit, mit der eine
gesamte Zeile von Pixel von der Kamera gespeichert wird.
In diesem Fall kann die Verarbeitung die Speicherung
des Bildes überholen, und die Verarbeitungsschwellenwert
abtastzeile muß im Bild tiefer gelegt werden als für ein
relativ breites Fenster mit einer größeren Anzahl zu
analysierender Pixel pro Zeile.
Alternativ kann die Verarbeitungsschwellenwertabtast
zeile während der Einrichtphase vom Benutzer manuell
eingestellt werden, und zwar als Alternative zur Bestim
mung dieser Position durch den CPU-Teil 11. In diesem
Fall positioniert der Benutzer eine Kennung der Verarbei
tungsschwellenwertabtastzeile in der Bilddarstellung,
sobald das höchste Fenster definiert worden ist. Der
Benutzer beobachtet dann, ob oder ob nicht die Bild
verarbeitung die Bilderlangung überholt, und stellt die
Position der Verarbeitungsschwellenwertabtastzeile ent
sprechend ein. Eine Reihe von Beobachtungs- und Nach
stelliterationen müssen unter Umständen ausgeführt werden,
bis man eine hinreichende Position für die Verarbeitungs
schwellenwertabtastzeile erhält. Bei beiden Methoden wird
die Position der Verarbeitungsschwellenwertabtastzeile
dann im EEPROM 22 dadurch gespeichert, daß die Adresse
des ersten Pixels in dieser Zeile gespeichert wird.
Die Zeit, bei der mit der Verarbeitung der Pixel des
Fensters begonnen werden soll, wird durch eine zeitgesteuer
te Unterbrechung in einer Weise festgelegt, die ähnlich zu
derjenigen ist, die in bezug auf die Helligkeitssonde 82
angewendet wird. Insbesondere zu der Zeit, zu der das
Triggersignal empfangen wird, verwendet der Mikroprozessor
16 die laufende Pixeladresse im Lichtgriffel-Register,
um die Anzahl der Pixelperioden zu berechnen, die in
dem gerade abgetasteten Bildfeld verbleiben. Diese Zahl
wird der Adresse des ersten Pixels in der Verarbeitungs
schwellenwertabtastzeile hinzuaddiert, die im Systemdaten
speicherabschnitt 86 gespeichert ist, um die Anzahl der
Pixelperioden vom Triggersignaleingang bis zum Verarbei
tungsbeginn zu berechnen. Wenn, unter Bezugnahme auf
Fig. 6, nur ein Feld erlangt werden soll, kann die Ver
arbeitung beim Punkt W1 im Feld 1 beginnen. Wenn jedoch
für die Bildanalyse beide Felder des Bildrahmens er
langt werden sollen, kann die Verarbeitung nicht vor
dem Punkt W2 im zweiten Feld beginnen. Die Anzahl der
Pixelperiodenintervalle wird multipliziert mit der Zeit
spanne jeder Periode, und ein Unterbrechungszeitgeber
wird mit dem sich ergebenden Produkt gesetzt.
Wenn ein Fensterunterbrechungszeitgeber abläuft,
wird eine Unterbrechungsroutine aufgerufen, die veran
laßt, daß der CPU-Teil 11 mit der Ausführung einer
Fensteranalysesoftwareroutine beginnt. Diese Routine
liest die Bezeichnung des ersten zu verarbeitenden
Fensters von einer Tabelle im RAM 18, der die Fenster
in der Reihenfolge auflistet, in der sie verarbeitet
werden sollen. Im Bild nach Fig. 4 könnte beispielsweise
das Fenster 80 das an erster Stelle zu verarbeitende
Fenster sein. Der Mikroprozessor 16 erlangt dann Zugriff
zu den Konfigurationsdaten, die im EEPROM 22 für dieses
Fenster gespeichert sind.
Da die Fenster verschiedene Formen oder Gestalten
haben können, beispielsweise eine kreisförmige Gestalt
wie das Fenster 77, kann die Berechnung der Adressen
der Pixel innerhalb des Fensters während der Bildverarbei
tungsphase sehr komplex und zeitraubend sein. Um das
Lesen von Pixeldaten aus den Feld-Speichern 44 bis 46
zu beschleunigen wird daher ein rechteckförmiger inter
essierender Bereich definiert, der das Fenster umschließt.
Dieser interessierende Bereich wird dadurch definiert,
daß die am weitesten rechts und am weitesten links gele
gene horizontale Bildkoordinate (d. h. Pixelspalte) des
Fensters bestimmt wird und ferner die am meisten oben
und die am meisten unten gelegene Vertikalbildkoordinate
(d. h. Abtastzeile) des Fensters bestimmt wird. Wenn das
Fenster rechteckförmig ist, wie das Fenster 80 in Fig. 4,
ist der interessierende Bereich im wesentlichen das
Fenster selbst. Um aber die Adressierung weiter zu er
leichtern, können alle horizontalen und vertikalen
Koordinaten des interessierenden Bereiches auf gerad
zahligen Spalten und Zeilen des Bildes definiert werden.
Fig. 4 zeigt den interessierenden Bereich 90 für das
kreisförmige Fenster 73 in Fig. 4. In diesem Fall ist
der interessierende Bereich 90 ein Quadrat, das das
kreisförmige Fenster 73 umschließt. Diese Quadrat kann
entweder das kreisförmige Fenster berühren oder, wie es
gezeigt ist, geringfügig größer sein. Da dieser inter
essierende Bereich Abtastzeilen enthält, die alle von
gleicher Länge sind und die bei derselben Horizontal
koordinate im Bild beginnen, kann ein einfaches Raster
abtastadressierschema angewendet werden, um aus dem ent
sprechenden Feld-Speicher oder Feld-Speichern die Pixel
des interessierenden Bereiches auszulesen.
Sobald der interessierende Bereich für das gerade
verarbeitete Fenster definiert worden ist, setzt der
Mikroprozessor 16 die Speichersteuerung 52 von den Bild
koordinatengrenzen des interessierenden Bereiches in
Kenntnis, um mit der Adressierung des Feld-Speichers 44,
45 oder 46 zu beginnen, der die Bilddaten enthält. Die
Koordinatengrenzen werden von der Speichersteuerung ver
wendet, um Speicheradressen der Pixel innerhalb des
interessierenden Bereiches zu erzeugen. Die Speicher
steuerung 52 adressiert sequentiell die Pixel in dem
interessierenden Bereich und sendet die Daten von dem
Feld-Speicher auf den Speicherdatenbus 51. Wenn beide
Felder des Bildes gespeichert sind, wechselt die Spei
chersteuerung mit dem Auslesen der Abtastzeilen der
Pixels aus den beiden Feld-Speichern ab, die von den
Speichern 44 bis 46 die Felder des Bildes enthalten.
In Abhängigkeit von der Horizontalauflösung, die der
Benutzer für die Verarbeitung des Bildes gewählt hat,
wird jedes Pixel oder nur jedes zweite Pixel im
Fenster ausgelesen und verarbeitet. Andere Ausmaße für
die Horizontalauflösung können ebenfalls vorgesehen
werden.
Da die Feld-Speicher 44 bis 46 dual angeschlossene
Einrichtungen sind, aknn der interessierende Bereich
des Bildes von einer Kamera 6 oder 7 zeitlich verschachtelt
werden mit der Adressierung der Feld-Speicher durch die
Videozeitgabeschaltung 27, um ein ankommendes Bild von
der anderen Kamera zu speichern.
Um die Pixels des interessierenden Bereiches zu
analysieren, hat der CPU-Teil 11 Daten in den Steuer
registern der CPU-Schnittstellenschaltung 60 gespeichert,
um es den Datenpuffern 70 zu ermöglichen, den Speicher
datenbus 51 mit dem Datenmultiplexer 71 zu verbinden,
wie es in Fig. 3 dargestellt ist. Ein weiteres Register
der CPU-Schnittstellenschaltung 60 liefert ein Aktiv-
Masken-Freigabesignal über die Leitung 62 zum UND-Glied
65. Während die Pixels des interessierenden Bereiches
aus dem ausgewählten Feld-Speicher gelesen werden, werden
entsprechende Bildelemente der Maske für dieses Bild aus
der betreffenden Ebene des Masken-Speichers 48 gelesen.
Das 1-Bit-Masken-Bildelement, das jedem Videobildpixel
entspricht, wird vom UND-Glied 65 an den Selektoreingang
des Datenmultiplexers 71 weitergeleitet. Wenn das Masken-
Bit eine logische Eins ist, wodurch angezeigt wird, daß
die Bildpixeldaten, die sich gerade auf dem Speicher
datenbus 51 befinden, innerhalb des Fensters fallen,
leitet der Datenmultiplexer 71 diese Pixeldaten an die
Binärisier- und Filterschaltung 72 weiter. Ist anderer
seits das Masken-Bit eine logische Null, was bedeutet,
daß das gegenwärtige Bildpixel außerhalb des zu verar
beitenden Fensters fällt, wird der an Masse liegende
Eingang des Datenmultiplexers 72 mit der Binärisier- und
Filterschaltung 72 verbunden. Dieser zuletzt genannte
Zustand des Datenmultiplexers 72 zwingt die Nicht-Fenster-
Pixel auf Null, und zwar unabhängig von den tatsächlichen
Feld-Speicherdaten. Auf diese Weise wählt die Maske in
der Ebene des Masken-Speichers 48 die Pixel des rechteck
förmigen interessierenden Bereiches aus, welche Pixel
innerhalb des Analysefensters liegen.
Jedes der aus dem ausgewählten Feld-Speicher 44, 45
oder 46 ausgelesene digitale Bildpixel ist eine Mehrbit
zahl, die den Grauskala-Luminanzwert für ein Videobild
element darstellt. Die Binärisier- und Filterschaltung 72
vergleicht jeden dieser Mehrbitpixelwerte mit dem Lumi
nanzschwellenwert für das gerade verarbeitete Fenster.
Der Schwellenwert für jedes Fenster wurde vom Mikropro
zessor 16 von der EEPROM-Konfigurationsdatentabelle 88
in die Binärisier- und Filterschaltung 72 zu Beginn jeder
Fensteranalyse transferiert. Jedes Pixel wird in ein
einzelnes Bit umgesetzt, dessen Wert entweder Eins oder
Null ist, und zwar in Abhängigkeit davon, ob der Grauskala-
Luminanzwert des Pixels oberhalb oder unterhalb des
Luminanzschwellenwerts liegt. Die Schaltung 72 kann
auch eine herkömmliche zweidimensionale Filterung an
den binären Pixeldaten vornehmen, um unerwünschte
Artifakte oder Störbilder im Bild zu beseitigen oder
interessierende Merkmale herauszuheben.
Der endgültige Binärwert jedes Pixels wird von der
Binärisier- und Filterschaltung 72 zum Dateneingang des
Binärbild-Speichers 49 überführt, wo es gespeichert wird
in einer seiner Bildebenen. Der Binärbild-Speicher 49
wird adressiert von einem zweiten Adreßsignal von der
Speichersteuerung 52 über den zweiten Adreßmultiplexer
74. Der Speicher 49 empfängt auch Steuersignale über die
Steuerleitungen 58 von der Speichersteuerung 52.
Am Ende der Verarbeitung der Pixels im höchsten
Fenster 80 im Bild enthält die betreffende Ebene des
Binärbild-Speichers 49 eine binäre Darstellung des Teils
des Bildes innerhalb dieses Fensters. Wie oben bemerkt,
enthält die Binärisier- und Filterschaltung 72 auch
Zähler, die weiße und schwarze Pixel tabellieren. Der
Mikroprozessor 16 liest jetzt diese Zähler und löscht
sie dann zwecks Verarbeitung des nächsten Fensters. Die
Zählwerte für jedes Fenster werden im RAM 18 mit Hilfe
des Mikroprozessors 16 gespeichert.
Die Pixel der restlichen Fenster, die im Bild defi
niert sind, können dann sequentiell durch die Binärisier-
und Filterschaltung 72 verarbeitet und in entsprechenden
Speicherplätzen des Binärbild-Speichers 49 gespeichert
werden. Wenn Bilder von beiden Kameras gleichzeitig er
langt werden, können dann die Fenster des anderen Bildes
in ähnlicher Weise verarbeitet werden.
Es wird weiterhin auf Fig. 2 und 3 Bezug genommen.
Wenn die Binärpixelumsetzung für jedes der Fenster be
endet ist, kann der Mikroprozessor 16 den Zugriff zu den
Binärdaten erlangen, die im Binärbild-Speicher 49 ge
speichert sind, um die Analyse der Fensterdaten zu ver
vollständigen. Wenn beispielsweise die Pixel des höchsten
Fensters 80 des Bildes binärisiert und gespeichert worden
sind,
kann der Mikroprozessor 16 diese Daten erfassen. Um dies
zu tun, sendet der Mikroprozessor ein Steuersignal an
eine zugeordnete Leitung 13 aus und gibt die Adresse der
Daten innerhalb des Binärbild-Speichers 49 an die CPU-
Schnittstellenschaltung 60. Das Steuersignal veranlaßt,
daß die Schnittstellenschaltung 60 eine Speicherzugriff
anforderung für die Speichersteuerung 52 erzeugt. Falls
Zeit verfügbar ist, sendet die Speichersteuerung 52
den richtigen Satz von Steuersignalen an den Binärbild-
Speicher 49 und signalisiert an den zweiten Adreßmulti
plexer 74, die Adresse vom Mikroprozessor 16 am Video
teil-CPU-Schnittstellenadreßbus 64 an den Adreßeingang
des Binärbild-Speichers 49 zu leiten. Aufgrund dieser
Signale gibt der Binärbild-Speicher 49 die entsprechen
den Pixeldaten an den zweiten Satz von Datenpuffern 69
aus, die freigegeben worden sind, um die Daten über den
CPU-Schnittstellendatenbus 66 zurück zum CPU-Teil 11
zu leiten.
In einer ähnlichen Weise kann der Mikroprozessor 16
auch Zugriff zu den Feld-Speichern erlangen, um die
Grauskala-Pixelwerte zwecks Verarbeitung zu erhalten. Es
mag schneller gehen, die Linien-Meßlehre-Pixel in
dieser Weise zu analysieren, da eine zweidimensionale
Filterung an ihnen nicht vorgenommen wird. Bezüglich
einer detaillierten Beschreibung der verschiedenen Bild
analysefunktionen, die in dem beschriebenen Bildprozessor
implementiert werden können, wird Bezug genommen auf
die bereits genannte US-Patentanmeldung mit dem Titel
"Programmable Controller Vision System".
Wie zuvor bemerkt, kann die Erlangung von Bildern
von den beiden Kameras 6 und 7 separat getriggert werden.
Man kann beispielsweise annehmen, daß das Bild von einer
Kamera erlangt worden ist und gerade analysiert wird,
wenn das Triggersignal für die andere Kamera empfangen
wird. In diesem Fall kann die Analyse des ersten Bildes
zeitlich verwoben oder verschachtelt mit der Speicherung
des zweiten Bildes erfolgen. Wenn jedoch die Helligkeits
sonde für das zweite Bild zur Auswertung bereit ist (d. h.,
die zugeordnete Unterbrechung aufgetreten ist), muß die
Helligkeitsmessung unmittelbar vorgenommen werden, so
daß die Analog/Digital-Umsetzerspannungsreferenzen für
den Rest des zweiten Bildes eingestellt werden können.
Deshalb muß die Analyse des ersten Bildes angehalten
werden, so daß der CPU-Teil 11 Zugriff zum Videoteil 12
erlangen kann, um die Helligkeitssondenpixel von dem
betreffenden Feld-Speicher 44, 45 oder 46 zu gewinnen
und die Spannungsreferenzen des zugeordneten Analog/
Digital-Umsetzers 32 oder 33 einzustellen. Sobald diese
Helligkeitssonden-Softwaretask beendet ist, kann wieder
die Analyse des ersten Bildes aufgenommen werden. Wenn
die Unterbrechung für die Verarbeitung des höchsten
Fensters im zweiten Bild auftritt, bevor die erste Bild
analyse beendet ist, wird diese Unterbrechung nicht ge
handhabt, sondern es wird vielmehr diese Task in eine
Schlange zur Ausführung plaziert.
Die Ergebnisse der Bildanalyse werden in Datentabellen
innerhalb des RAM 18 des CPU-Teils 11 gespeichert und
können auf Anforderung des Benutzers auf dem Monitor 8
angezeigt oder dargestellt werden. In diesem Falle er
langt der Mikroprozessor 16 Zugriff zu den Ergebnisdaten
im RAM 18 und überführt die digital gespeicherten Ergeb
nisse in alphanumerische Zeichen und graphische Symbole,
die im Graphik-Speicher 47 gespeichert sind. Diese ge
speicherten Zeichen und Symbole werden dann vom Video
datenselektor 40 zum Videosignalgenerator 42 transferiert.
Der betrachtete Bildprozessor ermöglicht es, daß
verschiedene Versionen des erlangten Bildes auf dem
Schirm des Videomonitors 8 dargestellt werden können.
Welche dieser verschiedenen Visionen dargestellt wird,
wird von dem zweiten Videomultiplexer 38 und dem Video
datenselektor 40 ausgewählt. Ein Echtzeit-Videobild kann
auf dem Monitor 8 dadurch dargestellt werden, daß der
Videodatenselektor 40 den Ausgang des zweiten Videomulti
plexers 38 mit dem Videosignalgenerator 42 verbindet. Der
zweite Videomultiplexer 38 wird freigegeben, um einen
der Videobusse 35 bis 37 auszuwählen, der das digitale
Signal für das Echtzeitbild trägt. Diese Auswahl ver
bindet den digitalisierten Ausgang von einer der Kameras
6 oder 7 mit dem Videosignalgenerator 42, der den Ausgang
zurück in ein analoges Videosignal zwecks Darstellung
durch den Monitor 8 umsetzt. Alternativ können der zweite
Videomultiplexer 38 und der Videodatenselektor 40 ver
wendet werden, um ein Grauskala-Bild darzustellen, das
zuvor in den Feld-Speichern 40 bis 46 gespeichert war.
In diesem Falle ist die Verbindung durch den Multiplexer
8 und den Videodatenselektor 40 die gleiche wie für das
Echtzeitbild, ausgenommen daß die Videodaten an dem
ausgewählten Bus 35 bis 37 erzeugt werden durch sequen
tielle Adressierung der Feld-Speicher durch die Video
zeitgabeschaltung 27, und zwar anstelle einer Verbindung
von einem der Kamerasignale zu diesem Videobus über den
ersten Videomultiplexer 34. Das mittels der Bildverar
beitung erzeugte Binärbild kann auch auf dem Monitor 8
dadurch dargestellt werden, daß der Videodatenselektor 40
den Ausgang von einer Ebene des Binärbild-Speichers 49
mit dem Videosignalgenerator 42 verbindet.
Der zweite Videomultiplexer 38 und der Videodaten
selektor 40 werden mittels getrennter Signale von Regi
stern in der CPU-Schnittstellenschaltung 60 gesteuert,
die mit geeigneten Daten vom Mikroprozessor 16 geladen
werden. Wenn Daten von dem zweiten Videomultiplexer 38
oder dem Binärbild-Speicher 49 auf dem Monitor 8 darge
stellt werden sollen, können alphanumerische Zeichen und
graphische Symbole, die im Graphik-Speicher 47 gespei
chert sind, dem ausgewählten Bild überlagert werden. In
diesem Fall wird der Videodatenselektor 40 freigegeben,
um Daten von dem Graphik-Speicher 47 zu erhalten, und
die Graphikdaten vom Speicher 47 werden überlagert, um
Teile des Videodarstellungsbildes mit den Zeichen und
Symbolen zu bedecken. Diese Art der Überlagerung von
Bildern wird häufig in der Einricht-Betriebsart angewen
det, in der verschiedenartige Symbole und Menüs über
dem Echtzeitbild dargestellt werden, so daß die verschie
denen Konfigurationsparameter geändert werden können,
während es dem Benutzer möglich ist, die Auswirkungen
der Parameterauswahl zu sehen.
In dieser Betriebsart wird der Lichtgriffel 9 ange
wendet, um verschiedene Menügegenstände oder Symbole,
die auf dem Schirm des Monitors 8 angezeigt werden, aus
zuwählen. Die Triggerung des Lichtgriffels 9 resultiert
darin, daß in dem Lichtgriffel-Register 78 die dann gerade
gegenwärtige Adresse von der Videozeitgabeschaltung 27
eingefroren wird, die dem Ort auf dem Schirm entspricht,
bei dem der Lichtgriffel positioniert ist. Diese einge
frorene Adresse kann vom Mikroprozessor 16 über die CPU-
Schnittstellenschaltung 60 gelesen werden, um die
Schirmposition zu erhalten und auf diese Weise das
Symbol oder den Menügegenstand zu identifizieren, der
vom Benutzer oder Bediener ausgewählt worden ist.
Obgleich die Erfindung im Zusammenhang mit einer be
sonderen Bildprozessorschaltung beschrieben worden ist,
ist es offensichtlich, daß ein Fachmann die Erfindung in
verschiedenen Arten von Bildverarbeitungssystemen anwenden
kann. Weiterhin kann eine Vielfalt von verschiedenen Arten
von Bildverarbeitungsschaltungen anstelle der Binärisier-
und Filterschaltung 72 des Videoteils 12 in dem hier be
trachteten Bildprozessor verwendet werden.
Claims (12)
1. System zur Speicherung und Verarbeitung von Videobildern von zwei separaten
Quellen (6, 7), wobei jedes Videobild durch wenigstens ein Videofeld dargestellt ist, enthal
tend:
eine erste Umsetzeinrichtung (32) zum Umsetzen eines der Videobilder in wenig stens eine, jeweils ein Videofeld darstellende Reihe digitaler Bildelemente,
eine zweite Umsetzeinrichtung (33) zum Umsetzen des anderen Videobildes in wenigstens eine, jeweils ein Videofeld darstellende Reihe digitaler Bildelemente,
eine Videobildspeichereinrichtung (44, 45, 46) mit mehr als zwei Speicherabschnit ten zum Speichern jeweils einer der jeweils ein Videofeld darstellenden Bildelementreihen,
eine Verbindungseinrichtung (34) zum wahlweisen Verbinden der ersten und zweiten Umsetzeinrichtung mit separaten Speicherabschnitten der Videobildspeichereinrichtung (44, 45, 46), und
eine Steuereinrichtung (52) zum Steuern der Schreib- und Leseoperationen der Spei cherabschnitte der Videobildspeichereinrichtung (44, 45, 46),
wodurch das System in die Lage versetzt ist, Bildelemente für die Videofelder von zwei Bildern gleichzeitig in jeweiligen Speicherabschnitten der Videobildspeichereinrichtung (44, 45, 46) zu speichern und während des Speicherns der Bildelemente eines Bildes gleichzeitig bereits gespeicherte Bildelemente auszulesen.
eine erste Umsetzeinrichtung (32) zum Umsetzen eines der Videobilder in wenig stens eine, jeweils ein Videofeld darstellende Reihe digitaler Bildelemente,
eine zweite Umsetzeinrichtung (33) zum Umsetzen des anderen Videobildes in wenigstens eine, jeweils ein Videofeld darstellende Reihe digitaler Bildelemente,
eine Videobildspeichereinrichtung (44, 45, 46) mit mehr als zwei Speicherabschnit ten zum Speichern jeweils einer der jeweils ein Videofeld darstellenden Bildelementreihen,
eine Verbindungseinrichtung (34) zum wahlweisen Verbinden der ersten und zweiten Umsetzeinrichtung mit separaten Speicherabschnitten der Videobildspeichereinrichtung (44, 45, 46), und
eine Steuereinrichtung (52) zum Steuern der Schreib- und Leseoperationen der Spei cherabschnitte der Videobildspeichereinrichtung (44, 45, 46),
wodurch das System in die Lage versetzt ist, Bildelemente für die Videofelder von zwei Bildern gleichzeitig in jeweiligen Speicherabschnitten der Videobildspeichereinrichtung (44, 45, 46) zu speichern und während des Speicherns der Bildelemente eines Bildes gleichzeitig bereits gespeicherte Bildelemente auszulesen.
2. System nach Anspruch 1, bei dem jedes Videobild durch zwei ineinandergreifende
Videofelder (Zeilensprung-Halbbilder) dargestellt ist, ferner enthaltend eine Bezeichnungs
einrichtung (CPU-Teil 11, Speichersteuerung 52) zum Bezeichnen, ob die Bildelement
reihen für ein Videofeld oder für beide Videofelder des Videobildes jeder Quelle (6, 7) ge
speichert werden sollen.
3. System nach Anspruch 2, bei dem die Verbindungseinrichtung (34) auf die Bezeich
nungseinrichtung (CPU-Teil 11, Speichersteuerung 52) in einer solchen Weise anspricht,
daß bei Bezeichnung von beiden Videofeldern eines Videobildes die Bildelemente für diese
Felder in verschiedenen Speicherabschnitten der Videobildspeichereinrichtung (44, 45, 46)
gespeichert werden.
4. System nach einem der vorstehenden Ansprüche, ferner enthaltend eine Auflösungs
bezeichnungseinrichtung (CPU-Teil 11, Speichersteuerung 52) zum Bezeichnen der Auflö
sung eines aus der Videobildspeichereinrichtung (44, 45, 46) auszulesenden Videofeldes
und eine Leseeinrichtung (CPU-Teil 11, Speichersteuerung 52) zum Auslesen jedes Xten
Bildelements aus der Videobildspeichereinrichtung, wobei X eine positive ganze Zahl ist,
die durch die Auflösungsbezeichnungseinrichtung festgelegt ist.
5. System nach einem der vorstehenden Ansprüche, bei der die Steuereinrichtung (52)
den Zugriff zu der Videobildspeichereinrichtung (44, 45, 46) derart steuert, daß sie das
Auslesen bereits gespeicherter Bildelemente für das Bild einer Quelle aus der Speicherein
richtung unterbricht, damit Bildelemente des Bildes der anderen Quelle in der Videobild
speichereinrichtung (44, 45, 46) gespeichert werden können.
6. System nach einem der vorstehenden Ansprüche, ferner enthaltend eine Meßein
richtung (CPU-Teil 11, Speichersteuerung 52) zum Messen der Luminanz der Bildelemente
in einem Teil der Videobilder beider Quellen (6, 7) und eine Einstelleinrichtung (CPU-Teil
11, Speichersteuerung 52) zum Einstellen der Umsetzeinrichtungen (32, 33) in Abhängigkeit
vom Meßergebnis der Meßeinrichtung zum Kompensieren zeitlicher Veränderungen in der
Beleuchtung von Gegenständen in den Videobildern.
7. System nach Anspruch 6, bei dem die Steuereinrichtung (52) das Auslesen der Bild
elemente für das Bild einer der Quellen unterbricht, damit es der Meßeinrichtung und der
Einstelleinrichtung ermöglicht ist, ihre Funktionen auszuführen.
8. System nach einem der vorstehenden Ansprüche, enthaltend eine Positionsbezeich
nungseinrichtung (CPU-Teil 11, Speichersteuerung 52) zum Bezeichnen einer Position in
einem der Videobilder und eine Analyseeinrichtung (CPU-Teil 11) zum Analysieren der in
der Videobildspeichereinrichtung (44, 45, 46) gespeicherten Bildelemente, wobei mit dem
Analysieren begonnen wird, nachdem ein Bildelement der bezeichneten Position im Bild
gespeichert worden ist und bevor das gesamte Videobild gespeichert worden ist.
9. System nach einem der vorstehenden Ansprüche, enthaltend eine erste Begrenzungs
einrichtung (CPU-Teil 11) zum Definieren eines ersten Bereiches eines Videobildes und
eine zweite Begrenzungseinrichtung (CPU-Teil 11) zum Definieren eines rechteckförmigen
zweiten Bereiches des Bildes, der den ersten Bereich umschließt, und eine Leseeinrichtung
(CPU-Teil 11, Speichersteuerung 52) zum Auslesen der Bildelemente im zweiten Bereich
des Bildes aus der Videobildspeichereinrichtung (44, 45, 46).
10. System nach Anspruch 9, ferner enthaltend eine Analyseeinrichtung (CPU-Teil 11)
zum Analysieren der aus der Videobildspeichereinrichtung (44, 45, 46) ausgelesenen Bild
elemente zwecks Auswertung eines Teils des durch diese Bildelemente dargestellten Bildes.
11. System nach Anspruch 9 oder 10, ferner enthaltend eine Feststellungseinrichtung
(CPU-Teil 11, Masken-Speicher 48) zum Feststellen, ob ein gegebenes Bildelement im
zweiten Bereich auch in den ersten Bereich fällt.
12. System nach Anspruch 11, bei dem die Feststellungseinrichtung (CPU-Teil 11, Mas
ken-Speicher 48) eine Speichereinrichtung (48) zum Speichern einer Maske des zweiten
Bereiches enthält.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US24989088A | 1988-09-27 | 1988-09-27 |
Publications (2)
Publication Number | Publication Date |
---|---|
DE3931887A1 DE3931887A1 (de) | 1990-03-29 |
DE3931887C2 true DE3931887C2 (de) | 1999-11-25 |
Family
ID=22945441
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE19893931887 Expired - Fee Related DE3931887C2 (de) | 1988-09-27 | 1989-09-24 | System zur Speicherung und Verarbeitung von Videobildern |
Country Status (3)
Country | Link |
---|---|
JP (1) | JP2512160B2 (de) |
DE (1) | DE3931887C2 (de) |
FR (1) | FR2637143B1 (de) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE2557864A1 (de) * | 1974-12-25 | 1976-07-08 | Sony Corp | Einheit zur zeitbasiskorrektur |
US4570181A (en) * | 1982-02-18 | 1986-02-11 | Fuji Electric Company, Ltd. | Characteristic extracting apparatus |
US4577344A (en) * | 1983-01-17 | 1986-03-18 | Automatix Incorporated | Vision system |
US4709264A (en) * | 1985-10-02 | 1987-11-24 | Kabushiki Kaisha Toshiba | Picture processing apparatus |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2086690B (en) * | 1980-10-17 | 1984-04-26 | Micro Consultants Ltd | Video image processing system |
JPS58139278A (ja) * | 1982-02-10 | 1983-08-18 | Fuji Electric Co Ltd | 複数パタ−ン検査装置 |
DE3476916D1 (en) * | 1983-04-28 | 1989-04-06 | Hitachi Ltd | Method of detecting pattern defect and its apparatus |
JPS59223867A (ja) * | 1983-05-31 | 1984-12-15 | Fujitsu Ltd | 画像メモリおよびその書き込み方法 |
JPS6063405A (ja) * | 1983-09-16 | 1985-04-11 | Fujitsu Ltd | パタ−ン検査方法及びその装置 |
JPS62102144A (ja) * | 1985-10-29 | 1987-05-12 | Tdk Corp | 情報記憶媒体の欠陥検査装置 |
JPS63123085A (ja) * | 1986-11-12 | 1988-05-26 | シャープ株式会社 | 表示用メモリの入力/出力方式 |
JPS63216183A (ja) * | 1987-03-05 | 1988-09-08 | Mitsubishi Electric Corp | 画像処理装置 |
-
1989
- 1989-07-03 FR FR8908912A patent/FR2637143B1/fr not_active Expired - Fee Related
- 1989-07-11 JP JP1178923A patent/JP2512160B2/ja not_active Expired - Lifetime
- 1989-09-24 DE DE19893931887 patent/DE3931887C2/de not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE2557864A1 (de) * | 1974-12-25 | 1976-07-08 | Sony Corp | Einheit zur zeitbasiskorrektur |
US4570181A (en) * | 1982-02-18 | 1986-02-11 | Fuji Electric Company, Ltd. | Characteristic extracting apparatus |
US4577344A (en) * | 1983-01-17 | 1986-03-18 | Automatix Incorporated | Vision system |
US4709264A (en) * | 1985-10-02 | 1987-11-24 | Kabushiki Kaisha Toshiba | Picture processing apparatus |
Non-Patent Citations (3)
Title |
---|
BERMBACH, R., SCHARFENBERG, H.: Zeilensensor überwacht bewegte Objekte, Elektronik, Nr. 24, 1986, S. 99-102 * |
FLIK, Th., LIEBIG, H.: 16-Bit-Mikroprozessor- systeme, Springer, 1982, 193-199 * |
MITSCHKE, H.: Bilder aus dem Speicher, Funkschau, Heft 9, 1988, S. 56-58 * |
Also Published As
Publication number | Publication date |
---|---|
FR2637143A1 (fr) | 1990-03-30 |
FR2637143B1 (fr) | 1993-11-26 |
DE3931887A1 (de) | 1990-03-29 |
JPH02108165A (ja) | 1990-04-20 |
JP2512160B2 (ja) | 1996-07-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE3855171T2 (de) | Bildsystem mit programmierbarer Steueranlage | |
DE69010411T2 (de) | Szenenabhängige kompensation inhomogen verteilter detektorempfindlichkeit einer bilddetektormatrix. | |
DE69021948T2 (de) | Bildverarbeitungssystem. | |
DE102008046398B4 (de) | Vorrichtung zum Erzeugen eines zusammengesetzten Bildes und computerlesbares Medium zum Speichern eines Programmes, um zu bewirken, dass ein Computer als Vorrichtung zum Erzeugen eines zusammengesetzten Bildes wirkt | |
DE102010062496B4 (de) | Verfahren und Vorrichtung zum Verarbeiten von Bildinformationen zweier zur Bilderfassung geeigneter Sensoren eines Stereo-Sensor-Systems | |
DE102006000946B4 (de) | Verfahren und System zur Inspektion einer periodischen Struktur | |
DE3787722T2 (de) | Oszilloskop mit Kurvenauswahl mittels Berührungs-Bildschirm. | |
DE102018102688A1 (de) | Bildverarbeitungsvorrichtung, Bildverarbeitungsprogramm und Bildverarbeitungssystem | |
DE3117870A1 (de) | Videoueberwachungssystem | |
DE10243306A1 (de) | Verfahren und Vorrichtung zur Verarbeitung von Bildsensor-Ausgabedaten | |
DE3788925T2 (de) | Interpolator für Fernsehtricksystem. | |
DE69125869T2 (de) | Gradationskorrekturvorrichtung | |
DE4227733A1 (de) | Konfigurierbarer cachespeicher und datenverarbeitungssystem mit einem derartigen speicher | |
DE3851264T2 (de) | Bildverarbeitungsverfahren. | |
DE3524505C2 (de) | ||
DE69013070T2 (de) | Bildaufnahmesystem und Verfahren. | |
DE102014008686B4 (de) | Verfahren und Vorrichtung zur Farbinterpolation | |
DE3019332C2 (de) | Fernsehtest-Signalgenerator | |
DE3889903T2 (de) | Verfahren zur behandlung der verborgenen linien eines bildes. | |
DE3853086T2 (de) | Korrelation von Videodaten zwischen zwei Wiedergabeformaten. | |
DE3875428T2 (de) | Farbbild-abzeigesystem mit einem matrix-bildschirm. | |
DE102018222903A1 (de) | Verfahren und Verarbeitungseinrichtung zum Verarbeiten von Messdaten eines Bildsensors | |
EP3631758A1 (de) | Steuereinrichtung für eine kameravorrichtung, kameraanordnung und verfahren zur stereoskopischen aufnahme eines überwachungsbereichs | |
DE3931887C2 (de) | System zur Speicherung und Verarbeitung von Videobildern | |
DE3822594A1 (de) | Anzeigeeinrichtung fuer bildinformation |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8110 | Request for examination paragraph 44 | ||
8125 | Change of the main classification |
Ipc: G06T 1/60 |
|
8128 | New person/name/address of the agent |
Representative=s name: LIPPERT, H., DIPL.-ING., PAT.-ANW., 60322 FRANKFUR |
|
D2 | Grant after examination | ||
8364 | No opposition during term of opposition | ||
8339 | Ceased/non-payment of the annual fee |