BayerRG8 sends 1 byte for each pixel and RGB8 sends 3. With BayerRG8 the maximum camera frame rate increases from 29.16 fps to 87.33 fps, because the 10GigE link is the limit and not the sensor. The GPU then does the debayering. The reference system operates 20 cameras at 87 fps with BayerRG8.
| RGB8 (camera debayers) | BayerRG8 (GPU debayers) | |
|---|---|---|
| Image size at 4096 x 3000 | 36.86 MB | 12.29 MB |
| Maximum frame rate for each camera | 29.16 fps | 87.33 fps |
| Bandwidth for each camera at 28 fps | 8.3 Gbps | 2.75 Gbps |
| Buffer memory, 20 cameras x 16 buffers | 11.8 GB | 3.9 GB |
| Debayer and colour processing | Camera | CUDA kernel |
| GPU code necessary | No | Yes |
Use RGB8 if 28 fps is sufficient and you want the camera colour processing with no GPU code. Use BayerRG8 if you need more than 28 fps, more network margin, or less buffer memory.
The reference system uses a CUDA kernel with the Malvar-He-Cutler 5 x 5 filter. The kernel reads the image buffer directly on the two paths.