目录
-
什么是Golden模组?
手机中的摄像头是由一颗颗摄像模组构成的,大家有没有想过模组成为成品的过程是如何的?在产线前端,主要负责对FPC软板、Sensor、马达、镜头等来料进行组装;在产线后端,主要负责对结束前端的模组进行校准和测试,那么什么是校准呢?我们知道,摄像模组在组装过程中用到不同的单体物料,每类单体物料之间不能保证良好的一致性,组装而成的模组也就在各性能指标上存在差异。
经过产线前端组装的同一批成百万上千万的摄像模组,其后期调试工作是如何进行呢?摄像模组出货前,为了保证实际的拍摄效果,往往需要进行调试,例如AWB、AF和LSC。具体需要分析摄像模组拍摄的图像来获得调试数据,再根据调试数据对摄像模组的基本初始参数进行调整,以使出厂的摄像模组有较优的拍摄效果。
面对一批模组,最简单、理想的情况是小批量调试得出的参数能够应用到所有模组,由于同一批次模组的单体物料所造成的性能指标差异,这种差异势必会对模组后期的调试造成影响,调试人员不可能对各个模组进行单独的调试,单调的参数在这种情况下便发挥不了作用。那么有没有一种办法能够消除这种差异呢?这就要用到OTP烧录的手段了。
OTP数据烧录可以通俗的认为,将某些数据进行记录,这些数据会保存在OTP寄存器或EEPROM中。这些数据有什么作用呢?我们知道,关键问题是如何消除各颗模组间的性能指标差异:以AWB为例,调试时需要用到图片的R/Gr、B/Gr、Gb/Gr参数,也就是说AWB调试中各模组的差异体现在这三个参数上,如果能够通过增益的方式,使得不同模组出图的参数大致对齐,从而达到消除(科学地说是“减小”)差异的效果,问题便得到解决。 OTP数据烧录主要包括能够保证各模组各烧录项相关指标(如AWB中R/Gr、B/Gr、Gb/Gr 值)统一的增益值,在小批量模组调试后得到的调试参数乘以增益值,便能够统一这一批模组的整体效果!总而言之,有:
烧录原因:物料和组装工艺等方面的差异,导致AWB和shading方面会存在一定的差异,客户端无法用一套参数去覆盖所有的模组。
烧录目的;提高模组的一致性。
所以,模组调试前的参数需要先进行对齐,为后续”一套调试参数覆盖所有模组“目标(即一套调试参数使得所有模组达到规格要求)提供可行的条件。
-
如何确定Golden模组?
对齐的方法有了,向谁对齐便是下一个要考虑的问题。
为了保证效果一致性,模组厂会挑选一部分模组作为golden,然后将其他模组的相应参数校准到和这些golden一样,注意:golden不是最好的模组,也不是最差的模组,而是在大批次模组中各方面最平均的模组,golden应该是一批模组的代表。原因下面简单证明:
假设一批模组拍图得到R/G和B/G数据如图1所示,其中,绿圈为对模组调试后需满足的规格,一般来说,未经校准的模组数据(即粉色数据点)分布是分散的,且使用一套调试参数无法满足所有模组符合规格。

此时,需要通过给每颗随机模组设置增益的方式来向golden模组对齐,这个对齐过程所需数据便由烧录(校准)来完成。需要注意的是,由于环境等因素差异,随机模组设置增益后的实拍图片数据不会和golden模组完全相同,可以将数据烧录理解为随机模组由发散到向golden模组收敛的手段。下面以对比形式来说明golden模组挑选标准。
- 选择整批物料几何中心附近模组为golden模组
如图2所示为以整批物料几何中心附近模组为golden模组(红圈所标注模组),模组烧录后数据变化示意图。三角形为各模组经OTP校准后的位置,可以看到整批模组向golden模组靠拢,模组数据整体收敛至golden模组数据。

以该golden模组进行软件效果调试,调试至最佳效果后,将调试参数统一应用到批次模组中,调试后模组数据分布如图3所示:

从数据分布我们可以看出,调试过程类似于对模组数据进行搬移的过程。此时可以得出结论:
将整批物料几何中心附近模组定为golden模组后,合理的调试参数可以保证整批模组满足规格。
- 选择其他模组(此处选择整批物料几何边缘附近模组)为golden模组
如图4所示为以整批物料几何边缘附近模组为golden模组(红圈所标注模组),模组烧录后数据变化示意图。三角形为各模组经OTP校准后的位置,可以看到整批模组向golden模组靠拢,模组数据整体收敛至golden模组数据。

以该golden模组进行软件效果调试,调试至最佳效果后,将调试参数统一应用到批次模组中,调试后模组数据分布如图5所示:

从数据分布我们可以看到,统一参数调试后的部分模组落在规格要求之外,可以得出结论:
将整批物料几何边缘附近模组定为golden模组后,合理的调试参数不能保证整批模组满足规格。
所以,golden不是最好的模组,也不是最差的模组,而是在大批次模组中各方面最平均的模组,golden应该是一批模组的代表。
-
AWB Golden Sample挑选示例
以AWB校准为例,golden挑选大致过程如下所示:
1.更换模组在同一光源(同一色温)下拍摄,并确定各图片中心Block位置为ROI区域
2.WB Average平均值计算:
- 计算每颗模组所拍图片ROI区域R/G、B/G(或R/Gr、B/Gr)值
R、G、B为所拍raw图ROI区域阵列中R、G、B平均值,其中,G为阵列中Gr、Gb总体像素平均值。即对每颗模组中有:
其中,为Gr像素个数;
为Gb像素个数;
为Gr、Gb总个数,即
。
- 每颗模组加和平均得到该批N个模组R/G、B/G (或R/Gr、B/Gr)平均值
i=1,2,...,N;N为模组数量
3.WB Distance距离计算:WB距离定义为每颗模组ROI区域R/G、B/G值到所有模组平均R/G、B/G值的距离,示意图如图6所示,图中红色圆圈位置表示模组平均R/G、B/G坐标。公式如式所示:

距离值最小的模组便为AWB golden模组。
-
AWB校准数据烧录流程
通过Golden模组的挑选过程可以看出,它就像是“别人家的孩子”,发展均衡不偏科,其他模组需要向它对齐,从而提高模组效果一致性。具体对齐方式可以分为两种:
- Sensor补偿方法
假设Golden模组OTP中WB的R/G和B/G是(0.5,0.5),而随机模组的R/G和B/G是(0.4,0.4),那么为了使随机模组达到与Golden模组相同的效果,就要在这个模组的R和B gain上分别乘1.25,由于环境等因素差异,最终的实际效果可能不会和golden模组完全相同,但是至少会和golden模组接近,使最终经过ISP处理之后所有模组的效果一致性有保障。
- 平台补偿方法
如图7为golden模组在不同色温光源下拍摄18%灰卡的图片,计算得到的每张图片的颜色比值R/G和B/G,不同坐标代表不同光源下的R/G和B/G情况。
同样假设Golden模组OTP中WB的R/G和B/G是(0.5,0.5),而随机模组wb的R/G和B/G是(0.4,0.4),那么为了使随机模组达到与golden模组相同的效果,ISP会将效果参数中Golden模组的每个参考点的R/G和B/G值分别乘上0.8,这样会出现一组适合这个随机模组的参考点,使随机模组的效果和golden模组效果接近,这种方法也能使最终经过ISP处理之后所有模组的效果一致性有保障。
可以看到,无论采取哪种补偿方法,批次中随机模组和golden模组间的R/G、B/G及Gr/G的比值关系即Rgain、Bgain和GGain,是补偿原理中必不可少的数据。烧录过程与模组挑选部分步骤相同:在规定光源下拍摄相同图片,然后对相关数据进行EEProm烧录。烧录数据有以下两种格式:
1.直接烧录R、Gr、Gb、B四通道值、
、
、
,OTPGain值计算由后续Sensor端或ISP端进行。
经过以下计算,各通道像素值转化成16进制后便成为目标烧录数据:
2.对四通道值数据外部处理后,烧录对应的通道比值, OTPGain值计算同样由后续Sensor端或ISP端进行。
注意,由于通道比值均小于1,直接转成16进制数无法实现,因此选择统一乘一个系数来将通道比值转化成整数,这个系数一般为512或1024。例如:
目前主流通道比值有两种算法:
计算方法1:
存储对应模组、
(乘转化系数n转化为16进制数存储)
计算方法2:
存储对应模组:、
、
(乘转化系数n转化为16进制数存储)
通道比值计算方法的选择与平台调试中OTPGain值计算方法有关,对应有:
- 计算方法1对应OTPGain值
- 计算方法2对应OTPGain值
-
总结
本文以AWB校正为例,介绍了摄像模组中golden模组在调试过程中的意义,以及在模组厂产线后端校准(烧录)的流程。欢迎大家多多讨论、指正!