
ISP(图像信号处理)算法概述、⼯作原理、架构、处理流程
⽬录
ISP的主要内部构成:ISP内部包含 CPU、SUP IP(各种功能模块的通称)、IF 等设备
ISP的控制结构:1、ISP逻辑 2、运⾏在其上的firmware
ISP上的Firmware包含三部分:
AP对ISP的操控⽅式:外置:I2C/SPI。 内置:MEM MAP、MEM SHARE
ISP架构⽅案:内置、外置
ISP 处理流程:
Bayer、⿊电平补偿 (black level compensation)、镜头矫正(lens shading correction)、坏像素矫正(bad pixel correction)、颜⾊插值 (demosaic)、Bayer 噪声去除、 ⽩平衡(AWB) 矫正、 ⾊彩矫正(color correction)、gamma 矫正、⾊彩空间转换(RGB 转换为 YUV)、在YUV ⾊彩空间上彩噪去除与边缘加强、⾊彩与对⽐度加强,中间还要进⾏⾃动曝光控制等, 然后输出
YUV(或者RGB) 格式的数据, 再通过 I/O 接⼝传输到 CPU 中处理。
概念
ISP是Image Signal Processor 的简称,也就是图像信号处理器。
DSP是Digital Signal Processor 的缩写,也就是数字信号处理器。
ISP⼀般⽤来处理Image Sensor(图像传感器)的输出数据,如做AEC(⾃动曝光控制)、AGC(⾃动增益控制)、AWB(⾃动⽩平衡)、⾊彩校正、Lens Shading、Gamma 校正、祛除坏点、Auto Black Level、Auto White Level等等功能的处理。
⽽DSP功能就⽐较多了,它可以做些拍照以及回显(JPEG的编解码)、录像以及回放(Video 的编解码)、H.264的编解码、还有很多其他⽅⾯的处理,总之是处理数字信号了。ISP是⼀类特殊的处理图像信号的DSP。
ISP架构⽅案:分为独⽴(外置)与集成(内置)两种形式。
CPU处理器包括:AP、BP、CP。 其中BP:基带处理器、AP:应⽤处理器、CP:多媒体加速器。
ISP的主要内部构成
如下图所⽰,ISP内部包含 CPU、SUP IP、IF 等设备,事实上,可以认为 ISP 是⼀个 SOC(system of chip),可以运⾏各种算法程序,实时处理图像信号。
CPU:CPU 即中央处理器,可以运⾏ AF、LSC 等各种图像处理算法,控制外围设备。现代的 ISP 内部的 CPU ⼀般都是 ARM Cortex-A 系列的,例如 Cortex-A5、Cortex-A7。
SUB IP:SUB IP 是各种功能模块的通称,对图像进⾏各⾃专业的处理。常见的 SUB IP 如 DIS、CSC、VRA 等。
图像传输接⼝:图像传输接⼝主要分两种,并⼝ ITU 和串⼝ CSI。CSI 是 MIPI CSI 的简称,鉴于 MIPI CSI 的诸多优点,在⼿机相机领域,已经⼴泛使⽤ MIPI-CSI 接⼝传输图像数据和各种⾃定义数据。外置 ISP ⼀般包含 MIPI-CSIS 和 MIPI-CSIM 两个接⼝。内置 ISP ⼀般只需要 MIPI-CSIS 接⼝。
通⽤外围设备:通⽤外围设备指 I2C、SPI、PWM、UART、WATCHDOG 等。ISP 中包含 I2C 控制
器,⽤于读取 OTP 信息,控制VCM 等。对于外置 ISP,ISP 本⾝还是 I2C 从设备。AP 可以通过 I2C 控制 ISP 的⼯作模式,获取其⼯作状态等。
ISP的控制结构
ISP包括: 1、ISP逻辑 2、运⾏在其上的firmware
如图所⽰,lens 将光信号投射到sensor 的感光区域后,sensor 经过光电转换,将Bayer 格式的原始图像送给ISP,ISP 经过算法处理,输出RGB空间域的图像给后端的视频采集单元。在这个过程中,ISP通过运⾏在其上的firmware(固件)对ISP逻辑,从⽽对lens 和sensor 进⾏相应控制,进⽽完成⾃动光圈、⾃动曝光、⾃动⽩平衡等功能。其中,firmware的运转靠视频采集单元的中断驱动。PQ Tools ⼯具通过⽹⼝或者串⼝完成对ISP 的在线图像质量调节。
ISP 由ISP逻辑及运⾏在其上的Firmware组成,逻辑单元除了完成⼀部分算法处理外,还可以统计出当前图像的实时信息。Firmware 通过获取ISP 逻辑的图像统计信息,重新计算,反馈控制lens、sensor 和ISP 逻辑,以达到⾃动调节图像质量的⽬的。
ISP上的Firmware包含三部分
ISP 的Firmware包含三部分,⼀部分是ISP 控制单元和基础算法库,⼀部分是AE/AWB/AF 算法库,⼀部分是sensor 库。Firmware 设计的基本思想是单独提供3A算法库,由ISP控制单元调度基础算法库和3A 算法库,同时sensor 库分别向ISP 基础算法库和3A 算法库注册函数回调,以实现差异化的sensor 适配。ISP firmware 架构如图所⽰。
不同的sensor 都以回调函数的形式,向ISP 算法库注册控制函数。ISP 控制单元调度基础算法库和3A 算法库时,将通过这些回调函数获取初始化参数,并控制sensor,如调节曝光时间、模拟增益、数字增益,控制lens 步进聚焦或旋转光圈等。
AP对ISP的操控⽅式
CPU处理器包括:AP、BP、CP。 BP:基带处理器、AP:应⽤处理器、CP:多媒体加速器
这⾥所说的控制⽅式是AP 对 ISP 的操控⽅式 。
I2C/SPI:这⼀般是外置 ISP 的做法。SPI ⼀般⽤于下载固件、I2C ⼀般⽤于寄存器控制。在内核的 ISP 驱动中,外置 ISP ⼀般是实现为I2C 设备,然后封装成 V4L2-SUBDEV。
MEM MAP:这⼀般是内置 ISP 的做法。将 ISP 内部的寄存器地址空间映射到内核地址空间,
MEM SHARE:这也是内置 ISP 的做法。AP 这边分配内存,然后将内存地址传给 ISP,⼆者实际上共享同⼀块内存。因此 AP 对这段共享内存的操作会实时反馈到 ISP 端。
ISP架构⽅案
上⽂多次提到外置 ISP 和内置 ISP,这实际上是 ISP的架构⽅案。
外置 ISP 架构
外置 ISP 架构是指在 AP 外部单独布置 ISP 芯⽚⽤于图像信号处理。外置 ISP 的架构图⼀般如下所⽰:
外置 ISP 架构的优点主要有:
能够提供更优秀的图像质量:在激烈的市场竞争下,能够存活到现在的外置 ISP ⽣产⼚商在此领域⼀般都有很深的造诣,积累了丰富的影像质量调试经验,能够提供⽐内置 ISP 更优秀的性能和效果。因此,选⽤优质的外置 ISP 能提供专业⽽且优秀的图像质量。
能够⽀援更丰富的设计规划:外置 ISP 的选型基本不受 AP 的影响,因此魅族可以从各个优秀 ISP 芯⽚供应商的众多产品中甄选最合适的器件,从⽽设计出更多优秀的产品。
能够实现产品的差异化:内置 ISP 是封装在 AP 内部的,是和 AP 紧密的联系在⼀起,如果 AP 相同,那么 ISP 也就是⼀样的。因此基于同样 AP ⽣产出来的⼿机,其 ISP 的性能也是⼀样的,可供调教的条件也是固定的,这样就不利于实现产品的差异化。⽽如果选择外置ISP,那么同⼀颗 AP,可以搭配不同型号的 ISP,这样可以实现产品的差异化,为给⽤户提供更丰富和优质的产品。
外置 ISP 架构的缺点主要有:
成本价格⾼:外置 ISP 需要单独购买,其售价往往不菲,⽽且某些特殊功能还需要额外⽀付费⽤。使⽤外置 ISP,需要进⾏额外的原理图设计和 LAYOUT,需要使⽤额外的元器件。
开发周期长:外置 ISP 驱动的设计需要多费精⼒和时间。使⽤外置 ISP 时,AP 供应商提供的 ISP 驱动就⽆法使⽤,需要额外设计编写外置 ISP 驱动。另外,为了和 AP 进⾏完美的搭配,将效果最⼤化,也往往需要付出更多的调试精⼒。上⽂也提到,使⽤外置 ISP,需要进⾏额外的原理图设计和 LAYOUT,需要使⽤额外的元器件,这也是需要花费时间进⾏处理的。
内置 ISP 架构:
内置 ISP 架构是指在 AP 内部嵌⼊了 ISP IP,直接使⽤ AP 内部的 ISP 进⾏图像信号处理。 内置 ISP 的架构图⼀般如下所⽰:
内置 ISP 架构的优点主要有:
能降低成本价格:内置 ISP 内嵌在 AP 内部,因此⽆需像外置 ISP ⼀样需要额外购买,且不占 PCB 空间,⽆需单独为其设计外围电路,这样就能节省 BOM,降低成本。鉴于⼤多数⽤户在选购⼿机时会将价格因素放在重要的位置,因此降低成本能有效的降低终端成品价格,有利于占领市场。
能提⾼产品的上市速度:内置 ISP 和 AP 紧密结合,⽆需进⾏原理图设计和 LAYOUT 设计,因此可以减⼩开发周期,加快产品上市的速度。
能降低开发难度:如果使⽤内置 ISP,那么 AP 供应商能在前期提供相关资料,驱动开发⼈员可以有充⾜的时间熟悉相关资料,⽽且不会存在软件版本适配问题,也不存在平台架构兼容性问题。但是,如果使⽤外置 ISP,那么 ISP 供应商往往都不能提供针对某个平台的代码/资料,⽽且⼀般都存在软件版本兼容问题,这就需要驱动开发⼈员付出额的经历和时间。
使⽤内置 ISP 当然也有相应的不⾜之处,具体见上⽂的分析,这⾥就不赘述了。
事实上,鉴于 ISP 的重要性,为了推⼴其 AP,提⾼其 AP 竞争⼒,现在 AP 内置的 ISP 也越来越强⼤,其性能⾜以满⾜⼿机市场的需求。再加上其⼀系列优点,现在使⽤内置 ISP ⽅案的⼿机越来越多。
ISP 处理流程
图像产⽣过程:景物通过 Lens ⽣成的光学图像投射到 sensor 表⾯上, 经过光电转换为模拟电信号, 消噪声后经过 A/D 转换后变为数字图像信号, 再送到数字信号处理芯⽚( DSP) 中加⼯处理。
所以,从 sensor 端过来的图像是 Bayer 图像,经过⿊电平补偿 (black level compensation)、镜头矫正(lens shading correction)、坏像素矫正(bad pixel correction)、颜⾊插值 (demosaic)、Bayer 噪声去除、 ⽩平衡(awb) 矫正、 ⾊彩矫正(color correction)、gamma 矫正、⾊彩空间转换(RGB 转换为 YUV)、在YUV ⾊彩空间上彩噪去除与边缘加强、⾊彩与对⽐度加强,中间还要进⾏⾃动曝光控制等, 然后输出 YUV(或者RGB) 格式的数据, 再通过 I/O 接⼝传输到 CPU 中处理。
1.Bayer(拜⽿滤波器得到彩⾊)
图像在将实际的景物转换为图像数据时, 通常是将传感器分别接收红、 绿、 蓝三个分量的信息, 然后将红、 绿、 蓝三个分量的信息合成彩⾊图像。 该⽅案需要三块滤镜, 这样价格昂贵,且不好制造, 因为三块滤镜都必须保证每⼀个像素点都对齐。
通过在⿊⽩ cmos 图像传感器的基础上, 增加彩⾊滤波结构和彩⾊信息处理模块就可以获得图像的彩⾊信息, 再对该彩⾊信息进⾏处理,就可以获得⾊彩逼真的彩⾊图像。通常把彩⾊图像传感器表⾯覆盖的滤波称为彩⾊滤波阵列(Color Filter Arrays,CFA)。
⽬前最常⽤的滤镜阵列是棋盘格式的, 已经有很多种类的, 其中绝⼤多数的摄像产品采⽤的是原⾊贝尔模板彩⾊滤波阵列(Bayer
Pattern CFA)。R、G、B 分别表⽰透红⾊、透绿⾊和透蓝⾊的滤镜阵列单元。由于⼈的视觉对绿⾊最为敏感,所以在 Bayer CFA 中G分量是 R和B 的⼆倍,在每个像素点上只能获取⼀种⾊彩分量的信息,然后根据该⾊彩分量的信息通过插值算法得到全⾊彩图像。
2.BLC(Black level Correction)(⿊电平补偿)
a.暗电流
更多推荐
图像,外置,算法,控制,处理,需要
发布评论