DE69523273T2 - Vorrichtung zum Lesen eines zweidimensionalen Codes - Google Patents

Vorrichtung zum Lesen eines zweidimensionalen Codes

Info

Publication number
DE69523273T2
DE69523273T2 DE69523273T DE69523273T DE69523273T2 DE 69523273 T2 DE69523273 T2 DE 69523273T2 DE 69523273 T DE69523273 T DE 69523273T DE 69523273 T DE69523273 T DE 69523273T DE 69523273 T2 DE69523273 T2 DE 69523273T2
Authority
DE
Germany
Prior art keywords
dimensional code
binary
signals
circuit
line signals
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 - Lifetime
Application number
DE69523273T
Other languages
English (en)
Other versions
DE69523273D1 (de
Inventor
Masahiro Hara
Motoaki Watabe
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.)
Denso Corp
Original Assignee
Denso 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
Application filed by Denso Corp filed Critical Denso Corp
Publication of DE69523273D1 publication Critical patent/DE69523273D1/de
Application granted granted Critical
Publication of DE69523273T2 publication Critical patent/DE69523273T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime 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
    • 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/1456Methods for optical code recognition including a method step for retrieval of the optical code determining the orientation of the optical code with respect to the reader and correcting therefore

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Electromagnetism (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Toxicology (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Length Measuring Devices By Optical Means (AREA)

Description

    HINTERGRUND DER ERFINDUNG 1 Technisches Gebiet
  • Die vorliegende Erfindung bezieht sich allgemein auf eine Verbesserung einer Vorrichtung zum Lesen eines zweidimensionalen Codes, die entworfen wird um einen als Matrix von Datenzellen ausgebildeten zweidimensionalen Code zu lesen, die zum Beispiel binärcodierte Information zur Eingabe in einen Computer übertragen.
  • Im Allgemeinen wird ein zweidimensionaler Code durch erfassen eines Bildes davon mit einem zweidimensionalen Bilderfassungsgerät gelesen, wie zum Beispiel einer Fernsehkamera, um die Lage des zweidimensionalen Codes zu finden und aus dem erfassten Bild herauszugreifen. Als nächstes wird eine Symbolinformation des zweidimensionalen Codes durch bestimmen der Größe des zweidimensionalen Codes abgeleitet, der Koordinaten jeder Datenzelle und einer Binärzahl (d. h. weiß oder schwarz), die durch jede Datenzelle ausgedrückt wird. Normalerweise ist ein solcher zweidimensionaler Code fähig eine große Menge von Informationen in einem kleinen Bereich verglichen mit einem Strichcode zu übertragen.
  • Herkömmliche zweidimensionale Codes werden derart entworfen, dass sie mit hoher Genauigkeit mit bekannten Codiertechniken unter Verwendung von Fehlererfassungs- und Fehlerkorrekturcodes gelesen werden können. Jedoch hängt das Lesen der zweidimensionalen Codes von einer Software ab, die eine hochentwickelte CPU verwendet, wie weiter unten erörtert werden wird, und weist ein Hochgeschwindigkeitsleseproblem auf. Das liegt darin begründet, dass die zweidimensionalen Codes keine Struktur aufweisen, die ebenso für das Hochgeschwindigkeitslesen als auch zur Bearbeitung einer Drehung des zweidimensionalen Codes geeignet ist.
  • U.S.P. Nummer 5,053,609 von Priddy et al. lehrt einen maschinenlesbaren Binärcode, der als eine Matrix ausgebildet ist, die zwei sich überschneidende Seiten, die nur aus dunklen Zellen bestehen, und andere zwei Seiten, die aus dunklen und hellen Zellen bestehen, aufweist, die zur Bestimmung der Orientierung der Matrix in einer abwechselnden Abfolge angeordnet sind. Jedoch ist es notwendig die Matrix viele Male in verschiedenen Richtungen zu erfassen bis die Eigenschaften aller Seiten der Matrix zum Bestimmen einer Position und eines Drehwinkels der Matrix bekannt sind.
  • U.S.P. Nummer 4,924,078 nach Sant' Anselmo et al. legt eine Datenzellenmatrix offen, die ein sich in zwei Richtungen erstreckende Orientierungsumrandung aufweist. Diese Umrandung ähnelt der bei Priddy et al. offengelegten, und es ist daher notwendig die Matrix in verschiedenen Richtungen zu erfassen bis die Eigenschaft der Umrandung zur Bestimmung einer Position und eines Drehwinkels der Matrix vollständig bekannt ist.
  • Die Größe eines Bildes der Matrix ist nicht immer konstant, wenn daher die Lage jeder Datenzelle auf Grundlage eines vorbestimmten Zell-zu-Zell-Abstandes bestimmt wird, wird dies einen die Lage betreffenden Fehler verursachen. Wenn außerdem aufeinanderfolgende dunkle und helle Datenzellen angeordnet sind, tritt ein die Lage betreffender Fehler ebenso abhängig von den Lesearten der Datenzellen auf. Da bei Priddy et al. die hellen und dunklen Zellen in Form einer gestrichelten Linie auf zwei Seiten der Matrix angeordnet sind, können die Lagen aller Datenzellen auf der Grundlage der Lagen der dunklen und hellen Zellen auf den zwei Seiten der Matrix nur durch Bestimmen der Orientierung der zwei Seiten bestimmt werden. Da bei Sant' Anselmo et al. Folgen der dunklen Zellen entlang zwei oder mehr Seiten der Matrix angeordnet sind, können die Lagen aller Datenzellen auf der Grundlage der Lagen der dunklen Zellen auf den zwei oder mehr Seiten der Matrix nur durch Bestimmen der Orientierung der zwei oder mehr Seiten bestimmt werden.
  • Jedoch führt die Verwendung einer großen Anzahl von Datenzellen zur Bestimmung der Lage jeder der Datenzellen zu einer Verringerung der Datenmenge, die durch die Gesamtmatrix dargestellt wird. Ferner kann dasselbe Muster wie das der vier Seiten der Matrix in einem Datenfeld angeordnet sein, und es kann ebenso entsprechend der Lesearten der Datenzellen erscheinen. Das macht einen komplexen Zell-Lesebeprozess erfoderlich, der die für den Zell- Leseprozess benötigte Zeit erhöht.
  • Normalerweise weist ein zweidimensionaler Code verglichen mit einem Strichcode eine große Menge zu bearbeitender Daten auf, wobei eine große Zeitspanne zum Decodieren der Daten benötigt wird. Außerdem ist aufgrund der oben erwähnten Probleme ebenso Zeit erforderlich, um den zweidimensionalen Code aus einem erfassten Bild aufzunehmen. Da ferner der zweidimensionale Code normalerweise in einen Codeleser bei einer nicht festen Winkelposition eingegeben wird, werden zusätzliche Prozesse zum Bestimmen der Winkelposition und der Koordinatentransformation vor der Decodierung benötigt, wodurch eine zur Verarbeitung des zweidimensionalen Codes benötigte Gesamtzeit erhöht wird.
  • EP-A-0 672 994 das ein Dokument im Sinne des Artikels 54 (3) EPC ist, legt eine zweidimensionale Codelesevorrichtung offen, die ein Bildaufnahmegerät, das ein Bild eines zweidimensionalen Codes aufnimmt, der ein Datenfeld und drei Ausrichtungssymbole beinhaltet, das Bild in Bildsignale umwandelt und die resultierenden Bildsignale ausgibt und eine Decodereinheit umfasst, welche die resultierenden Bildsignale in Binärcodesignale decodiert.
  • Es ist eine Aufgabe der vorliegenden Erfindung eine zweidimensionale Codelesevorrichtung bereitzustellen, die mit einer hohen Geschwindigkeit arbeitet.
  • Gemäß der vorliegenden Erfindung ist diese Aufgabe durch die in Anspruch 1 angegebenen vorteilhaften Maßnahmen gelöst.
  • Gemäß einem Aspekt der vorliegenden Erfindung ist eine zweidimensionale Codelesevorrichtung bereitgestellt mit:
  • einem CCD-Sensor zum Erfassen eines einen zweidimensionalen Code enthaltenden Bildes durch optisches Abtasten des Bildes entlang von Abtastzeilen, wobei der zweidimensionale Code eine rechteckige Matrix von Zellen ist, der zweidimensionale Code ein Datenfeld und drei Ausrichtungssymbole beinhaltet, die Ausrichtungssymbole dasselbe Muster aufweisen und jeweils an drei Ecken der Matrix angesiedelt sind, das Datenfeld und die Ausrichtungssymbole jeweils aus einer gegebenen Anzahl von Zellen bestehen, der CCD-Sensor Abtastzeilensignale ausgibt, die Signalpegel entsprechend der Helligkeit der Abschnitte des erfassten Bildes auf den Abtastzeilen aufweist;
  • einer einzelnen Binärcodierschaltung zur Codierung der Abtastzeilensignale, die von dem CCD-Sensor ausgegeben werden, in binärcodierte Abtastzeilensignale entsprechend der Signalpegel der Abtastzeilensignale, und Ausgeben der binärcodierten Abtastzeilensignale;
  • einer Speichereinrichtung zum Speichern der von der Binärcodierschaltung ausgegebenen binärcodierten Abtastzeilensignale an erste Speicherstellen;
  • eine Weitenverhältniserfassungsschaltung zum Vergleichen des Weitenverhältnisses von aufeinanderfolgenden Bereichen der binärcodierten Abtastzeilensignale, die von der Binärcodierschaltung ausgegeben werden, mit einem einzigen Referenzweitenverhältnis, das dem binär codierten Abtastzeilensignal entspricht, das durch eine Abtastzeile erzeugt wird, die durch die Mitte eines der Ausrichtungssymbole geht, um Bereiche der binär codierten Abtastzeilensignale zu erfassen, die dem Referenzweitenverhältnis entsprechen, und um darauf hinweisende Ausrichtungssymbolsignale vorzusehen;
  • einer Adreßspeicherschaltung, zum Bestimmen von Koordinaten auf dem erfassten Bild, welchem die Ausrichtungssymbolsignale entsprechen, die von der Weitenverhältniserfassungsschaltung vorgesehen werden, in Übereinstimmung mit einem Takt von Signalen, die von der Weitenverhältniserfassungsschaltung ausgegeben werden, und zum Schreiben der bestimmten Koordinaten in zweite Speicherstellen der Speichereinrichtung, die sich von den ersten Speicherstellen der Speichereinrichtung unterscheiden;
  • einer CPU zum Lesen der binär codierten Abtastzeilensignale und der Koordinaten der Ausrichtungssymbolsignale aus der Speichereinrichtung, und zum Bestimmen von Positionen der Ausrichtungssymbole in dem erfaßten Bild, auf der Grundlage der Koordinaten der Ausrichtungssymbolsignale, um den zweidimensionalen Code auf der Grundlage der Positionen der Ausrichtungssymbole auszulesen,
  • wobei die Weitenverhältniserfassungsschaltung beinhaltet:
  • eine Zähleinrichtung zum Erfassen von ansteigenden Flanken und abfallenden Flanken der binär codieren Abtastzeilensignale, die von der Binärcodeschaltung ausgegeben werden, um Längen zwischen den angrenzenden Flanken zu messen, und zum Ausgeben eines Zählwerts, der die gemessenen Längen der Reihe nach anzeigt,
  • eine Mehrzahl von Speicherschaltungen zum Speichern der von der Zähleinrichtung ausgegebenen Zählwerte der Reihe nach, und
  • eine Komparatoreinrichtung, die eine Mehrzahl von Komparatoren beinhaltet, die die in den Speicherschaltungen gespeicherten Zählwerte vergleichen, um zu bestimmen, daß die Reihe der binär codierten Abtastliniensignale, die das Weitenverhältnis zeigen, erfaßt worden ist, wenn die Zählwerte einer gegebenen Reihe in einem gegebenen Verhältnis angeordnet sind, das dem Referenzweitenverhältnis entspricht.
  • In der bevorzugten Form der Erfindung erfasst die weitenverhältniserfassungsschaltung ferner eine Abfolge von Signalen, die einen Rand anzeigt, der in dem zweidimensionalen Code angeordnet ist angrenzend an die Ausrichtungssymbole aus den binärcodierten Abtastzeilensignalen.
  • Der Weitenverhältniserfassungsschaltkreis erfasst eine Richtung der Abfolge der Signale, welche den Rand bezüglich der Abfolge der Signale anzeigt, die das gegebene Weitenverhältnis zeigen.
  • Ferner ist eine Binärcodierschwellenwertkorrektureinrichtung zur Korrektur eines Schwellenwerts vorgesehen,
  • der in der Binärcodierschaltung zur Codierung der Abtastzeilensignale des CCD-Sensors in die binärcodierten Abtastzeilensignale entsprechend den Zuständen der binärcodierten Abtastliniensignale benutzt wird.
  • Die Zustände der binärcodierten Abtastzeilensignale sind Signalpegel der binärcodierten Abtastzeilensignale.
  • Ferner ist eine Betriebsverhinderungseinrichtung vorgesehen zum Verhindern einer zweidimensionalen Codeleseoperation der zweidimensionalen Codelesevorrichtung, wenn die Weitenverhältnisserfassungsschaltung keine Abfolge von Signalen erfasst, die das gegebene Weitenverhältnis zeigen.
  • Ferner ist eine zweidimensionale Codeveränderungserfassungseinrichtung vorgesehen zur Erfassung einer Veränderung des zweidimensionalen Codes, wenn der zweidimensionale Code aus dem Aufnahmefeld des CCD-Sensors verrückt wird, wenn die Weitenverhältniserfassungsschaltung kontinuierlich die Anwesenheit einer Abfolge von Signalen erfasst, die das gegebene Weitenverhältnis eine vorausgewählte Anzahl von Malen zeigt, und dann die Präsenz der Abfolge von Signalen nicht erfasst, die das gegebene Weitenverhältnis für eine vorbestimmte Zeitspanne zeigt.
  • Jede der Ausrichtungssymbole des zweidimensionalen Codes ist an einer gegebenen Stelle in der Matrix angeordnet, und beinhaltet ähnliche Zeichen, die koaxial angeordnet sind, um ein Muster zu definieren, das eine Anfolge von Signalen aufweist, die durch die Weitenverhältniserfassungsschaltung aus den binärcodierten Abtastzeilensignalen dieselbe Frequenz hervorbringt, selbst wenn der CCD-Sensor jede der Ausrichtungssymbole entlang der Abtastzeilen abtastet, die sich in verschiedene Richtungen erstrecken.
  • KURZE BESCHREIBUNG DER ZEICHNUNG
  • Die vorliegende Erfindung wird besser durch die nachfolgende dataillierte Beschreibung und die beiliegende Zeichnung der bevorzugten Ausführungsform der Erfindung verständlich, die jedoch nicht die Erfindung auf die besondere Ausführungsform begrenzt, sondern nur zum Verständnis und zur Erläuterung dient.
  • Es zeigt/zeigen:
  • Fig. 1 ein Schaltplan, der eine zweidimensionale Codelesevorrichtung gemäß der vorliegenden Erfindung zeigt;
  • Fig. 2(a) eine Signalwellenform, die von einer CCD- Kamera ausgegeben wird;
  • Fig. 2(b) eine Signalwellenform, die von einer Binärcodierschaltung ausgegeben wird;
  • Fig. 3 einen Schaltplan, der eine Frequenzkomponentenverhältnis-Erfassungsschaltung zeigt;
  • Fig. 4 ein Beispiel eines Ausrichtungssymbols, das in einem zweidimensionalen Code angeordnet ist, um von einer zweidimensionalen Codelesevorrichtung der Erfindung gelesen zu werden;
  • Fig. 5(a) Abtastzeilen, die ein Ausrichtungssymbol durchlaufen;
  • Fig. 5(b) binärcodierte Abtastzeilensignale, die von einer Abtastung der Abtastzeilen, wie in Fig. 5(a) gezeigt, abgeleitet sind;
  • Fig. 6 ein Flussdiagramm eines Programms oder einer Folge von logischen Schritten, die von einer CPU einer zweidimensionalen Codelesevorrichtung durchgeführt werden;
  • Fig. 7(a) einen an einen Gegenstand angebrachten zweidimensionalen Code, der mit einem bestimmten Winkel zu den Abtastzeilen einer CCD-Kamera befördert wird;
  • Fig. 7(b) ein Zeitschaubild, das eine Wellenform eines binärcodierten Signals zeigt, das entlang einer Abtastzeile L1 abgetastet wird;
  • Fig. 8 und 9 erläuternde Ansichten, die den Prozess zur Bestimmung einer Positionsbestimmung zwischen den Ausrichtungssymbolen zeigen;
  • Fig. 10 eine erläuternde Ansicht, die eine anderen nützlichen Prozess zur Bestimmung einer Positionsbeziehung zwischen Ausrichtungssymbolen zeigt;
  • Fig. 11 eine erläuternde Ansicht, die einen Prozess zur Bestimmung der Positionen von Bezugszellen zeigt;
  • Fig. 12 eine erläuternde Ansicht, die einen Prozess zur Bestimmung von Positionen von Datenzellen in einem Datenfeld zeigt;
  • Fig. 13 einen Schaltplan, der eine zweidimensionale Codelesevorrichtung gemäß der zweiten Ausführungsform der Erfindung zeigt; und
  • Fig. 14(a), 14(b) und 14(c) eine Abwandlung eines in einem zweidimensionalen Code angeordneten Ausrichtungssymbols.
  • BESCHREIBUNG DER BEVORZUGTEN AUSFÜHRUNGSFORM
  • Bezugnehmend auf die Zeichnungen, besonders auf Fig. 1, wird eine zweidimensionale Codelesevorrichtung 2 gemäß der Erfindung gezeigt.
  • Die zweidimensionale Codelesevorrichtung 2 beinhaltet im Allgemeinen ein Bildaufnahmegerät 4 wie zum Beispiel eine CCD-Kamera, eine Binärkodierschaltung 6, eine Frequenzkomponentenverhältniserfassungsschaltung 8, einen Seriell-Parallel Umwandler 10, eine Adresserzeugungsschaltung 12, eine Adressenspeicherschaltung 14, Speicher 16 und 18, eine Rahmenerfassungsschaltung 20, einen Taktsignalgeber 22 und eine CPU 24.
  • Die CCD-Kamera 4 beinhaltet Bildpunkte, die ein zweidimensionales Bild erfassen und es in Form von horizontalen Abtastzeilensignalen bereitstellen. Die Binärcodierschaltung 6 codiert dann die horizontalen Abtastzeilensignale in binäre Zahlen oder Pulssignale auf der Grundlage eines Schwellenwertes. Die Frequenzkomponentenverhältniserfassungsschaltung 8 erfasst ein gegebenes Frequenzkomponentenverhältnis aus den binärcodierten horizontalen Abtastzeilensignalen unter Verwendung einer Schaltungsanordnung wie nachfolgend beschrieben. Der Seriell-Parallel Umwandler 10 konventiert die binärcodierten horizontalen Abtastzeilensignale, die in Serie von der Binärcodierschaltung 6 ausgegeben werden in parallele Signale (zum Beispiel 8-Bit-Signale), und stellt diese den Speichern 16 und 18 bereit. Die Adresserzeugungsschaltung 12 spricht auf Taktsignale des Taktsignalgebers 22 an, um Adresssignale an die Speicher 16 und 18 und der Adressenspeicherschaltung 14 in Folge bereitzustellen zur Angabe der Orte in den Speichern 16 und 18. Die Adressenspeicherschaltung 14 spricht auf ein Speichersignal an, das anzeigt, dass die Frequenzkomponentenverhältniserfassungsschaltung 8 das gegebene Frequenzkomponentenverhältnis erfasst hat, um das von der Adresserzeugungsschaltung 12 zu diesem Zeitpunkt ausgegebene Adresssignal zu speichern, um dessen Adressdaten in die Speicher 16 und 18 zu schreiben.
  • Die Rahmenerfassungsschaltung 20 empfängt Rahmenschaltsignale von der CCD-Kamera 4, um die Gates der Speicher 16 und 18 zu steuern, so dass einige der binärcodierten Abtastzeilensignale, die einem Rahmen an einer geraden Position entsprechen in den Speicher 16 gespeichert werden können, während die anderen, die einem Rahmen an einer ungeraden Position entsprechen in den Speicher 18 gespeichert werden können, und so dass die Adressdaten von der Adressenspeicherschaltung 14 in den Speichern 16 und 18 auf ähnliche Weise gespeichert werden können. Der Taktsignalgeber 22 stellt Taktsignale zum Erreichen von Synchronisation der Zeiteinteilung der Frequenzkomponentenverhältniserfassungsschaltung 8, des Seriell-Parallel Umwandler 10 und der Adresserzeugungsschaltung 12 bereit. Die CPU 24 spricht auf Ausgangssignale der Rahmenerfassungsschaltung 20 an, um abwechselnd Zugang zu den Speichern 16 und 18 zur zweidimensionalen Codeverarbeitung von Bilddaten über ein erfasstes Bild (d. h. ein Feld) zu erzielen, wie später erläutert werden wird.
  • Fig. 2(a) zeigt ein Beispiel eines Analogabtastzeilensignales, das von der CCD-Kamera 4 an die Binärcodierschaltung 6 ausgegeben wird, während Fig. 2(b) eine Folge von binärcodierten Abtastzeilesignale (d. h. Pulssignale) zeigt, die von der Binärcodierschaltung 6 zu der Frequenzkomponentenverhältniserfassungsschaltung 8 ausgegeben werden. Wenn ein Verhältnis unter einer vorbestimmten Anzahl von einander folgenden Weiten d&sub0; bis dn von "0" und "1" angezeigt durch die vorbestimmte Anzahl von binärcodierten horizontalen Abtastsignalen, das gegebene Frequenzkomponentenverhältnis ist, stellt die Frequenzkomponentenverhältniserfassungsschaltung 8 das das anzeigende Speichersignal der Adressenspeicherschaltung 14 bereit.
  • Fig. 3 zeigt eine Schaltungsanordnung der Frequenzkomponentenverhältniserfassungsschaltung 8, die eine Flankenerfassungsschaltung 30, ein Zählwerk 31, Speicherschaltungen 32, 32, 34, 35, 36, 37 und 38, Komparatoren 39, 40, 41, 42, 43 und 44, einen ODER-Schaltkreis 45, einen UND-Schaltkreis 46, und einen Taktgeber 47 beinhaltet.
  • Die Flankenerfassungsschaltung 30 erfasst aufsteigende und fallende Flanken der binärcodierten Abtastzeilensignale, wie in Fig. 2(b) gezeigt, die von der Binärcodierschaltung 6 ausgegeben werden, um Flankenerfassungssignale dem Zählwerk 31 bereitzustellen. Jedesmal wenn das Flankenerfassungssignal in das Zählwerk 31 eingegeben wird, gibt das Zählwerk 31 ein Zählsignal an die Speicherschaltung 32 aus, das einen Zählwert zu dieser Zeit anzeigt, und wird dann gelöscht, um wieder mit dem Zählen zu beginnen.
  • Die Speicherschaltung 32 gibt ein Zählsignal, das bis jetzt in der angrenzende Speicherschaltung 33 gespeichert war, jedesmal aus, wenn es das Zählsignal vom Zählwerk 31 empfängt. Ähnlich überträgt jedes der anderen Speicherschaltungen 33 bis 37 das Zählsignal zu dem Angrenzenden. Ausserdem geben die Speicherschaltungen 32 bis 37 die Zählsignale jeweils simultan an die Komparatoren 39 bis 43 aus. Es wird darauf hingewiesen, dass die letzte Speicherschaltung 38 sein Zählsignal nur an den Komparator 44 ausgibt.
  • Die zweite Speicherschaltung 33 der Speicherschaltungen 32 bis 38 stellt ihr gespeichertes Zählsignal allen Komparatoren 39 bis 44 bereit. Die anderen Speicherschaltungen 32 und 34 bis 38 stellen ihr gespeichertes Zählsignal jeweils den Komparatoren 39 bis 44 bereit.
  • Jeder der Komparatoren 39 bis 44 vergleicht das von der zweiten Speicherschaltung 33 eingegebene Zählsignal mit dem von einem entsprechenden der Speicherschaltungen 32 und 34 bis 38 eingegebenen Zählsignal. Wenn die von den Speicherschaltungen 32 und 34 bis 38 ausgegebenen Zählsignale ein gegebenes Vielfaches oder einen höheren Wert als das gegebene Vielfache des Zählsignals, das von der zweiten Speicherschaltung 33 ausgegeben wird, anzeigen, stellen die Komparatoren 39 bis 44 jeweils Signale von "1" bereit. Wenn sie andernfalls ein anderes Vielfaches des Zählsignals der zweiten Speicherschaltung 33 anzeigen, stellen die Komparatoren 39 bis 44 jeweils Signale von "0" bereit.
  • Der erste Komparator 39 stellt ein Signal "1" bereit, wenn das Zählsignal von der Speicherschaltung 33 einen Wert von zwei oder mehrmals dem Zählsignal von der Speicherschaltung 33 anzeigt. Der zweite Komparator 14 stellt das Signal von "1" bereit, wenn das Zählsignal von der Speicherschaltung 34 einen Wert von einmal das des Zählsignals von der Speicherschaltung 33 anzeigt. Der dritte Komparator 41 stellt das Signal von "1" bereit, wenn das Zählsignal von der Speicherschaltung 35 einen Wert dreimal dem des Zählsignals von der Speicherschaltung 33 anzeigt. Der vierte Komparator 42 stellt das Signal von "1" bereit, wenn das Zählsignal von der Speicherschaltung 36 einen Wert von einmal dem des Zählsignals von der Speicherschaltung 33 anzeigt. Der fünfte Komparator 43 stellt das Signal von "1" bereit, wenn das Zählsignal von der Speicherschaltung 37 einen Wert von einmal dem des Zählsignals von der Speicherschaltung 33 anzeigt. Der sechste Komparator 44 stellt das Signal von "1" bereit, wenn das Zählsignal von der Speicherschaltung 38 einen Wert von zweimal oder mehrmal dem des Zählsignals von der Speicherschaltung 33 anzeigt.
  • Von den Komparatoren 39 bis 44 geben die zwei Komparatoren 39 und 44 die Signale an den ODER-Schaltkreis 45 aus. Die anderen vier Komparatoren 40 bis 43 geben die Signale an den UND-Schaltkreis 46 aus. Der UND- Schaltkreis 46 empfängt ebenso eine Ausgabe des ODER- Schaltkreises 45.
  • Wenn daher die vier Komparatoren 40 bis 43 die Signale "1" bereitstellen, und wenn entweder einer oder beide der Komparatoren 39 und 44 das Signal "1" bereitstellen, stellt der UND-Schaltkreis 46 ein Signal von "1" bereit. Das heißt, wenn die von den sechs Speicherschaltungen 32 bis 37 auf der linken Seite ausgegebenen Zählsignale ein Verhältnis von zwei oder mehr: 1 : 1 : 3 : 1 : 1, oder wenn die Zählsignale, die von den sechs Speicherschaltungen 33 bis 38 auf der rechten Seite ausgegeben werden, ein Verhältnis von 1 : 1 : 3 : 1 : 1 : 2 oder mehr annehmen, stellt der UND- Schaltkreis 46 das Signal von "1" bereit, während in einem anderen Fall der UND-Schaltkreis 46 ein Signal von "0" bereitstellt.
  • Das obige Verhältnis von 1 : 1 : 3 : 1 : 1 zeigt ein Frequenzkomponentenverhältnis an, das bedeutet, dass ein Ausrichtungssymbol, wie es später beschrieben werden wird, abgetastet wurde und wird als Datum zur Bestimmung eines Ortes des Ausrichtungssymbols benutzt. Eine Zahl auf der äußerst rechten oder linken Seite des Verhältnisses von 1 : 1 : 3 : 1 : 1, nämlich "2 oder mehr" zeigt an, dass ein Rand auf der rechten oder linken Seite des Ausrichtungssymbols umfasst wurde, und wird für eine genauere Erfassung des Ausrichtungssymbols benutzt.
  • Die Frequenzkomponentenverhältniserfassungsschaltung 8 gibt die von den Komparatoren 39 und 44 bereitgestellten Signale zusammen mit dem Signal von dem UND-Glied an die Adressenspeicherschaltung 14 aus. Diese Signale werden als Daten zum Bestimmen verwendet auf welcher der rechten oder linken Seite des Ausrichtungssymbols eine Rand vorhanden ist, oder ob Ränder auf beiden Seiten des Ausrichtungssymbols vorhanden sind oder nicht, und werden in den Speichern 16 und 18 zusammen mit den Adressdaten durch die Adressenspeicherschaltung 14 gespeichert.
  • Der Taktgeber 47 erzielt die Synchronisation der zeitlichen Regulierung des Zählwerks 31 und der Speicherschaltungen 32 bis 38 entsprechend der Flankenerfassungssignale der Flankenerfassungsschaltung 30.
  • Bezugnehmend auf Fig. 4, einem Beispiel eines zweidimensionalen Codes, der von der zweidimensionalen Codelesevorrichtung 2 gelesen wird.
  • Der zweidimensionale Code ist auf einem weißen Substrat 53, wie zum Beispiel Papier, gedruckt, und beinhaltet drei Ausrichtungssymbole 54, ein Datenfeld 56, und eine Ursprungszelle Cst, die in einer viereckigen Matrix von 21 · 21 Zellen angeordnet sind. Jede Zelle ist mit einem von zwei Typen von Vierecken ausgebildet, die sich voneinander optisch unterscheiden, zum Beispiel dunkle (d. h. schwarze) und helle (d. h. weiße) Quadrate. Fig. 4 zeigt kein Muster von Datenzellen in dem Datenfeld 56, das zur Vereinfachung weggelassen wird.
  • Die Ausrichtungssymbole 54 sind, wie in der Zeichnung gesehen werden kann, auf drei von vier Ecken des zweidimensionalen Codes 52 angeordnet. Jedes der Ausrichtungssymbole 54 weist ein Muster auf, das ein rahmenartiges hohles Viereck 54a beinhaltet, das durch vier Reihen von dunklen Zeilen, die senkrecht zueinander orientiert sind und ein kleineres Rechteck 54b, das aus hellen Zellen ausgebildet ist, die in dem in der Mitte gelegenen Abschnitt des hohlen Rechtecks 54a angeordnet sind, definiert ist.
  • Fig. 5(a) und 5(b) zeigen optische Erfassung durch Abtasten der dunklen und hellen Zellen des Ausrichtungssymbols 54. Optische Signalmuster, die durch Abtastzeilen (a), (b), und (c), wie in Fig. 5(a) gezeigt, verlaufen durch die Mitte des Ausrichtungssymbols 54 mit typischen Winkeln, vorausgesetzt die Signalstrukturen weisen das gleiche Frequenzkomponentenverhältnis auf, wie in Fig. 5(b) gezeigt. Genauer gesagt ist das Komponentenverhältnis, das durch das optische Signalmuster entlang jeder der Abtastlinien (a), (b), und (c) angezeigt wird, dunkel : hell : dunkel : hell : dunkel = 1 : 1 : 3 : 1 : 1. Natürlich zeigt eine Abtastlinie, die mit einem Winkel zwischen den Abtastlinien (a) und (b) oder zwischen (b) und (c) durchläuft ebenso das gleiche Verhältnis 1 : 1 : 3 : 1 : 1. Außerdem ist, selbst wenn das Ausrichtungssymbol 54 in Fig. 5(a) auf einer Ebene angeordnet ist, die mit irgendeinem Winkel gegenüber einer Sensorebene der CCD-Kamera 4 geneigt ist, das von jeden der Abtastlinien angezeigte Frequenzkomponentenverhältnis 1 : 1 : 3 : 1 : 1.
  • Die Binärsignale (a), (b), und (c) wie sie in Fig. 5(b) gezeigt sind, stellen die von der Binärcodierschaltung 6 binärcodierten Abtastzeilensignale dar.
  • Im Betrieb nach dem Einschalten eines Stromversorgungsgerätes der zweidimensionalen Lesevorrichtung 2, nimmt die CPU 24 den Betrieb auf, und zur selben Zeit nehmen die anderen Schaltungen der zweidimensionalen Lesevorrichtung 2 ebenso jeweils den Betrieb auf. Genauer gesagt sind Bilddaten jedes Rahmens, wie oben erwähnt, in dem Speicher 16 oder 18 in abwechselnder Reihenfolge gespeichert. Wenn ferner das Frequenzkomponentenverhältnis einer Reihenfolge von Abtastzeilensignalen, die von dem oben erwähnten Prozess der Frequenzkomponentenverhältnisschaltung 8 gefunden werden, 2 oder mehr: 1 : 1 : 3 : 1 : 1 oder 1 : 1 : 3 : 1 : 1 : 2 oder mehr ist, stellt die Frequenzkomponentenverhältniserfassungsschaltung 8 das Speichersignal der Adressenspeicherschaltung 14 bereit. Die Adressenspeicherschaltung 14 antwortet dann auf das Speichersignal eine von der Adressenerzeugungsschaltung 1 zu diesem Zeitpunkt ausgegebene Adresse zu speichern und stellt es zusammen mit einem rechten oder linken Randsignal den Speichern 16 und 18 bereit, die die Bilddaten hineinschreiben.
  • In der vorliegenden Erörterung wird vorausgesetzt, dass der zweidimensionale Code 52, wie in Fig. 7(a) gezeigt, auf einen Gegenstand gedruckt ist, der mit einem bestimmten Winkel in die Transportrichtung transportiert wird. Fig. 7(a) lässt ein Codemuster in dem Datenfeld 56 der Kürze der Darstellung halber weg.
  • Wenn der gezeigte zweidimensionale Code 52 zum Beispiel entlang der Abtastzeile L1 durch die CCD-Kamera 4 optisch abgetastet wird, gibt die Binärcodierschaltung 6 eine Reihe von binärcodierten Abtastzeilensignalen aus, wie in Fig. 7(b) gezeigt. Wenn die sechs Speicherschaltungen 32 bis 37 Zählwerte d&sub0;&sub5;, d&sub0;&sub4;, d&sub0;&sub3;, d&sub0;&sub2;, d&sub0;&sub1; und d&sub0;&sub0; speichern, und wenn eine fallende Flanke des binärcodierten Abtastzeilensignals von der Flankenerfassungsschaltung 30 zu einem Zeitpunkt t&sub0;&sub7; erfasst wird, gibt das Zählwerkt 31 einen Zählwert d&sub0;&sub6; an die Speicherschaltung 32 aus, während die Speicherschaltung 32 bis 37 ihre gespeicherten Zählwerte d&sub0;&sub5;, d&sub0;&sub4;, d&sub0;&sub3;, d&sub0;&sub2;, d&sub0;&sub1;, und d&sub0;&sub0; jeweils an die angrenzenden Speicherschaltungen 33 bis 38 und die Komparatoren 39 bis 43 ausgeben. Die Komparatoren 39 bis 43 führen dann Rechenoperationen durch: d&sub0;&sub5;/d&sub0;&sub4;, d&sub0;&sub3;/d&sub0;&sub4;, d&sub0;&sub2;/d&sub0;&sub4;, d&sub0;&sub1;/d&sub0;&sub4;, und d&sub0;&sub0;/d&sub0;&sub4;. Wenn die Ergebnisse d&sub0;&sub5;/d&sub0;&sub4; = 2 und mehr, d&sub0;&sub3;/d&sub0;&sub4; = 1, d&sub0;&sub2;/d&sub0;&sub4; = 3, d&sub0;&sub1;/d&sub0;&sub4; = 1, und d&sub0;&sub0;/d&sub0;&sub4; = 1 sind, nämlich d&sub0;&sub5; : d&sub0;&sub4; : d&sub0;&sub3; : d&sub0;&sub2; : d&sub0;&sub1; : d&sub0;&sub0; = 2 oder mehr: 1 : 1 : 3 : 1 : 1, stellt die Frequenzkomponentenverhältniserfassungsschaltung 8 das Speichersignal bereit. Da jedoch in dem gezeigten Fall d05 : d04 : d03 : d02 : d01 : d00 ≠ 2 oder mehr: 1 : 1 : 3 : 1 : 1 ist, stellt die Frequenzkomponentenverhältniserfassungsschaltung 8 das Speichersignal der Adressenspeicherschaltung 14 nicht bereit, so dass die Adressen und Randsignale nicht in den Speichern 16 und 18 gespeichert werden.
  • Keine der Frequenzkomponentenverhältnisse 2 oder mehr : 1 : 1 : 3 : 1 : 1 und 2 oder mehr: 1 : 1 : 3 : 1 : 1 tritt vor einem Zeitpunkt t&sub1;&sub4; auf. Wenn der Zeitpunkt t&sub1;&sub4; erreicht ist, gibt das Zählwerk 31 einen Zählwert d&sub1;&sub3; an die Speicherschaltung 32 aus. Gleichzeitig geben die Speicherschaltungen 32 bis 37 Zählwerte d&sub1;&sub2; bis d&sub0;&sub7; jeweils an die Speicherschaltungen 33 bis 38 und die Komparatoren 39 bis 44 aus. Die Speicherschaltung 38 gibt einen Zählwert d&sub0;&sub6; an den Komparator 44 aus. Die Zählwerte d&sub0;&sub7; und d&sub1;&sub1; werden durch die linken und rechten Seiten des hohlen Vierecks 54a bereitgestellt, das aus den dunklen Zellen des Ausrichtungssymbols 54 besteht, das auf der oberen rechten Seite des zweidimensionalen Codes 52 angeordnet ist. Die Zählwerte d&sub0;&sub8; und d&sub1;&sub0; werden durch linke und rechte Seiten eines Rechtecks 54b bereitgestellt, das aus den hellen Zellen besteht. Der Zählwert d&sub0;&sub9; ist durch die Weite des kleineren Rechtecks 54c bereitgestellt, das aus dunklen Zellen entlang der Abtastzeile L1 besteht. Das Frequenzkomponentenverhältnis unter diesen Zählwerten d&sub0;&sub7; bis d&sub1;&sub1; ist wie in Fig. 5 besprochen, 1 : 1 : 3 : 1 : 1 entsprechend der Gestaltung des Ausrichtungssymbols 54.
  • Der Zählwert d&sub1;&sub2; ist durch eine weiße Fläche bereitgestellt, die von einem Rand 53a des Substrats 53 bis zu einer Markierung D reicht, die auf den Gegenstand W gedruckt ist. Da der gezeigte Rand 53a dreimal so breit wie das Viereck 54a ist, ist d&sub1;&sub2;/d&sub1;&sub1; mehr als zwei (> 2). Das Frequenzkomponentenverhältnis von 2 oder mehr: 1 : 1 : 3 : 1 : 1 wird daher zum Zeitpunkt t&sub1;&sub4; abgeleitet. Die Adressenspeicherschaltung 14 speichert eine von der Adressenerzeugungsschaltung 12 ausgegebene Adresse im Ansprechen auf das von der Frequenzkomponentenerfassungsschaltung 8 zum Zeitpunkt t&sub1;&sub4; bereitgestellte Speichersignal, und gibt es zusammen mit einem Signal, das den rechten Rand anzeigt, an einen der Speicher 16 oder 18 aus, der jetzt die Bilddaten schreibt.
  • Diese Adresse entspricht den Bildkoordinaten des von der CCD-Kamera 4 aufgenommenen zweidimensionalen Bildes, und kann daher durch Rechenoperationen in die Bildkoordinaten umgewandelt werden, wie später beschrieben werden wird. Zum Beispiel stellt die in dem Speicher 16 oder 18 gespeicherte Adresse einen Adressenabstand von einer Adresse zum Zeitpunkt t&sub1;&sub4; durch (d&sub1;&sub3; + d&sub1;&sub2; + d&sub1;&sub1; + d&sub1;&sub0; + (d&sub0;&sub9;/2)) dar, der den Bildkoordinaten entspricht, die die Mitte des Vierecks 54c entlang der Abtastzeile L1 darstellen. Wenn der zweidimensionale Code 52 von oben nach unten abgetastet wird, zeigen die in dem Speicher 16 oder 18 gespeicherten Adressen die Mittellinien 21 bis 23 der drei Ausrichtungssymbole 54 an. Wenn solche Adressen in dem Speicher 16 oder 18 gespeichert werden, beginnt die CPU 24 ein ein gegebenes Programm auszuführen, wie später beschrieben werden wird.
  • Die CPU 24 erhält Zugriff auf einen der Speicher 16 oder 18, der den Datenschreibvorgang zur Verarbeitung der Bilddaten entsprechend einem von einem Flussdiagramm in Fig. 6 gezeigten Programm verarbeitet.
  • Nach Eintreten in das Programm, fährt die Routine mit Schritt 100 fort, in dem die Ausrichtungssymbole 54 erfasst werden. Genauer gesagt werden die in den aufgenommenen Bilddaten enthaltenen Adressdaten und Randdaten von der Adressenspeicherschaltung 14 alle gelesen, um die Lagen der Ausrichtungssymbole 54 zu bestimmen. Wenn keine Adressdaten vorhanden sind, wird die Routine beendet.
  • Die von der Speicherschaltung 14 gelesenen Adressdaten zeigen, wenn es sich nicht um Rauschen handelt, Adressen entsprechend der Lagen der Mittellinien 21, 22, und 23, wie in Fig. 7(a) dargestellt. Eine Vielzahl von Adressen werden entlang der Mittellinien 21, 22, und 23 hergestellt. In Schritt 100 werden diese Adressen in mehrere Gruppen klassifiziert. Zum Beispiel werden die Adressen in Gruppen sortiert, die jeweils aus eng beieinanderliegenden X-Koordinatenwerten bestehen. Als nächstes wird jede dieser Gruppen ferner in Gruppen sortiert, die jeweils aus eng beieinanderliegenden Y-Koordinatenwerten bestehen. Das klassifiziert die Adressen in die Gruppen, die jeweils den Linien 21, 22, und 23 entsprechen. Die Lage der Mitte jeder der Gruppen wird dann zum Beispiel durch Mittelwertbildung der X- und Y-Koordinatenwerte jeweils bestimmt, da sie die Position eines Entsprechenden der Ausrichtungssymbole 54 anzeigen.
  • Wenn einige der Gruppen eine sehr viel kleinere Anzahl von Adressen als andere Gruppen aufweisen, können sie als Rauschen ignoriert werden.
  • Nach Schritt 100 wird die Routine mit Schritt 110 fortgeführt, in dem die Anzahl der Adressen gefunden wird, die die Lagen der Ausrichtungssymbole 54 anzeigt, die in Schritt 100 bestimmt wurden. Wenn sie drei (3) ist, was die Gesamtanzahl der Ausrichtungssymbole 54 auf dem zweidimensionalen Code 52 ist, was bedeutet, dass die Lagen der Ausrichtungssymbole 54 richtig bestimmt sind, dann fährt die Routine mit Schritt 120 fort. Wenn sie weniger als drei ist, dann endet die Routine. Wenn sie mehr als drei ist, was bedeutet, dass es eine unbrauchbare Adresse gibt, dann kehrt die Adresse zu Schritt 100 zurück, um die Lagen der Ausrichtungssymbole 54 auf eine andere Weise zu bestimmen. Zum Beispiel durch logisches Abtasten von Bilddaten eines in dem Speicher 16 oder 18 gespeicherten Rahmens in vertikalen Richtungen, werden Abschnitte der Abtastzeilen, die die gegebenen Frequenzkomponentenverhältnisse anzeigen, gefunden, um deren Mittelpositionen zu bestimmen. Wenn die Anzahl der Abschnitte, die gegebenen Frequenzkomponenten anzeigen, 3 ist, dann fährt die Routine mit Schritt 120 fort. Es ist wünschenswert, dass die vertikale Abtastung um die Ausrichtungssymbole durchgeführt wird, deren Anzahl in Schritt 110 bestimmt wurde, da sie in dem vorhergehenden Programmablauf größer als drei ist, zum Verringern der für die Operation in Schritt 110 benötigten Zeit.
  • Der Musterabgleich kann alternativ in Schritt 110 unter Verwendung eines Musters des Ausrichtungssymbols 54 bei oder nahe der Positionen der mehr als drei durchgeführt werden, die in dem vorhergehenden Programmablauf bestimmt wurden.
  • Als nächstes wird in Schritt 120 bestimmt, welche der Ausrichtungssymbole 54, die in dem zweidimensionalen Code 52 angeordnet sind, wobei jede der Positionen in Schritt 100 bestimmt wird, in der folgenden Weise entspricht. Zunächst werden die drei Positionen S1, S2, und S3, wie in Fig. 8 gezeigt, der in Schritt 100 abgeleiteten Ausrichtungssymbole 54 durch die Linien j1, j2, und j3 verbunden, um die Winkel θ1, θ2, und θ3 zwischen den nebeneinanderliegenden zwei der Linien j1, j2, und j3 zu bestimmen. Als nächstes wird bestimmt, ob unter θ1, θ2, und θ3 ein Winkel von ungefähr 90º ist oder nicht. In dem Beispiel von Fig. 8 ist θ2 an der Position S2 ungefähr 90º. Als letztes wird bestimmt, ob die Linien j1 und j2 in der Länge gleich sind oder nicht. Da die Linien j1 und j2 in Fig. 8 im Wesentlichen die gleiche Länge aufweisen, kann erkannt werden, dass das Ausrichtungssymbol 54 auf der oberen rechten Seite des zweidimensionalen Codes 52 der Position S1 entspricht, das Ausrichtungssymbol 52 auf der oberen linken Seite entspricht der Position S2, und das Ausrichtungssymbol 54 auf der unteren linken Seite entspricht der Position S3. Eine Neigung des zweidimensionalen Codes 52 relativ zur Abtastzeile L1 kann durch Ermitteln von Neigungen der Linien j1 und j2 bestimmt werden, die sich in der Position S2 mit 90º schneiden.
  • Wenn der zweidimensionale Code 52 gegenüber der CCD- Kamera 4 geneigt ist, kann das Verursachen, dass sich zwei der Linien j1, j2, und j3, die sich mit etwa 90º schneiden, in der Länge voneinander unterscheiden, wie in Fig. 9 gezeigt. In diesem Fall wird zunächst eine Position bei der sich zwei der Linien j1, j2, und j3 bei einem Winkel der am nächsten zu 90º liegt schneiden, das heißt die Position S2 ausgewählt. Als nächstes werden die Linien j1 und j2, die sich an der Position S2 schneiden, jeweils um einen gegebenen Abstand b nach außen hin verlängert, und dann werden Strichpunktlinien k1 und k2 von den Enden der verlängerten Abschnitte der Linien j1 und j2 parallel zu der Linie j1 und j2 jeweils definiert, bis sie die Verlängerungen der Linie j3 erreichen. Zuletzt werden die Linien j1 und j2 ebenso in die entgegengesetzten Richtungen mit dem Abstand b jeweils verlängert, und dann wird eine strichgepunktete Linie k3 parallel zu der Linie j3 zwischen den Enden der verlängerten Abschnitte der Linien j1 und j2 definiert. Der Abstand wird so gewählt, dass er etwas länger als ein Abstand zwischen der Mitte des Ausrichtungssymbols 54 und einer Seite E dessen (d. h. die Hälfte einer Seite des Ausrichtungssymbols 54) und etwas kürzer als ein Abstand zwischen dem Mitte des Ausrichtungssymbols 54 und einer Ecke C dessen ist. Der Abstand b kann entsprechend der Längen der Linien j1 und j2 verändert werden.
  • Eine weiße Fläche mit einer gegebenen Weite, wie in Fig. 4 gesehen werden kann, ist am Umfang des zweidimensionalen Codes 52 als Rand 53a ausgebildet. Wenn daher durch Abtasten dieser Abschnitte bekannt ist, dass mindestens einer der Abschnitte des zweidimensionalen Codes auf dem die strichgepunkteten Linien k1, k2, und k3 jeweils definiert sind nur aus hellen Zellen besteht, kann erkannt werden, dass irgendwelche zwei der Ausrichtungssymbole 54 innerhalb dieses Abschnitts sind, wie in Fig. 9 gezeigt. Mit anderen Worten kann die strichgepunktete Linie, die sich nur über die hellen Zellen erstreckt, als auf einem oberen oder Seitenabschnitt des Randes 53a um das Ausrichtungssymbol 54 auf der oberen linken Seite des zweidimensionalen Codes 52 definiert, erkannt werden.
  • Dementsprechend kann, wenn zwei strichgepunktete Linien nur aus den hellen Zellen und eine strichgepunktete Linie nur aus den dunklen Zellen besteht, eine Positionsbeziehung unter den drei Ausrichtungssymbolen 54 ermittelt werden. In dem Beispiel von Fig. 9 wird ermittelt, da die strichgepunktete Linie k1 und k2 beide nur aus den hellen Zellen und die strichgepunktete Linie k3 nur aus den dunklen Zellen besteht, dass die Position 52, um die herum sich die strichgepunkteten Linien k1 und k2 schneiden, dem Ausrichtungssymbol 54 auf der oberen linken Seite des zweidimensionalen Codes entspricht, die Position S1 dem Ausrichtungssymbol 54 auf der oberen rechten Seite entspricht und die Position S3 dem Ausrichtungssymbol 54 auf der unteren linken Seite entspricht.
  • Als eine Alternative zu der in Fig. 9 gezeigten obigen geometrischen Verarbeitung ist es möglich die Positionen der drei Ausrichtungssymbole 53 auf eine wie in Fig. 10 gezeigten Weise zu bestimmen. Zunächst werden die Richtungen V1 und V2 der zwei Seiten E1 und E2 des hohlen Vierecks 54a des Ausrichtungssymbols 54, das an einen der Positionen S1, S2, oder S3, die in Schritt 100 abgeleitet werden, zum Beispiel der Position S1 bestimmt. Als nächstes werden zwei Linien, die sich parallel zu den Richtungen V1 und V2 erstrecken, aus den Linien j1, j2, und j3 ausgewählt. In dem Beispiel von Fig. 10 ist die Linie j1 parallel zur Richtung V1, während die Linie j1 parallel zur Richtung V2 ist. Da die Ausrichtungssymbole 54 alle viereckig sind, und deren vier Seiten immer parallel zu den Linien j1 und j2 sind, die sich jeweils zwischen angrenzenden zwei der Ausrichtungssymbole erstrecken, an den Ecken des zweidimensionalen Codes 52 angeordnet sind, sind die Ausrichtungssymbole 54 an beiden Seitenecken angegrenzend der Position S2 an der sich die Linien j1 und j2 schneiden. Daher kann erkannt werden, dass die Position S2 dem Ausrichtungssymbol 54 an der oberen linken Seite des zweidimensionalen Codes entspricht.
  • Wenn einmal die Positionsbeziehung unter den drei Ausrichtungssymbolen 54 in Schritt 120 bekannt sind, kann die Lage oder Orientierung des gesamten zweidimensionalen Codes 52 relativ zur CCD-Kamera 4 (d. h. der Abtastzeile) auf der Grundlage der Positionen der Ausrichtungssymbole 54, die in Schritt 100 abgeleitet wird, und deren Positionsbeziehung unter ihnen, ermittelt werden.
  • Nach Schritt 120 fährt die Routine mit Schritt 130 fort, wobei die Form jeder der Ausrichtungssymbole 54 auf der Grundlage der Längen der Linien j1 und j2 und der Neigungen α und β relativ zur horizontalen Abtastzeile L, wie in Fig. 9 gezeigt, abgeschätzt wird, um eine Position Cs0 einer Zelle an einer oberen linken Ecke jeder der Ausrichtungssymbole 54 festzulegen.
  • Die Routine fährt dann mit Schritt 140 fort, wobei die Positionen der anderen Eckenzellen Cs1, Cs2, und Cs3 jeder der Ausrichtungssymbole 54 und die Ursprungszelle Cst auf der Grundlage der Längen der Linien j1 und j2 und der Neigungen α und β relativ zur horizontalen Abtastzeile L mathematisch bestimmt werden. Die Lagebestimmung der Ursprungszelle Cst kann alternativ durch Ermitteln eines Schnittpunktes einer Verlängerung der unteren Seite des Ausrichtungssymbols 54, die auf der unteren linken Seite des zweidimensionalen Codes 52 gelegen ist und sich über mit Unterbrechungen angeordneten schwarzen Zellen Bk1 bis Bk5 erstreckt, und einer Verlängerung der rechten Seite des Ausrichtungssymbols 54, das auf der oberen rechten Seite des zweidimensionalen Codes gelegen ist, und sich über mit Unterbrechungen angeordneten schwarzen Zellen Bk11 bis Bk14 erstreckt, gemacht werden. Es ist ebenso vorteilhaft, dass eine Zelle, die drei von acht Richtungen dort herum aufweist (d. h. vier Richtungen bei den Winkeln von α und β zu der Abtastzeile L1 plus vier Richtungen, die jeweils zwischen den angrenzenden zwei der vier Richtungen bei den Winkeln von α und β zu der Abtastzeile L1 sind) entgegengesetzte drei Richtungen in welchen die drei Ausrichtungssymbole 54 vorhanden sind als die Ursprungszelle Cst bestimmt wird.
  • Nachdem die Positionen der Zellen an den vier Ecken jedes der Ausrichtungssymbole 54 und die Position der Ursprungszelle Cst in Schritt 140 bestimmt sind, fährt die Routine mit Schritt 150 fort, wobei die Positionen der an den vier Seiten G1, G2, G3, und G4 des zweidimensionalen Codes 52 innerhalb des Randes 53a angeordneten Zellen, wie in Fig. 12 gezeigt, jeweils bestimmt werden. Wenn die Anzahl der Zellen, die an jeden der Seiten G1 bis G4 angeordnet sind, mit einer gegebenen Anzahl festgelegt ist, kann die Position jeder der Zellen durch Teilen der Länge jeder der Seiten G1 bis G4 durch die Anzahl der Zellen bestimmt werden. Die Länge jede der Seiten G1 bis G4 wird einfach ermittelt, da die Positionen der Zellen Cs0, Cs1, Cs2, und Cs3 an den vier Ecken des zweidimensionalen Codes 52 bereits bekannt sind, wie oben beschrieben wurde.
  • Wenn die Anzahl der Zellen auf jeden der Seiten G1 bis G4 nicht bekannt ist, können die Positionen jede der Zellen auf folgende Weise bestimmt werden. Zunächst werden die Längen und Neigungen der vier Seiten des hohlen Vierecks 54a jeder der Ausrichtungssymbole 54 auf der Grundlage der Positionen der Eckzellen Cs0, Cs1, Cs2, und Cs3 bestimmt. Die Neigungen der vier Seiten des hohlen Vierecks 54a können auf der Grundlage der Neigungen α und β ermittelt werden. Dann wird, da die Anzahl der Zellen auf jeden der vier Seiten des hohlen Rechtecks 54a bereits auf sieben (7) festgesetzt ist, die Länge jeder Zelle durch Teilen der Länge jeder der Seiten durch sieben bestimmt. Schließlich wird die Position jeder der Zellen auf den Seiten G1 bis G4 des zweidimensionalen Codes 52 auf der Grundlage der Länge jeder Zelle bestimmt.
  • Anschließend fährt die Routine mit Schritt 160 fort, wobei die Positionen aller Datenzellen in dem Datenfeld 56 auf der Grundlage der Positionen der auf den vier Seiten G1 bis G4 angeordneten Zellen bestimmt werden. Genauer gesagt wird die Position eines Schnittpunkts einer Linie, die sich zwischen den Zellen Ca1 und Ca2 auf den gegenüberliegenden Seiten G1 und G3, die jeweils mit dem selben Abstand von einem Ende einer entsprechenden Seite G1 und G3 gelegen sind, und einer Linie, die sich zwischen den Zellen Cb1 und Cb2 auf den anderen sich gegenüberliegenden Seiten G2 und G4 erstreckt, die jeweils mit dem selben Abstand von einem Ende einer entsprechenden Seite G2 und G4 entfernt sind, als die Position einer Datenzelle Cxy ermittelt.
  • Die Routine fährt dann mit Schritt 170 fort, in dem die Helligkeit oder der Farbton der Datenzellen in einer gegebenen Reihenfolge bestimmt wird, um die in den Datenzellen enthaltene Codeinformation zu decodieren. Die Codeinformation wird dann in einem Speicher zum Ausgeben an eine andere Vorrichtung oder zum Anzeigen gespeichert, wonach die Routine endet.
  • Um zu bestimmen, ob eine Abfolge von Signalen, die aufeinanderfolgend erfasst werden und das obige Frequenzkomponentenverhältnis zeigen, auf dem zweidimensionalen Code 52 basiert oder einem anderen zweidimensionalen Code, d. h. ob der zweidimensionale Code 54 mit einem anderen Matrixcode verändert wurde oder nicht, führt die CPU 24 die folgende Operation durch. Wenn das Vorliegen einer Abfolge von Signalen, die das obige Frequenzkomponentenverhältnis zeigen, kontinuierlich eine vorausgewählte Anzahl von Malen erfasst wird, und dann das Vorliegen dieser Abfolge von Signalen für eine gegebene Zeitspanne nicht erfasst wird, bestimmt die CPU 24, dass sich der bisher von der CCD-Kamera 4 aufgenommene zweidimensionale Code 52 aus dem Sichtfeld der CCD-Kamera 4 herausbewegt hat, und dass eine Abfolge von Signalen, die das obige Frequenzkomonentenverhältnis aufweist und danach erfasst wird, von einem anderen zweidimensionalen Code erzeugt wird.
  • Mit den obigen Operationen der zweidimensionalen Codelesevorrichtung 2 kann die Bestimmung, ob der zweidimensionale Code 52 auf einem von der CCD-Kamera 4 aufgenommenen Bild ist oder nicht, durch Erfassen des Vorhandenseins oder Fehlens des Frequenzkomponentenverhältnisses gemacht werden, das auf das Vorhandensein der Ausrichtungssymbole 54 durch die Frequenzkomponentenverhältniserfassungsschaltung 8 ohne Bearbeitung des Bildes unter Verwendung von Software schließen läßt. Die Verarbeitung durch die Hardware der Frequenzkomponentenverhältniserfassungsschaltung 8, kann daher mit hoher Geschwindigkeit geschehen. Die Durchführung der oben erwähnten Operationen in der CPU 24, nachdem das Vorhandensein des zweidimensionalen Codes erkannt ist, beseitigt die für das Suchen des zweidimensionalen Codes in der Software benötigte Zeit. Daher ist es möglich den zweidimensionalen Code korrekt zu decodieren, selbst wenn der Gegenstand mit hoher Geschwindigkeit transportiert wird. Da mit anderen Worten die zweidimensionale Codelesevorrichtung 2 den zweidimensionalen Code mit hoher Geschwindigkeit lesen kann, ist es möglich den Artikel W mit höherer Geschwindigkeit zu transportieren, um die Gegenstandstransporteffiztenz zu verbessern, ohne ein Fließbandsystem des Gegenstands W nachteilig zu beeinflussen.
  • Ferner ist es möglich ein besonderes Frequenzkomponentenverhältnis zu ermitteln, das in jedem der Ausrichtungssymbole 54 enthalten ist, in dem der zweidimensionale Code 54 enthalten ist, indem der zweidimensionale Code 52 nur in eine Richtung abgetastet wird, selbst wenn der zweidimensionale Code 52 in beliebige schräge Richtungen orientiert ist. Das beseitigt das Erfordernis zum Suchen eines bestimmten Frequenzmusters durch mehrmaliges Abtasten des zweidimensionalen Codes 52 in verschiedene Richtungen. Die Position des zweidimensionalen Codes 52 wird daher schnell bestimmt, so dass die Operationen der CPU 24 früh gestartet werden können.
  • Da ferner die Positionen der Ausrichtungssymbole 54 durch Abtasten des zweidimensionalen Codes 52 lediglich in eine Richtung bestimmt werden können, kann das Rauschen ohne Veränderung der Richtung der Abtastzeilen richtig erkannt werden, selbst wenn ein von der CCD- Kamera 4 aufgenommenes Bild eine Vielfalt von sich von dem zweidimensionalen Code 52 unterscheidenden Rauschen enthält. Anschließend kann der Code in dem Datenfeld nur durch Suchen rund um die Ausrichtungssymbole 54 gelesen werden.
  • Bezugnehmend auf Fig. 13 wird eine zweidimensionale Codelesevorrichtung 202 gemäß der zweiten Ausführungsform gezeigt, die sich von der zweidimensionalen Codelesevorrichtung 2 der ersten Ausführungsform nur darin unterscheidet, dass eine Binärcodiersteuerschaltung 204 bereitgestellt ist. Andere Anordnungen sind identisch und die detaillierte Erklärung davon wird hier weggelassen.
  • Wenn ein Abschnitt des zweidimensionalen Codes, der nur mit dunklen oder hellen Zellen ausgebildet ist, von der CPU 24 gelesen wird, wird der Schwellenwert der in der Binärcodierschaltung 6 benutzt wird, zur Codierung dieses Abschnitts unbrauchbar. Zum Vermeiden dieses Problems weist die Binärcodiersteuerschaltung 204 eine Adressschwellenwert-Korrekturtabelle auf zum Verändern des in der Binärcodierschaltung 6 verwendeten Schwellenwerts entsprechend einer von der Adresserzeugungsschaltung 12 hergestellten Adresse im Ansprechen auf Anweisungen von der CPU 24. Im Betrieb der CPU 20 wird "1" oder "0" jeder der Datenzellen überprüft, zum Beispiel beim Erfassen der Positionen der Datenzellen in Schritt 160 oder beim Decodieren der Datenzellen in Schritt 170, und eine Adresse unmittelbar vor einem Bereich in dem Signalpegel (d. h. "1" oder "0") der Datenzellen kaum verändert werden, wird zusammen mit einem Korrekturwert des Schwellenwerts gespeichert. Zum Beispiel verändert die CPU 24 einen Schwellenwert auf einen höheren Wert für eine Adresse unmittelbar vor einem Bereich in dem Signalpegel von "1" (d. h. die hellen Zellen) im Wesentlichen andauern, während der Schwellenwert in einen niedrigen Wert für eine Adresse unmittelbar vor einen Bereich in dem Signalpegel von "0" (d. h. die dunklen Zellen) im Wesentlichen andauern, verändert wird.
  • Wenn nach der Veränderung des Schwellenwerts ein mit ihm Wesentlichen mit aufeinanderfolgenden hellen oder dunklen Zellen ausgebildeter Bereich weiterhin erfasst wird, kann der Schwellenwert abhängig vom Bedarf weiter schrittweise verändert werden.
  • Mit den obigen Anordnungen der zweidimensionalen Codelesevorrichtung 202 wird, selbst wenn der zweidimensionale Code Abschnitte enthält, die richtig und falsch binärcodiert werden entsprechend dem Grad der Helligkeit derer abhängig von einem Typ Lichtquelle oder einem Ort an dem die Vorrichtung 202 befestigt ist, im Wesentlichen der gesamte Bereich des zweidimensionalen Codes durch Verbessern des in der Binärcodierschaltung 6 verwendeten Schwellenwerts perfekt binärcodiert, so dass die CPU 24 ein Farbtonmuster der Datenzellen präzise lesen kann.
  • Während in den obigen Ausführungsformen jede der Ausrichtungssymbole 54 mit Doppelvierecken ausgebildet ist, um ein Signalmuster zu zeigen, dessen Frequenzkomponentenverhältnis von dunkel: hell : dunkel : hell : dunkel = 1 : 1 : 3 : 1 : 1, das entlang einer Abtastzeile aufgenommen ist, die durch dessen Mitte geht, kann es ein geometrisches Muster aufweisen, das durch ähnliche Figuren definiert ist, die koaxial angeordnet sind, wie zum Beispiel Kreise, wie in Fig. 14(a) dargestellt, oder Sechsecke, wie in Fig. 14(b) dargestellt. Außerdem kann ein geometrisches Muster, wie in Fig. 14(c) dargestellt, das durch mehr als zwei ähnliche Figuren, die koaxial angeordnet sind, definiert ist, und das gleiche Frequenzkomponentenverhältnis in jeder Richtung aufweist verwendet werden. Ferner kann eine äußere Form des zweidimensionalen Codes rechteckig sein.
  • In den obigen Ausführungsformen sind drei Ausrichtungssymbole 54 vorgesehen, jedoch können vier oder mehr Ausrichtungssymbole an beliebigen Orten in dem zweidimensionalen Code vorgesehen werden.
  • Während die vorliegende Erfindung mittels der bevorzugten Ausführungsform offengelegt wurde, um deren Verständlichkeit zu erleichtern, sollte verstanden werden, dass die Erfindung auf verschiedene Weisen ausgeführt werden kann, ohne sich vom Bereich der Erfindung zu entfernen. Daher sollte die Erfindung so verstanden werden, dass sie alle möglichen Ausführungsformen und Abänderungen zu den gezeigten Ausführungsformen beinhaltet, die ausgeführt werden können ohne sich vom Bereich der Erfindung, wie er in den beiliegenden Ansprüchen dargelegt ist, zu entfernen.

Claims (11)

1. Vorrichtung (2, 202) zum Lesen eines zweidimensionalen Codes, die aufweist:
einen CCD-Sensor (4) zum Erfassen eines Bilds, das einen zweidimensionalen Code (52) beinhaltet, indem das Bild entlang Abtastzeilen optisch abgetastet wird, wobei der zweidimensionale Code eine rechteckige Matrix aus Zellen ist, der zweidimensionale Code ein Datenfeld (56) und drei Ausrichtungssymbole (54) aufweist, die Ausrichtungssymbole das gleiche Muster aufweisen, das an einer jeweiligen von drei Ecken der Matrix angeordnet ist, das Datenfeld und die Ausrichtungssymbole jeweils aus einer gegebenen Anzahl der Zellen bestehen, der CCD-Sensor Abtastzeilensignale ausgibt, die Signalpegel aufweisen, die der Helligkeit der Bereiche des erfaßten Bildes auf den Abtastzeilen entsprechen;
eine einzige Binärcodierschaltung (6) zum Codieren der von dem CCD-Sensor ausgegebenen Abtastzeilensignale zu binär codierten Abtastzeilensignalen in Übereinstimmung mit den Signalpegeln der Abtastzeilensignale und zum Ausgeben der binär codierten Abtastzeilensignale;
eine Speichereinrichtung (16, 18) zum Speichern der von der Binärcodierschaltung ausgegebenen binär codierten Abtastzeilensignale an ersten Speicherstellen;
eine Weitenverhältniserfassungsschaltung (8) zum Vergleichen des Weitenverhältnisses von aufeinanderfolgenden Bereichen der binär codierten Abtastzeilensignale, die von der Binärcodierschaltung ausgegeben werden, mit einem einzigen Referenzweitenverhältnis, das dem binär codierten Abtastzeilensignal entspricht, das durch eine Abtastzeile erzeugt wird, die durch die Mitte eines der Ausrichtungssymbole geht, um Bereiche der binär codierten Abtastzeilensignale zu erfassen, die dem Referenzweitenverhältnis entsprechen, und um darauf hinweisende Ausrichtungssymbolsignale vorzusehen;
eine Adreßspeicherschaltung (14), zum Bestimmen von Koordinaten auf dem erfaßten Bild, welchen den Ausrichtungssymbolsignalen entsprechen, die von der Weitenverhältniserfassungsschaltung vorgesehen werden, in Übereinstimmung mit einem Takt von Signalen, die von der Weitenverhältniserfassungsschaltung (8) ausgegeben werden, und zum Schreiben der bestimmten Koordinaten in zweite Speicherstellen, die sich von den ersten Speicherstellen der Speichereinrichtung unterscheiden;
eine CPU (24) zum Lesen der binär codierten Abtastzeilensignale und der Koordinaten der Ausrichtungssymbolsignale aus der Speichereinrichtung, und zum Bestimmen von Positionen der Ausrichtungssymbole in dem erfaßten Bild, auf der Grundlage der Koordinaten der Ausrichtungssymbolsignale, um den zweidimensionalen Code auf der Grundlage der Positionen der Ausrichtungssymbole auszulesen,
wobei die Weitenverhältniserfassungsschaltung beinhaltet:
eine Zähleinrichtung (31), zum Erfassen von ansteigenden Flanken und abfallenden Flanken der binär codieren Abtastzeilensignale, die von der Binärcodeschaltung ausgegeben werden, um Längen zwischen den angrenzenden Flanken zu messen, und zum Ausgeben eines Zählwerts, der die gemessenen Längen der Reihe nach anzeigt,
eine Mehrzahl von Speicherschaltungen (32-38) zum Speichern der von der Zähleinrichtung ausgegebenen Zählwerte der Reihe nach, und
eine Komparatoreinrichtung (39-44), die eine Mehrzahl von Komparatoren beinhaltet, die die in den Speicherschaltungen gespeicherten Zählwerte vergleichen, um zu bestimmen, daß die Reihe der binär codierten Abtastzeilensignale, die das Weitenverhältnis zeigen, erfaßt worden ist, wenn die Zählwerte einer gegebenen Reihe in einem gegebenen Verhältnis angeordnet sind, das dem Referenzweitenverhältnis entspricht.
2. Eine Vorrichtung zum Lesen eines zweidimensionalen Codes nach Anspruch 1, wobei der zweidimensionale Code ferner eine Grenze beinhaltet, die als Bereiche des zweidimensionalen Codes definiert ist, die an die Ausrichtungssymbole angrenzen, und wobei die Weitenverhältniserfassungsschaltung (8) ferner Bereiche der binär codierten Abtastzeilensignale als der Rand erfaßt, wenn jeder der erfaßten Bereiche einen gegebenen Wert in Bezug auf das Referenzweitenverhältnis zeigt und ebenso einen gegebenen Helligkeitspegel in Bezug auf ein Helligkeitsmuster, das durch die Bereiche des zweidimensionalen Codes angezeigt wird, der das Referenzweitenverhältnis zeigt, zum Unterscheiden der Ausrichtungssymbole von dem Datenfeld zeigt.
3. Eine Vorrichtung zum Lesen eines zweidimensionalen Codes nach Anspruch 2, wobei die Weitenverhältniserfassungsschaltung (8) eine Richtung der Reihe der Signale, die den Rand anzeigen, bezüglich der Reihe der Signale erfaßt, die das gegebene Weitenverhältnis zeigen.
4. Eine Vorrichtung zum Lesen eines zweidimensionalen Codes nach Anspruch 1, die ferner eine Binärcodierungsschwellwert-Korrektureinrichtung (204) zum Korrigieren eines Schwellwerts aufweist, der in der Binärcodierschaltung zum Codieren der Abtastzeilensignale von dem CCD-Sensor zu binär codierten Abtastzeilensignalen in Übereinstimmung mit Zuständen des binär codierten Abtastzeilensignale verwendet wird.
5. Eine Vorrichtung zum Lesen eines zweidimensionalen Codes nach Anspruch 4, wobei die Zustände der binär codierten Abtastzeilensignale Signalpegel der binär codierten Abtastzeilensignale sind.
6. Eine Vorrichtung zum Lesen eines zweidimensionalen Codes nach Anspruch 1, wobei die CPU (24) einen Vorgang eines Lesens eines zweidimensionalen Codes der Vorrichtung (2, 202) zum Lesen eines zweidimensionalen Codes sperrt, wenn die Weitenverhältniserfassungsschaltung (8) kein Ausrichtungssymbolsignal erfaßt und vorsieht.
7. Eine Vorrichtung zum Lesen eines zweidimensionalen Codes nach Anspruch 6, wobei die CPU (24) erfaßt, wann der zweidimensionale Code aus dem Sichtfeld des CCD-Sensors (4) verschoben ist, wenn die Weitenverhältniserfassungsschaltung (8) nicht irgendeinen Bereich der binär codierten Abtastzeilensignale erfaßt, der das gleiche Weitenverhältnis wie das Referenzweitenverhältnis für eine zweite vorbestimmte Zeitdauer zeigt, nachdem die Weitenverhältniserfassungsschaltung andauernd die Ausrichtungssymbolsignale für eine erste vorbestimmte Zeitdauer vorgesehen hat.
8. Eine Vorrichtung zum Lesen eines zweidimensionalen Codes nach Anspruch 7, wobei, wenn die Weitenverhältniserfassungsschaltung (8) eine andere Reihe von binär codierten Abtastsignalen erfaßt, die das gleiche Weitenverhältnis wie das Referenzweitenverhältnis zeigen, nachdem die zweite vorbestimmte Zeitdauer verstrichen ist, die CPU (24) bestimmt, daß ein anderer zweidimensionaler Code von dem CCD-Sensor (4) abgetastet wird.
9. Eine Vorrichtung zum Lesen eines zweidimensionalen Codes nach einem der Ansprüche 1, 2 und 3, wobei die Komparatoreinrichtung (39-44) der Weitenverhältniserfassungsschaltung (8) einen Referenzwert, der einer der Zählwerte ist, die von den Speicherschaltungen (32-38) gespeichert werden, mit den anderen Zählwerten vergleicht, um zu bestimmen, ob Vergleichsergebnisse das gegebene Verhältnis zeigen, das dem Referenzweitenverhältnis entspricht.
10. Eine Verrichtung zum Lesen eines zweidimensionalen Codes nach Anspruch 9, wobei jede der Speicherschaltungen (32-38) und jeder der Komparatoren (39-44) einer von Weiten der binär codierten Abtastzeilensignale entspricht, die jeweils das Referenzweitenverhältnis zeigen.
11. Eine Vorrichtung zum Lesen eines zweidimensionalen Codes nach einem der Ansprüche 9 oder 10, wobei die Weitenverhältniserfassungsschaltung (8) ferner eine Speicherschaltung und einen Komparator für einen Rand beinhaltet, der an die Ausrichtungssymbole abgrenzend angeordnet ist.
DE69523273T 1994-12-26 1995-12-18 Vorrichtung zum Lesen eines zweidimensionalen Codes Expired - Lifetime DE69523273T2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP6322873A JP2867904B2 (ja) 1994-12-26 1994-12-26 2次元コード読取装置

Publications (2)

Publication Number Publication Date
DE69523273D1 DE69523273D1 (de) 2001-11-22
DE69523273T2 true DE69523273T2 (de) 2002-07-25

Family

ID=18148569

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69523273T Expired - Lifetime DE69523273T2 (de) 1994-12-26 1995-12-18 Vorrichtung zum Lesen eines zweidimensionalen Codes

Country Status (4)

Country Link
US (1) US5691527A (de)
EP (1) EP0720113B1 (de)
JP (1) JP2867904B2 (de)
DE (1) DE69523273T2 (de)

Families Citing this family (68)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6000614A (en) * 1996-12-20 1999-12-14 Denso Corporation Two-dimensional code reading apparatus
JP3591184B2 (ja) * 1997-01-14 2004-11-17 松下電器産業株式会社 バーコード読み取り装置
US6917720B1 (en) * 1997-07-04 2005-07-12 Daimlerchrysler Ag Reference mark, method for recognizing reference marks and method for object measuring
US6518950B1 (en) 1997-10-07 2003-02-11 Interval Research Corporation Methods and systems for providing human/computer interfaces
AU9692098A (en) * 1997-10-10 1999-05-03 Interval Research Corporation Methods and systems for providing human/computer interfaces
US6561428B2 (en) 1997-10-17 2003-05-13 Hand Held Products, Inc. Imaging device having indicia-controlled image parsing mode
JP3814988B2 (ja) * 1997-10-27 2006-08-30 株式会社デンソー 2次元コード読取装置
JPH11219405A (ja) * 1998-02-02 1999-08-10 Olympus Optical Co Ltd 情報再生システム
US6267296B1 (en) 1998-05-12 2001-07-31 Denso Corporation Two-dimensional code and method of optically reading the same
TW434520B (en) 1998-06-30 2001-05-16 Sony Corp Two-dimensional code recognition processing method, device therefor and medium
EP0984385B1 (de) * 1998-08-31 2013-02-20 Sony Corporation Erkennungsverarbeitung für eine zweidimensionale Kodierung
JP3458737B2 (ja) 1998-11-27 2003-10-20 株式会社デンソー 2次元コードの読取方法及び記録媒体
JP4288756B2 (ja) * 1999-04-08 2009-07-01 株式会社デンソー 情報コード概略存在領域推定方法、情報コード読取方法及び装置、記録媒体
ATE516598T1 (de) 1999-09-28 2011-07-15 Kaneka Corp Verfahren zur steuerung des herstellungsprozesses einer photoelektrischen wandlervorrichtung
US7111787B2 (en) 2001-05-15 2006-09-26 Hand Held Products, Inc. Multimode image capturing and decoding optical reader
US6834807B2 (en) 2001-07-13 2004-12-28 Hand Held Products, Inc. Optical reader having a color imager
KR100460336B1 (ko) * 2001-07-26 2004-12-04 김택진 광학마크판독기의 판독유니트
WO2003025845A1 (en) * 2001-09-17 2003-03-27 Codemagic Machine-readable symbol and related method
AU2003223406A1 (en) * 2002-07-08 2004-01-23 Veritec, Inc. Method for reading a symbol having encoded information
US7181066B1 (en) 2002-12-26 2007-02-20 Cognex Technology And Investment Corporation Method for locating bar codes and symbols in an image
US7637430B2 (en) 2003-05-12 2009-12-29 Hand Held Products, Inc. Picture taking optical reader
JP4180497B2 (ja) 2003-12-05 2008-11-12 富士通株式会社 コード種類判別方法、およびコード境界検出方法
CN100452077C (zh) * 2004-03-04 2009-01-14 夏普株式会社 二维代码区域提取方法及其提取装置和电子装置
JP2005316755A (ja) * 2004-04-28 2005-11-10 Nec Electronics Corp 2次元矩形コードシンボル読み取り装置及び2次元矩形コードシンボル読み取り方法
US20060027657A1 (en) 2004-08-04 2006-02-09 Laurens Ninnink Method and apparatus for high resolution decoding of encoded symbols
US7175090B2 (en) 2004-08-30 2007-02-13 Cognex Technology And Investment Corporation Methods and apparatus for reading bar code identifications
US7293712B2 (en) 2004-10-05 2007-11-13 Hand Held Products, Inc. System and method to automatically discriminate between a signature and a dataform
US7963448B2 (en) 2004-12-22 2011-06-21 Cognex Technology And Investment Corporation Hand held machine vision method and apparatus
US9552506B1 (en) 2004-12-23 2017-01-24 Cognex Technology And Investment Llc Method and apparatus for industrial identification mark verification
WO2006100720A1 (ja) 2005-03-18 2006-09-28 Fujitsu Limited コード画像処理方法
US7533818B2 (en) * 2005-06-28 2009-05-19 Direct Measurements Inc. Binary code symbol for non-linear strain measurement and apparatus and method for analyzing and measuring strain therewith
CN100379190C (zh) * 2005-07-19 2008-04-02 北京中星微电子有限公司 基于二维码视像传输的速率控制方法
JP4645384B2 (ja) * 2005-09-20 2011-03-09 富士ゼロックス株式会社 二次元バーコードの検出方法及び検出装置
KR100828539B1 (ko) * 2005-09-20 2008-05-13 후지제롯쿠스 가부시끼가이샤 이차원 코드의 검출 방법, 검출 장치, 및 검출 프로그램을기억한 기억 매체
JP4325602B2 (ja) * 2005-09-21 2009-09-02 株式会社デンソーウェーブ 光学的情報読取装置
JP4665710B2 (ja) * 2005-10-21 2011-04-06 株式会社デンソーウェーブ 情報コード担体
JP4911340B2 (ja) * 2006-02-10 2012-04-04 富士ゼロックス株式会社 二次元コード検出システムおよび二次元コード検出プログラム
US7546950B2 (en) * 2006-03-28 2009-06-16 Seiko Epson Corporation Method and apparatus for locating and decoding a two-dimensional machine-readable symbol
WO2008021457A2 (en) * 2006-08-17 2008-02-21 Gregory Hovis Nested binary code symbol
US7886978B2 (en) * 2007-09-20 2011-02-15 Microsoft Corporation Techniques for decoding images of barcodes
JP5111055B2 (ja) * 2007-10-26 2012-12-26 キヤノン株式会社 画像処理装置及び画像処理方法、コンピュータプログラム
US8498344B2 (en) * 2008-06-20 2013-07-30 Rambus Inc. Frequency responsive bus coding
US9355293B2 (en) * 2008-12-22 2016-05-31 Canon Kabushiki Kaisha Code detection and decoding system
JP5218281B2 (ja) * 2009-05-26 2013-06-26 株式会社デンソーウェーブ 情報コード読取装置
US8657200B2 (en) 2011-06-20 2014-02-25 Metrologic Instruments, Inc. Indicia reading terminal with color frame processing
US8689255B1 (en) 2011-09-07 2014-04-01 Imdb.Com, Inc. Synchronizing video content with extrinsic data
CN102831163A (zh) * 2012-07-20 2012-12-19 江苏缨思贝睿物联网科技有限公司 数据传送方法及数据传送系统
US9113128B1 (en) 2012-08-31 2015-08-18 Amazon Technologies, Inc. Timeline interface for video content
US8955021B1 (en) 2012-08-31 2015-02-10 Amazon Technologies, Inc. Providing extrinsic data for video content
WO2014054003A1 (en) * 2012-10-02 2014-04-10 Visa International Service Association Proximity transfer of payment credentials
KR101801217B1 (ko) * 2012-11-13 2017-11-24 교도 인사쯔 가부시키가이샤 이차원 코드
US9389745B1 (en) 2012-12-10 2016-07-12 Amazon Technologies, Inc. Providing content via multiple display devices
US10424009B1 (en) 2013-02-27 2019-09-24 Amazon Technologies, Inc. Shopping experience using multiple computing devices
US11019300B1 (en) 2013-06-26 2021-05-25 Amazon Technologies, Inc. Providing soundtrack information during playback of video content
US11042607B2 (en) * 2013-08-23 2021-06-22 Nant Holdings Ip, Llc Recognition-based content management, systems and methods
US9710826B1 (en) * 2013-08-23 2017-07-18 Isaac S. Daniel System and method of advertising a plurality of varied multimedia content
US9838740B1 (en) 2014-03-18 2017-12-05 Amazon Technologies, Inc. Enhancing video content with personalized extrinsic data
US9128936B1 (en) 2014-06-24 2015-09-08 Ed Campbell Life of achievement
US9791865B2 (en) 2014-10-29 2017-10-17 Amazon Technologies, Inc. Multi-scale fiducials
WO2016108718A1 (en) 2014-12-30 2016-07-07 Emc Corporation Method and apparatus for it appliance control
US9729157B2 (en) 2015-02-13 2017-08-08 Macom Technology Solutions Holdings, Inc. Variable clock phase generation method and system
US10257498B2 (en) * 2015-12-04 2019-04-09 Empire Technology Development Llc Coordination of multiple structured light-based 3D image detectors
IT201700014359A1 (it) 2017-02-09 2018-08-09 Aitek S P A Codice a barre anticontraffazione, sistema e metodo per la generazione e l’autenticazione di un titolo sulla base di detto codice
US10685197B2 (en) 2017-11-17 2020-06-16 Divine Logic, Inc. Systems and methods for tracking items
US11418716B2 (en) 2019-06-04 2022-08-16 Nathaniel Boyless Spherical image based registration and self-localization for onsite and offsite viewing
EP3782943B1 (de) * 2019-08-20 2023-02-22 KONE Corporation Verfahren zur inbetriebnahme eines fördersystems
CN112507747B (zh) * 2020-12-10 2024-04-19 北京爱创科技股份有限公司 一种追溯码扫描的装置及方法
US11900208B2 (en) 2021-04-07 2024-02-13 Ingamo, Llc Scannable code having a unique identifier

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3074634A (en) * 1961-04-17 1963-01-22 Ibm Pattern recognition
US3801775A (en) * 1972-08-07 1974-04-02 Scanner Method and apparatus for identifying objects
JPS6172371A (ja) * 1984-09-17 1986-04-14 Hitachi Ltd 情報読取装置
US4760247A (en) * 1986-04-04 1988-07-26 Bally Manufacturing Company Optical card reader utilizing area image processing
US4736109A (en) * 1986-08-13 1988-04-05 Bally Manufacturing Company Coded document and document reading system
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
US5319181A (en) * 1992-03-16 1994-06-07 Symbol Technologies, Inc. Method and apparatus for decoding two-dimensional bar code using CCD/CMD camera
US5410620A (en) * 1989-08-02 1995-04-25 Teiryo Sangyo Co., Ltd. Digital data reader of digital data recording sheet
FR2657982B1 (fr) * 1990-02-02 1992-11-27 Cga Hbs Procede de localisation d'adresse sur des articles a trier, etiquette d'adressage et dispositif de mise en óoeuvre du procede.
DE69131394T2 (de) * 1990-10-30 2000-01-20 Omniplanar, Inc. Maschinenlesbares Zeichen mit Mehrfachauflösung
US5202552A (en) * 1991-04-22 1993-04-13 Macmillan Bloedel Limited Data with perimeter identification tag
CA2362128C (en) * 1991-07-11 2002-09-17 Govind Shah System and method for acquiring an optical target
US5541396A (en) * 1991-07-19 1996-07-30 Rentsch; Frederic Method of representing binary data
JPH05290197A (ja) * 1992-04-06 1993-11-05 Teiriyou Sangyo Kk 二次元コ−ドシンボルマ−クの解読方法
US5308960A (en) * 1992-05-26 1994-05-03 United Parcel Service Of America, Inc. Combined camera system
US5479418A (en) * 1992-07-10 1995-12-26 Canon Inc. Error and loss correction in a data base stored on a two dimensional medium and method
US5288986A (en) * 1992-09-17 1994-02-22 Motorola, Inc. Binary code matrix having data and parity bits
JP2938338B2 (ja) * 1994-03-14 1999-08-23 株式会社デンソー 二次元コード
US5515447A (en) * 1994-06-07 1996-05-07 United Parcel Service Of America, Inc. Method and apparatus for locating an acquisition target in two-dimensional images by detecting symmetry in two different directions

Also Published As

Publication number Publication date
EP0720113B1 (de) 2001-10-17
JPH08180125A (ja) 1996-07-12
DE69523273D1 (de) 2001-11-22
EP0720113A3 (de) 1997-10-15
JP2867904B2 (ja) 1999-03-10
US5691527A (en) 1997-11-25
EP0720113A2 (de) 1996-07-03

Similar Documents

Publication Publication Date Title
DE69523273T2 (de) Vorrichtung zum Lesen eines zweidimensionalen Codes
DE69728482T2 (de) Zweidimensionaler Codeleser
DE2726746C3 (de) Verfahren und Einrichtung zur Fehlerkontrolle des Oberflächenmusters eines Objektes
EP0131676B1 (de) Verfahren zum automatischen Digitalisieren des Umrisses von Strichgraphiken z.B. Buchstaben
DE3781922T2 (de) Bahnregistersteuerungssystem.
DE69504069T2 (de) Verfahren und gerät zu dekodierung von zweidimensionalen zeichen im raumbereich
DE69020186T2 (de) Strichkodeleser.
DE69324079T2 (de) Verfahren und Vorrichtung zur Erfassung von Strichkoden
DE3854885T2 (de) Kombinieren von gelesenen Strichcode-Daten
DE69810581T2 (de) Merkmalkorrelator für Fingerabdrücke
DE2616753C3 (de) Vorrichtung zum Lesen von strichkodierten Informationen
DE3538219C2 (de) Leseanordnung für Strichmarkierungen
DE3006578C2 (de)
CH651408A5 (de) Optische dokumentenpruefeinrichtung zum erfassen von fehldrucken.
DE2417282B2 (de) Vorrichtung zum Lesen von Fingerabdrücken
DE2912894A1 (de) Verfahren und vorrichtung zur musterpruefung
DE3110222A1 (de) Verfahren zur partielle glaettenden retusche bei der elektronischen farbbildreproduktion
DE3879609T2 (de) Verfahren und Vorrichtung zum Erkennen von kennzeichnenden Unterschieden in einem Blattmaterial.
DE3210814A1 (de) Verfahren zum bestimmen einer optimalen schwelle, um ein binaeres abbildungssignal zur verwendung in einem mustererkennungssystem zu erhalten
DE2432129B2 (de) Verfahren zum maschinellen lesen von zeichen und vorrichtung zur durchfuehrung des verfahrens
DE2858688C2 (de)
DE69218272T2 (de) Bildeingabegerät
DE3237818C2 (de)
DE3718620C2 (de)
DE69421487T2 (de) Verfahren zum Vergleichen von Mustern basierend auf der Verwendung von Bildelementmatritzen und Bildelementvektoren

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8320 Willingness to grant licences declared (paragraph 23)