-
VERWANDTE ANMELDUNGEN
-
Diese Anmeldung beansprucht den Vorteil der am 19.10.2012 eingereichten vorläufigen United States Anmeldung mit der Seriennummer 61/716,370 mit dem Titel SYSTEM UND VERFAHREN ZUM BESTIMMEN UND EINSTELLEN VON KAMERAPARAMETERN MITTELS MULTI-GAINBILDERN, deren gesamte Offenbarung hierin durch Verweis integriert ist.
-
GEBIET DER ERFINDUNG
-
Diese Erfindung betrifft die Kontrolle von Parametern in Bildverarbeitungs-Kameras, und insbesondere die automatische Regelung solcher Parameter.
-
HINTERGRUND DER ERFINDUNG
-
Bildverarbeitungssysteme, die Messungen, Kontrollen, Ausrichtungen auf Objekte und/oder Decodieren von Symbolcodes oder Markierungen (z. B. ein-dimensionale (1D) und zwei-dimensionale (2D) Datenmatrix-Barcodes, DotCodes, usw. – auch „IDs” genannt) werden in einem breiten Anwendungsbereich und in vielen Industrien verwendet. Diese Systeme basieren auf der Anwendung von Bildsensoren (auch „Imager” genannt), welche Bilder (in der Regel Graustufen- oder Farbbilder, und in ein, zwei oder drei Dimensionen) des Gegenstands oder Objekts erfassen, und diese erfassten Bilder mittels eines internen oder verbundenen Bildverarbeitungsprozessors verarbeiten. Typisch sind im Prozessor sowohl die Verarbeitungs-Hardware als auch die nicht flüchtigen computerlesbaren Programmanweisungen, welche einen oder mehrere Bildverarbeitungsprozesse durchführen, um eine gewünschte Ausgabe auf Grundlage der verarbeiteten Bildinformation zu erzeugen, enthalten. Diese Bildinformation wird in der Regel innerhalb einer Anordnung von Bildpunkten mit jeweils unterschiedlichen Farben und/oder Intensitäten vorgesehen. In dem Beispiel eines ID-Lesegerätes (hier auch „Kamera” genannt) erfasst der Benutzer oder automatisierte Prozess ein Bild eines Objekts von dem angenommen wird, dass es einen oder mehrere Barcodes, 2D-Codes oder andere ID-Typen enthält. Das Bild wird verarbeitet, um Code-Merkmale zu identifizieren, die dann durch einen Decodiervorgang und/oder Prozessor decodiert werden, um die enthaltenen und durch den Code repräsentierten Daten zu erhalten[GW1].
-
Ein häufig verwendetes ID-Lesegerät ist ein tragbares Modell, das vom Benutzer auf ein eine ID enthaltendes Objekt Order eine Szene gerichtet wird, und dann durch Ziehen des Triggers (typisch ein Knopf auf einem Griff) den Code erfasst und decodiert. Dem erfolgreichen Lesen/Decodieren des Codes folgt oft eine visuelle oder akustische Warnung, beispielsweise ein grünes Licht und/oder ein Signalton. Zu den tragbaren ID-Lesegeräten gehören unter anderem ein oder mehr Arten von „interner” Beleuchtung, d. h. einer Beleuchtung die vom Gehäuse des Lesegeräts selbst projiziert wird. Die Beleuchtung kann in einer Vielzahl von Farben, Diffusionsvermögen und/oder Winkeln in Bezug auf die Szene bereitgestellt werden. Ganz allgemein können der relative Winkel bei welchem eine ID abgebildet wird, die Lichtverhältnisse und die Art der ID alle erheblich variieren. Beispielsweise können IDs auf einem Objekt als ein kontrastreiches oder kontrastarmes Muster gedruckt werden, oder auf einem Objekt als nicht gedruckte, gehämmerte/gravierte Muster geformt werden. Das Lesegerät sollte all diesen Variationen Rechnung tragen und entsprechende Anpassungen seiner Parameter machen, wie beispielsweise Pixel-Verstärkung, Helligkeit, Belichtung und/oder Beleuchtungsart und/oder Intensität, um ein optimales Bild zum Decodieren bereitzustellen.
-
Systeme vom Stand der Technik haben versucht die Leistung von Lesegeräte auf verschiedene Arten zu optimieren. Zum Beispiel erfassen manche Systeme einen Strom von Bildern, jedes mit einer verschiedenen Parametereinstellung der Kamera, und analysieren die Bilder, um die Qualität von Merkmalen im Bild zu bestimmen. Eines oder mehrere dieser Bilder wird decodiert. Andere Systeme versuchen Bilder einer Szene vor dem Auslösen zu erfassen, um die vorherrschenden Bedingungen zu bestimmen und dann, wenn der Trigger aktiviert wird, das Bild bei einer Kameraeinstellung zu erfassen, die den Bedingungen optimaler angepasst ist. Der erste beispielhafte Ansatz verzögert jedoch auf unvorteilhafte Weise das endgültige Erfassen des decodierten Bildes und der zweite beispielhaft Ansatz erfordert, dass der Benutze das Lesegerät vor dem Abziehen des Triggers an etwa dem gleichen Ort und in der gleichen Orientierung hält. Beide Ansätze können die „Bissigkeit” des Geräts reduzieren (oder nicht erhöhen), das heißt, die Zeit von Auslösen bis zum Signalton, in der eine erfolgreiches Lesen erfolgt.
-
Es ist daher wünschenswert ein System und ein Verfahren bereitzustellen, welches eine Erhöhung der „Bissigkeit” in Bezug auf Erkennen und Handhaben (z. B. ID finden und decodieren) von interessierenden Merkmalen an einem Objekt bei abgebildeten Szenen ermöglicht, wobei große Variationen zwischen Licht und anderen Bedingungen in Bezug auf jedes der Objekte und/oder jede der Szenen bestehen können. Ganz allgemein ist es wünschenswert, dass das System und das Verfahren eine reaktionsfähige, automatische Regelung des Gerätes bei verschieden Beleuchtungs- und oder Bilderfassungs-Umgebungen bereitstellen.
-
ZUSAMMENFASSUNG DER ERFINDUNG
-
Diese Erfindung überwindet Nachteile des Standes der Technik durch das Bereitstellen eines Systems und eines Verfahrens zur Auto-Regelung von Parametern einer Bildverarbeitungs-Kamera und/oder damit verbundener Beleuchtung der von der Kamera abgebildeten Objekte durch Anwenden einer Vielzahl differenzierter Verstärkungseinstellungen (Multi-Gain) am Bildsensor der Kamera, um den Verstärkungswert, der das am besten lesbare Verstärkungsbild zu bestimmen. Das mit einer Vielfalt von Verstärkungseinstellungen erfasste Verstärkungsbild (mit den besten Eigenschaften) kann als ein diskretes Gainbild (z. B. verschachtelt in ein insgesamt Multi-Gainbild[GW2] oder als unterabgetastetes Bild extrahiert) nach Informationen gelesen werden, und/oder die Kameraparameter (z. B. globale Verstärkung und/oder globale Belichtungszeit) können gleichförmig über die Pixel im Array hinweg auf die besten Werte eingestellt werden, um anschließend ein besser abgetastetes Bild zu erfassen. Dieses Bild wird dann auf in als interessierend identifizierten Merkmalen (z. B. gefundene IDs) enthaltenen Informationen ausgelesen (z. B. decodiert).
-
In einer beispielhaften Ausführungsform wird ein System und ein Verfahren für die automatische Regelung der Einstellungen in einer Bildverarbeitungs-Kamera vorgesehen, die Bilder von Szenen mit Merkmalen von Interesse erfasst (z. B. IDs). Ein Prozessor (CPU) empfängt Bilddaten von einem Bildsensor (typisch in Graustufen) mit einem in diskreten Pixelgruppen angeordneten Pixelarray. Diese Pixelgruppen sind jeweils unabhängig voneinander mit einer bestimmten Gaineinstellung einstellbar. Ein Einstellvorgang liest die Pixelgruppe aus und wählt mindestens ein mit zumindest einer der Pixelgruppen verwandtes, erfasstes Gainbild aus. Das gewählte Gainbild enthält eine Version eines interessierenden Merkmals in einer abgebildeten Szene woraus Informationen mit ausreichender Detailauflösung für die im weiteren Prozess (z. B. Decodieren einer ID im Bild um decodierte Daten zu generieren) zu verwendenden Informationen gelesen werden können.
-
Wenn erfasst, können solche Gainbilder innerhalb eines insgesamt verschachtelten Bildes, das alle oder einen Teil des verfügbaren Sichtfeld des Sensors darstellt, anwesend sein. Alternativ können Gainbilder von dem verschachtelten Bild für eine anschließende Analyse dieser diskreten unterabgetasteten Bildern extrahiert werden. Der Anpassungsvorgang verändert beispielhaft zumindest einen Parameter der Kamera basierend auf einem Gainwert der Pixel mit dem ausgewählten Gainbild zugeordnet sind, und dieser Parameter ist zumindest einer aus Gain und Belichtung. Beispielhaft kann der Prozessor ein weiteres oder nachfolgendes Bild mit Pixeln aus einer Vielfalt von oder allen Pixelgruppen, die den/die Reset-Parameter verwenden, erfassen und analysieren. Der/die Parameter wird/werden einheitlich über einige oder alle Pixel rückgesetzt in Gruppen, die zuvor auf andere Gains eingestellt waren, so dass diese Pixel zur Erfassungen des nachfolgenden Bildes verwendet werden. Das Reset enthält eine globales Reset des Gain für die Pixel und ein globales Reset der Belichtungszeit über das Pixelarray hinweg. Der Prozessor kann konstruiert und angeordnet sein, um (alternative oder zusätzlich) eine Eigenschaft einer Beleuchtungsbaugruppe auf Basis des Gainwertes zu steuern. Zu solchen Beleuchtungskennwerten zählen beispielsweise Helligkeit, Winkeldauer, usw. In einer Ausführungsform kann jeder einzelne Bildpunkt von jeder der Pixelgruppen in jede einer Vielzahl von Vier-Pixeln-Matrizen (z. B. 2×2) organisiert werden. Diese Matrizen sind über das Pixelarray tesselliert. Alternativ können die Pixelgruppen jeweils in jede einer Vielzahl von Pixelkacheln organisiert werden. Die Kachel werden ebenfalls über das Pixelarray hinweg tesselliert.
-
KURZBESCHREIBUNG DER ZEICHNUNGEN
-
Die nachfolgende Beschreibung der Erfindung bezieht sich auf die beigefügten Zeichnungen, von denen
-
1 ein Diagramm eines beispielhaften, tragbaren ID-Lesegerätes mit einem Bildsensor und Bildbearbeitungsprozessor (CPU) zeigt, der zur Durchführung der automatischen Regelungsfunktionen auf Basis der Erfassung von Multi-Gainbildern entsprechend einer beispielhaften Ausführungsform konfiguriert und im gezeigten Beispiel Bilder von Objekten in jeweiligen Szenen mit verschiedenen Orientierungen und Eigenschaften zeigt;
-
2 ein Blockdiagramm der funktionellen Komponenten des ID-Lesegerätes der 1 zeigt, welches die Anordnung von Komponenten und den Fluss der Information zwischen den Komponenten zeigt;
-
3 ein Diagramm eines Teils einer Bildsensor-Pixelanordnung zeigt, das tessellierte Gruppierungen von 2×2 Multi-Gain-Pixel für die Verwendung mit dem System und Verfahren der 1 enthält;
-
4 ein Diagramm eines Teils einer Bildsensor-Pixelanordnung mit tessellierte Pixelkacheln zeigt, in welchen die Verstärkung aller Pixel in jeder Kachel unabhängig voneinander zur Verwendung mit dem System und Verfahren von 1 eingestellt werden kann;
-
5 eine Darstellung eines beispielhaften gesamten Multi-Gainbildes mit vier unter Verwendung des Systems und des Verfahrens von 1 hergestellten, verschachtelten Gainbildern zeigt;
-
6 eine Darstellung von vier diskreten, unterabgetasteten Gainbildern zeigt, die aus jedem Satz von Diskret-Gain-Pixel im Multi-Gainbild von 5 extrahiert worden ist und Variationen zwischen dem Kontrast eines Hintergrund relativ zu einem interessierenden Merkmal zeigt;
-
7 ein Diagramm zeigt, das die Auftragung der Luminanz als Funktion der Belichtung für jede der vier diskreten Gain-Einstellungen benutzt, um das Multi-Gainbild von 5 zu erzeugen, und
-
8 ein Flussdiagramm eines Verfahrens zum Einstellen von Multi-Gain-Pixel/Kacheln und zum Bestimmen einer gewünschten Beleuchtung, Verstärkung und/oder Belichtung des Bildsensors zur Anwendung beim Erfassen eines nachfolgenden Bildes einer Szene mit gleichmäßig rückgestellten Parameter zeigt.
-
DETAILLIERTE BESCHREIBUNG
-
1 zeigt ein Bildverarbeitungssystem 100, das mindestens eine ID-Lesevorrichtung 110 umfasst, die, wie gezeigt, in der Hand bzw. in Bezug auf eine Bildszene in einer fixierten Position gehalten werden kann. Der Leser kann ein beliebig akzeptables Gehäuse definieren, einschließlich des dargestellten Grundkörpers 112 und Griffs 114. In dieser Ausführungsform umfasst der Leser eine Frontscheibe 116, die von einem internen Beleuchtungssystem (Illuminator) umgeben ist. Eine externe Beleuchtung kann gegebenenfalls in Synchronisation mit dem Betrieb des Lesers bereitgestellt werden. Die interne Beleuchtung kann eine beliebige Anordnung und/oder Kombination von Leuchtelementen beinhalten. In dieser Ausführungsform werden beispielsweise diskrete Leuchtelemente (z. B. Hochleistungs-LEDs) 120, 122 eingesetzt und ermöglichen unterschiedliche Farben/Wellenlängen, Winkel und/oder der Intensitäten der Beleuchtung. Die Beleuchtung kann herkömmliche gerichtete LEDs (nicht gezeigt) enthalten, die einen Strahl auf ein Sichtfeld projizieren, um zu gewährleisten, dass interessierende Merkmale (z. B. Barcodes oder andere Arten von IDs) richtig und vollständig abgebildet werden. Der Leser 110 kann eine Anzeige und ein Interface-Panel 130 enthalten, das in dieser Ausführungsform an der Rückseite des Elements 112 angeordnet ist. Dieses Panel kann Ein/Aus und andere Schalter sowie Lampen zur Anzeige von ”guten” oder ”schlechten” ID-Lesungen enthalten (d. h. Erfolg oder Misserfolg beim Lesen/Decodieren der ID). Der Griff 114 kann einen oder mehrere Trigger-Tasten 132 aufweisen, die unter anderen Funktionen wie das Zu- und Wegschalten von gerichteten LEDs, eine Beleuchtung und Bildaufnahme auslösen.
-
Der Leser 110 weist außerdem eine oder mehrere Verarbeitungsschaltungen, Speicher und dergleichen auf, die zusammen als Bildverarbeitungsprozessor 136 (hier auch CPU bezeichnet) und zugehörige Speicheranordnung (gestrichelt) dargestellt werden. Dieser Prozessor 136 führt verschiedene Bildverarbeitungs- und Bilddatenabwicklungs-/Speicher-Funktionen durch. Beispielhaft empfängt der Prozessor 136 erfasste Bild-Frame-Daten in der Form von Farb- oder Graustufen-Pixel (unter anderen Formaten) vom Bildsensor (ebenfalls gestrichelt dargestellt). Der Prozessor sucht nach ID-Merkmalen (oder anderen interessierenden Merkmalen) in dem Bild, und leitet dann passende Daten an einen Decodiervorgang weiter, der aus den ID-Merkmalen decodierte Daten erzeugt. Diese decodierten Daten werden gespeichert und/oder über eine Kommunikationsverbindung (die verdrahtet oder wie gezeigt drahtlos sein kann) 140 an einen Empfänger 142, der über ein Netzwerk oder eine andere Verbindung mit einem Datenverarbeitungs- und Speicher-System 144 verbunden ist, weitergeleitet. Das System 144 kann einen herkömmlichen Server oder PC mit geeigneten Applikationen zum Handhaben und Speichern von vom im Lesegerät 110 übertragenen, decodierter Daten umfassen. Solche Applikationen und die Architektur des Systems 144 sollten Fachleuten in der Industrie bekannt sein.
-
Das Lesegerät 110 enthält auch eine Linsenanordnung 150 (hinter der Scheibe 116 gestachelt dargestellt) in Fixfokus- oder Autofokus-Anordnung. Ein Objekt O1 mit einer ID S1 wird beispielsweise abgebildet durch das Lesegerät 110, wobei die Linse 150 auf ein Sichtfeld FOV1 fokussiert wird in dem die ID S1 eine bestimmte Position und Ausrichtung in Bezug auf das Lesegerät einnimmt. Die Brennweite D1 entlang der optischen Achse OA1 befindet sich innerhalb eines akzeptablen Betriebsbereichs. Ebenso kann das Lesegerät 110 (wie gestrichelt dargestellt) auf ein anderes Objekt O2 fokussiert sein, das an einer anderen Stelle und Orientierung (und Brennweite D2) entlang der optischen Achse OA2 angeordnet ist. Die beiden beispielhaften Orientierungen können in Beleuchtung/Lichtverhältnis, ID Eigenschaften (z. B. mit hohem Kontrast und geringem Kontrast, gehämmert, schwarz-auf-weiß, weiß auf schwarz, ID Größe (z. B. 2 mil–20 mil Größe), usw.), Brennweite und/oder der Winkel der optischen Achse in Bezug auf die ID stark variieren. All diese Faktoren können sich auf die „Bissigkeit” der System 100 Ablesung von einer ID zur anderen auswirken. Sofern Faktoren wie Pixel-Gain und Belichtung optimiert werden können um die „Bissigkeit” zu verbessern, ist die beispielhaft dargestellte Ausführungsform so angepasst, dass der Bildbearbeitungsprozessor/CPU 136 und der damit verbundene Bildsensor 138 arbeiten, um einen optimale Pixel-Gain und/oder eine optimale Belichtung auszuwählen. Diese Parametereinstellungen ermöglichen ein schnelleres und genaueres Lesen/Decodieren von IDs oder anderen interessierenden Merkmalen.
-
Unter Bezugnahme auf 2 wird das System 100 und das Zusammenwirken der sich darin befindlichen Komponenten schematisch dargestellt. Wie dargestellt, ist die CPU operativ mit einer programmierbaren Speicheranordnung 210 verbunden, die aus einem oder mehreren RAMs bestehen kann, die (zum Beispiel) Programmdaten 212, CPU Betriebsanleitung 214 und/oder Bilddaten 216 speichern. Diese Daten 220 werden über eine geeignete Bus-Architektur zur und von der CPU übertragen. Auf Basis der erfassten Bild-Frames überträgt der Sensor 138 Bilddaten 218 zum Speicher 210. Die Bilddaten repräsentieren von einem Objekt O mit IDs und/oder anderen interessierenden Merkmalen reflektiertes Licht 230. Eine interne und/oder externe Beleuchtung 240 zusammen mit einer beliebigen Umgebungsbeleuchtung sendet Licht auf das Objekt O, welches in einer bestimmten Weise auf den Sensor 138 reflektiert wird (Licht 230). Die Art und Weise in der das Licht reflektiert wird wirkt sich auf die Fähigkeit des Sensors aus, IDs zu finden und zu decodieren. Timing, Intensität, Muster, Typ, etc. der Beleuchtung kann durch entsprechende Strobesignale 246, bereitgestellt durch die CPU 136, gesteuert werden. Diese erfassten und gespeicherten Bilddaten 216 werden von der CPU 136 entsprechend verarbeitet. Diese Verarbeitung umfasst die Verwendung der Bilddaten 216 in verschiedenen automatischen Regulier-Funktionen in denen Kameraparameter verändert werden (siehe Beschreibung weiter unten). Solch eine automatische Regulierung wird zum Teil durch Konfigurationsparameter 250 bereitgestellt, die von der CPU 136 festgelegt (260) werden. Zu solchen Parameter gehören beispielsweise Belichtung und Gain. Entsprechend einer beispielhaften Ausführungsform werden die Parameter 250 basierend auf von der CPU ausgelösten (262) Bildern festgelegt und, zumindest teilweise für automatische Regulier-Prozesse verwendet.
-
Es wird anerkannt, dass eine Vielzahl von kommerziell verfügbaren Bildsensoren Funktionalitäten enthalten, welche die Verstärkung einzelner Pixel in einer Gruppierung von anzupassenden Pixeln ermöglichen. Insbesondere ermöglichen verschiedene handelsübliche Sensoren ein Verstellen für jede der vier Pixel in jeder 2×2 Gruppierung (über den gesamten Sensor), um die Sensor-Farbreaktion auf rot/grün/blau (RGB), einer Standard-Bayer-Matrix anzupassen. Das heißt, wo der Sensor Farbe erkennen kann wird jedes Pixel mit einem bestimmten Farbfilter (genannt Bayerfilter) abgedeckt. Die Pixel definieren eine tessellierte Matrix von roten, grünen und blauen Filtern-wo grün oft zweimal in der Gruppe von vier aufscheint. Alternativ können Sensoren Cyan-Magenta-Gelb (CMY/CMG) oder einen anderen Satz von Wellenlängen einsetzen. Solche beispielhaften Sensoren (CMOS) enthalten aber sind nicht beschränkt auf das von Micron Technology, Inc. aus Boise, ID verfügbare Modell MT9M001 und das von e2v Technologies im Vereinigten Königreich verfügbare Modell EV76C560. Wird der Sensor ohne irgendeinen Farbfilter bereitgestellt, dann arbeitet er als eine Graustufen-Einheit. 3 zeigt einen Teil eines beispielhaften Sensor-Pixel Arrays 310. Es werden Gruppierungen (gestrichelte Kästchen 320) von jeweils 4 Pixel (2×2) gezeigt. Jede Gruppierung (oder Matrix) kann vier unabhängige Gainwerte, G1, G2, G3 und G4 haben, die darin eingestellt werden. D. h., das als G1 bezeichnete Kästchen wird auf eine tessellierte Art über das gesamte Pixel-Array eingestellt. In gleicher Weise können G2, G3 und G4 unabhängig voneinander über das Array hin eingestellt werden. Alle Pixel, egal ob als G1, G2, G3 oder G4 bezeichnet haben den gleichen angepassten Gainwert.
-
Andere Sensoren ermögliche das unabhängige Einstellen von Gain in individuellen Pixelkacheln. Beispielsweise ermöglicht das Modell MT9V034, verfügbar von Aptina Imaging Corporation in San Jose, CA eine unabhängige Anpassung der Pixelkacheln. Wie gezeigt kann eine Serie von 5 × 5 Kacheln (P5) von 25 Pixeln unabhängig auf einen gewünschten Gain eingestellt werden. Zum Beispiel kann jede Kachel im Sensor-Pixel-Array 410 auf einen von vier Gainwerten, G1, G2, G3 und G4 eingestellt werden, und alle Pixel in dieser Kachel tragen den gleiche Gainwert. Die spezifischen Gainwerte in den einzelnen Kacheln werden wie gezeigt über das gesamte Sensorarray tesseliert. In alternativen Ausführungsformen können weniger oder mehr als vier unabhängig voneinander einstellbaren Gainwerte für die Anordnung der 3 oder 4 vorgesehen sein.
-
Die Einstellung der einzelnen Gainwerte G1–G4 über die Pixel-Array (310 oder 410) erfolgt entsprechend den Spezifikationen des Sensor-Herstellers basierend auf Programmanweisungen und Prozessen, die in der CPU durchgeführt werden. Wie hierin verwendet sollten die Begriffe ”Prozess” und/oder ”Prozessor” großzügig verstanden werden und eine Vielfalt elektronischer Hardware und/oder softwarebasierender Funktionen und Komponenten einschließen. Darüber hinaus kann ein dargestellter Prozess oder Prozessor mit anderen Prozessen bzw. Prozessoren kombiniert werden oder auf verschiedenen Unterkategorien oder Prozessoren aufgeteilt werden. Entsprechend hierin enthaltener Ausführungsformen können solche Unterkategorien und/oder Sub-Prozessoren kombiniert werden. Ebenso ist ausdrücklich beabsichtigt, dass jede Funktion, jeder Prozess und/oder jeder Prozessor hierin mit elektronischer Hardware, Software, bestehend aus einem nicht vergänglich Computerlesbaren Datenträger mit Programmanweisungen oder eine Kombination von Hardware und Software umgesetzt werden.
-
Durch das nicht beschränkende Beispiel zeig 5 ein ”Multi-Gain” angezeigtes Bild 510 eines Objekts mit einem zentralen interessierenden Merkmal 512. Durch Einstellen der individuellen Verstärkung eines jeden der Pixelkacheln 520, 522, 524 und 526 in dem beispielhaften Array (z. B. Array 410 in 4) der Pixel (z. B. das Array 310 in 3), erscheinen die resultierenden Bilddaten als eine Reihe heller oder dunkler Regionen über das gesamte Bildfeld. Dieses Gesamtbild ist im Wesentlichen vier verschachtelte Gainbilder, jeweils mit einem Viertel der gesamten Pixelanzahl des Arrays innerhalb des angezeigten Bereichs. Wie in 6 entspricht jedes der vier einzigartigen, teilweisen (unterabgetasteten) Gainbilder, 620, 622, 624 bzw. 626 allen Kacheln (oder Pixel) 520, 522, 524 und 526 im Multi-Gainbild 510. Es sollte dabei klar sein, dass das interessierende Merkmal 512 (ein dunkler Buchstabe „C”) mit der Gain-Einstellung für Pixel 522 am klarsten ist. Im Gegensatz dazu ist das Merkmal 512 praktisch unsichtbar, wenn die Verstärkung des Pixel 624 verwendet wird. Die Bilder 626 und 620 zeigen eine mittlere Sichtbarkeit für das beispielhafte interessierende Merkmal 512.
-
Durch Einstellen einer Reihe von niedrig auf hoch Verstärkungen befindet sich daher in der Regel eines der vier Bilder, 620, 622, 624 und 626 in einem Graustufenbereich, bei dem die Pixel weder durch Überbelichten ausgewaschen (zu hell) erscheinen noch so dunkel, dass das Bildrauschen größer als das Signal ist. In beispielhaften Ausführungsformen reicht das Gainbild (z. B. unterabgetastetes Bild 622) dazu aus, akzeptable Informationen – wie eine lesbare ID direkt daraus erhalten werden kann. Bei anderen Ausführungsformen wird das Bild, dessen Leuchtdichte dem Ideal (622) am nächsten kommt, als Referenz für die Vorhersage der besten Verstärkung und/oder Belichtung für das Bild mit normal voller/hoher Auflösung („Auflösung” bedeutet Abstand/Häufigkeit des Bildes), welches in einem späteren Bild-Frame nachdem die Verstärkung aller Pixel einheitlich auf jene Verstärkung festgelegt worden ist, die das am besten lesbaren Bild erzeugt. Im gezeigten Beispiel werden Verstärkungen auf 1,5, 5, 10 und 15 festgelegt. Allerdings sind diese vier Gainwerte exemplarisch für eine Vielzahl möglicher Werte, die auf diskrete Gruppen unabhängig voneinander einstellbarer Pixel angewendet werden können.
-
Es wird auf 7, verwiesen, welche eine Kurve 700 der Belichtung (Mikrosekunden) gegenüber der Leuchtdichte (cd/M2) für jede der vier oben beschriebenen, beispielhafte Gainwerte basierend auf Messungen mit der oben beschriebenen Sensor-Anordnung (4) zeigt. Nur die unter 150 liegenden Luminanzwerte werden aufgetragen, um das durch Überbelichtung verursachte nichtlineare Plateau zu vermeiden die; wir erhalten für jeden Gain gute lineare Daten, wie im ersten Diagramm links unten gezeigt. Wie gezeigt, ist jede Diagrammlinie im Wesentlich linear über den Bereich von Werten aufgetragen. Diese Berechenbarkeit hilft bei der Bestimmung der richtigen Gain-Einstellung, besonders für Bilder, die optimale Eigenschaften zwischen zwei der Gain-Einstellungen aufweisen.
-
8 zeigt ein Ablaufdiagramm eines Vorgangs 800 zur Ermittlung einer entsprechenden Gain-Einstellung für die Pixel des Bildsensors, um ein lesbares Bild zu erhalten, und Gain- und/oder Belichtungseinstellungen so einzustellen, dass anschließend eine ausreichend hohe Qualitätsversion des Bildes erzielt werden kann, um daraus Informationen (z. B. decodierte ID-Daten) zu erhalten. Der Vorgang 800 beginnt, wenn der Benutzer oder ein anderer automatisierten Prozess (z. B. ein Fließband-Encoder und/oder Objekt-Erkennungsprozess) ein Triggersignal überträgt und damit eine Bilderfassung (Schritt 810) anfordert. Im Schritt 820 wird jeweils eine Pluralität der Gain-Einstellungen für jeden entsprechende Pixelsatz oder jede Pixelkachel über den Bildsensor hinweg angewandt. Diese Werte können zuerst ausgewählt werden und dann auch in allen nachfolgenden Iterationen des Prozesses (siehe unten) unter Verwendung verschiedener Techniken. In einem allgemeinen Verfahren werden die Werte in einem breiten Spektrum der verfügbaren Gain-Einstellungen wie oben beschrieben festgelegt.
-
Insbesondere wird die Geschwindigkeit der Erfassung des Multi-Gainbildes durch Anwenden einer minimalen Belichtungszeit in Verbindung mit einem vollen Bereich an Gain-Einstellungen erhöht. Bei dieser minimale Belichtungszeit ist es wahrscheinlicher, dass eine höhere Gain-Einstellung ein akzeptables Bild zum Zweck der Bestimmung und Einstellung optimaler Kameraparameter ergibt. Das heißt, wenn ein niedrigerer Gain ein akzeptables Bild bei einer längeren Belichtungszeit brächte, jedoch nicht bei der gewählten verkürzten Zeit, dann bietet eine höhere Gain-Einstellung in einem der Gewinn-Bilder die wünschenswerte Bildqualität bei der kürzeren Zeit. Der Nachteil ist ein hohes Signal-Rausch-Verhältnis (SRV) beim Bild mit kürzerer Belichtung und höherem Gain. Für die Feststellung des besten Satzes an Kameraparametern aus dem Gainbild für den Einsatz beim Erfassen eines Bildes mit normaler, längerer Belichtung (siehe unten), wirkt sich ein höherer Rauschanteil im Gainbild in der Regel jedoch nicht auf die Analyse aus. In einer Ausführungsform kann die Belichtungszeit für das Erfassen des Multi-Gainbildes ca. 1000 Mikrosekunden (1 Millisekunde) sein.
-
Es ist zu beachten, wie weiter unten beschrieben, dass bei der Extrapolation der Parameter für das Erfassen eines nächsten Bildes der Prozessor ständig versucht, die Schwarzwerte auf dem Sensor zu kalibrieren. Dies kann die Pixelwerte um mehrere Schritte verlagern und Diskrepanzen zwischen Bildern und zwischen benachbarten Pixeln verursachen, da es vier verschiedene Einstellungen für schwarze Niveaus für jedes der vier Pixel in der 2×2 Multi-Gain-Pixelmatrix oder Kacheln gibt. Da die Schwarzwert-Korrektur in der Regel vor der Analog/Digital-Wandlung beim Auslesen des Sensors angewandt wird, sind die Werte für die Korrektur in der Regel Spannungswerte und nicht digital Pixel Intensitätswerte (z. B. 0–255), so dass eine Korrektur angewandt wird, um die vorherrschenden wahrgenommene Spannung auf einen Pixel-Offset zu konvertieren. Auf der Grundlage empirischer Messungen wird diese Umwandlung auf 50% eingestellt. Die Verwendung von Kalibrierwerten für den schwarzen Pegel ermöglicht im Allgemeinen die Vorhersage einer Belichtung, die Luminanzwerte ergibt, welche näher am gewünschten Ziel liegen, selbst über große Belichtungsveränderungen hinweg.
-
Basierend auf den Einstellungen in Schritt 830, erfasst der Sensor dann das Bild einer Szene über eine vorgegebene Belichtungszeit und sendet die Bilddaten an die CPU. Die CPU, und der damit verbundene automatische Regelungsprozess (800), bestimmt dann (Entscheidungsschritt 840), ob eines oder mehrere der resultierenden diskreten Gainbilder ausreichend für Systemprozesse bei Lösen von Informationen in interessierenden Merkmalen lesbar ist, oder ganz allgemein eines oder mehrere der Bilder Kontraste und andere Eigenschaften enthält, die es als ausreichend für den Erhalt von Informationen (z. B. decodierte ID-Daten) ausweisen. Wenn keines der Gainbilder ausreicht, kann die CPU bestimmen, ob Veränderungen im Gain die Bildqualität verbessern könnten (Entscheidungsschritt 842). Zu diesem (oder ungefähr zu diesem) Zeitpunkt kann der Vorgang 800 den aktuellen Schwarzwert vom Sensor erhalten (Schritt 841). Dies hilft bei der Feststellung, ob er weiter angepasst werden muss. Wenn das Bild im Wesentlichen nicht lesbar ist, sogar mit vier verschiedenen Verstärkerparametern, dann leitet der Entscheidungsschritt 842 das System zur Anzeige eines Fehlers beim Lesen (Schritt 844). Wenn eine Verbesserung beim Lesen mit verschiedenen Gain-Einstellungen möglich ist, dann verzweigt der Entscheidungsschritt 842 (optional) zu Schritt 850 und es wird ein neuer Verstärkersatz gewählt, der beim Erfassen eines nachfolgenden Multi-Gainbildes im Schritt 820 verwendet wird. Diese neuen Gains können durch Bereitstellen einer Reihe von Gain-Zwischeneinstellungen ermittelt werden, die sich zwischen einem oder mehreren Paaren von Gainbildern befinden, die möglicherweise lesbare Bilder zeigen. Alternativ kann ein zweiter Satz von vordefinierten (nicht abhängig von den Bildern des ersten Satzes) Gainwerten eingesetzt werden – beispielsweise, wenn keiner der Gainwerte des ersten Satzes ein vielversprechendes Bild liefert. Eine Vielzahl anderer Techniken kann für die Auswahl neuer Gainwerte in Schritt 850 eingesetzt werden. Die Anzahl der Iterationen in denen die Verstärkung geändert und neu angepasst wird, ist sehr unterschiedlich. Ebenso wird ausdrücklich beabsichtigt, dass die Erstanpassung der Verstärkung die Grundlage für einen Satz an Gainbildern bilden kann, die dann in anderen Arten von Anpassungsprozesse (mit Ausnahme der iterativen Gain-Nachjustierung) verwendet werden, mit dem Ziel, Kameraparameter (bzw. Beleuchtungs-Eigenschaften) allmählich zu justieren, um eine lesbareres Bild zu erzielen.
-
Es sollte dabei beachtet werden, dass beabsichtigt ist, das Multi-Gainbild nicht über das gesamte Sensorarray hin analysieren zu müssen, sondern nur über einen reduzierte Teil (bzw. ein reduziertes Sehfeld) aus einer bestimmten Region (z. B. der mittleren), oder einem Teil, der wahrscheinlich ein Merkmal enthält, oder einem Teil, der sonst wie für das bzw. die sich hier im Bild befindliche(n) allgemeine(n) Muster bezeichnend ist. Diese Konzentration auf eine Region reduziert in der Regel die Bearbeitungszeit.
-
Wenn ein neues Multi-Gainbild erfasst und über Schritte 830 und 840 analysiert wird, dann verwendet der Vorgang 800 die Gain-Einstellungen in Schritt 854, um neue Kameraparameter (z. B. globale Verstärkung und globale Belichtung) zur gleichmäßigen Anwendung über einige oder alle Pixel im Sensor zur Verwendung bei der Erfassung eines nachfolgenden Bildes zu berechnen. Die Berechnung der neuen Parameter kann mit einer Vielzahl von Techniken, die z. B. auf Nachschlagetabellen und/oder Gleichungen beruhen können, durchgeführt werden. Diese Berechnungen können teilweise auf experimentellen Daten, wie z. B. den im Diagramm der 7 gezeigten, beruhen.
-
Es sollte dabei auch beachtet werden, dass wenn die im Schritt 850 generierten, neuen Gain-Einstellungen für ein Gainbild erstellt werden, das bereits als lesbar gilt (aber möglicherweise unterhalb einer Schwelle liegt), dann kann sich das Verfahren 800 (über die durch eine gestrichelte Linie dargestellte Verzweigung 852 im Vorgang 800) zum Schritt 854 verzweigen, und mindestens eine der neuen Einstellungen verwenden, um Parameter beim Erfassen eines nachfolgenden Bildes weiter zu verfeinern.
-
Sobald das Gainbild als lesbar erachtet wird, und neue Parameter berechnet wurden, kann das Verfahren das Ergebnis mindestens einem der Schritte 860, 862 und/oder 864 bzw. dem Entscheidungsschritt 842 bereitstellen. Ganz allgemein kann der Vorgang 800 eine maximale Anzahl an Iterationen (z. B. eine Iteration des Schrittes 850) enthalten, bis das System ein fehlgeschlagenes Auslesen (Schritt 844) angibt oder Parameter bzw. das beste Gainbild an die Schritte 860, 862 bzw. 864 weiterleitet. Diese Schritte können in Kombinationen oder in verschiedenen Alternativen (oder in alternativen Ausführungsformen) eingesetzt werden. In Schritt 860 leitet das Verfahren 800 das System dazu, die Intensität, die Muster und/oder die Art der Beleuchtung zu variieren und ein nachfolgendes Bild mit dieser neuen Beleuchtungs-Eigenschaft (und neuen einheitlich eingestellten Sensorparametern) zu erfassen. Die Beleuchtungs-Eigenschaften können auf einem Lookup oder einer anderen Berechnung beruhen, welche die Verstärkung und/oder Belichtung mit dem beste Bild zu einem damit verbundenen Beleuchtungsparameter vergleicht und Teil der Berechnung in Schritt 854 sein kann. Einige oder all diese Informationen können mittels eines systematischen Probierverfahrens, das eine Tabelle von Werten generiert, oder durch empirische Formeln generiert werden. Alternativ (oder zusätzlich zu Schritt 860) kann das Verfahren 800 die Gain-Informationen zum Zurücksetzen der globalen Verstärkung und/oder Belichtung des Sensors verwenden, um ein nachfolgendes Bild mittels einheitlich über das Sensor-Array hin eingestellte Pixel zu erfassen. Das nachfolgende Bild kann dann eher gelesen werden. Im Allgemeinen werden die zur Erfassung anderer Gainbilder verwendeten Pixel auf eine neue globale Gain-Einstellung rückgesetzt, und zum Erfassen dieses nachfolgenden Bildes wird eine längere Belichtungszeit angewandt. Eine weitere Alternative besteht darin, dass das erfasste Gainbild direkt verarbeitet werden kann (Schritt 864), wenn seine Merkmale ausreichende Details bieten, um daraus die gewünschten Informationen (z. B. eine decodierbaren ID) zu erhalten. In solchen Fällen kann die Parameter-Berechnung (Schritt 854) optional sein.
-
Die Verarbeitung des erfassten Bildes aus mindestens einem der Schritte, 860, 862 und 864 erfolgt in Schritt 870, in welchem Informationen im Bild gelesen, decodiert, oder sonst wie analysiert werden, um die gewünschten Daten (z. B. ein alphanumerischer und/oder anderer Datenstrom) zu generieren.
-
Experimentell wurde festgestellt, dass ein Multi-Gainbild (z. B. 5) mit einem reduzierten Sichtfeld und Unterabtastung in einem Zehntel der Zeit eines normalen Bildes erfasst werden kann (4 ms gegenüber 40 ms), und es kann sowohl aus dunklen als auch aus hellen Umgebungsbedingungen eine akzeptable Verstärkung/Belichtung für das nachfolgende Bild prognostizieren.
-
Es sollte klar sein, dass das oben beschriebene System und Verfahren zur automatischen Regelung von Parametern einer Bildverarbeitungs-Kamera eine relativ schnelle und genaue Technik zum Anpassen der Verstärkung und Belichtung zur Berücksichtigung der verschiedensten Bedingungen zwischen jedem Ereignis einer Laufzeit-Bilderfassung bereitstellt. Das System und Verfahren verwendet in bestimmten Sensoren bereits enthaltene Funktionen und kann mit einem Minimum an zusätzlichem Software-Code und/oder Hardware implementiert werden. Dieses System und Verfahren ermöglicht auch die Verwendung von Gainbildern (verschachtelte und/oder extrahierte, unterabgetastete Bilder), um je nach Bedarf Informationen oder iterative Verfeinerungen der Konfigurationsparameter der Kamera zu erhalten, um die gewünschte Bildqualität für ein erfolgreiches Lesen der Informationen der Bild-Merkmale zu erhalten.
-
Das Vorhergehende war eine detaillierte Beschreibung von Ausführungsbeispielen der Erfindung. Verschiedene Modifikationen und Zusätze sind möglich, ohne vom Geist und Umfang dieser Erfindung abzuweichen. Merkmale einer jeden der oben beschriebenen Ausführungsformen können in geeigneter Weise auch mit Merkmalen anderer beschriebener Ausführungsformen kombiniert werden, um eine Vielzahl von Merkmalskombinationen in zugehörigen neuen Ausführungsformen zu bieten. Darüber hinaus, obwohl das Vorhergehende eine Anzahl getrennter Ausführungsformen des Apparates und Verfahrens der vorliegenden Erfindung beschreibt, ist das hierin Beschriebene lediglich beispielhaft für die Anwendung der Grundsätze der vorliegenden Erfindung. Zum Beispiel ist ausdrücklich beabsichtigt, dass der hierin verwendete Bildsensor jedes annehmbare Modell bzw. jede annehmbare Type sein kann, die allgemein die Fähigkeit enthält, die Verstärkung oder anderen ähnlichen Einstellungen in einzelnen Pixeln oder Gruppen von Pixeln zu unterscheiden. Außerdem sind die hierin angewandten Prozessor-Anordnungen nur beispielhaft für eine Vielzahl von Prozessor-Anordnungen, die im Verhältnis zum Lesegerät intern und/oder extern sein können. In alternativen Ausführungsformen kann sich die CPU vollkommen oder teilweise außerhalb des Lesergehäuses befinden, wobei die Bilddaten über eine Anbindung zur CPU zur Verarbeitung übertragen werden. Außerdem, obwohl das Ausführungsbeispiel durch einen ID-Leser (tragbar oder fest montierte) veranschaulicht wird, ist es ausdrücklich beabsichtig, dass andere Arten von Bildverarbeitungssystemen, die in weiten dynamischen Bereichen betrieben werden können, von den hierin enthaltenen Lehren profitieren können, einschließlich Robotermanipulatoren und Überwachungssysteme (z. B. Systeme mit Gesichtserkennung). Demgemäß soll diese Beschreibung nur als Beispiel dienen und sonst nicht den Umfang der vorliegenden Erfindung beschränken.