-
Die
vorliegende Erfindung bezieht sich auf eine Vorrichtung und ein
Verfahren zum Erfassen und automatischen Verarbeiten von Daten,
die aus optischen Codes erhalten werden.
-
Der
Ausdruck „optischer
Code" bezeichnet im
folgenden eine beliebige graphische Darstel-lung, welche die Funktion hat, codierte
Daten zu speichern. Ein spezifisches Beispiel für einen optischen Code sind
lineare oder zweidimensionale Codes, bei denen eine Codierung von
Daten mittels geeigneter Kombination von Elementen mit vorbestimmter Form,
d. h. Quadrat, Rechteck oder Sechseck, in dunklen Farben (für gewöhnlich Schwarz),
die durch helle Elemente (Zwischenräume, für gewöhnlich Weiß) getrennt sind, erfolgt,
beispielsweise bei Strichcodes (Bar Codes), Stapelcodes (Stacked
Codes) (einschließlich
PDF417), Maxicodes, Datamatrixcodes, QR-Codes oder Farbcodes etc.
Allgemeiner gesagt umfaßt
der Ausdruck „optischer
Code" andere graphische
Formen mit Datencodierungsfunktion, einschließlich nicht codierter gedruckter
Zeichen (Buchstaben, Zahlen etc.) und bestimmter Formen (Muster)
(wie Stempel, Logos, Unterschriften etc.).
-
Zum
Erfassen von optischen Daten sind optische Sensoren erforderlich,
die das Datencodierungsbild in elektrische Signale umwandeln, die
mit der Helligkeit der Bildpunkte korreliert sind, die automatisch
verarbeitet und (durch elektronische Prozessoren) decodiert werden
können.
-
Derzeit
werden optische Sensoren mittels CCD-Technologie (CCD = Charge Coupled
Device = ladungsgekoppelte Vorrichtung) hergestellt. Diese Sensoren
weisen jedoch Nachteile auf, die durch eine nicht immer ausreichende
Leseleistung, durch Komplexität,
Kosten und Größe der Lesevorrichtung insgesamt
verursacht werden.
-
Es
wurde bereits vorgeschlagen, zur Herstellung von optischen Sensoren
die CMOS-Technologie zu
verwenden, die derzeit nur bei elektronischen integrierten Schaltungen
verwendet wird. Bisher wurde die CCD-Technologie jedoch gegenüber der CMOS-Technologie
bevorzugt, da ihre Leistung hinsichtlich Quanteneffizienz, optischem „Füllfaktor" (d. h. der Teil
der Nutzfläche;
der von dem einzelnen Erfassungselement oder Pixel belegt ist, um
optische Daten zu erfassen), Lecken von Dunkelstrom, Leserauschen
und Dynamik besser ist.
-
In
jüngster
Zeit wurden Aktivpixel-CMOS-Sensoren (mit einem Verstärkungsabschnitt
innerhalb des Pixels) entwickelt, deren Leistungsniveau mit dem
von CCD-Sensoren zwar konkurrenzfähig ist, aber die eine weitaus
bessere Funktionsfähigkeit
besitzen. Eine Bilderfassungs vorrichtung kann in zwei Teile unterteilt
werden, d. h. einen optischen (Linear- oder Matrix-) Sensor, der
elektrische Ausgangssignale ausgibt, die mit dem empfangen Licht
korreliert sind, und eine Einheit zum Verarbeiten der elektrischen
Signale. Bei der CCD-Technologie, die bislang verwendet wird, muß die Verarbeitungseinheit
jedesmal, wenn sie Daten von dem optischen Sensor sammeln soll,
auf alle Pixel, die den optischen Sensor bilden, in einer vorbestimmten Sequenz
zugreifen. Andererseits ermöglicht
die CMOS-Technologie, daß die
Verarbeitungseinheit direkt auf ein beliebiges Pixel zugreift, ohne
eine bestimmte Reihenfolge einhalten zu müssen und ohne auf alle vorhandenen
Pixel zugreifen zu müssen.
Zudem sind CMOS-Sensoren vollständig
mit Logikschaltungen kompatibel, die selbst mittels CMOS-Technologie hergestellt
wurden.
-
Die
WO 97/08647 offenbart einen optischen CMOS-Lesechip, der ein CMOS-Abbildungsarray mit mehreren
Pixeln, einen Verstärkung/Versatz-Block (Gain/Offset-Block),
der mit dem CMOS-Abbildungsarray verbunden ist, und einen Analog/Digital-Wandler
umfaßt,
der mit dem Verstärkung/Versatz-Block verbunden
ist. Das digitale Ausgangssignal wird von einem Flankendetektor
verarbeitet, der ein BAR-Signal ausgibt. Dieses Signal kann an einen
optischen Symboldecoder weitergeleitet werden.
-
Die
US-A-S 521 366, gegenüber
welcher Anspruch 1 abgegrenzt ist, offenbart einen Datenformleser,
der einen CMOS-Sensor umfaßt,
der mit einer Schaltungsanordnung für Verstärkungssteuerung, Fokuserfassung
und Belichtungsteuerung verbunden ist. Der Datenformleser umfaßt ferner
eine Verarbeitungseinheit (die einen Digitalisierer, eine CPU und ein
Stromüberwachungsmodul
enthalten kann), eine Speichereinheit und ein Eingabe/Ausgabe(I/O)-Modul. Die Verarbeitungseinheit
empfängt
Bildsignale von dem CMOS-Sensor und liefert Bilddaten in digitaler
Form zur Speicherung in der Speichereinheit. Die Verarbeitungseinheit
ist zudem zur Implementierung einer Datenform unter Verwendung von
in der Speichereinheit gespeicherten Bilddaten ausgelegt. Die decodierte
Datenform wird über
das I/O-Modul an eine Ausgabevorrichtung geliefert.
-
Die
US-A-S 262 871 offenbart einen Bildsensor, der aus einem Pixelarray
besteht und eine Vorrichtung zum willkürlichen Adressieren einzelner
Pixel, um Pixel auszulesen, die sich in ausgewählten Regionen von Interesse
befinden, und eine Vorrichtung zum selektiven Variieren der Anzahl
an Pixeln enthält,
die in jedem Lesezyklus ausgelesen werden können. Es können relativ große Gruppen
von Pixeln gleichzeitig ausgelesen werden und die resultierenden
Signale können
zu Superpixelsignalen verbunden werden, um eine Hochgeschwindigkeitsdatenerfassung
zu liefern, wenn auch bei relativ geringer Auflösung. Sobald eine Region von
Interesse lokalisiert wurde, kann die Anzahl an Pixeln, die in jedem Zyklus
ausgelesen werden, verringert werden, um die Region von Interesse
mit höherer
Auflösung
und geringerer Geschwindigkeit auszulesen.
-
Somit
ist es die Aufgabe der vorliegenden Erfindung, eine Vorrichtung
und ein Verfahren zum Erfassen von optischen Daten anzugeben, die
bzw. das die intrinsischen Vorteile der CMOS-Technologie gegenüber der
CCD-Technologie nutzt.
-
Gemäß der vorliegenden
Erfindung ist eine Vorrichtung nach Anspruch 1 angegeben.
-
Bevorzugte
Ausführungen
der erfindugsgemäßen Vorrichtung
sind in den Ansprüchen
2–27 dargelegt.
-
Weitere
Eigenschaften der Erfindung werden aus der Beschreibung einiger
bevorzugter Ausführungen
deutlich, die rein beispielhaft und nicht einschränkend sind
und in den beigefügten
Zeichnungen erläutert
sind, in denen:
-
1 ein
Blockdiagramm eines Teils einer Vorrichtung zum Erfassen und automatischen
Verarbeiten von Daten gemäß einem
ersten Beispiel zeigt, das nicht durch die Erfindung abgedeckt ist;
-
2 ein
Blockdiagramm eines Teils der Vorrichtung gemäß einem zweiten Beispiel zeigt,
das nicht durch die Erfindung abgedeckt ist;
-
3 ein
Blockdiagramm eines Teils der Vorrichtung gemäß einem dritten Beispiel zeigt,
das nicht durch die Erfindung abgedeckt ist;
-
4 ein
Blockdiagramm eines Teils der Vorrichtung gemäß einem vierten Beispiel zeigt,
das nicht durch die Erfindung abgedeckt ist;
-
5 ein
Blockdiagramm der Vorrichtung gemäß der ersten Ausführung der
Erfindung zeigt;
-
6 ein
Blockdiagramm eines Teils der Vorrichtung gemäß einem fünften Beispiel zeigt, das nicht
durch die Erfindung abgedeckt ist;
-
7 ein
Blockdiagramm der Vorrichtung gemäß der zweiten Ausführung der
Erfindung zeigt;
-
8 ein
detaillierteres Blockdiagramm der Vorrichtung von 1 gemäß einer
ersten Variante zeigt, die nicht durch die Erfindung abgedeckt ist;
-
9 ein
detaillierteres Blockdiagranm der Vorrichtung von 1 gemäß einer
zweiten Variante zeigt, die nicht durch die Erfindung abgedeckt
ist;
-
10 ein
detaillierteres Blockdiagramm der Vorrichtung von 1 gemäß einer
dritten Variante zeigt, die nicht durch die Erfindung abgedeckt
ist;
-
11 ein
Flußdiagramm
eines Verfahrens zum Erfassen und automatischen Verarbeiten von Daten
zeigt, das von der erfindungsgemäßen Vorrichtung
ausgeführt
wird;
-
12a und 12b zwei
Abschnitte eines Sensors zeigen, der bei der vorliegenden Vorrichtung verwendet
wird;
-
13a, 13b und 13 optische Codes zeigen, die einem Gitter überlagert
sind, das eine erste Form der Pixel des Bilderfassungssystems repräsentiert;
-
14a, 14b und 14c optische Codes zeigen, die einem Gitter überlagert
sind, das eine zweite Form der Pixel des Bilderfassungssystems repräsentiert;
und
-
15 ein
Flußdiagramm
einer Variante des Verfahrens zur automatischen Datenerfassung gemäß der Erfindung
zeigt.
-
In 1 umfaßt eine
Vorrichtung 1 zum Erfassen und automatischen Verarbeiten
von Daten gemäß einem
Beispiel, das nicht durch die Erfindung abgedeckt ist, einen Bilddetektor 2 und
eine Verarbeitungseinheit 3. Der Bilddetektor 2 umfaßt wiederum nacheinander
(in Kaskade) einen CMOS-Sensor 5, eine analoge Verarbeitungseinheit 6 und
einen A/D-Wandler 7.
-
Genauer
gesagt umfaßt
der CMOS-Sensor 5 einer bekannten Art ein Linear- oder
Matrixarray aus Erfassungselementen, die mittels CMOS-Technologie
hergestellt wurden und jeweils ein Bildelement (Pixel) liefern sollen.
Der Einfachheit der Beschreibung halber bezeichnet der Begriff Pixel
im folgenden sowohl Bildelemente, die jedem Erfassungselement entnommen
werden, und die Erfassungselemente selbst. Der CMOS-Sensor 5 liefert
dann am Ausgang ein analoges Signal, das mit der Lichtmenge korreliert
ist, die auf die Erfassungselemente selbst einfällt.
-
Die
analoge Verarbeitungseinheit 6, die das Ausgangssignal
von dem CMOS-Sensor 5 auf einer Leitung 8 empfängt, hat
die Funktion, das Ausgangssignal von dem CMOS-Sensor 5 anzupassen
und eine nachfolgende digitale Umwandlung des Signals zu ermöglichen;
insbesondere dient sie dazu, das Signal durch automatische Verstärkungssteuerung
mit den Spannungswerten kompatibel zu machen, die von dem A/D-Wandler 7 benötigt werden,
das (thermische und elektromagnetische) Rauschen, das innerhalb
des CMOS-Sensors 5 erzeugt wird oder von außen aufgenommen
wird, zu unterdrücken
und das Signal so zu modifizieren, daß eine Unschärfe oder eine
zu hohe Bildschärfe
kompensiert werden.
-
Der
A/D-Wandler 7, der über
eine Leitung 9 mit dem Ausgang der analogen Verarbeitungseinheit 6 verbunden
ist, wandelt das von der analogen Verarbeitungseinheit 6 gelieferte
analoge Signal in eine Abfolge digitaler Pulse um, indem das analoge
Signal im geeigneten Moment abgetastet und die Daten in digitaler
Form codiert werden. Insbesondere kann der A/D-Wandler 7 im einfachsten Fall
ferner ein einziges Bit verwenden (und nur Weiß/Schwarz-Daten liefern), aber allgemeiner ist
er ein N-Bit-Wandler (z. B. 4, 6, 8, 10, 12, 16).
-
Eine
digitale logische Steuereinheit 10 ist über jeweilige Leitungen 11–13 mit
dem CMOS-Sensor 5,
der analogen Verarbeitungseinheit 6 und dem A/D-Wandler 7 verbunden
und liefert Steuersignale an diese, die für deren Betrieb notwendig sind,
beispielsweise Aktivierungs- und
Synchronisierungssignale. Die logische Steuereinheit 10 umfaßt Hardware-
und Softwarekomponenten zum Verwalten von Blöcken 5–7 und
kann zudem sehr komplexe Aufgaben durchführen.
-
Der
Ausgang 7a des A/D-Wandlers 7 ist mit einem Mikroprozessor 15 verbunden,
der zu der Verarbeitungseinheit 3 gehört und mit einem eigenen ROM-Speicher 16 zur
Programmspeicherung und einem eigenen RAM-Speicher 17 zum
Speichern von Daten, Digitalbild- und Programminformationen während der
Ausführung
verbunden ist. Der Mikroprozessor 15 ist über eine
Leitung 18 mit der logischen Steuereinheit 10 verbunden
und liefert Steuersignale zum Erfassen der Signale, die allen Pixeln
(Frame) zugeordnet sind, oder zum Erfassen der Signale, die nur
einigen bestimmten Pixeln zugeordnet sind, wie es im folgenden genauer
mit Bezug auf 11 beschrieben wird. Je nach
Anwendung kann der Mikroprozessor 15 das Erfassen von Pixeln
auch in nicht fortlaufender Reihenfolge steuern. Zudem verarbeitet er
die digitalen Bilddaten, extrahiert die codierten Daten aus dem
erfaßten
Bild und verarbeitet diese Daten optional gemäß bekannter Algorithmen.
-
In
der Vorrichtung 1 sind der CMOS-Sensor 5 und wenigstens
eines der Elemente des Bilddetektors 2 und/oder die Verarbeitungseinheit 3 in
einen einzigen Chip integriert. Bei dem in 1 gezeigten Beispiel
ist beispielsweise die gesamte Vorrichtung 1 einschließlich des
Bilddetektors 2 und der Verarbeitungseinheit 3 in
einen einzigen Chip 20 integriert.
-
Die
Vorrichtung 1 ist daher sehr kompakt und hat niedrigere
Herstellungskosten und eine hohe Bildverarbeitungsgeschwindigkeit,
da die Komponenten nahe beieinander sind und es keine externen Verbindungen
gibt.
-
2 zeigt
eine Vorrichtung 1 gemäß einem Beispiel,
das nicht durch die Erfindung abgedeckt ist, die zusätzlich zu
den in 1 gezeigten Blöcken eine
Batterieversorgungseinheit 80, die mit dem Bilddetektor 2 und
der Verarbeitungseinheit 3 verbunden ist, um die Vorrichtung 1 mit
Strom zu versorgen, und zwei Benutzerschnittstellen enthält, genauer
gesagt eine Eingabeschnittstelle 21 und eine Ausgabeschnittstelle 22,
die ebenfalls auf eine nicht gezeigte Weise von der Batterieversorgungseinheit 80 versorgt
werden. Die Eingabeschnittstelle 21 ist mit einem Eingabegerät 81,
beispielsweise einer Tastatur oder einer Maus, zum Eingeben von
Daten und Befehlen verbunden; die Ausgabeschnittstelle 22 ist
mit einem Ausgabegerät 82,
typischerweise einer Anzeigeeinheit, zum Anzeigen von Text und/oder
Bildern verbunden. Die Eingabeschnittstelle 21 und die
Ausgabeschnittstelle 22 sind über einen Daten- und Steuerbus 23 mit
dem Mikroprozessor 15 verbunden.
-
Die
Vorrichtung 1 von 2 ist zudem
mit einer Datenübertragungs-
und Steuerschnittstelle 35 zur Fernübertragung und zum Empfang
zu/von anderen Vorrichtungen oder zu/von einer zentralen Einheit (nicht
gezeigt) ausgestattet; typischerweise erlaubt diese Schnittstelle
eine Versendung von Daten, die aus dem von dem Mikroprozessor 15 erfaßten Bild extrahiert
wurden.
-
Auch
in diesem Fall kann der CMOS-Sensor 5 linear oder von der
Matrixart sein.
-
3 zeigt
eine Vorrichtung gemäß einem Beispiel,
das nicht durch die Erfindung abgedeckt ist, bei der die logische
Steuereinheit nicht auf eine einzige geeignete Einheit (logische
Steuereinheit 10) beschränkt ist, sondern innerhalb
von Blöcken
verteilt ist, die den CMOS-Sensor 5,
die analoge Verarbeitungseinheit 6 und den A/D-Wandler 7 bilden.
Die logische Steuereinheit 10 kann somit weggelassen werden
und der Mikroprozessor 15 ist mit den Blöcken 5, 6 und 7 direkt über eine
Schnittstelle verbunden.
-
Gemäß einer
Variante, die auch in dem Blockdiagramm von 3 gezeigt
ist, ist die logische Steuereinheit innerhalb des Mikroprozessors 15 vorgesehen.
Daher ist der Mikroprozessor 15 auch hier direkt mit den
Blöcken 5, 6 und 7 über eine
Schnittstelle verbunden. Diese Variante ist dann vorteilhaft, wenn
es erforderlich ist, eine große
Anzahl an erfindungsgemäßen Vorrichtungen 1 herzustellen;
in diesem Fall ist es in der Tat möglich, eine maßgeschneiderte
Mikroprozessorkomponente mit Hardwareressourcen herzustellen, die
für eine
direkte Verbindung mit dem Bilddetektor 2 geeignet sind.
-
4 zeigt
eine Vorrichtung 1a gemäß einem
Beispiel, das nicht durch die Erfindung abgedeckt ist, die nur durch
den Bilddetektor 2 gebildet ist, wobei der Ausgang 7a des
A/D-Wandlers 7 mit
einer Datenübertragungs-
und Steuerschnittstelle 35 verbunden ist. Die Datenübertragungs-
und Steuerschnittstelle 35 ist zudem über eine Leitung 36 mit der
Steuerein heit 10 und über
eine Leitung 37 mit einem Personalcomputer (nicht gezeigt)
verbunden. Die Datenübertragungs-
und Steuerschnittstelle 35 kann beispielsweise eine USB-,
IEEE 1394- oder
SCSI-Schnittstelle sein; alternativ kann eine RAM-Schnittstelle,
die es einem Personalcomputer ermöglicht, direkt auf die von
der A/D-Wandlungseinheit 7 gelieferten Daten zuzugreifen,
oder eine DMAC-Schnittstelle vorgesehen sein. Zudem kann die Datenübertragungs-
und Steuerschnittstelle 35 ferner eine Funkschnittstelle,
eine Telefonschnittstelle oder eine GSM- oder Satellitenschnittstelle
sein.
-
Der
Bilddetektor 2 und die Datenübertragungs- und Steuerschnittstelle 35 sind
vorteilhafterweise in einen einzigen Chip 38 integriert.
Bei dem dargestellten Beispiel wird die Vorrichtung 1a von 4 direkt
von dem Personalcomputer über
eine Versorgungsschnittstelle 39 versorgt, die mit dem Personalcomputer
(nicht gezeigt) verbunden ist und die erforderliche Spannung an
alle Blöcke
von 4 liefert. Alternativ kann die Vorrichtung 1a (auf
nicht dargestellte Weise) über
die Datenübertragungs-
und Steuerschnittstelle 35 oder direkt über die Batterieschnittstelle
versorgt werden und somit mit einem Versorgungseinheitsblock versehen
sein, der dem Block 80 von 2 ähnlich ist.
-
Die
Vorrichtung 1a von 4 kann zudem mit
einer Eingabe- und Ausgabeschnittstelle versehen sein, die den Schnittstellen 81 und 82 von 2 ähnlich sind.
-
Die
Datenübertragungs-
und Steuerschnittstelle 35 überträgt die erfaßten Bilder an den Personalcomputer
und empfängt
Befehle von diesem, um eine Bildverarbeitung (beispielsweise auf
eine Weise, die genauer im folgenden mit Bezug auf 7 beschrieben
wird) durch den Personalcomputer zu ermöglichen. Diese Lösung ist
vorteilhaft, wenn bereits ein Personalcomputer zur weiteren Verarbeitung (beispielsweise
Statistik, Berechnung etc.) zur Verfügung steht, der zweckmäßigerweise
auch die Bildverarbeitung ausführen
soll, was die Abmessungen und Kosten der Vorrichtung 1a auf
diejenigen des Bilddetektors 2 und optional der Übertragungsschnittstelle 35 verringert.
-
5,
eine erste Ausführung
der Erfindung, zeigt eine Vorrichtung 1, die dieselben
Elemente wie die Vorrichtung von 1 (wobei
diese daher mit denselben Bezugszeichen bezeichnet sind) und zudem
einen zusätzlichen
flüchtigen
Speicher 25 (RAM) aufweist, der zwischen den A/D-Wandler 7 und
den Mikroprozessor 15 geschaltet ist. Insbesondere ist
der zusätzliche
Speicher 25 über
eine Leitung 26 mit dem Ausgang 7a des A/D-Wandlers 7, über einen
Daten- und Adreßbus 27 mit
dem Mikroprozessor 15 und über eine Leitung 28 mit
der logischen Steuereinheit 10 verbunden.
-
Der
zusätzliche
Speicher 25 ist Teil des Bilddetektors 2 und speichert
das aus mehreren Punkten gebildete digitale Bild, wobei dessen digitaler
Wert an den A/D-Wandler 7 geliefert wird.
-
Somit
ist eine zweckbestimmte Komponente außerhalb des Bilddetektors 2 zur
Speicherung des Bilds nicht erforderlich.
-
Bei
der Vorrichtung 1 von 5 kann der
Mikroprozessor 15 über
einen Datenbus 27 direkt auf den zusätzlichen Speicher 25,
wenn ein Zugriff auf das Bild erforderlich ist, und auf seinen eigenen ROM-Speicher 16 und
RAM-Speicher 17 zugreifen, wenn er das Programm ausführt oder
auf seine eigenen privaten Daten und nicht das Bild zugreift.
-
Zusätzlich kann
die Vorrichtung 1 vollständig (auf eine nicht gezeigte
Weise) in einen einzigen Chip mit der Datenübertragungs- und Steuerschnittstelle 35 integriert
sein, oder sie kann nur teilweise integriert sein, wie es vorher
beschrieben wurde.
-
6 zeigt
eine Vorrichtung 1 gemäß einem Beispiel,
das nicht durch die Erfindung abgedeckt ist, die dieselben Elemente
wie die Vorrichtung von 1 und zusätzlich eine DMA-Steuerung bzw. DMA-Controller 30 (DMA
= Direct Memory Access = Direktspeicherzugriff) aufweist, die zwischen
den A/D-Wandler 7 und den Mikroprozessor 15 geschaltet
ist. Insbesondere ist die DMA-Steuerung 30 über eine
Leitung 31 mit dem Ausgang 7a des A/D-Wandlers 7, über eine
Steuerleitung 32 mit dem Mikroprozessor 15, über einen
Datenbus 33 mit demselben Mikroprozessor 15, dem
ROM-Speicher 16 und dem RAM-Speicher 17 und über eine
Leitung 34 mit der logischen Steuereinheit 10 verbunden.
-
Die
DMA-Steuerung 30 ist Teil des Bilddetektors 2 und
hat zum Ziel, das verfügbare
digitale Bild schnell an den Mikroprozessor 15 zu liefern,
indem sie das Bild direkt an den RAM-Speicher 17 überträgt. Wenn
genauer gesagt das Bild an den RAM-Speicher 17 übertragen
werden soll, fordert die DMA-Steuerung 30 von dem Mikroprozessor 15 die Steuerung
des Datenbusses 33 über
die Steuerleitung 32 an, und wenn sie diese Steuerung erhält, erzeugt
sie die Adreß-
und Steuersignale, die zur Speicherung des Ausgabebilds des A/D-Wandlers 7 direkt
in dem RAM-Speicher 17 erforderlich sind. Wenn die Übertragung
durchgeführt
wurde, wird die Steuerung des Datenbusses 33 an den Mikroprozessor 15 zurückgegeben,
der das eben geladene Bild verarbeitet.
-
Die
Vorrichtung 1 von 6 kann zudem vollständig in
einen einzigen Chip oder nur einen Teil desselben integriert sein.
-
7,
eine zweite Ausführung
der Erfindung, zeigt eine Vorrichtung 1, die dieselben
Elemente wie die Vorrichtung von 1 und zudem
einen zusätzlichen
RAM-Speicher 25a ähnlich
dem von 5, und eine DMA-Steuerung 30a ähnlich der
von 6 aufweist. Die DMA-Steuerung 30a ist
auf dieselbe Weise verbunden, die vorher mit Bezug auf 6 be schrieben
wurde, und der zusätzliche
Speicher 25a ist an seinem Ausgang direkt mit dem Datenbus 33 verbunden.
-
Die
Vorrichtung 1 von 7 hat die
Vorteile von sowohl dem Aufbau von 5 als auch
dem Aufbau von 6. In diesem Fall ist es in
der Tat möglich,
schnell eine Kopie des in dem zusätzlichen Speicher 25a enthaltenden
Bildes in dem RAM-Speicher 17 zu erzeugen und ein zweites
Bild zu erfassen, wodurch es möglich
ist, Vergleiche zwischen zwei aufeinanderfolgenden Bildern durchzuführen. Dies
ist bei der Verarbeitung von sich bewegenden Bildern und allgemein
immer dann nützlich,
wenn Algorithmen verwendet werden, um Bilder basierend auf dem Vergleich
von zwei aufeinanderfolgenden Bildern zu verarbeiten.
-
8 zeigt
den detaillierteren Aufbau einer Vorrichtung 1 gemäß einem
Beispiel, das nicht durch die Erfindung abgedeckt ist, gemäß dem in 1 gezeigten,
allgemeinen Diagramm. In 8 ist der CMOS-Sensor 5 von
der linearen Art, die analoge Verarbeitungseinheit 6 umfaßt einen
Kanalfilter und eine automatische Verstärkungssteuereinheit und der
A/D-Wandler 7 ist
von der 1-Bit-Art (Digitalisierer). Die analoge Verarbeitungseinheit 6 hat
genauer gesagt die Aufgabe, das Nutzband des erfaßten Signals
auszuwählen,
indem sie Rauschen filtert, das dem Nutzsignal überlagert ist, und automatisch
die Amplitude des zu dem A/D-Wandler 7 gelieferten Ausgangssignal
steuert und somit die Verstärkung
an die verschiedenen Betriebszustände von Kontrast und Intensität des erfaßten Bildes
anpaßt.
Da der A/D-Wandler 7 mit 1 Bit arbeitet, geht eine Umwandlung
besonders einfach und schnell. Der Bilddetektor 2 ist in
einen einzigen Chip integriert und ist mit der externen Verarbeitungseinheit 3 verbunden,
die von einer Mikrosteuerung bzw. Mikrocontroller gebildet wird,
die bzw. der den Mikroprozessor 15 und den entsprechenden
ROM-Speicher 16 und RAM-Speicher 17 enthält.
-
9 zeigt
den detaillierteren Aufbau einer weiteren Vorrichtung 1 gemäß einem
Beispiel, das nicht durch die Erfindung abgedeckt ist, gemäß dem in 1 gezeigten,
allgemeinen Diagramm. In 9 ist der CMOS-Sensor 5 von
der Matrixart, die analoge Verarbeitungseinheit 6 umfaßt eine
analoge Schaltung zur Signalverstärkung und der A/D-Wandler 7 ist
von der 8-Bit-Art, so daß er
am Ausgang 7a ein digitales Signal liefert, das jedes Pixel
gemäß einer
von 256 Graustufen decodiert. Der Bilddetektor 2 ist in
einen einzigen Chip integriert, der Mikroprozessor 15,
der von der RISC- oder CISC-An ist, ist extern vorgesehen und mit
einem nichtflüchtigen
Speicher 16 (der in diesem Fall aus einem externen EPROM besteht)
und einem RAM-Speicher 17 versehen.
-
Die
8-Bit-A/D-Umwandlung begrenzt die Bildübertragungs- und Verarbeitungskomplexität und erhöht die Geschwindigkeit
der Bildverarbeitungsvorgänge
zum Erfassen von Daten, die in dem Bild enthalten sind.
-
Gemäß einem
weiteren Beispiel, das nicht durch die Erfindung abgedeckt und in 10 gezeigt ist,
integriert ein einziger Chip einen CMOS-Sensor 5 der linearen
Art, eine analoge Verarbeitungseinheit 6, einen 8-Bit-A/D-Wandler 7,
einen Mikroprozessor 15 und einen RAM-Speicher 17 für Programmdaten.
Bei dieser Lösung
ist nur der ROM-Speicher 16 extern vorgesehen.
-
Bei
der Vorrichtung von 10 kann man die analoge Verarbeitungseinheit 6 weglassen,
wenn der Helligkeitspegel a priori bekannt ist (wie im Fall von Kontaktleseeinrichtungen),
dieser ausreichend ist und somit der Pegel des Signals, das von
dem CMOS-Sensor 5 geliefert wird, ausreichend ist.
-
Der
8-Bit-Wandler stellt sicher, daß das
Signal mit einer höheren
Auflösung
umgewandelt wird als es in 8 der Fall
ist. Diese Lösung
ermöglicht somit,
eine analoge Verarbeitung des Signals soweit wie möglich zu
vereinfachen oder sogar wegzulassen und Algorithmen zur Verarbeitung
der Bilder zu komplexeren digitalen Formaten zu implementieren. Mit
Hilfe dieser Algorithmen ist es insbesondere möglich, die Leseleistung bei
Codes mit sehr niedrigem Kontrast, bei beschädigten Codes etc. zu verbessern.
-
Um
die Lesegeschwindigkeit zu verbessern, ist die Funktionsweise der
Vorrichtung 1 wie in dem Flußdiagramm von 11 gezeigt.
Genauer gesagt erfaßt
der Bilddetektor 2 anfänglich
das gesamte Bild mit niedriger Auflösung (Block 40); dann
analysiert der Mikroprozessor 15 das soeben erfaßte Bild,
um innerhalb des Bildes Regionen von Interesse zu lokalisieren,
die Daten enthalten können,
die erfaßt
werden sollen, Block 41; danach erfaßt der Bilddetektor 2 auf
einen Befehl des Mikroprozessors 15 hin nur das Bild der
Regionen von Interesse mit einer höheren Auflösung als zuvor, Block 42;
schließlich
verarbeitet der Mikroprozessor 15 die detaillierteren Bilder, um
die Daten zu extrahieren, die in diesen enthalten sind, Block 43.
-
Eine
doppelte Erfassung der oben beschriebenen Art kann mit Hilfe eines
CMOS-Sensors 5 erreicht werden, der einen direkten Zugriff
auf die Pixel gestattet und/oder Pixel mit variabler Form hat, wie es
im folgenden beschrieben wird. Zudem basiert eine Datenverwaltung
auf der folgenden Reihenfolge von Schritten: Erfassen von optischen
Daten (auch als Bilderfassung bekannt) über den CMOS-Sensor 5,
programmgesteuertes Identifizieren von Bereichen von Interesse (auch
als Lokalisierung bekannt) mittels des Mikroprozessors 15 und
Interpretieren der Daten (auch als Decodieren bekannt) ebenfalls
mittels des Mikroprozessors 15 durch eine Software.
-
In
der Praxis arbeitet die vorliegende Vorrichtung 1 bei jedem
Verarbeitungsschritt (Lokalisierung oder Decodierung) mit zweckgebundenen
Detailebenen (zweckgebundener Bildauflö sung), ohne den Prozeß übermäßig beschwerlich
zu machen. Insbesondere wird bei der Lokalisierung eine niedrigere und
gröbere
Auflösung
verwendet, um die Abmessungen des zu verarbeitenden Bildes zu verringern, um
die Position der Daten in dem Bild als ganzes zu bestimmen. Danach
werden nur die Regionen von Interesse, welche die zu interpretierenden
Daten enthalten sollen, von dem CMOS-Sensor 5 mit einer
höheren
Auflösung
erfaßt;
dadurch können
die Decodierungsalgorithmen nur auf kleinere Abschnitte des Bildes
angewandt werden und die Zeit, die zur Lokalisierung und Decodierung
erforderlich ist, kann insgesamt reduziert werden.
-
Im
folgenden wird mit Bezug auf das Flußdiagramm von 11 ein
Erfassungsverfahren beschrieben, bei dem es einen direkten Zugriff
auf die Pixel des Bilddetektors 2 gibt. Es wird angenommen, daß ein CMOS-Sensor 5 verwendet
wird, bei dem alle Pixel gleich sind und auf die direkt zugegriffen werden
kann, indem Zeilen und Spalten ausgewählt werden, die nicht aneinander
angrenzen müssen, oder
indem rechteckige Fenster aneinandergrenzender Pixel ausgewählt werden,
wobei der Begriff „Fenster" einen rechteckigen
Abschnitt des Bilds mit maximaler Auflösung bezeichnet.
-
Bei
dieser Hypothese wird eine Erfassung 40 mit niedriger Auflösung durch
regelmäßiges Unterabtasten
des Bildes mit maximaler Auflösung
durchgeführt
(und somit erhält
man beispielsweise ein erstes Bild, das aus jeder zweiten Zeile
und jeder zweiten Spalte des Bildes mit maximaler Auflösung gebildet ist).
-
Der
Schritt der Bildanalyse 41 wird durch Verwenden eines Algorithmus
zum Identifizieren von Regionen von Interesse in dem ersten Bild
(mit verringerten Abmessungen) durchgeführt, das in Schritt 40 erhalten
wurde. Dieser Algorithmus kann beispielsweise nach Regionen mit
dem größten Kontrast
suchen und die Regionen mit dem niedrigsten Kontrast ignorieren,
da die herkömmlichen
optischen Codes zum Codieren von Daten den Wechsel zwischen hellen
und dunklen Bereichen nutzen.
-
Der
Schritt der Erfassung 42 mit hoher Auflösung umfaßt dann für jede Region von Interesse
das Erfassen nur desjenigen Fensters, das die Region von Interesse
enthält,
mit maximaler Auflösung.
In Decodierschritt 43 wird dann der Decodieralgorithmus
auf jeden Abschnitt des so erhaltenen Bildes angewandt.
-
Nun
wird ein anderes Erfassungsverfahren beschrieben, bei dem Pixel
mit variabler Form verwendet werden. Es wird insbesondere angenommen, daß ein CMOS-Sensor 5 verwendet
wird, bei dem alle Pixel gleich sind und aneinandergrenzende Pixel mittels
Hardware zu Gruppen zusammengefaßt werden können, damit sie durch steuerbare
Schalter physisch miteinander verbunden sind, um Makropixel mit
größeren Abmessungen
zu erhalten. In dieser Hinsicht sei auf 12a und 12b verwiesen, die sich auf einen Abschnitt 50 eines
CMOS-Sensors 5 beziehen,
der aus mehreren Elementarsensoren 51 gebildet ist, von
denen jeder ein entsprechendes Pixel bereitstellt; in 12a sind die Elementarsensoren 51 getrennt,
wohingegen die Elementarsensoren 51 in 12b so zu Gruppen zusammengefaßt sind, daß sie Makropixel 52 bilden,
die aus 2 × 2
Pixeln bestehen. Die Makropixel 52 werden dann verwendet und
als einzelne Einheiten behandelt, die mit einem Helligkeitswert
assoziiert sind, der mit der durchschnittlichen Helligkeit der Elementarpixel
korreliert ist. Dadurch werden Bilder erzeugt, die eine niedrigere
Auflösung
als die maximale haben, das heißt, wenn
jedes einzelne Elementarpixel 51 unabhängig verwendet wird.
-
Gemäß dem Verfahren,
bei dem Pixel mit variabler Form verwendet werden, und gemäß 11 umfaßt der Schritt 40 des
Erfassens mit niedriger Auflösung
einen ersten Schritt, bei dem aneinandergrenzende Pixel mittels
Hardware auf der Basis von durch die Steuereinheit 10 erzeugten
Steuersignalen zu Gruppen zusammengefaßt werden, wobei die Steuereinheit
wiederum von dem Mikroprozessor 15 gesteuert wird, und
einen zweiten Schritt zum Erfassen eines Bildes mit niedriger Auflösung durch
die so erhaltenen Makropixel. Dann folgen: Analyse 41 des Bildes,
Erfassen 42 mit hoher Auflösung (wobei die Werte der einzelnen
Pixel nur in den Fenstern erfaßt werden,
in denen Regionen von Interesse lokalisiert wurden) und Decodieren 43, ähnlich dem
oben beschriebenen Vorgang bezüglich
des Direktzugriffsverfahrens.
-
Es
können
Pixel mit variabler Höhe
verwendet werden. Dieser Ansatz ist insbesondere vorteilhaft, um
die Lesbarkeit von linearen Strichcodes und Stapelcodes (die durch Übereinanderanordnen
einer Reihe von Strichcodes mit einer sehr niedrigen Höhe erhalten
werden) zu verbessern. Genauer gesagt basiert dieses Verfahren entweder
auf der Möglichkeit, Makropixel
mit rechteckiger Form und einer unterschiedlichen Anzahl an Elementarpixeln
herzustellen, oder auf der Möglichkeit,
die Höhe
und den aktiven Bereich der Pixel der CMOS-Sensoren auf eine Weise zu konfigurieren,
wie es im folgenden beschrieben wird.
-
Beim
Lesen von linearen Codes (herkömmlichen
Strichcodes) ermöglicht
die Verwendung von Sensoren mit rechteckigen Pixeln, deren vertikale Abmessungen
wesentlich. größer sind
als die horizontalen Abmessungen (als horizontal wird die Richtung
der Lesezeile angesehen), daß man
einen relativ breiten, empfindlichen Erfassungsbereich bezüglich der 'horizontalen Abmessung
erhalten kann, wodurch die Empfindlichkeit erhöht und das Signal-Rausch-Verhältnis verbessert
wird, was unmittelbar aus einem Vergleich der 13a und 14a ersichtlich
ist, die sich auf das Lesen eines einzigen Strichcodes mit Pixeln 55 mit
einem hohen Höhe-Breite-Verhältnis (das
in dem gezeigten Beispiel deutlich über 10 liegt) bzw. mit Pixeln 56 mit
einem Höhe-Breite-Verhältnis beziehen,
das beinahe 1 beträgt.
-
Andererseits
sind Sensoren mit einer verringerten Pixelhöhe vorteilhaft beim Lesen von
optischen Codes mit Elementen, die nicht mit den Pixeln auf einer
Linie liegen (13b und 14b),
oder beim Lesen von Stapelcodes (13c und 14c).
-
Die
Konfigurierbarkeit der Pixelform bei CMOS-Sensoren kann insbesondere
erhalten werden, indem der Erfassungsbereich jedes Pixels verkleinert
wird. In der Tat ist jedes CMOS-Pixel
bekanntermaßen
durch ein Photoelement gebildet, das an seinem Ausgang einen elektrischen
Strom erzeugt, der mit der empfangenen Lichtmenge korreliert ist und
verwendet wird, um einen Speicherkondensator zu laden. Dem Photoelement
ist ein Gate-Element überlagert,
dessen Vorspannung es ermöglicht,
einen Abschnitt des zugewandten Erfassungsbereichs zu isolieren
und somit nur einen Teil des Photoelement-Erfassungsbereichs zu
aktivieren. Mit einem Erfassungsbereich mit rechteckiger Form, wie
er beispielsweise in 13a–13c gezeigt
ist (beispielsweise mit 200 × 14 μm), und durch
Wählen
einer geeigneten Vorspannung der Gate-Elektrode eines jeden Pixels
ist es daher möglich,
die Form eines jeden Pixels zu modifizieren; es ist beispielsweise möglich, nur
ein Ende eines jeden Erfassungsbereichs zu aktivieren und so Pixel
mit einer im wesentlichen quadratischen Form, wie es in 14a– 14c gezeigt ist, oder Abschnitte mit zunehmender
Höhe zu
erhalten, bis zu den maximalen Abmessungen von 13a–13b.
-
Die
oben beschriebenen Möglichkeiten,
die Form der Pixel zu verändern,
erlaubt es einem Detektor, zwei (oder mehr) unterschiedliche Betriebskonfigurationen
zu haben und somit eine einzige Datenerfassungsvorrichtung für unterschiedliche
Codes oder bei a priori unbekannten Lesebedingungen einzusetzen
(beispielsweise bei unbekannter Neigung eines Strichcodes).
-
In
diesem Fall kann ein Algorithmus implementiert werden, der zunächst versucht,
mit maximaler Höhe
zu lesen, und die Höhe
im Fall eines fehlgeschlagenen Lesens verringert. Die Verringerung
der Höhe
kann schrittweise erfolgen, falls der CMOS-Sensor 5 eine
diskrete Regelung der Pixelhöhe
erlaubt, um mehrere unterschiedliche Höhen zu erhalten.
-
In
diesem Fall kann die Datenerfassungsvorrichtung mit Pixeln mit variabler
Form gemäß 15 arbeiten.
Genauer gesagt wird zunächst
die maximale Pixelhöhe
festgesetzt (Block 60); dann wird das Bild (oder wenigstens
ein kleinerer Versuchsbereich) erfaßt (Block 61); das
erfaßte
Bild wird verarbeitet, um codierte Daten zu extrahieren, beispielsweise
um Regionen von Interesse zu lokalisieren, oder wird vorverarbeitet,
um auszuwerten, ob das Bild zur Extrahierung von Daten ausreichend
ist, Block 62; es wird verifiziert, ob das Lesen erfolgreich
war, Block 63; falls ja (Ausgabe JA von dem Block 63),
wird die Verarbeitung fortgesetzt (Beendigung der Bildverarbeitung
oder Verwendung der extrahierten Daten, Block 64); falls
nicht (Ausgabe NEIN von dem Block 63), wird verifiziert,
ob die Pixel bereits eine minimale Höhe haben (Block 67).
Falls ja (Ausgabe JA von dem Block 67), wird ein Fehlersi gnal
erzeugt (Block 68), um anzugeben, daß ein Lesen nicht möglich ist; falls
nicht (Ausgabe NEIN von dem Block 67), wird die Pixelhöhe verringert,
Block 69, und das Bild wird ein weiteres Mal erfaßt, Rückkehr zu
Block 61.
-
Die
Vorteile der beschriebenen Vorrichtung und des Verfahrens sind folgende.
Erstens erlauben sie eine Integration sowohl des Sensors als auch
wenigstens eines Teils der VLSI-Logikschaltungen
in einen einzigen Chip, was die Kosten für die Komponenten und die Verpackung
der Vorrichtung insgesamt verringert; zudem machen sie sich die
inhärenten
Vorteile der CMOS-Technologie zum Lesen codierter optischer Daten
zunutze; insbesondere erlauben sie eine Erfassung selektiver Bilduntergruppen auf
der Basis der Bildverarbeitungsstufe, was die Datenverarbeitung
einfacher und schneller macht.
-
Die
vorliegende Vorrichtung kann gemäß einem
der verschiedenen, oben beschriebenen Gestaltungsformen, gemäß den spezifischen
Anwendungserfordernissen und gemäß spezifischer
Eigenschaften hergestellt werden.
-
Die
Möglichkeit,
erhebliche Abschnitte der Vorrichtung in einen einzigen Chip zu
integrieren, erlaubt erstens eine Verringerung der Abmessungen der
Vorrichtung (was besonders bei manuellen optischen Lesern vorteilhaft
ist, die physisch von einer Bedienperson getragen werden) und zweitens
eine Reduzierung der Verarbeitungszeiten und von Störungen,
die durch Verbindungen, Drähte
etc. verursacht werden.
-
Schließlich ist
es ersichtlich, daß zahlreiche Modifikationen
und Variationen an der hier beschriebenen und gezeigten Vorrichtung
vorgenommen werden können,
die alle im Bereich der Erfindung liegen, wie er durch die beiliegenden
Ansprüche
definiert ist. Insbesondere können
verschiedene Blöcke,
die mit Bezug auf spezielle Gestaltungsformen beschrieben wurden,
auch gemäß sehr unterschiedlichen
Kombinationen auf der Basis der spezifischen Anforderungen bei anderen
Gestaltungsformen verwendet werden.