你相机传感器上的每一个感光点(photosite)都是“色盲”。一块 6100 万像素的全画幅传感器,本质上是约 6100 万个微型测光表组成的网格,每一个只汇报一个数字:在本次曝光中,它收集到了多少光。它记录亮度,对颜色一无所知。如果放任不管,你的传感器只会递给你一张灰度图。

你的传感器只会数光,不会辨色
一个感光点就是一小方硅——它通过光电效应,把入射的光子转换成电子。落在上面的光越多,积累的电荷就越多;相机把电荷读成一个数值,通常以 12 位或 14 位精度输出。也就是说,从纯黑到死白之间,大约有 4000 到 16000 个量化档位。这是一只非常精确的测光表——但它汇报不了波长。红光光子和蓝光光子落上去,都只是一份没有标签的电荷,所以从硅片出来的原始信号根本无从区分它们。
这正是让很多想当然的人意外的地方:他们以为传感器像屏幕显示那样,直接“看到”红绿蓝。并不是。硅对相当宽的一段波长都有响应——一直延伸到人眼看不见的近红外——而它把这一切统统累加成一个总数。无论芯片是当今相机几乎清一色在用的 CMOS,还是更早的 CCD,原理完全一致:一个感光点,一个数字,一个灰阶。要想在此基础上造出一张彩色照片,相机必须在光线抵达硅片之前,先把“颜色”引入进来。

让色彩失而复得的彩色滤光阵列
解决方案是一层“彩色滤光阵列”(Color Filter Array,CFA)——一片直接贴在传感器上方的微观彩色窗口,每个感光点头顶恰好罩着一小片。红滤镜下方的感光点主要接收红光,于是它的亮度读数从此意味着“这里落下了多少红光”。绿色、蓝色滤镜在全网格如法炮制,传感器便开始记录颜色了——一次一个通道,一次一个感光点。
如今几乎所有相机采用的这种排列,就是拜耳阵列(Bayer Array,英文资料中也常写作 Bayer filter)——它出自伊士曼柯达公司的科学家布莱斯·拜耳(Bryce Bayer):他于 1975 年 3 月提交专利申请,1976 年 7 月 20 日获得授权,即美国专利 3,971,065 号,标题为《彩色成像阵列》。拜耳的排布是一个反复循环的 2×2 四格方块:一红、一蓝、两绿——两个绿色占一条对角线,红与蓝占另一条。把这一方块铺满数百万个感光点,就得到一幅 50% 绿、25% 红、25% 蓝的马赛克。半个世纪后的今天,这套排布依然几乎贴在你能买到的每一台独立相机的传感器上;而在大多数现代手机上,它以“合并像素”的形态出现,被冠以 Quad Bayer 或 Tetracell 之类的名字。

为什么网格里一半是绿色
这种不匀称是刻意为之,而且直接对应你的视觉方式。人类视觉高度依赖绿色:眼睛对光谱中绿光波段的波长最敏感,而大脑用来判断锐度和细节的那个亮度信号(工程师称之为“亮度”,luminance),也由绿色主导——绿光对感知亮度的贡献远大于红或蓝。拜耳深谙此理,并把这一点写进了专利:他称绿色感光点为“亮度敏感元件”,红蓝则为“色度敏感元件”。
绿色加倍,意味着传感器对你最在乎的亮度细节,采样密度是它相对不那么在乎的色彩信息的两倍。这是把有限的感光点预算花在刀刃上的聪明办法。它还有一个会写进你文件里的实际副作用:绿色通道通常是三个通道中最干净的一个——噪点最少,真实细节最多。这也是为什么一次侧重绿色通道的黑白转换,往往比把三个通道简单平均更好看。

去马赛克:重建每个像素缺失的三分之二
但问题也来了。曝光结束后,每个感光点只记录了一种颜色:红点不知道绿和蓝,绿点不知道红和蓝,以此类推。你的 RAW 文件就是这幅字面意义上的马赛克——一大堆单色亮度值拼成的“百衲衣”,每个位置都缺了三分之二的色彩数据。它还远不是一张正常的图像,这也是 RAW 文件必须先经处理才像照片的重要原因之一。
填补空缺的这一步叫作去马赛克(demosaicing),有时也称“去拜耳化”(debayering)。对每一个感光点,转换器都通过读取邻居来估算它没记录的那两种颜色:红点向四周的绿点、蓝点借来绿色值和蓝色值;如此在全网格上重复,直到每个位置都凑齐完整的红绿蓝三元组。这种估算是“有根据的猜测”——而不同算法,猜法不同。简单的双线性插值速度飞快,只是把最近邻取平均;更复杂的方法,比如自适应同质性导向插值(AHD),或者 RawTherapee 里的 AMaZE 算法,会沿着边缘与纹理的方向推算,尽量不把它们抹糊。这就是同一份 RAW 文件,在 Lightroom、Capture One 或 DxO 里打开会呈现出可感知的锐度与干净度差异的原因:Lightroom 与 Adobe Camera Raw 共用 Adobe 引擎,渲染结果一致;但把 Capture One 和 DxO 对准一排尖桩篱笆或一件粗花呢外套,其中一个可能画出干净利落的线条,另一个却在边缘留下一圈彩色描边——因为它们对同一份不完整数据,跑的是各自不同的重建方案。如果你想把这场重建压榨出更多细节,花时间系统学习 RAW 处理,是回报相当快的投入。
包装盒上的像素数,把这一切都掩盖了。一台 6100 万像素的拜耳传感器,确实拥有 6100 万个感光点——但它从未测量过 6100 万个全彩像素。它测的是 6100 万个单色数值,其余全靠插值。色彩分辨率是真实存在的,现代去马赛克算法也非常出色;但每个像素上的颜色终究是“重建”出来的,而不是直接捕捉到的。
摩尔纹、伪色,与一枚“故意模糊”的滤镜
在稀疏网格上采样色彩、再猜出其余部分,注定有一种失效模式。当画面里出现细密的重复图案——紧致的织物纹理、远处的砖墙、鸟的羽毛——图案会与传感器自身的网格发生拍频,其间距是去马赛克无法分辨的。结果就是摩尔纹:一些彩虹般的波纹与伪色,出现在画面中本不存在颜色的地方。这是采样混叠(aliasing)——与电影里马车轮看起来在倒转,是同一类现象。
多年来,标准的防御手段是一枚光学低通滤镜(OLPF),也叫抗锯齿滤镜(AA 镜):传感器上方的一层薄膜,把入射光线模糊“一丁点”——大约一个像素的量级——以便抹掉那些细到无法干净采样的细节。它用一点点锐度,换取对摩尔纹的防护。随着传感器分辨率一路攀升,一些厂商觉得这笔账不再划算。尼康曾为同一款机身发售两个版本:带滤镜的 D800,与把滤镜效果抵消掉的 D800E(也就是俗称的“去低通”版);此后许多高像素机型干脆彻底拿掉它——赌的是感光点足够密集、摩尔纹已属罕见,而多出来的一点细节锐度,值得冒这个险。当摩尔纹真的出现时,RAW 转换器里也备有彩色摩尔纹消除功能来压制它,尽管并非总能修得干净。
富士则换了一个角度迎击同一个问题。它的 X-Trans 传感器保留红绿蓝滤镜,但把它们排进一个更大、更不规则的 6×6 图案——绿色约占 55%——让三种颜色出现在每一行、每一列上,把重复的规律打散。增加的随机性,意在打断产生摩尔纹的干涉条件,从而让富士可以在取消抗锯齿滤镜的同时,不承担同样的伪影风险。代价是:这套不寻常的排布需要专属的去马赛克算法,而且多年来,一些 RAW 转换器渲染出的 X-Trans 文件偏软、偏“糊”,对不起传感器的真实实力。

拒绝“猜色”的传感器们
还有少数设计,干脆绕开整幅马赛克。适马经典的 Foveon X3 传感器,在每个位置竖直堆叠三层光电二极管——一层叠一层,埋进硅里——利用的正是红光、绿光、蓝光穿透硅的深度各不相同这一事实:分别约为 0.2、0.8 和 3.2 微米。蓝光在近表面处就被吸收,绿光稍深一些,红光更深,于是一个堆叠位置就能直接测出三种颜色:没有彩色滤光阵列,没有去马赛克,也不需要抗锯齿滤镜。这种图像有一种独特的“逐像素扎实感”,但这个设计始终小众:受制于较弱的高感表现与较慢的读出速度,适马为全画幅版本努力了多年。

另一条路径,保留标准拜耳传感器,但让它动起来。像素位移(Pixel Shift)——出现在索尼 a7R VI 等机型上——会在拍摄多帧之间,以精确控制的步距移动传感器:四帧一组,场景中每一个点都会依次被红色、绿色和蓝色感光点覆盖,再由索尼的桌面软件合成为一张在每个位置都拥有真实红绿蓝测量值的文件,完全跳过插值。还有一个十六帧模式,在半像素级步进的基础上继续在感光点之间采样,把像素数翻两番、达到约 2.4 亿——同样是在电脑上而非相机内完成合成。代价一试便知:被摄体和相机都必须纹丝不动,所以像素位移只活在静态场景前的三脚架上。至于其他一切场景——一颗“色盲”的传感器、一片拜耳马赛克,再加一道出色的去马赛克工序,仍将是构成你未来所拍的几乎每一张照片的内部机械。