spith algo
Post on 08-Aug-2018
218 Views
Preview:
TRANSCRIPT
-
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
top related