第3章:图像传感器与ISP协同设计

第3章:图像传感器与ISP协同设计

1. 本章先解决"传感器和 ISP 为什么必须一起设计"

第 2 章讲的是 CMOS 传感器本身如何把光变成 RAW 数字值。第 3 章要再往系统层走一步:传感器不是孤立地吐出一张图片,ISP 也不是孤立地处理一个数组。它们之间是一套协同协议:

text 复制代码
传感器决定:测什么、怎么采样、什么时候曝光、怎样读出、输出什么格式
ISP 决定:如何解释这些数据、如何校正、如何重建颜色、如何反馈曝光/增益/白平衡控制

如果传感器输出方式变了,ISP 的假设也必须跟着变。例如:

  • CFA 从 RGGB 变成 BGGR,demosaic 和 AWB 的颜色解释就要变。
  • sensor mode 从全分辨率变成 binning,噪声、分辨率、视场、标定表都可能变。
  • HDR mode 从单曝光变成 staggered multi-exposure,ISP 就要知道哪些行/帧属于长曝光,哪些属于短曝光。
  • rolling shutter 读出时间变了,多摄同步和运动伪影也会变。
  • 曝光/增益控制有 1-2 帧延迟,3A 算法就不能假设参数马上生效。

所以"传感器与 ISP 协同设计"的本质不是多加几个接口,而是让 ISP 正确理解传感器数据的来源、格式、时序和控制反馈。

2. 先把协同链路画出来

一个真实相机系统里,传感器和 ISP 之间至少有三条链路:

text 复制代码
1. 像素数据链路:
   Sensor RAW pixels -> MIPI CSI-2 / parallel / SerDes -> ISP input

2. 控制链路:
   ISP/3A decision -> I2C/SPI register write -> sensor exposure/gain/mode

3. 元数据链路:
   sensor mode / exposure / gain / frame id / timestamp / embedded data -> ISP metadata

初学者最容易只看到第 1 条:像素来了,ISP 处理。但真正工程里,第 2 条和第 3 条同样重要。如果 ISP 不知道当前帧使用的曝光时间、模拟增益、sensor mode、CFA pattern 和 timestamp,它就无法正确做黑电平、降噪、LSC、AWB、HDR 合成和多摄同步。

3. CFA Pattern:颜色采样方式决定 demosaic 怎么做

CFA 是 Color Filter Array,即像素上方的颜色滤光片排列。最经典的是 Bayer:

text 复制代码
R G
G B

但"Bayer"不是只有一种。常见 2x2 排列有:

text 复制代码
RGGB    BGGR    GRBG    GBRG
R G     B G     G R     G B
G B     G R     B G     R G

这些排列对人眼看起来只是旋转或平移,但对 ISP 是完全不同的解释方式。如果把 RGGB 当成 BGGR:

  • 红蓝通道会互换或严重错位。
  • AWB 会基于错误颜色统计做增益。
  • CCM 再怎么调也很难完全救回来。
  • 最终图像可能整体偏紫、偏绿或肤色异常。
初学者要特别注意

CFA pattern 不是"图像内容",而是传感器采样规则。它必须来自 sensor datasheet、DNG metadata、驱动配置或相机栈 metadata,不能靠肉眼猜。

变种 CFA 为什么麻烦

除了普通 Bayer,还有 RGBW、RYYB、Quad Bayer/TetraCell/NonaCell 等设计。它们往往为了低照、HDR 或高像素营销牺牲了传统 demosaic 的简单性。

CFA 类型 直觉目的 对 ISP 的新要求
Bayer RGGB 标准彩色采样 常规 demosaic、AWB、CCM
RGBW 提高进光量 从 W 像素中估计颜色,颜色重建更难
RYYB 增强亮度/低照 黄色通道到 RGB 的转换和色彩标定更难
Quad Bayer 同色 2x2 聚合,兼顾高像素/低照 remosaic、binning、HDR、特殊 demosaic
NonaCell 3x3 同色聚合 高像素模式和低照模式差异更大

这也是为什么新传感器接入时,ISP 不能默认"都是 Bayer,套一个通用算法就行"。

4. Sensor Mode:同一颗传感器可以像多台相机

传感器通常有很多 mode,例如:

text 复制代码
全分辨率拍照模式
4K 视频模式
1080p 高帧率模式
binning 低照模式
crop 局部读取模式
HDR staggered exposure 模式

每个 mode 都可能改变:

  • 分辨率
  • 帧率
  • 视场 FOV
  • rolling shutter readout time
  • pixel binning / skipping 策略
  • black level
  • noise profile
  • lens shading table
  • CFA pattern 或有效采样方式
  • MIPI data type / bit depth
  • embedded metadata 格式

所以 sensor mode 不是单纯的"图像大小"。它会改变 ISP 的输入统计和校正参数。

Binning 和 Skipping 的区别
方式 直觉解释 优点 风险
Binning 多个相邻像素合并 提高 SNR、低照更好、降分辨率 颜色采样变复杂,细节下降
Skipping 跳过部分像素读取 提高帧率、减少带宽 aliasing、细节损失、噪声不一定改善
Crop 只读中间或局部区域 高帧率、低带宽 视场变窄,标定中心可能变化
Scaling 传感器或 ISP 缩放 输出尺寸灵活 插值和锐度变化

初学者经常把 binning 和 resize 混为一谈。它们不一样。binning 发生在传感器采样/读出阶段,会改变信噪比和 CFA 结构;resize 通常是后处理几何缩放。

5. MIPI CSI-2:不只是"传图像的线"

在嵌入式相机里,MIPI CSI-2 是最常见的传感器到处理器接口之一。初学者不需要一开始学习完整协议,但要知道它承载的不只是像素数组。

MIPI CSI-2 可以传:

  • RAW8 / RAW10 / RAW12 / RAW14 等不同 bit depth 像素数据
  • 不同 data type 的包
  • embedded data
  • frame start / frame end / line start / line end
  • virtual channel
  • 多曝光或多流数据

这对 ISP 协同很重要。比如 HDR 传感器可能通过不同 virtual channel 或 embedded metadata 标识不同曝光;多摄系统可能要依赖 frame id、timestamp 和 channel 区分数据来源。

初学者需要掌握的 MIPI 相关问题
  • 当前 RAW 是几 bit?打包格式是什么?
  • 每行 stride 和有效像素宽度是否一致?
  • 是否有 embedded metadata 行?
  • 是否有多个 virtual channel?
  • 帧开始、帧结束是否稳定?
  • 带宽是否足够支持目标分辨率和帧率?

6. Metadata:ISP 必须知道当前帧的身份

一帧图像不只是像素,还应该有身份信息。典型 metadata 包括:

text 复制代码
frame_id
timestamp
sensor_mode
exposure_time
analogue_gain
digital_gain
black_level
white_level
CFA pattern
frame_duration
line_length
temperature
HDR exposure index
embedded statistics

没有 metadata,会出现很多难查问题:

  • 用错曝光时间做 HDR 合成。
  • 用错 gain 做降噪强度估计。
  • 用错 sensor mode 的 LSC 表。
  • 用错 CFA pattern 做 demosaic。
  • 多摄图像时间戳错位,融合失败。

libcamera 文档中专门有 sensor control delay 的概念:曝光、增益、blanking 等控制写入传感器后,可能隔几帧才反映到输出图像。这个细节对 3A 很关键。控制第 N 帧时写入的曝光,不一定作用在第 N 帧,可能是 N+1 或 N+2。

7. 3A 是传感器与 ISP 的闭环,不是单独算法

3A 指:

text 复制代码
AE / AEC:自动曝光
AWB:自动白平衡
AF:自动对焦

它们依赖 ISP 统计,也反过来控制传感器和镜头。

AE / AEC 闭环
text 复制代码
当前帧 RAW/RGB
  -> ISP 统计亮度直方图/分块亮度
  -> AE 算法计算目标曝光
  -> 写 sensor exposure_time / analogue_gain
  -> 若干帧后生效
  -> 新帧再统计

AE 的难点不是"让平均亮度等于某个值",而是要处理:

  • 高光不能全爆。
  • 暗部不能全黑。
  • 人脸/ROI 可能比背景更重要。
  • 频闪灯下曝光时间要避开 banding。
  • 增益提高会带来噪声。
  • 曝光控制有帧延迟,不能来回震荡。
AWB 闭环

AWB 需要判断"场景里哪些区域应该是中性灰/白"。它依赖传感器颜色响应、CFA、LSC、CCM 和统计区域。用错 sensor mode 或 shading 表,会让 AWB 统计偏掉。

AF 闭环

AF 不只看 ISP 图像清晰度,还要控制镜头马达或相位对焦像素。不同传感器可能有 PDAF pixel,这会给 ISP/3A 提供额外对焦信息。

8. 曝光、增益、帧率之间的约束关系

曝光时间不是想设多长就多长。它受 frame duration 限制:

text 复制代码
exposure_time <= frame_duration - readout_margin

如果目标是 30 fps:

text 复制代码
frame_duration ≈ 33.3 ms

曝光时间通常不能超过一帧周期太多,否则帧率会下降或需要特殊长曝光模式。

增益也不是免费的:

  • analog gain 通常在 ADC 前放大信号,可能改善暗部可见性,但会更快接近饱和。
  • digital gain 是数字域乘法,会把噪声一起放大。
  • 高 gain 下 ISP 降噪、锐化、色彩和 tone mapping 都可能需要换参数。
一个简单例子

低照场景下 AE 想把图像变亮,有三种选择:

方法 好处 代价
延长曝光 收集更多真实光子,SNR 可能更好 运动模糊、帧率下降
提高模拟增益 暗部更亮,读出链路更有利 高光更易饱和、噪声也明显
提高数字增益 实现简单 真实信息不增加,只放大噪声

所以 AE 不只是调亮,而是在亮度、噪声、运动模糊、帧率和动态范围之间折中。

9. HDR Sensor Mode:多曝光不只是后期合成

HDR 可以在传感器侧就开始协同设计。常见方式包括:

  • staggered HDR:同一场景输出长/中/短曝光帧或行。
  • interleaved exposure:不同行或像素使用不同曝光。
  • dual conversion gain:同一像素用不同转换增益扩大动态范围。
  • split pixel / specialized HDR pixel:通过特殊像素结构扩展动态范围。

ISP 必须知道:

  • 哪些数据属于长曝光,哪些属于短曝光。
  • 不同曝光的时间差是多少。
  • 如何对齐运动物体。
  • 饱和区域应该从哪一路曝光补。
  • 噪声模型如何随曝光和 gain 变化。

如果 metadata 或时序错了,HDR 会出现鬼影、边缘错位、亮度跳变或颜色异常。

10. 多摄同步:不仅是同时拍

多摄系统常见于手机多摄、环视、双目、车载和机器人。同步不是简单"差不多同时拍",而是要知道每帧准确的曝光时间窗口。

多摄同步至少包括:

  • 触发同步:是否同一时刻开始曝光。
  • 时间戳同步:每帧 timestamp 是否来自统一时钟。
  • 曝光同步:不同相机曝光时间是否一致或可解释。
  • 帧率同步:是否有掉帧或不同步。
  • ISP 延迟同步:不同 pipeline 输出是否对齐。

对于双目和环视,几毫秒偏差就可能让运动物体位置不一致。对于 HDR 多摄,每路相机的曝光和 tone mapping 不一致也会导致融合边界明显。

11. 标定表为什么要按 sensor mode 管理

ISP tuning 里常见标定表包括:

  • black level
  • lens shading table / ALSC table
  • defective pixel table
  • noise profile
  • AWB statistics prior
  • CCM
  • gamma/tone curve
  • HDR merge parameters

这些表不一定对所有 sensor mode 通用。

例如:

  • 全分辨率模式下的 LSC 表,不一定适合 crop 模式。
  • binning 模式下噪声模型会变。
  • HDR mode 下 black level 和 saturation 行为可能不同。
  • IR-cut / NoIR 模式会改变 AWB 和 CCM。

所以协同设计里非常重要的一点是:

text 复制代码
sensor mode -> 对应 metadata -> 对应 tuning profile -> 对应 ISP 参数

12. 新传感器 Bring-up 检查表

接入一颗新传感器时,可以按下面顺序排查。

12.1 基础通信
  • I2C/SPI 是否能读写 sensor 寄存器?
  • sensor ID 是否正确?
  • reset、power rail、clock 是否正确?
  • MIPI lane 数、速率、极性是否匹配?
12.2 像素格式
  • RAW bit depth 是 RAW8/10/12/14?
  • MIPI packing 是否正确解包?
  • width、height、stride 是否正确?
  • 是否有 embedded data line?
  • black level / white level 是否已知?
12.3 CFA 和图像方向
  • CFA pattern 是 RGGB/BGGR/GRBG/GBRG 还是特殊 CFA?
  • 是否有 mirror/flip?
  • mirror/flip 后 CFA 是否也要变?
  • demosaic 后颜色是否正常?
12.4 时序与控制
  • exposure control 单位是 line 还是 microsecond?
  • analogue gain register 如何换算成倍率?
  • exposure/gain 生效延迟是多少帧?
  • frame duration、line length、vblank/hblank 如何影响帧率?
12.5 标定与 tuning
  • 暗场是否稳定?
  • 平场是否有明显 shading?
  • 坏点表是否需要生成?
  • 不同 mode 是否需要不同 LSC/noise profile/CCM?
  • 3A 是否稳定收敛?

13. 最小可验证实验

实验 1:CFA 错配实验

拿一张 Bayer RAW,分别按 RGGB、BGGR、GRBG、GBRG 做 demosaic。观察:

  • 哪个颜色最自然?
  • 哪些结果红蓝互换?
  • 哪些结果整体偏绿或偏紫?
  • AWB 能不能完全救回错误 CFA?

结论:CFA 是 ISP 正确解释 RAW 的第一前提。

实验 2:sensor mode 对比表

找一个真实传感器 datasheet 或相机日志,列出至少两个 mode:

mode 分辨率 帧率 bit depth binning/crop 预期用途 可能需要变化的 ISP 参数

重点不是填全,而是理解"mode 改变不只是尺寸改变"。

实验 3:曝光/增益延迟思考实验

假设 AE 在第 N 帧发现图像太暗,写入更长曝光,但传感器控制延迟是 2 帧。回答:

  • 第 N+1 帧是否已经变亮?
  • 如果 AE 不知道延迟,会不会连续过度调节?
  • 怎样避免曝光震荡?
实验 4:HDR metadata 检查

设计一个 HDR 帧 metadata 表:

frame_id exposure_type exposure_time analogue_gain timestamp

说明如果 exposure_type 标错,HDR merge 会发生什么。

14. 初学者常见误区

  • 误区 1:ISP 只需要像素数据。

    错。ISP 还需要 sensor mode、曝光、增益、CFA、timestamp、black level、tuning profile 等 metadata。

  • 误区 2:换分辨率就是 resize。

    错。sensor mode 可能涉及 binning、skipping、crop、读出时序和噪声模型变化。

  • 误区 3:CFA 错了可以靠 AWB/CCM 修回来。

    通常不行。CFA 是采样解释错误,后续颜色模块只能有限补救。

  • 误区 4:曝光和增益写寄存器后立刻生效。

    很多传感器有帧延迟。3A 必须知道这个延迟。

  • 误区 5:多摄只要帧率一样就同步。

    不够。还要统一触发、时间戳、曝光窗口和 pipeline 延迟。

15. 读完本章应该达到的标准

读完本章后,应该能做到:

  • 解释传感器和 ISP 为什么不是简单上下游,而是闭环协同系统。
  • 说清 CFA、sensor mode、MIPI、metadata、3A、HDR、多摄同步各自影响 ISP 的哪个环节。
  • 设计一个新 sensor bring-up 检查表。
  • 判断 binning、skipping、crop、scaling 的区别。
  • 解释曝光、增益、帧率和控制延迟之间的关系。
  • 说明为什么不同 sensor mode 可能需要不同 tuning profile。

16. 推荐资料与论文

图像传感器与ISP的协同设计是现代成像系统性能优化的关键。传感器的输出特性直接决定了ISP的处理策略,而ISP的能力边界又反过来影响传感器的设计选择。在自动驾驶和具身智能应用中,这种协同设计尤为重要------不仅要考虑图像质量,还要兼顾实时性、功耗和系统复杂度。本章将深入探讨传感器与ISP在架构层面的耦合关系,分析业界主流的协同优化方案。

3.1 Bayer Pattern及其变种

3.1.1 传统Bayer滤色阵列

Bayer Pattern是Bryce Bayer在1976年发明的彩色滤光片阵列(CFA),其核心思想是利用人眼对绿色更敏感的特性,采用RGGB的2×2重复模式:

复制代码
R  G  R  G  R  G
G  B  G  B  G  B
R  G  R  G  R  G
G  B  G  B  G  B

这种设计包含50%的绿色像素、25%的红色像素和25%的蓝色像素。四种基本排列方式(由第一个2×2块的左上角开始定义):

  • RGGB:红-绿/绿-蓝(最常见)
  • BGGR:蓝-绿/绿-红
  • GRBG:绿-红/蓝-绿
  • GBRG:绿-蓝/红-绿

ISP必须准确识别传感器的Bayer模式,否则会导致严重的色彩错误。自动驾驶系统通常采用RGGB模式,因为红色通道对交通信号灯识别至关重要。

3.1.2 RGBW增强感光度设计

RGBW(Red-Green-Blue-White)模式用透明(White)像素替代部分绿色像素,提高整体感光度:

复制代码
R  G  R  G  R  G
G  W  G  W  G  W
R  G  R  G  R  G
G  W  G  W  G  W

白色像素的量子效率(QE)比彩色像素高约2-3倍,使得RGBW传感器在低光环境下的信噪比提升显著。然而,这种设计给ISP带来新挑战:

  1. 色彩重建复杂度增加:需要从W像素中分离RGB分量
  2. 去马赛克算法修改:传统Bayer去马赛克算法不再适用
  3. 白平衡计算调整:W像素会影响色温估计

RGBW的色彩分离可以表示为:

(W = \alpha_R \cdot R + \alpha_G \cdot G + \alpha_B \cdot B)

其中 α R \alpha_R αR、 α G \alpha_G αG、 α B \alpha_B αB是光谱响应系数,需要通过传感器标定获得。

3.1.3 RYYB华为方案分析

华为在P30系列开始采用RYYB(Red-Yellow-Yellow-Blue)滤色阵列,用黄色滤光片替代绿色:

复制代码
R  Y  R  Y  R  Y
Y  B  Y  B  Y  B
R  Y  R  Y  R  Y
Y  B  Y  B  Y  B

黄色滤光片同时透过红光和绿光(Y = R + G),理论上可提升40%的进光量。ISP处理RYYB的关键步骤:

  1. 色彩空间转换 : (\begin{bmatrix} R' \ G' \ B' \end{bmatrix} = \mathbf{M}_{RYYB \to RGB} \cdot \begin{bmatrix} R \ Y \ B \end{bmatrix}) 其中转换矩阵 M \mathbf{M} M需要精确标定
  2. 噪声传播控制:色彩转换会放大噪声,特别是绿色通道(从Y-R计算得出)
  3. 色彩准确性补偿:RYYB在某些色彩(如纯绿色)的还原上存在固有缺陷

3.1.4 Quad Bayer与像素合并

Quad Bayer(也称为Tetracell)将传统Bayer的每个滤色片扩展为2×2的同色像素组:

复制代码
R R G G R R G G
R R G G R R G G
G G B B G G B B
G G B B G G B B
R R G G R R G G
R R G G R R G G
G G B B G G B B
G G B B G G B B

这种设计支持两种工作模式:

  1. 高分辨率模式:每个像素独立读出,保持原始分辨率
  2. 高感光度模式:2×2合并(binning),等效像素尺寸增大4倍

ISP需要根据场景自适应切换模式:

  • 光照充足时使用高分辨率模式,保留细节
  • 低光环境切换到合并模式,提升信噪比

合并算法的信噪比增益:

(SNR_{binned} = SNR_{single} \cdot \sqrt{N})

其中N=4为合并的像素数。实际增益会因读出噪声等因素略低于理论值。

3.1.5 Nonacell技术

Nonacell将合并单元扩展到3×3,形成9个同色像素的组合:

复制代码
R R R G G G R R R
R R R G G G R R R
R R R G G G R R R
G G G B B B G G G
G G G B B B G G G
G G G B B B G G G

相比Quad Bayer,Nonacell提供了更多的合并选项:

  • 1×1:全分辨率(如108MP)
  • 3×3:9像素合并(12MP,最高感光度)
  • 2×2:4像素合并(27MP,平衡模式)

ISP的自适应策略需要考虑:

  1. 场景亮度分布的空间非均匀性
  2. 运动物体检测(避免合并时产生运动模糊)
  3. 细节保护与噪声抑制的平衡

这种多级合并架构对ISP的数据通路设计提出更高要求,需要支持可变的像素重组逻辑。

3.2 传感器输出接口

3.2.1 MIPI CSI-2协议架构

MIPI CSI-2(Camera Serial Interface 2)是移动设备和车载系统中最广泛采用的相机接口标准。其分层架构包括:

  1. 物理层(D-PHY/C-PHY): D-PHY:差分信号,每通道最高2.5Gbps(v1.2)或4.5Gbps(v2.0)
  2. C-PHY:三线编码,相同引脚数下带宽提升约2.28倍
  3. 协议层: 短包(Short Packet):传输帧同步、行同步等控制信息
  4. 长包(Long Packet):传输像素数据,支持多种格式(RAW8/10/12/14/16)
  5. 应用层: 定义数据格式和虚拟通道(Virtual Channel)机制

MIPI CSI-2的关键特性对ISP设计的影响:

多通道数据交织:最多4个虚拟通道可在同一物理链路上传输

复制代码
VC0: 主图像数据流
VC1: 嵌入式数据(传感器元数据)
VC2: 统计信息(如直方图)
VC3: PDAF相位数据

数据打包效率:RAW10格式的打包方式

复制代码
5个像素(50 bits)打包为5个字节:
Byte 0: P0[9:2]
Byte 1: P1[9:2]
Byte 2: P2[9:2]
Byte 3: P3[9:2]
Byte 4: P4[9:2]
Byte 5: P0[1:0] | P1[1:0] | P2[1:0] | P3[1:0] | P4[1:0]

ISP的MIPI接收模块需要实现高效的解包逻辑,并处理可能的传输错误(ECC/CRC)。

3.2.2 LVDS高速差分传输

LVDS(Low Voltage Differential Signaling)在专业相机和工业视觉中应用广泛,其优势包括:

  • 低电磁干扰(EMI)
  • 长距离传输能力(可达10米)
  • 高数据率(每对可达3.125Gbps)

典型的LVDS相机接口配置:

复制代码
时钟通道:1对差分线
数据通道:4/8/16对差分线
控制通道:1对差分线(可选)

ISP处理LVDS数据流的关键考虑:

  1. 通道同步:多通道间的skew补偿
  2. 字节对齐:通过训练序列确定数据边界
  3. 位宽转换:LVDS常用7:1或8:1的串并转换

3.2.3 并行接口的应用场景

尽管串行接口成为主流,并行接口在某些场景仍有其价值:

典型并行接口信号

复制代码
PCLK:  像素时钟(27MHz-148.5MHz)
HSYNC: 行同步信号
VSYNC: 帧同步信号
DATA[11:0]: 12位数据总线(或8/10/14/16位)

并行接口的优势与ISP设计考虑:

  1. 确定性延迟:无需复杂的串并转换和协议解析
  2. 简单可靠:适合功能安全要求高的车载后视系统
  3. 低成本实现:FPGA原型验证阶段常用

并行接口的ISP时序设计:

复制代码
      ___     ___     ___
PCLK: |   |___|   |___|   |___
      _________
DATA: X_Valid_X_Valid_X_Valid_
         ↑
      采样点(上升沿或下降沿)

3.2.4 接口选择的设计权衡

不同应用场景的接口选择策略:

应用场景 推荐接口 关键考虑因素
智能手机 MIPI CSI-2 C-PHY 引脚数少、功耗低
自动驾驶主摄 MIPI CSI-2 D-PHY 生态成熟、多VC支持
环视相机 LVDS/FPD-Link 长距离传输、抗干扰
安防监控 并行/BT.656 成本敏感、兼容性好
工业相机 Camera Link/CoaXPress 超高带宽、确定性

ISP接口模块的通用设计原则:

  1. 多协议支持:可配置的PHY和协议层
  2. 带宽预留:考虑未来传感器分辨率提升
  3. 错误处理:完善的错误检测和恢复机制
  4. 测试模式:内置测试图案生成器(TPG)

3.3 相位对焦(PDAF)与Dual Pixel技术

3.3.1 PDAF基本原理

相位检测自动对焦(Phase Detection Auto Focus)通过检测不同方向入射光的相位差来判断对焦状态:

复制代码
    物体
     ↓
   ┌─────┐
   │镜头 │
   └─────┘
   ↙     ↘
  左光束  右光束
   ↓       ↓
┌────┬────┐
│左PD │右PD │  <- PDAF像素对
└────┴────┘

相位差与离焦量的关系:

(\Delta d = k \cdot \phi)

其中:

  • Δ d \Delta d Δd:离焦距离
  • ϕ \phi ϕ:左右PD像素的相位差
  • k k k:系统标定系数

3.3.2 PDAF像素设计方案

遮罩型PDAF

传统PDAF通过金属遮罩实现方向选择性:

复制代码
标准像素:     PDAF左像素:    PDAF右像素:
┌────────┐   ┌────────┐    ┌────────┐
│        │   │████    │    │    ████│
│  光电  │   │  光电  │    │  光电  │
│  二极管│   │  二极管│    │  二极管│
│        │   │████    │    │    ████│
└────────┘   └────────┘    └────────┘

遮罩导致PDAF像素的感光量约为普通像素的50%,ISP需要进行增益补偿。

2×1 OCL(On-Chip Lens)结构

复制代码
     微透镜
    ╱────╲
   ╱      ╲
  ┌────┬────┐
  │ PD │ PD │  <- 双光电二极管
  │ L  │ R  │
  └────┴────┘

这种设计保持了完整的感光面积,减少了对图像质量的影响。

3.3.3 Dual Pixel全像素相位检测

Canon的Dual Pixel技术将每个像素都设计为相位检测像素:

复制代码
每个像素结构:
┌─────────────┐
│  微透镜     │
└─────────────┘
       ↓
┌──────┬──────┐
│  左  │  右  │
│  PD  │  PD  │
└──────┴──────┘

Dual Pixel的优势:

  1. 100%覆盖率:整个画面都可进行相位检测
  2. 无需插值:所有像素都有完整的成像数据
  3. 视频对焦:连续平滑的对焦跟踪

ISP处理Dual Pixel数据的双路径架构:

复制代码
传感器输出 ──┬── 左PD数据 ──→ 相位计算 ──→ AF控制
            │
            └── (左+右)数据 ──→ 常规ISP处理 ──→ 图像输出

3.3.4 ISP中的相位数据处理

相位数据处理流水线:

  1. 相位数据提取: 从原始数据流中分离PD像素
  2. 根据PD pattern进行数据重组
  3. 相关性计算: 计算左右PD图像的归一化互相关(NCC): (NCC(d) = \frac{\sum_{i}(L_i - \bar{L})(R_{i+d} - \bar{R})}{\sqrt{\sum_{i}(L_i - \bar{L})^2 \sum_{i}(R_{i+d} - \bar{R})^2}})
  4. 亚像素精度: 通过抛物线拟合获得亚像素级相位差: (d_{sub} = d_{max} - \frac{NCC_{d_{max}-1} - NCC_{d_{max}+1}}{2(NCC_{d_{max}-1} + NCC_{d_{max}+1} - 2 \cdot NCC_{d_{max}})})
  5. 置信度评估: 对比度检测:低对比度区域的相位检测不可靠
  6. 饱和检测:过曝区域无法提供有效相位信息
  7. 重复纹理检测:避免错误匹配
  8. 多区域融合 : 将画面划分为多个对焦区域,综合各区域的相位信息: (d_{final} = \sum_{i} w_i \cdot d_i / \sum_{i} w_i) 其中权重 w i w_i wi由置信度和用户选择的对焦模式决定。

3.4 Global Shutter vs Rolling Shutter的ISP处理策略

3.4.1 卷帘快门的成像特性

Rolling Shutter逐行曝光和读出的机制导致特有的图像畸变:

复制代码
曝光时序图:
行1: ████████░░░░░░░░░░
行2: ░░██████████░░░░░░
行3: ░░░░████████████░░
行4: ░░░░░░██████████████
     └─读出延迟─┘

卷帘快门的典型失真:

  1. 倾斜效应:垂直物体呈现倾斜
  2. 果冻效应:高频振动造成波浪形畸变
  3. 部分曝光:闪光灯只照亮部分画面

失真程度与读出时间的关系:

(\theta_{skew} = \arctan(\frac{v \cdot t_{readout}}{D}))

其中:

  • v v v:物体横向速度
  • t r e a d o u t t_{readout} treadout:全帧读出时间
  • D D D:物体距离

3.4.2 全局快门的实现架构

Global Shutter通过像素内存储实现同时曝光:

复制代码
像素结构:
┌─────────────┐
│  光电二极管  │
└──────┬──────┘
       ↓ 转移门
┌─────────────┐
│  存储节点   │ <- 屏蔽光线
└──────┬──────┘
       ↓ 读出

全局快门的设计权衡:

  • 填充因子降低:存储节点占用像素面积
  • 噪声增加:额外的转移和存储引入噪声
  • 成本提升:复杂的像素设计和制造工艺

3.4.3 ISP的Rolling Shutter补偿

运动矢量估计

利用陀螺仪数据或图像匹配估计相机运动:

(\vec{v}_{camera} = \\omega_x, \\omega_y, \\omega_z, v_x, v_y, v_z^T)

逐行补偿算法

复制代码
<span class="n">对于每一行</span> <span class="n">y</span><span class="p">:</span>
    <span class="n">t_row</span> <span class="o">=</span> <span class="n">y</span> <span class="o">*</span> <span class="n">t_line_readout</span>
    <span class="c1"># 计算该行曝光时的相机位置
</span>    <span class="n">pose_row</span> <span class="o">=</span> <span class="n">pose_start</span> <span class="o">+</span> <span class="n">velocity</span> <span class="o">*</span> <span class="n">t_row</span>
    <span class="c1"># 应用逆变换补偿
</span>    <span class="n">pixels_corrected</span><span class="p">[</span><span class="n">y</span><span class="p">]</span> <span class="o">=</span> <span class="n">warp</span><span class="p">(</span><span class="n">pixels_original</span><span class="p">[</span><span class="n">y</span><span class="p">],</span> <span class="n">pose_row</span><span class="p">)</span>

网格变形方法

将图像划分为网格,根据运动模型计算每个网格点的位移:

(\Delta x(i,j) = f(\vec{v}{camera}, t{row_i}, K))

其中 K K K是相机内参矩阵。

3.4.4 不同应用场景的快门选择

自动驾驶场景

  • 主摄像头:优选Global Shutter,避免高速运动失真
  • 环视相机:Rolling Shutter可接受(车速较低时)
  • 激光雷达同步相机:必须Global Shutter

具身智能场景

  • 机械臂视觉:Global Shutter,精确定位要求
  • 导航相机:Rolling Shutter配合运动补偿
  • 手势识别:Global Shutter,快速动作捕捉

快门类型对ISP设计的影响:

参数 Rolling Shutter Global Shutter
像素复杂度 低(3T/4T) 高(5T以上)
填充因子 60-70% 30-50%
读出噪声 2-3 e⁻ 5-10 e⁻
帧率 可达1000fps 典型120fps
ISP补偿 需要复杂算法 无需补偿
成本 基准 2-3倍

3.5 Stacked Sensor架构与ISP集成

3.5.1 堆叠式传感器技术原理

Stacked Sensor将像素阵列和处理电路分离到不同晶圆,通过TSV(Through Silicon Via)或Cu-Cu键合连接:

复制代码
传统BSI结构:           堆叠式结构:
┌──────────────┐      ┌──────────────┐
│   微透镜阵列  │      │   微透镜阵列  │
├──────────────┤      ├──────────────┤
│   彩色滤镜    │      │   彩色滤镜    │
├──────────────┤      ├──────────────┤
│   光电二极管  │      │   光电二极管  │ ← 顶层芯片
├──────────────┤      ├──────────────┤
│  读出电路     │      │     TSV      │
│  ADC         │      ├──────────────┤
│  时序控制     │      │   DRAM       │ ← 底层芯片
└──────────────┘      │   ISP逻辑    │
                      │   ADC阵列    │
                      └──────────────┘

堆叠架构的优势:

  1. 像素优化:顶层芯片专注于光电转换优化
  2. 先进制程:底层可采用更先进的逻辑工艺
  3. 片上存储:集成DRAM实现超高速缓存
  4. 并行处理:大规模并行ADC和预处理

3.5.2 片上DRAM的应用模式

Sony的堆叠式传感器集成了1Gb DRAM,支持多种高级功能:

超高速摄影

复制代码
960fps @ 1080p 模式:
传感器 ──960fps──> DRAM ──30fps──> ISP
         (瞬时)    (缓存)   (正常处理)

缓存容量计算:

(T_{buffer} = \frac{DRAM_{size}}{Width \times Height \times BitDepth \times FPS})

对于1Gb DRAM:

  • 1920×1080×12bit×960fps = 23.9Gbps
  • 可缓存约0.7秒的超高速视频

全局快门模拟

利用极短曝光时间(<1ms)配合高ISO增益,在Rolling Shutter传感器上模拟Global Shutter效果。

多帧HDR缓存

复制代码
连续采集3帧不同曝光:
EV-2 ──┐
EV0  ──┼──> DRAM ──> HDR合成 ──> ISP
EV+2 ──┘

3.5.3 片上预处理功能

堆叠架构允许在传感器内集成ISP前端功能:

  1. 黑电平校正: 利用遮光像素实时计算
  2. 温度补偿查找表
  3. 缺陷像素校正: 静态缺陷图存储
  4. 动态检测逻辑
  5. 简单去噪: 2×2像素域滤波
  6. 时域噪声抑制(利用DRAM)
  7. 数据压缩: 无损压缩(DPCM/Huffman)
  8. 智能ROI(Region of Interest)编码

预处理对系统带宽的影响:

(BW_{saved} = BW_{raw} \times (1 - \frac{1}{CR}))

其中CR为压缩比,典型值2-3倍。

3.6 传感器内嵌ISP(On-sensor ISP)趋势

3.6.1 边缘计算驱动的架构演进

传感器内嵌ISP将完整的图像处理集成到传感器芯片:

复制代码
传统架构:
Sensor ──RAW──> ISP ──YUV──> AP/GPU ──> AI

内嵌ISP架构:
Sensor+ISP ──YUV/JPEG──> AP/GPU ──> AI
    ↓
  元数据

驱动因素:

  1. 带宽压力:4K/8K视频的传输瓶颈
  2. 功耗优化:减少数据搬移功耗
  3. 隐私保护:敏感数据不离开传感器
  4. 实时性:降低端到端延迟

3.6.2 功能划分策略

合理的功能划分考虑计算复杂度和数据依赖:

适合内嵌的功能

  • 像素级处理(黑电平、坏点)
  • 固定模式处理(镜头校正)
  • 简单滤波(去噪、锐化)
  • 色彩空间转换
  • 基础压缩(JPEG)

不适合内嵌的功能

  • 复杂的多帧处理
  • 场景依赖的自适应算法
  • 深度学习推理
  • 高级色彩管理

3.6.3 架构设计考虑

可配置性 vs 硬连线

复制代码
可编程架构:
┌────────┐  ┌────────┐  ┌────────┐
│ Stage1 │──│ Stage2 │──│ Stage3 │
└────────┘  └────────┘  └────────┘
     ↑           ↑           ↑
  配置寄存器  配置寄存器  配置寄存器

硬连线架构:
[Sensor]──>[BLC]──>[DPC]──>[Demosaic]──>[CCM]──>[Output]

设计权衡:

  • 灵活性 vs 面积/功耗
  • 开发周期 vs 性能优化
  • 标准兼容 vs 差异化

多模式支持

复制代码
模式切换状态机:
         ┌─────────────┐
         │   预览模式   │<────┐
         └─────────────┘     │
                ↓            │
         ┌─────────────┐     │
         │   拍照模式   │     │
         └─────────────┘     │
                ↓            │
         ┌─────────────┐     │
         │   视频模式   │─────┘
         └─────────────┘

不同模式的ISP配置:

  • 预览:低分辨率、高帧率、简化处理
  • 拍照:全分辨率、完整处理链
  • 视频:中等分辨率、实时性优先

3.7 多传感器同步与触发机制

3.7.1 硬件同步方案

多相机系统的精确同步对自动驾驶至关重要:

主从同步架构

复制代码
  ┌────────┐
  │ Master │──FSIN──>┌─────────┐
  │ Camera │         │ Slave 1 │
  └────────┘         └─────────┘
       │                  ↑
       └──────FSIN────>┌─────────┐
                       │ Slave 2 │
                       └─────────┘

同步信号设计:

  • FSIN(Frame Sync Input):外部触发输入

  • XVS(Vertical Sync):垂直同步输出

  • 同步精度:

    复制代码
    ┌──────────┐
    │   FPGA   │
    │ 触发控制  │
    └──────────┘
     │  │  │  │
     ↓  ↓  ↓  ↓

    CAM1 2 3 4

FPGA生成精确的触发序列,支持:

  • 相位偏移:交替曝光HDR
  • 频率分割:不同相机不同帧率
  • 条件触发:基于外部事件

3.7.2 时间戳对齐策略

精确的时间戳是多传感器融合的基础:

时间戳生成层次

复制代码
GPS/PTP时间源
      ↓
系统时钟(RTC)
      ↓
ISP时间戳计数器
      ↓
帧时间戳(SOF/EOF)

时间戳精度要求:

  • 相机间同步:

    CAM1 ──> ISP1 ──> DDR
    CAM2 ──> ISP2 ──> DDR
    CAM3 ──> ISP3 ──> DDR
    CAM4 ──> ISP4 ──> DDR

优点:并行处理、故障隔离

缺点:资源冗余、成本高

共享ISP架构

复制代码
CAM1 ──┐
CAM2 ──┼──> MUX ──> ISP ──> DEMUX ──> DDR
CAM3 ──┤            ↑
CAM4 ──┘         调度器

优点:资源利用率高

缺点:调度复杂、延迟增加

混合架构(推荐):

复制代码
主相机 ──> 专用ISP(高性能)──> DDR
                                  ↑
环视×4 ──> 共享ISP(基础功能)────┘

资源分配策略:

  • 主相机:独占高性能ISP,低延迟
  • 环视相机:时分复用,成本优化
  • 动态调度:根据场景切换优先级

本章小结

本章深入探讨了图像传感器与ISP的协同设计,涵盖了从像素阵列设计到系统架构的各个层面:

关键概念回顾

  1. Bayer变种:RGBW、RYYB、Quad Bayer等新型CFA提升了感光性能,但增加了ISP复杂度
  2. 接口选择:MIPI CSI-2成为主流,但不同应用场景需要权衡带宽、功耗、成本
  3. PDAF技术:从遮罩型到Dual Pixel,相位对焦与成像质量的平衡不断优化
  4. 快门类型:Rolling Shutter的成本优势vs Global Shutter的图像质量
  5. 堆叠架构:片上DRAM和预处理功能重新定义了传感器能力边界
  6. 内嵌ISP:边缘计算趋势推动传感器智能化
  7. 多传感器同步:自动驾驶对时间同步的严苛要求

关键公式汇总

  • RGBW色彩分离: W = α R ⋅ R + α G ⋅ G + α B ⋅ B W = \alpha_R \cdot R + \alpha_G \cdot G + \alpha_B \cdot B W=αR⋅R+αG⋅G+αB⋅B
  • 像素合并SNR增益: S N R b i n n e d = S N R s i n g l e ⋅ N SNR_{binned} = SNR_{single} \cdot \sqrt{N} SNRbinned=SNRsingle⋅N
  • 相位差与离焦: Δ d = k ⋅ ϕ \Delta d = k \cdot \phi Δd=k⋅ϕ
  • Rolling Shutter倾斜: θ s k e w = arctan ⁡ ( v ⋅ t r e a d o u t D ) \theta_{skew} = \arctan(\frac{v \cdot t_{readout}}{D}) θskew=arctan(Dv⋅treadout)
  • DRAM缓存时间: T b u f f e r = D R A M s i z e W i d t h × H e i g h t × B i t D e p t h × F P S T_{buffer} = \frac{DRAM_{size}}{Width \times Height \times BitDepth \times FPS} Tbuffer=Width×Height×BitDepth×FPSDRAMsize

练习题

基础题

题目3.1:某自动驾驶系统采用RYYB传感器,已知Y滤镜透过率为R的1.3倍、G的1.2倍。若要从RYYB还原标准RGB,请推导色彩转换矩阵。
提示 考虑Y = αR + βG的关系,建立线性方程组。 答案

设Y = 1.3R + 1.2G,则:

R ′ G ′ B ′ = 1 a m p ; 0 a m p ; 0 − 1.3 / 1.2 a m p ; 1 / 1.2 a m p ; 0 0 a m p ; 0 a m p ; 1 R Y B \begin{bmatrix} R' \\ G' \\ B' \end{bmatrix} = \begin{bmatrix} 1 &amp; 0 &amp; 0 \\ -1.3/1.2 &amp; 1/1.2 &amp; 0 \\ 0 &amp; 0 &amp; 1 \end{bmatrix} \cdot \begin{bmatrix} R \\ Y \\ B \end{bmatrix} R′G′B′ = 1−1.3/1.20amp;0amp;1/1.2amp;0amp;0amp;0amp;1 ⋅ RYB

简化后:

G ′ = 0.833 Y − 1.083 R G' = 0.833Y - 1.083R G′=0.833Y−1.083R

需要注意噪声放大系数约为1.4倍。

题目3.2:Quad Bayer传感器在2×2合并模式下,理论SNR提升为多少dB?实际提升通常低于理论值,请分析原因。
提示 SNR以dB表示:SNR(dB) = 20×log₁₀(SNR_linear) 答案

理论提升:

  • 4像素合并,SNR提升√4 = 2倍
  • 转换为dB:20×log₁₀(2) = 6.02 dB

实际低于理论值的原因:

  1. 读出噪声不完全相关,不能完全抵消
  2. 像素间串扰引入额外噪声
  3. ADC量化噪声的影响
  4. 实际提升通常为4-5 dB

题目3.3:MIPI CSI-2使用RAW10格式,传输4K@60fps需要多少带宽?若使用4-lane D-PHY(每lane 2.5Gbps),是否满足要求?
提示 RAW10每像素10bit,考虑Bayer pattern。 答案

带宽计算:

  • 分辨率:3840 × 2160
  • 帧率:60 fps
  • 位深:10 bit/pixel
  • 带宽 = 3840 × 2160 × 60 × 10 = 4.98 Gbps

4-lane D-PHY总带宽:

  • 4 × 2.5 Gbps = 10 Gbps
  • 考虑协议开销(约20%),有效带宽约8 Gbps
  • 满足4.98 Gbps需求,有充足余量

挑战题

题目3.4:设计一个支持Dual Pixel AF的ISP数据通路,要求同时输出相位数据和图像数据。请画出数据流图并计算各阶段的带宽需求。假设传感器为24MP,30fps。
提示 Dual Pixel需要分离左右PD数据,考虑并行处理路径。 答案

数据流设计:

复制代码
传感器(48MP) ──12bit──&gt; 分离器 ──┬──&gt; 左PD(24MP) ──&gt; 相位处理
                              │                      ↓
                              └──&gt; 右PD(24MP) ──&gt; 相关计算
                              │                      ↓
                              └──&gt; 合并(24MP) ──&gt; ISP主路径

带宽计算:

  • 传感器输出:48MP × 30fps × 12bit = 17.28 Gbps
  • 分离后每路:24MP × 30fps × 12bit = 8.64 Gbps
  • 相位处理可降采样:6MP × 30fps × 8bit = 1.44 Gbps
  • ISP主路径:24MP × 30fps × 12bit = 8.64 Gbps
  • 总线带宽需求:~20 Gbps(考虑并行处理)

题目3.5:某车载系统有4个环视相机(Rolling Shutter)和1个前视相机(Global Shutter)。设计一个同步触发方案,要求:

  • 环视相机同步误差<1ms
  • 前视相机可独立高帧率运行
  • 支持环视相机HDR模式

提示 考虑主从触发和独立触发的组合方案。 答案

同步方案设计:

  1. 硬件架构

    FPGA触发控制器
    ├── 环视组(30fps,同步)
    │ ├── CAM_FL(前左)
    │ ├── CAM_FR(前右)
    │ ├── CAM_RL(后左)
    │ └── CAM_RR(后右)
    └── 前视(60fps,独立)
    └── CAM_FRONT

  2. 触发时序(HDR模式):

    环视组:
    T0: 短曝光触发 ──> 所有环视相机
    T0+8ms: 长曝光触发 ──> 所有环视相机
    T0+33ms: 下一周期

    前视:
    独立60fps触发,不受环视组影响

  3. 同步保证

  • 使用同一时钟源(如25MHz晶振)
  • FPGA内部计数器精度:40ns
  • 触发信号上升沿同步,jitter < 100ns
  • 软件时间戳校正残余误差

题目3.6 :分析Stacked Sensor中集成1Gb DRAM的成本效益。考虑以下应用场景:

a) 960fps超高速摄影

b) 12MP普通拍照

c) 4K@60fps HDR视频

计算每种场景下DRAM的利用率和价值。
提示 分析DRAM容量、带宽和各场景的实际需求。 答案

a) 960fps超高速摄影

  • 数据率:1920×1080×12bit×960fps = 23.9 Gbps
  • DRAM可缓存:1Gb ÷ 23.9Gbps = 0.7秒
  • 利用率:100%(DRAM是实现此功能的关键)
  • 价值:高(离线DRAM无法达到此带宽)

b) 12MP普通拍照

  • 单帧大小:12MP × 12bit = 144 Mbit
  • DRAM可存储:1Gb ÷ 144Mbit = 7帧
  • 利用率:低(<20%)
  • 价值:低(普通拍照不需要帧缓存)

c) 4K@60fps HDR视频

  • 3帧HDR:3840×2160×12bit×60fps×3 = 4.48 Gbps
  • DRAM作用:缓存3帧进行合成
  • 利用率:中等(~50%)
  • 价值:高(降低系统DDR带宽压力)

成本效益分析

  • DRAM成本:约增加30%芯片成本
  • 高速摄影和HDR视频场景价值最大
  • 建议:高端产品采用,中低端可选择性集成

常见陷阱与错误(Gotchas)

  1. Bayer Pattern识别错误 错误:假设所有传感器都是RGGB
  2. 后果:严重的色彩错误,绿色变紫色等
  3. 预防:读取传感器寄存器确认CFA类型
  4. MIPI CSI-2虚拟通道混淆 错误:硬编码VC0为图像数据
  5. 后果:可能接收到元数据或统计信息
  6. 预防:解析包头,根据数据类型标识处理
  7. PDAF像素补偿不当 错误:简单复制邻近像素
  8. 后果:图像出现规律性亮点或暗点
  9. 预防:使用方向性插值,考虑边缘信息
  10. Rolling Shutter补偿过度 错误:静态场景也应用运动补偿
  11. 后果:引入不必要的畸变
  12. 预防:基于运动检测自适应开启
  13. 多传感器时间戳漂移 错误:只在启动时同步一次
  14. 后果:长时间运行后时间戳偏差累积
  15. 预防:定期校准,使用PTP等同步协议
  16. Quad Bayer模式切换抖动 错误:频繁切换分辨率模式
  17. 后果:视频闪烁,自动对焦震荡
  18. 预防:添加迟滞逻辑,平滑过渡
  19. 堆叠传感器热管理忽视 错误:未考虑DRAM和逻辑电路发热
  20. 后果:高温导致暗电流激增,图像质量劣化
  21. 预防:监控温度,动态调整工作模式

最佳实践检查清单

传感器选型阶段

  • 确认CFA类型与ISP算法匹配
  • 评估接口带宽是否满足最高分辨率和帧率需求
  • 验证PDAF覆盖率和密度满足对焦速度要求
  • 根据应用场景选择合适的快门类型
  • 考虑未来升级,预留接口和处理能力

ISP设计阶段

  • 支持多种Bayer pattern的灵活架构
  • MIPI接收器支持多虚拟通道和数据类型
  • PDAF数据路径与图像数据路径并行设计
  • Rolling Shutter补偿算法可配置开关
  • 预留传感器内嵌ISP的bypass通路

系统集成阶段

  • 多传感器同步精度测试(<1ms)
  • 时间戳一致性验证
  • 热运行测试,监控温度和图像质量
  • 不同光照条件下的模式切换测试
  • 长时间运行稳定性验证

调试优化阶段

  • 使用标准测试图卡验证色彩准确性
  • 检查PDAF像素补偿后的图像均匀性
  • 测量实际SNR提升vs理论值
  • 优化多传感器ISP资源分配策略
  • 验证各种边界条件(过曝、欠曝、高速运动)
相关推荐
几司4 天前
第1章:ISP概述与发展历程
isp
木 东10 天前
图像高亮处过曝,该如何解决
图像处理·数码相机·camera·isp
岁月蹉跎的一杯酒13 天前
全志ISP调试相关文档—持续更新
isp
几司16 天前
OpenISP 模块拆解 · 第9讲:伽马校正 (GAC)
isp
几司16 天前
OpenISP 模块拆解 · 第7讲:去马赛克 (CFA)
isp
木 东16 天前
调试项目上只更换镜头,主要影响哪些效果
图像处理·数码相机·camera·isp
几司18 天前
OpenISP 模块拆解 · 第13讲:边缘增强 (EEH)
isp
几司18 天前
OpenISP 模块拆解 · 第14讲:伪彩抑制 (FCS)
isp
几司18 天前
OpenISP 模块拆解 · 第16讲:亮度对比度控制 (BCC)
isp