12-bit JPEG codec on CUDA
We have created extremely fast 12-bit JPEG codec based on CUDA technology. This is an extension of our full, performance-oriented implementation of Baseline JPEG Codec on CUDA. Our 12-bit JPEG codec is much faster in comparison with the best 12-bit JPEG codecs for multicore CPUs.
Features of 12-bit JPEG codec
Benchmarks for 12-bit JPEG encoding on NVIDIA GeForce GTX 1080 (Windows-7 and CUDA-8.0, 64-bit)
We have utilized ~50 MPix 14-bit RAW image from Canon-5DSR camera, which we have converted to color 12-bit per channel data for benchmarking.
For testing we have utilized that 36-bit color image in PPM format with resolution 8736 × 5856. We got the following compression times (JPEG quality 90%, all computations on GPU, without DeviceIO latency, single image mode, no batch, no streaming)
For quite big images with 12 bits per color channel, we can get GPU performance of JPEG encoding in the range of 25 – 40 GByte/s on GeForce GTX 1080. For smaller images the performance will be less, but still this is extremely fast. For GeForce GTX 1080 TI and Quadro P6000 compression performance could be in the range of 40-50 GB/s, please check Fastvideo SDK benchmarks.
Who need 12-bit JPEG Codec?
JPEG algorithm can be implemented for images with either 8-bit or 12-bit per color channel. There is an interest in use of 12-bit JPEG codec to insure better image quality. Modern cameras usually have 12 bits or more, that's why that algorithm could be widely utilized. Below there are some applications which do need 12-bit jpg codec:
Many imaging systems create and process 12 bpp RAW data and nowadays it's a minimum requirement to get an image with high accuracy. Unfortunately 12-bit JPEGs are quite rare because only a few viewers are compatible with 12-bit jpeg format. Our software fills that gap by offering high performance 12-bit JPEG/MJPEG codec. That codec supports both Baseline 8 bpp and Extended 12 bpp modes.
Licensing for 12-bit JPEG Codec on CUDA
We license 12-bit JPEG Codec and other components of GPU Image Processing SDK to software developers, camera manufacturers and resellers, internet providers, software integrators, etc. Our SDK is utilized in wide range of imaging applications. Demo SDK, documentation, licensing info and quotation are available upon request. We are also offering custom software design according to agreed specification. If you need to get significant speed up for your image processing application, don't hesitate to contact us.
More info about CUDA JPEG image compression and decompression