SlideShare a Scribd company logo
International Research Journal of Engineering and Technology (IRJET) e-ISSN: 2395 -0056
Volume: 03 Issue: 02 | Feb-2016 www.irjet.net p-ISSN: 2395-0072
© 2016, IRJET | Impact Factor value: 4.45 | ISO 9001:2008 Certified Journal | Page 1536
LOSSLESS DATA COMPRESSION USING RICE ALGORITHM BASED ON
CURVE FITTING TECHNIQUE
Ginu Thomas1, GK Sadanandan2
1PG Student, ECE Department, Toc-H Institute of Science and Technology, Kochi, India
2Professor, ECE Department, Toc-H Institute of Science and Technology, Kochi, India
---------------------------------------------------------------------***---------------------------------------------------------------------
Abstract - Today, with the growing demands of
information storage and data transfer, data compression is
becoming greatly important. Data Compressionisatechnique
which is used to decrease the size of original data. This is very
useful when some huge files have to be transferred over
networks or being stored on a datastoragedevice. Thisproject
aims at the implementation of a lossless data compression
system using the Rice algorithm using the mathematicalcurve
fitting models. The Rice algorithm exploits a set of variable-
length codes to achieve compression. This is done using a two-
stage compressor, namely, a pre-processing stage followed by
an adaptive entropy coder. A function is generated based on
the input data sets that can be used to find points anywhere
along the curve. A comparison between the data compression
of modified Rice algorithm and ordinary Ricealgorithmisalso
presented. The design can be implemented in VHDL using
Modelsim.
Key Words: Fundamental sequence, Adaptive Entropy
Coder, Consultative Committee for Space Applications, Joint
Photographic Experts Group
1.INTRODUCTION
The spread of computing has led to an explosion in
the volume of data to be stored on hard disks and sent over
the Internet. This growth has led to a need for data
compression. Data compression is a process by which a file
may be transformed to another file, such thattheoriginal file
may be fully recovered from the original filewithoutanyloss
of actual information. This process may be useful if one
wants to save the storage space. For example if one wants to
store a 4MB file, it may be preferable to first compress it to a
smaller size to save the storage space. Also these
compressed files are much more easily exchanged over the
internet since they upload and download much faster. Data
compression is a method of encoding rules that allows
substantial reduction in the total number of bits to store or
transmit a file. The more information being dealt with, the
more it costs in terms of storage and transmission costs. In
short, Data Compression is the process of encoding data to
fewer bits than the original representation so that it takes
less storage space and less transmission time while
communicating over a network.
There are mainly lossless and lossy forms of data
compression. A lossy data compression method is one
where the data retrieves after decompression may not be
exactly the same as that of original data. Some examples of
lossy data compression algorithms are JPEG, MP3. Lossless
data compression is a technique that allows the exact
original data to be reconstructed from the compressed data.
This is in contrary to the lossy data compression in which
the exact original data cannot be reconstructed from the
compressed data [8]. The Rice compression algorithmisone
example of a lossless compression algorithm which is
suitable for compression of certain types of data. This paper
is based on a lossless data compression Rice Algorithm as
recommended by the CCSDS for the reduction of required
test data amount.
In this work we propose a strategy for designing
optimum losslessdata compressionsystems.Inthefollowing
sections the algorithm is described, and then the
modification of this algorithm is done. Simulation of both
ordinary and modified algorithm and their comparison is
done.
2. RICE ALGORITHM
The Rice algorithm uses a set of variable-length codes to
achieve compression. Variable length coding is the
compression method in which shorter code words are
assigned to data that are expected to occur with higher
frequency [4].
A block diagram of the Rice algorithm is shown in
fig 1.1. It consists of two main functional parts: the
preprocessor and an adaptive entropy coder. The
preprocessor is used to decorrelate the input sample by
taking the difference between the input data sample and the
previous data sample. Adaptive entropy coder consists of
number of options and each option the total number of bits
is calculated and the coding option that yields the least
number of bits is selected which is our compressed data.
International Research Journal of Engineering and Technology (IRJET) e-ISSN: 2395 -0056
Volume: 03 Issue: 02 | Feb-2016 www.irjet.net p-ISSN: 2395-0072
© 2016, IRJET | Impact Factor value: 4.45 | ISO 9001:2008 Certified Journal | Page 1537
Fig: 2.1 Rice Algorithm
2.1 The Preprocessor
The preprocessing is done by using a unit delay
followed by a prediction error mapper. The preprocessor is
used to decorrelate data samples and subsequently map
them into symbols suitable for the entropy coding stage [6].
2.1.1 Unit delay predictor
One of the simplest predictive coders is a linear first-order
unit-delay which is shown in fig 2.1
Fig: 2..2 Unit Delay Predictor
The input data to the preprocessor, x, is a J-sample block of
n-bit samples:
x = x1, x2, . . . xJ.
The output, Δi, will be the difference between the input data
symbol and the preceding data sample.
2.1.2 Mapper
Based on the predicted value 𝑥𝑖 , the prediction error mapper
converts each prediction error value, Δi, to an n-bit nonnegative
integer, δi, suitable for processing by the entropy coder[5]. The
preprocessor transforms input data into blocks of
preprocessed samples, δi, where:
δi = δ1, δ2, . . . δJ.
The prediction error mapping function is given by
 = minimum (xiˆ– xmin, xmax – xiˆ)
Where Δi is the prediction error produced by the predictor,
xmin and xmax denote theminimumandmaximumvaluesof
any input sample xi.
Table 1.1 illustrates the operation of the prediction error
mapper of 8-bit data samples of values from 0 to 255.
Sample
value ix
Predictor
value xiˆ
Δi  i
δi
38 - - - -
65 38 27 38 54
100 65 35 65 70
123 100 23 100 46
159 123 36 123 72
201 159 42 96 84
220 201 19 54 38
250 220 30 35 60
Table 1.1 Operation of Error Mapper
2.2 Adaptive Entropy Coder
The Adaptive Encoder converts preprocessed
samples, δi, into an encoded bit sequence y. The entropy
coding module is a collection of variable-length codes
operating in parallel on blocks of J preprocessed samples.
For each block, the coding option achieving the best
compression is selected to encode the block. The encoded
block is preceded by an ID bit pattern that identifies the
coding option to the decoder.
The different compression options available are:
 Fundamental sequence encoding
 The split-sample options
 Zero block option
 No compression option
2.2.1 Fundamental Sequence Encoding
For the FS code we recognize that each ' 1' digit signals the
end of a code word, and the number of preceding zeros
identifies which symbol was transmitted. This simple
encoding procedure allows FS codewords to be decoded
without the use of lookup tables [6].
International Research Journal of Engineering and Technology (IRJET) e-ISSN: 2395 -0056
Volume: 03 Issue: 02 | Feb-2016 www.irjet.net p-ISSN: 2395-0072
© 2016, IRJET | Impact Factor value: 4.45 | ISO 9001:2008 Certified Journal | Page 1538
2.2.2 Split Sample option
Most of the options in the entropy coder are called 'split-
sample options'. The kth splitsample option takes a blockofJ
preprocessed data samples, splits off the k least significant
bits (LSB) from each sample and encodes the remaining
higher order bits with a simple FS codeword before
appending the split bits to the encoded FS data stream [6].
Table 2.1 shows some examples of split sample options.
Table 2.1: Example of Split Sample Options
2.2.3 Zero Block Option
The Zero-Block option is selectedwhenoneormore
blocks of preprocessed samples are all zeros.Inthiscase,the
numbers of adjacent all zero preprocessed blocks are
encoded by an FS code word.
2.2.4 No compression option
When none of the above options provides any data
compression on a block, the no compression option is
selected. Under this option, the preprocessedblock ofdata is
transmitted without alteration except for a prefixed
identifier.
3. MODIFIED RICE ALGORITHM USING CURVE
FITTING TECHNIQUE
Curve fitting is the process of a curve or a
mathematical function that best suits to a set of data points.
An equation is produced by curve fitting that can be used to
find points anywhere along the curve. Thus prediction of
next data value (𝑥ˆ𝑖) is possible with this method [5]. It
captures the trend in the data by assigning a single function
across the entire range.
3.1 Polynomial Curve Fitting Method
The general form of a polynomial is given by


j
k
k
k xaaxf
1
0)(
The goal is to identify the coefficients 0a and ka such that
f(x) fits the data well. Add up the length of data points and
this gives the expression of the ‘error’ between data and
fitted line. The curve that provides a minimum error is then
the best curve, using least squares methodm[1]. Thegeneral
expression for any error using the least squaresapproachis:
The best line has minimum error between line and data
points. This is called the least squares approach, since we
minimize the square of the error [1]. Substitute the form of
eq. (2) into general least square error eq. (1), we get
Error=  

j
k
k
k
n
i
i xaay
1
2
0
1
))((
Where n-number of data points, i-current data point, j-order
of the polynomial.
The best suited curve will give minimum error between line
and data points. So the objective is to minimize the eq. (3)
and also find the corresponding values of the
coefficients 0a , ka . To minimizeeq. (3),takethederivativeof
error with respect to each coefficient 0a , ka wherek=1,2….j,
set each value to zero. Representing the equation using a
matrix form as follows as:
















 ji
i
j
i
j
i
xx
xn
...
.........
...
















ja
a
a
a
:
2
1
0
=


























j
i
i
i
i
ii
i
y
yx
yx
y
:
2
To know the value of 0a , ka ,solve eq. (4).For that take
















 ji
i
j
i
j
i
xx
xn
...
.........
...
















ja
a
a
a
:
2
1
0
(1)
(2)
(3)
(4)
A=
X=
International Research Journal of Engineering and Technology (IRJET) e-ISSN: 2395 -0056
Volume: 03 Issue: 02 | Feb-2016 www.irjet.net p-ISSN: 2395-0072
© 2016, IRJET | Impact Factor value: 4.45 | ISO 9001:2008 Certified Journal | Page 1539


























j
i
i
i
i
ii
i
y
yx
yx
y
:
2
The following solution method can be used:
AX=B
Using built in Mathcad matrix inversion, the coefficients
the values of coefficients a 0a , ka are solved.
>> X = A
1
*B
Finally a polynomial equation that fits for the data points is
obtained. The coefficient values are then quantized; these
values are then implemented in the function whichisused to
predict the next set of values [6].
4. SIMULATION RESULTS AND DISCUSSION
4.1 Rice Algorithm
The first stage is preprocessor which is used to decorrelate
the input sample. The next data value is basedonthecurrent
data value. The Table 4.1 shows the first sage output using
ordinary Rice Algorithm.
Table 4.1 Output obtained during mapping using Rice
algorithm
Fig. 4.1 Output waveform of Rice algorithm showing
compressed data
Simulation result for Rice algorithm is shown in fig 4.1 using
Modelsim. Here the 5thsplit sample option(byte7)ischosen
as the minimum number of bits when compared with other
options used, which is the compressed data.
4.2 Modified Rice Algorithm
In Modified Rice algorithm the next data valueisobtained by
using a curve fitting function based on the function
generated, so that we can compress more data. The table 4.2
shows the output sage of preprocessor in modified Rice
algorithm.
Table 4.2: Output obtained during mapping using modified
Rice algorithm
Fig 4.2 Curve fitted values obtained using modified RICE
algorithm in Matlab.
The next data values obtained during mapping using
modified rice algorithm is shown in fig 4.2. Function values
are obtained through curve fitting method using Matlab.
Fig 4.3 Simulation result in Matlab: Graph showing 8 input
samples and curve fitting function
B =
International Research Journal of Engineering and Technology (IRJET) e-ISSN: 2395 -0056
Volume: 03 Issue: 02 | Feb-2016 www.irjet.net p-ISSN: 2395-0072
© 2016, IRJET | Impact Factor value: 4.45 | ISO 9001:2008 Certified Journal | Page 1540
Fig 4.4 Simulation result in ModelSim: output waveform of
modified rice algorithm showing compressed data
Here the 2nd split sample option (byte4) is chosen as the
minimum number of bits whencomparedwithotheroptions
used, which is the compressed data.
For the above example the number of bits in compressed
data is 30 (Fig 4.4) when modified rice algorithm is used.
Whereas the number of bits in compressed data is 52 (Fig:
4.1) when modified rice algorithm is used. Thus the number
of bits of compressed data reduces when modified rice
algorithm is used.
4. COMPARISON BETWEEN RICE ALGORITHM
AND MODIFIED RICE ALGORITHM
1. In rice algorithm, we predict that the next data
which is similar to that of the current data.Whereas
in modified rice algorithm based on curve fitting, a
function is developed for the given set of inputs [5]
and so the next data value can be predicted
according to the function which results in smaller δ
values. Hence we can compress more data.
2. Higher compression is possible when modifiedRice
algorithm is applied to a set of inputs.
3. In rice algorithm, after compression while sending
the data to the receiver, a reference, (n-1) values of
δ and the ID corresponding to the compression
option used are transmitted. Whereas in modified
rice algorithm the function coefficients, n values of
δ and the ID corresponding to the compression
option are transmitted to the receiver.
5. CONCLUSIONS
In this paper, a comparison between the Rice
algorithm and modified Rice algorithm is done. The basic
idea behind Rice coding is to store as many words as
possible with less bits than in the original representation o
that we can reduce the storage volume. In the case of
ordinary Rice algorithm, the next data value is based on the
current data value but in the case of modified rice algorithm
with curve fitting, a function is generated based on the input
data set, with which upcoming values are predicted. These
predicted values will be small and hence we can compress
more data’s as compared to ordinary Rice algorithm. Thus
later method finds numerous applications in most of the
industries especially in space applications. The simulation
result shows that thedata iscompressedmorewithmodified
rice algorithm.
REFERENCES
[1] Gurley, Numerical Methods Lecture 5 - Curve Fitting
Techniques, Computer Methods
[2] Armein Z. R. Langi, “An FPGA Implementation of a
Simple Lossless Data Compression Coprocessor”, IEEE,
17-19 July 2011
[3] CCSDS (Consultative committeeforspacedata systems),
GREEN BOOK ISSUE-2, December 2006
[4] R. F. Rice and J. R. Plaunt, “Adaptive variable length
coding for efficient compression of spacecrafttelevision
data,” IEEE Trans. Commun. Techno. Vol.COM-19,partI,
pp. 889-897, Dec. 1971.
[5] Pratheeka Paulose, “Implementation Of Modified Rice
Algorithm Based On Curve Fitting Techniques”,
International Journal of Advanced Research in Electrical,
Electronics and Instrumentation Engineering, Vol. 2,
Issue 6, June 2013
[6] Rakhee Sasi, “CCSDS Lossless Data Compression
Algorithm in FPGA for Space Applications” International
Journal of Engineering and Advanced Technology,
Volume-2, pp: 2249 – 8958 ,Issue-6, August 2013
[7] Salvatore Coco, Valentina D’Arrigo,DomenicoGiunta, “A
Rice-Based Lossless Data Compression System For
Space Applications”, pp. 377-381, July 2015
[8] Amarjit Kaur, “A Review on Data Compression
Techniques”, IJARCSSE, Volume 5, Issue 1, January2015
[9] Udaya Kumar H, Madhu B C, “Design and
Implementation of Lossless Data Compression
Coprocessor using FPGA”, IJERT, Vol. 4 Issue 05, May-
2015
Ad

Recommended

PDF
Modified approximate 8-point multiplier less DCT like transform
IJERA Editor
 
PDF
Hamming net based Low Complexity Successive Cancellation Polar Decoder
RSIS International
 
PDF
CR_CSI_119
Rajkumar Rathod
 
PDF
Hangul Recognition Using Support Vector Machine
Editor IJCATR
 
PDF
High Speed VLSI Architecture for AES-Galois/Counter Mode
IJERA Editor
 
PDF
Reversed-Trellis Tail-Biting Convolutional Code (RT-TBCC) Decoder Architectur...
IJECEIAES
 
PDF
COMPUTER COMMUNICATION NETWORKS -IPv4
Krishna Nanda
 
PDF
Design and implementation of log domain decoder
IJECEIAES
 
PDF
A 2 stage data word packet communication decoder using rate 1-by-3 viterbi de...
eSAT Journals
 
PDF
RTL DESIGN OF EFFICIENT MODIFIED RUN-LENGTH ENCODING ARCHITECTURES USING VERI...
IAEME Publication
 
PDF
E010422834
IOSR Journals
 
PPT
Network coding
Lishi He
 
PDF
BPSC Previous Year Question for AP, ANE, AME, ADA, AE
Engr. Md. Jamal Uddin Rayhan
 
PDF
Combined Bank Question Solution(Updated) 25/10/2021 Assistant Hardware Engine...
Engr. Md. Jamal Uddin Rayhan
 
PDF
Combined 2 Bank Compiled Post: SO(IT) Date: 25.09.2021 Taker: AUST
Engr. Md. Jamal Uddin Rayhan
 
PDF
PERFORMANCE EVALUATION OF JPEG IMAGE COMPRESSION USING SYMBOL REDUCTION TECHN...
cscpconf
 
PDF
IRJET- Finding Dominant Color in the Artistic Painting using Data Mining ...
IRJET Journal
 
PDF
Implementation of an arithmetic logic using area efficient carry lookahead adder
VLSICS Design
 
PDF
Hardware Implementations of RS Decoding Algorithm for Multi-Gb/s Communicatio...
RSIS International
 
PDF
A Novel Low Complexity Histogram Algorithm for High Performance Image Process...
IRJET Journal
 
PDF
D0151724
IOSR Journals
 
PDF
Bank Question Solution-ADBA Previous Year Question for AP, ANE, AME, ADA, AE
Engr. Md. Jamal Uddin Rayhan
 
PDF
Systematic error codes implimentation for matched data encoded 47405
EditorIJAERD
 
PDF
Bt32444450
IJERA Editor
 
PDF
Investigative Compression Of Lossy Images By Enactment Of Lattice Vector Quan...
IJERA Editor
 
PDF
DESIGN AND VHDL IMPLEMENTATION OF 64-POINT FFT USING TWO STRUCTURE 8-POINT FF...
Journal For Research
 
PDF
Implementation and validation of multiplier less fpga based digital filter
IAEME Publication
 
PPTX
A short introduction to Network coding
Arash Pourdamghani
 
PPT
Compression techniques
m_divya_bharathi
 
PDF
Compression tech
Sharafat Husen
 

More Related Content

What's hot (20)

PDF
A 2 stage data word packet communication decoder using rate 1-by-3 viterbi de...
eSAT Journals
 
PDF
RTL DESIGN OF EFFICIENT MODIFIED RUN-LENGTH ENCODING ARCHITECTURES USING VERI...
IAEME Publication
 
PDF
E010422834
IOSR Journals
 
PPT
Network coding
Lishi He
 
PDF
BPSC Previous Year Question for AP, ANE, AME, ADA, AE
Engr. Md. Jamal Uddin Rayhan
 
PDF
Combined Bank Question Solution(Updated) 25/10/2021 Assistant Hardware Engine...
Engr. Md. Jamal Uddin Rayhan
 
PDF
Combined 2 Bank Compiled Post: SO(IT) Date: 25.09.2021 Taker: AUST
Engr. Md. Jamal Uddin Rayhan
 
PDF
PERFORMANCE EVALUATION OF JPEG IMAGE COMPRESSION USING SYMBOL REDUCTION TECHN...
cscpconf
 
PDF
IRJET- Finding Dominant Color in the Artistic Painting using Data Mining ...
IRJET Journal
 
PDF
Implementation of an arithmetic logic using area efficient carry lookahead adder
VLSICS Design
 
PDF
Hardware Implementations of RS Decoding Algorithm for Multi-Gb/s Communicatio...
RSIS International
 
PDF
A Novel Low Complexity Histogram Algorithm for High Performance Image Process...
IRJET Journal
 
PDF
D0151724
IOSR Journals
 
PDF
Bank Question Solution-ADBA Previous Year Question for AP, ANE, AME, ADA, AE
Engr. Md. Jamal Uddin Rayhan
 
PDF
Systematic error codes implimentation for matched data encoded 47405
EditorIJAERD
 
PDF
Bt32444450
IJERA Editor
 
PDF
Investigative Compression Of Lossy Images By Enactment Of Lattice Vector Quan...
IJERA Editor
 
PDF
DESIGN AND VHDL IMPLEMENTATION OF 64-POINT FFT USING TWO STRUCTURE 8-POINT FF...
Journal For Research
 
PDF
Implementation and validation of multiplier less fpga based digital filter
IAEME Publication
 
PPTX
A short introduction to Network coding
Arash Pourdamghani
 
A 2 stage data word packet communication decoder using rate 1-by-3 viterbi de...
eSAT Journals
 
RTL DESIGN OF EFFICIENT MODIFIED RUN-LENGTH ENCODING ARCHITECTURES USING VERI...
IAEME Publication
 
E010422834
IOSR Journals
 
Network coding
Lishi He
 
BPSC Previous Year Question for AP, ANE, AME, ADA, AE
Engr. Md. Jamal Uddin Rayhan
 
Combined Bank Question Solution(Updated) 25/10/2021 Assistant Hardware Engine...
Engr. Md. Jamal Uddin Rayhan
 
Combined 2 Bank Compiled Post: SO(IT) Date: 25.09.2021 Taker: AUST
Engr. Md. Jamal Uddin Rayhan
 
PERFORMANCE EVALUATION OF JPEG IMAGE COMPRESSION USING SYMBOL REDUCTION TECHN...
cscpconf
 
IRJET- Finding Dominant Color in the Artistic Painting using Data Mining ...
IRJET Journal
 
Implementation of an arithmetic logic using area efficient carry lookahead adder
VLSICS Design
 
Hardware Implementations of RS Decoding Algorithm for Multi-Gb/s Communicatio...
RSIS International
 
A Novel Low Complexity Histogram Algorithm for High Performance Image Process...
IRJET Journal
 
D0151724
IOSR Journals
 
Bank Question Solution-ADBA Previous Year Question for AP, ANE, AME, ADA, AE
Engr. Md. Jamal Uddin Rayhan
 
Systematic error codes implimentation for matched data encoded 47405
EditorIJAERD
 
Bt32444450
IJERA Editor
 
Investigative Compression Of Lossy Images By Enactment Of Lattice Vector Quan...
IJERA Editor
 
DESIGN AND VHDL IMPLEMENTATION OF 64-POINT FFT USING TWO STRUCTURE 8-POINT FF...
Journal For Research
 
Implementation and validation of multiplier less fpga based digital filter
IAEME Publication
 
A short introduction to Network coding
Arash Pourdamghani
 

Similar to Lossless Data Compression Using Rice Algorithm Based On Curve Fitting Technique (20)

PPT
Compression techniques
m_divya_bharathi
 
PDF
Compression tech
Sharafat Husen
 
PPTX
Introduction to data compression.pptx
jesna40
 
PPTX
A new algorithm for data compression technique using vlsi
Tejeswar Tej
 
PPT
Image compression1.ppt
ssuser812128
 
PPT
Mmclass2
Hassan Dar
 
PDF
B046050711
IJERA Editor
 
PPT
Quasi succinct indices
Han Jiang
 
PDF
Advanced compression technique for random data
ijitjournal
 
PDF
data_compression.pdf explains different
Jatin Patil
 
DOCX
Divide-and-Conquer & Dynamic ProgrammingDivide-and-Conqu.docx
jacksnathalie
 
PDF
cp467_12_lecture14_image compression1.pdf
shaikmoosa2003
 
PPTX
dc module1 part 1.pptx
AzmiNizar1
 
PDF
Composed short m sequences
IAEME Publication
 
PDF
Dictionary Based Compression
anithabalaprabhu
 
PPTX
Digital Communication Exam Help
Live Exam Helper
 
PPT
Compressionbasics
Rohini R Iyer
 
PPTX
Data Compression Project Presentation
Myuran Kanga, MS, MBA
 
PPT
ImageCompression.ppt
ssuser6d1fca
 
PPT
ImageCompression.ppt
dudoo1
 
Compression techniques
m_divya_bharathi
 
Compression tech
Sharafat Husen
 
Introduction to data compression.pptx
jesna40
 
A new algorithm for data compression technique using vlsi
Tejeswar Tej
 
Image compression1.ppt
ssuser812128
 
Mmclass2
Hassan Dar
 
B046050711
IJERA Editor
 
Quasi succinct indices
Han Jiang
 
Advanced compression technique for random data
ijitjournal
 
data_compression.pdf explains different
Jatin Patil
 
Divide-and-Conquer & Dynamic ProgrammingDivide-and-Conqu.docx
jacksnathalie
 
cp467_12_lecture14_image compression1.pdf
shaikmoosa2003
 
dc module1 part 1.pptx
AzmiNizar1
 
Composed short m sequences
IAEME Publication
 
Dictionary Based Compression
anithabalaprabhu
 
Digital Communication Exam Help
Live Exam Helper
 
Compressionbasics
Rohini R Iyer
 
Data Compression Project Presentation
Myuran Kanga, MS, MBA
 
ImageCompression.ppt
ssuser6d1fca
 
ImageCompression.ppt
dudoo1
 
Ad

More from IRJET Journal (20)

PDF
Enhanced heart disease prediction using SKNDGR ensemble Machine Learning Model
IRJET Journal
 
PDF
Utilizing Biomedical Waste for Sustainable Brick Manufacturing: A Novel Appro...
IRJET Journal
 
PDF
Kiona – A Smart Society Automation Project
IRJET Journal
 
PDF
DESIGN AND DEVELOPMENT OF BATTERY THERMAL MANAGEMENT SYSTEM USING PHASE CHANG...
IRJET Journal
 
PDF
Invest in Innovation: Empowering Ideas through Blockchain Based Crowdfunding
IRJET Journal
 
PDF
SPACE WATCH YOUR REAL-TIME SPACE INFORMATION HUB
IRJET Journal
 
PDF
A Review on Influence of Fluid Viscous Damper on The Behaviour of Multi-store...
IRJET Journal
 
PDF
Wireless Arduino Control via Mobile: Eliminating the Need for a Dedicated Wir...
IRJET Journal
 
PDF
Explainable AI(XAI) using LIME and Disease Detection in Mango Leaf by Transfe...
IRJET Journal
 
PDF
BRAIN TUMOUR DETECTION AND CLASSIFICATION
IRJET Journal
 
PDF
The Project Manager as an ambassador of the contract. The case of NEC4 ECC co...
IRJET Journal
 
PDF
"Enhanced Heat Transfer Performance in Shell and Tube Heat Exchangers: A CFD ...
IRJET Journal
 
PDF
Advancements in CFD Analysis of Shell and Tube Heat Exchangers with Nanofluid...
IRJET Journal
 
PDF
Breast Cancer Detection using Computer Vision
IRJET Journal
 
PDF
Auto-Charging E-Vehicle with its battery Management.
IRJET Journal
 
PDF
Analysis of high energy charge particle in the Heliosphere
IRJET Journal
 
PDF
A Novel System for Recommending Agricultural Crops Using Machine Learning App...
IRJET Journal
 
PDF
Auto-Charging E-Vehicle with its battery Management.
IRJET Journal
 
PDF
Analysis of high energy charge particle in the Heliosphere
IRJET Journal
 
PDF
Wireless Arduino Control via Mobile: Eliminating the Need for a Dedicated Wir...
IRJET Journal
 
Enhanced heart disease prediction using SKNDGR ensemble Machine Learning Model
IRJET Journal
 
Utilizing Biomedical Waste for Sustainable Brick Manufacturing: A Novel Appro...
IRJET Journal
 
Kiona – A Smart Society Automation Project
IRJET Journal
 
DESIGN AND DEVELOPMENT OF BATTERY THERMAL MANAGEMENT SYSTEM USING PHASE CHANG...
IRJET Journal
 
Invest in Innovation: Empowering Ideas through Blockchain Based Crowdfunding
IRJET Journal
 
SPACE WATCH YOUR REAL-TIME SPACE INFORMATION HUB
IRJET Journal
 
A Review on Influence of Fluid Viscous Damper on The Behaviour of Multi-store...
IRJET Journal
 
Wireless Arduino Control via Mobile: Eliminating the Need for a Dedicated Wir...
IRJET Journal
 
Explainable AI(XAI) using LIME and Disease Detection in Mango Leaf by Transfe...
IRJET Journal
 
BRAIN TUMOUR DETECTION AND CLASSIFICATION
IRJET Journal
 
The Project Manager as an ambassador of the contract. The case of NEC4 ECC co...
IRJET Journal
 
"Enhanced Heat Transfer Performance in Shell and Tube Heat Exchangers: A CFD ...
IRJET Journal
 
Advancements in CFD Analysis of Shell and Tube Heat Exchangers with Nanofluid...
IRJET Journal
 
Breast Cancer Detection using Computer Vision
IRJET Journal
 
Auto-Charging E-Vehicle with its battery Management.
IRJET Journal
 
Analysis of high energy charge particle in the Heliosphere
IRJET Journal
 
A Novel System for Recommending Agricultural Crops Using Machine Learning App...
IRJET Journal
 
Auto-Charging E-Vehicle with its battery Management.
IRJET Journal
 
Analysis of high energy charge particle in the Heliosphere
IRJET Journal
 
Wireless Arduino Control via Mobile: Eliminating the Need for a Dedicated Wir...
IRJET Journal
 
Ad

Recently uploaded (20)

PPTX
Data Structures Module 3 Binary Trees Binary Search Trees Tree Traversals AVL...
resming1
 
PPTX
CST413 KTU S7 CSE Machine Learning Clustering K Means Hierarchical Agglomerat...
resming1
 
PPTX
retina_biometrics ruet rajshahi bangdesh.pptx
MdRakibulIslam697135
 
PPTX
Introduction to Python Programming Language
merlinjohnsy
 
PDF
تقرير عن التحليل الديناميكي لتدفق الهواء حول جناح.pdf
محمد قصص فتوتة
 
PPTX
Kel.3_A_Review_on_Internet_of_Things_for_Defense_v3.pptx
Endang Saefullah
 
PDF
Structured Programming with C++ :: Kjell Backman
Shabista Imam
 
PDF
May 2025: Top 10 Read Articles in Data Mining & Knowledge Management Process
IJDKP
 
PDF
special_edition_using_visual_foxpro_6.pdf
Shabista Imam
 
PDF
Rapid Prototyping for XR: Lecture 1 Introduction to Prototyping
Mark Billinghurst
 
PDF
Rapid Prototyping for XR: Lecture 3 - Video and Paper Prototyping
Mark Billinghurst
 
PPTX
Tesla-Stock-Analysis-and-Forecast.pptx (1).pptx
moonsony54
 
PPTX
Introduction to sensing and Week-1.pptx
KNaveenKumarECE
 
PDF
System design handwritten notes guidance
Shabista Imam
 
PDF
Abraham Silberschatz-Operating System Concepts (9th,2012.12).pdf
Shabista Imam
 
PPTX
NEW Strengthened Senior High School Gen Math.pptx
DaryllWhere
 
PPTX
Solar thermal – Flat plate and concentrating collectors .pptx
jdaniabraham1
 
PDF
Validating a Citizen Observatories enabling Platform by completing a Citizen ...
Diego López-de-Ipiña González-de-Artaza
 
PDF
Rapid Prototyping for XR: Lecture 5 - Cross Platform Development
Mark Billinghurst
 
PDF
輪読会資料_Miipher and Miipher2 .
NABLAS株式会社
 
Data Structures Module 3 Binary Trees Binary Search Trees Tree Traversals AVL...
resming1
 
CST413 KTU S7 CSE Machine Learning Clustering K Means Hierarchical Agglomerat...
resming1
 
retina_biometrics ruet rajshahi bangdesh.pptx
MdRakibulIslam697135
 
Introduction to Python Programming Language
merlinjohnsy
 
تقرير عن التحليل الديناميكي لتدفق الهواء حول جناح.pdf
محمد قصص فتوتة
 
Kel.3_A_Review_on_Internet_of_Things_for_Defense_v3.pptx
Endang Saefullah
 
Structured Programming with C++ :: Kjell Backman
Shabista Imam
 
May 2025: Top 10 Read Articles in Data Mining & Knowledge Management Process
IJDKP
 
special_edition_using_visual_foxpro_6.pdf
Shabista Imam
 
Rapid Prototyping for XR: Lecture 1 Introduction to Prototyping
Mark Billinghurst
 
Rapid Prototyping for XR: Lecture 3 - Video and Paper Prototyping
Mark Billinghurst
 
Tesla-Stock-Analysis-and-Forecast.pptx (1).pptx
moonsony54
 
Introduction to sensing and Week-1.pptx
KNaveenKumarECE
 
System design handwritten notes guidance
Shabista Imam
 
Abraham Silberschatz-Operating System Concepts (9th,2012.12).pdf
Shabista Imam
 
NEW Strengthened Senior High School Gen Math.pptx
DaryllWhere
 
Solar thermal – Flat plate and concentrating collectors .pptx
jdaniabraham1
 
Validating a Citizen Observatories enabling Platform by completing a Citizen ...
Diego López-de-Ipiña González-de-Artaza
 
Rapid Prototyping for XR: Lecture 5 - Cross Platform Development
Mark Billinghurst
 
輪読会資料_Miipher and Miipher2 .
NABLAS株式会社
 

Lossless Data Compression Using Rice Algorithm Based On Curve Fitting Technique

  • 1. International Research Journal of Engineering and Technology (IRJET) e-ISSN: 2395 -0056 Volume: 03 Issue: 02 | Feb-2016 www.irjet.net p-ISSN: 2395-0072 © 2016, IRJET | Impact Factor value: 4.45 | ISO 9001:2008 Certified Journal | Page 1536 LOSSLESS DATA COMPRESSION USING RICE ALGORITHM BASED ON CURVE FITTING TECHNIQUE Ginu Thomas1, GK Sadanandan2 1PG Student, ECE Department, Toc-H Institute of Science and Technology, Kochi, India 2Professor, ECE Department, Toc-H Institute of Science and Technology, Kochi, India ---------------------------------------------------------------------***--------------------------------------------------------------------- Abstract - Today, with the growing demands of information storage and data transfer, data compression is becoming greatly important. Data Compressionisatechnique which is used to decrease the size of original data. This is very useful when some huge files have to be transferred over networks or being stored on a datastoragedevice. Thisproject aims at the implementation of a lossless data compression system using the Rice algorithm using the mathematicalcurve fitting models. The Rice algorithm exploits a set of variable- length codes to achieve compression. This is done using a two- stage compressor, namely, a pre-processing stage followed by an adaptive entropy coder. A function is generated based on the input data sets that can be used to find points anywhere along the curve. A comparison between the data compression of modified Rice algorithm and ordinary Ricealgorithmisalso presented. The design can be implemented in VHDL using Modelsim. Key Words: Fundamental sequence, Adaptive Entropy Coder, Consultative Committee for Space Applications, Joint Photographic Experts Group 1.INTRODUCTION The spread of computing has led to an explosion in the volume of data to be stored on hard disks and sent over the Internet. This growth has led to a need for data compression. Data compression is a process by which a file may be transformed to another file, such thattheoriginal file may be fully recovered from the original filewithoutanyloss of actual information. This process may be useful if one wants to save the storage space. For example if one wants to store a 4MB file, it may be preferable to first compress it to a smaller size to save the storage space. Also these compressed files are much more easily exchanged over the internet since they upload and download much faster. Data compression is a method of encoding rules that allows substantial reduction in the total number of bits to store or transmit a file. The more information being dealt with, the more it costs in terms of storage and transmission costs. In short, Data Compression is the process of encoding data to fewer bits than the original representation so that it takes less storage space and less transmission time while communicating over a network. There are mainly lossless and lossy forms of data compression. A lossy data compression method is one where the data retrieves after decompression may not be exactly the same as that of original data. Some examples of lossy data compression algorithms are JPEG, MP3. Lossless data compression is a technique that allows the exact original data to be reconstructed from the compressed data. This is in contrary to the lossy data compression in which the exact original data cannot be reconstructed from the compressed data [8]. The Rice compression algorithmisone example of a lossless compression algorithm which is suitable for compression of certain types of data. This paper is based on a lossless data compression Rice Algorithm as recommended by the CCSDS for the reduction of required test data amount. In this work we propose a strategy for designing optimum losslessdata compressionsystems.Inthefollowing sections the algorithm is described, and then the modification of this algorithm is done. Simulation of both ordinary and modified algorithm and their comparison is done. 2. RICE ALGORITHM The Rice algorithm uses a set of variable-length codes to achieve compression. Variable length coding is the compression method in which shorter code words are assigned to data that are expected to occur with higher frequency [4]. A block diagram of the Rice algorithm is shown in fig 1.1. It consists of two main functional parts: the preprocessor and an adaptive entropy coder. The preprocessor is used to decorrelate the input sample by taking the difference between the input data sample and the previous data sample. Adaptive entropy coder consists of number of options and each option the total number of bits is calculated and the coding option that yields the least number of bits is selected which is our compressed data.
  • 2. International Research Journal of Engineering and Technology (IRJET) e-ISSN: 2395 -0056 Volume: 03 Issue: 02 | Feb-2016 www.irjet.net p-ISSN: 2395-0072 © 2016, IRJET | Impact Factor value: 4.45 | ISO 9001:2008 Certified Journal | Page 1537 Fig: 2.1 Rice Algorithm 2.1 The Preprocessor The preprocessing is done by using a unit delay followed by a prediction error mapper. The preprocessor is used to decorrelate data samples and subsequently map them into symbols suitable for the entropy coding stage [6]. 2.1.1 Unit delay predictor One of the simplest predictive coders is a linear first-order unit-delay which is shown in fig 2.1 Fig: 2..2 Unit Delay Predictor The input data to the preprocessor, x, is a J-sample block of n-bit samples: x = x1, x2, . . . xJ. The output, Δi, will be the difference between the input data symbol and the preceding data sample. 2.1.2 Mapper Based on the predicted value 𝑥𝑖 , the prediction error mapper converts each prediction error value, Δi, to an n-bit nonnegative integer, δi, suitable for processing by the entropy coder[5]. The preprocessor transforms input data into blocks of preprocessed samples, δi, where: δi = δ1, δ2, . . . δJ. The prediction error mapping function is given by  = minimum (xiˆ– xmin, xmax – xiˆ) Where Δi is the prediction error produced by the predictor, xmin and xmax denote theminimumandmaximumvaluesof any input sample xi. Table 1.1 illustrates the operation of the prediction error mapper of 8-bit data samples of values from 0 to 255. Sample value ix Predictor value xiˆ Δi  i δi 38 - - - - 65 38 27 38 54 100 65 35 65 70 123 100 23 100 46 159 123 36 123 72 201 159 42 96 84 220 201 19 54 38 250 220 30 35 60 Table 1.1 Operation of Error Mapper 2.2 Adaptive Entropy Coder The Adaptive Encoder converts preprocessed samples, δi, into an encoded bit sequence y. The entropy coding module is a collection of variable-length codes operating in parallel on blocks of J preprocessed samples. For each block, the coding option achieving the best compression is selected to encode the block. The encoded block is preceded by an ID bit pattern that identifies the coding option to the decoder. The different compression options available are:  Fundamental sequence encoding  The split-sample options  Zero block option  No compression option 2.2.1 Fundamental Sequence Encoding For the FS code we recognize that each ' 1' digit signals the end of a code word, and the number of preceding zeros identifies which symbol was transmitted. This simple encoding procedure allows FS codewords to be decoded without the use of lookup tables [6].
  • 3. International Research Journal of Engineering and Technology (IRJET) e-ISSN: 2395 -0056 Volume: 03 Issue: 02 | Feb-2016 www.irjet.net p-ISSN: 2395-0072 © 2016, IRJET | Impact Factor value: 4.45 | ISO 9001:2008 Certified Journal | Page 1538 2.2.2 Split Sample option Most of the options in the entropy coder are called 'split- sample options'. The kth splitsample option takes a blockofJ preprocessed data samples, splits off the k least significant bits (LSB) from each sample and encodes the remaining higher order bits with a simple FS codeword before appending the split bits to the encoded FS data stream [6]. Table 2.1 shows some examples of split sample options. Table 2.1: Example of Split Sample Options 2.2.3 Zero Block Option The Zero-Block option is selectedwhenoneormore blocks of preprocessed samples are all zeros.Inthiscase,the numbers of adjacent all zero preprocessed blocks are encoded by an FS code word. 2.2.4 No compression option When none of the above options provides any data compression on a block, the no compression option is selected. Under this option, the preprocessedblock ofdata is transmitted without alteration except for a prefixed identifier. 3. MODIFIED RICE ALGORITHM USING CURVE FITTING TECHNIQUE Curve fitting is the process of a curve or a mathematical function that best suits to a set of data points. An equation is produced by curve fitting that can be used to find points anywhere along the curve. Thus prediction of next data value (𝑥ˆ𝑖) is possible with this method [5]. It captures the trend in the data by assigning a single function across the entire range. 3.1 Polynomial Curve Fitting Method The general form of a polynomial is given by   j k k k xaaxf 1 0)( The goal is to identify the coefficients 0a and ka such that f(x) fits the data well. Add up the length of data points and this gives the expression of the ‘error’ between data and fitted line. The curve that provides a minimum error is then the best curve, using least squares methodm[1]. Thegeneral expression for any error using the least squaresapproachis: The best line has minimum error between line and data points. This is called the least squares approach, since we minimize the square of the error [1]. Substitute the form of eq. (2) into general least square error eq. (1), we get Error=    j k k k n i i xaay 1 2 0 1 ))(( Where n-number of data points, i-current data point, j-order of the polynomial. The best suited curve will give minimum error between line and data points. So the objective is to minimize the eq. (3) and also find the corresponding values of the coefficients 0a , ka . To minimizeeq. (3),takethederivativeof error with respect to each coefficient 0a , ka wherek=1,2….j, set each value to zero. Representing the equation using a matrix form as follows as:                  ji i j i j i xx xn ... ......... ...                 ja a a a : 2 1 0 =                           j i i i i ii i y yx yx y : 2 To know the value of 0a , ka ,solve eq. (4).For that take                  ji i j i j i xx xn ... ......... ...                 ja a a a : 2 1 0 (1) (2) (3) (4) A= X=
  • 4. International Research Journal of Engineering and Technology (IRJET) e-ISSN: 2395 -0056 Volume: 03 Issue: 02 | Feb-2016 www.irjet.net p-ISSN: 2395-0072 © 2016, IRJET | Impact Factor value: 4.45 | ISO 9001:2008 Certified Journal | Page 1539                           j i i i i ii i y yx yx y : 2 The following solution method can be used: AX=B Using built in Mathcad matrix inversion, the coefficients the values of coefficients a 0a , ka are solved. >> X = A 1 *B Finally a polynomial equation that fits for the data points is obtained. The coefficient values are then quantized; these values are then implemented in the function whichisused to predict the next set of values [6]. 4. SIMULATION RESULTS AND DISCUSSION 4.1 Rice Algorithm The first stage is preprocessor which is used to decorrelate the input sample. The next data value is basedonthecurrent data value. The Table 4.1 shows the first sage output using ordinary Rice Algorithm. Table 4.1 Output obtained during mapping using Rice algorithm Fig. 4.1 Output waveform of Rice algorithm showing compressed data Simulation result for Rice algorithm is shown in fig 4.1 using Modelsim. Here the 5thsplit sample option(byte7)ischosen as the minimum number of bits when compared with other options used, which is the compressed data. 4.2 Modified Rice Algorithm In Modified Rice algorithm the next data valueisobtained by using a curve fitting function based on the function generated, so that we can compress more data. The table 4.2 shows the output sage of preprocessor in modified Rice algorithm. Table 4.2: Output obtained during mapping using modified Rice algorithm Fig 4.2 Curve fitted values obtained using modified RICE algorithm in Matlab. The next data values obtained during mapping using modified rice algorithm is shown in fig 4.2. Function values are obtained through curve fitting method using Matlab. Fig 4.3 Simulation result in Matlab: Graph showing 8 input samples and curve fitting function B =
  • 5. International Research Journal of Engineering and Technology (IRJET) e-ISSN: 2395 -0056 Volume: 03 Issue: 02 | Feb-2016 www.irjet.net p-ISSN: 2395-0072 © 2016, IRJET | Impact Factor value: 4.45 | ISO 9001:2008 Certified Journal | Page 1540 Fig 4.4 Simulation result in ModelSim: output waveform of modified rice algorithm showing compressed data Here the 2nd split sample option (byte4) is chosen as the minimum number of bits whencomparedwithotheroptions used, which is the compressed data. For the above example the number of bits in compressed data is 30 (Fig 4.4) when modified rice algorithm is used. Whereas the number of bits in compressed data is 52 (Fig: 4.1) when modified rice algorithm is used. Thus the number of bits of compressed data reduces when modified rice algorithm is used. 4. COMPARISON BETWEEN RICE ALGORITHM AND MODIFIED RICE ALGORITHM 1. In rice algorithm, we predict that the next data which is similar to that of the current data.Whereas in modified rice algorithm based on curve fitting, a function is developed for the given set of inputs [5] and so the next data value can be predicted according to the function which results in smaller δ values. Hence we can compress more data. 2. Higher compression is possible when modifiedRice algorithm is applied to a set of inputs. 3. In rice algorithm, after compression while sending the data to the receiver, a reference, (n-1) values of δ and the ID corresponding to the compression option used are transmitted. Whereas in modified rice algorithm the function coefficients, n values of δ and the ID corresponding to the compression option are transmitted to the receiver. 5. CONCLUSIONS In this paper, a comparison between the Rice algorithm and modified Rice algorithm is done. The basic idea behind Rice coding is to store as many words as possible with less bits than in the original representation o that we can reduce the storage volume. In the case of ordinary Rice algorithm, the next data value is based on the current data value but in the case of modified rice algorithm with curve fitting, a function is generated based on the input data set, with which upcoming values are predicted. These predicted values will be small and hence we can compress more data’s as compared to ordinary Rice algorithm. Thus later method finds numerous applications in most of the industries especially in space applications. The simulation result shows that thedata iscompressedmorewithmodified rice algorithm. REFERENCES [1] Gurley, Numerical Methods Lecture 5 - Curve Fitting Techniques, Computer Methods [2] Armein Z. R. Langi, “An FPGA Implementation of a Simple Lossless Data Compression Coprocessor”, IEEE, 17-19 July 2011 [3] CCSDS (Consultative committeeforspacedata systems), GREEN BOOK ISSUE-2, December 2006 [4] R. F. Rice and J. R. Plaunt, “Adaptive variable length coding for efficient compression of spacecrafttelevision data,” IEEE Trans. Commun. Techno. Vol.COM-19,partI, pp. 889-897, Dec. 1971. [5] Pratheeka Paulose, “Implementation Of Modified Rice Algorithm Based On Curve Fitting Techniques”, International Journal of Advanced Research in Electrical, Electronics and Instrumentation Engineering, Vol. 2, Issue 6, June 2013 [6] Rakhee Sasi, “CCSDS Lossless Data Compression Algorithm in FPGA for Space Applications” International Journal of Engineering and Advanced Technology, Volume-2, pp: 2249 – 8958 ,Issue-6, August 2013 [7] Salvatore Coco, Valentina D’Arrigo,DomenicoGiunta, “A Rice-Based Lossless Data Compression System For Space Applications”, pp. 377-381, July 2015 [8] Amarjit Kaur, “A Review on Data Compression Techniques”, IJARCSSE, Volume 5, Issue 1, January2015 [9] Udaya Kumar H, Madhu B C, “Design and Implementation of Lossless Data Compression Coprocessor using FPGA”, IJERT, Vol. 4 Issue 05, May- 2015