|
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 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
- Progressions support:
- J2K encoder: LRCP
- J2K decoder: LRCP, RLCP, RPCL, PCRL or CPRL
- 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, digital pathology, 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, 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
JPEG2000 encoder performance on the NVIDIA GeForce RTX 4090 at multithreaded batch mode
These are the same benchmarks on the GeForce RTX 4090:
JPEG2000 encoding parameters |
Lossy encoding |
Lossless encoding |
2K image, 24-bit, cb 32×32 |
2215 fps |
1370 fps |
4K image, 24-bit, cb 32×32 |
750 fps |
470 fps |
Here you can get more info about JPEG2000 encoder and decoder benchmarks, utilized images and other parameters.
|