3.摄像模组之Golden模组

目录

什么是Golden模组?

如何确定Golden模组?

AWB Golden Sample挑选示例

AWB校准数据烧录流程

 总结


  • 什么是Golden模组?

        手机中的摄像头是由一颗颗摄像模组构成的,大家有没有想过模组成为成品的过程是如何的?在产线前端,主要负责对FPC软板、Sensor、马达、镜头等来料进行组装;在产线后端,主要负责对结束前端的模组进行校准和测试,那么什么是校准呢?我们知道,摄像模组在组装过程中用到不同的单体物料,每类单体物料之间不能保证良好的一致性,组装而成的模组也就在各性能指标上存在差异。

        经过产线前端组装的同一批成百万上千万的摄像模组,其后期调试工作是如何进行呢?摄像模组出货前,为了保证实际的拍摄效果,往往需要进行调试,例如AWBAFLSC。具体需要分析摄像模组拍摄的图像来获得调试数据,再根据调试数据对摄像模组的基本初始参数进行调整,以使出厂的摄像模组有较优的拍摄效果。

        面对一批模组,最简单、理想的情况是小批量调试得出的参数能够应用到所有模组,由于同一批次模组的单体物料所造成的性能指标差异,这种差异势必会对模组后期的调试造成影响,调试人员不可能对各个模组进行单独的调试,单调的参数在这种情况下便发挥不了作用。那么有没有一种办法能够消除这种差异呢?这就要用到OTP烧录的手段了。

        OTP数据烧录可以通俗的认为,将某些数据进行记录,这些数据会保存在OTP寄存器EEPROM中。这些数据有什么作用呢?我们知道,关键问题是如何消除各颗模组间的性能指标差异:以AWB为例,调试时需要用到图片的R/GrB/GrGb/Gr参数,也就是说AWB调试中各模组的差异体现在这三个参数上,如果能够通过增益的方式,使得不同模组出图的参数大致对齐,从而达到消除(科学地说是“减小”)差异的效果,问题便得到解决。 OTP数据烧录主要包括能够保证各模组各烧录项相关指标(如AWBR/GrB/GrGb/Gr 值)统一的增益值,在小批量模组调试后得到的调试参数乘以增益值,便能够统一这一批模组的整体效果!总而言之,有:

烧录原因:物料和组装工艺等方面的差异,导致AWB和shading方面会存在一定的差异,客户端无法用一套参数去覆盖所有的模组。
烧录目的;提高模组的一致性。

        所以,模组调试前的参数需要先进行对齐,为后续”一套调试参数覆盖所有模组“目标(即一套调试参数使得所有模组达到规格要求)提供可行的条件。


  • 如何确定Golden模组?

        对齐的方法有了,向谁对齐便是下一个要考虑的问题。

        为了保证效果一致性,模组厂会挑选一部分模组作为golden,然后将其他模组的相应参数校准到和这些golden一样,注意:golden不是最好的模组,也不是最差的模组,而是在大批次模组中各方面最平均的模组,golden应该是一批模组的代表。原因下面简单证明:

        假设一批模组拍图得到R/G和B/G数据如图1所示,其中,绿圈为对模组调试后需满足的规格,一般来说,未经校准的模组数据(即粉色数据点)分布是分散的,且使用一套调试参数无法满足所有模组符合规格。

图1.模组原始数据分布

        此时,需要通过给每颗随机模组设置增益的方式来向golden模组对齐,这个对齐过程所需数据便由烧录(校准)来完成。需要注意的是,由于环境等因素差异,随机模组设置增益后的实拍图片数据不会和golden模组完全相同,可以将数据烧录理解为随机模组由发散到向golden模组收敛的手段。下面以对比形式来说明golden模组挑选标准


  • 选择整批物料几何中心附近模组为golden模组

        如图2所示为以整批物料几何中心附近模组为golden模组(红圈所标注模组),模组烧录后数据变化示意图。三角形为各模组经OTP校准后的位置,可以看到整批模组向golden模组靠拢,模组数据整体收敛至golden模组数据。

图2.模组校准后数据分布

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

图3.模组统一参数调试后数据分布

        从数据分布我们可以看出,调试过程类似于对模组数据进行搬移的过程。此时可以得出结论:

将整批物料几何中心附近模组定为golden模组后,合理的调试参数可以保证整批模组满足规格。


  • 选择其他模组(此处选择整批物料几何边缘附近模组)为golden模组

       如图4所示为以整批物料几何边缘附近模组为golden模组(红圈所标注模组),模组烧录后数据变化示意图。三角形为各模组经OTP校准后的位置,可以看到整批模组向golden模组靠拢,模组数据整体收敛至golden模组数据。

图4.模组校准后数据分布

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

图5.模组统一参数调试后数据分布

        从数据分布我们可以看到,统一参数调试后的部分模组落在规格要求之外,可以得出结论:

整批物料几何边缘附近模组定为golden模组后,合理的调试参数不能保证整批模组满足规格。

        所以,golden不是最好的模组,也不是最差的模组,而是在大批次模组中各方面最平均的模组,golden应该是一批模组的代表。


  • AWB Golden Sample挑选示例

        以AWB校准为例,golden挑选大致过程如下所示:

1.更换模组在同一光源(同一色温)下拍摄,并确定各图片中心Block位置为ROI区域

2.WB Average平均值计算:

  • 计算每颗模组所拍图片ROI区域R/GB/G(或R/GrB/Gr)值

        R、G、B为所拍raw图ROI区域阵列中R、G、B平均值,其中,G为阵列中Gr、Gb总体像素平均值。即对每颗模组中有:

G=\frac{\sum\limits_{i=1}^{i={N_r}}{G_r}+\sum\limits_{i=1}^{i={N_b}}{G_b}}{N_G}=\frac{​{G_r}_{Average}+{G_b}_{Average}}{2}

其中,N_r为Gr像素个数;N_b为Gb像素个数;N_G为Gr、Gb总个数,即N_G=N_r+N_b

  • 每颗模组加和平均得到该批N个模组R/GB/G (或R/GrB/Gr)平均值

 (\frac{R}{G})_{Average}=\frac{\sum\limits_{i=1}^{i={N}}{(\frac{R}{G})_i}}{N}

(\frac{B}{G})_{Average}=\frac{\sum\limits_{i=1}^{i={N}}{(\frac{B}{G})_i}}{N}

 i=1,2,...,N;N为模组数量

3.WB Distance距离计算:WB距离定义为每颗模组ROI区域R/GB/G到所有模组平均R/GB/G值的距离,示意图如图6所示,图中红色圆圈位置表示模组平均R/G、B/G坐标。公式如式所示:

图6.WB Distance示意

 {WB Distance}_i=\sqrt{(\frac{(\frac{R}{G})_i}{(\frac{R}{G})_{Average}}-1)^2+(\frac{(\frac{B}{G})_i}{(\frac{B}{G})_{Average}}-1)^2}

        距离值最小的模组便为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/GB/GGr/G的比值关系即RgainBgainGGain,是补偿原理中必不可少的数据。烧录过程与模组挑选部分步骤相同:在规定光源下拍摄相同图片,然后对相关数据进行EEProm烧录。烧录数据有以下两种格式:

1.直接烧录RGrGbB四通道值R_{Value}Gr_{Value}Gb_{Value}B_{Value},OTPGain值计算由后续Sensor端或ISP端进行。

        经过以下计算,各通道像素值转化成16进制后便成为目标烧录数据:

R_{Value}=int(R-OB+0.5)
Gr_{Value}=int(Gr-OB+0.5)
Gb_{Value}=int(Gb-OB+0.5)
B_{Value}=int(B-OB+0.5)
G_{Value}=(Gr_{Value}+Gb_{Value})/2

2.对四通道值数据外部处理后,烧录对应的通道比值, OTPGain值计算同样由后续Sensor端或ISP端进行。

        注意,由于通道比值均小于1,直接转成16进制数无法实现,因此选择统一乘一个系数来将通道比值转化成整数,这个系数一般为5121024。例如:

R_{Value}/G_{Value}*n=0.842*1023=861=0x035D

        目前主流通道比值有两种算法:

计算方法1:

        存储对应模组R_{Value}/G_{Value}B_{Value}/G_{Value}(乘转化系数n转化为16进制数存储)

计算方法2:

        存储对应模组:R_{Value}/Gr_{Value}B_{Value}/Gr_{Value}Gb_{Value}/Gr_{Value}(乘转化系数n转化为16进制数存储)


        通道比值计算方法的选择与平台调试中OTPGain值计算方法有关,对应有:

  • 计算方法1对应OTPGain值

        RGAIN =\frac{R_{golden}/G_{golden}}{R_{Value}/G_{Value}}*\frac{1}{n}
        BGAIN =\frac{B_{golden}/G_{golden}}{B_{Value}/G_{Value}}*\frac{1}{n}

  • 计算方法2对应OTPGain值

    RGAIN =\frac{R_{golden}/Gr_{golden}}{R_{Value}/Gr_{Value}}*\frac{1}{n}
    BGAIN =\frac{B_{golden}/Gr_{golden}}{B_{Value}/Gr_{Value}}*\frac{1}{n}
    GGAIN =\frac{Gb_{golden}/Gr_{golden}}{Gb_{Value}/Gr_{Value}}*\frac{1}{n}
  •  总结

        本文以AWB校正为例,介绍了摄像模组中golden模组在调试过程中的意义,以及在模组厂产线后端校准(烧录)的流程。欢迎大家多多讨论、指正!

  • 10
    点赞
  • 43
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Study For All

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值