openexr-user
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Openexr-user] PIZ compression


From: Florian Kainz
Subject: Re: [Openexr-user] PIZ compression
Date: Wed, 19 Jan 2005 17:46:27 -0800
User-agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.3) Gecko/20030314

Klaus Steden wrote:

Hello,

Just out of idle curiousity ... has anyone taken the PIZ algorithms out of the OpenEXR source and bundled them into a standalone library/software package a la bzip2, gzip, zip, etc.?

Given the power of PIZ, I am thinking it might be useful to have available on its own for use even outside the realm of digital images. Have I in my enthusiasm misunderstood its applicability to general data compression? Would it be in violation of the OpenEXR licensing arrangement? Has anyone tried this yet?

Just curious.

Klaus


The OpenEXR license allows you to modify the OpenEXR source and
to redistribute your modified code, with very vew restrictions.
For details, see http://www.ilm.com/opensource/.

However, I doubt that PIZ would be very good for general-purpose
data compression.
PIZ converts the floating-point (half) pixel data to integers,
applies a Haar Wavelet transform to the integer data, and Huffman-
encodes the output.
Conversion from floating-point to integer and the wavelet transform
are designed to alter the statistical distribution of the pixel
values so that small numbers occur much more frequently than large
ones.  Both steps were specifically designed for photographic images,
and they tend to work well for this purpose, but there is no reason
to believe that they would do anything useful for other kinds of
data, for example, text.
The Huffman coder directly encodes 16-bit symbols rather than
individual bytes.  The coder would work with with text or similar
data, but the compression ratios that can be achieved by Huffman-
encoding individual characters without any preprocessing tend to
be unimpressive.
Overall, I think you are better off using zlib/gzip/bzip2 for
general-purpose compression.

Florian







reply via email to

[Prev in Thread] Current Thread [Next in Thread]