在实际情况中, 某些条件下相位差计算无法足够精确, 所以将其切换到对比度 AF 以执行精确搜索。 新的混合 AF 架构控制 PDAF 与对比度 AF 之间的切换。 HAF 成功收敛后, PDAF会切换为对比度 AF。 可通过以下日志对此进行验证
关键字: af_pdaf_focus_converge
03-31 16:09:05.713 888 1205 V CamX : [ VERB][STATS_AF ] af_haf_pdaf.cpp:3828: af_pdaf_is_focus_converge_done defocus=13, focus_converge_done_thres=19, focus_converge_done=TRUE
03-31 16:09:05.713 888 1205 V CamX : [ VERB][STATS_AF ] af_haf_pdaf.cpp:3434: af_pdaf_focus_converge Converge done. Go to fine scan**
03-31 16:09:05.715 888 1205 V CamX : [ VERB][STATS_AF ] af_caf_search.cpp:933: af_caf_search Entering HAF fine search!
03-31 16:09:05.715 888 1205 V CamX : [ VERB][STATS_AF ] af_haf_fine_search.cpp:406: af_caf_fine_srch_start SETUP: cur 279, near 282, far 301 stats_selected 0
03-31 16:09:05.717 888 1205 V CamX : [ VERB][STATS_AF ] af_haf.cpp:2036: af_haf_focus_converge HAF_CONVERGE_STATUS: 1
Chromatix 7 AF tuning parameters
HAF 参数说明
参数名称 | 说明 | 调试 |
---|---|---|
Enable Section | 混合AF算法使能标记 | 置1启用深度算法 |
Stats Select | 不同统计类型(HW1、HW2、SW) | 选择期望启用的统计类型 |
Fine Search Drop Threshold | 用以确定考虑峰值丢弃所需要对焦值下降的阈值 | 增大:更易终止精确搜索或找到峰值。减小:更难终止,更多失真,但更稳定 |
Fine Step Size | 精确搜索的镜头移动步长 | 使用与single AF相同的步长开始 |
Max Move Step | 马达在稳定时间充足的情况下支持的最大镜头移动距离 | 马达在稳定时间标准内移动镜头的最大能力相关。镜头dac移动线性范围的 30% |
Max Move Step Buffer | 镜头移动略大于max move step情况下,额外允许的镜头移动步长 | 设为Max Move Step 的25%,并保证其大于精确搜索步长。 |
Base Frame Delay | HAF处理的总体帧延迟 | 如果深度信息不可靠或者马达的稳定时间大于 15 ms, 则设置为 1 |
精细搜索扩展特性允许在某个基于深度的算法(即PDAF、TOF、DCIAF)提供的搜索范围之外找到峰值。一般来说,算法会进行粗略搜索
(也称为焦点收敛),然后为基于对比的精细搜索提供一个范围。很多时候,精细搜索的范围在找到真正的FV峰值之前就结束了。
精细搜索扩展参数扩展了基于深度的精细搜索算法的搜索范围。如果启用了扩展,精细搜索将评估FV曲线趋势,以确定是否找到峰值。
如果FV趋势表明没有找到峰值,则按照精细搜索扩展参数指定的方式继续搜索。
PDAF3对于DCIAF,它是可选的,如果使用PDAF类型1或2,则不建议使用。
参数名称 | 说明 | 调试 |
---|---|---|
AF Fine Search Extension | 用以启用和配置延申精确搜索范围方法的结构 | Max_fine_srch_extension_cnt – 确定延伸的次数,Num_near_step – 确定向近端延伸的精确搜索步数,Step_size – 延伸期间使用的步长,Decrease_drop_ratio – 延伸期间的丢帧率阈值 |
Max_fine_srch_extension_cnt | 设置可扩展精细搜索的最大次数的限制。搜索只扩展,直到计数或下降drop_ratio达到 | |
Num_near_step | 确定向近端延伸的精确搜索步数 | 默认值 |
Num_far_steps | 确定向远端延伸的精确搜索步数默认值 | |
Step_size | 需要扩展的情况下用于确定搜索范围的步长。 | 数值越大, 搜索范围越大, 因此搜索次数也将增多 |
Decrease Drop Ratio | 下降丢帧率用于确定搜索停止标准。 如果当前帧fv 与上一帧 fv 之比小于 decrease_drop_ratio,则搜索停止。 | 数值越大, 越容易找到峰值, 但也越容易受噪声影响。 |
Max_fine_srch_extension_cnt:
如果由 PDAF/TOF提供的范围是 [200, 230], 而当前镜头位置是 200, 则在200 到 230 的范围内进行搜索; 如果一直增大
FV 趋势, 则意味着峰值会超过 230; 因此现在会将范围扩展为 [230, 260] 并执行搜索; 如果未找到峰值, 则会再次将范围扩展为 [260,290]; 现在已进行了两次扩展。 如果max_fine_srch_extension_cnt 设为 3, 则会进行三次扩展。