CUDA JPEG2000 Codec for NVIDIA GPU

Updated:

Fastvideo's CUDA JPEG2000 codec is a fully parallel implementation of the JPEG2000 standard — both encoder and decoder, lossy and lossless — that runs every stage on the NVIDIA GPU, from the wavelet transform through EBCOT entropy coding. That end-to-end GPU execution is what makes it, by our measurements, the fastest J2K codec on the market, and a practical choice where quality and scalability matter: medical imaging and digital pathology, geospatial data, digital cinema, broadcast contribution and archives.

Codec features

The codec is a module of our CUDA Image & Video Processing SDK, so J2K coding can be the final stage of a full GPU pipeline. A companion Fast J2K Viewer displays large JPEG2000 images with window-mode decoding.

JPEG2000 benchmarks on NVIDIA GeForce RTX 4090

Encoder performance in multithreaded batch mode, 24-bit images, code-block 32×32:

ImageLossy encodingLossless encoding
2K, 24-bit~ 2108 fps~ 1238 fps
4K, 24-bit~ 732 fps~ 425 fps

On embedded hardware the codec reaches 650 MPix/s for lossless 12-bit raw encoding on NVIDIA Jetson AGX Orin — fast enough for on-camera compression in real-time systems. For reference, Fastvideo J2K encoding is more than 100× faster than CPU codecs (JasPer, OpenJPEG) and more than 10× faster than earlier GPU codecs (CUJ2K, GPU JPEG2K).

Encoder and decoder stages

Sample applications and command-line parameters

You can use the J2kEncoderSample and J2KDecoderSample applications from the Fastvideo SDK. Main encoder parameters:

Example (multithreaded lossy batch): J2kEncoderSample.exe -i input.ppm -o output.jp2 -a irrev -c 32 -l 7 -q 90 -d 0 -async -thread 4 -b 2 -repeat 1000

Related pages

Contact Form

This form collects your name and email. Check out our Privacy Policy on how we protect and manage your personal data.