DE69233268T2 - Gerät und Verfahren zur Streifenkodelesung - Google Patents

Gerät und Verfahren zur Streifenkodelesung Download PDF

Info

Publication number
DE69233268T2
DE69233268T2 DE69233268T DE69233268T DE69233268T2 DE 69233268 T2 DE69233268 T2 DE 69233268T2 DE 69233268 T DE69233268 T DE 69233268T DE 69233268 T DE69233268 T DE 69233268T DE 69233268 T2 DE69233268 T2 DE 69233268T2
Authority
DE
Germany
Prior art keywords
data
bar code
read
characters
sets
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
DE69233268T
Other languages
English (en)
Other versions
DE69233268D1 (de
Inventor
Mitsuo Kawasaki-shi Watanabe
Hiroaki Kawasaki-shi Kawai
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from JP3037624A external-priority patent/JP2655758B2/ja
Priority claimed from JP3039755A external-priority patent/JPH0799528B2/ja
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Publication of DE69233268D1 publication Critical patent/DE69233268D1/de
Application granted granted Critical
Publication of DE69233268T2 publication Critical patent/DE69233268T2/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/01Details
    • G06K7/016Synchronisation of sensing process
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K19/00Record carriers for use with machines and with at least a part designed to carry digital markings
    • G06K19/06Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
    • G06K19/06009Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code with optically detectable marking
    • G06K19/06046Constructional details
    • G06K19/06056Constructional details the marking comprising a further embedded marking, e.g. a 1D bar code with the black bars containing a smaller sized coding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • G06K7/01Details
    • G06K7/016Synchronisation of sensing process
    • G06K7/0166Synchronisation of sensing process by means of clock-signals derived from the code marks, e.g. self-clocking 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/1408Methods for optical code recognition the method being specifically adapted for the type of code
    • G06K7/1434Barcodes with supplemental or add-on 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/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

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Toxicology (AREA)
  • General Health & Medical Sciences (AREA)
  • Electromagnetism (AREA)
  • Health & Medical Sciences (AREA)
  • Quality & Reliability (AREA)
  • Cash Registers Or Receiving Machines (AREA)
  • Printers Characterized By Their Purpose (AREA)

Description

  • Die vorliegende Erfindung betrifft eine Strichcodelesevorrichtung und ein Strichcodeleseverfahren.
  • Ein Strichcodeleser, der Produktcodes von alphanumerischen Zeichen liest, die durch Serien von benachbarten Streifen mit verschiedenen Breiten dargestellt werden, findet zum Beispiel als Terminal eines Kassen-(POS: point of sale)-Systems breite Verwendung.
  • Ein Strichcodeleser liest einen Strichcode gewöhnlich durch Scannen eines Laserstrahls über den Strichcode, Messen der Breiten der schwarzen und weißen Striche auf der Basis des reflektierten Lichtes und Konvertieren der Strichbreiten in alphanumerische Zeichen. Ein herkömmlicher Strichcodeleser hat eine niedrige Lesekapazität, da er für sogenannte Doppeletikettfehler (die später erläutert sind) empfänglich ist, die einen Lesemißerfolg verursachen. Dieser kann, wie jetzt erläutert wird, zum Beispiel bei sogenannten Zusatzstrichcodes auftreten.
  • Um die Verkaufsverwaltung durch das Erhöhen der Menge von Produktinformationen zu erleichtern, die auf einem Strichcode aufgezeichnet sind, wird in letzter Zeit ein Strichcodesystem in der Praxis eingesetzt, das einen normalen Strichcode hat (der im folgenden als Hauptteil-Strichcode bezeichnet wird), dem ein zusätzlicher Strichcode folgt (der im folgenden als Zusatzstrichcode bezeichnet wird).
  • 1(a) zeigt eine Konfiguration eines Strichcodes mit einem 2-Zeichen-Zusatzstrichcode. 2(a) ist eine Ungerade-Gerade-Paritätskonfigurationstabelle für einen 2-Zeichen-Zusatzstrichcode.
  • Ein Strichcode mit einem Zusatzstrichcode ist aus einem Hauptteil und einem Zusatzteil gebildet, wie in 1(a) gezeigt. Das Format des Hauptteils wird durch solche Codesystem-Standards wie UPC/A, UPC/E, EAN/13 und EAN/8 festgelegt. Der 1-Zeichen-Zusatzteil enthält einen speziellen linken Schutzstrich (SLGB), ein erstes Zeichen, das hier als X bezeichnet ist, einen Skizzierstrich (DB) und ein zweites Zeichen Y. X und Y sind beliebige alphanumerische Zeichen; die jeweils eine Ungerade-Gerade-Parität haben. Die Parität für die Zeichen X und Y wird, wie in 2(a) gezeigt, unter Verwendung des Restes einer 2-stelligen, durch 4 dividierten Dezimalzahl XY bestimmt, wobei X und Y die Zehner- bzw. Einerstellen sind.
  • 1(b) zeigt eine Konfiguration eines Strichcodes mit einem 5-Zeichen-Zusatzstrichcode. 2(b) ist eine Ungerade-Gerade-Paritätskonfigurationstabelle für diesen Zusatzstrichcode.
  • Der 5-Zeichen-Zusatzteil enthält, wie in 1(b) gezeigt, einen SLGB und ein Zeichen, dem 4 Paare aus einem DB und einem Zeichen folgen, wobei die Zeichen mit V, W, X, Y und Z bezeichnet sind. Die Parität für die fünf Zeichen wird, wie in 2(b) gezeigt, unter Verwendung der Einerstelle ∝ bestimmt, die durch die folgende Berechnung erhalten wird: (V + X + Z) × 3 + (W + Y) × 9.
  • 3 zeigt einen Laserstrahl, der über einen Strichcode scant.
  • Gewöhnlich scant ein Strichcodeleser des stationären Typs einen Laserstrahl mehrere Male über den Strichcode, wobei die Scanrichtung verändert wird, z. B. in den Richtungen A, B und C, wie in 3 gezeigt. Der Strichcodeleser liest den Strichcode für jede verschiedene Scanrichtung, decodiert den gelesenen Code in alphanumerische Zeichen und prüft die Zeichen auf Gültigkeit. Der decodierte Strichcode (einschließlich des Zusatzteils, falls vorhanden, der als Zusatzzeichen bezeichnet wird) wird auf der Basis der durch die obige Berechnung spezifizierte Paritätsregel und einer Tabelle wie jener von 2(a) oder 2(b) einer Paritätsprü fung unterzogen. Falls auf Grund der verschiedenen Richtungen des Scannens zwei oder mehr Sätze von Zeichen für denselben Strichcode gelesen werden, wird ein Doppeletikettfehler erkannt und das Lesen als Mißerfolg angesehen, auch wenn die Zeichen die richtige Parität haben.
  • Wenn ein Laserstrahl zum Beispiel über einen 5-Zeichen-Zusatzstrichcode in den Richtungen B und C scant, werden verschiedene Sätze von 2 bzw. 5 Zusatzzeichen für jenen einzelnen Strichcode gelesen. Beide Sätze von Zeichen können der obenerwähnten Paritätsregel entsprechen, da ein Zusatzstrichcode keinen Stoppcode oder dergleichen hat. Für die Richtung C wird ein Zusatzstrichcode gelesen, der zum Beispiel die Zeichen E3, E1, O4, O1 und O7 hat (E und O stellen die gerade (even) bzw. ungerade (odd) Parität dar). Für die Richtung B werden nur die Zeichen E3 und E1 gelesen. Die Parität für den Rest 3 von 31 dividiert durch 4 ist gemäß 2(a) eine Gerade/Gerade-Kombination, die mit der Parität übereinstimmt, die mit den gelesenen Zeichen E3 und E1 einhergeht. Selbst wenn ein Zusatzstrichcode mit richtiger Parität korrekt gelesen wird, bestimmen daher herkömmliche Strichcodeleser dies als Doppeletikettfehler, der als Lesemißerfolg behandelt wird, einfach weil zwei verschiedene Sätze von Zusatzzeichen für denselben Zusatzstrichcode gelesen werden. Dies kann, abgesehen von Zusatzstrichcodes, auch ein Problem bei anderen Strichcodetypen sein.
  • Ein Problem eines herkömmlichen Strichcodelesers liegt darin, wie oben beschrieben, daß er nicht dazu in der Lage ist, Strichcodes zu lesen, deren Länge ungewiß ist, wie beispielsweise einen Zusatzstrichcode, während ein Doppeletikettfehler vermieden wird.
  • Deshalb ist es wünschenswert, einen Strichcodeleser vorzusehen, der solche Strichcodes richtig und mit verbesserter Lesekapazität automatisch lesen kann.
  • US-A-4973829 offenbart eine Strichcodelesevorrichtung gemäß der Präambel von Anspruch 1 und ein Strichcodeleseverfahren gemäß der Präambel von Anspruch 7.
  • EP-A-0390162 offenbart eine Vorrichtung zum Lesen eines Zusatzstrichcodes auf der Basis der Detektion von Schutzstrichen des Hauptstrichcodes.
  • Gemäß einem ersten Aspekt der vorliegenden Erfindung ist eine Strichcodelesevorrichtung vorgesehen, zum vielmaligen Scannen eines einzelnen Strichcodes, Lesen einer Vielzahl von Sätzen von Daten während einer Vielzahl von Scanvorgängen und Decodieren der gelesenen Daten in Zeichen, gekennzeichnet durch: Datenprüfmittel zum Prüfen, ob eine Vielzahl von Sätzen von Daten mit verschiedener Größe von dem Strichcode gelesen worden ist; Datenvergleichsmittel zum Vergleichen der Sätze von gelesenen Daten hinsichtlich Daten in einem Maße, das durch die Größe des kleinsten Satzes von gelesenen Daten definiert ist; Paritätsvergleichsmittel zum Vergleichen der Sätze von gelesenen Daten hinsichtlich der Parität in einem Maße, das durch den kleinsten Satz von gelesenen Daten definiert ist; und Selektionsmittel zum Selektieren des Satzes von Daten, der am größten ist, in Abhängigkeit von der Prüfung und dem Vergleich durch die Datenprüfmittel, die Datenvergleichsmittel bzw. die Paritätsvergleichsmittel.
  • Gemäß einem zweiten Aspekt der vorliegenden Erfindung ist ein Strichcodeleseverfahren vorgesehen, zum vielmaligen Scannen eines einzelnen Strichcodes, Lesen einer Vielzahl von Sätzen von Daten während einer Vielzahl von Scanvorgängen und Decodieren der gelesenen Daten in Zeichen, welches Verfahren gekennzeichnet ist durch die folgenden Schritte: Prüfen, ob eine Vielzahl von Sätzen von Daten mit verschiedener Größe von dem Strichcode gelesen worden ist; Vergleichen der Sätze von gelesenen Daten hinsichtlich Daten in einem Maße, das durch die Größe des kleinsten Satzes definiert ist; Vergleichen der Sätze von gelesenen Daten hinsichtlich der Parität in einem Maße, das durch den kleinsten Satz von gelesenen Daten definiert ist; und Selektieren des größten Satzes von gelesenen Daten in Abhängigkeit von den Resultaten des Prüfschrittes und der zwei Vergleichsschritte.
  • Um Doppeletikettfehler zu vermeiden, bestimmt somit ein Strichcodeleser, der die Erfindung verkörpert, ob eine Vielzahl von Sätzen von Strichcodedaten (z. B. Zusatzzeichen) gelesen wird, die sich in der Größe unterscheiden (z. B. in der Anzahl von Zeichen), vergleicht er die Vielzahl von Sätzen von Daten auf Gleichheit sowohl hinsichtlich des Dateninhaltes als auch der Parität, Item für Item, in dem Maße der Größe (Anzahl von Zeichen) in dem kleinsten Satz, und selektiert, bei Übereinstimmung, den Satz von Daten, der der größte ist, als denjenigen, der den Strichcode darstellt.
  • Als Beispiel wird Bezug auf die beiliegenden Zeichnungen genommen, in denen:
  • 1(a) und (b) eine Konfiguration eines Strichcodes mit einem 2-Zeichen- bzw. 5-Zeichen-Zusatzstrichcode zeigen;
  • 2(a) und (b) Ungerade-Gerade-Paritätskonfigurationstabellen für einen 2-Zeichen- bzw. 5-Zeichen-Zusatzstrichcode sind;
  • 3 einen Laserstrahl zeigt, der über einen Strichcode scant;
  • 4(a) bis (c) Konfigurationen von Strichcodes zeigen, die einen Zusatzstrichcode haben gemäß:
    (a) dem UPC-System
    (b) dem UPC/A-, EAN8- oder EAN13-System bzw.
    (c) dem UPC/E-System;
  • 5 eine Beziehung zwischen einer Strichcodekonfiguration und einem Laserstrahl-Scannen zeigt;
  • 6 ein Blockdiagramm einer Strichcodelesevorrichtung ist, worauf die vorliegende Erfindung angewendet werden kann;
  • 7 eine detaillierte Schaltung eines Teils eines Strichcodedecodierers ist;
  • 8 ein Flußdiagramm ist, welches das Lesen eines Zusatzstrichcodes erläutert; und
  • 9 ein Flußdiagramm ist, das erläutert, wie die Lesekapazität durch die vorliegende Erfindung verbessert werden kann.
  • Durch die gesamten Zeichnungen hindurch werden identische Bezugszeichen verwendet, um dieselben oder ähnliche Bestandteile zu bezeichnen.
  • Zuerst wird unter Bezugnahme auf 4 bis 8 die Detektion eines Zusatzstrichcodes als Hintergrunderläuterung beschrieben. Die vorliegende Erfindung wird später unter Bezugnahme auf 9 beschrieben.
  • 4(a) zeigt eine Konfiguration eines UPC-System-Strichcodes mit einem Zusatzstrichcode.
  • Der Hauptteil-Strichcode enthält einen Rand, einen linken Schutzstrich (LGB), linke Zeichen, einen Zentralstrich (CB), rechte Zeichen, einen rechten Schutzstrich (RGB) und einen anderen Rand. Der Zusatzteil, der mit einem speziellen linken Schutzstrich (SLGB) beginnt, ist in einem vorbestimmten Abstand (oder eine Anzahl von Modulen) nach einem rechten Block (rechte Zeichen und RGB des Hauptteils) aufgezeichnet.
  • 4(b) zeigt eine Konfiguration eines UPC/A-, EAN8- oder EAN13-Strichcodes mit einem Zusatzstrichcode.
  • In diesem Fall enthält der Strichcode einen Rand, einen linken Block (LGB und linke Zeichen), einen CB, einen rechten Block (rechte Zeichen und RGB), einen anderen Rand und einen Zusatzstrichcode (SLGB und Zusatzzeichen). Es ist festgelegt, daß die Zeichen in dem rechten Block jeweils die gerade Parität und jene in dem linken Block eine Kombination aus gerader und ungerader Parität haben sollten.
  • 4(c) zeigt eine Konfiguration eines UPC/E-Strichcodes mit einem Zusatzstrichcode.
  • Der Hauptteil eines UPC/E-Strichcodes hat nur einen einzelnen Block. Der Zusatzstrichcode ist einige Module nach dem äußersten rechten Rand des Hauptteils aufgezeichnet.
  • 5 zeigt eine Beziehung zwischen einer Strichcodekonfiguration und einem Laserstrahl-Scannen.
  • Der gescante Strahl überquert einen Startschutzstrich SB, einen Zentralschutzstrich CB und einen Endschutzstrich EB, die dem LGB, CB und RGB in jener Reihenfolge entsprechen, wenn der Laserstrahl in der Richtung des Pfeils 48 gescant wird, und dem RGB, CB und LGB, wenn er in der Richtung des Pfeils 49 gescant wird.
  • Welcher der durch den Laserstrahl getroffenen Datenblöcke der rechte Block ist, verändert sich somit in Abhängigkeit von der Richtung des Laserstrahl-Scannens.
  • 6 ist ein Blockdiagramm einer Strichcodelesevorrichtung eines Typs, worauf die vorliegende Erfindung angewendet werden kann.
  • Ein Laserstrahl wird von einem Helium-Neon-(He-Ne)-Laser eingestrahlt, über einen Polygonspiegel über einen Strichcode gescant und von ihm reflektiert. Ein Laserdetektor 1 konvertiert die Intensität des reflektierten Lichtes des Laserstrahls in ein analoges elektrisches Signal. Ein Analog-Digital-Konverter (ADC) 2 empfängt das analoge Signal von dem Lichtdetektor 1 und konvertiert es in ein digitales Signal. Ein Strichbreitenzähler 3 mißt die Breite von weißen und schwarzen Strichen durch das Zählen der Anzahl von Takten, die auftreten, während das digitale Signal von dem ADC 2 entsprechend dem Strich, der schwarz oder weiß ist, "1" oder "0" ist, und gibt Breitendaten der (weißen und schwarzen) Striche auf der Basis der gemessenen Breite von weißen und schwarzen Strichen aus.
  • Ein Strichcodedecodierer 4, der Schaltungen umfaßt, wie in 2 gezeigt, detektiert den Startschutzstrich SB, den Zentralschutzstrich CB und den Endschutzstrich EB, erzeugt Zeigersignale, die den Strichcodetyp wie etwa UPC/A, UPC/E, EAN13, EAN8 angeben, und decodiert den Strichcode in alphanumerische Zeichen. Ein Datenpuffer 5 speichert die decodierten Zeichen temporär, die später zum Beispiel zu einem POS-Terminal gesendet werden. Eine Mikroprozessoreinheit (CPU) 6 führt auf Anweisung durch ein Steuerprogramm, das in einem Nur-Lese-Speicher (ROM) 7 gespeichert ist, die in dem Flußdiagramm von 8 und 9 gezeigte Verarbeitung aus.
  • Ein Schnittstellencontroller 8 steuert die Kommunikation zum Beispiel mit einem POS-Terminal, um die Daten zu senden, die von einem Strichcode gelesen wurden. Ein Universal-Controller 10 steuert eine Laserantriebsschaltung 102, die einen He-Ne-Laser antreibt, eine Motorantriebsschaltung 101, die einen Polygonspiegel rotiert, um einen scannenden Laserstrahl zu erzeugen, einen Lautsprecher oder Summer 103 und einen Anzeigemelder 104.
  • 7 ist eine detaillierte Schaltung eines Teils des Strichcodedecodierers 4.
  • Ein Startschutzstrich-Detektor (im folgenden als SB-Detektor bezeichnet) 40, ein Zentralschutzstrich-Detektor (CB-Detektor) 41 und ein Endschutzstrich-Detektor (EB-Detektor) 42 detektieren den SB, CB bzw. EB (siehe 5) und geben Detektionsdaten durch das Decodieren der Strichbrei tendaten von dem Strichbreitenzähler 3 aus. Der CB weist eine Symmetrie zwischen den linken und rechten Hälften auf, ungeachtet der Richtung des Laserstrahl-Scannens.
  • Der SB ist als Schutzstrich definiert, der einem Rand folgt, und der EB als Schutzstrich, dem ein Rand folgt. Deshalb ist, wenn ein Laserstrahl längs des Pfeils 48 gescant wird, der SB der linke Schutzstrich (LGB) und der EB der rechte Schutzstrich (RGB); wenn ein Laserstrahl längs des Pfeils 49 gescant wird, ist der SB der rechte Schutzstrich (RGB) und der EB der linke Schutzstrich (LGB). Somit können der SB, CB und EB auf der Basis der Strichbreitendaten von dem Strichbreitenzähler 3 in 7 detektiert werden.
  • Ein Schieberegister 43a nimmt Detektionsdaten von dem SB-Detektor 40 auf und verschiebt sie synchron mit einem Schiebetakt nach rechts, und zwar ab der Zeit, wenn der SB-Detektor 40 den SB detektiert. Ähnlich nimmt ein Schieberegister 43b Detektionsdaten von dem CB-Detektor 41 auf und verschiebt sie ab der Zeit, wenn der CB-Detektor 41 den CB detektiert, nach rechts.
  • UND-Gatter 44 bis 47b geben Zeigersignale S1 bis S6 jeweilig durch logische UND-Verknüpfung jedes der Signale SB1 bis SB4, CB0 bis CB3 und EB0 aus. Die Signale CB0 und EB0 werden aktiv, wenn der CB-Detektor 41 und der EB-Detektor 42 den CB bzw. EB in den Strichbreitendaten von dem Strichbreitenzähler 3 detektieren. Die Signale SB1 bis SB4 werden aktiv, wenn die Detektionsdaten des durch den SB-Detektor 40 eingegebenen SB an jeweilige Positionen derselben in dem Schieberegister 43a verschoben werden. Die Signale CB1 bis CB3 werden aktiv, wenn die Detektionsdaten des durch den CB-Detektor 41 eingegebenen CB an jeweilige Positionen derselben in dem Schieberegister 43b verschoben werden.
  • Die Zeigersignale S1 bis S6 werden wie folgt erzeugt:
    • (1) Wenn der SB durch den SB-Detektor 40 detektiert wird, startet das Schieberegister 43a das Verschieben der Detektionsdaten des SB;
    • (2) Wenn der CB durch den CB-Detektor 41 detektiert wird, startet das Schieberegister 43b das Verschieben der Detektionsdaten des CB;
    • (3) Wenn der CB detektiert wird, wird entweder das S4 (ein UND von CB0 und SB4) oder das S3 (ein UND von CB0 und SB3) aktiv, in Abhängigkeit davon, welches von dem SB4 und SB3 aktiv ist, d. h., in Abhängigkeit davon, wie weit die Detektionsdaten des SB verschoben werden, das heißt, ob der Hauptstrichcode jeweilig 4 oder 6 Zeichen zwischen dem SB und dem CB enthält;
    • (4) Wenn der EB durch den EB-Detektor 42 detektiert wird, wird entweder das S2 (ein UND von EB0, CB2 und SB2) oder das S1 (ein UND von EB0, CB1 und SB1) aktiv, in Abhängigkeit davon, ob der Hauptstrichcode jeweilig 8 oder 12 Zeichen zwischen dem SB und dem EB enthält. Ähnlich wird entweder das S6 (ein UND von EB0 und CB3) oder das S5 (ein UND von EB0 und CB1) aktiv, in Abhängigkeit davon, ob der Hauptstrichcode jeweilig 4 oder 6 Zeichen zwischen dem CB und dem EB enthält.
  • Somit werden Zeigersignale S1 bis S6 in Abhängigkeit von dem Strichcodesystem erzeugt, das in Gebrauch ist (UPC/A, ENA8-Zeichen, ENA13-Zeichen und UPC/E). Diese Zeigersignale S1 bis S6 werden verwendet, um einen Zusatzstrichcode zu detektieren, der dem Hauptteil-Strichcode folgt, wie unten beschrieben.
  • 8 ist ein Flußdiagramm, das erläutert, wie ein Zusatzstrichcode gelesen wird.
  • In 8 führt der Strichcodedecodierer 4 die folgenden Operationen aus:
    • (1) Decodieren des Hauptteil-Strichcodes. Das heißt, der Strichcodedecodierer 4 erkennt einen Block des Hauptteil-Strichcodes (siehe 4(a)) auf der Basis der Zeigersignale S1 bis S6 und konvertiert den Strichcode in alphanumerische Zeichen;
    • (2) Bestimmen, ob ein Flag "Zusatz lesen" ein ist. Das Flag wird durch einen Bediener unter Verwendung einer auf dem Strichcodeleser vorgesehen Taste (nicht gezeigt) gesetzt, wenn ein Zusatzstrichcode gelesen werden soll. Wenn das Flag nicht ein ist, geht die Verarbeitung zu Schritt 7 über, ohne einen Zusatzstrichcode zu lesen;
    • (3) Wenn das Flag ein ist, Bestimmen, ob der betreffende Block ein rechter (rechtsseitiger) Block ist, indem geprüft wird, ob alle Zeichen innerhalb des Blocks gerade sind. Es ist festgelegt, daß alle Zeichen, die in dem rechten Block enthalten sind, eine gerade Parität haben sollten. Ein Zeichen muß laut Definition eine gerade Parität haben, wenn die Anzahl von Modulen, die die schwarzen Striche innerhalb des Zeichens bilden, gerade ist;
    • (4) Decodieren des Zusatzstrichcodes. Das heißt, wenn der betreffende Block ein rechter Block ist (ja) oder das UPC/E-Codesystem verwendet wird (siehe Schritt (6)), erkennt der Strichcodedecodierer 4 einen Strichcode, der eine vorbestimmte Anzahl (7 bis 10) von Modulen nach dem rechten Block auftritt, als Zusatzstrichcode und decodiert den Zusatzstrichcode in Zeichen;
    • (5) Setzen eines Flags "Zusatz vorhanden", das angibt, daß ein Zusatzstrichcode decodiert worden ist;
    • (6) Wenn nicht alle Zeichen in dem Block gerade sind (nein), bestimmt der Decodierer 4 auf der Basis der Zeigersignale S1 bis S6, ob das verwendete Codesystem das UPC/E ist, das nur einen einzelnen Block (ohne einen rechten Block) hat. Wenn der UPC/E-Code verwendet wird (ja), geht die Verarbeitung zu Schritt (4) über; anderenfalls (nein), d. h., wenn der Block ein rechter Block ist, zu Schritt (7));
    • (7) Bestimmen, ob das Flag "Zusatz vorhanden" auf ein gesetzt ist;
    • (8) Wenn das Flag ein ist (ja), speichert der Decodierer 4 die Hauptteil- und Zusatzzeichen in dem Datenpuffer 5;
    • (9) Prüfen der Hauptteilzeichen auf Gültigkeit;
    • (10) Bei Ungültigkeit (nein), ist das Lesen ein Mißerfolg;
    • (11) Wenn die Hauptteilzeichen gültig sind (ja), prüft der Decodierer 4 die Zusatzzeichen auf Parität. Wenn ein Fehler detektiert wird (nein), ist das Lesen ein Mißerfolg; anderenfalls (ja) ein Erfolg;
    • (12) Wenn das Flag "Zusatz vorhanden" nicht ein ist (nein), speichert der Decodierer 4 die Hauptteilzeichen in dem Datenpuffer 5;
    • (13) Prüfen der Hauptteilzeichen auf Gültigkeit. Wenn ein Fehler detektiert wird (nein), ist das Lesen ein Mißerfolg; anderenfalls (ja) ein Erfolg.
  • Wie oben beschrieben, kann eine Strichcodelesevorrichtung einen Hauptteil-Strichcode lesen und den rechten Block in den Hauptteilzeichen detektieren. Sie kann einen Zusatzstrichcode eine vorbestimmte Anzahl von Modulen nach dem rechten Block detektieren, den Zusatzstrichcode lesen und die Zusatzzeichen auf Gültigkeit prüfen. Somit kann der Zusatzstrichcode genauso wie ein normaler Strichcode, der keinen Zusatzstrichcode hat, automatisch und richtig gelesen werden.
  • Unter Bezugnahme auf 9 wird nun eine Ausführungsform der vorliegenden Erfindung beschrieben, durch die ein Doppeletikettfehler beim Lesen von Strichcodes vermieden werden kann.
  • Wie in dem Flußdiagramm von 9 gezeigt, läuft ein Beispiel für das Verfahren der Erfindung wie folgt ab:
    • (1) Ein Strichcode, der einen Zusatzteil hat, wird mit einem Laserstrahl bei einer einzelnen Leseoperation in zwei Richtungen (in 3 zum Beispiel C und B) gescant und sukzessive in einen Satz von Hauptteil- und Zusatzzeichen für jeden Scanvorgang decodiert. Die zwei (ersten und zweiten) Sätze der Hauptteil- und Zusatzzeichen werden jeweils auf Parität geprüft;
    • (2) Wenn nicht beide Sätze der Hauptteilzeichen miteinander übereinstimmen oder jeweils einen von linken und rechten Blöcken haben, deren Zeichen die richtige Parität haben, ist das Lesen ein Mißerfolg;
    • (3) Wenn nicht beide Sätze der Zusatzzeichen eine richtige Ungerade-Gerade-Paritätskonfiguration haben, die in 2(a) und 2(b) gezeigt ist, ist das Lesen ein Mißerfolg;
    • (4) Wenn beide Sätze der Zusatzzeichen die richtige Parität haben und miteinander übereinstimmen, ist das Lesen ein Erfolg;
    • (5) Falls beide (die ersten und zweiten) Sätze der Zusatzzeichen jeweils zwei Zeichen enthalten, ist das Lesen ein Mißerfolg;
    • (6) Falls beide Sätze der Zusatzzeichen jeweils fünf Zeichen enthalten, ist das Lesen ein Mißerfolg;
    • (7) Wenn nicht beide Sätze der Zusatzzeichen, und zwar der erste Satz mit 2 Zeichen und der zweite mit 5 Zeichen, in der Ungerade-Gerade-Paritätskonfiguration für die ersten zwei Zeichen miteinander übereinstimmen, ist das Lesen ein Mißerfolg;
    • (8) Wenn nicht beide Sätze der Zusatzzeichen, und zwar der erste Satz mit 2 Zeichen und der zweite mit 5 Zeichen, im Zeichencode für die ersten zwei Zeichen miteinander übereinstimmen, ist das Lesen ein Mißerfolg; anderenfalls ist das Lesen ein Erfolg, und der Satz, der fünf Zusatzzeichen hat, wird als Strichcode genommen.
  • Bei dem obigen Beispiel werden solche Operationen wie das Bestimmen, die Paritätsprüfung und das Vergleichen an decodierten Zeichen ausgeführt. Alternativ können die obigen Operationen statt dessen an nichtdecodierten Strichbreitendaten ausgeführt werden.
  • Wenn ein Doppeletikettfehler auftritt, der durch ein Laserstrahl-Scannen in verschiedenen Richtungen verursacht wird und den herkömmliche Strichcodeleser als Lesemißerfolg ansehen, ermöglicht ein Strichcodeleser, der die vorliegende Erfindung verkörpert, das Vergleichen einer Vielzahl von gelesenen Sätzen von Zusatzzeichen hinsichtlich der Ungerade-Gerade-Paritätskonfiguration und des Zeichencodes für die ersten paar Zeichen. Wenn sie übereinstimmen, nimmt er denjenigen Satz von Zusatzzeichen als Strichcode, der die größere oder größte Anzahl von Zeichen hat, wodurch die meisten Doppeletikettfehler vermieden werden und die Leseka pazität erhöht wird. Dieses Verfahren zum Vermeiden von Doppeletikettfehlern ist nicht unbedingt auf Zusatzstrichcodes begrenzt: es könnte für andere Strichcodes verwendet werden, deren Länge (Anzahl von Modulen oder Zeichen) ungewiß ist.
  • Obwohl die obige Beschreibung die Detektion von "schwarzen" und "weißen" Strichen in einem Strichcode betrifft, versteht sich, daß nicht alle Strichcodes tatsächlich schwarz und weiß sind deshalb sind die Ausdrücke "schwarz" und "weiß" in der Beschreibung und den Ansprüchen so aufzufassen, daß sie beliebige Farben enthalten, die hinsichtlich eines gescanten Laserstrahls jeweilig relativ absorbierend oder relativ reflektierend sind.

Claims (7)

  1. Strichcodelesevorrichtung zum vielmaligen Scannen eines einzelnen Strichcodes, Lesen einer Vielzahl von Sätzen von Daten während einer Vielzahl von Scanvorgängen und Decodieren der gelesenen Daten in Zeichen, gekennzeichnet durch: Datenprüfmittel (4, 6) zum Prüfen, ob eine Vielzahl von Sätzen von Daten mit verschiedener Größe von dem Strichcode gelesen worden ist; Datenvergleichsmittel (4, 6) zum Vergleichen der Sätze von gelesenen Daten hinsichtlich Daten in einem Maße, das durch die Größe des kleinsten Satzes von gelesenen Daten definiert ist Paritätsvergleichsmittel (4, 6) zum Vergleichen der Sätze von gelesenen Daten hinsichtlich der Parität in einem Maße, das durch den kleinsten Satz von gelesenen Daten definiert ist und Selektionsmittel (4, 6) zum Selektieren des Satzes von Daten, der am größten ist, in Abhängigkeit von der Prüfung und dem Vergleich durch die Datenprüfmittel, die Datenvergleichsmittel bzw. die Paritätsvergleichsmittel.
  2. Strichcodelesevorrichtung nach Anspruch 1, bei der die gelesenen Daten die Form von Strichbreiten-Daten haben und die Größe von jedem Satz von Daten eine Anzahl von Modulen ist.
  3. Strichcodelesevorrichtung nach Anspruch 1, bei der die gelesenen Daten die Form von Zeichen haben, die aus Strichbreiten-Daten decodiert wurden, und die Größe von jedem Satz von Daten die Anzahl von Zeichen in ihm ist.
  4. Strichcodelesevorrichtung nach Anspruch 3, bei der die Datenvergleichsmittel (4, 6) und die Paritätsvergleichsmittel (4, 6) die Sätze von gelesenen Daten auf Gleichheit des Zeichencodes bzw. Gleichheit der Parität vergleichen, Zeichen für Zeichen, für die Anzahl von Zeichen in dem kleinsten Satz.
  5. Strichcodelesevorrichtung nach irgendeinem der Ansprüche 1 bis 4, bei der der Strichcode ein Zusatz-Strichcode ist, der zusätzlich zu einem Hauptteil-Strichcode vorgesehen ist.
  6. Strichcodelesevorrichtung nach den Ansprüchen 4 und 5 in Kombination, ferner mit einem ersten Hauptteil-Prüfmittel zur Paritätsprüfung von gelesenen Zeichen in dem Hauptteil-Strichcode und einem zweiten Hauptteil-Prüfmittel zum Prüfen, ob eine Vielzahl von Sätzen mit verschiedenen Anzahlen von Hauptteil-Zeichen gelesen worden ist, bei der die Selektionsmittel auch auf die Resultate der Prüfung durch die ersten und zweiten Hauptteil-Prüfmittel reagieren.
  7. Strichcodeleseverfahren zum vielmaligen Scannen eines einzelnen Strichcodes, Lesen einer Vielzahl von Sätzen von Daten während einer Vielzahl von Scanvorgängen und Decodieren der gelesenen Daten in Zeichen, welches Verfahren gekennzeichnet ist durch die folgenden Schritte: Prüfen, ob eine Vielzahl von Sätzen von Daten mit verschiedener Größe von dem Strichcode gelesen worden ist Vergleichen der Sätze von gelesenen Daten hinsichtlich Daten in einem Maße, das durch die Größe des kleinsten Satzes definiert ist; Vergleichen der Sätze von gelesenen Daten hinsichtlich der Parität in einem Maße, das durch den kleinsten Satz von gelesenen Daten definiert ist; und Selektieren des größten Satzes von gelesenen Daten in Abhängigkeit von den Resultaten des Prüfschrittes und der zwei Vergleichsschritte.
DE69233268T 1991-03-04 1992-02-28 Gerät und Verfahren zur Streifenkodelesung Expired - Lifetime DE69233268T2 (de)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP3037624A JP2655758B2 (ja) 1991-03-04 1991-03-04 バーコードリーダおよびバーコード読取方法
JP3762491 1991-03-04
JP3975591 1991-03-06
JP3039755A JPH0799528B2 (ja) 1991-03-06 1991-03-06 アドオンバーコード読取装置

Publications (2)

Publication Number Publication Date
DE69233268D1 DE69233268D1 (de) 2004-01-22
DE69233268T2 true DE69233268T2 (de) 2004-06-24

Family

ID=26376759

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69233268T Expired - Lifetime DE69233268T2 (de) 1991-03-04 1992-02-28 Gerät und Verfahren zur Streifenkodelesung

Country Status (3)

Country Link
US (1) US5686715A (de)
EP (2) EP0502440B1 (de)
DE (1) DE69233268T2 (de)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3077616B2 (ja) * 1997-01-31 2000-08-14 富士通株式会社 バーコード読取方法
US7387253B1 (en) 1996-09-03 2008-06-17 Hand Held Products, Inc. Optical reader system comprising local host processor and optical reader
GB2291524B (en) * 1994-07-21 1997-01-29 Fujitsu Ltd Reading bar codes
JPH0981711A (ja) * 1995-09-20 1997-03-28 Olympus Optical Co Ltd 情報記録媒体、情報再生システム、及び情報記録システム
JPH09179927A (ja) 1995-12-26 1997-07-11 Fujitsu Ltd バーコード読取装置
JPH10134130A (ja) * 1996-10-28 1998-05-22 Fujitsu Ltd バーコード読取方法およびバーコード読取装置
JPH1153465A (ja) * 1997-08-08 1999-02-26 Fujitsu Ltd バーコード読取装置
JP3576356B2 (ja) 1997-08-08 2004-10-13 富士通株式会社 バーコード読取装置,バーコード読取方法,及びコンピュータ可読媒体
US6158660A (en) * 1999-02-25 2000-12-12 Ncr Corporation Methods and apparatus for supplemental barcode detection and decoding
JP3542971B2 (ja) * 2001-03-02 2004-07-14 Necインフロンティア株式会社 バーコード読み取り方法及びバーコード読み取り装置並びにプログラム
US7108170B2 (en) * 2001-06-08 2006-09-19 Psc Scanning, Inc. Add-on capture rate in a barcode scanning system
US6729603B1 (en) * 2001-06-08 2004-05-04 Psc Scanning, Inc. Add-on capture rate in a barcode scanning system
US6722568B2 (en) 2001-11-20 2004-04-20 Ncr Corporation Methods and apparatus for detection and processing of supplemental bar code labels
US7070108B1 (en) * 2002-12-16 2006-07-04 Ncr Corporation Bar code scanner
JP4254724B2 (ja) 2005-02-16 2009-04-15 株式会社デンソーウェーブ バーコード読取り方法及びコンピュータプログラム
JP4498371B2 (ja) * 2007-03-13 2010-07-07 キヤノン株式会社 画像処理装置および画像処理装置の制御方法
US8712040B2 (en) * 2010-01-22 2014-04-29 Harlan J. Brothers Data-conditioned encryption method

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
NL8403323A (nl) * 1984-11-02 1986-06-02 Philips Nv Leesinrichting voor staafkodes.
US4717818A (en) * 1986-06-26 1988-01-05 International Business Machines Corporation Bar code label identification circuit
US4879456A (en) * 1987-06-18 1989-11-07 Spectra-Physics, Inc. Method of decoding a binary scan signal
JPH02141889A (ja) * 1988-11-22 1990-05-31 Eastman Kodatsuku Japan Kk バーコード読取方法
JPH07101427B2 (ja) * 1989-03-29 1995-11-01 富士通株式会社 バーコード読取り方法及びその装置
EP0425707B1 (de) * 1989-05-17 1995-09-20 Fujitsu Limited Strichcode-leseverfahren und -vorrichtungen
US5198649A (en) * 1989-07-31 1993-03-30 Spectra-Physics, Inc. Bar code scanner and method of scanning bar codes labels with or without an Add-On code
CA2022269A1 (en) * 1990-01-05 1991-07-06 Theodosios Pavlidis Method of decoding bar code symbols from partial scans
US5262625A (en) * 1991-11-15 1993-11-16 Ncr Corporation Multiple bar code decoding system and method

Also Published As

Publication number Publication date
DE69233268D1 (de) 2004-01-22
EP0502440A2 (de) 1992-09-09
EP0502440A3 (en) 1993-09-08
US5686715A (en) 1997-11-11
EP0647917A3 (de) 1995-05-10
EP0647917A2 (de) 1995-04-12
EP0502440B1 (de) 2003-12-10

Similar Documents

Publication Publication Date Title
DE69233268T2 (de) Gerät und Verfahren zur Streifenkodelesung
DE19814075B4 (de) Verfahren zum Abtasten und Erkennen mehrerer Fotografien und zum Beseitigen von Randfehlern
DE2315509A1 (de) Kodierte aufzeichnung und verfahren und einrichtung zum kodieren und dekodieren dieser aufzeichnung
DE4005492C2 (de) Bildcodierverfahren
DE3716787C2 (de)
EP0131676B1 (de) Verfahren zum automatischen Digitalisieren des Umrisses von Strichgraphiken z.B. Buchstaben
DE19535770C2 (de) IC-Karte zur Kommunikation mit einer Lese-/Schreibapparatur
DE69830383T2 (de) Kodierverfahren
DE2264417C3 (de) Codemarke mit optisch abtastbaren Informationen in Form von auf einem Trägermedium befindlichen konzentrischen Ringen
DE2524495C3 (de) Schaltungsanordnung zur Formatpriifung von Codesignalen eines Streifencodes
DE2226290A1 (de) Verfahren und einrichtung zur anzeige mehrerer unterschiedlicher informationsabschnitte
DE3326583C2 (de)
EP1260933A2 (de) Verfahren zum Erfassen von zweidimensionalen Codes
DE1549673A1 (de) Zeichenlese- und -uebertragungsvorrichtung
DE180152T1 (de) Verfahren und einrichtung zum abtasten von strichkoden.
DE69733300T2 (de) Verfahren zum Lesen eines Strichkodes
DE2256007B2 (de) Vorrichtung zur Verarbeitung kodierter Daten
DE69929110T2 (de) Einrichtung und Verfahren zur Erzeugung von Druckdaten des zweidimensionalen Koden und zugehöriges Aufzeichnungsmedia
DE2633513A1 (de) Schriftzeichen-erkennungsvorrichtung
DE2321701A1 (de) Kartenleser mit mehreren lesekanaelen
DE2165893A1 (de) Historische datenanzeige
DE1959231A1 (de) Verfahren und Vorrichtung zur Korrektur von bis zu drei Fehlern eines aus 23 Bits bestehenden Codewortes
DE2410306B2 (de) Anordnung zur Einstellung eines Abtastrasters oder einer Erkennungslogik auf die Schräglage von abzutastenden bzw. zu erkennenden Zeichen
DE2450468A1 (de) Fehlerkorrekturanordnung fuer einen speicher
DE3243009A1 (de) Verfahren und vorrichtung zum identifizieren von gegenstaenden

Legal Events

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

Representative=s name: SEEGER SEEGER LINDNER PARTNERSCHAFT PATENTANWAELTE