DE69635512T2 - Verfahren zum Lesen eines zweidimensionalen Strichcodes ohne Taktsignal - Google Patents

Verfahren zum Lesen eines zweidimensionalen Strichcodes ohne Taktsignal Download PDF

Info

Publication number
DE69635512T2
DE69635512T2 DE69635512T DE69635512T DE69635512T2 DE 69635512 T2 DE69635512 T2 DE 69635512T2 DE 69635512 T DE69635512 T DE 69635512T DE 69635512 T DE69635512 T DE 69635512T DE 69635512 T2 DE69635512 T2 DE 69635512T2
Authority
DE
Germany
Prior art keywords
data
printed
row
panamark
information
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.)
Expired - Fee Related
Application number
DE69635512T
Other languages
English (en)
Other versions
DE69635512D1 (de
Inventor
Daniel Hopewell Lopresti
Jeffrey Hamilton Square Esakov
Jiangying Plainsboro Zhou
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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
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
Application filed by Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Application granted granted Critical
Publication of DE69635512D1 publication Critical patent/DE69635512D1/de
Publication of DE69635512T2 publication Critical patent/DE69635512T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • G06K7/10Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
    • G06K7/10544Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation by scanning of the records by radiation in the optical part of the electromagnetic spectrum
    • G06K7/10821Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation by scanning of the records by radiation in the optical part of the electromagnetic spectrum further details of bar or optical code scanning devices
    • G06K7/1093Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation by scanning of the records by radiation in the optical part of the electromagnetic spectrum further details of bar or optical code scanning devices sensing, after transfer of the image of the data-field to an intermediate store, e.g. storage with cathode ray tube
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K1/00Methods or arrangements for marking the record carrier in digital fashion
    • G06K1/12Methods or arrangements for marking the record carrier in digital fashion otherwise than by punching
    • G06K1/121Methods or arrangements for marking the record carrier in digital fashion otherwise than by punching by printing code marks
    • 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
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • G06K7/10Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
    • G06K7/14Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation using light without selection of wavelength, e.g. sensing reflected white light
    • G06K7/1404Methods for optical code recognition
    • G06K7/1408Methods for optical code recognition the method being specifically adapted for the type of code
    • G06K7/14172D bar codes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • G06K7/10Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
    • G06K7/14Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation using light without selection of wavelength, e.g. sensing reflected white light
    • G06K7/1404Methods for optical code recognition
    • G06K7/1439Methods for optical code recognition including a method step for retrieval of the optical code
    • G06K7/1452Methods for optical code recognition including a method step for retrieval of the optical code detecting bar code edges

Description

  • Die vorliegende Erfindung bezieht sich auf ein Verfahren zur Dekodierung von Informationen, die auf ein gedrucktes Medium gedruckt sind.
  • Hintergrund der Erfindung
  • Im Unterschied zu den häufigen Vorhersagen, wonach wir eines Tages in einer „papierlosen Gesellschaft" leben werden, spielen Papier und andere bedruckte Medien eine zunehmend wichtige Rolle als günstige, wirksame und bequeme Mittel zur Kommunikation. Eine fundamentale Einschränkung bei Papier besteht jedoch darin, dass es vom Gesichtspunkt eines Computers gegenwärtig ein reines Ausgabeformat darstellt. Während Papier das bevorzugte Medium zur Darstellung für Informationen zur Verwendung durch Menschen ist, ist es schwierig für einen Computer, wenn nicht gar unmöglich, Daten, die einmal gedruckt worden sind, zuverlässig wieder herzustellen. Die optische Zeichenerkennung (OCR-optical character recognition) versucht dieses Problem in einem vergleichsweise einfachen Bereich zu lösen, wie zum Beispiel bei Text, der mit Standardfonts wiedergegeben ist, aber sie hat bisher einen beschränkten Erfolg gehabt. Während Genauigkeitsraten von neunundneunzig (99%) Prozent vielleicht erreichbar sind und beeindruckend erscheinen mögen, wird eine Seite mit 3000 Buchstaben dennoch durchschnittlich dreißig (30) OCT-Fehler aufweisen und macht deswegen eine teure und zeitaufwändige manuelle Nachverarbeitung erforderlich.
  • Eine weitere Herangehensweise verwendet computerlesbare Barcodes, die direkt auf Papier vorgesehen sein können (oder andere gedruckte Medien wie zum Beispiel Mikrofilm). Einmal codiert können solche Barcodes vom Computer verwendet werden, um Informationen wieder herzustellen, die für den menschlichen Leser offensichtlich sind, aber für einen Computer schwer zu erkennen sind (zum Beispiel gedruckten Text), Informationen, die in der Erstellung von Seiten beinhaltet sind, die aber im Wesentlichen für den menschlichen Leser unsichtbar sind (zum Beispiel Tabellenformeln) oder jede beliebige andere Information, die erwünscht ist, ob sie nun von dem tatsächlichen Buchstabentext auf dem Papier abhängt oder nicht.
  • Computerlesbare Barcodes, bei denen digitale Daten direkt auf Papier gespeichert werden, sind bekannt und sind verwendet worden, um eine Dokumenten- oder Produktidentifikation bereitzustellen, wenn ein fester Satz von Werten unter Verwendung einfacher nummerischer Codierungs- und Scantechnologien gegeben ist. Systeme zur Dokumenten- oder Produkterkennung, die in der Vergangenheit verwendet wurden, beinhalten Barcode-Marker und Scanner, die in einem weiten Bereich von Anwendungen Verwendung gefunden haben. Unter Bezugnahme auf Papierdokumente sind spezielle Kennzeichnungen oder Muster im Papier verwendet worden, um Informationen für ein hierauf bezogenes Bauteil bereit zu stellen, zum Beispiel das Jobsteuerungsblatt für die Bildverarbeitung, wie es von Hikawa im US-Patent mit der Nummer 5,051,779 beschrieben ist. In ähnlicher Weise sind identifizierende Kennzeichnungen, die codierte Informationen umfassen, auf das Deckblatt vorgedruckter Formulare gedruckt worden, wie im US-Patent mit der Nummer 5,060,980 von Johnson, et al. beschrieben. Das System von Johnson et al. ist darauf ausgerichtet, dass ein Nutzer per Hand erstellte Informationen in den Feldern einer Papierkopie des Formulars eingibt und dann das Formular gescannt wird, um Einfügungen in den Feldern in dem duplizierten Formular bereitzustellen, das elektronisch im Computer gespeichert wird. Noch ein anderes System wird im US-Patent mit der Nummer 5,091,966 von Bloomberg et al. beschrieben, das die Dekodierung von Codes in Bildzeichenform lehrt, bei welchen Codes es sich um digital codierte Daten auf Papier handelt. Die kennzeichnenden Codes können durch einen Computer ausgelesen werden und erleichtern dadurch die Handhabung des Dokuments seitens eines Computers, beispielsweise die Identifizierung, die Wiedergewinnung und Übertragung eines solchen Dokuments.
  • Abgesehen von den verschieden ausgeformten Barcodes, die oben beschrieben sind, sind auch zweidimensionale Barcodes, die „data strips" genannt werden und eine Mehrzahl von Reihen von „data lines" aufweisen, die Informationen repräsentieren, die digital aufgedruckten Medien codiert sind, in der Technik bekannt. Jede Reihe von Datenlinien besteht aus einer Folge schwarzer und weißer Pixel, die jeweils binäre Nullen und Einsen repräsentieren. Die Anordnung der Bits in jeder Reihe bestimmt die darin gespeicherten digitalen Daten. Die Daten, die innerhalb der Gesamtheit der Reihen abgespeichert sind, definieren die Daten, die in dem zweidimensionalen Barcode enthalten sind. Typischerweise führt der Nutzer, um den Barcode zu lesen, einen Handscanner, der gleichzeitig die Informationen in jeder einzelnen Datenlinienreihe liest, vertikal entlang der Länge des Barcodes, um alle Reihen von Datenlinien zu lesen.
  • Ein Beispiel für ein System im Stand der Technik, das einen zweidimensionalen Barcode als Data strip verwendet, der Reihen von Datenlinien mit Papiermedien aufweist, ist im US-Patent mit den Nummern 4,692,603, 4,754,127 und 4,782,221 von Brass et al. zu finden. In diesem System bestehen zweidimensionale Barcodes aus Datenlinienreihen, die dazu verwendet werden, Computerprogramme und Daten auf Papier zu codieren, und werden unter Verwendung eines Handscanners eingelesen. In Ergänzung zur Codierung von Computerprogrammen und Daten, enthalten diese Datenlinien auch Tracking- und Synchronisationsbits, die im Folgenden als „Takt Bits" bezeichnet werden. Das Erfordernis zur Verwendung zahlreicher Takt Bits direkt innerhalb jeder einzelnen Reihe von Datenlinien beeinträchtigt deutlich die Menge digitaler Daten, die in jeder einzelnen Reihe gespeichert werden können. Des Weiteren würden, falls Datenlinienreihen, die Takt Bits aufweisen, beschädigt werden, was häufig ist, falls solche Barcodes fotokopiert oder durch Faxsysteme übertragen werden, solche Takt Bits verloren gehen, wodurch es schwierig wird, falls nicht sogar unmöglich, die Information, die in den Barcode verschlüsselt ist, zu decodieren.
  • In der US 5,337,362 ist ein Verfahren zur Verschlüsselung und Formatierung einer Datenquelle beschrieben, das geeignet zum Ausdruck als zweidimensionale Bitmap ist, des Weiteren wird die folgende Decodierung unter der Verwendung eines Border- und Taktbits beschrieben.
  • Die EP 0 672 994 beschreibt das Auslesen eines zweidimensionalen Codes.
  • Das US-Patent mit der Nummer 5,083,214 von Knowles beschreibt ein zweidimensionales Barcodesystem, das auch die Einbettung von Taktbits in die codierten Daten selbst erfordert. Das Patent von Knowles mit der Nummer 5,083,214 verwendet jedoch, anstatt der Verschlüsselung jeder Reihe und Spalte von Daten mit Synchronisations- und Clockbits, die alleroberste Reihe in einem Datenbarcode, um eine Synchronisation während des Scannens zu ermöglichen. Des Weiteren umfassen die ersten acht Spalten von Bits ganz links Taktbits, die verwendet werden, um die Takte zu bilden, um die Datenbits, die in jeder Reihe enthalten sind, zu lesen. Da die oberste Reihe und alle acht Spalten ganz links des zweidimensionalen Barcodes, die in dem Knowles Patent mit der Nummer 5,083,214 beschrieben ist, alleine für die Synchronisation und Taktung verwendet werden, wird die gesamte Datenkapazität des Barcodes proportional herabgesetzt. Des Weiteren wird, falls die oberste Reihe oder Spalten ganz links des Barcodes beschädigt werden, die Taktinformation verloren gehen, wodurch es schwierig, wenn nicht gar unmöglich wird, die Daten auszulesen, die in jeder einzelnen Datenreihe codiert sind, sowie bei anderen Systemen gemäß dem Stand der Technik.
  • Es ist das Ziel dieser Erfindung, ein Verfahren zur Decodierung von Informationen anzugeben, die digital in Form eines taktfreien zweidimensionalen Barcodes codiert sind, der auf einem gedruckten Medium aufgedruckt ist.
  • Weitere Vorteile und Einzelheiten der vorliegenden Erfindung werden anhand der folgenden detaillierten Beschreibung erläutert und die neuen Merkmale werden insbesondere in den beigefügten Ansprüchen aufgeführt.
  • Zusammenfassung der Erfindung
  • Gemäß der Erfindung wird ein Verfahren zur Decodierung von Informationen gemäß dem unten stehenden Anspruch 1 bereitgestellt, wobei bevorzugte Merkmale davon in den Ansprüchen 2 bis 4, die ebenfalls unten angegeben sind, wiedergegeben werden.
  • Kurze Beschreibung der Zeichnungen
  • Die folgende detaillierte Beschreibung, die als Beispiel gegeben wird und nicht dazu dient, die vorliegende Erfindung alleine hierauf zu beschränken, versteht man am besten im Zusammenhang mit den beigefügten Zeichnungen, die Folgendes zeigen:
  • 1 ist ein Diagramm, das schematisch Beispiele von Barcodes darstellt, die auf einem gedruckten Medium aufgedruckt sind,
  • 2 zeigt ein Beispiel eines zweidimensionalen Barcodes,
  • 3 zeigt einen zweidimensionalen Barcode, der Reihen von Blockkennungen beinhaltet,
  • 4 ist ein Flussdiagramm, das die Schritte zur Codierung von Informationen auf ein gedrucktes Medium zeigt,
  • 5 stellt einige der Schritte dar, die in Übereinstimmung mit dem Verfahren, das in dem Flussdiagramm der 4 wiedergegeben ist, ausgeführt werden,
  • 6 ist ein Flussdiagramm, das die Schritte zur Decodierung von Informationen, die auf ein gedrucktes Medium gedruckt sind, gemäß der vorliegenden Erfindung zeigt,
  • 7A und 7A zeigen jeweils, wie eine horizontale Kante und eine vertikale Kante in den gescannten Barcode gemäß der vorliegenden Erfindung bestimmt werden,
  • 8 zeigt, wie jeweils horizontale und vertikale Kanten in jeder einzelnen Reihe und Spalte gemäß der vorliegenden Erfindung gezählt werden,
  • 9A und 9B zeigten graphisch wie Spalten- und Reihen-Taktzentren gemäß der vorliegenden Erfindung bestimmt werden,
  • 10A und 10B stellen einen Barcode dar, der eine fehlende Reihe bzw. eine zusätzliche Reihe aufweist,
  • 11 zeigt eine Suchordnung zur Bestimmung des Ortes der Blockkennzeichnungen, und
  • 12 zeigt die Hinzufügung einer Reihe von Informationen, wenn eine fehlende Reihe gemäß der Erfindung bestimmt wurde.
  • Detaillierte Beschreibung der bevorzugten Ausführungsbeispiele
  • Wie vollständig in der US-Patentanmeldung mit dem Titel „Certifiable Optical Character Recognition" (Seriennummer 07/958,938, angemeldet am 09. Oktober 1992, die fallen gelassen wurde, und der Continuation Application mit der laufenden Seriennummer 08/223,830, angemeldet am 06. April 1994) und „Method and Apparatus For Providing Reproduktion for Printed Documents Enhanced Optical Character Recognition" (Seriennummer 08/138,467, mit dem Anmeldedatum 15. Oktober 1993) beschrieben, können Informationen über den Inhalt, das Layout, die Erzeugung und das Wiederauffinden eines Dokuments durch einen Computer codiert werden, wenn der Computer ursprünglich das Dokument erzeugt oder bei einer folgenden computerbasierten Verarbeitung davon. Die codierte Dokumenteninformation kann dann über einen Barcode bereitgestellt werden, der hierin auch als „PanaMark"® bezeichnet wird, der auf einer Fläche einer gedruckten Version des Dokuments erzeugt wird. Fortgeschrittene Codierungs- und Druckauflösungsfähigkeiten, die gegenwärtig verfügbar sind, können bis zu 30.000 Bits an Information auf einem einzigen Quadratzoll von Raum unterbringen. Deshalb kann man, wie von den oben angegebenen Anmeldungen gelehrt wird, theoretisch den gesamten Dokumenteninhalt codieren, begrenzt lediglich durch die Menge an Raum auf der Dokumentenfläche, die man bereit ist, für PanaMark zu opfern. Ein Barcodescanner, in Verbindung mit oder vollständig getrennt von einem optischen Seitenscanner, kann das PanaMark scannen und die Informationen einem angeschlossenen System bereitstellen, das mit einer geeigneten Erkennungs- und Decodierungssoftware ausgestattet ist. Die entschlüsselten Informationen können dann vom Scanningsystem verwendet werden, um eine neue Version des Dokuments zu erstellen oder die Erkennung, Reproduktion und Fehlerkorrektur für das gescannte Dokument zu verbessern. Um PanaMark zu entschlüsseln, ist es nicht erforderlich, dass solche Barcodescanner und Scansysteme die Druckauflösung der PanaMark kennen, vorausgesetzt, dass die Scanauflösung des Scanners wenigstens so fein ist wie die Druckerauflösung der PanaMark, sodass jedes einzelne 1 × 1 oder Pixel der PanaMark, das ein logisches Bit repräsentiert, gescannt werden kann.
  • Die in Form einer PanaMark verschlüsselte Information kann verwendet werden, um die Softwaretools zu verbessern, die bereits verwendet werden, um Papierdokumente zu erstellen. Beispiele beinhalten Textverarveitung, Tabellen, objektorientierte Grafiken und Multimediaanwendungen, wie zum Beispiel Stimmaufzeichnung und fotografische Bildgebung. Diese Beispiele werden unter Bezugnahme auf 1 erläutert.
  • 1 stellt verschiedene Darstellungen einiger der Anwendungen für eine PanaMark dar, die auf einer gedruckten Seite aufgedruckt ist. Die gedruckte Seite 10 zeigt Buchstabentext, der von einem Standardtextverarbeitungsprogramm erzeugt wurde, wie zum Beispiel Microsoft® Word 5.1a®. Die gedruckte Seite 11 zeigt eine Tabelle, die von einem standardmäßigen Tabellenprogramm erstellt wurde, zum Beispiel von Microsoft® Excel®. Die gedruckte Seite 12 zeigt eine computergenerierte Grafik, die von einem standardmäßigen Grafikprogramm erstellt wurde, wie zum Beispiel MacDraw Pro 1.5v1®. Jede einzelne dieser gedruckten Seiten 10 bis 12 umfasst einen analogen Teil 13, wie zum Beispiel den Buchstabentext der Seite 10, der für einen menschlichen Leser leicht verständlich ist, und einen digitalen Teil 14, bei dem es sich um ein Beispiel für einen Datenbarcode oder eine PanaMark handelt, die für eine maschinelle Verwendung formatiert sind. Die PanaMark 14 der gedruckten Seite 10 kann den gesamten Text der Seite codieren und/oder andere Informationen wie zum Beispiel verschiedene Formatierungsinformationen, sodass ein Text, der von einer Textverarbeitungssoftware erzeugt wurde, wie zum Beispiel Microsoft® Word® erneut formatiert werden kann, um mit einer anderen Textverarbeitungssoftware wie zum Beispiel WordPerfect zu arbeiten. PanaMark 14 der gedruckten Seite 11 kann die tatsächliche Texttabelle codieren und/oder Formeln und Formatierungsinformationen beinhalten, sodass eine Tabelle, die mit Microsoft® Excel® formatiert wurde, in andere Tabellensoftwareprogramme konvertiert werden kann, wie zum Beispiel Lotus®-Tabellenkalkulation. In ähnlicher Weise kann die PanaMark 14 der gedruckten Seite 12 Informationen codieren, bei denen es sich um andere Informationen als die computergenerierten Grafiken handelt. Des Weiteren sollte bemerkt werden, dass jede beliebige dieser PanaMarks 14 Informationen beinhalten kann, die vollständig unabhängig von den analogen Teilen 13 sind. Außerdem können die PanaMarks 14 jede beliebige zweidimensionale Größe oder Form haben, die nötig ist, um die ästhetische Erscheinungsform zu gewährleisten oder die Informationsmenge, die auf der gedruckten Seite enthalten ist, codiert zu enthalten.
  • Die 2 zeigt ein Beispiel der grundlegenden PanaMark-Symbologie. Die PanaMark 15 umfasst einen codierten Satz von Datenbits in einem zweidimensionalen Gitter. Typischerweise wird jedes einzelne Datenbit, das codiert wird, als eine Matrix schwarzer oder weißer Pixel 17 gedruckt. Bevorzugterweise ist eine Pixelmatrix, die ein Datenbit darstellt, quadratisch und kann so klein sein wie eine 1 × 1-Matrix, aber auch so groß wie eine 6 × 6-Matrix oder größer. Nichtquadratische Matrizen können auch verwendet werden. Bevorzugterweise beinhaltet die PanaMark eine Entzerrungsgrenze 16, die zwei horizontale und zwei vertikale Entzerrungsstreifen 16 umfasst, die den einzigen Nichtdatenteil der PanaMark darstellen. Jeder einzelne Entzerrungsstreifen wird verwendet, um sicherzustellen, dass jede einzelne Reihe und Spalte der PanaMark geeignet miteinander angeordnet ist, wie im Einzelnen unter Bezugnahme auf 5 noch ausgeführt wird. Eine hinreichende Anordnung kann jedoch mit der Verwendung lediglich eines einzigen Entzerrungsstreifens erreicht werden, und es ist möglich, akzeptable Ergebnisse ohne Verwendung irgendwelcher Entzerrungsstreifen zu erhalten.
  • Die Datenbits, die durch schwarze und weiße Pixel 7 dargestellt werden, sind bevorzugterweise randomisiert, um sicherzustellen, dass sich eine gleiche Verteilung von 0- und 1-Bits ergibt. Des Weiteren kann die gesamte PanaMark unter Verwendung entweder regulärer (schwarzer) Tinte oder „unsichtbarer" Tinte gedruckt werden, die nur mit einem geeigneten Scanner lesbar ist, wie zum Beispiel einem Ultraviolettscanner.
  • In der 3 ist ein bevorzugtes Beispiel eines PanaMark 20 dargestellt, der eine Entzerrungsgrenze 25 aufweist und Reihen 21, 22, 23 und 24 so genannter Blockkennungen beinhaltet. Diese Blockkennungen können eine ganze Reihe von Datenbits umfassen, wie in der 3 dargestellt, oder sie können nur einen Teil einer Reihe an spezifischen vorbestimmten Orten umfassen. Des Weiteren können Blockkennungen in Spalten von Datenbits anstelle von oder in Verbindung mit Reihen von Datenbits enthalten sein.
  • Wie detaillierter unter Bezugnahme auf die 4 beschrieben wird, werden Blockkennungen wahlweise an vorbestimmten Orten in einer PanaMark hinzugefügt, um es zu ermöglichen, die Anzahl von Datenbits zwischen jeder einzelnen Blockkennung zu identifizieren. Auf diese Art und Weise wird es möglich, zu bestimmen, ob Datenbits in der PanaMark hinzugefügt sind oder fehlen und solche Fehler auszugleichen.
  • Die 4 ist ein Flussdiagramm, das die Schritte zur Verschlüsselung zu Informationen in Form einer PanaMark auf einem gedruckten Medium wie zum Beispiel Papier darstellt. Die Eingabedaten, die für den Einschluss in die PanaMark bestimmt wurden, werden im Schritt 30 komprimiert. Es könnten verschiedene Kompressionsalgorithmen verwendet werden, in Abhängigkeit von der Natur der Eingabedaten (zum Beispiel LZW® für Text, JPEG® für Grafiken). Der Kompressionsalgorithmus konvertiert die eingegebenen Rohdaten (jedes beliebigen Typs) und erzeugt einen schriftzeichenbasierten oder binären komprimierten Datenstrom. Falls der komprimierte Datenstrom schriftzeichenbasiert ist, wird der Datenstrom auf entsprechende binäre Bits oder Bytes digitaler Daten abgebildet, die Nullen und Einsen umfassen. Falls der komprimierte Datenstrom binär ist, ist dieser Schritt unnötig.
  • Im Schritt 31 wird der binäre Datenstrom eine vorherbestimmte Anzahl von Malen repliziert und bevorzugterweise zu einem einzigen linearen Datenstrom kombiniert. Der Grad an Redundanz wird von der beabsichtigten Anwendung abhängen, zum Beispiel davon, wie viel Realweltschaden zu erwarten ist, und von der Menge an Platz, der für die PanaMark zur Verfügung steht. Es sollte auch berücksichtigt werden, dass das Replizieren des Datenstroms nicht nötig ist und dazu verwendet wird, die Entschlüsselungsgenauigkeit durch Redundanz zu verbessern.
  • Im Schritt 32 kann an verschiedenen Stellen im Datenstrom ein Fehlerkorrekturcode (Error Correcting Code-ECC) hinzugefügt werden. Zum Beispiel können Standard ECC-Techniken zur Erzeugung von ECC-Bits für die Daten verwendet werden. Ein Beispiel für einen ECC-Algorithmus, der gute Ergebnisse erzielt hat, ist der binäre BCH-Code. Weiterhin können die Daten in dem Datenstrom mit einem zyklischen Redundanzcheck (Cyclic Redundancy Check – CRC) codiert werden, um Fehler zu entdecken und die Korrektur von Fehlern zu unterstützen. Der CRC-Algorithmus, der verwendet wird, kann ein Standardalgorithmus wie zum Beispiel der in „CCITT Polynomial" sein. Hier ist es wiederum so, dass der ECC nicht benötigt wird, aber bevorzugterweise verwendet wird, um eine größere Entschlüsselungsgenauigkeit zu erreichen.
  • Im Schritt 33 werden die Daten in dem Datenstrom bevorzugterweise randomisiert, um sicher zu stellen, dass insgesamt im Wesentlichen die gleiche Anzahl von 0- und 1-Bits vorliegt. Die Randomisierung muss selbstverständlich umkehrbar sein, sodass die randomisierten Bits während der Entschlüsselung entrandomisiert werden können. Es gibt viele Techniken zur Durchführung einer Randomisierung. Zum Beispiel kann der Datenstrom Bit für Bit randomisiert werden. Das heißt, dass jedes einzelne Datenbit im Datenstrom die gleiche Wahrscheinlichkeit aufweist, ein binäres 0- oder 1-Bit zu sein. Eine andere Randomisierungstechnik wäre, eine weitere Kompressionsschicht anzuwenden. Des Weiteren kann jede beliebige einer Anzahl wohlbekannter kryptografischer Techniken auch verwendet werden. Kryptografische Techniken haben die potentiell erwünschte Nebenwirkung der Sicherstellung der Daten, da, um die Daten zu entschlüsseln, der richtige Verarbeitungskey benötigt wird. Demgemäß würde eine nicht autorisierte Entschlüsselung der PanaMark verhindert werden. Der Zweck der Randomisierung der Datenbits ist es, eine näherungsweise 50-50% Verteilung von Nullen und Einsen sicherzustellen, was dabei hilft, die Daten in der PanaMark ohne die Verwendung von Taktungen zu entschlüsseln. Dies wird im Folgenden detailliert beschrieben.
  • Im Schritt 34 wird der randomisierte Datenstrom abgebildet oder auf ein zweidimensionales Feld geblockt. Dieser Schritt kann unter Verwendung einer einfachen Reihen-Haupt-Ordnungs-Abbildungstechnik oder einer komplizierteren „zufälligen" Abbildungstechnik durchgeführt werden, wie sie im Stand der Technik bekannt ist. Des Weiteren kann das zweidimensionale Feld mit zufälligen Bits aufgefüllt oder „bit-stuffed" werden, um alle unbenötigten Plätze aufzufüllen. Des Weiteren liefert das Blockierverfahren, falls es erwünscht ist, Blockkennungen in die PanaMark einzufügen, wie oben diskutiert, bestimmte vorbestimmte Orte in dem zweidimensionalen Feld leer.
  • Im Schritt 35 werden Blockkennungen in die leeren Stellen eingeführt, die verwendet werden, wie vorstehend beschrieben, um die Anzahl verschlüsselter Datenbits dazwischen zu zählen, um fehlende oder hinzugefügte Datenreihen und/oder -spalten zu entdecken, wenn die PanaMark gelesen wird. Die freien Stellen können in Reihen oder Spalten des zweidimensionalen Feldes auftreten oder können eine ganze Reihe oder Spalte umfassen bzw. nicht umfassen.
  • Danach wird das zweidimensionale digitale Feld in ein Portable-Bitmap-Format (PBM-Format) konvertiert, indem Headerinformationen und alle notwendigen Steuerungsdaten (zum Beispiel Entzerrungsbalken) im Schritt 36 zur PanaMarke zugefügt werden. Diese PBM wird dann unter Verwendung eines herkömmlichen Translatorprogramms in ein gekapseltes PostScript (Encapsulated PostScript-EPS) konvertiert.
  • Im Schritt 37 wird die EPS-Repräsentation der PanaMark mit einer PostScript-Darstellung der gedruckten Seite unter Verwendung eines Standard-Übersetzungsprogramms zusammengefasst. Schließlich werden im Schritt 38 die analoge Information und die PanaMark auf einem gedruckten Medium mittels eines Standarddruckers eines beliebigen Typs ausgedruckt.
  • Dies ist so zu verstehen, dass viele dieser Schritte miteinander ausgetauscht werden können oder vollständig weggelassen werden können. Zum Beispiel kann der Schritt 33 der Randomisierung vor der Replizierung des Datenstroms durchgeführt werden, oder der Schritt der Randomisierung kann vollständig weggelassen werden.
  • Ein spezifisches Beispiel, um die Schritte, die in 4 erklärt wurden, weiter zu beschreiben, ist in der 5 dargestellt. Im Schritt 15 stellt der Satz „Call me Ishmael" die eingegebenen Rohdaten dar, die in einer PanaMark verschlüsselt und auf eine gedruckte Seite gedruckt werden sollen.
  • Im Schritt 51 kann die Schriftzeichenwendung zu der gezeigten Darstellung komprimiert werden. Jedes Schrittzeichen wird dann im Schritt 52 auf seinebinäre Darstellung abgebildet.
  • Schritt 53 zeigt die Replizierung des Datenstroms des Schritts 52. Dies ist so zu verstehen, dass, obwohl drei Datenströme gezeigt sind, diese bevorzugterweise ein einziger gleichzeitiger Datenstrom sind. Im Schritt 54 ist gezeigt, dass ein drei Bit-ECC zu allen vier Bits von Daten hinzugefügt wird. Im Schritt 55 werden die Bits des replizierten ECC-verschlüsselten Datenstroms randomisiert. Im Schritt 56 wird der randomisierte lineare Datenstrom auf ein zweidimensionales Feld durch die „zufällige" Abbildungstechnik abgebildet. Die zufällige Abbildung kann gegenüber der Reihe-Haupt-Ordnung-Abbildung zu bevorzugen sein, wenn es sich um Anwendungen handelt, bei denen ein höchst lokalisierter Schaden an Teilen der PanaMark möglich ist. Die leeren Bitstellen werden im Schritt 57 mit Blockkennungen (001) gefüllt. Schließlich wird im Schritt 58 eine Darstellung eines Teils der PanaMark gezeigt.
  • Wenn erst einmal Informationen in der Form einer PanaMark verschlüsselt und auf eine gedruckte Seite gedruckt sind, kann diese mittels der Schritte, die in 6 gezeigt sind, von der Seite gelesen werden. Für den Zweck der Entschlüsselung der PanaMark besteht die Erkennung der Markierung aus mehr als dem bloßen Auffinden ihres Ortes auf der gedruckten Seite. Die Erkennung besteht aus den Schritten 60 bis 63, die die Lokalisierung der PanaMark und die Durchführung von Bildtransformationen zum Vorbereiten der PanaMark für die Entschlüsselung umfassen.
  • Im Schritt 60 wird die gesamte Dokumentenseite gelesen, beispielsweise mittels eines Scanners, wobei sowohl der analoge Teil als auch die PanaMark in einer Online-Bitmap-Darstellung transferiert werden. Dies kann insbesondere dadurch erfolgen, dass ein optischer Flachbettscanner in einem Standard-8-Bit-Graustufen-Format (TIFF-Format) zur Erzeugung von Bilddateien verwendet wird. Falls jedoch die PanaMark unter Verwendung der so genannten „unsichtbaren" Tinte wie vorstehend diskutiert, ausgedruckt worden ist, würde ein Ultraviolettlichtscanner verwendet werden, um die PanaMark zu scannen.
  • Im Schritt 61 wird das Graustufenbild unter Verwendung von Schwellwerten in eine binäre Schwarz-Weiß-Bitmap umgewandelt. Während der Anwendung des Grenzwertverfahrens wird ein Intensitätslevel dynamisch gewählt, worin Pixel mit einem Intensitätslevel oberhalb des Grenzwertlevels als ein schwarzes (oder ein weißes) Pixel betrachtet werden, während Pixel mit einem Intensitätslevel unterhalb des Schwellwertlevels umgekehrt als ein weißes (oder schwarzes) Pixel betrachtet werden.
  • Danach wird im Schritt 62 die PanaMark basierend auf verschiedenen Techniken von der Bitmap lokalisiert. Zum Beispiel werden die Größe oder näherungsweise Lokalisierung der PanaMark gespeichert, sodass sie auf dem gedruckten Dokument lokalisiert werden kann. Das PanaMark-Bild wird dann abgeschnitten und die zweidimensionale Pixelgröße wird bestimmt. Die Bestimmung der Pixellänge oder -breite ist erwünscht, da zum Beispiel, falls sich ergibt, dass die PanaMark 2,615 Pixel lang ist und es bekannt ist, dass dieses logisch 655 Bits entspricht, daraus geschlossen werden kann, dass jedes einzelne Bit näherungsweise 4 Pixel lang ist.
  • Im Schritt 63 wird eine Korrektur an der PanaMark vorgenommen, um auszugleichen, dass die PanaMark mit einem leichten Winkel gescannt wurde. Grundsätzlich beinhaltet der Schritt der Entzerrung der PanaMark ein Rückgängigmachen der Rotation der Markierung durch ein Verschieben („sliding") dieser Datenbits und der Entzerrungsstreifen in eine Position derart, dass die vertikalen und horizontalen Entzerrungsstreifen jeweils tatsächlich vertikal und horizontal verlaufen. Wie oben beschrieben ist zur Durchführung dieses Entzerrungsschrittes nur ein einziger Streifen notwendig. Diese Technik kann den so genannten „Sheer"-Algorithmus verwenden, wobei es angenommen wird, dass der Streifen links außen mit der Kante der PanaMark bündig ist, um die Reihen von Pixeln nach links zu verschieben, wie benötigt. Eine andere Entzerrungstechnik kann verwendet werden, die als der „Rotate"-Algorithmus bekannt ist, gemäß der die inverse geometrische Rotation auf das Bild angewandt wird. Danach wird die PanaMark entzerrt, die Entzerrungsstreifen (das heißt, die Nichtdatengrenzen) werden vom Bild entfernt.
  • Nun, da die PanaMark lokalisiert und verbessert worden ist, ist die PanaMark bereit, um die Entschlüsselung in den Schritten 64 und 65 vorzunehmen. Die Entschlüsselung der PanaMark beinhaltet die tatsächliche Übersetzung der Pixel vom gescannten Bild in binäre Daten in der Form eines zweidimensionalen Bit Arrays. Als solcher ist dies verständlicherweise der wichtigste Schritt in dem Leseverfahren für die PanaMark. Obwohl in der Vergangenheit zweidimensionale Barcodes unter Verwendung so genannter „Clocks" oder „Clocking Bits" wie oben diskutiert entschlüsselt wurden, verwendet die PanaMark keinerlei solcher Taktbits, sondern entschlüsselt die Informationen einzig und allein basierend auf den Datenpixeln selbst. Die Entschlüsselung macht sich die Zufälligkeit jedes einzelnen Datenpixels zu Nutze, woraus sich ergibt, dass in jeder beliebigen Reihe oder Spalte näherungsweise eine gleiche Anzahl von Nullen und Einsen enthalten ist. Folglich gibt es viele weiß-nach-schwarz- und schwarz-nach-weiß-Übergänge, die im Folgenden als „Kanten" bezeichnet werden, und zwar überall in der Markierung. Diese Kanten werden dazu verwendet, um Reihen- und Spalten-„Center" im Schritt 64 zu bestimmen. Die Reihen- und Spalten-Center werden dann verwendet, um zu bestimmen, wo jedes einzelne Datenbit im Schritt 65 ausgelesen werden soll. Diese taktfreie Entschlüsselungstechnik könnte auch arbeiten, falls die Daten nicht randomisiert worden sind; es ist jedoch wahrscheinlich, dass sie in diesem Fall weniger wirksam ist. Die Details der Schritte 64 und 65 werden unter Bezugnahme auf die 8 bis 12 im Folgenden detaillierter beschrieben.
  • Im Schritt 66 sind die binären Daten aus der PanaMark ausgelesen worden, und die Blockkennungen, falls welche vorliegen, sind lokalisiert. Dann wird verifiziert, basierend auf der Anzahl von verschlüsselten Datenbits oder der Anzahl von Reihen und/oder Spalten zwischen jeder einzelnen lokalisierten Blockkennung, ob Reihen/Spalten von Daten gelöscht worden oder hinzugefügt worden sind. Falls dies der Fall ist, werden hinzugefügte oder fehlende Reihen/Spalten wie im Folgenden unter Bezugnahme auf die 10 bis 12 beschrieben kompensiert.
  • Nachdem die Integrität des zweidimensionalen Bitfeldes bestätigt worden ist, werden die binären Datenbits, wie im Schritt 67 dargestellt, entsperrt, wodurch sich ein linearer Datenstrom ergibt. Dann wird im Schritt 68 der inverse Randomisierungsprozess durchgeführt. Im Schritt 69 durchlaufen die binären Datenbits eine Standard ECC-Prozedur, um Fehler zu eliminieren, wie im Stand der Technik bekannt ist. Nach dem ECC-Verfahren werden die redundanten Datenströme, falls solche vorliegen, verwendet, um im Schritt 70 einen „Konsens"-Datenstrom zu bilden. Zum Beispiel kann, falls es drei redundante Datenströme gibt, eine Mehrheitswahl verwendet werden, sodass in dem Fall, dass zwei Datenströme zeigen, dass der Wert eines bestimmten Datenschriftzeichens „C" ist, während der dritte Datenstrom zeigt, dass der Wert „Q" beträgt, die Mehrheit gewinnt und die Ausgabe „C" sein wird.
  • Schließlich wird im Schritt 71 der Strom dekomprimiert, wodurch sich die originalen Roheingabedaten ergeben.
  • Diese Technik der Entschlüsselung der PanaMark wird nun unter Bezugnahme auf die 7 bis 9 erklärt. Um die PanaMark ohne die Verwendung von Taktbits zu entschlüsseln werden alle horizontalen „Edges" für jede einzelne Spalte und alle vertikalen „Edges" jeweils für einzelne Reihe gezählt. Eine Kante wird definiert als zwei benachbarte Pixel der gleichen Farbe, die an ein Pixel einer anderen Farbe angrenzen. Die vier unterschiedlichen Typen horizontaler Kanten sind mit den Bezugszeichen 73 und 74 der 7A bezeichnet. In ähnlicher Weise sind die vier unterschiedlichen Typen vertikaler Kanten durch die Bezugszeichen 75 und 76 der 7B dargestellt. Ob eine horizontale Kante als eine rechte Kante 73 oder eine linke Kante 74 betrachtet wird, hat keine Konsequenzen, wenn sie verwendet wird, um die PanaMark zu entschlüsseln. Falls jedoch die Anzahl horizontaler rechter Kanten und horizontaler linker Kanten vorher bekannt ist und falls eine andere Anzahl gezählt wird, dann wird ein Fehler erkannt. Das gleiche kann über die vertikale obere Kante 75 und die vertikale untere Kante 76 gesagt werden.
  • Die 8 stellt dar, wie horizontale und vertikale Kanten jeweils in jeder einzelnen Spalte und Reihe gezählt werden, um Spaltenmittellinien und Reihenmittellinien zu bestimmen. Im Allgemeinen haben Spalten und Reihen, die Spalten- und Reihenmittellinien entsprechen, bei Weitem weniger Kanten als jene, die Nichtcentern entsprechen. Spalten- und Reihenmittellinien werden verwendet, um das Centerpixel einer Pixelmatrix zu bestimmen, das ein binäres Datenbit zum Auslesen darstellt. Das Centerpixel wird ausgelesen, um die genauesten Daten zu erhalten, im Gegensatz zu den umgebenden Seitenpixeln der Matrix. In anderen Worten ist es in dem Fall, in dem ein einziges Datenbit durch einen 3 × 3 Block von Pixeln dargestellt wird, wünschenswert, das Mittelpixel der Datenbits auszulesen. Umgekehrt haben die Pixel, die das Mittelpixel umgeben, eine bei Weitem größere Chance darauf, fehlerhaft zu sein, aufgrund von Rauschen, das durch zufällige Pixelfehler und dergleichen verursacht wird. Demgemäß kann durch eine Bestimmung der Orte in jeder einzelnen Spalte und Reihe, die die geringste Anzahl von Kanten haben, jedes einzelne Mittelpixel genau lokalisiert werden, wodurch die zuverlässigsten binären Daten erhalten werden, wenn dieses Pixel ausgelesen wird.
  • Die 8 stellt dar, wie vertikale und horizontale Kanten in einem Teil einer PanaMark ausgewiesen werden. Zum Beispiel wird die Scanlinie 80 verwendet, um die Anzahl vertikaler Kanten, die in Reihe 3 enthalten sind, zu zählen. Wie gezeigt hat Reihe 3 vier vertikale Kanten. In ähnlicher Weise weist Reihe 5 dreizehn vertikale Kanten auf, die entlang der Scanlinie 81 gezählt wurden. Unter Bezugnahme auf die horizontale Kantenzählung beinhaltet Spalte 8 acht horizontale Kanten entlang der Scannlinie 78, während Spalte 15 zwei horizontale Kanten entlang der Scanlinie 79 aufweist. Selbstverständlich wird jede einzelne Reihe und Spalte gescannt, sodass die Anzahl von Kanten für jede Reihe und Spalte bestimmt wird.
  • Die 9A stellt horizontale Kantenzählungen pro Spalte für die gesamte Breite einer PanaMark mit 134 Pixelspalten dar. Wie gezeigt wird immer wenn ein lokales Minimum vorliegt, bestimmt, dass die Spalte eine Spaltenmittellinie aufweist. In ähnlicher Weise stellt die 9B die vertikale Kantenzählung per Reihe für die Teillänge (die ersten 134 Reihen) einer PanaMark dar, die sich über den größten Teil einer gedruckten Seite, wie in den PanaMarks 14 der 1 zu sehen, erstreckt. Hier sind auch die lokalen Minima, die Reihenmittellinien darstellen, gut definiert.
  • Im Betrieb muss das Computersystem nicht tatsächlich grafisch die Spalten- und Reihencenter, wie jeweils in den 9A und 9B dargestellt, herstellen. Stattdessen wird jeweils ein eindimensionale lineare Darstellung für jede einzelne Reihe und Spalte berechnet, um die lokalen Minima zu bestimmen. Dies kann sehr genau durchgeführt werden, da der Computer schätzt, wie weit jede einzelne Reihenmitte und Spaltenmitte voneinander beabstandet sein sollten. Zum Beispiel ist es in einem binären Datenbit, das durch eine 3 × 3 Pixelmatrix dargestellt wird, bekannt, dass näherungsweise alle drei Pixelreihen und alle drei Pixelspalten eine neue Reihen- und Spaltenmittellinie sein sollte. Die Mittellinien sind so gut definiert, dass es nicht erforderlich ist, dass der Computer den näherungsweisen Abstand der Mittellinien kennt.
  • Wenn die horizontalen und vertikalen Kanten erst einmal gezählt und jede Spalte- und Reihenmittellinie bestimmt ist, werden die binären Daten, die an der Schnittlinie der Spalten- und Reihenmittellinien lokalisiert sind, sequentiell ausgelesen, um ein zweidimensionales Zelt von Datenbits zu bilden. Zum Beispiel weist die Spalte 31, wie in der 9A gezeigt, ein Spaltenmittellinie auf. So werden für jede Reihenmittellinie, wie in der 9B gezeigt (Reihe 9, 13, 16 ...) die binären Daten ausgelesen, an dem Ort, an dem jede einzelne Reihenmittellinie (9, 13, 16 ...) die Spaltenmittellinie 31 schneidet.
  • Wenn das zweidimensionale Feld von Datenbits hergestellt ist, werden Blockkennungen, falls solche vorliegen, wie im Schritt 66 der 6 beschrieben identifiziert. Der Vorteil des Einfügens von Blockkennungen in die PanaMark während des Verschlüsselungsverfahrens sollte offensichtlich sein. Es ist leicht, sich Umstände vorzustellen, unter denen die binären Daten in einer PanaMark nicht zuverlässig entschlüsselt werden können. Zum Beispiel sei angenommen, dass die Mehrzahl der PanaMark bedeckt ist oder fehlt oder dass bloß ein kleiner Bereich der PanaMark bedeckt ist. In diesem Fall kann es, obwohl es möglich ist, welche Daten auch immer vorliegen, diese direkt zu entschlüsseln, nicht möglich sein, die entschlüsselten Daten zu verwenden, da nicht bekannt ist, wo sie bezüglich der fehlenden Daten hingehören. Ein subtilerer Effekt tritt auf, wenn eine PanaMark gefaxt wird. Es wurde beobachtet, dass ein Scanner von Faxmaschinen verschiedene Verzerrungen entlang von Datenbarcodes verursacht. Demgemäß ist es denkbar, dass eine PanaMark, die mittels eines Faxgeräts übertragen worden ist, eine Verzerrung entlang einer Reihe von Pixeln aufweist, die dafür sorgt, dass fehlende oder zusätzliche Reihen von Pixeln auftreten. Die 10A zeigt ein PanaMark 82, bei der eine Reihe von Pixeln 83 derart komprimiert worden ist, dass, wenn die PanaMark entschlüsselt wird, die komprimierte Reihe von Pixeln wechselt. Die 10B zeigt eine PanaMark 84, bei der eine Reihe von Pixeln 86 auf näherungsweise das Zweifache ihrer Größe expandiert worden ist. Demgemäß wird die expandierte Reihe, wenn die PanaMark 84 entschlüsselt wird, mehr als einmal in der Ausgabe dargestellt. Dies kann dazu führen, dass eine gesamte Reihe oder Reihen von Datenbits verloren gehen oder dupliziert werden. Selbstverständlich kann der gleiche Effekt in den Spalten der PanaMark auftreten.
  • Deswegen ist es wünschenswert, Blockkennungen einzufügen, die jeweils eine bekannte vorbestimmte Bitsequenz oder einen Wert haben, wobei die Einfügung an vorbestimmten leeren Orten des digitalen zweidimensionalen Feldes erfolgt, wie in den Schritten 56 und 57 der 5 dargestellt. Die Blockkennungen können eine gesamte Reihe oder Spalte belegen und mittels einer bekannten Anzahl von Reihen oder Spalten von Datenbits separiert werden. Alternativ können die Blockkennungen eine vorbestimmte Anzahl von Bits darstellen, die durch eine vorbestimmte Anzahl von Datenbits separiert werden. Während der Entschlüsselung, nachdem die binären Datenbits in ein zweidimensionales Bitfeld ausgelesen worden sind, werden die Blockkennungen zunächst lokalisiert und dann bevorzugterweise die Anzahl von Reihen und/oder Spalten zwischen jeder einzelnen Blockkennung gezählt, um zu bestimmen, ob es hinzugefügte oder fehlende Reihen gibt. Alternativ werden die Anzahlen von Datenbits zwischen Blockkennungen gezählt, um zu bestimmen, ob Datenbits hinzuzufügen oder zu löschen sind. Wenn Reihen und/oder Spalten oder Datenbits fehlen, muss dann bestimmt werden, wo Daten hinzuzufügen sind, um die Fehler auszugleichen.
  • Die 11 zeigt die bevorzugte Suchreihenfolge zur Bestimmung der Stelle einer Blockkennung. Da die Fehler genauso wahrscheinlich innerhalb der Bits auftreten, die die Blockkennungen darstellen, wie überall sonst, sucht der Blockerkennungsalgorithmus nicht nach einer exakten Übereinstimmung mit einem vorbestimmten Wert. Stattdessen wird die Linie mit dem minimalen Hamming-Abstand zu jeder einzelnen vorbestimmten Bitsequenz identifiziert, als die Linie, die die Blockkennung enthält. Selbstverständlich können andere Techniken neben dem Vergleich von Hamming-Abständen verwendet werden.
  • Die 11 zeigt einen Teil der PanaMark 90, die eine Folge von Reihen 91, 92, 93, 94, 95 von Datenbits aufweist, deren eine Reihe eine Blockkennung mit einer vorbestimmten Bitsequenz aufweist. Um die Blockkennung zu lokalisieren, wenn zum Beispiel bekannt ist, dass jede einzelne Blockkennung nach jeweils acht Reihen verschlüsselter Datenbits eingefügt worden ist, wird angenommen, dass die Reihe, die die Blockkennungsbits aufweist, jede neunte Reihe sein wird, es sei denn, es hat irgendeine Verzerrung gegeben. Demgemäß wird die Reihe, die die erwartete Blockkennung aufweist (Reihen 91 der 11) als erste mit der vorbestimmten Bitsequenz verglichen. Falls es keine exakte Übereinstimmung gibt, wird die Reihe 92 mit der Bitfolge verglichen. Die verbliebene Suchordnung wird weiter in der 11 dargestellt, das heißt, Reihe 93, 94 und 95. Falls es in keiner dieser Reihen eine exakte Übereinstimmung gibt, wird die Reihe mit dem minimalen Hamming-Abstand von der vorbestimmten Bitfolge als die Reihe mit der Blockkennung bestimmt. Selbstverständlich kann die Blockkennung, obwohl die Blockkennung so dargestellt wird, dass sie in einer Reihe von Datenbits vorliegt, auch in Spalten des Bitfeldes lokalisiert sein. Des Weiteren können die exakten Orte jeder einzelnen Blockkennung innerhalb einer Reihe oder Spalte bekannt sein, sodass die bekannte Reihe oder Spalte zuerst mit der vorbestimmten Bitfolge verglichen wird, wie oben beschrieben.
  • Wenn alle der Blockkennungen lokalisiert sind, kann bestimmt werden, ob eine Anordnung durchgeführt werden muss. Falls die Anzahl von Reihen zwischen jeder einzelnen Blockkennung die korrekte vorbestimmte Anzahl beinhaltet, ist keine Ausrichtung erforderlich. Falls diese jedoch zu wenige Reihen beinhaltet, ist eine Ausrichtung erforderlich, um zusätzliche Reihen hinzuzufügen. Falls zu viele Linien vorhanden sind, ist eine Anordnung notwendig, um überflüssige Reihen zu löschen.
  • Falls festgestellt worden ist, dass eine Reihe codierter Datenbits gelöscht werden sollte, das heißt, die Anzahl tatsächlicher Reihen codierter Datenbits die vorbestimmte Anzahl überschreitet, dann wird angenommen, dass, falls es zwei benachbarte Reihen mit identischen binären Daten gibt, eine Reihe gelöscht werden sollte. Falls es keine zwei benachbarten identischen Reihen gibt, dann wird eine der zwei benachbarten Reihen mit dem minimalen Hamming-Abstand voneinander gelöscht.
  • Falls jedoch bestimmt worden ist, dass die Anzahl von Reihen codierter binärer Daten geringer ist als die vorbestimmte Anzahl, zum Beispiel wenn eine Reihe fehlt, dann ist es nötig, ein Reihe binärer Daten hinzuzufügen. Dies lässt die Frage offen, welche Daten eingefügt werden sollten und wo diese Daten eingefügt werden sollten. Was die Frage betrifft, welche Daten eingefügt werden sollten, können zufällige Daten als „Platzhalter" bei Fehlen einer besseren Wahl verwendet werden. Da die originalen codierten Daten randomisiert sind, wird jede beliebige Wahl der Anzahlen der Nullen und/oder Einsen für die eingefügte Reihe eine erwartete Genauigkeitsrate von 50% erreichen. Während die eingefügte Reihe im Mittel eine vergleichsweise große Fehlerzahl enthalten wird, wird die korrekte Anzahl von Reihen zwischen jeder einzelnen Blockkennung erreicht und eine ECC- und/oder Datenredundanz kann gegebenenfalls auftretende Fehler korrigieren.
  • Die 12 zeigt das Verfahren zur Festlegung, wo eine Reihe von zufälligen binären Daten in der PanaMark 100 einzufügen ist, wenn festgestellt wurde, dass eine Reihe fehlt. Das bevorzugte Verfahren betrachtet jede einzelne Reihenmittellinie, zum Beispiel die Reihenmittellinie 101 zwischen zwei aufeinander folgenden Blockkennungen, wie durch den Pfeil 105 in 12 dargestellt. In der Reihenmittellinie 101 werden alle Pixel mit einem „X" markiert. Als nächstes wird jedes einzelne Pixel in Reihe 102 über und Reihe 103 unter der Reihenmittellinie 101 mit seinem benachbarten Reihenmittellinienpixel verglichen. In diesen Reihen 102 und 103 wird ein Pixel mit einem „X" markiert, um anzuzeigen, dass das Pixel die gleiche Farbe aufweist (das heißt „verbunden ist") mit der Reihenmittellinie 101. Schließlich wird die Reihe mit der geringsten Anzahl von „X"en, das heißt den am meisten „unverbundenen" Pixeln als unangemessen benachbart zur Reihenmittellinie bestimmt und die hinzugefügte Reihe von zufälligen Daten wird dazwischen eingefügt. Unter Verwendung dieser Technik beinhaltet die Reihe 102 drei unverbundene Pixel (im Gegensatz zu lediglich zwei unverbundenen Pixeln der Reihe 103) und wird deshalb als die fehlerhaft benachbarte Reihe ausgewählt. Demgemäß wird eine Reihe von zufälligen Daten zwischen Reihe 102 und der Reihenmittellinie 101 eingefügt.
  • Obwohl die vorliegende Erfindung insbesondere unter Bezugnahme auf die bevorzugten Ausführungsbeispiele und verschiedene Gesichtspunkte davon gezeigt und beschrieben worden ist, ist es für Fachleute selbstverständlich, dass verschiedene Veränderungen und Modifikationen vorgenommen werden können, ohne den Bereich der Erfindung zu verlassen. Es ist beabsichtigt, dass die beigefügten Ansprüche so verstanden werden, dass sie die hierin beschriebenen Ausführungsbeispiele, die oben erwähnten Alternativen und alle Äquivalente davon enthalten.

Claims (4)

  1. Verfahren zur Decodierung von Informationen, die auf ein gedrucktes Medium als Reihen und Spalten von Datenpixeln, die für festgelegte Informationen stehen, gedruckt sind, wobei die Datenpixel entweder eine erste oder eine zweite Farbe aufweisen, umfassend die folgenden Schritte: Lesen (60) dieser Information von dem bedrucktem Medium; und gekennzeichnet durch Bestimmen der Anzahl der horizontalen und vertikalen Kanten in allen jeweiligen Reihen und Spalten von Pixeln; Bestimmen der Reihenmittellinien anhand der lokalen Minima der gezählten horizontalen Kanten; Bestimmen der Spaltenmittellinien anhand der lokalen Minima der gezählten vertikalen Kanten; und Auslesen (65) binärer Daten, die an dem Schnittpunkt aller Mittelreihenlinien und Mittelspaltenlinien angeordnet sind, um ein Signal zu erzeugen, das für die verschlüsselte, auf das gedruckte Medium gedruckte Information steht.
  2. Verfahren nach Anspruch 1, wobei die auf das gedruckte Medium in der Form von Reihen und Spalten von Datenpixeln gedruckte Information zufällig verteilt ist, wobei das Verfahren nach dem Ausleseschritt den folgenden Schritt umfasst: Zurückrechnen des in eine Zufallszahl umgewandelten Signals um die auf das Medium gedruckte Zufallszahlinformation zu decodieren.
  3. Verfahren nach Anspruch 1 oder 2, wobei der Schritt des Bestimmens der Anzahl der Kanten die Bestimmung der Farbe der beiden Pixel umfasst, die einem ausgewählten Pixel benachbart sind und wobei eine Kante erkannt wird, wenn die beiden benachbarten Pixel unterschiedliche Farben aufweisen.
  4. Verfahren nach Anspruch 3, wobei die erste Farbe Schwarz oder Weiß ist und die zweite Farbe die andere schwarze oder weiße Farbe ist.
DE69635512T 1995-12-08 1996-12-05 Verfahren zum Lesen eines zweidimensionalen Strichcodes ohne Taktsignal Expired - Fee Related DE69635512T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US569280 1995-12-08
US08/569,280 US5862270A (en) 1995-12-08 1995-12-08 Clock free two-dimensional barcode and method for printing and reading the same

Publications (2)

Publication Number Publication Date
DE69635512D1 DE69635512D1 (de) 2006-01-05
DE69635512T2 true DE69635512T2 (de) 2006-08-10

Family

ID=24274776

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69635512T Expired - Fee Related DE69635512T2 (de) 1995-12-08 1996-12-05 Verfahren zum Lesen eines zweidimensionalen Strichcodes ohne Taktsignal

Country Status (5)

Country Link
US (2) US5862270A (de)
EP (1) EP0783160B1 (de)
JP (1) JP3643196B2 (de)
CA (1) CA2192008C (de)
DE (1) DE69635512T2 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102020130929A1 (de) 2020-07-31 2022-02-03 Technische Universität Dortmund Verfahren und Vorrichtung zur Auswertung von Matrixcodes

Families Citing this family (131)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6543024B2 (en) * 1996-02-09 2003-04-01 Overland Storage, Inc. Write format for digital data storage
US6314406B1 (en) * 1996-06-26 2001-11-06 Telxon Corporation Customer information network
US20020194075A1 (en) * 1996-12-19 2002-12-19 O'hagan Timothy P. Customer order notification system using mobile computers for use in retail establishiments
US6201901B1 (en) 1998-06-01 2001-03-13 Matsushita Electronic Industrial Co., Ltd. Border-less clock free two-dimensional barcode and method for printing and reading the same
DE19964415B4 (de) * 1998-12-16 2007-04-19 Matsushita Electric Industrial Co., Ltd., Kadoma Verfahren zum Auffinden und Lesen eines zweidimensionalen Strichcodes
US6082619A (en) * 1998-12-16 2000-07-04 Matsushita Electric Industrial Co., Ltd. Method for locating and reading a two-dimensional barcode
US6565003B1 (en) 1998-12-16 2003-05-20 Matsushita Electric Industrial Co., Ltd. Method for locating and reading a two-dimensional barcode
US6847469B1 (en) * 1998-12-24 2005-01-25 Ricoh Company, Ltd. Image processing apparatus for removing an isolated point
US6371373B1 (en) * 1999-05-25 2002-04-16 Matsushita Electric Industrial Co., Ltd. Method for reading a two-dimensional barcode
US6894794B1 (en) * 1999-06-24 2005-05-17 Eastman Kodak Company Method and apparatus for making a print having an invisible coordinate system
US6771820B1 (en) * 1999-08-12 2004-08-03 Hewlett-Packard Development Company, Lp. Encoding information within text printed on a page using differing gray or color levels
US7558563B2 (en) * 1999-09-17 2009-07-07 Silverbrook Research Pty Ltd Retrieving contact details via a coded surface
US6674919B1 (en) * 1999-09-21 2004-01-06 Matsushita Electric Industrial Co., Ltd. Method for determining the skew angle of a two-dimensional barcode
US6826562B1 (en) * 1999-11-29 2004-11-30 International Business Machines Corporation Method of simplifying and optimizing scalar subqueries and derived tables that return exactly or at most one tuple
US6880755B2 (en) * 1999-12-06 2005-04-19 Xerox Coporation Method and apparatus for display of spatially registered information using embedded data
US6935562B2 (en) 1999-12-06 2005-08-30 Xerox Corporation Operations on images having glyph carpets
US6678425B1 (en) * 1999-12-06 2004-01-13 Xerox Corporation Method and apparatus for decoding angular orientation of lattice codes
US20010034835A1 (en) * 2000-02-29 2001-10-25 Smith Robert E. Applied digital and physical signatures over telecommunications media
US7185816B1 (en) * 2000-05-04 2007-03-06 Symbol Technologies, Inc. Bar code and method of forming a bar code having color for encoding supplemental information
US20020016750A1 (en) * 2000-06-20 2002-02-07 Olivier Attia System and method for scan-based input, storage and retrieval of information over an interactive communication network
KR20020010458A (ko) * 2000-07-26 2002-02-04 정규식 이차원바코드를 이용한 문서전달 시스템 및 방법
JP2002062803A (ja) * 2000-08-23 2002-02-28 Dainippon Printing Co Ltd 認証書類、認証用紙、及び、認証書類の発行・検証システム
DE10123406A1 (de) 2001-05-15 2002-11-21 Sick Ag Verfahren zum Erfassen von zweidimensionalen Codes
US6814289B2 (en) 2001-05-30 2004-11-09 Sandia Corporation Self-registering spread-spectrum barcode method
US6869015B2 (en) 2001-05-30 2005-03-22 Sandia National Laboratories Tamper-indicating barcode and method
US6895116B2 (en) * 2001-06-07 2005-05-17 Hewlett-Packard Development Company, L.P. Automatically extracting graphical bar codes
DE10141876A1 (de) * 2001-08-28 2003-03-20 Sick Ag Verfahren zur Erkennung eines Codes
KR20030038299A (ko) * 2001-11-06 2003-05-16 이강용 바코드를 이용한 지문 인식 방법
US6631012B2 (en) * 2001-12-11 2003-10-07 Pitney Bowes Inc. Apparatus and method for printing two-dimensional barcode and articles incorporating such barcode
US8262090B2 (en) * 2001-12-13 2012-09-11 The United States Playing Card Company Method, apparatus and article for random sequence generation and playing card distribution
KR100353416B1 (en) * 2002-02-15 2002-09-18 Dream To Reality Print controlling method capable of inserting two-dimensional bar code
US7028911B2 (en) * 2002-08-07 2006-04-18 Shenzhen Syscan Technology Co. Limited Methods and systems for encoding and decoding data in 2D symbology
US6922199B2 (en) * 2002-08-28 2005-07-26 Micron Technology, Inc. Full-scene anti-aliasing method and system
US7156311B2 (en) * 2003-07-16 2007-01-02 Scanbuy, Inc. System and method for decoding and analyzing barcodes using a mobile device
US7387250B2 (en) * 2003-12-04 2008-06-17 Scanbuy, Inc. System and method for on the spot purchasing by scanning barcodes from screens with a mobile device
US20050194444A1 (en) * 2004-03-03 2005-09-08 Gieske Harry A. System for encoding information using colors
US7296747B2 (en) * 2004-04-20 2007-11-20 Michael Rohs Visual code system for camera-equipped mobile devices and applications thereof
KR100560330B1 (ko) * 2004-04-21 2006-03-30 에이디정보통신 주식회사 색상 보정이 가능한 대용량 2차원 칼라 바코드인코딩/디코딩 시스템 및 그 방법
US7687271B2 (en) * 2004-04-22 2010-03-30 Kodak Graphic Communications Canada Company Covert authentication method and apparatus
US20050246196A1 (en) * 2004-04-28 2005-11-03 Didier Frantz Real-time behavior monitoring system
CN101002217A (zh) * 2004-05-18 2007-07-18 西尔弗布鲁克研究有限公司 医药产品跟踪
US8215556B2 (en) * 2004-06-28 2012-07-10 Konica Minolta Laboratory U.S.A., Inc. Color barcode producing, reading and/or reproducing method and apparatus
JP4116597B2 (ja) * 2004-07-13 2008-07-09 グローリー株式会社 バーコード認識装置、バーコード認識方法およびバーコード認識プログラム。
US7309015B2 (en) * 2004-07-14 2007-12-18 Scanbuy, Inc. Mobile device gateway providing access to instant information
US7533817B2 (en) * 2004-08-09 2009-05-19 Konica Minolta Systems Laboratory, Inc. Color barcode producing method and apparatus, color barcode reading method and apparatus and color barcode reproducing method and apparatus
US8624970B2 (en) * 2004-08-10 2014-01-07 Thomas Krobath Method for displaying route information
US20060043189A1 (en) * 2004-08-31 2006-03-02 Sachin Agrawal Method and apparatus for determining the vertices of a character in a two-dimensional barcode symbol
US7848578B2 (en) * 2004-09-13 2010-12-07 Nokia Corporation Methods, devices and computer program products for capture and display of visually encoded data and an image
DE102004051056A1 (de) * 2004-09-13 2006-03-16 Udo Herrmann Schlüssel, Schlüsselsystem, Verfahren zur Identifikation eines individuellen Schlüssels und Verfahren zur Herstellung eines solchen Schlüssels
US7267272B2 (en) * 2004-09-28 2007-09-11 Markem Corporation Variable stride bit blitting
US7578436B1 (en) * 2004-11-08 2009-08-25 Pisafe, Inc. Method and apparatus for providing secure document distribution
WO2006089247A2 (en) * 2005-02-16 2006-08-24 Pisafe, Inc. Method and system for creating and using redundant and high capacity barcodes
JP4556705B2 (ja) * 2005-02-28 2010-10-06 富士ゼロックス株式会社 2次元座標同定装置、画像形成装置及び2次元座標同定方法
US7523855B2 (en) * 2005-03-28 2009-04-28 Konica Minolta Systems Laboratory, Inc. Systems and methods for preserving and maintaining document integrity
US7669769B2 (en) * 2005-03-28 2010-03-02 Konica Minolta Systems Laboratory, Inc. Systems and methods for preserving and maintaining document integrity
KR100773090B1 (ko) * 2005-09-14 2007-11-02 박문수 별코드
US7469829B2 (en) * 2005-09-19 2008-12-30 Silverbrook Research Pty Ltd Printing video information using a mobile device
US7672664B2 (en) * 2005-09-19 2010-03-02 Silverbrook Research Pty Ltd Printing a reminder list using mobile device
US7724399B2 (en) * 2005-09-19 2010-05-25 Silverbrook Research Pty Ltd Method of downloading and installing a software object
US7668540B2 (en) * 2005-09-19 2010-02-23 Silverbrook Research Pty Ltd Print on a mobile device with persistence
US7654444B2 (en) * 2005-09-19 2010-02-02 Silverbrook Research Pty Ltd Reusable sticker
US7855805B2 (en) 2005-09-19 2010-12-21 Silverbrook Research Pty Ltd Printing a competition entry form using a mobile device
US7428986B2 (en) * 2005-09-19 2008-09-30 Silverbrook Research Pty Ltd Printing a health report using a mobile device
US7742755B2 (en) 2005-09-19 2010-06-22 Silverbrook Research Pty Ltd Retrieving a bill via a coded surface
US7689249B2 (en) * 2005-09-19 2010-03-30 Silverbrook Research Pty Ltd Printing a security identification using a mobile device
US7403797B2 (en) * 2005-09-19 2008-07-22 Silverbrook Research Pty Ltd Obtaining a physical product via a coded surface
US7621442B2 (en) * 2005-09-19 2009-11-24 Silverbrook Research Pty Ltd Printing a subscription using a mobile device
US20070065206A1 (en) * 2005-09-19 2007-03-22 Silverbrook Research Pty Ltd Printing a coupon using a mobile device
US7843596B2 (en) 2005-09-19 2010-11-30 Silverbrook Research Pty Ltd Printing a ticket using a mobile device
US7805162B2 (en) * 2005-09-19 2010-09-28 Silverbrook Research Pty Ltd Print card with linked object
US7848777B2 (en) 2005-09-19 2010-12-07 Silverbrook Research Pty Ltd Printing a puzzle using a mobile device
US7992213B2 (en) 2005-09-19 2011-08-02 Silverbrook Research Pty Ltd Gaining access via a coded surface
US7761090B2 (en) 2005-09-19 2010-07-20 Silverbrook Research Pty Ltd Print remotely to a mobile device
US7380709B2 (en) * 2005-09-19 2008-06-03 Silverbrook Research Pty Ltd Printing a trading card using a mobile device
US7637424B2 (en) * 2005-09-19 2009-12-29 Silverbrook Research Pty Ltd Printing audio information using a mobile device
US7558599B2 (en) * 2005-09-19 2009-07-07 Silverbrook Research Pty Ltd Printing a bill using a mobile device
US7843595B2 (en) 2005-09-19 2010-11-30 Silverbrook Research Pty Ltd Printing a calendar using a mobile device
US20070085332A1 (en) * 2005-09-19 2007-04-19 Silverbrook Research Pty Ltd Link object to sticker and location on surface
US7970435B2 (en) * 2005-09-19 2011-06-28 Silverbrook Research Pty Ltd Printing an advertisement using a mobile device
US7558597B2 (en) 2005-09-19 2009-07-07 Silverbrook Research Pty Ltd. Retrieving a ringtone via a coded surface
US7953387B2 (en) * 2005-09-19 2011-05-31 Silverbrook Research Pty Ltd Retrieving a program via a coded surface
US7920854B2 (en) * 2005-09-19 2011-04-05 Silverbrook Research Pty Ltd Printing a map using a mobile device
US7945943B2 (en) * 2005-09-19 2011-05-17 Silverbrook Research Pty Ltd Retrieving an access token via a coded surface
US7920896B2 (en) * 2005-09-19 2011-04-05 Kia Silverbrook Printing an almanac using a mobile device
US7641115B2 (en) 2005-09-19 2010-01-05 Silverbrook Research Pty Ltd Type-specific sticker
US7697714B2 (en) * 2005-09-19 2010-04-13 Silverbrook Research Pty Ltd Associating an object with a sticker and a surface
US7856225B2 (en) 2005-09-19 2010-12-21 Silverbrook Research Pty Ltd Retrieving a program state via a coded surface
US7438215B2 (en) * 2005-09-19 2008-10-21 Silverbrook Research Pty Ltd Printing location-based information using a mobile device
US20070064130A1 (en) * 2005-09-19 2007-03-22 Silverbrook Research Pty Ltd Link object to form field on surface
US7506802B2 (en) * 2005-09-19 2009-03-24 Silverbrook Research Pty Ltd Method of performing an action in relation to a software object
US7708203B2 (en) 2005-09-19 2010-05-04 Silverbrook Research Pty Ltd Link object to sticker
US7575172B2 (en) 2005-09-19 2009-08-18 Silverbrook Research Pty Ltd Printing a greeting card using a mobile device
US7880911B2 (en) * 2005-09-19 2011-02-01 Silverbrook Research Pty Ltd Printing a position using a mobile device
US7407092B2 (en) * 2005-09-19 2008-08-05 Silverbrook Research Pty Ltd Printing gaming information using a mobile device
US7953386B2 (en) 2005-09-19 2011-05-31 Silverbrook Research Pty Ltd Bill per card print
US7747280B2 (en) 2005-09-19 2010-06-29 Silverbrook Research Pty Ltd Retrieving a product via a coded surface
US8072629B2 (en) * 2005-09-19 2011-12-06 Silverbrook Research Pty Ltd Print subscribed content on a mobile device
US7756526B2 (en) 2005-09-19 2010-07-13 Silverbrook Research Pty Ltd Retrieving a web page via a coded surface
US7917171B2 (en) * 2005-09-19 2011-03-29 Silverbrook Research Pty Ltd Printing a receipt using a mobile device
US20070064075A1 (en) * 2005-09-19 2007-03-22 Silverbrook Research Pty Ltd Printing a membership using a mobile device
US7924450B2 (en) * 2005-09-19 2011-04-12 Silverbrook Research Pty Ltd Reprint card on a mobile device
US7357311B2 (en) * 2005-09-19 2008-04-15 Silverbrook Research Pty Ltd Printing educational material using a mobile device
US7428996B2 (en) * 2005-11-17 2008-09-30 Pitney Bowes Inc. Method and system for encoding information into a bar code with different module size
US7571864B2 (en) 2005-12-16 2009-08-11 Pisafe, Inc. Method and system for creating and using barcodes
US8016187B2 (en) * 2006-02-21 2011-09-13 Scanbury, Inc. Mobile payment system using barcode capture
US8150163B2 (en) * 2006-04-12 2012-04-03 Scanbuy, Inc. System and method for recovering image detail from multiple image frames in real-time
JP2008078777A (ja) * 2006-09-19 2008-04-03 Brother Ind Ltd 印刷物管理装置
JP2008074068A (ja) * 2006-09-25 2008-04-03 Brother Ind Ltd 画像形成装置
JP2008085844A (ja) * 2006-09-28 2008-04-10 Brother Ind Ltd データ処理装置及び被記録媒体
JP2008084152A (ja) * 2006-09-28 2008-04-10 Brother Ind Ltd 画像形成装置及びプログラム
JP4197027B2 (ja) * 2006-09-28 2008-12-17 ブラザー工業株式会社 画像形成装置及びプログラム
JP2008090340A (ja) * 2006-09-29 2008-04-17 Brother Ind Ltd 文書データ編集装置、文書作成システム、及びプログラム
US7628330B2 (en) * 2006-09-29 2009-12-08 Konica Minolta Systems Laboratory, Inc. Barcode and decreased-resolution reproduction of a document image
US7766241B2 (en) * 2006-09-29 2010-08-03 Konica Minolta Systems Laboratory, Inc. Barcode for two-way verification of a document
JP4240107B2 (ja) * 2006-10-27 2009-03-18 コニカミノルタビジネステクノロジーズ株式会社 領域判定方法、領域判定装置、画像処理装置、およびコンピュータプログラム
AT504746B1 (de) * 2007-01-23 2008-07-15 Arc Austrian Res Centers Gmbh Verfahren zum speichern und auslesen einer folge von datenwerten
GB0714534D0 (en) * 2007-07-26 2007-09-05 Iti Scotland Ltd Secure authentic feature
JP5014013B2 (ja) * 2007-08-02 2012-08-29 株式会社リコー 画像処理装置
US8780402B2 (en) * 2007-09-04 2014-07-15 Hewlett-Packard Development Company, L.P. Document and method of producing a document
US7874496B2 (en) * 2008-01-04 2011-01-25 Microsoft Corporation Optically readable tag
EP2248068B1 (de) * 2008-01-29 2014-04-30 Veritec, Inc. Zweidimensionales symbol und verfahren, um es zu lesen
US8213706B2 (en) * 2008-04-22 2012-07-03 Honeywell International Inc. Method and system for real-time visual odometry
JP5287485B2 (ja) * 2009-05-11 2013-09-11 富士ゼロックス株式会社 情報表現画像、印刷物、画像処理装置及び画像処理プログラム
US8532632B2 (en) 2011-05-16 2013-09-10 Wesley Boudville Cellphone changing an electronic display that contains a barcode
US8348149B1 (en) 2011-07-28 2013-01-08 Wesley Boudville Using dynamic barcodes to send data to a cellphone
US8821277B2 (en) 2011-12-16 2014-09-02 Wesley John Boudville Colour barcodes and cellphone
US8655694B2 (en) 2012-05-29 2014-02-18 Wesley John Boudville Dynamic group purchases using barcodes
FR2993655B1 (fr) * 2012-07-20 2014-08-29 Color Grail Res Procede de codage par compression adaptative de la couleur d'un objet sous une forme multispectrale et procede de decodage associe
US10567489B2 (en) * 2013-03-15 2020-02-18 Time Warner Cable Enterprises Llc System and method for seamless switching between data streams
KR101557829B1 (ko) * 2013-08-07 2015-10-06 (주) 엠티콤 음성 기반 재생정보 생성 및 인식 방법 및 기록 매체
US9646236B1 (en) * 2015-12-14 2017-05-09 International Business Machines Corporation Encoding and decoding data in two-dimensional symbology

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS57147374A (en) * 1981-03-06 1982-09-11 Fuji Xerox Co Ltd Reader of two-color original
US4447903A (en) * 1981-05-22 1984-05-08 Ael Microtel, Ltd. Forward error correction using coding and redundant transmission
US4782221A (en) * 1985-04-01 1988-11-01 Cauzin Systems, Incorporated Printed data strip including bit-encoded information and scanner control
US4692603A (en) * 1985-04-01 1987-09-08 Cauzin Systems, Incorporated Optical reader for printed bit-encoded data and method of reading same
US4835713A (en) * 1985-08-06 1989-05-30 Pitney Bowes Inc. Postage meter with coded graphic information in the indicia
US4754127A (en) * 1985-11-15 1988-06-28 Cauzin Systems, Incorporated Method and apparatus for transforming digitally encoded data into printed data strips
JPS62219768A (ja) * 1986-03-19 1987-09-28 Canon Inc 電子フアイリングシステム
JPS62219769A (ja) * 1986-03-19 1987-09-28 Canon Inc 電子フアイリングシステム
US4924078A (en) * 1987-11-25 1990-05-08 Sant Anselmo Carl Identification symbol, system and method
US5053609A (en) * 1988-05-05 1991-10-01 International Data Matrix, Inc. Dynamically variable machine readable binary code and method for reading and producing thereof
US4939354A (en) * 1988-05-05 1990-07-03 Datacode International, Inc. Dynamically variable machine readable binary code and method for reading and producing thereof
US5126542A (en) * 1988-05-05 1992-06-30 International Data Matrix, Inc. Dynamically variable machine readable binary code and method for reading and producing thereof
US5083214A (en) * 1990-05-02 1992-01-21 Eastman Kodak Company Apparatus and methods for extracting data from a scanned bit-mapped data strip
JPH0428062A (ja) * 1990-05-24 1992-01-30 Matsushita Electric Ind Co Ltd ディジタルデータ記録再生装置
US5060980A (en) * 1990-05-30 1991-10-29 Xerox Corporation Form utilizing encoded indications for form field processing
US5091966A (en) * 1990-07-31 1992-02-25 Xerox Corporation Adaptive scaling for decoding spatially periodic self-clocking glyph shape codes
US5168147A (en) * 1990-07-31 1992-12-01 Xerox Corporation Binary image processing for decoding self-clocking glyph shape codes
US5128525A (en) * 1990-07-31 1992-07-07 Xerox Corporation Convolution filtering for decoding self-clocking glyph shape codes
US5051779A (en) * 1990-10-10 1991-09-24 Fuji Xerox Co., Ltd. Job control sheet for image processing system
AU3058292A (en) * 1991-10-30 1993-06-07 Computer Based Controls, Inc. Financial document dispensing apparatus and method
US5221833A (en) * 1991-12-27 1993-06-22 Xerox Corporation Methods and means for reducing bit error rates in reading self-clocking glyph codes
US5245165A (en) * 1991-12-27 1993-09-14 Xerox Corporation Self-clocking glyph code for encoding dual bit digital values robustly
US5343028A (en) * 1992-08-10 1994-08-30 United Parcel Service Of America, Inc. Method and apparatus for detecting and decoding bar code symbols using two-dimensional digital pixel images
JP2833975B2 (ja) * 1992-09-28 1998-12-09 オリンパス光学工業株式会社 ドットコード
US5337362A (en) * 1993-04-15 1994-08-09 Ricoh Corporation Method and apparatus for placing data onto plain paper
JP2938338B2 (ja) * 1994-03-14 1999-08-23 株式会社デンソー 二次元コード
JP3335470B2 (ja) * 1994-05-02 2002-10-15 オリンパス光学工業株式会社 変調方法及び復調方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102020130929A1 (de) 2020-07-31 2022-02-03 Technische Universität Dortmund Verfahren und Vorrichtung zur Auswertung von Matrixcodes

Also Published As

Publication number Publication date
JP3643196B2 (ja) 2005-04-27
CA2192008A1 (en) 1997-06-09
US6115508A (en) 2000-09-05
EP0783160A3 (de) 2001-07-11
EP0783160B1 (de) 2005-11-30
JPH09179924A (ja) 1997-07-11
EP0783160A2 (de) 1997-07-09
US5862270A (en) 1999-01-19
CA2192008C (en) 2002-02-12
DE69635512D1 (de) 2006-01-05

Similar Documents

Publication Publication Date Title
DE69635512T2 (de) Verfahren zum Lesen eines zweidimensionalen Strichcodes ohne Taktsignal
DE69633553T2 (de) Verfahren und Vorrichtung zur Einbettung von Daten in einem elektronischen Dokument
DE60211307T2 (de) Mit informationskodierenden grafischen symbolen gedrucktes dokument
DE69929572T2 (de) Verfahren zum Lesen eines zweidimensionalen Strichcode ohne Taktsignal und ohne Ränder
DE69732326T2 (de) Zweidimensionaler Farbkode, Herstellungs- und Wiederherstellungsverfahren für den Kode und Gerät dafür
DE60013101T2 (de) Zweidimensionales codemuster zum speichern biometrischer informationen und vorrichtung zum lesen dieser informationen
DE60125862T2 (de) Strichkode Vorrichtung
DE19960555B4 (de) Verfahren zum Auffinden und Lesen eines zweidimensionalen Strichcodes
EP1260933B1 (de) Verfahren zum Erfassen von zweidimensionalen Codes
DE19602129C2 (de) Verfahren zum Erzeugen eines Farbdokuments
DE60036661T2 (de) Bildverarbeitungsvorrichtung und Bildeingabevorrichtung, die mit einer Datensy ntheseeinheit ausgestattet sind.
EP0418742B1 (de) Verfahren und Vorrichtung zur geschützten Datenübertragung
DE19530829C2 (de) Verfahren zum elektronischen Wiederauffinden von einem Dokument hinzugefügter Information
DE69929110T2 (de) Einrichtung und Verfahren zur Erzeugung von Druckdaten des zweidimensionalen Koden und zugehöriges Aufzeichnungsmedia
DE60216999T2 (de) Lesevorrichtung für kodierte Bilder
EP1771813B1 (de) Verfahren zum Codieren von Daten mittels Rasterdruckdatenspeicher
DE69935821T2 (de) Bildübersetzungapparat, Bildübersetzungmethode und Speichermedium
Chotikakamthorn Document image data hiding technique using character spacing width sequence coding
DE4107020A1 (de) Verfahren zur zweidimensionalen speicherung von daten auf einem bedruckbaren oder fotografisch entwickelbaren medium
DE4323025C2 (de) Schriftzeichen-Speichervorrichtung
EP1282894A2 (de) Verfahren zum einbringen verborgener information in einen notensatz
EP1835718B1 (de) Robustes digitales Wasserzeichen für Vektorschriften
EP1349368A1 (de) Verfahren zur Markierung eines Datensatzes
DE10024248A1 (de) Verfahren und Vorrichtung zum Hinterlegen einer Kennzeichnung
EP2140405A1 (de) Verfahren zum erfassen eines auf einer postsendung aufgebrachten maschinenlesbaren codes, vorrichtung zur durchführung des verfahrens, postsendung und verfahren zum versehen der postsendung mit maschinenlesbarem code

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8328 Change in the person/name/address of the agent

Representative=s name: LINDNER BLAUMEIER PATENT- UND RECHTSANWAELTE, 9040

8339 Ceased/non-payment of the annual fee