The Data Compression News Blog

All about the most recent compression techniques, algorithms, patents, products, tools and events.

Subscribe

Posts: RSS Feed
Comments: RSS Feed

Sponsored Links

Recent Posts

  • Bijective BWT (7 Comments)

    David Scott has written a bijective BWT transform, which brings all the advantages of bijectiveness to BWT based compressors. Among other things, making BWT more suitable for compression-before-encryption and also give (slightly) better compression.

  • Asymmetric Binary System (116 Comments)

    Jarek Duda’s “Asymmetric Binary System” promises to be an alternate to arithmetic coding, having all the advantages, but being much simpler. Matt has coded a PAQ based compressor using ABS for back-end encoding. Update: Andrew Polar has written an alternate implementation of ABS.

  • Precomp: More Compression for your Compressed Files (3 Comments)

    So many of today’s files are already compressed (using old, outdated algorithms) that newer algorithms don’t even get a chance to touch them. Christian Schneider’s Precomp comes to rescue by undoing the harm.

  • On2 Technologies is Hiring

    There aren’t too many companies working on cutting edge codecs, and of those few this one is hiring. Best of luck.

  • China’s AVS Specifications Available (2 Comments)

    Its old news that China has developed their own Advanced Video Standard to avoid high licensing fees. English translation of the standard is now available, along with the IPR policy. Finally something technical that you can get your hands on to feed your appetite.

QuickLZ, for Really Fast Lossless Compression

Posted by Sachin Garg on 10th October 2006 | Permanent Link

Lasse Reinhold recently released alpha version of QuickLZ, a very fast lossless compression algorithm coded in 386 compatible assembly (code is inline C, so you can readily use it in C/C++ projects). To quote Werner Bergmans, “QuickLZ is now the fastest command line compression program ever tested on maximum compression”.

For more details, you can also check this comp.compression thread.

It uses a LZ77 based algorithm and is GPL licensed:

The current implementation is using LZ77 encoding with a 16 Kbyte window, a maximum matchlength of 72 bytes and separate handling of RLE sequences.

LZ matches are stored as an offset (values 3…17476) and a matchlength, both in form of bitfields of variable length so that small values, which are frequent in LZ compression, have shorter bitfields. RLE sequences are stored as a runlength followed by the byte to be repeated with the runlength (values 3…588) being a variable sized bitfield. Literals (uncompressed bytes) are prefixed by a 0 bit followed by the uncompressed byte.

A hash table of 2048 entries is used to find LZ matches. The has table is updated on each uncompressed byte, on each byte following an LZ match and on each byte following an RLE sequence. If we name that byte Bi and the following two bytes Bi+1and Bi+2, we can call D = Bi | (Bi+1 << 8) | (Bi+2 << 16). The hash table is now updated such that hash[((D >> 13) ^ D) && 0x7ff] = O where O is the offset of Bi.

Code doesn’t yet uses any MMX/SSE2 features and Lasse is planning some further optimizations in algorithm. I was almost holding my breath to see how much further this will go.

Anyway, next version will probably deserve another post for itself.

7 Responses to “QuickLZ, for Really Fast Lossless Compression”

  1. colbert Says:

    excellent work on this software. Any plans to licence it ?

  2. reza Says:

    Yes, I would like to see more information on licensing also. Great work.

  3. reza Says:

    doh, its GPL’ed, says on the site, checking it out now :)

  4. Lasse Reinhold Says:

    There will be a commercial license available around the end of october because the commercial version needs to thoroughly tested and rock stable.

    So stay tuned :-)

  5. Lasse Reinhold Says:

    Version 1.0 is out and a commercial license is available.

  6. Lasse Reinhold Says:

    Version 1.10 is out - kicks LZO’s b*** at decompression speed ;-)

  7. QuickLZ 1.10, The Fastest Just Got Faster - The Data Compression News Blog - c10n.info Says:

    The “fastest in its class” compression/decompression library just got better.

Leave a Reply

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>