采用的颜色是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的图像格式。
扩展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,这里就不再细说了