国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
色彩校正中的 gamma 值是什么?



我打算拋開計(jì)算機(jī)圖像、顯示器發(fā)展史等因素,從邏輯上推出一個(gè)“廣義的Gamma”,這樣其實(shí)是觸及了問(wèn)題的本質(zhì)。把人對(duì)畫面的認(rèn)知,和Gamma出現(xiàn)的必然性都推理出來(lái)。

先上結(jié)論:

“廣義Gamma”的產(chǎn)生,原因有二:

  1. 人眼對(duì)自然亮度感知是非線性的。(韋伯定律)
  2. 我們用來(lái)記錄/展示畫面的媒介上,灰階預(yù)算是有限的。(無(wú)論紙張還是屏幕)

為了在灰階預(yù)算有限的前提下,協(xié)調(diào)自然亮度主觀灰階感受這二者的映射關(guān)系,Gamma就產(chǎn)生了。


第一節(jié):韋伯定律

韋伯定律,即感覺(jué)的差別閾限隨原來(lái)刺激量的變化而變化,而且表現(xiàn)為一定的規(guī)律性,用公式來(lái)表示,就是△Φ/Φ=C,其中Φ為原刺激量,△Φ為此時(shí)的差別閾限,C為常數(shù),又稱為韋伯率。

解釋成人人都懂的大白話就是:人對(duì)自然界刺激的感知,是非線性的,外界以一定的比例加強(qiáng)刺激,對(duì)人來(lái)說(shuō),這個(gè)刺激是均勻增長(zhǎng)的。

為什么會(huì)有韋伯定律?人不是物理測(cè)量?jī)x器,我們用感知是不可能測(cè)出某事物具體的物理量的,但是我們可以通過(guò)比較,來(lái)感知世界。

以光為例,若在一小黑屋中,點(diǎn)亮了一支蠟燭A,這支蠟燭對(duì)屋內(nèi)的貢獻(xiàn)是顯著的,在視覺(jué)上也感受到極大的明度提升。但是若是屋內(nèi)已經(jīng)點(diǎn)亮了1000支蠟燭,此時(shí)再點(diǎn)亮一支蠟燭B的話,從物理能量貢獻(xiàn)上,這支新蠟燭B與蠟燭A的物理貢獻(xiàn)是一樣大的,但是在人的視覺(jué)中,B引起的“明度”變化,遠(yuǎn)遠(yuǎn)不如A。

為什么?很好理解?。簩?duì)于某事物,同樣的變化量△a,總量少的時(shí)候,變化顯著,容易被人感知,事物總量大了,再變化同樣的△a,就不那么容易被察覺(jué)了。

正因?yàn)槲覀冊(cè)诤芏鄷r(shí)候不需要知道事物客觀的物理量,而是要描述它們的增減關(guān)系,所以必須是靠比較來(lái)描述,才比較合理,以等比數(shù)列增加的物理量,對(duì)人的感知來(lái)說(shuō),是均勻的,比如:

  1. 音樂(lè)的音階,是符合十二平均律的,音調(diào)的頻率以等比數(shù)列增加,人聽(tīng)起來(lái)是均勻升調(diào)。兩個(gè)八度之間頻率翻一倍。
  2. 聲音的強(qiáng)度是按照“分貝”來(lái)描述,倍數(shù)增加的音量聽(tīng)起來(lái)是均勻增加的。
  3. 拍照片,描述明亮程度用的是“檔”,曝光物理上大一倍,認(rèn)為是亮了一個(gè)級(jí)別。
  4. 里氏地震級(jí)數(shù),每增加一級(jí),釋放的物理能量大32倍。

類似這樣的例子太多太多了。

另外有一個(gè)家喻戶曉的笑話,實(shí)際上直戳這類描述體系的反直覺(jué)之處,絕大多數(shù)人根本沒(méi)意識(shí)到,我們以為是均勻增加的量,其實(shí)不是線性增加的。

笑話是這樣講的:據(jù)說(shuō)人所能感受到的疼痛分為了10級(jí),1級(jí)是被蚊子叮了,10級(jí)呢,是孕婦分娩。有人就問(wèn)了,那什么是11級(jí)疼痛呢?答“11級(jí)疼痛就是孕婦分娩的時(shí)候被蚊子叮了”。哈哈一笑之余,有人質(zhì)疑過(guò)這個(gè)說(shuō)法嗎?

現(xiàn)在你懂了韋伯定律,就知道所謂“分娩的時(shí)候被蚊子?!辈豢赡苁?1級(jí)疼痛,由于分娩已經(jīng)是10級(jí)劇痛,此時(shí)被蚊子叮所帶來(lái)的感受變化量微乎其微,疼痛程度仍然是10級(jí)。那么什么是11級(jí)疼痛呢?一定是“N個(gè)孕婦分娩的痛苦以科技手段讓同一個(gè)人同時(shí)承受”,才是11級(jí)。


第二節(jié):中灰

對(duì)于中灰的定義,我不敢妄下,我只說(shuō)我個(gè)人的解釋:

“中灰就是人眼能分辨的所有灰階的中間點(diǎn)。”

怎么理解?我一直以粉刷匠的故事,來(lái)解釋中灰的意義:

假如你是一位粉刷匠,你擁有充足的白油漆和充足的黑油漆,那么現(xiàn)在要求你完成一個(gè)任務(wù):

把黑白油漆混合成各種不同灰度的油漆,并且把它們排成一排,直到形成黑到白的均勻過(guò)渡。

在理想的情況下,會(huì)發(fā)生什么樣的情況?你會(huì)不斷地調(diào)出灰色的油漆,并且把它和已有的油漆相比較,如果它是一個(gè)新灰色,你就會(huì)把它插入隊(duì)列,如果是重復(fù)的灰色(肉眼難以分辨,達(dá)到了你灰階分辨能力的極限),你就會(huì)把它丟掉。

最終,功夫不負(fù)有心人,你面前的灰階將會(huì)形成從黑到白的均勻過(guò)渡,此時(shí)的灰油漆種類將會(huì)是幾百個(gè)甚至更多,那么最中間那一個(gè),就是中灰的油漆:
這里粉刷匠為了管理這些好不容易調(diào)出來(lái)的灰油漆,把它們賦予了合理的編號(hào),根據(jù)油漆在隊(duì)列中的位置,粉刷匠定義純黑油漆編號(hào)為0.0,純白油漆編號(hào)為1.0,那么中灰油漆的編號(hào)自然落在了0.5上。與此同時(shí)我們還可以得到的推論就是:不管油漆的總數(shù)有多少,編號(hào)0.0-0.5之間的油漆種類數(shù)目,和編號(hào)0.5-1.0之間的數(shù)目是一樣的,因?yàn)閺亩x上,中灰就是隊(duì)伍的最中間那個(gè)顏色。我們繼續(xù)定義比中灰暗叫暗區(qū),比中灰亮叫亮區(qū),那么(在低動(dòng)態(tài)范圍下,)人眼可分辨的暗區(qū)灰階的數(shù)目和亮區(qū)灰階的數(shù)目是一樣多的。這樣的一個(gè)連續(xù)的灰階體系可謂完美,用來(lái)描述畫面再好不過(guò)了。


第三節(jié):物理反射率檢測(cè)

面對(duì)這樣一個(gè)完美的從黑到白過(guò)渡的油漆顏料體系,我們?nèi)绻z測(cè)一下中灰油漆的反射率,再把它和純白油漆的反射率相比較。若我們定義白油漆的反射率是100%,黑油漆的反射率是0%,你會(huì)發(fā)現(xiàn),中灰油漆的反射率不是直覺(jué)中的50%,而是一個(gè)在20%上下徘徊的數(shù)值。

生活中早有這種類似的東西,比如攝影師的灰卡,反射率是白卡的18%:
(據(jù)簡(jiǎn)單的搜索,灰卡的反射率是白卡的18%還涉及其他原因,18%實(shí)際上是17.68的近似值,而17.68是312.5的平方根,具體請(qǐng)閱讀相機(jī)拍攝使用灰卡的方法

在本文中,我舉灰卡的例子不是想告訴你們中灰色的物理反射率已有定論,事實(shí)上它沒(méi)有也不可能有,在不同顯示媒介和不同的光照的情況下,心目中中灰所對(duì)應(yīng)的反射率是不太一樣的。我舉這個(gè)例子只是想拿一個(gè)大家看得見(jiàn)摸得著,并且符合國(guó)際標(biāo)準(zhǔn)的參照物,來(lái)說(shuō)明:人心目中看起來(lái)中灰的色塊,其物理亮度值大約在白色塊的20%左右。

根據(jù)韋伯定律,這件事是好理解的,下圖是非常粗略的示意圖:
此圖原點(diǎn)是黑色,1,1點(diǎn)是白色,你可以這么理解此圖:當(dāng)整體環(huán)境較暗,微小的亮度增長(zhǎng)也會(huì)在人的心目中是顯著的明度提升,當(dāng)物理亮度達(dá)到白色的20%左右的時(shí)候,人的心目中已經(jīng)感受到中灰色的概念。而剩下的一半高光區(qū)的灰階,需要用白色80%的物理能量才能照亮成白色。

這一節(jié)你只需要記住一個(gè)結(jié)論,雖然不太精確,但是絕對(duì)不會(huì)錯(cuò)得太離譜,這是我個(gè)人輔助理解Gamma校正的法寶:

視覺(jué)感受的中灰色是白色反射率的20%左右。(注:白色為低動(dòng)態(tài)顏色1.0)

再換成更不精確但更好用的話就是:自然界的0.2,在心目中的地位是0.5。


第四節(jié):“灰階預(yù)算很緊張!

我管這個(gè)故事叫《灰色蠟筆的故事》

粉刷匠改行了,他要去做蠟筆,這個(gè)蠟筆的要求很特殊,是灰階蠟筆。蠟筆不像油漆可以調(diào)出連續(xù)的顏色,而是只能調(diào)出離散的,有代表性的幾個(gè)灰階。

現(xiàn)在如果生產(chǎn)一套暢銷蠟筆,但是灰階預(yù)算超緊張,只允許你放進(jìn)去3支不同灰階的蠟筆,你會(huì)選擇哪幾個(gè)有代表性的灰色進(jìn)行生產(chǎn)呢?

我想最合理選擇的就是黑、白、中灰了吧,用它們可以盡可能多的描述畫面的灰階過(guò)渡,而這三支筆,借用之前的編號(hào)體系,他們的灰階編號(hào)分別為:0.0、0.5、1.0。反射率分別為:0%、20%、100%


現(xiàn)在放寬要求,這套蠟筆可以是4色一盒,那么編號(hào)0.0、0.33、0.66、1.0的四支蠟筆入選。反射率分別為:0%、9%、40%、100%


如果是5色一盒呢?則編號(hào)0.0、0.25、0.5、0.75、1.0的蠟筆入選。反射率分別為:0%、5%、20%、53%、100%


有人要問(wèn)了,老韓你先等會(huì)兒吧,不同灰度蠟筆的物理反射率你是怎么知道的?

查這張曲線圖啊,從縱坐標(biāo)挑選蠟筆的顏色,橫坐標(biāo)上就是它相對(duì)于白色的反射率了,中灰是20%左右的情況下,其他的數(shù)據(jù)位置也都是可以推算的:

那么這張曲線圖是不是準(zhǔn)確,可就非常關(guān)鍵了。曲線圖是靠什么定義的呢?我們來(lái)到下一節(jié):

第五節(jié):廣義Gamma

兄弟們,我不賣關(guān)子了,上文這個(gè)0-1區(qū)間的曲線,就是所謂的Gamma曲線。我們?nèi)舳x黑是0,白是1,那么在0-1區(qū)間,我們是可以用一個(gè)冪函數(shù)來(lái)描述客觀自然數(shù)值和主觀心理感知的對(duì)應(yīng)關(guān)系的(等比數(shù)列通項(xiàng)公式就是冪函數(shù)):

Gamma取值不同的時(shí)候,冪函數(shù)圖像是如下規(guī)律:

Gamma=1,斜45°直線,不校正,輸出=輸入;

Gamma大于1,曲線下壓,輸出值小于輸入值;

Gamma小于1,曲線上拱,輸出值大于輸入值。

生產(chǎn)蠟筆的時(shí)候,我們輸入一個(gè)主觀概念:“我想要一支編號(hào)0.5的蠟筆”,輸出了一支蠟筆,其反射率是20%左右。那這個(gè)Gamma是大于1的下壓Gamma,它把0.5映射成了0.2。

欣賞蠟筆畫的時(shí)候,輸入眼睛的亮度正比于顏料在畫紙上實(shí)際的物理反射率,“輸出值”就是我們心目中主觀感受的灰階。此時(shí)的Gamma上拱,小于1,可以把自然界的0.2的反射率,映射成心目中的0.5灰階。

看懂了嗎?廣義Gamma實(shí)際上描述的就是自然現(xiàn)實(shí)的物理量和主觀視覺(jué)灰階的映射關(guān)系。這個(gè)關(guān)系是非線性映射。

從這個(gè)觀點(diǎn)看的話,廣義Gamma無(wú)處不在,而且極具啟發(fā)性:

我們最熟悉的鉛筆素描,使用黑色鉛筆涂抹暗部,白色是由白紙留白形成,那么其畫面上的中灰部,鉛筆覆蓋率是多少?答案是80%,留下20%的紙面,這20%的反光,在我們心目中看起來(lái)是中灰色的概念。

此時(shí)灰階和誰(shuí)形成了Gamma關(guān)系?“心目中的灰階”對(duì)應(yīng)“鉛筆涂抹的工作量”。也就是說(shuō),人們只憑目測(cè),天生就可以把自然界的畫面,映射成正確的顏料覆蓋率,在這個(gè)過(guò)程中,全憑視覺(jué)的主觀判斷。視覺(jué)感受主導(dǎo)了一切。說(shuō)白了,媒介上的灰階分布,人是通過(guò)目測(cè)來(lái)調(diào)的。


第六節(jié):數(shù)字?jǐn)z影和屏幕

第四節(jié)中,3色一套、5色一套的蠟筆我們?nèi)绻氲妹靼?,那么推廣到我們生產(chǎn)一盒256色的灰階蠟筆,它們的反射率和蠟筆編號(hào)的映射關(guān)系,我們也是能想明白的:

蠟筆反射率=蠟筆編號(hào)^Gamma

256色的蠟筆想得明白的話,這256個(gè)灰階和電腦屏幕的像素有區(qū)別嗎?沒(méi)有任何區(qū)別。紙張是畫面媒介,屏幕也是畫面媒介,區(qū)別只是反射率變成了像素的光強(qiáng)。

屏幕光強(qiáng)=灰階編號(hào)^Gamma

為了把事兒說(shuō)明白,我們先把8位每通道圖像的數(shù)值,換算到0-1區(qū)間。8位圖上0是黑,255是白,中灰色是128。換算以后,黑是0,白是1,中灰是0.5。

要注意,8位每通道圖像,灰階預(yù)算極其有限,僅有256個(gè),如同一盒256色的灰階蠟筆。

當(dāng)我們?cè)谟脭?shù)字相機(jī)拍照的時(shí)候,相當(dāng)于對(duì)自然界采樣,并把數(shù)據(jù)編碼到圖像文件中。

假設(shè)光照適宜的場(chǎng)景中有一個(gè)中灰色的物體,反射率是白紙的0.2,我們采樣到它的時(shí)候,應(yīng)當(dāng)把0.2的物理能量用0.454的Gamma放大到0.5的灰階地位記錄下來(lái),這樣一來(lái),暗部區(qū)域就分配到128個(gè)灰階了。我們充分地利用了存儲(chǔ)空間。

如果在拍照的時(shí)候不進(jìn)行Gamma校正,那么中灰物體會(huì)被映射為0.2記錄下來(lái),那么此時(shí),暗部?jī)H分配到50個(gè)灰階,暗部采樣嚴(yán)重不足,高光采樣冗余。

來(lái)到屏幕上,也就是文件解碼端,此時(shí)屏幕從計(jì)算機(jī)中讀到一個(gè)0-1的漸變,也就是從黑到白的均勻過(guò)渡,圖片如下:
其中左端的色彩值是0,中間的色彩值是128(0.5),右邊是1.0的純白。解碼后,屏幕要以什么樣的亮度顯示這些像素呢?最左邊像素關(guān)燈不顯示,是黑色,中間以白色21.8%的亮度顯示,右邊像素全開,顯示100%白色。這樣的一個(gè)圖片,在我們心目中看起來(lái)是均勻的灰度漸變。

此時(shí)屏幕的解碼Gamma是2.2,這個(gè)Gamma,會(huì)把0.5映射成0.218。

從這個(gè)角度來(lái)看。其實(shí)眼睛跟“照相機(jī)”真的挺像,我們看見(jiàn)自然界0.2的東西,就把它映射成0.5的地位,記到腦子里了。


總結(jié)

總結(jié)段要說(shuō)三個(gè)問(wèn)題:

  1. 2.2怎么來(lái)的
  2. 為什么一直強(qiáng)調(diào)低動(dòng)態(tài)圖像
  3. 如果灰階預(yù)算不緊張,會(huì)怎么樣

Gamma=2.2怎么來(lái)的?是實(shí)踐中目測(cè)調(diào)整出來(lái)并最終確定的,其實(shí)說(shuō)良心話,只要是0.5中灰對(duì)應(yīng)白色的20%左右,畫面看起來(lái)都是靠譜的,所以當(dāng)年的Gamma特別多種多樣,在2.2上下浮動(dòng)(1.8-2.5),1996年微軟和惠普在特定的光照條件下測(cè)試人觀看顯示器的感受,他們認(rèn)為,把8位圖像中128號(hào)灰(0.5灰)這個(gè)抽象的、代表心目中中灰色的數(shù)值,對(duì)應(yīng)以白像素21.8%的亮度顯示出來(lái),由黑到白的漸變過(guò)渡看起來(lái)會(huì)比較均勻。最終對(duì)應(yīng)的Gamma就是2.2。那么他們定了這個(gè)標(biāo)準(zhǔn),后世的硬件也就都往上面靠了,包括拍照的時(shí)候,編碼Gamma也就取了1/2.2=0.454。這樣能保證整個(gè)編碼解碼系統(tǒng)總Gamma是1,高保真,自然界中的色值能在屏幕上相對(duì)完好的再現(xiàn)。

凡是說(shuō)Gamma 2.2來(lái)自于老式CRT顯示器物理特性的解釋,都是誤解。這個(gè)誤解一般會(huì)這么講解Gamma的來(lái)龍去脈:當(dāng)年老式的CRT顯示器內(nèi)置Gamma 2.35左右,解碼的時(shí)候會(huì)把輸入信號(hào)壓暗,所以我們呢,為了保證總Gamma接近1,就要預(yù)先在編碼的時(shí)候把輸入文件的信號(hào)提亮,而且這樣一來(lái)呢,剛好順應(yīng)了人眼對(duì)暗部感興趣的特點(diǎn),把暗部的信息多多記錄了下來(lái),充分利用了文件的空間,真是美妙的巧合啊。講起來(lái)順暢,聽(tīng)起來(lái)也很美妙,我也曾經(jīng)這么給別人講,但是我發(fā)現(xiàn)我沒(méi)法說(shuō)服我自己,人類就被一個(gè)老式硬件的物理特性決定了后世的工業(yè)標(biāo)準(zhǔn)?這邏輯不對(duì)。這也是我反對(duì)某高票答案,自己過(guò)來(lái)寫答案的原因。

為啥錯(cuò),比如當(dāng)年要是沒(méi)有先發(fā)明CRT顯示器呢?假設(shè)我們先發(fā)明了一個(gè)物理Gamma為1的顯示器。當(dāng)輸入8位圖像0.5的數(shù)值的時(shí)候,它還是要乖乖的把這個(gè)0.5映射成白像素的20%輸出出來(lái)。否則看起來(lái)就不是中灰,8位每通道的顯示器Gamma必須在2.2左右,跟顯示器發(fā)展史沒(méi)關(guān)系,完全是視覺(jué)效果決定的。一切都因?yàn)轫f伯定律。


為什么一直強(qiáng)調(diào)低動(dòng)態(tài)圖像?這個(gè)其實(shí)涉及到“自然景象再現(xiàn)成畫面”這樣一個(gè)復(fù)雜的事情,自然界是高動(dòng)態(tài)的,亮度可以非常亮,也可以有一些明亮的光源,所以我在描述中灰的物理量的時(shí)候,我不可能描述成場(chǎng)景中最亮的物體亮度的20%,這個(gè)最亮的概念會(huì)非常不好確定。同一個(gè)明亮的場(chǎng)景中,中灰紙張應(yīng)該是白紙反射率的20%而不是燈泡能量的20%。我如果把高亮物體牽涉僅來(lái),事情就亂了。但是我可以用繪畫舉例子,畫布的動(dòng)態(tài)范圍是有限的,最亮不過(guò)是畫布上的留白,屏幕的動(dòng)態(tài)范圍也是有限的,最亮不過(guò)是白像素。所以在低動(dòng)態(tài)范圍的語(yǔ)境下,我可以安全的定義,中灰蠟筆的反射率是白色蠟筆的20%左右,中灰像素的亮度是白像素亮度的20%左右,而不是現(xiàn)實(shí)場(chǎng)景中最亮物體的20%。這一點(diǎn)是很關(guān)鍵的。


另外,一切的前提必須是:灰階預(yù)算很緊張,只有灰階有限,我們才需要考慮中灰映射給誰(shuí)的問(wèn)題,如果灰階足足的夠用,硬盤不要錢了,網(wǎng)線足夠粗,我們主流不再使用8位每通道圖片記錄亮度信息的話,Gamma是沒(méi)必要的,我們直接把自然界的0.2記錄在文件上,顯示器讀取到0.2,也直接顯示就好了——32位每通道的hdr格式就是這樣的。32位格式中,中灰就被記作0.218,所以在32位環(huán)境中拉一個(gè)0-1的漸變是這樣的,很明顯暗部被壓縮了,高光區(qū)很多:
這張圖怎么理解?它還是0-1的均勻漸變,中間那個(gè)顏色還是0.5,只不過(guò)32位圖中的數(shù)值就是自然界的物理量,所以這個(gè)色帶對(duì)應(yīng)的其實(shí)是現(xiàn)實(shí)中的反射率。左邊五分之一20%處是中灰色,中間的像素表現(xiàn)的是反射率為白色50%的物體看起來(lái)的灰度,這個(gè)灰度是0.5^0.454=73%灰。也就是8位下的186灰。具象的說(shuō),如果我有一支蠟筆反射率是50%,看起來(lái)就是中間這個(gè)灰度。

總之一句話:灰階有限的前提下,因?yàn)槿搜蹖?duì)自然的非線性感知特性,我們才需要Gamma校正。

具體到生活中的現(xiàn)象就是:因?yàn)槲覀冇脖P太貴,網(wǎng)線太細(xì),所以地球人目前主流使用8位每通道的sRGB色彩描述體系,它灰階有限,中灰的地位必須在所有灰階的中間,記錄值為128,而不能是其物理值0.218,把物理量0.218換算成0.5灰階編號(hào)的過(guò)程,就是編碼端的Gamma校正,Gamma值為1/2.2=0.454。屏幕讀取到128顯示成21.8%的亮度的過(guò)程,就是解碼端的Gamma校正,Gamma值為2.2。整個(gè)系統(tǒng)Gamma為1。若是有朝一日,32位每通道文件成為主流格式,Gamma校正就會(huì)消失。自然數(shù)據(jù)不經(jīng)校正直接記錄為文件數(shù)據(jù),再不經(jīng)校正直接顯示。


總之一句話:灰階有限的前提下,因?yàn)槿搜蹖?duì)自然的非線性感知特性,我們才需要Gamma校正。

具體到生活中的現(xiàn)象就是:因?yàn)槲覀冇脖P太貴,網(wǎng)線太細(xì),所以地球人目前主流使用8位每通道的sRGB色彩描述體系,它灰階有限,中灰的地位必須在所有灰階的中間,記錄值為128,而不能是其物理值0.218,把物理量0.218換算成0.5灰階編號(hào)的過(guò)程,就是編碼端的Gamma校正,Gamma值為1/2.2=0.454。屏幕讀取到128顯示成21.8%的亮度的過(guò)程,就是解碼端的Gamma校正,Gamma值為2.2。整個(gè)系統(tǒng)Gamma為1。若是有朝一日,32位每通道文件成為主流格式,Gamma校正就會(huì)消失。自然數(shù)據(jù)不經(jīng)校正直接記錄為文件數(shù)據(jù),再不經(jīng)校正直接顯示。

benman


1. 一個(gè)典型的完整圖像處理系統(tǒng)主要包括攝像采集部件、存儲(chǔ)傳輸部件和顯示輸出部件。這三個(gè)部分中都可以引入Gamma的概念。按照國(guó)際組織ITU的標(biāo)準(zhǔn)如sRGB,常見(jiàn)的攝像部件中Gamma處理過(guò)程稱為Gamma預(yù)校正,推薦值為1/2.2=0.4545...,而顯示部件中Gamma推薦值為2.2。兩者相抵最終呈現(xiàn)給觀察者的系統(tǒng)Gamma則等于1。但作為一名工程師,個(gè)人看法(純屬個(gè)人看法)是:其一,標(biāo)準(zhǔn)制定主要是面向生產(chǎn)商,解決市面產(chǎn)品(攝像機(jī)和顯示器)的兼容性問(wèn)題,顯示部件未必一定得是2.2,只是市面上占多罷了;其二,只要你能保證整個(gè)系統(tǒng)的最終Gamma值為1,又何妨一定要限制攝像機(jī)是0.45、顯示器一定是2.2呢?蘋果的Macintosh的Gamma值不就沒(méi)遵從這些值么,人家的系統(tǒng)做成封閉的,最后給你一個(gè)總Gamma=1也就行了唄。事實(shí)上業(yè)內(nèi)也都承認(rèn)蘋果的系統(tǒng)在色彩管理上也是做的最好的。


結(jié)合這個(gè)圖我小個(gè)結(jié):不管圖像處理流程多復(fù)雜,Gamma值的確定視該系統(tǒng)最終的用途而定:如果你通過(guò)攝像機(jī)采集、處理并最終是給用戶通過(guò)顯示器看的,中間各環(huán)節(jié)的Gamma值你自己定,滿足最后總Gamma等于1就行(當(dāng)然,不等1也可以,見(jiàn)下述),因?yàn)橹苯舆M(jìn)入用戶眼睛的就是線性光,沒(méi)經(jīng)過(guò)什么Gamma變換(這和光進(jìn)入人眼后的對(duì)數(shù)型感知不是一回事哦);如果你只是想搞個(gè)傳感器(如攝像機(jī)),模擬一下人眼感知,那好,就設(shè)個(gè)1/2.2吧,這個(gè)高票答案中解釋了為甚么是2.2.


2. 上面那段其實(shí)還隱藏了幾個(gè)問(wèn)題:
  • 總Gamma不等于1可不可以?

當(dāng)然可以,如果最后是人來(lái)做主觀評(píng)估,系統(tǒng)的總Gamma值其實(shí)稍微大一點(diǎn)點(diǎn)更好,因?yàn)榘挡柯晕⒗忘c(diǎn),會(huì)起到畫面對(duì)比度增強(qiáng)的效果,看起來(lái)沒(méi)準(zhǔn)你更喜歡。所以以下會(huì)看到系統(tǒng)總Gamma不等1的情況,按照 @韓世麟 同學(xué)的說(shuō)法,就是會(huì)用到?jīng)]經(jīng)過(guò)補(bǔ)償至2.2的顯示器,也就希望不必糾結(jié)于這個(gè)問(wèn)題了。

  • 不是說(shuō)三個(gè)組成部件中都有Gamma么,怎么只是提到了Scanner/Camera和Display,沒(méi)說(shuō)那個(gè)傳輸存儲(chǔ)處理部件啊?

別急,下面會(huì)提到。只是我們平時(shí)遇到的情況多是不考慮傳輸存儲(chǔ)部件(如電腦,下稱中間部件)的情況,也就是輸入中間部件的都是經(jīng)過(guò)Gamma預(yù)校正的信號(hào),如輸入電腦的照片和電影視頻,這些都是照相機(jī)或攝像機(jī)采集生成的。但在計(jì)算機(jī)圖形學(xué)、平面設(shè)計(jì)、游戲設(shè)計(jì)等領(lǐng)域應(yīng)該會(huì)用到中間部件的Gamma??聪聢D:


先解釋四列:第一列是采集部件(掃描儀、攝像機(jī)、照相機(jī)等輸入設(shè)備)的Gamma值;第二列是你看到的圖片或視頻的存儲(chǔ)值(顯示前放在顯卡的幀buffer中);第三列是應(yīng)用到存儲(chǔ)buffer的查找表(實(shí)際就是顯卡Gamma變換LUT表,可為1);第四列就是顯示部件(你的顯示器)的Gamma值(需要注意:上圖中顯示器2.5一律是未補(bǔ)償Gamma值,沒(méi)準(zhǔn)你用的滿足sRGB標(biāo)準(zhǔn)的顯示器,那就該是2.2了)。

第一行就是在電腦上看視頻看電影時(shí)你會(huì)經(jīng)歷的Gamma變換歷程,第一列Gamma Correction當(dāng)然是攝像機(jī)里已經(jīng)完成的0.4545...變換,你的播放器和你的顯卡都不會(huì)再做其他處理(中間環(huán)節(jié)省略),直接跳到顯示器播吧(總Gamma就是1.25,如果顯示器Gamma是2.2則總Gamma就是1了)。當(dāng)然如果你在電腦上做個(gè)設(shè)計(jì),但未用到幀緩存中的查找表或?qū)⑵湓O(shè)為Gamma=1,則也歸入此類。


第二行就是真正做平面設(shè)計(jì)人員們情況了。圖片圖形都是你自己生成的,所以采集端Gamma=1,幀緩存Gamma設(shè)為1/2.2(可理解為你的軟件如Photoshop中設(shè)定的Gamma Correction),然后顯示Gamma為2.5,最后總Gamma=1.14。


第三行SGI工作站,現(xiàn)在用的人少了吧,反正我沒(méi)用過(guò)。


第四行蘋果的Macintosh系統(tǒng),它家的掃描儀Gamma=1/1.72,它家的QuickDraw軟件存放生成的RGB值,用到幀緩存Gamma=1/1.45,然后送到它家2.5的顯示器,出來(lái)總Gamma結(jié)果是1.0。這才是完全封閉的系統(tǒng),每個(gè)環(huán)節(jié)都可控。


好吧,最后我也得承認(rèn)我是在都書袋子,以上各圖來(lái)自Charles Poynton的《The rehabilitation of gamma》,加入了我自己的一些理解,如有謬誤請(qǐng)糾正為盼。


渣渣

1:人眼對(duì)暗部細(xì)節(jié)比較敏感。
2:圖片文件的色階很有限。圖像的來(lái)龍去脈:自然界捕獲的圖像->圖像存儲(chǔ)和處理->顯示器輸出,兩頭的顏色數(shù)量都是非常豐富的,但是中間的存儲(chǔ)和處理出于存儲(chǔ)容量和渲染時(shí)帶寬的限制,24位色圖片每個(gè)通道只有2^8個(gè)色階,總共只能顯示2^24種顏色。

基于以上兩點(diǎn),我們需要在整個(gè)圖像來(lái)龍去脈中盡可能保留暗部細(xì)節(jié),亮部細(xì)節(jié)丟掉一些也無(wú)所謂。因此有了pow(color, 1/2.2)這個(gè)gamma encoding操作,使暗部細(xì)節(jié)也分到更多色階。得到一張比較“亮”的圖片存儲(chǔ)起來(lái)。這張圖片雖然暗部細(xì)節(jié)都保留下來(lái)了,但是不能直接看這張“亮”的圖片,那只是一個(gè)中間產(chǎn)物而已。我們需要顯示器做一個(gè)pow(color, 2.2)的gamma decoding操作把它壓暗,因?yàn)轱@示器(特別是高端顯示器)的顏色數(shù)是遠(yuǎn)大于2^24的,這個(gè)操作并不會(huì)在壓暗的過(guò)程中丟失暗部細(xì)節(jié)。

總結(jié)一下,gamma校正存在的本質(zhì)原因是:是受限于有限存儲(chǔ)空間及渲染帶寬,需要在整個(gè)圖像的流轉(zhuǎn)各級(jí)轉(zhuǎn)換中盡可能保留暗部細(xì)節(jié),以滿足人眼對(duì)暗部敏感的需求。人最終看到顯示器顯示圖像和最初從自然界捕獲的圖像大體是無(wú)差別的,只是暗部細(xì)節(jié)損失少,亮部細(xì)節(jié)損失多罷了。

疾風(fēng)齒輪

簡(jiǎn)而言之,gamma值就是對(duì)動(dòng)態(tài)范圍內(nèi)亮度的非線性存儲(chǔ)/還原算法。


1. gamma值的存在,歸根到底,是一個(gè)解決方案,用于化解“無(wú)限的自然存在,與有限的存儲(chǔ)容量/傳輸帶寬”之間的矛盾。

自然界中存在的亮度范圍是巨大的:日光環(huán)境下100000勒克斯,陰天環(huán)境8000 lux,室內(nèi)辦公環(huán)境300 lux,路燈下5 lux,星光0.0003 lux……

很顯然,亮度級(jí)別太多太多。如此龐大的動(dòng)態(tài)范圍,如果按照線性方案進(jìn)行存儲(chǔ),那么存儲(chǔ)/傳輸?shù)拇鷥r(jià)很昂貴。


2. 人類對(duì)于外界刺激變化程度的感受,是指數(shù)形式的(或者說(shuō)感受到的是外界物理量變化的對(duì)數(shù))。例如,10倍的聲音我們感受到10分貝的變化,100倍的聲音對(duì)應(yīng)20分貝感受變化,1000倍對(duì)應(yīng)30分貝感受……

人們對(duì)于物體明亮程度的主觀感受,也遵循指數(shù)規(guī)律。1盞燈→2盞燈產(chǎn)生的亮度變化感受,與2盞燈→4盞燈的變化感受是相同的,也就是說(shuō)2倍物理亮度改變讓我們感受到1“檔”變化,4倍物理亮度改變產(chǎn)生2“檔”感受改變,8倍亮度對(duì)應(yīng)3“檔”主觀改變……

根據(jù)實(shí)驗(yàn)測(cè)定,人類對(duì)明亮程度的主觀感受,線性對(duì)應(yīng)于物理亮度的2.2次方(實(shí)際測(cè)試結(jié)果為1.8-3.5不等,與測(cè)試環(huán)境的明暗程度有關(guān),也與受試人群有關(guān)。)


3. 綜合1、2兩點(diǎn),非線性存儲(chǔ)方案就是很自然的結(jié)論,gamma=2.2就成了影視業(yè)的業(yè)界標(biāo)準(zhǔn),并進(jìn)而成為電腦、IT界的事實(shí)標(biāo)準(zhǔn)。

(這種方案有點(diǎn)類似于IEEE浮點(diǎn)數(shù)的存儲(chǔ)方案:?jiǎn)尉雀↑c(diǎn)數(shù)只用了4個(gè)字節(jié),就表示出了10e-38到10e+38的巨大動(dòng)態(tài)范圍(此處不考慮0和負(fù)數(shù)),且在整個(gè)動(dòng)態(tài)范圍內(nèi)其相對(duì)誤差基本固定)


4. gamma值的變換分為兩個(gè)部分

· 實(shí)際亮度→內(nèi)部存儲(chǔ)(或信號(hào)傳輸):存儲(chǔ)數(shù)值≒物理亮度的1/2.2次方。在限定條件下,這保證了低亮度的分辨精度,降低了高亮度的量化存儲(chǔ)開銷,從而在總體上獲得了最佳效果(亦即小的存儲(chǔ)/傳輸代價(jià),大的動(dòng)態(tài)范圍,最多的線性主觀感受級(jí)別)。這個(gè)環(huán)節(jié)對(duì)應(yīng)于攝像、sRGB圖片存儲(chǔ)過(guò)程。

· 內(nèi)部存儲(chǔ)(或信號(hào)傳輸)→顯示還原:顯示物理亮度≒存儲(chǔ)數(shù)值的2.2次方。這個(gè)環(huán)節(jié)對(duì)應(yīng)于攝像、sRGB圖片的顯示(還原)過(guò)程。


原理性介紹完畢,下面是一些對(duì)gamma使用的細(xì)節(jié)性介紹:

① 在目前電腦體系中,一般圖片使用sRGB方案,其灰度級(jí)別0、1、2…255,對(duì)應(yīng)于線性的主觀亮度感受(物理亮度則是非線性的)。

使用gamma=2.2是正確還原大多數(shù)圖片的必要選擇。(鑒于環(huán)境明暗的影響,實(shí)際上根據(jù)環(huán)境亮度而在1.8-2.5范圍內(nèi)調(diào)整gamma值有其道理)

② 對(duì)于完整的攝制(繪圖)→存儲(chǔ)/傳輸→顯示還原,其整體gamma應(yīng)接近于1,所謂所見(jiàn)即所得。

當(dāng)整體gamma不為1時(shí),就類似于音響加了均衡器,可能更適合用戶口味但不保真。

③ 本機(jī)制作的圖片/視頻還原時(shí),在本機(jī)上會(huì)保持原樣,與gamma值無(wú)關(guān)。

但考慮到交換/傳輸?shù)狡渌麢C(jī)器上,則兩個(gè)機(jī)器gamma值相同時(shí)才會(huì)有同樣的還原結(jié)果。所以本機(jī)gamma值還是設(shè)為2.2為好。(不考慮交換的請(qǐng)隨意,用戶至上^_^)

④ 對(duì)一個(gè)現(xiàn)有圖片,在指定顯示器上還原時(shí),其總體明暗范圍固定。

為觀察圖片細(xì)節(jié),調(diào)整顯示gamma值是為了讓某些細(xì)節(jié)更清晰,代價(jià)是讓另一部分不容易分辨細(xì)節(jié)。

· 當(dāng)調(diào)大gamma時(shí),表現(xiàn)為總體提亮,原暗部占據(jù)更多明暗范圍、易于分辨細(xì)節(jié),原亮部變得更亮(白茫茫,占據(jù)明暗范圍減小)且細(xì)節(jié)分辨變得困難。

· 當(dāng)減小gamma時(shí),表現(xiàn)為總體壓暗,原亮部占據(jù)更多明暗范圍、易于分辨細(xì)節(jié),原暗部變得更暗(黑乎乎,占據(jù)明暗范圍減小)且細(xì)節(jié)分辨變得困難。

⑤ 純黑(亮度0)、純白(亮度255)的交錯(cuò)網(wǎng)點(diǎn)進(jìn)行模糊,其平均亮度為50%。在gamma=1的機(jī)器上,這與灰度128是接近的;在gamma=2.2的環(huán)境下,這與灰度186是接近的(這是gamma=2.2規(guī)則所決定的,也可勉強(qiáng)理解為硬性規(guī)定)。

⑥ 電腦顯示系統(tǒng)的亮度動(dòng)態(tài)范圍有限,所以黑屋子的背景是黑色,黑屋子里黑紙上的黑色鋼筆字還是黑色;白墻是白色,白熾燈、閃光燈、正午太陽(yáng)也還是白色。這些不在討論范圍之內(nèi)。


(以上均以灰度作為介紹,RGB單通道的gamma值基本類似)


Avatar Ye

Gamma Correction的概念的確比較抽象,但在計(jì)算機(jī)圖形學(xué)中非常重要。一般的解釋,比方說(shuō)已有的答案中,往往忽略兩個(gè)背景知識(shí):人類的視覺(jué)特性和古老的 CRT 顯示器。在我看過(guò)的所有資料中,都沒(méi)有人提到過(guò),Gamma 的廣泛應(yīng)用很大程度上是因?yàn)橐粋€(gè)神奇的巧合。


從字面上看,Gamma指的是指數(shù)運(yùn)算中的指數(shù)。比方說(shuō) A 的2.2次方,Gamma 指的就是2.2這個(gè)數(shù)字。計(jì)算機(jī)圖形學(xué)中顏色值,特別是 RGBA 值都是用0到1的浮點(diǎn)數(shù)表示。顏色的 Gamma 矯正本質(zhì)上就是一系列介于0到1之間的浮點(diǎn)數(shù)進(jìn)行指數(shù)運(yùn)算,通常來(lái)說(shuō)這個(gè)數(shù)字是2.2。

為什么要進(jìn)行矯正?為什么是2.2?

從人類的視覺(jué)特性說(shuō)起。人類的視覺(jué)系統(tǒng)進(jìn)化出了一個(gè)特性,黑暗環(huán)境下的辨識(shí)能力要強(qiáng)于明亮環(huán)境,這可能有助于我們及時(shí)發(fā)現(xiàn)黑暗中隱藏的危險(xiǎn)。如果有興趣,可以在計(jì)算機(jī)上繪制一條從白到黑的漸變條,你會(huì)發(fā)現(xiàn)明顯黑色部分的色階要多于白色部分。這并不是你的顯示器問(wèn)題(當(dāng)然也有可能真的是你的顯示器太差……),而是因?yàn)槲覀儗?duì)于暗色的分辨能力遠(yuǎn)超過(guò)亮色。那么在有限的計(jì)算機(jī)顏色(民用顯示器和操作系統(tǒng)中黑色到白色256個(gè)色階)中,亮色和暗色均勻分布的話,那亮色部分就會(huì)精度過(guò)剩而暗色部分就會(huì)精度不足。如何解決這個(gè)問(wèn)題?進(jìn)行 Gamma 矯正。
上圖中的紅色虛線就是圖像的 Gamma 矯正曲線,一般都是2.2的倒數(shù),0.454545..。觀察矯正以后的曲線,原來(lái)0到0.5的區(qū)間被擴(kuò)展到了0到~0.73,相應(yīng)的大于0.5的區(qū)間被壓縮到只有原來(lái)的一半左右。這樣通過(guò)一次簡(jiǎn)單的計(jì)算,我們達(dá)到了不增加數(shù)據(jù)量的前提下提高可辨識(shí)精度(Perceptual precision)的目的。可能從來(lái)沒(méi)有人告訴過(guò)你,存儲(chǔ)在你硬盤上的圖像,都是矯正過(guò)的,如下圖,中間那個(gè)。
當(dāng)然有人可能會(huì)問(wèn),矯正以后豈不是喪失了很多亮部的細(xì)節(jié),也不合算呀。這個(gè)問(wèn)題取決于存儲(chǔ)的數(shù)據(jù)格式,一般的格式都有足夠多的冗余精度,足有保存矯正前后的所有細(xì)節(jié),但是對(duì)于某些特定的壓縮格式,比方說(shuō)游戲普遍使用的 DXT 壓縮格式,精度只有6Bit,也就是64階,Gamma矯正后很多細(xì)節(jié)永久喪失了(當(dāng)然壓縮算法也會(huì)丟失很多)。

現(xiàn)在我們知道了對(duì)圖像進(jìn)行 Gamma 矯正的本質(zhì)上的原因——因?yàn)槲覀兊难劬?。那么為什么?.2的倒數(shù)?

因?yàn)槔鲜降?CRT 顯示器。

陰極管顯示器有一個(gè)物理特性——輸入值和輸出值呈現(xiàn)指數(shù)關(guān)系,這個(gè)指數(shù)是2.2。也就是說(shuō),當(dāng)你輸入0.5的亮度,在屏幕上得到的不是0.5,而是0.5的2.2次方,約等于0.218。仍舊是這個(gè)圖:
下面的曲線就是 CRT 顯示器的 Gamma 曲線。

當(dāng)我們?cè)?CRT 顯示器上顯示一張 Gamma 矯正過(guò)的圖像,也就是上面的那根曲線,就會(huì)獲得所期望的線性圖像——中間那跟灰色的直線。你看,對(duì)圖像進(jìn)行Gamma 矯正即可以獲得我們想要的精度,又能在 CRT 顯示器上正確顯示,這豈不是一個(gè)美好的巧合?

事實(shí)上我們之所以選擇2.2的倒數(shù)進(jìn)行圖像矯正,那是為了迎合 CRT 顯示器的特性。如果顯示器的 Gamma 值不是2.2,那么圖像矯正 Gamma 值也需要相應(yīng)變更,比方說(shuō)早年的 Mac 操作系統(tǒng)都是使用1.8的 Gamma 值。現(xiàn)代的 LCD 顯示器已經(jīng)不再具有這個(gè)特性,但是生產(chǎn)廠商仍舊會(huì)加入模擬 Gamma 曲線的硬件功能,也就是說(shuō)所有顯示器都期待軟件輸出 Gamma 矯正過(guò)的圖像。

總結(jié)一下,所謂 Gamma 矯正就是對(duì)顏色進(jìn)行指數(shù)運(yùn)算。對(duì)圖像進(jìn)行矯正是為了獲得符合人眼特性的可辨識(shí)精度。矯正使用的Gamma 值取決于顯示器,現(xiàn)代系統(tǒng)基本上都統(tǒng)一使用2.2。

Gamma 矯正的確是一個(gè)隱藏的比較深的問(wèn)題,別說(shuō)普通人,長(zhǎng)久以來(lái)游戲界也一直沒(méi)有重視。計(jì)算機(jī)圖形學(xué)中的算法普遍需要輸入值處于線性空間,而讀入的圖像卻都是矯正過(guò)的——處于 Gamma 空間。最終得到的計(jì)算結(jié)果自然也是不正確的。當(dāng)然游戲圖像往往可以通過(guò)美術(shù)師的人為修改來(lái)得到符合期望的圖像,但從數(shù)學(xué)上來(lái)說(shuō),這是錯(cuò)誤的……而且整個(gè)行業(yè)錯(cuò)了幾十年,直到這幾年這個(gè)問(wèn)題才被重視起來(lái),產(chǎn)生了所謂了 Gamma Corrected Pipeline。
左側(cè)是一張真實(shí)的照片,右側(cè)上方是線性空間(正確)的運(yùn)算結(jié)果,下方是 Gamma 空間(錯(cuò)誤)的結(jié)果。這種錯(cuò)誤的結(jié)果我們用了很久……

3D 圖像的渲染本質(zhì)上是對(duì)真實(shí)世界進(jìn)行模擬,近幾年(特別是2014年)興起的 Physically Based Rendering 特別強(qiáng)調(diào)貼圖材質(zhì)燈光的統(tǒng)一性和物理真實(shí)的渲染效果,自然不能容忍在整個(gè)系統(tǒng)的底層存在不正確的 Gamma 矯正這樣的大烏龍……
要達(dá)到這樣的實(shí)時(shí)渲染效果,Gamma 一定要搞對(duì)……










本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
色彩管理中的Gamma值的理解
Gamma值
Gamma校正
漫談 Gamma
桐生彩希顯示器圖卡調(diào)整顯示器
這么貴的紅蜘蛛,高級(jí)工具用上了嗎?
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服