上一篇文章介绍了ISP pipeline中的3A和镜头传感器校正。现在继续介绍pipeline中的其它流程。
上一篇文章主要讲了镜头,sensor相关的处理流程,pipeline接下来的一步是颜色插值。
sensor直接输出的图片是raw格式,需要经过isp处理之后才是平时常见的JPEG等格式的图片。
颜色插值
颜色插值也叫解马赛克,或者叫raw2rgb, 即raw转rgb. 关于解马赛克可以参考这篇文章:拜耳阵列(Bayer Pattern)和解马赛克简介
之所以需要插值是因为sensor的pixel,每个只能记录rgb三个分量中的一个,因此需要通过插值来计算计算其它两个色彩分量的值。
典型的传感器拜耳阵列:
上图中,左侧就是sensor输出的raw格式图片放大图,是一个马赛克图,经过插值之后得到一个rgb图。
色彩校正
经过解马赛克之后,就从raw域进入到rgb域
色彩校正简单讲就是调色,的目标是匹配人类(或机器)感知
色彩的调节对最终画面效果的表现力起着很重要的作用。这一步和大家用ps调色是一样的,只不过isp通常是有一些内置的算法来进行调色。比如:CCM, CLUT
CCM: color correction matrix, CCM会影响最终成像的色彩是否正确。
CLUT:color lookup table,颜色查找表,通过LUT,你可以将一组RGB值输出为另一组RGB值,从而改变画面的曝光与色彩。lut在消费类isp中应用十分广泛。
Tone Mapping 色调映射
色调映射是图像处理和计算机图形学中使用的一种技术,用于将一组颜色映射到另一组颜色,提高图像在动态范围有限的显示设备中的高动态范围 (HDR)表现 。CRT 或 LCD 显示器以及投影仪的动态范围都有限,不足以再现自然场景中存在的整个光强度范围。
色调映射的目标可以根据特定应用的不同而有所不同。在某些情况下,仅生成美观的图像是主要目标,而其他应用程序可能强调再现尽可能多的图像细节,或最大化图像对比度
参考:Tone Mapping
Gamma Correction
Gamma Correction ISP系统中极其重要的一环,Gamma 定义了像素的数值与其实际亮度之间的关系。如果没有Gamma Correction,数码相机捕捉到的阴影就不会像我们的眼睛(在标准显示器上)那样的表现。
Gamma Correction校正的原因之一是sensor感知光线的方式和人眼不太一样。使用数码相机时,当两倍数量的光子撞击传感器时,它会接收到两倍的信号(“线性”关系)。然而人眼不是这样,人眼可能只感知到两倍的光只是亮了几分之一,即人眼对光强度的感知是非线性的,而且光强度越大这种非线性就越强。
Gamma Correction图像可以更有效地存储影调信息。由于Gamma Correction重新映射的影调水平更接近我们的眼睛感知它们的方式,因此描述给定影调范围所需的比特位更少。否则,将花费过多的比特位来描述较亮的色调(相机相对更敏感),而描述较暗的色调将留下不足的比特位。