DE112018001462T5 - Zweidimensionaler Strichcode mit dynamischen Umgebungsdaten System, Verfahren und Gerät - Google Patents

Zweidimensionaler Strichcode mit dynamischen Umgebungsdaten System, Verfahren und Gerät Download PDF

Info

Publication number
DE112018001462T5
DE112018001462T5 DE112018001462.2T DE112018001462T DE112018001462T5 DE 112018001462 T5 DE112018001462 T5 DE 112018001462T5 DE 112018001462 T DE112018001462 T DE 112018001462T DE 112018001462 T5 DE112018001462 T5 DE 112018001462T5
Authority
DE
Germany
Prior art keywords
bar code
sensor
data
color
modules
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
DE112018001462.2T
Other languages
English (en)
Inventor
Thaddeus Prusik
Mohannad Abdo
Clive Hohberger
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Lifelines Technology Inc
Original Assignee
Temptime Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US15/464,207 external-priority patent/US10546172B2/en
Application filed by Temptime Corp filed Critical Temptime Corp
Publication of DE112018001462T5 publication Critical patent/DE112018001462T5/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K19/00Record carriers for use with machines and with at least a part designed to carry digital markings
    • G06K19/06Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
    • G06K19/06009Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code with optically detectable marking
    • G06K19/06037Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code with optically detectable marking multi-dimensional coding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K19/00Record carriers for use with machines and with at least a part designed to carry digital markings
    • G06K19/06Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
    • G06K19/06009Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code with optically detectable marking
    • G06K19/06046Constructional details
    • G06K19/06056Constructional details the marking comprising a further embedded marking, e.g. a 1D bar code with the black bars containing a smaller sized coding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K19/00Record carriers for use with machines and with at least a part designed to carry digital markings
    • G06K19/06Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
    • G06K19/06009Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code with optically detectable marking
    • G06K19/06046Constructional details
    • G06K19/06075Constructional details the marking containing means for error correction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K19/00Record carriers for use with machines and with at least a part designed to carry digital markings
    • G06K19/06Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
    • G06K19/06009Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code with optically detectable marking
    • G06K19/06046Constructional details
    • G06K19/0614Constructional details the marking being selective to wavelength, e.g. color barcode or barcodes only visible under UV or IR
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/22Image preprocessing by selection of a specific region containing or referencing a pattern; Locating or processing of specific regions to guide the detection or recognition

Abstract

Verfahren, Systeme und Geräte zum Kombinieren vorgedruckter Informationen mit codierten Sensorinformationen in einem zweidimensionalen Strichcode. Die Sensorinformationen können Umgebungs-, physikalischer oder biologischer Natur sein und zeichnen eine kumulative Änderung des Zustands der Umgebungs- oder biologischen Bedingung auf, der das gekennzeichnete Produkt ausgesetzt war. Eine Sensorfarbstoffchemie wird verwendet, die in Reaktion auf das Auftreten der Umgebungsbedingung eine kontinuierliche chemische oder physikalische Zustandsänderung erfährt. Die kontinuierliche Änderung erfolgt zwischen einem Anfangszustand und einem Endzustand, wodurch eine Änderung des Farbzustands des in den sensorgestützten zweidimensionalen Strichcode eingebetteten Sensorfarbstoffs verursacht wird, der die digitalen Sensorinformationen codiert. Sensorinformationen werden mithilfe der Fehlerkorrekturfunktion während der Strichcodedecodierung wiederhergestellt.

Description

  • PRIORITÄTSANSPRUCH
  • Diese Anmeldung beansprucht die Priorität der am 20. März 2017 eingereichten US-Anmeldung Nr. 15/464,207 .
  • HINTERGRUND
  • Ein Strichcode ist eine optische maschinenlesbare Darstellung von Daten. Ein zweidimensionaler (2D)-Strichcode (z. B. Data Matrix oder QR-Code) ist eine zweidimensionale Methode zur Darstellung von Informationen in einem Strichcode. Schwarzweiß-2D-Strichcodes können mehr Daten pro Flächeneinheit als eindimensionale (d. h. lineare) Strichcodes (z. B. Code 39 oder Code 128) darstellen. Strichcodes haben viele Verwendungszwecke, einschließlich der Dokumentation des Inventars, der Verfolgung von Lieferungen, des Abgleichs eines Produkts mit einer Preisdatei und der Bereitstellung von Informationen für den Benutzer. Bei einigen Systemen kann die Datenwiederherstellung von Strichcodes systemkritisch sein. Viele 2D-Strichcode-Technologien bieten robuste Fehlerkorrekturfunktionen, und die Verwendung mehrerer verknüpfter Strichcodes oder größerer Strichcodes kann in der Regel die Datenwiederherstellungs-Funktionen verbessern. Der für Strichcodes verfügbare Platz kann jedoch in vielerlei Hinsicht begrenzt sein. Darüber hinaus kann die derzeitige Strichcodetechnologie verbessert werden, wie dies derzeit offenbart ist.
  • KURZDARSTELLUNG
  • Die vorliegende Offenbarung stellt ein neues und innovatives System, Verfahren und ein Gerät zum Bereitstellen und Lesen von 2D-Strichcodes bereit, die dynamische Umgebungsdaten beinhalten, wobei Module des Strichcodes den Farbzustand in Reaktion auf Umgebungsbedingungen kontinuierlich (im Gegensatz zu schrittweise) ändern können. In einem beispielhaften Aspekt der vorliegenden Offenbarung beinhaltet ein sensorgestützter zweidimensionaler Strichcode ein Substrat, eine erste Schicht, die auf dem Substrat vorgesehen ist, und eine zweite Schicht, die auf dem Substrat vorgesehen ist. Die erste Schicht beinhaltet einen Sensorfarbstoffbereich, der einen Sensorfarbstoff mit einer Chemie beinhaltet, die so konfiguriert ist, dass sie eine kontinuierliche chemische oder physikalische Zustandsänderung zwischen einem Anfangszustand und einem Endzustand in Reaktion auf das Auftreten einer Umgebungsbedingung durchläuft, wodurch eine Änderung des Farbzustands des Sensorfarbstoffs verursacht wird. Der Farbzustand zeigt die Exposition gegenüber der Umgebungsbedingung an. Die zweite Schicht beinhaltet ein zweidimensionales Fehlerkorrektur-Strichcodesymbol, das eine Vielzahl von Modulen in einem permanenten Farbzustand umfasst. Die Module sind optional quadratisch, rechteckig oder kreisförmig.
  • Gemäß einem weiteren beispielhaften Aspekt der vorliegenden Offenbarung beinhaltet ein Herstellungserzeugnis ein pharmazeutisches, biologisches, Lebensmittelprodukt, Chemotherapeutikum oder Impfstoffe; einen Behälter, der das pharmazeutische, biologische, Lebensmittelprodukt, Chemotherapie- oder Impfstoffprodukt enthält; und ein sensorgestütztes zweidimensionales Strichcodesymbol, das an oder in dem Behälter vorgesehen ist und vorzugsweise auf der Außenfläche des Behälters angebracht ist.
  • Gemäß einem weiteren beispielhaften Aspekt der vorliegenden Offenbarung beinhaltet ein Verfahren zum Lesen eines sensorgestützten zweidimensionalen Strichcodesymbols das optische Scannen eines Bildes des sensorgestützten zweidimensionalen Strichcodesymbols, um Farbwerte für Pixel in dem Bild zu erhalten. Dann wird eine gescannte Pixelkarte erstellt, die die Farbwerte in dem sensorgestützten zweidimensionalen Strichcodesymbol enthält, und die Pixel in der gescannten Pixelabbildung werden verarbeitet, um jedem Pixel einen binären Farbwert zuzuweisen und eine binarisierte Pixelkarte zu bilden. Das zweidimensionale Strichcodesymbol wird in der binarisierten Pixelkarte identifiziert und decodiert, um eine Symbolcodewortsequenz wiederherzustellen. Als nächstes werden zugrundeliegende Datencodewörter aus der Symbolcodewortsequenz wiederhergestellt, vorzugsweise unter Durchführung eines Fehlerkorrekturprozesses an der Symbolcodewortsequenz. Die Datencodewörter werden zur Identifikation von Strichcodemodulen in einem Sensorfarbstoffbereich verarbeitet und ein durchschnittlicher Farbwert der Strichcodemodule im Sensorfarbstoffbereich wird bestimmt. Der durchschnittliche Farbwert des Sensorfarbstoffbereichs wird verarbeitet, um einen prozentualen Reflexionsgrad des einfallenden Lichts zum Zeitpunkt des Scannens zu bestimmen.
  • Gemäß einem weiteren beispielhaften Aspekt der vorliegenden Offenbarung umfasst ein Verfahren zum Lesen eines sensorgestützten zweidimensionalen Strichcodesymbols ein sensorgestütztes zweidimensionales Strichcodesymbolsowie das optische Scannen eines Bildes des sensorgestützten zweidimensionalen Strichcodesymbols beinhaltet, um einen Graustufenwert für jedes Pixel im Bild zu erhalten. Dann wird eine Graustufen-Pixelkarte der Pixel im sensorgestützten zweidimensionalen Strichcodesymbol erstellt. Als nächstes beinhaltet das Verfahren das Verarbeiten der Pixel in der Graustufen-Pixelkarte, um jedem Pixel einen binären Farbwert zuzuweisen und eine binarisierte Pixelkarte zu bilden. Zusätzlich wird das Identifizieren des zweidimensionalen Strichcodesymbols in der binarisierten Pixelkarte identifiziert und decodiert, um eine Symbolcodewortsequenz wiederherzustellen. Dann werden zugrundeliegende Datencodewörter aus der Symbolcodewortsequenz unter Durchführung eines Fehlerkorrekturprozesses an den Symbolcodewörtern wiederhergestellt. Die Datencodewörter werden zur Identifizierung der Strichcodemodule in einem Sensorfarbstoffbereich verarbeitet. Dann wird ein durchschnittlicher Graustufenwert der Strichcodemodule im Sensorfarbstoffbereich bestimmt, und die durchschnittlichen Graustufenwerte des Sensorfarbstoffbereichs werden verarbeitet, um einen prozentualen Reflexionsgrad des einfallenden Lichts zum Zeitpunkt des Scannens zu bestimmen.
  • Weitere Merkmale und Vorteile des offenbarten Systems, Verfahrens und Geräts sind in der folgenden ausführlichen Beschreibung und den Figuren beschrieben und werden daraus ersichtlich.
  • Figurenliste
    • 1A ist ein Blockdiagramm einer beispielhaften Datenstruktur von Strichcodedaten eines 2D-Strichcodes gemäß einer beispielhaften Ausführungsform der vorliegenden Offenbarung.
    • 1B ist ein Blockdiagramm einer beispielhaften Datenstruktur der codierten Daten eines 2D-Strichcodes gemäß einer beispielhaften Ausführungsform der vorliegenden Offenbarung.
    • 1C ist ein Blockdiagramm einer beispielhaften Datenstruktur der Inhaltsdaten eines 2D-Strichcodes gemäß einer beispielhaften Ausführungsform der vorliegenden Offenbarung.
    • 1D ist ein Blockdiagramm einer beispielhaften Datenstruktur der Referenzdaten eines 2D-Strichcodes gemäß einer beispielhaften Ausführungsform der vorliegenden Offenbarung.
    • 1E ist ein Blockdiagramm einer beispielhaften Datenstruktur der Nutzdaten eines 2D-Strichcodes gemäß einer beispielhaften Ausführungsform der vorliegenden Offenbarung.
    • 2A ist ein beispielhafter 2D-Strichcode gemäß einer beispielhaften Ausführungsform der vorliegenden Offenbarung.
    • 2B ist ein Beispiel der Referenzdaten eines 2D-Strichcodes gemäß einer beispielhaften Ausführungsform der vorliegenden Offenbarung.
    • 2C ist ein beispielhafter 2D-Strichcode gemäß einer beispielhaften Ausführungsform der vorliegenden Offenbarung.
    • 2D ist ein Beispiel der Referenzdaten eines 2D-Strichcodes gemäß einer beispielhaften Ausführungsform der vorliegenden Offenbarung.
    • 3A ist eine Darstellung eines 2D-Strichcodes gemäß einer beispielhaften Ausführungsform der vorliegenden Offenbarung.
    • 3B ist eine Darstellung eines 2D-Strichcodes gemäß einer beispielhaften Ausführungsform der vorliegenden Offenbarung.
    • 3C ist eine Darstellung eines 2D-Strichcodes gemäß einer beispielhaften Ausführungsform der vorliegenden Offenbarung.
    • 3D ist eine Darstellung eines 2D-Strichcodes gemäß einer beispielhaften Ausführungsform der vorliegenden Offenbarung.
    • 4 beinhaltet ein Flussdiagramm, das einen beispielhaften Prozess zum Bereitstellen eines 2D-Strichcodes gemäß einer beispielhaften Ausführungsform der vorliegenden Offenbarung darstellt.
    • 5 ist ein Flussdiagramm, das einen 2D-Strichcode darstellt, der unter Verwendung eines beispielhaften Prozesses zum Bereitstellen eines 2D-Strichcodes gemäß einer beispielhaften Ausführungsform der vorliegenden Offenbarung gedruckt wurde.
    • 6A ist eine Textdarstellung eines Satzes statischer Daten und eines Satzes dynamischer Daten gemäß einer beispielhaften Ausführungsform der vorliegenden Offenbarung.
    • 6B ist ein Beispiel für dynamische Textdaten, die als binäre Informationsmodule codiert sind, gemäß einer beispielhaften Ausführungsform der vorliegenden Offenbarung.
    • 6C ist ein Flussdiagramm, das einen 2D-Strichcode darstellt, der unter Verwendung eines beispielhaften Prozesses zum Bereitstellen eines 2D-Strichcodes gemäß einer beispielhaften Ausführungsform der vorliegenden Offenbarung gedruckt wurde.
    • 6D ist ein Flussdiagramm, das einen 2D-Strichcode darstellt, der unter Verwendung eines beispielhaften Prozesses zum Bereitstellen eines 2D-Strichcodes gemäß einer beispielhaften Ausführungsform der vorliegenden Offenbarung gedruckt wurde.
    • 7 beinhaltet ein Flussdiagramm, das einen beispielhaften Prozess zum Bereitstellen eines 2D-Strichcodes gemäß einer beispielhaften Ausführungsform der vorliegenden Offenbarung darstellt.
    • 8 ist ein Flussdiagramm, das einen Teil eines 2D-Strichcodes darstellt, der unter Verwendung eines beispielhaften Prozesses zum Bereitstellen eines 2D-Strichcodes gemäß einer beispielhaften Ausführungsform der vorliegenden Offenbarung gedruckt wurde.
    • 9 beinhaltet ein Flussdiagramm, das einen beispielhaften Prozess zum Bereitstellen eines 2D-Strichcodes gemäß einer beispielhaften Ausführungsform der vorliegenden Offenbarung darstellt.
    • 10A ist ein Blockdiagramm eines beispielhaften Satzes von Informationsmodulen, die unter Verwendung eines beispielhaften Prozesses zum Bereitstellen eines 2D-Strichcodes gemäß einer beispielhaften Ausführungsform der vorliegenden Offenbarung gedruckt wurden.
    • 10B ist ein Blockdiagramm eines beispielhaften Satzes von Informationsmodulen, die unter Verwendung eines beispielhaften Prozesses zum Bereitstellen eines 2D-Strichcodes gemäß einer beispielhaften Ausführungsform der vorliegenden Offenbarung gedruckt wurden.
    • 10C ist ein Blockdiagramm eines beispielhaften Satzes von Informationsmodulen, die unter Verwendung eines beispielhaften Prozesses zum Bereitstellen eines 2D-Strichcodes gemäß einer beispielhaften Ausführungsform der vorliegenden Offenbarung gedruckt wurden.
    • 11 beinhaltet ein Flussdiagramm, das einen beispielhaften Prozess zum Bereitstellen eines 2D-Strichcodes gemäß einer beispielhaften Ausführungsform der vorliegenden Offenbarung darstellt.
    • 12 beinhaltet ein Flussdiagramm, das einen beispielhaften Prozess zum Lesen eines 2D-Strichcodes gemäß einer beispielhaften Ausführungsform der vorliegenden Offenbarung darstellt.
    • 13 beinhaltet ein Flussdiagramm, das einen beispielhaften Prozess zum Lesen eines 2D-Strichcodes gemäß einer beispielhaften Ausführungsform der vorliegenden Offenbarung darstellt.
    • 14 ist ein Blockdiagramm eines 2D-Strichcode-Bereitstellungssystems gemäß einer beispielhaften Ausführungsform der vorliegenden Offenbarung.
    • 15A ist ein Blockdiagramm eines 2D-Strichcode-Lesesystems gemäß einer beispielhaften Ausführungsform der vorliegenden Offenbarung.
    • 15B ist ein Blockdiagramm eines 2D-Strichcode-Lesesystems gemäß einer beispielhaften Ausführungsform der vorliegenden Offenbarung.
    • 16 ist ein Blockdiagramm eines 14×14-Data-Matrix-Symbols, das die Daten „1234567890“ gemäß einer beispielhaften Ausführungsform der vorliegenden Offenbarung codiert.
    • 17 ist eine Darstellung einer Codewort- und Utah-Platzierungs- und Bitmap-Matrix für ein 14×14-Data-Matrix-Symbol gemäß einer beispielhaften Ausführungsform der vorliegenden Offenbarung.
    • 18 ist ein Schaubild der allgemeinen Codewortplatzierung in einer 10×10-Data-Matrix-Bitmap gemäß einer beispielhaften Ausführungsform der vorliegenden Offenbarung.
    • 19 ist ein Blockdiagramm der invarianten Utah-Platzierung in allen praktischen Größen von Data-Matrix-Symbolen gemäß einer beispielhaften Ausführungsform der vorliegenden Offenbarung.
    • 20 ist eine Darstellung einer 14x 14-Bitmap und einer Utah-Platzierung innerhalb eines 16×16-Data-Matrix-Symbols gemäß einer beispielhaften Ausführungsform der vorliegenden Offenbarung.
    • 21 ist eine Darstellung von Utahs, die im GSl-AI-(90)-String und in der Platzierung der 15 BCH(15,5,7)-Codierungsbits gemäß einer beispielhaften Ausführungsform der vorliegenden Offenbarung verwendet werden.
    • 22 ist ein Blockdiagramm einer 16×16-Data-Matrix, die eine W→X-Sensorfarbstoffchemie verwendet und den GS1-AI-(90)-String gemäß einer beispielhaften Ausführungsform der vorliegenden Offenbarung codiert.
    • 23 ist ein Detail der Utahs 1-7 in 7 gemäß einer beispielhaften Ausführungsform der vorliegenden Offenbarung.
    • 24 ist ein Blockdiagramm der 16×16-Data-Matrix von 7 mit nicht aktivierten, überdruckten Sensorfarbstoffmodulen gemäß einer beispielhaften Ausführungsform der vorliegenden Offenbarung.
    • 25 ist ein Blockdiagramm einer 16×16-Data-Matrix, die eine X→B-Sensorfarbstoffchemie verwendet und den GS1-AI-(90)-String gemäß einer beispielhaften Ausführungsform der vorliegenden Offenbarung codiert.
    • 26 ist ein Detail der Utahs 1-7 in 25 gemäß einer beispielhaften Ausführungsform der vorliegenden Offenbarung.
    • 27 ist ein Blockdiagramm der 16×16-Data-Matrix von 25 mit nicht aktivierten, überdruckten Sensorfarbstoffmodulen gemäß einer beispielhaften Ausführungsform der vorliegenden Offenbarung.
    • 28 ist ein Detail einer 16×16-Data-Matrix, die die Daten von Tabelle 8 codiert, die einen 4x4-Rahmenbereich zeigt, gemäß einer beispielhaften Ausführungsform der vorliegenden Offenbarung.
    • 29 ist ein Blockdiagramm einer Basiswert-16×16-Data-Matrix, die unter Verwendung der Daten in Tabelle 8 gemäß einer beispielhaften Ausführungsform der vorliegenden Offenbarung codiert ist.
    • 30 ist ein Blockdiagramm der 16×16-Data-Matrix von 29 mit einem überdruckten weißen 4×4-Rahmen gemäß einer beispielhaften Ausführungsform der vorliegenden Offenbarung.
    • 31 ist ein Blockdiagramm der 16×16-Data-Matrix von 30, das ein überdrucktes und aktiviertes Sensorfarbstofffeld gemäß einer beispielhaften Ausführungsform der vorliegenden Offenbarung zeigt.
    • 32A ist ein Blockdiagramm einer 26×26-Data-Matrix mit einem Sensorfarbstofffeld im invarianten Raum in einem ersten Zwischenzustand zwischen dem Anfangszustand und dem Endzustand gemäß einer beispielhaften Ausführungsform der vorliegenden Offenbarung.
    • 32B ist ein Blockdiagramm einer 26×26-Data-Matrix mit einem Sensorfarbstofffeld im invarianten Raum in einem zweiten Zwischenzustand gemäß einer beispielhaften Ausführungsform der vorliegenden Offenbarung.
    • 33 ist eine Grafik des Reflexionsgrads R(t) gegen die äquivalente Belichtungszeit (t) eines Sensorfarbstofffelds gemäß einer beispielhaften Ausführungsform der vorliegenden Offenbarung.
    • 34 ist eine erste Darstellung einer Strichcodeleseranzeige gemäß einer beispielhaften Ausführungsform der vorliegenden Offenbarung.
    • 35 ist eine zweite Darstellung einer Strichcodeleseranzeige gemäß einer beispielhaften Ausführungsform der vorliegenden Offenbarung.
  • AUSFÜHRLICHE BESCHREIBUNG VON BEISPIELHAFTEN AUSFÜHRUNGSFORMEN
  • Bisherige Ansätze waren eindimensionale (lineare oder 1D) Strichcodes, die entweder unlesbar werden oder sich mit Stimuli ändern. Nennenswert sind die FreshCode-Smart-Strichcode-Etiketten, geliefert von Varcode Ltd. Siehe: http://www.varcode.com/portfolio_item/freshcode/).
  • Es gab eine Vielzahl von 1D-Strichcode-Patentanmeldungen, einschließlich Nemet et al., US20140252096 A1 . Während das Kombinieren von Umgebungsmessungen zu einem Datenwert von 1D-Strichcodes allgemein beschrieben wurde, scheinen die auf 1D-Strichcodes anwendbaren Techniken nicht auf zweidimensionale (2D) Strichcodes mit Umgebungsüberwachung anwendbar zu sein.
  • Die Fläche, die 1D-Strichcodes einnehmen, schränkt ihre Anwendbarkeit in Anwendungen ein, bei denen der Platz kritisch ist, z. B. Unit-of-use-Anwendungen, Fläschchen usw. Zweidimensionale Strichcodes mit Codierungstechnologien hoher Dichte, z. B. Data Matrix, könnten eine codierte Fläche aufweisen, die in der Praxis etwa um das 30-Fache oder mehr kleiner als ein 1D-Strichcode ist, der dieselben Daten darstellt.
  • Frühere Anwendungen mit 2D-Strichcodes haben sich nicht mit der Umweltüberwachung befasst und konzentrieren sich auf eine hohe Dichte gespeicherter Informationen, die statisch und unempfindlich gegenüber Umweltfaktoren wie Temperatur, Zeit, Zeit-Temperatur-Produkt, Gefrieren, nuklearer Strahlung, toxischen Chemikalien oder dergleichen sind.
  • Einige Lösungen haben sich mit zwei Datensätzen, primären/sekundären oder verdeckten/offenen Daten, befasst, wobei der zweite Satz von Informationen im redundanten Raum des Strichcodes gespeichert wird und mit einem herkömmlichen Lesegerät oder unabhängig unter Verwendung eines zweiten Lesegeräts oder anderer Entschlüsselungsmethoden gelesen werden kann. Während sich diese Lösungen, einschließlich der sekundären/verdeckten Daten, mit Fragen wie Sicherheit und Authentizität befassten, befasste sich keine mit der Umgebungsüberwachung, bei der Daten dynamisch sind. Eine anhängige US-Patentanmeldung von Porter et al. US 20130015236 A1 High-value document authentication system and method und darin enthaltende Referenzen beschreiben primäre und sekundäre Informationssätze und die Anwendung zur Dokumentauthentifizierung.
  • Andere Lösungen haben sich mit mehreren Datensätzen (primär/sekundär/tertiär usw.) befasst, wobei verschiedene Datensätze (sekundär, tertiär usw.) nach und nach über den vorherigen Satz gespeichert werden. Mehrere Informationssätze werden inkrementell hinzugefügt, indem beispielsweise der vorherige Satz mit verschiedenen Farbmodulen überdruckt wird und die Daten dann mit Lesegeräten entschlüsselt werden, die für die Interpretation verschiedener Farbmodule konfiguriert sind. Siehe zum Beispiel Simske et al., US20140339312 A1 . Diese Lösungen führen nach und nach statische Daten schichtweise ein und befassen sich mit Fragen zur Verfolgung, Nachverfolgung, Prüfung, Qualitätssicherung und nicht dynamischen Umgebungsdaten.
  • Einige in dieser Offenbarung beschriebene beispielhafte Ausführungsformen stellen einen einzigartigen Weg zum Kombinieren von vorgedruckten Daten zusammen mit codierten Sensorinformationen in einem zweidimensionalen Strichcode auf einem Medium bereit. Die vorgedruckten Daten und die codierten Sensorinformationen können in einem einzigen Schritt kombiniert werden, oder die codierten Sensorinformationen können in einem zweiten Schritt in Abhängigkeit von der tatsächlichen geplanten Sensornutzung dynamisch zu den vorgedruckten Daten hinzugefügt werden.
  • Eine Sensorfarbstoffchemie kann verwendet werden, wenn die erfasste Eigenschaft eine Umgebungs-, physikalische oder biologische Eigenschaft ist. Eine spezifizierte Bedingung der erfassten Eigenschaft bewirkt die Aktivierung einer chemischen oder physikalischen Zustandsänderung, die zu einer Änderung des Farbzustands des Sensorfarbstoffs führt. Die Änderung des Farbzustands führt dazu, dass digitale Sensorinformationen im Muster der Sensorfarbstoffmodule innerhalb des sensorgestützten zweidimensionalen Strichcodes sichtbar werden. Digitale Sensorinformationen werden wiederhergestellt, wenn der Strichcode unter Verwendung einer Erweiterung der Standard-Lese- und Fehlerkorrekturalgorithmen für die verwendete zweidimensionale Strichcode-Symbologie gelesen wird.
  • In einem anderen Beispiel kann der Sensorfarbstoff eine Chemie aufweisen, die dafür konfiguriert ist, eine kontinuierliche chemische oder physikalische Zustandsänderung zu durchlaufen. Beispielsweise kann sich der Sensorfarbstoff kontinuierlich zwischen einem Anfangszustand und einem Endzustand ändern, was eine Änderung des Farbzustands des Sensorfarbstoffs verursacht. In einem Beispiel kann der Sensorfarbstoff eine chemische Zusammensetzung aufweisen, die die Farbe basierend auf der Einwirkung sowohl von Zeit als auch Temperatur kontinuierlich ändert (z. B. ist der aktuelle Farbzustand des Sensorfarbstofffelds ein Ergebnis der kumulativen Einwirkung von Umgebungsbedingungen). Beispielsweise kann bei einem Produkt, das bei Temperaturen über 15 °C schnell verdirbt, die Farbänderung des Sensorfarbstofffelds eine kurze Exposition gegenüber einer solchen Temperatur anzeigen, selbst wenn das Produkt derzeit eine Temperatur weit unter 15 °C hat. Aufgrund der kumulativen Natur der Sensorfarbstoffchemie ändert der Sensorfarbstoff kontinuierlich die Farbe von einem Anfangszustand zu einem Endzustand, sodass Produkteigenschaften wie die verbleibende Produktlebensdauer an jedem Punkt in der Lieferkette erhalten werden können.
  • Beispiele für Umgebungssensoren beinhalten Temperaturüberwachungsgeräte, die entweder die kumulative Wärmebelastung messen oder einen oder mehrere festgelegte hohe oder niedrige Temperaturschwellenwerte überschreiten; Zeit, Zeit-Temperatur-Produkt, Expositionsüberwachungsgeräte für nukleare Strahlung; Expositionsüberwachungsgeräte für Gas oder Feuchtigkeit, die jeweils einen kumulativen Expositionsschwellenwert oder einen momentanen Schwellenwert überschreiten. Beispiele für medizinische Sensoren umfassen Aufzeichnung von Patiententhermometern; Assays zur Messung von Spiegeln biologischer Toxinn wie Aflatoxin oder Botulismus-Toxin; und beinhaltet kolorimetrische Immunoassays zum Nachweis des Vorhandenseins von biologischen Mitteln wie Prionen oder biologischen Organismen wie infektiösen Bakterien.
  • Blockdiagramme einer beispielhaften Datenstruktur 100 eines zweidimensionalen (2D) Strichcodes, einer beispielhaften Datenstruktur der codierten Daten eines 2D-Strichcodes, einer beispielhaften Datenstruktur der Inhaltsdaten eines 2D-Strichcodes und einer beispielhaften Datenstruktur der Referenzdaten eines 2D-Strichcodes sind in 1A, 1B, 1C bzw. 1D gezeigt. Der 2D-Strichcode beinhaltet codierte Daten 104 und Referenzdaten 106. Die codierten Daten 104 können Inhaltsdaten 108 und Format- und Versionsdaten 110 beinhalten. Die Inhaltsdaten 108 können Nutzdaten 112, Fülldaten 114, Fehlererfassungs- und Korrekturdaten 116 und einen Restraum 118 beinhalten. Die Format- und Versionsdaten 110 liefern Informationen, die zum Decodieren der Inhaltsdaten 108 benötigt werden. Beispielsweise können die Format- und Versionsdaten 110 Maskeninformationen beinhalten. Die Referenzdaten 106 sind die Daten, die erforderlich sind, um zu identifizieren, welches Protokoll verwendet wird, und ermöglichen es einem Leser, den 2D-Strichcode zu lokalisieren und zu scannen. Die Referenzdaten 106 können Ausrichtungsdaten 124, Finder-Daten 126, Zeitsteuerungsdaten 128, Positionsdaten 130 und Orientierungsdaten 132 beinhalten. Die Nutzdaten können statische Daten 134 und dynamische Daten 136 beinhalten. Wie in den 2A, 2B, 2C und 2D, die nachstehend ausführlicher erörtert werden, können z. B. die Positionsdaten 130 einen Positionsblock 138 oder Positionsmodule und die Finder-Daten 126 können ein Sucher-Muster 142 oder Finder-Module beinhalten. Zusätzlich können die Ausrichtungsdaten 124 einen Ausrichtungsblock 146 beinhalten. Die Zeitsteuerungsdaten 128 können ein Zeitsteuerungsmuster 148 beinhalten. Die Referenzdaten 106 können auch Separatoren, Identifikationsmodule und Orientierungsmodule beinhalten.
  • Beispielhafte 2D-Strichcodes sind in 2A und 2C und ihre jeweiligen Referenzdaten 106 und Format- und Versionsdaten 110 sind in 2B und 2D gezeigt. 2A beinhaltet alle codierten Daten 104 und Referenzdaten 106 für einen 2D-Strichcode 156 (z. B. Data Matrix). 2B zeigt nur die Referenzdaten 106 für einen 2D-Strichcode 156. Beispielsweise umschließen die Referenzdaten 106, die das Finder-Muster 142 und das Zeitsteuerungsmuster 148 beinhalten, die Inhaltsdaten 108 des 2D-Strichcodes 156. 2C beinhaltet alle codierten Daten 104 und Referenzdaten 106 für einen 2D-Strichcode 158 (z. B. QR-Code). 2D zeigt nur die Referenzdaten 106 für einen 2D-Strichcode 158. Beispielsweise können die Referenzdaten 106 die Positionsblöcke 138, den Ausrichtungsblock 146 und die Zeitsteuerungsmuster 148 beinhalten.
  • Eine Darstellung eines 2D-Strichcodes 156 ist in 3A und 3B gezeigt. Eine Darstellung eines 2D-Strichcodes 158 ist in 3C und 3D gezeigt. Die Darstellung jedes 2D-Strichcodes zeigt den Referenzdatenbereich 160 und den codierten Datenbereich 162. Der codierte Datenbereich 162 kann statische Daten 134, dynamische Daten 136 und Fehlererfassungs- und Korrekturdaten 116 beinhalten. Der 2D-Strichcode 156 kann auch eine Vielzahl von nicht verwendeten Bits umfassen, die möglicherweise nicht für die codierten Daten 104 oder die Bereitstellung von Referenzdaten 106 verwendet werden. Der 2D-Strichcode 158 kann einen Restraum 118 beinhalten, der eine Vielzahl von nicht verwendeten Bits beinhalten kann.
  • In einigen hier beschriebenen Beispielen wird Data Matrix verwendet, obwohl klar ist, dass ähnliche Ansätze mit anderen zweidimensionalen Strichcode-Schemata verwendet werden können, indem der Ansatz variiert wird, um mit dem anwendbaren 2D-Strichcode-Standard übereinzustimmen. Data Matrix ist ein zweidimensionales Fehlerkorrektur-Strichcodesymbol, das gemäß ISO/IEC 16022 Information technology - automatic identification and data capture techniques - Data Matrix barcode symbology specification erstellt wurde. Die ECC-200-Data-Matrix-Symbologie verwendet die Reed-Solomon-Fehlerkorrektur, um die codierten Daten aus Symbolen wiederherzustellen, die nur in begrenztem Umfang versehentlich beschädigt oder absichtlich gewechselt wurden. Jede Data Matrix, auf die hier Bezug genommen wird, ist vom ECC-200-Symboltyp und kann entweder quadratisch oder rechteckig sein und wird durch die Anzahl der Zeilen bzw. Spalten identifiziert.
  • Daten werden in einer Data Matrix als Folge von 8-Bit-Codewörtern oder Symbolzeichenwerten codiert. Codewörter können entweder Daten oder RSEC-Prüfzeichenwerte (Reed-Solomon Error Correction) enthalten. Es versteht sich, dass der hier beschriebene allgemeine Ansatz andere Codewortgrößen, andere Datenlayouts und andere Formen von Fehlerkorrekturcodes verwenden kann, und dass diese übliche Data Matrix nur als Beispiel beschrieben wird.
  • Jedes Modul ist eine visuelle Zelle in einer Matrix, die das Data-Matrix-Symbol umfasst, das zum Codieren eines Datenbits verwendet wird. Jedes Modul ist entweder nominell schwarz oder nominell weiß gefärbt. Die Modulmatrix ist die visuelle Manifestation der binären Bitmap-Matrix, die mit dem durch das Finder-Muster begrenzten Bereich des Symbols enthalten ist. Das Finder-Muster kann ein „L“ sein, das durch verbundene durchgehende Linien entlang zweier Ränder der Symbolmodulmatrix gebildet wird, wobei sich ein Muster aus weißen und schwarzen Modulen entlang der gegenüberliegenden Ränder des Symbols abwechselt. Siehe 16. Es versteht sich, dass in anderen Strichcodesymbolen andere Finder-Muster verwendet werden können.
  • 16 veranschaulicht eine 14×14-Quadrat-Data-Matrix 320, die die Daten „1234567890“ codiert. Diese Data Matrix besteht aus zwei Teilen: dem Finder-Muster, das ein „L“ bildet, das durch verbundene durchgehende Linien 312a und 312b entlang zweier Ränder des Symbols gebildet ist, mit einem abwechselnden Muster aus weißen und schwarzen Modulen 322a und 322b entlang den gegenüberliegenden Ränder des Symbols. Symbolcodewörter werden in der 12×12-Modulmatrix 330 innerhalb des Finder-Musters codiert.
  • Die detaillierte Struktur der 12×12-Modulmatrix 330 der 14×14-Data-Matrix 320 ist in 17 als die Bitmap-Matrix 200 gezeigt. Eine 14×14-Data-Matrix enthält 18 Codewörter, die jeweils aus acht Modulen bestehen, die den acht Bits des Codeworts entsprechen, die als „Utah“ bezeichnet werden. Die 12x12-Bitmap-Matrix zeigt das Layout aller 18 Codewörter in einer 14x14-Data-Matrix.
  • Ein „Utah“ ist eine Anordnung von 8 Modulen, um 1 Codewort zu codieren. Es kann entweder als einzelne verbundene Gruppe mit einem Muster angeordnet sein, das häufig die Form des Bundesstaates Utah hat, oder als zwei Untergruppen verbundener Module, die auf zwei Muster aufgeteilt sind. Das Codewort 9 der zusammenhängenden Utah 270 zeigt die typische Anordnung von Bits innerhalb einer zusammenhängenden Utah. Umgekehrt besteht die Utah für das Codewort 4 aus zwei kleineren Untergruppen: Untergruppe 272a am oberen Rand der Bitmap-Matrix-200-Codierungsbits 4.3 bis 4.8 und Untergruppe 272b am unteren Rand der Bitmap-Matrix-Codierungsbits 4.1 und 4.2.
  • Das allgemeine Layout der Codewort-Utah-Platzierung innerhalb einer 10×10-Data-Matrix-Bitmap-Matrix 300 ist in 18 gezeigt. Die Ablaufverfolgungslinien 310 zeigen das Gesamtverfahren zum Platzieren von Codewort-Utahs innerhalb einer Bitmap-Matrix. Man beachte beim Vergleich der 17 und 18 die Platzierung:
    • Aller Teile von Utah 2
    • Utah-3-Bits 3.6-3.8
    • Utah-4-Bits 4.3-4.8
    • Aller Bits von Utahs 5 und 6
  • Diese Bitpositionen befinden sich an identischen Positionen relativ zur oberen linken Ecke (ULC) des Data-Matrix-Symbols. Gemäß der ISO/IEC-16022-Norm, Anhang F.3, alle quadratischen Data-Matrix-Symbole bis zur Größe 26x26 und alle rechteckigen Data-Matrix-Symbole, sind diese Bitpositionen in ihrer Platzierung relativ zur ULC jedes Data-Matrix-Symbols invariant. Diese Bitpositionen definieren eine „invariante Bitmap“ für Data-Matrix-Symbole. Es versteht sich, dass andere Strichcode standards andere invariante Bitmaps aufweisen können. In 19 ist die invariante Bitmap 410 in der ULC des Data-Matrix-Symbols 405 gezeigt. Um die Terminologie zu definieren, wird das gedruckte Data-Matrix-Symbol vor der Erweiterung mit Sensormodulen als das „zugrundeliegende Data-Matrix-Symbol“ bezeichnet; seine Codewortsequenz als die „zugrundeliegende Symbolcodewortsequenz“, die „zugrundeliegende Datencodewörter und ihre RSEC-Fehlerkorrekturcodewörter“ codiert. Es versteht sich, dass andere Symbologien ihre eigenen zugrundeliegenden Symbole, zugrundeliegenden Codewortsequenzen, zugrundeliegenden Datencodewörter und Fehlerkorrekturcodewörter aufweisen, abhängig von der speziellen Art der verwendeten Fehlerkorrektur.
  • 4 beinhaltet ein Flussdiagramm eines beispielhaften Prozesses 400 zum Bereitstellen eines 2D-Strichcodes. Obwohl der Prozess 400 unter Bezugnahme auf das in 4 dargestellte Flussdiagramm beschrieben wird, ist zu verstehen, dass viele andere Verfahren zum Ausführen der mit dem Prozess 400 verbundenen Handlungen verwendet werden können. Zum Beispiel kann die Reihenfolge vieler der Blöcke geändert werden, viele Blöcke können intermittierend wiederholt oder kontinuierlich ausgeführt werden; es können bestimmte Blöcke mit anderen Blöcken kombiniert werden und viele der beschriebenen Blöcke sind optional oder können nur bedingt ausgeführt werden.
  • Der beispielhafte Prozess 400 kann mit dem Bestimmen eines Satzes von Nutzdaten 112 beginnen, der einen Satz von statischen Daten 134 und einen Satz von dynamischen Daten 136 beinhaltet (Block 402). Zum Beispiel kann der Satz von statischen Daten 134 eine Seriennummer, eine Chargennummer, eine Fertigungsnummer und eine Expositionsgrenztemperatur für ein Produkt (z. B. 30 °C) beinhalten. Zusätzlich kann der Satz dynamischer Daten 136 Informationen beinhalten, die, wenn sie von einem Leser decodiert werden, einen Benutzer darüber informieren, ob das Produkt die Expositionsgrenztemperatur überschritten hat. Als nächstes wird ein 2D-Strichcode erzeugt, der eine codierte Version des Satzes statischer Daten beinhaltet, und der 2D-Strichcode umfasst redundanten Raum (Block 404). In einer beispielhaften Ausführungsform kann der redundante Raum eine Vielzahl von nicht verwendeten Bits, einen Auffüllbereich und/oder einen Fehlererfassungs- und Korrekturbereich (z. B. den Restraum 118) beinhalten. Zusätzlich kann der redundante Raum einen Formatinformationsbereich, einen Versionsinformationsbereich und/oder einen Referenzdatenbereich beinhalten. Darüber hinaus kann der redundante Raum den gesamten Restraum und/oder alle der Vielzahl von nicht verwendeten Bits beinhalten. Zusätzlich kann der redundante Raum einen Teil der Auffülldaten oder alle Auffülldaten beinhalten. Der redundante Raum kann auch einen Teil der Inhaltsdaten, einen Teil der Referenzdaten oder eine Kombination verschiedener Teile und/oder aller in den Inhaltsdaten und den Referenzdaten beinhalteten Daten beinhalten. Als nächstes wird mindestens ein Teil des redundanten Raums als dynamischer Bereich bezeichnet, der dazu ausgelegt ist, den Satz dynamischer Daten 136 zu speichern (Block 406). Als nächstes wird der 2D-Strichcode unter Verwendung einer statischen Tinte und einer codierten Version des Satzes der dynamischen Daten auf dem dynamischen Bereich unter Verwendung einer dynamischen Tinte gedruckt, die Zustände in Reaktion auf mindestens eine Umgebungsänderung ändert, sodass der Satz dynamischer Daten 136 in einem von einer Vielzahl von Zuständen vorhanden ist (Block 408). In einer beispielhaften Ausführungsform ist der Satz dynamischer Daten 136 für einen Leser des 2D-Strichcodes und der Satz statischer Daten 134 für den Leser des 2D-Strichcodes lesbar, wenn sich der Satz dynamischer Daten 136 in jedem der der Vielzahl von Zuständen befindet. In einer beispielhaften Ausführungsform kann die dynamische Tinte gegenüber einem Umgebungsfaktor wie Temperatur, Zeit, Zeit und Temperatur, Gefrieren, Strahlung, toxischen Chemikalien oder einer Kombination solcher Faktoren oder dergleichen empfindlich sein. In einer beispielhaften Ausführungsform kann die Tinte eine thermochrome Tinte sein. Beispielsweise kann die dynamische Tinte eine irreversible thermochrome Tinte auf Wasserbasis sein, die so ausgelegt ist, dass sie bei 40 °C dauerhaft von weiß nach schwarz wechselt. Zusätzlich kann die thermochrome Tinte reversibel sein. Beispielsweise kann die reversible thermochrome Tinte eine Flüssigkristalltinte oder eine Leukofarbstofftinte sein (Beispiele beinhalten reversible thermochrome Tinten von QCR Solutions und Tinten von HW Sands Corporation). In einer beispielhaften Ausführungsform kann die Tinte eine photochrome Tinte sein, die entweder reversibel oder irreversibel sein kann. Zum Beispiel kann die dynamische Tinte Zustände basierend auf der Exposition gegenüber UV-Licht ändern. Außerdem kann die Tinte eine Tinte sein, die gegenüber Zeit und Temperatur empfindlich ist (ein Beispiel beinhaltet die OnVu-Anzeige). Die dynamische Tinte kann sich von einer dunkleren Farbe zu einer helleren Farbe, einer helleren Farbe zu einer dunkleren Farbe ändern, kann Transparenz- oder Opazitätsniveaus und/oder Reflexions- oder Absorptionsniveaus oder jede andere geeignete Eigenschaft ändern, die ermöglicht, dass der Strichcode in einem oder mehreren Zuständen für einen Leser lesbar ist. Außerdem kann sich die dynamische Tinte kontinuierlich zwischen einem Bereich eines anfänglichen Farbzustands und einem Endfarbzustand ändern. Beispielsweise kann sich eine dynamische Tinte von einer helleren Farbe in ein dunkles Blau ändern, das alternativ von einem Leser in Werte auf einer fortlaufenden „Graustufe“ umgewandelt werden kann. Die Graustufe (die nicht zwingend wirklich grau ist, sondern einen kontinuierlichen Farbton aufweist) wird bestimmt, indem die R-, G- und B-Werte jedes Pixels durch eine Formel der nachstehenden Form auf einen einzelnen Graustufenwert reduziert werden: Graustufenwert = ( aR + bG + cB ) / K ,
    Figure DE112018001462T5_0001
    wobei {a, b, c} den relativen Beitrag jeder sRGB-Farbe im Pixel darstellt und K der Skalierungsfaktor ist. Darüber hinaus kann sich ein dynamisches Tinten- oder Sensorfarbfeld kontinuierlich von einer weißen oder klaren Farbe zu einem dunklen Rot oder Blau ändern (z. B. von Weiß zu einem schwachen Rot wechseln, immer weniger undurchsichtig werden, bis es beim Endfarbzustand eine durchgehende rote Farbe erreicht). Darüber hinaus kann jede geeignete Farbkombination für die Zustände einer oder mehrerer dynamischer Tinten verwendet werden.
  • In einer beispielhaften Ausführungsform kann sich die dynamische Tinte in Reaktion auf einen Umgebungsfaktor dauerhaft oder irreversibel ändern. Beispielsweise kann ein bestimmtes Arzneimittel eine chemische Zersetzung erfahren, wenn es einer bestimmten Temperatur ausgesetzt wird. Ein Lieferant möchte möglicherweise wissen, ob das Arzneimittel während des Transports und der Lagerung jemals eine Temperatur über dem Schwellenwert von 30 °C erreicht hat. Wenn sich die dynamische Tinte irreversibel ändert, kann der Satz dynamischer Daten 136 decodiert werden, um den Lieferanten zu informieren, dass die Chemikalie einer Temperatur von über 30 °C ausgesetzt war und dass der Inhalt des Behälters möglicherweise einen thermischen Abbau erfahren hat. Das Bereitstellen eines 2D-Strichcodes mit dem Satz dynamischer Daten 136 im redundanten Raum ermöglicht es einer Person vorteilhafterweise, ein Lesegerät zu verwenden, um den 2D-Strichcode sowohl vor als auch nach der Aktivierung der dynamischen Tinte aus dem Satz dynamischer Daten 136 in einem ersten Zustand zum Darstellen eines Satzes dynamischer Daten 136 in einem zweiten Zustand zu lesen. Beispielsweise ist der ursprüngliche 2D-Strichcode noch lesbar und ermöglicht es einem Leser, den Satz statischer Daten 134, wie beispielsweise Seriennummer, Chargennummer und Fertigungsnummer, zu erhalten, selbst nachdem sich der Satz dynamischer Daten 136 in einem zweiten Zustand befindet, wodurch vorteilhaft möglich ist, dass sowohl der Satz statischer Daten 134 als auch der Satz dynamischer Daten 136 auf demselben 2D-Strichcode gedruckt werden, ohne die statischen Daten 134 zu verlieren, wenn der Satz dynamischer Daten 136 vom ersten in den zweiten Zustand wechselt.
  • In einer anderen beispielhaften Ausführungsform kann sich die dynamische Tinte in Reaktion auf einen Umgebungsfaktor kontinuierlich ändern. Zum Beispiel kann der Sensorfarbstoff die Farben in Reaktion auf das Auftreten einer Umgebungsbedingung wie Zeit, Temperatur oder Zeit-Temperatur-Produkt ändern. Beispielsweise kann es für einen Produktbenutzer vorteilhaft sein, die verbleibende Produktlebensdauer zu kennen, anstatt nur zu wissen, ob das Produkt bereits abgelaufen ist oder nicht. Beispielsweise kann die Lebensdauer von Produkten, die sich dem Verfallsdatum nähern, verlängert werden, wenn sie in einem niedrigeren Zustand gehalten oder einer bestimmten Umweltbedingung weniger ausgesetzt werden. Darüber hinaus kann der Verbrauch oder die Verwendung von Produkten, die sich kurz vor dem Verfallsdatum befinden, priorisiert werden, wodurch vorteilhafterweise Abfall reduziert wird. Durch die Verwendung eines Sensorfarbstoffs, der die Farbe kontinuierlich ändert, kann das Produktleben über die gesamte Produktlebensdauer und die gesamte Lieferkette hinweg bestimmt werden.
  • Eine Sensorfarbstoffchemie wird verwendet, um die Änderung des Zustands einer erfassten Umwelt- oder medizinischen Eigenschaft zu erkennen. Da Data-Matrix-Module entweder nominell schwarz oder weiß sind, können 6 Arten von Sensorfarbstoffchemien verwendet werden, wie in Tabelle 1 gezeigt. Hier bezieht sich „B“ auf den schwarzen Farbzustand; „W“ bezieht sich auf den weißen Farbzustand; und „X“ bezieht sich auf den Farbstoff in einem transparenten Farbzustand. Tabelle 1. Typen und Farbeigenschaften ausgewählter Sensorfarbstoffchemien
    Sensorfarbstoffchemie Nicht aktivierter Zustand Aktivierter Zustand
    W→X Weiß Transparent
    W→B Weiß Schwarz
    B→W Schwarz Weiß
    B→X Schwarz Transparent
    X→W Transparent Weiß
    X→B Transparent Schwarz
  • Es wird angenommen, dass schwarze und weiße Farbzustände undurchsichtig sind und somit die zugrundeliegende Farbe entweder im schwarzen oder im weißen Zustand verbergen. Befindet sich ein Farbstoff jedoch im transparenten Farbzustand (X), ist die zugrundeliegende Farbe jetzt sichtbar.
  • Da Sensorfarbstoff-Modulmuster entweder auf Schwarz- oder Weißmodulen des Data-Matrix-Symbols überdruckt oder anstelle von Data-Matrix-Modulen gedruckt werden können, ändert sich der Farbzustand der Sensorfarbstoffmodule im Data-Matrix-Symbol bei Aktivierung der Sensorfarbstoffchemie. Unterschiedliche Systeme für die Sensorfarbstoffchemie haben unterschiedliche Eigenschaften hinsichtlich der Codierung von Sensordaten.
  • Die Sensorfarbstoffsysteme, die vom farbigen in den transparenten Zustand übergehen, werden typischerweise mit einem zugrundeliegenden Bitmuster verwendet, das in der Data Matrix gedruckt ist, und alle Bits in diesem Muster werden mit Sensorfarbstoff bedeckt, wodurch ein einheitlicher schwarzer oder weißer Farbzustand, der diese Module bis zur Aktivierung bedeckt, erzeugt wird. Nach der Aktivierung wird der Sensorfarbstoff transparent und das zugrundeliegende Bitmuster im Data-Matrix-Strichcode ist sichtbar. Alternativ können Farbstoffsysteme, die von einem transparenten Farbzustand in einen schwarzen oder weißen Farbzustand übergehen, selektiv Module eines einheitlichen schwarzen oder weißen Musters bedecken, das in dem Data-Matrix-Symbol gedruckt ist, und bei Aktivierung sind die im Sensorfarbstoff-Modulmuster codierten Daten nun sichtbar. Dieses letztere System hat den Vorteil, dass die sensorfarbstoffcodierten Daten zum Zeitpunkt des Druckens der Sensorfarbstoffmodule bestimmt werden können, was zu einem anderen Zeitpunkt und an einem anderen Ort als das Vordrucken des Data-Matrix-Symbols erfolgen kann.
  • In dem Beispiel kann die verwendete Sensorfarbstoffchemie Modul für Modul genau über ein vorgedrucktes Data-Matrix-Modul oder anstelle des Data-Matrix-Moduls gedruckt werden. Dies kann beispielsweise auf einer Mehrstationen-Druckmaschine erfolgen. Ein weiteres Verfahren hierfür ist die bedarfsgesteuerte Verwendung eines piezoelektrischen 2-Kanal-Tintenstrahldruckers, bei dem ein Kanal schwarze Tinte zum Drucken der Data Matrix enthält und der andere Kanal Sensorfarbstoff enthält, die entweder auf oder anstelle von Data-Matrix-Modulen gedruckt werden sollen. Das endgültige Data-Matrix-Symbol, ergänzt durch Sensormodule, ist ein Beispiel für ein „sensorgestütztes zweidimensionales Strichcodesymbol“.
  • Wenn ein 2-Kanal-Tintenstrahldrucker verwendet wird, sollte die verwendete Sensorfarbstoffchemie zum Zeitpunkt des Drucks bekannt sein, insbesondere, wenn Sensormodule anstelle von normal gedruckten Data-Matrix-Symbolmodulen gedruckt werden.
  • Bei überdruckten Sensormodulen, bei denen die Sensorfarbstoffchemie zum Zeitpunkt des Drucks der zugrundeliegenden Data Matrix bekannt ist, können Anzeigebits selbst codiert werden, die das verwendete Farbstoffsystem angeben. Anzeigebits in der zugrundeliegenden Data Matrix werden mit Sensorfarbstoffmodulen überdruckt. Die Verwendung dieser Anzeigebits ermöglicht es dem Data-Matrix-Leser, zu erfahren, welches Farbstoffsystem verwendet wird und welchen Aktivierungszustand es hat, und um auf diese Weise ein gescanntes Data-Matrix-Symbol zu interpretieren.
  • Man beachte, dass in Tabelle 2 für jedes Anzeigebit 0 = weiß und 1 = schwarz ist. Nur die 4 häufigsten Farbstoffchemien, bei denen einer der Zustände transparent und der andere entweder schwarz oder weiß ist, werden durch die Anzeigebits codiert. Tabelle 2. Anzeigebits für die gebräuchlichsten Sensorfarbstoffchemien
    Sensorfarbstoffsystem Data Matrix gedruckte Bits 3.6 und 3.7 Anzeige vor Sensoraktivierung Anzeige nach Sensoraktivierung
    W→X 11 00 11
    B→X 00 11 00
    X→B 10 10 11
    X→W 01 01 00
  • Der Wert der gedruckten Anzeigebits kann aus dem gescannten Bild wiederhergestellt werden, unabhängig davon, ob vor oder nach der Sensoraktivierung, und kann mit den aus der zugrundeliegenden Data Matrix gelesenen Anzeigebits verglichen werden. Dann werden sowohl das Farbstoffsystem als auch der Aktivierungszustand gemäß Tabelle 3 bestimmt. Tabelle 3. Wiederherstellen des Aktivierungszustands und der Anzeigebits aus dem gescannten Bild
    Zugrundeliegende Data-Matrix-Anzeigebits Gescannte Anzeigebits Sensorfarbstoffsystem Sensorfarbstoffzustand
    00 00 B→X Aktiviert
    00 11 B→X Nicht aktiviert
    01 00 X→W Aktiviert
    01 01 X→W Nicht aktiviert
    10 10 X→B Nicht aktiviert
    10 11 X→B Aktiviert
    11 00 W→X Nicht aktiviert
    11 11 X→W Aktiviert
  • Die Farbwerte der Sensorfarbstoffmodule selbst können verwendet werden, um Sensordaten zu codieren, die bei Aktivierung des Sensorfarbstoffs nur aufgrund einer Änderung des Modulfarbstoffzustands sichtbar werden oder sich ändern.
  • Das Codieren dieser Sensordaten selbst in einem Fehlerkorrekturcode ist nützlich, wenn der Aktivierungsschwellenwert für die Sensorfarbänderung nicht für jedes Sensorfarbstoffmodul genau ist; wobei der gesamte sensorgestützte zweidimensionale Strichcode möglicherweise nicht gleichmäßig dem Zustand ausgesetzt war, der jedes Sensorfarbstoffmodul aktivierte; oder wenn Sensormodule ggf. fehlen oder beschädigt sind.
  • Hier wird angenommen, dass die Farben des Sensormoduls auf 0 oder 1 binarisiert werden können. Zum Beispiel können 5 Bits von Sensormodul-Farbdaten zwei nützliche Datenelemente codieren: den Sensorprodukttyp und die Aktivierungsbedingung. Die zugehörigen Parameter können unter Verwendung interner Tabellen codiert werden, die durch den 5-Bit-Datenwert indiziert sind.
  • Viele Arten von Fehlerkorrekturcodes können verwendet werden, um digitale Sensorinformationen zu codieren. Typischerweise ist ein Sensorfarbstoffbitmuster von binär codierten Sensordaten codiert. Nützliche Fehlerkorrekturcodes beinhalten Hamming-Codes, Bose-Chaudhuri-Hocquenghem-Codes, Golay-Codes, Simplex-Codes, Reed-Muller-Codes, Fire-Codes, Faltungscodes und Reed-Solomon-Codes.
  • Beispielsweise sind Bose-Chaudhuri-Hocquenghem BCH (n, k, t) Binärfehlerkorrekturcodes zum Codieren eines Strings von Binärdaten hinlänglich bekannt; hier befindet sich ein String von k Bits innerhalb eines n-Bit-Längencodes mit T Fehlerkorrekturbits. Bis zu (t div 2) Bits können fehlerkorrigiert werden. Beispielsweise verwenden die zweidimensionalen QR-Code- und Ultracode-Strichcode-Symbologien einen BCH-Code (15, 5, 7), der k = 5 Bits in n = 15 Bits codieren und bis zu (7 Div 2) = 3 Bit-Fehler korrigieren kann. Es gibt Decodierungs- und Fehlerkorrekturstandardtechniken zum Decodieren und zur Fehlerkorrektur dieser Codes. Tabelle C.1 in Anhang C der ISO/IEC 18004 Information technology - Automatic identification and data capture techniques - QR Code 2005 barcode symbology specification enthält die vollständigen 15-Bit-Codesequenzen für die Datenwerte 0, 1 ... 31. ISO/IEC 18004 Tabelle C.1 ist in Tabelle 4 zusammengefasst. Die Datenwerte 0 und 31 sind reserviert und dürfen nicht codiert werden, da sie nicht aktivierte Farbstoffmodulzustände darstellen: Datenwert 0 (alle BCH-Bits = 0) für Sensorfarbstoffchemien W→X und W→B; Datenwert 31 (alle BCH-Bits = 1) für Sensorfarbstoffchemien B→X und B→W. Tabelle 4. BCH-(15, 5, 3)-Codierung von 5 Bits Sensordaten
    5-Bit-Daten BCH(15, 5, 3)-Codierung
    Wert Bit 15 Bits 14→8 Bits 7→1
    0 0 0000000 0000000
    1 0 0001010 0110111
    2 0 0010100 1101110
    3 0 0011110 1011001
    4 0 0100011 1101011
    5 0 0101001 1011100
    6 0 0110111 0000101
    7 0 0111101 0110010
    8 0 1000111 1010110
    9 0 1001101 1100001
    10 0 1010011 0111000
    11 0 1011001 0001111
    12 0 1101110 0111101
    13 0 1101110 0001010
    14 0 1110000 1010011
    15 0 1111010 1100100
    16 1 0000101 0011011
    17 1 0001111 0101100
    18 1 0010001 1110101
    19 1 0011011 1110101
    20 1 0100110 1000000
    21 1 0101100 1000111
    22 1 0110010 0011110
    23 1 0111000 0101001
    24 1 1000010 1001101
    25 1 1001000 1111010
    26 1 1010110 0100011
    27 1 1011100 0010100
    28 1 1100001 0100110
    29 1 1101001 0010001
    30 1 1110101 1001000
    31 1 1111111 1111111
  • Die Wiederherstellung der Sensorbitdaten, wenn BCH (15, 5, 7) in einem Data-Matrix-Symbol codiert ist (unabhängig davon, ob die Sensorbits aktiviert wurden oder nicht), kann durchgeführt werden, indem zuerst die digitalen Sensorinformationen vom Scannen und Decodieren auf dem sensorgestützten zweidimensionalen Strichcodesymbol wiederhergestellt werden. Extrahieren Sie aus dem speziellen Muster des Sensorfarbenmoduls die 15-Bit-BCH-codierte Binärzahl. Beachten Sie, dass es viele Standardmethoden zum Decodieren und zur Fehlerkorrektur von BCH-codierten Daten gibt. Der klassische Peterson-Gorenstein-Zierler-Decoder ist in RE Blahut, „Theory and Practice of Error Control Codes (korr. Ausgabe)“, 1983 (ISBN-10: 0-201-10102-5), S. 166, erörtert. Ein nützlicher und praktischer Algorithmus für eine BCH-(15, 5, 7)-Decodierung wird von SA Vanstone und PC van Oorschot, „An Introduction to Error Correcting Codes with Applications“, 1989 (ISBN-10: 0-7923-9017-2), S. 219, bereitgestellt. Extrahieren Sie die 5-Bit-Sensordaten mit einer beliebigen Methode zum Decodieren und zur Fehlerkorrektur von BCH (15,5,7) codierten Daten.
  • Andere Arten digitaler Sensorinformationen können in dem Sensorfarbstoff-Modulmuster codiert sein. Dies schließt visuelle Muster und Bilder jeglicher Art ein, wie ISO- oder ANSI- oder ISO-Warnzeichen und -Symbole oder jede andere Art von gestalteter Grafik. Die Anzahl der Bits, die codiert werden, und die Anzahl der Utahs, die in dem Prozess absichtlich beschädigt werden (was durch die physische Ausdehnung des visuellen Musters auf dem zugrundeliegenden Data-Matrix-Symbol beeinflusst wird), sowie die Größe der zugrundeliegenden Data Matrix und deren verfügbarer Anzahl von RSEC-Codewörter wirken sich allesamt auf das visuelle Muster und die Bildcodierungsfähigkeit aus.
  • Sensorfarbstoff-Modulmuster können auch codiert werden, nachdem das zugrundeliegende Data-Matrix-Symbol vorgedruckt wurde. Auf diese Weise können verschiedene Technologien zum Drucken der zugrundeliegenden Data Matrix und zum späteren Drucken des Sensorfarbstoff-Modulmusters verwendet werden. Dies ermöglicht auch die Verwendung verschiedener Arten von Sensorfarbstoffchemien auf einer zuvor gedruckten Data Matrix, ohne dass diese Sensorfarbstoffchemie zum Zeitpunkt des Drucks der zugrundeliegenden Data Matrix selbst bekannt war.
  • In einer beispielhaften Ausführungsform kann ein nicht privilegierter Leser in der Lage sein, die statischen Daten 134 zu lesen, und kann möglicherweise nicht in der Lage sein, die dynamischen Daten 136 des 2D-Strichcodes zu lesen. In einer anderen beispielhaften Ausführungsform können möglicherweise nur privilegierte Leser in der Lage sein, die statischen Daten 134 und die dynamischen Daten 136 des 2D-Strichcodes zu lesen. In einigen Fällen kann das Vorhandensein dynamischer Daten 136 auf einem Strichcode, die von nicht privilegierten Lesern nicht gelesen werden können, vorteilhafterweise einem Hersteller oder Lieferanten ermöglichen, Informationen auf einem 2D-Strichcode aufzunehmen, die er möglicherweise nicht der Öffentlichkeit oder einem Kunden zur Verfügung stellen möchte. Ein privilegierter Leser, der sowohl die statischen Daten 134 als auch die dynamischen Daten 136 lesen kann, ermöglicht es vorteilhafterweise einer Person, die den privilegierten Leser verwendet, außerdem, sowohl die statischen Daten 134 als auch die dynamischen Daten 136 zu erhalten, ohne mehrere Leser verwenden zu müssen.
  • 5 ist ein Flussdiagramm 500, das einen beispielhaften 2D-Strichcode darstellt, der unter Verwendung des Prozesses 400 gedruckt wurde. Wie in 5 gezeigt, wird der 2D-Strichcode durch einen Prozess 502 mit einer codierten Version des Satzes dynamischer Daten auf dem dynamischen Bereich 192 gedruckt. In diesem Beispiel wird der Satz dynamischer Daten 136 auf eine Vielzahl von nicht verwendeten Bits 120 in der unteren rechten Ecke des 2D-Strichcodes gedruckt. Die dynamische Tinte 198 wird in den oberen linken und unteren rechten Informationsmodulen der Vielzahl von nicht verwendeten Bits 120 verwendet. Nachdem der dynamische Bereich mit der dynamischen Tinte 198 gedruckt wurde, befindet sich der Strichcode in einem ersten Zustand 504 (d. h., die dynamische Tinte 198 wurde noch nicht aktiviert). Die dynamische Tinte 198, die in dem dynamischen Bereich 192 verwendet wird, wird bei Exposition gegenüber einer spezifizierten Umgebungsänderung 506 zu einer festen schwarzen Farbe aktiviert. Sobald der 2D-Strichcode der Umgebungsänderung 506 ausgesetzt ist, ändert sich der Satz dynamischer Daten 136 in dem dynamischen Bereich 192 und der 2D-Strichcode ändert sich in einen zweiten Zustand 508 und übermittelt die Information der Umgebungsänderung 506 an einen Leser.
  • 6A ist eine Textdarstellung eines Satzes statischer Daten 134 und eines Satzes dynamischer Daten 136, die in einen 2D-Strichcode codiert werden können, und 6B ist ein Beispiel für dynamische Textdaten, die als binäre Informationsmodule codiert sind. 6C und 6D sind Flussdiagramme, die die dynamischen Daten eines 2D-Strichcodes darstellen, der von einem ersten in einen zweiten Zustand wechselt. Zum Beispiel enthält der Satz statischer Daten 134 Produktinformationen wie die Seriennummer (SN), die Fertigungsnummer (BN) und die Chargennummer (LN). In diesem Beispiel lautet die Seriennummer 498760003, die Fertigungsnummer 654 und die Chargennummer 35A1. Der Satz statischer Daten 134 ändert sich nicht. Zusätzlich ist der Satz dynamischer Daten 136 in 6A in einem ersten Zustand 210 (oben) und einem zweiten Zustand 212 (unten) gezeigt. Zum Beispiel kann der Satz dynamischer Daten 136 mit einer dynamischen Tinte 198 gedruckt werden, die sich von einem ersten Zustand 210 in einen zweiten Zustand 212 ändert, wenn eine Expositionsgrenztemperatur über 30 °C erreicht wurde. Die Textdarstellung des Satzes dynamischer Daten 136 im ersten Zustand 210 ist „<“ (d. h. kleiner als) die in dem Satz statischer Daten 134 spezifizierte Expositionsgrenztemperatur und die Textdarstellung des Satzes dynamischer Daten 136 im zweiten Zustand 212 ist „>“ (d. h. größer als) die in dem Satz statischer Daten 134 spezifizierte Expositionsgrenztemperatur, in diesem Fall 30 °C. In einer beispielhaften Ausführungsform kann der 2D-Strichcode unter Verwendung einer binären 8-Bit-Darstellung des Satzes statischer Daten 134 und des Satzes dynamischer Daten 136 codiert werden, wie in 6B gezeigt. Beispielsweise kann die Binärdarstellung von „<“ „00111100“ sein und die Binärdarstellung von „>“ kann „00111110“ sein. In dem vorliegenden Beispiel sind Binäre-Null-(0)-Bits weiß und Binäre-Eins-(1)-Bits schwarz gefärbt. Es versteht sich, dass verschiedene andere Farbkombinationen verwendet werden können, um den 2D-Strichcode zu drucken, und verschiedene andere Codierungsmethodiken verwendet werden können. Die Farben der Schwarzweiß- und Binärcodierung (8-Bit) wurden zu Veranschaulichungszwecken angegeben. 6C stellt einen 2D-Strichcode dar, wobei der Satz dynamischer Daten 136 in einem ersten Zustand 210 in Reaktion auf eine Umgebungsänderung, wie z. B. einen Temperaturanstieg auf über 30 °C, in einen zweiten Zustand 212 übergeht. Beispielsweise zeigt die dynamische Tinte 198, die in dem in 6C dargestellten 2D-Strichcode verwendet wird, eine dynamische Tinte 198, die in Reaktion auf eine Temperatur, die höher als die Expositionsgrenztemperatur ist, von weiß auf schwarz aktiviert wird. In einer anderen beispielhaften Ausführungsform, die in 6D gezeigt ist, kann die dynamische Tinte 198 in Reaktion auf eine Umgebungsänderung 506, wie z. B. Gefrieren oder Exposition gegenüber einer Expositionsgrenztemperatur von unter 0 °C, von schwarz zu weiß aktiviert werden.
  • 7 beinhaltet ein Flussdiagramm eines beispielhaften Prozesses 420 zum Bereitstellen eines 2D-Strichcodes, wie in 8 dargestellt, der nachstehend ausführlicher erörtert wird. Obwohl der Prozess 420 unter Bezugnahme auf das in 7 dargestellte Flussdiagramm beschrieben wird, versteht es sich, dass viele andere Verfahren zum Ausführen der mit dem Prozess 420 verbundenen Handlungen verwendet werden können. Zum Beispiel kann die Reihenfolge vieler der Blöcke geändert werden, viele Blöcke können intermittierend wiederholt oder kontinuierlich ausgeführt werden; es können bestimmte Blöcke mit anderen Blöcken kombiniert werden und viele der beschriebenen Blöcke sind optional oder können nur bedingt ausgeführt werden.
  • Der beispielhafte Prozess 420 kann mit dem Bestimmen eines Satzes statischer Daten 134 beginnen (Block 422). Beispielsweise kann der Satz statischer Daten 134 eine Seriennummer, eine Fertigungsnummer und/oder eine Chargennummer usw. sein. Als nächstes wird ein Satz dynamischer Daten 136 bestimmt (Block 424). In einer beispielhaften Ausführungsform kann der Satz dynamischer Daten 136 einen ersten Zustand 210 und einen zweiten Zustand 212 aufweisen. Beispielsweise können die dynamischen Daten 136 in einem ersten Zustand keinem UV-Licht ausgesetzt werden, während die dynamischen Daten 136 in einem zweiten Zustand UV-Licht ausgesetzt werden können. Zusätzlich können die dynamischen Daten 136 in einem ersten Zustand eine Temperatur von weniger als 30 °C sein, während die dynamischen Daten 136 in einem zweiten Zustand eine Temperatur von mehr als 30 °C sein können. Dann wird ein erster 2D-Strichcode erzeugt (Block 426). Beispielsweise kann ein Computer den ersten 2D-Strichcode basierend auf Eingaben des Satzes statischer Daten 134 und des Satzes dynamischer Daten 136 in dem ersten Zustand 210 erzeugen. In einer beispielhaften Ausführungsform kann der erste 2D-Strichcode eine codierte Version des Satzes statischer Daten und die codierte Version des Satzes dynamischer Daten 196 in dem ersten Zustand 210 beinhalten. Zusätzlich können der Satz statischer Daten 134 und der Satz dynamischer Daten 136 in dem ersten Zustand 210 eine erste Vielzahl von Informationsmodulen 218 und eine zweite Vielzahl von Informationsmodulen 220 umfassen. Beispielsweise können die erste Vielzahl von Informationsmodulen 218 schwarze Module sein und die zweite Vielzahl von Informationsmodulen 220 können weiße Informationsmodule sein. Dann wird ein zweiter 2D-Strichcode erzeugt (Block 428). Beispielsweise kann ein Computer den zweiten 2D-Strichcode basierend auf Eingaben des Satzes statischer Daten 134 und des Satzes dynamischer Daten 136 in dem zweiten Zustand 212 erzeugen. In einer beispielhaften Ausführungsform kann der zweite 2D-Strichcode eine codierte Version des Satzes statischer Daten und eine codierte Version des Satzes dynamischer Daten 196 in dem zweiten Zustand 212 beinhalten. Zusätzlich können der Satz statischer Daten 134 und der Satz dynamischer Daten 136 in dem zweiten Zustand 212 eine dritte Vielzahl von Informationsmodulen 224 und eine vierte Vielzahl von Informationsmodulen 226 beinhalten. Beispielsweise kann die dritte Vielzahl von Informationsmodulen 224 schwarze Module sein und kann die vierte Vielzahl von Informationsmodulen 226 weiße Informationsmodule sein. Es versteht sich, dass die erste Vielzahl von Informationsmodulen 218 und die dritte Vielzahl von Informationsmodulen 224 weiß sein können, während die zweite Vielzahl von Informationsmodulen 220 und die vierte Vielzahl von Informationsmodulen 226 schwarz sein können. Ferner versteht sich, dass die erste Vielzahl von Informationsmodulen 218 und die dritte Vielzahl von Informationsmodulen 224 und/oder die zweite Vielzahl von Informationsmodulen 220 und die vierte Vielzahl von Informationsmodulen 226 verschiedene Farben, Transparenzniveaus und aufweisen können/oder Reflexionsgrade aufweisen oder irgendeine andere geeignete Eigenschaft aufweisen, die es ermöglicht, dass der 2D-Strichcode für einen Leser lesbar ist. In einer beispielhaften Ausführungsform kann die dritte Vielzahl von Informationsmodulen 224 alle der ersten Vielzahl von Informationsmodulen 218 plus einen Satz von einem oder mehreren Informationsmodulen 228 beinhalten. Zusätzlich kann die zweite Vielzahl von Informationsmodulen 220 alle der vierten Vielzahl von Informationsmodulen 226 plus den Satz von einem oder mehreren Informationsmodulen 228 umfassen. Vergleichen Sie dann den ersten 2D-Strichcode und den zweiten 2D-Strichcode (Block 430). Beispielsweise können der erste 2D-Strichcode und der zweite 2D-Strichcode Binärdaten mit Werten von Null (0) oder Eins (1) beinhalten, die jedem Informationsmodul entsprechen können, das für einen Binärwert von Null (0) Weiß gefärbt ist und für einen binären Wert von Eins (1) Schwarz gefärbt ist. Kategorisieren Sie dann die Informationsmodule 214 in eine erste Gruppe 230 und eine zweite Gruppe 232 (Block 432). In einer beispielhaften Ausführungsform kann die erste Gruppe 230 gemeinsame Informationsmodule zwischen der ersten Vielzahl von Informationsmodulen 218 des ersten 2D-Strichcodes und der dritten Vielzahl von Informationsmodulen 224 des zweiten 2D-Strichcodes beinhalten. Zusätzlich kann die zweite Gruppe 232 eindeutige Informationsmodule der dritten Vielzahl von Informationsmodulen 224 des zweiten 2D-Strichcodes umfassen. Beispielsweise kann ein Computer alle schwarzen Informationsmodule, die dem ersten 2D-Strichcode und dem zweiten 2D-Strichcode gemein sind, in die erste Gruppe 230 kategorisieren. Zusätzlich kann der Computer alle schwarzen Informationsmodule, die für den zweiten 2D-Strichcode eindeutig sind (d. h. die Informationsmodule, die im ersten 2D-Strichcode weiß und im zweiten 2D-Strichcode schwarz waren), in die zweite Gruppe 232 kategorisieren. Dann drucken Sie den 2D-Strichcode unter Verwendung einer statischen Tinte 194 und einer dynamischen Tinte 198 (Block 434). In einer beispielhaften Ausführungsform kann die erste Gruppe 230 in der statischen Tinte 194 gedruckt sein und kann die zweite Gruppe 232 in der dynamischen Tinte 198 gedruckt sein. Zusätzlich kann die dynamische Tinte 198 angepasst sein, um in Reaktion auf das Auftreten eines spezifischen Umgebungsfaktors aktiviert zu werden. In einer beispielhaften Ausführungsform kann die dynamische Tinte 198 gegenüber einem Umgebungsfaktor wie Temperatur, Zeit, Zeit und Temperatur, Gefrieren, Strahlung, toxischen Chemikalien oder einer Kombination solcher Faktoren oder dergleichen empfindlich sein.
  • In einer beispielhaften Ausführungsform können die erste Vielzahl von Informationsmodulen 218 und die dritte Vielzahl von Informationsmodulen 224 angepasst sein, um visuell von einer Druckoberfläche 234 unterscheidbar zu sein, und können die dritte Vielzahl von Informationsmodulen 224 und die vierte Vielzahl von Informationsmodulen 226 visuell von der Druckoberfläche 234 nicht unterscheidbar sein. Es versteht sich, dass verschiedene Drucktechniken verwendet werden können, die das Drucken mit Tinte, Farbstoff, Farbe und/oder einem anderen geeigneten Material oder dergleichen umfassen. Zusätzlich können verschiedene andere Techniken verwendet werden, um das visuelle Erscheinungsbild der Druckoberfläche 234 des 2D-Strichcodes zu ändern, wie z. B. Ätzen, Brennen, Schmelzen, Entfernen von Material und/oder irgendein anderer Prozess, der zum Drucken eines 2D-Strichcodes geeignet ist. Beispielsweise kann eine Druckoberfläche 234 ein weißes Substrat beinhalten, das mit einer schwarzen Deckschicht bedeckt ist, die weggeätzt wird, um das weiße Substrat darunter freizulegen. Zusätzlich kann eine Druckoberfläche 234 ein blaues Substrat umfassen, das mit einer gelben Deckschicht bedeckt ist, zusammen mit verschiedenen anderen Farbkombinationen.
  • 8 ist ein Flussdiagramm, das einen beispielhaften Abschnitt eines 2D-Strichcodes darstellt, der unter Verwendung des Prozesses 420 gedruckt wurde. Wie in 8 gezeigt, ist der erste 2D-Strichcodeabschnitt 216 ein Abschnitt eines beispielhaften Strichcodes, der eine codierte Version eines Abschnitts des Satzes statischer Daten und eine codierte Version eines Abschnitts des Satzes dynamischer Daten 196 in einem ersten Zustand 210 beinhaltet. Der zweite 2D-Strichcodeabschnitt 222 ist der Abschnitt des beispielhaften Strichcodes, der die codierte Version des Abschnitts des Satzes statischer Daten und die codierte Version des Abschnitts des Satzes dynamischer Daten 196 in einem zweiten Zustand 212 beinhaltet. Alle schwarzen Informationsmodule sind die erste Gruppe 230 gemeinsamer Informationsmodule zwischen der ersten Vielzahl von Informationsmodulen 218 des ersten 2D-Strichcodeabschnitts 216 und der dritten Vielzahl von Informationsmodulen 224 des zweiten 2D-Strichcodeabschnitts 222. Zusätzlich können die in gestrichelten Linien umrissenen Informationsmodule die zweite Gruppe 232 von eindeutigen Informationsmodulen der dritten Vielzahl von Informationsmodulen 224 des zweiten 2D-Strichcodeabschnitts 222 sein. Beispielsweise kann die zweite Gruppe 232 von Informationsmodulen alle Informationsmodule beinhalten, die von Weiß auf Schwarz wechseln, wenn der Satz dynamischer Daten 136 vom ersten Zustand 210 zum zweiten Zustand 212 übergeht. Die Verwendung von nur einer dynamischen Tinte 198 ermöglicht vorteilhafterweise ein effizienteres und kostengünstigeres Drucken der 2D-Strichcodes. Zusätzlich reduziert die Verwendung von nur einer dynamischen Tinte 198 vorteilhafterweise das Risiko, dass der Code aufgrund eines Versatzes oder einer verzögerten Aktivierungszeit mehrerer dynamischer Tinten unlesbar wird. Es versteht sich, dass die hierin offenbarten beispielhaften Ausführungsformen in verschiedene 2D-Strichcodes übersetzt werden können, darunter ein Aztec-Code, Code 1, CrontoSign, CyberCode, DataGlyphs, Data Matrix, Datastrip-Code, EZcode, High Capacity Color Barcode, InterCode, MaxiCode, MMCC, NexCode, PDF417, Qode, QR-Code, ShotCode, SPARQCode und dergleichen.
  • 9 beinhaltet ein Flussdiagramm eines beispielhaften Prozesses 440 zum Erzeugen eines 2D-Strichcodes. Obwohl der Prozess 440 unter Bezugnahme auf das in 9 dargestellte Flussdiagramm beschrieben ist, versteht es sich, dass viele andere Verfahren zum Ausführen der mit dem Prozess 440 verbundenen Handlungen verwendet werden können. Zum Beispiel kann die Reihenfolge vieler der Blöcke geändert werden, viele Blöcke können intermittierend wiederholt oder kontinuierlich ausgeführt werden; es können bestimmte Blöcke mit anderen Blöcken kombiniert werden und viele der beschriebenen Blöcke sind optional oder können nur bedingt ausgeführt werden.
  • Der beispielhafte Prozess 440 kann mit dem Bestimmen eines Satzes statischer Daten 134 beginnen (Block 442). Beispielsweise kann der Satz statischer Daten 134 eine Seriennummer, eine Fertigungsnummer und/oder eine Chargennummer usw. sein. Als nächstes wird ein Satz dynamischer Daten 136 bestimmt (Block 444). In einer beispielhaften Ausführungsform kann der Satz dynamischer Daten 136 einen ersten Zustand 210 und einen zweiten Zustand 212 aufweisen. Der Satz dynamischer Daten 136 kann mehr als zwei Zustände haben. Beispielsweise kann der Satz dynamischer Daten 136 einen ersten Zustand 210, einen zweiten Zustand 212 (z. B. durch Überschreiten von 25 °C aktiviert) und einen dritten Zustand (z. B. durch Überschreiten von 40 °C aktiviert) aufweisen. Dann wird ein erster 2D-Strichcode erzeugt (Block 446). Beispielsweise kann ein Computer den ersten 2D-Strichcode basierend auf Eingaben des Satzes statischer Daten 134 und des Satzes dynamischer Daten 136 in dem ersten Zustand 210 erzeugen. In einer beispielhaften Ausführungsform kann der erste 2D-Strichcode eine codierte Version des Satzes statischer Daten und eine codierte Version des Satzes dynamischer Daten 196 in dem ersten Zustand 210 beinhalten. Zusätzlich können der Satz statischer Daten 134 und der Satz dynamischer Daten 136 in dem ersten Zustand 210 eine erste Vielzahl von Informationsmodulen 218 und eine zweite Vielzahl von Informationsmodulen 220 beinhalten. Beispielsweise kann die erste Vielzahl von Informationsmodulen 218 schwarze Module sein und kann die zweite Vielzahl von Informationsmodulen 220 weiße Informationsmodule sein. Dann wird ein zweiter 2D-Strichcode erzeugt (Block 448). Beispielsweise kann ein Computer den zweiten 2D-Strichcode basierend auf Eingaben des Satzes statischer Daten 134 und des Satzes dynamischer Daten 136 in dem zweiten Zustand 212 erzeugen. In einer beispielhaften Ausführungsform kann der zweite 2D-Strichcode eine codierte Version des Satzes statischer Daten und eine codierte Version des Satzes dynamischer Daten 196 in dem zweiten Zustand 212 umfassen. Zusätzlich können der Satz statischer Daten 134 und der Satz dynamischer Daten 136 in dem zweiten Zustand 212 eine dritte Vielzahl von Informationsmodulen 224 und eine vierte Vielzahl von Informationsmodulen 226 beinhalten. Beispielsweise kann die dritte Vielzahl von Informationsmodulen 224 schwarze Module sein und kann die vierte Vielzahl von Informationsmodulen 226 weiße Informationsmodule sein. Es versteht sich, dass die erste Vielzahl von Informationsmodulen 218 und die dritte Vielzahl von Informationsmodulen 224 weiß sein können, während die zweite Vielzahl von Informationsmodulen 220 und die vierte Vielzahl von Informationsmodulen 226 schwarz sein können. Ferner versteht sich, dass die erste Vielzahl von Informationsmodulen 218 und die dritte Vielzahl von Informationsmodulen 224 und/oder die zweite Vielzahl von Informationsmodulen 220 und die vierte Vielzahl von Informationsmodulen 226 verschiedene Farben, Transparenz- oder Opazitätsniveaus und/oder Reflexions- und Absorptionsniveaus aufweisen oder irgendeine andere geeignete Eigenschaft aufweisen, die es ermöglicht, dass der 2D-Strichcode für einen Leser lesbar ist. Dann wird der erste 2D-Strichcode mit dem zweiten 2D-Strichcode verglichen (Block 450). Beispielsweise können der erste 2D-Strichcode und der zweite 2D-Strichcode Binärdaten mit Werten von Null (0) oder Eins (1) umfassen, die jedem Informationsmodul entsprechen können, das für einen Binärwert von Null (0) Weiß gefärbt ist und für einen binären Wert von Eins (1) Schwarz gefärbt ist. Dann werden die Informationsmodule in eine erste Gruppe 230, eine zweite Gruppe 232 und eine dritte Gruppe kategorisiert (Block 452). In einer beispielhaften Ausführungsform kann die erste Gruppe 230 gemeinsame Informationsmodule zwischen der ersten Vielzahl von Informationsmodulen 218 des ersten 2D-Strichcodes und der dritten Vielzahl von Informationsmodulen 224 des zweiten 2D-Strichcodes umfassen. Zusätzlich kann die zweite Gruppe 232 eindeutige Informationsmodule der dritten Vielzahl von Informationsmodulen 224 des zweiten 2D-Strichcodes beinhalten. In einer beispielhaften Ausführungsform kann die dritte Gruppe eindeutige Informationsmodule der ersten Vielzahl von Informationsmodulen 218 des ersten 2D-Strichcodes beinhalten. Beispielsweise kann ein Computer alle schwarzen Informationsmodule, die dem ersten 2D-Strichcode und dem zweiten 2D-Strichcode gemein sind, in die erste Gruppe 230 kategorisieren. Zusätzlich kann der Computer alle schwarzen Informationsmodule, die für den ersten 2D-Strichcode eindeutig sind, in eine dritte Gruppe kategorisieren (d. h. die Informationsmodule, die im ersten 2D-Strichcode schwarz, im zweiten 2D-Strichcode jedoch weiß sind). Der Computer kann auch alle schwarzen Informationsmodule, die für den zweiten 2D-Strichcode eindeutig sind, in eine zweite Gruppe 232 kategorisieren (d. h. die Informationsmodule, die im ersten 2D-Strichcode weiß waren, im zweiten 2D-Strichcode jedoch schwarz sind). Dann wird der 2D-Strichcode unter Verwendung einer statischen Tinte 194, einer ersten dynamischen Tinte und einer zweiten dynamischen Tinte gedruckt (Block 454). In einer beispielhaften Ausführungsform kann die erste Gruppe 230 in der statischen Tinte 194 gedruckt sein. Zusätzlich kann die zweite Gruppe 232 in der ersten dynamischen Tinte gedruckt werden. Die erste dynamische Tinte kann angepasst sein, um in Reaktion auf das Auftreten eines spezifischen Umgebungsfaktors aktiviert zu werden. Ferner kann die dritte Gruppe in einer zweiten dynamischen Tinte gedruckt sein und die zweite dynamische Tinte kann angepasst sein, um in Reaktion auf das Auftreten des spezifischen Umgebungsfaktors aktiviert zu werden. Zum Beispiel kann die erste dynamische Tinte in Weiß gedruckt werden und bei Erreichen von 30 °C in Schwarz aktiviert werden, und kann die zweite dynamische Tinte kann in Schwarz gedruckt werden und bei Erreichen von 30 °C in Weiß aktiviert werden. Es versteht sich, dass die erste und die zweite dynamische Tinte in mehreren Farbkombinationen gedruckt werden können. In einer beispielhaften Ausführungsform können die erste dynamische Tinte und die zweite dynamische Tinte gegenüber einem Umgebungsfaktor, wie beispielsweise Temperatur, Zeit, Zeit und Temperatur, Gefrieren, Strahlung, toxische Chemikalien oder eine Kombination derartiger Faktoren oder dergleichen, empfindlich sein. Zusätzlich können in einer beispielhaften Ausführungsform die erste und die zweite dynamische Tinte gleichzeitig aktiviert werden. Beispielsweise können die erste und die zweite dynamische Tinte beide 72 Stunden nach dem Drucken aktiviert werden, sodass die erste dynamische Tinte von Weiß auf Schwarz wechselt und die zweite dynamische Tinte gleichzeitig von Schwarz auf Weiß wechselt. Zusätzlich können sowohl die erste als auch die zweite dynamische Tinte gleichzeitig aktiviert werden, nachdem ein Temperaturschwellenwert erreicht wurde (z. B. Genauigkeit innerhalb eines Temperaturbereichs von 0,1 °C). Wenn die erste und die zweite dynamische Tinte gleichzeitig aktiv sind, ist der 2D-Strichcode vorteilhafterweise jederzeit lesbar, da sich der 2D-Strichcode entweder in einem ersten Zustand (d. h. dem ersten 2D-Strichcode) oder in einem zweiten Zustand (d. h. dem zweiten 2D-Strichcode) befindet.
  • 10A, 10B und 10C sind Blockdiagramme eines beispielhaften Satzes von Informationsmodulen eines 2D-Strichcodes, der unter Verwendung eines Prozesses 440 gedruckt wurde. Insbesondere zeigt 10A die erste Vielzahl von Informationsmodulen 218 und die zweite Vielzahl von Informationsmodulen 220 des ersten 2D-Strichcodeabschnitts 216 (d. h., der Satz dynamischer Daten 136 befindet sich im ersten Zustand 210). 10B zeigt die dritte Vielzahl von Informationsmodulen 224 und die vierte Vielzahl von Informationsmodulen 226 des zweiten 2D-Strichcodeabschnitts 222 (d. h. der Satz dynamischer Daten 136 befindet sich im zweiten Zustand 212). 10C zeigt die erste Gruppe 230, die dritte Gruppe 238 und die zweite Gruppe 232 von Informationsmodulen von oben nach unten. Beispielsweise beinhaltet die erste Gruppe 230 gemeinsame Informationsmodule zwischen der ersten Vielzahl von Informationsmodulen 218 des ersten 2D-Strichcodeabschnitts 216 und der dritten Vielzahl von Informationsmodulen 224 des zweiten 2D-Strichcodeabschnitts 222, wobei diese Informationsmodule als kreuzschraffierte Module dargestellt sind. Die zweite Gruppe 232 beinhaltet eindeutige Informationsmodule der dritten Vielzahl von Informationsmodulen 224 des zweiten 2D-Strichcodeabschnitts 222, wobei diese Gruppe von Informationsmodulen in dem unteren Bild in 10C als ein schwarzes Modul dargestellt ist. Zusätzlich umfasst die dritte Gruppe 238 einzigartige Informationsmodule der ersten Vielzahl von Informationsmodulen 218 des ersten 2D-Strichcodeabschnitts 216, und diese Gruppe von Informationsmodulen ist in dem mittleren Bild von 10C durch schwarze Module dargestellt. In diesem Beispiel kann die erste Gruppe 230 in einer statischen Tinte 194 gedruckt sein, kann die zweite Gruppe 232 in einer ersten dynamischen Tinte 240 gedruckt sein und kann die dritte Gruppe 238 in einer zweiten dynamischen Tinte 242 gedruckt sein. Zum Beispiel kann die zweite Gruppe 232 mit einer ersten dynamischen Tinte 240 gedruckt werden, die angepasst ist, um in Reaktion auf das Auftreten eines spezifischen Umgebungsfaktors zu aktivieren (d. h. von Weiß zu Schwarz überzugehen). Zusätzlich kann die dritte Gruppe 238 mit einer zweiten dynamischen Tinte 242 gedruckt werden, die angepasst ist, um in Reaktion auf das Auftreten des spezifischen Umgebungsfaktors zu aktivieren (d. h. von Schwarz zu Weiß überzugehen). Es versteht sich, dass das Erzeugen eines 2D-Strichcodes mit mehr als einer dynamischen Tinte vorteilhafterweise ermöglicht, dass der 2D-Strichcode mit größeren Abschnitten sich ändernder dynamischer Daten gedruckt wird, die Fehlererfassungs- und Korrekturdaten 116 beinhalten können. Beispielsweise ist der 2D-Strichcode in der Lage, unter Verwendung mehrerer dynamischer Tinten mehrere verschiedene Bereiche des 2D-Strichcodes zu ändern, sodass ein nicht privilegierter Leser sowohl den Satz statischer Daten 134 als auch den Satz dynamischer Daten 136 in einer Vielzahl von Zuständen lesen kann, um eine Vielzahl von Ausgaben zu erhalten, ohne dass die Fehlererfassungs- und Korrekturdaten 116 eine bestimmte Ausgabe überschreiben.
  • In einem Beispiel können Module des Strichcodes kontinuierlich (im Gegensatz zu schrittweise) den Farbzustand in Reaktion auf Umgebungsbedingungen ändern. Beispielsweise beinhaltet ein sensorgestützter zweidimensionaler Strichcode ein Substrat mit zwei Überzügen, einer ersten Schicht und einer zweiten Schicht (z. B. Sensorschicht und Strichcodeschicht). Die Sensorschicht und die Strichcodeschichten können in einer Reihenfolge übereinander auf das Substrat gedruckt werden, sodass entweder die Sensorschicht oder die Strichcodeschicht die erste auf das Substrat gedruckte Schicht sein kann, wobei die andere die zweite (Deck-)Schicht ist. In der Strichcodeschicht kann ein zweidimensionales Fehlerkorrektur-Strichcodesymbol bereitgestellt werden, das in einem dauerhaften hellen (nominell „weißen“) oder dunklen (nominell „schwarzen“) Farbzustand bereitgestellt wird. Der Strichcode beinhaltet ferner eine Vielzahl von weißen und schwarzen Modulen, wobei die Module optional quadratisch, rechteckig oder kreisförmig sind. Die Sensorschicht umfasst einen Sensorfarbstoff, der eine Chemie aufweisen kann, die vorhersagbar auf eine bestimmte Umgebungsbedingung anspricht, eine kontinuierliche chemische oder physikalische Zustandsänderung zwischen einem Anfangszustand und einem Endzustand durchläuft, wobei eine kontinuierliche Farbänderung im Farbzustand des Sensorfarbstoffs verursacht wird. Die Sensorschicht kann optional ein oder mehrere Farbkalibrierungsfelder mit bekanntem Reflexionsvermögen beinhalten, die bei der Autokalibrierung des Strichcodescanners bei der Lesefarbe von Interesse verwendet werden sollen. Die Kalibrierungsfelder können als Teil der Sensorschicht vorgedruckt sein und entweder neben oder an bestimmten Modulpositionen innerhalb des sensorgestützten zweidimensionalen Strichcodes erscheinen.
  • Wie oben beschrieben, können sowohl das sensorische Farbstofffeld als auch der Strichcode auf dem Substrat bereitgestellt werden. In Abhängigkeit von der Reihenfolge des Druckens kann eine Schicht als Ganzes oder ein Teil davon auf einem Substrat bereitgestellt werden, ohne mit dem Substrat in Kontakt zu sein. Wenn beispielsweise ein Sensorfarbstofffeld auf einen Strichcode überdruckt wird, befinden sich Teile des Sensorfarbstofffelds möglicherweise nicht in direktem Kontakt mit dem Substrat. Ein Sensorfarbstofffeld kann auf ein Substrat gedruckt werden, und ein GS1-Data-Matrix-Strichcode kann auf dem Sensorfarbstofffeld überdruckt werden. Zusätzlich kann ein GS1-Data-Matrix-Strichcode auf das Substrat gedruckt werden, und das Sensorfarbstofffeld kann über den Strichcode gedruckt werden. Wie in 32A und 32B dargestellt, kann der Strichcode vor dem Drucken mit dem Sensorfarbstofffeld 3210 ausgerichtet werden, um sicherzustellen, dass das Sensorfarbstofffeld richtig innerhalb des Strichcodes positioniert ist (z. B. innerhalb des invarianten Bereichs positioniert ist). Beispielsweise kann das Sensorfarbstofffeld innerhalb des invarianten Bereichs des 2D-Strichcodes positioniert sein, sodass die obere linke Ecke (ULC) der Data Matrix mit der ULC des Felds ausgerichtet werden kann. Es versteht sich, dass das Sensorfarbstofffeld 3210 in anderen Bereichen innerhalb des 2D-Strichcodes positioniert werden kann. Zusätzlich kann das Sensorfarbstofffeld 3210 in der Nähe des 2D-Strichcodes positioniert werden, sodass es während des Scannens immer noch mit dem Strichcode assoziiert ist. Der überdruckte 2D-Strichcode kann eine oder mehrere Anwendungskennungen beinhalten, wie AI (01) für eine GTIN-14 des Produkts, eine AI (10) für die Chargennummer, eine AI (17) für den Produktverfall der Charge, AI (21) für eine Seriennummer des Zeit-Temperatur-Etiketts, und eine AI, die den Strichcode anzeigt, umfasst eine Temperaturexpositionsanzeige. Zusätzlich kann eine AI (90) oder ein anderer Teil der Data-Matrix-Strichcodedaten die Größe und/oder den Ort der Temperaturexpositionsanzeige identifizieren oder bilden, wie beispielsweise das „+“- förmige Sensorfarbstofffeld 3210 innerhalb des Strichcodes. Eine zusätzliche AI oder ein anderes Verfahren zur Datencodierung kann in dem 2D-Strichcode mit Parametern verwendet werden, die die Arrhenius-Kinetik der chemischen Reaktionsgleichung der Farbreaktion auf den spezifischen Umgebungsfaktor des Sensors beschreiben. Nachdem der Data-Matrix-Strichcode auf dem Sensorfarbstofffeld 3210 überdruckt wurde, wird das Produkt über seine normale Lieferkette an einen Endbenutzer verteilt.
  • Die Zeit-Temperatur-Anzeige (TTI) kann an jedem Punkt in der Lieferkette gescannt werden (z. B. mit einem Smartphone mit TTI-Leser-App oder einem anderen speziellen Strichcodeleser), um sicherzustellen, dass das mit TTI gekennzeichnete Produkt noch nicht verfallen ist. Sobald der 2D-Strichcode gescannt wurde und der prozentuale Reflexionsgrad der Sensorfarbstoffmodule bestimmt ist, kann das Strichcodelesegerät die verbleibende etikettierte Lebensdauer des Produkts, die verstrichene Lebensdauer des Produkts oder ein erwartetes Verfallsdatum bestimmen. Beispielsweise kann der Strichcodeleser das Verfallsdatum des Produkts anhand der verbleibenden Produktlebensdauer und der aktuellen Temperatur schätzen, wenn es kontinuierlich bei der Referenztemperatur und zusätzlich bei einer anderen niedrigeren Temperatur gelagert wurde.
  • Ein beispielhaftes Verfahren zum Lesen eines sensorgestützten zweidimensionalen Strichcodesymbols beinhaltet das Scannen und optische Verarbeiten eines Bildes des sensorgestützten zweidimensionalen Strichcodesymbols unter Verwendung eines Strichcodebildgebers oder einer Farbkamera unter Verwendung eines Pixelfarbidentifizierungssystems wie vorzugsweise sRGB, einschließlich des Erstellens einer gescannten Pixelkarte, die den vorzugsweise sRGB-Farbwert der Pixel in den gescannten Modulen des sensorgestützten zweidimensionalen Strichcodesymbols enthält. Der sRGB-Wert der Pixel in den gescannten Modulen enthält Farbbeiträge sowohl von der Strichcodeschicht als auch von der darunterliegenden oder überdruckten Sensorschicht.
  • Optional kann der Scanprozess das Lesen eines oder mehrerer vorgedruckter Farbkalibrierungsfelder beinhalten, die benachbart zum sensorgestützten zweidimensionalen Strichcodesymbol oder innerhalb dieses als Teil der gescannten Pixelkarte enthalten sind. Optional können diese Kalibrierungsfelder als Teil der Sensorschicht vorgedruckt sein und entweder benachbart zu oder an bestimmten Modulpositionen innerhalb des sensorgestützten zweidimensionalen Strichcodes erscheinen.
  • Die Pixel der Module in der gescannten Pixelkarte werden dann unter Verwendung von Schwellenwertalgorithmen und/oder Abstimmungsalgorithmen verarbeitet, um jedem Pixel einen binären Farbwert zuzuweisen, um eine gleich große binarisierte Pixelkarte zu bilden. Das 2D-Strichcodesymbol kann aus anderen grafischen Objekten in der binarisierten Pixelkarte identifiziert und dann kann der identifizierte 2D-Strichcode decodiert werden, um eine Symbolcodewortsequenz aus der binarisierten Pixelkarte zu konstruieren. In einem Beispiel kann die Farbwertzuweisung den Standard-RGB-Farbraum (sRGB) nach IEC 61966-2-1: 1999 verwenden.
  • Dann können zugrundeliegende Datencodewörter aus der Symbolcodewortsequenz wiederhergestellt werden, vorzugsweise unter Durchführung eines Fehlerkorrekturprozesses an der Symbolcodewortsequenz. In einem Beispiel ist der Fehlerkorrekturprozess die Reed-Solomon-Fehlerkorrektur.
  • Das Verarbeiten der Datencodewörter bestimmt dann den Ort, die Größe und die Parameter der Produktlebensdauergleichung des Sensorfarbstoffbereichs und zusätzlich, ob Kalibrierungsfelder vorhanden sind, und wenn ja, deren relativen Ort und ihren Referenzreflexionswert. Die Datencodewörter werden zur Identifizierung der Pixel der Strichcodemodule im Sensorfarbstoffbereich verarbeitet und die durchschnittliche sRGB-Farbe wird bestimmt. Zusätzlich kann das Verarbeiten der sRGB-Farbinformation optional alle oder einige der folgenden Schritte beinhalten: Erfassen des Reflexionsgrads des einfallenden Lichts von Pixeln, die im Sensorfarbstoffbereich beinhaltet sind, einschließlich sowohl umgebungsempfindlicher Pixel als auch Farbkalibrierungsfelder; Erzeugen eines farbigen digitalen Lichtfiltereffekts auf Reflexionsgraddaten von den Pixeln, um gefilterte sRGB-Werte für farbige Bilder zu erzeugen; Reduzieren der gefilterten Farbbildwerte auf Graustufenwerte und Erzeugen einer Graustufen-Pixelkarte; Korrigieren der Beziehung zwischen Graustufe und Reflexionsprozentsatz basierend auf den Farbkalibrierungsfelderten; und Bestimmen eines prozentualen Reflexionsgrads des einfallenden Lichts zur Scanabtastzeit. Wie hierin verwendet, kann eine Pixelkarte eine Karte von binären Bits (z. B. eine Bitmap), ternären Bits usw. sein. Beispielsweise kann eine Pixelkarte Graustufenwerte oder RGB-Farbwerte beinhalten.
  • Um die Produktlebensdaten zu erhalten, kann ein Bildsensor wie ein Smartphone mit einem TTI-App-Leser verwendet werden, um den 2D-Strichcode mit dem eingebetteten Sensorfarbstofffeld 3210 zu scannen. Beispielsweise kann das Bild von einem Bildsensor, wie beispielsweise der Smartphone-Kamera, unter Verwendung eines Blitzes, wie beispielsweise eines Smartphone-Weißblitzes, aufgenommen werden. Die Intensität des nominell weißen Blitzes kann das Umgebungslicht überdecken und die Farbtemperatur für die Bildaufnahme durch den sRGB-Sensor der Kamera einstellen. Der Bildsensor kann das Reflexionsgrad des einfallenden Weißlichts der Pixel, einschließlich jener Module (typischerweise, aber nicht notwendigerweise in dem invarianten Bereich), erfassen, die den Sensorfarbstoff umfassen. Anstatt dass das einfallende Licht eine bestimmte Farbe hat, kann ein physikalisches Farbfilter über dem Kameraobjektiv positioniert werden, wenn das sRGB-Bild aufgenommen wird. Alternativ kann ein Digitalfilter über der sRGB-Bildpixelkarte angewendet werden, um einen Farblichtfiltereffekt auf die Reflexionsgraddaten zu erzeugen. Beispielsweise kann das digitale Filter so programmiert sein, dass es das sRGB-Bild basierend auf einer geeigneten Mittenwellenlänge und eines geeigneten Bereichs wie bei einem Bandpassfilter verarbeitet. Dann können die gefilterten Farbbild-RGB-Werte auf einen Graustufenwert (z. B. einen Bereich von 0 bis 255) reduziert werden und es kann eine Graustufen-Pixelkarte für den Data-Matrix-Strichcode erstellt werden. In einem Beispiel kann der 2D-Strichcode codierte Daten beinhalten, um die geeigneten Eingaben bereitzustellen, und kann verwendet werden, um einen Strichcodeleser zum Lesen der Farbsättigung und/oder Dichte des Sensorfarbstofffelds 3210 zu programmieren. Beispielsweise kann der Strichcode durch codierte Daten und/oder Anwendungskennungen (Application Identifiers, Als) den Strichcodeleser automatisch so programmieren, dass er das Farbreflexionsvermögen des Sensorfarbstofffelds 3210 richtig erfasst. Die codierten Daten in den Anwendungskennungen können auch die geeigneten Parameter der Lebensdauergleichung beinhalten, sodass der Leser die verstrichene und/oder verbleibende Produktlebensdauer bei einer bestimmten Temperatur für das gescannte Produkt abschätzen kann.
  • Die Graustufen-Pixelkarte des Data-Matrix-Strichcodes kann dann verarbeitet werden, z. B. unter Verwendung eines Standard-Data-Matrix-Verfahrens wie ISO 16022 Data Matrix mit Modifikationen wie dem Ersetzen des ISO-15415-Global-Threshold-Algorithmus durch den Ultracode-Color-Strichcode-Symbology-Dual-Threshold-Ternary-Algorithmus, um die Pixel in schwarze Pixel, weiße Pixel und Farbpixel (d. h. weder schwarze noch weiße Pixel) zu trennen. Sobald die Farbpixel von den schwarzen und weißen Pixeln getrennt sind, können die verbleibenden schwarzen und weißen Pixel gemäß den Verfahren nach ISO 16022 verarbeitet werden. Zum Beispiel identifiziert diese Verarbeitungsmethode die quadratischen Modulpositionen und die Modulmitten in der Data-Matrix-Pixelkarte nur unter Verwendung der schwarzen und weißen Pixel. Das ISO-16022-Verfahren decodiert dann die Data Matrix und stellt die GS1-AI-Daten wieder her.
  • Wie oben diskutiert, kann eine Anwendungskennung die Größe, die Form und/oder den Ort der Sensorfarbstoffmodule identifizieren. Als nächstes kann als Beispiel eine Gruppe von Pixeln in jedem identifizierten Sensorfarbstoffmodul in dem invarianten Bereich abgetastet werden; beispielsweise kann eine 3×3 oder größere Anzahl von Pixeln in der Mitte jedes Moduls abgetastet werden. Als weit verbreitetes Beispiel kann jeder Pixelwert als Abstimmung dienen, und das Modul wird basierend auf einer Mehrheitsabstimmung in Schwarz, Weiß oder Farbe kategorisiert. Bei einer 3x3-Abtastung können 2 Pixel als Schwarz, 6 Pixel als Farbe und 1 Pixel als Weiß bewertet werden. Da 6 eine Mehrheit der 9 Gesamtpixel darstellt, wird das Modul als Farbe kategorisiert und die durchschnittliche sRGB-Farbe für dieses Modul durch getrennte Mittelung der R-, G- und B-Werte der 9-Pixel-Abstimmung bestimmt. Der durchschnittliche Sensorbereich-sRGB-Wert wird gebildet, indem die R-, G-, B-Werte aller identifizierten Farbstoffsensormodule getrennt gemittelt werden. Alle anderen festgestellten Farbmodule als die identifizierten Sensormodule können ignoriert werden und der Reed-Solomon-Fehlerkorrekturprozess stellt den zugrundeliegenden Datenbitwert wieder her.
  • Es versteht sich, dass unter Verwendung einer Fehlerkorrektur ein Sensorfarbstofffeld 3210 vorteilhafterweise in einem 2D-Strichcode verwendet werden kann, wie beispielsweise im invarianten Bereich, ohne die Lesbarkeit des darüber liegenden (oder optional darunterliegenden) 2D-Strichcodes zu beeinträchtigen. Durch Verwendung einer Fehlerkorrektur, wie z. B. des Reed-Solomon-Fehlerkorrekturprozesses nach ISO 16022, bei dem fehlerhaft identifizierte Module, einschließlich der farbigen Module und der unbekannten Module im invarianten Bereich, korrigiert werden, wird die zugrundeliegende GS1-Data-Matrix wiederhergestellt. Somit werden Daten aus der zugrundeliegenden GS1-Data-Matrix vorteilhafterweise auf die Standardweise verarbeitet, ohne durch die sich kontinuierlich ändernde Farbe des Sensorfarbstofffelds 3210 verfälscht zu werden. Daher können statische Produktdaten aus dem überdruckten 2D-Strichcode gelesen werden, während sich dynamische Produktdaten, z. B. die verbleibende Produktlebensdauer, die in den Strichcode eingebettet sind, aufgrund von Umgebungsexposition kontinuierlich ändern.
  • Die verbleibenden Farbmodule (z. B. Module, die nicht mit schwarzen Modulen überdruckt wurden) werden verarbeitet, um den aktuellen prozentualen Reflexionsgrad R(t) zum Zeitpunkt der Strichcodeerfassung (t) zu bestimmen. Wie in 33 dargestellt, kann der Reflexionsgrad R(t) verarbeitet werden, um eine äquivalente Expositionszeit (te) bei der Referenztemperatur zu bestimmen, vorzugsweise durch die Arrhenius-Gleichung. Nach der Bestimmung der äquivalenten Expositionszeit (te) können die gesamte bislang verstrichene Produktlebensdauer und die verbleibende Lebensdauer bei der Referenztemperatur geschätzt werden. Die Lebensdauer des Produkts kann von der Exposition sowohl in Bezug auf Zeit als auch Temperatur abhängen. Beispielsweise kann die Produktlebensdauer bei konstanter Exposition gegenüber 30 °C 2,5 Wochen betragen. Bei einer konstanten Exposition gegenüber 38 °C kann die Produktlebensdauer jedoch ggf. nur 1 Woche betragen, und daher zeigt der kumulative Zeittemperatursensor (z. B. Sensorfarbstofffeld 3210) vorteilhafterweise eine kumulative Exposition gegenüber Umgebungsbedingungen an, was vorteilhaft ist, wenn bisherige Lagerbedingungen in der Lieferkette unbekannt sind. Beispielsweise können Zeit- und Temperaturbedingungen eines Transportwagens unbekannt sein, aber kann ein kumulativer Zeittemperatursensor vorteilhafterweise diese Exposition durch seine Änderung des chemischen oder physikalischen Zustands (z. B. Farbzustand) erfassen und darstellen, um die verbleibende Lebensdauer des gelieferten Produkts berechnen zu können. Zusätzlich können andere auf der äquivalenten Expositionszeit (te) basierte Berechnungen durchgeführt werden und die verbleibende Lebensdauer des Produkts kann, wenn bei einer anderen Temperatur gelagert, ebenfalls geschätzt werden.
  • Durch Codieren des 2D-Strichcodes mit einer AI, die Parameter enthält, um die Bildverarbeitung automatisch zu programmieren und Produktgleichungsparameter für vorgespeicherte Algorithmen bereitzustellen, kann der Strichcodeleser unter Verwendung desselben Strichcodelesers Produkteigenschaften bestimmen, die für jedes mit 2D-Strichcode gekennzeichnete Produkt spezifisch sind. Verwenden Sie beispielsweise einen Leser, um die verbleibende Produktlebensdauer für ein Lebensmittelprodukt unter Verwendung der Bildsensorverarbeitungs- und Gleichungsparameter zu bestimmen, die durch Lesen des sensorgestützten 2D-Strichcodes auf diesem Lebensmittelprodukt angezeigt werden; verschiedene Parameter können in einer AI im 2D-Strichcode einer Impfstoffampulle gespeichert werden und von demselben Strichcodeleser gelesen und zur Programmierung der Bildverarbeitungs- und Gleichungsparameter verwendet werden, um die verbleibende Lebensdauer des Impfstoffs in der Ampulle zu berechnen.
  • Nach dem Scannen des Strichcodes und dem Erhalten der entsprechenden Lebensdauerdaten zeigt der Strichcodeleser möglicherweise Informationen über das markierte Produkt und die verbleibende Lebensdauer an. Beispielsweise kann der Strichcode in 32A einen ersten Zwischenzustand 3220A darstellen, der sich irgendwann nach einem Anfangszustand (z. B. Produkt hat 100 % verbleibende Lebensdauer) eines Strichcodes auf einem medizinischen Produkt (z. B. inaktivierter Polio-Impfstoff) befindet, der gescannt werden kann, um Daten zur Produktlebensdauer zu erhalten, wie in 34 dargestellt, wie Überwachungskategorie: VVM7, 80 Prozent verbleibende Lebensdauer, Verfallsdatum (z. B. anhand der geschätzten verbleibenden Lebensdauer oder basierend auf anderen Kriterien berechnet) und Produktauthentizität. Zusätzlich können die Strichcodedaten AI (01) für eine GTIN AI (10) Fertigungsnummer und AI (21) Seriennummer beinhalten, die vom 2D-Strichcodeleser angezeigt werden. Die statischen Strichcodedaten können Produktinformationen enthalten, sodass der Strichcodeleser automatisch mit den entsprechenden Gleichungsparametern und Eingaben versehen wird, um die verbleibende Produktlebensdauer gemäß dem aktuellen Farbzustand des Sensorfarbstofffelds 3210 zu berechnen. Nachdem die Reflexionsgraddaten vom Bildsensor erhalten wurden, können z. B. die entsprechenden Gleichungsparameter verwendet werden, um die äquivalente Expositionszeit (te) bei der Referenztemperatur zu berechnen, wie in 33 dargestellt. Das Subtrahieren von (te) von der Lebensdauer ergibt die verbleibende Produktlebensdauer bei der Referenztemperatur.
  • Das Sensorfarbstofffeld 3210 kann zwischen einem Anfangszustand und einem Endzustand übergehen. 32B kann einen Strichcode (und ein Sensorfarbstofffeld 3210) in einem zweiten Zwischenzustand 3220B nach einem Anfangszustand (z. B. Produkt hat 100 % verbleibende Lebensdauer) und dem ersten Zwischenzustand 3220A darstellen, wie in 32A veranschaulicht. Beispielsweise kann das sensorische Farbstofffeld seine Farbe von klar zu vollfarbig im Endzustand ändern. Um die Genauigkeit von Produktlebensdauerberechnungen sicherzustellen, kann der 2D-Strichcode so codiert werden, dass ein Schwellenwert der Opazität in dem Sensorfarbstofffeld 3210 als das Ende der Produktlebensdauer identifiziert wird. Zum Beispiel kann der 2D-Strichcode so codiert werden, dass der Strichcodeleser bestimmt, dass das Sensorfarbstofffeld, das einen Reflexionsgrad von 20 Prozent des Reflexionsgrads R(∞) im Endzustand erreicht, abgelaufen ist, wodurch ein Leser bestimmen kann, wie lange ein Produkt abgelaufen ist. Wenn zum Beispiel der Produktverfall auf den endgültigen prozentualen Reflexionsgrad-Endzustand R(oo) des Sensorfarbstofffelds eingestellt würde, dann wäre die Änderungsrate des Reflexionsgrads so langsam, dass es unpraktisch wäre, zu bestimmen, wann das Farbstofffeld 3210 den Endzustand erreicht hat. Wenn der Verfall jedoch auf einen Zwischenzustand eingestellt ist, der vor dem Endzustand liegt, kann der 2D-Strichcode so konfiguriert werden, dass er auch Informationen über die kumulative Umgebungsexposition nach dem Verfall liefert. In einem anderen Beispiel kann der Endzustand als der Schwellenwert verwendet werden. Ähnlich wie in 32A der Strichcode auf dem Medizinprodukt (z. B. inaktivierter Polio-Impfstoff), der bei einem anderen Expositionsniveau gescannt werden kann, um Daten zur Produktlebensdauer zu erhalten. Wie in 35 dargestellt, hat das Produkt seine geeignete Lebensdauer überschritten und der Strichcodeleser kann ggf. „Test Failed“ (Test fehlgeschlagen) anzeigen. Beispielsweise kann das Produkt aufgrund übermäßiger Exposition in Bezug auf Zeit, Temperatur oder sowohl Zeit als auch Temperatur keine verbleibende Lebensdauer mehr haben. Ähnlich wie in 33 tragen die statischen 2D-Strichcodedaten dieselbe GTIN, Fertigungsnummer, Seriennummer usw. und die Parameter, die zur Implementierung der in 33 in grafischer Form gezeigten R(t)-Gleichung erforderlich sind.
  • Zusätzlich können die Strichcodedaten verwendet werden, um die Produktauthentizität als Fälschungsschutzmaßnahme zu überprüfen. Beispielsweise können alle oder ein Teil der codierten AI (01) für eine GTIN, AI-(10)-Fertigungsnummer und AI-(21)-Daten als Validierungsdaten für diese Produktinstanz verwendet werden. Diese Validierungsdaten werden vom Leser als Abfrage an die Datenbank des Herstellers gesendet, um festzustellen, ob diese Validierungsdaten dort zugewiesen sind, was bedeutet, dass das Produkt mit diesem Strichcode bereits registriert wurde. Wenn die Validierungsdaten nicht mit der Datenbank des Herstellers übereinstimmen oder dort als zuvor gesehen, bereits verwendet oder verfallen markiert sind, ist die Authentizität dieser gerade gescannten Produktinstanz fraglich. In die Datenbank des Herstellers kann ein Warncode eingefügt werden, der darauf hinweist, dass mehrere Instanzen desselben Strichcodes gesehen wurden, um andere, die möglicherweise eine andere identische Produktinstanz erhalten, darüber zu warnen, dass mindestens eine der Produktinstanzen gefälscht ist.
  • Wie oben erörtert, kann die verbleibende Produktlebensdauer temperaturabhängig sein. Daher kann bei einer neuen Lagertemperatur, die sich von der Referenztemperatur unterscheidet, ein neues vorausgesagtes Verfallsdatum unter Verwendung von Strichcodedaten und des Scanners aktuell gemessener äquivalente Expositionszeit (te) bei der Referenztemperatur berechnet werden.
  • 11 beinhaltet ein Flussdiagramm eines beispielhaften Prozesses 460 zum Erzeugen eines 2D-Strichcodes. Obwohl der Prozess 460 unter Bezugnahme auf das in 11 dargestellte Flussdiagramm beschrieben wird, ist zu verstehen, dass viele andere Verfahren zum Ausführen der mit dem Prozess 460 verbundenen Handlungen verwendet werden können. Zum Beispiel kann die Reihenfolge vieler der Blöcke geändert werden, viele Blöcke können intermittierend wiederholt oder kontinuierlich ausgeführt werden; es können bestimmte Blöcke mit anderen Blöcken kombiniert werden und viele der beschriebenen Blöcke sind optional oder können nur bedingt ausgeführt werden.
  • Der beispielhafte Prozess 460 kann mit dem Bestimmen eines Satzes von Nutzdaten 112 beginnen (Block 462). In einer beispielhaften Ausführungsform kann der Satz von Nutzdaten 112 einen Satz statischer Daten 134 und einen Satz dynamischer Daten 136 beinhalten. Zusätzlich kann der Satz dynamischer Daten 136 einen ersten Zustand 210 und einen zweiten Zustand 212 aufweisen. Als nächstes kann ein Computer einen 2D-Strichcode erzeugen (Block 464). In einer beispielhaften Ausführungsform kann der 2D-Strichcode eine codierte Version des Satzes statischer Daten, einen dynamischen Bereich 192, der angepasst ist, um eine codierte Version des Satzes dynamischer Daten zu speichern, und Fehlererfassungs- und Korrekturdaten 116 beinhalten. Dann kann ein Drucker den 2D-Strichcode unter Verwendung einer statischen Tinte 194 und des codierten Satzes der dynamischen Daten auf dem dynamischen Bereich 192 unter Verwendung einer dynamischen Tinte 198 drucken (Block 466). In einer beispielhaften Ausführungsform kann der 2D-Strichcode an verschiedene Produkte angebracht werden, wie z. B. einem Lebensmittelprodukt, pharmazeutischen Produkten usw. In einer beispielhaften Ausführungsform kann die dynamische Tinte 198 Zustände in Reaktion auf mindestens eine Umgebungsänderung ändern, sodass sich der Satz dynamischer Daten 136 entweder im ersten Zustand 210 oder im zweiten Zustand 212 befindet. Zusätzlich können in einer beispielhaften Ausführungsform die Fehlererfassungs- und Korrekturdaten 116 Änderungen in dem Satz dynamischer Daten 136 in dem dynamischen Bereich 192 berücksichtigen, sodass der 2D-Strichcode für einen Leser lesbar sein kann, und eine erste Ausgabe erzeugen kann, wenn sich der Satz dynamischer Daten 136 in dem ersten Zustand 210 befindet, und der 2D-Strichcode kann für einen Leser lesbar sein und kann eine zweite Ausgabe erzeugen, wenn sich der Satz dynamischer Daten 136 in dem zweiten Zustand 212 befindet. In einer beispielhaften Ausführungsform kann der dynamische Bereich 192 in einem Auffüllbereich vorgesehen sein. Zusätzlich kann der dynamische Bereich 192 an einem Ende eines Datenbereichs vorgesehen sein. Das Bereitstellen eines 2D-Strichcodes, der Fehlerfassungs- und Korrekturdaten 116 beinhaltet, die Änderungen in dem Satz dynamischer Daten 136 berücksichtigen, ermöglicht es vorteilhafterweise einer Person, einen nicht privilegierten Leser zu verwenden, und ermöglicht es auch vorteilhafterweise einer Person, zwei verschiedene Ausgabewerte unter Verwendung des nicht privilegierten Lesers zu erhalten. Ohne Erzeugen eines 2D-Strichcodes mit Fehlerfassungs- und Korrekturdaten 116, die Änderungen in dem Satz dynamischer Daten 136 in dem dynamischen Bereich 192 berücksichtigen, kann ein nicht privilegierter Leser beispielsweise nur die erste Ausgabe erzeugen, unabhängig davon, ob der 2D-Strichcode einen Satz dynamischer Daten 136 im ersten Zustand 210 oder einen Satz dynamischer Daten 136 im zweiten Zustand 212 umfasste.
  • 12 beinhaltet ein Flussdiagramm eines beispielhaften Prozesses 470 zum Lesen eines 2D-Strichcodes. Obwohl der Prozess 470 unter Bezugnahme auf das in 12 dargestellte Flussdiagramm beschrieben wird, ist zu verstehen, dass viele andere Verfahren zum Ausführen der mit dem Prozess 470 verbundenen Handlungen verwendet werden können. Zum Beispiel kann die Reihenfolge vieler der Blöcke geändert werden, viele Blöcke können intermittierend wiederholt oder kontinuierlich ausgeführt werden; es können bestimmte Blöcke mit anderen Blöcken kombiniert werden und viele der beschriebenen Blöcke sind optional oder können nur bedingt ausgeführt werden.
  • Der beispielhafte Prozess 470 kann damit beginnen, dass ein Leser einen Satz statischer Daten 134 liest, die in dem 2D-Strichcode beinhaltet sind (Block 472). In einer beispielhaften Ausführungsform kann der 2D-Strichcode in statischer Tinte 194 und dynamischer Tinte 198 gedruckt werden. Zusätzlich kann eine codierte Version des Satzes statischer Daten in der statischen Tinte 194 gedruckt werden. Als nächstes kann ein Leser einen Satz dynamischer Daten 136 lesen, die im 2D-Strichcode beinhaltet sind (Block 474). In einer beispielhaften Ausführungsform kann eine codierte Version des Satzes dynamischer Daten 196 in der dynamischen Tinte 198 gedruckt werden. Zusätzlich kann der Satz dynamischer Daten 136 in einem redundanten Raum auf dem 2D-Strichcode gedruckt werden. Als nächstes kann der Leser eine erste Ausgabe des Satzes statischer Daten 134 erzeugen (Block 476). Dann kann der Leser eine zweite Ausgabe des Satzes dynamischer Daten 136 erzeugen (Block 478). In einer beispielhaften Ausführungsform kann die zweite Ausgabe davon abhängen, in welchem Zustand sich der eine von einer Vielzahl von Zuständen der dynamischen Daten befindet, beispielsweise wärmer als 30 °C oder kühler als 30 °C.
  • 13 beinhaltet ein Flussdiagramm eines beispielhaften Prozesses 490 zum Lesen eines 2D-Strichcodes. Obwohl der Prozess 490 unter Bezugnahme auf das in 13 dargestellte Flussdiagramm beschrieben wird, ist zu verstehen, dass viele andere Verfahren zum Ausführen der mit dem Prozess 490 verbundenen Handlungen verwendet werden können. Zum Beispiel kann die Reihenfolge vieler der Blöcke geändert werden, viele Blöcke können intermittierend wiederholt oder kontinuierlich ausgeführt werden; es können bestimmte Blöcke mit anderen Blöcken kombiniert werden und viele der beschriebenen Blöcke sind optional oder können nur bedingt ausgeführt werden.
  • Der beispielhafte Prozess 490 kann damit beginnen, dass ein Leser einen Satz statischer Daten 134 liest, die im 2D-Strichcode beinhaltet sind (Block 492). In einer beispielhaften Ausführungsform kann der 2D-Strichcode in statischer Tinte 194 und dynamischer Tinte 198 gedruckt werden. Zusätzlich kann eine codierte Version des Satzes statischer Daten in der statischen Tinte 194 gedruckt werden. Als nächstes kann ein Leser einen Satz dynamischer Daten 136 lesen, die in dem 2D-Strichcode beinhaltet sind (Block 494). In einer beispielhaften Ausführungsform kann eine codierte Version des Satzes dynamischer Daten 196 in der dynamischen Tinte 198 gedruckt werden. Zusätzlich kann der Satz dynamischer Daten 136 in einem dynamischen Bereich 192 des 2D-Strichcodes gedruckt werden. Als nächstes kann der Leser eine Ausgabe des Satzes statischer Daten 134 und des Satzes dynamischer Daten 136 erzeugen (Block 496). In einer beispielhaften Ausführungsform kann die Ausgabe eine erste Ausgabe sein, wenn sich der Satz dynamischer Daten 136 in einem ersten Zustand 210 befindet, und kann die Ausgabe eine zweite Ausgabe sein, wenn sich der Satz dynamischer Daten 136 in einem zweiten Zustand 212 befindet.
  • 14 ist ein Blockdiagramm eines 2D-Strichcode-Bereitstellungssystems. Das System kann einen Computer 292 und einen Drucker 290 beinhalten. Das System kann verwendet werden, um Strichcodes 102 bereitzustellen. Der Computer 292 kann ein oder mehrere Computerprogramme oder -komponenten beinhalten. Es versteht sich, dass alle hierin beschriebenen offenbarten Verfahren und Verfahrensweisen unter Verwendung eines oder mehrerer Computerprogramme oder -komponenten implementiert werden können. Diese Komponenten können als eine Reihe von Computeranweisungen auf einem beliebigen herkömmlichen computerlesbaren Medium oder maschinenlesbaren Medium bereitgestellt werden, einschließlich eines flüchtigen oder nichtflüchtigen Speichers wie RAM, ROM, Flash-Speicher, magnetischer oder optischer Platten, optischen Speichers oder anderer Speichermedien. Die Anweisungen können als Software oder Firmware bereitgestellt werden und/oder können ganz oder teilweise in Hardwarekomponenten wie ASICs, FPGAs, DSPs oder anderen ähnlichen Vorrichtungen implementiert werden. Die Anweisungen können so konfiguriert sein, dass sie von einem oder mehreren Prozessoren ausgeführt werden, die, wenn sie die Reihe von Computeranweisungen ausführen, die Durchführung aller oder eines Teils der offenbarten Verfahren und Verfahrens durchführen oder erleichtern. Zusätzlich kann der Computer 292 eine Anzeige beinhalten und eine Verbindung zu einem oder mehreren Kommunikationskanälen wie dem Internet oder einem anderen Sprach- und/oder Datennetz haben, einschließlich eines geeigneten Weitverkehrsnetzes oder lokalen Netzes, ohne jedoch darauf beschränkt zu sein.
  • Der Computer 292 kann einen oder mehrere Prozessoren umfassen, die über einen Adress-/Datenbus mit einer oder mehreren Speichervorrichtungen, einer anderen Computerschaltung und einer oder mehreren Schnittstellenschaltungen elektrisch verbunden sind. Der Prozessor kann ein beliebiger geeigneter Prozessor sein, beispielsweise ein Mikroprozessor. Der Speicher beinhaltet vorzugsweise einen flüchtigen Speicher und einen nichtflüchtigen Speicher. Zusätzlich kann der Speicher ein Softwareprogramm speichern, das mit den anderen Vorrichtungen in dem Strichcode-Bereitstellungssystem interagiert. Dieses Programm kann vom Prozessor auf jede geeignete Weise ausgeführt werden. Der Speicher kann auch digitale Daten speichern, die Dokumente, Dateien, Programme, Strichcodes usw. anzeigen, die von einem Computer oder einem Strichcodeleser empfangen werden. Andere Computerschaltungen können eine Mehrzahl von Hardwarekomponenten beinhalten, einschließlich ASICs oder anderer spezieller Schaltungen zum Manipulieren von Daten in einem bestimmten Format, wie z. B. Strichcodedaten.
  • Eine oder mehrere Anzeigen, Drucker 290 und/oder andere Ausgabevorrichtungen können auch über Schnittstellenschaltungen mit dem Computer 292 verbunden sein. Die Anzeige kann eine Flüssigkristallanzeige oder irgendeine andere Art von Anzeige sein. Der Drucker 290 kann einen Strichcode drucken, der vom Computer 292 erzeugt und empfangen wird. Zusätzlich können auch eine oder mehrere Speichervorrichtungen über die Schnittstellenschaltungen mit dem Computer 292 verbunden sein. Beispielsweise können ein Festplattenlaufwerk, ein CD-Laufwerk, ein DVD-Laufwerk und/oder andere Speichervorrichtungen mit dem Computer 292 verbunden sein. Die Speichervorrichtungen können eine beliebige Art von Daten speichern, wie Strichcodedaten 100, Bilddaten, historische Zugangs- oder Nutzungsdaten usw.
  • 15A und 15B sind Blockdiagramme eines 2D-Strichcode-Lesesystems. Das System kann einen Leser 200 beinhalten, das System kann zum Lesen von Strichcodes 102 verwendet werden. In einer beispielhaften Ausführungsform kann der Leser 200 ein privilegierter Leser oder ein nicht privilegierter Leser sein. Der Leser 200 kann ein dedizierter Strichcodeleser oder ein Gerät sein, das für das Lesen von Strichcodes konfiguriert ist, beispielsweise eine Mobilvorrichtung, ein persönlicher digitaler Assistent bzw. PDA, ein Smartphone, ein Laptop, ein Tablet-Computer oder ein Desktop-Computer sowie beliebige andere Benutzervorrichtungen. Der Leser 200 kann angepasst sein, um 1D- und 2D-Strichcodes zu lesen, oder kann angepasst sein, um nur 2D-Strichcodes zu lesen. Der Leser 200 kann auch Daten über ein Kommunikationsnetzwerk an andere Netzwerkvorrichtungen senden, empfangen oder mit diesen austauschen. Eine Netzwerkvorrichtung kann ein Computer 292, ein anderer Leser 200 oder eine andere Vorrichtung sein, auf die über ein Kommunikationsnetzwerk zugegriffen werden kann. Bestimmte Daten können auch in einem Leser 200 gespeichert werden, die auch auf dem Server gespeichert sind, entweder vorübergehend oder dauerhaft, beispielsweise in einem Speicher oder einer Speichervorrichtung. Die Netzwerkverbindung kann eine beliebige Art von Netzwerkverbindung sein, wie eine zellulare oder drahtlose Verbindung, eine Ethernet-Verbindung, eine digitale Teilnehmerleitung, eine Telefonleitung, ein Koaxialkabel usw. Der Zugriff auf einen Leser 200 oder dynamische Daten 136 kann durch geeignete Sicherheitssoftware oder Sicherheitsmaßnahmen gesteuert werden. Der Zugriff eines einzelnen Benutzers kann durch den Leser 200 definiert und auf bestimmte Daten und/oder Aktionen beschränkt werden. Beispielsweise kann ein Benutzer möglicherweise nur Zugriff auf einen nicht privilegierten Leser haben, der möglicherweise nur in der Lage ist, die statischen Daten 134 auf einem Strichcode 102 zu lesen. Zusätzlich kann ein Benutzer Zugang zu einem privilegierten Leser haben, der in der Lage sein kann, nur die dynamischen Daten oder sowohl die dynamischen als auch die statischen Daten auf einem Strichcode 102 zu lesen. Dementsprechend können Benutzer und/oder Administratoren des Strichcode-Lesesystems aufgefordert werden, sich bei einem oder mehreren Lesern 200 anzumelden. Zusätzlich können verschiedene Optionen zum Verwalten von Daten implementiert werden, die sich in einem Leser 200 und/oder auf einem Server befinden. Beispielsweise kann ein Managementsystem in dem Leser 200 implementiert sein und Strichcodedaten 100 lokal und/oder entfernt unter Verwendung eines beliebigen geeigneten Verfahrens zur Datenübertragung aktualisieren, speichern und/oder sichern.
  • Das Verfahren zum Lesen eines sensorgestützten zweidimensionalen Strichcodesymbols weist eine Reihe von Anforderungen auf. Das Lesen eines sensorgestützten Data-Matrix-Symbols ist möglich
    1. 1. Wenn nur eine begrenzte Anzahl von Modulen den Farbstatus im Muster des Sensorfarbstoff-Modulmusters ändert, und
    2. 2. Wenn die geänderten Module auf eine kleine Anzahl von Utahs beschränkt sind, und
    3. 3. Wenn in der zugrundeliegenden Data Matrix eine ausreichende Reed-Solomon-Fehlerkorrekturfunktion vorhanden ist,
    dann kann der RSEC-Prozess verwendet werden, um die zugrundeliegenden Codewortdaten in der zugrundeliegenden Data Matrix vor den Farbzustandsänderungen von Modulen wiederherzustellen, die durch die Sensoraktivierung verursacht werden.
  • Tabelle 5 zeigt die Daten- und RSEC-Codewortkapazitäten aller quadratischen Data-Matrix-Symbole bis zu 26 × 26 und aller rechteckigen Data-Matrix-Symbole.
  • Jedes Datencodewort erfordert normalerweise zwei RSEC-Codewörter, um die zugrundeliegenden Daten wiederherzustellen. Ein Beispiel ist eine quadratische 16-×-16-Data-Matrix mit einer Kapazität für 12 Datencodewörter (12 Daten-Utahs) und mit 12 RSEC-Codewörtern (12 RSEC-Utahs). Wenn aktivierte Sensormodule 4 Daten-Utahs in diesem 16-x-16-Symbol ändern, werden somit sodann acht RSEC-Codewörter verwendet, um die Daten in denen für geänderte Utahs wiederherzustellen. Dadurch stehen 4 zusätzliche RSEC-Codewörter zur Korrektur beliebiger anderer Symbolschäden zur Verfügung. Tabelle 5. Gesamtdaten und RSEC-Codewörter für verschiedene Größen von Data-Matrix-Symbolen
    Symbolgröße Maximale Datenkapazität Codewörter gesamt Fehlerkorrektur
    Größe Reihen Spalten Ziffern Alphanum Bytes Daten RSEC Max Cwtr % FK
    QUADRATISCHE SYMBOLE
    10×10 10 10 6 3 1 3 5 2 63%
    12×12 12 12 10 6 3 5 7 3 58%
    14×14 14 14 16 10 6 8 10 5 56%
    16×16 16 16 24 16 10 12 12 6 50%
    18×18 18 18 36 25 16 18 14 7 44%
    20×20 20 20 44 31 20 22 18 9 45%
    22×22 22 22 60 43 28 30 20 10 40%
    24×24 24×24 24 24 24 72 52 34 36 24 12 40%
    26×26 26 26 88 64 42 44 28 14 39%
    RECHTECKIGE SYMBOLE
    8×18 8 18 10 6 3 5 7 3 58%
    8×32 8 32 20 13 8 10 11 5 52%
    12×26 12 26 32 22 14 16 14 7 47%
    12×36 12 36 44 31 18 22 18 9 45%
    16×36 16 36 64 46 24 32 24 12 43%
    16×48 16 48 98 72 28 49 28 14 36%
  • Je nachdem, ob die Struktur des Sensorfarbstoff-Modulmusters in der zugrundeliegenden Data Matrix codiert wurde oder nicht, werden zwei Arten von Lesevorgängen für den sensorgestützten zweidimensionalen Strichcode verwendet. Im ersten Fall, in dem die Struktur des Sensorfarbstoff-Modulmusters nicht in der zugrundeliegenden Data Matrix des sensorgestützten zweidimensionalen Strichcodes codiert wurde:
    1. 1. Scannen und verarbeiten Sie das Bild als Teil des Data-Matrix-Lesevorgangs optisch und erstellen Sie eine binäre Scan-Pixelkarte (z. B. eine Bitmap) des gescannten Bildes. Eine Methodik finden Sie in ISO/IEC 16022.
    2. 2. Verarbeiten der binären Scan-Pixelkarte (z. B. Bitmap), um die zugrundeliegende Symbolcodewortsequenz zu konstruieren,
    3. 3. Wenden Sie den Reed-Solomon-Fehlerkorrekturprozess an die Symbolcodewortsequenz an, um die zugrundeliegenden Datencodewörter wiederherzustellen, bevor Änderungen durch aktivierte Sensormodule vorgenommen werden. Eine Methodik finden Sie in ISO/IEC 16022.
    4. 4. Konstruieren Sie eine zugrundeliegende binäre Pixelkarte (z. B. Bitmap) aus der zugrundeliegenden Datencodewortsequenz, deren Größe der Größe der binären Scan-Pixelkarte (z. B. Bitmap) entspricht. Eine Methodik finden Sie in ISO/IEC 16022.
    5. 5. Bei jeder Bitposition werden durch Exklusiv-ODER-Verknüpfung der binären Scan-Pixelkarte (z. B. Bitmap) und der zugrundeliegenden binären Pixelkarte (z. B. Bitmap) eine Sensor-Digitalinformationspixelkarte mit der gleichen Größe wie die binäre Scan-Pixelkarte gebildet.
    6. 6. Verarbeiten Sie die Pixelkarte der digitalen Sensorinformation gemäß den Situationsregeln.
  • In dem Fall, dass die Struktur des Sensorfarbstoff-Modulmusters in der zugrundeliegenden Data Matrix des sensorgestützten zweidimensionalen Strichcodes codiert wurde:
    1. 1. Scannen und verarbeiten Sie das Bild als Teil des Data-Matrix-Lesevorgangs optisch und erstellen Sie eine binäre Scan-Pixelkarte des gescannten Bildes. Eine Methodik finden Sie in ISO/IEC 16022.
    2. 2. Verarbeiten Sie die binäre Scan-Pixelkarte, um die zugrundeliegende Symbolcodewortsequenz zu erstellen,
    3. 3. Wenden Sie den Reed-Solomon-Fehlerkorrekturprozess an die Symbolcodewortsequenz an, um die zugrundeliegenden Datencodewörter wiederherzustellen, bevor Änderungen durch aktivierte Sensormodule vorgenommen werden. Eine Methodik finden Sie in ISO/IEC 16022.
    4. 4. Verwenden Sie die Informationen, die in den zugrundeliegenden Datencodewörtern codiert sind, um innerhalb der binären Scan-Pixelkarte ein Sensorfarbstoffbitmuster zu bestimmen, das die digitalen Sensorinformationen enthält, und extrahieren Sie die Binärinformationssequenz in ihrer geeigneten Bitreihenfolge.
    5. 5. Wenn die Sensordaten BCH (15, 5, 7) codiert wurden, verwenden Sie die Standardverfahren des BCH-Fehlerkorrekturprozesses, um die binär codierten 5-Bit-Sensordaten wiederherzustellen (andernfalls schlägt die Decodierungsdecodierung fehl).
  • Wenn ein sich kontinuierlich ändernder Sensorfarbstoff verwendet wird, um beispielsweise die kumulative Exposition gegenüber einer Umgebungsbedingung anzuzeigen, kann ein Strichcodeleser außerdem:
    1. 1. Farbinformationen aus einem Sensorfarbstoffbereich verarbeiten, vorzugsweise durch Verarbeiten der Binärpixelkarte, um die Strichcodedaten abzurufen, die den Ort, die Größe und die Parameter der Produktlebensdauergleichung des Sensorfarbstoffbereichs bestimmen. Zusätzlich kann die Binärpixelkarte verwendet werden, um den Bildsensor für einen bestimmten Sensorfarbstoff und Produkttyp zu programmieren.
    2. 2. Die Parameter der Produktlebensdauergleichung verwenden, um die verbleibende Produktlebensdauer anhand der verarbeiteten Farbinformationen zu bestimmen.
  • Eine Ausführungsform verwendet einen Sensorfarbstoff, der dafür konfiguriert ist, eine kontinuierliche chemische oder physikalische Zustandsänderung zwischen einem Anfangszustand und einem Endzustand zu durchlaufen, die eine Änderung des Farbzustands des Sensorfarbstoffs verursacht. Der aktuelle Farbzustand kann eine Exposition (z. B. kumulative Exposition) gegenüber der Umgebungsbedingung anzeigen. Beispielsweise kann ein Sensorfarbstofffeld, wie ein kumulativer Zeit-Temperatur-Sensor, in einen 2D-Strichcode eingebettet oder diesem zugewiesen sein. Der kumulative Zeit-Temperatur-Sensor kann die Farbe im Laufe der Zeit kontinuierlich ändern, wenn das Produkt der Temperatur ausgesetzt wird.
  • Eine Ausführungsform verwendet eine temperaturschwellenwertempfindliche Sensorfarbstoffchemie. Die Sensorfarbstoffchemie ist W→X; weiße Farbelemente, die auf schwarzen Modulen der gedruckten zugrundeliegenden Data Matrix auf einem weißen Druckmedium überdruckt sind. Es wird angenommen, dass die verwendete Sensorfarbstoffchemie zum Zeitpunkt des Druckens des Data-Matrix-Symbols bekannt ist.
  • Es wird davon ausgegangen, dass die im Data-Matrix-Symbol codierte Datenstruktur GS1-Anwendungskennungen (AIs) verwendet und den GS1 General Specifications, V15 Issue 2 (Januar 2015)(http://www.gs1.org/docs/barcodes/GS1_General_Specifications.pdf) und späteren entspricht.
  • Hier wird eine 15-Bit-BCH-(15, 5, 7)-Fehlerkorrektur verwendet, um 5 Bits Sensordaten zu codieren. Da die überdruckten Sensorfarbstoffmodule weiß sind, müssen die schwarzen Module, die „1“-Bits der 15-Bit-BCH-Codierung entsprechen, in der zugrundeliegenden Data Matrix gedruckt werden.
  • Die Sensordaten-BCH-Codierung zusammen mit 2 Anzeigebits zum Anzeigen der verwendeten Sensorfarbstoffchemie verwendet beispielhaft nur die Utahs 3, 5 und 6 des in 19 gezeigten 16-×-16-ECC-200-Data-Matrix-Symbols. Die Utahs 5, 6 und Utah-Bits 3.6-3.8 befinden sich in der gleichen Bitmap-Position in Bezug auf die Symbol-ULC wie in der invarianten Bitmap 410 in 19.
  • Die Indikator-Utah-Bits 3.6 und 3.7 zeigen an, welche der Sensorfarbstoffchemien in Tabelle 1 verwendet wird. Es wird angenommen, dass die zu verwendende Sensorfarbstoffchemie zum Zeitpunkt des Druckens der Data Matrix bekannt ist.
  • Module der ausgewählten Sensorchemie Überdrucken beide Utah-Bits 3.6 und 3.7. Abhängig von der ausgewählten Sensorfarbstoffchemie werden die Bits 3.6 und 3.7 wie in Tabelle 4 angezeigt, wenn sich der Sensorfarbstoff entweder im nicht aktivierten oder im aktivierten Zustand befindet.
  • 20 zeigt die Data-Matrix-Bitmap 505 der Größe 14 von ISO/IEC 16022 und identifiziert das Utah-Bit 3.8 und die Utahs 5 und 6 der invarianten Bitmap 410. Dies sind die Referenzen 510, 520 bzw. 530. Die oberen 5 Bits von Utah 3, mit 540 bezeichnete Bits 3.1-3.5, die nicht in der invarianten Bitmap 410 vorhanden sind, können verwendet werden, um zusätzliche Informationen über die verwendete Sensorfarbstoffchemie und/oder das Sensorfarbstoffbitmuster zu codieren.
  • In Übereinstimmung mit dem in den GS1 Allgemeine Spezifikationen definierten GS1-System, dem am häufigsten verwendeten System zur Codierung von Informationen in der Data Matrix, kann die GS1-Anwendungskennung AI (90) verwendet werden. AI (90) ist für Informationen reserviert, die zwischen Handelspartnern vereinbart wurden, z. B. das Vorhandensein einer sensorgestützten Data Matrix. Da die Anwendungskennungen in einer beliebigen Sequenz in einer GS1-Data Matrix auftreten können, wird AI (90) unmittelbar nach der FNC1 angezeigt, um sicherzustellen, dass sich die 15 BCH-codierten Sensorbits B1-B15 in der invarianten Bitmap 410 befinden. Da in einer GS1-Anwendungskennung nur 7-Bit-Zeichen codiert werden können, sind das höchstwertige Bit 5.1 von Utah 5 bei 520 und das Bit 6.1 von Utah 6 bei 530 und ist deren Farbzustand sowohl vor als auch nach der Aktivierung hier unwichtig.
  • Wie in 21 gezeigt, beinhaltet der Teil der invarianten Bitmap 410 der 16-x-16-Data-Matrix 600 610a Utah-1-Bits 1.5 und 1.8; 620 Utah 2; 630a Utah-3 Bits 3.6-3.8; 640a Utah-4-Bits 4.3-4.8; 650 Utah 5; 660 Utah 6 und 670a Utah-7-Bits 7.2, 7.4, 7.5, 7.7 und 7.8. Es ist zu beachten, dass andere Utah-Bits, die diese sieben Utahs umgeben, in 600 zu Referenzzwecken und zur einfachen Entsprechung mit der Bitmap von 20 gezeigt sind. Zum Beispiel 610b Utah-1-Bit 1.1-1.4, 1.6 und 1.7; 640b Utah-4-Bits 4.1 und 4.2; und 670b Utah-7-Bits 7.1, 7.3 und 7.6.
  • Das höchstwertige Bit B15 wird in 630a Utah-Bit 3.8 von 630a bei 630a codiert. Utah 5 bei 650 Bits 5.2 bis 5.8 codiert B14 bis B7 der BCH-codierten Sensorbits. Utah 6 bei 660 Bits 6.2 bis 6.8 codiert die Bits B7 bis B1 der BCH-codierten Sensorbits.
  • Da in der ersten bevorzugten Ausführungsform eine weiße bis transparente Sensorfarbstoffchemie verwendet wird, sollte das codierte Sensordatenbit-Schwarzweißmuster B15-B1 in der Data Matrix vorgedruckt werden. Der Sensorfarbstoff W → X wird dann auf diese codierten Bits überdruckt; entweder alle Bits B1-15 oder mindestens die der schwarzen Bits B15-B1 in der zugrundeliegenden Data Matrix.
  • Betrachten Sie ein Beispiel, bei dem der Sensordatenwert „4“ ist. Aus Tabelle 2 ist die BCH-Codierung B15-B1 001000111101011. In der Data-Matrix-Bitmap der Größe 14 in 20 sind somit die Utah-Bits 3.8, 5.2-5.8 und 6.2-6.8 so eingestellt, dass sie die diesen Bits B15-B1 entsprechenden schwarzen Module codieren, da diese Module mit dem weißen bis transparenten Sensorfarbstoff überdruckt werden. Die Utah-Bits 5.1 und 6.1 werden auf „0“ gesetzt, um sicherzustellen, dass weiße Module gedruckt werden. Tabelle 6 zeigt, dass die AI-(90)-Datenstring in den ersten sieben Utahs der 16x16-Data Matrix gedruckt wird. Denken Sie daran, dass jedes Utah ein 8-Bit-Codewort codiert. Tabelle 6. AI-(90)-ASCII- und Data-Matrix-Codewort-String-Beispiel für Sensorfarbstoff W → X
    Utah AI-(90)-Daten 7-Bit-ASCII-Eingabe Hexadezimales Codewort Anmerkungen
    1 FNC1 druckerabhängig, siehe Anmerkungen E8 FNC1 ist kein 7-Bit-ASCII-Wert, daher wird eine Sonderzeichenfolge an den Drucker gesendet, die am Anfang des GS1-AI-Strings eingefügt wird
    2 90 90 DC AI (90)
    3 siehe Anmerkungen 5 36 Anzeigebits 3.6, 3.7 = „11“, B15 in 3.8 = „0“ und
    Bits 3.1-3.4 werden auf „0011“ gesetzt, um sie als Beispiel für ein Produkt der Sensorfarbstoffchemie W→X zu ken nzeich nen
    4 X X 59 beliebiges 7-Bit-ASCII. Hier wird „X“ als Beispiel für ein zusätzliches Datenzeichen verwendet
    5 Beispiel " 23 setzt die Bits B14-B8 zum Drucken auf „0100011“
    6 Beispiel j 6B setzt die Bits B7-B1 zum Drucken auf „1101011“
    7 GS oder FNC1 GS 1E beendet den AI-(90)-String
  • Die Bits 3.1-3.5 von Utah 3 bei 630b befinden sich nicht in der invarianten Bitmap 410, da sie sich für alle Größen der Data Matrix am unteren Rand des Data-Matrix-Symbols befinden. Hier können jedoch Daten codiert werden, die zur Übermittlung spezifischer Informationen über die Eigenschaften des verwendeten Sensorfarbstoffs und des in der erweiterten Data Matrix codierten Sensorfarbstoffmusters nützlich sind.
  • Da nur ein Teil 640a von Utah 4 im invarianten Bitmap-Abschnitt 410 erscheint, wird Utah 4 als Abstandshalter verwendet, um sicherzustellen, dass die Bits B14-B1 in den Utahs 5 und 6 bei 650 bzw. 660 gedruckt werden. Jedes 7-Bit-ASCII-Zeichen kann in Utah 4 codiert werden. Es wird normalerweise für produktbezogene Informationen verwendet.
  • Eine 16x16-Data Matrix 700, die nur mit den Informationen in Tabelle 6 gedruckt wurde, ist in 22 dargestellt. In 23 ist die Data Matrix 800 in der Struktur ähnlich der Data Matrix 600 gezeigt. Hier jedoch werden die geeigneten Module im invarianten Bitmap-Abschnitt gemäß der der Data Matrix 700 in 22 zugrundeliegenden Codierung entweder auf Schwarz oder Weiß gesetzt. Die verbleibenden Data-Matrix-Codewörter (Utahs 8-12) werden mit Füllzeichen gefüllt, um die 12 verfügbaren Datencodewörter auszufüllen. Die letzten 12 Codewörter im Symbol (Utahs 13-24) sind RSEC-Fehlerkorrektur-Codewörter. In 23 sind die Inhalte der Utahs 8-24 der Einfachheit halber grau gezeigt, da sie für die Codierung von AI (90) nicht relevant sind.
  • Das visuelle Bild der nicht aktivierten sensorgestützten Data Matrix 900 ist in 24 gezeigt. Es ist zu beachten, dass der weiße Sensorfarbstoff die Anzeigebits 910 überdruckt. Die überdruckte BCH-Codierung 920 von B15-B1 der Sensordaten ist als weiße Farbstoffmodule gezeigt, die von den unbedruckten und nicht überdruckten weißen Modulen bei den Utah-Bits 5.1 und 6.1 nicht zu unterscheiden sind. Diese haben den Wert „00000000000000“, der den nicht aktivierten Standardsensordatenwert „0“ für B15-B1 in diesem System für die Sensorfarbstoffchemie anzeigt. Zu beachten ist, dass Anzeigebits „00“ sind und den nicht aktivierten Zustand einer Sensorfarbstoffchemie W → X anzeigen.
  • Nach der Aktivierung werden alle Sensormodule transparent und das visuelle Bild kehrt zu 22 zurück, das das korrekte 15-Bit-BCH-Bitmuster 001000111101011 zeigt, das mit einer der oben beschriebenen Standardverfahren für BCH (15, 5, 7) decodiert wird, um den Sensordatenwert „4“ wiederherzustellen.
  • Die zweite bevorzugte Ausführungsform verwendet eine temperaturschwellenempfindliche Sensorfarbstoffchemie X→B, wie sie häufig durch die thermisch aktivierten Leukofarbstoffsysteme dargestellt wird, die zur Herstellung von Thermopapier verwendet werden. Hier werden transparente Farbstoffmodule auf weißen (unbedruckten) Modulen der zugrundeliegenden Data Matrix, die auf einem weißen Medium gedruckt sind, überdruckt.
  • Hier wird auch eine 15-Bit-BCH-(15, 5, 7)-Fehlerkorrektur verwendet, um 5 Bits von Sensordaten zu codieren, die durch Überdrucken von Sensorfarbstoffmodulen auf einem zugrundeliegenden gedruckten Data-Matrix-Symbol nur an Bitmap-Stellen ebenfalls codiert werden, an denen ein schwarzes Modul bei Aktivierung des Sensorfarbstoffs erscheinen soll. Es wird auch hier davon ausgegangen, dass die verwendete Sensorfarbstoffchemie zum Zeitpunkt des Druckens des Data-Matrix-Symbols bekannt ist.
  • Bei jeder Sensorfarbstoffchemie, die anfangs transparent ist, können verschiedene Drucker verwendet werden, um das zugrundeliegende Data-Matrix-Symbol zu drucken und es später mit den Sensorfarbstoffmodulen als separaten Prozess zu überdrucken, wodurch die Data-Matrix-Informationen, die zum Zeitpunkt des Überdruckens der Sensormodule bekannt sind, erweitert werden. In einer beispielhaften Ausführungsform kann der zweidimensionale Strichcode an verschiedenen Produkten angebracht sein, wie z. B. Lebensmittelprodukten, pharmazeutischen Produkten, Biologika oder jedem anderen Produkt, das von einer Umgebungs-, physikalischen oder biologischen Überwachung profitieren kann. Beispielsweise kann der Strichcode auf einen Behälter für ein solches Produkt gedruckt oder auf diesem aufgebracht werden.
  • Das Sensordaten-15-Bit-BCH-Codierungsmuster ist zusammen mit 2 Anzeigebits mit dem der ersten bevorzugten Ausführungsform identisch. Aus Tabelle 2 ergibt sich für eine Sensorfarbstoffchemie X→B-Sensorfarbstoffchemie, dass die gedruckten Anzeigebits 3.6 und 3.7 „10“ sind. Wie in der ersten bevorzugten Ausführungsform können die oberen 5 Bits von Utah 3, Bits 3.1 bis 3.5, verwendet werden, um zusätzliche Informationen über die verwendete Sensorfarbstoffchemie und/oder das Sensorfarbstoffbitmuster zu codieren.
  • Entsprechend dem am weitesten verbreiteten System zur Codierung von Informationen in einer Data Matrix wird die GS1-Anwendungskennung AI (90) verwendet. AI (90) ist für Informationen reserviert, die zwischen Handelspartnern vereinbart wurden, z. B. das Vorhandensein einer sensorgestützten Data Matrix. AI (90) wird im Utah-1-7-Datenstrukturformat wie in der ersten bevorzugten Ausführungsform verwendet, wobei die spezifischen Daten hier in Tabelle 7 codiert sind.
  • Man betrachte dasselbe Beispiel wie in der ersten bevorzugten Ausführungsform, wenn der Sensordatenwert 4 ist. Aus Tabelle 4 ist die BCH-Codierung B15-B1 001000111101011. Da in dieser zweiten bevorzugten Ausführungsform eine transparente bis schwarze Sensorfarbstoffchemie verwendet wird, müssen die BCH-codierten Sensorfarbstoffmodule für jene, die bei Aktivierung zu Schwarzmodulen in B15-B1 werden, selektiv auf die B15-B1-Weißmodule in der zugrundeliegenden Data Matrix überdruckt werden. Die Anzeigebits 3.6 und 3.7 sind ebenfalls mit Sensorfarbstoffmodulen überdruckt.
  • Tabelle 7 zeigt die AI-(90)-Datenzeichenfolge, die für dieses zweite bevorzugte Ausführungsbeispiel in den ersten 7 Utahs der zugrundeliegenden 16-×-16-Data Matrix 1000 in 25 gedruckt ist. Die zugrundeliegende Data Matrix 1000, die nur mit den Informationen in Tabelle 7 gedruckt wurde, ist in 25 dargestellt.
  • Unter Bezugnahme auf das ULC-Detail 1100 in 26 werden die Anzeigebits 3.6 und 3.7 auf „1“ bzw. „0“ gesetzt. Die Utah-Bits 3.8, 5.2-5.8 und 6.2-6.8 sind weiße Module, die „0“ für alle diese Bits B15-B1 entsprechen. Die Utah-Bits 5.1 und 6.1 werden auf „1“ gesetzt, da sie nicht Teil der BCH-Bitcodierungssequenz sind, und der Data-Matrix-Standard ISO/IEC-Standard erfordert, dass jede Utah mindestens 1 schwarzes Modul hat. Die verbleibenden Data-Matrix-Codewörter (Utahs 8-12) werden mit Füllzeichen gefüllt, um die 12 verfügbaren Datencodewörter auszufüllen, die gemäß ISO/IEC 16022 speziell codiert sind. Die letzten 12 Codewörter im Symbol (Utahs 13-24) sind RSEC-Fehlerkorrektur-Codewörter. In 26 sind die Inhalte der Utahs 8-24 der Einfachheit halber grau gezeigt, da sie für die Codierung von AI (90) nicht relevant sind. Tabelle 7. AI-(90)-ASCII- und Data-Matrix-Codewort-String-Beispiel für Sensorfarbstoff X→B
    Utah AI-(90)-Daten 7-Bit-ASCII-Eingabe Hexadezimales Codewort Anmerkungen
    1 FNC1 druckerabhängig, siehe Anmerkungen E8 FNC1 ist kein 7-Bit-ASCII-Wert, daher wird eine Sonderzeichenfolge an den Drucker gesendet, die am Anfang des GS1-AI-Strings eingefügt wird
    2 90 90 DC
    3 siehe Anmerkungen C 44 Anzeigebits 3.6,3.7 = „10“, B15 in 3.8 = „0“, und
    Bits 3.1-3.4 werden auf „0100“ gesetzt, um sie als Beispiel für ein Produkt der Sensorfarbstoffchemie W->X zu ken nzeich nen
    4 H H 49 beliebiges 7-Bit-ASCII. Hier wird „H“ als Beispiel für ein zusätzliches Datenzeichen verwendet
    5 Beispiel druckerabhängig 80 setzt die Bits B14-B8 zum Drucken auf „0000000“
    „∼∼“ ist ein gebräuchlicher Druckerstring, da
    - 7F ist und die Data Matrix den ASCII-Wert +1 codiert
    6 Beispiel druckerabhängig 80 setzt die Bits B7-B1 zum Drucken auf „'0000000“
    siehe Anmerkung zu Utah 5
    7 GS oder FNC1 GS 1E beendet den AI-(90)-String
  • Die weißen Module der zugrundeliegenden Data Matrix sind sichtbar, wenn sich das sensorgestützte Data-Matrix-Strichcodesymbol im nicht aktivierten Zustand befindet und eine BCH-Codierung für B15-B1 von 00000000000000 oder einen Sensordatenwert 0 zeigt, wie bei der sensorgestützten Data Matrix 1000 in 25 und dem Data-Matrix-ULC-Detail 1100 in 26.
  • Sobald die Sensormodule aktiviert sind, wird im Idealfall die visuelle sensorgestützte Data Matrix 1200 angezeigt, wie in 27 dargestellt. Das Sensordatenbitmuster B15-B1 von 001000111101011 wird nun gezeigt, und durch Lesen der oben beschriebenen Data Matrix unter Durchführung zusätzlicher Standard-BCH-Decodiertechniken an dem Sensordatenbitmuster wird der Sensordatenwert 4 wiederhergestellt. Es ist zu beachten, dass die Data Matrix 1200 mit der zugrundeliegenden Data Matrix 1000 identisch ist, wobei die überdruckten Sensorfarbstoffmodule jetzt auf Schwarz aktiviert sind (aus Gründen der Klarheit jedoch in Dunkelgrau als 1220 in 27 dargestellt), um das Sensordatenbitmuster B15-B1 und das Anzeigebitmuster 1210 nun als „11“ zu erhalten.
  • Die dritte bevorzugte Ausführungsform verwendet auch eine temperaturempfindliche Sensorfarbstoffchemie. Hier werden Sensorfarbstoffmodule im nicht aktivierten Farbzustand als einzelnes Sensorfarbstofffeld in der invarianten Bitmap einer zugrundeliegenden Data-Matrix, die auf einem weißen Medium gedruckt ist, überdruckt.
  • Jede Sensorfarbstoffchemie R→S kann verwendet werden, vorausgesetzt, die willkürlichen Farbzustände R und S haben beide 1) eine ausreichende visuelle Farbzustandsänderung und 2) einen ausreichenden Kontrast bei einer Leserbeleuchtung von 660 nm, sodass der R-Farbzustand als W oder B scannt und der S-Farbzustand als Komplementärfarbe, B oder W, scannt. Dies ermöglicht, dass das Sensorfarbstofffeld entweder im nicht aktivierten oder im aktivierten Farbzustand sowohl visuell unterscheidbar als auch maschinenlesbar ist, um die Sensorfarbstoffmodule mithilfe der oben genannten Data-Matrix-Lesetechniken als Bild wiederherzustellen und dieses weiterzuverarbeiten, um den Aktivierungszustand des Sensorfarbstofffelds zu bestimmen.
  • Verschiedene Drucker oder verschiedene Stationen derselben Druckmaschine können verwendet werden: Zuerst wird das zugrundeliegende Data-Matrix-Symbol gedruckt und später wird es in einem separaten Prozess mit dem Sensorfarbstofffeld überdruckt.
  • In diesem Beispiel ist eine Sensorfarbstoffchemie X→B dargestellt. Das Sensorfarbenfeld ist ein Quadrat mit einer Größe von ungefähr 2×2-Sensorfarbenmodulen. Es ist von einem weißen Bereich mit einer Größe von 4x4-Modulen eingerahmt und in diesem zentriert. Dieser weiße 4x4-Rahmen wird in der invarianten Bitmap einer 16x16-Data Matrix positioniert, um sicherzustellen, dass der weiße 4x4-Rahmen und das beigefügte Sensorfarbstofffeld über einen weiten Bereich von Data-Matrix-Symbolgrößen immer an der gleichen Position in Bezug auf ULC sind.
  • 28 zeigt die Position des weißen 4×4-Rahmens 1310 (von Bit 3.6 bis Bit 5.8) innerhalb des beispielhaften 16×16-Data-Matrix-Symbols 1300. Der weiße 4x4-Rahmen 1310 enthält 4 Reihen von Utah-Bits, die wie folgt aufgebaut sind:
    • Zeile 1: Bits 3.6, 3.7, 3.8, 4.3
    • Zeile 2: Bits 2.5, 5.1, 5.2, 5.3
    • Zeile 3: Bits 2.8, 5.3, 5.4, 5.5
    • Zeile 4: Bits 6.2, 5.6, 5.7, 5.8
  • Es ist zu beachten, dass in dieser dritten bevorzugten Ausführungsform die Bits 3.6 und 3.7 nicht wie in der ersten und zweiten bevorzugten Ausführungsform als Anzeigebits verwendet werden, sondern hier vielmehr Teil des weißen 4×4-Rahmens sind.
  • Ein naiver Ansatz wäre, das zugrundeliegende gedruckte Data-Matrix-Symbol ohne Datenbeschränkung zu erstellen und einfach weiße Module auf den 16 zugrundeliegenden Data-Matrix-Modulen im weißen 4x4-Rahmen 1310 zu überdrucken. Abhängig von den codierten Daten und davon, ob in 1310 schwarze Module absichtlich überdruckt wurden, könnten bis zu 5 Utahs und ihre codierten Codewörter durch Überdrucken absichtlich beschädigt werden. Ein herkömmlicher Ansatz zur Verwendung der Reed-Solomon-Fehlerkorrektur zur Wiederherstellung von bis zu 5 beschädigten Codewörtern während des Lesens einer Data Matrix würde die Verwendung von bis zu 10 der 12 verfügbaren RSEC-Codewörter in einem 16×16-Data-Matrix-Symbol erfordern. Dadurch bleiben nur wenige RSEC-Codewörter für andere versehentliche Symbolschäden verfügbar.
  • Wie in den Beispielen, die in der ersten und zweiten bevorzugten Ausführungsform gezeigt sind, wird auch in diesem Beispiel die Symboldatencodierung unter Verwendung der GS1-Anwendungskennung AI (90) und des Utah-1-7-Datenstrukturformats durchgeführt. Symboldaten, die für die dritte bevorzugte Ausführungsform spezifisch sind, sind in Tabelle 8 codiert. Der Einfachheit halber sind die Inhalte der Utahs 8-24 in der Data Matrix 1300 grau dargestellt, da sie für die Codierung von AI (90) nicht relevant sind.
  • Die Utahs 1 und 7 sind von der Erstellung des weißen 4x4-Rahmens 1310 nicht betroffen, da sie keine Bits innerhalb von 1310 haben. Die Utah-Bits 2.5 und 2.8 liegen innerhalb von 1310. In der AI-(90)-Datenkcdierung ist Bit 2.5 = „1“ und daher wird Utah 2 absichtlich beschädigt, wenn von einem weißen Modul überschrieben. Utah 5 liegt vollständig innerhalb des weißen 4x4-Rahmens 1310. Da die Daten übrigens mit der ISO/IEC-16022-Data-Matrix codiert sind, befindet sich in jeder gültigen Utah immer mindestens 1 schwarzes Modul; unabhängig davon, welches 7-Bit-ASCII-Datenzeichen in Utah 5 codiert ist, wird es und sein Codewort daher absichtlich beschädigt, indem alle Utah-5-Module mit weißen Modulen überdruckt werden.
  • Es ist jedoch möglich, eine absichtliche Beschädigung von Bitpositionen in den Utahs 3, 4 und 6, die sich innerhalb des weißen 4x4-Rahmens befinden, zu vermeiden, indem lediglich die Daten beschränkt werden, die in diesen Codewörtern codiert werden dürfen, sodass keine schwarzen Module („1“-Bits) in den Utah-Bits 3.6-3.8, 4.3, 4.6 und 6.2 vorhanden sind. Unter der Annahme, dass „x“ eine „egal“ -Bitposition an jeder bestimmten Bitposition innerhalb einer Utah darstellt, lauten die zulässigen 8-Bit-Data-Matrix-Codewortformen:
    • Utah 3:xxxxx000
    • Utah 4: xx0xx0xx
    • Utah 6: xOxxxxxx
  • Tabelle 8 zeigt den AI-(90)-Datenstring für dieses dritte bevorzugte Ausführungsbeispiel in den ersten 7 Utahs der zugrundeliegenden 16×16-Data Matrix 1400 in 29. Tabelle 8. AI-(90)-ASCII- und Data-Matrix-Codewort-String-Beispiel für Feldsensor
    Utah AI-(90)-Daten 7-Bit-ASCII-Eingabe Hexadezimales Codewort Anmerkungen
    1 FNC1 druckerabhängig, siehe Anmerkungen E8 FNC1 ist kein 7-Bit-ASCII-Wert, daher wird eine Sonderzeichenfolge an den Drucker gesendet, die am Anfang des GS1-Al-Strings eingefügt wird
    2 90 90 DC Data Matrix codiert 2 Ziffern/Codewort
    3 siehe Anmerkungen BEL 08 Binärform: xxxxx000, also Bits 3.6-3.8 = „000“.
    Als Beispiel werden hier die Bits 3.1-3.5 auf
    „00001“ gesetzt, um ein Farbstofffeldsymbol mit einer Sensorfarbstoffchemie X→B zu signalisieren
    4 siehe „Q“ 52 Binärform: xx0xx0xx
    Anmerkungen Hier ist die Binärform 01010010 (7-Bit-ASCII „Q“) ein Beispiel für ein zusätzliches Datenzeichen
    5 produktbezogen ‚?'‘ 40 beliebiger 7-Bit-ASCII-Wert. Hier wird ASCII 63, der „?“ entspricht, als Beispiel verwendet.
    6 produkt- „7“ 38 Binärform: x0xxxxxx
    bezogen Es kann jeder 7-Bit-ASCII-Wert verwendet werden, der kleiner als 64 Dezimalstellen ist. Als Beispiel wird „7“ (ASCII 55) verwendet.
    7 GS oder FNC1 GS 1E beendet den Al-(90)-String
  • In 29 wird die zugrundeliegende Data Matrix 1400 nur mit den Informationen in Tabelle 8 gedruckt. Die verbleibenden Data-Matrix-Datencodewörter (Utahs 8-12) werden mit Data-Matrix-Füllzeichen gefüllt. Die letzten 12 Codewörter im Symbol (Utahs 13-24) sind RSEC-Fehlerkorrektur-Codewörter.
  • In 30 ist ein weißer 4×4-Rahmen 1510 innerhalb der invarianten Bitmap der Data Matrix 1400 gezeigt, die dem weißen 4x4-Bereich 1310 in 28 entspricht. Es gibt verschiedene Möglichkeiten, diesen weißen 4x4-Rahmen 1510 herzustellen, einschließlich des physischen Überdruckens von weißen Modulen auf der zugrundeliegenden Data Matrix 1400. Eine bessere Möglichkeit zur Änderung der Data-Matrix-Codierungs- und Symbolerzeugungssoftware für das zugrundeliegende Symbol besteht darin, die codierte 14x14-Bitmap der Data Matrix zu ändern, um sicherzustellen, dass alle Bitpositionen in 1510 vor der Konvertierung zu schwarzen und weißen Modulen auf „0“ gesetzt werden oder alternativ alle Module in dem weißen 4×4-Bereich 1510 vor dem Drucken der Data Matrix 1400 auf Weiß gesetzt werden. Somit werden überhaupt keine schwarzen Module in dem weißen 4x4-Bereich 1510 gedruckt, wodurch kein Überdruckschritt für weiße Module erforderlich ist.
  • Wie in der zweiten bevorzugten Ausführungsform wird in der dritten bevorzugten Ausführungsform ein sekundärer Druckschritt verwendet, um ein ungefähr 2x2-Sensorfarbstofffeld 1620 innerhalb des weißen 4×4-Rahmens 1510 zu drucken, wie in 31 gezeigt. Hier ist das Sensorfarbstofffeld 1602 als aktiviert dargestellt (zur Klarheit wegen in einer violetten Farbe).
  • Eine der Aufgaben der dritten bevorzugten Ausführungsform besteht darin, dass bei Aktivierung des Sensorfarbstoffs eine sichtbare Änderung des Farbzustands des Sensorfarbstofffelds 1520 innerhalb des weißen 4×4-Rahmens 1510 auftritt. Die zweite Aufgabe ist es, dass eine Sensorfarbstoffchemie verwendet wird, die einen angemessenen Kontrast zu dem oben beschriebenen Data-Matrix-Leser aufweist, sodass das Sensorfarbstofffeld 1620 als W- oder B-Module gelesen wird, wenn es nicht aktiviert ist, und als Komplementärfarb-B- oder W-Module gelesen wird, wenn es aktiviert ist. Dann kann das Vorhandensein sowohl des nicht aktivierten als auch des aktivierten Sensorfarbstofffelds unter Verwendung der oben beschriebenen Lesemethoden für einen Data-Matrix-Leser maschinenlesbar sein.
  • Eine weitere Verbesserung der dritten bevorzugten Ausführungsform betrifft den Data-Matrix-Lesevorgang: Es ist das Wissen anzuwenden, dass die Codewörter der Utahs 2 und 5 absichtlich beschädigt wurden, um die Effizienz des Reed-Solomon-Fehlerkorrekturprozesses bei der Symbolcodewortsequenz-Wiederherstellung zu verbessern. Das Erkennen und Korrigieren eines fehlerhaften Codeworts an einer unbekannten Stelle in der kombinierten Daten-plus-RSEC-Codewortsequenz erfordert die Verwendung von 2 RSEC-Zeichen pro beschädigtem Codewort. Wenn jedoch die Position der beschädigten Codewörter bekannt ist, bevor der Reed-Solomon-Fehlerkorrekturprozess angewendet wird (in diesem Fall in den Codewörtern 2 und 5), ist nur 1 RSEC-Codewort erforderlich, um den korrekten Codewortwert jedes identifizierten beschädigten Codeworts wiederherzustellen. Dadurch bleiben zusätzliche nicht verwendete RSEC-Codewörter für andere Korrekturen versehentlicher Data-Matrix-Symbolschäden verfügbar.
  • Alternative Ausführungsformen beinhalten die Verwendung von einem oder mehreren von:
    • • anderen zweidimensionalen Fehlerkorrektur-Strichcode-Symbolen anstelle von Data Matrix, einschließlich QR-Code, Aztec-Code, MaxiCode, PDF417 und Dot-Code;
    • • alternativen Sensorfarbstoffchemien, die andere Farbzustände als schwarz, weiß oder transparent verwenden, wie einen kontinuierlich variablen Farbzustand zwischen einem Anfangszustand und einem Endzustand;
    • • zugrundeliegenden gedruckten zweidimensionalen Fehlerkorrektur-Strichcode-Symbolen, wobei entweder der erste Farbzustand oder der zweite Farbzustand des Symbols andere Farben als Schwarz oder Weiß sind;
    • • zugrundeliegenden zweidimensionalen Fehlerkorrektur-Strichcode-Symbolen, wobei entweder der erste Farbzustand die unmarkierte Medienfläche sein kann und der zweite Farbzustand eine Änderung einer direkt markierten Medienfläche sein kann oder umgekehrt;
    • • Überdrucken eines zweidimensionalen Fehlerkorrektur-Strichcode-Symbols auf einer Farbanzeige oder einem Sensorfarbstofffeld, die bzw. der die Farbe kontinuierlich ändert;
    • • Überdrucken einer Farbanzeige oder eines Sensorfarbstofffelds, die bzw. der die Farbe kontinuierlich ändert, auf einem zweidimensionalen Fehlerkorrektur-Strichcode-Symbol.
  • In einem beispielhaften Aspekt der vorliegenden Offenbarung beinhaltet ein sensorgestützter zweidimensionaler Strichcode ein Substrat, eine erste Schicht, die auf dem Substrat vorgesehen ist, und eine zweite Schicht, die auf dem Substrat vorgesehen ist. Die erste Schicht umfasst einen Sensorfarbstoffbereich, der einen Sensorfarbstoff mit einer Chemie umfasst, die so konfiguriert ist, dass sie eine kontinuierliche chemische oder physikalische Zustandsänderung zwischen einem Anfangszustand und einem Endzustand in Reaktion auf das Auftreten einer Umgebungsbedingung durchläuft, wodurch eine Änderung des Farbzustands des Sensorfarbstoffs verursacht wird. Der Farbzustand zeigt die Exposition gegenüber der Umgebungsbedingung an. Die zweite Schicht umfasst ein zweidimensionales Fehlerkorrektur-Strichcodesymbol, das eine Vielzahl von Modulen in einem permanenten Farbzustand umfasst. Die Module sind optional quadratisch, rechteckig oder kreisförmig.
  • Gemäß einem weiteren beispielhaften Aspekt der vorliegenden Offenbarung, der in Kombination mit einer oder mehreren der vorhergehenden Aspekte verwendet werden kann, ist die zweite Schicht mit einem Merkmal der ersten Schicht ausgerichtet, und wobei vorzugsweise der Sensorfarbstoffbereich so in einem invarianten Bereich des zweidimensionalen Strichcodes positioniert ist, dass eine obere linke Ecke der zweiten Schicht mit einer oberen linken Ecke der ersten Schicht ausgerichtet ist.
  • Gemäß einem weiteren beispielhaften Aspekt der vorliegenden Offenbarung, der in Kombination mit einem oder mehreren der vorhergehenden Aspekte verwendet werden kann, wird die Umgebungsbedingung aus der Gruppe ausgewählt, bestehend aus Zeit, Temperatur und Zeit-Temperatur-Produkt, und wobei vorzugsweise der Sensorfarbstoff den Farbzustand zwischen dem Anfangszustand und dem Endzustand kontinuierlich ändert, wenn er der Umgebungsbedingung ausgesetzt wird.
  • Gemäß einem weiteren beispielhaften Aspekt der vorliegenden Offenbarung, der in Kombination mit einem oder mehreren der vorhergehenden Aspekte verwendet werden kann, wird die zweite Schicht über die erste Schicht gedruckt.
  • Gemäß einem weiteren beispielhaften Aspekt der vorliegenden Offenbarung, der in Kombination mit einem oder mehreren der vorhergehenden Aspekte verwendet werden kann, wird die erste Schicht über die zweite Schicht gedruckt.
  • Gemäß einem weiteren beispielhaften Aspekt der vorliegenden Offenbarung, der in Kombination mit einem oder mehreren der vorhergehenden Aspekte verwendet werden kann, bildet die zweite Schicht ein lesbares Strichcodesymbol in der Symbologie eines zweidimensionalen Strichcodes.
  • Gemäß einem weiteren beispielhaften Aspekt der vorliegenden Offenbarung, der in Kombination mit einem oder mehreren der vorhergehenden Aspekte verwendet werden kann, stammt das zweidimensionale Fehlerkorrektur-Strichcodesymbol aus der Symbologiegruppe, bestehend aus Data-Matrix-, QR-Code-, Aztec-Code-, MaxiCode-, PDF417- und Dot-Code-Symbologien.
  • Gemäß einem weiteren beispielhaften Aspekt der vorliegenden Offenbarung, der in Kombination mit einem oder mehreren der vorhergehenden Aspekte verwendet werden kann, verwendet das zweidimensionale Fehlerkorrektur-Strichcodesymbol eine Reed-Solomon-Korrektur.
  • Gemäß einem weiteren beispielhaften Aspekt der vorliegenden Offenbarung, der in Kombination mit einem oder mehreren der vorhergehenden Aspekte verwendet werden kann, befindet sich der Sensorfarbstoff anfangs in einem ersten Farbzustand, wenn er nicht aktiviert ist, und ändert sich dynamisch auf eine Vielzahl von unterschiedlichen Farbzuständen innerhalb eines Bereichs zwischen dem Anfangszustand und dem Endzustand, bevor der Endzustand erreicht wird.
  • Gemäß einem anderen beispielhaften Aspekt der vorliegenden Offenbarung, der in Kombination mit einem oder mehreren der vorhergehenden Aspekte verwendet werden kann, erreicht der Sensorfarbstoff einen vorbestimmten Zwischenzustand zwischen dem Anfangszustand und dem Endzustand, wenn die spezifizierte Bedingung der erfassten Eigenschaft über einem Schwellenwert liegt, wobei der Schwellenwert vorzugsweise eine gekennzeichnete Produktlebensdauer ist.
  • Gemäß einem weiteren beispielhaften Aspekt der vorliegenden Offenbarung, der in Kombination mit einem oder mehreren der vorhergehenden Aspekte verwendet werden kann, ändert sich der Sensorfarbstoff dynamisch auf eine Vielzahl von unterschiedlichen Farbzuständen, die mit einem von verstrichener Produktlebensdauer und verbleibender gekennzeichneter Produktlebensdauer assoziiert sind.
  • Gemäß einem weiteren beispielhaften Aspekt der vorliegenden Offenbarung, der in Kombination mit einem oder mehreren der vorhergehenden Aspekte verwendet werden kann, kann die erste Schicht optional digitale Sensorinformationen bereitstellen, wobei die digitalen Sensorinformationen vorzugsweise in einer invarianten Pixelkarte des zweidimensionalen Symbols codiert sind und mehr bevorzugt als binär codierte Sensordaten codiert sind, und mehr bevorzugt sind die binär codierten Sensordaten in einem Fehlerkorrekturcode, der vorzugsweise aus der Gruppe ausgewählt ist, bestehend aus Hamming-Codes, Bose-Chaudhuri-Hocquenghem-Codes, Golay-Codes , Simplex-Codes, Reed-Muller-Codes, Fire-Codes, Faltungscodes und Reed-Solomon-Codes.
  • Gemäß einem weiteren beispielhaften Aspekt der vorliegenden Offenbarung, der in Kombination mit einem oder mehreren der vorhergehenden Aspekte verwendet werden kann, beinhaltet der zweidimensionale Fehlerkorrektur-Strichcode codierte Anwendungskennungen, und wobei vorzugsweise eine erste Anwendungskennung die Größe und den Ort des Sensorfarbstoffbereichs anzeigt und eine zweite Anwendungskennung Parameter der Produktlebensdauergleichung anzeigt, wobei vorzugsweise die Parameter der Produktlebensdauergleichung Arrhenius-Gleichungsparameter sind.
  • Gemäß einem weiteren beispielhaften Aspekt der vorliegenden Offenbarung, der in Kombination mit einem oder mehreren der vorhergehenden Aspekte verwendet werden kann, pharmazeutisches, biologisches oder Lebensmittelprodukt, vorzugsweise ein Impfstoff; ein Behälter, der das pharmazeutische, biologische oder Lebensmittelprodukt, vorzugsweise eine Impfstoffampulle, enthält; und ein sensorgestütztes zweidimensionales Strichcodesymbol, das an oder in dem Behälter vorgesehen ist und vorzugsweise auf der Außenfläche des Behälters angebracht ist.
  • In einem beispielhaften Aspekt der vorliegenden Offenbarung beinhaltet das Verfahren zum Lesen eines sensorgestützten zweidimensionalen Strichcodesymbols das optische Scannen eines Bildes des sensorgestützten zweidimensionalen Strichcodesymbols, um Farbwerte für Pixel in dem Bild zu erhalten. Dann wird eine gescannte Pixelkarte erstellt, die die Farbwerte in dem sensorgestützten zweidimensionalen Strichcodesymbol enthält, und die Pixel in der gescannten Pixelabbildung werden verarbeitet, um jedem Pixel einen binären Farbwert zuzuweisen und eine binarisierte Pixelkarte zu bilden. Das zweidimensionale Strichcodesymbol wird in der binarisierten Pixelkarte identifiziert und decodiert, um eine Symbolcodewortsequenz wiederherzustellen. Als nächstes werden zugrundeliegende Datencodewörter aus der Symbolcodewortsequenz wiederhergestellt, vorzugsweise unter Durchführung eines Fehlerkorrekturprozesses an der Symbolcodewortsequenz. Die Datencodewörter werden zur Identifikation von Strichcodemodulen in einem Sensorfarbstoffbereich verarbeitet und ein durchschnittlicher Farbwert der Strichcodemodule im Sensorfarbstoffbereich wird bestimmt. Der durchschnittliche Farbwert des Sensorfarbstoffbereichs wird verarbeitet, um einen prozentualen Reflexionsgrad des einfallenden Lichts zum Zeitpunkt des Scannens zu bestimmen.
  • Gemäß einem weiteren beispielhaften Aspekt der vorliegenden Offenbarung, der in Kombination mit einem oder mehreren der vorhergehenden Aspekte verwendet werden kann, beinhaltet das Verfahren das Verarbeiten einer Pixelkarte der digitalen Sensorinformationen, um den Sensorfarbstoffbereich zu identifizieren und Informationen zur Produktlebensdauer anhand eines Farbzustands des Sensorfarbstoffbereichs zu bestimmen.
  • Gemäß einem weiteren beispielhaften Aspekt der vorliegenden Offenbarung, der in Kombination mit einem oder mehreren der vorhergehenden Aspekte verwendet werden kann, umfasst das Verarbeiten von Farbinformationen das Erfassen eines Weißlichtreflexionsgrads von Pixeln, die in dem Sensorfarbstoffbereich umfasst sind, und das Erzeugen eines Farblichtfiltereffekts auf Reflexionsgraddaten von den gescannten Pixeln unter Verwendung eines Filters, um gefilterte Farbbildwerte der Pixel in einer gescannten Pixelkarte zu erzeugen.
  • Gemäß einem weiteren beispielhaften Aspekt der vorliegenden Offenbarung, der in Kombination mit einem oder mehreren der vorhergehenden Aspekte verwendet werden kann, beinhaltet das Verfahren ferner das Reduzieren der gefilterten Farbbildwerte auf Graustufenwerte, wodurch eine Graustufen-Pixelkarte erzeugt wird.
  • Gemäß einem weiteren beispielhaften Aspekt der vorliegenden Offenbarung, der in Kombination mit einem oder mehreren der vorhergehenden Aspekte verwendet werden kann, umfasst das Verarbeiten von Farbinformationen das Erfassen eines Weißlichtreflexionsgrads von Pixeln, die in dem Sensorfarbstoffbereich umfasst sind, und das Erzeugen eines Farblichtfiltereffekts auf Reflexionsgraddaten von den gescannten Pixeln unter Verwendung eines Filters, um gefilterte Farbbildwerte der Pixel in einer gescannten Pixelkarte zu erzeugen.
  • Gemäß einem weiteren beispielhaften Aspekt der vorliegenden Offenbarung, der in Kombination mit einem oder mehreren der vorhergehenden Aspekte verwendet werden kann, beinhaltet das Verarbeiten von Farbinformationen das Reduzieren der gefilterten Farbbildwerte in der gescannten Pixelkarte auf Graustufenwerte, das Bestimmen einer durchschnittlichen Graustufenwerts des durchschnittlichen Farbwerts der Strichcodemodule und das Verarbeiten des durchschnittlichen Grauwerts, um den prozentualen Reflexionsgrad des einfallenden Lichts zum Zeitpunkt des Scannens zu bestimmen.
  • Gemäß einem weiteren beispielhaften Aspekt der vorliegenden Offenbarung, der in Kombination mit einem oder mehreren der vorhergehenden Aspekte verwendet werden kann, umfasst das Verarbeiten der Pixel in der gescannten Pixelkarte das Klassifizieren jedes Pixels als eines von einem schwarzen Pixel, einem weißen Pixel und einem Farbpixel.
  • Gemäß einem weiteren beispielhaften Aspekt der vorliegenden Offenbarung, der in Kombination mit einem oder mehreren der vorhergehenden Aspekte verwendet werden kann, werden die schwarzen Pixel, die weißen Pixel und die Farbpixel verwendet, um eine ternarisierte Pixelkarte zu bilden, und werden die schwarzen und weißen Pixel in der ternarisierten Pixelkarte verwendet, um das zweidimensionale Strichcodesymbol in der ternarisierten Pixelkarte zu identifizieren.
  • Gemäß einem weiteren beispielhaften Aspekt der vorliegenden Offenbarung, der in Kombination mit einem oder mehreren der vorhergehenden Aspekte verwendet werden kann, beinhaltet das Verfahren das Klassifizieren jedes Pixels in dem invarianten Bereich als eines von einem schwarzen Pixel, einem weißen Pixel und einem Farbpixel. Zusätzlich umfasst das Verfahren optional das Bestimmen des durchschnittlichen Grauwerts der Farbpixel und das Verarbeiten des durchschnittlichen Grauwerts, um den aktuellen prozentualen Reflexionsgrad zum Abtastzeitpunkt zu bestimmen.
  • Gemäß einem weiteren beispielhaften Aspekt der vorliegenden Offenbarung, der in Kombination mit einem oder mehreren der vorhergehenden Aspekte verwendet werden kann, befindet sich der Sensorfarbstoffbereich in einem invarianten Bereich eines Data-Matrix-Strichcodesymbols.
  • Gemäß einem weiteren beispielhaften Aspekt der vorliegenden Offenbarung, der in Kombination mit einem oder mehreren der vorhergehenden Aspekte verwendet werden kann, beinhaltet das Verfahren ferner das Wiederherstellen eines visuellen Musters oder Bildes aus der digitalen Sensorinformation.
  • Gemäß einem weiteren beispielhaften Aspekt der vorliegenden Offenbarung, der in Kombination mit einem oder mehreren der vorhergehenden Aspekte verwendet werden kann, umfasst der Sensorfarbstoffbereich einen Sensorfarbstoff, der auf Umgebungsfaktoren anspricht, einschließlich mindestens eines von Temperatur, Zeit, Strahlung, Licht und toxischen Chemikalien.
  • Gemäß einem weiteren beispielhaften Aspekt der vorliegenden Offenbarung, der in Kombination mit einem oder mehreren der vorhergehenden Aspekte verwendet werden kann, beinhaltet der Sensorfarbstoffbereich einen Sensorfarbstoff, der auf Umgebungsfaktoren anspricht, einschließlich mindestens eines von Temperatur, Zeit, Strahlung, Licht und toxischen Chemikalien.
  • In einem beispielhaften Aspekt der vorliegenden Offenbarung umfasst ein Verfahren zum Lesen eines sensorgestützten zweidimensionalen Strichcodesymbols das optische Scannen eines Bildes des sensorgestützten zweidimensionalen Strichcodesymbols, um einen Graustufenwert für jedes Pixel in dem Bild zu erhalten. Dann wird eine Graustufen-Pixelkarte der Pixel im sensorgestützten zweidimensionalen Strichcodesymbol erstellt. Als nächstes beinhaltet das Verfahren das Verarbeiten der Pixel in der Graustufen-Pixelkarte, um jedem Pixel einen binären Farbwert zuzuweisen und eine binarisierte Pixelkarte zu bilden. Zusätzlich wird das Identifizieren des zweidimensionalen Strichcodesymbols in der binarisierten Pixelkarte identifiziert und decodiert, um eine Symbolcodewortsequenz wiederherzustellen. Dann werden zugrundeliegende Datencodewörter aus der Symbolcodewortsequenz unter Durchführung eines Fehlerkorrekturprozesses an den Symbolcodewörtern wiederhergestellt. Die Datencodewörter werden zur Identifizierung der Strichcodemodule in einem Sensorfarbstoffbereich verarbeitet. Dann wird ein durchschnittlicher Graustufenwert der Strichcodemodule im Sensorfarbstoffbereich bestimmt, und die durchschnittlichen Graustufenwerte des Sensorfarbstoffbereichs werden verarbeitet, um einen prozentualen Reflexionsgrad des einfallenden Lichts zum Zeitpunkt des Scannens zu bestimmen.
  • Gemäß einem weiteren beispielhaften Aspekt der vorliegenden Offenbarung, der in Kombination mit einem oder mehreren der vorhergehenden Aspekte verwendet werden kann, wird ein Bandpassfilter verwendet, wenn das Bild optisch gescannt wird, um den Effekt einer monochromen Beleuchtung zu erzeugen.
  • Gemäß einem weiteren beispielhaften Aspekt der vorliegenden Offenbarung, der in Kombination mit einem oder mehreren der vorhergehenden Aspekte verwendet werden kann, wird eine Lichtquelle verwendet, um das Bild optisch zu scannen, wobei die Lichtquelle eine monochrome Lichtquelle ist, wobei vorzugsweise die monochrome Lichtquelle ein monochromer Laser ist.
  • Gemäß einem weiteren beispielhaften Aspekt der vorliegenden Offenbarung, der in Kombination mit einem oder mehreren der vorhergehenden Aspekte verwendet werden kann, wird ein Strichcodebildgeber verwendet, um das Bild optisch zu scannen, und wobei der Strichcodebildgeber nur auf Graustufenwerte anspricht.
  • In einem beispielhaften Aspekt der vorliegenden Offenbarung beinhaltet ein sensorgestützter zweidimensionaler Strichcode ein Substrat; ein zweidimensionales Fehlerkorrektur-Strichcodesymbol, das auf dem Substrat vorgesehen ist; eine erste Schicht, die in einem permanenten Farbzustand auf dem Substrat vorgesehen ist; und eine zweite Schicht, die auf dem Substrat vorgesehen ist. Das Strichcodesymbol beinhaltet ferner eine Vielzahl von Modulen, wobei die Module optional quadratisch, rechteckig oder kreisförmig sind, wobei jedes Modul einen ersten Farbzustand oder einen zweiten Farbzustand aufweist. Die zweite Schicht wird optional durch Überdrucken der ersten Schicht in einem Sensorfarbstoff-Modulmuster bereitgestellt, wobei das Sensorfarbstoff-Modulmuster digitale Sensorinformationen enthält. Die zweite Schicht beinhaltet ferner einen Sensorfarbstoff mit einer Chemie, die so konfiguriert ist, dass sie in Reaktion auf das Auftreten eines Umgebungs-, physikalischen oder biologischen Zustands eine chemische oder physikalische Zustandsänderung durchläuft, die eine Änderung des Farbzustands des Sensorfarbstoffs bewirkt, wodurch sich der Farbzustand einer Teilmenge der Vielzahl von Modulen ändert.
  • Gemäß einem anderen beispielhaften Aspekt der vorliegenden Offenbarung, der in Kombination mit einem oder mehreren der vorhergehenden Aspekte verwendet werden kann, wird die Umgebungsbedingung aus der Gruppe ausgewählt, bestehend aus Zeit, Temperatur, Zeit-Temperatur-Produkt, Licht, Feuchtigkeit, Gasdampf und nuklearer Strahlung, und wobei vorzugsweise der Sensorfarbstoff den Farbzustand dauerhaft ändert, wenn die Umgebungsbedingung einen Schwellenwert überschreitet.
  • Gemäß einem weiteren beispielhaften Aspekt der vorliegenden Offenbarung, der in Kombination mit einem oder mehreren der vorhergehenden Aspekte verwendet werden kann, bildet die erste Schicht ein lesbares Strichcodesymbol in der Symbologie des zweidimensionalen Strichcodes.
  • Gemäß einem weiteren beispielhaften Aspekt der vorliegenden Offenbarung, der in Kombination mit einem oder mehreren der vorhergehenden Aspekte verwendet werden kann, stammt das zweidimensionale Fehlerkorrektur-Strichcodesymbol aus der Symbologiegruppe, bestehend aus Data-Matrix-, QR-Code-, Aztec-Code-, MaxiCode-, PDF417- und Dot-Code-Symbologien.
  • Gemäß einem weiteren beispielhaften Aspekt der vorliegenden Offenbarung, der in Kombination mit einem oder mehreren der vorhergehenden Aspekte verwendet werden kann, verwendet das zweidimensionale Fehlerkorrektur-Strichcodesymbol eine Reed-Solomon-Korrektur.
  • Gemäß einem weiteren beispielhaften Aspekt der vorliegenden Offenbarung, der in Kombination mit einem oder mehreren der vorhergehenden Aspekte verwendet werden kann, befindet sich der Sensorfarbstoff anfänglich in einem schwarzen, weißen oder transparenten Farbzustand, wenn er nicht aktiviert ist, und wechselt in einen anderen Farbzustand, wenn er aktiviert ist.
  • Gemäß einem weiteren beispielhaften Aspekt der vorliegenden Offenbarung, der in Kombination mit einem oder mehreren der vorhergehenden Aspekte verwendet werden kann, ändert der Sensorfarbstoff dauerhaft den Farbzustand, wenn die spezifizierte Bedingung der erfassten Eigenschaft über oder unter einem Schwellenwert liegt.
  • Gemäß einem weiteren beispielhaften Aspekt der vorliegenden Offenbarung, der in Kombination mit einem oder mehreren der vorhergehenden Aspekte verwendet werden kann, ist die spezifizierte Bedingung der erfassten Eigenschaft der Nachweis des Vorhandenseins eines biologischen Organismus, eines biologischen Mittels oder eines biologischen Toxins, vorzugsweise unter Verwendung eines kolorimetrischen Immunoassays.
  • Gemäß einem weiteren beispielhaften Aspekt der vorliegenden Offenbarung, der in Kombination mit einem oder mehreren der vorhergehenden Aspekte verwendet werden kann, stellt die zweite Schicht digitale Sensorinformationen bereit, wobei die digitalen Sensorinformationen vorzugsweise in einer invarianten Bitmap des zweidimensionalen Symbols codiert sind und mehr bevorzugt als binär codierte Sensordaten codiert sind, und mehr bevorzugt sind die binär codierten Sensordaten in einem Fehlerkorrekturcode, vorzugsweise aus der Gruppe ausgewählt, bestehend aus Hamming-Codes, Bose-Chaudhuri-Hocquenghem-Codes, Golay-Codes, Simplex-Codes, Reed-Muller-Codes, Fire-Codes, Faltungscodes und Reed-Solomon-Codes.
  • Gemäß einem weiteren beispielhaften Aspekt der vorliegenden Offenbarung, der in Kombination mit einem oder mehreren der vorhergehenden Aspekte verwendet werden kann, ist die in dem Sensorfarbstoff-Modulmuster codierte digitale Sensorinformation ein visuelles Muster oder Bild.
  • Gemäß einem weiteren beispielhaften Aspekt der vorliegenden Offenbarung, der in Kombination mit einem oder mehreren der vorhergehenden Aspekte verwendet werden kann, beinhaltet ein Herstellungserzeugnis ein pharmazeutisches, biologisches oder Lebensmittelprodukt, vorzugsweise einen Impfstoff; einen Behälter, der das pharmazeutische, biologische oder Lebensmittelprodukt enthält, vorzugsweise eine Impfstoffampulle; und ein sensorgestütztes zweidimensionales Strichcodesymbol, das an oder in dem Behälter vorgesehen ist und vorzugsweise auf der Außenfläche des Behälters angebracht ist.
  • Gemäß einem weiteren beispielhaften Aspekt der vorliegenden Offenbarung umfasst ein Verfahren zum Lesen eines sensorgestützten zweidimensionalen Strichcodesymbols das Scannen und optische Verarbeiten eines Bildes des sensorgestützten zweidimensionalen Strichcodesymbols, einschließlich des Erstellens einer binären Scan-Bitmap aus gescannten Modulen des sensorgestützten zweidimensionalen Strichcodesymbols. Das Verfahren beinhaltet ferner das Konstruieren einer Symbolcodewortsequenz aus der binären Scan-Bitmap. Dann werden zugrundeliegende Datencodewörter aus der Symbolcodewortsequenz wiederhergestellt, vorzugsweise unter Durchführung eines Fehlerkorrekturprozesses an der Symbolcodewortsequenz, wobei der Fehlerkorrekturprozess vorzugsweise ein Reed-Solomon-Code ist. Als nächstes werden die zugrundeliegenden Datencodewörter verarbeitet, um die zugrundeliegende Symbolcodewortsequenz zu bilden. Das Verfahren beinhaltet ferner das Erstellen einer zugrundeliegenden binären Bitmap aus der binären Scan-Bitmap aus der zugrundeliegenden Symbolcodewortsequenz, wobei die zugrundeliegende binäre Bitmap vorzugsweise gleich groß wie die binäre Scan-Bitmap ist. Bei jeder Bitposition kann eine Exklusiv-ODER-Verknüpfung der binären Scan-Bitmap und der zugrundeliegenden binären Bitmap durchgeführt werden, um eine Bitmap digitaler Sensorinformationen zu bilden. Optional beinhaltet das Verfahren das Verarbeiten der Bitmap digitaler Sensorinformationen, um eine binäre Informationssequenz wiederherzustellen, die binär codierte Sensordaten enthält, vorzugsweise durch Verarbeiten der binären Informationssequenz als eine Fehlerkorrektur-Codesequenz und Verwenden eines Fehlerkorrekturprozesses, um binär codierte Sensordaten wiederherzustellen. Der FehlerkorrekturCode wird vorzugsweise aus der Gruppe ausgewählt, die aus Hamming-Codes, Bose-Chaudhuri-Hocquenghem-Codes, Golay-Codes, Simplex-Codes, Reed-Muller-Codes, Fire-Codes, Faltungscodes und Reed-Solomon-Codes besteht.
  • Gemäß einem weiteren beispielhaften Aspekt der vorliegenden Offenbarung, der in Kombination mit einem oder mehreren der vorhergehenden Aspekte verwendet werden kann, beinhaltet das Verfahren das Verarbeiten der Bitmap digitaler Sensorinformationen, um ein Sensorfarbstofffeld zu identifizieren und anhand eines Farbzustands des Sensorfarbstofffelds zu bestimmen, ob eine Aktivierung eines Sensorfarbstoffs in Reaktion auf eine Umgebungsbedingung erfolgt ist oder nicht.
  • Gemäß einem weiteren beispielhaften Aspekt der vorliegenden Offenbarung, der in Kombination mit einem oder mehreren der vorhergehenden Aspekte verwendet werden kann, befindet sich das Sensorfarbstofffeld in einem invarianten Bereich eines Data-Matrix-Strichcodesymbols.
  • Gemäß einem anderen beispielhaften Aspekt der vorliegenden Offenbarung, der in Kombination mit einem oder mehreren der vorhergehenden Aspekte verwendet werden kann, beinhaltet das Verfahren das Wiederherstellen eines visuellen Musters oder Bildes aus der Bitmap digitaler Sensorinformationen.
  • Gemäß einem anderen beispielhaften Aspekt der vorliegenden Offenbarung, der in Kombination mit einem oder mehreren der vorhergehenden Aspekte verwendet werden kann, kann ein Gerät ein Verfahren zum Erzeugen eines 2D-Strichcodes ausführen, umfasst das Bestimmen eines Satzes von Nutzdaten, einschließlich eines Satzes statischer Daten und eines Satzes dynamischer Daten, das Erzeugen eines 2D-Strichcodes, der eine codierte Version des Satzes statischer Daten und einen redundanten Raum beinhaltet, das Bezeichnen mindestens eines Teils des redundanten Raums als dynamischer Bereich, der zum Speichern des Satzes dynamischer Daten ausgelegt ist, und das Drucken des 2D-Strichcodes unter Verwendung einer statischen Tinte und einer codierten Version des Satzes der dynamischen Daten auf dem dynamischen Bereich unter Verwendung einer dynamischen Tinte, die Zustände in Reaktion auf mindestens eine Umgebungsänderung ändert, sodass sich der Satz dynamischer Daten in einem von einer Vielzahl von Zuständen befindet. Der Satz dynamischer Daten ist für einen Leser des 2D-Strichcodes lesbar und der Satz statischer Daten ist für den Leser des 2D-Strichcodes lesbar, wenn sich der Satz dynamischer Daten in jedem der mehreren Zustände befindet.
  • Gemäß einem anderen beispielhaften Aspekt der vorliegenden Offenbarung, der in Kombination mit dem vorhergehenden Aspekt verwendet werden kann, reagiert die dynamische Tinte auf Umgebungsfaktoren, einschließlich mindestens eines von Temperatur, Zeit, Strahlung, Licht und toxischer Chemikalien.
  • Gemäß einem weiteren beispielhaften Aspekt der vorliegenden Offenbarung, der in Kombination mit einem oder mehreren der vorhergehenden Aspekte verwendet werden kann, reagiert die dynamische Tinte auf Zeit und Temperatur.
  • Gemäß einem weiteren beispielhaften Aspekt der vorliegenden Offenbarung, der in Kombination mit einem oder mehreren der vorhergehenden Aspekte verwendet werden kann, reagiert die dynamische Tinte auf Gefrieren.
  • Gemäß einem weiteren beispielhaften Aspekt der vorliegenden Offenbarung, der in Kombination mit einem oder mehreren der vorhergehenden Aspekte verwendet werden kann, ändert sich die dynamische Tinte dauerhaft in Reaktion auf einen Umgebungsfaktor.
  • Gemäß einem weiteren beispielhaften Aspekt der vorliegenden Offenbarung, der in Kombination mit einem oder mehreren der vorhergehenden Aspekte verwendet werden kann, geht die dynamische Tinte in Reaktion auf das Auftreten eines bestimmten Umgebungsfaktors von einem ersten Zustand in einen zweiten Zustand über und kehrt in den ersten Zustand zurück, wenn der spezifische Umgebungsfaktor nicht mehr auftritt.
  • Gemäß einem weiteren beispielhaften Aspekt der vorliegenden Offenbarung, der in Kombination mit einem oder mehreren der vorhergehenden Aspekte verwendet werden kann, beinhaltet der redundante Raum mindestens eines von einer Vielzahl von nicht verwendeten Bits, einem Auffüllbereich und einem Fehlerfassungs- und Korrekturbereich.
  • Gemäß einem weiteren beispielhaften Aspekt der vorliegenden Offenbarung, der in Kombination mit einem oder mehreren der vorhergehenden Aspekte verwendet werden kann, beinhaltet der redundante Raum mindestens eines vom einem Formatinformationsbereich, einem Versionsinformationsbereich und einem Referenzdatenbereich.
  • Gemäß einem anderen beispielhaften Aspekt der vorliegenden Offenbarung, der in Kombination mit einem oder mehreren der vorhergehenden Aspekte verwendet werden kann, ist ein nicht privilegierter Leser in der Lage, die statischen Daten zu lesen, und ist nicht in der Lage, die dynamischen Daten des 2D-Strichcodes zu lesen.
  • Gemäß einem weiteren beispielhaften Aspekt der vorliegenden Offenbarung, der in Kombination mit einem oder mehreren der vorhergehenden Aspekte verwendet werden kann, sind nur privilegierte Leser in der Lage, die statischen Daten zu lesen, und sind nicht in der Lage, die dynamischen Daten des 2D-Strichcodes zu lesen.
  • Gemäß einem weiteren beispielhaften Aspekt der vorliegenden Offenbarung, der in Kombination mit einem oder mehreren der vorhergehenden Aspekte verwendet werden kann, kann ein Gerät ein Verfahren zum Bereitstellen eines 2D-Strichcodes ausführen, beinhaltet das Bestimmen eines Satzes statischer Daten, das Bestimmen eines Satzes dynamischer Daten, das Erzeugen eines ersten 2D-Strichcodes, das Erzeugen eines zweiten 2D-Strichcodes, das Vergleichen des ersten 2D-Strichcodes und des zweiten 2D-Strichcodes und das Kategorisieren der Informationsmodule in eine erste Gruppe und eine zweite Gruppe und das Drucken des 2D-Strichcodes in statischer Tinte und dynamischer Tinte. Der Satz dynamischer Daten hat einen ersten Zustand und einen zweiten Zustand. Der erste 2D-Strichcode beinhaltet eine codierte Version des Satzes statischer Daten und des Satzes dynamischer Daten im ersten Zustand. Der Satz statischer Daten und der Satz dynamischer Daten im ersten Zustand beinhaltet eine erste Vielzahl von Informationsmodulen und eine zweite Vielzahl von Informationsmodulen. Der zweite 2D-Strichcode beinhaltet eine codierte Version des Satzes statischer Daten und des Satzes dynamischer Daten im zweiten Zustand. Der Satz statischer Daten und der Satz dynamischer Daten im zweiten Zustand beinhalten eine dritte Vielzahl von Informationsmodulen und eine vierte Vielzahl von Informationsmodulen. Die dritte Vielzahl von Informationsmodulen umfasst alle der ersten Vielzahl von Informationsmodulen plus einen Satz von einem oder mehreren Informationsmodulen. Die zweite Vielzahl von Informationsmodulen beinhaltet alle der vierten Vielzahl von Informationsmodulen plus den Satz von einem oder mehreren Informationsmodulen. Die erste Gruppe umfasst gemeinsame Informationsmodule zwischen der ersten Vielzahl von Informationsmodulen des ersten 2D-Strichcodes und der dritten Vielzahl von Informationsmodulen des zweiten 2D-Strichcodes. Die zweite Gruppe beinhaltet einzigartige Informationsmodule der dritten Vielzahl von Informationsmodulen des zweiten 2D-Strichcodes. Die erste Gruppe wird in statischer Tinte gedruckt, und die zweite Gruppe wird in dynamischer Tinte gedruckt. Die dynamische Tinte kann in Reaktion auf das Auftreten eines bestimmten Umgebungsfaktors aktiviert werden.
  • Gemäß einem weiteren beispielhaften Aspekt der vorliegenden Offenbarung, der in Kombination mit einem oder mehreren der vorhergehenden Aspekte verwendet werden kann, sind die erste Vielzahl von Informationsmodulen und die dritte Vielzahl von Informationsmodulen schwarze Module und die zweite Vielzahl von Informationsmodulen und die vierte Vielzahl von Informationsmodulen sind weiße Module.
  • Gemäß einem weiteren beispielhaften Aspekt der vorliegenden Offenbarung, der in Kombination mit einem oder mehreren der vorhergehenden Aspekte verwendet werden kann, sind die erste Vielzahl von Informationsmodulen und die dritte Vielzahl von Informationsmodulen so angepasst, dass sie visuell von einer Druckoberfläche unterscheidbar sind, und sind die dritte Vielzahl von Informationsmodulen und die vierte Vielzahl von Informationsmodulen visuell nicht von der Druckoberfläche zu unterscheiden.
  • Gemäß einem weiteren beispielhaften Aspekt der vorliegenden Offenbarung, der in Kombination mit einem oder mehreren der vorhergehenden Aspekte verwendet werden kann, kann ein Gerät ein Verfahren zum Bereitstellen eines 2D-Strichcodes ausführen, beinhaltet das Bestimmen eines Satzes statischer Daten, das Bestimmen eines Satzes dynamischer Daten, das Erzeugen eines ersten 2D-Strichcodes, das Erzeugen eines zweiten 2D-Strichcodes, das Vergleichen des ersten 2D-Strichcodes und des zweiten 2D-Strichcodes und das Kategorisieren der Informationsmodule in eine erste Gruppe, eine zweite Gruppe und eine dritte Gruppe und das Drucken des 2D-Strichcodes unter Verwendung einer statischen Tinte, einer ersten dynamischen Tinte und einer zweiten dynamischen Tinte. Der Satz dynamischer Daten hat einen ersten Zustand und einen zweiten Zustand. Der erste 2D-Strichcode umfasst eine codierte Version des Satzes statischer Daten und des Satzes dynamischer Daten im ersten Zustand. Der Satz statischer Daten und der Satz dynamischer Daten im ersten Zustand beinhaltet eine erste Vielzahl von Informationsmodulen und eine zweite Vielzahl von Informationsmodulen. Der zweite 2D-Strichcode beinhaltet eine codierte Version des Satzes statischer Daten und des Satzes dynamischer Daten im zweiten Zustand. Der Satz statischer Daten und der Satz dynamischer Daten im zweiten Zustand umfassen eine dritte Vielzahl von Informationsmodulen und eine vierte Vielzahl von Informationsmodulen. Die erste Gruppe beinhaltet gemeinsame Informationsmodule zwischen der ersten Vielzahl von Informationsmodulen des ersten 2D-Strichcodes und der dritten Vielzahl von Informationsmodulen des zweiten 2D-Strichcodes. Die zweite Gruppe beinhaltet einzigartige Informationsmodule der dritten Vielzahl von Informationsmodulen des zweiten 2D-Strichcodes, und die dritte Gruppe umfasst einzigartige Informationsmodule der ersten Vielzahl von Informationsmodulen des ersten 2D-Strichcodes. Die erste Gruppe wird in der statischen, die zweite Gruppe in einer ersten dynamischen und die dritte Gruppe in einer zweiten dynamischen Tinte gedruckt. Die erste dynamische Tinte ist angepasst, um in Reaktion auf das Auftreten eines bestimmten Umgebungsfaktors deaktiviert zu werden, und die zweite dynamische Tinte ist angepasst, um in Reaktion auf das Auftreten des bestimmten Umgebungsfaktors aktiviert zu werden.
  • Gemäß einem anderen beispielhaften Aspekt der vorliegenden Offenbarung, der in Kombination mit einem oder mehreren der vorhergehenden Aspekte verwendet werden kann, reagieren die erste und die zweite dynamische Tinte auf Umgebungsfaktoren, einschließlich mindestens eines von Temperatur, Zeit, Strahlung, Licht und toxischen Chemikalien.
  • Gemäß einem weiteren beispielhaften Aspekt der vorliegenden Offenbarung, der in Kombination mit einem oder mehreren der vorhergehenden Aspekte verwendet werden kann, reagieren die erste dynamische Tinte und die zweite dynamische Tinte auf Zeit und Temperatur.
  • Gemäß einem weiteren beispielhaften Aspekt der vorliegenden Offenbarung, der in Kombination mit einem oder mehreren der vorhergehenden Aspekte verwendet werden kann, reagieren die erste dynamische Tinte und die zweite dynamische Tinte auf Gefrieren.
  • Gemäß einem weiteren beispielhaften Aspekt der vorliegenden Offenbarung, der in Kombination mit einem oder mehreren der vorhergehenden Aspekte verwendet werden kann, werden die erste dynamische Tinte und die zweite dynamische Tinte gleichzeitig aktiviert.
  • Gemäß einem weiteren beispielhaften Aspekt der vorliegenden Offenbarung, der in Kombination mit einem oder mehreren der vorhergehenden Aspekte verwendet werden kann, kann das Gerät ein Verfahren zum Bereitstellen eines 2D-Strichcodes ausführen, beinhaltet das Bestimmen eines Satzes von Nutzdaten, einschließlich eines Satzes statischer Daten und eines Satzes dynamischer Daten, mit einem ersten und einem zweiten Zustand, das Erzeugen eines 2D-Strichcodes, der eine codierte Version des Satzes statischer Daten, einen dynamischen Bereich, der zum Speichern des Satzes dynamischer Daten ausgelegt ist, und Fehlerfassungs- und Korrekturdaten umfasst, und das Drucken des 2D-Strichcodes unter Verwendung einer statischen Tinte und eines codierten Satzes der dynamischen Daten auf dem dynamischen Bereich unter Verwendung einer dynamischen Tinte, die Zustände in Reaktion auf mindestens eine Umgebungsänderung ändert, sodass sich der Satz dynamischer Daten i ersten oder zweiten Zustand befindet; und die Fehlererfassungs- und Korrekturdaten berücksichtigen Änderungen in dem Satz dynamischer Daten in dem dynamischen Bereich, sodass der 2D-Strichcode für einen Leser lesbar ist und eine erste Ausgabe erzeugt, wenn sich der Satz dynamischer Daten im ersten Zustand befindet, und der 2D-Strichcode für einen Leser lesbar ist und eine zweite Ausgabe erzeugt, wenn sich der Satz dynamischer Daten im zweiten Zustand befindet.
  • Gemäß einem weiteren beispielhaften Aspekt der vorliegenden Offenbarung, der in Kombination mit einem oder mehreren der vorhergehenden Aspekte verwendet werden kann, ist der dynamische Bereich in einem Auffüllbereich vorgesehen.
  • Gemäß einem weiteren beispielhaften Aspekt der vorliegenden Offenbarung, der in Kombination mit einem oder mehreren der vorhergehenden Aspekte verwendet werden kann, ist der dynamische Bereich an einem Ende eines Datenbereichs vorgesehen.
  • Gemäß einem weiteren beispielhaften Aspekt der vorliegenden Offenbarung, der in Kombination mit einem oder mehreren der vorhergehenden Aspekte verwendet werden kann, kann ein Gerät ein Verfahren zum Lesen eines 2D-Strichcodes ausführen, beinhaltet das Scannen eines Satzes statischer Daten, die in dem 2D-Strichcode umfasst sind, das Scannen eines Satzes dynamischer Daten, die in dem 2D-Strichcode umfasst sind, das Erzeugen einer ersten Ausgabe des Satzes statischer Daten und das Erzeugen einer zweiten Ausgabe des Satzes dynamischer Daten. Der 2D-Strichcode wird in statischer Tinte und dynamischer Tinte gedruckt, und eine codierte Version des Satzes statischer Daten wird in der statischen Tinte gedruckt. Eine codierte Version des Satzes dynamischer Daten wird in der dynamischen Tinte gedruckt, die Zustände in Reaktion auf mindestens eine Umgebungsänderung ändert, sodass sich die dynamischen Daten in einem der Vielzahl von Zuständen befinden. Der Satz dynamischer Daten wird in einem redundanten Raum auf dem 2D-Strichcode gedruckt. Die zweite Ausgabe zeigt an, in welchem Zustand der Vielzahl von Zuständen sich die dynamischen Daten befinden.
  • Gemäß einem weiteren beispielhaften Aspekt der vorliegenden Offenbarung, der in Kombination mit einem oder mehreren der vorhergehenden Aspekte verwendet werden kann, kann ein Gerät ein Verfahren zum Lesen eines zweidimensionalen (2D-)Strichcodes ausführen, beinhaltet das Scannen eines Satzes statischer Daten, die in dem 2D-Strichcode umfasst sind, das Scannen eines Satzes dynamischer Daten, die in dem 2D-Strichcode umfasst sind, das Erzeugen einer Ausgabe auf Basis des Satzes statischer Daten und des Satzes dynamischer Daten. Der 2D-Strichcode umfasst statische und dynamische Tinte. Eine codierte Version des Satzes statischer Daten wird in der statischen Tinte gedruckt. Eine codierte Version des Satzes dynamischer Daten wird in der dynamischen Tinte gedruckt, die Zustände in Reaktion auf mindestens eine Umgebungsänderung ändert, sodass sich die dynamischen Daten in einem von einer Vielzahl von Zuständen befinden. Der Satz dynamischer Daten wird im dynamischen Bereich gedruckt. Die Ausgabe ist eine erste Ausgabe, wenn sich der Satz dynamischer Daten in einem ersten Zustand der Vielzahl von Zuständen befindet, und die Ausgabe ist eine zweite Ausgabe, wenn sich der Satz dynamischer Daten in einem zweiten Zustand der Vielzahl von Zuständen befindet.
  • Es versteht sich, dass verschiedene Änderungen und Modifikationen der hier beschriebenen beispielhaften Ausführungsformen für den Fachmann offensichtlich sind. Solche Änderungen und Modifikationen können vorgenommen werden, ohne vom Geist und Umfang des vorliegenden Gegenstands abzuweichen und ohne seine beabsichtigten Vorteile zu beeinträchtigen. Es ist daher beabsichtigt, dass solche Änderungen und Modifikationen durch die beigefügten Ansprüche abgedeckt sind. Es versteht sich auch, dass die Merkmale der abhängigen Ansprüche in den Systemen, Verfahren und Geräten jedes der unabhängigen Ansprüche umfasst sein können.
  • Dem Fachmann auf dem Gebiet, auf das sich diese Erfindungen beziehen, werden viele Modifikationen und andere Ausführungsformen der Erfindung in den Sinn kommen, sobald er den Nutzen aus den Lehren in den vorstehenden Beschreibungen und den zugehörigen Zeichnungen zieht. Es versteht sich daher, dass die Erfindungen nicht auf die offenbarten spezifischen Ausführungsformen beschränkt sind und dass Modifikationen und andere Ausführungsformen im Umfang der beigefügten Ansprüche beinhaltet sein sollen. Obwohl hier spezifische Ausdrücke verwendet werden, werden sie nur in einem allgemeinen und beschreibenden Sinn und nicht zum Zweck der Einschränkung verwendet.
  • 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
    • US 15464207 [0001]
    • US 20140252096 A1 [0009]
    • US 20130015236 A1 [0012]
    • US 20140339312 A1 [0013]
  • Zitierte Nicht-Patentliteratur
    • ISO 16022 [0069]

Claims (24)

  1. Die Erfindung wird wie folgt beansprucht:
  2. Sensorgestützter zweidimensionaler Strichcode, umfassend: ein Substrat; eine erste Schicht, die auf dem Substrat bereitgestellt ist, umfassend einen Sensorfarbstoffbereich, wobei der Sensorfarbstoffbereich, die erste Schicht ferner einen Sensorfarbstoff mit einer Chemie umfasst, die so konfiguriert ist, dass sie, in Reaktion auf das Auftreten einer Umgebungsbedingung, einen kontinuierlichen chemischen oder physikalischen Zustandswechsel zwischen einem Anfangszustand und einem Endzustand durchläuft, wodurch eine Änderung des Farbzustands des Sensorfarbstoffs verursacht wird, wobei der Farbzustand eine Exposition gegenüber der Umgebungsbedingung anzeigt; und eine zweite Schicht, die auf dem Substrat vorgesehen ist, umfassend ein zweidimensionales Fehlerkorrektur-Strichcodesymbol, wobei das Strichcodesymbol ferner mehrere Module in einem dauerhaften Farbzustand umfasst, wobei die Module optional quadratisch, rechteckig oder kreisförmig sind.
  3. Das sensorgestützte zweidimensionale Strichcodesymbol nach Anspruch 1, wobei die zweite Schicht mit einem Merkmal der ersten Schicht ausgerichtet ist, und wobei, vorzugsweise, der Sensorfarbstoffbereich so in einem invarianten Bereich des zweidimensionalen Strichcodes positioniert ist, dass eine obere linke Ecke der zweiten Schicht mit einer oberen linken Ecke der ersten Schicht ausgerichtet ist.
  4. Das sensorgestützte zweidimensionale Strichcodesymbol nach Anspruch 1 oder 2, wobei die Umgebungsbedingung aus der Gruppe ausgewählt ist, bestehend aus Zeit, Temperatur, und Zeit-Temperatur-Produkt, und wobei, vorzugsweise, der Sensorfarbstoff den Farbzustand zwischen dem Anfangszustand und dem Endzustand kontinuierlich ändert, wenn er der Umgebungsbedingung ausgesetzt wird.
  5. Das sensorgestützte zweidimensionale Strichcodesymbol nach Anspruch 1 bis 3, wobei die zweite Schicht über die erste Schicht gedruckt ist.
  6. Das sensorgestützte zweidimensionale Strichcodesymbol nach einem der Ansprüche 1 bis 4, wobei das zweidimensionale Fehlerkorrektur-Strichcodesymbol aus der Symbologiegruppe stammt, bestehend aus Data-Matrix-, QR-Code-, Aztec-Code-, MaxiCode-, PDF417- und Dot-Code-Symbologien.
  7. Das sensorgestützte zweidimensionale Strichcodesymbol nach einem der Ansprüche 1 bis 5, wobei das zweidimensionale Fehlerkorrektur-Strichcodesymbol eine Reed-Solomon-Fehlerkorrektur verwendet.
  8. Das sensorgestützte zweidimensionale Strichcodesymbol nach einem der Ansprüche 1 bis 6, wobei sich der Sensorfarbstoff anfangs in einem ersten Farbzustand befindet, wenn er nicht aktiviert ist, und sich dynamisch in mehrere unterschiedliche Farbzustände innerhalb eines Bereichs zwischen dem Anfangszustand und dem Endzustand ändert, bevor der Endzustand erreicht wird.
  9. Das sensorgestützte zweidimensionale Strichcodesymbol nach Anspruch 7, wobei der Sensorfarbstoff einen Zwischenzustand zwischen dem Anfangszustand und dem Endzustand erreicht, wenn die bestimmte Bedingung der erfassten Eigenschaft über einem Schwellenwert liegt, wobei der Schwellenwert vorzugsweise eine gekennzeichnete Produktlebensdauer ist.
  10. Das sensorgestützte zweidimensionale Strichcodesymbol nach Anspruch 7, wobei sich der Sensorfarbstoff dynamisch in eine Vielzahl von unterschiedlichen Farbzuständen ändert, die mit einem von verstrichener Produktlebensdauer und verbleibender gekennzeichneter Produktlebensdauer assoziiert sind.
  11. Das sensorgestützte zweidimensionale Strichcodesymbol nach einem der Ansprüche 1 bis 9, wobei die zweite Schicht digitale Sensorinformationen bereitstellt, wobei die digitalen Sensorinformationen vorzugsweise in einer invarianten Pixelkarte des zweidimensionalen Symbols, und mehr bevorzugt als binär codierte Sensordaten codiert sind, und mehr bevorzugt die binär codierten Sensordaten in einem Fehlerkorrekturcode sind, der vorzugsweise aus der Gruppe ausgewählt ist, bestehend aus Hamming-Codes, Bose-Chaudhuri-Hocquenghem-Codes, Golay-Codes, Simplex-Codes, Reed-Muller-Codes, Fire-Codes, Faltungscodes und Reed-Solomon-Codes.
  12. Das sensorgestützte zweidimensionale Strichcodesymbol nach den Ansprüchen 1 bis 10, wobei der zweidimensionale Fehlerkorrektur-Strichcode codierte Anwendungskennungen beinhaltet, und wobei, vorzugsweise, eine erste Anwendungskennung die Größe und den Ort des Sensorfarbstoffbereichs anzeigt und eine zweite Anwendungskennung Parameter der Produktlebensdauergleichung anzeigt, wobei, vorzugsweise, die Parameter der Produktlebensdauergleichung Arrhenius-Gleichungsparameter sind.
  13. Herstellungserzeugnis, umfassend: pharmazeutisches Produkt, biologisches Produkt oder Lebensmittelprodukt, vorzugsweise einen Impfstoff; einen Behälter, der das pharmazeutische, biologische oder Lebensmittelprodukt enthält, vorzugsweise ein Impfstoffvial; und das sensorgestützte zweidimensionale Strichcodesymbol nach einem der Ansprüche 1 bis 11, das an oder in dem Behälter vorgesehen ist, wobei es vorzugsweise auf der Außenfläche des Behälters angebracht ist.
  14. Verfahren zum Lesen eines sensorgestützten zweidimensionalen Strichcodesymbols, umfassend: optisches Scannen eines Bildes des sensorgestützten zweidimensionalen Strichcodesymbols, um Farbwerte für Pixel in dem Bild zu erhalten; Erstellen einer gescannten Pixelkarte, die die Farbwerte in dem sensorgestützten zweidimensionalen Strichcodesymbol enthält; Verarbeiten der Pixel in der gescannten Pixelkarte, um jedem Pixel einen binären Farbwert zuzuweisen und eine binarisierte Pixelkarte zu bilden; Identifizieren des zweidimensionalen Strichcodesymbols in der binarisierten Pixelkarte; Decodieren des identifizierten zweidimensionalen Strichcodesymbols in der binarisierten Pixelkarte, um eine Symbolcodewortsequenz wiederherzustellen; Wiederherstellen von zugrundeliegenden Datencodewörtern aus der Symbolcodewortsequenz, vorzugsweise durch Durchführen eines Fehlerkorrekturprozesses an der S ymbolcodewortsequenz; Verarbeiten der Datencodewörter zur Identifizierung von Strichcodemodulen in einem Sensorfarbstoffbereich; Bestimmen eines durchschnittlichen Farbwerts der Strichcodemodule in dem Sensorfarbstoffbereich; und Verarbeiten des durchschnittlichen Farbwerts des Sensorfarbstoffbereichs, um einen prozentualen Reflexionsgrad des einfallenden Lichts zum Zeitpunkt des Scannens zu bestimmen.
  15. Das Verfahren nach Anspruch 13, wobei das Verarbeiten von Farbinformationen beinhaltet: Erfassen des Weißlichtreflexionsgrads von Pixeln, die in dem Sensorfarbstoffbereich beinhaltet sind; und Erzeugen eines Farblichtfiltereffekts auf Reflexionsgraddaten von den gescannten Pixeln unter Verwendung eines Filters, um gefilterte Farbbildwerte der Pixel in einer gescannten Pixelkarte zu erzeugen.
  16. Das Verfahren nach Anspruch 14, wobei das Verarbeiten von Farbinformationen ferner beinhaltet: Reduzieren der gefilterten Farbbildwerte in der gescannten Pixelkarte auf Graustufenwerte; Bestimmen eines durchschnittlichen Graustufenwerts des durchschnittlichen Farbwerts der Strichcodemodule; und Verarbeiten des durchschnittlichen Grauwerts, um den prozentualen Reflexionsgrad des einfallenden Lichts zum Zeitpunkt des Scannens zu bestimmen.
  17. Das Verfahren nach Anspruch 13, wobei das Verarbeiten der Pixel in der gescannten Pixelkarte das Klassifizieren jedes Pixels als eines von einem schwarzen Pixel, einem weißen Pixel und einem Farbpixel beinhaltet.
  18. Das Verfahren nach Anspruch 16, wobei die schwarzen Pixel, die weißen Pixel und die Farbpixel verwendet werden, um eine ternarisierte Pixelkarte zu bilden, und die schwarzen und weißen Pixel in der ternarisierten Pixelkarte werden verwendet, um das zweidimensionale Strichcodesymbol in der ternarisierten Pixelkarte zu identifizieren.
  19. Das Verfahren nach Anspruch 13, wobei sich der Sensorfarbstoffbereich sich in einem invarianten Bereich eines Data-Matrix-Strichcodesymbols befindet.
  20. Das Verfahren nach Anspruch 13, wobei der Sensorfarbstoffbereich einen Sensorfarbstoff beinhaltet, der auf Umgebungsfaktoren reagiert, die mindestens eines von Temperatur, Zeit, Strahlung, Licht und toxischen Chemikalien umfassen.
  21. Verfahren zum Lesen eines sensorgestützten zweidimensionalen Strichcodesymbols, umfassend: optisches Scannen eines Bildes des sensorgestützten zweidimensionalen Strichcodesymbols, um Graustufenwerte für jeden Pixel in dem Bild zu erhalten; Erstellen einer Graustufen-Pixelkarte der Pixel in dem sensorgestützten zweidimensionalen Strichcodesymbol; Verarbeiten der Pixel in der Graustufen-Pixelkarte, um jedem Pixel einen binären Farbwert zuzuweisen und um eine binarisierte Pixelkarte zu bilden; Identifizieren des zweidimensionalen Strichcodesymbols in der binarisierten Pixelkarte; Decodieren des identifizierten 2D-Strichcodesymbols in der binarisierten Pixelkarte, um eine Symbolcodewortsequenz wiederherzustellen; Wiederherstellen zugrundeliegender Datencodewörter aus der Symbolcodewortsequenz unter Durchführung eines Fehlerkorrekturprozesses an den Symbolcodewörtern; Verarbeiten der Datencodewörter zur Identifizierung der Strichcodemodule in einem Sensorfarbstoffbereich; Bestimmen eines durchschnittlichen Graustufenwerts der Strichcodemodule in dem Sensorfarbstoffbereich; und Verarbeiten der durchschnittlichen Graustufe des Sensorfarbstoffbereichs, um einen prozentualen Reflexionsgrad des einfallenden Lichts zum Zeitpunkt des Scannens zu bestimmen.
  22. Das Verfahren nach Anspruch 20, wobei beim Scannen des Bildes ein optischer Bandpassfilter verwendet wird, um den Effekt der monochromen Beleuchtung zu erzeugen.
  23. Das Verfahren nach Anspruch 20, wobei zum optischen Scannen des Bildes eine Lichtquelle verwendet wird, die eine monochrome Lichtquelle ist, wobei, vorzugsweise, die monochrome Lichtquelle ein monochromer Laser ist.
  24. Das Verfahren nach Anspruch 20, wobei zum optischen Scannen des Bildes ein Strichcodebildgeber verwendet wird, und wobei der Strichcodebildgeber nur auf Graustufenwerte reagiert.
DE112018001462.2T 2017-03-20 2018-03-19 Zweidimensionaler Strichcode mit dynamischen Umgebungsdaten System, Verfahren und Gerät Pending DE112018001462T5 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/464,207 US10546172B2 (en) 2015-03-30 2017-03-20 Two dimensional barcode with dynamic environmental data system, method, and apparatus
US15/464,207 2017-03-20
PCT/US2018/023068 WO2018175281A1 (en) 2017-03-20 2018-03-19 A two dimensional barcode with dynamic environmental data system, method, and apparatus

Publications (1)

Publication Number Publication Date
DE112018001462T5 true DE112018001462T5 (de) 2019-11-28

Family

ID=63584766

Family Applications (2)

Application Number Title Priority Date Filing Date
DE112018001462.2T Pending DE112018001462T5 (de) 2017-03-20 2018-03-19 Zweidimensionaler Strichcode mit dynamischen Umgebungsdaten System, Verfahren und Gerät
DE202018006287.1U Active DE202018006287U1 (de) 2017-03-20 2018-03-19 Zweidimensionaler Strichcode mit dynamischen Umgebungsdaten System und Gerät

Family Applications After (1)

Application Number Title Priority Date Filing Date
DE202018006287.1U Active DE202018006287U1 (de) 2017-03-20 2018-03-19 Zweidimensionaler Strichcode mit dynamischen Umgebungsdaten System und Gerät

Country Status (9)

Country Link
EP (1) EP3602391A4 (de)
KR (1) KR102320597B1 (de)
CN (1) CN110447036A (de)
AU (1) AU2018239238B2 (de)
BR (1) BR112019019502A2 (de)
CA (2) CA3057307C (de)
DE (2) DE112018001462T5 (de)
MX (1) MX2023007787A (de)
WO (1) WO2018175281A1 (de)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020119955A1 (en) * 2018-12-13 2020-06-18 EVRYTHNG Limited Environment sensitive web identities in barcodes
ES2835053B2 (es) * 2019-12-18 2022-06-16 Univ Almeria Metodo, dispositivo y sistema para el almacenamiento, la codificacion y la decodificacion de informacion basada en codigos con capacidad de deteccion de errores
JP7358284B2 (ja) * 2020-03-25 2023-10-10 株式会社日立製作所 コード、情報処理システム、及び情報処理装置
CN111340018B (zh) * 2020-05-18 2020-09-04 安徽东寻信息科技有限公司 一种利用传感器的仪表读取系统及读取方法
US11615280B2 (en) * 2020-08-31 2023-03-28 Temptime Corporation Barcodes with security material and readers for same
DE102021205874A1 (de) * 2021-06-10 2022-12-15 Robert Bosch Gesellschaft mit beschränkter Haftung Zweidimensionale Codeanordnung, Positionsbestimmungseinrichtung und Verfahren zur Positionsbestimmung
KR20240002379A (ko) 2022-06-29 2024-01-05 유현빈 고양이 몸무게별 권장 사료량을 알려주는 측정장치

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5053339A (en) * 1988-11-03 1991-10-01 J P Labs Inc. Color changing device for monitoring shelf-life of perishable products
GB2430257A (en) * 2005-09-16 2007-03-21 Sun Chemical Ltd Bar code having a time-temperature indicator
US7562811B2 (en) * 2007-01-18 2009-07-21 Varcode Ltd. System and method for improved quality management in a product logistic chain
US20090020609A1 (en) * 2007-07-16 2009-01-22 Cohen Marc H Sensor-embedded barcodes
EP2218055B1 (de) * 2007-11-14 2014-07-16 Varcode Ltd. System und verfahren für qualitätsmanagement anhand von strichcodeindikatoren
US8152068B2 (en) * 2007-12-31 2012-04-10 Pitney Bowes Inc. Systems and methods for producing and processing time dependent dynamic barcodes in a mail delivery system
US8187892B2 (en) * 2008-07-18 2012-05-29 Segan Industries, Inc. Co-topo-polymeric compositions, devices and systems for controlling threshold and delay activation sensitivities
US9092745B2 (en) * 2011-05-12 2015-07-28 Hewlett-Packard Development Company, L.P. Adapting an incremental information object
WO2013115801A1 (en) * 2012-01-31 2013-08-08 Hewlett-Packard Development Company, L.P. Identification mark with a predetermined color difference
US10147025B2 (en) * 2012-07-17 2018-12-04 Shockwatch, Inc. Visual indicator status recognition
CN104143109B (zh) * 2014-01-28 2017-04-05 深圳市雁联计算系统有限公司 一种二维码的编码和解码方法及其印刷物
KR20170130478A (ko) * 2015-03-30 2017-11-28 템프타임 코포레이션 동적 환경 데이터를 갖는 2차원 바코드 시스템, 방법, 및 장치

Also Published As

Publication number Publication date
CA3164681C (en) 2024-01-16
AU2018239238B2 (en) 2021-08-12
KR102320597B1 (ko) 2021-11-02
DE202018006287U1 (de) 2019-12-09
CA3164681A1 (en) 2018-09-27
CA3057307A1 (en) 2018-09-27
MX2023007787A (es) 2023-07-10
AU2018239238A2 (en) 2019-11-07
CA3057307C (en) 2022-09-20
CN110447036A (zh) 2019-11-12
BR112019019502A2 (pt) 2020-04-28
EP3602391A4 (de) 2021-01-06
EP3602391A1 (de) 2020-02-05
KR20190128228A (ko) 2019-11-15
WO2018175281A1 (en) 2018-09-27
AU2018239238A1 (en) 2019-10-31

Similar Documents

Publication Publication Date Title
US11455483B2 (en) Two dimensional barcode with dynamic environmental data system, method, and apparatus
DE112018001462T5 (de) Zweidimensionaler Strichcode mit dynamischen Umgebungsdaten System, Verfahren und Gerät
US11182579B2 (en) Two dimensional barcode with dynamic environmental data system, method, and apparatus
BE1027447B1 (de) Zweidimensionaler strichcode, der mit einem dynamischen umgebungsindikator versehen ist, der in einem spalt angeordnet ist
BE1027449B1 (de) Zweidimensionaler strichcode, der mit einem umgebenden dynamischen umgebungsindikator und einer farbkalibrierungsreferenz versehen ist
DE102017101364A1 (de) Maschinenlesbarer code mit reaktiven eigenschaften
CN109002876A (zh) 一种二维码标签以及二维码标签印刷方法

Legal Events

Date Code Title Description
R138 Derivation of utility model

Ref document number: 202018006287

Country of ref document: DE

R012 Request for examination validly filed