Fact-checked by Grok 2 weeks ago

scRGB

scRGB is a colorimetric RGB color space with an extended and , standardized by the (IEC) in its 2003 publication IEC 61966-2-2 as an extension of the color space for use in systems and equipment. It features linear encoding of light levels, shares the same primaries (defined by x, y coordinates: red at 0.64, 0.33; green at 0.30, 0.60; blue at 0.15, 0.06) and D65 as , and supports 16-bit per channel encoding with values ranging from -0.5 to approximately 7.5 to represent relative scene radiance, including sub-black details and specular highlights beyond white. This design ensures with while enabling high-fidelity color reproduction for wide content. Developed in the context of advancing for and displays, scRGB addresses limitations in by accommodating a broader range of visible colors and levels, making it suitable for encoding, editing, and communicating scene-referred data in applications like graphics rendering, , and . The space is scene-referred rather than display-referred, emphasizing accurate capture of real-world lighting conditions over device-specific output. In practice, scRGB has been adopted in key platforms, including Microsoft's Windows ecosystem—where it supports (HDR) workflows in for advanced color spaces and in Windows Presentation (WPF) for color structure handling—and Android's system for linear, sRGB-compatible processing. Its integration facilitates seamless color exchange across devices, though practical implementation often involves transformations to handle the extended range, such as clamping or for standard displays.

Overview

Definition and Purpose

scRGB is a wide color gamut RGB color space developed by Microsoft and Hewlett-Packard as an extension of the standard. It employs the same color primaries and white and black points as but features an extended linear value range for each channel from -0.5 to approximately +7.5. This design, formalized in the international standard IEC 61966-2-2, supports 16 bits per channel in linear encoding (48 bits per pixel total) or 12 bits per channel with nonlinear encoding (36 bits per pixel). The primary purpose of scRGB is to enable the encoding, editing, and communication of images with wide , extended color gamut, and higher , facilitating more accurate representation of scene radiance in workflows. By allowing values below 0 and above 1.0, it supports () content, capturing brighter highlights and deeper shadows while permitting the representation of the entire visible color —and even some mathematically defined "imaginary" colors outside physical realizability through negative primaries. This makes scRGB particularly suitable for applications in , , and advanced rendering where enhanced color fidelity and range are essential. scRGB maintains backward compatibility with sRGB by directly mapping content within the 0 to 1.0 value range without alteration, ensuring that standard images can be processed seamlessly within the scRGB framework.

Relation to sRGB

scRGB inherits the RGB primaries, , and black point directly from , ensuring perceptual consistency for standard colors. The primaries are defined as at chromaticity coordinates (x=0.64, y=0.33), at (x=0.30, y=0.60), and at (x=0.15, y=0.06), with the at D65 (x=0.3127, y=0.3290) and black at (0,0,0). In contrast to sRGB's nonlinear gamma encoding, scRGB employs linear light values, which permit negative components to represent undersaturated colors below and values exceeding 1 to capture supersaturated or high-luminance colors beyond . This linearity facilitates computational operations in graphics pipelines, such as blending and lighting, without the distortions introduced by sRGB's . The shared primaries and enable , allowing linear equivalents of content in the 0-1 range—derived via gamma decoding—to map directly into scRGB without requiring or primary matrix transformations, thus supporting seamless integration of standard material into extended workflows. By eschewing 's 8-bit gamma-encoded limitations, which clip wide-gamut colors and data to prevent overflow, scRGB's linear approach and expanded precision preserve such information, enabling more accurate representation in applications demanding broader color volumes.

Technical Specifications

Color Primaries and White Point

scRGB defines its color basis using the same primaries and as the color space, ensuring compatibility with established RGB workflows. The RGB primaries are specified by their CIE 1931 coordinates as follows: at (x=0.64, y=0.33, z=0.03), at (x=0.30, y=0.60, z=0.10), and blue at (x=0.15, y=0.06, z=0.79). These coordinates, derived from the BT.709 primaries, form the vertices of the triangle in the CIE xy . The white point is the CIE D65, with coordinates (x=0.3127, y=0.3290, z=0.3583), approximating average daylight conditions. This white point provides a reference for color balancing and ensures consistent rendering across environments. The black point is assumed to be at the origin (0,0,0) in CIE XYZ tristimulus values, representing the absence of light without a specified offset. To convert scRGB values to CIE XYZ tristimulus values, a 3x3 is applied to the linear RGB components. This matrix, identical to that of , is: \begin{pmatrix} X \\ Y \\ Z \end{pmatrix} = \begin{pmatrix} 0.4124 & 0.3576 & 0.1805 \\ 0.2126 & 0.7152 & 0.0722 \\ 0.0193 & 0.1192 & 0.9505 \end{pmatrix} \begin{pmatrix} R \\ G \\ B \end{pmatrix} The rows correspond to the contributions from each primary to the X, Y, and Z components, normalized such that the maps to (1,1,1). These specifications establish scRGB's foundation in device-independent while maintaining interoperability with -based systems. By adopting these primaries and D65 white point, scRGB achieves perceptual consistency in scene-referred imaging, where extended value ranges beyond the standard [0,1] interval expand the effective gamut without altering the core color basis.

Value Range and Gamut Coverage

The scRGB color space defines linear RGB components with a normalized value range from -0.5 to +7.5, enabling representation of both undersaturated and high-luminance colors beyond the standard sRGB limits. The lower bound of -0.5 accommodates values below black level, which can correspond to imaginary or non-physical colors in the CIE XYZ tristimulus space, while the sRGB-compatible subset occupies the interval from 0 to 1 for conventional diffuse surface colors. This extended range supports wide dynamic range imaging by allowing values greater than 1.0 to encode specular highlights and bright scene elements, up to a maximum luminance scaling factor of approximately 7.5 relative to reference white. In terms of gamut coverage, scRGB encompasses all visible surface colors within the range of -0.5 to 1.5 for its RGB components, leveraging the same primaries as but extending beyond them through negative values and supersaturation. Negative component values enable the representation of colors outside the traditional triangle, including some non-spectral (imaginary) colors that do not correspond to physical light spectra, thereby broadening the effective color volume. Values exceeding 1.0 further allow supersaturated colors, surpassing the gamut and incorporating portions of wider spaces like Adobe RGB and through enhanced luminance and chroma capabilities. The HDR capabilities of scRGB provide an extended for specular content, with the upper limit supporting highlights that represent approximately 2.9 stops above reference white in linear terms, facilitating scene-referred workflows for high-contrast imagery. Visualizations of scRGB coverage often appear in CIE chromaticity diagrams, where the primary triangle—identical to sRGB's—expands effectively via the full value range to enclose the Adobe RGB and overlap with regions, demonstrating its suitability for extended color reproduction.

Encoding and Transfer Functions

Linear Encoding

scRGB employs a linear encoding scheme to represent light intensities directly, without any nonlinear , making it suitable for scene-referred imaging and (HDR) applications. The primary variant, scRGB(16), uses 16 bits per channel for , , and components, providing discrete levels that ensure sufficient precision to avoid visible banding in HDR content. This allows for a far exceeding standard dynamic range (SDR) formats like sRGB. The encoding maps linear values in the from -0.5 to 7.4999 to 16-bit unsigned s (0 to ). The transformation formula is given by: \text{code value} = \round\left(8192 \times \text{linear value} + 4096\right) where \round denotes to the nearest , and clamping is applied if the result exceeds the 16-bit . This scaling centers the zero value at code 4096, allocates codes 0 to 4,095 for negative values from -0.5 to 0, 4,096 to 12,288 for the standard from 0 to 1, and 12,289 to for the extended from above 1 to approximately 7.5. The negative accommodates underscan or pre-black levels in pipelines. An optional alpha channel for is encoded linearly from 0 (fully transparent) to 1 (fully opaque), mapped to 16-bit integers from 0 to using a simple scaling: \text{alpha code} = \round(\text{linear alpha} \times 65535). This maintains perceptual consistency in compositing operations. In Graphics Infrastructure (DXGI), an HDR-optimized variant uses 16-bit half-precision floating-point () per channel, denoted as DXGI_FORMAT_R16G16B16A16_FLOAT in . This format supports an extended up to approximately ± without clamping, enabling extreme light levels in graphics rendering while preserving precision for values near zero. The linear nature facilitates efficient GPU computations for and effects.

Nonlinear Encoding Variants

Nonlinear encoding variants of scRGB adapt the linear light representation to perceptual uniformity and compatibility with existing display and compression pipelines, primarily through application of the opto-electronic transfer function (OETF). These variants facilitate integration of wide-gamut content into legacy systems without requiring full linear processing, enabling efficient handling in formats like and video codecs. The scRGB-nl variant employs 12 bits per channel to encode nonlinear RGB values, supporting a linear range from -0.6038 to 7.5913 after decoding. It applies the OETF to the linear scRGB values, which approximates human for display referral. The OETF is defined as follows: f(x) = \begin{cases} 12.92x & \text{if } x \leq 0.0031308 \\ 1.055 x^{1/2.4} - 0.055 & \text{if } x > 0.0031308 \end{cases} For negative linear values, the function is extended symmetrically as f(-x) = -f(x). The nonlinear result is then quantized using the mapping n = 1280 \times f(x) + 1024, where n is the 12-bit code value ranging from 0 to 4095, providing five times the resolution of 8-bit for enhanced gradation in highlights and shadows. Building on scRGB-nl, the scYCC-nl variant converts the nonlinear RGB to a 12-bit Y'CbCr representation suitable for subsampled image and video formats. Linear scRGB is first transformed to nonlinear RGB' via the sRGB OETF, then to Y'CbCr using the BT.709 primaries matrix: \begin{pmatrix} Y' \\ Cb \\ Cr \end{pmatrix} = \begin{pmatrix} 0.2126 & 0.7152 & 0.0722 \\ -0.1146 & -0.3854 & 0.5 \\ 0.5 & -0.4542 & -0.0458 \end{pmatrix} \begin{pmatrix} R' \\ G' \\ B' \end{pmatrix} Here, Y' is luma, and Cb, Cr are chroma differences scaled for full range. Quantization applies offsets of 1024 to Y' and 2048 to Cb and Cr, with a scaling factor of 1280: n_Y = 1280 Y' + 1024, n_{Cb} = 1280 Cb + 2048, n_{Cr} = 1280 Cr + 2048. This allows wide-gamut encoding in 4:2:0 subsampled formats while preserving compatibility with sRGB-based pipelines, as the nonlinear transformation aligns with conventional gamma-corrected workflows.

History and Development

Origins and Naming

scRGB was initiated by and in the early 2000s to overcome the limitations of , particularly its narrow color gamut and , for use in professional imaging workflows and () content. This extension retained sRGB's color primaries and while introducing support for extended values, making it suitable for advanced graphics, , and compositing tasks. Key contributors to its development included , which emphasized integration with Windows operating system APIs for and rendering, and , which contributed hardware and imaging expertise from its printer and display technologies. The project also involved the (IEC) Technical Committee 100, Task Area 2 (TC 100/TA 2) on colour measurement and management, which oversaw the technical specifications. The initial proposal emerged around 2002, with the first public discussions and demonstrations occurring in 2003, including at Microsoft's Professional Developers Conference where it was presented in the context of upcoming Windows features. The was originally designated as XsRGB (indicating excess RGB for extended range) or sRGB64 in early proposals, reflecting its roots as a 64-bit extension of . During the standardization process, it was renamed scRGB, a decision influenced by input from international committees to avoid confusion with existing . The "sc" has no official definition but is commonly interpreted as denoting "standard " due to the space's linear encoding, which facilitates efficient image blending and scene-referred processing, or "specular color" in reference to its ability to encode values beyond the maximum of 1.0 for highlights.

Standardization Process

The scRGB color space was officially published as the international standard IEC 61966-2-2:2003 on January 23, 2003, extending the sRGB specification outlined in IEC 61966-2-1 to support wider dynamic range and extended gamut for multimedia applications. Development of the standard occurred under the auspices of IEC Technical Committee 100 (TC 100), responsible for multimedia systems and equipment, with key inputs from Microsoft and Hewlett-Packard alongside contributions from international experts in color encoding and imaging. The process integrated scRGB into broader ISO/IEC frameworks for color management, ensuring compatibility with existing sRGB workflows while enabling advanced encoding for relative scene radiance. Following its release, scRGB was incorporated into International Color Consortium (ICC) profiles for cross-platform color management. It also became a foundational element of the Windows Color System, supporting extended color spaces in operating system-level rendering. The core standard has seen no major revisions since 2003, though it is referenced in subsequent (HDR) specifications, such as those in the Graphics Infrastructure (DXGI) for handling wide color gamut content. Globally, scRGB gained recognition from the (ITU) for video and image applications, including as a supported in ITU-T Recommendation T.832 for image coding extensions. This adoption facilitated its use in extended-gamut video encoding standards and multimedia workflows requiring precise color reproduction beyond traditional limits.

Applications and Implementation

Software and OS Support

scRGB was first implemented in in 2007 through the GDI+ , enabling extended color representation in graphics operations. This support expanded in with 48-bit scRGB capabilities integrated into for rendering, the Windows Imaging Component () for image processing, and the Windows Color System (WCS) for , allowing applications to handle wider gamuts and higher precision. In and 11, scRGB serves as the canonical composition for (HDR) content in the Universal Windows Platform (UWP), utilizing FP16 pixel formats in to support values exceeding 80 nits while preserving extended color data during blending and display. Android has supported scRGB as a linear display-referred since API level 26 (Android 8.0, released in 2017), facilitating wide-gamut rendering for applications through extensions like EGL_EXT_colorspace_scrgb_linear, which ensures with while enabling FP16 processing without requiring specific driver hardware. On , scRGB integration occurs via 's protocols, which allow applications to specify and transform to scRGB volumes exceeding standard primaries; the color-management-v1 protocol explicitly accommodates scRGB for extended volumes, with full and wide-gamut support merged into Wayland Protocols in February 2025. In image editing software, and Lightroom provide support for scRGB through profiles, enabling users to work in linear wide-gamut spaces for 32-bit floating-point documents and ensure accurate color transformations during editing and export. , leveraging the GEGL library, handles scRGB-encoded files via its expanded RGB color space support beyond , particularly when processing high-precision images with embedded profiles. Raw image processors output linear RGB data that can be transformed to scRGB-compatible spaces, allowing handling of wide-gamut raw files in post-processing workflows without gamut clipping. For real-time applications, utilizes scRGB in FP16 formats for rendering pipelines, optimizing blending operations and to maintain precision in graphics-intensive scenarios. Support in Apple ecosystems like macOS and is limited, as they primarily use Display P3 for wide gamut and PQ/HLG for HDR, with no native scRGB implementation as of 2025.

Hardware and Media Usage

scRGB finds application in various hardware devices that support extended dynamic range and wide color gamut capabilities, particularly in HDR contexts. Modern graphics processing units (GPUs) from and handle scRGB processing through APIs such as and , enabling linear floating-point rendering for content in games and applications. For display output, scRGB is supported on HDR-capable monitors via 2.0 and later interfaces, where it is typically converted to for transmission to extend the color gamut beyond standard limits. In imaging hardware, certain digital cameras from manufacturers like and Nikon produce RAW files with wide-gamut, linear RGB data that aligns closely with scRGB primaries, facilitating post-processing workflows for HDR images. Media formats incorporate scRGB for high-fidelity storage and transmission. For instance, the format supports 16-bit linear RGB channels, which, when paired with color primaries, effectively represent scRGB for HDR still images. Similarly, files accommodate floating-point RGB data suitable for scRGB encoding in professional imaging pipelines. Nonlinear variants of scRGB appear in formats like XT, which uses scRGB as an intermediate linear space for HDR compression while maintaining with legacy JPEG decoders. supports HDR extensions through gain maps, enabling efficient storage of wide dynamic range photos on mobile devices. Integration into broader standards enhances scRGB's role in professional and consumer media. In cinema workflows involving , scRGB serves as a linear for , bridging sRGB-compatible tools with wider gamuts before final conversion. Android TV and compatible smart TVs leverage scRGB for rendering 10-bit content, providing seamless wide-color support in streaming and gaming applications. scRGB can be used for rendering video from services like on compatible devices with extended ranges. Video codecs such as H.265/HEVC encode scYCC-nl (the nonlinear Y'CbCr counterpart to scRGB) for efficient transmission of HDR streams over BT.709 extensions. Despite these advancements, challenges persist in hardware deployment. Consumer displays and GPUs often lack full calibration for scRGB's extended range from -0.5 to 7.5, typically clamping values to 0-1 for compatibility, which limits the realization of negative colors and peak highlights in everyday setups.

References

  1. [1]
    scRGB - INTERNATIONAL COLOR CONSORTIUM
    Color space. Type: Colorimetric RGB color space. Color gamut: Extended. RGB primaries: x, y, z. R, 0.64, 0.33, 0.03. G, 0.30, 0.60, 0.10. B, 0.15, 0.06, 0.79 ...
  2. [2]
    [PDF] INTERNATIONAL STANDARD IEC 61966-2-2
    The scRGB colour space is an extension of sRGB and it is considered compatible with sRGB. Additional transformations, such as white point adaptation methods, ...
  3. [3]
    Use DirectX with Advanced Color on high/standard dynamic range ...
    Oct 18, 2022 · When in HDR mode, the Desktop Window Manager (DWM) uses a canonical composition color space (CCCS) defined as: scRGB color space (BT.709/sRGB ...
  4. [4]
    Color Struct (System.Windows.Media) | Microsoft Learn
    Examples. This example shows how to use sRGB, ScRGB, and color profile values to create the color blue. XAML
  5. [5]
    Color management | Android Open Source Project
    The scRGB color space defines a linear display referred space with the same white point and color primaries as sRGB (and thus is backward compatible with sRGB) ...
  6. [6]
    Color.Clamp Method (System.Windows.Media) - Microsoft Learn
    Sets the ScRGB channels of the color to within the gamut of 0 to 1, if they are outside that range.
  7. [7]
    Encoding - Anyhere Software
    In 24 bits, the LogLuv format holds more dynamic range than the 36-bit scRGB-nl format, which uses a gamma encoding, and even the 48-bit scRGB linear encoding, ...
  8. [8]
    IEC 61966-2-2:2003
    The scRGB colour space is an extension of sRGB and it is considered compatible with sRGB. This bilingual version (2013-02) corresponds to the monolingual ...
  9. [9]
    EGL_EXT_gl_colorspace_scrgb...
    scRGB is defined to use the same primaries and white-point as sRGB. See IEC 61966-2-2:2003 for details.
  10. [10]
    Microsoft hopes scRGB will improve photo colors - CNET
    Nov 1, 2007 · Technology called scRGB provides a new way to describe colors, and Microsoft hopes it will improve photos taken by digital cameras and shown on computers.
  11. [11]
    A Standard Default Color Space for the Internet - sRGB - W3C
    sRGB is a device-independent color space based on a calibrated RGB space, suited for CRT monitors, with a 2.2 gamma, and well-defined viewing conditions.Missing: scRGB | Show results with:scRGB
  12. [12]
    DXGI_FORMAT (dxgiformat.h) - Win32 apps | Microsoft Learn
    Jan 15, 2025 · A two-component, 64-bit floating-point format that supports 32 bits for the red channel and 32 bits for the green channel.Missing: scRGB | Show results with:scRGB
  13. [13]
    scRGB-nl - INTERNATIONAL COLOR CONSORTIUM
    International Standard defining this colour encoding published by IEC, Geneva (document available through National Standards Bodies).Missing: nonlinear | Show results with:nonlinear
  14. [14]
    [PDF] A Simplified HDR Image Processing Pipeline for Digital Photography
    scRGB was first proposed by Microsoft and Hewlett-Packard, and accepted as an IEC ... 709-5 primaries (ITU, 2002) were chosen to be consistent with sRGB.
  15. [15]
    [DOC] sRGB Color Management Case Studies - Microsoft Download Center
    Microsoft and Hewlett-Packard initiated a collaborative effort several years ago to develop and standardize a common RGB color space. This effort involved ...Missing: origin | Show results with:origin<|control11|><|separator|>
  16. [16]
    [PDF] High Dynamic Range Image Encodings - Anyhere Software
    Second, a color space is a two- dimensional boundary on the volume defined by this vector, usually determined by the minimum and maximum value of each primary, ...
  17. [17]
    IEC 61966-2-2:2003 - Multimedia systems and equipment - ISO
    Colour measurement and management — Part 2-2: Colour management — Extended RGB colour space — scRGB.
  18. [18]
    [DOC] Color Management Concepts - Microsoft Download Center
    This specification describes a profile format to help in communicating color in graphics arts systems.
  19. [19]
    Color management protocol | Wayland Explorer
    The target color volume can exceed the primary color volume to allow for a greater color volume with an existing color space definition (for example scRGB).
  20. [20]
    Wayland Colour Management and HDR Protocol finally merged
    Feb 13, 2025 · The Wayland Colour Management and HDR Protocol has been merged! This means it will finally be released with a future version of Wayland Protocols.
  21. [21]
    The Best AI Tools for Image Generation in 2025 - DigitalBPM
    Aug 25, 2025 · The Best AI Tools for Image Generation in 2025 ; Faster iterations – generate, tweak, and regenerate ideas while they're still fresh. Lower costs ...<|control11|><|separator|>
  22. [22]
    [PDF] HDR Ecosystem for Games - NVIDIA Developer
    Mar 23, 2018 · ▫ Works in HDR by default. ▫ This color space is known as scRGB or CCCS o It is what the OS uses for compositing o Luminance is 80 nits for ...
  23. [23]
    [PDF] Beyond raw-RGB and sRGB: Advocating Access to a Colorimetric ...
    The imaging pipeline starts with a minimally processed raw-RGB image where the. RGB color channels are specific to the camera sensor's spec- tral sensitivity.
  24. [24]