[gdal-dev] JasPer vs OpenJPEG performance

Jukka Rahkonen jukka.rahkonen at maanmittauslaitos.fi
Mon Aug 10 05:58:59 PDT 2015


Brad Hards <bradh <at> frogmouth.net> writes:

> 
> On Fri, 7 Aug 2015 11:17:56 AM Jukka Rahkonen wrote:
> > NITF requires either that the tile size must not be
> > bigger that 1024x1024, or that the whole file is written as one single tile.
> > I believe you have such single-tile NITF file.

> I don't believe this is true (at least in NITF 2.1 - MIL-STD-2500C) for two 
> reasons:
> 1. Tiling is mandatory above 8192 x 8192 (See Table A-10 Complexity Level
7 or 
> higher)
> 2. Tiles are allowed to be up to 2048 x 2048 (Complexity level 3) or 8192 x 
> 8192 (Complexity level 5 or higher).

Hi Brad, 

I read the NITF 2.1 - MIL-STD-2500C
http://www.gwg.nga.mil/ntb/baseline/docs/2500c/2500C.pdf in the same way
than you do. However, I wrote my comments after reading another (older)
document:
"NATIONAL IMAGERY TRANSMISSION FORMAT (NITF) VERSION 2.1 COMMERCIAL DATASET
REQUIREMENTS DOCUMENT (NCDRD)"
http://www.gwg.nga.mil/ntb/baseline/docs/stdi0006/NCDRD_18February2010.pdf

And especially part 
2.3.2	JPEG 2000 Image Geometry Segmentation
Commercial datasets shall be organized in JPEG 2000 tiles as described in
BPJ2K01.00 Section 8.

I believe that the referred document is this:
http://www.gwg.nga.mil/ntb/baseline/docs/bpj2k01/ISOJ2K_profile.pdf

Appendix C  JPEG 2000 Commercial Profiles (ISO/IEC IS 15444-1 
Annex A.10)  , Table C-1. Codestream Restrictions:

Profile-0:
Tiles of a dimension 128x128: 
YTsiz=XTsiz=128 
or one tile for the whole 
image: 
YTsiz+YTOsiz>=Ysiz 
XTsiz+XTOsiz>=Xsiz  

Profile-1
XTsiz/min(XRsiz, YRsiz)<=1024 
XTsiz=YTsiz 
 or one tile for the whole image: 
YTsiz+YTOsiz>=Ysiz 
XTsiz+XTOsiz>=Xsiz 


It may be that tiling is mandatory for images bigger than 8192 x 8192
because of the baseline standard. On the other hand is seems that commercial
vendors are not allowed to use multiple tiles if they are larger than 1024 x
1024. I did not dig too deep into the black hole between 1024 x 1024 and
8192 x 8192.

BTW. In the Inspire guidelines for orthoimagery the same "one tile or max
1024 x 1024 tiles regulations in
http://inspire.ec.europa.eu/documents/Data_Specifications/INSPIRE_DataSpecification_OI_v3.0.pdf:

"JPEG 2000 allows internal tiling within the codestream. Profile 1 of ISO
15444 - 1 already requires no tiling (i.e.  the  image  =  1  tile)  or 
tiling  with  tiles  size [no] bigger  than  1024x1024  pixels.  There  is 
no  further requirement"

I have added [no] into the quotation. The Inspire text does not have the
word which makes the the sentence to mean the opposite but it must be a
typo. See comment 8 in https://trac.osgeo.org/gdal/ticket/5697.


-Jukka Rahkonen-







More information about the gdal-dev mailing list