DE102006008727A1 - Verfahren und Vorrichtung zum Erkennen eines Strichcodes - Google Patents

Verfahren und Vorrichtung zum Erkennen eines Strichcodes Download PDF

Info

Publication number
DE102006008727A1
DE102006008727A1 DE102006008727A DE102006008727A DE102006008727A1 DE 102006008727 A1 DE102006008727 A1 DE 102006008727A1 DE 102006008727 A DE102006008727 A DE 102006008727A DE 102006008727 A DE102006008727 A DE 102006008727A DE 102006008727 A1 DE102006008727 A1 DE 102006008727A1
Authority
DE
Germany
Prior art keywords
width
signal
scanning signal
bar code
elementary
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.)
Withdrawn
Application number
DE102006008727A
Other languages
English (en)
Inventor
Dmitry Simakov
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.)
Siemens AG
Original Assignee
Siemens AG
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 Siemens AG filed Critical Siemens AG
Priority to DE102006008727A priority Critical patent/DE102006008727A1/de
Publication of DE102006008727A1 publication Critical patent/DE102006008727A1/de
Withdrawn 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/1478Methods for optical code recognition the method including quality enhancement steps adapting the threshold for pixels in a CMOS or CCD pixel sensor for black and white recognition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • G06K7/10Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
    • G06K7/10544Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation by scanning of the records by radiation in the optical part of the electromagnetic spectrum
    • G06K7/10821Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation by scanning of the records by radiation in the optical part of the electromagnetic spectrum further details of bar or optical code scanning devices
    • G06K7/10851Circuits for pulse shaping, amplifying, eliminating noise signals, checking the function of the sensing device

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Electromagnetism (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Toxicology (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Character Discrimination (AREA)

Abstract

Ein Verfahren zum Erkennen eines aus einer Anzahl von Strichen und Lücken gebildeten Strichcodes, dessen einzelne Striche und Lücken jeweils eine Breite aus einer vorbestimmten Anzahl von Breiten besitzen, die jeweils ein Vielfaches einer elementaren Breite (x) darstellen, und bei dem ein Breitenverhältnis (BV) zwischen der elementaren Breite und einer größten möglichen Breite vorgegeben ist, wobei: - der Strichcode abgetastet wird, - anhand der Abtastung ein Abtastsignal erzeugt wird, - anhand von Flanken des Abtastsignals der Strichcode erkannt und ein dem Strichcode entsprechender idealer Signalverlauf rekonstruiert wird, zeichnet sich dadurch aus, dass weiterhin - aus dem Abtastsignal die elementare Breite bestimmt wird und - Flanken des Abtastsignals innerhalb eines verschiebbaren Filterungsfensters (FF1, FF2, FF3) mit von der elementaren Breite abhängiger Fensterbreite (FB) ermittelt werden, wobei das Filterungsfenster zum Auffinden der Flanken bezüglich eines durch das Abtastsignal vorgegebenen Signalverlaufs verschoben (VR) wird.

Description

  • Die vorliegende Erfindung betrifft ein Verfahren gemäß dem Oberbegriff des Anspruchs 1 zum Erkennen eines aus einer Anzahl von Strichen und Lücken gebildeten Strichcodes, dessen einzelne Striche und Lücken jeweils eine Breite besitzen, die ein Vielfaches einer elementaren Breite darstellen, und bei dem ein Breitenverhältnis zwischen der elementaren Breite und einer größten möglichen Breite vorgegeben ist, wobei:
    • – der Strichcode abgetastet wird,
    • – anhand der Abtastung ein Abtastsignal erzeugt wird,
    • – anhand von Flanken des Abtastsignals der Strichcode erkannt und ein dem Strichcode entsprechender idealer Signalverlauf rekonstruiert wird.
  • Weiterhin betrifft die vorliegende Erfindung eine Vorrichtung gemäß dem Oberbegriff des Anspruchs 11 zum Erkennen eines aus einer Anzahl von Strichen und Lücken gebildeten Strichcodes, dessen einzelne Striche und Lücken jeweils eine Breite aus einer vorbestimmten Anzahl von Breiten besitzen, die jeweils ein Vielfaches einer elementaren Breite darstellen, und bei dem ein Breitenverhältnis zwischen der elementaren Breite und einer größten möglichen Breite vorgegeben ist, mit:
    • – einer Abtasteinrichtung, die zum Erzeugen eines Abtastsignals beim Abtasten des Strichcodes ausgebildet ist,
    • – einer Signalverarbeitungseinrichtung, die zum Erkennen des Strichcodes und zum Rekonstruieren eines dem Strichcode entsprechenden idealen Signalverlaufs anhand von Flanken des Abtastsignals ausgebildet ist.
  • Darüber hinaus betrifft die vorliegende Erfindung ein Computerprogrammprodukt gemäß dem Oberbegriff des Anspruchs 13 zum Erkennen eines abgetasteten, aus einer Anzahl von Stri chen und Lücken gebildeten Strichcodes, dessen einzelne Striche und Lücken jeweils eine Breite aus einer vorbestimmten Anzahl von Breiten besitzen, die jeweils ein Vielfaches einer elementaren Breite darstellen, und bei dem ein Breitenverhältnis zwischen der elementaren Breite und einer größten möglichen Breite vorgegeben ist, wobei durch das Abtasten ein Abtastsignal erzeugt wird und wobei anhand von Flanken des Abtastsignals der Strichcode erkannt und ein dem Strichcode entsprechender idealer Signalverlauf rekonstruiert wird.
  • Ein Strichcode oder Barcode ist eine maschinenlesbare Schrift, die aus einer Abfolge von Strichen und Lücken mit jeweils unterschiedlichen Breiten besteht. Ein derartiger Code wird regelmäßig über optische Abtaster, d. h. so genannte Strich- oder Barcodelesegeräte, maschinell gelesen und anschließend zum Erkennen und Decodieren des Codes bzw. zum Gewinnen der darin enthaltenen Informationen in einer elektronischen Datenverarbeitungseinrichtung weiterverarbeitet. Dabei werden die Strichcodes je nach Anwendung mit konventionellen Druckverfahren, wie Offsetdruck, Flexo- oder Tiefdruck, oder entsprechend nach Bedarf unter Verwendung von Laser-, Tintenstrahl- oder Thermodruckern hergestellt. In der Regel besitzt der Barcode eine gewisse Mindesthöhe, die in einigen Fällen genormt ist. Außerdem ist für einen bestimmten Code das Breitenverhältnis zwischen schmalen und breiten Balken, d. h. einer kleinsten (Elementarbalkenbreite) und einer größten auftretenden Balkenbreite, genormt. Dieses Breitenverhältnis liegt je nach Norm zwischen 1:1,8 und 1:3,4.
  • Für eine effiziente Funktion eines auf Strichcodes basierenden Systems, beispielsweise zur Warenerfassung, ist insbesondere die Druckqualität der verwendeten Strichcodes ein entscheidender Faktor. Jedoch wird in der Praxis dieser Aspekt oft vernachlässigt. Zudem ist das durch die eingesetzten Abtaster erzeugte Abtastsignal gegenüber einem durch die Geometrie des Strichcodes selbst bedingten idealen Signal regelmäßig mit Rauschen überlagert, was in Kombination mit un regelmäßiger Abtastung dazu führt, dass in der Praxis die gewünschte Leserobustheit und entsprechend ein sicheres Erkennen/Decodieren von Strichcodes nicht erreicht wird. Insbesondere die Ermittlung der relativen Breiten von Strichen und Lücken stellt in der Praxis ein großes Problem dar.
  • Bei vorbekannten Verfahren und Vorrichtungen der eingangs genannten Art werden zum Ermitteln von Flanken des Abtastsignals zwecks einer Rekonstruierung eines dem Strichcode entsprechenden idealen Signals mit Hilfe von verschiedenen Kantenfiltern lokale Minima und Maxima in einem aus dem Abtastsignal erzeugten Ableitungssignal gesucht. Alternativ erfolgt eine Bestimmung der Nulldurchgänge eines der zweiten Ableitung des Abtastsignals entsprechenden Signalverlaufs. Die so ermittelten speziellen Punkte werden anschließend in räumlichen Bezug zu der Struktur des Strichcodes gebracht, wodurch sich das dem Strichcode entsprechende ideale Signal selbst rekonstruieren lässt.
  • Es hat sich jedoch herausgestellt, dass derartige Verfahren bzw. nach einem solchen Verfahren arbeitende Vorrichtungen sehr empfindlich gegenüber Rauscheinflüssen sind. Darüber hinaus werden zur Detektion von Extremwerten des Ableitungssignals, d. h. zur Kanten- oder Flankenbestimmung, regelmäßig nur lokale Informationen verwendet, was die Zuverlässigkeit des Erkennungsverfahrens negativ beeinflusst. Um insbesondere steigende und fallende Flanken (Kanten) des Abtastsignals bzw. des Strichcodes aufzufinden, wird bei vorbekannten Verfahren regelmäßig ein Schwellwert gesetzt, dessen Überschreiten jeweils das Auftreten einer Flanke des Abtastsignals anzeigt. Dabei stellt die Schwellwertfindung eine weitere Schwachstelle vorbekannter Verfahren dar, weil ein nicht optimal gesetzter Schwellwert dazu führt, dass bestimmte Flanken verloren gehen bzw. falsche Flanken mit in die Auswertung einbezogen werden, was eine anschließende Decodierung des Codes unmöglich macht.
  • Weiterhin sind Verfahren zum Erkennen von Strichcodes bekannt, bei denen zusätzlich eine Hough-Transformation verwendet oder die Varianz der Energie des Signals minimiert wird, um die Robustheit gegenüber Rauscheffekten zu verbessern. Allerdings sind derartige Verfahren in nachteiliger Weise rechenaufwendig, was ihren Anwendungsbereich in der Praxis stark einschränkt.
  • Der Erfindung liegt die Aufgabe zugrunde, ein eingangs genanntes Verfahren und eine zur Durchführung des Verfahrens geeignete eingangs genannte Vorrichtung anzugeben, mit denen sich unter Vermeidung der vorstehend aufgeführten Nachteile Strichcodes mit hoher Geschwindigkeit und großer Robustheit erkennen und sicher decodieren lassen.
  • Die Lösung dieser Aufgabe ergibt sich bei einem Verfahren der eingangs genannten Art aus den Merkmalen des kennzeichnenden Teils des Anspruchs 1. Vorteilhafte Weiterbildungen des erfindungsgemäßen Verfahrens ergeben sich aus den entsprechenden Unteransprüchen.
  • Gemäß der Erfindung ist ein Verfahren zum Erkennen eines aus einer Anzahl von Strichen und Lücken gebildeten Strichcodes, dessen einzelne Striche und Lücken jeweils eine Breite aus einer vorbestimmten Anzahl von Breiten besitzen, die jeweils ein Vielfaches einer elementaren Breite darstellen, und bei dem ein Breitenverhältnis zwischen der elementaren Breite und einer größten möglichen Breite vorgegeben ist, wobei:
    • – der Strichcode abgetastet wird,
    • – anhand der Abtastung ein Abtastsignal erzeugt wird,
    • – anhand von Flanken des Abtastsignals der Strichcode erkannt und ein dem Strichcode entsprechender idealer Signalverlauf rekonstruiert wird,
    dadurch gekennzeichnet, dass weiterhin
    • – aus dem Abtastsignal die elementare Breite bestimmt wird und
    • – Flanken des Abtastsignals innerhalb eines verschiebbaren Filterungsfensters mit von der elementaren Breite abhängiger Fensterbreite ermittelt werden, wobei das Filterungsfenster zum Auffinden der Flanken bezüglich eines durch das Abtastsignal vorgegebenen Signalverlaufs verschoben wird.
  • Bei einer Vorrichtung der eingangs genannten Art ergibt sich die Lösung der Aufgabe aus den Merkmalen des kennzeichnenden Teils des Anspruchs 11.
  • Entsprechend ist gemäß der vorliegenden Erfindung eine Vorrichtung zum Erkennen eines aus einer Anzahl von Strichen und Lücken gebildeten Strichcodes, dessen einzelne Striche und Lücken jeweils eine Breite aus einer vorbestimmten Anzahl von Breiten besitzen, die jeweils ein Vielfaches einer elementaren Breite darstellen, und bei dem ein Breitenverhältnis zwischen der elementaren Breite und einer größten möglichen Breite vorgegeben ist, mit:
    • – einer Abtasteinrichtung, die zum Erzeugen eines Abtastsignals beim Abtasten des Strichcodes ausgebildet ist,
    • – einer Signalverarbeitungseinrichtung, die zum Erkennen des Strichcodes und zum Rekonstruieren eines dem Strichcode entsprechenden idealen Signalverlaufs anhand von Flanken des Abtastsignals ausgebildet ist,
    dadurch gekennzeichnet, dass die Signalverarbeitungseinrichtung aufweist:
    • – eine erste Bestimmungseinheit, die zum Bestimmen der elementaren Breite aus dem Abtastsignal ausgebildet ist, und
    • – eine zweite Bestimmungseinheit, die zum Auffinden von Flanken des Abtastsignals innerhalb eines Filterungsfensters mit von der elementaren Breite abhängiger Fensterbreite ausgebildet ist, wobei das Filterungsfenster zum Auffinden der Flanken bezüglich eines durch das Abtastsignal vorgegebenen Signalverlaufs verschiebbar ist.
  • Darüber hinaus ergibt sich die Lösung der Aufgabe bei einem Computerprogrammprodukt der eingangs genannten Art aus den Merkmalen des kennzeichnenden Teils des Anspruchs 13.
  • Gemäß der Erfindung ist also ein Computerprogramm zum Erkennen eines abgetasteten, aus einer Anzahl von Strichen und Lücken gebildeten Strichcodes, dessen einzelne Striche und Lücken jeweils eine Breite aus einer vorbestimmten Anzahl von Breiten besitzen, die jeweils ein Vielfaches einer elementaren Breite darstellen, und bei dem ein Breitenverhältnis zwischen der elementaren Breite und einer größten möglichen Breite vorgegeben ist, wobei durch das Abtasten ein Abtastsignal erzeugt wird und wobei anhand von Flanken des Abtastsignals der Strichcode erkannt und ein dem Strichcode entsprechendes ideales Signal rekonstruiert wird, gekennzeichnet durch Programmcode-Sequenzen, bei deren Ausführung ein erfindungsgemäßes Verfahren durchgeführt wird.
  • Eine grundlegende Idee des erfindungsgemäßen Lösungsansatzes basiert somit auf der Tatsache, dass der abgetastete Strichcode eine gewisse innere Struktur besitzt: Die Breiten der Striche und Lücken sind jeweils das Mehrfache der Breite eines bestimmten Elements, d. h. Vielfache der elementaren Breite. Diese jeweiligen Breitenverhältnisse eines gegebenen Strichs bzw. einer gegebenen Lücke zu der elementaren Breite des betreffenden Codes bleiben auch in praxisrelevanten Anwendungen über die gesamte abzutastende Codefläche in etwa gleich. Wenn die vorstehend definierte elementare Breite bekannt ist, ist es im Zuge der vorliegenden Erfindung auf relativ einfache Weise möglich, nicht zum Code gehörende Flanken, die beispielsweise auf Rauscheinflüsse im Abtastsignal zurückzuführen sind, aus diesem herauszufiltern, um ein ideales Abtastsignal und damit einen dem abgetasteten Strichcode entsprechenden idealen Signalverlauf zu rekonstruieren.
  • In Weiterbildung des erfindungsgemäßen Verfahrens ist vorgesehen, dass die elementare Breite mittels einer Autokorrelationsfunktion bestimmt wird. Dementsprechend ist in Weiterbildung der erfindungsgemäßen Vorrichtung vorgesehen, dass die erste Bestimmungseinheit ein Autokorrelationsmodul aufweist, das zum Anwenden einer Autokorrelationsfunktion auf das Abtastsignal ausgebildet ist.
  • Wie dem Fachmann bekannt ist, können durch Anwendung einer Autokorrelationsfunktion statistisch unabhängige Störanteile eines zu verarbeitenden Signals unterdrückt werden, wobei zugleich periodische Signalanteile verstärkt hervortreten und eine so genannte Basisfrequenz des Signals bestimmbar ist. Vorliegend entspricht eine derartig mittels Autokorrelation bestimmte Basisfrequenz des Abtastsignals gerade der gesuchten elementaren Breite, so dass erfindungsgemäß die elementare Breite des abgetasteten Strichcodes durch Vermessung lokaler Extremwerte (Maxima und/oder Minima) der Autokorrelationsfunktion, d. h. eines durch Anwendung dieser Funktion auf das Abtastsignal erzeugten Signalverlaufs, gewonnen werden kann.
  • Um eine hohe Robustheit des erfindungsgemäßen Verfahrens zu gewährleisten, wird erfindungsgemäß mittels des Filterungsfensters in bestimmten, relativ kleinen Intervallen nach Flanken des Abtastsignals gesucht, um das ideale Abtastsignal zu rekonstruieren, wobei in Weiterbildung des erfindungsgemäßen Verfahrens die einer solchen Intervalllänge entsprechende Fensterbreite des Filterungsfensters als Produkt der elementaren Breite und des für den abgetasteten Strichcode vorgegebenen Breitenverhältnisses bestimmt wird.
  • Nach einer anderen Weiterbildung des erfindungsgemäßen Verfahrens wird das Auffinden der Flanken anhand eines durch – vorzugsweise numerische – Ableitung des Abtastsignals gewonnenen Signalsverlaufs vorgenommen, wozu entsprechend zunächst die erste Ableitung des Abtastsignals gebildet wird.
  • Wenn die oben definierte Basisfrequenz des Abtastsignals, d. h. die elementare Breite des Strichcodes, bekannt ist, lässt sich das ideale Signal rekonstruieren, indem nur die stärksten Flanken, d. h. die Flanken mit der größten Steigung, in bestimmten, durch die Breite des Filterungsfensters vorgegebenen Intervallen verbleiben und die restlichen Flanken ausgefiltert werden. Entsprechend sieht eine Weiterbildung des erfindungsgemäßen Verfahrens vor, dass jeweils wenigstens eine stärkste Flanke innerhalb des Filterungsfensters bestimmt wird und dass anschließend das Filterungsfenster so weit verschoben wird, dass ein Fensteranfang mit dem Ort der soeben innerhalb des Filterungsfensters bestimmten stärksten Flanke in dem Signalverlauf zusammenfällt.
  • Um weiterhin auch bei anfänglich fehlerhafter Erkennung/Decodierung des abgetasteten Strichcodes ohne erneutes, zeitaufwendiges Abtasten alternative Decodierungsmöglichkeiten vorzuhalten, sieht eine andere Weiterbildung des erfindungsgemäßen Verfahrens vor, dass innerhalb eines jeweiligen Filterungsfensters eine Anzahl von Flanken bestimmt wird, die schwächer sind als eine jeweils stärkste Flanke. Kanten oder Flanken des Abtastsignals bzw. des Strichcodes lassen sich im Zuge des erfindungsgemäßen Verfahrens in einfacher Weise dadurch auffinden, dass wenigstens ein lokales Maximum (für steigende Flanken) des Signalwertes bzw. ein lokales Minimum (für fallende Flanken) des Signalwertes der Ableitung des Abtastsignals innerhalb des Filterungsfensters bestimmt wird.
  • Wenn im Zuge des erfindungsgemäßen Verfahrens neben erkannten stärksten Extremwerten, d. h. größten Amplituden des Ableitungssignals, auch weitere, schwächere Extremwerte und ent sprechend schwächere Flanken bestimmt werden, lässt sich in Weiterbildung des erfindungsgemäßen Verfahrens bei fehlerhafter Erkennung des Strichcodes unter Verwendung der bestimmten stärksten Flanken ohne zusätzliches Abtasten eine erneute Erkennung unter Verwendung wenigstens einer der vorab bestimmten schwächeren Flanken durchführen.
  • Zum Erreichen einer größeren Fehlersicherheit ist jedoch alternativ oder zusätzlich in Weiterbildung des erfindungsgemäßen Verfahrens vorgesehen, dass auch bei richtiger Erkennung des Strichcodes ein weiteres Abtastsignal erzeugt wird, insbesondere durch eine erneute Abtastung des Strichcodes, wobei anschließend anhand des weiteren Abtastsignals eine erneute Erkennung des Strichcodes nach dem erfindungsgemäßen Verfahren vorgenommen wird und wobei anschließend die Erkennungsergebnisse miteinander verglichen werden.
  • Somit ergeben sich durch den erfindungsgemäßen Einsatz des vorgeschlagenen Verfahrens bzw. der vorgeschlagenen Vorrichtung die folgenden Vorteile: Es wird beim Erkennen von Strichcodes eine hohe Geschwindigkeit erreicht, da keine aufwendigen Berechnungen notwendig sind, um das typischerweise als Grauwertprofil vorliegende Abtastsignal eines Strichcodes einer Autokorrelationsfunktion zu unterziehen, durch Vermessen der Basisfrequenz die elementare Breite des Strichcodes zu bestimmen und anschließend falsche Flanken aus dem Abtastsignal herauszufiltern. Des Weiteren wird durch das erfindungsgemäße Verfahren eine hohe Robustheit erreicht, da zum Ermitteln der elementaren Breite nicht nur lokale Informationen verwendet, sondern das gesamte Profil ausgewertet wird. Zudem ist keine Schwellwertfindung notwendig, um die zu einem abgetasteten Strichcode gehörenden Flanken zu extrahieren. Stattdessen werden in die Auswertung nur diejenigen stärksten Flanken des Abtastsignals mit einbezogen, die auf einem begrenzten Intervall in Abhängigkeit von der elementaren Breite des Strichcodes bestimmt wurden.
  • Weitere Vorteile und Eigenschaften der Erfindung ergeben sich aus der nachfolgenden Beschreibung eines Ausführungsbeispiels anhand der Zeichnung.
  • Es zeigt:
  • 1 ein schematisches Blockschaltbild einer erfindungsgemäßen Vorrichtung zum Erkennen eines Strichcodes,
  • 2 den Verlauf eines mittels der Vorrichtung aus 1 durch Abtasten eines Strichcodes erhaltenen Abtastsignals,
  • 3 den Verlauf eines Autokorrelationssignals des Abtastsignals aus 2,
  • 4 einen Ausschnitt aus einem einer Ableitung des Abtastsignals aus 2 entsprechenden Signalverlauf mit einer Anzahl von Filterungsfenstern zum Auffinden von Flanken des Abtastsignals,
  • 5 ein mit Hilfe des erfindungsgemäßen Verfahrens aus dem Abtastsignal der 2 rekonstruiertes (Strichcode-)Signal und
  • 6 ein Ablaufdiagramm einer Ausgestaltung des erfindungsgemäßen Verfahrens.
  • Die 1 zeigt anhand eines schematischen Blockschaltbilds eine Ausgestaltung der erfindungsgemäßen Vorrichtung 1 zum Erkennen eines Strichcodes 2. Bei dem Strichcode 2 handelt es sich um eine maschinenlesbare Schrift, die aus Strichen (Balken) 2.1 und Lücken 2.2 besteht. Derartige Strichcodes werden je nach Anwendung mit konventionellen Druckverfahren (unter anderem Offset-, Flexo- oder Tiefdruck) oder nach Bedarf (unter anderem im Laser-, Thermodirekt-, Thermotransfer- oder Tintenstrahl-Verfahren) auf einem jeweils geeigneten Trägermaterial 2.3 hergestellt. Typischerweise besitzt der Strichcode 2 eine gewisse Mindesthöhe H, die in einigen Fällen genormt ist. Des Weiteren ist ein Breitenverhältnis BV (in 1 nicht gezeigt) zwischen einem schmalsten und einem breitesten vorkommenden Balken 2.1 genormt und damit vorab bekannt und liegt je nach Norm zwischen 1:1,8 und 1:3,4.
  • Die erfindungsgemäße Vorrichtung 1 weist zunächst eine Abtasteinrichtung 3 auf. Die Abtasteinrichtung 3 ist mit einer Signalverarbeitungseinrichtung 4 verbunden, die zum Erkennen des Strichcodes 2 und zum Rekonstruieren eines dem Strichcode entsprechenden idealen Signalverlaufs ausgebildet ist.
  • Dazu weist die Signalverarbeitungseinrichtung 4 zunächst eine Datenverarbeitungseinrichtung 5 auf, die in der 1 anhand eines gestrichelt gezeichneten Kastens dargestellt ist. Die Datenverarbeitungseinrichtung 5 steht in Wirkverbindung mit einer Speichereinrichtung 6.
  • In der Datenverarbeitungseinrichtung 5, die vorzugsweise in Form eines Mikroprozessors oder dergleichen ausgebildet ist, ist eine erste Bestimmungseinheit 7 vorgesehen, die erfindungsgemäß zum Bestimmen einer elementaren Breite des Strichcodes 2 aus einem beim Abtasten des Strichcodes 2 mittels der Abtasteinrichtung 3 erzeugten Abtastsignal AS ausgebildet ist, wie nachfolgend noch detailliert beschrieben wird. Die erste Bestimmungseinheit 7 beinhaltet ein Autokorrelationsmodul 8, das erfindungsgemäß zum Anwenden einer Autokorrelationsfunktion auf das Abtastsignal AS ausgebildet ist, wie ebenfalls nachfolgend noch detailliert beschrieben wird. Gemäß dem Ausführungsbeispiel der 1 sind sowohl die erste Bestimmungseinheit 7 als auch das Autokorrelationsmodul 8 softwaretechnisch innerhalb der Datenverarbeitungseinrichtung 5 ausgebildet.
  • Des Weiteren weist die Datenverarbeitungseinrichtung 5 eine zweite Bestimmungseinheit 9 auf, die erfindungsgemäß zum Auffinden von Flanken des Abtastsignals innerhalb eines verschiebbaren Filterungsfensters ausgebildet ist, wie ebenfalls nachfolgend noch detailliert beschrieben wird. Die zweite Bestimmungseinheit 9 beinhaltet ein Ableitungsmodul 10, ein Fenstermodul 11 sowie ein Extremwert-Bestimmungsmodul 12, deren jeweilige Funktion nachfolgend beschrieben wird. Wie die erste Bestimmungseinheit 7 und das Autokorrelationsmodul 8 sind vorliegend auch die zweite Bestimmungseinheit 9 und die darin enthaltenen Module 1012 softwaretechnisch innerhalb der Datenverarbeitungseinrichtung 5 ausgebildet.
  • Darüber hinaus weist die erfindungsgemäße Vorrichtung 1 in signaltechnischer Wirkverbindung mit der Signalverarbeitungseinrichtung 4 eine Eingabeeinrichtung 13 sowie eine Ausgabeeinrichtung 14 auf. Die Eingabeeinrichtung 13 kann beispielsweise als CD-ROM-Lesegerät, als DVD-Lesegerät oder als Netzwerk-Interface ausgebildet sein und ist entsprechend zum Einlesen geeigneter Datenträger, wie einer CD-ROM oder DVD 15, ausgebildet. Bei der Ausgabeeinrichtung 14 kann es sich erfindungsgemäß beispielsweise um eine Anzeigeeinrichtung, wie einen Bildschirm oder dergleichen, einen Drucker, ein Software-Log und so weiter handeln.
  • Zur softwaretechnischen Ausbildung der erfindungsgemäß innerhalb der Datenverarbeitungseinrichtung 5 angeordneten Bestimmungseinrichtungen 7, 9 bzw. Module 8, 10, 11, 12 wird gemäß der gezeigten Ausgestaltung vorzugsweise ein entsprechende Programmcode-Sequenzen eines Computerprogrammprodukts aufweisender Datenträger 15 über die Eingabeeinrichtung 13 zugeführt, was dem Fachmann geläufig ist. In diesem Zusammenhang sei betont, dass es sich bei dem Datenträger 15 insbesondere nicht um einen körperlichen Gegenstand handeln muss, sondern dass es sich dabei um ein Trägersignal mit aufmodulierten Nutzdaten handeln kann, wenn die Eingabe einrichtung 13 insbesondere in Form einer Netzwerk-Schnittstelle ausgebildet ist.
  • Bei Betrieb der erfindungsgemäßen Vorrichtung 1 wird der Strichcode 2 mittels der als optischer Abtaster fungierenden Abtasteinrichtung 3 in einer Scanbewegung (Pfeil SB in 1) gescannt, wobei ein Abtastsignal AS erzeugt und an die Signalverarbeitungseinrichtung 4 übertragen wird.
  • Die 2 zeigt beispielhaft einen gemessenen Signalverlauf des Abtastsignals AS, wobei in der 2 eine Signalstärke in willkürlichen Einheiten über einer in Pixeln entlang der Scanrichtung (Scanbewegung SB in 1) bestimmten Ortskoordinate aufgetragen ist. Wie aus der 2 ersichtlich, weicht das mittels der Abtasteinrichtung 3 (1) bestimmte Abtastsignal AS relativ stark von einem idealen, durch die Geometrie des Strichcodes 2 (1) vorgegebenen Verlauf ab, was beispielsweise durch die Druckqualität des Strichcodes, durch eine ungleichförmige und/oder schiefe Abtastung des Strichcodes oder durch Rauschüberlagerung des Signals bedingt sein kann. Um dennoch auch ausgehend von dem in der 2 gezeigten, nicht-idealen Abtastsignal AS den idealen Signalverlauf des dem Abtastsignal zugrunde liegenden Strichcodes 2 (1) bzw. eine in diesem enthaltene Information mit ausreichend großer Leserobustheit zu rekonstruieren, wird erfindungsgemäß das Abtastsignal AS gemäß der 2 zunächst der ersten Bestimmungseinheit 7 (1) zugeführt, in der eine elementare Breite x des Strichcodes bestimmt wird. Gemäß dem vorliegenden Ausführungsbeispiel der erfindungsgemäßen Vorrichtung 1 (1) geschieht dies mit Hilfe des Autokorrelationsmoduls 8, in dem eine Autokorrelationsfunktion auf das Abtastsignal AS angewendet wird.
  • Die 3 zeigt einen durch Anwendung des Autokorrelationsmoduls 8 auf das Abtastsignal AS aus 2 erhaltenen Signalverlauf eines Autokorrelationssignals ASK. Dabei ist in der 3 wiederum eine Signalstärke des Autokorrelations signals ASK über einer in Pixeln bestimmten Ortskoordinate aufgetragen. Wie dem Fachmann geläufig ist, führt die Anwendung einer Autokorrelationsfunktion zur Unterdrückung statistisch unabhängiger Störanteile eines verarbeiteten Signals, wie des Abtastsignals AS, wohingegen periodische Signalanteile verstärkt werden. Demgemäß entspricht die gesuchte elementare Breite x des Strichcodes 2 (1) bzw. des Abtastsignals AS gerade einer in der 3 angegebenen „Basisfrequenz" des Abtastsignals bzw. des Autokorrelationssignals ASK. Gemäß der 3 lässt sich die elementare Breite x in der Einheit Pixel durch Vermessen periodisch wiederkehrender lokaler Maxima des Autokorrelationssignals ASK in der ersten Bestimmungseinheit 7 (1) gewinnen. Vorliegend ergibt sich beispielsweise aus der 3 eine Periodendauer und damit eine elementare Breite x von circa zehn Pixeln. Dieser Wert gibt ein Maß für die innere Struktur des Strichcodes 2 (1) vor. Die Breiten der Striche 2.1 und Lücken 2.2 des Strichcodes 2 sind jeweils Mehrfache dieser elementaren Breite x, wobei das jeweilige Breitenverhältnis auch in praxisrelevanten Anwendungen über die gesamte Codefläche in etwa gleich bleibt. Wenn also erfindungsgemäß die elementare Breite x des Strichcodes 2 bekannt ist, lassen sich nicht zum eigentlichen Code gehörende Signalbestandteile aus dem Abtastsignal AS (2) herausfiltern, um das ideale Signal und damit das dem Strichcode entsprechende ideale Signal zu rekonstruieren, wie nachfolgend weiter im Detail beschrieben ist.
  • Zur Rekonstruktion des dem Strichcode 2 (1) entsprechenden idealen Signals wird erfindungsgemäß mittels der zweiten Bestimmungseinheit 9 bzw. des darin enthaltenen Ableitungsmoduls 10 die erste Ableitung des Abtastsignals AS (2) (numerisch) bestimmt, beispielsweise durch Differenzenbildung.
  • Die 4 zeigt schematisch-idealisiert einen Ausschnitt aus einem derart bestimmten Ableitungssignal AS' des Abtast signals AS. Wie aus der 4 ersichtlich, weist das Ableitungssignal AS' eine Anzahl lokaler Maxima MAX1–MAX5 auf, die grundsätzlich mit steigenden Flanken des Abtastsignals AS bzw. eines idealisierten Strichcode-Signals zusammenfallen. Des Weiteren besitzt das Ableitungssignal AS' eine Anzahl lokaler Minima MIN1–MIN6, die entsprechend mit fallenden Flanken des Abtastsignals AS bzw. des idealisierten Strichcode-Signals zusammenfallen. Dabei entsprechen in dem gezeigten Beispiel die lokalen Extrema MAX4, MIN1 und MIN3 keinen „echten" Flanken des Strichcodes bzw. des Abtastsignals, sondern ergeben sich durch die vorstehend beispielhaft aufgeführten Signalstörungen.
  • Um erfindungsgemäß dennoch eine für praktische Anwendungen ausreichende Leserobustheit zu erreichen, werden Flanken des Abtastsignals AS (2) bzw. lokale Extrema des Ableitungssignals AS' mittels eines durch das Fenstermodul 11 der zweiten Bestimmungseinheit 9 (1) gesteuerten verschiebbaren Filterungsfensters ermittelt, welches in der 4 in Form eines in Richtung des Pfeils VR verschiebbaren Rechtecks FF1–FF3 in jeweils unterschiedlichen Positionen dargestellt ist. Aus Gründen der Übersichtlichkeit sind die einzelnen Filterungsfenster FF1–FF3 in der 4 vertikal verschoben dargestellt. Um eine hohe Robustheit des Verfahrens zu gewährleisten, ist das Ermittlungsintervall – also eine Fensterbreite FB des Filterungsfensters – erfindungsgemäß relativ klein zu einer Gesamtlänge des Codes gewählt und hängt speziell von der ermittelten elementaren Breite x ab. Gemäß dem Ausführungsbeispiel der 4 entspricht die Fensterbreite FB dem Produkt des dem abgetasteten Strichcode 2 (1) innewohnenden Breitenverhältnisses BV (siehe oben) und der ermittelten elementaren Breite x, d. h. FB = BV·x = größtmögliche Breite eines Balkens oder einer Lücke.
  • Gemäß dem Ausführungsbeispiel der 4 befindet sich das Filterungsfenster zunächst an der mit FF1 bezeichneten Position (durchgezogenes Rechteck). Dies entspricht gerade der Situation nach Auffinden einer steigenden Flanke des Strichcodes bzw. des Abtastsignals AS, die mit dem lokalen Maximum MAX1 des Ableitungssignals AS' zusammenfällt. Anschließend wird erfindungsgemäß die zu der steigenden Flanke gehörende nächste fallende Flanke des Strichcodes bzw. des Abtastsignals AS gesucht. Dies geschieht unter Einsatz des Extremwert-Bestimmungsmoduls 12, welches innerhalb des Filterungsfensters FF1 nach lokalen Minima MIN1–MIN3 sucht, welche grundsätzlich das Vorliegen einer zu der gefundenen steigenden Flanke gehörigen fallenden Flanke des Strichcodes bzw. des Abtastsignals AS anzeigen können.
  • Erfindungsgemäß wird die stärkste innerhalb des Filterungsintervalls der Breite FB aufgefundene fallende Flanke, d. h. der Ort des lokalen Extremums MIN2 mit dem größten negativen, innerhalb des Filterungsfensters FF1 gefundenen Ableitungswert, als Ort der gesuchten fallenden Flanke bestimmt und entsprechend gemeinsam mit der zuvor bestimmten elementaren Breite x in der Speichereinrichtung 6 der erfindungsgemäßen Vorrichtung 1 (1) abgelegt.
  • Des Weiteren werden erfindungsgemäß auch die entsprechenden Orte weiterer aufgefundener lokaler Extrema, d. h. der lokalen Minima MIN1, MIN3, bestimmt und entsprechend in der Speichereinrichtung 6 abgelegt. Anschließend wird das Filterungsfenster FF1 – wie gesagt – in Richtung des Pfeils VR bis in seine mit FF2 bezeichnete Stellung (gestricheltes Rechteck) verschoben, wobei diese Stellung derart gewählt wird, dass ein Ort einer bezüglich der Verschiebungsrichtung VR definierten Hinterkante des Filterungsfensters FF2 gerade mit der zuvor bestimmten Position des stärksten lokalen Minimums MIN2 bzw. der (scheinbar) fallenden Flanke des Abtastsignals AS bzw. des Strichcodes zusammenfällt. Bezüglich der Verschiebungsrichtung VR lässt sich die Hinterkante somit auch als Fensteranfang des Filterungsfensters definieren.
  • Anschließend wird in dem Filterungsfenster FF2 die nächste steigende Flanke des Abtastsignals AS bzw. des Strichcodes in Form des nunmehr fensterintern stärksten lokalen Maximums MAX2 des Ableitungssignals AS' bestimmt, wobei vorliegend innerhalb des Filterungsintervalls FF2 gemäß der 4 keine weiteren lokalen Maxima aufzufinden sind, was einer idealisierten Situation entspricht. Anschließend wird das Filterungsfenster FF2 wiederum in Richtung des Pfeils VR in eine neue Position verschoben, die in der 4 mit FF3 (strichpunktiertes Rechteck) bezeichnet ist. In dem Filterungsfenster FF3 wird anschließend nach der nächsten stärksten fallenden Flanke des Abtastsignals AS bzw. des Strichcodes gesucht, die vorliegend mit dem lokalen Minimum MIN4 des Ableitungssignals AS' korrespondiert. Diese Vorgehensweise wird anschließend bis zum Erreichen des Endes des Abtastsignals AS bzw. des Ableitungssignals AS' fortgesetzt, wobei jeweils bestimmte Flankenwerte in der Speichereinrichtung 6 (1) abgelegt werden.
  • Unter Verwendung der jeweils stärksten in einem Filterungsintervall gemäß der 4 aufgefundenen lokalen Extrema werden anschließend die entsprechenden Flanken des Abtastsignals AS bzw. des Strichcodes und damit der dem Strichcode 2 (1) entsprechende ideale Signalverlauf rekonstruiert. Zu diesem Zweck greift die Datenverarbeitungseinrichtung 5 der erfindungsgemäßen Vorrichtung 1 aus 1 auf die Speichereinrichtung 6 zu und rekonstruiert den dem Strichcode 2 entsprechenden idealen Signalverlauf bzw. einen entsprechenden idealen Signalverlauf des Abtastsignals anhand der erfindungsgemäß bestimmten und in der Speichereinrichtung 6 abgelegten Orte der steigenden und fallenden Flanken des Abtastsignals AS bzw. des Strichcodes, wobei zunächst die jeweils stärksten bestimmten Flanken berücksichtigt werden, wie oben beschrieben.
  • Die 5 zeigt den Verlauf eines Rekonstruktionssignals RS, das erfindungsgemäß anhand der in der Speichereinrichtung 6 hinterlegten Flankenorte durch die Datenverarbeitungseinrichtung 5 erzeugt wurde. Wie insbesondere in den 2 und 3 ist in der 5 wiederum eine Signalstärke in willkürlichen Einheiten über einer in Pixeln bestimmten Ortskoordinate angegeben. Anhand des Signalverlaufs des Rekonstruktionssignals RS wertet die Datenverarbeitungseinrichtung 5 das Abtastsignal AS bzw. den Strichcode aus, d. h. der Strichcode 2 (1) wird decodiert, und ein entsprechendes Ergebnis wird über die Ausgabeeinrichtung 14 angezeigt.
  • Sollte dabei der Fall auftreten, dass die Datenverarbeitungseinrichtung 5 anhand der bestimmten Flankenorte nicht in der Lage ist, den Strichcode 2 zu decodieren, so kann das im Zuge des vorstehend beschriebenen Verfahrens seine Ursache darin haben, dass beispielsweise innerhalb des Filterungsfensters FF1 (4) über das stärkste lokale Minimum MIN2 des Ableitungssignals AS' die gesuchte fallende Flanke des Abtastsignals AS bzw. des Strichcodes nicht korrekt bestimmt wurde. Dies kann insbesondere dann der Fall sein, wenn sich innerhalb des betrachteten Filterungsintervalls, d. h. des Filterungsfensters FF1, mehrere, möglicherweise in etwa gleich starke lokale Extrema MIN1–MIN3 auffinden lassen, von denen einige auf Störeinflüsse zurückzuführen sind.
  • Im Zuge des erfindungsgemäßen Verfahrens ist es jedoch in einem solchen Fall ohne nochmaliges Abtasten des Strichcodes möglich, eine erneute Decodierung unter Verwendung eines neu bestimmten Flankenortes vorzunehmen, wobei nunmehr der Ort des zweitstärksten lokalen Extremums MIN1 innerhalb des betreffenden Filterungsfensters FF1 des Ableitungssignals AS' mit dem Ort der gesuchten (fallenden) Flanke des Abtastsignals AS bzw. des Strichcodes identifiziert wird. Sollte auch auf diese Weise keine korrekte Decodierung des Strichcodes möglich sein, kann das vorstehend beschriebene Verfahren unter Verwendung des nächststärksten lokalen Extremums MIN3 des Ableitungssignals AS' innerhalb des Filterungsfensters FF1 wiederholt werden. Dies geschieht erfindungsgemäß so lange, bis entweder der Code korrekt ermittelt werden konnte oder bis keine weiteren innerhalb des Filterungsfensters bestimmte lokale Extrema des Ableitungssignals AS' in der Speichereinrichtung 6 (1) zur Verfügung stehen. In dem letztgenannten Fall ist die Decodierung endgültig gescheitert, so dass eine erneute Abtastung des Strichcodes 2 (1) notwendig ist.
  • Alternativ oder zusätzlich kann jedoch auch im Falle einer korrekten Decodierung eine erneute Abtastung des Strichcodes vorgenommen werden, um das Decodierungsergebnis zu verifizieren. Bei automatischer Abtastung des Strichcodes 2 durch die Abtasteinrichtung 3 der 1 kann in diesem Falle durch die Signalverarbeitungseinrichtung 4 bzw, die Datenverarbeitungseinrichtung 5 direkt ein entsprechender Steuerbefehl zum erneuten Abtasten des Strichcodes an die Abtasteinrichtung 3 bzw. an entsprechende Bewegungsmittel (nicht gezeigt) übermittelt werden. Bei manueller Betätigung der Abtasteinrichtung 3 kann entsprechend eine Benachrichtigung über die Ausgabeeinrichtung 14 an eine Bedienperson (nicht gezeigt) ausgegeben werden.
  • Die 6 zeigt anhand eines Ablaufdiagramms eine Ausgestaltung des erfindungsgemäßen Verfahrens zum Erkennen eines Strichcodes.
  • Das Verfahren beginnt in Schritt 600. In einem anschließenden Schritt 602 erfolgt die Abtastung des Strichcodes mittels einer geeigneten Abtasteinrichtung, so dass ein entsprechendes Abtastsignal erzeugt wird, wie weiter oben anhand der 1 bereits detailliert erläutert. Anschließend wird in Schritt 604 eine Autokorrelationsfunktion auf das Abtastsignal angewendet, um dessen elementare Breite zu bestimmen. In einem weiteren Verfahrensschritt 606 wird numerisch aus dem Abtastsignal ein Ableitungssignal bestimmt, anhand dessen sich über eine Bestimmung lokaler Extrema (Maxima und Minima) Flanken des Abtastsignals und damit des abgetasteten Strichcodes bestimmen lassen.
  • Um hierbei gegenüber vorbekannten Verfahren eine höhere Robustheit zu erzielen, wird in einem nachfolgenden Schritt 608 in Abhängigkeit von der ermittelten elementaren Breite und weiteren bekannten Eigenschaften des abgetasteten Strichcodes ein Filterungsfenster definiert, innerhalb dessen – wie vorstehend beschrieben – lokale Extrema des Ableitungssignals bestimmt werden. Diese Extremwert-Bestimmung geschieht in einem nachfolgenden Schritt 610, wobei neben einem jeweils ermittelten stärksten lokalen Extremwert gegebenenfalls auch weitere, schwächere lokale Extrema des Ableitungssignals innerhalb eines gegebenen Filterungsfensters bestimmt und abgespeichert werden, wie weiter oben anhand der 4 bereits detailliert beschrieben.
  • Anschließend erfolgt in Schritt 612 eine Abfrage dahin gehend, ob das Abtastsignal bereits vollständig bearbeitet wurde. Wird diese Abfrage verneint (n), so erfolgt in Schritt 614 eine Verschiebung des Filterungsfensters bis zum Ort des zuletzt bestimmten, stärksten Extremwertes des Ableitungssignals. Daraufhin springt das Verfahren nach Schritt 610 zurück. Wird jedoch die Abfrage in Schritt 612 bejaht (j), so wird der Code anhand der bestimmten Flanken (entsprechend den bestimmten stärksten lokalen Extrema des Ableitungssignals) ausgewertet (Schritt 616).
  • Anschließend erfolgt in Schritt 618 eine Abfrage dahin gehend, ob der Code korrekt ausgewertet wurde, d. h. ob mit den bestimmten stärksten Extremwerten eine sinnvolle Decodierung des Strichcodes möglich war. Wird die Abfrage in Schritt 618 bejaht, so erfolgt in einem anschließenden Schritt 620 eine entsprechende Ausgabe an eine Bedienperson, beispielsweise in Form eines akustischen Signals, und das erfindungsgemäße Verfahren endet mit Schritt 622.
  • Wird jedoch die Abfrage in Schritt 618 verneint, so erfolgt in einem anschließenden Schritt 624 eine weitere Abfrage dahin gehend, ob weitere (schwächere) Extremwerte des Abtastsignals bzw. entsprechende Flanken des Strichcodes für eine alternative Decodierung zur Verfügung stehen. Wird diese Abfrage verneint, so erfolgt in einem anschließenden Schritt 626 wiederum eine entsprechende Ausgabe und das Verfahren endet in Schritt 622. Wird die Abfrage in Schritt 624 hingegen bejaht, wird anschließend in Schritt 628 das entsprechend nächststärkste lokale Extremum des Abtastsignals zur Bestimmung einer Flanke des Abtastsignals bzw. des Strichcodes herangezogen und das Verfahren mit einer (erneuten) Codeauswertung (ohne erneute Abtastung) in Schritt 616 fortgesetzt.
  • Zusätzlich besteht – ausgehend von den Verfahrensschritten 620 bzw. 626 – im Zuge der in 6 gezeigten Ausführungsform des erfindungsgemäßen Verfahrens auch die Möglichkeit, sowohl bei erfolgreicher Decodierung des Strichcodes (Schritt 620) als auch bei erfolgloser Decodierung des Strichcodes (Schritt 626) nach Schritt 602 zurückzukehren und entsprechend eine erneute Abtastung des Strichcodes vorzunehmen – entweder, um das Decodierungsergebnis zu verifizieren oder um bei gescheiterter Decodierung ein neues Abtastsignal für einen weiteren Decodierungsversuch aufzunehmen. Dies ist in der 6 anhand gestrichelter Linien zeichnerisch dargestellt.

Claims (13)

  1. Verfahren zum Erkennen eines aus einer Anzahl von Strichen (2.1) und Lücken (2.2) gebildeten Strichcodes (2), dessen einzelne Striche und Lücken jeweils eine Breite besitzen, die ein Vielfaches einer elementaren Breite (x) darstellen, und bei dem ein Breitenverhältnis (BV) zwischen der elementaren Breite und einer größten möglichen Breite vorgegeben ist, wobei: – der Strichcode abgetastet wird, – anhand der Abtastung ein Abtastsignal (RS) erzeugt wird, – anhand von Flanken des Abtastsignals der Strichcode erkannt und ein dem Strichcode entsprechender idealer Signalverlauf rekonstruiert wird, dadurch gekennzeichnet, dass – aus dem Abtastsignal die elementare Breite bestimmt wird und – Flanken des Abtastsignals innerhalb eines verschiebbaren Filterungsfensters (FF1, FF2, FF3) mit von der elementaren Breite abhängiger Fensterbreite (FB) ermittelt werden, wobei das Filterungsfenster zum Auffinden der Flanken bezüglich eines durch das Abtastsignal vorgegebenen Signalverlaufs verschoben wird.
  2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass die elementare Breite (x) mittels einer Autokorrelationsfunktion bestimmt wird.
  3. Verfahren nach Anspruch 1 oder 2, dadurch gekennzeichnet, dass die Fensterbreite (FB) der größten möglichen Breite entspricht.
  4. Verfahren nach einem der Ansprüche 1 bis 3, dadurch gekennzeichnet, dass jeweils wenigstens eine stärkste Flanke des Abtastsignals (AS) innerhalb des Filterungsfensters (FF1, FF2, FF3) bestimmt wird und dass anschließend das Filterungsfenster so weit verschoben wird, dass ein Fensteranfang mit dem Ort der bestimmten stärksten Flanke in dem Signalverlauf zusammenfällt.
  5. Verfahren nach einem der Ansprüche 1 bis 4, dadurch gekennzeichnet, dass innerhalb des Filterungsfensters (FF1, FF2, FF3) jeweils eine Anzahl von Flanken bestimmt wird, die schwächer sind als eine jeweils stärkste Flanke.
  6. Verfahren nach einem der Ansprüche 1 bis 5, dadurch gekennzeichnet, dass die erste Ableitung (AS') des Abtastsignals (AS) gebildet wird und dass das Auffinden der Flanken anhand des durch die Ableitung des Abtastsignals gegebenen Signalverlaufs vorgenommen wird.
  7. Verfahren nach Anspruch 6, dadurch gekennzeichnet, dass zum Auffinden der Flanken wenigstens ein lokales Extremem des Signalverlaufs innerhalb des Filterungsfensters (FF1, FF2, FF3) bestimmt wird.
  8. Verfahren nach einem der Ansprüche 5 bis 7, dadurch gekennzeichnet, dass bei fehlerhafter Erkennung des Strichcodes (2) unter Verwendung der bestimmten stärksten Flanken eine erneute Erkennung unter Verwendung wenigstens einer der schwächeren Flanken durchgeführt wird.
  9. Verfahren nach einem der Ansprüche 1 bis 8, dadurch gekennzeichnet, dass bei richtiger Erkennung des Strichcodes (2) ein weiteres Abtastsignal (AS) erzeugt wird, dass anhand des weiteren Abtastsignals eine erneute Erkennung des Strichcodes unter Verwendung von Merkmalen einer der vorangehenden Ansprüche vorgenommen wird und dass die Erkennungsergebnisse miteinander verglichen werden.
  10. Verfahren nach Anspruch 9, dadurch gekennzeichnet, dass zum Erzeugen des weiteren Abtastsignals (AS) der Strichcode (2) erneut abgetastet wird.
  11. Vorrichtung zum Erkennen eines aus einer Anzahl von Strichen (2.1) und Lücken (2.2) gebildeten Strichcodes (2), dessen einzelne Striche und Lücken jeweils eine Breite besitzen, die ein Vielfaches einer elementaren Breite (x) darstellen, und bei dem ein Breitenverhältnis (BV) zwischen der elementaren Breite (x) und einer größten möglichen Breite vorgegeben ist, mit: – einer Abtasteinrichtung (3), die zum Erzeugen eines Abtastsignals (AS) beim Abtasten des Strichcodes ausgebildet ist, – einer Signalverarbeitungseinrichtung (4), die zum Erkennen des Strichcodes und zum Rekonstruieren eines dem Strichcode entsprechenden idealen Signalverlaufs anhand von Flanken des Abtastsignals ausgebildet ist, dadurch gekennzeichnet, dass die Signalverarbeitungseinrichtung aufweist: – eine erste Bestimmungseinheit (7), die zum Bestimmen der elementaren Breite aus dem Abtastsignal ausgebildet ist, und – eine zweite Bestimmungseinheit (9), die zum Auffinden von Flanken des Abtastsignals innerhalb eines Filterungsfensters (FF1, FF2, FF3) mit von der elementaren Breite abhängiger Fensterbreite (FB) ausgebildet ist, wobei das Filterungsfenster zum Auffinden der Flanken bezüglich eines durch das Abtastsignal vorgegebenen Signalverlaufs verschiebbar ist.
  12. Vorrichtung nach Anspruch 11, dadurch gekennzeichnet, dass die erste Bestimmungseinheit (7) ein Autokorrelations modul (8) aufweist, das zum Anwenden einer Autokorrelationsfunktion auf das Abtastsignal (AS) ausgebildet ist.
  13. Computerprogrammprodukt zum Erkennen eines abgetasteten, aus einer Anzahl von Strichen (2.1) und Lücken (2.2) gebildeten Strichcodes (2), dessen einzelne Striche und Lücken jeweils eine Breite aus einer vorbestimmten Anzahl von Breiten besitzen, die jeweils ein Vielfaches einer elementaren Breite (x) darstellen, und bei dem ein Breitenverhältnis (BV) zwischen der elementaren Breite und einer größten möglichen Breite vorgegeben ist, wobei durch das Abtasten ein Abtastsignal (AS) erzeugt wird und wobei anhand von Flanken des Abtastsignals der Strichcode erkannt und ein dem Strichcode entsprechender idealer Signalverlauf rekonstruiert wird, gekennzeichnet durch Programmcode-Sequenzen, bei deren Ausführung ein Verfahren mit weiteren Merkmalen der Ansprüche 1 bis 9 durchgeführt wird.
DE102006008727A 2006-02-24 2006-02-24 Verfahren und Vorrichtung zum Erkennen eines Strichcodes Withdrawn DE102006008727A1 (de)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE102006008727A DE102006008727A1 (de) 2006-02-24 2006-02-24 Verfahren und Vorrichtung zum Erkennen eines Strichcodes

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102006008727A DE102006008727A1 (de) 2006-02-24 2006-02-24 Verfahren und Vorrichtung zum Erkennen eines Strichcodes

Publications (1)

Publication Number Publication Date
DE102006008727A1 true DE102006008727A1 (de) 2007-08-30

Family

ID=38319828

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102006008727A Withdrawn DE102006008727A1 (de) 2006-02-24 2006-02-24 Verfahren und Vorrichtung zum Erkennen eines Strichcodes

Country Status (1)

Country Link
DE (1) DE102006008727A1 (de)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2590108A1 (de) * 2010-06-30 2013-05-08 Optoelectronics Co., Ltd. Decodierungsverfahren und decodierungsverarbeitungsvorrichtung
EP2606754B1 (de) 2011-12-22 2018-10-03 TEWS Elektronik GmbH & Co. KG Verfahren zur Messung der Position von Segmenten mit absorbierenden Substanzen in Multisegmentfilterstäben der tabakverarbeitenden Industrie

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2590108A1 (de) * 2010-06-30 2013-05-08 Optoelectronics Co., Ltd. Decodierungsverfahren und decodierungsverarbeitungsvorrichtung
EP2590108A4 (de) * 2010-06-30 2014-01-01 Optoelectronics Co Ltd Decodierungsverfahren und decodierungsverarbeitungsvorrichtung
US9262665B2 (en) 2010-06-30 2016-02-16 Opticon Sensors Europe B.V. Decoding method and decoding processing device
EP2606754B1 (de) 2011-12-22 2018-10-03 TEWS Elektronik GmbH & Co. KG Verfahren zur Messung der Position von Segmenten mit absorbierenden Substanzen in Multisegmentfilterstäben der tabakverarbeitenden Industrie

Similar Documents

Publication Publication Date Title
DE69521040T2 (de) Verfahren und vorrichtung zum dekodieren von balkencodebildern mittels informationen aus vorhergehenden abtastzeilen
DE69728482T2 (de) Zweidimensionaler Codeleser
EP2463101B1 (de) System und Verfahren zur Erzeugung und Inspektion von Drucken mit statischen und variablen Inhalten
DE4208082C1 (en) Reading bar=code on edge of photographic film - ascertaining code start and end and thus length by relative speed between film and sensor arrangement
DE3322443A1 (de) Mustererkennungsvorrichtung
DE2338561A1 (de) Verfahren und vorrichtung zum identifizieren von objekten
EP1288843B1 (de) Verfahren zur Erkennung eines Codes
EP0785550A1 (de) Verfahren zum Auswerten binärer Informationen einer Magnetspeicherkarte
EP1586917A2 (de) Verfahren zur Auswahl eines oder mehrer Transponder
EP3160748B1 (de) Vorrichtung und verfahren zur überwachung der änderungen der nummerierradposition
DE102006008727A1 (de) Verfahren und Vorrichtung zum Erkennen eines Strichcodes
DE4426424C2 (de) Vorrichtung zur rasterstereografischen Vermessung von Körperoberflächen
DE69507463T2 (de) Vorrichtung und verfahren zur verkehrsüberwachung
DE2718490A1 (de) Decodierung von signalwellenzuegen
DE19716886C2 (de) Verfahren und Vorrichtung zum Lesen eines Strichcodes
DE69129713T2 (de) Ausgabeverfahren und -gerät
DE102018102610A1 (de) Verfahren zur Erkennung von Signalabweichungen eines Sensors
DE2557922A1 (de) Verfahren und vorrichtung zur faksimile-datenkomprimierung
DE102019211459A1 (de) Verfahren und Vorrichtung zum Überprüfen einer Kalibrierung von Umfeldsensoren
DE69735834T2 (de) Verfahren und Vorrichtung zur Erfassung von Gegenständen zugewiesenen Daten
EP3124246B1 (de) Verfahren zur steuerung bzw. regelung eines produktionsprozesses in druckanlagen
EP2338130B1 (de) Verfahren zur automatischen optischen zeichenerfassung, computerprogrammprodukt, datenverarbeitunssystem und scanner
EP0731416B1 (de) Vorrichtung zur berührungslosen Erkennung
DE102019211687A1 (de) Metainformationscodierung für Inkjet-Druckprozesse
DE102004002771A1 (de) Verfahren und Vorrichtung zur Bewertung von Einstellungen eines CAN-Geräts

Legal Events

Date Code Title Description
8110 Request for examination paragraph 44
R012 Request for examination validly filed

Effective date: 20110307

R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee
R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee

Effective date: 20140902