Archives
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.htmlBWT, 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.htmlCanonical 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.htmlWhen 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.htmlFlexible 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.htmlLZ77 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.htmlLzp
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.htmlLzp 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.htmlLzp 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.htmlLzw, gif decoding
Arturo Campos describes the specific implementation of LZW compression used in GIF files.
http://www.arturocampos.com/ac_lzw_gif.htmlMove 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.htmlOptimizing 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.htmlQuasi 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.htmlRange 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.htmlRun Length Encoding
Arturo Campos describes the simple RLE algorithm, used in BWT to improve sorting speed.
http://www.arturocampos.com/ac_rle.htmlStatic 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.htmlAOL.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=6058read more from " AOL.COM search: Home > Computers > Algorithms > Compression "
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.
http://www.nzdl.orgCACM 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.sharNews 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.htmlread more from " News and History of the PNG Development Group "
Introduction to JBIG
The comp.compression FAQ gives you this introduction.
http://www.faqs.org/faqs/compression-faq/part2/section-5.htmlHow 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.htmlread more from " How PNG’s Two-Dimensional Interlacing Works "
Introduction to JPEG
The comp.compression FAQ provides you with an introduction.
http://www.faqs.org/faqs/compression-faq/part2/section-6.htmlHow 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.htmlread more from " How PNG’s Two-Dimensional Interlacing Works "
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.htmlMiscellaneous 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.htmlread more from " Miscellaneous PNG Images using OBJECT Tags "
Introduction to Fractal compression
The comp.compression FAQ provides you with this introduction.
http://www.faqs.org/faqs/compression-faq/part2/section-8.htmlPNG 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