• No results found

Listless Embedded Block Partitioning Algorithm for Gray Scale Images

The LEBP algorithm is quite similar to ILSK algorithm proposed in Chapter 3. The only difference is that LEBP uses Lifting wavelet transform instead of discrete Tchebichef transform. LEBP is inherently resolution scalable in contrast to HLDTT because LEBP uses wavelet transformed coefficients.

4.2.1 Comparison with LSK and NLS Algorithms The main differences between LSK and LEBP are:

1. The encoding technique used in coarsest (LL6) subband.

2. The method of skipping large clusters (i.e. several/single wavelet levels) of in- significant coefficients.

3. Significant memory reduction at initial passes. The reason is that M[k] skips MF[k] and MV[k] markers corresponding to lower insignificant wavelet levels if all the coefficients are insignificant.

4. LEBP provides additional desirable features such as resolution scalability and random access decodability to the compressed bit stream by simply reordering the bit string according to scale and resolution level.

While comparing with NLS algorithm,

1. LEBP does explicit breadth first search (zero blocks), while NLS does depth first search (zero trees).

2. The markers are placed in the lower levels of insignificant trees in NLS, whereas markers are placed in leading indices of each subband/level in LEBP.

3. The markers are updated during block partitioning in LEBP, whereas the mark- ers are updated during tree partitioning in NLS.

4. Scalability and random access decodability features are introduced in LEBP. Whereas, these features are lacking in NLS.

4.2.2 Memory Allocation

In LEBP, the precomputed maximum length array, Lmax has length [I − (2L + 1)] similar to LSK. If W bytes are needed for each sub band coefficients, then the bulk storage memory required is IW for the subband data and RC/2 (each marker is of

half byte) for the state table M V [k]. For L level of wavelet decomposition, M F [k] needs ⌈(3L+4)/2⌉ bytes (the number of fixed markers are (3L+4) and each marker is of half byte) and M [k] state table needs ⌈(L/2)⌉ bytes. Therefore, the total memory required for LEBP is:

MLEBP = IW + RC/2 + ⌈(3L + 4)/2⌉ + ⌈(L/2)⌉. (4.1) The memory required for LSK is:

MLSK = IW + RC/2 (4.2)

It is to be noted that M F [k] markers do not update. This is used as a reference for M V [k] markers to check the significance of a level/subband. When comparing Eqn. 4.1 with Eqn. 4.2, MLEBP is (2L + 2) bytes higher than MLSK. Assuming L=6, it is only 14 bytes.

Table 4.1: Distribution of wavelet coefficient magnitudes along thresholds and frequency levels(Highest: 6, Lowest: 1) for Lena(512 × 512) image

Threshold, 2n Magnitude range Frequency level

6 5 4 3 2 1 212 212, ...., (213− 1) 1 0 0 0 0 0 211 211, ...., (212− 1) 23 0 0 0 0 0 210 210, ...., (211− 1) 45 9 0 0 0 0 29 29, ..., (210− 1) 92 81 15 0 0 0 28 28, ..., (29− 1) 104 158 131 30 1 0 27 27, ..., (28− 1) 122 212 395 343 43 0 28 26, ..., (27− 1) 119 291 644 950 615 5

4.2.2.1 Dynamic Memory Comparison

Comparing Eqn. 4.1 and Eqn. 4.2, it is concluded that MLEBP requires slightly more memory than MLSK at the end of all passes. However, the memory required by MLEBP is significantly lower than MLSK in top 6 bit plane passes. Table 4.1 shows the distribution of wavelet coefficient magnitudes along thresholds and frequency levels for Lena image. This indicates a few coefficients are significant at higher threshold level while comparing with lower levels of threshold. For example, only 1 coefficient is significant above threshold 212, but a total of 2624 coefficients are significant above threshold 28. By using this statistical property (i.e., decaying coefficient spectrum on higher passes) markers M[k] in LEBP algorithm skip the markers (MF[k] and MV[k]) corresponding to several lower subbands/levels on top six passes. An estimation of approximate memory requirement between M , M and M on top 7

Table 4.2: Comparison of memory requirement between LSK, SPIHT and ILSK algorithms on top 7 passes.

No. of Lena Image

sorting passes MLSK(kB) MSP IHT(kB) MILSK(kB)

1 128 0.8985 0.0313 2 128 0.9004 0.125 3 128 0.9375 0.5 4 128 5.0088 2.0 5 128 10.039 32.0 6 128 43.872 32.0 7 128 82.532 128.0

passes is shown in Table 4.2.

It is observed in Table 4.3 that the significant coefficients above most significant bit (MSB) plane, lie in top 1/4th portion of highest level in Lena image. An excellent demonstration regarding the location of significant coefficients in various bit plane passes is presented in [101]. The M[k] marker, which points to leading node of next subband skips MF[k] and MV[k] markers pointing to the lower levels/subbands. So, LEBP algorithm simply skips to next lower significant bit plane from the MSB plane. Therefore, the worst case dynamic memory required is 8×82 = 32 bytes for MSB plane, since the top 1/4th of highest level is having a dimension of 8 × 8. The memory required by other passes is calculated in a similar procedure. The maximum bit rate correspond to 6 passes of LEBP can be up to 0.05-0.06 bpp, where the significant detail of an image can be visualized. MLSK needs a fixed amount of memory, i.e,

RC

2 (assuming 4 bits per marker in 6 levels of wavelet decomposition), irrespective of the number of passes [36]. However, the memory required by the proposed algorithm LEBP at higher passes are fixed (typically 6 and above passes it is approx. same as that of LSK) because most of the coefficients at finest subbands are likely to become significant. It may be noted that while making dynamic memory comparison, the memory required for initialization of markers/lists are not considered.

In SPIHT coders, the number of elements in auxiliary lists represent the required dynamic memory. The SPIHT uses LIP, LIS and LSP arrays. LIS additionally re- quires type ‘A’ or ‘B’ information to recognize the nodes.

Let, NLIP is the number of nodes in LIP, NLSP is the number of nodes in LSP, NLIS is the number of nodes in LIS, and W is the number of bits to store the addressing information of a node. Then, the total memory required (in bytes) due to auxiliary lists is [33]

Since, the memory size increases in each bit plane pass, in worst case the values of Eqn. 4.3 becomes

NLIP + NLSP = M × N, NLIS = (M × N)/4. (4.4) For a 512 × 512 image using 2 bytes per coefficient and 6 levels of wavelet like ar- rangement, while using the optional pre-computed maximum length array, the worst case memory requirement is (512×512)2 × (8bits) + (2L + 2) ≃ 128 kB for LEBP, 128 kB for LSK and 1450 kB for SPIHT. Therefore the proposed algorithm is suitable for a fast and simple implementation. The memory required for wavelet transform is not calculated here. This part can be efficiently handled by Lifting wavelet transform [10],[102].