RAW Bayer CFA Codec on NVIDIA GPU (RawZipper)
Updated:
Many camera applications need to store RAW frames without converting them to RGB, leaving the demosaic and full ISP for later or offline processing — street-view, aerial and satellite imaging, autonomous-driving data collection. The Fastvideo RAW Bayer codec (RawZipper) compresses CFA data directly in the raw domain on the NVIDIA GPU, lossless or visually lossless, before it is written to SSD.
Where it is used
- Street-view, aerial and satellite imaging; photogrammetry
- Data collection for autonomous driving; medical imaging
- Photography, digital cinema and RAW archive management
Why compress in the raw domain
- Less storage and bandwidth — RAW is about 3× smaller than RGB, so there is less data to move and process
- Original sensor data is preserved for a full-quality RAW-to-RGB conversion later
- A shorter real-time ISP (just preprocessing + encoding), with heavier processing moved to offline post
- Works without any sensor calibration data
Features and image quality
- RAW Bayer images of arbitrary size (RGGB, BGGR, GRBG, GBRG); input/output from HDD/RAID/SSD or CPU/GPU memory
- Bit depth 8/10/12/14/16; lossy and lossless compression and decompression; optional rate control
- Optimised for the latest NVIDIA GPUs including Jetson; Windows 10/11, Linux Ubuntu, L4T
| Mode | Compression ratio | Quality | Throughput (RTX 4090) |
|---|---|---|---|
| Lossless | ~ 2:1 | mathematically lossless | up to ~ 1 GPix/s |
| Lossy (visually lossless) | 5:1 to 10:1 (up to 20:1) | PSNR > 60 dB typical |
PSNR is computed between the original RAW Bayer image and the same image after encode/decode. The codec is a module of our CUDA Image & Video Processing SDK and can be integrated to run the whole job on the GPU.