Spith Algo

download Spith Algo

of 54

Transcript of Spith Algo

  • 8/22/2019 Spith Algo

    1/54

    Image compression using 3D-SPIHT 2007*2008

    ABSTRACT

    We propose a highly scalable image compression scheme based on the set

    partitioning in hierarchical trees (SPIHT) algorithm. Our algorithm called highly scalable

    SPIHT (HS-SPIHT), supports spatial and SNR scalability and provides a bit stream that

    can be easily adapted (reordered) to given bandwidth and resolution requirements by a

    simple transcoder (parser). The HS-SPIHT algorithm adds the spatial scalability feature

    without sacrificing the SNR embeddedness property as found in the original SPIHT bit

    stream. HS-SPIHT finds applications in progressive Web browsing, flexible image storage

    and retrieval, and image transmission over heterogeneous networks

    Vivekananda Institute Of Technology - 1 -

  • 8/22/2019 Spith Algo

    2/54

    Image compression using 3D-SPIHT 2007*2008

    TABLE OF CONTENTS

    CHAPTER NO. TITLE PAGE NO.

    LIST OF TABLES

    LIST OF FIGURES

    Vivekananda Institute Of Technology - 2 -

  • 8/22/2019 Spith Algo

    3/54

    Image compression using 3D-SPIHT 2007*2008

    1 INTRODUCTION

    1.1 MOTIVATION

    1.2 PRINCIPLE OF COMPRESSION

    1.3 COMPRESSION ALGORITHMS

    1.4 IMAGE COMPRESSION PROCESS

    1.5 ADAPTIVE MULTIWAVELET IMAGE

    COMPRESSION

    1.6 ORGANIZATION OF THE THESIS

    2 LITERATURE SURVEY

    3 OVERVIEW OF WAVELET CODER

    3.1 WAVELET IMAGE COMPRESSION

    3.2 COMPRESSION STEPS

    3.3 TYPICAL IMAGE CODER

    3.4 WAVELET TRANSFORM OVERVIEW

    3.4.1 WAVELET TRANSFORM

    3.4.2 SCALING

    3.4.3 SHIFTING

    3.4.4 SCALE AND FREQUENCY

    3.5 DISCRETE WAVELET TRANSFORM

    3.5.1 ONE STAGE FILTERING

    3.5.2 MULTIPLE LEVEL DECOMPOSITION

    3.5.3 WAVELET RECONSTRUCTION

    3.5.4 RECONSTRUCTING APPROXIMATION

    AND DETAILS

    3.6 1 D WAVELET TRANSFORM

    3.7 2 D TRANSFORM HIERARCHY

    Vivekananda Institute Of Technology - 3 -

  • 8/22/2019 Spith Algo

    4/54

    Image compression using 3D-SPIHT 2007*2008

    3.8 AWIC FILTER CHOICE

    3.9 WAVELET COMPUTATION

    3.10 QUANTIZATION

    3.11 ENTROPY ENCODING

    4 PROPOSED SYSTEM

    5ADAPTIVE MULTIWAVELET IMAGE

    COMPRESSION

    5.1 WAVELET IMAGE COMPRESSION PARAMETERS

    5.1.1 VARYING WAVELET TRANSFORM LEVEL

    5.1.2 VARYING QUANTIZATION LEVEL

    5.1.3 VARYING ELIMINATION LEVEL

    5.2 ADAPTIVE IMAGE COMMUNICATION

    6 SIMULATION RESULTS

    7 CONCLUSION

    APPENDICES

    1 ANALYSIS OF TRANSFORM CONSTANTS

    2 PERFORMANCE METRICS

    2.1 DEGREE OF COMPRESSION

    2.2 IMAGE QUALITY

    REFERENCES

    Vivekananda Institute Of Technology - 4 -

  • 8/22/2019 Spith Algo

    5/54

    Image compression using 3D-SPIHT 2007*2008

    CHAPTER 1

    INTRODUCTION

    1.1 MOTIVATION

    One of the major challenges in enabling mobile multimedia data services will

    be the need to process and wirelessly transmit a very large volume of data. While

    significant improvements in achievable bandwidth are expected with future wireless

    access technologies, improvements in battery technology will lag the rapidly growing

    energy requirements of future wireless data services. One approach to mitigate to this

    problem is to reduce the volume of multimedia data transmitted over the wireless channel

    via data compression techniques.

    This has motivated active research on multimedia data compression techniques

    such as JPEG [1, 2], JPEG 2000 [3, 4] and MPEG [5]. These approaches concentrate on

    achieving higher compression ratio without sacrificing the quality of the image. However

    these efforts ignore the energy consumption during compression and RF transmission.

    Vivekananda Institute Of Technology - 5 -

  • 8/22/2019 Spith Algo

    6/54

    Image compression using 3D-SPIHT 2007*2008

    Today a lot of hospitals handle their medical image data with computers. The

    use of computers and a network makes it possible to distribute the image data among the

    staff efficiently. As the health care is computerized new techniques and applications are

    developed, among them the MR and CT techniques. MR and CT produce sequences of

    images (image stacks) each a cross-section of an object. The amount of data produced by

    these techniques is vast and this might be a problem when sending the data over a

    network. To overcome this image data can be compressed. For two-dimensional data

    there exist many compression techniques such as JPEG, GIF and the new wavelet based

    JPEG2000 standard [7]. All schemes above are used or two-dimensional data (images)

    and while they are excellent for images they might not be that well suited for

    compression of three-dimensional data such as image stacks.

    1.2 THESIS GOAL

    The purpose of this thesis is to look at coding schemes based on wavelets for medical

    volumetric data. The thesis should discuss theoretical issues as well as suggest a

    practically feasible implementation of a coding scheme. A short comparison between

    two- and three-dimensional coding is also included.

    Another goal is to implement highly scalable image compression based on SPIHT.

    .

    1.6 ORGANIZATION OF THE THESIS

    CHAPTER 2: Overview of the compression schemes

    CHAPTER 3: Design Specifications of wavelet coder

    CHAPTER 4 Proposed system of SPIHT

    Vivekananda Institute Of Technology - 6 -

  • 8/22/2019 Spith Algo

    7/54

    Image compression using 3D-SPIHT 2007*2008

    CHAPTER5: Simulation Results

    CHAPTER6: Conclusion

    REFERENCES

    CHAPTER 2

    OVERVIEW OF THE IMAGE COMPRESSION TECHNIQUES

    PRINCIPLE OF COMPRESSION

    Image compression addresses the problem of reducing the amount of data

    required to represent a digital image. The underlying basis of the reduction process is the

    removal of redundant data. From a mathematical viewpoint, this amounts to transforming

    a 2-D pixel array into a statistically uncorrelated data set. The transformation is applied

    prior to storage and transmission of the image. The compressed image is decompressed at

    some later time, to reconstruct the original image or an approximation to it.

    Different types of data redundancies:

    Vivekananda Institute Of Technology - 7 -

  • 8/22/2019 Spith Algo

    8/54

    Image compression using 3D-SPIHT 2007*2008

    Interpixel redundancy: Neighboring pixels have similar values. This property is

    exploited in the wavelet transform stage.

    Psychovisual redundancy: Human visual system cannot simultaneously

    distinguish all colors. This property is exploited in the lossy quantization stage.

    Coding redundancy: Fewer bits represent frequent symbols.

    1.3 COMPRESSION ALGORITHMS

    There are various algorithms for image transformation:

    Discrete cosine transform (DCT)

    JPEG

    Sub-band coding

    Embedded zero wavelet transform (EZW)

    SPIHT

    1.4 IMAGE COMPRESSION PROCESS

    Fig.1

    illustrates the main block diagram of the image compression process.

    Vivekananda Institute Of Technology - 8 -

  • 8/22/2019 Spith Algo

    9/54

    Image compression using 3D-SPIHT 2007*2008

    The image sample first goes through a transform, which generates a set of

    frequency coefficients. The transformed coefficients are then quantized to reduce the

    volume of data. The output of this step is a stream of integers, each of which corresponds

    to an index of particular quantized binary. Encoding is the final step, where the stream of

    quantized data is converted into a sequence of binary symbols in which shorter binary

    symbols are used to encode integers that occur with relatively high probability. This

    reduces the number of bits transmitted.

    CHAPTER 3

    OVERVIEW OF WAVELET CODER

    3.1 WAVELET IMAGE COMPRESSION

    The foremost goal is to attain the best compression performance possible

    for a wide range of image classes while minimizing the computational and

    implementation complexity of the algorithm. For a compression algorithm to be widely

    useful, it must perform well on a wide

    Vivekananda Institute Of Technology - 9 -

  • 8/22/2019 Spith Algo

    10/54

    Image compression using 3D-SPIHT 2007*2008

    variety of image content while maintaining a practical compression/ decompression time

    on modest computers. In order to allow a broad range of implementation, an algorithm

    must be amenable to both software and hardware implementation.

    3.2 COMPRESSION STEPS

    The steps needed to compress an image are as follows:

    1. Digitize the source image into a signal, which is a string of numbers.

    2. Decompose the signal into a sequence of wavelet coefficients.

    3. Use quantization to convert coefficients to a sequence of binary symbols.

    4. Apply entropy coding to compress it into binary strings.

    The first step in the wavelet compression process is to digitize the image.

    The digitized image can be characterized by its intensity levels, or scales of gray that

    range from 0 (black) to 255 (white), and its resolution, or how many pixels per square

    inch. The wavelets process the signal, but upto this point, compression has not yet

    occurred.

    The next step is quantization which converts a sequence of floating

    numbers to a sequence of integers. The simplest form is to round to the nearest integer.

    Another option is to multiply each number by a constant and then round to the nearest

    integer. Quantization is called lossy because it introduces error into the process, since the

    conversion is not a one-to-one function.

    The last step is encoding that is responsible for the actual compression.

    One method to compress the data is Huffman entropy coding. With this method, an

    integer sequence is changed into a shorter sequence, with the numbers being 8 bit

    integers. The conversion is made by an entropy coding table.

    Vivekananda Institute Of Technology - 10 -

  • 8/22/2019 Spith Algo

    11/54

    Image compression using 3D-SPIHT 2007*2008

    3.3 TYPICAL IMAGE CODER

    (a)

    (b)

    Fig. 3.1 (a) Wavelet Coder, (b) Wavelet Decoder

    A typical image compression system consisting of three closely connected

    components namely (a) Source Encoder (b) Quantizer, and (c) Entropy Encoder are

    shown in Fig. 3.1. Compression is accomplished by applying a linear transform to

    decorrelate the image data, quantizing the resulting transform coefficients, and entropy

    coding the quantized values.

    The source coder decorrelates the pixels. A variety of linear transforms

    have been developed which include Discrete Fourier Transform (DFT), Discrete Cosine

    Transform (DCT), Discrete Wavelet Transform (DWT) and many more, each with its

    own advantages and disadvantages.

    Vivekananda Institute Of Technology - 11 -

    Source

    Image

    data

    Compressed

    Image dataMWT Quantizer

    Entropy

    Encoder

    Compressed

    Image data

    Reconstructed

    Image dataEntropy

    Decoder

    Inverse

    Quantizer

    Inverse

    MWT

  • 8/22/2019 Spith Algo

    12/54

    Image compression using 3D-SPIHT 2007*2008

    A quantizer simply reduces the number of bits needed to store the

    transformed coefficients by reducing the precision of those values. Since this is a many-

    to-one mapping, it is a lossy process. Quantization can be performed on each individual

    coefficient, which is known as Scalar Quantization (SQ). Quantization can also be

    performed on a group of coefficients together, and this is known as Vector Quantization

    (VQ).

    An entropy encoder further compresses the quantized values losslessly to

    give better overall compression. It uses a model to accurately determine the probabilities

    for each quantized value and produces an appropriate code based on these probabilities so

    that the resultant output code stream will be smaller than the input stream.

    The most commonly used entropy encoders are the Huffman encoder and

    the arithmetic encoder, although for applications requiring fast execution, simple run-

    length encoding (RLE) has proven very effective. It is important to note that a properly

    designed quantizer and entropy encoder are absolutely necessary along with optimum

    signal transformation to get the best possible compression.

    3.4WAVELET TRANSFORM OVERVIEW

    3.4.1 Wavelet Transform

    Vivekananda Institute Of Technology - 12 -

  • 8/22/2019 Spith Algo

    13/54

    Image compression using 3D-SPIHT 2007*2008

    Wavelets are mathematical functions defined over a finite interval and

    having an average value of zero that transform data into different frequency components,

    representing each component with a resolution matched to its scale.

    The basic idea of the wavelet transform is to represent any arbitrary

    function as a superposition of a set of such wavelets or basis functions. These basis

    functions or baby wavelets are obtained from a single prototype wavelet called the

    mother wavelet, by dilations or contractions (scaling) and translations (shifts). They have

    advantages over traditional Fourier methods in analyzing physical situations where the

    signal contains discontinuities and sharp spikes. Many new wavelet applications such as

    image compression, turbulence, human vision, radar, and earthquake prediction are

    developed in recent years. In wavelet transform the basis functions are wavelets.Wavelets tend to be irregular and symmetric. All wavelet functions, w (2kt - m), are

    derived from a single mother wavelet, w (t). This wavelet is a small wave or pulse like

    the one shown in Fig. 3.2.

    Fig. 3.2 Mother wavelet w (t)

    Normally it starts at time t= 0 and ends at t= T. The shifted wavelet w (t-

    m) starts at t= m and ends at t= m + T. The scaled wavelets w (2kt) start at t= 0 and end

    at t= T/2k. Their graphs are w (t) compressed by the factor of 2kas shown in Fig. 3.3.

    For example, when k= 1, the wavelet is shown in Fig 3.3 (a). If k= 2 and 3, they are

    shown in (b) and (c), respectively.

    Vivekananda Institute Of Technology - 13 -

  • 8/22/2019 Spith Algo

    14/54

    Image compression using 3D-SPIHT 2007*2008

    (A)w(2t) (b)w(4t) (c)w(8t)

    Fig. 3.3 Scaled wavelets

    The wavelets are called orthogonal when their inner products are zero. The

    smaller the scaling factor is, the wider the wavelet is. Wide wavelets are comparable to

    low-frequency sinusoids and narrow wavelets are comparable to high-frequency

    sinusoids.

    3.4.2 Scaling

    Wavelet analysis produces a time-scale view of a signal. Scaling a wavelet

    simply means stretching (or compressing) it. The scale factor is used to express the

    compression of wavelets and often denoted by the letter a. The smaller the scale factor,

    the more compressed the wavelet. The scale is inversely related to the frequency of the

    signal in wavelet analysis.

    3.4.3 Shifting

    Shifting a wavelet simply means delaying (or hastening) its onset.

    Mathematically, delaying a function f(t) by kis represented by: f(t-k) and the schematic

    is shown in fig. 3.4.

    (a) Wavelet function (t) (b) Shifted wavelet function (t-k)

    Vivekananda Institute Of Technology - 14 -

  • 8/22/2019 Spith Algo

    15/54

    Image compression using 3D-SPIHT 2007*2008

    3.4.4 Scale and Frequency

    The higher scales correspond to the most stretched wavelets. The more

    stretched the wavelet, the longer the portion of the signal with which it is being

    compared, and thus the coarser the signal features being measured by the wavelet

    coefficients. The relation between the scale and the frequency is shown in Fig. 3.5.

    Low scale High scale

    Fig. 3.5 Scale and frequency

    Thus, there is a correspondence between wavelet scales and frequency as

    revealed by wavelet analysis:Low scale a Compressed wavelet Rapidly changing details High frequency.

    High scale a Stretched wavelet Slowly changing, coarse features Low frequency .

    3.5 DISCRETE WAVELET TRANSFORM

    Calculating wavelet coefficients at every possible scale is a fair amount of

    work, and it generates an awful lot of data. If the scales and positions are chosen based on

    powers of two, the so-called dyadic scales and positions, then calculating wavelet

    coefficients are efficient and just as accurate. This is obtained from discrete wavelet

    transform(DWT).

    3.5.1 One-Stage Filtering

    Vivekananda Institute Of Technology - 15 -

  • 8/22/2019 Spith Algo

    16/54

    Image compression using 3D-SPIHT 2007*2008

    For many signals, the low-frequency content is the most important part. It

    is the identity of the signal. The high-frequency content, on the other hand, imparts

    details to the signal. In wavelet analysis, the approximations and details are obtained after

    filtering. The approximations are the high-scale, low frequency components of the signal.

    The details are the low-scale, high frequency components. The filtering process is

    schematically represented as in Fig. 3.6.

    Fig. 3.6 Single stage filtering

    The original signal, S, passes through two complementary filters and

    emerges as two signals. Unfortunately, it may result in doubling of samples and hence to

    avoid this, downsampling is introduced. The process on the right, which includes

    downsampling, produces DWT coefficients. The schematic diagram with real signals

    inserted is as shown in Fig. 3.7.

    Vivekananda Institute Of Technology - 16 -

  • 8/22/2019 Spith Algo

    17/54

    Image compression using 3D-SPIHT 2007*2008

    Fig. 3.7 Decomposition and decimation

    3.5.2 Multiple-Level Decomposition

    The decomposition process can be iterated, with successive approximations

    being decomposed in turn, so that one signal is broken down into many lower resolution

    components. This is called the wavelet decomposition tree and is depicted as in Fig. 3.8.

    Fig. 3.8 Multilevel decomposition

    3.5.3 Wavelet Reconstruction

    Vivekananda Institute Of Technology - 17 -

  • 8/22/2019 Spith Algo

    18/54

    Image compression using 3D-SPIHT 2007*2008

    The reconstruction of the image is achieved by the inverse discrete wavelet

    transform (IDWT). The values are first upsampled and then passed to the filters. This is

    represented as shown in Fig. 3.9.

    Fig. 3.9 Wavelet Reconstruction

    The wavelet analysis involves filtering and downsampling, whereas the

    wavelet reconstruction process consists of upsampling and filtering. Upsampling is the

    process of lengthening a signal component by inserting zeros between samples as shown

    in Fig. 3.10.

    Fig. 3.10 Reconstruction using upsampling

    3.5.4 Reconstructing Approximations and Details

    It is possible to reconstruct the original signal from the coefficients of the

    approximations and details. The process yields a reconstructed approximation which has

    the same length as the original signal and which is a real approximation of it.

    Vivekananda Institute Of Technology - 18 -

  • 8/22/2019 Spith Algo

    19/54

    Image compression using 3D-SPIHT 2007*2008

    The reconstructed details and approximations are true constituents of the

    original signal. Since details and approximations are produced by downsampling and are

    only half the length of the original signal they cannot be directly combined to reproduce

    the signal. It is necessary to reconstruct the approximations and details before combining

    them. The reconstructed signal is schematically represented as in Fig. 3.11.

    Fig. 3.11 Reconstructed signal components

    3.6 1-D WAVELET TRANSFORM

    The generic form for a one-dimensional (1-D) wavelet transform is shown

    in Fig. 3.12. Here a signal is passed through a low pass and high pass filter, hand g,

    respectively, then down sampled by a factor of two, constituting one level of transform.

    Fig. 3.12 1D Wavelet Decomposition.

    Repeating the filtering and decimation process on the lowpass branch

    outputs make multiple levels or scales of the wavelet transform only. The process is

    typically carried out for a finite number of levels K, and the resulting coefficients are

    called wavelet coefficients.

    Vivekananda Institute Of Technology - 19 -

  • 8/22/2019 Spith Algo

    20/54

    Image compression using 3D-SPIHT 2007*2008

    The one-dimensional forward wavelet transform is defined by a pair of

    filters sand t that are convolved with the data at either the even or odd locations. The

    filters s and t used for the forward transform are called analysis filters.

    nL nH

    li = sjx2i+j and hi = tjx2i+1+j

    j=-nl j=-nH

    Although land hare two separate output streams, together they have the

    same total number of coefficients as the original data. The output stream l, which is

    commonly referred to as the low-pass data may then have the identical process applied

    again repeatedly. The other output stream, h (or high-pass data), generally remainsuntouched. The inverse process expands the two separate low- and high-pass data streams

    by inserting zeros between every other sample, convolves the resulting data streams with

    two new synthesis filters s and t, and adds them together to regenerate the original

    double size data stream.

    nH nl

    yi = tjl

    i+j + s

    j h

    i+j where l

    2i = li, l

    2i+1 = 0

    j= -nH j= -nH h2i+1 = hi, h

    2i = 0

    To meet the definition of a wavelet transform, the analysis and synthesis

    filters s, t, s andt must be chosen so that the inverse transform perfectly reconstructs the

    original data. Since the wavelet transform maintains the same number of coefficients as

    the original data, the transform itself does not provide any compression. However, the

    structure provided by the transform and the expected values of the coefficients give a

    form that is much more amenable to compression than the original data. Since the filters

    s, t, s and t are chosen to be perfectly invertible, the wavelet transform itself is lossless.

    Later application of the quantization step will cause some data loss and can be used to

    control the degree of compression. The forward wavelet-based transform uses a 1-D

    subband decomposition process; here a 1-D set of samples is converted into the low-pass

    subband (Li) and high-pass subband (Hi). The low-pass subband represents a down

    Vivekananda Institute Of Technology - 20 -

  • 8/22/2019 Spith Algo

    21/54

    Image compression using 3D-SPIHT 2007*2008

    sampled low-resolution version of the original image. The high-pass subband represents

    residual information of the original image, needed for the perfect reconstruction of the

    original image from the low-pass subband

    3.7 2-D TRANSFORM HEIRARCHY

    The 1-D wavelet transform can be extended to a two-dimensional (2-D)

    wavelet transform using separable wavelet filters. With separable filters the 2-D

    transform can be computed by applying a 1-D transform to all the rows of the input, and

    then repeating on all of the columns.

    LL1 HL1

    LH1 HH1

    Fig. 3.13 Subband Labeling Scheme for a one level, 2-D Wavelet Transform

    The original image of a one-level (K=1), 2-D wavelet transform, with

    corresponding notation is shown in Fig. 3.13. The example is repeated for a three-level

    (K=3) wavelet expansion in Fig. 3.14. In all of the discussion Krepresents the highest

    level of the decomposition of the wavelet transform.

    Vivekananda Institute Of Technology - 21 -

  • 8/22/2019 Spith Algo

    22/54

    Image compression using 3D-SPIHT 2007*2008

    LL1 HL1HL2

    HL3

    LH1 HH1

    LH2 HH2

    LH3 HH3

    Fig. 3.14 Subband labeling Scheme for a Three Level, 2-D Wavelet Transform

    The 2-D subband decomposition is just an extension of 1-D subband

    decomposition. The entire process is carried out by executing 1-D subband

    decomposition twice, first in one direction (horizontal), then in the orthogonal (vertical)

    direction. For example, the low-pass subbands (Li) resulting from the horizontal direction

    is further decomposed in the vertical direction, leading to LLi and LHi subbands.

    Similarly, the high pass subband (Hi) is further decomposed into HLi and

    HHi. After one level of transform, the image can be further decomposed by applying the

    2-D subband decomposition to the existing LLi subband. This iterative process results in

    multiple transform levels. In Fig. 3.14 the first level of transform results in LH1, HL1,

    and HH1, in addition to LL1, which is further decomposed into LH2, HL2, HH2, LL2 at

    the second level, and the information of LL2 is used for the third level transform. The

    subband LLi is a low-resolution subband and high-pass subbands LHi, HLi, HHi are

    horizontal, vertical, and diagonal subband respectively since they represent the

    horizontal, vertical, and diagonal residual information of the original image. An example

    Vivekananda Institute Of Technology - 22 -

  • 8/22/2019 Spith Algo

    23/54

    Image compression using 3D-SPIHT 2007*2008

    of three-level decomposition into subbands of the image CASTLE is illustrated in Fig.

    3.15.

    H2H1HH

    Fig. 3.15 The process of 2-D wavelet transform applied through three

    transform levels

    To obtain a two-dimensional wavelet transform, the one-dimensional

    transform is applied first along the rows and then along the columns to produce four

    subbands: low-resolution, horizontal, vertical, and diagonal. (The vertical subband is

    created by applying a horizontal high-pass, which yields vertical edges.) At each level,

    the wavelet transform can be reapplied to the low-resolution subband to further

    decorrelate the image. Fig. 3.16 illustrates the image decomposition, defining level and

    subband conventions used in the AWIC algorithm. The final configuration contains a

    small low-resolution subband. In addition to the various transform levels, the phrase level

    0 is used to refer to the original image data. When the user requests zero levels of

    transform, the original image data (level 0) is treated as a low-pass band and processing

    follows its natural flow.

    Low Resolution Subband

    43

    Level 2

    Level 1

    Vertical subband

    HL

    4 43 3

    Level 2 Level 2

    Vivekananda Institute Of Technology - 23 -

  • 8/22/2019 Spith Algo

    24/54

    Image compression using 3D-SPIHT 2007*2008

    Level 1

    Horizontal Subband

    LH

    Level 1

    Diagonal Subband

    HH

    Fig. 3.16 Image Decomposition Using Wavelets

    3.8 AWIC FILTER CHOICE

    The main difference between subband and wavelet coding is the choice of

    filters to be used in the transform. The filters used in wavelet coding systems were

    typically designed to satisfy certain smoothness constraints. In contrast, subband filters

    were designed to approximately satisfy the criteria of non-overlapping frequency

    responses.

    There are two types of filter choices, orthogonal and biorthogonal. The

    biorthogonal wavelet transform has the advantage that it can use linear phase filters, but

    the disadvantage is that it is not energy preserving. The fact that biorthogonal wavelets

    are not energy preserving does not turn out to be a big problem, since there are linear

    phase biorthogonal filter coefficients, which are close to being orthogonal.

    The 9-7 and 5-3 Daubechies biorthogonal filters, were chosen as ideal for

    image compression. Both the biorthogonal 9-7 and 5-3 filters were used in AWIC

    (Rushanan 1997). The detracting visual artifact at high compression rates using the

    longer filter is ringing, while the shorter filter produces staircasing. The design trade-off

    between these two filters is speed performance and quality performance. Visually, the

    level of ringing artifacts and staircasing artifacts appears to be nearly equivalent,

    Vivekananda Institute Of Technology - 24 -

  • 8/22/2019 Spith Algo

    25/54

    Image compression using 3D-SPIHT 2007*2008

    dependent on subjective opinion. The peak-signal-to-noise ratio favors the ringing artifact

    over the staircasing.

    The Daubechies 5-tap/3-tap filter is used in forward wavelet transform and

    it has good localization and symmetric properties, which allows simple edge treatment,

    high-speed computation, and high quality compressed image. The following equation

    represents the Daubechies 5-tap/3-tap filter.

    3.9 WAVELET COMPUTATION

    In order to obtain an efficient wavelet computation, it is important to

    eliminate as many unnecessary computations as possible. A careful examination of the

    forward and reverse transforms shows that about half the operations either lead to data

    which are destroyed or are null operations (as in multiplication by 0).

    The one-dimensional wavelet transform is computed by separately

    applying two analysis filters at alternating even and odd locations. The inverse process

    first doubles the length of each signal by inserting zeros in every other position, then

    applies the appropriate synthesis filter to each signal and adds the filtered signals to get

    the final reverse transform.

    3.10 QUANTIZATION

    Quantization refers to the process of approximating the continuous set of

    values in the image data with a finite set of values. The input to a quantizer is the original

    data, and the output is always one among a finite number of levels. The quantizer is a

    function whose set of output values is discrete, and usually finite. Obviously, this is a

    Vivekananda Institute Of Technology - 25 -

  • 8/22/2019 Spith Algo

    26/54

    Image compression using 3D-SPIHT 2007*2008

    process of approximation, and a good quantizer is one, which represents the original

    signal with minimum loss or distortion.

    There are two types of quantization - Scalar Quantization and Vector

    Quantization. In scalar quantization, each input symbol is treated separately in producing

    the output. If the input range is divided into levels of equal spacing, then the quantizer is

    termed as a Uniform Quantizer, and if not, it is termed as a Non-Uniform Quantizer. A

    uniform quantizer can be easily specified by its lower bound and the step size. Also,

    implementing a uniform quantizer is easier than a non-uniform quantizer.

    Just the same way a quantizer partitions its input and outputs discrete

    levels, a inverse quantizer is one which receives the output levels of a quantizer andconverts them into normal data, by translating each level into a 'reproduction point' in the

    actual range of data. The quantization error (x - x')is used as a measure of the optimality

    of the quantizer and inverse quantizer.

    3.11 ENTROPY ENCODING

    There are many ways of compressing images. An image is composed ofmany dots, called pixels, and each pixel has a color. Pictures contain some number of

    rows (R) and columns (C) of pixels. An image is stored in the computer as a set of values,

    each of which represents the color of a pixel. The total number of values in the image is

    R times C. To transmit an image, all of these values could be sent. Alternatively a set of

    instructions that allow the picture to be redrawn when it is decompressed can also be sent.

    Encoding is done by a number of methods. The simple and basic encoding

    method being Run length coding (Sayood 2000), it has a low compression performance

    but is lossless. The Huffman coding is also a lossless coding method which gained

    popularity for its compression. It is performed by the use of standard tables. The recent

    standard methods such as arithmetic coding and LZW coding are very effective.

    Vivekananda Institute Of Technology - 26 -

  • 8/22/2019 Spith Algo

    27/54

    Image compression using 3D-SPIHT 2007*2008

    CHAPTER 4

    PROPOSED SPIHT

    Parents and children

    SPIHT was introduced in [9]. It is a refinement of the algorithm presented by Shapiro in

    [10]. SPIHT assumes that the decomposition structure is the octave-band structure and

    then uses the fact that sub-bands at different levels but of the same orientation display

    similar characteristics. As is seen in Figure 4.1 the band LL HL has similarities with the

    band HL (both have high-pass filtered rows). To utilize the above observation SPIHT

    defines spatial parent-children relationships in the decomposition structure. The squares

    in Figure 4.1 represent the same spatial location of the original image and the same

    orientation, but at different scales. The different scales of the subbands imply that a

    region in the sub-band LL HL is spatially co-located (represent the same region in the

    original image) with a region 4 times larger (in the two dimensional case) in the band HL.

    SPIHT describes this collocation with one to four parent-children relationships, where the

    Vivekananda Institute Of Technology - 27 -

  • 8/22/2019 Spith Algo

    28/54

    Image compression using 3D-SPIHT 2007*2008

    parent is in a sub-band of the same orientation as the children but at a smaller scale .If.

    this prediction is successful then SPIHT can represent the parent and all its descendants

    with a single symbol called a zero-tree, introduced in [10]. To predict energy of

    coefficients in lower level sub-bands (children) using coefficients in higher level sub-

    bands (parents) makes sense since there should be more energy per coefficient in these

    small bands, than in the bigger ones. To see how SPIHT uses zerotrees the workings of

    SPIHT are briefly explained below. For more information the reader is referred to [9].

    SPIHT consists of two passes, the ordering pass and the refinement pass. In the

    ordering pass SPIHT attempts to order the coefficients according to their magnitude. In

    the refinement pass the quantization of coefficients is refined. The ordering and refining

    is made relative to a threshold. The threshold is appropriately initialised and then

    continuously made smaller with each round of the algorithm. SPIHT maintains three lists

    of coordinates of coefficients in the decomposition. These are the List of Insignificant

    Pixels (LIP), the List of Significant Pixels (LSP) and the List of Insignificant Sets (LIS).

    To decide if a coefficient is significant or not SPIHT uses the following definition. A

    coefficient is deemed significant at a certain threshold if its magnitude is larger then or

    equal to the threshold. Using the notion of significance the LIP, LIS and LSP can be

    explained. The LIP contains coordinates of coefficients that are insignificant at the

    current threshold, The LSP contains the coordinates of coefficients that are significant at

    the same threshold.The LIS contains coordinates of the roots of the spatial parent-

    children trees .

    1. In the ordering pass of SPIHT (marked by the dotted

    line in the schematic above) the LIP is first searched for coefficients that are significant at

    the current threshold, if one is found 1 is output then the sign of the coefficient is marked

    by outputting either 1 or 0 (positive or negative). Now the significant coefficient is

    moved to the LSP. If a coefficient in LIP is insignificant a 0 is outputted.

    2. Next in the ordering pass the sets in LIS are processed. For every set in the LIS it is

    decided whether the set is significant or insignificant. A set is deemed significant if at

    least one coefficient in the set is significant. If the set is significant the immediate

    Vivekananda Institute Of Technology - 28 -

  • 8/22/2019 Spith Algo

    29/54

    Image compression using 3D-SPIHT 2007*2008

    children of the root are sorted into LIP and LSP depending on their significance and 0s

    and 1s are output as when processing LIP. After sorting the children a new set (spatial

    coefficient tree) for each child is formed in the LIS. If the set is deemed insignificant, that

    is this set was a zero-tree, a 0 is outputted and no more processing is needed. The above

    is a simplification of the LIS processing but the important thing to remember is that entire

    sets of insignificant coefficients, zero-trees, are represented with a single 0. The idea

    behind defining spatial parent-children relationships as in (4.1) is to increase the

    possibility of finding these zero-trees.

    3.The SPIHT algorithm continues with the refinement pass. In the refinement pass the

    next bit in the binary representation of the coefficients in LSP is outputted. The next

    bit is related to the current threshold. The processing of LSP ends one round of the

    SPIHT algorithm, before the next round starts the current threshold is halved.

    Below is a schematic of how SPIHT works.

    Vivekananda Institute Of Technology - 29 -

  • 8/22/2019 Spith Algo

    30/54

    Image compression using 3D-SPIHT 2007*2008

    CHAPTER 5

    Vivekananda Institute Of Technology - 30 -

  • 8/22/2019 Spith Algo

    31/54

    Image compression using 3D-SPIHT 2007*2008

    Results

    FIRST LEVEL DECOMPOSITION

    SECOND LEVEL DECOMPOSITION

    Vivekananda Institute Of Technology - 31 -

  • 8/22/2019 Spith Algo

    32/54

    Image compression using 3D-SPIHT 2007*2008

    THIRD LEVEL DECOMPOSITION

    Vivekananda Institute Of Technology - 32 -

  • 8/22/2019 Spith Algo

    33/54

    Image compression using 3D-SPIHT 2007*2008

    CHAPTER 6

    IMPLEMENTATION

    .

    This is the 3-dimensional view of brain image which we are using for the purpose of

    compression.

    Vivekananda Institute Of Technology - 33 -

    BRAIN IMAGE IN 3D

  • 8/22/2019 Spith Algo

    34/54

    Image compression using 3D-SPIHT 2007*2008

    The image shown above is sliced into 8 frame (bit planes) which is as shown below-

    Vivekananda Institute Of Technology - 34 -

  • 8/22/2019 Spith Algo

    35/54

    Image compression using 3D-SPIHT 2007*2008

    mri1.bmp mri2.bmp

    mri3.bmp mri4.bmp

    mri5.bmp mri6.bmp

    Vivekananda Institute Of Technology - 35 -

    Brain images from frames 1-8

    5 6

  • 8/22/2019 Spith Algo

    36/54

    Image compression using 3D-SPIHT 2007*2008

    mri7.bmp mri8.bmp

    the above images are applied to discerte wavelet transform in order to sample and

    quantizeIn image compression, such a decomposition scheme should be extended to

    twodimensions.

    By choosing separable filters, a two-dimensional subband coding scheme

    can be implemented as a straightforward extension of the one-dimensional version. This

    is performed by applying the same filters along the two dimensions iteratively. For an M

    x M image, M one-dimensional transforms are carried out along the rows (one for each

    row). This results in two M x M/2 subimages/subbands, one corresponding to the lowpass

    filtered components and the other corresponding to the high-pass filtered rows of the

    image. Next, each of these subbands is filtered further along the columns to partition the

    resulting data into four M/2 x M/2 subbands (low-pass row and low-pass column,

    lowpass

    row and high-pass column, high-pass row and low-pass column, high-pass row and

    high-pass column). This constitutes one stage of the subband decomposition of an image,

    and is depicted in Figure 2.3. In this thesis, we are concerned with 3D datasets, so one

    stage of decomposition results in eight sub-volumes. This is accomplished by

    transforming each slice of the volumetric dataset using two-dimensional transform and

    then applying one-dimensional transform along the slices.

    Vivekananda Institute Of Technology - 36 -

    7 8

  • 8/22/2019 Spith Algo

    37/54

    Image compression using 3D-SPIHT 2007*2008

    coding stage:

    Once the image is decomposed into subbands, an encoding scheme is used to compress

    the transform coefficients. Traditionally, scalar quantization is used in this stage [16].

    Two state-of-the-art coding schemes based on wavelet transform, SPIHT encoding is

    done.

    SPIHT Coding Algorithm

    Set Partitioning in Hierarchical Trees (SPIHT) algorithm is based on embedded zerotree

    wavelet (EZW) coding method; it employs spatial orientation trees and uses set

    partitioning sorting algorithm [24].

    An octave-band decomposition structure is used in SPIHT. Coefficients

    corresponding to the same spatial location in different subbands in the pyramid structure

    Vivekananda Institute Of Technology - 37 -

  • 8/22/2019 Spith Algo

    38/54

    Image compression using 3D-SPIHT 2007*2008

    display self-similarity characteristics. Note that, SPIHT defines parent-children

    relationships between these self-similar subbands to establish spatial orientation trees.

    Such parent-children relationships in two-dimensional case can be expressed as in

    Equation below.

    An example showing octave-band decomposition is depicted in Figure

    The arrows in the figure indicate the parent-children relationship in subband pyramid.

    The start of arrow line is parent coefficient, and end of arrow indicates four children

    coefficients. The coefficients in the shaded area are all the descendants of root

    coefficient,

    A. It is assumed that lower frequency subbands have more energy and if the magnitude of

    a parent coefficient in a lower frequency subband is less than a threshold, it is highly

    Vivekananda Institute Of Technology - 38 -

  • 8/22/2019 Spith Algo

    39/54

    Image compression using 3D-SPIHT 2007*2008

    likely that magnitudes of its descendants are also less than that threshold. Thus,

    significance map of transformed coefficients with a preset threshold can be efficiently

    coded by a zero-tree coding scheme. For most images, the assumption used for the

    construction of spatial orientation tree is satisfied.

    The next step is the set partitioning sorting algorithm, which consists of two passes:

    sorting pass and refinement pass. In sorting pass, the ordering information of the

    coefficients is found according to the results of a magnitude test. In the refinement pass,

    the quantization for each significant coefficient is refined in a successive manner. A

    quantization threshold is used in coefficient magnitude test. The threshold is initialized as

    . . . and then successively decreased by a factor of two in each pass of the

    algorithm. When the bit budget is reached, the algorithm will stop.

    Three ordered lists, in which each element indicates coordinate pair (i, j) of a

    coefficient, are used to implement the coding algorithm. They are named as List of

    Insignificant Pixels (LIP), List of Significant Pixels (LSP) and List of Insignificant Sets

    (LIS). Magnitude test is performed to decide whether a coefficient is significant or not. A

    coefficient is said to be significant at a given threshold if its magnitude is larger than or

    equal to that threshold. The construction of LIP, LIS and LSP takes place according to

    the significance of the coefficients with respect to the threshold value.

    _

    LIP contains coordinates of coefficients that are insignificant with respect to the

    current threshold

    _

    LSP contains the coordinates of coefficients that are significant at the same

    threshold

    _

    LIS contains coordinates of the roots of the spatial orientation parent-children

    trees

    Vivekananda Institute Of Technology - 39 -

  • 8/22/2019 Spith Algo

    40/54

    Image compression using 3D-SPIHT 2007*2008

    The flowchart given in Figure illustrates how the SPIHT algorithm works.

    Vivekananda Institute Of Technology - 40 -

  • 8/22/2019 Spith Algo

    41/54

    Image compression using 3D-SPIHT 2007*2008

    1. In the sorting pass, the LIP is scanned to determine whether an entry is significant

    at the current threshold. If an entry is found to be significant, output a bit 1 and

    another bit for the sign of the coefficient, which is marked by either 1 for

    positive or 0 for negative. Now the significant entry is moved to the LSP. If an

    entry in LIP is insignificant, a bit 0 is output.

    2. Entries in LIS are processed. When an entry is the set of all descendants of a

    coefficient, named type A, magnitude tests for all descendants of the current

    entry are carried out to decide whether they are significant or not. If the entry is

    found to be as significant, the direct offsprings of the entry are undergone

    magnitude tests. If direct offspring is significant, it is moved into LIP; otherwise it

    is moved into LSP. If the entry is deemed to be insignificant, this spatial

    orientation tree rooted by the current entry was a zero-tree, so a bit 0 is output

    and no further processing is needed. Finally, this entry is moved to the end of LIS

    as type B, which stands for the set of all descendants except for the immediate

    offsprings of a coefficient, if there are still descendants of its direct offsprings.

    Alternatively, if the entry in LIS is type B, significance test is performed on the

    descendants of its direct offspring. If significance test is true, the spatial

    orientation tree with root of type B entry is split into four sub-trees that are rooted

    by the direct offspring and these direct offsprings are added in the end of LIS as

    type A entries. The important thing in LIS sorting is that entire sets of

    insignificant coefficients, zero-trees, are represented with a single 0. The purpose

    behind defining spatial parent-children relationships is to increase the possibility

    of finding these zero-trees.

    3. Finally, refinement pass is used to output the refinement bits (nthbit) of the

    coefficients in LSP at current threshold. Before the algorithm proceeds to the next

    round, the current threshold is halved.

    After the encoding process the compressed data is being obtained and it is used to store or

    transmit.

    Vivekananda Institute Of Technology - 41 -

  • 8/22/2019 Spith Algo

    42/54

    Image compression using 3D-SPIHT 2007*2008

    At the receiver :

    The inverse process is being performed.

    Initially inverse SPIHT is applied.

    It uses the threshold and the received bitstream in order to obtain the image matrix same

    as the original image matrix.

    The next step is inverse DWT

    Synthesis Stage

    In the previous section, we described the subband decomposition of images into different

    frequent components. In order to reconstruct the input image, a synthesis scheme is

    needed to restore the original input. The process of decomposition can be reversed, so it

    is possible to obtain reconstructed image given that the decomposed components are

    available. Such synthesis process can be realized by up-sampling followed by filtering,

    and then combining the results at the output of the filters. For the analysis scheme given

    in Figure corresponding synthesis scheme is shown in Figure

    Vivekananda Institute Of Technology - 42 -

  • 8/22/2019 Spith Algo

    43/54

    Image compression using 3D-SPIHT 2007*2008

    thus we obtain reconstructed image which is same as original image

    When lossy compression is employed, we need to measure the difference (distortion)

    between the original signal and the reconstructed one. A common metric for measuring

    distortion is the Mean Squared Error, or MSE. In the MSE measurement the total squared

    difference between the original signal and the reconstructed one is averaged over the

    entire signal and can be computed as follows:

    Another distortion measure is the Peak Signal to Noise Ratio, or PSNR. Since the MSE is

    sensitive to the range of signal scale, the PSNR is used to incorporate the maximum

    amplitude of the original signals into the metric, making this measurement independent

    of the range of the data. PSNR is usually measured in decibels as:

    Vivekananda Institute Of Technology - 43 -

  • 8/22/2019 Spith Algo

    44/54

    Image compression using 3D-SPIHT 2007*2008

    For 8 bit images or image volumes for instance, peakx = 255.

    The graph of these distortion values is as shown below

    1 2 3 4 5 6 7 8900

    950

    1000

    1050

    1100

    1150

    1200

    1250MSE V/S BIT PLANE

    bit plane

    MSE

    Vivekananda Institute Of Technology - 44 -

  • 8/22/2019 Spith Algo

    45/54

    Image compression using 3D-SPIHT 2007*2008

    1 2 3 4 5 6 7 865.4

    65.6

    65.8

    66

    66.2

    66.4

    66.6

    66.8

    67PSNR V/S BIT PLANE

    bit plane

    PSNR

    IN

    DB

    Vivekananda Institute Of Technology - 45 -

  • 8/22/2019 Spith Algo

    46/54

    Image compression using 3D-SPIHT 2007*2008

    The original image ,reconstructed image and their differences is obtained as shown below

    Original Frame1 Reconst Frame1 DIFFERENCE1

    Vivekananda Institute Of Technology - 46 -

  • 8/22/2019 Spith Algo

    47/54

    Image compression using 3D-SPIHT 2007*2008

    Original Frame2 Reconst Frame2 DIFFERENCE2

    Original Frame3 Reconst Frame3 DIFFERENCE3

    Vivekananda Institute Of Technology - 47 -

  • 8/22/2019 Spith Algo

    48/54

    Image compression using 3D-SPIHT 2007*2008

    Original Frame4 Reconst Frame4 DIFFERENCE4

    Original Frame5 Reconst Frame5 DIFFERENCE5

    Vivekananda Institute Of Technology - 48 -

  • 8/22/2019 Spith Algo

    49/54

    Image compression using 3D-SPIHT 2007*2008

    Original Frame6 Reconst Frame6 DIFFERENCE6

    Original Frame7 Reconst Frame7 DIFFERENCE7

    Vivekananda Institute Of Technology - 49 -

  • 8/22/2019 Spith Algo

    50/54

    Image compression using 3D-SPIHT 2007*2008

    Original Frame8 Reconst Frame8 DIFFERENCE8

    Vivekananda Institute Of Technology - 50 -

  • 8/22/2019 Spith Algo

    51/54

    Image compression using 3D-SPIHT 2007*2008

    CHAPTER 7

    CONCLUSION AND FUTURE WORK

    The performance of the Wavelet -based coder could be raised if a better cost-

    function was developed. If the gain in PSNR from using this new cost function is

    significant maybe the Wavelet coder would be the preferred choice.

    In the next phase the proposed system was simulated and implemented in VLSI.

    Vivekananda Institute Of Technology - 51 -

  • 8/22/2019 Spith Algo

    52/54

    Image compression using 3D-SPIHT 2007*2008

    REFERENCES

    [1] Forchheimer R. (1999), Image coding and data compression, Linkping:

    Department of electrical engineering at Linkpings University.

    [2] Chui C. K. (1992), An introduction to wavelets, Boston, Academic Press, ISBN

    0121745848

    [3] Sayood K. (2000), Introduction to data compression, Morgan Kaufmann Publrs,

    US, 2 revised edition, ISBN 1558605584.

    [4] Daubechies I., Barlaud M., Antonini M., Mathieu P. (1992), Image coding using

    wavelet transform in IEEE Transactions on image processing, Vol. 1, No. 2, pp.

    205-220.

    [5] Brislawn C. M.. (1996), Classification of nonexapnsive symmetric extension

    transforms for multi rate filter banks in Applied and computational harmonic

    analysis, Vol. 3, pp. 337-357.

    [6] Azpiroz-Leehan J., Lerallut J.-F. (2000), Selection of biorthogonal filters for

    image compression of MR images using wavelet packets in Medcial engineering &

    physics, Vol. 22, pp. 225-243.

    Vivekananda Institute Of Technology - 52 -

  • 8/22/2019 Spith Algo

    53/54

    Image compression using 3D-SPIHT 2007*2008

    Vivekananda Institute Of Technology - 53 -

  • 8/22/2019 Spith Algo

    54/54