时至今日,手机相机已经是我们几乎无法离开的最重要工具之一。

而且每次手机发布,手机的相机也是我们除了处理器之外最为关键的卖点之一。但是你真的知道它是怎么运转的吗?

看到这里,就有人要问了,大哥,我用相机,我还需要知道它的原理吗?我不知道怎么造汽车,这影响我单手开法拉利?

呃,你说的没错,确实没啥必要知道。但是我就是要写,因为我这周摸鱼就干了这个的总结。☺

首先,都是大家很熟悉的相机类型啦。喜欢摄影的大兄弟一定都懂,就分两种嘛:

1、CCD Sensor

2、CMOS Sensor

而使用CMOS Sensor的相机,是我们现在日常使用最为广泛的相机。也是使得当今手机能够高度集成众多相机的基础。

但是,我们在对CMOS Sensor先按下不表。

先讲讲CCD sensor。你问为啥?因为世界上第一台相机毕竟是CCD Sensor的嘛。

CCD Sensor

全名:Charge Couple Device 电荷耦合器件。好了,对于CCD的介绍到此结束了。毕竟搞手机Camera HAL和ISP算法的人,不需要了解CCD这么多。毕竟我学了,这辈子也用不上呀~

开玩笑,后面会将它和CMOS的区别~

CMOS Sensor

全名:Complementary Metal Oxide Semiconductor 互补金属氧化物半导体

介绍完名字,接下来我们康康他们的区别:

1、内部结构的区别:

① CCD的成像点为X-Y纵横矩阵排列,每个成像点有一个光电二极管和其控制的一个邻近电荷存储区组成。整个结构复杂,增大了耗电量,也增加了成本。简单来说,就是在同步时钟的控制下,一行行地输出信息。

②CMOS的成像是一次性的。Sensor上所有的感光点会一次性接受光子,转换为电信号。这样一来,成像的速度大大提升。

当然,这还不是CCD被淘汰的主要原因。CCD之所以会被淘汰,是CMOS的集成度远大于CCD,我们都知道,手机的内部空间,寸土寸金,只要有空间,就能有别的黑科技,别的卖点,不然就只能落后。所以,当手机厂商在绞尽脑汁挤压空间的时候,CMOS自然也成为了主流。

2、外部结构区别(传感器在产品的应用结构)

① CCD输出的电信号还需要经过后续地址译码器、数模转化器、图像信号处理器处理,并且还需要提供三组不同电压的电源和同步时钟控制电路,集成度非常低。

②CMOS光电传感器可以将所有部件集成到一块芯片上,如光敏原件、图像信号放大器、信号读取电路、数模转换器、图像信号处理器及控制器等,都可以集成到一块芯片上,还具有附加DRAM的优点。

简单来说,就是CMOS的集成度更高,能够集成更多器件,适用于图像的后续处理,包括去噪、提亮等一系列算法。

这样说来,那我CCD就没有任何优点了吗?

那也不是这样说的,我们都知道,当今手机拍照对成像最大的影响就是噪声,尽管ISP中做了很多去噪工作,但是有时候对于一些低级、造价偏低的CMOS Sensor camera来说,噪声还是不可避免的。特别是在亮度过低的情况下。而CCD传感器在弱光条件下表现良好,不会像CMOS传感器那样遭受到数字噪声的影响。

手机Camera样例

那么讲了一堆,还没讲到Camera是如何成像的。。

下面我们来讲一下Camera是如何将现实世界的光转换为数字世界的信息的吧~

在这个过程中,起到最大作用的器件,有两个。

1、彩色滤光片阵列 (Color Filter Array)简称 CFA

2、感光点(Photosite)

Sensor为了捕获彩色的图像,需要一种彩色滤光片阵列(CFA)

最为常见的是拜尔滤色镜(Bayer Filter),由BGR三种原色的滤光片交替排列组成。

通常一半滤光片为绿色,而红色和蓝色各占四分之一。这是因为人眼对绿光更为敏感。

这也就是俗称的RGGB相机。

当然也能有别的滤色镜类型,就例如华为P30系列的RYYB相机。就是将绿色滤光片替换为黄色的滤光片。从而达到一个更高的进光量,提升在暗场景的拍照效果。也就是华为宣传的夜景模式。

诚然,现在很多的夜景AI算法(以后会说)。但是RYYB带来的原始亮度提升,显然是巨大的。

但是亮度提升也带来了坏处,毕竟这个世界是等价交换的,如果你还记得我前面说的,CMOS会受到数字噪声的影响,那么进光量的提升,就会带来更多的噪点,对图像的处理带来困难。

还有QCFA(Quad Bayer Filter) 。即当前的64MP Camera,由四个Bayer Filter组合而成。就是将原来的一个像素切分成四份,加上不同的滤镜。

然后我们来讲一下感光点的工作:

每个传感器会有数百万甚至上千万个感光点。(当然这个感光点可以在广义上等同于像素,但是这个说法不太准确,但先按下不表)。当快门打开,传感器处在光线的照射下时,这些感光点就会尽可能地捕捉光线。而后每一个感光点捕捉的光子会被转换为电信号。而电信号的强度则与感光点所捕获的光子数量有关系。

理解这一点的最佳方式是将每个photosite/像素想象成一个桶,以收集雨水。雨水代表进入相机的光,被感光点捕获。如果将水桶一直装满到顶部,则相机的处理器会确定它是白色像素。如果存储桶为空,则为黑色像素。介于两者之间的其他任何东西都将是变化的灰色强度。

那么到这里就会有人问了,黑白灰?不是彩色的吗?对的,恭喜盲生你发现了华点。

对的,通过感光点,只会得到黑白灰的信息。

只有通过对黑白灰的像素点,进行了插值算法,也就是Demosaic(去马赛克)之后,我们才能获得彩色的图形

到这里,可能你们就会说,我们终于得到图像啦!

其实还没有,因为这正是算法的输入。

我们的Camera必须对其进行更多的处理。

接下来,sensor捕捉到的初步图像将移交至图像信号处理器(ISP)进行处理。ISP的工作,第一步就是去马赛克(demosaic)。即根据上面的RGGB信息,进行像素插值算法,获取每一个像素的像素值。

demosaic算法处理

是的,到这里,我们可以说,我们得到了图像。但并不是raw图像。

正如我说过的,ISP做了很多算法处理,图像才最终得以呈现在我们眼前。其中包括了:

降噪(denoise)、镜头阴影校正(lens shade correction)、缺陷像素校正(defect pixel correction)等一系列。

当然上述的这些都只是初步的校正工作。完成这些之后,ISP会输出“未经处理”的raw数据。而ISP还负责诸如3A算法(自动白平衡、自动对焦、自动曝光)等参数设置。并且HDR、夜景模式、EIS(电子防抖)、图像压缩等算法都是在ISP中完成的。这些以后有空再聊。

欢迎关注我的个人公众号,这里有更多好康的喔~

Camera CMOS Sensor成像原理相关推荐

  1. CCD/CMOS的成像原理(内含rgb元件如何分布)

    原网址为:http://tucsen.net/Html/NewsView.asp?ID=40 上面这张是常见CCD相机成像过程的简单描述,现说明一下: 1.用相机拍摄景物时,景物反射的光线通过相机的镜 ...

  2. CCD和CMOS摄像头成像原理以及其他区别

     CCD的第二层是分色滤色片,目前有两种分色方式,一是RGB原色分色法,另一个则是CMYG补色分色法,这两种方法各有利弊.不过以产量来看,原色和补色CCD的比例大约在2:1左右.原色CCD的优势在 ...

  3. CMOS Sensor一些术语及其图像质量的调试点

    CMOS Sensor一些术语及其图像质量的调试点 转载于: https://blog.csdn.net/tang_jin_chan/article/details/26562511 由于经常涉及到一 ...

  4. CMOS sensor信噪比/动态范围与ISO

    关注.星标公众号,精彩内容每日送达 本文转自知乎:致远Neon,https://zhuanlan.zhihu.com/p/574961519 这篇文章将从CMOS成像原理出发,深入讲解ISO的本质,谁 ...

  5. Camera成像原理(二十四)

    目前各大手机厂商每年都在推出各种关于手机摄像头的新卖点以求引起消费者关注.了解摄像头是怎样工作可以更好地帮助我们理解目前的消费级产品,其中摄像头工作的核心概念就是数字成像系统.   本期主要对数字成像 ...

  6. Camera成像原理(raw图如何产生的)

    1.前言 本文主要介绍了camera的成像原理和raw图像的生成原理,当然在此之前,我们先介绍camera基础知识 2.Camera基础知识 镜头(lens) 镜头实际上就是一个凸透镜,将外部的光线折 ...

  7. Camera的成像原理

    1.Camera的成像原理 景物通过镜头(LENS)生成的光学图像投射到图像传感器(Sensor)表面上,然后转为模拟的电信号,经过 A/D(模数转换)转换后变为数字图像信号,再送到数字信号处理芯片( ...

  8. camera ---(6)双摄成像原理

    1. 双camera 成像 为了下面的计算方便,首先在这里介绍一个凸透镜成像的简单性质. 内容 如图为摄像头成像的原理图,其中A为物点,O为光心,A'为像点,F,F'分别为物方和像方焦点. 该引理的内 ...

  9. cmos sensor camera banding 现象发生原因及相关问题

    在某些场景下,使用者可以看到相机画面出现一条一条的滚动暗条纹,如下图片所示,这样的现象,通常是CMOS sensor 曝光时间方面的因素引起的. 我们把这种现象叫做banding或者flicker,为 ...

最新文章

  1. 错误3 error C3859: 超过了 PCH 的虚拟内存范围;请使用“-Zm120”
  2. SQLite中的WHERE子句
  3. 【java】简单的方式实现文本文件的读写
  4. 注入工具的原理和开发
  5. 第一个Canvas实例-钟表
  6. 拦截器原理多个拦截器执行顺序
  7. ISO 37301:2021《合规管理体系 要求及使用指南》国际标准解读及相关标准
  8. php怎样转换jpg,php pdf如何转jpg
  9. CentOS 6.5 CentOS 7 rpm安装ftp服务端与ftp客户端
  10. 使用Navicat连接Mycat的诡异事件
  11. html如何在字段前面空格怎么打,css特殊空格符号 nbsp前面那个怎么打
  12. AIX 6.1新功能 之RAS,虚拟化,存储及文件系统,网络增强,参数调整 (转帖)
  13. 站长紧急:新站要沉得住气
  14. java for 代表什么意思_java中for是什么意思?
  15. 携程网络防火墙自动化运维
  16. 计算机图形学 绘制正四面体
  17. 【Excel VBA和Python对照学习】创建字典
  18. android性能优化透明,Android性能优化-图片篇
  19. D u p l i c a t e H a n d l e函数存在的奇怪现象之一是,目标进程没有得到关于新内 核对象现在可以访问它的通知
  20. android微信字体颜色,苹果和安卓微信朋友圈字体颜色如何修改(哪个版本能用啊)...

热门文章

  1. 计算机多媒体技术的思维导图,基于多媒体技术的思维导图在小学语文教学中的应用研究...
  2. 桂林电子科技大学操作系统课程设计(二)
  3. android手机模拟器怎么连不上网,模拟器无法上网解决方法
  4. EPPlus导出和Spire.Xls导入、导出Pdf/Image、调节工作簿比例和视图模式
  5. arduinohanshu_Arduino函数
  6. laravel使用elasticsearch
  7. 毫米波雷达人体存在感应,人体精准感知应用
  8. 【matlab】显示图片且下方显示文字
  9. 富阳银湖云栖著_【首页】富阳绿城云栖桃花源杭州售楼处——绿城雲栖桃花源——售楼...
  10. 设计模式 | 工厂方法模式(Factory Method)