Die Farbmodelle HSV und HLS -
Widersprüche in Theorie und Praxis

Nahezu alle Computergrafik- und Bildbearbeitungstools verwenden den Begriff Farbsättigung, und jeder Nutzer hat wohl auch ungefähr eine Vorstellung davon, was er beinhaltet. Mit dieser Vorstellung muß er sich in der Regel begnügen, denn in der Literatur zur Computergrafik findet man allenfalls verschwommene Formulierungen und sogar Widersprüchliches. Unkorrektheiten pflanzen sich auf abenteuerliche Weise fort. Die Farbmodelle HSV und HLS, die jeweils als eine Komponente die Sättigung enthalten, verwenden unterschiedliche Definitionen für diesen Begriff. Hinweise darauf fehlen, darüber hinaus werden beide Farbräume fast immer falsch erklärt, so daß Unklarheiten eher verstärkt werden. Der vorliegende Artikel soll einen Beitrag dazu leisten, die auf diesem Gebiet vorhandenen Defizite abzubauen.

Grundlage: Das RGB-Farbmodell

Das in der Computergrafik bekannteste Farbmodell ist das RGB-Modell. Es entspricht der Funktionsweise der Farbmonitore. Farben werden auf Monitoren durch additive Mischung von rotem, grünem und blauem Licht erzeugt. Für das RGB-Modell werden die Anteile von Rot, Grün und Blau (Primärfarben) auf den Wertebereich [0,1] festgelegt. Die Gesamtheit der auf Monitoren darstellbaren Farben ist somit in einem Einheitswürfel enthalten. Sind die Beträge der Primärfarben gleich groß, erhält man einen Grauwert. Diese Werte, von Schwarz (R = G = B = 0) bis Weiß (R = G = B = 1), liegen auf der Hauptdiagonalen des Würfels.


Abb.1: Der RGB-Würfel

Da es schwierig ist, durch Festlegen der Rot-, Grün- und Blau-Anteile Farbvorstellungen zu verwirklichen, wurden Modelle entwickelt, die auf Beschreibung durch Farbton, Sättigung und Helligkeit basieren - HSV und HLS. In fast jedem Grafik-, Visualisierungs- oder Modellierungs-System steht dem Nutzer eines von beiden zur Auswahl von Farben zur Verfügung. Dabei stehen H für den Farbton (Hue), S für die Sättigung (Saturation) und V (Value) bzw. L (Lightness) für die Helligkeit der Farbe.

Beide Farbräume entstehen aus dem RGB-Raum durch eine nichtlineare Transformation: V bzw. L stellen die vertikale Achse dar und liegen im Bereich [0,1]. Der Farbton H wird als Winkel um diese Achse angegeben. Über die Bedeutung der Sättigung S, die ebenfalls im Bereich [0,1] liegt, wird im folgenden zu sprechen sein.

Das HSV-Modell

1978 wurde von Alvy Ray Smith [12] das HSV-Farbmodell entwickelt. Es entsteht durch folgende Transformation aus dem RGB-Raum:

Mit S als Abstand von der vertikalen Achse ergibt sich als Farbraum dieses Modells ein Zylinder, dessen Grundfläche schwarz ist und auf dessen Deckfläche sich alle Farben mit max(R,G,B) = 1 befinden (Abb. 2).


Abb.2: Darstellung des HSV-Raumes mit S als Abstand von der vertikalen Achse (zeigt die Schnittfläche bei H=0°)


Abb. 3: RGB-Würfel mit Teilwürfel


Abb. 4a: Jede horizontale Schnittfläche der HSV-Pyramide ist die Projektionsfläche eines RGB- (Teil-) Würfels


Abb. 4b: Linien mit konstantem S auf einer beliebigen horizontalen Schnittfläche der HSV-Pyramide

Smith nannte das Modell jedoch das Hexcone Model und beschreibt es, ausgehend vom RGB-Raum, als Pyramide mit einer sechseckigen Grundfläche: Betrachtet man den RGB-Würfel bzw. seine Teilwürfel gemäß Abb. 3 entlang der Diagonale von Weiß nach Schwarz bzw. von einem Grauwert nach Schwarz (etwas anschaulicher: Man betrachtet die auf der schwarzen Ecke stehenden Würfel von oben), so sieht man jeweils eine Sechseckfläche von unterschiedlicher Größe (Abb. 4a), und alle diese Sechseckflächen übereinander ergeben eine Pyramide. Die horizontalen Schnittflächen der HSV-Pyramide sind also Projektionsflächen des RGB-Würfels bzw. seiner Teilwürfel. Bei dieser Art der Darstellung des HSV-Raumes ist der Parameter S nicht identisch mit dem Abstand von der V-Achse! S ist (nach (1)) auf den Außenkanten jeder Sechseckfläche gleich 1 und, wie Smith beweist, auf einer zu den Außenkanten parallelen Sechsecklinie jeweils konstant (Abb. 4b). Das Aufzeigen von Kurven und Flächen mit konstanter Helligkeit bzw. konstanter Sättigung spielt in der Farbmetrik eine große Rolle.


Abb. 5: Diese Abbildung ist falsch: Bei der Darstellung des HSV-Raumes als Pyramide ist S nicht der Abstand von der V- Achse (zeigt die Schnittfläche bei H=0°)

In der Computergrafik-Literatur wird der HSV-Raum fast immer als Pyramide [2], [3], [4], [5], [7], [13], manchmal aber auch als Kegel dargestellt. Allerdings wird dort stets der Eindruck erweckt, die Formel (1) liefere mit S den Abstand von der V-Achse (Abb. 5). In einigen Fällen ist offensichtlich, daß selbst Autoren diesem Irrtum unterlegen sind [2], [13], in anderen Fällen kann man es vermuten. Einzelne Andeutungen zum Parameter S, wie man sie hier und da finden kann, sind beim besten Willen nicht zu verstehen:

Die Sättigung wird relativ zur Farbpalette gemessen, die das Modell darstellt." [4]

Der Parameter S repräsentiert das Verhältnis der Reinheit der Farbe zu ihrer maximalen Reinheit bei
S = 1
." [5], [3]

Alle Abbildungen der HSV-Pyramide, bei denen die horizontale Achse mit S bezeichnet wird, sind bestenfalls irreführend, vom mathematischen Standpunkt aus jedoch falsch. In der Arbeit von Smith ist eine derartige Darstellung nicht enthalten.

Den HSV-Raum als Kegel darzustellen, entbehrt jeder theoretischen Grundlage. In [4] existieren sogar ohne weitere Erklärungen beide Versionen - Pyramide und Kegel. In [2] wird behauptet, daß der HSV-Raum ein Kegel sei, abgebildet ist jedoch die Pyramide.

Das HLS-Modell

Das von der Firma Tektronix entwickelte HLS-Farbmodell ist durch die folgende Transformation definiert:

Die Berechnung von H entspricht der des HSV-Raumes mit dem Unterschied, daß dort bei H = 0° die Farbe Rot, hier aber die Farbe Blau liegt. Das entspricht einer Drehung um 120°. In neueren Darstellungen und in den meisten Computer-Anwendungen werden die Farbkreise des HSV- und des HLS-Raumes jedoch einheitlich berechnet, so daß auch hier die Farbe Rot bei 0° liegt.


Abb. 6: Darstellung des HLS-Raumes mit S als Abstand von der vertikalen Achse (zeigt die Schnittfläche bei H=0°)

Auch hier ergibt sich als Farbraum ein Zylinder, sofern man S als Abstand deutet (Abb. 6). Die Grundfläche diese Zylinders (L = 0) ist schwarz, die Deckfläche (L = 1) weiß. Die Farben mit dem maximalen Buntanteil (max(R,G,B) = 1 und min(R,G,B) = 0) liegen auf der Ebene L = 0.5 bei S = 1.


Abb. 7: Der HLS-Farbraum von Tektronix

Die ursprüngliche Form der Darstellung ist die eines Doppelkegels mit einer schwarzen und einer weißen Spitze. L und S werden als Prozentzahlen angegeben. S beträgt auf der Mittelachse 0% und auf den Außenflächen 100% (Abb. 7, [11]). Auch hier ist S also nicht gleichzusetzen mit dem Abstand von der Mittelachse!


Abb. 8: Fehler bei dieser Darstellung des HLS-Raumes:
- Doppelpyramide statt Doppelkegel
- S als Bezeichnung der horizontalen Achse (zeigt die Schnittfläche bei H=0°)

Die Abbildung 8 zeigt eine häufig in der Literatur anzutreffende Darstellung des HLS-Raumes [2], [4], [7], [13], die außer der mit S bezeichneten Abszisse einen weiteren Fehler enthält: die Sechseckform, für die hier keine theoretische Grundlage existiert. Die Ähnlichkeit des auf der schwarzen Ecke stehenden RGB-Würfels mit einer Doppelpyramide als Argument dafür [7] ist jedenfalls nicht zu akzeptieren.

Durch die Nachlässigkeit, mit der dieses Thema in der Computergrafik-Literatur behandelt wird, nehmen die allermeisten Leser an, daß durch die oben genannten Formeln Farbräume in Form einer Pyramide bzw. Doppelpyramide (oder eines Kegels bzw. Doppelkegels - je nach Literatur) definiert werden, wobei S jeweils der Abstand von der vertikalen Achse ist. In diesen Fällen müßte jedoch der Parameter S gewissen Einschränkungen unterliegen. Beim HSV-Raum beispielsweise dürfte es keine Farben mit S>V geben. Sowohl mit Hilfe der Formeln als auch in Grafik-Applikationen am Computer lassen sich aber sehr wohl solche Farben erzeugen. Abb. 9 zeigt die Auswahl einer Farbe mit S = 1.000 und V = 0.239.


Abb. 9: Farbauswahl mit dem HSV-Modell in Alias/Wavefront-Produkten

In der Regel wird in den neueren Versionen der Software-Produkte die Sechseckform nicht mehr verwendet.

Saturation und Chroma - zwei Begriffe aus der Farbmetrik

Ein weiteres Problem, das in der Computergrafik-Literatur völlig übergangen wird, stellt die unterschiedliche Bedeutung des Begriffes Sättigung in den beiden genannten Farbräumen dar. Während beim HSV-Raum eine Farbe mit Weißanteil (min(R,G,B) > 0) als nicht voll gesättigt gilt, kann sie beim HLS-Raum als gesättigt betrachtet werden, nämlich wenn max(R,G,B) = 1 und min(R,G,B) < 1 zutrifft. Das sind außer dem Punkt R = G = B = 1 alle Farben, die sich auf der Außenfläche des oberen Kegels befinden. Diese Farben entsprechen allen Farben der Ebene V = 1 der HSV-Pyramide, allen sogenannten Farbarten außer Weiß. Abb. 10 zeigt die Auswahl einer fast weißen, aber voll gesättigten Farbe mittels HLS in REAL 3D. Die Sättigung hat hier mit 240 den höchsten Wert, den Sättigung und Helligkeit in dieser Applikation annehmen können. Für Rot, Grün und Blau ist 255 der größte Wert.


Abb. 10: Farbauswahl mit dem HLS-Modell in REAL 3D

In der Literatur findet man folgende Beschreibungen für den Begriff Farbsättigung:

Die Sättigung gibt an, wie weit eine Farbe von einem Grauwert gleicher Intensität entfernt ist. Rot ist stark gesättigt, Rosa ist relativ ungesättigt." [4]

“... Wertkomponente der Farbart, die den Mangel an Weißanteil kennzeichnet." [6]

“... die Qualität der Farbe, mit der wir eine starke Farbe von einer schwachen unterscheiden." [13]

Dieser Parameter gibt an, wie “rein" oder wie “ausgewaschen" die Farbe des Lichts erscheint." [3]

Die Sättigung mißt den Abstand von weißem bzw. grauem Licht. Intensive Farben wie Rot und Blau sind hoch gesättigt, Pastelltöne dagegen gering." [2]

Diese sehr allgemein gehaltenen Aussagen treffen für den Parameter S des HSV-Raumes zu, für den des HLS-Raumes jedoch nicht.

Auch die Bezeichnungen für die hier betrachtete Farbeigenschaft sind vielfältig - sowohl in der englischen als auch in der deutschen Fachliteratur. Außer Sättigung = Saturation sind das Colourfulness, Purity, Chroma, Chromaticness, Relative Chroma, Reinheit, Buntheit, Buntgrad. Leider werden oftmals umgangssprachliche Bezeichnungen und Begriffe, die wohldefiniert sein sollten, vermischt. Nicht selten werden sie dazu verwendet, sich gegenseitig zu erklären [4].

Auf dem Gebiet der Farbmetrik sind Saturation und Chroma feststehende Begriffe, die als Maß für die Reinheit einer Farbe Unterschiede aufweisen, und auf diese Unterschiede sollte hingewiesen werden. In der neueren Computergrafik-Literatur sind solche Hinweise zu finden in [7]. Hier wurden die Definitionen von Munsell [10] übernommen, der schon 1905 einen durch die Parameter Hue, Value (nicht gleichzusetzen mit dem V des HSV-Raumes) und Chroma beschriebenen Farbraum entwickelte. Danach wird als Saturation die “Colourfulness" einer optischen Wahrnehmung relativ zu ihrer eigenen Helligkeit bezeichnet und als Chroma die “Colourfulness" relativ zur Helligkeit von Weiß.

Gleichbedeutende Definitionen erhalten die Begriffe Sättigung und Buntheit in [1]: “Einer bestimmten Farbart ist eine bestimmte Sättigung zugeordnet, die im Fall von Unbunt verschwindet. Die Buntheit dagegen nimmt bei einer bunten Farbe zu, wenn sich deren Helligkeit (Leuchtdichte) bei konstanter Farbart erhöht."

Daraus folgt, daß Farben, die nicht die volle Intensität (Helligkeit) besitzen (max(R,G,B) < 1), entsprechend geringeres Chroma, aber, wenn min(R,G,B) gleich Null ist, volle Saturation haben. Auch hier zeigt sich die Übereinstimmung der Farbeigenschaft Saturation mit dem Parameter S des HSV-Raumes. Die Definition eines Reinheitsbegriffs entsprechend dem Parameter S des HLS-Raumes, bei dem auch Farben mit Weißanteil maximale Werte haben können, war in der einschlägigen Literatur allerdings nicht zu finden.

Die Bedeutung des Begriffes Chroma für die Farbmodelle HSV und HLS

Nach dem bisher Gesagten könnte man Chroma mit C = max(R,G,B) - min(R,G,B) berechnen und befindet sich damit in Übereinstimmung mit der Erläuterung des Begriffes Buntgrad in [9]. Außerdem ergibt sich der interessante Tatbestand, daß ein mit dieser Formel berechnetes Chroma für die Pyramiden-Darstellung des HSV-Raumes und die Doppelkegel-Darstellung des HLS-Raumes die Abstände von der vertikalen Achse liefert:

Bezeichnet man den mittleren der drei Werte R, G und B mit mid(R,G,B), so gilt

0 £ min(R,G,B) £ mid(R,G,B) £ max(R,G,B) £ 1

und somit 0 £ mid(R,G,B) - min(R,G,B) £ C


Abb. 11: Skizze zur Ermittlung des Abstandes DP in Abhängigkeit von R, G und B

Nun betrachte man das gleichseitige Dreieck DEF in Abb. 11:

Aus DF = C, PF = mid(R,G,B) - min(R,G,B) und * = 60°

ergibt sich

ZP = (mid(R,G,B) - min(R,G,B)) sin(60°)

DZ = C - (mid(R,G,B - min(R,G,B)) cos(60°))

und somit:

Die zuletzt angestellten Betrachtungen sind für den Nutzer am Computer kaum von Bedeutung. Die HSV- und HLS-Tools der Grafik-, Visualisierungs- und Modellierungs-Software stellen befriedigende Arbeitsmittel zum Einstellen der gewünschten Farben dar, wenn auch der unterschiedliche Gebrauch des Begriffes “Sättigung" in den beiden Modellen irritiert.

Nicht zufrieden kann man damit sein, daß in der Computergrafik-Literatur die Farbmodelle falsch erklärt und Fachbegriffe unexakt und widersprüchlich definiert werden.

Gisela Schnabel
schnabel@rz.hu-berlin.de

Literatur

[1] Bergmann; Schäfer: Lehrbuch der Experimentalphysik, Band 3: Optik Berlin, New York: de Gruyter, 1993

[2] Bungartz, Hans-Joachim; Griebel, Michael; Zenger, Christoph: Einführung in die Computergraphik. Braunschweig, Wiesbaden: Friedrich Vieweg & Sohn Verlagsgesellschaft, 1996.

[3] Fellner, W.D.: Computer Grafik. Reihe Informatik, Band 58 Mannheim: BI Wissenschaftsverlag 1992

[4] Foley, James D.; van Dam, Andries; Feiner, Steven K.; Hughes, John F.: Computer Graphics. Reading, Massachusetts: Addison-Wesley Publishing Company, 1990.

[5] Hearn, Donald; Baker, Pauline M.: Computer Graphics. Englewood Cliffs, New Jersey: Prentice Hall, Inc., 1994.

[6] Iwainsky, Alfred; Wilhelmi, Wolfgang: Lexikon der Computergrafik und Bildverarbeitung. Braunschweig, Wiesbaden: Friedrich Vieweg & Sohn Verlagsgesellschaft, 1994.

[7] Jackson, Richard; MacDonald, Lindsay; Freemann, Ken: Computer Generated Color. Chichester, England:
John Wiley & Sons, 1994.

[8] Joblove, George H.; Greenberg, Donald: Color Spaces For Computer Graphics. SIGGRAPH 78, 20-25.

[9] Küppers, Harald: Das Grundgesetz der Farbenlehre. Köln: DuMont Buchverlag, 1997.

[10] Munsell, A. H.: A Color Notation. Baltimore: Munsell Color Company, 1926

[11] Murch, Gerald M.; Taylor, Johann M.: Color in Computer Graphics: Manipulating an Matching Color. Advanced in Computer Graphics V. Berlin: Springer-Verlag 1989.

[12] Smith, Alvy Ray: Color Gamut Transform Pairs. SIGGRAPH 78, 12-19.

[13] Watt, Alan: 3D Computer Graphics. Wokingham, England: Addison-Wesley Publishing Company, 1993.

Weiterführende Literatur

Wyszecki, Gunter; Stiles,W. S.: Color Science. New York: John Wiley & Sons, 1982.