sRGB 色彩空間（standard Red Green Blue，標準紅綠藍色彩空間）是惠普與微軟於 1996 年一起開發的用於顯示器、印表機以及因特網的一種標準 RGB 色彩空間。這種標準得到了 W3C、Exif、英特爾、Pantone、Corel 以及其它許多業界廠商的支援，在 GIMP 這樣的開放原始碼軟體也支援這種標準，另外一些專有的或者像 SVG 這樣的開放圖形檔案格式中也有應用。 sRGB 最初設計的目的是作為生成在因特網以及全球資訊網上瀏覽的影像的通用色彩空間，最後選擇的是使用 Gamma 校準係數為 22 的色彩空間，即 CRT 顯示器在這種情況下的平均線性電壓響應。 這裡值得重視的是 sRGB 的設計與當時（1996 年）不算理想色彩空間的 CRT 顯示器相匹配。當時大量的專業或者個人電腦軟體，使用 8 位深度的影像檔案，並且不經轉換就在 8 位／通道的顯示器上顯示。許多時髦的非 CRT 硬體，如 LCD、數碼相機以及印表機，儘管本身並不生成 sRGB 曲線，但是都帶有補償電路或者軟體以遵循這個標準。在一些高階的專業裝置上可能並不遵循這個標準。因此，我們可以假定任何不帶顏色配置表或者其它資訊的 8 點陣圖像檔案、8 點陣圖像 API 或者裝置介面，都處於 sRGB 色彩空間。 綜述 sRGB 定義了紅色、綠色與藍色三原色的顏色，即在其它兩種顏色值都為零時該顏色的最大值。在 CIE xy 顏色座標系中紅色位於 06400 03300、綠色位於 03000 06000、藍色位於 01500 00600、白色是位於 0312703290 的 D65。對於任何的 RGB 色彩空間來說，非負的 R、G、B 都不可能表示超出原色定義的三角形即色域範圍，它剛好在人眼的色彩感知範圍之內。 sRGB 還定義了原色強度與實際儲存的數值之間的非線性變換。這個曲線類似於 CRT 顯示器的 gamma 響應。重現這條曲線要比 sRGB 影像在顯示器上正確顯示更加重要。這個非線性變換意味著 sRGB 非常高效地使影像檔案中的整數值表示了人眼可以分辨的顏色。 sRGB 由於它的色域不夠大，尤其是藍 綠顏色色域無法表示 CMYK 印刷中的所有顏色，所以通常印刷行業的專業人員不用這種模型。而 Adobe RGB 是印刷行業經常使用的色彩空間。 變換的規範 從 CIE xyY 或者 CIE XYZ 到 sRGB 的前向變換 從 CIE xyY 座標系計算 sRGB 中的三原色首先需要將它變換到 CIE XYZ 三值模式。A Standard Default Color Space for the Internet sRGB，其中包含 XYZ 空間的轉換公式 X Y x y Z Y 1 x yy 這樣 XYZ 值就可以用矩陣轉換到線性的 RGB 值，這些線性值並不是最終的結果。 begin bmatrix R_linearG_linearB_linearend bmatrix begin bmatrix 324101537404986 096921876000416 005560204010570 end bmatrix begin bmatrix X Y Z end bmatrix R_linear、G_linear 與 B_linear 的取值範圍為 01。sRGB 是反映真實世界 gamma 為 22 的典型顯示器的效果，因此使用下面的變換公式將線性值轉換到 sRGB。設 C_linear 為 R_linear、G_linear 或者 B_linear，C_srgb 為 R_srgb、G_srgb 或者 B_srgb： 如果 C_linear 000304 則 C_srgb1292 C_linear 如果 C_linear 000304 則 C_srgb1a C_linear124a a 0055 這些經過 gamma 校正的值範圍為 0 到 1。如果需要 0 到 255 的取值範圍，如用於影片顯示或者 8 點陣圖形，通常將它乘以 255 然後取整。 逆向變換 假設 sRGB 分量的值 R_srgb、G_srgb、B_srgb 的取值範圍為 0 到 1。 begin bmatrix XYZend bmatrix begin bmatrix 041240357601805 021260715200722 001930119209505 end bmatrix begin bmatrix g R_srgb g G_srgb g B_srgbend bmatrix 其中 對於 K004045 有 g K left frac Ka1arightgamma 否則 g K frac K1292 變換的理論基礎 變換的非線性部分是為了逼近 22 的 gamma 校正而設計的，但是在 K0 斜率不為 0，這樣可能會產生數值計算的問題。對於 sRGB 變換來說這大致正確。在 K_0 處的 g K 為： left frac K_0a1arightgammafrac K_0phi 使用上面的標準值 phi1292，得到 K_0004045 這就是常用的變換。如果我們要求斜率也要匹配，那麼需要： gammaleft frac K_0a1arightgamma1left frac 11arightfrac 1phi 這樣就得到兩個方程。假設未知變數為 K_0 與 phi，這樣就得到 K_0003928 與 phi129232 sRGB 規範中有時也使用這些值進行計算，但是它們並不屬於標準的一部分。 應用 作為因特網上推薦使用的色彩空間，在編輯、儲存用於 WWW 的影像的時候要 sRGB 標準，但是由於與其它色彩空間相比它的色域較小，因此用於專業印刷的影像如印前輸出則可以使用 Adobe RGB 那樣有較大色域的色彩空間。在一些先進的硬體上的另外一種替代方法是仍然使用 sRGB 原色模式但是使用負值或者超過 1 的亮度，這樣就可以無限擴大色域。 用其它色彩空間生成的用於因特網的影像在使用合適的影像編輯軟體進行編輯的時候可以將它們轉換成 sRGB，這些軟體有 Corel Paint Shop Pro 以及 Adobe Photoshop 等等。儘管最初的非 sRGB 檔案可以儲存並轉換為 sRGB，但是由於這個轉換過程可能會丟失影像資訊，所以建議儲存為另外的檔案以儲存原始的非 sRGB 影像檔案。 由於在因特網上的廣泛應用，以及許多中低端的消費型數碼相機、掃描器都使用 sRGB 模型作為預設模式或者是僅有的色彩空間，同時由於噴墨印表機的應用，因此許多人認為 sRGB 色彩空間對於家庭應用來說已經足夠了。 兩種佔據主導位置的三維圖形程式設計介面 OpenGL 與 Direct3D 都整合有 sRGB。OpenGL 21 中包含有首次在 EXT_texture_sRGB 擴充套件中引入的 sRGB 紋理。OpenGL 的 EXT_texture_sRGB 擴充套件支援線性或者 sRGB 色彩空間的渲染緩衝。DirectX 9 支援 sRGB 紋理以及用 Direct3D 渲染成 sRGB 表面。 參考文獻 標準 IEC 61966211999 是官方正式的 sRGB 規範。它定義了檢視所需環境、編碼以及色度計量的規範。 A12003 修正案針對 IEC 61966211999 描述了 YCbCr 色彩空間的 sYCC 編碼，擴充套件色域 RGB 編碼，和 CIELAB 編碼轉換。 sRGB，出自國際色彩聯盟 IEC 6196621 2CD 部分的第 4 版草案可從網路獲取（存檔），並非完善的標準 sRGBcom 的網頁存檔，關於 sRGB 的設計、準則和使用 外部連結 How to interpret the sRGB color space specified in IEC 6196621 for ICC profiles OpenGL extension for sRGB textures Comparison of sRGB and AdobeRGB Category 色彩空間