What is JPEG 2000?
JPEG 2000 is an important image file format which offers significant benefits over JPEG. For our specific usage it does generate significantly smaller file sizes for images which is critical for many of our customers.
What solutions already exist?
There are already a couple of JPEG libraries available for Java. The most well-known is ImageIO which can read and write JPEG images. There is also an Open-source library called jj2000. Both of these have good basic support for RGB images, but work less well on other Colorspaces (CMYK, YCCK, etc).
What is wrong with the current solutions?
However, they are not complete implementations, for example lacking features such as ROI (Region Of Interest). They need a lot of memory and have a number of irritating bugs. We have written up some of these under a previous blog post ‘Fixing bugs in Java JPEG 2000‘.
When writing JPedal (our Java PDF library), these are critical concerns. PDF data is often in non-RGB colorspace and the data is from many different tools.
We also felt that starting afresh with Java 8 would make it easier to write and develop a compact library. Indeed, the JDeli JPEG 2000 Decoder is generally twice the speed of JAI and uses significantly less memory than jj2000.
So if you are looking for a free JPEG 2000 library for Java and working with just RGB images, we can recommend ImageIO and jj2000 as excellent tools (at least as a starting point). If you need a heavy duty commercial JPEG 2000 Decoder/Encoder we hope you will evaluate JDeli.
Are you a Java Developer working with Image files?
What is JDeli?
JDeli is a commercial Java Image library that is used to read, write, convert, manipulate and process many different image formats.
Why use JDeli?
To handle many well known formats such as JPEG, PNG, TIFF as well as newer formats like AVIF, HEIC and JPEG XL in java with no calls to any external system or third party library.
What licenses are available?
We have 3 licenses available:
Server for on premises and cloud servers, Distribution for use in a named end user applications, and Custom for more demanding requirements.
How does JDeli compare?
We work hard to make sure JDeli performance is better than or similar to other java image libraries. Check out our benchmarks to see just how well JDeli performs.