scRGB

scRGB is a wide color gamut RGB (Red Green Blue) 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 without the complexity of color management. The cost of maintaining compatibility with sRGB is that approximately 80% of the scRGB color space consists of imaginary colors.

Large positive numbers allow high dynamic range images to be represented, though the range is inferior to that of some other high dynamic range formats such as OpenEXR.[1]

Contents

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(16) encoding is the linear RGB channels converted by 8192 x %2B 4096. Compared to 8-bit sRGB this ranges from about 1/2 the color resolution near 0.0 to more than 10 times the color resolution near 1.0. Storage as 16 bits clamps the linear range to -0.5 .. 7.4999.

The 12-bit scRGB-nl encoding is the linear RGB channels passed through the same gamma function as sRGB (for negative numbers use -f(-x)) and then converted by 1280 x %2B 1024. This is exactly 5 times the color resolution of 8-bit sRGB, and 8-bit sRGB can be converted directly with 5 x %2B 1024. The linear range is clamped to the slightly larger -0.6038 .. 7.5913

A 12-bit encoding called scYCC-nl is the conversion of the non-linear sRGB levels to JFIF-Y'CbCr and then converted by 1280 Y' %2B 1024 and 1280 Cx %2B 2048. 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 2^n-1 where n is 12 or 16.

Usage

The first implementation of scRGB was the GDI+ API in Windows Vista. At WinHEC 2008 Microsoft announced that Windows 7 would support 48-bit scRGB (which for HDMI can be converted and output as xvYCC). The components in Windows 7 that support 48-bit scRGB are Direct3D, the Windows Imaging Component, and the Windows Color System and they support it in both full screen exclusive mode and in video overlays.[2][3]

See also

Color portal
Computer graphics portal

References

  1. ^ "High Dynamic Range Image Encodings". Greg Ward. Retrieved 2010-10-25.
  2. ^ "WinHEC 2008 GRA-583: Display Technologies". Microsoft. 2008-11-06. http://download.microsoft.com/download/5/E/6/5E66B27B-988B-4F50-AF3A-C2FF1E62180F/GRA-T583_WH08.pptx. Retrieved 2008-12-06. 
  3. ^ "Windows 7 High Color Support". Softpedia. 2008-11-26. http://news.softpedia.com/news/Windows-7-High-Color-Support-98741.shtml. Retrieved 2008-12-06. 

External links