Ticket #4322 (new defect)

Opened 19 months ago

Last modified 19 months ago

Tile size in NITF header needs to match tile size in JPEG2000 codestream

Reported by: jeepingben Owned by: warmerdam
Priority: normal Milestone:
Component: default Version: svn-trunk
Severity: normal Keywords:
Cc:

Description

When writing a NTIF using JPEG2000 compression, the tile size stored in the NITF header (NPBBH and NPPBV) need to match the tile size used in the JPEG2000 codestream (passed using :

BLOCKXSIZE and BLOCKYSIZE in JP2KAK driver TILE_WIDTH and TILE_HEIGHT for JP2ECW driver <tilesize> %d %d </tilesize> for JP2MrSID driver BLOCKXSIZE and BLOCKYSIZE for JP2OpenJPEG driver)

The default sizes are large (at least in the JP2KAK driver), X is 20000 and y is the image height. NBPPH only has 4 digits, so it can't exceed 9999 (I saw 8192 as a limit in the NITF documentation), so the codestream tiling should be adjusted rather than adjusting NPPBH and NPPBV.

Change History

Changed 19 months ago by rouault

What is the reference for the fact that the tile size stored in the NITF header (NPBBH and NPPBV) need to match the tile size used in the JPEG2000 codestream ?

Changed 19 months ago by jeepingben

 http://isotc.iso.org/livelink/livelink/fetch/2000/2122/327993/327973/654328/6208440/documents/24n3111%20(BPJ2K0110).pdf page 41 says NPPBH and NPPBV must be 0 if the image is larger than 8192 and is not tiled.

 http://www.gwg.nga.mil/ntb/baseline/docs/stdi0006/FSTDI-0006-NCDRD-15Sep05.doc page 2-30 This isn't exactly a NITF spec, but describes matching tile size to jpeg block size for NITF commercial products.

It sounds like at a minimum, NPPB* should be set to 0 for large untiled images. Tiling speeds up random access and chipping operations. Large images (like geoeye) are difficult to work with when they are untiled.

Note: See TracTickets for help on using tickets.