[Gdal-dev] Wanted: More speed to JPEG2000
Jukka.Rahkonen at mmmtike.fi
Mon Nov 27 08:20:10 EST 2006
Lähettäjä: Tom Lynch [mailto:tflynch at gmail.com]
Lähetetty: pe 24.11.2006 9:11
>On 11/24/06, Rahkonen Jukka <Jukka.Rahkonen at mmmtike.fi> wrote:
> >I have noticed that there is quite a big difference between using ECW and JPEG2000 format images through GDAL and MapServer path. While I could get in a quite well controlled test some 120 images per minute ripped out from ECW layer it was just 80 image per minute from JPEG2000 layer with JP2ECW driver and miserly 25 images/min with JP2KAK driver.
> >I wonder if there is any chance to improve the JPEG2000 even close to ECW efficiency? Slow results with JP2KAK driver is propably due to not so optimal implementation, but is there some explanation for the difference between ECW and JPEG2000 with the ER Mapper driver?
>The performance difference you observe between ECW and JPEG 2000 with
the JP2ECW driver is a consequence of the differences between the
formats and our implementations of their codecs. We're actively
trying to improve performance on both sides of the equation but the
additional flexibility of JPEG 2000, and the computational cost of its
decoder do impose an additional overhead. Further effort into JPEG
2000 decoder optimisation is producing diminishing returns as we
>Also, if you're working on a platform other than Windows there are
still some hardware-based optimisations for JPEG 2000 (SSE stuff) that
don't make it into the build.
>The default compression settings for the GDAL JP2ECW driver in the
absence of other options specified are those of the underlying ECW
JPEG 2000 SDK itself - RPCL progression order, no tiles, precinct size
determined as a function of dataset dimension. These should be pretty
much optimal for GIS-interactive usage pattern of the data, so there
may not be much room for improvement here either.
I wondered if there was something wrong in my compression options and I made an additional test by compressing my test images once more, now with GDAL using JP2ECW driver with default settings. Now I think I can continue with my old system because the existing Kakadu set was effectively just as fast as the new JP2ECW set.
I noticed some change in the general speed of my system from what it used to be so I repeated the test for other image formats as well to be sure I am comparing the same thing. Here is the summary:
Speed (throughput from server to client hard disk as images/minute)
JPEG2000 with JP2ECW 77
JPEG2000 with JP2ECW 73
(GDAL JP2ECW defaults)
JPEG2000 with JP2KAK 23
JPEG2000 with JP2KAK 23
(GDAL JP2ECW defaults) 21
My test measures just the random access to full resolution and does not tell anything about the possible differences in utilising overviews. I have also noticed that the differences are not at all this big in operations like translating the whole image to other formats. And I am almost sure that JP2KAK driver is not tuned even close to the limits now.
More information about the Gdal-dev