• 【camera】【摄像头模组】摄像头模组的PDAF相位对焦


    摄像头模组的PDAF对焦

    参考链接:摄像头模组 PDAF对焦(Phase Detection Auto Focus)
    如有侵权请联系。

    PDAF功能的实现用到shield pixel的概念,包括right-half-shieldleft-half-shield,最近各大厂家设计的芯片中也有top-half-shieldbottom-half-shield。起到模仿左右眼的功能,shield pixel都是成对出现,如下:
    在这里插入图片描述

    shield piexls主要分布在芯片居中的范围内,不同厂家的组织方式不同,比如有的芯片以32*32的pixel array为一个block,shield pixel在这一个block的占比为1/64,也就是一个block中有16个shield pixel,亦即有8对shield pixel。

    终端使用PDAF前需要模组厂进行校正,通常包括SPC(Shield Pixel Calibration)DCC(Defocus Conversion Coefficient)

    • SPC是为了校正shield pixel,为了实现PDAF功能,shield pixel像素被遮挡了一半,这导致像素接收到的光信号比正常的像素要弱一些,为了达到正常的像素的水平,需要对此类型的像素增加额外的增益,称为SPC。

    如下左图两条虚线分别表示left shield pixelright shield pixel,通过调整pixel的增益,使shield pixel像素值与其它正常的像素值一致。

    SPC校正时在均匀光源下,抓取图像后通过插值获得各个对应位置的增益,并把此增益写入OTP中,这部分OTP数据也成为SPC map,通常有两份map,right-spcleft-spc

    在这里插入图片描述

    如下是某个PDAF中SPC map的组织方式,将成像区域分为9 * 7个block,其中每个block包含512 * 512pixel。最左上角的第一个block中心点为(280,212)。这63个blocks的中心点被称为knots,生成63个插值后的数据,数据大概计算方式为 G P i x e l / P D p i x e l G_{Pixel}/PD_{pixel} GPixel/PDpixel

    在这里插入图片描述

    • DCC功能是生成DAC与Focus的系数关系,进而实现PDAF功能。实际是通过左右shield pixel之间的差异将被摄物映射到镜头移动距离中的某个位置,系统进行对焦时,需要将检测到的相位差(phase difference)转换为离焦率(Defocus value),这个转换过程应用到的表单数据称为DCC(Defocus conversion coefficient)。

    DCC的测试计算方式包括:

    • 在每个DAC位置记录当前的相位差;
    • 完成对焦星辰过后取对焦DAC与获得的PD数据计算( P D / D A C PD/DAC PD/DAC);=;
    • 生成的相近的比值记为k,DAC与PD组成的二维数据进行描线可以通过算法你和出逼近斜率为k的直线;

    由于模组之间的差异,DCC需要每一颗模组都测量,由于shading等的问题,同一颗模组的四周与中心同样存在差异,不能用同一个系数进行转换,四周的系数会比中心的系数高一些;一般会把图片分为M * N个blocks,每个block通过上面的计算方式获得单独的K。后面计算离焦率和离焦系数与相位差之间按照如下换算: D e f o c u s v a l u e = P h a s e d i f f e r e n c e ∗ c o e f f i c i e n t Defocus value = Phase difference * coefficient Defocusvalue=Phasedifferencecoefficient

    在这里插入图片描述

    PDAF检测过程:

    1. 获得被摄物体对焦位置的某一行或若干行的数据信息;
    2. 读取right-half-shieldleft-half-shield数列信息;
    3. 使用right-half-shieldleft-half-shield生成的数列和1中获取的行信息进行卷积分计算(卷积分计算使原来行信息只携带对应卷积序列的信息);
    4. 将卷积后的两个新数列做平滑微分插值等预处理,获得两个平滑且相对应唯一的数据;
    5. 将这俩数据的相位差传入系统中,应用PDAF库及DCC数据进行计算获得离焦率;
    6. 通过离焦率向马达下达对应DAC动作的指令并完成对焦;
  • 相关阅读:
    【Java系列】SpringBoot 集成MongoDB 详细介绍
    系列文章|云原生时代下微服务架构进阶之路 - Spring Boot
    leetcode 532. 数组中的 k-diff 数对
    网页语音合成API运行无效果问题处理
    HIVE和HBASE的区别和联系
    Linux系统访问卡顿 慢
    零基础自学SQL课程 | 窗口函数
    实现动态表单的一种思路 | 京东云技术团队
    【SQL刷题】Day4----SQL计算函数专项练习
    SAP 电商云 Spartacus UI 的 Product Category Navigation UI 实现
  • 原文地址:https://blog.csdn.net/sinat_41752325/article/details/127615036