DE19542813A1 - Verfahren zum Codieren von Farbinformationen sowie Vorrichtung zum Durchführen derartiger Verfahren - Google Patents

Verfahren zum Codieren von Farbinformationen sowie Vorrichtung zum Durchführen derartiger Verfahren

Info

Publication number
DE19542813A1
DE19542813A1 DE1995142813 DE19542813A DE19542813A1 DE 19542813 A1 DE19542813 A1 DE 19542813A1 DE 1995142813 DE1995142813 DE 1995142813 DE 19542813 A DE19542813 A DE 19542813A DE 19542813 A1 DE19542813 A1 DE 19542813A1
Authority
DE
Germany
Prior art keywords
color
values
coding
rgb
colors
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
DE1995142813
Other languages
English (en)
Inventor
Jngo Jacoby
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Individual
Original Assignee
Individual
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Individual filed Critical Individual
Priority to DE1995142813 priority Critical patent/DE19542813A1/de
Publication of DE19542813A1 publication Critical patent/DE19542813A1/de
Withdrawn legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/46Colour picture communication systems
    • H04N1/64Systems for the transmission or the storage of the colour picture signal; Details therefor, e.g. coding or decoding means therefor
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N11/00Colour television systems
    • H04N11/04Colour television systems using pulse code modulation
    • H04N11/042Codec means

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Facsimile Image Signal Circuits (AREA)
  • Color Image Communication Systems (AREA)

Description

Die Erfindung betrifft ein Verfahren zum Codieren einer in Farbpixeln vorliegenden Bildinfor­ mation in Farbwerte, wobei die Farbe einzelner Farbpixel jeweils in einen oder mehrere Farb­ werte codiert wird. Die Erfindung betrifft ferner ein Verfahren zum Codieren einer in Farbpi­ xeln vorliegenden Bildinformation in Farbwerte, wobei die Farbe einzelner Farbpixel jeweils mit Hilfe der RGB-Codierungsmethode in die drei Farbwerte codiert wird. Weiterhin betrifft die Erfindung eine Vorrichtung zum Durchführen derartiger Verfahren.
Für die Speicherung und Übertragung, vor allem für die Codierung von Bildinformation in ver­ schiedenen Anwendungsbereichen wie Fernsehen, Computerdisplays, Photo-CD ′s Druckbe­ reich etc. müssen Farben digitalisiert und codiert werden. Es sind bereits mehrere Codierungs­ methoden bekannt.
Eine Codierungsmethode liegt darin, Farben durch 3 Primärfarben, Rot, Grün und Blau darzu­ stellen. Diese Codierungsmethode wird bevorzugt für Monitorfarben in Computerdisplays bzw. Fernsehen benutzt, wobei die drei Primärfarben den drei Phosphorfarben entsprechen, die die Farben additiv generieren. Eine Eigenschaft dieser Codierung ist die schnelle Umsetzung der gespeicherten Daten, da die gammakorrigierten RGB-Werte direkt auf den Monitor gegeben werden können. Ein Nachteil ist der Farbraum, der durch die Codierung abgedeckt wird, der kleiner ist als der der Oberflächenfarben und so diverse Farben nicht darstellen kann.
Eine andere Codierungsmethode liegt in der Codierung von Farben durch eine Luminanz und zwei Chrominanzen. Die Luminanz gibt die Helligkeit an und die Chrominanzen geben Farb­ werte wieder. Sowohl das CIELAB-System als auch die YCC-Codierung, die bei der Photo- CD verwendet wird, basieren auf diesem Prinzip. Eine Eigenschaft der YCC-Codierung ist der größere Farbraum der dargestellt werden kann und so "gesättigtere" Farben beinhaltet als die RGB-Codierung, ein Nachteil liegt darin, daß die Farbwiedergabe mit einem relativ hohen Quantisierungsfehler behaftet ist, der durch die nicht optimale Ausnutzung des Coderaumes entsteht.
Die Erfindung zielt daher darauf, eine verbesserte Farbcodierung zu schaffen.
Die Erfindung erreicht dieses Ziel durch die Gegenstände der Ansprüche 1, 9 und 10.
Nach Anspruch 1 ist ein Verfahren zum Kodieren einer in Farbpixeln vorliegenden Bildinfor­ mation in Farbwerte geschaffen, wobei die Farbe einzelner Farbpixel jeweils in einen oder meh­ rere Farbwerte codiert wird und die Farben verschiedener Farbpixel wechselnd nach wenig­ stens zwei unterschiedlichen Codierungsmethoden in die/den entsprechende(n) Farbwert(e) codiert werden. Darunter ist zu verstehen, daß beispielsweise ein Farbpixel nach einer ersten Codierungsmethode, wie der YCC-Codierungsmethode, und ein weiterer Farbpixel nach einer anderen Codierungsmethode, wie beispielsweise die RGB-Codierungsmethode, in seine ent­ sprechenden Farbwerte codiert wird. Entscheidend ist hierbei also, daß die Farbpixel eines Bil­ des etc. mit unterschiedlichen Codierungsmethoden codiert werden. Der- Begriff "Wechselnd" soll nicht einschränkend verstanden werden im Sinne von paarweise abwechselnd sondern soll nur beschreiben, daß eine erste Auswahl an Farbpixeln nach einer ersten Codierungsmethode und die übrigen Farbpixeln nach wenigstens einer weiteren Codierungsmethode codiert wer­ den. Dabei kann auch bereits ein einzelner Farbpixel hintereinander nach verschiedenen be­ kannten Codierungsmethoden sozusagen kaskadenartig in seine Farbwerte bzw. seinen Farb­ wert codiert werden.
Ein Farbpixel kann beispielsweise ein Bildpunkt eines digitalisierten Gesamtbildes sein. Die Farbinformation diese Farbpixels kann dabei bevorzugt in einen beispielsweise 8- oder 16-bit codierten Farbwert-Tripel codiert werden. Der Vorteil der erfindungsgemäßen Codierung liegt darin, daß unterschiedliche Codierungsmethoden sozusagen gemischt werden, die unterschied­ liche Eigenschaften aufiveisen können. So kann vorzugsweise der Quantisierungsfehler ver­ mindert werden und gleichzeitig eine zusätzliche Datenkompression vorgenommen werden, die zu einer ggf. bereits vorgenommenen Datenkompression hinzukommen kann. So können bei­ spielsweise einzelne, vorzugsweise jedes zweite Farbpixel in jede Richtung eines digitalisierten Bildes mit einer ersten Codierungsmethode, wie die RGB-Codierungsmethode, codiert werden und ggf. mit Hilfe der Hadamard-Transformation komprimiert werden und die übrigen Pixel mit einer weiteren Codierungsmethode, wie der YCC-Codierung, codiert und ebenfalls kom­ primiert werden, indem beispielsweise die Chrominanzwerte der YCC-codierten Farbwerte weggelassen werden und ggf. die verbleibenden Luminanzwerte zusätzlich Hadamard­ transformiert werden. Die Chrominanzwerte können bei der Datendekompression wiederge­ wonnen werden, indem die benachbarten Farbwerte (z. B. als RGB-Farbtripel vorliegend, ggf. durch eine Hadamard-Rücktransformation ebenfalls dekomprimiert) in YCC-Farbwerte trans­ formiert und die fehlenden Chrominanzwerte durch die so erhaltenen benachbarten Chro­ minanzwerte interpoliert werden.
Bevorzugt werden die codierten Farbwerte gespeichert und/oder übertragen.
Bevorzugt wird als eine der wenigstens zwei Codierungsmethoden eine Codierungsmethode mit einem komprimierbaren Code, insbesondere die YCC-Codierungsmethode mit einem Lu­ minanz- und zwei Chrominanzwerten, angewendet.
Bevorzugt wird als eine der wenigstens zwei Codierungsmethoden eine mit einem geringen Quantisierungsfehler behaftete Codierungsmethode, insbesondere die RGB-Codierungsmetho­ de mit anschließender Kompandierung (Gamma-Korrektur), angewendet.
Bevorzugt wird als eine der wenigstens zwei Codierungsmethoden eine Codierungsmethode, insbesondere die RGB-Codierungsmethode mit anschließender Kompandierung (Gamma- Korrektur), angewendet, deren codierte Farbwerte eine visuelle Darstellungsvorrichtung, ins­ besondere ein Monitor, ein Drucker oder ein Fernsehgerät, unmittelbar zum visuellen Darstel­ len der einzelnen Farbwerte verarbeiten kann.
Bevorzugt werden die in Vertikal-, in Horizontalrichtung und ggf. in Tiefenrichtung benach­ barten Farbpixel einer flächenmäßig, ggf. dreidimensional darstellbaren Bildinformation jeweils nach zwei der drei o.g. Codierungsmethoden abwechselnd codiert werden. Liegt ein zweidi­ mensionales Bild vor, so wird damit der erste Farbpixel der ersten Bildzeile mit der ersten Co­ dierungsmethode, der horizontal benachbarte Farbpixel mit der zweiten Codierungsmethode und der nächste horizontal benachbarte Farbpixel wieder mit der ersten Codierungsmethode codiert, etc. Die nächste Bildzeile wird dann beispielsweise nur mit der ersten Codierungsme­ thode und die übernächste Bildzeile wiederum wie die erste Bildzeile codiert, etc. Für eine dreidimensionale Bildinformation, beispielsweise ein Hologramm wird entsprechend verfahren, wobei die einzelnen Bildschichten nacheinander abwechselnd wie das oben beschriebene zwei­ dimensionale Bild und die nächste Bildschicht nur mit einer Codierungsmethode codiert wer­ den, etc.
Bevorzugt wird die RGB-Codierungsmethode mit Monitor-Primärfarben, insbesondere Primär­ farben nach der CCIR-709-Empfehlung, angewendet und dabei der Wertebereich der RGB- Werte derart erweitert, daß alle durch Farbmessung ermittelten Oberflächenfarben codiert werden können.
Bevorzugt werden ausgehend von der bei Photo-CD angewendeten YCC-Codierungsmethode wechselnd Farbpixel in einen Luminanzwert und jeweils in gamma-korrigierte RGB-Werte codiert, insbesondere entsprechend der bekannten YCC-Codierung, welche wechselnd in le­ diglich einen Luminanz und jeweils einen Luminanz- und zwei Chrominanzwerte codiert, und ggf. werden bei der Decodierung die gamma-korrigierten RGB-Werte in die entsprechenden Luminanz- und die beiden Chrominanzwerte transformiert und anschließend die beiden fehlen­ den (bei der Kompression weggelassenen) Chrominanzwerte der komprimierten Farbpixel aus den durch die Transformation erhaltenen Chrominanzwerten ermittelt, insbesondere interpo­ liert. Vorteilhaft kann die bekannte YCC-Codierungsmethode, die bei Photo-CD′s angewendet wird, im wesentlichen dieser bevorzugten Farbcodierung zugrundegelegt werden, so daß keine wesentlichen Änderungen dieser bekannten Codierungsmethode anfallen. Darüberhinaus liegt der Vorteil gegenüber dieser bekannten YCC-Codierungsmethode darin, daß bei Monitoran­ wendung ein schnellerer Bildaufbau erzielbar und gleichzeitig der Quantisierungsfehler geringer ist. Bei der Codierung entfällt vorteilhaft größtenteils die Transformation der gamma­ korrigierten RGB-Werte in einen Luminanz- und zwei Chrominanzwerte.
Nach Anspruch 9 ist ein Verfahren zum Codieren einer in Farbpixeln vorliegenden Bildinfor­ mation in Farbwerte geschaffen, wobei die Farbe einzelner Farbpixel jeweils mit Hilfe der RGB-Codierungsmethode in die drei Farbwerte codiert und der Wertebereich der RGB-Werte derart erweitert wird, daß alle durch Farbmessung ermittelten Oberflächenfarben codiert wer­ den können. Die klassische RGB-Codierung begrenzt die RGB-Werte auf den Bereich zwi­ schen Null und Eins und beschränkt dabei die mittels dieser RGB-Codierung codierbaren Far­ ben auf das Farbdreieck, das durch die Primärfarben aufgespannt wird. Diese Begrenzung der RGB-Werte wird nunmehr erfindungsgemäß derart aufgehoben und in den negativen Wertebe­ reich und den Wertebereich größer als 1 erweitert, daß gerade alle in der Natur vorkommenden Reflexionsfarben, welche durch Farbmessung ermittelt worden sind, codiert werden können.
Vorteilhaft können somit auch alle in der Natur vorkommenden Oberflächenfarben auf einem bestimmten Ausgabemedium - wie ein Monitor, ein Fernseh-Bildschirm, ein Drucker, eine Photo-CD -, sofern von dem Ausgabemedium darstellbar, mit Hilfe der erfindungsgemäßen RGB-Codierungsmethode dargestellt werden.
Nach Anspruch 10 ist eine Vorrichtung zum Durchführen eines Verfahrens nach einem der Ansprüche 1 bis 9 geschaffen.
Nachfolgend soll die Erfindung anhand einzelner bevorzugter Ausführungsbeispiele im Detail beschrieben werden. Diese detaillierte Beschreibung ist nicht einschränkend zu verstehen, son­ dern soll nur die allgemeinen Erfindungsgedanken an konkreten Ausführungsbeispielen illu­ strieren. Hierzu wird zuerst allgemein das Hintergrundwissen der Erfindung erläutert und an­ schließend werden einzelne Stärken und Schwächen von bekannten Codierungsmethoden be­ schrieben, die bei der Codierung einer in Farbpixeln vorliegenden Bildinformation bevorzugt miteinander "gemischt" werden können. Dabei werden auch die erfindungsgemäßen Farb- Codierungsverfahren herausgearbeitet, die einerseits nahezu alle Oberflächenfarben darstellen können und andererseits einen niedrigen Quantisierungsfehler durch besseres Ausnutzen des Coderaumes aufweisen. Zusätzlich wird der Aspekt der Datenkompression berücksichtigt.
Dafür werden die Farbräume der verschiedenen Codierungsmethoden berechnet sowie für den Vergleich die Mantelfläche der Optimalfarben, die die theoretische Grenze der Oberflächenfar­ ben darstellt, bestimmt. Außerdem wird der Spektralfarbenzug für maximal gesättigte Farben bestimmt und der durch Farbmessungen bestimmte "praktischen" Oberflächenfarbenraum zum Vergleich herangezogen. Die Quantisierungsfehler der Codierungen werden berechnet und miteinander verglichen. Die Untersuchungen werden im Lab-System durchgeführt, da dies das einzige System ist, in dem Farbfehlermessungen durchgeführt werden können (da physiolo­ gisch äquidistant).
Bevor im folgenden genauer auf die Erfindung eingegangen wird, wird darauf hingewiesen, daß die Erfindung teilweise auf die Codierungsmethode aufbaut, die bei der Photo-CD Codie­ rung angewendet wird, und daher mindestens teilweise deren Grundprinzipien und Rahmenbe­ dingungen ebenfalls aufweist, mit der Möglichkeit, auch aus Gründen der Klarheit, auf eine Erläuterung mancher Grundfunktionen zu verzichten und auf Veröffentlichungen zu verweisen, auch hinsichtlich des Offenbarungsgehalts.
Ferner wird darauf hingewiesen, daß die Ansprüche und insbesondere die Hauptansprüche Formulierungsversuche der Erfindung ohne umfassende Kenntnis des Standes der Technik und daher ohne einschränkende Präjudiz sind. Daher bleibt es vorbehalten, alle in der Beschreibung, den Ansprüchen und der Zeichnung dargestellten Merkmale sowohl einzeln für sich als auch in beliebiger Kombination miteinander als erfindungswesentlich anzusehen und in den Ansprüchen niederzulegen sowie die Hauptansprüche in seinem Merkmalsgehalt zu reduzieren.
Weitere Vorteile der Erfindung ergeben sich aus der nachfolgenden Beschreibung bevorzugter Ausführungsbeispiele. In dieser Beschreibung wird auf die beigefügte schematische Zeichnung Bezug genommen. In der Zeichnung zeigen:
Fig. 1 eine erfindungsgemäße Farbcodierungsmethode, nach denen die zu speichernden. und/oder zu übertragenden Werte berechnet werden;
Fig. 2 eine Illustration für die Anzahl der durchzuführenden Rechenschritten für die in Fig. gezeigte erfindungsgemäße Farbcodierungsmethode;
Fig. 3 die bekannte Normspektralfunktionen x, y und z;
Fig. 4 die bekannten Optimalfarben gleicher Helligkeiten im Lab-System;
Fig. 5 die bekannten Spektralfarbenzüge gleicher Helligkeit im Lab-System;
Fig. 6 den bekannten RGB-Farbraum mit Monitorprimärfarben und den bekannten Spektra­ farbenzug im xy-System,
Fig. 7 die Farbräume der RGB-Codierung mit Monitorprimärfarben für verschiedene Lu­ minanzen im xy-System;
Fig. 8 die Farbräume der RGB-Codierung mit Monitorprimärfarben für verschiedene Lu­ minanzen im Lab-System;
Fig. 9 die Farbraumgrenzen der YCC-Codierung im Lab-System für Luminanzen zwischen 48 und 52%;
Fig. 10 den Farbraum, der als Schnittmenge zwischen den Grenzen der YCC-Codierung für 50% Luminanz und dem Spektralfarbenzug für 50% entsteht;
Fig. 11-15 den Vergleich zwischen RGB-Farbraum mit CCIR-709-Primärfarben und theoreti­ schen Grenzen der Oberflächenfarben und gemessenen Grenzen für Oberflächenfar­ ben für verschiedene Luminanzen;
Fig. 16-20 den Vergleich zwischen dem YCC-Farbraum (geschnitten mit dem Spektralfarben­ zug und somit begrenzt auf "sinnvolle" Farben) und den theoretischen Grenzen der Oberflächenfarben und den gemessenen Grenzen für Oberflächenfarben für verschie­ dene Luminanzen;
Fig. 21-25 den Vergleich zwischen dem RGBmono-Farbraum (mit monochromatischen Primär­ farben) und den theoretischen Grenzen der Oberflächenfarben und den gemessenen Grenzen für Oberflächenfarben für verschiedene Luminanzen;
Fig. 26 den RGBmono-Farbraum, den RGB-Farbraum mit CCIR-709-Primärfarben und den Spektralfarbenzug im xy-System;
Fig. 27 eine bekannte vereinfacht dargestellte Farbcodierungsmethode, nach denen die zu speichernden und/oder zu übertragenden Werte berechnet werden;
Fig. 28 eine Illustration für die Anzahl der durchzuführenden Rechenschritten für die in Fig. 27 gezeigte bekannte Farbcodierungsmethode.
Farbraumgrenzen der Optimalfarben
Ein wichtiger Qualitätsfaktor für eine Codierungsmethode ist der Farbraum, der codiert werde kann. Ideal wäre ein Farbraum, der alle in der Natur vorkommenden Farben umfaßt.
Bei vorgegebener Helligkeit sind Optimalfarben die am stärksten gesättigten Farben, die theoretisch erreichbar sind. So geben die Optimalfarben die Grenzen der "natürlichen" Reflexionsfarben an. Die Fläche, auf denen die Optimalfarben liegen, wird somit später zum Vergleich für die Farbraumgrenzen unterschiedlicher Codierungen dienen.
Optimalfarben sind ideale Körperfarben, deren spektraler Reflexionsfaktor entweder 0 oder 1 beträgt und höchstens zwei Sprünge von 0 auf 1 oder umgekehrt aufweist.
Die Oberfläche der Optimalfarben soll in dem Lab-Farbraum errechnet und dargestellt werden.
Der Lab-Farbraum ist ein physiologisch äquidistanter Farbraum, das heißt zwei physiologisch gleich unterschiedliche Farbenpaare haben in diesem System den gleichen Abstand zueinander.
In dem 3-dimensionalen Lab-Raum würde die Oberfläche der Optimalfarben eine "verzerrte Melone" aufspannen; die Berechnung hier erfolgt mit festen Luminanzwerten und dem dazugehörenden Begrenzungszug in der ab-Ebene (Schnitte durch den Raum mit dem Normalenvektor Luminanz). Zur Berechnung der Grenzen notwendig sind die Normspektralwertfunktionen (Fig. 3).
Die Werte x, y und z sind wellenlängenabhängig in 5nm-Schritten angegeben. Aus diesen Werten kann man mittels folgenden Formeln X, Y und Z ermitteln:
X = k * ∫ ϕ(λ) * x(λ)dλ
Y = k * ∫ ϕ(λ) * y(λ)dλ
Z = k * ∫ ϕ(λ) * z(λ)dλ
X, Y und Z ergeben sich als Integrale von x, y und z über der Wellenlänge. Als Integration wird hier die Summation der Normspektralwerte benutzt. Mit Hilfe einer Kommpandierungskennlinie und einer linearen Transformation erhält man die Lab-Werte:
L*= 116 * Y* - 16
a*= 500 * (X* - Y*)
b*= 200 * (Y* - Z*)
wobei für die Berechnung von X*, Y* und Z* folgende Fallunterscheidung gilt:
Für Y* und Z* erfolgt die Berechnung entsprechend.
Die Werte Xn ,Yn und Zn ergeben sich durch Integration der x, y und z-Kurven über den gesamten Wellenlängenbereich (Xn = Yn = Zn = 27,11).
Die Berechnung der folgenden Kurven erfolgt so, daß ein fest vorgegebenes L* ein festes Y* und damit festes Y nach sich zieht. Dieses Y ist gleich dem Integral über die y-Kurve, k kann man durch 1 ersetzen, da es sich durch die Normierungsgröße Y* herauskürzt.
Durch lineare Approximation 0. Ordnung werden die Iniegrationsgrenzen in y testgelegt und in x und z übernommen. Mittelpunkt des Integrationsbereiches ist jeweils die Wellenlänge, für die X, Y und Z berechnet werden soll. Man weitet gleichmäßig den Integrationsbereich nach links und rechts aus, bis das notwendige Y erreicht ist.
Mit der Schrittweite i werden für jeden weiteren Schritt die Integrationsgrenzen um ein 5nm-Intervall nach links und nach rechts erweitert. Die Berechnung wird von 380nm bis 780nm durchgeführt, so daß sich insgesamt 81 ab-Wertepaare pro fest vorgegebener Luminanz ergeben.
Die Optimalfarben gleicher Helligkeit sind in Fig. 4 aufgetragen.
Spektralfarbenzug
Der Spektralfarbenzug liegt im Lab-System außerhalb der Optimalfarbengrenzen, da die Farben auf diesem Zug noch stärker gesättigt sind (maximal gesättigt). Sie treten in der Natur nicht als Reflexionsfarben auf, können aber zum Beispiel mit einem durchstimmbaren Laser erzeugt werden. Für die spätere Berechnung des YCC-Farbraumes wird diese Begrenzung benötigt.
Der Spektralfarbenzug im xy-System ist leicht zu ermitteln, indem man die Normspektralwerte xn, yn und zn für jede Wellenlänge in x und y umrechnet
und in das System einträgt. Man erhält eine Kurve, die wie ein Hufeisen geformt ist, das nach unten geöffnet ist. Geschlossen wird diese Kurve durch die sogenannte Purpurgerade, die von dem kurzwelligsten Punkt (hier 380nm) bis zum langwelligsten Punkt (780nm) gezogen wird.
Um den Spektralfarbenzug in das Lab-System umzurechnen, muß man anders als bei den Optimalfarben vorgehen. Bei fester Luminanz sind Y* und Y fest. Für jede Wellenlänge (hier Schritt 5nm) muß man folgend vorgehen. Um Y zu erreichen, wird y mit einer Konstanten K multipliziert. Diese errechnet man durch den Quotienten aus Y und y. Mit dieser Konstanten wird dann x und z zu X und Z berechnet. Diese Werte muß man in X* und Z* umrechnen und kann a und b ermitteln.
Nach der DW-Vorschrift sind die Normspektralwertfunktionen zwischen 380nm und 780nm angegeben. Da sich die Farben bei 380-400nm und 700-780nm nahezu in jeweils einem Punkt im xy-System aufhalten und die Normspektralwertanteile sehr gering sind wird das Intervall für diese Berechnung von 400-700nm, gewählt.
Der Spektralfarbenzug im Lab-System ist abhängig von der Luminanz, so daß man eine Kurvenschaar erhält (Fig. 5).
Man erkennt, daß für beliebig große Luminanzen der Spektralfarbenzug immer größer wird das heißt, in der dreidimensionalen Darstellung würde die Mantelfläche der Spektralfarbenzuge wie ein Kegel aussehen, der nach oben immer breiter wird. Der Grund dafür liegt in der Berechnung, da man für größere Luminanzen größere Y-Werte vorgibt, die durch die Multiplikation eines Faktors mit y erreicht werden sollen, der natürlich auch mit anwächst.
RGB-Farbraum im Lab-System
Monitorfarben entstehen durch die additive Mischung dreier Primärfarben, Rot Grün und Blau, die durch leuchtende Phosphore erzeugt werden. Das Prinzip der RGB-Codierung ist dasselbe, indem im Primärvalenzsystem RGB für jede Farbe die Farbwerte R, G und B berechnet werden.
Die Farbe wird also in die drei Primärfarben zerlegt und deren Gewichte bestimmt.
Der RGB-Farbraum ist durch die Farbsignale R, G und B begrenzt, die im xy-System die Eckpunkte des Dreiecks angeben, das den RGB-Raum repräsentiert. Da die Gewichte Werte zwischen Null und Eins annehmen müssen, können durch diese Darstellung nur Farben innerhalb des Dreiecks dargestellt werden (vgl. Fig. 6).
Um den RGB-Farbraum im Lab-System mit dem Optimalfarbenraum vergleichen zu können, müssen die RGB-Werte über XYZ-Werte in Lab-Werte transformiert werden. Für die Matrixtransformation von RGB nach XYZ benötigt man die Matrix Mxyz.
Rotpunkt: Koordinaten im xy-Raum rx, ry
Grünpunkt: Koordinaten im xy-Raum gx, gy
Blaupunkt: Koordinaten im xy-Raum bx, by
Weißpunkt: Koordinaten im xy-Raum wx, wy
Diese Werte müssen festgelegt sein. Mit folgendem Ansatz wird die Matrix errechnet:
Es müssen im Weißpunkt folgende Gleichungen erfüllt sein:
(1) R=G=B=1
(2) Y=₁
(3) x=xw
(4) y=yw
wobei
Bei Einsetzen und Umformen entsteht folgendes Gleichungssystem:
Durch Invertierung der Matrix erhält man die Faktoren A, C und D.
Die Werte für A, C und D werden in die Ansatzmatrix eingesetzt und man erhält die Transformationsmatrix Mxyz. Mit Hilfe dieser kann man für beliebige Farbsignale die Transformation in den XYZ-Raum durchführen. Durch die Bildung der Inversen dieser Matrix kann natürlich auch die Transformation vom XYZ-Raum in den RGB-Raum durchgeführt werden. Diese wird relevant, wenn Farben gleicher Helligkeit im RGB-Raum dargestellt werden.
Es sei zu erwähnen, daß bei dieser Transformation von XYZ nach Lab die Nominierungsfaktoren Xn,Yn und Zn zu beachten sind, die hier Xn = 0,9505, Yn =1 und Zn = 1,089 betragen (zeilenweise Addition der Matrixelemente Mxyz). Um die äußere Begrenzung des Farbraumes im Lab-System zu erhalten, führt man im RGB-System an den Außenkanten des Farbraumes entlang und transformiert einzelne Werte, das bedeutet, mindestens eine Farbe hat den Intensitätsfaktor 0, an den Eckpunkten sind zwei Farben Null. Reichen diese beiden Farben nicht aus, so muß eine dritte Farbe hinzugemischt werden, um die notwendige Luminanz zu erreichen.
Auch hier hat der feste Luminanzwert wieder ein festes Y* und damit ein festes Y zur Folge, die so vorweg berechnet werden können:
Für Y* < 0,2069 gilt: Y = Y*³
sonst
Indem man Verhältnisse zwischen den beiden Farben bildet, auf deren Geraden man sich befindet, kann man diese in äquidistanten Schritten abfahren. Wenn man sich zum Beispiel auf der RG-Geraden befindet und dort ziemlich nahe dem R-Punkt ist, so hat das Verhältnis Rot zu Grün eventuell 100 zu 1. Diese Einteilung kann beliebig fein gewählt werden.
Daraus resultierende Matrix:
Aus dieser Matrix gewinnt man die Gleichung für die dritte Farbe, die eventuell notwendig ist, und zwar ist die zweite Zeile relevant, die Y angibt:
Y = 0,2219 * R + 0,7068 * G + 0,0713 * B
Gerade bei hohen Luminanzen kann es passieren, daß trotz Hinzumischung der dritten Farbe das geforderte Y nicht erreicht werden kann, da R, G und B von 0 bis 1 begrenzt sind.
Solche Punkte auf der Geraden werden verworfen. Dadurch ist natürlich klar, daß mit steigender Luminanz der RGB-Farbraum im xy-System abnimmt (Grenzen werden zum Weißpunkt verschoben) und damit auch im Lab-Raum. Der luminanzabhängige RGB-Farbraum ist in Fig. 7 und Fig. 8 dargestellt.
Auffallend bei dem Vergleich der 10% und 30%-Kurven ist, daß sich der RGB-Farbraum im xy-System nicht ändert, wohingegen er sich im Lab-Raum ändert. Die luminanzschwächste Primärfarbe ist Blau, das bedeutet, bei kontinuierlichem Anstieg der Luminanz von 0 aufwärts wird der erste "Einbruch" des RGB-Farbraumes in der Nähe der Blauecke zu finden sein, und zwar bei folgendem Luminanzwert:
Die maximal mögliche Luminanz der Primärfarbe Blau ergibt sich somit zu 32,2%. Erst ab diesem Wert (in diesem Beispiel für DIN 6169) ändert sich der Farbraum kontinuierlich mit der Luminanz.
Der RGB-Farbraum im Lab-System ist überall luminanzabhängig, da sich durch Änderung der Luminanz auch die Farbsignalwerte ändern (die Verhältnisse der beiden relevanten Farbwerte können gleich bleiben, während sich beide Farbwerte mit dem gleichen Faktor ändern).
Bei 97% "berührt" der RGB-Farbraum gerade noch die RG-Gerade an dem luminanzstärksten Punkt des Farbdreiecks, bei dem das Verhältnis Rot zu Grün Eins ist. Dort können Luminanzen bis zu 97,17% dargestellt werden, da:
Rot=1 Grün=1 Blau=0
Y=1 * 0,2219 + 1 * 0,7068 + 0 * 0,0713=0,9287 L* = 97,17%
Bei der Lab-Darstellung erkennt man, daß auch der RGB-Farbraum in dreidimensionaler Ansicht im Lab-Raum eine Art "Melone" darstellt, von niedrigen Luminanzen aufwärts größer wird und bei hohen Luminanzen wieder zuläuft. Die höchsten Bunttöne (je größer die Entfernung zum Ursprung, desto höher der Buntton) können in den mittleren Luminanzen (ca. 30%-70%) dargestellt werden.
Der angegebene Farbraum gilt nur für die Primärfarben laut DIN 6169 bei dem spezielle Farbsignalwerte angegeben sind. Ändert man diese, so ändern sich die Grenzen im xy-System als auch im Lab-System. Man kann natürlich annehmen, daß bei Weitung des RGB-Raumes durch Änderung der Primärfarbenwerte im xy-System auch die Darstellung im Lab-Raum vergrößert wird und umgekehrt.
YCC-Format
Das YCC-Format ist eine weitere Codierungsmethode für Farben, die bei der Photo-CD benutzt wird. Da das YCC-Format auch für Fernsehen und Computerdisplays kompatibel sein soll, erlaubt die Referenz des RGB-Systems eine schnelle Umsetzung. Die Farben werden in RGB-Werte umgeformt, kompandiert und in Luminanz und Chrominanzwerte transformiert. Die kompandierten RGB-Werte entsprechen gammakorrigierten RGB-Werten, somit können die YCC-Werte nach einer Matrixtransformation direkt auf den Monitor gegeben werden. Die Umsetzung von RGB in eine Luminanz und zwei Chrominanzen erlaubt eine effektive Datenkompression. Da das YCC-Format auch negative Werte im RGB-System zuläßt, kann man einen größeren Farbraum codieren. Die Transformation ist nachfolgend beschrieben:
Nichtlineare Transformation:
Für R,G,B < 0,018
R′ = 1,099 * R0,45 -0,099
G′ = 1,099 * G0,45 -0,099
B′ = 1,099 * B0,45 -0,099
Für R,G,B < -0,018
R′ = 1,099 * (-R)0,45 -0,099
G′ = 1,099 * (-G)0,45 -0,099
B′ = 1,099 * (-B)0,45 -0,099
Für -0,018 < R,G,B < 0,018
R′ = 4,5 * R
G′ = 4,5 * G
B′ = 4,5 * B
Transformation in einen Luma- und zwei Chromawerte:
Luma = 0,299 * R′ + 0,587 * G′+ 0,114 * B′
Chroma1 = -0,299 * R′ -0,587 * G′+ 0,886 * B′
Chroma2 = 0,701 * R′ -0,587 * G′ -0,114 * B′
Diese Gleichungen entsprechen den Empfehlungen CCIR 601-1, bei denen sowohl die Kompatibilität mit existierendem Gerät (z. B. Fernsehnorm) als auch die volle Qualität bei Geräten mit photographischen Kapazitäten gewährleistet sind.
Als letzter Schritt folgt die Quantisierung in 8-bit Werte für Speicherung. Die resultierenden Luma, Chroma1 und Chroma2-Werte sind auf ganze Zahlen zwischen 0 und 255 beschränkt.
Um zu ermitteln, welcher Farbraum mit YCC codiert werden kann, nimmt man die inverse Berechnung, das heißt man geht auf den Grenzflächen des durch Y, C1 und C2 aufgespannten Quaders entlang (z. B. Y=0 C1=0 . . 255 C2=0 . . 255 ist eine Grenzfläche) und berechnet dann die sich ergebenden R′G′B′-Werte, RGB-Werte und daraus die Lab-Werte. Der Codewürfel ist in Fig. 9 dargestellt. Da alle Umformungen bidirektionale Funktionen sind (mit Ausnahme von X zu X*), müssen die Grenzflächen im YCC-Format auch die Grenzflächen im Lab-Raum ergeben.
Die einzelnen Punkte auf den Außenseiten des Würfels repräsentieren einzelne Wertetripel und damit einzelne codierbare Farben. Alle Punkte im gesamten Volumen des Würfels stellen alle Codierungen durch YCC-Code dar, also alle einzelnen Farbwerte, die erfaßt werden (insgesamt 256³ Codes). Jedoch stellen nicht alle Codes "sinnvolle" Farbwerte dar.
Ausgehend von den YCC-Werten rechnet man über R′, G′ und B′ in das RGB-System um und von dort in das Lab-System:
R′= Luma + Chroma2
G′= Luma - 0,194 * Chroma1 - 0,509 * Chroma2
B′= Luma * Chroma1
Im folgenden müssen die R′, G′ und B′-Werte dekomprimiert werden.
Für R′ <0,08125 gilt:
Für R′ < -0,08125 gilt:
Für -0,08125 < R′ < 0,08125 gilt:
G und B kann dementsprechend berechnet werden.
Dann wird mit Hilfe von Mxyz (jedoch hier mit Farbwertsignalen nach CCIR-709) in den XYZ-Raum transformiert.
Im folgenden wird erklärt, warum es erheblich komplizierter ist, den entgegengesetzten Weg zur Bestimmung der Farbraumgrenzen zu wählen. Man wurde eine feste Luminanz (aus Lab) vorgeben, die ein festes Y nach sich zieht. Nun würde man zwei Parameter aus YCC vorgeben und den dritten dazu errechnen. Funktion K bezeichnet nachfolgend die Transformation von R′G′B′ nach RGB.
Y = 0,2126 * K (L+C2) + 0,7152 * K (L - 0,194 * C1 - 0,509 * C2) + 0,0722 * K (L+C1)
Aus dieser Formel erkennt man, daß bei fester Luminanz und damit festem Y und zwei festen Werten aus Luma, Chroma1 und Chroma2 nicht explizit die dritte Größe errechnet werden kann.
Diese könnte nur mit Fallunterscheidungen (siehe R′G′B′ nach RGB) kombiniert mit iterativen Lösungen ermittelt werden. Danach müßte noch entschieden werden, ob der errechnete Wert überhaupt im Intervall von 0 bis 255 liegt. Das ist sehr rechenintensiv und aufwendiger als folgende Methode.
Man tastet wie angesprochen die äußeren Wände des YCC-Würfels ab, rechnet jeden einzelnen Wert in Lab um und entscheidet dann, ob L in dem zu betrachtenden Intervall liegt (z. B. für L=50 zwischen 48 und 52). Liegt er nicht in dem Intervall, so wird der Wert verworfen. Interessant ist die Frage, ob man negative X, Y und Z-Werte zuläßt.
Da RGB negativ werden dürfen, können auch negative XYZ-Werte auftreten. Negative Y-Werte hätten negative Luminanzen zur Folge, was man ausschließen möchte, jedoch werden negative X- und Z-Werte zugelassen.
Dies führt zu dem Problem eines Sprunges in der Funktion von X zu X* und Z zu Z*. Im positiven Bereich lautet die Funktion:
Diese Funktion punktsymmetrisch um den Ursprung gespiegelt:
Dieser Sprung um 0 in X und Z bewirkt einen Sprung im Lab-Diagramm. In Fig. 9 ist der Begrenzungszug aufgezeichnet für YCC für Farben der Luminanz zwischen 48 und 50%. Die Lücken entstehen durch die Sprungstellen in der Umwandlung von X zu X* und Z zu Z*. Die einzelnen Punkte bilden nicht eine scharfe Begrenzungslinie, sondern sind etwas gestreut, da nur Werte zwischen 48 und 52% erlaubt sind. Um eine schärfere Kurve zu erreichen, müßte man das Intervall enger wählen, was jedoch eine geringere Anzahl von Werten im Bereich zur Folge hätte. Man muß einen Kompromiß zwischen Streuung und Anzahl der Werte eingehen.
Ergänzt man die Punkte zu einem geschlossenen Kurvenzug, so erkennt man, daß der codierbare Raum sicherlich in erheblichem Maße über den Bereich des Spektralfarbenzuges hinausgehen wird und so Farben beinhaltet, die nicht existieren. Deshalb wird der YCC-Raum durch die Schnittmenge zwischen Spektralfarbenzug und oben angegebenem Raum begrenzt (vgl. Fig. 10).
CCIR-709 im Vergleich zu Optimalfarben
Die CCIR-709 Empfehlung beinhaltet Farbwertsignale R, G und B, die leicht von den Farbwertsignalen der DIN 6169 abweichen. Die Primärfarben entsprechen den Phosphorfarben, die weitgehend bei Monitoren verwendet werden. Bei der Einschränkung der Farbwertsignale zwischen Null und Eins entspricht der CCIR-709 Farbraum dem Monitorfarbraum.
Dieser Farbraum wird sowohl mit den berechneten Grenzen der Optimalfarben verglichen als auch mit den Grenzen tatsächlich gemessener Oberflächenfarben. Die YCC-Codierung für die Photo-CD erlaubt negative Werte für die Farbwertsignale sowie Werte größer Eins. Werden die Photos auf den Monitor gegeben, so werden diese Werte wieder auf das Intervall von Null bis Eins beschränkt, so daß der Monitorfarbraum eingehalten wird. Werden die Photos ausgedruckt, so kann der größere Druckfarbraum ausgenutzt werden.
CCIR-709 empfiehlt folgende Farbsignalwerte:
rx = 0,64   ry = 0,33   gx = 0,3   gy = 0,6   bx = 0,15   by = 0,06
Aus diesen Werten erhält man nach 2.3 folgende Matrix:
Die Richtigkeit dieser Matrix ist leicht nachzuprüfen, wenn man folgende Gleichungen aufstellt (damit können auch die Farbsignalwerte einer Matrix ermittelt werden):
Um die Farbraumgrenzen für CCIR-709 zu erhalten, geht man wie folgt vor: Man fährt dies Grenzgeraden im RGB-System ab und transformiert die daraufliegenden Punkte in den XYZ-Raum und anschließend in den Lab-Raum. Daraus erhält man die luminanzabhängigen Farbraumgrenzen des CCIR-709. Die Fig. 11 bis 15 zeigen den Vergleich zwischen dem CCIR-709 Farbraum, dem Farbraum der durch Farbmessungen bestimmten Oberflächenfarben und den theoretischen Grenzen der Oberflächenfarben. Für diese Figuren gilt wie folgt:
Optimalfarben: berechnete Grenzen der Oberflächenfarben (Reflexionsfarben).
Oberflächenfarben: gemessene Grenzen der Oberflächenfarben.
Die theoretischen Grenzen für Oberflächenfarben (Optimalfarben) liegen außerhalb der gemessen Grenzen für Oberflächenfarben. Relativ stark gesättigte Farben scheinen in der Natur nicht vorzukommen. Gerade bei 10% Luminanz erkennt man, daß nur ca. 15% des theoretischen Oberflächenfarbraumes durch Messungen bestätigt wurden der weite Ausläufer in den negativen b-Bereich und positiven a-Bereich wird abgeschnitten.
Der CCIR-709 Farbraum kann nicht den Farbraum abdecken, den die gemessenen Oberflächenfarben einnehmen, es können also nicht alle Farben codiert werden. Bei sehr niedriger und sehr hoher Luminanz wie 10% und 90% ist der CCIR-709 Farbraum ausreichend groß, bei mittleren Luminanzen wie 30%, 50% oder 70% ist jedoch deutlich erkennbar daß Teilräume der Oberflächenfarben bei dieser Darstellung abgeschnitten werden.
Durch die RGB-Codierung mit CCIR-709 Primärfarben und einer Einschränkung der Farbwerte von 0 bis 1 ist eine absolut farbgetreue Wiedergabe von Bildinformation nicht möglich, da der darstellbare Farbraum zu klein ist. Dasselbe gilt für Bildwiedergabe durch Monitore, da deren Farbraum identisch dem CCIR-709 Farbraum ist (da die Codierung auf Monitorfarben zugeschnitten ist).
3.2 YCC im Vergleich zu Optimalfarben
Um den mit YCC-Codierung abgedeckten Farbraum mit dem der Oberflächenfarben zu vergleichen, werden die Farbräume der YCC-Codierung und die theoretischen Grenzen der Oberflächenfarben zusammengelegt. Dazu sei zu erwähnen, daß von dem YCC-Code nur der Farbraum berücksichtigt wird, der sich aus der Schnittmenge zwischen Spektralfarbenzug und YCC-Farbraum ergibt. Damit wird ein großer Teil des YCC-Farbraumes nicht berücksichtigt, daß diese Codes nicht realisierbare Farben repräsentieren. Da bei YCC-Codierung nur einzelne Codes (Integerzahlen von Luma, Chroma1 und Chroma2 von 0 bis 255) in Lab-Werte umgerechnet werden, ergeben sich für deren Farbraumgrenzen einzelne Punkte. Der Vergleich ist in den Fig. 16-20 dargestellt.
Der Farbraum des YCC-Codes wird bei 10% begrenzt durch die Purpurgerade den Spektralfarbenzug, der bei dieser niedrigen Luminanz nahezu gleich der Optimalfarbengrenze im Bereich "links oben" ist, und durch die Begrenzung des YCC-Codes. Bei dieser Darstellung erkennt man, daß der YCC-Code nicht nur den gesamten theoretischen Oberflächenfarbenraum darstellen kann, sondern auch noch etwas weitere Bereiche des Spektralfarbenzuges abdeckt. Die Begrenzung des YCC-Raumes geschieht fast ausschließlich durch den Spektralfarbenzug, lediglich die untere Spitze des Spektralfarbenraumes wird durch den YCC-Code abgeschnitten.
Bei 30% Luminanz kann der gesamte Oberflächenfarbenbereich im YCC-Code dargestellt werden. Der YCC-Coderaum wird begrenzt von der Purpurgeraden, dem Spektralfarbenzug und dem YCC-Code. Man erkennt, daß ein weiterer Bereich in positiver a-Richtung außerhalb des Optimalfarbenbereiches codiert werden kann. Auf die gemessenen Grenzen der Oberflächenfarben zum Vergleich kann verzichtet werden, da schon alle Optimalfarben durch YCC-Codierung abgedeckt sind.
Bei 50% Luminanz erkennt man, daß der Spektralfarbenzug und der Optimalfarbenzug divergieren. Dies kommt daher, da bei Optimalfarben in einem Bereich um eine bestimmte Wellenlänge integriert wird, um auf die gegebene Luminanz zu kommen und bei dem Spektralfarbenzug die Normspektralwerte mit einem Faktor multipliziert werden, um die gewünschte Luminanz zu erhalten. Optimalfarben existieren nur bis zu einer Luminanz von 100%, der Spektralfarbenzug hingegen wird mit steigender Luminanz immer größer.
Bei 90% ist der Farbraum, der durch YCC-Code darstellbar ist, erheblich größer als der der theoretisch möglichen Reflexionsfarben. Dies rührt zum einen daher, daß der YCC-Farbraum sich bis zu Luminanzen von 163% erstreckt und daher bei 90% noch nicht so stark zurückgegangen ist, zum anderen kommt es daher, daß wie vorher angesprochen bei hohen Luminanzen der Spektralfarbenzug immer weiter wird (vergleiche Spektralfarbenzug mit Optimalfarbengrenze).
Alles in allem kann man sagen, daß durch den YCC-Code alle theoretisch möglichen Reflexionsfarben dargestellt werden können.
Quantisierungsfehler
Bei der digitalen Speicherung von Bildern werden kontinuierliche Farbwerte in diskrete Werte umgewandelt. Dadurch entsteht ein Quantisierungsfehler, der die exakte Wiedergabe der Bildinformation beeinträchtigt. Diesen Quantisierungsfehler möchte man so klein wie möglich halten. Ziel dieses Kapitels ist es, verschiedene Quantisierungsmethoden im Hinblick auf Farbcodierung miteinander zu vergleichen.
Als Bezugsraum dient der physiologisch äquidistante Lab-Farbraum, aus dem Testfarben zum Vergleich benutzt werden. Dieser Raum wird äquidistant mit Werten von a und b zwischen -128 und +128 und L-Werten zwischen 0 und 100 abgetastet. In diesem Raum liegen fast alle theoretisch möglichen Oberflächenfarben. Die einzelnen Farbwerte werden in den zu untersuchenden Farbraum transformiert dort werden die Werte quantisiert, wieder in den Lab-Raum zurücktransformiert und der sich ergebende Fehler berechnet Folgende Farbräume werden dazu untersucht:
RGB-Raum ohne Kompression (CCIR-709)
RGB-Raum mit Kompression (R′G′B′-Raum)
YCC-Raum (komprimiert)
XYZ-Raum.
Bei der Kompression wird die Funktion benutzt, die bei der YCC-Codierung Standard ist; so werden bei R′G′B′-Codierung die RGB-Werte mit folgender Funktion beaufschlagt, bevor sie quantisiert werden:
Für R < 0,018 R′ = 1,099 * R0,45 -0,99
Für R < 0,018 R′ = 4,5 * R.
Die Quantisierung im YCC-Raum erfolgt entsprechend der Kodak-Technologie, die Werte Y C1 und C2 werden auf ganze Zahlen zwischen 0 und 255 gerundet. Im RGB und XYZ-Raum beträgt die Schrittweite für die Quantisierung . Die Werte dürfen nur im Bereich zwischen 0 und 1 liegen und um dort 256 Abstufungen (8bit-Codierung wie bei YCC) zu erhalten muß obige Schrittweite gewählt werden
Der dadurch resultierende quadratische Fehler wird nach Rücktransformation in den Lab-Raum mit folgender Formel berechnet [Mar86]:
Der für das visuelle System interessante Fehler ist der relative Fehler bezüglich des RGB oder xy-Systems. Das Auge ist zum Beispiel bei niedrigen Helligkeiten viel empfindlicher als bei hohen Helligkeiten. (Ein Helligkeitsunterschied von einem Prozent wird bei 10% Helligkeit sofort erkannt, während dieser bei 90% Helligkeit nicht erkannt wird).
Im folgenden soll erklärt werden, warum bei der Fehlerberechnung der absolute quadratische Fehler gewählt wird.
Werden Werte vom XYZ-System in das Lab-System umgerechnet, so werden diese mit einer Funktion der 3. Wurzel beaufschlagt (von XYZ zu X* Y* Z*. Diese Wurzelfunktion hat einen ähnlichen Verlauf wie die Logarithmusfunktion. Die Logarithmusfunktion stellt den Zusammenhang zwischen absolutem und relativem Fehler dar.
Bei einer Quantisierung im RGB-Raum (oder YCC oder XYZ-Raum) und einer anschließenden absoluten Fehlerberechnung im Lab-Raum wird somit der relative Fehler bezüglich des visuellen Systems berechnet.
Einige Bereiche des zu betrachtenden Quaders (im Lab-Raum) können durch die einzelnen Codes nicht dargestellt werden. Der RGB-Raum beinhaltet den kleinsten der Räume. So werden nur die Farben, die im RGB-Raum liegen, zu den Berechnungen herangezogen. Bei Vergleichen dem Farbräume RGB und obigem Farbraum kann man davon ausgehen, daß nur etwa 15% der Farbenwerte zur Berechnung herangezogen werden.
Die Fehlerberechnungen wurden mit einer Schrittweite für a und b von 8 und für L von 5 durchgeführt. Damit ergibt sich eine Gesamtzahl von 21780 untersuchten Codes im Lab-Raum, wovon nur 2537 Codes im RGB-Raum liegen (und damit obige ja/nein-Verzweigung auf ja steht).
Es ergeben sich folgende Fehler:
Bei den beiden unkomprimierten Codes schneidet der RGB-Code besser ab als der XYZ-Code. Das ist verständlich, da nur Codes berücksichtigt werden, die im RGB-Raum liegen. Der XYZ-Raum jedoch ist größer als der RGB-Raum, dadurch werden die Quantisierungsschritte größer sowie der Fehler. Dieselbe Überlegung gilt für die komprimierten Codes, bei denen R′G′B′ besser abschneidet als YCC, da YCC einen größeren Raum darstellt als RGB. Da der für das visuelle System relevante Fehler der relative Fehler bezüglich des RGB-Systems ist, liegen bei äquidistanten Quantisierungsschritten die größten relativen Fehler bei kleinen RGB-Werten vor.
Durch die Kompandierung erhält man für kleine RGB-Werte kleine Quantisierungsschritte und für große RGB-Werte große Quantisierungsschritte und verringert so den gemittelten relativen Quantisierungsfehler.
Folgende Kommpandierungsfunktionen werden hinsichtlich der Minimierung des Quantisierungsfehlers miteinander verglichen:
Die 1. Funktion ist die Originalfunktion aus der Umrechnung XYZ nach X* Y* Z* (nach CIELAB), die 2. Kurve wird in der YCC-Codierung verwendet (CCIR-Empfehlung) und die 3. Funktion ist eine Wurzelfunktion angenähert an die CCIR-Funktion.
Bei dem Vergleich werden wieder die absoluten Fehler addiert, die sich bei Quantisierung im R′G′B′-Raum im Lab-Raum ergeben. Die Farbwertsignale entsprechen der CCIR-709 Empfehlung.
Die drei sich ergebenden Fehler unterscheiden sich nicht wesentlich voneinander, jedoch schneidet CCIR am besten ab. Überraschend schneidet die CIELAB-Funktion am schlechtesten ab. Den kleinsten maximalen Fehler hat CIELAB mit 0,64, gefolgt von der CCIR-Annäherung mit 0,96 und CCIR hat den größten maximalen Fehler mit 1,10.
Diese Kompandierungsfunktionen angewandt auf die XYZ-Codierung ergeben folgende Fehler:
Bei dieser Codierung schneidet die CCIR-Näherung am besten ab, die CCIR-Funktion liefert das schlechteste Ergebnis, obwohl sich auch hier die Fehler nicht groß unterscheiden. Der kleinste maximale Fehler tritt bei CIELAB auf mit 1,82, der größte maximale Fehler tritt bei CCIR auf mit 2,87. Auch mit Kompandierung schneidet die XYZ-Codierung schlechter ab als die RGB-Codierung (vergleiche obige Fehler).
5. Alternative Codierungsmethoden
Die RGB-Codierung mit den CCIR-Primärfarben hat zwar einen sehr kleinen Quantisierungsfehler erreicht, jedoch ist ihr Farbraum auf Monitorfarben begrenzt. Mit Filmmaterial oder Druck ist ein größerer Farbraum darstellbar, dem durch obige Codierung einige Farbbereiche abgeschnitten würden.
Die YCC-Codierung umfaßt den gesamten theoretisch möglichen Oberflächenfarbenbereich und noch mehr, durch diesen großen Farbraum wird jedoch der Quantisierungsfehler relativ hoch. Da die gespeicherten Bilder nur durch einen Monitor, einen Druck, ein Photo (beides Reflexionsfarben) oder durch Film (Transmissionsfarben) wiedergegeben werden können, würde es ausreichen, wenn man nur alle diese Farbräume durch eine Codierung abdecken würde.
Der folgend untersuchte Farbraum wird begrenzt von monochromatischen Primärfarben der Wellenlängen 620, 530 und 460nm (vgl. Fig. 26). Nach Untersuchung verschiedener Druck- und Filmfarbräume (SWOP, thermal transfer, dye diffusion thermal transfer, Kodak Q60, Grafic arts proofing material, IT8 film) kam man zu dem Ergebnis, daß obiger Farbraum so gut wie alle realisierbaren Farben in Bezug auf Film und Druck beinhaltet. Die Monitorfarben sind natürlich auch abgedeckt.
Die xy-Werte der obigen Wellenlängen erhält man entsprechend der Berechnung des Spektralfarbenzuges. Folgende Werte ergeben sich:
rx= 0,6915   gx= 0,1547   bx= 0,1440
ry= 0,3084   gy= 0,8058   by= 0,0297
Die Grenzen dieses Farbraums werden im Lab-System mit dem Optimalfarbenzug und den gemessenen Oberflächenfarbengrenzen verglichen. Dazu muß die Matrix Mxyz aufgestellt werden.
Der Vergleich des RGBmono-Farbraumes mit den gemessenen Grenzen der Oberflächenfarben und den theoretischen Grenzen der Oberflächenfarben ist in den Fig. 21 bis 25 dargestellt.
Zwar werden durch diese Codierung nicht immer die Optimalfarben erreicht, jedoch wird der gemessene Oberflächenfarbraum vollständig abgedeckt. Der Farbraum, der durch Transmissionsfarben dargestellt werden kann, wird weitgehend von dem der gemessenen Oberflächenfarben abgedeckt. Diese Codierung deckt also alle druck- und filmtechnisch realisierbaren Farben ab. Vergleicht man diesen Farbraum mit dem CCIR-709 Farbraum, so erkennt man die Expansion durch andere Wahl der Primärfarben, die in allen Luminanzbereichen stattfinden. Die Farben nahe den Optimalfarben müssen nicht codiert werden können da sie durch Film oder Druck nicht darstellbar sind. Der Quantisierungsfehler ist ein weiterer Punkt der Qualität dieses Raumes. Um diesen zu ermitteln muß erst die exakte Inverse der Matrix Mxyz, mono berechnet werden.
Mit den Matrizen Mxyz, mono und Mxyz, mono -1 lassen sich Lab-Werte in den neuen RGB-Raum transformieren, dort werden sie kompandiert, wieder rücktransformiert und dann wird der Quantisierungsfehler berechnet. Folgende Fehler ergeben sich:
Der Quantisierungsfehler ist größer als der Fehler mit CCIR-Primärfarben. Das ist dadurch zu erklären, daß hier der Farbraum größer ist und dadurch die Quantisierungsschritte größer sind.
Auch hier ist der Fehler ohne Kompandierung (lineare Kompandierung) erheblich größer als mit Kompandierung. Insgesamt schneidet die RGB-Codierung mit den monochromatischen Primärfarben bei den Wellenlängen 460nm, 530nm und 620nm in Bezug auf den Quantisierungsfehler besser ab als die YCC-Photo-CD Codierung.
Diese hat jedoch den entscheidenden Vorteil, daß durch Speicherung von einem Luma und zwei Chromawerten Datenreduktion durchgeführt werden kann, indem jedem Pixel ein Lumawert zugeordnet wird, aber nur jedem zweiten Pixel die beiden Chromawerte zugeordnet werden und dann interpoliert wird. Da das Auge in Bezug auf Luminanzen sehr empfindlich ist, Chrominanzunterschiede jedoch nicht so gut wahrnehmen kann, ist dies möglich. Dadurch erreicht man eine Datenreduktion von 50%.
Der nächste Ansatz geht davon aus, den RGB-Raum mit den monochromatischen Primärfarben (RGBmono) mit der CCIR-Funktion zu kompandieren und den R′G′B′-Raum dann auch in einen Raum mit einer Luminanz und zwei Chrominanzen zu transformieren und dort zu quantisieren.
Dadurch könnte man ebenfalls die Datenkompression, jedem 2. Pixel nur den Luminanzwert zuzuordnen, durchführen. Die Transformationsmatrix MLCC muß folgende Struktur haben:
Die Gewichte a, b und c lassen sich aus den y-Werten der Primärfarben berechnen, aus den Normspektralwerten der jeweiligen Wellenlänge
Damit lautet die Matrix:
Die Werte L, C1 und C2 werden in einen Bereich zwischen 0 und 255 transformiert und dort 8bit quantisiert.
L8bit = 255 * L
C18bit = 130,9 * C1 + 128
C28bit = 174,5 * C2 + 128
In diesem LCC-Raum erfolgt dann die Quantisierung. Um den Quantisierungsfehler zu berechnen, muß man nach Quantisierung in den R′G′B′ zurückrechnen und dann in den Lab-Raum.
Damit ist man wieder im R′G′B′-Raum, den man dann in den Lab-Raum transformiert. Bei der Kompandierung wird nach CCIR verfahren.
Um den Quantisierungsfehler dieses Systems mit dem Fehler der Photo-CD (YCC) zu vergleichen, wird der Fehler für YCCneu berechnet, da sich die Grenzen des zu betrachtenden Farbraumes (hier RGBmono) geändert haben. Folgende Fehler ergeben sich:
Die LCC-Codierung schneidet unwesentlich besser ab als die YCC-Codierung. Der Fehler von RGBmono nach LCC ist von 0,32 nach 0,52 gestiegen. Der LCC-Coderaum wird uneffektiver genutzt. So können zum Beispiel bei L=0 oder L=255 C1 und C2 nur die Werte 128 annehmen die restlichen Codes werden verschenkt.
Um einen niedrigen Quantisierungsfehler zu erhalten aber trotzdem die Datenkompression durchführen zu können, kann man jedoch folgendes machen. Man speichert für jedes zweite Pixel die R′G′B′-Werte und jedes andere 2. Pixel den Luminanzwert L (vgl. Fig. 1). Für jedes Paar an Pixeln muß man so nur 7 Berechnungen durchführen (vgl. Fig. 2).
Da das Lösen von Gleichungen Zeit kostet, möchte man so wenig wie möglich berechnen, da so der Bildaufbau beschleunigt wird. Die Wandlung von Werten mit Hilfe von Funktionen wie der Kompandierung oder Dekompandierung sind oben nicht mit aufgezählt, da diese über Look-Up Tabellen hardwaretechnisch implementiert werden können und so zu keiner relevanten Zeitverzögerung beitragen. Die anderen obigen Berechnungen müssen über Software implementiert werden und erfordern so Rechenzeit.
Bei der Umwandlung in Fernsehsignale entsteht jedoch ein kleines Problem. Diese baut auf den Primärfarben nach CCIR-709 auf, wohingegen hier andere Primärfarben benutzt wurden. Um diese nach CCIR-709 zu wandeln, müssen die R′G′B′-Werte dekompandiert werden die RGBmono-Werte in RGBCCIR-709-Werte gewandelt werden und danach wieder kompandiert werden.
Kompandierung und Dekompandierung können mit Look-Up Tabellen erledigt werden die Wandlung der Primärfarben erfordert jedoch insgesamt 3 Gleichungen pro Pixel. Insgesamt müssen so pro zwei Pixel (eines mit L-Wert und eines mit R′G′B′-Werten) 13 Gleichungen gelöst werden. Die Matrix zur Berechnung der Werte RGBCCIR-709 aus RGBmono lautet:
Bei der Photo-CD Codierung werden den Pixeln entweder nur der Luminanzwert oder der Luminanzwert und die Chrominanzen zugeordnet (vgl. Fig. 29). Bei vereinfachter Betrachtungsweise, daß paarweise abwechselnd I und 3 Werte gespeichert werden, müssen pro 2 Pixel 8 Gleichungen gelöst werden (vgl. Fig. 30), um bei Monitor als Ausgabemedium auf gammakorrigierte RGB-Werte zu kommen.
Da Primärfarben verwendet werden, die der Fernsehnorm CCIR-709 entsprechen, müssen diese nicht mehr gewandelt werden. So ist vom Rechenaufwand die YCC-Codierung der LCC-Codierung überlegen (8 Gleichungen gegen 13 Gleichungen). Bei dem Quantisierungsfehler schneidet jedoch die LCC-Codierung besser ab als YCC:
Im linken Teil wurde nur der Fehler errechnet, der bei Angabe aller drei Werte entsteht (Fehler für jedes zweite Pixel). Im rechten Teil wurde nur der Fehler errechnet, der bei Quantisierung für die Luminanz entsteht. Da der Luminanzfehler bei LCC geringer ist, kann man davon ausgehen, daß durch die Interpolation der Gesamtfehler bei LCC (für die anderen zweiten Pixel) geringer ist als bei YCC.
Die letzte hier vorgestellte Art der Codierung ist Folgende: Man codiert wie bei der Photo-CD üblich, nur speichert man für jedes 2. Pixel die R′G′B′-Werte (mit Monitorprimärwerten) und für jedes andere 2. Pixel wie gehabt den Luminanzwert. Da die R′G′B′-Werte hier negativ und größer als 1 werden können, müssen diese Grenzen ausgerechnet werden. Da die Grenzen für die R′G′B′-Werte von dem zu betrachtenden Farbraum abhängen, werden diese für den Farbraum RGBmono berechnet, da dieser für die Druck und Filmfarben ausreicht. Bei einem größeren Farbraum wurden die Grenzen von R′G′B′ weiter nach "außen rutschen" und dies würde den Quantisierungsfehler wieder vergrößern.
Für den Farbraum RGBmono (mit Primärfarben bei 460nm 530nm und 620nm) ergeben sich für R′G′B′ (mit Primärfarben nach CCIR-709 und Kompandierungsfunktion CCIR) folgende Grenzen:
-0,8 < R′ < 1,3
-0,4 < G′ < 1,1
-0,4 < B′ < 1,1
Damit können die R′G′B′-Werte wie folgt 8bit-quantisiert werden:
R8bit′= 121 * (R′ + 0,8)
G8bit′= 170 * (G′ + 0,4)
B8bit′= 170 * (B′ + 0,4)
Für die Dekodierung müssen nur 7 Gleichungen pro 2 Pixel berechnet werden (vgl. Fig. 2).
Folgender Quantisierungsfehler ergibt sich:
Zusammenfassend kann man zu dieser Codierung sagen, daß alle Oberflächenfarben codiert werden können, daß der Quantisierungsfehler um ca. 28% gegenüber der YCC-Codierung niedriger ist und daß der Rechenaufwand bei Umwandlung der gespeicherten Werte in "Bildschirmwerte" geringer ist. Diese Codierungsmethode ist eine Verbesserung zur YCC-Codierung.
Die YCC-Codierung bei der Photo-CD speichert für eine Zeile jeweils abwechselnd nur den Luminanzwert und alle 3 Werte ( 1 Luminanz und 2 Chrominanzen ). In der nächsten Zeile wird für jedes Pixel nur der Luminanzwert gespeichert und in der übernächsten wieder gemischt gespeichert und so weiter. Wenn man für die Pixel, die 3 Werte erhalten, nach obiger RGB-Codierung (Monitorprimärfarben, RGB-Werte so erweitert, daß alle gemessenen Oberflächenfarben codierbar sind) codiert und diese RGB-Werte speichert statt der YCC-Werte, erzielt man insgesamt einen niedrigeren Quantisierungsfehler und einen schnelleren Bildaufbau als die bisher angewandte YCC-Codierung.

Claims (10)

1. Verfahren zum Codieren einer in Farbpixeln vorliegenden Bildinformation in Farbwerte, wobei die Farbe einzelner Farbpixel jeweils in einen oder mehrere Farbwerte codiert wird, dadurch gekennzeichnet, daß die Farben verschiedener Farbpixel wechselnd nach wenigstens zwei unterschiedlichen Codierungsmethoden in die/den entsprechende(n) Farbwert(e) codiert werden.
2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß die codierten Farbwerte ge­ speichert und/oder übertragen werden.
3. Verfahren nach Anspruch 1 oder 2, dadurch gekennzeichnet, daß als eine der wenigstens zwei Codierungsmethoden eine Codierungsmethode mit einem komprimierbaren Code, insbesondere die YCC-Codierungsmethode mit einem Luminanz- und zwei Chro­ minanzwerten, angewendet wird.
4. Verfahren nach einem der vorstehenden Anspruche, dadurch gekennzeichnet daß als eine der wenigstens zwei Codierungsmethoden eine mit einem geringen Quantisierungsfehler behaftete Codierungsmethode, insbesondere die RGB-Codierungsmethode min anschlie­ ßender Kompandierung (Gamma-Korrektur), angewendet wird.
5. Verfahren nach einem der vorstehenden Ansprüche, dadurch gekennzeichnet, daß als eine der wenigstens zwei Codierungsmethoden eine Codierungsmethode, insbesondere die RGB-Codierungsmethode mit anschließender Kompandierung (Gamma-Korrektur), an­ gewendet wird, deren codierte Farbwerte eine visuelle Darstellungsvorrichtung, insbe­ sondere ein Monitor, ein Drucker oder ein Fernsehgerät, unmittelbar zum visuellen Dar­ stellen der einzelnen Farbwerte verarbeiten kann.
6. Verfahren nach einem der vorstehenden Ansprüche dadurch gekennzeichnet, daß die in Vertikal-, in Horizontalrichtung und ggf. in Tiefenrichtung benachbarten Farbpixel einer zweidimensional, ggf. dreidimensional darstellbaren Bildinformation jeweils nach zwei der drei o.g. Codierungsmethoden abwechselnd codiert werden.
7. Verfahren nach einem der vorstehenden Ansprüche, dadurch gekennzeichnet, daß die RGB-Codierungsmethode mit Monitor-Primärfarben, insbesondere Primärfarben nach der CCIR-709-Empfehlung, angewendet wird und dabei der Wertebereich der RGB- Werte derart erweitert wird, daß alle durch Farbmessung ermittelten Oberflächenfarben codiert werden können.
8. Verfahren nach einem der vorstehenden Ansprüche, dadurch gekennzeichnet, daß ausge­ hend von der bei Photo-CD angewendeten YCC-Codierungsmethode wechselnd Farbpi­ xel in einen Luminanzwert und jeweils in gamma-korrigierte RGB-Werte codiert werden insbesondere entsprechend der bekannten YCC-Codierung, welche wechselnd in ledig­ lich einen Luminanz und jeweils einen Luminanz- und zwei Chrominanzwerte codiert, und ggf. bei der Decodierung die gamma-korrigierten RGB-Werte in die entsprechenden Luminanz- und die beiden Chrominanzwerte transformiert und anschließend die beiden fehlenden (bei der Kompression weggelassenen) Chrominanzwerte der komprimierten Farbpixel aus den durch die Transformation erhaltenen Chrominanzwerten ermittelt, ins­ besondere interpoliert werden.
9. Verfahren zum Codieren einer in Farbpixeln vorliegenden Bildinformation in Farbwerte, wobei die Farbe einzelner Farbpixel jeweils mit Hilfe der RGB-Codierungsmethode in die drei Farbwerte codiert wird, dadurch gekennzeichnet, daß der Wertebereich der RGB- Werte derart erweitert wird, daß alle durch Farbmessung ermittelten Oberflächenfarben codiert werden können.
10. Vorrichtung zum Durchführen eines Verfahrens nach einem der Ansprüche 1 bis 9.
DE1995142813 1995-11-16 1995-11-16 Verfahren zum Codieren von Farbinformationen sowie Vorrichtung zum Durchführen derartiger Verfahren Withdrawn DE19542813A1 (de)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE1995142813 DE19542813A1 (de) 1995-11-16 1995-11-16 Verfahren zum Codieren von Farbinformationen sowie Vorrichtung zum Durchführen derartiger Verfahren

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE1995142813 DE19542813A1 (de) 1995-11-16 1995-11-16 Verfahren zum Codieren von Farbinformationen sowie Vorrichtung zum Durchführen derartiger Verfahren

Publications (1)

Publication Number Publication Date
DE19542813A1 true DE19542813A1 (de) 1997-05-22

Family

ID=7777666

Family Applications (1)

Application Number Title Priority Date Filing Date
DE1995142813 Withdrawn DE19542813A1 (de) 1995-11-16 1995-11-16 Verfahren zum Codieren von Farbinformationen sowie Vorrichtung zum Durchführen derartiger Verfahren

Country Status (1)

Country Link
DE (1) DE19542813A1 (de)

Similar Documents

Publication Publication Date Title
DE19983253B4 (de) Die Kompression von Farbbildern auf der Grundlage einer zweidimensionalen diskreten Wavelet-Transformation, die ein scheinbar verlustloses Bild hervorbringt
DE60012653T2 (de) Bitlängenerweiterung durch Rauschverwendung in einer digitalen Anzeige
DE69833085T2 (de) Verfahren und Vorrichtung für die reversible Farbumwandlung
DE3431200C2 (de)
EP0020494B1 (de) Verfahren zur reproduktion von originalvorlagen welche bezüglich ihres farbgehaltes nach einem dreibereichtsverfahren abgetastet werden
DE19919600B4 (de) Einrichtung und Verfahren zum Komprimieren von Bilddaten, die von einem Bildsensor empfangen werden, der ein Bayer-Muster aufweist
DE69733456T2 (de) Bildverarbeitungsvorrichtung und -verfahren
DE60033484T2 (de) Umsetzung des Farbtonbereichs mit Erhaltung der lokalen Luminanzdifferenzen
DE69738477T2 (de) Farbtransformationsverfahren
DE69823593T2 (de) Fehlerdiffusion für Farbhalbtonrasterung mit Verringerung der lokalen Helligkeitsänderung
DE10251885B4 (de) Farbsignalverarbeitungseinrichtung für Farbanzeige mit mehreren Grundfarben und zugehöriges Verfahren
DE69926469T2 (de) Filterung von Bilddaten bei der Verarbeitung zusammengesetzter Dokumente
DE3940682C2 (de) Codiervorrichtung und System, bestehend aus einer Codiervorrichtung und einer Decodiervorrichtung für digitale Bilddaten
EP0346766A1 (de) Verfahren zur Reduktion von &#34;Blocking&#34;-Artefakten bei Videoszenen-Codierung mittels Diskreter Cosinus Transformation (DCT) bei niedriger Datenrate
DE60203850T2 (de) System und Verfahren zum Verarbeiten von Bildern mit aufgelöster Mosaikstruk- tur, um durch Farb-Aliasing hervorgerufenen Artefakte zu verringern.
DE10053301A1 (de) Verfahren zur farblichen Wiedergabe eines Graustufenbildes
DE3705873A1 (de) Verfahren zum verdichten und reproduzieren von farbbilddaten
DE19739266A1 (de) Verfahren und Vorrichtung zum Kodieren binärer Formen
DE60114651T2 (de) Verfahren zur Kompression von im Farbfilteranordnungsformat (CFA) aufgenommenen digitalen Bildern
WO2001024511A1 (de) Verfahren zur druckprozessanpassung mit erhaltung des schwarzaufbaus
DE10205476A1 (de) Verfahren zur Druckprozesstransformation des Farbdrucks für Schwarzweiß-Bilder
DE69833785T2 (de) Farbstanzverfahren für ein digitales videokompressionssystem
EP1631091B1 (de) Kodierung mehrerer binärer Eingangsdatenworte in ein Ausgangskodewort
DE60030900T2 (de) Bildverarbeitungsverfahren und -system
DE69936304T2 (de) Bereichsbasierte skalierbare bildkodierung

Legal Events

Date Code Title Description
8139 Disposal/non-payment of the annual fee