RGBA
RGBA
RGBA是代表Red(紅色) Green(綠色) Blue(藍色)和 Alpha的色彩空間。雖然它有的時候被描述為一個顏色空間,但是它其實僅僅是RGB模型的附加了額外的信息。
採用的顏色是RGB,可以屬於任何一種RGB顏色空間,但是Catmull和Smith在1971至1972年間提出了這個不可或缺的alpha數值,使得alpha渲染和alpha合成變得可能。提出者以alpha來命名是源於經典的線性插值方程αA + (1-α)B所用的就是這個希臘字母。
alpha通道一般用作不透明度參數。如果一個像素的alpha通道數值為0%,那它就是完全透明的(也就是看不見的),而數值為100%則意味著一個完全不透明的像素(傳統的數字圖像)。在0%和100%之間的值則使得像素可以透過背景顯示出來,就像透過玻璃(半透明性),這種效果是簡單的二元透明性(透明或不透明)做不到的。它使數碼合成變得容易。alpha通道值可以用百分比、整數或者像RGB參數那樣用0到1的實數表示。
有時它也被寫成ARGB(像RGBA一樣,但是第一個數據是alpha),是Macromedia的產品使用的術語。比如,0x80FFFF00是50%透明的黃色,因為所有的參數都在0到255的範圍內表示。0x80是128,大約是255的一半。
PNG是一種使用RGBA的圖像格式。
我對Alpha通道的認識還是主要局限於應用和操作,或者說基於軟體,浮於表面。直至今天看到Alvy Ray Smith的《Alpha and the history of digital compositing》一文,才算比較深入的理解了Alpha通道及其相關概念。
要理解Alpha通道,還要追溯其產生和應用的淵源,只有這樣,才可更深層的理解Alpha通道。否則如果捨本逐末,必然導致一知半解,這也是學習其他知識時的大忌。
看過Alvy Ray Smith的這篇論文,我才知道,原來Alpha通道的產生是伴隨著盧卡斯電影工作室的發展而誕生的,而Smith本人就是Alpha通道的發明人之一。所以Alpha通道的誕生和數字影視合成密不可分。
下面我將論文中有關Alpha通道的主要知識點概括一下。
要理解Alpha通道,首先來看看他們為何要發明Alpha通道這一概念。
在電影工業中,常常需要前景和背景合成,無論是傳統膠片電影還是現在的數字電影,合成都是必須的。那麼在數字電影出現之前,從事傳統膠片電影製作和合成的人們積累了大量的傳統合成經驗,例如藍屏、Matte Creation等。
隨著計算機圖形學的發展,後來出現了數字電影。這樣人們開始通過電腦來模擬傳統電影合成的一些技巧,如藍屏、Matte、Mask等,但這些並沒有為數字合成真正的作出貢獻,只不過是將化學、光學操作轉換為計算機計算而已,雖說可以比傳統的合成操作有所提高,但基本概念沒有改變。
首先區分一下Matte和Mask。可以這麼說,Mask是Matte的一種特例。在Mask里,只有兩種透明度,1和0,即完全透明和完全不透明。Mask的產生是為了去除合成時的鋸齒而設計的,但鋸齒沒了,不過合成痕迹太明顯,顯得很不真實。而Matte則可以包含很多層次的透明度,圖像中每個像素都可以有自己的透明度,這些像素的透明度有著豐富的層級,可以合成、融合。
Alpha通道的產生是對數字合成的一大貢獻。為什麼這麼說呢?在傳統電影合成操作中,為了製作Matte,通常需要兩盤獨立的膠片,一盤記錄運動影像,一盤則記錄Matte信息。合成時,需要背景膠片、前景膠片、Matte膠片。也就是說Matte信息和圖像信息獨立存在。
而Catmull / Smith小組開發的Alpha通道概念就方便了很多,而且可以讓任何人使用Alpha通道。他們首次推出RGBA概念,即將Alpha通道和RGB通道並列,並一同存儲在圖像信息中。這樣隨著一幅圖像的建立(這裡說的是CGI),其Alpha通道也會隨之產生或者存儲。這樣Alpha通道其實是Matte的概念,但它和圖像信息一併存儲和移動,這樣Matte信息就變成影像的一部分,而不像傳統電影合成時,需要單獨的一盤膠片提供Matte信息,這也是RGBA的優勢所在。有了RGBA的概念,數字合成變得更加輕鬆容易。當然為了提高合成效率,後來Catmull / Smith小組又在Integral Alpha 的基礎上提出Premultiplied Alpha,這裡就不再細說了