You are on page 1of 23

Integer Cosine Transform (ICT)

Chia-Hao Tsai ()
E-mail: r98942062@ntu.edu.tw
Graduate Institute of Communication Engineering
National Taiwan University, Taipei, Taiwan, ROC
Abstract
The discrete cosine transform (DCT) uses the concept of the transform coding that
has best performance in image compression and filtering for image. The block sizes of
most appropriate are 8 or 16 for the transform coding of the image data. Therefore,
implementation of the order-8 and -16 DCTs has fast computing time and
cost-effectiveness for realization of a transform coding. However, the components of
the basis vectors of the DCT exist irrational numbers then cannot be reduced to
integers by simple scaling. Therefore, it is hard to implement and using floating point
arithmetic is complex and expensive, so integer cosine transforms (ICTs) are proposed
to implement the DCT by using simple integer arithmetic. On the basis of theory of
dyadic symmetry, transforms the order-8 and order-16 cosine transform into a family
of integer cosine transforms (ICTs). If the better performance is demanded, the large
magnitudes can be used for the integer transforms. If the fast computation speed and
the low implementation cost are desired, the integer transforms of small transform
component magnitudes are chosen. An engineer can freely choose to tradeoff the
performance and speed for the ICTs in designing the transform coding.
Finally, we also show the other integer sinusoidal transforms. Each member of the
sinusoidal family is the optimal Karhunen-Loeve transform (KLT) of a particular
Markov process. The cosine and sine transforms are widely used for image coding.











Equation Chapter 1 Section 1
1. Implementation of integer cosine transform by dyadic
symmetry
1.1 Introduction
The advantage of the transform coding is high compression ratio for the image
compression. A transform coding is included two parts. The first part is that using
orthogonal transform converts highly correlated image data into weakly correlated
coefficients. The second part is that doing adaptive quantization on coefficients
reduces the bit transmission rate. The discrete cosine transform (DCT) uses the
concept of the transform coding that has best performance in image compression and
filtering for image. The block sizes of most appropriate are 8 or 16 for the transform
coding of the image data. For that reason, implementation of the order-8 and -16
DCTs has fast computing time and cost-effectiveness for realization of a transform
coding.
However, the components of the basis vectors of the DCT exist irrational numbers
then cannot be reduced to integers by simple scaling. Therefore, it is hard to
implement and using floating point arithmetic is complex and expensive.
Approximating the real magnitudes of the DCT components can eliminate floating
point arithmetic by M-bit integers then the DCT can be computed using integer
multiplications and additions. If the order-8 requires 7 bits for representation the
components, the 2-D order-8 requires 24-bit multiplication and 25-bit addition
operations. It is difficult to implement and brings lots of delay in computation, so the
other researchers have proposed new transform such as the Walsh transform [1], [2],
slant transform [3] and the high-correlation transform (HCT) [4]. The proposed
transforms have an advantage of shorter bit lengths, but compares with the DCT then
their performance are all dissatisfactory. In addition, using the C-matrix transform
(CMT) to approximate the order-8 DCT was found in Jones et al. [5] with small
performance degradation. The CMT also can be extended to order-16 [6] and order-32
[7]. The C-matrix is derived by trial and error.
In the paper [8], the author proposed a new transform that is simple to implement
using simple integer arithmetic. On the basis of theory of dyadic symmetry,
transforms the order-8 cosine transform into a family of integer cosine transforms
(ICTs). We will introduce the method how use the ICT to achieve the DCT as below.

1.2 Definition of dyadic symmetry
Consider a vector of
2
m
elements
0 1 1
2
, , , m
a a a

(

, it is said that has ith dyadic
symmetry if and only if

, if symmetry is even
, 0 -1 and 1 -1,
2 2
, if symmetry is odd
i j
m m
j
i j
a
j i
a
a

= s s s s


(1.1)
where means the exclusive or operation.
There are seven possible dyadic symmetries for a vector of eight elements. Table
1.1 shows the
1 3 4 5 6 7 8 2
, , , , , , ,
s
a a a a a a a a H
= (

that have seven dyadic symmetries.
| |
1 2 3 4 5 6 7 8

a a a a a a a a
| |
| |
| |
| |
| |
| |
| |
1 1 2 2 3 3 4 4
1 2 1 2 3 4 3 4
1 2 2 1 3 4 4 3
1 2 3 4 1 2 4 3
1 2 3 4 2 1 4 3
1 2 3 4 3 4 1 2
1 2 3 4 4 3 2 1







h h h h h h h h
h h h h h h h h
h h h h h h h h
h h h h h h h h
h h h h h h h h
h h h h h h h h
h h h h h h h h
1
2
3
4
5
6
7
S
Vector
s
H

Table1.1 The seven vectors
s
H
having Sth even dyadic symmetry.

It is said that two vectors U and V are orthogonal if U and V have the same type of
dyadic symmetry and one is even and another is odd.

1.3 Generation of the order-n ICTs
1.3.1 Generation of the order-8 ICTs
Let | |
T be the kernel of order-n DCT and ( ) ,
n
i j
T
is the jth component of the
ith DCT basis vector as below.

( )
( )
1
, for 0
, , 0 1
0.5
2
cos , for 1 1
n
i
n
i j j n
T
i j
i n
n n
t

= s s

( +

s s
(


(1.2)
We describe the steps that transforms the order-8 DCT kernels into ICT kernels in
the following.
Step 1: Express the order-8 DCT kernel | |
T in form of a matrix of variable.
Consider the order-8 DCT, we can get its kernel from eq.(1.3):

| |
0 0 1 1 2 2 3 3 4 4 5 6 6 7 7 5
, , , , , , ,
t
T k k J k J k J k J k J J k J k J
( =


(1.3)
where
i
J
means ith basis vector and
i
k
denotes a scaling constant then makes
1
i
i
k
J
= . Let ( ) , J i j be the jth element of
i
J
. From eq.(1.1), we can know
8 8 8 8 8 8 8 8
(1, 0) (1, 7) (3, 2) (3, 5) (5,1) (5, 6) (7, 3) (7, 4)
T T T T T T T T
= = = =
= = =
then
we can represent the magnitude of (1, 0), (1, 7), (3, 2), (3,5), (5,1), (5, 6), (7,3) J J J J J J J
, and (7, 4) J by a single variable a. As shown Table 1.2, all eight vectors can be
expressed as variables b, c, d, e, and f in the same manner.
0 1 1 1 1 1 1 1 1
1
2
3
4 1 1 1 1 1 1 1 1
5
6
7
a b c d d c b a
e f f e e f f e
b d a c c a d b
c a d b b d a c
f e e f f e e f
d c b a a b c d







i
i
J

Table 1.2 The 8 scaled basis vectors in J .

Step 2: Find the conditions which
i
J
and
j
J
are orthogonal.
0
1
2
3
4
5
6
7
E E E E E E E
O
O E
O
O O E E O O E
O
O E
O






i Dyadic symmetry S in i
J

Table 1.3 Sth dyadic symmetry type in each basis vector
i
J
.

We find the condition which the ith basis vector
i
J
and the jth basis vector
j
J

are orthogonal for all i, j. Seeing Table 1.2 and Table 1.3, we can know that
0
J
has
even 7th dyadic symmetry and
1
J
has odd 7th dyadic symmetry. As we mentioned
the orthogonal property in section 1.2, so
0
J
and
1
J
are always orthogonal.
Because
0
J
has even 3rd dyadic symmetry and
2
J
has odd 3rd dyadic symmetry
then
0
J
and
2
J
are always orthogonal. Table 1.4 lists the variable a, b, c, and d
must be satisfied the condition to make the kernel | |
T be orthogonal:

. a b a c b d c d = + +

(1.4)
*3 *2 *3 *2 *3 *2 *3 0
*3 *1 *3 *1 *3 *4 1
*3 *2 *3 *4 *3 2
*3 *4 *3 *1 3
*3 *2 *3 4
*3 *1 5
*3 6
1 2 3 4 5 6 7 j
i
*1: if . a b a c b d c d = + +
*2: must the orthogonal due to 3rd dyadic symmetry
*3: must the orthogonal due to 7th dyadic symmetry
*4: must the orthogonal due to dot product equals zero

Table 1.4 The conditions which the ith basis vector and the jth basis vector are
orthogonal.

From eq.(1.4) we know, the four variables a, b, c, and d have infinitely many
solutions then it implies that the infinitely many new orthogonal transforms are
generated from the DCT.
Step 3: Set up boundary conditions and generate the new orthogonal transforms.
From eq.(1.1) and Table 1.2, the relationship of the magnitude of the variables a, b,
c, d, e, and f is for the DCT:

and . a b c d e f > > > >

(1.5)
To let the new orthogonal transforms be like the DCT, so the eq.(1.5) must be satisfied.
For eliminating truncation error, the eq.(1.6) also must be satisfied. The eq.(1.6) is as
below.


, , , , , and are integers a b c d e f

(1.6)
When the kernel of order-8 DCT | |
T is satisfied eq.(1.4), eq.(1.5), and eq.(1.6), it
can convert into the order-8 ICT. For example, ICT(5, 3, 2, 1, 3, 1) represents the
order-8 ICT with a=5, b=3, c=2, d=1, e=3, and f=1.

1.3.2 Generation of the order-2n ICTs
The order-n ( ) ,
n
i j
T
can be extended to the order-2n orthogonal transform
( )
2
,
n
i j
T
. The process is as below.
1. The first n basis vectors of ( )
2
,
n
i j
T
:

( ) ( )
2
, 2 ,
n n
i j i j
T T
= and ( ) ( )
2
, 2 1 , , for 0 1.
n n
i j i j j n
T T
+ = s s

(1.7)
2. The last n basis vectors of ( )
2
,
n
i j
T
:

1
( ) ( )
2
, 2 ,
n n
i n j i j
T T
+ = and
( ) ( ) { }
2
, 2 1 , , for 0, 2, 4, , 2 .
n n
i n j i j j n
T T
+ + = e

(1.8)

2
( ) ( )
2
, 2 ,
n n
i n j i j
T T
+ =

and
( ) ( ) { }
2
, 2 1 , , for 1, 3, 5, , 1 .
n n
i n j i j j n
T T
+ + = e

(1.9)
Any order-2
m
ICT for m>3 can be generated from the order-8 ICT.

1.4 Performance of order-n ICTs
1.4.1 Transform efficiency [4]
One part of a transform coding is using orthogonal transform converts highly
correlated image data into weakly correlated coefficients. If it uses the optimal
Karhunen-Loeve transform (KLT), we can say that its transform efficiency is equal to
100% for all .
Consider n-dimensional vector X, which is a sample from one-dimensional,
zero-mean, unit-variance first-order Markov process with adjacent element correlation
, and Y is a transformed matrix.

| |
Y T X =

(1.10)

| |
| || || |
11 1
1
=
=
t
Y
t
X
n
n nn
E
C Y Y
T T
C
s s
s s
(
=


(
(
(
(


(1.11)
where | |
X
C
is covariance matrix of the n-dimensional vector X then the (i, j)th
element of | |
X
C
is
i j


and | |
Y
C
is covariance matrix of the transformed
matrix. The efficiency of the kernel | |
T

is defined on the transformed domain:

1
1 1
Efficiency .
n
ii
i
n n
pq
p q
s
s
q
=
= =

=


(1.12)
The DCT has been popularly accepted and has the highest transform efficiency
within the suboptimal transforms when is close to unity. Table 1.5 shows the
highest transform efficiencies of the twelve order-8 ICTs when is equal to 0.9 and
a less than or equal to 255. From Table 1.5, we can realize that the transform
efficiencies of all twelve order-8 ICTs are higher than the order-8 DCT.
90.221 ICT(230, 201, 134, 46, 3, 1)
90.220 ICT(175, 153, 102, 35, 3, 1)
90.219 ICT(120, 105, 70, 24, 3, 1)
90.217 ICT(185, 162, 108, 37, 3, 1)
90.217 ICT(250, 219, 146, 50, 3, 1)
90.215 ICT(65, 57, 38, 13, 3, 1)
90.213 ICT(55, 48, 32, 11, 3, 1)
90.213 ICT(205, 180, 120, 41, 3, 1)
90.212 ICT(140, 123, 82, 28, 3, 1)
90.211 ICT(215, 189, 126, 43, 3, 1)
90.210 ICT(75, 66, 44, 15, 3, 1)
90.208 ICT(235, 207, 138, 47, 3, 1)
89.836 DCT
86.785 CMT
85.842 slant transform
84.097 HCT
77.140 Walshtransform
Transform
efficiency
Transform

Table 1.5 The highest transform efficiency of the twelve order-8 ICTs when is
equal to 0.9 and a less than or equal to 255.
Consider the order-16 ICT of the case, we can find that ICT(246, 222, 147, 50, 3
, 1) has the highest transform efficiency when a less than or equal to 255 and ICT(
10, 9, 6, 2, 3, 1) has the highest transform efficiency when a less than or equal to
128. The transform efficiencies of all two order-16 ICTs are lower than the order-16
DCT and the slant transform as shown in Table 1.6. Because the order-16 DCT and
the slant transform have 16-level, and the order-16 ICT only has 8-level then the
result is happened as the above said.
82.3 DCT
74.1 slant transform
73.9 ICT(246, 222, 147, 50, 3, 1)
73.8 ICT(10, 9, 6, 2, 3, 1)
73.7 CMT
68.4 HCT
60.9 Walsh transform
Transform
efficiency
Transform

Table 1.6 The highest transform efficiencies of the two order-16 ICTs when a less
than or equal to 255.

1.4.2 Basis restriction mean square error
To consider a two-dimensional zero-mean unit-variance nonseparable isotropic
Markov process with covariance function

( )
( ) ( )
2 2
, ,
, ; ,
=
x i j p q
i p j q
i j p q E
C x x

+
(
=


(1.13)
where is the adjacent element correlation in the vertical and horizontal directions.
Let the nn matrix [X] be a sample of the Markov process. If [X] is transformed into
[C] by transform [T], we can get

| | | || || |
.
t
C T X T =

(1.14)
where the elements of [X] and [C] are
, i j x
and
, u v c
then covariance function of [C]
is

( )
( ) ( ) ( ) ( ) ( )

, ,
, ; ,
= , ; , , , , , .
c u v r s
x
i j p q
u v r s E
C c c
i j p q T u i T u j T r p T s q
C
( =


(1.15)
The variance of
, u v
c
is equal to

( ) ( )
2
, = , ; ,
c
u v u v u v
C o

(1.16)
Suppose O be the set containing M index pairs (u, v) corresponding to the largest M
( ) ,
c
u v
o
then the basis restriction mean square error is defined as:

( )
( )
2
,
2
,
( ) 1
,
c
u v
c
u v
u v
e M
u v
o
o
eO

=


(1.17)
where ( ) ,
c
u v
o
is variance of matrix
| | | || || |
t
C T X T = and O means the set
which contains M index pairs ( ) , u v then corresponds to the largest M ( ) ,
c
u v
o
.
We can use the basis restriction mean-square-error to measure the data compression
ability of a transform. Comparing the basis restriction mean-square-errors of the ICTs
with various transforms when 0.95 = is shown in Table 1.7. From Table 1.7, we
can know that the relationship of the basis restriction mean square error:

Walsh>CMT>ICT>DCT>KLT.

(1.18)

1.5 Implementation
Let | |
T is an ICT and look the eq.(1.3) that we know

| | | || | | | | | | | | |
1
and
t t
T K J T T J K

= = =

(1.19)
where | |
K is a diagonal matrix and the values of the elements of | |
J are integers
because | |
T is an ICT. The adaptive 1-D transform coding system uses an order-8
ICT as shown Fig. 1.1. In upper part of Fig. 1.1 is its transmitter and in lower part of
Fig. 1.1 is its receiver.
2 0.1372 0.1381 0.1381 0.1381 0.1382 0.1387 0.1468
6 0.0567 0.0572 0.0573 0.0573 0.0573 0.0587 0.0785
10 0.0406 0.0409 0.0410 0.0410 0.0410 0.0431 0.0541
14 0.0320 0.0322 0.0323 0.0323 0.0323 0.0348 0.0441
18 0.0263 0.0264 0.0266 0.0266 0.0266 0.0287 0.0361
22 0.0221 0.0222 0.0223 0.0223 0.0224 0.0238 0.0300
26 0.0189 0.0189 0.0190 0.0190 0.0190 0.0198 0.0251
30 0.0160 0.0160 0.0162 0.0162 0.0162 0.0165 0.0205
34 0.0136 0.0136 0.0137 0.0137 0.0137 0.0140 0.0170
no. of
coefficients
retained
KLT DCT
ICT(230,
201, 134,
46, 3, 1)
ICT(55,
48, 32,
11, 3, 1)
ICT(10,
9, 6, 2, 3,
1)
CMT Walsh

Table 1.7 comparing the basis restriction mean-square-errors of the ICTs with various
transforms when 0.95 = .

0
k
1
k
7
k
quantizer #0
quantizer #1
quantizer #7
| | J
X
adaptive bit
allocation
0
c
1
c
7
c
0
k
1
k
7
k
quantizer #0
quantizer #1
quantizer #7
| |
t
J
'
X
adaptive
scheme
'
0
c
'
1
c
'
7
c
overhead
channel
overhead
'
0
c
'
1
c
'
7
c

Fig. 1.1 The Adaptive 1-D transform coding system using an order-8 ICT.
The fast algorithm of the ICT is like the DCT and only requires 4 iterations as
shown Fig. 1.2.
0
1
2
3
4
5
6
7
-
-
-
-
-
-
-
-
-
-q
-q
p
p
e
e
d
d
b
b
a
-a
c
-c
0
c
4
c
6
c
2
c
1
c
5
c
3
c
7
c

Fig. 1.2 The fast algorithm of the order-8 ICT where ( ) / 2 p b c a = + and
( ) / 2 q a d c = .
Equation Chapter (Next) Section 1
2. Implementation of order-16 integer cosine transform by
dyadic symmetry
2.1 Introduction
In chapter 1, we introduce a new transform that is simple to implement using
simple integer arithmetic [8]. On the basis of theory of dyadic symmetry, transforms
the order-8 and cosine transform into a family of integer cosine transforms (ICTs).
Any order-2
m
ICT for m>3 can be generated from the order-8 ICT. But its
performance is poorer than the order-16 DCT and the slant transform. Therefore, we
will introduce the method how directly use the order-16 ICT (denotes as ITs here) to
achieve the order-16 DCT by dyadic symmetry [9] then its performance is better than
the order-16 ICT [8] and the slant transform.

2.2 Definition of dyadic symmetry
As we have been seen in section 1.2, we can know the definition of dyadic
symmetry. By the definition, the order-16 even dyadic symmetry can be shown as
Table 2.1.
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 a a a a a a a a a a a a a a a a
(

1
2
3
4
5
6
7
1 2 3 4 5 6 7 8 5 6 7 8 1 2 3 4
1 2 3 4 5 6 7 8 6 5 8 7 2 1 4 3
1 2 3 4 5 6 7 8 7 8 5 6 3 4 1 2
1 2 3 4 5 6 7 8 8 7 6 5 4 3 2 1
h h h h h h h h h h h h h h h h
h h h h h h h h h h h h h h h h
h h h h h h h h h h h h h h h h
h h h h h h h h h h h h h h h h
1 1 2 2 3 3 4 4 5 5 6 6 7 7 8 8
1 2 1 2 3 4 3 4 5 6 5 6 7 8 7 8
1 2 2 1 3 4 4 3 5 6 6 5 7 8 8 7
1 2 3 4 1 2 3 4 5 6 7 8 5 6 7 8
1 2 3 4 2 1 4 3 5 6 7 8 6 5 8 7
1 2 3 4 3 4 1 2 5 6 7 8 7 8 5 6
1 2 3 4
h h h h h h h h h h h h h h h h
h h h h h h h h h h h h h h h h
h h h h h h h h h h h h h h h h
h h h h h h h h h h h h h h h h
h h h h h h h h h h h h h h h h
h h h h h h h h h h h h h h h h
h h h h 4 3 2 1 5 6 7 8 8 7 6 5 h h h h h h h h h h h h
1 2 3 4 5 6 7 8 1 2 3 4 5 6 7 8
1 2 3 4 5 6 7 8 2 1 4 3 6 5 8 7
1 2 3 4 5 6 7 8 3 4 1 2 7 8 5 6
1 2 3 4 5 6 7 8 4 3 2 1 8 7 6 5
h h h h h h h h h h h h h h h h
h h h h h h h h h h h h h h h h
h h h h h h h h h h h h h h h h
h h h h h h h h h h h h h h h h
8
9
10
11
12
13
14
15
Vector
s H
S

Table2.1 The fifteen vectors
s
H

having Sth even dyadic symmetry.

If want to get the order-16 dyadic symmetry matrix, only needs to change the signs
of
s
H
according to the odd dyadic symmetry in section 1.2. It is said that two
vectors U and V are orthogonal if U and V have the same type of dyadic symmetry
and one is even and another is odd.

2.3 Generation of the order-16 ICTs (ITs)
Let | |
T be the kernel of order-16 DCT and ( )
16
, i j
T
is the jth component of the
ith DCT basis vector as below.

( )
( )
16
1
, for 0
16
, , 0 15
0.5
2
cos , for 1 15
16 16
i
i j j
T
i j
i
t

= s s

( +

s s
(


(2.1)
We describe the steps that transforms the order-16 DCT kernels into ICT kernels in
the following.
Step 1: Express the order-8 DCT kernel | |
T in form of a matrix of variable.
Consider the order-16 DCT, we can get its kernel from eq.(2.2):

| |
0 0 1 1 2 2 3 3 4 4 5 6 6 7 7 5
[ , , , , , , , , T k k J k J k J k J k J J k J k J
=

8 8 9 9 10 10 11 11 12 12 13 14 14 15 15 13
, , , , , , ] ,
t
k k J k J k J k J k J J k J k J

(2.2)
where
i
J
means ith basis vector and
i
k
denotes a scaling constant then makes
1
i
i
k
J
= . Let ( ) , J i j be the jth element of
i
J
. As shown Table 2.2, all sixteen
vectors can be expressed as variables a, b, c, , m and n in the same manner.
l l l l l l l l l l l l l l l l
a b c d e f g h h g f e d c b a
i j k l l k j i i j k l l k j i
b e h f c a d g g d a c f h e b
m n n m m n n m m n n m m n n m
c h d b g e a f f a e g b d h c
j l i k k i l j j l i k k i l j
d f b h a g c e e c g a h b f d
l l l l l l l l l l







l l l l l l
e c g a h b f d d f b h a g c e
k i l j j l i k k i l j j l i k
f a e g b d h c c h d b g e a f
n m m n n m m n n m m n n m m n
g d a c f h e b b e h f c a d g
l k j i i j k l l k j i i j k l
h g f e d c b a a b c d e f g h








i J i
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

Table 2.2 The 16 scaled basis vectors in J .

Step 2: Find the conditions which
i
J
and
j
J
are orthogonal.
,
,
E E E E E E E E E E E E E E E
O
O O E O
O
O O E E O O E
O
O O E
O
O O E E O O E E O O E E O O E
O
O O E O
O
O O E E O O E
O
O O E
O
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
i
Dyadic Symmetry S in
i J

Table 2.3 Sth dyadic symmetry type in each basis vector
i
J
.

We find the condition which the ith basis vector
i
J
and the jth basis vector
j
J

are orthogonal for all i, j. Seeing Table 2.2 and Table 2.3, we can know that
0
J
has
even 15th dyadic symmetry and
1
J
has odd 15th dyadic symmetry. As we
mentioned the orthogonal property in section 2.2, so
0
J
and
1
J
are always
orthogonal. Because
0
J
has even 7th dyadic symmetry (or even 8th dyadic
symmetry, even 15th dyadic symmetry) and
2
J
has odd 7rd dyadic symmetry (or
odd 8th dyadic symmetry, odd 15th dyadic symmetry) then
0
J
and
2
J
are always
orthogonal. To make the ith basis vector
i
J
and the jth basis vector
j
J
are
orthogonal for all i, j that must be satisfied eq.(2.3)-eq.(2.6).

ab be ch df ce dg gh af + + = + + + +

(2.3)

ac bh ef ag fh cd bd eg + + + + = + +

(2.4)

ad dh ae fg bf bc cg eh + + + = + + +

(2.5)

ij jl kl ik = + +

(2.6)
Step 3: Set up boundary conditions and generate the new orthogonal transforms.
From eq.(2.1) and Table 2.2 , the relationship of the magnitude of the variables a, b,
c, d, e, and f is for the DCT:

a i b m c j d e k f n g l h > > > > > > > > > > > > >

(2.7)
To relax the condition in eq.(2.7), we can get

, a b c d e f g h > > > > > > >

(2.8)

, i j h k l > > > >

(2.9)

. m n >

(2.10)
For eliminating truncation error, the eq.(2.8) also must be satisfied. The eq.(2.8) is as
below.


, , , , , , and are integers a b c d e m n

(2.11)
When the kernel of order-16 DCT | |
T is satisfied eq.(2.3)-eq.(2.6) and
eq.(2.8)-eq.(2.11), it can convert into the order-16 ICT. For example, when i=55, j=48,
k=32, l=11, m=3 and n=1, the computer search can find 119 compositions of variables
a-h (the magnitudes of variables a-h are restricted in 0~255).

2.4 Performance of order-16 ICTs (ITs)
In section 1.4, two objective measures are defined to evaluate the performance of
the new order-16 integer transforms, Transform efficiency and Basis restriction mean
square error.
2.4.1 Transform efficiency
Table 2.4 shows the transform efficiencies of the IT and ICT [8] and other
well-known transforms for 0.9 = . As we have seen, the transform efficiency of ITs
is higher than the order-16 ICT [8] and other well-known transforms.
Transform
efficiency
Transform
82.3 DCT
81.9 IT#1
74.1 slant transform
73.9 ICT(246, 222, 147, 50, 3, 1)
73.8 ICT(10, 9, 6, 2, 3, 1)
73.7 CMT
68.4 HCT
60.9 Walsh transform
IT#1: a=16, b=160, c=148, d=134, e=106, f=80,
g=46, h=26, i=55, j=48, k=32, l=11, m=3, n=1

Table 2.4 The transform efficiencies of the IT and ICT [8] and other well-known
transforms for 0.9 = .
2.4.2 Basis restriction mean square error
We can use the basis restriction mean-square-error to measure the data compression
ability of a transform. Comparing the basis restriction mean-square-errors of the ITs
with ICT [8] when 0.9 = is shown in Table 2.5. From Table 2.5, we can know that
the relationship of the basis restriction mean square error:

ICT>IT>DCT.

(2.12)
0.4422 0.4421 0.4424
0.2321 0.2321 0.2330
0.1748 0.1748 0.1756
0.1438 0.1436 0.1443
0.1241 0.1238 0.1245
0.1103 0.1100 0.1107
0.1003 0.0999 0.1005
0.0919 0.0914 0.0920
0.0853 0.0849 0.0854
No. of coeff.
retained
2
6
10
14
18
22
26
30
34
IT DCT ICT

Table 2.5 comparing the basis restriction mean-square-errors of the ITs with ICT [8]
when 0.9 = .
Equation Chapter (Next) Section 1
3. The other integer sinusoidal transforms
3.1 Introduction
Each member of the sinusoidal family is the optimal Karhunen-Loeve transform
(KLT) of a particular Markov process. The cosine and sine transforms are widely used
for image coding. In the paper [10], the authors derive order-8 sinusoidal transforms
that can be implemented by using the integer arithmetic.

3.2 Integer sinusoidal transforms
Even sine-1 transform
Let | |
T be the kernel of order-8 even sine-1 transform and ( ) ,
n
i j
T
is the jth
component of the ith even sine-1 transform basis vector as below.

( )
( )( ) 1 1
2
, sin , for 0 , 1
1 2
n
i j
i j i j n
T
n n
t ( + +
= s s
(
+


(3.1)
Consider the order-8 even sine-1 transform, we can get its kernel from eq.(3.2):

| |
0 0 1 1 2 2 3 3 4 4 5 6 6 7 7 5
, , , , , , ,
t
T k k J k J k J k J k J J k J k J
( =


(3.2)
where
i
J
means ith basis vector and
i
k
denotes a scaling constant then makes
1
i
i
k
J
= . As shown eq.(3.3), all eight vectors can be expressed as variables a, b,
c, and d by using eq.(3.1).

| |
0
1
2
3
4
5
6
7
( )
( )
( 0 0 )
( )
( )
( 0 0 )
( )
( )
a b c d d c b a
k
b d c a a c d b
k
c c c c c c
k
d a c b b c a d
k
T
d a c b b c a d
k
c c c c c c
k
b d c a a c d b
k
a b c d d c b a
k
(
(

(
(
(

(
=
(

(

(
(

(

(


(3.3)
As well as derived in section 1.2, the variable a, b, c, and d must be satisfied the
condition to make the kernel | |
T be orthogonal:

( ) 0 c a b d + =

(3.4)

( )
2
0 a d b bd
c
+ =

(3.5)
To simplify the eq.(3.4) and eq.(3.5), we can get

( ) 0 d a b c = + >

(3.6)

2 2
c ab
a b
= + +

(3.7)
From eq.(3.1) and eq.(3.3), the relationship of the magnitude of the variables a, b, c,
and d is for the order-8 even sine-1 transform:

>0. d c b a > > >

(3.8)
The other integer sinusoidal transforms can be derived as well as section 1.2 then
summarizes in Table 3.1.
The
integer
sinusoidal
transform
The basis vector of the transform ( ) ,
n
i j
T

kernel and the transform kernel | |
T
The orthogonal
condition and
relationship of the
magnitude
Even sine-1
transform
( )
( )( )
,
1 1
2
sin , for 0 , 1
1 2
n
i j
T
i j
i j n
n n
t
=
( + +
s s
(
+


( ) 0 d a b c = + >


| |
0
1
2
3
4
5
6
7
( )
( )
( 0 0 )
( )
( )
( 0 0 )
( )
( )
T
a b c d d c b a
k
b d c a a c d b
k
c c c c c c
k
d a c b b c a d
k
d a c b b c a d
k
c c c c c c
k
b d c a a c d b
k
a b c d d c b a
k
=
(
(

(
(
(

(
(

(

(
(

(

(


2 2
c ab
a b
= + +


>0. d c b a > > >
Odd sine-2
transform
( )
( )( )
,
2 1 1
2
sin , for 0 , 1
2 1 2 1
n
i j
T
i j
i j n
n n
t
=
( + +
s s
(
+ +

| |
( )
( )
( )
( )
( )
( )
( )
( )
0
1
2
3
4
5
6
7
T
a b c d e f g h
k
b d f h g e c a
k
c f h e b a d g
k
d h e a c g f b
k
e g b c h d a f
k
f e a g d b h c
k
g c d f a h b e
k
h a g b f c e d
k
=
(
(

(
(

(

(
(

(

(
(

(
(


0
ab bd cf dh
eg fe gc ha
+ + +
=

0
ac bf ch de
eb fa gd hg
+
+ + + =

0
ae bg cb dc
eh fd ga hf
+ +
+ + =

0
d e c f
b g a h
> > > >
> > > >

Odd sine-1
transform
( )
( )( )
,
2 1 1
2
sin , for 0 , 1
2 1 1
n
i j
T
i j
i j n
n n
t
=
( + +
s s
(
+ +


| |
( )
( )
( )
( )
( )
( )
( )
( )
0
1
2
3
4
5
6
7
T
a b c d e f g h
k
c f h e b a d g
k
e g b c h d a f
k
g c d f a h b e
k
h a g b f c e d
k
f e a g d b h c
k
d h e a c g f b
k
b d f h g e c a
k
=
(
(

(
(

(

(
(

(

(
(

(
(


( ) ( )
( ) ( )
0
a c f b e f
d g e h g c
+ +

=
( ) ( )
( ) ( )
0
a e g b c g
d c f h f e
+ + +
+ +
=
( ) ( )
( ) ( )
0
a h b c f g
d b h e f g
+
+ + +
=
h g f e
d c b a
> > > >
> > >

Odd sine-3
transform
( )
( )( )
,
1 2 1
2
sin , for 0 , 1
2 1 2 1
n
i j
T
i j
i j n
n n
t
=
( + +
s s
(
+ +

| |
( )
( )
( )
( )
( )
( )
( )
( )
0
1
2
3
4
5
6
7
T
a b c d e f g h
k
h f d b a c e g
k
b e h g d a c f
k
g c b f h d a e
k
c h e a f g b d
k
f a g e b h d c
k
d g a h c e f b
k
e d f c g b h a
k
=
(
(

(
(

(

(
(

(

(
(

(
(


0
ah bf cd db
ea fc ge hg
+ + +
=


0
ab be ch dg
ed fa gc hf
+ +
+ + =


0
ac bh ce da
ef fg gb hd
+ + +
+ =

0
e d f c
g b h a
> > > >
> > > >

Even sine-2
transform
( )
( )( )
( )
,
1 2 1
2
sin ,
2
for 0 , 1and 1
1
,
for 0 1and 1
n
j
i j
T
i j
n n
i j n i n
n
j n i n
t
=

( + +

s s =

s s =


| |
( )
( )
( )
( )
( )
( )
( )
( )
0
1
2
3
4
5
6
7
T
a b c d d c b a
k
e f f e e f f e
k
b d a c c a d b
k
g g g g g g g g
k
c a d b b d a c
k
f e e f f e e f
k
d c b a a b c d
k
g g g g g g g g
k
=
(
(

(
(

(

(
(

(

(
(

(
(


0 ab bd ac cd + + =

0 d c b a > > > >

f e >
Even sine-3
transform
( )
( )( )
,
2 1 2 1
2
sin , for 0 , 1
4
n
i j
T
i j
i j n
n n
t
=
( + +
s s
(

0
ab be ch df
ec fa gd hg
+ + + +
=

0
ac bh cd db
eg fe ga hf
+ +
+ + =


| |
( )
( )
( )
( )
( )
( )
( )
( )
0
1
2
3
4
5
6
7
T
a b c d e f g h
k
b e h f c a d g
k
c h d b g e a f
k
d f b h a g c e
k
e c g a h b f d
k
f a e g b d h c
k
g d a c f h e b
k
h g f e d c b a
k
=
(
(

(
(

(

(
(

(

(
(

(
(


0
ad bf cb dh
ea fg gc he
+
+ + =


0
h g f e
d c b a
> > > >
> > > >

Odd
cosine-1
transform
( )
( )( )
,
2 1 2 1
2
cos ,
4 2 4 1
for 0 , 1
n
i j
T
i j
n n
i j n
t
=
( + +
(
+ +

s s

| |
( )
( )
( )
( )
( )
( )
( )
( )
0
1
2
3
4
5
6
7
T
a b c d e f g h
k
b e h g d a c f
k
c h e a f g b d
k
d g a h c e f b
k
e d f c g b h a
k
f a g e b h d c
k
g c b f h d a e
k
h f d b a c e g
k
=
(
(

(
(

(

(
(

(

(
(

(
(


0
ab be ch dg
ed fa gc hf
+ +
=


0
ac bh cf ad
ef fg bg dh
+
+ + + =


0
ae bd cf cd
eg bf gh ha
+ +
+ =


0
a b c d
e f g h
> > > >
> > > >

Even
cosine-2
transform
( )
( )( )
,
2 1 2 1
2
cos , for 0 , 1
4
n
i j
T
i j
i j n
n n
t
=
( + +
s s
(


0
ab be ch df
ec fa gd hg
+ +
=

0
ac bh cd db
eg fe ga hf
+
+ + + =


0
ad bf cb dh
ea fg gc he
+ +
+ =


0
a b c d
e f g h
> > > >
> > > >

| |
( )
( )
( )
( )
( )
( )
( )
( )
0
1
2
3
4
5
6
7
T
a b c d e f g h
k
b e h f c a d g
k
c h d b g e a f
k
d f b h a g c e
k
e c g a h b f d
k
f a e g b d h c
k
g d a c f h e b
k
h g f e d c b a
k
=
(
(

(
(

(

(
(

(

(
(

(
(


Even
cosine-1
transform
(introduced
in section
1.3)
( )
( )
1
,
for 0, 0 1
,
0.5
2
cos ,
for 0 , 1 and 0
n
n
i j n
i j
T
i j
n n
i j n i
t

= s s

=

( +

s s =


| |
( )
( )
( )
( )
( )
( )
( )
( )
0
1
2
3
4
5
6
7
1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1
T
k
a b c d d c b a
k
e f f e e f f e
k
b d a c c a d b
k
k
c a d b b d a c
k
f e e f f e e f
k
d c b a a b c d
k
=
(
(

(
(

(

(
(

(

(
(

(
(


ab ac bd dc = + +


a b c d > > >


e f >

Table 3.1 The integer sinusoidal transforms.

4. Conclusions
In the chapter 1, we introduce a new transform that is simple to implement using
simple integer arithmetic. On the basis of theory of dyadic symmetry, transforms the
order-8 cosine transform into a family of integer cosine transforms (ICTs). When
using longer bit lengths to present the kernel components, we can get better
performance for the ICT. Furthermore, the fast algorithm of the order-8 ICT is like the
order-8 DCT that only requires integer multiplication and addition operations. Any
order-2
m
ICT for m>3 can be generated from the order-8 ICT but the performance is
poorer than the order-16 DCT and the slant transform. Therefore, we have introduced
the method how directly use the order-16 ICT to achieve the order-16 DCT by dyadic
symmetry in the chapter 2. The ITs have higher transform efficiency and lower basis
restriction MSE performance than the ICTs. Furthermore, the performance of the ITs
is very close to the DCT.
In the chapter 3, we show the other integer sinusoidal transforms. The order-8
sinusoidal transforms can be implemented by using the integer arithmetic. Each
member of the sinusoidal family is the optimal Karhunen-Loeve transform (KLT) of a
particular Markov process. The cosine and sine transforms are widely used for image
coding. Finally, an engineer can freely choose to tradeoff the performance and speed
for the ICTs in designing the transform coding.














5. References
[1] B.J. FINO, and V.R. ALGAZI, Unified matrix treatment of the fast
Walsh-Hadamard transform, IEEE Trans., 1976, C-25, (1 l), pp.1142-1146.
[2] W.K.CHAM and R.J.CLARKE, Dyadic symmetry and Walsh matrices, IEE
Proc. Commun., Radar & Signal Process., 1987, 134, (2), pp. 141-144.
[3] W.K PRATT, W.CHEN, and WELCH, L.R., Slant transform image coding,
IEEE Trans., 1974, COM-22, (8), pp. 1075-1093.
[4] W.K.CHAM and R.J. CLARKE, Application of the principle of dyadic symmetry
to the generation of orthogonal transforms, IEE Proc. F, Commun., Radar &
Signal Process., 1986, 133, (3), pp.264-270.
[5] J H.W.ONES, D.N.HEIN, and K S.C.NAUER, The Karhunen-Loeve discrete
cosine and related transforms obtained via the Hadamard transform, Proc. Intl.
Telemetering Conference, November 1978,14, pp. 87-98.
[6] R.SRINIVASAN and RAO, K.R., An approximation to the discrete cosine
transform for N = 16, Signal Process., 1983, 5, pp.81-85.
[7] H.S.KWAK, R. SRINIVASAN, and K.R. RAO, C-matrix transform, IEEE
Trans., 1983, ASP-31, (5), pp. 1304-1307.
[8] W.K. CHAM, Development of integer cosine transforms by the principle of
dyadic symmetry, IEE PROCEEDINGS, Vol. 136, Pt. I, No. 4, AUGUST 1989.
[9] S. N. KOH, S. J. HUANG, and H. K. TANG, Development of order-16 integer
transforms, Signal Processing, Volume 24, Issue 3, September 1991, pp. 283-
289.
[10] W.K. CHAM and P.P.C. YIPS, Integer sinusoidal transforms for image
processing, INT. J. ELECTRONICS, VOL. 70, NO. 6, 1991, pp.1015-1030.

You might also like