RE: [OSGeo-Discuss] Open File Formats andProprietaryAlgorithms[SEC=UNCLASSIFIED]

2009-08-21 Thread Michael P. Gerlek
> 10:1 compression rates without noticeable image quality reductions,

For some appropriate, workflow-specific definition of "noticeable".

Everything is a tradeoff.  I always tell people to run their own tests with 
their own datasets to determine what sort of quality they will achieve and what 
their users' workflows will require.

-mpg


-Original Message-
From: discuss-boun...@lists.osgeo.org [mailto:discuss-boun...@lists.osgeo.org] 
On Behalf Of Paul Ramsey
Sent: Friday, August 21, 2009 11:36 AM
To: OSGeo Discussions
Subject: Re: [OSGeo-Discuss] Open File Formats 
andProprietaryAlgorithms[SEC=UNCLASSIFIED]

So hung up on wavelets, we are.

Internally tiled TIFF with JPEG compression and similarly formatted
internal overviews can achieve 10:1 compression rates without
noticeable image quality reductions, and as an added bonus can be
decompressed a heck of a lot faster than wavelet-based formats. The
wavelet stuff is k00l, in that there is no need for an overview
pyramid (it's implicit in the compression math) and much higher
compression rates can be achieved. But operationally, you can go a
long way with the more primitive (open image format + open compression
algorithm) approach.

P.
___
Discuss mailing list
Discuss@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/discuss
___
Discuss mailing list
Discuss@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/discuss


Re: [OSGeo-Discuss] Open File Formats andProprietaryAlgorithms[SEC=UNCLASSIFIED]

2009-08-21 Thread Paul Ramsey
So hung up on wavelets, we are.

Internally tiled TIFF with JPEG compression and similarly formatted
internal overviews can achieve 10:1 compression rates without
noticeable image quality reductions, and as an added bonus can be
decompressed a heck of a lot faster than wavelet-based formats. The
wavelet stuff is k00l, in that there is no need for an overview
pyramid (it's implicit in the compression math) and much higher
compression rates can be achieved. But operationally, you can go a
long way with the more primitive (open image format + open compression
algorithm) approach.

P.
___
Discuss mailing list
Discuss@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/discuss


Re: [OSGeo-Discuss] Open File Formats andProprietaryAlgorithms[SEC=UNCLASSIFIED]

2009-08-21 Thread Christopher Schmidt
On Fri, Aug 21, 2009 at 09:45:04AM -0700, Landon Blake wrote:
> MPG wrote: "Tiling" essentially means you can take a large file and
> compress pieces of it independently.  This avoids having to deal with
> the large memory footprint issues, but it can also lead to seam-line
> artifacts under certain conditions.  Ideally, one would prefer to have
> the option of compressing large images without resorting to using
> tiles."
> 
> This is probably a stupid question, since I know absolutely nothing
> about image compression, but couldn't you overlap the tiles slightly to
> avoid the seam lines?
> 
> This would obviously result in a slightly larger file size because some
> pixels would be compressed twice. But that might be OK if you were
> trying to compress a huge image.
> 
> What about reading chunks of the image off disk, instead of trying to
> put the whole image in memory? This would be slower, but might make an
> impossible task possible.

"Reading chunks of image off disk" == "tiling". With compression, bits
aren't stored on th disk in a way that you can say "Okay, bytes 0-32768
are the first 720 pixels" in any way. Instead, you have to decompress
the image, or part of it, to start to learn these things. Tiling lets
you split the image up into many little chunks, which you can read
individually.

> We run into this problem with vector datasets to. Some datasets are just
> to stinking BIG. One of my tasks for OpenJUMP is to write a core module
> that displays vector data accessed directly from disk, instead of from
> memory. This will be slower, but it is better than crashing the program
> because there isn't enough RAM.

Most Vector datasets have some lvel of "random access" -- I can look for
feature 7, and get it, because i know where the start and end of feature
7 are. I don't know where the start and end of pixel 7 is -- because
its' different depending on exactly how wth file is compressed.

This is all a vast simplification, and some of it is probably
not-entirely right, but the problems are -- as you suggested -- more
complex than most people not working in imagery know. (And even more
complex than some of them know, most likely :))

Regards,
-- 
Christopher Schmidt
Web Developer
___
Discuss mailing list
Discuss@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/discuss


RE: [OSGeo-Discuss] Open File Formats andProprietaryAlgorithms[SEC=UNCLASSIFIED]

2009-08-21 Thread Michael P. Gerlek
Not a stupid question -- but it doesn't work that way.  The artifacts are due 
to the wavelet processing of the pixels near the tile boundaries, and the 
boundaries have to be treated reflectively within their individual tiles (in 
order to keep each tile separate), which means you can sometimes "see" where 
those boundaries are.  "Overlapping" doesn't help because the wavelet footprint 
spans a large width, in order to handle the lower-resolution scales.  Which in 
turn means you need to be able "reach" far away parts of the image at various 
(some might say "arbitrary") stages in the wavelet pipeline.
 
Just trust me, it is a nontrivial problem to solve.  Brighter minds than ours 
have spent a lot of energy on this problem -- a literature search would reveal 
a number of PhD theses and patents.

-mpg


-Original Message-
From: discuss-boun...@lists.osgeo.org [mailto:discuss-boun...@lists.osgeo.org] 
On Behalf Of Landon Blake
Sent: Friday, August 21, 2009 10:45 AM
To: OSGeo Discussions
Subject: RE: [OSGeo-Discuss] Open File Formats 
andProprietaryAlgorithms[SEC=UNCLASSIFIED]

MPG wrote: "Tiling" essentially means you can take a large file and
compress pieces of it independently.  This avoids having to deal with
the large memory footprint issues, but it can also lead to seam-line
artifacts under certain conditions.  Ideally, one would prefer to have
the option of compressing large images without resorting to using
tiles."

This is probably a stupid question, since I know absolutely nothing
about image compression, but couldn't you overlap the tiles slightly to
avoid the seam lines?

This would obviously result in a slightly larger file size because some
pixels would be compressed twice. But that might be OK if you were
trying to compress a huge image.

What about reading chunks of the image off disk, instead of trying to
put the whole image in memory? This would be slower, but might make an
impossible task possible.

We run into this problem with vector datasets to. Some datasets are just
to stinking BIG. One of my tasks for OpenJUMP is to write a core module
that displays vector data accessed directly from disk, instead of from
memory. This will be slower, but it is better than crashing the program
because there isn't enough RAM.

Things must be more complicated than can be described in an e-mail,
because we've got people a lot smarter than me working on these
problems. I am just curious. (I tried reading about wavelet compression
on Wikipedia yesterday and quickly got a headache.) :]

Landon
Office Phone Number: (209) 946-0268
Cell Phone Number: (209) 992-0658
 
 

-Original Message-
From: discuss-boun...@lists.osgeo.org
[mailto:discuss-boun...@lists.osgeo.org] On Behalf Of Michael P. Gerlek
Sent: Friday, August 21, 2009 9:36 AM
To: OSGeo Discussions
Subject: RE: [OSGeo-Discuss] Open File Formats
andProprietaryAlgorithms[SEC=UNCLASSIFIED]

"Tiling" essentially means you can take a large file and compress pieces
of it independently.  This avoids having to deal with the large memory
footprint issues, but it can also lead to seam-line artifacts under
certain conditions.  Ideally, one would prefer to have the option of
compressing large images without resorting to using tiles.

Note too that, in addition to the large image issue, many of the JP2
implementations out there are either not fully compliant or are not
tuned for performance.  A viable solution would need both of these.

-mpg


-Original Message-
From: discuss-boun...@lists.osgeo.org
[mailto:discuss-boun...@lists.osgeo.org] On Behalf Of Chris Puttick
Sent: Friday, August 21, 2009 9:37 AM
To: OSGeo Discussions
Subject: Re: [OSGeo-Discuss] Open File Formats and
ProprietaryAlgorithms[SEC=UNCLASSIFIED]

Well, according to this page: http://jpeg2000.epfl.ch/ v.5.1, courtesy
in part Eastman Kodak, provides "complete JP2 support at the decoding
side" - not sure whether that covers the tiling or other geo needs, but
doesn't it sound worth investigating?

Chris


- "Christopher Schmidt"  wrote:

> On Fri, Aug 21, 2009 at 08:27:13AM -0700, Landon Blake wrote:
> > Thanks for the information Michael. I am downloading Opticks right
> now.
> > :]
> > 
> > I also found this Java library for JP2, thought I'm not sure how
> > complete/up-to-date it is:
> > 
> > http://jj2000.epfl.ch/
> > 
> > Maybe we need a JPEG 2000 page on the OSGeo wiki.
> 
> Note that "JPEG 2000 support" is different from "JPEG 2000 support
> which
> works on geo-sized images." The tiling (or 'paging'? as Michael calls
> it) support that's supposed to be provided by OpenJPEG2000 has been
> coming 'real soon now' for about 18 months now from my uneducated
> observations, and until it's there, most tools using Ope

RE: [OSGeo-Discuss] Open File Formats andProprietaryAlgorithms[SEC=UNCLASSIFIED]

2009-08-21 Thread Landon Blake
MPG wrote: "Tiling" essentially means you can take a large file and
compress pieces of it independently.  This avoids having to deal with
the large memory footprint issues, but it can also lead to seam-line
artifacts under certain conditions.  Ideally, one would prefer to have
the option of compressing large images without resorting to using
tiles."

This is probably a stupid question, since I know absolutely nothing
about image compression, but couldn't you overlap the tiles slightly to
avoid the seam lines?

This would obviously result in a slightly larger file size because some
pixels would be compressed twice. But that might be OK if you were
trying to compress a huge image.

What about reading chunks of the image off disk, instead of trying to
put the whole image in memory? This would be slower, but might make an
impossible task possible.

We run into this problem with vector datasets to. Some datasets are just
to stinking BIG. One of my tasks for OpenJUMP is to write a core module
that displays vector data accessed directly from disk, instead of from
memory. This will be slower, but it is better than crashing the program
because there isn't enough RAM.

Things must be more complicated than can be described in an e-mail,
because we've got people a lot smarter than me working on these
problems. I am just curious. (I tried reading about wavelet compression
on Wikipedia yesterday and quickly got a headache.) :]

Landon
Office Phone Number: (209) 946-0268
Cell Phone Number: (209) 992-0658
 
 

-Original Message-
From: discuss-boun...@lists.osgeo.org
[mailto:discuss-boun...@lists.osgeo.org] On Behalf Of Michael P. Gerlek
Sent: Friday, August 21, 2009 9:36 AM
To: OSGeo Discussions
Subject: RE: [OSGeo-Discuss] Open File Formats
andProprietaryAlgorithms[SEC=UNCLASSIFIED]

"Tiling" essentially means you can take a large file and compress pieces
of it independently.  This avoids having to deal with the large memory
footprint issues, but it can also lead to seam-line artifacts under
certain conditions.  Ideally, one would prefer to have the option of
compressing large images without resorting to using tiles.

Note too that, in addition to the large image issue, many of the JP2
implementations out there are either not fully compliant or are not
tuned for performance.  A viable solution would need both of these.

-mpg


-Original Message-
From: discuss-boun...@lists.osgeo.org
[mailto:discuss-boun...@lists.osgeo.org] On Behalf Of Chris Puttick
Sent: Friday, August 21, 2009 9:37 AM
To: OSGeo Discussions
Subject: Re: [OSGeo-Discuss] Open File Formats and
ProprietaryAlgorithms[SEC=UNCLASSIFIED]

Well, according to this page: http://jpeg2000.epfl.ch/ v.5.1, courtesy
in part Eastman Kodak, provides "complete JP2 support at the decoding
side" - not sure whether that covers the tiling or other geo needs, but
doesn't it sound worth investigating?

Chris


- "Christopher Schmidt"  wrote:

> On Fri, Aug 21, 2009 at 08:27:13AM -0700, Landon Blake wrote:
> > Thanks for the information Michael. I am downloading Opticks right
> now.
> > :]
> > 
> > I also found this Java library for JP2, thought I'm not sure how
> > complete/up-to-date it is:
> > 
> > http://jj2000.epfl.ch/
> > 
> > Maybe we need a JPEG 2000 page on the OSGeo wiki.
> 
> Note that "JPEG 2000 support" is different from "JPEG 2000 support
> which
> works on geo-sized images." The tiling (or 'paging'? as Michael calls
> it) support that's supposed to be provided by OpenJPEG2000 has been
> coming 'real soon now' for about 18 months now from my uneducated
> observations, and until it's there, most tools using OpenJPEG for JP2s
> are
> going to suffering under much the same limitations.
> 
> -- Chris
> 
> > Landon
> > Office Phone Number: (209) 946-0268
> > Cell Phone Number: (209) 992-0658
> >  
> >  
> > 
> > -Original Message-
> > From: discuss-boun...@lists.osgeo.org
> > [mailto:discuss-boun...@lists.osgeo.org] On Behalf Of Considine,
> Michael
> > Sent: Friday, August 21, 2009 8:09 AM
> > To: OSGeo Discussions
> > Subject: RE: [OSGeo-Discuss] Open File Formats and
> > ProprietaryAlgorithms[SEC=UNCLASSIFIED]
> > 
> > All,
> > 
> > Opticks is an open source remote sensing application and
> development
> > framework. We recently started the process to add JPEG 2000 support
> to
> > our framework. We picked OpenJpeg to add JPEG 2000 support to our
> > application. They are also open source. We currently support
> importing
> > JPEG 2000 files but we are currently limited to the 4GB memory size
> > after decoding.
> > 
> > Our plan is to continue development and to upgrade t