DE69712481T2 - Bilderfassungssystem und verfahren - Google Patents
Bilderfassungssystem und verfahrenInfo
- Publication number
- DE69712481T2 DE69712481T2 DE69712481T DE69712481T DE69712481T2 DE 69712481 T2 DE69712481 T2 DE 69712481T2 DE 69712481 T DE69712481 T DE 69712481T DE 69712481 T DE69712481 T DE 69712481T DE 69712481 T2 DE69712481 T2 DE 69712481T2
- Authority
- DE
- Germany
- Prior art keywords
- image
- data
- memory
- camera
- signal
- 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 - Lifetime
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/0007—Image acquisition
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/90—Buffering arrangements
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/382—Information transfer, e.g. on bus using universal interface adapter
- G06F13/385—Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F5/00—Methods or arrangements for data conversion without changing the order or content of the data handled
- G06F5/06—Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor
- G06F5/10—Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor having a sequence of storage locations each being individually accessible for both enqueue and dequeue operations, e.g. using random access memory
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Image Input (AREA)
- Studio Devices (AREA)
- Image Processing (AREA)
- Image Analysis (AREA)
Description
- Die vorliegende Erfindung bezieht sich auf ein Bilderfassungssystem und insbesondere auf Bilderfassungssysteme, die für Maschinensichtsysteme geeignet sind, die optische Bilder aufnehmen und verarbeiten.
- Herkömmliche Bilderfassungssysteme wurden jahrzehntelang benutzt, um optische Bilder aufzunehmen und zu verarbeiten. Die herkömmlichen Systeme benutzen im typischen Fall eine oder mehrere Videokameras, die ein Bild aufnehmen, und es sind Bildfangschaltungen vorgesehen, die das Bild speichern und/oder verarbeiten. Diese Systeme lassen sich verhältnismäßig leicht verbinden, da die Komponenten des Systems gut charakterisiert und leicht verständlich sind und zu voraussehbaren Ergebnissen führen.
- Die heutigen modernen Herstellungsverfahren und industriellen Installationen werden zunehmend automatisiert, um die Qualität zu verbessern und die Kosten zu erniedrigen, um sich besser auf dem globalen Markt durchsetzen zu können. Infolgedessen benutzen diese Installationen im typischen Fall maschinelle Visionssysteme, die benutzt werden, um die Produktionsverfahren zu überwachen, und es werden auf eine bestimmte Position eingestellte Komponenten benutzt, damit andere wichtige Verarbeitungsvorgänge durchgeführt werden können. Es besteht jedoch eine Fehlanpassung zwischen den Erfordernissen moderner Maschinen-Sichtsysteme und den Konstruktionszielen bestehender Bildtechnologie, die im typischen Fall mit maschinellen Visionssystemen benutzt werden.
- Konventionelle Bilderfassungssysteme sind entweder so ausgebildet, daß sie einen kontinuierlichen Fluß von Bildern liefern oder einen vorbestimmten Fluß von Bildern mit einer festen Rate, die durch die menschliche Erwartung und Ansprechzeiten bestimmt wird, wobei möglichst geringe Kosten aufgewendet werden sollen. Wenn ein neues Bild alle 1/60 Sekunde übertragen wird, sind fehlende Linien und/oder Bilder in einem solchen System zulässig, weil sie im allgemeinen von einem menschlichen Auge nicht festgestellt werden können. Die feste Rate von Bildaufnahme und -wiedergabe in herkömmlichen Bilderfassungssystemen ist gerade schnell genug, um unendlich schnell oder nahtfrei durch das menschliche Auge wahrgenommen zu werden. Weil Fehler, die während der Aufnahme und Übertragung auftreten, beispielsweise fallende Linien und Bilder, dem Betrachter nur während 1 /60 Sekunde dargeboten werden, und weil das menschliche Auge als Zeitintegrator wirkt, sind diese dazwischenliegenden Fehler kaum für einen menschlichen Beobachter wahrnehmbar.
- Andererseits machen Maschinensichtsysteme oft Entscheidungen basierend auf einem einzigen Standbild. Deshalb erfordern maschinelle Sichtsysteme eine beträchtlich höhere Auflösung, Kontrast und Toleranz für Datenintegrität als herkömmliche Bilderfassungssysteme. Wenn beispielsweise das Maschinensichtsystem nach normalen Prozeßvariationen in hergestellten Teilen schaut, können irgendwelche Bildfehler zu einer fehlerhaften Ausscheidung eines solchen Teils führen. Dies führt zu unnötigem Ausschuß und zu einer Erhöhung der Gesamtherstellungskosten.
- Fehler in einem Bilderfassungssystem umfassen Bildfehler und Verarbeitungsfehler. Verarbeitungsfehler, wie fallende Linien oder Vollbilder, sind eine Folge von Fehlern, die auftauchen, wenn die Bilddaten von der Kamera nach dem Host-Prozessor überführt werden. Bildfehler entstehen in der Kamera selbst oder in der Umgebung außerhalb der Kamera. Die ersteren werden als Sensorfehler bezeichnet und die letzteren als Szenenfehler.
- Sensorfehler rühren im typischen Fall von Differenzen zwischen lichtempfindlichen Elementen her (zum Beispiel Photostellen in einer Ladungs-gekoppelten Einrichtung), die einen Teil des Bilderfassungssystems darstellen. Als Ergebnis dieser Differenzen kann ein Paar lichtempfindlicher Elemente unterschiedlich auf den gleichen Beleuchtungspegel ansprechen. Diese Differenzen rühren von normalen Prozeßvariationen in der Herstellung der lichtempfindlichen Elemente her, oder sie sind eine Folge von Temperaturdifferenzen zwischen sonst identischen lichtempfindlichen Elementen.
- Szenenfehler sind jene Fehler, die auftreten, wenn eine Szene falsch beleuchtet wird. Da Umgebungslichtbedingungen nicht genauso präzise eingestellt werden können, wie jene Beleuchtungen, die bei modernen Maschinensichtsystemen einstellbar sind, ergibt sich eine subtile Veränderung in den Beleuchtungspegeln oder Farben, beispielsweise aufgrund der Alterung von Lichtquellen, was die Ausführung der Maschinensichtsysteme beeinträchtigen kann.
- Im Gegensatz zu herkömmlichen Bilderfassungssystemen, die die Bilder entweder kontinuierlich oder in regelmäßigen Intervallen aufnehmen, können Maschinensichtsysteme Bilder zu unvorhergesehenen Zeitpunkten erfordern. Bei einer automatischen Überprüfungslinie können beispielsweise die zu überwachenden Gegenstände nicht regelmäßig genug auf dem Förderriemen angeordnet werden, um eine periodische Erfassung zu ermöglichen. Infolgedessen hat ein Maschinensichtsystem nicht die Möglichkeit vorherzuwissen, wann ein Bild empfangen werden muß. Ein maschinelles Sichtsystem sollte auch schnell bereit sein, ein Bild unmittelbar nach Aufforderung aufzunehmen. Wenn beispielsweise in einem Fließbandüberwachungssystem ein zu überwachender Gegenstand gerade in das Sichtfeld der Kamera eintritt, ist es zweckmäßig, daß das Bild schnell aufgenommen wird, bevor der Gegenstand das Sichtfeld der Kamera verläßt.
- Weil Maschinensichtsysteme oft viele Bilder in schneller Folge aufnehmen müssen, besteht die Notwendigkeit, die Bilddaten schnell einem Prozessor eines Hostsystems zuzuführen. Bekannte Maschinensichtsysteme unterbrechen allgemein den Hostprozessor, um eine Startspeicheradresse zu erhalten, in der ein Bild der ein Teil hiervon plaziert wird, bevor die tatsächliche Bilderfassung und -übertragung beginnen kann. In derartigen Systemen, die als "software scatter/gather"-Systeme bezeichnet werden, spielt der Hostprozessor eine beträchtliche Rolle, bei der Bilderfassung und -übertragung. Wenn man sich dagegen auf den Host-Prozessor verläßt, führt dies zu latenten Perioden, während denen die Bilderfassung und -übertragung nicht erfolgen kann, weil der Hostprozessor mit anderen Aufgaben beschäftigt ist. Diese latenten Perioden ungewisser Dauer machen es schwierig, wenn nicht unmöglich, ein Maschinensichtsystem zu schaffen, das wiederholt ein Bild auf Anforderung aufnimmt. Wenn die latente Periode übermäßig lang wird, können Kollisionen im Datenpfad erfolgen, wenn Daten von späteren Bildern schneller verarbeitet werden können als Daten von vorherigen Bildern. Dies führt zu einem Verlust oder zu fehlerhaften Daten.
- In anderen Maschinensichtsystemen, die als "hardware scatter/gather-Systeme bezeichnet werden, wird die Datenübertragung durch eine direkte Speicheradressentechnik (DMA) durchgeführt. Obgleich diese Systeme nicht die Unterstützung des Hostprozessors erfordern, um auf den Speicher zuzugreifen, erfordern diese in typischer Weise, daß ein Speichersegment der Benutzung zugeordnet wird. Der Nachteil dieses Verfahrens besteht darin, daß der zugeordnete Speicher nicht mehr zur Benutzung durch andere Prozessor- Aufgaben zur Verfügung steht, selbst wenn er nicht für die Bildübertragung benutzt wird.
- In Systemen dieser Art können Datenkollisionen, wie oben beschrieben, verbessert werden, indem der zugeordnete Speicher in zwei Blöcke unterteilt wird. Dadurch wird es möglich, ein ankommendes Bild in dem ersten Speicherblock zu plazieren, während das Bild in dem zweiten Speicherblock verarbeitet wird. Nachdem das System einmal die Verarbeitung des Systems im zweiten Block vollendet hat, kann das System eine Verarbeitung des Bildes im ersten Block beginnen. Dadurch wird der zweite Block frei zum Empfang eines weiteren ankommenden Bildes. Ein Nachteil dieser Systemtype besteht darin, daß dann, wenn es in Verbindung mit einer mehrgängigen Computer-Umgebung benutzt wird; dann wird die Komplexheit der Programmierung rasch unverarbeitbar.
- Es ist bei modernen Maschinensichtsystemen auch erwünscht, autonom zu bestimmen, ob oder ob nicht ein Bild erfaßt werden soll. Beispielsweise können bei einer Überwachungslinie die zu überwachenden Gegenstände nicht mit regulärem Abstand aufeinander folgen. Hierdurch ergibt sich das Problem, wie nur ein Bild aufgenommen werden soll, wenn der zu prüfende Gegenstand im Sichtfeld der Kamera liegt oder in einem speziellen Bereich innerhalb des Kamera-Sichtfeldes.
- Bekannte Systeme suchen dieses Problem dadurch zu lösen, daß die Kamera mit einem äußeren Sensor getriggert wird, der außerhalb des Maschinensichtsystems liegt. Diese Sensoren können jedoch nur schwierig über ein Interface betriebssicher mit dem Maschinensichtsystem verbunden werden. Außerdem kann eine latente Zuordnung mit dem Maschinensichtsystem es schwierig gestalten, betriebssicher das zu inspizierende Objekt im richtigen Bereich des Kamerasichtfeldes anzuordnen.
- Weitere wichtige Beschränkungen, die herkömmlichen Bildaufnahmesystemen eigen sind, umfassen das relativ feste Sichtfeld, die relativ feste Frequenz der Bildaufnahme, die feste und relativ niedrige Rate der Bildübertragung auf den Host-Computerspeicher (oder eine relativ kostspielige Übertragung des Bildes) und das Fehlen der Daten-Integrität, welches beispielsweise von Grau-Skalen-Fehlern infolge von verschiedenen Ursachen herrührt, einschließlich einem Pixel Jitter und einer Abschrägung oder von verlorenen Daten, wie abfallenden Linien und Rahmen.
- Außerdem sind die gegenwärtig benutzten Maschinensichtsysteme relativ kostspielig zu installieren und zu betreiben. Ein weiterer Nachteil dieser Systeme besteht darin, daß sie nicht in der Lage sind, die Form der erfaßten Bilddaten in Echtzeit zu ändern, das heißt in anderen Worten ausgedrückt, zwischen jedem erfaßten Vollbild.
- Moderne Maschinensichtsysteme wurden entwickelt, um einige dieser Nachteile zu vermeiden. Ein Beispiel, welches geschaffen wurde, um einige dieser Nachteile zu verbessern, umfaßt die Benutzung einer kostspieligen Benutzerspezifischen Schaltung, um eine hohe Genauigkeit und geringe Fehleraufnahme zu erreichen. Diese bekannten Systeme sind im typischen Fall sehr kostspielig zu acquirieren und sehr schwierig in bestehende Maschinensichtsysteme zu integrieren.
- In der Druckschrift "Transactions of the Institute of Measurement and Control", Bd. 14, Nr. 4, Januar 1992, Seiten 196-203, XP000319911; J. S. Smith et al. "A High Speed image acquisition system for robotics" ist ein Hochgeschwindigkeits-Bilderfassungssystem beschrieben, das mit einem Maschinensichtsystem verbunden ist, und eine CCD-Kamera als Primärbildeingang benutzt und einen Speicher aufweist, um wenigstens einen Teil des Bildes zu speichern.
- Die DE-A-4,207,474 beschreibt ein System, bei dem Bilddaten zeitweilig in einem Puffer (5) gespeichert werden. Der Puffer (5) bewirkt eine zeitweilige Speicherung der Bilddaten, wenn die Arbeitsweise des Videospeichers 13 ausgesetzt ist.
- Es besteht daher ein Bedarf nach einem Bilderfassungssystem, welches geeignet ist zur Benutzung mit modernen Maschinensichtsystemen, wobei das Bilderfassungssystem flexibel sein muß, und eine hohe Genauigkeit der asynchronen Bilderfassung und -übertragung gewährleistet.
- Die vorliegende Erfindung schafft daher ein System gemäß Anspruch 1, und ein Verfahren wie dieses aus Anspruch 30 hervorgeht.
- Der Datendurchsatz für ein erfindungsgemäßes System kann durch ein programmierbares Bildsteuergerät eingestellt werden, welches die Übertragung der Daten von einem CCD- Feld oder einer anderen Festkörper-Bilderzeugungs-Vorrichtung an den Host-Prozessor mit variablen Raten gemäß dem Status der Puffer vornimmt, und gemäß Instruktionen von dem Host-Prozessor. Dieses programmierbare Bildsteuergerät erhöht weiter den Systemdurchsatz dadurch, daß dem Host-Prozessor nur Daten innerhalb des interessierenden Bereichs übertragen werden und Daten außerhalb des interessierenden Bereichs abgelegt werden. Da die Daten schneller abgelegt werden können, als sie übertragen werden, kann die Erhöhung des Durchsatzes wesentlich sein, wenn der interessierende Bereich sehr viel kleiner ist als das Gesamtbild.
- Das erfindungsgemäße System kann auch vorgewählte Systemparameter während der Erfassung eines oder mehrerer Bilder steuern. Diese Parameter umfassen Zeit und Dauer der Belichtung, den speziellen Bereich, der innerhalb des Sichtfelds interessiert, der spezielle Modus der Arbeitsweise des Systems und andere Parameter, die den Rahmen der Bilderfassung definieren und die im Hinblick auf diese Beschreibung für den Fachmann auf dem optischen und elektrischen Gebiet klar sind. Ein beträchtlicher Vorteil der vorliegenden Erfindung besteht darin, daß diese Parameter in Echtzeit zwischen den Bildern geändert werden können, ohne die Bandbreite zu beeinträchtigen. Dieses Merkmal ermöglicht es, daß das System dynamisch auf Anforderungen des Bilderfassungssystems reagiert.
- Das System schafft auch die Möglichkeit, Bilder asynchron und virtuell bei Bedarf zu erfassen, ohne daß es notwendig wäre, auf die Verfügbarkeit des Systemspeichers zu warten, um das Bild zu speichern. Das System unterstützt dies durch Trennung der Erfassung des Bildes durch die Kamera, ein Vorgang von kurzer und relativ voraussehbarer Dauer, von dem Vorgang der Übertragung des Bildes aus der Kamera in den Host-Prozessor, ein Vorgang, der eine unvorhersehbare und potentiell lange Dauer erfordert. Infolgedessen kann die Bildaufnahmestufe unabhängig von der Bildübertragungsstufe durchgeführt werden. Wenn es notwendig ist, kann das erfaßte Bild zeitweise im Speicher, beispielsweise in einem FIFO-Datenspeicher, gespeichert werden, während das System auf eine Speicheradresse wartet, um das Bild einzugeben. Wegen dieser Trennung zwischen der Bilderfassung und der Bildübertragung kann das erfindungsgemäße System ein Bild erfassen, ohne daß es notwendig wäre, eine Speicheradresse abzuwarten, in der das Bild plaziert wird. Das System wird daher nicht durch die Latenz gehemmt, die herkömmlichen Bilderfassungssystemen zugeordnet ist. Außerdem kann das System demgemäß Forderungen nach einem Bild erfüllen, ohne daß vorher eine Zieladresse erforderlich wäre.
- Wenn das Daten-FIFO-Register sich seiner Kapazität nähert, kann es eine Unterbrechung bewirken, um die Bilderfassung anzuhalten, wie dies weiter unten beschrieben ist. Dies wird durch Einfügung einer Rückführungsschleife zwischen Kamera und Bilderfassungsanordnung bewirkt. Diese Rückführungsschleife ermöglicht ein zeitweiliges und augenblickliches Anhalten der Bilderfassung und -übertragung immer dann, wenn ein zu großer Datenverkehr vorhanden ist, um eine betriebssichere Übertragung der Daten zu gewährleisten. Gemäß einer Praxis der Erfindung werden Daten, die bereits von der Kamera erfaßt sind, zeitweilig in der Kamera während der Dauer der Unterbrechung gespeichert. Durch Einfügung dieser Funktion in den beschriebenen Aufbau, entlastet die vorliegende Erfindung den Host-Prozessor von aufwendigen Datenverarbeitungsaufgaben. Hierdurch wird die Bildtreue (Datenintegrität) erhöht, und zwar mit einer entsprechenden Verminderung des Auftretens von Fehlern, wenn Bilder erfaßt werden, und mit einer Erhöhung des Gesamtbilddurchsatzes.
- Ein zusätzliches Merkmal der vorliegenden Erfindung besteht darin, daß eine Unterbrechung der Bilderfassung und Übertragung, wie oben beschrieben, entweder am Ende eines Vollbildes, am Ende einer Zeile innerhalb des Bildes oder am Ende irgendeines vorbestimmten Abschnitts des Bildes durchgeführt werden kann. Die Flexibilität, die dadurch erreicht wird, daß man die Möglichkeit schafft, die Bilddaten in kleineren Einheiten zu übertragen, als sie ein Vollbild erfordern, schafft die Möglichkeit, das System für kleine Zwischenräume im Datenverkehr auszunutzen, die sonst nicht benutzt werden könnten, und außerdem ermöglicht das System eine schnelle Erfassung und Übertragung von Bilddaten.
- Ein weiteres Merkmal der Erfindung besteht darin, daß das System Daten bedeutend schneller erfaßt, als bekannte Systeme, einschließlich der herkömmlichen Hybrid- Systeme, die konventionelle Bildsysteme und Maschinensichtsysteme benutzen. Gemäß einer Praxis der Erfindung können Bilder erfaßt und auf den Bildsignal-Prozessor 30-mal schneller übertragen werden, als dies konventionelle Systeme ermöglichen, wobei eine flexible Hochgeschwindigkeitssteuerung und Hochgeschwindigkeitsübertragung der Bilddaten gewährleistet ist.
- Im Gegensatz zu bekannten Systemen, bei denen ein Teil des Speichers benutzt wird, um das zu verarbeitende Bild zu speichern, benutzt das erfindungsgemäße System die Fähigkeit moderner Operationssysteme, um eine dynamische Speicheranweisung durchzuführen. Hierdurch wird es möglich, nur soviel Speicherplatz anzuweisen, wie es notwendig ist, um ein Bild zu verarbeiten und jenen Speicher nur dann anzuweisen, wenn dies auf einer Bild-zu-Bild-Basis notwendig ist. Nachdem die Bildverarbeitung vollendet ist, kann der für jene Aufgabe angewiesene Speicher zur Benutzung für andere Verarbeitungsaufgaben freigegeben werden.
- Gemäß der Erfindung kann das System die Bilder asynchron erfassen, was durch die Trennung der Bilderfassung und -übertragung möglich wird, und dadurch kann eine Erfassung erfolgen, bevor der Speicher zur Speicherung des Bildes verfügbar ist. Das System kann auch derart konfiguriert werden, daß ein Zeitstempel dem erfaßten Bild aufgeprägt wird. Gemäß einer Praxis überwacht eine Steuer-Hardware der Host- Vorrichtung das System im Hinblick auf ein Kamera-Triggersignal, das die Kamera triggert. Hierdurch wird die zugeordnete Latenz vermieden, indem der Host-Prozessor-Monitor benutzt und der Zeitstempel auf dem Bild angebracht wird.
- Die vorliegende Erfindung kann auch mit einem Aufbau verwirklicht werden, der autonom auf der Basis eines Bildes im Kamera-Sichtfeld entscheidet, ob ein Bild erfaßt wird oder nicht. Ein derartiges System bewirkt dies, indem ein Triggerbereich im Kamerasichtfeld bestimmt wird, und indem das Bild aus dem Triggerbereich verarbeitet wird, um zu bestimmen, ob das Bild in einem interessierenden Bereich innerhalb des Kamerasichtfelds erfaßt werden soll. Das System verarbeitet den Abschnitt des Bildes innerhalb des bestimmten Triggerbereichs unabhängig von dem Host-Prozessor und mit relativ hohen Abtastraten.
- Die vorerwähnte Steuerung des Bilderfassungs-Prozesses kann auf diese Weise auf einer Bild-zu-Bild-Basis mit einer Vorrichtung gesteuert werden, die kleiner und wesentlich kostengünstiger ist, als bisher bekannte Systeme, wodurch die Gesamtkosten für das Bilderfassungssystem beträchtlich vermindert werden. Zusätzliche Merkmale der Erfindung, die zu einer Kostenerniedrigung führen, umfassen die Vereinfachung der Datenpfade.
- Das Bilderfassungssystem vorliegender Erfindung enthält ein Bilderfassungselement, beispielsweise eine Kamera, zur Erfassung eines Bildes und ein programmierbares Steuerelement, das selektiv und programmierbar die Durchführung einer Anzahl gewählter Funktionen durch das Bilderfassungselement einleitet. Jene Funktionen können die Einleitung und Beendigung der Bilderfassung, die Wahl eines speziell interessierenden Bereichs des erfaßten Bildes, eine Eichung oder Filterung der Ausgänge der lichtempfindlichen Elemente, die einen Teil des Bilderfassungssystems bilden, eine Definition des Triggerbereichs oder das Reinigen der Ladung von den lichtempfindlichen Elementen umfassen. Die Bilderfassung durch die Kamera kann auch in Echtzeit unterbrochen werden, so daß wenigstens ein Teil des Bildes zeitweise in der Kamera gespeichert bleibt. Diese Unterbrechungssequenz ermöglicht es dem Bilderfassungssystem gemäß der Erfindung, alle vorher übertragenen Bilddaten mit hoher Betriebssicherheit zu verarbeiten.
- Das System kann auf einer Erfassungstafel montiert werden, die als Interface zwischen der Kamera und einem herkömmlichen Host-Computer-System wirkt. Die Erfassungstafel bewirkt die Übertragung der Bilddaten zwischen der Kamera und dem Host-Computer- System, wo die Bilddaten schließlich verarbeitet werden.
- Die vorstehend genannten Ziele und weitere Ziele, Merkmale und Vorteile der Erfindung ergeben sich aus der folgenden Beschreibung von Ausführungsbeispielen anhand der Zeichnungen. In den Zeichnungen sind entsprechende Teile mit gleichen Bezugszeichen versehen. In der Zeichnung zeigen:
- Fig. 1 ist ein schematisches Blockschaltbild des Bilderfassungssystems gemäß vorliegender Erfindung;
- Fig. 2 ist ein schematisches Blockschaltbild des Bilderfassungssystems nach Fig. 1 mit weiteren Einzelheiten;
- Fig. 3A-3B sind schematische Darstellungen der vertikalen und horizontalen Register-Anordnungen der Kamera-Komponenten des Erfassungssystems nach Fig. 1;
- Fig. 4 ist eine schematische Darstellung des Bilderfassungssystems nach Fig. 1, mit näheren Einzelheiten;
- Fig. 5 ist eine schematische Darstellung der Kamera gemäß Fig. 2, mit weiteren Einzelheiten;
- Fig. 6 ist eine tabellarische Angabe der Zustände gewählter Gatter im programmierbaren Bild Kontroller gemäß Fig. 5, während gewählter Operationsmoden;
- Fig. 7 ist ein Flußdiagramm, welches die Arbeitsfolge des programmierbaren Bild- Kontrollers gemäß einem Modus der Erfindung veranschaulicht;
- Fig. 8A ist ein Blockschaltbild der Pixel-Sensitivitäts-Korrektureinheit, welche benutzt wird, um den Ausgang der lichtempfindlichen Elemente zu eichen oder zu, filtern, die die Bilderfassungselemente bilden;
- Fig. 8B ist ein Blockschaltbild einer Pixel-Sensitivitäts-Korrektureinheit, verbunden mit dem digitalen Eingang eines Analog-Digital-Wandlers gemäß dem Erfassungssystem nach Fig. 1;
- Fig. 9 ist eine Darstellung des Triggerbereichs und eines interessierenden Bereichs innerhalb des Kamerasichtfelds.
- Fig. 1 ist eine schematische Darstellung des Bilderfassungssystems 10 gemäß den Lehren der vorliegenden Erfindung. Das veranschaulichte System 10 weist ein zentrales Computer-System oder ein Host-Computersystem 12 auf. Das Host-Computersystem kann irgendein herkömmlicher Computer sein, und einen Display-Monitor und einen Signal-Prozessor aufweisen, oder es kann ein Kundenspezifischer Signalprozessor sein, der einen Teil eines größeren Netzwerkes, beispielsweise eines LAN oder WAN bildet. Das Host-Computersystem 12 steht vorzugsweise in Verbindung mit einer Erfassungsbaugruppe 14, die ihrerseits an ein oder mehrere externe Bildaufnahme-Geräte 16, beispielsweise Kameras, gekoppelt ist. Die Erfassungsbaugruppe 14 ist außerhalb des Host-Systems 12 dargestellt, sie kann jedoch einen Teil jenes Systems bilden, wie dies für den Fachmann klar ist. Infolgedessen wird gelegentlich die Kombination der beiden als "Host-System" bezeichnet. Gemäß einer bevorzugten Praxis ist die Erfassungsbaugruppe ähnlich einer PCI-Bus-Karte, die ein Interface mit dem PCI-Bus des Host-Systems 12 gemäß den Lehren der vorliegenden Erfindung bildet.
- Der Fachmann wird feststellen, daß eine einzige Erfassungsbaugruppe 14 benutzt werden kann, um eine Anzahl von Kameras 16 zu betätigen. Umgekehrt kann auch für jede Kamera 16 der Erfassung eine getrennte Erfassungsbaugruppe 14 benutzt werden.
- Die dargestellten Kameras 16 weisen jeweils programmierbare Bildsteuermittel 20 auf, die mit einem Bilderfassungselement 24 gekoppelt sind. Die Erfassungsbaugruppe 14 erzeugt vorzugsweise Steuersignale, die auf die programmierbaren Bildsteuermittel 20 längs eines Kommunikationspfades 28 übertragen werden. Der Ausgang des Kameraelements 16 wird auf die Erfassungsbaugruppe längs eines Daten-Ausgangspfads 30 übertragen, um durch das Host-System 12 gespeichert und/oder verarbeitet zu werden.
- Fig. 2 ist ein schematisches Blockschaltbild mit weiteren Einzelheiten, welches folgende Teile zeigt: das Bildaufnahmeelement 16, die Erfassungsbaugruppe 14 und das Host- Computersystem 12 gemäß vorliegender Erfindung. Das dargestellte Host- Computersystem 12 umfaßt vorzugsweise die folgenden Teile: eine Busleitung 100, ein Display-Steuergerät 106, eine Speicher-Busleitung 110, ein Speichermodul 116, das einen aktuellen physikalischen Speicher repräsentiert, einen Host-Prozessor 120, einen Co- Prozessor 124 und einen virtuellen Speicherblock 128, der zur Veranschaulichung ausgewählte, ausführbare und dynamische Verknüpfungs-Bibliotheken und Code speichert, die als Codemodule 132-138 bezeichnet sind, und außerdem gewählte Speicher für die Bilddatenbereiche, die als Zieladressen 142-146 bezeichnet sind. Für den Fachmann auf dem Computer-Gebiet und dem Gebiet der Elektrotechnik ist es leicht verständlich, daß die Arbeitsbeziehung zwischen dem Speicher, sowohl dem physikalischen als auch dem virtuellen, und der Software auf dem Host-Computer-System 12 beruht.
- Die Busleitung 100 stellt vorzugsweise die Verbindung mit der Erfassungsbaugruppe 14 her und bildet eine Struktur, welche ein Abfließen von Bilddaten zwischen der Kamera 16 und dem Host-Computersystem 12 ermöglicht. Der Ausdruck "Busleitung" solle alle geeigneten Datenübertragungpfade umfassen, und die Busleitung hat vorzugsweise einen Datenübertragungskanal hoher Bandbreite, beispielsweise als eine PCI-Busleitung. Das Display-Steuergerät 106 steht vorzugsweise sowohl mit der Busleitung 100 als auch mit der Speicherbusleitung 110 in Verbindung, damit das Steuergerät 106 die erfaßten Bilddaten auf dem Display-Monitor 12A darstellen kann. Der Monitor kann beispielsweise ein VGA-Monitor sein, und auf die gespeicherten Instruktionen zugreifen. Der dargestellte Co-Prozessor 124 ist vorzugsweise sowohl mit der Busleitung 100 als auch mit der Speicher-Busleitung 110 verbunden, und dient dazu, die erfaßten Bilddaten zu richten. Die Benutzung dieses 10-Steuergeräts, das heißt des "Überbrückungs-Chips", vermindert die Notwendigkeit, den Host-Prozessor 120 bei der Verarbeitung der Bilddaten zu unterbrechen, und dadurch wird die Gesamtverarbeitungszeit vermindert, und die Verarbeitungsrate des Bilderfassungssystems 10 vergrößert.
- Das Bilderfassungssystem 10 kann gemäß einer Praxis auf außen aufgebrachte Triggersignale ansprechen, oder auf Signale, die innen durch einen gewählten Softwarecode erzeugt werden, der im Speicher 128 des Zentralsystems 12 gespeichert ist. Inbesondere können gewählte Bildmoden der Arbeitsweise schnell durch Einleitung einer Anfrage an das System 10 gewählt werden. Der Ausdruck "schnell" soll bedeuten, daß die Einleitung der Forderung in weniger als 32 ms, oder in etwa 32 ms, erfolgen kann, und vorzugsweise in einer Zeit von etwa 1 ms. Beispielsweise kann eine Forderung durch das Kamera-Interface-Ausführungsprogramm gemacht werden, das als cam.exe 132 bezeichnet wird, oder durch gewählte Kunden-Software (beispielsweise eine Bildanalyse oder ein Maschinensicht-Anwendungsprogramm), welches hierbei als client.exe 134 bezeichnet wird. Das ausführbare File benutzt demgemäß das Bildaquisitionssystem 10 als Quelle von Bilddaten.
- Die hierbei benutzte Terminologie ist geeignet für Systeme, die in Computern installiert sind, welche Microsoft's Windows 3.11 und DOS v. 6.x-Betriebssysteme benutzen. Bei Benutzung mit anderen Betriebssystemen, beispielsweise Windows NT oder VME- Systemen, ergibt sich eine ähnliche Terminologie. Die Struktur des Software-Codes, welche mit cam.exe, client.exe bezeichnet wird, und die dynamischen Verknüpfungs- Bibliotheken können leicht vom Computer-Fachmann nach Kenntnis der Beschreibung der Arbeitsweise des Bilderfassungssystems 10 hergestellt werden.
- Gemäß einer Praxis wird, wenn der Host-Computer das durchführbare Programm cam.exe 132 lädt oder booted, eine vorgewählte Bedingung im Host-Computer errichtet, die das Kamera-System benutzt, um Betriebsanfragen von irgendeinem Benutzer durch die Tastatur und der Maus des Computers abzufragen, oder aus einem autonomen Codeblock, beispielsweise eines Maschinensichtprogramms client.exe 134. Als Minimum wird das Programm, das einen Unterbrechercode aufweist (Unterbrechungs- Betriebsroutine) in den Speicher 128 des Host-Computersystems 12 geladen. Die Rolle des Unterbrechungscodes dient dazu, um schnell entweder cam.exe 132 oder client.exe 134 festzustellen, wonach ein Bildpuffer mit den Daten gefüllt wurde, die er angefordert hat, und bereit ist zur Betrachtung und/oder Verarbeitung durch die Kunden. Wenn das Programm cam.exe 132 direkt auf die Benutzeranfrage ansprechen soll, werden gewählte dynamische Verbindungs-Bibliotheken (DLL's) abgefragt. Diese DLL's, wie cam.dll, werden typischerweise benutzt, um augenblicklich zugängliche Listen von Funktionen und Resourcen zu speichern, oder virtuelle und physikalische Speicher für Bildpuffer zu benutzen, die in dem Host-Computersystem 12 angeordnet sind. Stattdessen wird, wenn das Programm client.exe 134 Abfragen für ein Bild direkt richtet, ein genügender Pufferraum im Speicher freigegeben, in dem direkte Anrufe für cam.dll 138 gemacht werden.
- Bei allen Operationsmoden stellt entweder cam.exe 132 oder client.exe 134 den Betriebsrahmen für das Bilderfassungssystem 10 dar, indem selektive Kamera setup Information geliefert wird, einschließlich dem speziellen Modus der Kamera-Arbeitsweise, dem speziellen Bereich der interessiert und den richtigen Belichtungszeiten und durch Schaffung der setup-Erfordernissen des Host-Speichers, einschließlich den Bildspeichern, um die Bilddaten für eine oder mehrere Kameras 16 zu empfangen, zu halten und zu verarbeiten. Diese Programme können demgemäß benutzt werden, um die Kamera- Instruktionen zu erzeugen, die im Kamera setup Speicher 48 gespeichert sind, und die reservierten physikalischen Adressen für die Bilddaten im Zieladressenspeicher 90, wie weiter oben beschrieben.
- Der Ausdruck "interessierender Bereich" soll einen Bereich oder einen Abschnitt eines erfaßten Bildes umfassen, der in einer oder mehreren räumlichen oder axialen Dimensionen kleiner ist, als das gesamte von der Bilderfassungsvorrichtung erfaßte Bild. Der interessierende Bereich ist vorzugsweise wählbar. Außerdem ist es für den Fachmann klar, daß das Programm mehrere und unterschiedliche interessierende Bereiche liefern kann, die in den Kamera setup Speicher 48 und den Zieladressenspeicher 90 geladen werden können, wie dies weiter unten im einzelnen beschrieben wird. Diese mehrfachen interessierenden Bereiche ermöglichen eine dynamische Erfassung eines Bildes und die Verarbeitung verschiedener Abschnitte des gesamten erfaßten Bildes. Zusätzlich ermöglichen diese mehrfachen interessierenden Bereiche eine Triggerung des Systems, um ein Bild aus einem interessierenden Bereich zu erfassen, basierend auf dem Inhalt, der sich in einem anderen interessierenden Bereich befindet.
- Gemäß einer bevorzugten Praxis kann der interessierende Bereich beschrieben werden, durch Angabe der Zeile und der Pixelzahl der oberen linken Ecke eines rechteckigen Bereichs in jenem Bild und durch eine ähnliche Information für die untere rechte Ecke des Bereichs. Die gefüllten Bildpuffer, die durch das Host-Verarbeitungssystem geschaffen wurden, können Bereiche eines benachbarten virtuellen Speichers sein, die reserviert und in physikalischen Bereichen gewählter und variabler Blockgröße aufgezeichnet sind, zum Beispiel als 512 Byte bis 4 K Byte-Blocks, und daß sie eine definierte physikalische Eingangsspeicheradresse besitzen, die als Speicherort 142-146 bezeichnet wird. Es ist für den Fachmann klar, daß Bildpuffer benachbart in einem virtuellen Speicherraum realisiert werden können durch nicht benachbarte Stellen eines physikalischen Speicherraums. Es ist durch die Lehren der vorliegenden Erfindung vorgegeben, daß nur innerhalb eines jeden physikalischen Blockes physikalische Adressen benachbart sind. Dies schafft die Möglichkeit einer asynchronen Vermischung von Daten in einem DMA-Kanal aus einer Vielzahl von Quellen, während mehrfacher Kamera-Erfassungen.
- Sämtliche vorstehenden Informationen werden der Kamera 16, der Erfassungsbaugruppe 14 und dem Host-Computersystem 12 in Form eines Anrufs übermittelt, und zwar in einer speziellen Sprache und kompatibel mit dem Bilderfassungssystem, nach einem gewählten Codemodul, beispielsweise cam.dll 138. Die gewählten Codemodule sprechen an, indem API-Anrufe oder ähnliche Anrufe in das Operationssystem des Host-Computersystems 12 eingegeben werden, um einen oder mehrere Bereiche benachbarter virtueller Speicher anzusprechen, im typischen Fall in Größen zwischen 1-300 K Byte and mehr. Jeder solche Bereich benachbarter virtueller Speicher wird in Untergruppen aufgeteilt, im typischen Fall in Blöcke von 1-4 K Byte, und dies kann eine Größe sein, die geeignet ist für das Verarbeitungssystem. Das Verarbeitungssystem wird dann nach der physikalischen Adresse des ersten Bytes in jedem dieser Untergruppen abgefragt. Die vorhergehenden physikalischen Adressen werden über API (application programming interface) oder ähnliche Anfragen dem Kamerazieladressenspeicher 90 eingegeben. In einer DOS/Windows/PCI-Umgebung liegt jede Untergruppe selbst benachbart in einem physikalischen Speicher. Das Programm cam.dll 138 überträgt diese Information in einen Speicher an Bord, der direkt die Kamera steuert und der, unter anderen Stellen, in einer Eingangs-/Ausgangs-Busleitung 102 (im typischen Fall einer PCl-Busleitung) angeordnet sein kann. Die anfänglichen Adressen des physikalischen Bild-Pufferspeicherblocks für jeden Bildpuffer werden dann an einer geeigneten Speicherstelle gespeichert, die als Kamerazieladressenspeicher 90 bezeichnet wird, Inzwischen sind Belichtungszeiten, Kameramoden und interessierende Bereiche ebenfalls in den Kamera setup Speicher 48 eingegeben.
- Die Bilddaten werden dem vorhergehenden Speicher übertragen, der zur Bildpufferung über direkte Speicheradressen (DMA) Übertragungen angeordnet ist, die im typischen Fall keine Verarbeitung durch den Host-Prozessor 120 erfordern. Demgemäß braucht der Host-Prozessor 120 nur nach Vollendung einer Bildübertragung unterbrochen zu werden. Für den Computerfachmann ist die Art des Codes klar, die benutzt werden kann, um die vorstehenden und nachfolgenden Wirkungen zu erreichen.
- Gleichzeitig mit der Übertragung nach dem physikalischen Host-Speicher können Bilddaten auch durch DMA Übertragung dem Display-Steuergerät 106 zugeführt werden.
- Eine Nachschlagtabelle (LUT) 96 wandelt die Pixel-Daten in Echtzeit in eine Form um, die geeignet ist, für das Host-Computersystem 12 und dessen Display-Steuergerät 106.
- Unter weiterer Bezugnahme auf Fig. 2 ist ersichtlich, daß die Erfassungsbaugruppe 14 ein äußeres Trigger-Interface 34 aufweist, das mehrere externe Triggereingänge 36 aufweist, um Signale zu empfangen, die durch verschiedene äußere Quellen, einschließlich dem Host-System 12, erzeugt werden. Nach Empfang eines geeigneten Signals über den Triggereingang 36, erzeugt das äußere Trigger-Interface 34 ein Trigger- Ausgangssignal 38, welches die Kamera-Schaltung 42 instruiert, welche Kamera oder welches Kamerafeld benutzt werden soll.
- Die dargestellte Kameraschaltung 42 besitzt mehrere Eingänge, zum Beispiel n Eingänge, und erzeugt ein Triggersignal oder mehrere Kamera-Triggersignale 44, die eine oder mehrere Kamera(s) 16 schalten, die durch das betreffende Eingangssignal ausgewählt wurde(n). Das Kamera-Triggersignal 44 umfaßt vorzugsweise die Wahl der Kamera setup Information, einschließlich, aber nicht beschränkend, auf die Startlinie und die Endlinie des interessierenden Bereichs (ROI), der Belichtungszeit des zu erfassenden Bildes und des Modus der Arbeitsweise. Der spezielle Modus der Arbeitsweise des veranschaulichten Systems 16 bestimmt die Arbeitsfolge und die Parameter der Kamera 16. Representative Moden der Arbeitsweise sind im einzelnen weiter unten beschrieben. Die Kamera setup Information wird im typischen Fall zwischen dem Host-Prozessor 120 und der Erfassungsbaugruppe 14 durch die PCI-Busleitung 100 mitgeteilt. Die Kamera-Schaltung 42 kommuniziert weiter mit gewählten Speicherblöcken, illustriert als Kamera setup Speicherblock 48 und benachbartem Register-Speicherblock 52, deren Funktionen im einzelnen weiter unten beschrieben werden.
- Der Host-Prozessor 120 startet das Bilderfassungssystem 10 durch Speicherung gewählter setup Information. Diese setup Information enthält den Modus der Kamera- Arbeitsweise, interessierende Bereiche innerhalb des Bildes und Belichtungszeiten. Der Host-Prozessor 120 liefert zusätzliche setup Erfordernisse für die Kamera 16. Diese umfassen Bildpuffer, die ein jeweiliger Kunde benutzt, um Bilddaten zu empfangen, zu halten und zu verarbeiten. Der Host-Prozessor kann einen speziellen interessierenden Bereich innerhalb des Bildes wählen, welches von der Kamera 16 aufgenommen wurde, indem die Zeilen-Nummer und die Pixel-Nummer der oberen linken Ecke des rechteckigen interessierenden Bereichs angegeben wird, und indem die gleiche Information betreffend die untere rechte Ecke des interessierenden Bereichs angegeben wird. Das Host- Computersystem definiert so gemäß einfachem Anrufen den interessierenden Bereich für ein gewähltes Vollbild. Dieser gewählte interessierende Bereich kann konstant bleiben oder er kann entweder nach jedem Vollbild oder nach einer gewählten Zahl von Vollbildern geändert werden.
- Nunmehr wird wiederum auf Fig. 2 Bezug genommen. Das Kamera-Triggersignal 44, welches von der Kameraschaltung 42 für eine spezielle Kamera 16 erzeugt wurde, wird in das programmierbare Bildsteuergerät 20 für jene Kamera 16 eingegeben. Das Kamera- Triggersignal 44 kann der Kamera jederzeit übertragen werden, und ohne die Notwendigkeit einer Zieladresse die bereits für das zu erfassende Bild festgelegt wurde. Wenn das Bild erfaßt wird, bevor eine Zieladresse verfügbar gemacht werden kann, dann können die Bilddaten einfach an einer Stelle oder an mehreren Stellen des Datenpfades warten, beispielsweise in einem Daten-FIFO 94, bis eine Zieladresse verfügbar wird, wie dies weiter unten beschrieben ist.
- Gemäß dem beschriebenen Ausführungsbeispiel wird das Kamera-Triggersignal 44 für eine bestimmte Kamera 16 durch die Kameraschaltung 42 gemäß den gespeicherten Instruktionen in dem Kamera setup Speicher 48 für jene Kamera erzeugt, und zwar gemäß dem Ausgangssignal 53 des benachbarten Registerspeichers 52. Insbesondere greift die Kameraschaltung 42 auf die Instruktionen zu, die im Kamera setup Speicher 48 für die gewählte Kamera 16 gespeichert sind, und verschiebt die entsprechenden Bits nach der Kamera. Das Kamera-Triggersignal 44 ist vorzugsweise ein Signal, welches enthält: w Bits, welche die Belichtungszeit angeben, x Bits, die die erste Zeile in dem interessierenden Bereich angeben, y Bits, die die Zahl der Zeilen in dem interessierenden Bereich angeben und z Bits, die den Kameramodus für diesen Vorgang angeben. Die Zahlen w, x, y und z hängen von der CCD-Schaltung 54 der Kamera 16 ab
- Das Kamera-Triggersignal 44 kann für jede Kamera-Erfassung unterschiedlich sein. Infolgedessen ist es möglich, die Inhalte des Kamera setup Speichers 48 an jedem Vollbild zu ändern. Dies ermöglicht es dem Maschinensichtsystem Belichtungszeit, den interessierenden Bereich oder Kameramodus zwischen den Vollbildern zu ändern. Weil die Bilderfassung unabhängig von der Bildübertragung stattfinden kann, hat eine Änderung im Inhalt des Kamera setup Speichers 48 keinen wesentlichen Einfluß auf die Arbeitsweise des Systems.
- Die Prozesse der Bilderfassung und der Speicherzuordnung für das Bild können parallel und im wesentlichen unabhängig voneinander durchgeführt werden. Dies ermöglicht es dem Systemspeicher-Manager Zieladressen zu erzeugen, wie es die Systemerfordernisse diktieren. Ein Vorteil hiervon besteht darin, daß die Möglichkeit geschaffen wird, daß das System ein Bild erfassen kann, schon kurz nachdem die Forderung nach einem Bild ausgegeben ist, und ohne die oft unvorhersehbare latente Zuordnung mit dem Warten auf eine Zieladresse, um verschiedene Bilderfassungsforderungen zu erfüllen. Auch fallen zeitaufwendige Bildverarbeitungsschritte, beispielsweise das Schreiben auf eine Disk weg, unabhängig von der Bilderfassung und -übertragung. Demgemäß kann die Bilderfassung eingeleitet werden, ohne Zuordnung einer Zieladresse, die schließlich im Speicher 90 gespeichert wird.
- Das programmierbare Bildsteuergerät 20 enthält vorzugsweise eine programmierbare Logikschaltung, beispielsweise eine programmierbare Feldlogik-Schaltung (FPLA) und einen Spannungswandler, um bestimmte Signale in eine Form umzuwandeln, die kompatibel ist mit den übrigen Kamerakomponenten. Für den Fachmann ist es klar, daß das FPLA ein ASIC-Chip ist, das so ausgebildet sein kann, daß es in einer Weise gemäße den Lehren der vorliegenden Erfindung wirkt.
- Das dargestellte programmierbare Bildsteuergerät 20 ist insofern programmierbar, als der Empfang eines unterschiedlichen Kamera-Triggersignals 44 zu jedem gewählten Zeitpunkt, das heißt nach Belichtung jedes Vollbildes oder nach einer gewählten Zahl von Vollbild-Belichtungen, ein anderes Bilderfassungsschema einleitet. Beispielsweise kann die Kamera 16 über das programmierbare Bildsteuergerät 20 instruiert werden, einen anderen interessierenden Bereich nach jedem Vollbild zu übertragen. Dies ergibt ein relativ einfaches Verfahren der dynamischen Steuerung des interessierenden Bereichs und der Belichtung, ohne daß komplexe Bilderfassungs- und -verarbeitungs-Schaltungen erforderlich wären. Außerdem erfolgt die Programmierung relativ schnell. Beispielsweise kann das programmierbare Bildsteuergerät 20 in weniger als etwa 12 us und vorzugsweise in weniger als 1 us eine neue Gruppe von Instruktionen der CCD-Schaltung 54 erzeugen.
- Gemäß einer bevorzugten Praxis stellt die Ankunft des letzten Bit in dem programmierbaren Bildsteuergerät 20 die Kamera 16 ein. Danach erzeugen die Kamera- Lademittel 42 ein Kamera-Triggersignal 21, welches dem Bildaufnahmeabschnitt der Kamera 16 übertragen wird, welche eine CCD-Schaltung 54, einen Bildprozessor 60 und einen Oszillator 58 örtlich in der Kamera aufweist. Der veranschaulichte Kamera-Oszillator 58 überträgt vorzugsweise ein Kamerazeitgebersignal 58B dem programmierbaren Bildsteuergerät 20 und der Erfassungsbaugruppe 14. Dieses Kamerazeitgebersignal 58B synchronisiert die Erfassungsbaugruppe 14 mit der Kamera 16 und mit dem Host- Computer-System 12. Für den Fachmann ist es klar, daß die Kameratriggersignale auch auf andere Weise geladen werden können.
- Nachdem das programmierbare Bildsteuergerät 20 das Kameratriggersignal 21 einmal empfangen hat, leitet die CCD-Schaltung 54 den Belichtungsprozeß gemäß den Lehren der vorliegenden Erfindung ein. Dieser Belichtungsprozeß dauert vorzugsweise über eine gewählte Belichtungsperiode, wie sie durch die gewählten Belichtungsbits definiert ist, die einen Teil des Kameratriggersignals 44 aufweisen, die von den Kameralademitteln 42 erzeugt werden.
- Das System 10 läuft mit Kernel-Level-Software, die auf das Vorhandensein des Kameratriggersignals 21 oder eines Triggersignals an dem äußeren Triggereingang 36 anspricht. Beim Empfang eines dieser Signale fordert die Kernel-Level-Software vom Host-Prozessor 120 die Systemzeit. Diese Forderung wird so eingestellt, daß sie eine genügend hohe Priorität besitzt, um eine vernachlässigbare Latenz im Ansprechen des Host-Prozessors 120 zu gewährleisten. Die Systemzeit wird dann verfügbar zur Zuordnung mit den Bilddaten, die gemäß dem Triggersignal erfaßt wurden.
- Das programmierbare Bildsteuergerät 20 empfängt ein Triggersignal 21 representativ für gewählte Bildaufnahmeparameter. Dieses Signal wird von der CCD-Schaltung 54 empfangen. Der Empfang dieses Triggersignals leitet eine Folge von Signalen zur Steuerung eines Festkörperbildes, beispielsweise eines CCD-Feldes ein. Der vom CCD- Feld benutzte Mechanismus zur Lieferung des Bilds beeinträchtigt die Arbeitsweise der Erfindung nicht. Gemäß dem bevorzugten Ausführungsbeispiel ist die dargestellte CCD- Schaltung 54 eine Zeilen-Übertragungs-CCD, die einen CCD-Sensor mit einer Zahl von Sensorpunkten aufweist, die einer gewählten Zahl von Pixelstellungen entsprechen, und es ist ein progressives Abtast-Chip vorgesehen, welches die Verschiebung der erfaßten optischen Daten in eine vertikale Reihe der Register bewirkt. Wenn beispielsweise die Kamera eine Auflösung von 640 · 480 besitzt, dann existiert ein Sensorfeld von 640 Spalten und 480 Zeilen von Sensorelementen, das heißt jeweils ein Sensorelement hinter jedem Pixel. Für den Fachmann ist es verständlich, daß das CCD-Feld als Lichtintegrator über die Zeit wirkt, und daher ist eine ins einzelne gehende Beschreibung entbehrlich.
- Gemäß Fig. 3A sammelt bei einem Zeilenübertragungs-CCD jedes Photoelement 70 eine Ladung entsprechend jenem Teil des Bildes, auf welchem es belichtet ist. Nach Ablauf der Belichtungszeit und gemäß dem Bildsteuergerät 20 überträgt jedes Photoelement 70 die gespeicherte Ladung an ein Schattenregister 80a in einer vertikalen Spalte des Registers 80, das den Spalten der Photoelemente zugeordnet ist. Die Übertragung erfolgt gleichzeitig für alle Photoelemente der Spalte. Obgleich Fig. 3A nur zwei Zeilen von Photoelementen und zwei vertikale Registerfelder zeigt, ist es für den Fachmann klar, daß bei einer Auflösung von 640 · 480 640 vertikale Register bestehen.
- Gemäß Fig. 3B sammelt in einem Bildübertragungs-CCD jedes Photoelement 70a eine Ladung entsprechend jenem Teil des Bildes, wo die Belichtung stattfindet. Nach Ablauf der Belichtungszeit und gemäß dem Bildsteuergerät 20 überträgt jedes Photoelement 70a die gespeicherte Ladung an ein benachbartes Photoelement 70b. Das Photoelement am Rand des CCD-Felds 70 g überträgt seine Ladung an das oberste Register 80a in der vertikalen Spalte des Registers 80. Diese Prozedur wiederholt sich, bis die Inhalte der obersten Photoelemente 70a in einer Spalte von Photoelementen 70 in das oberste Register 80a in dem vertikalen Registerfeld 80 verschoben sind.
- Es ist ersichtlich, daß das Gesamtergebnis sowohl bei dem Bildübertragungs-CCD gemäß Fig. 3B und dem Zeilenübertragungs-CCD gemäß Fig. 3A identisch ist, nämlich ein vertikales Feld von Registern 80, in denen jedes Register eine Ladung entsprechend der Ladung enthält, die das entsprechende Photoelement lieferte.
- Die CCD-Schaltung 54 kann weiter ein horizontales Feld von Registern 82 aufweisen, das so viele Register besitzt, wie vertikale Spalten im Register vorhanden sind. Demgemäß würde bei einer 640 · 480 Auflösung bei dem obigen Ausführungsbeispiel das horizontale Registerfeld 82 640 Register aufweisen. Die Register umfassen ein horizontales Feld von Registern, das vorzugsweise mit der dargestellten Substratoberfläche 84 in Verbindung steht. Obgleich nur ein horizontales Registerfeld in der Zeichnung dargestellt ist, wird es für den Fachmann klar, daß eine Anzahl horizontaler Registerfelder benutzt werden kann.
- Es wird weiterhin auf die Fig. 3A und 3B Bezug genommen. Wenn einmal das Bild von der Kamera erfaßt worden ist, und die jenem Bild zugeordnete Ladung in das vertikale Registerfeld übertragen ist, dann beginnt das programmierbare Bildsteuergerät 20 die in den vertikalen Registerfeldern 80 gespeicherten Bilddaten in das horizontale Registerfeld 82 zu verschieben. Bei einem 640 · 480 Bild wird das horizontale Registerfeld horizontal 640-mal verschoben, bevor die Bildübertragung vollendet ist.
- Bei einem herkömmlichen Maschinensichtsystem, welches ein m · n Bild erfaßt, kann am Ende einer jeden m-Verschiebung das System 10 nicht entscheiden, ob die gegenwärtige Registerzeile einer Zeile des Bildes innerhalb des interessierenden Bereichs entspricht. Infolgedessen wird der gesamte Inhalt aller Register auf die Erfassungsbaugruppe zur weiteren Verarbeitung übertragen, unabhängig davon, ob der Inhalt der Register einer Zeile über oder unter dem interessierenden Bereich entspricht oder nicht. Im typischen Fall dauert dies 50-mal bis 100-mal länger, den Inhalt der n-Register auszuscheiden, als es erforderlich ist, um eine Reihe von den n-Vertikal-Registerfeldern in das n-Register im horizontalen Registerfeld zu übertragen. Infolgedessen ist bei herkömmlichen Systemen die Geschwindigkeit, mit der ein Bild übertragen werden kann, begrenzt durch die Geschwindigkeit, mit der das horizontale Registerfeld betätigt werden kann. Aus diesem Grund können herkömmliche Systeme nicht mit einer Geschwindigkeit arbeiten, mit der viele Zeilen eines Bildes in das horizontale Registerfeld übertragen werden.
- Bei dem erfindungsgemäßen System 10 kann das System am Ende jeder m-Verschiebung entscheiden, ob der Inhalt der n-Register einer Zeile des Bildes innerhalb des interessierenden Bereichs entspricht. Wenn dies der Fall ist, wird der Inhalt der n-Register auf die Erfassungsbaugruppe zur weiteren Verarbeitung übertragen, als wäre es das konventionelle System. Wenn der Inhalt der n-Register jedoch nicht einer Zeile des Bildes im interessierenden Bereich entspricht, dann werden die n-Register schnell durch die nächste Zeile des n-Registers von den vertikalen n-Spalten des Registers überschrieben. Jede überschüssige Ladung wird einfach in das Substrat 84 damit abgegeben, wie oben erwähnt, und die Register befinden sich in Kommunikation oder werden in einer Verschiebung über das horizontale Register entfernt. Als Ergebnis muß das horizontale Registerfeld nur den langsamen Prozeß der Übertragung von Daten nach der Erfassungsbaugruppe durchführen, wenn eine Zeile aus dem interessierenden Bereich tatsächlich in es geladen wurde. Auf diese Weise ist die vorliegende Erfindung in der Lage, die Geschwindigkeit zu erhöhen, mit der die Ladung aus dem vertikalen Registerfeld in das horizontale Registerfeld übertragen werden kann.
- Das vertikale Registerfeld 80 wird verschoben, bis die Informationszeile, die unmittelbar vor der ersten Zeile des interessierenden Bereichs liegt, welcher durch die Steuerbits von der Kameraschaltung 42 erzeugt wird, im horizontalen Register 82 liegt. Die nächste Zeile wird dann vertikal nach unten und dann horizontal aus dem horizontalen Register getaktet, um sämtliche Ladungen daraus zu entfernen.
- Das Kamera-Triggersignal 44 enthält auch die Endzeile des interessierenden Bereichs. Demgemäß werden die Bilddaten, die jeder Zeile des interessierenden Bereichs zugeordnet sind, in das horizontale Register 82 getastet und dann ausgelesen. Die Information wird dann dem Bildprozessor 60 übertragen, wie durch das CCD- Ausgangssignal 59 gekennzeichnet ist, wie dies in Fig. 2 dargestellt ist. Der Bildprozessor 60 konditioniert das CCD-Feld-Ausgangssignal 59 bevor die Übertragung nach der Erfassungsbaugruppe 14 erfolgt. Der Bildprozessor 60 ist in genügender Weise charakterisiert und aus dem Stand der Technik bekannt und braucht deshalb nicht im einzelnen beschrieben zu werden.
- Die übrigen Bilddaten, falls solche vorhanden sind, die jenem Abschnitt des Bildes außerhalb des interessierenden Bereichs zugeordnet sind, werden dann aus dem horizontalen und vertikalen Feld der Register 80,82 ausgegeben und abgelegt. Dies geschieht durch schnelle Verschiebung der Daten aus dem Feld der vertikalen Register 80 in das Feld der horizontalen Register 82.
- Abgesehen von dem Verfahren der schnellen vertikalen Verschiebung durch Zeilen außerhalb des interessierenden Bereichs, erfolgt eine weitere Beschleunigung durch Behandlung der vertikalen Auflösung für eine Geschwindigkeit innerhalb des interessierenden Bereichs. Das Modenwort z, wie oben erwähnt, umfaßt eine Zahl benachbarter Zeilen, die zu kombinieren sind, bevor die horizontalen Register während der Übertragung der Daten innerhalb des interessierenden Bereichs ausgelesen sind. Durch dieses Verfahren werden zwei oder mehrere vertikal benachbarte Pixel im horizontalen Register zusammengefaßt und als ein Datenwert ausgelesen.
- Die Fig. 4 und 5 veranschaulichen weitere Einzelheiten des programmierbaren Bildsteuergeräts 20 und der Kamera 16 gemäß der vorliegenden Erfindung. Wie dargestellt, wird das Kamera-Triggersignal 44, welches repräsentativ ist für die Steuerinformation der Kamera, nach dem programmierbaren Bildsteuergerät 20 übertragen, und zwar zusammen mit irgendeinem FIFO-Statussignal 79, wie weiter unten beschrieben, und das Kamerazeitgebersignal 58B des Kameraoszillators 58. Darauf erzeugt der programmierbare Generator 20 eine Anzahl von Ausgangsimpulsen, zum Beispiel SD, V1, V2, V3, XFR, H1, H2, RG, Sh1, Sh2 CIpDm, IPOp, CB und Cs, sowie ein Ausgangssignal das nach dem Bildprozessor 60 übertragen wird. Die veranschaulichten Ausgangssignale kommunizieren mit einem Bildprozessor 60, einem CCD- Leistungsregulator 152, einem Vertikaltreiber 156 und einem CCD-Sensorfeld 160. Der CCD-Leistungsregulator 152 wandelt das Eingangssignal 152B in ein Gleichstrom- Ausgangssignal 152A um, das mit dem CCD-Sensorfeld 160 und mit dem vertikalen Treiber 156 kommuniziert. Um die Daten-Integrität aufrechtzuerhalten, wird die Ladung, die durch den CCD-Leistungsregulator 152 gepumpt wird, mit dem CCD-Sensorfeld 160 synchronisiert, so daß die schaltbaren Übergänge, die der Gleichstrom- Ausgangsspannung zugeordnet sind, nicht die Übertragung, die Speicherung oder die Verarbeitung der analogen Bilddaten stören.
- Die Ausgangssignale V1-V3 veranlassen den vertikalen Treiber 156 die Vertikalverschiebung des vertikalen Feldes des Registers 80 zu steuern. Das Signal SD leitet die Entfernung der Ladung aus dem Sensorfeld ein, wie dies weiter unten im einzelnen beschrieben wird. Die Ausgangssignale H1 und H2 treiben das horizontale Registerfeld 82 im Betrieb.
- Die Arbeitsweise und Benutzung des dargestellten Bildprozessors 60, des DDC- Leistungsregulators 152, des vertikalen Treibers 156 und des CCD-Sensorfelds ist für den Fachmann klar.
- Gemäß Fig. 5 kann das programmierbare Bildsteuergerät 20 gemäß vorliegender Erfindung charakterisiert werden, durch eine dargestellte Statusmaschine 166, die mit einer Anzahl von in Reihe geschalteten Registern 168-174 verbunden ist, welche die Kamera-Triggersignale 44, die von der Kameraschaltung 42 erzeugt sind, laden. Das programmierbare Bildsteuergerät 20 weist auch einen Rückschalte-Zähler 176 und einen "shot finished" Zähler 178, einen vertikalen Steuergenerator 180, einen horizontalen Steuergenerator 182 und einen CCD-Bildprozessor-Signalgenerator 186 auf.
- Fig. 7 zeigt ein Flußschaltbild-Schema der Statusmaschine und der zugeordneten Schaltung des programmierbaren Bildsteuergeräts 20, gemäß vorliegender Erfindung. Im Betrieb wartet der dargestellte Zeitgebergenerator 20 auf den Empfang des nächsten Kommunikationspakets, wie dies im Schritt 188 dargestellt ist. Gemäß dem Schritt 190 wird der Kommunikations-Vollendungs-Zähler 176 überprüft, um zu sehen, ob er auf Null steht. Wenn dies nicht der Fall ist, setzt der Zeitgebergenerator 20 den Empfang der Steuerdaten fort. Wenn der Zähler 176 auf Null steht, dann werden die geeigneten Zähler mit der Kamera-Steuerinformation 44 geladen, die durch die Instruktions-Bits x, y, z und w gekennzeichnet sind, wie dies in Fig. 5 dargestellt ist. Die Statusmaschine 166 erzeugt dann ein SIEN-Ausgangssignal 181A, das von dem Vertikal-Steuergenerator 180 gemäß dem Schritt 194 empfangen wird. Im Schritt 196 empfängt der Belichtungszähler 172 das Vertikal-Verschiebungs-Intervall-Takt-Signal und gemäß dem Schritt 198 überprüft das System, um festzustellen, ob der Belichtungszähler 172 auf Null steht. Wenn dies der Fall ist, dann wird der Belichtungszähler 172 geleert, das heißt er wird auf Null gesetzt, wie dies im Schritt 200 dargestellt ist. Die Statusmaschine 166 triggert dann das über 181B geführte Signal und empfängt durch den Vertikal-Steuergenerator zwischen logisch 1 und logisch 0, wie durch die Schritte 202 und 204 dargestellt ist. Danach erzeugt die Statusmaschine 166 ein logisch 1 entlang 181A, wie durch den Schritt 206 dargestellt.
- Gemäß dem Schritt 208 empfängt der Taktzähler 178 ein Vertikal-Verschiebesignal. Gemäß dem Schritt 210 erzeugt die Statusmaschine 166 logisch 1 Signale über die Pfade 181C und 181D.
- Gemäß dem Schritt 212 wird der ROI (region of interest) Zeilenzähler 170 des interssierenden Bereichs vertikal verschoben, bis dieser Zähler Null wird, wie dies durch die Schritte 214 und 216 angegeben ist. Zu dieser Zeit setzt die Statusmaschine 166 die Geschwindigkeit des vertikalen Taktgebers auf logisch 0, und zwar über den Pfad 181D. Dies wird von dem vertikalen Steuergenerator 180 (Schritt 218) empfangen. Der letzte ROI-Zeilenzähler 168 wird in gleicher Weise vertikal verschoben, bis der Zähler 0 errreicht, wie dies in den Schritten 220 und 222 angegeben ist. Die Statusmaschine 166 erzeugt dann ein logisch 1 Signal über den Pfad 181D. Das dargestellte System überprüft dann, um festzustellen, ob der Zähler 178 auf Null steht. Wenn dies der Fall ist, erzeugt das System Werte von logisch 0 über die Pfade 181C und 181D, wie dies durch die Schritte 228 und 230 angegeben ist. Das programmierbare Bildsteuergerät 20 lädt dann wiederum den Zähler gemäß dem Schritt 232. Der Fachmann wird dabei feststellen, daß das Blockschaltbild des programmierbaren Bildsteuergeräts 20 in Verbindung mit dem Flußdiagramm die Arbeitsweise der vertikalen und horizontalen Taktgebung in den Registern des CCD-Sensorfelds veranschaulicht, wobei auch die Ladung von den Photozellen des CCD-Felds entfernt wird.
- Fig. 6 zeigt in Tabellenform den Status der gewählten Gatter des programmierbaren Bildsteuergeräts, während der Bilderfassung und -übertragung. Während der Bilderfassung wirken die Signale SIEN und XFREN zusammen, um eine Bildbelichtung zu bewirken. SIEN fällt auf logisch 0, um die Kamera zur Belichtung vorzubereiten. SIEN triggert die Belichtung nicht. Die Belichtung beginnt, wenn XFREN von logisch 0 auf logisch 1 übergeht und endet, wenn XFREN in den Zustand logisch 0 zurückkehrt. Bei Beendigung der Belichtung geht SIEN auf logisch 1 zurück, wodurch die Kamera abgeschaltet wird.
- Während der Bildübertragung geht VCKEN auf logisch 1, um die Übertragung von Daten von der Kamera nach dem Erfassungsgerät einzuleiten. Für Zeilen von Bilddaten, die einen Teil des interessierenden Bereichs bilden, wechselt die Übertragung ab, zwischen einer schnellen Verschiebestufe, während der Bilddaten jeweils einer Zeile von dem vertikalen Registerfeld nach dem horizontalen Registerfeld verschoben werden, und einer Auslesestufe, während der die Zeile der Bilddaten aus dem horizontalen Feld verschoben wird. VCKEN bleibt auf logisch 1 während dieser beiden Schritte stehen.
- Die Umschaltung zwischen der schnellen Verschiebestufe und der langsameren Auslesestufe wird durch die Signale VCKSP und HCKEN gesteuert. Während der schnellen Verschiebestufe wird VCKSP auf logisch 1 gesetzt. VCKSP fällt auf logisch 0, um den Ausleseschritt einzuleiten. VCKSP leitet nicht wirklich den Ausleseschritt ein. Das Auslesen beginnt, wenn HCKEN auf logisch 0 fällt, und endet, wenn HCKEN auf logisch 1 zurückkehrt.
- Wie oben erwähnt, kann der Prozeß der Anweisung an den Speicher um ein erfaßtes Bild zu speichern, unabhängig von der Bilderfassung und zugleich mit dieser erfolgen. Das Anweisungsverfahren für den Speicher wird als "hardware scatter/gather" bezeichnet, und benutzt ein Modem-Betriebssystem, um eine dynamische Speicheranweisung durchzuführen.
- In "hardware scatter/gather-Systemen" weist der Speicher-Manager des Systems auf Anfrage der Software den Speicher an, das Bild zu speichern. Nachdem der Speicher nicht länger zur Bildspeicherung benötigt wird, kann der Speicher-Manager den angewiesenen Speicher auf einen gemeinsamen Speicher-Pool zurückführen, zur Benutzung für folgende Computer-Aufgaben. Auf diese Weise kann das System jeweils eine andere Speicheradresse anweisen, und es wird nur der jeweils notwendige Speicherplatz benutzt. Da die Speicheranweisung gleichzeitig mit der Bilderfassung stattfinden kann, wird das Gesamtsystem verbessert, und die Erfassung eines Bildes kann mit einer minimalen Latenz getriggert werden.
- Dynamische Speicher-Anweisungs-Algorithmen sind in zahlreichen modernen Betriebssystemen verfügbar. Die Benutzung derartiger dynamischer Speicheranweisungen liegt demgemäß innerhalb eine fachkundigen Wissens.
- Gemäß Fig. 2, 8A und 8B und gemäß einem fakultativen Merkmal der Erfindung wird das Bildprozessor-Ausgangssignal 61 einem Pixel-Empfindlichkeits-Korrektur-Modul 62 zugeführt, das den Ausgang entsprechend jedem Photoelement 70 mit einem vorbestimmten Pixel-Empfindlichkeits-Faktor multipliziert. Dieser Pixel-Empfindlichkeits- Faktor kann im Hinblick auf unterschiedliche Ansprechcharakteristiken eines jeden Photoelements 70 oder im Hinblick auf Fehler kompensiert werden, die durch die Umöglichkeit eingeführt werden, die Szenenbeleuchtung präzise einzustellen. Außerdem kann die Multiplikation des Ausgangs entsprechend jedem Photoelement 70 durch seinen entsprechenden Pixel-Empfindlichkeits-Faktor zu einer räumlichen Filterung des erfaßten Bildes führen. Auf diese Weise kann das Pixel-Empfindlichkeits-Korrektur-Modul 62 einen vorausgehenden Bildverarbeitungsschritt in Echtzeit durchführen, ohne den Host- Prozessor 120 zu unterbrechen. Da die vorhergehende Bildverarbeitungsstufe durch das Pixel-Empfindlichkeits-Korrektur-Modul 62 durchgeführt wurde, hätte sie sonst durch die Host-Prozessor 120 durchgeführt werden müssen, wobei das Vorhandensein des Pixel- Empfindlichkeits-Korrektur-Moduls 62 Gesamtverarbeitungszeit einspart und dadurch den Durchsatz des Systems erhöht.
- Gemäß Fig. 8A weist das Pixel-Empfindlichkeits-Korrektur-Modul 62 einen Speicher auf, der eine Pixel-Empfindlichkeits-Faktor-Speichertabelle 63 speichert, die die Pixel- Empfindlichkeits-Faktoren und einen Multiplikator 64 enthält. Außerdem kann das Pixel- Empfindlichkeits-Korrektur-Modul 62 einen Zähler 65 aufweisen, der über eine Anzahl von Pixeln im interessierenden Bereich läuft.
- Gemäß dem dargestellten Ausführungsbeispiel ist das Pixel-Empfindlichkeits-Korrektur- Modul 62 an die Analogseite eines Analog/Digital-Wandlers 74 angeschlossen. Jedoch kann das Pixel-Empfindlichkeits-Korrektur-Modul 62 auch mit der digitalen Seite des Analog/Digital-Wandlers 74 verbunden sein, wie dies in Fig. 8B dargestellt ist.
- Der Ausgang des Pixel-Empfindlichkeits-Korrektur-Moduls ist mit dem Analog-Eingang des Analog/Digital-Wandlers 74 verbunden, der das analoge Ausgangssignal der Kamera in ein digitales Signal überträgt. Die Konstruktion derartiger Wandler ist bekannt und geeignete Wandler sind kommerziell verfügbar. Gemäß einem Ausführungsbeispiel der Erfindung kann der A/D-Wandler 74 ein Bauteil der Kamera 16 sein. In einem solchen Fall würde das Pixel-Empfindlichkeits-Korrektur-Modul mit der digitalen Seite des A/D- Wandlers 74 zu verbinden sein, wie dies in Fig. 8B dargestellt ist.
- Im Betrieb nimmt das Pixel-Empfindlichkeits-Korrektur-Modul 62 Daten entweder vom Bildprozessor 60, wie in Fig. 8A dargestellt, oder von der digitalen Seite des A/D- Wandlers 74 auf, wie dies in Fig. 8B dargestellt ist. (n beiden Fällen benutzt das Pixel- Empfindlichkeits-Korrektur-Modul den Zähler 65, um zu bestimmen, welcher Eintrag von der Pixel-Empfindlichkeits-Faktor-Speicher-Tabelle 63 dem gegenwärtigen Pixel am Eingang des Pixel-Empfindlichkeits-Korrektur-Moduls 62 entspricht. Der entsprechende Eintrag von dieser Speichertabelle wird dann dem Multipliziergerät 64 verfügbar gemacht, das diesen Wert mit dem Wert des Pixels multipliziert, das gegenwärtig am Eingang des Pixel-Empfindlichkeits-Korrektur-Moduls 62 liegt. Das Produkt wird dann vom Multiplikator 64 nach dem analogen Eingang des A/D-Wandlers 74 übertragen, wie dies in Fig. 8A und in Fig. 2 dargestellt ist, oder nach dem Daten-FIFO 78, wie dies in Fig. 8B dargestellt ist. In den meisten Fällen liegt eine Addierstufe vor dem Multiplikator 64. Diese Addierstufe modifiziert den Pixelwert durch eine einheitliche versetzte Korrektur, die parallel zu dem Empfindlichkeits-Korrektur-Faktoren gespeichert ist.
- Jeder Kamera 16 im dargestellten System 10 ist ein Daten-FIFO 78 zugeordnet, in dem Bilddaten gesammelt werden, wenn diese von der Kamera 16 ankommen. Dieses Daten- FIFO 78 wird periodisch geleert, durch Übertragung der angesammelten Daten, die auf dem Speicherplatz gespeichert sind, der der Kamera 16 zugeordnet ist. Die physikalische Startadresse und ihr Ausmaß werden im Zieladressenspeicher 90 abgelegt. Das Daten- FIFO 78 wird allgemein dann geleert, wenn die Menge der angesammelten Daten einen gewissen Daten-FIFO-Schwellwert erreicht. Das Daten-FIFO 78 kann von den gesammelten Daten immer geleert werden, unabhängig von den Zeiten, zu denen die Daten am Daten-FIFO ankommen. Aus diesem Grund macht das Daten-FIFO die asynchrone Übertragung von Daten zwischen der Kamera 16 und dem Host- Computersystem 12 möglich. Der hier benutzte Ausdruck "Daten-FIFO" soll angrenzende und nicht angrenzende Speicher und Register, einschließlich FIFO und andere Speichertypen, umfassen. Der Speicher und das Register können Teil des Speichers der Host-Einrichtung sein, oder sie können in einem SRAM, DRAM, FLASH oder einer Fernsteuerung untergebracht sein, oder in einem anderen Speicher, der einer elektrischen Schaltung zugeordnet ist, die in Verbindung mit der Kamera 16 und dem erfindungsgemäßen Host-Computersystem 12 benutzt wird.
- Dies geschieht, wenn die Erfassungsbaugruppe 14 eine DMA (Direkt-Speicher-Adressen)- Übertragung der Daten nach den Adressenplätzen durchführt, die von dem Kamera- Zieladressenspeicher 90 definiert sind. Der Kamera-Zielspeicher 90 ist vorzugweise mit einer geeigneten Adressendefinition durch den Host-Prozessor 120 des Host- Computersystems 12 vorhergeladen. Die Wahl des Daten-FIFO-Schwellwerts ist wichtig für das wirksame und wirtschaftliche Arbeiten des Systems. Wenn der Daten-FIFO- Schwellwert so gewählt wird, daß er zu hoch ist, wird es notwendig, Daten-FIFO's zu benutzen, die eine genügende Kapazität zur Speicherung der Daten besitzen. Derartige Daten-FIFO's mit so hoher Speicherkapazität können unzulässig teuer sein. Wenn andererseits der Daten-FIFO-Schwellwert zu niedrig ist, dann muß das System 10 zu häufig auf jedes FIFO zugreifen, und es wird nur ein geringer Teil der Daten hiervon wiedergewonnen. Dies stellt eine unzweckmäßige Benutzung der System-Resourcen dar.
- Bei dem dargestellten Ausführungsbeispiel kann die von der Kamera 16 durchgeführte Bilderfassung zweckmäßigerweise zwischen dem Ende einer Zeile des Bilds und der beginnenden nächsten Zeile unterbrochen werden. Demgemäß ist ein zweckmäßiger Daten-FIFO-Schwellwert eine einzige Zeile des Bilds. Die Erfindung ist jedoch nicht beschränkt auf die Benutzung einer einzelnen Zeile des Bilds als Daten-FIFO-Schwellwert.
- Die Übertragung von Bilddaten vom Daten-FIFO 78 nach dem Host-Speicher 116 schreitet fort, bis die letzte Zeile von Daten entsprechend dem gewählten interessierenden Bereich übertragen ist. Die gesammelten Daten, die vom Daten-Speicher FIFO 78 über die Busleitung 86 erlangt wurden, werden nach der PCI-Busleitung 100 über das Bus- Interface 102 übertragen und dann über den 10-Manager nach dem Host-Speicher, wodurch beträchtlich die Zahl jener Zeiten vermindert wird, wo der Host-Prozessor 120 unterbrochen wird. Dies erhöht die Arbeitsgeschwindigkeit und die Wirksamkeit des Gesamtsystems 10. Der Co-Prozessor 124 kommuniziert auch mit der Memory-Busleitung 110. Bekannte Systeme benutzen den Host-Prozessor 120, um jede Datenübertragung durchzuführen, was erfordert, daß der Prozessor bei jeder Datenübertragung unterbrochen wird. Die vorliegende Erfindung vermeidet diesen Nachteil durch Benutzung eines DMA, um relativ große Blöcke von Bilddaten zu übertragen und dadurch wird beträchtlich die Zahl der Host-Prozessor-Unterbrechungen vermindert. Gemäß einer bevorzugten Praxis wird der 10 Manager 120 während der Erfassung des interessierenden Bereichs unterbrochen. Die in dem Host-Computersystem gespeicherte Software, das heißt cam.dll, berechnet die Zahl von Pixeln, die aus dem interessierenden Bereich empfangen wurden und überträgt die Trigger-Schwellwert-Parameter an den benachbarten Rechner 88. Die dem Rechner 88 übertragenen Parameter definieren vorzugsweise eine Summierungsstatistik für einen Teil des interessierenden Bereichs, dessen Werte überwacht werden, um zu bestimmen, wann der Gegenstand, dessen Bild eingefangen werden soll, im Kamerasichtfeld befindlich ist. Der Pixelwert, der in dem Näherungsrechner 88 vorhanden ist, wird dann mit einem vorbestimmten Wert verglichen, der in dem Näherungsregisterspeicher 52 gespeichert ist. Wenn dieser Wert erreicht ist, erzeugt der Näherungsrechner 88 ein Näherungs-Berechnungs-Ausgangssignal 88A, das der Kameraschaltung 42 übertragen wird. Gemäß dem Kamerasignal wird eine weitere Gruppe von Instruktionen erzeugt, die an das programmierbare Bildsteuergerät 20 übertragen werden.
- Ein erheblicher Vorteil des erfindungsgemäßen Bilderfassungssystems 10 besteht darin, daß dieses unvorhergesehene Verzögerungen bei der Übertragung von Bilddaten aus der Kamera 16 über die Erfassungsbaugruppe 14 nach dem Speicher 128 des Host- Computers kompensiert. Dies wird durch die Echtzeit-Unterbrechung für eine gewählte Zeitdauer der Datenübertragung durch jede Kamera erreicht, bevor ein Überfließen der Datenpfade erfolgt. Alle Daten, die bereits von der Kamera 16 erfaßt, aber noch nicht nach der Erfassungsbaugruppe 14 übertragen sind, werden in dem Kamera-eigenen Speicher, das heißt in dem vertikalen Registerfeld 80 während der Dauer der Unterbrechungsperiode gespeichert. Dies schafft ein kostengünstiges Verfahren zur Speicherung der noch nicht übertragenen Teile des Bildes.
- Die Datenübertragung aus der Kamera 16 kann so oft als nötig unterbrochen werden. Außerdem kann die Unterbrechung nicht nur zwischen den Vollbildern, sondern am Schluß der Übertragung jeder vorgewählten Untergruppe des Rahmens erfolgen. Beispielsweise kann gemäß einer Praxis die Unterbrechung zwischen dem Ende einer Zeile und dem Beginn der nächsten Zeile erfolgen. Dies ist vorteilhaft, da der Datenverkehr am Host-Computersystem 12 eine unvorhergesehene Funktion aller Aktivitäten im System ist, von denen viele oft nicht auf die Bilddaten-Übertragung bezogen sind. Systeme, die kein betriebssicheres Verfahren zur Datenverkehrsverarbeitung haben, können möglicherweise die durch das Maschinensichtsystem erforderliche hohe Genauigkeit der Datenübertragung nicht mit Sicherheit durchführen. Beispielsweise lassen bekannte Systeme zufällig Zeilen oder sogar ganze Abschnitte eines Vollbildes von Bilddaten fallen. Bei Maschinensicht-Anwendungen kann der Verlust von Bilddaten zu einem fehlerhaften Betrieb des gesamten Systems führen.
- Unter weiterer Bezugnahme auf Fig. 2 ist ersichtlich, daß während die Erfassungsbaugruppe 14 diese DMA-Datenübertragung durchführt, zusätzliche Bilddaten kontinuierlich in das Daten-FIFO 78 eingelesen werden können. Diese Daten werden zusammengebündelt und dem nächsten Adressenort übertragen, wenn nicht der übrige Verkehr auf der I/O-Busleitung 100 des Host-Computers diese Übertragung dann verzögert, wenn jener Busleitungsverkehr die Übertragung lange genug verhindert, um mehr als eine zufällige große Fraktion des Daten-FIFQ zu füllen. Dann wird ein Daten- FIFO-Status-Bit 79 ausgegeben und an die Kamera 16 übertragen. Wenn das Daten- FIFO-Status-Bit 79 durch das programmierbare Bildsteuergerät 20 empfangen wird, dann unterbricht das programmierbare Bildsteuergerät 20 die Datenübertragung, indem die nächste vertikale Verschiebung von Daten in das vertikale Registerfeld 80 unterbrochen wird, und fakultativ durch Unterbrechung der Auslesung von Bilddaten aus dem horizontalen Registerfeld 82. Diese Unterbrechung ist vorteilhaft, da hierdurch gewährleistet wird, daß keine Menge erfaßter optischer Daten verlorengeht, das heißt etwa eine abgefallene Zeile oder ein Vollbild, als Folge des Datenverkehrs im Host- Computersystem. Das Daten-FIFO-Status-Bit 79 liefert eine Rückführungsschleife zwischen der Erfassungsbaugruppe 14 und dem programmierbaren Bildsteuergerät 20, um ein Datenüberfließen festzustellen. Gemäß dieser Unterbrechung hält die Kamera 16 die Daten innerhalb des vertikalen CCD-Registers 80 solange als notwendig für das Host- Computersystem 12 zurück, um eine annehmbare DMA-Übertragung zu gewährleisten. Dieses Rückführungsverfahren führt zu einem sehr betriebssicheren und kostengünstigen Bilderfassungssystem, bei dem die Erfassungs-Hardware selbst benutzt wird, um zeitweise die erfaßten Bilddaten zu speichern. Außerdem wird durch dieses Merkmal der Unterbrechung und die zugeordnete Rückführungsschleife die Integrität der erfaßten Daten durch die Erfindung aufrechterhalten, und es wird ein Verlust oder eine Veränderung der Daten in Folge unvorhergesehener latenter Perioden bei der Durchführung der DMA-Übertragungen im wesentlichen vermieden.
- Eine Unterbrechung nach vollständiger Übertragung wird über dem Host-Computer dem Kunden mitgeteilt, wenn das programmierbare Bildsteuergerät 20 signalisiert, daß sämtliche Pixel aus dem interessierenden Bereich die Kamera 16 verlassen haben, und der Wert des FIFO-Statusx79 anzeigt, daß das Daten-FIFO leer ist. Diese Unterbrechung wird vorzugsweise erzeugt, nachdem das letzte Byte der Bilddaten durch das System gelangt ist.
- Nachdem das Übertragungsgatter des CCD-Felds in den normalen Zustand zurückgekehrt ist, sendet das programmierbare Bildsteuergerät 20 eine kontinuierliche Gruppe von Impulsen nach der CCD-Feldschaltung 54, um die Photoelemente von allen angesammelten Ladungen zu befreien, bis die nächste Belichtung stattfindet. Hierdurch wird gewährleistet, daß unerwünschte optische Daten durch das Bilderfassungssystem 10 weder gestapelt noch verarbeitet werden. Dieser Reinigungsprozeß setzt sich vorzugsweise parallel zu anderen Arbeitsvorgängen fort, bis der nächste Belichtungsbefehl durch die Kameraschaltung 42 erzeugt wird, und die Kamera den Belichtungsbetrieb wieder aufnimmt.
- Im folgenden wird auf Fig. 4 Bezug genommen. Um das CCD-Feld von Ladungen zu befreien, überträgt das programmierbare Bildsteuergerät 20 das Signal SD an den Vertikaltreiber 156. Dies bewirkt, daß der Vertikaltreiber 156 schnell den Inhalt des Vertikalschieberegisters 80 in das horizontale Schieberegister 82 überträgt. Die Geschwindigkeit, mit der die Daten vom vertikalen Schieberegister 80 in das horizontale Schieberegister 82 überführt werden, ist im typischen Fall sehr viel schneller als die Geschwindigkeit, mit der das horizontale Schieberegisterfeld in Horizontalrichtung verschoben werden kann. Da jedoch die Reinigung von der Restladung nur dann erfolgt, wenn die Daten im vertikalen Schieberegister ohne Interesse sind, wird eine Verfälschung der Daten im horizontalen Registerfeld unwichtig.
- Das digitale Datensignal 75 des A/D-Wandlers 74 wird ebenfalls auf das FIFO Display 94 übertragen. Das FIFO-Display 94 speichert die Bilddaten zur folgenden Verarbeitung und Darstellung auf dem nicht dargestellten Display-Monitor. Das digitale Datensignal 75 vom Analog/Digital-Wandler 74 wird durch die Nachschlag-Tabelle (LUT) 96 in ein Signal umgewandelt, das zur Darstellung am Monitor geeignet ist. Die Zieladresse für die im FIFO-Display 94 gespeicherten Daten werden im Display-Zieladressenspeicher 108 gespeichert. Der Adressenspeicher hält die Speicheradressen an einem Speicherort auf den die erfaßten Daten übertragen werden. Der Ausdruck "FIFO-Display" soll irgendeinen geeigneten Speicherort angeben, der Daten in gewählten Byte-Größen speichert.
- Ein weiterer Vorteil der vorliegenden Erfindung besteht darin, daß diese keine phasenstarren Schleifen benutzt. Phasenstarre Schleifen sind gegenüber Taktfehlern anfällig, die resultieren können aus Signalschwankungen und einem Bit-Versatz. Infolgedessen reduziert das erfindungsgemäße Bilderfassungssystem die Signalschwankungen im wesentlichen auf Null. Außerdem vereinfacht das Fehlen von phasenstarren Schleifen den Datenpfad und vermindert die Kosten des Systems.
- Das Bilderfassungssystem gemäß der Erfindung besitzt mehrere Betriebsmoden. Gemäß einem Triggermode kann das Bilderfassungssystem von außen her getriggert werden. Dies kann geschehen, wenn eine Triggerung von einer Maschine erfolgt, die außerhalb der Kamera 16 und des Host-Computersystems 12 liegt, ein Signal (im typischen Fall ein Signal mit einer Flanke) einem äußeren Trigger-Interface 34 liefert, das n-Eingänge, und zwar jeweils einen für jede der Kameras, aufweist, die mit dem System verbunden sind. Die Ankunft der Impulsflanke an einem der äußeren Triggereingänge 36 triggert die Kameraschaltung 42, um ein Kamera-Triggersignal 44 zu erzeugen und nach der Kamera 16 zu übertragen, die dem jeweiligen äußeren Triggerkreis 36 zugeordnet ist. Das Kamera-Triggersignal 44 wird dann dem programmierbaren Bildsteuergerät 20 für die ausgewählte Kamera 16 zugeführt.
- Bei Ablauf einer vorbestimmten Belichtungszeit leitet das programmierbare Bildsteuergerät 20 eine Ladungsübertragung von den Photoelementen 70 der CCD-Feldschaltung 54 nach dem vertikalen Feldregister 80 ein. Die Bilddaten, die für den interessierenden Bereich repräsentativ sind, werden dann aus dem vertikalen Registerfeld 80 ausgetaktet und in das horizontale Registerfeld 82 überführt. Bilddaten von außerhalb des interessierenden Bereichs werden aus dem Vertikalregistern ausgetaktet und in die horizontalen Feldregister 82 mit Geschwindigkeiten verschoben, die beträchtlich größer sind, als die Geschwindigkeit, mit der die Daten aus den horizontalen Registern ausgetaktet werden können. Dieses selektive schnelle "dumping" unerwünschter Bilddaten ermöglicht es dem System 10 relativ schnell die Bilddaten aufzunehmen, die dem interessierenden Bereich entsprechen. Die erfaßten Bilddaten, die aus einem Überschreiben der Daten im horizontalen Registerfeld herrühren, werden ignoriert.
- Nachdem das Übertragungsgatter des programmierbaren Bildsteuergeräts 20 in seinen Normalzustand zurückgesetzt ist, überträgt das Bildsteuergerät eine Gruppe von Impulsen nach der CCD-Feldschaltung 54, was bewirkt, daß das CCD kontinuierlich Ladungen abzieht, die in den Photoelementen des Feldes aufgebaut sind. Dieser Prozeß setzt sich vorzugsweise parallel zu anderen Operationen fort, bis die Belichtung für das nächste Bild beginnt.
- Für die Anzahl der Zeilen im interessierenden Bereich treibt das programmierbare Bildsteuergerät 20 die CCD-Feldschaltung 54 mit einer Geschwindigkeit, die ununterbrochene Bilddaten dem Host-Computersystem 12 liefert. Die Bilddaten werden in der Kamera 16 durch den Bildprozessor 60 konditioniert, wonach sie an die Erfassungsbaugruppe 14 übertragen werden. Die Erfassungsbaugruppe 14 kann ein auf die Pixel ansprechendes Korrekturmodul 62 aufweisen, um jedes Pixel des Bildes mit einem vorbestimmten Empfindlichkeitsfaktor zu multiplizieren, und die resultierenden Bilddaten im Daten-FIFO 78 zu sammeln, bis die Menge der gesammelten Daten einen Schwellwert erreicht. Die Erfassungsbaugruppe 14 führt dann in Verbindung mit dem Host-Computersystem 12 eine DMA-Übertragung (ein Daten-Burst) der angesammelten Daten nach der Adresse durch, die vom Kamera-Zielspeicher 90 angegeben wird. Diese Adressen entsprechen vorzugsweise dem ersten physikalischen Speicherblock des gerade angegebenen Bildspeichers. Die Daten werden weiter in den Daten-FIFO 78, sogar während der DMA-Übertragung, eingegeben.
- Wenn sich die Daten im Daten-FIFO 78 wiederum über den Schwellwert ansammeln, erfolgt eine weitere DMA-Übertragung nach der nächsten Startadresse, bis die Bus- Leitung von einem anderen Datenverkehr auf dem I/O-Datenbus des Host-Computers diese Übertragung verzögert. Falls jener Datenbus-Verkehr die Übertragung von Daten lange genug für mehr als die Hälfte der Füllung des Daten-FIFO verhindert, wird das Daten-FIFO-Status-Bit wirksam. Wenn dies geschieht, suspendiert die dem Daten-FIFO zugeordnete Kamera die Datenerfassung und -übertragung und hält alle bereits erfaßten Daten innerhalb des vertikalen Feldregisters 80 des CCD, bis der Host-Computer wieder eine DMA-Übertragung annimmt. Dieser Prozeß schreitet fort, bis die letzte Zeile des interessierenden Bereichs in den Speicher des Host-Computersystems 12 übertragen ist.
- Wenn die letzte Zeile des interessierenden Bereichs gelesen oder aus dem Horizontalregister verschoben ist, erzeugt das programmierbare Bildsteuergerät 20 ein "Schnellverschiebungs-"-Signal, welches das CCD-Feld 54 instruiert, alle übrigen Daten fallenzulassen, die dem ursprünglich erfaßten Bild zugeordnet sind. Diese Datenreinigung wird in der oben beschriebenen Weise durchgeführt. Zu diesem Zeitpunkt sind vorzugsweise alle Vertikalfelder der Schieberegister 80 frei von Ladung. Auch alle Photoelemente 70 sind vorzugsweise leer, da der Taktgenerator 20 das CCD-Feld 54 derart pulsiert, daß das Feld jede Ladung aus den Photoelementen 70 entfernt. Auf diese Weise ist die Kamera 16 wieder bereit, ein weiteres Bilderfassungs-Kommando zu empfangen.
- Nachdem die gesamte DMA-Übertragung von Bilddaten vollendet ist, spricht das Host- Computersystem 12 auf die Aktivierung des Steuergeräts 14 auf eine der unterbrochenen Zeilen auf dem Host-I/O-Bus an, um die Verarbeitung des Unterbrechungs-Codes, das heißt cam. VxD 137, zu triggern, welcher durch das cam.exe-Programm 132 beim Booten geladen wurde. Der Unterbrecher-Code 137 führt einen Rückruf nach dem Speicher durch, der durch cam.dll 138 gehalten wird, der den Vorgang des Verfahrens speichert, der client.exe (oder cam.exe) ist, je nach dem, wer zuvor speziellen Puffer mit neuen Daten gefüllt hatte.
- Gemäß einem weiteren Modus der Arbeitsweise, der als "Sofort-Modus" bezeichnet wird, kann das erfindungsgemäße Bilderfassungssystem benutzt werden, um sowohl Bildanalyse als auch Maschinensicht-Betrieb anzupassen. Bei diesem Modus bestimmen die Daten, die aus der Verarbeitung eines früheren Bildes resultieren, die nächste durchzuführende Aktion.
- Demgemäß wartet in diesem Modus die Erfassungsbaugruppe 14 auf einen Befehl vom Host-Computer, der geschrieben wurde bevor ein Bilderfassungs- und -verarbeitungs- Zyklus eingeleitet wurde, ähnlich wie dies oben beschrieben wurde. Entweder client.exe 134 oder cam.exe 132 ruft cam.dll 138, um den Befehl zu übertragen. Die Ankunft dieses Befehls veranlaßt die Kameraschaltung 42 das Kamera-Triggersignal 44, welches die Information vom Kamera setup Speicher 48 enthält, nach der jeweiligen Kamera zu übertragen, die durch jenen Byte bestimmt ist. Die übrigen Schritte der Bilderfassung und - -übertragung erfolgen wie oben beschrieben.
- Gemäß einem weiteren Modus können Bilder in festen Zeitintervallen von einer gewählten Kamera aufgenommen werden. Diese Zeitintervalle können gewählt werden, und sie können einen Wert haben, der größer oder gleich ist, der minimalen Zeit kompatibel mit der gewählten Belichtungszeit und der Zeit, die erforderlich ist, um den interessierenden Bereich zu übertragen. Dieser Arbeitsmodus ist identisch jenem, der vorstehend beschrieben wurde, mit dem Unterschied, daß die Triggerung zur Einleitung der Bilderfassung durch die gewählte Kamera durch einen zugeordneten Zeitgeber erfolgt, der einen Teil der Kameraschaltung 42 bildet.
- Bei diesem Modus machen entweder cam.exe 132 oder client.exe 134 einen Anruf für cam.dll 138, der einen Befehl zum Host-Computersystem 12 und/oder zur Erfassungsbaugruppe 14 sendet. Dieser Befehl umfaßt eine spezielle Zielkamera und ein Datenwort, welches benutzt wird, um den zugeordneten Taktgeber in der Kameraschaltung 42 zu setzen. Immer dann, wenn der Taktgeber für die betreffende Kamera einen Takt liefert, sendet die Kameraschaltung 42 ein Kamera-Triggersignal 44 aus, um durch die gewählte Kamera die Erfassung einzuleiten.
- Hierauf wird ein Bild von der gewählten Kamera 16 zurückgeführt und dem Host-Speicher 116 immer dann übertragen, wenn der jener Kamera zugeordnete Taktgeber einen Takt liefert.
- Gemäß einem weiteren Modus der Arbeitsweise bewirkt das Bilderfassungssystem eine kontinuierliche Bilderfassung mit einer Rate, die nur durch die Größe des interessierenden Bereichs und die Belichtungszeit begrenzt ist. Dieser Modus beginnt mit einer Anfrage durch cam.exe 132 oder client.exe 134, wonach die setup Information einer speziellen Kamera aus dem Kamera setup Speicher 48 der jeweiligen Kamera 16 über das Host- Interface nach der Erfassungsbaugruppe 14 zugeführt wird. Die Kamera setup Information bewirkt, daß die Kamera 16 eine Belichtung und ein Auslesen der Bilddaten einleitet, wie dies oben in Verbindung mit Fig. 1 bis 3 dargelegt wurde. Das Kamera-Ansprechen in diesem Modus unterscheidet sich insofern, als nach vollendeter Belichtung das programmierbare Bildsteuergerät 20 nicht unmittelbar das CCD-Feld 54 pulsiert, um die Photoelemente von Ladungen zu befreien.
- Gemäß einer bevorzugten Praxis bewirkt dann, wenn cam.dll 138 berechnet, daß eine Belichtungszeit länger als die Auslesezeit für den interessierenden Bereich ist die Kamera setup Information, die im Kamera-Triggersignal 44 enthalten ist, daß das programmierbare Bildsteuergerät 20 die nächste Belichtung beginnt, unmittelbar nach Übertragung der Bilddaten. Die erwähnte Löschung der Ladung aus den Photoelementen erfolgt nicht, da die nächste Belichtung, die von der Kamera 16 durchgeführt wird, sich fortsetzt, während das vertikale Registerfeld 80, welches die Bilddaten von der vorherigen Belichtung enthält, in das horizontale Registerfeld 82 eingelesen wird. Die Erfassung zusätzlicher Vollbilder setzt sich über das Ende der Auslesung der vorher erfaßten Daten fort, bis die richtige Belichtungszeit erreicht ist. Zu dieser Zeit befiehlt der Zeitgebergenerator 20 eine "Bildübertragung" und beginnt sowohl eine weitere Belichtung als auch ein weiteres Auslesen. Das Verfahren wiederholt sich bis eine neue Kamera setup Information der Kamera 16 aus dem Kamera setup Speicher 48 übertragen wird.
- Wenn andererseits cam.dll 138 eine Auslesezeit für den interessierenden Bereich berechnet, die länger ist als die Belichtungszeit, dann bewirkt die Kamera setup Information, die im Kamera-Triggersignal 44 enthalten ist, daß das programmierbare Bildsteuergerät 20 die Ladung von den Photoelementen zu entfernen beginnt, nachdem eine Bildübertragung erfolgt ist, und es wird die Ladung weiter während eines Zeitintervalls entfernt, solange die Auslesezeit die Belichtungszeit überschreitet. Wenn die Bildübertragung vollendet ist, leitet das programmierbare Bildsteuergerät 20 eine weitere "Bildübertragung" ein, und die Entfernung der Ladung wird wieder aufgenommen, und es beginnt eine weitere Auslesung. Dieser Prozess setzt sich fort, bis eine neue Kamera setup Information vom Kamera setup Speicher 48 auf die Kamera 16 übertragen ist.
- Für den Fall, daß das FIFO-Status-Signal 79 lange genug besteht, um die Belichtung während eines Zyklus im wesentlichen durchzuführen, dann beendet das programmierbare Bildsteuergerät 20 die Auslesung der Bilddaten für jenen Zyklus. Die Auslesung schreitet dann fort zu Beginn des interessierenden Bereichs für die Daten in dem Photozellenbereich.
- Gemäß einem noch anderen Modus der Arbeitsweise kann das System 10 feststellen, wann ein interessierender Gegenstand sich in einem Triggerbereich 95 im Kamera- Sichtfeld befindet, wie dies in Fig. 9 dargestellt ist. Nachdem festgestellt wurde, daß ein interessierender Gegenstand in den Triggerbereich 95 eingetreten ist, triggert das System automatisch die Erfassung eines interessierenden Bereichs 99, wie ebenfalls in Fig. 9 dargestellt ist, innerhalb des Kamera-Sichtfelds, und überträgt die Bilddaten entsprechend jenem interessierenden Bereich nach dem Speicher des Systems und/oder nach dem System-Display. Die Größe und der Ort des Triggerbereichs 95 ist unabhängig von der Größe und dem Ort des interessierenden Bereichs 99. Dieser Modus automatisiert in hohem Maß die Bildverarbeitung, indem die Möglichkeit geschaffen wird, daß die Software des Benutzers eine adaptive Steuerung durchführt, basierend auf dem Vorhandensein eines Gegenstands im Sichtfeld, wenn eine Bilderfassung auftritt.
- Dieser Arbeitsmodus ist ähnlich dem unmittelbar vorher beschriebenen Modus. Allgemein umfaßt das Kamera-Triggersignal 44 einen oder mehrere Schwellwerte, die von der Erfassungsbaugruppe benutzt werden, um zu bestimmen, ob ein Bild des interessierenden Bereichs erfaßt werden soll. Diese Schwellwerte sind vorher durch cam.dll 138 berechnet und in den Kamera setup Speicher 48 geladen. Zusätzlich kann das Kamera-Triggersignal 44 Informationen enthalten, die notwendig sind, um einen Triggerbereich in einer Weise zu definieren, die ähnlich jener ist, die vorstehend beschrieben wurde um den interessierenden Bereich zu definieren.
- In diesem Modus wird der Triggerbereich wiederholt erfaßt und nach der Erfassungsbaugruppe 14 gemäß der oben beschriebenen Prozedur übertragen, um die Bilddaten auf die Erfassungsbaugruppe zu übertragen. Jedoch, statt wie bei den anderen Moden nach dem Daten-FIFO 78 übertragen zu werden, werden die Bilddaten vom Triggerbereich dem Näherungsberechner 88 zugeführt, der die Werte der Pixel sammelt, die vom Triggerbereich ankommen. Nach Vollendung der Übertragung des Triggerbereichs für ein gegebenes Bild, wird die Summenstatistik der Pixel vom Triggerbereich, nunmehr in dem Näherungsberechner 88 gespeichert, benutzt, um zu bestimmen, ob das Bild von dem interessierenden Bereich erfaßt werden soll. Wenn das System bestimmt, daß der gesammelte Wert so ist, daß das Bild aus dem interessierenden Bereich erfaßt werden sollte, dann wird dieses Bild dem Daten-FIFO 78 wie oben beschrieben zugeführt. Wenn andererseits das System bestimmt, daß der gesammelte Wert derart ist, daß kein Bild aus dem interessierenden Bereich erfaßt werden soll, dann wird ein anderer Triggerbereich erfaßt, gesammelt und verglichen.
- Ob ein Bild des interessierenden Bereichs 95 basierend auf dem Bild im Triggerbereich 99 erfaßt wird oder nicht, kann von der Summe von Werten der Pixel im Triggerbereich abhängen, oder von der Abweichung der Pixelwerte im Triggerbereich.
- Bei einer Anwendung dieses Modus kann die Erfassung oder Nicht-Erfassung eines Bildes aus dem interessierenden Bereich davon abhängen, ob der angesammelte Wert der Pixel im Triggerbereich über oder unter einem Schwellwert liegt. Bei einer zweiten Anwendung dieses Modus können n-Schwellwerte vorhanden sein, und die Erfassung eines Bildes aus dem interessierenden Bereich kann davon abhängig gemacht werden, in welchen der n + 1 Intervalle, die durch die n-Schwellwerte definiert sind, der gesammelte Wert der Pixel aus dem Triggerbereich hineinfällt. Bei einer dritten Anwendung dieses Modus kann die Erfassung eines Bilds aus dem interessierenden Bereich von der Bedingung abhängig gemacht werden, ob oder ob nicht die Abweichung der Summierungs-Statistik der Pixel aus dem Triggerbereich aus einer Norm über oder unter einen programmierten Abweichungsschwellwert fällt. Weitere Möglichkeiten dieses Modus können durch verschiedene Boolean'sche Kombinationen der obigen Bedingungen durchgeführt werden.
- Die Erfassung eines Bildes aus dem interessierenden Bereich kann auch abhängig gemacht werden, von der Erfüllung einer zeitlichen Bedingung. Beispielsweise kann das System ein Bild des interessierenden Bereichs nur dann erfassen, wenn das Zeitintervall zwischen der vorgesehenen Erfassung und der letzten Erfassung über einen gewissen zeitlichen Schwellwert liegt. Eine zeitliche Bedingung, wie diese, kann mit der Bedingung von angesammelten Pixelwerten und Abweichungen, wie oben erwähnt, kombiniert werden. Beim Fehlen eines solchen Merkmals könnte ein ausgedehnter und homogener Gegenstand, der langsam das Kamera-Sichtfeld durchläuft, zu Mehrfachbelichtungen des gleichen Gegenstands führen.
- Gemäß einem noch weiteren Modus der Erfindung kann ein Bild von einer Kamera, die in dem unmittelbar vorher beschriebenen Modus arbeitet, die Bilderfassung und -übertragung durch andere Kameras triggern, die mit dem System verbunden sind.
- Bei einem noch anderen Modus der Arbeitsweise erzeugt die Kameraschaltung Ausgänge, die mit jeder Kamera synchronisiert sind, um äußere Belichtungssysteme, beispielsweise Blitzgeräte, zu triggern.
- Es ist ersichtlich, daß die Erfindung die oben erwähnten Aufgaben erfüllt, was sich aus der vorstehenden Beschreibung ergibt.
Claims (38)
1. System zum asynchronen Übertragen eines Bildes auf ein Maschinensichtsystem mit
einem Hostprozessor (120), der ein erstes Speicherelement (116) für die Speicherung
des Bildes zuweist, wobei das genannte System folgendes umfaßt:
- Bilderfassungsmittel (16) zum Erfassen von wenigstens einem Abschnitt des Bildes in
Reaktion auf ein Triggersignal (36, 44), und Bildübertragungsmittel (14) zum Übertragen
des genannten Bildes von dem genannten Bilderfassungsmittel zu dem ersten
Speicherelement,
- wobei das genannte Bildübertragungsmittel oder das genannte Bilderfassungsmittel
ein zweites Speicherelement (78) zum Speichern von wenigstens einem Abschnitt des
Bildes bis zur Zuweisung von Speicherkapazität in dem genannten ersten
Speicherelement beinhaltet, wobei das genannte System
dadurch gekennzeichnet ist, daß das genannte Bildübertragungsmittel ein
Rückkopplungsmittel (79) in Kommunikation mit dem genannten Bilderfassungsmittel
zum Unterbrechen der Datenübertragung durch das genannte Bilderfassungsmittel
aufweist, wenn die akkumulierten Daten in dem genannten zweiten Speicherelement
(78) eine Schwelle erreichen.
2. System nach Anspruch 1, ferner umfassend:
- ein Parameterspeichermodul (48) zum Speichern von Parametern in Verbindung mit
der Bilderfassung, z. B. die erste und die letzte Zeile einer Region von Interesse und die
Belichtungszeit, wobei die genannten Parameter von dem genannten Hostprozessor
(120) erzeugt werden, und bei Bedarf
- eine Kameraladeschaltung (42), die mit dem Parameterspeichermodul (48) gekoppelt
ist, um die genannten Parameter vom Parameterspeichermodul (48) zum
Bilderfassungsmittel (16) zu übertragen.
3. System nach Anspruch 2, bei dem das genannte Bilderfassungsmittel (16) folgendes
umfaßt:
- eine fotoempfindliche Schaltung (54, 55, 60) zum Erfassen des Bildes, und bei Bedarf
eine programmierbare Bilderzeugungsschaltung (20), die mit der Kameraladeschaltung
(42) und der fotoempfindlichen Schaltung (54, 55, 60) gekoppelt ist, um die genannten
Parameter in Verbindung mit der Bilderfassung von dem genannten
Parameterspeichermodul (48) zu empfangen und das genannte Triggersignal in
Reaktion darauf zu erzeugen.
4. System nach einem der vorhergehenden Ansprüche, bei dem das genannte
Pufferspeichermittel ein oder mehrere Register umfaßt, z. B. ein Daten-FIFO-Register
(78), wobei das genannte Register so gekoppelt ist, daß es Daten, die für das Bild von
dem genannten Bilderfassungsmittel (16) repräsentiv sind, in Reaktion auf das
genannte Triggersignal empfängt und die genannten, für das Bild repräsentativen Daten
in Reaktion auf ein von dem Hostprozessor erzeugtes Freigabesignal an den
Hostprozessor (120) freigibt.
5. System nach einem der Ansprüche 3 oder 4, bei dem die genannte fotoempfindliche
Schaltung (54, 55, 60) eine Mehrzahl von Fotostellen (70a-70i) und einen
Hauptplatinen-Speicher (80) zum Speichern von optischer Energie umfaßt, die von den
Fotostellen aufgenommen wurde, wobei sich das genannte Rückkopplungsmittel (9)
zwischen dem zweiten Speicherelement (78) und der programmierbaren
Bilderzeugungsschaltung (20) befindet, um ein Puffersignal vom zweiten
Speicherelement (78) zu der genannten programmierbaren Bilderzeugungsschaltung zu
übertragen, und wobei bei Bedarf
- die genannte programmierbare Bilderzeugungsschaltung ein Mittel (156) zum Speisen
von optischer Energie von den Fotostellen (70a-70i) zu dem genannten Hauptplatinen-
Speicher (80) und ein Mittel zum Erzeugen eines Unterbrechungssignals in Reaktion
auf das genannte Puffersignal beinhaltet, um die genannte Übertragung von optischer
Energie von den genannten Fotostellen zu dem genannten Hauptplatinen-Speicher zu
unterbrechen.
6. System nach einem der Ansprüche 3 bis 5, bei dem die genannte fotoempfindliche
Schaltung (54, 55, 60) folgendes umfaßt:
- ein oder mehrere vertikale Register (80) zum Speichern von optischer Energie von
Fotostellen (70a-70i), die für das erfaßte Bild repräsentativ sind, und ein oder mehrere
horizontale Register (82), die so positioniert sind, daß sie wenigstens einen Teil der
genannten, in dem genannten vertikalen Register (80) gespeicherten Energie
empfangen, und wobei die genannte fotoempfindliche Schaltung so gestaltet ist, daß sie
eine Region von Interesse, die wenigstens einem Abschnitt des Bildes entspricht, erfaßt
und in den genannten Registern speichert.
7. System nach Anspruch 6 in Abhängigkeit von Anspruch 5, ferner umfassend ein Mittel
(20) zum Übertragen eines Teils der genannten optischen Energie, die einem Abschnitt
der genannten Region von Interesse entspricht, von dem genannten vertikalen Register
(80) in das genannte horizontale Register (82).
8. System nach einem der Ansprüche 4 bis 7, bei dem das Bild in den genannten
Registern (80, 82) der genannten fotoempfindlichen Schaltung (54, 55, 60) gespeichert
wird.
9. System nach Anspruch 5, ferner umfassend:
- ein Sperrmittel in der Rückkopplungskommunikation mit der genannten
programmierbaren Bilderzeugungsschaltung (20) und dem genannten zweiten
Speicherelement (78), um die Übertragung der genannten optischen Energie von dem
genannten horizontalen Register (82) während der genannten Übertragung von
optischer Energie von dem genannten vertikalen Register (80) in das genannte
horizontale Register zu sperren, und
- ein Mittel (20) zum schnellen Übertragen der genannten, einem Abschnitt der
genannten Region von Interesse entsprechenden optischen Energie von dem
genannten vertikalen Register (80) zu dem genannten horizontalen Register (82), ohne
aktiv die genannte gespeicherte Energie aus dem genannten horizontalen Register zu
entfernen.
10. System nach Anspruch 1, bei dem das genannte Bilderfassungsmittel folgendes
umfaßt:
- ein fotoempfindliches Mittel (54) zum Erfassen des Bildes in Reaktion auf das
genannte Triggersignal, das gewählte Bilderfassungsparameter enthält, und
- ein programmierbares Steuermittel (20) in der Schaltung mit dem genannten
fotoempfindlichen Mittel (54) zum Erzeugen des genannten Triggersignals und zum
programmierbaren Ändern der genannten gewählten Bilderfassungsparameter während
der Erfassung des Bildes, und wobei bei Bedarf das genannte programmierbare
Steuermittel (20) folgendes beinhaltet:
- eine Steuerung (20), die so gestaltet ist, daß sie mit den genannten gewählten
Bilderfassungsparametern programmiert werden kann und das genannte Triggersignal
in Reaktion auf ein Ladesignal erzeugt, und
- ein Parameterlademittel (42), das mit der genannten Steuerung (20) gekoppelt ist, um
das genannte Ladesignal zu erzeugen und die genannten Bilderfassungsparameter, wie
zum Beispiel von dem genannten Hostprozessor (20), zu empfangen.
11. System nach Anspruch 3, bei dem die genannte programmierbare
Bilderzeugungsschaltung (20) ein Mittel zum Empfangen der genannten
Bilderfassungsparameter in weniger als oder gleich etwa 2 us beinhaltet, um so die
genannte Schaltung nebenbei im wesentlichen in Echtzeit umzuprogrammieren.
12. System nach Anspruch 10, bei dem das genannte programmierbare Steuermittel (20)
mit einer Speisefrequenz arbeitet und ein Mittel zum automatischen Ändern der
genannten Speisefrequenz während der Erfassung des Bildes umfaßt.
13. System nach Anspruch 10, bei dem das genannte System ferner folgendes umfaßt:
- ein Betätigungsmittel (34) zum Erzeugen eines Ausgangsbetätigungssignals in
Reaktion auf ein Befehlssignal,
- ein Parameterspeichermodul (48) zum Empfangen der genannten
Bilderfassungsparameter von dem Hostprozessor (120), und
- eine Kameraladeschaltung (42), die mit dem Parameterspeichermodul (48) gekoppelt
und so gestaltet ist, daß sie die genannten gewählten Bilderfassungsparameter von
dem genannten Parameterspeichermodul und das genannte
Ausgangsbetätigungssignal empfängt, um das genannte programmierbare Steuermittel
(20) mit den genannten Bilderfassungsparametern zu programmieren.
14. System nach Anspruch 10 oder 13, bei dem das genannte fotoempfindliche Mittel (54)
ein oder mehrere vertikale Register (80) zum Speichern der für das genannte erfaßte
Bild repräsentativen optischen Energie sowie ein oder mehrere horizontale Register
(82) umfaßt, die so positioniert sind, daß sie wenigstens einen Teil der genannten, in
dem genannten vertikalen Register gespeicherten optischen Energie aufnehmen, wobei
das genannte fotoempfindliche Mittel (54) so gestaltet ist, daß es eine Region von
Interesse erfaßt, die wenigstens einem Abschnitt des Bildes entspricht, und wobei das
genannte Bildübertragungsmittel einen Teil der genannten, einem Abschnitt der
genannten Region von Interesse entsprechenden optischen Energie von dem
genannten vertikalen Register (80) in das genannte horizontale Register (82) überträgt,
wobei das genannte System ferner folgendes umfaßt:
- ein erstes Sperrmittel (20) zum Sperren der Übertragung der genannten optischen
Energie von dem genannten horizontalen Register (82) während der genannten
Übertragung von optischer Energie von dem genannten vertikalen Register in das
genannte horizontale Register, ohne aktiv die genannte gespeicherte Energie aus dem
genannten horizontalen Register zu entfernen, um dadurch die Ladung aus den
vertikalen Registern schnell zu beseitigen, und bei Bedarf
- ein Freigabemittel (20) zum Freigeben der Übertragung der genannten, in dem
genannten horizontalen Register gespeicherten optischen Energie daraus, und ferner
bei Bedarf
- ein zweites Sperrmittel zum Sperren der Übertragung von optischer Energie von dem
genannten vertikalen Register in das genannte horizontale Register während der
genannten Übertragung von optischer Energie aus dem genannten horizontalen
Register.
15. System nach einem der vorherigen Ansprüche, ferner umfassend ein
Direktspeicheradressen-Datenübertragungsmittel zum Übertragen der genannten, in
dem genannten zweiten Speicherelementmittel akkumulierten Bilddaten direkt auf in
einem Hostcomputersystem zugewiesenen Speicherplatz, so daß die genannte
Datenübertragung die Häufigkeit, mit der das genannte System den Hostprozessor
(120) unterbricht, beträchtlich reduziert.
16. System nach einem der vorherigen Ansprüche, ferner umfassend ein
Vorverarbeitungsmittel (124), separat vom Hostprozessor (120), um die Bilddaten zu
empfangen und um die Daten wenigstens teilweise zu verarbeiten, ohne den
Hostprozessor (120) wesentlich zu unterbrechen.
17. System nach Anspruch 10 oder 13, bei dem das genannte Rückkopplungsmittel ein
Mittel umfaßt, das mit dem genannten zweiten Speicherelement (78) und dem
genannten Bilderfassungselement (16) gekoppelt ist, um die genannte Erfassung des
Bildes zu unterbrechen, wenn das genannte zweite Speicherelement einen
Schwellenwert erreicht, um dadurch eine zuverlässig Übertragung von dem Bild
entsprechenden Daten zuzulassen;
- wobei die Bilddaten in einem oder mehreren Registern (80,82) in dem genannten
fotoempfindlichen Mittel gespeichert sind, und wobei das Bild bei Bedarf aus einer
Mehrzahl von Zeilen besteht und wobei das genannte Unterbrechungsmittel die
genannte Erfassung des Bildes zwischen den genannten, dem Bild entsprechenden
Zeilen unterbrechen kann.
18. System nach Anspruch 10, 13 oder 14, bei dem das genannte Rückkopplungsmittel
(79) zwischen dem genannten Bilderfassungsmittel (16) und dem genannten zweiten
Speicherelement (78) gekoppelt ist und ein Unterbrechungssignal zu dem genannten
Bilderfassungsmittel (16) überträgt, um die genannte Erfassung des Bilds zu
unterbrechen, und wobei das genannte Rückkopplungsmittel (79) ferner ein
Unterbrechungsmittel aufweist, das mit dem genannten zweiten Speicherelement
gekoppelt ist, um das genannte Unterbrechungssignal zu erzeugen, wenn das genannte
zweite Speicherelement eine Speicherschwelle erreicht hat, so daß das genannte
Unterbrechungsmittel die genannte Erfassung des Bildes sofort und vorübergehend
unterbricht.
19. System nach einem der vorhergehenden Ansprüche, bei dem das von dem genannten
Erfassungsmittel (16) erfaßte Bild eine Mehrzahl von Pixeln beinhaltet, ferner
umfassend ein Pixelkorrekturmittel (62) in der Schaltung mit dem genannten
Bilderfassungsmittel (16), separat vom Hostgerät, zum Korrigieren der genannten Pixel
vor der Übertragung zu dem Speicher, wobei das genannte Pixelkorrekturmittel bei
Bedarf in der genannten Schaltung so positioniert ist, daß es die genannten Bilddaten
von dem genannten Bilderfassungsmittel (16) empfängt.
20. System nach Anspruch 19, bei dem das genannte Pixelkorrekturmittel (62) folgendes
umfaßt.
- ein zweites Speichermodul (63) zum Speichern einer Mehrzahl von vorbestimmten
Pixelkorrekturwerten entsprechend jedem Pixel des Bildes, und
- ein Multiplikationsmittel (64) zum Multiplizieren jedes Pixels des Bildes mit dem
genannten entsprechenden Pixelkorrekturwert, um dadurch ein korrigiertes Pixel zu
bilden.
21. System nach Anspruch 10, bei dem das Bild eine Region von Interesse hat, die einem
Abschnitt des Bildes entspricht, wobei die genannte Region von Interesse eine
gewählte Anzahl von Pixeln hat, ferner umfassend:
- ein Pixelbeurteilungsspeichermittel, das mit dem Bilderfassungsmittel (16) gekoppelt
ist, um einen Wert zu speichern, der der genannten gewählten Anzahl von Pixeln
entspricht, und ein vorbestimmtes Pixelspeichermittel (63), das mit dem genannten
Bilderfassungsmittel (16) gekoppelt ist, um einen Wert zu speichern, der einer
vorbestimmte Anzahl von Pixeln entspricht, und bei Bedarf beinhaltend:
- ein Vergleichsmittel zum Vergleichen des genannten, in dem genannten
Pixelbeurteilungsmittel gespeicherten Wertes mit dem genannten Wert, der in dem
genannten vorbestimmten Pixelspeichermittel gespeichert ist, und
- ein Mittel zum Erzeugen eines Übereinstimmungssignals, wenn die genannten Werte
gleich sind, wobei das genannten programmierbare Steuermittel (20) ein Mittel zum
Empfangen des genannten Übereinstimmungssignals und zum Ändern der genannten
Bilderfassungsparameter beinhaltet.
22. System nach Anspruch 1, ferner umfassend Mittel (42, 48, 20) zum Ändern von
Bilderfassungsparametern vor der Erfassung des Bildes, und wobei das genannte
Bildübertragungsmittel folgendes enthält:
- ein Mittel (20) zum Unterbrechen der Übertragung des Bildes an einer
Unterbrechungsstelle und
- ein Mittel (20) zur Wiederaufnahme der Übertragung des Bildes von der genannten
Unterbrechungsstelle, wobei durch die Wiederaufnahme der genannten Erfassung des
Bildes an der genannten Unterbrechungsstelle ein Verlust von Daten, die dem Bild
entsprechen, im wesentlichen verhütet wird.
23. System nach einem der Ansprüche 1 bis 18 und 22, bei dem das genannte
Bilderfassungsmittel (16) ein Bildkorrekturmittel (62) zum Multiplizieren einer Teilmenge
des Bildes mit einem Korrekturwert beinhaltet, der der genannten Teilmenge des Bildes
entspricht, wobei das genannte Bildkorrekturmittel (62) folgendes umfaßt:
- ein Bildeingabemittel (61) zum Akzeptieren von Daten, die für das Bild repräsentativ
sind,
- ein Speichermittel (63) zum Speichern des genannten Korrekturfaktors, der der
genannten Teilmenge des Bildes entspricht, wobei das genannte Speichermittel ein
Eingabemittel hat, das auf ein externes Signa) reagiert, und ein Multiplikationsmittel
(64), das mit dem genannten Speichermittel (63) und mit dem genannten
Bildeingabemittel (61) gekoppelt ist, um den genannten Korrekturwert mit der
genannten entsprechenden Teilmenge des Bildes zu multiplizieren, und bei Bedarf
- ein Datenzählmittel (65), das mit der genannten Speichertabelle gekoppelt ist, um die
Entsprechung zwischen der genannten Teilmenge des Bildes und dem genannten
Korrekturwert zu ermitteln.
24. System nach einem der vorherigen Ansprüche, bei dem das genannte
Bilderfassungsmittel (16) ein Mittel zum Codieren einer Erfassungszeit in das genannte
Bild erfaßt, wobei das genannte Mittel zum Codieren Software auf Kernel-Ebene in
Kommunikation mit dem Hostprozessor (120) beinhaltet, wobei die genannte Software
auf Kernel-Ebene auf ein Kameratriggersignal reagiert.
25. System nach Anspruch 1 oder 22, bei dem das genannte Bildübertragungsmittel
programmierbare Bilderzeugungsdatenübertragungsmittel (20, 54, 55, 60) zum
selektiven Steuern der Rate umfaßt, mit der Daten von dem genannten
Bilderfassungsmittel (16) zum Speicher wandern, und bei dem bei Bedarf das genannte
Speicherelement die Bilddaten speichert und asynchron freigibt.
26. System nach Anspruch 25, bei dem das genannte programmierbare
Bilddatenübertragungsmittel (20, 54, 55, 60) folgendes umfaßt:
- ein erstes Datenspeichermittel (80) zum Speichern des von dem genannten
Bilderfassungsmittel (16) erfaßten Bildes,
- ein zweites Datenspeichermittel (82), das mit dem genannten ersten
Datenspeichermittel (80) gekoppelt ist,
- ein erstes Verschiebemittel zum Verschieben einer Teilmenge des in dem genannten
ersten Datenspeichermittel (80) gespeicherten Bildes zu dem genannten zweiten
Datenspeichermittel (82), um so die genannte Teilmenge des genannten Bildes in dem
genannten zweiten Datenspeichermittel zu speichern,
- ein zweites Verschiebemittel zum Verschieben der genannten Teilmenge des in dem
genannten zweiten Datenspeichermittel gespeicherten Bildes zum Hostspeicher, und
- ein Sperrmittel zum Sperren des genannten zweiten Verschiebemittels während des
Betriebs des genannten ersten Verschiebemittels und zum Sperren des genannten
ersten Verschiebemittels während des Betriebs des genannten zweiten
Verschiebemittels, und wobei bei Bedarf das genannte Sperrmittel folgendes beinhaltet:
- ein Mittel zum Betreiben des genannten zweiten Verschiebemittels, wenn sich das in
dem genannten zweiten Datenspeichermittel (82) gespeicherte Bild innerhalb der
genannten Region von Interesse befindet, und
- ein zweites Sperrmittel zum Sperren des genannten zweiten Verschiebemittels und
zum Betätigen des genannten ersten Verschiebemittels, wenn sich das in dem
genannten zweiten Datenspeichermittel (82) gespeicherte Bild außerhalb der
genannten Region von Interesse befindet.
27. System nach einem der Ansprüche 1 und 22 bis 26, bei dem das genannte
Bilderfassungsmittel (16) ferner folgendes umfaßt:
- ein Triggermittel zum Erzeugen eines Ausgangstriggersignals in Reaktion auf ein
Befehlssignal,
- ein Parameterspeichermittel (48) zum Empfangen der genannten
Bilderfassungsparameter vom Hostprozessor (120), und
- eine Kameraladeschaltung (42) zum Empfangen der genannten gewählten
Bilderfassungsparameter von dem genannten Parameterspeichermittel (48) und dem
genannten Ausgangstriggersignal zum Programmieren eines programmierbaren
Steuermittels (20) mit den genannten Bilderfassungsparametern.
28. System nach Anspruch 3, bei dem die programmierbare Steuerschaltung (20) ein
Mittel zum schnellen Wählen, in weniger als 32 ms, eines Betriebsmodus zum Erfassen
des Bildes mit dem genannten Bilderfassungsmittel (16) und bei Bedarf ein Mittel zum
raschen Programmieren, in weniger als etwa 12 us, der genannten programmierbaren
Steuerschaltung (20) mit neuen Anweisungen umfaßt.
29. System nach Anspruch 1, ferner umfassend:
- eine Steuerschaltung (20) zum Abtasten einer gewählten Triggerregion einer Region
von Interesse, wobei die Größe der genannten Triggerregion von der Größe der Region
von Interesse unabhängig ist,
- ein Erkennungsmittel zum Erkennen der Triggerregion und zum Erzeugen eines die
genannte Erkennung anzeigenden Signals, und
- ein Betätigungsmittel zum autonomen Triggern der genannten Bilderfassung in
Reaktion auf das genannte Signal.
30. Verfahren zum asynchronen Übertragen eines Bildes zu einem Maschinensichtsystem
mit einem Hostprozessor (120), der einen ersten Speicher (116) zum Speichern des
Bildes zuweist, wobei das genannte Verfahren die folgenden Schritte umfaßt:
- Erfassen wenigstens eines Abschnitts des Bildes mit einem Bilderfassungsmittel (16)
in Reaktion auf ein Triggersignal (36,44),
- Übertragen des genannten Bildes von dem genannten Bilderfassungsmittel über ein
Bildübertragungsmittel (14) zu dem ersten Speicherelement,
- wobei das genannte Bildübertragungsmittel oder das genannte Bilderfassungsmittel
wenigstens einen Abschnitt des Bildes vorübergehend in einem zweiten Speicher (78)
bis zur Zuweisung von Speicherkapazität in dem ersten Speicher durch den
Hostprozessor speichert,
dadurch gekennzeichnet, daß das genannte Bildübertragungsmittel ein
Rückkopplungssignal (79) zu dem genannten Erfassungsmittel sendet, um die
Datenübertragung durch das genannte Bilderfassungsmittel zu unterbrechen, wenn die
akkumulierten Daten in dem genannten zweiten Speicherelement eine Schwelle
erreichen.
31. Verfahren nach Anspruch 30, ferner umfassend die folgenden Schritte:
- Speichern von Parametern in Verbindung mit einer Bilderfassung, die von dem
Hostprozessor (102) in einem Parameterspeichermodul (48) erzeugt wird, und bei
Bedarf
- Koppeln einer Kameraladeschaltung (42) mit dem Parameterspeichermodul (48) zum
Übertragen der genannten Parameter von dem Parameterspeichermodul (48) zu dem
Bilderfassungsmittel (16).
32. Verfahren nach Anspruch 31, ferner umfassend die folgenden Schritte:
- Erfassen des Bildes mit einer fotoempfindlichen Schaltung (54, 55, 60) und bei Bedarf
Bereitstellen einer programmierbaren Bilderzeugungsschaltung (20), die mit der
Kameraladeschaltung (42) und der fotoempfindlichen Schaltung (54, 55, 60) gekoppelt
ist, zum Empfangen der genannten Parameter in Verbindung mit der Bilderfassung von
dem genannten Parameterspeichermodul (48) und zum Erzeugen des genannten
Triggers in Reaktion darauf.
33. Verfahren nach einem der Ansprüche 30 bis 32, wobei der genannte Schritt des
vorübergehenden Speicherns die folgenden Schritte umfaßt: Bereitstellen von einem
oder mehreren Registern, beispielsweise einem Daten-FIFO-Register (78), wobei das
genannte Register so gekoppelt ist, daß es Daten, die für das Bild repräsentiv sind, von
dem genannten Bilderfassungsmittel (16) in Reaktion auf das genannte Triggersignal
empfängt und Daten, die für das Bild repräsentativ sind, in Reaktion auf ein von dem
Hostprozessor erzeugtes Freigabesignal zum Hostprozessor (120) freigibt.
34. Verfahren nach Anspruch 32 oder 33, bei dem der Schritt des Erfassens des Bildes mit
einer fotoempfindlichen Schaltung (54, 55, 60) die folgenden Schritte umfaßt:
- Bereitstellen einer Mehrzahl von Fotostellen (70a bis 70i) und
- Bereitstellen eines Hauptplatinen-Speichers (80) zum Speichern von optischer
Energie, die von den Fotostellen empfangen wird, wobei das genannte Verfahren ferner
die folgenden Schritte umfaßt:
- Bereitstellen einer Rückkopplungsverbindung (79) zwischen dem zweiten
Speicherelement (78) und der programmierbaren Bilderzeugungsschaltung (20) zum
Übertragen eines Puffersignals von dem zweiten Speicherelement zu der genannten
programmierbaren Bilderzeugungsschaltung, und bei Bedarf die folgenden Schritte:
- Speisen von optischer Energie von den Fotostellen (70a bis 70i) zu dem genannten
Hauptplatinen-Speicher (80), und
- Erzeugen eines Unterbrechungssignals in Reaktion auf das genannte Puffersignal, um
die genannte Übertragung von optischer Energie von den genannten Fotostellen zu
dem genannten Hauptplatinen-Speicher zu unterbrechen.
35. Verfahren nach Anspruch 34, ferner umfassend die folgenden Schritte:
- Sperren der Übertragung der genannten optischen Energie von dem genannten
horizontalen Register (82) während der genannten Übertragung von optischer Energie
von dem genannten vertikalen Register (80) in das genannte horizontale Register, und
- schnelles Übertragen der genannten optischen Energie, die einem Abschnitt der
genannten Region von Interesse in dem genannten vertikalen Register (80) entspricht,
zu dem genannten horizontalen Register (82), ohne die genannte gespeicherte Energie
aktiv aus dem genannten horizontalen Register zu entfernen.
36. Verfahren nach Anspruch 32, ferner umfassend die folgenden Schritte:
- Bereitstellen einer Rückkoppelungsverbindung (79) zwischen dem genannten
Bilderfassungsmittel (16) und dem genannten zweiten Speicherelement (78),
- Übertragen eines Unterbrechungssignals zu dem genannten Bilderfassungsmittel (16),
um die genannte Erfassung des Bildes zu unterbrechen, und
- Erzeugen des genannten Unterbrechungssignals, wenn das genannte zweite
Speicherelement eine Speicherschwelle erreicht, so daß das genannte
Unterbrechungsmittel die genannte Erfassung des Bildes sofort und vorübergehend
unterbricht.
37. Verfahren nach einem der Ansprüche 30 bis 36, ferner umfassend die folgenden
Schritte:
- Bereitstellen eines Pixelkorrekturmoduls (62) in der Schaltung mit dem genannten
Bilderfassungsmittel (16), separat vom Hostgerät, zum Korrigieren der genannten Pixel
vor der Übertragung zu dem Speicher, wobei das genannte Pixelkorrekturmittel bei
Bedarf so in der genannten Schaltung positioniert wird, daß es die genannten Bilddaten
von dem genannten Bilderfassungsmittel (16) empfängt.
38. Verfahren nach Anspruch 37, ferner umfassend die folgenden Schritte:
- Speichern einer Mehrzahl von vorbestimmten Pixelkorrekturwerten, die jedem Pixel
des Bildes entsprechen, und
- Multiplizieren jedes Pixels des Bildes mit dem genannten entsprechenden
Pixelkorrekturwert, um so ein korrigiertes Pixel zu bilden.
Applications Claiming Priority (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US2088596P | 1996-06-28 | 1996-06-28 | |
| US3869097P | 1997-02-07 | 1997-02-07 | |
| PCT/US1997/011609 WO1998000809A1 (en) | 1996-06-28 | 1997-06-27 | Image acquisition system |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| DE69712481D1 DE69712481D1 (de) | 2002-06-13 |
| DE69712481T2 true DE69712481T2 (de) | 2002-12-19 |
Family
ID=26694013
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| DE69712481T Expired - Lifetime DE69712481T2 (de) | 1996-06-28 | 1997-06-27 | Bilderfassungssystem und verfahren |
Country Status (6)
| Country | Link |
|---|---|
| US (4) | US6282462B1 (de) |
| EP (1) | EP0907931B1 (de) |
| JP (2) | JP4160118B2 (de) |
| CA (1) | CA2260195C (de) |
| DE (1) | DE69712481T2 (de) |
| WO (1) | WO1998000809A1 (de) |
Families Citing this family (109)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| DE69712481T2 (de) * | 1996-06-28 | 2002-12-19 | T. Eric Hopkins | Bilderfassungssystem und verfahren |
| US6971066B2 (en) * | 1997-08-18 | 2005-11-29 | National Instruments Corporation | System and method for deploying a graphical program on an image acquisition device |
| US7034871B2 (en) * | 1997-11-24 | 2006-04-25 | Eastman Kodak Company | Capturing digital images to be transferred to an e-mail address |
| US6906745B1 (en) | 1998-04-23 | 2005-06-14 | Micron Technology, Inc. | Digital exposure circuit for an image sensor |
| JP3296780B2 (ja) * | 1998-05-11 | 2002-07-02 | 三洋電機株式会社 | ディジタルカメラ |
| US6594036B1 (en) | 1998-05-28 | 2003-07-15 | Sandisk Corporation | Analog/multi-level memory for digital imaging |
| JP3469463B2 (ja) * | 1998-06-05 | 2003-11-25 | 富士写真フイルム株式会社 | 画像処理装置 |
| AU4975399A (en) | 1998-07-08 | 2000-02-01 | Lennard H. Bieman | Machine vision and semiconductor handling |
| US6956963B2 (en) * | 1998-07-08 | 2005-10-18 | Ismeca Europe Semiconductor Sa | Imaging for a machine-vision system |
| US7353954B1 (en) | 1998-07-08 | 2008-04-08 | Charles A. Lemaire | Tray flipper and method for parts inspection |
| US7268809B2 (en) * | 1998-09-23 | 2007-09-11 | San Disk Corporation | Analog buffer memory for high-speed digital image capture |
| US6760068B2 (en) * | 1998-12-31 | 2004-07-06 | Sandisk Corporation | Correction of corrupted elements in sensors using analog/multi-level non-volatile memory |
| GB2349717A (en) * | 1999-05-04 | 2000-11-08 | At & T Lab Cambridge Ltd | Low latency network |
| US6788411B1 (en) * | 1999-07-08 | 2004-09-07 | Ppt Vision, Inc. | Method and apparatus for adjusting illumination angle |
| US6542180B1 (en) * | 2000-01-07 | 2003-04-01 | Mitutoyo Corporation | Systems and methods for adjusting lighting of a part based on a plurality of selected regions of an image of the part |
| US7120593B1 (en) * | 2000-03-31 | 2006-10-10 | Eastman Kodak Company | Method and system for ordering image related goods and services |
| US7065288B1 (en) * | 2000-06-21 | 2006-06-20 | Sony Corporation | System and method of patching missing digital video packets communicated in an IEEE 1394 compliant implementation |
| US6486963B1 (en) | 2000-06-20 | 2002-11-26 | Ppt Vision, Inc. | Precision 3D scanner base and method for measuring manufactured parts |
| US6501554B1 (en) | 2000-06-20 | 2002-12-31 | Ppt Vision, Inc. | 3D scanner and method for measuring heights and angles of manufactured parts |
| US6509559B1 (en) | 2000-06-20 | 2003-01-21 | Ppt Vision, Inc. | Binary optical grating and method for generating a moire pattern for 3D imaging |
| AU2001265730A1 (en) * | 2000-06-23 | 2002-01-02 | Fastcom Technology S.A. | Image processing system |
| US7839450B2 (en) * | 2000-09-25 | 2010-11-23 | Sensovation Ag | Image sensor device, apparatus and method for optical measurements |
| US7031034B2 (en) * | 2000-10-02 | 2006-04-18 | Eastman Kodak Company | Articulating camera for digital image acquisition |
| JP2004531048A (ja) * | 2000-12-15 | 2004-10-07 | サイバーオプティクス コーポレーション | 改良されたインタフェースを有する基板整列画像捕捉装置 |
| US7545949B2 (en) * | 2004-06-09 | 2009-06-09 | Cognex Technology And Investment Corporation | Method for setting parameters of a vision detector using production line information |
| US9092841B2 (en) | 2004-06-09 | 2015-07-28 | Cognex Technology And Investment Llc | Method and apparatus for visual detection and inspection of objects |
| US7327396B2 (en) * | 2002-04-10 | 2008-02-05 | National Instruments Corporation | Smart camera with a plurality of slots for modular expansion capability through a variety of function modules connected to the smart camera |
| JP2003334986A (ja) * | 2002-05-22 | 2003-11-25 | Dainippon Printing Co Ltd | 印刷システム |
| US6878896B2 (en) | 2002-07-24 | 2005-04-12 | United Parcel Service Of America, Inc. | Synchronous semi-automatic parallel sorting |
| US20040120017A1 (en) * | 2002-12-20 | 2004-06-24 | Miller Mindy Lee | Method and apparatus for compensating for assembly and alignment errors in sensor assemblies |
| US7090134B2 (en) * | 2003-03-04 | 2006-08-15 | United Parcel Service Of America, Inc. | System for projecting a handling instruction onto a moving item or parcel |
| US7063256B2 (en) * | 2003-03-04 | 2006-06-20 | United Parcel Service Of America | Item tracking and processing systems and methods |
| US7499531B2 (en) * | 2003-09-05 | 2009-03-03 | Emc Corporation | Method and system for information lifecycle management |
| US8103873B2 (en) * | 2003-09-05 | 2012-01-24 | Emc Corporation | Method and system for processing auditory communications |
| US7457396B2 (en) * | 2003-09-05 | 2008-11-25 | Emc Corporation | Automated call management |
| US8209185B2 (en) * | 2003-09-05 | 2012-06-26 | Emc Corporation | Interface for management of auditory communications |
| JP4220406B2 (ja) * | 2004-02-03 | 2009-02-04 | 富士フイルム株式会社 | 固体撮像装置およびその画像記録方法、ならびにその画像再生方法 |
| US8891852B2 (en) | 2004-06-09 | 2014-11-18 | Cognex Technology And Investment Corporation | Method and apparatus for configuring and testing a machine vision detector |
| US20050276445A1 (en) * | 2004-06-09 | 2005-12-15 | Silver William M | Method and apparatus for automatic visual detection, recording, and retrieval of events |
| US8127247B2 (en) * | 2004-06-09 | 2012-02-28 | Cognex Corporation | Human-machine-interface and method for manipulating data in a machine vision system |
| US8243986B2 (en) * | 2004-06-09 | 2012-08-14 | Cognex Technology And Investment Corporation | Method and apparatus for automatic visual event detection |
| US7444287B2 (en) * | 2004-07-01 | 2008-10-28 | Emc Corporation | Efficient monitoring system and method |
| US8229904B2 (en) * | 2004-07-01 | 2012-07-24 | Emc Corporation | Storage pools for information management |
| US7707037B2 (en) * | 2004-07-01 | 2010-04-27 | Emc Corporation | Archiving of surveillance data |
| US8180743B2 (en) | 2004-07-01 | 2012-05-15 | Emc Corporation | Information management |
| US8180742B2 (en) * | 2004-07-01 | 2012-05-15 | Emc Corporation | Policy-based information management |
| US8244542B2 (en) * | 2004-07-01 | 2012-08-14 | Emc Corporation | Video surveillance |
| US20060004579A1 (en) * | 2004-07-01 | 2006-01-05 | Claudatos Christopher H | Flexible video surveillance |
| US9268780B2 (en) * | 2004-07-01 | 2016-02-23 | Emc Corporation | Content-driven information lifecycle management |
| US7561717B2 (en) * | 2004-07-09 | 2009-07-14 | United Parcel Service Of America, Inc. | System and method for displaying item information |
| DE102004033481A1 (de) | 2004-07-10 | 2006-01-26 | Robert Bosch Gmbh | Bildaufnahmesystem |
| US8626514B2 (en) * | 2004-08-31 | 2014-01-07 | Emc Corporation | Interface for management of multiple auditory communications |
| JP2006074337A (ja) * | 2004-09-01 | 2006-03-16 | Fuji Xerox Co Ltd | 符号化装置、復号化装置、符号化方法、復号化方法、及びこれらのプログラム |
| US7471318B2 (en) * | 2004-09-23 | 2008-12-30 | Aptina Imaging Corporation | First-in-first-out intermediate image storage |
| US7869790B2 (en) | 2004-09-24 | 2011-01-11 | Scenera Technologies, Llc | Policy-based controls for wireless cameras |
| WO2006044476A2 (en) * | 2004-10-12 | 2006-04-27 | Robert Vernon Vanman | Method of and system for mobile surveillance and event recording |
| US8121392B2 (en) * | 2004-10-25 | 2012-02-21 | Parata Systems, Llc | Embedded imaging and control system |
| US9292187B2 (en) | 2004-11-12 | 2016-03-22 | Cognex Corporation | System, method and graphical user interface for displaying and controlling vision system operating parameters |
| US7720315B2 (en) * | 2004-11-12 | 2010-05-18 | Cognex Technology And Investment Corporation | System and method for displaying and using non-numeric graphic elements to control and monitor a vision system |
| US7636449B2 (en) * | 2004-11-12 | 2009-12-22 | Cognex Technology And Investment Corporation | System and method for assigning analysis parameters to vision detector using a graphical interface |
| US7719579B2 (en) * | 2005-05-24 | 2010-05-18 | Zoran Corporation | Digital camera architecture with improved performance |
| US8145241B2 (en) | 2005-06-30 | 2012-03-27 | Armstrong, Quinton Co. LLC | Methods, systems, and computer program products for role- and locale-based mobile user device feature control |
| US9189934B2 (en) * | 2005-09-22 | 2015-11-17 | Rsi Video Technologies, Inc. | Security monitoring with programmable mapping |
| US8982944B2 (en) * | 2005-10-12 | 2015-03-17 | Enforcement Video, Llc | Method and system for categorized event recording of images in multiple resolution levels |
| JP4712537B2 (ja) * | 2005-11-18 | 2011-06-29 | パナソニック株式会社 | ネットワークカメラ、ネットワークカメラシステム、監視方法 |
| DE102006027662A1 (de) * | 2006-06-14 | 2007-12-20 | Siemens Ag | Verfahren zur Datenübertragung zwischen einer Bestückkopf-Steuereinrichtung und einer zentralen Steuereinrichtung in einem Bestückautomat, Bestückautomat, Bestückkopf, senderseitige Übertragungseinrichtung und System aus senderseitiger und empfängerseitiger Übertragungseinrichtung |
| US20080106603A1 (en) * | 2006-10-18 | 2008-05-08 | Southern Vision Systems, Inc. | System and method for high-speed image-cued triggering |
| US20080094476A1 (en) * | 2006-10-18 | 2008-04-24 | Southern Vision Systems, Inc. | System and Method of High-Speed Image-Cued Triggering |
| US8116595B2 (en) * | 2007-03-06 | 2012-02-14 | Infimed, Inc. | Universal interface for medical imaging receptors |
| US20080219599A1 (en) * | 2007-03-06 | 2008-09-11 | Infimed, Inc. | Universal Interface For Medical Imaging Receptors |
| US8237099B2 (en) * | 2007-06-15 | 2012-08-07 | Cognex Corporation | Method and system for optoelectronic detection and location of objects |
| US20090046157A1 (en) * | 2007-08-13 | 2009-02-19 | Andrew Cilia | Combined wide-angle/zoom camera for license plate identification |
| US8599368B1 (en) | 2008-01-29 | 2013-12-03 | Enforcement Video, Llc | Laser-based speed determination device for use in a moving vehicle |
| US8103085B1 (en) | 2007-09-25 | 2012-01-24 | Cognex Corporation | System and method for detecting flaws in objects using machine vision |
| CA2714362A1 (en) * | 2008-01-29 | 2009-08-06 | Enforcement Video, Llc | Omnidirectional camera for use in police car event recording |
| WO2009102477A1 (en) * | 2008-02-15 | 2009-08-20 | Enforcement Video, Llc | System and method for high-resolution storage of images |
| CN101924885B (zh) * | 2009-06-15 | 2014-01-15 | 鸿富锦精密工业(深圳)有限公司 | 图像采集接口电路 |
| JP4653844B2 (ja) * | 2009-07-08 | 2011-03-16 | ファナック株式会社 | ロボットシステムのための画像処理装置及びこれを備えるロボットシステム |
| DE102009046362A1 (de) * | 2009-11-03 | 2011-05-05 | Tesa Se | Haftklebestoff aus einem vernetzbaren Polyolefin und einem Klebharz |
| US8150215B2 (en) * | 2010-03-24 | 2012-04-03 | Altek Corporation | Routable image pipeline device |
| US8356114B2 (en) | 2010-04-15 | 2013-01-15 | Canon Kabushiki Kaisha | Region of interest-based image transfer |
| US8755441B2 (en) | 2010-05-10 | 2014-06-17 | Canon Kabushiki Kaisha | Region of interest-based video transfer |
| US8736680B1 (en) | 2010-05-18 | 2014-05-27 | Enforcement Video, Llc | Method and system for split-screen video display |
| CN101937559B (zh) * | 2010-08-23 | 2016-08-17 | 无锡中感微电子股份有限公司 | 一种抓图方法和抓图装置 |
| US8558894B2 (en) * | 2010-11-16 | 2013-10-15 | Hewlett-Packard Development Company, L.P. | Support for audience interaction in presentations |
| CA2826675C (en) | 2011-02-25 | 2018-04-10 | Photonis Netherlands B.V. | Acquiring and displaying images in real-time |
| EP2764455B1 (de) | 2011-10-05 | 2022-04-20 | Opteon Corporation | System und verfahren zur überwachung und/oder steuerung dynamischer umgebungen |
| US9651499B2 (en) | 2011-12-20 | 2017-05-16 | Cognex Corporation | Configurable image trigger for a vision system and method for using the same |
| KR101359004B1 (ko) | 2012-04-05 | 2014-02-07 | (주) 인텍플러스 | Pc 성능에 적응적인 실시간 영상 획득 장치 |
| CN103377163A (zh) * | 2012-04-13 | 2013-10-30 | 深圳市蓝韵实业有限公司 | 超声成像系统及其实时采集数据传输方法 |
| US9654742B2 (en) * | 2012-11-30 | 2017-05-16 | Safety Management Services, Inc. | System and method of automatically determining material reaction or sensitivity using images |
| CN104240258A (zh) * | 2014-09-30 | 2014-12-24 | 苏州智华汽车电子有限公司 | 一种基于车联网的全景环视系统标定方法、装置及系统 |
| JP6438793B2 (ja) * | 2015-02-17 | 2018-12-19 | 株式会社Fuji | 多重通信装置 |
| US9940542B2 (en) | 2015-08-11 | 2018-04-10 | Google Llc | Managing feature data for environment mapping on an electronic device |
| JP6654051B2 (ja) * | 2016-01-15 | 2020-02-26 | ソニー・オリンパスメディカルソリューションズ株式会社 | 医療用観察システム |
| JP6639920B2 (ja) * | 2016-01-15 | 2020-02-05 | ソニー・オリンパスメディカルソリューションズ株式会社 | 医療用信号処理装置、及び医療用観察システム |
| US10341605B1 (en) | 2016-04-07 | 2019-07-02 | WatchGuard, Inc. | Systems and methods for multiple-resolution storage of media streams |
| US10471478B2 (en) | 2017-04-28 | 2019-11-12 | United Parcel Service Of America, Inc. | Conveyor belt assembly for identifying an asset sort location and methods of utilizing the same |
| CN107480346A (zh) * | 2017-07-24 | 2017-12-15 | 核动力运行研究所 | 一种核动力装置严重事故的模拟系统及方法 |
| CN107480350A (zh) * | 2017-07-27 | 2017-12-15 | 北京道亨时代科技有限公司 | 一种输电线路的杆塔荷载的计算处理方法 |
| KR102591663B1 (ko) * | 2018-11-27 | 2023-10-20 | 한국전자통신연구원 | 영상 처리를 위한 전자 장치 및 영상 처리 방법 |
| CN109696846A (zh) * | 2018-12-26 | 2019-04-30 | 北京百度网讯科技有限公司 | 一种感知系统的固定装置及其固定方法 |
| CN109886695A (zh) * | 2019-03-26 | 2019-06-14 | 阿里巴巴集团控股有限公司 | 不同区块链之间的信息共享方法及装置和电子设备 |
| US10602119B1 (en) * | 2019-05-20 | 2020-03-24 | A & L Canada Laboratories Inc. | System and method for multiplexing MIPI multispectral imaging devices |
| JP7307262B2 (ja) * | 2020-02-20 | 2023-07-11 | ファナック株式会社 | ロボットシステム |
| CN111367946B (zh) * | 2020-03-03 | 2022-05-10 | 马鞍山职业技术学院 | 一种基于大数据的智能化办公教务管理系统 |
| WO2022025810A1 (en) | 2020-07-29 | 2022-02-03 | Fingerprint Cards Anacatum Ip Ab | Adaptive readout from a global shutter optical biometric sensor |
| CN114402367B (zh) * | 2020-07-29 | 2024-09-10 | 指纹卡安娜卡敦知识产权有限公司 | 从光学生物特征传感器到主机设备的适应性读出 |
| CN112425149B (zh) * | 2020-10-19 | 2022-01-28 | 深圳市锐明技术股份有限公司 | 图像信息处理方法、终端设备及计算机可读存储介质 |
Family Cites Families (18)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4649391A (en) * | 1984-02-01 | 1987-03-10 | Hughes Aircraft Company | Monopulse cavity-backed multipole antenna system |
| SU1432494A1 (ru) | 1986-10-27 | 1988-10-23 | Предприятие П/Я Р-6668 | Устройство дл ввода изображени в ЭВМ |
| US4855900A (en) * | 1987-10-28 | 1989-08-08 | Recognition Equipment Incorporated | System for transferring data to a mainframe computer |
| JPH01142833A (ja) | 1987-11-27 | 1989-06-05 | Nec Corp | データ処理装置 |
| GB2214036B (en) | 1987-12-15 | 1991-07-03 | Stc Plc | Data/image acquisition |
| US5282268A (en) * | 1988-09-27 | 1994-01-25 | Allen-Bradley Company, Inc. | Video image storage system |
| US5239387A (en) * | 1989-11-30 | 1993-08-24 | Hewlett-Packard Company | Buffering control for accommodating variable data exchange rates |
| US5196939A (en) * | 1989-12-28 | 1993-03-23 | Loral Fairchild Corporation | Method and apparatus for transferring images from an imaging array |
| JP2948974B2 (ja) * | 1992-02-04 | 1999-09-13 | 富士写真フイルム株式会社 | 撮像システム,電子カメラおよび電子カメラを制御するコンピュータ・システム,ならびにそれらの制御方法 |
| DE4207474C2 (de) | 1992-03-10 | 1994-09-22 | Elsa Ges Fuer Elektronische Sy | Verfahren zur datenverlustfreien Bilddaten-Abspeicherung und Bilddaten-Abspeicherungsvorrichtung |
| JPH05328031A (ja) | 1992-05-22 | 1993-12-10 | Sony Corp | 画像読み取り装置 |
| JP3484763B2 (ja) * | 1994-03-07 | 2004-01-06 | セイコーエプソン株式会社 | 映像データ転送装置およびコンピュータシステム |
| US5387926A (en) * | 1992-06-30 | 1995-02-07 | California Institute Of Technology | High speed digital framing camera |
| JPH06208614A (ja) | 1993-01-12 | 1994-07-26 | Matsushita Electric Ind Co Ltd | 画像処理装置 |
| JPH07250324A (ja) * | 1994-03-11 | 1995-09-26 | Sony Corp | 画像圧縮装置 |
| JPH08125818A (ja) | 1994-10-24 | 1996-05-17 | Matsushita Graphic Commun Syst Inc | 画像処理装置 |
| JPH08163339A (ja) | 1994-12-08 | 1996-06-21 | Ricoh Co Ltd | ファクシミリ装置 |
| DE69712481T2 (de) | 1996-06-28 | 2002-12-19 | T. Eric Hopkins | Bilderfassungssystem und verfahren |
-
1997
- 1997-06-27 DE DE69712481T patent/DE69712481T2/de not_active Expired - Lifetime
- 1997-06-27 JP JP52965497A patent/JP4160118B2/ja not_active Expired - Lifetime
- 1997-06-27 EP EP97933271A patent/EP0907931B1/de not_active Expired - Lifetime
- 1997-06-27 WO PCT/US1997/011609 patent/WO1998000809A1/en not_active Ceased
- 1997-06-27 CA CA002260195A patent/CA2260195C/en not_active Expired - Lifetime
- 1997-06-27 US US08/884,589 patent/US6282462B1/en not_active Expired - Lifetime
-
2001
- 2001-08-16 US US09/932,275 patent/US20020107613A1/en not_active Abandoned
-
2003
- 2003-01-31 US US10/355,717 patent/US7587261B2/en not_active Expired - Fee Related
-
2008
- 2008-04-02 JP JP2008096488A patent/JP4723608B2/ja not_active Expired - Lifetime
-
2009
- 2009-07-31 US US12/533,482 patent/US9491346B2/en not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| JP2000514213A (ja) | 2000-10-24 |
| US20100026844A1 (en) | 2010-02-04 |
| JP2008243211A (ja) | 2008-10-09 |
| CA2260195A1 (en) | 1998-01-08 |
| JP4723608B2 (ja) | 2011-07-13 |
| EP0907931A1 (de) | 1999-04-14 |
| US20020107613A1 (en) | 2002-08-08 |
| EP0907931B1 (de) | 2002-05-08 |
| WO1998000809A1 (en) | 1998-01-08 |
| US9491346B2 (en) | 2016-11-08 |
| DE69712481D1 (de) | 2002-06-13 |
| JP4160118B2 (ja) | 2008-10-01 |
| US20030120390A1 (en) | 2003-06-26 |
| CA2260195C (en) | 2003-09-23 |
| US7587261B2 (en) | 2009-09-08 |
| US6282462B1 (en) | 2001-08-28 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| DE69712481T2 (de) | Bilderfassungssystem und verfahren | |
| DE10084276B4 (de) | Ein verbesserter Lichtsensor mit einem erhöhten Dynamikbereich | |
| DE69728247T2 (de) | Pyramidenförmiger pipeline-prozessor für ein bildverarbeitungssystem | |
| DE69806811T2 (de) | Vorrichtung zur strahlungsbildaufnahme | |
| DE69519759T2 (de) | System und Verfahren zur Übertragung digitaler Daten zwischen einem Bildeingabeterminal und einem Hostterminal | |
| DE69635601T2 (de) | Halbleiterbildsensor und Videokamera, diesen beinhaltend | |
| DE3117870A1 (de) | Videoueberwachungssystem | |
| DE10344058A1 (de) | Vorrichtung und Verfahren zum Reduzieren von Bildunschärfe bei einer Digitalkamera | |
| DE2803686A1 (de) | Festkoerperfernsehkamera mit rauschunterdrueckungsschalter | |
| DE112016002160T5 (de) | Bildverarbeitungsvorrichtung und Bildverarbeitungsverfahren | |
| DE60114683T2 (de) | Vorrichtung und Verfahren zum Erzeugen von Taktsignalen | |
| DE3632639C2 (de) | Einrichtung zum Hochgeschwindigkeitsverarbeiten von Bilddaten durch Faltung | |
| EP2649802A1 (de) | Verfahren und vorrichtung zum verarbeiten von bildinformationen zweier zur bilderfassung geeigneter sensoren eines stereo-sensor-systems | |
| DE3851264T2 (de) | Bildverarbeitungsverfahren. | |
| DE102019119746A1 (de) | Bildsignalprozessor, Verfahren zum Betreiben des Bildsignalprozessors und Anwendungsprozessor mit dem Bildsignalprozessor | |
| DE3635687C2 (de) | ||
| DE3686521T2 (de) | Ein mit einem prozessor wechselwirkender bildabtaster. | |
| CH683893A5 (de) | Verfahren und Kamerasensor zum Abtasten einer Randkante eines Objektes. | |
| DE69802041T2 (de) | Graphisches Verarbeitungsgerät und -verfahren | |
| DE69432069T2 (de) | Elektronische Belichtungszeitregelung | |
| DD241471A1 (de) | Verfahren und anordnung zur automatischen steuerung von luftbildkameras | |
| DE3744128C2 (de) | ||
| EP2150039A1 (de) | Verfahren zur Bilderfassung von relativ bewegten Objekten | |
| DE102016120845B4 (de) | Kamerasystem und Betriebsverfahren hierfür | |
| DE69118368T2 (de) | Vorrichtung und Methode zur Unterdrückung kurzzeitiger Störimpulse in Videosignalen |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 8364 | No opposition during term of opposition |