-
HINTERGRUND
-
Strichcodeleser sind heute gang und gäbe und werden in einer Vielzahl von Umgebungen eingesetzt, um Strichcodes zu lesen, die oft an verschiedenen Gegenständen angebracht sind. In einigen Fällen, wie z.B. bei Strichcodelisten, werden Strichcodes in einer dicht gepackten Anordnung bereitgestellt, bei der eine Vielzahl von Strichcodes lediglich durch wenige Zoll voneinander getrennt sind. Dies kann für viele Strichcodeleser problematisch sein, da ihr Sichtfeld (FOV) breit genug sein kann, um mehrere Strichcodes zu erfassen, wenn der Strichcodeleser in einem geeigneten Abstand von der Strichcodeliste gehalten wird. In einigen Fällen kann es vorkommen, dass die Leser einen dekodierten Strichcode berichten, der zwar dekodierbar ist, sich aber am äußersten Rand des FOVs befindet. In anderen Fällen gibt der Leser möglicherweise einfach einen Dekodierfehler und/oder überhaupt keine erfolgreiche Dekodierung aus. Daher besteht ein Bedarf an Vorrichtungen, Systemen und Verfahren, die auf das Dekodieren eines gewünschten Strichcodes in einer Arbeitsumgebung gerichtet sind, in der Strichcodes dicht aneinander gepackt sind.
-
BESCHREIBUNG
-
Dementsprechend sind zumindest einige Ausführungsformen der vorliegenden Erfindung darauf ausgerichtet, einen gewünschten Strichcode in einer Arbeitsumgebung zu dekodieren, in der Strichcodes dicht aneinander gepackt sind.
-
In einer Ausführungsform ist die vorliegende Erfindung ein Verfahren zum Durchführen eines Strichcode-Lesevorgangs durch einen Strichcodeleser mit einer Steuerung, einer Bildgebungsbaugruppe, die zum Erfassen von Bildframes betreibbar ist, und einer Ziellichtbaugruppe, die zum Emittieren eines Ziellichts mit einem Ziellichtmuster betreibbar ist, wobei das Verfahren umfasst: Erfassen eines Dekodier-Framebildes über die Bildgebungsbaugruppe; Dekodieren eines Strichcodes innerhalb des Dekodier-Framebildes über die Steuerung; nach dem Dekodieren des Strichcodes innerhalb des Dekodier-Framebildes, Erfassen eines Entnahmelisten-Framebildes über die Bildgebungsbaugruppe; Erkennen eines Abschnitts des Entnahmelisten-Framebildes innerhalb des Entnahmelisten-Framebildes, der von mindestens einem Teil des Ziellichts beleuchtet wird; und Berichten des Dekodierens des Strichcodes an einen Host, wenn der Abschnitt des Entnahmelisten-Framebildes mindestens teilweise mit dem Strichcode überlappt.
-
In einer anderen Ausführungsform ist die vorliegende Erfindung ein Strichcodeleser, der umfasst: ein Gehäuse; eine Bildgebungsbaugruppe, die innerhalb des Gehäuses positioniert ist und so betrieben werden kann, dass sie Bildframes erfasst; eine Ziellichtbaugruppe, die innerhalb des Gehäuses positioniert ist und so betrieben werden kann, dass sie ein Ziellicht mit einem Ziellichtmuster emittiert; und eine Steuerung, die mit dem Gehäuse positioniert ist und kommunikativ mit der Bildgebungsbaugruppe und der Ziellichtbaugruppe gekoppelt ist, wobei die Steuerung konfiguriert ist: einen Strichcode innerhalb eines von der Bildgebungsbaugruppe erfassten Dekodier-Framebildes zu dekodieren; nach dem Dekodieren des Strichcodes innerhalb des Dekodier-Framebildes die Bildgebungsbaugruppe zu veranlassen, ein Entnahmelisten-Framebild zu erfassen; innerhalb des Entnahmelisten-Framebildes eine Position von mindestens einem Teil des Ziellichtmusters zu bestimmen; und den Strichcode an einen externen Host zu berichten, wenn mindestens eine gewisse Überlappung zwischen einer Position des Strichcodes innerhalb des Dekodier-Framebildes und der Position des mindestens einen Teils des Ziellichtmusters im Entnahmelisten-Framebild besteht.
-
In noch einer weiteren Ausführungsform ist die vorliegende Erfindung eine Bildgebungsmaschine zur Verwendung in einem Strichcodeleser, die umfasst: eine Bildgebungsbaugruppe, die so betrieben werden kann, dass sie Bildframes erfasst; eine Ziellichtbaugruppe, die relativ zur Bildgebungsbaugruppe positioniert ist und so betrieben werden kann, dass sie ein Ziellicht mit einem Ziellichtmuster emittiert; und eine Steuerung, die kommunikativ mit der Bildgebungsbaugruppe und der Ziellichtbaugruppe gekoppelt ist, wobei die Steuerung konfiguriert ist, um: einen Strichcode innerhalb eines von der Bildgebungsbaugruppe erfassten Dekodier-Framebildes zu dekodieren; nach dem Dekodieren des Strichcodes innerhalb des Dekodier-Framebildes die Bildgebungsbaugruppe zu veranlassen, ein Entnahmelisten-Framebild zu erfassen; innerhalb des Entnahmelisten-Framebildes eine Position von mindestens einem Teil des Ziellichtmusters zu bestimmen; und den Strichcode an einen externen Host zu berichten, wenn mindestens eine gewisse Überlappung zwischen einer Position des Strichcodes innerhalb des Dekodier-Framebildes und der Position des mindestens einen Teils des Ziellichtmusters im Entnahmelisten-Framebild besteht.
-
Diese und andere Merkmale, Aspekte und Vorteile der vorliegenden Offenbarung werden unter Bezugnahme auf die folgenden Zeichnungen, die Beschreibung und alle eventuell folgenden Ansprüche besser verstanden werden.
-
Figurenliste
-
Die beigefügten Figuren, in denen gleiche Bezugszeichen identische oder funktional ähnliche Elemente in den einzelnen Ansichten bezeichnen, sind zusammen mit der nachfolgenden detaillierten Beschreibung in die Offenbarung inkorporiert und bilden einen Bestandteil der Offenbarung und dienen dazu, hierin beschriebene Ausführungsformen von Konzepten, die die beanspruchte Erfindung umfassen, weiter zu veranschaulichen und verschiedene Prinzipien und Vorteile dieser Ausführungsformen zu erklären.
- 1 zeigt vorder- und rückperspektivische Ansichten eines Strichcodelesers gemäß einer Ausführungsform der vorliegenden Erfindung.
- 2 zeigt ein Blockschaltbild mit einigen der Komponenten des Strichcodelesers aus 1.
- 3 zeigt einen Strichcodeleser, der in einer Umgebung eingesetzt wird, gemäß einer Ausführungsform der vorliegenden Erfindung.
- 4 zeigt ein Flussdiagramm, das ein Verfahren zum Lesen von Strichcodes gemäß einer Ausführungsform der vorliegenden Erfindung darstellt.
-
Fachleute werden erkennen, dass Elemente in den Figuren der Einfachheit und Klarheit halber dargestellt sind und nicht notwendigerweise maßstabsgetreu gezeichnet wurden. Zum Beispiel können die Dimensionen einiger der Elemente in den Figuren relativ zu anderen Elementen übertrieben sein, um das Verständnis von Ausführungsformen der vorliegenden Erfindung zu verbessern.
-
Die Vorrichtungs- und Verfahrenskomponenten wurden, wo es angemessen ist, durch herkömmliche Symbole in den Zeichnungen dargestellt, die nur jene spezifischen Details zeigen, die zum Verständnis der Ausführungsformen der vorliegenden Erfindung relevant sind, um somit die Offenbarung nicht mit Einzelheiten zu verdecken, die für die Fachleute auf dem Gebiet, die auf die vorliegende Beschreibung zurückgreifen, ohne weiteres ersichtlich sind.
-
DETAILLIERTE BESCHREIBUNG DER ERFINDUNG
-
Unter Bezugnahme auf 1 ist darin ein beispielhafter Strichcodeleser 100 mit einem Gehäuse 102 mit einem Hohlraum zur Aufnahme interner Komponenten, einem Auslöser 104 und einem Fenster 106 dargestellt. Der Strichcodeleser 100 kann im Freihandbetrieb als stationäre Arbeitsstation verwendet werden, wenn er auf der Arbeitsplatte in einer Stützhalterung (nicht abgebildet) aufgestellt wird. Der Strichcodeleser 100 kann auch im handgehaltenen Modus verwendet werden, wenn er von der Arbeitsfläche (oder einer anderen Oberfläche) abgenommen und in der Hand eines Bedieners gehalten wird. Im Freihandmodus können die Produkte geschoben, vorbeigeschoben oder dem Fenster 106 präsentiert werden. Im handgehaltenen Modus kann der Strichcodeleser 100 auf einen Strichcode auf einem Produkt gerichtet werden, und der Auslöser 104 kann manuell gedrückt werden, um die Abbildung des Strichcodes zu starten. Bei einigen Implementierungen kann die Stützhalterung weggelassen werden, und das Gehäuse 102 kann auch in anderen handgehaltenen oder nicht handgehaltenen Formen ausgeführt werden.
-
2 zeigt ein Blockschaltbild eines Teils eines Strichcodelesers 100 gemäß einigen Ausführungsformen. Es ist zu verstehen, dass 2 nicht maßstabsgerecht gezeichnet ist. Der Strichcodeleser 100 in 2 enthält die folgenden Komponenten: (1) eine erste optische Baugruppe 110, die einen ersten Bildgebungssensor 112 und eine erste Bildgebungslinsenbaugruppe 114 enthält; (2) eine zweite optische Baugruppe 116, die einen zweiten linearen Bildgebungssensor 118 und eine zweite Bildgebungslinsenbaugruppe 120 enthält; (3) eine Beleuchtungsquelle 122; (4) eine Leiterplatte (PCB) 124, die den ersten und zweiten linearen Bildgebungssensor 112, 118 und die Beleuchtungsquelle 122 trägt; (5) eine Steuerung 126, die auf der Leiterplatte 124 positioniert ist und mit dem ersten und zweiten linearen Bildgebungssensor 112, 118 und der Beleuchtungsquelle 124 kommunikativ gekoppelt ist, (6) einen Speicher 128, der mit der Steuerung 126 verbunden ist, (7) eine Beleuchtungslinsenbaugruppe 130, die vor der Beleuchtungsquelle 122 positioniert ist, und (8) eine Ziellichtbaugruppe 123 mit einer Ziellichtquelle 125 und einer Ziellinsenbaugruppe 127. Wenn man sich auf Teile des Strichcodelesers bezieht, können bestimmte Komponenten gruppiert und als „Bildgebungsmaschine“ bezeichnet werden. In einigen Fällen kann man sagen, dass die Bildgebungsmaschine Bilderfassungskomponenten wie den/die Bildsensor(en) enthält. In anderen Fällen kann man sagen, dass die Bildgebungsmaschine zusätzliche Elemente enthält, wie z.B. eine Ziellichtbaugruppe und/oder die Beleuchtungsbaugruppe.
-
Der erste und zweite Bildgeber 112, 118 können entweder CCD- oder CMOS-Bildsensoren sein und können entweder lineare oder zweidimensionale Sensoren sein. Lineare Bildsensoren enthalten im Allgemeinen mehrere lichtempfindliche Pixelelemente, die in einem eindimensionalen Array angeordnet sind. Zweidimensionale Sensoren umfassen im Allgemeinen zueinander orthogonale Zeilen und Spalten aus lichtempfindlichen Pixelelementen, die so angeordnet sind, dass sie eine im Wesentlichen ebene Oberfläche bilden. Der erste und der zweite Bildsensor 112, 118 sind betreibbar, um Licht zu erfassen, das von der ersten bzw. zweiten Bildgebungslinsenbaugruppe 114, 120 entlang eines entsprechenden optischen Pfades oder einer Achse 132, 134 durch das Fenster 106 erfasst wird. Im Allgemeinen ist jedes Paar aus Bildgeber und Bildgebungslinsenbaugruppe so ausgelegt, dass sie zusammen arbeiten, um Licht, das von einem Strichcode gestreut, reflektiert oder emittiert wird, als Pixeldaten über ein entsprechendes Sichtfeld (FOV) zu erfassen. Jedes Objektiv/Bildgeber-Paar (auch als optische Baugruppe bezeichnet) ist jedoch mit unterschiedlichen Parametern konfiguriert.
-
In der vorliegend beschriebenen Ausführung ist die erste optische Baugruppe 110 für das Lesen von Strichcodes über einen relativ nahen Arbeitsabstand, der sich zwischen NWD1 und NWD2 erstreckt, ausgelegt. In einigen Ausführungsformen ist NDW1 etwa 0 Zoll vom Fenster 106 und NWD2 etwa 28 bis 32 Zoll vom Fenster 106 entfernt. Zusätzlich erfasst die optische Baugruppe 110 Licht von einem relativ breiteren FOV 136. Auf der anderen Seite ist die zweite optische Baugruppe 116 dafür ausgelegt, Strichcodes über einen relativ weiten Arbeitsabstand zu lesen, der sich zwischen FWD1 und FWD2 erstreckt. In einigen Ausführungen ist FDW1 etwa 24 Zoll vom Fenster 106 und FWD2 etwa 600 bis 680 Zoll vom Fenster 106 entfernt. Zusätzlich erfasst die optische Baugruppe 116 Licht von einem relativ schmaleren FOV 138.
-
In einigen Anwendungsfällen kann es vorkommen, dass Strichcode-Bediener den Strichcodeleser so ausrichten, dass sich mehrere Strichcodes innerhalb des FOV des Lesers befinden. Darüber hinaus können in einigen Arbeitsumgebungen mehrere Strichcodes eng beieinander liegen, so dass der Bediener das FOV des Lesers unbeabsichtigt über einem Strichcode positioniert, der nicht gelesen werden soll. Um die Erfassung und/oder Auswahl des geeigneten Strichcodes zu ermöglichen, können die oben genannten Komponenten daher wie hier weiter beschrieben konfiguriert werden.
-
Unter Bezugnahme auf 3 ist darin ein Beispiel für einen Strichcodeleser 100 dargestellt, der auf eine Arbeitsfläche 300 zeigt, so dass sein FOV 302 eine Vielzahl von Strichcodes 304, 306 überlappt. In einem solchen Szenario kann der Strichcodeleser 100 über seine Steuerung so konfiguriert werden, dass er die Dekodierung nur eines der Strichcodes meldet, der unter bestimmte Kriterien fällt. 4 zeigt ein Flussdiagramm, das für ein Verfahren 400 zum Dekodieren und Berichten eines der Strichcodes verwendet wird. Das Verfahren beginnt mit der Erfassung eines Dekodierframes in Schritt 402 und der Eingabe dieses Frames in einen Dekodierer (der als Teil der gesamten Steuerung betrachtet werden kann) in Schritt 404. Ein Dekodierframe kann als ein Bildframe betrachtet werden, bei dem die Ziellichtquelle ausgeschaltet oder gedimmt ist und die Parameter des Bildgebers (z.B. Verstärkung, Belichtungszeit usw.) und die Parameter der Beleuchtungsbaugruppe (z.B. Dauer des Beleuchtungsimpulses, Beleuchtungsintensität usw.) so eingestellt sind, dass ein fokussiertes und/oder richtig kontrastiertes (d.h. nicht übersättigtes oder ungesättigtes) Bild der Umgebung erfasst wird. Vorzugsweise werden die Parameter so eingestellt, dass, wenn das Bild einen Strichcode enthält, dieser Strichcode von einer Steuerung dekodiert werden kann, die die in der Technik üblichen Dekodiertechniken verwendet. Wenn der Dekodierframe keine dekodierbaren Strichcodes enthält, kehrt das Verfahren zu Schritt 402 zurück, um mit der Erfassung der Dekodierframes fortzufahren. Wenn die Steuerung andererseits in der Lage ist, einen Strichcode innerhalb des Dekodierframes zu dekodieren, fährt das Verfahren mit Schritt 406 fort, wo der Leser einen Entnahmelisten-Frame erfasst. Ein Entnahmelisten-Frame kann als ein Bildframe betrachtet werden, bei dem die Ziellichtquelle eingeschaltet oder aufgedreht ist (relativ zu den Dimmniveaus, mit denen die Ziellichtquelle während der Erfassung eines Dekodierframes betrieben wird) und die Parameter des Bildgebers (z.B. Verstärkung, Belichtungszeit usw.) und der Beleuchtungsbaugruppe (z.B. Dauer des Beleuchtungsimpulses, Intensität des Beleuchtungsimpulses usw.) so eingestellt sind, dass ein fokussiertes und/oder richtig kontrastiertes (d.h. nicht übersättigtes oder ungesättigtes) Bild der Umgebung erfasst wird. In einer bevorzugten Ausführungsform werden für die Erfassung des Entnahmelisten-Frames die Parameter des Bildgebers und der Beleuchtungsbaugruppe auf die gleichen Einstellungen gesetzt, wie sie bei der Erfassung des letzten Dekodierframes, der den dekodierbaren Strichcode enthielt, eingestellt wurden.
-
Es wird geschätzt, dass ein Ziellicht im Allgemeinen dazu dient, ein Ziellichtmuster zu liefern, das dem Bediener eine visuelle Anzeige des Zentrums des FOV, des zentralen Bereichs des FOV oder eines anderen Bezugspunktes gibt, der dem Bediener bei der Orientierung des Lesers helfen kann. Als solches wird es üblicherweise durch einen erkennbaren (z.B. hellen) visuellen Indikator (z.B. ein Punkt, der auf das ungefähre Zentrum des FOVs gerichtet ist) bereitgestellt, der normalerweise hell genug ist, damit der Bediener bei normalem Gebrauch sehen kann. Ein Beispiel für eine Zielmarke ist in 3 als runder Punkt 308 dargestellt, der mit dem Strichcode 304 überlappt. In einigen Ausführungsformen kann dieses Lichtmuster durch eine Laserlichtquelle und eine geeignete Optik erreicht werden, die den Lichtstrahl in die gewünschte Richtung lenkt. In einigen Ausführungsformen kann die Laserlichtquelle durch eine Leuchtdiode (LED) ersetzt werden. Da das Ziellichtmuster normalerweise für den Bediener sichtbar sein soll, ist es normalerweise heller als die Umgebung, auf die es projiziert wird. Folglich enthält während der Erfassung des Entnahmelisten-Frames, bei der die Ziellichtquelle eingeschaltet oder aufgedreht wird, der resultierende Frame einen Teil eines Bildes, der das Ziellichtmuster darstellt (auch als „Zielmarke“ bezeichnet) und deutlich heller ist (z.B. übersättigt, über einem vorgegebenen Helligkeitsintensitätsschwellenwert usw.) im Verhältnis zu den übrigen Bildteilen. Während in den meisten Fällen das Vorhandensein der Zielmarke durch Bildanalyse leicht erkennbar ist, kann dies unter bestimmten Lichtverhältnissen nicht vorkommen. In Schritt 408 versucht das Verfahren daher, das Vorhandensein der Zielmarke zusammen mit ihrer Position innerhalb des Bildes zu erkennen. Wenn die Zielmarke nicht erkannt werden kann, kann das Verfahren zu Schritt 402 zurückkehren, um den Lesevorgang erneut zu starten. Andernfalls fährt das Verfahren mit Schritt 410 fort, wo die Steuerung die Position des zuvor aus dem Dekodierframe dekodierten Strichcodes und die Position der Zielmarke, wie sie aus dem Entnahmelisten-Frame erhalten wird, vergleicht. In diesem Fall können Verweise auf die Positionen der Merkmale so verstanden werden, dass ihre Position innerhalb des Bildes selbst gemeint ist. Dies kann z.B. basierend auf Pixelebene, auf Ebene eines Bildausschnitts (z.B. Quadranten) oder auf jedem anderen geeigneten Ansatz ausgewertet werden, bei dem die relative Position des Strichcodes innerhalb des erfassten Dekodierframes mit der relativen Position der Zielmarke innerhalb des Entnahmelisten-Frames verglichen wird. Wenn festgestellt wird, dass zwischen der Position des dekodierten Strichcodes und der Zielmarke keine oder eine unzureichende Überlappung besteht, kann die Steuerung zu Schritt 402 zurückkehren, um den Lesevorgang erneut zu beginnen. Andernfalls, wenn festgestellt wird, dass zwischen der Position des dekodierten Strichcodes und der Zielmarke eine gewisse Mindestüberlappung besteht, kann die Steuerung eine erfolgreiche Dekodierung an einen externen Host berichten, wie z.B. ein Kassensystem (Point-of-Sale - POS), einen Computer usw.
-
Wenn der Prozess in einigen Ausführungsformen zu Schritt 402 zurückkehrt, nachdem festgestellt wurde, dass zwischen der Position des dekodierten Strichcodes und der Zielmarke keine oder nur eine unzureichende Überlappung besteht, kann der Prozess so konfiguriert werden, dass die Schritte 406 und 408 übersprungen werden und nach erfolgreicher Dekodierung eines Strichcodes in einem Dekodierframe direkt mit Schritt 410 fortgefahren wird. Dies kann der Fall sein, weil ein Entnahmelisten-Frame bereits erfasst wurde und die Position der Zielmarke bereits bestimmt wurde. Daher ist es unter Umständen nicht erforderlich, einen weiteren Entnahmelisten-Frame erneut zu erfassen und das Vorhandensein und die Position der Zielmarke erneut zu erkennen.
-
Es sollte erkenntlich sein, dass sich in einigen Fällen mehr als ein Strichcode innerhalb des FOV des Lesers befindet, wenn der Dekodierframe erfasst wird, wie es in 3 der Fall sein kann, wo die Strichcodes 304, 306 innerhalb des FOV 302 positioniert sind. In diesem Fall kann die Steuerung so konfiguriert werden, dass sie (i) einen der Strichcodes für den Vergleichsschritt 410 auswählt oder (ii) die Positionen der beiden Strichcodes mit der Position der Zielmarke vergleicht.
-
Bei einigen Ausführungsformen kann die Mindestüberlappung durch die Anzahl der Pixel bestimmt werden, die als sich zwischen dem Strichcode und der Zielmarke überlappend bestimmt sind. Wenn diese Anzahl von Pixeln einen vorgegebenen Schwellenwert überschreitet, kann man von einer Überlappung zwischen dem Strichcode und der Zielmarke sprechen. Bei einigen Ausführungsformen kann die Anzahl der Pixel von einigen zugrunde liegenden Faktoren abhängen, wie z.B. der Anzahl der von der Zielmarke belegten Pixel und/oder der Anzahl der vom dekodierten Strichcode belegten Pixel. Beispielsweise kann der Schwellenwert für die minimale Überlappung auf 20% der Gesamtzahl der von der Zielmarke belegten Pixel festgelegt werden. Wenn in diesem Fall festgestellt wird, dass die Zielmarke 200 Pixel innerhalb des Entnahmelisten-Frames belegt, müssen mindestens 40 der 200 Pixel der Zielmarke mit dem Strichcode überlappen, damit eine Überlappung zwischen dem dekodierten Strichcode und der Zielmarke besteht. Während der Strichcode in dem einen Bild und die Zielmarke in dem anderen Bild erscheinen, kann eine Überlappung zwischen diesen Elementen z.B. als eine Überlappung angesehen werden, wenn die Bilder übereinandergelegt werden. Eine andere Möglichkeit, eine Überlappung zu betrachten, sind die x:y-Positionen der Pixel, die von den jeweiligen Elementen besetzt sind. Mit anderen Worten, wenn der Strichcode im Dekodier-Framebild über Pixel 1340:1 und die Zielmarke im Entnahmelisten-Frame über Pixel 1340:1 erscheint, dann kann man sagen, dass sich der Strichcode und die Zielmarke überlappen, da sie auf demselben Pixel in ihren jeweiligen Bildern positioniert sind.
-
Während die obigen Beispiele mit Bezug auf ein Strichcodeleser 100 beschrieben wurden, der mehrere Bildgebungssensoren und damit mehrere Bildgebungsbaugruppen enthält, sind die hier beschriebenen Konzepte auch auf Strichcodeleser mit nur einem Bildsensor anwendbar. Ebenso sind diese Konzepte auch auf Strichcodeleser mit mehr als zwei Bildsensoren anwendbar. Schließlich können die hier beschriebenen Verfahren in Strichcodelesern über eine Einstellung implementiert werden, die vom Bediener manuell aktiviert wird, wenn er weiß, dass er Strichcodes in einer Umgebung scannen wird, in der eine Vielzahl von Strichcodes dicht angeordnet sind. In einigen Ausführungsformen kann diese Einstellung automatisch aktiviert werden, wenn mehrere Strichcodes innerhalb des FOVs erkannt werden.
-
Die Implementierung der oben genannten Konfigurationen in einem Strichcodeleser kann besonders vorteilhaft sein, da man dadurch Strichcodes in einer Umgebung, in der mehrere Strichcodes dicht beieinander angeordnet sind, genauer lesen könnte. Da das Lesegerät außerdem das Berichten einer erfolgreichen Dekodierung an einen externen Host mitliefern kann, falls der Strichcode außerhalb der vorgesehenen Zielmarke liegt, können diese Konfigurationen dem Bediener helfen, das unbeabsichtigte Lesen von Strichcodes zu vermeiden, die sich zufällig näher an den Grenzen des FOV des Lesers befanden. Darüber hinaus können diese Konfigurationen besonders bei Implementierungen mit linearen Bildgebern nützlich sein, bei denen die genaue Erkennung einer Zielmarke schwieriger sein kann als bei Implementierungen mit 2D-Bildgebern.
-
In der vorstehenden Beschreibung wurden spezifische Ausführungsformen beschrieben. Ein Durchschnittsfachmann erkennt jedoch, dass verschiedene Modifikationen und Änderungen vorgenommen werden können, ohne den Schutzumfang der Erfindung, wie sie in den untenstehenden Ansprüchen definiert ist, abzuweichen. Dementsprechend sind die Beschreibung und die Figuren vielmehr in einem illustrativen als in einem einschränkenden Sinne zu betrachten, und alle derartigen Modifikationen sollen im Umfang der vorliegenden Lehren eingeschlossen sein. Darüber hinaus sollten die beschriebenen Ausführungsformen/Beispiele/Implementierungen nicht als sich gegenseitig ausschließend interpretiert werden und stattdessen als potentiell kombinierbar verstanden werden, wenn solche Kombinationen in irgendeiner Weise permissiv sind. Mit anderen Worten: Jedes Merkmal, das in einer der oben genannten Ausführungsformen/Beispiele/Implementierungen offenbart wird, kann in jeder der anderen oben genannten Ausführungsformen/Beispiele/Implementierungen enthalten sein. Darüber hinaus mögen keine Schritte einer der hier offenbarten Verfahren so verstanden werden, dass sie eine bestimmte Reihenfolge haben, es sei denn, es wird ausdrücklich erklärt, dass keine andere Reihenfolge möglich oder durch die übrigen Schritte des jeweiligen Verfahrens erforderlich ist. Auch können zumindest einige der Figuren maßstabsgetreu gezeichnet sein oder auch nicht.
-
Die Nutzen, Vorteile, Lösungen für Probleme und alle Elemente, die zum Auftreten oder einer Verstärkung eines Nutzens, eines Vorteils, oder einer Lösung führen können, sind nicht als kritische, erforderliche oder wesentliche Merkmale oder Elemente in einigen oder sämtlichen Ansprüchen zu verstehen. Die Erfindung ist lediglich durch die angehängten Ansprüche definiert, einschließlich jeglicher Änderungen, die während der Anhängigkeit dieser Anmeldung vorgenommen wurden und aller Äquivalente der erteilten Ansprüche.
-
Darüber hinaus können in diesem Dokument relationale Begriffe wie erster und zweiter, oberer und unterer und dergleichen lediglich verwendet sein, um eine Entität oder Aktion von einer anderen Entität oder Aktion zu unterscheiden, ohne notwendigerweise eine tatsächliche derartige Beziehung oder Reihenfolge zwischen solchen Entitäten oder Aktionen zu erfordern oder zu implizieren. Die Ausdrücke „umfasst“, „umfassend“, „hat“, „haben“, „aufweist“, „aufweisend“, „enthält“, „enthaltend“ oder jede andere Variation davon sollen eine nicht-ausschließliche Einbeziehung abdecken, derart, dass ein Prozess, Verfahren, Produkt oder Vorrichtung, das eine Liste von Elementen umfasst, hat, aufweist, enthält, nicht nur diese Elemente aufweist, sondern auch andere Elemente aufweisen kann, die nicht ausdrücklich aufgelistet sind oder einem solchen Prozess, Verfahren, Produkt oder Vorrichtung inhärent sind. Ein Element, dem „umfasst ... ein“, „hat ... ein“, „aufweist ... ein“ oder „enthält ...ein“ vorausgeht, schließt ohne weitere Einschränkungen die Existenz zusätzlicher identischer Elemente in dem Prozess, dem Verfahren, dem Produkt oder der Vorrichtung, die das Element umfasst, hat, aufweist oder enthält, nicht aus. Die Begriffe „ein“ und „eine“ sind als eine oder mehrere definiert, sofern es hierin nicht ausdrücklich anders angegeben wird. Die Begriffe „im Wesentlichen“, „im Allgemeinen“, „ungefähr“, „etwa“ oder jede andere Version davon sind so definiert, dass sie von einem Fachmann auf diesem Gebiet nahekommend verstanden werden, und in einer nicht-einschränkenden Ausführungsform ist der Ausdruck definiert als innerhalb von 10%, in einer weiteren Ausführungsform als innerhalb von 5%, in einer weiteren Ausführungsform als innerhalb von 1% und in einer weiteren Ausführungsform als innerhalb von 0,5%. Der Ausdruck „gekoppelt“, wie er hierin verwendet wird, ist als verbunden definiert, jedoch nicht notwendigerweise direkt und nicht notwendigerweise mechanisch. Eine Vorrichtung oder eine Struktur, die auf eine bestimmte Art „ausgeführt“ ist, ist zumindest auch so ausgeführt, kann aber auch auf Arten ausgeführt sein, die nicht aufgeführt sind.
-
Es versteht sich, dass einige Ausführungsformen von einem oder mehreren generischen oder spezialisierten Prozessoren (oder „Verarbeitungsgeräten“) wie Mikroprozessoren, digitale Signalprozessoren, kundenspezifische Prozessoren und Field-Programmable-Gate-Arrays (FPGAs) und einmalig gespeicherten Programmanweisungen (einschließlich sowohl Software als auch Firmware) umfasst sein können, die den einen oder die mehreren Prozessoren steuern, um in Verbindung mit bestimmten Nicht-Prozessorschaltungen einige, die meisten oder alle der hierin beschriebenen Funktionen des Verfahrens und/oder der Vorrichtung zu implementieren. Alternativ können einige oder alle Funktionen durch eine Zustandsmaschine implementiert sein, die keine gespeicherten Programmanweisungen aufweist, oder in einer oder mehreren anwendungsspezifischen integrierten Schaltungen (ASICs), in denen jede Funktion oder einige Kombinationen von bestimmten Funktionen als benutzerdefinierte Logik implementiert sind. Natürlich kann eine Kombination der beiden Ansätze verwendet werden.
-
Darüber hinaus kann eine Ausführungsform als ein computerlesbares Speichermedium implementiert sein, auf dem computerlesbarer Code gespeichert ist, um einen Computer (der zum Beispiel einen Prozessor umfasst) zu programmieren, um ein Verfahren auszuführen, wie es hierin beschrieben und beansprucht ist. Beispiele solcher computerlesbaren Speichermedien weisen eine Festplatte, eine CD-ROM, eine optische Speichervorrichtung, eine magnetische Speichervorrichtung, einen ROM (Nur-Lese-Speicher), einen PROM (programmierbarer Nur-Lese-Speicher), einen EPROM (löschbarer programmierbarer Nur-Lese-Speicher), einen EEPROM (elektrisch löschbarer programmierbarer Nur-Lese-Speicher) und einen Flash-Speicher auf, sind aber nicht hierauf beschränkt auf. Ferner wird davon ausgegangen, dass ein Durchschnittsfachmann, ungeachtet möglicher signifikanter Anstrengungen und vieler Designwahlen, die zum Beispiel durch verfügbare Zeit, aktuelle Technologie und wirtschaftliche Überlegungen motiviert sind, ohne Weiteres in der Lage ist, solche Softwareanweisungen und - programme und ICs mit minimalem Experimentieren zu generieren, wenn er durch die hierin offenbarten Konzepte und Prinzipien angeleitet wird.
-
Die Zusammenfassung der Offenbarung wird bereitgestellt, um es dem Leser zu ermöglichen, schnell das Wesen der technischen Offenbarung zu ermitteln. Sie wird mit dem Verständnis bereitgestellt, dass sie nicht zur Auslegung oder Einschränkung des Umfangs oder der Bedeutung der Ansprüche verwendet wird. Ferner kann der vorangehenden detaillierten Beschreibung entnommen werden, dass verschiedene Merkmale in verschiedenen Ausführungsformen zum Zwecke der Verschlankung der Offenbarung zusammengefasst sind. Diese Art der Offenbarung ist nicht so auszulegen, dass sie die Absicht widerspiegelt, dass die beanspruchten Ausführungsformen mehr Merkmale erfordern, als ausdrücklich in jedem Anspruch angegeben sind. Vielmehr ist es so, wie die folgenden Ansprüche zeigen, dass der erfinderische Gegenstand in weniger als allen Merkmalen einer einzigen offenbarten Ausführungsform liegt. Somit werden die folgenden Ansprüche hiermit in die detaillierte Beschreibung inkorporiert, wobei jeder Anspruch für sich als ein separat beanspruchter Gegenstand steht.