written 8.5 years ago by |
Compression has two types i.e. Lossy and Lossless technique. Atypical image compression system comprises of two main blocks An Encoder (Compressor) and Decoder (Decompressor). The image f(x,y) is fed to the encoder which encodes the image so as to make it suitable for transmission. The decoder receives this transmitted signal and reconstructs the output image f(x,y). If the system is an error free one f(x,y) will be a replica of f(x,y).
The encoder and the decoder are made up of two blocks each. The encoder is made up of a Source encoder and a Channel encoder. The source encoder removes the input redundancies while the channel encoder increases the noise immunity of the source encoders. The decoder consists of a channel decoder and a source decoder. The function of the channel decoder is to ensure that the system is immune to noise. Hence if the channel between the encoder and the decoder is noise free, the channel encoder and the channel decoder are omitted.
Source encoder and decoder:
The three basic types of the redundancies in an image are interpixel, coding redundancies and psychovisual redundancies. Run length coding is used to eliminate or reduce interpixel redundancies Huffman encoding is used to eliminate or reduce coding redundancies while I.G.S is used to eliminate interpixel redundancies. The job of the source decoders is to get back the original signal. The problem solved by runlength coding, Huffman encoding and I.G.S coding are examples of source encoders and decoders.
The input image is passed through a mapper. The mapper reduces the interpixel redundancies. The mapping stage is a lossless technique and hence is an reversible operation. The output of a mapper is passed through a Quantizer block. The quantizer block reduces the psychovisual redundancies. It compresses teh data by eliminating some information and hence is an irreversible operation. The quantizer block uses JPEG compression which means a lossy compression. Hence in case of lossless compression, the quantizer block is eliminated. The final block of the source encoder is that of a symbol encoder. This block creates a variable length code to represent the output of the quantizer. The Huffman code is a typical example of the symbol encoder. The symbol encoder reduces coding redundancies.
The source decoder block performs exactly the reverse operation of the symbol encoder and the mapper blocks. It is important to note that the source decoder has only two blocks. Since quantization is irreversible, an inverse quantizer block does not exist. The channel is noise free and hence have ignored the channel encoder and channel decoder.
Channel encoder and decoder:
The channel encoder is used to make the system immune to transmission noise. Since the output of the source encoder has very little redundancy, it is highly susceptible to noise. The channel encoder inserts a controlled form of redundancy to the source encoder output making it more noise resistant.