DE69734185T2 - Strichkodeleser - Google Patents

Strichkodeleser Download PDF

Info

Publication number
DE69734185T2
DE69734185T2 DE69734185T DE69734185T DE69734185T2 DE 69734185 T2 DE69734185 T2 DE 69734185T2 DE 69734185 T DE69734185 T DE 69734185T DE 69734185 T DE69734185 T DE 69734185T DE 69734185 T2 DE69734185 T2 DE 69734185T2
Authority
DE
Germany
Prior art keywords
scan
pulse width
bar code
width data
fragment
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
DE69734185T
Other languages
English (en)
Other versions
DE69734185D1 (de
Inventor
Kenichi Minato-ku Ikeda
Kazuo Minato-ku Ishii
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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Publication of DE69734185D1 publication Critical patent/DE69734185D1/de
Application granted granted Critical
Publication of DE69734185T2 publication Critical patent/DE69734185T2/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/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/146Methods for optical code recognition the method including quality enhancement steps
    • G06K7/1491Methods for optical code recognition the method including quality enhancement steps the method including a reconstruction step, e.g. stitching two pieces of bar code together to derive the full bar code
    • 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
    • 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/146Methods for optical code recognition the method including quality enhancement steps
    • G06K7/1486Setting the threshold-width for bar codes to be decoded

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • General Physics & Mathematics (AREA)
  • Electromagnetism (AREA)
  • General Health & Medical Sciences (AREA)
  • Toxicology (AREA)
  • Artificial Intelligence (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Quality & Reliability (AREA)
  • Character Input (AREA)
  • Mechanical Optical Scanning Systems (AREA)
  • Radar Systems Or Details Thereof (AREA)
  • Discharge Of Articles From Conveyors (AREA)
  • Sorting Of Articles (AREA)

Description

  • HINTERGRUND DER ERFINDUNG
  • Die vorliegende Erfindung betrifft einen Strichkodeleser gemäß dem Oberbegriff von Anspruch 1 und insbesondere einen Strichkodedatenfolgesynthese-Strichkodeleser zum Lesen eines Strichkodes durch Synthetisieren von Fragmentpulsbreite-Datenfolgen, die durch fragmentarisches Scannen des Strichkodes erhalten werden.
  • In einem Strichkodedatenfolgensynthese-Strichkodeleser des Standes der Technik werden eine Fragmentpulsbreite-Datenfolge, die durch einmaliges Strichkodescannen erhalten wird, und eine, die durch das nächste Scannen erhalten wird, d.h. zwei aufeinanderfolgende Fragmentpulsbreite-Datenfolgen miteinander verglichen, und ein Zustand, in dem die beiden Datenfolgen am ehesten identisch sind, d.h. ein Zustand des maximalen Identitätsgrades, wird durch Verschieben der Datenfolgen relativ zueinander für jedes Scannen bestimmt. Dieser Zustand wird als Synthesezustand verwendet, in dem die beiden Datenfolgen kombiniert werden. Mit folgenden Scanzeiten wird die sich ergebende Datenfolge fortlaufend erweitert, und schließlich wird eine vollständige Strichkodedatenfolge erhalten, die den gesamten Strichkode enthält.
  • Solche Strichkodeleser sind zum Beispiel in der japanischen Patentveröffentlichung Nr. 59-9946 B (JP 53-58727 A), der offengelegten japanischen Patentveröffentlichung Nr. 64-86283, der offengelegten japanischen Patentveröffentlichung Nr. 64-86284, der offengelegten japanischen Patentveröffentlichung Nr. 2-170290 und der offenlegten japanischen Patentveröffentlichung 4-15774 offenbart.
  • In dem in 4 gezeigten Strichkodedatenfolgesynthese-Strichkodeleser des Standes der Technik wird eine Fragmentpulsbreite-Datenfolge, die als Ergebnis eines einmaligen Strichkodescannens erhalten wird, und eine, die als Ergebnis des nächsten Scannens erhalten wird, in einem Datenverschieber 43 gespeichert. Eine Vergleichseinrichtung 44 führt durch Vergleichen dieser Fragmentpulsbreite-Datenfolgen eine Identitätsgradbestimmung aus. Dieser Vergleichsprozess wird durch Verschieben jedes Datums ausgeführt, um den Verschiebungszustand zu bestimmen, der den Zustand des maximalen Identitätsgrads angibt, d.h. den Synthesezustand. Ein Synthetisierer 45 kombiniert die beiden Fragmentpulsbreite- Datenfolgen im Zustand des maximalen Identitätsgrads, und mit folgenden Scanzeiten werden die Fragmentpulsbreitedaten fortlaufend erweitert, um eine vollständige Strichkodedatenfolge zu erhalten, die den gesamten Strichkode enthält.
  • Die Arbeitsweise wird nun mit Bezug auf 5 beschrieben. Als Ergebnis des Vergleichs einer N-ten und einer (N+1)-ten Scanfragmentpulsbreitendatenfolge DN und DN+1 wird der Identitätsgrad A erhalten. Als Ergebnis des Vergleichs der Datenfolge DN+1 und einer Datenfolge DN+1(1), die durch Verschieben der Datenfolge DN+1 um einen Betrag, der einem Strichkode entspricht, erhalten wird, wird der Identitätsgrad B erhalten. Als Ergebnis des Vergleichs der Datenfolge DN+1 und einer Datenfolge DN+1(2), die durch Verschieben der Datenfolge DN+1 um einen Betrag, der zwei Strichkodes entspricht, erhalten wird, wird der Identitätsgrad C erhalten. In dem Vergleich werden zwei vertikal ausgerichtete binäre Datenstücke von entweder "0" oder "1 ", wie in der Figur gezeigt, verglichen. Der Identitätsgrad wird durch die Anzahl der identischen binären Datenstückpaare wiedergegeben. Die binären Datenstücke von "0" oder "1" in jeder Fragmentpulsbreite-Datenfolge sind tatsächliche Pulsbreitedaten, die jeweils einen dünnen oder einen dicken Strich wiedergeben, die einen Strichkode bilden. Genau gesagt gibt das binäre Datenstück von "0" einen dünnen Strich wieder, und das binäre Datenstück von "1" gibt einen dicken Strich wieder.
  • Der Wert des Identitätsgrads A, der ohne jegliche Datenverschiebung erhalten wird, beträgt 4; der Identitätsgrad B, der als Ergebnis einer Ein-Datenstückverschiebung erhalten wird, ist 9; der Identitätsgrad C, der als Ergebnis einer Zwei-Datenstückverschiebung erhalten wird, ist 2. In diesem Fall wird der maximale Identitätsgrad mit Ein-Datenstückverschiebung erhalten. Daher wird die Synthese in einem Ein-Datenstückverschiebungszustand einer der verwendeten Datenfolgen durchgeführt. Das heißt, dass die N-te Scanfragmentpulsbreite-Datenfolge DN und die Datenfolge DN+1(1), die als Ergebnis der Ein-Datenstückverschiebung der (N+1)-ten Scanfragmentpulsbreite-Datenfolge DN+1 erhalten wird, für die Synthese verwendet werden. Die Überlappung der (N+1)-ten Scanfragmentpulsbreite-Datenfolge mit der des N-ten Scannens führt zu einer Erweiterung der letzteren um ein Datenstück. Aufeinanderfolgende Fragmentpulsbreite-Datenfolgen werden eine nach der anderen kombiniert, was zu einer fortlaufenden Datenfolgenerweiterung führt, und auf diese Weise wird eine vollständige Strichkodepulsbreite-Datenfolge erhalten, die den gesamten Strichkode enthält.
  • Im obigen Strichkodedatenfolgesynthese-Strichkodeleser des Standes der Technik wird der Zustand des maximalen Identitätsgrades, d.h. der Synthesezustand, in dem die Fragmentpulsbreite-Datenfolgen kombiniert werden, durch Vergleich und Verschiebung davon auf Basis der Pulsbreitedatenstücke in den Datenfolgen bestimmt.
  • Mit Fragmentpulsbreitedaten, die durch Scannen eines Strichkodes erhalten werden, der eine Folge der gleichen Zahlen oder Zeichen enthält, weist eine Fragmentpulsbreite-Datenfolge, die erhalten wird, wegen des Scannens des gleichen Musters aus schwarzen und weißen Strichen, die die gleiche Zahl oder das gleiche Zeichen wiedergeben, eine Folge der gleichen Muster auf. In diesem Fall wird beim Strichkodedatefolgensynthese-Strichkodeleser des Standes der Technik der maximale Identitätsgrad erhöht, indem die Anzahl der Verschiebungen erhöht wird, weil der Synthesezustand erhalten wird oder die vollständige Überlappung durch Verschieben des Wiederauftrittzyklusabschnitts der Pulsbreitedaten erhalten wird, d.h. ein Abschnitt, der einer Zahl oder einem Zeichen auf der Strichkodemarkierung entspricht. Daher war es schwierig, einen korrekten Synthesezustand zu erhalten. Das heißt, dass es bei einem Strichkode, der eine Anzahl von ähnlichen Abschnitten enthält, schwierig ist, einen korrekten Synthesezustand und ein genaues Lesen des Strichkodes zu erhalten.
  • Im Fall des Scannens einer Strichkodemarkierung mit einem geringen Höhenniveau wird die erhaltene Anzahl von Datenstücken in jeder Fragmentpulsbreite-Datenfolge verringert, und folglich wird der Identitätsgrad verringert. Das bedeutet, dass der reguläre Synthesezustand nicht wesentlich unterschiedlich von den anderen Zuständen ist, wodurch es schwierig wird, einen korrekten Synthesezustand zu erhalten.
  • US 5 387 787 offenbart einen Strichkodeleser gemäß dem Oberbegriff von Anspruch 1. US 5 241 164 offenbart einen weiteren Strichkodeleser.
  • ZUSAMMENFASSUNG DER ERFINDUNG
  • Es ist die Aufgabe der Erfindung, einen Strichkodeleser bereitzustellen, der das obige Problem lösen kann und es ermöglicht, einen korrekten Synthesezustand zu erhalten, wodurch eine verbesserte Leseleistung realisiert wird.
  • Die Erfindung löst diese Aufgabe mit den Merkmalen des Anspruchs 1.
  • Andere Aufgaben und Merkmale werden durch die nachfolgende Beschreibung mit Bezug auf die beigefügten Zeichnungen klargestellt.
  • KURZBESCHREIBUNG DER ZEICHNUNGEN
  • 1 ist ein Blockdiagramm, das die Ausführungsform der Erfindung zeigt;
  • 2 ist eine Zeichnung zum Erläutern eines Scanstrahlwinkelzählvorgangs eines Strichkodelesers in 1;
  • 3 ist eine Zeichnung von Scanfolgen der Strichkodemarkierungen in der Ausführungsform;
  • 4 ist ein Blockdiagramm des Strichkodelesers des Standes der Technik; und
  • 5 ist eine Zeichnung zum Erläutern der Arbeitsweise des Strichkodelesers des Standes der Technik.
  • BEVORZUGTE AUSFÜHRUNGSFORMEN DER ERFINDUNG
  • Ausführungsformen der vorliegenden Erfindung werden nun mit Bezug auf die Zeichnungen beschrieben. Mit Bezug auf 1 umfasst der dargestellte Strichkodeleser eine Scaneinheit 1 zum fragmentarischen Scannen eines Strichkodes mit einem Scanstrahl, der von einem Scanfenster auf die Strichkodemarkierung projiziert wird, die auf einem Artikel vorgesehen ist, der auf einem Förderer oder dergleichen gefördert wird, eine lichtempfangende Einheit 2 zum Empfangen eines reflektierten Scanstrahls und Umwandeln des empfangenen Strahls in ein elektrisches Signal, eine Fragmentpulsbreite-Datenfolgeextraktionseinheit 3 zum Messen der Pulsbreite des elektrischen Signals und Extrahieren nur von Impulsbreite-Datenfolgen, die schwarzen und weißen Strichen entsprechen, die den Strichkode als Fragmentpulsbreite-Datenfolgen ausmachen, eine Synthetisiereinheit 4 zum Synthetisieren einer vollständigen Strichkodepulsbreite-Datenfolge aus den Fragmentpulsbreite-Datenfolgen und Ausgeben der synthetisierten Datenfolge, eine Dekodiereinheit 5 zum Umwandeln der vollständigen Strichkodepulsbreite-Datenfolge, die von der Synthetisiereinheit 5 ausgegeben wird, in Buchstaben, Zahlen etc. und eine Ausgabeeinheit 6 zum Ausgeben des Ergebnisses der Lesung an eine externe Vorrichtung.
  • Die Scaneinheit 1 umfasst einen Scanner 11 zum Erzeugen des Scanstrahls, einen Scanzeitenzähler 12 zum Ausgeben von Scanzeitenzähldaten und einen Scanstrahlwinkelzähler 13 zum Ausgeben der Scanstrahlwinkeldaten.
  • Die Fragmentpulsbreite-Datenfolgenextraktionseinrichtung 3 umfasst eine Fragmentpulsbreite-Datenfolgenextraktionseinrichtung 31 zum Extrahieren nur von Fragmentpulsbreite-Datenfolgen, die einem Zustand eines fragmentarischen Strichkodescannens entsprechen, einen Scananfangsdetektor 32 zum Erkennen des Scananfangs, einen Scanenddetektor 33 zum Erkennen des Scanendes, einen Scanzeiten/Strichadresserzeuger 34 zum Ausgeben der Scanzeitzähldaten vom Moment des Anfangs bis zum Moment des Endes des Scannens sowie auch zum Ausgeben von Scanstrahlwinkeldaten, die Anfangspositionen von schwarzen und weißen Strichen entsprechen, die einen Strichkode in einer Fragmentpulsbreite-Datenfolge als Strichadressen der schwarzen und weißen Striche bilden, einen Strichadressänderungsrechner 35 zum Berechnen von Strichadressänderungen in einem Scan bei Scananfang und -ende und einen Moduländerungsrechner 36 zum Berechnen einer Änderung in einem Scan in der Summe der Modulzahlen der schwarzen und weißen Striche, die einen auszulesenden Strichkode ausmachen.
  • Die Synthetisiereinheit 4 umfasst einen Identischstrichrechner 41 zum Berechnen von Positionen von Strichen, die aus den benachbarten Scanfragmentpulsbreite-Datenfolgen synthetisiert werden sollen, und einen Synthetisierer 42 zum Synthetisieren einer Strichkodepulsbreite-Datenfolge vom Moment des Anfangs bis zum Moment des Endes des Scannens.
  • Wie in 2 gezeigt, wird der Scanstrahlwinkeldetektor gelöscht, direkt bevor ein Scanstrahl B von einem Scanfenster W des Strichkodelesers ausgegeben wird, und beginnt nach Ablauf einer vorbestimmten Zeitdauer hochzuzählen. Die Scanzeitenzähler 12 ist ein freilaufender Zähler und beginnt hochzuzählen, wenn der Scanstrahlwinkelzähler 13 gelöscht wird. Der Scanstrahlwinkelzähler 13 ist ein 16-Bit-Zähler, und der Scanzeitenzähler 12 ist ein 8-Bit-Zähler. Die Zählung des Scanstrahlwinkelzählers 13 wird mit zunehmendem Scanwinkel θ des Scanstrahls B, der vom Scanfenster W ausgegeben wird, wie in 2 gezeigt, auf "0", "1 ", "2", ... erhöht. Da angenommen wird, dass der Scanstrahlwinkelzähler 13 ein 16-Bit-Zähler ist, zählt er bis "65.535" hoch. Nach Erreichen der Zählung "65.535" tritt der Scanstrahl B wieder in das System ein. Der Zähler des Scanzeitenzählers 12, der als 8-Bit-Zähler angenommen wird wird auf "0" "1" "2" "3" "255" "0" "1" "2" "3" geändert.
  • Es wird nun ein Fall betrachtet, in dem ein sich bewegender Strichkode von der Scaneinheit 1 gescannt wird. Wie in 3 gezeigt, wird insbesondere angenonmen, dass der Strichkode auf einer Strichkodemarkierung, die bei einer festen Geschwindigkeit bewegt wird, durch Ausführen des Scannens entlang festen Scanlinien 50 bis 59 bei einem Schnittwinkel 72 gescannt wird. Tatsächlich wird der Strichkode entlang Scanlinien von der Linie 53 zur Linie 57 gescannt, und die Fragmentpulsbreite-Datenfolgeextraktionseinrichtung 31 extrahiert Fragmentpulsbreite-Datenfolgen, die schwarzen und weißen Strichen auf der Strichkodemarkierung entsprechen, während der Strichkode darauf gescannt wird. Obwohl der Strichkode auch entlang den Scanlinien 52 und 58 gescannt wird, weisen die Fragmentpulsbreite-Datenfolgen davon weniger Datenstücke auf und sind bezüglich ihrer Verlässlichkeit als reguläre Fragmentpulsbreite-Datenfolgen unzureichend. Daher verwirft die Fragmentpulsbreite-Datenfolgeextahiereinrichtung 31 diese Datenfolgen. Genau gesagt wird eine Schwellendatenstückzahl eingestellt, und Datenfolgen mit geringeren Datenstückzahlen werden verworfen.
  • Daher entspricht die durch Scannen entlang der Scanlinie 53 erhaltene Fragmentpulsbreite-Datenfolge dem Scananfang, und die durch Scannen entlang der Scanlinie 57 erhaltene entspricht dem Scanende. Wenn der Scananfangsdetektor 32 die Fragmentpulsbreite-Datenfolge der Scanlinie 53 erkennt, gibt er am Scananfang einen Wert (d.h. 14 in 3) als Scanzeitenzähler 62 aus und gibt außerdem einen Scananfang-Schwarzstrichadresswert (d.h. 47) als Scanstrahlwinkelzähler 60 aus, der einer Scananfang-Schwarzstrichanfangsposition 64 entspricht, die den Strichkodeanfang in dieser Fragmentpulsbreite-Datenfolge angibt. Wenn der Scanenddetektor 33 die Fragmentpulsbreitenpulsbreite-Datenfolge der Scanlinie 57 erkennt, gibt er am Scanende einen Wert (d.h. 18) als Scanzeitenzähler 63 aus und gibt außerdem einen Scanende-Schwarzstrichadresswert (d.h. 39) als Scanstrahlwinkelzähler 60 aus, der einer Scanendschwarzstrichendposition 67 entspricht, die ein Strichkodeende in dieser Fragmentpulsbreite-Datenfolge angibt.
  • Der Scanzeiten-/Strichadresserzeuger 34 gibt eine Scanzeitenzählung 61 von dem Moment an, wenn der Scananfangsdetektor 32 den Scananfang erkennt, bis zu dem Moment, wenn der Scanenddetektor 33 das Scanende erkennt, aus, und außerdem gibt er Scanstrahlwinkel zählungen 60 aus, die einer schwarzen und einer weißen Strichanfangsposition 65 und 66 im Strichkode in der Fragmentpulsbreite-Datenfolge als Strichadressen entsprechen.
  • Der Adressänderungsrechner 35 erhält die Differenz (47 – 39 = 8) zwischen den Scananfangs- und Scanend-Schwarzstrichadressen 64 (47) und 67 (39) sowie auch die Differenz (18 – 14 = 4) zwischen den Scananfangs- und -endscanzeitenzählungen 62 (14) und 63 (18) und gibt den Quotienten der Division der erstgenannten Differenz durch die letztgenannte Differenz als Strichadressänderung aus.
  • Der Moduländerungsrechner 36 erhält zuerst die Summe der Modulzahlen von dünnen und dicken Strichen, die den auszulesenden Strichcode bilden. Üblicherweise sind die Art und Bitzahl des auszulesenden Strichcodes im Strichkodeleser eingestellt, und der Moduländerungsrechner 35 erhält die Modulzahlsumme aus diesen Einstellungen. Es wird angenommen, dass die Strichkodeart ein allgemeiner NW-7-Kode ist, in dem die Bitzahl 2 ist, das Dickstrich-zu-Dünnstrich-Verhältnis 2,5 und der Spalt zwischen den Zeichen dick ist. Im NW-7-Kode bestehen die Anfangs- und Endkodes jeweils aus 4 dünnen Strichen und 3 dicken Strichen, und die Zeichen bestehen jeweils aus 5 dünnen Strichen und 2 dicken Strichen. Der NW-7-Kode besteht daher aus 18 dünnen Strichen und 13 dicken Strichen. Was die Modulzahl betrifft, so ist die Modulzahlsumme 1 × 18 + 2,5 × 13 = 50,5, da der dünne Strich eine Modulzahl von 1 und der dicke Strich ein Modulzahlverhältnis zum dünnen Strich von 2,5 aufweist.
  • Der Moduländerungsrechner 36 gibt den Quotienten (12,6) der Division (50,5/4) der Modulzahlsumme (50,5) durch die Differenz (18 – 14 = 4) zwischen den Scananfangs- und -endscanzeitenzählungen 62 (14) und 63 (18) als Moduländerung aus.
  • Der identische Strichrechner 41 in der Synthetisiereinheit 4 empfängt die Strichadressänderungsausgabe (2) vom Strichadressänderungsrechner 35 und die Moduländerungsausgabe (12,6) vom Moduländerungsrechner 36 und berechnet identische Striche als Synthesepositionen, die in zwei benachbarten Scanfragmentpulsbreite-Datenfolgen überlagert werden sollen. Mit den beiden benachbarten Scanfragmentpulsbreite-Datenfolgen der Scanlinien 53 und 54 erhält der Identischstrichrechner 41 zum Beispiel zuerst einen schwarzen Strich 68, der um den Moduländerungsbetrag (12,6) von der Scananfang-Schwarzstrichanfangsposition 64 auf der Scanlinie 53 beabstandet ist. Der Identischstrichrechner 41 erhält dann einen Strich, der um den Adressänderungsbetrag (2) von einer Position 69 der gleichen Adresse als Scananfangs-Schwarzstrichanfangsposition 64 in der Fragmentpulsbreite-Datenfolge in der Scanlinie 54 beabstandet ist. Dieser Strich ist mit dem schwarzen Strich 68 in der Fragmentpulsbreite-Datenfolge der Scanlinie 53, wie sie aus der Moduländerung erhalten wurde, identisch. Das bedeutet, dass identische Striche in zwei benachbarten Scanfragmentpulsbreite-Datenfolgen der Scanlinien 53 und 54 als Syntheseposition erhalten werden.
  • Mit den beiden benachbarten Scanfragmentpulsbreite-Datenfolgen der Scanlinien 54 und 55 erhält der identische Strichrechner 41 zuerst einen Strich, der um den Moduländerungsbetrag (12,6) von der Position 70 der Scanlinie 54 beabstandet ist. Der identische Strichrechner 41 erhält dann einen Strich bei einer Position, die um den Adressänderungsbetrag (2) von einer Position der gleichen Adresse wie die Position 70 in der Fragmentpulsbreite-Datenfolge der Scanlinie 54 beabstandet ist. Dieser Strich ist mit dem Strich in der Fragmentpulsbreite-Datenfolge, wie sie aus der Moduländerung erhalten wurde, identisch.
  • Das ist so, weil, wie aus der gestrichelten Linie 71 in 3 ersichtlich ist, ein vollständiger Strichkode zwischen der Scananfang-Schwarzstrichanfangsposition 64 und der Scanende-Schwarzstrichendposition 67 enthalten ist und die individuellen Scanlinien die Gesamtmodulzahl, die den Strichkode darstellt, einheitlich teilen. Die Modulzahl ist unabhängig von dem Schnittwinkel 72 zwischen den Scanlinien und der Strichkodemarkierung. Daher ist die identische Strichberechnung bei einem jeglichem Schnittwinkel außer bei 90 Grad möglich. Üblicherweise liegt der Schnittwinkel im Bereich von 0 bis etwa 50 Grad.
  • Die Synthetisiereinheit 42 empfängt die Ausgabe des Identischstrichrechners 41 und synthetisiert die vollständige Strichkodedatenfolge aus den Fragmentpulsbreite-Datenfolgen, die vom Moment des Anfangs bis zum Moment des Endes des Fragmentstrichkodescannens erhalten werden.
  • Wie im Obigen beschrieben wurde, wird gemäß der Erfindung ein vollständiger Strichkode wiederhergestellt, indem Synthesepositionen in Fragmentpulsbreite-Datenfolgen ohne Fragmentpulsbreite-Datenfolgenvergleich durch Datenstückverschiebung, sondern aus Strichadress- und Moduländerungen direkt erhalten werden. Daher können selbst im Fall des Scannens einer Strichkodemarkierung, die aufeinanderfolgende Zahlen oder Zeichen enthält oder sich auf einem niedrigen Höhenniveau befindet, korrekte Syntheseposition erhalten werden. Es ist daher möglich, einen Strichkodeleser mit hoher Leistung zu realisieren.
  • In dem Fall, dass das Anfangs- oder Endzeichen zwei aufeinanderfolgende Male gescannt wird, stellt die Differenz zwischen den Scanstrahlwinkelzählungen 60 bezogen auf den schwarzen Strich, der dem Strichkodeanfang in den beiden Scanzeiten entspricht, eine Abweichung zwischen den beiden Fragmentpulsbreite-Datenfolgen dar, aus denen der vollständige Strichkode synthetisiert werden soll. Daher ist ein Syntheseschema basierend auf dieser Differenz möglich. Gemäß diesem Schema ist es jedoch unmöglich, eine Strichkodemarkierung zu lesen, die sich auf einem niedrigen Höhenniveau befindet oder auf einem Hochgeschwindigkeitsförderer gefördert wird, weil es notwendig ist, das Anfangs- oder Endzeichen zwei aufeinanderfolgende Male zu scannen.
  • Gemäß der Erfindung muss das Anfangs- oder Endzeichen nur einmal gescannt werden, und daher ist es möglich, einen Hochleistungsstrichkodeleser zu realisieren, der sogar eine Strichkodemarkierung lesen kann, die sich auf einem niedrigen Höhenniveau befindet oder auf einem Hochgeschwindigkeitsförderer gefördert wird.

Claims (6)

  1. Strichkodeleser, umfassend: eine Fragmentpulsbreite-Datenfolgeextraktionseinheit (3) zum Scannen einer Strichkodemarkierung auf einem sich bewegenden Artikel mit einem Scanstrahl, der auf die Markierung projiziert wird, Empfangen der Reflexion des Scanstrahls, Umwandeln des empfangenen Strahls in ein elektrisches Signal und Extrahieren lediglich von Pulsbreitedatenfolgen, die schwarzen und weißen Strichen entsprechen, die einen Strichkode darstellen, auf Basis der Pulsbreite des elektrischen Signals als Fragmentpulsbreite-Datenfolgen; eine Synthetisiereinheit (4) zum Synthetisieren einer vollständigen Strichkodepulsbreite-Datenfolge, die aus den Fragmentpulsbreite-Datenfolgen auf Basis von Scanpositionsdaten synthetisiert wird, die einzelnen Pulsbreitendatenstücken in den Datenfolgen entsprechen, und Ausgeben der erhaltenen vollständigen Strichkodepulsbreite-Datenfolge; eine Dekodiereinheit (5) zum Umwandeln der vollständigen Strichkodepulsbreite-Datenfolge von der Synthetisiereinheit in Zahlen, Zeichen etc.; und eine Ausgabeeinheit (6) zum Ausgeben des Ergebnisses der Umwandlung an eine externe Vorrichtung, dadurch gekennzeichnet, dass die Fragmentpulsbreite-Datenfolgeextraktionseinheit (3) eine Fragmentpulsbreite-Datenfolgeextraktionseinrichtung (31) zum Extrahieren nur von Fragmentpulsbreite-Datenfolgen, die erhalten werden, während der Strichkode fragmentarisch gescannt wird, einen Scananfangsdetektor (32) zum Erkennen des Anfangs des Scannens des Strichkodes, einen Scanenddetektor (33) zum Erkennen des Endes des Scannens des Strichkodes, einen Scanzeiten/Strichadresserzeuger (34) zum Ausgeben von Scanzeitzähldaten vom Moment des Anfangs bis zum Moment des Endes des Scannens und auch zum Ausgeben von Scanstrahlwinkelzähldaten, die schwarzen und weißen Strichanfangspositionen in Fragmentpulsbreite-Datenfolgen entsprechen, die den Strichkode darstellen, einen Strichadressänderungsrechner (35) zum Berechnen von Strichadressänderungen in einem Scan zu Anfang und Ende des Scannens und einen Moduländerungsrechner (36) zum Berechnen einer Änderung in einem Scan in der Summe der Modulzahlen der schwarzen und weißen Zahlen, die den Strichkode darstellen, umfasst.
  2. Strichkodeleser nach Anspruch 1, wobei die vollständige Strichkodepulsbreite-Datenfolgesynthese auf Basis der Scanpositionsdaten dazu dient, Synthesepositionen in zwei benachbarten Scanfragmentpulsbreite-Datenfolgen zu erhalten und eine vollständige Strichkodepulsbreite-Datenfolge von einem Anfangszeichen zu einem Endzeichen auszugeben, indem die Syntheseposition überlappt werden.
  3. Strichkodeleser nach Anspruch 1, wobei von den Fragmentpulsbreite-Datenfolgen, die durch das Scannen des Strichkodes mit dem Scanstrahl erhalten wurden, diejenigen mit weniger Datenmenge als eine vorbestimmte Datenmenge verworfen werden, ohne als Basis der Synthese verwendet zu werden.
  4. Strichkodeleser nach Anspruch 1, wobei die Scanpositionsdaten auf Basis von Scanstrahlprojektionszeiten bestimmt werden.
  5. Strichkodeleser nach Anspruch 1, wobei die Synthetisiereinheit die vollständige Strichkodepulsbreite-Datenfolge durch Erhalten der Synthesepositionen in den Fragmentpulsbreitedatenfolgen aus den Strichadressänderungen und Moduländerungen synthetisiert.
  6. Strichkodeleser nach Anspruch 1, umfassend: eine Scaneinheit (1) zum fragmentarischen Scannen eines Strichkodes auf einer Strichkodemarkierung an einem Artikel, der auf einem Förderer oder dergleichen bewegt wird, wobei von einem Scanfenster ein Scanstrahl auf die Strichkodemarkierung projiziert wird.; eine Lichtempfangseinheit (2) zum Empfangen des reflektierten Lichts des Scanstrahls und Umwandeln desselben in ein elektrisches Signal; die Fragmentpulsbreite-Datenfolgeextraktionseinheit (3) zum Messen der Pulsbreite des elektrischen Signals und Extrahieren nur von Pulsbreitedatenfolgen, die schwarzen und weißen Strichen entsprechen, die den Strichkode als Fragmentpulsbreitedatenfolgen darstellen; die Synthetisiereinheit (4) zum Synthetisieren einer Fragmentpulsbreitedatenfolge, die von der Fragmentpulsbreite-Datenfolgeextraktionseinheit extrahiert wird, und zum Ausgeben der synthetisierten Folge als vollständige Strichkodepulsbreite-Datenfolge; wobei die Scaneinheit einen Scanzeitenzähler (12) zum Hochzählen direkt vor der Projektion des Scanstrahls aus dem Scanfenster und einen Scanstrahlwinkelzähler (13) umfasst, der direkt vor der Projektion des Scanstrahls vom Scanfenster gelöscht wird und hochzählt, wenn eine vorbestimmte Zeitdauer verstrichen ist; wobei die Fragmentpulsbreite-Datenfolgeextraktionseinheit (3) den Scananfangsdetektor (32) zum Empfangen der Fragmentpulsbreite-Datenfolgen von der Fragmentbreite-Datenfolgeextraktionseinheit (3), Erkennen des letzten Scans des Strichkodes durch den Scanstrahl, um die Scanzeitzählung zu diesem Moment als Scanende-Scanzeitzählung auszugeben, während auch die Scanstrahlwinkelzählung bereitgestellt wird, die der Endposition des schwarzen Strichs in der Fragmentpulsbreite-Datenfolge entspricht, die das Strichkodeende anzeigt, den Scanzeiten/Strichadresserzeuger (34) zum Ausgeben von Scanzeitzähldaten vom Moment des Anfangs des Fragmentstrichkodescannens durch den Scananfangsdetektor (32) bis zum Moment der Erkennung des Endes des Fragmentstrichkodescannens durch den Scanenddetektor (33), während auch Scanstrahlwinkelzählungen ausgegeben werden, die schwarzen und weißen Strichanfangsposition in den Fragmentpulsbreite-Datenfolgen entsprechen, die den Strichkode als Strichadressen darstellen, den Strichadressänderungsrechner (35) zum Ausgeben des Quotienten der Division der Differenz zwischen den Scananfangs- und -endadressen der schwarzen Striche durch die Differenz zwischen den Scananfangs- und -endscanzeitzählungen als Strichadressänderung und den Moduländerungsrechner (36) zum Ausgeben des Quotienten der Division der Summe der Modulzahlen der schwarzen und weißen Striche, die den Strichkode darstellen, durch die Differenz zwischen den Scananfangs- und -endscanzeitzählungen umfasst; wobei die Synthetisiereinheit (4) einen identischen Strichrechner (41) zum Bestimmen eines Strichs, der in einer Fragmentpulsbreite-Datenfolge, die von der Fragmentpulsbreite-Datenfolgeextraktionseinrichtung (31) durch kontinuierliches Scannen des Strichkodes durch den Scanstrahl erhalten wird und an einer Adresse liegt, die um die Strichadressänderung von der schwarzen Scananfangsstrichadresse beabstandet ist, und eines Strichs, der an einer Position liegt, die von der Position eines schwarzen Strichs, die der schwarzen Scananfangsstrichadresse entspricht, um die Moduländerung beabstandet ist, um miteinander identisch zu sein, und zum Ausgeben von Daten, die den identischen Strich wiedergeben, und einen Synthetisierer (42) zum Empfangen der Ausgabe des Identischstrichrechners (41) vom Moment der Erkennung des Fragmentstrichkode-Scananfangs durch den Scananfangsdetektor (32) bis zum Ende der Erkennung des Fragmentstrichkode-Scanendes durch den Scanenddetektor (33) und zum Synthetisieren der vollständigen Strichkode-Datenfolge aus den Fragmentpulsbreite-Datenfolgen umfasst.
DE69734185T 1996-11-01 1997-11-01 Strichkodeleser Expired - Lifetime DE69734185T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP30728296 1996-11-01
JP8307282A JP2760351B2 (ja) 1996-11-01 1996-11-01 バーコード読取装置

Publications (2)

Publication Number Publication Date
DE69734185D1 DE69734185D1 (de) 2005-10-20
DE69734185T2 true DE69734185T2 (de) 2006-06-22

Family

ID=17967259

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69734185T Expired - Lifetime DE69734185T2 (de) 1996-11-01 1997-11-01 Strichkodeleser

Country Status (7)

Country Link
US (1) US5988507A (de)
EP (1) EP0840249B1 (de)
JP (1) JP2760351B2 (de)
KR (1) KR100286729B1 (de)
AU (1) AU726678B2 (de)
CA (1) CA2219873C (de)
DE (1) DE69734185T2 (de)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002042053A (ja) * 2000-07-21 2002-02-08 Fujitsu Ltd バーコードスキャナ
JP2005300518A (ja) * 2004-03-17 2005-10-27 Optex Fa Co Ltd 情報パターン判別装置
US11850417B2 (en) 2016-12-15 2023-12-26 Cochlear Limited Feedthrough placement

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS599946A (ja) * 1982-07-09 1984-01-19 Toshiba Corp 金属封止型半導体装置のキヤツプ構造
US5028772A (en) * 1988-08-26 1991-07-02 Accu-Sort Systems, Inc. Scanner to combine partial fragments of a complete code
US5241164A (en) * 1990-01-05 1993-08-31 Symbol Technologies, Inc. Method of decoding bar code symbols from partial scans
JPH0415774A (ja) * 1990-05-02 1992-01-21 Eastman Kodak Japan Kk バーコードリーダ
US5296691A (en) * 1992-09-14 1994-03-22 Lazerdata Corporation Scanning device for reconstructing a complete code from scanned segments
GB2291524B (en) * 1994-07-21 1997-01-29 Fujitsu Ltd Reading bar codes
JPH09161001A (ja) * 1995-12-05 1997-06-20 Fujitsu Ltd バーコード読取装置

Also Published As

Publication number Publication date
JPH10134137A (ja) 1998-05-22
AU726678B2 (en) 2000-11-16
US5988507A (en) 1999-11-23
EP0840249A2 (de) 1998-05-06
DE69734185D1 (de) 2005-10-20
JP2760351B2 (ja) 1998-05-28
KR19980042021A (ko) 1998-08-17
KR100286729B1 (ko) 2001-04-16
CA2219873A1 (en) 1998-05-01
CA2219873C (en) 2001-04-03
EP0840249B1 (de) 2005-09-14
EP0840249A3 (de) 2001-01-10
AU4366197A (en) 1998-05-07

Similar Documents

Publication Publication Date Title
DE3101827C2 (de) Optisches Strichcode-Lesegerät
DE2914509C2 (de)
DE2616753C3 (de) Vorrichtung zum Lesen von strichkodierten Informationen
DE2228526C3 (de) Verfahren und Anordnung zum Lesen und Decodieren von Strichmarken-Gruppen, die Daten in codierter Form darstellen
DE2632206C2 (de) Lesevorrichtung
DE2801536C2 (de) Zeichenformkodiervorrichtung
DE2654765C3 (de) Einrichtung zum Dekodieren von Daten, die in einer vorgegebenen Anzahl abwechselnd aufeinanderfolgender Striche und Leerfelder von verschiedenen Breiten kodiert sind
DE19547812C2 (de) Lesegerät für Schriftzeichenketten
DE2216013A1 (de) Verfahren und Gerät zum optischen Lesen eines Binärkodes
DE19960555A1 (de) Verfahren zum Auffinden und Lesen eines zweidimensionalen Strichcodes
DE2354723A1 (de) Verfahren und vorrichtung zum identifizieren von objekten
DE2524495A1 (de) Prozessor zum auswaehlen potentiell gueltiger codesignale
DE2126817A1 (de) Verfahren und Anordnung zur auto matischen Zeichenerkennung
DE2540101A1 (de) Automatisches zeichenerkennungs- system
DE2702452A1 (de) Erkennungseinrichtung
DE3306088A1 (de) Verfahren und einrichtung zum lesen eines balkencodes
DE2125019C3 (de) Verfahren zum maschinellen Lesen und Erkennen von auf Informationsträgern dargestellter Information und Vorrichtung zur Durchführung des Verfahrens
DE10211779A1 (de) Optoelektronische Vorrichtung
DE69734185T2 (de) Strichkodeleser
DE60028116T2 (de) Verfahren zum Dekodieren von Strichcodes
DE2826175A1 (de) Verfahren und vorrichtung zur umwandlung von strichkodesignalen
DE2302442A1 (de) Verfahren und vorrichtung zum lesen von ziffern
DE69732508T2 (de) Laser-Strichcodeleser für einen Brennstab in einem Siedewasserkernreaktor
DE2301061A1 (de) Verfahren und vorrichtung zur pruefung der richtigkeit einer information waehrend einer optischen ablesung von datentraegern
EP0767441B1 (de) Verfahren und Vorrichtung zum Lesen eines Strichkodes

Legal Events

Date Code Title Description
8364 No opposition during term of opposition