康聰聰 (天津師范大學(xué)美術(shù)與設(shè)計(jì)學(xué)院 300387)
線性工作流(Linear Workflow)是基于計(jì)算機(jī)圖形學(xué)的照片級(jí)CG渲染的理論基礎(chǔ),因其所有參與計(jì)算的顏色數(shù)據(jù)都處于“線性色彩空間”以及遵循自然界物質(zhì)守恒定律的線性計(jì)算而得名。線性工作流作為計(jì)算機(jī)圖形學(xué)這一學(xué)科不可回避的歷史遺留問(wèn)題,持續(xù)且深遠(yuǎn)地影響著寫實(shí)動(dòng)畫的制作流程。
在傳統(tǒng)的CG制作流程中,我們總會(huì)遇到渲染出的圖像偏暗(尤其是暗部缺少細(xì)節(jié)),就算我們?cè)黾訜艄鈹?shù)量并提高燈光亮度,燈光附近幾近曝光但某些暗部還是缺少細(xì)節(jié),這是由于燈光非真實(shí)的物理衰減。線性工作流的本質(zhì)就在于通過(guò)正確地校正Gamma偏差,讓圖像以正確的線性化效果顯示,使得圖像的明暗看起來(lái)更有真實(shí)的光影感,更符合人眼觀感。
Gamma是一個(gè)描述階調(diào)特性的對(duì)數(shù),被使用在8位RGB圖中,用來(lái)解決在有限的存儲(chǔ)空間中保存盡可能多的人類感受敏感的色彩內(nèi)容。簡(jiǎn)單來(lái)說(shuō),Gamma描述了相機(jī)或螢?zāi)坏姆蔷€性(nonlinear)反應(yīng)的現(xiàn)象。由于早期CRT螢?zāi)惠斎雴挝浑妷翰⒉粫?huì)產(chǎn)生等量的亮度(所以是非線性),為了正確地顯示畫面顏色亮度,刻意制定一個(gè)曲線關(guān)系(x軸為輸入與y軸為輸出),讓最終輸出的影像為線性顏色亮度的影像。即使現(xiàn)代能夠制造出線性反應(yīng)的液晶螢?zāi)唬@種現(xiàn)象仍然深深地影響圖像處理,不管是后期、合成、調(diào)色或是渲染都離不開Gamma。
所有的自然界圖像都需要經(jīng)過(guò)人眼的感知,然后才能轉(zhuǎn)化為人腦可理解的信息,實(shí)驗(yàn)證明,自然界真實(shí)的亮度信息與人眼所“看到”的是有區(qū)別的。根據(jù)韋伯-費(fèi)希納定律(Weber-Fechner Law),當(dāng)人體感官所接收到的感覺以算術(shù)級(jí)數(shù)增加時(shí),外界刺激強(qiáng)度需要以更大的幾何級(jí)數(shù)增加,人們才能感覺其差異,這是由于人眼的感光曲線其實(shí)是對(duì)數(shù)曲線。對(duì)于我們的感覺來(lái)說(shuō)同樣的物理增量,永遠(yuǎn)是總量小的時(shí)候增量明顯,比如光源從一個(gè)變成兩個(gè)明顯比51個(gè)變?yōu)?2個(gè)更強(qiáng)烈,雖然兩者都只增加了一個(gè)光源。由此可見,我們的眼睛和大腦更擅長(zhǎng)在黑暗的環(huán)境中發(fā)現(xiàn)明暗細(xì)微的區(qū)別而不善于在明亮的場(chǎng)景中發(fā)現(xiàn)同樣的區(qū)別。實(shí)驗(yàn)證明,如果我們定義0代表的亮度為0,1代表亮度為100%,那么亮度從0上升到0.218時(shí),我們就會(huì)感覺到灰度已經(jīng)達(dá)到了白色的50%,從絕對(duì)意義上的物理亮度來(lái)說(shuō),這里的光子只有白色的21.8%左右,而當(dāng)亮度真正上升到0.5時(shí),人的感官會(huì)認(rèn)為明度已高達(dá)白色的78%。人心理感受的中灰色并不等于白色的50%這個(gè)悖論更加證明人眼對(duì)弱光線更加敏感這一特性。
另一方面,計(jì)算機(jī)和數(shù)字圖像傳感器都是靠搭載接收器上的光子數(shù)量來(lái)衡量亮度的,所以不管周圍的亮度如何,單位的光子都會(huì)線性地提升相同的單位,當(dāng)電腦存儲(chǔ)圖像時(shí),電腦會(huì)記錄每個(gè)像素上RGB三通道的亮度值,在主流的8位/通道的圖像中,如jpegs或png,由于每通道僅僅只有256個(gè)色階,線性地記錄亮度信息會(huì)造成資源的浪費(fèi),在圖像采集過(guò)程中,儲(chǔ)存的不是每個(gè)像素的亮度值,而是經(jīng)過(guò)Gamma值為1/2.2的校正后的圖像信號(hào),這樣就把暗色漸變的部分劃分為更多的數(shù)據(jù)點(diǎn),亮色的漸變則用更少的數(shù)據(jù)點(diǎn)表示,這樣大致和人類的視覺觀感相似,由于目前主流顯示器都是非線性的,所以顯示器要輸出圖片時(shí),只需將存儲(chǔ)的數(shù)值施加一個(gè)Gamma=2.2就能顯示出正常的顏色。自然數(shù)據(jù)經(jīng)Gamma校正記錄為非線性文件數(shù)據(jù),犧牲掉了一些不重要的亮部存儲(chǔ)空間,以此達(dá)到人的心理預(yù)期,并合理地利用存儲(chǔ)空間,最大限度地記錄自然界的信息。
在線性工作流中,我們必須遵循線性化顏色數(shù)據(jù)的工作流程,這意味著在處理圖像時(shí)要全部使用線性化的圖像數(shù)據(jù)。由于在三維軟件中進(jìn)行的渲染必須是線性的,而輸入的8位/通道的貼圖都是經(jīng)過(guò)Gamma校正后的偏亮的非線性圖片,所以兩者疊加進(jìn)行物理渲染一定會(huì)導(dǎo)致不正確的渲染結(jié)果,產(chǎn)生混合Gamma。為了讓渲染流程線性化,我們可以將輸入的8位/通道的貼圖進(jìn)行反向Gamma(Gamma=2.2),讓其回到線性空間,此時(shí)再將壓暗的圖像信號(hào)代入計(jì)算機(jī)渲染中,就會(huì)得到完全正確的渲染計(jì)算的數(shù)據(jù)了,但如果這個(gè)時(shí)候?qū)秩窘Y(jié)果輸出到顯示器,就會(huì)呈現(xiàn)出前文中提到的圖像整體偏暗的結(jié)果,這是由于顯示器固有的sRGB標(biāo)準(zhǔn)的Gamma校正,此時(shí)我們?yōu)榱说玫阶罱K正確的輸出效果,只需施加一個(gè)值為1/2.2的提亮Gamma來(lái)補(bǔ)償顯示器帶來(lái)的偏差,光線衰減速度將會(huì)被修正,為暗部帶來(lái)更多細(xì)節(jié)的同時(shí)提升畫面的真實(shí)感,從而得到理想的效果。
線性工作是所有藝術(shù)家、新手或經(jīng)驗(yàn)豐富的計(jì)算機(jī)圖形學(xué)中最容易被誤解和困惑的方面之一。在線性工作流下,從渲染設(shè)置、光照計(jì)算到后期處理整個(gè)流程中個(gè)色彩管理都是正確的,值得每一位CG藝術(shù)家學(xué)習(xí)。雖然線性工作流早已成為行業(yè)的標(biāo)準(zhǔn)流程,但時(shí)至今日,線性工作流仍然沒有被廣大CG藝術(shù)家所熟知,雖然線性工作流開始時(shí)有點(diǎn)令人困惑,但從長(zhǎng)遠(yuǎn)來(lái)看,它將會(huì)帶來(lái)巨大的回報(bào)。
參考文獻(xiàn):
[1]彭國(guó)福,林正浩.圖像處理中GAMMA校正的研究和實(shí)現(xiàn)[J].電子工程師,2006(02):30-32+36.
[2]杜馨瑜. 模擬視覺機(jī)制的圖像處理若干問(wèn)題研究[D].電子科技大學(xué),2012.
[3]韓世麟. 寫實(shí)建筑CG表現(xiàn)技術(shù)及其在建筑設(shè)計(jì)中的應(yīng)用[D].天津大學(xué),2014.