Compression

Image and entropy compression related work I've done.


  Old - Some content is 10+ years old, not representing my current thoughts  

Index


Machine Learning

Gopher
Image Recognition

Some of my code is available on my GitHub Account


Blocksorting + Huffmann


An entropy compressor written by me. It uses a combination of blocksorting, move to front and Huffman for transform and compression. I just implemented a very simple static Huffman because I got tired of working on the arithmetic coder. So the results could be a lot better. Also I didn't do much tweaking, things like an RLE stage after the Burrows-Wheeler Transform could also increase compression ratio and speed.

Hard to make a beautiful picture for a compression program... There's a diagram in the picture showing the compressor vs. WinZIP compressing the Lena image.

DCT / BTC Image Compression


This one actually has two algorithms in one. The first compressor is a JPEG like DCT transform based codec. It should be no surprise that it behaves very similar to JPEG. The advantage is that the implementation is rather short (~25K) which provides a significant advantage over linking in the entire 2000K of the JPEGLib or relying on Intel's (discontinued) JPEG library. The second algorithm uses a BTC quadtree with error based subdivision to encode frequency domain data. Looks promising for lossless or near lossless compression.

Lena - with a few artifacts. The Lenna (or Lena) picture is one of the most widely used standard test images used for compression algorithms.

Wavelets


I got interested in wavelets after reading the fantastic book The World According to Wavelets: The Story of a Mathematical Technique in the Making. My main interest is to use wavelets as an alternative to Spherical Harmonics and the Discrete Cosine Transform used in my image compression project.

Nothing more than these plots of 1D and 2D Haar Wavelets to show so far...

 © 2002 - 2024 Tim C. Schröder Disclaimer