DE69637397T2 - Optischer Barcode Abtaster - Google Patents

Optischer Barcode Abtaster Download PDF

Info

Publication number
DE69637397T2
DE69637397T2 DE1996637397 DE69637397T DE69637397T2 DE 69637397 T2 DE69637397 T2 DE 69637397T2 DE 1996637397 DE1996637397 DE 1996637397 DE 69637397 T DE69637397 T DE 69637397T DE 69637397 T2 DE69637397 T2 DE 69637397T2
Authority
DE
Germany
Prior art keywords
signal
edges
edge
derivative
peak
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
DE1996637397
Other languages
English (en)
Other versions
DE69637397D1 (de
Inventor
David Ronkonkoma Goren
Raj Mount Sinai Bridgelall
Harry Kings Park Kuchenbrod
Gary Bellmore Serbin
Edward Miller Place Barkan
Stephen Lake Grove Shellhammer
Donna Ronkonkoma Pandolfo
Guy Central Islip Cipriani
Yajun Oakdale Li
Joseph Campanelli
Joseph Stoney Brook Katz
Daniel Brooklyn McGlynn
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.)
Symbol Technologies LLC
Original Assignee
Symbol Technologies LLC
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 US08/455,216 external-priority patent/US6170749B1/en
Priority claimed from US08/454,830 external-priority patent/US5734152A/en
Application filed by Symbol Technologies LLC filed Critical Symbol Technologies LLC
Application granted granted Critical
Publication of DE69637397D1 publication Critical patent/DE69637397D1/de
Publication of DE69637397T2 publication Critical patent/DE69637397T2/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/10851Circuits for pulse shaping, amplifying, eliminating noise signals, checking the function of the sensing device
    • 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
    • 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/1439Methods for optical code recognition including a method step for retrieval of the optical code
    • G06K7/1452Methods for optical code recognition including a method step for retrieval of the optical code detecting bar code edges
    • 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/1478Methods for optical code recognition the method including quality enhancement steps adapting the threshold for pixels in a CMOS or CCD pixel sensor for black and white recognition

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Electromagnetism (AREA)
  • General Physics & Mathematics (AREA)
  • Toxicology (AREA)
  • General Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Health & Medical Sciences (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Character Input (AREA)
  • Image Input (AREA)
  • Optical Recording Or Reproduction (AREA)
  • Facsimile Image Signal Circuits (AREA)
  • Length Measuring Devices By Optical Means (AREA)

Description

  • Diese Erfindung bezieht sich auf ein Verfahren und ein System zur Bearbeitung eines elektrischen Signals, das Licht darstellt, das von einem Informationssymbol reflektiert wird, wobei das Symbol Bereiche einer unterschiedlichen Lichtreflektivität aufweist, und wobei das elektrische Signal Ränder bzw. Kanten enthält, die Grenzen zwischen benachbarten Bereichen des Symbols entsprechen.
  • Optische Scanner und Signalprozessoren, die darin verwendet werden, besitzen, wie im Stand der Technik bekannt ist, einen weiten Bereich von Anwendungen. Eine solche Anwendung ist das Lesen von Barcoden, die auf Produkten vorgesehen sind. Solche optischen Scanner werden allgemein als Barcode-Scanner bezeichnet. Signale, die durch die Scanner erzeugt sind, werden typischerweise zu einem Rechengerät zum Decodieren zugeführt und um dadurch eine Identifikation des Produkts, auf dem der Barcode aufgebracht ist, bereitzustellen. Beispiele werden in nahezu jedem Supermarkt, Verbrauchermarkt, Warenhaus, usw., ebenso wie in Großmärkten und Fabriken vorgefunden, die solche Barcode-Scanner für die Inventurliste und die Produktionssteuerung verwenden.
  • Zuvor sind verschiedene optische Leseeinrichtungen und optische Abtastsysteme zum Lesen von Barcode-Symbolen, die auf einem Etikett oder auf der Oberfläche eines Gegenstands auftreten, entwickelt worden. Das Barcode-Symbol selbst ist ein codiertes Muster aus Zeichen, die eine Reihe von benachbarten Balken und Räume verschiedener Breiten aufweisen, wobei die Balken und Räume unterschiedliche Lichtreflexionscharakteristika haben.
  • Es existiert eine Anzahl unterschiedlicher Barcode-Standards oder Symbolsätze. Diese Symbolsätze umfassen zum Beispiel UPC/EAN, Code 128, Codabar und Interleaved 2 von 5. Die Leseeinrichtungen und Abtastsysteme codieren elektro-optisch jedes Symbol, um mehrere alphanumerische Zeichen zu erzeugen, die dazu vorgesehen sind, für den Gegenstand oder eine bestimmte Charakteristik davon beschreibend zu sein. Solche Zeichen werden typischerweise in digitaler Form als ein Eingang in ein Datenverarbeitungssystem für Anwendungen einer Verarbeitung an der Stelle des Verkaufs, für die Kontrolle des Inventars, und dergleichen, angegeben. Abtastsysteme von diesem allgemeinen Typ sind zum Beispiel in den US-Patenten Nummern 4,251,798 ; 4,360,798 ; 4,369,361 ; 4,387,297 ; 4,409,470 und 4,460,120 offenbart worden, wobei alle davon auf Symbol Technologies, Inc., übertragen worden sind. Ein gemeinsam verwendetes Beispiel eines solchen Abtastsystems arbeitet, wie in einigen der vorstehend genannten Patenten offenbart ist, durch Abtasten des Laserstrahls in einer Linie über ein Symbol. Das Symbol, das aus abwechselnden, rechtwinkligen, reflektiven und nicht-reflektiven Segmenten unterschiedlicher Breiten zusammengesetzt ist, reflektiert einen Teil dieses Laserlichts. Ein Fotodetektor erfasst dann dieses reflektierte Licht und erzeugt ein elektrisches Signal, das für die Intensität des empfangenen Lichts kennzeichnend ist. Die elektronische Schaltung oder die Software des Abtastsystems decodiert das elektrische Signal, was eine digitale Darstellung der Daten, dargestellt durch das Symbol, das abgetastet ist, erzeugt.
  • Typischerweise umfasst ein Scanner eine Lichtquelle, wie beispielsweise einen Gaslaser oder einen Halbleiterlaser, die einen Lichtstrahl erzeugt. Die Verwendung von Halbleiterlasern als die Lichtquelle in Scanner-Systemen ist dort besonders aufgrund der kleinen Größe, den geringen Kosten und den niedrigen Energieerfordernissen erwünscht. Der Lichtstrahl wird optisch modifiziert, typischerweise durch eine Linse, um einen Strahlfleck einer bestimmten Größe unter einem gegebenen Abstand zu bilden. Es ist bevorzugt, dass die Größe des Strahlflecks nicht größer als ungefähr die minimale Breite zwischen Bereichen unterschiedlicher Lichtreflektivitäten, d. h. den Balken und den Räumen, ist.
  • Ein Scanner umfasst auch eine Abtastkomponente und einen Fotodetektor. Die Abtastkomponente kann entweder den Strahlfleck über das Symbol streichen und eine Abtastlinie über letzteres, das Symbol, ziehen, oder das Sichtfeld des Scanners abtasten, oder kann beides vornehmen. Der Fotodetektor besitzt auch ein Betrachtungsfeld, das sich über das Symbol und leicht hinter dieses erstreckt und dahingehend arbeitet, Licht, das von dem Symbol reflektiert ist, zu erfassen. Das analoge, elektrische Signal von dem Fotodetektor wird zuerst typischerweise in ein impulsbreiten-moduliertes digitales Signal umgewandelt, wobei die Breiten den physikalischen Breiten der Balken und der Räume entsprechen. Dieses Signal wird dann entsprechend dem spezifischen Symbolsatz in eine binäre Darstellung der Daten, die in dem Symbol codiert sind, zu den alphanumerischen Zeichen, die so dargestellt sind, decodiert.
  • In dem Stand der Technik, wie er vorstehend beschrieben ist, kann eine Digitalisierer-Schaltung verwendet werden, um das analoge Signal in eine digitale Darstellung, bezeichnet als ein Digital Bar Pattern (oder DBP), umzusetzen. Diese einfache digitale Darstellung der Daten arbeitet in vielen Situationen extrem gut, obwohl sie manchmal für nicht zu behebende Fehler anfällig ist, wenn das Barcode-Symbol, das gelesen werden soll, ein starkes Rauschen besitzt, das ihm zugeordnet ist. Mit dieser Darstellung nach dem Stand der Technik kann eine einzelne, zusätzliche Kante, die aufgrund von Rauschen erfasst oder verschoben ist, ein geeignetes Decodieren verhindern.
  • Eine einfache Art und Weise, um eine genauere Darstellung des Barcodes, zum Beispiel für eine aggressivere oder adaptivere Decodierung, zu erhalten, würde diejenige sein, das analoge Signal oberhalb der Nyquist-Rate abzutasten, das analoge Signal in einem Speicher zu speichern und dann Digital-Signal-Verarbeitungs-(DSP)-Techniken anzuwenden. Diese Lösung ist allerdings aufgrund des großen Umfangs von Abtastungen, der erforderlich ist, und der Hochgeschwindigkeitsverarbeitung, die notwendig ist, teuer.
  • Deshalb ist dementsprechend ein Bedarf vorhanden, ein relativ billiges und zuverlässiges Verfahren zum Decodieren von Kennzeichen (zum Beispiel ein Barcode-Symbol), nachdem das optische Erfassungssystem dieses in eine verzerrte, analoge Wellenform umgewandelt hat, zu schaffen. Ein solcher Bedarf ist insbesondere dort akut, wo es erwünscht ist, das Symbol aggressiv zu decodieren, das bedeutet durch den Versuch, nach einer einzelnen Abtastung zu decodieren.
  • Es ist eine Aufgabe der vorliegenden Erfindung, darauf zu zielen, dieses Erfordernis zu erfüllen.
  • Es ist eine weitere Aufgabe der Erfindung, ein effizientes und ökonomisches Mittel zum Erhalten einer verbesserten Darstellung des Barcode-Signals zu schaffen.
  • Dort, wo das analoge Signal, das die Kennzeichen, die gelesen worden sind, darstellt, analysiert ist, um so nur die Zeiten, zu denen die Kanten bzw. Flanken vorhanden sind (Übergänge zwischen Balken und Räumen)-(DBP), dem Decodierer anzugeben, sind nicht genug Informationen für eine optimale Decodierung vorhanden. Insbesondere kann der Decodierer nicht das Signal unter Anwendung unterschiedlicher Rauschschwellwerte auf dieselbe Abtastdatenfolge analysieren. Um dieses Problem zu beseitigen, kann ein Kantenstärkewert zu dem Decodierer zusammen mit den Kanten- bzw. Flankenzeiten, die ein Zeichen besitzen, das den Kanten-Typ anzeigt (Balken zu Raum oder Raum zu Balken), geliefert werden, wobei als eine Folge davon der Decodierer unterschiedliche Rauschschwellwerte für dieselbe Abtastdatenfolge durch adaptives Addieren oder Entfernen von Kanten basierend auf deren Stärken versuchen kann. Es ist allerdings erwünscht, ein System zu schaffen, das für einen Betrieb in einer solchen Art und Weise geeignet ist, die das Minimum an erforderlichen Elektroniken und Teilen verwendet, was folglich zu einer vereinfachten Herstellung und geringeren Kosten führt. Es ist weiterhin erwünscht, zu einer Anordnung zu gelangen, die sowohl für Standard- als auch Hochgeschwindigkeitsabtastmaschinen geeignet ist.
  • Es ist auch festgestellt worden, dass beim Abtasten von gedruckten Zeichensätzen, wie beispielsweise Barcoden, die Signalverarbeitungsschaltung das empfangene Signal filtern muss und die Kanten in dem Signal, die von den Balken-zu-Raum- oder Raum-zu-Balken-Übergängen in dem gedruckten Barcode stammen, zu filtern. Derzeit existieren viele Techniken, um diesen Vorgang auszuführen, bekannte Filter umfassen "Real-Pole", "Bessel" und "Butterworth" Systeme. Ähnlich sind verschiedene Typen von Kanten-Detektoren vorgeschlagen worden, die nicht-lineare Vorrichtungen, wie beispielsweise einen Kondensator, um nach einer Änderung in dem Signal zu sehen, umfassen. In anderen Systemen wird ein erstes Ableitungssignal von dem Eingangssignal festgestellt und die Peaks der ersten Ableitung werden erfasst, die Übergänge darstellen. Ein zweites Ableitungssignal kann auch herangezogen werden, bei dem der Nulldurchgangspunkt identifiziert wird, der den Peak der ersten Ableitung darstellt. Solche Systeme sind jeweils als erste Ableitungs-Digitalisierer und zweite Ableitungs-Digitalisierer bekannt.
  • Ein Problem bei bekannten Systemen ist dasjenige, die Kanten von Übergängen zu erfassen, während gleichzeitig das Rauschen in dem Signal unterdrückt wird. Während Lösungen für dieses Problem in der Kommunikationsindustrie vorgeschlagen worden sind, können diese Lösungen nicht direkt auf das Lesen von gedruckten Kennzeichen, wie beispielsweise Barcode-Symbolen, angewandt werden. Zum Beispiel ist in einem Kommunikationssystem die Bit-Rate festgelegt, allerdings ändert sich in einem Barcode-Scanner die Bit-Rate, die das Inverse der Dauer des kleinsten Balkens oder Raums ist, in Abhängigkeit von der Balken-Dichte, dem Abtastabstand und der Abtastgeschwindigkeit. Obwohl die meisten Scanner eine festgelegte Abtastrate besitzen, wird zusätzlich die unmittelbare Abtastgeschwindigkeit in einem solchen Scanner innerhalb einer einzelnen Abtastung, in Abhängigkeit von der Lage in der Abtastlinie, variieren. Die Abtastrate von Scannern kann auch von dem Betriebsmodus abhängen. Weiterhin ist in Kommunikationssystemen ein Bit-Synchronisations-Takt verfügbar oder kann für die Bestimmung extrahiert werden, wann der Ausgang eines Filters abzutasten ist, allerdings ist in einem solchen Barcode-Abtastsystem ein solcher Takt nicht verfügbar und kann nicht extrahiert werden, da die Abtastgeschwindigkeit niemals konstant ist. Deshalb ist es insbesondere erwünscht, die Probleme einer Filterung in einem System zu lösen, das nicht synchronisiert ist (ohne dass ein externer Takt verfügbar ist).
  • Es ist auch bekannt, dass der Laserstrahl in einem Scanner zu einer Taille hin konvergiert und dann wieder divergiert, und dass, unter Vorgabe eines festgelegten Laserfokus, das Barcode-Bild beginnt, zu verschmieren, wenn sich der Abtastabstand in irgendeiner Richtung weg von der fokussierten Position (Taille) des Laserstrahls vergrößert. Dieses Verschmieren wird durch den anwachsenden Laserfleck hervorgerufen, der ein nahezu Gauß'sches Intensitätsprofil ist, das effektiv die scharfen Kanten des gedruckten Barcodes filtert. Wenn sich der erwünschte Leseabstand ändert, gestaltet deshalb dieser Filtereffekt die Kantenerfassung schwierig und fehlerhaft, und es ist erwünscht, dieses Problem zu lösen.
  • Die europäische veröffentlichte Patentanmeldung EP 0653721 A2 offenbart einen Multi-Bit-Digitalisierer für eine Barcode-Leseeinrichtung, der das Vorhandensein von Kanten eines abgetasteten Barcode-Symbols erfasst und auch die Stärke jeder erfassten Kante misst. Ein Polaritäts- oder Kantenrichtungssignal zeigt die Richtung jeder erfassten Kante an, und ein Zeitabstimmungssignal ist für den Zeitpunkt und auch, mittels einer variablen Impulsbreite, für die Stärke jeder Kante repräsentativ. Ein Torsteuersignal zeigt an, dass die Daten unzuverlässig und ungültig sind, wenn die gemessene Spannung, die an den Scanner-Motor der Barcode-Leseeinrichtung angelegt ist, höher oder niedriger als definierte Grenzwerte ist. Alle Abtastungen, die unter einer Geschwindigkeit vorgenommen werden, die zu hoch oder zu niedrig ist, werden abgewiesen.
  • Das United States Patent 5,291,564 offenbart eine Anordnung, bei der ein optisches Target durch ein optisches Abtastsystem entsprechend einer band-internen Sollfrequenz in einem Eingangssignal von einer optischen Abtastvorrichtung erhalten wird. Sowohl der Band-interne Energiepegel als auch der Band-externe Energiepegel des Eingangssignals von der optischen Abtastvorrichtung werden bestimmt. Diese zwei Energiepegel werden verglichen und eine mögliche Erfassung des Targets wird entsprechend diesem Vergleich bestimmt. Ein minimaler Schwellwert der Band-internen Energie ist erforderlich, damit die mögliche Erfassung bestätigt werden kann.
  • Ein erster Aspekt der Erfindung schafft ein Verfahren zur Bearbeitung eines elektrischen Signals, das Licht darstellt, das von einem Informationssymbol reflektiert wird, das benachbarte Bereiche mit unterschiedlichen Reflexionseigenschaften hat, wobei das Licht von einem Lichtstrahl einer begrenzten Breite erzeugt wird, der in mehreren Abtastungen über das Symbol abgetastet wird, wobei das elektrische Signal Ränder enthält, die Grenzen zwischen den benachbarten Bereichen des Symbols entsprechen, wobei das elektrische Signal bearbeitet wird, um die Male des Auftretens der Ränder und die Stärken der Ränder zu bestimmen, wobei ein erstes Outputsignal, das Impulse hat, die jeweils einem Rand entsprechen, zur Verwendung durch einen Multi-Bit-Decoder erzeugt wird, und die Impulse Zeitdauern (ts) haben, die Randinformationen enthalten, die die Stärken der Ränder des elektrischen Signals darstellen, gekennzeichnet durch folgende Schritte: a) Differenzieren des elektrischen Signals, um ein erstes Ableitungssignal zu erhalten, wobei das Bearbeiten des elektrischen Signals zur Bestimmung der Stärken der Ränder nur an dem ersten Ableitungssignal durchgeführt wird; und b) Verstärken der Ränder des ersten Ableitungssignals, um die begrenzte Breite des Lichtstrahls während einer, jedoch nicht aller, Abtastungen über das Symbol zu kompensieren.
  • Das Verfahren gemäß der vorliegenden Erfindung ist durch Anspruch 1 definiert.
  • Ein zweiter Aspekt der Erfindung schafft ein System zur Bearbeitung eines elektrischen Signals, das Licht darstellt, das von einem Informationssymbol reflektiert wird, das benachbarte Bereiche mit unterschiedlichen Lichtreflexionseigenschaften hat, wobei das Licht von einem Lichtstrahl einer begrenzten Breite erzeugt wird, der in mehreren Abtastungen über das Symbol abgetastet wird, wobei das elektrische Signal Ränder enthält, die Grenzen zwischen den benachbarten Bereichen des Symbols entsprechen, mit einer Schaltung zum Bearbeiten des elektrischen Signals, zur Bestimmung der Male des Auftretens der Ränder und der Stärken der Ränder, einer Schaltung zum Erzeugen eines ersten Outputsignals, das Impulse hat, die jeweils einem Rand entsprechen, zur Verwendung durch einen Multi-Bit-Decoder, wobei die Impulse Zeitdauern (ts) haben, die Randinformationen enthalten, die die Stärken der Ränder des elektrischen Signals darstellen, gekennzeichnet durch: a) einen Differenziator 24, der angeordnet ist, um das elektrische Signal zu differenzieren, um ein erstes Ableitungssignal zu erhalten, wobei die Schaltung zum Bearbeiten des elektrischen Signals zur Bestimmung der Stärken der Ränder nur das erste Ableitungssignal verwendet; und b) eine Randverstärkungsschaltung, die angeordnet ist, um die Ränder des ersten Ableitungssignals zu verstärken, um die begrenzte Breite des Lichtstrahls während einer, jedoch nicht aller, Abtastungen über das Symbol zu kompensieren.
  • Das System gemäß der vorliegenden Erfindung ist durch den unabhängigen Anspruch 5 definiert.
  • Kurze Beschreibung der Zeichnung
  • 1 zeigt ein Blockdiagramm eines Barcode-Scanners gemäß der Erfindung;
  • 2 zeigt ein Blockdiagramm eines Lichterfassungsabschnitts und eines Multi-Bit-Digitalisierers, die in einem Prozessor des Barcode-Scanners der 1 verwendet sind;
  • 3A, 3B zeigen Zeit-Historien von Signalen, die durch den Scanner der 1 erzeugt sind; 3A stellt ein Ausgangssignal dar, das durch einen Detektor, der in dem Scanner verwendet ist, erzeugt ist; 3B stellt das Ausgangssignal dar, das durch eine Differenziererschaltung erzeugt ist, verwendet dazu, das Signal, das durch den Detektor erzeugt ist und in 3A dargestellt ist, zu differenzieren; und 3C stellt das Barcode-Muster, das durch den Scanner abgetastet ist, um die Signale in den 3A und 3B zu erzeugen, dar;
  • 4 zeigt ein schematisches Diagramm einer Differenziererschaltung, die in dem Lichterfassungsabschnitt der 2 verwendet ist;
  • 5 zeigt ein schematisches Diagramm einer Filter/Verstärkerstufe, die in dem Lichterfassungsabschnitt der 2 verwendet ist;
  • 6 zeigt ein schematisches Diagramm einer Automatik-Verstärkungs-Steuer-(AGC)-Schaltung, die in dem Lichterfassungsabschnitt der 2 verwendet ist;
  • 7 zeigt ein schematisches Diagramm eines Verstärkungsfilters, das in dem Lichterfassungsabschnitt der 2 verwendet ist;
  • 8A und 8B zeigen Zeit-Historien von Signalen, die durch den Scanner der 1 erzeugt sind, vor einem Durchgang durch das Verstärkungsfilter der 7; und 8C stellt die Peaks in den Signalen dar, die in 8B erzeugt sind;
  • 9A und 9B zeigen Zeit-Historien von Signalen, die durch den Scanner der 1 erzeugt sind, vor einem Durchgang durch das Verstärkungsfilter der 7, wobei die Zeit-Historien der 9A und 9B eine Abtastfleckgröße größer als die Abtastfleckgröße, die für die 8A und 8B verwendet ist, sind; wobei 9C die Peaks in den Signalen, erzeugt in 9B, darstellt;
  • 10 stellt das Frequenzansprechverhalten des Verstärkungsfilters der 7 dar;
  • 11 stellt die Stellen der Pole und der Nullen des Verstärkungsfilters der 7 dar;
  • 12 zeigt ein schematisches Diagramm einer Randerfassungsschaltung, die in dem Multi-Bit-Digitalisierer der 2 verwendet ist;
  • 13 zeigt ein schematisches Diagramm einer Zweiweggleichrichterschaltung, die in dem Multi-Bit-Digitalisierer der 2 verwendet ist;
  • 14 zeigt ein schematisches Diagramm einer Randerfassungsschaltung, die in dem Multi-Bit-Digitalisierer der 2 verwendet ist;
  • 15 zeigt ein schematisches Diagramm einer Schwellwerterfassungsschaltung, die in dem Multi-Bit-Digitalisierer der 2 verwendet ist;
  • 16 zeigt ein schematisches Diagramm einer Zeitpunktsteuerlogikschaltung, die in dem Multi-Bit-Digitalisierer der 2 verwendet ist;
  • 17 zeigt ein schematisches Diagramm einer logischen Schaltung, die in der Zeitsteuerlogikschaltung der 16 verwendet ist;
  • 18 zeigt ein schematisches Diagramm einer Polaritätserzeugungsschaltung, die in dem Multi-Bit-Digitalisierer der 2 verwendet ist;
  • 19 zeigt ein Flussdiagramm, das die Betriebsweise eines Decodierers, verwendet in dem Prozessor der 1, darstellt; und
  • 20 zeigt ein Zeitdiagramm, das zum Verständnis des Decodierers nützlich ist;
  • 21 zeigt ein ungeglättetes Histogramm, das durch den Decodierer beim Einrichten eines Rauschschwellwertpegels für den Decodierer verwendet ist;
  • 22 zeigt ein ungeglättetes Histogramm, das aus dem ungeglätteten Histogramm der 21 konstruiert ist, und das durch den Decodierer beim Erzeugen eines Rauschschwellwertpegels für den Decodierer verwendet ist;
  • 23 zeigt ein Flussdiagramm, das durch den Decodierer beim Bestimmen des Rauschschwellwertpegels verwendet ist;
  • 24 zeigt ein Diagramm, das die Zeit-Historie von Signalen darstellt, die durch einen Lichterfassungsabschnitt des Scanners der 1 erzeugt sind; und zwar ohne das Verstärkungsfilter der 7; und
  • 25 zeigt ein Diagramm, das die Zeit-Historie der Signale in 24 nach Durchgang durch das Verstärkungsfilter der 7 darstellt.
  • 26A zeigt eine beispielhafte Zeit-Historie von Zeitimpulssignalen, die mit dem Scanner der 1 erzeugt sind; 26B zeigt eine Zeit-Historie von Polaritätssignalen, die den beispielhaften Zeitimpulssignalen in 26B zugeordnet sind; und 26C zeigt eine Zeit-Historie der Umwandlung der Zeitimpulssignale und der Polaritätssignale der 26A und 26B.
  • 27A zeigt eine andere beispielhafte Zeit-Historie von Zeitimpulssignalen, die mit dem Scanner der 1 erzeugt sind; 27B zeigt eine Zeit-Historie von Polaritätssignalen, die den beispielhaften Zeitimpulssignalen in 27B zugeordnet sind; und 27C zeigt eine Zeit-Historie der Umwandlung der Zeitimpulssignale und der Polaritätssignale der 27A und 278;
  • 28 stellt eine Architektur eines Kanten-Stärke-Digitalisierers dar;
  • 29 stellt ein Signal dar, das von einem mit Rauschen behafteten Barcode abgeleitet ist;
  • 30 stellt das zweiwege-gleichgerichtete erste Ableitungssignal des analogen Signals der 29 dar;
  • 31a stellt eine Ausführung einer Null-Durchgangs-Schaltung dar;
  • 31b stellt eine Reihe aus Komparatoren für drei Schwellwerte dar;
  • 31c stellt die Histogramm-Fächer für ein gegebenes Signal dar;
  • 32 stellt einen Kanten-Stärke-Detektor dar, der eine automatische Verstärkungssteuerung umfasst,
  • 33 zeigt ein Blockdiagramm eines standardmäßigen ersten Ableitungs-Digitalisierers;
  • 34 stellt ein reflektiertes Rausch-Barcodesignal mit einer starken Unschärfe (Fleck/Modulgröße = 2,8) dar;
  • 35 stellt eine Ausführung eines Pegel-Quantisierers dar;
  • 36 stellt das zweiwege-gleichgerichtete erste Ableitungssignal des analogen Signals der 34 dar;
  • 37 stellt das Impulsansprechverhalten von zwei unterschiedlichen, ungefähr angepassten Filtern dar;
  • 38 stellt ein Deblurring-System nach dem Stand der Technik dar, das ein elektronisches Verstärkungsfilter verwendet;
  • 39 stellt ein Deblurring-System nach dem Stand der Technik dar, das ein Laserfokussierungsmodul verwendet;
  • 40 stellt ein Deblurring-Signal mit geschlossener Schleife gemäß der vorliegenden Erfindung unter Verwendung eines Verstärkungsfilters dar;
  • 41 stellt ein Deblurring-System mit geschlossener Schleife unter Verwendung eines Laserfokussierungsmoduls gemäß der vorliegenden Erfindung dar;
  • 42 stellt die Funktion des Peak-Lokalisierer-Blocks der 40 und 41 dar;
  • 43 stellt den Betrieb des Peak-Lokalisierer-Blocks der 40 und 41 dar;
  • 44 stellt die Funktion und die Betriebsweise des Peak-Lokalisierer-Blocks der 40 und 41 dar;
  • 45a stellt die Umsetzung eines Peak-Lokalisierer-Blocks dar;
  • 45b stellt die Schwellwertgrenzen und Peaks dar, wenn ein Bild fokussiert wird;
  • 46 stellt die Schwellwertgrenzen und Peaks dar, wenn das Bild verwischt ist;
  • 47 zeigt einen Algorithmus für ein Deblurring, wenn ein abstimmbares elektronisches Verstärkungsfilter verwendet wird;
  • 48 zeigt einen Algorithmus für ein Deblurring, wenn ein Fokussierungsmodul verwendet wird;
  • 49 zeigt ein Blockdiagramm einer beispielhaften Vorrichtung zur Verwendung in Verbindung mit einem Verfahren gemäß der vorliegenden Erfindung;
  • 50 stellt ein beispielhaftes Verfahren gemäß der vorliegenden Erfindung, zum Decodieren eines Barcodesignals, dar;
  • 51 zeigt ein Flussdiagramm der Betriebsweise des Decodierers, der in 55 dargestellt ist; und
  • A.1 stellt einen Korrelations-Empfänger für binäre Signale dar.
  • Beschreibung der bevorzugten Ausführungsformen
  • Ein Aspekt der Erfindung bezieht sich auf einen kostengünstigen, adaptierbaren Multi-Bit-Digitalisierer für Standard- und Hochgeschwindigkeitsscanner. Tatsächlich wird anhand der nachfolgenden Diskussion ersichtlich werden, dass die Erfindung in irgendeinem System, das optische Empfänger verwendet, eingesetzt werden kann, obwohl die Diskussion, die folgt, auf Barcodescanner beschränkt ist.
  • Standard-Digitalisierer leiden unter dem Problem, dass, wenn deren Empfindlichkeit erhöht wird, um Symbole höherer Dichte zu erfassen, dann, wenn schlecht gedruckte Symbole vorgefunden werden, ein Risiko vorhanden ist, dass Defekte als Markierungen interpretiert werden können, die gelesen werden sollen, wobei als eine Folge davon die Abtastzeit und die Effektivität und die Verarbeitung des Signals erhöht werden kann, um das Problem des Rauschens zu beseitigen. Dies gibt Anlass zu einem Verlust einer "Aggressivität" für den Scanner als Ganzes.
  • Diesem Problem hat man sich durch Anwenden mehrerer Schwellwerte für dieselbe Abtastung zugewandt, allerdings kann die Hardware in solchen Systemen nicht einfach für Abtastmaschinen mit höherer Geschwindigkeit skaliert werden. Alternativ ist es dort, wo Systeme einfach für Abtastmaschinen mit höherer Geschwindigkeit skaliert werden können, nicht möglich gewesen, mehrere Schwellwerte bei derselben Abtastung anzuwenden.
  • Es ist deshalb erwünscht, einen Decodier-Algorithmus innerhalb eines Digitalisierers mit ausreichenden Informationen über die Kanten, die erfasst sind, zu schaffen, so dass die Wahrscheinlichkeit eines Decodierens schlecht gedruckter Barcode stark verbessert wird, ohne die Decodierfunktion bei Barcoden mit hoher Dichte zu verlieren. Zusätzlich ist es erwünscht, Signale dort zu verarbeiten, wo benachbarte Kanten derselben Polarität zusammen vorgefunden werden. Dies führt zu der vorteilhaften Fähigkeit, mehrere Schwellwerte an denselben Abtastdaten dort zu versuchen, wo alle gültigen und möglicherweise ungültigen Kantenstellen und Kantenstärken verfügbar sind. In Fällen, in denen nur ein paar Abtastungen ein Barcode-Symbol während eines einzelnen Überstreifens kreuzen, verbessert die Fähigkeit, unterschiedliche Rauschschwellwerte in Bezug auf dieselben Abtastdaten zu versuchen, stark die Chance eines Decodierens.
  • In 28 nun ist eine kostengünstige Architektur gezeigt, die für sowohl Standard- als auch Hochgeschwindigkeitsscanner geeignet ist. Die Architektur ist adaptierbar, wie in weiterem Detail nachfolgend beschrieben werden wird, da sie leicht in Bezug auf die Abstimmfähigkeit durch Abstimmen nur der Ableitungsfunktionen konvertiert werden kann. Dies steht im Gegensatz zu Anordnungen nach dem Stand der Technik, die nicht einfach für höhere Geschwindigkeiten umgeschaltet werden konnten, da die Verwendung von "Zeitabstimmungs-Polaritäts"-Signalen, um die Kanten-Zeit und -stärke zu codieren, umgestaltet werden konnte.
  • Das System, das in 28 dargestellt ist, kann in einer Barcode-Leseeinrichtung ausgeführt werden, die einen Abtastkopf und ein Hauptgehäuse derart aufweist, dass die Basis-Abtastdaten analysiert werden können und ein Signal, das für die erste Ableitung des analogen Signals repräsentativ ist, von dem Abtastkopf ausgegeben wird. Die Signifikanz der ersten Ableitung wird in weiterem Detail nachfolgend diskutiert. Das Hauptgehäuse der Barcode-Leseeinrichtung, die ein Decodier-Endgerät aufweisen kann, kann den Rest der Schaltung aufnehmen, und eine solche Anordnung verringert die Anzahl von Signalleitungen zwischen dem Abtastkopf und dem Decodier-Endgerät bzw. -Terminal.
  • Es ist bekannt, eine Analyse eines analogen Signals, das ein Barcode-Symbol darstellt, durchzuführen, indem die erste Ableitung dieses Signals herangezogen wird. In 29 ist ein mit Rauschen behaftetes Barcode-Signal dargestellt. Das Rauschen kann zum Beispiel durch Defekte in dem Symbol, das gelesen werden soll, durch Umgebungsrauschen oder durch ein "Verschmieren", das zum Beispiel aufgrund der finiten Fleckgröße des Abtaststrahls auftreten kann, eingeführt werden. Das Barcode-Symbol, das gelesen werden soll, wird durch die punktierte Linie dargestellt, die die ideale Reflektivität darstellt, wo Lichtanteile des Barcode-Symbols eine Reflektivität von 1 haben und dunkle Bereiche des Barcode-Symbols eine Reflektivität von 0 haben. 30 stellt die Informationen dar, die dadurch abgeleitet werden können, dass die erste Ableitung des mit Rauschen behafteten Signals herangezogen wird – es wird ersichtlich werden, dass das Ableitungssignal Peaks an jedem Übergang von einem dunklen Bereich (Balken) zu einem hellen Bereich (Zwischenraum), und vice versa, umfasst. Das Signal, das dargestellt ist, ist eine Full-Wave, die gleichgerichtet ist.
  • Die Peaks und Täler des ersten Ableitungssignals sind gute Indikatoren für die "Kantenstärke", das bedeutet die Qualität des Übergangs zwischen Bereichen einer sich unterscheidenden Reflektivität, ebenso wie für den Pegel einer Konvolutions-Verzerrung.
  • Gemäß der vorliegenden Erfindung wird vorgeschlagen, eine nicht-lineare Quantisierung auf die Peaks und die Täler eines ersten Ableitungssignals anzuwenden. Nur zwei bis drei Bits einer Quantisierung oberhalb und unterhalb der Referenzspannung sind, wie in weiterem Detail nachfolgend erläutert werden wird, ausreichend, um die relativen Kantenstärken zu kategorisieren. Die Informationen sind folglich für eine Multi-Bit-Verarbeitung geeignet und ein vollständig ausgestatteter herkömmlicher Analog-Digital-Wandler ist nicht notwendig. Anstelle einer Reihe Komparatoren mit nicht-linearen oder Kompander-Schwellwerten oberhalb und unterhalb einer Referenzspannung wird verwendet. Da der herkömmliche Analog-Digital-Wandler beseitigt ist, wird die Umwandlungszeit-Latenz oder -Verzögerung vermieden, so dass die Kantenstärke-Daten unmittelbar für den Decodierer verfügbar sind, und der Digitalisierer ist für Abtastgeschwindigkeiten geeignet, die nur durch die Datenverarbeitungsgeschwindigkeit des Decodierers begrenzt sind. Die Technik setzt im Wesentlichen einen Analog-Digital-Wandler vom log2(N)-Flash-Typ mit nicht-linearen Quantisierungspegeln (ähnlich zu U-LAN und A-LAW-Kompander, der in PCM-Telefonsystemen verwendet wird, wobei N die Zahl von Bits in einem herkömmlichen Analog-Digital-Wandler darstellt) ein.
  • Positiv- und Negativ-Peak-Detektoren 501, 501' lassen, wie wiederum 28 zeigt, zu, dass die Schwellwerte einer Reihe aus Komparatoren 502 der Signalstärke folgen, wenn keine automatische Verstärkungssteuerung in dem Abtastkopf verfügbar ist. Als eine Folge wird eine maximale Auflösung über den ganzen Arbeitsbereich des Scanners erreicht. Das System stellt ein Fenster bereit, das Schwellwerte besitzt, die durch ein Spannungs-Teiler-Widerstands-Netzwerk eingestellt sind, das symmetrisch um die Referenzspannung herum ist. Die Schwellwerte können in einer Art und Weise eines Kompanders derart angeordnet sein, dass eine größere Auflösung nahe der Referenzspannung dort verfügbar ist, wo die Kantenstärken gering sind. Alternativ können die Schwellwerte in sonstiger Weise so ausgelegt werden, um am besten das Merkmal der erwarteten Signale anzupassen.
  • Das System umfasst einen Vorverstärker und geeignete Filter 503 für eine Vorverarbeitung des Eingangssignals zu einem ersten Ableitungsmodul 504 hin, das ein Signal ausgibt, das für die erste Ableitung des verarbeiteten Signals repräsentativ ist. Das System umfasst auch ein zweites Ableitungsmodul 505 und einen Null-Durchgangs-Detektor 506. Es wird ersichtlich werden, dass der Null-Durchgangs-Detektor ein Signal ausgeben wird, zu jedem Zeitpunkt, zu dem das zweite Ableitungssignal die Null-Linie kreuzt, und zwar entsprechend einem Peak oder einem Tal in dem ersten Ableitungssignal. Die Kombination des zweiten Ableitungsmoduls 505 und des Null-Durchgangs-Detektors 506 liefert demzufolge sowohl eine Kanten-Polarität (Balken-zu-Raum oder Raum-zu-Balken) als auch Kanten-Zeiten zu der Mikrosteuereinheit 507 über einen Kanten-Impulsdetektor 508. Es ist festgestellt worden, dass der Kanten-Detektor, basierend auf der zweiten Ableitung, sehr empfindlich ist, wobei als eine Folge davon Verstärkungsfilter, die zuvor vorgeschlagen worden sind, vernachlässigbare Funktions-Vorteile dann bieten, wenn Symbole hoher Dichte gelesen werden.
  • Eine Ausführung der Null-Durchgangs-Schaltung ist in 31a dargestellt. 31a stellt die zweite Ableitung dar, die zu dem positiven Anschlussstift eines Differenzverstärkers 520 eingegeben wird, wobei der negative Anschlussstift zu Masse läuft. Der Ausgang stellt eine Kanten-Polarität und einen Zeitwert dar, der auch direkt zu einem Eingang eines Exklusiv-ODER-Gatters 521, und, parallel dazu, über einen Widerstand R zu einem anderen Eingang, einer Masseverbindung, die über einen Kondensator C führt, der zwischen dem Widerstand R und dem Eingang vorgesehen ist, führt. Der Ausgang des Exklusiv-ODER-Gatters ist ein Kanten-Verriegelungssignal.
  • Die Kompander-Anordnung 502 kann von irgendeinem geeigneten, bekannten Typ sein, der für den Fachmann geläufig ist. Insbesondere ist der Ausdruck "Kompander-Anordnung" in einem allgemeinen Sinne auszulegen, der angibt, dass den kleineren Werten eine stärkere Auflösung und eine geringere Auflösung den größeren Werten gegeben werden. Demzufolge befinden sich die Fenster-Pegel für niedrige Spannungswerte nahe zu einander und liegen weiter für längere Werte voneinander weg.
  • Die Schwellwert-Anordnung ist nicht notwendigerweise logarithmisch, wie dies der Ausdruck "Kompander-Anordnung" implizieren kann. Ein Fachmann wird erkennen, dass Schwellwertspannungen so ausgelegt sind, um viele Parameter des Systems, wie beispielsweise eine Laser-Fokussierung, Laser-Leistung, erwartete Umgebungslichtbedingungen, den Typ und die Qualität von Barcoden, in Bezug auf die erwartet wird, dass sie der Scanner lesen muss, und den Pegel eines elektronischen und Speckle-Rauschens, das in dem System erzeugt wird, zu berücksichtigen.
  • Zum Beispiel kann der Fachmann eine Auswahl dahingehend treffen, den ersten Schwellwert oberhalb des elektronischen Rauschpegels, einen zweiten Schwellwert unterhalb des Rauschpegels, der sich aus einer Kombination des elektronischen Rauschens plus eines Speckle-Rauschens ergibt, und weitere paar Schwellwerte oberhalb der vorherigen zwei, allerdings in Abhängigkeit der Qualität und des Typs eines Barcodes, der erwartet wird, dass er abgetastet werden soll, auswählen. Zum Beispiel können Sprenkel und Leerstellen in schlecht gedruckten Barcodes zu Signalpegeln höher als sowohl das elektronische Rauschen plus eines Speckle-Rauschens, und das unterschieden werden muss, führen.
  • Es ist offensichtlich, dass eine Anordnung von Schwellwerten wahrscheinlich nicht linear sein wird. Das Spannungsteilernetzwerk ist so eingestellt, um diese vorbestimmten Schwellwerte zu erzeugen. Eine Reihe Komparatoren wird das eingegebene erste Ableitungssignal mit diesen Schwellwerten vergleichen. Alle Komparatoren, die Eingangssignale höher als deren entsprechenden Referenzschwellwert erfassen, werden deren Ausgang akzeptieren. Zum Beispiel sind, für log2(N) = 3 Schwellwerte, die entsprechende Anordnung in 31b dargestellt. Das erste Ableitungssignal wird an positive Eingänge von drei Komparatoren 529a, 529b, 529c angelegt, eine erste, eine zweite und eine dritte Schwellwertspannung V1, V2, V3 werden jeweils an die negativen Eingänge der jeweiligen Komparatoren 529a, 529b, 529c angelegt, wobei die Schwellwerte durch Widerstände R1 bis R4 in einem Spannungsteiler eingestellt werden. Der Ausgang der Komparatoren führt zu einer Verriegelung 530 in einem System 531. Die Kompander-Anordnung der Komparatoren stellt einen groben, nicht-linearen Histogramm-Fach-Indikator ein, wobei als eine Folge davon Kanten-Stärken in Kanten-Stärken-Fächer kategorisiert werden können. Eine Datenbank für Multi-Bit-Daten, die durch die F.A.T.-Vorrichtung, oder irgendjemanden, der auf dem Gebiet des Auslegens von Digitalisierern erfahren ist, zusammengestellt sind, kann verwendet werden, um die optimalen Schwellwerte und deren Anordnung zum Klassifizieren dieser Kanten-Stärke-Fächer zu bestimmen. Da vorgeschlagen ist, zwei bis drei Bits einer Quantisierung oberhalb und unterhalb der Referenzspannung zu arbeiten, sind nur ein paar Kanten-Stärke-Fächer innerhalb von drei Bits einer Quantisierung zu verarbeiten und ein Algorithmus, der zur Verwendung von Kanten-Stärke-Daten geeignet ist, wird geringere Rechenressourcen erfordern und demzufolge deutliche Vorteile gegenüber derzeitigen Systemen liefern.
  • Histogramm-Fächer, die an der Verriegelung 530 eingestellt sind, sind in 31c dargestellt. Sechs Fächer sind dargestellt, die mit E1 bis E6, entsprechend zu sechs Kanten-Signal-Abtastungen, bezeichnet sind. Das Histogramm für die gesamte Abtastung ist, bezeichnet mit Et, dargestellt, was die Spreizung ergibt, die bei 540 dargestellt ist. Es wird ersichtlich werden, dass die verriegelten Werte von jedem der Komparatoren 529a, 529b, 529c in jeweiligen Positionen L1, L2 und L3 gehalten werden. Das Histogramm für die gesamte Abtastung Et zeigt, dass eine Kante oberhalb des höchsten Schwellwerts (V3) lief, drei Kanten oberhalb des zweithöchsten Schwellwerts (V2) liefen, allerdings unterhalb von V3, und zwei Kanten oberhalb des niedrigsten Schwellwerts (V1), allerdings unterhalb von V2, liefen.
  • 32 stellt eine alternative Anordnung dar, bei der eine automatische Verstärkungssteuerung 509 eingesetzt ist. Die automatische Verstärkungssteuerung 509 empfängt ein Eingangssignal von dem Vorverstärker und Filtern 503 und gibt eine geeignet gesteuerte erste Ableitung aus. Der positive und der negative Peak-Detektor, die unter Bezugnahme auf 28 beschrieben sind, können folglich gegen einen floatierenden und einen solchen mit festgelegtem Schwellwert ersetzt werden. Das System ist so ausgelegt, dass, für positive Peaks der ersten Ableitung, der Null-Durchgangs-Ausgang auf hoch schalten wird, wobei als eine Folge davon nun die Fenster-Komparatoren deren Schwellwert von einer höheren Spannungsschiene (siehe Spannungsteilernetzwerk 510) ableiten werden. Für negative Peaks der ersten Ableitung gilt die entgegengesetzte Situation. Als eine Folge kann die Schaltung dazu verwendet werden, die Quantisierungsauflösung zu verdoppeln, oder kann die Hälfte der Anzahl der Komparatoren erfordern.
  • In bestimmten Fällen können einige Täler des ersten Ableitungssignals nicht unterhalb der Referenzspannung fallen und einige Peaks können in ähnlicher Weise nicht oberhalb der Referenzspannung ansteigen. In solchen Fällen, und dort, wo eingerichtet worden ist, dass eine gültige Balkencode-Datensequenz gelesen worden ist, muss der Digitalisierer wissen, ob der in Rede stehende Peak oder das Tal oberhalb oder unterhalb der Referenzspannung liegt, und der floatierende Schwellwert kann auf eine Konstante für den Betrieb des Decodierers eingestellt werden.
  • Die Algorithmen, die für eine Verarbeitung des Signals angewandt sind, können stark von externen Bedingungen abhängen. Zum Beispiel können solche externen Bedingungen die Laserfleckgröße umfassen – dort, wo die Laserfleckgröße groß verglichen mit den Barcode-Informationen ist, wird ein Element für eine Glättung des Rauschens, wie beispielsweise Speckles (Sprenkel), Punkte und Leerstellen, vorhanden sein, und der Übergang zwischen hellen und dunklen Bereichen des Symbols wird auch weniger hervorgehoben werden. Die Position wird dann umgekehrt sein, wenn das Verhältnis von Fleck-zu-Balken sehr klein ist. Die Fleckgröße hängt in einem bestimmten Umfang von dem Abstand der Leseeinrichtung von dem Symbol, das gelesen werden soll, ab; wie bekannt ist, konvergiert ein Laserstrahl sehr leicht zu einer "Taille" hin und divergiert dann erneut.
  • Da die Peaks und die Täler des ersten Ableitungssignals in Fächer einer nicht-linearen Kanten-Stärke durch die Hardware kategorisiert sind, kann ein Algorithmus ein Histogramm akkumulieren und die Varianz oder die Spreizung der größeren Kanten prüfen, um den Pegel einer Überlagerungs-Verzerrung zu bestimmen. Das bedeutet, dass die Höhen-Variation der Peaks und der Täler des ersten Ableitungssignals zusätzliche Informationen über das Verhältnis von (Laser) Fleck-zu-Balken liefert. Große Variationen in diesen Peaks und Tälern zeigen an, dass das Verhältnis von Fleck zu Balken sehr wahrscheinlich groß ist. Das bedeutet auch, dass die Tiefe einer Modulation niedrig ist und dass die Punkte und Leerstellen in einem schlecht gedruckten Balkencode weitest gehend durch die optische Glättung entfernt sind. Zusätzlich ist ein Speckle-Rauschen aufgrund des größeren Flecks, das herausgemittelt ist, niedriger. Diese Situation kann noch weiter dann korreliert werden, wenn eine relativ geringe Anzahl von dünnen Kanten vorhanden ist, was demzufolge ein geringeres Speckle- und Druck-Rauschen aufgrund des größeren Flecks anzeigt. Deshalb sollte, für diesen Fall, ein niedrigerer Kantenauswahlschwellwert der erste Versuch sein, um die Leserate des ersten Versuchs zu verbessern und demzufolge die Aggressivität zu decodieren. Obwohl keine gute Decodierung für diesen ersten Versuch garantiert werden kann, ist die Wahrscheinlichkeit eines Erfolgs aufgrund einer a priori Information über die Varianz von großen Kanten und die Menge kleiner Kanten höher.
  • In ähnlicher Weise ist dann, wenn die Varianz der größeren Kanten kollektiv klein ist, das Verhältnis von Fleck-zu-Balken wahrscheinlich klein. Dies bedeutet auch, dass das Symbol nahe der Taille des Laserstrahls liegen kann und dass das Speckle-Rauschen höher sein kann. Auch werden Flecke und Leerstellen an schlecht gedruckten Symbolen als Teil des analogen Signals aufgelöst werden. Alternativ kann dies einfach ein Symbol mit niedriger Dichte sein. Wenn dabei eine relativ große Anzahl von dünnen Kanten vorhanden ist, ist der erste Fall wahrscheinlicher. In jeder Situation sollte der Decodierer den Rausch-Schwellwert bei dem ersten Versuch hoch setzen, um die Wahrscheinlichkeit eines ersten Lesens zu verbessern.
  • True-Fuzzy-Logik-Algorithmen können auch in vorteilhafter Weise von diesen Daten profitieren. Der Umfang von kleinen Kanten, mittleren Kanten und größeren Kanten, und sehr großen Kanten kann Fuzzy-Membership-Funktionen zugeordnet werden. Zusätzlich können die Zeiten zwischen den Kanten Fuzzy-Membership-Funktionen zugeordnet werden. Fuzzy-Regeln können dann angewandt werden, um zu bestimmen, ob eine Kante zu einer Abtastdatenfolge gehört oder nicht gehört, und zwar basierend auf den Charakteristika deren angrenzender oder benachbarter Kanten.
  • Es wird ersichtlich werden, dass die Erfindung eine verringerte Komplexität und eine Anzahl von Komponenten ermöglicht, was zu einer merkbaren Verringerung in den Kosten des Systems führt.
  • Es wird ersichtlich werden, dass, unter Verwendung der Komparatoren, anstelle von herkömmlichen Analog-Digital-Wandlern, die Geschwindigkeit skaliert werden kann, und, ohne eine automatische Verstärkungssteuerung, ziehen sich die Vergleichsschwellwerte mit der Signalstärke zusammen. Es ist nur notwendig, die Peak-Höhen der ersten Ableitung abzuleiten, um ausreichende Informationen bereitzustellen, um eine Fokussierung, usw., zu bestimmen. Da nur Peak-Höhen herangezogen werden, muss der Prozessor wesentlich weniger Abtastungen als bei einer vollen Abtastung speichern.
  • In 1 nun ist ein Barcode-Scanner 10 dargestellt. Der Barcode-Scanner 10 umfasst einen Scanner 12 zum Abtasten eines Laserlichtstrahls 13 über einen Barcode 14. Der Barcode 14 weist eine Reihe von verschachtelten, oder alternierenden, schwarzen Balken 40b und weißen Zwischenräumen 14s auf, wobei jeder Balken 14b und jeder Raum 14s einen nebeneinander liegenden Kantenbereich 14e dazwischen besitzt. Der Barcode-Scanner 10 umfasst einen Prozessor 16, der einen Lichterfassungsabschnitt 18 besitzt, und einen Multi-Bit-Digitalisierer 20, um eine Reihe von Kanten-Stärke-, oder Zeitabstimmungs-, Impulssignalen an der Ausgangsleitung 17 zu erzeugen. Jedes der Zeitimpulssignale besitzt eine Zeitdauer, ts, die sich auf Reflektivitäts-Charakteristika eines entsprechenden einen der Kantenbereiche 14e bezieht. Hierbei ist die Zeitdauer, ts, jedes der Zeitimpulssignale an der Leitung 17 proportional zu der Größe der Kantenstärke, wie sie durch die erste Ableitung des analogen Signals gemessen ist, das durch den Lichterfassungsabschnitt 18 erzeugt ist, und zwar in Abhängigkeit von Reflexionen des Laserlichts über einen Kantenbereich 14e. Der Multi-Bit-Digitalisierer 20 erzeugt auch ein Polaritätssignal an der Ausgangsleitung 19. Das Polaritätssignal ist ein logisches Signal, das einen logischen Zustand besitzt, das dafür kennzeichnend ist, ob der Kantenstärke-Impuls, der momentan damit erzeugt ist, ein Balken-(14b)-zu-Raum-(14s)-Kantenübergang, oder, alternativ, ein Raum-zu-Balken-Kantenübergang, ist. Hierbei gibt zum Beispiel eine positive Kante (d. h. das Polaritätssignal ändert sich von einem logischen Zustand 0 zu einem logischen Zustand 1) einen Übergang von einem Balken 14b zu einem Raum 14s an, während eine negative Kante (d. h. das Polaritätssignal ändert sich von einem logischen Zustand 1 zu einem logischen Zustand 0) einen Übergang von einem Raum 14s zu einem Balken 14b anzeigt. Die Zeitdauer, te, zwischen voranführenden Kanten der Zeitimpulssignale ist ein Maß für die Zeitdauer von Kante zu Kante eines Balkens 14b oder eines Raums 14s.
  • Ein Decodierer 21 ist zum Decodieren der Zeit-Impuls- und Polaritätssignale auf Leitungen 17, 19 in entsprechende Multi-Bit-Digital-Worte vorgesehen.
  • Wie auch 2 zeigt, umfasst der Lichterfassungsabschnitt 18 einen Detektor 22, eine Differenziererschaltung 24, eine Filter/Verstärker-Stufe 26, einen Abschnitt 28 für eine automatische Verstärkungssteuerung (AGC) und ein Verstärkungsfilter 30, die so angeordnet sind, wie dies dargestellt ist. Das Verstärkungsfilter ist gewöhnlich so auswählbar, dass der Decodierer das Signal über das Verstärkungsfilter senden kann, oder es vorbeilassen kann, falls dies erwünscht ist. Der Detektor 22 erzeugt ein elektrisches Signal, das eine Amplitude besitzt, die entsprechend dem Barcode 14 variiert, wenn der Strahl des Lichts 13 über den Barcode 14 abgetastet wird. Genauer gesagt erzeugt der Detektor 22 ein elektrisches Signal 32 (3A), das eine Amplitude besitzt, die entsprechend der Reflektivität des Lichts 13 von dem Barcode 14 variiert, wenn der Scanner 12 den durch den Laser erzeugten Lichtstrahl 13 über den Barcode 14 abtastet, wobei das Muster, das abgetastet werden soll, in 3C dargestellt ist. Die Amplitude des elektrischen Signals 32 wechselt zwischen höheren Pegeln 32H1 , 32H2 , 32H3 , 32H4 , 32H5 und 32H6 und niedrigeren Pegeln 32L1 , 32L2 , 32L3 , 32L4 und 32L5 , und zwar entsprechend dem Lichtstrahl, der über die Kantenabschnitte 14e abgetastet werden soll.
  • Die Differenziererschaltung 24 erzeugt ein elektrisches Signal 34 an der Leitung 25 (3B), das eine Amplitude besitzt, die entsprechend den Zeitänderungsraten in den Variationen in den Amplituden des durch den Detektor erzeugten elektrischen Signals 32 variiert. Demzufolge erzeugt die Differenziererschaltung 24 einen Impuls 341 3410 zu jedem Zeitpunkt, zu dem sich das elektrische Signal zwischen dem höheren und dem niedrigeren Pegel 32H1 34H6 , 34L1 34L5 (d. h. 32H1 32L1 , 32L1 32H2 , 32H2 32L2 , 32L2 32H3 ..., 32L5 32H6 ) jeweils ändert, wie dies dargestellt ist. Das elektrische Signal 34, das durch die Differenziererschaltung 24 erzeugt ist, ist ein bipolares Signal; das bedeutet, dass Impulse 341 , 343 , 345 , 347 , 349 mit negativer Polarität dann erzeugt werden, wenn das elektrische Signal 32 von einem hohen Pegel zu einem niedrigeren Pegel geht, und Impulse mit positiver Polarität werden dann erzeugt, wenn das elektrische Signal 32 von einem niedrigeren Pegel zu einem höheren Pegel geht, wie dies dargestellt ist. (Es ist anzumerken, dass "positiv" und "negativ" relativ zu dem Referenzpotenzial, hier VREF, liegen, wie dies in weiterem Detail nachfolgend beschrieben werden wird).
  • Das elektrische Signal 34, das durch die Differenziererschaltung 24 erzeugt ist, wird über eine Leitung 25 zu einem Terminal 25' zugeführt. Auch wird zu dem Terminal 25' der Ausgang der AGC-Schaltung 28 zugeführt. Der Ausgang des Terminals 25' wird zu der Filter/Verstärker-Stufe 26 zugeführt. Der Ausgang der Filter/Verstärker-Stufe 26 wird, über eine Leitung 55, zugeführt zu: dem Eingang der AGC-Schaltung 28; dem Eingang des Verstärkungsfilters 30; und dem Anschluss B des Schalters 75, wie dies dargestellt ist. Das Verstärkungsfilter 30 modifiziert die Impulse 341 3410 , die durch die Differenziererschaltung 24 erzeugt sind; d. h. von Signalen, wie beispielsweise solchen, die in 24 dargestellt sind, zu solchen, wie sie in 25 dargestellt sind. Eine solche Modifikation umfasst ein Erhöhen der Anstiegszeit, und des Peak-Pegels, der Impulse 341 3410 , die durch die Differenziererschaltung 24 erzeugt sind. Der Ausgang des Verstärkungsfilters wird zu einem zweiten Eingang 572 eines Schalters 57 zugeführt. Der Ausgang des Schalters 57, d. h. die Leitung 41, wird verbunden mit entweder: dem Ausgang des Verstärkungsfilters 30, wie dann, wenn die Leitung 41 mit dem Eingang 571 des Schalters 57 (d. h. Schalter 57 – Position A) verbunden ist; oder, andererseits, direkt mit dem Ausgang der Filter/Verstärkerstufen 26, wie dann, wenn die Leitung 41 mit dem Eingang 572 des Schalters 57 (d. h. Schalterposition B) verbunden ist, verbunden. Ein Signal auf der Leitung 573 von dem Decodierer 21 wird dazu verwendet, die Schalterposition A, B des Schalters 57 zu steuern. Das Verstärkungsfilter 30 wird, wenn die Position A vorliegt, verwendet (d. h. "ein"), und dann wird, wenn er sich in der Position B befindet, das Verstärkungsfilter 30 nicht verwendet (d. h. "aus"). Hierbei versetzt der Decodierer 21 das Verstärkungsfilter auf "ein" alle N Abtastungen, wobei N eine vorab ausgewählte, ganze Zahl, hier zum Beispiel 3, ist.
  • Die Peak-Pegel der modifizierten Impulse 34'1 34'10 , werden, in dem Fall, wenn das Verstärkungsfilter 30 auf "ein" ist, oder die Impulse 34'1 34'10 werden, in dem Fall, wenn das Verstärkungsfilter 30 auf "aus" ist, in jedem Fall in Kanten-Verstärkungsimpulse durch den Multi-Bit-Digitalisierer 20 umgewandelt, und zwar in einer Art und Weise, die im Detail nachfolgend beschrieben wird. Es reicht allerdings zu sagen, dass der Multi-Bit-Digitalisierer 20 einen Schwellwert-Pegel-Detektor 202 (2 und 15) umfasst, um modifizierte Impulse 34'1 34'10 zurückzuweisen, die Peak-Pegel unterhalb eines Schwellwertpegels haben, und um nur nicht zurückgewiesene, modifizierte Impulse 34'1 34'10 in die Kanten-Stärke-(d. h. Zeit)Impulssignale und Polaritätssignale an Leitungen 17, 19 jeweils umzuwandeln. Weiterhin besitzt, wie noch beschrieben werden wird, jedes der umgewandelten Kanten-Stärke-Zeitimpulssignale an der Leitung 17 eine Zeitdauer, die zu Reflektivitäts-Charakteristika eines entsprechenden einen der Kantenbereiche 14e in Bezug gesetzt sind (hier der Peak-Pegel der umgewandelten, modifizierten Impulse 34'). Der Decodierer 21 wandelt die Kanten-Stärke-Zeitimpulssignale an der Leitung 17 in ein Zeitsignal, und unter Verwendung eines Zählers, der nicht dargestellt ist, um, um die Zeitdauer der Kanten-Stärke-Zeitimpulssignale, die an der Leitung 17 erzeugt sind, zu messen.
  • Genauer gesagt umfasst der Multi-Bit-Digitalisierer 20 (2) eine Randerfassungsschaltung 40, eine Zeiterzeugungsschaltung 42 und eine Polaritäts-Erzeugungsschaltung 44, die alle so angeordnet sind, wie dies dargestellt ist. Die Randdetektorschaltung 40 (4) spricht auf Signale, die auf der Leitung 41 erzeugt sind, an und erfasst das Vorhandensein eines Barcodes 14 (1). Die Zeiterzeugungsschaltung 42 spricht auf die Randerfassungsschaltung 40, und Signale, erzeugt auf der Leitung 41, an, und erzeugt die Reihe der Kanten-Stärke-Zeitimpulssignale an der Ausgangsleitung 17. Die Polaritätsschaltung 44 spricht auf Signale, die auf der Leitung 41 erzeugt sind, und die Randerfassungsschaltung 40, an, und erzeugt, auf der Leitung 19, eine Reihe von logischen Signalen, die logische Zustände haben, die dazu in Bezug stehen, ob der Kantenstärkeimpuls eines Kanten-Übergangs von einem Balken zu einem Raum, oder alternativ eines Kantenübergangs von einem Raum zu einem Balken, jeweils, des abgetasteten Barcodes 14 stammt. Die Breite der Kantenstärkezeitimpulssignale an der Leitung 17 liefert den absoluten Wert der Stärke der Kanten. Der Zeitpunkt von der ansteigenden Flanke eines Kantenstärkeimpulses zu der ansteigenden Flanke des nächsten Kantenstärkeimpulses ist die Zeit, te, zwischen voranführenden Flanken der Zeitimpulssignale, und ist ein Maß der Zeitdauer von Kante zu Kante eines Balkens 14b oder eines Raums 14s. Und der Wert (d. h. logischer Zustand) des Polaritätssignals an der Leitung 19 an der ansteigenden Flanke der Kantenstärke-Zeitimpulssignale an der Leitung 17 stellt die Polarität der Kante dar (d. h. ob die Kante ein Balken 14b oder ein Raum 14s ist, wie dies vorstehend diskutiert ist).
  • Indem nun in weiterem Detail auf den Lichterfassungsabschnitt 18 Bezug genommen wird, wird die Differenziererschaltung 24 im Detail in 4 dargestellt. Die Differenziererschaltung 24 umfasst einen Operationsverstärker 25, der einen invertierenden Eingang (–) besitzt, der, über eine Leitung 48, durch den Detektor 22 über einen Kondensator C27, hier 1000 pF, versorgt wird, und seriell mit einem Widerstand R2, hier 1 k Ohm, verbunden ist, und einen nicht-invertierenden Eingang (+), der durch ein Referenzpotenzial (VREF), hier nominal 1,9 Volt, versorgt wird, wie dies dargestellt ist. (Die Referenzspannung VREF wird von einer Widerstand-Teiler-Schaltung (nicht dargestellt) abgeleitet und wird über eine parallele Kombination eines elektrolytischen Kondensators mit 2,1 Mikrofarad (nicht dargestellt) und einen keramischen Kondensator mit 0,1 Mikrofarad (nicht dargestellt) gefiltert). Die Eingangsleitung 48 wird, wie vorstehend angeführt ist, durch einen Detektor 22 (2) versorgt, d. h. das Signal 32 (3A). Ein Netzwerk 47 aus einem parallelen Widerstand R34 und einem Kondensator C23 ist zwischen dem Ausgang und dem invertierenden Eingang (–) des Operationsverstärkers verbunden, wie dies dargestellt ist. Hierbei hat R34 den Wert von 100 K Ohm und der Kondensator C23 hat den Wert von 5 pF. Die Verstärkung des Differenzierers beträgt hier 40 db, wobei Pole bei 318 kHz und 159 kHz liegen. Hierbei besitzt die Differenziererschaltung 24 eine Bandbreite von 40 kHz und erzeugt analoge Signalpegel auf der Leitung 49 (d. h. Signal 34, 3B) von 10 m Vp-p bis 1,6 Vp-p.
  • Die Filter/Verstärkerstufe 26 ist in 5 dargestellt. Hierbei ist die Filter/Verstärkerstufe 26 ein modifiziertes Butterworth-Filter mit fünf Polen und wird dazu verwendet, ein zusätzliches Signal bereitzustellen, das das Ausgangssignal an der Leitung 49 der Differenziererschaltung 24 konditioniert. Hierbei hat die Verstärkung über die Stufe 26 den Wert von 46 db. Die Stufe 26 umfasst drei kaskadierte Operationsverstärker 50, 52, 54.
  • Ein erster Verstärker 50 besitzt einen nicht-invertierenden (+) Eingang, der durch den Ausgang der Differenziererschaltung 24 über die Leitung 49 versorgt wird, und den invertierenden (–) Eingang, der über das VREF-Referenzpotenzial mit 1,9 Volt über einen Widerstand R18, hier mit 82,5 k Ohm, wie es dargestellt ist, versorgt wird. Ein Netzwerk 56 aus einem parallelen Widerstand R28 mit 82,5 k Ohm und einem Kondensator C47 mit 47 pF wird über eine Rückführschleife versorgt, wie dies dargestellt ist. Der Zwischenverstärker 52 besitzt seinen invertierenden Eingang (–) mit dem Ausgang des ersten Verstärkers 50 über ein Netzwerk 58 verbunden, das aus einem Widerstandstand R106 (hier 8,2 k Ohm), einem Kondensator C15 (hier 0,1 Mikrofarad), einem geerdeten Kondensator C29 (hier 470 pF) und einem Widerstand R94, hier 20 k Ohm, die so angeordnet sind, wie dies dargestellt ist, aufgebaut ist. Der nicht-invertierende Eingang (+) ist mit einem zweiten Referenzpotential, VFREF, wie dies dargestellt ist, verbunden. Ein Rückführ-Netzwerk 60, das aus Widerständen R13, hier 82,5 k Ohm, und einem Kondensator C41, hier 22 pF, aufgebaut ist, ist so vorgesehen, wie dies dargestellt ist. Der letzte Verstärker 24 besitzt einen invertierenden Eingang (–) mit dem Ausgang des Zwischenverstärkers 52 über ein Netzwerk 68, das aus einem Widerstand R50, hier 3,9 k Ohm, einem Kondensator C19, hier 0,1 Mikrofarad, einem geerdeten Kondensator C13, hier 2200 pF, und einem Widerstand R27, hier 18,2 k Ohm, aufgebaut ist, die so angeordnet sind, wie dies dargestellt ist, verbunden. Der nicht-invertierende Eingang (+) ist mit dem zweiten Referenzpotential VREF verbunden, wie dies dargestellt ist. Ein Rückführ-Netzwerk 70, das aus Widerständen R5, hier 39 k Ohm, und einem Kondensator C20, hier 10 pF, aufgebaut ist, ist so vorgesehen, wie dies dargestellt ist.
  • Die AGC-Schaltung 28 ist in 6 dargestellt. Der Zweck der AGC-Schaltung 28 ist derjenige, in der Amplitude regulierte analoge Signale zu dem Multi-Bit-Digitalisierer 20 (2) zuzuführen. Die AGC'd Butterworth-Filterstufe 28 stellt einen Bereich einer Verstärkung, hier ungefähr ein Maximum von 44 dB bis zu einem Minimum von 2,8 dB, bereit. Mit Signalpegeln von dem Ausgang der Differenziererschaltung 24, die von 10 mVp-p bis 1,6 Vp-p erzielt die AGC'd Butterworth-Filterstufe 26 eine maximale Signalgröße für das Signal auf der Leitung 41 von 2,22 Vp-p und ein minimales Signal von 1,66 Vp-p für ein Verhältnis von einem Maximum zu einem Minimum von 1,4.
  • Das Verstärkungsfilter 30 ist in 7 dargestellt. Der Zweck des Verstärkungsfilters 30 ist derjenige, eine Konvolutions-Verzerrung durch eine Erhöhung oder eine Verstärkung des Hochfrequenzinhalts des analogen Signals, das dazu zugeführt ist, zu korrigieren, während die lineare Phase beibehalten wird. Genauer gesagt korrigiert das Verstärkungsfilter 30 einiges der Konvolutions-Verzerrung, was dann realisiert wird, wenn die Fleckgröße des Laserstrahls 13 (1) wesentlich größer als das schmalste Symbolelement (d. h. ein Balken 14b oder ein Raum 14s) in dem Barcode 14 ist. Wenn sich die Fläche des Laserstrahls 13 nach außen von dem Barcode 14 bewegt, beginnt ein typisches Strahlprofil in der x-Richtung (1) außen breit, wird schmal, bis ein Minimum an der Taille erreicht wird, und wächst dann größer an weiter weg liegenden Bereichen an. Eine Konvolutions-Verzerrung ist dann am stärksten vorherrschend, wenn Symbole mit hoher Dichte nahe dem Scanner 12 angeordnet sind, wo die Fleckgröße groß ist, oder bei Symbolen, die weit im Bereich des Scanners 12 hinein dorthin angeordnet sind, wo die Fleckgröße auch groß wird. Genauer gesagt ist, in der Barcode-Laserabtastung, einer der Faktoren, die den Arbeitsbereich des Scanners begrenzen, der Filtereffekt des optischen Strahls in Bezug auf das originale Doppel-Pegel-(d. h. Balken-Raum)Barcode-Signal. Der Zweck eines analogen Kantenverstärkungsfilters 30 ist derjenige, den Effekt der finiten Breite des optischen Strahls zu kompensieren. Dies führt effektiv zu einer höheren Auflösung des Scanners.
  • Der optische Fleck des Lasers wirkt als ein Tiefpassfilter in Bezug auf das originale Barcode-Signal 32 (3A), das durch den Detektor 22 erzeugt ist. Dies führt zu einer Glättung der Kanten beziehungsweise Flanken des Signals. Wenn die Fleckgröße größer als das kleinste Element des Barcodes ist (d. h. ein Einheitsmodul; Balken oder Raum), dann sind es nicht nur die Kanten, die geglättet werden, sondern es verringert sich auch die Höhe der Kanten. Dies kann dann gesehen werden, wenn das Signal der 8A und 8B betrachtet wird, wobei 8A das Ausgangssignal 32' des Detektors 22 für eine Fleckgröße von 2,0 Modulen ist, und 9A die Ausgangssignale 32'' des Detektors 22 für eine Fleckgröße von 2,8 Modulen ist. Auch verschieben sich, wenn die Fleckgröße größer wird, die tatsächlichen Kanten-Stellen. Dies wird oftmals als eine Konvolutions-Verzerrung bezeichnet. Eine übermäßige Konvolution kann die Decodierfähigkeit des Barcodes verhindern. Wenn man die ersten Ableitungssignale für einen großen Fleck (2,0 Module), wie dies in 9A dargestellt ist, mit 2,8 Modulen, wie dies in 9B dargestellt ist, vergleicht, verringert sich die Höhe der Peaks des ersten Ableitungssignals 34H'' für einige der Kanten, wie dies dann ersichtlich ist, wenn der Peak 34H'' in 9B mit demselben entsprechenden Peak 34' in 9A verglichen wird. Wenn diese Peak-Werte unterhalb eines festgelegten Schwellwerts abfallen (gewöhnlich ungefähr 20% des Maximums), wird eine Schwellwertschaltung 202 (2, die noch beschrieben wird) diesen dann nicht annehmen. Wenn die Kanten kleiner als der Schwellwert sind, oder wenn sich die Kanten zu stark verschieben, dann ist der Barcode nicht decodierbar. Der Zweck des Verstärkungsfilters 30 ist derjenige, die Kantenstärken zu verstärken (d. h. die Peaks 341 3410 , und zwar in dem Signal, das durch die Differenziererschaltung 34 erzeugt sind, bevor sie zu dem Multi-Bit-Digitalisierer 20 hindurchgeführt werden, so dass die gültigen Kanten den Schwellwert übersteigen werden, ebenso wie sie nahe genug zu der geeigneten Stelle liegen, so dass der Barcode decodierbar ist). Die Peaks in den Signalen, dargestellt in den 8B und 9B, sind jeweils in den 8C und 9C dargestellt.
  • Die Fleckgröße des Lasers ist eine physikalische Länge, gemessen in Mikrons oder Mils. Allerdings kann, da der Laserstrahl abtastet, die Fleckgröße, dahin angesehen werden, dass sie eine Größe (oder Zeitdauer) in Sekunden besitzt. Die Zeitdauer des Flecks ist die physikalische Größe (beispielsweise in Inch) geteilt durch die Geschwindigkeit (beispielsweise in Inch/Sekunde). Es ist geeignet, in der Zeitdomäne zu denken, da das empfangene Signal ein Zeitdomänensignal ist, und die gesamte darauf folgende Verarbeitung (d. h. analoge Filterung, Digitalisierung, usw.) in der Zeitdomäne vorgenommen wird.
  • Die Größe des optischen Flecks ändert sich, wie vorstehend angeführt ist, mit dem Abstand von dem Scanner. Hinter der Taille des Strahls wächst die Fleckgröße ungefähr linear mit dem Abstand an. Die Fleckgeschwindigkeit des Lasers wächst linear als eine Funktion des Abstands von dem Scanner an. Demzufolge ist, hinter der Taille des Strahls, die Fleckdauer, in Sekunden, ungefähr festgelegt, da sie das Verhältnis der Fleckgröße zu der Abtastgeschwindigkeit ist. Dies macht es einfacher, ein Kantenverstärkungsfilter 30 auszulegen, da, in der Zeitdomäne, das Tiefpassfilter, das in Bezug auf das Barcodesignal (d. h. den Laserstrahl) arbeitet, annähernd ein festgelegtes Filter ist. Da der optische Strahl ein Gauß'scher Strahl ist, ist das Impulsansprechverhalten des Tiefpassfilters ein Gauß'sches Ansprechverhalten
    Figure 00280001
    wobei die Fleckgröße in der Zeitdomäne 4σ ist. Die Laplace-Transformation dieses Impulsansprechens ist
    Figure 00280002
  • Das Kantenverstärkungsfilter 30 wird in Form eines angenäherten inversen Filters mit H(s) unter Verwendung einer Taylor Reihenapproximation ausgeführt: G(s) = N(s)Δ(s)
    Figure 00280003
  • Der Nenner, Δ(s), gibt die Polstellen an, die gewöhnlich bestimmte standardmäßige Tiefpassfilterpole (z. B. Butterworth, Bessel) sind. Diese Pole sind auf höhere Frequenzen als die Null'en gesetzt, um so eine große Verstärkung der hohen Frequenzen zu verhindern, die nur das Rauschen erhöhen würden.
  • 9 stellt die Transformationsfunktion H(f) aufgrund des optischen Flecks, die Übertragungsfunktion G(f) aufgrund des Kantenverstärkungsfilters und die Übertragungsfunktion der Kombination H(f)G(f) dar. Es ist anzumerken, dass die Bandbreite des kombinierten Systems verbreitert wird.
  • Der Effekt des Kantenverstärkungsfilters 30 ist derjenige, den Arbeitsbereich des Scanners 12 zu verbessern. Unter Abständen, bei denen die Fleckgröße des Laserstrahls 13 so groß ist, dass die Stärke der Kanten geringer als der Schwellwert in dem Multi-Bit-Digitalisierer 20 ist oder die Kanten zu stark verschoben worden sind, ist der Barcode nicht decodierbar. Das Kantenverstärkungsfilter 30 verstärkt, wie vorstehend angeführt ist, die Kanten des Signals so, dass sie den Schwellwert übersteigen werden, um näher zu der geeigneten Stelle zu liegen, und der Barcode ist decodierbar. Die 24 und 25 stellen Signale dar, die dann erzeugt sind, wenn ein hochdichter Barcode (z. B. 3,5 mil (Milli-Inch)) mehrere Inch von dem Rauschen eines Standard-Bereich-Scanners abgetastet werden. 24 stellt das Signal dar, das durch die Differenziererschaltung 24 erzeugt ist, und 25 stellt dasselbe Signal dar, nachdem es durch das Verstärkungsfilter 30 hindurchgeführt ist. Es ist anzumerken, dass die Flanken des verstärkten Signals, erzeugt durch das Verstärkungsfilter 30, viel stärker hervorgehoben werden, und es ist viel einfacher, ein solches verstärktes Signal zu digitalisieren und zu decodieren.
  • Das Verstärkungsfilter 30 umfasst, wie 11 zeigt, vier modifizierte Butterworth-Pole, und zwei komplex-konjugierte Paare von Null'en (ein Paar von komplex-konjugierten Null'en auf der rechten Seite der imaginären Achse, das andere Paar auf der linken Seite) so angeordnet, um eine lineare Phase über die "verstärkten" bzw. "hervorgehobenen" Frequenzen, die von Interesse sind, zu erzielen.
  • Eine solche Schaltung 42 umfasst, unter Bezugnahme nun in weiterem Detail, auf die Zeitpunkterzeugungsschaltung 42 (2): eine Zweiwegegleichrichterschaltung (Full Wave Rective Fire Circuit-FWR) 200, um das bipolare Signal auf der Leitung 41 in ein entsprechendes, unipolares elektrisches Signal auf der Leitung 201 umzuwandeln. Die Schwellwertschaltung 202 wird mit einem unipolaren Signal auf der Leitung 201 und einem Referenzpotential, das durch die Schwellwertschaltung 202 selbst erzeugt ist, um einen vorbestimmten Prozentsatz darzustellen, hier 80% eines Peak-Pegels in dem unipolaren Signal, versorgt. Die Schwellwertschaltung 202 erzeugt ein logisches Signal auf der Leitung 204, das zu der Differenz zwischen dem Pegel des unipolaren Signals auf der Leitung 201 und dem Referenzpotential in Bezug gesetzt ist. Die Zeitpunkterzeugungsschaltung 42 umfasst die Kantendetektorschaltung 206 (14), die mit dem unipolaren Signal auf der Leitung 201 für eine Hochpassfilterung des unipolaren Signals auf der Leitung 201 und zum Erzeugen eines logischen Signals auf der Leitung 208 versorgt wird. Das logische Signal auf der Leitung 208 ändert den logischen Zustand dann, wenn sich das unipolare Signal auf der Leitung 201 bei seinem minimalen oder maximalen Wert befindet. Die Zeitpunkterzeugungsschaltung 42 umfasst eine Zeitpunktsteuerlogikschaltung 210, die durch die Kantendetektorschaltung 206 versorgt wird, die Schwellwertdetektorschaltung 202 (15) und die Enderfassungsschaltung 214, um die Kanten-Stärke-Zeitpunkt-Impulssignale auf der Leitung 17 zu erzeugen. Der Kantenstärkeimpuls beginnt, wenn ein Peak in dem unipolaren Signal auf der Leitung 201 oberhalb des Schwellwertpegels, eingerichtet durch den Schwellwertdetektor 202, erfasst wird, und fährt für eine Zeitperiode fort, die zu der Größe des Peaks des unipolaren Signals in Bezug gesetzt ist, d. h. der Peak-Pegel des unipolaren Signalimpuls. Die Polarität-Erzeugungsschaltung 44 spricht auf das elektrische Signal, das durch die Differenziererschaltung 24 erzeugt ist (oder nach Modifikation, wenn vorhanden, durch das Verstärkungsfilter 30), das elektrische Signal, das durch die Randerfassungsschaltung 40 erzeugt ist, das Kantenstärkezeitpunktimpulssignal auf der Leitung 17 und ein Referenzsignal auf der Leitung 212, das für den durchschnittlichen Pegel des elektrischen Signals, erzeugt durch die Differenziererschaltung 24, repräsentativ ist, an, und spricht dann an, wenn "ein" am Verstärkungsfilter 30 vorliegt, was ein logisches Signal auf der Leitung 19 erzeugt, das ein Signal mit einem ersten logischen Zustand besitzt, das durch die Differenziererschaltung 22 erzeugt ist, und spricht dann an, wenn "ein" am Verstärkungsfilter 30 vorliegt, was größer als das Referenzsignal auf der Leitung 212 ist und das einen zweiten logischen Zustand besitzt, wenn das elektrische Signal, erzeugt durch die Differenziererschaltung 24, vorliegt, und, wenn "ein" am das Verstärkungsfilter 30 vorliegt, was geringer als das Referenzsignal auf der Leitung 212 ist.
  • Die Randerfassungsschaltung 40 (12) erfasst das Vorhandensein eines Barcodes und lässt zu, das Zeit- und Polaritätssignale auf der Leitung 17, 19 jeweils erzeugt werden. Die Randerfassungsschaltung 40 umfasst ein Widerstandsspannungsteilernetzwerk 214 (R29, R74), das mit einer Referenzspannung VREF, hier 1,9 Volt, versorgt wird. Die Spannung, die durch das Netzwerk 214 erzeugt ist, wird mit dem verstärkten, differenzierten, analogen Signal, das durch das Signal auf der Leitung 41 erzeugt ist, verglichen. Wenn die erste, ins Negative laufende Balkenkante vorliegt (d. h. wenn das Signal 34, 3A, von 32H1 zu 32I1 übergeht), erzeugt der Komparator 216 (12) eine relativ niedrige Spannung. Diese niedrige Spannung schaltet den Transistor Q7 "aus" und hebt den Pegel der Spannung an der Kollektorelektrode davon (d. h. Leitung 218) auf eine Versorgungsspannung, VREG, über einen Widerstand R119 an. Dies ermöglicht wiederum, dass Zeitimpuls- und Polaritätssignale auf den Leitungen 17, 19 erzeugt werden. Nachdem der Barcode nicht länger vorhanden ist, d. h. das Signal 34 (3A) erreicht einen hohen Bereitschaftszustand-Pegel, d. h. 32H6 , wird der Komparator 216 eine offene Schaltung an seinem Ausgang. In diesem Zustand beginnt der Kondensator 6 damit, sich auf VREG über den Widerstand R30 aufzuladen. Wenn die Spannung an dem Kondensator C6 eine Spannung von 0,7 Volt erreicht, sättigt sich der Transistor Q7, was die Kollektorelektrode davon, und demzufolge die Leitung 218, auf einen "niedrigen" Pegel zieht. Dies verhindert, dass das Zeitimpulssignal an der Leitung 17 erzeugt wird und stellt auch den logischen Pegel des Polaritätssignals auf der Leitung 19 auf "hoch" ein. Der Multi-Bit-Digitalisierer 20 erzeugt, wie vorstehend angeführt ist, das Zeitimpulssignal auf der Leitung 17, wobei die Dauer davon proportional zu der Höhe der Peaks des verstärkten, differenzierten, analogen Signals auf der Leitung 41 ist. Die ansteigende Flanke des Impulses tritt an dem Peak des verstärkten, differenzierten, analogen Signals an der Leitung 41 auf, so dass die vorstehend beschriebenen Schwellwertbedingungen erfüllt sind.
  • Wie 13 zeigt, umfasst der FWR 200 einen Kondensator C3, Widerstände R24, R11, R23, R10, R26, ein Paar Dioden D1, D2 und Operationsverstärker 222, 224, wobei alle so angeordnet sind, wie dies dargestellt ist. Die Funktion des FWR 200 ist wie folgt: Wenn das verstärkte, differenzierte, analoge Signal auf der Leitung 41, (Vin), unterhalb der Referenzspannung VREF fällt, wird die Diode D1 vorwärts vorgespannt und die Diode D2 wird rückwärts vorgespannt. Dies setzt die Spannung an der Anode der Diode D2 auf die Referenzspannung VREF. Die Spannung an dem Ausgang 220 von FWR 202, d. h. Vout = –(VREF + Vin)(R10/R26 – VREF(R10/R23) + VFER(1 + R10/(R26||R23)); wobei "||" der Widerstand von (R26)(R23)/(R26 + R23) ist; d. h. der Widerstand der parallelen Kombination der Widerstände R26, R23. Deshalb gilt Vout = VREF – Vin. Andererseits wird, wenn Vin oberhalb von VREF schwingt, D1 umgekehrt vorgespannt und D2 wird vorwärts vorgespannt. Dies stellt die Spannung an der Anode von D2 gleich zu –Vin + VREF ein. In diesem Fall wird der Ausgang der Leitung 201 des FWR gleich sein zu: Vout = –(VREF + Vin)(R10/R26) – (–Vin + VREF)(R10//R23) + VREF(1 + R10/(R26||R23)). Deshalb gilt Vout = VREF + Vin. Deshalb ist der Ausgang des FWR 200 ein unipolares Signal relativ zu der Referenzspannung, VREF.
  • Die Kanten der Erfassungsschaltung 206 ist in 14 dargestellt. Es ist als erstes anzumerken, das die Funktion der Kantenerfassungsschaltung 206 diejenige ist, die Kanten des verstärkten, differenzierten, analogen Signals auf der Leitung 41 zu lokalisieren, die zu den Balken/Raum/Kanten 14s (1) des Barcodes 14 korrelieren sollten. Das zweiwege-gleichgerichtete, verstärkte, differenzierte, analoge Signal auf der Leitung 201 wird, über ein R-C-Netzwerk 226, das aus einem Kondensator C1, hier 1000 pF, und einem Widerstand R1, hier 1,8 k Ohm, aufgebaut ist, zum Filter zugeführt. Die R-C-Kombination, d. h. das Netzwerk 226, arbeitet als eine passive Differenzierer-Stufe mit der Folge, dass die Peaks (Maxima) des Signals auf der Leitung 201 von FWR 200 zu Null'en aufgelistet werden, d. h. Signalen, die Pegel bei VREF haben. Dieses gefilterte Signal wird mit VREF (1,9 Volt) in dem Komparator 228 verglichen. Wenn die Peaks in dem differenzierten Signal, die durch das Netzwerk 226 erzeugt sind, größer als VREF sind, wird der Komparator 228 getriggert und erzeugt eine hohe Spannung an dem Ausgang 208. Widerstände R118, R15 und R21 erzeugen eine Hysterese, die verhindert, dass der Komparator 228 bei einem Rauschen einschaltet. Der Ausgang 208 des Komparators 228 schaltet auf einen hohen Pegel zu jedem Zeitpunkt um, zu dem das differenzierte Signal, das durch den Peak des Netzwerks 226 erzeugt ist, erfasst wird.
  • In 15 ist die Schwellwert-Schaltung 202 dargestellt. Die Funktion der Schwellwert-Schaltung 202 ist diejenige, den Pegel des FWR-Signals, erzeugt auf der Leitung 201, zu überwachen und den Ausgang 204 der Schwellwert-Schaltung 202 auf einen hohen Pegel dann umzuschalten, wenn der Pegel des Signals von FWR 200 (d. h. der Pegel des Signals auf der Leitung 201) oberhalb eines bestimmten Prozentsatzes geht, hier 80% des Peak-Spannungspegels auf der Leitung 201. Der Komparator 230, die Diode CR7 und der Kondensator C42 bilden einen positiven Peak-Detektor. Die Ladungszeit des Kondensators C42 wird durch die Ausgangsimpedanz des Komparators 230 in Reihe zu dem dynamischen Widerstand der Diode CR7 gesteuert. Die Ladezeit des Kondensators C42 wird durch den Widerstand R83 in Reihe mit der parallelen Kombination der Widerstände R115, R36, wie dies dargestellt ist, gesteuert. Die Spannung, die zu dem invertierenden Eingang (–) des Komparators 232 zugeführt ist, ist deshalb ein Prozentsatz der Peak-Spannung an dem Kondensator C42; genauer gesagt ist die Spannung an dem invertierenden Eingang (–) des Komparators 232 gleich zu Vcap(R36/(R36 + R83||R115)); wobei Vcap die Spannung an dem Kondensator C42 ist und R83||R115 (R115) (R36)/(R115 + R36) ist. Die Spannung an dem den Eingang invertierenden Eingang (–) des Komparators 232 wird mit der FWR Spannung an der Leitung 201 verglichen. Die Spannung an der Leitung 201 wird dem nicht-invertierenden (–) Eingang des Komparators 232 über Widerstände R39, wie dies dargestellt ist, zugeführt. Wenn die FWR-Spannung an der Leitung 201 oberhalb der Spannung an dem invertierenden Eingang (–) des Komparators 232 liegt, geht der Ausgang 204 des Komparators 232 auf einen hohen Pegel, hier VREG. Die Widerstände R39, R118 und R92 liefern eine Hysterese und ziehen den Ausgang des Komparators 232 hoch auf seine Versorgungsspannung VREG.
  • Die Zeitpunkterzeugungsschaltung 42 umfasst auch, wiederum kurz unter Bezugnahme auf 2, eine Zeitsteuerung und logische Schaltung 210 (16) und eine A/D Wandlerschaltung 250 (17). Die Zeitpunktsteuer- und Logik-Schaltung 210 erzeugt einen ins Positive laufende Impuls an der Leitung 17 unter den Peaks, die durch den FWR 200 auf der Leitung 201 erzeugt sind. Die Zeitsteuerlogikschaltung 210 ist, unter Bezugnahme auf 16, so dargestellt, dass sie vier NAND-Gatter 252, 254, 256 und 258 umfasst, die so angeordnet sind, wie dies dargestellt ist, und so aufgebaut sind, um logisch äquivalent zu einem einzelnen Dreifach-Eingang UND-Gatterabschnitt 259 zu sein. Die Eingänge zu der logischen Schaltung 259 sind die Ausgänge der Randerfassungsschaltung 40 (d. h. Leitung 218), der Kantenerfassungsschaltung 208 (d. h. Leitung 208) und der Schwellwerterfassungsschaltung 202 (d. h. Leitung 204). Die Leitungen 204, 208 werden als Eingänge zu dem NAND-Gatter 252 zugeführt, wobei der Ausgang davon zusammen mit einer festgelegten, logischen Spannung V1, zu dem NAND-Gatter 254 zugeführt wird, wobei der Ausgang davon, entlang der Leitung 218, zu dem NAND-Gatter 256 zugeführt wird, wie dies dargestellt ist. Der Ausgang der logischen Schaltung 259 ergibt ein Signal für einen Takt-Anschluss 260 eines D-Flip-Flops 262. Demzufolge wird, wenn drei Bedingungen erfüllt sind; (1) ein Rand oder ein Barcode-Muster, ist durch die Randerfassungsschaltung 40 erfasst (Leitung 218); (2) eine Kante erfasst ist durch die Kantenerfassungsschaltung 206 (Leitung 208); und (3) das Schwellwerterfordernis, das durch den Schwellwert-Detektor 202 eingerichtet ist, ist erfüllt (Leitung 204); ein Taktsignal zu dem Anschluss 260 zugeführt, um ein hohes Signal, zugeführt zu dem "D" Eingangsanschluss des Flip-Flop 262, zu takten, um dadurch einen hohen Pegel an dem Q-Ausgang des Flip/Flop 262 zu erzeugen, wobei ein solcher Q-Ausgang zu der Leitung 17 zugeführt wird. Demzufolge wird, wenn die drei Bedingungen erfüllt sind, der Kanten-Stärke-Impuls an der Leitung 17 begonnen. Auch geht, wenn der Ausgang Q zu hoch läuft, der komplementäre Ausgang Q* zu niedrig über. Das Signal mit niedrigem Pegel an dem komplementären Ausgang Q* wird, über die Leitung 270, zu dem A/D-Wandler 250 geführt (2 und 17).
  • Genauer gesagt wird der Q* Ausgang, über eine Leitung 270, zu Anschlussstiften E3 und E4 des analogen Schalters 272, hier ein Modell HC 4066, geführt. Die A/D-Wandler-Schaltung 250 wird dann freigegeben, wenn der komplementäre Ausgang Q* zu niedrig übergeht. Vor diesem Ereignis ist Q* hoch. Ein hoher Pegel an den Stiften E3 und E4 des analogen Schalters 272 erzwingt das Schließen des analogen Schalters und verbindet den Eingangsstift A3 mit dem Ausgangsstift B3 und verbindet den Eingangsstift A4 mit dem Ausgangsstift 64. Der Stift A4 ist der Ausgang von FWR 200 über die Leitung 201. Der Ausgangsstift B3 ist mit einem Widerstand-Kondensator-Netzwerk 273 verbunden, der aus einem Kondensator C5, einem Impedanz-Puffer-Verstärker 275 mit hohem Eingang und einem Widerstand R82 aufgebaut ist, wie dies dargestellt ist. Während die Anschlussstifte A3 und B3 verbunden sind, wirkt der Kondensator C5 als ein Abtastkondensator, und das Signal an den Eingangstift A3 (d. h. der Ausgang von FWR 200) wird über das Widerstand-Kondensator-Netzwerk 273 zu dem nicht-invertierenden Eingang des Komparator 274 zu geführt, wie dies dargestellt ist. Der Widerstand R32, der Kondensator C24 und der Komparator 276 sind so angeordnet, wie dies dargestellt ist, um einen Integrator 277 zu bilden. Solange wie der Eingangsstift A4 mit dem Ausgangsstift B4 verbunden ist, ist der Integrator 277 gesperrt und VREF, zugeführt zu dem nicht-invertierenden Eingang (+) des Komparators 276, erscheint an dem Ausgang des Komparators 276 (d. h. an Leitung 278) und deshalb an dem invertierenden Eingang (–) des Komparators 274. Wenn der Pegel des Signals, das an dem Ausgang des FWR 200 (an der Leitung 201) an dem nicht-invertierenden Eingang (+) des Komparators 274 erzeugt ist, größer als VREF an der Leitung 278 ist, befindet sich der Komparator 274 auf einem hohen Pegel. Der Ausgang des Komparators 274 wird, über die Leitung 282, dem Lösch-Eingang des D-Flip/Flop 262 (16) zugeführt. (Es sollte angemerkt werden, dass der Schalter 57 mit dem oberen Teil des Schalters 272 ausgeführt werden kann.
  • Genauer gesagt kann der Anschluss 571 mit dem Anschluss A1 verbunden werden, der Anschluss 572 kann mit dem Anschluss A2 verbunden werden und der Anschluss B1 (hier verbunden gemeinsam mit B2) kann die Leitung 41 versorgen.
  • Wenn ein Peak in dem Signal, erzeugt an dem Ausgang des FWR 200 (Leitung 201), erfasst ist (und die drei Bedingungen, die vorstehend beschrieben sind, erfüllt sind), geht das komplementäre Signal Q* (Leitung 270) zu niedrig über. Deshalb geht das Signal an den Stiften E3 und E4 des analogen Schalters 271 zu niedrig über, was den Eingangsstift A3 von dem Ausgangsstift B4 unterbricht und den Eingangsstift A4 von dem Ausgangsstift B4 unterbricht. An diesem Punkt wird die Spannung an dem Kondensator C5 (17) auf dessen Peak-Wert gehalten und der Integrator 277 wird freigegeben. Die Ausgangsspannung, vout, erzeugt durch den Integrator 277 auf der Leitung 278, wird eine Rampe sein. Die exakte Spannungs-Formel ist wie folgt: vout = (1/C24)(∫ARCREF2/R32)dt + ARCREF2)
  • Wenn die Rampen-Spannung an der Leitung 278 größer als die Peak-Spannung an dem nicht-invertierenden (+) Eingang des Komparators 274 wird, schaltet der Komparator 274 von seinem hohen Pegel zu seinem niedrigen Pegel um, und löscht über die Leitung 282, das D-Flip/Flop 262 (16); d. h. der Q Anschluss geht zu niedrig über, was das Zeitimpulssignal auf der Leitung 17 beendet. Weiterhin geht der Q* Anschluss zu hoch über. An diesem Punkt wird der Integrator 277 erneut gesperrt. Die Widerstände R82, R40 und R114 liefern eine Hysterese und setzen auf VREG hoch.
  • Deshalb erzeugt, zusammengefasst, der Ausgangsanschluss Q des D-Flip/Flop 262 das Zeitimpulssignal für den Decodierer 21 (1). Er wird durch das Takten an den Peaks des Signals, erzeugt durch FWR 200, eingestellt und durch das Lösch-Signal für das D-Flip/Flop 262 auf der Leitung 282 von dem A/D-Wandler 250 zurückgesetzt (17). Die Zeit, während der der Q Anschluss des D-Flip/Flop auf einem hohen Pegel verbleibt, ist proportional zu der Amplitude der Peaks des Signals, das durch FWR 200 auf der Leitung 201 erzeugt ist.
  • In 18 nun ist die Polarität-Erzeugungsschaltung 44 dargestellt. Das Polaritätssignal, erzeugt durch eine solche Schaltung 44 auf der Leitung 19, stellt die Polarität des differenzierten, analogen Signals auf der Leitung 41 an seinen Peaks dar. Das differenzierte, analoge Signal auf der Leitung 41 wird mit VREF (seine ac-Erdung) auf der Leitung 212 in dem Komparator 290 verglichen. Wenn das Signal auch an der Leitung 41 oberhalb der Referenz VREF liegt, befindet sich der Ausgang des Komparators 290 auf einem niedrigen Pegel. Andererseits befindet sich, wenn das Signal auf der Leitung 41 unterhalb der Referenz VREF ist, der Ausgang des Komparators 290 auf einem hohen Pegel. Dieser Ausgang wirkt als Datenleitung zu einem D-Flip/Flop 272. Die Widerstände R80, R98 und R60 liefern eine Hysterese und setzen auch VREG herauf, wie dies dargestellt ist. Die Daten an dem D-Anschluss des D-Flip/Flop 272 erscheinen als das Polaritätssignal auf der Leitung 19 an der ansteigenden Flanke des Zeitimpulssignals auf der Leitung 17. (Das Signal auf der Leitung 17 wird zu dem Takt-Anschluss, CK, des D-Flip/Flop 272 zugeführt, wie dies dargestellt ist.)
  • Um ein Multi-Bit-Signal (basierend auf einer Kombination des beschriebenen Zeitimpulssignals auf der Leitung 17 und des Polaritätssignals auf der Leitung 19) zu decodieren, ist es zuerst notwendig, die Signale auf den Leitungen 17 und 19 in digitale Werte umzuwandeln, die die Kanten-Stellen und -Stärken darstellen. Kurz gesagt umfasst der Decodierer 21 zwei Zähler: einen 16-Bit-Zähler 302, um Zeiten von Kante zu Kante eines Barcodes zu messen, te (1), von der Kanten-Stärke- oder Zeitimpulssignal auf der Leitung 17 und ein 8-Bit-Zähler 300, um die Größe des Stärke-Signals (d. h. die Zeitdauer ts) von dem Signalstärke-Zeitstärke-Signal auf der Leitung 17 zu messen. Die Taktrate des Zählers 300 ist schneller als die Taktrate für den Zähler 300, hier um einen Faktor 5. An jeder Barcode-Kante liest der Detektor 21 die zwei Zählerwerte, setzt die Zähler zurück und speichert die Werte in einem Speicher 304 zusammen mit dem Polaritäts-Bit des Polaritätssignals auf der Leitung 19. Die Polarität wird getestet, und wenn sie positiv ist, dann wird der Stärkewert direkt gespeichert. Wenn sie negativ ist, speichert der Decodierer eine negative Stärke. Wenn eine Abtastung von Multi-Bit-Daten gespeichert worden ist, muss sie decodiert werden. Wie in den Zeit-Historiken für das Beispiel in 1 gezeigt ist, besitzt die Mitte der Signale der zwei Zeitimpulse P1, P2 dieselbe Polarität, so wie dann, wenn dort zwei negative Flanken in einer Reihe vorhanden wären.
  • Der Decodier-Algorithmus, der durch die CPU 306 durchgeführt wird, kann als ein Vorprozess oder ein Nachprozess angesehen werden. 19 stellt ein Flussdiagramm des Decodier-Algorithmus dar. Der Vorprozess umfasst zuerst ein Analysieren der Kanten-Stärke-Zeit-Impulssignale, um eine Kantenstärke zu bestimmen, und zwar unter Auswahl eines Rauschschwellwertes, um reale und falsche Kanten zu trennen und um dann die Daten zu einem Standard-DBP-Format umzuwandeln. Nachdem ein Standard-Decodier-Versuch in Bezug auf die konvertierten DBP-Daten durchgeführt worden ist, analysiert die Nach-Verarbeitung die Decodierergebnisse und leitet Näherungsvorgänge ein. Wenn eine vollständige Decodierung aufgetreten ist, wird die Nach-Decodier-Analayse entscheiden, ob diese Decodierung zu akzeptieren ist, und zwar basierend auf bestimmten Sicherheitsprüfungen. Die Nach-Verarbeitung wird auch entscheiden, ob eine zweite Decodierung in Bezug auf dieselben Daten zu versuchen ist und ob das Verstärkungsfilter 30 auf "ein" oder "aus" zu setzen ist.
  • Der Vorgang eines Umwandelns der Multi-Bit-Daten zu DBP ist in 20 dargestellt. Die Kantenstärken sind als vertikale Linien gezeigt, deren Höhe und Richtung die Stärke und die Polarität darstellen. Dabei sind zwei Regeln vorhanden, die in dem Umwandlungsverfahren verwendet werden. Zuerst werden alle Kanten, die unterhalb des Rauschschwellwerts liegen, ignoriert. Als zweites wird, wenn mehrere Kanten derselben Polarität oberhalb des Rauschschwellwerts vorhanden sind, die stärkere Kante ausgewählt. Die einzelnen Decodier-Versuch-Verarbeitungsschritte sind nachfolgend beschrieben:
    • (1) Eine vollständige Abtastung von Daten wird über die Signale, Zeit, Polarität und Start einer Abtastung (SOS) erhalten (1) und in den Speicher 304 eingeladen. Die Daten bestehen aus einer Folge von Kanten (positiv oder negativ) und Kanten-Stärken;
    • (2) Nachdem die Daten erhalten sind, werden Histogramme (21 und 22, die später im Detail nachfolgend beschrieben werden) unter Verwendung der Größe der Kanten-Stärken aufgebaut. Die Peaks und Täler der Histogramme werden analysiert und als Histogramm-Merkmale gespeichert. Täler in den Histogrammen stellen mögliche Umwandlungsschwellwerte dar. Kanten, deren Stärken unterhalb des Umwandlungsschwellwerts liegen, werden als Rauschen angesehen und werden ignoriert; und
    • (3) Wenn einmal ein Umwandlungsschwellwert ausgewählt ist, werden die Daten in ein Standard-DBP-Format umgewandelt. Während der Umwandlung wird die Zahl der Kanten-Stärke-Signale, die ignoriert sind, gezählt, um den Umfang eines Rauschens anzuzeigen, der in dem Barcode-Signal vorhanden ist. Dieses Maß für das Rauschen wird durch die Nach-Decodier-Analyse verwendet;
    • (4) Um einen großen, dynamischen Bereich zu erreichen, wird die Zeit zwischen Kanten, te, unter Verwendung von Zeitgebern mit 16 Bit, gemessen. Nachdem die Multi-Bit-Daten in ein Standard-DBP-Format umgewandet sind, werden die Daten mit 16 Bit herunter zu 8 Bit skaliert. Die Größe einer Skalierung wird basierend auf den mittleren zehn Elementen der DBP-Daten ausgewählt;
    • (5) Nachdem die Multi-Bit-Daten in ein Standard-DBP-Format umgewandelt worden sind, werden sie durch die Standard-Decodier-Algorithmen mit 8 Bit verarbeitet. Die Standard-Decodier-Algorithmen werden leicht modifiziert, um detaillierte Informationen über den fehlgeschlagenen Decodier-Versuch zurückzuführen (z. B. wie viele Zeichen decodiert wurden?). Diese Informationen werden durch die Nachdecodieranalayse verwendet;
    • (6) Nach einem Standard-Decodier-Versuch prüft die Nachdecodieranalyse die Decodier-Ergebnisse, das Maß des Rauschens und die Histogramm-Merkmale, und leitet geeignete Vorgänge ein. Wenn eine vollständige Decodierung aufgetreten ist, wird die Nachverarbeitung entscheiden, ob diese Decodierung anzunehmen ist, und zwar basierend auf der decodierten Nachricht und des Maßes für das Rauschen (Zahl der Kanten, die ignoriert sind). Zum Beispiel können "schwache" Code-Typen, wie beispielsweise verschachtelte 2 aus 5, zurückgewiesen werden, wenn ein großer Anteil an Rauschen vorhanden ist. Die Nachdecodieranalyse wird auch entscheiden, ob eine zweite Decodierung in Bezug auf dieselben Multi-Bit-Daten zu versuchen ist und ob die Verstärkungsfilterung auf "ein" ("on") (d. h. "herein") oder auf "aus" ("off") (d. h. "heraus") geschaltet werden sollte.
  • Ein wichtiger Aspekt zum Decodieren von schlecht gedruckten Barcoden unter Verwendung der Kanten-Stärke-Zeitimpulssignale ist eine Bestimmung, welche Kanten "real" sind, im Gegensatz zu solchen, die durch Rauschen verursacht sind. Um diese vorzunehmen, werden Histogramme (21) der Kanten-Stärken verwendet. Typicherweise besitzen diese Histogramme zwei Haupt-Peaks; einen Peak, der aus schwächeren Kanten besteht, stellt das Rauschen dar, der andere, der aus den stärkeren Kanten besteht, stellt einen Barcode dar. Der niedrigste Punkt in dem Tal zwischen den zwei Peaks ist der Rausch-Schwellwert (Kanten stärker als der Schwellwert werden als real angesehen).
  • Das Herausfinden dieses Punkts besteht aus den folgenden Schritten (23):
    • (1) Das Kanten-Stärke-Histogramm besteht aus einem Feld mit 128 Byte. Dieses Element dieses Felds stellt eine mögliche Kanten-Stärke (0–127) dar. Der Wert jedes Elements in dem Feld stellt die Anzahl des Auftretens von Kanten dar, die diese Stärke haben. Um das Histogramm zu erzeugen, wird die Multi-Bit-Beladung durchquert, und, unter Verwendung jeder Stärke als ein Index in das Feld hinein, wird die ungefähre Histogramm-Stelle erhöht;
    • (2) Das Anfangs-Histogramm (21) tendiert dazu, dass es in der Verteilung sehr grob ist, die viele hohe Peaks und tiefe Täler besitzt. Dies gestaltet es für die Software schwierig, zu bestimmen, welche von diesen die wahren Peaks und Täler sind. Um dabei zu helfen, dieses Problem zu lösen, wird das Histogramm geglättet (22), und zwar unter Verwendung einer Rolling-Summe-Technik. In dem geglätteten Histogramm stellt jede Stelle die Summe von vier aufeinander folgenden Stellen des originalen Histogramms dar. Jede aufeinander folgende Summe in dem geglätteten Histogramm überlappt die vorherige Summe um drei Stellen des originalen Histogramms. Zum Beispiel: smoothed_hist[0] = hist[0] + hist[1] + hist[2] + hist[3] smoothed_hist[1] = hist[1] + hist[2] + hist[3] + hist[4];
    • (3) Wenn einmal das Histogramm geglättet ist (22), werden jeder Peak und jedes Tal identifiziert. Ein Peak ist als irgendeine Stelle definiert, deren unmittelbare Nachbarn kleiner sind. In ähnlicher Weise ist ein Tal als irgendeine Stelle definiert, deren unmittelbare Nachbarn größer sind. In Fällen, in denen ein unmittelbarer Nachbar gleich ist, wird der nächste nicht gleiche Nachbar für die Bestimmung verwendet. Wenn ein Peak oder ein Tal einen Nachbar besitzt, der gleich ist, wird die am weitesten links liegende Stelle ausgewählt;
    • (4) Obwohl das Histogramm geglättet worden ist, besitzt es dennoch Wellungen darin. Um zu bestimmen, welche der Peaks und Täler, die in dem vorherigen Schritt aufgefunden sind, von Interesse sind, werden Peak- und Tal-Schwellwerte ausgewählt. Nur Täler, die sich unterhalb des Tal-Schwellwerts befinden, werden berücksichtigt. In ähnlicher Weise werden nur Peaks, die sich oberhalb des Peak-Schwellwerts befinden, berücksichtigt. Der Peak-Schwellwert wird unter Heranziehen des Durchschnitts aller Peak-Höhen größer als 4, ohne den höchsten Peak und den niedrigsten Peak (der größer als 4 ist), bestimmt. Dieser Wert wird dann durch eine negative 2 vorgespannt, um Grenzlinien-Peaks zu akzeptieren. Wenn weniger als 5 Peaks vorhanden sind, die größer als 4 sind, wird der Schwellwert auf den niedrigsten Peak gesetzt, der größer als 4 ist. Wenn dabei nur 1 Peak größer als 4 vorhanden ist, wird der Schwellwert auf diesen Wert minus 1 gesetzt. Nur solche Peaks, die größer als der Schwellwert sind, werden in den nachfolgenden Schritten berücksichtigt. Der Tal-Schwellwert wird durch Heranziehen des Durchschnitts aller Tal-Tiefen größer als 0, ausschließlich des höchsten Tals und des niedrigsten Tals (das größer als 0 ist), bestimmt. Dieser Wert wird dann durch eine positive 2 vorgespannt, um Borderline-Täler zu akzeptieren. Wenn weniger als 5 Täler vorhanden sind, die größer als 0 sind, wird der Schwellwert auf das höchste Tal gesetzt, das größer als 0 ist. Wenn nur ein Tal größer als 0 vorhanden ist, wird der Schwellwert auf diesen Wert plus 1 gesetzt. Nur solche Täler, die geringer als der Schwellwert sind, werden in den nachfolgenden Schritten berücksichtigt. In Fällen, bei denen der Peak-Schwellwert geringer als der Tal-Schwellwert ist, wird die folgende Regel angewandt. Wenn dabei mehr Peaks als Täler gefunden wurden, wird der Tal-Schwellwert geich zu dem Peak-Schwellwert gesetzt. Ansonsten wird, wenn mehr Täler als Peaks vorhanden sind, der Peak-Schwellwert gleich dem Tal-Schwellwert gesetzt.
  • Nun kann, nachdem alle Peaks und Täler identifiziert worden sind, und Peak- und Tal-Schwellwerte ausgewertet worden sind, der Rausch-Schwellwert bestimmt werden. Grundsätzlich wird dies unter Auffinden in dem geglätteten Histogramm (22) des tiefsten Tals, das geringer als der Tal-Schwellwert ist, der zwischen zwei Peaks liegt, die größer als der Peak-Schwellwert sind, vorgenommen. Gelegentlich kann dieses Verfahren dahingehend fehlschlagen, ein Tal zu finden, und zwar aus mehreren Gründen; nur 1 Peak oberhalb des Peak-Schwellwerts, keine Täler unterhalb der Tal-Schwellwerte zwischen Peaks oberhalb des Peak-Schwellwerts, keine Peaks oder Täler, die deren Schwellwerte übersteigen, usw.. Wenn dies auftritt, wird das folgende Verfahren verwendet, um ein Tal aufzunehmen. Wenn keine vorhanden sind, wo keine Peaks oberhalb des Peak-Schwellwerts liegen, oder der erste Peak in der Liste den Peak-Schwellwert übersteigt, Aufnahme des ersten Tals in der Liste ungeachtet davon, ob dieses unterhalb des Tal-Schwellwerts liegt. Ansonsten Auswahl des tiefsten Tals in der Liste, das dem ersten Peak vorhergeht, der den Peak-Schwellwert übersteigt.
  • Ungeachtet des Verfahrens, das verwendet wird, werden, wenn einmal ein Tal von dem geglätteten Histogramm ausgewählt worden ist, die vier Stellen in dem originalen, ungeglätteten Histogramm, das den ausgewählten Punkt darstellt, geprüft. Die niedrigste der vier Stellen wird als der Schwellwert ausgewählt. Wenn mehr als eine dieser Stellen gemeinsam den niedrigsten Wert teilt, wird die am weitesten links liegende Stelle ausgewählt. Dieser Wert wird dann erniedrigt, so dass die Stärken gleich zu dem niedrigsten Punkt als reale Daten während des Umwandlungsverfahrens akzeptiert werden.
  • Nun, dass ein Rausch-Schwellwert bestimmt worden ist, können die Daten in ein Standard-DBP-Format zum Decodieren durch die Standard-Decodier-Algorithmen, die in den vorstehend angegebenen Patentanmeldungen beschrieben sind, umgewandelt werden. Dies kann durch Überqueren der Last- und der verknüpften bzw. zugeordneten Kanten, die nicht den Rausch-Schwellwert übersteigen, die zwischen die Kanten fallen, und zwar einer alternierenden Polarität, die dies so vornehmen, vorgenommen werden.
  • Zum Beispiel sind, in 26A, Zeit-Impulssignale 400, 402, 404, 406, 408 und 410 dargestellt, die Kanten Stärke-Pegel 20, 18, 9 11, 22 und 21 jeweils haben, wie dies gezeigt ist. Das entsprechende Polaritäts-Signal ist in 26B angegeben. Mit einem Schwellwert-Pegel von 15 werden zum Beispiel Zeit-Impulssignale 404 und 406 nicht durch einen solchen Schwellwert-Pegel überschritten und werden deshalb als falsche Kanten (d. h. Kanten von einem Rauschen) angesehen. Demzufolge ignoriert in der DBP-Umwandlung der Decodierer den Zeitimpuls 404, wie dies in 26C angegeben ist.
  • Wenn mehr als eine Kante derselben Polarität, die den Schwellwert-Pegel übersteigt, vor einem Auftreffen auf eine geeignete Kante der entgegengesetzten Polarität vorgefunden wird, wird das stärkste Kanten-Zeit-Impulssignal ausgewählt, wie dies in 27A, 27C dargestellt ist. Dabei sind zum Beispiel ein Zeit-Impulssignale 420, 422, 424, 426, 428, 430 und 432 dargestellt, die Kanten-Stärke-Pegel 20, 16, 68, 18, 17, 23 und 19 jeweils haben, wie dies in 27A angegeben ist. Wiederum ist zum Beispiel ein Schwellwert-Pegel 15. Demzufolge übersteigt das Zeit-Impulssignal 424 nicht den Schwellwert-Pegel von 15 und wird ignoriert, wie dies vorstehend beschrieben ist. Weiterhin besitzen in diesem Beispiel zwei aufeinander folgende Zeit-Impulssignale 428, 430 dieselbe Kanten-Polarität, wie dies in 27B dargestellt ist. Demzufolge wird das Zeit-Impulssignal, das den stärksten Kanten-Stärke-Pegel besitzt, hier der Zeit-Impuls 430, als der Zeit-Impuls ausgewählt, um ein Polarität- (d. h. das umgewandelte DBP-Signal der 27C) Änderungszustand in Abhängigkeit der Stärke der stärkeren Kanten zu bestimmen; d. h. das Zeit-Impulssignal 430, wie dies in 26C dargestellt ist.
  • Es sollte angemerkt werden, dass das Kanten-Verstärkungsfilter 30 (3) auf "ein" oder "aus" unter einer Softwaresteuerung umgeschaltet werden kann. Dieses Filter 30 erhöht, wenn es auf "ein" geschaltet ist, die Fähigkeit der Scanner, hoch dichtete Symbole zu lesen, wie dies vorstehend diskutiert ist. Allerdings wird, mit dem Filter 30 auf "ein", die Fähigkeit des Scanners, schlecht gedruckte Punkt-Matrix-Symbole zu lesen, verringert. Vorzugsweise wird das Kanten-Verstärkungsfilter 30 jede dritte Abtastung für die Dauer einer Abtastung auf "ein" umgeschaltet. Dies wird vorgenommen, um sicherzustellen, dass das Filter unter alternierenden Abtastrichtungen aktiv ist. In Fällen, in denen mehrere Decodierungen erforderlich sind, wenn einmal eine Decodierung aufgetreten ist, wird das Filter in dem Zustand verbleiben, in dem es zum Zeitpunkt der Anfangs-Decodierung war.
  • Das System wird nun im weiteren Detail beschrieben:
    In den Barcode-Laser-Scannern werden die Kanten des Barcodes durch das erfasst, was als ein Digitalisierer bezeichnet wird. Dabei sind viele Formen von Digitalisieren vorhanden, die gemeinsam bestimmte Merkmale teilen. Die älteren Scanner verwendeten nicht-lineare Elemente (d. h. Dioden), um einfache, kostengünstige Digitalisierer aufzubauen.
  • Allerdings passen, aufgrund der Verzerrung, die durch diese Nicht-Linearitäten der meisten, derzeitigen Digitalisierer hervorgerufen werden, in eine von zwei Kategorien: Erste Ableitungs- und zweite Ableitungs-Digitialisierer. In einem ersten Ableitungs-Digitalisierer wird ein Peak-Detektor benötigt und in einem zweiten Ableitungs-Digitalisierer wird ein Null-Durchgangs-Detektor benötigt. Dabei sind andere, geeignetere Faktoren vorhanden, allerdings ist die grundsätzliche Näherung ähnlich. Unter Bezugnahme auf einen ersten Ableitungs-Digitalisierer zeigt 33 ein Blockdiagramm eines standardmäßigen ersten Ableitungs-Digitalisierers, mit einem Eingangssignal r(t).
  • In dem ersten Ableitungs-Digitalisierer wird ein Tiefpassfilter 520 verwendet, um so viel Rauschen wie möglich zu entfernen, ohne das Barcode-Signal zu verzerren. Ein Ableitungs- und ein Peak-Detektor (521, 522) erfassen zusammen die Wendepunkte (Übergänge) des gefilterten Signals. Diese Punkte sollten sehr nahe zu den Kanten des originalen Barcode-Signals auftreten, allerdings wird ein gewisser Fehler aufgrund einer Konvolutions-Verzerrung aufgrund von Rauschen vorhanden sein.
  • Entsprechend einem anderen Aspekt der Erfindung wird sich dem Problem eines automatischen Beseitigens einer Unschärfe (Deblurring) für Barcode-Laserscanner zugewandt. Verschiedene Systeme sind in der Vergangenheit vorgeschlagen worden, zum Beispiel das Verfahren, das in dem US Patent Nr. 5,302,812 der Symbol Technologies, Inc., angegeben ist. Andere bekannte Systeme umfassen ein abstimmbares Verstärkungsfilter und ein Linsenfokussierungsmodul für einen Laser – solche Systeme bewegen allgemein den Unschärfe-Steuereingang zwischen verschiedenen Werten, während verschiedene Abtastungen von Daten in der Hoffnung einer Decodierung einer der Abtastungen gesammelt werden. Das System entsprechend des vorstehend angegebenen Patents prüft den Kontrast des analogen Signals, das empfangen ist. Dies impliziert einige Maßnahmen zum Abtasten des analogen Signals, um den Kontrast zu berechnen, gegebenen durch: C = (Imax – Imin)/((Imax + Imin)wobei Imax der Wert des analogen Signals an einem Peak ist, der dem Licht entspricht, das von einem hell gefärbten Bereich (zum Beispiel weiß) des Codes reflektiert ist, und Imin ist der Wert des analogen Signals bei einem Minimum, was dem Licht entspricht, das von einem dunkel gefärbten Bereich (z. B. schwarz) des Codes reflektiert ist. Allerdings kann ein Bestimmen des Signal-Kontrasts auf diese Art und Weise fehlerhafte Ergebnisse erzeugen, wenn Umgebungslicht, eine Spiegelreflexion oder ein zufälliges Rauschen das Signal unterbricht. Zum Beispiel zeigt 29 Wellenformen eines idealen Barcode-Signals, wenn es mit dem empfangenen analogen Signal mit Umgebungslichtkomponenten verglichen wird. Das Signal ist nur leicht in dieser Figur verschmiert. Wenn das Signal dann stark verschmiert ist, allerdings dieselbe Umgebungslichtkomponenten besitzt, wie dies in 34 dargestellt ist, kann man ersehen, dass das maximale und das minimale Signal im wesentlichen unverändert bleiben. Dennoch ist dieses Bild stark verschmiert. Dementsprechend ist der Signalkontrast nicht notwendigerweise ein guter Indikator für den Pegel eines Verschmierens.
  • Die Varianz von Peaks des zweiwege-gleichgerichteten, ersten Ableitungs-Signals ist ein besserer Indikator dann, wenn das Bild fokussiert wird. Zum Beispiel stellt 30 das erste Ableitungs-Signal des durch Umgebungslicht beschädigten, analogen Signals entsprechend zu 29 dar. Da das Bild nur leicht verschmiert ist, sind die Peak Höhen des zweiwege-gleichgerichteten, ersten Ableitungs-Signals nahezu gleich. Im Gegensatz dazu ist das zweiwege-gleichgerichtete, erste Ableitungs-Signal eines nur stark verschmierten Signals in 35 dargestellt. Dies entspricht dem durch das Umgebungsrauschen beschädigten analogen Signal der 34. Durch eine visuelle Begutachtung kann man sehen, dass dieses Signal eine viel größere Variation in den Peak-Höhen zeigt, um dadurch ein starkes Verschmieren zu zeigen.
  • Das erste Ableitungs-Signal ist allgemein gegen Niederfrequenzrauschkomponenten in dem empfangenen, analogen Signal aufgrund seiner Hochpassfiltercharakteristik immun.
  • Dies kommt daher, dass, unter Verwendung davon, bestimmt wird, dass sich das Signal, das betrachtet wird, als robust in einer Umgebung mit hohem Umgebungsrauschen erweist. Zusätzlich ist es notwendig, das gesamte Signal abzutasten, um die Signalwerte bei einem Maximum oder einem Minimum zu bestimmen. Im Gegensatz dazu werden die Peak-Höhen des zweiwege-gleichgerichteten, ersten Ableitungs-Signals benötigt. Die verringerte Anzahl von Datenpunkten, die verarbeitet werden muss, verringert enorm die Systemkosten und die Komplexität. Nach einer Ausrichtung der Peak-Höhen des zweiwege-gleichgerichteten, ersten Ableitungs-Signals wird die Varianz dieser Peak-Pegel berechnet. Je kleiner die Varianz ist, desto schärfer (oder stärker decodierbar) ist das reflektierte Bild. Das Steuersystem wird deshalb dahingehend arbeiten, die Varianz zu minimieren.
  • Ein zu starkes Deblurring (Beseitigung der Unschärfe) kann allerdings das Rauschen in dem empfangenen Signal erhöhen. Deshalb muss ein Deblurring nur in dem Umfang vorgenommen werden, der durch den Digitalisierer erforderlich ist. Dies kann durch Bestimmung, wann die Peak-Höhen des zweiwege-gleichgerichteten, ersten Ableitungs-Signals sämtlich innerhalb eines Fensters eines Spannungsbereichs liegen, sichergestellt werden. Dieses Fenster wird durch eine obere und eine untere Schwellwert-Eingabe in einen Pegel-Quantisierer, wie beispielsweise derjenige, der in 35 dargestellt ist, eingestellt.
  • 38 und 39 stellt Deblurring-Systeme für eine Barcode-Abtastung, die einen ersten und einen zweiten Komparator 601, 602, einen Zweiwegegleichrichtereingang 603 und einen oberen und einen unteren Schwellwert 604, 605 aufweisen, nach dem Stand der Technik dar. Das System in 38 verwendet ein Verstärkungsfilter 610, wie beispielsweise des Typs, der vorstehend erwähnt ist, zu dem das Lichtsignal, das in ein Spannungssignal bei 611 umgewandelt ist, über einen Tiefpassrauschfilter 612 geführt wird. Das Verstärkungsfilter 610 wird durch einen Schalter 613 gesteuert und gibt es zu einem Kanten-Detektor 614 und einem Decodierer 615 aus. Das Lichtsignal wird zu Anfang durch ein Laser 616 erzeugt. 39 verwendet ein Laserfokussiermodul 617, wie beispielsweise dasjenige, das in der US 5,302,812 offenbart ist, und das Lichtsignal wird in ein Spannungssignal bei 611 umgewandelt und wird durch ein Tiefpassrauschfilter 612, einen Kanten-Detektor 614 und einen Decodierer 615 umgewandelt. Das Laserfokussiermodul wird durch einen Schalter 618 gesteuert. Beide Systeme sind eine im wesentlichen offene Schleife, dahingehend, dass deren Steuereingang zufällig durch Schalter 613, 618 zwischen zwei oder mehr Einstellungen ohne Kenntnis des Grads einer Bildverschmierung umgeschaltet wird.
  • 40 und 41 stellt Versionen einer geschlossenen Schleife des Systems dar, das die Varianz der Peak-Höhen des zweiwege-gleichgerichteten, ersten Ableitungs-Signals darstellt, und erzeugt das korrekte Steuersignal, das ein Verschmieren minimieren wird.
  • 40 umfasst einen Wandler 611 für ein Lichtsignal in ein Spannungssignal, ein Tiefpassrauschfilter 612, ein Verstärkungsfilter 610, einen Kanten-Detektor 614 und einen Decodierer 615, wie in 38, zusammen mit einer Laserquelle 616. Im Gegensatz zu dem zufällig umgeschalteten Verstärkungsfilter der 38 wird allerdings ein Deblurring-System mit geschlossener Schleife eingesetzt. 41 stellt ein Deblurring-System mit geschlossener Schleife unter Verwendung eines Laserfokussiermoduls dar, wobei die Grundkomponenten davon denjenigen der 39 entsprechen. Das Laserfokussiermodul wird allerdings durch das Deblurring-System mit geschlossener Schleife umgeschaltet. Das Steuersystem, wie es in 40 und 41 dargestellt ist, umfasst einen Differenzierer 620, einen Zweiwegegleichrichter 621, eine Peak-Lokalisierung 624, einen Pegel-Quantisierer 622 und eine Mikro-Steuereinheit 623. In den meisten Fällen sind der Differenzierer 620, der Zweiwegegleichrichter 621 und der Peak-Lokalisierer 624 bereits Teil der Kanten-Erfassungs- oder Digitalisierer-Schaltung, und die erforderlichen Signale können direkt überwacht werden. Die Mikro-Steuereinheit wird die Anzahl von Peaks innerhalb eines Spannungsfensters zählen und ein Signal entsprechend t des Pegels einer Unschärfe-Beseitigung (Deblurring), das notwendig ist, erzeugen. Dies wird in einer Echtzeit vorgenommen, nachdem die Abtastung gesteuert ist, und bevor die nächste Abtastung beginnt. Da die Mikro-Steuereinheit nur wenig zu tun hat, können diese Funktionen einen Teil des Mikroprozessors sein, der die Decodierung vornimmt.
  • 42 bis 44 stellen die Funktionen des Peak-Lokalisierer-Blocks 624 dar und 45 zeigt ein Blockdiagramm seiner Ausführung. Die Rausch-Schwellwert-Eingabe 625 verhindert im Wesentlichen, dass der Block auf Rauschen unterhalb dieses Schwellwerts anspricht. Der Ausgang dieses Blocks ist ein einzelner Impuls zu einer Verriegelung 626 in der Mikrosteuerung 623, immer wenn ein Peak des zweiwege-gleichgerichteten, ersten Ableitungs-Signals oberhalb des Rausch-Schwellwerts erfasst wird. Ein Komparator A 630 erzeugt das Torsteuersignal A 631 oberhalb eines vorab eingestellten Rausch-Schwellwerts. Dies ist in 42 dargestellt. Ein Komparator B 632 und ein Exklusiv-ODER-Gatter 633 erzeugt einen Signalimpuls zu jedem Zeitpunkt, zu dem das zweite Ableitungs-Signal von dem Differenzierer 634 Null-Spannungen kreuzt. Dieses Ereignis tritt an den Peak-Stellen des zweiwege-gleichgerichteten, ersten Ableitungs-Signals ebenso wie in anderen Teilen des Signals auf. Dies ist in 43 dargestellt. Nach einem UND-Gatter 635 werden die Impulse, die die wahren Peak-Stellen des zweiwege-gleichgerichteten, ersten Ableitungs-Signals angeben, erzeugt, wie dies in 44 dargestellt ist.
  • Das Peak-Lokalisierer-Signal wird verwendet, um die Zeitposition eines Peaks anzuzeigen, so dass der Prozessor den Peak-Wert in den Pegel-Quantisierer 622 verriegeln kann. Die Anzahl von Pegeln in dem Quantisierer hängt von dem dynamischen Bereich des empfangenen Signals ab. Wenn das System eine AGC umfasst, dann kann der Pegel-Quantisierer nur zwei Pegel erfordern. Das bedeutet, dass es nur notwendig ist zu wissen, ob alle Peaks innerhalb eines bestimmten Fensters von Werten liegen oder nicht. Falls dies nicht der Fall ist, muss das Bild weiter einem Deblurring unterworfen werden. Dies ist in 45 und 46 dargestellt. Es muss Sorgfalt darauf gerichtet werden, keine zu starke Verarbeitung zur Beseitigung einer Unschärfe vorzunehmen, da das erhöhte Rauschen ein Decodieren unmöglich gestalten kann. Deshalb werden der obere und der untere Schwellwert zu dem Pegel-Quantisierer 622 auf Werte eingestellt, die optimal für den Digitalisierer (Kanten-Detektor 614), der in dem System verwendet ist, sind.
  • Es sollte angemerkt werden, dass dann, wenn eine AGC nicht in dem System verwendet wird, der Pegel-Quantisierer 622 als ein N-Bit A/D-Wandler verallgemeinert werden kann. Dies gestaltet einen Einhüll-Detektor 627 optional. Das bedeutet, dass die gesamte Signalstärke dadurch angenähert werden kann, dass entweder der Durchschnitt oder die maximale zweiwege-gleichgerichtete Peak-Ableitungshöhe herangezogen wird. Zusätzlich kann das Spannungspegelfenster zum Bestimmen, wann die Peaks alle eine ähnliche Höhe haben, wahlweise eingestellt werden.
  • Wenn ein Fokussierungsmodul 617 für eine Verarbeitung zur Beseitigung einer Unschärfe verwendet wird, kann der Pegel des empfangenen Signals auch verwendet werden, um zu bestimmen, wenn sich das Bild weg von dem Scanner oder näher zu diesem hin bewegt. Dies wird dabei helfen, schnell zu bestimmen, in welcher Richtung sich das Steuersignal ändern sollte, um das Verschmieren zu minimieren. Das bedeutet, dass man die Fleckgröße kleiner durch Bewegen der Taille des Strahls zu der Bildstelle hin machen möchte. Zum Beispiel zeigt, wenn das Signal verschmierter wird, allerdings das gesamte Signal größer wird, dies an, dass sich das Bild näher zu der Abtasteinrichtung und weg von der Strahltaille bewegt. In ähnlicher Weise zeigt, wenn das Signal verschmierter wird, allerdings die gesamte Signalstärke kleiner wird, dies an, dass sich das Bild weg von dem Scanner und der Taille des Strahls bewegt.
  • Der Pegel-Quantisierer für Peak-Ableitungswerte kann unter Verwendung verschiedener Komparatoren umgesetzt werden. Die Anzahl von Komparatoren hängt von dem dynamischen Bereich des Signals ab. Ein N-Bit-A/D-Wandler vom Flash-Typ besitzt im wesentlichen 2N integrierte Komparatoren. Wenn eine AGC in dem System enthalten ist, können nur zwei Komparatoren 601, 602 verwendet werden, wie dies in 35 dargestellt ist. Dies kommt daher, dass der gesamte Signal-Pegel ungefähr konstant beibehalten werden wird. Allerdings wird die Beziehung zwischen den Peak-Höhen des zweiwege-gleichgerichteten Peak-Ableitungssignal unverändert verbleiben.
  • Wenn der Fleck wächst, werden einige der Peak-Stellen durch den Peak-Lokalisierer-Block ausgelassen werden. Dies kommt daher, dass nur einige der gültigen Peaks unterhalb des Rausch-Schwellwert-Pegels fallen werden. Deshalb muss der Algorithmus nicht nur danach suchen, die Varianz der Peak-Ableitungshöhen zu minimieren, sondern muss auch die Anzahl von gültigen Peaks innerhalb des Pegel-Quantisierer-Fensters maximieren. Zum Beispiel kann in einer sehr rauschbehafteten Umgebung eine große Anzahl von Peaks vorhanden sein, allerdings werden nicht alle Peaks innerhalb des Pegel-Quantisierer-Fensters fallen. Dies zeigt an, dass das Bild nicht im Fokus ist. Wenn die Zahl von Peaks gering ist, und einige der Peaks außerhalb des Pegel-Quantisierer-Fensters fallen, kann dies anzeigen, dass nur die größeren Peaks erfasst wurden. Das bedeutet, dass der Fleck zu groß gewesen sein kann, so dass die kleineren, gültigen Peaks unterhalb des Rausch-Schwellwerts fielen und nicht erfasst wurden. Das Bild befindet sich deshalb dann im Fokus, wenn die maximale Zahl von Peaks innerhalb des Pegel-Quantisierer-Fensters angeordnet sind. Wenn die momentane Abtastung alle der Peaks innerhalb des Pegel-Quantisierer-Fensters angeordnet besitzt, kann eine Decodierung versucht werden. Wenn die Decodierung fehlschlägt, kann eine größere Verstärkung auf die neuen Abtastungen bei einem Versuch angewandt werden, die Anzahl von Peaks innerhalb des Pegel-Quantisierer-Fensters zu vergrößern. 47 stellt einen Basis-Algorithmus dar, wenn das System mit einem elektronischen Verstärkungsfilter verwendet wird, und 48, wenn das System mit einem Laserfokussiermodul verwendet wird.
  • 47 stellt einen Algorithmus für eine Deblurring-Verarbeitung dar, wenn ein abstimmbares, elektronisches Verstärkungsfilter verwendet wird. Eine Abtastung wird bei 640 aufgenommen und eine Prüfung wird ausgeführt, um zu sehen, ob alle Peaks innerhalb des Pegel-Quantisierer-Fensters bei 641 liegen. Wenn "ja" gilt, wird eine Decodierung bei 642 versucht und die Decodierungs-Prüfung wird bei 643 ausgeführt. Wenn nicht alle Peaks in dem Pegel-Quantisierer-Fenster (LQW) fallen, wird der Pegel zur Beseitigung der Unschärfe (Deblurring-Pegel) bei 644 erhöht und der Vorgang wird beginnend bei 641 wiederholt. Wenn die Decodierung bei 643 nicht erfolgreich ist, dann wird der Pegel zur Beseitigung der Umschärfe bei 644 erhöht.
  • Unter Bezugnahme auf den Algorithmus für eine Deblurring-Verarbeitung wird, wenn ein Fokussierungsmodul verwendet wird, wie dies in 48 dargestellt ist, die Abtastung bei 650 erhalten, und es wird bestimmt, ob alle Peaks in dem Pegel-Quantisierer-Fenster liegen, und zwar bei 641. Wenn "ja" gilt, dann wird eine Decodierung bei 652 versucht und eine Decodierungs-Prüfung wird bei 653 ausgeführt, wenn nicht alle Peaks innerhalb des Fensters fallen, oder die Decodierung ist nicht erfolgreich, wobei dann der Signalpegel mit einem Taillen-Schwellwert verglichen wird, der den Pegel eines empfangenen Signals, das während einer Kalibrierung mit dem Objekt an der Taille des Laserstrahls, gemessen ist, definiert. Wenn der Signalpegel höher ist, wird die Strahlentaille hereinbewegt und die Schritte werden von 651 an wiederholt, wobei sich dann, wenn der Signal-Pegel niedriger ist, die Strahltaille herausbewegt und die Schritte werden von 651 an wiederholt.
  • Dort, wo Scanner bekannter Typen mit "Multi-Bit" oder "Fuzzy-Logik" verwendet werden, erfassen sie Daten über die Kanten-Stärke und Stellen der Signale, wobei diese Informationen auch in Verbindung mit den Algorithmen, die in 47 und 48 dargestellt sind, verwendet werden können, um den Umfang und die Richtung eines Verschmierens in dem empfangenen Bild zu bestimmen. Das "Kanten-Stärke"-Signal kann zweiwege-gleichgerichtete Peak-Ableitungshöhen ersetzen.
  • Gemäß einem anderen Aspekt bezieht sich die Erfindung auf ein Verfahren zum Abtasten von Zeichensätzen unter Verwendung von selektiven Abtastungen. Zunächst ist in 49 ein Blockdiagramm einer Vorrichtung dargestellt, die das bevorzugte Verfahren der vorliegenden Erfindung darstellt.
  • Das analoge Signal 710, das decodiert werden soll, das verzerrt sein kann und/oder das ein Rauschen haben kann, das ihm zugeordnet ist, wird parallel zu dem ersten und dem zweiten Signal-Verarbeitungsblock 712, 714 angewandt. Obwohl zwei separate Signal-Verarbeitungsblöcke dargestellt sind, können einige oder alle der Signalverarbeitungsfunktionen gemeinsam geteilt werden. Zum Beispiel könnte eine Ableitungsfunktion gemeinsam zwischen den zwei Blöcken geteilt werden. Der erste Signal-Verarbeitungsblock 712 arbeitet auf dem Signal in irgendeiner erwünschten Art und Weise um eine Wellenform abzuleiten, die entlang einer Leitung 716 ausgegeben ist und die auf einen A/D-Wandler 718 angewandt wird. Die Ausgangs-Wellenform muss keine einfache Funktion des analogen Signals 710 sein. Zum Beispiel kann die Ausgangs-Wellenform von dem analogen Signal unter Verwendung einer Kombination von Abtast- und Halte-Schaltkreisen, Ableitungen, Schwellwertfunktionen und Subtrahierern abgeleitet werden. Nicht-lineare Schaltungen, wie beispielsweise Klemmschaltungen, können auch verwendet werden.
  • Die Ausgangs-Wellenform wird selektiv durch den A/D-Wandler 718 entsprechend zu Signalen, die durch einen Abtast-Entscheidungs- und Zeit-Erzeugungsblock 720 bereitgestellt sind, abgetastet.
  • Der zweite Signalverarbeitungsblock 714 empfängt das analoge Signal 710 und führt die Verarbeitung durch, die durch den Abtast-Entscheidungs- und Zeit-Erzeugungsblock 720 erforderlich ist. Der Block 720 entscheidet, wann eine selektive Abtastung auftreten sollte, und erzeugt das geeignete Zeit-Signal 722, das zu einem Decodierer 724 geführt wird. Das geeignete Signal wird auch zu dem A/D-Wandler 718 geführt.
  • Die detaillierte Logik innerhalb des Blocks 720, die exakt bestimmt, wann die Ausgangs-Wellenform entlang der Leitung 716 abgetastet werden soll, kann entsprechend der bestimmten Anwendung ausgewählt werden. Die Entscheidungskriterien werden allerdings häufig einen ausgewählten Rausch-Schwellwert einsetzen, wobei Merkmale in dem Signal unterhalb dieses Schwellwerts ignoriert werden. Ein spezifisches Beispiel ist in 50 dargestellt, das nachfolgend beschrieben wird.
  • Der Hauptzweck des Zeit-Signals 722 ist derjenige, die Übertragung der selektiven Abtastungen zu dem Decodierer zu synchronisieren. Dies ist aufgrund einer nicht gleichförmigen Abtastung der Wellenform notwendig. Das Zeit-Signal liefert eine wichtige Zeitinformation, wie beispielsweise die Zeit zwischen denselektiven Abtastungen.
  • Das Zeit-Signal muss nicht ein Einzelsignal sein, sondern könnte, in einigen Fällen, ein Mehrfach-Signal auf einer Mehrzahl von digitalen Leitungen sein. Alternativ könnten die Zeitinformationen auf einer einzelnen Leitung multiplexiert sein. Dabei sind zum Beispiel Situationen vorhanden, wo es passend ist, zwei digitale Leitungen zu haben, eine für positive Peaks, die in dem Ausgangs-Signal auf der Leitung 716 erfasst worden sind, und eines für negative Peaks.
  • Obwohl eine Synchronisierung die Hauptfunktion des Zeit-Signals ist, kann das Zeit-Signal selbst zusätzliche Informationen über die Wellenform enthalten, die die A/D-Abtastungen nicht mit sich führen. Zusätzliche Impulse können zum Beispiel selektiv zusätzliche Informationen über die originale Wellenform senden. Das Zeit-Signal kann zum Beispiel nicht nur die Datenübertragung synchronisieren, sondern kann auch Kanten-Anstiegszeitinformationen enthalten, die als eine Impulsbreite dargestellt sind. Ein solches Konzept ist in einer Patentanmeldung, die gleichzeitig mit der hier vorliegenden angemeldet ist, mit dem Titel "Optical Scanners and Signal Processors Therefore", offenbart, mit den Erfindern David Goren, Stephen Shellhammer, Harry Kuchenbrod, Donna Pandolfo, Garry Serbin, Guy Cipriani und Edward Barkin, die auf denselben Inhaber wie die vorliegende Erfindung übertragen ist. Die Informationen könnten ohne A/D-Wandler für eine sehr kostengünstige Ausführung verwendet werden: siehe zum Beispiel unsere parallel anhängige US Patentanmeldungs-Nummer.
  • Der A/D-Wandler 718 empfängt das Ausgangs-Signal entlang der Leitung 716 und tastet es selektiv entsprechend zu Anweisungen ab, die von dem Abtastungs-Entscheidungs- und Zeit-Erzeugungs-Block 720 empfangen sind. Der abgetastete Ausgang mit n-Bit wird entlang der Leitung 726 zu dem Decodierer 724 geführt.
  • Der A/D-Wandler 718 kann eine Abtast- und Halteschaltung umfassen, falls dies erforderlich ist. Aufgrund der langsameren Datenrate, verglichen mit einer Abtastung des analogen Signals unter der Nyquist-Rate, kann ein relativ langsamer und relativ kostengünstiger A/D-Wandler verwendet werden. Die Anzahl von Bits, die erforderlich ist, hängt von der Genauigkeit des Merkmals, das gemessen werden soll, ab, wobei allerdings normalerweise 4 bis 8 Bits ausreichend sein werden. Der A/D-Wandler kann, falls notwendig, bipolar sein, um zugeordnete Daten zu enthalten. Zum Beispiel können die Peaks, wenn die Peaks der ersten Ableitung des analogen Signals 710 oberhalb einer Referenzspannung liegen, positiv sein. Wenn die Peaks unterhalb der Referenzspannung liegen, können die Werte negativ sein.
  • Ein Flussdiagramm der Betriebsweise des Decodierers 724 ist in 51 dargestellt. Der Decodierer erhält zuerst die selektiven Abtastungen und die Zeitinformationen und speichert sie. Diese Informationen werden normalerweise sowohl die Merkmale der Wellenform, die den Barcode identifizieren, oder andere Zeichensätze (zum Beispiel die Barcode-Kanten) ebenso wie nicht erwünschtes Rauschen enthalten. Der Decodierer verwendet dann einen geeigneten Algorithmus (die Details davon liegen innerhalb der Kenntnis eines Fachmanns auf dem betreffenden Fachgebiet), um zu versuchen, zu identifizieren, welche die Abtastungen rauschend sind und welche Abtastungen die Zeichensätze, die decodiert werden sollen, darstellen. Typischerweise wird der Algorithmus eine Kombination einer Trial- and Error- und Daten-Analyse-Techniken, wie beispielsweise eine statistische Klassifizierung, vornehmen. Diese Analyse wird auch zu einer Abschätzung der Codierumgebung führen, zum Beispiel der Rausch-Pegel und den Verzerrungs-Pegeln. Ein Versuch wird dann vorgenommen, um die Zeichensätze, unter Verwendung nur solcher Merkmale, die durch den Algorithmus dahingehend bestimmt worden sind, dass sie die Zeichensätze darstellen, zu decodieren.
  • Eine zusätzliche Codiersicherheit kann, entsprechend dem Algorithmus, die Schwierigkeit der Decodierungsumgebung abzuschätzen, erforderlich sein. Zum Beispiel kann der Decodierer eine zusätzliche Redundanz erfordern, bevor eine erfolgreiche Decodierung signalisiert wird, wenn er bestimmt, dass ein Rauschen mit hohem Pegel vorhanden ist, wenn die Decodierung nicht erfolgreich ist, wobei ein Rückführ-Signal oder eine Reihe von Signalen von dem Decodierer zu dem zweiten Signal Verarbeitungsblock 724 und dem Abtast-Entscheidungs- und Zeit-Erzeugungs-Block 720 geschickt wird. Diese reagieren auf die Signale durch Anpassen des Scanners an die Abtastumgebung. Eine andere Abtastung der Zeichensätze, die decodiert werden sollen, kann dann vorgenommen werden, wobei diese durch die angepassten Elektroniken und/oder die digitale Logik beim zweiten Versuch verarbeitet werden, um eine zufrieden stellende Decodierung zu erreichen.
  • Die Anpassungen des Scanners können, inter alia, ein Ändern von Rausch-Schwellwerten eine Signal-Filterung, Frequenz-Bandbreiten, Verstärkungs- oder Dekonvolutions-Filter und eine andere elektronische und/oder digitale Logik umfassen. Die mechanischen/optischen Merkmale des Scanners können auch adaptiv sein, zum Beispiel kann das System automatisch die Intensität des Laserstrahls, der für eine Abtastung verwendet wird, die Laserfokussierung, die Abtastgeschwindigkeit und das -Muster oder andere Variablen ändern.
  • Anhand wiederum der 51 wird ersichtlich werden, dass am Schritt 810 das System eine Abtastung von selektiv abgetasteten Daten- und Zeit-Informationen erhält. Der Decodierer versucht dann, die Abtastungsumgebung abzuschätzen, und sich so weit wie möglich mit dem Rauschen und mit den systematischen Ungenauigkeiten in den Daten zu befassen. Dies wird am Schritt 812 ausgeführt. Am Schritt 814 versucht der Decodierer, den Barcode (oder andere Zeichensätze) unter Verwendung nur solcher Abtastungen, die dahingehend bestimmt worden sind, dass sie reale Daten darstellen, zu decodieren. Im Schritt 816 wird ein Test vorgenommen, um zu sehen, ob die Decodierung erfolgreich gewesen ist. Wenn dies der Fall war, endet der Algorithmus am Schritt 818. Wenn die Decodierung nicht erfolgreich war, wird der Scanner an die Abtastumgebung am Schritt 820 angepasst, und das Verfahren wird unter Verwendung einer neuen Abtastung wiederholt.
  • Eine einfache Ausführungsform der vorliegenden Erfindung ist in 50 dargestellt. Das Barcode-Symbol 800, das decodiert werden soll, umfasst, wie dargestellt ist, einen kleinen Fehler 840.
  • Das Symbol 800 wird in der gewöhnlichen Art und Weise abgetastet und die erste Ableitung 742 des groben, analogen Signals wird bestimmt. In dieser Ausführungsform werden die Peak-Werte des ersten Ableitungs-Signals als die selektiven Abtastpunkte verwendet. Diese Peaks können positiv oder negativ sein, und ein typischer negativer Peak ist in der Zeichnung durch den Pfeil 744 dargestellt.
  • Die Abtast-Entscheidungs- und Zeit-Erzeugungs-Logik ist so angeordnet, um ein Zeit-Signal 722 auszugeben, das den Zustand an jedem der ausgewählten Abtastpunkte ändert.
  • Die Entscheidungslogik innerhalb des Blocks 720 (49) ist so ausgelegt, um eine Abtastung nur dann anzunehmen, wenn die erste Ableitung größer als ein positiver, minimaler Pegel 746 ist oder niedriger als ein negativer, minimaler Pegel 748 ist. Dementsprechend entspricht der kleine Peak 750, der dem Fehler 740 zugeordnet ist, einem akzeptierten Abtastpunkt, da er außerhalb der Linien 746, 748 liegt, wogegen der noch kleinere Peak 752 nicht akzeptiert wird.
  • Die Peaks in dem ersten Ableitungs- Signal 742 stellen Wendepunkte des originalen, groben Datensignals dar, und sind als Barcode-Kanten-Stellen in vielen Digitalisierem nach dem Stand der Technik definiert. Der Decodierer 724 liest alle Peak-Werte ein, wobei einige davon natürlich reale Kanten darstellen und andere davon Rauschen darstellen. Der Decodierer entscheidet dann, welche Kanten real sind, zum Beispiel durch Trail and Error oder durch eine Histogramm-Analyse. Wenn einmal die realen Kanten ausgewählt worden sind, kann das Barcode-Signal durch Standard-Verfahren decodiert werden. Wenn die Decodierung nicht erfolgreich ist, ist klar, dass die Kanten nicht korrekt ausgewählt worden sind, und der adaptive Algorithmus, der in 51 dargestellt ist, kommt ins Spiel.
  • Von den Peaks der ersten Ableitung und dem Barcode, der decodiert ist oder teilweise decodiert ist, können Informationen über die Decodier-Umgebung bestimmt werden. Zum Beispiel kann eine große Anzahl von falschen Kanten eine mit Rauschen behaftete Umgebung anzeigen. Die verschiedenen Höhen der Peaks der realen Kanten können auch dazu verwendet werden, das Verhältnis der Abtastfleckgröße zu den Balkengrößen, die abgetastet werden sollen, abzuschätzen. Diese Informationen über die Abtastungsumgebung werden dann verwendet, um die mechanischen, optischen, elektronischen oder digitalen Merkmale des Scanners anzupassen, bevor eine weitere Abtastung vorgenommen wird und ein anderer Versuch vorgenommen wird, um das Barcode-Symbol zu decodieren. In einer alternativen Version des Verfahrens kann eine selektive Abtastung bei mehr als einem Merkmal gleichzeitig durchgeführt werden. Dies könnte entweder mit mehreren A/D-Wandlern vorgenommen werden, oder alternativ unter Verwendung eines einzelnen A/D-Wandlers und einer Multiplexierung des Ausgangs.
  • Es ist natürlich nicht für das bevorzugte Verfahren wesentlich, dass es innerhalb der spezifischen Architektur, die in 49 dargestellt ist, ausgeführt wird. Es sind viele Alternativen vorhanden, zum Beispiel könnten der erste und der zweite Signal-Verarbeitungsblock 712, 714 in einer einzelnen Einheit vereinigt werden, oder auch insgesamt für geeignete analoge Eingangs-Signale 710 weggelassen werden.
  • Das Verfahren, das vorstehend beschrieben worden ist, kann, wie zuvor erwähnt ist, besondere Anwendung in Laser-Scannern des Typs finden, bei dem das aufgenommene Strahlprofil multi-modal ist, und Seiten-Keulen enthält, die ein Artefakt der Bildverarbeitung sind. Die beispielhaften Scanner sind solche, die nicht konventionelle Optiken verwenden, wie beispielsweise Axicon oder holografische Optiken, und Scanner, die Verstärkungsfilter verwenden, um die Tiefe einer Modulation zu erhöhen.
  • Es wird ersichtlich werden, dass, während spezifische Merkmale in Bezug auf spezifische Ausführungsformen diskutiert worden sind, alle Merkmale und Ausführungsformen gegeneinander ausgetauscht oder kombiniert werden können, wo dies geeignet ist. Zusätzlich können die Ausführungsformen verschiedener Alternativen oder zusätzliche Merkmale umfassen. Zum Beispiel können dort, wo es erwünscht ist, den Arbeitsbereich und die Robustheit des Decodierers in Bezug auf Änderungen in der Abtastungsumgebung zu optimieren, verschiedene Zusätze vorgenommen werden. Zum Beispiel kann das Signal- zu Rausch Verhältnis in einem empfangenen Signal von künstlichen Lichtquellen erfasst werden, und die Laserkohärenz, der Laserfokus, die Laserleistung und Bandbreiten optischer und elektronischer Filter können entsprechend angewandt werden. Dort, wo mit Rausch behaftete Impulse empfangen werden, die von künstlichen Lichtquellen resultieren, können die Abtastfrequenz und die Phase geeignet eingestellt werden, um diese mit Rausch behaftete Impulse zu vermeiden, und ein adaptives Rauschfilter kann verwendet werden, um eine Interferenz von Umgebungsquellen zu beseitigen. Ein zweidimensionales Feld aus Photodioden, jedes mit einem begrenzten Sichtfeld, kann verwendet werden, wobei einmal mehrere dieser Photodioden von einem Laserfleck so synchronisiert werden können, dass ein sich bewegendes Sichtfeld in einer Art und Weise analog zu einer in Phase gesetzten Feldantenne abgeleitet wird. Mit anderen Worten ausgedrückt werden die Signale von mehreren der Photodioden aufsummiert, allerdings werden die Amplituden im Gegensatz zu den Phasen zwischen den Photodioden modifiziert.
  • Ein Kanten-Verstärkungsfilter kann verwendet werden, um den Verstärkungs-Pegel basierend auf einer Barcode-Dichte so zu ändern, dass, für höhere Dichten, ein großer Verstärkungswert verwendet wird. Unterschiedliche optische Module und Laserwellenlängen können in Abhängigkeit von der Umgebung, in der der Scanner verwendet werden soll, verwendet werden – relevante Informationen können aus einer Stellenerfassung erhalten werden, um die optimalen Module und Wellenlängen zu erfassen. In Umgebungen mit hohem Umgebungslicht kann das Abtastmuster auf eine einzelne Linie niedriger Frequenz geändert werden, wobei das Sichtfeld einer Schrumpfung entspricht. Wenn der omnidirektionale Modus zuvor ausgewählt wurde, wird er überlaufen – so dass das hohe Umgebungslicht einen geringeren Effekt haben wird.
  • Die Bandbreite des optischen Filters kann verringert werden, wenn eine Temperatursteuerung in geschlossener Schleife an dem Laser aufrechterhalten wird (unter Verwendung eines Thermo-Kühlers), so dass die Wellenlänge innerhalb eines sehr schmalen Bereichs gehalten wird. Alternativ kann die Bandbreite des optischen Filters so eingestellt werden, um die Wellenlänge des Lasers anzupassen, wenn sich die Temperatur ändert, was erneut die erforderliche Bandbreite minimiert. Es ist auch möglich, die Barcode-Transportgeschwindigkeit und – größe zu erfassen – das Abtastmuster kann dann so geändert werden, um die Aggressivität zu optimieren. Der Betriebsmodus, in dem der Scanner verwendet wird, zum Beispiel hindurchgeführt wird, oder für eine Präsentation, kann durch Sehen auf die vergangene Historik von Abtastversuchen und Ändern des Abtastmusters auf dasjenige, das für den Betriebsmodus optimal ist, erlernt werden. Zum Beispiel wird in dem Präsentationsmodus mehr des Barcode-Signals für eine gegebene Anzahl von Abtastungen, und weniger in dem Durchgangsmodus, zusammengestellt werden. Für CCD's können die Integrationszeit-Fokussierlinse und die Beleuchtungsintensität und die Lokalisierung insgesamt so geändert werden, um den Betrieb in Bezug auf die Abtastumgebung zu optimieren.
  • Ein anderes Problem, für das es erwünscht sein kann, es zu lösen, wird dasjenige sein, das Betrachtungsfeld zu vergrößern, ohne den Abtastwinkel auf dem Abtastelement zu vergrößern. Es ist erwünscht, die Lebensdauer des Abtastelements durch Verringern der Belastung an dem Element zu erhöhen. Hierzu können mehrere Laser, die unterschiedliche Abtastmuster-Offsets haben, verwendet werden, wobei die Ein/Aus-Steuerungen der Laser so synchronisiert sein können, dass ein größeres Betrachtungsfeld abgedeckt werden kann. Die Form des Abtastmusters kann so geändert werden, um das erforderliche Betrachtungsfeld abzudecken, das von einer besonderen Bedeutung in, zum Beispiel, Verkaufs-Stornierungen.
  • Es kann auch erwünscht sein, die Abtast-Ergonomien zu verbessern, und dies so vorzunehmen, dass die Orientierung, in der der Benutzer die Vorrichtung hält (zum Beispiel ein Endgerät), derart erfasst werden kann, dass das Abtastmuster in einer festgelegten Richtung (vielleicht nach unten) in Abhängigkeit davon, wie der Benutzer die Vorrichtung hält, gezeigt wird. Der Scanner kann so angeordnet sein, um zu ermöglichen, dass das Abtastmuster zu einem optimalen Muster für eine Benutzung entweder mit der linken oder der rechten Hand umschaltet. Ein Bull's-Eye oder ähnliches Muster kann erzeugt werden, um diese Zwecke zu erfüllen. Das vorgesehene Muster kann dazu verwendet werden, die vorgesehene Größe eines Barcodes zu bestimmen, so dass ein Abtastmuster nur für die korrekte Größe offen sein muss.
  • Jeder Benutzer kann einen kundenspezifischen Satz von Abtastpräferenzen eingeben. Zum Beispiel könnte es ein Benutzer wünschen, dass der Scanner ein einzeiliger Scanner ist, wenn er ergriffen wird, und ein anderer könnte wünschen, dass er sich anstelle davon in einer kugelförmigen Konfiguration befindet. Die persönlichen Präferenzen können in einem Barcode (entweder 1-D oder 2-D) gespeichert sein und der Benutzer kann den Barcode so abtasten, um den Scanner dem Wunsch des Benutzers entsprechend zu konfigurieren. Alternativ registriert sich der Benutzer in dem Register des Benutzers, indem ein ID-Code eingegeben wird, was in vielen Einrichtungen ein erforderlicher Vorgang ist, wobei der Scanner automatisch für diesen Benutzer durch Lesen des Codes konfiguriert sein kann.
  • In einigen Fällen kann ein großes Abtastmuster zuviel des Zählerraums abdecken und Barcode können unbeabsichtigt decodiert werden, zum Beispiel Barcode-Symbole, die auf Objekten vorgefunden werden, die andere als diejenigen sind, die abgetastet werden sollen. Um dies zu beseitigen, kann dieses Abtastmuster so angepasst sein, um den Bereich einer Abtastung einzugrenzen. Zum Beispiel kann die Oberseite des Zählers während Transaktionen gestört sein und der Scanner kann eine Objekterfassungseinrichtung verwenden, um das Abtastmuster auf einen weniger gestörten Bereich zu richten.
  • Während der Scanner leer läuft, ist es erwünscht, diese Leerlaufzeit in einer profitablen und nützlichen Art und Weise zu verwenden, und es wird vorgeschlagen, die Laserabtastmaschine dazu zu verwenden, Abtastmuster, Zahlen, Buchstaben, Worte, Symbole, Zeichen, Service-Nachrichten (wie beispielsweise "Batterie ist niedrig"), Fehlernachrichten und andere Nachrichten, wie beispielsweise "Willkommen", die die Kauferfahrung für den Kunden verbessern wird und die Nutzbarkeit des Scanners verbessern wird, anzuzeigen.
  • Die Scannervorrichtung kann auch für andere Formen einer Identifikation als für eine Produktidentifikation verwendet werden, zum Beispiel für eine biometrische Identifikation. In diesem Fall kann der Barcode-Scanner ein dichtes Muster zum Abbilden von Fingerabdrücken und Signaturen erzeugen. Das Abtastmuster kann die optimale Form und die Dichte zum Erfassen dieser als Bilder anpassen.
  • Es ist bei Scannern erwünscht, dem Benutzer eine Rückmeldung in dem Fall zu liefern, in dem der Scanner eine Klang abgebende Vorrichtung, wie beispielsweise einen Summer, umfasst, wobei die Lautstärke des Summers so eingestellt werden kann, um oberhalb des Pegels des Umgebungsrauschens anzusteigen, indem die Lautsprecherspule des Summers den Pegel des Umgebungsrauschens erfasst. Eine Sprachrückmeldung kann vorgesehen werden, die den Benutzer anweist, einen Barcode näher zu dem Barcode-Symbol zu bringen, ihn weiter weg zu bewegen, die Durchgangsrate zu verlangsamen, den Strahl auf die korrekte Position zu zielen und auszurichten (insbesondere für Anwendungen einer Signatur-Erfassung) und allgemein den Benutzer in Bezug auf andere Betriebsparameter oder andere 2-D-Anwendungen anzuweisen. Der Scanner könnte so angeordnet sein, um eine Rückmeldung in Bezug auf Komponenten in dem Scanner zu erfassen, wie beispielsweise einen Laserstrom, Motorrückmeldungssignale und Änderungen des gesamten Energieverbrauchs, um den Benutzer mit einer Rückmeldung für anhängige Service-Meldungen zu versehen, um das Wartungsniveau des Scanners auf einem hohen Niveau zu halten.
  • Die Funktionsweise des Scanners kann in Abhängigkeit von einem Barcode-Satz, der abgetastet werden soll, optimiert werden. Es ist ersichtlich, dass während unterschiedlichen Zeiten des Tags oder des Jahrs Produkte eines bestimmten Typs populärer sein können – alkoholische Getränke am Abend, Produkte vom Geschenk-Typ während der Weihnachtszeit. Das Abtastmuster des Scanners kann so geändert werden, um die Charakteristiken der Barcode anzupassen und diese Typen von Produkten zu relevanten Zeitpunkten eines Tags oder eines Jahrs zu verpacken. Zum Beispiel kann der Barcode in einem belebten, grafischen Hintergrund beim Verpacken von Waren angeordnet sein, die in der Signalverarbeitung eingestellt werden, wenn große Abtastmuster verwendet werden – demzufolge würde ein kleineres Abtastmuster erwünscht sein. Bei Anwendungen eines Versands können Produkte unterschiedlicher Lieferanten während unterschiedlicher Tageszeiten erwartet werden. Jeder Vertreiber kann einen charakteristischen Druckstil eines Symbolsatzes verwenden, die ein unterschiedliches Abtastmuster optimieren kann. Der Benutzer kann übereinstimmend eine Anzahl von Barcoden unterschiedlicher Stile, allerdings in einer spezifischen Reihenfolge, abtasten. Zum Beispiel eine UPC, dann eine PDF, dann eine Signatur. Der Scanner kann die besten Abtastmuster für dieses Verfahren als Sequenz ablaufen lassen.
  • Obwohl die Erfindung spezifisch in Verbindung mit dem Decodieren von Zeichensätzen, insbesondere Barcode-Symbolen, beschrieben worden ist, könnte die Technik bei vielen unterschiedlichen Typen von Signalen und Anwendungen angewandt werden. Allgemeiner kann das Verfahren der vorliegenden Erfindung bei einer Mustererkennung, entweder in erfassten Bildern oder erfassten Klängen, angewandt werden. Das Verfahren könnte zum Beispiel in entweder Klangerkennungstechniken und/oder in der Spracherkennung verwendet werden.
  • Während diese Erfindung unter Bezugnahme auf eine spezifische Ausführungsform beschrieben worden ist, ist die vorstehende Beschreibung nicht dazu vorgesehen, dass sie in einem einschränkenden Sinne ausgelegt werden sollte. Verschiedene Modifikationen der offenbarten Ausführungsformen, ebenso wie andere Ausführungsformen der Erfindung, werden für Fachleute auf dem betreffenden Fachgebiet unter Bezugnahme auf diese Beschreibung ersichtlich werden.

Claims (8)

  1. Verfahren zur Bearbeitung eines elektrischen Signals (32), das Licht darstellt, das von einem Informationssymbol (14) reflektiert wird, das benachbarte Bereiche (14b, 14s) mit unterschiedlichen Reflexionseigenschaften hat, wobei das Licht von einem Lichtstrahl (13) einer begrenzten Breite erzeugt wird, der in mehreren Abtastungen über das Symbol (14) abgetastet wird, wobei das elektrische Signal (32) Ränder enthält, die Grenzen (14e) zwischen den benachbarten Bereichen (14b, 14s) des Symbols (14) entsprechen, wobei das elektrische Signal (32) bearbeitet wird, um die Male des Auftretens der Ränder und die Stärken der Ränder zu bestimmen, wobei ein erstes Outputsignal (17), das Impulse hat, die jeweils einem Rand entsprechen, zur Verwendung durch einen Multibitdecoder (21) erzeugt wird und die Impulse Zeitdauer (ts) haben, die Randinformationen enthalten, die die Stärken der Ränder des elektrischen Signals (32) darstellen, gekennzeichnet durch folgende Schritte a) Differenzieren (24) des elektrischen Signals, um ein erstes Ableitungssignal (34) zu erhalten, wobei das Bearbeiten des elektrischen Signals (32) zur Bestimmung der Stärken der Ränder nur an dem ersten Ableitungssignal (34) durchgeführt wird; und b) Verstärken (30) der Ränder des ersten Ableitungssignals (34), um die begrenzte Breite des Lichtstrahls (13) während einer, jedoch nicht aller Abtastungen über das Symbol (14) zu kompensieren.
  2. Verfahren nach Anspruch 1, wobei der Verstärkungsschritt (30) einmal für jeweils drei Abtastungen durchgeführt wird.
  3. Verfahren nach Anspruch 1, wobei der Verstärkungsschritt (30) an Abtastungen durchgeführt wird, die in entgegengesetzten Richtungen abgetastet werden.
  4. Verfahren nach Anspruch 1, ferner enthaltend den Schritt des Bearbeitens des ersten Ableitungssignals (34) zur Bestimmung der Polaritäten der Ränder und zum Erzeugen eines zweiten Outputsignals (19) mit Polaritätsinformationen, die für die Polaritäten der Ränder kennzeichnend sind.
  5. System zum Bearbeiten eines elektrischen Signals (32), das Licht darstellt, das von einem Informationssymbol (14) reflektiert wird, das benachbarte Bereiche (14b, 14s) mit unterschiedlichen Lichtreflexionseigenschaften hat, wobei das Licht von einem Lichtstrahl (13) einer begrenzten Breite erzeugt wird, der in mehreren Abtastungen über das Symbol (14) abgetastet wird, wobei das elektrische Signal (32) Ränder enthält, die Grenzen (14e) zwischen den benachbarten Bereichen (14b, 14s) des Symbols (14) entsprechen, mit einer Schaltung zum Bearbeiten des elektrischen Signals (32), zur Bestimmung der Male des Auftretens der Ränder und der Stärken der Ränder, einer Schaltung zum Erzeugen eines ersten Outputsignals (13), das Impulse hat, die jeweils einem Rand entsprechen, zur Verwendung durch einen Multibitdecoder (21), wobei die Impulse Zeitdauer (ts) haben, die Randinformationen enthalten, die die Stärken der Ränder des elektrischen Signals (32) darstellen, gekennzeichnet durch: a) einen Differentiator (24), der angeordnet ist, um das elektrische Signal (32) zu differenzieren, um ein erstes Ableitungssignal (34) zu erhalten, wobei die Schaltung zum Bearbeiten des elektrischen Signals (32) zur Bestimmung der Stärken der Ränder nur das erste Ableitungssignal (34) verwendet; und b) eine Randverstärkungsschaltung (30), die angeordnet ist, um die Ränder des ersten Ableitungssignals (34) zu verstärken, um die begrenzte Breite des Lichtstrahls (13) während einer, jedoch nicht aller Abtastungen über das Symbol (14) zu kompensieren.
  6. System nach Anspruch 5, wobei die Randverstärkungsschaltung (30) angeordnet ist, um nur einmal für jeweils drei Abtastungen tätig zu sein.
  7. System nach Anspruch 5, wobei die Randverstärkungsschaltung (30) angeordnet ist, um bei Abtastungen tätig zu sein, die in entgegengesetzten Richtungen abgetastet werden.
  8. System nach Anspruch 5, ferner enthaltend eine Schaltung zum Bearbeiten des ersten Ableitungssignals (34) zur Bestimmung der Polaritäten der Ränder und zum Erzeugen eines zweiten Outputsignals (19), das Polaritätsinformationen hat, die für die Polaritäten der Ränder kennzeichnend sind.
DE1996637397 1995-05-31 1996-05-31 Optischer Barcode Abtaster Expired - Lifetime DE69637397T2 (de)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US454830 1995-05-31
US08/455,216 US6170749B1 (en) 1995-05-31 1995-05-31 Method of scanning indicia using selective sampling
US455216 1995-05-31
US08/454,830 US5734152A (en) 1995-05-31 1995-05-31 Optical scanners and signal processors therefor

Publications (2)

Publication Number Publication Date
DE69637397D1 DE69637397D1 (de) 2008-02-14
DE69637397T2 true DE69637397T2 (de) 2009-01-02

Family

ID=27037620

Family Applications (3)

Application Number Title Priority Date Filing Date
DE1996636205 Expired - Lifetime DE69636205T2 (de) 1995-05-31 1996-05-31 Optischer Abtaster
DE1996634584 Expired - Lifetime DE69634584T2 (de) 1995-05-31 1996-05-31 Optische Abtaster
DE1996637397 Expired - Lifetime DE69637397T2 (de) 1995-05-31 1996-05-31 Optischer Barcode Abtaster

Family Applications Before (2)

Application Number Title Priority Date Filing Date
DE1996636205 Expired - Lifetime DE69636205T2 (de) 1995-05-31 1996-05-31 Optischer Abtaster
DE1996634584 Expired - Lifetime DE69634584T2 (de) 1995-05-31 1996-05-31 Optische Abtaster

Country Status (2)

Country Link
EP (3) EP1443450B1 (de)
DE (3) DE69636205T2 (de)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6513714B1 (en) 1998-09-14 2003-02-04 Psc Scanning, Inc. Character reconstruction and element level processing in bar code scanning system
US6494376B1 (en) 1998-09-14 2002-12-17 Psc Scanning, Inc. Compensation for scan line variations in a bar code scanner system
US6454168B1 (en) 1998-09-14 2002-09-24 Psc Scanning, Inc. Correlation and stitching techniques in a bar code scanning system
US6585157B2 (en) 1998-09-14 2003-07-01 Psc Scanning, Inc. Symbology determination to aid decoding in a bar code scanning system
CN100395768C (zh) * 1998-10-30 2008-06-18 讯宝科技公司 改进的包括隧道扫描器的集成的代码阅读系统
EP1380983B1 (de) * 1998-10-30 2006-05-24 Symbol Technologies, Inc. Kodelesesystem mit Klangregelung für hörbares Signal
US6508405B1 (en) 2000-11-14 2003-01-21 Ncr Corporation Methods and apparatus for area weighted means processing of barcode signals
EP1357505A4 (de) * 2001-01-26 2006-02-08 Fujitsu Ltd Informationsleseverfahren und einrichtung, signalerfassungsverfahren für eine informationsleseeinrichtung, bandbegrenzungsverfahren dafür, zeitsteuerungspunktamplitudenextraktionsverfahren dafür und signalverarbeitungsverfahren dafür, lesesignalverarbeitungseinheit und lese s
US7204422B2 (en) * 2004-06-10 2007-04-17 Psc Scanning, Inc. System, circuit, and method for edge detection in a binary optical code
US7506816B2 (en) * 2004-10-04 2009-03-24 Datalogic Scanning, Inc. System and method for determining a threshold for edge detection based on an undifferentiated equalized scan line signal
US20080283605A1 (en) * 2007-05-16 2008-11-20 Sik Piu Kwan Device and system for a low noise photodiode in a barcode scanner
US8302864B2 (en) 2007-12-28 2012-11-06 Cognex Corporation Method and apparatus using aiming pattern for machine vision training
US8947590B2 (en) 2011-11-22 2015-02-03 Cognex Corporation Vision system camera with mount for multiple lens types
US11366284B2 (en) 2011-11-22 2022-06-21 Cognex Corporation Vision system camera with mount for multiple lens types and lens module for the same
US10498933B2 (en) 2011-11-22 2019-12-03 Cognex Corporation Camera system with exchangeable illumination assembly
US9746636B2 (en) 2012-10-19 2017-08-29 Cognex Corporation Carrier frame and circuit board for an electronic device
FR3076129B1 (fr) * 2017-12-27 2020-01-10 Commissariat A L'energie Atomique Et Aux Energies Alternatives Procede de modulation de largeur d'impulsions

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2635207B1 (fr) * 1988-08-02 1990-10-19 Sud Systemes Procede et dispositif de traitement d'un signal electrique analogique en vue d'obtenir un signal binaire parametrable representatif de sa composante significative
JP2729088B2 (ja) * 1989-09-22 1998-03-18 富士通株式会社 バーコードリーダ処理装置
KR100225151B1 (ko) * 1991-07-11 1999-10-15 엠.피.젠킨스 광학 표적 포착 시스템 및 방법
US5298728A (en) * 1991-11-01 1994-03-29 Spectra-Physics Scanning System, Inc. Signal processing apparatus and method
US6082621A (en) * 1992-04-02 2000-07-04 Symbol Technologies, Inc. Interface between threshold processing digitizer for bar code reader
US5302813A (en) * 1992-04-02 1994-04-12 Symbol Technologies, Inc. Multi-bit digitizer
CA2134698A1 (en) * 1993-11-17 1995-05-18 Raj Bridgelall Digitizer for bar code reader

Also Published As

Publication number Publication date
EP0745951A2 (de) 1996-12-04
DE69636205D1 (de) 2006-07-06
EP1443450A2 (de) 2004-08-04
EP1445725B1 (de) 2006-05-31
EP1445725A2 (de) 2004-08-11
EP1443450A3 (de) 2005-08-24
EP0745951B1 (de) 2005-04-13
DE69636205T2 (de) 2007-04-26
DE69634584T2 (de) 2005-09-15
DE69634584D1 (de) 2005-05-19
EP1443450B1 (de) 2008-01-02
DE69637397D1 (de) 2008-02-14
EP0745951A3 (de) 2001-03-28
EP1445725A3 (de) 2005-08-24

Similar Documents

Publication Publication Date Title
DE69637397T2 (de) Optischer Barcode Abtaster
US6209788B1 (en) Optical scanners
DE69716087T2 (de) System und verfahren zur bilderfassung mit hoher geschwindigkeit
DE69129584T2 (de) Analogdekoder
DE69027757T2 (de) Verfahren zur Dekodierung von strichkodierten Symbolen aus Teilabtastungen
DE69625583T2 (de) Datenformleser
DE2417282C3 (de) Vorrichtung zum Lesen von Fingerabdrücken
Joseph et al. Bar code waveform recognition using peak locations
DE69515481T2 (de) Verfahren und Vorrichtung zur Dekodierung eines zweidimensionalen Symboles im Raumbereich
DE69533054T2 (de) Mehrfenstertechnik zur Schwellenwertverarbeitung eines Bildes unter Verwendung lokaler Bildeigenschaften
DE69132985T2 (de) Leseeinrichtung, die fragmente eines kodes zu einem kompletten kode zusammenfügt
US8950678B2 (en) Barcode reader with edge detection enhancement
DE69428655T2 (de) Streifencodelesevorrichtung
DE69932250T2 (de) Optische symbolanzeige
JPH0276087A (ja) バーコード読み取り技術
DE69820035T2 (de) Symbolabtaster zur lokalisierung von kodierten symbolen
DE19705747A1 (de) Verfahren und Vorrichtung zur Ermittlung und Decodierung von maschinenlesbaren Symbolen
DE19882767B3 (de) Randerfassungsverfahren und -vorrichtung für durch Schrotrauschen begrenzte Signale
CN112101058A (zh) 一种试卷条码自动识别方法及装置
EP2677492A1 (de) Codeleser und Verfahren zur Online-Verifikation eines Codes
Rees et al. The effect of median filtering on synthetic aperture radar images
US4856076A (en) Binary coding circuit for OCR
CN101208706B (zh) 对条形码进行解码的方法和系统
DE69930984T2 (de) Optische Vorrichtung zur Abtastung und Deckodierung eines Strichckodes
DE69703287T2 (de) Verfahren zum Abtasten eines Strichkodes

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
R082 Change of representative

Ref document number: 1443450

Country of ref document: EP

Representative=s name: SCHUMACHER & WILLSAU PATENTANWALTSGESELLSCHAFT, DE