JPEG2000 codec on GPU

GPU JPEG2000 codec from Fastvideo is based on NVIDIA technology. This is full, performance-oriented implementation of JPEG2000. We got fast JPEG2000 compression and decompression on the GPU due to parallel implementation and thorough optimization of JPEG2000 algorithm. Our JPEG2000 encoder on GPU is definitely the fastest on the market.

Key Features of GPU JPEG2000 CodecFastest GPU JPEG2000 codec

  • 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: 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)
  • Tile support for encoder and decoder
  • Rate control option to constrain image compression ratio
  • Window mode for JPEG2000 decoder
  • 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
    • Multi-tile mode for very large images (geospatial, etc.)
    • Batch mode for better performance
    • Multithreaded batch mode (maximum performance)
  • Standard set of computations for JPEG2000 compression and decompression on GPU
    • GPU JPEG2000 Encoder
      • Input data parsing
      • Color Transform (ICT/RCT) and DC-level shifting
      • 2D 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
    • GPU 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
  • Performance is much better than CPU-based JPEG2000 codecs JasPer, JJ2000, OpenJPEG, Kakadu, etc.
  • Performance is significantly higher than GPU-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)
  • FFmpeg JPEG2000 codec on GPU for Windows, Linux, ARM
  • Compatible with 64-bit Windows-10, Linux Ubuntu/CentOS, L4T

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

Support

  • Time and performance benchmarks for JPEG2000 encoder and decoder on GPU
  • Full technical support up to successful integration
  • JPEG 2000 SDK, documentation, sample applications

Roadmap for fast JPEG2000 Codec

Fastvideo JPEG2000 encoding benchmarks at multithreaded batch mode on NVIDIA GeForce RTX 2080TI

JPEG2000 encoding parameters Lossy encoding Lossless encoding
2K image, 24-bit, 4:4:4, cb 32×32 765 fps 413 fps
4K image, 24-bit, 4:4:4, cb 32×32 212 fps 117 fps

Here you can get more info about JPEG2000 encoder and decoder benchmarks, utilized images and other parameters.

Contact Form

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