AdvanceCOMP

From Wikipedia, the free encyclopedia

AdvanceCOMP is a set of command line data (re-)compression tools. The utilities allow modifying an already-compressed file, with the intend of reducing the file-size by optimising the compressed representation. The AdvanceCOMP suite is Freely available under the terms of the GPL license.

AdvanceCOMP works with files using the LZ/Huffman-based compression algorithm known as DEFLATE, the most widely-used compression encoding systems in use. A large number of file-formats include DEFLATE as part of their specification, most notably PNG, gzip and ZIP.

Contents

[edit] The DEFLATE encoding

DEFLATE specifies a stream-encoding such that any compliant decoder is able to parse any valid stream; the algorithm and program used for the compression stage are not mandated.

For generation of compressed sections of DEFLATE data, an encoder available in the zlib/gzip reference implementation has typically been utilised. The zlib/gzip compressor offers the user a sliding scale between CPU usage and the likely amount of reduction in size achieved on a range of -0 (no compression) to -9 (maximum gzip compression).

The 7-Zip DEFLATE encoder, used in the AdvanceCOMP suite, effectively extends the sliding scale further. A much more detailed search of compression possibilities is performed, at the expense of significate further processor time spent searching. Effectively the 10-point scale used in gzip is extended to include extra settings above -9, the previous maximum search level. There will be no difference in decompression speed, regardless of the level of compressed size achieved or time taken to encode the data.

[edit] Included utilties

AdvanceCOMP includes four utilities, all of which allow the extend of DEFLATE searching to be set of one of four levels:

  • advpng, removal of ancillary chunks, concatenation of all individual IDAT chunks; then re-encoding of the combined PNG image file using the 7-Zip deflate method.
  • advmng, attempt to make use of delta encoding, followed by re-encoding of compressed sections using 7-Zip deflate method.
  • advdef, general re-encoding of anything featuring a zlib stream, this includes .gz files.
  • advzip, re-encoding of compressed DEFLATE streams within a .zip archive.

The additional searching performed during compression (and therefore additional CPU usage), can often make gains of 5%-10% in compressed size, according to the AdvaceCOMP authors. After using AdvanceCOMP, the output remains a backwards-compatible and compliant DEFLATE stream, being capable of decoded by any existing tools.

[edit] See also

[edit] External links