cuda jpeg2000 codec

CUDA JPEG2000 codec for NVIDIA GPU

We have implemented very fast JPEG2000 codec which is based on NVIDIA CUDA technology. This is fully parallel and performance-oriented high quality implementation of JPEG2000 encoder and decoder. Our JPEG2000 encoder on CUDA is definitely the fastest on the market due to fine grained parallelization and thorough optimization of algorithms.

Key Features of CUDA JPEG2000 CodecCUDA JPEG2000 codec

  • JPEG2000 encoding and decoding for grayscale and color images
  • Lossy (wavelet CDF 9/7) and lossless (wavelet CDF 5/3) image compression and decompression
  • Bit depth: 8–16 bits per channel
  • Color spaces: sRGB, Rec.709, Adobe RGB, ProPhoto RGB, DCI P3, XYZ, Linear
  • Number of decomposition levels: 1–12
  • Code-block size 16×16, 32×32 or 64×64
  • Chroma subsampling modes: 4:4:4, 4:2:2, 4:2:0
  • Image quality in the range of 0–100 (non-integer values are allowed)
  • Rate control option to constrain image compression ratio
  • Data input: images from HDD/RAID/SSD or CPU/GPU memory
  • Data output: final compressed or uncompressed image in HDD/RAID/SSD or CPU/GPU memory
  • Modes of operation:
    • Single image mode
    • Batch mode (multiple image streaming)
    • Multiple tile mode for large images
    • Other fast modes: massive parallelism with high performance and slightly less compression ratio (optional)
  • Standard set of computations for JPEG2000 compression and decompression on CUDA
    • CUDA JPEG2000 Encoder
      • Input data parsing
      • Color Transform (ICT/RCT) and DC-level shifting
      • DWT (Discrete Wavelet Transform) with CDF 9/7 or 5/3 wavelets
      • Quantization
      • EBCOT Tier-1 coding (context modeling and arithmetic MQ-Coder)
      • PCRD (Post-Compression Rate-Distortion; optional)
      • Tier-2 coding (Packets, Layers, Precincts, Tag Trees)
      • Output formatting
    • CUDA JPEG2000 Decoder
      • Input parsing
      • Packet decoding
      • Entropy decoding
      • Coefficient bit modeling
      • Inverse Quantization
      • Inverse DWT
      • Inverse Color Transform and DC-level shifting
      • 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 Kakadu and CUDA-based JPEG2000 encoders CUJ2K and GPU-JPEG2K
  • Optional integration with OpenGL
  • Compatibility with FFmpeg library to read/write Motion JPEG2000 streams (FFmpeg is under LGPL v2.1)
  • Compatible with 64-bit Windows-7/8/10 and Linux Ubuntu/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

  • Time and performance benchmarks for JPEG2000 encoder and decoder on CUDA
  • Full technical support up to successful integration
  • JPEG2000 SDK, documentation

Roadmap for fast JPEG2000 Codec

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