1. 程式人生 > >計算機色彩知識調研(二):位深、Gamma值、標準色溫和Display P3

計算機色彩知識調研(二):位深、Gamma值、標準色溫和Display P3

1. 位深度

計算機在記錄數字影象的顏色時,每種顏色需要用一定的位(bit)數來表示。“位”數越多,影象的色彩顯示就會越豐富。現在使用的圖片絕大部分都是8bit深的真彩圖,由於有RGB三個顏色通道,256 ^ 3 = 16777216,每個畫素可以表示出約1677萬種顏色。

同樣地,顯示器在輸出顏色時,也有個引數叫做面板的位(bit)深,通常為8bit,專業級的顯示器可能會達到10bit,也有些很低端的顯示器是6bit。使用與上面相同的方法計算6bit/10bit畫素的顯色數,結果分別是26萬/10億。

https://pic3.zhimg.com/80/v2-43ca242d31074637a4d72183af68b286_hd.jpg

圖1  左側:色彩過渡均勻流暢;右側:色彩過渡有明顯斷層

由於大自然中的顏色是連續的,而在計算機中的顏色點是離散的。所以,裝置所顯示的圖片顏色,其實是在一定的波長段內,尋找有限個點,來進行一種近似地顏色表示。那麼,可以想見,bit數越大,層次越多,切割越細,色彩過渡就會越均勻流暢。反之,就會在影象中存在比較明顯的色塊、色彩跳躍現象。

https://pic3.zhimg.com/80/v2-552f4d99d1f09b4e5b89e5c317bcddd2_hd.jpg

圖2  不同位深的顯示器顯示同一張圖片的效果對比

上圖左側畫面中,太陽由內到外的橘黃色過渡並不自然,有明顯的色彩跳躍感,是因為6-bit下色彩級數不夠,無法體現細膩的顏色變化。

2. Gamma值

2.1 廣義的Gamma值

Gamma值廣義的定義就是輸入值和輸出值的Gamma冪指數關係。如下圖所示:

圖3  廣義Gamma值的輸入-輸出關係圖

2.2 為什麼需要Gamma值?

  • 人類的視覺對亮度感知能力並不是呈現線性關係的。

人類的眼睛在在感知純白(亮度100%)與純黑(亮度0%)後,對於中等亮度(亮度50%)的實際感知並不是中灰(俗稱的128度灰)所帶來的亮度,而當人眼接受到20%左右亮度的光源後,就會覺得這是中等亮度。

【舉個例子:在一間黑屋子裡,開一盞燈,你立刻就能感覺到亮度的巨大變化,如果在這種狀態下想獲得成倍的亮度變化的感覺,理論上你再開一盞燈就可以了;但實際效果卻不是,可能要再開好幾盞燈你才能感受到這個屋子裡的亮度變亮了一倍,也就是說,你想獲得成倍亮度變化的體驗,和所開的燈的數量並不是呈線性關係的,而是一個指數函式的關係。】

圖4  自然界線性增長的亮度和人心理感覺的均勻灰階關係圖

上圖顯示了自然界的線性增長的亮度和人心理感覺的灰階關係,我們定義純黑是0,純白是1。根據輸入和輸出關係,可以得出合理的Gamma值範圍在1.8~2.5左右,而現在大多數的標準使用的都是2.2這一Gamma值。【(0.5)^ 2.2 ≈ 0.218】

  • 能夠記錄展示的灰階是有限的,而自然的亮度無限。

因為大自然有無窮無盡的亮度,而計算機能夠展示的灰階亮度是有限的,8bit位深的話,灰階只有可憐的256個。那麼,在攝像機等裝置記錄畫面的時候,如果進行不矯正,按照線性的去記錄,理論上沒啥問題,實際上牽扯到我們剛剛講了人眼的特性,這就很有問題了。因此,我們就需要用到Gamma值來進行一個合理的值與值對映,這樣來糾正亮度感知變化與實際亮度值變化不統一的問題。

2.3 Gamma值變化的影響

圖5  Gamma校正的輸入(感知)亮度和輸出(自然)亮度關係圖

顯示器的Gamma值校正反應了輸入訊號的亮度值和實際發光亮度之間的關係,對同一張圖片使用不同的Gamma值,其效果如下圖所示:1.0(線性響應),2.2(影象亮度顯示符合人眼觀測需求),3.0(過暗的影象):

圖6  同一張圖片在不同Gamma值下的表現(1.0、2.2、3.0)

2.4 Gamma值校正的本質

如果不經過Gamma校正, 則中灰以下的部分只佔到了20%的灰階,也就是說,人眼感受的50%的灰度範圍只能用0.2 * 256 = 51個灰階來表示,暗部取樣嚴重不足,高光采樣冗餘。

所以,設定合理的Gamma值進行校正的意義就在於將人眼感受到的亮度值變化與自然界真正的亮度值變化進行一個適當的轉換;設定的Gamma值越高,暗部細節就會表現得更加豐富,反之,Gamma值設定較低,較亮的細節會得到更加充分的表現。

3. 標準色溫

在sRGB的標準描述中,是這樣描述標準白色的“白色是位於[0.3127,0.3290]的D65”,這裡的D65,指的是約6500K的色溫標準;而DCI P3的白色標準色溫是D63,約6300K(一說是D50,5500K)。

可能大家對一星期去一次的電影院大熒幕的色溫表現不是那麼的敏感,或者完全沒有相關方面理解,那麼,從現在開始,可以稍微留意一下高階iMAX影院的大熒幕色調在看好萊塢大片時色調是不是有些偏黃呢?

至於為什麼sRGB和AdobeRGB的標準色溫要設定成D65,而DCI P3的色溫是D63,一個比較合理的解釋是:以前的CRT顯示器映象管老化後顏色會逐漸變黃,所以熒光粉得多加一些,因此普遍色溫偏高。

4. Display P3的標準設定

沒有規矩不成方圓,色彩標準同樣需要大一統。20世紀末推出的sRGB色彩標準長期作為計算機世界通用的色彩語言,但是,sRGB現在已經不夠看了!此前受限於落後的顯示技術, sRGB 制定色域空間時比較保守,導致很多色彩無法被顯示出來;然而,隨著技術的發展,在可以預見的未來,以DCI P3、AdobeRGB為代表的、具有更廣色域的標準定將成為主流。

在蘋果的產品規劃中,自家裝置一定會用 DCI P3 逐步取代 sRGB 標準。在iMac之後,iPad Pro拉開iOS系統支援DCI P3的序幕。

但是,由於目前網際網路上的媒體內容仍以sRGB為絕對主流,為了兼顧sRGB圖片的顯示效果,許多P3的顯示裝置也不得不做出了一些妥協。蘋果自iPhone7/7 Plus系列的手機產品開始,所配備的Display P3標準的廣色域螢幕就是這樣一個妥協後的標準。

Display P3使用了DCI P3更廣的色域;但是其標準色溫是D65,標準Gamma值被設定為2.2(DCI P3的Gamma值為2.6),這兩項都是與sRGB相同的,其目的就是為了適應sRGB影象的顯示。DCI-P3規定的標準白色會比Display P3更偏黃一些,且Display P3由於更低Gamma值整體畫面風格會更亮一些。

圖7  Apple P3與AdobeRGB、sRGB的色域(CIE 1931色度圖)