1. 为什么 Linear 模式的 Sensor 快被 HDR 需求逼到墙角了
先聊一个我在实际项目里经常遇到的场景:一颗标称 72dB 动态范围的 sensor,打在强逆光的路口,车牌照脸黑成一团,天空又白成一片。客户拿着测试图来找你,第一句话永远是"这个 sensor 的动态范围是不是虚标了?"——其实不是虚标,是整个读出架构到头了。
动态范围(Dynamic Range)的定义在 sensor 领域非常直接:最大不饱和信号与最小可分辨信号的比值。用电子数来表达更直观:
- 最大信号:满阱容量(Full Well Capacity,FWC),也就是像素里能存下的电子数上限;
- 最小信号:读出噪声(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.6dB;LCG 模式满阱能到 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)≈76dB | 20×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 核心参数横向对比
| 对比维度 | Linear | DCG | DAG |
|---|---|---|---|
| 增益切换位置 | 无 | 像素 FD 电容 | 读出链路(PGA/ADC) |
| 暗部噪声优化 | 固定噪声,无优化空间 | 高增益路径噪声更低 | 依赖链路增益和带宽设计 |
| 满阱容量 | 受单一增益下电压摆幅限制 | 低增益路径承接大满阱 | 不变,受限于像素本身 |
| 运动场景鬼影 | 无鬼影(单路径) | 同曝光 DCG 无鬼影,分时方案有 | 分时量化的 DAG 有轻微时序差 |
| 融合算法复杂度 | 无 | 两路同像素,融合简单 | 两路同像素,但噪声模型不同 |
| 帧率代价 | 无 | 两次读出,但通常一次曝光内完成 | 两次量化,行时间变长 |
| 工艺/面积成本 | 最低 | 像素面积增加约 5%~10% | 列级电路面积增加 |
| 典型动态范围 | 60~75dB | 90~105dB | 85~100dB(视链路设计) |
这张表是我做 sensor 选型时常用来和产品团队对齐的。可以看到,DCG 在绝大多数维度的综合收益是最均衡的,这也是为什么车规摄像头几乎清一色选 DCG。DAG 更像是一种"电路设计优化"的补充手段,适合那些不想在像素端动太多刀的厂商。
5.2 融合算法:两路信号怎么合才能不出噪点和灰边
架构选完之后,真正决定画质的是融合算法。无论是 DCG 还是 DAG,最终都要把两条增益路径的信号合回一张图。融合做法基本是三大流派:
硬切换(Hard Switch / Min-max):以某条信号阈值为界,暗部直接用 HCG 路径,亮部直接用 LCG 路径,中间一刀切。实现最简单,但阈值附近会看到明显的噪声跳变和亮度阶跃——暗部颗粒感突然变细腻、亮部细节突然变平。这种方案基本只用在低端方案里。
线性加权(Weighted Blend):在过渡区设置一个权重函数,比如 5000e- 以下全用 HCG,5000~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 的数字忽悠住了。