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).
Webinar: 8 Signs You’re Beyond Cron
11am CDT, April 29th
Join Linux Journal and Pat Cameron, Director of Automation Technology at HelpSystems, as they discuss the eight primary advantages of moving beyond cron job scheduling. In this webinar, you’ll learn about integrating cron with an enterprise scheduler.Join us!
- Picking Out the Nouns
- Tips for Optimizing Linux Memory Usage
- "No Reboot" Kernel Patching - And Why You Should Care
- DevOps: Better Than the Sum of Its Parts
- Return of the Mac
- Android Candy: Intercoms
- Drupageddon: SQL Injection, Database Abstraction and Hundreds of Thousands of Web Sites
- Non-Linux FOSS: .NET?
- Consent That Goes Both Ways