Upload
others
View
4
Download
0
Embed Size (px)
Citation preview
Hierarchical Decomposition of 2D/3D Images, Based on SVD 2×2
Roumen Kountchev1, Roumiana Kountcheva
2
1TU-Sofia,
2T&K Engineering
Bulgaria
Abstract
The famous Singular Value Decomposition (SVD)
is very efficient in the processing of multidimensional
images, when efficient compression, and reduction of
the features, used for objects recognition, are
needed. The basic obstacle for the wide use of SVD is
its high computational complexity. To solve the
problem, here is offered the new approach for
hierarchical image decomposition through SVD
(2×2)-based algorithm. In this case, the multi-
dimensional image is represented as a 3D tensor,
divided into sub-tensors of size 2×2×2, called
kernels. Each such kernel is then decomposed
through Hierarchical SVD (HSVD), based on the
SVD for a matrix of size 22. In the paper are given the HSVD algorithms for a 4×4 matrix, and for a
tensor of size 4×4×4. The tensor decomposition is
generalized for a tensor of size N×N×N, when N=2n.
The computational complexity of HSVD is evaluated,
and compared to that of the iterative SVD algorithm
for 2D matrices, and 3D tensors. The basic
advantages of the new approach for decomposition
of multidimensional images are the low
computational complexity and the tree-like structure,
which permits the low-energy branches to be cut-off
through threshold selection. The algorithm is
suitable for parallel processing of multi-dimensional
images through multiprocessor systems, where the
basic cell processor executes the decomposition of
the kernel tensor, of size 2×2×2.
1. Introduction
The SVD is statistical decomposition for
processing, coding and analysis of images, widely
used in computer vision systems. This
decomposition was an object of vast research,
presented in many monographs [1,2] and papers [3-
14]. The decomposition is optimal, because it
concentrates significant part of the image energy in
minimum number of components, and the restored
image (after reduction of the low-energy
components), has minimum mean square error. One
of the basic problems, which limit the use of the
“classic” SVD [1] to some degree, is related to its
high computational complexity, which grows up
together with the size of the image matrix. To
overcome the problem, several new approaches are
already offered. The first approach is based on the
SVD calculation through iterative methods, which do
not demand to define the characteristic polynomial of
the matrix. In this case, the SVD is executed in two
stages: in the first, each matrix is first transformed
into triangular form with the QR decomposition [1],
and then - into bidiagonal, through the Householder
transforms. In the second stage, on the bidiagonal
matrix is applied an iterative method, whose
iterations stop when the needed accuracy is achieved.
For this could be used the iterative method of Jacobi,
where for the calculation of the SVD for the
bidiagonal matrix is needed the execution of a
sequence of orthogonal transforms with matrices,
which differ from the unit matrix by the elements of
the rotation matrix of size 2×2 only. The second
approach is based on the relation between SVD and
the Principal Component Analysis (PCA) [3]. It
could be executed through neural networks [2] of the
kind generalized Hebbian, or multilayer perceptron
networks, which use iterative learning algorithms.
The third approach is based on the algorithm, known
as Sequential KL/SVD [4]. The basic idea here is as
follows: the image matrix is divided into bocks of
small size, and on each is applied SVD, based on the
QR decomposition. At first, the SVD is calculated
for the first block from the original image (the upper
left, for example), and then iterative SVD calculation
is executed for each of the remaining blocks by using
the transform matrices, calculated for the first block
(updating process). In the flow of the iterations
process are deleted the SVD components, which
correspond to very small eigen values. For the
acceleration of the SVD calculation, several methods
are already developed [6-8]. The first is based on the
algorithm, called Randomized SVD [6], where
accidentally is chosen some number of matrix rows
(or columns). After scaling, they are used to build a
small matrix, for which is calculated the SVD, which
is later used as an approximation of the original
matrix. In [7] is offered the algorithm QUIC-SVD,
suitable for matrices of very large size. Through this
algorithm, fast sample-based SVD approximation is
achieved, with automatic relative error control.
Another approach is based on the sampling
mechanism, called the cosine tree, through which is
achieved best-rank approximation. The experimental
investigation of the QUIC-SVD in [8] presents better
results than these, for the MATLAB SVD and the
Tygert SVD. The so obtained 6-7 times acceleration
compared to SVD depends on the pre-selected value
of the parameter , which defines the upper limit of
the approximation error, with probability (1-).
Several SVD-based methods are developed, aimed at
International Journal Multimedia and Image Processing (IJMIP), Volume 5, Issues 3/4, September/December 2015
Copyright © 2015, Infonomics Society 286
the enhancement of the image compression
efficiency [9-12]. One of them, called Multi-
resolution SVD [9], comprises three steps: image
transform, through 9/7 biorthogonal two-levels
wavelets, decomposition of the SVD-transformed
image, by using blocks of size 2×2 up to level six,
and at last - the use of the algorithms SPIHT and
gzip. In [10] is offered the hybrid KLT-SVD
algorithm for efficient image compression. The
method K-SVD [11] for facial image compression, is
a generalization of the method K-means
clusterization, and is used for iterative learning of
overcomplete dictionaries for sparse coding. In
correspondence with the combined compression
algorithm, in [12] is proposed SVD-based sub-band
decomposition and multi-resolution representation of
digital color images.
One new approach for hierarchical
decomposition of matrix images, based on the
multiple SVD application on blocks of size 22, is
proposed in [13]. This decomposition with high
computational efficiency, called Hierarchical SVD
(НSVD), has tree-like structure of the kind binary
tree [14].
2. Related Works
In the last years, the interest to the processing of
multidimensional images, represented as third-order
tensors, was significantly increased. As a result,
many scientific papers were published [15-24],
related to the theory of numerical tensor calculus. In
the paper of De Lathauwer [15] was introduced the
multilinear generalization of the matrix SVD, called
Higher-Order SVD (HOSVD), through which the
matrix SVD is transformed so, that to be applied for
tensors. The higher-order tensor is decomposed into
blocks of smaller size, where the size is characterized
by a set of mode-n ranks. In the survey [16] is given
an overview of higher-order tensor decompositions
and their applications. The basic methods for tensor
decomposition are represented as higher-order
extensions of the matrix SVD:
CANDECOMP/PARAFAC (CP) decomposes a
tensor as a sum of rank-one tensors, and the Tucker
decomposition is a higher-order form of the Principal
Component Analysis (PCA). Other approaches for
tensor decomposition are also described, which come
from the basic methods: INDSCAL, CANDELINC,
DEDICOM, and PARATUCK2. In [17] are
discussed the 2 basic algorithms for tensor
decomposition (the Tucker/HOSVD and the CP
decompositions), and also - the software, used for
their implementation, including MATLAB
toolboxes. For higher calculation efficiency of the
higher order tensor decompositions, in [18-20] are
offered several hierarchical approaches. In [18] is
introduced the PARATREE tensor model with
sequential unfolding SVD algorithm, for which the
decomposition order (rank) can be adaptively
adjusted. The low rank PARATREE approximation
is used to reduce the data compression complexity.
In [19] is developed the hierarchical SVD for tensors
of order d > 2, and in [20] is presented the so-called
tensor-train decomposition - a simple non-recursive
form of the tensor decomposition in d dimensions,
based on low-rank approximation of auxiliary
unfolding matrices. In [21] are generalized the basic
methods for tensor decomposition through basic
Canonical Polyadic and Tucker models. There are
also shown some applications of the tensor
decompositions for the aims of the canonical signal
correlation and separation, linear regression, feature
extraction and classification, and big datasets
analysis. In [22] is developed the adaptive data
approximation technique based on a hierarchical
tensor-based transformation. The experimental
results indicate that the new technique can achieve
higher compression ratios than the existing methods,
including the wavelet transforms and the single level
tensor approximation.
In this paper is presented one new approach for
decomposition of multidimensional images, through
Hierarchical SVD (HSVD) algorithm, based on the
radix-(2×2) SVD for a matrix of size 22. In Section
3 is given the HSVD algorithm for a square N-
dimensional matrix for N=2n; in Section 4 is
introduced the evaluation of the computational
complexity of the algorithm, and in Section 5 - its
representation through binary tree-like structure. In
sections 6, 7 and 8 is described the HSVD algorithm
for images, represented as tensors of size 222,
444 and N×N×N (N=2n).
3. Hierarchical 2D SVD for the matrix
[X] of size NN
The direct SVD for the image, represented by the
matrix [X] of size NN, is defined by the relation
[5]:
,]V[]][U[]X[t (1)
where the matrices ]U,..,U,U[]U[ N21
and
]V,..,V,V[]V[ N21
are comprised by the left-singular
vectors sU
and the right-singular vectors sV
for
s=1,2,..,N, respectively - the matrices t]X][X[]Y[
and ;]X[]X[]Z[t ],..,,[diag][ N21 - diagonal
matrix, which consists of the singular values
ss of the two symmetrical matrices ]Y[ and
]Z[ ( s - the eigen values of these matrices). From
Eq. (1) it follows, that for the description of the
decomposition for a matrix of size NN, are needed
International Journal Multimedia and Image Processing (IJMIP), Volume 5, Issues 3/4, September/December 2015
Copyright © 2015, Infonomics Society 287
N×(2N+1) parameters in total, i.e. in the general case
the SVD is a decomposition of the kind
“overcomplete”. In particular, the direct SVD of the
matrix [X] of size 22 (N=2), noted here as SVD2×2,
is described by the relation:
222122
2121211
12
111
t221
t111
2221
1211
2
1
2212
2111
v,vu
uv,v
u
uVUVU
vv
vv
0
0
uu
uu
dc
ba]X[
(2)
or
.]C[]C[]L[]L[]V][][U[dc
ba]X[ 212211
t
(3)
Here a,b,c,d are the pixels of the image [X];
],L[]C[ 111 ],L[]C[ 222 ],U,U[]U[ 21
],V,V[]V[ 21
],[diag][ 21 (4)
,11 ,11 ,VU]L[t
111
,VU]L[
t222
],L[]C[ 111 ],L[]C[ 222 (5)
,]A,A[2A
1]u,u[U tt12111
,]A,A[-2A
1]u,u[U tt22212
(6)
,]A,A[2A
1]v,v[V tt12111
,]A,A[-2A
1]v,v[V tt22212
(7)
;dbca 2222 ;dcba 2222 ,cdab
,bdac ;dcba2222
(8)
;4A 22 ;2/)A(1 .2/)A(2
(9)
( 04δμ4ην2222 );
1U
and 2U
are the eigenvectors of the matrix
,]X][X[]Y[ t for which: sss UU]Y[
for s=1,2;
1V
and 2V
are the eigenvectors of the matrix
,]X[]X[]Z[ t for which: sss VV]Z[
for s=1,2;
1 and 2 are the corresponding singular values of the
symmetrical matrices [Y] and [Z];
[C1] and [C2] are the eigen images of the matrix [X].
The inverse SVD for the matrix [X] of size 22
(ISVD2×2) is defined as given below:
],V[]X[]U[0
0][ t
2
1
(10)
,cosθsinθ
sinθcosθ
AA
AA
2A
1
UU
UU
U
UU
11
11
2221
1211
t2
t1t
(11)
.cosθsinθ
sinθcosθ
AA
AA
2A
1
VV
VV]V,V[V
22
22
2212
211121
(12)
Here /2arctg)2/1(θ1 and /2arctg)2/1(θ2 are the rotation angles in clockwise and counter
clockwise direction of the coordinate system (i,j),
where the matrix [X] is defined. In this case, the
direct SVD of size 22 (SVD2×2) is represented
through rotation matrices, which contain the angles
1 and 2, as follows:
.coscossincos
cossinsinsin
sinsincossin
sincoscoscos
dc
ba
2121
21212
2121
21211
(13)
The inverse SVD of size 22 (ISVD2×2) is defined by
the relation (14):
22
22
11
11
2
1
cossin
sincos
dc
ba
cossin
sincos
0
0
The Figure 1 shows the algorithm, based on the
trigonometric form (13) for calculation of matrices
[C1] and [C2] by using the direct SVD of the matrix
[X] of size 2×2. This algorithm is the basic building
element - the kernel, used to create the HSVD
algorithm. As it follows from Eq. (13), the number of
needed parameters for its description is 4, i.e. - the
SVD2×2 is not “over-complete”. The energy of the
image [X] and each eigen image
[C1], [C2], is
respectively:
International Journal Multimedia and Image Processing (IJMIP), Volume 5, Issues 3/4, September/December 2015
Copyright © 2015, Infonomics Society 288
,dcbaxE 22222
1i
2
1j
2j.iX
(15)
.2
A)1(cE
,2
A)1(cE
22
2
1i
2
1j
2j,iC
21
2
1i
2
1j
2j,iC
2
1
(16)
From the Perceval condition for energy preservation
)EEE(21 CCX
and from Eqs. (15) and (16) it
follows, that ,EE21 CC
i.e., the energy XE of the
matrix [X] is concentrated mainly in the first SVD2×2
component. The concentration degree is defined by
the relation:
)]./A(1[2
1
EE
E
22
21
21
CC
C
21
1
(17)
dc
baX ][
2
22
2
21
2
12
2
11
2cc
cc]C[
1
22
1
21
1
12
1
11
1cc
cc]C[
a b c d
2222 dbca
2222 dcba
cdab
bdac
43
21
11PP
PP]C[
11111 Pc
SVD 2×2
/2arctg)2/1(θ2
/2arctg)2/1(θ1
2/)A(1
22 4A
2222 dcba
11 sinF 12 cosF
23 sinF 24 cosF 2/)A(2
421 FFP 322 FFP 413 FFP 314 FFP
12
34
22PP
PP]C[
21112 Pc 31
121 Pc 41
122 Pc 42
211 Pc 32
212 Pc 22
221 Pc 12
222 Pc
Figure 1. The algorithm for Direct SVD of the matrix [X]
of size 22 (SVD2×2)
In particular, for the case, when the matrix [X] is
with equal values of the elements (a=b=c=d), from
Eqs. (13), (15), (16) and (17) is obtained
,a4EE 2CX 1 0E 2C and 1 .
Hence, the total energy of the matrix [X] is
concentrated in the first SVD component only. The
hierarchical n-level SVD (HSVD) for the image
matrix [X(N)] of size 2n2n pixels (N=2n) is executed
through multiple applying the SVD on the image
sub-blocks (sub-matrices) of size 22, followed by
rearrangement of the so calculated components.
In particular, for the case, when the image matrix
[X(4)] is of size 2222 (N=22=4), the number of the
hierarchical levels of the HSVD is n=2. The flow
graph, which represents the HSVD calculation, is
shown in Figure 2.
In the first level (r=1) of the HSVD, the matrix
[X(4)] is divided into four sub-matrices of size 22,
as shown in the left part of Fig. 3. Here the elements
of the sub-matrices on which is applied the SVD2×2 in
the first hierarchical level, are colored in same color
(yellow, green, blue, and red). The elements of the
sub-matrices are:
.
dc
ba
dc
ba
dc
ba
dc
ba
])2(X[])2(X[
])2(X[])2(X[)]4(X[
44
44
33
33
22
22
11
11
43
21
(18)
On each sub-matrix [Xk(2)] of size 22 (k=1,2,3,4) is
applied SVD2×2, in accordance with Eq. (3). As a
result, it is decomposed into two components:
])2(C[])2(C[])2(L[])2(L[)]2(X[ k,2k,1k,2k,2k,1k,1k
for k=1,2,3,4; (19)
where ,2/)A( k,1k,1k,1 ,2/)A( k,2k,2k,2
,VU)]2(L[ t k,1k,1k,1
.VU)]2(L[t
k,2k,2k,2
Using the matrices )]2(C[k,m
of size 22 for
k=1,2,3,4 and m=1,2, are composed the matrices
)]4(C[ m of size 44:
)4,m(c)4,m(c
)4,m(c)4,m(c
)3,m(c)3,m(c
)3,m(c)3,m(c
)2,m(c)2,m(c
)2,m(c)2,m(c
)1,m(c)1,m(c
)1,m(c)1,m(c
(2)]C[(2)]C[
(2)]C[(2)]C[)]4(C[
1413
1211
1413
1211
1413
1211
1413
1211
4m,3m,
2m,1m,
m
(20)
for m=1,2. Hence, the SVD decomposition of the
matrix [X] in the first level is represented by two
components:
(2)])C[(2)]C([])(2)C[](2)C([
(2)])C[(2)]C([])(2)C[](2)C([
(4)]C[+(4)]C[=(4)]X[
2,41,42,31,3
2,21,22,11,1
21
(21)
In the second level (r=2) of HSVD, on each matrix
)]4(C[ m of size 44 is applied four times the
SVD2×2. Unlike the transform in the previous level,
International Journal Multimedia and Image Processing (IJMIP), Volume 5, Issues 3/4, September/December 2015
Copyright © 2015, Infonomics Society 289
in the second level the SVD2×2 is applied on the sub-
matrices [Cm,k(2)] of size 22, whose elements are
mutually interlaced and are defined in accordance
with the scheme, given in the upper part of Fig. 2.
The elements of the sub-matrices, on which is
applied the SVD2×2 in the second hierarchical level
are colored in same color (yellow, green, blue, and
red). As it is seen from the Figure, the elements of
the sub-matrices of size 2×2 in the second level are
not neighbors, but placed one element away in
horizontal and vertical directions. In result, each
matrix )]4(C[ m is decomposed into two components:
)]4(C[)]4(C[)]4(C[ 2,m1,mm for m=1,2. (22)
Then, the full decomposition of the matrix [X] is
represented by the relation (23):
2
1m
2
1s
s,m2,21,22,11,1 ])4(C[])4(C[])4(C[])4(C[])4(C[])4(X[
)4,4(c)3,4(c
)4,3(c)3,3(c
)2,4(c)1,4(c
)2,3(c)1,3(c
)4,2(c)3,2(c
)4,1(c)3,1(c
)2,2(c)1,2(c
)2,1(c)1,1(c
]C[
ii
ii
ii
ii
ii
ii
ii
ii
i
4443
3433
4241
3231
2423
1413
2221
1211
xx
xx
xx
xx
xx
xx
xx
xx
]X[
X(1,1)
X(1,2)
X(2,1)
X(2,2)
X(1,3)
X(1,4)
X(2,4)
X(3,1)
X(3,2)
X(4,1)
X(4,2)
X(3,3)
X(3,4)
X(4,3)
X(4,4)
X(2,3)
c1(1,2)
c1(1,4)
c1(3,2)
c1(3,4)
c2(2,3)
c2(4,1)
c2(4,3)
c1(2,1)
c1(2,3)
c1(4,1)
c1(4,3)
c1(2,2)
c1(2,4)
c1(4,4)
c1(1,1)
c1(3,1)
c1(1,3)
c2(1,1)
c1(3,3)
c2(1,2)
c2(1,1)
C2(1,3)
c2(3,1)
c2(3,3)
c2(1,2)
c2(1,4)
c2(3,2)
c2(2,1)
c2(2,1)
c2(2,2)
c2(1,3)
c2(1,4)
c2(2,3)
c2(2,4)
c2(3,1)
c2(3,4)
c1(4,2)
SVD 2x2SVD 2x2
SVD 2x2SVD 2x2
c1(1,1)
c1(1,2)
c1(2,1)
c1(2,2)
c1(1,3)
c1(1,4)
c1(2,3)
c1(2,4)
SVD 2x2SVD 2x2
c1(3,1)
SVD 2x2SVD 2x2
c1(3,2)
c1(4,1)
c1(4,2)
c1(3,3)
c1(3,4)
c1(4,3)
c1(4,4)
c2(3,2)
c2(4,1)
c2(4,2)
c2(3,3)
c2(3,4)
c2(4,3)
c2(4,4)
SVD 2x2
[C(1)]SVD 2x2
C1,2(1,1)C2,1(1,1)
C1,2(1,2)
C2,1(1,2)
C2,1(2,1)
C2,1(2,2)
C2,2(1,1)
C2,2(1,2)
C2,2(2,1)
C2,2(2,2)
SVD 2x2SVD 2x2
C1,1(1,1)
C1,1(1,2)
C1,2(2,1)
C1,1(2,1)
C1,2(2,2)
C1,1(2,2)
SVD 2x2
[C(1)]SVD 2x2
C1,2(1,3)
C2,1(1,3)
C1,2(1,4)
C2,1(1,4)
C2,1(2,3)
C2,1(2,4)
C2,2(1,3)
C2,2(1,4)
C2,2(2,4)
SVD 2x2SVD 2x2
C1,1(1,3)
C1,1(1,4)
C1,2(2,3)
C1,1(2,3)
C1,2(2,4)
C1,1(2,4)
SVD 2x2
[C(1)]SVD 2x2
C1,2(3,1)
C1,1(3,1)
C1,2(3,2)
C2,1(3,2)
C2,1(4,1)
C2,1(4,2)
C2,2(3,1)
C2,2(3,2)
C2,2(4,2)
SVD 2x2SVD 2x2
C1,1(3,1)
C1,2(4,1)
C1,1(4,1)
C1,2(4,2)
C1,1(4,2)
SVD 2x2
[C(1)]SVD 2x2
C1,2(3,3)C2,1(3,3)
C1,2(3,4)C2,1(3,4)
C2,1(4,3)
C21(4,4)
C2,2(3,3)
C2,2(3,4)
C2,2(4,4)
SVD 2x2SVD 2x2
C1,1(3,3)
C1,1(3,4)
C1,2(4,3)
C1,1(4,3)
C1,2(4,4)
C1,1(4,4)
Rearrangement
Level 1 Level 2
[X1]
[X2]
[X3]
[X4]
[Ci,1]
[Ci,2]
]C]/[C[ 21 ]C]/[C]/[C]/[C[ 2,21,22,11,1
[Ci,s,1]
C2,2(4,3)
C2,2(4,1)
C1,1(3,2)
11 12 21 22
13
31
33
14 23 24
32 41 42
34 43 44
]X[
]X[ 1 ]X[ 2
]X[ 4]X[ 3
22
31
13
33
41 32 42
23 14 24
43 34 44
)]1(C[ i )]2(C[ i
12
]C[ i
)]3(C[ i )]4(C[ i
11 21
i=1,2
i=1,2
[Ci,3] i=1,2
[Ci,4] i=1,2
c2(2,2)
c2(2,4)
c2(4,2)
c2(4,4)
)4,4(c)3,4(c
)4,3(c)3,3(c
)2,4(c)1,4(c
)2,3(c)1,3(c
)4,2(c)3,2(c
)4,1(c)3,1(c
)2,2(c)1,2(c
)2,1(c)1,1(c
]C[
s,is,i
s,is,i
s.is,i
s,is,i
s,is,i
s,is,i
s,is.i
s,is,i
s,i
i=1,2 i=1,2
s=1,2
[Ci,s,2]C2,2(2,3)
[Ci,s,3]
[Ci,s,4]
s=1,2
s=1,2
s=1,2
s=1,2
2x2
2x2
2x2
4x4
4x4 4x4
4x4
2x2
2x2
2x2
2x2
Block SVD2x2 for level 1
Block SVD2x2 for level 2
4x4
2x2
i=1,2
i=1,2
i=1,2
i=1,2
Figure 2. Flow graph of the HSVD algorithm represented through the vector-radix (2×2) for a matrix of size 4×4
Hence, the decomposition for image of size 4×4
comprises four components. The matrix [X(8)] is of size 2323 (N=23=8 for n=3), and in this case the
HSVD is executed through multiple calculation of
International Journal Multimedia and Image Processing (IJMIP), Volume 5, Issues 3/4, September/December 2015
Copyright © 2015, Infonomics Society 290
the SVD2×2 on blocks of size 22, in all levels (the
general number of the decomposition components is
eight). In the first and second levels, the SVD2×2 is
executed in accordance with the scheme, shown in
Figure 1.
In the third level, the SVD2×2 is mainly applied
on sub-matrices of size 22. Their elements are
defined in similar way, as shown on Fig. 1, but the
elements of same color (i.e., which belong to same
sub-matrix) are moved three elements away in
horizontal and vertical directions. The so described
HSVD algorithm could be generalized for the cases,
when the image [X(2n)] is of size 2n2n pixels. Then
the relation (23) becomes as shown below:
2
1p
2
1p
2
p
np,...p,p
n
1 2 n
n21])2(C[.....])2(X[ (24)
The maximum number of the HSVD decomposition
levels is n, the maximum number of the
decomposition components (24) is 2n, and the
distance in horizontal and vertical direction between
the elements of the blocks of size 22 in the level r is
correspondingly (2r-1-1) elements, for r =1,2,..,n.
4. Computational complexity of the
Hierarchical 2D SVD
4.1. Computational complexity of SVD22
The computational complexity could be defined
by using the Eq. (3), and taking into account the
operations multiplication and addition, needed for
the preliminary calculation of the components , ,
, , , ,A 1, 2, 1, 1, defined by the Eqs. (4)-(9).
Then:
- The number of the multiplications, needed for
the calculation of Eq. (3) is m = 39;
- The number of the additions, needed for the
calculation of Eq. (3) is s =15.
Then the total number of the algebraic operations
executed with floating point for SVD of size 22 is:
.54)22(O smSVD
(25)
4.2. Computational complexity of for HSVD
of size 2n2n
The computational complexity is defined on the
basis of SVD2×2. In this case, the number М of the
sub-matrices of size 22, which comprise the image
of size 2n2n, is 2n-12n-1=4n-1, and the number of
decomposition levels is n.
- The SVD2×2 number in the first level is М1=М=4n-1;
- The SVD2×2 number in the second level is
М2=2×М=2×4n-1;
- The SVD2×2 number in the level n is Мn=2n-1×M=
=2n-1×4n-1.
The total number of SVD2×2 is correspondingly
М=M(1+2+...+2n-1)=4n-1(2n-1)=22n-2(2n-1). Then the
total number of the algebraic operations for HSVD
of size 2n2n is:
).12(227
)12(254)22(OM)22(O
n1-n2
n2-n2SVD
nnHSVD
(26)
4.3. Computational complexity of SVD of size
2n2n
For the calculation of the matrices [Y(N)] and
[Z(N)] of size NN for N=2n are needed 2n2
m 2
multiplications and )12(2n1n
s
additions in
total. The global number of operations is:
.)123(2)12(22)N(On1nn1n2n2
Z,Y
(27)
In accordance with [21], the number of operations
O(N) for the iterative calculation of all N
eigenvalues and the eigen N-component vectors of
the matrix of size NN for N=2n with L iterations, is
correspondingly:
,)422172)(126)(/1(
)42N17N81)(N)(6/1()N(O
n3n2n
2val
(28)
]1-)1LL2(2[2]1-)1LLN(N2[N)N(O n1nnvec
(29)
The number of the needed operations for calculation
of the eigen vectors sU
and sV
in accordance with
Eq. (29) should be doubled. From the analysis of Eq.
(1) it follows that:
- The number of needed multiplications for all
components is: ;2)22(21n3n2n2n
m
- The number of needed additions for all components
is: .12n
s
Then the total number of needed operations for the
calculation of Eq. (1) is:
1)12(21)12(2122)N(O 1n2n1n2nn1n3D
(30)
Hence, the total number of algebraic operations,
needed for the execution of SVD of size 2n2n is
(31):
.1)422172)(6/1(]52)12(L2[2
)2(O)2(O2)2(O)2(O)2(2O
n3n21nn1n2
nD
nvec
nval
nZ,Y
nnSVD
4.4. Relative computational complexity of the
HSVD
The relative computational complexity of the
HSVD could be calculated on the basis of Eqs. (31)
and (26), using the relation below:
International Journal Multimedia and Image Processing (IJMIP), Volume 5, Issues 3/4, September/December 2015
Copyright © 2015, Infonomics Society 291
6)422172()12(
]3)32(2)1LL2(2[23
)12(281
1
)22(O
)22(O)L,n(
n3n2n
n1nn2n1n
nn2nnHSVD
nnSVD
(32)
For n=2,3,4,5 (i.e., for image blocks of size 44,
88, 1616 and 3232 pixels), the values of (n,L)
for L=10 are given in Table 1.
Table 1. Coefficient (n,L) of the relative reduction of the
computational complexity of the HSVD towards the SVD
as a function of n, for L=10
n 2 3 4 5
(n,10) 5.94 4.21 3.67 3.44
For big values of n the relation (n,L) does not
depend on n and trends towards:
)1L3(0.1)L,n( n
(33)
Hence, for big values of n, when the number of the
iterations L 6, the relation 1)L,n( , and the
computational complexity of the HSVD is lower than
that of the SVD. Practically, the value of L is
significantly higher than 4. For big values of n the
coefficient (n,10)=3.1 and the computational
complexity of the HSVD is three times lower than
that of the SVD.
5. Representation of the 2D HSVD
algorithm through tree-like structure
The tree-like structure of the HSVD algorithm of
n=2 levels, shown in Figure 3, is built on the basis of
Eq. (23), for image block of size 4×4. As it could be
seen, this is a binary tree. For a block of size 8×8,
this binary tree should be of 3 levels (n=3).
HSVD
Level 1
HSVD
Level 2
[X] [X4]
[X1] [X2]
[X3]
[C1]
[C1,1] [C1,2] [C2,1] [C2,2]
[C2] 2,1 2,2
2,3 2,4 1,3 1,4
1,1 1,2
1,1(1) 1,2(1)
1,3(1) 1,4(1)
1,1(2) 1,2(2)
1,3(2) 1,4(2)
2,1(1) 2,2(1)
2,3(1) 2,4(1)
2,1(1) 2,2(1)
2,3(1) 2,4(1)
(44)
(44) (44)
(44) (44)
Figure 3. Binary tree, representing the HSVD algorithm for
the image matrix [X] of size 44
Each tree branch has a corresponding eigen value
,k,s or resp. k,sk,s for the level 1, and
)m(k,s or resp. )m()m( k,sk,s - for the level 2
(m=1,2). The total number of the tree branches
shown in Figure 4, is equal to six. It is possible some
branches to be cut-off, if for them are satisfied the
conditions: 0)m(k,sk,s or
,)m()m( k,sk,sk,sk,s i.e., when they are
equal to 0, or are smaller than a small threshold
,k,s resp. ).m(k,s To cut off one НSVD
component [Ci] in a given level, it is necessary all
values of i, which participate in this component, to
be equal to zero, or very close to it. In result, the
decomposition in the corresponding branch could be
stopped before the last level n. From this follows,
that the НSVD algorithm is adaptive in respect of the
contents of each image block. In this sense, the
algorithm НSVD is adaptive and could be easily
adjusted to the requirements of each particular
application.
6. Decomposition for tensor of size 222
The 3rd order tensor [T] with rank 2 and size
2×2×2, is noted here as [Т2×2×2], and is the kernel of
the decomposition of the tensor [T] of size N×N×N
(3rd order tensor with rank N, for N=2n). After
unfolding the tensor [T2×2×2] in vertical direction, is
obtained:
]X[]X[hgdc
feba]T[unfold 21222
(34)
The HSVD algorithm for the tensor [T] of size
2×2×2, based on the SVD2×2, is shown on Fig. 4.
In the first level of HSVD for the tensor [T2×2×2], on
each matrix [X1] and [X2] is applied SVD2×2, and in
result is got (35):
],C[]C[dc
ba]X[ 12111
]C[]C[
hg
fe]X[ 22212
(35)
The obtained matrices [Ci,j] of size 2×2 for i,j=1,2
should be rearranged in new couples in accordance
with the decrease of their energy .2 j,i After the
rearrangement, the first couple of matrices [C11] and
[C21], which have high energy, defines the tensor
[T1(2×2×2)], and the second couple [C12] and [C22]
which have lower energy - the tensor [T2(2×2×2)]. Then:
].T[]T[]T[ )222(2)222(1222
(36)
After unfolding both tensors in horizontal direction, is
obtained:
International Journal Multimedia and Image Processing (IJMIP), Volume 5, Issues 3/4, September/December 2015
Copyright © 2015, Infonomics Society 292
]X[]X[]X[]X[
]T[unfold]T[unfold
22122111
)222(2)222(1
(37)
In the second level of HSVD, on each matrix [Xi,j] of
size 2×2, in Eq. (37) is applied SVD2×2 and in result:
].C[]C[]X[ ],C[]C[]X[
],C[]C[]X[ ],C[]C[]X[
2222212212212112
2122112111211111
(38)
The obtained matrices [Ci,j,k] of size 2×2 for i,j,k=1,2
are rearranged into 4 new couples with similar energy 2
k,j,i in order, defined by its decrease. Each of these
4 couples of matrices defines a corresponding tensor
of size 2×2×2. After their unfolding is obtained (39):
.]C[]C[]C[]C[]C[]C[]C[]C[
}])2(T[])1(T[])2(T[])1(T[{oldinf
222122212112221121211111
)222(2)222(2)222(1)222(1
In result of the execution of the two levels of
HSVD2×2×2, the tensor [Т2×2×2] is represented as
below:
(40) .)]j(T[
])2(T[])1(T[])2(T[)]1(T[]T[
2
1i
2
1j
)222(i
)222(2)222(2)222(1)222(1222
Here the tensors [Ti(2×2×2)(j)] of size 2×2×2 are
arranged in accordance with the decrease of the
singular values I,j,k of the matrices [Ci,j,k]. The flow
graph of the 2-level HSVD algorithm for the tensor
[T] of size 2×2×2, is shown on Fig. 5. From Eq. (25)
it follows, that the total number of the algebraic
operations for HSVD with tensor [T2×2×2] is:
OHSVD(222)=6OSVD(22)=654=324.
(41)
SVD2x2
a
dc
b
hg
fe
Rearrengement 1
Rearrengement 2 Rearrengement 2
Level 1
Level 2
[X1]
[X2]
[C12]
]C[]C[dcba
]X[ 12111
]C[]C[hgfe
]X[ 22212
[C22]
[C111]
[C211]
[C121]
[C221]
[C112]
[C212]
[C122]
[C222]
]T[ 222
)]1(T[ 1 )]2(T[ 1 )]1(T[ 2 )]2(T[ 2
)]2(T[)]1(T[)]2(T[)]1(T[
]T[]T[]T[
2211
21222
HSVD2x2x2
]T[ 2
+ + +
+
SVD2x2
11
1615
12
1817
1413
[C11][C21]
]T[ 1
SVD2x2
SVD2x2
SVD2x2
SVD2x2
1413
1211
11dc
ba]X[
1817
1615
12hg
fe]X[
2423
2221
21dc
ba]X[
2827
2625
22hg
fe]X[
24
28
26
22
25
21
27
23
Figure 4. HSVD algorithm for the tensor [T] of size 2×2×2, based on the SVD2×2, and binary 2-level tree
International Journal Multimedia and Image Processing (IJMIP), Volume 5, Issues 3/4, September/December 2015
Copyright © 2015, Infonomics Society 293
a
b
c
d
e
f
h
g
c12(1,1)
c12(1,2)
c22(1,1)
c22(1,2)
c11(1,1)
c21(1,1)
c11(1,2)
c12(1,1)
c21(1,2)
c12(1,2)
c11(2,1)
c11(2,2)
c21(2,1)
c21(2,2)
c12(2,1)
c12(2,2)
c22(2,1)
c12(2,1)
c12(2,2)
c22(1,1)
c22(1,2)
c22(2,1)
c22(2,2) c22(2,2)
SVD 2x2SVD 2x2
1
SVD 2x2SVD 2x2
2
c11(1,1)
c11(1,2)
c11(2,1)
c11(2,2)
c21(1,1)
c21(1,2)
c21(2,1)
c21(2,2)
SVD 2x2
[C(1)]SVD 2x2
C112(1,1)
C211(1,1)
C112(1,2)
C211(1,2)
C211(2,1)
C211(2,2)
C212(1,1)
C212(1,2)
C212(2,1)
C212(2,2)
SVD 2x2SVD 2x2
3/4
C111(1,2)
C112(2,1)
C111(2,1)
C112(2,2)
C111(2,2)
SVD 2x2
[C(1)]SVD 2x2
C122(1,1)C221(1,1)
C122(1,2)
C221(1,2)
C221(2,1)
C221(2,2)
C222(1,1)
C222(1,2)
C222(2,2)
SVD 2x2SVD 2x2
5/6
C121(1,1)
C121(1,2)
C122(2,1)
C121(2,1)
C122(2,2)
C121(2,2)
Rearrangement 1Level 1 Level 2
[X1]
[X2] C222(2,1)
]C[ 11
]C[ 22
]C[ 12
]C[ 21
]C[ 111
]C[ 121
]C[ 112
]C[ 122
]C[ 121
]C[ 122
]C[ 221
]C[ 222
Rearrangement 2
]C[ 111
]C[ 112
]C[ 121
]C[ 221
]C[ 121
]C[ 122
]C[ 122
]C[ 222
C111(1,1)
C212(1,1)
C122(1,1)
C212(1,2)
C122(1,2)
C122(2,1)
C122(2,2)
C222(1,2)
C222(2,2)
C112(1,1)
C112(1,2)
C212(2,1)
C112(2,1)
C212(2,2)
C112(2,2)
C222(2,1)
C211(1,1)
C121(1,1)
C211(1,2)C121(1,2)
C121(2,1)
C121(2,2)
C221(1,2)
C221(2,2)
C111(1,1)
C111(1,2)
C211(2,1)
C111(2,1)
C211(2,2)
C111(2,2)
C221(2,1)
Tensor
hgdc
feba
]X[]X[
][Tunfold
21
222
]T[ 222
a
dc
b
hg
fe
C222(1,1)
C221(1,1)
[X11]
[X21]
]T[ 1
[X12]
[X22]
]T[ 2 [C112]
[C212]
]T[ 21
[C122]
[C222]
]T[ 22
[C121]
[C221]
]T[ 12
[C111]
[C211]
]T[ 11
[X1]
[X2]
],C[]C[dc
ba]X[ 12111
].C[]C[hg
fe]X[ 22212
],C[]C[]X[
],C[]C[]X[
21221121
11211111
].C[]C[]X[
],C[]C[]X[
22222122
12212112
[X11]
[X21]
[X12]
[X22]
Figure 5. The flow graph of the 2-level HSVD for the tensor [T] of size 2×2×2, based on the SVD2×2
7. The 3D HSVD algorithm for image of
size 444
In this case, the tensor [Т444] (for N=4) is divided
into 8 sub-tensors [T2×2×2], as shown on Fig. 5. The
pixels, which belong to one kernel, are colored in
same color: yellow, red, green, blue, white, purple,
light blue, and orange. The HSVD444 algorithm is
executed in two levels. In the first level of
HSVD444, on each kernel [T2×2×2(i)], where
i=1,2,..,8, from the tensor [Т444], is applied the
HSVD222 algorithm, shown on Fig. 6. As a result,
each kernel is represented as a sum of four
components:
)]2(T[)]1(T[)]2(T[)]1(T[)]i(T[ 2,i2,i1,i1,i222 (42)
for i=1,2,..,8.
Sub-tensor (kernel)
2×2×2
Tensor 1
4×4×4
Tensor 2
4×4×4
Tensor 3
4×4×4
Tensor 4
4×4×4
Figure 6. Division of tensors [Тi(4×4×4)(j)] into the kernels
[Tj(2×2×2)(i)] in the second HSVD444 level, where the
HSVD222 is applied on each group of pixels of same
color (32 in total)
The decomposition of all kernels leads to the
representation of the tensor [Т444] as a sum of four
components as well:
2
1i
2
1j
)444(i444 )]j(T[]T[ . (43)
Each of the four tensors [Тi(4×4×4)(j)] consists of eight
kernels [Ti,k(2×2×2)(j)] for i=1,2, k=1,2, j=1,2, and
hence the total number of kernels is 32. The tensors
[Тi(4×4×4)(j)] in Eq. (43) are rearranged in accordance
with the energy decrease of the kernels [Ti,k(2×2×2)(j)],
which build them.
In the second level of HSVD444, each of the four
tensors [Тi(4×4×4)(j)] from Eq. (42), is divided into 8
sub-tensors (kernels) [Ti,k(2×2×2)(j)] for i=1,2, j=1,2
and k=1,2 in the way, defined by the spatial set of
pixels of same color, shown on Fig. 6. The color of
the pixels for each kernel corresponds to that of the
first level of the HSVD444 algorithm: yellow, red,
green, blue, white, purple, light blue, and orange.
International Journal Multimedia and Image Processing (IJMIP), Volume 5, Issues 3/4, September/December 2015
Copyright © 2015, Infonomics Society 294
On each kernel is applied again the two-level
НSVD2×2×2 in accordance with Figure 4. After the
execution of the second decomposition level, the
tensor [Т444] is represented as a sum of 16
components:
4
1i
4
1j
)444(i444 )]j(T[]T[ . (44)
The so obtained 16 tensors [Тi(4×4×4)(j)] are arranged
in accordance with the decreasing values of the
singular values (energies) of the kernels,
[Ti,k(2×2×2)(j)], which compose them, for i=1,2, j=1,2
and k=1,2. In case that the HSVD444 is represented
through the calculation graph from Fig. 5, the total
number of decomposition levels is four. The
corresponding binary tree structure of 16 leaves is
shown in Figure 7.
As it could be seen from Figures 5, 6 and 7, in the
first level of HSVD444 the decomposition
HSVD222 is applied eight times, and in the second
level - 32 times.
Level 1
Level 2
Level 3
Level 4
Rearrangement
Rearrangement
Rearrangement
Rearrangement
Tensor 4×4×4
Rejected
component
Truncated 3D HSVD
Retained
component
Tensor approximation
Level 1 of
3D HSVD
Level 2 of 3D HSVD
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
Figure 7. Structure of the calculation graph for HSVD444:
full binary tree of 4 levels and 16 leaves
Then, taking into account Eq. (41), for the total
number of algebraic operations for HSVD444 of the
tensor [T4×4×4], is obtained (45):
.32440)222(O)41(8)222(O HSVD222
HSVD
As an example (Fig.7) the decomposition elements
(tensors of size 444), which could be reduced
through threshold selection (if this condition is
satisfied for the second component in the first level of
HSVD444), are colored in blue.
8. 3D HSVD for tensor-represented
image of size N×N×N
The decomposition of the tensor [Т444] in
correspondence with Eq. (44) could be generalized
for the case, when the tensor [TN×N×N] is of size
N×N×N for N=2n. As a result of the use of the radix-
(2×2) HSVDN×N×N algorithm, the tensor ]T[ nnn 222
is represented as a sum of N2=22n eigen tensors:
.)]j(T[]T[
n n
nnnnnn
2
1i
2
1j)222(i222
(46)
The eigen tensors )]j(T[)222(i nnn
of size 2n×2n×2n
for i, j, k = 1,2,..,2n are arranged in accordance with
the decreasing values of the kernels energies
[Ti,k(2×2×2)(j)], which build them. The computational
complexity of the algorithm for decomposition of the
tensor ]T[ nnn 222 could be defined, taking into
account that for the execution of nnn 222HSVD are
needed n levels, where the HSVD222 is applied on
each level. Then, from Eqs. (41) and (45) follows:
(47) .1)2-2(543244)14)(3/8(
)222(O)41(84)222(O
2nn22nn
HSVD
1n
1i
i2nnnnHSVD
In the relation above, 54 represents the number of
algebraic operations for SVD22, which is applied 22 1)N-N( times on the tensor [TN×N×N]. The SVD22
is the basic operation of the decomposition, which is
executed repeatedly, the new algorithm is called
radix-(2×2) HSVD. In accordance to Grasedyck [27],
the complexity to compute hierarchical SVD for H-
Tucker tensors of rank 2n, mode size 2n and order 3,
is О(3×23n+3×24n). The comparison of the
computational complexity of O(24n) and the
nnn 222HSVD
shows the advantage of the last one.
The relative computational complexity of
nnn 222HSVD
for a 3D image is:
3)21(32
)22(3
)222(O
)222(O)n( n
n4
n4n3
nnnHSVD
nnnkerTucH
(48)
In case that the number of decomposition
components from Eq. (46) is limited through
threshold selection of the low-energy components,
the computational complexity could be additionally
reduced, which follows from Eq. (47). Besides, the
mean square approximation error of the tensor
[TN×N×N], got in result of the components reduction,
is minimum. This follows from the fact, that each
kernel is defined through HSVD222 on the basis of
the "classic" SVD22, which minimizes the mean
square approximation error.
9. Conclusions
In respect of the famous H-Tucker
decomposition, the presented 3DHSVD algorithm is
quasi-optimal. The basic difference from the Tucker
algorithm is, that each decomposition component for
International Journal Multimedia and Image Processing (IJMIP), Volume 5, Issues 3/4, September/December 2015
Copyright © 2015, Infonomics Society 295
a tensor of size N×N×N is represented as an outer
product of 3 mutually orthogonal N-dimensional
vectors, while for the 3DHSVD the component is
defined by the kernels of size 2×2×2, contained by it.
The basic advantages of the new decomposition for
multi-dimensional images are the low computational
complexity and the tree-like structure, which permits
cutting-off the low-energy branches through
threshold selection. This makes the algorithm
suitable for parallel processing with multi-processor
systems, where the basic processor executes the
kernel decomposition algorithm for a tensor of size
2×2×2. The 3DHSVD algorithm opens new
possibilities for fast image processing in various
application areas, such as: image filtration,
segmentation, merging, digital watermarking,
extraction reduced number of features for pattern
recognition, etc.
References
[1] Fieguth, P. (2011). Statistical image processing and
multidimensional modeling, Springer.
[2] Diamantaras, K., Kung, S. (1996). Principal
Component Neural Networks, Wiley, New York.
[3] Orfanidis, S. (2007). SVD, PCA, KLT, CCA, and All
That, Rutgers University Electrical & Computer
Engineering Department, Optimum Signal Processing, pp.
1-77.
[4] Levy, A., Lindenbaum, M. (2000). Sequential
Karhunen-Loeve Basis Extraction and its Application to
Images, IEEE Trans. on Image Processing, Vol. 9, No. 8,
pp. 1371-1374.
[5] Sadek, R. (2012). SVD Based Image Processing
Applications: State of The Art, Intern. J. of Advanced
Computer Science and Applications, 3(7), pp. 26-34.
[6] Drinea, E., Drineas P., Huggins, P. (2001). A
Randomized SVD Algorithm for Image Processing Appl.,
Proc. of the 8th Panhellenic Conf. on Informatics, Y.
Manolopoulos, S. Evripidou (Eds), Nicosia, Cyprus, pp.
278-288.
[7] Holmes, M., Gray, A., Isbell, C. (2008). QUIC-SVD:
Fast SVD using Cosine trees, Proc. of NIPS, pp. 673-680.
[8] Foster, B., Mahadevan, S., Wang, R. (2012). A GPU-
based Approximate SVD Algorithm, 9th Intern. Conf. on
Parallel Processing and Applied Mathematics, 2011,
LNCS, Vol. 7203, pp. 569-578.
[9] Yoshikawa, M., Gong, Y., Ashino, R., Vaillancourt, R.
(2005). Case study on SVD multiresolution analysis,
CRM-3179, pp. 1-18.
[10] Waldemar, P., Ramstad, T. (1997). Hybrid KLT-SVD
image compression, IEEE Intern. Conf. on Acoustics,
Speech, and Signal Processing, IEEE Comput. Soc. Press,
Los Alamitos, pp. 2713-2716.
[11] Aharon, M., Elad, M., Bruckstein, A. (2006). The K-
SVD: an algorithm for designing of overcomplete
dictionaries for sparse representation, IEEE Trans. on
Signal Processing, 54, pp. 4311-4322.
[12] Singh, S., Kumar, S. (2011). SVD Based Sub-band
Decomposition and Multiresolution Representation of
Digital Colour Images, Pertanika J. of Science &
Technology, 19 (2), pp. 229-235.
[13] Kountchev, R., Kountcheva, R. (2015). Hierarchical
SVD for Halftone Images. The 7th International Conference
on Information Technology Big Data, Al Zayatoonah
University, Amman, Jordan, May 12-15, pp. 50-58.
[14] Kountchev, R., Kountcheva, R. (2015). Hierarchical
SVD-based Image Decomposition with Tree Structure,
Intern. J. of Reasoning-Based Intelligent Systems,
7(1/2),pp.114-129.
[15] De Lathauwer, L. (2008). Decompositions of a
higher-order tensor in block terms - Part I and II, SIAM J.
Matrix Anal. Appl., Vol. 30, pp. 1022-1066.
[16] Kolda, T., Bader, B. (2009). Tensor decompositions
and applications, SIAM Review, 51(3), pp. 455-500.
[17] Bergqvist, G., Larsson, E. (2010). The Higher-Order
SVD: Theory and an Application, IEEE Signal Processing
Magazine, 27(3), pp. 151-154.
[18] Salmi, J., Richter, A., Koivunen, V. (2009).
Sequential Unfolding SVD for Tensors with Applications in
Array Signal Processing, IEEE Trans, on Signal
Processing, 57 (12), pp. 4719-4733.
[19] Grasedyck, L. (2010). Hierarchical SVD of Tensors,
SIAM J, on Matrix Analysis and Applications, 31(4), pp.
2029-2054.
[20] Oseledets, I. (2011). Tensor-train decomposition,
SIAM Journal on Scientic Computing, 33(5), pp. 2295-
2317.
[21] Cichocki, A., Mandic, D., Phan, A-H., Caiafa, C., G.
Zhou, Zhao, Q., De Lathauwer, L. (2015). Tensor
Decompositions for Signal Processing Applications, IEEE
Signal Processing Magazine, 32(2), pp. 145-163.
[22] Wu, Q., Xia, T., Yu, Y. (2007). Hierarchical Tensor
Approximation of Multidimensional Images, IEEE Intern.
Conf. on Image Processing (ICIP’07), San Antonio, TX,
Vol. 6, pp. IV-49, IV-52.
International Journal Multimedia and Image Processing (IJMIP), Volume 5, Issues 3/4, September/December 2015
Copyright © 2015, Infonomics Society 296
http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=79http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=79