cuda jpeg2000 codec

CUDA JPEG2000 codec for NVIDIA GPUs

We have implemented very fast JPEG2000 codec which is based on NVIDIA CUDA technology. This is fully parallel and performance-oriented implementation of JPEG2000 encoder and decoder. We've done JPEG2000 compression and decompression on CUDA due to parallel implementation and thorough optimization of J2K algorithm. Our JPEG2000 encoder on CUDA is definitely the fastest on the market.

Features of CUDA JPEG2000 CodecJPEG2000

  • JPEG2000 encoding and decoding for grayscale and color images with arbitrary width and height
  • Lossy (wavelet CDF 9/7) and lossless (wavelet CDF 5/3) image compression and decompression
  • Bit depth: 8-16 bits per channel (up to 24 bits per channel)
  • Color spaces RGB, YCbCr, XYZ
  • Number of decomposition levels from 1 to 12
  • Code-block size 16×16, 32×32 or 64×64
  • Color sampling modes: 4:4:4, 4:2:2, 4:2:0
  • Image quality in the range of 1–150 (float value)
  • Rate control option to set image compression ratio
  • Data input: images from HDD/RAID/SSD/CPU/GPU
  • Data output: final compressed or uncompressed image in HDD/RAID/SSD/CPU/GPU
  • Modes of operation
    • Single image mode
    • Batch mode (multiple image streaming)
    • Multiple tile mode for big images
    • Other fast modes: massive parallelism with high performance and slightly less compression ratio (option)
  • Standard set of computations for JPEG2000 compression and decompression on CUDA
    • CUDA JPEG2000 Encoder
      • Input data parsing
      • Color Transform (ICT/RCT)
      • 2D Discrete Wavelet Transform with CDF 9/7 or 5/3
      • Quantization
      • EBCOT Tier-1 (Context modeling and Bit-plane MQ-Coder)
      • PCRD (Post Compression Rate Distortion)
      • Tier-2 (Tag Tree Coding)
      • Output formatting
    • CUDA JPEG2000 Decoder
      • Input parsing
      • Tag Tree Decoding
      • Binary Decoder
      • Inverse Quantization
      • IDWT
      • Inverse Color Transform
      • Output formatting
  • Optimized for the latest NVIDIA GPUs
  • Fastvideo J2K encoding performance is more than 100 times faster in comparison with CPU-based JPEG2000 encoders JasPer and OpenJPEG
  • Fastvideo J2K encoding performance is more than 10 times faster than CUDA-based JPEG2000 encoders CUJ2K and GPU JPEG2K
  • Optional integration with OpenGL
  • Compatibility with FFmpeg to read/write Motion JPEG2000 streams (FFmpeg is under LGPLv2.1)
  • Compatible with Windows-7/8/10 and Linux/CentOS

We can integrate JPEG2000 codec in your image processing pipeline to perform the whole job completely on GPU. Please check the description of our CUDA Image & Video Processing SDK to evaluate what we can do on CUDA.

Support

Roadmap JPEG2000 Codec

  • CUDA JPEG2000 Encoder - done
  • CUDA JPEG2000 Decoder - Q4/2017
  • JPEG2000 performance optimization - in progress
     Home                   Contacts                 Site Map
GPU Image Processing