 |
BorlandTalk.com Borland discussion newsgroups
|
| View previous topic :: View next topic |
| Author |
Message |
Eric SIBERT Guest
|
Posted: Tue Jun 29, 2004 5:20 pm Post subject: streamed JPEG2000 compression |
|
|
Hi,
Same as previous thread but for jpeg2000 file format.
I'm handling large pictures (around 16,000x16,000). I want to store it
in a jpeg2000 file. To reduce memory use, I don't store the full picture
in memory using a TBitmap. I'm looking for a way to make the jpeg2000
file with only a small part of my large view rendered in memory, in
order to minimize memory use. Do you have any (free) idea?
--
Eric SIBERT
http://www.ericsibert.com
|
|
| Back to top |
|
 |
Roy Magne Klever Guest
|
Posted: Tue Jun 29, 2004 6:21 pm Post subject: Re: streamed JPEG2000 compression |
|
|
Hi Eric,
Jpeg2000 (JP2k) is not suited for this because of its very slow compression
and decompression times.
Some how they did not optimize JP2k for speed, only compression, making it
almost useless with todays computers.
Kind Regards
Roy Magne Klever
|
|
| Back to top |
|
 |
Ive Guest
|
Posted: Tue Jun 29, 2004 8:39 pm Post subject: Re: streamed JPEG2000 compression |
|
|
| Quote: | Jpeg2000 (JP2k) is not suited for this because of its very slow compression
and decompression times.
Some how they did not optimize JP2k for speed, only compression, making it
almost useless with todays computers.
|
Hmm, the speed of JPEG2000 wavelet en/decoding does depend on the
implementation and in fact the DWT (descrete wavelet transformation)
can be done as fast as the well known DCT from good old JPEG.
In addition JPEG2000 is pretty much designed to perfectly fit Eric's need
as it supports tiles, multiple layers and also YCbCr with subsampled
chrominance. The only problem: there is no free implementation that does
support all this and also none that has a fast implementation (by using e.g.
lifting schemes) of the DWT. Jasper (the free library) is not very well done
when it comes to decoder speed.
BTW, I was lately working on an J2K compresser/decompressor and
would be glad to publish it, but do currently not have the time to finish it,
clean the code and start thinking about the necessary optimisations.
The thing is working, supports RGB, Grayscale and YCbCr with/without
subsampling, multiple layers, tiles and more but it is as also quite slow
(especially for the 9x5 wavelets, they cry out to be implemented in a way
that uses optimized SSE/SSE2 assembler code) and I must also say I
do currently understand the "lifting" not very well. Also it seems that a lot
cpu clocks go into the tier1 decoder so this is also a place where a lot
can be done to speed it up...
Just in case anyone is willing to help me out there, feel free to send a mail...
-Ive
P.S: I know that the decoder can be made really fast, 'cause I'm aware of
an commercial implementation (and do not want to advertise it here so
will not tell it's name) and it is indeed breathtaking fast even for extremely
huge images.
|
|
| Back to top |
|
 |
Eric SIBERT Guest
|
Posted: Tue Jun 29, 2004 9:33 pm Post subject: Re: streamed JPEG2000 compression |
|
|
Hi Roy,
This is not my question . Indeed, it is suitable for what I want to
do. Compression time is not a problem. And I only decompress a small
part at once. Even more, this is a long term project... for tomorow
computers ;-)
--
Eric SIBERT
http://www.ericsibert.com
|
|
| Back to top |
|
 |
Nils Haeck Guest
|
Posted: Tue Jun 29, 2004 9:50 pm Post subject: Re: streamed JPEG2000 compression |
|
|
To this and previous message:
If you can control in which format you store your data, then I would suggest
you simply split the big 16000x16000 image in a number of tiles, e.g. 256
tiles of 1000x1000.
Store each of the tiles as a separate Jpeg or Jpeg2000 image, and only open
it when you're displaying that part of the overall image.
You can store them all in one large file with an index or something.
For reading Jpeg2000 you can use the opensource JasPer.dll. I have created a
reader/writer from and to TBitmap32 using it. If you want the source of that
then drop me a line. I will probably make it available soon as a free
imaging resource anyway.
Hope that helps,
Nils Haeck
www.simdesign.nl
"Eric SIBERT" <courrier (AT) NOericSPAMsibert (DOT) com> wrote
| Quote: | Hi,
Same as previous thread but for jpeg2000 file format.
I'm handling large pictures (around 16,000x16,000). I want to store it
in a jpeg2000 file. To reduce memory use, I don't store the full picture
in memory using a TBitmap. I'm looking for a way to make the jpeg2000
file with only a small part of my large view rendered in memory, in
order to minimize memory use. Do you have any (free) idea?
--
Eric SIBERT
http://www.ericsibert.com
|
|
|
| Back to top |
|
 |
Holger Flick Guest
|
Posted: Tue Jun 29, 2004 9:55 pm Post subject: Re: streamed JPEG2000 compression |
|
|
On Tue, 29 Jun 2004 23:50:58 +0200, Nils Haeck <n.haeckno (AT) spamchello (DOT) nl>
wrote:
| Quote: | For reading Jpeg2000 you can use the opensource JasPer.dll. I have
created a
reader/writer from and to TBitmap32 using it. If you want the source of
that
then drop me a line. I will probably make it available soon as a free
imaging resource anyway.
|
Maybe you publish it on a web server somewhere so everybody can download
it? I'd be interested as well!
--
Using Opera's revolutionary e-mail client: http://www.opera.com/m2/
|
|
| Back to top |
|
 |
Roy Magne Klever Guest
|
Posted: Tue Jun 29, 2004 10:11 pm Post subject: Re: streamed JPEG2000 compression |
|
|
Hi Eric,
You are right, sorry about it.
Roy M Klever
|
|
| Back to top |
|
 |
Nils Haeck Guest
|
Posted: Wed Jun 30, 2004 12:06 am Post subject: Re: streamed JPEG2000 compression |
|
|
| Quote: | Maybe you publish it on a web server somewhere so everybody can download
it? I'd be interested as well!
|
Yes that's what I intend to do. But currently I'm working 24/7 on a very big
project, so no chance until August.
Kind regards,
Nils Haeck
www.simdesign.nl
|
|
| Back to top |
|
 |
Eric SIBERT Guest
|
Posted: Wed Jun 30, 2004 4:48 pm Post subject: Re: streamed JPEG2000 compression |
|
|
| Quote: | Store each of the tiles as a separate Jpeg or Jpeg2000 image, and only open
it when you're displaying that part of the overall image.
|
It could be a good idea for jpeg. I have already seen it. But I think,
this is a non-sens for Jpeg2000 as jpeg2000 is suited for extraction a
small area of a full picture.
| Quote: | For reading Jpeg2000 you can use the opensource JasPer.dll. I have created a
reader/writer from and to TBitmap32 using it. If you want the source of that
then drop me a line. I will probably make it available soon as a free
imaging resource anyway.
|
I'm also interested. Later, I will need a tool that will be able to read
a small area of a jpeg2000. One way could be to use kakadu software with
command line.
--
Eric SIBERT
http://www.ericsibert.com
|
|
| Back to top |
|
 |
Nils Haeck Guest
|
Posted: Wed Jun 30, 2004 6:53 pm Post subject: Re: streamed JPEG2000 compression |
|
|
| Quote: | It could be a good idea for jpeg. I have already seen it. But I think,
this is a non-sens for Jpeg2000 as jpeg2000 is suited for extraction a
small area of a full picture.
|
Theoretically, yes. But then you must have the whole set of routines that
work with chunks and you cannot use the overall (simple-to-implement)
loader. The latter one is the only one I ever implemented using JasPer.dll.
Well, actually I have already implemented so much as 80% of the Jpeg2000
spec in Delphi, except for the MQ-coder.
Perhaps when I have time someday I'll finish the 20% and provide a native
Jpeg2000 component.
Perhaps some here will recollect that I also created my own lossless
compression technique, called ISA, and it now compresses comparably, but
faster than Jpeg2000.
Kind regards,
Nils
"Eric SIBERT" <courrier (AT) NOericSPAMsibert (DOT) com> wrote
| Quote: | Store each of the tiles as a separate Jpeg or Jpeg2000 image, and only
open
it when you're displaying that part of the overall image.
It could be a good idea for jpeg. I have already seen it. But I think,
this is a non-sens for Jpeg2000 as jpeg2000 is suited for extraction a
small area of a full picture.
For reading Jpeg2000 you can use the opensource JasPer.dll. I have
created a
reader/writer from and to TBitmap32 using it. If you want the source of
that
then drop me a line. I will probably make it available soon as a free
imaging resource anyway.
I'm also interested. Later, I will need a tool that will be able to read
a small area of a jpeg2000. One way could be to use kakadu software with
command line.
--
Eric SIBERT
http://www.ericsibert.com
|
|
|
| Back to top |
|
 |
David Berneda Guest
|
Posted: Thu Jul 01, 2004 1:31 pm Post subject: Re: streamed JPEG2000 compression |
|
|
<g> That's a good proof of y2k effect !
"Roy Magne Klever" <roy_magne (AT) rmklever (DOT) com> wrote
| Quote: | Hi Eric,
Jpeg2000 (JP2k) is not suited for this because of its very slow compression
and decompression times.
Some how they did not optimize JP2k for speed, only compression, making it
almost useless with todays computers.
Kind Regards
Roy Magne Klever
|
|
|
| Back to top |
|
 |
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|