4 系統 1080p から 4K 出力へのステッチ:帯域の帳簿合わせ
4 系統の 1080p カメラ映像を 1 つの 4K 出力にステッチするのは「4 枚の絵を並べるだけ」に見えるが、その実は帯域の帳簿だ——入力帯域、DDR フレームバッファ帯域、スケーリングエンジン帯域、出力帯域が 4 層に重なっている。計算を誤ると、カクつき、ティアリング、DDR 過負荷を招く。本稿ではピクセルクロックから順に各層を追う。
1. 入力帯域:1080p60 が 4 系統でどれだけになるか
1080p60 カメラ 4 台、各 8-bit RGB:
| 項目 | 計算式 | 結果 |
|---|---|---|
| 1 チャネルあたりのピクセル数 | 1920 × 1080 | 2,073,600 ピクセル/フレーム |
| フレームレート | 60 fps | — |
| チャネルあたりデータレート(8-bit RGB) | 1920 × 1080 × 3 × 8 × 60 | ≈ 2.99 Gb/s ≈ 374 MB/s |
| 4 チャネル合計の入力 | 2.99 Gb/s × 4 | ≈ 11.96 Gb/s ≈ 1.5 GB/s |
YCbCr 4:2:2(産業用カメラで一般的)を使う場合、1 ピクセル 16 bit:
1920 × 1080 × 16bit × 60fps ≈ 1.99 Gb/s ≈ 249 MB/s、4 チャネルで ≈ 7.97 Gb/s ≈ 996 MB/s。
この入力値が、FPGA の受信部に必要な GTP/GTX トランシーバと HDMI デコードチップの数を決める。
2. DDR フレームバッファ:読み書きで帯域が倍増
4 系統の映像はステッチ前に DDR へバッファリングする必要がある。4 つの入力は非同期で、4K60 出力は統一クロックで動く——DDR がクロック跨ぎバッファになる。
フレームバッファが占有する DDR 量
1080p 4 チャネル、ダブルバッファ(ティアリング防止に各 2 フレーム):
| 項目 | 計算 | 結果 |
|---|---|---|
| 単一フレームサイズ(1080p60 8-bit RGB) | 1920 × 1080 × 3 バイト | ≈ 6.2 MB |
| 4 チャネル × ダブルバッファ | 6.2 MB × 4 × 2 | ≈ 49.6 MB |
| 4K 出力フレームバッファ(3840×2160) | 3840 × 2160 × 3 バイト | ≈ 24.9 MB |
| DDR 占有量 合計 | — | ≈ 75 MB |
DDR 帯域予算:読み書きで倍々ゲーム
データフロー:4 入力 → DDR 書き込み(フレーム格納)→ スケーリングエンジンが読む → DDR 読み出し(フレーム取り出し)→ ステッチ → 出力。
毎秒、DDR は以下を捌く必要がある:
| 方向 | データ/秒 | 備考 |
|---|---|---|
| DDR 書き込み(4 入力) | ≈ 1.5 GB/s | 1080p フレーム 4 枚を書き込み |
| DDR 読み出し(スケーリング用) | ≈ 1.5 GB/s | スケーリング用に 4 フレームを読み出し |
| DDR 書き込み(ステッチ後 4K) | ≈ 1.5 GB/s | 4K60 フレームを出力バッファへ書き込み |
| DDR 読み出し(4K 出力) | ≈ 1.5 GB/s | HDMI 送信用に 4K60 フレームを読み出し |
| 必要 DDR 帯域 合計 | ≈ 6 GB/s | 読み書き合算 |
3. 出力帯域: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 が要る。
4. フルチェーン帯域の帳簿
| 段階 | 帯域 | デバイス |
|---|---|---|
| 1080p 4 系統入力 | ≈ 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 がボトルネックになるのか
Duyuan の代表的なボードの DDR 帯域:
- DUK7410T(4GB DDR3 64-bit 1866Mbps):≈ 14.9 GB/s — 6 GB/s には十分
- DUF7690T(4GB DDR3 64-bit 1866Mbps):≈ 14.9 GB/s — 同じ
- XCKU15P(8GB DDR4 ECC 64-bit 2400Mbps):≈ 19.2 GB/s — 多チャネル 4K にさらに余裕
4 系統 1080p の 4K ステッチは DDR3 で動く。しかし 1080p を 8 系統、または 4K 入力を 2 系統にするなら DDR4 が必要。
5. どのボードを選ぶか
DUK7410T(¥9,999)——エントリー向け 4 系統ステッチ
FMSH JFM7K410T。ロジックリソースは十分、DDR3 の 14.9 GB/s 帯域は 4 系統ステッチに余裕を持って応える。FMC HPC カードと組み合わせて 4 系統の HDMI 入力、オンボード HDMI 出力を 4K 表示に。小規模な 2×2 映像壁や産業用監視に最適。
DUF7690T(¥24,999)——多チャネルステッチの主力
FMSH JFM7VX690T。ロジックと DSP が数倍、より複雑なスケーリングフィルタや色補正を捌く。オンボード QSFP 40G でステッチ後の 4K ストリームを光で遠隔ディスプレイへ送信可能。マルチ画面ステッチ + 光バックホール向け。
XCKU15P(¥15,999)——高帯域 4K オーバーレイ
AMD Kintex UltraScale+ XCKU15P。DDR4 ECC 帯域 19.2 GB、UltraScale+ トランシーバと組み合わせる。8 系統 1080p ステッチやデュアル 4K 入力のオーバーレイ向け。将来 8 チャネルや複数 4K60 入力へ拡張する予定ならこちらを選ぶ。
4 系統のステッチ自体は難しくない——難しいのは各チャネルの帯域を正しく見積もること。ステッチシステムで最も過小評価されるボトルネックが DDR だ:入力 1.5 GB/s は小さく見えても、読み書きで倍々になり 6 GB/s になる。ボードを選ぶ前に計算せよ。
—— Duyuan エンジニアリングチーム
