四路 1080p 拼接与 4K 输出的带宽账本
四路 1080p 摄像头拼接成一路 4K 画面输出,看起来只是”把四个画面拼在一起”,但背后是一笔带宽账:输入带宽、DDR 帧缓存带宽、缩放运算带宽、输出带宽,四层叠在一起。算不清这笔账,轻则画面卡顿撕裂,重则 DDR 直接跑爆。这篇文章从像素时钟算起,把整条拼接链路的带宽一笔一笔算清楚。
一、先算输入带宽:四路 1080p60 有多少数据
四路 1080p60 摄像头,每路按 8-bit RGB 计算:
| 项目 | 计算公式 | 结果 |
|---|---|---|
| 单路像素 | 1920 × 1080 | 2,073,600 像素/帧 |
| 单路帧率 | 60 帧/秒 | — |
| 单路数据率(8-bit RGB) | 1920 × 1080 × 3 × 8 × 60 | ≈ 2.99 Gb/s ≈ 374 MB/s |
| 四路总输入 | 2.99 Gb/s × 4 | ≈ 11.96 Gb/s ≈ 1.5 GB/s |
如果是 YCbCr 4:2:2(工业摄像头常见格式),每像素 16 bit,单路数据率:
1920 × 1080 × 16bit × 60fps ≈ 1.99 Gb/s ≈ 249 MB/s;四路合计 ≈ 7.97 Gb/s ≈ 996 MB/s。
这笔输入账决定了 FPGA 接收端要配多少 GTP/GTX 收发器、多少 HDMI 解码器芯片。
二、DDR 帧缓存:读写双向,带宽翻倍
四路视频要做拼接,必须先缓存到 DDR 里。因为四路输入时序不同步,而且输出是 4K60 统一时钟,必须靠 DDR 做跨时钟域缓冲。
帧缓存怎么占 DDR
四路 1080p,每路缓存 2 帧(双缓冲,避免撕裂):
| 项目 | 计算 | 结果 |
|---|---|---|
| 单帧大小(1080p60 8-bit RGB) | 1920 × 1080 × 3 byte | ≈ 6.2 MB |
| 四路双缓冲 | 6.2 MB × 4 × 2 | ≈ 49.6 MB |
| 4K 输出帧缓冲(3840×2160) | 3840 × 2160 × 3 byte | ≈ 24.9 MB |
| DDR 总占用 | — | ≈ 75 MB |
DDR 带宽预算:读+写双倍
数据流是这样走的:四路输入 → DDR 写(存帧)→ 缩放引擎读 → DDR 读(取帧)→ 拼接 → 输出。
每秒 DDR 要承受的读写总量:
| 方向 | 数据量/秒 | 说明 |
|---|---|---|
| DDR 写(四路输入) | ≈ 1.5 GB/s | 四路 1080p 写入 |
| DDR 读(四路读出缩放) | ≈ 1.5 GB/s | 四路读出做缩放 |
| DDR 写(拼接后 4K) | ≈ 1.5 GB/s | 4K60 帧写入输出缓冲 |
| DDR 读(4K 输出) | ≈ 1.5 GB/s | 4K60 读出送 HDMI |
| DDR 总带宽需求 | ≈ 6 GB/s | 读写双向叠加 |
三、输出带宽:4K60 有多大
拼接输出是 3840×2160@60Hz,8-bit RGB:
| 项目 | 计算公式 | 结果 |
|---|---|---|
| 4K60 数据率 | 3840 × 2160 × 3 × 8 × 60 | ≈ 11.94 Gb/s ≈ 1.49 GB/s |
| HDMI 2.0 带宽 | — | 18 Gb/s(足够) |
| DP 1.2 带宽 | — | ≈ 17.3 Gb/s(刚好) |
4K60 输出本身 12 Gb/s,HDMI 2.0 和 DP 1.2 都能跑,但要注意:输出时钟和 DDR 读时钟是异步的,必须靠 FIFO 做跨时钟域。
四、整条链路带宽总账
| 环节 | 带宽 | 占用器件 |
|---|---|---|
| 四路 1080p 输入 | ≈ 1.5 GB/s | HDMI 解码器 + FMC/并行 IO |
| DDR 写(输入缓存) | ≈ 1.5 GB/s | DDR 控制器 |
| DDR 读(缩放取帧) | ≈ 1.5 GB/s | DDR 控制器 |
| 缩放引擎 | ≈ 1.5 GB/s | DSP / 逻辑资源 |
| DDR 写(4K 帧缓冲) | ≈ 1.5 GB/s | DDR 控制器 |
| DDR 读(4K 输出) | ≈ 1.5 GB/s | DDR 控制器 |
| 4K60 HDMI 输出 | ≈ 1.5 GB/s | HDMI 2.0 TX |
| DDR 峰值总带宽 | ≈ 6 GB/s | — |
为什么 DDR 是瓶颈?
笃远常用板卡的 DDR 带宽:
- DUK7410T(4GB DDR3 64bit 1866Mbps):≈ 14.9 GB/s —— 跑 6 GB/s 绰绰有余
- DUF7690T(4GB DDR3 64bit 1866Mbps):≈ 14.9 GB/s —— 同上
- XCKU15P(8GB DDR4 ECC 64bit 2400Mbps):≈ 19.2 GB/s —— 余量更大,适合多路 4K 叠加
四路 1080p 拼接 4K 输出,DDR3 都够;但如果要上八路 1080p 或者两路 4K 输入,就必须上 DDR4。
五、三款板卡怎么选
DUK7410T(¥9,999)——四路 1080p 拼接入门
复旦微 JFM7K410T,逻辑资源够用,DDR3 带宽 14.9 GB/s 跑四路拼接余量充足。配 FMC HPC 子卡接四路 HDMI 输入,板载 HDMI 输出做 4K 显示。适合小尺寸拼接屏(2×2)和工业监视墙起步。
DUF7690T(¥24,999)——多路拼接主力
复旦微 JFM7VX690T,逻辑资源翻几倍,DSP 数量充裕,缩放滤波和色彩校正更复杂。板载 QSFP 40G 可以把拼接后的 4K 流通过光纤传到远端大屏。适合多屏拼接 + 光纤回传的场景。
XCKU15P(¥15,999)——高带宽 4K 叠加
AMD Kintex UltraScale+ XCKU15P,DDR4 ECC 带宽 19.2 GB/s,配合 UltraScale+ 的新一代收发器架构,适合八路 1080p 拼接或者两路 4K 输入叠加的场景。如果将来要升级到 8 路或 4K60 多路输入,直接上这款。
四路拼接不难,难的是把每一路带宽算准。DDR 是拼接系统里最容易被低估的瓶颈——输入 1.5 GB/s 看着不多,读写双向叠起来就是 6 GB/s,选板卡前先算这笔账。
>
—— 笃远电子研发团队
