Einrichtung für das Extrahieren von frei definierbaren Bildabschnitten aus einem Bildsensor
Die vorliegende Erfindung betrifft eine elektronische Einrichtung, insbesondere eine intelligente numerische Kamera, mit welcher frei definierbare Bildabschnitte aus einem Bildsensor extrahiert werden können.
Für die digitale Verarbeitung von Bildern für Industrieprozesse, Medizinaltechnik, Videosysteme, etc. werden heutzutage spezielle Kamerasysteme eingesetzt, die aus mehreren Elementen bestehen. Ein solches System besteht aus einem Bildsensor, der mit einer Optik versehen ist. Dieser Bildsensor ist in der Lage, Bilder aufzunehmen und diese in einen digitalen Speicher abzulegen. Dabei werden die Pixelsignale die vom Bildsensor erzeugt werden über einen Analog-Digital-Wandler in digitale Bilddaten umgewandelt. Der Bildsensor(zum Beispiel in CDD, CMOS oder CID-Technik) muss mit speziellen Signalen angesteuert werden, um die Pixelwerte zu extrahieren. Oft ist ein Prozessor vorhanden, welcher die digitalen Bilddaten mit Algorithmen und Programmen verarbeiten kann. Das Ergebnis der Bilddatenverarbeitung wird über eine Kommunikationsschnittstelle an eine externe Recheneinheit übertragen (zum Beispiel an ein Steuersystem, einen Aktuator, u.s.w.). Solche Kamerasysteme, die mit einem Prozessor ausgestattet sind, welcher Bilddaten verarbeiten kann, werden als intelligente Kamera bezeichnet.
Intelligente Kameras werden oft als intelligente Sensoren in einem geschlossenen Regelkreis verwendet. Das Ergebnis der Bilddaten- Verarbeitung muss dabei in einer möglichst kurzen Durchlaufzeit einem Prozessrechner abgeliefert werden können, der das verfilmte System beeinflussen kann. Je kürzer die Durchlaufzeit und die Prozessrechenzeit ist, um so kürzer können die Abtastzeiten des Regelsystems gewählt werden. Dadurch wird das Regelsystem leistungsfähiger und schneller.
Für die intelligente Kamera bedeutet dies dass der Prozessor die
Bilddaten so schnell wie möglich verarbeiten muss. Die Verarbeitungszeit
ist jedoch von der Menge der Bilddaten die verarbeitet werden müssen abhängig. Wird die Auflösung und/oder die Grosse des Bildsensors erhöht, muss oft mit einer langsameren Bilddatenverarbeitung gerechnet werden. Es muss daher ein Kompromiss zwischen der Auflösung der Kamera (Anzahl der übermittelten Pixel), der Durchlaufzeit und dem Preis gefunden werden. Bestehende intelligente Kameras haben entweder eine niedrige Auflösung (Bildqualität), eine langsame Geschwindigkeit (Durchlaufzeit) und/oder einen hohen Preis und eignen sich jeweils nur für bestimmte Zwecke.
Es ist daher ein Ziel der Erfindung, eine neue elektronische
Einrichtung anzubieten, insbesondere eine Kamera, mit welcher ein besserer Kompromiss zwischen Auflösung, Geschwindigkeit und Preis erreicht wird.
Ein anderes Ziel der Erfindung ist es, eine neue elektronische Einrichtung anzubieten, mit welcher der Kompromiss zwischen Auflösung und Geschwindigkeit zu jeder Zeit vom Benutzer geändert werden kann.
Erfindungsgemäss werden diese Ziele erreicht, indem die neue elektronische Einrichtung zu jeder Zeit möglichst schnell nur die notwendigen Bilddaten (statt alle Bilddaten vom Bildsensor) zur Verfügung stellt. Dabei können spezielle vordefinierte Bildformen (zum Beispiel Rechtecke, Kreise, Linien, Muster, usw.) extrahiert werden. Indem man nicht das gesamte Bild aus dem Bildsensor extrahiert, sondern nur frei definierbare Bildabschnitte, können die Bilddaten wesentlich schneller gelesen und weiterverarbeitet werden, ohne dass dabei eine Verminderung der Bildqualität für das ausgewählte Bildteil in Kauf genommen werden muss.
Diese Ziele ergeben sich auch aus einer elektronischen Einrichtung, die folgende Bauteile umfasst: eine Bildlese-Einheit, die mit einem oder mehreren Bildsensoren aus- gestattet ist, wobei mindestens ein Bildsensor Einzelpixelzugriffe erlaubt, wobei die benannte Bildlese-Einheit derart ausgestaltet ist, dass sie
Bildaufnahme-Befehle empfangen und ausführen kann, wobei in mindestens einem benannten Bildaufnahme-Befehl die
Form des Bildabschnitts welcher extrahiert werden muss, definiert ist, und dass die benannte Bildlese-Einheit nur die Pixel des benannten Bildsensors, welcher der im benannten Bildaufnahme-Befehl definierten
Form entspricht einliest und zur Verfügung stellt.
Somit kann eine externe elektronische Einrichtung welche Bilddaten verlangt mit entsprechenden Bildaufnahme-Befehlen die Form und Grosse des aufgenommen Bildabschnitts selbst bestimmen und auf diese Weise die Geschwindigkeit der Bilddatenverarbeitung beeinflussen.
Die elektronische Einrichtung gemäss der Erfindung verwendet vorzugsweise mindestens einen Bildsensor der Einzelpixelzugriffe erlaubt. Bildsensoren mit Einzelpixel-Zugriff sind als solche bereits bekannt und sogar auf dem Markt erhältlich. Ein Beispiel eines solchen Sensors wird unter anderem in der Patentanmeldung EP-A2-935880 beschrieben, die eine Halbleiter-Schaltung vorschlägt, um einzelne Pixels schnell einzulesen. Ein anderes Beispiel ist im Patent US5933190 beschrieben. In diesem Dokument wird eine Bildsensortopologie der CMOS-Technik beschrieben, die auch den Zugriff auf einzelne Pixel erlaubt, statt nur auf ganze Bilder. Um mit einem solchen Sensor auf einen Abschnitt eines Bildes (Bildbereich) zuzugreifen, muss eine externe Vorrichtung jedes Pixel des Bildabschnitts separat adressieren, was eine hohe Rechenleistung der benannten externen Vorrichtung voraussetzt.
US5146340 beschreibt ein Bildlese- und Verarbeitungssystem, welches ermöglicht einen elektronischen Bildsensor mit zwei unterschiedlichen Geschwindigkeiten einzulesen. Dies wird gemacht, um eine gewünschte Bildzone mit der korrekten Geschwindigkeit einzulesen, während der Rest des Bildes mit einer erhöhten Geschwindigkeit eingelesen wird um dadurch schneller an den interessanten Bildteil heranzukommen. Die unbenötigten Abschnitte des Bildes werden nicht digitalisiert. Mit dieser Methode kann die Taktfrequenz des Bildeinlese- Prozesses erhöht werden. Das eingelesene Bild wird in einen Bildspeicher
abgelegt. Dieser Bildspeicher kann nach dem Umschalten der Busse durch einen Prozessor eingelesen und verarbeitet werden. Alle Pixel, auch die gar nicht benötigten, werden eingelesen.
US5060074 schlägt eine Bildlese-Einheit für eine Videokamera vor, welche wie in Patent US 5146340 ermöglicht, das Bildfeld in zwei verschiedenen Geschwindigkeiten einzulesen. Dies wird gemacht um eine interessante Bildzone schneller einzulesen als das gesamte Bild. Damit können durch den Kamerabenutzer verursachten Vibrationen des Bildes wurden ausgeglichen werden. Die interessante Bildzone kann ohne vertikale oder horizontale Verschiebung dargestellt werden. Auch hier werden aber stets alle Pixel eingelesen.
Im folgenden werden anhand der beigefügten Zeichnungen bevorzugte Ausführungsbeispiele der Erfindung näher beschrieben. Es zeigen:
Fig. 1 eine einfache schematische Darstellung einer Ein- richtung gemäss der Erfindung, aufgeteilt in eine Bildlese-Einheit, eine Speichereinheit und eine externe elektronische Einrichtung.
Fig. 2 eine schematische Darstellung einer ersten Ausführungsform einer Einrichtung gemäss der Erfindung.
Fig. 3 eine schematische Darstellung einer zweiten Ausführungsform einer Einrichtung gemäss der Erfindung (in diesem Beispiel als intelligente Kamera).
Fig. 4 eine schematische Darstellung einer dritten Ausführungsform einer Einπchtung gemäss der Erfindung, mit einem PC welcher mit einer Framegrabber-Karte mit DMA PC-Speicher-Zugriff ausgerüstet ist und mit einer Einzel-Pixel-Zugriff Kamera.
Fig. 5 eine schematische Darstellung einer vierten Ausführungsform einer Einrichtung gemäss der Erfindung, mit einer Einzel- Pixel-Zugriff-Kamera mit einer schnellen Kommunikationsschnittstelle,
welche die verlangten Pixel direkt und ohne Zwischenspeicherung an eine externe elektronische Einπchtung sendet.
Fig. 6 eine schematische Darstellung einer fünften Ausführungsform einer Einrichtung gemäss der Erfindung, mit einem PC welcher mit einer Framegrabber-Karte mit eigenem Buffer Speicher ausgerüstet ist und mit einer Einzel-Pixel-Zugriff Kamera.
Fig. 7 eine schematische Darstellung der Parameter, die in einem Bildaufnahme-Befehl benötigt werden um einen rechteckigen Bildabschnitt zu definieren.
Fig. 8 eine schematische Darstellung der Parameter, die in einem Bildaufnahme-Befehl benötigt werden, um einen parallelogramm- förmigen Bildabschnitt zu definieren.
Fig. 9 eine schematische Darstellung der Parameter, die in einem Bildaufnahme-Befehl benötigt werden um einen elliptischen Bildabschnitt zu definieren.
Die Figur 1 zeigt ein Bildsignal-Verarbeitungssystem mit drei Elementen 1, 2 und 3. Mit 1 ist eine Bildlese-Einheit schematisch dargestellt, die mittels einer Optik 4 aufgenommene Video Bilddaten in eine Speichereinheit 2 schreiben kann. Die Bildlese-Einheit 1 kann vorzugsweise auch den Inhalt der Speichereinheit 2 lesen. Die Bildlese-Einheit 1, die Optik 4 und die Speichereinheit 2 sind vorzugsweise im selben (nicht dargestellten) Kamera-Gehäuse untergebracht. Eine externe elektronische Einrichtung 3 (zum Beispiel ein PC, ein Video-Recorder oder ein Prozessrechner) kann über eine Kommunikationsschnittstelle auf die Bilddaten in der Speichereinheit 2 zugreifen und vorzugsweise auch Daten (unter anderem Bildaufnahme-Befehle) in diese Einheit schreiben.
Die externe elektronische Einrichtung 3 kann mit Befehlen die in die Speichereinheit geschrieben werden und/oder mit einem Synchronisationssignal über die Kommunikationsschnittstelle 14 von der Bildlese-
Einheit 1 verlangen, dass sie einen Abschnitt des gesamten Bildes mit einer definierten Form in die Speichereinheit 2 schreibt. Synchronisationssignale können auch von einem beliebigen externen Gerät 15 stammen. Die Bildlese-Einheit verfügt über einen Bildsensor, der auf jedes einzelne Pixel direkt zugreifen kann. Damit kann die Bildlese-Einheit spezielle Bildformen wie rechteckige Formen, Kreise, mehrere parallele Linien und beliebige andere Bildformen in die Speichereinheit 2 ablegen, ohne das unbenutzte Pixel eingelesen werden müssen. Da nur die benötigten Pixel eingelesen werden, kann die Einlese- und Verarbeitungszeit der Bildlese-Einheit wesentlich reduziert werden. Die Kamera mit den Einheiten 2 und 3 stellt somit nur jene Pixel zur Verfügung die zur Bildform gehören, die von der externen Einrichtung 3, 15 bestimmt wurde. Die Bildfrequenz ist von der Grosse und Art der verlangten Form abhängig, so dass eine externe Vorrichtung 3, 15 die Bildfrequenz selbst erhöhen kann, indem sie beispielsweise einen kleineren Bildabschnitt extrahieren lässt.
Die Bildlese-Einheit 1 verfügt über weiter unten beschriebene programmierbare Datenverarbeitungsmittel zur Erzeugung der Adressen- und Timing-Signale, die den Treiber des Bildsensors in Abhängigkeit vom der verlangten Bildabschnitt steuern. Diese Verarbeitungsmittel können vorzugsweise auch gewisse Bildverarbeitungs-Algorithmen zur
Bilderverarbeitung einsetzen, beispielsweise um Bilder zu kalibrieren, um ein Festrauschen zu eliminieren, um Bilder mit einem Schwellwert zu binarisieren, um Konturen im Bild zu ermitteln, oder um Objekten in einer Bildsequenz zu folgen. Die Verarbeitungsmittel in der Bildlese-Einheit umfassen vorzugsweise einen Mikroprozessor und/oder einen digitalen Signalprozessor (DSP), um diese Algorithmen durchzuführen. Neue Programme können über die Speichereinheit 2, über eine andere Schnittstelle oder auf einen Datenträger (zum Beispiel eine PC-Card) geladen werden. Für die Kalibrierung kann ein in einem elektronischem Speicher gespeichertes Kalibrierungsbild verwendet werden. Wenn ein Befehl oder Synchronisationssignal zur Bildaufnahme empfangen wird, werden die gewünschten Bilddaten adressiert und mit dem Kalibrierungsbild kalibriert, bevor die neuen Bilddaten als kalibrierte Bilder zur Verfügung gestellt werden.
Die Figur 2 zeigt eine detaillierte Darstellung einer ersten Ausführungsform einer Einrichtung gemäss der Erfindung. Die Bildlese-Einheit 1 mit Datenverarbeitungsmitteln 8,9 und die Speichereinheit 2 sind vorzugsweise in ein gemeinsames Gehäuse integriert. Eine solche Kombination wird als intelligente Kamera bezeichnet, da die Kamera gewisse Bildsignal-Verarbeitungsschritte ohne externen Prozessor ausführen kann.
Die Bildlese-Einheit 1 besteht aus einem Bildsensor 6 mit Einzelpixelzugriff aus einer Optik 4 um das Licht zu fokussieren, aus einem Treiber 5 und aus einem analog-digital Wandler 7. Programmierbare Datenverarbeitungsmittel 8 (zum Beispiel ein oder mehrere Prozessoren und/oder DSP, oder eine FPGA-Schaltung) generieren die Adressen und die Timing-Signale die den Treiber 5 derart steuern, dass nur die benötigten Pixel im Bildsensor 6 gelesen werden. Andere Bildverarbeitungsoperationen können durchgeführt werden (beispielsweise eine Bildkalibrierung, die Binarisierung des Bildes, die Berechnung der Konturen, eine Hoch- oder Tiefpass-Filterung, oder die Folge von Objekten auf nacheinanderfolgenden Bildern einer Bildsequenz). Die Datenverabeitungs- mittel 8 verwenden einen lokalen elektronischen Speicher 9 (zum Beispiel eine RAM), um die verschiedenen Programme auszuführen.
Die Speichereinheit 2 besteht in dieser Ausführungsform aus mehreren Speichermodulen 21. Damit kann die Bildlese-Einheit 1 auf ein Speichermodul zugreifen, während die elektronische Einrichtung 3 gleichzeitig auf ein anderes Modul zurückgreift.
Nur die benötigten Pixel werden vom Bildsensor 6 mit dem
Treiber 5 eingelesen und mit dem AD-Wandler 7 digitalisiert und entweder in den internen Speicher 9 oder direkt in einen Speicher 21 der Speichereinheit 2 geschrieben. Die Bildaufnahme erfolgt auf einen Befehl oder ein Synchronisationssignal 14 an den Prozessor 8. Dieser Befehl kann vom Prozessor 1 1 der externen Einrichtung 3 stammen, aber auch von einem anderen externen Gerät 15.
Die externe elektronische Einrichtung 3 besteht hier aus einem Prozessorsystem, welches die gewünschten Bilderdaten von den Speichermodulen 21 der Speichereinheit 2 liest und weiterverarbeitet. Dieses Prozessorsystem 3 kann die Bildlese-Einheit 1 über die Kommunikations- Schnittstelle 14 oder über in der Speichereinheit 2 gespeicherte Befehle mitteilen, welcher Bildabschnitt benötigt wird. Es ist aber auch möglich, dass die Bildaufnahme-Befehle von einer anderen, externen Einrichtung 15 kommen, oder dass sie von der Bildlese-Einheit 1 selber generiert werden. Die Bildverarbeitungseinheit 3 kann die Bilddaten in der Speichereinheit 2 lesen und in einen lokalen Speicherbereich 12 speichern 12. Weitere digitale Verarbeitungsmitteln 1 1 sind vorzugsweise vorhanden, um die Bilddaten zu verwalten und um diese über eine Kommunikationsschnittstelle 13 an eine externe Vorrichtung 16 zu senden.
Vorzugsweise besteht ein Kommunikationsprotokoll, um die Bildaufnahme-Befehle zu definieren welche von der externen elektronischen Einrichtung 3 an die Bildlese-Einheit 1 gesendet werden, um auf einen bestimmten Bereich des Bildsensors 6 zuzugreifen. Diese Befehle sollen flexibel, für den Programmierer leicht zu verstehen und von den Datenverarbeitungsmitteln 8 rasch interpretierbar sein. Mit diesen Befehlen sollen alle von der Bildlese-Einheit 1 unterstützen Bildaquisitionsmodi eingegeben werden können. Ein Befehlinterpretierer (zum Beispiel ein geeignetes vom Prozessor 8 ausgeführtes Programm) interpretiert diese Befehle und greift auf die den gewünschten Bildabschnitt zugehörigen Pixels des Bildsensors 6 zu, indem es in Echtzeit zur Pixelextrahierung die Adressen und Timingsignale für den Treiber 6 generiert.
Die Bildlese-Einheit 1 kann mindestens folgende Bildeinlesemodi unterstützen. Jeder Modus wird mit einem entsprechenden Bildaufnahme- Befehl gestartet:
1. Extrahieren von rechteckigen Bildfenstern im rechteck-Modus
Dieser Einlesemodus ist auf der Figur 7 schematisch dargestellt.
Auf dieser Figur werden die Pixels 60 die eingelesen werden müssen
scharfiert während andere Pixels 61 weiss dargestellt sind. Dieser Modus erlaubt, eine gewisse Anzahl (1 bis zu einer maximalen Anzahl) von rechteckigen Bildflächen aus dem Bildsensor 6 einzulesen. In diesem Modus kann auch die gesamte Bildfläche eingelesen werden. Alle Pixel der Rechtecke können eingelesen werden; als Variante können aber auch in regelmässigen Intervallen in der horizontalen X bzw. vertikalen Y Richtung eine gewisse Anzahl von Zeilen bzw. Spalten ausgelassen werden. Im dargestellten Beispiel wird nur jede zweite Spalte und nur jede Zeile des zweitgrössten Rechtecks eingelesen. Diese Lücken erlauben, die gewünschten Bilderabschnitte mit einer reduzierten Auflösung einzulesen. Dabei kann die Auflösung jedes Bildabschnitts unterschiedlich gewählt werden. Das Verhältnis zwischen der Anzahl ausgelassener und gelesener Pixel in jeder Richtung wird als Downsampling-Faktor definiert.
Solche Parameter können in den Bildaufnahme-Befehlen eingegeben werden, um das Einlesen im Rechteck-Modus anzuwählen:
1. Anzahl einzulesender Rechtecke (im dargestellten Beispiel 2)
2. Horizontale Koordinaten Pxi des ersten Pixels (ein Eckpixel des Rechtecks) von jedem Rechteck i.
3. Vertikale Koordinaten Pyi des ersten Pixels (ein Eckpixel des Rechtecks) von jedem Rechteck i.
4. Anzahl ai gelesene Zeilen in der horizontalen Richtung X für jedes Rechteck i. Der Parameter ai muss grösser als Null sein.
5. Anzahl di ungelesener Zeilen in der horizontalen Richtung
X für jedes Rechteck i.
6. Anzahl bi gelesene Spalten in der vertikalen Richtung X für jedes Rechteck i. Der Parameter bi muss grösser als Null sein.
7. Anzahl ci nicht gelesener Spalten in der vertikalen Richtung X für jedes Rechteck i.
2. Extrahieren von einem paralleloqramm-förmiqen Bildfenster im Parallelogramm-Modus.
Dieser Einlesemodus ist auf der Figur 8 schematisch dargestellt. Dieser Modus erlaubt es, eine gewisse Anzahl (1 bis zu einer maximalen Anzahl) von parallelen Linien in jeder beliebigen Richtung aus dem Bildsensor 6 einzulesen. Wie im Rechteckmodus kann auch hier ein Downsampling-Faktor in der horizontalen und in der vertikalen Richtung definiert werden.
Folgenden Parameter können verwendet werden, um das Einlesen im Parallelogramm-Modus anzuwählen:
1. Anzahl einzulesender Parallelogramme (im dargestellten Beispiel 1)
2. Horizontale Koordinaten Px des ersten Pixels (ein Eckpixel des Parallelogramms) von jedem Parallelogramm.
3. Vertikale Koordinaten Py des ersten Pixels (ein Eckpixel des
Parallelogramms) von jedem Parallelogramm.
4. Anzahl a nicht gelesener Pixel zwischen jeder gelesenen Spalte in der horizontalen Richtung.
5. Anzahl b der Pixel in jeder gelesenen Spalte.
6. Anzahl c der gelesenen Spalten
7. Anzahl d nicht gelesener Pixel zwischen jeder gelesenen Zeile in der vertikalen Richtung.
8. Anzahl e der Pixel in jeder gelesenen Zeile.
9. Anzahl f der gelesenen Zeilen
10. Verschiebung g des Parallelogramms in der horizontalen
Richtung. Ist der Parameter g negativ, so ist das Parallelogramm von links unten nach rechts oben orientiert. Mit g=0 können rechteckige Bildformen eingelesen werden. Ist der Parameter g positiv, so ist das Parallelogramm von links oben nach rechts unten orientiert, wie in der Figur 8
3. Extrahieren von einer oder mehreren Ellipsen, im elliptischen
Modus.
Dieser Einlesemodus ist auf der Figur 9 schematisch dargestellt. Dieser Modus erlaubt, eine gewisse Anzahl (1 bis zu einer maximalen Anzahl) von elliptischen (zum Beispiel kreisförmigen) Bildabschnitten aus dem Bildsensor 6 einzulesen. Im dargestellten Beispiel werden nur konzentrische Ellipsen definiert. Es wäre aber auch möglich, Bildaufnahme- Befehle vorzusehen, mit welchen nicht-konzentrische Ellipsen in welchen eventuell auch ein Downsampling-Faktor in der horizontalen und in der vertikalen Richtung definiert ist, angegeben werden könnten.
Folgenden Parameter können verwendet werden, um das Einlesen im elliptischen Modus anzuwählen:
1. Anzahl a einzulesender konzentrischer Ellipsen (im dargestellten Beispiel 2)
1. Horizontale Adresse Px des Mittelpunkts aller konzentrischen Ellipsen.
2. Vertikale Adresse Py des Mittelpunkts aller konzentrischen Ellipsen.
3. Anzahl bi der Pixel in der grossen Halbachse aller Ellipsen.
4. Anzahl ci der Pixel in der kleinen Halbachse aller Ellipsen.
5. Als Option: Orientierung der grossen Halbachse, wenn diese nicht horizontal ist.
6. Als Option: Downsampling-Faktor in der horizontalen und vertikalen Richtung.
Eine schnellere Bildeinlese kann erreicht werden, wenn alle Ellipsen konzentrisch sind und wenn da Verhältnis kleine Halbachse zu grösser Halbachse während einer Bildaquisition für alle Ellipsen gleich ist.
2. Von der Bildlese-Einheit definierte Einlesemodi
Um die Speichereinheit 2 und die externe Einrichtung 3 weiter zu entlasten ist es auch möglich, dass die Bildlese-Einheit 1 selber die Anzahl, die Grosse, die Position, die vertikale und horizontale Auflösung und die Form der eingelesenen Bildabschnitten anhand von abstrakteren Befehlen bestimmt. Diese Parameter können auch dynamisch (zum Beispiel in Echtzeit und/oder zwischen jedem Bild) angepasst werden. Ein von den Datenverarbeitungsmitteln ausgeführtes Programm bestimmt zu jeder Zeit, welcher Bereich des Bildsensors 6 eingelesen werden muss. Folgende Bedingungen können Anpassungen des Bildabschnitts verursachen:
Bildobjekt-Verfolgung: Die Datenverarbeitungsmittel 8 der Bildlese-Einheit 1 können einen Bildobjekt-Verfolgungsalgorithmus ausführen, um ein gleiches Objekt auf nacheinanderfolgenden Bildern einer Bildsequenz zu identifizieren und zu verfolgen. Die Bildlese-Einheit kann dabei nur die Pixel die zum verfolgten Objekt gehören aus dem Bildsensor extrahieren und zur Verfügung stellen. Die Form des
eingelesenen Bildabschnitts kann dynamisch an die Form des Objekts angepasst werden und ist nicht auf Rechtecke, Parallelogramme und Ellipsen begrenzt.
Anpassung an die Optik: Die Auflösung kann an die Qualität der Optik, an die verwendeten Fokale, an den Zoomfaktor, an die Öffnung des
Diaphragmas, an die Fokuseinstellung usw, automatisch angepasst werden.
Anpassung in Abhängigkeit von Kamera-Steuerunqsbefehlen: die Bildabschnitte, insbesondere die Auflösung der Bildabschnitten, können angepasst werden, wenn zum Beispiel Zoom-, Panning- oder Tilt- Bewegungen durchgeführt werden, oder wenn die Fokuseinstellung automatisch oder manuell geändert wird.
Anpassung in Abhängigkeit von Triggern, die von externen Trigqerqeräten erzeugt werden: Die Kamera kann eine Schnittstelle enthalten, um externe Triggersignale zu empfangen. Die Einleseparameter können automatisch geändert werden, wenn ein neues Triggersignal empfangen wird. Damit können die Einlesebedingungen an externe Ereignisse angepasst werden,
Anpassung an den Inhalt des Bildes: Die Auflösung, der eingelesene Bildabschnitt usw, können automatisch dynamisch angepasst werden, wenn sich der Inhalt der aufgenommenen Bilder ändert. Es ist beispielsweise möglich, automatisch einen neuen Bildabschnitt zu extrahieren, wenn ein Ereignis in diesem Bildabschnitt detektiert wird.
Um auf Ereignisse zu reagieren, die in zusätzlichen nicht extrahierten Bildabschnitten passieren, ist es in einer Ausführungsform möglich, diese zusätzliche Bildabschnitte mit einer langsameren Abtast- Frequenz einzulesen und die dabei erhaltenen zusätzlichen Bilddaten für die Überwachung von Ereignissen zu verwenden, ohne sie ausserhalb der Bildlese-Einheit zur Verfügung zu stellen.
Mit diesen Bildmodi kann der Bildlese-Einheit mit einem Befehl mitgeteilt werden, was für einen Bildabschnitt benötigt wird. In einer bevorzugten Ausführungsform können mindestens gewisse der folgenden Parameter in mindestens gewissen Bildaufnahme-Befehlen eingegeben werden:
■ Abtastzeit (100ns, 200ns usw.). Als Variante oder für bestimmte Befehle kann der Befehl-Interpretierer stets automatisch die schnellst mögliche Abtastzeit für die gewünschte Bildform auswählen. Als andere Variante wird immer denselben Bildbereich gelesen, und die
Bildaufnahme wird durch das externe Synchronisationssignal 14 getaktet.
■ Auflösung des AD-Wandlers 7 (6, 8, 10 oder 12 Bit usw.).
■ Integrationszeit der Pixel (10μs, 100μs, 1 ms usw.).
■ Mit oder ohne elektronischen Shutter.
■ Steuersignale für einen eventuellen mechanischen Shutter.
■ Steuersignale für das Objektiv 4 wie Zoomeinstellung, Iris und Fokus.
■ Lineare oder logarithmische Antwortkurve (Auslese- Spannung in Abhängigkeit der Lichtintensität) der Pixel.
■ Mit oder ohne Bildkalibrierung (um das Festrauschen zu limitieren usw.).
■ Mit oder ohne Vorverarbeitung der zu lesenden Bilddaten, die Vorverarbeitung kann Algorithmen beinhalten wie Kantendetektion, Hoch- und Tiefpassfilterung usw.
Eine zweite Ausführungsform einer Einrichtung gemäss der Erfindung ist auf der Figur 3 dargestellt. In dieser Variante sind alle Komponenten, die früher in Zusammenhang mit der Figur 2 beschrieben wurden, in einem einzigen Gehäuse integriert. Eine solche Vorrichtung kann als intelligente Kamera bezeichnet werden und kann durch eine Schnittstelle 13 mit externen Geräten 16 verbunden werden. Dabei können mehreren der hier beschriebenen Komponenten 8, 21, usw., in einer einzigen integrierten Schaltung integriert werden.
Eine dritte Ausführungsform einer Einrichtung gemäss der Erfin- düng ist auf der Figur 4 dargestellt. In dieser Variante sind die Bildlese- Einheit 1 und die Speichereinheit 2 in ein gemeinsames Gehäuse 17 integriert. Eine solche Einrichtung kann als Einzel-Pixel-Zugriff-Kamera bezeichnet werden. Die Bildlese-Einheit umfasst die gleichen Komponenten wie die Variante der Figur 2. Zusätzlich zur Bildlese-Einheit 1 und zur Speichereinheit 2 ist eine Kommunikationsschnittstelle 19 mit einem Kommunikationsprozessor implementiert, welcher es ermöglicht, die Bilddaten von der Einzel-Pixel-Zugriff-Kamera 17 über einen "Framegrabber 27 (Datenempfangseinheit) an eine externe Einrichtung 3 zu senden. Die externe elektronische Einrichtung 3 kann ein Prozessorsystem sein (beispielsweise ein PC), in welchem die Framegrabber- Karte 27 installiert ist.
Die von der Bildlese-Einheit eingelesenen Bilddaten werden über einen schnellen Datenbus an den Framegrabber 27 gesendet. Der Framegrabber 27 verfügt über eine zweite Kommunikationsschnittstelle mit einem Kommunikationsprozessor 22, um diese Daten zu empfangen. Die Bilddaten werden dann in einen FIFO-Speicher 23 zwischengespeichert und über eine direkte Speicherzugriffschaltung (DMA) 24 und eine Kommunikationsschnittstelle 25 in den elektronischen Speicher 12 des PC 3 geschrieben. Der Prozessor 11 des PC's 3 wird dabei für die eigentliche Bildsignalverarbeitung verwendet. Die Bildaufnahme-Befehle 14 können vom Prozessor 11 (über eine Kommunikationsschnittstelle 13) oder auch von einer externen Einrichtung 15 stammen. Auch hier können mehreren
der hier beschriebenen Komponenten 8, 21, 19, usw. in der Kamera 17 in einer einzigen integrierten Schaltung integriert werden.
Eine vierte Ausführungsform einer Einrichtung gemäss der Erfindung ist auf der Figur 5 dargestellt. In dieser Variante liest die externe Bildverarbeitungs-Einheit 3 die gewünschten Bilddaten nicht aus einer Speichereinheit 2, sondern direkt aus der Bildlese-Einheit 1. Zu diesem Zweck verfügt die Bildlese-Einheit 1 über eine geeignete Kommunikationsschnittstelle 19, die direkt auf die Speichereinheit 10 der Bildlese-Einheit 1 zugreifen kann. Der Kommunikationsprozessor 19 kann selber noch über einen lokalen Speicher verfügen. Dieser Prozessor sendet die Daten über eine Kommunikationsschnittstelle 22 an die externe Einrichtung 3. Die externe Einrichtung 3 ist auch mit einem Kommunikationsprozessor 22 ausgestattet, um die Daten korrekt zu empfangen und sie in einen elektronischen Speicher 12 zu schreiben. Weitere digitale Bilderverarbeitungsmittel 11 sind vorzugsweise vorhanden, um die Bilddaten zu verwalten und um diese über eine Kommunikationsschnittstelle 13 an eine externe Vorrichtung 16 zu senden.
Eine fünfte Ausführungsform einer Einrichtung gemäss der Erfindung ist auf der Figur 6 dargestellt. In dieser Variante wird auch eine Einzel-Pixel-Zugriff-Kamera 17 verwendet, welche die Bilddaten über eine Kommunikationsschnittstelle 19 an einen Framegrabber 27 sendet. Der Framegrabber 27 empfängt die gewünschten Bilddaten und ist mit einer externen Bildverarbeitungseinheit 3 verbunden. Die Bilddaten werden nun von einem Kommunikationsprozessor 22 im Framegrabber 27 empfangen und können temporär in einem FIFO-Speicher 23 zwischengespeichert werden. Ein Prozessor 26 auf der Framegrabberkarte 27 kann die empfangenen Bilddaten verarbeiten und in den lokalen Speicher 21 des Framegrabbers 27 schreiben. Vorzugsweise kann auch der Kommunikationsprozessor 22 Bilddaten direkt in den Speicher 21 schreiben. Damit wird der Prozessor 11 und der Speicher 12 der externen Einrichtung 3 entlastet. Der Prozessor 11 kann nach Bedarf auf die Bilddaten des Framegrabbers 27 zurückgreifen, um diese weiter zu verarbeiten, zu archivieren, über ein Netzwerk an ein
Kommunikationselement 13 zu senden usw. und kann diese auch lokal in seinen elektronischen Speicher 12 schreiben.
Befehle oder Synchronisationssignale 14 für die Bildaufnahme können entweder von einer externen Einrichtung 15, vom Framegrabber 27, oder von der externen Einrichtung 3 stammen, oder intern in der Einzel- Pixel-Zugriff-Kamera generiert werden.
Neben die neue Einrichtung 1, 2, beispielsweise in der Form einer neuen intelligenten Kamera, betrifft die Erfindung auch neue Programme, die in einer solchen Kamera geladen werden können, um Bildaufnahme- Befehle, in welchen die Form, die Grosse, die Position, die Auflösung und/oder die Anzahl von Bildbereichen, die aus einem Bildsensor mit Einzelpixelzugriff eingelesen werden müssen, zu interpretieren und durchzuführen. Solche Programme können als Computerprodukten, insbesondere als programmierte Datenspeichermedien, vertrieben werden. Die Erfindung betrifft ebenfalls Programme, die von einer externen Vorrichtung 3, 14 durchgeführt werden, um solche Befehle an eine elektronische Einrichtung gemäss der Erfindung zu senden.