Skip to content

CCD 相机的像素读取方式

如果搜索 CCD 和 CMOS 的像素读取区别,经常能看到一句话:CCD 是每次一行读取,每次读取完之后逐行“搬运”到输出端进行电压读出;CMOS 是每个像素一下子读取的。

我当时对 CCD 读取的方式理解有误,有了这个问题,下面是大模型的回答进行了一些修改。

那一行一行送到寄存器中,CCD是怎么获取图像数据的?这样操作不是只能获取每一行的总和吗?

非常好的问题!👏
这说明你已经深入理解了 CCD 的“移位”过程,而你提到的疑问确实是很多人初学时的困惑。
让我们仔细理一理这一步是怎么做到每个像素都能单独读出的——而不是整行总和。


🧩 关键点:CCD 是“逐像素移位”的,不是“整行加和”

虽然 CCD 是一行一行地把像素电荷送入水平寄存器的,但——
⚠️ 每个像素的电荷在水平方向上也是逐个移位、逐个输出的,不会混在一起。

可以这么理解:

一、垂直方向(行扫描)

1. 整个感光区是一个二维阵列,比如 1024 × 768
2. 当曝光结束后,第一行的电荷(第1行像素)被整体“推入”水平移位寄存器(HCCD)。
3. 这时候,仅这一行的像素进入“读出区”。

所以垂直方向上确实是“一行一行”在读,但这一行内部的像素仍是独立的。


二、水平方向(列扫描)

接下来:

  • 水平移位寄存器(HCCD)内部也由许多“电荷单元”组成(与像素列数相同,比如1024个)。
  • 通过水平时钟信号,这1024个电荷会一个接一个被推向输出放大器。

📤 输出端只会在每次推送一个电荷时输出一个电压信号。

这就是每个像素的灰度值。


三、时间顺序示意

假设是一个 3×3 的 CCD,为了简单说明:

行1: [a11 a12 a13]
行2: [a21 a22 a23]
行3: [a31 a32 a33]

则输出过程是这样:

1️⃣ 垂直转移:将行1移到水平寄存器。
2️⃣ 水平转移输出:

输出顺序:a11 → a12 → a13

3️⃣ 再垂直转移行2 → 水平移位输出:

输出顺序:a21 → a22 → a23

4️⃣ 同理:

a31 → a32 → a33

所以最终读出的信号顺序(1D 数据流)是:

a11, a12, a13, a21, a22, a23, a31, a32, a33

——刚好是逐行扫描的完整图像数据。


🧠 重点总结

步骤 动作 结果
垂直移位 一行行移动到水平寄存器 行扫描
水平移位 寄存器中像素逐个推出 列扫描
输出放大器 将电荷 → 电压信号 → ADC 转为数字 像素值获取
最终输出 连续的数据流,每个值对应一个像素 形成图像矩阵

🎥 类比理解

你可以把 CCD 想象成:

  • 有一个货架阵列(像素);
  • 每一层(行)货架的箱子(像素电荷)被推到传送带上;
  • 传送带再一个一个地把箱子送到出口称重机(输出放大器);
  • 称重机会记录每个箱子的重量(像素亮度)。

这样一来,整张图像的所有像素都能单独读出。


是否希望我帮你画一张CCD电荷传输示意图(包括垂直、水平移位和输出放大器的对应位置)?
样你会更直观地看到“一行一行+一像素一像素”的过程。

我的天,那这样速度比CMOS会慢好多,相当于如果有n*m的图像,会慢n倍

完全正确 😄,你抓住了 CCD 的致命缺点之一 ——
它的读出速度确实比 CMOS 慢得多,这正是为什么如今几乎所有数码相机、手机、工业相机都转向 CMOS 的核心原因。

不过我们可以更精确地理解一下为什么会 “慢 n 倍”,以及 CCD 是怎么尽量缓解这个问题的。


⚙️ 一、CCD 的读取方式决定了速度瓶颈

你说得非常准确:

“n×m 的图像要一行一行读出,相当于慢 n 倍”

是的——因为 CCD 的像素信号不能并行读出,而是必须依次移位

  • 垂直方向: 把 n 行依次推送到水平移位寄存器;
  • 水平方向: 每行再逐像素移位(m 次)到输出端;
  • 每个像素都要经过电荷转移 → 放大 → 采样 → ADC

因此,一个完整的帧需要:

n(行数) × m(列数) 次电荷转移操作。

所以理论上,读取时间 ∝ 像素总数。


⚡ 二、CMOS 的并行优势

CMOS 的工作方式完全不同:

对比项 CCD CMOS
读出方式 电荷移位,一路串行 每个像素自带放大器,可并行读取
速度 慢,依赖移位时钟 快,可随机访问行/列/区域
功耗 高(持续时钟驱动+长距离电荷传输) 低(就地放大+局部读出)
噪声 低,读出电路统一 略高,受像素间工艺差异影响
均匀性 极好(每像素处理路径相同) 较差,需要校正

👉 CMOS 实际上是一个“每个像素都带放大器的微型电路”,它输出的是电压信号,不需要“传送电荷”这一步。


🧩 三、CCD 的“补救办法”

CCD 工程师也意识到了串行传输太慢,于是发明了几种折衷方案:

1️⃣ 多通道读出(Multiple Output Node)

  • 把感光区分成几块(例如左右各半),每块有自己的输出放大器;
  • 相当于多条“传送带”并行输出。

例如:

4 通道 CCD = 速度提升 4 倍
16 通道 CCD = 速度提升 16 倍

👉 但这样会增加读出电路复杂度和噪声匹配难度。


2️⃣ Frame-Transfer CCD

  • CCD 分为两部分:光敏区存储区
  • 曝光结束后,整帧图像瞬间转移到存储区(避免拖影),然后慢慢读;
  • 提高帧率、减少读出期间曝光干扰,但仍然是串行。

3️⃣ Interline CCD(交错式)

  • 每个像素旁边放一条“垂直转移通道”,曝光结束立即把电荷塞进通道;
  • 可实现电子快门;
  • 但填充率下降(因为部分面积被传输通道占用)。

🕓 四、简单算一个数量级

假设:

  • CCD:1024 × 1024 像素;

  • 每个像素的移位时间:1 µs

  • 则读取一帧:

1024 × 1024 × 1µs ≈ 1.05 秒

👉 实际 CCD 的时钟更快(~MHz 级),所以帧率通常在 几帧到几十帧每秒,但和 CMOS 动辄上百上千帧相比,确实慢很多。


🧠 五、小结一句话:

CCD 就像一台“排队结账的超市”,所有像素必须按顺序过结账机;

CMOS 则是“每个货架自带扫码枪”,各行各列可以同时结账。


是否希望我帮你画一张图,展示 CCD 和 CMOS 在读出路径上的区别?那样你一眼就能看到 CCD 串行、CMOS 并行的结构差异。

Comments