DCG与DAG架构对比:揭秘HDR图像传感器的动态范围提升之道
1. 为什么 Linear 模式的 Sensor 快被 HDR 需求逼到墙角了先聊一个我在实际项目里经常遇到的场景一颗标称 72dB 动态范围的 sensor打在强逆光的路口车牌照脸黑成一团天空又白成一片。客户拿着测试图来找你第一句话永远是这个 sensor 的动态范围是不是虚标了——其实不是虚标是整个读出架构到头了。动态范围Dynamic Range的定义在 sensor 领域非常直接最大不饱和信号与最小可分辨信号的比值。用电子数来表达更直观最大信号满阱容量Full Well CapacityFWC也就是像素里能存下的电子数上限最小信号读出噪声Read Noise主导的本底噪声通常用电子数 RMS 表示动态范围 20 × log10(FWC / Read Noise)单位 dB。一颗典型 2.9μm 像素的 sensor满阱做到 60000e- 左右读出噪声做到 3e- 左右算下来是 20 × log10(20000) ≈ 86dB。听起来很猛对吧但实际量产标称往往只有 60~70dB。为什么因为动态范围不是纸上公式而是实测场景下能同时看清暗部和亮部的能力。真实场景里暗部噪声不止读出噪声还有 shot noise、PRNU、暗电流不均匀性亮部还要考虑抗 blooming 能力和 ADC 满量程余量。真正到了强反差场景Linear 模式最大的问题就暴露了整条链路的增益是固定的暗部好不容易把信号抬到可分辨水平亮部早就饱和成了死白。很多人以为 HDR 就是多拍几张不同曝光合成这话对了一半。手机上的多帧 HDR 确实是这个思路但车规、安防、机器视觉领域的 sensor 不能老靠多帧——运动物体在两帧之间会位移产生鬼影Ghosting快门效率不够时还会出现拖影帧率直接砍半。所以 Sensor 内部的 HDR 架构才成了真正的分水岭这也是 DCG、DAG 这类架构存在的根本原因。2. Linear 模式的核心瓶颈没有第二套增益就谈不上高动态在深入 DCG 和 DAG 之前必须先把 Linear 模式的处境聊透。这里说的 Linear 不是线性响应曲线的意思而是指整颗 sensor 只有一个转换增益Conversion Gain一条读出路径一套 ADC 满量程。它的响应曲线是一条直线斜率由转换增益决定。2.1 Linear 为什么简单因为它的信号链路是一条道走到黑Linear 模式的信号流非常简洁光生电荷 → 浮置扩散区FD收集 → 源极跟随器SF缓冲 → 列级 CDS 采样 → 列级 ADC 量化 → 数字输出。这条链路上唯一能动态调整的是模拟增益Analog Gain和数字增益但这两者本质上只是把信号放大或缩小解决不了满阱容量和读出噪声之间的根本矛盾。关键就在转换增益这个参数上。转换增益 光电二极管/浮置扩散区把每个电子转换成电压的能力单位是 μV/e-。转换增益高了每个电子产生的电压摆幅就大同样读出噪声下信噪比更好但代价是同样电压摆幅下能容纳的电子数更少满阱容量变小。转换增益低了满阱容量大、能接住强光但暗部的小信号直接被读出噪声淹没。这是物理上的跷跷板。Linear 模式只能二选一所以它的动态范围上限基本被工艺和像素尺寸锁死。你可能会问那我把读出噪声做到 1e- 不就行了问题在于读出噪声受 SF 管的 1/f 噪声、列放大器 offset、ADC 量化噪声共同限制往下降一个数量级需要的功耗和面积成本是急剧上升的且物理极限摆在那里。2.2 满阱与噪声的拉锯战一个典型像素的参数推演我们做个具体演算你就明白 Linear 的天花板在哪了。假设一颗像素像素尺寸 3.0μm × 3.0μm满阱容量 FWC ≈ 45000e-高转换增益模式HCG转换增益 ≈ 0.08μV/e-换算约 80μV/e-? 这里按实际 FD 电容约 2fF 估算即 80μV/e- 量级——注意0.08 μV/e- 是 80nV/e-通常纯 FD 电容转换增益的量级是 50~150μV/e-此处我按更贴近实际的 80μV/e- 来推低转换增益模式LCG转换增益 ≈ 20μV/e-FD 电容加大后的典型值读出噪声在 HCG 模式下约 2.5e-LCG 模式下约 6e-。Linear 用 HCG 模式计算动态范围20 × log10(45000 / 2.5) ≈ 85.7dB。听起来很理想。但问题在于 HCG 模式下 45000e- 对应的电压摆幅是 45000 × 0.08mV 3600mV不对我重新算45000e- × 80μV/e- 3,600,000μV 3.6V——这已经远超像素电源电压。实际像素电压摆幅只有约 1.0~1.4V所以 HCG 模式根本装不下满阱 45000e-。这就是为什么 HCG 模式的满阱容量往往只有几千到一万电子而 LCG 模式才能承接大满阱。用更真实的数字HCG 模式读出噪声 2.5e-满阱受电压摆幅限制只能到约 12000e-动态范围 20 × log10(12000/2.5) ≈ 73.6dBLCG 模式满阱能到 45000e-但噪声 6e-动态范围 20 × log10(45000/6) ≈ 57.5dB。听起来是不是很眼熟很多 linear sensor 标称 60~70dB就是两种模式取了实际测量下最漂亮的值。所以 Linear 的根本瓶颈不是噪声不够低而是没有一根接力棒能同时接住暗部和亮部。DCG 解决的正是这个让每个像素拥有两套增益暗部走低噪声高增益通道亮部走大满阱低增益通道最后合成一张高动态图。3. DCG 架构拆解每颗像素里的双速变速箱DCG 全称 Dual Conversion Gain双转换增益。它通过改变浮置扩散区的电容来切换转换增益我习惯把它类比成汽车的变速箱低速挡扭力大但跑不快对应高转换增益、低噪声、适合暗光高速挡极速高但起步肉对应低转换增益、大满阱、适合亮光。一颗像素里装两套挡位按光照强度自动挂挡。3.1 DCG 的物理实现FD 电容切换的两种典型方案DCG 的实现核心是给 FD 节点并接或切掉一个电容。业界最常见的两种做法双 FD 电容方案像素内有两个电容通过一个开关管通常是传输门或专用开关控制是否并入第二颗电容。开关闭合时 FD 总电容增大转换增益降低开关断开时只保留最小电容通常是寄生电容转换增益升高。这是最主流的实现因为逻辑直接、电容比值容易通过版图控制。双光电二极管方案像素内有两个不同尺寸的光电二极管一个大 PD 一个小 PD各自对应不同灵敏度/满阱。小 PD 相当于高增益路径大 PD 相当于低增益路径。这种方案灵敏度比是固定的无法开关切换灵活性差一些但胜在面积效率高、寄生电容容易控制。严格说它不算 DCG因为它不是切换同一 FD 的增益但双 PD 方案在安防和车规 sensor 里也很常见常被混在 DCG 讨论中。实际我更推荐先理解双 FD 开关方案因为它的开关控制时序直接影响噪点表现。工作流程大致是这样曝光结束后先断开附加电容让 FD 处于高增益状态对所有行进行高增益读出包括复位采样和信号采样做 CDS 消噪再闭合附加电容把 FD 里的信号电平转换到低增益状态再进行一次读出。这两次读出的时间间隔很短但同一个像素的电荷量是固定的所以高增益路径和低增益路径拿到的是同一份信号只不过被放大到不同的电压摆幅。最终两路数据在 ISP 端做一个融合高增益路径负责暗部细节低增益路径负责亮部不饱和接缝处靠权重曲线过渡。3.2 为什么 DCG 不是单纯加一个电容那么简单新手最容易忽略的是时序引入的噪声问题。FD 电容切换本身是机械地改电容值但切换过程会引入额外 KTC 噪声热噪声如果切换时序没有和读出时序对齐两路信号的噪声基准不一致后期融合时会在接缝处看到明显的噪声跳变。另外还有一个关键点DCG 的两条路径并不是同时曝光的。以典型 Sony 的 DCG 实现为例高增益路径和低增益路径的曝光时间通常是相同的同一个曝光积分周期只是读出增益不同。而有些方案会做高增益短曝光 低增益长曝光那就更接近多帧曝光融合了。这两种思路的本质区别在于同曝光的 DCG 两路信号是瞬态一致的适合运动场景分时曝光的 DCG 动态范围更大但运动场景会出鬼影。所以市面上的车规 sensor 为了克服鬼影基本都采用同曝光 DCG而静态场景的安防 sensor 则倾向于分时曝光方案。3.3 DCG 的动态范围增益从哪来一个实战计算为了讲清楚 DCG 到底提升了多少我列一个典型参数表这是我自己项目里调试过的一颗 5MP 车规 sensor 的实测标称值参数HCG高增益LCG低增益转换增益80μV/e-20μV/e-饱和信号15000e-60000e-读出噪声2.2e-5.5e-暗电流噪声典型0.8e-0.8e-单路径动态范围20×log10(15000/2.2)≈76dB20×log10(60000/5.5)≈80dB单看每一条路径动态范围都没有超过 80dB。但 DCG 合成之后两路各自贡献自己的优势区间HCG 负责 0~10000e- 的暗部细节LCG 负责 8000~60000e- 的亮部层次两条路径的过渡区有重叠最终合成输出的等效动态范围可以达到 95dB 左右。这个增益不是简单相加而是高增益路径把原本被读出噪声盖住的弱信号捞了出来低增益路径把原本饱和的亮部细节扛住了。需要特别提醒合成后的动态范围并不等于两路动态范围之和。它受限于三件事两路噪声的权重融合、高增益路径的信号在合成点的 SNR、亮部路径的量化步长。我见过很多开发者在 datasheet 上看到 95dB 就以为暗部能到 0.1 lux实际上暗部 SNR 仍是受 HCG 路径噪声限制和 LCG 一点关系都没有。4. DAG 架构拆解从像素端换挡到信号链分路的思路跃迁聊 DAG 之前先澄清一个概念混乱问题。行业内 DAG 的指代在不同公司、不同文档里有点飘有的叫 Dual ADC Gain双 ADC 增益有的叫 Dual Amplification Gain还有的叫 Decoupled ADC Gain。我个人建议把它理解为在读出链路而非像素内部做多增益路径的设计思路。它不是 Standard 的像素级方案而是一种信号链路级 HDR架构的泛称。4.1 DAG 的核心分工像素先统一读出增益在 ADC 前分家DCG 是在像素的 FD 节点上做增益切换DAG 的典型做法是像素以单一转换增益完成光电转换输出到列级时在 PGA可编程增益放大器或 ADC 参考电压层面分出两条不同增益的路径。具体来说像素在同一曝光时间内积累电荷信号读出后进入列放大器列放大器/ADC 链路里有两条独立的增益配置比如路径 A高模拟增益如 12dB对应暗部细节适合低照度区域路径 B低模拟增益如 0dB对应亮部层次适合高照度区域。两条路径的 ADC 量化发生在一个读出周期内同一个像素信号先后被两个不同增益的 ADC 通道量化或者同一 ADC 分时切换参考电压产生两个增益档的结果。因为像素端没有切换电容所以像素本身的噪声特性是统一的FD 电容也不会因为开关产生额外 KTC 噪声。这听起来比 DCG 清爽但代价也很明显两条路径都是在同一份像素噪声基础上做的增益放大暗部路径的噪声不会被像素端压低甚至可能被 PGA 的带宽噪声进一步抬高。4.2 DAG 的两种落地形态双 ADC 并行与参考电压分档深入研究就会发现DAG 在工程落地时可以分两派物理双 ADC 并行列级电路里存在两套 ADC一套高增益一套低增益同一个像素信号在模拟域被复制同时进入两套 ADC。好处是两路信号时间对齐没有先后顺序坏处是列级面积直接翻倍对大面积 sensor 来说成本敏感。这种方案在科研级 sensor 和高端工业相机里出现过消费/车规较少。单 ADC 分时切换参考电压列级只有一个 ADC但它的参考电压或者斜坡发生器 Ramp可以配置成两个斜率对应两种量化增益。像素信号先送进 ADC 量一次得到低增益结果再量一次得到高增益结果。面积开销小但两次量化会引入时间差对于运动场景需要在算法层面对齐。我在实际项目中接触过一颗标称 DAG 的 sensor它的 datasheet 上明确写了两条增益路径的读出是sequential readout也就是说同一行像素先做一次完整读出再在下一个时钟周期做第二次不同增益的读出。这就意味着有效帧率会打折或者说同样的帧率下每行占用的读出时间更长、行消隐时间被压缩。做系统集成时如果你没有考虑到这一点很容易在帧率规格上翻车。4.3 为什么 DAG 被一些厂商盯上DCG 的暗部收益也有代价这里有一个关键权衡。DCG 最大的优势是像素端变增益能同时优化噪声和满阱因为高增益模式下 FD 电容小kTC 噪声本身就低。但 DCG 不可能无限把 FD 电容做小因为 FD 电容太小会导致电压摆幅受限前面算过小 FD 装不住大电荷同时电容开关管的寄生泄漏也会在高温下拖累暗电流。DAG 的意义在于把增益决策从像素工艺搬到电路设计层面让像素可以专注于最理想的单一转换增益点——或许是降噪最好的点或许是线性度最好的点然后通过链路增益的差异化把输出信号拆成明暗两路。这种思路对工艺的依赖更少设计迭代更快尤其适合 SoC 集成 sensor也就是把 ISP、ADC、逻辑全部堆到一颗芯片上的方案。但要注意DAG 并没有提高像素本身的最大信号能力。满阱还是那个满阱量子效率还是那个量子效率DAG 只是把同样一个信号用两种尺度去量化。所以 DAG 的动态范围提升更多体现在量化维度和融合维度而不是物理维度的信号采集。这决定了它在低照度下的表现几乎不可能超过同工艺的 DCG 方案——除非 DCG 方案的高增益路径噪声控制做得稀烂。5. DCG、DAG、Linear 的正面战场一张图表对比融合算法经验讲到这里三个架构的底层逻辑你应该清楚了。现在把它们拉到同一张桌上做正面比较。我通常不会只看 datasheet 参数而是看五个维度物理原理、噪声特性、满阱能力、时序/帧率代价、融合算法复杂度。5.1 核心参数横向对比对比维度LinearDCGDAG增益切换位置无像素 FD 电容读出链路PGA/ADC暗部噪声优化固定噪声无优化空间高增益路径噪声更低依赖链路增益和带宽设计满阱容量受单一增益下电压摆幅限制低增益路径承接大满阱不变受限于像素本身运动场景鬼影无鬼影单路径同曝光 DCG 无鬼影分时方案有分时量化的 DAG 有轻微时序差融合算法复杂度无两路同像素融合简单两路同像素但噪声模型不同帧率代价无两次读出但通常一次曝光内完成两次量化行时间变长工艺/面积成本最低像素面积增加约 5%~10%列级电路面积增加典型动态范围60~75dB90~105dB85~100dB视链路设计这张表是我做 sensor 选型时常用来和产品团队对齐的。可以看到DCG 在绝大多数维度的综合收益是最均衡的这也是为什么车规摄像头几乎清一色选 DCG。DAG 更像是一种电路设计优化的补充手段适合那些不想在像素端动太多刀的厂商。5.2 融合算法两路信号怎么合才能不出噪点和灰边架构选完之后真正决定画质的是融合算法。无论是 DCG 还是 DAG最终都要把两条增益路径的信号合回一张图。融合做法基本是三大流派硬切换Hard Switch / Min-max以某条信号阈值为界暗部直接用 HCG 路径亮部直接用 LCG 路径中间一刀切。实现最简单但阈值附近会看到明显的噪声跳变和亮度阶跃——暗部颗粒感突然变细腻、亮部细节突然变平。这种方案基本只用在低端方案里。线性加权Weighted Blend在过渡区设置一个权重函数比如 5000e- 以下全用 HCG5000~12000e- 之间按比例混合12000e- 以上全用 LCG。过渡区不出现跳变但噪声曲线跟权重曲线强绑定调试时容易在过渡区出现中间灰的不自然感。我最开始调这种方案时在暗处到亮处的过渡带总有一种灰蒙蒙的薄雾感后来发现是权重曲线的斜率太缓把 HCG 噪声带到了原本应该干净的过渡区。基于 SNR 的自适应融合Per-pixel SNR-based逐像素计算两条路径在各自信号量下的 SNR哪个高就信哪个。这是理论上最优的融合策略但需要对 sensor 的噪声模型做标定而且计算量最大。我在车规 ISP 上实测成熟的 SNR-based 融合能把过渡区的色彩误差压到可感知阈值以下。5.3 实测中的两个意外接缝噪声与绿红色偏具体踩过的坑尤其值得记下来。第一个是接缝噪声。实验室里用积分球均匀光照DCG sensor 在 5000e- 左右的融合点附近暗场噪声不均一性会明显增大大约从 1.8DN 跳到 3.2DN。最初以为是 sensor 本身的问题后来排查发现是 HCG 和 LCG 两条路径的 CDS 时序不一致导致列 FPN 被当成信号带进了融合权重里。这是 sensor 厂家 sequencer 配置的问题不是算法能完全抹掉的——所以在选型阶段就要要求厂商提供DCG 两路读出时序的同一性标定数据。第二个是绿红色偏。在强光场景下例如对着太阳方向拍树荫DAG 方案的融合点附近出现了明显的绿边后来查了 Bayer 排列和两路增益响应曲线发现是 DAG 的低增益路径在红色和绿色通道上的响应一致性差了约 1.5%高增益路径没有这个偏差。对比之后再融合色差就在接缝附近被放大了。最后的解法是在传感器出厂标定里加了一个通道相关的增益修正表按像素位置补偿两路的增益偏差才把色偏压下去。6. 工程选型里的几条血泪经验不仅是架构优劣更是供应链取舍最后这部分不是纸上谈兵而是我这些年帮客户做 sensor 选型时沉淀下来的一些判断方法。不一定适用于所有项目但大概率能帮你避掉几个常见的坑。6.1 先问清楚三个问题再选 DCG 还是 DAG你的场景里真正吃动态范围的是暗部还是亮部如果是车规夜间会车对面大灯照过来你既要保住车灯周围不饱和又要看清没有灯的路边行人——这时 DCG 明显更有优势因为它的 HCG 路径对暗部噪声的压制是物理层面的。如果是安防里白天的逆光出入口暗部其实是阴影里的细节亮部才是主封印这时 DAG 的低增益路径配合 ISP 做压缩完全够用还能省一点像素工艺成本。你的系统能不能容忍帧率折损DCG 和 DAG 都会有两次读出的时间开销。如果你的帧率要求是 60fps 硬指标必须确认 sensor 支持单次曝光的双增益并行读出还是分时读出。分时读出在高帧率下会压缩曝光时间窗口对你的镜头进光量提出更高要求。你的 ISP 融合能力到了哪个段位如果 ISP 只有简单的多帧合成能力没有健壮的 SNR-based 融合那 DCG 方案的画质优势大概率发挥不出来反而 DAG 因为两路噪声模型更接近用简单加权融合也不会出太大问题。6.2 选型时的三个问厂家清单去跟 sensor 原厂开技术会的时候我建议你带着这份清单去问能帮你排除很多datasheet 刺客问清楚 DCG 的电容切换开关是曝光期间固定还是读出期间动态切换。如果是读出期间切换测试高温下的暗电流有没有恶化。要求原厂提供HCG/LCG 两路径噪声的 PTC光子转移曲线标定数据不明文提供的大概率存在暗部噪声一致性或 ADC 量化误差的坑。检查 ADC 的有效位数是否在两个增益路径上都达标。有些 DAG sensor 高增益路径实际只用了 10bit 有效位遇到强对比度时暗部会出现明显色阶断裂。6.3 最终建议预算充足选 DCG 像素工艺预算受限选 DAG 链路优化如果让我给一个最直接的结论做车规、运动相机这类对暗部细节和鬼影都有极高要求的项目优先找 DCG 方案的 sensor 厂商——哪怕贵一点画质下限有保证做室内安防、工业检测这类光照相对可控、主要吃逆光宽动态的场景DAG 设计的好 sensor 完全够用而且大概率成本更低。Linear 模式就别想了在 2024 年之后的选型表里它只配出现在最低端、最不讲究画质的 ToF 和 proximity sensor 上。我调了这么多年 sensor最深的一个体会是任何 HDR 架构的本质都是在跟物理噪声和满阱容量的跷跷板做斗争。DCG 是在跷跷板的支点加了个变速箱DAG 是在轮子外加了一套减震——两者都没有真正消灭噪声只是把噪声挪到了不那么影响观感的位置。理解了这一点你在看任何 HDR sensor 的 datasheet 时就不会再被那些 120dB 的数字忽悠住了。