Data-Compression.org

data compression link collection

Arithmetic Coding

A concise explanation of Arithmetic Coding by Arturo Campos. The easy to read article is accompanied by snippets of pseudo code.

http://www.arturocampos.com/ac_arithmetic.html

* * * * *

Posted in November 17th, 1999

BWT, a transformation algorithm

Arturo Campos provides an easy-to-read explanation of the BWT transformation algorithm. This algorithm achieves very good compression ratios at relatively high speeds.

http://www.arturocampos.com/ac_bwt.html

* * * * *

Posted in November 17th, 1999

Canonical Huffman Coding

Arturo Campos descrives Canonical Huffman Coding, the technique used in the deflate algorithm made popular by PKZip. This type of Huffman coding follows some specific rules regarding the structure of the Huffman tree that simplify the process of transmitting the tree.

http://www.arturocampos.com/ac_canonical_huffman.html

* * * * *

Posted in November 17th, 1999

CRC-32


http://www.arturocampos.com/ac_crc32.html

* * * * *

Posted in November 17th, 1999

When Fibbonaci and Huffman Met

Arturo Campos describes the circumstances that lead to a Huffman tree with the worst possible code lengths.

http://www.arturocampos.com/ac_fib_huffman.html

* * * * *

Posted in November 17th, 1999

Flexible parsing

Arturo Campos explains how your implentation of an LZ77 compressor might benefit from an improved parsing algorithm. Instead of always using the longest match found at at the current position, Flexible Parsing attempts to find the optimal match which will lead to the best overall compresion.

http://www.arturocampos.com/ac_flexible_parsing.html

* * * * *

Posted in November 17th, 1999

LZ77 the basics of compression (2st ed.)

Arturo Campos explains some of the basics about LZ77 compression and its popular descendant, LZSS. This is one of Arturo’s longer articles, and it includes a hefty does of 80×86 code for illustration purposes.

http://www.arturocampos.com/ac_lz77.html

* * * * *

Posted in November 17th, 1999

Lzp

Arturo Campos presents the LZP algorithm, first described by Charles Bloom. LZP is a hybrid of dictionary based coding and statistical modeling. This means it has some of the elements of popular LZSS encoders, but takes advantage of PPM style modeling as well. The combination of the two leads to very good compression ratios.

http://www.arturocampos.com/ac_lzp.html

* * * * *

Posted in November 17th, 1999

Lzp order-3 with linked lists

Another article about LZP by Arturo Campos. This piece describes a specific implementation technique using linked lists.

http://www.arturocampos.com/ac_lzp_o3_ll.html

* * * * *

Posted in November 17th, 1999

Lzp research

Arturo Campos has been doing quite a bit of research on the LZP algorithm (first described by Charles Bloom.) This paper presents all of his results to date.

http://www.arturocampos.com/ac_lzp_research.html

* * * * *

Posted in November 17th, 1999

Lzw, gif decoding

Arturo Campos describes the specific implementation of LZW compression used in GIF files.

http://www.arturocampos.com/ac_lzw_gif.html

* * * * *

Posted in November 17th, 1999

Move to front

The MTF algorithm is not very exciting, but it does a really nice job of compressing streams that have been put through the BWT transform. Arturo Campos gives an explanation of how to implement it in this paper.

http://www.arturocampos.com/ac_mtf.html

* * * * *

Posted in November 17th, 1999

Optimizing putbits

Most compression programs need to be able to do bit-oriented input and output. This is a problem, since most file systems are set up to do byte oriented I/O. Arturo Campos looks at ways to do an effective implementation of this neglected part of compression programming.

http://www.arturocampos.com/ac_opt_putbits.html

* * * * *

Posted in November 17th, 1999

Quasi Static model

Arturo Campos describes a model for arithmetic coding which results in less compression than an adaptative one, but at much higher speeds.

http://www.arturocampos.com/ac_qsm.html

* * * * *

Posted in November 17th, 1999

Range coder

Arturo Campos describes a version of arithmetic coding which renormalizes in bytes, thus achiving twice the speed of an standard implementation and 0.01% less compression.

http://www.arturocampos.com/ac_range.html

* * * * *

Posted in November 17th, 1999

Run Length Encoding

Arturo Campos describes the simple RLE algorithm, used in BWT to improve sorting speed.

http://www.arturocampos.com/ac_rle.html

* * * * *

Posted in November 17th, 1999

Static Huffman Coding

Arturo Campos describes one of the simplest yet often effective compression algorithms. Believe it or not, Huffman coding with an order-0 model is nearly 50 years old!

http://www.arturocampos.com/ac_static_huffman.html

* * * * *

Posted in November 17th, 1999

AOL.COM search: Home > Computers > Algorithms > Compression

Published in Links, Data Compression

The compression algorithms page under AOL.COM’s search engine.

http://search.aol.com/cat.adp?from=catsearch&id=6058

* * * * *

Posted in November 16th, 1999

MG Pages

Some pages that go along with the book “Managing Gigabytes”, by Witten et.al. These pages are devoted to MG, “an open-source indexing and retrieval system for text, images, and textual images.”

http://www.mds.rmit.edu.au/mg/

* * * * *

Posted in November 15th, 1999

The New Zealand Digital Library

A tremendous selection of computer science papers, pulled in from over one thousand different CS bilbiographies. Although this page doesn’t specifically relate to data compression, it has plenty to offer the interested researcher.

http://www.nzdl.org

* * * * *

Posted in November 15th, 1999

CACM 87 Arithmetic Coder

A copy of the source to the seminal article in the CACM describing a scheme to perform arithmetic coding.

ftp://ftp.cpsc.ucalgary.ca/pub/projects/ar.cod/cacm-87.shar

* * * * *

Posted in November 15th, 1999

News and History of the PNG Development Group

What’s going on with PNG? Inquiring minds want to know! Note that this page includes links to the history pages for previous years, currently 1995-1998

http://www.libpng.org/pub/png/pngnews.html

* * *    

Posted in November 14th, 1999

Introduction to JBIG

Published in Newsgroup Posts, JBIG

The comp.compression FAQ gives you this introduction.

http://www.faqs.org/faqs/compression-faq/part2/section-5.html

* * * * *

Posted in November 14th, 1999

How PNG’s Two-Dimensional Interlacing Works

Lots of pictures and explanations from Greg R. describing how PNG works. I bet a lot of this made it into Greg’s fine PNG book. (Note that the graphics on this page use PNG and MNG.)

http://www.libpng.org/pub/png/pngpic2.html

* * * * *

Posted in November 14th, 1999

Introduction to JPEG

Published in Newsgroup Posts, JPEG

The comp.compression FAQ provides you with an introduction.

http://www.faqs.org/faqs/compression-faq/part2/section-6.html

* * * * *

Posted in November 14th, 1999

How PNG’s Two-Dimensional Interlacing Works

Lots of pictures and explanations from Greg R. describing how PNG works. I bet a lot of this made it into Greg’s fine PNG book. (Note that the graphics on this page use GIF images for animation.)

http://www.libpng.org/pub/png/pngpics.html

         

Posted in November 14th, 1999

What is Vector Quantization?

The comp.compression FAQ provides you with an answer to this question.

http://www.faqs.org/faqs/compression-faq/part2/section-7.html

* * * * *

Posted in November 14th, 1999

Miscellaneous PNG Images using OBJECT Tags

Miscellaneous PNG Images, including some that Greg R. uses to point out problems in various browsers.

http://www.libpng.org/pub/png/pngs.html

* * * * *

Posted in November 14th, 1999

Introduction to Fractal compression

The comp.compression FAQ provides you with this introduction.

http://www.faqs.org/faqs/compression-faq/part2/section-8.html

* * * * *

Posted in November 14th, 1999

PNG Suite from Willem van Schaik

Published in Files, Benchmarks, PNG

This is Willem van Schaik’s suite of PNG icons for testing PNG decoder engines, PNG viewers, and PNG browsers.

http://www.libpng.org/pub/png/pngsuite.html

* * * * *

Posted in November 14th, 1999