当前位置: 首页 > news >正文

036、Dual Conversion Gain的巧妙之处——一个电容如何解决低光和高光不可兼得的矛盾——DCG切换的时序控制与HDR融合的联动调优

036、Dual Conversion Gain的巧妙之处——一个电容如何解决低光和高光不可兼得的矛盾——DCG切换的时序控制与HDR融合的联动调优

去年夏天在调试一颗车规级前视摄像头时,客户反馈了一个极其刁钻的场景:傍晚六点半,车头正对西边低角度太阳,路面阴影里蹲着一个穿深色衣服的行人。ISP的HDR融合算法在明暗交界处拉出了明显的鬼影,而更让人头疼的是,同一帧画面里,天空的云层已经过曝成了纯白,而行人身上的纹理却还埋在噪声里。我们当时用的是一颗支持DCG的BSI传感器,标称动态范围120dB,理论上不该是这个表现。我盯着寄存器表看了半天,突然意识到问题可能不在HDR融合算法本身,而在DCG的切换时序上——传感器在帧内切换高低转换增益时,如果切换点落在曝光积分的中段,等效于给像素的电荷积分过程人为制造了一个“阶梯”,而这个阶梯的台阶高度,恰好就是高低增益的比值。这个比值在融合算法里被当作常数来用,但实际像素的响应曲线在切换点附近是非线性的,于是融合权重算错了,鬼影和噪声就都冒出来了。

DCG的基本原理,说白了就是给像素的浮置扩散节点(FD)并联一个额外的电容。低增益模式下,这个电容接入,FD的电荷-电压转换系数变小,满阱容量变大,能存下更多光生电子,高光不饱和;高增益模式下,电容断开,转换系数变大,同样数量的电子能产生更高的电压,低光信号被放大,噪声被压下去。一个电容,两种状态,理论上解决了“一像素既要能看暗又要能看亮”的矛盾。但问题在于,这个电容的接入和断开,不是瞬间完成的,它需要时间,而且这个时间点必须精确地落在曝光积分结束之后、读出开始之前。如果落在积分中间,电荷还在源源不断地从光电二极管转移到FD,此时突然改变FD的电容,FD上的电压会跳变,这个跳变幅度等于电荷量乘以电容变化量,而电荷量本身又是光强的函数——于是高光像素的跳变幅度大,低光像素的跳变幅度小,整个响应曲线在切换点处出现一个拐点,这个拐点就是非线性失真的来源。

我们当时在实验室里用积分球均匀光源拍了一组灰阶卡,把DCG切换点从曝光积分的10%位置逐步挪到90%位置,每个位置拍20帧,然后提取灰阶卡上每个色块的灰度值,拟合成响应曲线。结果非常直观:切换点越靠近积分末端,响应曲线的线性度越好;切换点越靠近积分前端,曲线在中间灰度区域出现明显的“S”形弯曲。这个S形弯曲,就是融合算法里鬼影和噪声的元凶——因为HDR融合通常会把高增益帧和低增益帧的像素按权重混合,权重系数是根据两帧的响应曲线标定出来的,如果响应曲线在某个灰度区间发生了非线性偏移,权重就会算错,导致暗部像素被错误地赋予了高增益帧的权重,而高增益帧在这个灰度区间的噪声是放大的,于是暗部噪声被放大;亮部像素被错误地赋予了低增益帧的权重,而低增益帧在这个灰度区间的信号已经接近饱和,于是亮部细节丢失。

找到根因之后,解决方案其实就两条路:要么把DCG切换点严格锁定在曝光积分结束后的消隐期内,要么在融合算法里引入一个“切换点位置”的补偿项。第一条路受限于传感器硬件设计,有些传感器允许你通过寄存器配置切换点的精确位置,有些则固定死在某个位置,没法改。我们当时用的那颗传感器,切换点位置是可配的,但配置范围只有积分时间的5%到95%,而且最小步进是1%——听起来很灵活,但实际调起来发现,切换点位置对响应曲线的影响不是线性的,靠近积分末端时,1%的步进对应的灰度偏差可能只有半个LSB,但靠近积分前端时,1%的步进对应的灰度偏差可能达到十几个LSB。所以光靠寄存器配置,很难做到在所有光照条件下都完美。

于是我们把重心放在第二条路上:在融合算法里加一个“切换点位置”的实时估计器。具体做法是,在每一帧的曝光积分开始前,读取当前帧的曝光时间和增益配置,然后根据传感器手册里给出的切换点位置与曝光时间的对应关系表,插值出当前帧的切换点位置,再把这个位置作为参数输入到融合权重计算模块里。这个对应关系表不是固定的,它跟温度有关——电容的充放电速度受温度影响,温度升高,切换时间变长,等效切换点位置会后移。所以我们又加了一个温度传感器,每100ms读一次温度,动态修正对应关系表。这套方案在实验室里跑了两周,把温度从-20℃到85℃扫了一遍,响应曲线的线性度偏差从原来的最大12%压到了2%以内,鬼影和暗部噪声的问题基本消失。

但这里有个坑必须提醒你:切换点位置的估计,不能只看曝光时间,还得看光强。因为DCG切换的本质是FD电容的变化,而FD上的电荷量是光强和曝光时间的乘积。同样的曝光时间,强光下FD上的电荷多,切换时电压跳变大;弱光下电荷少,跳变小。所以单纯用曝光时间查表,在强光场景下会低估切换点的影响,在弱光场景下会高估。我们后来在估计器里加了一个光强前馈项——用上一帧的全局平均亮度作为当前帧光强的近似,然后把这个近似值乘到切换点位置的修正系数上。这个前馈项不需要很精确,因为融合算法本身对切换点位置的敏感度在弱光下本来就低,在强光下敏感度高,所以只要保证强光下的修正方向正确,弱光下的误差可以容忍。

另一个容易被忽略的联动点是DCG切换和HDR融合的帧同步。很多传感器的DCG切换是逐帧进行的,也就是说,一帧用高增益,下一帧用低增益,然后两帧融合成一张HDR。这种情况下,切换点位置只影响单帧的响应曲线,不影响帧间融合。但有些传感器支持帧内DCG切换——在一帧的曝光积分过程中,前半段用高增益,后半段用低增益,这样一帧就能同时获得高低增益信息,但代价就是前面说的响应曲线拐点问题。我们当时用的就是帧内切换模式,因为帧间切换在运动场景下容易产生鬼影,帧内切换可以避免这个问题。但帧内切换对时序的要求极其苛刻,切换点必须落在曝光积分的精确位置,而且这个位置要跟传感器的行读出时序对齐——因为不同行的曝光积分起始时间不同,如果切换点按全局时间固定,那么不同行的实际切换点位置会随行号偏移,导致画面上下部分的响应曲线不一致。我们当时用示波器抓了传感器的VSYNC和行同步信号,发现切换点寄存器配置的是全局时间,但实际生效是按行同步信号逐行触发的,所以每行的切换点位置会有一个固定的行偏移。这个偏移量在传感器手册里没有明确写,是我们通过拍均匀光场然后逐行分析灰度值才发现的。

解决这个行偏移问题,我们用了两个手段:一是把切换点配置值减去一个行偏移补偿量,这个补偿量等于行同步周期乘以行号;二是把融合算法的权重计算从逐像素改成逐行——因为同一行的切换点位置一致,所以同一行的响应曲线一致,权重可以按行计算,然后行内像素共享权重。这个改动让融合算法的计算量下降了不少,因为权重计算从像素级变成了行级,而且行级权重可以用查表实现,不用每个像素都做除法。但代价是,如果画面里有局部高光或局部阴影,行级权重会在明暗交界处产生轻微的块状伪影——这个伪影在最终图像上表现为横向的细线,不仔细看发现不了,但用专业测试卡一测就能测出来。我们后来在行级权重的基础上加了一个3x3的平滑滤波,把块状伪影抹掉了,但代价是边缘锐度略有下降。这个取舍,最终跟客户确认了,他们更在意暗部噪声和鬼影,边缘锐度下降1%以内可以接受。

最后说点个人经验。DCG这个东西,从原理上看就是一个电容开关,但真正量产调优时,你会发现它牵扯到传感器时序、ISP融合算法、温度补偿、行同步对齐、光强前馈五个维度,任何一个维度没对齐,最终图像上都会以噪声或鬼影的形式暴露出来。我的建议是,如果你在调DCG相关的HDR问题,先别急着动融合算法的权重,先用均匀光场拍一组灰阶卡,把响应曲线拉出来看,如果曲线在中间灰度有拐点,那八成是DCG切换点位置不对,而不是融合算法的问题。另外,传感器手册里给的切换点配置值,往往是在常温下测的,温度一变就要重新标定,所以量产时一定要留一个温度补偿的校准接口,别把切换点配置值写死。还有,帧内DCG切换的行偏移问题,很多传感器手册不会写,你得自己用示波器抓时序,或者用均匀光场逐行分析灰度值来反推——这个坑我踩过,希望你别再踩一遍。

http://www.jsqmd.com/news/1379163/

相关文章:

  • Excel日期选择控件实现:VBA用户窗体方案详解与实战避坑指南
  • 2026年中山正规GEO优化公司推荐 - 甄选测评馆
  • FFPE样本RPPA蛋白质组学分析:从技术原理到肿瘤精准诊疗应用
  • Ubuntu 22.04 LTS 从安装到配置:双系统部署与避坑指南
  • 035、全局快门的代价清单——为什么GS sensor比RS贵且灵敏度低——从像素内存储电容到电荷转移效率的物理代价与适用场景权衡
  • C3P0反序列化漏洞剖析:不出网Hex字节码加载攻击与防御
  • AiZynthFinder如何重新定义化学逆合成规划:从算法创新到实际应用
  • 广州中小企业年度财税复盘攻略|2026汇算清缴、风险闭环、税负优化、全年合规避坑指南 - GrowthUME
  • 如何挑选靠谱的石材雕刻机厂家?这几点关键因素不容忽视 - 甄选测评馆
  • 企业会议系统选型指南:从场景匹配到落地实效
  • # 2026年国内青梅酒品牌汇总:云南5大推荐 - 资讯报道
  • 26年医护考试app推荐:技术壁垒客观呈现 - 虚拟星辰
  • 如何降低毕业论文AI率?手动修改和专业降AI工具应该怎样分工?
  • 2026苏州椅子翻新、床头翻新适合家用酒店改造吗? - LYL仔仔
  • C++菱形继承中构造函数调用规则与内存模型深度解析
  • 型材铝合金外壳在汽车电子设计中的工程应用与EMC散热优化
  • 解锁AO3创作宝库:开源镜像站完全使用指南
  • 2026年8月邯郸丛台区瓷砖空鼓怎么维修?附近靠谱公司鑫都汇案例及费用参考 - 资讯报道
  • 终极Web流媒体播放方案:mpegts.js实现超低延迟直播
  • C++算法实战:从核心原理到工程优化的五大经典案例详解
  • 基于Python的音乐信息检索实战:从音频特征提取到风格可视化分析
  • YOLOv12涨点改进 | ICCV 2025 | 独家创新首发、Conv卷积改进篇 | 引入轻量 MKIR多核卷积倒残差模块,捕获细粒度细节与广域上下文信息,适合医学图像分割、目标检测任务有效涨点
  • 莫骏超律师:技术+法律双背景,复杂案件精准应对 - 一知资讯
  • 2026管理类联考辅导机构推荐:壹乐文考研朱曦团队受推荐 - 互联网科技品牌测评
  • 本溪防水补漏哪家靠谱?免费上门勘测/24小时漏水抢修/暗漏精准检测/书面质保 - 宅安选房屋修缮
  • 临沂成人高考机构哪家好?蓝象教育专业匹配度评估体系帮考生选对赛道 - GrowthUME
  • DM数据库集群健康检查:保障高可用架构稳定运行的核心实践
  • 日志泄露API秘钥:从钉钉机器人漏洞看敏感信息全链路防护
  • Zabbix企业级监控实战:从架构解析到告警配置与性能调优
  • MFC对话框控件变量绑定:从DDX/DDV原理到实战应用详解