相机或摄像头使用数百万个微小的光腔(感光元件)来记录图像。
但是,上述插图只会创建灰度图像,因为这些腔无法区分它们每种颜色的多少。
要捕捉彩色图像,必须放置一个过滤器在每个腔上,只允许特定颜色的光。几乎所有当前数码相机都只能捕获每个腔中的三种主要颜色之一,因此它们丢弃了大约 2/3 的传入光。
因此,相机必须接近其他两种原色,才能在每像素上全彩。最常见的颜色滤镜阵列称为"拜耳阵列",如下所示。
拜耳阵列由红绿蓝三色滤波器交替排列组成。
请注意拜耳阵列中包含的绿色传感器是红色或蓝色传感器的两倍。由于人眼对绿光比红光和蓝光更敏感,因此每种原色不会获得总面积的同等比例。
绿色像素的冗余会生成一个图像,该图像看起来不那么嘈杂,并且具有比每种颜色均等处理时所能完成的更精细的细节。这也解释了为什么绿色通道中的噪音比其他两种主要颜色要小得多(常见图像噪声及产生原因(高斯、泊松和椒盐噪声))。
原始场景
相机看到的场景(拜尔整列)
放大后如下图
注意:并非所有数码相机都使用拜耳阵列,但这是迄今为止最常见的设置。
例如,Foveon 传感器在每个像素位置捕获所有三种颜色,而其他传感器可能会在类似的阵列中捕获四种颜色:红色、绿色、蓝色和祖母绿。
拜耳的"马赛克变换(DEMOSAICING)"是将拜耳的原色阵列转换为包含每个像素全彩色信息的最终图像的过程。
如果相机无法直接测量全彩,这怎么可能?理解这一点的一种方法是将每 2x2 阵列的红色、绿色和蓝色视为一个单一的全彩腔。
→
这就是rgb色彩空间,一个像素是rggb排列的原因
sensor中四个像素点对应rgb一个像素点
如果摄像机将每个 2x2 阵列中的所有颜色视为落在同一位置,则只能在水平方向和垂直方向上实现一半的分辨率。
另一方面,如果相机使用几个重叠的 2x2 阵列计算颜色,则其分辨率可能高于单组 2x2 阵列。以下重叠的 2x2 阵列组合可用于提取更多图像信息。
这样裁出来只有9个像素点,比sensor光腔数量实际的要少7个。原因可能和sensor设计相关,sensor的光腔数量和实际像素不对应,实际光腔数量要大得多,出来的图像是裁剪过的。
这也和sensor的安装有关,sensor不可能严丝合缝,一定存在误差,于是足够大的sensor就可以避免由于安装的偏移导致的图像显示不完全的问题
有可能你要说,56789的排列不是rggb了。解释为微积分中的近似模拟,即尽可能接近的去模拟。也和sensor厂商的设计有关
如上图,海思方案给出了sensor取像起始点的设置,这也说明sensor的面积大于像素面积。
请注意,我们如何没有计算阵列边缘的图像信息,因为我们假设图像继续向各个方向移动。如果这些实际上是腔阵列的边缘,那么这里的计算将不太准确,因为四面不再有像素。不过,这通常可以忽略不计,因为图像边缘的信息很容易被裁剪出来,在具有数百万像素的摄像机比较常用。
存在其他马赛克变换(DEMOSAICING)算法,可以提取略多的分辨率,生成噪音较小的图像,或适应每个位置的图像的最佳近似值。
海思方案中提供了sensor的pub属性设置,这四种都是拜尔整列的排列
不同的sensor排列方式不同,需要查看用户使用sensor的数据Sohu测
您可能想知道为什么本文中的第一个图表没有将每个腔直接放在彼此旁边。真实世界的相机实际上没有将感光单元(photosites)覆盖整个sensor表面。事实上,为了适应其他电子器件,它们可能只覆盖了总面积的一半。
每个光腔之间都显示有小山峰,将光子引向一个或另一个腔。数码相机在每个摄影点上方都装有"微透镜",以提高其采光能力。这些镜头类似于漏斗,漏斗将光子引导到光腔,否则光子将未使用
精心设计的微透镜可以改善每个光场的光子信号,然后创建相同曝光时间噪音较小的图像。相机制造商已经能够使用微透镜设计的改进,以减少或维护噪音的最新高分辨率相机,尽管有较小的感光单元,还是可以挤压更多的百万像素到同一传感器区域。
sensor采集环境光转换为模拟电信号的过程,光信号转为模拟电信号
也称ADC、AD转换
光电转换后,模拟电信号转为数字电信号的过程,RGB_BYRE
产生
这时RGB_BYRE
的位深度根据sensor的ADC转换器决定,如上两张图都是10bit
一般sensor中会内置ISP功能,但是开发不用它,通常使用芯片厂商提供的ISP功能
一般来说,sensor中都会简单的做好一些ISP调优,能出来稍微能看的图像,要调的更好,就需要使用芯片厂商提供的ISP方案
不过使用sensor中的ISP可以降低主SOC的消耗,如果考虑开销的话,ISP可以放在sensor或者外接ISP芯片去做
ISP处理完生成YUV数据流,而后通过接口发送给CPU
这个接口有很多,如DVP、LVDS、MIPI,常用MIPI
还有传输控制信号的接口,常用I2C
DVP、LVDS、MIPI简介
详解LVDS
详解MIPI
市面上有很多sensor厂家,sensor型号众多,在选择sensor的时候不可避免要反复重新编译、加载驱动,非常麻烦。
海思提出了应用层驱动的概念来更方便的对接sensor。
就是将每个sensor不同的配置封装成库,将要配置的寄存器和值通过控制信号接口(I2C)与硬件交互。
以库的方式提供,能达到解耦合的效果,更换sensor非常方便。
海思的ISP也是使用的这个结构
接近数字传感器分辨率极限的小规模细节图像有时会欺骗马赛克变换算法,产生不切实际的结果。最常见的人为可观的现象是 moiré(发音为"more"),它可能显示为重复图案、彩色人为可观的现象或像素排列在不切实际的迷宫般的图案中:
上面显示了两张单独的照片,每张照片的放大倍数都不一样。请注意,除了第一张照片的第三个正方形(细微差别)外,所有四个底部正方形中都出现了 moiré 。迷宫般的和彩色的纹理都可以在缩小版本的第三个正方形看到。这些纹理取决于用于开发数码相机RAW文件的纹理类型和软件。
然而,即使有一个理论上完美的sensor,可以捕捉和区分所有颜色在每个照片现场,moiré和其他纹理或现象仍然可能出现。这是任何系统不可避免的后果,该系统以离散的时间间隔或位置对其他连续信号进行采样。因此,几乎每个摄影数字传感器都集成了所谓的光学低通滤镜 (OLPF) 或防别名 (AA) 滤镜。这通常是传感器正前的薄层,通过有效地模糊任何可能的问题细节,比传感器的分辨率更精细。