Comp.compression Frequently Asked Questions
This is the FAQ for the comp.compression newsgroup and it is the place to discuss about data compression, both
lossless (for text or data) and lossy (for images, sound, etc..).
Drawing the Hilbert curve
The Hilbert curve is a space filling curve that visits every point in a square grid. It has advantages in those image processing (and rendering) operations where the coherence between neighbouring pixels is important
Effective Arithmetic Coding
Arithmetic coding has become a very important technique used in compression. Code by Witten, Neal, and Cleary, which was published in CACM [1987] has become the de facto standard.
Any improvements to the coder will yield either better compression efficiency, that is, a reduction in time/memory usage or yield improved compression effectiveness, that is, a decrease in the size of the encoded data. Here I am primarily interested in compression effectiveness.
Five Cents on Arithmetic Encoding
While employing the classical arithmetic compression implementation , I found it possible to make some optimizations that significantly increase compression speed, especially on 32+-bit platforms. These optimizations do not alter the original algorithm, are absolutely compatible, and I have not found them mentioned so far. Considerations and changes proposed below are based on the original implementation and hence some acquaintance with it is assumed.
Hash Suffix Array Delta Compression on Linux
Previous differential compressions have the following drawback: They do not find the best matches for every offset of the version file. IBM Hash Suffix Array Delta Compression combines hash value and suffix array techniques to find the best match with respect to a certain level of detail and above a certain length threshold.
HTTP Compression Speeds up the Web
The volume on the Web is forecasted to more than triple over the next three years and the category expecting the fastest growth is Data. Data and Content will remain the largest percentage of Web traffic and the majority of this information is dynamic so it does not lend itself to conventional caching technologies.
The Solution is DataCompression and the idea is to compress data being sent out from your Web server, and have the browser decompress this data on the fly, thus reducing the amount of data sent and increasing the page display speed.
Huffman Trees for Data Compression
Data Compression is a one of the most renowned branches of the Computer Science. In this article we will explore Huffman Coding for data compression.We will discuss Huffman Algorithm for encoding, decoding, Dynamic/Adaptive Huffman codes, Applications of Huffman Compression. Included program in C helps to understand static Huffman encoding algorithm. You can test your knowledge with Readers Exercise.
Introduction to BWT encoding algorithm
The article is on BWT encoding algorithm and includes
illustrative examples and pseudocodes for the same. It presents
the BWT algorithm in a friendly way for novices.
Optimizing Tip on Adaptive Arithmetic Coding
This article describes an optimization point I found in the most commonly used adaptive Witten-Neal-Cleary implementation (also known as "the finite-precision algorithm").