-
VERWANDTE ANMELDUNGEN
-
Diese Anmeldung beansprucht Priorität für die US-Patentanmeldung Nr.
16/357,231 mit dem Titel „OPTIMIZING DETECTION OF IMAGES IN RELATION TO TARGETS BASED ON COLORSPACE TRANSFORMATION TECHNIQUES“, eingereicht am 18. März 2019. Der Inhalt der vorgenannten Anmeldung wird durch Bezugnahme in vollem Umfang in das vorliegende Dokument aufgenommen.
-
HINTERGRUND
-
Seit jeher werden bestimmte Materialien (z. B. Farbe, Tinte und/oder Ähnliches) verwendet, um Szenen und/oder Objekte in semi-permanenten bis permanenten Medien zu verewigen. Zu dieser Art der Erinnerung gehören auch die Bemühungen der Fotografie, Fotos zu erstellen. Computertechnologien ermöglichen die Digitalisierung und Erkennung dieser Fotos in Bildern und haben die Bildverarbeitung als technisches Gebiet eingeführt. Die Kantenerkennung ist zumindest ein Aspekt der Bildverarbeitung und findet in einer Reihe von Fällen Anwendung.
-
Diese und andere Überlegungen haben dazu geführt, dass die vorliegenden Verbesserungen erforderlich gewesen.
-
ZUSAMMENFASSUNG
-
Im Folgenden wird eine vereinfachte Zusammenfassung gegeben, um ein grundlegendes Verständnis einiger hier beschriebener neuer Ausführungsformen zu vermitteln. Diese Zusammenfassung ist kein umfassender Überblick, und es ist nicht beabsichtigt, die wichtigsten/kritischen Elemente zu identifizieren oder den Umfang davon abzugrenzen. Ihr einziger Zweck ist es, einige Konzepte in vereinfachter Form als Auftakt zu der später folgenden detaillierteren Beschreibung darzustellen.
-
Ein Aspekt der vorliegenden Offenbarung umfasst eine Vorrichtung zum Erstellen einer Matrix, die für die Erkennung in einer bestimmten Umgebung optimiert ist. Die Vorrichtung umfasst: einen Speicher zum Speichern von Befehlen, und eine mit dem Speicher gekoppelte Verarbeitungsschaltung, die zum Ausführen der Befehle betreibbar ist, die, wenn sie ausgeführt werden, die Verarbeitungsschaltung veranlassen,: Empfangen eines repräsentativen Datensatzes, der mindestens eines von i) einem oder mehreren Bildern eines Ziels und ii) einem oder mehreren Videos des Ziels enthält, wobei das Ziel mindestens eines von i) einer Umgebung, ii) einer lebenden Entität und iii) einem Objekt enthält, Verarbeiten des repräsentativen Datensatzes, um ein Histogramm des Ziels zu erzeugen, Identifizieren einer vorherrschenden Mehrzahl von Farben, die mit dem Ziel assoziiert sind, basierend auf dem Histogramm, Bestimmen einer verwandten Vielzahl von Farben auf der Grundlage des Histogramms, wobei die verwandte Vielzahl von Farben mindestens eine von i) einer fehlenden Farbe in Bezug auf das Ziel und ii) einer am wenigsten verbreiteten Farbe, die mit dem Ziel verbunden ist, einschließt, und Erzeugen einer Matrix unter Verwendung der verwandten Vielzahl von Farben, wobei die Matrix mit dem Ziel verbunden ist.
-
Ein weiterer Aspekt der vorliegenden Offenbarung umfasst ein Verfahren zur Erkennung einer Matrix, die für die Erkennung in einer bestimmten Umgebung optimiert ist. Das Verfahren umfasst: Erkennen einer Matrix, die über ein physisches Medium angezeigt wird und mit einer Umgebung assoziiert ist, wobei die Matrix eine Vielzahl von Nicht-Schwarz- und Nicht-Weiß-Farben umfasst, wobei jede der Vielzahl von Nicht-Schwarz- und Nicht-Weiß-Farben mindestens eine von i) einer in Bezug auf die Umgebung abwesenden Farbe und ii) einer am wenigsten vorherrschenden, mit der Umgebung assoziierten Farbe ist.
-
Ein weiterer Aspekt der vorliegenden Offenbarung umfasst einen Herstellungsgegenstand, der einen Matrix-Strichcode anzeigt, der für die Erkennung in einer bestimmten Umgebung optimiert ist. Der Herstellungsgegenstand umfasst: einen Matrix-Strichcode, der über ein physikalisches Medium angezeigt wird und einer Umgebung zugeordnet ist, wobei der Matrix-Strichcode eine Vielzahl von nicht-schwarzen und nicht-weißen Farben umfasst, wobei der Matrix-Strichcode in Computerdaten eingebettet ist, wobei die Computerdaten durch eine Vielzahl von Pixeln dargestellt werden, die nicht-schwarzen und nicht-weißen Farben zugeordnet sind, und wobei die Vielzahl von Pixeln mindestens drei Farbkanälen zugeordnet sind, die den Matrix-Strichcode bilden.
-
Ein weiterer Aspekt der vorliegenden Offenbarung umfasst eine Vorrichtung zur Erzeugung einer Matrix, die für die Erkennung in einer bestimmten Umgebung optimiert ist, wobei die Matrix Teil eines Schichtbildes ist, das eine Ultraviolettschicht enthält. Die Vorrichtung umfasst: Empfangen eines repräsentativen Datensatzes, der mindestens eines von i) einem oder mehreren Bildern und ii) einem oder mehreren Videos eines Ziels enthält, wobei das Ziel mindestens eines von i) einer Umgebung, ii) einer lebenden Entität und iii) einem Objekt enthält, Verarbeiten des repräsentativen Datensatzes, um ein Histogramm des Ziels zu erzeugen, Identifizieren einer vorherrschenden Mehrzahl von Farben, die mit dem Ziel assoziiert sind, basierend auf dem Histogramm, Bestimmen einer verwandten Vielzahl von Farben auf der Grundlage des Histogramms, wobei die verwandte Vielzahl von Farben mindestens eine von i) einer in Bezug auf das Ziel abwesenden Farbe und ii) einer am wenigsten verbreiteten, mit dem Ziel assoziierten Farbe umfasst, und Erzeugen einer Matrix unter Verwendung der verwandten Vielzahl von Farben und mindestens einer ultravioletten Schicht, wobei die Matrix mit dem Ziel assoziiert ist.
-
Ein weiterer Aspekt der vorliegenden Offenbarung umfasst ein Verfahren zum Erfassen einer Matrix, die für die Erfassung in einer bestimmten Umgebung optimiert ist, wobei die Matrix Teil eines Bildes ist, das mindestens eine ultraviolette Schicht enthält. Das Verfahren umfasst: Erfassen eines Matrix-Strichcodes, der über ein physisches Medium angezeigt wird und mit einer Umgebung verbunden ist, wobei der Matrix-Strichcode eine Vielzahl von nicht-schwarzen und nicht-weißen Farben und mindestens eine ultraviolette Schicht umfasst, wobei die mindestens eine ultraviolette Schicht ultraviolettes Licht reflektiert und wobei der Matrix-Strichcode vier oder mehr Informationsbits umfasst.
-
Ein weiterer Aspekt der vorliegenden Offenbarung umfasst einen Herstellungsgegenstand, der einen Matrix-Strichcode anzeigt, der für die Erkennung in einer bestimmten Umgebung optimiert ist, wobei der Matrix-Strichcode Teil eines Bildes mit einer ultravioletten Schicht ist. Der Herstellungsgegenstand umfasst: einen Matrix-Strichcode, der über eine geeignete Oberfläche angezeigt wird, um ultraviolettes Licht zu projizieren, zu absorbieren, zu reflektieren oder zu beleuchten, wobei der Matrix-Strichcode eine Kombination aus vier oder mehr Matrix-Bestandteilen umfasst, die jeweils mit einem bestimmten Farbkanal verbunden sind, einschließlich eines ultravioletten Farbkanals, der mit mindestens einer Schicht von mindestens einem der vier Matrix-Bestandteile verbunden ist.
-
Ein weiterer Aspekt der vorliegenden Offenbarung umfasst eine Vorrichtung zur Erzeugung einer Matrix, die für die Erfassung in einer bestimmten Umgebung optimiert ist, wobei die Matrix Teil eines Schichtbildes ist, das eine Infrarotschicht enthält. Die Vorrichtung umfasst: Empfangen eines repräsentativen Datensatzes, der mindestens eines von i) einem oder mehreren Bildern und ii) einem oder mehreren Videos eines Ziels enthält, wobei das Ziel mindestens eines von i) einer Umgebung, ii) einer lebenden Entität und iii) einem Objekt enthält, Verarbeiten des repräsentativen Datensatzes, um ein Histogramm des Ziels zu erzeugen, Identifizieren einer vorherrschenden Mehrzahl von Farben, die mit dem Ziel assoziiert sind, basierend auf dem Histogramm, Bestimmen einer verwandten Vielzahl von Farben auf der Grundlage des Histogramms, wobei die verwandte Vielzahl von Farben mindestens eine von i) einer in Bezug auf das Ziel abwesenden Farbe und ii) einer am wenigsten verbreiteten, mit dem Ziel assoziierten Farbe umfasst, und Erzeugen einer Matrix unter Verwendung der verwandten Vielzahl von Farben und mindestens einer Infrarotschicht, wobei die Matrix mit dem Ziel assoziiert ist.
-
Ein weiterer Aspekt der vorliegenden Offenbarung umfasst ein Verfahren zum Erfassen einer Matrix, die für die Erfassung in einer bestimmten Umgebung optimiert ist, wobei die Matrix Teil eines Bildes ist, das mindestens eine Infrarotschicht enthält. Das Verfahren umfasst: Erfassen eines Matrix-Strichcodes, der über ein physisches Medium angezeigt wird und mit einer Umgebung verbunden ist, wobei der Matrix-Strichcode eine Vielzahl von nicht-schwarzen und nicht-weißen Farben und mindestens eine Infrarotschicht umfasst, wobei die mindestens eine Infrarotschicht Infrarotlicht reflektiert und wobei der Matrix-Strichcode vier oder mehr Informationsbits umfasst.
-
Ein weiterer Aspekt der vorliegenden Offenbarung umfasst einen Herstellungsgegenstand, der einen Matrix-Strichcode anzeigt, der für die Erfassung in einer bestimmten Umgebung optimiert ist, wobei der Matrix-Strichcode Teil eines Bildes mit einer Infrarotschicht ist. Der Herstellungsgegenstand umfasst: einen Matrix-Strichcode, der über eine geeignete Oberfläche angezeigt wird, um Infrarotlicht zu projizieren, zu absorbieren, zu reflektieren oder zu beleuchten, wobei der Matrix-Strichcode eine Kombination aus vier oder mehr Matrix-Bestandteilen umfasst, die jeweils mit einem bestimmten Farbkanal verbunden sind, einschließlich eines Infrarot-Farbkanals, der mit mindestens einer Schicht von mindestens einem der vier Matrix-Bestandteile verbunden ist.
-
Ein weiterer Aspekt der vorliegenden Offenbarung umfasst eine Vorrichtung zur Erzeugung eines Matrix-Strichcodes, der sowohl eine Ultraviolettschicht als auch eine Infrarotschicht enthält. Die Vorrichtung umfasst: einen Speicher zum Speichern von Anweisungen und eine mit dem Speicher gekoppelte Verarbeitungsschaltung, die zum Ausführen der Anweisungen betreibbar ist, die, wenn sie ausgeführt werden, die Verarbeitungsschaltung veranlassen, einen Matrix-Strichcode unter Verwendung mindestens einer Infrarotschicht und mindestens einer Ultraviolettschicht zu erzeugen.
-
Ein weiterer Aspekt der vorliegenden Offenbarung umfasst eine Vorrichtung zur Erzeugung einer Matrix, die für die Erkennung in einer bestimmten Umgebung optimiert ist, wobei die Matrix Teil eines Schichtbildes ist, das eine Infrarotschicht und eine Ultraviolettschicht umfasst. Die Vorrichtung umfasst: einen Speicher zum Speichern von Befehlen und eine mit dem Speicher gekoppelte Verarbeitungsschaltung, die so betrieben werden kann, dass sie die Befehle ausführt, die, wenn sie ausgeführt werden, die Verarbeitungsschaltung veranlassen,: Erzeugen eines Matrix-Barcodes unter Verwendung einer oder mehrerer Farbschichten, mindestens einer Infrarotschicht und mindestens einer Ultraviolettschicht, Empfangen eines repräsentativen Datensatzes, der mindestens eines von i) einem oder mehreren Bildern und ii) einem oder mehreren Videos eines Ziels enthält, wobei das Ziel mindestens eines von i) einer Umgebung, ii) einer lebenden Entität und iii) einem Objekt enthält, Verarbeiten des repräsentativen Datensatzes, um ein Histogramm des Ziels zu erzeugen, Identifizieren einer am weitesten verbreiteten Vielzahl von Farben, die mit dem Ziel assoziiert sind, auf der Grundlage des Histogramms, und Bestimmen einer verwandten Vielzahl von Farben auf der Grundlage des Histogramms, wobei die verwandte Vielzahl von Farben mindestens eine von i) einer abwesenden Farbe in Bezug auf das Ziel und ii) einer am wenigsten verbreiteten Farbe, die mit dem Ziel assoziiert ist, umfasst, wobei die verwandte Vielzahl von Farben in jeder der einen oder mehreren Farbschichten enthalten ist.
-
Ein weiterer Aspekt der vorliegenden Offenbarung umfasst ein Verfahren zum Erkennen eines Matrix-Strichcodes, der für die Erkennung in einer bestimmten Umgebung optimiert ist, wobei der Matrix-Strichcode sowohl eine Ultraviolettschicht als auch eine Infrarotschicht enthält. Das Verfahren umfasst: Erfassen eines Matrix-Strichcodes, der über ein physikalisches Medium angezeigt wird und einer Umgebung zugeordnet ist, wobei der Matrix-Strichcode mehrere nicht-schwarze und nicht-weiße Farben, mindestens eine Infrarotschicht und mindestens eine Ultraviolettschicht aufweist und wobei die mindestens eine Ultraviolettschicht ultraviolettes Licht reflektiert und wobei die mindestens eine Infrarotschicht Infrarotlicht reflektiert.
-
Ein weiterer Aspekt der vorliegenden Offenbarung umfasst einen Herstellungsgegenstand zum Anzeigen eines Matrix-Strichcodes mit sowohl einer Ultraviolettschicht als auch einer Infrarotschicht. Der Herstellungsgegenstand umfasst: einen Matrix-Strichcode, der über eine geeignete Oberfläche zur Projektion, Absorption, Reflexion oder Beleuchtung von sowohl Infrarot- als auch Ultraviolettlicht angezeigt wird, wobei der Matrix-Strichcode mindestens eine Infrarotschicht und mindestens eine Ultraviolettschicht umfasst.
-
Ein weiterer Aspekt der vorliegenden Offenbarung umfasst einen Herstellungsgegenstand zum Anzeigen eines Matrix-Strichcodes mit sowohl einer ultravioletten Schicht als auch einer Infrarotschicht und einer oder mehreren farbigen Schichten, die für die Erkennung in einer bestimmten Umgebung optimiert sind. Der Herstellungsgegenstand umfasst: einen Matrix-Strichcode, der über eine geeignete Oberfläche angezeigt wird, die sowohl Infrarotlicht als auch ultraviolettes Licht reflektiert, wobei der Matrix-Strichcode mindestens eine Infrarotschicht, mindestens eine Ultraviolettschicht und eine Vielzahl von nicht-schwarzen und nicht-weißen Farben umfasst, und wobei die Vielzahl von nicht-schwarzen und nicht-weißen Farben mit mindestens drei nicht-weißen und nicht-schwarzen Farbkanälen verbunden sind.
-
Um die vorstehenden und damit verbundenen Ziele zu erreichen, werden hier bestimmte illustrative Aspekte in Verbindung mit der folgenden Beschreibung und den beigefügten Zeichnungen beschrieben. Diese Aspekte zeigen die verschiedenen Möglichkeiten auf, wie die hier offengelegten Prinzipien praktiziert werden können, und alle Aspekte und Äquivalente davon sollen in den Anwendungsbereich des beanspruchten Gegenstands fallen. Weitere Vorteile und neue Merkmale können aus der folgenden detaillierten Beschreibung ersichtlich werden, wenn sie in Verbindung mit den Zeichnungen betrachtet werden.
-
Figurenliste
-
- 1 zeigt eine Ausführungsform eines Systems zur Verbesserung der Kantenerkennung in Bildern in Übereinstimmung mit mindestens einer Ausführungsform der vorliegenden Offenbarung.
- 2A illustriert eine Ausführungsform eines Clustering-Prozesses für das System von 1 und in Übereinstimmung mit mindestens einer Ausführungsform der vorliegenden Offenbarung.
- 2B illustriert eine Ausführungsform einer Farbraumkonvertierungstechnik für das System von 1 und in Übereinstimmung mit mindestens einer Ausführungsform der vorliegenden Offenbarung.
- 3 illustriert eine Ausführungsform eines zentralisierten Systems für das System von 1 in Übereinstimmung mit mindestens einer Ausführungsform der vorliegenden Offenbarung.
- 4 zeigt eine Ausführungsform einer Betriebsumgebung für das System von 1 in Übereinstimmung mit mindestens einer Ausführungsform der vorliegenden Offenbarung.
- 5A zeigt eine Ausführungsform eines ersten Logikflusses für das System von 1 in Übereinstimmung mit mindestens einer Ausführungsform der vorliegenden Offenbarung.
- 5B zeigt eine Ausführungsform eines zweiten Logikflusses für das System von 1 und in Übereinstimmung mit mindestens einer Ausführungsform der vorliegenden Offenbarung.
- 5C zeigt eine Ausführungsform eines dritten Logikflusses für das System von 1 in Übereinstimmung mit mindestens einer Ausführungsform der vorliegenden Offenbarung.
- 5D zeigt eine Ausführungsform eines vierten Logikflusses für das System von 1 in Übereinstimmung mit mindestens einer Ausführungsform der vorliegenden Offenbarung.
- 6A zeigt die Erzeugung eines abtastbaren Bildes in Übereinstimmung mit mindestens einer Ausführungsform der vorliegenden Offenbarung.
- 6B zeigt die Erzeugung eines abtastbaren Bildes gemäß mindestens einer Ausführungsform der vorliegenden Offenbarung.
- 6C zeigt die Erzeugung eines abtastbaren Bildes in Übereinstimmung mit mindestens einer Ausführungsform der vorliegenden Offenbarung.
- 7 zeigt eine Computervorrichtung zum Erzeugen und Scannen eines scannbaren Bildes in Übereinstimmung mit mindestens einer Ausführungsform der vorliegenden Offenbarung.
- 8 illustriert eine Ausführungsform einer grafischen Benutzeroberfläche (GUI) für das System von 1.
- 9 illustriert eine Ausführungsform einer Computerarchitektur.
- 10 illustriert eine Ausführungsform einer Kommunikationsarchitektur.
-
DETAILLIERTE BESCHREIBUNG
-
Verschiedene Ausführungsformen zielen darauf ab, die Bildverarbeitung zu verbessern, indem identifiziert wird, welches Farbraummodell für die Erkennung in einer bestimmten Umgebung am besten geeignet ist, z.B. um zwischen Farbräumen zu konvertieren, um die Erkennung in bestimmten Umgebungen oder in Verbindung mit bestimmten Zielen zu verbessern. In verschiedenen Ausführungsformen sorgt die Umwandlung zwischen Farbräumen für eine Matrix, die sich auf einem Objekt befindet oder von einem elektronischen Gerät angezeigt wird, wobei die Matrix für die Erkennung in einer Umgebung optimiert wird, indem eine oder mehrere Farbraumumwandlungen bei der Erzeugung der Matrix durchgeführt werden. In einer oder mehreren Ausführungsformen ist die Matrix ein Matrix-Strichcode, und in einer oder mehreren Ausführungsformen ist der Matrix-Strichcode ein Referenzmarker.
-
In verschiedenen Ausführungsformen kodiert die Farbraumkonvertierung Informationen in Bezug auf einen Matrix-Barcode, was ein ordnungsgemäßes Scannen des dem Matrix-Barcode zugeordneten Objekts ermöglicht und gleichzeitig Manipulationen und falsche Verifizierungen verhindert, z. B. sind die Farbkanäle, die die Informationen enthalten, an die Konvertierung gebunden, und ohne dass ein ScanGerät auf die mit der Konvertierung verbundenen Informationen zugreift, kann der Scan das dem Objekt zugeordnete Objekt nicht verifizieren und/oder auf damit verbundene Informationen zugreifen.
-
In verschiedenen Ausführungsformen sorgt eine Farbraumkonvertierung dafür, dass die Menge der auf der Matrix, z. B. dem Matrix-Strichcode, gespeicherten Informationen erhöht wird, da die mit dem konvertierten (abgeleiteten) Farbraum assoziierten Farbkanäle nach Bedarf und ohne Einschränkung erhöht werden können (vorausgesetzt, die Scanausrüstung ist geeignet konfiguriert, um Erkennungen durchzuführen, wenn die Matrix gescannt wird).
-
In verschiedenen Ausführungsformen können in Bezug auf die Matrix ultraviolette und/oder infrarote Schichten verwendet werden, um die mit der Matrix verbundenen Informationen weiter zu erhöhen, zusätzliche Sicherheitsebenen hinzuzufügen und/oder die mit dem Druck der Matrix verbundenen Druckfarben optimal zu nutzen.
-
Dementsprechend bieten verschiedene Ausführungsformen der vorliegenden Offenbarung mindestens einen der folgenden Vorteile: i) Verbesserung der Erkennung eines Bildes, z. B. einer Matrix, auf einem Objekt in einer Umgebung (da die Farben der Matrix unter Berücksichtigung der Farben der Umgebung ausgewählt und optimiert werden), ii) Ermöglichung einer sichereren Verifizierung und iii) Speicherung von mehr Informationen auf der Matrix, da es keine vorangestellten Beschränkungen hinsichtlich der Anzahl der Farbkanäle gibt, die verwendet werden können, und die Informationsmenge weiter erhöht und ein Verifizierungsscan durch Hinzufügen von Infrarot- oder Ultraviolettmerkmalen sicherer gemacht werden kann.
-
In verschiedenen Ausführungsformen verbessern die Farbraumkonvertierungen die Kantenerkennung. In der Bildverarbeitung ist die Kantendetektion ein bekanntes technisches Gebiet, und Techniken zur Kantendetektion liefern unterschiedliche Ergebnisse für verschiedene Farbraummodelle. Es ist nicht ungewöhnlich, dass ein Farbraummodell bei der Kantendetektion bessere Ergebnisse als ein anderer Farbraum liefert, da die Wahrscheinlichkeit, dass die Bilddaten dem Farbraummodell entsprechen, bei der Kantendetektion höher ist als bei dem anderen Farbraummodell.
-
Farbraummodelle sind so konfiguriert, dass sie Farbdaten darstellen, aber die meisten Modelle unterscheiden sich in ihrer Darstellung dieser Farbdaten. Beispielsweise stellt das CIELAB- oder LAB-Farbraummodell Farbe als drei Werte dar: L für die Luminanz/Helligkeit und Alpha (A) und Beta (B) für die grün-roten bzw. blau-gelben Farbkomponenten. Das LAB-Farbraummodell wird normalerweise bei der Konvertierung von einem Rot-Grün-Blau (RGB)-Farbraummodell in Cyan-Magenta-Gelb-Schwarz (CMYK) verwendet. Bei einigen Bildern liefert die Darstellung der Farbdaten im LAB-Farbraummodell bessere Ergebnisse bei der Kantenerkennung als andere Farbraummodelle, einschließlich des RGB-Modells. Infolgedessen können die Ausführungsformen die Erschwinglichkeit, Skalierbarkeit, Modularität, Erweiterbarkeit oder Interoperabilität für einen Bediener, ein Gerät oder ein Netzwerk verbessern, das die Bilderkennung als Mittel zur Überprüfung einer Transaktion nutzt, indem es eine effektivere und genauere Art des Scannens eines mit der Überprüfung verbundenen Bildes bereitstellt (und dadurch den redundanten Verbrauch von Computerressourcen minimiert).
-
Unter allgemeiner Bezugnahme auf die hier verwendeten Bezeichnungen und Nomenklaturen können die folgenden detaillierten Beschreibungen in Form von Programmabläufen dargestellt werden, die auf einem Computer oder einem Computernetz ausgeführt werden. Diese verfahrenstechnischen Beschreibungen und Darstellungen werden von Fachleuten verwendet, um anderen Fachleuten den Inhalt ihrer Arbeit möglichst effektiv zu vermitteln.
-
Unter einem Verfahren wird hier und im Allgemeinen eine in sich konsistente Folge von Operationen verstanden, die zu einem gewünschten Ergebnis führt. Diese Operationen sind solche, die physikalische Manipulationen von physikalischen Größen erfordern. Normalerweise, wenn auch nicht notwendigerweise, haben diese Größen die Form von elektrischen, magnetischen oder optischen Signalen, die gespeichert, übertragen, kombiniert, verglichen und anderweitig manipuliert werden können. Zuweilen erweist es sich als zweckmäßig, vor allem aus Gründen des allgemeinen Sprachgebrauchs, diese Signale als Bits, Werte, Elemente, Symbole, Zeichen, Begriffe, Zahlen oder Ähnliches zu bezeichnen. Es sollte jedoch beachtet werden, dass alle diese und ähnliche Begriffe mit den entsprechenden physikalischen Größen in Verbindung gebracht werden müssen und lediglich praktische Bezeichnungen für diese Größen sind.
-
Darüber hinaus werden die durchgeführten Manipulationen oft mit Begriffen wie „Addieren“ oder „Vergleichen“ bezeichnet, die üblicherweise mit mentalen Operationen durch einen menschlichen Bediener in Verbindung gebracht werden. Bei den hier beschriebenen Operationen, die Teil einer oder mehrerer Ausführungsformen sind, ist eine solche Fähigkeit eines menschlichen Bedieners weder notwendig noch in den meisten Fällen wünschenswert. Vielmehr handelt es sich bei den Vorgängen um Maschinenvorgänge. Nützliche Maschinen für die Durchführung von Operationen verschiedener Ausführungsformen sind z. B. digitale Allzweckcomputer oder ähnliche Geräte.
-
Verschiedene Ausführungsformen beziehen sich auch auf Geräte oder Systeme zur Durchführung dieser Vorgänge. Dieses Gerät kann speziell für den erforderlichen Zweck konstruiert sein oder aus einem Allzweckcomputer bestehen, der durch ein im Computer gespeichertes Computerprogramm selektiv aktiviert oder rekonfiguriert wird. Die hier vorgestellten Verfahren sind nicht von vornherein an einen bestimmten Computer oder ein anderes Gerät gebunden. Verschiedene Allzweckmaschinen können mit Programmen verwendet werden, die in Übereinstimmung mit den hier dargelegten Lehren geschrieben wurden, oder es kann sich als zweckmäßig erweisen, speziellere Geräte zu konstruieren, um die erforderlichen Verfahrensschritte durchzuführen. Die erforderliche Struktur für eine Vielzahl dieser Maschinen kann aus der vorliegenden Beschreibung hervorgehen.
-
Es wird nun auf die Zeichnungen verwiesen, in denen gleiche Elemente durchgängig mit gleichen Ziffern bezeichnet werden. In der folgenden Beschreibung werden zu Erklärungszwecken zahlreiche spezifische Details angeführt, um ein umfassendes Verständnis zu ermöglichen. Es ist jedoch offensichtlich, dass die neuartigen Ausführungsformen auch ohne diese spezifischen Details praktiziert werden können. In anderen Fällen werden bekannte Strukturen und Vorrichtungen in Form von Blockdiagrammen dargestellt, um deren Beschreibung zu erleichtern. Es ist beabsichtigt, alle Modifikationen, Äquivalente und Alternativen zu erfassen, die mit dem beanspruchten Gegenstand vereinbar sind.
-
1 zeigt ein Blockdiagramm für ein System 100. Obwohl das in 1 dargestellte System 100 eine begrenzte Anzahl von Elementen in einer bestimmten Topologie aufweist, kann das System 100 je nach Wunsch für eine bestimmte Implementierung mehr oder weniger Elemente in alternativen Topologien enthalten. Das System 100 kann einige oder alle Strukturen und/oder Operationen für das System 100 in einer einzigen Recheneinheit implementieren, beispielsweise vollständig in einem einzigen Gerät.
-
Das System 100 kann ein Gerät 120 umfassen. Das Gerät 120 kann im Allgemeinen so eingerichtet sein, dass es die Eingabe 110 unter Verwendung verschiedener Komponenten verarbeitet und eine Ausgabe 130 erzeugt, von der (einige) Ausgaben 130 auf einer Anzeigevorrichtung angezeigt oder auf eine geeignete Materialoberfläche gedruckt werden. Die Vorrichtung 120 kann einen Prozessor 140 (z. B. eine Verarbeitungsschaltung) und einen Computerspeicher 150 umfassen. Bei der Verarbeitungsschaltung 140 kann es sich um eine beliebige Art von Logikschaltung handeln, und der Computerspeicher 150 kann eine Konfiguration aus einer oder mehreren Speichereinheiten sein.
-
Die Vorrichtung 120 umfasst ferner eine Logik 160, die in dem Computerspeicher 150 gespeichert ist und auf der Verarbeitungsschaltung 140 ausgeführt wird. Die Logik 160 bewirkt, dass die Verarbeitungsschaltung 140 Bilddaten von Bilddatensätzen 170 in gepatchte Bilddaten verarbeitet, wobei die Bilddaten gemäß einem Farbraummodell konfiguriert werden. Das hier beschriebene Farbraummodell bezieht sich auf ein beliebiges geeignetes Farbraummodell, wie Rot-Grün-Blau (RGB), Cyan-Magenta-Gelb-Schwarz (CMYK), Luminanz-Alpha-Beta (LAB) und/oder dergleichen. Beispielsweise beziehen sich die Alpha- und Beta-Kanäle des LAB-Farbraummodells auf grün-rote bzw. blau-gelbe Farbkomponenten. Die Grün-Rot-Komponente kann eine Varianz zwischen Rot und Grün mit Grün in negativer Richtung und Rot in positiver Richtung entlang einer Achse darstellen, und die Blau-Gelb-Komponente kann eine Varianz zwischen Blau und Gelb mit Blau in negativer Richtung und Gelb in positiver Richtung entlang einer Achse darstellen. In verschiedenen Ausführungsformen kann eine Kante (mathematisch) als jede Pixelposition definiert werden, an der der Alphakanal einen Wert von Null (0) oder nahe Null hat.
-
In verschiedenen Ausführungsformen umfassen die gepatchten Bilddaten eine Vielzahl von Patches, von denen jedes Patch Farbdaten umfasst (z. B. Pixeldaten, bei denen jedes Pixel als ein Tupel von Rot-Grün-Blau (RGB)-Farbintensitäten dargestellt ist). Wie hier beschrieben, kann ein Farbraummodell (z. B. RGB) eine höhere Erfolgswahrscheinlichkeit bei der Kantenerkennung aufweisen als ein anderes Farbraummodell. Einige Bilder liefern optimale oder nahezu optimale Ergebnisse bei der Kantenerkennung, wenn sie in RGB angeordnet sind, während andere Bilder optimale oder nahezu optimale Ergebnisse bei der Kantenerkennung liefern, wenn sie in LAB oder einem XYZ-Farbraum angeordnet sind und umgekehrt.
-
In verschiedenen Ausführungsformen ist die Logik 160 ferner in der Lage, die Verarbeitungsschaltung 140 zu veranlassen, den Farbraumtransformationsmechanismus 180 auf die Bilddaten anzuwenden, um die transformierten Bilddaten in Übereinstimmung mit dem anderen Farbraummodell zu erzeugen. Dann veranlasst die Logik 160 die Verarbeitungsschaltung 140, ein Kantenerkennungsverfahren 190 auf die transformierten Bilddaten anzuwenden. Die Kantendetektionstechnik 190 ist eine Bildverarbeitungstechnik, die sich auf einen beliebigen Algorithmus zur Identifizierung von Kanten oder Grenzen von Objekten in Bildern bezieht. Im Allgemeinen liefert die Kantendetektionstechnik 190 Informationen (z. B. Pixeldaten), die die Positionen von Kanten in den Bilddaten der Bilddatensätze 170 angeben. Einige Implementierungen des Kantenerkennungsverfahrens 190 arbeiten mit der Erkennung von Helligkeitsunterbrechungen, und bei diesen Implementierungen liefert die Verwendung der Bilddaten in einem LAB-Farbraum oder XYZ-Farbraum über RGB präzisere Kantenerkennungsergebnisse. Einige Implementierungen des Kantenerkennungsverfahrens 190 liefern genaue Kantenerkennungsergebnisse, wenn die Bilddaten gemäß HCL (Hue-Chroma-Luminance) anstelle von RGB modelliert werden.
-
In verschiedenen Ausführungsformen ist die Logik 160 ferner in der Lage, die Verarbeitungsschaltung 140 zu veranlassen, eine Bildgruppe zu identifizieren, die den gepatchten Bilddaten entspricht. Die Bilddatensätze 170 enthalten ferner Bildgruppenmodelldaten, die Bilder mit einem Farbraummodell korrelieren, das am ehesten geeignete Kantenerkennungsergebnisse liefert. In verschiedenen Ausführungsformen geben die Bildgruppenmodelldaten an, welches Farbraummodell bei der Transformation eines gegebenen Bildes vor der Kantenerkennung zu verwenden ist, um nahezu optimale Kantenerkennungsergebnisse zu erzielen. Die Logik 160 ist ferner so konfiguriert, dass sie die Verarbeitungsschaltung 140 veranlasst, einen Farbraumtransformationsmechanismus 180 auf der Grundlage der Bildgruppe auszuwählen. Der Farbraumtransformationsmechanismus 180 ist in der Lage, die Bilddaten in transformierte Bilddaten gemäß einem anderen Farbraummodell zu transformieren, wobei das andere Farbraummodell eine höhere Wahrscheinlichkeit als das Farbraummodell bei der Kantenerkennung für die Bildgruppe aufweist. Es versteht sich von selbst, dass das andere Farbraummodell ein beliebiges Farbraummodell sein kann, einschließlich solcher mit einer anderen Anzahl von Kanälen als das Farbraummodell.
-
In verschiedenen Ausführungsformen kann die Logik 160 ferner betriebsfähig sein, um die Verarbeitungsschaltung 140 zu veranlassen, einen Farbraum zu bestimmen, der für die Erkennung in Verbindung mit einem bestimmten Objekt, einer Entität oder einer Umgebung optimal ist, wobei eine Farbraum- oder Histogrammdarstellung des bestimmten Objekts, der Entität oder der Umgebung Teil der Bilddatensätze 170 sein kann. Die Logik 160 kann ferner betriebsfähig sein, um die Verarbeitungsschaltung 140 zu veranlassen, den optimalen Farbraum auf der Grundlage einer oder mehrerer Farbraumumwandlungsoperationen zu bestimmen, wobei die Farbraumumwandlungsoperationen einen Mechanismus zum Codieren von Informationen in einem beliebigen geeigneten Medium bereitstellen können, einschließlich, aber nicht beschränkt auf eine Matrix, wie beispielsweise einen Matrix-Strichcode, einen Referenzmarker, einen beliebigen anderen geeigneten Strichcode oder ein beliebiges anderes geeignetes Bild. Die Logik 160 kann ferner die Verarbeitungsschaltung 140 veranlassen, ein Schema für eine Matrix, z. B. einen Matrix-Strichcode, eine Passermarke usw., auf der Grundlage der Farbraumbestimmung und zur Erkennung in Bezug auf das bestimmte Objekt, die Einheit oder die Umgebung zu erzeugen. Die Logik 160 kann ferner die Verarbeitungsschaltung 140 veranlassen, ein Schema zum Hinzufügen von mindestens einer ultravioletten Schicht und einer Infrarotschicht zu einem Bild, wie z. B. einer Matrix oder einem Matrix-Strichcode, vorzusehen, das für die Erkennung in Bezug auf das bestimmte Objekt, die Entität oder die Umgebung nützlich ist, wobei die ultraviolette Schicht und/oder die Infrarotschicht dem erkennbaren Bild zusätzliche Datenübertragungskapazität und/oder Sicherheit verleihen.
-
Das eine oder die mehreren hier beschriebenen Farbraummodelle beziehen sich, wie an anderer Stelle erklärt und angedeutet, auf jedes geeignete Farbraummodell, wie z. B. einen Farbraum, der ein Tristimulus-System oder - Schema, das Rot-Grün-Blau (RGB), das Luminanz-Alpha-Beta (LAB), einen XYZ-Farbraum und/oder Ähnliches und/oder Variationen davon verwendet. Auch wenn sich verschiedene Ausführungsformen auf eine bestimmte Umwandlung von einem bestimmten Farbraum in einen anderen bestimmten Farbraum beziehen, sind Umwandlungen zwischen anderen Farbräumen denkbar und mit den Lehren der vorliegenden Offenbarung vereinbar.
-
In verschiedenen Ausführungsformen, wie hier beschrieben, kann ein Farbraummodell (z. B. RGB oder XYZ) einer höheren Erfolgswahrscheinlichkeit bei der Kantenerkennung entsprechen als ein anderes Farbraummodell in Bezug auf die Erkennung eines angezeigten oder gedruckten Bildes, z. B. eines Strichcodes, in Bezug auf ein Objekt, eine Einheit oder eine Umgebung mit einer bestimmten Farbverteilung. Darüber hinaus können bestimmte Farben und Farbkanäle, die mit einem Farbraum verbunden sind, eine bessere Kantenerkennung in Bezug auf das Objekt, die Einheit oder die Umgebung bieten. Einige Bilder liefern optimale oder nahezu optimale Ergebnisse bei der Kantenerkennung, wenn sie in RGB angeordnet sind, während andere Bilder optimale oder nahezu optimale Ergebnisse bei der Kantenerkennung liefern, wenn sie in XYZ oder LAB angeordnet sind und umgekehrt. Beispielsweise würde ein Bild, das einen roten Luftballon auf einem grünen Feld zeigt, in RGB ganz anders aussehen als in LAB; daher würde LAB im Hinblick auf die Kantenerkennung eine höhere Wahrscheinlichkeit bieten als RGB, um Kanten (z. B. Grenzen) des roten Luftballons oder eine Matrix, z. B. einen Strichcode oder eine Referenzmarke, die eine rote Farbe in der grünen Umgebung hat, erfolgreich zu identifizieren und zu lokalisieren.
-
In verschiedenen Ausführungsformen ist ein Farbkanal eine Verteilung von Farben mit einer ersten Farbe und einer zweiten Farbe von erster bzw. zweithöchster Prävalenz, wobei die erste Farbe zu einem Minimum im Farbkanal und die zweite Farbe zu einem Maximum wird, so dass die Grenze ein Übergang zwischen diesen Farben sein kann. Diese Grenze kann mindestens ein Pixel sein, an dem die Farbe von der ersten zur zweiten Farbe oder umgekehrt wechselt. Wenn die erste Farbe auf null (0) und die zweite Farbe auf zweihundertfünfundfünfzig (255) eingestellt ist, kann diese Grenze mathematisch gesehen an einem oder mehreren Pixeln liegen, die zwischen dem Minimal- und dem Maximalwert gesprungen sind; beispielsweise kann es eine scharfe Trennung (d. h. eine dünne Grenze) geben, bei der mindestens zwei benachbarte Pixel unmittelbar zwischen 0 und 255 übergehen. In verschiedenen Ausführungsformen definieren die Farbkanäle, z. B. „R“, „G“ und „B“, einen Farbraum wie RGB (z. B. einen ersten Farbraum, der auf einem Tristimulus-System basiert), und in verschiedenen Ausführungsformen können benutzerdefinierte Farbkanäle unter Verwendung eines (zweiten) Tristimulus-Systems erstellt werden, das mit einem XYZ-Farbraum verbunden ist und diesen definiert (und/oder Konvertierungen in einen XYZ-Farbraum). In verschiedenen Ausführungsformen können die Farbkanäle größer als drei sein.
-
In verschiedenen Ausführungsformen, wie hierin erörtert, werden ein oder mehrere Farbkanalbereiche so ausgewählt, dass ein maximaler Farbwert eines oder mehrerer Farbkanäle einem eindeutigen Farbwert, dem häufigsten Farbwert und/oder dem höchsten Farbwert eines Zielobjekts, einer Entität und/oder einer Umgebung entspricht, die mit einem Scan verbunden sind, und der minimale Farbwert des Farbkanals einer eindeutigsten Farbe, dem häufigsten Farbwert und/oder dem höchsten Farbwert des scanbaren Bildes, z. B. einer Matrix, eines Matrix-Barcodes und/oder einer Bezugsmarke, entspricht. Der minimale Farbwert des Farbkanals entspricht einer eindeutigsten Farbe, einem vorherrschenden Farbwert und/oder dem höchsten Farbwert des abtastbaren Bildes, z. B. einer Matrix, einem Matrix-Barcode und/oder einer Passermarke, wobei zusätzlich der vorherrschende Wert und/oder der höchste Farbwert des abtastbaren Bildes auch ein am wenigsten vorherrschender (niedrigster Farbwert) ist und/oder bei dem Zielobjekt, der Entität und/oder der Umgebung, die mit dem Scan verbunden sind, nicht vorhanden ist, oder umgekehrt (z. B. in Bezug auf die maximalen oder minimalen Werte).
-
In verschiedenen Ausführungsformen, wie hierin beschrieben, können bestimmte Objekte, Einheiten oder Umgebungen Farbverteilungen haben, die kompliziertere und vielfältigere Farbräume und damit verbundene Farben und Farbkanäle, einschließlich Farben, die vom menschlichen Auge nicht wahrgenommen werden können, für die Erkennung attraktiver machen, zusätzlich zur Erhöhung der Kapazität zur Speicherung und Verschlüsselung von Informationen. In verschiedenen Ausführungsformen ist die Logik 160 ferner in der Lage, die Verarbeitungsschaltung 140 zu veranlassen, eine Bildgruppe zu identifizieren, die den gepatchten Bilddaten entspricht. Die Bilddatensätze 170 enthalten außerdem Bildgruppenmodelldaten, die Bilder mit einem Farbraumtransformationsmodell korrelieren, das am ehesten geeignete Kantenerkennungsergebnisse liefert. In einigen Ausführungsformen geben die Bildgruppenmodelldaten an, welches Farbraumtransformationsmodell bei der Transformation eines bestimmten Bildes vor der Kantenerkennung zu verwenden ist, um nahezu optimale Kantenerkennungsergebnisse zu erzielen. Die Logik 160 ist ferner so konfiguriert, dass sie die Verarbeitungsschaltung 140 veranlasst, einen Farbraumtransformationsmechanismus 180 auf der Grundlage der Bildgruppe auszuwählen. Der Farbraumtransformationsmechanismus 180 ist in der Lage, die Bilddaten in transformierte Bilddaten gemäß einem anderen Farbraummodell zu transformieren, wobei das andere Farbraummodell eine höhere Wahrscheinlichkeit als das Farbraummodell bei der Kantenerkennung für die Bildgruppe aufweist.
-
In verschiedenen Ausführungsformen kann das System 100 eine oder mehrere Kamera- oder Videovorrichtungen 195 und/oder eine Abtastvorrichtung 197 umfassen, wobei sowohl die Vorrichtung 195 als auch die Vorrichtung 197 jede geeignete Vorrichtung zum Erhalten, Erfassen, Bearbeiten und/oder Abtasten von Bildern, einschließlich, aber nicht beschränkt auf Video- oder Kamerabilder, von Objekten, Entitäten und/oder Umgebungen sein kann. Die Logik 160 kann so konfiguriert werden, dass sie Bilder eines bestimmten Objekts, einer Entität oder einer Umgebung unter Verwendung der Vorrichtung 195 und/oder der Vorrichtung 197 erfasst oder abtastet, wobei die erfassten Bilder Teil von Bilddatensätzen 170 werden können und zur Bestimmung geeigneter Farbräume, zur Durchführung von Farbraumkonvertierungen und/oder zum Abtasten von Bildern, die aus Farbraumkonvertierungen bestimmt wurden, verwendet werden können, wie es mit den hierin enthaltenen Lehren vereinbar ist.
-
In verschiedenen Ausführungsformen kann das System 100 eine Druckvorrichtung 199 (z. B. einen Drucker) oder eine Anwendung für dieselbe enthalten, wobei Bilder, die Teil von Bilddatensätzen 170 sind, und/oder Bilder, die von einer oder mehreren Komponenten des Systems 100 erzeugt werden, durch Anwendung einer Farbraumtransformationstechnik oder eines Farbraummechanismus, wie z. B. eine abtastbare Matrix, ein Matrix-Barcode oder eine Passermarke, von der Druckvorrichtung 199 gedruckt werden können und/oder die Druckvorrichtung 199 ein Schema für eine andere Vorrichtung bereitstellen kann, um ein Bild in Verbindung mit der abtastbaren Matrix, dem Matrix-Barcode oder der Passermarke zu drucken oder zu erzeugen.
-
2A illustriert eine Ausführungsform eines Clustering-Prozesses 200A für das System 100. Der Clustering-Prozess 200A arbeitet mit Bilddatensätzen (z. B. den Bilddatensätzen 170 von 1), die Farbdaten für Bilder speichern.
-
In einigen Ausführungsformen des Clustering-Prozesses 200A werden die Farbdaten 202 eines Bildes einem Patching-Vorgang unterzogen, bei dem das Bild in eine Vielzahl von Patches 204 von gepatchten Bilddaten 206 verarbeitet wird. Jedes Feld 204 der gepatchten Bilddaten 206 enthält Farbdaten in Übereinstimmung mit einem Farbraummodell, beispielsweise Pixeldaten mit RGB-Tupeln. Der Clustering-Prozess 200A verarbeitet die gepatchten Bilddaten 206 weiter über eine Transformationsoperation 208, indem er einen Farbraumtransformationsmechanismus auf die Farbdaten des gepatchten Bildes 206 anwendet, um gepatchte Bilddaten in transformierte Bilddaten eines transformierten Bildes 210 zu transformieren. Die Farbdaten des gepatchten Bildes 206 werden gemäß dem Farbraummodell konfiguriert und neue Farbdaten für das transformierte Bild 210 werden gemäß einem anderen Farbraummodell erzeugt.
-
In einigen Ausführungsformen führt der Clustering-Prozess 200A eine Mini-Farbraumtransformation für mindestens einen Patch des gepatchten Bildes 206 durch, wobei möglicherweise ein oder mehrere Patches ohne eine Transformation verbleiben. Über die Transformationsoperation 208 modifiziert die Mini-Farbraumtransformation die Farbdaten in dem mindestens einen Patch, um gepatchte Bilddaten in transformierte Bilddaten eines transformierten Bildes 210 zu transformieren. Der Clustering-Prozess 200A kann ein Stitching zwischen den Patches durchführen, um das gepatchte Bild 206 einheitlich zu machen, anstatt künstliche Kanten zu erzeugen.
-
2B zeigt ein Beispiel für ein Farbraumkonvertierungsschema 200B in Übereinstimmung mit verschiedenen Ausführungsformen der vorliegenden Offenbarung. Ein Histogramm 218, das ein bestimmtes Objekt, eine Entität oder eine Umgebung 215 darstellt, wird bereitgestellt (wobei die Zahlen 100, 90, 80 und 70 eine vereinfachte Version der Farbverteilungswerte einer oder mehrerer Farben darstellen sollen, die das bestimmte Objekt, die Entität oder die Umgebung 215 repräsentieren). Das Histogramm 218 kann erzeugt werden, indem eine oder mehrere Komponenten des Systems 100 einen Scan des bestimmten Objekts, der Entität oder der Umgebung 215 durchführen und ein Histogramm 218 der am häufigsten vorkommenden Farben, der am wenigsten vorkommenden Farben oder der nicht vorhandenen Farben des Objekts, der Entität oder der Umgebung 215 erzeugen. In einer oder mehreren Ausführungsformen kann das Histogramm 218 aus vier oder mehr Farben der am häufigsten vorkommenden Farben des Objekts, der Einheit oder der Umgebung bestehen. Da verschiedene Ausführungsformen der vorliegenden Offenbarung ausdrücklich die Verwendung von Farben in Betracht ziehen, die für das menschliche Auge nicht wahrnehmbar sind, gibt es keine Beschränkung hinsichtlich der Anzahl der Farben, die in Bezug auf das Histogramm 218, die hierin erörterten Farbraumkonvertierungen oder beliebige Bilder, die aus den Farbraumkonvertierungen erzeugt werden, verwendet werden können, einschließlich, aber nicht beschränkt auf eine Matrix, einen Matrix-Barcode, einen Referenzmarker usw., die mehr als vier Farben und vier Farbkanäle haben können, wobei die vier Farben und/oder vier Farbkanäle deutlich und unterschiedlich zueinander sind.
-
In verschiedenen Ausführungsformen können eine oder mehrere Komponenten des Systems 100 die vorherrschenden Farben bestimmen, die mit dem Objekt, der Entität oder der Umgebung 215 verbunden sind, und das resultierende Histogramm 218 kann auf dieser Bestimmung basieren. Das Histogramm 218 kann verwendet werden, um die am häufigsten vorkommenden Farben einer Verteilung 222 zuzuordnen, die mit einem geeigneten Farbraum 224 assoziiert ist, einschließlich, aber nicht beschränkt auf einen RGB-Farbraum 224. In verschiedenen Ausführungsformen werden die Farben des Histogramms 218 gemäß den Tristimuluswerten des RGB-Farbraums, z. B. „R“, „G“ und „B“, abgebildet. Jede geeignete mathematische Umwandlung, z. B. linear-algebraisch usw., kann verwendet werden, um die Umwandlung auf den RGB-Farbraum abzubilden, z. B. um den abgebildeten RGB-Farbraum in einen anderen Farbraum umzuwandeln.
-
In verschiedenen Ausführungsformen kann, sobald die Verteilung 222 gemäß dem RGB-Farbraum 224 abgebildet ist, eine oder mehrere Komponenten des Systems 100 die RGB-Verteilung 222 in einen neuen Farbraum 226 mit einer Verteilung 228 gemäß dem neuen Farbraum 226 konvertieren. Jede geeignete Farbraumkonvertierung kann verwendet werden, einschließlich der Konvertierung in einen XYZ-Farbraum, wobei die Konvertierung gemäß allen geeigneten mathematischen Konvertierungen und Gleichungen erfolgen kann, die den XYZ-Farbraum regeln, einschließlich geeigneter Tristimuluskonvertierungen zwischen RGB und XYZ. In verschiedenen Ausführungsformen steht „Y“ für einen Luminanzwert des XYZ-Farbraums und mindestens eines von „X“ und „Z“ (oder beide) für einen Chrominanzwert des Farbraums und eine zugehörige Verteilung, z. B. 226 aufgetragen gemäß dem XYZ-Farbraum.
-
In verschiedenen Ausführungsformen wird der Leuchtdichtekanal „Y“ herausgefiltert, was zu einem Farbraum 228' und einer Farbverteilung 226' führt, die dazu beitragen können, Bestimmungen ausschließlich auf der Grundlage der tatsächlichen Farbwerte vorzunehmen, die mit der Entität, dem Objekt oder der Umgebung 215 assoziiert sind, ohne die Leuchtdichte zu berücksichtigen (dies ist zumindest hilfreich, weil Farben verwendet werden können, die für das menschliche Auge nicht wahrnehmbar sind). In verschiedenen Ausführungsformen können vier (oder mehr) Linien durch die Punkte (a1, b1), (a2, b2), (a3, b3) und (a4, b4) definiert und so ausgewählt werden, dass sie einen maximalen Abstand in Bezug auf die Verteilung 226' haben. In verschiedenen Ausführungsformen werden die Punkte a1, a2, a3 und a4 so ausgewählt, dass sie den am meisten verbreiteten Farben entsprechen, die mit der Entität, dem Objekt oder der Umgebung 215 assoziiert sind, und b1, b2, b3 und b4, die diesen Farben entgegengesetzt sind, können die am wenigsten verbreiteten oder nicht vorhandenen Farben in Verbindung mit einer Entität, einem Objekt oder einer Umgebung b1, b2, b3, b4 darstellen. Diese Linien können Vektoren für eine neue Farbraumkonvertierung in einen XYZ- oder anderen geeigneten Farbraum 245 definieren und die Grundlage für neue XYZ-Tristimuluswerte bilden. Ein Bild, z. B. eine Matrix oder ein Matrix-Strichcode, kann unter Verwendung von Farben erstellt werden, die dem neuen Farbraum 250 und einer Verteilung 245 von Farben zugeordnet sind, die durch die Farbkanalvektoren (i, -i), (j, -j), (k, -k), einen zusätzlichen Farbkanal und alle anderen Farbkanäle (die aufgrund der Beschränkungen des dreidimensionalen Raums bei der Anzeige weggelassen werden) definiert sind. In verschiedenen Ausführungsformen wird die Kantenerkennung verbessert, da die Farben in Bezug auf den Ort, an dem ein potenzieller Scanvorgang stattfinden kann (oder was gescannt wird), z. B. ein Matrix-Barcode auf einer Einheit oder einem Objekt und/oder in einer Umgebung mit Farben, die einen maximalen Unterschied dazu aufweisen, weniger häufig vorkommen oder nicht vorhanden sind.
-
Alternativ, wenn auch nicht ausdrücklich gezeigt, kann der maximale Abstand von den am meisten vorherrschenden Farben zu den am wenigsten vorherrschenden Farben bestimmt werden, z. B. a1 zu b1, a2 zu b2 usw., und dann können Linien von b1, b2, b3 und b4 in einer tangentialen, parallelen oder entgegengesetzten Richtung zu einem Vektor oder einer Richtung, die mit a1, a2, a3 und a4 verbunden ist, gezogen werden. Die Farbkanalvektoren (i, -i), (j, -j), (k, -k), ein zusätzlicher Farbkanal und alle anderen Farbkanäle (die aufgrund der Beschränkungen des dreidimensionalen Raums nicht angezeigt werden), die mit dem Farbraum 250 verbunden sind, können in Bezug auf die Entität, das Objekt oder die Umgebung 215 völlig farblos und/oder schwach ausgeprägt sein, was die Kantenerkennung weiter verbessern kann.
-
In verschiedenen Ausführungsformen können bei der Durchführung der Farbraumkonvertierung zwischen 228' und 250 zusätzlich zur Durchführung der algebraischen oder anderen geeigneten Konvertierungen, die mit dem XYZ-Farbraum verbunden sind, die Farbkanalvektoren, z. B. (i, -i), (j, -j), (k, -k), orthogonal zueinander sein, indem eine beliebige geeignete mathematische und/oder Orientierungsoperation an den Vektoren durchgeführt wird und/oder indem bei der Durchführung der Konvertierung geeignete Punkte im Farbraum 226' und der Verteilung 228' ausgewählt werden. In verschiedenen Ausführungsformen kann eine zweite maximale Differenz zwischen einem oder mehreren Punkten im Raum 250 genommen werden, zusätzlich zu einer Orientierungsoperation, um die Verteilung 245 entlang der Achse der neu definierten Farbkanalvektoren zu zentrieren, z. B. (i, - i), (j, -j), (k, -k), so dass die Farbkanalvektoren orthogonal sind und einen maximalen Abstand zueinander haben. In verschiedenen Ausführungsformen kann die Durchführung mindestens einer der Operationen Orthogonalitätsoperation, Maximalbestimmung und/oder Orientierungsoperation die Kantendetektion eines zum Scannen erzeugten Bildes, z. B. eines Matrix-Strichcodes, in Bezug auf eine zu scannende Einheit, ein Objekt oder eine Umgebung 215 weiter verbessern.
-
In verschiedenen Ausführungsformen definieren die verschiedenen oben beschriebenen Farbkanäle, einschließlich jedes Vektors, z. B. (-i, i), eine erste Farbe, die ein Minimum im Farbkanal darstellt, und die zweite Farbe wird zum Maximum. Diese Grenze kann mindestens ein Pixel sein, an dem die Farbe von der ersten zur zweiten Farbe oder umgekehrt wechselt. Wenn die erste Farbe auf Null (0) und die zweite Farbe auf zweihundertfünfundfünfzig (255) eingestellt ist, kann diese Grenze mathematisch gesehen an einem oder mehreren Pixeln liegen, die zwischen dem Minimal- und dem Maximalwert gesprungen sind; beispielsweise kann es eine scharfe Trennung (d. h. eine dünne Grenze) geben, bei der mindestens zwei benachbarte Pixel unmittelbar zwischen 0 und 255 übergehen. In verschiedenen Ausführungsformen ist die Grenze so beschaffen, dass sie ein Übergang zwischen diesen Farben sein kann, wobei, wie oben erörtert, ein oder mehrere Farbkanalbereiche so ausgewählt werden, dass ein maximaler Farbwert eines oder mehrerer Farbkanäle einem eindeutigen Farbwert, dem häufigsten Farbwert und/oder dem höchsten Farbwert eines Zielobjekts, einer Entität und/oder einer Umgebung entspricht, die mit einem Scan verbunden sind, und der minimale Farbwert des Farbkanals einer eindeutigsten Farbe, dem häufigsten Farbwert und/oder dem höchsten Farbwert des scannbaren Bildes, z. B. einer Matrix, eines Matrix-Barcodes, eines Barcodes oder eines Strichcodes, entspricht. Der minimale Farbwert des Farbkanals entspricht einer eindeutigsten Farbe, einem vorherrschenden Farbwert und/oder dem höchsten Farbwert des abtastbaren Bildes, z. B. einer Matrix, einem Matrix-Barcode und/oder einer Passermarke, wobei zusätzlich der vorherrschende Wert und/oder der höchste Farbwert des abtastbaren Bildes auch ein am wenigsten vorherrschender (niedrigster Farbwert) ist und/oder bei dem Zielobjekt, der Entität und/oder der Umgebung, die mit dem Scan verbunden sind, nicht vorhanden ist, oder umgekehrt (z. B. in Bezug auf die maximalen oder minimalen Werte).
-
Die Länge des Farbkanals kann entsprechend den Möglichkeiten der Abtast- und Bilderfassungsfähigkeiten der verschiedenen Komponenten, z. B. Kamera oder Videogerät 195, Abtastgerät 197 und/oder Erkennungskomponente 422-4 (unten in Bezug auf 4 erörtert), angepasst werden, wobei die Länge die Anzahl der verschiedenen Farben zwischen dem minimalen und maximalen Punkt des Farbkanals erhöht.
-
In verschiedenen Ausführungsformen können die Umwandlungen zwischen dem RGB-Farbraum in den XYZ-Farbraum und/oder einem ersten in einen (abgeleiteten) XYZ-Farbraum umgewandelten Farbraum in einen anderen XYZ-Farbraum durch die Tristimulusgleichungen (Gleichung 1) geregelt werden, die den umgewandelten Farbraum und eine Farbraumverteilung definieren, wobei der Wert von x + y = z auf 1 normiert werden kann.
-
In verschiedenen Ausführungsformen ist der Wert von „X“, „Y“ und „Z“ abhängig von den Eingangsfarben aus dem RGB-Farbraum (oder im Falle einer zweiten Konvertierung aus dem konvertierenden Farbraum). Obwohl es sich bei den Tristimuluswerten um drei Werte handelt, kann die Umwandlung, wie oben erwähnt, mehr als drei Farbkanäle umfassen, einschließlich Farbkanälen, die Farben definieren, die für das menschliche Auge nicht wahrnehmbar sind. In verschiedenen Ausführungsformen kann die Umwandlung gemäß Gleichung. 1 einen Schlüssel für eine Abtastvorrichtung bilden, um ein durch die Umwandlung definiertes Bild zu scannen, wie z. B. eine Matrix, z. B. einen Matrix-Barcode oder eine Passermarke. In verschiedenen Ausführungsformen bedeutet dies, dass zusätzlich zur Bereitstellung eines Vehikels zur Erhöhung der Anzahl von Farbkanälen und Farben für ein zu scannendes Bild, was eine Erhöhung der Bits von Informationen bedeutet, die darin kodiert werden können, ein weiterer Vorteil verschiedener Ausführungsformen dann besteht, dass eine Möglichkeit zur sicheren Kodierung von Informationen angeboten wird, z. B. ohne die Gleichung oder Gleichungen zu kennen, welcher Farbraum herrscht, und ohne die Eingabewerte zu kennen (die auf dem ersten Farbraum basieren, der mit der Entität, dem Objekt oder der Umgebung 215 verbunden ist), kann ein erfolgreicher Scan nicht stattfinden. Dementsprechend kann in verschiedenen Ausführungsformen die Logik 160 des Systems 100 einen Prozessor 140 (oder eine Anwendung, die für die Ausführung der Operationen von 100 programmiert ist) veranlassen, eine Abtastvorrichtung 197 mit einem durch Gleichung 1 bestimmten Schlüssel zu versorgen, um ein Bild zu scannen, das gemäß einer oder mehrerer mit Gleichung 1 verbundenen Farbraumkonvertierungen kodiert ist.
-
In verschiedenen Ausführungsformen kann die Logik 160 des Systems 100 einen Prozessor 140 veranlassen, ein Schema zum Hinzufügen entweder einer oder beider Schichten, nämlich einer ultravioletten Schicht und/oder einer Infrarotschicht, zu einem Bild, wie z. B. einer Matrix, z. B. einem Matrix-Barcode oder einer Referenzmarkierung, bereitzustellen, wobei das Bild mehr als eine nicht-schwarze oder nicht-weiße Farbe enthält, die durch einen beliebigen geeigneten Farbraum bestimmt wird. In verschiedenen Ausführungsformen kann das Schema sowohl eine ultraviolette als auch eine infrarote Schicht enthalten, wobei die ultraviolette Schicht die erste Schicht eines Bildes bilden kann, um ihre Eigenschaften zu nutzen. In verschiedenen Ausführungsformen können die Nicht-Schwarz- und Nicht-Weiß-Farben des abtastbaren Bildes durch eine oder mehrere Farbraumkonvertierungstechniken, wie hier beschrieben, bestimmt werden. In verschiedenen Ausführungsformen bedeutet „nicht-schwarze und nicht-weiße Farben“ Farben, die nicht schwarz oder weiß sind. In verschiedenen Ausführungsformen bedeuten Nicht-Schwarz- und Nicht-Weiß-Farben Farben, die nicht schwarz oder weiß sind oder auf einer Graustufenverteilung basieren.
-
3 zeigt ein Blockdiagramm eines verteilten Systems 300. Das verteilte System 300 kann Teile der Struktur und/oder der Operationen für das System 100 über mehrere Recheneinheiten verteilen. Beispiele für ein verteiltes System 300 können ohne Einschränkung eine Client-Server-Architektur, eine 3-Tier-Architektur, eine N-Tier-Architektur, eine eng gekoppelte oder geclusterte Architektur, eine Peerto-Peer-Architektur, eine Master-Slave-Architektur, eine gemeinsam genutzte Datenbankarchitektur und andere Arten von verteilten Systemen umfassen. Die Ausführungsformen sind in diesem Zusammenhang nicht beschränkt.
-
Das verteilte System 300 kann ein Client-Gerät 310 und ein Server-Gerät 320 umfassen. Im Allgemeinen können das Client-Gerät 310 und/oder das Server-Gerät 320 gleich oder ähnlich wie das Gerät 120 sein, wie es mit Bezug auf 1 beschrieben ist. Beispielsweise können die Client-Vorrichtung 310 und die Server-Vorrichtung 320 jeweils eine Verarbeitungskomponente 330 umfassen, die mit der Verarbeitungsschaltung 140, wie in 1 beschrieben, identisch oder ihr ähnlich ist. In einem anderen Beispiel können die Geräte 310, 320 über ein Kommunikationsmedium 312 unter Verwendung von Kommunikationssignalen 314 über eine Kommunikationskomponente 340 kommunizieren.
-
Das Servergerät 320 kann mit anderen Geräten über die Kommunikationsmedien 312 unter Verwendung von Kommunikationssignalen 314 über die Kommunikationskomponente 340 kommunizieren. Die anderen Geräte können intern oder extern zu dem Gerät 320 sein, wie es für eine bestimmte Implementierung gewünscht wird.
-
Das Client-Gerät 310 kann ein oder mehrere Client-Programme umfassen oder verwenden, die verschiedene Methoden in Übereinstimmung mit den beschriebenen Ausführungsformen ausführen. In einer Ausführungsform kann die Client-Vorrichtung 310 beispielsweise das System 100 einschließlich der Logik 160 von 1 implementieren, wobei in verschiedenen Ausführungsformen die Client-Vorrichtung 310 eine oder mehrere Operationen implementieren kann, um ein Bild auf der Grundlage einer oder mehrerer Farbraumkonvertierungen, wie oben und hierin beschrieben, zu erzeugen.
-
Die Server-Vorrichtung 320 kann ein oder mehrere Server-Programme umfassen oder verwenden, die so arbeiten, dass sie verschiedene Methoden in Übereinstimmung mit den beschriebenen Ausführungsformen durchführen. In einer Ausführungsform kann die Servervorrichtung 320 beispielsweise den Clustering-Prozess 200A von 2A implementieren und Bildgruppenmodelldaten 350 erzeugen und/oder Bildgruppenmodelldaten 350 erzeugen, indem eine oder mehrere der Farbraumkonvertierungsoperationen des Schemas 200B durchgeführt werden. Die Bildgruppenmodelldaten 350 können ein Druckschema oder eine Farbverteilung für ein Bild enthalten, das in einer Entität, einem Objekt oder einer Umgebung 215 gescannt werden soll, wie z. B. eine Matrix, z. B. ein Matrix-Barcode oder eine Referenzmarkierung.
-
Die Geräte 310, 320 können jedes elektronische Gerät umfassen, das Informationen für das System 100 empfangen, verarbeiten und senden kann. Beispiele für ein elektronisches Gerät können ohne Einschränkung ein ultramobiles Gerät, ein mobiles Gerät, ein persönlicher digitaler Assistent (PDA), ein mobiles Computergerät, ein Smart Phone, ein Telefon, ein digitales Telefon, ein Mobiltelefon, Ebook-Reader, ein Handgerät, ein Einweg-Pager, ein Zweiweg-Pager, ein Nachrichtengerät, ein Computer, ein Personal Computer (PC), ein Desktop-Computer, ein Laptop-Computer, ein Notebook-Computer, ein Netbook-Computer, ein Handheld-Computer, ein Tablet-Computer, ein Server, ein Server-Array oder eine Server-Farm, ein Web-Server, ein Netzwerkserver, ein Internetserver, eine Workstation, ein Minicomputer, ein Hauptrechner, ein Supercomputer, ein Netzwerkgerät, ein Webgerät, ein verteiltes Rechensystem, Multiprozessorsysteme, prozessorbasierte Systeme, Unterhaltungselektronik, programmierbare Unterhaltungselektronik, Spielgeräte, Fernsehen, digitales Fernsehen, Set-Top-Box, drahtloser Zugangspunkt, Basisstation, Teilnehmerstation, mobile Teilnehmerzentrale, Funknetzcontroller, Router, Hub, Gateway, Brücke, Schalter, Maschine oder eine Kombination davon. Die Ausführungsformen sind in diesem Zusammenhang nicht beschränkt.
-
Die Geräte 310, 320 können Anweisungen, Verarbeitungsvorgänge oder Logik für das System 100 unter Verwendung der Verarbeitungskomponente 330 ausführen. Die Verarbeitungskomponente 330 kann aus verschiedenen Hardwareelementen, Softwareelementen oder einer Kombination aus beidem bestehen. Beispiele für Hardwareelemente können Geräte, logische Geräte, Komponenten, Prozessoren, Mikroprozessoren, Schaltungen, Verarbeitungsschaltungen, Schaltungselemente (z. B., Transistoren, Widerstände, Kondensatoren, Induktoren usw.), integrierte Schaltungen, anwendungsspezifische integrierte Schaltungen (ASIC), programmierbare Logikbausteine (PLD), digitale Signalprozessoren (DSP), feldprogrammierbare Gate-Arrays (FPGA), anwendungsspezifische Standardprodukte (ASSPs), System-on-a-Chip-Systeme (SOCs), komplex programmierbare Logikbausteine (CPLDs), Speichereinheiten, Logikgatter, Register, Halbleiterbauelemente, Chips, Mikrochips, Chipsätze usw. Beispiele für Softwareelemente können Softwarekomponenten, Programme, Anwendungen, Computerprogramme, Anwendungsprogramme, Systemprogramme, Softwareentwicklungsprogramme, Maschinenprogramme, BetriebssystemSoftware, Middleware, Firmware, Softwaremodule, Routinen, Unterprogramme, Funktionen, Methoden, Prozeduren, Softwareschnittstellen, Anwendungsprogrammschnittstellen (API), Befehlssätze, Rechencode, Computercode, Codesegmente, Computercodesegmente, Wörter, Werte, Symbole oder eine beliebige Kombination davon sein. Die Entscheidung, ob eine Ausführungsform unter Verwendung von Hardwareelementen und/oder Softwareelementen implementiert wird, kann in Abhängigkeit von einer beliebigen Anzahl von Faktoren variieren, wie z. B. der gewünschten Rechenleistung, dem Leistungspegel, den Wärmetoleranzen, dem Budget für Verarbeitungszyklen, den Eingangsdatenraten, den Ausgangsdatenraten, den Speicherressourcen, den Datenbusgeschwindigkeiten und anderen Konstruktions- oder Leistungsbeschränkungen, wie sie für eine bestimmte Implementierung gewünscht werden.
-
Die Geräte 310, 320 können Kommunikationsoperationen oder -logik für das System 100 unter Verwendung der Kommunikationskomponente 340 ausführen. Die Kommunikationskomponente 340 kann alle bekannten Kommunikationstechniken und -protokolle implementieren, wie z. B. Techniken, die für die Verwendung mit paketvermittelten Netzen (z. B. öffentliche Netze wie das Internet, private Netze wie ein Unternehmensintranet usw.), leitungsvermittelte Netze (z. B. das öffentliche Telefonnetz) oder eine Kombination aus paketvermittelten Netzen und leitungsvermittelten Netzen (mit geeigneten Gateways und Übersetzern) geeignet sind. Die Kommunikationskomponente 340 kann verschiedene Arten von Standard-Kommunikationselementen enthalten, z. B. eine oder mehrere Kommunikationsschnittstellen, Netzwerkschnittstellen, Netzwerkschnittstellenkarten (NIC), Funkgeräte, drahtlose Sender/Empfänger (Transceiver), verdrahtete und/oder drahtlose Kommunikationsmedien, physische Anschlüsse usw. Zu den Kommunikationsmedien 312 gehören beispielsweise verdrahtete Kommunikationsmedien und drahtlose Kommunikationsmedien, ohne Einschränkung. Beispiele für verdrahtete Kommunikationsmedien können Drähte, Kabel, Metallleitungen, gedruckte Leiterplatten (PCB), Backplanes, Schaltgewebe, Halbleitermaterial, verdrillte Drähte, Koaxialkabel, Glasfasern, ein sich ausbreitendes Signal usw. umfassen. Beispiele für drahtlose Kommunikationsmedien können akustische, hochfrequente (RF), infrarote und andere drahtlose Medien sein.
-
4 illustriert eine Ausführungsform einer Betriebsumgebung 400 für das System 100. Wie in 4 dargestellt, umfasst die Betriebsumgebung 400 eine Anwendung 420, z. B. eine Unternehmenssoftwareanwendung, zur Verarbeitung von Eingaben 410 und Erzeugung von Ausgaben 430.
-
Die Anwendung 420 umfasst eine oder mehrere Komponenten 422-a, wobei a eine beliebige ganze Zahl darstellt. In einer Ausführungsform kann die Anwendung 420 eine Schnittstellenkomponente 422-1, eine Clusterkomponente 422-2, eine Transformationsmechanismusbibliothek 422-3 und eine Erkennungskomponente 422-4 umfassen. Die Schnittstellenkomponente 422-1 kann im Allgemeinen so eingerichtet sein, dass sie eine Benutzeroberfläche für die Anwendung 420 verwaltet, indem sie beispielsweise grafische Daten zur Darstellung als grafische Benutzeroberfläche (GUI) erzeugt. Die Schnittstellenkomponente 422-1 kann die GUI generieren, um verschiedene Elemente darzustellen, wie z. B. Dialogfelder, HTML-Formulare mit reichhaltigem Text und/oder dergleichen.
-
Die Clusterkomponente 422-2 kann im Allgemeinen so eingerichtet sein, dass sie Bilder in Bildgruppen oder Clustern organisiert. Einige Ausführungsformen der Clustering-Komponente 422-2 führen den Clustering-Prozess 200A von 2A und/oder eine oder mehrere der Farbraumumwandlungsoperationen des Schemas 200B von 2B aus und erzeugen die Bildgruppenmodelldaten 350 von 3. In verschiedenen Ausführungsformen identifiziert die Clusterkomponente 422-2 für jede Bildgruppe eine bestimmte Farbraumtransformation, die eine höhere Erfolgswahrscheinlichkeit bei der Kantenerkennung für diese Gruppe hat als eine aktuelle Farbraumtransformation, wie hierin beschrieben oder anderweitig geeignet. In verschiedenen Ausführungsformen kann die Clusterkomponente 422-2 den oben erwähnten Clustervorgang für eine Vielzahl von Kantendetektionsverfahren durchführen, was zu Sätzen von Bildgruppen führt, wobei jeder Satz von Bildgruppen einem bestimmten Verfahren entspricht. Kantenerkennungsverfahren unterscheiden sich darin, wie Grenzen in einem Bild identifiziert werden; einige Verfahren erkennen Unterschiede in der Farbe, während andere Verfahren ein anderes Attribut messen. Einige Verfahren unterscheiden sich sogar darin, wie Farbunterschiede gemessen werden. Es ist möglich, dass eine Technik bestimmte Schritte verändert und mehrere Techniken schafft.
-
Die Farbraumtransformationsbibliothek 422-3 umfasst eine Vielzahl von Farbraumtransformationsmechanismen und kann allgemein so eingerichtet sein, dass sie einen Farbraumtransformationsmechanismus zur Anwendung auf ein Bild bereitstellt, der dieses Bild in ein transformiertes Bild gemäß einem anderen Farbraummodell als dem ursprünglichen Farbraummodell des Bildes transformiert. Wie hierin beschrieben, bezieht sich das Farbraummodell auf eine Technik zur Modellierung der Farbdaten eines Bildes, z. B. in RGB oder in LAB oder RGB zu XYZ oder RGB zu XYZ zu einem anderen XYZ. Im Allgemeinen und wie in einer oder mehreren Ausführungsformen hierin beschrieben, führt der Farbraumtransformationsmechanismus mathematische Operationen durch, um einen Datenpunkt innerhalb des ursprünglichen/aktuellen Farbraummodells des Bildes in einen entsprechenden Datenpunkt in Übereinstimmung mit dem anderen Farbraummodell zu übertragen. Dies kann die Umwandlung der Werte des Datenpunkts - die in einem Bereich liegen - in entsprechende Werte für den entsprechenden Datenpunkt beinhalten. Beispielsweise kann die Farbraumtransformation ein RGB-Pixel mit einem Tupel von RGB-Werten in ein LAB-Pixel mit einem Tupel von LAB-Werten, ein RGB-Pixel mit einem Tupel von RGB-Werten in ein XYZ-Pixel mit einem Tupel von XYZ-Werten und/oder ein RGB-Pixel mit einem Tupel von RGB-Werten in ein XYZ-Pixel mit einem Tupel von XYZ-Werten und wieder in ein anderes XYZ-Pixel mit einem Tupel von anderen XYZ-Werten umwandeln. Die mit der endgültigen Umwandlung verbundenen Pixel können eine Farbverteilung für ein scanbares Bild definieren, wie z. B. eine Matrix oder einen Matrix-Barcode, der für einen Scan in Verbindung mit einer Einheit, einem Objekt oder einer Umgebung verwendet wird.
-
Die Erkennungskomponente 422-4, z. B. ein geeigneter Scanner, Drucker und/oder eine Kamera oder eine entsprechende Anwendung, kann im Allgemeinen so eingerichtet sein, dass sie als Teil eines Erkennungsvorgangs an dem transformierten Bild eine Kantenerkennungstechnik ausführt. Ein Beispiel für einen bekannten Erkennungsvorgang ist die optische Zeichenerkennung (OCR). Die Anwendung 420 ruft die Erkennungskomponente 422-4 auf, um verschiedene Aufgaben auszuführen, einschließlich des Scannens einer Matrix, z. B. eines Matrix-Strichcodes oder einer Passermarke, um die Echtheit eines Artikels zu überprüfen und/oder um kodierte Informationen zu erhalten, die mit dem Strichcode verbunden sind. Die Erkennungskomponente 422-4 kann so konfiguriert sein, dass sie einen Schlüssel enthält, z. B. eine mathematische Gleichung oder Gleichungen mit bestimmten Eingaben, die eine Farbraumkonvertierung definieren, so dass sie relevante Farben, die von dem Strichcode reflektiert werden, scannt, wobei die Farben auf einer oder mehreren Farbraumtransformationstechniken, wie hierin beschrieben, basieren, wobei der Schlüssel eine endgültige Transformation definiert, die Farbkanäle und einen Farbraum definiert, der mit Farben des scannbaren Bildes verbunden ist, und wobei die durch den Schlüssel definierten Farbkanäle jeweils mindestens ein Bit kodierter Daten darstellen.
-
In verschiedenen Ausführungsformen kann die Erkennungskomponente 422-4 ein Bild drucken oder ein Schema zum Drucken eines Bildes, z. B. eines Strichcodes und/oder einer Referenzmarke, bereitstellen, das eine oder mehrere Nicht-Schwarz- und Nicht-Weiß-Farben und eine oder beide Ultraviolett- und Infrarotschichten enthält. Die Farbkanäle, die mit jeder nicht-schwarzen und nicht-weißen Farbe verbunden sind, können jeweils mindestens ein Datenbit darstellen, und jede der infraroten und ultravioletten Schichten kann jeweils ein Datenbit darstellen. In verschiedenen Ausführungsformen wird jede der Nicht-Schwarz- und Nicht-Weiß-Farben durch einen Farbraum-Transformationsmechanismus oder eine FarbraumTransformationstechnik erzeugt und ist durch einen mit dem Transformationsmechanismus verbundenen Schlüssel abtastbar. In verschiedenen Ausführungsformen kann die Anzahl der Farbkanäle so eingestellt werden, dass sie größer oder gleich vier Farbkanälen ist, da die Erkennungskomponente 422-4 so eingestellt werden kann, dass sie eine beliebige Anzahl von Farben abtastet, einschließlich Farben, die für das menschliche Auge nicht wahrnehmbar sind.
-
In verschiedenen Ausführungsformen kann der nicht-schwarze und nicht-weiße Farbkanal in Verbindung mit einer oder beiden der infraroten oder ultravioletten Schichten auf einem abtastbaren Bild verwendet werden, wie z. B. einer Matrix, einem Matrix-Barcode und/oder einer Passermarke, wobei jeder der Farbkanäle, die ultraviolette(n) Schicht(en) und/oder die infrarote(n) Schicht(en) ein Datenbit und eine andere Art der Codierung von Daten in das Bild darstellen, und so können sechs oder mehr Datenbits in das Bild codiert werden. In verschiedenen Ausführungsformen kann die ultraviolette Schicht im Verhältnis zu den infraroten Schichten und den verschiedenen Schichten, die mit nicht-schwarzen und nicht-weißen Farbkanälen verbunden sind, zuerst gedruckt oder angezeigt werden, um die Eigenschaften der ultravioletten Schicht zu nutzen.
-
In verschiedenen Ausführungsformen kann das Bild, das alle oder eine der Schichten enthält, die den nicht-schwarzen und nicht-weißen Farbkanalschichten, den ultravioletten Schichten und den infraroten Schichten zugeordnet sind, von der Erkennungskomponente 422-4 für eine Verifizierungskomponente gescannt werden, wobei die Erkennungskomponente 422-4 einen Schlüssel enthalten oder empfangen kann, der auf einer Gleichung basiert, die sich auf eine Farbraumkonvertierung bezieht, z. B. Gleichung 1, wobei die Farbraumkonvertierung die relevanten Farbkanäle mit den zugeordneten Farben, die die Informationen enthalten, aufdeckt, zusätzlich zu einem oder mehreren Verifizierungsbits, die anzeigen, ob das Vorhandensein oder Nichtvorhandensein einer ultravioletten und/oder infraroten Schicht die Information enthält, z. B. Gleichung 1, wobei die Farbraumkonvertierung die relevanten Farbkanäle mit den zugehörigen Farben, die die Informationen enthalten, offenbart, zusätzlich zu einem oder mehreren Verifizierungsbits, die anzeigen, ob das Vorhandensein oder Nichtvorhandensein einer Ultraviolett- und/oder Infrarotschicht auf kodierte Informationen hinweist. Dementsprechend bieten der Schlüssel und/oder das Verifikationsbit eine Möglichkeit zur Dekodierung von Informationen.
-
In verschiedenen Ausführungsformen ist die Anwendung 420 so konfiguriert, dass sie den Schlüssel und/oder das Verifizierungsbit enthält und eine Ausgabe 430 bereitstellt, sobald der Scan des Bildes, z. B. des Barcodes, lokal verifiziert ist. In verschiedenen Ausführungsformen kann die Erkennungskomponente 422-4 einen zusätzlichen Verifizierungsschritt erfordern, bei dem ein Hostsystem kontaktiert wird, das eine oder mehrere der Funktionalitäten des Systems 100 enthält, um zu bestätigen, z. B. durch einen oder mehrere Vergleichsschritte, dass der von der Erkennungskomponente 422-4 verwendete Schlüssel und/oder das Verifizierungsbit korrekt ist. Wenn der Schlüssel korrekt ist und der Scan von der Erkennungskomponente 422-4 bestätigt wird, dann ist die Ausgabe 430 der Anwendung 420 ein oder mehrere Zugriffe, Übertragungen oder der Empfang von Informationen, einschließlich Währungs-, Personen- und/oder Finanzinformationen, an eine andere Entität.
-
In verschiedenen Ausführungsformen kann das Scannen des Bildes, z. B. einer Matrix, eines Matrix-Barcodes und/oder einer Passermarke durchgeführt werden, um einen Benutzer vor finanzieller Veruntreuung zu schützen. Die Erkennungskomponente 422-4 kann den Text- oder Bilderkennungsvorgang durchführen, um zu bestimmen, ob das Bild, z. B. der Barcode, gültig ist, und die Gültigkeit des Scans mit einer Verifizierung oder dem Zugriff auf Informationen in Verbindung bringen, die sensible Informationen wie ein Passwort oder eine Sozialversicherungsnummer (SSN) enthalten, gemäß einigen Ausführungsformen. Die Anwendung 420 kann die Erkennungskomponente 422-4 auffordern, ein Bild, z. B. einen Barcode, vor der Veröffentlichung von Inhalten in sozialen Netzwerken zu scannen, so dass ein mögliches Versagen beim ordnungsgemäßen Scannen des Bildes, z. B. wenn die Komponente, die das Bild scannt, nicht über einen Schlüssel verfügt, der es gemäß dem Schlüssel, der sich auf die Farbrauminformationen bezieht, und/oder dem Bit, das anzeigt, dass eine Ultraviolett- und/oder Infrarotschicht Informationen enthält, ordnungsgemäß dekodiert, die Identifizierung sensibler Informationen in diesem Inhalt verhindert. In verschiedenen anderen Ausführungsformen kann das Scannen des Bildes, z. B. eines Strichcodes, die Einleitung einer finanziellen Transaktion, z. B. die Überweisung eines geeigneten elektronischen Geldbetrags, ermöglichen.
-
Hierin ist eine Reihe von Flussdiagrammen enthalten, die beispielhafte Methoden zur Durchführung neuer Aspekte der offengelegten Architektur darstellen. Obwohl die hier dargestellten Methoden, beispielsweise in Form eines Flussdiagramms, der Einfachheit halber als eine Reihe von Handlungen dargestellt und beschrieben werden, ist es zu verstehen und zu würdigen, dass die Methoden nicht durch die Reihenfolge der Handlungen beschränkt sind, da einige Handlungen in Übereinstimmung damit in einer anderen Reihenfolge und/oder gleichzeitig mit anderen Handlungen als den hier dargestellten und beschriebenen auftreten können. Fachleute wissen beispielsweise, dass eine Methodik alternativ auch als eine Reihe von miteinander verbundenen Zuständen oder Ereignissen dargestellt werden kann, beispielsweise in einem Zustandsdiagramm. Darüber hinaus sind möglicherweise nicht alle in einer Methodik dargestellten Handlungen für eine neuartige Implementierung erforderlich.
-
5A illustriert eine Ausführungsform eines logischen Ablaufs 500A. Der Logikfluss 500A kann für einige oder alle Vorgänge repräsentativ sein, die von einer oder mehreren hier beschriebenen Ausführungsformen ausgeführt werden.
-
In der in 5A gezeigten Ausführungsform empfängt der Logikfluss 500A einen repräsentativen Datensatz eines Ziels, wie z. B. eine Entität, ein Objekt oder eine Umgebung 502. Beispielsweise kann der Logikfluss 500 einen repräsentativen Datensatz empfangen, der mindestens eines der folgenden Elemente enthält: i) ein oder mehrere Bilder eines Ziels und ii) ein oder mehrere Videos des Ziels, wobei das Ziel mindestens eines der folgenden Elemente enthält: i) eine Umgebung, ii) eine lebende Entität und iii) ein Objekt unter Verwendung einer beliebigen geeigneten Kamera oder eines Scangeräts, wobei der repräsentative Datensatz in Bildgruppenmodelldaten 350 enthalten ist oder direkt durch Scannen des Ziels unter Verwendung eines beliebigen geeigneten Geräts, z. B. Kamera- oder Videogerät 195 und/oder Scangerät 197, erhalten wird. In verschiedenen Ausführungsformen kann das Ziel eine Umgebung sein, die ein abtastbares Bild enthält.
-
Der Logikfluss 500A kann den repräsentativen Datensatz in eine geeignete Darstellung eines Farbschemas, wie z. B. ein Histogramm 504, verarbeiten. Zum Beispiel kann der Logikfluss 500 die Bildgruppenmodelldaten 350 untersuchen, die erfasste Daten einer gescannten Umgebung enthalten. Sobald der Logikfluss 500 die gescannten Daten der Umgebung identifiziert hat, kann der Logikfluss diese Daten in ein Histogramm eines bestimmten Farbraums, z. B. eines RGB-Farbraums, verarbeiten.
-
Der Logikfluss 500A kann die vorherrschenden Farben der Umgebung unter Verwendung des Histogramms 506 identifizieren. In verschiedenen Ausführungsformen identifiziert der Logikfluss die vorherrschenden Farben, um einen Farbraumtransformationsmechanismus anzuwenden, der die Kantenerkennung für ein scannbares Bild, wie eine Matrix, einen Matrix-Strichcode, eine Referenzmarkierung usw., im Wesentlichen maximiert.
-
Der Logikfluss 500A kann eine entsprechende Anzahl von Farben auf der Grundlage des Histogramms 508 bestimmen, z. B. wird das Histogramm verwendet, um einen ersten Farbraum abzubilden, in dem die am wenigsten verbreiteten und/oder fehlenden Farben im Verhältnis zu den am meisten verbreiteten Farben des Ziels bestimmt werden, und die am wenigsten verbreiteten und/oder fehlenden Farben bilden die Grundlage für einen oder mehrere Farbkanäle in einem zweiten Farbraum.
-
In verschiedenen Ausführungsformen kann die zugehörige Vielzahl von Farben einen Farbbereich zwischen den am häufigsten vorkommenden Farben und den am wenigsten vorkommenden Farben und/oder fehlenden Farben des Ziels darstellen, einschließlich der einzigen Farben, die in Bezug auf das Ziel fehlen, und/oder der Farben, die in Verbindung mit dem Ziel am wenigsten vorkommen. In verschiedenen Ausführungsformen kann der Logikfluss, um die zugehörige Anzahl von Farben zu bestimmen, einen Farbraumtransformationsmechanismus auswählen und auf die mit dem Histogramm verbundenen Bilddaten anwenden. Wie hierin beschrieben, enthalten die Bilddaten Farbdaten, die gemäß einem Farbraummodell konfiguriert sind, z. B. kann das Histogramm verwendet werden, um eine Farbraumdarstellung der Zieldaten zu erstellen. In einigen Ausführungsformen wendet der Logikfluss 500 den Farbraumtransformationsmechanismus 180 von 1 an, indem er die Bilddaten in transformierte Bilddaten umwandelt, die Farbdaten gemäß einem anderen Farbraummodell umfassen, das sich von dem dem Histogramm zugeordneten Farbraum unterscheidet. Beispielsweise kann der Logikablauf ein Histogramm der mit dem Ziel verbundenen Bilddaten erstellen und dann das Histogramm verwenden, um eine erste Farbraumdarstellung des Ziels zu erstellen, z. B. eine RGB-Farbraumdarstellung. Danach kann der logische Ablauf, wie unten beschrieben, eine oder mehrere zusätzliche Farbraumtransformationen in andere Farbräume durchführen, wie z. B. XYZ-Farbräume oder jeden anderen geeigneten Farbraum, der ein Tristimulus-System verwendet.
-
In verschiedenen Ausführungsformen kann der Logikfluss 500A eine Farbraumtransformation durchführen, bei der die Farbdaten der ursprünglichen Bilddaten manipuliert werden, um eine effiziente Kantenerkennung an den transformierten Bilddaten zu ermöglichen. Wie unten erläutert, kann der Logikfluss 500A das Farbraummodell ändern, um Grenzen schnell zu erkennen, beispielsweise wenn zwei Farben nahe beieinander liegen. Der Logikfluss 500A untersucht jeden Datenpunkt im Bild und identifiziert für jede Position eine Farbe. In verschiedenen Ausführungsformen kann die Farbraumkonvertierung auf mindestens einem Satz von Farbkoordinaten für jede der am häufigsten vorkommenden Farben gemäß dem anderen (oder zweiten) Farbraum und auf der Bestimmung mindestens eines Satzes von Farbkoordinaten basieren, die der verwandten Mehrzahl von Farben in dem (zweiten) anderen Farbraum entsprechen, wobei der mindestens eine Satz von Koordinaten der am häufigsten vorkommenden Mehrzahl von Farben entweder senkrecht/orthogonal oder in einem maximalen Abstand zu dem mindestens einen Satz von Koordinaten der verwandten Farben in Bezug auf einen anderen Farbraum ist. In verschiedenen Ausführungsformen kann der zweite Farbraum als ein abgeleiteter Farbraum des ersten Farbraums betrachtet werden.
-
In verschiedenen Ausführungsformen stellt dies sicher, dass die für ein abtastbares Bild verwendeten Farben die Kantenerkennung maximieren können, da der maximale Abstand zwischen den vorherrschenden Farbkanälen und Farben des Ziels in der Umgebung und anderen Farbkanälen und Farben (den verwandten Farbkanälen und Farben) sicherstellt, dass die verwandten Farbkanäle und Farben entweder im Ziel nicht vorhanden und/oder im Ziel am wenigsten vorherrschend sind. Wenn die verwandten Farben und Farbkanäle außerdem so ausgewählt werden, dass sie senkrecht oder orthogonal zu den Zielfarbkanälen und -farben (und zueinander) stehen, kann dies die Kantenerkennung weiter verbessern.
-
In einem Beispiel, in dem die oben beschriebenen Techniken verwendet werden, identifiziert der Logikfluss 500A zwei oder mehr Farben anhand ihrer Prävalenz im Ziel und konfiguriert sie in einem Kanal. Nehmen wir zum Beispiel eine erste Farbe und eine zweite Farbe mit der ersten bzw. zweithöchsten Prävalenz, wobei die erste Farbe zum Minimum im Farbkanal wird und die zweite Farbe zum Maximum, so dass die Grenze ein Übergang zwischen diesen Farben sein kann. Diese Grenze kann mindestens ein Pixel sein, an dem die Farbe von der ersten zur zweiten Farbe oder umgekehrt wechselt. Wenn die erste Farbe auf Null (0) und die zweite Farbe auf zweihundertfünfundfünfzig (255) eingestellt ist, kann diese Grenze mathematisch gesehen an einem oder mehreren Pixeln liegen, die zwischen dem Minimal- und dem Maximalwert gesprungen sind; beispielsweise kann es eine scharfe Trennung (d. h. eine dünne Grenze) geben, bei der mindestens zwei benachbarte Pixel unmittelbar zwischen 0 und 255 übergehen.
-
Wie oben angedeutet, können diese Farbkanäle einem ersten Farbraum, z. B. RGB, entsprechen, wobei der erste Farbraum auf dem ersten Satz von Tristimuluswerten basieren kann, und wobei der erste Farbraum Farbkoordinaten zur Darstellung von Farben des Ziels, z. B. der am häufigsten vorkommenden Farben des Ziels, haben kann. Der Logikfluss 500A kann dann eine oder mehrere Farben identifizieren, die entweder nicht oder kaum verwendet werden (d. h. am wenigsten verbreitet sind oder fehlen), und diese Farben in einem anderen Kanal als Gegenstück zu den oben identifizierten verbreiteten Farben festlegen, wobei der neue Farbkanal (oder die neuen Farbkanäle) die Grundlage für einen neuen Farbraum bildet, z. B. einen neuen Satz von Tristimuluswerten eines XYZ-Farbraums, und wobei der erste Farbraum in den zweiten Farbraum umgewandelt wird.
-
Dann kann der Logikfluss 500A eine oder mehrere zusätzliche Operationen durchführen, z. B. Konfigurieren jedes Farbkanals des neuen Farbraums so, dass er im neuen Farbraummodell senkrecht oder orthogonal zueinander ist, Durchführen einer zusätzlichen Konvertierung in einen dritten Farbraum, einschließlich einer Zwischenoperation, die nicht chromatiebezogene Merkmale wie den Luminanz- oder Helligkeitskanal herausfiltert, und/oder Durchführen einer Orientierungsoperation im zweiten (oder dritten) Farbraum, bevor die Farbkanäle senkrecht oder orthogonal zueinander gemacht werden (um den Abstand zwischen den Farbkanälen zu maximieren und somit die Kantenerkennung zu verbessern).
-
Der Logikfluss 500A kann die zugehörigen Farben von Block 508 verwenden, um ein oder mehrere scannbare Bilder 510 zu erstellen, wie z. B. eine Matrix, einen Matrix-Barcode, eine Passermarke oder ein anderes geeignetes Bild zum Scannen. In verschiedenen Ausführungsformen können die zugehörigen Farben Farben jedes Farbkanals sein, der mit der endgültigen Farbraumkonvertierung verbunden ist, wie oben beschrieben, z. B. eine Vielzahl von Farbkanälen und zugehörigen Farben, wie sie in einem XYZ-Farbraum dargestellt werden können, die entweder im Ziel nicht vorherrschen und/oder im Ziel vollständig fehlen, wobei in verschiedenen Ausführungsformen die am wenigsten vorherrschenden und/oder fehlenden Farben orthogonal zueinander angeordnet werden können, um die Kantenerkennung weiter zu verbessern. In verschiedenen Ausführungsformen kann das abtastbare Bild ein Matrix-Strichcode sein, der so geformt ist, dass er die Farben jedes der am wenigsten verbreiteten und/oder fehlenden und/oder orthogonalen Farbkanäle in Bezug auf ein Ziel, z. B. eine Umgebung, die den Matrix-Strichcode enthält, widerspiegelt.
-
In verschiedenen Ausführungsformen sind in den Matrix-Strichcode Informationen eingebettet, die auf den Farbraumumwandlungen beruhen, z. B. ist jedes Pixel oder sind die Pixel, die dem Matrix-Strichcode zugeordnet sind, einem Farbkanal des endgültigen Farbraums zugeordnet, z. B. dem XYZ-Farbraum mit Farbkanälen, die die am wenigsten verbreiteten oder nicht vorhandenen Farben der Umgebung darstellen, wobei jeder Farbkanal ein Datenbit darstellt und die Anzahl der Farbkanäle drei oder mehr, vier oder mehr usw. betragen kann (da keine Einschränkungen durch die menschliche Wahrnehmbarkeit bestehen). (da es keine Beschränkungen durch die menschliche Wahrnehmbarkeit gibt), und die Anzahl der kodierten Bits kann drei oder mehr, vier oder mehr usw. betragen.
-
In verschiedenen Ausführungsformen, in denen vier oder mehr Farben verwendet werden, ist jede der vier oder mehr Farben eine eindeutige Farbe im Verhältnis zueinander, und auf der Grundlage der hier und oben erörterten Farbraumtechniken werden die vier oder mehr Farben aus einer Vielzahl von Koordinaten abgeleitet, die jeder der mindestens vier eindeutigen Farben entlang eines in einen (abgeleiteten) Farbraum umgewandelten Farbraums entsprechen, wobei der in einen (abgeleiteten) Farbraum umgewandelte Farbraum eine Vielzahl von Koordinatensätzen enthält, die die mindestens vier vorherrschenden Farben des Ziels, z. B. der Umgebung darstellt, und jede der vier oder mehr Farben einem bestimmten Koordinatensatz des in einen (abgeleiteten) Farbraum umgewandelten Farbraums entspricht.
-
In verschiedenen Ausführungsformen wird jede der vier oder mehr verschiedenen Farben auf der Grundlage ausgewählt, dass sie eine maximale entgegengesetzte Koordinatenbeziehung in Bezug auf mindestens einen der mehreren Koordinatensätze aufweist, die mindestens vier vorherrschende Farben im Ziel, z. B. der Umgebung, darstellen.
-
Es gibt eine Reihe von anwendbaren Kantenerkennungsverfahren, und das Kantenerkennungsverfahren 190 kann für das eine Farbraummodell der transformierten Bilddaten geeignet sein, während ein anderes Kantenerkennungsverfahren für das ursprüngliche Farbraummodell geeignet sein kann. Die Ausführungsformen sind nicht auf dieses Beispiel beschränkt.
-
5B illustriert eine Ausführungsform eines logischen Ablaufs 500B. Der Logikfluss 500B kann für einige oder alle Vorgänge repräsentativ sein, die von einer oder mehreren hier beschriebenen Ausführungsformen ausgeführt werden.
-
In der in 5B gezeigten Ausführungsform kann der Logikfluss eine Matrix erkennen, die eine oder mehrere nicht-schwarze und nicht-weiße Farben enthält, wobei jede der nicht-schwarzen und nicht-weißen Farben i) mindestens eine in Bezug auf eine Umgebung abwesende Farbe und/oder ii) mindestens eine mit der Umgebung 515 assoziierte, am wenigsten verbreitete Farbe ist. In verschiedenen Ausführungsformen ist die Matrix ein Strichcode, der mit einer oder mehreren Farbraumkonvertierungstechniken, wie hierin beschrieben, konstruiert wurde, z. B. wird der Matrixstrichcode aus einem RGB-Farbraum und einem abgeleiteten Farbraum des RGB-Farbraums (ein in einen (abgeleiteten) Farbraum konvertierter Farbraum aus dem RGB-Farbraum, wie ein XYZ-Farbraum) abgeleitet. In verschiedenen Ausführungsformen ist der abgeleitete Farbraum ein XYZ-Farbraum mit einem gefilterten Luminanzkanal.
-
In verschiedenen Ausführungsformen kann der Strichcode mit jeder geeigneten Komponente, z. B. einer Abtastvorrichtung 197, abgetastet werden, die über einen geeigneten Schlüssel verfügt, z. B. Tristimulusgleichungen, die mit einer Umwandlung in einen XYZ-Farbraum verbunden sind, der die Farbkanäle mit den zugehörigen Farben offenbart, die mit den abtastbaren Teilen des Matrixstrichcodes verbunden sind, einschließlich, in verschiedenen Ausführungsformen, der in dem Matrixstrichcode codierten Informationen. In verschiedenen Ausführungsformen kann der Strichcode vier oder mehr verschiedene Farben enthalten, die jeweils mit mindestens vier verschiedenen Farbkanälen verbunden sind, wobei sich jede der Farben voneinander und von den vorherrschenden Farben der Umgebung unterscheidet. In verschiedenen Ausführungsformen können die Farben und Farbkanäle des Strichcodes entsprechend den Koordinatenbeziehungen zwischen den am häufigsten vorkommenden Farben und den am wenigsten vorkommenden und/oder fehlenden Farben im abgeleiteten Farbraum berechnet werden, einschließlich eines maximalen Abstands zwischen den am häufigsten vorkommenden Farben und den am wenigsten vorkommenden und/oder fehlenden Farben. Zusätzliche oder andere Farbraumkonvertierungstechniken können, wie hierin erörtert, verwendet werden, und dies ist nur ein Beispiel im Einklang mit der vorliegenden Offenbarung.
-
In verschiedenen Ausführungsformen kann der Strichcode auf ein physisches Medium, z. B. eine physische Oberfläche oder ein Material, gedruckt und/oder eingebettet werden, wobei jede geeignete Komponente, z. B. die Druckvorrichtung 199, mit den am wenigsten vorherrschenden und/oder fehlenden Farben verwendet wird, und der Strichcode kann entlang der Oberfläche der physischen Oberfläche gescannt werden. In anderen Ausführungsformen kann jede geeignete Computervorrichtung, einschließlich eines Computers, Laptops oder Tablets (wie in 7 unten dargestellt), so konfiguriert werden, dass sie einen scanbaren Strichcode erzeugt, der die am wenigsten vorherrschenden oder fehlenden Farben widerspiegelt, wobei der Strichcode entlang einer Oberfläche des Computerdisplays gescannt werden kann.
-
Der Logikfluss 500B kann das Ergebnis des Scannens an jede geeignete Computervorrichtung 520, wie hierin beschrieben, übertragen, einschließlich einer Angabe, ob das Scannen des Strichcodes erfolgreich war oder nicht, und jede damit verbundene kodierte Information erhalten wurde.
-
5C zeigt eine Ausführungsform eines logischen Ablaufs 500C. Der logische Ablauf kann für einige oder alle Vorgänge repräsentativ sein, die von einer oder mehreren hier beschriebenen Ausführungsformen ausgeführt werden.
-
In der in 5C gezeigten Ausführungsform führt der Logikfluss 500C eine oder mehrere der Operationen des Flusses 500C aus, wobei eine Ausführungsform die Operationen 502, 504, 506 und 508 ausführt.
-
Der Logikfluss 500C kann die zugehörigen Farben verwenden, um ein abtastbares Bild 530 zu erzeugen, wie eine Matrix, einen Matrix-Barcode, eine Passermarke oder ein anderes zum Abtasten geeignetes Bild, wobei das abtastbare Bild zusätzlich zu den nicht-schwarzen und nicht-weißen Farben (wie die am wenigsten verbreiteten und/oder fehlenden Farben, die mit einem Ziel, z. B. einer Umgebung, assoziiert sind) eine oder beide ultraviolette Schichten und eine Infrarotschicht enthalten kann. In verschiedenen Ausführungsformen kann die Matrix, der Matrix-Barcode, die Passermarke oder jedes andere geeignete Bild auf eine physische Oberfläche gedruckt und/oder eingebettet werden, wobei jede geeignete Komponente, z. B. die Druckvorrichtung 199, mit den am wenigsten vorherrschenden und/oder nicht vorhandenen Farben und einer Infrarot- und/oder Ultraviolettschicht verwendet wird, und der Barcode kann entlang der Oberfläche der physischen Oberfläche gescannt werden. In anderen Ausführungsformen kann jede geeignete Computervorrichtung, einschließlich eines Computers, Laptops oder Tablets (wie in 7 unten gezeigt), so konfiguriert werden, dass sie einen abtastbaren Strichcode erzeugt, der die am wenigsten vorherrschenden oder fehlenden Farben, die ultraviolette Schicht und/oder die Infrarotschicht reflektiert, wobei die Matrix, der Matrixstrichcode, die Passermarke oder jedes andere geeignete Bild entlang einer Oberfläche des Computerdisplays abgetastet werden kann.
-
In verschiedenen Ausführungsformen kann die ultraviolette Schicht zuerst entlang der physischen Oberfläche gedruckt werden und/oder die oberste Schicht bilden, die auf einem Computerbildschirm erzeugt wird, um die mit dem ultravioletten Licht verbundenen Vorteile zu maximieren. In verschiedenen Ausführungsformen müssen die Farben des abtastbaren Bildes keine Farben sein, die eine Beziehung zur Umgebung haben und/oder nicht auf Farbraumkonvertierungstechniken basieren, und können beliebige Farben sein, einschließlich Standard-Schwarzweiß-Farben, wobei ein abtastbares Bild sowohl eine Infrarot- als auch eine Ultraviolett-Schicht zur Erkennung enthält.
-
5D illustriert eine Ausführungsform eines logischen Ablaufs 500D. Der Logikfluss 500D kann für einige oder alle Vorgänge repräsentativ sein, die von einer oder mehreren hier beschriebenen Ausführungsformen ausgeführt werden.
-
In der in 5D dargestellten Ausführungsform kann der Logikfluss ein abtastbares Bild, z.B. eine Matrix, erkennen, die eine oder mehrere nicht-schwarze und nicht-weiße Farben enthält, wobei jede der nicht-schwarzen und nicht-weißen Farben mindestens eine von i) einer fehlenden Farbe in Bezug auf eine Umgebung und/oder ii) einer am wenigsten verbreiteten Farbe, die mit der Umgebung assoziiert ist, zusätzlich zu einer oder beiden von einer Ultraviolettschicht und/oder einer Infrarotschicht 540 ist. In verschiedenen Ausführungsformen ist die Matrix ein Strichcode, der mit einer oder mehreren Farbraumumwandlungstechniken konstruiert ist, wie hierin beschrieben, z.B. wie in Bezug auf 5B erörtert, mit dem Zusatz einer Ultraviolettschicht und/oder Infrarotschicht.
-
In verschiedenen Ausführungsformen kann das abtastbare Bild, z. B. der Strichcode, mit jeder geeigneten Komponente, z. B. einer Abtastvorrichtung 197, abgetastet werden, die über einen geeigneten Schlüssel verfügt, z. B. Tristimulusgleichungen, die mit einer Konvertierung in einen XYZ-Farbraum verbunden sind, der die Farbkanäle mit den zugehörigen Farben offenbart, die mit den abtastbaren Teilen des Matrixstrichcodes verbunden sind, einschließlich, in verschiedenen Ausführungsformen, der im Matrixstrichcode kodierten Informationen. Zusätzlich zu dem Schlüssel kann jede geeignete Komponente, z. B. die Abtastvorrichtung 197, auch ein Verifizierungsbit haben, das anzeigt, ob die ultraviolette Schicht und/oder die Infrarotschicht mit Informationen verbunden ist, und wenn dies der Fall ist, den Scanvorgang durchführt und/oder die Informationen auf der Grundlage des Verifizierungsbits dekodiert. In verschiedenen Ausführungsformen kann der Strichcode vier oder mehr verschiedene Farben enthalten, die jeweils mit mindestens vier verschiedenen Farbkanälen verbunden sind, wobei sich jede der Farben voneinander und von den am häufigsten vorkommenden Farben der Umgebung unterscheidet, zusätzlich zu einer oder beiden ultravioletten Schichten und/oder der Infrarotschicht, und als solches kann der Scan ein Scan von sechs oder mehr Informationsbits sein.
-
In verschiedenen Ausführungsformen kann der Strichcode auf eine physische Oberfläche gedruckt und/oder eingebettet werden, indem eine beliebige geeignete Komponente, z. B. die Druckvorrichtung 199, mit den am wenigsten vorherrschenden und/oder fehlenden Farben verwendet wird, und der Strichcode kann entlang der Oberfläche der physischen Oberfläche gescannt werden. In anderen Ausführungsformen kann jede geeignete Computervorrichtung, einschließlich eines Computers, Laptops oder Tablets (wie in 7 unten gezeigt), so konfiguriert werden, dass sie einen scanbaren Strichcode erzeugt, der die am wenigsten vorherrschenden oder fehlenden Farben widerspiegelt, wobei der Strichcode entlang einer Oberfläche des Computerdisplays gescannt werden kann. In verschiedenen Ausführungsformen kann der Druck des abtastbaren Bildes, z. B. des Strichcodes, so erfolgen, dass die oberste Schicht eine ultraviolette Schicht ist und jeder zugehörige Scan zuerst die ultraviolette Schicht berücksichtigt. In ähnlicher Weise kann in verschiedenen Ausführungsformen, wenn das abtastbare Bild von einem Computergerät erzeugt und von einem Computerdisplay angezeigt wird, die erste von dem Computergerät angezeigte Schicht die ultraviolette Schicht sein.
-
Der Logikfluss 500D kann das Ergebnis des Scans an jede geeignete Computervorrichtung 550, wie hier beschrieben, übermitteln, einschließlich einer Anzeige, ob das Scannen des Barcodes erfolgreich war oder nicht, und jeglicher kodierter Information, die zusätzlich zu der erhaltenen Information gehört.
-
6A illustriert eine Technik 600A zur Erzeugung eines abtastbaren Bildes in Übereinstimmung mit mindestens einer Ausführungsform der vorliegenden Offenbarung. Die abtastbaren Bildebenen 605a, 610a und 615a stellen jeweils eine Ebene eines abtastbaren Bildes, wie z. B. eines Strichcodes, dar, die mit einer oder mehreren Farben verbunden ist. Jede geeignete Komponente, wie hierin offenbart, kann eine oder mehrere Farbraumtransformationstechniken an jeder abtastbaren Bildebene 605a, 610a, 615a durchführen, um die Ebenen 620a, 625a und 630a zu erzeugen, und die Ebenen 620a, 625a und 630a können zu einem einzigen abtastbaren Bild, z. B. einem Barcode, 635a konsolidiert werden. In verschiedenen Ausführungsformen können die abtastbaren Schichten 620a, 625a und 630a jeweils einem Farbkanal zugeordnet sein, der eine oder mehrere Farben repräsentiert, die in Bezug auf ein Ziel, das mit dem abtastbaren Bild 635a verbunden sein kann, nicht vorhanden und/oder nicht vorherrschend sind, wobei in verschiedenen Ausführungsformen ein oder mehrere Farbkanäle, die mit Farben von 620a, 625a und 630a verbunden sind, orthogonal oder senkrecht zueinander und in Bezug auf Farbräume, die diese Farben repräsentieren, sein können. Das abtastbare Bild 635a kann mit jeder geeigneten Vorrichtung auf eine physische Oberfläche eines Ziels gedruckt und/oder von jeder geeigneten Rechenvorrichtung zur Anzeige auf einem Computerbildschirm erzeugt werden.
-
Obwohl die Ausführungsform von 6A die Durchführung einer Transformationstechnik in Bezug auf Farbschemata veranschaulicht, die mit vorhandenen abtastbaren Bildebenen 605a, 610a und/oder 615a verbunden sind, kann das abtastbare Bild 635a von Grund auf ohne Konvertierung aus vorhandenen Bildern erzeugt werden, z. B. kann ein Ziel gescannt werden, die damit verbundenen Farbräume können daraus bestimmt werden, und ein endgültiges abtastbares Bild 635a kann erzeugt werden, indem eine oder mehrere Farbraumtransformationen an den Farbräumen durchgeführt werden, wie hier offenbart oder anderweitig geeignet.
-
6B illustriert eine Technik 600B zur Erzeugung eines abtastbaren Bildes in Übereinstimmung mit mindestens einer Ausführungsform der vorliegenden Offenbarung. Die abtastbaren Bildebenen 605b, 610b und 615b stellen jeweils eine Ebene eines abtastbaren Bildes, wie z. B. eines Strichcodes, dar, die mit einer oder mehreren Farben verbunden ist. Jede geeignete Komponente, wie hierin offenbart, kann eine oder mehrere Farbraumtransformationstechniken an den einzelnen abtastbaren Bildebenen 605b, 610b, 615b durchführen, um die Ebenen 620b, 625b und 630b zu erzeugen, und die Ebenen 620b, 625b und 630b können zu einem einzigen abtastbaren Bild 635b, z. B. einem Strichcode 635b, zusammengefasst werden. In verschiedenen Ausführungsformen können die abtastbaren Schichten 620b, 625b und 630b jeweils einem Farbkanal zugeordnet sein, der eine oder mehrere Farben repräsentiert, die in Bezug auf ein Ziel, das mit dem abtastbaren Bild 635b verbunden sein kann, nicht vorhanden und/oder nicht vorherrschend sind, wobei in verschiedenen Ausführungsformen ein oder mehrere Farbkanäle, die mit Farben von 620b, 625b und 630b verbunden sind, orthogonal oder senkrecht zueinander und in Bezug auf Farbräume, die diese Farben repräsentieren, sein können. In verschiedenen Ausführungsformen kann mindestens eine Schicht, z. B. 630b, mit ultravioletter oder infraroter Tinte hergestellt oder unter Verwendung von ultraviolettem oder infrarotem Licht erzeugt werden, so dass sie einen zusätzlichen Informationskanal enthält, z. B. eine ultraviolette Schicht oder infrarote Informationsschicht, die ultraviolettes oder infrarotes Licht absorbieren, reflektieren, projizieren und/oder beleuchten kann, wobei in verschiedenen Ausführungsformen die ultraviolette Schicht oder infrarote Schicht 630b die erste Schicht des Bildes 635b sein kann. In verschiedenen Ausführungsformen kann die ultraviolette oder infrarote Schicht 630b eine Farbkanalschicht enthalten, die verschiedene Farben repräsentiert, einschließlich Farben, die in einem Ziel, das dem abtastbaren Bild 635b zugeordnet werden soll, nicht vorherrschen und/oder fehlen, und in verschiedenen Ausführungsformen kann nur ein ultravioletter Kanal der ultravioletten Schicht 630b zugeordnet sein.
-
In verschiedenen Ausführungsformen kann das abtastbare Bild 635b mit einem beliebigen geeigneten Gerät auf eine physische Oberfläche eines Ziels gedruckt und/oder von einem beliebigen geeigneten Computergerät zur Anzeige auf einem Computerbildschirm erzeugt werden.
-
In verschiedenen Ausführungsformen ist das abtastbare Bild 635b eine Passermarke, die die inhärenten Orientierungsmerkmale von ultraviolettem und/oder infrarotem Licht nutzt, wenn sie von einer geeigneten Vorrichtung abgetastet wird, die entweder ultraviolettes und/oder infrarotes Licht oder beides erkennen kann. In verschiedenen Ausführungsformen kann ein geeignetes Gerät, z. B., eine geeignete Vorrichtung, z.B. die Abtastvorrichtung 197, eine Bezugsmarke 635b abtastet, die ultraviolettes und/oder infrarotes Licht reflektiert, ist in verschiedenen Ausführungsformen die räumliche Beziehung des mit der Bezugsmarke 635b verbundenen Objekts, z.B. eines Objekts mit der darauf angebrachten Bezugsmarke und/oder einer Computeranzeige, die die Bezugsmarke 635b erzeugt, in Bezug auf die Abtastvorrichtung 197 und andere Objekte in einer Umgebung, die die Vorrichtung enthält, aufgrund der inhärenten Eigenschaften, die mit der Reflexion und Erfassung von ultraviolettem und/oder infrarotem Licht verbunden sind, leichter festzustellen.
-
6C zeigt eine Technik 600C zur Erzeugung eines abtastbaren Bildes in Übereinstimmung mit mindestens einer Ausführungsform der vorliegenden Offenbarung. Die abtastbaren Bildebenen 605c, 610c, 615c und 620c stellen jeweils eine Ebene eines abtastbaren Bildes, wie z. B. eines Strichcodes, dar, die mit einer oder mehreren Farben verbunden ist. Jede geeignete Komponente, wie hierin offenbart, kann eine oder mehrere Farbraumtransformationstechniken an jeder abtastbaren Bildebene 605c, 610c, 615c und 620c durchführen, um die Ebenen 625c, 630c, 635c und 640c zu erzeugen, und die Ebenen 625c, 630c, 635c und 640c können zu einem einzigen abtastbaren Bild, z. B. einem Strichcode, 645c konsolidiert werden. In verschiedenen Ausführungsformen können die abtastbaren Schichten 625c, 630c, 635c und 640c jeweils einem Farbkanal zugeordnet sein, der eine oder mehrere Farben repräsentiert, die in Bezug auf ein Ziel, das mit dem abtastbaren Bild 645c verbunden sein kann, nicht vorhanden und/oder nicht vorherrschend sind, wobei in verschiedenen Ausführungsformen ein oder mehrere Farbkanäle, die mit Farben von 625c, 630c, 635c und 640c verbunden sind, orthogonal oder senkrecht zueinander und in Bezug auf Farbräume, die diese Farben repräsentieren, sein können.
-
In verschiedenen Ausführungsformen kann mindestens eine Schicht, z.B. 635c, mit infraroter Tinte hergestellt oder unter Verwendung von infrarotem Licht erzeugt werden, so dass sie einen zusätzlichen Informationskanal enthält, z.B. eine ultraviolette Informationsschicht, die infrarotes Licht absorbieren, reflektieren, projizieren und/oder beleuchten kann, wobei in verschiedenen Ausführungsformen die Infrarotschicht 630c die erste Schicht des Bildes 635c sein kann. In verschiedenen Ausführungsformen kann die Infrarotschicht 630c eine Farbkanalschicht enthalten, die verschiedene Farben repräsentiert, einschließlich Farben, die in einem Ziel, das dem abtastbaren Bild 645c zugeordnet werden soll, nicht vorherrschen und/oder fehlen, und in verschiedenen Ausführungsformen kann nur ein Infrarotkanal der Infrarotschicht 630d zugeordnet sein. In verschiedenen Ausführungsformen kann mindestens eine Schicht, z. B. 640c, mit ultravioletter Tinte hergestellt oder unter Verwendung von ultraviolettem Licht erzeugt werden, so dass sie einen zusätzlichen Informationskanal enthält, z. B. eine ultraviolette Informationsschicht, die ultraviolettes Licht absorbieren, reflektieren, projizieren und/oder beleuchten kann, wobei in verschiedenen Ausführungsformen die ultraviolette Schicht 640c die erste Schicht des Bildes 645c sein kann. In verschiedenen Ausführungsformen kann die ultraviolette Schicht 640c eine Farbkanalschicht enthalten, die verschiedene Farben repräsentiert, einschließlich Farben, die in einem Ziel, das dem abtastbaren Bild 645c zugeordnet werden soll, nicht vorherrschen und/oder nicht vorhanden sind, und in verschiedenen Ausführungsformen kann nur ein ultravioletter Kanal der ultravioletten Schicht 640c zugeordnet sein.
-
In verschiedenen Ausführungsformen ist das abtastbare Bild 645c eine Passermarke, die die inhärenten Orientierungsmerkmale von ultraviolettem und/oder infrarotem Licht nutzt, wenn sie von einer geeigneten Vorrichtung abgetastet wird, die entweder ultraviolettes und/oder infrarotes Licht oder beides erkennen kann. In verschiedenen Ausführungsformen kann ein geeignetes Gerät, z. B., Wenn eine geeignete Vorrichtung, z.B. die Abtastvorrichtung 197, eine Bezugsmarke 645c abtastet, die sowohl ultraviolettes als auch infrarotes Licht reflektiert, ist in verschiedenen Ausführungsformen die räumliche Beziehung des Objekts, das mit der Bezugsmarke 645c verbunden ist, z.B. ein Objekt mit der darauf angebrachten Bezugsmarke und/oder eine Computeranzeige, die die Bezugsmarke 645c erzeugt, in Bezug auf die Abtastvorrichtung 197 und andere Objekte in einer Umgebung, die die Vorrichtung enthält, aufgrund der inhärenten Eigenschaften, die mit der Reflexion und Detektion von ultraviolettem und/oder infrarotem Licht verbunden sind, leichter festzustellen oder zu erkennen. In verschiedenen Ausführungsformen, in denen der Referenzmarker 645c sowohl ultraviolettes als auch infrarotes Licht nutzt, wirkt das Vorhandensein beider als Ausfallsicherung, wenn die Funktionalität der Abtastvorrichtung 197 beeinträchtigt ist und/oder wenn ein anfänglicher Scan das eine oder das andere nicht erkennt.
-
In verschiedenen Ausführungsformen kann das abtastbare Bild 645c sowohl eine Infrarotschicht 635c als auch eine Ultraviolettschicht 640c enthalten, wobei der Druck oder die Erzeugung der Schicht 645c so erfolgen kann, dass die Ultraviolettschicht 640c die erste Schicht sein kann, um die mit ultraviolettem Licht verbundenen Eigenschaften zu nutzen. Obwohl mindestens eine der oben beschriebenen Ausführungsformen darauf hinweist, dass eine oder beide Schichten 635c und 640c Farbkanalinformationen enthalten können, z. B. abtastbare Farben, die mit einem Ziel in Verbindung stehen, können die Schichten 635c und 640c in verschiedenen Ausführungsformen ausschließlich mit Infrarot- und/oder Ultraviolett-Informationen verbunden sein. Darüber hinaus müssen die Farben der Schichten 620c, 625c und 630c in verschiedenen Ausführungsformen keine Schichten sein, die mit dem Ziel in Beziehung stehen, und in verschiedenen Ausführungsformen können diese Schichten aus Schwarz-Weiß-Farben und/oder anderen Farben bestehen, die nichts mit dem Ziel zu tun haben und/oder nicht auf Farbraumkonvertierungstechniken basieren.
-
7 zeigt ein Computer- oder Tablet-System 700 zum Erzeugen und Scannen eines scannbaren Bildes 740. Das Tablet-System umfasst ein Tablet 702 zum Erzeugen eines scannbaren Bildes 740, z. B. eines Barcodes, wobei das Tablet 702 Anwendungen 705A-E, Anwendung N und Anwendung 420 umfasst, wobei eine Ausführungsform von Anwendung 420 oben in Bezug auf 4 ausführlicher beschrieben ist. Das Tablett 702 kann eine oder mehrere Benutzerschnittstellenvorrichtungen 720 enthalten, die ein Benutzer verwenden kann, um mit dem Tablett 702 zu kommunizieren. Das Tablett 702 kann ein abtastbares Bild 740 erzeugen, das eine Ultraviolett- oder Infrarotschicht oder beides enthält. Das Tablett 702 kann so konfiguriert werden, dass die oberste Schicht eine ultraviolette Schicht ist, um die mit ultraviolettem Licht verbundenen Eigenschaften zu nutzen. Das Bild kann außerdem eine oder mehrere Farbschichten, einschließlich weißer und schwarzer Schichten, enthalten. Das Bild kann außerdem eine oder mehrere nicht-schwarze und nicht-weiße Farbschichten enthalten, die sich auf Farben beziehen, die mit der Umgebung, in der sich das Tablet befindet, verbunden sind, z. B. kann das Tablet so konfiguriert sein, dass es eine Kamera mit einer Anwendung, z. B. 420, hat, die eine Umgebung scannen und ein scannbares Bild 740 mit Farben erzeugen kann, die mit dieser Umgebung verbunden sind. In verschiedenen Ausführungsformen können die auf die Umgebung bezogenen Farben Farben sein, die auf einer oder mehreren Farbraumtransformationstechniken basieren, wie sie hierin erörtert werden, einschließlich der Farben, die in der Umgebung, in der sich das Tablet 702 befindet, am wenigsten verbreitet sind und/oder fehlen und durch eine oder mehrere Farbraumkonvertierungen bestimmt werden.
-
Das System 700 kann ferner eine Kamera oder eine Abtastvorrichtung c750 enthalten, die das abtastbare Bild 740 abtasten kann, wobei die Kamera oder die Abtastvorrichtung c750 in verschiedenen Ausführungsformen die Anwendung 420 (wie oben beschrieben) und/oder einen Farbraumschlüssel und/oder ein Infrarot-Verifizierungsbit und/oder ein Ultraviolett-Verifizierungsbit, wie hierin offenbart, enthalten kann, um eine gültige Abtastung des abtastbaren Bildes 740 durchzuführen und/oder jegliche damit verbundene kodierte Information zu erhalten.
-
8 zeigt eine Ausführungsform einer grafischen Benutzeroberfläche (GUI) 800 für eine Anwendung des Systems 100. In einigen Ausführungsformen ist die Benutzeroberfläche 800 für die Anwendung 420 von 4 konfiguriert.
-
Die GUI 800, wie in 8 dargestellt, umfasst mehrere Komponenten, wie z. B. eine Symbolleiste 802 und GUI-Elemente. Die Symbolleiste 802 enthält als ein Beispielwerkzeug ein Texterkennungswerkzeug 804, das, wenn es aufgerufen wird, ein Bild 806 scannt, z. B. einen Strichcode, der mit einer oder mehreren Farbraumtechniken erzeugt wurde und/oder eine oder beide der hier beschriebenen Ultraviolett- und/oder Infrarotschichten enthält. Der Scan kann einen Schlüssel und/oder ein Verifizierungsbit verwenden, damit ein gültiger Scan stattfinden kann, wobei ein ordnungsgemäßer Scan als Sicherheitsmaßnahme für den Zugriff auf und/oder die Identifizierung von sensiblen Informationen 808 dienen kann. Wie hier beschrieben, liefert der geeignete Farbraumtransformationsmechanismus die genauesten Ergebnisse bei der Kantenerkennung, da ein zugrunde liegendes Farbraummodell eine höhere Wahrscheinlichkeit bei der Kantenerkennung hat als jedes andere anwendbare Farbraummodell, und der Barcode kann unter Berücksichtigung dieser Tatsache erzeugt werden.
-
9 illustriert eine Ausführungsform einer beispielhaften Computerarchitektur 900, die für die Implementierung verschiedener, zuvor beschriebener Ausführungsformen geeignet ist. In einer Ausführungsform kann die Rechenarchitektur 900 ein elektronisches Gerät umfassen oder als Teil eines solchen implementiert werden. Beispiele für ein elektronisches Gerät können unter anderem die in 3 beschriebenen sein. Die Ausführungsformen sind in diesem Zusammenhang nicht beschränkt.
-
Wie in dieser Anwendung verwendet, sollen sich die Begriffe „System“ und „Komponente“ auf eine computerbezogene Einheit beziehen, entweder Hardware, eine Kombination aus Hardware und Software, Software oder Software in Ausführung, wofür die beispielhafte Computerarchitektur 900 Beispiele liefert. Eine Komponente kann beispielsweise ein Prozess sein, der auf einem Prozessor läuft, ein Prozessor, ein Festplattenlaufwerk, mehrere Speicherlaufwerke (mit optischen und/oder magnetischen Speichermedien), ein Objekt, eine ausführbare Datei, ein Ausführungsstrang, ein Programm und/oder ein Computer, ist aber nicht darauf beschränkt. Zur Veranschaulichung: Sowohl eine Anwendung, die auf einem Server läuft, als auch der Server können eine Komponente sein. Eine oder mehrere Komponenten können sich in einem Prozess und/oder Ausführungsstrang befinden, und eine Komponente kann auf einem Computer lokalisiert und/oder auf zwei oder mehr Computer verteilt sein. Darüber hinaus können die Komponenten über verschiedene Arten von Kommunikationsmedien kommunikativ miteinander verbunden sein, um Operationen zu koordinieren. Die Koordinierung kann den uni- oder bidirektionalen Austausch von Informationen beinhalten. So können die Komponenten beispielsweise Informationen in Form von Signalen über die Kommunikationsmedien austauschen. Die Informationen können als Signale implementiert werden, die verschiedenen Signalleitungen zugeordnet sind. In solchen Zuordnungen ist jede Nachricht ein Signal. In weiteren Ausführungsformen können jedoch alternativ auch Datennachrichten verwendet werden. Solche Datennachrichten können über verschiedene Verbindungen gesendet werden. Zu den beispielhaften Verbindungen gehören parallele Schnittstellen, serielle Schnittstellen und Busschnittstellen.
-
Die Computerarchitektur 900 umfasst verschiedene allgemeine Computerelemente, wie einen oder mehrere Prozessoren, Multi-Core-Prozessoren, Co-Prozessoren, Speichereinheiten, Chipsätze, Controller, Peripheriegeräte, Schnittstellen, Oszillatoren, Zeitgeber, Videokarten, Audiokarten, Multimedia-Eingangs-/Ausgangskomponenten, Stromversorgungen und so weiter. Die Ausführungsformen sind jedoch nicht auf die Implementierung durch die Computerarchitektur 900 beschränkt.
-
Wie in 9 gezeigt, umfasst die Computerarchitektur 900 eine Verarbeitungseinheit 904, einen Systemspeicher 906 und einen Systembus 908. Bei der Verarbeitungseinheit 904 kann es sich um einen beliebigen der verschiedenen im Handel erhältlichen Prozessoren handeln, einschließlich, aber nicht beschränkt auf AMD® Athlon®-, Duron®- und Opteron®-Prozessoren; ARM®-Anwendungs-, eingebettete und sichere Prozessoren; IBM®- und Motorola®-DragonBall®- und PowerPC®-Prozessoren; IBM- und Sony®-Cell-Prozessoren; Intel®-Celeron®-, Core (2) Duo®-, Itanium®-, Pentium®-, Xeon®- und XScale®-Prozessoren und ähnliche Prozessoren. Duale Mikroprozessoren, Multi-Core-Prozessoren und andere Multiprozessorarchitekturen können ebenfalls als Verarbeitungseinheit 904 verwendet werden.
-
Der Systembus 908 bietet eine Schnittstelle für Systemkomponenten, einschließlich, aber nicht beschränkt auf, den Systemspeicher 906 zur Verarbeitungseinheit 904. Bei dem Systembus 908 kann es sich um eine beliebige von mehreren Arten von Busstrukturen handeln, die eine weitere Verbindung zu einem Speicherbus (mit oder ohne Speicher-Controller), einem Peripheriebus und einem lokalen Bus unter Verwendung einer beliebigen von mehreren im Handel erhältlichen Busarchitekturen herstellen können. Schnittstellenadapter können über eine Steckplatzarchitektur an den Systembus 908 angeschlossen werden. Beispiele für Steckplatzarchitekturen sind unter anderem Accelerated Graphics Port (AGP), Card Bus, (Extended) Industry Standard Architecture ((E)ISA), Micro Channel Architecture (MCA), NuBus, Peripheral Component Interconnect (Extended) (PCI(X)), PCI Express, Personal Computer Memory Card International Association (PCMCIA) und ähnliche.
-
Die Computerarchitektur 900 kann verschiedene Herstellungsgegenstände umfassen oder implementieren. Ein Herstellungsgegenstand kann ein computerlesbares Speichermedium zum Speichern von Logik umfassen. Beispiele für ein computerlesbares Speichermedium können jedes greifbare Medium umfassen, das in der Lage ist, elektronische Daten zu speichern, einschließlich flüchtiger Speicher oder nichtflüchtiger Speicher, entfernbarer oder nicht entfernbarer Speicher, löschbarer oder nicht löschbarer Speicher, beschreibbarer oder wiederbeschreibbarer Speicher und so weiter. Beispiele für Logik können ausführbare Computerprogrammanweisungen umfassen, die unter Verwendung jeder geeigneten Art von Code implementiert werden, wie Quellcode, kompilierter Code, interpretierter Code, ausführbarer Code, statischer Code, dynamischer Code, objektorientierter Code, visueller Code und dergleichen. Ausführungsformen können auch zumindest teilweise als Befehle implementiert werden, die in oder auf einem nicht transitorischen computerlesbaren Medium enthalten sind, das von einem oder mehreren Prozessoren gelesen und ausgeführt werden kann, um die Durchführung der hierin beschriebenen Operationen zu ermöglichen.
-
Der Systemspeicher 906 kann verschiedene Arten von computerlesbaren Speichermedien in Form von einer oder mehreren Speichereinheiten mit höherer Geschwindigkeit umfassen, wie Festwertspeicher (ROM), Direktzugriffsspeicher (RAM), dynamischer RAM (DRAM), Double-Data-Rate-DRAM (DDRAM), synchroner DRAM (SDRAM), statischer RAM (SRAM), programmierbarer ROM (PROM), löschbarer programmierbarer ROM (EPROM), elektrisch löschbarer programmierbarer ROM (EEPROM), Flash-Speicher, Polymerspeicher wie ferroelektrische Polymerspeicher, Ovonspeicher, Phasenwechsel- oder ferroelektrische Speicher, Siliziumoxid-Nitrid-Oxid-Silizium-Speicher (SONOS), magnetische oder optische Karten, ein Array von Geräten wie RAID-Laufwerke (Redundant Array of Independent Disks), Solid-State-Speichergeräte (z. g., USB-Speicher, Solid-State-Laufwerke (SSD) und jede andere Art von Speichermedien, die für die Speicherung von Informationen geeignet sind. In der in 9 gezeigten Ausführungsform kann der Systemspeicher 906 einen nichtflüchtigen Speicher 910 und/oder einen flüchtigen Speicher 912 umfassen. Ein grundlegendes Eingabe-/Ausgabesystem (BIOS) kann in dem nichtflüchtigen Speicher 910 gespeichert werden.
-
Der Computer 902 kann verschiedene Arten von computerlesbaren Speichermedien in Form einer oder mehrerer Speichereinheiten mit geringerer Geschwindigkeit enthalten, darunter ein internes (oder externes) Festplattenlaufwerk (HDD) 914, ein magnetisches Diskettenlaufwerk (FDD) 916 zum Lesen von oder Beschreiben einer austauschbaren Magnetplatte 918 und ein optisches Laufwerk 920 zum Lesen von oder Beschreiben einer austauschbaren optischen Platte 922 (z. B. einer CD-ROM oder DVD). Die Festplatte (HDD) 914, das Festplattenlaufwerk (FDD) 916 und das optische Laufwerk (920) können über eine Festplattenschnittstelle (924), eine Festplattenschnittstelle (926) bzw. eine Schnittstelle für optische Laufwerke (928) mit dem Systembus 908 verbunden werden. Die HDD-Schnittstelle 924 für externe Laufwerksimplementierungen kann mindestens eine oder beide der Schnittstellentechnologien Universal Serial Bus (USB) und IEEE 1394 umfassen.
-
Die Laufwerke und die zugehörigen computerlesbaren Medien ermöglichen die flüchtige und/oder nichtflüchtige Speicherung von Daten, Datenstrukturen, computerausführbaren Befehlen und so weiter. Beispielsweise kann eine Reihe von Programmmodulen in den Laufwerken und Speichereinheiten 910, 912 gespeichert werden, einschließlich eines Betriebssystems 930, eines oder mehrerer Anwendungsprogramme 932, anderer Programmmodule 934 und Programmdaten 936. In einer Ausführungsform können das eine oder die mehreren Anwendungsprogramme 932, andere Programmmodule 934 und Programmdaten 936 zum Beispiel die verschiedenen Anwendungen und/oder Komponenten des Systems 100 umfassen.
-
Ein Benutzer kann Befehle und Informationen über ein oder mehrere drahtgebundene/drahtlose Eingabegeräte in den Computer 902 eingeben, z. B. über eine Tastatur 938 und ein Zeigegerät, wie eine Maus 940. Andere Eingabegeräte können Mikrofone, Infrarot-Fernbedienungen (IR), Hochfrequenz-Fernbedienungen (RF), Gamepads, Eingabestifte, Kartenleser, Dongles, Fingerabdruckleser, Handschuhe, Grafiktabletts, Joysticks, Tastaturen, Retina-Lesegeräte, Touchscreens (z. B. kapazitiv, resistiv usw.), Trackballs, Trackpads, Sensoren, Stifte und Ähnliches umfassen. Diese und andere Eingabegeräte werden häufig über eine Eingabegeräteschnittstelle 942, die mit dem Systembus 908 gekoppelt ist, an die Verarbeitungseinheit 904 angeschlossen, können aber auch über andere Schnittstellen wie einen parallelen Anschluss, einen seriellen IEEE-1394-Anschluss, einen Spieleanschluss, einen USB-Anschluss, eine IR-Schnittstelle usw. angeschlossen werden.
-
Ein Monitor 944 oder eine andere Art von Anzeigegerät ist ebenfalls über eine Schnittstelle, wie z. B. einen Videoadapter 946, mit dem Systembus 908 verbunden. Der Monitor 944 kann intern oder extern zu dem Computer 902 sein. Neben dem Monitor 944 enthält ein Computer typischerweise auch andere periphere Ausgabegeräte, wie Lautsprecher, Drucker usw.
-
Der Computer 902 kann in einer vernetzten Umgebung unter Verwendung logischer Verbindungen über drahtgebundene und/oder drahtlose Kommunikation mit einem oder mehreren entfernten Computern, wie einem entfernten Computer 948, betrieben werden. Der entfernte Computer 948 kann eine Workstation, ein Servercomputer, ein Router, ein Personalcomputer, ein tragbarer Computer, ein mikroprozessorbasiertes Unterhaltungsgerät, ein Peer-Gerät oder ein anderer gemeinsamer Netzwerkknoten sein und enthält typischerweise viele oder alle der Elemente, die in Bezug auf den Computer 902 beschrieben sind, obwohl der Kürze halber nur ein Speichergerät 950 dargestellt ist. Die dargestellten logischen Verbindungen umfassen drahtgebundene/drahtlose Verbindungen zu einem lokalen Netzwerk (LAN) 952 und/oder größeren Netzwerken, z. B. einem Wide Area Network (WAN) 954. Solche LAN- und WAN-Netzwerkumgebungen sind in Büros und Unternehmen weit verbreitet und erleichtern unternehmensweite Computernetzwerke, wie z. B. Intranets, die alle an ein globales Kommunikationsnetzwerk, z. B. das Internet, angeschlossen werden können.
-
Bei Verwendung in einer LAN-Netzwerkumgebung ist der Computer 902 über eine drahtgebundene und/oder drahtlose Kommunikationsnetzwerkschnittstelle oder einen Adapter 956 mit dem LAN 952 verbunden. Der Adapter 956 kann die drahtgebundene und/oder drahtlose Kommunikation mit dem LAN 952 erleichtern, das auch einen darauf angeordneten drahtlosen Zugangspunkt zur Kommunikation mit der drahtlosen Funktionalität des Adapters 956 enthalten kann.
-
Bei Verwendung in einer WAN-Netzwerkumgebung kann der Computer 902 ein Modem 958 enthalten oder mit einem Kommunikationsserver im WAN 954 verbunden sein oder über andere Mittel zur Herstellung der Kommunikation über das WAN 954 verfügen, beispielsweise über das Internet. Das Modem 958, bei dem es sich um ein internes oder externes, drahtgebundenes und/oder drahtloses Gerät handeln kann, ist über die Eingabegeräteschnittstelle 942 mit dem Systembus 908 verbunden. In einer vernetzten Umgebung können Programmmodule, die in Bezug auf den Computer 902 dargestellt sind, oder Teile davon in dem entfernten Speicher/Speichergerät 950 gespeichert werden. Die dargestellten Netzwerkverbindungen sind beispielhaft, und es können auch andere Mittel zur Herstellung einer Kommunikationsverbindung zwischen den Computern verwendet werden.
-
Der Computer 902 ist in der Lage, mit drahtgebundenen und drahtlosen Geräten oder Einheiten zu kommunizieren, die die IEEE-802-Standardfamilie verwenden, wie z. B. drahtlose Geräte, die drahtlos kommunizieren (z. B. IEEE-802.11-Over-the-Air-Modulationstechniken). Dazu gehören u. a. mindestens Wi-Fi (oder Wireless Fidelity), WiMax und Bluetooth™-Funktechnologien. Die Kommunikation kann also eine vordefinierte Struktur wie bei einem herkömmlichen Netz oder einfach eine Ad-hoc-Kommunikation zwischen mindestens zwei Geräten sein. Wi-Fi-Netze verwenden die Funktechnologien IEEE 802.11x (a, b, g, n usw.), um sichere, zuverlässige und schnelle drahtlose Verbindungen zu ermöglichen. Ein Wi-Fi-Netz kann verwendet werden, um Computer untereinander, mit dem Internet und mit drahtgebundenen Netzen (die IEEE 802.3 ähnliche Medien und Funktionen verwenden) zu verbinden.
-
10 zeigt ein Blockdiagramm einer beispielhaften Kommunikationsarchitektur 1000, die für die Implementierung verschiedener, zuvor beschriebener Ausführungsformen geeignet ist. Die Kommunikationsarchitektur 1000 umfasst verschiedene allgemeine Kommunikationselemente, wie z. B. einen Sender, Empfänger, Transceiver, Funk, eine Netzwerkschnittstelle, einen Basisbandprozessor, eine Antenne, Verstärker, Filter, Stromversorgungen und so weiter. Die Ausführungsformen sind jedoch nicht auf die Implementierung durch die Kommunikationsarchitektur 1000 beschränkt.
-
Wie in 10 dargestellt, umfasst die Kommunikationsarchitektur 1000 einen oder mehrere Clients 1002 und Server 1004. Die Clients 1002 können das Client-Gerät 310 implementieren. Die Server 1004 können das Servergerät 950 implementieren. Die Clients 1002 und die Server 1004 sind operativ mit einem oder mehreren entsprechenden Client-Datenspeichern 1008 und Server-Datenspeichern 1010 verbunden, die verwendet werden können, um Informationen lokal auf den jeweiligen Clients 1002 und Servern 1004 zu speichern, wie z. B. Cookies und/oder zugehörige Kontextinformationen.
-
Die Clients 1002 und die Server 1004 können unter Verwendung eines Kommunikationsrahmens 1006 Informationen untereinander austauschen. Der Kommunikationsrahmen 1006 kann alle bekannten Kommunikationstechniken und - protokolle implementieren. Der Kommunikationsrahmen 1006 kann als paketvermitteltes Netzwerk (z. B. öffentliche Netzwerke wie das Internet, private Netzwerke wie ein Unternehmensintranet usw.), als leitungsvermitteltes Netzwerk (z. B. das öffentliche Telefonnetz) oder als Kombination aus einem paketvermittelten Netzwerk und einem leitungsvermittelten Netzwerk (mit geeigneten Gateways und Übersetzern) implementiert werden.
-
Das Kommunikations-Framework 1006 kann verschiedene Netzwerkschnittstellen implementieren, die so angeordnet sind, dass sie ein Kommunikationsnetzwerk akzeptieren, mit ihm kommunizieren und sich mit ihm verbinden. Eine Netzwerkschnittstelle kann als eine spezielle Form einer Eingabe-Ausgabe-Schnittstelle betrachtet werden. Netzwerkschnittstellen können Verbindungsprotokolle verwenden, einschließlich und ohne Einschränkung Direct Connect, Ethernet (z. B. Thick, Thin, Twisted Pair 10/100/1000 Base T und dergleichen), Token Ring, drahtlose Netzwerkschnittstellen, zellulare Netzwerkschnittstellen, IEEE 802.11 a-x Netzwerkschnittstellen, IEEE 802.16 Netzwerkschnittstellen, IEEE 802.20 Netzwerkschnittstellen und dergleichen. Darüber hinaus können mehrere Netzwerkschnittstellen verwendet werden, um mit verschiedenen Kommunikationsnetzwerktypen zu kommunizieren. So können beispielsweise mehrere Netzwerkschnittstellen eingesetzt werden, um die Kommunikation über Broadcast-, Multicast- und Unicast-Netzwerke zu ermöglichen. Sollten die Verarbeitungsanforderungen eine höhere Geschwindigkeit und Kapazität erfordern, können verteilte Netzwerk-Controller-Architekturen verwendet werden, um die von den Clients 1002 und den Servern 1004 benötigte Kommunikationsbandbreite zu bündeln, auszugleichen oder anderweitig zu erhöhen. Ein Kommunikationsnetzwerk kann eine beliebige Kombination von verdrahteten und/oder drahtlosen Netzwerken sein, einschließlich, aber nicht beschränkt auf eine direkte Verbindung, eine gesicherte kundenspezifische Verbindung, ein privates Netzwerk (z. B. ein Unternehmensintranet), ein öffentliches Netzwerk (z. B. das Internet), ein Personal Area Network (PAN), ein Local Area Network (LAN), ein Metropolitan Area Network (MAN), ein Operating Missions as Nodes on the Internet (OMNI), ein Wide Area Network (WAN), ein drahtloses Netzwerk, ein zellulares Netzwerk und andere Kommunikationsnetzwerke.
-
Einige Ausführungsformen können mit dem Ausdruck „eine Ausführungsform“ oder „eine Ausführungsform“ sowie deren Ableitungen beschrieben werden. Diese Begriffe bedeuten, dass ein bestimmtes Merkmal, eine bestimmte Struktur oder eine bestimmte Eigenschaft, die im Zusammenhang mit der Ausführungsform beschrieben wird, in mindestens einer Ausführungsform enthalten ist. Die Formulierung „in einer Ausführungsform“, die an verschiedenen Stellen in der Beschreibung auftaucht, bezieht sich nicht unbedingt auf dieselbe Ausführungsform. Ferner können einige Ausführungsformen mit den Begriffen „gekoppelt“ und „verbunden“ sowie deren Ableitungen beschrieben werden. Diese Begriffe sind nicht unbedingt als Synonyme füreinander zu verstehen. Beispielsweise können einige Ausführungsformen mit den Begriffen „verbunden“ und/oder „gekoppelt“ beschrieben werden, um anzuzeigen, dass zwei oder mehr Elemente in direktem physischen oder elektrischen Kontakt zueinander stehen. Der Begriff „gekoppelt“ kann jedoch auch bedeuten, dass zwei oder mehr Elemente nicht in direktem Kontakt zueinander stehen, aber dennoch zusammenarbeiten oder miteinander interagieren.
-
Es wird betont, dass die Zusammenfassung der Offenbarung dem Leser ermöglichen soll, sich schnell ein Bild von der Art der technischen Offenbarung zu machen. Sie wird mit der Maßgabe vorgelegt, dass sie nicht zur Auslegung oder Einschränkung des Umfangs oder der Bedeutung der Ansprüche verwendet werden darf. Darüber hinaus ist in der vorstehenden detaillierten Beschreibung zu erkennen, dass verschiedene Merkmale in einer einzigen Ausführungsform zusammengefasst sind, um die Offenbarung zu vereinfachen. Diese Art der Offenlegung ist nicht so zu verstehen, dass die beanspruchten Ausführungsformen mehr Merkmale erfordern, als in den einzelnen Ansprüchen ausdrücklich aufgeführt sind. Vielmehr liegt, wie die folgenden Ansprüche zeigen, der Erfindungsgegenstand in weniger als allen Merkmalen einer einzelnen offengelegten Ausführungsform. Daher werden die folgenden Ansprüche hiermit in die ausführliche Beschreibung aufgenommen, wobei jeder Anspruch für sich genommen eine separate Ausführungsform darstellt. In den beigefügten Ansprüchen werden die Ausdrücke „einschließlich“ und „in denen“ als einfache englische Entsprechungen der jeweiligen Begriffe „umfassend“ und „wobei“ verwendet. Darüber hinaus werden die Begriffe „erstes“, „zweites“, „drittes“ usw. lediglich als Bezeichnungen verwendet und sollen nicht dazu dienen, numerische Anforderungen an ihre Gegenstände zu stellen.
-
Was oben beschrieben wurde, umfasst Beispiele für die offengelegte Architektur. Es ist natürlich nicht möglich, jede denkbare Kombination von Komponenten und/oder Methoden zu beschreiben, aber ein Fachmann kann erkennen, dass viele weitere Kombinationen und Permutationen möglich sind. Dementsprechend soll die neue Architektur alle derartigen Änderungen, Modifikationen und Variationen umfassen, die unter den Geist und den Anwendungsbereich der beigefügten Ansprüche fallen.
-
ZITATE ENTHALTEN IN DER BESCHREIBUNG
-
Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
-
Zitierte Patentliteratur
-