摄像头ISP系统原理(下)
摄像头ISP系统原理(下)
l WDR(Wide Dynamic Range)------宽动态
动态范围(Dynamic Range)是指摄像机支持的最大输出信号和最小输出信号的比值,或者说图像最亮部分与最暗部分的灰度比值。普通摄像机的动态范围一般在1:1000(60db)左右,而宽动态(Wide Dynamic Range,WDR)摄像机的动态范围能达到1:1800-1:5600(65-75db)。
宽动态技术主要用来解决摄像机在宽动态场景中采集的图像出现亮区域过曝而暗区域曝光不够的现象。简而言之,宽动态技术可以使场景中特别亮的区域和特别暗的区域在最终成像中同时看清楚。
l 3DNR
3dnr 是结合空域滤波和时域滤波的一种降噪算法。大概思路是检测视频的运动水平,更具运动水平的大小对图像像素进行空域滤波和时域滤波的加权,之后输出滤波之后的图像。
l Sharp------锐化
CMOS输入的图像将引入各种噪声,有随机噪声、量化噪声、固定模式噪声等。ISP降噪处理过程中,势必将在降噪的同时,把一些图像细节给消除了,导致图像不够清晰。为了消除降噪过程中对图像细节的损失,需要对图像进行锐化处理,还原图像的相关细节。如下图所示,左图是未锐化的原始图像,右图是经过锐化之后的图像。
- BLC(BlackLevel Correction)------黑电平校正
Black Level 是用来定义图像数据为 0 时对应的信号电平。由于暗电流的影响,传感器出来的实际原始数据并不是我们需要的黑平衡( 数据不为0) 。所以,为减少暗电流对图像信号的影响,可以采用的有效的方法是从已获得的图像信号中减去参考暗电流信号。一般情况下,在传感器中,实际像素要比有效像素多,像素区头几行作为不感光区( 实际上,这部分区域也做了 RGB 的 color filter) ,用于自动黑电平校正,其平均值作为校正值,然后在下面区域的像素都减去此矫正值,那么就可以将黑电平矫正过来了。如下图所示,左边是做黑电平校正之前的图像,右边是做了黑电平校正之后的图像。
DPC(Bad Point Correction)------坏点校正
所谓坏点,是指像素阵列中与周围像素点的变化表现出明显不同的像素,因为图像传感器是成千上万的元件工作在一起,因此出现坏点的概率很大。一般来讲,坏点分为三类:第一类是死点,即一直表现为最暗值的点;第二类是亮点,即一直表现为最亮值的点:第三类是漂移点,就是变化规律与周围像素明显不同的像素点。由于图像传感器中CFA的应用,每个像素只能得到一种颜色信息,缺失的两种颜色信息需要从周围像素中得到。如果图像中存在坏点的话,那么坏点会随着颜色插补的过程往外扩散,直到影响整幅图像。因此必须在颜色插补之前进行坏点的消除。
- RGBToYUV
YUV 是一种基本色彩空间,人眼对亮度改变的敏感性远比对色彩变化大很多,因此,对于人眼而言,亮度分量 Y 要比色度分量 U、 V 重要得多。另外,YUV色彩空间分为YUV444,YUV422,YUV420等格式,这些格式有些比原始RGB图像格式所需内存要小很多,这样亮度分量和色度分量分别存储之后,给视频编码压缩图像带来一定好处。
Y =16 +(0. 257 × R +0. 504 × G +0. 098 × B)
Cb =128 +(-0. 148 × R-0. 291 × G +0. 439 × B)
Cr =128 +(0. 439 × R-0. 368 × G-0. 071 × B)
- CROP/RESIZE
图像剪裁,即改变图像的尺寸。可用于输出不同分辨率的图像。
- VRA
视觉识别。用于识别特定的景物,例如人脸识别,车牌识别。ISP 通过各种 VRA 算法,准确的识别特定的景物。
- DRC
动态范围校正。动态范围即图像的明暗区间。DRC 可以使得暗处的景物不至于欠曝,而亮处的景物不至于过曝。ISP 需要支持 DRC 功能。
- CSC
颜色空间转换。例如,ISP 会将 RGB 信号转化为 YUV 信号输出。
- IS
图像稳定。IS 的主要作用是使得图像不要因为手持时轻微的抖动而模糊不清。IS 有很多种,例如 OIS、DIS、EIS。ISP 可以实现 DIS 和 EIS。
- TestPattern------测试图像
Test Pattern主要用来做测试用。不需要先在片上ROM存储图片数据,直接使用生成的测试图像,用生成的测试图像进行后续模块的测试验证。以下是常用的两种测试图像。
事实上,ISP 除了上面提到的主要功能外,还需要支持 DENOISE、CONTRAST、SATURATION、SHARPNESS 等调整功能。
控制方式
这里所说的控制方式是 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 能提供专业而且优秀的图像质量。
- 能够支援更丰富的设计规划
外置 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 架构的优点主要有:
- 能降低成本价格
内置 ISP 内嵌在 AP 内部,因此无需像外置 ISP 一样需要额外购买,且不占 PCB 空间,无需单独为其设计外围电路,这样就能节省 BOM,降低成本。鉴于大多数用户在选购手机时会将价格因素放在重要的位置,因此降低成本能有效的降低终端成品价格,有利于占领市场。
- 能提高产品的上市速度
内置 ISP 和 AP 紧密结合,无需进行原理图设计和 LAYOUT 设计,因此可以减小开发周期,加快产品上市的速度。
- 能降低开发难度
如果使用内置 ISP,那么 AP 供应商能在前期提供相关资料,驱动开发人员可以有充足的时间熟悉相关资料,而且不会存在软件版本适配问题,也不存在平台架构兼容性问题。但是,如果使用外置 ISP,那么 ISP 供应商往往都不能提供针对某个平台的代码/资料,而且一般都存在软件版本兼容问题,这就需要驱动开发人员付出额的经历和时间。
使用内置 ISP 当然也有相应的不足之处,具体见上文的分析,这里就不赘述了。
事实上,鉴于 ISP 的重要性,为了推广其 AP,提高其 AP 竞争力,现在 AP 内置的 ISP 也越来越强大,其性能足以满足手机市场的需求。再加上其一系列优点,现在使用内置 ISP 方案的手机越来越多。
结语
ISP 是相机系统中重要的组成部分,要了解相机系统,就不能不熟悉 ISP。本文从 ISP 内部构成、功能特性、操控方式等角度介绍了 ISP 的各方面知识。另外,本文还详细的分析了两种架构的 ISP 方案的优缺点,希望能有所裨益。