Chapter 3: Low Complexity Block-Based Image Compression Systems
3.3 Intensity Based Adaptive Quantisation Coding (IBAQC)
algorithms consider the intensity variation of image regions to reduce the bit rates whilst keeping the quality of the compressed image at an acceptable level. Both algorithms comprise two steps: intensity check and AQC computation. The intensity check step is carried out locally within each data block using a certain intensity check unit. The two algorithms are termed Algorithm1 and Algorithm2. Algorithm1 performs the intensity check using the block variance prior to the AQC computation process. While, Algorithm2 performs the intensity check on the quantisation step of the AQC algorithm. The input parameters of both algorithms are the number of quantisation levels, block size and threshold.
3.3.1 Algorithm1
The first algorithm (Algorithm1) is a composition of intensity variation check and AQC units, as shown in Figure 3.3 and Figure 3.4 . The input image is partitioned into non- overlapping -pixel blocks to check the local variation of each image block using the sample variance ( ̅̅̅). The variance can be computed using (3.4). A block variance is compared against a predefined threshold to classify the image blocks into low or high intensity variation. The variance of a small image block is small enough to ignore the bit plane of the whole block. Thus, an appropriate encoding method and the parameters for each image block are selected. The encoding parameters of the two classes of image blocks can be described as follows:
{{ } ̅̅̅
{ ̅} (3.12) where is the encoded bit stream, { } is the classification bit and is an adjustable parameter which represents a predefined threshold. Further, the number of bits required for the quantisation step is given as follows:
⌈ ( ( ( )))⌉ (3.13)
where ⌈ ⌉ represents ceil function.
No
Bit stream generation Partitioning into (N×N) Blocks Quantisation levels (QL) Input Image µ Variance≤δ Compressed Image Threshold δ Yes Variance Qs Bp Bn
Figure 3.4: The Computation procedure of Algorithm1.
Typically, the number of quantisation step bits is equal to ( ) in typical 8 bit/pixel grey images. The number of bits required for the bit plane of high variation blocks is:
( ) (3.14)
Thus, the bit rate of the proposed algorithm for each image block is:
{ ( ) ̅̅̅ ( ) (3.15)
where is the number of bits required to represent; the mean, quantisation step, minimum and the bit plane of each block, respectively. Overall, the number of bits that are required to encode the low and high intensity variation blocks for 4×4-pixel blocks are shown in Table 3.1. From Table 3.1, a reduction of 72-88 % in
bit rate can be achieved for the low intensity variation blocks. Thus, the low intensity variation blocks are encoded using its mean and a 1 bit classifier, whereas the edge blocks are encoded using its minimum, quantisation step and bit plane. The number of quantisation levels can be set to 3, 4 or 5 depending on the required compression ratio and the output performance.
The output of the former computation procedure represents the encoded or compressed image. On the decoding side, the decoder takes account of the classifier bit ( ). If it is in low state, the block is classified and decoded as a low variation block; otherwise, it is decoded as a high variation block. Thus, the decoding phase can be represented by the following equation:
̃( ) { ( )
̅ (3.16) where ̃( )is the decompressed image block.
Table 3.1: Number of bits required for each block type for 4×4-pixel blocks using different number of quantisation levels.
Quantisation levels ( ) Classifier bit or
Number of bit/Block for each intensity variation
type: Bit rate Saving/Block % High Low 2 1 8 7 16 32 9 72 4 1 8 6 32 47 9 80 8 1 8 5 48 62 9 85 16 1 8 4 64 77 9 88
3.3.2 Algorithm2
This algorithm is a composition of AQC and an intensity variation check unit, as shown in Figure 3.5 and Figure 3.6. The input image is partitioned into -pixel blocks in which the AQC parameters (the minimum of each block; , quantisation step; and the bit plane; ) are computed. The AQC parameters and the output bit rate depend on the predefined quantiser, as stated in (3.9) and (3.11). The quantiser is selected according to the target bit rate and the required PSNR.
The proposed algorithm classifies each image block into one of two classes, low or high intensity variation block. High intensity variation blocks are encoded using the AQC coding system while low ones are represented by its mean, similar to Algorithm1. However, in Algorithm1 the intensity check unit utilises high computation complexity, which involves multiplication and ( ) additions to perform the block variance computation. Thus, to eliminate this number of multiplications a new intensity check unit is proposed. The new intensity check unit is based on the quantisation step of the quantiser, as the low variation blocks require lower quantisation steps than the high variation or edge blocks. Thus, to exploit this attribute for bit rate reduction, the quantisation step is compared with a predefined threshold. The bit plane and quantisation steps are discarded for any block for which the quantisation step is less than the predefined threshold. Thus, each low intensity variation block is represented by its mean and one classifier bit to distinguish between the two types of blocks. Moreover, the encoding bit stream of the high intensity variation blocks consists of a bit plane, a quantiser step size, the minimum intensity value of such a block and a single bit classifier. The encoded parameters of both block classes can be expressed as in (3.12) and the output bit rate is computed using (3.15), while the decoder described in (3.16) can be used in the decoding phase.
Bit stream generation Partitioning into (N×N) Blocks Quantisation levels (QL) Input Image Qs Bp Bn µ Qs>δ Compressed Image Threshold δ Qs>δ Qs≤δ
Figure 3.6: The Computation procedure of Algorithm2.