DE19640801A1 - Balkencodedekodierung mit Geschwindigkeitskompensation - Google Patents
Balkencodedekodierung mit GeschwindigkeitskompensationInfo
- Publication number
- DE19640801A1 DE19640801A1 DE19640801A DE19640801A DE19640801A1 DE 19640801 A1 DE19640801 A1 DE 19640801A1 DE 19640801 A DE19640801 A DE 19640801A DE 19640801 A DE19640801 A DE 19640801A DE 19640801 A1 DE19640801 A1 DE 19640801A1
- Authority
- DE
- Germany
- Prior art keywords
- threshold
- elements
- display
- decoding
- narrow
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Electromagnetism (AREA)
- General Health & Medical Sciences (AREA)
- Toxicology (AREA)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Character Input (AREA)
- Character Discrimination (AREA)
Description
Diese Erfindung betrifft allgemein Dekodierung von
Balkencodes. Insbesondere richtet sich diese Erfindung auf
die Erzeugung eines Schwellwerts zur Verwendung bei der
Dekodierung von Balkencode-Elementen, wenn die
Abtastgeschwindigkeit variabel ist.
Die Verwendung von Balkencodes in verschiedenen
Industriezweigen hat in den vergangenen Jahren weit um sich
gegriffen, mit dem Ergebnis, daß Balkencodes fast überall
angetroffen werden. Balkencodes stellen durch Automatisierung
der Wiedergewinnung von Information für viele Industriezweige
Automationsvorteile bereit. Typischerweise kann Information,
die in Balkencodes enthalten ist, schneller und mit wenigeren
Fehlern als mit anderen Techniken, beispielsweise mit dem
Ablesen von gedruckten Worten durch einen Menschen,
zurückgewonnen werden. Wegen dieser Betriebsvorteile sind
Balkencodes für einen breitgefächerten Bereich von
Anwendungen angepaßt worden.
Beispielsweise verwendet der Industriezweig der
Einzelhandelsgeschäfte Balkencodes, die auf Anhängern,
Etiketten und Preisschildern, die an der Ware für eine
Inventurführung, zur Preisinformation und zur Erzeugung von
ausführlichen Kundenbelegen angebracht sind, gedruckt sind.
In ähnlicher Weise verwendet der Industriezweig von
Lebensmittelgeschäften Balkencodes, die direkt auf einem
Produkt oder auf der Verpackung eines Produkts für die
gleichen Zwecke aufgedruckt sind. Dies sind Beispiele von
Anwendungen für Balkencodes am Verkaufspunkt. Jedoch
existieren vielerlei andere Verwendungen für Balkencodes, die
außerhalb des Anwendungsgebiets am Verkaufspunkt liegen. Ein
Beispiel findet man in der Fahrzeugindustrie, wo Balkencodes
intern zur Produktionssteuerung verwendet werden. Ein anderes
Beispiel findet man in dem Industriezweig des
Gesundheitswesens, bei dem Balkencodes für eine
Patientenidentifikation und Probenverfolgung verwendet
werden. Noch ein anderes Beispiel findet man in dem
Verteidigungsministerium der Vereinigten Staaten (United
States Department of Defense, DOD), welches von allen
Zulieferern fordert, die Inhalte jedes an irgendeine
militärische Organisation der Vereinigten Staaten zu
liefernden Pakets in einem Balkencode-Etikett, welches an dem
Paket angebracht wird, zu bezeichnen.
Eine andere Anwendungen, bei der Balkencodes weit verbreitet
verwendet werden, ist in der Herstellung von Poststücken.
Allgemein umfaßt das Postverarbeitungsgerät, welches für
diesen Zweck verwendet wird, ein Einfügersystem.
Einfügersysteme, die über 10.000 Poststücke pro Stunde
erzeugen können, sind in dem technischen Gebiet altbekannt
und werden allgemein von Organisationen wie beispielsweise
Banken und Versicherungsgesellschaften verwendet, die ein
großes Volumen von Postversendungen erzeugen, bei denen sich
die Inhalte jedes Poststücks verändern. Oft sind die Eingaben
an das Einfügersystem Computer-erzeugt und gedruckte
Dokumente, wobei jedes Dokument Information darüber enthält,
daß es für einen bestimmten Empfänger vorgesehen ist. Die
Funktion des Einfügersystems besteht darin, die Dokumente
anzunehmen und die einzelnen Postversendungen zu erzeugen,
die jedem Dokument entsprechen. Um dies durchzuführen umfaßt
der typische Einfüger eine Vielzahl von Modulen zum Ausführen
von verschiedenen Vorgängen für die Dokumente, die durch den
Einfüger laufen, beispielsweise: Behandlungsmodule für
verschiedene Gewebe (Schlitzer, Schneider und Burster) zum
Trennen der kontinuierlichen Formen i n einzelne oder diskrete
Dokumente, einen Blattzuführer-Modul zum Zuführen von
einzelnen geschnittenen Blättern, einen Akkumulator-Modul zum
Zusammenfassen der Blätter und/oder Dokumente in eine
Kollationierung oder Sortierfolge, einen Faltmodul zum Falten
der Kollationierung in eine gewünschte Konfiguration (Z-Faltung,
C-Faltung, Halb-Faltung), ein Transport-/Staffelungs-Modul
zum Transportieren der Kollationierung und
zum Einordnen der Kollationierung in einer Warteschlange,
eine Vielzahl von Anlage-Zuführer-Modulen zum Zusammenfassen
und Hinzufügen eines Pakets von Anlagen zu der
Kollationierung, ein Einfügungsstations-Modul zum Einfügen
der Kollationierung in einen Umschlag, und ein Steuersystem
zum Synchronisieren des Betriebs des gesamten
Einfügersystems, um sicherzustellen, daß die
Kollationierungen richtig zusammengesetzt werden. Beispiele
von derartigen Einfügersystemen sind die 8 SerieTM, 9 SerieTM
und SpektrumTM Einfügersysteme, die von Pitney Bowes, Inc.,
Stamford, CT erhältlich sind.
Typischerweise wird eine Information zur Steuerung derartiger
Einfügersysteme aus einem Steuerdokument durch einen
Balkencode-Abtaster ausgelesen, der dem am weitesten
stromaufwärts liegenden Modul in dem Einfügersystem
zugeordnet ist. Das Steuerdokument ist allgemein ein Adressen
führendes Dokument, welches einen Balkencode und andere
Information enthält, die für einen bestimmten Empfänger
spezifisch ist. Der Balkencode enthält eine
Steuerinformation, um weiter stromabwärts gelegene Module
darüber zu instruieren, wie ein bestimmtes Poststück
zusammengesetzt werden soll. Allgemein definiert die
Steuerinformation: Die Anzahl von Formen oder Blättern, die
in eine Kollationierung zusammengebracht werden sollen, die
Anzahl von Anlagen von jedem der Anlagen-Zuführer-Module, die
in die Kollationierung zusammengesetzt werden sollen, und
Information für andere Zwecke, beispielsweise für die Auswahl
eines geeigneten Portos. Ein Beispiel der Verwendung von
Balkencodes in Einfügersystemen ist in dem United States
Patent Nr. 5,008,520 bereitgestellt, welches den Titel
VERFAHREN UND VORRICHTUNG ZUM LESEN EINES BALKENCODES AUF
EINEM SICH BEWEGENDEN BLATT trägt, am 16. April 1991
ausgegeben wurde und dem Anmelder der vorliegenden Erfindung
übertragen wurde.
Typischerweise bestehen Balkencodes aus einer alternierenden
Folge von schwarzen und weißen rechteckigen Spalten oder
Elementen. Die Elemente sind parallel zueinander ausgerichtet
und besitzen gewöhnlicherweise unterschiedliche Breiten.
Allgemein ist eine Reihe von Elementen erforderlich, um ein
einzelnes Zeichen zu definieren, beispielsweise den
Buchstaben A. Es ist in der Industrie typische Praxis die
Breiten und die Anordnung der Elemente zu verändern, um so
unterschiedliche Zeichen zu definieren. Deshalb weist jedes
Zeichen eine einzigartige Definition oder Symbolisierung auf,
um sie von anderen Zeichen zu unterscheiden.
Das Lesen von Balkencodes wird allgemein mit einem
Abtastersystem erzielt. Obwohl verschiedene Typen von
Abtastern (Wand, Kanone, X-Fenster, fester Strahl etc.)
vorhanden sind, arbeiten sie alle mit den gleichen
Grundprinzipien. Typischerweise umfaßt der Abtaster eine
Lichtquelle, eine Optik zum Richten der Lichtquelle auf den
Balkencode und einen Sensor zum Erfassen des Lichtbetrags,
der von dem Balkencode zurückreflektiert wird. Wenn der
Balkencode und die Lichtquelle relativ zueinander bewegt
werden, beleuchtet die Lichtquelle sequentiell jedes Element.
Weil die weißen Elemente des Balkencodes mehr Licht als die
schwarzen Elemente reflektieren, kann der Sensor dann
zwischen ihnen unterscheiden. Solange der Balkencode und die
Lichtquelle relativ zueinander bei einer konstanten
Geschwindigkeit bewegt werden, kann ferner eine Bestimmung
bezüglich der Breite jedes Elements durchgeführt werden,
indem die Zeit zurückverfolgt wird, die die Lichtquelle auf
jedem Element verbringt. Dies wird typischerweise durch
Aufnahme von Abtastungen oder Abtastwerten des Sensorausgangs
bei einer festen Rate und durch Zählen der Anzahl von
Abtastungen pro Element erreicht. Somit besitzt die
Abtastzählung (der Abtastzählwert) pro Element einen
umgekehrten Zusammenhang zu der relativen Geschwindigkeit
zwischen dem Balkencode und der Lichtquelle. Deshalb weisen
breitere Elemente größere Abtastzählungen als schmalere
Elemente auf, was somit im Abtastersystem erlaubt, zwischen
breiten und schmalen Elementen zu unterscheiden.
Ein Dekoder empfängt diese Daten von dem Abtaster und
entschlüsselt den Balkencode in entsprechende Zeichen.
Typischerweise wandelt der Dekoder zuerst die Daten von dem
Abtaster in binäre Darstellungen um. Dann wandelt der Dekoder
unter Verwendung der binären Darstellungen und einer
vorgegebenen Symbolik-Definition die binären Darstellungen in
entsprechende Zeichen um.
Obwohl derartige Abtaster- und Dekoder-Systeme allgemein gut
arbeiten, existieren Probleme, wenn versucht wird, den
Balkencode zu entschlüsseln, wenn die relative
Geschwindigkeit zwischen dem Balkencode und der Lichtquelle
variabel ist. Mit anderen Worten ist die Geschwindigkeit, mit
der die Lichtquelle und der Balkencode sich relativ
zueinander bewegen nicht konstant, sondern ist anstelle davon
einer Beschleunigung und Verzögerung ausgesetzt. Wenn der
Dekoder eine gegebene Abtastzählung für ein schmales Element
erkannt hat und danach die relative Geschwindigkeit
signifikant ansteigt, dann kann die gleiche Abtastzählung für
ein nachfolgendes breiteres Element die gleiche sein oder
sogar kleiner als die Abtastzählung für das frühere schmale
Element. Unter diesen Umständen kann der Dekoder nicht
zwischen breiten und schmalen Elementen unterscheiden, was zu
einem Entschlüsselungsfehler führt.
Einige herkömmliche Systeme haben dieses Problem adressiert,
indem Barcode-Überprüfungseinrichtungen verwendet werden, um
die Effekte einer variablen relativen Geschwindigkeit
herauszusubtrahieren. Derartige Systeme sind von Symbol
Technologies, Inc. von Bohemia, NY. erhältlich. Ein Beispiel
ist in dem United States Patent Nr. 5,369,260 offenbart,
welches den Titel BALKENCODEABTASTUNG MIT EINER KORREKTUR FÜR
EINE PUNKTGESCHWINDIGKEITSVERÄNDERUNG trägt und am 29.
November 1994 ausgegeben wurde. Überprüfungseinrichtungen
arbeiten durch Abtasten eines Kalibrierungs-Balkencodes mit
einer bekannten Abfolge von Elementen einer konstanten Breite
und durch Speichern der Abtastzählungen für jedes Element des
Kalibrierungs-Balkencodes. Unter Verwendung dieser Serie von
Abtastzählungen wird ein Geschwindigkeitsprofil berechnet,
welches für die Änderung der relativen Geschwindigkeit, die
für den Kalibrierungs-Balkencode auftritt, repräsentativ ist.
Dieses Geschwindigkeitsprofil wird dann verwendet, um
Geschwindigkeitsveränderungen in nachfolgenden Balkencodes
herauszusubtrahieren oder einzustellen.
Obwohl diese herkömmlichen Systeme allgemein gut arbeiten,
weisen sie mehrere Nachteile auf. Ein Problem besteht darin,
daß diese Technik annimmt, daß die
Geschwindigkeitsveränderungen, die für den Kalibrierungs-Balkencode
aufgezeigt werden, konsistent und wiederholbar für
alle nachfolgenden Balkencodes vorhersagbar sind. Somit ist
diese Technik nicht adaptiv und kompensiert sich verändernde
Betriebsbedingungen nicht. Wenn beispielsweise die
Geschwindigkeitsveränderungen allgemein wiederholbar wären,
aber sich Bedingungen ändern würden, so daß die
Geschwindigkeitsveränderungen nicht länger die gleichen wie
für den Kalibrierungs-Balkencode wären, dann würde diese
Technik für eine genaue Entschlüsselung, nachdem die
Bedingungen sich geändert haben, unzureichend sein. Ein noch
größeres Problem besteht darin, wenn die
Geschwindigkeitsveränderungen nicht wiederholbar oder
vollständig zufällig von Balkencode zu Balkencode sind. In
diesem Fall würden Entschlüsselungsfehler wahrscheinlich
sofort von dem Beginn an auftreten. Ein anderes Problem
besteht darin, daß diese Technik zeitaufwendig ist und für
den Aufbau einen erfahrenen Betreiber unter Verwendung von
ausgefeiltem Gerät erfordert.
Andere herkömmliche Systeme wollten dieses Problem angehen,
indem ausgefeilte Geschwindigkeitskodierer zum aktiven Messen
der relativen Geschwindigkeitsveränderungen verwendet werden.
Diese Information wird dann an den Dekoder zurückgeführt, so
daß Einstellungen bei der Dekodierungsprozedur vorgenommen
werden können. Obwohl diese Systeme allgemein gut arbeiten,
ist deren Implementierung kostenaufwendig und erhöht auch die
Komplexität des Gesamtsystems.
Ein anderes Problem ist der weite Bereich von zulässigen
Balkencodes für eine bestimmte Balkencode-Spezifikation.
Beispielsweise weist der Balkencode des Typs Code 39
definitionsgemäß nur zwei mögliche Breiten für Elemente auf,
nämlich schmal oder breit. Jedoch kann die Breite des
schmalen Elements in Abhängigkeit von der Dichte, mit der der
Balkencode aufgedruckt wird, in einem Bereich von 0,01 Inch
bis 0,040 Inch liegen. Ferner kann das Breitenverhältnis (die
Breite eines breiten Elements geteilt durch die Breite eines
schmalen Elements) in einem Bereich von zwei bis drei liegen.
Deshalb existiert ein breites Spektrum von akzeptablen
Balkencode-Formaten, die die Code 39 Spezifikation erfüllen.
Dieses Problem ist insbesondere dann schwerwiegend, wenn
Balkencodes in einem Einfügersystem abgetastet werden. Das
genaue Format des Code 39 Balkencodes auf dem Steuerdokument
wird durch die Benutzer oder Käufer des Einfügersystems
bestimmt. Deshalb wird von dem Abtaster des Einfügersystems
gefordert, daß er irgendeinen von den Benutzern gewählten
Code 39 Balkencode entschlüsselt, vorausgesetzt, daß er mit
der Code 39 Spezifikation übereinstimmt. Eine
kundenspezifische Ausführung des Abtasters für jede
Installation, so daß er ein bestimmtes Format liest, ist
nicht nur kostenaufwendig und zeitaufwendig, sondern es
erlaubt dem Benutzer die Flexibilität in der Zukunft nicht,
auf ein anderes Code 39 Format überzugehen.
Deshalb ist es offensichtlich, daß eine Notwendigkeit für ein
Balkencode-Dekodierungssystem mit einer Geschwindigkeits-
Größen- und Dichte-Kompensation besteht, welches sich
einfach, kostengünstig und automatisch auf: (1) den
Breitenbereich von zulässigen Balkencodes, (2) verschiedene
Balkencode-Dichten, und (3) sich verändernde
Geschwindigkeitsveränderungs-Bedingungen anpaßt, so daß
Balkencodes genau entschlüsselt werden können.
Allgemein offenbart die vorliegende Erfindung ein Verfahren
zum dynamischen Herstellen einer Vielzahl von Schwellwerten
zur Verwendung bei der Dekodierung eines Balkencode-Symbols
mit einer Vielzahl von Zeichen, wobei jedes Zeichen eine
Vielzahl von breiten und schmalen Elementen umfaßt.
Zusätzlich umfaßt das Symbol auch ein erstes Zeichen, welches
Elemente einer bekannten Abfolge und eines bekannten Typs
aufweist. Das Verfahren umfaßt die folgenden Schritte: (a)
Führen einer Anzeige über einen Zeitbetrag, zu dem eine
Lichtquelle von einem Abtastersystem ein gewähltes Element
aus dem ersten Zeichen beleuchtet, (b) Herstellen eines
gegenwärtigen Schwellwerts als das Produkt eines
Dekodierfaktors mal dem gewählten Elementanzeiger zur
Verwendung bei der Dekodierung eines zweiten Elements, (c)
für jedes der Vielzahl von Elementen, Führen einer Anzeige
über einen Zeitbetrag, zu dem die Lichtquelle von dem
Abtastersystem die Vielzahl von Elementen jeweils beleuchtet,
und (d) Einstellen des gegenwärtigen Schwellwerts unter
Verwendung der Anzeigen vor einer Dekodierung eines
nachfolgenden Elements.
Die besonderen Anzeigen, die verwendet werden, um den
gegenwärtigen Schwellwert einzustellen, und wie diese
Anzeigen verwendet werden, um den gegenwärtigen Schwellwert
einzustellen, werden insbesondere unter Bezugnahme auf jede
der bevorzugten Ausführungsformen diskutiert.
Gemäß einer ersten Ausführungsform werden nur die Anzeigen
von den letzten zwei schmalen Elementen verwendet, um den
gegenwärtigen Schwellwert einzustellen. Der gegenwärtige
Schwellwert wird eingestellt, indem er gleich zu dem
Durchschnitt der Anzeigen für die letzten zwei schmalen
Elemente und dem Dekodierfaktor eingestellt wird.
Gemäß einer zweiten Ausführungsform wird eine Anzeige von dem
jüngsten schmalen Element und eine gegenwärtige "gewichtete"
Anzeige verwendet, um den gegenwärtigen Schwellwert
einzustellen. Der gegenwärtige Schwellwert wird eingestellt,
indem er gleich zu dem Durchschnitt der Anzeige für das
jüngste schmale Element und der gegenwärtigen "gewichteten"
Anzeige mal dem Dekodierfaktor eingestellt wird. Dabei wird
die "gewichtete" Anzeige aus den Anzeigen für die schmalen
Elemente abgeleitet.
Gemäß einer dritten Ausführungsform werden wieder nur die
Anzeigen von den letzten zwei schmalen Elementen verwendet,
um den gegenwärtigen Schwellwert einzustellen. Der
gegenwärtige Schwellwert wird eingestellt, indem er mit dem
Verhältnis der Anzeige von dem jüngsten schmalen Element über
der Anzeige für das vorangehende schmale Element
multipliziert wird.
Gemäß einer vierten Ausführungsform der Erfindung wird eine
Anzeige eines Zeitbetrags geführt, für den die Lichtquelle
von dem Abtastersystem jedes Zeichen beleuchtet. Der
gegenwärtige Schwellwert T wird eingestellt, indem er mit dem
Verhältnis der Anzeige für das jüngste Zeichen geteilt durch
die Anzeige für das vorangehende Zeichen multipliziert wird,
zur Verwendung bei der Dekodierung der Zeichen, die in einem
nächsten Zeichen enthalten sind.
Gemäß einer fünften Ausführungsform der vorliegenden
Erfindung werden beide Anzeigen für die schmalen und breiten
Elemente verwendet, um den gegenwärtigen Schwellwert
einzustellen. Diese Ausführungsform arbeitet ähnlich wie die
erste Ausführungsform hinsichtlich der Anzeigen für die
schmalen Elemente.
Deshalb ist es nun ersichtlich, daß die Erfindung im
wesentlichen die voranstehend diskutierten Probleme umgeht.
Zusätzliche Nutzen und Vorteile der Erfindung werden in der
nachstehenden Beschreibung aufgeführt und sind teilweise aus
der Beschreibung offensichtlich oder können durch Umsetzung
der Erfindung in der Praxis gelernt werden. Die Nutzen und
Vorteile der Erfindung können mittels der Vorgehensweisen und
Kombinationen, die insbesondere in den beigefügten Ansprüchen
aufgeführt sind, realisiert und erhalten werden.
Die beiliegenden Zeichnungen, die in die Beschreibung
eingebaut sind und einen Teil davon bilden, zeigen eine
gegenwärtig bevorzugte Ausführungsform der Erfindung und
dienen zusammen mit der voranstehend angegebenen Beschreibung
und der nachstehend angegebenen ausführlichen Beschreibung
der bevorzugten Ausführungsform der Erläuterung der
Prinzipien der Erfindung. Wie überall in den Zeichnungen
gezeigt, bezeichnen gleiche Bezugszahlen gleiche oder
ähnliche Teile. In den Zeichnungen zeigen:
Fig. 1 ein Diagramm der Code 39 Balkencode-Symbolik;
Fig. 2 eine Darstellung eines Code 39 Balkencode-Symbols;
Fig. 3 eine diagrammartige Ansicht eines Abtastersystems
gemäß der vorliegenden Erfindung;
Fig. 4 ein Flußdiagramm einer Prozedur START 600 gemäß der
vorliegenden Erfindung;
Fig. 5A ein Flußdiagramm einer Prozedur DECODE 700 gemäß der
vorliegenden Erfindung;
Fig. 5B ein Flußdiagramm einer Prozedur DECODE 750 gemäß der
vorliegenden Erfindung;
Fig. 6 eine Tabelle, die ein Beispiel der Ausführungsformen
der vorliegenden Erfindung unter Verwendung des
Abtastersystems aus Fig. 3 zur Dekodierung eines
Balkencode-Symbols enthalten.
Unter Bezugnahme auf Fig. 1 ist eine Code 39 Symbolik
gezeigt. Der Balkencode des Typs 39 ist ein Beispiel eines
binären Balkencodes mit variabler Breite. Die Zeichen 0-9, A-Z,
-, ·, LEERSTELLE, +, *, /, + und % sind zusammen mit ihren
entsprechenden Balkencode- und Binärcode-Mustern gezeigt. Es
sei darauf hingewiesen, daß jedes Zeichen durch fünf schwarze
Elemente und vier dazwischen liegende weiße Elemente für
insgesamt neun Elemente pro Zeichen definiert ist. Zusätzlich
sind nur zwei Größen von Zeichen vorhanden, nämlich schmal
oder breit. Eine andere Anforderung der Code 39 Symbolik
besteht darin, daß von den neun Elementen, die jedes Zeichen
definieren, drei Elemente breit sein müssen, während die
übrigen sechs Elemente schmal sein müssen. Demzufolge werden
schmale Elemente, sowohl schwarze als auch weiße als "0"
dekodiert, und breite Elemente, sowohl schwarze als auch
weiße, werden als "1" dekodiert. Somit bestimmt die bestimmte
Anordnung oder das Muster von schmalen oder breiten Elementen
das Zeichen, welches gerade codiert ist.
Gemäß der Code 39 Spezifikation benötigt jedes Balkencode-Symbol
eine führende Ruhezone, ein Startzeichen, eine Abfolge
von einem oder mehreren Datenzeichen, ein Stopzeichen und
eine hintere Ruhezone. Ein optionales Überprüfungszeichen
kann ebenfalls enthalten sein. Ferner ist es erforderlich,
daß die Stop- und Start-Zeichen immer Sternchen (*) sein
müssen und jedes Zeichen durch einen Zeichenspalt getrennt
sein muß. Code 39 Balkencode-Symbole können auch bei
unterschiedlichen Dichten (Anzahl von Zeichen pro Inch)
gedruckt werden, indem die Breite der Elemente verändert
wird. Jedoch muß die Breite von breiten Elementen nicht immer
zwei- bis dreimal diejenige der schmalen Elemente sein. Eine
ausführlichere Beschreibung der Code 39 Spezifikation
befindet sich in "Reading between the Lines: An Introduction
to Bar Code Technology, die von den Autoren Craig K. Harmon
und Russ Adams" verfügbar und von Helmers Publishing, Inc.
veröffentlicht ist, welches hier durch Bezugnahme Teil der
vorliegenden Anmeldung bildet.
Unter Bezugnahme auf Fig. 2 ist ein typisches Balkencode-Symbol
10 mit allen erforderlichen Komponenten gezeigt. Wenn
das Balkencode-Symbol 10 in der mit dem Pfeil "A",
bezeichneten Richtung abgetastet wird, dann enthält das
Balkencode-Symbol 10 eine führende Ruhezone 12, ein
Startzeichen "*", eine Folge von Datenzeichen "ABC", ein
Stopzeichen "*" und eine hintere Ruhezone 14. Auch gezeigt
ist eine Darstellung von: einem schmalen schwarzen Element
16, einem breiten schwarzen Element 18, einem schmalem weißen
Element 20, einem breiten weißen Element 22 und einem
Zeichenspalt 24.
Unter Bezugnahme auf Fig. 3 ist eine diagrammartige Ansicht
eines Abtastersystems 50 gemäß der vorliegenden Erfindung
gezeigt, welches ein typisches Symbol 100 in Code 39 Format
abtastet. Das Abtastersystem 50 umfaßt einen Abtastkopf 51
und einen Dekoder 58. Der Abtastkopf 51 umfaßt eine
Lichtquelle 52 zum Erzeugen eines Lichtstrahls 60, wobei der
Lichtstrahl 60 in Richtung auf das Symbol 100 hin gerichtet
wird, einen Sensor 54 zum Erfassen des Lichtbetrags, der von
dem Symbol 100 reflektiert wird, und einen A/D-Wandler 56 zum
Umwandeln des analogen Signals, welches von dem Sensor 54
erzeugt wird, in ein digitales Signal. Der Dekoder 58 tastet
die digitalisierten Bilddaten ab, die von dem Abtastkopf 51
bereitgestellt werden, wenn sich der Strahl 60 relativ zu dem
Symbol 100 bewegt, wobei jedes Element des Symbols 100
angetroffen wird. Der Dekoder 58 umfaßt einen Zähler 64 zur
Führung (einer Zählung oder eines Zählwerts), der Anzahl von
Abtastungen für jedes Element in dem Symbol 100, einen
Schwellwertgenerator 56 und eine Dekodierungslogik 68. Da die
Abtastungen bei einer bestimmten Rate auftreten, stellt der
Abtastzählwert eine Anzeige über den Zeitbetrag bereit, über
den die Lichtquelle 52 jedes Element beleuchtet. Unter
Verwendung dieser Abtastzählwerte entschlüsselt der Dekoder
58 die Elemente des Symbols 100 in ihre entsprechenden
binären Darstellungen und entschlüsselt die binären
Darstellungen dann weiter in entsprechende Zeichen.
Unter Bezugnahme auf die Fig. 4 und 5A implementiert das
Abtastersystem 50 Prozeduren START 600 und DECODE 700 gemäß
einer ersten Ausführungsform der Erfindung. Die Prozedur
START 600 wartet auf das erste Element eines Symbols und
stellt einen Anfangsschwellwert ein, mit dem nachfolgende
Elemente ausgewertet werden sollen. Dann wertet die Prozedur
DECODE 700 nachfolgende Elemente aus und dekodiert diese,
während Einstellungen an dem Anfangsschwellwert vorgenommen
werden.
Die Prozedur START 600 beginnt eine Dekodierung eines
Balkencodesymbols bei 602, indem eine Variable Cneu, die zum
Führen einer Zählung der Anzahl von Abtastungen pro Element
verwendet wird, gleich Null gesetzt wird. Bei 604 wird eine
Bestimmung durchgeführt, ob ein Abtastwert oder eine
Abtastung der Daten von dem Sensor 54 ein schwarzes Element
anzeigt. Wenn nicht, geht die Prozedur START 600 durch sich
selbst zurück und setzt eine Überprüfung nach einem schwarzen
Element fort. Wenn die Abtastdaten ein schwarzes Element in
der Tat anzeigen, dann wird bei 606 die Variable Cneu um eins
implementiert. Somit sollte ersichtlich sein, daß die
Prozedur START 600 nicht über 604 hinausgehen wird, bis das
erste Element eines Symbols, welches immer schwarz ist,
erfaßt wird. Bei 608 wird eine Bestimmung durchgeführt, ob
die Abtastdaten von dem Sensor 54 ein weißes Element
anzeigen. Wenn nicht, dann geht die Prozedur über eine
Schleife nach 606 zurück, wo Cneu wieder um eins
implementiert wird. Wenn jedoch die Abtastdaten ein weißes
Element anzeigen, dann schreitet die Prozedur nach 610 fort.
Es sollte ersichtlich sein, daß Cneu die Abtastzählung für
das erste Element hält. Bei 610 wird eine Bestimmung
dahingehend durchgeführt, ob Cneu innerhalb eines
vorgegebenen Bereichs von akzeptierbaren Werten liegt. Der
vorgegebene Bereich wird so eingerichtet, daß er fehlerhafte
Lesungen oder Bedingungen, die für ein genaues Lesen und
Dekodieren von Symbolen nicht günstig sind, heraussucht. Wenn
Cneu außerhalb des vorgegebenen Bereichs ist, dann geht die
Prozedur über eine Schleife nach 602 zurück, ohne das
gegenwärtige Symbol zu dekodieren, um auf den Beginn des
nächsten Symbols zu warten. Optional kann eine
Fehlernachricht oder eine andere Anzeige erzeugt werden, um
anzuzeigen, daß das gegenwärtige Symbol nicht dekodiert
worden ist. Wenn andererseits Cneu nicht außerhalb des
vorgegebenen Bereichs ist, dann wird bei 612 das erste
Element ohne irgendeine Auswertung durch Ausgeben einer "0"
dekodiert. Dies nutzt den Vorteil der Tatsache aus, daß das
erste Zeichen eines Code 39 Symbols immer das Startzeichen
"*" sein muß und sein erstes Element definitionsgemäß schmal
ist. Als nächstes wird bei 614 ein Schwellwert T gleich 1,5
mal Cneu eingestellt. Der Schwellwert T wird verwendet, um
die nachfolgenden Elemente zu dekodieren. Als nächstes wird
bei 616 eine Variable Calt gleich Cneu gesetzt. Die Variable
Calt wird verwendet, um nachfolgende Einstellungen für T
durchzuführen, so wie ein Lesen des Symbols fortschreitet.
Als nächstes schreitet die Prozedur START 600 bei 618 zur
Prozedur DECODE 700 fort, um nachfolgende Elemente zu
dekodieren.
Die Prozedur DECODE 700 beginnt bei 702, indem Cneu auf Null
gesetzt wird. Bei 704 wird eine Bestimmung dahingehend
durchgeführt, ob der Abtastdatenwert sich von einem Zustand
vom Anzeigen eines schwarzen Elements auf ein weißes Element
oder umgekehrt geändert hat. Wenn keine Änderung aufgetreten
ist, dann wird bei 706 Cneu um eins inkrementiert und die
Prozedur geht über eine Schleife nach 704 zurück. Wenn jedoch
eine Änderung aufgetreten ist, dann rückt die Prozedur nach
708 fort. Somit ist ersichtlich, daß Cneu die Abtastzählung
für die Elemente hält. Bei 708 wird eine Bestimmung
dahingehend durchgeführt, ob Cneu außerhalb eines
vorgegebenen Bereichs von akzeptablen Werten ist. Diese
Bestimmung wird analog zu der Funktion ausgeführt, die in der
Prozedur Start 600 bei 610 ausgeführt wird. Jedoch wird 708
auch zur Erkennung des Endes des Symbols dienen und eine
Steuerung an die Prozedur START 600 zurückführen. Wenn Cneu
außerhalb des vorgegebenen Bereichs ist, dann führt die
Prozedur eine Steuerung an die Prozedur START 600 zurück.
Optional kann eine Fehlermitteilung oder eine Symbol-Endanzeige
je nach Fall erzeugt werden. Wenn andererseits
Cneu nicht außerhalb des vorgegebenen Bereichs liegt, dann
wird bei 710 eine Bestimmung durchgeführt, ob Cneu größer als
der Schwellwert T ist. Wenn Cneu größer als T ist, dann wird
bei 712 das Element als ein breites Element dekodiert, indem
eine "1" vor einem Rücksprung nach 702 zur Verarbeitung des
nächsten Elements ausgegeben wird. Wenn jedoch Cneu nicht
größer als T ist, dann wird bei 714 das Element als ein
schmales Element durch Ausgeben einer "0" dekodiert. Somit
sollte ersichtlich sein, daß bei 614 T auf den Abtastzählwert
des ersten Elements, welches schmal war, mal einem
Dekodierungsfaktor, der 1,5 war, gesetzt wurde, um so
zwischen nachfolgenden schmalen und breiten Elementen
unterscheiden zu können. Weil breite Elemente zwei- oder
dreimal breiter als schmale Elemente sind, dient 1,5 als ein
geeigneter Dekodierungsfaktor. Als nächstes wird bei 716 T
eingestellt, um irgendwelche Veränderungen in der relativen
Geschwindigkeit zwischen dem Abtaster und dem Symbol zu
kompensieren. Hierbei wird T gleich 1,5 mal der Durchschnitt
der Abtastzählungen für die zwei jüngsten schmalen Elemente
eingestellt. Es sei darauf hingewiesen, daß Calt die
Abtastzählung des letzten schmalen Elements darstellt,
während Cneu die Abtastzählung des gegenwärtigen schmalen
Elements darstellt. Demzufolge können Calt und Cneu
zusammenaddiert werden, durch 2 geteilt und dann mit 1,5
multipliziert werden, um einen neuen Schwellwert T zur
Verwendung bei der Dekodierung des nächsten Elements zu
bilden. Durch erneutes Berechnen eines neuen Schwellwerts T
werden somit irgendwelche Änderungen in der relativen
Geschwindigkeit zwischen dem Lichtstrahl und dem Symbol
berücksichtigt. Dann wird bei 718 Calt gleich zu Cneu gesetzt,
bevor die Prozedur durch eine Schleife nach 702 zurückgeht,
um das nächste Element zu dekodieren. Die Prozedur DECODE 700
fährt in dieser Weise fort, bis das gesamte Symbol dekodiert
worden ist.
Somit sollte ersichtlich sein, daß der Schwellwert T
dynamisch eingestellt wird, um relative
Geschwindigkeitsveränderungen zu kompensieren. Zusätzlich
kompensiert der Anfangsschwellwert T, der von dem ersten
Element des Startzeichens "*" hergestellt wird, die Dichte,
mit der das Symbol gedruckt ist. Es ist wichtig darauf
hinzuweisen, daß in dieser Ausführungsform nur die schmalen
Elemente verwendet werden, um den Schwellwert T einzustellen.
Da das Verhältnis von breiten Elementen zu schmalen Elementen
nicht bekannt ist, ist es unmöglich, exakt die
Abtastzählungen eines breiten Elements mit einem schmalen
Element zu mitteln. Wenn beispielsweise bekannt wäre, daß die
breiten Elemente dreimal so breit wie die schmalen Elemente
sind, dann könnten die Abtastzählungen für ein breites
Element und ein schmales Element gemittelt werden. Eine
Vorgehensweise würde darin bestehen, die Abtastzählungen des
breiten Elements zu der Abtastzählung des schmalen Elements
zu addieren und dann die Summe durch vier zu teilen. Eine
andere Vorgehensweise würde darin bestehen, die Abtastzählung
des breiten Elements durch drei zu teilen und dann dieses
Ergebnis zu der Abtastzählung des schmalen Elements zu
addieren, bevor durch zwei geteilt wird. Jedoch ist es auch
möglich, daß die breiten Elemente nur zweimal so breit wie
die schmalen Elemente sind. In diesem Fall können die
Abtastzählungen für ein breites Element und ein schmales
Element nicht zusammen unter Verwendung der Techniken für ein
Breitenverhältnis von drei gemittelt werden. Die Techniken
müßten modifiziert werden, um das unterschiedliche
Breitenverhältnis zu berücksichtigen. Außer wenn das exakte
Verhältnis bekannt ist, kann somit die Abtastzählung eines
schmalen Elements nicht mit denjenigen eines breiten Elements
gemittelt werden. Da glücklicherweise nur drei der neun
Elemente breit sind, gibt es viele schmale Elemente, um den
Schwellwert T einzustellen. Die Verwendung nur der schmalen
Elemente bewirkt in den meisten Fällen keine
Dekodierungsschwierigkeiten wegen: (1) den praktischen
Begrenzungen einer Beschleunigung und Verzögerung des
Abtastens des Balkencode-Symbols, (2) den kleinen schmalen
linearen Abständen von Element zu Element, und (3) der in den
Dekodierungsfaktor eingebaute Toleranz.
Gemäß einer zweiten Ausführungsform der Erfindung wird der
Algorithmus der Prozedur DECODE 700 geändert, um so einen
"gewichteten" Durchschnitt der Abtastzählungen er letzten
zwei schmalen Elemente zu entwickeln. In dieser
Ausführungsform würde bei 718 Calt gleich zu der Summe aus
Calt und Cneu geteilt durch zwei eingestellt werden. Somit
würde die zweite Ausführungsform nicht so schnell wie die
erste Ausführungsform auf Geschwindigkeitsveränderungen
ansprechen. Jedoch würde die zweite Ausführungsform gegenüber
einzelnen Abtastzählungen weniger empfindlich sein. Wenn
deshalb eine Abtastzählung durch eine schlechte Druckqualität
oder wegen anderer Gründe ungeeignet beeinflußt worden ist,
dann kann die zweite Ausführungsform durch diese falsche
Abtastzählung nicht übermäßig beeinflußt werden.
Gemäß einer dritten Ausführungsform der Erfindung wird der
Algorithmus der Prozedur DECODE 700 modifiziert, um so eine
prozentuale Änderung in den Abtastzählungen der letzten zwei
schmalen Elemente zu entwickeln. Dann wird diese gleiche
prozentuale Änderung auf den Schwellwert angewendet, um einen
neuen Schwellwert zu entwickeln. In dieser Ausführungsform
wird bei 716 T gleich T mal dem Verhältnis von Cneu geteilt
durch Calt eingestellt werden. Wenn somit Cneu 10% kleiner als
Calt sein würde, dann würde auch T auf 10% eingestellt
werden.
Gemäß einer vierten Ausführungsform der Erfindung wird der
Algorithmus der Prozedur DECODE 700 verändert, so daß die
Abtastzählung für jedes Zeichen mit der Abtastzählung für das
letzte Zeichen verglichen wird, um eine Einstellung für den
Schwellwert T zu entwickeln. Da jedes Zeichen exakt sechs
schmale Elemente und drei breite Elemente aufweist, besitzt
jedes Zeichen in irgendeinem gegebenen Symbol exakt die
gleiche Länge, und zwar unabhängig von der verwendeten Dichte
oder dem verwendeten Breitenverhältnis. Deshalb wird der
Anfangsschwellwert T eingestellt, indem er mit dem Verhältnis
der Gesamtabtastzählung für ein eben abgeschlossenes Zeichen
geteilt durch die Gesamtabtastzählung für das vorangehend
abgeschlossene Zeichen multipliziert wird. Somit ist der
Schwellwert T für jedes Element innerhalb eines Zeichens
konstant und stellt sich dann entsprechend für das erste
Element jedes nachfolgenden Zeichens ein. Denjenigen
Personen, die mit der Technik vertraut sind, ist
offensichtlich, daß diese Ausführungsform auf Änderungen in
der Geschwindigkeit signifikant langsamer anspricht, als
irgendeine der ersten, zweiten oder dritten
Ausführungsformen. Jedoch ist die vierte Ausführungsform am
tolerantesten gegenüber falschen Abtastzählungen für einzelne
Elemente. Bei Anwendungen, bei denen die Änderungen in der
Geschwindigkeit gering und ausgewogen sind, würde diese
Ausführungsform wahrscheinlich zufriedenstellend arbeiten.
Gemäß einer fünften Ausführungsform der vorliegenden
Erfindung werden auch die breiten Elemente zum Einstellen des
Schwellwerts T verwendet, obwohl das Verhältnis der Breiten
nicht bekannt ist. Die fünfte Ausführungsform ist dafür
ausgelegt, um in Anwendungen zu arbeiten, bei denen die
Geschwindigkeitsänderungen groß sind. Insbesondere ist sie so
ausgelegt, daß sie einen schlechtestmöglichen Fall (Worst-Case-Fall)
von Datenzeichen "QW", die bei einer Anwendung
einer hohen Beschleunigung oder Verzögerung auftreten,
aufnimmt, um einen Dekodierfehler zu verhindern. Unter
Bezugnahme auf Fig. 1 ist ersichtlich, daß ein Zeichen "Q"
mit drei aufeinander folgenden breiten Elementen endet,
während ein Zeichen "W" mit drei aufeinander folgenden
breiten Elementen beginnt. Wenn somit ein Zeichen "W" einem
Zeichen "Q" folgt, dann wird somit eine Situation erzeugt,
bei der insgesamt sechs aufeinander folgende breite Elemente
ohne irgendwelche dazwischen liegenden schmalen Elemente
vorhanden sind. Wie voranstehend diskutiert wird die erste
Ausführungsform, wenn sie dieser Situation gegenübergestellt
wird, den Schwellwert T über den Verlauf dieser sechs breiten
Elemente nicht einstellen. Bei Anwendungen, die keine hohen
Beschleunigungen oder Verzögerungen erfahren, wird diese
Situation wahrscheinlich keine Dekodierfehler erzeugen.
Jedoch wird bei Anwendungen mit hoher Beschleunigung oder
Verzögerung die Änderung in der Geschwindigkeit zwischen dem
ersten breiten Element und dem letzten breiten Element in der
Folge von sechs breiten Elementen so groß, daß ein
Dekodierfehler verursacht wird, wenn der Schwellwert T nicht
eingestellt werden würde. Die fünfte Ausführungsform
adressiert dieses potentielle Problem.
Unter Bezugnahme auf Fig. 5B ist die Prozedur DECODE 750 der
fünften Ausführungsform gezeigt, die aus der Prozedur DECODE
700 der ersten Ausführungsform adaptiert ist. In der fünften
Ausführungsform wird der Schwellwert T für jedes schmale
Element ähnlich wie bei der ersten Ausführungsform
eingestellt. Jedoch wird der Schwellwert T auch eingestellt,
wenn breite Elemente benachbart zu einander angetroffen
werden. Die Prozedur DECODE 750 beginnt bei 751 durch
Einstellen von W und Walt auf Null. Die Variable W verfolgt,
ob das letzte dekodierte Element breit oder schmal war,
während Walt eine Zählung der Anzahl von Abtastungen für das
letzte breite Element führt. Bei 752 wird Cneu auf Null
gesetzt. Bei 754 wird eine Bestimmung dahingehend
durchgeführt, ob die Abtastdaten sich von einem Zustand von
einem Anzeigen eines schwarzen Elements auf ein weißes
Element oder umgekehrt geändert haben. Wenn keine Änderung
aufgetreten ist, dann wird bei 756 Cneu um eins inkrementiert
und die Prozedur geht über eine Schleife nach 754 zurück.
Wenn jedoch eine Änderung aufgetreten ist, dann schreitet die
Prozedur nach 758 fort. Bei 758 wird eine Bestimmung
dahingehend durchgeführt, ob Cneu außerhalb eines
vorgegebenen Bereichs von akzeptierbaren Werten liegt. Wenn
Cneu außerhalb des vorgegebenen Bereichs liegt, dann übergibt
die Prozedur eine Steuerung an die Prozedur START 600 zurück.
Wenn andererseits Cneu nicht außerhalb des vorgegebenen
Bereichs liegt, dann wird bei 760 eine Bestimmung
durchgeführt, ob Cneu größer als ein Schwellwert T ist. Wenn
Cneu nicht größer als T ist, dann wird bei 762 das Element
als ein schmales Element dekodiert, indem eine "0" ausgegeben
wird. Als nächstes wird bei 764 T eingestellt, um Änderungen
in der relativen Geschwindigkeit zwischen dem Abtaster und
dem Symbol zu kompensieren. Hierbei wird T gleich 1,5 mal dem
Durchschnitt von Calt und Cneu gesetzt. Dann wird bei 766 Calt
gleich zu Cneu gesetzt, W wird gleich Null gesetzt und Walt
wird auf Null gesetzt, bevor die Prozedur über eine Schleife
nach 752 zurückgeht, um das nächste Element zu dekodieren.
Wenn jedoch bei 760 Cneu größer als T ist, dann wird bei 768
das Element als ein breites Element dekodiert, indem eine "1"
ausgegeben wird. Als nächstes wird bei 770 eine Bestimmung
dahingehend durchgeführt, ob W gleich eins ist. Wenn W nicht
gleich eins ist, dann wird bei 772 W auf eins gesetzt und
Walt wird gleich zu Cneu gesetzt, bevor die Prozedur durch
eine Schleife nach 752 zurückkehrt. In dieser Weise wird
keine Einstellung für den Schwellwert T durchgeführt, wenn
ein erstes breites Element angetroffen wird. Wenn jedoch bei
770 W gleich eins ist, dann wird bei 774 der Schwellwert T
gleich T mal Cneu geteilt durch Walt gesetzt. In dieser Weise
werden benachbarte breite Elemente benötigt, bevor eine
Einstellung für den Schwellwert T durchgeführt wird. Der
Block 766 stellt dies sicher, indem W und Walt gleich Null
gesetzt werden, jedesmal wenn ein schmales Element
angetroffen wird. Somit wird der Schwellwert T durch die
prozentuale Änderung von Abtastzählungen für benachbarte
breite Elemente eingestellt. Da die prozentuale Änderung in
den Abtastzählungen verwendet wird, muß das Breitenverhältnis
nicht bekannt sein. Deshalb ist diese Ausführungsform
unabhängig von dem Breitenverhältnis. Als nächstes wird bei
776 Calt, der die Abtastzählung für das letzte schmale
Element darstellt, in der gleichen Weise wie der Schwellwert
T eingestellt, indem Calt gleich zu Calt mal Cneu geteilt
durch Walt gesetzt wird. Wenn eine Abtastzählung für das
nächste schmale Element erhalten wird, kann es somit mit
einem eingestellten Wert der Abtastzählung für das letzte
schmale Element gemittelt werden. Somit wird bei 778 Walt
gleich zu Cneu gesetzt, bevor die Prozedur durch eine
Schleife nach 752 zurückkehrt.
Es sollte nunmehr ersichtlich sein, daß zahlreiche
unterschiedliche Algorithmen abgeleitet werden können, die
den Schwellwert einstellen, wenn das Balkencode-Symbol
abgetastet wird. Der gewählte exakte Algorithmus ist
Gegenstand der Entwurfswahl in Abhängigkeit von den
Erfordernissen einer bestimmten Anwendung und der Einfachheit
einer Implementierung. Deshalb sind die voranstehend
beschriebenen Ausführungsformen lediglich illustrativ und es
ist nicht beabsichtigt, eine ausführliche Beschreibung aller
möglichen Algorithmen bereitzustellen.
Es sollte nunmehr auch offensichtlich sein, daß die
voranstehend beschriebenen Ausführungsformen auf diejenigen
Anwendungen angepaßt sind, bei denen das Breitenverhältnis
unbekannt oder ohne eine vorherige Unterrichtung Gegenstand
einer Veränderung ist. Wenn jedoch das Breitenverhältnis
bekannt und konstant von Symbol zu Symbol ist, dann können
diejenigen Personen, die mit der Technik vertraut sind, die
obigen Ausführungsformen mit nur einer geringen
mathematischen Manipulation anpassen, so daß sie diesen
Anwendungen besser angepaßt sind.
Unter Bezugnahme auf Fig. 6 ist eine Tabelle 200 gezeigt, die
ein Beispiel der Ausführungsformen der vorliegenden Erfindung
unter Verwendung des Abtastersystems 50 der Fig. 3 zum
Dekodieren eines Symbols 100 enthält. Unter Bezugnahme auf
die Fig. 3 und 6 nimmt dieses Beispiel die folgenden
Betriebsbedingungen an: eine Abtastrate für das
Abtastersystem 50 von 0,000002 Sekunden pro Abtastung, eine
Breite für die schmalen Elemente von 0,010 Inch, eine Breite
für die breiten Elemente von 0,025 Inch, eine
Anfangsrelativgeschwindigkeit oder Abtastgeschwindigkeit von
15,0 Inch pro Sekunde und eine Beschleunigung von 4000,0 Inch
pro Sekunde. Zur einfacheren Darstellung sind in dem Symbol
100 nur das Startzeichen "*", ein erstes Datenzeichen "T" und
geeignete Zwischenzeichenabstände dargestellt. Direkt über
jedem Element des Symbols 100 ist die Nummer des Elements in
der Reihenfolge einer Abtastung angegeben. Die Tabelle 200
enthält die ungefähre Abtastgeschwindigkeit und den
Abtastzählwert (d. h. die Abtastzählung) für jedes Element. In
der Tabelle 200 sind auch für jedes Element die Schwellwerte
gezeigt, die von den verschiedenen voranstehend diskutierten
Ausführungsformen erhalten werden und dann verwendet werden,
um die entsprechenden dekodierten Ausgabewerte zu erhalten.
Zusätzlich ist für Vergleichszwecke ein Fall, bei dem ein
Schwellwert nicht dynamisch eingestellt wird, gezeigt.
Der Fall ohne Einstellung, die erste, zweite, dritte, vierte
und fünfte Ausführungsformen verhalten sich alle ähnlich
bezüglich der Dekodierung der ersten zwei Elemente des
Symbols 100. Ein Schwellwert wird nicht verwendet, um das
erste Element des Startzeichens "*" zu dekodieren, da es
bekannt ist, daß dieses Element schmal oder "0" sein muß.
Jedoch wird die Abtastzählung für das erste Element
verwendet, um einen Schwellwert zur Verwendung bei der
Dekodierung des zweiten Elements herzustellen. Da die
Abtastzählung für das erste Element 333 ist, wird der
Schwellwert für das zweite Element gleich 500 (1,5 mal die
Abtastzählung für das erste Element) eingestellt. Da die
Abtastzählung für das zweite Element 707 ist, was größer als
der Schwellwert ist, wird das zweite Element als breit oder
"1" dekodiert. Von diesem Punkt an folgen der Fall ohne
Einstellung, die erste, zweite, dritte, vierte und fünfte
Ausführungsform ihren jeweiligen Algorithmen oder Schemata
zum Dekodieren der übrigen Elemente. Die Ergebnisse, die von
jedem Fall erhalten werden, sind in der Tabelle
bereitgestellt. Irgendwelche Dekodierungsfehler sind mit
einem Sternchen neben dem dekodierten Ausgabewert angezeigt.
Viele Merkmale der vorliegenden Ausführungsformen stellen
Entwurfsauswahlen dar, die zur besten Ausnutzung des
erfindungsgemäßen Konzepts gewählt sind, wie es in einer
Anwendung implementiert ist, bei der das Breitenverhältnis
nicht bekannt oder einer Gegenstand einer Änderung ist und
die relative Geschwindigkeit nicht konstant ist. Ein Beispiel
dieser Art von Anwendung ist in einem Einfügersystem, bei dem
die Symbole nahe zu der führenden Kante eines Blatts
aufgedruckt sind und das Abtastersystem betriebsmäßig mit
einer stromaufwärts angeordneten Blattzuführungsvorrichtung
gekoppelt ist. Ein Beispiel eines Einfügersystems, bei dem
die vorliegende Erfindung verwendet werden kann, ist in dem
United States Patent Nr. 5.008,520 offenbart, welches den
Titel VERFAHREN UND VORRICHTUNG ZUM LESEN EINES BALKENCODES
AUF EINEM SICH BEWEGENDEN BLATT trägt, am 16. April 1991
ausgegeben wurde, dem Anmelder der vorliegenden Erfindung
übertragen wurde und insbesondere hierdurch Bezugnahme mit
eingeschlossen ist. Die vorliegende Erfindung verbessert
derartige Einfügersysteme, indem ein Abtasten der Symbole
zugelassen wird, bevor das Blatt eine konstante
Geschwindigkeit erreicht hat. Dies weist den praktischen
Vorteil auf, daß ein Aufdrucken des Balkencode-Symbols nahe
zu der führenden Kante eines Blatts zugelassen wird und daß
der Balkencode-Abtaster fast sofort ein Lesen des Symbols
beginnen kann. Diejenigen Personen, die mit der Technik
vertraut sind, werden sicherlich andere Anwendungen für die
vorliegende Erfindung finden.
Es ist wichtig, darauf hinzuweisen, daß die vorliegende
Erfindung unabhängig von der Tatsache ist, ob: (1) sich das
Symbol an einem festen Strahl vorbei bewegt, (2) das Symbol
stationär ist, während es von einem sich bewegenden Strahl
abgetastet wird, oder (3) das Symbol sich bewegt und von
einem sich bewegenden Strahl abgetastet wird. Die vorliegende
Erfindung ist insbesondere geeignet, um eine Anpassung auf
irgendwelche Änderungen in der relativen Geschwindigkeit
zwischen dem Symbol und dem Strahl oder der Lichtquelle
vorzunehmen.
Es ist auch wichtig, darauf hinzuweisen, daß die Komponenten
des Abtaster-Systems nicht notwendigerweise innerhalb des
gleichen Gehäuses oder innerhalb der gleichen Einrichtung
angeordnet werden müssen. Die vorliegende Erfindung hängt
nicht von dem Typ, der Auswahl oder der Anordnung der
Komponenten des Abtaster-Systems 50 ab.
Da die ersten neun Elemente des Startzeichens bekannt sind,
ist denjenigen Personen, die mit der Technik vertraut sind,
offensichtlich, daß keine bestimmte Notwendigkeit besteht,
sogar einen Schwellwert zu verwenden, um irgendeines der
ersten neun Elemente in einem Code 39 Symbol zu dekodieren.
Deshalb ist es möglich, bis zu dem neunten Element des
Startzeichens zu warten, welches wie das erste Element schmal
ist, um einen Schwellwert für das erste Element des nächsten
Zeichens zu bilden. Genauso könnte ein dazwischenliegendes
schmales Element in dem Startzeichen verwendet werden.
Denjenigen Personen, die mit der Technik vertraut sind, ist
auch offensichtlich, daß das Symbol in einen Puffer "gelesen"
und dann nachher dekodiert werden kann. Somit muß das
bekannte Zeichen nicht das erste gelesene Zeichen sein,
sondern ist typischerweise das erste verarbeitete Zeichen.
Ferner ist die vorliegende Erfindung nicht auf die Verwendung
nur mit Code 39 Symbolen beschränkt. Andererseits kann die
vorliegende Erfindung bei jeder Anwendung, bei der ein
Element oder ein Symbol bekannte Charakteristiken aufweist,
verwendet werden. Ein derartiger Fall ist beispielsweise bei
Anwendungen, bei denen Startzeichen verwendet werden, und
zwar unabhängig von dem Typ der gewählten Balkencode-Definition.
Noch andere Modifikationen werden wahrscheinlich für
diejenigen Personen, die mit der Technik vertraut sind,
offensichtlich sein. Deshalb ist die Erfindung in ihren
breiteren Aspekten nicht auf die spezifischen Details der
vorliegenden Ausführungsformen beschränkt. Dementsprechend
können verschiedene Modifikationen durchgeführt werden, ohne
von dem Grundgedanken des allgemeinen erfinderischen Konzepts
abzuweichen, so wie dies mit den beigefügten Ansprüchen und
deren Äquivalenten definiert ist.
Claims (16)
1. Verfahren zum dynamischen Herstellen von Schwellwerten
(T) zur Verwendung bei der Dekodierung eines Balkencode-Symbols
(12, 14, 16, 18, 20, 22, 24, 10; 100) mit einer
Vielzahl von Zeichen (* A, B, C, *), wobei jedes Zeichen
eine Vielzahl von Elementen umfaßt, wobei die Vielzahl
von Zeichen ein erstes Zeichen umfassen und das
Verfahren die folgenden Schritte umfaßt:
- (a) Führen einer ersten Anzeige (Cneu, Calt ) eines Zeitbetrags, über den eine Lichtquelle (52) von einem Abtastersystem (50) ein gewähltes Element des ersten Zeichens beleuchtet;
- (b) Herstellen eines ersten Schwellwerts (T) auf Grundlage der ersten Anzeige (Cneu, Calt ) zur Verwendung bei einer Dekodierung eines zweiten Elements.
2. Verfahren nach Anspruch 1, ferner gekennzeichnet durch
die folgenden Schritte:
- (c) Führen einer zweiten Anzeige (Cneu, Calt , Walt) über einen Zeitbetrag, über den die Lichtquelle (52) von dem Abtastersystem (50) das zweite Element beleuchtet;
- (d) Verwenden der zweiten Anzeige (Cneu, Calt, Walt) zur Herstellung eines zweiten Schwellwerts (CT) zur Verwendung bei der Dekodierung eines dritten Elements.
3. Verfahren nach Anspruch 2, ferner umfassend die
folgenden Schritte:
- (e) Führen einer dritten Anzeige (Cneu, Calt, Walt) über einen Zeitbetrag, über den die Lichtquelle (52) von dem Abtastersystem (50) das dritte Element beleuchtet; und danach
- (d) Verwenden des zweiten Schwellwerts (T) zur Dekodierung eines vierten Elements.
4. Verfahren nach Anspruch 3, dadurch gekennzeichnet, daß
die Vielzahl von Elementen Elemente (16, 20) vom
schmalen Typ und Elemente (18, 22) vom breiten Typ
umfassen, und wobei das gewählte Element und das zweite
Element beide vom schmalen Typ und das dritte und vierte
Element beide vom breiten Typ sind.
5. Verfahren nach Anspruch 3, ferner umfassend die
folgenden Schritte:
- (f) Führen einer vierten Anzeige über den Zeitbetrag, über den die Lichtquelle (52) von dem Abtastersystem (50) das vierte Element beleuchtet; und danach
- (g) Verwenden der dritten Anzeige und der vierten Anzeige zum Einstellen des zweiten Schwellwerts (T) zur Herstellung eines dritten Schwellwerts (T) zur Verwendung bei der Dekodierung eines fünften Elements.
6. Verfahren nach Anspruch 5, dadurch gekennzeichnet, daß
die Vielzahl von Elementen Elemente (16, 20) vom
schmalen Typ und Elemente (18, 22) vom breiten Typ
umfassen, und daß das gewählte Element und das zweite
Element beide vom schmalen Typ und das dritte und vierte
Element beide vom breiten Typ sind.
7. Verfahren nach Anspruch 2, dadurch gekennzeichnet, daß
- - der erste Schwellwert (T)gleich einem Dekodierfaktor mal der ersten Anzeige ist;
- - der zweite Schwellwert (T) gleich zu dem Durchschnitt der ersten Anzeige und der zweiten Anzeige mal dem Dekodierungsfaktor ist.
8. Verfahren nach Anspruch 6, dadurch gekennzeichnet, daß
- - der erste Schwellwert (T) gleich einem Dekodierfaktor mal der ersten Anzeige ist;
- - der zweite Schwellwert (T) gleich dem Durchschnitt der Anzeige des ersten Elements und der zweiten Anzeige mal dem Dekodierungsfaktor ist; und
- - der dritte Schwellwert (T) gleich zu dem Verhältnis der vierten Anzeige über der dritten Anzeige mal dem zweiten Schwellwert (T) ist.
9. Verfahren nach Anspruch 1, ferner umfassend die
folgenden Schritte:
- (c) Führen einer zweiten Anzeige (Cneu, Calt , Walt) über den Zeitbetrag, über den die Quelle (52) von dem Abtastersystem (50) einen ersten Abschnitt (12, 16, 18, *) des Symbols beleuchtet;
- (d) Führen einer dritten Anzeige über den Zeitbetrag, über den die Lichtquelle (52) von dem Abtastersystem (50) einen zweiten Abschnitt (18) des Symbols beleuchtet; und
- (e) Verwenden der zweiten Anzeige und der dritten Anzeige zum Einstellen des ersten Schwellwerts (T) zur Herstellung eines zweiten Schwellwerts (T) zur Verwendung bei der Dekodierung eines dritten Elements.
10. Verfahren nach Anspruch 9, dadurch gekennzeichnet, daß:
- - der erste Schwellwert (T) gleich einem Dekodierungsfaktor mal der ersten Anzeige ist;
- - der zweite Schwellwert (T) gleich dem Verhältnis der dritten Anzeige über der zweiten Anzeige mal dem ersten Schwellwert ist.
11. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß
die Vielzahl von Elementen Elemente (16, 20) vom
schmalen Typ und Elemente (18, 22) vom breiten Typ
umfassen und das gewählte Element (16, 20) von einem
schmalen Typ ist, und ferner umfassend die folgenden
Schritte:
- (c) Führen einer zweiten Anzeige über den Zeitbetrag, über den die Lichtquelle (52) von dem Abtastersystem das zweite Element beleuchtet;
- (d) wenn die zweite Anzeige kleiner als der erste Schwellwert (T) ist, Dekodieren des zweiten Elements (16, 20) als schmalen Typ;
- (e) wenn das zweite Element (16, 20) ein schmaler Typ ist, Verwenden der zweiten Anzeige zum Einstellen des ersten Schwellwerts (T), um einen zweiten Schwellwert (T) zur Verwendung bei der Dekodierung eines dritten Elements herzustellen.
12. Verfahren nach Anspruch 11, ferner umfassend die
folgenden Schritte:
- (f) wenn die zweite Anzeige größer als der erste Schwellwert (T) ist, Dekodieren des zweiten Elements (18, 22) als breiten Typ;
- (g) wenn das zweite Element (18, 22) von einem breiten Typ ist, Verwenden des ersten Schwellwerts (T) um ein drittes Element zu dekodieren.
13. Verfahren nach Anspruch 12, dadurch gekennzeichnet, daß
das zweite Element (16, 22) ein breiter Typ ist und
ferner umfassend die folgenden Schritte:
- (h) Führen einer dritten Anzeige über den Zeitbetrag, über den die Lichtquelle (52) von dem Abtastersystem (50) das dritte Element beleuchtet;
- (i) wenn die dritte Anzeige kleiner als der erste Schwellwert (T) ist, Dekodieren des zweiten Elements (16, 20) als schmalen Typ;
- (j) wenn das dritte Element (16, 20) ein schmaler Typ ist, Verwenden der dritten Anzeige zum Einstellen des ersten Schwellwerts (T), um einen zweiten Schwellwert (T) zur Verwendung bei der Dekodierung eines vierten Elements bereitzustellen;
- (k) wenn die erste Anzeige größer als der erste Schwellwert (T) ist, Dekodieren des dritten Elements (18, 22) als breiten Typ; und
- (l) wenn das dritte Element (18, 20) ein breiter Typ ist, Verwenden des Verhältnisses der dritten Anzeige über der zweiten Anzeige zum Einstellen des ersten Schwellwerts (T), um den zweiten Schwellwert (T) zur Verwendung bei der Dekodierung des vierten Elements bereitzustellen.
14. Verfahren zum dynamischen Herstellen von Schwellwerten
(T) zur Verwendung bei der Dekodierung eines Balkencode-Symbols
(10, 100, 12, 14, 16, 18, 20, 22, 24) mit einer
Vielzahl von Zeichen (* A, B, C, *), wobei jedes Zeichen
eine Vielzahl von Elementen (16, 18, 20, 22, 24) umfaßt,
die Vielzahl von Zeichen ein bekanntes Zeichen (*)
umfassen, wobei das Verfahren die folgenden Schritte
umfaßt:
- (a) Führen einer Anzeige über den Zeitbetrag, über den eine Lichtquelle (52) von einem Abtastersystem (50) ein gewähltes Element des bekannten Zeichens (*) beleuchtet; und
- (b) Herstellen eines Schwellwerts (T) auf Grundlage der Anzeige.
15. Verfahren nach Anspruch 14, dadurch gekennzeichnet, daß
die Vielzahl von Elementen Elemente (16, 22) eines
schmalen Typs umfaßt und ferner umfassend die folgenden
Schritte:
- (c) Führen einer nächsten Anzeige über einen Zeitbetrag, über den die Lichtquelle (52) von dem Abtastersystem (50) ein nächstes Element beleuchtet;
- (d) Dekodieren des nächsten Elements (16, 20) als schmalen Typ, wenn die nächste Anzeige geringer als der Schwellwert (T) ist;
- (e) wenn das nächste Element (16, 20) ein schmaler Typ ist, dann Verwenden der nächsten Anzeige zum Einstellen des Schwellwerts (T); und
- (f) Wiederholen der Schritte (c) bis (e) für nachfolgende Elemente (18, 20, 22, 24).
16. Verfahren nach Anspruch 15, dadurch gekennzeichnet, daß
die Vielzahl von Elementen (16, 20; 18, 22) Elemente
(16, 20) vom breiten Typ umfassen, und ferner umfassend
die folgenden Schritte:
- (g) Dekodieren des nächsten Elements (18, 20) als breiten Typ, wen die nächste Anzeige größer als der Schwellwert (T) ist; und
- (h) Verwenden von Anzeigen von einer Vielzahl von Elementen (18, 22) vom breiten Typ, um den Schwellwert (T) einzustellen.
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US08/537,967 US5708261A (en) | 1995-10-02 | 1995-10-02 | Bar code decoding with speed compensation |
| US08/537,967 | 1995-10-02 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| DE19640801A1 true DE19640801A1 (de) | 1997-04-24 |
| DE19640801B4 DE19640801B4 (de) | 2010-02-11 |
Family
ID=24144864
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| DE19640801A Expired - Fee Related DE19640801B4 (de) | 1995-10-02 | 1996-10-02 | Verfahren zum dynamischen Erstellen von Schwellwerten |
Country Status (3)
| Country | Link |
|---|---|
| US (1) | US5708261A (de) |
| DE (1) | DE19640801B4 (de) |
| GB (1) | GB2306033B (de) |
Families Citing this family (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5877481A (en) * | 1996-09-16 | 1999-03-02 | The Standard Register Company | Document dispenser with reading aperture formed in document guide |
| US6497366B1 (en) * | 1997-12-31 | 2002-12-24 | Ncr Corporation | Methods and apparatus for dual channel video recovery in bar code scanners |
| US6614916B2 (en) * | 2001-01-04 | 2003-09-02 | Bell & Howell Mail And Messaging Technologies Company | Machine vision system and triggering method |
| US6826445B2 (en) * | 2002-02-25 | 2004-11-30 | Pitney Bowes Inc. | Method and apparatus for inserting checks into a bank statement mail piece |
| US20040112963A1 (en) * | 2002-12-16 | 2004-06-17 | Ncr Corporation | Bar code scanner |
| US7311262B2 (en) * | 2004-08-09 | 2007-12-25 | Optoelectronics Co., Ltd. | Method of decoding a symbol with a low contrast |
| US9652653B2 (en) * | 2014-12-27 | 2017-05-16 | Hand Held Products, Inc. | Acceleration-based motion tolerance and predictive coding |
Family Cites Families (17)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CA955685A (en) * | 1971-07-01 | 1974-10-01 | Roland O. Barnes | Rate adaptive nonsynchronous demodulator apparatus for two level binary signals |
| BE791469A (fr) * | 1971-11-16 | 1973-03-16 | Monarch Marking Systems Inc | Enregistrement code et procede et systeme d'interpretation de cet enregistrement |
| SE356146B (de) * | 1972-01-27 | 1973-05-14 | Svenska Dataregister Ab | |
| SE356147B (de) * | 1972-01-27 | 1973-05-14 | Svenska Dataregister Ab | |
| DE2208309C3 (de) * | 1972-02-22 | 1975-09-18 | Nixdorf Computer Ag, 4790 Paderborn | Verfahren zur Auswertung von Informationen in Form gruppenweise zusammengefaßter Informationselemente aus einfarbig gedruckten Strichen, Anordnung zur Darstellung von Informationen zur Auswertung nach dem Verfahren und Schaltungsanordnung zur Durchführung des Verfahrens |
| US3906202A (en) * | 1974-03-01 | 1975-09-16 | Monarch Marking Systems Inc | Data retrieval and error detection method and apparatus designed for use in a width-modulated bar-code scanning apparatus |
| US4146046A (en) * | 1973-11-16 | 1979-03-27 | Monarch Marking Systems, Inc. | Coded record and methods of and apparatus for encoding and decoding records |
| US4414468A (en) * | 1981-05-18 | 1983-11-08 | International Business Machines Corporation | Systematic error correction in bar code scanner |
| US4438327A (en) * | 1982-04-21 | 1984-03-20 | Burr-Brown Research Corporation | Bar code reading system and method |
| US4567361A (en) * | 1983-05-23 | 1986-01-28 | Gca Corporation | Reticle bar code and method and apparatus for reading same |
| US4578570A (en) * | 1984-08-14 | 1986-03-25 | Ncr Canada Ltd.-Ncr Canada Ltee | Bar code processing apparatus |
| JPS61101880A (ja) * | 1984-10-24 | 1986-05-20 | Sato :Kk | バ−コ−ド読取方法および装置 |
| US5036183A (en) * | 1988-08-25 | 1991-07-30 | Alps Electric Co., Ltd. | Code reading device |
| US5008520A (en) * | 1988-11-10 | 1991-04-16 | John Georgiou | Method and apparatus for reading a bar code on a moving sheet |
| US5157243A (en) * | 1989-12-26 | 1992-10-20 | Pitney Bowes Inc. | High speed bar code scanning on inserters using pivotable moving beam bar codes scanners |
| US5241164A (en) * | 1990-01-05 | 1993-08-31 | Symbol Technologies, Inc. | Method of decoding bar code symbols from partial scans |
| US5369260A (en) * | 1993-04-08 | 1994-11-29 | Symbol Technologies, Inc. | Bar code scanning with correction for spot speed variation |
-
1995
- 1995-10-02 US US08/537,967 patent/US5708261A/en not_active Expired - Fee Related
-
1996
- 1996-09-25 GB GB9619988A patent/GB2306033B/en not_active Expired - Fee Related
- 1996-10-02 DE DE19640801A patent/DE19640801B4/de not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| GB2306033B (en) | 2000-06-07 |
| GB2306033A (en) | 1997-04-23 |
| US5708261A (en) | 1998-01-13 |
| GB9619988D0 (en) | 1996-11-13 |
| DE19640801B4 (de) | 2010-02-11 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| DE69221502T2 (de) | Vorrichtung zum generieren von etiketten | |
| DE4000603C5 (de) | Verfahren und Vorrichtung zur Zwischenspeicherung von Gegenständen, wie Briefen o.ä. in einem Lesesystem | |
| DE69330582T2 (de) | Aufzeichnung mit kodierten Daten | |
| DE69635512T2 (de) | Verfahren zum Lesen eines zweidimensionalen Strichcodes ohne Taktsignal | |
| DE2523112C2 (de) | Vorrichtung zum Bearbeitung von Daten tragenden Schriftstücken | |
| DE69225196T2 (de) | Kombination aus Scanner, Rechner und Drucker | |
| DE69207515T2 (de) | Sortiervorrichtung für Poststücke | |
| DE69228100T2 (de) | System zum automatischen Drucken von Poststücken | |
| DE69917217T2 (de) | Verfahren und system zum identifizieren eines oder mehrerer gegenstände | |
| DE69709165T2 (de) | Vorrichtung und verfahren zur dekodierung von streifencode-symbolen durch quotenanalyse der modulformate | |
| DE2212809B2 (de) | Codemarke und Einrichtung zu ihrer Abtastung | |
| DE1549673A1 (de) | Zeichenlese- und -uebertragungsvorrichtung | |
| DE19640801A1 (de) | Balkencodedekodierung mit Geschwindigkeitskompensation | |
| DE69029417T2 (de) | Erkennungssystem für Zeichen mit magnetischer Tinte | |
| DE69620068T2 (de) | Verfahren und Vorrichtung zur Vorbereitung von Poststücken | |
| DE69407369T2 (de) | Verfahren und Vorrichtung zur Vorbereitung von zu verschickenden Poststücken | |
| DE69029359T2 (de) | Verfahren und Gerät zur Umformattierung von Druckdaten | |
| DE68926379T2 (de) | Verfahren und Vorrichtung zum Abtasten von Strichkodes auf einem laufenden Blatt | |
| DE69731021T2 (de) | Verfahren und Vorrichtung zum Lesen von Zeichen aus magnetischer Tinte | |
| DE69811460T2 (de) | Druck und Endbearbeitung von Dokumenten | |
| WO1998058340A1 (de) | Verfahren und vorrichtung zum zusammenführen und verbinden von kunststoffkarten und bedruckten kartenträgern | |
| DE69017282T2 (de) | Verfahren zum Vorbereiten eines abzusendenden Poststückes und System zur Durchführung dieses Verfahrens. | |
| DE19708280C2 (de) | Lesevorrichtung für vollständige Anschriften | |
| EP1599343B1 (de) | Drucksystem sowie verfahren und computerprogrammprodukt mit druckdatenintegritäts überwachung | |
| DE60033432T2 (de) | AUTHENTIFIZIERUNGSSYSTEM FüR POSTSENDUNGEN |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 8125 | Change of the main classification |
Ipc: G06K 7/14 |
|
| 8110 | Request for examination paragraph 44 | ||
| 8363 | Opposition against the patent | ||
| R119 | Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee |
Effective date: 20110502 |
|
| R028 | Decision that opposition inadmissible now final |
Effective date: 20120929 |