「摄像头与成像」长文详解RAW图的来龙去脉

本文承接上一篇《数字成像系统概述》 , 将继续延伸数字成像系统的相关概念 , 但在延伸之前需要详细了解作为整个系统输入的Raw图 。
作者 | Tony
编辑 | 言有三
本篇文章主要详细阐述Raw图作为整个数字成像系统的输入源到底是怎样产生的 , 包括一些基本概念和知识 , 总结了工业界对于Raw的一些检测手段以及检测标准 , 最后从摄影学角度分析Raw图作为摄影素材的优势 。
1 Raw图的诞生及衍生的基本概念玩过摄影的人对于Raw图这种类型的数据格式应该不陌生 。对于资深摄影玩家说 , 一般会采用Photoshop等软件对Raw图进行调色、降噪、构图等处理 , 以期获得更好的图像效果质量 。但是什么是Raw图呢?
顾名思义 , 英文单词Raw意思是原始的、未处理的 , 其表征了纯粹的未处理的一堆数据 , 为何这里说是一堆数据而不是图像呢?读过上篇《数字成像系统概述》的朋友一定对于CMOS、CCD或者sensor等名词有些印象 , 实际上Raw图记录的就是CMOS或者CCD图像传感器将捕捉到的光源(光子)信号转化为数字信号的原始数据 。
一个数字成像系统或者说数码相机采用点阵形式来记录光信号(光子)落到每个阵列“腔体”的大小 , 这里的腔体即像素 , 而这个点阵就是sensor , 如下所示为一个比较形象的感光阵列(Sensor)接受光子示意图:

「摄像头与成像」长文详解RAW图的来龙去脉

文章插图
 
【「摄像头与成像」长文详解RAW图的来龙去脉】其中黄色小圆球代表光子大小 , 下面为光电转换矩阵 。当按下拍照快门的那一刻 , 摄像头的曝光就被锁定 , 进入这个sensor的光子量的多少也就被锁定了 , 通过统计进入sensor矩阵的光子多少就可以确定电信号强度 。
此处需要引入一个衡量电信号强度大小的概念——“比特深度(bit depth)” , bit depth描述了传感器硬件能处理数据的精细程度 , 越深的bit意味着更好的感光效应 , 即可以获取更多的数据量 , 而又由于传感器腔体(像素)接受的是电子的数量 , 意味着bit数据表示灰度值的大小 。比如一个16bit的模组意味着65536的灰度范围 , 8bit模组即表示2的8次幂即256 , 256这个数字在冈萨雷斯的《数字图像处理》教材经常出现 , 就是这么得来的 。而工业界描述一个模组感光性能的一个专用名词是bits per pixel , 也有bits per channel , 但有时都混淆叫做bpp 。这两个是不同的概念 , 一个用来描述单像素点感光能力 , 后面的是表示三原色RGB单一通道的颜色表达能力 , 这是需要区分清楚的 , 总结有如下公式:
「摄像头与成像」长文详解RAW图的来龙去脉

文章插图
 
如下为单通道不同比特深度对应的颜色表征对比:
「摄像头与成像」长文详解RAW图的来龙去脉

文章插图
 

「摄像头与成像」长文详解RAW图的来龙去脉

文章插图
 
上图为单通道24比特 , 下图为单通道8比特 。从上述图像可以看出来更深的bit有着更强的颜色表征能力 , 所以说bit深度对于raw图的大小是一个很重要的衡量指标 , 其甚至被应用在音频领域表示音阶的广度 , 我们可以推断出钢琴的bit深度一定大于吉他 , 因为钢琴所能表达的音域比较广(此处如有不专业欢迎拍砖) 。
回到Raw诞生上来 , 我们知道Raw是光电转换的结果 , 其无非就是一个灰度信号记录器 。我们知道光由RGB三种基色组成 , 那么问题来了:怎样区分每个像素对于每个颜色通道(R channel, G channel, B channel)获取的量的多少?
为了获取各通道颜色分量 , 可以考虑给每个像素上面叠放一个颜色过滤器 , 即每个像素可以让相应的颜色分量通过 , 而丢弃掉不需要的颜色分量 , 如下图所示:
「摄像头与成像」长文详解RAW图的来龙去脉

文章插图
 
但每个像素点需要对于丢弃的颜色分量进行“估计” , 以完成单像素点全部颜色分量的构建 , 构建算法在后面会有介绍 。
已有的典型颜色Pattern很多 , 如:RGBE filter , CYGM filter , Bayer filter等 , 其中工业界应用比较多的是Bayer滤波器 。


推荐阅读