Demosaic & Remosaic

🟥🟩🟥🟩➡️🟥🟥🟥🟥🟩🟩🟩🟩🟦🟦🟦🟦
🟩🟦🟩🟦➡️🟥🟥🟥🟥🟩🟩🟩🟩🟦🟦🟦🟦
🟥🟩🟥🟩➡️🟥🟥🟥🟥🟩🟩🟩🟩🟦🟦🟦🟦
🟩🟦🟩🟦➡️🟥🟥🟥🟥🟩🟩🟩🟩🟦🟦🟦🟦

#Demosaic


Demosaic(又称DeBayer)是一种数字图像处理,用于将覆盖有滤色器阵列(CFA)图像传感器的不完整颜色样本重建成全彩色图像。因此它也被称为CFA插值(CFA interpolation)或者颜色重建(color reconstruction)。

原始的拜耳阵列有RGGB、BGGR、GRBG、GBRG这么几种,每个像素都只有一种颜色的信息,是显示不出来图片的。通过Demosaic后,每个像素就有了RGB三种颜色的信息,进而合成被我们所看到的彩色图像。

正如我文章开头用emoji所描述的那个过程(之后都会尝试用emoji来做每篇文章的开头,感觉还蛮有趣的),当然更准确的可以看图(1),每个像素经过Demosaic之后都会得到对应的RGB信息。

#Remosaic


提到Remosaic就得提一种排列比较特别的Sensor—Quad Bayer Sensor。

如今手机内部空间越来越宝贵,在一定尺寸的模组上,既想要高像素,又想要大像素于是Quad Bayer Sensor就被发明出来了。

它有以下两种工作模式:

  • Binning Mode
  • Non-Binning Mode

Binning Mode

Quad Bayer其实是一种非标准的拜耳排列,相反它是一种伪拜耳排列。因为它是将4个能获取相同颜色的像素放在一起,也就是常说的4 in 1。一般是在暗光环境会启用,也就是将4个像素合并成一个像素,所以48MP将被转化成12MP(见图(2)),而这时候的12MP就是经典的拜耳排列。这样每个像素相当于都有了4倍的进光量,因此在暗光环境能够有更好的表现。

Non-Binning Mode

环境光照足够充足的情况下,启用的则是48MP的模式,然后现在的像素排列是伪拜耳。这时候就需要将原始的4 in 1像素排列转换成经典的拜耳排列,而这个过程就称之为Remosaic(见图(3)),之后就可以当成经典的拜耳排列进行Demosaic,再经过一定的处理,就可以显示出一张照片了。

Remosaic通常分成软件和硬件两种方式。

  1. 软件Remosaic通过像素互换,或该像素与周围相关像素的联系,根据距离远近计算出一定的权重比例,作为该像素的信号值,通常软件Remosaic算法放在平台端集成。
  2. 目前有部分芯片,通过独立的ISP信号处理变换像素结构,每个感光单元又都能独立显示并且输出数据,可以拍摄出正常硬件直出的Bayer排列,无需额外软件插值。

当然二者从速度上来看相差甚远,硬件比软件的Remosaic在处理速度上会快很多,硬件Remosaic可以支持Full size预览,然而手机端是否要用Full size去预览还需要综合考虑功耗等其他因素;软件Remosaic处理需要花费更长的时间,目前仅作为Full size拍照时候使用。