Wavelet Compression of ECG Signals Using
SPIHT Algorithm
Mohammad Pooyan, Ali Taheri, Morteza Moazami-Goudarzi, Iman Saboori
Abstract— In this paper we present a novel approach for wavelet
compression of electrocardiogram (ECG) signals based on the set
partitioning in hierarchical trees (SPIHT) coding algorithm. SPIHT
algorithm has achieved prominent success in image compression.
Here we use a modified version of SPIHT for one dimensional
signals. We applied wavelet transform with SPIHT coding algorithm
on different records of MIT-BIH database. The results show the high
efficiency of this method in ECG compression.
Keywords— ECG compression, wavelet, SPIHT.
I. INTRODUCTION
LECTROCARDIOGRAM (ECG) signal is a very useful
source of information for physicians in diagnosing heart
abnormalities. With the increasing use of ECG in heart
diagnosis, such as 24 hour monitoring or in ambulatory
monitoring systems, the volume of ECG data that should be
stored or transmitted, has greatly increased. For example, a 3
channel, 24 hour ambulatory ECG, typically has storage
requirement of over 50 MB. Therefore we need to reduce the
data volume to decrease storage cost or make ECG signal
suitable and ready for transmission through common
communication channels such as phone line or mobile
channel. So, we need an effective data compression method.
The main goal of any compression technique is to achieve
maximum data reduction while preserving the significant
signal morphology features upon reconstruction. Data
compression methods have been mainly divided into two
major categories: 1) direct methods, in which actual signal
samples are analyzed (time domain), 2) transformational
methods, in which first apply a transform to the signal and do
spectral and energy distribution analysis of signals.
Examples of direct methods are: differential pulse code
modulation (DPCM), amplitude zone time epoch coding
(A TEC), turning point, coordinate reduction time encoding
system (CORTES), Fan algorithm, ASEC. Reference [1] is a
good review of some direct compression methods used in
ECG compression.
Manuscript received January 25, 2004.
M. Pooyan is with the Department of Electrical Engineering, Shahed
University, Tehran, Iran. (email: m pooyan@shahed.ac.ir).
A. Taheri and M. Moazami-Goudarzi are with the Faculty of Biomedical
Engineering, Amir Kabir University of Technology, Tehran, Iran (email:
ali.taherii@gmail.com, mmoazami@bme.aut.ac.ir).
I. Saboori is with the department of electrical Engineering, Amir Kabir
University of Technology, Tehran, Iran (email: iman saboori@yahoo.com).
Some of the transformations used in transformational
compression methods are Fourier transform, discrete cosine
transform (DCT), Walsh transform, Karhunen-Loeve
transform (KLT), and wavelet transform.
The main idea in using transformation in compression
methods is to compact the energy of signal in much less
samples than in time domain, so we can discard small
transform coefficients (set them to zero). From this point of
view, we want to use a transformation that more compacts the
energy of signal in less samples in transform domain, which
are transform coefficients. It has been shown that wavelet
transform has a good localization property in time and
frequency domain and is exactly in the direction of transform
compression idea. Here, for ECG compression, we use
wavelet transform with SPIHT coding algorithm, modified for
1-D signals, for coding the wavelet coefficients.
II. WAVELET TRANSFORM
A. Introduction
In wavelet transform, we use wavelets as transform basis.
Wavelet functions are functions generated from one single
function by scaling and translation:
( ,
1
()
ab
t b
t
a a
=
)
(1)
The mother wavelet has to be zero integral, () t
() 0 t dt = . From (1) we see that high frequency wavelets
correspond to or narrow width, while low frequency
wavelets correspond to or wider width.
1 a <
1 a >
The basic idea of wavelet transform is to represent any
function f as a linear superposition of wavelets. Any such
superposition decomposes f to different scale levels, where
each level can be then further decomposed with a resolution
adapted to that level. One general way to do this is writing f
as the sum of wavelets over m and n . This leads to
discrete wavelet transform (DWT):
,
()
mn
t
, ,
() ()
mn mn
ft c = t (2)
By introducing the multi-resolution analysis (MRA) idea by
Mallat [3], in discrete wavelet transform we really use two
functions: wavelet function and scaling function . If
we have a scaling function , then the sequence of
subspaces spanned by its scalings and translations
() t () t
2
() ( ) t L
E
International Journal of Signal Processing 1;4 © www.waset.org Fall 2005
219