Chapter 3 顏色空間(1)——RGB

Chapter 3 顏色空間(1)——RGB

來自專欄 Video Demystified

  1. RGB
  2. sRGB
  3. scRGB
  4. 伽馬校準
  5. 色度圖

RGB

顏色空間是顏色集合的數學表示。在計算機中最常用的顏色系統是RGB,RGB三種顏色取不同幅度可以得到不同的顏色。如圖所示,立方體代表的是RGB顏色空間,對角線表示不同的灰度。

RGB顏色空間簡單易理解,在計算機顯示器上顯示也方便,但是它在視頻方面並不高效。比如,要在RGB立方體中生成任意一種顏色,RGB分量都需要明確幅值,因此它們需要相同的帶寬(所佔帶寬高)。此外,如果要修改某個點的亮度,要先讀取這個點的RGB值,計算亮度,反過來求RGB,寫入視頻,操作及其繁瑣,不如以亮度和顏色存儲的圖像直觀(不宜處理)。

數字RGB採用二進位來表示,如8位二進位、24位二進位等,通常用8位,即0-255。表示RGB的二進位位數叫做圖像的像素深度

sRGB

sRGB色彩空間是惠普與微軟於1996年一起開發的用於顯示器、印表機以及網際網路的一種標準RGB色彩空間。

下圖是色度圖(詳見第五部分),圖中顯示的顏色是人眼能看到的所有顏色,但是,sRGB並不能表示所有可見的顏色,而是在色度圖中選取了三個點作為標準的RGB顏色,紅色位於[0.6400, 0.3300]、綠色位於[0.3000, 0.6000]、藍色位於[0.1500, 0.0600]、白色是位於[0.3127,0.3290]的D65。sRGB能顯示的顏色全部在這個顏色三角形中。

sRGB和色度圖坐標(x,y)的互換詳見維基百科sRGB詞條。

一般來說,生成的sRGB的範圍是0-1(歸一化),如果用8位二進位表示,那麼將數值乘以255取整即可。

sRGB還定義了原色強度與實際保存的數值之間的非線性變換。這個曲線類似於CRT顯示器的gamma響應。重現這條曲線要比sRGB圖像在顯示器上正確顯示更加重要。這個非線性變換意味著sRGB非常高效地使圖像文件中的整數值表示了人眼可以分辨的顏色

sRGB由於它的色域不夠大,尤其是藍-綠顏色色域無法表示CMYK印刷中的所有顏色,所以通常印刷行業的專業人員不用這種模型。而Adobe RGB是印刷行業經常使用的色彩空間。

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.

與sRGB類似,scRGB也是定義在色度圖上的顏色空間,選取的三個坐標如下圖所示。可以看到,三角形的區域要遠遠大於人眼所能看到的區域(但並沒有包含所有人眼能看到的區域)。

16位scRGB(16)編碼是通過將-0.5到7.4999的模擬RGB顏色進行轉換,轉換公式為8192x + 4096。-0.5時為0;7.5時為65536,但是由於只能表示到65535,因此最大為7.4999。

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.

scRGB用在Windows系統中,但是我們在視頻中接觸不多,了解即可。

伽馬校準

現實世界中幾乎所有的CRT顯示設備、攝影膠片和許多電子照相機的光電轉換特性都是非線性的。這些非線性部件的輸出與輸入之間的關係(例如,電子攝像機的輸出電壓與場景中光強度的關係,CRT發射的光的強度與輸入電壓的關係)可以用一個冪函數來表示。對於RGB顏色空間來說,就是如下公式:

R = R ^ gamma; // R是校準前的值,R是校準後的值G = G ^ gamma; // G是校準前的值,G是校準後的值B = B ^ gamma; // B是校準前的值,B是校準後的值

將上述公式逆變換得到校準後的值的過程,就是伽馬校準。

伽馬校準是為了使數據變得線性

早年的NTSC使用gamma值為2.2,PAL和SECAM使用gamma值為2.8。

現在的gamma校準採用的是分段校準,gamma值採用[1/0.45]。

具體如下:

如果有超出0-1範圍的,變換如下:

反變換公式相應如下:

超出0-1範圍:

現在採用這樣的gamma校準較多。

色度圖

色度圖是給出了人類正常的視覺色域。(色度圖為CIE顏色系統)

這個圖的構成如下:CIE系統中,紅、綠、藍的亮度被轉換成三色值的量,分別用X、Y、Z表示,圖中的坐標值由三色值推導而來。

x = X / (X + Y + Z)y = Y / (X + Y + Z)z = Z / (X + Y + Z)

x,y,z稱為色度坐標。由於三者之和為1,因此只需要x和y的值,圖也可以是二維的。

通常來說,信號源或者顯示器會選擇色度圖中的三個點,將其圍成的三角形作為其顏色空間,所以,一般的顏色空間不能表示所有的顏色。

NTSC,PAL,SECAM,sRGB,scRGB所選取的都不相同(具體不列出了)。

這裡有三篇文章,大家可以看看,以前也有知友推薦過。

UI 設計知識庫 [01] 色彩 · 理論

UI 設計知識庫 [02] 色彩 · 理論 - 常見問題

UI 設計知識庫 [03] 色彩 · 配色

中英文對照表


推薦閱讀:

如何系統地學習色調曲線的知識?
淺談色彩管理
用色彩讓你的家造作起來
為什麼不同設備上的色彩差異那麼大?

TAG:色彩管理 | 顏色 | RGB |