User:Joger/Color Management: Difference between revisions
No edit summary |
No edit summary |
||
Line 3: | Line 3: | ||
== The CIE 1931 XYZ color space == | == The CIE 1931 XYZ color space == | ||
[[File:CIE 1931 chromaticity diagram.png|thumb|CIE 1931 chromaticity diagram]] | [[File:CIE 1931 chromaticity diagram.png|thumb|CIE 1931 chromaticity diagram]] | ||
The CIE XYZ 1931 color space lays the foundation for understanding color management concepts such as color spaces, gamut, white point, and transfer functions. Specifically, the CIE color space defines a generic color coordinate system that is used do define other color spaces. This coordinate system consists of three axes, with coordinates x, y, and z. Usually, the z axis is projected onto the x-y plane and looks like the characteristic shark fin. At around its locus we find the colors that corresponds to a monochromatic light source when it is swept from 400 nm to 700 nm. | The CIE XYZ 1931 color space lays the foundation for understanding color management concepts such as color spaces, gamut, white point, and transfer functions. Specifically, the CIE color space defines a generic color coordinate system that is used do define other color spaces. This coordinate system consists of three axes, with coordinates x, y, and z. Usually, the z axis is projected onto the x-y plane and looks like the characteristic shark fin. At around its locus we find the colors that corresponds to a monochromatic light source when it is swept from 400 nm to 700 nm. | ||
== Derivation of the XYZ coordinate system == | The point of the CIE 1931 XYZ color space is that it gives every visible color a well-defined (x, y) coordinate. This is important when we derive other color spaces, such as the sRGB color space, because concepts such as primary colors, gamut, and white point are defined based upon the corresponding (x, y) coordinate in the CIE coordinate system. Having a common reference becomes particularly important when we need to convert between different color spaces. | ||
=== Derivation of the CIE XYZ coordinate system <ref name="DV">Charles Poynton, Digital Video and HDTV Algorithms and Interfaces, 2003, ISBN 1558607927</ref> === | |||
[[File:CIE_1931_color-matching_functions.png|thumb|400x400px|CIE 1931 matching functions]] | |||
The idea behind the CIE 1931 XYZ color space is that to be able to reproduce colors, a camera needs 3 different sensors, each responding to different wavelengths of light. Since light exists across a spectrum of frequencies, such sensors needs to respond to a wide range of wavelengths, although its sensitivity is highest at a specific frequency, and falls off for higher and lower frequencies. The CIE 1931 ''matching functions'' X(λ), Y(λ) and Z(λ) defines the response of a 3 sensor camera that is able to capture all visible colors, and these matching functions defines the CIE color space. We find the response of a single sensor as an integral over the spectrum of the light source and its corresponding matching function. For example, if a source emits light in a spectrum between 560 and 660 nm, a sensor with the characteristics of the X(λ) or Y(λ) matching functions will get a response, whereas the sensor following the Z(λ) matching function will have almost no response. | The idea behind the CIE 1931 XYZ color space is that to be able to reproduce colors, a camera needs 3 different sensors, each responding to different wavelengths of light. Since light exists across a spectrum of frequencies, such sensors needs to respond to a wide range of wavelengths, although its sensitivity is highest at a specific frequency, and falls off for higher and lower frequencies. The CIE 1931 ''matching functions'' X(λ), Y(λ) and Z(λ) defines the response of a 3 sensor camera that is able to capture all visible colors, and these matching functions defines the CIE color space. We find the response of a single sensor as an integral over the spectrum of the light source and its corresponding matching function. For example, if a source emits light in a spectrum between 560 and 660 nm, a sensor with the characteristics of the X(λ) or Y(λ) matching functions will get a response, whereas the sensor following the Z(λ) matching function will have almost no response. | ||
Given an input spectrum of light (colors), we calculate the '''CIE tristimulus''' values X, Y, and Z by accumulating its emission power at each discrete frequency, weighted by the corresponding CIE 1931 matching function. If an analog sensor was following perfectly one of the matching functions, the calculated value would roughly correspond to the output voltage of the sensor. | |||
In color management, it is beneficial to remove the absolute power of the output values by normalizing them against the total power from all the sensors:<blockquote> | |||
x = X / (X + Y + Z) y = Y / (X + Y + Z) z = Z / (X + Y + Z)</blockquote> | |||
The x, y, and z values are known as CIE chromaticity, and the x and y coordinates corresponds to the axes of the CIE 1931 chromaticity diagram. In practice z is redundant because x + y + z = 1. Also note that the x, y, and z chromaticity coordinates are abstract values, and have no direct physical interpretation<ref name="DV" />. | |||
=== Luminance === | |||
''Luminance,'' denoted ''Y,'' unit cd·m<sup>-2</sup> (nits) is a linear light quantity that is loosely coupled with what we think of as ''brightness.'' The luminance of a light source is calculated by accumulating its power over its spectrum, weighted by the Y(λ) CIE color matching function. It turns out that this function agrees well with how humans perceive brightness. Mid-range green values will contribute more to the response than red and blue, but all visible colors contribute. For example, if we have three light sources, red, green, and blue, and they each emit the same power, the green light source will appear the brightest, while the blue light source will appear the darkest<ref name="DV" />. This means that formulas that calculates luminance from R, G, and B values, will put more weight on green colors than the other primaries, as shown in the Rec. ITU-R BT.709 which standardizes some classes of displays: <blockquote><sup>709</sup>''Y'' = 0.2126 ''R'' + 0.7152 ''G'' + 0.0722 ''B''</blockquote>Here, luminance gets 21% of its power from red, 72% of its power from green, and 7% of its power from blue<ref name="DV" />. Note that luminance is typically not used in video processing, because we rarely intend to reproduce the absolute luminance of the actual scene<ref name="DV" />. | |||
'''''Relative luminance''''', is a unitless quantity, and is proportional to the scene luminance up to the maximum luminance of the screen/device. Relative luminance is calculated by normalizing the scene luminance to 1 or 100 units, relative to a ''reference white''<ref name="DV" /> which is assumed to appear white to the observer in the ambient environment. | |||
'''''Relative luminance''''', is a unitless quantity, and is proportional to the scene luminance up to the maximum luminance of the screen/device. Relative luminance is calculated by normalizing the scene luminance to 1 or 100 units, relative to a ''reference white''<ref name="DV" /> which is assumed to appear white to the observer in the ambient environment. | |||
'''''Luma''','' denoted ''Y'<nowiki/>'' , is calculated as a weighted sum of gamma corrected ''R'<nowiki/>'', ''G'<nowiki/>'', and ''B'<nowiki/>'' components<ref name="DV" />. Luma is therefore not a linear quantity. | '''''Luma''','' denoted ''Y'<nowiki/>'' , is calculated as a weighted sum of gamma corrected ''R'<nowiki/>'', ''G'<nowiki/>'', and ''B'<nowiki/>'' components<ref name="DV" />. Luma is therefore not a linear quantity. |
Revision as of 19:42, 18 February 2024
This document contains personal draft notes on color management topics, and can not be considered a reference on the topic.
The CIE 1931 XYZ color space
The CIE XYZ 1931 color space lays the foundation for understanding color management concepts such as color spaces, gamut, white point, and transfer functions. Specifically, the CIE color space defines a generic color coordinate system that is used do define other color spaces. This coordinate system consists of three axes, with coordinates x, y, and z. Usually, the z axis is projected onto the x-y plane and looks like the characteristic shark fin. At around its locus we find the colors that corresponds to a monochromatic light source when it is swept from 400 nm to 700 nm.
The point of the CIE 1931 XYZ color space is that it gives every visible color a well-defined (x, y) coordinate. This is important when we derive other color spaces, such as the sRGB color space, because concepts such as primary colors, gamut, and white point are defined based upon the corresponding (x, y) coordinate in the CIE coordinate system. Having a common reference becomes particularly important when we need to convert between different color spaces.
Derivation of the CIE XYZ coordinate system [1]
The idea behind the CIE 1931 XYZ color space is that to be able to reproduce colors, a camera needs 3 different sensors, each responding to different wavelengths of light. Since light exists across a spectrum of frequencies, such sensors needs to respond to a wide range of wavelengths, although its sensitivity is highest at a specific frequency, and falls off for higher and lower frequencies. The CIE 1931 matching functions X(λ), Y(λ) and Z(λ) defines the response of a 3 sensor camera that is able to capture all visible colors, and these matching functions defines the CIE color space. We find the response of a single sensor as an integral over the spectrum of the light source and its corresponding matching function. For example, if a source emits light in a spectrum between 560 and 660 nm, a sensor with the characteristics of the X(λ) or Y(λ) matching functions will get a response, whereas the sensor following the Z(λ) matching function will have almost no response.
Given an input spectrum of light (colors), we calculate the CIE tristimulus values X, Y, and Z by accumulating its emission power at each discrete frequency, weighted by the corresponding CIE 1931 matching function. If an analog sensor was following perfectly one of the matching functions, the calculated value would roughly correspond to the output voltage of the sensor.
In color management, it is beneficial to remove the absolute power of the output values by normalizing them against the total power from all the sensors:
x = X / (X + Y + Z) y = Y / (X + Y + Z) z = Z / (X + Y + Z)
The x, y, and z values are known as CIE chromaticity, and the x and y coordinates corresponds to the axes of the CIE 1931 chromaticity diagram. In practice z is redundant because x + y + z = 1. Also note that the x, y, and z chromaticity coordinates are abstract values, and have no direct physical interpretation[1].
Luminance
Luminance, denoted Y, unit cd·m-2 (nits) is a linear light quantity that is loosely coupled with what we think of as brightness. The luminance of a light source is calculated by accumulating its power over its spectrum, weighted by the Y(λ) CIE color matching function. It turns out that this function agrees well with how humans perceive brightness. Mid-range green values will contribute more to the response than red and blue, but all visible colors contribute. For example, if we have three light sources, red, green, and blue, and they each emit the same power, the green light source will appear the brightest, while the blue light source will appear the darkest[1]. This means that formulas that calculates luminance from R, G, and B values, will put more weight on green colors than the other primaries, as shown in the Rec. ITU-R BT.709 which standardizes some classes of displays:
709Y = 0.2126 R + 0.7152 G + 0.0722 B
Here, luminance gets 21% of its power from red, 72% of its power from green, and 7% of its power from blue[1]. Note that luminance is typically not used in video processing, because we rarely intend to reproduce the absolute luminance of the actual scene[1].
Relative luminance, is a unitless quantity, and is proportional to the scene luminance up to the maximum luminance of the screen/device. Relative luminance is calculated by normalizing the scene luminance to 1 or 100 units, relative to a reference white[1] which is assumed to appear white to the observer in the ambient environment.
Luma, denoted Y' , is calculated as a weighted sum of gamma corrected R', G', and B' components[1]. Luma is therefore not a linear quantity.
Color primaries, or primaries, are the primary colors (typically red, green, blue for digital video and image processing). These are not absolutes, but are selected from the visible spectrum based on constraints of the capturing or display device. These primaries define a triangle of colors that can be represented[2]. Other colors are expressed as a weighted sum of primaries[3]. Primary colors are defined by their (x,y) coordinates in a CIE diagram.
White point is a set of tristimulus values that is used to define 'white' on a display device[4]. The white point is engineered such that equal amounts of R, G, and B primaries will appear white for a reference observer in a reference environment[3]. The white point is defined by its (x, y) coordinates in the CIE diagram.
Gamut is the set of all possible colors that can be captured or reproduced by a device. The gamut is a volume of colors spanning the three primary colors R, G, and B, and the white point[3]. This means that a device can not capture or reproduce colors that for example are greener than its green primary, or whiter than its white point.
Transfer functions map numerical coordinates to and from a color space. The transfer functions can be linear, or non-linear. Typical examples of non-linear transfer functions are Gamma 2.2 and the non-linear transfer function defined by sRGB [3].