DE69129584T2 - Analogdekoder - Google Patents

Analogdekoder

Info

Publication number
DE69129584T2
DE69129584T2 DE69129584T DE69129584T DE69129584T2 DE 69129584 T2 DE69129584 T2 DE 69129584T2 DE 69129584 T DE69129584 T DE 69129584T DE 69129584 T DE69129584 T DE 69129584T DE 69129584 T2 DE69129584 T2 DE 69129584T2
Authority
DE
Germany
Prior art keywords
waveform
extrema
decoding
analog waveform
symbol
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
DE69129584T
Other languages
English (en)
Other versions
DE69129584D1 (de
Inventor
Eugene Bernard East Setauket New York 11733 Joseph
Theodosios Setauket New York 11733 Pavlidis
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
Application filed by Symbol Technologies LLC filed Critical Symbol Technologies LLC
Application granted granted Critical
Publication of DE69129584D1 publication Critical patent/DE69129584D1/de
Publication of DE69129584T2 publication Critical patent/DE69129584T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • G06K7/10Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
    • G06K7/14Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation using light without selection of wavelength, e.g. sensing reflected white light
    • G06K7/1404Methods for optical code recognition
    • G06K7/146Methods for optical code recognition the method including quality enhancement steps
    • G06K7/1486Setting the threshold-width for bar codes to be decoded
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • General Physics & Mathematics (AREA)
  • Electromagnetism (AREA)
  • General Health & Medical Sciences (AREA)
  • Toxicology (AREA)
  • Artificial Intelligence (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Quality & Reliability (AREA)
  • Image Processing (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Circuit For Audible Band Transducer (AREA)
  • Details Of Television Scanning (AREA)
  • Amplifiers (AREA)
  • Analogue/Digital Conversion (AREA)

Description

    HINTERGRUND DER ERFINDUNG
  • 1. Gebiet der Erfindung
  • Die vorliegende Erfindung bezieht sich auf Laser-Scanbzw. -Abtastsysteme zum Lesen und Decodieren von Strichcodesymbolen oder anderen Arten von Symbolen. Insbesondere bezieht sie sich auf einen Analog-Wellenform-Decoder bzw. -Decodierer, der direkt mit einer analogen Wellenform arbeitet, die repräsentativ ist für ein Strichcodesymbol, und zwar zum Decodieren des Symbols. Noch genauer bezieht sich die Erfindung auf einen Analog-Wellenform- Decoder bzw. -Decodierer, der Strichcodesymbole mit hoher Dichte zuverlässig und effizient decodieren kann.
  • 2. Beschreibung des Standes der Technik
  • Viele Industrien, insbesondere die Lebensmittel- und Lebensmittelverarbeitungsindustrie, bezeichnen ihre Produkte mit einzigartigen Strichcodesymbolen. Ein Strichcode besteht üblicherweise aus abwechselnden Streifen aus zwei Farben, wobei die Information, wie beispielsweise eine Produktidentifikationsnummer, in deren Breiten codiert ist. Verschiedene Strichcodeschemata wurden entwikkelt und heute sind die am weitesten verbreiteten Codes der Universal-Produkt-Code (UPC) und Code 39.
  • Die derzeitige Strichcodetechnologie konzentriert sich auf Laserscanner, einen Hardware-Digitalisierer und Decodiersoftware. Ein Strichcode wird gelesen durch Analysieren der Wellenform, die erzeugt wird, wenn Licht von einem scannenden bzw. überstreichenden Laserstrahl von dem Strichcodebildbereich reflektiert wird. Typischerweise verwendet der Hardware-Digitalisierer als Eingabe die sich ergebende analoge Wellenform und erzeugt als Ausgabe eine Repräsentation dieser Wellenform in Form eines Binärsignals&sub1; das heißt einer Sequenz von Zahlen, die die Breiten der abwechselnden Streifen des Strichcodes beschreiben. Nachdem dies erreicht ist, wird eine Anstrengung unternommen, die Folge von Breiten zu decodieren. Dieses Verfahren ist einfach und funktioniert ziemlich gut, wenn die Breite der Punktspreizfunktion des Laserstrahls klein ist verglichen mit den Breiten des Strichcodes. Jedoch versagt dieses System bei Strichcodesymbolen mit hoher Dichte, insbesondere weil das Phänomen der Faltungsverzerrung die analoge Repräsentation des Strichcodesymbols beeinflußt, welche im Idealfall eine Reihe von rechteckigen Impulsen sein sollte. Es gibt andere Arten von Rauschen und Verzerrungen, die die analoge Wellenform beeinflussen und daher die Decodierfähigkeit des Strichcodes beeinträchtigen. Diese Arten von Rauschen und Verzerrungen werden eingeführt durch Papierkörnungs rauschen, Druckrauschen, Punktmatrixdrucken und Drucken der Strichcodesymbole mit geringem Kontrast. All dies beeinträchtigt die sich ergebende analoge Wellenform in verschiedener Weise und kann jeweils verhindern, daß die Wiedergewinnung der Pulsbreiten eine einfache Sache ist. Beispielsweise bewirkt Faltungsverzerrung im wesentlichen ein Ausmitteln des idealen Signals und kann die Impulse, wie sie in der analogen Wellenform repräsentiert werden, breiter und abgerundeter erscheinen lassen, als sie wirklich sind. Dies kann signifikante Decodierfehler verursachen, selbst in Abwesenheit von Rauschen.
  • Eine weitere Hauptquelle von Verzerrung ist der Farbbzw. Tintenverlauf. Farbverlauf tritt auf, wenn auf das Papier aufgebrachte Farbe oder Tinte über die beabsichtigten Grenzen hinaus fließt. Abhängig von der Art, in der der Strichcode gedruckt ist, kann Farbverlauf den Charakter des Strichs oder Zwischenraums effektiv verändem und möglicherweise zu einer fehlerhaften Decodierung führen. Obwohl die Folge von Strichen in einem Strichcode vom menschlichen Auge unterschieden werden kann, muß ein typischer Decoder in der Lage sein, Unterschiede in Breiten in der Größenordnung von 0,0254 cm (0,01 Zoll) zu unterscheiden. Es muß betont werden, daß die Auswirkungen dieser Art von Verzerrung nahe den Rändern oder Kanten zwischen Strichen und Zwischenräumen am stärksten bemerkbar sind.
  • Ferner stellt Rauschen Decodierprobleme dar, wie oben erwähnt wurde. Punktmatrixsymbolrauschen kann kleine Spitzen und Täler zu der analogen Wellenform hinzufügen, die repräsentativ für das Strichcodesymbol ist. Die Größe der zugefügten Spitzen und Täler steht in Beziehung mit der Punktgröße des Druckers. Andere Arten von Rauschen, wie beispielsweise Niedrigfrequenzrauschen aufgrund künstlichen Umgebungslichts oder Schrotrauschen bzw. Prasseln aufgrund von Sonnenlicht und/oder der Elektronik des Scanners kann zusätzliches Rauschen erzeugen und die Empfindlichkeit der Ränder bzw. Kanten beeinflussen. Da zusätzliches Rauschen die Amplitude der analogen Wellenform stört, werden Schwellen bzw. Schwellenwerte verwendet, um zu entscheiden, welche Spitzen der Wellenform signifikant sind und als Binärimpulse berichtet bzw. weitergegeben werden sollten. Diese Schwellenwertbildung begrenzt den Arbeitsbereich und die räumliche Auflösung derzeitiger Strichcodeleser - insbesondere da die Wellenformen mit hoher Dichte an Rauschen in Strichcodes mit niedriger Dichte erinnern und ihre Wellenform-Spitzen/ -Täler durch den Hardware-Digitalisierer entfernt oder verschmolzen werden.
  • Angesichts der oben genannten Beschränkungen und Nachteile der derzeitigen Strichcode-Decodiertechnologie, wäre ein analoger Wellenform-Decodierer bzw. -Decoder zweckmäßig, der einen erweiterten Arbeitsbereich und eine größere Auflösung besitzt. Insbesondere wäre ein analoger Decoder extrem vorteilhaft, der erhöhte Faltungsverzerrung und Punktmatrix-Symbolverzerrung handhaben kann. Es ist demgemäß ein Ziel der vorliegenden Erfindung, diese Bedürfnisse zu erfüllen durch Vorsehen eines Analog-Wellenform-Decoders, der den Bedarf für einen Hardware-Digitalisierer beseitigt und direkt mit der analogen Wellenform arbeitet. Solches analoges Decodieren kann erreicht werden durch direktes Decodieren der Wellenform. Zusätzlich wäre es besonders vorteilhaft, einen Analog-Wellenform-Decoder vorzusehen, der effektiv und effizient derzeit verwendete Strichcodesymbole mit hoher Dichte decodieren kann und in der Lage ist, künftige Symbole mit hoher Dichte zu decodieren.
  • Ferner wird auf IBM Technical Disclosure Bulletin, Band 16, Nr. 10, März 1974, Leybourne, Zimmerman "Edge Detection Technique for Reading Bar Codes", Seite 3992, verwiesen, das sich auf eine Kanten- bzw. Flankendetektiertechnik zum Lesen von Strichcodes bezieht. Bei dieser Technik wird ein von einem optischen Scanner erhaltenes Analogsignal zuerst differenziert, dann werden die Spitzen des differenzierten Signals detektiert, die die größte Änderungsrate der Steigung des Analogsignals anzeigen. Die Stelle dieser Spitzen wird dann genommen als die Stelle der vorderen und hinteren Kanten oder Flanken des Strichcodes.
  • Zusammenfassung der Erfindung
  • Gemäß der vorliegenden Erfindung werden ein Symbol-Scanbzw. -Abtastsystem gemäß Anspruch 1 und ein Verfahren zum Decodieren einer analogen Wellenform gemäß Anspruch 10 vorgesehen. Bevorzugte Ausführungsbeispiele der Erfindung sind in den Unteransprüchen beansprucht.
  • Die vorliegende Erfindung ist auf einen Analog-Wellenform-Decoder gerichtet zum Decodieren einer analogen Wellenform mit einer Amplitude, die repräsentativ ist für die Faltung eines Strichcodesymbols mit unbekannter Dichte mit einer Laserlichtquelle. Die Erfindung ist auch auf einen Hochdichte-Wellenform-Decoder gerichtet, der Strichcodesymbole mit hoher Dichte decodieren kann, wie beispielsweise 3 mil-CODE39-Symbole oder andere Symbole mit hoher Dichte.
  • Der Analog-Wellenform-Decoder der vorliegenden Erfindung ist ein Wellenformerkennungssystem, das einen einzigen Algorithmus verwendet, der direkt auf die analoge Wellenform angewandt wird. Die Software, die in diesem Algorithmus verwendet wird, trifft Entscheidungen über Signal/Rauschen direkt auf der Grundlage der Struktur der Wellenform. Die Software, die in dem analogen Wellenform- Decoder der Erfindung implementiert ist, bestimmt zuerst die Grenzen der analogen Wellenform, um einen decodierbaren Teil der Wellenform zu identifizieren. Der decodierbare Teil wird dann verarbeitet um eine Vielzahl von Wellenform-Deskriptoren bzw. -Beschreibern zu erhalten, die den decodierbaren Teil der analogen Wellenform definieren. Ein Hochdichte-Decodier-Prozeß wird dann auf einen oder mehrere der Vielzahl von Wellenform-Deskriptoren durchgeführt zum Erzeugen eines ersten Decodiersignals, das repräsentativ ist für in einem Symbol hoher Dichte enthaltene Information. Wenn dieser Decodierprozeß erfolglos ist, wird ein Nicht-Decodiersignal erzeugt. Ein Niedrigdichte-Decodierprozeß wird dann durchgeführt ansprechend auf das Nicht-Decodier-Signal zum Erzeugen eines zweiten Decodiersignals, das repräsentativ ist, für in einem Niedrigdichte-Symbol enthaltene Information. Entweder das erste oder das zweite Decodiersignal wird von dem Analog-Wellenform-Decoder ausgegeben. Bei dem Analog-Wellenform-Decoder der Erfindung wird die Struktur der Wellenform in zwei Klassen geteilt, und zwar jede mit ihrem eigenen Modell, nämlich dem Hoch- und Niedrigdichte-Modell. Ein unterschiedlicher Decoder ist für jedes Modell entworfen und beide Decoder werden auf jede Eingabewellenform angewandt.
  • Das Hochdichte-Modell und der entsprechende Decoder konzentriert sich auf die Wellenform wie sie durch verschiedene Wellenform-Deskriptoren repräsentiert wird. Die Deskriptoren umfassen die Stellen der Extrema bzw. Wendepunkte oder Spitzen und Täler der Wellenform, die Größen der Extrema und die Größen der Linien, die diese verbinden. Diese Wellenform-Deskriptoren liefern ausreichend Informationen, um das Decodieren eines Hochdichte- Strichcodes zu gestatten.
  • In dem Niedrigdichte-Modell sind die Stellen der Extrema gut definiert, so daß die Breiten der aufeinanderfolgenden Wellenform-Spitzen und -Täler, nämlich die Extrema- Breiten ausreichend sind, um ein Decodieren eines Nied rigdichte-Strichcodes zu gestatten. Die Unterscheidung zwischen Hoch- und Niedrigdichte-Wellenformen wird erreicht durch Untersuchen von Statistiken der Grißen und Stellen der Merkmale, die im vorhergehenden Absatz gemessen wurden. Der Niedrigdichte-Decoder gestattet, daß Rausch-Extrema aus der Wellenform entfernt werden, bevor eine Sequenz von Extrema in den Niedrigdichte-Decoder weitergegeben wird. Durch Bilden eines Histogramms bzw. Histogrammieren aller Kanten- bzw. Flankengrößen, werden Rauschpegelschwellenwerte bestimmt, und Rauschen kann aus der Wellenformdarstellung entfernt werden, bevor jeglicher Decodierversuch durchgeführt wird.
  • Die Verwendung von sowohl einer Hochdichte-Wellenformdarstellung und eines entsprechenden Decoders als auch einer Niedrigdichte-Wellenformdarstellung und eines entsprechenden Decoders ist notwendig, so daß jede Art von Strichcode mit jeglicher Dichte decodiert werden kann. Jedes Modell hat seine entsprechenden Vorteile, die in weiterer Einzelheit noch beschrieben werden.
  • Kurze Beschreibung der Zeichnungen
  • Fig. 1 ist ein Blockdiagramm des Analog-Wellenform- Decoders der vorliegenden Erfindung.
  • Fig. 2 ist ein Flußdiagramm eines Hochdichte-Decoders der vorliegenden Erfindung.
  • Fig. 3 ist ein Flußdiagramm eines Niedrigdichte-Decoders der vorliegenden Erfindung.
  • Fig. 4 ist eine Kennlinie, die ein Histogramm von Kanten- bzw. Flankengrößen zeigt.
  • Fig. 5 ist eine Darstellung einer analogen Wellenform die repräsentativ ist für ein Strichcodesymbol mit hoher Dichte.
  • Fig. 6 ist eine Darstellung der Erstreckung bzw. Ausdehnung eines Hochdichte-Wellenform-Extremums.
  • Fig. 7 ist eine Darstellung der Breite eines Niedrigdichte-Wellenform-Extremums.
  • Fig. 8 ist ein Flußdiagramm einer Software-Routine, die dazu verwendet wird, die Ränder der analogen Wellenform zu finden.
  • Fig. 9 ist ein Flußdiagramm einer Software-Routine, die dazu verwendet wird, die Extrempunkte der Wellenform zu finden.
  • Fig. 10 ist ein Flußdiagramm einer Software-Routine, die dazu verwendet wird, um Umkehrpunkt-Triplets zu erhalten.
  • Fig. 11 ist ein Flußdiagramm einer Software-Routine, die dazu verwendet wird, das Histogramm der Kantenbzw. Flankengrößen zu erhalten.
  • Fig. 12 ist ein Flußdiagramm einer Software-Routine, die zum Rückverfolgen verwendet wird.
  • Fig. 13 ist eine Darstellung einer Laser-Scan- bzw. Abtast-Pistole.
  • Beschreibung des bevorzugten Ausführungsbeispiels
  • Der Analog-Wellenform-Decoder der vorliegenden Erfindung wie er im Blockdiagramm von Figur 1 dargestellt ist, umfaßt Stufen, die einen Algorithmus aufweisen, der zum Decodieren von Strichcodesymbolen verwendet wird. Obwohl diese Beschreibung nur auf Strichcodesymbole Bezug nimmt, ist verständlich, daß der Analog-Wellenform-Decoder zum Decodieren anderer Arten von Symbolen verwendet werden kann. Obwohl es in Figur 1 nicht gezeigt ist, wird zuerst eine Laserlichtquelle mit dem Strichcodesymbol gefaltet, um eine analoge Wellenform zu erhalten. Dann erhalten Mittel 12 in Figur 1, die Photodetektormittel, wie beispielsweise das Element 50 des in Figur 13 dargestellten, handgehaltenen Laser-Scan-Strichcodelesers, sein können, von dem Strichcodesymbol reflektiertes Licht und wandeln es in ein elektrisches Signal um, das nachfolgend verstärkt und in den Analog-Wellenform-Decoder 10 eingegeben wird, wo der Decodieralgorithmus implementiert ist. Der Algorithmus, der durch verschiedene, im weiteren beschriebene Softwareroutinen und einen digitalen Computer oder Mikroprozessor implementiert ist, weist im wesentlichen fünf Hauptschritte auf. Der erste Schritt umfaßt Mittel 14 zum Identifizieren des decodierbaren Teils der analogen Wellenform. Sobald ein decodierbarer Teil erhalten ist, erhalten Mittel 16 eine Vielzahl von Wellenform Deskriptoren, die die Charakteristika bzw. Eigenschaften der analogen Wellenform repräsentieren. Die erhaltenen Wellenform-Deskriptoren umfassen Extremstellen, die die Stellen der Wellenform-Spitzen und -Täler sind, Kantenbzw. Flankengrößen, die die Größen der geraden Linien sind, die benachbarte Extrema verbinden, und Umkehrpunkte-Triplets, die die Stellen sind, wo die Spitzen und Täler übergehen bzw. zusammenlaufen. Diese Wellenform- Deskriptoren werden in erster Linie durch den Hochdichte- Decoder 26 zum Decodieren eines Hochdichte-Symbols verwendet, der im weiteren genauer beschrieben wird. Mittel 24 erhalten ein Histogramm der Kanten- bzw. Flankengrößen, das von dem Niedrigdichte-Decoder 30 verwendet wird, der auch ineinzelheiten noch beschrieben wird.
  • Es ist zu betonen, daß ein Analog-Wellenform-Signal, das in den Analog-Wellenform-Decoder 10 eingegeben wird, repräsentativ ist für entweder ein Hochdichte-Strichcodesymbol oder ein Niedrigdichte-Strichcodesymbol. Der Algorithmus unterscheidet am Anfang nicht, welche Art von Decoder, ob für hohe oder niedrige Dichte, verwendet wird, weil, wie oben erwähnt wurde, Rauschen ein Niedrigdichte-Symbol ähnlich einem Hochdichte-Symbol erscheinen läßt. Daher wird, nachdem die Wellenform vorverarbeitet ist, das heißt die Funktionen der Mittel 12 bis 24 durchgeführt wurden, der Hochdichte-Decodierschritt automatisch durchgeführt. Wenn ein erfolgreiches Decodieren erreicht wurde, wird der Algorithmus beendet. Wenn ein erfolgreiches Decodieren nicht erhalten wurde, wird ein Nicht-Decodier-Signal 23 erzeugt, um den Niedrigdichte- Decoder zu implementieren bzw. aktivieren. Daher ist der Analog-Wellenform-Decoder selektiv in dem Sinne, das ein erfolgreiches Decodieren von entweder dem Hochdichte Decoder oder dem Niedrigdichte-Decoder erhalten wird.
  • Der erste Schritt des Algorithmus identifiziert den decodierbaren Teil der Wellenform. Dieser Schritt ist als eine Software-Routine implementiert, um die linken und rechten Ränder bzw. Enden des Strichcodes zu finden. In dem bevorzugten Ausführungsbeispiel findet die Software im wesentlichen einen Punkt innerhalb des Strichcodes und führt eine Suche in beiden Richtungen nach außen durch, bis eine linke und rechte "Totzone" gefunden ist. Sobald diese gefunden wurde, werden die Ränder oder Grenzen auf die letzte signifikante Kante bzw. Flanke der Sequenz vor den Totzonen eingestellt.
  • Ein Flußdiagramm der bei dem bevorzugten Ausführungsbeispiel verwendeten Software-Routine zum Finden der linken und rechten Ränder ist in Figur 8 vorgesehen. Unter besonderer Bezugnahme auf das Flußdiagramm ist der innerhalb des Strichcodes gefundene Anfangspunkt mit CUREDGE bezeichnet. Unter Verwendung eines Sample- Fensters rechts von diesem Punkt bestimmt die Routine EGDST, was der maximale Abstand zwischen signifikanten ansteigenden Flanken im Sample-Fenster ist. Die Variable CURDST ist der derzeitige Abstand zwischen benachbarten signifikanten ansteigenden Flanken rechts vom Anfangspunkt. Während die Routine nach rechts nach ansteigenden Flanken sucht, wird die Variable CURDST verglichen, um zu bestimmen, ob sie größer ist als zweimal der Wert von EGDST. Wenn dies so ist, wurde eine "Totzone" gefunden. Daher wird die letzte gefundene ansteigende Flanke (d.h. PREVEDGE) der rechte Rand. Die gleiche Routine wird dann für die Seite links vom Anfangspunkt durchgeführt zum Bestimmen des linken Rands. Die Ränder markieren den decodierbaren Teil der analogen Wellenform und es ist nicht wichtig, welcher Rand zuerst bestimmt wird. Es können auch andere Techniken verwendet werden zum Markieren bzw. Bezeichnen bzw. Abgrenzen des decodierbaren Teils.
  • Der nächste Schritt des Algorithmus verwendet Software- Routinen zum Identifizieren der informationstragenden Merkmale des decodierbaren Teils der analogen Wellenform. Dieser Schritt besteht aus mehreren Software-Routinen zum Erhalten eines Satzes von Wellenform-Deskriptoren, das heißt der Sätze von Daten, die repräsentativ sind für Merkmale der analogen Wellenform, die von dem Hochdichte- Decoder 26 zum Decodieren eines Hochdichte-Strichcodesymbols verwendet werden. Es ist verständlich, daß der decodierbare Teil der analogen Wellenform zuerst bezüglich der Zeit gesampelt wird, um eine Reihe von Intensitätswerten zu bilden. Diese Reihe ist die Hauptdatenstruktur, die repräsentativ ist für die Wellenform, und die Sub-Sätze (Reihen) von Wellenform-Deskriptoren werden aus dieser Reihe von in dem Computerspeicher gespeicherten Intensitätswerten erhalten.
  • Der erste Satz von Wellenform-Deskriptoren, der aus der Reihe von Intensitätswertenerhalten wird, sind die Extremstellen 18, wie in Figur 5 dargestellt ist. Die Extrema repräsentieren die Wendepunkte für die Spitzen und Täler der analogen Wellenform, wie in Figur 5 dargestellt ist. Figur 5 ist eine Wellenform-Darstellung eines Hochdichte-Codes. Da die Spitzen- und Tal-Stellen in angemessener Weise eine Hochdichte-Wellenform repräsentieren, weist das Verfahren der Mitte jeder Spitze oder jedes Tals einen Extrempunkt zu. Ein Extremum besteht aus drei Teilen, das heißt einem linken Teil, einem flachen oder Mittelteil und einem rechten Teil (wie in Figur 7 gezeigt ist). Der erhaltene Satz von Extremstellen wird in einer Reihe gespeichert.
  • Ein Flußdiagramm der bei dem bevorzugten Ausführungsbeispiel verwendeten Software-Routine zum Finden der Extremstellen 18, ist in Figur 9 vorgesehen. Das Verfahren umfaßt auch eine separate Routine zum Finden der Umkehrpunkt-Triplets, die im weiteren beschrieben werden. Diese Routinen können auch separat implementiert werden. Die Routine fragt jeden Punkt der Sample-Reihe von Wellenformintensitätswerten, WAVEFORM (i), zwischen den linken und rechten Rändern ab, um Bereiche mit den aufeinanderfolgenden Teilen zu finden. Wenn diese Teile gefunden werden, wird der Mitte des mittleren Bereichs ein Extremum bzw. Extrempunkt zugewiesen. (Die Variable "i" wirkt als ein Zeiger, wenn die oben beschriebene Anordnung gesampelter Wellenformintensitätswerte durchlaufen bzw. gescannt wird.) Bei dem bevorzugten Ausführungsbeispiel wird zuerst bestimmt, ob ein Umkehrpunkt Triplet an dem gescannten bzw. durchlaufenen Teil der Wellenform vorhanden ist. Wenn dies nicht so ist, überprüft die Routine in der oben beschriebenen Weise, ob ein Extrempunkt vorhanden ist. Wenn ein Extrempunkt auf diese Weise gefunden wurde, wird er in einer Reihe aufgezeich net, die alle Extremstellen enthält. Es sei bemerkt, daß die Schleife wiederholt wird, bis ein Rand erreicht ist.
  • Figur 5 zeigt eine Annäherung einer Hochdichte-Analog- Wellenform an eine gerade Linie. Da diese Annäherung sehr gut ist, wird eine Reihe von Flankengrößen auch in einem separaten Vorgang oder als ein Teil des Vorgangs zum Finden der Extremstellen erhalten. Diese Reihe repräsentiert die Größen der Flanken, die benachbarte Extremstellen verbinden. Eine Flankengröße 20 für Decodierzwecke ist definiert als die Fläche des Rechtecks, das die Flanke 21 als Diagonale enthält. (Die Flanke ist die Linie, die benachbarte Extreme verbindet.) Alles, was notwendig ist zum Erhalten der Reihe von Flankengrößen, ist, die Höhe (Intensität) und den Abstand zwischen aufeinanderfolgenden Extrema, beispielsweise der "i-ten" und "(i+1)-ten" Extremstelle, aus der die Extremstellen enthaltenden Anordnung zu bestimmen. Die erhaltenen Werte werden einfach multipliziert, um eine Kanten- bzw. Flankengröße zu erhalten, die dem i-ten Extremum entspricht. Wenn all dies für alle Extrema zwischen den rechten und linken Rändern durchgeführt wurde, ist die Reihe von Flankengrößen gebildet.
  • Ein weiteres Merkmal der analogen Wellenform, das sich aus der Faltung des Lasers mit dem Hochdichte-Symbol ergibt, ist die Bildung von Umkehrpunkt-Triplets, das heißt der Punkte auf einer Wellenform zwischen einer aufeinanderfolgenden Spitze und einem Tal, die Spitzenund Tal-Kombinationen repräsentieren, die verschmolzen und verschwunden sind. Solche verschmolzenen Spitzen und Täler können wiedergewonnen werden durch eine Routine zum Finden der Umkehrpunkt-Triplets der Wellenform. Ein Flußdiagramm entsprechend der Software-Routine zum Lokalisieren der Umkehrpunkte ist in Figur 10 gezeigt. Da die Umkehrpunkt-Triplets den Extrema darin ähnlich sind, daß sie aus drei Bereichen bestehen, nämlich einem steilen vorderen Bereich, einem sanft geneigten Mittelbereich und einem steilen Endbereich, wird ein ähnliches Überstreichen bzw. Scannen durch die gesampelte Analog-Wellenform- Identitäts-Anordnung WAVEFORM (i) durchgeführt. Insbesondere wird, nachdem ein vorderer Bereich gefunden wurde, der am Anfang des mittleren Bereich gefundene Gradient (Steigung) GRAD (i) berechnet. Eine Variable "i" wirkt als Zeiger und wird erstmals bestimmt, wenn das Umkehrpunkt-Triplet monoton ansteigt oder abnimmt, abhängig von der Gradientendifferenz zwischen dem vorderen und dem mittleren Bereich. Dann wird ein Zeiger "j" verwendet bei der Bestimmung des Ausmaßes des mittleren Bereiches. Der mittlere Bereich erstreckt sich, bis sein Gradient geringer ist als der Anfangsgradient des mittleren Bereichs, das heißt, wenn GRAD (j) < GRAD (i), für den Fall eines monoton abnehmenden Umkehrpunkts, oder wenn sein Gradient größer ist als der Anfangsgradient des mittleren Bereichs, das heißt, wenn GRAD (j) > GRAD (i), für den Fall eines monoton ansteigenden Umkehrpunktes. Sobald das Ausmaß des mittleren Bereichs gefunden ist, wird der Gradient in einer Entfernung in den Endbereich hinein, beispielsweise bei GRAD (j+5), berechnet und wird mit den Gradienten am Ende des mittleren Bereichs bei GRAD (j) verglichen, um zu gewährleisten, daß er um einen bestimmten Wert, beispielsweise 1,5, größer ist. Wenn der Endteil dieses Kriterium nicht erfüllt, endet die Routine und kehrt zu der Extrema-Finde-Routine zurück, wie sie in Figur 9 gezeigt ist. Wenn das Kriterium für einen Umkehrpunkt-Triplet erfüllt ist, wird ein Wellenformtal bei WAVEFORM (i) regeneriert und eine Wellenformspitze wird bei WAVEFORM (j+2) regeneriert. Der Hochdichte-Decoder 26 kann dann die Mitten der regenerierten Spitzen und Täler als zusätzliche Extremstellen 18 behandeln. Das Verfahren kehrt dann zu der Extrema-Finde-Routine zurück.
  • Das Niedrigdichte-Modell befaßt sich nicht mit der Fläche unter einer Spitze oder einem Tal, sondern betrifft die Breite der Spitzen oder Täler entsprechend der Breiten der Striche/Zwischenräume des Symbols. Daher kann eine Routine zum Finden der Extrema-Breiten der Spitzen/Täler implementiert werden, wenn Extremstellen gefunden werden, oder sie kann implementiert werden, wenn ein Niedrigdichte-Decodierversuch durchgeführt wird, wie er im Schritt 34 in Figur 3 gezeigt ist. Eine Darstellung&sub1; die eine Extrema-Breite für eine Niedrigdichte-Wellenform- Spitze zeigt, ist in Figur 7 gezeigt. Die zum Finden der Extrema-Breite einer Spitze und eines Tals verwendete Routine macht die Bestimmung der Mitte der Spitze oder des Tals, das heißt der Extremstellen, notwendig.
  • Eine allgemeine Routine zum Finden von Extrema-Breiten, die bei dem bevorzugten Ausführungsbeispiel verwendet wird, wird nun mit Bezug auf Figur 7 erklärt. Grundsätzlich werden die geometrischen Formeln zum Finden der horizontalen Entfernung zwischen zwei Punkten auf einer Kurve verwendet. Die Formeln sind in den Gleichungen (1a) und (1b) gezeigt und alle "x"- und "y"-Koordinaten werden aus den Reihen von Extremstellen erhalten.
  • In den Gleichungen (1a) und (1b) ist (Xr, Yr) der Mittelpunkt an der rechten Flanke der Wellenformspitze und (X , Y ) ist der Mittelpunkt an der linken Flanke. Es sei bemerkt, daß (Xi-1, Yi-1) und (xi+1, Yi+1) die Extrema benachbart zu dem i-ten Extrempunkt einer bestimmten Wellenformspitze oder eines Tals repräsentieren. Der horizontale Abstand Xr - X repräsentiert die Breite der Spitze/des Tals. Sobald ein vollständiger Satz von Reihen von Wellenformdeskriptoren erhalten ist, bestimmt der Algorithmus, daß eine Software-Routine ein Histogramm aus der Reihe von Flankengrößen bildet. Dieser Histogramm- Schritt ist wichtig, weil die daraus erhaltene Information wertvoll ist, während Niedrigdichte-Decodierens. Da Rauschen in der analogen Wellenform sich üblicherweise als kleine Störungen bzw. Perturbationen manifestiert, die auf der Wellenform reiten, wird ein Wegweiser bzw. Führer benötigt, um die kleinen Spitzen (Rauschen) von den größeren Spitzen (Signal) zu trennen. Das Histogramm der Flankengrößen 20 erfüllt diese Funktion. Eine Software-Routine zum Bilden des Histogramms ist in dem Flußdiagramm von Figur 11 dargestellt. Hier bezeichnet die Variable SIZE(cur_edge) eine bestimmte Flankengröße aus der Reihe von Flankengrzßen, die histogrammiert werden. Die Variable "cur_edge" ist der Zeiger. Die Variablen MAXEDGESIZE und MINEDGESIZE bezeichnen jeweils die maximalen und minimalen Flankengrößen der Flankengrößenreihe und werden zum Normalisieren des Histogramms verwendet. Die Variable HISTOGRAM_SIZE wird dazu verwendet die Anzahl verschiedener Flankengrößen zu begrenzen, die verwendet werden zum Bilden der x-Achse des Histogramms. Beispielsweise wird in dem bevorzugten Ausführungsbeispiel eine Histogrammgröße von einhundert verwendet. Die Gleichung, die der Variable IDX einen Wert zuweist, be rechnet eine normalisierte Flankengröße (normalisiert zwischen Werten von Null und der Histogrammgröße). Das in Figur 4 gezeigte Histogramm legt mögliche Rauschpegelschwellen nahe, die aus der Wellenform entfernt werden können, wenn ein Niedrigdichte-Decodieren versucht wird. Figur 4 zeigt eine Kennlinie der Frequenz des Auftretens von Flanken (y-Achse) gegen die Flankengrößen (x-Achse). Die Vertiefungen oder Dellen des Histogramms, die mit T1, T2 und T3 bezeichnet sind, legen Rauschpegelschwellenwerte nahe. Der Vorgang zum Entfernen von Rauschen wird in weiterer Einzelheit später beschrieben.
  • Der Hochdichte-Decoder 26 ist nun implementiert zum Decodieren des Strichcodesymbols. Da die Spitzen- und Tal-Bereiche direkt in Beziehung mit der Größe der Striche/Zwischenräume in einem Hochdichte-Strichcode, verwendet der Hochdichte-Decoder 26 die Spitzen-/Tal- Flächen als Basis zum Decodieren. Figur 2 ist ein Flußdiagramm, das das Verfahren und den Algorithmus zum Decodieren eines Hochdichte-Strichcodesymbols darstellt. Die Eingabe in den Hochdichte-Decoder besteht aus einer Sequenz von Extrema 18. Der Algorithmus, wie er durch die Software-Subroutinen implementiert wird, kann in bestimmte Phasen unterteilt werden. Die Anfangs- bzw. Initiahsierungsphase 27 besteht aus dem Identifizieren der kleinsten Flankengröße 20 der Eingabesequenz. Dies wird bezeichnet als der Saatpunkt für den Hochdichte-Decoder. Seine benachbarten Extrema werden identifiziert und klassifiziert als eine Schmal-Sequenz im Strichcode. Figur 5 zeigt eine Wellenformdarstellung für einen Hochdichte-Code, wobei ein Saatpunkt mit 25 bezeichnet ist.
  • Die nächste Phase ist die Extrema-Klassifizierungsphase 29. In dieser Phase entwickelt eine Software-Routine zuerst eine Schätzung der Größe/Fläche von schmalen und breiten Spitzen an jeder Extremstelle. Die Größe eines Extremums oder das Extrema-Ausmaß 38 steht in Beziehung zu einer Fläche des begrenzenden Rechtecks eines Extrempunktes 18. Figur 6 zeigt ein Extrema-Ausmaß 38. Es ist definiert als die Fläche des größten Rechtecks, das nicht die Ausmaße anderer Extrema überlappt und ist derart, daß der Extrempunkt 18 eine Horizontalseite des Rechtecks berührt und die Wellenform durch die Ecken des Rechtecks gegenüber dem Extrempunkt hindurchgeht. Sobald der Saatpunkt 25 identifiziert ist, wird die Lösung auf die Grenzen des Codes ausgedehnt bzw. erweitert. Die Lösung umfaßt die Klassifizierung jedes Extrema-Ausmaßes 38, das erzeugt wird. Eine Schwellen- bzw. Schwellenwerttechnik wird dazu verwendet, die Klassifizierung zu erreichen. Ein Stromschwellenmaß wird aus Schätzungen der Größe der breiten und schmalen Extrema abgeleitet, wie es im Schritt 31 in Figur 2 gezeigt ist. Beispielsweise ist die Anfangsgrößenschätzung für ein breites Extremum, Areawide, die Größe der größten Flanke 20 der Eingabesequenz. Die Anfangsgrößenschätzung für ein kleines bzw. schmales Extremum, Areanarrow, ist die Hälfte der Größe der kleinsten Flanke in der Eingabesequenz (der Saatpunkt 25). Der Stromschwellenausmaßwert wird berechnet, wie es in Gleichung (2) gezeigt ist.
  • Schwellenwert bzw. Threshold = (AREAwide + AREAnarrow)/4 (2)
  • Unter Verwendung der Extrema-Ausmaßdef inition und ausgehend vom Saatpunkt 25 werden die Extrema-Ausmaße benachbarter Extrema aufeinanderfolgend erzeugt und klassifiziert, wie es in den Schritten 35 und 37 in Figur 2 gezeigt ist. Das Extrema-Ausmaß wird erzeugt und mit dem Stromschwellenausmaßwert verglichen, der in dem Schritt 31 erzeugt und dem Schritt 39 aktualisiert wurde. Wenn das erzeugte Extrema-Ausmaß 38 größer ist als der Stromschwellenausmaßwert, wird es als breit klassifiziert. Wenn das Extrema-Ausmaß 38 kleiner ist als der Stromschwellenausmaßwert, wird es als schmal klassifiziert. Der Klassifizierungsschritt ist als Schritt 37 in Figur 2 gezeigt.
  • Der Hochdichte-Decoder 26 ist ein adaptiver Decoder, in dem die Schätzungen, die zum Ableiten des Stromschwellenausmaßwerts verwendet werden (Schritt 31), aktualisiert werden, während die Lösung sich von dem Saatpunkt 25 entfernt bzw. von dort wegwächst. Das heißt, daß der Wert eines Extrema-Ausmaßes 38, das im Schritt 37 als schmal oder breit klassifiziert wurde, dazu verwendet wird, über die Größe seines benachbarten Extremums zu entscheiden. Daher wird die Größe von AREAwide oder AREAnarrow aktualisiert, wjhrend sich die Lösung nach außen hin zu den Grenzen bewegt bzw. erstreckt. Der Schritt des Aktuahsierens des Schwellenausmaßwerts ist als Schritt 39 in Figur 2 gezeigt. Wenn ein kleines Extremum eine beträcht liche Verzerrung (Wachstum) erfährt aufgrund eines großen Extremums, das zwei Elemente entfernt ist, kann der Stromschwellenausmaßwert künstlich erhöht werden, um die Verzerrungseffekte zu kompensieren. Beispielsweise zeigt die Gleichung (3) einen modifizierten Stromschwellenaus maßwert, der zum Kompensieren von Verzerrungseffekten verwendet wird.
  • Schwellenwert bzw. Threshold (AREAwide + AREAnarrow)/3 (3)
  • Es sei bemerkt, daß die Sequenz 35 bis 39 in Figur 2 für jedes Extrema-Ausmaß wiederholt wird, bis die Grenzen der Wellenform erreicht sind.
  • Andere Schemata zum Bestimmen und Aktualisieren eines Stromschwellenausmaßwerts können implementiert werden. Beispielsweise ist es möglich, alle Extrema-Ausmaße 38 zuerst zu erzeugen und sie nachfolgend jeweils zu klassifizieren, anstatt jedes Extrema-Ausmaß zu einer Zeit einzeln zu erzeugen und zu klassifizieren. Jedenfalls hat zu einem Zeitpunkt, wenn der Hochdichte-Decoder 26 bestimmt, daß die Ränder der Wellenform erreicht wurden, der Decoder 26 jedes der Sequenz von Extrema klassifiziert, die eingegeben wurden. Eine Nachschlagetabelle wird dann dazu verwendet, die Sequenz zu decodieren. Wenn eine erfolgreiche Decodierung erhalten wurde, wird ein für das decodierte Symbol repräsentatives Signal erzeugt und ausgegeben, und der Algorithmus endet. Wenn ein Hochdichte-Decodierversuch erfolglos war, kann die Hochdichte-Decodiersequenz wieder implementiert werden mit der Annahme, daß die regenerierten Spitzen/Täler der Umkehrpunkt-Triplets keine gültigen Extrempunkte sind. (Bei dem ersten Decodierversuch nimmt der Hochdichte-Decoder an, daß sie gültige Extrempunkte sind.) Der zweite Hochdichte-Decodierversuch ist als Implementierung während der in Figur 12 gezeigten Rückverfolgungsroutine gezeigt und wird im weiteren in Einzelheiten erklärt.
  • Wenn die Decodierversuche durch den Hochdichte-Decoder 26 fehlschlagen, wird ein Nicht-Decodiersignal 23 erzeugt, um den Niedrigdichte-Decoder 30 zu aktivieren. Eine Eigenschaft der Analogdarstellung eines Niedrigdichte- Symbols besteht darin, daß seine Extrema-Höhen-Informa tion gestört ist (üblicherweise durch Punkt-Matrixrauschen), während die Breite-Information im wesentlichen intakt ist. Die Extrema-Flächen sind daher verzerrt, so daß der Niedrigdichte-Decodierprozeß nur die Breite- Information verwendet, um die Extrema zu klassifizieren. Eine Software-Subroutine, die die Formeln implementiert, die in den oben beschriebenen Gleichungen (1a) und (1b) aufgeführt sind, kann zum Bestimmen der Extrema-Breiten verwendet werden. In dem Niedrigdichte-Modell werden die Umkehrpunkt-Triplets bei der Bestimmung von Extrema Breiten nicht verwendet. Die Folge von Extrema-Breiten, und nicht die Extrema selbst werden an den Niedrigdichte- Decoder 30 weitergegeben. Jede Breite der Sequenz von Breiten wird dann als breit oder schmal klassifiziert und eine Nachschlagetabelle wird zum Decodieren der Sequenz verwendet. Figur 3 ist ein Flußdiagramm für den Niedrigdichte-Decoder 30. Die Bestimmung und Klassifizierung von Extrema-Breiten an jeder Extremstelle ist im Schritt 34 gezeigt. Wenn eine erfolgreiche Decodierung erhalten wurde, wird ein für das decodierte Symbol repräsentatives Signal erzeugt und ausgegeben und der Algorithmus endet. Wenn der Niedrigdichte-Decodierversuch erfolglos war, wird ein weiterer Versuch mit neuen Annahmen bezüglich der Rauschpegel durchgeführt. Dies ist die Rückverfolgungsroutine, die als Schritt 36 in Figur 3 gezeigt ist und in Einzelheiten im Flußdiagramm von Figur 12 gezeigt ist.
  • Beim Rückverfolgen wird der Algorithmus dahin geführt, seine Annahmen bezüglich Rauschen zu ändern, die Daten erneut zu verarbeiten, und eine weitere Niedrigdichte- Decodierung zu versuchen. Die Annahmen betreffen üblicherweise die Spitzen und Täler, die aufgrund von Rauschen vorhanden sind und aus der analogen Wellenform entfernt werden sollten. Obwohl es viele Rückverfolgungsschemata gibt, umfaßt das in dem bevorzugten Ausführungsbeispiel verwendete das Entfernen von Rauschen aus der gesamten analogen Wellenform. Die Täler bzw. Tröge T1, T2 und T3 des Histogramms von Figur 4 legen mögliche Rauschpegelschwellenwerte nahe. Jede Flanke 20 oberhalb des Rausch(pegel)schwellenwerts wird als signifikante Flanke angesehen, und diejenigen Flanken unterhalb davon werden als Rauschen betrachtet. Wenn beispielsweise der Rauschpegelschwellenwert angewandt wird, der durch T1 von Figur 4 nahegelegt wird, werden die Flankengrößen 20 unterhalb dieser Schwelle mit ihren größeren Flankennachbarn verschmolzen. Dann wird ein weiterer Niedrigdichte-Decodierversuch durchgeführt. Falls dieser Decodierversuch fehlschlägt, wird der Algorithmus wieder dahin geleitet, Flanken bzw. Kanten unterhalb einer zweiten Rauschpegelschwelle zu entfernen, beispielsweise diejenige, die durch die Vertiefung T2 in dem Histogramm 24 von Figur 4 nahegelegt wird. Dann wird ein weiterer Decodierversuch durchgeführt, nachdem das Rauschen entfernt wurde. Diese Technik des Entfernens von Rauschinformation aus der analogen Wellenform, wie es durch das Histogramm von Kanten- bzw. Flankengrößen nahegelegt wird, wird aufeinanderfolgend angewandt, bis der zu entfernende Rauschpegel 50 % der größten Flanke in der Wellenform wird.
  • Bei der Rückverfolgungsroutine von Figur 12 wird der Rauschpegel initialisiert bzw. auf Null gesetzt und die Merker bzw. Flaggen HIGHRES und INFLECT werden auf wahr gesetzt, um anzuzeigen, daß alle Extrempunkte und Umkehrpunkte als gültig angenommen werden. Wenn HIGHRES wahr ist, bedeutet dies, daß das Decodieren durch den Hochdichte-Decoder 26 versucht wird. Wenn es falsch ist, bedeutet dies, daß der Standard-Niedrigdichte-Decoder 30 verwendet wird. Der Algorithmus weist zuerst an, daß 10 Extrempunkte gleichzeitig in einen Zeichenpuffer CHAR eingegeben werden. Wenn die eingegeben Punkte gültig, das heißt decodierbar sind, dann geht die Schleife weiter bis ein Rand erreicht wird. Wenn die eingegeben Extrempunkte in CHAR nicht gültig sind, wird die INFLECT-Flagge auf falsch gesetzt und ein weiterer Hochdichte-Decodierversuch wird durchgeführt, beginnend mit dem Anfang der Wellenform. Wenn INFLECT falsch ist, werden nur die Extrempunkte und nicht die Umkehrpunkte in den Puffer eingegeben. Wenn der nächste Decodierversuch erfolgreich ist, wird die Schleife wiederholt für die nächsten 10 Extrempunkte. Wenn der CHAR-Puffer nicht gültig ist, wird die HIGHRES-Flagge nun auffalsch gesetzt und der gesamte Algorithmus wird wiederholt mit der Ausnahme, daß der Standard-Decoder, nämlich der Niedrigdichte-Decoder 30, verwendet wird. Wenn ein Niedrigdichte-Decodierversuch mit erfolglosen Ergebnissen durchgeführt wird, wird eine Bestimmung durchgeführt, um zu sehen, ob der Rauschpegel größer ist als ein Schwellen- bzw. Schwellenwertpegel. Falls das so ist, ist die Wellenform nicht decodierbar und eine entsprechende Ausgabe wird ausgegeben, um dies anzuzeigen. Wenn der Rauschpegel geringer ist als die Schwelle, wird der Rauschpegel erhöht, gemäß dem Histogramm von Figur 4, und alle Wellenform-Flanken, die kleiner sind als der Rauschpegel, der durch das Histogramm nahegelegt wird, werden aus der Wellenformdarstellung wie oben beschrieben entfernt. Das gesamte Verfahren wird dann mit einem neuen Rauschpegel wiederholt.
  • Die vorliegende Erfindung kann in einer handgehaltenen Laser-Scan-Strichcodelesereinheit implementiert werden, wie sie in Figur 13 dargestellt ist, obwohl bei dem bevorzugten Ausführungsbeispiel die Algorithmus-Software entfernt von der Laser-Scan-Lesereinheit angeordnet ist. Dies gestattet die leichte Implementierung von Änderungen der Software und/oder der Nachschlagetabellen-Datenbank. Bei einem bevorzugten Ausführungsbeispiel ist die Lesereinheit 40 eine pistolenförmige Einrichtung mit einem pistolengriffartigen Handgriff 42 und einem beweglichen Auslöser oder Abzug 44, der dazu verwendet wird, dem Verwender zu gestatten, den Lichtstrahl 46 und eine Detektorschaltung zu aktivieren, wenn auf ein zu lesendes Symbol gezielt wird, um dadurch Batterieleistung einzusparen, wenn die Einheit sich selbst mit Energie versorgt. Ein leichtgewichtiges Kunstoffgehäuse 48 enthält die Laserlichtquelle, den Detektor 50, die Optik und die Signalverarbeitungsschaltung und die CPU 52 sowie eine Leistungsquelle oder Batterie 54. Ein lichtdurchlässiges Fenster 58 am vorderen Ende des Gehäuses 48 gestattet, daß der ausgehende Lichtstrahl 46 austritt und daß das ankommende, reflektierte Licht 60 eintritt. Der Leser 40 ist dazu gedacht, von dem Verwender auf ein Strichcodesymbol gerichtet zu werden, und zwar aus einer Position, in der der Leser 40 von dem Symbol beabstandet ist, das heißt, daß er das Symbol nicht berührt oder nicht über das Symbol bewegt wird. Typischerweise arbeitet diese Art handgehaltener Strichcodeleser im Bereich von vielleicht mehreren Zoll.
  • Wie weiter in Figur 13 dargestellt ist, kann eine geeignete Linse 62 (oder ein Mehrfachlinsensystem) dazu verwendet werden, den gescannten Strahl auf das Strichcodesymbol in einer geeigneten Bezugsebene zu fokussieren. Eine Lichtquelle 64, wie beispielsweise eine Halbleiter-Laserdiode, ist angeordnet, um einen Lichtstrahl in die Achse der Linse 62 einzuführen, und der Strahl geht durch einen halbdurchlässigen bzw. halbversilberten Spiegel 66 oder, je nach Bedarf, durch andere Linsen oder durch eine strahlformende Struktur mit einem oszillierenden bzw. schwingenden Spiegel 68 hindurch, welcher an einem Scan-Motor 70 befestigt ist, welcher aktiviert wird, wenn der Auslöser 44 gedrückt wird. Wenn das von der Quelle 64 erzeugte Licht nicht sichtbar ist, kann ein Ziellicht in dem optischen System umfaßt sein. Bei Bedarf erzeugt das Ziellicht einen Punkt mit sichtbarem Licht, der feststehend sein kann oder ähnlich wie der Laserstrahl gescannt wird; der Verwender benutzt dieses sichtbare Licht zum Zielen der Lasereinheit auf das Symbol, bevor der Ausl-4ser 44 gedrückt wird.
  • Obwohl die vorliegende Erfindung mit Bezug auf lineare oder einzelne Strichcodes beschrieben wurde, ist sie nicht auf derartige Ausführungsbeispiele beschränkt, sondern kann auf komplexere Scan- oder Abtastmuster und auf gestapelte oder zweidimensionale Strichcodes wie beispielsweise Code 49 und ähnliche Symbole angewandt werden. Es ist denkbar, daß das Verfahren der vorliegenden Erfindung auch eine Anwendung finden kann bei der Verwendung mit verschiedenen Maschinensichtanwendungen, bei denen Information aus anderen Arten von (Kenn-) Zeichen, wie beispielsweise Buchstaben, oder von den Oberflächencharakteristika des gescannten Artikels abgeleitet wird.
  • Bei allen diesen verschiedenen Ausführungsbeispielen können die Elemente des Scanners in ein sehr kompaktes Paket zusammengebaut werden, was gestattet, daß der Scanner als eine einzige gedruckte Leiterplatte oder integrales Modul hergestellt werden kann. Ein solches Modul kann in austauschbarer Weise als Laser-Scan-Element für eine Vielzahl verschiedener Arten von Datenerfassungssystemen verwendet werden. Beispielsweise kann das Modul alternativ in einem handgehaltenen Scanner oder einem Tisch-Scanner verwendet werden, welcher an einem flexiblen Arm oder einer Befestigung befestigt ist, die sich über der Oberfläche des Tischs erstreckt, oder an der Unterseite einer Tischf läche befestigt ist, oder als Teilkomponente oder Sub-Anordnung eines höherentwickelten Datenerfassungs systems angebracht sein.
  • Das Modul würde vorteilhafter Weise eine an einem Träger angebrachte Laser-/Optik-Subanordnung, ein Scan-Element, wie beispielsweise einen sich drehenden oder hin- und herbewegenden Spiegel, und eine Photodetektor-Komponente aufweisen. Steuer- oder Datenleitungen, die mit derartigen Komponenten assoziiert sind, wären mit einem elektri schen Verbinder verbunden, welcher an einem Rand oder einer Außenoberfläche des Moduls angebracht ist, um zu ermöglichen, daß das Modul mit einem passenden Verbinder elektrisch verbunden wird, welcher mit anderen Elementen des Datenerfassungssystems assoziiert ist.
  • Ein individuelles Modul kann spezifische Scan- und Decodiereigenschaften besitzen, beispielsweise eine Betriebsfähigkeit bei einem bestimmten Arbeitsabstand, oder die Betriebsfähigkeit mit speziellen Symbolen oder einer speziellen Druckdichte. Die Eigenschaften können auch durch manuelle Einstellungen von Steuerschaltern definiert werden, die mit dem Modul assoziiert sind. Der Verwender kann auch das Datenerfassungssystem dahingehend anpassen, daß verschiedene Arten von Artikeln gescannt werden, oder das System kann angepaßt werden für verschiedene Anwendungen durch Austauschen von Modulen des Datenerfassungssystems durch die Verwendung des einfachen elektrischen Verbinders.
  • Das oben beschriebene Scan-Modul kann auch in einem unabhängigen Datenerfassungsystem implementiert werden einschließlich eines oder mehrerer derartiger Komponenten wie Tastatur, Anzeige, Datenspeicher, Anwendungssoftware und Datenbanken. Ein solches System kann auch eine Kommunikationsschnittstelle umfassen, um zu gestatten, daß das Datenerfassungssystem mit anderen Komponenten eines örtlichen Netzwerkes (LAN) oder mit dem öffentlichen Tele fonnetz kommuniziert, entweder über ein Modem oder eine ISDN-Schnittstelle oder über eine Niedrigleistungs-Funkverbindung von dem tragbaren Terminal zu einem stationären Empfänger.

Claims (18)

1. Symbol-Scan- bzw. -Abtastsystem, welches einen Analog-Wellenform-Decoder aufweist, der direkt mit einer analogen Wellenform arbeitet, die repräsentativ ist für ein Symbol, und zwar zum Decodieren von Information, die in dem Symbol enthalten ist, wobei der Analog-Wellenform-Decoder folgendes aufweist: Mittel (14) zum Identifizieren von Grenzen der analogen Wellenform, um einen decodierbaren Teil der Wellenform zu identifizieren;
Mittel (16), die ansprechend sind auf den decodierbaren Teil der Wellenform, zum Erhalten einer Vielzahl von Wellenform-Deskriptoren, die den decodierbaren Teil der Wellenform definieren, wobei die auf den decodierbaren Teil der Wellenform ansprechenden Mittel (16) folgendes umfassen:
a) Mittel zum Erhalten von Extremstellen (18), die repräsentativ sind für Spitzen und Täler der analogen Wellenform;
b) Mittel zum Bestimmen der Größen von geraden Linien (21), die benachbarte Extrema verbinden; und
c) Mittel zum Bestimmen von Umkehrpunkt-Triplets der analogen Wellenform, die Stellen sind, wo benach barte Spitzen und Täler der Wellenform ineinander übergegangen sind bzw. verschmolzen sind und verschwunden sind und wiedergewonnen werden müssen; Hochdichte-Decodermittel (26), die auf die Wellenform-Deskriptoren ansprechend sind, zum Decodieren von in dem Symbol enthaltener Information, wenn es ein Hochdichte-Symbol ist; und
Mittel zur Ausgabe eines ersten Decodiersignals, das repräsentativ ist für die in dem Symbol enthaltene Information.
2. Scansystem gemäß Anspruch 1, wobei die Hochdichte- Decodiermittel (26) ein erstes Decodiersignal, das repräsentativ ist für in einem Hochdichte-Symbol enthaltene Information&sub1; oder ein Nicht-Decodiersignal (23) erzeugen;
wobei der Analog-Wellenform-Decoder (10) ferner folgendes aufweist:
Niedrigdichte-Decodermittel (30), die ansprechend sind auf die Breiten der Spitzen und Täler der analogen Wellenform, zum Erzeugen eines zweiten Decodiersignals, das repräsentativ ist für in einem Niedrigdichte-Symbol enthaltene Information, und zwar ansprechend auf das Nicht-Decodiersignal; und Mittel zur Ausgabe des zweiten Decodiersignals, wenn das Symbol ein Niedrigdichte-Symbol ist.
3. System gemäß Anspruch 1 oder 2, wobei die Hochdichte Decodermittel folgendes umfassen:
a) Mittel zum Bestimmen von Kanten- bzw. Flankengrößen (20), die definiert sind als die Flächen von Rechtecken, die die geraden Linien (21), welche benachbarte Extrema verbinden, als ihre Diagonale enthalten,;
b) Mittel (27) zum Identifizieren eines Saatpunktes (25), der definiert ist als die kleinste Kanten- bzw. Flankengröße (20), aus einer Sequenz von Flankengrößen der analogen Wellenform;
c) Mittel (35) zum Erzeugen eines Extrema-Ausmaßes, das definiert ist als die Fläche des begrenzenden Rechtecks der Spitzen und Täler der analogen Wellenform, und zwar an jeder Extremstelle, wobei die Extrema-Ausmaße (38) beginnend mit dem Saatpunkt und endend an den Grenzen erzeugt werden; und
d) Mittel (37) zum Klassifizieren der Größe jedes Extrema -Ausmaßes.
4. System gemäß Anspruch 3, wobei die Klassifizierungsmittel folgendes umfassen:
Mittel (31,39) zum Bestimmen einer Stromschwelle mit einem Wert basierend auf einem oder mehreren erzeugten Extrema-Ausmaßen; und
Mittel zum Vergleichen des Stromschwellenwerts mit einem erzeugten Extrema-Ausmaß.
5. System gemäß Anspruch 4, wobei die Mittel zum Be stimmen des Stromschwellenwerts Aktualisierungsmittel (39) umfassen zum Ändern des Stromschwellenwerts, um die Größe eines Extrema-Ausmaßes zu reflektieren, das vor demjenigen bestimmt wurde, das gerade klassifiziert wird.
6. System gemäß einem der Ansprüche 2 bis 5, wobei die Niedrigdichte-Decodermittel Mittel (30) umfassen zum Bestimmen der Breite jeder Spitze und jedes Tals der Wellenform aus Information, die an dem Extremum bzw. der Extremstelle, das bzw. die sich an jeder Spitze und jedem Tal befindet, und dem Extremum bzw. der Extremstelle, das bzw. die sich benachbart dazu befindet, enthalten ist.
7. System gemaß einem der Ansprüche 3 bis 5, wobei das System ferner folgendes umfaßt: Mittel (24) zum Erzeugen eines Histogramms der Flankengrößen und Mittel zum Bestimmen von Rauschpegelschwellen (T&sub1;-T&sub3;) aus dem Histogramm.
8. System gemäß Anspruch 7, wobei das System ferner Mittel umfaßt zum Entfernen von Rauschinformation aus der analogen Wellenform basierend auf einer aus dem Histogramm erhaltenen Rauschpegelschwelle.
9. System gemäß Anspruch 8, wobei das System ferner Rückverfolgungsmittel (36) umfaßt zum Zurückführen der analogen Wellenform mit entfernter Rauschinformation zu den zweiten Decodiermitteln.
10. Verfahren zum Decodieren einer analogen Wellenform, die repräsentativ ist für in einem Symbol enthaltene Information, wobei das Verfahren die folgenden Schritte aufweist:
Bestimmen von Grenzen der analogen Wellenform, um einen decodierbaren Teil der Wellenform zu identifizieren;
Verarbeiten des decodierbaren Teils der analogen Wellenform, um eine Vielzahl von Wellenform- Deskriptoren zu erhalten, die den decodierbaren Teil der Wellenform definieren;
wobei die Deskriptoren folgendes umfassen:
a) Extremstellen (18), die repräsentativ sind für Spitzen und Täler der analogen Wellenform;
b) die Größen der geraden Linien (21), die benachbarte Extrema verbinden; und
c) Umkehrpunkt-Triplets der analogen Wellenform, die Stellen sind, wo benachbarte Spitzen und Täler der Wellenform ineinander übergegangen bzw. verschmolzen sind und verschwunden sind und wiedergewonnen werden müssen;
Durchführen eines Hochdichte-Decodierprozesses auf die Vielzahl von Wellenform-Deskriptoren zum Erzeugen eines ersten Decodiersignals, das repräsentativ ist für in dem Symbol enthaltene Information; und Ausgeben des Signals, das repräsentativ ist für in dem Symbol enthaltene Information.
11. Verfahren gemäß Anspruch 10, wobei der Hochdichte- Decodierprozeß das erste Decodiersignal, das repräsentativ ist für in einem Hochdichte-Symbol enthaltene Information, oder ein Nicht-Decodier Signal erzeugt;
wobei das Verfahren ferner die folgenden Schritte aufweist:
Durchführen eines Niedrigdichte-Decodierprozesses auf die Breiten der Spitzen und Täler der analogen Wellenform ansprechend auf das Nicht-Decodiersignal, und zwar zum Erzeugen eines zweiten Decodiersignals, das repräsentativ ist für in dem Symbol enthaltene Information; und
Ausgeben des zweiten Decodiersignals, wenn das Symbol ein Niedrigdichte-Symbol ist.
12. Verfahren gemäß Anspruch 10 oder 11, wobei der Hochdichte-Decodierprozeß die folgenden Schritte umfaßt:
a) Bestimmen von Kanten- bzw. Flankengrößen (20), die definiert sind als die Flächen von Rechtecken, die die geraden Linien (21), die benachbarte Extrema verbinden, als ihre Diagonale enthalten;
b) Identifizieren eines Saatpunktes, der definiert ist als die kleinste Flankengröße, aus einer Sequenz von Flankengrößen der analogen Wellenform;
c) Erzeugen eines Extrema-Ausmaßes, das definiert ist als die Fläche des begrenzenden Rechtecks der Spitzen und Täler der analogen Wellenform, und zwar an jeder Extremstelle beginnend mit dem Saatpunkt und endend an den Grenzen; und
d) Klassifizieren der Größe jedes erzeugten Extrema-Ausmaßes.
13. Verfahren gemäß Anspruch 12, wobei der Klassifizierungsschritt die folgenden Schritte umfaßt: Bestimmen einer Stromschwelle mit einem Wert basierend auf einem oder mehreren erzeugten Extrema- Ausmaßen; und
Vergleichen des Stromschwellenwerts mit einem erzeugten Extrema-Ausmaß.
14. Verfahren gemäß Anspruch 13, wobei der Schritt des Bestimmens eines Stromschwellenwerts den Schritt des Aktualisierens des Stromschwellenwerts umfaßt, um die Größe eines Extrema-Ausmaßes zu reflektieren, das vor demjenigen bestimmt wurde, das gerade klassifiziert wird.
15. Verfahren gemäß einem der Ansprüche 11 bis 15, wobei der Niedrigdichte-Decodierprozeß den Schritt des Bestimmens der Breite jeder Spitze und jedes Tales der Wellenform umfaßt, und zwar aus Information, die an dem Extremum bzw. der Extremstelle, das bzw. die sich an jeder Spitze und jedem Tal befindet, und an dem Extremum bzw. der Extremstelle, das bzw. die sich benachbart dazu befindet, enthalten ist.
16. Verfahren gemäß Anspruch 15, wobei das Verfahren ferner die folgenden Schritt umfaßt: Erzeugen eines Histogramms der Flankengrößen und Bestimmen von Rauschpegelschwellen aus dem Histogramm.
17. Verfahren gemäß Anspruch 16, wobei das Verfahren ferner den Schritt des Entfernens von Rauschinformation aus der analogen Wellenform umfaßt, und zwar basierend auf einer Rauschpegelschwelle, die aus dem Histogramm erhalten wurde.
18. Verfahren gemäß Anspruch 17, wobei das Verfahren ferner die Schritte des Zurückführens der analogen Wellenform mit entfernter Rauschinformation zu den Niedrigdichte-Decodermitteln umfaßt.
DE69129584T 1991-09-13 1991-12-30 Analogdekoder Expired - Lifetime DE69129584T2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US75933291A 1991-09-13 1991-09-13

Publications (2)

Publication Number Publication Date
DE69129584D1 DE69129584D1 (de) 1998-07-16
DE69129584T2 true DE69129584T2 (de) 1998-12-17

Family

ID=25055254

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69129584T Expired - Lifetime DE69129584T2 (de) 1991-09-13 1991-12-30 Analogdekoder

Country Status (7)

Country Link
US (1) US5311001A (de)
EP (1) EP0531577B1 (de)
JP (1) JPH05205085A (de)
AT (1) ATE167318T1 (de)
CA (1) CA2053460A1 (de)
DE (1) DE69129584T2 (de)
TW (1) TW212844B (de)

Families Citing this family (47)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5675137A (en) * 1986-04-18 1997-10-07 Cias, Inc. Bar code decoding using moving averages to break the (n,k) code barrier for UPC, EAN Code 128 and others
US6170749B1 (en) 1995-05-31 2001-01-09 Symbol Technologies, Inc. Method of scanning indicia using selective sampling
US5352878A (en) * 1993-01-29 1994-10-04 United Parcel Service Of America, Inc. Method and apparatus for decoding bar code symbols using independent bar and space analysis
US5446271A (en) * 1993-08-06 1995-08-29 Spectra-Physics Scanning Systems, Inc. Omnidirectional scanning method and apparatus
FR2715751A1 (fr) * 1994-01-28 1995-08-04 Canon Research Centre France S Procédé de codage d'informations sous forme de codes à barres, procédé de lecture de ces derniers et dispositifs mettant en Óoeuvre ces procédés.
US7387253B1 (en) 1996-09-03 2008-06-17 Hand Held Products, Inc. Optical reader system comprising local host processor and optical reader
ES2103639B1 (es) * 1994-05-31 1998-05-16 Consejo Superior Investigacion Procedimiento de reconocimiento y de determinacion de posicion de objetos.
US5917945A (en) * 1994-06-15 1999-06-29 Metanetics Corporation Recognizing dataforms in image areas
AU1981195A (en) * 1994-09-22 1996-04-09 United Parcel Service Of America, Inc. Method and apparatus for detecting and adaptively decoding bar code symbols in continuous images
US5814803A (en) * 1994-12-23 1998-09-29 Spectra-Physics Scanning Systems, Inc. Image reader with multi-focus lens
US5770847A (en) * 1994-12-23 1998-06-23 Spectra-Physics Scanning Systems, Inc. Bar code reader with multi-focus lens
US5821520A (en) * 1995-04-28 1998-10-13 Symbol Technologies, Inc. Bar code scanning system with the pre-decoding signal processing and method for bar code candidate selection for decoding
US5777309A (en) * 1995-10-30 1998-07-07 Intermec Corporation Method and apparatus for locating and decoding machine-readable symbols
AU3582197A (en) * 1996-06-28 1998-01-21 Battelle Memorial Institute Edge effect compensating bar code reader
US6012639A (en) * 1996-11-01 2000-01-11 Psc Scanning Inc. Edge detection method and apparatus for shot noise limited signals
US5798513A (en) * 1996-12-03 1998-08-25 Intermec Corporation Method and apparatus for decoding unresolved profiles produced from relief formed symbols
US7304670B1 (en) 1997-03-28 2007-12-04 Hand Held Products, Inc. Method and apparatus for compensating for fixed pattern noise in an imaging system
DE69830597D1 (de) * 1997-04-08 2005-07-21 Zih Corp Verformungsfeste, doppeldaten korrigierende, farbübergangsstreifenkode und ihres erzeugungs- und benutzungsverfahren
US6012640A (en) * 1997-07-08 2000-01-11 Intermec Ip Corporation Rule based and fuzzy logic method and apparatus for processing reflectance signals from machine-readable symbols or images
US6016960A (en) * 1997-07-08 2000-01-25 Intermec Ip Corporation Rule based method and apparatus for processing reflectance signals from machine-readable symbols or images
US5969326A (en) * 1998-01-14 1999-10-19 Intermec Ip Corp. Method and apparatus of autodiscriminating in symbol reader employing prioritized and updated table of symbologies
US6102295A (en) * 1998-01-14 2000-08-15 Intermec Ip Corp. Method and apparatus for decoding symbols by declaring erasures of element characteristics
US6585157B2 (en) 1998-09-14 2003-07-01 Psc Scanning, Inc. Symbology determination to aid decoding in a bar code scanning system
US6513714B1 (en) 1998-09-14 2003-02-04 Psc Scanning, Inc. Character reconstruction and element level processing in bar code scanning system
US6454168B1 (en) 1998-09-14 2002-09-24 Psc Scanning, Inc. Correlation and stitching techniques in a bar code scanning system
WO2000016242A1 (en) * 1998-09-14 2000-03-23 Psc Scanning, Inc. Bar code label reconstruction system and methodologies
US6494376B1 (en) 1998-09-14 2002-12-17 Psc Scanning, Inc. Compensation for scan line variations in a bar code scanner system
US6514140B1 (en) * 1999-06-17 2003-02-04 Cias, Inc. System for machine reading and processing information from gaming chips
US7268924B2 (en) * 2001-01-22 2007-09-11 Hand Held Products, Inc. Optical reader having reduced parameter determination delay
US7270273B2 (en) * 2001-01-22 2007-09-18 Hand Held Products, Inc. Optical reader having partial frame operating mode
ATE335246T1 (de) 2001-01-22 2006-08-15 Hand Held Prod Inc Optischer leser mit teilbild-ausschnitt-funktion
US7203361B1 (en) 2001-03-16 2007-04-10 Hand Held Products, Inc. Adaptive digitizer for optical reader
US7331523B2 (en) 2001-07-13 2008-02-19 Hand Held Products, Inc. Adaptive optical image reader
US7086596B2 (en) 2003-01-09 2006-08-08 Hand Held Products, Inc. Decoder board for an optical reader utilizing a plurality of imaging formats
US20040134988A1 (en) * 2003-01-09 2004-07-15 Hand Held Products, Inc. Analog-to-digital converter with automatic range and sensitivity adjustment
US7568628B2 (en) 2005-03-11 2009-08-04 Hand Held Products, Inc. Bar code reading device with global electronic shutter control
US8047440B2 (en) * 2005-05-26 2011-11-01 Symbol Technologies, Inc. Method and system for decoding a barcode
US7770799B2 (en) 2005-06-03 2010-08-10 Hand Held Products, Inc. Optical reader having reduced specular reflection read failures
US8150163B2 (en) * 2006-04-12 2012-04-03 Scanbuy, Inc. System and method for recovering image detail from multiple image frames in real-time
US7852519B2 (en) 2007-02-05 2010-12-14 Hand Held Products, Inc. Dual-tasking decoder for improved symbol reading
US8496177B2 (en) 2007-06-28 2013-07-30 Hand Held Products, Inc. Bar code reading terminal with video capturing mode
US8628015B2 (en) 2008-10-31 2014-01-14 Hand Held Products, Inc. Indicia reading terminal including frame quality evaluation processing
US8587595B2 (en) 2009-10-01 2013-11-19 Hand Held Products, Inc. Low power multi-core decoder system and method
US20110290694A1 (en) 2010-05-27 2011-12-01 Monosol Rx, Llc Oral film dosage form having indicia thereon
JP5398653B2 (ja) * 2010-06-30 2014-01-29 株式会社オプトエレクトロニクス デコード方法及びデコード処理装置
FR3017333B1 (fr) * 2014-02-07 2019-06-21 Advanced Track & Trace Procede et dispositif de securisation d'un objet, procede et dispositif de controle leur correspondant et objet securise
WO2016160675A1 (en) * 2015-03-27 2016-10-06 University Of Massachusetts Medical School The application of the extrema distortion method to optimize control signals

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4354101A (en) * 1977-04-15 1982-10-12 Msi Data Corporation Method and apparatus for reading and decoding a high density linear bar code
US4251798A (en) * 1978-05-31 1981-02-17 Symbol Technologies Portable laser scanning arrangement for and method of evaluating and validating bar code symbols
US4360798A (en) * 1978-05-31 1982-11-23 Symbol Technologies, Inc. Portable laser scanning arrangement for and method of evaluating and validating bar code symbols
US4704519A (en) * 1986-06-19 1987-11-03 Emhart Industries, Inc. Selective code reader
US4808804A (en) * 1987-01-28 1989-02-28 Symbol Technologies, Inc. Bar code symbol readers with variable spot size and/or working distance
US5059773A (en) * 1988-11-16 1991-10-22 The Japan Steel Works, Ltd. Bar code reader signal processing method and device
US5073954A (en) * 1989-02-28 1991-12-17 Electrocom Automation, Inc. Bar code location and recognition processing system
JPH07101427B2 (ja) * 1989-03-29 1995-11-01 富士通株式会社 バーコード読取り方法及びその装置
US5010242A (en) * 1989-05-08 1991-04-23 Mars Incorporated Method and apparatus for variable speed scanning of bar codes
US5140146A (en) * 1989-11-20 1992-08-18 Symbol Technologies, Inc. Bar code symbol reader with modulation enhancement

Also Published As

Publication number Publication date
US5311001A (en) 1994-05-10
TW212844B (en) 1993-09-11
JPH05205085A (ja) 1993-08-13
EP0531577B1 (de) 1998-06-10
DE69129584D1 (de) 1998-07-16
ATE167318T1 (de) 1998-06-15
EP0531577A1 (de) 1993-03-17
CA2053460A1 (en) 1993-03-14

Similar Documents

Publication Publication Date Title
DE69129584T2 (de) Analogdekoder
DE69027757T2 (de) Verfahren zur Dekodierung von strichkodierten Symbolen aus Teilabtastungen
DE69132773T2 (de) Gerät mit erweiterter Schärfentiefe zum elektro-optischen Lesen von Zeichen
DE69716087T2 (de) System und verfahren zur bilderfassung mit hoher geschwindigkeit
DE69131573T2 (de) Laser-Abtastvorrichtung und Abtastverfahren zum Lesen von Strichcodes
DE69625583T2 (de) Datenformleser
DE69033063T2 (de) Zweidimensionaler Zeichensatz mit hoher Dichte
DE69330769T2 (de) Anpassbarer Strichkodeleser
DE69428655T2 (de) Streifencodelesevorrichtung
DE69523376T2 (de) Streifenkodeleser zum Lesen von ein/zweidimensionalen Symbolen mit programmierbarer Auflösung
DE10036110B4 (de) Verfahren zur Bestimmung des Schrägwinkels eines zweidimensionalen Barcodes
DE69431280T2 (de) Verfahren und Vorrichtung zum Lesen von zweidimensionalen Strickkoden mit einem, verbreiterten Laserstrahl
Joseph et al. Bar code waveform recognition using peak locations
DE19960555B4 (de) Verfahren zum Auffinden und Lesen eines zweidimensionalen Strichcodes
DE69028899T2 (de) Verfahren und Vorrichtung zum Dekodieren von Strichkodes mit Mehrfachabtastung
DE68928690T2 (de) Abtastsystem mit selbteingestelltem Abtastwinkel
DE69131006T2 (de) Gerät und Verfahren zur optischen Zeichenerkennung
DE69533054T2 (de) Mehrfenstertechnik zur Schwellenwertverarbeitung eines Bildes unter Verwendung lokaler Bildeigenschaften
DE68928443T2 (de) Laserabtaster zum Lesen von zweidimensionalen Strichkoden
DE69932250T2 (de) Optische symbolanzeige
DE69709165T2 (de) Vorrichtung und verfahren zur dekodierung von streifencode-symbolen durch quotenanalyse der modulformate
DE69637397T2 (de) Optischer Barcode Abtaster
DE10025332A1 (de) Verfahren zum Lesen eines zweidimensionalen Barcodes
DE3783974T2 (de) Optischer buchstabenleser.
DE3688890T2 (de) Verfahren zum Ausschalten der Verarbeitung von doppelten kodierten Etikettsignalen.

Legal Events

Date Code Title Description
8364 No opposition during term of opposition