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 significant 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 utilities
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 individualIDAT
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 AdvanceCOMP authors. After using AdvanceCOMP, the output remains a backwards-compatible and compliant DEFLATE stream, being capable of decoded by any existing tools.