-
Die
vorliegende Erfindung bezieht sich generell auf Vorrichtungen und
Verfahren zur Bildung von Strichen eines Strichcodes.
-
Eine
Strichcode-Markierung von Objekten ist in der US-A-4 810 867 beschrieben.
-
Strichcodes
werden in einer Fülle
von Anwendungen als Informationsquelle verwendet. Typischerweise
werden Strichcodes in einem Verkaufsstellenendgerät bei Handelsgeschäften zur
Preisgestaltung und Inventarkontrolle verwendet. Strichcodes werden
auch zur Steuerung von Personalzugriffssystemen, Versandsystemen
und bei der Verarbeitung von Arbeitsprozessen und Inventarsteuersystemen,
usw. verwendet. Die Strichcodes selbst repräsentieren alphanumerische Zeichen
durch eine Folge von benachbarten Streifen verschiedener Breite,
d.h., den universellen Produktcode.
-
Ein
Strichcode ist ein Satz von binären
Ziffern. Er besteht typischerweise aus schwarzen Strichen und weißen Abständen. Ein
breiter schwarzer Strichraum kann eine Eins und ein dünner schwarzer Strich
oder Raum eine Null angeben. Die binären Ziffern stehen für Dezimalzahlen
oder Buchstaben. Es existieren mehrere unterschiedliche Arten von
Strichcodes. In jedem Strichcode wird eine Zahl, ein Buchstabe oder
ein anderes Zeichen durch eine vorgegebene Anzahl von Strichen und
Zwischenräumen
gebildet.
-
Zum
Lesen von Strichcodes sind Code-Lesesysteme oder Abtaster entwickelt
worden. Der Strichcode kann dadurch gelesen werden, dass ein Lichtstrahl über ihn
geführt
wird und ein Teil des ihn beleuchtenden Lichtes reflektiert und
durch einen Abtaster gesammelt wird. Die Intensität des reflektierten
Lichtes ist proportional zum Reflexionsvermögen des durch den Lichtstrahl
beleuchteten Bereiches. Dieses Licht wird in ein elektrisches Stromsignal
umgesetzt, das dann decodiert wird. Strichcodes werden durch Aufnahme
des Verhältnisses
der Strichbreite zur Breite von benachbarten Abständen gelesen.
-
Strichcodes
können
durch unterschiedliche Technologien, beispielsweise Tintenstrahldrucken, Laser-
oder LED-Xerographie, usw. auf Objekte aufgebracht werden. Wenn
die Striche mit Tintenstrahldruckern oder durch xerographische Techniken
auf LED-Basis auf Objekte aufgebracht werden, werden die Striche
unterschiedlich wiedergegeben. Die Striche haben eine Tendenz in
der Breite zu wachsen. Daher werden die Abstände zwischen benachbarten den
Code bildenden Streifen schmaler, so dass der Code schwieriger zu
lesen ist. Im Stand der Technik ist dieses Problem dadurch zu lösen versucht
worden, indem ein zeitlich kompensierender Satz von Strichen im
Körper
des Barcodes eingeführt
wird. Die zeitlich kompensierenden Striche werden zur Berechnung
des durch den Drucker hervorgerufenen Wachstums der Striche und
sodann zur Kompensation des Strichwachstums kompensiert.
-
Im
Stande der Technik werden auch Bildpunktabziehtechniken zur Kompensation
der Zunahme der Größe von Strichcodestrichen
verwendet. Bildpunktabziehtechniken können lediglich teilweise die
Zunahme der Größe von Strichcodes
kompensieren. Der Grund dafür
besteht darin, dass lediglich vollständige Bildpunkte entfernt oder
zu benachbarten den Code bildenden Strichen addiert werden. Daher
ist der Abstand zwischen benachbarten den Code bildenden Strichen
nicht konstant.
-
Historische
Postgebührenmessgeräte sind mechanische
und elektromechanische Vorrichtungen, welche durch mechanische oder "elektronische Register" (Postgebührensicherungsvorrichtungen) eine
Rechnung aller gedruckten Postgebühren und den verbleibenden
Abgleich von vorbezahlten Postgebühren sowie gedruckte Postgebühren-Briefmarken
(Freistempel) aufrechterhalten, welche durch den Postdienst als
Anzeige der Vorausbezahlung der Postgebühr akzeptiert werden.
-
Kleine
Gewerbeversender können
ihre Tischrechner und Drucker verwenden, um die Postgebühr bei Aufbringen
einer Adresse direkt auf Umschläge
oder Etiketten aufzubringen. Das United States Postal Service Engineering
Center hat kürzlich eine
Notiz einer vorgeschlagenen Spezifikation veröffentlicht, welche diesen Vorgang
erfüllen
kann. Der Titel der Spezifikation ist eine Information Based Indicia
Program Postal Security Device Specification vom 13. Juni 1996.
Die Information Based Indicia Program Spezification enthält sowohl
vorgeschlagene Spezifikationen für
den neuen Freimachungsvermerk und vorgeschlagene Spezifikationen
für eine Postsicherungsvorrichtung
(PSD). Das vorgeschlagene Information-Based Indicia (IBI) besteht
aus einem zweidimensionalen Strichcode, welcher hunderte Informationsbytes über das
Postversandstück
und eine bestimmte von Menschen lesbare Information enthält. Der
Freimachungsvermerk enthält
eine digitale Zeichnung zum Ausschließen einer Fälschung des Freistempels durch
nicht autorisierte Parteien. Die postalische Sicherungsvorrichtung
ist eine eindeutige Sicherungsvorrichtung, welche eine kryptographische
digitale Signatur für
den Freimachungsvermerk schafft und die Funktion von Postgebühren-Zählregistern
durchführt.
-
Neuere
Untersuchungen haben gezeigt, dass die in der IBIP-Spezifikation
bekannt gemachten Code-Formattoleranzen lediglich durch bestimmte
verfügbare
Drucker erfüllt
werden können.
Sowohl die Auflösung
(Punkte/cm) und die Stellungsgenauigkeit sind offenbar die hauptsächlich begrenzenden Faktoren.
Darüber
hinaus ist die verwendete Drucktechnik ein weiterer ins Gewicht
fallender Faktor, speziell in Kombination mit dem für den Umschlag
verwendeten Papiertyp. Laufende Schätzungen ergeben, dass 2 bis
3 % des IBIP-Freimachungsvermerks, welcher auf Postversandstücken angebracht wird,
aufgrund der Verwendung von ungenauen Druckern, defekten Druckern
oder ungeeigneten Umschlägen
nicht ausgelesen werden kann.
-
Zwei
dimensionale Strichcodes und viele andere Typen von Codes besitzen
kein Element, das eine Zunahme der Breite von Strichcodes aufgrund der
Wiedergabe der Striche auf Objekten zulässt.
-
Gemäß einem
ersten Aspekt der Erfindung ist eine Vorrichtung nach Anspruch 1
vorgesehen.
-
Gemäß einem
zweiten Aspekt der Erfindung ist ein Verfahren nach Anspruch 15
vorgesehen.
-
Die
Erfindung und ihre Ausführung
werden nachfolgend beispielhaft anhand der Zeichnungen erläutert. Es
zeigt:
-
1 eine
Darstellung von idealen Codestrichen eines Strichcodes;
-
2 eine
Darstellung von idealen in einem Raster gedruckten Codestrichen
des Strichcodes 11 nach 1;
-
3 eine
Darstellung von bekannten in einem Raster gedruckten Codestrichen
des Strichcodes 11 nach 1, aus der
das Anwachsen von durch den Druckprozess hervorgerufenen Strichen ersichtlich
ist;
-
4 eine
Darstellung von bekannten in einem Raster gedruckten Codestrichen
des Strichcodes 11 nach 1, aus der
eine digitale Entfernungskorrektur zur Korrektur des durch den Druckprozess
hervorgerufenen Strichwachstums ersichtlich ist;
-
5A eine
Darstellung des durch Änderung
der Punktgröße korrigierten
Strichcodes nach 4,
-
5B eine
Darstellung des durch Vorverschieben oder Verzögerung der Druckposition von Punkten
korrigierten Strichcodes nach 4 zur Erzeugung
von Strichen mit korrekter Breite;
-
6 eine
Darstellung eines zweidimensionalen (2-d) Strichcodes;
-
7 eine
Darstellung eines gefalteten Postversandstückes;
-
8 eine
Blockdarstellung des zur Entfernung von Bruchteilen eines Bildpunktes
aus den Strichcodestrichen verwendeten Systems;
-
9 eine
Darstellung eines Flussdiagramms des Strichcode-Druckqualitätsbehandlungsprogramms
in einem Computer 41;
-
10 eine
Darstellung eines Flussdiagrammblocks 113 in 9;
-
11 eine
Darstellung der Wechselwirkung des Versandprogramms auf PSD-Basis,
des Strichcode-Qualtitätsbearbeitungsprogramms
und der Strichcode-Qualitätsfaktor-Datenbank;
-
12 eine
Darstellung der Wechselwirkung des Druckers 42 mit den
im Computer 41 enthaltenen Programmen;
-
13 ein
Diagramm der entwickelten Punktgröße als Funktion des Prozentsatzes
einer normalen Belichtung für
typische Laser- oder LED-Drucker; und
-
14 ein
Diagramm der gedruckten Punktgröße als Funktion
des Tintentropfendurchmessers für
typische Tintenstrahldrucker.
-
Das
hier beschriebene Drucksystem vermeidet die Nachteile im Stande
der Technik durch Schaffung einer Vorrichtung, welche Bruchteile
eines Bildpunktes aus Strichcodestrichen entfernt, um den richtigen
Abstand zwischen benachbarten den Code bildenden Strichen aufrechtzuerhalten.
Daher ist der Abstand zwischen benachbarten, den Code bildenden
Strichen konstant und genau. Dies wird durch Änderung eines Parameters des
Strahls bzw. Tintentropfens erreicht, welcher zur Erzeugung des
Strichs verwendet wird, so dass die Strichbreite und der Abstand
zwischen benachbarten den Code bildenden Strichen genau aufrechterhalten
werden. Daher werden Striche des Strichcodes genau wiedergegeben, damit
der Strichcode richtig ausgelesen werden kann.
-
Das
System nutzt die Tatsache aus, dass Punkte, die kleiner als eine
volle Bildpunktgröße sind, an
den Rändern
der Codestreifen des Streifencodes gedruckt und angeordnet werden
können,
so dass der richtige Abstand zwischen benachbarten, den Code bildenden
Strichen aufrechterhalten bleibt. Für Laser- und LED-Drucker kann
die Intensität
des Strahls oder die Belichtungszeit geändert werden, um (Bildpunkte)
Punkte verschiedener Größe zu drucken.
Bei Tintenstrahldrucken kann die Stimulationsspannung oder die Impulsbreite
geändert
werden, um (Bildpunkte) Punkte verschiedener Größe zu drucken. Weiterhin kann
die Zündzeit
der "Punkt"-Druckvorrichtung
verzögert
oder vorverschoben werden, um Tröpfchen
in dichterer Weise zu packen (falls notwendig).
-
Ein
oder mehrere Druckparameter können zur
Verbesserung der Lesbarkeit des Strichcodes geändert werden.
-
Unter
Bezugnahme auf die Zeichnungen und insbesondere auf 1 bezeichnet
das Bezugszeichen 11 einen idealen Strichcode. Der Strichcode 11 enthält Streifen 12, 13 und 14 sowie
Zwischenräume 15, 16 und 17.
Der Strich 12 ist drei Bildpunkte breit, während der
Strich 13 zwei Bildpunkte breit ist. Der Strich 14 ist
einen Bildpunkt breit. Der Strich 12 ist drei Einheiten
breit und repräsentiert
eine eindeutige Zahl, beispielsweise drei, während der Strich 13 zwei Einheiten
breit ist und eine eindeutige Zahl, beispielsweise zwei, repräsentiert.
Der Strich 14 ist eine Einheit breit und repräsentiert
eine eindeutige Zahl, beispielsweise eins. Die Abstände 15, 16 und 17 sind eine
Einheit breit.
-
Ein
Abtastsignal repräsentiert
das Signal, das durch Abtasten der Striche 12, 13 und 14 sowie der
Zwischenräume 15, 16 und 17 erzeugt
wird. Das Signal 18 kann durch einen Lichtpunkt mit einem Durchmesser
von einem Bildpunkt oder weniger erzeugt werden, wobei ein Bildpunkt
der Strichbreite Eins äquivalent
ist. Das Licht vom sich bewegenden Punkt wird über die Codefläche getastet
und durch einen geeigneten Detektor gesammelt, wobei ein dem Signal 18 gleichartiges
Signal erzeugt wird. Das Signal 18 beträgt zwischen 0 und 1,0 Millivolt.
Das Signal 18 ist beim Überlaufen
der Striche 12, 13 und 14 durch den Lichtpunkt
gleich 1 mV und beim Überlaufen
der Abstände 15, 16 und 17 gleich
0 Millivolt.
-
Die
durch den Code repräsentierte
codierte Information ist durch die relative Breite der Striche und
der Abstände
im abgetasteten Signal 18 gegeben. Es sei angenommen, dass
der Code gleich dem Verhältnis
des Signals von einem Strich dividiert durch das Signal des nächsten benachbarten
Abstandes ist. Dann ist der Wert des Strichs 12 gleich
3 dividiert durch 1 oder 3 und der Wert des Strichs 13 ist
2 dividiert durch 1 oder 2. Der Wert des Strichs 14 ist
gleich 1 dividiert durch 1 oder 1. Daher kann das abgetastete Signal 18 als
3, 2, 1 decodiert werden.
-
2 ist
eine Darstellung eines idealen Rasters mit gedruckten Codestrichen
des Strichcodes 11 nach 1. Durch
den Druckprozess wird kein Wachstum in die Striche 12, 13 und 14 eingeführt und es
tritt virtuell kein Schrumpfen in den Zwischenräumen 15, 16 und 17 durch
den Druckvorgang auf. Daher ist der Wert des Strichs 12 gleich
3 geteilt durch 1 oder 3 und der Wert des Strichs 13 gleich
2 dividiert durch 1 oder 2. Der Wert des Strichs 14 ist
1 dividiert durch 1 oder 1. Daher kann das abgetastete Signal 18 als
3, 2, 1 decodiert werden.
-
3 zeigt
ein bekanntes Raster von gedruckten Codestreifen des Streifencodes 11 nach 1,
wobei das Wachstum der Streifen aufgrund des Druckvorgangs dargestellt
ist. Längs
der vertikalen Ränder
der Striche 12, 13 und 14 tritt aufgrund von
Entwicklungsvorgangsparametern oder einer Tonerpartikelgröße, hervorgerufen
durch den Druckvorgang, ein symmetrisches Wachstum 19 auf.
Ein Tintenstrahldrucker (nicht dargestellt) kann aufgrund der Dochtwirkung
des Druckpapiers das Wachstum 19 hervorrufen. Die Größe der Dochtwirkung
hängt von den
Eigenschaften der Drucktinte und des Papiers ab. Die Benetzung des
Druckpapiers kann ebenfalls für
das Wachstum 19 verantwortlich sein. Daher ist der Wert
des Strichs 12 gleich 4 dividiert durch 0,5 oder 8 und
der Wert des Strichs 13 gleich 3 dividiert durch 0,5 oder
1,5. Der Wert des Strichs 14 ist 2 dividiert durch 0,5
oder 4. Daher wird das abgetastete Signal 18 als 8, 1,5,
4 decodiert.
-
4 zeigt
eine Darstellung eines Rasters von gedruckten Codestrichen des Strichcodes 11 nach 1,
aus der eine digitale Abschälkorrektur zur
Korrektur des Streifenwachstums aufgrund des Druckvorgangs ersichtlich
ist. Das digitale Abschälen ist
das selektive Entfernen einer vollständigen Spalte von Bildpunkten
an den vertikalen Rändern
der Striche 12, 13 und 14 zur Kompensation
des Wachstums 19 des gedruckten Bildes. Ein nachbarschaftlicher Vorgang
dient zur Begradigung oder Schärfung
der vertikalen Ränder
der Striche 12, 13 und 14. Daher ist
der Wert des Strichs 12 gleich 3 dividiert durch 1 oder
3 und der Wert des Strichs 13 gleich 2 dividiert durch
1 oder 2. Der Wert des Strichs 14 ist gleich 2 dividiert
durch 1 oder 2. Daher kann das abgetastete Signal 18 als
3, 2, 2 decodiert werden.
-
5A ist
eine Darstellung, welche den durch die vorliegende Erfindung korrigierten
Strichcode nach 4 zeigt. Eine ausgewählte Punktgröße an den
ausgewählten
vertikalen Rändern
der Striche 12, 13 und 14 dient zur Korrektur
des durch den Druckvorgang hervorgerufenen Strichwachstums. Um sicherzustellen,
dass die Breite der Streifen gleich der gewünschten Breite ist, werden
selektive unterschiedliche Punktgrößen verwendet. Der Punkt 20 beträgt die Hälfte der
Breite des Punktes 21. Der Punkt 21 wird normal
verwendet oder besitzt die nominale Breite zur Repräsentierung
einer Einheit. Eine Spalte von Bildpunkten nach 4 ist
zum Erhalt der korrekten Strichbreite in der Größe reduziert. Daher ist der
Wert des Strichs 12 gleich 3 dividiert durch 1 oder 3 und
der Wert des Strichs 13 gleich 2 dividiert durch 1 oder
2. Der Wert des Strichs 14 ist 1 dividiert durch 1 oder
1. Daher kann das abgetastete Signal 18 als 3, 2, 1 decodiert
werden.
-
5B zeigt
eine Darstellung des Strichcodes nach 4, der durch
Vorverschieben oder Verzögern
der Druckposition von Punkten zur Erzeugung von Strichen 12, 13 und 14 der
richtigen Breite korrigiert ist. Für jede Spalte von Bildpunktzellen
wird eine Punktgröße zur Bildung
eines Streifens gewählt. Beispielsweise
umfasst der Streifen 12 drei Spalten von Bildpunktzellen,
der Streifen 13 zwei Spalten von Bildpunktzellen und der
Streifen 14 zwei Spalten von Bildpunktzellen. Der Streifen 12 wird
durch Überlappen
der rechten und der linken Spalte von Punkten 12 mit der mittleren
Spalte von Punkten 21 gedruckt. Dies wird durch Verzögerung des
Druckens der linken Spalte von Punkten 21 und Vorverschieben
der rechten Spalte von Punkten 21 erreicht. Der Strich 13 wird
durch Überlappen
der linken Spalten von Punkten 21 gedruckt. Der Streifen 14 wird
durch Überlappen
des Druckens von Punkten 98 gedruckt. Die Punkte 98 sind
eine Differenzgröße der Punkte 21.
-
6 zeigt
eine Darstellung eines zweidimensionalen (2-d) Strichcodes 60.
Dieser Strichcode 60 enthält ein Ausgangsraster 61,
das einen Abtaster (nicht dargestellt) informiert, wann das Lesen
von Daten begonnen werden soll, einen Datenteil 62 und
ein Stoppraster 63, das einen Abtaster informiert, wann das
Lesen von Daten gestoppt werden soll. Der Datenteil 62 umfasst
Rechtecke 64 und Abstände 65. Die
durch den Datenteil 62 repräsentierte codierte Information
ist in der relativen Größe der abgetasteten Rechtecke 64 und
Abstände 65 enthalten.
-
Der
Strichcode 60 wird durch das gleiche Verfahren erzeugt,
das zur Erzeugung der eindimensionalen Strichcodes nach den 1 bis 5 verwendet wird. Ein symmetrisches Wachstum
(nicht dargestellt) längs
der vertikalen und horizontalen Seiten der Rechtecke 64 ist
aus den vorher angegebenen Gründen
ersichtlich. Das Wachstum der Rechtecke 64 und das Schrumpfen
der Abstände 65 können den Wert
von spezifischen Rechtecken 64 ändern. Selektive unterschiedliche
Punktgrößen an den
vertikalen und horizontalen Seiten der Rechtecke 64 werden zur
Korrektur des durch den Druckvorgang hervorgerufenen Rechteckwachstums
verwendet. Selektive unterschiedliche Punktgrößen dienen zur Sicherstellung,
dass die Größe der Rechtecke
die gewünschte Größe ist.
-
7 zeigt
eine Darstellung eines gefalteten Poststücks. Dieses Poststück 22 besitzt
ein Empfängeradressenfeld 23 und
ein Absenderadressenfeld 24. Auf dem Poststück 22 ist
eine Postwertmarke 25 befestigt. Diese Wertmarke 25 enthält einen FIM-Strichcode 26,
einen 2d-Strichcode 27, eine postalische Information 28 und
eine Versandklasse 29. Das Empfängeradressenfeld 23 enthält einen Strichcode 99.
Im Poststück 22 ist
ein Coupon 30 enthalten. Dieser Coupon 30 enthält ein Empfängeradressenfeld 23,
einen Raum 31 für
die Kreditkarteninformation des Empfängers, einen Raum 32 für die Unterschrift
des Empfängers,
ein Logo 33 und einen Strichcode 34. Das Poststück 22 kann
längs Linien 35 gefaltet
werden. Für
den Fachmann ist ersichtlich, dass die im Poststück 22 enthaltene Information
auf einem Umschlag aufgezeichnet und in einem Medium aufgezeichnet
werden kann, das in den Umschlag eingefügt wird.
-
8 zeigt
ein Blockschaltbild des Systems, das zum Entfernen von Teilen eines
Bildpunktes von den Strichcode-Strichen verwendet wird, um den richtigen
Abstand zwischen benachbarten, den Code bildenden Streifen aufrechtzuerhalten.
Eine Postsicherungsvorrichtung (PSD) 40 ist an einen Benutzercomputer 41 angekoppelt,
welcher seinerseits an einen Drucker 42 angekoppelt ist.
Der Computer 41 enthält
ein PSD-Versandprogramm, das das Dazzle Envelope Manager Software
Program hergestellt von Dazzle, 247 High Street, Palo Alto, CA 94301-1041, sein
kann, ein Strichcode-Qualitätsmanagementprogramm,
das in den Ausführungen
zu den 9 und 10 im Einzelnen beschrieben
ist, sowie eine Strichcode-Qualitätsdatenbank, welche im Einzelnen anhand
von 11 beschrieben wird. Ein Drucker 42 kann
ein Poststück 22 drucken,
auf dem Strichcodes 26, 27, 29 und 34 vorgesehen
sind (siehe Beschreibung von 7). Der
Drucker kann auch andere Strichcodes auf das Poststück 22 sowie
Strichcodes auf Material drucken, das in einen Umschlag (nicht dargestellt)
eingefügt
wird. Ein Modem 44 ist an den Computer 41 angekoppelt,
während
ein Modem 45 an einen Kommunikationsweg 46 angekoppelt
ist. Das Modem 44 ist über
einen Kommunikationsweg 48 an ein Modem 47 angekoppelt.
-
Das
Modem 44, der Computer 41, das PSD 40,
der Benutzerdrucker 42 und das Poststück 22 befinden sich
im Unternehmen eines Absenders 49. Dieser Absender 49 legt
das Poststück 22 im
Versand ab. Das Poststück 22 wird
durch einen USPS-Information-Based Indicia-Codeleser und -sortierer 50 gelesen.
Sodann wird das Poststück 22 durch
den US-Postdienst zu einem Kunden geliefert. Das Modem 45 ist
an einen PSD-Herstellercomputer 52 angekoppelt. Das Modem 45 und
der Computer 52 können
sich auf der Seite des Herstellers des PSD 40 befinden.
Das Modem 47 ist an einen Strichcode-Qualitätsmanagementcomputer 53 angekoppelt.
Dieses Modem 47 ist über
einen Kommunikationsweg 54 an das Modem 44 angekoppelt.
Das Modem 47 und der Computer 53 können sich
auf der Seite des Herstellers des Strichcode-Qualitätsmanagementprogramms
befinden.
-
Der
Computer 41 kann Information vom Computer 53 über das
Strichcode-Qualitätsmanagementprogramm
vom Hersteller des Strichcode-Qualitätsmanagementprogramms über die
Modems 47 und 49 empfangen. Die vorgenannte Information kann
auch in einer Diskette oder einer anderen Speicheranordnung enthalten
sein und dann in den Speicher des Computers 41 eingegeben
werden.
-
Der
Computer 41 speichert in seinem Speicher Information über die
Drucker, Druckereinstellungen, Tinten oder Toner und Papier, welche
sich als kompatibel mit dem Drucken des Freistempels 43 erweist.
Der Computer 41 überträgt die vorgenannte
Information zum Modem 44. Dieses Modem 44 überträgt die vorgenannte
Information auf das Modem 45, das die vorgenannte Information
zum Computer 52 überträgt. Eine
Spezifikation für
ein PSD findet sich in der USPS Information Based Indicia Program
Postal Security Device Specification vom 13. Juni 1996, worauf zu
weiteren Einzelheiten Bezug genommen wird. Der Computer 41 kann
Information über
die Drucker, Druckereinstellungen, Tinten oder Toner und Papier empfangen,
welche durch das USPS zum Drucken des Freistempels 43 vom
Hersteller der Postsicherheitsvorrichtung 40 über die
Modems 45 und 44 zugelassen sind. Die vorgenannte
Information kann auch in einer Diskette oder einem anderen Speicher enthalten
sein und dann in den Speicher des Computers 41 eingegeben
werden.
-
Die
Bedienungspeson des Computers 41 nutzt das anhand von 9 beschriebene
Programm zur Eingabe des Druckers, des Druckertyps, der Formeinstellungsinformation
des Papiers, der Tinte oder der Tonerkombination zur Verwendung
für das
Drucken des Freistempels 43 und des gewünschten Strichcodes.
-
9 zeigt
ein Flussdiagramm des im Benutzercomputer 41 enthaltenen
Strichcode-Qualitätsmanagementprogramms.
Der Benutzer schaltet den Computer 41 ein, wobei das Betriebssystem
des Computers 41 in einem Block 100 das Strichcode-Qualitätsmanagementprogramm
in den Speicher des Computers 41 lädt. Sodann schreitet das Programm
zu einem Block 101 fort, in dem das Programm bestimmt,
ob im Speicher des Computers 41 ein kompatibles Poststückprogramm
installiert ist oder nicht. Ein kompatibles Umschlagprogramm kann
das Dazzle Envelope Manager Software Program der Firma Dazzle, 247
High Street, Palo Alto, California 94301-1041 sein. Ist im Speicher
des Computers 41 kein kompatibles Poststückprogramm
installiert, so schreitet das Programm zu einem Block 900 fort
und endet. Wurde ein kompatibles Poststückprogramm im Speicher des
Computers 41 installiert, so schreitet das Programm zu
einem Block 103 fort und liest die Betriebssystem-Initiierungsdatensätze und
bestimmt, was die Identifikation des aktiven Benutzerdruckers 42 ist
(8). Sodann schreitet das Programm zu einem Entscheidungsblock 104 fort
und bestimmt, ob das Strichcode-Qualitätsdatenformat des Druckers 42 im
Datenformat als zugelassener Drucker aufgelistet ist. Ist die Antwort auf
die vorgenannte Frage Nein, so schreitet das Programm zu einem Entscheidungsblock 105 fort.
-
Im
Entscheidungsblock 105 bestimmt das Programm, ob der aktive
Drucker im Datenformat als nicht zugelassener Drucker aufgelistet
ist oder nicht. Wird bestimmt, dass der Drucker 42 als
Drucker aufgelistet ist, der nicht zugelassen ist, so schreitet
das Programm zu einem Block 106 fort und setzt eine Warnbotschaft,
dass der Drucker 42 kein richtiger Drucker ist. Sodann
sendet das Programm in einem Block 108 die vorgenannte
Nachricht zu einem Strichcode-Druckqualitäts-Statusbotschaftspuffer. Wird im Block 105 entschieden,
dass die Antwort Nein ist, so schreitet das Programm zu einem Block 107 fort.
Dieser Block 107 setzt die Warnbotschaft zusammen, welche
anzeigt, dass sie den Drucker 42 nicht als zugelassenen
Drucker erkennt. Die vorgenannte Warnbotschaft im Block 107 wird
zu einem Block 109 gesendet, um eine Datenformataktualisierung
anzufordern. Beim Block 109 handelt es sich um einen Puffer,
welcher eine Aktualisierung des Status des Druckers 42 anfordert.
Ist die Antwort im Block 104 positiv, so wird diese Tatsache
im Strichcode-Druckqualitäts-Statusbotschaftspuffer 108 gespeichert.
-
An
dieser Stelle schreitet das Programm zu einem Block 110 fort,
in dem es die Betriebssystem-Initiierungsdatenformate abtastet,
um zu bestimmen, welches der laufende Drucker und seine Einstellungen
ist; dabei handelt es sich um eine Zittereinstellung, eine graphische
Einstellung, eine Auflösungsverbesserungs-Technikeinstellung
(falls gültig),
eine Papieridentifikation, eine Toneridentifikation und/oder eine
Tintenidentifikation des Druckers 42. Sodann schreitet
das Programm zu einem Block 111 fort und tastet die Operationssysteme
ab, wobei Datenformate initiiert werden, um die zu druckenden Strichcodeformate
festzulegen. Sodann schreitet das Programm zu einem Block 113 fort,
um die Teilbildpunktgrößen für Ränder der
Striche zu berechnen, um die Strichcodegrößen in die spezifizierten Toleranzen
zu bringen. Der Vorgang im Block 113 wird im Einzelnen
anhand von 9 beschrieben.
-
Nunmehr
schreitet das Programm zu einem Block 115 fort. In diesem
Block 115 betrachtet das Programm die Druckparameter im
Strichcode-Druckqualitäts-Datenformat
und beobachtet, ob die laufende Einstellung oder die Strichcode-Druckqualitätskorrektur
im oder außerhalb
des spezifizierten Bereiches liegt oder nicht bekannt ist.
-
An
dieser Stelle schreitet das Programm zu einem Schritt 119 fort,
in dem es die vom Block 115 empfangene Information sortiert
und auf die richtigen Puffer überträgt. Ist
die Information nicht bekannt, so wird diese Tatsache im Anforderungsaktualisierungspuffer
im Block 109 gespeichert. Liegen die Einstellungen innerhalb
oder außerhalb
der zugelassenen Bereiche, so geht das Programm zum Schritt 108 zurück, und
zwar zum Strichcode-Druckqualitäts-Botschaftsstatuspuffer,
in dem diese Tatsache gespeichert wird. Liegen die Einstellungen
innerhalb der zugelassenen Bereiche, so schreitet das Programm zu einem
Entscheidungsblock 120 fort. In diesem Entscheidungsblock 120 wird
bestimmt, ob ein kompatibles Umschlagprogramm geladen ist oder nicht.
Ist das kompatible Umschlagprogramm nicht geladen, so geht das Programm
zum Eingang des Blocks 120 zurück und wartet, bis ein kompatibles
Umschlagprogramm geladen ist. Ist das kompatible Umschlagprogramm
geladen, so schreitet das Programm zu einem Block 124 fort,
um zu bestimmen, ob der Benutzer des Computers den Druckbefehl ausgewählt hat oder
nicht. Wird im Block 124 bestimmt, dass der Druckbefehl
nicht ausgewählt
wurde, so schreitet das Programm zu einem Entscheidungsblock 125 fort.
In diesem Entscheidungsblock 125 wird bestimmt, ob das
Umschlagprogramm durch den Benutzer des Computers 41 beendet
wird oder nicht. Wird das Umschlagprogramm nicht beendet, so kehrt
das Programm zum Block 124 zurück. Wird das Umschlagprogramm
beendet, so schreitet das Programm zu einem Block 900 fort
und endet. Wird im Block 124 bestimmt, dass der Druckbefehl
gewählt
wurde, so schreitet das Programm zu einem Block 126 fort,
um den Inhalt des Puffers 108 zu lesen und zu bestimmen,
ob es der gleiche wie der Inhalt in einem Block 240 ist.
Wird im Block 126 bestimmt, dass die Information im Block 108 die
gleiche wie die Information im Block 240 ist, so schreitet
das Programm zum Block 240 fort. Wird im Block 126 bestimmt,
dass die Information im Block 108 von der Information im Block 240 verschieden
ist, so schreitet das Programm zu einem Block 127 fort.
In diesem Block 127 wird die Warninformation benutzt, welche
aus den Blöcken 106 und 107 gelesen
wird, und es wird eine Benutzer-Druckqualitätsnotiz gebildet, welche auf der
Anzeige des Computers 41 erscheint.
-
In
diesem Punkt schreitet das Programm zu einem Entscheidungsblock 128 fort,
in dem es auf die Benutzerantwort auf die Warnungen wartet. Wird
im Block 128 bestimmt, dass der Benutzer des Computers 41 der
Warnbotschaft und/oder den Botschaften folgen will, so schreitet
das Programm zu einem Block 200 fort, in dem über das
Modem 28 (8) oder eine Diskette (nicht
dargestellt) eine Anforderung zur Aktualisierung des Strichcode-Druckqualitäts-Datenformates
durchgeführt
wird. Wird im Block 128 bestimmt, dass der Benutzer des
Computers 41 der Warnbotschaft und/oder den Botschaften
nicht folgen will, so schreitet das Programm zu einem Block 225 fort,
in dem das Programm die im Puffer 108 und im Puffer 109 enthaltene
Information liest und eine Strichcode-Druckqualitäts-Statusbotschaft bildet.
Sodann schreitet das Programm zu einem Block 226 fort,
in dem die vorgenannte Strichcode-Druckqualitätsbotschaft zum Dateneingang
des PSD 40 (8) gesendet wird und im Block 240 der laufende
Prozess im Pufferspeicher gespeichert wird.
-
Nunmehr
schreitet das Programm zu einem Block 230 fort, in dem
das PSD 40 den Empfang der vorgenannten Botschaft bestätigt. Sodann
schreitet das Programm zu einem Block 250 fort und geht
zum Block 124 zurück.
-
10 zeigt
ein Flussdiagramm des Blocks 113 nach 9.
Dieses Unterprogramm beginnt in einem Block 150, in dem
es die Standard-Strichcode-Druckeinstellungen nachschlägt und speichert. Dieser
Block 150 setzt auch N = N + 1, wobei N gleich der Anzahl
der verwendeten Strichcodes ist. Nun schreitet das Programm zu einem
Block 151 fort, um den N-ten Strichcodebereich in der Dokumentendatei zu
lokalisieren und den Strichcode im Strichcodedatenformat nachzuschlagen.
Sodann schreitet das Programm zu einem Entscheidungsblock 152 fort. Wird
in diesem Entscheidungsblock 152 bestimmt, dass der nachgeschlagene
Strichcode ein unbekanntes Strichcodeformat ist, so schreitet das
Programm zum Block 106 fort.
-
Wird
im Entscheidungsblock 152 bestimmt, dass der nachgeschlagene
Strichcode ein bekanntes Strichcodeformat ist, so schreitet das
Programm zu einem Block 153 fort. In diesem Block 153 wird
der numerische Codewert erhalten und der gespeicherte Code-Algorithmus
verwendet, um "ideale" Strich- und Abstandsbreiten
zu berechnen und zu speichern. Ein Beispiel eines Strichcode-Algorithmus
findet sich in der "Uniform
Symbology Specification PDF-417",
veröffentlicht
1994 durch AIM Inc., 634 Alpha Drive, Pittsburgh, PA 15238-2802,
worauf für weitere
Einzelheiten Bezug genommen wird. Das Programm schreitet dann zu
einem Block 154 fort, um die Drucker-"Wachstumsfaktoren" für
die Einstellung des laufenden Druckers 24, d.h. für Einstellungen,
Toner, Papier, usw. vom Datenformat zu erhalten (11).
Sodann schreitet das Programm zu einem Block 155 fort,
um "simulierte" Strich- und Abstandsbreiten
zu berechnen und zu speichern. Dann schreitet das Programm zu einem
Block 156 fort, um die geschätzten Abstandsentfernungen
der Linien und Abstände
aus der Spezifikation des Strichcodes zu berechnen. An dieser Stelle
schreitet das Programm zu einem Block 157 fort, um den
Bruchteil-Bildpunktwert zu berechnen, der jedem Bildcode-Linienrand hinzuaddiert
wird, um den Strichcode-Lesefehler der Linien und Abstände zu minimieren.
Sodann schreitet das Programm zu einem Block 158 fort,
um die erwartete Lesefolge zu berechnen und diesen Wert zu speichern.
Nun schreitet das Programm zu einem Entscheidungsblock 159 fort, um
zu bestimmen, ob die geschätzte
Lesefolge des Strichcodes über
99,9 % liegt oder nicht. Wird in diesem Block 159 bestimmt,
dass die Lesefolge kleiner als 99,9 % ist, so schreitet das Programm
zum Block 106 fort (9). Wird
im Block 159 bestimmt, dass die Lesefolge größer oder
gleich 99,9 % ist, so schreitet das Programm zu einem Entscheidungsblock 160 fort.
In diesem Entscheidungsblock 160 wird bestimmt, ob ein
anderes Strichcodefeld zu verarbeiten ist oder nicht. Wird im Entscheidungsblock 159 bestimmt,
dass kein zu verarbeitendes anderes Strichcodefeld vorhanden ist,
so schreitet das Programm zum Block 115 fort (9).
Wird im Block 159 bestimmt, dass ein anderes Strichcodefeld
zu verarbeiten ist, so schreitet das Programm zum Block 150 nach
der Einstellung von N = N + 1 fort, wobei N gleich der Anzahl der
verwendeten Strichcodebereiche ist.
-
11 zeigt
eine Darstellung der Wechselwirkung des auf PSD basierenden Absenderprogramms,
dem Strichcode-Qualitätsmanagementprogramm
und dem Strichcode-Qualitätsfaktoren-Datenformat.
Die vorgenannten Programme sind in dem in 8 beschriebenen
Computer 41 enthalten. Das PSD-Absenderprogramm tauscht
Information mit dem Strichcode-Qualitätsmanagementprogramm 110 aus,
während
das Strichcode-Qualitätsmanagementprogramm
Information mit dem Strichcode-Qualitätsfaktoren-Datenformat 300 austauscht.
-
Das
Strichcode-Qualitätsfaktoren-Datenformat 300 enthält eine
Druckerkompatibilitätsliste 301; eine
Druckereinstellungsliste 302; eine Papierkompatibilitätsliste 303;
eine Toner- und Tintenkompatibilitätsliste 304; Strichcodedefinitionen 305;
eine Liste von Druckerwachstums- und
Schrumpffaktoren 306, eine Papierwachstumsfaktoren-Liste 307;
und eine Toner- und Tintenwachstumsfaktoren-Liste 308.
Die Druckerkompatibilitätsliste
enthält
eine Liste von Druckerherstellern, Modellnummern und Seriennummern,
welche in an sich bekannter Weise mit der vorliegenden Erfindung
zusammenwirken. Sie enthält weiterhin
eine Liste von Druckern, welche mit der vorliegenden Erfindung nicht
zusammenwirken. Die Druckereinstellungsliste 302 enthält die vom
Nutzer auswählbaren
Einstellungen für
jeden bekannten Drucker. Die Einstellungen enthalten Hardware-Einstellungen
auf dem Drucker, wie beispielsweise die Belichtung, die Dichte der
Schwärze
oder Schärfe, usw.
Die Drucker-Softwareeinstellungsliste 302 kann Schärfe, Dichte,
Hintergrund, usw. enthalten. Die Papierkompatibilitätsliste 303 enthält eine
Liste von Papiertypen, welche mit jedem in der Liste 301 oder 302 enthaltenen
Drucker richtig zusammenwirken. Die Toner- und Tintenkompatibilitätsliste 304 enthält eine Liste
von Tonern und Tinten, welche mit jedem in der Liste 303 enthaltenen
Papiertyp und für
den in der Liste 301 enthaltenen Drucker zusammenwirken.
Die Strichcodedefinitionen 305 enthalten eine geometrische
Definition der Strichcodes. Die Drucker-Wachstums- und Schrumpffaktorenliste 306 enthält eine Auflistung
eines aktuellen Wachstums, das beim Drucken eines spezifischen Satzes
von Punkten zu erwarten ist. Die Papierwachstumsfaktoren-Liste 307 ist
eine Tabelle von Typen und Druckern, welche das Nachschlagen des
inkrementellen Wachstums eines spezifischen Papiertyps für einen
spezifischen Drucker ermöglichen.
Die Toner- und Tintenwachstumsfaktoren-Liste 308 ist eine
Tabelle, welche das inkrementelle Wachstum enthält, das auftritt, wenn eine nicht
standardisierte Tinte für
die Drucker in der Liste 306 ersetzt wird.
-
12 zeigt
eine Darstellung der Wechselwirkung des Druckers 42 mit
den im Computer 41 enthaltenen Programmen. Das auf PSD-basierende Absenderprogramm
tauscht Information mit der PSD-Einheit 40, dem Modem und
dem Strichcode-Druckqualitäts-Managementprogramm 100 aus.
Das Strichcode-Qualitätsmanagementprogramm 100 tauscht Information
mit dem Strichcode-Qualitätsfaktoren-Datenformat 300 und
einem Raster-Bildprozessortreiber 320 mit Strichcode-Druckqualitäts-Software
für variable
Punktgröße aus.
Ein Beispiel für
einen derartigen Treiber ist der von Canon hergestellte Canon-Laserdruckertreiber.
Der Treiber 320 tauscht Information mit dem Drucker 42 aus.
Der Drucker 42 enthält
einen Rasterbildprozessor-Nebenschlussanschluss sowie eine Software,
welche mit dem Rasterbildprozessor-Treiber kompatibel ist. Ein Beispiel
für einen
Drucker mit einem Rasterbildprozessor-Anschluss ist der von Hewlett
Packard hergestellte Hewlett Packard Laser Jet III. Ein Beispiel
eines Druckers mit einer mit einem Rasterbildprozessor kompatiblen
Software, der auch eine Bildgröße drucken
kann, ist der durch Laser Master hergestellte Laser Master Unity
Series Printer. Für
Laser und LED-Drucker kann die Intensität des Strahls oder die Belichtungszeit
geändert
werden, um verschiedene (Bildpunkt)-Punktgrößen zu drucken.
-
Beim
Tintenstrahldrucken kann die Stimulationsspannung oder Impulsbreite
geändert
werden, um unterschiedliche (Bildpunkt)-Punktgrößen zu drucken. 13 zeigt
ein Diagramm der entwickelten Punktgröße als Funktion des Prozentsatzes
einer normalen Belichtung für
typische Laser- oder LED-Drucker.
Das Programm zeigt die Änderungen der
isolierten Punktgröße als Funktion
der Druckerbelichtung in Laser- oder LED-Druckern. Die Belichtung
ist dabei gleich der Intensität
der Belichtungszeit. Unterhalb des Schwellwertes eines typischen Laser-
oder LED-Druckers erfolgt kein Drucken von Punkten.
-
14 zeigt
ein Diagramm der gedruckten Bildpunktgröße als Funktion des Tintentröpfchendurchmessers
für typische
Tintenstrahldrucker. Dieses Diagramm zeigt die typische Änderung
in einer gedruckten isolierten Punktgröße als Funktion des Tintentröpfchendurchmessers.
Für den
Fachmann ist ersichtlich, dass eine große Anzahl unterschiedlicher Punktgrößen an den
Strichrändern
verwendet werden kann, um sicherzustellen, dass die Striche die richtige
Breite besitzen. Dies erfolgt, wenn sich die Größe an einem Strichrand von
der Größe eines
anderen Strichrandes unterscheidet, um einen Feineinstellungseffekt
für die
Korrektur zu realisieren. Weiterhin ist ersichtlich, dass das Vorverschieben
oder Verzögern
der Druckstellung der Punkte Striche mit der richtigen Breite erzeugt.
Damit kann die Fähigkeit zur
Korrektur für
eine vergrößerte Strichwachstumsbreite
möglich
gemacht werden.
-
Vorstehend
wurde eine neue und verbesserte Vorrichtung und ein neues und verbessertes
Verfahren zum Entfernen von Teilen eines Bildpunktes aus Strichcode-Strichen
beschrieben, um den richtigen Abstand zwischen benachbarten, den
Code bildenden Strichen aufrechtzuerhalten.