DE69129584T2 - Analogdekoder - Google Patents
AnalogdekoderInfo
- 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
Links
- 238000000034 method Methods 0.000 claims abstract description 41
- 230000008569 process Effects 0.000 claims abstract description 14
- 230000004044 response Effects 0.000 claims description 3
- 230000003044 adaptive effect Effects 0.000 abstract description 2
- 238000010586 diagram Methods 0.000 description 6
- 239000011159 matrix material Substances 0.000 description 4
- 230000000630 rising effect Effects 0.000 description 4
- 230000000740 bleeding effect Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000003708 edge detection Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000007639 printing Methods 0.000 description 2
- 208000037656 Respiratory Sounds Diseases 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000013011 mating Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000035945 sensitivity Effects 0.000 description 1
- 238000007493 shaping process Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K7/00—Methods or arrangements for sensing record carriers, e.g. for reading patterns
- G06K7/10—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
- G06K7/14—Methods 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/1404—Methods for optical code recognition
- G06K7/146—Methods for optical code recognition the method including quality enhancement steps
- G06K7/1486—Setting the threshold-width for bar codes to be decoded
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K7/00—Methods or arrangements for sensing record carriers, e.g. for reading patterns
- G06K7/10—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
- G06K7/14—Methods 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
- 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.
- 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.
- 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.
- 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.
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)
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)
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 |
-
1991
- 1991-10-15 CA CA002053460A patent/CA2053460A1/en not_active Abandoned
- 1991-12-30 EP EP91122395A patent/EP0531577B1/de not_active Expired - Lifetime
- 1991-12-30 AT AT91122395T patent/ATE167318T1/de not_active IP Right Cessation
- 1991-12-30 DE DE69129584T patent/DE69129584T2/de not_active Expired - Lifetime
-
1992
- 1992-06-30 JP JP4173146A patent/JPH05205085A/ja active Pending
-
1993
- 1993-03-11 TW TW082101806A patent/TW212844B/zh active
- 1993-07-23 US US08/096,579 patent/US5311001A/en not_active Expired - Lifetime
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 |