Hi Mathieu,

 

As the original author of jpylyzer I'll try to answer your questions.
First of all, the meaning of "valid": with this I mean being in
accordance with the formation specification (ISO/IEC 15444-1), i.e.:

 

http://www.jpeg.org/public/15444-1annexi.pdf

 

Now for your experiences with those conformance files. Am I correct in
assuming that the JP2 conformance files which you are referring to are
the ones from ISO/IEC 15444-4:

 

http://www.itu.int/rec/dologin_pub.asp?lang=e&id=T-REC-T.803-200211-I!!S
OFT-ZST-E&type=items

 

 

If yes, the simple (and perhaps somewhat perplexing) explanation is that
*none* of these files are actually in compliance with the standard!
There are two problems:

 

1.    All JP2 images in the conformance set have a "Colourspace
Approximation" value (APPROX in the Colour Specification box) of 1,
whereas section I.5.3.3 of the format spec says that it shall be zero
("other values are reserved for other ISO use"). It also says that
conforming readers shall ignore the value of this field.

2.    Two of the files in the conformance set are actually JPX files
(JPX is an extension of the JP2 format, and it is part of ISO/IEC
15444-2. This is actually mentioned in the description of the data set,
but confusingly these files are provided with a JP2 extension. Since the
Colour Specification boxes in these files have PREC, APPROX and EnumCS
values that are not permitted in JP2 they are not valid JP2.

 

Issue one will lead to the following specific error:

 

<tests> 

<jp2HeaderBox>

<colourSpecificationBox>

<approxIsValid>False</approxIsValid>

 

 

Issue two will result in "False" values for brandIsValid, approxIsValid,
precIsValid, and enumCSIsValid. These fields all contain values that are
only permitted in JPX (and illegal in JP2).

 

I have actually brought this issue up to the JPEG committee (in which I
am participating myself as a liaison to OPF) back in March. This led to
quite a lively discussion; unfortunately I wasn't quite able to follow
up on this due to some unforeseen circumstances shortly after I started
the discussion, and it sort of slipped off my radar after that. However,
what I learned from the responses is that these are all known issues,
but there doesn't seem to be a lot of agreement as to whether these
issues should be addressed or not.

 

Apparently the use of a non-allowed value of APPROX was done on purpose,
the idea being that conforming readers shall ignore this field, i.e. any
weird values here shouldn't break the application.

 

The JPX files were included to demonstrate the concept of JP2-compatible
JPX, but it really is a different format and having these files in a JP2
conformance set is -at least in my opinion- really confusing.

 

I hope this may have taken away some of your concerns. Please let me
know if I can provide any more help or information on this.

 

Johan van der Knijff

 

 

Reply via email to