Data-Compression.org

data compression link collection

Archives

Arithmetic Coding

Posted in November 17th, 1999

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

read more from " Arithmetic Coding "

BWT, a transformation algorithm

Posted in November 17th, 1999

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

read more from " BWT, a transformation algorithm "

Canonical Huffman Coding

Posted in November 17th, 1999

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

read more from " Canonical Huffman Coding "

CRC-32

Posted in November 17th, 1999

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

read more from " CRC-32 "

When Fibbonaci and Huffman Met

Posted in November 17th, 1999

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

read more from " When Fibbonaci and Huffman Met "

Flexible parsing

Posted in November 17th, 1999

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

read more from " Flexible parsing "

LZ77 the basics of compression (2st ed.)

Posted in November 17th, 1999

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

read more from " LZ77 the basics of compression (2st ed.) "

Lzp

Posted in November 17th, 1999

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

read more from " Lzp "

Lzp order-3 with linked lists

Posted in November 17th, 1999

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

read more from " Lzp order-3 with linked lists "

Lzp research

Posted in November 17th, 1999

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

read more from " Lzp research "

Lzw, gif decoding

Posted in November 17th, 1999

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

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

read more from " Lzw, gif decoding "

Move to front

Posted in November 17th, 1999

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

read more from " Move to front "

Optimizing putbits

Posted in November 17th, 1999

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

read more from " Optimizing putbits "

Quasi Static model

Posted in November 17th, 1999

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

read more from " Quasi Static model "

Range coder

Posted in November 17th, 1999

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

read more from " Range coder "

Run Length Encoding

Posted in November 17th, 1999

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

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

read more from " Run Length Encoding "

Static Huffman Coding

Posted in November 17th, 1999

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

read more from " Static Huffman Coding "

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

Posted in November 16th, 1999
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

read more from " AOL.COM search: Home > Computers > Algorithms > Compression "

MG Pages

Posted in November 15th, 1999

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/

read more from " MG Pages "

The New Zealand Digital Library

Posted in November 15th, 1999

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

read more from " The New Zealand Digital Library "

CACM 87 Arithmetic Coder

Posted in November 15th, 1999

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

read more from " CACM 87 Arithmetic Coder "

News and History of the PNG Development Group

Posted in November 14th, 1999

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

read more from " News and History of the PNG Development Group "

Introduction to JBIG

Posted in November 14th, 1999
Published in Newsgroup Posts, JBIG

The comp.compression FAQ gives you this introduction.

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

read more from " Introduction to JBIG "

How PNG’s Two-Dimensional Interlacing Works

Posted in November 14th, 1999

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

read more from " How PNG’s Two-Dimensional Interlacing Works "

Introduction to JPEG

Posted in November 14th, 1999
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

read more from " Introduction to JPEG "

How PNG’s Two-Dimensional Interlacing Works

Posted in November 14th, 1999

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

read more from " How PNG’s Two-Dimensional Interlacing Works "

What is Vector Quantization?

Posted in November 14th, 1999

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

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

read more from " What is Vector Quantization? "

Miscellaneous PNG Images using OBJECT Tags

Posted in November 14th, 1999

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

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

read more from " Miscellaneous PNG Images using OBJECT Tags "

Introduction to Fractal compression

Posted in November 14th, 1999

The comp.compression FAQ provides you with this introduction.

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

read more from " Introduction to Fractal compression "

PNG Suite from Willem van Schaik

Posted in November 14th, 1999
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

read more from " PNG Suite from Willem van Schaik "