2012年11月23日 星期五

2012年11月17日 星期六

那” 直線性色彩工作法 / Linear Workflow ”的背後有哪些你應該要知道?????????

首先你被你的眼睛騙了一輩子! What??

真實世界其實還蠻暗的(gamma 1.0) ! 但我們看世界還好呢??
因為我們人類的眼睛內建一種看東西的上揚曲線叫Gamma 0.4545
所以


















Another Sample:



















然後如果我再告訴你另外一個事實:
所有的數位相機/錄影機在拍攝影像時, CCDCMOS等感光元件所看到接受到是直線性色彩但在寫入檔案到記憶卡或磁碟磁帶過程中會加入一個gamma 0.4545曲線



















Another Sample:


你可能會問, Why?????? 那我先問你是否有聽過螢幕gamma 2.21.8 (Apple螢幕)??
因為我們的任何一個螢幕都帶著一種把畫面弄暗的gamma 2.2曲線
所以:
Another Sample:
其實gamma 0.4545剛好是螢幕gamma 2.2的反函數(1/2.2=0.4545), 所以被gamma0.4545拉亮的數位檔案剛好被螢幕的gamma2.2中和掉而獲得最後gamma1.0的輸出影像, 符合物理世界的呈現模式! 再加上人類用gamma 0.4545的肉眼曲線看亮世界, 所以螢幕所呈現在人眼所看到的結果自然沒有甚麼問題!! 殊不知其背後有著複雜的gamma交換過程!!! XD!
那又跟上述所提的一大堆的直線性色彩工作法優點與CG算圖或合成過程中的應用又有任何的關係??
因為最早期的映像管螢幕(CRT)在製程中會出現gamma 2.2的情況, 所以所有數位檔案便從此被要求在寫入檔案過程中加入gamma 0.4545的變亮曲線之工業標準! 即使新一代的LCD螢幕可以使用gamma 1.0製造, 但考慮與舊系統或現有套裝應用軟體的相容” LCD螢幕還是繼續保有gamma 2.2的特性!
所以所有數位影像在儲存過程中還是保有寫入gamma 0.4545的變亮曲線!

其實這個寫入gamma 0.4545的變亮曲線變成所有直線性色彩的萬惡根源.
因為大部分的合成軟體或算圖引擎其內部運算都是採取直線性色彩運算! 但輸入影像素材或貼圖進入軟體卻是帶gamma 0.4545非直線性色彩的color space.

所以直線性色彩工作法的第一關鍵就是清楚告訴軟體你所輸入的影像素材或貼圖是何種color space, 如果是數位相機攝影機或從網頁下在的素材圖片, 基本上都是統稱gamma 2.2 color space (應該正確的說是gamma 2.2反函數(1/2.2=0.4545)) Adobe所制定的sRGB color space., 當軟體知道素材或貼圖是何種color space, 在送入運算之前, 軟體會先套上color space的相反數曲線(反函數), 使所有素材或貼圖從直線性色彩進入到直線性色彩”, 所有有關色彩運算便從此符合自然世界物理, 享有所有直線性色彩工作法的所有優點!

結束了嗎?? 還沒! No pain! No get!
因為所有貼圖及運算都已直線性色彩化, 所獲得的算圖結果也是直線性色彩結果, 根據前述直線性色彩結果很暗! 所以無法提供算圖結果優劣判斷! 在軟體端的出圖結果上要透過LUT(Look UP Table)的幫忙, 在最後結果上一層拉亮處理的曲線通常是sRGB rec709.

結論:
在認識直線性工作法概念後:
1: 確認輸入素材影像color space!
一般來說! 所有在螢幕看起來正常(老實說colorspace無法從任何判斷)或數位相機攝影機或從網頁下在的素材圖片都是gamma 2.2/ sRGB color space.
大部分OpenEXR/ HDR/ 32bit Tiff Linear color space
dpx/ cin 統稱使用log color space
使用在Bump texture/ Normal texture/ Dispacement texture不須套用任何color space轉換, linear color使用!
2: 啟動軟體的直線性色彩運算模式
Photoshop/ After Effects/ 3ds MAX mentalray/ Maya mentalray : 後續介紹各軟體如何啟動!
Nuke無須任何啟動, 它預設就是一個優化的直線性色彩工作法環境
3: 選擇理想的LUT
4: 輸出檔案時再決定需要帶何種color space出去