2007.07.05 19:29 "Re: [Tiff] 16-Bit-Per-Channel Lossless Compression", by Stephen Carlsen
Joris et al,
Indeed, so in my compression tests I used single-row tiles. This may not be optimal for all applications, but it is where I get the best import and display performance with page layout programs, and, amazingly, my compression ratios were about the same as when I tried more-square tiles.
YMMV, of course...
Separating 16-bit data into byte planes before compressing seems to be very effective. I get 40,882,548 bytes using the simple approach of applying LZW (with predictor) to the high byte plane and no compression on the low one.
The problem here is that it is no longer sequential, i.e. a decoder or encoder can no longer stream out line/block by line/block (where block is a very limited chunk of compressed data, as line is a minimal chunk of image), whilst streaming in the data as needed block/line by block/line, and maintaining only a mimimal buffer in between. Instead, total buffering of complete striles becomes necessary in this scheme. Therefore, it doesn't scale well (problem with LibTiff approach and huge striles), or doesn't stream well (problem with minimal buffering maximum throughput approach of AsTiff).