专栏硬件技术ISP pipeline基础介绍

ISP pipeline基础介绍

沃德菲2024-04-12
371
0

一、前言

本文首先简单介绍数字光学系统,以及需要ISP进一步处理的sensor图像常见pattern,然后对ISP pipeline各类子模块的功能进行分类,最后介绍ISP典型的图像处理子模块。

通过本文的简单介绍,可以了解isp pipeline中各个子模块设计的原因与作用,理解ISP为什么要设计特定功能子模块对图像进行特别的处理。

通过本文我们可以简单理解如下问题:

1、简单的数字光学系统由哪些元素组成?

2、常见的sensor输出的图像Bayer格式有哪些?

3、ISP pipeline按功能可以划分为几大类?

4、典型的ISP pipeline子模块有哪些,各自的作用又是什么?

名词解释:

ISP Image Signal Processor 图像信号处理器

BLC Black Level Correction 黑电平矫正

DG Digital Gain ISP数字增益

GE Green Equalization 绿平衡

SPC Static Defect Pixel Correction 静态坏点矫正

DPC Dynamic Defect Pixel Correction 动态坏点矫正

DOL digital overlap 数字行交织

CAC Chromatic Aberration Correction 色差矫正

WB White Balance 白平衡

LSC Lens shading correction 镜头阴影矫正

2DNR/3DNR 2D/3D Noise Reduce 2D/3D降噪

CCM Color Correction Matrix 颜色校正矩阵

PFC Purple fringe correction 紫边抑制

CSC color space conversion 色彩空间转换

二、摄像机光学系统

物镜:由几个单透镜或复合透镜组成,以调增单色像差、色差、色彩、焦点、焦距等。

光圈:照相物镜中一个直径可变的光阑——物镜的孔径光阑。

感光器件:接收光子能量,并转化成电信号,再经过模/数信号转换,生成数字图像frame。

三、ISP的图像输入pattern

BAYER格式:RGGB、RCCB、RGBIR、RCCG、RCCC、RYYCy等。

对于RGGB:sensor感光器件存在R/G/B三种颜色的滤镜,不同的象素点上只采集RGB的某一种颜色。

针对场景应用的特点,比如自动驾驶场景下,为了更好地获得低照度下图像得亮度、各类交通标识、交通灯等,也会用到其他格式。比如RCCB、RCCC、RCCG等。C代表着Clear,不进行颜色过滤,透传RGB颜色分量。

RCCB pattern示意图如下,其中C为图中的白色滤镜。

四、ISP Pipeline

4.1 ISP pipeline概述

根据ISP IP的子模块功能组成、数据流处理以及控制,可以将ISP的Pipeline定义为如下分类:

(1) raw域:处理Bayer格式的sensor图像。

(2) rgb域:处理由Bayer格式转换成RGB三通道的图像。

(3) yuv域:处理由RGB三通道转换成YUV等格式的图像。

(4) 统计域:输出AWB\AE\AF等统计数据。

(5) 控制域:控制整个ISP pipeline。

4.2 ISP pipeline典型功能模块介绍

4.2.1 BLC

BLC:Black Level Correction,黑电平矫正。

黑电平形成的原因:

sensor的电路本身会存在暗电流,导致在没有光线照射的时候,像素单位也有一定的输出电压。

一般BLC模块会放在ISP比较靠前的位置,ISP一般采用的方法是在sensor输出的图像基础上减去offset value。

4.2..2 DG

DG:Digital Gain,数字增益。

ISP的数字增益,可以作为调节曝光补偿的部分,不过一般ISP Digital Gain调节增益幅度不能开的太大,因为ISP的Digital Gain开太大,图像的噪声也同样会放大,会带来噪声的增益。

4.2.3 GE

GE: Green Equalization,绿平衡。

sensor的Gb和Gr通道可能会出现失衡,Gr和Gb通道的不等,会对后续的Demosaic产生影响,形成false color。通过GE模块可以调整Gr和Gb通道,弥补sensor造成的GR/GB失衡的问题。

4.2.4 SPC & DPC

SPC: Static Defect Pixel Correction,静态坏点矫正。

DPC: Dynamic Defect Pixel Correction,动态坏点矫正。

造成的原因:

图像传感器中的传感器感光阵列工艺存在缺陷(Static Defect Pixel),或光信号进行转化的过程中出现错误(Dynamic Defect Pixel),成图像上有些像素的信息有误,导致图像中的像素值不准确,这些有缺陷的像素即为图像坏点(Bad pixel)。

1、SPC的检测与矫正:有的sensor型号,将Static Defect Pixel的坐标在出厂时,写入内部EEPROM空间。因此可以从sensor内部获取相关坏点坐标,然后写进ISP的SPC模块,SPC根据坏点的坐标位置,使用邻域pixel的value,叠加权重信息,重新计算出替代坏点位置的pixel的像素value。

对于无法从sensor获取静态坏点坐标的sensor,可以通过实验室标定的方法确定坏点位置。在实验室环境,分别拍摄纯黑、纯白的图像,从而可以轻易的识别出坏的白点、黑点的坐标。然后将相关坐标信息写入ISP的SPC即可。

此外,有的ISP厂商的SPC模块,也具备标定输出坏点坐标的功能。

2、DPC的检测与矫正:配置DPC的坏点检测阈值,可以识别出较孤立的坏点,然后使用邻域pixel的value,叠加权重信息,重新计算出替代坏点位置的pixel的像素value。

4.2.5 Frame stitch

多帧合成宽动态技术,利用ISP 的frame stitch进行sensor端的多曝光帧的合成一帧。sensor的多曝光帧,最大支持4曝光帧(long exposure frame、medium exposure frame、short exposure frame、very short exposure frame)输出,然后ISP进行合成融合成一帧。

多帧宽动态技术通常使用HDR表示: High-Dynamic Range。用短曝光获取高光处的图像,用长曝光获取阴暗处的图像。

多帧宽动态的技术演进:

1、基于dol技术的多帧宽动态技术

2、基于帧交错技术的多帧宽动态技术。

基于帧交错技术的多帧宽动态:时域多帧是基于连续曝光的整帧图像(Frame Based)进行融合,所以图像之间的间隔时间就是一帧图像的周期。较大的帧间隔,容易产生antifact,以及鬼影等问题。

基于dol技术的多帧宽动态:DOL(digital overlap) HDR, 也叫做line interleaving(行的交织)HDR。以两曝光DOL为例,sensor每行会以长短曝光两次先后输出,从readout角度来看,就是长曝光帧与短曝光帧 line interleaving 依次输出。

DOL-HDR技术的优缺点:

优点:利用合成帧的方式,宽动态范围表现优秀,引入噪声小。

缺点:1、motion鬼影2、紫边问题3、模块复杂,带宽开销大

4.2.6 Companded & Decompanded

Companded & Decompanded,压缩&解压缩模块。

ISP pipeline中,通常意义的Companded & Decompanded与HDR有关。

1、Companded:与frame stitch联合使用。frame stitch合成后,在利用companded进行数据量压缩。

2、Decompanded:与sensor端合成的HDR有关,sensor端在输出前已完成多曝光帧合成,并通常使用PWL (piece wise linear,分段线性压缩) 、LOG域等压缩方法进行数据压缩,然后进行sensor输出。故ISP需要通过decompanded进行反解压。

Sensor HDR合成后输出图像的高动态范围图像(16bit-24bit),为了减小图像信号从sensor到ISP传输的带宽。通常压缩到低bit(比如12bit) 。

将压缩的HDR图像进行传输,在ISP接收到图像后,根据sensor端的PWL压缩曲线进行解压缩(decompanding或者叫decompression)到ISP的相应bit depth。

4.2.7 CAC

CAC: Chromatic Aberration Correction,色差矫正。

色差(Chromatic Aberration)是指光学上透镜无法将各种波长的光聚焦在同一点上的现象,是一种与镜头有关的缺陷,它产生的主要原因是不同波长的光具有不同的折射率(色散现象)。

色差校正(CA校正),纠正平面之间的水平和垂直位移造成的色差。

4.2.8 WB

WB: White Balance,白平衡。

同一物体在不同光源照射下呈现的颜色是不同的,受光源色温的影响。低色温光源下,白色物体偏红,高色温光源下,白色物体偏蓝。人眼可根据大脑的记忆判断,识别物体的真实颜色。

sensor无法跟人眼一样根据环境光的变化而改变感光特性,需要白平衡模块来模拟人眼的感光特性,将不同环境光下的白色还原成真实的白色,从而达到不同色温下的色彩还原。

AWB(Auto White Balance)算法的功能是降低外界光源对物体真实颜色的影响,使得我们采集的颜色信息转变为在理想日光光源下的无偏色信息。AWB 算法的基本原理是,根据场景内灰色物体的颜色信息,计算 R, G, B 颜色通道的增益,乘以增益后,RGB 三个通道达到平衡。

4.2.9 LSC

LSC: Lens shading correction,镜头阴影矫正。

1、镜头阴影造成的原因:

由于镜头对于光学折射不均匀导致的镜头周围出现阴影的情况。

shading可以细分为luma shading和color shading。

(1)luma shading:

镜头的通光量从中心到边角减小,造成sensor的亮度响应从中心到边角的变小,图像看起来就是这样,中心亮,四周逐渐变暗。

(2)color shading:

由于各种颜色的波长不同,经过了透镜的折射,折射的角度也不一样,因此会造成color shading的现象。

2、LSC的方法

通常LSC存在Radial(同心圆) shading correction 和 Mesh(网格) shading correction两种方式。一般使用Mesh的方法居多。

4.2.10 Local tone to mapping

Tone to mapping用于将颜色从原始色调映射到目标色调。使用Local tone to mapping进行动态范围压缩(Dynamic Range Compression,DRC),将HDR场景中的暗区提亮,而不影响全局图像。同时把高亮区域进行抑制,防止溢出。

4.2.11 2DNR/3DNR

2DNR/3DNR: 2D/3D Noise Reduce,2D/3D降噪。

噪声造成的原因:

噪声的产生是信号在采集、传输以及记录过程中,受到成像设备自身因素和外界环境的影响而产生的。

2DNR:只在2维空间域上进行降噪处理,利用空域与权重进行降噪处理。

3DNR: 3DNR与2DNR的不同在于增加了时域处理, 2DNR只考虑一帧图像,而3DNR进一步考虑帧与帧之间的时域关系进行降噪。

4.2.12 Demosaic

Demosaic : CFA插值。

Demosaic(有时候也称作CFA插值),主要作用是将SENSOR出来的BAYER数据,转化完整的三通道RGB数据。

4.2.13 CCM

CCM: Color Correction Matrix,色彩矫正矩阵。

颜色矫正矩阵CCM,该模块引入的原因在于:

1、sensor本身并不能很好的色彩还原,不同的镜头/感光芯片对色彩的还原程度都有不同强度的偏差。

传感器RGB三分量对光谱的响应,与人眼对光谱的响应通常是有偏差的,可通过一个色彩校正矩阵校正光谱响应的交叉效应和响应强度,使前端捕获的图片与人眼视觉在色彩上保持一致。

2、ISP模块的影响,会导致图像的色彩还原效果产生偏差,比如CFA插值(Demosaic)、GAMMA等。

因此,我们需要通过CCM进行颜色矫正工作,尽量逼近真实色彩空间。

4.2.14 PFC

PFC: Purple fringe correction,紫边抑制。

紫边成因:

1、镜头色差会使得图像中物体边缘出现不属于物体的颜色,因此镜头/微透镜色差会导致物体边缘出现紫红色的色边。

2、ISP的Demosaic模块,进行颜色插值时,会出现颜色错误(false color),使得物体的边缘、图像纹理等高频区域颜色出现伪彩色。

4.2.15 CSC

CSC : color space conversion,色彩空间转换。

通常把图像数据格式从RGB变换成YUV。RGB到YUV的转换,有多种标准公式。常见的色彩标准(BT.601、BT.709、BT.2020等)中均有定义。

比如BT.709种的RGB到YUV的转换公式:

Y = 0.0627 + 0.183 * R + 0.614 * G + 0.062 * B

U = 0.5 - 0.101 * R - 0.339 * G + 0.439 * B

V = 0.5 + 0.439 * R - 0.399 * G - 0.040 * B

4.2.16 其他ISP子模块

除了上文提到的ISP功能模块外,常见的子模块还有EE(edge enhancement,边缘增强)、Sharpen(锐化)、FPN(Fixed Pattern Noise,sensor固定噪声)、GAMMA矫正、Dehaze或称defog(去雾)、AHL(Anti High Light,高光抑制)、DLC(Digital Back-light Compinsation,数字背光补偿)等。

除了功能模块外,还有统计域模块和控制域模块。

统计域模块:为3A算法提供统计数据,包括AE统计数据、AWB统计数据、AF统计数据、以及特定功能子模块自身需要的统计数据等。

控制域模块:控制ISP pipeline的数据流和通路控制等。

硬件技术
社区征文
+3
评论0
0/1000