1. AF基础概念与RK平台概述
各位好,欢迎来到《RK平台AF对焦性能优化与场景适配》的第一章。做相机系统优化这么多年,我始终觉得——自动对焦是用户体验里最敏感的一环。你想想看,用户按下快门,如果画面糊了,第一反应就是「这手机拍照不行」。所以,搞懂AF的基础,是后面所有优化的地基。
1.1 自动对焦的基本原理
自动对焦,说白了就是让镜头动起来,找到最清晰的那个位置。相机传感器看到的是一幅图像,图像清晰与否,本质上取决于镜头到成像面的距离是否准确。
我习惯把对焦过程拆成三步:
- 测量——判断当前画面是否清晰
- 计算——算出镜头该往哪个方向走、走多少
- 驱动——让马达把镜头推到目标位置
这三步循环执行,直到画面清晰为止。不同的AF技术,主要区别就在「测量」这一步。
核心指标:对焦速度、对焦精度、对焦稳定性。这三者往往需要权衡——速度快了精度可能下降,精度高了又容易来回震荡。
1.2 对比度对焦(CDAF)
CDAF是最传统的方式。它通过分析图像中边缘的对比度来判断是否合焦。对比度越高,画面越清晰。
具体做法是:镜头从近到远扫一遍,每到一个位置就计算当前画面的对比度值。找到对比度最高的那个位置,就是合焦点。
我在项目中遇到过一个问题:CDAF在光线充足时表现还不错,但一旦到了暗光环境,对比度信息变得很弱,镜头就像没头苍蝇一样来回扫。而且它天生不知道方向——你永远不知道当前是往前还是往后走才能更清晰。
| 特性 | CDAF |
|---|---|
| 精度 | 高(理论上可达像素级) |
| 速度 | 慢(需要来回扫描) |
| 暗光表现 | 差(对比度信息弱) |
| 方向判断 | 无(只能盲扫) |
我的经验:CDAF最适合静态场景,比如拍文档、拍风景。如果场景中有运动物体,CDAF很容易跟不上。
1.3 相位对焦(PDAF)
PDAF的出现,解决了CDAF最头疼的两个问题:速度和方向。
它的原理有点像人的双眼——通过两个不同位置的像素点接收到的光信号,计算出相位差。这个相位差直接告诉你:镜头是往前还是往后,差了多少距离。
嗯,这里要注意:PDAF像素是牺牲了成像像素换来的。每个PDAF像素只负责对焦,不参与最终成像。所以PDAF像素越多,对焦越好,但成像质量可能会受一点影响。
我记得RK平台上的PDAF方案,通常是在sensor端做像素掩膜。RK的ISP里有一个专门的PDAF处理模块,负责从raw图中提取相位信息,然后算出defocus值。
| 特性 | PDAF |
|---|---|
| 精度 | 中等(受像素间距限制) |
| 速度 | 快(一次计算即可知方向) |
| 暗光表现 | 一般(PDAF像素感光面积小) |
| 方向判断 | 有(相位差直接指示) |
避坑指南:我曾经在调试一款RK3588的平板时,发现PDAF在低照度下频繁失效。后来查了半天,发现是PDAF像素的增益没跟上主像素。解决办法是把PDAF通道的模拟增益单独拉高,但要注意噪声也会被放大。
1.4 激光对焦(LDAF)
LDAF是另一种思路——它不依赖图像信息,而是直接测距。通过发射激光束,测量反射回来的时间,算出物体到镜头的距离。
它的优势很明显:
- 极暗光下也能工作——激光不依赖环境光
- 速度极快——一次测量就能得到距离
- 适合微距——近距离精度很高
但缺点也很致命:
- 测距范围有限——通常只有几米
- 受物体材质影响——黑色吸光物体、镜面反射物体会导致测距失败
- 功耗较高——激光发射器需要额外供电
在RK平台上,LDAF通常作为辅助对焦手段。我习惯的做法是:在暗光场景下优先用LDAF做粗调,然后切换到CDAF做精调。
1.5 RK平台ISP与AF硬件架构概览
好了,聊完了AF的基本原理,我们来看看RK平台是怎么把这些技术落地的。
RK的ISP架构里,AF是一个独立的硬件模块。它不占用CPU资源,所有对焦计算都在ISP内部完成。这一点很重要——你想想看,如果对焦计算还要经过CPU,延迟就大了。
我画了一张架构图,方便大家理解:
从这张图可以看到几个关键点:
- Sensor 输出raw数据给ISP
- ISP 内部做图像处理的同时,把统计信息送给AF模块
- AF硬件模块 独立计算对焦值,直接驱动VCM马达
- CPU 只负责策略调度,不参与实时计算
在RK3588、RK3568这些芯片上,AF模块支持CDAF和PDAF两种模式。你可以通过配置寄存器来切换,也可以做混合对焦——先用PDAF快速粗调,再用CDAF精调。
我的建议:刚开始接触RK平台AF时,先读一下TRM(Technical Reference Manual)里关于ISP和AF的章节。重点关注AF模块的寄存器映射和中断机制。我当年就是靠啃TRM才搞明白PDAF的校准流程。
1.6 三种AF技术的对比总结
最后,我把三种AF技术放在一起做个对比,方便大家在实际项目中做选型:
| 维度 | CDAF | PDAF | LDAF |
|---|---|---|---|
| 原理 | 图像对比度分析 | 相位差检测 | 激光飞行时间测距 |
| 速度 | 慢(需扫描) | 快(单次计算) | 极快(毫秒级) |
| 精度 | 高 | 中等 | 中等(受测距精度限制) |
| 暗光表现 | 差 | 一般 | 好 |
| 方向判断 | 无 | 有 | 有(直接距离) |
| 硬件成本 | 低(纯算法) | 中(需特殊像素) | 高(需激光模组) |
| 适用场景 | 静态、文档、风景 | 日常拍照、运动物体 | 暗光、微距、辅助对焦 |
好了,第一章的内容就到这里。这一章我们理清了AF的基本概念,也看了RK平台的硬件架构。后面我们会一步步深入,从驱动调试到算法优化,再到场景适配——每一章都会有不少实战干货。