RGBA

維基百科,自由的百科全書
前往: 導覽搜尋
RGBA範例

RGBA是代表Red(紅色Green(綠色Blue(藍色)和Alpha的色彩空間。雖然它有的時候被描述為一個顏色空間,但是它其實僅僅是RGB模型的附加了額外的信息。採用的顏色是RGB,可以屬於任何一種RGB顏色空間,但是CatmullSmith在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通道與RGBA的關係[編輯]

要理解Alpha通道RGBA的關係,首先來看看他們為何要發明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,這是後話。

參見[編輯]