JPEG 2000 decoder support, part 1

One thing I’ve noticed: complex images aren’t very well supported by the open-source JPEG2000 decoders out
there.

For example, JPEG 2000 supports full transparency in images (like PNG, unlike GIF). However, I haven’t seen any published test files with transparency. I created one myself with the (Kakadu-based?) JPEG 2000 plugin to Adobe Photoshop. If you try getting JasPer to view an image with transparency (with four components), it throws a run-time assertion. Not good. OpenJPEG fairs slightly better, but still doesn’t render it correctly.

In the JPEG 2000 Conformance Files package, there are nine JPEG 2000 images, along with nine corresponding TIFF-format reference renderings. JasPer, being one of the reference decoders, does pretty well; OpenJPEG does not quite so well.

Image Number Description JasPer (jiv) JasPer (render-jp2) OpenJPEG
1 3 component, 8 bits per component, sRGB colorspace Y Y P
2 3 component, 8 bits per component, YCC colorspace Y N P
3 3 component, 8 bits per component, YCC colorspace Y N P
4 1 component, 8 bits per component, grayscale Y Y Y
5 3 component, 8 bits per component, restricted ICC profile, with unknown rreq box Y P N
6 1 component, 12 bits per component, grayscale Y Y Y
7 3 component, 16 bits per component, restricted ICC profile Y crash! N
8 1 component, 8 bits per component, restricted ICC profile Y Y Y
9 1 component, 8 bits per component, palette Y Y P

Key:
Y – renders correctly
P – renders partially correctly
N – does not render at all

Tests were done with JasPer 1.900.1 and OpenJPEG 1.2.

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s