Die Erfindung betrifft
eine optisch
lesbare Kennzeichnung,
nach dem Oberbegriff der Ansprüche 1 und 2, d. h. eine Kennzeichnung,
die auf einem Substrat ange
bracht wird, um innerhalb eines bestimmten zweidimensionalen
Datenfeldes Informationen aufzunehmen und zu speichern, wo
bei das Datenfeld aus einer Anzahl von Polygonen besteht,
die jeweils eine von wenigstens zwei verschiedenen optischen
Eigenschaften aufweisen.
Waren, Einzelteile, Briefe, Pakete, Behälter und sonstige
Gegenstände, die zu versenden oder zu transportieren sind,
sind wiederholt bezüglich der Herkunft, der Flugnummer, dem
Bestimmungsort, dem Namen, dem Preis, der Teilenummer und
zahlreicher anderer Informationen zu identifizieren. Eine
andere Anwendung beinhaltet das Lesen von kodierten Informa
tionen, die sich auf Etiketten oder Kennzeichnungen befin
den, um automatisch Verkaufszahlen und den Bestand zu er
fassen oder um elektronischen Registrierkassen zugeführt
werden zu können. Weitere Anwendungen solcher kodierten
Kennzeichnungen beinhalten das automatische Sortieren und
Weiterleiten von Post, Paketen, Gepäck und dergleichen, und
das Anbringen von Kennzeichnungen mit Herstellungsanweisun
gen auf Rohmaterialien oder Einzelteilen für einen Herstel
lungsvorgang. Die Kennzeichnungen für derartige Artikel sind
herkömmlich mit einem Strichkode versehen, beispielsweise
dem UPC-Strichkode. Es ist eine ganze Anzahl von verschie
denen Strichkodesystemen bekannt.
Die herkömmlichen Strichkodesysteme weisen jedoch eine zu
geringe Datendichte auf, um den Anforderungen zum Speichern
von immer mehr Informationen auf immer kleineren Etiketten
oder Kennzeichnungen zu erfüllen. Eine Verringerung der
Größe und des Abstandes der Streifen in den verschiedenen
Strichkodesystemen ergibt keine Lösung des Problems; Systeme
und optische Scanner mit ausreichender Auflösung zur Fest
stellung von Streifen, die 75 µm oder weniger Abstand haben,
und die geforderten geringen Toleranzen beim Druckvorgang
sind einfach nicht wirtschaftlich. Um eine größere Datenmen
ge aufzunehmen, müssen daher sehr große Etiketten verwendet
werden, mit dem Ergebnis, daß diese Etiketten nicht mehr auf
kleinere Gegenstände passen. Ein weiterer wesentlicher Fak
tor sind die Kosten für das Etikettenmaterial, beispiels
weise Papier. Das Papier für ein kleineres Etikett kostet
weniger als das für ein großes Etikett; bei großen Mengen
sind diese Kosten ein erheblicher Faktor.
Bekannte Alternativen zum Strichkode sind: Runde Formate mit
radial angeordneten, keilförmigen Kodeelementen (US-PS
35 53 438) oder konzentrische schwarze und weiße Bit-kodier
te Ringe (US-PS 39 71 917 und US-PS 39 16 160); Gitter aus
Zeilen und Spalten von kodierten Quadraten oder Rechtecken
(US-PS 42 86 146, GB-PS 12 16 539); mikroskopische Punkte, die in Zellen an
geordnet sind, die ein reguläres Gitter bilden (US-PS
46 34 850); und dicht gepackte vielfarbige Datenfelder aus
Punkten oder Elementen (US-PS 44 88 679). Einige dieser Bei
spiele haben keine ausreichende Datendichte; etwa die ko
dierten runden Muster oder die Gitter aus rechteckigen oder
quadratischen Flächen. Die Gitter mit mikrospischen Punkten
oder mit vielfarbigen Elementen erfordern eine spezielle
Ausrichtung und Beförderung, um gelesen werden zu können,
wodurch ihre Verwendbarkeit entsprechend eingeschränkt ist.
Aufgrund der Größe und Geschwindigkeit moderner Beförde
rungssysteme mit zum Beispiel Förderbändern von 90 bis 120 cm
Breite und Bandgeschwindigkeiten von 2,5 m/sec oder mehr,
die Gegenstände verschiedener Höhen transportieren, und dem
Bedürfnis nach kleinen, billigen, kompakten Kennzeichnungen
oder Etiketten mit einer Fläche von etwa 6,25 cm2 (einem
Quadratzoll) werden große Anstrengungen auf dem Gebiet der
Erfassung und dem Auslesen der kodierten Kennzeichnungen auf
diesen sich schnell bewegenden Gegenständen unternommen. Das
erfaßte oder identifizierte Abbild der Kennzeichnung muß
richtig dekodiert werden, bevor der Gegenstand auf dem För
derband die nächste Arbeitsposition erreicht, oft in Bruch
teilen einer Sekunde. Es besteht daher das Bedürfnis nach
einer einfachen, schnellen und billigen Einrichtung zum Si
gnalisieren des Vorhandenseins einer kodierten Kennzeichnung
im Blickfeld eines optischen Scanners, der so angebracht
ist, daß er das gesamte Förderband abtasten kann. Gleichzei
tig sollen die Daten mit hoher Dichte angeordnet sein.
Datenfelder mit Erfassungszielen sind bereits bekannt, zum
Beispiel konzentrische geometrische Figuren mit Ringen,
Quadraten, Dreiecken, Sechsecken und Variationen davon, wie
in den US-PSn 35 13 320 und 36 03 728 beschrieben. In den
US-PSn 36 93 154 und 38 01 775 ist die Anwendung von Sym
bolen beschrieben, die als Identifikations- und Positions
indikatoren konzentrische Kreise enthalten, wobei die Sym
bole an den optisch abzutastenden Gegenständen befestigt
sind. Diese bekannten Systeme beinhalten jedoch die Ver
wendung zweier getrennter Symbole zur Bestimmung der Iden
tifikation des Datenfeldes und dessen Position, wodurch die
zur Feststellung der Symbole erforderliche logische Schal
tung kompliziert wird und wodurch sich außerdem die Daten
kapazität des zugehörigen Datenfeldes verringert. Bei dieser
Verwendung zweier Symbole führt die Beschädigung eines Sym
bols zu Schwierigkeiten in der Lokalisierung der Position
des Datenfeldes und der damit verbundenen Fähigkeit zur
Gewinnung von Informationen aus dem Datenfeld. Bei den
letztgenannten Systemen werden an entgegengesetzten Enden
von Datenspuren mit kodierten linearen Kennzeichnungen ge
trennte Positions- und Orientierungs-Kennzeichen verwendet,
mit der Folge, daß die Fähigkeit zur Aufnahme von Daten
begrenzt ist.
Die vorstehenden Systeme werden mit einem optischen Sensor
abgetastet, der ein Bild-Ausgangssignal erzeugt, das den
Änderungen in der Intensität des Lichts entspricht, das vom
Datenfeld und den Positions- und Orientierungssymbolen
reflektiert wird. Das Ausgangssignal solcher Systeme hat
nach seiner Digitalisierung jeweils ein bestimmtes Bitmu
ster, das mit vorgegebenen Bitfolgen verglichen wird. Diese
Systeme haben jedoch den Nachteil, daß zwei getrennte Sym
bole erforderlich sind, um zuerst die Abbildung zu erfassen
und dann dessen Orientierung zu bestimmen. Auch können beim
Vorgang des Vergleichens des digitalisierten Ausgangssigna
les des optischen Sensors mit vorbestimmten Bitfolgen, die
sowohl die Positions- als auch die Orientierungssymbole dar
stellen, leicht Auslesefehler auftreten, da bei den bekann
ten Kennzeichnungserfassungssystemen die Charakterisierung
des Erfassungsziel-Signalpegels nicht flexibel ist.
In der US-PS 35 53 438 ist eine kreisförmige Datenanordnung
mit einem zentral angeordneten Erfassungsziel beschrieben,
das eine Reihe von konzentrischen Kreisen aufweist. Das Er
fassungsziel stellt eine Einrichtung zum Erfassen des kreis
förmigen Etikettes durch den optischen Sensor und der Be
stimmung seines geometrischen Mittelpunktes und damit des
geometrischen Mittelpunktes der kreisförmigen Datenanordnung
dar. Diese Bestimmung erfolgt durch eine Logikschaltung, die
das Impulsmuster erkennt, das die Kreisform des Erfassungs
zieles darstellt. Wie bei den Strichkodes hat jedoch das
Datenfeld nur eine geringe Datenkapazität, und das System
erfordert eine zweite Kreisabtastung. Die Verwendung einer
linearen und kreisförmigen Abtastung bei einem solchen Sy
stem mit begrenzter Datenkapazität würde sehr viel Aufwand
zur Erzielung einer nur geringfügigen Erhöhung der Daten
kapazität im Vergleich zu herkömmlichen Strichkodes be
dingen.
Zur Erhöhung der Datenkapazität wurden Kodes mit dichtge
packten mehrfarbigen Punkten entwickelt, wie sie in der
US-PS 44 88 679 beschrieben sind. Systeme dieser Art erfor
dern jedoch die Verwendung von in der Hand gehaltenen opti
schen Scannern, was es vollständig unmöglich macht, sich
schnell bewegende Datenfelder an einem Gegenstand auf einem
schnellen Förderband aufzunehmen und zu dekodieren. Hoch
dichte Kodesysteme mit mikroskopischen Datenpunkten, wie in
der US-PS 46 34 850 beschrieben, erfordern besondere Trans
porteinrichtungen, um sicherzustellen, daß sich das Daten
feld genau in einer vorgegebenen Richtung bewegt, und sind
bei beliebiger Ausrichtung, wie sie beim Transport von Ge
genständen auf Förderbändern typisch sind, nicht anwendbar.
Das kodierte Etikett muß dabei Spur um Spur gelesen werden,
wozu ein linearer Scanner vorgesehen ist, der mit der Trans
porteinrichtung verbunden ist. Die Position des Etiketts be
züglich des Sensors muß dabei sehr genau eingehalten werden,
um das Etikett richtig abzulesen.
In Verbindung mit Strichkodes wurden auch bereits Mehrfarb
systeme verwendet, um die optischen Probleme des Abtastens
eng benachbarter Streifen zu überwinden. Ein Strichkode mit
mehr als zwei optischen Eigenschaften zur Kodierung von Da
ten in einem Datenfeld, beispielsweise durch die abwechseln
de Verwendung von schwarzen, grauen und weißen Streifen, ist
in der US-PS 44 43 694 beschrieben. Jedoch kann auch mit
solchen Systemen die Datendichte nicht soweit angehoben wer
den, daß sie den Erfordernissen entspricht.
Aufgabe der Erfindung ist es daher, eine kompakte, optische
lesbare Kennzeichnung mit hoher Informationsdichte zu schaf
fen, die leicht lesbar ist, sowie eine Vorrichtung zu deren
Erfassung und Dekodierung und deren Verwendung.
Die Lösung dieser Aufgabe ist in den Patentansprüchen 1, 2, 9 und 10 angegeben.
Aufgrund der leichten Lesbarkeit können die Kennzeichnungen von einem optischen Sensor auch dann gele
sen werden, wenn sie sich an einem Gegenstand befin
den, der mit hoher Geschwindigkeit bewegt wird, wobei die
Orientierung und die Höhe des Gegenstandes keine Rolle spie
len sollen.
Die optisch lesbare Kennzeichnung kann mit einer Dekodier
vorrichtung kombiniert werden, die die Kennzeichnung
zuverlässig dekodiert, auch wenn die Kennzeichnung verkippt,
gekrümmt, verzerrt, teilweise entfernt oder teilweise
zerrissen ist.
Das Gitter kann in der Ebene der Kenn
zeichnung zwei oder mehr Achsen mit gleichen oder ungleichen
Winkelabständen aufweisen.
Die Polygone auf der Kennzeichnung können vollständig, teil
weise oder überhaupt nicht zusammenhängen. Die letzteren
beiden Anordnungen ergeben eine Anzahl von Zwischenräumen
zwischen benachbarten Polygonen. Diese Zwischenräume können
die gleichen oder andere optische Eigenschaften wie die Po
lygone haben. Es können zweidimensionale Anordnungen zusam
menhängender Polygone mit fünf oder mehr Seiten für die
Kennzeichnung verwendet werden. Auch können zweidimensionale
Anordnungen regelmäßiger oder unregelmäßiger und teilweise
oder nicht zusammenhängender Polygone mit drei oder mehr
Seiten verwendet werden, wenn sie auf bestimmten Achsen
eines solchen Feldes angeordnet werden.
Zusätzlich kann die erfindungsgemäße Kennzeichnung ein Er
fassungsziel aus einer Anzahl von konzentrischen Ringen auf
weisen, das die Lokalisierung der Kennzeichnung erleichtert,
insbesondere bei dynamischen Lesesystemen.
In einer bevorzugten Ausführungsform beinhaltet das Daten
feld ein im allgemeinen quadratisches Array von 6,25 cm2
Fläche mit zusammenhängenden Sechsecken, die Zeilen und
Spalten bilden, und mit einem in der Mitte befindlichen Er
fassungsziel mit einem geometrischen Mittelpunkt, der den
geometrischen Mittelpunkt des Datenfeldes bestimmt. Das Er
fassungsziel kann eine beliebige geometrische Form mit opti
schen Eigenschaften haben, die ein leicht erkennbares Bild
signal ergeben, wenn es mit einem optischen Sensor entlang
einer linearen Abtastzeile abgetastet wird, die durch den
Mittelpunkt des Erfassungszieles verläuft. Das Erfassungs
ziel besteht vorzugsweise aus einer Anzahl von konzentri
schen Ringen abwechselnder Reflektivität, die ein periodi
sches Bildsignal ergeben, wenn sie geradlinig abgetastet
werden. Durch Verwendung von Analogfiltern bei der Erfassung
und Dekodierung des Datenfeldes wird das vom optischen Sen
sor erzeugte Signal direkt mit einer vorgegebenen Frequenz
verglichen, wodurch ein schnelles und genaues Überprüfen der
Frequenzen und nachfolgendes Bestimmen des Ortes des Daten
feldes am Substrat möglich ist. Das von dem optischen Sensor
ausgegebene elektrische Analogsignal, das die kodierte In
formation der Kennzeichnung enthält, wird dann digitalisiert
und dekodiert. Die Verwendung eines Filterschrittes mit
einem analogen Bandpass erlaubt die Erfassung der Kennzeich
nung, ohne daß es erforderlich ist, die kodierte Information
der Kennzeichnung zu dekodieren. Durch Erfassen des Mittel
punktes des Erfassungszieles kann ein Bezugspunkt auf dem
Datenfeld bestimmt werden. Wenn der Mittelpunkt des Erfas
sungszieles sich im Mittelpunkt der Kennzeichnung befindet,
kann gleichzeitig eine Bestimmung des Mittelpunktes des Er
fassungszieles und des Datenfeldes erfolgen.
Das optisch lesbare Datenarray der erfindungsgemäßen Kenn
zeichnung kann bis zu mehrere hundert fehlergeschützte al
phanumerische Zeichen auf einer Fläche von 6,25 cm2 enthal
ten, wenn Sechsecke mit drei Reflexionseigenschaften, bei
spielsweise den Farben Schwarz, Weiß und Grau, verwendet
werden. Für einen Sensor mit einer gegebenen optischen Auf
lösung erlaubt das erfindungsgemäße System eine wesentlich
dichtere Packung der Informationen als bei einem Strichkode
system möglich wäre. Wenn beispielsweise ein hochauflösender
optischer Sensor mit dem erfindungsgemäßen System verwendet
wird, können hunderte von alphanumerischen Zeichen auf einer
Fläche von 6,25 cm2 untergebracht werden. Andererseits kön
nen auf der gleichen Fläche hundert Zeichen leicht mit einem
relativ schlecht auflösenden Sensor erfaßt werden.
Erfindungsgemäß können optisch lesbare Kennzeichnungen durch
Verwendung von zwei oder mehr kontrastierenden optischen Ei
genschaften mit verschiedenen Datendichten hergestellt wer
den. Eine größere Datendichte und das Vorsehen eines Erfas
sungszieles erfordert jedoch eine Abtastvorrichtung mit kom
plizierterem Aufbau und zusätzlich aufwendigere Dekodieral
gorithmen zum Lesen der kodierten Informationen.
Die Datenkodierung erfolgt durch Einkodieren
einer Anzahl von Bits aus einer binären Bitfolge in eine
Gruppe von benachbarten Polygonen, wobei jedes Polygon
eine von wenigstens zwei optischen Eigenschaften aufweist,
obwohl die Kodierung alternativ auch Polygon für Polygon
ausgeführt werden könnte. Die digitale Bitfolge kann auf der
Basis von manuell eingegebenen Daten durch einen Computer
erzeugt werden oder anderweitig in die binäre Bitfolge um
gewandelt werden, und es kann auch eine vorher aufgezeich
nete digitale Bitfolge verwendet werden. Die zu kodierenden
Daten werden in einer bestimmten Folge bestimmten geometri
schen Bereichen des Datenfeldes zugeordnet, um die Anzahl
der Übergänge zwischen Polygonen mit verschiedenen opti
schen Eigenschaften zu erhöhen.
Vorzugsweise werden die zu kodierenden Informationen in In
formationen hoher und niedriger Priorität aufgeteilt, die
getrennt in verschiedenen geometrischen Bereichen des Daten
feldes eingezeichnet werden. Wahlweise können die Informa
tionen hoher Priorität in den Flächen für die Informationen
niedriger Priorität dupliziert werden, um die Wahrschein
lichkeit für ein Verlorengehen der Informationen hoher Prio
rität aufgrund von Abtastfehlern durch Schmutz, Risse, Fal
ten und andere Schäden im Datenfeld zu verringern. Die In
formationen hoher Priorität sind in einem zentralen Bereich
des Datenfeldes, nahe dem vorzugsweise vorgesehenen Erfas
sungsziel, eingeschrieben, um die Informationen vor Beschä
digungen zu schützen, die eher in den Randbereichen des
Datenfeldes auftreten. Im Datenfeld können unter Verwendung
der großen Informationskapazität der erfindungsgemäßen
Kennzeichnung Möglichkeiten für eine Fehlerkorrektur vorge
sehen werden.
Zum Drucken der Kennzeichnung mit Polygonen verschiedener
optischer Eigenschaften wird ein Raster genügender Dichte
verwendet. Es können auch alternative Druckverfahren Anwen
dung finden. Das Raster ist Bit-kodiert, so daß, wenn die
Kennzeichnung gedruckt wird, die optischen Eigenschaften
eines jeden Sechsecks vorgegeben sind. Es können Standard
drucker zum Druck der Polygone mit den erforderlichen op
tischen Eigenschaften verwendet werden.
Die in dem Datenfeld aus Polygonen, vorzugsweise Sechsecken,
enthaltenen Daten werden vorzugsweise folgendermaßen aus
gelesen: Die kodierten Kennzeichnungen durchlaufen ein vor
gegebenes beleuchtetes Gebiet und werden dabei durch einen
elektronisch betriebenen optischen Sensor oder einen in der
Hand gehaltenen Scanner abgetastet. Der optische Scanner er
zeugt ein Ausgangssignal, das ein elektrisches Analogsignal
ist, das der Intensität der einzelnen reflektierenden Eigen
schaften eines Bereiches der Kennzeichnung entspricht, wie
es durch die Bildpunkte des optischen Sensors aufgezeichnet
wird. Über einen Analogfilter wird das Analogsignal des op
tischen Sensors zuerst mit einem vorbestimmten Frequenzwert
verglichen, der dem eines bestimmten Erfassungszieles ent
spricht, wenn dieses in dem Datenfeld vorgesehen ist. Wenn
eine Übereinstimmung festgestellt worden ist, wird die Kenn
zeichnung erfaßt und der Mittelpunkt des Erfassungszieles
bestimmt, wodurch auch ein Bezugspunkt für das Datenfeld
festgelegt wird. Gleichzeitig wird das Analogsignal konti
nuierlich in einem Analog/Digital-Konverter digitalisiert
und in einem Bildspeicher gespeichert. Die gespeicherten
digitalen Daten, die die gesamte Kennzeichnung darstellen,
stehen dann zur weiteren Verarbeitung und Dekodierung zur
Verfügung.
Durch logische Schaltungen mit gespeicherten Programmen wer
den die digitalen Daten in eine Abbildung der Schnittstellen
der Sechsecke mit verschieden optischen Eigenschaften umge
setzt. Vorzugsweise erfolgt dies durch Berechnen der Stan
dardabweichung der Intensitäten, die durch den optischen
Sensor an jedem Bildpunkt und einer vorbestimmten Gruppe von
Bildpunkten um diesen aufgezeichnet wurden. Große Standard
abweichungen entsprechen Übergangsbereichen an den Schnitt
stellen kontrastierender Sechsecke.
Die digitalen Daten werden dann weiter verarbeitet, unter
anderem durch Filterprogramme zur Bestimmung der Orientie
rung, der Richtung und der Abstände der Sechsecke. Die we
sentlichen Verfahrensschritte dabei sind:
- 1. Filtern der nichtlinearen transformierten Version der
digitalisierten Abbildung;
- 2. Bestimmung der Orientierung der Kennzeichnung, vorzugs
weise durch Erfassen der drei Achsen der Abbildung und
Feststellung, welche Achse zu zwei Seiten der Kenn
zeichnung parallel ist;
- 3. Suchen des Mittelpunktes eines jeden Sechseckes und Be
stimmen des Grautones am Mittelpunkt;
- 4. Umwandeln der Grautöne in eine Bitfolge;
- 5. Wahlweise Ausführen einer Fehlerkorrektur; und
- 6. Wahlweise Umwandeln der Bitfolge in einen bestimmten
Zeichensatz.
Ausführungsbeispiele für optisch lesbare Kennzeichnungen,
deren Anbringung an einem Gegenstand und deren Dekodierung
werden im folgenden anhand der Zeichnung näher erläutert. Es
zeigen:
Fig. 1 ein Erfassungsziel mit konzentrischen Ringen;
Fig. 2 einen Ausschnitt aus einer optisch lesbaren Kenn
zeichnung mit nebeneinanderliegenden Sechsecken;
Fig. 3 eine vollständige erste Ausführungsform einer op
tisch lesbaren Kennzeichnung mit nebeneinanderlie
genden Sechsecken mit drei verschiedenen optischen
Eigenschaften und mit einem Erfassungziel;
Fig. 4 eine Gruppe aus 3×3 Sechsecken, die als Grund-Ko
diereinheit dient;
Fig. 5 eine graphische Darstellung der Gruppen für ein
Datenfeld mit 33 Zeilen und 30 Spalten, die ein
Gitter aus 11 Zeilen und 10 Spalten bilden;
Fig. 6 eine Vorrichtung für das Einstellen der Position
eines optischen Sensors auf die Höhe von zu erfas
senden Gegenständen;
Fig. 7 ein Ablaufdiagramm für den Dekodiervorgang;
Fig. 8 ein Flußdiagramm für die Aufnahme des Erfassungs
zieles;
Fig. 9 ein Flußdiagramm für das Kodier- und Dekodierpro
gramm und den Datenfluß darin;
Fig. 10 ein Flußdiagramm für die Schritte bei der Verarbei
tung der Abbildung;
Fig. 11 eine Gruppe von zusammenhängenden regelmäßigen
Sechsecken, deren Mittelpunkte auf einem regelmäßi
gen hexagonalen Gitter liegen;
Fig. 12 eine Gruppe von zusammenhängenden unregelmäßigen
Sechsecken, deren Mittelpunkte auf einem unregelmä
ßigen hexagonalen Gitter liegen;
Fig. 13 eine Gruppe von teilweise zusammenhängenden Poly
gonen von im wesentlichen der Form von Sechsecken,
deren Mittelpunkte auf einem hexagonalen Gitter
liegen;
Fig. 14 eine Gruppe von zusammenhängenden Polygonen von im
wesentlichen der Form von Sechsecken, deren Mittel
punkte auf einem hexagonalen Gitter liegen;
Fig. 15 eine Kennzeichnung mit zusammenhängenden Polygonen
von im wesentlichen der Form von Sechsecken, deren
Mittelpunkte auf einem hexagonalen Gitter liegen,
und mit einem Erfassungsziel;
Fig. 16 eine Gruppe nicht zusammenhängender Quadrate, deren
Mittelpunkte auf einem hexagonalen Gitter liegen;
Fig. 17 eine Gruppe nicht zusammenhängender Rechtecke mit
Zwischenräumen, deren Mittelpunkte auf einem hexa
gonalen Gitter liegen;
Fig. 18 eine Gruppe von nicht zusammenhängenden Fünfecken,
deren Mittelpunkte auf einem hexagonalen Gitter
liegen;
Fig. 19 eine Gruppe von zusammenhängenden Rechtecken, die
versetzt angeordnet sind und deren Mittelpunkte auf
einem hexagonalen Gitter liegen; und
Fig. 20 eine Gruppe von teilweise zusammenhängenden Acht
ecken, deren Mittelpunkte auf einem rechteckigen
Gitter liegen.
Auf der Kennzeichnung sind mittels der kontrastierenden Far
ben benachbarter Sechsecke oder Zellen Informationen enthal
ten, die von einem elektrooptischen Sensor erfaßt werden
können.
Es können auch andere Polygonzellen als Sechsecke verwendet
werden, wenn die geometrischen Mittelpunkte benachbarter
Polygone auf den Ecken eines hexagonalen oder anderen vorge
gebenen Gitters liegen. In den Fig. 16 bis 18 werden die Ko
diereinheiten solcher Polygonzellen durch eine geschlossene
gestrichelte Linie dargestellt. Die Zellen sind immer in
einem bestimmten Muster angeordnet. Es können die verschie
densten Polygone verwendet werden, und Gitter verschieden
ster Geometrie, wie hexagonale, rechteckige oder quadra
tische Gitter, sind verwendbar. "Benachbarte" Polygonzellen
können zusammenhängen, teilweise zusammenhängen oder über
haupt nicht zusammenhängen.
"Zusammenhängend" sind Polygone, deren Begrenzungen sich
entlang der gesamten Peripherie berühren, so daß sich keine
Zwischenräume ergeben. "Teilweise zusammenhängende" Polygone
sind so angeordnet, daß sich die Begrenzungen entlang der
Peripherie stellenweise berühren und stellenweise nicht be
rühren, wodurch eine Anzahl von Zwischenräumen zwischen den
Polygonen entsteht. "Nicht zusammenhängend" sind Polygone,
die entlang ihrer Begrenzungen überhaupt keinen Kontakt mit
den umgebenden Polygonen haben.
Die Polygonzellen und die Gitter, auf denen sich die Mittel
punkte der Polygone befinden, können unregelmäßig sein, mit
ungleich beabstandeten Achsen, oder regelmäßig, mit gleich
beabstandeten Achsen. Die Gitterachsen können unabhängig von
den Symmetrieachsen, wenn vorhanden, der Polygonzellen sein.
Für die Kodierung von Informationen haben Sechsecke einige
wesentliche Vorzüge, vor allem die folgenden:
- 1. Für eine gegebene optische Auflösung können Sechsecke
dichter gepackt werden als andere Polygone. Zum Beispiel
sind bei einer gegebenen Auflösung die Ecken von Quadraten
schwierig zu erkennen, so daß zum "Lesen" von Quadraten eine
an sich unnötige optische Auflösung erforderlich ist. Kreise
wären für die optische Auflösung ideal, der Zwischenraum
zwischen benachbarten Kreisen wird jedoch verschwendet und
kompliziert die Herstellung und den Druck der Kennzeichnung,
da den Zwischenräumen eine eigene optische Eigenschaft zuzu
ordnen ist.
- 2. Ein Gitter aus benachbarten Sechsecken hat drei Achsen.
Bei einer Kennzeichnung mit quadratischer oder rechteckiger
Form kann die Hauptachse der Sechsecke durch eine vorgege
bene Beziehung zu einer Seite der Kennzeichnung leicht lo
kalisiert werden. Diese Lokalisierung der Hauptachse eines
Sechseckgitters erleichtert das Auslesen der kodierten
Daten.
Unter "Kennzeichnung" ist hier eine separate Einheit zu ver
stehen, die mittels einer geeigneten haftenden Rückseite an
einem Paket oder Produkt, der Außenseite eines Behälters
oder an einem anderen Gegenstand angebracht werden kann und
auf der optisch lesbare Informationen aufgedruckt sind.
Mit "optisch lesbaren Datenfeld" oder kurz "Datenfeld" ist
ein Muster von nebeneinanderliegenden Sechsecken oder Zellen
mit zwei oder mehr optischen Eigenschaften gemeint, das dazu
dient, in wiedergewinnbarer Form einen Datensatz mittels der
jeweiligen optischen Eigenschaften und der gegenseitigen
räumlichen Beziehung der Zellen darzustellen.
Das Muster nebeneinanderliegender Sechsecke mit einer maxi
malen Anzahl von Übergängen von Sechseck zu Sechseck zum
optimalen Auslesen und für eine maximale Speicherdichte wird
als "Bienenwabenmuster" bezeichnet.
Die kontrastierenden Reflexionseigenschaften der einzelnen
Sechsecke oder Zellen der Datenfläche können auf die ver
schiedenste Art erzeugt werden. Die Bezeichnung "Drucken"
hat dabei die allgemeine Bedeutung des Aufbringens von Ma
terial mit bestimmten optischen Eigenschaften auf einem
Substrat oder des Änderns von optischen Eigenschaften, wie
es zum Beispiel beim sogenannten "thermischen" Drucken der
Fall ist. Der Term "Drucken" beinhaltet auch ein Unterlassen
des Aufbringens eines Materiales mit einer bestimmten opti
schen Eigenschaft auf einem Bereich des Substrates, das
selbst eine davon verschiedene optische Eigenschaft hat. Zum
Ausbilden von schwarzen und weißen sechseckigen Zellen ist
es beispielsweise nur erforderlich, die schwarzen Zellen zu
drucken, wenn das Substrat weiß ist.
Unter "optischen Eigenschaften" sind die Lichtabsorption,
die Reflexion und/oder Brechungseigenschaften der Zellen zu
verstehen. Wenn Zellen in schwarz (dichte schwarze Druckfar
be) und grau (Halbtöne von Schwarz) gedruckt sind sowie weiß
sind (kein Druck auf einem weißen Substrat), hat die Kenn
zeichnung drei verschiedene optische Eigenschaften.
Wie in der Fig. 1 gezeigt, sind unter einer "Anzahl von kon
zentrischen Ringen" 10 zwei oder mehr konzentrische Ringe 12
zu verstehen, von denen einer durch eine Kreisfläche 15 ge
bildet wird, die durch den kleinsten Radius "r" der Ringe
festgelegt ist.
Die Fig. 2 zeigt einen Ausschnitt aus einer elektrooptisch
abtastbaren Kennzeichnung gemäß der vorliegenden Ausfüh
rungsform. Die Kennzeichnung enthält eine Anzahl von benach
barten sechseckigen Zellen, die in einem Bienenwabenmuster
angeordnet sind. Jedes der einzelnen Sechsecke ist durch das
Bezugszeichen 20 bezeichnet und weist sechs gleiche Seiten
22 auf. Die Innenwinkel "a" der Sechsecke sind ebenfalls
gleich groß und betragen jeweils 120 Grad. Die Sechsecke
haben eine lange senkrechte Achse y-y und eine kürzere hori
zontale Achse x-x.
Eine Kennzeichnung 30 (Fig. 3) mit Abmessungen von etwa 2,5 cm
mal 2,5 cm (ein Zoll mal ein Zoll) enthält etwa 888
Sechsecke oder Zellen 20, wenn berücksichtigt wird, daß um
den Mittelpunkt der Kennzeichnung ein Erfassungsziel 35 aus
einer Anzahl von konzentrischen Ringen vorgesehen ist. Die
nebeneinanderliegenden Sechsecke 20 bilden horizontale Zei
len "R", die durch gedachte Linien 31 festgelegt werden, und
senkrechte Spalten "C", die durch gedachte Linien 33 festge
legt werden. In diesem Beispiel hat die Kennzeichnung insge
samt 33 horizontale Zeilen "R" und 30 senkrechte Spalten
"C". Jedes einzelne Sechseck hat einen "Durchmesser" von
etwa 0,8 mm. Aufgrund der geometrischen Packung der Sechs
ecke gibt es bei einer quadratischen Umgrenzung eines Bie
nenwabenmusters mehr Zeilen "R" als Spalten "C".
Wie aus der Fig. 2 hervorgeht, sind die Sechsecke in ver
setzten und überlappenden senkrechten Spalten mit abwech
selnd senkrecht beabstandeten Sechsecken mit kollinearen
y-y-Achsen angeordnet. Die y-y-Achsen beabstandeter Sechs
ecke 20 fluchten mit den äußeren senkrechten Seiten 22 der
dazwischenliegenden, verschobenen Sechsecke. Die y-y-Achsen
der Sechsecke 20 verlaufen in der Darstellung der Fig. 3
parallel zu den beiden senkrechten Begrenzungen 32 und 34
der Kennzeichnung. Die horizontalen Zeilen "R" werden durch
die x-x-Achsen am Mittelpunkt der Sechsecke 20 gemessen.
Die Sechsecke 20 werden durch einen Druckvorgang ausgebil
det, bei dem die Sechsecke 20 in zwei oder mehr verschie
denen optischen Eigenschaften, beispielsweise kontrastie
renden Farben, gedruckt werden. Diese Farben können die
Farben Weiß und Schwarz sein, so daß weiße Sechsecke oder
Zellen 25 und schwarze Zellen 26 entstehen, wie es in der
Fig. 2 gezeigt ist, und es kann als weitere Farbe auch Grau
verwendet werden, so daß graue Zellen 27 entstehen, wie es
in der Fig. 3 gezeigt ist. Die Farbtöne Weiß, Schwarz und
Grau wurden bei der vorliegenden Ausführungsform gewählt, da
sie einen optimalen Kontrast ergeben, der die Identifikation
durch einen elektrooptischen Sensor erleichtert. Der Grauton
wird dabei so gewählt, daß seine optischen Eigenschaften etwa
in der Mitte zwischen den optischen Eigenschaften der weißen
und der schwarzen Farbe liegen.
Die Kennzeichnung der Fig. 3 kann ein separates Etikett dar
stellen, das eine Fläche von 6,25 cm2 (einem Quadratzoll)
hat. Alternativ kann die Kennzeichnung, wenn ein akzeptabler
Farbhintergrund (vorzugsweise weiß) vorliegt, auch direkt
auf die Oberfläche eines Gegenstandes aufgedruckt sein.
Wegen der Bedeutung eines definierten Hintergrundes für die
optischen Eigenschaften der kontrastierenden Farben ist es
jedoch oft vorteilhafter, ein separates Etikett zu benutzen,
da dessen Hintergrundfarbe leichter zu kontrollieren ist.
Die Ausrichtung der auf der Kennzeichnung aufgedruckten
Sechsecke bezüglich der Seiten der Kennzeichnung ist für die
spätere Bestimmung der Hauptachse der Kennzeichnung wichtig.
Die Kennzeichnung wird so gedruckt, daß die y-y-Achsen der
Sechsecke in der Darstellung der Fig. 3 parallel zu den
senkrechten Seiten 32 und 34 der Kennzeichnung verlaufen.
Für das "Lesen" der hexagonalen Anordnung ist es zur Deko
dierung der Information wichtig, einen scharfen Farbkontrast
zwischen benachbarten Sechsecken zu haben. Die Abtastvor
richtung und die zur Dekodierung erforderliche Software kann
um so einfacher sein, je weniger optische Eigenschaften zur
Kodierung der Sechsecke verwendet werden. Weniger optische
Eigenschaften verringern jedoch auch die Datendichte der
Kennzeichnung. Als Kompromiß zwischen der Menge an kodierter
Information, die auf der Kennzeichnung gespeichert werden
kann, und des Aufwandes für das Abtasten mehrfarbiger Kenn
zeichnungen hat sich die Verwendung von drei verschiedenen
optischen Eigenschaften, insbesondere den Farben Schwarz,
Grau und Weiß, als vorteilhaft herausgestellt.
Die grauen sechseckigen Zellen werden durch Bedrucken der
Zellen mit schwarzer Druckfarbe in jedem fünften Bildpunkt
des Rasters eines Punktmatrixdruckers erzeugt, und zwar
unter Verwendung eines Halbton-Algorithmus, wie es all
gemein bekannt ist. Der Drucker druckt somit einen bestimm
ten Anteil der Bildpunkte zur Festlegung eines gegebenen
grauen Sechseckes, während beim Druck eines schwarzen Sechs
eckes jeder Bildpunkt dieses Sechseckes ausgedruckt wird.
Der verwendete Halbton-Algorithmus
hat die Programmbezeichnung "LABEL".
Die schwarzen sechseckigen Zellen können durch Drucken mit
einer gewöhnlichen schwarzen Druckfarbe gebildet werden. Die
Abtast-Analyse-Software für die Dekodierung der Kennzeich
nung unterscheidet deutlich zwischen der Reflektivität von
Schwarz, Grau und Weiß, so daß keine besonders genaue Fest
legung der Farbe erforderlich ist. Wenn jedoch andere Farben
verwendet werden, oder wenn verschiedene Schattierungen von
Grau verwendet werden, um vier- oder fünffarbige Datenfelder
zu erzeugen, muß der Kontrast der Druckfarben genauer kon
trolliert werden, um meßbare Unterschiede in den optischen
Eigenschaften der verschiedenen Farben sicherzustellen. Die
Verwendung einer schwarzen Farbe ist jedoch die einfachste
und leichteste Art der Erzeugung einer wabenförmigen Anord
nung von sechseckigen Zellen mit drei verschiedenen opti
schen Eigenschaften.
Aufgrund der quadratischen Form der Kennzeichnung und der
Art der sechseckigen Zellen gibt es an den Rändern der Wa
benstruktur unvollständige Sechsecke 56; wie aus der Fig. 3
hervorgeht, werden diese unvollständigen Sechsecke nicht
dazu verwendet, irgendeine nützliche Information aufzuneh
men.
Die vorliegende Ausführungsform der Kennzeichnung enthält
auch ein Erfassungsziel. Das in der Fig. 3 dargestellte
Erfassungsziel 35 besteht aus einer Anzahl von konzentri
schen Ringen aus kontrastierenden Farben (als Schwarz und
Weiß gezeigt). Die schwarzen Ringe sind mit den Bezugszei
chen 42, 46 und 48 und die weißen Ringe mit den Bezugs
zeichen 44, 50 und 52 bezeichnet. Das Erfassungsziel be
findet sich vorzugsweise im geometrischen Mittelpunkt der
Kennzeichnung, um die Wahrscheinlichkeit für eine Beschä
digung oder Zerstörung zu verringern, wenn das Kennzeichen
am Rand verkratzt, verschmutzt oder beschädigt wird. Auch
ist die Größe des Bildspeichers, der zum Speichern der Daten
vor der Identifikation des Erfassungszieles benötigt wird,
am kleinsten, wenn sich das Erfassungsziel in der Mitte der
Kennzeichnung befindet.
Die Anzahl konzentrischer Ringe für das Erfassungsziel ist
beliebig, es hat sich jedoch herausgestellt, daß sechs kon
zentrische Ringe ausreichend sind.
Zum Anpassen eines berechneten Musters an das, was erwartet
wird, was die konzentrischen Ringe darstellen, wenn das
Muster abgelesen wird, wird ein Muster-Korrelationsverfahren
verwendet. Bei einem Zusammenpassen ist das Erfassungsziel
lokalisiert, wie es im folgenden noch genauer erläutert
wird. Der bei der vorliegenden Ausführungsform erzeugte und
verwendete besondere Filter
hat den Dateinamen "FIND.C".
Das Erfassungsziel hat einen Gesamtdurchmesser, der kleiner
ist als das Datenfeld, und umfaßt eine Fläche von bis zu
25%, vorzugsweise etwa 7%, der Fläche des Datenfeldes. Das
Erfassungsziel sollte so klein wie möglich sein, da die da
von belegte Fläche auf der Kennzeichnung keine Informationen
enthalten kann. Bei der vorliegenden Ausführungsform hat der
äußere Ring 52 einen Außendurchmesser von etwa 7,45 mm. Bei
der Kennzeichnung der Fig. 3 belegt das Erfassungsziel 35
somit etwa 7% der Fläche der Kennzeichnung 30 von 6,25 cm2.
Damit ist die Menge an Informationen, die in dem Datenfeld
enthalten sein kann, das das Erfassungsziel umgibt, nicht
übermäßig eingeschränkt. Wie bei den unvollständigen Sechs
ecken am äußeren Rand der Kennzeichnung 30 werden die un
vollständigen Sechsecke 55 um die Begrenzung des Erfassungs
zieles 35 nicht zum Zwecke der Kodierung von Informationen
verwendet. Die Breite eines jeden Ringes ist vorzugsweise
etwa gleich der Breite der Sechsecke (Länge der x-x-Achse in
der Fig. 1), um die Auflösung zu erleichtern. Sechs Ringe
sind ausreichend, damit eine Lokalisierung des Erfassungs
zieles mit einer kleinstmöglichen Fläche und einem Minimum
von möglichen falschen Auslesungen aufgrund "störender"
Zeichen auf dem Kennzeichen oder anderer "störender" Zeichen
außerhalb des Kennzeichens, wie zum Beispiel auf einem
Förderband, möglich ist.
Das Erfassungsziel kann auch eine andere Form als die von
konzentrischen Ringen haben. Beispielsweise können Quadrate,
Spiralen oder Sechsecke dazu verwendet werden, Übergänge
zwischen kontrastierenden konzentrischen Figuren zu erzeu
gen, solange gerade Schnitte durch das Erfassungsziel regu
läre, vorbestimmte und identifizierbare Farbübergänge erge
ben, die geeignet sind, durch einen elektrooptischen Sensor
erfaßt und mittels eines geeignetes Filters ausgemessen zu
werden. Es ist anzumerken, daß eine Spirale zwar keine Auf
einanderfolge von konzentrischen Ringen darstellt, daß je
doch in Abhängigkeit von der Größe und dem Radius der Spira
le eine gute Annäherung an die Form konzentrischer Ringe
erreicht werden kann. Ein Erfassungziel aus konzentrischen
Ringen ist günstig, da das Signal, das bei einer Abtastung
durch deren Mittelpunkt erzeugt wird, eine Frequenz hat, die
immer gleich ist, unabhängig von der Richtung des Schnittes.
Das macht die Identifizierung des Mittelpunktes einfacher,
und es erlaubt eine Identifizierung der Lage des Erfassungs
zieles mit einer eindimensionalen Durchsuchung des analogen
oder digitalen Ausgangssignales des Scanners. Es kann jedoch
alternativ oder nachfolgend auch eine zweidimensionale
Durchsuchung zum Zwecke einer erhöhten Genauigkeit erfolgen,
wenn ein digitales Signal analysiert wird.
Unter "konzentrischen Ringen" sind vollständige Ringe, Teil
ringe in der Form von Halbkreisen, Sektoren konzentrischer
Ringe, die zwischen 180 Grad und 360 Grad liegen, und Spira
len, die annähernd konzentrische Ringe bilden, zu verstehen.
Da jedes Sechseck bei der vorliegenden Ausführungsform ent
sprechend drei verschiedenen optischen Eigenschaften kodiert
werden kann, können in jedem Sechseck 1,585 "Bit" (log23) an
Information enthalten sein. Wenn weniger oder mehr optische
Eigenschaften als drei verwendet werden, ändert sich die in
einem Sechseck unterbringbare Anzahl von Bits entsprechend.
Der Kodieralgorithmus ist so aufgebaut, daß näherungsweise
die maximale Datendichte erreicht wird, und daß die Anzahl
von Übergängen in den optischen Eigenschaften von Zelle zu
Zelle so groß wie möglich ist, um den zweidimensionalen
Takt-Wiedergewinnungsvorgang zu erleichtern, der im folgen
den noch beschrieben wird.
Die Fig. 4 zeigt eine Gruppe von 3×3 Zellen, das heißt von
neun sechseckigen Zellen 60, der Grund-Kodiereinheit, die
bei der vorliegenden Ausführungsform verwendet wird. Dies
ist eine von vielen möglichen, im wesentlichen gleichwerti
gen Kodierformen. Die Gruppe von 3×3 Zellen aus Sechsecken
60 ist dafür vorgesehen, 13 Informationsbits kodiert darzu
stellen, wenn die Gruppe neun vollständige Sechsecke ent
hält, oder um weniger als 13 Bits darzustellen, wenn die
Gruppe durch nicht verwendbare Sechsecke unvollständig ist.
Auf einer Kennzeichnung mit einer Fläche von 6,25 cm2 und
einem Datenfeld mit etwa 888 Sechsecken sowie einem Erfas
sungsziel von etwa 7% der Kennzeichnungsfläche können rund
1292 Bits für Informationen untergebracht werden.
Bei der Kodierung einer jeden Gruppe sind die äußeren unte
ren Sechsecke 62 und 64 einer jeden Gruppe 60, wie in der
Fig. 4 gezeigt, in ihren jeweiligen optischen Eigenschaften
so festgelegt, daß sie sich immer von dem dazwischenliegen
den Sechseck 66 unterscheiden. Die Sechsecke 62 und 64 kön
nen daher immer nur einem Bit pro Sechseck entsprechen. Auf
diese Weise ist es möglich, durch Kodierung von 11 Bits in
den verbleibenden sieben Sechsecken 13 Bits für Informatio
nen unterzubringen. Da sieben Sechsecke mehr Möglichkeiten
an Kombinationen ergeben als benutzt werden (37 = 2187 Kom
binationen gegenüber 211 = 2048 Kombinationen), werden ge
wisse Kombinationen nicht verwendet, zum Beispiel alle Zel
len schwarz, alle Zellen grau und alle Zellen weiß oder alle
im wesentlichen schwarzen, grauen und weißen Kombinationen.
Der Grund für das Erfordernis von kontrastierenden Farben
für die Sechsecke 62 und 64 im Verhältnis zum Sechseck 66
liegt darin, einen Übergang sicherzustellen, der für den
Takt-Wiedergewinnungsschritt und einen wahlweisen Normali
sierungsvorgang benötigt wird und um die Bestimmung einer
horizontalen Ausrichtung des Datenfeldes zu erleichtern.
Wenn die kodierbare Gruppe sieben oder acht Sechsecke um
faßt, werden die sieben verwendbaren Sechsecke mit 11 Bits
kodiert und das achte Sechseck, wenn es vorhanden ist, mit
einem Bit. Für alle anderen Teilgruppen werden jedem Paar
von Sechsecken drei Bits und jedem verbleibenden einzelnen
Sechseck ein Bit zugeordnet.
Es ist ersichtlich, daß diese Kennzeichnung eine besonders
wirksame, mittels eines geeignetes Scanners und der ent
sprechenden Analyse-Software leicht zu lesende Kennzeichnung
mit einer sehr hohen Informationsdichte auf einem relativ
billigen, leicht zu bedruckenden Etikett oder dergleichen
darstellt. Wie beschrieben, wird bei der vorliegenden Aus
führungsform eine Packung von Sechsecken mit 33 Zeilen und
30 Spalten auf 6,25 cm2 Fläche und mit einem Erfassungsziel
verwendet, das etwa 7% der Gesamtfläche des Kennzeichens
belegt. Eine Gruppe von neun Sechsecken enthält 13 Informa
tionsbits, so daß pro Zelle 1,44 Bit aufgenommen werden. Das
ist wegen der anderen Einschränkungen durch den Kodieralgo
rithmus weniger als die theoretischen 1,585 Bit pro Zelle,
da nicht alle 37 Muster verwendet werden und da manche der
zumindest optisch möglichen Übergänge von Zelle zu Zelle
nicht benutzt werden.
Es ist günstig, ein gewisses Maß an Fehlerschutz bei der
Kodierung der Kennzeichnung vorzusehen, so daß die tatsäch
liche Menge der auf der Kennzeichnung angebrachten, wieder
gewinnbaren Information zugunsten einer hohen Datensicher
heit herabgesetzt ist.
Die vorstehende Beschreibung einer Kennzeichnung mit hexago
nalen Zellen ist direkt auf eine Kennzeichnung mit anderen
Polygonzellen übertragbar. Bei Benutzung der optischen Ei
genschaften Schwarz und Weiß und wahlweise Grau gelten auch
für andere Polygonzellen die angegebenen Vorzüge beispiels
weise über die Datendichte. Wie bei den Kennzeichnungen mit
Sechsecken können Kennzeichnungen mit anderen Polygonzellen
mit einfacheren Scannern ausgelesen werden, wenn nur zwei
optische Eigenschaften zum Einkodieren der Informationen
verwendet werden.
Die Vorgänge zum Einkodieren der Informationen und die Algo
rithmen für Kennzeichnungen mit Sechsecken sind direkt auf
Kennzeichnungen mit anderen Polygonzellen übertragbar. Wie
bei den Sechseck-Kennzeichnungen werden nicht vollständige
Polygonzellen am Rand der Kennzeichnung und um das Erfas
sungsziel nicht zum Einkodieren von Informationen verwendet.
Ein "Bienenwabenmuster" beinhaltet eine Anordnung von zusam
menhängenden Sechsecken 310 (Fig. 11), deren geometrische
Mittelpunkte 311 auf den Ecken oder Schnittpunkten 311A
eines hexagonalen Gitters liegen. Regelmäßige Sechsecke, das
heißt Sechsecke mit sechs gleichen Seiten und sechs gleichen
Innenwinkeln bilden ein hexagonales Gitter, das wiederum re
gelmäßig ist und drei Achsen (A1, A2, A3) aufweist, die un
tereinander einen Winkelabstand von jeweils 60 Grad haben.
Wenn die Sechsecke 320 (Fig. 12) der Kennzeichnung nicht
regelmäßig sind, jedoch symmetrisch, wenn sie also bei
spielsweise entlang von zwei parallelen Seiten 321 und 322
auseinandergezogen sind, beschreiben die geometrischen
Mittelpunkte 325 benachbarter Sechsecke wieder ein ungleich
mäßiges hexagonales Gitter 327. Solch ein ungleichmäßiges
hexagonales Gitter hat nach wie vor drei Achsen (A1, A2,
A3), die jedoch keinen gleichmäßigen Winkelabstand unter
einander mehr haben.
Obwohl das hexagonale Gitter der Fig. 12 nicht gleichmäßig
ist, ist es trotzdem ein zweidimensionales geometrisches
Gitter mit Achsen in vorgegebenen Winkelabständen. Damit
sind die Positionen und Abstände der Mittelpunkte der Sechs
ecke auf den Achsen ebenfalls vorgegeben. Die Geometrie des
hexagonalen Gitters wird beim Dekodiervorgang zur Dekodie
rung herangezogen. Insbesondere die Filterung, die an den
transformierten digitalen Daten ausgeführt wird, die der
durch den optischen Sensor erfaßten Abbildung entsprechen,
ist auf die vorgegebene Geometrie der Kennzeichnung abge
stellt. Die Rekonstruktion der Abbildung liefert auch feh
lende Gitterpunkte. Fehlende Gitterpunkte entstehen dadurch,
daß zwischen Polygonen mit gleichen optischen Eigenschaften
keine optischen Übergänge vorhanden sind.
Bei ungleichmäßigen hexagonalen Gittern der in der Fig. 12
gezeigten Art ist es günstig, den Hauptachsenbestimmungs
schritt 3e der Fig. 7, der nach einer Fourier-Transformation
zur Identifikation der Hauptachse der Kennzeichnung ausge
führt wird, darauf abzustellen. Auf der Hauptachse der Kenn
zeichnung haben die Mittelpunkte der auf dieser Achse lie
genden Polygone einen anderen Abstand als auf den anderen
beiden Achsen.
Es sind Ausgestaltungen der Kennzeichnung möglich, die die
bevorzugte Ausführungsform mit hexagonalen Zellen unter Ver
wendung von bestimmten Polygonzellen annähern. Die Fig. 13
zeigt den Aufbau einer Kennzeichnung mit Polygonzellen 330,
die im wesentlichen Sechsecke bilden, jedoch aus 20-seitigen
Polygonen bestehen. Die Polygone können natürlich auch mehr
oder weniger als 20 Seiten haben. Die Polygone grenzen nur
teilweise aneinander, im Gegensatz zu den gedachten hexago
nalen Zellen 331, in die sie eingezeichnet sind und die
vollständig zusammenhängen.
Die Zwischenräume 332 der Fig. 13 können eine andere Eigen
schaft haben als die kodierten Polygone oder auch nicht.
Zwischenräume enthalten keine einkodierten Informationen,
ihr Vorhandensein hat daher für eine gegebene optische Auf
lösung und Leistung eine geringere Datendichte zur Folge.
Wenn die Zwischenräume außerdem eine andere optische Eigen
schaft haben als die angrenzenden Polygone, werden mehr
optische Übergänge vom optischen Sensor erfaßt, und die
Taktsignalenergie im Transformationsbereich des Dekodiervor
ganges ist daher höher.
Da die Polygone der Fig. 13 auf einem hexagonalen Gitter 335
mit drei gleichmäßig beabstandeten Achsen A1, A2, A3 ange
ordnet sind, liegen die geometrischen Mittelpunkte 333 der
Polygonzellen 330 auf den Ecken eines hexagonalen Gitters
335. Die Abstände, Positionen und räumlichen Orientierungen
der Mittelpunkte der Polygone sind vorgegeben und können im
Transformationsbereich des Dekodiervorganges festgestellt
werden.
Bei der Anordnung der Fig. 13 werden Polygone verwendet, die
nahezu die Form von Sechsecken haben. Da sie sich Sechsecken
ziemlich gut annähern, wird ein optischer Sensor mit einer
mittleren Auflösung sie als Sechsecke "lesen".
Die Fig. 14 zeigt eine der Fig. 13 ähnliche Anordnung, wobei
die Polygone 340 der Fig. 14 jedoch so angeordnet sind, daß
sie vollständig zusammenhängen. Diese Polygone 340 können
durch ein gedachtes Sechseck 341 angenähert werden, zwischen
den Polygonen liegen jedoch keine Zwischenräume. Solch eine
zusammenhängende Anordnung ist zur Vereinfachung des Deko
diervorganges günstig, jedoch nicht zwingend erforderlich.
Die geometrischen Mittelpunkte 342 der Polygone 340 liegen
wieder auf einem hexagonalen Gitter 345, haben im wesent
lichen die Form von Sechsecken und erscheinen bei einer
mittleren optischen Auflösung auch als solche.
Die Fig. 15 zeigt einen vergrößerten Ausschnitt aus einer
Kennzeichnung, wie sie entsteht, wenn sie mit einem Matrix
drucker mit 200 Bildpunkten pro Zoll (2,54 cm) gedruckt
wird. Die Polygone 360 der Fig. 15 illustrieren die Form der
geometrischen Figur, die aufgrund einer geringen Bildpunkt
dichte anstelle eines Sechsecks tatsächlich ausgedruckt
wird. Drucker mit einer größeren Bildpunktdichte ergeben
eine bessere Annäherung an das Sechseck. Die Polygone 340
und 360 der Fig. 14 bzw. 15 entsprechen daher den sich beim
Herstellen der Kennzeichnung mit manchen Druckern praktisch
ergebenden Formen. Auch Polygone solcher Formen sind jedoch
in der Praxis Zellen aus zusammenhängenden Sechsecken
gleichwertig.
Wie im Falle der Fig. 3 enthält auch die Kennzeichnung der
Fig. 15 ein Erfassungsziel 370 aus einer Anzahl konzentri
scher Ringe 371 bis 376. Wie die Sechsecke der Fig. 3 sind
auch die Polygone 360 der Fig. 15 in Spalten "C" und Zeilen
"R" angeordnet, deren Begrenzungen durch die gedachten Li
nien 361 und 362 bzw. 362 und 364 gebildet werden. Auch
liegen die Mittelpunkte der Polygone 360 der Fig. 15 auf
einem hexagonalen Gitter, das durch gleich beabstandeten
Achsen A1, A2 und A3 aufgespannt wird.
Wenn eine andere Kennzeichnungsgeometrie mit einem quadra
tischen oder rechteckigen Gitter verwendet wird, muß der
zweidimensionale Takt-Wiedergewinnungsvorgang, der im fol
genden noch beschrieben wird, entsprechend angepaßt werden.
Die andere Geometrie des vorgegebenen Gitters macht es er
forderlich, daß die bei der Filterung verwendeten Filter
geändert werden. Die Filter wirken auf die transformierten
digitalen Daten ein, die den optischen Eigenschaften der
Polygone entsprechen, die im Bildbereich vom Sensor ausge
lesen wurden. Diese relativ geringfügigen Abänderungen des
Filtervorganges können von jedem Fachmann leicht ausgeführt
werden. Wenn das vorgegebene zweidimensionale Gitter nicht
gleichmäßig beabstandete Achsen hat oder im Aufbau unregel
mäßig ist, kann es günstig sein, die Hauptachse der Kenn
zeichnung vor Ausführen der Fourier-Transformation zu iden
tifizieren, da dann die geometrischen Mittelpunkte längs der
Achsen keine gleichmäßigen Abstände haben.
Zur Erzeugung einer optisch lesbaren Kennzeichnung können
auch nicht zusammenhängend angeordnete Polygone verwendet
werden. Die Fig. 16 zeigt eine hexagonale Anordnung von Qua
draten 420, die nicht zusammenhängen und deren geometrische
Mittelpunkte 422 jeweils auf den Ecken eines hexagonalen
Gitters liegen, das durch die drei gleich beabstandeten
Achsen A1, A2 und A3 aufgespannt wird. Diese Konfiguration
stellt ersichtlich ein Gitter aus gedachten Sechsecken 421
dar, das über die Polygone 420 gelegt werden kann, wobei
Zwischenräume 425 gebildet werden.
Eine der Fig. 16 ähnliche Anordnung kann unter Verwendung
von Rechtecken aufgebaut werden. Die Fig. 17 zeigt eine
Anzahl von Rechtecken 430, wobei die geometrischen Mittel
punkte benachbarter Rechtecke auf den Ecken eines hexagona
len Gitters liegen, das durch die sich schneidenden Achsen
A1, A2 und A3 aufgespannt wird. Das Erkennen der hexagonalen
Anordnung wird wieder durch die gedachten Sechsecke 431 er
leichtert, die über die nicht zusammenhängenden Rechtecke
430 gelegt werden können, wobei Zwischenräume 435 zwischen
den Rechtecken 430 entstehen. Die Fig. 18 zeigt ebenfalls
ein nicht zusammenhängend aufgebautes Kennzeichen aus Fünf
ecken 440, wobei die geometrischen Mittelpunkte 442 benach
barter Fünfecke 440 auf den drei gleich beabstandeten Achsen
A1, A2 und A3 liegen. Die Geometrie der nicht zusammenhän
genden Fünfecke wird wieder leichter erkannt, wenn über die
Fünfecke 440 gedachte Sechsecke 441 gelegt werden, wobei
Zwischenräume 445 gebildet werden.
Es können auch andere hexagonale Gitter aufgebaut werden,
bei denen die Achsen A1, A2 und A3 zwar einen gleichmäßigen
Winkelabstand haben, jedoch nicht den Symmetrieachsen der
Polygone entsprechen. Es liegen dabei nur die geometrischen
Mittelpunkte benachbarter Polygone auf den sich schneidenden
Achsen der Anordnung. Eine solche Anordnung ist in der Fig.
19 gezeigt, sie umfaßt eine Anzahl von zusammenhängenden
Rechtecken 450 deren geometrische Mittelpunkte 451 auf den
Achsen A1, A2 und A3 liegen.
Es können auch Polygone höherer Ordnung auf einem vorgegebe
nen zweidimensionalen Gitter angeordnet werden. Die Fig. 20
zeigt eine Anzahl von teilweise zusammenhängenden Achtecken
460, die eine Anzahl von Zwischenräumen 461 festlegen. Die
Mittelpunkte 462 benachbarter Achtecke 460 befinden sich auf
den sich schneidenden Achsen A1 und A2. Die Zwischenräume
461 können eine andere optische Eigenschaft haben als die
Achtecke 460. Dies ist jedoch nicht zwingend erforderlich,
da es die Lage, Orientierung und Intensität der optischen
Eigenschaften im Mittelpunkt der Achtecke 460 ist, die an
einer vorgegebenen Position in dem von den Achsen A1 und A2
aufgespannten hexagonalen Gitter liegen, die für den Deko
diervorgang am wichtigsten sind.
Bei der bevorzugten Ausführungsform hat die Kennzeichnung
eine Fläche von 6,25 cm2, um eine akzeptable Datenmenge für
100 alphanumerische Zeichen mit einem hohen Grad an Fehler
schutz auf einer relativ kleinen Kennzeichnung unterzubrin
gen. Die Verwendung von vier, fünf oder mehr verschiedenen
optischen Eigenschaften oder Farben für die Sechsecke ermög
licht zwar die Unterbringung von wesentlich mehr Information
auf dem gleichen Raum, jedoch bei erhöhten Anforderungen an
die Software und das Abtastsystem für die Wiedergewinnung
der Informationen. Für praktische Zwecke hat sich ein Ko
diersystem mit drei optischen Eigenschaften, den Farben
Schwarz, Grau und Weiß, als sehr günstig erwiesen.
Die Zellengruppen müssen nicht notwendigerweise aus 3×3
Zellen bestehen, es kann auch jede andere Form für die Grup
pen verwendet werden. Es kann überhaupt jede Gruppenbildung
unterlassen werden und der Kodieralgorithmus direkt auf ein
Muster aus einzelnen Sechsecken gerichtet werden.
Im folgenden wird der Kodiervorgang bei der vorliegenden
Ausführungsform erläutert.
Am Beginn des Kodiervorganges steht eine bestimmte Reihe von
Daten, die auf der Kennzeichnung kodiert angegeben werden
sollen. Es wird angenommen, daß die Kennzeichnung für den
Versand vorgesehen ist, und die Daten werden in zwei Felder
aufgeteilt, die als "Informationen mit hoher Priorität" und
"Informationen mit niedriger Priorität" bezeichnet werden.
Es können auch mehr als zwei Prioritätsebenen vorgesehen
sein.
Wenn die Kennzeichnung für den Versand bestimmt ist, können
die Informationen hoher Priorität neun Zeichen umfassen, die
beispielsweise die Postleitzahl der Empfängeradresse eines
Gegenstandes, Paketes oder Briefes enthält. Neun Zeichen
sind deshalb vorgesehen, da international bis zu neunstelli
ge Postleitzahlen Verwendung finden. Beim Versand von Gegen
ständen stellt die Postleitzahl die wichtigste Information
dar. Sie legt den allgemeinen Bestimmungsort des Gegenstan
des fest und ermöglicht es Abtast- und Sortiersystemen, den
Gegenstand auf einem Förderband oder dergleichen zu dem
richtigen LKW, Flugzeug usw. zu bringen.
Die Informationen niedriger Priorität können beispielsweise
den Namen und die Versandadresse, einschließlich der Post
leitzahl, des Empfängers des Gegenstandes sowie Informatio
nen über die Fakturierung enthalten.
Der Grund für das Erzeugen von Informationen hoher und nie
driger Priorität ist ein Schutz der Informationen hoher
Priorität mit besonderen Fehlerkorrekturmöglichkeiten und um
die Informationen hoher Priorität mehr in der Mitte der
Kennzeichnung anbringen zu können, wo die Wahrscheinlichkeit
einer Beschädigung oder Zerstörung geringer ist, und um es
zu ermöglichen, daß die Informationen hoher Priorität in den
Informationen niedriger Priorität wiederholt werden, so daß,
auch wenn selektiv die Informationen hoher Priorität zer
stört sind, die Möglichkeit besteht, die Informationen hoher
Priorität aus denen niedriger Priorität wiederzugewinnen.
Bei Unterbringung der Informationen hoher Priorität im mitt
leren Bereich der Kennzeichnung ist es möglich, zu manchen
Zwecken auch nur mehr diese Informationen zu dekodieren, so
daß nur ein Teil der Daten verarbeitet zu werden braucht,
mit dem Ergebnis einer höheren Verarbeitungsgeschwindigkeit.
Dies ist beispielsweise der Fall, wenn sich ein Paket auf
einem Förderband befindet und nur die Postleitzahl bestimmt
zu werden braucht, um den weiteren Weg des Paketes auf einer
Anzahl von Förderbändern zu steuern.
Aufgrund der niedrigeren Priorität sind die entsprechenden
Informationen auf der Kennzeichnung nicht doppelt vorhanden.
Sowohl die Informationen hoher als auch die niedriger Prio
rität können jedoch verschiedene Fehlerschutzkodes und Kor
rekturmöglichkeiten beinhalten, um die Wahrscheinlichkeit
einer exakten Wiedergewinnung beider Informationsarten an
zuheben.
Durch die Verwendung von Fehlerschutzzeichen als Teil der
kodierten Informationen kann mit einem geeigneten Programm
und einem geeigneten Rechner das System während des Dekodie
rens Fehler erkennen und korrigieren. Wie Fehlerschutzkodes
verwendet werden, ist allgemein bekannt.
Die für die Herstellung einer Kennzeichnung zuständige Be
dienungsperson kann die erforderlichen Daten manuell in ein
geeignetes Computerterminal eingeben, woraufhin der Computer
einen Drucker aktiviert, die Kennzeichnung oder das Etikett
mit den in den Sechsecken enthaltenen Informationen hoher
und niedriger Priorität auszudrucken. Die Informationen
müssen nicht notwendigerweise in solche hoher und niedriger
Priorität aufgeteilt werden, und auch ein Erfassungsziel ist
nicht unbedingt erforderlich, wie es bei der vorliegenden
Ausführungsform in der Mitte der Kennzeichnung mit einer An
zahl von konzentrischen Ringen aus zwei kontrastierenden
Farben vorgesehen ist, wobei die Farben aus zwei der Farben
bestehen, die auch für die einzelnen Sechsecke vorgesehen
sind.
Der die Daten manuell eingebende Bediener veranlaßt den ge
eignet programmierten Computer, jedes eingegebene Zeichen zu
kodieren und geeignete Feldbezeichner zu verwenden, um eine
binäre Bitfolge zu erzeugen, die die Zeichen der Information
darstellt und geeignet kodiert ist, um die Informationen ho
her und niedriger Priorität und die relative Position davon
festzulegen. Dieser Vorgang wird von dem Programm "TEXTIN.C"
ausgeführt, das
in der Fig. 9 mit dem Bezugszeichen 110 bezeichnet ist.
Alternativ kann der Vorgang auch damit beginnen, daß die zu
kodierenden Informationen bereits als binäre Bitfolge vor
handen sind, die beispielsweise aus einem Speicher erhalten
wird oder anderweitig erzeugt wurden.
Nachdem die binäre Bitfolge erzeugt wurde oder nachdem eine
fehlergeschützte Bitfolge wie weiter unten noch beschrieben
hergestellt worden ist, muß die Bitfolge entsprechend einem
bestimmten Muster für die Kodierung in der Sechseck-Waben
form umgesetzt werden. Die Fig. 5 ist eine Darstellung der
Gruppen, die die einzelnen sechseckigen Zellen von 3×3
Zellengruppen zeigt, die als Gitter oder Wabe mit 33 Zeilen
und 30 Spalten angeordnet sind. Jede Zeile und jede Spalte
ist mit Zeilennummern von 1 bis 33 bzw. Spaltennummern von 1
bis 30 numeriert. Einige der Sechsecke am rechten Rand der
Gruppenkarte und in der Mitte des Gitters sind mit X be
zeichnet. Dadurch wird angezeigt, daß diese Sechsecke keine
kodierten Informationen enthalten. Die Zeichen X am Rand
stellen nämlich unvollständige Sechsecke dar, was zur Folge
hat, daß jede der entsprechenden Zeilen ein Sechseck weniger
enthält. Die Zeichen X in der Mitte stehen für die vom Er
fassungsziel belegten Plätze bzw. die unvollständigen Sechs
ecke um das Erfassungsziel herum. Alle Sechsecke, die nicht
mit einem X gekennzeichnet sind, können Informationen auf
nehmen. Bei der vorliegenden Ausführungsform ist jeder die
ser Plätze durch ein schwarzes (B), weißes (W) oder graues
(G) Sechseck belegt. Obwohl wie erwähnt verschiedenste
Gruppen- und Zuordnungstechniken verwendet werden können,
sind hier Gruppen aus neun Sechsecken mit drei Zeilen von
jeweils drei Sechsecken zur Festlegung bestimmter Informa
tionsbits vorgesehen, und in einer jeden solchen Gruppe mit
neun Sechsecken können 13 Informationsbit aufgenommen wer
den.
In einem Datenfeld mit 33 Zeilen und 30 Spalten nebenein
anderliegender Sechsecke kann ein Gitter aus 11 Zeilen und
10 Spalten von Sechseckgruppen gebildet werden, die jeweils
3×3 nebeneinanderliegende Sechsecke enthalten, wie es in
der Fig. 5 gezeigt ist. Es ist jedoch offensichtlich, daß
jede Zeile der Gruppen aus 3×3 Zellen in dem 11×10
Gruppengitter aufgrund der geometrischen Packung der Sechs
ecke eine Gruppe mit entweder sieben oder acht Sechsecken
enthält, und daß deren Anzahl von Zeile zu Zeile abwechselt.
Diese Anordnung ergibt somit sechs Gruppen mit acht Sechs
ecken und fünf Gruppen mit sieben Sechsecken. Das in der
Mitte untergebrachte Erfassungsziel erzeugt zusätzlich un
vollständige Gruppen. Die Fig. 5 ist somit eine graphische
Darstellung der verwendbaren Gruppen von Sechsecken, die in
einem Datenfeld von 33 Zeilen mal 30 Spalten für das Einko
dieren von Informationen verfügbar sind.
Gruppen mit neun benutzbaren Sechsecken werden unter Verwen
dung des folgenden Algorithmus kodiert (vgl. Fig. 4):
- Entnahme von 11 Informationsbits und Zuordnung zu dem
Satz von sieben Sechsecken, die mit a, b, c, d, e, f
und h bezeichnet sind; sowie Verwendung der Sechsecke
g und i zur Darstellung von jeweils einem Bit derart,
daß sich jedes dieser Sechsecke vom Sechseck h unter
scheidet. Es können damit 13 Informationsbits durch
eine vollständige Gruppe aus 3×3 Zellen mit neun
nebeneinanderliegenden Sechsecken dargestellt werden.
Für Gruppen mit sieben oder acht verwendbaren Sechsecken
gilt:
- Entnahme von 11 Informationsbits und Zuordnung zu den
sieben ersten verwendbaren Sechsecken; das achte Sechs
eck wird, wenn vorhanden, zur Darstellung eines Bits
verwendet.
Für alle anderen nicht vollständigen Zellen gilt:
- Zuordnung von drei Informationsbits zu so vielen Paaren
von Sechsecken wie möglich. Verwendung verbleibender
einzelner Sechsecke zur Darstellung eines Bits.
Da das Kodieren von sieben Sechsecken mehr Kombinationsmög
lichkeiten ergibt als 11 Bits entspricht (37 = 2187 gegen
über 211 = 2048), sind manche Kombinationen von Sechsecken
nicht vorgesehen. Diese nicht vorgesehenen Kombinationen
werden so gewählt, daß es diejenigen sind, die die geringste
Anzahl von Übergängen ergeben. Um dies auszuführen, werden
Nachschlagetabellen aufgestellt, um die Gruppen entsprechend
der Darstellung in der Fig. 5 auszubilden. Die Aufstellung
und Verwendung solcher Nachschlagetabellen ist jedem Pro
grammierer geläufig. Die Programme zum Erzeugen der in der
Fig. 9 gezeigten Nachschlagetabellen "BINHEX.LUT" 132 und
"HEXBIN.LUT" 134 sind in einem Programm "MK HEX LUT"
130 enthalten.
Die Verwendung eines solchen Bit-Zuordnungsschemas ermög
licht die Unterbringung von 1292 Informationsbits in einem
Datenfeld von 33 Zeilen und 30 Spalten nebeneinanderlie
gender Sechsecke.
Die Abfolge, in der die Informationen hoher Priorität und
die Informationen niedriger Priorität in der Gruppenkarte
angeordnet werden, wird in Abhängigkeit von
- a) dem Umfang der Informationen hoher Priorität;
- b) dem Umfang der Informationen niedriger Priorität; und
- c) der optimalen Unterbringung der Informationen hoher
Priorität an geschützter Stelle
bestimmt.
Unter Verwendung der Gruppenkarte der Fig. 5 als Modell
führt ein gespeichertes Zuordnungsprogramm "MKMAPS.C" 140 an
den in einem Speicher gespeicherten digitalen Daten eine
Vorbestimmung aus, wie die Informationen - sowohl diejenigen
hoher als auch diejeniger niedriger Priorität - in der Grup
penkarte zu verteilen sind.
Um die Wahrscheinlichkeit für das Auftreten von Fehlern so
gering wie möglich zu halten und um Fehler korrigieren zu
können, sind ein Fehlerschutz und Fehlerkorrekturmöglich
keiten vorgesehen. Beispielsweise ist es bei einer Kodierung
von 1292 Informationsbits in einem Feld mit 6,25 cm2 Fläche
mit 33 Zeilen und 30 Spalten von Sechsecken und einem Erfas
sungsziel, das etwa 7% der Fläche belegt, günstig, 36 In
formationsbits hoher Priorität zu verwenden, um eine neun
stellige Postleitzahl und ein zusätzliches alphanumerisches
Zeichen zu kodieren, das einen Versandkode darstellen kann.
Bei diesem Beispiel ist es vorteilhaft, 120 Prüfbits für die
Information hoher Priorität zu verwenden, wie es durch das
Ausmaß der erwünschten Fehlerkorrekturmöglichkeit vorgegeben
ist. Für die Informationen niedriger Priorität sind 560 Bits
vorgesehen; darin sind 40 Bits für die Wiederholung der In
formationen hoher Priorität in den Informationen niedriger
Priorität eingeschlossen. Zusätzlich sind dann 576 Prüfbits
für die Informationen niedriger Priorität vorgesehen, um die
erforderliche Sicherheit und Möglichkeit zur Wiedergewinnung
der Informationen niedriger Priorität zu erhalten. Dieses
Beispiel illustriert den wesentlich verschwenderischen Ge
brauch von Prüfbits für die Informationen hoher Priorität
als für die niedriger Priorität. Das genannte Beispiel dient
nur zur Erläuterung, und die Anzahl der Informationsbits für
die verschiedenen Prioritäten der Prüfbits usw. kann in Ab
hängigkeit von den jeweiligen Erfordernissen größer oder
kleiner als angegeben gewählt werden.
Ein "systematischer Kode" hat eine bestimmte Informations
folge und fügt zu der Nachrichtenfolge eine eigene Fehler
prüffolge hinzu. Ein "nicht systematischer" Kode hat eben
falls eine bestimmte Nachrichtenfolge und beinhaltet zu
sammen mit der Nachrichtenfolge die Fehlerprüffolge, so daß
die Nachricht nicht mehr davon getrennt, jedoch wiederge
winnbar ist. Es kann sowohl ein systematischer als auch ein
nicht systematischer Kode für den Fehlerschutz verwendet
werden. Die folgende Beschreibung beinhaltet die Verwendung
eines systematischen Kodes.
Der Schritt des "Einfügens von Fehlerfeststellungssymbolen"
kann systematische und/oder nicht-systematische Kodiersy
steme umfassen.
Es sind eine Anzahl systematischer, linearer und zyklischer
Fehlerschutzkodes bekannt, zum Beispiel BCH-Kodes, Reed-So
lomon-Kodes und Hamming-Kodes. Bei der vorliegenden Ausfüh
rungsform sind separate Reed-Solomon-Kodes eingefügt, um die
Vollständigkeit der Informationen hoher und niedriger Prio
rität sicherzustellen. Reed-Solomon-Kodes sind sehr wir
kungsvoll und werden meistens verwendet, wenn Mehr-Bit-Zei
chen auf Fehler geprüft werden sollen. Reed-Solomon-Kodes
sind allgemein bekannt. Es kann jedoch auch jede andere Art
von Fehlerkorrekturkodes verwendet werden. Reed-Solomon-Ko
des und andere Kodiersysteme sind beispielsweise in "Theory
and Practice of Error Control Codes" von Richard E. Blahut,
Addison Wesley 1983, auf den Seiten 174 und 175 beschrieben.
Im folgenden werden einige Einzelheiten des Reed-Solomon-Ko
des beispielhaft angegeben. Bestimmte Eigenschaften des
Reed-Solomon-Kodes entsprechen den folgenden Parametern:
m = Anzahl der Bits in jedem Symbol;
n = Anzahl der Symbole in einem Block = 2m-1;
k = Anzahl der Informations- bzw. Nachrichten
symbole (Anzahl der Informationsbits = km);
t = Korrekturmöglichkeit in der Anzahl der Symbole
= (n-k)/2.
Eine neunstellige Postleitzahl und ein einzelnes alphanume
risches Zeichen für weitere Identifikationszwecke erfordern
bei dem obigen Beispiel ohne Fehlerschutz 36 Bit. Für die
Informationen hoher Priorität wurde ein Reed-Solomon-Kode
mit den folgenden Parametern gewählt:
m = 6 (6 Symbolbits);
n = 26-1 = 63;
t = 10;
damit ist k = n-2t= 43.
Da zur Darstellung einer 36-Bit-Nachricht nur sechs 6-Bit-
Symbole erforderlich sind, verbleiben 37 Symbole (43-6)
als Auffüllsymbole, die in dem Kodierer und Dekodierer ent
halten sind und auf der Kennzeichnung nicht angegeben werden
brauchen. Die Gesamtzahl der für die Informationen hoher
Priorität auf der Kennzeichnung erforderlichen Bits ist da
her gleich (63-37)×6 oder 156 Bit.
Mit diesem Fehlerkorrekturschema ist es möglich, maximal bis
zu 60 (10×6) Bitfehler zu korrigieren, was 38,5% der
verwendeten Bits entspricht. Aufgrund der großen Anzahl von
enthaltenen Auffüllsymbolen macht es die große Fehlerfest
stellungskapazität dieser Reed-Solomon-Kodierung extrem un
wahrscheinlich, daß die Informationen hoher Priorität falsch
ausgelesen werden.
Die Informationen niedriger Priorität werden mit einem Reed-
Solomon-Kode mit anderen Parametern kodiert, nämlich mit
m = 8 (8 Symbolbits);
n = 28-1 = 255;
t = 36;
k = n-2t = 183.
Da bei dem beschriebene Beispiel auf der Kennzeichnung 1292
Bit kodiert angegeben werden können, sind insgesamt 1136 Bit
(1292-156 Bits für Informationen hoher Priorität und Prüf
bits) zum Kodieren und für die Prüfbits der Informationen
niedriger Priorität verfügbar. Die verbleibenden 904 Bits
(255×8-1136) sind daher als Auffüllbits vorzusehen. Das
ergibt 560 Bit (183×8-904) für die Informationen niedri
ger Priorität und 576 Prüfbits.
Um die Wiedergewinnung der Informationen hoher Priorität
weiter zu sichern, sind diese in den Informationen niedriger
Priorität noch einmal enthalten. Der auf die Informationen
niedriger Priorität angewendete Reed-Solomon-Fehlerschutz
kode ermöglicht das Kodieren von zusätzlichen 86 alphanume
rischen 6-Bit-Zeichen mit einer maximalen Fehlerkorrektur
fähigkeit von etwa 25,4%.
Mit der obigen Reed-Solomon-Fehlerschutzkodierung ist die
Gesamtzahl von 1292 Informationsbits, die auf der gezeigten
Kennzeichnung verfügbar sind, wie folgt verteilt:
36 Bits für Informationen hoher Priorität;
120 Prüfbits für diese Informationen;
560 Bits für die Informationen niedriger Priorität
(einschließlich 40 Bits für die Wiederholung der
Informationen hoher Priorität); und
576 Prüfbits für die Informationen niedriger Priorität.
Die Bitfolge der Daten einschließlich der entsprechenden
Prüfbits zur Sicherstellung der Informationen sind den ein
zelnen Sechsecken in der Gruppenkarte der Fig. 5 wie gezeigt
zugeordnet. Es kann eine große Anzahl von Verteilungsmustern
verwendet werden, wenn berücksichtigt wird, daß die wichti
gen festzulegenden Kriterien sind:
- 1. Sichere Anordnung der Informationen hoher Priorität in
der Nähe des Erfassungszieles (falls ein solches im
Datenfeld vorgesehen ist) bzw. der Mitte der Kennzeich
nung; und
- 2. Erzeugung eines Musters, das beim Lesen leicht wiederer
kannt werden kann.
Das bei der vorliegenden Ausführungsform verwendete Fehler
kodierprogramm ist "ERRCODE.C".
Die Kodierung für die Reed-Solomon-Kodes erfordert eine Mul
tiplikation des Informationskodevektors mit einer Generator
matrix. Diese Matrixmultiplikation wird mittels einer Ga
lois-Feld-Arithmetik ausgeführt. Die Addition von zwei Ele
menten des Feldes erfolgt durch Ausführung einer Exklusiv-
Oder-Operation zwischen den beiden Elementen. Eine Multipli
kation erfolgt über eine "log"-Operation im Galois-Feld. Die
log- und antilog-Werte werden mittels Nachschlagetabellen
erhalten, die aus den Hauptpolynomen abgeleitet werden, ins
besondere aus 1+x6 für die Informationen hoher Priorität
und aus 1+x2+x3+x4+x8 für die Informationen niedri
ger Priorität. Ein Hilfsprogramm "GF.C" 126 (Fig. 9) erzeugt
die für die Galois-Feld-Arithmetik erforderlichen Nachschla
getabellen.
Die Nachschlagetabellen
werden berechnet und in der Datei "GF.LUT" 127 zur Verwen
dung beim Kodieren und Dekodieren gespeichert. Das Genera
torpolynom g(x) für den Reed-Solomon-Kode wird über die
folgende Gleichung bestimmt:
g(x) = (x + a)(x + a2) . . . (x + a2t);
wobei a das Grundelement des Galois-Feldes ist.
Die Generatormatrix für den Reed-Solomon-Kode wird durch
Ausführen einer Längsdivision für jede der Zeilen der Gene
ratormatrix gebildet. Die k-te Zeile der Generatormatrix
wird aus dem Rest gebildet, der bei der Ausführung der
Längsdivision von xn-k äi durch g(x) erhalten wird.
Die Berechnung der Generatorpolynome g(x) und der Generator
matrizen für die Informationen hoher und niedriger Priorität
wird gemäß dem Hilfsprogramm "MKRSLUT.C" 125 ausgeführt.
Die Nach
schlagetabellen für die Generatormatrizen werden in der Da
tei "RS.LUT" 128 gespeichert.
Die Kennzeichnungen mit den Sechsecken können mittels Stan
darddruckern hergestellt werden, die überall verfügbar und
billig sind. Ein Drucker mit einer Matrix von 300×300
Punkten pro Quadratzoll (6,25 cm2) reicht zum Drucken von
dreifarbigen (Schwarz, Grau, Weiß) Kennzeichnungen mit 888
Sechsecken plus einem zentralen Erfassungsziel aus. Ein sol
cher Drucker ist beispielsweise das Modell Hewlett Packard
Laser Jet Series II mit einem 0,5-Megabyte-Speicher und
einer graphischen Auflösung von 300 Punkten pro Zoll (48
Punkten pro Zentimeter). Ein Raster aus 300×300 Bildpun
kten mit einer Dichte von 90 000 Bildpunkten pro Quadratzoll
ergibt etwa 90 Bildpunkte pro Sechseck. Jedem Bildpunkt ist
ein Wert 0 oder 1 zugeordnet, je nachdem, ob der Bildpunkt
schwarz oder weiß darstellt. Der Drucker kann dazu verwendet
werden, ein zweifarbiges Datenfeld aus schwarzen und weißen
Sechsecken oder ein dreifarbiges Datenfeld aus schwarzen,
weißen und grauen Sechsecken zu drucken, wenn zur Erzeugung
der grauen Sechsecke ein Halbtonalgorithmus verwendet wird.
Wie in der Fig. 9 gezeigt, wird mittels eines Programms
"MKMAPS.C" 140 eine Bereichs-Nachschlagetabelle "REGIONS.
LUT" 141 mit 34 Zeilen und 30 Spalten erzeugt, die analog zu
der Darstellung der Fig. 5 ist, die jedoch darüber hinaus da
für vorgesehen ist, die Auswahl von Schwarz oder Weiß für
die Erfassungszielringe anzugeben. Die einzelnen Sechsecke
werden jeweils in Schwarz, Weiß oder Grau kodiert oder sind
nicht verwendbar. Durch eine gespeicherte Subroutine des
Programms "MKMAPS.C", das die Zugehörigkeit eines jeden der
300×300 Bildpunkte in dem Raster zu bestimmten Bereichen
in "REGIONS.LUT" 141, d.h. etwa 90 Bildpunkten pro Sechseck
festlegt, wird eine eigene Nachschlagetabelle "HEX MAP.LUT"
142 erzeugt. Die zu den Erfassungsringen gehörenden Bild
punkte werden entweder schwarz oder weiß kodiert. Die Er
fassungszielringe werden dadurch gedruckt, daß zuerst ein
sechseckiges Muster für jede Bereichszeile gebildet und dann
die Ringe erzeugt werden. Die von den Erfassungszielringen
teilweise oder vollständig bedeckten Bereiche werden in
"REGIONS.LUT" 141 als nicht verwendbar angegeben.
Die fehlergeschützte, kodierte Bitfolge wird gemäß einer
vorbestimmten Abfolge in das Feld von 11×10 Gruppen von
Sechsecken übertragen. Die Abfolge wird durch eine Nach
schlagetabelle "ORDER.LUT" 151 festgelegt, die durch ein
gespeichertes Hilfsprogramm "ORDER.C" 150 erzeugt wird.
Die Zuordnung von Werten 0, 1 oder 2 zu
Bereichen, die für das Bedrucken auf der Kennzeichnung zur
Verfügung stehen, während Bereiche mit einem Wert von 3
unverändert gelassen werden, erfolgt durch das Programm
"PRLABEL.C" 160.
Grautöne für die Sechsecke in den Gruppen von
3×3 Zellen werden in Verbindung mit einem Programm mit dem
Titel "CELL CODE.C" 170 zugeordnet.
Bei diesem Hilfsprogramm ist vorgesehen, daß die Informatio
nen hoher Priorität bevorzugt in einem Bereich um das Erfas
sungsziel gespeichert werden, in dem die Wahrscheinlichkeit
für eine Beschädigung der Kennzeichnung geringer ist. Zur
Erzeugung einer Bitfolge, die zur Eingabe in den Laser
drucker geeignet ist, wird das Programm "LABEL.C" 180 ver
wendet.
Das Drucken von Kennzeichnungen in den Farben Schwarz, Grau
und Weiß ist ein einfacher Vorgang, da nur schwarze Druck
farbe erforderlich ist, wenn ein gewöhnlicher Halbtonalgo
rithmus benutzt wird. Wenn andere Farbkombinationen vorge
sehen sind, was ohne weiteres möglich ist, sind entsprechend
aufwendigere Drucker erforderlich.
Wenn jedem der Bildpunkte des Druckers ein Wert für Schwarz
oder Weiß zugeordnet worden ist, können die Kennzeichnungen
entsprechend ausgedruckt werden, um eine kodierte Fläche zu
erzeugen, wie sie in der Fig. 3 gezeigt ist, in der manche
Sechsecke weiß, andere grau und wieder andere schwarz sind
und in der ein Erfassungsziel aus konzentrischen schwarzen
und weißen Ringen im Mittelpunkt ausgebildet ist.
Im folgenden wird nun der Vorgang des Dekodierens oder Aus
wertens des Kennzeichens erläutert. Es ist offensichtlich,
daß die Auswertung vorzugsweise mit sehr hoher Geschwindig
keit in der Größenordnung eines Bruchteiles einer Sekunde
erfolgt, um die Effektivität der Handhabung des Gegenstandes
(oder einer anderen Manipulation) zu erhöhen.
Es gibt grundsätzlich zwei Möglichkeiten, bei der Auslesung
der Kennzeichnung die Abbildung zu erfassen. Die Kennzeich
nung kann mit relativ geringer Geschwindigkeit unter Verwen
dung eines in der Hand gehaltenen, statischen Fixfokus-Scan
ners gelesen werden. Alternativ kann auch ein elektroopti
scher Sensor mit einem servo-gesteuerten Fokussiermechanis
mus für ein dynamisches, schnelles Abtasten von sich schnell
bewegenden Gegenständen verschiedener Größen und Höhen ver
wendet werden. Das im folgenden beschriebene Verfahren und
die entsprechende Vorrichtung zur Dekodierung werden in Ver
bindung mit der Verwendung eines Fixfokus-Scanners erläu
tert. Der Vorgang kann jedoch auch mit bestimmten Modifika
tionen im optischen System auf ein dynamisches Abtastsystem
übertragen werden. Zur Handhabung von Gegenständen bei hohen
Geschwindigkeiten wird vorzugsweise ein Hochgeschwindig
keits-Abtastmechanismus angewendet, der Kennzeichnungen
lesen kann, die mit einer Lineargeschwindigkeit von etwa
2,5 m/sec oder mehr an einer festen Scanner-Position vorbeige
führt werden. Die Fig. 7 zeigt die Abfolge der Schritte des
Dekodiervorganges, und die Abbildungsverarbeitung beinhaltet
die im folgenden beschriebenen Schritte.
Wenn ein Gegenstand, Paket oder Brief auf einem schnellen
Förderband transportiert wird, ist der zu beleuchtende Be
reich verhältnismäßig groß, und die Ausmaße der Gegenstände
auf dem Förderband sind unterschiedlich. Beispielsweise sind
1 m breite Förderbänder und Pakete mit einer Breite von
einigen wenigen Zentimetern bis zu nahezu einem Meter sowie
entsprechenden Höhen nicht ungewöhnlich für Paketverteilsy
steme. Die Kennzeichnung mit einer Fläche von 6,25 cm2 kann
sich dabei irgendwo auf der gesamten Breite des Förderbandes
befinden. Auch können die Pakete bezüglich der Bewegungs
richtung schräg liegen. Die Pakete, Briefe und dergleichen
haben verschiedene Höhen, so daß sich die abzutastenden
Kennzeichnungen nur wenige Zentimeter über dem Förderband
oder auch nahezu einem Meter über dem Förderband befinden
können, entsprechend der maximalen Höhe, die das jeweilige
System vorsieht.
Um die Kennzeichnungen ausreichend zu beleuchten, ist unter
Berücksichtigung des großen Bereiches an möglichen Paket
breiten und -höhen und an möglichen Darstellungswinkeln die
Verwendung einer intensiven Lichtquelle vorteilhaft, die die
optischen Eigenschaften, die für die Kennzeichnung gewählt
wurden, definiert reflektiert. Das Licht kann im infraroten,
ultravioletten oder sichtbaren Wellenlängenbereich und bei
spielsweise im sichtbaren Bereich des Spektrums an beliebi
ger Stelle liegen.
Die Lichtquelle für die Beleuchtung muß daher genügend stark
sein, um ausreichend reflektiertes Licht am Lichtsensor (z.B.
einem CCD-Element) zu ergeben, damit der Sensor zuverläs
sig zwischen den schwarzen, grauen und weißen oder sonstigen
verwendeten optischen Eigenschaften der Sechsecke unter
scheiden kann. Bei einem dynamischen Abtastsystem kann ein
LED-Array verwendet werden, um in der Höhe der Kennzeichnung
eine Beleuchtung von etwa 10 mW/cm2 zu erhalten. Die LEDs
können flächig, ohne eine fokussierende Linse, oder linear,
mit einer fokussierenden Zylinderlinse, angeordnet sein. Es
kann auch eine Laser-Lichtquelle in Verbindung mit einem
optischen System, das eine linienförmige Beleuchtung er
zeugt, verwendet werden.
Die Wahl der Lichtquelle mit bestimmten Eigenschaften kann
somit entsprechend den Erfordernissen für die jeweilige An
wendung erfolgen. Es ist dabei zu berücksichtigen, daß die
Beleuchtung ausreichen muß, um die Kennzeichnungen ausrei
chend schnell zu identifizieren, und daß die Kennzeichnung
selbst nur eine Fläche von 6,25 cm2 hat, sich in unter
schiedlichen Höhen auf einem Transportband befinden kann und
sich mit Geschwindigkeiten bis zu 2,5 m/sec bewegt.
Wenn der oben erwähnte statische Fixfokus-Scanner verwendet
wird, ist eine Beleuchtung von etwa 2 mW/cm2 in der Regel
ausreichend, die durch eine Leuchtstofflampe erhalten werden
kann.
Der zweite Schritt bei der Erkennung während des Dekodier
vorganges ist die optische Erfassung des beleuchteten Be
reiches mit einem elektronisch betriebenen Sensor. Die Ka
mera bzw. der Lichtsensor, die bzw. der bei dem statischen
Fixfokus-Abtastsystem der vorliegenden Ausführungsform ver
wendet wird, kann eine Farb-CCD-TV-Kamera industrieller Art
sein, wie beispielsweise das Modell WV-CD 130 der Panasonic
Industrial Co., die mit einer 50 mm-TV-Linse mit einem 5 mm-
Verlängerungstubus ausgerüstet ist, wie sie unter der Mar
kenbezeichnung NAVITRON TM erhältlich ist. Eine solche Kame
ra kann mit einer Bilderfassungsschaltung wie dem Modell
DT-2803-60 von Data Translation Inc. verbunden sein.
Die optische Abbildung kann die Erfassung der gesamten Kenn
zeichnung unter der Verwendung eines Flächensensors wie der
oben genannten Kamera und der Bilderfassungsschaltung bein
halten oder alternativ mit einem linearen Sensorarray ausge
führt werden, das ein CCD-Element enthält, wobei die zweite
Dimension bei der Abtastung der Kennzeichnung durch die Be
wegung des Gegenstandes (und der Kennzeichnung) erhalten
wird. Ein für diesem Zweck geeignetes CCD-Element ist der
lineare CCD-Sensor Modell Thomson-CSF THX 31510 CDZ mit 4096
Elementen.
Für dynamische Systeme, bei denen die die Kennzeichnungen
tragenden Gegenstände auf einem Förderband oder dergleichen
bewegt werden, ist es günstig, zwischen den zu erfassenden
Kennzeichnungen und dem Lichtsensor einen langen optischen
Weg vorzusehen. Der hauptsächliche Grund dafür ist die Ver
ringerung der Änderung der scheinbaren Größe der durch einen
im Abstand angeordneten Sensor erfaßten Kennzeichnung. Wenn
beispielsweise die Länge des optischen Weges gleich 1,20 m
ist, hat die Abbildung einer Kennzeichnung, die sich nur
einige Zentimeter über dem Förderband befindet, eine ganz
andere Größe wie die einer Kennzeichnung, die sich 90 cm
über dem Förderband befindet. Wenn jedoch ein optischer Weg
mit einer Länge von z.B. 6 m vorgesehen ist, sind die Abbil
dungen solcher Kennzeichnungen nahezu gleich groß, und es
kann eine gleichmäßig gute Auflösung der Abbildung im gesam
ten erfaßten Bereich erhalten werden. Das gleiche gilt, wenn
anstelle eines Zeilensensors ein Flächensensor verwendet
wird. Die große Auflösung wird somit bei einer Anordnung wie
in der Fig. 6 durch einen langen optischen Weg erreicht.
Um eine Scharfeinstellung auf Kennzeichen an verschieden
hohen Gegenständen zu ermöglichen, wird ein Höhensensor be
nötigt. Dazu kann beispielsweise ein Ultraschallsensor ver
wendet werden, oder es ist eine Anzahl von Lichtschranken
vorgesehen, die vom Gegenstand unterbrochen werden. Entspre
chend kann dann ein Einstellmechanismus mit oder ohne Rück
führung (Regelung) aktiviert werden, um die Position der
optischen Erfassungselemente (z.B. Linsen oder Sensoren)
kontinuierlich zu verstellen.
Die Fig. 6 ist eine schematische Ansicht einer Einstellvor
richtung für eine Kamera, die zum Positionieren des Licht
sensors der Kamera gemäß der Höhe der erfaßten Gegenstände
dient. In der Fig. 6 sind eine Linse 196, eine Spulenan
steuerung 202, ein Höhensensor 206 und eine Regelung dafür
dargestellt. Der Höhensensor 206 kann aus einem Ultraschall
sensor bestehen oder aus einem System, bei dem vom Gegen
stand Lichtstrahlen unterbrochen werden. Das Ausgangssignal
des Höhensensors 206 wird zu einem Mikroprozessor 204 ge
führt, der seinerseits die Spulenansteuerung 202 veranlaßt,
eine Spule 200 zu bewegen, an der ein CCD-Element 198 oder
ein anderer geeigneter Sensor angebracht ist. Ein Positions
sensor 208 erfaßt die Position der Spule 200 und gibt das
entsprechende Ausgangssignal an den Mikroprozessor 204,
wodurch eine Regelschleife zum Erfassen und Einstellen der
Position der Spule 200 gebildet wird.
Der Sensor muß in der Lage sein, das von der beleuchteten
Kennzeichnung reflektierte Licht zu erfassen, und er muß ein
Analogsignal erzeugen, das der Intensität der reflektierten
Eigenschaften der Kennzeichnung entspricht, wie sie durch
die einzelnen Bildpunkte des elektrooptischen Sensors aufge
nommen werden.
Eine geeignete Lichtquelle kann wie erwähnt über einem För
derband angebracht sein, um einem Bereich, der sich über die
ganze Breite des Förderbandes erstreckt, mit Licht bestimm
ter Qualität und Intensität auszuleuchten. Das von der Kenn
zeichnung reflektierte Licht kann mittels einer Reihe von
Reflektoren umgelenkt und dann erst durch den elektroopti
schen Sensor erfaßt werden. Der Zweck des Umlenkens des
Lichts ist es, ein kompaktes und damit starres System zu
schaffen.
Das von dem Sensor abgegebene analoge Bildsignal wird dann
gefiltert. Das elektrische Analogsignal wird in Verbindung
mit einem Analog-Bandpaßfilter dazu verwendet, das Vorhan
densein eines Erfassungszieles im Datenfeld festzustellen.
Das Analogsignal wird dann mittels eines herkömmlichen Ana
log/Digital-Konverters in der Bilderfassungsschaltung oder
einer anderen Einrichtung in ein digitales Signal umgewan
delt. Es ist möglich, anstelle des Analog-Bandpaßfilters
eine digitale Filterschaltung vorzusehen, um das Vorhan
densein des Erfassungszieles durch einen Vergleich von ent
sprechenden digitalen Daten mit den vom Analog/Digital-Kon
verter ausgegebenen Daten festzustellen.
Ein Beispiel für einen Flächensensor mit einem CCD-Element
mit einer Anzahl von Detektoren ist die bereits erwähnte
Farb-CCD-TV-Kamera WV-CD 130 von Panasonic. Das analoge Aus
gangssignal dieses Sensors wird zu der Bilderfassungsschal
tung DT 2803-60 von Data Translation geführt, die einen
6-Bit-Einfarben-A/D-Konverter zur Digitalisierung der Daten
enthält. Mittels einer Subroutine wird das sequentielle
digitale Ausgangssignal der Bilderfassungschaltung in der
Form einer exakten Wiedergabe des durch den optischen Sensor
erfaßten Bildes in einen Speicher eingespeichert.
Die Verarbeitung der optisch erfaßten Abbildung ist der we
sentlichste Vorgang bei der exakten Wiedergewinnung der ur
sprünglichen Konfiguration der Kennzeichnung und der opti
schen Eigenschaften (Farben) eines jeden Sechsecks. Diese
Verarbeitung beinhaltet die im folgenden angegebenen Schrit
te, wobei das bekannte Muster, nach dem die Kennzeichnung
ursprünglich kodiert wurde, dazu verwendet wird, die in der
Kennzeichnung enthaltenen Informationen zu dekodieren.
Der erste dieser Schritte ist die Lokalisierung des Mittel
punktes des Erfassungszieles. Vor der Anwendung der erwähn
ten CCD-TV-Kamera und der Bilderfassungsschaltung wird, wie
in der Fig. 10 gezeigt, ein Initialisierungsprogramm
"DTINIT.C" 250 ausgeführt, um die Bilderfassungsschaltung in
einen definierten Bereitschaftszustand zu bringen und die
Farb-Nachschlagetabellen zu laden, gefolgt von dem Programm
"DTLIVE.C" 255, um die Bilderfassungsschaltung zu aktivie
ren. Dann veranlaßt das Programm "DTGRAB.C" die Bilderfas
sungsschaltung, die Szene in einen Bildspeicher mit 240 Zei
len und 256 Spalten zu digitalisieren, wobei das Muster in
6-Bit-Werten als Byte gespeichert wird.
Zwei Hilfsprogramme "DTSAVE.C" und "DTLOAD.C" bewirken eine
Übertragung der Schirmbilder in und aus einem Speicher.
Bei der ersten Erfassung der Abbildung des Kennzeichens kann
ein herkömmlicher analoger Bandpaßfilter dazu verwendet wer
den, die optischen Eigenschaften der konzentrischen Ringe
des Erfassungszieles zu identifizieren. Diese optischen Ei
genschaften sind vorzugsweise die Farben Schwarz und Weiß,
da der größte Kontrast auch das stärkste Signal ergibt. Um
ein festes Muster für die Übergänge von Schwarz nach Weiß
und wieder nach Schwarz usw. herauszufinden, ist es günstig,
wenn eine lineare Abtastung durch den Mittelpunkt des Erfas
sungszieles unabhängig von der Orientierung der Kennzeich
nung immer den gleichen Frequenzverlauf ergibt. Das Erfas
sungsziel wird daher am besten aus konzentrischen Ringen
gebildet. Das Ausgangssignal des Sensors wird dann aufge
teilt und durch zwei Detektionszweige geschickt. In dem
einen dieser Zweige wird die Gesamtenergie des Ausgangssi
gnales und in dem anderen die Energie mit der Ringfrequenz
gemessen. Bei einem Vergleich der beiden Ausgangssignale muß
die Energie aus dem Ringdetektor nahezu mit der Energie aus
dem Gesamtenergiedetektor übereinstimmen, wenn die Abtastung
durch den Mittelpunkt des Erfassungszieles ausgeführt wurde.
Mit anderen Worten ist der Mittelpunkt des Zieles erfaßt,
wenn diese nahezu vollständige Entsprechung auftritt. Unter
dem Dateinamen "FIND.C" ist
eine Auflistung der Vorgänge zur Erzeugung eines
digitalen Bandpaßfilters und für den Filtervorgang angege
ben. Bei der Ausführungsform mit der dynamischen Abtastung
wird bei dem ersten Filterschritt vorzugsweise ein analoger
Bandpaßfilter oder auch ein analoger Abtast-Bandpaßfilter
verwendet.
Es ist anzumerken, daß der Erfassungsziel-Lokalisierungs
schritt "FIND.C" 280 der Fig. 10 in der Fig. 7 als wahlweise
bezeichnet ist, da auch ein in der Hand gehaltener Scanner
verwendet werden kann, wobei der Bediener den Scanner geeig
net plazieren kann, um eine korrekte Ausrichtung des Sensors
sicherzustellen. Dies erfolgt allerdings verständlicherweise
wesentlich langsamer als bei einem automatischen Sensor, und
für einen Hochgeschwindigkeitsbetrieb ist die Verwendung
eines automatischen Sensors unabdingbar. Wenn ein automati
scher (nicht in der Hand gehaltener) Sensor benutzt wird,
stellt die Lokalisierung des Erfassungszieles einen erfor
derlichen Verfahrensschritt dar.
Als Alternative zu dem oben beschriebenen Analogfilter kann
unter Verwendung eines Parks-McClellan-Algorithmus, der
in der Softwarepackung "Digital Filter Designs Software for
the IBM PC" (Taylor und Stouraitis, Marcel Dekker Inc., New
York N.Y. 1987) enthalten ist, ein digitaler Bandpaßfilter
erzeugt werden.
Bei der vorliegenden Ausführungsform wurde ein eindimensio
naler digitaler Bandpaßfilter zum Filtern des normalisierten
digitalen Bitstromes mittels der folgenden Filter-Subrouti
nen verwendet. Das herauszufilternde Band ist die erwartete
Ringfrequenz. Der eindimensionale digitale Bandpaßfilter ist
für eine Abtastrate von 400 Bildpunkten pro Zoll (2,54 cm)
und eine Länge von 125 Bildpunkten (7,9375 mm oder 0,3125
Zoll) vorgesehen und für die Maße der gedruckten Erfassungs
zielringe ausgelegt, wie es in der Fig. 3 gezeigt ist. Die
Frequenz ist damit 300/16 Zeilenpaare pro Zoll (2,54 cm),
was einer normalisierten Frequenz (bei der 400 Zeilenpaare pro
Zoll bzw. 2,54 cm = 1 ist) von 300/16×400 oder 0,046875 entspricht.
Es wird ein Filter mit einem Durchlaßbereich gewählt, der
sich bis 5% unter diese Frequenz und 15% über diese Fre
quenz erstreckt, da Verzerrungen der Kennzeichnung typi
scherweise eine Verkleinerung der Abbildung und damit eine
erhöhte Frequenz ergeben. Sperrbereiche von 15% unterhalb
der Frequenz zu 0 und von 25% über der Ringfrequenz zu 0,5
(Nyquist-Grenze) wurden vorgesehen. Die Werte für die Filter
sind in der Datei "IMPULSE.LUT" 275 (Fig. 10) für den späte
ren Gebrauch gespeichert, wobei die ersten 62 Koeffizienten
weggelassen werden, da der Filter symmetrisch ist. Ein ent
sprechendes Flußdiagramm ist in der Fig. 8 gezeigt.
Durch Abtasten des Bandpassfilters in Ausgangsintervallen,
die der gemessenen horizontalen Vergrößerung entsprechen,
wird ein Filter mit einer Länge von 25 Bildpunkten erzeugt.
Wenn beispielsweise die horizontale Vergrößerung der Abbil
dung 80 45327 00070 552 001000280000000200012000285914521600040 0002003911702 00004 45208Bildpunkte pro Zoll bzw. 2,54 cm ist, wird jeder
fünfte Abtastwert des Filters verwendet (400/80 = 5 Bild
punkte). Für nichtganzzahlige Schritte wird eine lineare
Interpolation angrenzender Filter-Abtastwerte durchgeführt.
Des weiteren ist ein zweites, zweidimensionales Filter von
25×25 Bildpunkten vorgesehen. Die Abtastwerte für diesen
zweidimensionalen Filter beruhen auf dem euklidischen Ab
stand eines jeden Punktes vom Mittelpunkt des Filters, der
für eine geeignete horizontale und vertikale Vergrößerung
eingestellt wurde. Für nichtganzzahlige Abtastintervalle
wird wieder eine lineare Interpolation ausgeführt.
Das Ausgangssignal des erwähnten eindimensionalen Filters
wird quadriert und mittels eines rekursiven Tiefpaßfilters
erster Ordnung geglättet, was einen exponentiellen Aus
schnitt aus der Historie ergibt. Wenn das Ausgangssignal des
Glättungsfilters eine vorbestimmte Schwelle übersteigt, wird
ein zusätzlicher zweidimensionaler Filterschritt vorgesehen,
um das Vorhandensein des Erfassungszieles zu überprüfen und
dessen Ort genau zu bestimmen. Im ersten Teil des zweidimen
sionalen Filtervorganges wird eine verringerte Filtergröße
von 10×10 Bildpunkten verwendet, um die Berechnung zu er
leichtern. Dieser Filter tastet eine rechteckige Fläche um
den mittels des eindimensionalen Filters festgestellten Ort
ab. Wenn das Maximum der zweidimensionalen Korrelation eine
vorbestimmte Schwelle übersteigt, wird schließlich die voll
ständige zweidimensionale Filterung mit dem vollen 25×25
Bildpunkt-Filter auf ein kleines quadratisches Fenster um
das Maximum angewendet. Wenn das beste Ergebnis dieser Fil
terung wiederum eine vorbestimmte Schwelle übersteigt, ist
der Mittelpunkt festgestellt. Wenn eine der Schwellen nicht
überschritten wird, "baut" das Programm den Glättungsfilter
teilweise ab und kehrt zur eindimensionalen Abtastung zu
rück. Wenn die eindimensionale Abtastung abgeschlossen wird,
ohne daß das Vorhandensein eines Erfassungszieles festge
stellt wurde, endet das Programm mit einem Fehler-Rück
sprung.
Die von dem verwendeten optischen Sensor aufgenommenen In
tensitäten des reflektierten Lichts können sich aufgrund von
Veränderungen in der Beleuchtung, der Druckdichte, der Re
flektivität des Papiers, der Empfindlichkeit der Kamera und
anderen Faktoren einschließlich einer Verschlechterung der
Kennzeichnung beispielsweise durch Falten, Verziehen usw.
ändern. Als wahlweiser (und vorzugsweise angewendeter)
Schritt kann das von dem Sensor erfaßte reflektierte Licht
und das zu dem Speicher weitergeführte entsprechende Signal
auf herkömmliche Weise normalisiert werden. Unter Anwendung
bekannter Techniken wird das in der Fig. 10 gezeigte Norma
lisierungsprogramm "NORM.C" 270 bei der Analyse des Intensi
tätspegels des von der Kennzeichnung reflektierten Lichts
verwendet, wie es in Bildpunktblöcken in dem Scanner aufge
zeichnet ist, um die minimale und die maximale Intensität
des vom Datenfeld reflektierten Lichts festzustellen. Das
digitale Ausgangssignal der erwähnten Kombination aus Scan
ner und Bilderfassungsschaltung wird vom Speicher zum Compu
ter umgeladen, um mittels des Normalisierungsprogramms wei
terbehandelt zu werden.
Unter Verwendung der Gleichung y=mx+b, wobei die in x
eingesetzte minimale Intensität einen Wert von y=0 und die
in x eingesetzte maximale Intensität einen Wert von y=63
ergibt, werden die erfaßten Intensitäten des reflektierten
Lichts für jeden Bildpunkt so eingestellt, daß das schwär
zeste Schwarz und das weißeste Weiß in der gespeicherten
Abbildung als Standard festgelegt werden und die anderen
Farbtöne von Schwarz, Weiß und Grau auf diese Standards be
zogen werden. Der Normalisierungsvorgang erleichtert damit
die Verarbeitung der erfaßten Abbildung. Die Normalisierung
wird mittes eines Programms "NORM.C" ausgeführt.
Es können
selbstverständlich auch andere, aufwendigere Normalisie
rungsverfahren angewendet werden.
Für die folgenden Berechnungen wird die gespeicherte Wieder
gabe der Kennzeichnung erneut skaliert, um eine Abbildung
mit gleichen horizontalen und vertikalen Größen zu erhalten.
Dies ist wiederum ein wahlweiser Schritt, der jedoch eine
schnelle und genaue Wiedergewinnung der kodierten Informa
tionen erleichtert. Die Skalierung wird ausgeführt, um in
der Abbildung eine gleichmäßige horizontale und vertikale
Auflösung der Abtastung von zum Beispiel 150 Bildpunkten pro
Zoll (2,54 cm) zu erhalten, wie sie bei der Ausführung mit
dem statischen Fixfokus-Scanner verwendet wird.
Die Skalierung bzw. Rückskalierung erfolgt durch Berechnen
der Teil-Zeilen- und Spaltenadressen von Abtastungen bei
1/150 Zoll auf der Basis der bekannten horizontalen und ver
tikalen Vergrößerung. Jeder Punkt der neuen gleichmäßig
skalierten Abbildung wird dann aus einem entsprechenden Satz
von Punkten aus der Abbildung abgeleitet, die im Speicher
enthalten ist. Für Teil-Adressen wird zur näherungsweisen
Bestimmung des Wertes der Punkte eine bilineare Interpola
tion verwendet. Die Skalierung plaziert den Mittelpunkt der
Kennzeichnung im Speicher auf einer bekannten Position. Die
skalierte Abbildung wird schließlich zur späteren Verwendung
im Durchsuchungsschritt gespeichert. Alle folgenden Vorgänge
gehen davon aus, daß die skalierte Abbildung der Kennzeich
nung auf eine bekannte Position im Gitter zentriert ist, es
ist jedoch anzumerken, daß damit die Orientierung der Kenn
zeichnung noch nicht angezeigt wird, die bezüglich des Sen
sors nach wie vor verkippt sein kann. Die Skalierung wird
mittels einer Subroutine ausgeführt.
Die nächsten Vorgänge werden zusammengefaßt als "zweidimen
sionale Takt-Wiedergewinnung" bezeichnet. Diese Schritte
werden durch ein Programm und Subroutinen mit dem Titel
"CLOCK.C" 290 (Fig. 10) ausgeführt.
Dieser Vorgang wird zweidi
mensional an der rückskalierten Abbildung ausgeführt, um die
Lage eines jeden Sechsecks im ursprünglichen Datenfeld exakt
festzulegen. Der Zweck der Takt-Wiedergewinnung ist die Be
stimmung der Abtastpositionen und eine Korrektur der durch
Verziehen, Kräuseln oder Verkanten der Kennzeichnung hervor
gerufenen Effekte, da die Kennzeichnung beispielsweise nicht
vollständig flach zu sein braucht. Dies ist ein wichtiger
Teil des Vorganges, seine Anwendung ist nicht auf hexagonal
kodierte Kennzeichnungen beschränkt, er kann auch auf andere
Kennzeichnungen mit einem regulären zweidimensionalen Gitter
aus zum Beispiel Quadraten, Dreiecken usw. angewendet wer
den.
Die eindimensionale Takt-Wiedergewinnung ist bei der Signal
verarbeitung ein allgemein bekannter Vorgang. Eine zweidi
mensionale Takt-Wiedergewinnung ist eine Erweiterung dieses
Vorganges, die von jedem Fachmann ausgeführt werden kann. Es
ist anzumerken, daß die Bezeichnung "Takt-Wiedergewinnung"
für Nichtfachleute etwas verwirrend sein kann, da sie keine
zeitliche Abstimmung betrifft.
Der erste Schritt bei der Ausführung der Takt-Wiedergewin
nung kann mittels bekannter, nichtlinearer Zuordnungsvor
gänge ausgeführt werden, um Signalkomponenten mit einer
Taktfrequenz zu erzeugen, die im digitalisierten Bild-Aus
gangssignal des optischen Sensors und der Bilderfassungs
schaltung nicht vorhanden sind. Der Zweck der nichtlinearen
Zuordnung ist es, die vorzugsweise normalisierte und rück
skalierte Abbildung, die an dieser Stelle des Prozesses vor
handen ist, zu nehmen und in eine zweidimensionale nicht
lineare Abbildung oder Karte überzuführen, die die Übergänge
zwischen benachbarten kontrastierenden Sechsecken hervor
hebt. Dies erfolgt bei der vorliegenden Ausführungsform
durch eine Zuordnung mittels der Standardabweichungen, das
heißt eine Abbildung der Standardabweichungen. Dieser Vor
gang kann auch durch Filtern mit einem die Abbildung dif
ferenzierenden Kern, von dem mehrere Arten bekannt sind, wie
LaPlace- oder Sobel-Kerne, und einer Bestimmung des Absolut
wertes oder einem Quadrieren der Ergebnisse ausgeführt wer
den. Entsprechende Prozeduren sind in "Digital Image Pro
cessing" von Rafael G. Gonzalez und Paul Wintz, Addison
Wesley 1977 beschrieben.
Bei der gewöhnlichen Abbildung der Standardabweichungen ist
die Abbildung mit nicht differenzierten Zellenrändern im
Speicher gespeichert. Es wird dann eine Abbildung der Stan
dard-Abweichungen erzeugt, um die Ränder benachbarter kon
trastierender Sechsecke durch Bestimmung der Standardab
weichung von 3×3-Gruppen von Bildpunkten (dies ist etwas
anderes als die Gruppen von 3×3 Zellen) zu bestimmen, um
die Standardabweichungen der Intensitäten der Bildpunkte
festzulegen. Die Berechnungen für die Standardabweichung
werden zur Festlegung der Bereiche von Bildpunkten mit einer
bestimmten Farbe (der kleinsten Standardabweichung) verwen
det, die das Innere eines Sechseckes oder den Übergang zwi
schen zwei gleichfarbigen Sechsecken darstellen, im Gegen
satz zu den Gruppen von Bildpunkten mit größeren Standard
abweichungen, die Übergänge von einem Sechseck mit einer
bestimmten Farbe zu einem angrenzenden Sechseck mit einer
kontrastierenden Farbe darstellen. Da nebeneinanderliegende
Sechsecke häufig die gleiche Farbe haben, gibt eine Abbil
dung der Standardabweichungen nicht jedes Sechseck vollstän
dig an. Fehlende Grenzen oder Ränder zwischen Sechsecken
ergeben sich aus der Tatsache, daß der Vorgang der Abbildung
mittels der Standardabweichungen Übergänge zwischen Sechs
ecken der gleichen Farbe nicht feststellen kann. Die Takt-
Wiedergewinnung ist daher zur Erzeugung dieser fehlenden
Übergänge vorgesehen.
Der beschriebene Dekodiervorgang kann auf jede der oben
beschriebenen Kennzeichnungsformen angewendet werden. Die
Kodiereinheiten für die verschiedenen Geometrien können
leicht angepaßt werden, da die optisch kodierten Polygon
zellen so angeordnet sind, daß die geometrischen Mittel
punkte benachbarter Polygonzellen auf den Ecken eines vor
gegebenen zweidimensionalen Gitters liegen.
Wenn die Kennzeichnungen mit optischen Sensoren der genann
ten Arten ausgelesen werden, wird die jeweilige Geometrie
oder Form der einzelnen Kodiereinheiten oder Polygonzellen
nicht durch den optischen Sensor bestimmt. Der Sensor nimmt
statt dessen lediglich die Kennzeichnung mit einer bekannten
Anzahl von Abtastungen pro Zoll oder Zentimeter auf und
zeichnet die Intensitäten des entsprechend den optischen
Eigenschaften des jeweiligen Abtastbereiches reflektierten
Lichtes auf. Diese Werte werden zur späteren Verwendung in
einem Speicher gespeichert. Mit anderen Worten zeichnet der
elektrooptische Sensor die durchschnittliche Lichtintensität
Abtastfläche für Abtastfläche über die ganze Kennzeichnung
auf, ohne Rücksicht darauf, ob überhaupt irgend etwas auf
der Kennzeichnung ausgedruckt ist. Dies ist unter der Spei
cherung der Abbildung mit im Speicher nicht differenzierten
Übergängen von Zelle zu Zelle gemeint. Aus diesem Grund ist
der Dekodiervorgang leicht an Kennzeichnungen verschiedener
Konfigurationen anzupassen, solange die Mittelpunkte der Po
lygon-Kodiereinheiten einen vorbestimmten Abstand und eine
vorbestimmte Richtung in einem zweidimensionalen Gitter
haben.
Es hat sich herausgestellt, daß eine Abänderung des hexago
nalen, auf Zellen basierenden Systems, wie im Falle von
Polygonen, die nur im wesentlichen die Form von Sechsecken
haben, wie es in der Fig. 15 gezeigt ist, nur eine geringe
Herabsetzung der Leistungsfähigkeit des Systems zur Folge
hat. Die Verwendung von Polygonen mit schlechteren Packungs
eigenschaften oder Gittern oder teilweise oder überhaupt
nicht zusammenhängenden Figuren ergibt zwar eine schlechte
re, jedoch trotzdem für manche Anwendungen ausreichende
Leistungsfähigkeit. Irgenwann jedoch fällt natürlich die
Leistungsfähigkeit des Systems aufgrund optisch nicht mehr
auflösbarer Hochfrequenzkomponenten von polygonalen Kodier
zellen niedrigerer Ordnung, mit schlechter Zellenpackung und
bei Gittern mit großen Zwischenräumen zwischen den Polygonen
auf eine nicht mehr akzeptable, zu niedrige Kapazität für
die Speicherung und Wiedergewinnung der Informationen.
Die Tauglichkeit des Systems hängt von der Qualität des
durch den elektrooptischen Sensor aufgenommen Signals ab.
Durch Ändern des Erfassungssystems, beispielsweise durch
Erhöhen der Anzahl von Abtastungen pro Einheitsfläche auf
der Oberfläche der Kennzeichnung kann das vom Sensor aufge
zeichnete Signal verbessert und die Möglichkeiten der Infor
mationsspeicherung und Wiedergewinnung insbesondere von
teilweise und nicht zusammenhängenden Kennzeichnungs-Konfi
gurationen verbessert werden.
Das System ermöglicht daher eine große Spannbreite bezüglich
des Gegenstandes der Kennzeichnung, der Einrichtungen zur
Aufnahme des optischen Signals und zur Verarbeitung des
optischen Signals. Es können Polygonzellen von entweder re
gelmäßiger oder unregelmäßiger bzw. ungleichmäßiger Form als
Kodiereinheiten verwendet werden. Solange die Abstände und
Richtungen der Mittelpunkte der Polygone bezüglich benach
barter Polygone bekannt sind, können die Polygone auf ir
gendeinem Gitter liegen, und sie können vollständig, teil
weise oder überhaupt nicht zusammenhängen.
Die nichtlinearen Zuordnungstechniken, insbesondere die be
schriebene Abbildung der Standardabweichungen, erleichtern
die Rekonstruktion der fehlenden Übergänge oder Ränder zwi
schen den Polygonzellen mit gleichen optischen Eigenschaf
ten. Auf die gleiche Weise können die fehlenden Übergänge
zwischen Polygonen und Zwischenräumen mit gleichen optischen
Eigenschaften gefunden werden, wenn die Polygone teilweise
oder überhaupt nicht zusammenhängen. Das wird durch die im
folgenden beschriebene schnelle Fourier-Transformation, Fil
terung und inverse schnelle Fourier-Transformation erreicht.
Eine wahlweise vorgesehene Technik verringert die zur Erzeu
gung der Abbildung der Standardabweichungen erforderlichen
Berechnungen. Normalerweise sind zur Berechnung der Summe
der neun Bildpunkte in jedem der 3×3-Bildpunktblöcke acht
Additionen erforderlich. Dies kann auf die Hälfte reduziert
werden, wenn jeder Bildpunkt der Abbildung durch die Summe
aus ihm selbst und den unmittelbar links und rechts davon
liegenden Bildpunkten ersetzt wird. Dies erfordert zwei Ad
ditionen pro Bildpunkt. Der gleiche Vorgang wird dann an der
neuen Abbildung ausgeführt, mit der Ausnahme, daß die Summe
für die unmittelbar darüber und darunter liegenden Bildpunk
te berechnet wird. Dadurch sind zwei weitere Additionen und
somit insgesamt vier Additionen erforderlich. Am Ende des
Vorgangs ist jeder Bildpunkt durch die Summe aus ihm selbst
und seinen acht unmittelbaren Nachbarn ersetzt.
Die Abbildung der Standardabweichung wird zur Erzeugung
einer Abbildung der Sechsecke, die dem ursprünglichen Daten
feld entspricht, jedoch keine Übergänge zwischen Sechsecken
der gleichen Farbe enthält, bevorzugt.
Die folgende Subroutine, "Fensterung" genannt, ist wieder
wahlweise vorgesehen. Die Fensterung oder Ausschnittdarstel
lung wird zur Verringerung der Intensitäten von Grenzlinien
verwendet, die keinen Sechseck-Umrissen entsprechen. Diese
Grenzen treten an zwei Stellen auf: Den Erfassungszielringen
und in der Abbildung der nicht kontrollierten Umgebung der
Kennzeichnung. Zur Herabsetzung der Intensität dieser Berei
che wird eine Gewichtungsfunktion verwendet. Wie eine Fen
sterung vor einer schnellen Fourier-Transformation ausge
führt wird, ist dem Fachmann bekannt.
Unter der Kontrolle eines kommerziell erhältlichen Programms
wird dann an der (wahlweise gefensterten) Abbildung der
Standardabweichungen eine zweidimensionale schnelle Fourier-
Transformation der digitalen Werte ausgeführt. Dabei führt
ein Computer an der Abbildung, die im vorhergehenden Schritt
erzeugt wurde, eine schnelle Fourier-Transformation aus, um
eine zweidimensionale Darstellung der Abstände, Richtungen
und Intensitäten der Übergänge kontrastierender Sechsecke zu
bekommen. Einfach gesagt ist die schnelle Fourier-Transfor
mation eine Maßnahme zur Feststellung der Abstände, Richtun
gen und Intensitäten der Ränder zwischen Sechsecken, soweit
bekannt. Die regulären Abstände und Richtungen der Begren
zungen der Sechsecke ergeben Punkte im Transformationsbe
reich mit einem hohen Energiepegel. Der hellste Punkt befin
det sich in der Transformationsebene bei 0,0 entsprechend
der Gleichstromkomponente der Abbildung. Die den Mittelpunkt
umgebenden sechs Punkte stellen die Abstände, Richtungen und
Intensitäten der Ränder zwischen den Sechsecken dar.
Durch Ausführen einer schnellen Fourier-Transformation an
den digitalen Daten, die der nichtlinear abgebildeten, er
faßten Kennzeichnung entsprechen, kann ebenfalls eine zwei
dimensionale Darstellung der Abstände, Richtungen und Inten
sitäten der Schnittstellen kontrastierender Polygone berech
net werden, wie sie in dem vorhergehenden Abbildungsschritt
über die Standardabweichungen identifiziert wurden. Die Ab
stände und Richtungen der Polygon-Begrenzungen ergeben dann
bestimmte Punkte hoher Energie im Transformationsbereich.
Die Anzahl der Punkte hoher Energie, die den Nullpunkt bei
0,0 der Transformationsebene umgeben, hängt von der Geome
trie der jeweiligen Polygonzelle ab, die zum Aufbau der
Kennzeichnung verwendet wird. Bei Sechsecken stellen diese
den Mittelpunkt umgebenden Punkte die Abstände, Richtungen
und Intensitäten der Ränder zwischen Polygonen oder zwischen
Polygonen und Zwischenräumen dar, wenn die Kennzeichnung aus
nur teilweise oder nicht zusammenhängenden Elementen aufge
baut ist.
Da die Abbildung reell (und nicht komplex) bewertet wird,
ist der Transformationsbereich um den Ursprung punktsymme
trisch. Es braucht daher nur die Hälfte des Transformations
bereiches berechnet zu werden, was die Rechenzeit entspre
chend verringert. Dadurch wird auch den Aufwand in der fol
genden Abbildungsfilterung und der inversen schnellen Fou
rier-Transformation herabgesetzt. Das in Verbindung mit dem
statischen Fixfokus-System verwendete Programm mit einer
schnellen Fourier-Transformation ist beispielsweise die
Subroutine R 2DFFT des 87FFT-2-Paketes von Microway Inc.,
Kingston, Massachusetts.
Zur Rekonstruktion der vollständigen Umrisse aller Sechsecke
im Bildbereich wird unter Verwendung der transformierten di
gitalen Daten eine Filterung durchgeführt. Dabei werden sol
che Punkte im Transformationsbereich eliminiert, die den ge
wünschten Abständen und Richtungen von Begrenzungen der
Sechsecke, die im Abbildungsschritt mit den Standardabwei
chungen erhalten wurden, nicht entsprechen. Es gibt im
Transformationsbereich aufgrund der Sechseck-Wabenstruktur
der Kennzeichnung sechs markante Punkte. Im Transformations
bereich werden davon nur drei Punkte tatsächlich identifi
ziert, da die Abbildung um den Ursprung punktsymmetrisch ist
und die zweiten drei Punkte von den ersten drei abgeleitet
werden können. Die Filterung wird vorzugsweise in drei
Schritten ausgeführt, um solche Übergänge aus der über die
Standardabweichungen erhaltenen Abbildung zu eliminieren,
die zu weit auseinander oder zu nahe beeinander liegen
und/oder in die falsche Richtung zeigen.
Zuerst erfolgt eine Hochpaßfilterung, bei der alle Punkte
innerhalb eines bestimmten Kreises um den Ursprung des
Transformationsbereiches auf Null gesetzt werden, jedoch
ohne die sechs markanten Punkte, die im graphischen Trans
formationsbereich in einem Abstand außerhalb des Ursprungs
in der Form eines Sechsecks angeordnet sind. Diese Punkte
entsprechen Abständen, die größer sind als die Abstände in
den Sechsecken und die damit Informationen über die fehlen
den Übergänge im Bild der Kennzeichnung enthalten. Um feh
lende Übergänge im Bild der Kennzeichnung wiederzugewinnen,
ist es erforderlich, die Informationen über die fehlenden
Übergänge im Fourier-Transformationsbereich zu eliminieren.
Als nächstes werden alle Punkte außerhalb eines gewissen
Radius um die sechs markanten Punkte im Transformations
bereich auf Null gesetzt. Diese Punkte entsprechen störenden
Übergängen, die einen zu geringen Abstand voneinander haben.
Zusammen mit der ersten Operation wird durch diese Operation
ein Ring verbleibender Punkte ausgebildet. Die Erzeugung
dieses Ringes ist der Ausführung einer räumlichen Bandpaß
filterung gleichwertig. Der innere und der äußere Radius
dieses Kreisringes wird mittels des erwarteten Abstandes der
Sechseck-Umrisse bestimmt. Da erwartet werden kann, daß in
dem beschriebenen Beispiel der "Durchmesser" der Sechsecke
gleich 5 Bildpunkten ist und da für eine Transformationslän
ge von 256 Bildpunkten die Spitzen der Sechsecke im Trans
formationsbereich gleich 256/5 = 51,2 Bildpunkte vom Mittel
punkt entfernt sein sollen, entspricht ein Ring mit einem
inneren Radius von 45 Bildpunkten und einem äußeren Radius
von 80 Bildpunkten den verwendeten Sechseck-Durchmessern von
3,2 bis 5,69 Bildpunkten. Es wird ein Filter verwendet, das
auch höhere Frequenzen durchläßt, da Deformationen der Kenn
zeichnung wie ein Verziehen und Verkippen eine Verkleinerung
des Bildes verursachen.
Nach der Ausführung dieser räumlichen Bandpaßfilterung
bleibt ein Kreisring mit sechs markanten Punkten, von denen
jeder zum Mittelpunkt (Nullpunkt) des Transformationsberei
ches einen gleichen Winkelabstand hat. Zur vollständigen
Beseitigung unerwünschter Informationen im Transformations
bereich wird noch eine Richtungsfilterung ausgeführt. Jeder
Punkt mit einem zu großen Winkelabstand von den markanten
Punkten im Transformationsbereich wird auf Null gesetzt. Das
hat zur Folge, daß im Bildbereich alle Ränder beseitigt wer
den, die nicht in einer der drei Richtungen verlaufen, die
im Sechseck-Wabenmuster vorkommen.
Zur Ausführung dieser Richtungsfilterung ist es erforder
lich, den markantesten Punkt zu finden, der nach der räum
lichen Bandpaßfilterung verblieben ist. Es wird angenommen,
daß dieser Punkt einer der sechs markanten Punkte im Trans
formationsbereich ist, die den Spitzen eines Sechsecks ent
sprechen. Im Transformationsbereich treten ebenfalls fünf
andere markante Punkte mit dem gleichen Abstand vom Mittel
punkt und dem gleichen Winkelabstand von Vielfachen von 60
Grad auf. Es werden daher alle anderen Punkte mit Winkelab
ständen von mehr als 10 Grad von irgendeinem dieser Punkte
eliminiert. Es verbleiben sechs keilförmige Stücke des
Ringes. Mit dieser Richtungsfilterung werden Informationen
über falsche Abstände oder Richtungen im Bildbereich besei
tigt. Die Beseitigung dieser Informationen über falsche Ab
stände ermöglicht die Wiedergewinnung des vollständigen
Umrisses eines jeden Sechsecks im Bildbereich.
Die genannten Filterungen werden mittels Subroutinen ausge
führt.
Der vorstehend beschriebene Filtervorgang für zusammenhän
gende Sechsecke muß abgeändert werden, wenn andere zweidi
mensionale Gitter für die Kennzeichnung vorgegeben werden.
Es sind zur Berücksichtigung anderer Konfigurationen jedoch
nur geringfügige Modifikationen erforderlich.
Nachdem die einzelnen Polygonzellen festgelegt wurden, sind
die Winkelabstände der Begrenzungen und die Anzahl von Sei
ten sowie deren Längen bekannt. Als nächstes ist es erfor
derlich, die Beziehungen zwischen benachbarten Polygonen zu
bestimmen, beispielsweise ob sie zusammenhängen, teilweise
zusammenhängen oder nicht zusammenhängen. Auch ist das geo
metrische Gitter festzulegen, nach dem die Mittelpunkte der
Polygone angeordnet sind. Da die Geometrie der Kennzeichnung
jeweils vorgegeben ist, kann der geeignete Filter zum Aus
filtern der Energiepunkte im Transformationsbereich leicht
erstellt werden, so daß nur die hellsten Punkte entsprechend
den passenden Abständen und Richtungen der Polygonbegrenzun
gen durch die Subroutine für die inverse schnelle Fourier-
Transformation bearbeitet werden.
Was die erzeugten Filter betrifft, so ist es erforderlich,
ein geeignet dimensioniertes, räumliches Bandpaßfilter auf
der Basis der vorgegebenen Abstände der kodierten Polygon
zellen zu erzeugen. Dann ist es günstig, ein Richtungsfilter
zum Herausfiltern der Energiepunkte, die nicht die markan
testen Punkte sind, die den Achsen des vorgegebenen zweidi
mensionalen Gitters entsprechen, zu erstellen. Dadurch wer
den Informationen über falsche Abstände oder Richtungen der
Zellen im Bildbereich und gegebenenfalls der Zwischenräume
eliminiert. Durch das Eliminieren dieser Falschinformationen
kann im Bildbereich ein vollständiges Gitter der Mittel
punkte der Polygonzellen mittels der inversen schnellen
Fourier-Transformation erhalten werden.
Um zum Bildbereich zurückzukehren und dadurch die Abbildung
der Umrisse der nebeneinanderliegenden Sechsecke des Daten
feldes wiederherzustellen, wird eine zweidimensionale in
verse schnelle Fourier-Transformation an den gefilterten
Daten des Transformationsbereiches ausgeführt. Diese inverse
Fourier-Transformation erfolgt mittels einer entsprechenden
Standard-Subroutine, die in dem 87FFT-2-Paket von Microwave
Inc. enthalten ist. Nach Ausführung der inversen Fourier-
Transformation sind die Umrisse eines jeden Sechsecks im
Bildbereich wiederhergestellt. In diesem neuen Bild haben
die Mittelpunkte der Sechsecke einen großen Wert. Die tat
sächlichen Werte für die Punkte an den Mittelpunkten der
Sechsecke hängen davon ab, wie viele Ränder sich in der Um
gebung befinden. Mehr Ränder erzeugen einen höheren Ener
giepegel bei den erlaubten Frequenzen und daher Punkte mit
größeren Werten. Weniger Ränder ergeben Punkte mit kleineren
Werten. Die Werte der Punkte sind ein gutes Maß für den Wert
der Aussagewahrscheinlichkeit bei der Takt-Wiedergewinnung
in irgendeinem gegebenen Punkt.
Es wurde nun das Bild der Sechsecke wiedergewonnen, es ist
jedoch noch erforderlich, deren Orientierung festzulegen.
Das Sechseck-Wabenmuster weist drei Achsen mit einem Winkel
abstand von jeweils 60 Grad auf. Die Richtung dieser Achsen
wird durch die hellsten Punkte im Transformationsbereich
nach der räumlichen Bandpaßfilterung bestimmt. Es ist dann
möglich, herauszufinden, welche dieser drei Achsen die
Hauptachse ist. Dieser Schritt wird wahlweise durchgeführt.
Wenn der Schritt nicht ausgeführt wird, ist die Kennzeich
nung unter Verwendung einer jeden der drei Achsen dreimal zu
dekodieren, wobei nur eine Achse eine Information mit einer
Bedeutung ergibt. Die Hauptachse wird willkürlich als dieje
nige Achse der Sechsecke gewählt, die zu zwei Seiten der
Kennzeichnung parallel verläuft, wie es in Verbindung mit
der Fig. 2 beschrieben wurde.
Wenn die Grenzen der quadratischen Kennzeichnung auf der
Basis der Kenntnis der Hauptachse bestimmt werden, dann
liegt die meiste Energie im wiederhergestellten Muster der
Sechseckumrisse innerhalb dieser Grenzen des Quadrates.
Zur Bestimmung der Hauptachse wird zuerst angenommen, daß
jede der drei Achsen die Hauptachse sein kann. Für jede der
Achsen wird dann versuchsweise der Umriß der sich ergebenden
quadratischen Kennzeichnung bestimmt und festgestellt, wie
viel der gesamten Takt-Wiedergewinnungsenergie aus den digi
talen Energiedaten, die aus der Subroutine für die inverse
Fourier-Transformation erhalten werden, innerhalb dieses
Quadrates liegt. Die richtige Achse ist dann die, die die
meiste Energie ergibt. Der Winkel dieser Achse wird dann für
die Initialisierung und andere Suchvorgänge gespeichert. Es
ist dabei noch nicht bekannt, ob der aufgezeichnete Winkel
der richtigen Richtung entspricht oder um 180 Grad falsch
ist.
Es ist verständ
lich, daß nicht alle drei Kennzeichnungsflächen bestimmt zu
werden brauchen, da es nicht erforderlich ist, die Energie
in den Bereichen zu bestimmen, die allen drei Quadraten
gemeinsam sind.
Ein Programm mit dem Titel "SEARCH.C" 300 (Fig. 10) verbin
det die transformierten und wiederhergestellten Informatio
nen über die Sechseck-Mittelpunkte mit den gespeicherten
Intensitätspegeln des Originalbildes, um den Wert für den
Grauton jedes Sechsecks zu bestimmen. Die Suche wird so
ausgeführt, daß die Wahrscheinlichkeit des "Verlorengehens"
während der Suche minimal ist. Das Endresultat ist eine
Matrix der Grautonwerte für jedes Sechseck des Datenfeldes.
Im ersten Teil dieses Programms werden vier
wichtige Informationsfelder aufgebaut. Das Feld CVAL (Takt
wert) speichert einen Wert für die Qualität des wiederge
wonnenen Taktsignales für jedes Sechseck, während das Feld
GVAL die Grautonwerte (0-63) im Mittelpunkt eines jeden
Sechseckes enthält. In den verbleibenden Feldern IVAL und
JVAL werden die Zeilen- und Spaltenpositionen der Mittel
punkte eines jeden Sechsecks gespeichert.
Aus dem bestimmten Hauptachsenwinkel und dem bekannten Ab
stand der Sechsecke (5 Bildpunkte) werden die zu erwartenden
horizontalen und vertikalen Abstände vom Mittelpunkt eines
Sechsecks zu den Mittelpunkten der umgebenden Sechsecke be
rechnet.
Nach diesen Berechnungen arbeitet das SEARCH.C-Programm an
dem Takt-Wiedergewinnungssignal, das aus einem Speicher ab
geleitet wird, und am rückskalierten Bild der Kennzeichnung,
das ebenfalls aus einem Speicher erhalten wird. Der haupt
sächliche Zweck der Initialisierungs-Subroutine
ist die Zusammenführung und Ver
dichtung der Informationen aus diesen beiden Quellen und die
Erzeugung einer Datenmatrix, die die Grautonwerte für jedes
Sechseck enthält.
Der Initialisierungsschritt der Suche ist auf ein Quadrat um
den Mittelpunkt der Kennzeichnung mit einer Seitenlänge von
etwa einem Drittel der Seitenlänge der Kennzeichnung be
grenzt. Innerhalb dieses Gebietes ist ein guter Startpunkt
der Punkt mit dem größten Wert im wiedergewonnenen Taktsi
gnalfeld. Dann wird die Lage dieses Startpunktes relativ zum
Mittelpunkt der Kennzeichnung bestimmt. Dieser Startpunkt
ist ein Punkt, an dem das Taksignal stark und eindeutig ist,
und auch ein Punkt, der dem Mittelpunkt der Kennzeichnung
relativ nahe ist. Ein eindeutiges Signal ist günstig, um
sicherzustellen, daß die Suche mit einem zulässigen Sechs
eck-Mittelpunkt beginnt, und die Lage dieses Punktes nahe am
Mittelpunkt der Kennzeichnung stellt sicher, daß dessen Lage
bestimmt werden kann, ohne daß Verzerrungen oder Verkantun
gen einen größeren Einfluß ausüben. Ein Maß für die Qualität
eines Punktes in dem Takt-Wiedergewinnungsmuster ist der
Wert für den Punkt minus den Werten für die acht umgebenden
Punkte. Die Rechteck-Koordinaten des Startpunktes werden in
Polarkoordinaten umgewandelt, die Polarkoordinaten bezüglich
des vorher bestimmten Hauptachsenwinkels eingestellt und das
Ergebnis wieder in die Rechteckform zurückverwandelt. Diese
Koordinaten werden entsprechend dem erwarteten Zeilenabstand
(4,5 Bildpunkte) und Spaltenabstand (5 Bildpunkte) skaliert,
um zu den Einfügungspositionen in der Sechseckmatrix zu
kommen. Die Taktqualität, Grautöne und Positionen, die dem
Start-Sechseck entsprechen, werden dann in die entsprechen
den Felder CVAL, GVAL, IVAL und JVAL eingesetzt.
Die nun folgende Hauptsuchschleife führt zur Lokalisierung
der Mittelpunkte der verbleibenden Sechsecke. Die Schleife
wird beendet, wenn die erwartete Anzahl von Sechsecken lo
kalisiert worden ist. Die Reihenfolge der Suche nach den
Mittelpunkten der Sechsecke ist außerordentlich wichtig. Die
erhöhte Zuverlässigkeit des Dekodiervorganges bei Störungen
der Kennzeichnung ergibt sich aus der verwendeten besonderen
Suchtechnik, die im folgenden erläutert wird.
Jede Iteration der Suchschleife beginnt mit dem erneuten
Aufruf der Lage des Takt-Wiedergewinnungspunktes mit dem
höchsten Wert, dessen Nachbarn noch nicht auf deren höchsten
Wert durchsucht worden sind. Von diesem bekannten Punkt wird
die Suche um ein Sechseck für jede der sechs Richtungen er
weitert. Das Suchmuster wird damit entlang eines Weges auf
gebaut, der von besseren zu schlechteren wiedergewonnenen
Taktqualitäten führt. Wenn es ein schlechtes Gebiet im wie
dergewonnenen Takt gibt, beispielsweise im Mittelpunkt der
Kennzeichnung oder in einer gestörten Fläche, läuft der
Suchalgorithmus darum herum und nicht mitten hindurch. Durch
diese Umgehung der schlechten Bereiche und ihr Aufheben bis
zuletzt wird die Wahrscheinlichkeit des Verlorengehens auf
dem Gitter erheblich herabgesetzt. Da Verlorengehen genauso
schlimm ist wie das Ablesen eines falschen Grautones, ist
diese Eigenschaft des Suchalgorithmus außerordentlich
bedeutsam.
Zum Suchen der Nachbarn der besten Taktwerte, die mit der
Hauptschleife gefunden wurden, wird eine Subroutine verwendet.
Die Subroutine durchläuft jede Schleife sechsmal, einmal für
jedes benachbarte Sechseck des gerade betrachteten Sechs
eckes. Zuerst wird die Lage des Nachbarn berechnet. Wenn
sich dieser Nachbar außerhalb der Begrenzung der Kennzeich
nung befindet, wird die Iteration der Schleife beendet. Wenn
nicht, wird der Nachbar darauf geprüft, ob er bereits aus
einer anderen Richtung erfaßt wurde. Wenn der Nachbar be
reits einmal erfaßt worden ist, wird die Iteration der
Schleife ebenfalls beendet, da der Algorithmus frühere Such
durchläufe höher bewertet als spätere. Wenn der Nachbar
diese Tests bestanden hat, wird die erwartete Position des
Mittelpunktes des Nachbarn im Takt-Wiedergewinnungsmuster
berechnet. An diesem Punkt wird eine Gradientensuche für das
Taktsignal mit dem größten Wert ausgeführt. Die die wieder
gefundene Position umgebenden acht Bildpunkte werden darauf
hin durchsucht, ob ein höherer Taktwert gefunden wird. Wenn
ja, werden die acht Nachbarn des besten benachbarten Punktes
geprüft, ob nicht ein noch besserer Wert gefunden wird. Die
se Gradientensuche ergibt einen Grad der Anpassung, der un
bedingt erforderlich ist, wenn verzerrte und verkippte Kenn
zeichnungen zu lesen sind. Die Subroutine geht dann zum
nächsten Nachbar über oder führt einen Rücksprung aus, wenn
bereits alle Nachbarn geprüft worden sind.
Wie vorstehend beschrieben, enthält das rekonstruierte Git
ter nun als Ergebnis der Datentransformation Informationen
über die geometrischen Mittelpunkte der Polygonzellen. Die
ses Gitter weist in Gebieten, in denen ursprünglich mehr
kontrastierende Schnittstellen vorlagen, mehr Energie auf.
Die Mittelpunkte liegen auf dem vorgegebenen zweidimensiona
len Gitter mit einer gegebenen Anzahl von gleich oder nicht
gleich beabstandeten Achsen. Die Informationen über die
räumlichen Beziehungen der Achsen des vorgegebenen Gitters
können zur Bestimmung der Orientierung der Hauptachse her
angezogen werden.
Es ist jedoch anzumerken, daß der Algorithmus derart geändert
werden kann, daß während des Dekodiervorganges die tatsäch
liche Geometrie des zweidimensionalen Gitters bestimmt wird
und daß aus dieser Bestimmung das Filterschema festgelegt
wird, so daß die sogenannte Hauptachse der Kennzeichnung,
das heißt die Achse des zweidimensionalen Gitters, die pa
rallel zu zwei Seiten einer quadratischen Kennzeichnung ist,
und die erforderlichen Koordinaten für die Such-Subroutine
erzeugt werden.
Ob die Geometrie der Kennzeichnung durch einen solchen wahl
weisen Schritt wie oben bestimmt wird oder ob einfach durch
geeignete Modifikationen des zweidimensionalen Takt-Wieder
gewinnungsvorganges in den Dekodiervorgang eingetreten wird,
immer können die verschiedenen Arten von Kennzeichnungen
leicht verarbeitet werden. Die Anzahl der Achsen, auf denen
die Mittelpunkte der einzelnen Polygonzellen liegen, und
deren jeweilige Orientierung kann bei der Bestimmung der
Hauptachse eingesetzt werden. Die Hauptachse des vorgege
benen zweidimensionalen Gitters kann damit bestimmt werden,
ohne daß das obige empirische Analyseverfahren ausgeführt
wird.
Bei der hexagonalen Anordnung nach der bevorzugten Ausfüh
rungsform können die Informationen aus der Bestimmung der
Hauptachse und die bekannten Abstände der Polygone dazu
verwendet werden, die erwarteten horizontalen und vertikalen
Abstände vom Mittelpunkt eines Polygons zu den Mittelpunkten
der umgebenden Polygone zu berechnen. Nach solchen Berech
nungen und nach Ausführen der erforderlichen Abänderungen
der Such-Subroutine wird die Suche einschließlich des Ini
tialisierungsschrittes und der Hauptsuchschleife für die
jeweilige Kennzeichnungskonfiguration ausgeführt.
Nach der Vervollständigung der Subroutine wird die Lage des
derzeitigen Mittelpunktes markiert, so daß sie nicht erneut
gesucht wird. Es soll damit diese Position als Kandidat für
eine Nachbarsuche gelöscht werden. Bei jeder Schleifenitera
tion werden 0 bis 6 neue Kandidaten hinzugefügt und ein Kan
didat gelöscht. Eine effektive Verwirklichung kann eine Da
tenstruktur benutzen, die die Kandidaten in der Reihenfolge
ihrer Größe beinhaltet, wenn die Einsetz- und Löschopera
tionen ausgeführt werden. Eine der möglichen Strukturen ist
die sogenannte Prioritätsschlange (vgl. "The Design and Ana
lysis of Computer Algorithms" von Aho, Hopcroft und Ullman,
Addison Wesley 1974). Es ist bekannt, daß ein linearer Such
algorithmus n2 Operationen erfordert, während eine effizient
ausgeführte Prioritätsschlange mit einer symmetrischen Baum-
oder Haufenstruktur n log n Operationen benötigt. Es kann auch
ein Suchalgorithmus auf der Basis einer Speichersortierung
mit n Operationen verwendet werden, wenn die wiedergewonne
nen Taktwerte skaliert und auf einen kleinen Bereich ganzer
Zahlen reduziert werden.
Nachdem die Hauptsuchschleife abgeschlossen ist, ist die
Lage aller Mittelpunkte aller Sechsecke festgestellt und es
sind die Grautöne der Mittelpunkte aller Sechsecke, die
gespeichert wurden, vollständig eingesetzt. Der nächste
Schritt ist eine Schwellenwertbestimmung der digitalisierten
Grautonwerte im Bereich von 0 bis 63 für die diskreten Werte
von beispielsweise Schwarz, Grau und Weiß. Dies erfolgt
durch Aufbau eines Histogramms für die Intensitätswerte der
Sechseck-Mittelpunkte der Kennzeichnung. Schnittpegel können
durch Feststellen von Einbrüchen im Histogramm bestimmt
werden.
Nach einer Schwellenwertbestimmung der diskreten Pegel kön
nen immer noch zwei Störungen vorhanden sein. Zum einen kann
das Array aus dem Mittelpunkt verschoben sein. Dies kann der
Fall sein, wenn der anfängliche Suchschritt die Lage des
qualitativ besten Taktsignales relativ zum Mittelpunkt der
Kennzeichnung nicht exakt angibt. Die zweite Möglichkeit be
steht darin, daß die gesamte Kennzeichnung verkehrt herum
gelesen wurde, da die Hauptachse bezüglich des 180-Grad-
Winkels nicht eindeutig ist.
Eine Subroutine
stellt fest, ob die Kennzeichnung aus dem
Mittelpunkt verschoben ist. Wenn die Kennzeichnung richtig
positioniert ist, laufen die Koordinaten der mittleren Zeile
durch den Mittelpunkt der Kennzeichnung. Um festzustellen,
ob ein vertikaler Positionierfehler vorliegt, werden Zeilen
über der angenommenen Mittelzeile daraufhin geprüft, ob sie
eine Linie bilden, die näher am Kennzeichnungs-Mittelpunkt
vorbeiläuft. Wenn eine Zeile darüber oder darunter näher am
Mittelpunkt liegt als die angenommene Mittelzeile, erfolgt
eine entsprechende Verschiebung nach oben oder unten. Wenn
die Linksjustierung der kurzen Zeilen falsch ausgeführt wor
den ist, wird dies durch Verschieben der kurzen Zeilen um
eine Position nach rechts korrigiert.
Horizontale Positionierfehler und eine Ablesung "verkehrt
herum" werden unter Verwendung von Informationen geprüft,
die als sogenannte Grobgitter-Informationen auf der Kenn
zeichnung enthalten sind. Die Informationen sind in Gruppen
von 3×3 Zellen aufgeteilt, wie es bereits beschrieben
wurde. Da die Kennzeichnung im vorgegebenen Beispiel ein
Gitter aus 33 Zeilen und 30 Spalten darstellt, formen diese
Gruppen ein 11×10-Gitter. Das untere mittlere Sechseck
einer jeden vollständigen Gruppe aus 3×3 Zellen hat eine
bestimmte Eigenschaft, die während der Kodierung hergestellt
wird. Wie in Verbindung mit der Fig. 4 beschrieben, weist
dieses Sechseck auf jeder Seite einen festgelegten Übergang
auf. Wenn beispielsweise das untere mittlere Sechseck
schwarz ist, sind die unteren linken und rechten Sechsecke
entweder grau oder weiß. Eine Subroutine
nimmt diese Übergangseigen
schaften wahr, um die beiden möglichen Störungen zu besei
tigen. Dazu wird zuerst ein Array erzeugt, bei dem jedes
Element des Arrays anzeigt, ob zwischen zwei horizontal be
nachbarten Sechsecken ein Übergang vorliegt. Dann wird das
Array für jeden der neun hypothetischen Schnitte des als
3×3-Muster angeordneten Grobgitters um den erwarteten Schnitt
von 0 geprüft. Einer dieser Schnitte wird eine bessere Über
einstimmung zwischen den tatsächlichen und den erwarteten
Übergängen zeigen, und die Lage dieses Schnittes wird be
stimmt. Die gleiche Hypothese wird dann unter der Annahme
geprüft, daß die Kennzeichnung verkehrt herum gelesen wurde.
Wenn die Kennzeichnung einfach umgedreht ist, das heißt wenn
die oberen Zeilen mit den unteren Zeilen und die höheren
Spalten mit den niedrigeren Spalten vertauscht sind, ist das
Ergebnis der Schnittbildung genauso umgedreht. Es muß bei
der Korrektur eines umgedrehten Kennzeichens jedoch auch
eine wichtige Transformation ausgeführt werden. Während des
Lesens werden die kurzen Zeilen (Länge = 29) nach links aus
gerichtet; daher müssen bei einer Umkehrung der Kennzeich
nung diese Zeilen nach rechts ausgerichtet werden. Dieser
Vorgang hat zur Folge, daß das Ergebnis der angenommenen
Schnitte ein anderes ist als eine einfache Umkehrung. Das
beste Ergebnis der Schnittprüfungen wird besser sein als
jede vorhergehende Prüfung, wenn die Kennzeichnung tatsäch
lich verkehrt herum gelesen wurde.
Nach der Bestimmung, ob die Kennzeichnung verkehrt herum
gelesen wurde und ob sich die Schnitte in der absolut rich
tigen Position befinden, kann die Matrix der Kennzeichnung
dekodiert werden. Mit der richtigen Festlegung der Abbildung
und der Schnitte ist die Abbildungsverarbeitung beendet, und
die Vorgänge zur Datendekodierung beginnen.
Ein Programm "RD.LABEL.C" 182 (Fig. 9)
liest die durch
das Suchprogramm erzeugte Datei aus und erzeugt eine Bit
folgedatei mit, bei der vorliegenden Ausführungsform, 1292
Bits. Dazu wird eine Subroutine "CELL DEC.C" 183
zum Ausblenden nicht verwendbarer Sechsecke
und für den Dekodiervorgang verwendet, der eine Umkehrung
des Kodiervorganges darstellt.
Der erste Schritt bei der Dekodierung ist die Erzeugung
einer Bitfolge aus den Informationen, die durch die Sechs
ecke dargestellt werden, wobei ein Abbildungsprozeß der
Sechsecke auf Bitmuster verwendet wird, der eine Umkehrung
des Abbildungsprozesses der Bits auf die Sechsecke dar
stellt, der für die Kodierung verwendet wurde.
Die Bitfolge wird dann vom Programm in eine Bitfolge für die
Informationen hoher Priorität und eine Bitfolge für die In
formationen niedriger Priorität bzw. soviele Bitfolgen auf
geteilt, wie während des Kodierens der Kennzeichnung verwen
det wurden. Es ist dann erforderlich, unter Verwendung der
Fehlerkodiertechniken, die bei der Kodierung der Kennzeich
nung Verwendung fanden, eine Fehlerkorrektur an jeder Bit
folge auszuführen. Wenn beispielsweise ein Reed-Solomon-Kode
verwendet wurde, ergibt eine Fehlerkorrektur an der Bitfol
ge, die von dem Suchprogramm erzeugt wurde, ein Ausgangssi
gnal, das das gleiche Format hat wie die vorstehend be
schriebene Kodier-Eingabe-Datei. Eine Fehlerkorrektur kann
mit den folgenden Vorgängen ausgeführt werden (vgl. "Theory
and Practice of Error Control Codes", siehe oben):
- 1. Berechnen von Syndromen;
- 2. Berechnen des Fehler-Lokalisations-Polynoms
unter Verwendung des Berlekamp-Massey-
Algorithmus;
- 3. Berechnen der Lage der Fehler mittels einer
Chien-Suche; und
- 4. Berechnen der Größe der Fehler mittels des
Forney-Algorithmus.
Der letzte Schritt wird nur dann ausgeführt, wenn in den
Schritten 2 und 3 eine korrigierbare Anzahl von Fehlern
festgestellt wurde. Die Anzahl der festgestellten Fehler
wird ebenfalls berechnet. Wenn eine nicht korrigierbare
Anzahl von Fehlern festgestellt wird oder sich ein Fehler
innerhalb der Auffüllung (siehe oben) befindet, wird ein
Flag gesetzt. Die verwendete Fehlerprozedur hat die
Bezeichnung "ERRDEC.C" 184 (Fig. 9).
Um die dekodierte Information auf einem Computer-Terminal
auszugeben, kann das Programm "TEXTOUT.C" 185 (Fig. 9)
verwendet werden.