| scRGB | |
|---|---|
| IEC 61966-2-2:2003 | |
Intersection of the scRGBgamut with the X+Y+Z=.6443 plane (the gamut varies depending on the intensity as it is a cube with a non-zero origin). | |
| Native name |
|
| Status | Published |
| First published | January 23, 2003; 22 years ago (2003-01-23)[1] |
| Organization | |
| Committee | TC/SC: TC 100/TA 2 |
| Authors | |
| Base standards | sRGB |
| Related standards | Adobe RGB color space |
| Domain | Color space,color model |
scRGB is a wide colorgamutRGB color space created byMicrosoft andHP that uses the same color primaries and white/black points as thesRGB color space but allows coordinates below zero and greater than one. The full range is −0.5 through just less than +7.5.
Negative numbers enables scRGB to encompass most of theCIE 1931 color space while maintaining simplicity andbackward compatibility with sRGB by not changing theprimary colors. However this means approximately 80% of the scRGB color space consists ofimaginary colors. Numbers greater than 1.0 allowhigh dynamic range images to be represented, though the dynamic range is less than other formats.[2]
Two encodings are defined for the individual primaries: a linear 16 bit per channel encoding and a nonlinear 12 bit per channel encoding.
The 16 bitscRGB(16) encoding is thelinear RGB channels converted by8192x + 4096. Compared to 8-bit sRGB this ranges from almost2+1⁄2 times the color resolution near 0.0 to more than 14 times the color resolution near 1.0. Storage as 16 bits clamps the linear range to−0.5..7.4999.
The 12-bitscRGB-nl encoding is the linear RGB channels passed through the same opto-electric conversion function assRGB (for negative numbers use−f(−x)) and then converted by1280x + 1024. This is exactly 5 times the color resolution of 8-bit sRGB, and 8-bit sRGB can be converted directly with5x + 1024. The linear range is clamped to the slightly larger−0.6038..7.5913.
A 12-bit encoding calledscYCC-nl is the conversion of the non-linearsRGB levels toJFIF-Y'CbCr and then converted by1280Y′ + 1024,1280Cb + 2048,1280Cr + 2048. This form can allow greater compression and direct conversion to/fromJPEG files and video hardware.
With the addition of an alpha channel with the same number of bits the 16-bit encoding may be seen referred to as 64 bit and the 12-bit encoding referred to as 48-bit. Alpha is not encoded as above, however. Alpha is instead a linear 0-1 range multiplied by2n − 1 wheren is 12 or 16.
The much newerDXGIscRGB HDR swapchains store the linear sRGB channels as 16-bithalf float and has a much larger range of over ±60,000, without any enforced clamps.[citation needed] Storing linear sRGB values as floating point is very common in modern computer graphics software.
The first implementation of scRGB was theGDI+ API inWindows Vista. AtWinHEC 2008 Microsoft announced thatWindows 7 would support 48-bit scRGB (which forHDMI can be converted and output asxvYCC). The components in Windows 7 that support 48-bit scRGB areDirect3D, theWindows Imaging Component, and theWindows Color System and they support it in both full screen exclusive mode and in video overlays.[3][4]
The origin of the sc in scRGB is shrouded in mystery. Officially it stands for nothing. According to Michael Stokes (the national and international leader of the International Electrotechnical Commission, or IEC, group working on scRGB), the name appeared when the Japanese national committee requested a name change from the earlier XsRGB (excess RGB). The two leading candidates for meaning are "specular RGB" because scRGB supports whites greater than the diffuse 1.0 values, and "standard compositing RGB" because the linearity, floating-point support, HDR (high dynamic range) support, and wide gamut support are ideally suited for compositing. This meaning also implicitly emphasizes that scRGB is not intended to be directly supported in devices or formats, since by definition scRGB encompasses values that are beyond both the human visual system and (even theoretically) realizable physical devices.[5]