DE19604767A1 - Verfahren und Vorrichtung zum Dekodieren von unaufgelösten, komplexen Strichkodesymbologieprofilen mit verschiedenen Breiten - Google Patents
Verfahren und Vorrichtung zum Dekodieren von unaufgelösten, komplexen Strichkodesymbologieprofilen mit verschiedenen BreitenInfo
- Publication number
- DE19604767A1 DE19604767A1 DE19604767A DE19604767A DE19604767A1 DE 19604767 A1 DE19604767 A1 DE 19604767A1 DE 19604767 A DE19604767 A DE 19604767A DE 19604767 A DE19604767 A DE 19604767A DE 19604767 A1 DE19604767 A1 DE 19604767A1
- Authority
- DE
- Germany
- Prior art keywords
- spaces
- shapes
- width
- wide
- resolved
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K7/00—Methods or arrangements for sensing record carriers, e.g. for reading patterns
- G06K7/10—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
- G06K7/14—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation using light without selection of wavelength, e.g. sensing reflected white light
- G06K7/1404—Methods for optical code recognition
- G06K7/146—Methods for optical code recognition the method including quality enhancement steps
- G06K7/1486—Setting the threshold-width for bar codes to be decoded
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K7/00—Methods or arrangements for sensing record carriers, e.g. for reading patterns
- G06K7/10—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
- G06K7/14—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation using light without selection of wavelength, e.g. sensing reflected white light
Description
Die vorliegende Erfindung bezieht sich auf eine Vorrichtung zum Dekodieren von
Profilen, die von maschinenlesbaren Symbolen erzeugt werden, und insbesondere auf Ver
fahren und eine Vorrichtung zum Dekodieren unaufgelöster Profile.
Strichkodesymbologien ("Strichkodes") werden weitverbreitet zur Datenaufnahme
verwendet. Die ersten entwickelten Strichkodes, wie etwa U.P.C., EAN, Code 39, Coda
bar, Inverleave 2 of 5 und Code 93 können als "lineare Symbologien" bezeichnet werden,
da Daten in einem vorgegebenen Symbol entlang einer Achse oder Richtung dekodiert
werden. Lineare Symbologien kodieren im allgemeinen Daten als parallele Anordnungen
von abwechselnden Streifen unterschiedlicher Breite mit niedriger Reflektivität, den so
genannten "Strichen", die von von solchen Strichen leeren Zwischenräumen getrennt wer
den, die eine höhere Reflektivität besitzen, den sogenannten "Leerräumen". Jedes eindeuti
ge Muster von Strichen und Leerräumen innerhalb einer vorgegebenen Breite definiert ein
bestimmtes Datenzeichen. Ein vorgegebenes lineares Symbol kodiert Datenzeichen entlang
seiner Länge in der Form verschiedener Gruppen von eindeutigen Strich- und Leerraummu
stern.
Einfachere lineare Symbologien, wie etwa der Code 39, verwenden zwei Element
breiten. Ein "Element" ist ein einziger Strich oder ein einziger Leerraum, und bei Zwei-
Breiten-Symbologien umfaßt jedes Zeichen in dem Symbol im allgemeinen eine Kombina
tion aus vier schmalen und breiten Elementen: einen Strich mit einfacher Breite, einen Leer
raum mit einfacher Breite, einen Strich mit doppelter Breite oder einen Leerraum mit doppel
ter Breite. Komplexere Symbologien verwenden eine größere Anzahl von Breiten für jedes
Element. Zum Beispiel verwendet die U.P.C.-Symbologie vier Breiten, wodurch eine Kom
bination von acht Elementen ermöglicht wird. Die Code-49-Symbologie verwendet sechs
Elementbreiten. Die PDF417-Symbologie verwendet Leerräume mit sechs möglichen Brei
ten und Striche mit acht möglichen Breiten, wobei jedes Symbolzeichen vier Striche und
vier Leerräume mit einer konstanten Länge von 17 mal der X-Dimension besitzt. Die "X-
Dimension" ist die nominale Breitendimension der schmalsten Striche und Leerräume in
eine Strichkodesymbologie. Die breiten Striche und Leerräume in der Symbologie basieren
auf ganzzahligen Vielfachen der X-Dimension. Zum Beispiel ist das größte Element in der
U.P.C.-Symbologie vier mal breiter als das schmalste Element, während in PDF417 der
breiteste Strich acht mal breiter als der schmalste Strich ist.
Derzeit verfügbare Strichkodeleser übertragen Licht auf einen Strichkode, das dann
auf einen Lichtsensor innerhalb des Lesers zurückreflektiert wird. Der Sensor erzeugt auf
der Basis des von dem Strichkode reflektierten Lichts ein Profil. Das Strichkode-"Profil"
ist im allgemeinen ein analoges Signal, das das modulierte, von den Leerräumen reflektierte
und von den Strichen in dem Strichkode absorbierte Licht darstellt und somit das Muster
der Striche und Leerräume in einem gegebenen Strichkode darstellt. In einem gegebenen
Profil entspricht ein Maximum im allgemeinen einem Leerraum (hohe Reflektivität), wäh
rend ein Minimum einem Strich entspricht (niedrige Reflektivität verglichen mit einem
Leerraum), und die Breite jedes Maximums oder Minimums zeigt im allgemeinen die Breite
des entsprechenden Strichs oder Leerraums an, dessen Reflektivität das Maximum bezie
hungsweise das Minimum erzeugt. Derzeit verfügbare Leser bestimmen die Kanten in dem
Profil, wobei sie typischerweise elektronische Schwellwert- oder andere Rechteckwellen-
Erzeugungsschaltkreise verwenden, die das Profil entweder in einen hohen oder einen
niedrigen Wert umwandeln. Der Leser dekodiert dann das "quadrierte" Signal auf der Basis
der Übergänge oder Kanten zwischen den hohen und niedrigen Werten.
Einige Strichkodeleser verwenden in der Hand zu haltende Stifte, die die Oberfläche
kontaktieren, auf der der Strichkode gedruckt ist. Solche Leser erzeugen oft Profile mit
einem scharfen Kontrast zwischen den Maxima und Minima, und somit sind die von dem
Profil dargestellten Leerräume und Striche leicht von den Schaltkreisen in dem Leser zu
detektieren. Jedoch erfordern stiftförmige Leser, daß der Stift die Oberfläche berührt, auf
der der Strichkode gedruckt ist, und sind somit in Situationen, in denen der Benutzer den
Strichkode physisch nicht berühren will oder kann, unpraktisch. Ein in der Hand gehaltener
Leser, der von dem Benutzer verlangt, daß er manuell jeden Strichkode berührt, ist zeitrau
bend und verringert die Produktivität.
Strichkodeleser des kontaktfreien Typs, wie etwa Laserscanner oder lineare Leser
mit ladungsgekoppelter Vorrichtung ("CCD") sind derzeit verfügbar. Leser des Lasers
cannertyps verwenden einen Abtaststrahl aus Laserlicht, der auf einen Strichkode auftrifft
und von diesem reflektiert wird. Ein Photodetektor empfängt das reflektierte Licht und
wandelt es in ein moduliertes elektrisches Signal um, das das Profil des Strichkodes umfaßt.
Bild- oder auf Sicht basierende Leser verwenden zweidimensionale Halbleiterfelder,
Vidikons oder andere, geeignete Licht empfangende Elemente, die ein Bild eines Strichko
des empfangen und, auf der Basis des davon reflektierten Lichts, das Bild verarbeiten, um
das Profil zu erzeugen.
Auf Grund optischer Systembeschränkungen, die Lesern des Laser- und Bildtyps
inhärent sind, besitzen diese Leser eine bestimmte Feldtiefe, innerhalb derer Strichkodes
gelesen werden können. Einige Leser des Laser- und Bildtyps verwenden Autofokussyste
me, um die Feldtiefe des Leser zu erhöhen. Jedoch sind auch Leser mit Autofokussystemen
durch die Feldtiefe des Autofokussystems eingeschränkt. Zusätzlich sind Autofokussysteme
teuer und langsam.
Wenn der Leser einen Strichkode außerhalb seiner Feldtiefe abtastet oder abbildet,
wird das resultierende Profil ein "Schließen" aufweisen. Positiver Tintenverlauf in einem
Strichkode oder übermäßiges Rauschen in einem Profil können ebenfalls ein Schließen
erzeugen. Schließen in einem Strichkodeprofil wird durch einige erkennbare Maxima und
Minima aber auch durch Wellen in der Mitte des Profils angezeigt. Schließen in einem
Strichkodeprofil zeigt im allgemeinen an, daß die breiten Element in dem Profil aufgelöst
werden, daß aber die schmalen Elemente nicht aufgelöst werden. Hinsichtlich der Leser
wird ein Leerraum oder Strich "aufgelöst", wenn der Leser in der Lage ist, ein Maximum
oder ein Minimum in dem Profil zu identifizieren, das dem vorgegebenen Leerraum oder
Strich entspricht. Einige Profile können schmale Elemente durch schmale Maxima, Minima
oder Wellen darstellen, die visuell erkennbar sind, aber die von den derzeitigen Lesern im
wesentlichen nicht detektierbar sind.
Derzeit verwendete Leser sind nicht in der Lage, Profile mit Schließen zu dekodie
ren. Diese Leser verwenden elektronische Schaltkreise wie etwa Schwellwertschaltkreise
oder andere Verfahren, um die Kanten des Strichkodeelemente zu finden, die in einem
Profil dargestellt sind. Um jedes Element in einem Strichkode zu dekodieren, lokalisieren
diese elektronischen Schaltkreise eine Kante eines Elements als einen Punkt, wo zum Bei
spiel die Reflektanz in dem Profil einen vorgegebenen Abstand von einem Maximum oder
einem Minimum erreicht. Derzeit verfügbare Leser können keine Profile dekodieren, wo
die schmalen Elemente nicht fokussiert sind oder im Profil verloren gehen (zum Beispiel
durch Profilschließen), da die schmalen Element keine deutlichen Maxima oder Minima
erzeugen und somit die elektronischen Schaltkreise nicht in der Lage sind, irgendwelche
Kanten in dem Profil zu lokalisieren, die diesen Elementen entsprechen würden. Da die
gegenwärtigen elektronischen Schaltkreise die schmalen Elemente in einem Profil nicht
lokalisieren können, wenn ein Schließen auftritt, können die Schaltkreise den Strichkode
nicht dekodieren.
Aufgrund der Mängel solcher Schaltkreise muß ein Benutzer eines in der Hand
gehaltenen, kontaktfreien Lesers ohne Autofokus den Abstand, mit dem der Benutzer den
Leser von dem Strichkode hält, solange einstellen, bis der Strichkode für den Leser in der
Feldtiefe liegt (also fokussiert ist). Sobald er fokussiert ist, kann der Schaltkreis den Strich
kode dekodieren. Wenn ein Benutzer versucht, Strichkodes in verschiedenen Abständen zu
lesen, muß der Benutzer den Leser dauernd bewegen, um einen vorgegebenen Strichkode
in den Brennpunkt des Lesers zu bewegen, um den Strichkode zu lesen. Folglich ist, auch
wenn kontaktfreie Leser die Notwendigkeit eines Kontaktierens der Oberfläche, auf der der
Strichkode gedruckt ist, eliminieren, das Lesen jedes Strichkodes immer noch zeitraubend,
da der Benutzer den Leser in eine bestimmte Brennpunktposition des Lesers bewegen muß.
Wenn der Leser in einer festen Position montiert ist (und keine Autofokusfähigkeiten be
sitzt) und die zu lesenden Strichkodes in verschiedenen Abständen an dem Leser vorbeige
hen, wenn zum Beispiel der Leser über einem Förderband montiert ist, auf dem Kisten
unterschiedlicher Höhe bewegt werden, damit Strichkodes auf den Oberseiten der Kisten
gelesen werden, werden nur die Strichkodes innerhalb der festen Feldtiefe des Lesers deko
diert.
Zusammengefaßt ist der Erfinder sich keiner Vorrichtung und keines Verfahrens
außer dem seinigen zum Dekodieren von verschiedenen Typen von Strichkodesymbologien
bewußt, wenn solche Profile ein Schließen zum Beispiel aufgrund von Symbolen, die au
ßerhalb der Feldtiefe des Leser gelesen werden, von von der Elektronik oder aufgedruckten
Mängeln erzeugtem Rauschen oder dann, wenn ein Leser versucht Symbole mit einer X-
Dimension kleiner als die, die der Leser lesen kann, zu lesen, aufweisen. Weiterhin ist sich
der Erfinder keiner Verfahren und Vorrichtungen zum Dekodieren komplexer Strichkode
symbologien, wie etwa des PDF417, bewußt.
Wie in den beigefügten Patentansprüchen definiert, stellt die vorliegende Erfindung
in einem allgemeinen Sinne ein Verfahren zum Dekodieren eines maschinenlesbaren Sym
bols dar, das kodierte Information darstellt. Das Symbol umfaßt eine Mehrzahl von ge
trennten, zweidimensionalen, geometrischen Formen, wobei die Formen und Leerräume
zwischen den Formen Größen mit wenigstens ersten, zweiten und dritten Breiten in einer
Richtung besitzen. Die zweiten und dritten Breiten sind größer als die erste Breite. Das
Verfahren umfaßt die Schritte des: (i) Empfangens von Licht, das von dem Symbol reflek
tiert wird, und des Erzeugens eines Ausgangssignals daraus, das die Reflektanz der Formen
und Leerräume, die das Symbol umfaßt, darstellt; (ii) Empfangens des Ausgangssignals und
Erzeugens eines breiten Merkmalsignals, das wenigstens einige der Formen und Leerräume
mit den zweiten und dritten Breiten auflöst, das aber nicht in der Lage ist, wenigstens eini
ge der Formen und Leerräume mit der ersten Breite aufzulösen; (iii) Empfangens des breiten
Merkmalsignals und Bestimmens, welche der Formen und Leerräume aufgelöst sind, indem
eine Mehrzahl von Bereichen in dem breiten Merkmalsignal, die den aufgelösten Formen
und Leerräumen entsprechen, identifiziert werden; (iv) Bestimmens der Größe jeder der
aufgelösten Formen und Leerräume; (v) Erzeugens einer verlorenen Elementmatrix in Ab
hängigkeit von dem breiten Merkmalssignal und der Größe der aufgelösten Formen und
Leerräume; und (vi) Bestimmens der in dem Symbol kodierten Information auf der Basis der
verlorenen Elementmatrix und der Größe der aufgelösten Formen.
Auf ähnliche Weise stellt die vorliegende eine Vorrichtung zum Dekodieren des
maschinenlesbaren Symbols zur Verfügung. Die Vorrichtung umfaßt einen Sensor, der
Licht empfangt, das von dem maschinenlesbaren Symbol reflektiert wird, und erzeugt ein
Ausgangssignal daraus, das die Reflektanz der Formen und Leerräume darstellt, die das
Symbol umfaßt. Ein Empfänger empfängt das Ausgangssignal und erzeugt ein großes
Formsignal, das wenigstens einige der Formen und Leerräume mit den zweiten und dritten
Breiten angibt, aber nicht in der Lage ist, ein Signal zu erzeugen, das wenigstens einige der
Formen und Leerräume mit der ersten Breite angibt. Ein Prozessor verarbeitet das große
Formsignal und erzeugt ein Signal, das die in dem Symbol enthaltene Information angibt.
Der Prozessor (i) bestimmt, welche der Formen und Leerräume aufgelöst werden, indem
eine Mehrzahl von Bereichen in dem großen Formsignal, die jeweils einer der aufgelösten
Formen und Leerräume entsprechen, identifiziert wird; (ii) bestimmt die Größe der aufgelö
sten Formen und Leerräume; (iii) erzeugt eine verlorene Elementmatrix in Abhängigkeit von
dem großen Formsignal und der Größe der aufgelösten Formen und Leerräume, und (iv)
erzeugt auf der Basis der verlorenen Elementmatrix und der Größe der aufgelösten Formen
ein Signal, das die in dem Symbol kodierte Information angibt.
Weitere Merkmale und damit verbundene Vorteile der vorliegenden Erfindung
werden aus dem Studium der nachfolgenden Beschreibung in Verbindung mit den beige
fügten Zeichnungen deutlich.
Fig. 1 zeigt ein Blockdiagramm eines Datensammlungs-Symbologielesers nach der
vorliegenden Erfindung, der ein Strichkodesymbol liest.
Fig. 2 zeigt das vergrößerte Strichkodesymbol der Fig. 1.
Fig. 3 ist ein Beispiel eines nicht aufgelösten Profils des Symbols der Fig. 2, das von
dem Leser der Fig. 1 erzeugt wird, der eine Blende von ungefähr 2,6 mal der X-Dimension
des Symbols besitzt.
Fig. 4 zeigt ein weiteres vergrößertes Strichkodesymbol.
Fig. 5 zeigt ein Beispiel eines unaufgelösten Profils des Symbols der Fig. 4, das von
dem Leser der Fig. 1 erzeugt wird, der eine Blende von ungefähr 2,6 mal der X-Dimension
des Symbols besitzt.
Fig. 6 ist ein vergrößertes PDF417-Symbol.
Fig. 7 ist ein Beispiel eines Profils der zweiten Reihe des Symbols der Fig. 6, das
von dem Leser der Fig. 1 erzeugt wird, der eine Blende von ungefähr 1,8 mal der X-Di
mension des Symbols besitzt.
Fig. 8 ist ein Beispiel eines Profils der zweiten Reihe des Symbols der Fig. 6, das
von dem Leser der Fig. 1 erzeugt wird, der eine Blende von ungefähr 2,0 mal der X-Di
mension des Symbols besitzt.
Fig. 9 ist ein Beispiel eines Profils der zweiten Reihe des Symbols der Fig. 6, das
von dem Leser der Fig. 1 erzeugt wird, der eine Blende von ungefähr 2,2 mal der X-Di
mension des Symbols besitzt.
Fig. 10 ist ein Beispiel eines Profils der zweiten Reihe des Symbols der Fig. 6, das
von dem Leser der Fig. 1 erzeugt wird, der eine Blende von ungefähr 2,4 mal der X-Di
mension des Symbols besitzt.
Fig. 11 ist ein Beispiel eines Profils der zweiten Reihe des Symbols der Fig. 6, das
von dem Leser der Fig. 1 erzeugt wird, der eine Blende von ungefähr 2,6 mal der X-Di
mension des Symbols besitzt.
Fig. 12 ist ein Beispiel eines Profils der zweiten Reihe des Symbols der Fig. 6, das
von dem Leser der Fig. 1 erzeugt wird, der eine Blende von ungefähr 2,8 mal der X-Di
mension des Symbols besitzt.
Fig. 13 ist ein Beispiel eines Profils der zweiten Reihe des Symbols der Fig. 6, das
von einem Bilddarsteller des Lesers der Fig. 1 erzeugt wird, der ungefähr 98 CCD-Bild
punkte besitzt, wobei in dem Profil die Abstände zwischen den Mittelpunkten der Maxima
und Minima in dem Profil und die Breiten der Maxima und Minima bezüglich dem Profil
angezeigt sind.
Die Fig. 14A, 14B und 14C sind Flußdiagramme, die zusammen ein erfindungsgemäßes
Verfahren zum Dekodieren unaufgelöster Profile zeigt, das von dem Leser der
Fig. 1 verwendet wird.
Fig. 15 zeigt eine Vergrößerung des Profils der Fig. 13 mit einigen Zwischen-
Schließungsschwellwerten und den gemessenen Breiten von aufgelösten Elementen bei
ausgewählten Zwischenschwellwerten, die bezüglich des Profils angezeigt sind.
Fig. 16 zeigt das Profil der Fig. 15, wobei die Größen der aufgelösten Elemente
bezüglich des Profils angezeigt sind.
Fig. 17 ist eine Tabelle, die ein Beispiel von Zwischenwerten zeigt, die während der
in dem Flußdiagramm der Fig. 14A, 14B und 14C gezeigten Schritte für das Verfahren
nach der vorliegenden Erfindung zum Dekodieren unaufgelöster Profile bestimmt werden.
Fig. 18 ist ein Beispiel eines Profils ähnlich dem Profil der Fig. 16, das aber von der
dritten Reihe der Symbole der Fig. 6 erzeugt wurde.
Fig. 19 ist ein Blockdiagramm, das einen alternativen Datensammlungs-Symbolo
gieleser zeigt, der die vorliegende Erfindung verwendet.
Wie in Fig. 1 gezeigt, umfaßt ein Datensammlungs-Symbologieleser 50 nach der
vorliegenden Erfindung eine Lichtquelle 52, die eine Datensammlung oder -symbol 53 (in
Fig. 2 genauer gezeigt) beleuchtet. Wie hierin verwendet, bezieht sich "Datensammlungs-
Symbologie" auf ein Symbol einer linearen, gestapelten, Flächen- oder anderen maschinen
lesbaren Symbologie. Eine "gestapelte" Symbologie, wie sie hierin verstanden wird, bezieht
sich auf jedwede Symbologie, wie etwa auf PDF417 und Code 49, die allgemeine mehrere
benachbarte Reihen von Symbolen verwendet, wobei jedes Reihe mehrere Zeichen besitzt,
die durch Gruppen von Strichen und Leerräume unterschiedlicher Breiten gebildet werden.
Eine Flächensymbologie, wie sie hierin verstanden wird, bezieht sich auf jedwede Symbolo
gie, wie etwa auf Data Matrix oder Code One, die eine Matrix von Datenzellen anstelle von
einer oder mehreren Reihen von Strichen und Leerräumen verwendet. Statt einer bestimm
ten Symbologie anzugehören, ist das Symbol 53 ein beispielhaftes Symbol, das ein theoreti
sches Muster mit 2-breiten Leerräumen zeigt, die von einer Vielzahl von Elementen ähnli
cher Größe umgeben sind, um die Auswirkungen solcher umgebender Elemente zu be
stimmen, wie hiernach detaillierter diskutiert wird.
Ein Sensor 54 in dem Leser 50 empfängt das von dem Symbol 53 reflektierte Licht
und wandelt das empfangene Licht in ein elektrisches Signal um. Zum Beispiel kann die
Lichtquelle 52 ein abrasternder Laser sein, während der Sensor 54 seinerseits ein Photode
tektor sein kann. Alternativ kann die Lichtquelle 52 eine LED, eine Blitzlampe, eine In
frarotlichtquelle oder ein anderes Licht emittierendes Element sein, während der Sensor 54
ein CCD, ein Halbleiterfeld, ein Vidikon oder eine andere Flächenabbildungsvorrichtung
sein kann, die in der Lage ist, das empfangene Licht in elektrische Signale umzuwandeln.
Ein Empfänger oder Wandler 56 empfängt das elektrische Signal von dem Sensor
54 und wandelt es in ein Signal um, das von einem programmierten Computer oder einem
Prozessor 60 zu verarbeiten ist. Typischerweise erzeugt der Sensor 54 ein analoges Signal,
das das modulierte Licht darstellt, das von den Elementen in dem Symbol 53 reflektiert
wird. Es ist wichtig, daß, wenn der Prozessor 60 ein digitaler Computer ist, der Wandler
56 das Profil aus einem von dem Sensor 54 erzeugten Analogsignal in einem mehrwertiges
digitales Signal umwandelt, das numerisch die verschiedenen Amplituden des Analogsignals
darstellt. Der Wandler 56 und/oder der Prozessor 60 sind mit einem Speicher 57 verbun
den, um das Profil in digitaler Form zu speichern.
Der Sensor erzeugt ein Profil, wie das in Fig. 3 gezeigte, das von dem von dem
Symbol 53 empfangenen, modulierten Licht und der Größe einer Blende 61, die sich vor
dem Lichtdetektor in dem Sensor befindet, abhängt. Die vertikale Skala in den meisten
Profilen ist in Prozent der Reflektanz von 0% bis 100%. Die horizontale Skala in den
meisten Profilen ist nicht absolut bekannt und ist in relativen Einheiten, wie etwa der Abstand
über das Symbol oder die Zeit. Wenn ein Profil dekodiert wird, ist es nicht notwendig, den
horizontalen Abstand in Maßeinheiten zu kennen, sondern die relative Breite oder Abstände
zwischen Elementen, die durch Maxima oder Minima in den Profilen dargestellt sind.
In den meisten Lesern muß die Blende 61 kleiner als die minimale Größe eines
Elements (also die X-Dimension) in einem Datensammlungssymbol sein, das von dem
Leser gelesen werden soll, damit ein Profil erzeugt wird, das in angemessener Weise alle
Elemente in dem Symbol auflöst. Fig. 3 zeigt jedoch ein Schließungsprofil, das von einer
Blende 61 erzeugt wird, die 1,8 mal die X-Dimension des Symbols 59 (also fast größer als
2X) ist. Die meisten Strichkodeleser verwenden eine kreisförmige Blende 61, deren Durch
messer ungefähr gleich 0,8X ist. Das Symbol 53, von dem das Profil der Fig. 3 erzeugt
wurde, ist ein Symbol mit kleinerem, positivem Tintenverlauf. Zusätzlich zu der großen
Blende 61 führt die schlechte Druckqualität weiter zu einem Schließen in den Profilen, wie
unten in größerem Detail erklärt wird. Weiterhin erzeugt auch ein Versuch einer Abbildung
eines Symbols unter Verwendung eines Abbildungsvorrichtung mit einer Auflösung, die
geringer als die X-Dimension eines Symbols ist, ebenfalls zu einem Schließen in den Profi
len.
Wie in Fig. 2 identifiziert, umfaßt die linke Seite des Symbols 53 einige 2-breite
Leerräume 70, die von einer Vielzahl ähnlich großer Elemente, wie etwa 1-breite Striche
62, 2-breite Striche 64, 3-breite Striche 66 und 4-breite Striche 68 umgeben sind. Die
rechte Seite des Symbols 53 zeigt 2-breite Leerräume 70, die von weiteren 2-breiten Leer
räumen, 3-breiten Leerräumen 71 und 4-breiten Leerräumen 73 getrennt sind. Die 2-breiten
Leerräume 70 sind von anderen Leerräumen durch 1-breite Striche 62 getrennt, die hierin
als "Singlets" bezeichnet werden. Die Breite der Elemente in dem Symbol 53 ist in Fig. 2
unter dem Symbol als eine Zahlenkette gezeigt.
Die 2-, 3- und 4-breiten Striche 64, 66 und 68 in Fig. 2 erzeugen Minima 74, 76
und 78, die jeweils in Fig. 3 gezeigt sind, die alle weniger als 30% Reflektanz besitzen.
Demgegenüber erzeugen die 2-, 3- und 4-breiten Leerräume 70, 71 und 73 in Fig. 2
Minima 80, 81 und 83, die jeweils in Fig. 3 gezeigt sind, die alle mehr als 60% Reflek
tanz besitzen. Der 1-breite Strich 62 jedoch erzeugt jedoch ein Minimum 72 mit einer Re
flektanz deutlich größer als 30%, während der 1-breite Leerraum 69 kein erkennbares
Maximum erzeugt, und somit sind die 1-breiten Elemente in dem Profil der Fig. 3 nicht
aufgelöst.
Zum Beispiel zeigt Fig. 3 zwei 1-breite Leerräume 69′ in dem Symbol 53, die von
1-breiten Strichen 62 eingeschlossen sind, die zusammen einen 2-breiten Leerraum 70′
trennen. Der 2-breite Leerraum 70′ erzeugt ein Maximum 80′ und die 1-breiten Striche 62,
die die 1-breiten Leerräume 69′ einschließen, erzeugen die flachen Minima 72′ in dem Profil
der Fig. 3. Die 1-breiten Leerräume 69′ erzeugen kein erkennbares Maximum.
Im allgemeinen sind die unaufgelösten, 1-breiten oder "schmalen" Elemente in
einem Schließungsprofil, wenn überhaupt, durch kleine Maxima, Minima, Umkehrpunkte
oder andere Wellen in der Mitte des Profils dargestellt. Umgekehrt sind die 2-breiten oder
größeren oder "breiten" Elemente durch hohe Maxima oder tiefe Minima dargestellt, die
sich bis nahe zur Spitze oder zum Boden des Profils erstrecken. Wie in Fig. 3 gezeigt,
gehen die höchsten Maxima zum Beispiel bis zu einer Reflektanz von 85%, und die tiefsten
Minima gehen bis zu etwa 5% Reflektanz, was den aufgelösten breiten Leerräumen bezie
hungsweise Strichen in dem Symbol 53 entspricht. Als Ergebnis weist, wenn zwei breite
Elemente, wie etwa zwei 2-breite Leerräume, von einem schmalen Element (z. B. einem 2-
breiten Strich 62) getrennt werden, das resultierende Schließungsprofil zwei hohe Maxima
auf, die in dem Profil nebeneinander zu liegen scheinen. Das schmale Element zeigt ein
ausreichend signifikantes Minimum, das von den meisten Lesern detektiert werden könnte,
da die benachbarten breiten Elemente eine hohe Reflektanzdifferenz relativ zum Kontrast
des schmalen Elements besitzen.
Auf ähnliche Weise zeigt, wenn ein breiter Leerraum von einem breiten Strich durch
zwei schmale Elemente (z. B. einen 1-breiten Strich und einen 1-breiten Leerraum) ge
trennt wird, das resultierende Schließungsprofil ein hohes Maximum und ein niedriges
Minimum auf, die in dem Profil einander gegenüber zu liegen scheinen. Zum Beispiel zeigt
der rechte Bereich des Symbols 53 einen 4-breiten Leerraum 73, der durch einen dazwi
schen liegenden, 1-breiten Strich 62 und einen 1-breiten Leerraum 69 von einem 2-breiten
Strich 64 getrennt wird. Der 4-breite Leerraum 73 und der 2-breite Strich 64 erzeugen das
Maximum 83 beziehungsweise das Minimum 74. Die schmalen Elemente erzeugen kein
erkennbares Maximum, da die benachbarten, breiten Elemente eine große Reflektanzdiffe
renz relativ zum Kontrast der schmalen Elemente besitzen. Folglich erzeugen die schmalen
Element kein ausreichend substantielles Bild, um in dem Profil ein signifikantes Maximum
oder Minimum zu erzeugen. Statt dessen erzeugen die schmalen Elemente ein Graubild, das
seinerseits Wellen in der Mitte des Profils erzeugt.
Das Symbol 53 der Fig. 2 zeigt 2-breite Leerräume 70, die von 4-breiten, 3-breiten,
2-breiten und 1-breiten Strichen 68, 66, 64 beziehungsweise 62 in der linken Hälfte des
Symbols umgeben sind, während die rechte Hälfte des Symbols 2-breite Leerräume zeigt,
die von 4-breiten, 3-breiten, 2-breiten und 1-breiten Leerräumen 73, 71, 70 beziehungs
weise 69 umgeben sind. Mit anderen Worten zeigt das Symbol 53 2-breite Leerräume 70,
die symmetrisch von Paaren ähnlich großer Elemente (z. B. symmetrischer Elementumge
bungen) umgeben sind. Im allgemeinen sind Elemente ähnlicher Größe hierin gleich nume
riert. Auf ähnliche Weise sind Maxima oder Minima in einem Profil, die von Elementen einer
gegeben Größe erzeugt werden, hierin gleich numeriert.
Das Profil der Fig. 3 und alle hierin beschriebenen Profile zeigen Abstände in belie
bigen Einheiten zwischen den Mitten der aufgelösten Elemente entlang der Spitze des Pro
fils. In der vorliegenden Erfindung können die verwendeten Einheiten ein Vielfaches der
von dem Prozessor 60 verwendeten Quantisierung sein. Alternativ können die Einheiten ein
Vielfaches der mit dem Prozessor verbundenen Taktrate sein, oder die Einheiten können
mit der Auflösung des Sensors 54 verbunden sein. Das Profil der Fig. 3 und anderer
Figuren hierin zeigen auch die Breiten der aufgelösten Elemente, wie etwa der von den 2-brei
ten Leerräumen 70 erzeugten Maxima 80, in beliebigen Einheiten, wie sie an einer oberen
Schließungsgrenze 90 gemessen werden. Die obere Schließungsgrenze 90 und eine untere
Schließungsgrenze 95 umschließen eine "Grauzone" oder Schließungsbereich 110 in der
Mitte des Profils. Der Schließungsbereich 110 enthält die unaufgelösten 1-Elemente in dem
dargestellten Symbol 53, wenn überhaupt, in Form von Wellen oder Umkehrpunkten in der
Mitte des Profils.
Es ist wichtig, daß die 2-breiten Leerräume 70, die von breiten Strichen umgeben
sind, wie links in dem Profil gezeigt, die gleiche Breite von 13 besitzen, so wie sie an der
oberen Schließungsgrenze 90 gemessen wird. Mit anderen Worten besitzt ein 2-breiter
Leerraum, der von einer beliebigen Kombination von 2-breiten bis n-breiten Strichen umge
ben wird, die gleiche Breite an der Schließungsgrenze 90 oder die gleiche "Schließungs
breite". Auf ähnliche Weise besitzen, wie rechts in dem Profil gezeigt, die 2-breiten Leer
räume 70 Maxima 80 mit den identischen Schließungsbreiten von 21, wenn sie von 3-brei
ten und 4-breiten Leerräumen umgeben sind (wie bei den Maxima 81 und 83 gezeigt).
In der Nähe der Mitte des Profils, ist der 2-breite Leerraum 70′ auf beiden Seiten
von drei schmalen Elementen umgeben, die hierin als "Triplett" bezeichnet werden, also
ein 1-breiter Strich 62, ein 1-breiter Leerraum 69′ und ein weiterer 1-breiter Strich 62. Der
2-breite Strich 70′, der auf beiden Seiten von Tripletts umgeben wird, erzeugt eine Schlie
ßungsbreite von 20, was etwas weniger als die Breite von 21 aber mehr als die Breite von
13 ist. Insgesamt zeigt das Profil der Fig. 3, daß die Breite eines aufgelösten Leerraums 70,
wie sie an der oberen Schließungsgrenze 90 gemessen wird, von der "Umgebung" abhängt,
die das Element umgibt oder an es angrenzt. Wenn er von breiten Strichen umgeben wird,
erzeugt der 2-breite Leerraum 70 eine Schließungsbreite von 13. Wenn er von breiten
Strichen umgeben wird, erzeugt der 2-breite Leerraum 70 eine Schließungsbreite von 13.
Wenn er von Singlets und größeren Zwischenräumen umgeben wird, erzeugt der 2-breite
Leerraum eine Schließungsbreite 21, währende er, wenn er von Tripletts umgeben wird,
eine Schließungsbreite von 20 erzeugt. Der Ausdruck "Umgebung", wie er hierin verwen
det wird, bezieht sich im allgemeinen auf das Element oder die Elemente unmittelbar links
und rechts neben einem gegebenen Element.
Fast alle Datensammlungssymbole umfassen Kombinationen von Elementen ver
schiedener Größe neben und angrenzend an ein gegebenes Element, also unsymmetrische
Elementumgebungen. Fig. 4 zeigt ein Symbol 53′ mit, beginnend von der linken Seite,
einem ersten 2-breiten Leerraum 70, der von einem Paar von Tripletts umgeben ist, gefolgt
von einem 2-breiten Leerraum 70, der von einem Triplett und einem 2-breiten Strich 64
umgeben ist. Danach kommt ein dritter 2-breiter Leerraum 70, der von zwei 2-breiten
Strichen 64 umgeben ist. Ein vierter 2-breiter Leerraum 70 ist von einem 2-breiten Strich
und einem Singlett (zum Beispiel einem 1-breiten Strich 62) umgeben. Ein fünfter 2-breiter
Leerraum 70 ist von zwei Singlets umgeben, während ein sechster 2-breiter Leerraum von
einem Singlett und einem 3-breiten Strich 66 umgeben ist. Ein siebter 2-breiter Leerraum
70 ist auf ähnliche Weise von dem 3-breiten Strich 66 und einem 1-breiten Strich 62 umge
ben, während ein achter 2-breiter Leerraum von dem 1-breiten Strich 62 und einem "Du
blett", also einem 1-breiten Strich und einem 1-breiten Leerraum, umgeben ist. Die rechte
Seite des Symbols 53′ ist mit der linken Seite identisch aber invertiert, um 2-breite Striche
64 in einer Vielzahl von Umgebungen zu zeigen.
Das Schließungsprofil der Fig. 5, das von dem Symbol 53′ der Fig. 4 genommen ist,
zeigt die Abstände zwischen den Mittelpunkten der aufgelösten Elemente entlang der Spit
ze, und die Breite der aufgelösten Elemente, wie sie an der oberen Schließungsgrenze 90
(für die aufgelösten Leerraume) und der unteren Schließungsgrenze 95 (für die aufgelösten
Striche) gemessen wird. Das Profil zeigt sechs Basiselement-Schließungsumgebungen:
Singlett/Singlett, Singlett/Dublett, Triplett/Triplett, Singlett/2-breit, Triplett/2-breit und 2-
breit/2-breit. Es ist wichtig, daß das Profil der Fig. 5 zeigt, daß ein vorgegebenes, aufgelö
stes Element, wie etwa ein 2-breiter Leerraum 70, Maxima 80 erzeugt, die verschiedene
Schließungsbreiten besitzen, wie sie an der oberen Schließungsgrenze 90 gemessen werden.
Die 2-breiten Leerräume 70 erzeugen Schließungsbreiten, die von 15, wenn sie von 2-brei
ten Strichen 64 umgeben werden (die 2-breite/2-breite-Umgebung) bis 25 reichen, wenn sie
von 1-breiten Strichen 62 (Singlet/Singlet-Umgebung) umgeben werden. Der 3-breite
Leerraum 71 erzeugt das Maximum 81 mit einer Schließungsbreite von 30. Allein auf der
Schließungsbreite von 30 für das Maximum 81 basierend, könnte das Maximum als ein 2-
breiter Leerraum interpretiert werden, wenn man den breiten Bereich der für die 2-breiten
Leerräume gemessen Schließungsbreiten betrachtet.
Insgesamt zeigt das Profil der Fig. 5, daß es schwierig sein kann, zu identifizieren,
von welcher Größe ein gegebenes, aufgelöstes Element ist, wenn seine Größe nur durch
seine Schließungsbreite an den oberen beziehungsweise unteren Schließungsgrenzen 90
beziehungsweise 95 gemessen wird. Dies trifft insbesondere für komplexe Symbologien zu,
die viele Elementbreiten verwenden, wie zum Beispiel PDF417. Ein Beispiel eines
PDF417-Symbols 102 ist in Fig. 6 gezeigt. Wie oben erwähnt, verwendet die PDF417-
Symbologie acht Elementbreiten für Striche und sechs Elementbreiten für Leerräume. Auf
Grund der sechs möglichen Umgebungen, die aufgelöste Elemente umgeben, kann es
schwierig sein, die Größe eines vorgegebenen, aufgelösten Elements (z. B. ob ein Minimum
einem 3-breiten oder einem 4-breiten Strich entspricht) auf der Basis seiner Schließungs
breite zu bestimmen, wie sie an der Schließungsgrenze gemessen wird.
Die Fig. 7 bis 12 zeigen, wie die 1-breiten Elemente in dem Symbol 53 unaufge
löst oder "verloren" werden in Profilen, die von dem Sensor 54 erzeugt werden, wenn
dessen Blende 61 von 1,8X bis 2,8X zunimmt. Zusätzlich zeigen die Fig. 7 bis 12, wie
sich die Schließungsweiten von aufgelösten Elementen, wie sie an den oberen und unteren
Schließungsgrenzen 90 und 95 gemessen werden, abhängig von den Umgebungen, die die
aufgelösten Elemente umgeben, unterscheiden. Zahlen entlang den Spitzen der Profile 7 bis
12 geben den Abstand zwischen den Mittelpunkten aufgelöster Elemente in beliebigen
Einheiten an. Horizontale Linien, die mit "oben" und "unten" bezeichnet sind, sind die
oberen und unteren Schließungsgrenzen 90 und 95, welche Linien sind, die gerade oberhalb
der höchsten Minima in den Leerräumen und gerade unterhalb der niedrigsten Maxima in
den Strichen gezogen sind. Zahlen entlang der oberen und unteren Schließungsgrenzen 90
und 95 geben die Breiten der aufgelösten Elemente an, wie sie an den Grenzen gemessen
werden. (Die Bestimmung der Schließungsgrenzen wird hiernach in größerem Detail disku
tiert.)
Fig. 7 zeigt ein etwas aufgelöstes Profil, das von der zweiten Reihe von oben des
Symbols 102 mit einer Blende 61 von 1,8X des Sensors 54 erzeugt wird. Fig. 7 ist ein
etwas aufgelöstes Profil, da die untere Schließungsgrenze 95 höher ist (eine höhere Reflek
tanz besitzt) als die obere Schließungsgrenze 90. Die Profileder Fig. 7 bis 12 sind "Rück
wärtsabtastungen" in dem Sinne, daß die linke Seite der Profile das Stopzeichen der
PDF417-Symbologie darstellt, während die rechte Seite des Profils das Startzeichen dar
stellt. Als Ergebnis ist das Symbol 102 "von oben nach unten" im dem Sinne gezeigt, in
dem es auf der linken Seite mit dem Stopzeichen beginnt und auf der rechten Seite mit dem
Startzeichen endet. Das Symbol 102 umfaßt Element vieler Größen einschließlich 1-breite
Striche 62, 2-breite Striche 64, 2-breite Leerräume 70, 1-breite Leerräume 69, einen 7-
breiten Strich 65, einen 4-breiten Leerraum 74, einen 3-breiten Strich 66 und einen 8-brei
ten Strich 67. Details über die PDF417-Symbologie stehen dem Fachmann zur Verfügung
und sind ihm bekannt.
Wie in Fig. 7 gezeigt, erzeugen die 2-breiten Striche 64, der 3-breite Strich 66 und
die größeren Striche, wie der 7-breite Strich 65 und der 8-breite Strich 67 Minima 74, 76,
75 und 77, die alle weniger als 20% Reflektanz besitzen. Die breiten Leerräume (also die
2-breiten Leerraume 70 und der 4-breite Leerraum 73) erzeugen alle Maxima mit mehr als
70% Reflektanz (also die Maxima 80 beziehungsweise 83). Die 1-breiten Striche 62 erzeu
gen Minima 72, die gerade bei etwa 40% Reflektanz liegen. Die 1-breiten Leerräume 69
erzeugen Maxima 79, die gerade bis 54% Reflektanz ansteigen. Es ist wichtig, daß alle
Minima in dem Profil der Fig. 7 von allen Maxima verschieden sind, so daß Standarddeko
dierschaltkreise, wie etwa Schwellwertschaltkreise, möglicherweise die Übergänge von den
Minima zu den Maxima in dem Profil in Fig. 7 lokalisieren kann. Durch die Lokalisierung
der Übergänge der Minima zu den Maxima können Standarddekodierschaltkreise die Kan
ten jedes der Elemente in dem Profil identifizieren und dadurch das Profil dekodieren.
Das Profil der Fig. 7 ist jedoch ein theoretisches Profil und weist daher kein Rau
schen und andere Signalverarbeitungsprobleme auf, die es schwierig, wenn nicht unmög
lich, machen, die Übergänge zwischen den Maxima und den Minima zu identifizieren. Typi
sche Profile werden von Blenden 61 mit einer Größe von 0,8X erzeugt und ergeben Profile,
in denen die 1-breiten Striche 62 und die 1-breiten Leerräume 69 Minima und Maxima mit
Reflektanzen erzeugen, die im wesentlichen ähnlich den Minima und Maxima sind, die von
den breiten Elementen erzeugt werden.
Die Fig. 7 bis 12 zeigen, daß, wenn die Größe der Blende 61 in dem Leser 50
von 1,8X bis 2,8X zunimmt und somit die zweite Reihe des Symbols 53 immer mehr defo
kussiert wird, die 1-breiten Striche 62 und die 1-breiten Leerräume 69 Minima 72 bezie
hungsweise Maxima 79 mit abnehmender Amplitude erzeugen, so daß bei einer Blende 61
von ungefähr 2,4X das in Fig. 10 gezeigte Profil kaum die Positionen dieser 1-breiten Ele
mente anzeigt. Das Profil der Fig. 10 ist nicht mit Standarddekodierschaltkreisen dekodier
bar, und die Fig. 8 und 9 sind wahrscheinlich nicht dekodierbar mit solchen Standardde
kodierschaltkreisen. Die breiten Elemente, also die 2-breiten, 3-breiten und 7-breiten Stri
che 64, 66 und 65 und die 2-breiten und 4-breiten Leerräume 70 und 73 sind immer noch
erkennbar und besitzen einen erkennbaren Kontrast, zum Beispiel die Minima 74, 76 und
75 und die Maxima 80 und 83 in dem Profil der Fig. 10. Es ist wichtig, daß die Positionen
der Minima und der Maxima der breiten Elemente im wesentlichen konstant bleiben, wenn
die Blende 61 des Sensors 54 zunimmt, wie durch einen Vergleich der mittleren Abstände
entlang der Oberkante in Fig. 7 mit den Abständen in Fig. 12 gezeigt wird. In Fig. 12
kommt es bei einer Zunahme der Blendenweite 61 auf 2,8X dazu, daß die Amplituden und
somit der Kontrast zwischen den Minima 74 und den Maxima 80 der 2-breiten Striche 62
und der Zwischenräume 70 sich verringert, so daß diese 2-breiten Elemente auch nicht
aufgelöst werden.
Es ist bekannt, daß mit einer Zunahme der Blende 61 die Feldtiefe abnimmt, so daß,
wenn die Größe der Blende sich verdoppelt, die Feldtiefe ungefähr um die Hälfte verringert
wird. Die in den Fig. 7 bis 12 gezeigten Profile können daher verwendet werden, um zu
zeigen, was von dem Sensor 54 mit einer Blende 61 von 0,8X erzeugt wurde, wenn die
Profile von dem Leser 50 mit einem geringfügig defokussierten Abstand (Fig. 7) bis zu
einem stark defokussierten Abstand, der ungefähr doppelt so weit ist (Fig. 12), für das
Symbol 102 erzeugt würden. Zusätzlich können die in den Fig. 7 bis 12 gezeigten Profi
le verwendet werden, um einen defokussierten Laserscanner oder -stab, oder einen Leser
des CCD-Typs mit zu wenigen Bildpunkten in seinem Feld für eine adäquate Auflösung
eines vorgegebenen Bildes zu demonstrieren, wie hiernach in Bezug auf die Fig. 13, 15
und 16 erklärt wird.
Wie in den Fig. 14A, 14B und 14C gezeigt, beginnt ein Programm 100 zum
Dekodieren unaufgelöster Profile unter Benutzung der vorliegenden Erfindung in Schritt
104 (Fig. 14A) mit dem Scannen oder Abbilden des Symbols, um sein Bild aufzunehmen.
Das Programm 100 und alle Abläufe und Verfahren, die hierin beschrieben sind, werden im
allgemeinen von dem Prozessor 60 durchgeführt und sind permanent in dem Speicher 57
gespeichert. In Schritt 104 gibt der Prozessor 60 den Lichtquellen 52 Anweisung, Licht auf
das Symbol zu richten. Der Sensor 54 empfängt das modulierte Licht, das von dem Symbol
reflektiert wurde, und erzeugt ein analoges Signalprofil. In Schritt 105 wandelt der Wandler
56 das analoge Signal in ein oder mehrere, mehrstufige, digitale Signalprofile um, die
dann in den Prozessor 60 eingegeben werden. In Schritt 106 bestimmt der Prozessor 60,
ob das Profil fokussiert ist, ob also alle Elemente in dem Symbol aufgelöst sind, und wenn
das der Fall ist, dekodiert der Prozessor das Profil.
Wenn das Profil ein Schließen aufweist, wenn also einige Elemente in dem Symbol
nicht aufgelöst werden, analysiert der Prozessor 60 in Schritt 107 das Profil, um die hö
heren Maxima und die niedrigeren Minima in dem Profil zu identifizieren und die Schlie
ßungsgrenzen zu bestimmen. Fig. 13 zeigt ein Profil von der zweiten Reihe des Symbols
102, wie es von einem zweidimensionalen Sensor, wie etwa von einem CCD-Sensor 54
erzeugt wird. Das Profil der Fig. 13 zeigt die Mittenabstände zwischen den aufgelösten
Elementen entlang der Oberkante des Profils und die Schließungsbreiten der aufgelösten
Elemente, wie sie an den oberen und unteren Schließungsgrenzen 90 und 95 gemessen
werden.
Die Zackigkeit in dem Profil ist ein Ergebnis der Tatsache, daß eine endliche Anzahl
von Bildpunkten zum Abbilden der zweiten Reihe des Symbols 102 verwendet wurde. Jede
"Zacke" ist das Ergebnis des Auftragens eines Reflektanzwerts eines Bildpunkts. Das Ge
samtergebnis auf einer makrokopischen Skala ist dasselbe, als würde das Symbol mit einer
unendlichen Anzahl von Bildpunkten mit einer defokussierten Optik abgebildet, wie etwa
mit einer Optik mit einer Blende, die deutlich größer als die X-Dimension ist (wie oben
diskutiert wurde). Bei einem Vergleich des Profils der Fig. 13 mit den Profilen der Fig.
7 bis 12 ist das Profil der Fig. 13 ähnlich dem Profil der Fig. 11, das von einer Blende 61
mit 2,6X erzeugt wurde.
Die zweite Reihe des Symbols 102 enthält 90 Module, während der CCD-Sensor
54 nur 98 Bildpunkte enthält. Ein "Modul" ist die schmalste, nominale Breitenmaßeinheit
in einem Strichkodesymbologie. Ein Modul ist daher auch allgemein gleich der X-Dimen
sion. Das Verhältnis der Anzahl der Bildpunkte zu den Modulen kann das das Betaverhältnis
bezeichnet werden. Da in dem Profil der Fig. 13 98 Bildpunkte verwendet wurden, um
90 Module abzubilden, ist das Betaverhältnis für das Profil gleich 1,1.
Die unaufgelösten, 1-breiten Elemente in dem Symbol 102 sind, wenn überhaupt,
durch Wellen in der Mitte des Profils der Fig. 13 dargestellt und befinden sich allesamt
innerhalb des Schließungsbereichs 110. Maxima oder Minima außerhalb des Schließungs
bereichs 110 entsprechen den aufgelösten Elementen in dem Symbol 102, während alle
Informationen in dem Profil innerhalb des Schließungsbereichs 110 unzuverlässig sind (also
nicht detektierbar oder vom Rauschen oder von Druckfehlern nicht unterscheidbar). In dem
Programm 100 muß der Prozessor 60 die Dekodierung eines Schließungsprofils beginnen,
indem er bestimmt, welche Elemente in dem Profil aufgelöst sind. Daher überprüft der
Prozessor 60 in Schritt 107 das Profil der Fig. 13, um zu bestimmen, wie oft das Profil eine
Reihe von Reflektanzschwellwerten zwischen 0% und 100% Reflektanz erreicht oder
kreuzt.
In Schritt 107 überprüft der Prozessor 60 wiederholt das Profil, indem er zunächst
bestimmt, wie oft das Profil eine anfänglich vorgegebene Prozentreflektanzschwelle von
0% kreuzt. Der Prozessor 60 erhöht dann die Prozentreflektanzschwelle um 1% und be
stimmt, wie oft das Profil diese Schwelle kreuzt. Danach erhöht der Prozessor 60 die
Schwelle erneut um 1% (auf 2%) und bestimmt, wie oft das Profil die neue Prozentreflek
tanzschwelle kreuzt, und fährt in dieser Weise bis zu 100% Reflektanz fort. Das Profil wird
in dem Speicher 57 als eine Reihe von Reflektanzwerten gespeichert und kann daher wie
derholt analysiert werden. Um den Ablauf zu verdeutlichen, zeichnet der Prozessor 60 in
dem Programm 100 im wesentlichen horizontale Linien gleichen Abstands über das Profil
der Fig. 13 mit z. B. 1%-Reflektanzintervallen und bestimmt dann, wie oft das Profil einen
vorgegebenen Reflektanzschwellwert kreuzt.
Der Prozessor 60 überprüft die Anzahl, mit der das Profil vorgegebene Reflektanz
werte kreuzt, um obere und untere Reflektanzbereiche zu lokalisieren und obere und untere
Schließungsschwellwerte oder -grenzen 90 beziehungsweise 95 einzurichten. Der Prozes
sor 60 richtet die obere Schließungsgrenze 90 innerhalb eines Bereichs von Reflektanz
werten ein, die von den meisten der Maxima in dem Profil überragt werden. Auf ähnliche
Weise richtet der Prozessor 60 die untere Schließungsgrenze 95 innerhalb eines Bereichs
von Reflektanzwerten ein, die von den meisten der Minima unterschritten werden. Alterna
tiv kann der Prozessor 60 das Profil überprüfen, das höchste Minimum lokalisieren und die
obere Schließungsgrenze 90 an dem Reflektanzwert des höchsten Minimums in dem Profil
einrichten. Der Prozessor 60 lokalisiert dann auf ähnliche Weise das niedrigste Maximum
in dem Profil und richtet die untere Schließungsgrenze 95 als den Reflektanzwert des nied
rigsten Maximums ein. In Schritt 107 identifiziert der Prozessor 60 auf die aufgelösten
breiten Elemente, also die 2-breiten bis 8-breiten Leerräume und Striche, als Maxima und
Minima in dem Profil, die sich oberhalb beziehungsweise unterhalb der Schließungsgrenzen
90 beziehungsweise 95 erstrecken. Verfahren und Vorrichtungen zum Einrichten der obe
ren und unteren Schließungsgrenzen 90 beziehungsweise 95 und zum Identifizieren von
Elementen, die aufgelöst werden, sind in größerem Detail in der US-Patentanmeldung des
Erfinders mit der Seriennummer 08/327 972, angemeldet am 24. Oktober 1994, offenge
legt. Der Fachmann wird jedoch feststellen, daß jedes Verfahren zum Feststellen, welche
Elemente in einem vorgegebenen Profil aufgelöst sind, um die zuverlässige Information aus
dem Profil zu extrahieren oder zu filtern, in Schritt 107 der vorliegenden Erfindung ver
wendet werden kann.
Der Erfinder hat durch die Analyse unaufgelöster Profile, wie etwa der der Fig.
3, 5 und 7 bis 12, herausgefunden, daß die aufgelösten Elemente durch ihre benachbarten
und angrenzenden Elemente verzerrt werden und solche Verzerrungen in eine reduzierte
Gruppe von Umgebungen gruppiert werden können. Wenn ein betrachtetes, aufgelöstes
Element neben einem anderen aufgelösten Element liegt, dann hat das benachbarte, aufge
löste Element denselben Effekt auf das betrachtete, aufgelöste Element, und zwar unabhän
gig von seiner Größe. Daher können alle aufgelösten Elemente von einer Breite von zwei
bis acht Modulen, die neben einem vorgegebenen, aufgelösten Element liegen, für die
Zwecke der Bestimmung der Verzerrungseffekte, die aufgelöstes Element auf ein vorgege
benes, aufgelöstes Element hat, einfach als ein 2-breites Element betrachtet werden. Wenn
zum Beispiel ein 2-breites Element von einem 3-breiten Element auf der einen Seite und
einem 4-breiten Element auf der anderen Seite umgeben wird, kann das 2-breite Element
einfach als von 2-breiten Elementen auf beiden Seiten umgeben betrachtet werden.
Wenn ein vorgegebenes, aufgelöstes Element neben unaufgelösten Elementen (also
einem oder mehr 1-breiten Elementen) liegt, dann fallen die 1-breiten Elemente in eine oder
zwei Kategorien: (i) einfache 1-breite Elemente oder Singlets, und (ii) mehr als Singlets,
wie etwa Dubletts, Tripletts und so weiter. Alle "n-letts" größer als 1 beeinflussen ein
benachbartes, aufgelöstes Element auf die gleiche Weise, so daß solche n-letts der Ein
fachheit halber als Dubletts bezeichnet werden. Folglich kann ein vorgegebenes, aufgelöstes
Element neben einer von drei möglichen Umgebungen liegen: Singlets, Dubletts oder 2-
breiten Elementen.
Durch die Bestimmung der Umgebung, die ein vorgegebenes, aufgelöstes Element
umgibt, kann die vorliegende Erfindung die Verzerrungseffekte einer solchen Umgebung
auf das aufgelöste Element bestimmen. Wie oben erklärt, verzerrt die Umgebung, die ein
vorgegebenes, aufgelöstes Element umgibt, das Element, so daß seine Breite, wie sie an der
oberen oder unteren Schließungsgrenze 90 beziehungsweise 95 gemessen wird, in Abhän
gigkeit von der Umgebung variiert. Die drei Umgebungen beeinflussen die aufgelösten
Elemente in einer vorhersagbaren Weise. Daher kann die vorliegende Erfindung die Infor
mation der Umgebung, die ein aufgelöstes Element umgibt, verwenden, um einen Ort zu
bestimmen, an dem die Breite des Elements zu messen ist, statt die Breite des Elements an
den oberen und unteren Schließungsgrenzen 90 und 95 zu messen. Basierend auf der
Kenntnis, daß eine vorgegebene Umgebung ein aufgelöstes Element auf eine vorhersagbare
Weise verzerrt, kann die vorliegende Erfindung Orte angeben, an denen die Breite der
resultierende Elemente zu messen sind, die global auf ein vorgegebenes Profil anwendbar
sind und die unabhängig von dem Betrag und dem Typ der Verzerrung sind, die insgesamt
ein vorgegebenes Symbol beeinflussen. Vorzugsweise erzeugt die vorliegende eine Reihe
von Schwellwerten innerhalb des Schließungsbereichs 110 zwischen den oberen und
unteren Schließungsgrenzen 90 und 95, an denen die Breite eines vorgegebenen, aufgelösten
Elements basierend auf der Umgebung des Elements zu messen ist.
Durch die Analyse von Profilen, wie etwa der Profile der Fig. 3, 5 und 7 bis 12,
hat der Erfinder herausgefunden, daß der Betrag von Verzerrungen, der ein vorgegebenes
Element basierend auf seiner Umgebung beeinflußt, innerhalb eines Faktors von zwei mit
dem Typ der Umgebung korreliert. Als Ergebnis können vier quantisierte Schwellwerte für
die obere Schließungsgrenze 90 verwendet werden, an denen die Breite der aufgelösten
Leerräume zu messen sind: der halbe Abstand von der oberen Schließungsgrenze 90 zu
unteren Schließungsgrenze 95, ein Viertel dieses Abstands, ein Achtel dieses Abstands und
ein Sechszehntel dieses Abstands. Diese vier Schwellwerte sind durch die gestrichelten
Linien in Fig. 15 gezeigt und sind mit den Bezugszeichen 170, 174, 178 und 180 bezeich
net. Auf ähnliche Weise können vier Schwellwerte von der unteren Schließungsgrenze 95
verwendet werden, an denen die Breiten der aufgelösten Striche zu messen sind: der halbe
Abstand von der unteren Schließungsgrenze 95 zur oberen Schließungsgrenze 90, ein Vier
tel dieses Abstands, ein Achtel dieses Abstands und ein Sechszehntel dieses Abstands.
Diese vier Schwellwerte sind durch die gestrichelten Linien in Fig. 15 gezeigt und sind mit
den Bezugszeichen 170, 173, 177 und 179 bezeichnet.
Breite Elemente, die ein vorgegebenes, aufgelöstes Element umschließen, neigen
dazu, das vorgegebene, aufgelöste Element mehr als schmale Elemente neben dem vor
gegebenen, aufgelösten Element zu verzerren. Wenn daher ein vorgegebenes, aufgelöstes
Element auf beiden Seiten von breiten Elementen umgeben ist, ist die Breite des vorgege
benen, aufgelösten Elements an dem halben Abstand zwischen den oberen und unteren
Schließungsgrenzen 90 und 95 (also an dem Schwellwert 170) zu messen. Wenn umge
kehrt ein vorgegebenen, aufgelöstes Element auf beiden Seiten von Singlets umgeben ist,
verzerren die Singlets das vorgegebene, aufgelöste Element nicht wesentlich, und daher ist
die Breite des vorgegebenen, aufgelösten Elements an der oberen Schließungsgrenze 90
(für Leerräume) oder an der unteren Schließungsgrenze 95 (für Striche) zu messen. Die
folgende Tabelle 1 zeigt auf der Basis der Umgebung eines Elements an, an welchen
Schwellwert die Breite eines vorgegebenen Elements zu messen ist.
Tabelle 1 zeigt an, daß für jeden vorgegebenen, aufgelösten Leerraum (also ein
Element mit einer Größe von 2-breit und mehr), wenn seine Nachbarelemente ein 2-breiter
und größerer Strich auf einer Seite und ein Dublett (zwei 1-breite Elemente) auf der ande
ren Seite sind, die Breite des aufgelösten Elements an dem Schwellwert ein Viertel des
Abstands von der oberen Schließungsgrenze 90 zur unteren Schließungsgrenze 95, also an
dem Schwellwert 174, zu messen ist. Auf ähnliche Weise ist die Breite für jeden aufgelö
sten Strich, wenn seine Umgebung aus Singletts auf jeder Seite besteht (er also von 1-brei
ten Leerräumen umgeben wird), an der unteren Schließungsgrenze 95 zu messen. Ingesamt
befinden sich die quantisierten Schwellwerte an Abständen zwischen den unteren und obe
ren Schließungsgrenzen 90 und 95, die durch die Gleichung 1/2n bestimmt werden, wobei
n gleich 0, 1, 2, 3 und 4 ist.
Wie in Fig. 14A gezeigt, bestimmt der Prozessor 60 in Schritt 108 die Umgebung,
die alle aufgelösten Elemente umgibt. Der Prozessor 60 bestimmt, ob ein vorgegebenes,
aufgelöstes Element von 2-breiten Elementen, Dubletts oder Singletts umgeben ist, indem
er das Profil überprüft, das das aufgelöste Element umgibt. Zum Beispiel analysiert der
Prozessor die Steigung des Profils in der Nähe jedes aufgelösten Elements.
Der Prozessor 60 stellt fest, daß ein vorgegebenes Element von einem Singlet be
rührt wird, wenn das Profil eine Spitze mit einer steilen Steigung oder ein Minimum neben
dem aufgelösten Element aufweist. Der Prozessor 60 unterscheidet Singletts von Tripletts
oder von anderen n-letts, indem er das von dem Stoppmuster des Symbols 102 erzeugte
Profil analysiert. Da das Symbol 102 ein PDF417-Symbol ist, besteht sein Stoppmuster aus
einer Ruhezone, die der Reihe nach von einem 1-breiten Strich 62, einem 2-breiten Leer
raum 70, einem 1-breiten Strich, einem 1-breiten Leerraum 69, einem 1-breiten Strich und
einem 3-breiten Leerraum 71 gefolgt wird. Die "Ruhezone" ist ein Leerraum, dem jegliche
Markierung fehlt, die dem Startzeichen eines Symbols vorangeht und dem Stoppzeichen
folgt. Wie in Fig. 13 gezeigt, erzeugt der 1-breite Strich 62 zwischen der Ruhezone und
dem 2-breiten Leerraum 70 das Minimum 72 mit der steilen Steigung, während das Triplett
zwischen dem 2-breiten Leerraum 70 und dem 3-breiten Leerraum 71 ein Minimum 99 mit
einer weniger steilen Steigung erzeugt, das einen diskontinuierlichen oder flachen Boden
besitzt.
Der Prozessor 60 identifiziert Dubletts neben einem aufgelösten Element durch eine
diskontinuierliche oder weniger steile Steigung im Vergleich zu aufgelösten Elementen
unmittelbar nebeneinander, die keine 1-breiten Elemente dazwischen enthalten. In Fig. 13
umfassen das Minimum 75 und das Maximum auf der linken Seite des Minimums (die dem
7-breiten Strich 65 beziehungsweise dem 3-breiten Leerraum 71 entsprechen) ein Dublett
dazwischen. Der Fachmann wird erkennen, daß andere Techniken zum Bestimmen der
Umgebung, die jedes aufgelöste Element umgibt, in Schritt 108 nach der vorliegenden
Erfindung verwendet werden kann.
In Schritt 109 unterteilt der Prozessor 60 den Schließungsbereich 110 in sechzehn
gleiche Linien, Abschnitte oder Schwellwerte zwischen den oberen und unteren Schlie
ßungsgrenzen 90 und 95. Die sechzehn Schwellwerte erlauben dem Prozessor 60, schnell
die sieben Schwellwerte 170, 173, 174 und 177 bis 180 zwischen den oberen und unteren
Schwellwerten 90 und 95 zu bestimmen. Der Prozessor 60 muß in Schritt 109 nicht die
sechzehn Schwellwerte bestimmen, sondern kann nur die sieben Schwellwerte 170, 173,
174 und 177 bis 180 festlegen. In Schritt 111 analysiert der Prozessor 60 die Steigung des
Profils auf der linken und der rechten Seite jedes aufgelösten Elements und bestimmt unter
Verwendung der Tabelle 1 den geeigneten, quantisierten Schwellwert, an dem die Breite
des aufgelösten Elements zu messen wird. Der Prozessor 60 mißt dann in Schritt 115 die
Breite des aufgelösten Elements an dem geeigneten Schwellwert.
Fig. 15 zeigt das Profil der Fig. 13 mit den quantisierten Schwellwerten 170, 173,
174, 177, 178, 179 und 180 zwischen den oberen und unteren Schließungsgrenzen 90 und
95. Fig. 15 zeigt auch Linien durch die aufgelösten Elemente an den geeigneten Schwell
werten, an denen die Breite eines vorgegebenen, aufgelösten Elements zu messen ist, und
die angegebenen Zahlen geben die gemessenen Breiten an. Zum Beispiel bestimmt der
Prozessor 60 in dem Programm 100 in Schritt 111, daß das erste Maximum 80 auf der
linken Seite von einem Singlett und auf der rechten Seite von einem Dublett umgeben ist.
In Tabelle 1 ist der geeignete Schwellwert für einen aufgelösten Leerraum der Schwellwert
180, der sich bei 1/16 des Abstands nach unten von der oberen Schließungsgrenze 90 zur
unteren Schließungsgrenze 95 befindet. In Schritt 115 mißt der Prozessor 60 das Maximum
80 an dem Schwellwert 180 und bestimmt, daß das Maximum eine Breite von 8 besitzt
(verglichen mit der Breite von 11 gemessen an der oberen Schließungsgrenze 90).
In Schritt 111 bestimmt der Prozessor, daß das erste aufgelöste Minimum 75 auf
der linken Seite von einem Dublett und auf der rechten Seite von einem 2-breiten (tatsäch
lich einem 4-breiten) Leerraum umgeben ist. In der Tabelle 1 ist der geeignete Schwellwert
für den aufgelösten Strich der Schwellwert 173, der sich bei 1/4 des Abstands nach oben
von der unteren Schließungsgrenze 95 zur oberen Schließungsgrenze 90 befindet. In Schritt
115 mißt der Prozessor 60, daß das Minimum eine Breite von 38 besitzt. Insgesamt mißt
der Prozessor 60 in Schritt 15 die Breiten aller aufgelösten Elemente, wie sie an den ge
eigneten Schwellwerten, basierend auf Tabelle 1, gemessen werden, und speichert sie.
In Schritt 115 lokalisiert der Prozessor 60 auch die Mittelpunkte der aufgelösten
Maxima und Minima in dem Profil und mißt dann die Abstände zwischen den Mittelpunk
ten und speichert sie. Der Prozessor 60 lokalisiert den Mittelpunkt jedes Maximums und
Minimums in dem Profil, indem er zuerst die beiden Punkte lokalisiert, an denen ein vor
gegebenes Maximum oder Minimum die oberen oder unteren Schließungsgrenzen 90 bezie
hungsweise 95 kreuzt, und dann einen Mittelpunkt entlang dieser Grenze bestimmt, der auf
dem halben Weg zwischen den beiden Punkten liegt. Der Prozessor 60 bestimmt die Ab
stände zwischen den Mittelpunkten von identifizierten Maxima und Minima oder die "Mit
telpunktsabstände" auf der Basis der Positionen der identifizierten Maxima und Minima
bezüglich einer imaginären Achse senkrecht zu den Maxima und Minima (also einer Linie
mit einer Reflektanz von y=100% für das Profil der Fig. 15). Alternativ kann der Prozessor
60 die Mittelpunkte jedes Maximums und Minimus in dem Profil durch Bestimmung der
Position des höchsten oder niedrigsten Punkts für ein vorgegebenes Maximum beziehungs
weise Minimum bestimmen. Die Bestimmung der Position der höchsten/tiefsten Punkte
kann unter Verwendung bekannter Verfahren, wie etwa die Lokalisierung der Punkte, an
denen die Steigung des Profils ihr Vorzeichen ändert (z. B. von positiv zu negativ), oder
wenn die Amplitude sich von einem zunehmenden zu einem abnehmenden Wert oder um
gekehrt ändert, bestimmt werden. Mit jeder Methode kann der Prozessor 60 die Mittel
punkte 60 der aufgelösten Elemente in dem Profil trotz der Anwesenheit von Druckmän
geln, wie etwa Flecken oder freie Stellen, starker oder leichter Tintenverlauf, geringem
Kontrast oder anderm Rauschen in einem Symbol, lokalisieren und ist daher immun gegen
über einer schlechten Druckqualität.
Nach dem Messen und Speichern der Abstände zwischen den aufgelösten Elemen
ten und der Breite dieser Elemente in dem Profil sind alle zuverlässigen Daten aus dem Profil
extrahiert. Daher benötigt der Prozessor 60 das gespeicherte, digitale Profil nicht mehr,
und der Bereich des Speichers 57, der dieses Profil speichert, kann für andere Zwecke, wie
etwa das Speichern des Profils des nächsten von dem Leser 50 gelesenen Symbols, verwen
det werden.
In den Schritten 116 und 118 bestimmt der Prozessor eine geschätzte Breite der
aufgelösten Elemente für 2-breite bis n-breite Elemente. Für PDF417-Symbole ist der größ
te Leerraum 6-breit und der größte Strich ist 8-breit. Wegen Druckmängel sind die aufgelö
sten Leerräume oft breiter als die aufgelösten Striche oder umgekehrt. Daher sind in einem
Profil für eine vorgegebene Elementbreite die gemessenen Breiten der aufgelösten Striche
oft nicht gleich den gemessenen Breiten der aufgelösten Leerräume (z. B. ist die gemessene
Breite eines 2-breiten Leerraums oft nicht gleich der gemessenen Breite eines 2-breiten
Strichs). Zusätzlich variieren die gemessenen Breiten, wenn die Breiten der aufgelösten
Leerräume an der oberen Schließungsgrenze 90 und die Breiten der aufgelösten Striche an
der unteren Schließungsgrenze 95 gemessen werden, in Abhängigkeit davon, wo die oberen
und unteren Schließungsgrenzen für ein bestimmtes Profil ausgewählt worden sind.
Wenn der Tintenverlauf beinahe null ist, dann sind die Breiten aller 2-breiten Ele
mente in dem Symbol 102 identisch (also haben die 2-breiten Striche dieselbe Breite wie
die 2-breiten Leerräume). Als Ergebnis könnte die Breite der aufgelösten Elemente, wie sie
an den geeigneten Schwellwerten gemessen wird, verwendet werden, um zu identifizieren,
welche aufgelösten Elemente 2-breit, 3-breit, 4-breit und so weiter sind. Die vorliegende
Erfindung verwendet aber vorzugsweise eine sicherere Methode, die die aufgelösten Ele
menten dem Typ entsprechend trennt (also Striche gegenüber Leerräumen) und sie un
abhängig dekodiert, wodurch ein vom Tintenverlauf unabhängiges Verfahrens zur Verfü
gung gestellt wird. Ein solches Verfahren zum Dekodieren von Strichen unabhängig von
Leerräumen ist in der Technik bekannt, wie etwa der Referenzdekodieralgorithmus in der
Codabar-Symbologie. Der Prozessor 60 bestimmt in Schritt 116 der Fig. 14B aus den
bekannten Werten in dem Profil eine X-Dimension für die Leerräume und eine X-Dimen
sion für die Striche. Die X-Dimension für die PDF417-Symbologie und die meisten Symbo
logien entspricht der Breite der 1-breiten Elemente. Zum Beispiel kann der Prozessor 60
feststellen, daß das Symbol 102 ein PDF417-Symbol ist, indem er das Profil analysiert und
die beiden breiten Minima 75 und 77, die die 7-breiten beziehungsweise 8-breiten Striche
in den Stopp- und Startzeichen für die PDF417-Symbologie darstellen, an den gegenüber
liegenden Enden des Profils lokalisiert. Nach der Identifizierung des Profils als eines von
einem PDF417-Zeichen kann der Prozessor 60 erkennen, daß die großen, aufgelösten
Maxima neben den beiden großen Minima zwei 3-breiten Minima entsprechen.
Nach dem Messen der Elementbreiten in Schritt 115 mittelt der Prozessor 60 in
Schritt 116 die beiden 3-breiten Breiten der Leerräume und teilt sie durch drei, um eine
Abschätzung der X-Dimesion für alle Leerräume zu erhalten. Wie in Fig. 15 gezeigt, besit
zen die beiden aufgelösten Maxima auf der linken Seite der großen Minima 75 und 77
gemessene Breiten von 19 beziehungsweise 21 (an den Schwellwerten 178 beziehungs
weise 174), was einer X-Dimension von 6,67 entspricht (also ((18 + 21)/2)/3 = 6,67). Für
die geschätzte X-Dimension erzeugt der Prozessor 60 in Schritt 118 eine geschätzte Breite
für alle aufgelösten Leerräume, so daß zum Beispiel jeder aufgelöste Leerraum mit weniger
als 2,5 mal der X-Dimension (2 × 6,67) ein 2-breiter Leerraum ist, jeder aufgelöste Leer
raum zwischen diesem Wert und 3,5 mal der X-Dimension ein 3-breiter Leerraum ist und so
weiter, wie in der nachfolgenden Tabelle gezeigt. Exemplarische Werte basierend auf der
berechneten X-Dimension von 6,67 sind hiernach in Klammern gezeigt.
Auf ähnliche Weise kann eine geschätzte X-Dimension für die aufgelösten Striche
aus den Breiten der großen Minima 75 und 77 für die 7-breiten beziehungsweise 8-breiten
Striche (an dem Schwellwert 173) abgeleitet werden. Wie in Fig. 15 gezeigt, besitzen die
7-breiten beziehungsweise 8-breiten Striche gemessene Breiten von 30 beziehungsweise 43,
die in Schritt 116 zu einer geschätzten X-Dimension für die Striche von 5,4 führen (also
(38 + 43)/15 = 5,4). Der Prozessor 60 kann dann in Schritt 118 eine geschätzte, aufgelöste
Strichtabelle ähnlich der Tabelle 2 konstruieren, die hiernach in Tabelle 3 gezeigt ist. Bei
spielhafte Werte basierend auf der berechneten X-Dimension von 5,4 sind in Tabelle 3 in
Klammern gezeigt.
Alternativ kann der Prozessor in Schritt 60 die X-Dimension auf der Basis des klein
sten Mittenabstandswerts, der in dem Profil gemessen wird, bestimmen. Der kleinste Mit
tenabstandswert entspricht im allgemeinen einem 2-breiten Strich neben einem 2-breiten
Leerraum und wird hierin mit "STD" bezeichnet. Der Abstand zwischen dem Mittelpunkt
eines Minimums, das den 2-breiten Strich darstellt, und dem Mittelpunkt des Maximums,
das den 2-breiten Leerraum darstellt, umfaßt notwendigerweise 2 Elemente (also eine Hälf
te eines 2-breiten Strichs und eine Hälfte eines 2-breiten Leerraums, oder 1 Element + 1
Element = 2 Elemente). Daher liefert ein Teilen von STD durch zwei die X-Dimension.
In dem Profil der Fig. 15 ist STD 12. Folglich ergibt die Division dieses STD durch
2 eine X-Dimension von 6. Um eine genauere X-Dimesion zu erhalten, kann der Prozessor
60 die kleinsten Mittenabstände mitteln, um die X-Dimension zu erzeugen. Während die
folgende Diskussion ein STD von 12 und eine X-Dimension von 6 verwendet, muß das
Programm 100 diese und andere hierin diskutierte Messungen nicht runden, wenn die be
rechneten Ergebnisse keine ganze Zahl sind. Der Fachmann wird erkennen, daß jede Technik
zum Abschätzen der Größe der X-Dimension und der Größe der großen Elementbreiten für
die Striche und/oder Leerräume in den Schritten 116 und 118 der vorliegenden Erfindung
verwendet werden kann.
In Schritt 119 vergleicht der Prozessor 60 die in Schritt 115 gemessenen Breiten mit
Tabelle 2 (für die Leerräume) und mit Tabelle 3 (für die Striche), um die Größe eines gege
benen, aufgelösten Elements zu identifizieren. Wie in Fig. 16 gezeigt, besitzt das erste
aufgelöste Maximum 80, ein Leerraum, eine gemessene Breite von 8. Unter Bezugnahme
auf Tabelle 2 ist die gemessene Breite von 8 weniger als 16,7 und daher entspricht das
Maximum 80 einem 2-breiten Leerraum. Das erste Minimum in dem Profil, ein Strich,
besitzt eine gemessene Breite von 38. Unter Bezugnahme auf Tabelle 3 erkennt der Prozes
sor 60, daß die gemessene Breite von 38 weniger als 40,5 ist, aber größer als 35,1 ist. Da
her bestimmt der Prozessor 60 entsprechend Tabelle 3 in Schritt 119, daß das erste Mini
mum 75 einem 7-breiten Strich entspricht. Fig. 16 zeigt die Größe der aufgelösten Leerräu
me mit den entsprechenden Maxima und die Größe der aufgelösten breiten Striche mit den
entsprechenden Minima.
In Schritt 120 erzeugt der Prozessor 60 eine Tabelle, ein Feld oder eine "verlorene
Elementmatrix", die ein Schlüssel zum Beenden der Dekodierung des Profils der Fig. 16
ist. Die verlorene Elementmatrix schätzt die verschiedenen Abstände zwischen aufgelösten
Elementpaaren und bestimmt daraus die Anzahl der 1-breiten Elemente, die nicht aufgelöst
oder zwischen den aufgelösten Elementen "verloren" sind. Die verlorene Elementmatrix
kann auf Grund der nachfolgenden drei Eigenschaften, die allen Symbologien mit festen,
vielfachen Breiten eigen sind, wie etwa auch der PDF417, erzeugt werden: (1) wenn ein
aufgelöster Leerraum unmittelbar einem aufgelösten Strich folgt, dann sind null 1-breite
Elemente dazwischen verloren; (2) wenn ein aufgelöster Strich einem aufgelösten Leerraum
folgt oder umgekehrt, dann ist nur eine gerade Anzahl von 1-breiten Elementen dazwischen
vorhanden, und (3) wenn zwei gleiche aufgelöste Elemente (z. B. zwei 3-breite Striche) in
einem vorgegebenen Profil benachbart sind, dann ist nur eine ungerade Anzahl von 1-brei
ten Elementen dazwischen vorhanden. Hierin bezieht sich allgemein "entgegengesetzte,
aufgelöste Elemente" auf 2-breite oder größere Striche und 2-breite oder größere Leerräu
me, die in einem vorgegebenen Profil einander benachbart sind, während "benachbarte,
aufgelöste Elemente" sich auf zwei 2-breite oder größere Striche oder 2-breite oder größe
re Leerräume bezieht, die in dem Profil einander benachbart sind. Die Ausdrücke "entge
gengesetzt" und "benachbart" beziehen sich auf die "Parität" oder den Ort des Elements in
dem Reflektanzprofil, so daß "benachbarte Elemente" jeweils ähnliche Reflektanzwerte
besitzen, während "entgegengesetzte Elemente" jeweils sehr verschiedene Reflektanzwerte
besitzen. Elemente mit entgegengesetzter Parität besitzen immer eine gerade Anzahl von
1-Elementen, die dazwischen verloren sind, während Elemente mit benachbarter Parität
immer eine ungerade Anzahl von 1-breiten Elementen dazwischen verloren besitzen.
Für die PDF417-Symbologie basieren die Abstände zwischen den Mittelpunkten der
aufgelösten Elemente in den Schließungsprofilen auf zehn möglichen Anordnungen für die
aufgelösten Elementpaare: ein 2-breites Element neben einem anderen 2-breiten Element
(hierin als "2-2"-Situation bezeichnet), ein 2-breites Element neben einem 3-breiten Ele
ment (eine "2-3"-Situation), ein 2-breites Element neben einem 4-breiten Element (eine "2-
4"-Situation), ein 3-breites Element neben einem 4-breiten Element (eine "3-4"-Situation),
ein 4-breites Element neben einem 4-breiten Element (eine "4-4"-Situation), ein 4-breites
Element neben einem 5-breiten Element (eine "4-5"-Situation), ein 5-breites Element ne
ben einem 5-breiten Element (eine "5-5"-Situation), ein 5-breites Element neben einem 6-
breiten Element (eine "5-6"-Situation), ein 6-breites Element neben einem 6-breiten Ele
ment (eine "6-6"-Situation), ein 6-breites Element neben einem 7-breiten Element (eine "6-
7"-Situation). Jede Elementpaarsituation von null bis zehn (ein Maximum in der PDF417-
Symbologie) dazwischen verlorene 1-breite Elemente umfassen. Die verbleibenden, aufge
lösten Elementpaarkombinationen haben denselben Mittenabstand wie die obigen zehn
Anordnungen. Zum Beispiel hat ein 3-breites Element neben einem 3-breiten Element (eine
"3-3"-Situation) denselben Mittenabstand wie der 2-4-Abstand (und dieselbe Anzahl von
Gesamtelementen) für eine vorgegebene Anzahl von nicht aufgelösten Elementen dazwi
schen. Daher können die 3-3- und 2-4-Abstände dieselbe Anzahl von 1-breiten Elementen,
die verloren sind, in Abhängigkeit von dem Mittenabstand dazwischen umfassen. Auf ähnli
che Weise hat ein 5-breites Element neben einem 2-breiten Element (eine "5-2"-Situation)
denselben Mittenabstand wie der 3-4-Abstand für eine vorgegebene Anzahl von nicht auf
gelösten Elementen dazwischen. Daher können die 2-5- und 3-4-Abstände dieselbe Anzahl
von 1-breiten Elementen, die verloren sind, in Abhängigkeit von dem Mittenabstand da
zwischen umfassen. (Die Code49-Symbologie hat sieben mögliche Anordnungen.) Ein
Beispiel eines Modells einer verlorenen Elementmatrix, die, wie im folgenden beschrieben,
für alle Symbologien mit vielfachen Breiten verwendet und vervollständigt werden kann,
ist hiernach in Tabelle 4 gezeigt.
Da die Mittelpunkte der aufgelösten Elementpaar von null oder einer ganzen An
zahl von 1-breiten Elementen getrennt werden müssen, kann der Prozessor in Schritt 120
die verlorene Elementmatrix unter Verwendung verschiedener Methoden aufgefüllt wer
den. Wie in der US-Patentanmeldung mit der Seriennummer 08/327 972, eingereicht am
24. Oktober 1994 erklärt, kann die verlorene Elementmatrix durch Verwendung der X-
Dimension und des STD aufgefüllt werden. Der kleinste Abstand zwischen zwei entgegen
gesetzten 2-breiten Elementen ist gleich dem Mittelwert des kürzesten Abstands für das
Profil oder STD, was einem 2-breiten Strich unmittelbar neben einem 2-breiten Leerraum
mit keinem 1-breiten Element dazwischen entspricht. Der nächstgrößte Abstand in 2-2-
Situationen entspricht einem dazwischen verlorenen 1-breiten Element, was nur zwischen
zwei aufgelösten Leerräumen oder zwei aufgelösten Strichen auftreten kann. Daher ent
spricht der nächste Eintrag in der 2-2-Spalte dem STD plus der X-Dimension. Der nächst
größte Abstand in der 2-2-Situation entspricht zwei verlorenen, 1-breiten Elementen oder
STD + (2 × X-Dimension), was einem aufgelösten Strich entspricht, der einem aufgelösten
Leerraum folgt oder umgekehrt. Für die 2-3-Situation entspricht der kürzeste Abstand
zwischen einem 2-breiten Element unmittelbar neben einem 3-breiten Element dem STD
plus ein halb mal die X-Dimension. Der nächstgrößte Abstand für die 2-3-Situation ent
spricht STD + (1,5 × X-Dimension), und so weiter.
Die nachfolgende Tabelle 5 zeigt die verlorene Elementmatrix, die die Gleichungen
zum Bestimmen der geschätzten Mittenabstände für aufgelöste Elementpaare unter Ver
wendung der X-Dimension und des STD enthält.
Basierend auf den Gleichungen der Tabelle 5 füllt der Prozessor 60 in Schritt 120
die verlorene Elementmatrix mit den geschätzten Mittenabständen zwischen den aufgelö
sten Elementen unter Verwendung der X-Dimension von 6 und dem STD von 12 auf.
Daher entspricht der kleinste 2-2-Abstand dem STD von 12, der in der ersten Position
unter der 2-2-Spalte der Tabelle 5 eingegeben wird. Der nächstgrößte Abstand in der 2-2-
Spalte muß die Breite eine 1-breiten Elements umfassen und entspricht dem STD plus der
X-Dimension oder 12 + 6 = 18. Der nächstgrößte Abstand muß die Breite von zwei 1-
breiten Elementen umfassen und ist insgesamt 24, und so weiter, für alle Zellen in der 2-2-
Spalte der Tabelle 5. Der kleinste 2-3-Mittenabstand entspricht dem STD von 12 plus der
Hälfte der X-Dimension oder ist gleich 15, während der nächstgrößte Abstand die Breite
eines einzigen 1-breiten Elements umfassen muß (also 15 plus die X-Dimension oder 21),
und so weiter in der 2-3-Spalte der Tabelle 5. Der Prozessor 60 fährt fort die verlorene
Elementmatrix auf ähnliche Weise für die verbleibenden Elementpaare aufzufüllen, während
er die Gleichungen in Tabelle 5 für die berechneten STD und X-Dimensionen löst.
Alternativ kann der Prozessor 60 beginnen, die verlorene Elementmatrix unter
Verwendung bekannter Werte in dem Profil aufzufüllen und dann rückwärts zu arbeiten.
Der Prozessor 60, der zuvor das Symbol 102 als ein PDF417-Symbol identifiziert hat,
weiß, daß die ersten beiden Maxima dem Abstand zwischen einem 2-breiten Leerraum und
einem 3-breiten Leerraum in dem Stoppmuster entsprechen. (Wiederum ist das Profil der
Fig. 16 eine Rückwärtsabtastung und beginnt daher mit dem Stoppzeichen.) Der gemessene
Mittenabstand beträgt 37, was einem Abstand zwischen eine 2-breiten Leerraum und einem
3-breiten Leerraum entspricht. Da diese beiden aufgelösten Elemente Leerräume sind, die
in dem Profil nebeneinander auftreten, kann nur eine ungerade Anzahl von 1-breiten Ele
menten zwischen ihnen existieren. Basierend auf der Kenntnis, daß das Stoppmuster für die
PDF417-Symbologie immer drei 1-breite Elemente zwischen den 2-breiten und 3-breiten
Leerräumen umfaßt, existiert ein Strich-Leerraum-Strich-Triplett zwischen den beiden
aufgelösten Leerräumen. Daher stellt der Prozessor 60 fest, daß ein Mittenabstand von
ungefähr 37 zwischen einem 2-breiten Element und einem 3-breiten Element drei unaufge
lösten 1-breiten Elementen dazwischen entspricht. Eine verlorene Elementmatrix kann
daraus, wie hiernach gezeigt, aufgebaut werden.
Der Prozessor 60 ist in der Lage, die Werte 42 und 70 in Tabelle 6 basierend auf
der Kenntnis, daß der Mittenabstand von 42 zwischen dem 3-breiten Leerraum und dem 7-
breiten Strich in dem Stoppmuster zwei unaufgelöste 1-breite Elemente (ein Strich-
Leerraum-Dublett) umfaßt, einzufügen. Auf ähnliche Weise erkennt der Prozessor, daß das
Startmuster in der PDF417-Symbologie einen 8-breiten Strich und einen 3-breiten Leer
raum umfaßt, die sechs 1-breite Elemente umschließen. Als Ergebnis ist der gemessene
Abstand von 70 für die 3-8-Situation in der obigen Tabelle 6 gezeigt.
Aus den drei in Tabelle 6 eingegebenen Werten kann der Prozessor den Rest der
Werte der verlorenen Elementmatrix bestimmen. Zum Beispiel können die 2-3- und 3-7-
Situationen in dem Stoppzeichen gemittelt werden, um eine geschätzte X-Dimension zu
erzeugen: 37 + 42 = 79, die eine Summe von 12,5 X-Dimensionen einschließt, und eine X-
Dimension von 6,32 erzeugen (also 79/12,5 = 6,32). Basierend auf der berechneten X-Di
mension von 6,32 addiert und subtrahiert der Prozessor 60 die Hälfte diese Werts (also
3,16), um die verlorene Elementmatrix aufzufüllen, wie teilweise in Tabelle 7 gezeigt.
Nach dem Auffüllen der verlorenen Elementmatrix in Schritt 120 vergleicht der
Prozessor 60 in Schritt 122 den Mittenabstand, wie er in Schritt 115 gemessen wurde, mit
den Eintragen in der Matrix, um den nächsten geschätzten Abstand in der Matrix zu finden.
Basierend auf dem nächsten geschätzten Abstand in der Matrix bestimmt der Prozessor 60
die Anzahl der 1-breiten Elemente, die zwischen zwei aufgelösten, breiteren Elementen
verloren sind, aus der linken Spate der Matrix. Der Prozessor 60 selektiert die geeignete
Spalte in der Matrix basierend auf den Breiten der aufgelösten Elemente, die den Mitten
abstand umg 46742 00070 552 001000280000000200012000285914663100040 0002019604767 00004 46623eben, wie er vorher in Schritt 119 bestimmt wurde. Als Überprüfung bestimmt
der Prozessor 60 in Schritt 122, ob die aufgelösten Elemente entgegengesetzt oder benach
bart sind, um sicherzustellen, daß die richtige Zeile in der Spalte auf der Basis der Parität
der aufgelösten Elemente ausgewählt wird.
In Schritt 122 konstruiert der Prozessor 60 eine Dekodiertabelle, -feld oder -matrix,
von der Fig. 17 ein Beispiel zeigt. Die Dekodiermatrix der Fig. 17 zeigt in Zeile 124 alle
gemessenen Mittenabstände zwischen aufgelösten Elementpaaren, wie sie aus dem Profil
der Fig. 16 genommen worden sind. Die Zeile 126 unter Zeile 124 und gegenüber dieser
versetzt, zeigt alle gemessenen Breiten der aufgelösten Elemente, die die gemessenen Mit
tenabstände in der Zeile 124 umgeben.
Die Zeile 128 enthält die Größe der aufgelösten Elemente. Der Prozessor füllt die
Zeile 128 auf, indem er die gemessenen Breiten in Zeile 126 mit den geschätzten Breiten
in den oben erwähnten Tabellen 2 oder 3 vergleicht. Wenn der Prozessor 60 zum Beispiel
feststellt, daß ein Leerraum eine gemessene Breite in Zeile 126 von 19 besitzt, vergleicht
der Prozessor diese Breite mit Tabelle 2 und stellt fest, daß die gemessene Breite von 19
am ehesten der geschätzten Breite für einen 3-breiten Leerraum entspricht. Daher füllt der
Prozessor 60 die Zeile 128 mit einer entsprechenden "3" unter dem Wert "19" in Zeile 126
auf. Während der Prozessor 60 vorzugsweise jede gemessene Breite in Zeile 126 in Schritt
119 mit den Tabelle 2 und 3 vergleicht und die Zeile 128 vollständig auffüllt, bevor er zur
weiteren Bearbeitung des Profils geht, kann der Prozessor 60 die Zeile auffüllen, indem er
der Reihe nach jeden Mittenabstand in Zeile 124 von links nach rechts analysiert.
In den Zeilen 126 und 128 gibt ein positiver Wert einen Leerraum oder ein Maxi
mum in dem Profil ein (hohe Reflektanz), während ein negativer Wert einen Strich oder ein
Minimum angibt (niedrige Reflektanz). Zum Beispiel beziehen sich die Werte "19" und
"-38" in der Zeile 126 auf die gemessenen Breiten eines aufgelösten Leerraums beziehungs
weise Strichs, während sich die Werte "3" und "-7" in Zeile 128 auf einen 3-breiten Leer
raum beziehungsweise einen 7-breiten Strich beziehen.
Basierend auf der Kenntnis der Start- und Stoppmuster in der PDF417-Symbologie,
beginnt der Prozessor 60 in Schritt 122 mit dem Auffüllen der nicht aufgelösten, breiten
Elemente zu Beginn und Ende des Profils. Danach vergleicht der Prozessor 60 den äußerst
linken, gemessenen Mittenabstand in Zeile 124, um die Anzahl der verlorenen Elemente
innerhalb dieses Abstands zu bestimmen, und fährt nach rechts entlang der Zeile 124 fort.
Der Prozessor 60 muß nicht die gemessenen Mittenabstände von links nach rechts in der
Zeile 124 analysieren, sondern kann zum Beispiel in der Mitte der Reihe der gemessen
Mittenabstände in der Zeile beginnen.
Der erste Mittenabstand in der Zeile 124, der dem 7-breiten Strich folgt, beträgt 34
und wird von dem 7-breiten Strich zur linken und einem 4-breiten Leerraum zur rechten
umgeben. Der Prozessor 60 vergleicht in Schritt 122 die gemessenen Mittenabstände mit
den in Tabelle 7 zur Verfügung gestellten, geschätzten Mittenabstände in der richtigen
Spalte. Daher würde in diesem Beispiel der 7-breite Strich neben einem 4-breiten Leerraum
der "4-7"-Spalte in Tabelle 7 entsprechen, und der gemessene Mittenabstand von 34 ent
spricht am ehesten dem geschätzten Abstand von 37 in der Tabelle insbesondere, da der
nächst mögliche Abstand 49,6 beträgt. Basierend auf dem geschätzten Mittenabstand von
37 in Tabelle 7, bestimmt der Prozessor 60, daß null 1-breite Elemente zwischen dem 7-
breiten Strich und dem 4-breiten Leerraum verloren sind.
Als Überprüfung vergleicht der Prozessor 60 in Schritt 122 auch die Parität der
aufgelösten Elemente, die den gemessenen Mittenabstand umgeben, mit der Paritätsspalte
der verlorenen Elemente in Tabelle 7. Der Prozessor 60 weiß aus Zeile 128, daß die aufge
lösten Elemente, die den gemessenen Mittenabstand umgeben, ein Strich und ein Leerraum
sind (der 7-breite Strich neben einem 4-breiten Leerraum), und daher werden die Elemente
als entgegengesetzt betrachtet. Der Prozessor 60 erkennt in Schritt 122 aus Tabelle 7, daß
die Parität für null verlorene Elemente entgegengesetzte, aufgelöste Elemente erfordert.
Somit stimmt die Parität überein, was bestätigt, daß null 1-breite Elemente in der gemesse
nen Mittendistanz von 34 verloren sind. Der Prozessor 60 beginnt in Schritt 122 die Zeile
130, die die Anzahl der unaufgelösten, 1-breiten Elemente, die zwischen den aufgelösten
Elementen verloren sind, angibt, mit einem Wert von "0" unterhalb dem gemessenen Mitten
abstand von 34 in der Zeile 124 obendrüber aufzufüllen.
Der nächste gemessene Mittenabstand beträgt 19 und liegt zwischen dem 4-breiten
Leerraum auf der linken und einem 2-breiten Strich auf der rechten. Unter Spalte 2-4 der
Tabelle 7 korreliert der gemessene Mittenabstand am ehesten mit dem geschätzten Mitten
abstand von 21,2, und daher sind null 1-breite Elemente dazwischen verloren. Null verlore
ne Elemente entsprechen einer entgegengesetzten Parität, und der 4-breite Leerraum neben
dem 2-breiten Strich entsprechen entgegengesetzten Elementen, daher stimmt die Parität
überein. Folglich speichert der Prozessor 60 eine 0 in Zeile 130 beziehungsweise gibt sie
dort ein.
Der nächste gemessene Mittenabstand von Interesse beträgt 35 und liegt zwischen
zwei 3-breiten Strichen. Unter Spalte 3-3 der Tabelle 7 korreliert der gemessene Mitten
abstand am ehesten mit dem geschätzten Mittenabstand von 33,8, der zwei dazwischen
verlorenen, 1-breiten Elementen entspricht. Zwei verlorene Elemente entsprechen einer
entgegengesetzten Parität, wohingegen der 3-breite Strich neben einem weiteren 3-breiten
Strich benachbarten Elementen entspricht, woraus sich ein Paritätskonflikt ergibt. Folglich
wählt der Prozessor den nächst näheren geschätzten Abstandswert in Tabelle 7 unter der
3-3-Spalte aus, welcher 40,2 beträgt und drei 1-breiten Elementen entspricht, die zwischen
den beiden 3-breiten Strichen verloren sind. Die Parität stimmt überein, und daher gibt der
Prozessor 60 eine "3" in die Zeile 130 ein.
Der Prozessor 60 weiß, daß drei 1-breite Elemente zwischen den beiden 3-breiten
Strichen verloren sind und nicht ein einziger 3-breiter Leerraum, da alle Elemente, die
größer als 2-breit sind, aufgelöst werden und nur 1-breite Elemente verloren gehen. Da die
Parität mit einem vorgegebenen Eintrag in Tabelle 7 übereinstimmen muß, ist das Verfah
ren nach der vorliegenden Erfindung sehr fehlertolerant für Fehler in allen geschätzten
Mittenabständen, geschätzten Breiten und so weiter. Die geschätzten oder gemessenen
Abstände können um bis zu mehreren ganzzahligen Einheiten in beiden Richtungen abwei
chen, bevor das Verfahren nach der vorliegenden Erfindung einen Fehler erzeugt. In diesem
Beispiel beträgt der geschätzte Abstand in Tabelle 7, der dem gemessenen Mittenabstand
von 35 am nächsten kommt und die geeignete Parität besitzt, 40,2 mit einer Differenz von
5,2 statt dem geschätzten Abstand von 27,5, der eine Differenz von 7,5 erzeugt. In der Tat
kann bei der vorliegenden Erfindung der gemessen Mittenabstand um die Breite eines gan
zen 1-breiten Elements (also einer ganzen X-Dimension) daneben liegen und immer noch
richtig dekodiert werden.
Zeile 132 in Fig. 17 zeigt die resultierende Reihe von Elementbreiten, wenn der
Prozessor 60 die Dekodiermatrix mit allen nicht aufgelösten 1-breiten Elementen in Zeile
130 auffüllt. Zum Beispiel zeigt Reihe 130, daß "3" Elemente zwischen dem ersten 3-brei
ten Leerraum und dem 7-breiten Strich, die in Zeile 128 gezeigt sind, verloren sind. Daher
erzeugt der Prozessor 60 die Zeile 132 als eine zusammengesetzte Zeile aus den Zeilen 128
und 130, mit einer "3" und einer "7" unter denselben Einträgen obendrüber in Zeile 128
und drei "1" dazwischen unter dem "3"-Eintrag in Zeile 130. Die positive und negative
Unterscheidung zwischen Strichen und Leerräumen wird unterdrückt, da sie nicht notwen
dig ist, sobald die schmalen Elemente gefunden sind. Daher ist der erste 7-breite Strich in
dem Profil in Zeile 128 als "-7" gezeigt, aber in Zeile 132 als "7" gezeigt.
In Schritt 133 der Fig. 14B wandelt der Prozessor 60 die resultierende Reihe von
Elementbreiten in Zeile 132 in eine Reihe von Elementen um, die in Zeichen analysiert
werden, wie in Zeile 134 in Fig. 17 gezeigt. In Schritt 133 analysiert der Prozessor 60 jedes
Symbolzeichen, um sicherzustellen, daß er die richtige Anzahl von Modulen für eine vor
gegebene Symbologie umfaßt. Zum Beispiel umfaßt jedes Symbolzeichen der PDF417-
Symbologie 17 Module. Daher kann in der PDF417-Symbologie die Gesamtzahl der Mo
dule pro einzelnem Zeichen durch die folgende Gleichung dargestellt werden:
[b₁+s₁+b₂+s₂+b₃+s₃+b₄+s₄] = 17 Module (1)
wobei b₁ bis b₄ und s₁ bis s₄ die Größen der Striche beziehungsweise Leerräume in einem
vorgegebenen Symbolzeichen darstellen. Jede Zeile in dem Symbol 102 umfaßt drei Sym
bolzeichen zwischen den Start- und Stoppmustern. Die Gesamtzahl an Modulen in dem
ersten Symbolzeichen, das dem Stoppmuster folgt, beträgt 17 und umfaßt daher die ge
eignete Anzahl an Modulen (also 4 + 2 + 2 + 3 + 1 + 1 + 1 + 3 = 17). Die verbleibenden
beiden Zeichen in Zeile 134 umfassen ebenfalls 17 Module.
Der Prozessor 60 kann in Schritt 133 auch feststellen, daß die Reihe von Elementen
in Zeile 134 die geeignete Anzahl von Gesamtelementen für eine vorgegebene Symbologie
enthält. In der PDF417-Symbologie muß jede Zeile in einem vorgegebenen Symbol eine
Anzahl von Elementen besitzen, die auf der folgenden Formel basiert:
Anzahl der Elemente pro Zeile = 8C + 1 Element (2)
wobei C die Anzahl der Symbolzeichen ist. Wie oben erwähnt, umfaßt jede Zeile in dem
Symbol 102 drei Symbolzeichen plus Start- und Stoppzeichen. Daher muß nach Gleichung
(1) jede Zeile 41 Elemente umfassen. Zählen der Elementreihe in Zeile 124 und Addieren
von eins zeigt, daß der Prozessor 60 genau 41 Elemente identifiziert hat. Daher hat der
Prozessor 60 die richtige Anzahl von Elementen für die zweite Zeile des Symbols 102
identifiziert.
Wie oben erwähnt enthalten viele Symbologien eine Redundanz in ihren Kodie
rungsschemata, die die vorliegende Erfindung verwendet, um verlorene, schmale Elemente
in unaufgelösten Profilen zu lokalisieren. Zum Beispiel besitzen die Striche in dem Code
128 nur eine gerade Anzahl von Modulen. Daher erkennt, wenn der Prozessor 60 nach der
vorliegenden Erfindung weiß, daß ein vorgegebenes Profil von einem Code 128 erzeugt
wurde und der Prozessor aus der Dekodierungsmatrix feststellt, daß ein gegebener Strich
eine ungerade Anzahl von Modulen umfaßt, der Prozessor, daß die Breite des Strichs feh
lerhaft bestimmt wurde.
Die meisten gestapelten Symbologien umfassen eine Zeilenidentifikationsparität, die
von den Laserscannern verwendet wird, um festzustellen, welche Zeile der Laserabtast
strahl gerade abtastet. Zum Beispiel verwendet der Code 49 abwechselnde Zeilen mit Sym
bolzeichen mit gerader oder ungerader Parität in einer vorgegebenen Zeile. Da die vorlie
gende Erfindung vorzugsweise einen Leser des Abbildungstyps verwendet, kann der Pro
zessor 60 zwischen Zeilen unterscheiden, ohne auf irgendeine Zeilenidentifikationsparität
zurückzugreifen. Daher kann der Prozessor 60 die Redundanz der Zeilenidentifikations
parität oder der Symbolzeichen-Selbstüberprüfungsparität in den Symbologien verwenden,
um die festgestellen Breiten der breiten Elemente zu überprüfen und dann zu korrigieren,
die zuvor in Schritt 119 falsch bestimmt wurden.
Daher überprüft der Prozessor in Schritt 133 auch für PDF417-Symbole die
Zeilenidentifikations- oder "Cluster-"Parität für jedes Symbolzeichen. Die "Clusterparität"
ist eine Standardzeilenidentifikations-Paritätsüberprüfung, die in der PDF417-Symbologie
bekannt ist und dort verwendet wird. Bei der Clusterparitätsberechnung werden die Grö
ßen der Striche in einem gegebenen Symbolzeichen abwechseln addiert und subtrahiert und
dann wird das Modulo 9 des Ergebnisses genommen, um denselben Wert in einer gegebe
nen Zeile zu erzeugen (ein Wert von 0, 3 oder 6). Die Clusterparitätsberechnung für die
PDF417-Symbologie kann durch die folgende Gleichung zusammengefaßt werden:
(b₁-b₂+b₃-b₄+9)mod9 = 0, 3 oder 6 (3)
wobei b₁ bis b₄ die Größen der Striche sind, die sich von links nach rechts (von dem Start-
zum Stoppzeichen) in einem vorgegebenen Symbolzeichen erstrecken.
Wenn die Reihe von Elementen in der Reihe 134 die richtige Anzahl von Modulen
nach Gleichung (1), die richtige Anzahl von Elementen nach Gleichung (2) und die richtige
Clusterparität nach Gleichung (3) umfaßt, dekodiert der Prozessor 60 in Schritt 136 die
Symbolzeichen der Zeile 134 unter Verwendung bekannter Verfahren, die der gegebenen
Symbologie eigen sind. Zum Beispiel umfaßt die PDF417-Symbologie einer höherwertige
Fehlerkorrektur, Detektions- und Interpretationsmodule und -algorithmen, die der Prozes
sor 60 durchführt, um die Symbolzeichen in Datenzeichen umzuwandeln.
Wenn der Prozessor 60 in Schritt 133 feststellt, daß die Reihe von Elementen in
Zeile 134 eine falsche Anzahl von Modulen oder Elementen umfaßt oder die Clusterparität
verletzt, dann identifiziert der Prozessor in Schritt 138 den Modul- oder Clusterparitäts-
Fehler für jedes Symbolzeichen in Zeile 134. Zum Beispiel zeigt Fig. 18 ein nicht aufgelö
stes Profil ähnlich dem der Fig. 16 aber aus der dritten Zeile des Symbols 102. Nach dem
Durchführen der Schritte 104 bis 133 erzeugt der Prozessor 60 die folgende Reihe von
Elementen, die in Symbolzeichen analysiert wurden:
121113117 24141112 21313121 34241111 31111118.
In Schritt 133 bestimmt der Prozessor nach Gleichung (2), daß die Reihe von Elementen
41 Elemente umfaßt und daher die richtige Anzahl von Elementen umfaßt. Die ersten,
vierten und letzten Symbolzeichen enthalten die richtige Anzahl von Modulen nach Glei
chung (1). Zusätzlich erzeugen die ersten, vierten und letzten Symbolzeichen nach Glei
chung (3) eine Clusterparität von 0 und sind daher korrekt. Der Prozessor 60 identifiziert
jedoch Fehler in den zweiten und dritten Symbolzeichen der Elementreihe.
Wenn man das dritte Symbolzeichen unter Gleichung (1) betrachtet, enthält es eine
falsche Anzahl von Modulen:
2+1+3+1+3+1+2+1 = 14 ≠ 17 Module.
Das dritte Symbolzeichen erzeugt jedoch die richtige Clusterparität nach Gleichung
(3):
(1 - 1 + 1 - 1 +9) mod9 = 0.
Daher muß die Größe der Striche richtig sein. Folglich muß die Größe von wenigstens eini
gen der Leerräume falsch sein. Der Prozessor 60 erkennt, daß die Strichmessungen korrekt
sein müssen, da die Striche, wenn sie größer wären, aufgelöst wurden, was zu einem völlig
anderen Profil führen würde. Als Ergebnis müssen drei der vier Leerräume um ein Modul
vergrößert werden, um nach Gleichung (1) die korrekte Anzahl von 17 Modulen für das
Symbolzeichen zu erzeugen.
Der Prozessor 60 korrigiert in Schritt 140 alle Symbolzeichen, die ein oder mehr
fehlende oder zusätzliche Module besitzen, so daß die Symbolzeichen die richtige Anzahl
von Modulen besitzen (also 17 Module für die PDF417-Symbologie). Der Prozessor 60
analysiert jedes der breiten Elemente nach einem fehlerhaften Symbolzeichen. Da Gleichung
(3) die richtige Clusterparität erzeugt hat, erkennt der Prozessor 60, daß die Fehler in den
Leerräumen liegen, und analysiert daher die breiten Leerräume. Der breite Leerraum 150
in Fig. 18 ist richtig, da er die geringste Breite der vier Leerräume in dem dritten Symbol
zeichen besitzt. Zusätzlich erkennt der Prozessor 160, daß der 2-breite Leerraum 150 einen
Abstand von 12 von seinem Mittelpunkt nach rechts hat, was sehr unwahrscheinlich eine
Messung für eine 2-3-Situation wäre. Folglich erhöht der Prozessor 60 in Schritt 140 die
Größe jeder der drei Leerräume, die folgen (die Leerräume 152, 154 und 156 in Fig. 18),
um eins, um die folgende Reihe von Elementen zu erzeugen:
21414131.
Bei der Analyse des zweiten Symbolzeichens erkennt der Prozessor 60 in Schritt
138, daß das Symbolzeichen die falsche Anzahl von Modulen nach Gleichung (1) besitzt:
2 + 4 + 1 + 4 + 1 + 1 + 1 + 2 = 16 ≠ 17.
Zusätzlich erkennt der Prozessor 60 in Schritt 138, daß die Clusterparität nach Gleichung
(3) für das zweite Symbolzeichen ebenfalls nicht richtig ist:
(2 - 1 + 4 - 4 + 9) mod9 = 1.
(Es sei folgendes festgestellt: Da das Profil der Fig. 18 ein umgekehrter Scan ist, beginnen
Clusterberechnungen mit am weitesten rechts liegenden Strich und gehen dann nach links.)
Wie oben erwähnt, muß der Clusterparitätsalgorithmus zu einem Ergebnis von 0, 3 oder 6
führen. Da der Prozessor 60 weiß, daß des zweite Zeichen in der dritten Zeile des Symbols
liegt, weiß der Prozessor, daß das Zeichen eine Clusterparität von 0 erzeugen muß. Als
Ergebnis erkennt der Prozessor 60 basierend auf Gleichung (1) in Schritt 138, daß dem
Symbolzeichen ein Modul fehlt und daß der Fehler in der geschätzten Breite einer der Stri
che auftritt. Da der 1-breite Strich korrekt sein muß (sonst wäre er aufgelöst worden), muß
der Fehler entweder in dem 2-breiten oder einem der 4-breiten Striche liegen.
In Schritt 140 versucht der Prozessor 60 den breiten Strich mit einem zusätzlichen
oder einem fehlenden Modul zu identifizieren, erreicht aber nicht sofort ein Ergebnis. Da
her analysiert der Prozessor 60 in Schritt 142 die Clusterparität der Gleichung (3) unter
Verwendung einer Anzahl von Verfahren, z. B. rekursiver Berechnungen, und bestimmt,
daß, wenn das äußerst rechte der 4-breiten oder 2-breiten Elemente um eins vergrößert
würde, die Clusterparitätsgleichung ein Ergebnis von 0 erzeugen würde. Der Prozessor 60
bestimmt in Schritt 142, daß nur durch Vergrößern des äußerst linken, 4-breiten Strichs die
Clusterparitätsgleichung eine 0 ergibt. Folglich erzeugt der Prozessor 60 in Schritt 142 die
folgende Reihe von Elementen für das zweite Symbolzeichen:
25141112.
In Schritt 142 kann der Prozessor 60 alternativ alle möglichen Gleichungen, also die
Clusterparitätsgleichung, die Gesamtelementgleichung und die Gesamtmodulgleichung,
aufstellen und versuchen, vier der Unbekannten zu lösen. Zusätzlich kann der Prozessor 60
die Mittelabstände und die gemessenen Elementbreiten in dem Profil der Fig. 18 analysie
ren, um festzustellen, welche der gemessenen Mittenabstände und der gemessenen Ele
mentbreiten am deutlichsten von den geschätzten Abständen und geschätzten Breiten aus
den Tabellen 6, 2 und 3 abweichen. Der Fachmann wird erkennen, daß jede Technik zum
Bestimmen und korrigieren von Fehlern in der Reihe von Elementen, die aus der verlorenen
Elementmatrix und/oder der Dekodiertabelle abgeleitet werden, in Verbindung mit der
vorliegenden Erfindung verwendet werden kann. Nach dem Erzeugen der richtigen Reihe
von Elementen für die fehlerhaften Symbolzeichen in den Schritten 138-142 dekodiert der
Prozessor 60 in Schritt 144 die Symbolzeichen unter Verwendung bekannter Algorithmen.
Zusätzlich zu den oben beschriebenen Schritten kann das Programm 100 mehrere
alternative oder zusätzliche Schritte aufweisen. Zum Beispiel kann das Programm 100 für
den Fall, daß der Leser 50 viele Symbole liest, von denen die meisten defokussiert sind,
schneller Schließungsprofile dekodieren, ohne Prozessorzeit bei Dekodieren eines Schlie
ßungsprofils in Schritt 106 zu vergeuden. Statt dessen kann der Prozessor 60 sofort zu den
Schritten übergehen, die zum Dekodieren eines Schließungsprofils notwendig sind (Schritte
107-144).
Während der Prozessor 60 die oberen und unteren Schließungsgrenzen 90 und 95
auf der Basis einer Zählung der Überkreuzungen der Maxima und Minima bestimmen kann,
kann der Prozessor die Grenzen auch mit verschiedenen alternativen Verfahren in Schritt
107 bestimmen. Zum Beispiel kann der Prozessor 60 das Profil selbst überprüfen, um die
oberen und unteren Schließungsgrenzen 90 und 95 zu erzeugen. Wie oben erklärt, befinden
sich die Maxima in dem Profil der Fig. 16, sofern sie aufgelöst sind, an der Oberseite des
Profils und stellen Leerräume in dem Symbol 102 dar. In dem in Fig. 16 gezeigten Schlie
ßungsprofil sind die Maxima der 1-breiten Leerräume ziemlich niedrig in der Reflektanz,
und es werden einige Maxima mit einer Reflektanz von ungefähr 35% gefunden. Der Pro
zessor 60 überprüft daher in Schritt 107 das Profil, lokalisiert das niedrigste Maximum in
dem Profil und erzeugt die niedrige Schließungsgrenze 95 als die Reflektanz des niedrig
sten Maximums innerhalb des Profils.
Umgekehrt befinden sich die Mimina in dem Profil der Fig. 16, sofern sie aufgelöst
werden, an der Unterseite des Profils und stellen die Striche in dem Symbol 102 dar. In den
in Fig. 16 gezeigten Schließungsprofilen sind jedoch die Minima der 1-breiten Striche ziem
lich hoch in der Reflektanz, und es werden einige Minima mit einer Reflektanz von 37%
gefunden. Der Prozessor 60 überprüft daher in Schritt 107 auch das Profil, um das höchste
Minimum in dem Profil zu orten, und erzeugt die untere obere Grenze 90 als die Reflektanz
des höchsten Minimums innerhalb des Profils. Wenn das höchste Maximum über dem nied
rigsten Minimum liegt, was Elementdefekte, wie etwa Flecken oder freie Stellen, aus
schließt, die beim Drucken der Symbole erzeugt wurden, ist das Profil ein Schließungs
profil, und keine schmalen Elemente können aufgelöst werden.
Weitere Verfahren zum Bestimmen der oberen und unteren Schließungsgrenzen 90
und 95 umfassen eine Analyse des Profils, um einen mittleren Reflektanzschwellwert zu
bestimmen. Danach wählt der Prozessor 60 die obere Schließungsgrenze 90 als eine feste
Reflektanzzunahme von der mittleren Reflektanz und die untere Schließungsgrenze 95 als
eine feste Abnahme von der mittleren Reflektanz aus. Nach der Bestimmung der oberen
und unteren Schließungsgrenzen 90 und 95 identifiziert der Prozessor 60 in Schritt 107
aufgelöste Elemente als solche Bereiche des Profils, die sich über oder unter die Schlie
ßungsgrenzen erstrecken.
Der Prozessor 60 erzeugt die oberen und unteren Schließungsgrenzen 90 und 95,
um zu bestimmen, welche Maxima und Minima in dem Profil aufgelösten Elementen ent
sprechen. Alternative Verfahren zum Analysieren des Profils, um zu bestimmen, welche
Maxima und Minima den aufgelösten Elementen entsprechen, umfassen die Analyse der
Steigungen der einzelnen Maxima und Minima in dem Profil. Wenn zum Beispiel der Pro
zessor 60 den Bereich des Profils der Fig. 16 von dem Maximum 83 an nach rechts analy
siert, besitzt die Steigung des Profils einen großen negativen Wert, solange sich das Profil
von dem Maximum 83 zum nächsten Minimum erstreckt. Der Prozessor 60 stellt daher
fest, daß das Maximum 83 ein aufgelöster Leerraum ist. Zusätzlich bestimmt der Prozessor
60 aus der steilen Steigung, daß null 1-breite Elemente verloren sind. Alternativ besitzt bei
der Analyse des Profils von dem Minimum 77 aus nach links zu dem hohen Maximum die
Steigung einen stark negativen Wert, bis sich das Profil in den Schließungsbereich 110
erstreckt. Innerhalb des Schließungsbereichs 110 ändert sich das Vorzeichen der Steigung
jedoch mehrere Male von negativ nach positiv und dann wieder zurück nach negativ, wäh
rend sich das Profil zu dem hohen Maximum erstreckt. Der Prozessor 60 erkennt die Änderung
in der Steigung innerhalb des Schließungsbereichs 1100 als einen Bereich innerhalb
des Profils, der unaufgelöste, 1-breite Elemente enthält. Nach der Analyse der sich ändern
den Steigungen in dem Profil kann der Prozessor 60 unter Verwendung bekannter ma
thematischer Formeln die aufgelösten Maxima und Minima in dem Profil identifizieren.
In Schritt 116 kann der Prozessor 60 zusätzlich die Start- und Stoppzeichen oder
linken und rechten Schutzmuster für ein Symbol identifizieren und den Typ des Symbols
(also zu welcher Symbologie das Symbol gehört) auf der Basis der Start- und Stoppzeichen
für das Symbol bestimmen. Zum Beispiel beginnen und enden bei der U.P.C.-A-Symbolo
gie alle U.P.C.-A-Symbole mit Schutzmustern, die aus zwei 1-breiten Strichen bestehen,
die einen 1-breiten Leerraum umschließen, und besitzen ein zentrales Schutzmuster, das aus
fünf 1-breiten Leerräumen besteht, die durch zwei 1-breite Striche getrennt werden. Keine
andere Symbologie weist solche Start/Stoppzeichen oder Schutzmuster auf. Der Prozessor
60 identifiziert ein Profil als ein von einem U.P.C.-A-Symbol erzeugtes, wenn das Profil
unaufgelöste Bereiche am Beginn, Ende und in der Mitte aufweist.
Andere Symbologien verwenden ähnliche eindeutige Muster oder Merkmale, die
der Prozessor 60 identifiziert, um den Typ des Symbols zu identifizieren, von dem ein gege
benes Profil erzeugt wurde, selbst wenn das Profil aus einigen nicht aufgelösten Elementen
hervorgeht. Alle Code 93-Symbole besitzen ein Stoppzeichen, das einen 4-breiten Strich
besitzt, der von der Ruhezone durch zwei 1-breite Elemente getrennt ist. Der Prozessor 60
stellt fest, daß ein vorgegebenes, nicht aufgelöstes Profil von einem Code 93-Symbol er
zeugt wurde, wenn er ein großes Minimum (der große Striche) an dem Ende des Profils
neben einem hohen Maximum (der Ruhezone) identifiziert.
Wie oben erwähnt, besitzen alle PDF417-Symbole Start- und Stoppzeichen, die
jeweils mit den größten Strichen beginnen, die in der Symbologie vorhanden sind, also 7-
breite und 8-breite Striche. Bei der Analyse eines vorgegebenen Profils identifizierte der
Prozessor 60 in Schritt 304 leicht ein PDF417-Profil, indem der die sehr breiten Minima am
Beginn und am Ende des Profils lokalisiert. Wenn das Profil solche breiten Minima am
Beginn und am Ende des Profils aufweist und der Prozessor weitere, kleinere Maxima und
Minima in dem Profil identifiziert, stellt der Prozessor 60 fest, daß das Profil von einem
PDF417-Symbol erzeugt worden ist.
Nach dem Identifizieren der Start/Stoppzeichen und dem Bestimmen des Typs des
Symbols kann der Prozessor 60 in Schritt 116 feststellen, ob das Profil Beschleunigungs
verzerrungen umfaßt. Beschleunigungsverzerrungen werden allgemein erzeugt, wenn die
Bewegung des Lesestrahls über das Symbol beschleunigt wurde, während das Profil er
zeugt wurde. Beschleunigungsverzerrungen sind in Profilen, die von in der Hand gehalte
nen, stabförmigen Lesen erzeugt werden, üblich, aber solche Verzerrungen sind weniger
schlimm in Laserscannern und auf Abbildungen basierenden Lesern.
Der Prozessor 60 stellt fest, ob ein Profil Beschleunigungsverzerrungen aufweist,
indem er die Dimensionen des Startzeichens mit den Dimensionen des Stoppzeichens
und/oder diese Dimensionen mit dem Gesamtdimensionen des Profils vergleicht. Bei einem
U.P.C.-Symbol vergleicht der Prozessor 60 den Abstand zwischen dem Beginn des Profils
bis zu seiner Mitte und von seiner Mitte bis zu seinem Ende. Der Prozessor 60 kann die
Mitte des Profils in Fig. 3 durch Lokalisieren der Fläche, in der viele (wenigstens fünf) 1-
breite Elemente unaufgelöst sind (was der Mitte des Schutzmusters entspricht), lokalisie
ren. Wenn der Abstand von dem Beginn des Profils bis zu seinem Mittelpunkt deutlich von
dem Abstand des Mittelpunkts des Profils bis zu seinem Ende differiert, wendet der Prozes
sor 60 unter Verwendung bekannter Techniken einen Kompensationsfaktor an, um die
Beschleunigungsverzerrung zu kompensieren.
Ähnliche Verfahren zum Feststellen, ob ein Profil Beschleunigungsverzerrungen
enthält, stehen zur Verfügung, wenn man die Start- und Stoppmuster der verschiedenen
Symbologien verwendet. Zum Bespiel vergleicht der Prozessor 60 in den PDF417-Symbo
len die Breite des Minimums in dem Profil, das von den 7-breiten und 8-breiten Strichen an
dem Beginn und am Ende des PDF417-Symbols erzeugt wird. Wenn die beiden Breiten
deutlich voneinander abweichen, wendet der Prozessor 60 einen geeigneten Kompensa
tionsfaktor auf der Basis des bekannten Verhältnis der Breiten dieser breiten Striche an.
In Schritt 116 kann der Prozessor 60 auch die X-Dimension mit verschiedenen
alternativen Verfahren bestimmen. Zum Beispiel besitzen alle U.P.C.-A-Symbole eine feste
Breite, die eine Gesamtheit von 95 Modulen umfaßt. Alle Code 49-Symbole besitzen eine
feste Breite, die eine vorgegebene Anzahl von Modulen umfaßt, oder diskrete Breiten, die
algorithmisch bestimmt werden können. Wenn die X-Dimension für ein gegebenes U.P.C.-
A-Symbol 9 beträgt, dann besitzt das Symbol eine Gesamtbreite von der linken Kante sei
ner linken Schutzmusters bis zur rechten Kante seines rechten Schutzmusters von 9 mal 95
also von 855.
Wenn also der Leser 50 ein Profil von einem U.P.C-A-Symbol mit einer sehr gerin
gen Beschleunigungsverzerrung erzeugt, bestimmt der Prozessor 60 die X-Dimension
einfach durch Teilen der Summe der Mittenabstände durch 97. Der summierte Mitten
abstand wird durch 97 und nicht durch 95 geteilt, da die beiden zusätzlichen Module einem
implizierten 2-breiten Leerraum an der Ruhezone, der einem der linken oder rechten
Schutzmuster folgt. Wenn der Prozessor 60 feststellt, daß das Profil Beschleunigungs
verzerrungen enthält, oder feststellt, daß das Profil aus einer Symbologie mit nicht festen
Breiten erzeugt wurde, dann wird die X-Dimension wie oben beschrieben bestimmt.
Einige Symbole haben keine Fälle mit 2-breiten Elementen direkt nebeneinander
(also kein STD), so daß der kleinste Mittenabstand ein 2-breites Element neben einem 3-
breiten Element betrifft. Eine solche 2-3-Situation kann durch Vergleich des kleinsten
Mittenabstands mit der Breite der Elemente, die den 2-3-Abstand umgeben, identifiziert
werden. Wenn die Breiten der Elemente alle stark ungleich sind, dann stellt der Prozessor
60 fest, daß der kleinste Mittenabstand der 2-3-Situation in der oben beschriebenen Weise
entspricht. Als Ergebnis kann der Prozessor 60 in Schritt 116 die X-Dimension erzeugen,
indem er den kleinsten Mittenabstand durch 2,5 teilt.
Wie oben erwähnt, kann der Prozessor 60 die geschätzten Breiten und Mittenab
stände in den obigen Tabellen mitteln. Für ähnlich aufgelöste Elemente, die während
Schritt 115 analysiert oder gemessen werden, erneuert der Prozessor 60 die Breiten für alle
gleichen 2-breiten und größeren Elemente in den Tabellen 2 und 3. Zum Beispiel besitzen
die ersten drei Minima, die den Minima 75 und 74 in Fig. 16 folgt, gemessene Breiten von
15, 14 und 14. Entsprechend der Tabelle 2 entsprechen alle drei Breiten 3-breiten Strichen.
Ein Mitteln dieser drei Breiten ergibt eine mittlere Breite für 3-breite Striche von 14,33.
Eine Division dieses Mittelwerts durch 3 erzeugt eine geschätzte X-Dimesion von 4,78.
Diese genauere X-Dimension unterscheidet sich von der zuvor geschätzten X-Dimension
(6,77) um 1,99. Die genauere X-Dimension kann dann verwendet werden, um die obigen
Tabellen (also die Tabellen 2, 3 und die verlorene Elementmatrix) zu erneuern.
Ähnliche Mittelwertbildungen können für die geschätzten Mittenabstände in der
verlorenen Elementmatrix durchgeführt werden. Der Prozessor 60 kann in den Schritten
120 und 122 alternativ die Mittenabstände, die der Prozessor 60 überprüft, mitteln, um eine
neue X-Dimension zu bestimmen und rekursiv die verlorene Elementmatrix zu erneuern.
Zum Beispiel kann der Prozessor 60 in Schritt 120 mit der Überprüfung der kleinen Mitten
abstände in dem Profil der Fig. 16 beginnen. Der Prozessor 60 mittelt dann diese Abstände
und stellt die geschätzte X-Dimension und die obigen Tabellen neu ein, falls es notwendig
ist. Der Prozessor 60 führt in den Schritten 120 und 122 mit der Analyse von Gruppen mit
zunehmender Größe gemessener Mittenabstände fort und erneuert die geschätzten Wert
entsprechend.
Solche iterativen Berechnungen und Mittelwertbildungen können eine genauere
Darstellung der geschätzten Mittenabstände, X-Dimensionen und geschätzten Element
breiten liefern und daher ein genaueres Dekodierverfahren für ein Schließungsprofil zur
Verfügung stellen. Es ist wichtig, daß jeder Fehler, den der Prozessor 60 anfänglich für die
X-Dimension oder andere geschätzte Breiten/Abstände berechnet, nicht weitergeführt oder
vergrößert wird, da die obigen Tabellen für die Elemente mit größeren Breiten oder größe
ren Mittenabständen erzeugt und aufgefüllt werden. Zusätzlich kann der Prozessor 60 in
Schritt 118 die obigen Tabellen für verschiedene Profile verwenden statt diese Tabellen für
jedes Profil wieder zu erstellen. Diese Alternative ist besonders zutreffend, wenn gestapelte
Symbologien gelesen werden, wo jede Zeile wahrscheinlich ein unaufgelöstes Profil er
zeugt, das ähnliche Verzerrungen besitzt, was typisch beim Lesen mit Lesern des Abbil
dungstyps ist. Solch ein alternatives Verfahren wäre auch nützlich bei Laserscannern, wo
der Laser in der Lage ist, den Ort des abtastenden Laserstrahls auf dem gelesenen Symbol
zu bestimmen. Ein Leser, der oft viele defokussierte Symbole oder Symbole außerhalb der
Standardauflösung des Lesers liest, kann die obigen Tabellen einmal erzeugen und dann
diese Tabellen für ähnliche Symbole verwenden.
Der Prozessor 60 kann in Schritt 122 einen vorgegebenen, gemessenen Mitten
abstand in einem Profil analysieren und dann die Parität der benachbarten, aufgelösten
Elemente vergleichen, bevor die geeignete Spalte in Tabelle 7 bestimmt wird. Zum Beispiel
wurde ein gemessener Mittenabstand von 35 zwischen zwei Strichen nur den Zeilen in
Tabelle 7 entsprechen, die der benachbarten verlorenen Elementparität entsprechen. Als
Ergebnis kann der Prozessor 60 schneller den richtigen, geschätzten Mittenabstand be
stimmen, insbesondere, wenn nur eine der Breiten der aufgelösten Elemente bekannt war.
Zusammengefaßt stellt die vorliegende Erfindung ein Verfahren zum Lesen eines
vorgegebenen, maschinenlesbaren Symbols in Abständen zur Verfügung, die deutlich jen
seits des normalen Bereichs der Auflösung eines gegebenen Lesers liegen, liest Symbole
mit X-Dimensionen, die kleiner sind als eine vorgegebene X-Dimension, die normalerweise
von einem gegebenen Leser gelesen werden kann, und liest Profile, die Rauschen enthalten
(das zum Beispiel durch elektrisches Rauschen oder durch Druckmängel erzeugt wird). Die
vorliegende Erfindung hängt nicht von komplexen mathematischen Berechnungen ab und
kann mit allen prozessorgesteuerten Lesern mit einer beliebigen optischen Konfiguration
(z. B. Laserscannern, Stiften, CCD-Abbildevorrichtungen, usw.) verwendet werden. Die
schmalen Elemente in einem vorgegebenen Symbol sind redundant und daher nicht erfor
derlich, um ein Symbol entsprechend der vorliegenden Erfindung zu dekodieren. Der Pro
zessor 60 muß in dem Programm 100 nur die Reflektanzinformation, den Ort der Mittel
punkte der aufgelösten, breiten Elemente und die Breiten der aufgelösten Elemente an einer
geeignet quantisierten Schließungsgrenze bestimmen, um alle nicht aufgelösten schmalen
Elemente zu lokalisieren. Als Ergebnis kann die vorliegende Erfindung ein Profil dekodie
ren, das eine solche Schließung aufweist, daß keines der 1-breiten Elemente in dem Profil
erkennbar ist. Die vorliegende Erfindung beruht teilweise auf den Abständen zwischen den
Mittelpunkten der aufgelösten Elemente und nicht auf den Kanten dieser aufgelösten Ele
mente in einem Profil. Folglich ist das Verfahren nach der vorliegenden Erfindung immun
gegenüber einer Zweideutigkeit bei Standarddekodierverfähren, die Kanten-zu-Kanten-
Messungen in einem Profil verwenden. Zusätzlich kann die vorliegende Erfindung Profile
dekodieren, die eine beträchtliche Menge an Rauschen enthalten, so daß die Kanten der
Elemente in dem Profil nicht mehr mit Standarddekodierverfahren gefunden werden kön
nen.
Die Anmeldung des Erfinders mit der Seriennummer 08/008 768, die am 22. Januar
1993 eingereicht wurde, stellt ein Verfahren zum Dekodieren von Schließungsprofilen, die
von einfachen 2-breiten Symbologien, wie etwa dem Code 39, erzeugt werden, zur Verfü
gung, indem es einfach die Maximum-zu-Maximum-Mittenabstände verwendet. Die An
meldung des Erfinders mit der Seriennummer 08/327972, die am 24. Oktober 1994 einge
reicht wurde, stellt ein Verfahren zum Dekodieren von Schließungsprofilen zur Verfügung,
die von einfachen Symbologien mit mehrfachen Breiten, wie etwa der U.P.C., erzeugt
wurden, und basiert auf den Mittenabständen und geschätzten Breiten der aufgelösten
Elemente, wie sie an quantisierten Schwellwerten gemessen werden. Die vorliegende Erfin
dung stellt ein Verfahren zum Dekodieren von Schließungsprofilen zur Verfügung, die von
komplexen Symbologien mit mehrfachen Breiten, wie etwa dem PDF417 und dem Code
49, erzeugt wurden, und verwendet die Mittenabstände und die Breiten der aufgelösten
Elemente, wie sie an quantisierten Schwellwerten gemessen werden. Eine Schwierigkeit
beim Dekodieren unaufgelöster Profile, die von komplexen Symbologien mit mehrfachen
Breiten erzeugt werden, besteht in der Unterscheidung der Größe der aufgelösten Elemen
te, da die Breite dieser Elemente in Abhängigkeit von ihrer Umgebung verzerrt ist.
Der Fachmann erkennt, daß die oben beschriebene Erfindung ein Verfahren zum
Dekodieren von unaufgelösten Profilen, die von maschinenlesbaren Symbolen erzeugt
werden, zur Verfügung stellt. Auch wenn spezifische Ausführungsformen und Beispiele für
die vorliegende Erfindung aus Darstellungsgründen beschrieben wurden, können verschie
dene äquivalente Modifikationen durchgeführt werden, ohne vom Umfang und Wesen der
Erfindung abzuweichen. Zum Beispiel kann der Prozessor 60 statt in den Schritten 110 bis
115 Elementbreiten an quantisierten Schwellwerten zu erzeugen und zu messen ein In
tegrationsverfahren durchführen, um die Fläche unter der Kurve für jedes aufgelöstes Ele
ment an den oberen und unteren Schließungsgrenzen 90 und 95 zu bestimmen. Die Fläche
unter der Kurve kann dann verwendet werden, um die Tabellen 2 und 3 zu erzeugen und
die Breiten der aufgelösten Elemente zu bestimmen.
Alternativ kann der Prozessor 60 die Durchführung der Schritte 108 bis 115 ver
meiden und statt dessen die Breiten der aufgelösten Elemente auf der Basis eines geschätz
ten Betrags von Tintenverlauf bestimmen. Wie oben erwähnt, führt Tintenverlauf oft in
unterschiedlichem Maße zu variierenden Breiten der Elemente insbesondere zwischen
Strichen und Leerräumen. Durch Verwendung eines Tintenverlauffaktors auf die an den
oberen und unteren Schließungsgrenzen 90 und 95 gemessenen Breiten, kann der Prozes
sor 60 wahrscheinlich die Breiten der aufgelösten Elemente an diesen beiden Grenzen be
stimmen (statt sie an quantisieren Schwellwerten zu bestimmen).
Weiterhin kann der Prozessor 60 die Breite der aufgelösten Elemente bestimmen,
indem er ein Gitter von Verzerrungen als eine Funktion des Schließungsverhältnisses er
zeugt. Das "Schließungsverhältnis" ist ein Verzerrungsfaktor, der ein Schließungsprofil
beeinflußt. Das Schließungsverhältnis kann als Differenz zwischen den Schließungsgrenzen
geschätzt werden, und die Verzerrung kann für jedes Verhältnis und für jede der sechs
oben erwähnten Elementumgebungen berechnet werden. Eine solche Lösung kann jedoch
mühsam sein und ist nicht linear. Der Fachmann wird erkennen, daß jedwede Technik zum
genauen Messen der Breite der aufgelösten Elemente in Verbindung mit der vorliegenden
Erfindung verwendet werden kann.
Während die vorliegende Erfindung oben in Verbindung mit einem von dem Prozes
sor 60 durchgeführten Verfahren beschrieben wurde, kann das Programm 100 auch durch
Verwendung geeigneter Schaltkreise implementiert werden. Wie in Fig. 19 gezeigt, umfaßt
der Leser 400 eine Lichtquelle 42, einen Sensor 54 und einen Empfänger 56, wie sie oben
beschrieben wurden. Ein Detektionsschaltkreis 410 empfängt das von dem Empfänger 56
erzeugte Profil und stellt fest, welche Bereiche des Profils aufgelösten, breiten Elementen
entsprechen. Wie oben für die Schritte 107-111 beschrieben, erzeugt der Schaltkreis 410
obere und untere Schließungsgrenzen, analysiert das Profil, um zu bestimmen, welche
Bereiche des Profils sich oberhalb oder unterhalb den Grenzen erstrecken, und erzeugt ein
aufgelöstes Elementsignal.
Ein Meßschaltkreis 412 empfängt das aufgelöste Elementsignal und mißt die Mit
tenabstände zwischen den Elementen (wie in Schritt 115). Der Meßschaltkreis 412 mißt
auch die Breite der aufgelösten Elemente an der geeigneten quantisierten Schließungs
grenze und bestimmt, ob eine gemessene Elementbreite einem 2-breiten, 3-breiten oder
größeren Element entspricht (Schritte 107-119). Ein Steigungsdetektionsschaltkreis 414
kann zusätzlich zu oder statt des Detektionsschaltkreises 410 verwendet werden, um fest
zustellen, welche Elemente aufgelöst sind, welches die Größe der aufgelösten Elemente ist,
und um festzustellen, ob kein 1-breites Element verloren ist (wie oben in Schritt 108 be
schrieben). Zusätzlich kann der Schaltkreis 414 mit oder anstelle des Detektionsschalt
kreises 410 arbeiten, um die quantisierten oberen und unteren Schließungsgrenzen zu er
zeugen (Schritte 107 bis 119).
Ein Dekodierschaltkreis 416 führt im wesentlichen die Schritte 120-144 durch,
wie sie hiervor in Verbindung mit der verlorenen Elementmatrix beschrieben wurden, und
bestimmt die Anzahl und den Ort von 1-breiten Elementen, die innerhalb des Profils verlo
ren sind. Der Dekodierschaltkreis 416 kann somit das Signal dekodieren, nachdem er den
Ort und die Anzahl von in dem Profil verlorenen 1-breiten Elementen bestimmt hat. An
stelle des Meßschaltkreises 412 kann der Dekodierschaltkreis 416 ein Mikroprozessor sein
und die Größe eines gemessenen Elements (also ob es ein 2-breites, 3-breites, 4-breites,
usw. Element ist) bestimmen.
Zusätzlich kann der Fachmann, auch wenn das Programm 100 und seine Alternati
ven zum Bestimmen der Anzahl der in einem Profil verlorenen Elemente auf der Basis der
Mittenabstände und der Breite aller aufgelösten Elemente an quantisierten Schließungs
grenzen beschrieben wurde, die vorliegende Erfindung auf der Basis der hierin gegebenen,
detaillierten Beschreibung modifizieren, um der vorliegenden Erfindung zu ermöglichen,
die Anzahl der verlorenen 1-breiten Elemente auf der Basis der gemessenen Mittenabstände
und geschätzten Breiten von nur einigen der breiten Elemente zu bestimmen. Weiterhin ist
die vorliegende Erfindung hiervon graphisch beschrieben worden, um die Präsentation und
ihr Verständnis zu erleichtern. Der Fachmann wird erkennen, daß der Leser 50 der vorlie
genden Erfindung vorzugsweise ein vorgegebenes, unaufgelöstes Profil nicht graphisch
analysiert und dekodiert. Zum Beispiel sind die verlorenen Element- und Dekodiermatrizen
hiervor in einer bestimmten Form beschrieben und gezeigt worden (als die Tabellen 2 bis
7 und Fig. 17). Die vorliegende Erfindung muß jedoch solche Matrizen, wie sie hiervor
gezeigt wurden, nicht als solche erzeugen, sondern führt statt dessen nur die notwendigen
Abläufe und Berechnungen, wie etwa das Zählen der Anzahl von Schleifen in einem iterati
ven Prozeß zum Bestimmen der Anzahl der verlorenen Elemente, durch, um die unaufge
lösten Profile zu dekodieren. Während die vorliegende Erfindung hiervor als "messend"
zum Beispiel an einem geeigneten, quantisierten Schwellwert beschrieben wurde, berechnet
die vorliegende Erfindung vorzugsweise die Breite oder die Mittenabstände aus dem Profil
durch Interpolation bezüglich des Profils insbesondere dann, wenn eine endliche Anzahl
von Bildpunkten zum Erzeugen des Profils verwendet wird. Folglich ist die vorliegende
Erfindung nicht durch diese Offenlegung eingeschränkt, sondern ihr Umfang wird allein
durch die nachfolgenden Patentansprüche gegeben.
Claims (24)
1. Verfahren zum Dekodieren eines maschinenlesbaren Symbols (53), das kodierte
Information darstellt, wobei das Symbol eine Mehrzahl von getrennten, zweidimensionalen,
geometrischen Formen umfaßt, wobei die Formen und Leerräume zwischen den Formen
Größen mit wenigstens ersten, zweiten und dritten Breiten in wenigstens einer Dimension
besitzen, wobei die zweiten und dritten Breiten größer sind als die erste Breite, wobei die
Formen eine geringere Reflektivität besitzen als die Leerräume, wobei das Verfahren da
durch gekennzeichnet ist, daß es folgende Schritte umfaßt:
- (i) Empfangen von Licht, das von dem Symbol reflektiert wird, und Erzeugen eines Ausgangssignals daraus, das die Reflektanz der Formen und Leerräume, die das Symbol umfaßt, darstellt;
- (ii) Empfangen des Ausgangssignals und Erzeugen eines breiten Merkmalsignals, das wenigstens einige der Formen und Leerräume mit den zweiten und dritten Breiten auf löst, das aber nicht in der Lage ist, wenigstens einige der Formen und Leerräume mit der ersten Breite aufzulösen;
- (iii) Empfangen des breiten Merkmalsignals und Bestimmen, welche der Formen und Leerräume aufgelöst sind, indem eine Mehrzahl von Bereichen in dem breiten Merkmal signal, die den aufgelösten Formen und Leerräumen entsprechen, identifiziert werden;
- (iv) Bestimmen der Größe jeder der identifizierten Bereiche, die aufgelösten Formen und Leerräumen entsprechen;
- (v) Erzeugen einer verlorenen Elementmatrix in Abhängigkeit von dem breiten Merkmalsignal und der Größe der identifizierten Bereiche, die den aufgelösten Formen und Leerräumen entsprechen; und
- (vi) Bestimmen der in dem Symbol kodierten Information auf der Basis der verlore nen Elementmatrix und der bestimmten Größe jeder der identifizierten Formen.
2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß der Schritt zum Be
stimmen einer Größe einen Schritt zum Definieren einer Mehrzahl von Schwellwerten und
zum Messen einer Breite jeder der Mehrzahl von Bereichen in dem breiten Merkmalsignal
an einer der Mehrzahl der Schwellwerte umfaßt.
3. Verfahren nach Anspruch 2, dadurch gekennzeichnet, daß der Schritt zum Be
stimmen der Größe folgende Schritte umfaßt:
Bestimmen der Steigung des breiten Merkmalsignals in der Nähe jeder der Mehr zahl von Bereichen; und
Bestimmen auf der Basis der bestimmten Steigung an welcher der Mehrzahl von Schwellwerten die Breite jeder der Mehrzahl von Bereichen zu messen ist.
Bestimmen der Steigung des breiten Merkmalsignals in der Nähe jeder der Mehr zahl von Bereichen; und
Bestimmen auf der Basis der bestimmten Steigung an welcher der Mehrzahl von Schwellwerten die Breite jeder der Mehrzahl von Bereichen zu messen ist.
4. Verfahren nach Anspruch 3, dadurch gekennzeichnet, daß es außerdem einen
Schritt zum Messen der Abstände bezüglich jedes der Mehrzahl von Bereichen in dem
breiten Merkmalsignal umfaßt.
5. Verfahren nach Anspruch 4, dadurch gekennzeichnet, daß der Schritt zum Erzeu
gen einer verlorenen Elementmatrix folgende Schritte umfaßt:
Erzeugen einer verlorenen Elementmatrix, die die Anzahl der Formen und Leerräu me mit der ersten Breite, die zwischen den aufgelösten Formen und Leerräumen unaufge löst sind, identifiziert, wobei die verlorene Elementmatrix auf der Basis von geschätzten Abständen zwischen der Mehrzahl von Bereichen in dem breiten Merkmalssignal erzeugt wird; und
Bestimmen der Anzahl und des Ortes der Formen und Leerräume mit der ersten Breite durch Vergleich der gemessenen Abstände bezuglich der Mehrzahl der Bereiche in dem breiten Merkmalssignal mit den geschätzten Abständen in der verlorenen Elementma trix.
Erzeugen einer verlorenen Elementmatrix, die die Anzahl der Formen und Leerräu me mit der ersten Breite, die zwischen den aufgelösten Formen und Leerräumen unaufge löst sind, identifiziert, wobei die verlorene Elementmatrix auf der Basis von geschätzten Abständen zwischen der Mehrzahl von Bereichen in dem breiten Merkmalssignal erzeugt wird; und
Bestimmen der Anzahl und des Ortes der Formen und Leerräume mit der ersten Breite durch Vergleich der gemessenen Abstände bezuglich der Mehrzahl der Bereiche in dem breiten Merkmalssignal mit den geschätzten Abständen in der verlorenen Elementma trix.
6. Verfahren nach Anspruch 5, dadurch gekennzeichnet, daß der Schritt zum Mes
sen eines Abstandes folgende Schritte umfaßt:
Identifizieren eines Mittelpunkts für jedes Element der Mehrzahl von Bereichen; und
Messen der Abstände zwischen den Mittelpunkten der Mehrzahl von Bereichen.
Identifizieren eines Mittelpunkts für jedes Element der Mehrzahl von Bereichen; und
Messen der Abstände zwischen den Mittelpunkten der Mehrzahl von Bereichen.
7. Verfahren nach Anspruch 5, wobei das Symbol aus einer Symbologie mit einer
Parität stammt, wobei das Symbol eine vorgegebene Breite besitzt, und das Verfahren
ferner dadurch gekennzeichnet ist, daß es folgende Schritte umfaßt:
Feststellen, ob alle der Formen und Leerräume in dem Symbol identifiziert wurden;
Feststellen, ob die vorgegebene Breite gleich einer Summe der festgestellten Grö ßen für alle der identifizierten Bereiche und der festgestellten Anzahl der Formen und Leer räume mit der ersten Breite ist;
Korrigieren einer festgestellten Größe für einen gegebenen, identifizierten Bereich auf der Basis der Parität in der Symbologie.
Feststellen, ob alle der Formen und Leerräume in dem Symbol identifiziert wurden;
Feststellen, ob die vorgegebene Breite gleich einer Summe der festgestellten Grö ßen für alle der identifizierten Bereiche und der festgestellten Anzahl der Formen und Leer räume mit der ersten Breite ist;
Korrigieren einer festgestellten Größe für einen gegebenen, identifizierten Bereich auf der Basis der Parität in der Symbologie.
8. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß es weiterhin einen
Schritt zum Bestimmen der Breite der Formen und Leerräume mit der ersten Breite auf der
Basis des breiten Merkmalssignals umfaßt.
9. Verfahren nach Anspruch 8, dadurch gekennzeichnet, daß der Schritt zum Be
stimmen der Breite der Formen und Leerräume mit der ersten Breite folgende Schritte
umfaßt:
Messen wenigstens eines Abstands bezüglich der Mehrzahl der Bereiche in dem breiten Merkmalssignal; und
Dividieren des gemessenen Abstands durch einen vorgegebenen Betrag, um die Breite der Formen und Leerräume mit der ersten Breite zu bestimmen.
Messen wenigstens eines Abstands bezüglich der Mehrzahl der Bereiche in dem breiten Merkmalssignal; und
Dividieren des gemessenen Abstands durch einen vorgegebenen Betrag, um die Breite der Formen und Leerräume mit der ersten Breite zu bestimmen.
10. Verfahren zum Dekodieren eines Profils, das von einem maschinenlesbaren
Symbol (53) erzeugt wird, das kodierte Information darstellt, wobei das Symbol eine
Mehrzahl von getrennten, zweidimensionalen, geometrischen Formen umfaßt, wobei die
Formen und Leerräume zwischen den Formen Größen mit wenigstens ersten, zweiten und
dritten Breiten in wenigstens einer Dimension besitzen, wobei die zweiten und dritten Brei
ten größer sind als die erste Breite, wobei das Profil wenigstens einige der Formen und
Leerräume mit den zweiten und dritten Breiten auflöst aber nicht wenigstens einige der
Formen und Leerräume mit der ersten Breite auflöst, wobei die Leerräume eine höhere
Reflektivität besitzen als die Formen, wobei das Verfahren dadurch gekennzeichnet ist, daß
es folgende Schritte umfaßt:
Bestimmen, welche der Formen und Leerräume aufgelöst sind, durch Identifikation einer Mehrzahl von Bereichen in dem Profil, die den aufgelösten Formen und Leerräumen entsprechen;
Bestimmen der Größe der identifizierten Mehrzahl von Bereichen, die den aufgelö sten Formen und Leerräumen entsprechen;
Bestimmen der Anzahl und des Ortes der Formen und Leerräume mit der ersten Breite wenigstens teilweise basierend auf der festgestellten Größe der identifizierten Mehr zahl von Bereichen, die den aufgelösten Formen und Leerräumen entsprechen; und
Bestimmen der in dem Symbol kodierten Information auf der Basis der festgestell ten Größe der identifizierten Mehrzahl von Bereichen, die den aufgelösten Formen und Leerräumen entsprechen, und der Anzahl und Orte der Formen und Leerräume mit der ersten Breite.
Bestimmen, welche der Formen und Leerräume aufgelöst sind, durch Identifikation einer Mehrzahl von Bereichen in dem Profil, die den aufgelösten Formen und Leerräumen entsprechen;
Bestimmen der Größe der identifizierten Mehrzahl von Bereichen, die den aufgelö sten Formen und Leerräumen entsprechen;
Bestimmen der Anzahl und des Ortes der Formen und Leerräume mit der ersten Breite wenigstens teilweise basierend auf der festgestellten Größe der identifizierten Mehr zahl von Bereichen, die den aufgelösten Formen und Leerräumen entsprechen; und
Bestimmen der in dem Symbol kodierten Information auf der Basis der festgestell ten Größe der identifizierten Mehrzahl von Bereichen, die den aufgelösten Formen und Leerräumen entsprechen, und der Anzahl und Orte der Formen und Leerräume mit der ersten Breite.
11. Vorrichtung zum Dekodieren eines maschinenlesbaren Symbols (53), das ko
dierte Information darstellt, wobei das maschinenlesbare Symbol eine Mehrzahl von ge
trennten, zweidimensionalen Formen umfaßt, wobei die geometrischen Formen und Leer
räume zwischen den Formen Größen mit wenigstens ersten, zweiten und dritten Breiten in
wenigstens einer Dimension besitzen, wobei die zweiten und dritten Breiten größer sind als
die erste Breite, dadurch gekennzeichnet, daß die Vorrichtung umfaßt:
einen Sensor (54), der Licht empfängt, das von dem maschinenlesbaren Symbol reflektiert wird, und ein Ausgangssignal daraus erzeugt, das die Reflektanz der Formen und Leerräume darstellt, die das Symbol umfaßt;
einen Empfänger (56), der das Ausgangssignal empfängt und ein großes Formsignal erzeugt, das wenigstens einige der Formen und Leerräume mit den zweiten und dritten Breiten angibt, aber nicht in der Lage ist, ein Signal zu erzeugen, das wenigstens einige der Formen und Leerräume mit der ersten Breite angibt; und
einen Prozessor (60) zum Verarbeiten des großen Formsignals und zum Erzeugen eines Signals, das die in dem Symbol kodierte Information angibt, wobei der Prozessor (i) bestimmt, welche der Formen und Leerräume aufgelöst werden, indem eine Mehrzahl von Bereichen in dem großen Formsignal, die jeweils einer der aufgelösten Formen und Leer räume entsprechen, identifiziert wird; (ii) die Größe der aufgelösten Formen und Leerräume bestimmt; (iii) eine verlorene Elementmatrix in Abhängigkeit von dem großen Formsignal und der Größe der aufgelösten Formen und Leerräume erzeugt, und (iv) auf der Basis der verlorenen Elementmatrix und der bestimmten Größe der aufgelösten Formen ein Signal erzeugt, das die in dem Symbol kodierte Information angibt.
einen Sensor (54), der Licht empfängt, das von dem maschinenlesbaren Symbol reflektiert wird, und ein Ausgangssignal daraus erzeugt, das die Reflektanz der Formen und Leerräume darstellt, die das Symbol umfaßt;
einen Empfänger (56), der das Ausgangssignal empfängt und ein großes Formsignal erzeugt, das wenigstens einige der Formen und Leerräume mit den zweiten und dritten Breiten angibt, aber nicht in der Lage ist, ein Signal zu erzeugen, das wenigstens einige der Formen und Leerräume mit der ersten Breite angibt; und
einen Prozessor (60) zum Verarbeiten des großen Formsignals und zum Erzeugen eines Signals, das die in dem Symbol kodierte Information angibt, wobei der Prozessor (i) bestimmt, welche der Formen und Leerräume aufgelöst werden, indem eine Mehrzahl von Bereichen in dem großen Formsignal, die jeweils einer der aufgelösten Formen und Leer räume entsprechen, identifiziert wird; (ii) die Größe der aufgelösten Formen und Leerräume bestimmt; (iii) eine verlorene Elementmatrix in Abhängigkeit von dem großen Formsignal und der Größe der aufgelösten Formen und Leerräume erzeugt, und (iv) auf der Basis der verlorenen Elementmatrix und der bestimmten Größe der aufgelösten Formen ein Signal erzeugt, das die in dem Symbol kodierte Information angibt.
12. Vorrichtung nach Anspruch 11, dadurch gekennzeichnet, daß der Prozessor
eine Mehrzahl von Schwellwerten definiert und eine Breite jeder der Mehrzahl von Berei
chen in dem großen Formsignal an einer der Mehrzahl der Schwellwerte mißt.
13. Vorrichtung nach Anspruch 12, dadurch gekennzeichnet, daß der Prozessor die
Steigung des großen Formsignals in der Nähe jeder der Mehrzahl von Bereichen bestimmt
und auf der Basis der bestimmten Steigung bestimmt, an welcher der Mehrzahl von
Schwellwerten die Breite jeder der Mehrzahl von Bereichen zu messen ist.
14. Vorrichtung nach Anspruch 11, dadurch gekennzeichnet, daß der Prozessor
Abstände zwischen jedem der Mehrzahl von Bereichen in dem breiten Merkmalsignal mißt.
15. Vorrichtung nach Anspruch 14, dadurch gekennzeichnet, daß die verlorene
Elementmatrix die Anzahl der Formen und Leerräume mit der ersten Breite, die unaufge
löst zwischen den aufgelösten Formen und Leerräumen sind, identifiziert, wobei der Pro
zessor die verlorene Elementmatrix auf der Basis geschätzter Abstände zwischen der Mehr
zahl von Bereichen in dem großen Formsignal erzeugt und wobei der Prozessor das die in
dem Symbol kodierte Information angebende Signal erzeugt, indem er die Anzahl und den
Ort der Formen und Leerräume mit der ersten Breite bestimmt, indem er die gemessenen
Abstände bezüglich der Mehrzahl von Bereichen in dem großen Formsignal mit den ge
schätzten Abständen in der verlorenen Elementmatrix vergleicht.
16. Vorrichtung nach Anspruch 14, dadurch gekennzeichnet, daß der Prozessor
Abstände mißt durch Identifizieren eines Mittelpunkts für jedes Element der Mehrzahl von
Bereichen in dem großen Formsignal und durch Messen der Abstände zwischen den Mittel
punkten der Mehrzahl von Bereichen.
17. Vorrichtung nach Anspruch 11, dadurch gekennzeichnet, daß der Prozessor die
Breite der Formen und Leerräume mit der ersten Breite auf der Basis des großen Form
signals bestimmt.
18. Vorrichtung nach Anspruch 17, dadurch gekennzeichnet, daß der Prozessor die
Breite der Formen und Leerräume mit der ersten Breite durch Messen wenigstens eines
Abstands bezüglich der Mehrzahl der Bereiche in dem großen Formsignal und durch Divi
dieren des gemessenen Abstands durch einen vorgegebenen Betrag bestimmt, um die Breite
der Formen und Leerräume mit der ersten Breite zu bestimmen.
19. Vorrichtung nach Anspruch 11, dadurch gekennzeichnet, daß der Prozessor auf
der Basis der gemessenen Breiten der Mehrzahl von Bereichen feststellt, welche der aufge
lösten Formen und Leerräume die zweite Breite besitzen und welche der Formen und Leer
räume die dritte Breite besitzen.
20. Vorrichtung zum Dekodieren eines maschinenlesbaren Symbols (53), das ko
dierte Information darstellt, wobei das maschinenlesbare Symbol eine Mehrzahl von ge
trennten, zweidimensionalen Formen umfaßt, wobei die geometrischen Formen und Leer
räume zwischen den Formen Größen mit wenigstens ersten, zweiten und dritten Breiten in
wenigstens einer Dimension besitzen, wobei die zweiten und dritten Breiten größer sind als
die erste Breite, dadurch gekennzeichnet, daß die Vorrichtung umfaßt:
einen Sensor (54), der Licht empfängt, das von dem maschinenlesbaren Symbol reflektiert wird, und ein Ausgangssignal daraus erzeugt, das die Reflektanz der Formen und Leerräume darstellt, die das Symbol umfaßt;
einen Empfänger (56), der das Ausgangssignal empfängt und ein großes Formsignal erzeugt, das wenigstens einige der Formen und Leerräume mit den zweiten und dritten Breiten angibt, aber nicht in der Lage ist, ein Signal zu erzeugen, das wenigstens einige der Formen und Leerräume mit der ersten Breite angibt;
einen Detektionsschaltkreis (410), der bestimmt, welche der Formen und Leerräume aufgelöst werden, indem eine Mehrzahl von Bereichen in dem großen Formsignal, die jeweils einer der aufgelösten Formen und Leerräume entsprechen, identifiziert wird;
einen ersten Meßschaltkreis (412), der ein Abstandssignal erzeugt, das Abstände zwischen jedem der Mehrzahl von Bereichen in dem großen Formsignal angibt, und der ein Größensignal erzeugt, das die Größe der aufgelösten Formen und Leerräume angibt; und
einen Dekodierschaltkreis (416), der die Anzahl und die Orte der Formen und Leer räume mit der ersten Breite durch Analyse des Abstandssignals und des Größensignals bestimmt und der daraus ein Signal erzeugt, das die in dem Symbol kodierte Information angibt.
einen Sensor (54), der Licht empfängt, das von dem maschinenlesbaren Symbol reflektiert wird, und ein Ausgangssignal daraus erzeugt, das die Reflektanz der Formen und Leerräume darstellt, die das Symbol umfaßt;
einen Empfänger (56), der das Ausgangssignal empfängt und ein großes Formsignal erzeugt, das wenigstens einige der Formen und Leerräume mit den zweiten und dritten Breiten angibt, aber nicht in der Lage ist, ein Signal zu erzeugen, das wenigstens einige der Formen und Leerräume mit der ersten Breite angibt;
einen Detektionsschaltkreis (410), der bestimmt, welche der Formen und Leerräume aufgelöst werden, indem eine Mehrzahl von Bereichen in dem großen Formsignal, die jeweils einer der aufgelösten Formen und Leerräume entsprechen, identifiziert wird;
einen ersten Meßschaltkreis (412), der ein Abstandssignal erzeugt, das Abstände zwischen jedem der Mehrzahl von Bereichen in dem großen Formsignal angibt, und der ein Größensignal erzeugt, das die Größe der aufgelösten Formen und Leerräume angibt; und
einen Dekodierschaltkreis (416), der die Anzahl und die Orte der Formen und Leer räume mit der ersten Breite durch Analyse des Abstandssignals und des Größensignals bestimmt und der daraus ein Signal erzeugt, das die in dem Symbol kodierte Information angibt.
21. Vorrichtung nach Anspruch 20, dadurch gekennzeichnet, daß sie außerdem
einen Steigungsdetektionsschaltkreis (414) umfaßt, der ein Steigungssignal für jeden der
Mehrzahl von Bereichen des großen Formsignals erzeugt.
22. Vorrichtung nach Anspruch 20, dadurch gekennzeichnet, daß sie außerdem
umfaßt:
einen Schwellwertschaltkreis (414), der eine Mehrzahl von Schwellwerten für das große Formsignal erzeugt und die Größen der aufgelösten Formen und Leerräume identifi ziert; und
einen zweiten Meßschaltkreis, der die Breite für jeden Bereich an einem Schwell wert mißt und ein Meßsignal erzeugt, wobei das Meßsignal angibt, welche der aufgelösten Formen und Leerräume den Formen und Leerräumen mit der zweiten Breite und welche der aufgelösten Formen und Leerräume den Formen und Leerräumen mit der dritten Breite entsprechen.
einen Schwellwertschaltkreis (414), der eine Mehrzahl von Schwellwerten für das große Formsignal erzeugt und die Größen der aufgelösten Formen und Leerräume identifi ziert; und
einen zweiten Meßschaltkreis, der die Breite für jeden Bereich an einem Schwell wert mißt und ein Meßsignal erzeugt, wobei das Meßsignal angibt, welche der aufgelösten Formen und Leerräume den Formen und Leerräumen mit der zweiten Breite und welche der aufgelösten Formen und Leerräume den Formen und Leerräumen mit der dritten Breite entsprechen.
23. Vorrichtung nach Anspruch 20, dadurch gekennzeichnet, daß der Dekodier
schaltkreis (416) ein Mikroprozessor ist.
24. Verfahren zum Dekodieren eines Profils, das von einem maschinenlesbaren
Symbol (53) erzeugt wird, das kodierte Information darstellt, wobei das Symbol von einer
Symbologie ist, die eine neue Identifikationsparität besitzt, und eine Mehrzahl von getrenn
ten, zweidimensionalen, geometrischen Formen umfaßt, wobei die Formen und Leerräume
zwischen den Formen Größen mit wenigstens ersten, zweiten und dritten Breiten in wenig
stens einer Dimension besitzen, wobei die zweiten und dritten Breiten größer sind als die
erste Breite, wobei das Profil wenigstens einige der Formen und Leerräume mit den zwei
ten und dritten Breiten auflöst aber nicht wenigstens einige der Formen und Leerräume mit
der ersten Breite auflöst, wobei die Leerräume eine höhere Reflektivität besitzen als die
Formen, wobei das Verfahren dadurch gekennzeichnet ist, daß es folgende Schritte umfaßt:
Bestimmen der Größe der aufgelösten Formen und Leerräume; und
Bestimmen der in dem Symbol kodierten Information auf der Basis der festgestell ten Größe der aufgelösten Formen und Leerräume und der Parität des Symbols.
Bestimmen der Größe der aufgelösten Formen und Leerräume; und
Bestimmen der in dem Symbol kodierten Information auf der Basis der festgestell ten Größe der aufgelösten Formen und Leerräume und der Parität des Symbols.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US08/386,745 US5514858A (en) | 1995-02-10 | 1995-02-10 | Method and apparatus for decoding unresolved complex multi-width bar code symbology profiles |
Publications (1)
Publication Number | Publication Date |
---|---|
DE19604767A1 true DE19604767A1 (de) | 1996-08-14 |
Family
ID=23526874
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE19604767A Withdrawn DE19604767A1 (de) | 1995-02-10 | 1996-02-09 | Verfahren und Vorrichtung zum Dekodieren von unaufgelösten, komplexen Strichkodesymbologieprofilen mit verschiedenen Breiten |
Country Status (3)
Country | Link |
---|---|
US (1) | US5514858A (de) |
JP (1) | JPH0950473A (de) |
DE (1) | DE19604767A1 (de) |
Families Citing this family (56)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6032861A (en) * | 1995-01-03 | 2000-03-07 | Lemelson; Jerome H. | Method and apparatus for encoding and decoding bar codes with primary and secondary information and method of using such bar codes |
US6543691B1 (en) * | 1995-01-03 | 2003-04-08 | Jerome H. Lemelson | Method and apparatus for encoding and decoding bar codes with primary and secondary information and method of using such bar codes |
US5969325A (en) * | 1996-06-03 | 1999-10-19 | Accu-Sort Systems, Inc. | High speed image acquisition system and method of processing and decoding barcode symbol |
US5811779A (en) * | 1996-08-22 | 1998-09-22 | General Electric Company | Laser bar code reader system for a fuel rod in a boiling water nuclear reactor |
US5861616A (en) * | 1996-10-01 | 1999-01-19 | Mustek Systems, Inc. | Method and device for recognizing a waveform of an analog signal |
US5877486A (en) * | 1996-10-11 | 1999-03-02 | Intermec Ip Corp. | Method and apparatus for enhancing resolution of reflectance signals produced from machine-readable symbols |
US5798513A (en) * | 1996-12-03 | 1998-08-25 | Intermec Corporation | Method and apparatus for decoding unresolved profiles produced from relief formed symbols |
US5936224A (en) * | 1996-12-11 | 1999-08-10 | Intermec Ip Corporation | Method and apparatus for reading machine-readable symbols by employing a combination of multiple operators and/or processors |
US6321984B1 (en) | 1997-02-25 | 2001-11-27 | Dresser Equipment Group, Inc. | Adjustable price fuel dispensing system |
US20010001203A1 (en) * | 2000-04-04 | 2001-05-17 | Mccall Don C. | Fuel dispensing system |
ATE196954T1 (de) | 1997-08-01 | 2000-10-15 | Datalogic Spa | Verfahren zum abtasten eines strichkodes |
US7653571B2 (en) | 1998-04-24 | 2010-01-26 | Excentus Corporation | System and method for generating price-per-gallon discounts for fuel |
US6328213B1 (en) | 1998-06-12 | 2001-12-11 | Symbol Technologies, Inc. | Method of processing an analog electrical signal containing information representative of reflected light from coded indicia, wherein the electrical signal contains edge transitions |
US7147161B2 (en) * | 1998-06-12 | 2006-12-12 | Symbol Technologies, Inc. | Digitizing bar code symbol data |
US6513714B1 (en) * | 1998-09-14 | 2003-02-04 | Psc Scanning, Inc. | Character reconstruction and element level processing in bar code scanning system |
US6454168B1 (en) | 1998-09-14 | 2002-09-24 | Psc Scanning, Inc. | Correlation and stitching techniques in a bar code scanning system |
US6585157B2 (en) | 1998-09-14 | 2003-07-01 | Psc Scanning, Inc. | Symbology determination to aid decoding in a bar code scanning system |
US6164542A (en) * | 1998-11-03 | 2000-12-26 | Intermec Ip Corp. | Method and apparatus for decoding unresolved symbol profiles produced from a reduced data set |
US6478223B1 (en) | 2000-01-12 | 2002-11-12 | Intermec Ip Corporation | Machine-readable color symbology and method and apparatus for reading same with standard readers such as laser scanners |
US8682077B1 (en) | 2000-11-28 | 2014-03-25 | Hand Held Products, Inc. | Method for omnidirectional processing of 2D images including recognizable characters |
US7299989B2 (en) * | 2000-12-15 | 2007-11-27 | Symbol Technologies, Inc. | System and method for decoding and encoding compensated optical codes |
US6834803B2 (en) * | 2000-12-15 | 2004-12-28 | Symbol Technologies, Inc. | Ink-spread compensated bar code symbology and compensation methods |
US6672510B2 (en) * | 2001-12-20 | 2004-01-06 | Scannabar (3193519 Canada Inc.) | Bar code arrangement for identifying positions along an axis |
JP4070631B2 (ja) * | 2003-02-21 | 2008-04-02 | 富士通株式会社 | バーコード読取装置およびバーコード読取方法 |
US7823783B2 (en) | 2003-10-24 | 2010-11-02 | Cognex Technology And Investment Corporation | Light pipe illumination system and method |
US9070031B2 (en) | 2003-10-24 | 2015-06-30 | Cognex Technology And Investment Llc | Integrated illumination assembly for symbology reader |
US7604174B2 (en) | 2003-10-24 | 2009-10-20 | Cognex Technology And Investment Corporation | Method and apparatus for providing omnidirectional lighting in a scanning device |
US9536124B1 (en) | 2003-10-24 | 2017-01-03 | Cognex Corporation | Integrated illumination assembly for symbology reader |
US7823789B2 (en) | 2004-12-21 | 2010-11-02 | Cognex Technology And Investment Corporation | Low profile illumination for direct part mark readers |
US7874487B2 (en) * | 2005-10-24 | 2011-01-25 | Cognex Technology And Investment Corporation | Integrated illumination assembly for symbology reader |
US7204422B2 (en) * | 2004-06-10 | 2007-04-17 | Psc Scanning, Inc. | System, circuit, and method for edge detection in a binary optical code |
US7201322B2 (en) * | 2004-06-10 | 2007-04-10 | Psc Scanning, Inc. | System, circuit, and method for edge detection in a binary optical code |
US20060027657A1 (en) | 2004-08-04 | 2006-02-09 | Laurens Ninnink | Method and apparatus for high resolution decoding of encoded symbols |
US7175090B2 (en) * | 2004-08-30 | 2007-02-13 | Cognex Technology And Investment Corporation | Methods and apparatus for reading bar code identifications |
US9292724B1 (en) | 2004-12-16 | 2016-03-22 | Cognex Corporation | Hand held symbology reader illumination diffuser with aimer optics |
US7617984B2 (en) | 2004-12-16 | 2009-11-17 | Cognex Technology And Investment Corporation | Hand held symbology reader illumination diffuser |
US7963448B2 (en) * | 2004-12-22 | 2011-06-21 | Cognex Technology And Investment Corporation | Hand held machine vision method and apparatus |
US9552506B1 (en) | 2004-12-23 | 2017-01-24 | Cognex Technology And Investment Llc | Method and apparatus for industrial identification mark verification |
JP4254724B2 (ja) * | 2005-02-16 | 2009-04-15 | 株式会社デンソーウェーブ | バーコード読取り方法及びコンピュータプログラム |
WO2007035863A2 (en) | 2005-09-21 | 2007-03-29 | Intermec Ip Corp. | Radio frequency identification tags based on coalition formation |
US7614563B1 (en) | 2005-12-29 | 2009-11-10 | Cognex Technology And Investment Corporation | System and method for providing diffuse illumination in a symbology reader |
US8120461B2 (en) * | 2006-04-03 | 2012-02-21 | Intermec Ip Corp. | Automatic data collection device, method and article |
US8108176B2 (en) * | 2006-06-29 | 2012-01-31 | Cognex Corporation | Method and apparatus for verifying two dimensional mark quality |
US8002173B2 (en) * | 2006-07-11 | 2011-08-23 | Intermec Ip Corp. | Automatic data collection device, method and article |
US8169478B2 (en) * | 2006-12-14 | 2012-05-01 | Cognex Corporation | Method and apparatus for calibrating a mark verifier |
US7546955B2 (en) * | 2007-03-16 | 2009-06-16 | Intermec Ip Corp. | Systems, devices, and methods for reading machine-readable characters and human-readable characters |
JP2009075701A (ja) * | 2007-09-19 | 2009-04-09 | Canon Finetech Inc | バーコード生成システム、バーコード生成プログラム、印刷装置およびテストチャート |
US9734376B2 (en) | 2007-11-13 | 2017-08-15 | Cognex Corporation | System and method for reading patterns using multiple image frames |
US8267321B2 (en) * | 2008-02-11 | 2012-09-18 | International Business Machines Corporation | Enhanced-density barcode |
CN102057326A (zh) * | 2008-06-06 | 2011-05-11 | Opto电子有限公司 | 光学仪器的自动聚焦控制 |
JP5379626B2 (ja) * | 2009-09-29 | 2013-12-25 | 日本電産サンキョー株式会社 | スタック型バーコード情報読取方法及びスタック型バーコード情報読取装置 |
JP5683891B2 (ja) * | 2010-10-07 | 2015-03-11 | 日本電産サンキョー株式会社 | スタック型バーコード読取装置およびスタック型バーコード読取方法 |
US9361499B2 (en) | 2014-10-09 | 2016-06-07 | Cognex Corporation | Barcode decoding |
US10599902B2 (en) | 2014-10-09 | 2020-03-24 | Cognex Corporation | Methods and apparatus for decoding under-resolved symbols |
US9607200B2 (en) | 2014-10-09 | 2017-03-28 | Cognex Corporation | Decoding barcodes |
US9686428B2 (en) * | 2015-02-26 | 2017-06-20 | Konica Minolta, Inc. | Equipment to determine line width of check image and image-forming apparatus using the same |
Family Cites Families (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US1985035A (en) * | 1930-11-05 | 1934-12-18 | Westinghouse Electric & Mfg Co | Card sorter |
US2612994A (en) * | 1949-10-20 | 1952-10-07 | Norman J Woodland | Classifying apparatus and method |
GB1086092A (en) * | 1963-11-05 | 1967-10-04 | Svenska Dataregister Ab | Data record and method of manufacture |
GB1280677A (en) * | 1968-06-27 | 1972-07-05 | Rca Corp | Article designating and identification system |
US3784792A (en) * | 1972-03-29 | 1974-01-08 | Monarch Marking Systems Inc | Coded record and methods of and apparatus for encoding and decoding records |
US4013893A (en) * | 1975-08-07 | 1977-03-22 | Welch Allyn, Inc. | Optical bar code scanning device |
US4056710A (en) * | 1976-04-16 | 1977-11-01 | Coherent Radiation | System for decoding bar code |
US4379224A (en) * | 1981-05-26 | 1983-04-05 | Honeywell Inc. | Apparatus for interpreting Code 39 bar code data |
JPS61131074A (ja) * | 1984-11-29 | 1986-06-18 | Yokohama Rubber Co Ltd:The | 凹凸バ−コ−ドの読取方法 |
US4782220A (en) * | 1986-09-29 | 1988-11-01 | Mars, Incorporated | Method and apparatus for bar code data autodiscrimination |
EP0287913B1 (de) * | 1987-04-22 | 1993-03-03 | Abbott Laboratories | Abtaster und Format eines optischen Codes |
FR2622992B1 (fr) * | 1987-11-06 | 1990-02-09 | Thomson Semiconducteurs | Procede de lecture de codes a barres |
FR2635207B1 (fr) * | 1988-08-02 | 1990-10-19 | Sud Systemes | Procede et dispositif de traitement d'un signal electrique analogique en vue d'obtenir un signal binaire parametrable representatif de sa composante significative |
JP2886545B2 (ja) * | 1989-03-03 | 1999-04-26 | 富士通株式会社 | マージン認識方法及びバーコード読取り装置 |
US5080456A (en) * | 1990-02-26 | 1992-01-14 | Symbol Technologies, Inc. | Laser scanners with extended working range |
US5268562A (en) * | 1990-03-30 | 1993-12-07 | National Film Board Of Canada | Optical dual sensor bar code scanning system |
US5231293A (en) * | 1991-10-31 | 1993-07-27 | Psc, Inc. | Bar code reading instrument which prompts operator to scan bar codes properly |
DE4208082C1 (en) * | 1992-03-13 | 1993-02-11 | Agfa-Gevaert Ag, 5090 Leverkusen, De | Reading bar=code on edge of photographic film - ascertaining code start and end and thus length by relative speed between film and sensor arrangement |
US5276315A (en) * | 1992-05-14 | 1994-01-04 | United Parcel Service Of America, Inc. | Method and apparatus for processing low resolution images of degraded bar code symbols |
US5389770A (en) * | 1993-01-22 | 1995-02-14 | Intermec Corporation | Method and apparatus for decoding unresolved bar code profiles |
-
1995
- 1995-02-10 US US08/386,745 patent/US5514858A/en not_active Expired - Lifetime
-
1996
- 1996-02-09 DE DE19604767A patent/DE19604767A1/de not_active Withdrawn
- 1996-02-13 JP JP8061579A patent/JPH0950473A/ja active Pending
Also Published As
Publication number | Publication date |
---|---|
JPH0950473A (ja) | 1997-02-18 |
US5514858A (en) | 1996-05-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE19604767A1 (de) | Verfahren und Vorrichtung zum Dekodieren von unaufgelösten, komplexen Strichkodesymbologieprofilen mit verschiedenen Breiten | |
DE112011102991B4 (de) | Verfahren und Vorrichtung zur 3D-Vermessung durch Erfassung eines vorbestimmten Musters | |
US5814801A (en) | Maxicode data extraction using spatial domain features exclusive of fourier type domain transfer processing | |
DE102015219541A1 (de) | Dekodieren von strichcodes | |
DE69633908T2 (de) | Anti-handzitter datenformatleser und verfahren | |
DE69625583T2 (de) | Datenformleser | |
DE69728482T2 (de) | Zweidimensionaler Codeleser | |
US5877486A (en) | Method and apparatus for enhancing resolution of reflectance signals produced from machine-readable symbols | |
US5777309A (en) | Method and apparatus for locating and decoding machine-readable symbols | |
DE60013101T2 (de) | Zweidimensionales codemuster zum speichern biometrischer informationen und vorrichtung zum lesen dieser informationen | |
DE19722439A1 (de) | Verfahren und Vorrichtung zur Auffindung und Dekodierung maschinenlesbarer Symbole einschließlich Datenmatrixsymbolen | |
US20040026511A1 (en) | Guiding a scanning device to decode 2D symbols | |
EP0543593A2 (de) | Verfahren zur Bestimmung von Wortgrenzen im Text | |
DE112013005794T5 (de) | Dreidimensionaler Scanner und Betriebsverfahren | |
DE10123406A1 (de) | Verfahren zum Erfassen von zweidimensionalen Codes | |
CN107633192A (zh) | 一种基于机器视觉的复杂背景下条形码分割与识读方法 | |
DE19624900A1 (de) | Verfahren und Gerät zum Decodieren nicht aufgelöster Balkencode-Profile unter Verwendung eines Kantenfindungs-Schaltkreises | |
DE19924144C2 (de) | Schiefekorrekturapparat und -verfahren | |
JPH07200712A (ja) | バーコード読み取りの方法および装置 | |
WO2008086498A2 (en) | Methods and systems for optical code reading using virtual scan lines | |
CN102763121B (zh) | 用于解码线性条码的方法 | |
DE3718620C2 (de) | ||
CN105512598A (zh) | 一种qr码图像取样的自适应匹配识别方法 | |
DE19705747A1 (de) | Verfahren und Vorrichtung zur Ermittlung und Decodierung von maschinenlesbaren Symbolen | |
EP0643363B1 (de) | Verfahren zum Vergleichen von Mustern basierend auf der Verwendung von Bildelementmatritzen und Bildelementvektoren |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8139 | Disposal/non-payment of the annual fee |