
凌晨给朋友调监控图像画面里傍晚逆光的车牌白成一团车灯一亮整个画面直接过曝。他问我“不是已经开了HDR吗”我打开配置看了一眼HDR确实开着但用的是老一套多帧合成一遇到高光溢出就抓瞎。这个问题我早该想到的——传感器物理上限就在那里HDR算法只能重新分配信号造不出信号。这种时候就得把方案往传感器内部推而LOFICLateral Overflow Integration Capacitor横向溢出积分电容正是往像素里塞一个大电容、把满阱容量硬生生撑大的技术。这也是CMOS图像传感器HDR系列的第四篇前面几篇把多帧DOL、双转换增益DCG都聊透了这篇专门拆LOFIC它到底是怎么把单帧动态范围从70dB级别拉到接近100dB的结构上多了什么、时序上怎么走、和DCG/DOL对比各自的坑在哪以及我在实际调试中踩过的那些合成、标定、暗电流相关的坑。理解了LOFIC你再看那些动不动喊“HDR截图过曝”的场景就会明白很多时候不是显示端的问题而是传感器在拍摄那一刻就已经把高光信息扔掉了软件硬拉当然只会得到一片死白。1. HDR的上限问题满阱不够大再强的ISP也救不回来1.1 动态范围的本质下限是读出噪声上限是满阱容量先说清楚动态范围这件事。图像传感器的动态范围DR定义很简单最大不饱和信号除以最小可检测信号用dB表示就是DR 20 × log10(满阱电子数FWC / 读出噪声)最小可检测信号受限于读出噪声你把曝光时间拉长、增益拉高噪声也跟着放大所以往小了做很难最大不饱和信号受限于满阱容量FWCFull Well Capacity也就是光电二极管这个“杯子”最多能装多少电子装不下了就往高光处溢出形成一片惨白。普通的BSI小像素FWC大概在8000到15000个电子读出噪声好一点能做到1.5到2.5个电子算下来线性动态范围也就是70到80dB。这个范围够不够用日常逆光拍照勉强够看但安防监控面对车灯、车载摄像头面对太阳逆光、工业相机面对金属反光光比轻松超过100dB普通的FWC根本扛不住。HDR的本职工作就是想办法把“上限”往上抬或者把多帧的信息叠起来而不是靠ISP硬拉曲线。1.2 为什么说是“上限不够高”而不是“下限不够低”我见过不少团队在调HDR的时候陷入一个误区总觉得HDR效果不好是3A算法或tone mapping的问题于是拼命调曲线、调权重把暗部硬提上去高光硬压下来。但峰值高光区域的电子信息在光电转换阶段就已经溢出丢失了后期拿什么补就像你用一个小杯子去接瀑布水满了往外泼你在旁边放再多量杯去接溅出来的水花也接不回已经泼到地上的那一部分。LOFIC的思路则不在这上面打转它直接换了一个更大的“储水系统”。光电二极管本身的容量就这么大那就让多余的光生电子横向溢流到一个外置的大电容里曝光结束后把两部分电荷一起读出来、合成一帧。高光信息没有被丢弃而是被“寄存”在了电容里。这个方案把解决HDR的视角从算法搬回了像素物理层面属于真正的单帧宽动态不需要多帧曝光也就没有多帧合成的运动伪影问题。1.3 一个直观算式为什么普通像素无法兼顾暗部和亮部拿一个典型的1.0μm像素举例。光电二极管满阱10000e-读出噪声2.5e-线性DR大约是72dB。如果场景里有太阳直射或LED车灯这一片区域的光生电子量可能是阴影区的10万倍即便采用全局快门或者卷帘快门逻辑光电二极管里的电子数早就超出FWC几个数量级了。这时候你只有两个选择一是减曝光时间把高光压回来但暗部会被噪声吃掉二是保暗部高光彻底白掉。这就是所有HDR技术要解决的矛盾。DOL选择在不同曝光时间下多拍几帧再合成DCG选择在读出时切换不同转换增益LOFIC则选择把超出的电荷先用电容存起来。读者看到这里应该明白LOFIC解决的核心痛点不是“暗部提亮”而是“高光不过曝”这一条先想清楚后面所有结构和算法的理解都顺了。2. LOFIC像素的物理结构与两拍读出时序电容不是白加的2.1 比普通像素多出来的一个大电容和一根控制线LOFIC像素的拓扑结构比标准4T像素PD、TX、FD、RST、SF、RS多了一个大电容Cc外加一个控制Cc与FD之间通断的开关管常见叫法有LOFIC_SW有的工艺里直接复用DCG管。从版图上看这个电容通常占的面积比光电二极管本身还大这也是LOFIC主要用在1/1.7英寸以上大像素Sensor上的原因——手机那种0.7μm像素根本没地方塞下这么大的电容。电容的连接方式各家有差异但大体上是一个“电容一端接在FD节点上另一端接固定电位”的结构。有一些简化设计会让Cc始终挂在FD上不做断开这种像素严格来说应该叫大电容LCG像素虽然也能提高满阱但低照度段的转换增益被电容拉得很低灵敏度损失明显我后面会讲到这不是LOFIC的精髓。2.2 曝光期间满阱之后的电子怎么“流”进电容LOFIC曝光阶段的关键动作是在PD和FD/Cc之间建立一条可控的溢出通道。正常曝光时光生电子先在光电二极管里积累当积累量超过PD本身容量后多余电子不是漫到相邻像素产生blooming花斑而是通过一条专门设计的低势垒路径横向流入FD再进入Cc这个大电容。电子进了Cc因为电容很大电压变化很小不会把CCE电荷收集效率搞乱电荷就稳定存在那里。这条溢出通道的势垒非常微妙太高PD过满了电子流不出去还是会污损邻近像素太低PD还没满就开始漏暗部的线性度就坏了。实际流片时这个势垒高度往往靠TX管的偏置状态和PD注入条件联合调出来是LOFIC像素最核心的工艺诀窍之一。我接触过的几款LOFIC传感器流片回来后首先看的不是满阱而是暗光下输出是否有一截“提前拐弯”的曲线——那就是溢出势垒没调好。2.3 曝光结束后先读高增益再合并读低增益LOFIC的读出时序大体是“两拍读出”。第一拍曝光结束先断开LOFIC开关让Cc和FD隔离然后把FD复位再打开TX把PD里尚未溢出的电荷全部转到FD上这时候读出的是高转换增益信号S1对应暗部和中间调。第二拍重新打开LOFIC开关FD和Cc并联Cc里存的溢出电荷与FD上的电荷合并电位进一步下降读出低转换增益信号S2对应高光部分。注意一个细节第二拍的参考电平怎么取不是简单地把合并后的电平当S2就完事更稳妥的做法是采样“合并前FD上的电平”作为参考电平再采样“合并后”的电平二者做差。这个差值对应于Cc里电荷在并联电容(CfdCc)上造成的电压变化Q_Cc ΔV × (Cfd Cc) / q总电荷量Q_total Q_PD Q_Cc分别由第一拍的高增益信号换算和第二拍的电压差换算而来。工程上很多人觉得“高增益信号低增益信号直接拼”就行实际上两拍的转换增益不一样电荷量计算公式也不同直接拼出的亮度在拼接点附近会扭曲后面第5章我再细讲。2.4 CDS为什么还能做得回来LOFIC被高看一眼的重要原因是它在扩展满阱的同时没有破坏弱光段的相关双采样CDS能力。普通线性模式下CDS靠的是“同一帧内像素复位后先采一次参考电平再转移电荷后采一次信号电平”两次采样的kTC噪声相互抵消。LOFIC第一拍高增益读出完全符合这个过程所以暗部噪声基本等于普通线性模式不会因为“为了HDR”就把暗部噪声抬上去。第二拍虽然信号大、噪声容限高但基于合并前后的差分读出也不需要额外引入一次随机复位复位噪声不会被重复叠加。这一点相比DCG方案有明显优势——DCG的低增益拍为了建立参考电平往往需要额外复位一次那一次复位会把新的kTC噪声引入信号链导致低照度段的噪声表现变差。LOFIC的结构天然规避了这个问题。3. 三条单帧HDR路线横评LOFIC、DCG与DOL的真实分水岭3.1 DOL时间维度的堆叠动一下就穿帮DOLDigital Overlap数字多帧合成是消费级产品里最常见的HDR方案原理是把长曝光帧和短曝光帧按不同权重拼起来。优点是实现简单调参空间大缺点是只要画面里有运动物体或者手持抖动长帧和短帧之间因为时间错位运动物体边缘就会出现鬼影。另外DOL需要占据额外的时间片要么降帧率、要么提高读出带宽功耗也上去了。遇到LED车灯、LED招牌这类频闪光源长帧和短帧拍到的明暗相位不一致合成后还会出现颜色乱跳、亮度闪烁的问题。3.2 DCG面积更省但CDS成了老大难DCGDual Conversion Gain是在FD上挂一个可以切换的附加电容读完高增益再并入电容读低增益。它的核心目的不是“存储溢出电荷”而是改变FD节点的总电容进而改变转换增益。好处是结构简单附加电容可以做得很紧凑在手机小像素里也能实现不错的效果。问题是低增益拍通常需要额外的复位序列复位带来的kTC噪声会和信号噪声叠加低照度段的信噪比并不理想同时由于附加电容在曝光时往往不参与电荷收集满阱的实际扩展幅度也有限动态范围主要靠增益切换“折算”出来。3.3 LOFIC面向大像素、高动态场景的“物理派”解法LOFIC和DCG最大的区别在于LOFIC的电容在曝光期间是真正参与电荷收集的电子实实在在被存进了电容所以满阱扩展是物理层面的不是读出层面的而且两拍读出过程中的CDS机制保持得比较好暗部噪声表现更接近线性模式。代价也很直观电容面积大、像素整体尺寸大、工艺复杂度高导致成本更高。所以在手机这种面积敏感、成本敏感的领域LOFIC并不算主流在安防监控、车载摄像头、机器视觉这些对动态范围要求高、像素尺寸不受严格限制的场景LOFIC真正找到了自己的位置。我做过一个对比表格方便大家做选型参考对比项DOL多帧合成DCG双转换增益LOFIC横向溢出电容动态范围扩展方式时间多帧合成读出增益切换电荷物理存储运动伪影明显无单帧内完成无单帧内完成暗部CDS每帧可做低增益拍略受复位噪声影响高增益拍保持较好高光电荷利用率短帧单独曝光依靠增益换算电荷真实存下来像素面积代价很小中等最大典型应用领域手机、运动相机手机、部分车载安防、车载、工业3.4 新趋势LOFIC不是孤立方案组合拳才是终点这两年很多高端Sensor不再单纯依赖某一种HDR方案而是开始组合。比如“LOFIC DOL”组合先用LOFIC把单帧的DR从72dB撑到95dB左右再叠加一帧更长曝光的帧把暗部推得更深最终单帧合成DR可以做到120dB以上。车载领域对这个需求非常明确晚上同时存在路灯、对向车灯、隧道口逆光单一方案确实很难兼顾。还有人在做“LOFIC DCG”的组合把增益切换和电荷存储结合起来让像素在低照度和高照度下的表现都能接近最优。这也是为什么我说只把LOFIC当成一种独立HDR技术来理解是不够的你得理解它在整个HDR方案里扮演的“物理基础层”角色。4. 满阱扩展的工程计算Cc取多大、DR能到多少dB4.1 两条基本公式电容存了多少电子先看存储能力电容Cc收集的电子数由它自身的电容值和曝光过程中允许的电压摆幅决定Q_Cc Cc × ΔV_swing / qq是单个电子电荷量1.6×10⁻¹⁹C。假设Cc30fF30×10⁻¹⁵F曝光过程中Cc上的电压摆幅ΔV1.0V那么能存下的电子数为Q_Cc 30×10⁻¹⁵ × 1.0 / (1.6×10⁻¹⁹) 187500 e⁻如果PD本身的FWC是12000e⁻那么总有效满阱就是约20万电子。这个数量级下读出噪声只要控制在2.5e⁻单帧DR就是20 × log10(200000 / 2.5) ≈ 98dB而不加LOFIC时同款PD只有73.6dB。也就是说一个30fF的电容可以把单帧DR拉高24dB以上这个收益是非常可观的。4.2 工程举例从74dB到98dB的设计路径举个例子我调过一颗安防用的1/1.8英寸Sensor像素尺寸2.9μmPD本身FWC大约16000e⁻原片线性DR为74dB。第一次LOFIC版本Cc做了28fF曝光阶段电压摆幅按0.9V算Q_Cc≈157500e⁻总FWC约17.35万e⁻。读出噪声高增益档实测2.8e⁻计算DR约95.8dB。这个版本已经满足客户“单帧不运动伪影、典型场景不低于95dB”的需求。第二次改版时客户希望把DR推到100dB以上我们把Cc加大到40fF并把摆幅提升到1.05VQ_Cc≈262500e⁻总FWC约27.85万e⁻读出噪声压到2.5e⁻DR约100.9dB。但同时像素面积增加了约18%量产良率也掉了两个点。这就是LOFIC设计的现实DR收益和面积/良率是强相关不是白拿的。4.3 别忽视Cc带来的三个副作用第一FD节点寄生电容增加导致高增益档的转换增益下降。即便LOFIC开关断开Cc走线和开关管的寄生仍然挂在FD上CG可能从80µV/e⁻掉到60µV/e⁻暗部灵敏度跟着下降。版图阶段要尽量让LOFIC开关靠近Cc而不是靠近FD用金属屏蔽降低耦合。第二Cc本身的电压非线性。如果用的是MOS电容电容值会随两端电压变化而变化高光段和低光段实际增益比不是一个常数这个直接影响HDR合成的精度后面第5章的mura问题就是这么来的。第三合并读出的RC延迟。Cc越大与FD合并时的建立时间越长虽然30fF本身的RC常数不大但加上开关电阻和金属走线低增益拍的读出时间可能被拉长几十纳秒到几百纳秒对高帧率应用是一个隐性杀手。实测时不要只看DN输出要多关注低增益拍的建立时间是否满足列ADC的采样窗口。4.4 用PTC实测FWC和双段转换增益工程上不会只看理论计算一般用光子转移曲线Photon Transfer CurvePTC来实测。做法很简单均匀光源从暗到亮连续变化每个光强下取多帧计算平均DN和随机噪声然后画log(噪声)对log(平均DN)的曲线。曲线上升段斜率约0.5到满阱附近因为散粒噪声达到峰值然后掉头向下峰值点对应的DN和光强就能反推FWC和转换增益。LOFIC像素的PTC会呈现两个明显不同的区段低光段斜率对应高增益Cfd高光段对应低增益CfdCc。把两段斜率分别拟合出来就能算出实际增益比K (CfdCc)/Cfd这个K是HDR合成算法里最重要的标定参数。我强烈建议在产线标定阶段逐像素生成K阵而不是只给一个全局K值因为Cc的工艺失配在像素之间是真实存在的尤其用MOS电容的时候K的离散度能到±5%以上。5. 两段信号合成与调校踩坑从拼接点到暗电流5.1 合成主流程归一化、定切换点、加权融合LOFIC的HDR合成在形式上比DOL简单因为两拍信号来自同一次曝光天然对齐不存在运动补偿问题。但合成逻辑上仍然有几个关键步骤第一步做暗电平校准。把两拍信号的black level统一到同一个零点否则拼接点附近会偏色暗部会发灰。第二步按标定的K阵把低增益信号归一化到高增益信号域Code_L_norm Code_L × K。第三步确定切换点knee point。这个点通常选在高增益信号还有余量、尚未饱和的地方比如10bit ADC下选在600到700DN给高光段留出足够的融合缓冲。第四步在切换点附近做加权融合常见做法是用smoothstep或线性ramp在400到800DN区间内让高增益信号的权重从100%逐渐降到0%低增益信号反之。理论上这套流程不算复杂但我在实际调校中遇到过不少问题几乎每一个都能让画面直接翻车。5.2 踩坑一切换点附近出现亮斑和闪烁第一次调LOFIC合成时我直接在切换点做了硬切换Code_H小于阈值就用Code_H大于阈值就切换成Code_L_norm。单帧看似乎没问题但一旦拍视频或者做扫光测试切换点附近会出现明显的亮度跳变和随机闪烁。原因是两拍信号在拼接点附近的噪声源不一样硬切换等于在信号上切了一刀噪声不连续。解决方法是把切换点附近的融合宽度加大让两路信号在融合区内平滑过渡。另外要注意融合区的宽度不能太窄否则过渡斜率太陡还是会有可感知的带状噪声也不能太宽太宽会导致中间调出现“双重曝光感”细节发肉。根据我自己的经验10bit Sensor的融合区设在200DN到300DN宽度比较合适具体还要配合噪声分布来调。5.3 踩坑二温度升高后低增益段整体“发灰”LOFIC电容Cc面积很大而电容本身不是完全理想的器件——它会有暗电流漏电。在室温下漏电很小可能只有几十个电子/秒看起来问题不大但温度升到60度以上Cc的漏电会指数级增长曝光期间积攒起来的暗电荷叠加到低增益信号里导致S2整体抬升。合成后最直接的观感就是高光区域的灰阶发灰、拼接点附近出现颜色偏移。应对手段有几个一是从器件角度优化比如用MIM电容而不是MOS电容漏电小很多二是在算法里加暗帧校正用遮挡条件下的S2暗信号做逐像素扣除三是如果Sensor有温度传感器可以按温度查表补偿。我踩过最深的坑是只做了全局暗电流扣除忘了Cc漏电在空间分布上并不均匀结果暗部颜色看起来没问题高光区域却出现了一片一片的网格mura后来改成逐像素标定才解决。5.4 踩坑三Cc工艺偏差带来的mura不是算法能硬拉的前面提过Cc如果是MOS电容电容值会随偏压变化。曝光过程中Cc两端的电压一直在变也就是说实际K值在整个动态范围内不是一个常数。产线标定是在固定光强下标定的标定值只能保证在某个亮度附近准确到了强光区域K偏了合成就出现“高光区域亮一块暗一块”的mura而且这种mura随亮度变化静态校正完全压不住。解决思路有三个方向一是量产阶段用多个光强标定K阵做成亮度相关的二维标定表二是在工艺端直接换MIM电容虽然贵但线性度非常好三是在像素设计上让Cc工作在电压变化比较小的区间比如适当抬高复位电平让Cc始终保持在积累区避免进入耗尽区。这个问题的本质是“器件非理想性被HDR合成放大”所以调算法的人一定要和器件组、工艺组一起看数据不要自己闷头调曲线。5.5 回到“HDR截图过曝”的话题很多人拿手机拍屏幕或者拍灯火通明的夜景得到的照片高光部分一团死白第一反应是算法不行或者屏幕不行。但从LOFIC的角度看很可能是传感器本身在高光那一刻就已经把电荷溢出丢了后续任何tone mapping都无能为力。软件SDR转HDR只能做“伪细节”它无法凭空还原光电二极管里不存在的电子数。这也是为什么专业监控、车载领域宁可增加像素面积也要上LOFIC——高光的物理信息只能靠物理方案去抓住。6. LOFIC量产落地电容选型、测试指标与场景验证6.1 Cc用MOS电容还是MIM电容这是LOFIC设计里面向量产最容易忽略、后期影响最大的一道选择题。MOS电容的优点是密度高、不需要额外工艺层次缺点是电压系数明显、漏电偏大、高低温下电容值漂移也大MIM电容的优点是线性度极好、漏电小、温度特性稳缺点是需要额外的金属-绝缘层-金属工艺层次成本上升、版图面积也更大。从我的实际经验看消费类对成本敏感、DR目标90dB左右的产品用MOS电容是可以接受的但一定要在算法侧做好多光强标定做车载、安防这类长期在高温环境下工作、对成像一致性要求极高的产品MIM电容带来的可靠性收益远超那点成本差距——我参与过的一个车载项目前期为了省成本用了MOS电容后来在高低温循环测试中发现暗电流和K漂移超标被迫在第二版换成了MIM电容损失的不只是流片费用还有三个月的项目周期。6.2 测试阶段重点盯的几个指标LOFIC像素比普通像素多了很多可以出问题的环节测试阶段不能只按普通Sensor的Item走。我自己会额外盯这么几项第一两段增益的实测值。用PTC分别提取高增益段和低增益段的斜率确认K值落在设计预期范围内并统计全芯片的K值离散度。第二暗场随机噪声和暗电流。分别在25度和60度条件下拍暗场比较S2信号的均值增长判断Cc漏电是否在可接受范围内。第三溢出势垒的拐点。用均匀光强从暗到亮连续扫观察PD信号曲线是否出现“先平后斜再平”的提前拐弯。如果暗部曲线在线性段出现不应该的斜率突变说明溢出势垒设置偏低PD还没满就开始漏电了。第四高光下的恢复特性。拍一个强点光源然后切换场景观察像素是否出现“残影”或“拖尾”这是Cc里电荷没有完全清空导致的常见于开关管泄漏路径设计不佳的情况。6.3 场景验证清单哪些场景最能暴露LOFIC问题实验室指标测完不代表现场就能用。我建议所有LOFIC项目在送样前至少跑一轮以下场景验证夜间对向车灯看单帧是否能同时保留车牌细节和路面暗部这是最经典的LOFIC场景也是DOL最容易翻车的场景。LED招牌和交通灯通过频闪测试确认是否出现合成条带或颜色错乱。LOFIC单帧虽然比DOL抗频闪好但曝光时间跨越多个亮灭周期时仍有风险。逆光人像/运动物体验证单帧无鬼影的特性是否在真实场景中成立同时观察人物轮廓边缘有没有拼接伪影。高低温连续工作模拟车载夏天暴晒和冬天寒冷环境确认拼接点附近的颜色和亮度偏移是否超标。长时间曝光后的残影测试在低照度场景用长曝光再快速切到亮场观察Cc残留导致的“发热”现象。把这些场景跑完LOFIC像素的真实水平才算是见光了。最后说一点个人体会LOFIC这个技术从结构上看就是“加一个电容”但真正把它做好非常考验综合能力。电容多大、溢出势垒多高、开关时序怎么摆、标定怎么做、合成算法怎么配合环环相扣。我在项目里吃过最大的亏就是前期只盯着满阱和DR数字忽视了K值随亮度漂移和温度带来的漏电问题导致后期成像质量怎么调都不对。后来想明白了一件事LOFIC的DR是物理层给的但最终画质是整个系统一起“合谋”出来的。你只有把器件、工艺、算法当成一个整体去调才能真正发挥这颗“超大电容”的威力。