A guide on using AviSynth with AVSEdit -- the official script editor for AviSynth. It provides an easy interface to write and preview scripts, making AviSynth more accessible to beginners and advanced users alike.
Created: 18/01/2008
by Maxim SmirnovMore...
From the intro:
"This guide assumes you're already familiar with AVISynth and how to write scripts. In it, I will attempt to give a rundown of some of the most popular and useful AVISynth filters for filtering anime music video."
Created: 18/01/2008
by Maxim SmirnovMore...
This web site was founded as an independent non-commercial resource for industry participants to learn about the world of digital video technology. Besides some tutorial texts, it has a nice list of vendors, including links on vendors of hardware (IP cores, chips) and software video compression products.
Created: 14/05/2006
by Maxim SmirnovMore...
It is a very good site to know about audio technology and ask your questions. The site is organized as a forum, it has comprehensive FAQ.
Created: 11/02/2006
by Maxim SmirnovMore...
By Karl-Heinz Brandenburg from Fraunhofer Institute for Integrated Circuits. The paper gives an introduction to audio compression for music file exchange. Beyond the basics the focus is on quality issues and the compression ratio /
audio bandwidth / artifacts tradeoffs.
Created: 31/01/2006
by Maxim SmirnovMore...
The unofficial MPEG Audio page at University of Hannover. The page has news about MPEG Audio, overviews, a set of usefull links, MPEG Audio FAQ, MPEG-4 Audio standard drafts, some reference software.
Created: 31/01/2006
by Maxim SmirnovMore...
It's a nice explanation of advanced audio coding. Besides other things, it contains overview of MPEG-4 Low Delay Audio Coder (AAC-LD), comprehensible list of AAC's improvements over MP3, external links.
Created: 31/01/2006
by Maxim SmirnovMore...
Short definition and description of G.729 -- Coding of speech at 8 kbit/s using conjugate-structure algebraic-code-excited linear-prediction (CS-ACELP). G.729 is mostly used in Voice over IP (VoIP) applications.
Created: 30/01/2006
by Maxim SmirnovMore...
Short definition and explanation of G.711 -- Pulse Code Modulation (PCM) of Voice Frequencies on an 64 kbps channel.
Created: 30/01/2006
by Maxim SmirnovMore...
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.
Created: 17/11/1999
by Mark NelsonMore...
How much can a given piece of data be compressed? This FAQ addresses that question, including some necessary critiques of the question itself. Graham Fyffe apparently spends some time thinking about complexity.
Created: 29/07/2000
by Mark NelsonMore...
Arturo Campos provides an easy-to-read explanation of the BWT transformation algorithm. This algorithm achieves very good compression ratios at relatively high speeds.
Created: 17/11/1999
by Mark NelsonMore...
An article Mark Nelson wrote that describes how to take advantage of the zip classes included in Java's 1.1 JDK. This includes some very simple programs that can create, view, and extract from zip files.
Created: 01/12/1999
by Mark NelsonMore...
A Practical Introduction To Data Compression by Alexander Ratushnyak. A Data Compression mini-FAQ with a good set of links.
Created: 21/09/2000
by Mark NelsonMore...
An article by Arturo Campos that describes and discusses Finite Context Modeling. This modeling technique is uses by PPM compressors, although Campos makes the point that the ideas in this article can be used in other compressors as well.
Created: 18/12/1999
by Mark NelsonMore...
GSM provides telephone quality speech at a compressed rate of 13 Kbps. Compare this to the 64 KBps required by standard u-law and A-law codes. This site gives lots of info about the GSM format, along with free source code.
Created: 21/11/1999
by Mark NelsonMore...
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.
Created: 17/11/1999
by Mark NelsonMore...
An overview of the field by Debra A. Lelewer and Daniel S. Hirschberg. Lots of informative text. This appears to be a survey paper that was adapted for presentation on the web. Lossless compression techniques only!
Created: 10/11/1999
by Mark NelsonMore...
Mark Nelson's magazine articles, including articles on LZW coding, arithmetic coding, BWT, Zlib, JavaZip and some other topics.
Created: 23/11/1999
by Mark NelsonMore...
This site contains the comp.speech FAQ, and also has links to their ftp site, which contains software for speech codecs.
Created: 21/11/1999
by Mark NelsonMore...
This includes a brief discussion of Huffman coding, then of LZ77 compression, and finally some of the coding oddities that are found in deflate.
Created: 23/08/2001
by Mark NelsonMore...
Comparison of 6 codecs with default parameters.
Three of them were kindly provided by the codecs developers.
Created: 18/07/2005
by Dmitriy KulikovMore...
An introductory paper. Includes information on Huffman coding, Info Theory, Coding, LZ77, LZ78, and more. This page also has a good set of links.
Created: 15/02/1999
by Mark NelsonMore...
Mark Nelson's zlib article, originally published in Dr. Dobb's Journal. The source code for the article includes an OCX that allows you to use zlib from many different languages under Win32
If you are attempting to use the zlib OCX with Visual Basic or Visual C++, please follow the links to my FAQ. The OCX that accompanies this article needed an upgrade to work with later versions of Microsoft's tools.
Created: 06/11/1999
by Mark NelsonMore...
Charles is the author of PPMZ and has a really great collection of software he has written on this page, much of it is indexed here in the appropriate pages. His home page also contains links to some interesting papers and descriptions on various algorithms, as well as some archived posts that explain some compression topics. It's well worth nosing around this site a bit for more information.
Created: 25/12/1998
by Mark NelsonMore...
An article by Mark Nelson that appeared in the September 1996 issue of Dr. Dobb's Journal. At the time it appeared, the BWT was relatively unknown among compression enthusiasts. This article includes source code that implements a simple test program that demonstrates BWT compression.
Created: 10/12/1998
by Mark NelsonMore...
An article pitched to the layman on how compression works.
If you download many programs and files off the Internet, you've probably encountered ZIP files before. This compression system is a very handy invention, especially for Web users, because it lets you reduce the overall number of bits and bytes in a file so it can be transmitted faster over slower Internet connections, or take up less space on a disk. Once you download the file, your computer uses a program such as WinZip or Stuffit to expand the file back to its original size. If everything works correctly, the expanded file is identical to the original file before it was compressed.
Created: 25/07/2001
by Mark NelsonMore...
A concise explanation of Arithmetic Coding by Arturo Campos. The easy to read article is accompanied by snippets of pseudo code.
Created: 17/11/1999
by Mark NelsonMore...
This directory contains source and executable for Charles Bloom's PPMZ encoder, as well as a paper on PPMZ and some benchmark results. There are also links to a few other pages containing PPM information.
Charles Bloom has now released the source code to PPMZ2. He says it is both cleaner and faster than the original PPMZ code.
Created: 14/04/2002
by Mark NelsonMore...
An article that explains arithmetic coding, plus a sample program that implements a limited sort of PPM.
Christable C. had these kind words: I have read some other articles, but not clearly known. When reading this article, I find that Arithmetic Coding is easy to know !
Created: 07/11/1999
by Mark NelsonMore...
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.
Created: 17/11/1999
by Mark NelsonMore...
Arturo Campos describes a model for arithmetic coding which results in less compression than an adaptative one, but at much higher speeds.
Created: 17/11/1999
by Mark NelsonMore...
A nice explanation of LZW compression from the fine folks at the Data Compression Center.
This link points to an archived site, as the original has disappeared. Links on the archived page may or may not work properly.
Created: 06/11/1999
by Mark NelsonMore...
In this comp.compression posting, Ben Rudia-Gould opens up the compression format used by the PKWare Data Compression Library. This is the only place I have ever seen this information disclosed; PKWare has certainly not done so.
Created: 22/09/2001
by Mark NelsonMore...
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.
Created: 17/11/1999
by Mark NelsonMore...
Another article about LZP by Arturo Campos. This piece describes a specific implementation technique using linked lists.
Created: 17/11/1999
by Mark NelsonMore...
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.
Created: 17/11/1999
by Mark NelsonMore...
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 80x86 code for illustration purposes.
Created: 17/11/1999
by Mark NelsonMore...
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.
Created: 17/11/1999
by Mark NelsonMore...
This article describes a relatively painless way to construct suffix trees. Once you have a suffix tree constructed, it is extremely easy to search for the longest match of a given string. This makes the suffix tree a nice data structure to use in macro replacement forms of data compression.
Created: 01/12/1999
by Mark NelsonMore...
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!
Created: 17/11/1999
by Mark NelsonMore...
A page by Michael Schindler that describes Huffman coding in a fair amount of detail. Also includes links to other information resources. This page also has an explanation of the canonical huffman table storage algorithm.
Created: 27/11/1999
by Mark NelsonMore...
A very nice description of Huffman coding, as well as a few other types of coding. I believe this is part of a survey paper by Debra A. Lelewer and Daniel S. Hirschberg.
Created: 15/12/1999
by Mark NelsonMore...
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.
Created: 17/11/1999
by Mark NelsonMore...
bwtzip is an ongoing project, distributed under the GNU General Public License, to implement a Burrows-Wheeler compressor in standard, portable C++. It is research-grade in that it is highly modularized and abstracted, so that it is simple to swap out parts of the compressor without affecting anything else. This makes it easy to experiment with different algorithms at different stages of compression.
Looks like Steven T. Lavavej released a new version of bwtzip in early February, 2003. A wide variety of improvements, most of them in implementation - not visible to the end user. A description of recent changes is found here
Created: 11/12/2002
by Mark NelsonMore...
This site discusses a characteristic of some compression algorithms that the author refers to as One to One (bijective) compression. In a nutshell, this property means that for any file X, F( F'( X ) ) == X. (F is either the compressor or decompressor, and F' is its opposite number.) This is definitely not the case for most conventional compression algorithms.
This page has a some Huffman compression code that has been adapted to implement a bijective property.
Created: 17/12/1999
by Mark NelsonMore...
This page is designed made to teach people about Lossless compression algorithms through the use of text graphics and Java Applets! Dominik Szopa has created pages that demonstrate Huffman, Adaptive Huffman, and LZW compression.
DCL reader SF has this to say: While the site itself is rather quick, it's disorganized...the Java applets really don't show what's going on at all. They show only the external effects...This site has definate potential, and I do recommend people see it. However, it's also got a ways to go yet. .
Created: 24/12/1998
by Mark NelsonMore...
A nice description of Adaptive Huffman Coding, as seen through a couple of different algorithms. I believe this is part of a survey paper by Debra A. Lelewer and Daniel S. Hirschberg.
Created: 10/11/1999
by Mark NelsonMore...
A sample chapter from The Scientist and Engineer's Guide to Digital Signal Processing, which just happens to be on Data Compression. You can download this entire book for free from the web site.
Created: 13/01/2000
by Mark NelsonMore...
Reputedly an excellent set of resources for using libpng - but don't take my word for it - my Japanese is non-existent.
Created: 10/07/2004
by Mark NelsonMore...
An article on the CodeProject detailing a user's troubles with GDI+. In particular, he found that he was unable to load JPG or PNG files stored as resources with GDI+. This article presents a way to make it happen.
This article was updated June 17, 204.
Created: 27/06/2004
by Mark NelsonMore...
An article by Eric Uner talks a bit about generating reandom numbers, something we all want to do from time to time.
Created: 20/06/2004
by Mark NelsonMore...
An updated and translated version of our German paper "Proseminar Datenkompression - Arithmetische Kodierung" from 2001. To the best of our knowledge, it is the first comprehensive paper that describes the whole way from the basic principles of AC up to a simple implementation, fully documented with C++ source code.
Created: 06/06/2004
by Mark NelsonMore...
PDF documents are commonly used and their content is usually compressed. This article shows a simple C code that can be used to extract plain text from the PDF file.
Created: 31/05/2004
by Mark NelsonMore...
Advanced Image Coding (AIC) is an experimental still image compression system
that combines algorithms from the H.264 and JPEG standards. More specifically,
it combines intra frame block prediction from H.264 with a JPEG-style discrete
cosine transform, followed by context adaptive binary arithmetic coding as used
in H.264. The result is a compression scheme that performs much better than JPEG
and close to JPEG-2000.
Created: 15/05/2004
by Mark NelsonMore...
Microsoft's implemention of J# includes the standard Java zip classes, and CodeProject contributor Valeri has figured out how to use them from a C# program.
Created: 10/05/2004
by Mark NelsonMore...
A list of the various types of image compression that Accusoft supports, along with a little detail on each type.
Created: 10/05/2004
by Mark NelsonMore...
Compressing Web content can produce a much faster site for users. Here's how to set it up and measure your success.l
Created: 10/05/2004
by Mark NelsonMore...
The third in Michael's collection of pages explaining lossless compression algorithms. A nice tutorial accompanied by ANSI C source.
Created: 02/05/2004
by Mark NelsonMore...
In this article I describe a translation of most of the WMF SDK interfaces, data structures, constants, functions into C#. NOTE: Digital Rights Management (DRM) support is not included in this translation.
Created: 25/04/2004
by Mark NelsonMore...
APT (Adaptive Prediction Trees) image coding supersedes BTPC (Binary Tree Predictive Coding). It is a general-purpose compression scheme for all types of still image. It does both lossless and lossy compression of monochrome and color images from 1 to 16 bits per component. Its performance on all image types is often close to that of the best alternative.
Created: 27/03/2004
by Mark NelsonMore...
In this article, I examine an indexing method that lets you find any character sequence in the source text in time only proportional to the sequence length using a structure that can compress the entire source text and index into less space than the text alone. This technique is exceptionally fast at detecting and counting occurrences of any string in the source text.
Created: 20/03/2004
by Mark NelsonMore...
Course notes of a JPEG 2000 short course given at the International
Conference in Image Processing (ICIP). By Dr. Majid Rabbani and Diego Santa-Cruz. The course covers image coding principles, a review of JPEG and all the main elements of JPEG 2000: wavelet transform, entropy coding, bitstream structure, error resilience, functionality, performance evaluation, etc.
Created: 07/03/2004
by Mark NelsonMore...
This article in Streamingmedia.com breaks down the family tree
of the MPEG standards, starting with MPEG-1 and working up to the
current and inscrutable MPEG-21. Written for the layman, this can
get you up to speed quick without burning up too many brain cells.
Created: 22/02/2004
by Mark NelsonMore...
This is a nice article posted on Codeguru.com by Sjaak Priester. In this article Sjaak uses octree color quantization to reduce a JPEG image with millions of colors down to a GIF with 256, as
well as giving you a look or two at Microsoft's nice GDI+ API.
Created: 08/02/2004
by Mark NelsonMore...
Microsoft thinks Windows Media Video can be a big part of the HD scene. This web page is dedicated to that proposition.
Created: 18/01/2004
by Mark NelsonMore...
Star Encoding performs some preprocessing on text files, enabling standard compressors to do somewhat better on the files. This article explains the transform and provides some sample code.
Created: 06/12/2003
by Mark NelsonMore...
Michael Dipperstein describes his personal quest for understanding and implementation of LZSS coding. Full source included.
Created: 03/12/2003
by Mark NelsonMore...
A good description of LZW, along with some specific information about TIFF's implemenation of this compression algorithm.
Created: 09/11/2003
by Mark NelsonMore...
This reference page breaks down the structure of an MP3 file quite nicely. Covers all the stuff you've wanted to know in detail.
Created: 27/10/2003
by Mark NelsonMore...
Michael Dipperstein describes his personal quest for understanding an implementation of Huffman coding. Full source included.
The page was updated with new source December, 2002.
Created: 18/10/2003
by Mark NelsonMore...
Brian Livingston's short article on HTTP compression provides some pointers detailing how to configure your server to serve compressed content.
Created: 01/09/2003
by Mark NelsonMore...
A CodeProject article which includes working code. Compression here consists of removal of comments, extra line feeds, white space, etc.
Created: 04/08/2003
by Mark NelsonMore...
An article that gets into the details you need to know about in order to use the MMX instruction set found on Intel processors. The author uses image processing as a demo app.
Created: 15/07/2003
by Mark NelsonMore...
This site is dedicated to discussion and explanation of HTTP compression with the Apache web server. Looks to me like the first place to go for information.
Created: 29/06/2003
by Mark NelsonMore...
This article on the Codeguru site by Michael Chourdakis demonstrates how to use the Windows IPicture interface to quickly load a JPEG, GIF, or BMP file into an easy to use HBITMAP. This is of course assuming you are using C on the Win32 platform.
Created: 17/06/2003
by Mark NelsonMore...
This article on The Code Project web site shows you how to calculate a CRC, but even better it shows you how to create a file that will have a given CRC value.
Created: 07/06/2003
by Mark NelsonMore...
This CodeProject article describes the development of a PATRICIA trie in the .NET framework. The actual code is written in C#, but naturally, it can be used with any of the .NET languages.
Created: 30/05/2003
by Mark NelsonMore...
This MSDN article describes how to use the java.utl.zip package with a C# program. Includes a sample GUI Zip application.
Created: 17/05/2003
by Mark NelsonMore...
This Code Project article is pretty much summed up by its descriptive title. It appears to use the .NET framework to store images in PNG format.
Created: 11/05/2003
by Mark NelsonMore...
Gzip encoding is a great way to serve up your web pages, because all modern browsers can render this format. If you're creating pages with PHP4, it turns out to be really easy to compress your pages this way and get a bit of speedup.
Created: 05/05/2003
by Mark NelsonMore...
An article by John Pliam. Needs a better summary, but I don't quite get it, other than the fact that there is some cryptographic thinking going on here.
Created: 04/05/2003
by Mark NelsonMore...
Marco Schmidt has assembled a nice page of links and information on the Zip archive format. A few good links, but this isn't the comprehensive guide you need to answer any question about the format.
Created: 17/04/2003
by Mark NelsonMore...