OpenJPEG: Recent Episodes

None

OpenJPEG - Université de Louvain (UCL), Belgium

View Details

Hello,

OpenJPEG 2.5.2 is released today.

This is a bugfix-only release correcting an issue of 2.5.1 (openjpeg.h no longer including opj_config.h), as detailed in the Changelog hereunder.

Enjoy,

Even

More info:

News

Changelog

Full Changelog

View Details

Hello,

OpenJPEG 2.5.1 is released today.

This is mainly a bugfix release, as detailed in the Changelog hereunder.

Enjoy,

Even

More info:

News

Changelog

Full Changelog

View Details

Hello,

OpenJPEG 2.5.0 is released today.

This release brings several improvements:

  • Encoder: add support for generation of TLM markers
  • Decoder: add support for high throughput (HTJ2K) decoding.
  • Decoder: add support for partial bitstream decoding.

as well as various bugfixes, as detailed in the Changelog hereunder.

The obsolete/unmaintained JPWL, JP3D and MJ2 subcomponents have also been removed from the code base.

Enjoy,

Even

More info:

News

Changelog

Full Changelog

View Details

Good news everyone !

OpenJPEG 2.4.0 is released today.

This release brings several improvements on the encoder side:

  • support for multithreading
  • support for generation of PLT markers
  • single-threaded performance improvements in forward DWT for 5-3 and 9-7 (and other improvements)
  • support IMF profiles

as well as various bugfixes, as detailed in the Changelog hereunder.

The performance improvements and the generation of PLT markers have been implemented thanks to funding from the European Space Agency (ESA), for operations of the Mission Performance Centre (MPC) for the Copernicus Sentinel-2 mission.

Enjoy,

Even

More info:

News

Changelog

Full Changelog

View Details

Good news everyone !

OpenJPEG 2.3.1 is released today.

This is mainly a bugfix release, as detailed in the Changelog hereunder.

Enjoy,

Antonin

More info:

News

Changelog

Full Changelog

View Details

Good news everyone !

OpenJPEG 2.3.0 is released today.

This new release finalizes the work made by Even Rouault and funded by several academic institutions and archival organizations to make OpenJPEG significantly faster and safer.

In addition to what has been done in v2.2.0 (multithreading at decoding, speed optimizations, memory consumption reduction, etc, see this post for details), this release adds improvement to sub-tile decoding. Now when you handle a huge single tile image and only wants to decode a small part of it, only the window of interest is actually processed: sounds quite natural but I can ensure it wasn’t that easy to implement. This leads to drastic speed and memory improvements as they only depend now on the size of the window and not on the original image size. This release also adds the ability to decode only a subset of components.

Overall, if we compare performances of OpenJPEG before all Even’s optimizations (v2.1.2) and the ones reached by the new v2.3.0 release, we observe a 55-60% speed improvement on single-thread whole image decoding (even more on big images like 10000x10000). Memory consumption is also drastically reduced on mega-image decoding: for example, for a full decoding of a single tile 8000x12000 image, it is reduced from 2 to 1.3 GB RAM. But more importantly, OpenJPEG is now a workable solution for workflows involving partial decoding.

Benchmarks are hard to compare as there are many variables that can influence the results: so if you are an OpenJPEG user, please download and try this new release within your workflow … And share your feedback, that would be highly appreciated.

Last but not least, and as indicated above and described in a previous post, all this has been made possible thanks to a funding from academic institutions and archival organizations, namely:

  • Wellcome Library
  • Stanford University
  • Nationale Bibliotheek van Nederland (KBNL)
  • University of Michigan
  • University of California, Los Angeles (UCLA)

… And logistic support from the International Image Interoperability Framework (IIIF), the Council on Library and Information Resources (CLIR), intoPIX, and of course the Image and Signal Processing Group (ISPGroup) from University of Louvain (UCL, Belgium) hosting the OpenJPEG project. Thanks to all of them !

Many thanks also to Even Rouault, the developper who actually implemented these improvements, and of course to all contributors having suggested fixes or enhancements.

Enjoy,

Antonin

More info:

News

Changelog

Full Changelog

View Details

Good news everyone !

OpenJPEG 2.2.0 is released today.

This new release includes a significant number of improvements and bug fixes. In particular:

  • Multi-threading support at decoding side
  • Several speed optimisations both at encoder and decoder, and both on Wavelet Transform and Entropy Coding parts. On our test set, a single-threaded execution is now around 20% faster (encoding or decoding).
  • Huge memory consumption reduction at decoding side (~60% reduction on large images)
  • Several important bug fixes, in particular the one that was preventing OpenJPEG to encode lossless in some specific situations, as well as those related to mode switches (BYPASS/LAZY, RESTART/TERMALL, etc).
  • Several security fixes thanks to the inclusion of OpenJPEG in the Google OSS Fuzz project.

Beside that, several improvements have been brought to the project maintenance, like inclusion of benchmarking scripts to compare speed with latest available kakadu binaries.

And, last but not least, API and ABI are 100% compatible with previous version.

News

Changelog

Full Changelog

As described in a previous post, all this has been made possible thanks to a funding from academic institutions and archival organizations, namely:

  • Wellcome Library
  • Stanford University
  • Nationale Bibliotheek van Nederland (KBNL)
  • University of Michigan
  • University of California, Los Angeles (UCLA)

And logistic support of the International Image Interoperability Framework (IIIF), the Council on Library and Information Resources (CLIR), intoPIX, and of course the Image and Signal Processing Group (ISPGroup) from University of Louvain (UCL, Belgium) hosting the OpenJPEG project. Thanks to all of them !

Many thanks also to Even Rouault, the developper who actually implemented these improvements, and of course to all contributors having suggested fixes or enhancements.

I hope you will find this new version useful, don’t hesitate to provide feedback to improve it even further. By the way, more improvements are yet to come in the coming months.

Enjoy,

Antonin

View Details

Good news for OpenJPEG and the JPEG 2000 open-source community !

Starting May 1st, a 4-month improvement plan will take place, thanks to the funding provided by five well known academic institutions and archival organizations, namely:

  • Wellcome Library
  • Stanford University
  • Nationale Bibliotheek van Nederland (KBNL)
  • University of Michigan
  • University of California, Los Angeles (UCLA)

This plan has also been made possible thanks to the support of the International Image Interoperability Framework (IIIF), the Council on Library and Information Resources (CLIR), intoPIX, and of course the Image and Signal Processing Group (ISPGroup) from University of Louvain (UCL, Belgium) hosting the OpenJPEG project.

The primary goal of this improvement plan is to upgrade OpenJPEG so that it meets the needs of the Digital Library Community. Practically, Even Rouault, already known for his contributions on multi-threading, will work towards improving several aspects of the code. Main focus is the decoding speed, region-of-interest decoding and memory footprint.

Project status will be publicly accessible on Github.

Faster and better OpenJPEG can therefore be expected by the end of 2017 !

View Details

Good news everyone!

OpenJPEG 2.1.2 is released today.

Important security fixes and third party libraries update.

Changelog

Full Changelog

Note that meanwhile, in the master branch, an important improvement has been merged, namely T1 optimizations and multithreading support (contribution from Even Rouault … Thanks a lot !). A (much) faster OpenJPEG is on track … Stay tuned for v2.2.0.

Enjoy,

Antonin

View Details

Well, miracles happen, OpenJPEG 2.1.1 is released today.

No fancy additional features, no API/ABI break compared to OpenJPEG 2.1 … Mostly a release with the huge amount of critical bug fixes brought to the library since 2 years. A release that will therefore mostly interest linux distributions package maintainers. See full change log here.

View Details

Release process has been drastically automated, thanks to the powerful tools from github, travis and appveyor. Making a release is now (almost) as easy as tagging the right branch in the github repo: it automatically creates the releases and upload the binaries. So OpenJPEG will eventually have a release cycle that’s worth its name: every 3 months at max, I’ll tag the repo to trigger a new release.

And, among the bunch of tests that are automatically done for each commit, the results of the API/ABI compliance check is now directly uploaded on the OpenJPEG website: http://www.openjpeg.org/abi-check/timeline/openjpeg/, so that we can follow the compliance from one commit to another.

View Details

Better late than never, OpenJPEG has finally entirely moved to github.

  • the repo is now at: https://github.com/uclouvain/openjpeg
  • test data is now in a separate repo at: https://github.com/uclouvain/openjpeg-data
  • the issue tracker is now at: https://github.com/uclouvain/openjpeg/issues
  • the wiki is there: https://github.com/uclouvain/openjpeg/wiki

I invite you to update your working copies to link to the new repo. I’ve disabled yesterday the issue tab on googlecode, and removed existing commit rights.

A few comments about the migration:

  • source has been migrated with whole history of revisions
  • thanks to some (human) support from github, we were able to keep original timestamps of the issues and comments.
  • issue and comment authorship could not be migrated: everything is authored by « gcode-importer ». However, the original author is always mentioned and in many cases, the link has been made to the corresponding github account (if we knew the mapping between gcode and github). This means that original authors will not get notified in case of issue updates so I invite interested people to subscribe to issues if needed.
  • if issues had an assignee (« owner » in googlecode), it has been kept.

What is still to be done

  • Reformat wiki: for now, pages have simply been imported « as is » from gcode, so a refactoring is needed here.
  • Clean up obsolete branches in the repo.
  • Continuous integration: update CDash, setup travis (?), configure jenkins (we have now a dedicated server for this).

I saw there are already a few forks of the repo, feel free to submit your pull request if you think what you did in your fork could benefit all openjpeg users. For those not familiar with this workflow, I invite them to read the github doc (here for instance) as pull requests will now be the preferred workflow to suggest changes for the library.

Last but not least, OpenJPEG has also a new website that makes use of the powerful Jekyll engine made available by Github Pages.

View Details

Good news! ISO/IEC 15444-5:2003/AMD.2 has finally been published, meaning that OpenJPEG is now officially a reference software for JPEG 2000 Part-1. See here for the press release from last JPEG meeting in Warsaw (look for the JPEG 2000 section).

View Details

OpenJPEG 2.1.0 has been released.

View Details

OpenJPEG 2.0.1 has been released.

View Details

OpenJPEG 1.5.2 has been released.

View Details

OpenJPEG 2.0.0 has been released.

View Details

OpenJPEG 1.5.1 has been released.

View Details

OpenJPEG 1.5 has been released.

View Details

OpenJPEG now includes OpenJPIP, a JPIP library written by Kaori Hagihara. More info here.

View Details

OpenJPEG 1.5 has been released.

View Details

Version 2 of OpenJPEG (still in alpha testing) has been added as a branch on the svn. More info on version 2 here.