Image compression is the compression of visual images. In effect, the objective is to reduce redundancy of the image data in order to be able to store or transmit data in an efficient form.
Image compression can be lossy or lossless. Lossless compression is preferred for artificial images such as technical drawings, icons or comics. This is because lossy compression methods usually introduce highly visual artifacts near sharp edges. Lossy methods are suitable for natural images such as photos or medical imagery.
Methods for lossless image compression are:
- Run-length encoding
- Entropy coding
- Adaptive dictionary algorithms such as LZW
- Reducing the color space to the most common colors in the image. The selected colors are specified in the color palette in the header of the compressed image. Each pixel just references the index of a color in the color palette. This method can be combined with dithering to blur the color borders.
- Transform coding. This is the most commonly used method. A frequency transform such as DCT or the wavelet transform are applied, followed by quantization and entropy coding.
- Fractal compression.
Scalability generally refers to a quality reduction achieved by manipulation of the bistream or file (without decompression and re-compression). Other names for scalability are progressive coding or embedded bistreams. Despite its contrary nature, scalability can also be found in lossless codecs, usually in form of coarse-to-fine pixel scans. Scalability is especially useful for pre-viewing images while downloading them (e.g. in a web browser) or for providing variable quality access to e.g. databases. There are several types of scalability:
- Quality progressive or layer progressive: The bitstream successively refines the reconstructed image.
- Resolution progressive: First encode a lower image resolution; then encode the difference to higher resolutions.
- Component progressive: First encode grey; then color.
Meta information. Compressed data can contain information about the image which can be used to categorize, search or browse images. Such information can include color and texture statistics, small preview images and author/copyright information.
See also: