-
HINTERGRUND DER ERFINDUNG
-
Behälter in Einzelhandels-, Versand- und Inventarumgebungen werden oft mit Barcodes versehen, die den Gegenstand identifizieren und/oder verschiedene Merkmale des Produkts beschreiben, wie z.B. den Hersteller des Produkts, den Ursprung des Produkts, den Bestimmungsort des Produkts, eine mit dem Produkt assoziierte Seriennummer usw. Ein einzelnes Produkt wird oft mit einer Vielzahl von Barcodes versehen, um all diese Informationen zu übermitteln. Nahe jedem Barcode befindet sich typischerweise ein Wort oder Akronym, das angibt, was dieser Barcode vermittelt (z.B. „Seriennummer“ in der Nähe eines Barcodes, der die Seriennummer des Gegenstands übermittelt).
-
Zwischen verschiedenen Produkten, Herstellern, Händlern und Einzelhändlern gibt es keine einheitliche Reihenfolge oder Ausrichtung, in der diese verschiedenen Barcodes angezeigt werden, wenn sie auf einem Gegenstand angebracht sind. Unter Bezugnahme auf die Zeichnungen, veranschaulichen 1A-1C exemplarische Barcode-Konfigurationen. Beispielsweise werden jede der in den 1A-1C gezeigten Barcode-Konfigurationen auf Verpackungen für Mobiltelefone verschiedener Hersteller und Händler verwendet.
-
Jede Barcode-Konfiguration beinhaltet einen anderen Satz von Barcodes. Beispielsweise beinhaltet 1A einen AT&T-spezifischen Barcode, den die 1B und 1C nicht beinhalten. Als weiteres Beispiel beinhaltet 1B einen „Teilenummer“-Barcode, den die 1A und 1C nicht beinhalten. Als noch ein weiteres Beispiel beinhaltet 1C einen „PRL“-Barcode, den 1A und 1B nicht beinhalten. Darüber hinaus werden auch die zwischen den Barcode-Konfigurationen gemeinsamen Barcodes in jeweils unterschiedlicher Reihenfolge angezeigt. Darüber hinaus ist jede Barcode-Konfiguration unterschiedlich angeordnet. So beinhaltet beispielsweise 1A sowohl vertikal als auch horizontal orientierte Barcodes, während 1B und 1C nur horizontal ausgerichtete Barcodes beinhalten. Als weiteres Beispiel beinhaltet 1B zwei Spalten mit horizontal orientierten Barcodes, während 1C nur eine Spalte mit horizontal orientierten Barcodes beinhaltet.
-
Diese große Vielfalt an Barcode-Konfigurationen hat in vielen Fällen frühere Versuche zur Automatisierung des Barcodescanprozesses behindert. Derzeit müssen Mitarbeiter das Wort oder Akronym, das jeden an einem Gegenstand angebrachten Barcode beschreibt, manuell lokalisieren und identifizieren und jeden Barcode basierend auf seiner Beschreibung separat scannen und eingeben. So kann beispielsweise ein Mitarbeiter aufgefordert werden, einen SKU-Barcode zu scannen. Der Mitarbeiter muss dann den SKU-Barcode lokalisieren, wo er am Produkt angebracht ist, und einen Scanner auf diesen Barcode richten, um ihn zu scannen. Anschließend wird der Mitarbeiter aufgefordert, einen weiteren Barcode zu scannen, und der Prozess wird wiederholt. Dieser Prozess ist extrem zeitaufwändig und fehleranfällig, wenn viele Produkte gescannt werden müssen. Damit ein Mitarbeiter die oben beschriebenen Aufgaben ausführen kann, muss er außerdem entsprechend geschult sein, um die verschiedenen Barcodes und deren Funktionalitäten zu erkennen. Dementsprechend besteht Bedarf an verbesserten, automatisierten Mitteln zum Lesen von Barcodes.
-
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, Ausführungsformen von Konzepten, welche die beanspruchte Erfindung umfassen, weiter zu veranschaulichen und verschiedene Prinzipien und Vorteile dieser Ausführungsformen zu erklären.
- 1A-1C veranschaulichen mehrere exemplarische Barcode-Konfigurationen gemäß einem Beispiel.
- 2 veranschaulicht ein exemplarisches Blockdiagrammschema eines Systems zum Lesen von Barcodes gemäß einer Ausführungsform der vorliegenden Erfindung.
- 3 veranschaulicht ein Ziel, umfassend (i) ein Symbol, das Nutzdaten kodiert, und (ii) alphanumerische Zeichen, die einen dem Symbol zugeordneten Nutzdatenbeschreiber enthalten, gemäß einem Beispiel.
- 4 veranschaulicht ein Flussdiagramm, das ein Verfahren zum Lesen von Barcodes gemäß einer Ausführungsform der vorliegenden Erfindung darstellt.
- 5 veranschaulicht ein Flussdiagramm, das ein Verfahren zum Lesen von Barcodes gemäß einer Ausführungsform der vorliegenden Erfindung darstellt.
-
Erfahrene 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
-
In einer Ausführungsform ist die vorliegende Erfindung ein Verfahren zum Lesen von Barcodes. Das Verfahren beinhaltet das Erfassen eines Bildes eines Ziels durch eine Abbildungsanordnung, wobei das Ziel Folgendes beinhaltet: (i) ein Symbol, das Nutzdaten kodiert, und (ii) einen Satz von einem oder mehreren alphanumerischen Zeichen, die einen dem Symbol zugeordneten Nutzdatenbeschreiber enthalten; Dekodieren des Symbols durch einen ersten Prozessor zum Extrahieren der Nutzdaten; Durchführen einer optischen Zeichenerkennungsanalyse an dem Satz von einem oder mehreren alphanumerischen Zeichen durch einen zweiten Prozessor, um den dem Symbol zugeordneten Nutzdatenbeschreiber zu identifizieren; Zuordnen der Nutzdaten zu dem Nutzdatenbeschreiber, was zu einem assoziierten Paar führt; und Weiterleiten des assoziierten Paares an einen dritten Prozessor zum weiteren Verarbeiten der Nutzdaten basierend auf dem Nutzdatenbeschreiber.
-
In einer weiteren Ausführungsform ist die vorliegende Erfindung ein Verfahren zum Lesen von Barcodes. Das Verfahren beinhaltet das Erfassen eines Bildes eines Ziels durch eine Abbildungsanordnung, wobei das Ziel Folgendes beinhaltet: (i) ein erstes Symbol, das erste Nutzdaten kodiert, (ii) ein zweites Symbol, das zweite Nutzdaten kodiert, (iii) einen ersten Satz von einem oder mehreren alphanumerischen Zeichen, die einen ersten Nutzdatenbeschreiber enthalten, der dem ersten Symbol zugeordnet ist, und (iv) einen zweiten Satz von einem oder mehreren alphanumerischen Zeichen, die einen zweiten Nutzdatenbeschreiber enthalten, der dem zweiten Symbol zugeordnet ist; Dekodieren des ersten Symbols durch einen ersten Prozessor, um die ersten Nutzdaten zu extrahieren; Dekodieren des zweiten Symbols durch den ersten Prozessor, um die zweiten Nutzdaten zu extrahieren; Durchführen einer optischen Zeichenerkennungsanalyse an dem ersten Satz von einem oder mehreren alphanumerischen Zeichen durch einen zweiten Prozessor, um den ersten Nutzdatenbeschreiber zu identifizieren, der dem ersten Symbol zugeordnet ist; Durchführen einer optischen Zeichenerkennungsanalyse an dem zweiten Satz von einem oder mehreren alphanumerischen Zeichen durch den zweiten Prozessor, um den zweiten Nutzdatenbeschreiber zu identifizieren, der dem zweiten Symbol zugeordnet ist; Zuordnen der ersten Nutzdaten zu dem ersten Nutzdatenbeschreiber, was zu einem ersten assoziierten Paar führt; Zuordnen der zweiten Nutzdaten zu dem zweiten Nutzdatenbeschreiber, was zu einem zweiten assoziierten Paar führt; Weiterleiten des ersten assoziierten Paares an einen dritten Prozessor zur weiteren Verarbeitung der ersten Nutzdaten basierend auf dem ersten Nutzdatenbeschreiber; und Weiterleiten des zweiten zugeordneten Paares an einen vierten Prozessor zum weiteren Verarbeiten der zweiten Nutzdaten basierend auf dem zweiten Nutzdatenbeschreiber.
-
In noch einer weiteren Ausführungsform ist die vorliegende Erfindung ein System zum Lesen von Barcodes. Das System beinhaltet eine Abbildungsanordnung, die konfiguriert ist, um ein Bild eines Ziels zu erfassen, wobei das Ziel Folgendes beinhaltet: (i) ein Symbol, das Nutzdaten kodiert, und (ii) einen Satz von einem oder mehreren alphanumerischen Zeichen, die einen dem Symbol zugeordneten Nutzdatenbeschreiber enthalten; einen Speicher, der konfiguriert ist, um computerausführbare Anweisungen zu speichern; und mindestens einen Prozessor, der konfiguriert ist, um mit der Bilderfassungsvorrichtung und dem Speicher zu kommunizieren, und der konfiguriert ist, um die computerausführbaren Anweisungen auszuführen. Die computerausführbaren Anweisungen veranlassen den mindestens einen Prozessor zum: Dekodieren des Symbols, um die Nutzdaten zu extrahieren; Durchführen einer optischen Zeichenerkennungsanalyse an dem Satz von einem oder mehreren alphanumerischen Zeichen, um den dem Symbol zugeordneten Nutzdatenbeschreiber zu identifizieren; Zuordnen der Nutzdaten zu dem Nutzdatenbeschreiber, was zu einem assoziierten Paar führt; und Weiterleiten des assoziierten Paars zum weiteren Verarbeiten der Nutzdaten basierend auf dem Nutzdatenbeschreiber.
-
Unter Bezugnahme auf die Zeichnungen wird in 2 ein exemplarisches Blockschaltbildschema eines Systems zum Lesen von Barcodes gemäß einer Ausführungsform der vorliegenden Erfindung dargestellt. Wie in 2 dargestellt, kann ein Barcodeleser 202 eine Abbildungsanordnung 204 (z.B. eine Kamera), einen oder mehrere Prozessoren 206 und einen Speicher 208 beinhalten. Die Abbildungsanordnung 204 kann konfiguriert sein, um ein Bild eines Ziels 212 zu erfassen, das beispielsweise ein Aufkleber sein kann, der an einem physischen Objekt 210, wie beispielsweise einer Verpackung, einem Behälter usw., befestigt ist. In einigen Fällen kann die Abbildungsanordnung 204 getrennt vom Prozessor 206 und dem Speicher 208 angeordnet sein. In solchen Fällen können von der Abbildungsanordnung 204 erfasste Bilder an den Speicher 208 übertragen werden (z.B. über das Netzwerk 214).
-
3 veranschaulicht eine detailliertere Ansicht eines exemplarischen Ziels 212 gemäß einem Beispiel. Wie in 3 dargestellt, beinhaltet das Ziel 212 ein oder mehrere Symbole 302 (z.B. Barcodes), die Nutzdaten kodieren (z.B. eine Reihe von Zahlen). Zusätzlich beinhaltet das Ziel 212 einen oder mehrere Sätze von alphanumerischen Zeichen 304, die jeweils einen Nutzdatenbeschreiber enthalten, der jedem Symbol 302 zugeordnet ist. Diese alphanumerischen Zeichen können z.B. Zahlen, Groß- und/oder Kleinbuchstaben, Satzzeichen, Symbole usw. beinhalten. So kann beispielsweise der Nutzdatenbeschreiber ein Wort oder Akronym sein, das beschreibt, was in jedem Barcode kodiert wird (z.B. „IMEI.“ beschreibt, dass der Barcode eine International Mobile Equipment Identity Number kodiert). In einigen Fällen kann der Satz alphanumerischer Zeichen 304 ferner eine alphanumerische Folge beinhalten, die mit den im Symbol 302 kodierten Nutzdaten korrespondiert (z.B. korrespondiert die Zahlenfolge „354691065333567“ neben der IMEI den Nutzdaten, die durch den Nutzdatenbeschreiber „IMEI“ beschrieben werden). Jeder Satz alphanumerischer Zeichen 304 kann sich in unmittelbarer Nähe zu einem zugehörigen Symbol 302 im Ziel 212 befinden. So kann beispielsweise ein Satz alphanumerischer Zeichen 304 unter seinem zugehörigen Symbol 302 ausgerichtet und/oder angeordnet sein, wie in 3 dargestellt. In anderen Beispielen kann der Satz von alphanumerischen Zeichen 304 jedoch über dem Symbol 302 oder anderweitig nahe dem Symbol 302 ausgerichtet und/oder angeordnet sein.
-
Um auf 2 zurückzukommen, kann der Barcodeleser 202 ferner eine Reihe verschiedener Softwareanwendungen (nicht dargestellt) beinhalten, die im Speicher 208 gespeichert sind. Jede der verschiedenen Softwareanwendungen kann auf demselben Prozessor 206 oder auf verschiedenen Prozessoren in verschiedenen Ausführungsformen ausgeführt werden. Im Allgemeinen kann eine oder mehrere der Anwendungen mindestens einen Teil eines der in 4 dargestellten Verfahren 400 und/oder des in 5 dargestellten Verfahrens 500 durchführen. So können die Anwendungen beispielsweise eine oder mehrere Funktionen ausführen, die sich unter anderem auf die Durchführung einer optischen Zeichenerkennungsanalyse an einem oder mehreren Sätzen alphanumerischer Zeichen 304 beziehen, um Nutzdatenbeschreiber zu identifizieren (z.B. um Wörter oder Akronyme oder Teile von Wörtern oder Akronymen, die einen gegebenen Barcode beschreiben, automatisch zu identifizieren) und/oder eine alphanumerische Folge, die mit den im Symbol 302 kodierten Nutzdaten korrespondiert; Dekodieren eines oder mehrerer Symbole 302, um in den Symbolen 302 kodierte Nutzdaten zu extrahieren; Zuordnen der Nutzdaten zu dem jeweiligen Nutzdatenbeschreiber, was zu einem assoziierten Paar führt; Weiterleiten des assoziierten Paares an einen anderen Prozessor zum weiteren Verarbeiten der Nutzdaten basierend auf dem Nutzdatenbeschreiber, etc. In einigen Fällen können zwei oder mehrere der vorgenannten Anwendungen zu einer integrierten Anwendung kombiniert werden. Darüber hinaus können in verschiedenen Ausführungsformen zusätzliche oder alternative Anwendungen vorgesehen werden.
-
Das System kann ferner einen oder mehrere Server 216A, 216B, 216B beinhalten, die konfiguriert sind, um mit dem Barcodescanner 202 zu kommunizieren, z.B. über ein Netzwerk 214. Obwohl in 2 drei Server 216A, 216B, 216C dargestellt sind, ist zu beachten, dass beliebig viele Server in verschiedenen Ausführungsformen in das System eingebunden werden können. Jeder Server 216A, 216B, 216C kann einen Prozessor 218A, 218B, 218C und einen Speicher 220A, 220B, 220C beinhalten. In einigen Fällen kann ein erstes assoziiertes Paar an einen ersten Prozessor 218A zum weiteren Verarbeiten weitergeleitet werden basierend auf einem ersten Nutzdatenbeschreiber, während ein zweites assoziiertes Paar an einen zweiten Prozessor 218B zum weiteren Verarbeiten weitergeleitet werden kann basierend auf einem zweiten Nutzdatenbeschreiber, ein drittes assoziiertes Paar kann an einen dritten Prozessor 218C zum weiteren Verarbeiten weitergeleitet werden basierend auf einem dritten Nutzdatenbeschreiber, etc. Natürlich können in einigen Fällen einige assoziierte Paare zum weiteren Verarbeiten an denselben Prozessor weitergeleitet werden, basierend auf ihren jeweiligen Nutzdatenbeschreibern. Darüber hinaus kann in einigen Fällen ein assoziiertes Paar vom Prozessor 206 verarbeitet werden. Darüber hinaus kann in einigen Ausführungsformen einer oder mehrere der Prozessoren 218A, 218B, 218C konfiguriert sein, um jeden geeigneten Teil der Verarbeitungsfunktionen aus der Ferne auszuführen, die als vom Prozessor 206 ausgeführt beschrieben wurden, und umgekehrt.
-
Mit Bezug zu 4 ist darin ein Flussdiagramm dargestellt, das für ein Verfahren 400 zum Lesen von Barcodes gemäß einer Ausführungsform der vorliegenden Erfindung repräsentativ ist. Das Verfahren 400 kann als ein Satz von Anweisungen implementiert sein, die auf einem computerlesbaren Speicher gespeichert und auf einem oder mehreren Prozessoren ausführbar sind.
-
In Schritt 402 beinhaltet das Verfahren den Vorgang des Erfassens (z.B. durch eine Abbildungsanordnung) eines Bildes eines Ziels. In einigen Beispielen kann das Ziel an einem physischen Objekt wie einem Paket, einem Behälter usw. befestigt sein. Das Ziel kann (i) ein Symbol, das Nutzdaten kodiert, und (ii) einen Satz von einem oder mehreren alphanumerischen Zeichen beinhalten, die einen dem Symbol zugeordneten Nutzdatenbeschreiber enthalten. Im Allgemeinen kann das Symbol z.B. ein 1D-Barcode, ein 2D-Barcode, wie z.B. ein QR-Code, oder jedes andere Symbol sein, das zum Kodieren von Nutzdaten geeignet ist. Die durch das Symbol kodierten Nutzdaten können eine Folge von Zahlen sein. Die alphanumerischen Zeichen können sich in der Nähe des Symbols befinden, z.B. unmittelbar über oder unter dem Symbol oder neben dem Symbol. Darüber hinaus kann der Nutzdatenbeschreiber ein Wort oder Akronym sein, das beschreibt, was durch das Symbol kodiert wird (z.B. IMEI, SKU, Seriennummer, UPC, etc.). In einigen Fällen können die alphanumerischen Zeichen ferner eine alphanumerische Folge beinhalten, die mit den Nutzdaten korrespondiert.
-
In Schritt 404 beinhaltet das Verfahren den Vorgang der Dekodierung des Symbols, um die Nutzdaten zu extrahieren. So können beispielsweise die extrahierten Nutzdaten Daten sein, die eine Folge von Zahlen und/oder Zeichen anzeigen, die durch einen Barcode kodiert sind. In Schritt 406 beinhaltet das Verfahren den Vorgang des Durchführens einer optischen Zeichenerkennungsanalyse an dem Satz von einem oder mehreren alphanumerischen Zeichen, um den dem Symbol zugeordneten Nutzdatenbeschreiber zu identifizieren. In einigen Fällen kann eine optische Zeichenerkennungsanalyse auch an der alphanumerischen Folge durchgeführt werden, die mit den Nutzdaten korrespondiert, um eine Folge von Zahlen oder Zeichen zu identifizieren. In einigen Beispielen kann die optische Zeichenerkennungsanalyse nur für einen bestimmten Bereich des Bildes des Ziels durchgeführt werden, in dem sich der Satz alphanumerischer Zeichen wahrscheinlich befindet, z.B. einen Bereich innerhalb einer bestimmten Nähe des Symbols, aus dem die Nutzdaten extrahiert werden. In anderen Beispielen kann die optische Zeichenerkennungsanalyse natürlich auch über das gesamte Bild des Ziels durchgeführt werden.
-
In einigen Fällen kann es zu Fehlern in der optischen Zeichenerkennungsanalyse kommen. In solchen Fällen kann der Nutzdatenbeschreiber (mit Fehlern) aus der optischen Zeichenerkennungsanalyse identifiziert werden, indem der Nutzdatenbeschreiber (mit Fehlern) an den nächstkommenden Nutzdatenbeschreiber aus einem bekannten Satz möglicher Nutzdatenbeschreiber (z.B. mit Fuzzy-Logik (Unschärfelogik)) angepasst wird. Wenn beispielsweise der durch die optische Zeichenerkennungsanalyse erzeugte Nutzdatenbeschreiber (mit Fehlern) „IMEF“ ist, kann er an den bekannten Nutzdatenbeschreiber „IMEI“ (und nicht z.B. mit einem anderen, weniger ähnlichen, bekannten Nutzdatenbeschreiber „SKU“) unter Verwendung von Fuzzy-Logik oder einem anderen bekannten Verfahren zum Vergleich von analysierten Zeichen mit bekannten Nutzdatenbeschreibern angepasst werden. Dementsprechend kann der Nutzdatenbeschreiber als ein „IMEI“-Nutzdatenbeschreiber identifiziert werden.
-
Ebenso kann die alphanumerische Folge (mit Fehlern) aus der optischen Zeichenerkennungsanalyse identifiziert werden, indem die alphanumerische Folge (mit Fehlern) an die extrahierten Nutzdaten angepasst wird (z.B. mit Fuzzy-Logik). Während sowohl bei der Dekodierung von Barcodes als auch bei der OCR Fehler auftreten können, ist die Fehlerquote bei der OCR in der Regel viel höher. Wenn es demnach Unterschiede zwischen der alphanumerischen Folge, die mit den Nutzdaten korrespondiert, und den aus dem Symbol extrahierten Nutzdaten gibt, werden die aus dem Symbol extrahierten Nutzdaten typischerweise zur Identifizierung der alphanumerischen Folge verwendet (und nicht umgekehrt). Wenn beispielsweise die alphanumerische Folge (mit Fehlern), die durch die optische Zeichenerkennungsanalyse erzeugt wurde, „1710258“ ist, kann sie an die extrahierten Nutzdaten aus dem Symbol „1710254“ durch einen Fuzzy-Logik-Vergleich oder ein anderes bekanntes Vergleichsverfahren angepasst werden. Dementsprechend kann die alphanumerische Folge als alphanumerische Folge „1710254“ identifiziert werden.
-
In Schritt 408 beinhaltet das Verfahren den Vorgang des Zuordnens der Nutzdaten zu dem Nutzdatenbeschreiber, was zu einem assoziierten Paar führt. In einigen Beispielen können die Nutzdaten dem Nutzdatenbeschreiber zugeordnet werden, basierend auf der Position der alphanumerischen Zeichen, die den Nutzdatenbeschreiber enthalten, in Bezug auf das Symbol, das die Nutzdaten kodiert, z.B. im erfassten Bild des Ziels. So kann beispielsweise der Satz von alphanumerischen Zeichen in einigen Fällen unmittelbar über oder unmittelbar unter dem Symbol positioniert sein. Zusätzlich oder alternativ können die Nutzdaten dem Nutzdatenbeschreiber zugeordnet werden, basierend auf der Nähe der alphanumerischen Zeichen zum Symbol (z.B. basierend darauf, ob die alphanumerischen Zeichen innerhalb eines bestimmten Grenzabstands zum Symbol liegen). Zum Beispiel in Ausführungsformen, in denen die optische Zeichenerkennungsanalyse nur innerhalb eines bestimmten Bereichs des Bildes des Ziels durchgeführt wird, kann sich der Satz alphanumerischer Zeichen innerhalb dieses Bereichs des Bildes befinden (und kann der einzige Satz alphanumerischer Zeichen innerhalb dieses Bereichs des Bildes sein).
-
In einigen Fällen können die Nutzdaten dem Nutzdatenbeschreiber zugeordnet werden, basierend auf der identifizierten alphanumerischen Folge, die mit dem zweiten Nutzdatenbeschreiber korrespondiert. So werden beispielsweise die alphanumerischen Zeichen „R/S - SKU 1710254“ in 3 dargestellt. In diesem Beispiel ist R/S - SKU der Nutzdatenbeschreiber und 1710254 ist die alphanumerische Folge. Wenn einer der Barcodes die alphanumerische Folge „1710254“ kodiert, die mit der alphanumerischen Folge übereinstimmt, die in dem Satz der alphanumerischen Zeichen enthalten ist, dann kann der Nutzdatenbeschreiber „R/S - SKU“, der in dem gleichen Satz von alphanumerischen Zeichen enthalten ist, den Nutzdaten zugeordnet werden.
-
In Schritt 410 beinhaltet das Verfahren den Vorgang der Weiterleitung des assoziierten Paares an einen Prozessor zur weiteren Verarbeitung der Nutzdaten basierend auf dem Nutzdatenbeschreiber. In einigen Fällen kann die Weiterverarbeitung der Nutzdaten die Eingabe von Nutzdaten in Felder für bestimmte Nutzdatenbeschreiber beinhalten, z.B. in einer Inventaranwendung. Zusätzlich oder alternativ kann die Weiterverarbeitung der Nutzdaten basierend auf dem Nutzdatenbeschreiber eine Änderung der Position eines physischen Objekts (z.B. ein Paket, ein Produkt, ein Behälter usw.) beinhalten, an dem das Ziel befestigt ist. Beispielsweise können Nutzdaten, die einen Code für ein Ziel beinhalten, die einem Nutzdatenbeschreiber zugeordnet sind, der „Ziel“ angibt, darauf hinweisen, dass ein Paket, an dem das Ziel befestigt ist, in einen Lastwagen eingelagert werden sollte, der zu diesem Ziel fährt. Als weiteres Beispiel können Nutzdaten, die einen Code für eine Art von Produkt angeben, die mit einem Nutzdatenbeschreiber assoziiert sind, der „Produkttyp“ angibt, anzeigen, dass ein Paket, an dem das Ziel befestigt ist, in einem bestimmten Bereich eines Einzelhandelsgeschäfts platziert werden sollte. Dementsprechend kann eine inkorrekte Zuordnung von Nutzdaten und Nutzdatenbeschreiber dazu führen, dass ein Paket, an dem das Ziel befestigt ist, an einer falschen Stelle platziert wird.
-
Unter Bezugnahme nun auf 5 ist darin ein Flussdiagramm dargestellt, das ein Verfahren 500 zum Lesen von Barcodes gemäß einer Ausführungsform der vorliegenden Erfindung darstellt. Das Verfahren 500 kann als ein Satz von Anweisungen implementiert werden, die auf einem computerlesbaren Speicher gespeichert und auf einem oder mehreren Prozessoren ausführbar sind.
-
In Schritt 502 beinhaltet das Verfahren den Vorgang des Erfassens (z.B. durch eine Abbildungsanordnung) eines Bildes eines Ziels, wobei das Ziel Folgendes beinhaltet: (i) ein erstes Symbol, das erste Nutzdaten kodiert, (ii) ein zweites Symbol, das eine zweite Nutzdaten kodiert, (iii) einen ersten Satz von einem oder mehreren alphanumerischen Zeichen, die einen ersten Nutzdatenbeschreiber enthalten, der dem ersten Symbol zugeordnet ist, und (iv) einen zweiten Satz von einem oder mehreren alphanumerischen Zeichen, die einen zweiten Nutzdatenbeschreiber enthalten, der dem zweiten Symbol zugeordnet ist. In einigen Fällen kann der erste und/oder zweite Satz alphanumerischer Zeichen weiterhin eine erste und/oder zweite alphanumerische Folge beinhalten, die mit den jeweiligen ersten und/oder zweiten Nutzdaten korrespondiert.
-
In Schritt 504 beinhaltet das Verfahren den Vorgang des Dekodierens des ersten Symbols durch einen zweiten Prozessor zum Extrahieren der ersten Nutzdaten. In Schritt 506 beinhaltet das Verfahren den Vorgang des Dekodierens des zweiten Symbols durch den zweiten Prozessor, um die zweiten Nutzdaten zu extrahieren. Die ersten und zweiten Nutzdaten, die bei den Schritten 504 und 506 extrahiert werden, können z.B. Daten sein, die eine Folge von Zahlen und/oder Zeichen anzeigen, die durch das erste bzw. zweite Symbol kodiert sind.
-
In Schritt 508 beinhaltet das Verfahren den Vorgang des Durchführens einer optischen Zeichenerkennungsanalyse an dem ersten Satz von einem oder mehreren alphanumerischen Zeichen durch einen ersten Prozessor, um den ersten Nutzdatenbeschreiber zu identifizieren, der dem ersten Symbol zugeordnet ist. In Schritt 510 beinhaltet das Verfahren den Vorgang des Durchführens einer optischen Zeichenerkennungsanalyse an dem zweiten Satz von einem oder mehreren alphanumerischen Zeichen durch den ersten Prozessor, um den zweiten Nutzdatenbeschreiber zu identifizieren, der dem zweiten Symbol zugeordnet ist. In einigen Fällen kann die optische Zeichenerkennungsanalyse der Schritte 508 und/oder 510 auch an einer entsprechenden ersten und/oder zweiten alphanumerischen Folge durchgeführt werden, die mit den jeweiligen ersten und/oder zweiten Nutzdaten korrespondieren, um die jeweiligen ersten und/oder zweiten Folgen von Zahlen oder Zeichen zu identifizieren. Wie vorstehend in Bezug auf 4 erläutert, kann die optische Zeichenerkennungsanalyse in einigen Beispielen nur an einem bestimmten Bereich des Bildes des Ziels durchgeführt werden, in dem sich wahrscheinlich jeder Satz von alphanumerischen Zeichen befindet. So kann beispielsweise bei Schritt 508 die optische Zeichenerkennungsanalyse an einem ersten Bereich des Zielbildes innerhalb einer bestimmten Nähe des ersten Symbols durchgeführt werden, während bei Schritt 510 die optische Zeichenerkennungsanalyse an einem zweiten Bereich des Zielbildes innerhalb einer bestimmten Nähe des zweiten Symbols durchgeführt werden kann. In anderen Beispielen kann die optische Zeichenerkennungsanalyse natürlich auch über das gesamte Bild des Ziels durchgeführt werden.
-
In einigen Fällen kann es zu Fehlern in der optischen Zeichenerkennungsanalyse kommen, die bei den Schritten 508 und/oder 510 durchgeführt wird. In solchen Fällen kann der Nutzdatenbeschreiber (mit Fehlern) aus jeder optischen Zeichenerkennungsanalyse identifiziert werden, indem der Nutzdatenbeschreiber (mit Fehlern) an den nächstkommenden Nutzdatenbeschreiber aus einem bekannten Satz möglicher Nutzdatenbeschreiber (z.B. durch Fuzzy-Logik) angepasst wird. Wenn beispielsweise der erste Nutzdatenbeschreiber (mit Fehlern), der aus der optischen Zeichenerkennungsanalyse generiert wurde, „SKH“ ist, kann er an den bekannten Nutzdatenbeschreiber „SKU“ angepasst werden. Ebenso, wenn der zweite Nutzdatenbeschreiber (mit Fehlern), der aus der optischen Zeichenerkennungsanalyse generiert wurde, „IMEF“ ist, kann er an den bekannten Nutzdatenbeschreiber „IMEI“ angepasst werden. Dementsprechend kann der erste Nutzdatenbeschreiber als „SKU“-Nutzdatenbeschreiber und der zweite Nutzdatenbeschreiber als „IMEI“-Nutzdatenbeschreiber identifiziert werden.
-
Ebenso kann jede alphanumerische Folge (mit Fehlern) aus der bei den Schritten 508 und/oder 510 durchgeführten optischen Zeichenerkennungsanalyse identifiziert werden, indem die erste und/oder zweite alphanumerische Folge (mit Fehlern) an die ersten und/oder zweiten extrahierten Nutzdaten angepasst wird (z.B. durch Fuzzy-Logik). Wie oben erwähnt, kann es bei der Dekodierung von Barcodes und OCR zu Fehlern kommen, aber die mit OCR verbundene Fehlerrate ist typischerweise viel höher. Wenn es demnach Unterschiede zwischen der alphanumerischen Folge, die mit den Nutzdaten korrespondiert, und den aus dem Symbol extrahierten Nutzdaten gibt, werden die aus dem Symbol extrahierten Nutzdaten typischerweise zur Identifizierung der alphanumerischen Folge verwendet (und nicht umgekehrt).
-
Wenn beispielsweise die erste alphanumerische Folge (mit Fehlern), die durch die optische Zeichenerkennungsanalyse erzeugt wurde, „1710258“ ist, kann sie an die extrahierten Nutzdaten aus dem ersten Symbol „1710254“ unter Verwendung eines Fuzzy-Logik-Vergleichs oder eines anderen bekannten Vergleichsverfahrens angepasst werden. Dementsprechend kann die erste alphanumerische Folge als alphanumerische Folge „1710254“ identifiziert werden. Wenn in ähnlicher Weise die zweite alphanumerische Folge (mit Fehlern), die durch die optische Zeichenerkennungsanalyse erzeugt wurde, „354691065333569“ ist, kann sie an die extrahierten Nutzdaten aus dem zweiten Symbol „354691065333567“ unter Verwendung eines Fuzzy-Logik-Vergleichs oder eines anderen bekannten Vergleichsverfahrens angepasst werden.
-
In Schritt 512 beinhaltet das Verfahren den Vorgang des Zuordnens der ersten Nutzdaten zu dem ersten Nutzdatenbeschreiber, was zu einem ersten assoziierten Paar führt. In Schritt 514 beinhaltet das Verfahren den Vorgang des Zuordnens der zweiten Nutzdaten zu dem zweiten Nutzdatenbeschreiber, was zu einem zweiten assoziierten Paar führt.
-
In einigen Beispielen können jede der ersten und zweiten Nutzdaten ihrem jeweiligen ersten und zweiten Nutzdatenbeschreiber zugeordnet werden, basierend auf der Position jedes Satzes von alphanumerischen Zeichen, der den Nutzdatenbeschreiber enthält, in Bezug auf jedes Symbol, das die Nutzdaten kodiert, z.B. im erfassten Bild des Ziels. So kann beispielsweise der erste Satz alphanumerischer Zeichen in einigen Fällen unmittelbar über oder unmittelbar unter dem ersten Symbol positioniert sein, während der zweite Satz alphanumerischer Zeichen unmittelbar über oder unmittelbar unter dem zweiten Symbol positioniert sein kann. Zusätzlich oder alternativ können jede der ersten und zweiten Nutzdaten ihren jeweiligen ersten und zweiten Nutzdatenbeschreibern zugeordnet sein, basierend auf der Nähe jedes Satzes der alphanumerischen Zeichen zu jedem Symbol (z.B. basierend darauf, ob die alphanumerischen Zeichen innerhalb eines bestimmten Grenzabstands zum Symbol liegen). So kann beispielsweise der erste Satz alphanumerischer Zeichen in der Nähe des ersten Symbols näher sein, während der zweite Satz alphanumerischer Zeichen in der Nähe des zweiten Symbols näher sein kann. So kann beispielsweise in Ausführungsformen, in denen jede optische Zeichenerkennungsanalyse nur innerhalb eines ersten und/oder zweiten Bereichs des Bildes des Ziels durchgeführt wird (z.B. nur in der Nähe des ersten Symbols oder nur in der Nähe des zweiten Symbols), der jeweilige erste und/oder zweite Satz alphanumerischer Zeichen innerhalb des jeweiligen ersten und/oder zweiten Bereichs des Bildes angeordnet sein.
-
In einigen Fällen können jede der ersten und zweiten Nutzdaten ihren jeweiligen ersten und zweiten Nutzdatenbeschreibern zugeordnet sein, basierend auf der identifizierten ersten alphanumerischen Folge, die mit den ersten Nutzdaten korrespondiert, und auf der identifizierten zweiten alphanumerischen Folge, die mit den zweiten Nutzdaten korrespondiert. Wenn die alphanumerischen Zeichen beispielsweise einen Nutzdatenbeschreiber sowie eine mit den Nutzdaten korrespondierende alphanumerische Folge beinhalten, kann die erste alphanumerische Folge, die mit den ersten Nutzdaten korrespondiert, an die extrahierten ersten Nutzdaten aus dem ersten Symbol angepasst werden, während die zweite alphanumerische Folge, die mit den zweiten Nutzdaten korrespondiert, an die extrahierten zweiten Nutzdaten aus dem zweiten Symbol angepasst werden kann.
-
So sind beispielsweise die alphanumerischen Zeichen „R/S - SKU 1710254“ und „IMEI 354691065333567“ beide in 3 dargestellt. In diesem Beispiel sind R/S - SKU und IMEI Nutzdatenbeschreiber, während 1710254 und 354691065333567 entsprechende alphanumerische Folgen sind. Wenn ein erstes Symbol die ersten Nutzdaten „1710254“ kodiert, die mit der ersten alphanumerischen Folge übereinstimmen, die in den ersten alphanumerischen Zeichen „R/S - SKU 1710254“ enthalten ist, dann kann der erste Nutzdatenbeschreiber „R/S - SKU“, der im ersten Satz alphanumerischer Zeichen enthalten ist, den ersten Nutzdaten zugeordnet werden. Ebenso, wenn ein zweites Symbol zweite Nutzdaten „354691065333567“ kodiert, die mit der zweiten alphanumerischen Folge übereinstimmen, die im zweiten Satz alphanumerischer Zeichen „IMEI 354691065333567“ enthalten ist, dann kann der zweite Nutzdatenbeschreiber „IMEI“, der in diesem zweiten alphanumerischen Zeichen enthalten ist, den zweiten Nutzdaten zugeordnet werden.
-
In einigen Fällen können die extrahierten Nutzdaten, die der alphanumerischen Folge, die mit den Nutzdaten korrespondiert, am nächsten kommen, dem Nutzdatenbeschreiber zugeordnet werden. So kann beispielsweise ein Symbol, das Nutzdaten für „1710258“ kodiert (eine Zahl aus der alphanumerischen Folge, die R/S - SKU, „1710254“ zugeordnet ist), aufgrund der engen, aber nicht perfekten Übereinstimmung dem Nutzdatenbeschreiber „R/S - SKU“ zugeordnet werden. Im Gegensatz dazu würde ein Symbol, das Nutzdaten für „1710258“ kodiert, eindeutig nicht mit der alphanumerischen Folge „354691065333567“ übereinstimmen, so dass Nutzdaten nicht dem IMEI-Nutzdatenbeschreiber zugeordnet werden würden.
-
In Schritt 516 beinhaltet das Verfahren den Vorgang des Weiterleitens des ersten assoziierten Paares an einen dritten Prozessor zur weiteren Verarbeitung der ersten Nutzdaten basierend auf dem ersten Nutzdatenbeschreiber. In Schritt 518 beinhaltet das Verfahren den Vorgang des Weiterleitens des zweiten assoziierten Paares an einen vierten Prozessor zur weiteren Verarbeitung der zweiten Nutzdaten basierend auf dem zweiten Nutzdatenbeschreiber.
-
In einigen Fällen kann die Weiterverarbeitung der Nutzdaten die Eingabe von Nutzdaten in Felder für bestimmte Nutzdatenbeschreiber beinhalten, z.B. in einer Inventaranwendung. So können beispielsweise die ersten Nutzdaten in ein erstes Feld für einen ersten Nutzdatenbeschreiber eingegeben werden, während die zweiten Nutzdaten in ein zweites Feld für einen zweiten Nutzdatenbeschreiber eingegeben werden können. Zusätzlich oder alternativ kann die Weiterverarbeitung der Nutzdaten basierend auf dem Nutzdatenbeschreiber eine Änderung der Position eines physischen Objekts beinhalten, an dem das Ziel befestigt ist. So können beispielsweise erste Nutzdaten, die einen Code für ein Ziel beinhalten, die einem ersten Nutzdatenbeschreiber zugeordnet sind, der „Ziel“ angibt, darauf hindeuten, dass ein Paket, an dem das Ziel befestigt ist, in einen LKW eingelagert werden sollte, der zu diesem Ziel fährt. Als weiteres Beispiel können zweite Nutzdaten, die einen Code für einen Typ von Produkt angeben, die einem zweiten Nutzdatenbeschreiber zugeordnet sind, der „Produkttyp“ anzeigt, darauf hindeuten, dass ein Paket, an dem das Ziel befestigt ist, in einem bestimmten Bereich eines Einzelhandelsgeschäfts platziert werden sollte. Dementsprechend kann eine falsche Zuordnung zwischen Nutzdaten und Nutzdatenbeschreiber dazu führen, dass ein Paket, an dem das Ziel befestigt ist, an einer falschen Stelle platziert wird.
-
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 Offenbarung zu verlassen, wie sie in den untenstehenden Ansprüchen wiedergegeben ist. 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, sondern als potenziell 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 jede der anderen oben genannten Ausführungsformen/Beispiele/Implementierungen aufgenommen werden.
-
Die Nutzen, Vorteile, Lösungen für Probleme und alle Elemente, die zum Auftreten eines Nutzens, eines Vorteils, oder einer Lösung führen oder diese verstärken können, sind nicht als kritische, erforderliche oder wesentliche Merkmale oder Elemente in einigen oder sämtlichen Ansprüchen zu verstehen. Die Erfindung wird ausschließlich durch die beigefügten Ansprüche definiert, einschließlich aller Änderungen, die während der Anhängigkeit dieser Anmeldung vorgenommen wurden, und aller Äquivalente dieser Ansprüche, wie sie erteilt wurden.
-
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“, „aufweisen“, „enthält“, „enthalten“ 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. 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.