1. AI ISP概述与系统架构

各位同学好,我是老李。在芯片设计这行摸爬滚打了十几年,从传统 ISP 做到 AI ISP,踩过的坑不少。今天咱们开篇先聊聊 AI ISP 到底是什么,它跟传统 ISP 有啥区别,以及整个系统是怎么搭起来的。

说白了,AI ISP 就是把深度学习算法塞进图像信号处理 pipeline 里。传统 ISP 靠的是固定算法和手动调参,而 AI ISP 用神经网络来替代或增强某些模块。我刚开始接触这个方向时也觉得是噱头,直到在低光照场景下看到 AI 降噪的效果——嗯,那差距确实不是一星半点。

1.1 什么是 AI ISP

AI ISP,全称 Artificial Intelligence Image Signal Processor。它不是推翻传统 ISP,而是在传统 pipeline 的关键节点上,用 AI 模型替代或增强原有模块。

核心思路: 用数据驱动的方式,让芯片学会如何更好地处理图像。传统 ISP 是工程师写规则,AI ISP 是让网络从海量数据中自己学规则。

举个例子。传统 ISP 的降噪模块,通常用空域滤波或时域滤波,参数靠经验调。AI ISP 的降噪,直接上一个轻量级 CNN,输入噪声图,输出干净图。效果嘛,我在一个低照度项目里对比过,AI 方案能多保留 3-5dB 的信噪比,细节纹理也清晰得多。

1.2 传统 ISP vs AI ISP:到底差在哪

我整理了一张对比表,大家先扫一眼,后面咱们逐条展开。

对比维度 传统 ISP AI ISP
算法本质 固定规则 + 手动调参 数据驱动 + 模型推理
低光照表现 噪声大、细节丢失 显著降噪、保留纹理
HDR 合成 多帧对齐 + 加权融合 端到端 HDR 重建
色彩还原 3x3 色彩校正矩阵 可学习色彩映射
硬件开销 专用硬件,面积小 需要 NPU/DSP,面积大
功耗 低(几十 mW) 较高(几百 mW 起)
灵活性 固定 pipeline,改算法需改 RTL 可更新模型,算法升级灵活
调试难度 调参数,可解释性强 调模型,黑盒特性,调试困难

这里我想多说一句。传统 ISP 不是要被淘汰,而是在很多场景下它依然是性价比之王。AI ISP 更适合那些对画质有极致要求的场景——比如旗舰手机、安防监控、车载摄像头。我做过一个项目,客户要求 0.1 lux 下还能看清车牌,传统 ISP 怎么调都达不到,最后上了 AI 降噪才过。

1.3 AI ISP 的典型系统架构

好,接下来是重点。AI ISP 的系统架构,我习惯把它分成三大块:前端 Sensor 接口、AI 处理单元、后端显示/编码接口。下面这张图是我自己画的,大家先有个整体印象。

AI ISP 系统典型架构 前端 Sensor 接口 MIPI CSI-2 / LVDS RAW 数据接收 坏点校正 (DPC) 黑电平校正 (BLC) AI 处理单元 AI 降噪 (CNN) AI 超分 (SRCNN) AI HDR 合成 AI 色彩映射 NPU / DSP 加速器 模型参数存储 (SRAM/DRAM) 后端显示/编码接口 RGB/YUV 输出 MIPI DSI / HDMI JPEG / HEVC 编码 显示控制器 控制总线 (APB / AXI-Lite) — 寄存器配置 & 模型加载 数据总线 (AXI4-Stream / AXI4-Full) — 图像数据 & 权重传输 说明:AI 处理单元通常作为协处理器,通过 AXI 总线与前端接口、后端接口以及 DDR 交互。 控制总线负责寄存器配置和模型加载,数据总线负责图像数据和权重传输。

1.4 前端 Sensor 接口

前端接口负责从图像传感器接收 RAW 数据。这里有几个关键点。

  • 物理层: 主流是 MIPI CSI-2,也有用 LVDS 的。我建议优先选 MIPI,生态成熟,IP 好找。
  • 数据格式: 通常是 Bayer RAW(10bit/12bit/14bit)。设计时要支持多种位宽,因为不同 sensor 输出不一样。
  • 预处理: 坏点校正 (DPC) 和黑电平校正 (BLC) 一般放在这里。这两个模块虽然简单,但做不好后面 AI 处理也会受影响。

经验之谈: 前端接口的时钟域处理要特别小心。Sensor 过来的时钟和芯片内部时钟往往是异步的,跨时钟域同步做不好,数据会丢包。我见过一个项目,就是因为 MIPI 接口的 FIFO 深度没算对,导致高帧率下丢行——查了三天才找到原因。

1.5 AI 处理单元

这是 AI ISP 的核心。它通常包含一个 NPU 或 DSP 加速器,以及配套的存储和 DMA。

设计时要注意以下几点:

  1. 计算精度: 训练时用 FP32,推理时量化到 INT8 甚至 INT4。量化精度损失要提前评估,我在一个项目里试过 INT4,PSNR 掉了 2dB 多,最后改回 INT8 才过验收。
  2. 数据流: AI 处理单元需要高带宽的数据输入。建议用 AXI4-Stream 做像素流,用 AXI4-Full 做权重加载。两条通道分开,避免互相干扰。
  3. 模型切换: 不同场景(白天/夜晚/运动)可能需要不同模型。设计时要支持模型热切换,不能掉帧。
  4. 中间结果缓存: AI 处理会产生大量中间特征图,片内 SRAM 通常不够,需要频繁访问 DDR。这里要做好带宽规划,不然会成为瓶颈。

注意: AI 处理单元的功耗通常占整个芯片的 40%-60%。如果散热条件有限,要考虑降频或分时调度。我曾经有个项目,AI 模块全速运行时芯片温度飙到 105°C,最后不得不加了 DVFS 动态调压。

1.6 后端显示/编码接口

AI 处理完的图像,最终要输出给显示或编码器。

  • 显示接口: 常见的有 MIPI DSI、HDMI、DisplayPort。输出格式通常是 RGB888 或 YUV420。
  • 编码接口: 如果要做录像或拍照,需要接 JPEG 或 HEVC 编码器。编码器对输入格式有要求,一般是 YUV420,所以 AI 处理单元输出时要做好色彩空间转换。
  • 帧率匹配: 前端输入帧率和后端输出帧率可能不一致。比如前端 30fps,AI 处理需要 2 帧时间,那后端就只能输出 15fps。这里需要加帧缓冲,或者做帧率控制。

1.7 系统集成要点

最后,我总结几个系统集成时容易踩的坑。

集成要点 说明 我的建议
带宽规划 AI 处理单元 + 前端 + 后端 + DDR 的总带宽要算清楚 预留 30% 余量,避免极端场景下带宽不足
延迟控制 从 sensor 输入到显示输出,端到端延迟要满足应用要求 预览模式 < 100ms,拍照模式可以放宽到 500ms
同步机制 前端帧同步、AI 处理完成中断、后端帧同步要协调好 用硬件帧号 (Frame ID) 做同步,避免软件干预
调试接口 AI 模型是黑盒,调试困难 预留 RAW 数据抓取通道,方便离线分析
功耗管理 AI 模块功耗高,需要精细控制 设计多级休眠状态,根据场景动态切换

好了,第一章的内容就到这里。AI ISP 是个系统工程,前端、AI 处理、后端环环相扣。后面几章咱们会深入每个模块的 RTL 设计细节,包括 MIPI 接口的 PHY 层设计、NPU 的微架构、以及 AXI 总线的带宽优化。大家先把架构理清楚,后面写代码时心里才有底。