[Geoserver-users] Performance with huge JPEG2000

Hi,

JPEG2000 is complicated. You can guess it by looking at the default compression parameters of ECW JPEG 2000 SDK v3.5.0.4:

Sprofile=PROFILE0

Scap=no

Sextensions=0

Ssize={12000,12000}

Sorigin={0,0}

Stiles={12000,12000}

Stile_origin={0,0}

Scomponents=4

Ssigned=no,no,no,no

Sprecision=8,8,8,1

Ssampling={1,1},{1,1},{1,1},{1,1}

Sdims={12000,12000},{12000,12000},{12000,12000},{12000,12000}

Cycc=yes

Cmct=0

Clayers=1

Cuse_sop=no

Cuse_eph=yes

Corder=RPCL

Calign_blk_last={no,no}

Clevels=8

Cads=0

Cdfs=0

Cdecomp=B(-:-:slight_smile:

Creversible=yes

Ckernels=W5X3

Catk=0

Cuse_precincts=yes

Cprecints={128,128},{128,128},{128,128},{128,128},{128,128},{128,128},{128,128},{128,128},{64,64}

Cblk=64,64}

Cmodes=0

Qguard=1

Qabs_ranges=10,12,11,11,12,11,11,12,11,11,12,11,11,12,11,11,12,11,11,12,11,11,12,11,11

Most parameters are selectable which means that a JPEG2000 image can be compressed literally in millions of different ways. Differend JPEG2000 SDKs use a bit different strategies and JPEG2000 written by ECW JPEG 2000 SDK is not necessarily best for JP2MrSID and GDAL adds its own features to the combination.

I have some very old timings about converting a lossless JPEG2000 image (3-channel, 10000 by 10000 pixels) into GeoTIFF with different GDAL drivers and a native Kakadu utility

GDAL-JP2KAK (Kakadu) (FWtools 2.0.4) timing: 340 seconds

GDAL-JP2ECW (ECW-JPEG2000) FWTools 2.4.7 timing: 514 seconds

GDAL-JP2MrSID FWTools 2.4.8 timing: 263 seconds

Kakadu kdu_expand timing: 194 seconds

Do not trust in these numbers but notice the big differences. All drivers are better today. My sample image was compressed with Kakadu and obviously my parameters were good for it. Numbers would have been different if the test image was optimized for JP2ECW or JP2MrSID. Do your own tests but do not generalize your results too much. Numbers may tell that some SDK is slow with your images but the same SDK may be fast with a bit different images.

-Jukka Rahkonen-

···

Fernando Lacunza Prieto wrote:

Hi Jukka,

The file is made with ER Mapper. From Kdu_show I can see that the code stream comment is ECW JPEG 2000 SDK v4.2.0.64 – Licensee: ERDAS IMAGINE/ER Mapper Pro Unlimited

We have another JPEG 2000 made with the same software, only smaller (207000x185680 pixels). GeoServer seems to cope with this file well.

Regards,

Fernando Lacunza

De: Rahkonen Jukka [mailto:jukka.rahkonen@anonymised.com]
Enviado el: martes, 02 de abril de 2013 15:06
Para: ‘geoserver-users@lists.sourceforge.net’
Asunto: Re: [Geoserver-users] Performance with huge JPEG2000

Hi,

Could you send information about how your JPEG2000 image is created? You can for example download Kakadu demo programs from http://kakadusoftware.com/index.php?option=com_content&task=view&id=26&Itemid=22 and open your image with Kdu_show. From File – Properties menu item you will find lots of useful information.

If you need another JPEG2000 as a reference you can try to get a Finnish topomap from here

http://laillisettorrentit.net/index.php?page=torrent-details&id=ef25a0ea9b876bf963ec7a88f1a3557c1328d852

It is open data under attribution only license but the torrent is not very active.

-Jukka Rahkonen-

Fernando Lacunza Prieto wrote:

Hello everyone,

I have a really big JPEG2000 file (598240x638720 pixels, about 54 GB) published in a WMS by GeoServer 2.2 and the GDAL extension. The file is accessed with a JP2MrSID store. The purpose of that WMS is to serve tiles to MapProxy to build a WMTS cache.

Unfortunately, the performance is appalling: each GetMap request lasts 10 to 15 seconds, and after that GeoServer stops responding for another 15 to 20 seconds. At this rate, my WMTS cache would be done in about 5 years, and I do not want to wait so long.

¿Is there some tweaking I can do to increase the performance to acceptable levels? I am a newbie in both GeoServer and MapProxy, and I fear that my approach to the problem could be wrong. Therefore, any suggestions to accomplish the task of building a restful WMTS cache from a JPEG2000 file are welcome.

Thanks!


AVISO SOBRE CONFIDENCIALIDAD: La información incluida en este mensaje es CONFIDENCIAL y de uso EXCLUSIVO a su FINALIDAD. Su posterior divulgación será responsabilidad de quien la realice


AVISO SOBRE CONFIDENCIALIDAD: La información incluida en este mensaje es CONFIDENCIAL y de uso EXCLUSIVO a su FINALIDAD. Su posterior divulgación será responsabilidad de quien la realice