FIASCO—An Open-Source Fractal Image and Sequence Codec
A picture is worth a thousand words—a frequently used sentence to introduce the need for digital image processing. And indeed, a wide variety of aspects in our life is influenced by digital images in the meantime. For instance, in the World Wide Web not only still pictures but also small video sequences are used to enhance the design of web pages. However, the usage of digital images has a major drawback. An enormous amount of data has to be transmitted and stored each time an image or video is requested.
For example, a single uncompressed frame of a high definition television (HDTV) screen (resolution of 1280x720 pixels, 24 bits per pixel) requires more than 2MB memory. When assuming a display rate of 60 frames per second (HDTV), one second of a video movie already requires more than 165MB, summing up to a total of 2,000 compact discs for a movie of 120 minutes! Clearly, downloading such an uncompressed video stream is impossible, even though fast Internet connections like asymmetric digital subscriber line (ADSL) are getting more popular now.
So image and video compression systems—like FIASCO, the fractal image and video codec—are mandatory in handling such enormous amount of data.
Different solutions are applicable to compress image data: for instance, the resolution of the frames can be reduced as well as the frame rate. However, this reduction is not sufficient. In general, image sequences typically contain three different types of redundancy that can be exploited (see Resources):
spatial redundancy, which is due to the correlation between neighboring pixels
spectral redundancy, which is due to the correlation between different color bands (red, green and blue components)
temporal redundancy, which is due to the correlation between subsequent video frames
The goal of any image compression system is to recognize and remove these redundancies. The following two compression approaches are widely used:
lossless, or reversible: the decoded image is numerically identical to the original image (the file size is typically reduced by 50%); this is useful if the image is computationally processed any further
the decoded image contains more or less artifacts (file size less than 10% of the original amount of data); this is useful in low bit-rate applications like the World Wide Web
FIASCO—the fractal image and sequence codec—is intended as a replacement for JPEG and MPEG for very low bit rates (see Resources). It provides the following features:
state-of-the-art image and video compression (combined in one application)
real-time software-based decoding
FIASCO compressed images are typically much smaller than JPEG files (at low bit rates), while the image quality is still acceptable. For example, see Figure 1 where you see images compressed by JPEG and FIASCO (1:220 in Figure 1A and 1B and 1:100 in Figure 1C and 1D compression ratio, i.e., 0.5% and 1% respectively, of the original file size).
- High-Availability Storage with HA-LVM
- DNSMasq, the Pint-Sized Super Dæmon!
- Localhost DNS Cache
- Real-Time Rogue Wireless Access Point Detection with the Raspberry Pi
- Days Between Dates: the Counting
- You're the Boss with UBOS
- The Usability of GNOME
- Linux for Astronomers
- PostgreSQL, the NoSQL Database
- February 2015 Issue of Linux Journal: Web Development