2008年9月24日 星期三

Film/ HDR/ 32位元浮點合成 in After Effects....Part 07

Video Gamma:
因為log色彩空間根本看起來就不自然, 有人說它是一個糟透的色彩空間去工作大概一點也不奇怪. 但是還有另一種色彩空間我們天天會碰到, 它已經跟隨著整個電腦使用歷史,你根本不會覺得有甚麼問題在這種色彩空間下工作,它就是你的電腦螢幕video色彩空間.

妳可能毫無疑問認為在8位元的128(0~255)數值就是黑與白的中間值. 所以製作一個中灰就是全白的一半亮度,對吧!但當你知道其實上述是錯的你可能會大吃一驚! 其實真正的128數值是要比你印象中的中灰還要暗的許多,甚至在大部分螢幕上顯示128數值還不到全白的 1/4亮度!

在某種系統中"一半的輸入,且給你一半的輸出"我們稱這種系統為"直線性"系統, 但然而螢幕(就像許多真實世界裡的東西)它並不是直線性的, 當一個系統不是直線性(曲線性)的時候,你可以說它是gamma功能的行為模式





Output=input的gamma次方且0<=input<=1, 在此功能下運作,在最暗與最亮數值.(0.0與1.0)的數值是永遠被鎖定的,並且gamma數值就是定義在最暗(0.0)到最亮(1.0)之間的轉化運算行為. 優良的套裝應用程序的gamma可以被套用不同的gamma數值彼此平衡計算在一起,透過套用gamma與1/gamma一起數學運算是彼此相互平衡抵消, 結果是甚麼也沒作用, 還有gamma 1.0就是直線性色彩概念. 在以往Mac螢幕有gamma 1.8與PC螢幕的gamma 2.2, 但真正的重點是說明你的螢幕對於較低亮度的輸入電壓是反應較遲緩的 , 以致造成陰暗影像結果. 但數位影像在螢幕上沒有變暗的原因就是數位影像被反向gamma功能作用著,在數位相機/數位錄影機拍攝時用gamma 0.4545夾入數位影像, 所以在還沒有顯示在任何螢幕上時就先把數位影像所有pixel弄亮許多.

是的!所有的數位都有這一段pre-gamma動作,因為video gamma新組譯的色彩空間不是給合成用的色彩空間,若直接拿這些顯示在螢幕上的(pre-gamma 0.4545)的數位影像用來做合成會引發許多無法控制的問題, 類似log的組譯, video gamma的組譯在較暗區域有更多的層次, 所以video gamma有它特別著重(暗)的部份, 同理之, video gamma跟log的cineon檔案一樣, 要合成前都要先進行色彩空間轉換.

關於gamma問題,妳可能已經一個頭兩個大, 下列還有一些有關gamma應用的地方也一起提出討論.
1: 妳可能有用過攝影學上的灰度卡, 我們大家都知道是18%中灰卡, 但為甚麼不是50%灰卡呢?如果妳問你的攝影學老師,他(她)可能會"hmmm...!? 那是一個很複雜的問題"

2: 雖然我已提到螢幕使用gamma 2.2會把數位影像弄暗, 但為甚麼在電腦中所做出來的 gray scale ramp(灰度漸層)沒有看起來被弄的很暗呢? 而且50%灰度在螢幕上看起來就像50%灰啊!?

上述原因就是我們人類眼睛也是以非直線性的色彩方式來看世界(天啊!), 其實人類眼睛的gamma 0.4545正好相互抵消把螢幕變暗的gamma 2.2,換言之人類眼睛會把世界萬物影像看的比實際亮度還要亮很多, 還有人眼的gamma 0.4545是非常敏感對於弱光線,在暗部影像有很好的判斷能力,但對於亮部高光的敏感度判斷力都比較弱.

所以被螢幕弄暗的50%中灰顏色光線進入我們的肉眼 ,肉眼gamma 0.4545又把它拉亮起來(此回答第2問題中50%灰度在螢幕上看起來就像50%灰, 且軟體的特效色彩運作是以直線性數學概念), 所以!如果你刷了一個灰色漆在牆上,其實眼睛看起來它會比真實世界色彩要亮!所以真實世界的萬物其實要比你眼睛看起來還要暗的許多呈現著! 沒錯!我們都錯了一輩子 , 而且已習慣錯了(此回答第1問題中為甚麼18%的暗灰色是中灰的概念, 因為你所看的18%灰是在螢幕的gamma 2.2作用之下變暗的,若你的螢幕可以切換到gamma 1.0或透過應用軟體LUT去看18%暗灰會變成你所熟悉的中灰).

Oh!回到那18%灰的問題,請試著套用我們的gamma 0.4方程式回到18%暗灰上面, 所以0.18的0.4次方等於0.504 TaDa.......!
沒錯!現在是中灰,所以用18%灰卡進行攝影測光所得建議曝光數值所拍下的照片曝光亮度是較為人眼看世界萬物進行時進入大腦印象相符合的!我想你的攝影學老師應該非常清楚的! hmmmm.....


這裡有篇關於gamma的迷惑, 希望用另一種不同角度去看gamma的存在, 也許會容易些....XD, I hope...

1 則留言:

匿名 提到...

老是不明白LUSTRE中的相关问题,这回终于明白了,谢谢谢老大!加油!