Documentation 03

Embed Size (px)

Citation preview

  • 7/29/2019 Documentation 03

    1/52

    A NOVEL ARCHITECTURE OF DISCRETE WAVELET TRANSFORM USING LIFTING SCHEME ALGORITHM

    CHAPTER 1CHAPTER 1

    INTRODUCTION

    1.1 Introduction

    The fundamental idea behind wavelets is to analyze according to scale. Indeed,

    some researchers in the wavelet field feel that, by using wavelets, one is adopting a

    perspective in processing data. Wavelets are functions that satisfy certain mathematical

    requirements and are used in representing data or other functions. This idea is not new.

    Approximation using superposition of functions has existed since the early 1800's, when

    Joseph Fourier discovered that he could superpose sines and cosines to represent other

    functions. However, in wavelet analysis, the scale that we use to look at data plays a

    special role. Wavelet algorithms process data at different scales or resolutions.

    Fourier Transform (FT) with its fast algorithms (FFT) is an important tool for

    analysis and processing of many natural signals. FT has certain limitations to characterize

    many natural signals, which are non-stationary (e.g. speech). Though a time varying,

    overlapping window based FT namely STFT (Short Time FT) is well known for speech

    processing applications, a time-scale based Wavelet Transform is a powerful

    mathematical tool for non-stationary signals.

    Wavelet Transform uses a set of damped oscillating functions known as wavelet

    basis. WT in its continuous (analog) form is represented as CWT. CWT with various

    deterministic or non-deterministic bases is a more effective representation of signals for

    analysis as well as characterization. Continuous wavelet transform is powerful in

    singularity detection. A discrete and fast implementation of CWT (generally with realvalued basis) is known as the standard DWT (Discrete Wavelet Transform).With standard

    DWT, signal has a same data size in transform domain and therefore it is a non-redundant

    transform. A very important property was Multi-resolution Analysis (MRA) allows DWT

    to view and process.

    For many natural signals, the wavelet transform is a more effective tool than the

    Fourier transform. The wavelet transform provides a multiresolution representation using

    Department of ECE,MRITS 1

  • 7/29/2019 Documentation 03

    2/52

    A NOVEL ARCHITECTURE OF DISCRETE WAVELET TRANSFORM USING LIFTING SCHEME ALGORITHM

    a set of analysing functions that are dilations and translations of a few functions

    (wavelets).

    These web pages describe an implementation in Mat lab of the discrete wavelet

    transforms (DWT). The programs for 1D, 2D, and 3D signals are described separately,

    but they all follow the same structure. Examples of how to use the programs for 1D

    signals, 2D images and 3D video clips are also described. As discrete wavelet transform

    are based on perfect reconstruction two-channel filter banks, the programs below for the

    (forward/inverse) DWT call programs for (analysis/synthesis) filter banks. The DWT

    consists of recursively applying a 2-channel filter bank - the successive decomposition is

    performed only on the low pass output. In each section below, the 2-channel filter banks

    are described first.

    The wavelet transform comes in several forms. The critically-sampled form of the

    wavelet transform provides the most compact representation; however, it has several

    limitations. For example, it lacks the shift-invariance property, and in multiple

    dimensions it does a poor job of distinguishing orientations, which is important in image

    processing. For these reasons, it turns out that for some applications improvements can beobtained by using an expansive wavelet transform in place of a critically-sampled one.

    (An expansive transform is one that converts an N-point signal into M coefficients with

    M > N.) There are several kinds of expansive DWTs; here we describe and provide an

    implementation of the dual-tree complex discrete wavelet transform.

    The dual-tree complex wavelet transform overcomes these limitations - it is nearly

    shift-invariant and is oriented in 2D [Kin-2002]. The 2D dual-tree wavelet transform

    produces six sub bands at each scale, each of which is strongly oriented at distinct angles.In addition to being spatially oriented, the 3D dual-tree wavelet transform is also motion

    selective - each sub band is associated with motion in a specific direction. The 3D dual-

    tree isolates in its sub bands motion in distinct directions.

    2

    Department of ECE,MRITS

  • 7/29/2019 Documentation 03

    3/52

    A NOVEL ARCHITECTURE OF DISCRETE WAVELET TRANSFORM USING LIFTING SCHEME ALGORITHM

    Introduction to Wavelet Transform

    The wavelet transform is computed separately for different segments of the time-

    domain signal at different frequencies. Multi-resolution analysis: analyzes the signal at

    different frequencies giving different resolutions. Multi-resolution analysis is designed to

    give good time resolution and poor frequency resolution at high frequencies and good

    frequency resolution and poor time resolution at low frequencies. Good for signal having

    high frequency components for short durations and low frequency components for long

    duration, e.g. Images and video frames.

    1.2.1 Wavelet Definition

    A wavelet is a small wave which has its energy concentrated in time. It has an

    oscillating wavelike characteristic but also has the ability to allow simultaneous time and

    frequency analysis and it is a suitable tool for transient, non-stationary or time-varying

    phenomena.

    (a) (b)

    Figure1.1 Representation of a (a) wave (b) wavelet

    1.2.2 Wavelet Characteristics

    The difference between wave (sinusoids) and wavelet is shown in figure 1.1.

    Waves are smooth, predictable and everlasting, whereas wavelets are of limited duration,

    irregular and may be asymmetric. Waves are used as deterministic basis functions in

    Fourier analysis for the expansion of functions (signals), which are time-invariant, or

    stationary. The important characteristic of wavelets is that they can serve as deterministic

    3

    Department of ECE,MRITS

  • 7/29/2019 Documentation 03

    4/52

    A NOVEL ARCHITECTURE OF DISCRETE WAVELET TRANSFORM USING LIFTING SCHEME ALGORITHM

    or non-deterministic basis for generation and analysis of the most natural signals to

    provide better time-frequency representation, which is not possible with waves using

    conventional Fourier analysis.

    1.2.3 Wavelet Analysis

    The wavelet analysis procedure is to adopt a wavelet prototype function, called an

    analyzing wavelet or mother wavelet. Temporal analysis is performed with a

    contracted, high frequency version of the prototype wavelet, while frequency analysis is

    performed with a dilated, low frequency version of the same wavelet. Mathematical

    formulation of signal expansion using wavelets gives Wavelet Transform (WT) pair,

    which is analogous to the Fourier Transform (FT) pair. Discrete-time and discrete-

    parameter version of WT is termed as Discrete Wavelet Transform (DWT).

    1.3 Types of Transforms

    1.3.1 Fourier Transform (FT)

    Fourier transform is a well-known mathematical tool to transform time-domain

    signal to frequency-domain for efficient extraction of information and it is reversible also.

    For a signal x(t), the FT is given by

    Though FT has a great ability to capture signals frequency content as long as x(t)

    is composed of few stationary components (e.g. sine waves). However, any abrupt change

    in time for non-stationary signal x(t) is spread out over the whole frequency axis in X(f).

    Hence the time-domain signal sampled with Dirac-delta function is highly localized in

    time but spills over entire frequency band and vice versa. The limitation of FT is that it

    cannot offer both time and frequency localization of a signal at the same time.

    4

    Department of ECE,MRITS

  • 7/29/2019 Documentation 03

    5/52

    A NOVEL ARCHITECTURE OF DISCRETE WAVELET TRANSFORM USING LIFTING SCHEME ALGORITHM

    1.3.2 Short Time Fourier Transform (STFT)

    To overcome the limitations of the standard FT, Gabor introduced the initial

    concept of Short Time Fourier Transform (STFT). The advantage of STFT is that it uses

    an arbitrary but fixed-length window g(t) for analysis, over which the actual non-

    stationary signal is assumed to be approximately stationary. The STFT decomposes such

    a pseudo-stationary signal x(t) into a two dimensional time-frequency representation S( ,

    f) using that sliding window g(t) at different times . Thus the FT of windowed signal x

    (t) g*(t-) yields STFT as

    The time-frequency resolution is fixed over the entire time-frequency plane

    because the same window is used at all frequencies. There is always a trade off between

    time resolution and frequency resolution in STFT.

    1.3.3 Wavelet Transform (WT)Fixed resolution limitation of STFT can be resolved by letting the resolution in

    time-frequency plane in order to obtain Multi resolution analysis. The Wavelet Transform

    (WT) in its continuous (CWT) form provides a flexible time-frequency, which narrows

    when observing high frequency phenomena and widens when analyzing low frequency

    behaviour. Thus time resolution becomes arbitrarily good at high frequencies, while the

    frequency resolution becomes arbitrarily good at low frequencies. This kind of analysis is

    suitable for signals composed of high frequency components with short duration and low

    frequency components with long duration, which is often the case in practical situations.

    1.3.4 Comparative Visualisation

    The time-frequency representation problem is illustrated in figure1.2. A

    comprehensive visualization of various time-frequency representations shown in figure

    5

    Department of ECE,MRITS

  • 7/29/2019 Documentation 03

    6/52

    A NOVEL ARCHITECTURE OF DISCRETE WAVELET TRANSFORM USING LIFTING SCHEME ALGORITHM

    1.2, demonstrates the time-frequency resolution for a given signal in various transform

    domains with their corresponding basis functions.

    Figure1.2 Comparative visualizations of time-frequency representation of an

    arbitrary non-stationary signal in various transform domains

    6

    Department of ECE,MRITS

  • 7/29/2019 Documentation 03

    7/52

    A NOVEL ARCHITECTURE OF DISCRETE WAVELET TRANSFORM USING LIFTING SCHEME ALGORITHM

    Difference between Continuous Wavelet Transform and Discrete

    Wavelet Transform

    Wavelet transforms are classified into discrete wavelet transforms (DWTs) and

    continuous wavelet transforms (CWTs). Note that both DWT and CWT are continuous-

    time (analog) transforms. They can be used to represent continuous-time (analog) signals.

    CWTs operate over every possible scale and translation whereas DWTs use a specific

    subset of scale and translation values or representation grid.

    The word wavelet is due to Morlet and Grossmann in the early 1980s. They used

    the French word ondelette, meaning "small wave". Soon it was transferred to English by

    translating "onde" into "wave", giving "wavelet".

    The Wavelet transform is in fact an infinite set of various transforms, depending

    on the merit function used for its computation. This is the main reason, why we can hear

    the term "wavelet transforms" in very different situations and applications.

    Orthogonal wavelets are used to develop the discrete wavelet transform

    Non-orthogonal wavelets are used to develop the continuous wavelet transform

    There are more wavelet types and transforms, but those two are most widely used and can

    serve as examples of two main types of the wavelet transform: redundant and non-

    redundant ones.

    The discrete wavelet transform returns a data vector of the same length as the

    input is. Usually, even in this vector many data are almost zero. This corresponds

    to the fact that it decomposes into a set of wavelets (functions) that are orthogonal

    to its translations and scaling. Therefore we decompose such a signal to a same or

    lower number of the wavelet coefficient spectrum as is the number of signal data

    points. Such a wavelet spectrum is very good for signal processing and

    compression, for example, as we get no redundant information here.

    The continuous wavelet transform in contrary returns an array one dimension

    larger than the input data. For a 1D data we obtain an image of the time-frequency

    plane. We can easily see the signal frequencies evolution during the duration of

    7

    Department of ECE,MRITS

  • 7/29/2019 Documentation 03

    8/52

    A NOVEL ARCHITECTURE OF DISCRETE WAVELET TRANSFORM USING LIFTING SCHEME ALGORITHM

    the signal and compare the spectrum with other signals spectra. As here is used

    the non-orthogonal set of wavelets, data are correlated highly, so big redundancy

    is seen here. This helps to see the results in a more humane form.

    Applications of Discrete Wavelet Transform

    Generally, an approximation to DWT is used for data compression if signal is

    already sampled, and the CWT for signal analysis. Thus, DWT approximation is

    commonly used in engineering and computer science, and the CWT in scientific research.

    One use of wavelet approximation is in data compression. Like some other transforms,

    wavelet transforms can be used to transform data and then encode the transformed data,resulting in effective compression. For example, JPEG 2000 is an image compression

    standard that uses orthogonal wavelets. A related use is that of smoothing/denoising data

    based on wavelet coefficient thresholding, also called wavelet shrinkage. By adaptively

    thresholding the wavelet coefficients that correspond to undesired frequency components

    smoothing and/or denoising operations can be performed. Other applied fields that are

    making use of wavelets include astronomy, acoustics, nuclear engineering, sub-band

    coding, signal and image processing, neurophysiology, music, magnetic resonanceimaging, speech discrimination, optics, fractals, turbulence, earthquake-prediction, radar,

    human vision, and pure mathematics applications such as solving partial differential

    equations.

    Area of Application

    Medical application

    Signal denoising Data compression

    Image processing

    8

    Department of ECE,MRITS

  • 7/29/2019 Documentation 03

    9/52

    A NOVEL ARCHITECTURE OF DISCRETE WAVELET TRANSFORM USING LIFTING SCHEME ALGORITHM

    CHAPTER 2CHAPTER 2

    Literature Review

    2.1Introduction

    VLSI Architecture to deign the Discrete Wavelet Transform for medical images

    storage and retrieval is carried out. Lossless is usually required in the medical image field.

    The word length required for lossless makes too expensive Thus, there is a clear need for

    designing architecture to implement the lossless DWT for medical images. The data path

    word-length has been selected to ensure the lossless accuracy criteria leading a high speed

    implementation with small chip area.The DWT represents the signal in dynamic sub-band decomposition. Generation of

    the DWT in a wavelet packet allows sub-band analysis without the constraint of dynamic

    decomposition. The discrete wavelet packet transform (DWPT) performs an adaptive

    decomposition of frequency axis. The specific decomposition will be selected according to an

    optimization criterion

    The Discrete Wavelet Transform (DWT), based on time-scale representation,

    provides efficient multi-resolution sub-band decomposition of signals. It has become apowerful tool for signal processing and finds numerous applications in various fields such as

    audio compression, pattern recognition, texture discrimination, computer graphics etc.

    Specifically the 3-D DWT play a significant role in many image/video coding applications.

    2.1Types of compressions

    There are two types of compressions

    1. Lossless compressionDigitally identical to the original image. Only achieve a modest amount of

    compression

    2. Lossy compression

    Discards components of the signal that are known to be redundant. Signal is therefore

    changed from input

    9

    Department of ECE,MRITS

  • 7/29/2019 Documentation 03

    10/52

    A NOVEL ARCHITECTURE OF DISCRETE WAVELET TRANSFORM USING LIFTING SCHEME ALGORITHM

    Lossless compression involves with compressing data, when decompressed data will

    be an exact replica of the original data. This is the case when binary data such as

    executable are compressed.

    Figure 2.1 Different Types of Lossy Compression Techniques

    2.2 Reviewed Architectures of Discrete wavelet transforms and inverse

    discrete wavelet transforms

    2.2.1 Discrete Wavelet Transform

    The Discrete Wavelet Transform (DWT) is a popular signal processing technique best

    known for its results in data compression. As hardware designers, we are concerned more

    with the algorithmic details of the DWT, rather than the mathematical details discussed in the

    many papers which provide the foundations for wavelets. Algorithmically, the DWT is a

    recursive filtering process. At each level, the input data is filtered by two related filters to

    produce two result data-streams. These data-streams are then sub samples by two (or

    decimated) to reduce the output to the same number of data-words as the original signal.

    The low-pass filter output of this result is then further processed by the same two filters, and

    this continues recursively for the desired depth oruntil no further filtering can occur. This

    10

    Department of ECE,MRITS

    HybridPredictive Frequencyoriented

    Importanc

    e oriented

    DCT DWT

    Transfor

    m

    Fracta

    l

    MallatTransversal

    filter CoedicLifting

    Scheme

    LOSSY

  • 7/29/2019 Documentation 03

    11/52

    A NOVEL ARCHITECTURE OF DISCRETE WAVELET TRANSFORM USING LIFTING SCHEME ALGORITHM

    recursive filtering process of the one-dimensional DWT is shown in Figure 1, where z is the

    input data-stream, a and dare approximation (low-pass filter output) and difference (high-

    pass filter output) data-streams respectively. The subscript values show the level of output.

    Figure 2.2 The DWT filtering process.

    The filtering steps are multiply and accumulate operations. A filter in the algorithmic,

    discrete sense is a number of coefficient values. The number of these values is referred to

    as the filter width and these coefficients are also referred to as taps. At each data-word of

    the input, the filter spans across that data-word and its neighboring data-words as a

    window. The values within this window are multiplied by their corresponding filter

    coefficient and all the results are added together to give the filtered result for this data-word.

    The filtering operation extracts certain frequency information from the data depending on the

    characteristics of the filter. This filtering operation can be done with a systolic array. It is

    simple to implement a systolic array for each level of the DWT, but the arrays are poorly

    utilized due to the decreasing data-rates of the levels. It is possible, through some complex

    timing, to use a single array to perform all levels of the DWT.

    11

    Department of ECE,MRITS

  • 7/29/2019 Documentation 03

    12/52

    A NOVEL ARCHITECTURE OF DISCRETE WAVELET TRANSFORM USING LIFTING SCHEME ALGORITHM

    2.2.2 Inverse discrete wavelet transforms

    The inverse DWT (IDWT) is the computational reverse. The lowest low-pass and

    high pass data-streams are up-sampled (i.e. a zero is placed between each data-word) and

    then filtered using filters related to the decomposition filters. The two resulting streams are

    simply added together to form the low-pass result of the previous level of processing. This

    can be combined with the high-pass result in a similar fashion to produce further levels, the

    process continuing until the original data-stream is reconstructed. This process is shown in

    figure

    Figure 2.3 The Inverse DWT filtering process.

    We have previously developed an array for the DWT and are now designing an arrayfor the IDWT. We present a simple discussion of the array with no detailed implementation

    specifics to allow the reader to understand the issues we are dealing with by the input

    buffering approach.

    12

    Department of ECE,MRITS

  • 7/29/2019 Documentation 03

    13/52

    A NOVEL ARCHITECTURE OF DISCRETE WAVELET TRANSFORM USING LIFTING SCHEME ALGORITHM

    Discrete Wavelet Transform Architecture

    The discrete wavelet transform (DWT) is being increasingly used for image coding.

    This is due to the fact that DWT supports features like progressive image transmission (by

    quality, by resolution), ease of compressed image manipulation, region of interest coding, etc.

    DWT has traditionally been implemented by convolution. Such an implementation demands

    both a large number of computations and a large storage features that are not desirable for

    either high-speed or low-power applications. Recently, a lifting-based scheme that often

    requires far fewer computations has been proposed for the DWT. The main feature of the

    lifting based DWT scheme is to break up the high pass and low pass filters into a sequence of

    upper and lower triangular matrices and convert the filter implementation into banded matrix

    multiplications. Such a scheme has several advantages, including in-place computation of

    the DWT, integer-to-integer wavelet transform (IWT), symmetric forward and inverse

    transform, etc. Therefore, it comes as no surprise that lifting has been chosen in the

    upcoming.

    The proposed architecture computes multilevel DWT for both the forward and the

    inverse transforms one level at a time, in a row-column fashion. There are two row

    processors to compute along the rows and two column processors to compute along the

    columns. While this arrangement is suitable or filters that require two banded-matrix

    multiplications filters that require four banded-matrix multiplications require all four

    processors to compute along the rows or along the columns. The outputs generated by the

    row and column processors (that are used for further computations) are stored in memory

    modules.

    The memory modules are divided into multiple banks to accommodate high

    computational bandwidth requirements. The proposed architecture is an extension of the

    architecture for the forward transform that was presented. A number of architectures havebeen proposed for calculation of the convolution-based DWT. The architectures are mostly

    folded and can be broadly classified into serial architectures (where the inputs are supplied to

    the filters in a serial manner) and parallel architectures (where the inputs are supplied to the

    filters in a parallel manner).

    Recently, a methodology for implementing lifting-base DWT That redues the

    Memory requirements and communication between the processors, when the image is broken

    up info blocks. For a system that consists of the lifting-based DWT transform followed by an

    13

    Department of ECE,MRITS

  • 7/29/2019 Documentation 03

    14/52

    A NOVEL ARCHITECTURE OF DISCRETE WAVELET TRANSFORM USING LIFTING SCHEME ALGORITHM

    embedded zero-tree algorithm, a new interleaving scheme that reduces the number of

    memory accesses has been proposed. Finally, a lifting-based DWT architecture capable of

    performing filters with one lifting step, i.e., one predict and one update step. The outputs are

    generated in an interleaved fashion.

    Figure 2.4 Lifting Schemes. (a) Scheme 1. (b) Scheme 2.

    The basic principle of the lifting scheme is to factorize the poly phase matrix of a

    wavelet filter into a sequence of alternating upper and lower triangular matrices and a

    diagonal matrix. This leads to the wavelet implementation by means of banded-matrix

    multiplications.

    Let and be the low pass and high pass analysis filters, and let and

    be the low pass and high pass synthesis filters. The corresponding poly-phase matrices

    are defined as

    If is a complementary filter pair, then can always be factored into lifting steps as

    Where K is a constant. The two types of lifting schemes are shown in Figure

    14

    Department of ECE,MRITS

  • 7/29/2019 Documentation 03

    15/52

    A NOVEL ARCHITECTURE OF DISCRETE WAVELET TRANSFORM USING LIFTING SCHEME ALGORITHM

    Scheme 1 which corresponds to the factorization consists of three steps:

    Predictstep, where the even samples are multiplied by the time domain equivalent of

    and are added to the odd samples. Update step, where updated odd samples are multiplied by the time domain

    equivalent of and are added to the even samples.

    Scalingstep, where the even samples are multiplied by 1/k and odd samples by k.

    The inverse DWT is obtained by traversing in the reverse direction, changing the

    factor K to 1/K, K factor to i/K, and reversing the signs of coefficients in and . In

    Scheme 2 which corresponds to the factorization, the odd samples are calculated inthe first step, and the even samples are calculated in the second step. The inverse is obtained

    by traversing in the reverse direction.

    The lifting scheme is a technique for both designing wavelets and performing the

    discrete wavelet transform. Actually it is worthwhile to merge these steps and design the

    wavelet filters while performing the wavelet transform. This is then called the second

    generation wavelet transform. The technique was introduced by Wim Sweldens.

    The discrete wavelet transform applies several filters separately to the same signal. In

    contrast to that, for the lifting scheme the signal is divided like a zipper. Then a series of

    convolution-accumulate operations across the divided signals is applied.

    The basic idea of lifting is the following: If a pair of filters (h,g) is complementary,

    that is it allows forperfect reconstruction, then for every filters the pair (h',g) with

    allows for perfect reconstruction, too. Of course, this is

    also true for every pair (h,g') of the form . The converse is

    also true: If the filter banks (h,g) and (h',g) allow for perfect reconstruction, then there is a

    unique filters with .

    Each such transform of the filter bank (or the respective operation in a wavelet

    transform) is called a lifting step. A sequence of lifting steps consists of alternating lifts, that

    is, once the low pass is fixed and the high pass is changed and in the next step the high pass is

    fixed and the low pass is changed. Successive steps of the same direction can be merged.

    15

    Department of ECE,MRITS

  • 7/29/2019 Documentation 03

    16/52

    A NOVEL ARCHITECTURE OF DISCRETE WAVELET TRANSFORM USING LIFTING SCHEME ALGORITHM

    2.3.1 Advantages

    1. Lifting schema of DWT has been recognized as a faster approach.

    2. No need to divide the input coding into non-overlapping 3-D blocks. It has higher

    compression ratios avoid blocking artefacts.

    3. Allows good localization both in time and spatial frequency domain

    4. Better identification of which data is relevant to human perception higher

    compression ratio

    2.3.2 Disadvantages

    1. The cost of computing DWT as compared to DCT is higher because the number of

    logic gates used for DWT is more compared to DCT.

    2. The use of larger DWT basis functions or wavelet filters produces blurring and

    ringing noise near edge regions in the images or video frames.

    2.4 Lifting Implementation of the Discrete Wavelet Transform

    The DWT has been traditionally implemented by convolution or FIR filter bank

    structures. The DWT implementation is basically a frame-based as opposed /to the block-

    based implementation ofdiscrete cosine transforms (DCT) /or similar transformations. Such

    an implementation requires both a large number of arithmetic computations and a large

    memory for storage features /that are not desirable for either high-speed or low-power

    image and /video processing applications. Recently, a new mathematical formulation for

    /wavelet transformation has been proposed by Swelden based on spatial construction of the

    wavelets and a very versatile scheme for its factorization /has been suggested in. This new

    approach is called the lifting-based /wavelet transform, or simply lifting. The main feature of

    the lifting-based DWT scheme is to break up the high-pass and low-pass wavelet filters into

    a sequence of smaller filters that in turn can be converted into a sequence of upper and lower

    triangular matrices, which will be discussed in the subsequent section.

    This scheme often requires far fewer computations compared to the convolution-

    based DWT, and its computational complexity can be reduced up to 50%. It has several other

    advantages, including in-place computation of the DWT, integer-to-integer wavelet

    transform (IWT), symmetric forward and inverse transform, requiring no signal boundary

    extension, etc. Asa result, lifting-based hardware implementations provide an efficient way

    16

    Department of ECE,MRITS

  • 7/29/2019 Documentation 03

    17/52

    A NOVEL ARCHITECTURE OF DISCRETE WAVELET TRANSFORM USING LIFTING SCHEME ALGORITHM

    to compute wavelet transforms compared to traditional approaches. So it comes as no surprise

    that lifting has been suggested for implementation of the DWT in the upcoming JPEG2000

    standard [8]. In a traditional forward DWT using a filter bank, the input signal (x) is filtered

    separately by a low-pass filter( h ) and a high-pass filter ( g ) at each/transform level. The

    two output streams are then subsampled by simply dropping the alternate output samples in

    each stream to produce the lowpass ( y ~a)nd high-pass ( y ~su)b bands as shown in Figure

    4.6. These two filters (k , i j ) form the analysis filter bank. The original signal can be

    reconstructed by asynthesis filter bank(h,g) starting fromy~ and Y Has shown in Figure 4.6.

    We have adopted the discussion on lifting from the celebrated paper by Daubechies and

    Sweldens (141. It should also be noted that we adopted the notation (h, g ) for the analysis

    filter and (h, g ) as the synthes is filter in this section and onward in this chapter. Given a

    discrete signalx ( n ) , arithmetic computation of above can be expressed as follows:

    Where TL arid TH are the lengths of the low-pass (K) and high-pass ( 3 ) filters

    respectively. During the inverse transform to reconstruct the signal, both y~ and Y Hare first

    up-sampled by inserting zeros between two samples and then they are filtered by low-pass(h) and high-pass (9) filters respectively. These two filtered output streams are added together

    to obtain the reconstructed signal (2') as shown in Figure 4.6.

    Figure 2.5 Signal Analysis and Reconstruction in DWT

    There are two types of lifting. One is called primal liftingand the other is called dual

    lifting. We define these two types of lifting based on the mathematical formulations shown in

    the previous section.

    17

    Department of ECE,MRITS

  • 7/29/2019 Documentation 03

    18/52

    A NOVEL ARCHITECTURE OF DISCRETE WAVELET TRANSFORM USING LIFTING SCHEME ALGORITHM

    2.5 Summary of Literature Review

    1. Lifting scheme of discrete wavelet transform and Inverse discrete wavelet transform

    has been recognized as a faster approach

    2. Allows good localization both in time and spatial frequency domain

    3. Transformation of the whole image introduces inherent scaling

    4. Better identification of which data is relevant to human perception, higher

    compression ratio

    5. It is perceived that the wavelet transform is an important tool for analysis and

    processing of signals. The wavelet transform in its continuous form can accurately

    represent minor variations in signal characteristics. Critically sampled version of

    continuous wavelet transform, known as standard DWT

    6. DWT is very popular for de-noising and compression in a number of applications by

    the virtue of its computational simplicity through fast algorithms, and non-redundant.

    There are certain signal processing applications (e.g. Time-division multiplexing in

    Telecommunication)

    18

    Department of ECE,MRITS

  • 7/29/2019 Documentation 03

    19/52

    A NOVEL ARCHITECTURE OF DISCRETE WAVELET TRANSFORM USING LIFTING SCHEME ALGORITHM

    Chapter 3 .

    WAVELET TRANSFORM DESIGN

    3.1 1-D Discrete Wavelet Transform

    3.1.1 2-Channel Perfect Reconstruction Filter Bank

    The analysis filter bank decomposes the input signal x (n) into two sub band

    signals, c (n) and d (n). The signal c (n) represents the low frequency (or coarse) part

    of x (n), while the signal d (n) represents the high frequency (or detail) part of x(n).The analysis filters bank first filters x (n) using a low pass and a high pass filter. We

    denote the low pass filter by af1 (analysis filter 1) and the high pass filter by af2

    (analysis filter 2). As shown in the figure, the output of each filter is then down-

    sampled by 2 to obtain the two sub band signals, c(n) and d(n).

    Figure 3.1 sub band signal model

    The Matlab program below, afb.m, implements the analysis filter bank. The program

    uses the Matlab function upfirdn (in the Signal Processing Toolbox) to implement the

    filtering and downsampling.

    The synthesis filter bank combines the two subband signals c(n) and d(n) to

    obtain a single signal y(n). The synthesis filter bank first up-samples each of the two

    subband signals. The signals are then filtered using a lowpass and a highpass filter.

    We denote the lowpass filter by sf1 (synthesis filter 1) and the highpass filter by sf2

    (synthesis filter 2). The signals are then added together to obtain the signal y(n). If the

    four filters are designed so as to guarantee that the output signal y(n) equals the input

    19

    Department of ECE,MRITS

    http://eeweb.poly.edu/iselesni/WaveletSoftware/allcode/afb.mhttp://eeweb.poly.edu/iselesni/WaveletSoftware/allcode/afb.m
  • 7/29/2019 Documentation 03

    20/52

    A NOVEL ARCHITECTURE OF DISCRETE WAVELET TRANSFORM USING LIFTING SCHEME ALGORITHM

    signal x(n), then the filters are said to satisfy the perfect reconstruction condition. The

    Matlab program below, sfb.m, implements the synthesis filter bank.

    There are many sets of filters that satisfy the perfect reconstruction conditions.

    One set of filters, from [AS-2001], is shown in the Table below. These filters are

    approximately symmetric.

    The following code fragment shows an example of how to use the Matlab

    functions, afb.m and sfb.m. This example verifies the perfect reconstruction property.

    First, we create a random input signal x of length 64. Then the analysis and synthesis

    filters are obtained with the Matlab functionfarras.m. The two subband signals (here

    called lo and hi) are computed with the function afb.m. The output signal y is then

    computed using the Matlab function sfb.m. The maximum value of the error x - y is

    computed, and it is equal to zero (within computer precision). This verifies the perfect

    reconstruction property.

    A couple of remarks about the programs afb.m and sfb.m. Suppose the input

    signal x(n) is of length N. For convenience, we will like the subband signals c(n) and

    d(n) to each be of length N/2. However, these subband signals will exceed this length

    by L/2, where L is the length of the analysis filters.

    To avoid this excessive length, the last L/2 samples of each subband signal isadded to the first L/2 samples. This procedure (periodic extension) can create

    undesirable artifacts at the beginning and end of the subband signals, however, it is

    the most convenient solution. When the analysis and synthesis filters are exactly

    symmetric, a different procedure (symmetric extension) can be used, that avoids the

    artifacts associated with periodic extension.

    A second detail also arises in the implementation of the perfect reconstruction

    filter bank. If all four filters are causal, then the output signal y(n) will be a translated(or circularly shifted) version of x(n). To avoid this, we perform a circular shift in

    both the analysis and synthesis filter banks. The circular shift is implemented with the

    Matlab function cshift.m.

    20

    Department of ECE,MRITS

    http://eeweb.poly.edu/iselesni/WaveletSoftware/allcode/sfb.mhttp://eeweb.poly.edu/iselesni/WaveletSoftware/allcode/farras.mhttp://eeweb.poly.edu/iselesni/WaveletSoftware/allcode/farras.mhttp://eeweb.poly.edu/iselesni/WaveletSoftware/allcode/cshift.mhttp://eeweb.poly.edu/iselesni/WaveletSoftware/allcode/sfb.mhttp://eeweb.poly.edu/iselesni/WaveletSoftware/allcode/farras.mhttp://eeweb.poly.edu/iselesni/WaveletSoftware/allcode/cshift.m
  • 7/29/2019 Documentation 03

    21/52

    A NOVEL ARCHITECTURE OF DISCRETE WAVELET TRANSFORM USING LIFTING SCHEME ALGORITHM

    3.2 Discrete Wavelet Transform (Iterated Filter Banks)

    The discrete wavelet transform (DWT) gives a multiscale representation of a

    signal x(n). The DWT is implemented by iterating the 2-channel analysis filter bank

    described above. Specifically, the DWT of a signal is obtained by recursively

    applying the lowpass/highpass frequency decomposition to the lowpass output as

    illustrated in the diagram. The diagram illustrates a 3-scale DWT. The DWT of the

    signal x is the collection of subband signals. The inverse DWT is obtained by

    iteratively applying the synthesis filter bank.

    Figure 3.2 Signal Analysis and Reconstruction in DWT

    The Matlab function dwt.m below computes the J-scale discrete wavelettransform w of the signal x. We use the cell array data structure of Matlab to store the

    subband signals. For j = 1..J, w{j} is the high frequency subband signal produced at

    stage j. w{J+1} is the low frequency subband signal produced at stage J.

    The inverse DWT is computed with the Matlab functionidwt.m. The perfect

    reconstruction of the DWT is verified in the following example. First we create a

    random input signal x of length 64. Then the analysis and synthesis filters are

    obtained with the Matlab function farras.m. The 3-scale DWT is computed with thefunction dwt.m. The inverse DWT is then computed to get the signal y. As verified

    below, y = x within computer precision.

    The wavelet associated with a set of synthesis filters can be computed using

    the following Matlab code fragment. In this example, we set all of the wavelet

    coefficients to zero, for the exception of one wavelet coefficient which is set to one.

    We then take the inverse wavelet transform.

    21

    Department of ECE,MRITS

    http://eeweb.poly.edu/iselesni/WaveletSoftware/allcode/dwt.mhttp://eeweb.poly.edu/iselesni/WaveletSoftware/allcode/idwt.mhttp://eeweb.poly.edu/iselesni/WaveletSoftware/allcode/idwt.mhttp://eeweb.poly.edu/iselesni/WaveletSoftware/allcode/dwt.mhttp://eeweb.poly.edu/iselesni/WaveletSoftware/allcode/idwt.m
  • 7/29/2019 Documentation 03

    22/52

    A NOVEL ARCHITECTURE OF DISCRETE WAVELET TRANSFORM USING LIFTING SCHEME ALGORITHM

    Figure 3.3 standard 1-D wavelet

    3.3 2-D Discrete Wavelet Transform

    3.3.1 2-D Filter Banks

    To use the wavelet transform for image processing we must implement a 2D

    version of the analysis and synthesis filter banks. In the 2D case, the 1D analysis filter

    bank is first applied to the columns of the image and then applied to the rows. If the

    image has N1 rows and N2 columns, then after applying the 1D analysis filter bank to

    each column we have two sub band images, each having N1/2 rows and N2 columns;

    after applying the 1D analysis filter bank to each row of both of the two sub band

    images, we have four sub band images, each having N1/2 rows and N2/2 columns.

    This is illustrated in the diagram below. The 2D synthesis filter bank combines the

    four sub band images to obtain the original image of size N1 by N2.

    22

    Department of ECE,MRITS

  • 7/29/2019 Documentation 03

    23/52

    A NOVEL ARCHITECTURE OF DISCRETE WAVELET TRANSFORM USING LIFTING SCHEME ALGORITHM

    Figure 3.4 One stage in multi-resolution wavelet decomposition of an image

    The 2D analysis filter bank is implemented with the Mat lab function afb2D.m.

    This function calls a sub-function,afb2D_A.m, which applies the 1D analysis filter

    bank along one dimension only (either along the columns or along the rows). The

    function afb2D.m returns two variables: lo is the low pass sub band image; hi is a cell

    array containing the 3 other sub band images.

    The 2D synthesis filter bank is similarly implemented with the

    commands sfb2D.m and sfb2D_A.m.

    3.3.2 2D Discrete Wavelet Transform

    As in the 1D case, the 2D discrete wavelet transform of a signal x is

    implemented by iterating the 2D analysis filter bank on the low pass sub band image.

    In this case, at each scale there are three sub bands instead of one. The

    function, dwt2D.m, computes the J-scale 2D DWT w of an image x by repeatedly

    calling afb2D.m.

    Again, w is a Mat lab cell array; for j = 1..J, d = 1..3, w{j}{d} is one of the

    three sub band images produced at stage j. w{J+1} is the low pass sub band image

    produced at the last stage. The function idwt2D.m computes the inverse 2D DWT.

    The perfect reconstruction of the 2D DWT is verified in the following example. We

    create a random input signal x of size 128 by 64, apply the DWT and its inverse, and

    show it reconstructs x from the wavelet coefficients in w.

    23

    Department of ECE,MRITS

    http://eeweb.poly.edu/iselesni/WaveletSoftware/allcode/afb2D.mhttp://eeweb.poly.edu/iselesni/WaveletSoftware/allcode/afb2D.mhttp://eeweb.poly.edu/iselesni/WaveletSoftware/allcode/afb2D_A.mhttp://eeweb.poly.edu/iselesni/WaveletSoftware/allcode/afb2D_A.mhttp://eeweb.poly.edu/iselesni/WaveletSoftware/allcode/sfb2D.mhttp://eeweb.poly.edu/iselesni/WaveletSoftware/allcode/sfb2D_A.mhttp://eeweb.poly.edu/iselesni/WaveletSoftware/allcode/dwt2D.mhttp://eeweb.poly.edu/iselesni/WaveletSoftware/allcode/idwt2D.mhttp://eeweb.poly.edu/iselesni/WaveletSoftware/allcode/afb2D.mhttp://eeweb.poly.edu/iselesni/WaveletSoftware/allcode/afb2D_A.mhttp://eeweb.poly.edu/iselesni/WaveletSoftware/allcode/sfb2D.mhttp://eeweb.poly.edu/iselesni/WaveletSoftware/allcode/sfb2D_A.mhttp://eeweb.poly.edu/iselesni/WaveletSoftware/allcode/dwt2D.mhttp://eeweb.poly.edu/iselesni/WaveletSoftware/allcode/idwt2D.m
  • 7/29/2019 Documentation 03

    24/52

    A NOVEL ARCHITECTURE OF DISCRETE WAVELET TRANSFORM USING LIFTING SCHEME ALGORITHM

    There are three wavelets associated with the 2D wavelet transform. The

    following figure illustrates three wavelets as gravy scale images.

    Figure 3.5 gravy scale images

    Note that the first two wavelets are oriented in the vertical and horizontal

    directions; however, the third wavelet does not have a dominant orientation. The third

    wavelet mixes two diagonal orientations, which gives rise to the checkerboard

    artefact. (The 2D DWT is poor at isolating the two diagonal orientations.) This figure

    was produced with the following Mat lab code fragment (dwt2D_plots.m).

    24

    Department of ECE,MRITS

    http://eeweb.poly.edu/iselesni/WaveletSoftware/allcode/dwt2D_plots.mhttp://eeweb.poly.edu/iselesni/WaveletSoftware/allcode/dwt2D_plots.m
  • 7/29/2019 Documentation 03

    25/52

    A NOVEL ARCHITECTURE OF DISCRETE WAVELET TRANSFORM USING LIFTING SCHEME ALGORITHM

    CHAPTERCHAPTER44

    Design of Hardware Model

    4.1 Discrete Wavelet Transforms

    The discrete wavelet transform (DWT) became a very versatile signal processing tool

    after Mallet proposed the multi-resolution representation of signals based on wavelet

    decomposition. The method of multi-resolution is to represent a function (signal) with a

    collection of coefficients, each of which provides information about the position as well as

    the frequency of the signal (function). The advantage of the DWT over Fourier

    transformation is that it performs multi-resolution analysis of signals with localization both intime and frequency, popularly known as time-frequency localization. As a result, the DWT

    decomposes a digital signal into different sub bands so that the lower frequency sub bands

    have finer frequency resolution and coarser time resolution compared to the higher frequency

    sub bands. The DWT is being increasingly used for image compression due to the fact that

    the DWT supports features like progressive image transmission (by quality, by resolution),

    ease of compressed image manipulation] region of interest coding, etc. Because of these

    characteristics, the DWT is the basis of the new JPEG2000 image compression standard.

    4.2 One dimensional DWT

    Any signal is first applied to a pair of low-pass and high-pass filters. Then down

    sampling (i.e., neglecting the alternate coefficients) is applied to these filtered coefficients.

    The filter pair (h, g) which is used for decomposition is called analysis filter-bank and the

    filter pair which is used for reconstruction of the signal is called synthesis filter bank.(g`,

    h`).The output of the low pass filter after down sampling contains low frequency componentsof the signal which is approximate part of the original signal and the output of the high pass

    filter after down sampling contains the high frequency components which are called details

    (i.e., highly textured parts like edges) of the original signal.

    This approximate part can still be further decomposed into low frequency and high

    frequency components. This process can be continued successively to the required number of

    levels. This process is called multi level decomposition, shown in Figure 3.1

    25

    Department of ECE,MRITS

  • 7/29/2019 Documentation 03

    26/52

    A NOVEL ARCHITECTURE OF DISCRETE WAVELET TRANSFORM USING LIFTING SCHEME ALGORITHM

    Figure 4.1 One dimensional two level wavelet decomposition

    In reconstruction process, these approximate and detail coefficients are first up-

    sampled and then applied to low-pass and high-pass reconstruction filters. These filtered

    coefficients are then added to get the reconstructed version of the original image. This

    process can be extended to multi level reconstruction i.e., the approximate coefficients to this

    block may have been formed from pairs of approximate and detail coefficients. Shown in

    Figure 3.2

    Figure 4.2 One dimensional inverse wavelet transforms

    26

    Department of ECE,MRITS

  • 7/29/2019 Documentation 03

    27/52

    A NOVEL ARCHITECTURE OF DISCRETE WAVELET TRANSFORM USING LIFTING SCHEME ALGORITHM

    4.3 Two-Dimensional DWT

    One dimensional DWT can be easily extended to two dimensions which can be used

    for the transformation of two dimensional images. A two dimensional digital image which

    can be represented by a 3-D array X [m,n] with m rows and n columns, where m, n are

    positive integers. First, a one dimensional DWT is performed on rows to get low frequency L

    and high frequency H components of the image. Then, once again a one dimensional DWT is

    performed column wise on this intermediate result to form the final DWT coefficients LL,

    HL, LH, HH. These are called sub-bands.

    The LL sub-band can be further decomposed into four sub-bands by following the

    above procedure. This process can continue to the required number of levels. This process is

    called multi level decomposition. A three level decomposition of the given digital image is as

    shown. High pass and low pass filters are used to decompose the image first row-wise and

    then column wise. Similarly, the inverse DWT is applied which is just opposite to the

    forward DWT to get back the reconstructed image, shown in Figure 3.3

    Figure 4.3 Row-column computation of 3-D DWT

    27

    Department of ECE,MRITS

  • 7/29/2019 Documentation 03

    28/52

    A NOVEL ARCHITECTURE OF DISCRETE WAVELET TRANSFORM USING LIFTING SCHEME ALGORITHM

    Figure 4.4 Two channel filter bank at level 3

    Various architectures have been proposed for computation of the DWT. These can be

    mainly classified as either Convolutional Architectures or Lifting Based Architectures. The

    number of computations required to find the DWT coefficients by the filter method is large

    for higher level of decomposition. This leads to the implementation of new technique called

    lifting scheme for computing DWT coefficients. This scheme reduces the number of

    computations and also provides in-place computation of DWT coefficients.

    28

    Department of ECE,MRITS

    http://en.wikipedia.org/wiki/Image:Wavelets_-_Filter_Bank.png
  • 7/29/2019 Documentation 03

    29/52

    A NOVEL ARCHITECTURE OF DISCRETE WAVELET TRANSFORM USING LIFTING SCHEME ALGORITHM

    4.4 GENERAL IMPLEMENTATION FLOW

    The generalized implementation flow diagram of the project is represented as follows.

    Figure 4.5 General Implementation Flow Diagram

    Initially the market research should be carried out which covers the previous version

    of the design and the current requirements on the design. Based on this survey, the

    specification and the architecture must be identified. Then the RTL modelling should be

    carried out in VERILOG HDL with respect to the identified architecture. Once the RTL

    modelling is done, it should be simulated and verified for all the cases. The functional

    verification should meet the intended architecture and should pass all the test cases.

    29

    Department of ECE,MRITS

  • 7/29/2019 Documentation 03

    30/52

    A NOVEL ARCHITECTURE OF DISCRETE WAVELET TRANSFORM USING LIFTING SCHEME ALGORITHM

    Once the functional verification is clear, the RTL model will be taken to the synthesis

    process. Three operations will be carried out in the synthesis process such as

    Translate

    Map

    Place and Route

    The developed RTL model will be translated to the mathematical equation format

    which will be in the understandable format of the tool. These translated equations will be then

    mapped to the library that is, mapped to the hardware. Once the mapping is done, the gates

    were placed and routed. Before these processes, the constraints can be given in order to

    optimize the design. Finally the BIT MAP file will be generated that has the design

    information in the binary format which will be dumped in the FPGA board.

    4.5 Implementation

    The 3D (5, 3) wavelet transform block and for the recovery stage 3D (5, 3) Inverse

    wavelet transform were designed.

    4.5.1 Integer Wavelet Transform

    In conventional DWT realizations, partial transform results need to be represented

    with a high precision. This raises storage and complexity problems. On the other hand, the

    Integer Wavelet Transform (IWT) produces integer intermediate results. Thus, it is possible

    to use integer arithmetic without encountering rounding error problems. There are different

    types of integer transforms like S(sequential) transform which is popularly known as Haar

    wavelet transform, S(sequential)+P(prediction) transform, CDF(4,4), CDF(2,2) also known

    as (5,3) transform etc.

    The two filter banks supported by JPEG2000 standard are Debauchies (9, 7) and

    Debauchies (5, 3) filter banks. Since the integer to integer wavelet transform coefficients are

    integers, it can be used in lossless compression. Since the aim of the thesis is to suggest a

    reversible (lossless) watermarking method so we will consider only (5, 3) Integer Wavelet

    Transform.

    30

    Department of ECE,MRITS

  • 7/29/2019 Documentation 03

    31/52

    A NOVEL ARCHITECTURE OF DISCRETE WAVELET TRANSFORM USING LIFTING SCHEME ALGORITHM

    3-D (5, 3) DWT Lossless Transformation

    The analysis and the synthesis filter coefficients ( both low pass and high pass) for Le

    Gall 5/3 Integer Wavelet Transform are as shown in the table 3.1.Table 4.1 Le Gall 5/3 Analysis and Synthesis Filter coefficients [17].

    Analysis Filter Coefficients

    N Low Pass filter h(n) High pass filter g(n)

    0 6/8 1+ 2/8 -1/2+ -1/8

    Equation 3.1 and Equation 3.2 shows the lifting steps for the 5/3 le Gall Integer

    Wavelet Transform. The rational coefficients allow the transform to be invertible with finiteprecision analysis, hence giving a chance for performing lossless compression. The equations

    show the lifting steps for (5, 3) le gall Integer Wavelet Transform. The even and odd

    coefficient equations for (5, 3) Inverse Integer Wavelet Transform are

    ( ) ( )( ) ( )

    +++=+

    2

    2221212

    nnxnxny .. (3.1)

    ( ) ( ) ( ) ( )[ ]121222 +++= nynynxny .. (3.2)

    4.5.2 The 3-D (5, 3) Discrete Wavelet Transform

    Initially the Pixel values of any image will be taken with the help of MATLAB, which

    will be used as the primary inputs to the DWT Block.

    Basically 1-D (5, 3) DWT block diagram is developed based on the equations (2) and

    (3). The registers in the top half will operate in even clock where as the ones in bottom half

    work in odd clock.The input pixels arrive serially row-wise at one pixel per clock cycle and it will get

    split into even and odd. So after the manipulation with the lifting coefficients a and b is

    done, the low pass and high pass coefficients will be given out. Hence for every pair of pixel

    values, one high pass and one low pass coefficients will be given as output respectively.

    31

    Department of ECE,MRITS

  • 7/29/2019 Documentation 03

    32/52

    A NOVEL ARCHITECTURE OF DISCRETE WAVELET TRANSFORM USING LIFTING SCHEME ALGORITHM

    The internal operation of the DWT block has been explained above and hence the

    high pass and low pass coefficients of the taken image were identified and separated. The

    generated low pass and high pass coefficients are stored in buffers for further calculations.

    32

    Department of ECE,MRITS

    Figure 4.6 Computation of Basic (5, 3) DWT Block in which a and b are lifting

    coefficients (a = -1/2 and b = 1)

  • 7/29/2019 Documentation 03

    33/52

    A NOVEL ARCHITECTURE OF DISCRETE WAVELET TRANSFORM USING LIFTING SCHEME ALGORITHM

    CHAPTER 5 .

    SOFTWARE DISCRIPTION

    5.1 Starting the ISE Software

    To start ISE, double-click the desktop icon,

    or start ISE from the Start menu by selecting:

    Start All Programs -> Xilinx ISE 13.4 -> Project Navigator

    5.2 Accessing Help

    At any time during the tutorial, you can access online help for additional information about

    the ISE software and related tools.

    To open Help, do either of the following:

    Press F1 to view Help for the specific tool or function that you have selected or

    highlighted.

    Launch the ISE Help Contents from the Help menu. It contains information about

    creating and maintaining your complete design flow in ISE.

    Table 5.1: ISE Help Topics

    5.3 Create a New Project

    Create a new ISE project which will target the FPGA device on the Spartan-3 Start-up Kit

    Demo board.

    33

    Department of ECE,MRITS

  • 7/29/2019 Documentation 03

    34/52

    A NOVEL ARCHITECTURE OF DISCRETE WAVELET TRANSFORM USING LIFTING SCHEME ALGORITHM

    To create a new project:

    1. Select File New Project The New Project Wizard appears.

    2. Type tutorial in the Project Name field.

    3. Enter or browse to a location (directory path) for the new project. A tutorial subdirectory is

    created automatically.

    4. Verify that HDL is selected from the Top-Level Source Type list.

    5. ClickNext to move to the device properties page.

    6. Fill in the properties in the table as shown below:

    Product Category: All

    Family: Spartan3E

    Device: XC3S100E

    Package: CP132

    Speed Grade: -5

    Top- Level Source Type: HDL

    Synthesis Tool: XST (VHDL/Verilog)

    Simulator: ISE Simulator (VHDL/Verilog)

    Preferred Language: Verilog (orVHDL)

    Verify that Enable Enhanced Design Summary is selected.

    Leave the default values in the remaining fields.

    When the table is complete, your project properties will look like the following:

    34

    Department of ECE,MRITS

  • 7/29/2019 Documentation 03

    35/52

    A NOVEL ARCHITECTURE OF DISCRETE WAVELET TRANSFORM USING LIFTING SCHEME ALGORITHM

    Table 5.2: ISE New project wizard

    35

    Department of ECE,MRITS

  • 7/29/2019 Documentation 03

    36/52

    A NOVEL ARCHITECTURE OF DISCRETE WAVELET TRANSFORM USING LIFTING SCHEME ALGORITHM

    Table 5.3: ISE project navigator

    7. ClickNext to proceed to the Create New Source window in the New Project Wizard. At

    the end of the next section, your new project will be complete.

    5.4 Creating a Verilog Source

    Create the top-level Verilog source file for the project as follows:

    1. ClickNew Source in the New Project dialog box.

    2. Select Verilog Module as the source type in the New Source dialog box.

    3. Type in the file name test_module.

    4. Verify that the Add to Project checkbox is selected.

    5. ClickNext.

    36

    Department of ECE,MRITS

  • 7/29/2019 Documentation 03

    37/52

    A NOVEL ARCHITECTURE OF DISCRETE WAVELET TRANSFORM USING LIFTING SCHEME ALGORITHM

    6. Declare the ports for the counter design by filling in the port information as shown below:

    Table 5.4: ISE new source wizard

    37

    Department of ECE,MRITS

  • 7/29/2019 Documentation 03

    38/52

    A NOVEL ARCHITECTURE OF DISCRETE WAVELET TRANSFORM USING LIFTING SCHEME ALGORITHM

    Table 5.5: ISE Help Topics

    7. ClickNext, then Finish in the New Source Information dialog box to complete the new

    source file template.

    8. ClickNext, then Next, then Finish.

    The source file containing the test_ module module displays in the Workspace, and the

    counter displays in the Sources tab, as shown below:

    38

    Department of ECE,MRITS

  • 7/29/2019 Documentation 03

    39/52

    A NOVEL ARCHITECTURE OF DISCRETE WAVELET TRANSFORM USING LIFTING SCHEME ALGORITHM

    Table 5.6: Hierarchy and Process windows

    In the above window

    1. Hierarchy window

    2. Process window

    5.5 Checking the Syntax of the new test module Module

    When the source files are complete, check the syntax of the design to find errors and

    typos.

    1. Verify that Implementation is selected from the drop-down list in the Sources

    Window.

    2. Select the test module design source in the Sources window to display the related

    Processes in the Processes window.

    3. Click the + next to the Synthesize-XST process to expand the process group.

    4. Double-click the Check Syntaxprocess.

    Note:

    You must correct any errors found in your source files. You can check for errors in the

    Console tab of the Transcript window. If you continue without valid syntax, you will not be

    able to

    Simulate or synthesize your design.

    5. Close the HDL file.

    5.6 To Synthesize the Code

    39

    Department of ECE,MRITS

  • 7/29/2019 Documentation 03

    40/52

    A NOVEL ARCHITECTURE OF DISCRETE WAVELET TRANSFORM USING LIFTING SCHEME ALGORITHM

    Select the test module in hierarchy window and double click on synthesize in process

    window. The code will synthesize and show if any errors. We can also see rtl view and

    technological view after this.

    5.7 To implement the design

    Select test module in hierarchy window & double click on the implement design. Then tool

    will perform all operations regarding translation, mapping & place and route operations

    Now you can see the design summery/reports on the window

    40

    Department of ECE,MRITS

  • 7/29/2019 Documentation 03

    41/52

    A NOVEL ARCHITECTURE OF DISCRETE WAVELET TRANSFORM USING LIFTING SCHEME ALGORITHM

    CHAPTER 6 .

    SIMULATION RESULTS

    6.1 Introduction

    The DWT process and the developed architecture for the required functionality were

    discussed in the previous chapters. Now this chapter deals with the simulation and synthesis

    results of the DWT process. Here Modelsim tool is used in order to simulate the design and

    checks the functionality of the design. Once the functional verification is done, the design

    will be taken to the Xilinx tool for Synthesis process and the net list generation.

    The Appropriate test cases have been identified in order to test this modelled DWT

    process architecture. Based on the identified values, the simulation results which describesthe operation of the process has been achieved. This proves that the modelled design works

    properly as per its functionality.

    6.2 Simulation Results

    The test bench is developed in order to test the modeled design. This developed test

    bench will automatically force the inputs and will make the operations of algorithm to

    perform.6.2.1 DWT Block

    The initial block of the design is that the Discrete Wavelet Transform (DWT) block

    which is mainly used for the transformation of the image. In this process, the image will be

    transformed and hence the high pass coefficients and the low pass coefficients were

    generated. Since the operation of this DWT block has been discussed in the previous chapter,

    here the snapshots of the simulation results were directly taken in to consideration and

    discussed.The input is 16 bits each input bit width is 20 bit width. The DWT consists of

    registers and adders. Whenever the input is send, the data divided into even data and odd

    data. The even data and odd data is stored in the temporary registers. When the reset is high

    the temporary register value consists of zero whenever the reset is low the input data split into

    the even data and odd data. The input data read up to sixteen clock cycles after that the data

    read according to the lifting scheme. The output data consists of low pass and high pass

    elements. This is the 1-D discrete wavelet transform. The 2-D discrete wavelet transform is

    41

    Department of ECE,MRITS

  • 7/29/2019 Documentation 03

    42/52

    A NOVEL ARCHITECTURE OF DISCRETE WAVELET TRANSFORM USING LIFTING SCHEME ALGORITHM

    that the low pass and the high pass again divided into LL, LH and HH, HL. The output is

    verified in the Modelsim.

    For this DWT block, the clock and reset were the primary inputs. The pixel values of

    the image, that is, the input data will be given to this block and hence these values will be

    split in to even and odd pixel values. In the design, this even and odd were taken as a array

    which will store its pixel values in it and once all the input pixel values over, then load will

    be made high which represents that the system is ready for the further process.

    Once the load signal is set to high, then the each value from the even and odd array

    will be taken and used for the Low Pass Coefficients generation process. Hence each value

    will be given to the adder and in turn given to the multiplication process with the filter

    coefficients. Finally the Low Pass Coefficients will be achieved from the addition process of

    multiplied output and the odd pixel value.

    Again this Low Pass Coefficient will be taken and it will be multiplied with the filter

    coefficients. The resultant will be added with the even pixel value which gives the High Pass

    Coefficient. Hence all the values from even and odd array will be taken and then above said

    process will be carried out in order to achieve the High and Low Pass Coefficients of the

    image.

    Now these low pass coefficients and the high pass coefficients were taken as the inputfor the further process. Hence for the DWT-2 process, low pass coefficients will be taken as

    the inputs and will do the process in order to calculate the low pass and high pass coefficients

    from the transformed coefficients of DWT-1. In DWT-2, the same process as in DWT-1 will

    be carried out. Hence the simulated waveform is shown in the figure 4.2.

    42

    Department of ECE,MRITS

  • 7/29/2019 Documentation 03

    43/52

    A NOVEL ARCHITECTURE OF DISCRETE WAVELET TRANSFORM USING LIFTING SCHEME ALGORITHM

    Fig 6.1 Simulation Result of DWT with Both High and Low Pass Coefficients

    Similarly the high pass coefficients from the DWT-1 block were taken as input to the

    DWT-3 block and hence further transformed low pass and high pass coefficients will beobtained.

    6.3 Introduction to FPGA

    FPGA stands for Field Programmable Gate Array which has the array of logic

    module, I /O module and routing tracks (programmable interconnect). FPGA can be

    configured by end user to implement specific circuitry. Speed is up to 100 MHz but at present

    speed is in GHz.Main applications are DSP, FPGA based computers, logic emulation, ASIC and

    ASSP. FPGA can be programmed mainly on SRAM (Static Random Access Memory). It is

    Volatile and main advantage of using SRAM programming technology is re-configurability.

    Issues in FPGA technology are complexity of logic element, clock support, IO support and

    interconnections (Routing).

    In this work, design of a DWT and IDWT is made using Verilog HDL and is

    synthesized on FPGA family of Spartan 3E through XILINX ISE Tool. This process includes

    following:43

    Department of ECE,MRITS

  • 7/29/2019 Documentation 03

    44/52

    A NOVEL ARCHITECTURE OF DISCRETE WAVELET TRANSFORM USING LIFTING SCHEME ALGORITHM

    Translate

    Map

    Place and Route

    6.3.1 FPGA Flow

    The basic implementation of design on FPGA has the following steps.

    Design Entry

    Logic Optimization

    Technology Mapping

    Placement

    Routing Programming Unit

    Configured FPGA

    Above shows the basic steps involved in implementation. The initial design entry of

    may be Verilog HDL, schematic or Boolean expression. The optimization of the Boolean

    expression will be carried out by considering area or speed.

    Figure 6.2 Logic Block

    In technology mapping, the transformation of optimized Boolean expression to FPGA

    logic blocks, that is said to be as Slices. Here area and delay optimization will be taken place.

    During placement the algorithms are used to place each block in FPGA array. Assigning the

    44

    Department of ECE,MRITS

  • 7/29/2019 Documentation 03

    45/52

    A NOVEL ARCHITECTURE OF DISCRETE WAVELET TRANSFORM USING LIFTING SCHEME ALGORITHM

    FPGA wire segments, which are programmable, to establish connections among FPGA

    blocks through routing. The configuration of final chip is made in programming unit.

    6.4 Synthesis Result

    The developed DWT is simulated and verified their functionality. Once the functional

    verification is done, the RTL model is taken to the synthesis process using the Xilinx ISE

    tool. In synthesis process, the RTL model will be converted to the gate level net list mapped

    to a specific technology library. Here in this Spartan 3E family, many different devices were

    available in the Xilinx ISE tool. In order to synthesis this DWT and IDWT design the device

    named as XC3S500E has been chosen and the package as FG320 with the device speed

    such as -4.

    The design of DWT is synthesized and its results were analysed as follows.

    6.4.1 DWT Synthesis Result

    This device utilization includes the following.

    Logic Utilization

    Logic Distribution

    Total Gate count for the Design

    Device utilization summary:

    45

    Department of ECE,MRITS

  • 7/29/2019 Documentation 03

    46/52

    A NOVEL ARCHITECTURE OF DISCRETE WAVELET TRANSFORM USING LIFTING SCHEME ALGORITHM

    The device utilization summery is shown above in which its gives the details of

    number of devices used from the available devices and also represented in %. Hence as the

    result of the synthesis process, the device utilization in the used device and package is shown

    above.

    Table 6.1 device utilization summary of 3D DWT

    46

    Department of ECE,MRITS

  • 7/29/2019 Documentation 03

    47/52

    A NOVEL ARCHITECTURE OF DISCRETE WAVELET TRANSFORM USING LIFTING SCHEME ALGORITHM

    Table 6.2 device utilization summary of 2D DWT

    Timing Summary

    ---------------

    Speed Grade: -5

    Minimum period: 8.123ns (Maximum Frequency: 123.113MHz)

    Minimum input arrival time before clock: 3.932ns

    Maximum output required time after clock: 12.204ns

    Maximum combinational path delay: No path found

    47

    Department of ECE,MRITS

  • 7/29/2019 Documentation 03

    48/52

    A NOVEL ARCHITECTURE OF DISCRETE WAVELET TRANSFORM USING LIFTING SCHEME ALGORITHM

    RTL Schematic

    The RTL (Register Transfer Logic) can be viewed as black box after synthesize of

    design is made. It shows the inputs and outputs of the system. By double-clicking on the

    diagram we can see gates, flip-flops and MUX.

    Figure 6.3 DWT Schematic with Basic Inputs and Output

    Here in the above schematic, that is, in the top level schematic shows all the inputs

    and final output of DWT design.

    48

    Department of ECE,MRITS

  • 7/29/2019 Documentation 03

    49/52

    A NOVEL ARCHITECTURE OF DISCRETE WAVELET TRANSFORM USING LIFTING SCHEME ALGORITHM

    Figure 6.4 DWT Schematic with top module design

    49

    Department of ECE,MRITS

  • 7/29/2019 Documentation 03

    50/52

    A NOVEL ARCHITECTURE OF DISCRETE WAVELET TRANSFORM USING LIFTING SCHEME ALGORITHM

    Figure 6.5 Blocks inside the Developed Top Level DWT Design

    The internal blocks available inside the design includes DWT-1, DWT-2 and DWT-3

    which were clearly shown in the above schematic level diagram. Inside each block the gate

    level circuit will be generated with respect to the modelled HDL code.

    6.5 Summary

    50

    Department of ECE,MRITS

  • 7/29/2019 Documentation 03

    51/52

    A NOVEL ARCHITECTURE OF DISCRETE WAVELET TRANSFORM USING LIFTING SCHEME ALGORITHM

    The developed DWT are modelled and are simulated using the Modelsim tool.

    The simulation results are discussed by considering different cases.

    The RTL model is synthesized using the Xilinx tool in Spartan 3E and their synthesis

    results were discussed with the help of generated reports.

    51

    Department of ECE,MRITS

  • 7/29/2019 Documentation 03

    52/52

    A NOVEL ARCHITECTURE OF DISCRETE WAVELET TRANSFORM USING LIFTING SCHEME ALGORITHM

    CHAPTER 7CHAPTER 7

    CONCLUSION AND FUTURE WORK

    7.1 Conclusion

    Basically the medical images need more accuracy without loosing of information. The

    Discrete Wavelet Transform (DWT) was based on time-scale representation, which provides

    efficient multi-resolution. The lifting based scheme(5, 3) (The high pass filter has five taps

    and the low pass filter has three taps) filter give lossless mode of information. A more

    efficient approach to lossless whose coefficients are exactly represented by finite precision

    numbers allows for truly lossless encoding.This work ensures that the image pixel values given to the DWT process which gives

    the high pass and low pass coefficients of the input image. The simulation results of DWT

    were verified with the appropriate test cases. Once the functional verification is done, discrete

    wavelet transform is synthesized by using Xilinx tool in Spartan 3E FPGA family. Hence it

    has been analyzed that the discrete wavelet transform (DWT) operates at a maximum clock

    frequency of 99.197 MHz respectively.

    7.2 Future scope of the Work

    As future work,

    This work can be extended in order to increase the accuracy by increasing the level of

    transformations.

    This can be used as a part of the block in the full-fledged application, i.e., by using

    these DWT, the applications can be developed such as compression, watermarking,

    etc.