前言
随着现在数码相机传感器的有效像素越来越高,高像素所带来的一些“负面效应”也越来越被人们所关注。虽然老夫一再强调在允许缩图的情况下高像素可以认为没有缺点,但不得不提到的一点就是后期缩图的工作量以及电脑处理压力。于是对于不太重要的图片,使用小尺寸的JPEG格式拍摄便成为了一种不得已的选择。
然而对于某些品牌的相机用户来说,我们还有另一个选择,就是小格式的RAW文件。

从目前还在产的产品来看,佳能70D以上定位的产品均提供了MRAW(2:1)和SRAW(4:1)格式,尼康D4s/D5/D810提供了SRAW(4:1),索尼方面暂时未提供此功能——这一点甚至成了大家对于索尼不满意的一个点,很多人在当初A7R2的留言当中表示希望索尼提供小尺寸RAW输出的功能。
大家对这个功能呼声很高,其实主要原因不外乎以下几点:
1、很多需求当中不需要高像素输出
2、M/SRAW格式可以缩小文件体积和减低后期的负载压力
3、依然保留了RAW文件的调整空间和后期特性
看起来很美,不是么?
但是实际情况又如何呢?
前置知识:What's RAW
虽然我们天天都在用RAW,相信平时对我们关注较多的人也对RAW文件有一定的了解。但是为了整篇文章的体系严谨,我还是把基础知识放在前面,也方便不懂的人来查阅。
(注:以下讨论均针对Bayer-Pattern的传统图像传感器,至于RGBW、X3、Q67之类的,不在本篇的讨论范围之内)

上图即是传统的Bayer-Pattern CFA(拜耳阵列色彩滤镜,也有人称之为马赛克阵列)图像传感器。
引理0:此马赛克与根据法律法规,相关内容暂时不允许显示的某些视频当中的马赛克无关。
引理1:对于透明物体来说,其颜色反映的是其允许透射的光波长。
也就是对于单一像素来说,只能接受到单一色彩的信息(实际上不会是纯的RGB,各个厂商都会对自己的CFA做一些调整,选出最优化的透射波长区间)。如果把图像传感器接受到的信息红色像素标成红色,绿色像素标成绿色,蓝色像素标成蓝色,那么一张照片的“原始信息”其实是这个样子的:

由于在一个2×2的单元当中绿色像素有两个,蓝和红只有一个,绿色像素的数量占统治地位——所以整张图看起来都是绿色的。
实际上这种图像也是“伪彩色”图像——也就是说画面当中的色彩是我们为了直观起见,手动添加上去用以标示各个像素的。
实际上的RAW图像,直接用Matlab抽出来存成Tiff,局部截取是这个样子的:

黑白的。每个像素实际上代表什么色彩需要手动指定,也就是说:
反马赛克有四种算法,你知道么?——孔乙己
Matlab解RAW,算法中红色像素位于行1列1:

Matlab解RAW,算法中红色像素位于行1列2:

既然RAW原始文件是黑白图像,但是我们看到的照片又是色彩斑斓,这其中一定经过了某种操作,这种操作就叫做解RAW,或者Demosaicing(反马赛克)。
ps:所以谈论“RAW文件的色彩”是没有意义的。
比如像素P是红色像素,需要知道它的绿色像素成分,我们需要用斜四个方向的四个绿色像素来取均值得到,蓝色亦然,这样就得到了某个像素的RGB信息。当然这是最简单、纯时域且针对理想拜耳阵列的算法,现在主流的反马赛克算法都已经利用了频域分布信息,解出来的图像锐度也是越来越高,符合现在图像传感器像素的发展趋势。
但是无论反马赛克算法如何进步,有一点结论是永远不变的:
Bayer-Pattern当中每一个像素都没有完整的颜色信息,都需要结合周围的像素才能得到准确的色彩值。
说了这么多,从这些原理当中我们应该可以得到一个结论:
对于基于Bayer-Pattern的原始图像进行缩图同时保留RAW文件的特性,没有我们想当然的那么简单。因为每个像素的位置信息其实都是有意义的,而且缩图本身也需要引入额外的混叠(需要由几个像素的信息来计算出一个新像素),想利用之前的像素间关系计算出正确的色彩,几乎可以说是难于登天。

将上图的RAW文件抽取原始信息、4:1缩图之后过一遍反马赛克算法,由于原始的像素空间关系已经在缩图的过程当中混乱殆尽,解出的图像与纯噪声没有什么区别。
所以对于sRAW,具体的实现方式,只剩下的下面的两种可能:
1、Binning(抽行)
对于2合1或者4合1来说,这是最简单的方法。以4合1为例,从4×4的RGGB阵列当中,第一个2×2单元保留R像素,第二个2×2单元保留G1像素……以此类推,空间关系并没有被破坏。但是可想而知,这种方式对于画质的影响几乎是毁灭性的。你高大上的全幅5DsR,瞬间就变成了一台1200万像素的M43。
2、用更高的位深存储RGB
不再保留原始的空间位置信息,而是存储由机内解码之后的数据,本质上还是RGB的图像。但是相对于JPG来说具有更大的后期空间,同时可以实现超采输出。对于4:1缩图而言,还可以直接用2×2单元加权平均计算RGB的方法来实现类平面X3。
那么究竟实际操作当中采用的是哪种方式呢?
SRAW的秘密:佳能篇
进行分析的机器是佳能EOS 5D Mark III,其RAW文件存储有20.2MP、10MP和5MP三个选项。
判断一:是不是抽行?
这个做一下分辨率和边缘锯齿测试即可明确,采用原始RAW文件解码后4:1缩图和相机直出的SRAW解码后来进行对比测试:


从这两点可以基本排除SRAW采用了抽行存储的可能性,因为解析力和边缘锯齿没有本质的差别。结合一般用户的使用体验(SRAW可以提升100%看图时的高感画质,而不是反之),我们可以得到结论一:
佳能5D Mark III的SRAW是超采样保存的。
那么具体的存储格式到底是什么呢?我们继续探索:
用RAWDigger打开5D Mark III拍摄的RAW和SRAW,对比其基本数据:
RAW:

SRAW:

可以看到两个明显的不同
1、RAW文件是R/G1/B/G2四通道,SRAW是R/G/B三通道。从这一点上基本可以判定SRAW丢弃了原本的空间阵列信息,代之以直接用RGB来保存。
2、RAW是14bit位深,SRAW反而采用了更高的16bit。但只是套了个16bit的壳,其中的数据量(Different Values)依然是14bit。这是个很自然的结论。
看完了基本信息,我们再来进一步剖析。最简单的方法就是查看它没经过任何解码算法的100%图像,到底是什么组织形式:
采用前面的伪彩色图像生成法,我们可以得到如下的图片:

这么一看其实也佐证了之前的结论,SRAW其实严格来说并不是Bayer-Pattern的那种RAW,而是一张每个像素都有着完整信息的RGB图片。
得到这个结论之后我又手贱用Matlab的dcraw插件读了一下SRAW文件到矩阵,得到的是这么一个提示:

这个文件“Must be monochrome”——所谓monochrome就是单色文件的意思,相信大家应该都听说过徕卡Monochrome这台黑白机。但是这里的意思指的不是单色,是单值,也就是每个像素的色彩信息都是确定的——这也为我最后给SRAW盖棺定论,提供了最后的信息。
到这里我们有了结论二:
佳能的SRAW里面保存的其实是一个16bit的RGB图像文件,反马赛克运算这一步是在相机内完成的。
那么就我们关心的画质表现来说,SRAW的这种存储方式究竟影响多大呢?
限于篇幅我在这里就不上数据了,只说结论(SRAW和RAW文件后期缩图之间的比较):
1、分辨率方面二者相当,边缘锯齿方面没有差距——毕竟超采
2、高感信噪比方面RAW后期缩图略强,但没有本质差异。可能跟图像算法有关。
3、动态范围同上(虽然都是渣)。
那么是不是就意味着画质没有区别呢?其实不是的。
毕竟原始的马赛克图像和RGB文件有个最大的区别——白平衡调整容限。
反马赛克阶段指定白平衡的时候可以任意指定,反正图像的色彩都是计算出来的,调整范围非常之大,也不会损失细节。但是如果是成型的RGB图像,那就说不准了。
RAW大幅度调整白平衡后缩图,和SRAW大幅度调整白平衡,细节对比如下:

把白平衡都从原始值拉到50000K色温和+150Tlit的极限值之后,SRAW的输出出现了明显的彩色细节损失和杂色断层,RAW文件输出的图像依然保持了高水准的表现。
结论【佳能篇】
2、如果你所处的环境色彩复杂,需要极好的色彩后期调整空间,那么慎用SRAW。
SRAW的秘密:尼康篇
这次参与测试的尼康机器是D810,采用跟佳能相机相似的分析步骤。
判断一:是不是抽行?


跟佳能类似的分析方法可以得到结论:尼康D810的SRAW也是超采样保存的。
那么具体的存储格式到底是什么呢?我们继续探索:
用RAWDigger打开D810拍摄的RAW和SRAW,对比其基本数据:
RAW:

SRAW:

跟佳能一样,D810的SRAW也是只有RGB三通道,不过壳子的位深只有14bit——而经过进一步验证,D810的SRAW内部保存的图像数据是11bit,而且不可调(在机内选择SRAW之后关于RAW的压缩和位深设置会变灰不可选)。相比佳能的保存方式,即使原理类似,尼康的方法也必然会对画质有所影响。
看完了基本信息,我们再来进一步剖析。最简单的方法就是查看它没经过任何解码算法的100%图像,到底是什么组织形式:
采用前面的伪彩色图像生成法,我们可以得到如下的图片:

最后就是检验一下其他方面的画质表现。
首先是尼康的传统优势项目——欠曝提亮5EV。然而我们发现,由于SRAW 11bit的壳子太小,暗部几乎没有记录什么信息,只此一点几乎可以宣判画质的死刑。

下面是作为对比的佳能家,虽然垃圾信噪比,但是暗部的灰阶信息仍然都还在:

接下来就是白平衡调整容限:

除了色彩细节部分损失之外,白线和黑线的细节也有一定的损失。应该与只有11bit的内部文件有一定关系。
结论【尼康篇】
若非万不得已,尽量不要用SRAW。尼康全尺寸的RAW可以输出无损压缩,D810的文件在40MB左右;然而SRAW也要30MB,损失的暗部信息有点多,确实得不偿失。
总结论
今天的文章到这里就已经是尾声了,可以看到,无论是佳能还是尼康,在提供的SRAW功能上都没有全方位复盘RAW文件的所有特性——至于原因,在文中也有提及。佳能的SRAW其实还好,因为其实除了色彩可调整性之外,明度通道的记录能力14bit TIFF和14bit RAW是一样的。尼康不知道为什么搞了一出11bit,本来提供了这个功能是D810相对于D800一项重要的升级,然而11bit的实际文件,却使得这项功能的实用性打了个不小的折扣。
最后的讨论:我们真的需要SRAW么?
首先,SRAW并不能提高持续连拍张数和连拍速度——这个测试结论让我感觉很奇怪,但是先后换了几台机身和几张存储卡,得到的结论都是完全一样的,用大格式的RAW能持续连拍多少张,用小格式的RAW就也是这些张数,该秒射的到最后还是会秒射。至于连拍速度没有提升,我相信这个都在大家的意料之中。
其次,SRAW也节省不了多少空间。D810的文件大小上面已经做了阐述,大格式的RAW可以开无损压缩,文件体积40MB多一点。SRAW也要近30MB,而且要损失巨量的原始信息,实在是有点得不偿失。
佳能方面好一些,5D3的大格式RAW24MB-28MB,MRAW16MB-18MB, SRAW只有10-12MB,如果你确实存储卡告急那还是可以用一下的。
但是说实话,以现在存储卡和硬盘的白菜价,图这点空间节省究竟有多大意义,还真是要打个大大的问号。退一步说,万一碰到个难得的瞬间,你开了个SRAW直接卡死了自己的后路,无法做大幅面输出,甚至在未来的显示器上做壁纸都有可能出问题,会不会后悔不迭呢……?

暂无评论,快来添加评论哦