I'd like to share a little toy project of mine, a really simple image codec that can do lossy to full lossless image compression with complete scalability at a byte level granularity - you can compress an image just once, even fully losslessly if needed, and then get any lossy version possible by simply stopping decompression at any offset in the compressed data.
This "encode onde, serve many" approach is especially interesting for providing downscaled low quality image previews (LQIP) in as tight a storage budget as possible, and then allowing seamless, transparent refinement as deemed necessary, without reencoding or needing to store multiple lower quality/resolution versions of the same image.
To better serve that purpose, the codec is tuned to provide as much detail as it can as soon as possible in the bitstream, so that downscaling will still produce sharp, good looking previews.
Features:
- Support for 8bbp grayscale images, and 3 internal colorspaces (YCoCg-R, Oklab, logl1) for color images
- 5/3 integer reversible DWT, 4 possible scan orders based on different space-filling curves (raster, snake, Morton/Z-order and Hilbert)
- No entropy coding, just bitplane significance coding using the Wavelet Difference Reduction (WDR) method, followed by progressive refinement
Some sample images, comparison to JPEG-XL and previous discussion can be found at https://encode.su/threads/4183-SQZ-Low-complexity-scalable-l...
Any feedback, suggestions or questions would be most welcome, thanks.