Die vorliegende Erfindung betrifft ein Verfahren und eine Vorrichtung
zum Scannen von Bildern, wobei ein Quellbild mittels mehrere Farbsensorelemente
abgetastet wird. Das Quellbild kann sowohl ein Schwarz/Weiß-Bild als auch ein
Farbbild sein. Das durch das Scannen erzeugte Zielbild ist ein Schwarz/Weiß-Bild.
Es ist bekannt, dass mit einem Farbscanner, der mehrere Farbsensorelemente
aufweist, Schwarz/Weiß-Bilder gescannt werden können. Hierbei wird üblicherweise
das Quellbild in gleicher Weise wie ein Farbbild abgetastet und das so erhaltenen
Pseudo-Farbbild entsprechend korrigiert, so dass die Graustufen im Zielbild möglichst
gut mit dem entsprechenden Helligkeitswerten im Quellbild übereinstimmen. Bei
diesen bekannten Verfahren werden Schwarz/Weiß-Bilder mit der gleichen Geschwindigkeit
und mit der gleichen Auflösung wie Farbbilder gescannt.
Aus der noch nicht veröffentlichten Europäischen Patentanmeldung
PCT/EP2005/012882 (am 7.6.2007 veröffentlicht als WO
2007/062679 A1) geht ein Verfahren zum Abtasten von Bildern mittels einer
Vorrichtung, die mehrere Farbsensoren aufweist, hervor, um ein Zielbild als Shwarz/Weiß-Bild
zu erstellen. Bei dieser Vorrichtung ist die Abtastgeschwindigkeit und/oder die
Auflösung gegenüber herkömmlichen Verfahren erhöht. Der grundsätzliche
Unterschied dieses Verfahrens zu den herkömmlichen Verfahren liegt darin, dass
einzelne Bildpunkte (Pixel) des Quellbildes nicht jeweils von allen Farbsensorelementen
sondern lediglich von jeweils einem einzigen Farbsensorelement abgetastet werden,
wodurch es möglich ist, dass die mehreren Farbsensorelemente gleichzeitig mehrere
Bildpunkte abtasten. Hierdurch wird die Abtastgeschwindigkeit erhöht, bzw.
eine wesentlich höhere Auflösung bei gleicher Abtastgeschwindigkeit wie
bei herkömmlichen Scannvorrichtungen erzielt.
Da die einzelnen Farbsensorelemente unterschiedliche Signale für
gleiche Helligkeitswerte des Quellbildes erzeugen, werden die Signale entsprechend
korrigiert. Beim Abtasten eines farbigen Quellbildes werden farbige Bereiche des
Quellbildes unterschiedlich stark mit den unterschiedlichen Farbsensorelementen
erfasst. In der Regel ist ein rotes, grünes und blaues Farbsensorelement vorgesehen.
Ein grüner Farbbereich im Quellbild wird von dem grünen Farbsensorelement
gut detektiert, wohingegen das blaue und rote Farbsensorelement für einen grünen
Farbbereich kaum ein Signal ausgeben. Hierdurch entstehen im Zielbild eines farbigen
Quellbildes Fehlstellen, die als Frequenz-Artefakte bezeichnet werden. Derartige
Frequenz-Artefakte können erkannt und mit entsprechenden Filter korrigiert
werden.
Bei diesem Verfahren werden zunächst die mit den unterschiedlichen
Farbsensorelementen erhaltenen Pixel sortiert, so dass sie in einer entsprechender
Anordnung wie im Quellbild angeordnet sind. Dies ist notwendig, da die unterschiedlichen
Sensorelemente voneinander entfernt angeordnet sind, so dass hier für jedes
Sensorelement ein Datenstrom entsteht, in welchem die Werte der einzelnen Bildpunkte
von Datenstrom zu Datenstrom versetzt zueinander angeordnet sind.
Aus der internationalen Patentanmeldung WO
2005/114573 A1 bzw. der korrespondierenden deutschen Patentanmeldung
DE 10 2004 024 855 A1 geht
ein Verfahren zur Interpolation und Korrektur eines digitalen Bildes hervor, wobei
ein Quellbild auf ein Zielbild mit einem FIR-Filter abgebildet wird. Der FIR-Filter
umfasst mehrere Filterkoeffizienten, die sowohl die Information zur Interpolation
als auch zur Korrektur des Bildes enthalten. Hierdurch wird in einem einzigen Schritt
sowohl die Interpolation als auch die Korrektur des Bildes ausgeführt.
Aus der US 2003/0222987
A1 geht eine Kamera hervor, die mehrere räumlich separierte Zeilensensoren
aufweist. Zur korrekten Ausrichtung der einzelnen mit den jeweiligen Zeilensensor
erfassten Teilbilder werden die Signale von zumindest einem der Zeilensensoren gegenüber
den Signalen der anderen Zeilensensoren verzögert.
In der GB 2 308 936 A
ist ein Verfahren beschrieben, bei welchem mittels dreier Zeilensensoren für
die Farbe Rot, Grün und Blau ein Bild abgetastet wird. Mit diesem Verfahren
sollen Registerfehler aufgrund der Abstände der einzelnen Zeilensensoren korrigiert
werden. Zunächst werden die Bildsignale des roten und grünen Teilbildes
verzögert. Dann wird eine so genannte Zwischen-Zeilen-Korrektur ausgeführt,
mit welcher Versätze, die kleiner als ein ganzer Zeilenabstand sind, durch
eine Interprolation korrigiert werden.
Aus der EP 1 569 168 A1
geht die Verwendung von FIR-Filtern zum Verarbeiten von Bilddaten hervor.
Die US 5,361,145 beschreibt
eine Bildabtastungsvorrichtung mit einer Kamera mit von einander beabstandeten Zeilensensoren
und deren Verwendung zum Abtasten eines Bildes.
Aus der EP 0 729 278 A2
geht ein Interprolationsverfahren zum Korrigieren eines farbigen Quellbildes hervor.
Der Erfindung liegt die Aufgabe zu Grunde ein Verfahren und eine Vorrichtung
zum Scannen eines Bildes zu schaffen, um ein Zielbild in Schwarz/Weiß-Darstellung
zu erzeugen, wobei eine hohe Abtastrate bei einer hohen Auflösung möglich
ist und zugleich das Zielbild schnell erzeugbar ist und im wesentlichen die gleiche
Hardware wie beim Erzeugen eines Zielbildes in Farbdarstellung verwendbar ist.
Die Aufgabe wird durch ein Verfahren mit den Merkmalen des Anspruchs
1 und durch eine Vorrichtung mit den Merkmalen des Anspruchs 7 gelöst. Vorteilhafte
Ausgestaltungen der Erfindungen sind in den entsprechenden Unteransprüchen
angegeben.
Das erfindungsgemäße Verfahren zum Scannen eines Bildes
umfasst folgende Schritte:
– Abtasten eines Quellbildes mit einem Sensor, der mehrere Zeilenarrays
umfasst, die jeweils zum Detektieren einer bestimmten Farbe ausgebildet sind, so
dass von jedem Zeilenarray ein Farbauszug eines abzutastenden Quellbildes erzeugt
wird, die das Quellbild in Form von Bildpunkten darstellen, wobei die Bildpunkte
der unterschiedlichen Farbauszüge eines bestimmten Quellbildes zueinander etwas
versetzt sind,
– separates Filtern der Farbauszüge mit mehreren FIR-Teilfiltern
und Summieren der gefilterten Bildpunkte des Quellbildes der mehreren Farbauszüge
zu Bildpunkten eines Zielbildes.
Mit dem erfindungsgemäßen Verfahren werden die Teilfilter
direkt auf die einzelnen Farbauszüge angewandt, ohne dass die Farbauszüge
zu einer einheitlichen Dateneinheit vermischt werden müssen. Dies erspart einen
entsprechenden Sortiervorgang, da durch die Anwendung der Teilfilter die korrekten
Bildpunkte der Farbauszüge ausgewählt werden. Zudem wird beim Anwenden
von drei kleinen Teilfiltern wesentlich weniger Rechenleistung als beim Anwenden
eines wesentlich größeren Gesamtfilters benötigt. Hierdurch wird
die automatische Abarbeitung des erfindungsgemäßen Verfahrens wesentlich
beschleunigt.
Vorzugsweise wird beim Filtern auch eine Interpolation von den Bildpunkten
des Quellbildes auf die Bildpunkte des Zielbildes ausgeführt.
Weiterhin ist es möglich, beim Filtern eine Korrektur des abgetasteten
Quellbildes auszuführen. Hierbei kann z.B. die unterschiedliche Empfindlichkeit
der Zeilenarrays für Graustufen korrigiert werden. Weiterhin kann eine Korrektur
des Frequenzganges des abgetasteten Quellbildes ausgeführt werden.
Die erfindungsgemäße Vorrichtung zum Scannen eines Bildes
umfasst
– einen Sensor, der mehrere Zeilenarrays zum Abtasten eines Quellbildes
aufweist, die jeweils zum Detektieren einer bestimmten Farbe ausgebildet sind, so
dass von jedem Zeilenarray ein Farbauszug eines abzutastenden Quellbildes erzeugt
wird, diese das Quellbild in Form von Bildpunkten darstellen, wobei die Bildpunkte
der Farbauszüge eines bestimmten Quellbildes zueinander etwas versetzt sind,
und
– eine Steuereinheit, die derart ausgebildet ist, dass auf die Farbauszüge
jeweils ein FIR-Teilfilter angewendet wird, um die Bildpunkte der mehreren Farbauszüge
auf ein einzelnes Zielbild abzubilden.
Mit dem erfindungsgemäßen Verfahren und mit der erfindungsgemäßen
Vorrichtung wird die Abbildung der Bildpunkte der mehreren Farbauszüge auf
ein Zielbild als Interpolation über einen Längenbereich, der zwei benachbarten
Bildpunkten in einem Farbauszug entspricht. Durch den Versatz der Farbauszüge
würde bei Überlagerung der Farbauszüge in diesen Längenbereich
jeweils ein Bildpunkt der unterschiedlichen Farbauszüge mit jeweils gleichem
Abstand zueinander angeordnet sein. Über diese Farbauszüge wird somit
interpoliert, wobei eine zusätzliche Interpolation ohne zusätzlichen Verfahrensschritt
möglich ist. Bei dieser zusätzlichen Interpolation kann auf Bildpunkte
interpoliert werden, die zwischen den Bildpunkten der Farbauszüge angeordnet
sind.
Die Erfindung wird nachfolgend beispielhaft näher erläutert.
Ein Ausführungsbeispiel ist schematisch in der beigefügten Zeichnung dargestellt.
Die Zeichnungen zeigen schematisch in:
1 die Teile eines Kopierers einschließlich eines
Scanners und eines Druckers in einem Blockschaltbild,
2 einen optischen Sensor des Scanners,
3 eine Sensoreinheit mit drei Farbsensorelementen,
und
4 ein Blockschaltbild einer Auswerteeinrichtung zum
Ausführen des erfindungsgemäßen Verfahrens.
In 1 ist ein Kopierer 1 mit
einem Scanner 2 und einem Drucker 3 dargestellt. Eine Steuereinheit
4 steuert den Scanner 2 und den Drucker 3 und ist mit
einer Bedienungseinheit 5 und einem externen Netzwerk 6 verbunden.
Wenn der Scanner 2 ein Quellbild abtastet werden die hierbei
erzeugten Signale in digitale Daten umgesetzt und in einem Speicher 6 in
der Steuereinheit 4 gespeichert. Die im Speicher 7 abgelegten
Bilddaten können mittels der Steuereinheit 4 direkt am Drucker
3 ausgedruckt werden oder über das externe Netzwerk 6 versandt
werden.
Der Scanner 2 weist einen optischen Sensor 8 auf
(2). Der Sensor 8 ist mit drei parallelen
CCD-Zeilenarrays versehen, die jeweils einen Farbsensorelement für die Farben
Rot R, Grün G und Blau B bilden. Hierzu sind die CCD-Zeilenarrays jeweils mit
einem roten, grünen bzw. blauen Farbfilter versehen.
In 2 sind die CCD-Zeilenarrays unmittelbar
aneinander angrenzend angeordnet dargestellt. In der Praxis weisen die einzelnen
CCD-Zeilenarrays jeweils aus fertigungstechnischen Gründen einen bestimmten
Abstand zueinander auf. Die einzelnen CCD-Zeilenarrays werden mittels Taktsignalen,
die über entsprechende Taktsignalleitungen 9 zugeführt werden,
angesteuert, wobei bei jedem Takt ein Bildpunkt ausgelesen wird. Die von den CCD-Zeilenarrays
ausgelesenen Signale werden über jeweils eine Signalleitung 10 ausgegeben.
Dieser Sensor 8 umfasst somit drei CCD-Zeilenarrays, die
jeweils ein Farbsensorelement darstellen und jeweils einen separaten Datenstrom
für rote, grüne und blaue Bildpunkte erzeugen.
Die gesamten Daten eines Bildes eines der drei Datenströme wird
als Farbauszug bezeichnet. Nach den vollständigen Abtasten eines Quellbildes
liegen somit beim vorliegenden Ausführungsbeispiel drei Farbauszüge für
die Farben Rot, Grün und Blau vor. Die Farbauszüge stellen ein Koordinatensystem
dar, in dem die einzelnen Bildpunkte angeordnet sind. Aufgrund des räumlichen
Versatzes der Farb-Sensorelemente R, G, B sind die Farbauszüge in den Koordinatensystemen
etwas zueinander versetzt. Der Versatz zwischen zwei Farbauszügen hängt
von der Abtastgeschwindigkeit ab, mit welchem der Sensor 8 relativ zum
Quellbild bewegt wird.
Im vorliegenden Ausführungsbeispiel beträgt der Versatz
zwischen den Farbauszügen zweier benachbarter Farbsensorelemente
15 Bildpunkte. Der Versatz zwischen den Farbauszügen für die
Farben Rot und Blau beträgt somit 30 2/3 Bildpunkte.
In 3 ist schematisch der Sensor
8 dargestellt. Er umfasst ein Objektiv 11, die drei Farbsensorelemente
R, G, B die jeweils mit einem Farbfilter 12 versehen sind und ein Quellbild
13, auf welchem schematisch mehrere Zeilen von Bildpunkten 14
dargestellt und mit den Nummern 1 bis 22 durchnummeriert sind.
Wenn die einzelnen Farbsensorelemente R, G, B gleichzeitig zum Detektieren eines
Bildpunktes angesteuert werden, dann beträgt bei der in 3
dargestellten Ausführungsform der Versatz zwischen zwei Farbauszügen benachbarter
Farbsensorelemente fünf Bildpunkte durch eine zeitlich versetzte Ansteuerung
der einzelnen Farbsensorelemente und entsprechende Einstellung der Relativgeschwindigkeit
(Pfeil A in 3) können auch nicht ganzzahlige Versätze
erzielt werden.
Die mit dem Sensor erfassten Signale werden korrigiert. Dies erfolgt
mittels eines Filters.
Die Anwendung eines Filters auf die mit dem Sensor erfassten Bildpunkte
wird in der Regel als Vektorprodukt ausgeführt, wobei der Filter ein Vektor
mit mehreren Filterkoeffizienten a1, a2, ..., an ist, der mit einem Vektor bestehend
aus den vom Sensor erfassten Werten von Bildpunkten multipliziert wird. Diese Bildpunkte,
auf die der Filter angewendet wird, sind im Quellbild nebeneinanderliegend angeordnet.
Die Anwendung eines Filters auf Bildpunkte ist ausführlich in der
WO 2005/114573 A1 beschrieben,
auf die deshalb vollinhaltlich Bezug genommen wird und die in die vorliegende Anmeldung
inkorporiert wird.
Um den Filter in herkömmlicher Weise auf die Bildpunkte anzuwenden,
müsste man die von den drei Farbsensorelementen erzeugten
drei Farbauszüge zu einem einzigen Bild zusammenfassen, in welchem die entsprechenden
Bildpunkte gemäß ihrer Position im Quellbild sortiert werden. Bei dem
in 2 und 3 dargestellten
Sensor 8 ergebe sich somit folgende Abfolge von Bildpunkten:
r0 g0 b0 r1 g1 b1 r2 g2 b2 ...,
wobei die Buchstaben r, g, b das Farbsensorelement kennzeichnen, mit dem der jeweilige
Bildpunkt erfasst worden ist und die daran angefügt Ziffer die Position des
jeweiligen Bildpunktes in der Zeile des Bildes bezeichnet. Eine solche Sortierung
der Bildpunkte ist jedoch aufwendig, insbesondere wenn mit dem Scanner die Quellbilder
mit unterschiedlicher Abtastrate und unterschiedlicher Auflösung abgetastet
werden sollen, da dann der Sortieralgorithmus der unterschiedlichen Auflösung
und Abtastrate jeweils angepasst werden muss. Eine solche Sortierung verursacht
eine Vielzahl von Speichervorgängen, die ohne spezielle Hardware (ASICS bzw.
FPGA) die Recheneinheit (CPU) der Steuereinheit erheblich in Anspruch nimmt.
Das grundlegende Prinzip der vorliegenden Erfindung liegt darin, dass
die drei Datenströme der drei Farbkanäle der drei Farb-Sensorelement nicht
vor der Filterung zusammengeführt werden, sondern dass der Filter so ausgestaltet
ist, dass erst beim Filtervorgang die entsprechenden Bildpunkte aus den drei Datenströmen
bzw. drei Farbauszügen ausgewählt werden. Hierdurch erfolgt die Auswahl
der Bildpunkte der drei Farbauszüge und die Korrektur der mit dem Sensor
8 erfassten Signale der Bildpunkte gleichzeitig in einem einzigen Arbeitsschritt.
Der Sortiervorgang wird eingespart, wodurch in Echtzeit das Quellbild erzeugt werden
kann.
Zur einfachen Anwendung des Filters werden lediglich die Koordinatensysteme
der drei Farbauszüge gleichmäßig zueinander ausgerichtet. Bei dem
oben erläuterten Ausführungsbeispiel, bei welchem die Farbauszüge
jeweils um 15 Bildpunkte bzw. 30 2/3 Bildpunkte versetzt sind, wird z.B. das Koordinatensystem
des grünen Farbauszuges um 15 Bildpunkte zunächst zum roten und das Koordinatensystem
des blauen Farbauszuges um 30 Bildpunkte in Richtung zum roten Farbauszug verändert.
Hierzu müssen lediglich die Parameter der Koordinatenachsen entsprechend verändert
werden. Diese Anpassung kann sehr schnell erfolgen. Diese Anpassung bzw. die Ausrichtung
der Koordinatensysteme wird nur bezüglich ganzzahliger Bildpunkte ausgeführt.
Versätze um Bruchteile des Abstandes zweier benachbarter Bildpunkte werden
hierbei nicht korrigiert.
Die Erfindung wird nachfolgend anhand eines Beispieles mit einem FIR-Filter
erläutert, der in drei Teilfilter aufgeteilt wird, die jeweils auf einem Farbauszug
angewandt werden.
Weiterhin ist bei der Gestaltung des Filters zu berücksichtigen,
dass während des Filtervorganges eine Interpolation durchzuführen ist.
Da die Bildpunkte im Zielbild nicht immer im gleichen Raster wie die Bildpunkte
im Quellbild angeordnet sind, kann nicht immer ein bestimmter Bildpunkt des Quellbildes
auf einen bestimmten Bildpunkt des Zielbildes abgebildet werden. Sondern es muss
ein fiktiver Bildpunkt des Quellbildes auf einem Bildpunkt des Zielbildes abgebildet
werden, wobei der fiktive Bildpunkt des Quellbildes zwischen zwei tatsächlich
erfassten Bildpunkten des Quellbildes liegen kann. Um diesen fiktiven Bildpunkt
zu erhalten, ist eine Interpolation notwendig. Deshalb werden beim vorliegenden
Ausführungsbeispiel mehrere Sätze von je drei Teilfiltern erzeugt, mit
welchen jeweils ein unterschiedlicher Interpolationsschritt erfolgt.
Nachfolgend wird die herkömmliche Anwendung eines Filters mit
sechs Filterkoeffizienten a1, a2, ..., a6 auf Bildpunkte im Quellbild dargestellt:
a1 r0
a2 b0
a3 g0
a4 r1
a5 b1
a6 g1
0. r2
0. b2
0. g2
Die oben aufgeführten Produkte a1 r0, a2 b0, ..., a6 g1 sind
miteinander zu addieren und ergeben den Grauwert eines Bildpunktes im Zielbild,
der auf der Position eines fiktiven Bildpunktes im Quellbild exakt zwischen den
Bildpunkten g0 und r1 angeordnet ist.
Mit dem folgenden Filter wird ein fiktiver Bildpunkt, der bezüglich
der Mitte zwischen den Bildpunkten g0 und r1 des Quellbildes um eine Distanz von
1/11 in Richtung zum Bildpunkt r1 verschoben ist, auf einen Bildpunkt
in der entsprechenden Position des Zielbildes abgebildet:
0.909091 a1 r0
(0.0909091 a1 + 0.909091 a2) b0
(0.0909091 a2 + 0.909091 a3) g0
(0.0909091 a3 + 0.909091 a4) r1
(0.0909091 a4 + 0.909091 a5) b1
(0.0909091 a5 + 0.909091 a6) g1
0.0909091 a6 r2
0. b2
0. g2
Bei einer weiteren Verschiebung des fiktiven Bildpunktes um 1/11 des
Abstandes zweier benachbarter Bildpunkte im Quellbild ergibt sich folgender Filter:
0.818182 a1 r0
(0.181818 a1 + 0.818182 a2) b0
(0.181818 a2 + 0.818182 a3) g0
(0.181818 a3 + 0.818182 a4) r1
(0.181818 a4 + 0.818182 a5) b1
(0.181818 a5 + 0.818182 a6) g1
0.181818 a6 r2
0. b2
0. g2
Entsprechende Filter werden für die weiteren Verschiebungen des
fiktiven Bildpunktes um jeweils eine Distanz von jeweils 1/11 des Abstandes zweier
benachbarter Bildpunkte des Quellbildes erzeugt. Beim vorliegenden Ausführungsbeispiel
wird das bilineare Interpolationsverfahren angewandt. Es sind jedoch auch noch andere
Interpolationsverfahren hinlänglich bekannt.
Bei einer Verschiebung des fiktiven Bildpunktes um einen ganzen Abstand
(11/11) zweier benachbarter Bildpunkte des Quellbildes ergibt sich wieder der erste
Filter, der nun auf die Folge der Bildpunkte des Quellbildes angewandt wird, die
mit b0 beginnt und bei r2 endet:
0. r0
a1 b0
a2 g0
a3 r1
a4 b1
a5 g1
a6 r2
0. b2
0. g2
Bei einem weiteren Versatz um exakt einen ganzen Abstand zwischen
zwei benachbarten Bildpunkten des Quellbildes ergibt sich die folgende Anwendung
des Filters auf die Bildpunkte:
0. r0
0. b0
a1 g0
a2 r1
a3 b1
a4 g1
a5 r2
a6 b2
0. g2
In den obigen Darstellungen ist jeweils die vollständige Sequenz
von r0 bis g2 aufgeführt, wobei die Bildpunkte des Quellbildes, auf die keiner
der Filterkoeffizienten a1 bis a6 angewandt wird, mit dem Faktor 0 multipliziert
werden. Diese zusätzlichen Produkte mit dem Faktor 0 sind für die Ausführung
der Abbildung der Bildpunkte des Quellbildes auf Bildpunkte des Zielbildes ohne
physikalische Bedeutung. Sie sind jedoch für die Erstellung der Teilfilter
wichtig.
Bei der Erstellung der Teilfilter wird ausgegangen von Filteranwendung
für eine jede Interpolationsverschiebung und für eine
jede Farbe. Im vorliegenden Ausführungsbeispiel gibt es insgesamt elf Interpolationsverschiebungen
für drei Farben, so dass insgesamt 33 derartige Filteranwendungen zu erstellen
sind. Bei einer anderen Wahl von Interpolationsschritten, die an sich beliebig ist,
bzw. bei einem anderen Sensor mit einer anderen Anzahl von Farbsensorelementen ist
die Anzahl der Filteranwendungen entsprechend abzuändern.
Die 33 Teilfilter werden mit F1r, F1b, F1g, F2r, F2b, F2g, F33r, F33b,
F33g bezeichnet, wobei die Zahl in dieser Bezeichnung den Interpolationsschritt
bezeichnet und der Buchstabe die jeweilige Farbe angibt, auf welchen Farbauszug
der Filter anzuwenden ist.
Aus einer jeden Filteranwendung werden drei Teilfilter erzeugt, indem
die Koeffizienten, die mit dem Bildpunkt einer bestimmten Farbe multipliziert werden
dem Teilfilter mit der entsprechenden Farbe zugeordnet werden. Aus der oben als
erstes aufgeführten Filteranwendung ohne Interpolationsverschiebung werden
die Koeffizienten a1, a4, 0 dem Filter F1r zugeordnet. Somit ergeben sich aus der
oben aufgeführten ersten Filteranwendung die folgenden drei Teilfilter F1r,
F1b, F1g:
Die Filter für die erste Interpolationsverschiebung lauten dementsprechend:
Die Teilfilter für die elfte Verschiebung lauten folgendermaßen:
Die Erzeugung der Teilfilter kann folgendermaßen kurz zusammengefasst
werden:
Es werden die Scalarprodukte eines Vektorproduktes des Vektors des Filters mit einem
Vektor umfassend die entsprechenden Bildpunkte des Quellbildes erstellt, wobei die
Scalarprodukte für eine jede Anwendung des Filters auf eine jede Interpolationsverschiebung
erstellt werden. Diese Scalarprodukte werden jeweils für eine vollständige
Sequenz von Bildpunkten betrachtet, die mehrere vollständige Sätze von
Bildpunkten umfasst, wobei ein Satz Bildpunkte jeweils exakt einem Bildpunkt der
unterschiedlichen Farbtypen aufweist (r, b, g). Die Bildpunkte, die mit keinem Filterkoeffizienten
multipliziert sind, werden mit 0 multipliziert. Die Teilfilter umfassen als Koeffizienten
die Faktoren der Scalarprodukte eines solchen Vektorproduktes, die mit jeweils einem
Bildpunkt einer bestimmten Farbe multipliziert sind. Diese Faktoren werden in der
selben Anordnung wie im Vektorprodukt im Teilfilter übernommen. Werden nun
entsprechende Sequenzen in den unterschiedlichen Farbauszügen mit den entsprechenden
Teilfiltern multipliziert (Vektorprodukt) und werden die sich hieraus ergebenden
Werte addiert, so erhält man den Grauton für den entsprechenden Bildpunkt
im Zielbild. Man kann also die Teilfilter unmittelbar auf die einzelnen Farbauszüge
anwenden, ohne dass man die Farbauszüge zu einer einheitlichen Dateneinheit
vermischt. Dies erspart zum einem den entsprechenden Sortiervorgang. Zudem wird
beim Anwenden von drei kleinen Teilfiltern wesentlich weniger Rechenleistung als
beim Anwenden eines wesentlich größeren Gesamtfilters benötigt. Hierdurch
wird die automatische Abarbeitung des erfindungsgemäßen Verfahrens wesentlich
beschleunigt.
In 4 ist in einem Blockschaltbild eine
Vorrichtung zum Ausführen des erfindungsgemäßen Verfahrens schematisch
dargestellt. Diese Vorrichtung weist einen Spaltenzähler 15 und einen
Zeilenzähler 16 auf. Der Spaltenzähler 15 zählt
die Spalten im Zielbild. Der Zeilenzähler 16 zählt die Zeilen
im Zielbild. Wenn der Spaltenzähler 15 einmal alle Spalten im Zielbild
durchgezählt hat, dann zählt der Zeilenzähler um eine Zeile weiter.
Somit werden die Bildpunkte des Zielbildes zeilenweise aufeinanderfolgend durchgezählt.
Diese beiden Zähler 15, 16 geben somit vor, bei welchem Bildpunkt
im Zielbild die Abbildung aus dem Quellbild ausgeführt werden soll.
Dem Spaltenzähler 15 und dem Zeilenzähler
16 ist jeweils ein Multiplikator 17, 18 nachgeschaltet,
mit welchem die Spaltenzahl bzw. die Zeilenzahl mit einem korrespondierenden Skalierungsfaktor
multipliziert werden. Der Skalierungsfaktor stellt die Schrittweite im Quellbild
dar, so dass der Abstand zweier Bildpunkte im Zielbild, d.h. der Abstand zwischen
zwei benachbarten Spalten bzw. Zeilen, auf das Quellbild in der Einheit des Abstandes
zweier benachbarter Bildpunkte im Quellbild abgebildet werden.
Dem Multiplikatoren 17, 18 sind jeweils Addierer
19, 20 nachgeschaltet, die zu der jeweiligen Spalten- bzw. Zeilenzahl
jeweils eine Startkoordinate hinzu addieren. Bei dieser Startkoordinate wird zum
einem der Bildausschnitt im Quellbild festgelegt, der auf das Zielbild abgebildet
werden soll. Zum anderen zentriert die Startkoordinate die FIR-Filter um den jeweiligen
Bildpunkt im Quellbild, was unten näher erläutert wird. Die derart korrigierten
Spalten- und Zeilenzahlen werden jeweils einem Korrekturdatengenerator
21, 22 und einem Addierer 23, 24 zugeführt.
Die Korrekturdatengeneratoren 21, 22 berechnen anhand einer vorgegebenen
Funktion oder einer Look-up-Tabelle aus der zugeführten Spalten- und Zeilenzahl
einen Korrekturwert der z.B. einen Verzeichnungsfehler korrigiert, der bei der Erzeugung
des Quellbildes durch Verwendung einer bestimmten Optik hervorgerufen wird. Diese
Korrekturwert wird dem jeweiligen Addierer 23, 24 zugeführt
und mit der entsprechenden Spalten- bzw. Zeilenzahl addiert. Die derart erhaltene
Spalten- und Zeilenzahl gibt die Koordinate im Quellbild an, ab der der oben erläuterte
FIR-Filter zur Berechnung des Bildpunktes des Zielbildes mit den vom Spaltenzähler
15 und Zeilenzähler 16 vorgegebenen Spalten- und Zeilenzahl
berechnen kann.
Dem Addierer 23 folgt ein Element zur Alignment-Korrektur
25 und in einer Abzweigung ein Subtrahierer 26. Das Element zur
Alignment-Korrektur 25 und der Subtrahierer 26 werden zunächst
bei der Erläuterung der erfindungsgemäßen Vorrichtung nicht berücksichtigt.
Über diese Abzweigung, die zu den FIR-Filterteiltabellen 27a,
27b, 27c führt, wird den FIR-Filterteiltabellen
27a, 27b, 27c der gebrochene Anteil der Spaltenzahl zugeführt.
Dem Addierer 24 sind in entsprechender Weise die FIR-Filterteiltabellen
28a, 28b, 28c nachgeordnet, denen der gebrochene Anteil
der Zeilenzahl zugeführt wird. Die ganzzahligen Anteile der Spaltenzahl bzw.
der Zeilenzahl werden einem Addierer 29 bzw. 30 zugeführt.
Zwischen den Addierern 29, 30 und den FIR-Filterteiltabellen
27a, 27b, 27c, 28a, 28b,
28c ist jeweils ein lokaler Spaltenzähler 31 bzw. ein lokaler
Zeilenzähler 32 zwischengeschaltet. Beim Anlegen einer bestimmten
Spalten- bzw. Zeilenzahl an die Addierer 29, 30 zählen der
lokale Spaltenzähler 31 und der lokale Zeilenzähler
32 jeweils von 0 bis n-1, wobei n die Anzahl der Filterkoeffizienten ist.
Die Zählerzahl i des lokalen Spaltenzählers 15 wird an die FIR-Filterteiltabellen
27a, 27b, 27c weitergegeben und demgemäss (i-ter
Filterwert) wird aus dem dem zweiten gebrochenen Anteil korrespondierenden Filter
der entsprechende Filterwert ausgewählt, d.h. dass der FIR-Teilfilter anhand
des gebrochenen Anteils (entspricht der Interpolationsverschiebung) ausgewählt
wird und dann aus dem jeweiligen FIR-Teilfilter der Filterkoeffizient ausgelesen
wird. Hierbei werden jeweils ein Filterwert aus den drei FIR-Teilfiltern
27a, 27b, 27c ausgelesen.
In entsprechender Weise werden bei den FIR-Teilfiltertabellen
18a, 18b, 18c die Filterwerte in Abhängigkeit des
gebrochenen Anteils und des Zählerwertes des lokalen Zeilenzählers
32 ausgewählt. Der Zählerwert des lokalen Spaltenzählers
31 wird am Addierer 29 der ganzzahligen Spaltenzahl hinzuaddiert,
wodurch die dem korrespondierenden Filterwert entsprechende Spaltenzahl berechnet
wird. In entsprechender Weise wird der Zählerwert des lokalen Zeilenzählers
32, der dem Addierer 30 zugeführten ganzzahligen Zeilenzahl
hinzugefügt. Jeweils ein Ausgangswert des Addierers 29 (Spaltenzahl)
und ein Ausgangswert des Addierers 30 (Zeilenzahl) bilden ein Koordinatenpaar,
das einem Adressgenerator 33 zugeführt wird. Im Adressgenerator
33 werden diese Koordinaten in korrespondierende Adressdaten umgesetzt,
die die Adresse in Bildspeichern 20a, 20b, 20c angeben.
Die Bildspeicher 20a, 20b, 20c enthalten die Farbauszüge
des Quellbildes und die vom Adressgenerator 33 erzeugten Adressen bezeichnen
in den Bildspeichern 20a, 20b, 20c die Daten der Farbauszüge,
die den dem Adressgenerator 33 zugeführten Koordinatenpaaren entsprechen.
Aus den Bildspeichern 34a, 34b, 34c werden dann die entsprechenden
Werte ausgelesen, zunächst an erste Multiplizierer 35a,
35b, 35c mit den Filterwerten aus den FIR-Teilfiltertabellen
28a, 28b, 28c und dann an zweiten Multiplizieren
36a, 36b, 36c mit den Filterwerten aus den FIR-Teilfiltertabellen
27a, 27b, 27c multipliziert. Zum Berechnen eines Bildpunktes
wird der lokale Spaltenzähler 31 für einen jeden Schritt im lokalen
Zeilenzähler 32 einmal durchlaufen, d.h., dass nach jedem Durchlauf
des lokalen Spaltenzählers 31 der lokale Zeilenzähler
32 um eins erhöht wird. Die hierbei ermittelten Werte werden in Teilakkumulatoren
37a, 37b, 37c zu Teilwerten aufsummiert und dann werden
die aufsummierten Werte einem Akkumulator 38 zugeführt, mit dem die
drei Teilwerte aufsummiert werden. Der Gesamtwert stellt den Grauwert
des Bildpunktes im Zielbild dar, der durch die vom Spaltenzähler
15vorgegebene Spaltenzahl und die vom Zeilenzähler 16 vorgegebene
Zeilenzahl definiert ist.
Nach Ausgabe (Ausgabe 39) des entsprechenden Grauwertes wird
der Spaltenzähler 16 um eins erhöht und ein erneuter Grauwert
berechnet, wobei der lokale Spaltenzähler 31 und der lokale Zeilenzähler
32 erneut einmal ihren Wertebereich durchlaufen.
Ist der Spaltenzähler an der letzten Spalte angelangt, so wird
er wieder auf O gesetzt und beginnt bei der ersten Spalte und der Zeilenzähler
wird um eins erhöht. Sind sowohl der Spaltenzähler als auch der Zeilenzähler
an ihren Maximalwerten angelangt, so ist das vollständige Zielbild berechnet.
Da FIR-Filter separierbar sind, können die erfindungsgemäßen
Filterberechnungen gleichzeitig sowohl in Spalten- als auch in Zeilenrichtung ausgeführt
und durch aufeinander folgendes Multiplizieren an den ersten und zweiten Multiplizierern
35a, 35b, 35c, 36a, 36b,
36c überlagert werden.
Mit dem oben erläuterten Element 25 zur Alignment-Korrektur
kann die Eigenschaft von Rechnern ausgenutzt werden, dass sie in der Regel mit 32
Bit umfassenden Datenwörtern arbeiten obwohl nur 8 Bit zur Beschreibung eines
Bildpunktes benötigt werden. Mit dem Lesen eines Datenwortes können somit
die Werte von vier Bildpunkten mit einem Zugriff geholt werden. Das Element zur
Alignment-Korrektur berücksichtigt dies und setzt die Spaltenzahl derart, dass
am Adressgenerator 33 die nächst kleinere durch 4 teilbare Adresse
anliegt. Diese Abrundung hat die Wirkung einer Verschiebung nach links.
Diese Verschiebung könnte durch eine entsprechende Multiplexereinrichtung
wieder rückgängig gemacht werden, die diese Verschiebung wieder ausgleicht.
Eleganter ist es jedoch, diese ganzzahlige Verschiebung gemeinsam mit der Subbildpunktverschiebung
im Filter zu bearbeiten und mit den ohnehin vorhandenen FIR-Teilfiltertabellen zu
kompensieren. Hierzu erzeugt der Differenzierer 26 die Differenz zwischen
der am Adressengenerator 33 anliegenden Spaltenzahl und der vom Addierer
23 ausgegebenen Spaltenzahl. Die Differenz ergibt dann die Summe einer
ganzzahligen Verschiebung und der durch den gebrochenen Anteil gebildeten Subbildpunktverschiebung.
Mit dem Filter wird somit nicht nur die Subbildpunktverschiebung sondern auch die
Verschiebung um mehrere Bildpunkte entsprechend der Abrundung der Speicherzugriffsadresse
ausgeführt.
Die oben an Hand von 4 beschriebene Vorrichtung
ist eine Hardware-Schaltung zum Abbilden eines Quellbildes auf ein Zielbild. Diese
Hardware-Schaltung ist aus einfachen Standardkomponenten ausgebildet, weshalb sie
kostengünstig herstellbar ist. Sie erlaubt zudem eine sehr schnelle Abbildung
des Quellbildes auf das Zielbild.
Die Erfindung kann selbstverständlich auch durch ein Datenverarbeitungsprogramm
realisiert werden, das auf einem entsprechenden Mikroprozessor zur Ausführung
gebracht wird.
Das erfindungsgemäße Verfahren ist zur Anwendung in einem
Scanner, insbesondere einem Hochleistungsscanner, vorgesehen, mit welchem die Abtastgeschwindigkeit
von 800 Blatt DIN A4 pro Minute auf 2400 Blatt DIN A4 gesteigert werden kann, wobei
jedes Blatt abgetastet, interpoliert und mit einer entsprechenden Übertragungsfunktion
korrigiert wird.
Das erfindungsgemäße Prinzip kann auch auf anderen Anwendungsgebieten,
wie zum Beispiel bei digitalen Photoapparaten zum Erzeugen von Schwarz-/Weiß-Bildern
eingesetzt werden.
Die vorliegende Erfindung stellte eine Weiterentwicklung der Erfindung
aus der PCT/EP2005/012882 dar. Auf die PCT/EP2005/012882 wird deshalb vollinhaltlich
Bezug genommen und sie wird in die vorliegende Patentanmeldung inkorporiert.
Die Erfindung ist oben anhand eines Beispiels beschrieben worden,
bei welchem mittels dreier Zeilenarrays, die jeweils zum Detektieren einer unterschiedlichen
Farbe ausgebildet sind, drei Farbauszüge erzeugt werden, die dann auf ein Schwarz-/Weiß-Bild
abgebildet werden.
Die Erfindung kann folgendermaßen kurz zusammengefasst werden:
Die Erfindung betrifft ein Verfahren und eine Vorrichtung zum Scannen eines Bildes,
wobei ein Quellbild mittels eines Farbsensors erfasst wird. Der Farbsensor weist
mehrere Zeilenarrrays auf, die jeweils zum Detektieren einer bestimmten
Farbe ausgebildet sind. Mit diesen Zeilenarrays werden Farbauszüge erzeugt.
Erfindungsgemäß werden auf die Farbauszüge separate FIR-Teilfilter
angewandt, ohne dass die Farbauszüge zuvor zu einem vollständigen Farbbild
gemischt werden. Das Mischen der Bildpunkte erfolgt automatisch beim Filtern.
Hierdurch ist es möglich, dass die mehreren Zeilenarrays simultan
Bildpunkte des Quellbildes abtasten und diese Bildpunkte in Echtzeit auf Bildpunkte
eines Zielbildes abgebildet werden können.
1
Kopierer
2
Scanner
3
Drucker
4
Steuereinheit
5
Bedienungseinheit
6
externes Netzwerk
7
Speicher
8
Sensor
9
Taktsignalleitung
10
Signalleitung
11
Objektiv
12
Farbfilter
13
Quellbild
14
Bildpunkt
15
Spaltenzähler
16
Zeilenzähler
17
Multiplizierer
18
Multiplizierer
19
Addierer
20
Addierer
21
Korrekturdatengenerator
22
Korrekturdatengenerator
23
Addierer
24
Addierer
25
Alignment-Einheit
26
Subtrahierer
27a
FIR-Filtertabelle R
27b
FIR-Filtertabelle G
27c
FIR-Filtertabelle B
28a
FIR-Filtertabelle R
28b
FIR-Filtertabelle G
28c
FIR-Filtertabelle B
29
Addierer
30
Addierer
31
lokaler Spaltenzähler
32
lokaler Zeilenzähler
33
Adressgenerator
34a
Bildspeicher R
34b
Bildspeicher G
34c
Bildspeicher B
35a
Multiplizierer
35b
Multiplizierer
35c
Multiplizierer
36a
Multiplizierer
36b
Multiplizierer
36c
Multiplizierer
37a
Teilakkumulator
37b
Teilakkumulator
37c
Teilakkumulator
38
Akkumulator
39
Ausgabe
Anspruch[de]
Verfahren zum Scannen eines Bildes mit folgenden Schritten:
– Abtasten eines Quellbildes mit einem Sensor (8), der mehrere Zeilenarrays
umfasst, die jeweils zum Detektieren einer bestimmten Farbe ausgebildet sind, so
dass von jedem Zeilenarray ein Farbauszug eines abzutastenden Quellbildes erzeugt
wird, die das Quellbild in Form von Bildpunkten darstellen, wobei die Bildpunkte
der unterschiedlichen Farbauszüge eines bestimmten Quellbildes zueinander etwas
versetzt sind,
– separates Filtern der Farbauszüge mit mehreren FIR-Teilfiltern und
Summieren der gefilterten Bildpunkte des Quellbildes der mehreren Farbauszüge
zu Bildpunkten eines Zielbildes, wobei als Zielbild ein Schwarz/Weiß-Bild erzeugt
wird.Verfahren nach 1, dadurch gekennzeichnet, dass beim Filtern eine Interpolation
von den Bildpunkten des Quellbildes auf die Bildpunkte des Zielbildes ausgeführt
wird.Verfahren nach 2, dadurch gekennzeichnet, dass beim Filtern eine Korrektur
des abgetasteten Quellbildes, insbesondere eine Korrektur der unterschiedlichen
Empfindlichkeiten der Zeilenarrays und/oder eine Korrektur des Frequenzganges des
abgetasteten Quellbildes ausgeführt wird.Verfahren nach einem der Ansprüche 1 bis 3, dadurch gekennzeichnet,
dass die Bildpunkte der Farbauszüge eines bestimmten Quellbildes zueinander
um jeweils einen Abstand versetzt sind, der dem Abstand zweier benachbarter Bildpunkte
in einem Farbauszug geteilt durch die Anzahl der Farbauszüge entspricht.Verfahren nach einem der Ansprüche 1 bis 4, dadurch gekennzeichnet,
dass drei Farbauszüge in den Farben Rot, Grün und Blau erzeugt werden.Verfahren nach einem der Ansprüche 1 bis 5, dadurch gekennzeichnet,
dass die FIR-Teilfilter mit folgenden Schritten erzeugt werden:
– Es werden die Scalarprodukte eines Vektorproduktes des Vektors eines vorbestimmten
FIR-Filters mit einem Vektor umfassend die entsprechenden Bildpunkte des Quellbildes
erstellt, wobei die Scalarprodukte für eine jede Anwendung des FIR-Filters
auf vorbestimmte Interpolationsverschiebungen erstellt werden;
– Diese Scalarprodukte werden jeweils für eine vollständige Sequenz
von Bildpunkten des Quellbildes betrachtet, die mehrere vollständige Sätze
von Bildpunkten umfasst, wobei ein Satz Bildpunkte jeweils exakt einen Bildpunkt
der unterschiedlichen Farben (r, b, g) aufweist;
– Die Bildpunkte, die mit keinem Filterkoeffizienten multipliziert sind,
werden mit 0 multipliziert;
– Die Teilfilter umfassen als Koeffizienten die Faktoren der Scalarprodukte
eines solchen Vektorproduktes, die mit jeweils einem Bildpunkt einer bestimmten
Farbe multipliziert sind und diese Faktoren werden in der selben Anordnung wie im
Vektorprodukt im Teilfilter übernommen.Vorrichtung zum Scannen eines Bildes mit
– einem Sensor (8), der mehrere Zeilenarrays zum Abtasten eines
Quellbildes umfasst, die jeweils zum Detektieren einer bestimmten Farbe ausgebildet
sind, so dass von jedem Zeilenarray ein Farbauszug eines abzutastenden Quellbildes
erzeugt wird, die das Quellbild in Form von Bildpunkten darstellen, wobei die Bildpunkte
der Farbauszüge eines bestimmten Quellbildes zueinander etwas versetzt sind,
und
– einer Steuereinheit (4), die derart ausgebildet ist, dass auf
die Farbauszüge jeweils ein FIR-Teilfilter angewendet wird, um die Bildpunkte
der mehreren Farbauszüge auf ein einzelnes Zielbild abzubilden, wobei als Zielbild
ein Schwarz/Weiß-Bild erzeugt wird.Vorrichtung nach Anspruch 7, dadurch gekennzeichnet, dass die Steuereinheit
(4) zum Ausführen des Verfahrens nach einem der Ansprüche 1 bis
6 ausgebildet ist.Vorrichtung nach Anspruch 7 oder 8, dadurch gekennzeichnet, dass die
Steuereinheit als Hardwareschaltung ausgebildet ist,
umfassend
– einen Spaltenzähler (15), dem ein Multiplizierer (12)
zum Multiplizieren der Spaltenzahl mit einem Scalierungsfaktor nachgeschaltet ist,
– einen Zeilenzähler (16), dem ein Multiplizierer (18)
zum Multiplizieren mit einem Scalierungsfaktor nachgeschaltet ist,
– Korrekturmittel für die Spaltenzahl und Zeilenzahl (19,
20, 21, 22, 23, 24),
– der Spaltenzahl zugeordnete FIR-Teilfiltertabellen (27a,
27b, 27c), – der Zeilenzahl zugeordnete FIR-Teilfiltertabellen (28a,
28b, 28c),
– einen lokalen Spaltenzähler (31), anhand dessen Wert die
entsprechenden Filterkoeffizienten aus den FIR-Teilfiltertabellen (27a,
27b, 27c) ausgelesen werden und dessen Wert der Spaltenzahl mittels
eines Addierers (29) hinzu addiert wird,
– einen lokalen Zeilenzähler (32) anhand dessen Wert die Filterkoeffizienten
der FIR-Filtertabelle (18a, 28b, 28c) ausgelesen werden
und dessen Wert der Zeilenzahl mittels eines Addierers (30) hinzu gezählt
wird,
– einen Adressgenerator (33), der an Hand der korrigierten und durch
den lokalen Spaltenzähler beziehungsweise lokalen Zeilenzähler ergänzten
Spalten-/Zeilenzahl eine Adresse für Bildspeicher (34a,
34b, 34c) erzeugt, in denen die Farbauszüge des Quellbilds
gespeichert sind,
– zwei Sätze von Multiplizierern (35a, 35b,
35c; 36a, 36b, 36c), die die Werte der durch
den Adressgenerator (33) erzeugten Adresse vorgegebenen Bildpunkte der
Farbauszüge mit den Filterkoeffizienten multiplizieren, und
– Akkumulatoren (37a, 37b, 37c, 38),
die alle mit den Filterkoeffizienten multiplizierten Bildwerte für einen Durchlauf
des lokalen Spaltenzählers für einen jeden Wert des lokalen Zeilenzählers
aufsummieren.Vorrichtung nach Anspruch 7 oder 8, dadurch gekennzeichnet, dass Steuereinheit
(40) einen Mikroprozessor aufweist, in dem ein Datenverarbeitungsprogramm
zum Ausführen des Verfahrens nach einem der Ansprüche 1 bis 6 gespeichert
und ausführbar ist.Vorrichtung nach Anspruch 7 oder 8, dadurch gekennzeichnet, dass die
Vorrichtung einen Mikroprozessor aufweist und ein Datenverarbeitungsprogramm zum
Berechnen der Filterkoeffizienten gespeichert und ausführbar ist.Scanner mit einer Vorrichtung nach einem der Ansprüche 7 bis 11.