Description
Some software applications produce JP2s that do not conform to the JP2 format specification (15444-1annexi.pdf).
Risks
- Image may not render correctly (or even render at all)
- Future migration to alternative format may result in loss of data (or it may fail altogether)
Assessment
Files that contain features that are not permitted in JP2 will not pass validation by Jpylyzer.
Tool | Affected if expression returns True |
Jpylyzer | "/jpylyzer/isValidJP2 = 'False'" |
Recommendations
Pre-ingest
Use Jpylyzer to establish if files are valid JP2.
Existing collections
- Use Jpylyzer to establish if files are valid JP2 (see above).
- In some cases normalisation valid JP2 may be possible (most likely this will require custom-made tools).
2013 changes to the standard
In May 2013 an amendment to the standard was published which allows, among other things, the use of display device profiles in JP2. See also the following blog post by Rob Buckley, and the August 2011 draft of the amendment
. Note Jpylyzer's validation follows this amendment.
Example files
- https://github.com/openplanets/jpylyzer-test-files
- dataset with valid JP2s, images that are damaged or otherwise corrupted, images that violate certain aspects of the JP2 format specification, and files that aren't even JP2s at all.
References
Van der Knijff, J.M. JPEG 2000 for Long-term Preservation: JP2 as a Preservation Format. D-Lib Magazine Volume 17, Number 5/6. May 2011
Van der Knijff, J.M. ICC profiles and resolution in JP2: update on 2011 D-Lib paper.
ISO/IEC 15444-1:2004/PDAM 6. Updated ICC profile support, bit depth and resolution clarifications. Draft, August 2011.
T.800 : Updated ICC profile support, bit depth and resolution clarifications