DE3931887C2 - System zur Speicherung und Verarbeitung von Videobildern - Google Patents

System zur Speicherung und Verarbeitung von Videobildern

Info

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
Application number
DE19893931887
Other languages
English (en)
Other versions
DE3931887A1 (de
Inventor
Herbert John Mieras
Duncan Clift Wells
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Allen Bradley Co LLC
Original Assignee
Allen Bradley Co LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Allen Bradley Co LLC filed Critical Allen Bradley Co LLC
Publication of DE3931887A1 publication Critical patent/DE3931887A1/de
Application granted granted Critical
Publication of DE3931887C2 publication Critical patent/DE3931887C2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/60Memory 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.
Grundzüge der Erfindung
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.
Kurzbeschreibung der Zeichnungen
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.
Beschreibung eines bevorzugten Ausführungsbeispiels der Erfindung
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.
Bildprozessorhardware
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.
Arbeitsweise des Bildprozessors
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.
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.
DE19893931887 1988-09-27 1989-09-24 System zur Speicherung und Verarbeitung von Videobildern Expired - Fee Related DE3931887C2 (de)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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 画像処理装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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