Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
IMAGE PROCESSING DEVICE FOR COLOUR IMAGE DATA AND METHOD FOR PROCESSING COLOUR IMAGE DATA
Document Type and Number:
WIPO Patent Application WO/2008/019867
Kind Code:
A2
Abstract:
The aim of the invention is to provide a more effective conversion of colour image data, said conversion being simplified to such an extent that it can be implemented as hardware. To achieve this, the invention discloses a digital image processing device comprising a Bayer sensor and an image memory, in which the image data of the sensor are written to an image memory and image data is taken from said image memory in Bayer format with a length L and a width B and continuously written to a data buffer, and in which the scanned values are combined using an arithmetic unit with the aid of a digital adder, in each case symmetrically to a central point of one or more (2n+1) x (2n+1) contiguous regions. The arithmetic unit is then used to derive one or more (n+1)x(n+1) matrices from said combination and at least one n x n matrix is formed from said (n+1)x(n+1) matrix or matrices with the aid of additional digital adders. A first colour component is then calculated from the or each n x n matrix with the aid of a digital adder network.

Inventors:
RÜCKERT, Ingo (Hauptstrasse 307c, Burkau, 01906, DE)
VIETZE, Oliver (Oberfeldstrasse 20, Frauenfeld, CH-8500, CH)
Application Number:
EP2007/007289
Publication Date:
February 21, 2008
Filing Date:
August 17, 2007
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
BAUMER OPTRONIC GMBH (Badstrasse 30, Radeberg, 01454, DE)
RÜCKERT, Ingo (Hauptstrasse 307c, Burkau, 01906, DE)
VIETZE, Oliver (Oberfeldstrasse 20, Frauenfeld, CH-8500, CH)
International Classes:
H04N9/04; G06T3/40
Attorney, Agent or Firm:
HERDEN, Andreas (Blumbach & Zinngrebe, Alexandrastrasse 5, Wiesbaden, 65187, DE)
Download PDF:
Claims:
Patentansprüche

1. Digitale Bildverarbeitungsvorrichtung mit einem Bayer- Sensor und einem Bildspeicher, wobei die Bilddaten des

Sensors in einem Bildspeicher geschrieben werden und aus diesem Bildspeicher Bilddaten im Bayerformat mit einer Länge L und einer Breite B fortlaufend in einen Datenpuffer geschrieben werden und die Abtastwerte mittels einer Recheneinrichtung mithilfe von

Addierwerken jeweils symmetrisch zu einem Zentralpunkt von einer oder mehreren (2n+l) x (2n+l) Nachbarschaften zusammengefasst werden, und mittels der Recheneinrichtung daraus eine oder mehrere (n+l)x(n+l) Matrizen abgeleitet werden und daraus jeweils mittels eines Addiernetzwerks durch Faltung der oder dieser Matrizen oder zumindest einer daraus abgeleiteten Matrix mit einem Convolver eine erste Farbkomponente berechnet wird.

2. Digitale Bildverarbeitungsvorrichtung gemäß einem der vorstehenden Ansprüche, dadurch gekennzeichnet, daß die Bildverarbeitungsvorrichtung ein Rechenwerk umfasst, welches aus der oder den (n+l)x(n+l) Matrix (en) mithilfe eines oder mehrerer weiterer Addierwerke mindestens eine n x n Matrix zu bilden und daraus jeweils mittels eines Addiernetzwerks eine erste Farbkomponente berechnet.

3. Digitale Bildverarbeitungsvorrichtung gemäß Anspruch 1, dadurch gekennzeichnet, dass mehrere, vorzugsweise vier phasenabhängig gemultiplexte Addiernetzwerke zur Berechnung der R, G, B Anteile einer zweiten und dritten Farbkomponente vorgesehen sind.

4. Digitale Bildverarbeitungsvorrichtung gemäß Anspruch 3, gekennzeichnet durch eine Einrichtung welche die R, G, B Anteile der zweiten und dritten Farbkomponente, vorzugsweise der Signale X und Z des XYZ-Farbraumes oder U, V des YUV-Farbraumes mit programmierbaren Gewichtsfaktoren multipliziert und anschließend zur zweiten und dritten Farbkomponente akkumuliert.

5. Digitale Bildverarbeitungsvorrichtung gemäß einem der vorstehenden Ansprüche, dadurch gekennzeichnet, daß die Abtastwerte mittels einer Recheneinrichtung mithilfe von Addierwerken jeweils symmetrisch zu einem Zentralpunkt von einer oder mehreren (2n+l) x (2n+l) Nachbarschaften mit n=3 zusammengefasst werden.

Digitale Bildverarbeitungsvorrichtung gemäß einem der

6. vorstehenden Ansprüche, dadurch gekennzeichnet, daß die Abtastwerte einer 7x7 Nachbarschaft zur Berechnung der ersten Farbkomponente mittels eines 7x7-Convolvers entsprechend der Gestalt

oder einem Convolver gefaltet werden, dessen Matrixwerte um jeweils maximal einen Faktor 1,5 gerundet auf die nächste ganze Zahl von den Werten des Convolvers YH Conv 7x7 abweichen.

7. Digitale Bildverarbeitungsvorrichtung gemäß dem vorstehenden Anspruch, dadurch gekennzeichnet, daß der

Convolver in Gestalt eines 4x4-Convolvers realisiert wird, welcher die Form

hat, oder bei welchem die Matrixwerte um jeweils maximal einen Faktor 1,5 gerundet auf die nächste ganze Zahl von den Werten des Convolvers YH_Conv_4x4 abweichen, und wobei der Convolver mit einer Matrix der Gestalt Acc 4x4 gemäß Anhang zur Beschreibung

gefaltet wird, wobei die Werte Pix a ,b die Bilddaten der Pixel in relativer Position a,b zum Zentralpunkt bezeichnen, wobei die Matrizen YH_Conv_4x4 und Acc_4x4 auch gleichartig permutiert sein können.

Digitale Bildverarbeitungsvorrichtung gemäß einem der vorstehenden Ansprüche, dadurch gekennzeichnet, daß die Bildverarbeitungsvorrichtung eine Recheneinrichtung aufweist, welche zu den Farbpixeln des Bayer-Pattern jeweils vollständige Farbvektoren durch Faltung der Nachbarschaft eines Farbpixels mit einer der Matrizen

erfolgt, wobei bei den Matrizen ColorMl und ColorM2 die Faltung mit der Matrix Acc 4x4 gemäß Anhang zur Beschreibung

und bei den Matrizen ColorM2 und ColorM3 mit der Matrix

erfolgt, wobei die Einträge in den Matrizen ColorMl und ColorM4 auch gleichartig mit den Einträgen der Matrix Acc_4x4 oder die Einträge in den Matrizen ColorM2 und ColorM3 auch gleichartig mit den Einträgen der Matrix Acc 3x3 permutiert sein können.

9. Digitale Bildverarbeitungsvorrichtung gemäß einem der vorstehenden Ansprüche, dadurch gekennzeichnet, daß eine Recheneinrichtung vorgesehen ist, welche aus interpolierten <R, G, B>-Farbvektoren, welche den Pixeln des Bayer Pattern zugeordnet sind, X, YL, Z-Farbwerte gemäß den Gleichungen

X = 144c χR R+ 144 c XG G + 144c χB B

YL = 36 c R R+ 72 c G G + 36 c ß B

Z = 144 c m R + 144 c ZG G + 144 C 73 B berechnet .

10. Digitale Bildverarbeitungsvorrichtung gemäß einem der vorstehenden Ansprüche, dadurch gekennzeichnet, daß die Bilddaten im Bayerformat mit einer Länge L von zumindest 32 Pixel und einer Breite B von zumindest 8 Pixel

fortlaufend in den Datenpuffer geschrieben werden.

11. Digitale Bildverarbeitungsvorrichtung gemäß einem der vorstehenden Ansprüche, dadurch gekennzeichnet, daß die Recheneinrichtung eingerichtet ist, aus der n x n Matrix zusätzlich zur ersten Farbkomponente ein vierte Farbkomponente mit gegenüber der ersten Farbkomponente geringerer Ortauflösung (YL) über ein weiteres Addernetzwerk zu berechnen und dass diese vierte Farbkomponente zur Berechnung einer Farbkorrektur verwendet wird, wobei ein aus einer Differenz der ersten und vierten Farbkomponente (YH-YL) , die mit unterschiedlichen Multiplikatoren bei der Differenzbildung gewichtet sein können, abgeleitetes Signal auf das Ausgangssignal addiert wird.

12. Digitale Bildverarbeitungsvorrichtung gemäß einem der vorstehenden Ansprüche, weiter umfassend ein vorzugsweise im Multifokusbetrieb rechnergesteuert einstellbares Objektiv, dadurch gekennzeichnet, daß zusätzlich zur ersten Farbkomponente ein vierte Farbkomponente mit gegenüber der ersten Farbkomponente geringerer Ortauflösung (YL) errechnet und das Differenzsignal zwischen der ersten Farbkomponente und der vierten Farbkomponente auf eine nichtlineare Funktion f (Contrast{x, y))= f (YH [x, y)- YL{x , y)) abgebildet wird , wobei YH(x,y) die erste Farbkomponente mit höherer Ortsauflösung und YL(x,y) die vierte Farbkomponente mit niedrigerer Ortsauflösung bezeichnen, wobei die nichtlineare Funktion so gewählt ist, daß sämtliche Werte der Funktion nicht negativ sind, wobei das sowohl das mit der nichtlinearen Funktion gewichtete digitale Farbbild als auch die Gewichte während eines

Fokussierzyklus in einem Speicher akkumuliert werden, und wobei nach Abschluß des Fokussierzyklus das akkumulierte Farbbild mit dem inversen Wert der akkumulierten Gewichte multipliziert wird.

13. Digitale Bildverarbeitungsvorrichtung gemäß einem der vorstehenden Ansprüche, gekennzeichnet durch ein telezentrisches Objektiv.

14. Digitale Bildverarbeitungsvorrichtung gemäß einem der vorstehenden Ansprüche, dadurch gekennzeichnet, daß die Bildverarbeitungsvorrichtung eingerichtet ist, die Farbkomponenten über programmierbare Gaineinstellungen auf eine Weißwert zu normieren und aus der ersten (YH) oder alternativ vierten Farbkomonente (YL) sowie der zweiten und der dritten Farbkomponente eine erste Datensequenz zu formatieren.

15. Digitale Bildverarbeitungsvorrichtung gemäß dem vorstehenden Anspruch, dadurch gekennzeichnet, daß diese erste Datensequenz mithilfe einer eingangsseitig angeordneten Conversion Table (LUT) , die die Empfindlichkeitskurve des menschlichen Auges enthält, auf eine zweite Datensequenz transformiert wird.

16. Digitale Bildverarbeitungsvorrichtung gemäß dem vorstehenden Anspruch, dadurch gekennzeichnet, daß die Bildverarbeitungseinrichtung eingerichtet ist, aus der zweiten Datensequenz eine dritte Datensequenz mit Signalen Y~, X~-Y~ und Z~-Y~ zu bilden und diese dritte Datensequenz mit programmierbaren Koeffizienten L_gain, a_gain und b_gain zu multiplizieren und zu diesen Produkten programmierbare Offsets zu addieren, so dass eine vierte Datensequenz entsteht, und für die X~-Y~ und Z~-Y~ zugeordneten Werte der vierten Datensequenz ein

Produkt aus der ersten Farbkomponente und L_gain zu addieren, so dass eine fünfte Datensequenz entsteht, diese fünfte Datensequenz mit der inversen Conversion Table oder einer adäquaten Näherung durch Potenzieren mit der dritten Potenz in den linearen Farbraum zurücktransformiert wird, so dass eine sechste Sequenz mit den Signalen X, Y, Z entsteht.

17. Digitale Bildverarbeitungsvorrichtung gemäß einem der vorstehenden Ansprüche, dadurch gekennzeichnet, dass die Bildverarbeitungsvorrichtung eingerichtet ist, zu den Abtastwerten des Sensors zwischen zwei aufeinanderfolgenden Zeilen und Spalten der Mittelwert zu berechnen und abzupeichern, so dass in einem Speicher ein Bild mit doppelter interpolierter Auflösung - entsteht, und dass eine Adressrecheneinheit eine zur Abtastung synchrone Folge von rationalen Abtastpunkten eines Zielrasters vorgibt, und dass von den vier für jedes Pixel zur Verfügung stehenden Farbkomponenten der Farbvektor ausgewählt wird, dessen Adresse dem Zielwert am nächsten kommt, und dass die so ausgewählten Farbwerte einer anschließenden Farbkorrektur unterzogen werden.

18. Digitale Bildverarbeitungsvorrichtung gemäß einem der vorstehenden Ansprüche, dadurch gekennzeichnet, dass ein Bilddatenstrom mit höherer Auflösung abgetastet und auf die doppelte Auflösung interpoliert wird und anschließend mit geringerer als die sensorseitige Auflösung an ein Endgerät ausgegeben wird.

19. Digitale Bildverarbeitungsvorrichtung gemäß einem der vorstehenden Ansprüche, dadurch gekennzeichnet, dass der Bilddatenstrom DCT codiert wird.

20. Digitale Bildverarbeitungsvorrichtung gemäß einem der vorstehenden Ansprüche, dadurch gekennzeichnet, dass der Datenpuffer einen Dual-Port-Ram umfasst.

21. Mikroskop mit einer digitalen Bildverarbeitungseinrichtung gemäß einem der vorstehenden Ansprüche.

Description:

Bildverarbeitungsvorrichtung für Farb-Bilddaten und Verfahren zur Bildverarbeitung von Farb-Bilddaten

Beschreibung

Die Erfindung betrifft allgemein die Verarbeitung von Farbbildern, insbesondere die Verarbeitung von Rohdaten in darstellbare Formate.

Die derzeit üblichen Farb-Bildsensoren arbeiten fast alle mit einer sogenannten Bayer-Matrix, beziehungsweise mit Bayer-Sensoren. Bei derartigen Sensoren ist eine Farbfilteranordnung auf der Sensorfläche angeordnet, wobei jedem Pixel ein Farbfilter für eine bestimmte Farbe vorgeschaltet ist und die Farben unterschiedlich gewichtet sind. Am gebräuchlichsten sind RGB-Farbfilter, wobei grüne Pixel doppelt so häufig vorliegen wie blaue und rote.

Die Rohdaten eines solchen Bildes sind auf Standard- Anzeigen jedoch nicht darstellbar. Es erfolgt dazu im allgemeinen daher eine Umrechnung, wobei die Signale mehrerer Pixel des Sensors interpoliert werden. Hierbei besteht allgemein das Problem, daß solche Umrechnungen Artefakte, wie etwa Farbsäume erzeugen können oder rechenintensiv sind, so daß sie unter anderem für eine

Echtzeit-Darstellung nicht geeignet sind. Zudem ist eine Umrechnung, etwa in RGB-Werte wie sie gebräuchliche Bildformate verwenden, verlustbehaftet. Der Erfindung liegt daher die Aufgabe zugrunde, eine effektivere Umrechnung von Farb-Bilddaten bereitzustellen, die so vereinfacht ist, daß sie sich ohne weiteres auch als Hardware implementieren

läßt und farbechte, artefaktärmere Darstellungen in Echtzeit erlaubt.

Zur Erzielung einer hohen Bildqualität von Single-Chip- Farbkameras ist eine präzise Verarbeitung der Sensorsignale grundlegende Voraussetzung. Hierzu werden zunehmend digitale Verfahren eingesetzt. In der Regel werden besonders hohe Anforderungen an die Qualität der Signalverarbeitung dann gestellt, wenn die Kameras z.B. für Bildverarbeitungsaufgaben oder zur Druckbildkontrolle eingesetzt werden, gleichzeitig wird die Verarbeitung in Echtzeit vorausgesetzt. Oftmals wird das Bild in Echtzeit gleichzeitig in mehreren Auflösungen benötigt, z.B. für die Bildverarbeitung in voller Auflösung und für die Darstellung in verminderter Auflösung.

Die Anforderungen bedingen ein Signalverarbeitungskonzept, das auf einer möglichst großen Nachbarschaft basiert, in der Regel sind dies bei hohen Qualitätsforderungen minimal 7x7 Bildpunkte (Pixel). Um eine solche Nachbarschaft zu verarbeiten ist es bekannt, z.B. n>= 7 Zeilenspeicher mit Bilddaten zu beschreiben und pro Pixeltakt in Spaltenrichtung 7 Pixel auszulesen. Dieses Konzept steht jedoch im Widerspruch zu einer effizienten Speicherorganisation moderner Bildspeicher, die DDRAM' s (double data rate random access memory) als Speicherbausteine enthalten, die mit hoher Effizienz nur zeilenorientierte Blockzugriffe realisieren können. Große integrierte SRAM- Bereiche erfordern Chipfläche und sind deshalb nachteilig.

Deshalb besteht die Aufgabe der Erfindung darin, zunächst ein optimiertes Speicherinterface zu schaffen, das in der Lage ist, sowohl den Betrieb mit DDRAM' s als Bildspeicher,

als auch die Bildung von großen Nachbarschaften der Größe ab 7x7 Pixel in Echtzeit zu unterstützen.

Die Erfindung sieht demgemäß eine digitale Bildverarbeitungsvorrichtung mit einem Bayer-Sensor und einem Bildspeicher vor, wobei die Bilddaten des Sensors in einem Bildspeicher geschrieben werden und aus diesem Bildspeicher Bilddaten im Bayerformat fortlaufend in einen Datenpuffer geschrieben werden und dass die Abtastwerte mittels einer Recheneinrichtung mithilfe von Addierwerken jeweils symmetrisch zu einem Zentralpunkt von einer oder mehreren (2n+l ) x (2n+l) Nachbarschaften zusammengefasst werden, und mittels der Recheneinrichtung daraus eine oder mehrere (n+l)x(n+l) Matrizen abgeleitet werden, und daraus oder mit zumindest einer daraus abgeleiteten Matrix jeweils mittels eines Addiernetzwerks eine erste Farbkomponente berechnet wird. Diese Farbkomponente kann insbesondere eine hochauflösende Komponente YH sein, welche die Grauwert-, beziehungsweise Helligkeitsverteilung im Bild wiedergibt. Es ist auch möglich, aus der oder den (n+l)x(n+l)

Matrix (en) mithilfe weiterer Addierwerke mindestens eine n x n Matrix zu bilden, wenn die (n+l)x(n+l) Matrix (en) symmetrisch sind. Die Berechnung der Matrixoperation erfolgt vorzugsweise durch Faltung mit einem geeigneten Convolver, insbesondere einem Convolver der Größe

(n+l)x(n+l), oder besonders bevorzugt, wenn die Matrix weiter in ihrer Größe reduzierbar ist, mit einem Convolver der Größe n x n.

Eine besonders effektive Berechnung gelingt dabei, wenn die Abtastwerte mittels einer Recheneinrichtung mithilfe von Addierwerken jeweils symmetrisch zu einem Zentralpunkt von einer oder mehreren (2n+l) x (2n+l) Nachbarschaften mit n=3, entsprechend also mittels eines 7x7-Convolvers zusammengefasst werden.

Mehrere, typisch 4, phasenabhängig gemultiplexte Addernetzwerke sind weiterhin zur Berechnung der R, G, B Anteile einer zweiten und dritten Farbkomponente (der Signale X und Z des XYZ-Farbraumes) vorhanden. Die R, G, B Anteile der zweiten und dritten Farbkomponente, vorzugsweise der Signale X und Z des XYZ-Farbraumes oder U, V des YUV-Farbraumes können dann mit programmierbaren Gewichtsfaktoren multipliziert und anschließend zur zweiten und dritten Farbkomponente akkumuliert werden.

Eine besonders effektive, schnelle Speichernutzung ergibt sich weiterhin, wenn die Bilddaten im Bayerformat mit einer Länge L von zumindest 32 Pixel, vorzugsweise genau 32 Pixel und einer Breite B von zumindest 8 Pixel, vorzugsweise genau 8 Pixel fortlaufend in den Datenpuffer geschrieben werden.

Es ist außerdem vorteilhaft, mittels der Recheneinrichtung aus der n x n Matrix zusätzlich zur ersten Farbkomponente ein vierte Farbkomponente mit gegenüber der ersten Farbkomponente geringerer Ortauflösung (YL) über ein weiteres Addernetzwerk zu berechnen. Diese vierte Farbkomponente kann anstelle der ersten Farbkomponente (YH) zur Berechnung einer Farbkorrektur verwendet werden, wobei ein aus der Differenz der ersten und -vorzugsweise gewichteten- vierten Farbkomponente (YH-YL) abgeleitetes Signal auf das korrigierte Ausgangssignal addiert wird. Die beiden Farbkomponenten YH und YL können dabei mit unterschiedlichen Multiplikatoren gewichtet sein, um die Größe der beiden Komponenten bei der Differenzbildung aufeinander abzustimmen. So ist in Weiterbildung vorgesehen, die Differenz YH-118*YL zu verwenden. Auf diese Weise kann ein einfacher, effektiver Schärfefilter realisiert werden.

Die Erfindung ist unter anderem hervorragend dazu geeignet, aus Bildserien tiefenscharfe Bilder zu erzeugen. Dazu ist in Weiterbildung der Erfindung eine digitale Bildverarbeitungsvorrichtung vorgesehen, die ein vorzugsweise im Multifokusbetrieb rechnergesteuert einstellbares Objektiv aufweist oder an eine Kamera mit einem solchen Objektiv angeschlossen ist. Dann kann die Bildverarbeitungsvorrichtung eingerichtet sein, zusätzlich zur ersten Farbkomponente ein vierte Farbkomponente mit gegenüber der ersten Farbkomponente geringerer Ortauflösung (YL) zu errechnen und das Differenzsignal zwischen der ersten Farbkomponent.e und der vierten Farbkomponente auf eine nichtlineare Funktion f (Contrast{x, y))= f (YH [x, y)- YL{x, y)) abzubilden, wobei YH(x,y) die erste Farbkomponente mit höherer Ortsauflösung und YL(x,y) die vierte Farbkomponente mit niedrigerer Ortsauflösung bezeichnen. Dabei wird die nichtlineare Funktion vorzugsweise so gewählt, daß sämtliche Werte der Funktion nicht negativ sind, wobei das sowohl das mit der nichtlinearen Funktion gewichtete digitale Farbbild als auch die Gewichte während eines Fokussierzyklus in einem Speicher akkumuliert werden, und wobei vorzugsweise nach Abschluß des Fokussierzyklus das akkumulierte Farbbild mit dem inversen Wert der akkumulierten Gewichte multipliziert wird.

Für das aufakummulierte Digitalbild I(x,y) gilt damit:

Dabei bezeichnet i den Bildindex der aufgenommenen Bilderserie und I(x,y) den Intensitätswert eines Pixels am Ort mit den Koordinaten x,y.

Diese Ausführungsform der Erfindung eignet sich insbesondere in Verbindung mit einem telezentrischen Objektiv als Optik für die Bildaufnahme. Eine bevorzugte Anwendung dieser Ausführungsform ist ein Mikroskop. Dieses kann dann mittels der Erfindung automatisiert tiefenscharfe Bilder liefern.

In Weiterbildung der Erfindung kann die

Bildverarbeitungsvorrichtung vorteilhaft eingerichtet sein, die Farbkomponenten über programmierbare Gain-Einstellungen auf einen Weißwert zu normieren und aus der ersten (YH) oder alternativ vierten Farbkomonente (YL) sowie der zweiten und der dritten Farbkomponente eine erste Datensequenz zu formatieren. Dies ist günstig, um eine möglichst authentische Darstellung der Farben der Bilddaten zu erreichen.

Insbesondere kann dazu vorteilhaft auch diese erste Datensequenz mithilfe einer eingangsseitig angeordneten Conversion Table (LUT) , die die Empfindlichkeitskurve des menschlichen Auges enthält, auf eine zweite Datensequenz transformiert werden. In Weiterbildung der Erfindung wird dann aus der zweiten Datensequenz dann eine dritte Datensequenz mit Signalen Y~, X ~ -Y~ und Z~-Y ~ gebildet und diese dritte Datensequenz mit programmierbaren Koeffizienten L_gain, a_gain und b_gain multipliziert.

Zu diesen Produkten werden programmierbare Offsets addiert, so dass eine vierte Datensequenz entsteht. Für die X~-Y~ und Z~-Y~ zugeordneten Werte der vierten Datensequenz wird ein Produkt aus der ersten Farbkomponente und L gain

addiert, so dass eine fünfte Datensequenz entsteht. Diese fünfte Datensequenz wird mit der inversen Conversion Table oder einer adäquaten Näherung durch Potenzieren -geeignet ist insbesondere eine Potenzierung mit der dritten Potenz- in den linearen Farbraum zurücktransformiert wird, so dass eine sechste Sequenz mit den Signalen, beziehungsweise Farbwerten X, Y, Z entsteht.

Oftmals wird eine Darstellung in einer bestimmten Bildgröße vorgegeben. Um das gewünschte Format schnell ohne großen Rechenaufwand bereitzustellen, ist in Weiterbildung der Erfindung vorgesehen, zu den Abtastwerten des Sensors zwischen zwei aufeinanderfolgenden Zeilen und Spalten den Mittelwert zu berechnen und abzupeichern, so dass in einem Speicher ein Bild mit doppelter interpolierter Auflösung entsteht, wobei eine Adressrecheneinheit eine zur Abtastung synchrone Folge von rationalen Abtastpunkten eines Zielrasters vorgibt.

Von den vier für jedes Pixel zur Verfügung stehenden Farbkomponenten kann dann mittels einer geeigneten Einrichtung der Bildverarbeitungsvorrichtung der Farbvektor ausgewählt werden, dessen Adresse dem Zielwert am nächsten kommt. Die so ausgewählten Farbwerte können dann einer anschließenden Farbkorrektur unterzogen werden.

Insbesondere kann allgemein der Bilddatenstrom mit höherer Auflösung abgetastet, auf die doppelte Auflösung interpoliert und anschließend mit geringerer als die sensorseitige Auflösung an ein Endgerät ausgegeben werden.

Der Bilddatenstrom, der an ein Endgerät ausgegeben wird, kann vorteilhaft noch DCT (DCT=„Diskrete

Cosinustransformation") codiert werden, um eine effektive Reduktion zu erhalten. Eine DCT-Kodierung kann sehr einfach ebenfalls durch Hardwarekomponenten, wie digitale

Signalprozessoren (DSPs) oder Multiplikationsakkumulatoren (MAKs) realisiert werden.

Der Datenpuffer kann durch die erfindungsgemäße Verarbeitungsweise der Signale besonders bevorzugt einen Dual-Port-Ram umfassen. Derartige Speicher sind zwar nur klein, da aber die Daten in einem Pipeline-Prozess verarbeitet werden, können die Bildddaten fortlaufend vom Bildspeicher in den Dual-Port-Ram eingeschrieben und gleichzeitig andere Bilddaten dort wieder zur

Weiterverarbeitung ausgelesen werden. Dies ist ein wesentliches Element, um mittels einer Pipeline- Verarbeitung auch eine Echtzeit-Umrechnung der Bilddaten artefaktarm bereitzustellen.

Die Erfindung wird nachfolgend genauer unter Bezugnahme auf die beigeschlossenen Zeichnungen erläutert. Es zeigen:

Fig. 1 schematisch das Einlesen der Bilddaten in den Dual-Port-RAM,

Fig. 2 eine Convolver-Struktur der

BildverarbeitungsVorrichtung,

Fig. 3 einen auf doppelte Größe interpolierten

Datensatz,

Fig. 4 eine vereinfachte Prinzipschaltung eines YH-

Convolvers der Bildverarbeitungsvorrichtung, und

Fig. 5 ein Blockschaltbild eines optimierten

Pipelineprozessors zur Berechnung der Farbdaten,

Fig. 6 ein 7x7 Pixel großer Ausschnitt eines Bayer- Patterns mit Gewichtungsfaktoren für die

Berechnung eines RGB-Vektors des zentralen Pixels,

Zur Lösung der Aufgabe, ein optimiertes Speicherinterface zu schaffen, das in der Lage ist, sowohl den Betrieb mit

DDRAM' s als Bildspeicher, als auch die Bildung von großen Nachbarschaften der Größe ab 7x7 Pixel in Echtzeit zu unterstützen, werden die vom Sensor gelieferten Bildrohdaten von einem Analog-Digital-Unsetzer (ADU) in digitale Signale gewandelt und anschließend zeilenweise in einen aus einem oder mehreren DDRAM' s bestehenden Bildspeicher abgelegt. Nachdem ca. 32 Zeilen so gespeichert wurden, werden Bilddaten aus dem Speicher ausgelesen. Dieser Prozeß liest aus dem Bildspeicher kurze Zeilen mit 16 Pixel Länge und schreibt diese in einen schnellen Dual Port RAM, der seinerseits wiederum eine Registerstruktur füllt. Durch diese Maßnahme gelingt es, den Bildspeicher zu entlasten. Die resultierende Datenrate beim Lesen ist nur geringfügig größer als die Datenrate des Sensors, zudem wird am Ausgang eine um den Faktor 4 bis 8 höhere Datenrate bei Nutzung eines schnellen, relativ kleinen und damit gut integrierbaren Dual Port RAM' s erreicht. Um Zeitverluste beim Spaltensprung zu vermeiden, ist die Signalverarbeitung vorzugsweise schneller als die Pixelrate auselegt.

Ein Beispiel für ein in Single Chip Farbkameras verwendetes Bayer-Pattern zeigt Fig. 1, andere bekannte Kombinationen verwenden z.B. C, M, Y. Aus Gründen der übersichtlichkeit wird jedoch nur Bezug auf ein RGB-Pattern genommen. Es entsteht für jeden Farbkanal ein diskontinuierliches

Signal, das in den Zwischenräumen interpoliert wird. Aus dem DDRAM werden, wie in Fig. 1 gezeigt, zeilenweise Daten an einen internen DualPort RAM übertragen, andererseits wird der DualPort RAM kontinuierlich mit einer Breite B (z.B. B=8 Pixel) gelesen, so dass ein Datenstrom der Größe

BxL, L- Länge des DualPort RAM (z.B.L=32 Pixel) entsteht. Dieser Datenstrom wird in die Convolver Structure nach Fig. 2 eingelesen und dort verarbeitet. Als besonders günstig hat sich eine Verarbeitungsbreite B=8 Pixel erwiesen, so dass zwei Pixel zeitgleich verarbeitet werden können.

Aus den Spalten werden jeweils zwei XYZ Farbwerte berechnet auf einer Länge von ca. 26 Pixel berechnet (siehe auch weiter unten) . Mithilfe einer Registerstruktur werden die Abtastwerte für eine Spalte so verzögert, dass zeitgleich 3 Abtastwerte einer Zeile bereitstehen. Dadurch können zwei vollständige 2x2 Nachbarschaften erzeugt werden, in denen dann das Farbbild auf die doppelte Auflösung linear interpoliert werden kann. Der so erhaltene Datensatz ist in Fig. 3 gezeigt, wobei interpolierte Daten schraffiert dargestellt sind.

Das so interpolierte Bild kann dann durch Pixeldropping gebrochen rational auf die geforderte Auflösung skaliert werden, ohne dass störende Farbkanten im Bild sichtbar werden. Hierzu werden in einer nicht gezeigten Adresseinheit der Pitch des Zielrasters für die Abtastrichtungen x und y aufakkumuliert und der dem Ergebnis nächstliegende Interpolationswert ausgewählt. Mit dieser Betriebsart kann besonders bei vorherrschenden Farbkontrasten im Rot- bzw. Blaubereich eine relevante Qualitätsverbesserung erreicht werden.

Im folgenden wird die allgemeine Farbverarbeitung beschrieben.

Ziel der Verarbeitung ist es, aus den Primärfarben zunächst die Farbkomponenten im standardisierten XYZ - Farbraum zu berechnen und diese anschließend optimal zu korrigieren.

Wenn die Verstärkungen c y Rt , C VG , C YB der Kanäle R, G, B geeignet angepasst sind, ergibt sich eine besonderes einfache Hardwarerealisierung für den Fall, dass die Summe der spektralen Empfindlichkeiten

Y(X) = C yn R(X) + 2 CyG G(λ) + C y8 B(X) X(X) = c XR R(X) + c XG G(X)+ c XB B(X) Z(X) = C 2n R(X) + c ZG G(X)+ C 28 B(X)

annähernd der Heilempfindlichkeitskurve V(λ), bzw. der spektralen Empfindlichkeit des Y- Signals im XYZ- Farbraum entspricht, die übrigen Koeffizienten werden für X, beziehungsweise Z optimiert Unter dieser Voraussetzung kann die Interpolation mit einem einfach zu realisierenden, verschiebungsinvarianten (2n+l) x (2n+l) - Convolver realisiert werden. Ein optimales Verhältnis zwischen Aufwand und Performance ergibt sich für n=3, d.h. einen 7x7 Convolver, Werte der Matrix gerundet:

Hierzu wurde das interpolierende Filter, das per Definition eine Tieppaßcharakteristik beinhaltet, mit einem phasenoptimierten 5x5 Schärfefilter kombiniert. Es wird nicht ausgeschlossen, daß sich gute Ergebnisse auch mit einer abweichenden Matrix erhalten lassen. Beispielsweise können die Werte der obigen Matrix auch jeweils um bis zu einem Faktor 1,5, jeweils gerundet auf ganze Zahlen abweichen. Die 7x7-Umgebung wird dabei unabhängig von der Pixelfarbe gebildet. So kann für jeden Pixel unabhängig von

der Farbe die damit errechnete Farbkomponente erhalten werden.

Wenn das Bayer-Signal mit einem derartigen Convolver gefaltet wird, entsteht ein scharfes Grauwertbild YH(x,y). Um den Aufwand der Faltungsoperation zu minimieren werden folgende Operationen durchgeführt:

Zunächst wurden die Koeffizienten der Matrix so optimiert, dass eine kostengünstige Realisierung mit einer minimalen

Anzahl von schnellen Addern ohne Multiplizierer genügt. Im einzelnen wird die Berechnung ferner durch die Zentralsymmetrie der Matrix YH_Conv_7x7 unterstützt. Deshalb kann die Faltung wesentlich einfacher mit den Matrizen YH Conv 4x4 und Acc 4x4 realisiert werden:

Die Matrix Acc 4x4 ist im Anhang zur Beschreibung dargestellt .

Die Matrix Acc_4x4, bildet zentralsymmetrisch die 4 Quadranten der 7x7 Nachbarschaft auf einen Quadranten ab und ist auf die akkumulierten Pixel normiert. Die Werte

Pix a , b bezeichnen dementsprechend die Bilddaten der Pixel in relativer Positxon a,b zum Zentralpunkt, für den der Farbwert berechnet werden soll.

Die Matrix Acc_4x4 wird mittels der in Fig. 2 gezeigten

Struktur zweckmäßig durch Addition der Grauwerte der Pixel

PixelO+Pixelβ, Pixell+Pixel5, Pixel2+Pixel4 sowie Pixell+Pixelδ, Pixel2+Pixel7, Pixel3+Pixel6

gebildet, Pixel3 für den linken und Pixel 4 für den rechten Streifen werden direkt in die 4x7 Register 100, 101 weiter gereicht. Anschließend erfolgt eine Akkumulation in vertikaler Richtung, gestrichelt eingezeichnet, Fig. 2.

Eine weitere Vereinfachung der Berechnung ist durch

Zusammenfassung in 3x3 Matrizen YH_Conv_3x3 sowie Acc_3x3 möglich:

Aufgrund der Symmetrieeigenschaften kann die Faltungsoperation mit der Matrix YH_Conv_4x4 auf eine 3x3 Matrix YH_Conv_3x3 zurückgeführt werden, die dazugehörige Nachbarschaft wird durch Addition von Matrixelementen mit gleichen Koeffizienten aus Acc 4x4 berechnet.

Selbstverständlich können die Einträge in den Matrizen Acc_4x4 und YH_Conv_4x4 jeweils gleichartig permutiert werden, ohne, daß sich das Faltungsergebnis ändert. Gleiches gilt auch für die entsprechenden vereinfachten Matrizen Acc 3x3 und YH Conv 3x3.

Die Matrix YH_Conv_3x3 kann weiter vereinfacht werden, indem eine Zerlegung in drei Matrizen ml, m2 und m3 erfolgt, so dass die physikalische Realisierung mit Addern optimierter Wortbreite und damit minimalem Aufwand erfolgen kann:

Es gilt:

YH Conv 3x3=4096*ml+128*m2+4*m3;

Die Koeffizienten der Matrix YH_Conv_7x7 wurden so optimiert, dass das Faltungsergebnis mit der Matrix m3 für die meisten Fälle vernachlässigbar wird, da in realen Bildern auftretende Texturen mit dem Muster der Matrix nicht korrelieren und das Faltungsergebnis demzufolge gegen null konvergiert. Im Bedarfsfall kann die Matrix m3 oder auch in guter Näherung die Matrix m3a ergänzt werden.

Deshalb kann der YH-Convolver mit der vereinfachten

Prinzipschaltung nach Fig. 4 realisiert werden. Man erhält für eine homogene Fläche als Beispiel das Ergebnis (gerundet) :

VW = 4251 c R R+ 8502c G G + 4251 c B B

Für die Farbberechnung wird ein zweites YL Signal verwendet, das im Gegensatz zu YH nicht hochpassgefiltert ist.

YL kann durch Faltung von Acc_3x3 mit YL_Conv_3x3 berechnet werden:

Diese Berechnung kann vorteilhaft mit einer Struktur nach Fig.3 realisiert werden, man erhält für eine homogen gefärbte Fläche daraus:

VL = 36 c R R+ 72 c G G + 36 c ß ß

Das Differenzsignal δY

δY=a [YH- 118YL)

wird zweckmäßig am Ausgang des Outputconverters gewichtet addiert, so kann ein mit dem Koeffizienten α in Echtzeit einstellbares und effizient wirkendes 7x7 Schärfefilter realisiert werden. Hiermit ist die Verarbeitung der Y- Signale abgeschlossen.

Die Farbrechnung erfolgt im XYZ- Farbraum. Hierzu sind 4 unabhängige wirkende Farbinterpolatoren UVl, UV2, UV3, UV4 vorgesehen, die den 4 realisierbaren Verschiebungen des Zentralpunktes der 7x7 Nachbarschaft bezüglich des Bayer Pattern zugeordnet sind. Es erfolgt eine Faltung mit der Matrix Acc_4x4, wobei die Farbkomponenten RGB getrennt ausgegeben werden.

Für den Fall, dass der Zentralpunkt der 7x7 Nachbarschaft auf einen roten oder blauen Pixel fällt, kann die Faltung mithilfe der Umgebung Acc_3x3 erfolgen, die bereits bei der Berechnung von YH verwendet wurde. Die insgesamt 4 möglichen Faltungen mit den Matrizen Color Ml, Color M2, Color M3, Color M4 können parallel ausgeführt und damit 4 vollständige Farbvektoren, bei einem Bayer-Pattern mit roten, grünen und blauen Pixeln also Vektoren <R,G,B> erzeugt werden, von denen der jeweils gültige über einen Multiplexer ausgewählt wird.

Die Matrizen ColorMl bis ColorM4 sind in nachstehender Tabelle 1 zusammen mit Matrizen Ml bis M4 aufgelistet. Die Matrizen Ml bis M4 entsprechen jeweils der weiter oben angegebenen Matrix Acc_4x4 und bilden die Umgebung um den Zentralpixel der 7x7-Umgebung im Bayer Pattern ab. Wie anhand mit einem Vergleich mit der Matrix Acc_4x4 leicht zu sehen ist, ist der Eintrag links oben in diesen Matrizen Ml bis M4 jeweils der Zentralpixel. Im Bayer Pattern mit zwei grünen Pixeln und jeweils einem roten und blauen gibt es insgesamt 4 mögliche Pixelmuster, beziehungsweise 4 realisierbare Verschiebungen des Zentralpunktes der 7x7 Nachbarschaft bezüglich des Bayer Pattern. Für jeden dieser Fälle ist eine der Matrizen ColorMl,..., ColorM4 zugeordnet und die Faltung der Pixelwerte erfolgt mit dieser jeweiligen Matrix. Selbstverständlich können diese Matrizen auch auf andere Bayer-Pattern als RGB-Bayer-Pattern übertragen werden, wobei in diesem Fall dann der Eintrag „G" in den Matrizen Ml,..., M4 dem Pixel mit der häufigsten Farbe entspricht.

Die Matrizen ColorM2 und ColorM3 sind jeweils 3x3-Matrizen. Bei diesen Matrizen fällt der Zentralpunkt der 7x7 Nachbarschaft auf einen roten oder blauen Pixel, so daß eine weitere Reduktion auf die 3x3-Matrizen möglich ist.

Die Faktoren vor den Symbolen „R", „G", „B" in den Matrizen Ml,..., M4 geben an, wieviele verschiedene Pixel addiert werden. Anhand der Matrizen Ml bis M4 ist auch zu erkennen, welcher der Farbvektoren der jeweils gültige ist, denn die Matrixeinträge dieser Matrizen folgen demselben Muster wie

das Bayer Pattern. Ist beispielsweise der Zentralpunkt ein grüner Pixel in einer Reihe des Bayer Pattern mit einer Abfolge Grün-Rot-Grün-Rot..., so entspricht diese Position dem Farbmuster der Matrix Ml. Dementsprechend wird ein gültiger <R, G, B>-Vektor für den grünen Pixel durch Faltung der Matrix ColorMl mit der Umgebung Acc_4x4 erzeugt.

Ist bei einem grünen Farbpixel hingegen die Reihe des Bayer-Pattern mit diesem Pixel mit abwechselnden grünen und blauen Pixeln belegt, wird entsprechend die Matrix ColorM4 mit der Umgebung Acc_4x4 gefaltet. Für rote und blaue Pixel werden die Matrizen ColorM2 und ColorM3 verwendet, wobei diese Matrizen mit der Umgebung Acc_3x3 gefaltet werden, um die gültigen Farbvektoren zu berechnen.

Die Berechnung eines interpolierten Farbvektors wird anhand des in Fig. 6 gezeigten Beispiels nochmals anschaulich erläutert. Fig. 6 zeigt dazu eine 7x7-Umgebung eines grünen Farbpixels 60. In der Mitte der Felder ist mit den Buchstaben „R" „G" „B" jeweils die Farbe des Pixels symbolisiert. Der Pixel 60 ist in einer Reihe mit roten und grünen Pixeln angeordnet. Ein Vergleich mit den Matrizen Ml,..., M4 zeigt, daß die Matrix M4 mit dem Zentralpixel links oben das gleiche Farbmuster aufweist. Dementsprechend wird ein gültiger <R, G, B>-Vektor für den Pixel 60 durch Faltung der Pixelwerte der 7x7 Umgebung mit der Matrix ColorMl erzeugt. Die Faktoren der Matrix ColorMl sind jeweils links oben in die einzelnen Felder eingetragen. Die Indizes i,j der Pixel der Umgebung sind in den Feldern jeweils links unten eingetragen.

Die Zuordnung der Faktoren erfolgt anhand der Matrix Acc_4x4, wobei die jeweiligen Pixel, wie in der Matrix Acc_4x4 angegeben, mit den Faktoren aus der Matrix ColorMl multipliziert werden. So steht der Zentralpixel PixO,O in

der Matrix Acc_4x4 an der Stelle (1,1). Die Matrix ColorMl gibt für diese Position einen Faktor 24 an, mit dem der Wert dieses Pixels multipliziert wird. Der Multiplikator an der Stelle (3,2) in ColorMl ist 48. Nach der Matrix Acc_4x4 werden dementsprechend die Pixelwerte der Pixel, die eine Reihe und zwei Spalten vom Zentralpixel entfernt sind, also die Pixel mit den Indizes (-1,-2), (-1,2), (1,-2) und (1,2) mit diesem Faktor 48 multipliziert.

Anders als bei Berechnung der Farbkomponente YH werden bei der Berechung des Farbvektors die Werte der einzelnen Farben durch den hardwareimplementierten Convolver getrennt addiert und ausgegeben.

Zur weiteren Vereinfachung können Koeffizienten z.B. die Zahl 12 für ColorMl, 4 für ColorM4 und 36 für ColorM2, ColorM3 ausgeklammert und mit nachfolgenden Multiplizierern ausgeglichen werden.

Auf diese Art und Weise erhält man für jede Phasenlage des Bayerpatterns bezüglich der lokalen Umgebung interpolierte [R, G, B]- Werte, von denen der jeweils gültige Wert über einen Multiplexer weiter gereicht wird.

Die ortsinterpolierten Farbwerte <R,G,B> werden dann mit jeweils 3 Koeffizienten so gewichtet, dass eine bestmögliche übereinstimmung mit dem Spektrum der Normfarbwerte X bzw. Z erreicht wird.

Für eine homogen gefärbte Fläche ergeben die gewählten Koeffizienten für jede der Phasenlagen ein identisches Ausgangssignal in der Form

X = 144 c XR R + 144 c XG G + 144 c xs B

YL = 36 c R R+ 72 c G G + 36 c B B

Z = 144 c m R+ 144 c ZG G + 144 C 28 ß

Mit diesen Gleichungen, beziehungsweise einer zur Berechnung der Gleichungen eingerichteten Recheneinrichtung können dann zu den den Pixeln zugeordneten interpolierten <R,G, B>-Farbvektoren die X, YL, Z-Farbwerte errechnet werden.

Am Ausgang der Recheneinrichtung entsteht damit ein mit dem CIE Lab-Farbmodell konformes X, YL, Z- Signal, ferner wird das Kontrastsignal YH-118YL bereitgestellt. Mit den

Koeffizienten kann ferner der Weißabgleich (<XN,YN,ZN>) erfolgen.

Um eine optimale Anpassung der Bildwiedergabe über einen Monitor zu erreichen, ist zu berücksichtigen, dass das menschliche Auge bei der Betrachtung des Originalbildes und eines Monitors unterschiedlich adaptiert ist. Bei der Darstellung von Mikroskopbildern ist dies besonders offensichtlich, da gut im Mikroskop sichtbare (dunkle) Strukturen mit hoher Dichte in Farbe und Kontrast auf dem Monitor nur schlecht dargestellt werden können. Deshalb wird eine Transformation benötigt, die die subjektive Farbwahrnehmung aus einem ersten Arbeitspunkt (z.B. Mikroskop) möglichst ohne subjektiv wahrnehmbare Farbveränderungen in einen zweiten Arbeitspunkt (z.B. Monitor in heller Umgebung) transformiert. Nach dem bekannten Stand der Technik wird dies durch eine sogenannte Gamma- Kennlinie erreicht, bei der jedoch Farbverfälschungen auftreten können. Besser geeignet ist das CIE_Lab- Modell 1976. Für die Koeffizienten L, a, b dieses Farbmodells gilt:

Z = 116 r - 16 a = 500 JT - 500 r b = 200 r - 200Z ~ mit

Der Vektor <XN,YN,ZN> ist der Weißpunkt des Gerätes. In der Bildverarbeitungsvorrichtung kann nach den oben beschriebenen Prinzipien in Echtzeit den Lab- Wert jedes Pixels berechnet und anschließend die Kennlinie durch geeignete Offsets im L-, a-, und b- Kanal verschoben und der verfügbare Farbraum mit Gain-Einstellungen für die L-, a- und b- Kanäle abgeglichen werden. Hiermit wird eine optimale empfindungsgerechte Anpassung der Farbqualität und einfache Bedienbarkeit des Farbabgleichs der Kamera erreicht.

Bei der Aufnahme von technischen oder biologischen Objekten kann es vorkommen, dass Bilder entgegen der natürlichen Farbverteilung mit vorherrschendem Grün- bzw. Y- Anteil ein Histogramm aufweisen, in dem feine rote und blaue Bildpunkte häufig auftreten und wesentliche Informationen enthalten. In diesem Fall genügt die Auflösung des Bayer Patterns nicht. Deshalb ist es sinnvoll, das Bild mit

höherer Auflösung abzutasten und dann das interpolierte Digitalbild in Echtzeit für die Monitordarstellung herunterzuskalieren, so dass ein scharfer Bildeindruck entsteht. Es hat sich gezeigt, dass aus einem Bayer- Pattern erzeugte CIE-Lab korrigierte Bilddaten ohne subjektiv wahrnehmbare Kantenfehler durch ein lineares Upscaling auf die doppelte Auflösung in beiden Abtastrichtungen und anschließendes Pixeldropping besonders einfach in guter Qualität dargestellt werden können. Dadurch erscheinen dann auch blau/rot kontrastierte Objekte wie z.B. rote Schrift oder ein mikroskopische Blutbild auf dem Monitor mit scharfem Kontrast.

Die Rückkonvertierung der Signale erfolgt in den XYZ - Farbraum des Monitors unter Berücksichtigung eines störenden Lichtoffsets mit einer gegenüber der ursprünglichen Quelle verschobenen spektralen Charakteristik, die durch einen Offset <L_off, a_off, b_off> dargestellt werden kann. Ferner entspricht der Dynamikbereich des Monitors zumeist nicht dem

Dynamikbereich des Quellbildes, so daß auch die Verstärkung der Kanäle L_gain (s/w Kontrast), a_gain (Rot/Grün Kontrast) und b_gain (Gelb/Blau Kontrast) entsprechend dem CIELab 1976 Modell abgeglichen werden können. Für eine kostengünstige Hardwareumsetzung in Echtzeit ist eine Umformung der Gleichungen sinnvoll, Xin,Yin, Zin beschreiben den XYZ Input, XYZ den korrigierten Output. Die Offsets werden mit einem externen Controller aus den Standardwerten <L_off, a_off,b_off> berechnet. Die Signale X~, T, T beschreiben die nichtlineare Transformation an der Augenkennlinie.

X ~ = -a_gain Yin ~ + L_gain Yin~ + a_gain Xin~ + X_off r = L_gain Yin ~ + Y_off

Somit werden die darstellbaren Farbwerte am Monitor optimal und leicht bedienbar an das Ausgabemedium angepasst, es entsteht ein naturgetreues Bild. Durch den einstellbaren Hochpass α (YH-YL) kann die Darstellung feiner Bilddetails angepasst werden. Die Differenz α (YH-YL) kann nichtlinear mit einer tangensförmigen Kennlinie verstärkt werden, dadurch reduziert sich das Farbrauschen in homogenen Flächen ohne dass die Konturschärfe beeinträchtigt wird.

Um Hardware im Pipelineprozessor für die Farbkorrektur zu optimieren ist es sinnvoll, die Offsets für die einzelnen Farbkanäle über die Parameter X_off, Y_off und Z_off zusammenzufassen und vor Ausführung der Berechnung in Echtzeit über einen Rechner bereitzustellen.

In Fig. 5 ist ein Blockschaltbild eines optimierten Pipelineprozessors 50 zur Berechnung der Farbdaten dargestellt. Die Konversionstabelle 51 am Eingang enthält die Tabelle zur Umwandlung von XYZ auf X~Y~Z~. Der Pipelineprozessor 50 läuft mit einem internen Takt mit der vierfachen Pixelfrequenz. Hierzu werden zunächst die XYZ Farbwerte in der Reihenfolge Y, Y, X, Z zu einem Datenstrom gemultiplext . Nach der Konvertierung wird der Wert Y~ mit negativem Vorzeichen versehen in einem Register gespeichert. Der Multiplexer steht während der

Datengültigkeit von Y~ auf null, so dass am Ausgang eine Folge

-YirT , -Yirf , Xin~ -Yin~ , Zin~ -Yin~

entsteht. Der nachfolgende Multiplexer 52 und der Multiplizierer 53 erzeugen zusammen eine Sequenz aus den Produkten:

L_gain • Yin~ , L_gain • Yin~ , a_gain • ( Xin~ - Yin~) , b_gain- ( Zin~ - Yin~ ) ,

zu der im nächsten Schritt mittels des Multiplexers 54 und des Addierers 55 Offsets addiert werden, so dass eine Folge

L_gain • Yin~ , L_gain • Yin~ + Y_of f , a_gain • (Xin ~ -Yin~ ) + X_of f , b_gain* ( Zin~ - Yin~) + Z_of f

entsteht .

Abschließend wird der Term L_gain*Y~ in einem Register 56 gespeichert und zu den Termen

L_gain • Yin~ + Y_off, a_gain ■ (Xin~ - Yin~) + X_off, b_gain -(Zin~ - Yin ~ ) + Z_off

addiert, damit erhält man die gewünschte Sequenz

„Undefiniert", Y~ , X~, Z~ , die direkt in die lineare Ausgangssequenz Y, X, Z durch Potenzieren transformiert werden kann. Hierbei kann auf den unteren Teil der Kennlinie für viele Applikationen verzichtet werden, falls nicht, kann dieser Teil über Multiplexer auch mit der im unteren Bereich definierten linearen Kennlinie ausgestattet werden.