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
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
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
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
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
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
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
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
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
Lzw, gif decoding
Arturo Campos describes the specific implementation of LZW compression used in GIF files.
http://www.arturocampos.com/ac_lzw_gif.html
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
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
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
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
Run Length Encoding
Arturo Campos describes the simple RLE algorithm, used in BWT to improve sorting speed.
http://www.arturocampos.com/ac_rle.html
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
AOL.COM search: Home > Computers > Algorithms > Compression
The compression algorithms page under AOL.COM’s search engine.
http://search.aol.com/cat.adp?from=catsearch&id=6058
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/
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.
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
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
Introduction to JBIG
The comp.compression FAQ gives you this introduction.
http://www.faqs.org/faqs/compression-faq/part2/section-5.html
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
Introduction to JPEG
The comp.compression FAQ provides you with an introduction.
http://www.faqs.org/faqs/compression-faq/part2/section-6.html
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
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
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
Introduction to Fractal compression
The comp.compression FAQ provides you with this introduction.
http://www.faqs.org/faqs/compression-faq/part2/section-8.html
PNG Suite from Willem van Schaik
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