027、从imx298到imx989的镜头设计进化论——1英寸sensor对镜头的后焦距/主光线角/畸变要求到底变了什么——大靶面镜头的系统工程代价 027、从imx298到imx989的镜头设计进化论——1英寸sensor对镜头的后焦距/主光线角/畸变要求到底变了什么——大靶面镜头的系统工程代价去年秋天我蹲在松山湖的实验室里手里捏着一颗刚从产线退回来的镜头模组FPC排线都还没撕干净镜头上沾着指纹像极了刚打完架的少年。客户反馈说用imx989的模组在暗光下拍路灯画面边缘出现了一圈诡异的紫色光晕不是紫边是那种从画面四角蔓延开来的、像墨水洇湿宣纸一样的色偏。我第一反应是IR滤光片镀膜出了问题但换上同批次另一颗镜头问题依旧。后来把sensor从imx766换回imx298同样的镜头紫晕消失了。那一刻我意识到问题不在镜头本身而在镜头与sensor的“婚姻关系”上——大靶面sensor对镜头的后焦距、主光线角、畸变的要求根本不是小靶面时代的线性外推而是整个光学系统的重构。先说说后焦距这件事。imx298的靶面对角线大约6.4mmimx989直接干到15.86mm面积差了六倍多。很多人以为后焦距就是镜头最后一枚镜片到sensor表面的距离只要机械结构能塞下就行。但真正的坑在于后焦距决定了光线在到达sensor前的“汇聚锥角”。小靶面时代后焦距可以做得比较短因为sensor的像素尺寸大imx298是1.12μmimx989是1.6μm对入射光的角度容忍度相对宽松。但imx989的像素虽然大了可它用了四合一像素合并实际等效像素尺寸是3.2μm这反而让微透镜的聚光效率对入射角更敏感——因为微透镜的曲率半径和像素开口的匹配关系在像素尺寸变大后主光线角CRA的偏差会导致边缘像素的感光效率急剧下降不是线性下降是那种指数级的塌方。我踩过一个坑。当时为了追求模组总高更薄把后焦距从5.2mm压到4.8mm结果imx989的边缘CRA从35度飙到38度sensor端微透镜的CRA匹配曲线是35度封顶的超了3度边缘亮度直接掉了18%。你以为18%只是暗一点不边缘的暗角会触发ISP的局部增益补偿增益一拉噪点跟着放大暗部彩噪像雪花一样飘。后来我把后焦距调回5.1mmCRA回到34.5度边缘亮度恢复了但模组总高多了0.3mm结构工程师当场脸就绿了。这就是大靶面的第一笔代价——你为了塞下更大的sensor镜头后焦距必须拉长否则CRA匹配就是死局而拉长后焦距意味着镜筒变长、模组变厚、手机内部堆叠空间被挤压整个结构设计都得推倒重来。再说主光线角。小靶面时代镜头设计可以容忍CRA在边缘达到40度甚至更高因为sensor的微透镜阵列本身有偏移补偿pixel shift而且像素开口率大光线斜着进来也能被吸收。但imx989这种1英寸级别的sensor微透镜的偏移补偿是固定的出厂就焊死在硅片上你没法改。镜头端必须主动把CRA控制在sensor规格书要求的范围内通常是33度到35度之间。这意味着什么意味着镜头的光阑位置必须后移让主光线在像面上的入射角更平缓。光阑后移的代价是前组镜片的有效口径变大镜片厚度增加重量上去了对焦马达的驱动力矩要求也高了。我见过一个方案为了把CRA从37度压到34度设计团队把光阑后移了0.8mm结果前组第一枚镜片的口径从8mm涨到11mm镜片重量翻倍VCM马达的推力不够对焦速度从30ms掉到55ms抓拍运动物体全是糊的。这就是系统工程——你调一个参数后面跟着一串连锁反应像多米诺骨牌。畸变这块imx298时代镜头畸变控制在2%以内就算合格因为sensor小畸变在画面上的绝对像素偏移量小后期算法校正一下就行。但imx989的靶面大了同样的2%畸变在画面边缘的绝对偏移量是imx298的两倍多算法校正后虽然几何位置能拉回来但校正过程中会引入分辨率损失和色彩插值误差尤其是画面边缘的细纹理校正后会出现“揉皱”的痕迹。我做过对比测试同一颗镜头装在imx298上畸变1.8%边缘画质几乎无损换到imx989上同样的畸变边缘的线条校正后出现明显的锯齿和伪色。所以大靶面镜头的畸变必须压到1%以内甚至0.8%。但畸变压得越低镜头的场曲和像散就越难平衡因为畸变和场曲在光学设计里是互相牵制的——你压畸变场曲就翘起来边缘画质就崩。我见过一个团队为了把畸变从1.5%压到0.9%把最后一片镜片的非球面系数调了十几版结果畸变是达标了但边缘的MTF从0.6掉到0.4画面边缘像蒙了一层雾。这里有个更隐蔽的坑是关于相对照度的。大靶面sensor的像素面积大但边缘光线到达sensor的路径更长cos⁴定律的衰减更明显。imx298时代边缘照度做到50%就算及格因为像素大暗一点还能靠增益拉回来。但imx989的边缘照度如果只有50%那边缘的SNR会差到没法看——因为大像素的满阱容量大但暗电流也大增益一拉暗电流噪声跟着放大边缘全是横纹。所以大靶面镜头的相对照度必须做到60%以上这要求镜头的光阑位置和镜片曲率配合得极其精准稍微偏一点边缘照度就掉。我调过一颗镜头相对照度从58%提到63%只改了第二枚镜片的中心厚度0.02mm但整个镜头的像面弯曲跟着变了边缘的MTF又掉了一截最后只能重新平衡。再说一个很多人忽略的点——镜头的后焦距公差。小靶面时代后焦距公差可以放到±0.05mm因为sensor的焦深大。但imx989的像素虽然大了可它的微透镜阵列对焦面位置极其敏感后焦距偏0.03mm边缘的CRA匹配就崩了出现那种“边缘发紫”的现象——就是我在松山湖实验室里看到的那一幕。后来我查了sensor的datasheet发现imx989的微透镜阵列设计是假设后焦距在5.0mm±0.02mm的范围内超出这个范围边缘像素的感光效率会急剧下降而且这种下降是波长相关的——红光波长长穿透深受影响小蓝光波长短穿透浅受影响大所以边缘会偏紫。这就是为什么那颗镜头在imx298上没问题换到imx989上就紫晕——因为imx298的微透镜对后焦距不敏感而imx989敏感得像个处女座。那怎么解决我当时做了三件事。第一把镜头模组的后焦距公差从±0.05mm收紧到±0.02mm这要求镜筒的加工精度提升一个等级成本涨了15%但边缘紫晕消失了。第二在镜头设计阶段把CRA的余量从1度加到2度也就是说目标CRA是33度但设计时按31度来优化这样即使后焦距有偏差CRA也不会超过35度的红线。第三跟sensor厂商要了微透镜的CRA实测曲线不是规格书上的标称值而是他们产线上抽测的分布数据用这个分布数据去优化镜头而不是用理想曲线。这三件事做完紫晕问题彻底解决但模组成本涨了20%良率掉了5个点。最后说点个人经验。大靶面镜头的设计本质上是一场“妥协的艺术”你不可能同时拿到大光圈、低畸变、高相对照度、短后焦距、小体积——这五个参数是互相打架的。我的建议是先定CRA和后焦距这两个是硬约束不满足就换方案然后定畸变和相对照度这两个是软约束可以靠算法补偿一部分最后才考虑光圈和体积因为这两个是体验参数可以在后期调优。另外千万别迷信sensor厂商给的参考设计那些参考设计是给“通用场景”用的你的手机是超薄机还是厚机散热条件不同镜头的热膨胀系数不同后焦距的漂移也不同。我见过一个项目冬天在哈尔滨测试后焦距漂了0.04mm边缘紫晕又回来了后来在镜筒材料里加了钛合金骨架才压住热漂移。这就是大靶面的系统工程代价——你买的不是一个sensor是一整套需要重新平衡的光学、结构、热学、算法系统。