Performance Analysis of Regular and Irregular LDPC Codes on SPIHT Coded Image Data

The LDPC (Low Density Parity Check Code) has Shown interesting results for transmitting embedded bit streams over noisy communication channels. Performance comparison of regular and irregular LDPC codes with SPIHT coded image is done here. Different Error Sensitive classes of image data are obtained by using SPIHT algorithm as an image coder. Irregular LDPC codes map the more important class of data into a higher degree protection class to provide more protection. Different degree protection classes of an LDPC code improves the overall performance of data transmission against channel errors. Simulation results show the superiority of irregular LDPC over regular LDPC codes.


Introduction
Any communication system begins with source coding which compresses the entire data bits to the minimum necessary to represent the information in the message, that ensures efficient utilization of bandwidth. But compressed data streams are very sensitive to channel errors because their most redundant bits are removed. The heterogeneous nature of compressed data demands for an efficient data processing method other than the content -blind normal processing. Suitable channel coding methods must be used to assure the reconstructed image quality. Sometimes the synchronization between the encoder and the decoder may be lost due to a single bit error which may lead to poor quality image. Powerful error correcting codes are required for the transmission of any kind of data through the erroneous channels. Low Density Parity Check (LDPC) codes combined with soft decision decoding could achieve best results in digital data transmission.
LDPC code is a type of Linear Block code which is specified by its sparse parity check matrix which contains a very less number of 1's in comparison with the number of 0's. They were first introduced by Gallager with very good error performance near Shannon limit. They can be represented through matrices of 'm' rows and 'n' columns and can also be described via Tanner graphs having bit nodes representing n bits in the codeword and check nodes representing m parity check equations. LDPC codes are decoded iteratively using this graphical representation of their parity-check matrix.
Tanner graph is a bipartite graph in which an edge is drawn between a bit node and a check node if and only if the bit is included in the parity check equation. A cycle in a Tanner graph is a path containing edges drawn from a node back to the same node. The minimum length of any cycle in the graph is termed as its Girth. Short cycles in graphs are generally considered worse while using iterative decoding. The number of edges connected to each node is known as its degree.
Bit nodes with large degrees collect more information from their adjacent check nodes and protected well.
Depending on the structure of the parity check matrix LDPC codes are classified into Regular and irregular codes. Regular LDPC have a constant number of 1's in every column and every row whereas irregular LDPC codes do not have a fixed number of non-zeros per column or per row and thus it varies the level of error protection over a codeword. While looking at the graphical representation, It's also possible to see the regularity of the code. The incoming edges for every bit-node and check-nodes are the same for regular codes, but it is different for irregular codes. Research on UEP low-density parity-check (LDPC) codes can be found in [1][2][3]. Weightincreasing parity-check matrix and systematic encoding is used for the analysis of irregular LDPC codes in [1]. The irregular LDPC codes have inherent unequal Error Protection property.
In this work, we present a SPIHT coded image transmission system using regular and irregular LDPC codes. Progressive Edge Growth (PEG) algorithm is used for the construction of sparse parity check matrix of LDPC codes. The source encoding is done by SPIHT algorithm and the output of SPIHT coder is given to the channel coder using LDPC codes to provide required protection to the source coded data.

SPIHT (Set Partitioning in Hierarchical Trees) coding algorithm
SPIHT algorithm generates embedded bit streams of the given image data so that the compressed data can be partitioned into different error sensitive classes. It is a wavelet-based image compression technique which views the wavelet coefficients as a group of spatial orientation trees. The algorithm mainly works through four steps as (i). Initialization (ii) Sorting Pass (iii). Refinement Pass and (iv) Quantization-step updates [4]. At the receiver side the reconstructed image is updated in every step. The decoding can be stopped anywhere because of the embedded nature of bitstream.

LDPC Code Construction
The capacity approaching LDPC codes are constructed using the PEG algorithm mentioned in paper [5]. It is a systemized method for constructing Tanner graphs having a large girth. The algorithm establishes edges between bit nodes and check nodes progressively in an edge-by-edge manner. Selection of the degree distribution of bit nodes and check nodes is important while designing irregular LDPC codes to achieve better performance.
An edge selection procedure is started with the number of bit nodes (n), the number of check nodes (m), and the bit node degree sequence (Ds = ds0, ds1,...dsn−1), such that establishing a new edge on the graph has a little impact on the girth. After that the graph with this new edge is updated, and this procedure continues with the placement of the next edge. The graph grows by optimizing each local girth in an edge-by-edge manner. The most important thing is to find out the most distant check node and place an edge between the bit node and that distant check node. PEG Algorithm is used for generating good regular and irregular LDPC codes of short and moderate block lengths. Once the parity-check matrix H is created, the data to be transmitted over the channel is encoded using a systematic encoder.
A good degree distribution for irregular LDPC code with different protection classes can be attained using Gaussian approximation (GA) algorithm discussed in paper [6]. For a speci c Error protection application, the fraction sequence 'α' and code rate 'R' are determined first.
The code word bits are divided into different classes each having different error protection capability. All the bit nodes of the same protection class are assigned the same degree. More protection can be provided to important classes of data by providing more degree to the corresponding bit node of LDPC code.

Simulation Results in Image Transmission
The irregular LDPC code with rate 'R' is divided into 'Nc' classes ordered in decreasing order of their error correction capability. The redundant bits of the codeword are associated with the last class and all the previous classes are for information bits. An embedded SPIHT coded stream compressed into 'Nc -1' progressive quality layers is given to the channel coder. The code words are then transmitted over an AWGN channel.
Irregular LDPC code having length N=256 is divided into 3 protection classes having proportion distribution p= (0.17,0.33,0.5) with degree d = (9, 3, 2). With these parameters the H matrix is generated. For the test images of size 512x512, an embedded bit stream generated by SPIHT algorithm is divided into 2 protection classes and maps each class into the bit nodes with different degrees. A regular LDPC code with bit node degree 3 is also constructed using the PEG algorithm for the comparison in which all the data bits are mapped to the same degree protection class. Table 1. shows the average PSNR performance of regular and irregular codes in embedded bitstream of "Lena" image over AWGN channel. The reconstructed images with regular and irregular LDPC codes are shown in Figure 1. Reconstructed image qualities show that irregular LDPC code outperforms the regular LDPC code for compressed embedded bit streams.