The question "What is the best lossy compression algorithm?" is often asked, but unfortunately there is no absolute answer. The choice of a particular algorithm for a given application depends on many factors. For example, when compression is used in an image transmission application, the encoding and decoding operation often needs to be performed in real time, and the issues of implementation complexity, susceptibility to channel errors, and buffering requirements to match the coder output rate to the transmission rate of the channel become important. In contrast, in applications where compression is used to reduce storage requirements, the encoding operation often does not need to be performed in real time. The encoder can be quite complex since it will be used only once for a given image, while a simple decoder is desirable since it will be used repeatedly. Also, the error rates encountered in storage and retrieval applications are typically many orders of magnitude lower than the error rates for a communications channel. This may allow for a more sophisticated algorithm with greater emphasis placed on final image quality.
The following is a list of factors that can influence the choice of a compression algorithm. In general, the weighting of each factor in making a decision is highly dependent on the application. This list is by no means exhaustive, and is intended to serve only as a general guide.
Online access to SPIE eBooks is limited to subscribing institutions.