ScRGB
scRGB is a wide color gamut RGB color space created by Microsoft and HP that uses the same color primaries and white/black points as the sRGB 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 the CIE 1931 color space while maintaining simplicity and backward compatibility with sRGB by not changing the primary colors. However this means approximately 80% of the scRGB color space consists of imaginary colors. Numbers greater than 1.0 allow high dynamic range images to be represented, though the dynamic range is less than other formats.
Encoding
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 bit scRGB encoding is the linear RGB channels converted by. Compared to 8-bit sRGB this ranges from almost 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.
The 12-bit scRGB-nl encoding is the linear RGB channels passed through the same opto-electric conversion function as sRGB and then converted by. This is exactly 5 times the color resolution of 8-bit sRGB, and 8-bit sRGB can be converted directly with. The linear range is clamped to the slightly larger.
A 12-bit encoding called scYCC-nl is the conversion of the non-linear sRGB levels to JFIF-Y'CbCr and then converted by,,. This form can allow greater compression and direct conversion to/from JPEG 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 by where is 12 or 16.
The much newer DXGI scRGB HDR swapchains store the linear sRGB channels as 16-bit half float and has a much larger range of over ±60,000, without any enforced clamps. Storing linear sRGB values as floating point is very common in modern computer graphics software.