PDAF原理简介_pfc电路工作原理图

PDAF原理简介_pfc电路工作原理图PDAF原理原理及分类原理:是在感光芯片上预留出一些规律性对称的遮蔽像素点,专门用来进行相位检测,通过像素之间的距离及变化来决定对焦的偏移量即相位差(PD值)从而实现快速对焦。SP(shieledpixel)屏蔽掉像素一般的感光区域(黑色部分),值获得一半信号。需要另外的像素屏蔽掉另一半信号,得到完整的相位差信息。SP越多,对焦越快,但信号损失越严重,目前SP密度控制在1%~3%。屏蔽掉像素一般的感光区域(黑色部分),值获得一半信号。需要另外的像素屏蔽掉另一半信号,得到完整的相位差信息。S

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

1.PDAF原理

原理:是在感光芯片上预留出一些规律性对称的遮蔽像素点,专门用来进行相位检测,通过像素之间的距离及变化来决定对焦的偏移量即相位差(PD值)从而实现快速对焦。

1.1PDAF系统框图

PDAF系统框图

1.2 PDAF 分类

1.2.1 单PD(shieled pixel)

屏蔽掉像素一般的感光区域(黑色部分),值获得一半信号。需要另外的像素屏蔽掉另一半 信号,得到完整的相位差信息。SP越多,对焦越快,但信号损失越严重,目前SP密度控制在1%~3%。
屏蔽掉像素一般的感光区域(黑色部分),值获得一半信号。需要另外的像素屏蔽掉另一半 信号,得到完整的相位差信息。SP越多,对焦越快,但信号损失越严重,目前SP密度控制在1%~3%。
在这里插入图片描述
在这里插入图片描述

1.2.2 双PD(Dual Pixel)

将同一个像素底部的感光区域(即光电二极管)一分为二,在同一个像素内即可完成相位信 息捕获。dual PD 也有叫 2PD、全像素双核对焦,这种像素覆盖率100%,所以对焦体验最佳。但由于将光电二极管一分为二,井口变小,FWC急剧衰减,dynamicrange衰减严重,拍照 非常容易过曝。三星凭借优秀的ISP和调试能力过曝控制的还可以,但金立M2017驾驭能力就稍弱了。但单从对焦来说,dual PD>2*1PD>shield pixel,这种优势尤其体现在暗环境下对焦的稳定性上,比如10lux/5lux/1lux这些极暗环境下的对焦。

使用两个光电二极管(即两个检测点)
把两个光电二极管放在一个像素井内(即成对出现 )分别读取两个二极管内的信息(即每个只取一半)也就是说之前需要两个像素并且各遮一半才能组成一组对焦点,现在不需要了,对光线利用率也很高。对焦时开一个二极管,成像时两个二极管拼起来同时使用。使用这种方法能彻底解决掩蔽式相位对焦“挖像素”带来的掉画质问题,并且理论上可以做到所有像素都能参与对焦

优点:暗光对焦能力非常强悍 不需要额外相位对焦像素 画质表现接近反差对焦传感器 而且可以生成深度图供景深处理,是目前手机上较为理想的解决方案
缺点:全像素采样视频模式下不能相位对焦

1.2.3

简单分析三种PDAF技术:

1.shield pixel
屏蔽掉像素一般的感光区域(黑色部分),值获得一半信号。需要另外的像素屏蔽掉另一半 信号,得到完整的相位差信息。 SP越多,对焦越快,但信号损失越严重,目前SP密度控制在1%~3%。

2.super PD
将相邻的像素共用一个on chip microlens得到相位差信息,一般在Green上处理。 同样的,二合一的PD越多,对焦越快,但信号损失越严重,目前密度也控制在1%~3%

3.dual PD
将同一个像素底部的感光区域(即光电二极管)一分为二,在同一个像素内即可完成相位信 息捕获。dual PD 也有叫 2PD、全像素双核对焦,这种像素覆盖率100%,所以对焦体验最佳。但由于将光电二极管一分为二,井口变小,FWC急剧衰减,dynamic
range衰减严重,拍照 非常容易过曝。

但单从对焦来说,dual PD>2*1 PD>shield
pixel,这种优势尤其体现在暗环境下对焦的稳定性上,比如10lux/5lux/1lux这些极暗环境下的对焦。另外,即使是同一种PDAF,受microlens的设计、像素大小、用于PD的color filter、sensitivity、Fab制程等因素影响,各家的效果还是不一样。

2.高通PDAF校准流程

2.1 gain map介绍

由于shiled pixel一半被遮盖住,感光面积只有正常pixel感光能力的一半,所以感光能力要比正常的pixel感光能力弱,gainmap就是对遮蔽pixel做感光能力的补偿
在这里插入图片描述

2.1.2 gain map校准流程

  1. 将马达推到远近焦中间位置
  2. 下寄存器打开PD点
  3. 自动AE到指定的曝光值
  4. 取一张raw10图片
  5. 调用高通的DLL计算出应该补偿的数值
  6. 把增益写入OTP

有些Sensor的PD Pixel都是G Pixel,有的是R、B Pixel,有的是B、G Pixel,故不同芯片的数据左右差异大小不同。

2.2 PDAF DCC

相位视差和镜头运动之间的转换用离焦转换系数(DCC)表示,其单位为dac/pixel。
在这里插入图片描述

DCC为一个无符号量,以正值的形式存储在eeprom中。如果PDAF校准工具输出的DCC的值为一个负值,则会返回一个错误代码,表示校准结果无效。在sensor配置中,左右PD点配置错误可能会导致这种情况

在这里插入图片描述

像素的视差以像素为单位表示,计算得到的位移量是一个相对值,表示镜头需要移动多少距离,而不是表示镜头当前所在的位置,PD值有正负之分,PD值决定马达的位移方向,当PD值等于0时,图像是最清晰的

2.3 DCC Calibration

2.3.1 校准chart

DCC校整可以使用菱形chart或者条形chart进行测试
线条chart ,和菱形chart相比,条形chart可以获得更均匀的相位差数据,DCC校准Chart是校准DLL所需要输入的工具之一,对于垂直放置PD点的sensor,推荐使用水平的线条测试Chart

2.3.2 测试距离

DCC校准推荐的相机模组到测试chart的推荐距离位置在 AF_cal_inf到af_cal_near中间的位置,大多数摄像头模组设计的测试距离在20cm到30cm,在使用长焦镜头的camera模组中,这个测试距离有可能会达到2m
camera视场角覆盖测试图活动区域的85%-95%,如下图所示。
在这里插入图片描述
正确使用测试chart,避免DCC校准过程中的系统误差,从而导致PDAF性能问题。测试图尺寸不合适,测试图旋转/或倾斜,以及过度曝光导致常见的DCC校准错误。下图显示了正确使用测试图的例子,以及常见的测试图问题。在这里插入图片描述

2.3.3 DCC校准过程

Lens从远焦移动到近焦总共移动9步,在镜头移动过程中,会获取十张图片,从这十张图片中获取十个相位差的值和10个焦距值,用这些数据进行线性回归,得到DCC值,图像被划分为6X8个区域,从而形成6X8DCCmap,如下图所示:
在这里插入图片描述

2.3.4 校准流程:

  1. 打开PD点
  2. 马达推到远近焦中间位置
  3. AE曝光
  4. 获取Gain map数据
  5. 从远焦到近焦取十张图片
  6. PDAF第二步计算DCC
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/196309.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 《PRML》学习笔记2.2——多项式分布和狄利克雷分布

    《PRML》学习笔记2.2——多项式分布和狄利克雷分布  上回讲完了伯努利分布、二项分布和Beta分布,以及从最大似然估计的非参数化思想和引入共轭先验,使得参数变成一个变量,建模求解的参数化方法两方面介绍了求解模型参数的方法。没有读过的朋友可以参考:《PRML》学习笔记2.1——伯努利分布、二项分布和Beta分布,从贝叶斯观点出发  今天将为大家介绍两个更难理解的分布——多项式分布和狄利克雷分布。1.多项式变量和多项式分布  …

    2022年10月12日
  • miniconda可以运行python吗_pycharm怎么配置anaconda环境

    miniconda可以运行python吗_pycharm怎么配置anaconda环境一,Pytorch环境安装打开已经装好的miniconda,用condaenvlist命令查看有哪些已经配置好的环境。如图所示,目前显示有两个环境。创建虚拟环境condacreate-n环境名字(英文)python=x.x(python版本)如:condacreate-npytorchpython=3.7用命令condaactivate虚拟环境名称,进入环境。安装pytorch环境,可以在官网查看相应的命令。这里选用的是cpu版本,命令如下:condain

  • 如何查看linux系统内核版本_centos7内核版本

    如何查看linux系统内核版本_centos7内核版本1.查看Linux系统版本cat/etc/issue或者cat/etc/redhat-release示例:[root@localhostgrafana]#cat/etc/issueCentOSrelease6.5(Final)Kernel\ronan\m2.查看Linu

  • maven 菜鸟安装教程「建议收藏」

    maven 菜鸟安装教程「建议收藏」文章目录Maven是什么Maven安装Maven设置环境变量配置总结Maven是什么maven是一套用来管理jar包的软件,在Maven项目里面有个pom.xml文件,这是这个maven的配置文件,里面可以导入各种你需要导入的依赖,然后maven就能找到相关的依赖在你的本地库,本地库没有就在中央仓库下载,然后保存到本地库,十分方便Maven安装网上找到资源,一般是压缩包,解压即用Maven设置软件–>conf–>setting.xml进入setting.xm

  • navicat prenium最新激活码 mac【最新永久激活】「建议收藏」

    (navicat prenium最新激活码 mac)好多小伙伴总是说激活码老是失效,太麻烦,关注/收藏全栈君太难教程,2021永久激活的方法等着你。IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.cn/100143.html1STL5S9V8F-eyJsaWNlbnNlSW…

  • mt4编程语言 c语言,MT4编程之MQL4编程语言介绍[通俗易懂]

    mt4编程语言 c语言,MT4编程之MQL4编程语言介绍[通俗易懂]语言介绍MetaQuotesLanguage4(MQL4)是一种新的内置型程序用来编写交易策略。这种语言可以创建你自己的智能交易,使自己的交易策略能够完全自动地执行。而且,MQL4还能自定义客户指标,脚本和数据库。内包含了大量可以分析当前及历史报价所必须的函数,以及一些基本的运算和逻辑操作。并内置了一些基本的指标和操作命令。MetaEditor4集合了编写MQL4程序代码的各种语句,它…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号