1、相位对焦基础:PDAF原理、像素结构、微透镜与掩膜技术

各位好,我是负责这次课程的老周。做影像系统这些年,我经手过不少对焦翻车的案子——有些是拍出来整个画面糊的,有些是特定距离下反复拉风箱。追根溯源,大部分问题都出在相位对焦的基础理解上。今天咱们就把 PDAF 的底裤扒干净。

1.1 为什么需要相位对焦?

传统反差对焦(CDAF)说白了就是“爬山算法”。马达带着镜头来回跑,每到一个位置就判断画面清晰度,直到找到对比度最高的点。这过程就像瞎子摸象,效率很低。

我印象很深,2015 年有一款旗舰机,夜景对焦能拉风箱 3 秒。用户拍小孩,等对上焦孩子早跑没影了。这就是 CDAF 的硬伤——它不知道目标在哪,只能试。

相位对焦(PDAF)不一样。它直接告诉你:焦点偏前还是偏后,偏了多少。马达一步就能走到位,不需要来回试探。

核心差异一句话:CDAF 是“试错”,PDAF 是“计算”。

1.2 PDAF 原理:分光与相位差

PDAF 的原理其实不复杂。你想想看,人眼判断距离靠什么?靠两只眼睛看到的画面有视差。PDAF 也是这个逻辑——它在一个像素上模拟了“两只眼睛”。

具体怎么做?在像素上方加一个微透镜,再在下方用掩膜挡住一半感光区域。左半像素只能看到右侧光线,右半像素只能看到左侧光线。这样一对像素就构成了一个“相位检测点”。

当镜头准确对焦时,左右像素接收到的光强相等。当焦点靠前(前焦)时,左侧像素更亮;焦点靠后(后焦)时,右侧像素更亮。通过比较这对像素的亮度差异,就能算出偏移方向和大小。

我个人习惯:把左右像素的亮度差画成一条 S 曲线。曲线过零点就是合焦位置。这条曲线的斜率,直接决定了对焦精度。

1.3 像素结构:掩膜式 vs 双光电二极管

实现 PDAF 的像素结构主要有两种。我列个表,大家对比着看:

类型 实现方式 优点 缺点 典型应用
掩膜式(Masked PDAF) 微透镜下方用金属掩膜遮挡一半感光区 结构简单,工艺成熟 损失进光量,暗光性能差 早期手机、部分安防
双光电二极管(2PD / Dual PD) 一个像素内集成两个独立光电二极管 不损失进光量,全像素支持 工艺复杂,像素尺寸难做小 旗舰手机、单反

掩膜式有个致命问题——它把一半感光面积浪费了。我做过测试,掩膜式 PDAF 像素的感光能力只有普通像素的 50% 左右。暗光下这些像素基本是废的,只能靠插值补。

双光电二极管(Dual PD)就好很多。它把每个像素从中间劈开,分成左右两个二极管。两个二极管共享同一个微透镜,进光量一点没少。这就是为什么现在旗舰机都在推“全像素双核对焦”。

避坑指南:我曾经遇到过一个项目,Dual PD 像素在强光下出现“串扰”——左右二极管互相漏电,导致相位差计算不准。后来发现是隔离沟槽深度不够。所以做 Dual PD 设计时,像素间隔离一定要留够余量。

1.4 微透镜与掩膜技术详解

微透镜是 PDAF 的“眼睛”。它的作用是把入射光线汇聚到感光区上。对于普通像素,微透镜把光均匀分散到整个感光区。对于 PDAF 像素,微透镜要配合掩膜实现“分光”。

微透镜有几个关键参数:

  • 曲率半径:决定了光线的汇聚角度。曲率越大,汇聚越强,但边缘光线容易偏折到隔壁像素。
  • 透镜偏移:对于边缘视场,光线是斜入射的。微透镜需要向中心偏移,否则光线打不到感光区上。这个偏移量我一般用“视场角 × 像素间距”来估算。
  • 材料折射率:常用材料是光刻胶或 SiO₂。折射率越高,同样曲率下汇聚能力越强。

掩膜技术就更有意思了。早期掩膜是金属的(铝或钨),直接挡住一半感光区。后来为了减少反射,改用“吸收型掩膜”——用黑色光刻胶或者多层介质膜。

我踩过一个坑:某款传感器用铝掩膜,结果在强光下掩膜边缘反射的光线进入相邻像素,造成了“伪相位差”。后来换成吸收型掩膜,问题才解决。

1.5 相位差计算与置信度

有了左右像素的亮度值,怎么算出相位差?常用的方法是互相关计算。

简单说,就是把左像素的亮度序列和右像素的亮度序列做滑动匹配。找到匹配度最高的偏移量,那就是相位差。

// 伪代码:相位差计算
for (shift = -MAX_SHIFT; shift <= MAX_SHIFT; shift++) {
    correlation[shift] = 0;
    for (i = 0; i < N; i++) {
        correlation[shift] += left[i] * right[i + shift];
    }
}
phase_diff = argmax(correlation);  // 找到最大相关对应的偏移量

但光算出相位差还不够。你得知道这个结果靠不靠谱。这就是置信度的概念。

置信度通常用两个指标衡量:

  • 相关峰值高度:峰值越高,说明左右像素匹配得越好,结果越可信。
  • 峰值宽度:峰值越尖锐,说明相位差分辨率越高。如果峰值很平缓,那说明场景缺乏纹理,结果不可靠。
我建议:在算法里加一个置信度阈值。低于阈值的相位差直接丢弃,改用 CDAF 或者插值。这样可以避免低纹理场景下的“乱对焦”。

1.6 知识结构总览

下面这张图把 PDAF 的核心知识点串起来了。我画的时候特意把“像素结构”和“算法”分开,因为这两块是硬件和软件工程师各自的主战场。

相位对焦知识结构图 PDAF 相位对焦知识结构 PDAF 相位对焦 分光原理 像素结构 相位差算法 微透镜分光 掩膜遮挡 左右像素对比 掩膜式 双光电二极管 互相关计算 置信度评估 金属掩膜 吸收型掩膜 共享微透镜 独立光电二极管 关键设计权衡 • 掩膜式:工艺简单但损失进光量 → 适合亮光场景 • Dual PD:全像素支持但工艺复杂 → 旗舰机标配 • 置信度评估:低纹理场景下必须降权处理,否则会误判

1.7 小结

这一章我们把 PDAF 的底子打好了。从分光原理到像素结构,从微透镜设计到相位差计算,每个环节都可能成为对焦精度的瓶颈。

嗯,这里要注意一点:PDAF 不是万能的。它在低照度、低纹理场景下依然会失效。所以实际产品里,PDAF 通常和 CDAF 配合使用——PDAF 做粗调快速到位,CDAF 做精调确保准确。