GigE 카메라 대역폭 계산기
해상도·픽셀 형식(Mono8·Mono12·RGB8 등)·fps·카메라 수로 영상 데이터 속도(MB/s)와 1·2.5·5·10 GbE 링크 대비 비율, 링크 안에서 낼 수 있는 최대 fps 를 계산합니다.
계산식
- 영상 데이터 속도 [바이트/s] = 가로 × 세로 × (화소당 비트 ÷ 8) × fps
- 모든 카메라 합 = 카메라 한 대 × 카메라 수 (한 랜카드 포트·한 스위치 업링크를 나눠 쓸 때)
- 링크 총 속도 = 링크 [Gbit/s] × 10⁹ ÷ 8 — 1 GbE = 125 MB/s
- 최대 fps = 쓸 수 있는 속도 ÷ 카메라 수 ÷ 한 프레임 바이트
- MB = 10⁶ 바이트. 이더넷·IP·UDP·GVSP 머리글 같은 프로토콜 오버헤드는 넣지 않은 단순 계산입니다 — 그 몫은 «쓸 수 있는 속도» 를 낮게 잡아 남깁니다.
해상도별 최대 fps (1 GbE, 쓸 수 있는 속도 110 MB/s, 카메라 1대)
| 해상도 | Mono8 한 프레임 (MB) | Mono8 | Mono12 (16비트) | RGB8 |
|---|---|---|---|---|
| 640 × 480 | 0.31 | 358.1 | 179.0 | 119.4 |
| 1280 × 1024 | 1.31 | 83.9 | 42.0 | 28.0 |
| 1920 × 1200 | 2.30 | 47.7 | 23.9 | 15.9 |
| 2448 × 2048 | 5.01 | 21.9 | 11.0 | 7.3 |
| 4096 × 3000 | 12.29 | 9.0 | 4.5 | 3.0 |
카메라 쪽 한계(센서 최대 fps·노출 시간)는 넣지 않았습니다. 표의 값은 링크가 허락하는 상한이고, 실제 fps 는 카메라 데이터시트의 최대 fps 와 둘 가운데 작은 쪽입니다.
픽셀 형식과 화소당 크기
| 형식 | 화소당 비트 | 설명 |
|---|---|---|
| Mono8 · Bayer**8 | 8 | 8비트 한 성분 |
| Mono10 · Mono12 · Bayer**10 · Bayer**12 | 16 | unpacked — 성분마다 다음 바이트 경계까지 0 으로 채움 |
| Mono10p · Bayer**10p | 10 | lsb packed — 빈 비트 없이 이어 붙임 |
| Mono12p · Bayer**12p | 12 | lsb packed |
| Mono16 | 16 | 16비트 한 성분 |
| RGB8 · BGR8 | 24 | 8비트 성분 3개 |
| YCbCr422_8 | 16 | 4:2:2 — 화소 둘에 Y 둘과 Cb·Cr 하나씩 |
Bayer** 의 ** 는 RG·GR·GB·BG 배열입니다. 카메라에 따라 옛 이름(예: Mono12Packed)을 쓰기도 합니다 — 화소당 비트는 카메라 설명서에서 확인합니다.
읽는 법
- 링크 대비 100 % 를 넘으면 그 설정으로는 다 보낼 수 없습니다. fps 를 줄이거나, 관심 영역(ROI)으로 해상도를 줄이거나, 8비트 형식·packed 형식으로 바꾸거나, 카메라를 다른 랜카드 포트로 나눕니다.
- Beckhoff 예처럼 1920 × 1200 Mono8 30 fps 카메라 3대(207 MB/s)는 1 GbE 한 줄에 다 실을 수 없고, 15 fps 로 줄이면 104 MB/s 로 들어옵니다.
- Mono12(unpacked)는 화소마다 2 바이트라 Mono8 의 두 배입니다. 12비트가 필요하면 Mono12p(1.5 바이트)를 지원하는지 봅니다.
- 링크 대비 비율이 낮아도 프레임이 빠지면 대역폭보다 랜카드 설정(점보 프레임·수신 버퍼)·방화벽·스위치를 먼저 봅니다 — 아래 가이드.
현장에서 쓰는 곳
- 머신 비전 PC 를 고를 때 — 카메라 몇 대를 랜카드 포트 몇 개에 나눌지, 1 GbE 로 될지 2.5·5·10 GbE 가 필요한지.
- 여러 카메라를 스위치 하나로 모을 때 — 스위치에서 PC 로 가는 업링크 하나를 모든 카메라가 나눠 씁니다.
- fps 를 올리려는데 프레임이 빠질 때 — 링크 한계에 걸린 것인지 먼저 계산해 봅니다.
자주 묻는 것
GigE 카메라 대역폭은 어떻게 계산하나요?
가로 × 세로 × 화소당 바이트 × fps 입니다. 1920 × 1200 Mono8(1 바이트) 30 fps 면 69.12 MB/s 입니다. 프로토콜 오버헤드는 따로 여유를 둡니다.
1 GbE 는 몇 MB/s 인가요?
총 속도는 1 Gbit/s ÷ 8 = 125 MB/s 입니다. 영상에 실제로 쓸 수 있는 속도는 이보다 작습니다 — Beckhoff 예는 약 110~115 MB/s 를 가정합니다.
Mono12 와 Mono12p 는 무엇이 다른가요?
Mono12 는 12비트 값을 2 바이트에 담고 남는 4비트를 0 으로 채우고(16비트), Mono12p 는 빈 비트 없이 이어 붙입니다(12비트). 같은 fps 라면 Mono12p 가 데이터가 25 % 적습니다.
카메라 두 대를 스위치로 묶어 PC 한 포트에 연결하면?
두 대의 속도를 더한 값이 그 포트 하나의 링크 안에 들어가야 합니다. 카메라 수 칸에 2 를 넣어 보세요.
랜카드의 점보 프레임·수신 버퍼·인터럽트 완화 설정은 GigE 카메라 랜카드 설정 가이드. 카메라·PC 가 같은 대역인지는 IP 서브넷 계산기. PC 의 랜카드 설정을 한 화면에 읽으려면 PortDock Port Inspector.
근거
- 식과 예(1920 × 1200 Mono8 30 fps = 69.12 MB/s, 3대 207.36 MB/s, 15 fps 103.68 MB/s, 1 Gbit/s = 125 MB/s, 쓸 수 있는 속도 약 110~115 MB/s 가정): Beckhoff TwinCAT 3 Vision — Bandwidth management for GigE Vision
- 화소당 비트(성분 비트 × 성분 수, unpacked 는 바이트 경계까지 채움, «p» 는 빈 비트 없이, 4:2:2 순서): EMVA GenICam Pixel Format Naming Convention 2.4 (2021-06-16) §3.1.3·§4·§6.1