Re: Details in PIZ compression
Florian Kainz <[email protected]> Wed, 27 Feb 2008 13:58:25 -0800
| Newsgroups | gmane.comp.video.openexr.user |
|---|---|
| Message-ID | <[email protected]> |
Unfortunately there isn't a document that describes PIZ (or any of the other compression methods) in detail. If anyone wants to write such a description, I'd be happy to put it on the web site, along with the other documentation. Jack Mak wrote: > Hi Florian, > > Thanks for your explanation. I got the big picture. Before I look > through the source code, just wonder, are there any documents (papers, > standards...) give a detailed description of PIZ compression? > > Best regards, > > Jack > > On Fri, Feb 22, 2008 at 2:39 PM, Florian Kainz <[email protected] > <mailto:[email protected]>> wrote: > > For the details of PIZ compression, you'll have to > look at the source code, but here's a brief overview: > > The image is split into blocks that are 32 pixels high > and as wide as the image. The blocks are split into > individual channels. The bit-patterns that comprise > the half values in each block are re-interpreted as > 16-bit integers, and the integers are run through a > lookup table that shapes their distribution such that > comb-like histograms, with spikes separated by wide > gaps, are avoided. A Haar wavelet transform is applied > to the output of the lookup table, and the output of > the wavelet transform is compacted using a 16-bit > Huffman coder. > > PIZ is mathematically lossless because each individual > step is reversible. The wavelet transform is reversible > because it operates on integers and has no roundoff error. > > Florian > > > > Jack Mak wrote: > > Hi Experts, > > > > How does the PIZ compression work? Where can I find reference that > > discusses it in detail? (I checked out the documentations on the > > OpenEXR website, but they does not help.) > > > > Many thanks > > > > Jack > > > > > > _______________________________________________ > > Openexr-user mailing list > > [email protected] <mailto:[email protected]> > > http://lists.nongnu.org/mailman/listinfo/openexr-user > > > > > >