高通平台PDMultiWindow调试分析
更新记录:
V1 2021.01.22 记录高通平台PDAF功能中多窗口功能调试详细记录
关键字:
高通Qualcomm,PDAF multi-windows,多窗口,MW
本篇文章开始,笔记不在拘泥格式和排版,重点在于内容,一篇文章介绍完一个功能或一段逻辑,旨在将内容说的透彻,后续会不断迭代版本;
<PDMultiWindow>
<enable>0</enable>
<HClipRatioNormalLight>0.3</HClipRatioNormalLight>
<VClipRatioNormalLight>0.3</VClipRatioNormalLight>
<HClipRatioLowLight>0.3</HClipRatioLowLight>
<VClipRatioLowLight>0.3</VClipRatioLowLight>
<HNumWindows>3</HNumWindows>
<VNumWindows>3</VNumWindows>
<PDPercentile>0.2</PDPercentile>
<defocusThreshold>10</defocusThreshold>
<confidenceThMultiple>1.5</confidenceThMultiple>
<multiDepthDetect>
<percentile>0.08</percentile>
<detectThLow>100</detectThLow>
<detectThHigh>150</detectThHigh>
</multiDepthDetect>
<lowLightDetect>
<gainThLow>10</gainThLow>
<gainThHigh>12</gainThHigh>
</lowLightDetect>
<lockToPeripheralDuringSearch>0</lockToPeripheralDuringSearch>
<activZoomControl>
<enable>0</enable>
<zoomThreshold>1.2</zoomThreshold>
</activZoomControl>
</PDMultiWindow>
以上是在chromatixPDAF.xml中的参数;
<enablePeripheralWindows>0</enablePeripheralWindows>
这是在chromatixPDLib.xml中的一个参数;
以上就是multi window(后缩略为MW)的所有参数了;
在高通官网上有一篇关于MW的文档:kba-180501170219_1_[camera]_af_multiwindow_tuning_guide.pdf可以看看,文章写的还算完整;
该功能通过是将整个FOV视场分成多个窗口,其中心的ROI的筛选出的对焦窗口用来尝试区分中心ROI的前景和后景,而外围的窗口是在中心窗口都PDAF不可信的时候才会去做计算和抉择。
OK,那多窗口处理有两个功能:
Central Windows
前景优先:更喜欢专注于较近的物体,可以区分ROI中的前后景,可以选择优先聚焦在前景;
主要的场景有中心ROI是都多景深,前景小物体和前景镂空(网,树枝等),主要场景有:我们经常测试一只手指、一支笔,近处的花朵等在画面中心的时候想要对到它们,各种后景纹理高但想要对焦到前景的铁丝网、树枝等场景;这个功能也是MW的最重要的功能;
Peripheral Windows
外围聚焦:在检测到中心ROI物体的PDAF不可信的情况下,关注偏离中心roi的物体,也就是外围roi,因为外围ROI的PD和中心无细节的区域,基本上是处理一个光学景深范围内,这样可以使对焦体验明显提升;
当中心ROI没有细节或可信度不足时,PDlib才会开始处理计算外部八个窗口区域。 一旦中心窗口的置信度较低,PD算法会选择最佳的外围窗口并聚焦在该窗口上,而不是回退到传统CAF。
与中心前景窗口和外围窗口的主要区别在于,中心窗口被密集处理,而外围窗口被轻度处理。
外围窗口针对速度和功耗进行了优化。 可以通过调整PDLib来修改外设处理优化。
这里主要是采样的变化,pdlib里有设置为PD_PROCESSING_MODE_LOW的采样,可以降低一些MW的功耗;
适用于所有PD sensor,建议所有sensor模式在功耗允许的情况下都可以打开;
主要场景有:中心ROI是天空但外围有建筑的场景,室内白墙但外围有花草杂物等,蓝天是照相爱好者测试颜色和对比度的最佳例子和受欢迎的场景。 由于缺乏细节,蓝天对于PDAF和对比AF来说都是具有挑战性的场景。 但在大多数情况下,在树木,建筑物等外围区域会有一些细节。因此,如果蓝天的中心ROI没有细节,则外围策略将启动并开始处理外部区域以查找细节,从而避免回退CAF。
注意事项:
1.这个功能适用于2PD的sensor或者2×1 OCL PD sensor,由于PD密度的原因,对于sparse PD来说性能会很差,高通官网有详细的验证开启MW之前,测试其性能是否pass的流程,有兴趣可以看看,都是为了全面验证PD性能是否满足;
2.输出是基于前景的优先级选择最佳的ROI或外围有纹理的ROI计算出来的pd数据,每帧都会处理;可以应用在支持PDAF的各个模式,只要PDAF可靠;
3.在pdaf mutiwindow之前,CAF和single pd必须先调试完成,因为MW只是决策使用什么ROI,其移动还是走的single proc pd逻辑,而caf是给pdaf之后的fine search使用,这里主要强调,CAF的滤波器、参考点等调试OK,PDAF的pd offset校准;
下面就详细介绍所有参数的意义和使用方法:
总结:
多窗口的逻辑,高通目前做的有些功能还不稳定以及缺陷较多,打开这个功能因为是小的grid,会给af的稳定性带来一定的难度,而外围的功能又会增加不少功耗,但是这个功能的目的对于对焦体验还是比较值得研究和优化的,要比single roi pd要好的,各位调试起来需要权衡下;