International, Inc. W K E Color Coordinate Systems for Accurate Color Image Editing Software Sergey Bezryadin, KWE International Inc, San Francisco, USA Pavel Bourov, UniqueIC’s, Saratov, Russia
PhotoShop gives us a MESS Over-lightening and disappearance of details on the wall Chromatic changes of colors and disappearance of details on the flowers Over-darkening and disappearance of the details in the shadow Chromatic changes of colors on the flower box
Is it possible? • Is this result really possible? • Yes • And there are TWO ways: • A lot of operations in PhotoShop by a highly advanced user. • Use of alternative algorithms and ONE operation. Let the computer do the routine Let the artist to work wonders
Plan • In this presentation, we will… • Formulate some of the current statements about what a color is, and state which of those we use and which we reject in our project. • Give new definitions for Brightness (B), Chroma (C), and Hue (H). • Present 3 new color coordinate systems DEF2, Bef and BCH. • Define main operations and recommend systems in which they work the best. • Show how to prepare a photo with a high dynamic range for printing.
Statements that we accept • Color is a sensation, which cannot be recorded nor can it be reproduced. • Color is caused by stimulus, some characteristics of which can be measured, in order to create another stimulus such that a human (not necessarily a dog or a monkey) is not able to distinguish it from the original stimulus (both cause the same sensation). • Stimulus can be described by Tristimulus Values RGB or XYZ and for each stimulus a 3-dimentional vector can be associated. All stimuli that cause the same sensation are associated with the same vector. • That is what we ACCEPT
Statements that we reject • Brightness, Chroma, Hue are not measurable. • If we want to change their value, we need to know what they are and how to measure them. • Definitions of Brightness and Chroma used in Television, HSV model, and others. • Primary Stimulus RGB or XYZ are orthonormal basis. • Pythagorean Theorem can be used for calculation of a vector’s length in any widely-used color coordinate system. • That is what we REJECT
Our Definitions of Brightness, Chroma, and Hue • B –Brightnessa norm of the color vector S. • C – Chromaan angle between the color vector S and an axis D. • Axis D is a color vector representing Day Light (for example D65, D55, EE etc.). • H– Huean angle betweenaxis E and the orthogonal projection of the color vector S on the plane orthogonal to the axis D. • Axis E - the orthogonal projection of a color vector, corresponding to some fixed stimulus (for example, a monochromatic light with wavelength 700 nm), on the same plane. S B=||S||
Linear Color Coordinate System • Linear CCS is the color coordinate system in which each coordinate of two stimuli mix is equal to a sum of corresponding coordinates of those stimuli. • CCS is Color Coordinate System. • Only Linear CCS may be used for image resize because the use of non-linear CCS (such as sRGB IEC/4WD 61966-2-1 or CIE L*a*b*) for image resize leads to the violation of energy conservation law and results in visual image artifacts. • CIE XYZ is the primary linear CCS in Colorimetry. There are two standards: CIE XYZ 1931 and CIE XYZ 1964, which basis vectors span different subspaces.
Linear CCS DEF2 • Linear CCS DEF2 is designed based on the CIE 1931 data. • Digit “2” indicates 2º Standard Colorimetric Observer. • DEF2 is orthonormal, its design is based on the following restrictions: • D > 0 and Е = F = 0 for standard Day light D65. • E > 0 and F = 0 for monochromatic stimulus with 700 nm wavelength. • F > 0 for yellow stimulus. • CCS DEF2 is an orthonormal coordinate system according to J. Cohen metrics. We have done a research for design different orthonormal coordinate system. We tell you about it in next two presentation today. • The above restrictions uniquely determine coordinate transformation between CIE XYZ 1931 and DEF2.
Coordinate Transformation: CIE XYZ 1931 ↔ DEF2 • Coordinate transformation between CIE XYZ 1931 and DEF2is performed though the matrices of transformation. • XYZis essentially anon-orthonormal system according to J. Cohen metrics.
Plane D = 1 • Plane, where D= 1, is convenient for depicting Gamut of various image reproduction devices, for example, for Gamut of sRGB monitor. sRGB Monitor Gamut White Light
Plane Y = 1 • Plane, where Y = 1, is a plane of constant brightness according to CIE • It is much less convenient for Gamut representation. • This an additional illustration of the fact that XYZ is not orthonormal. White Light sRGB Monitor Gamut
Chromatic Coordinates (x,y) • Chromatic coordinates (x,y) and coordinate system Yxy are widely used for Gamut depicting and for illustration of some color image transformations. • We believe that it is very important to preserve chromatic coordinates unchanged when manipulating Brightness and/or Contrast. • All image editing software (as far as we know) does not meet the above requirement. • Introducing similar chromatic coordinates in DEF is not appropriate. • Coordinates E and F might take negative values. • There are stimuli for which (D + E + F) = 0.
CCS Bef and Chromatic Coordinates e& f • There is an alternative way of defining chromatic coordinates. • B is Brightness. • e and f are chromatic coordinates. • Defining Vector direction through its interception with a unit sphere has more geometrical sense than coordinates of its intersection with any plane.
Chromatic Coordinates e&f sRGB Monitor Gamut White Light
Spherical CCS BCH • Variables B, C, and H, defined earlier, are spherical coordinates related with D, E, F through the following equations: • With this definition, Brightness, Chroma and Hue have a clear physical meaning. • This helps to effectively modify image editing algorithms.
Main Operations • We will cover 6 main operations: • Brightness editing • Contrast editing • Saturation editing • Hue editing • Color to monochrome transformation • Global dynamic range modification without affecting local dynamic range
Brightness Editing • Brightness modification should not affect chromatic coordinates. • In CCS BCH it might be made as follows: • f(B) is a non-negative monotone increasing function. • For example • k is a positive number. • In some graphic editors this transformation is named as program exposure compensation.
Contrast Editing • Contrast modification should not affect chromatic coordinates. • In CCS BCH it might be made as follows: • f(B,B0) is a non-negative monotone increasing function of B. • For example • γ is a positive number. • Bavgis an average brightness in some neighborhood of point.
Saturation Editing • Saturation modification should affect neitherBrightness, nor Hue. • In CCS BCH it might be made as follows: • f(B) is a non-negative monotone increasing function. • For example • k is a positive number. • This operation decreases saturation in two times (colors become more faded). C'=k ·C
Hue Editing • Hue modification should affect neitherBrightness, nor Saturation. • In CCS BCH it might be made as follows: • h(H) is some function. • Usually, in order to make this transformation, graphic editors apply a turn on a fixed angle α. • In CCS BCH it might be made as follows:
Color to Monochrome Transformation • Color-to-monochrome transformation should not affect Brightness. • It can be made, for example, as follows: • C0is Chroma of the chosen color. • H0is Hue of the chosen color. • For grey image, C=H= 0
Global Dynamic Range Modification • Global dynamic rangemodificationshould not affect chromatic coordinates. • Global dynamic rangemodification should not affect Local dynamic range. • For example • γ is a positive number. • Bavgis an average brightness in some neighborhood of point. • B0is a chosen fixed level of brightness. • This transformation allows for preparation of a photo with a high dynamic range for printing (paper has a dynamic range about 30). • High dynamic range my happen due to big parts of an image being lightened by sources of different brightness. • The brightness of different parts may differ in hundreds or thousands times.