R.port Research 310 in

advertisement
Research R.port 310
Advances
in predictive
wavelet transform image
coding
Ian Levy
Roland Wilson
RR3lO
In this work, it is shown that fractal image coding can be placed in a conventional predictive
framework by using a wavelet representation. This has the significant advantages of simplifyrng
decoding by avoiding iteration and of relating the technique to traditional coding methods. The
resulting coder is a iombination of transform and predictive techniques. A novel frequency
domain subblock search is presented along with a tree structured vector quantizer. Some results
are presented for a variety of images and bit-rates followed by some speculation on further
research.
Department of Computer Science
University of Warwick
Coventry
CV4lAL
United Kingdom
July
1996
Advances in predictive wavelet transform image
coding
Ian Levy, Roland Wilson
Department of Computer Science,
University of Warwick,
Coventry
July 30, 1996
Abstract
In this work, it is shown that fractal image coding can be placed in a cortvetttional predictive framework by using a wavelet representation. This has the significant advantages of simplifying decoding by avoiding iteration and of relating
tire technique to traditional coding methods. Tire resulting coder is a combination of transform and predictive techniques. A novel frequency dorna.in subblock
search is presented along with a tree structured vector quantizer. Some results
are presented for a variety of images and bit-rates followed by sorne speculation
on further research.
Contents
1 Introduction
The New Algorithm
2.I Introduction
2.2 Basic Algorithm
2.3
2.4
The Block Search Alsorithm
The Karhunen-Lobve transform
The Tree Structured Vector Quantizer
3.1 Introduction
3.2 Building a Tree Structured Vector Quantizer
3.3 The Linde-Buzo-Gray Vector Quantizer Design Algorithm
3.4 Restructuring an Unbalanced Tree
2
a!
.)
al
d
i)
6
(i
/
8
:,
Coder Results
T2
TYee Structured Vector Ouantizer Results
16
Discussion,Conclusions and F\rrther Work
27
References
28
List of Figures
1
2
3
4
5
6
7
8
9
10
11
12
13
14
4
Coder block diagram
Two clusters, the centroids (shaded) and their separating hyperplane 6
8
Incremental growing of a tree structured vector quantizer
10
A tree generated from artificial data .
11
the
root
from
tree
restructured
The
12
Reconstruction of Lena with no search
i3
Reconstruction of Lena with full search
13
Reconstruction of Boats with no search
L4
full
search
with
Reconstruction of Boats
15
JPEG Reconstruction at 0.22bpp, PSNR 30.7i
20
Results fol data in the training set o2 : 1000
:
21
Results for data outside training set o2 1000
:
25
set
o2
200
Results for data in the training
26
Results for data outside training set o2 : 200
Introduction
In recent years) both fractal coding and wavelet transform coding algorithms have
been thc subject of extensive research t1] i7] [4] [11] [14]. Although they sharc a
I'eliance on the scaling properties of the edge features which dominate normal irnages,
there has previously been little attempt to marry them (see [13] however ).
In a wavelet decomposition, the image is recursively decomposed into frecluenc.l'
bands. The wavelet subbands contain the high frequency components of the image
in the horizontal, vertical and diagonal directions. These components can easily be
vectol quantized with low visible distortion because ( it is argued ) the waveiets are
ltetter matched to edge features than the sinusoidal basis functions used in earlier
transform coders. Fractal image coding relies on the concepts of self-similality ancl
affi.ne maps) which may be used to describe how to transform one image region intcr
the other. The image is tiled with such regions and the collection of the affine maps
wlriclr results is known as the fractal code for the image. An approximation to the
or-iginal image is reconstructed from the fractal code by iterating the affine rnaps orr
any initial image t7l t4l I3l.
Recentllr, there have been several attempts to combine fractal and trarrsforn coinpr-ession rnethods [13] [5] [6]. These have, for the most part, used DCT basis vectors
to replesent the t:r-r-or resulting frorn the fractal approximation. There have been fer,v
aclvances iri searching for fractal based systems. In this paper) a novei search method
is presented which takes into account the isometry group used.
Also, a tree structured vector quantizer is presented, based on the LBG algorithm.
This structure also embodies a rate-distortion rneasure, allowing variable rate encoding rrsing the same data. This structure will be used to address domain blocks in
near-optimal nnnber of bits.
2 The New Algorithm
2.1 Introduction
The new method is largely based on the coder presented in [8] and [9]. It can be seen
as a predictive coder, in which blocks of data representing larger scales are trsecl to
predict those at smallel scales. Errors are coded using a Ka,rhunen-Lobve transfolrn
coder operating in the wavelet domain.
2.2
Basic Algorithm
The novel algorithm plesented combines parts of both wavelet and fractal coding.
The image to be coded is decomposed by the wavelet transform to a given level, say
/, known as the base level. The first level to be approximated, called the d,omai'n
leuel, ts then decided. This is any level below the base level. The range leuel ts
then the level from which the prediction occurs (usually the level above the clornain
level). Levels from / to the range level are quantized using a linear qua,ntizel for
the highpass coeficients and a separate quantizer for the lowpass coefficients at the
highest level. The quantized approximation is used as the range level of coefficieuts tcr
reduce errors at the decoder. Each of the bands in tire domain level is partitioned into
L}
non-overlapping domain blocks. Let {Dy
, {D!'} and {Dy'} be the domain bloclis
from each subband. For- each domain block set {D:IL,D!r',Dyn} ) a col'responding
range block set {Rflr, Rlr,Ry,} must be founcl rvhich minimizes the error
,:
wlrere
llD!' - by"ll' + lln?" - bln ll' + DY' ll
by'll'
b{ : t;(a;' R;I), R, is a normalised range block from sub-band
(ti :
. ny',n!' >+< ily",Dy" >+< R!',D!'>
.\ llihuu.rriRHH -. +.
l \ Ry",Ry" > + < Rlu,A!' ,
(1)
X,
(2)
and {r;}l:6 is the dihedral group of the squale. Hence, the blocks from the tluee
subbands are scaled by the same factor.
Since an orthogonal wavelet transform is used, the subbands are all orthogonal.
Hence, no iteration of the affine maps is required. Since there will be no iteration of
the maps in the decoding process, the value of a; is unconstrained. Given a domain
block size d" and and search radius r, we define the search reg'ion as the subset of the
strbband T g1enby ([" -rd,r*rd)x[y -rd,A-trd)))I. A search within this region
is performed using the method described in section 2.3. This method constrains tirrr
maps so that each range block Rf ( X € {HH.HL,LH} )is in t}re same reiativcr
position, but in different subbands. The reasoning behind this is that if two blocks a,re
similar, then their horizontal, vertical and cliagonal componeuts mttst also be sinrilar.
This process is then repeated on successive levels of the wavelet decomposition.
The approximation of the domain level generated by the coder thus becorrres thc
lan€te coefficients for the next itera,tion. Separate affine map coefficients are genera,tecL
between levels, up to levei 1. As it stands, the coder attempts to extrapolate a bloclr
in the range level to a block in the domain level in each subband. However, if thele iri
not a good match between wavelet levels, the overall reconstruction error will ilcrcase.
To overcome this, block proiection is performed after the fractal coding on eac[ ler,el
to leduce errors) in the same vein as Huang and Gharavi-Alkhansari [6]. The prcscn,,
method, however, is simpler, since it is based on the Karhunen-Lobve transfolrn fo:
the symmetrised error vectors. A block diagram of the coder is shown in figur-c 1.
It is worth noting that the coder can operate in a variety of modes, depending on
the application. It is possible to vary the block size, enable or disable the Karhune)nLobve transform sub-system and enable or disable the block searching ( ie restrict tht:
search region to a single block ). Obviously, different configurations will be suitable
for clifferent applications, each having different bit rate and error requilements.
The parameter sets that describe the blockrvise maps and the basis projection
coefficients are linearly quantized and encoded using an order zero arithmetic coder.
A rate aaltr"e determines how many bins the quantizer uses and how many symbols tht:
ar-itirmetic coder can encodc. R,econstruction proceeds much the same as for st:indarcl
frac,tal coding. The major difference is that this rnethod does not require iteration of
the rnaps. If the Karhunen-Lobve transform sub-system is enabled, then the projecterl
ettol vector-s are added to the reconstructed approximation of the block. An inrtrsr.
wavelet transform from the base level reconstructs the original irnage.
2.3 The Block
Search Algorithm
Most, if not all, fractal based coders use a simple search on the dornain pool. Thest:
searches usually proceed by extracting a domain block from the pool and applying
each isometry to the domain block to find which orientation of the block most closclv
matches tlie range block. This is repeated or.el all blocks in the domairr pool t<r
find the best in the least-squales sense. This has obvious disadvantages in both
cornputational complexity and the tirnc required to perform the search.
The method to be presented here is a Fourier-domain search. Define -F(r) to irc
the Fourier transform of r, r* to be the compiex conjugate of r ancl 7(r) to bc thc
inverse Fourier transform of r. Given an ?z x rl range block -R ancl a normalised dornain
block D, the domain block is padded with zeros to n x n. A correction factor matlix.
C, is generated from the range block by
Ci.L
:
Ii=o
It'
Ri'+rr'r;*rt
rt2
C represents the energy in each sub-block in the range bloch.
(3)
U
;
.9
E
a
F
J
at
!E
!a
r
E
.E
A
Fs.
Figure 1: Coder block diagram
ii:
The correiation ma,trix between the two blocks is generated by
p
:
Re(r
(F(R)F-(D)))
Then, the norrnalised correlation between the two blocks is simply defirred
i,.r: !
(4)
as
(5)
vl,J
The position of the highest value in p corresponds to the origin of the best matching
block. The block isometries are applied to the padded domain block transform. If
the isometry contains a rotation of n radians, the transform is simply conjugated.
The sealch is actually performed across all three bands simultaneously. The p
matrices derived from each band are added up and the highest value found. This is
thcn the origin of the three blocks that match the domain blocks the best.
2.4 The Karhunen-Lobve transform
The Karhuuen-Lobve transform I is well knorvn in the field of image plocessing. Ir,
will be described briefly here for completeness. Given a sarnple from a populatiorr o[
rrr:ctors {r;} of the form r, : {z;, ,...,lti,,}, the couariance ntatrir is estimatecl usirrg
the sample mearl
1M
,,: *f
,'0,'i
f,=l
r,vhere er
is the mean of the sample. defined
-.'r''
(6r
as
1M
_1 \-
M fi=lL**",^'
(7)
Tht: element c;, of C, is the covariance of the elements r; and r;. Hence, thr:
rna,trix C,. is reai and s}'rrmetric. Therefore, it is always possiblc to fincl a set of lc'a1
eigenvectols of C,. It is thesc eigcnvcctors that are used as the basis vectors lor elror:
correction in the coder. That is, any residual error in the coder after the waveler
prediction is projected onto thesc basis vectors and the coefficients transrnittecl. The
actual vectors use<l ale calcr-rlated over a valietr' of images ancl alc krrorvrr to both the'
errcocler-
and decoder.
rAlso known :rs the Hotelling, t:igerrvcctor or principal component transfornr
5
ooo
\
..OO
\-/o ot
Figure 2: Two clusters, the centroids (shaded) and their separating hyper-plane
3 The Tlee Structured Vector Quantizer
3.1 Introduction
Even with the frequency domain block search, extracting each range block in the
search region and testing it is still slow. It would obviously speed the sear-ch if
only si.m,i,lar blocks were tested. Also, building a history of plevious blocks is bound
to reduce erlor Late, since the coder is given a mole richly populated vector space
to predict from. Vector Quantization is a common method of providing lossl' data
compression. The vector quantizer works by providing a codebook of vectors rvhich
is used to approximate input vectors. The main problem with general VQ methods
is that they are highty compute intensive. One method of overcoming this is to
structure the quantizer. A particular example of this subclass is the tree structrued
vector quantizer. There have been some attempts to generate Tree Structuled \rector
Quantizers [I2) l2]. These, however, work in an off-line manner ( all the da,ta rnust
be present when the tree is built ) or impose some condition on the source. However',
for this application, an incremental method is required with no limitations.
Consider a set of data in the Euclidean n-space, {r; : i :0,..., n - 1'} e ft"'
Assuming n ) 2, it is possible to partition the data into two optimal clusters, C1 and
C2, separated by a decision hyperplane. The situation is shown in Figure 2.
The decision hyperplane is defined by
H -- {*, € ft" : llr,
where /r1 and
112
are
-
prll
:
llt'o
- Prll}
the centroids of the clusters. Expanding this conditiorr gives
ll"o
,T
,, -
2rT
- p' ll :
p, -l
2rT
-
pt
:
,T
t"Lt)
:
pT t',
pT
0l, -
llrr
r,
(8)
us
prtt
- 2"T t, + ttT
-
pT
p'
(e)
Hence, Fz - LLt is the direction of the decision hyperplane normal and 1l{ p2 - ftl ttt
is the distance along the normal to the point of intersection with the hyperplane itself.
Given a new vector,r, it is a simple to decide which cluster the vector should lie
in, without caiculating the mean square error between the new vector and each o::
the cluster centroids. All that is required is to calculate the value of 2rr(pt,2
Obviouslv.
2r'(t', - p) < pT p, *
p' if r € Ct
2r'(1,,, - p,t) > pl' p, - pT t,t il r € Cz
pT
l.Lt).
(10't
with an arbitrary choice being made if equality occurs.
3.2 Building a Tlee Structured
Vector Quantizer
Each node in the tree will contain the following information
o Pointers to the left son, right son and parent
nodes
o The data vector associated with this node
o The direction of the separating hyperplane normal vector and intersection point
o The average distortion between all leaf data and the data vector at this
riocle
o A usage count which indicates the number of leaves below this node
When aclding a vector to an existing tree, the following method is applied. At each
node, a dichotomy mnst be evaluated to deciclc which path to traverse. It recpires :rsimple inner product calculation. The decision is made in the same way as that of
equation 10. All dichotomies down a particular path are evaluated until a ieaf nocle
is reached. As each node is passed, its average distortion.d6', updated by equation 11
and the usage count,n,, is then incremented.
n,,
_
(dc x
",)-t
llr
n'+1
-
ryl|'
(11t
Once a leaf node has been reached, a comparison is made to see if the <lata to bc
added is already plesent in the leaf. If it is, the usage count of the leaf in inclenr:tttecl
ancl no more is clone. Otherwise, two chiid nocles are spawned fronr the old leaf nocle.
One of these has the data from the old leaf copied down and the other has the rrern'
data placed in it. The average distortion between the old leaf node and ther tu'o nen
children is then calculated and stored in the old leaf node, followed bv the hvperplane,
norrnal directiorr arrd intersection point. It is worth notirrg explicitli,' that if thr: olcl
leaf has a usage count greater than one, this is copied down to the duplicate chiicl
nocle. Thc incrernental growing of the tree is depicted irr figurc 3.
Figure 3: Incremental growing of a tree structured vector quantizer
Since the separating hyperplanes are fixed by their placement between the fir'st 2
vectors, it is quite possible, if not likely, that the tlee will become unbalanced at auy
point below the root. To combat this, a method for restructuling subtrees has been
designed, based on the Linde-Buzo-Gray vector quantizer design algorithm. detailed
next.
3.3 The Linde-Buzo-Gray vector Quantizer Design Algorithm
The LBG algorithm for vector quatizer design [10] is used to design near-optirnal block
quantizels with a certain number of representative vectors. The quantizer is trained
by a sequence of training data, usually taken to be representative of the population
that the quantizer must encode. The algorithm produces an optirnum partition of
the training set. This is simply extended into an n-dirnensional optimum paltition of
Euclidean n-space by the nearest neighboul rule.
Given N, the number of representative vectols in the final quantizer, a tlaining
sequence {ri, j - 0,.. . )n- 1}, and an error threshold e ) 0, the algorithrn pr-oceeds
as follows.
o Initialisation
- Given {r;}, set Ao(f ) : f whele f is the centroid of the training sequence.
- Given Ao(M), containing M vectors, ^perturb each vector in the set by a
small, fixed vector, /. So, each y; € Ao(M) is replaced by the trn'o vectors
{y, + ,,y;
-
- u} € Ao(2M).
Set
M:2M.
Repeat previous step until M : N. Then, the resultant set ,ao(l{) is the
initial set to which the partitioning algorithm is applied.
o Partitioning
find the minimum distortion partition P(A^) : {Co:i:
1,...,1/) of the training set by assigning each vector r1 to a clnster C;
using the rule
r, € C; ++ ll", - yoll < llr, - v,llvt.
(r2l
Given
-
A-,
Caicrilate the averase distortion
n-1
D^:l
TI
(
If D^;::D^
Um
-
c stop
with
A^
I
min ll";, yll.
(13
)
.i-o Y€A^
as the
final set of representative
Re-estimate the centroids of the clusters {C,}. Set A-*1
1,...,1/). Set Tn: IrL * 1. Repeat the partitioning step.
:
vector.s.
{e
,
3.4 Restructuring an Unbalanced Tlee
Before a restructure is performed, it must first be decided where ( or if ) the treer is
actually unbalanced. Since the usage count in anv node represents the number of leaf
clata nodes below it, a comparison of usage counts of sibling nodes is an appropr-iatt:
measure of how unbalanced the subtree is. Note that the root node usage connt is
the total number of leaf node data vectols in the subtree.
A recursive traversal down the tree is performed from the root. At any point.
rLRoottTLLeJtt?tRight, the usage counts in the subtree root node and the current left ancl
right child nodes, are known and it is sirnple to calculate p6 and p; thusly
pR:ro,2(A)
pL
: rosz(:.*)
\rLRisht
/
A subtree is deerred unbalanced if lpn - pLl > 0.5. Once an unbala,nced
(
14)
(15
)
subtrer-'
is found, thc leaf data is extractcd and the subtlee is dcstroyed. The subtree root
clata value is set to the centroid of all the leaf data. Then, tht: LBG algorithrn is
lun on the leaf data to produce two cluster centroicls. These centroids are usecl as
the data for the child nodes of the subtree root node. The separating hyperplanc
is calculated and its normal vector and intersection point are stored in the subtrcc
root. The application of the LBG algorithrn implicitly gencrates two rrew subtrr:c lool
nodes and two sets of ieaf data nodcs. These are thc two sets of data that constitutcr
tire clusters generated by the aigor-ithrn. The proccdure is applied recursivc.ly until
only 2 data, vectors rr:rnain. Thr:n, a simple split is perforrned and thc stibtrt,:<: is fulll'
restructured. The final procedrtre in the restructure is to work back up the subtr-ee
24
23
22
2!
20
L9
1A
17
16
a5
a4
13
12
11
ao
9
e
7
6
5
a
3
2
1
o
Node
2 - OOOOOO
2 - OOOOOO
9. OOOOOO
9. OOOOOO
9 - OOOOOO
9 - OOOOOO
9, OOOOOO
10 - OOOOOO
10 - OOOOOO
15. OOOOOO
15, OOOOOO
14 - OOOOOO
32 - OOOOOO
32 - OOOOOO
34 - OOOOOO
34. OOOOOO
44 -OOOOOO
44.OOOOOO
54 -OOOOOO
oooooo
100.
100 - oooooo
Aa - OOOOOO
Aa - OOOOOO
AA - OOOOOO
a - oooooo
DaCa
n\rmber
23
1
22
19
15
aO
5
5
3
2
I
1
5
2
3
a
2
a
1
4
2
2
1
1
3
Figure 4: A tree generated from artificial data
to the subtree root in order to update the usage counts in each node. This is a simirle
by-product of the recursive nature of the procedure.
A tlee generated by a small set of artificial data is shown in figule 4. The LBGbased restructure algorithm was applied to the root node and the result is shown in
figure 5. Note that the algorithm has produced a tree which repr-esents the optirnal
clustering of the data at each node. This will prove useful in providing near-optimal
bit rates when encoding data to a specified rate.
10
24
23
22
21
20
I9
lg
1.7
a6
as
14
13
a2
r1
ao
9
a
a
6
5
4
3
2
1
o
=Z -923047
45.
AOOOOO
93,750000
100 - OOOOOO
g7 - 500000
A7
000000
gg - oooooo
54
000000
a5
111111
35 _ 500000
44. OOOOOO
32 _ 666664
32 - OOOOOO
34. OOOOOO
9 -2a5aa4
11_ AOOOOO
a4 - 500000
14 - OOOOOO
15. OOOOOO
10 - OOOOOO
a. aaggag
B - 625000
L OOOOOO
9 - OOOOOO
2, oooooo
5
2
I
a4
5
2
1
1
3
9
a
3
5
1
Figure 5: The tree restructr-rred from the root
L1
Image
Lena
Lena
Boats
Boats
Compression Ratio
32:I
Search
Rate (bpp)
Full
None
0.25
0.20
Full
0.34
40:1
23.5:1
None
0.28
28.5:1
Peak-RMS SNR
31.61 dB
31.52 dB
29.95 dB
29.94 dB
Table 1: Coder test results
Figure 6: Reconstruction of Lena with no search
4 Coder Results
In this section, sample compressed and reconstructed images at low bit rates with and
witlrout searching on the standard Lena and Boats images are presented. The test
irnages are 512 x 5I2 pixels in 8-bit greyscale. For the tests, a block size of 4 pixels
square and the Daubechies 8 point filter are used and the Karhunen-Lobve transform
sub-system is enabled. The results of these tests are shown in the Table 1 and the
following figures.
For comparison, Figure 10 shows the Lena image coded at 0.22 bits pcl pixcl
with the JPEG system. This image has a PSNR of 30.71 dB and rnuch more visitrle
artifacts. Shapiro's EZW coder [14] codes Lena at 0.25 bpp with a Peak-RMS SNR,
t2
Figure 7: Reconstruction of Lena with full search
Figure 8: Reconstruction of Boats with no search
13
Fisure 9: Reconstruction of Boats with full search
of 33.17 dB and at 0.125 bpp with a PSNR of 30.23 dB. The coder presented here,
achieves 31.52 dB at 0.20 bpp, a comparable figure.
As can be seen from the above results, at low bit rates, the search does not inplovc
the coder performance. However, further tests have shown that at higher bit lates,
a search is advantageous. Using a full search, the Lena image can be codecl at 1.49
bpp with a PSNR of 38.67 dB. With no search, the image is coded in 7.44 bpp with
a PSNR of 38.07 dB. At these bit rates, a gain of 0.6 dB for 0.05 bpp is significalt.
t4
ffi
ffii
w:i::
iiiil,T$l
Iiti,s$:.
ffi
ffi.
Figure 10: JPEG Reconstruction at 0.22 bpp, PSNR 30.71
1t:
5 Tree Structured Vector Quantizer
Results
In this section, results for the tree structured vector quantizer are presented.
The
quantizer is run on several sets of random data taken from Gaussian sources of different variances in one dimension. The results are compared with the theoretical
rate, r4, for encoding random data from a Gaussian distribution with var..iance o2 at
distortion
d.
r4
/ ,-z\
: Iog,IZJ
(16)
The quantizer is presented with 32768 points taken from a Gaussian distlibution
of variance o2. Data points are rounded to the nearest integer (to allow multipleclata
in leaf nodes). Once the tree has been built, the training data is presented to be
coded at various allowable distortions. The average rate is recorded and cornpared
with the theoretical value. Also, the actual average error is reported. Then, the tree
is restructured ( if necessary) and the same data applied again. Finally, teu randorn
random sets of data from outside the training set are applied and the results averaged.
This is repeated for a variety of variances on the underlying Gaussian distribution.
Note that the minimum bit rate for any particular vector is 1 bit. This is simply
because the coder must ernit at least a singie bit to indicate that a vectol has allivecl.
t6
Max Error
Actual Rate
Theoretical Rate
0
7.57724
9.96578
0
50
3.56409
3.46811
4.32193
3.32193
2.73697
2.32193
25.9754
29.313
32.1 1 16
tr .\ q,71 A
oL.Lt
t+
2
64.9643
1.73697
95.3608
95.3608
95.3608
195.78
100
150
200
250
300
350
400
3.4006
3.09796
2.96752
2.66391
2.66391
2.66391
500
2.279rr
2.2791r
550
1.60513
600
1.60513
1.60513
1.60513
1.60513
450
650
700
750
r.57457
1.32193
1.152
i95.78
1
0.862496
0.736966
0.621488
0.514573
0.415037
850
1.60513
1.60513
900
1
950
1
0.327928
0.234465
0.152003
0.0740006
1000
1
0
800
Actuai Error
373.108
373.108
373.108
373.108
373.108
373.108
373.108
735.434
735.434
735.434
Table 2: Results on trainins set before LBG restructure oz
I7
:
1000
Actual Ellol
Max Error
Actual Rate
Theoretical Rate
0
7.20t97
3.14724
2.4782r
2.34482
2.34482
9.96578
0
4.32193
3.32193
2.73697
2.32193
23.1866
58.3728
69.9259
2
2
rr7.279
r17.279
r17.279
361.154
361.154
36 1.154
bU
100
tbt,
200
250
300
69.9259
350
2
o
L
400
1
r.73697
r.51457
1.32193
450
1
I.752
500
1
a
550
1
36 1.154
600
1
650
1
700
1
i
51.,
1
800
1
850
1
900
1
950
1
0.862496
0.736966
0.621488
0.514573
0.415037
0.321928
0.234465
0.152003
0.0740006
1000
1
0
361.154
1
361.154
36 1.154
361.154
361.154
361.154
361.154
361.154
361.154
Table 3: Results on trainins set after LBG restructure o2
18
:
1000
Max Error
Actual Rate
Theoretical Rate
0
7.2087r
50
100
3.14101
2.47671
150
2.3439r
200
2.34391
9.96578
4.32193
3.32193
2.73697
2.32193
250
L
o
L
300
2
Actual Error
0.00557251
23.1801
58.6911
70.3585
70.3585
117.863
117.863
350
L
400
1
1.73697
1.51457
1.32193
450
1
1.I52
500
1
i
550
1
0.862496
363.283
363.283
363.283
600
1
650
1
700
1
363.283
363.283
363.283
363.283
117.863
363.283
750
i
0.736966
0.621488
0.514573
0.415037
800
1
0.321928
850
1
363.283
363.283
363.283
363.283
363.283
900
1
950
1
0.234465
0.152003
0.0740006
1000
1
0
Tabie 4: Results outside trainins set after LBG restructure oz
19
:
1000
o
o
o
r
=(l)o
.u5=
oc)c)
Lff
a'!LL
ID U) (t)
Soo
FEE
O
O
eb
@
b<
co
o
L
L
LU
X
o
<-
O
O
N
q)f.-(Oto-f,Cf)NrO
(strE) eteU
Figure 11: Results for data in the training set o2: 1000
O
O
O
ll
?O
i;(l)
';= u,
9or
o-L
oc
;-(s
1-L
O
(l)
p
@
U)
f
o
o
L
=
C)
fL
a
(l)
o
O
cc
(o
L
(D
lrr
X
z
N
@1.-(OtO$cONrO
(s1rg) egeg
Figure 12: Results for data outside trainins set o2
21
:
1000
Actual Error
Max Error
Actual Rate
Theoretical Rate
0
7.1 1093
7.64386
0
10
4.64316
4.5694
3.85818
3.76474
3.76474
3.76474
3.65417
3.61078
2.96503
2.96503
2.59347
2.5934L
1.88943
1.88943
1.88943
1.88943
1.88943
1.88943
1.88943
1.88943
4.32193
3.32193
2.73697
2.32793
3.25531
3.86703
20
30
40
50
60
70
80
90
100
110
I20
130
140
150
160
170
180
190
200
2
7.73697
r.57457
1.32193
T.T52
1
0.862496
0.736966
0.621488
0.514573
77.9718
79.4426
19.4426
19.4426
24.2237
27.066r
40.8026
40.8026
56.8199
56.8199
98.681
1
98.6811
0.415037
98.6811
0.321928
a.234465
0.152003
0.0740006
98.6811
98.6811
98.6811
98.6811
0
98.6811
Table 5: Results on trainine set before LBG restructure
22
o' :200
Max Error
Actual Rate
Theoretical Rate
Actual Error
0
0369
7 64386
0
10
15997
a^
32I93
20
51111
3 32193
30
35965
35965
2 73697
4.40185
10.9694
13.6658
13.6658
40
2 32193
50
o
L
60
1
73697
70
1
51457
80
1
32193
90
1
'1
XO
LOL
100
1
110
0 862496
120
0 736966
130
0 621488
140
0 514573
150
0 415037
160
0 327928
170
0 234465
180
0 152003
190
0 0740006
204
0
23.8173
23.8173
23.8173
73.7492
73.7492
73.7492
73.7492
73.7492
73.7492
73.7492
73.7492
73.7492
73.7492
73.7492
73.7492
73.7492
Table 6: Results on traininq set after LBG lestlucture ot
ta
:200
Max Error
Actual Rate
Theoretical Rate
0
6.04124
3.15867
2.50854
2.35868
2.35868
7 64386
10
20
30
40
4 32193
q
.)
32793
2 73697
2 32193
50
2
60
1
73697
70
1
80
1
90
1
5r457
32193
152
100
1
110
0 862496
I20
0 736966
130
0 621488
140
0 514573
150
0 415037
160
0
190
321928
0 234465
0 152003
0 0740006
200
U
170
180
Actual Errol
0.0007141i 1
4.41232
10.9812
13.666
13.666
23.7635
23.7635
23.7635
73.0034
73.0034
73.0034
73.0034
73.0034
73.0034
73.0034
73.0034
73.0034
73.0034
73.0034
73.0034
73.0034
Table 7: Results outside training set aftel LBG lestructure ot
NA
:
200
N
=oo
u5=
(l)oC)
Lff
a'tLL
IDAU)
+(l)(D
FEE
Ya)
o
b<
m
r
c.
L
5lrr
rX
O
ro
@
1..-
(O
LO
.<t
O
CY)
N
F
(s1rg) eleg
Figure 13: Results for data in the training set o2 : 200
C)
o
O
N
li
45(D
.E
U'
9ol
o.L
oc
-(U
I-L
o
E
o
rO
'@
:f
o
o
L
f
C)
fL
U)
to
L
(D
L
o
5uJ
L
-)($
O
r-O
o
@F-(OrO$cDNFO
(s1rg) aleg
Figure 14: Results for data outsicle training set o2
:
200
6
Discussion,Conclusions and F\rrther Work
This paper has shown that it is possiblc to place fractal coding into a multiresolution
predictivc framework by using an orthonormal n'avelet transform and a novel blocl:
searching technique. Initial results from the coder show that the method has real
prornise in applications. AIso, a novel tree structured vector quantizer has becn
presented which exhibits near optimal rate-distortion performance. One significa,nr
problem with this technique is the excessive search time. For the highest quality ( ie
a full search ), coding time is prohibit,ive. However, integrating the tree structulecl
search should help in this matter. Another area requiring more work is the choice of
wavelets - the lack of symmetry of the separable Daubechies wavelets clear'ly has arr
impact on the quality of the results. A wavelet packet type basis could be employerl
to aid orientation matching.
Finally, the coder could be extended to operate in 3 dimensional space, that ir;
video sequences. The tree structured vectol quantizer rvould plovide an cvel growing
pool of blocks to be used for prediction between frames and it could be relativel.,'
quickly lestructured when required. This rvould hopefully exploit the redunclancv
betr'veen fr-ames at very low bit cost.
)7
References
[1]
M
Antonini, M. Barlaud, P. Mathieu, and I. Daubechies. Image codirrg using
Wavelet Transform. In IEEE Transact'ions on Image Processing, volurne I,1992.
[2] M. Balakrishnan, W. Pearlman, and L. Lu. Variable-Rate Tree-Stluctnred Vectol
Quantizers. In IEEE Transact'ions on Informati,on Theory, volume 41. 1995.
[3]
M
Barnsley and S. Demko. Iterated Function Systems and the Global Constmction of Fractals. In Proc. Royal Soci,ety of London, 1985.
[4] M. Barnsley and L. Hurd. Fractal Image Compressi,on. AK Peter-s,
1992.
[5] K. Barthel and T. Voy6. Adaptive Fractal Image Coding in t]re FrecpreucS' Dsmain. In Proceedings of International Workshop on Image. Processing. 1994.
M
[6]
Gharavi-Alkhansari and T. Huang. Flactal-Based Techniques fol a Genelalized Image Coding Method. In Proc. IEEE ICASSP, 1994.
[7]
A
E. Jacquin. A Novel Fractal Block-Coding Technique for Digital Images. Irr
Proc. ICASSP '90. 1990.
[8] I. Lcvy and R. \Vilson. A Hybrid Fractal-Wavelet Transform Image Data Compression Algorithm. Technical Report 289. University of Warwick, Depa,rtment
of Computer Science, Septernber 1995.
[9] I. Levy and R. Wiison. Predictive Waveiet Transform Coding : Uniff ing Fract;rl
and Tlansform coding. In Proceedings PC596,7996.
[10] Y. Linde, A. Buzo, and R Gray. An Algolithm for Vectol Quantizel Design. In
IEEE Transact'ions on. Cornrnu"nicat'ions, r'olurne 28, 1980.
[11] D. Monro and F. Dudbridge. Fractal Apploximation of image Blocks. ht Prctc.
IEEE ICASSP. 1992.
[12] L-M. Po and C-K. Chan. Adaptive Dirnensionality R.cduction Tec]urirlttes for'
Tree-structured Vector Quantization. In IEEE Transact'ions on, Cornm,u.ntcut'ions, volurre 42. 1994.
[13] R. Rinaldo and G. Calvagno. Image Coding by Block Prediction of Nfultilesolution Subirnages. Technical report, Universitd cli Padova, 1995.
[14] J. Shapiro. Embecldecl Image Coding Using Zerotrees of Wavelet Coefficients. In
IEEE Transactions on Signal Processing, r'olttme 41, 1993.
28
Download