Image processing device with inverse quantization and two dimensional inverse discrete cosine transformation

Quantized DCT coefficients Rvu are inputted to a pre-processing unit, in which pre-processed DCT coefficients are obtained by multiplying a quantization/multiplying-term table and the quantized DCT coefficients. The quantization/multiplying-term table are generated by multiplying a multiplying-term corresponding to a part of a two dimensional IDCT and a quantization coefficient. The pre-processed DCT coefficients are inputted into first through fourth stages forming a post-processing unit. The pre-processed DCT coefficients are subjected to a process corresponding to a multiplication of a DCT coefficient in the first through fourth stages. By integrating output data of the each of the first through fourth stages, the remaining part of the two dimensional IDCT is performed, so that 64 pixel values forming an 8.times.8 matrix are obtained.

BACKGROUND OF THE INVENTION 
1. Field of the Invention 
The present invention is related to an image signal compressing device, 
especially to an improvement of the processing speed at which image 
information, which has been compressed according to a JPEG (Joint 
Photographic Expert Group) algorithm and has been recorded in a recording 
medium, is restored to the original image information using two 
dimensional IDCT (inverse discrete cosine transformation). 
2. Description of the Related Art 
A standard algorithm for the encoding of high resolution images and the 
transfer of that information through telecommunication transmission 
channels has been recommended by the JPEG. In the algorithm recommended by 
the JPEG, i.e., the base line process of the JPEG algorithm, to enable a 
large-scale data compression, first the original image data are broken 
down into components on the spatial frequency axis using two-dimensional 
DCT (discrete cosine transformation). Thereafter, data expressed on the 
spatial frequency axis is quantized using a quantization table. The 
quantized data is then encoded using a Huffman table. 
When the original image is to be restored from the image information which 
has been encoded and recorded in the recording medium, the encoded data is 
decoded and inversely-quantized, and then, the two-dimensional IDCT is 
applied to the inversely-quantized data. 
In the inverse-quantization and in the IDCT, an enormous number of 
multiplications and addition-subtraction calculations are carried out. The 
multiplication process is more complex than the addition-subtraction 
calculations, and therefore, the number of multiplications has a greater 
effect on the calculation time. 
SUMMARY OF THE INVENTION 
Accordingly, an object of the invention is to provide an image processing 
device by which the inverse-quantization and the two-dimensional IDCT are 
carried out at a high speed. 
According to the present invention, there is provided an image processing 
device, in which a quantized DCT coefficient is inversely-quantized and 
subjected to a two dimensional inverse discrete cosine transformation 
(IDCT) to restore each of a plurality of pixel values, the quantized DCT 
coefficient being obtained for each of a plurality of spatial frequencies 
by applying a two dimensional discrete cosine transformation (DCT) to 
original image data composed of the pixel values which are arranged in a 
matrix, and then quantizing the resultant two dimensional DCT coefficient 
using a quantization coefficient included in a quantization table, the 
image processing device comrprising a pre-processor, a post-processor, and 
a pixel value calculator. 
In the pre-processor, the quantized DCT coefficients are multiplied by 
pre-processed coefficients generated based on the quantization 
coefficients and multiplying-terms corresponding to cosine coefficients 
used in the two dimensional IDCT, so that pre-processed DCT coefficients 
are obtained. 
The post-processor is classified into a plurality of stages in accordance 
with values of the cosine coefficients. In the post-processor, 
calculations corresponding to the values of the cosine coefficients are 
applied to the pre-processed DCT coefficients to obtain output data. 
The pixel value calculator classifies the pixel values into groups composed 
of a predetermined number of pixel values which are symmetrically disposed 
in the matrix and are multiplied by the cosine coefficients having the 
same absolute values. The pixel value calculator performs addition and 
subtraction calculations regarding the output data included in each of the 
stages in order to restore the pixel values for each of the groups.

DESCRIPTION OFTHE PREFERRED EMBODIMENTS 
The present invention will be described below with reference to embodiments 
shown in the drawings. 
FIG. 1 is a block diagram showing a general construction of an image signal 
expansion device by which image data compressed according to the JPEG 
algorithm are expanded by performing a Huffman decoding, an 
inverse-quantization, and a two-dimensional IDCT. 
The JPEG compressed data recorded in a recording medium, such as an IC 
memory card, i.e., the encoded luminance data (Y data) and color 
differential data (Cb data and Cr data) are obtained by compressing pixel 
values of the original image data which are arranged in a matrix. Namely, 
in the compression process, the pixel values are subjected to a 
two-dimensional DCT to obtain DCT coefficients for every spatial 
frequency. The DCT coefficients are quantized using a quantization table 
composed of predetermined quantization coefficients to obtain quantized 
DCT coefficients, which are then Huffman-encoded, so that the encoded data 
are obtained. 
The encoded data recorded in the recording medium are restored, by the 
image expansion device, to Y data, Cb data, and Cr data which are 
approximately equivalent to the original data which have not been 
compressed. 
Namely, in a Huffman decoding process unit 21, the compressed quantized DCT 
coefficients of the Y data are Huffman-decoded using a first Huffman table 
H1 for a direct current component and a second Huffman table H2 for an 
alternating current component, so that the compressed quantized DCT 
coefficients are converted into quantized DCT coefficients. The quantized 
DCT coefficients are inversely quantized using a first quantization table 
Q1 in an inverse quantization process unit 22, and are subjected to a 
two-dimensional IDCT in an IDCT process unit 23, so that Y data are 
produced which are approximately equivalent to the original data which 
have not been compressed. 
Similarly, in a Huffman decoding process unit 24, the compressed quantized 
DCT coefficients of the Cb and Cr data are Huffman-decoded by using a 
third Huffman table H3 for a direct current component and a fourth Huffman 
table H4 for an alternating current component, so that the compressed 
quantized DCT coefficients are converted into quantized DCT coefficients. 
The quantized DCT coefficients are inversely quantized using a second 
quantization table Q2 in an inverse quantization process unit 25, and are 
subjected to the two-dimensional IDCT in the IDCT process unit 23, so that 
the Cb and Cr data are produced which are approximately equivalent to the 
original data which have not been compressed. 
In the Huffman decoding process units 21 and 24, the inverse quantization 
process units 22 and 25, and the IDCT process unit 23, the Y, Cb and Cr 
data, regarding a single frame image, are divided into a plurality of 
blocks, which are separately processed. Note that each of the blocks is 
composed of pixel data arranged in an 8.times.8 matrix. 
Although, in this embodent, the first quantization table Ql, by which the 
DCT coefficients of the Y data are inversely quantized, and the second 
quantization table Q2, by which the DCT coefficients of the Cb and Cr data 
are inversely quantized, are different from each other according to the 
JPEG algorithm, a single quantization table can be used for both of the 
data. 
FIG. 2 shows, as an example, quantized DC coefficients Rvu of 64 spatial 
frequencies, restored DCT coefficients Fvu obtained by inversely 
quantizing the DCT coefficients Rvu, restored pixel values Pyx of an 
8.times.8 pixel block, and a quantization table Qvu. The suffixes "v" and 
"u" correspond to the vertical and horizontal positions of 64DCT 
coefficients which are arranged in an 8.times.8 matrix. Values of "v" (0, 
1, 2, . . . 7) range from the upper-position to the lower-position. Values 
of "u" (0, 1, 2, . . . 7) range from the left-position to the 
right-position. The suffix "y" means the vertical position of the 
8.times.8 pixel block. Values of "y" (0, 1, 2, . . . 7) range from the 
upper-position to the lower-position. The suffix "x" means the horizontal 
position of the 8.times.8 pixel block. Values of "x" (0, 1, 2, . . . 7) 
range from the left-position to the right-position. 
The quantized DCT coefficients Rvu are obtained by Huffman-decoding the 
compressed quantized DCT coefficients of the Y data in the 
Huffman-decoding process unit 21. This Huffman decoding is well known, and 
the description thereof is omitted. 
The quantized DCT coefficients Rvu are inversely quantized in the inverse 
quantization processing unit 22, so that restored DCT coefficients Fvu are 
obtained. The quantization table Q1 used for the inverse quantization is 
composed of 64 quantization coefficients QVU. The formula for inversely 
quantizing the quantized DCT coefficients Rvu using the quantization table 
is defined as follows: 
EQU Fvu=Rvu.multidot.Qvu 
The restored DCT coefficients Fvu are subjected to the two-dimensional IDCT 
in the IDCT processing unit 23, so that the pixel values Pyx, which are 
luminance data, are obtained. The two-dimensional IDCT is expressed by the 
following equation (1): 
##EQU1## 
FIG. 3 schematically shows a construction of an image processing device 
included in the image expansion device shown in FIG. 1. With reference to 
FIG. 3, an embodiment of the present invention will be described below. 
The quantized DCT coefficients Rvu are multiplied by a 
quantization/multiplying-term table, so that the inverse quantization and 
a part of the two-dimensional IDCT are applied to the quantized DCT 
coefficients to obtain 64 pre-processed DCT coefficients Hvu. The 
quantization/multiplying-term table is composed of pre-process 
coefficients which are obtained by multiplying the multiplying-terms, 
which correspond to a part of the two-dimensional IDCT, by the 
quantization coefficients. By introducing the 
quantization/multiplying-term table, a number of the multiplications in an 
IDCT engine, which will be described later, is reduced. 
FIG. 4 shows the multiplying terms in each of the spatial frequencies 
f(u,v). In FIG. 4, "1/4", which is shown in the upper left corner, 
corresponds to the coefficient 1/4 included in equation (1) and indicates 
that each of the multiplying terms is multiplied by 1/4. Cosine values are 
written as c[i], c[i,j] where 
EQU c[i]=cos(i.pi./16) 
and 
EQU c[i,j]=cos(i.pi./16).multidot.cos(j.pi./16) 
The way in which the multiplying terms are obtained will be described 
later. 
FIG. 5 shows the quantization table Q1 recommended by the JPEG with respect 
to luminance. Numerals such as "16" and "11" represent quantization 
coefficients in the spatial frequencies f(u,v). The 
quantization/multiplying-term table shown in FIG. 6 is obtained by 
multiplying the multiplying-terms shown in FIG. 4 by the quantization 
coefficients shown in FIG. 5. 
The 64 pre-processed DCT coefficients Hvu are inputted into one of first 
through fourth stages T1, T2, T3, and T4 (see FIG. 3) forming a 
post-processing unit (IDCT engine) N2, in which the 64 pre-processed DCT 
coefficients Hvu are subjected to the remaining part of the 
two-dimensional IDCT, the remaining part having not been carried out in 
the pre-processing unit N1. In the first through fourth stages T1 through 
T4, 64 partially-processed DCT coefficients are obtained. The 
partially-processed DCT coefficients are integrated according to a 
predetermined algorithm when being outputted from the first through fourth 
stages T1 through T4, so that the 64 pixel values Pyx forming the 
8.times.8 pixel block are obtained. Namely, the IDCTis accomplished by the 
multiplications of the multiplying-term (see FIG. 4) included in the 
quantization/multiplying-term table, the post-process in the first through 
fourth stages T1 through T4, and the integration process performed when 
the intermediate-processed DCT coefficients are outputted from the first 
through fourth stages T1 through T4. 
The contents of the processes of the IDCT in the pre-processing unit N1 and 
the post-processing unit N2 will be described below. 
Now, it is considered how two cosine functions in equation (1) are combined 
with the spatial frequency f(u,v). FIG. 7 shows a 2-dimensional array 
containing cosine values evaluated for each of the eight spatial frequency 
parameters "u" (or "v") and in each of the eight spatial coordinates "x" 
(or "y"). The spatial coordinate "x" corresponds to the spatial frequency 
parameter "u", and the spatial coordinate "y" corresponds to the spatial 
frequency parameter "v". 
In FIG. 7, for u=0, c[4] is shown instead of c[0], since, in a 
one-dimensional DCT, 
EQU Cu=1/.sqroot.2=cos(4.pi./16)=c[4] 
That is, the table shown in FIG. 7 includes Cu and Cv. 
As can be understood from FIG. 7, the absolute values of the cosine values 
are equal for x=0 and x=7, x=1 and x=6, x=2 and x=5, and x=3 and x=4, 
respectively. In other words, the arrangement of the absolute values is 
synmetric with regard to the upper and lower halves about a horizontal 
line D0 which is located between x=3 and x=4. By taking advantage of the 
symmetry, the number of multiplications in the two-dimensional IDCT is 
minimized, and will be described later in detail. 
Two cosine values by which each of the DCT coefficients Fvu is multiplied 
according to equation (1) are called "cosine coefficient" in this 
specification. The cosine coefficient can be obtained using FIG. 7. As an 
example, the cosine coefficients for obtaining P00 (y=0 and x=0) and P31 
(y=3 and x=1) are shown in FIGS. 8 and 9, respectively. Note that, in 
FIGS. 8 and 9, 
EQU c[i,j]=cos(i.pi./16).multidot.cos(j.pi./16) 
The cosine coefficients for obtaining P00 (y=0, x=0) in FIG. 8 are obtained 
in the following way. First, the cosine values of the row indicated by the 
reference marker U1 in FIG. 7 are used to fill the vertical axis indicated 
by the reference marker U1 on the left side of the table in FIG. 8 and the 
horizontal axis indicated by the reference marker U1 on the upper portion 
of the table, respectively. The table is completed by multiplying the 
corresponding cosine values of the vertical axis by that of the horizontal 
axis. The cosine coefficients for obtaining P31 (y=3, x=1) shown in FIG. 9 
are obtained in a similar way. The sum of the products of these cosine 
coefficients and the DCT coefficients Fvu is obtained, and is multiplied 
by 1/4 (i.e., equation (1) is calculated), so that P00 and P31 are 
obtained. 
By completing cosine coefficient tables to obtain the other pixel values 
Pyx in a similar way as that of the tables shown in FIGS. 8 and 9, it is 
understood that there is a pattern regarding the cosine coefficients which 
are used for the same spatial frequency f(v,u). For example, the cosine 
coefficients of the spatial frequency f(0,0) are c[4,4] for any pixel 
values Pyx, and the cosine coefficients of the spatial frequency f(0,2) 
are c[4,2] or c[4,6] for any pixel values Pyx. Accordingly, in this 
embodiment, as shown in FIG. 10, the DCT coefficients Fvu are classified 
in accordance with the cosine coefficients c[i,j] used when obtaining each 
of the pixel values Pyx. 
As shown by FIG. 10, the DCT coefficients F00, F04, F40, and F44 are 
multiplied by the cosine coefficients c[4,4]. Thus, since the same cosine 
coefficient is used, the number of multiplications regarding the DCT 
coefficients F00, F04, F40, and F44 can be considered to be one. However, 
since the cosine coefficient c[4,4]=1/2 (see FIG. 4), the actual 
calculation in a computer is carried out by a shift calculation. 
Therefore, the number of multiplications regarding the DCT coefficients 
F00, F04, F40, and F44 is zero. The resulting DCT coefficients are 
referred to as group 1. 
The DCT coefficients F02, F06, F42, F46, F20, F24, F60, and F64 are 
multiplied by the cosine coefficients c[4,2] or c[4,6]. Therefore, the 
number of multiplications regarding these DCT coefficients is two. The 
resulting DCT coefficients are referred to as group 2. 
The DCT coefficients F22, F26, F62, and F66 are multiplied by the cosine 
coefficients c[2,2], c[2,6], and c[6,6]. Although there are three cosine 
coefficients by which the DCT coefficients are multiplied, since 
c[6,6]=1-c[2,2], the multiplications involving either the cosine 
coefficients c[6,6] or c[2,2] can be eliminated and the result can be 
obtained from the multiplication of the other cosine coefficient. 
Therefore, the number of multiplications regarding the DCT coefficients 
F22, F26, F62, and F66 is reduced to two. The resulting DCT coefficients 
are referred to as group 3. 
The DCT coefficients F10, F30, F50, F70, F14, F34, F54, F74, F01, F03, F05, 
F07, F41, F43, F45, and F47 are multiplied by the cosine coefficients 
c[4,1], c[4,3], c[4,5], and c[4,7]. Therefore, the number of 
multiplications regarding these DCT coefficients is four. The resulting 
DCT coefficients are referred to as group 4. 
The DCT coefficients F12, F32, F52, F72, F16, F36, F56, F76, F21, F23, F25, 
F27, F61, F63, F65, and F67 are multiplied by the cosine coefficients 
c[2,1], c[2,3], c[2,5], c[2,7], c[6,1], c[6,3], c[6,5], and c[6,7]. 
Therefore, the number of multiplications regarding these DCT coefficients 
is eight. The resulting DCT coefficients are referred to as group 5. 
The DCT coefficients F11, F35, F53, F77, F17, F33, F55, F71, F13, F31, F57, 
F75, F15, F37, F51, and F73 are multiplied by the cosine coefficients 
c[1,1], c[1,3], c[1,5], c[1,7], c[3,3], c[3,5], c[3,7], c[5,5 ], c[5,7], 
and c[7,7]. Although there are ten cosine coefficients by which the DCT 
coefficients are multiplied, since c[5,5]=1-c[3,3] and c[7,7]=1-c[1,1], 
the number of the multiplications is reduced by two, and therefore, the 
number of multiplications regarding these DCT coefficients is reduced to 
eight. The resulting DCT coefficients are referred to group 6. 
According to the above, the number of the multiplications which should be 
carried out in the two-dimensional IDCT is: 
EQU (2.times.8)+(2.times.4)+(4.times.16)+(8.times.16)+(8.times.16)=344 (2) 
In this embodiment, the number of the multiplications is less than the 
above, based on the table shown in FIG. 10. The reduction of the number of 
the multiplications will be described below. 
FIG. 11 shows the relationships between the first through fourth stages T1 
through T4 included in the post-processing unit N2 and the spatial 
frequencies f(u,v) of the pre-process DCT coefficients Hvu inputted into 
the stages T1 through T4. As shown in FIG. 11, the stages T1 through T4 
are classified in accordance with the spatial frequencies f(u,v); i.e. the 
values of the cosine coefficients. 
In the first stage T1, the spatial frequency parameters "u" and "v" are 0, 
4, 2, or 6. In the second stage T2, the parameter "u" is 0, 4, 2, or 6, 
and parameter "v" is 1, 3, 5, or 7. In the third stage T3, parameter "u" 
is 1, 3, 5, or 7, and parameter "v" is 0, 4, 2, or 6. In the fourth stage 
T4, parameters "u" and "v" are 1, 3, 5, or 7. 
Stage T1 is divided into a first area A1, a second area A2, and a third 
area A3. In the first area A1, the parameter "u" is 2 or 6 and parameter 
"v" is 0 or 4. In second area A2, parameter "u" is 2 or 6 and parameter 
"v" is 0 or 4, or the parameter "u" is 0 or 4 and parameter "v"is 2 or 6. 
In third area A3, the parameters "u" and "v" are 2 or 6. In the first, 
second, and third areas A1, A2, or A3, multiplications of the DCT 
coefficients, which are included in the groups 1, 2, and 3, by the cosine 
coefficients, are carried out. 
Stage T2 is divided into a fourth area A4 and a fifth area A5. In the 
fourth area A4, parameter "u" is 0 or 4 and parameter "v" is 1, 3, 5, or 
7. In the fifth area A5, parameter "u" is 2 or 6 and parameter "v" is 1, 
3, 5, or 7. In the fourth and fifth areas A4 and A5, multiplications of 
the DCT coefficients, which are included in groups 4and 5, by the cosine 
coefficients, are carried out. 
Stage T3 is also divided into the fourth area A4 and the fifth area A5. In 
the fourth area A4, parameter "u" is 1, 3, 5, or 7 and parameter "v" is 0 
or 4. In the fifth area A5, parameter "u" is 1, 3, 5, or 7 and parameter 
"v" is 2 or 6. In the fourth and fifth areas A4 and A5, multiplications of 
the DCT coefficients, which are included in groups 4 and 5, by the cosine 
coefficients, are carried out. 
Stage T4 has only a sixth area A6, and is not divided into a plurality of 
areas as are the other stages T1 through T3. In the sixth area A6, 
multiplications of the DCT coefficients, which are included in the group 
6, by the cosine coefficients, are carried out. 
Equation (1) by which the pixel value P00 is obtained, is expressed below, 
in which the terms are arranged in the order in which the calculation is 
performed. Note that, in the actual calculation, the DCT coefficients Fvu 
are not used; instead the pre-processed DCT coefficients Hvu are used. 
EQU P00=1/4.multidot.(F00.multidot.c[4,4]+F04.multidot.c[4,4]+F40.multidot.c[4, 
4]+F44.multidot.c[4,4])+1/4.multidot.(F02.multidot.c[4,2]+F06.multidot.c[4, 
6]+F42.multidot.c[4,2]+F46.multidot.c[4,6])+1/4.multidot.(F20.multidot.c[4, 
2]+F24.multidot.c[4,2]+F60.multidot.c[4,6]+F64.multidot.c[4,6])+1/4.multido 
t.(F22.multidot.c[2,2]+F26.multidot.c[2,6]+F62.multidot.c[2,6]+F66.multidot 
.c[6,6])+1/4.multidot.(F10.multidot.c[4,1]+F30.multidot.c[4,3]+F50.multidot 
.c[4,5]+F70.multidot.c[4,7])+1/4.multidot.(F14.multidot.c[4,1]+F34.multidot 
.c[4,3]+F54.multidot.c[4,5]+F74.multidot.c[4,7])+1/4.multidot.(F12.multidot 
.c[2,1]+F32.multidot.c[2,3]+F52.multidot.c[2,5]+F72.multidot.c[2,7])+1/4.mu 
ltidot.(F16.multidot.c[6,1]+F36.multidot.c[6,3]+F56.multidot.c[6,5]+F76.mul 
tidot.c[6,7])+1/4.multidot.(F01.multidot.c[4,1]+F03.multidot.c[4,3]+F05.mul 
tidot.c[4,5]+F07.multidot.c[4,7])+1/4.multidot.(F41.multidot.c[4,1]+F43.mul 
tidot.c[4,3]+F45.multidot.c[4,5]+F47.multidot.c[4,7])+1/4.multidot.(F21.mul 
tidot.c[2,1]+F23.multidot.c[2,3]+F25.multidot.c[2,5]+F27.multidot.c[2,7])+1 
/4.multidot.(F61.multidot.c[6,1]+F63.multidot.c[6,3]+F65.multidot.c[6,5]+F6 
7.multidot.c[6,7])+1/4.multidot.(F11.multidot.c[1,1]+F35.multidot.c[3,5]+F5 
3.multidot.c[3,5]+F77.multidot.c[7,7])+1/4.multidot.(F17.multidot.c[1,7]+F3 
3.multidot.c[3,3]+F55.multidot.c[5,5]+F71.multidot.c[1,7])+1/4.multidot.(F1 
3.multidot.c[1,3]+F31.multidot.c[1,3]+F57.multidot.c[5,7]+F75.multidot.c[5, 
7])+1/4.multidot.(F15.multidot.c[1,5]+F37.multidot.c[3,7]+F51.multidot.c[1, 
5]+F73.multidot.c[3,7]) (3) 
In the equation (3), the first through fourth terms are calculated in first 
stage T1. The first term X.sub.00 1 can be simplified as follows: 
EQU X.sub.00 
1=1/4.multidot.(F00.multidot.c[4,4]+F04.multidot.c[4,4]+F40.multidot.c[4,4 
]+F44.multidot.c[4,4])=c[4,4]/4.multidot.(F00+F04+F40+F44)=1/8.multidot.(F0 
0+F04+F40+F44) (4) 
The second terms X.sub.00 2 can be simplified as follows: 
EQU X.sub.00 
2=1/4.multidot.(F02.multidot.c[4,2]+F06.multidot.c[4,6]+F42.multidot.c[4,2 
]+F46.multidot.c[4,6])=c[4,2]/4.multidot.(F20.multidot.+F42)+c[4,6]/4.multi 
dot.(F06+F46) (5) 
The third terms X.sub.00 3 can be simplified as follows: 
EQU X.sub.00 
3=1/4.multidot.(F20.multidot.c[4,2]+F24.multidot.c[4,2]+F60.multidot.c[4,6 
]+F64.multidot.c[4,6])=c[4,2]/4 
.multidot.(F20+F24)+c[4,6]/4.multidot.(F60+F64) (6) 
The fourth terms X.sub.00 4 can be simplified as follows: 
EQU X.sub.00 
4=1/4.multidot.(F22.multidot.c[2,2]+F26.multidot.c[2,6]+F62.multidot.c[2,6 
]+F66.multidot.c[6,6])=c[2,6]/4.multidot.(F26+F62+F22.multidot.(.sqroot.2+1 
)F66.multidot.(.sqroot.2-1) (7) 
The equation regarding the pixel value P10 and corresponding to equation 
(3) is as follows: 
EQU P10=1/4.multidot.(F00.multidot.c[4,4]+F04.multidot.c[4,4]-F40.multidot.c[4, 
4]-F44.multidot.c[4,4])+ 
EQU 1/4.multidot.(F02.multidot.c[4,2]+F06.multidot.c[4,6]-F42.multidot.c[4,2]-F 
46.multidot.c[4,6])+1/4.multidot.(F20.multidot.c[4,6]+F24.multidot.c[4,6]-F 
60.multidot.c[4,2]-F64.multidot.c[4,2])+1/4.multidot.(F22.multidot.c[2,6]+F 
26.multidot.c[6,6]-F62.multidot.c[2,2]-F66.multidot.c[2,6])+1/4.multidot.(F 
10.multidot.c[4,3]-F30.multidot.c[4,7]-F50.multidot.c[4,1]-F70.multidot.c[4 
,5])+1/4.multidot.(F14.multidot.c[4,3]-F34.multidot.c[4,7]-F54.multidot.c[4 
,1]-F74.multidot.c[4,5])+1/4.multidot.(F12.multidot.c[2,3]-F32.multidot.c[2 
,7]-F52.multidot.c[2,1]-F72.multidot.c[2,5])+1/4.multidot.(F16.multidot.c[6 
,3]-F36.multidot.c[6,7]-F56.multidot.c[6,1]-F76.multidot.c[6,5])+1/4.multid 
ot.(F01.multidot.c[4,1]+F03.multidot.c[4,3]+F05.multidot.c[4,5]+F07.multido 
t.c[4,7])+1/4.multidot.(-F41.multidot.c[4,1]-F43.multidot.c[4,3]-F45.multid 
ot.c[4,5]-F47.multidot.c[4,7])+1/4.multidot.(F21.multidot.c[6,1]+F23.multid 
ot.c[6,3]+F25.multidot.c[6,5]+F27.multidot.c[6,7])+1/4.multidot.(-F61.multi 
dot.c[2,1]-F63.multidot.c[2,3]-F65.multidot.c[2,5]-F67.multidot.c[2,7])+1/4 
.multidot.(F11.multidot.c[1,3]-F35.multidot.c[5,7]-F53.multidot.c[1,3]-F77. 
multidot.c[5,7])+1/4.multidot.(F17.multidot.c[3,7]-F33.multidot.c[3,7]-F55. 
multidot.c[1,5]-F71.multidot.c[1,5])+1/4.multidot.(F13.multidot.c[3,3]-F31. 
multidot.c[1,7]-F57.multidot.c[1,7]-F75.multidot.c[5,5])+1/4.multidot.(F15. 
multidot.c[3,5]-F37.multidot.c[7,7]-F51.multidot.c[1,1]-F73.multidot.c[3,5] 
) (8) 
In the equation (8), the first through fourth terms are calculated in first 
stage T1. The first term X.sub.10 1 can be simplified as follows: 
EQU X.sub.10 
1=1/4.multidot.(F00.multidot.c[4,4]+F04.multidot.c[4,4]-F40.multidot.c[4,4 
]-F44.multidot.c[4,4])=c[4,4]/4.multidot.(F00+F04-F40-F44)=1/8.multidot.(F0 
0+F04-F40-F44) (9) 
The second terms X.sub.10 2 can be simplified as follows: 
EQU X.sub.10 
2=1/4.multidot.(F02.multidot.c[4,2]+F06.multidot.c[4,6]-F42.multidot.c[4,2 
]-F46.multidot.c[4,6])=c[4,2]/4.multidot.(F02-F42)+c[4,6]/4.multidot.(F06-F 
46) (10) 
The third terms X.sub.10 3 can be simplified as follows: 
##EQU2## 
The fourth terms X.sub.10 4 can be simplified as follows: 
##EQU3## 
Comparing equation (4) with equation (9), although the plus-minus symbol of 
each of the DCT coefficients contained in the parenthesis is different, 
the parenthesis in equations (4) and (9) are multiplied by 1/8, 
respectively. As understood from a comparison between equations (5) and 
(10), between equations (6) and (11), and between equations (7) and (12), 
if the factors (.sqroot.2+1) and (.sqroot.2-1), as well as all of the 
symbols are neglected, the cosine coefficient which each of the DCT 
coefficients is multiplied by, is the same. Regarding the DCT coefficient 
F20, for example, in equations (6) and (11), the DCT coefficients F20 are 
multiplied by c[4,2]/4, respectively. 
Thus, equation (1) can be arranged in such a manner that each of the DCT 
coefficients is multiplied by the common multiplying-term for all of the 
pixel values Pyx, and thus, the multiplying-terms shown in FIG. 4 are 
obtained. Due to the introduction of the multiplying-term, the number of 
multiplications can be reduced. The calculations of the multiplying-terms 
are carried out in the pre-processing unit N1. 
The calculation process for reducing the number of multiplications in the 
post-processing unit N2 will be described below. 
FIG. 12 shows output data obtained by applying the IDCT process, except for 
the calculations of the multiplying-term, to the pre-processed DCT 
coefficients Hvu which is output from each of the stages T1 through T4. 
The output data of the stage T1 is O.sup.1.sub.00 through O.sup.1.sub.33, 
the output data of the stage T2 is O.sup.2.sub.00 through O.sup.2.sub.33, 
the output data of the stage T3 is O.sup.3.sub.00 through O.sup.3.sub.33, 
and the output data of the stage T4 is O.sup.4.sub.00 through 
O.sup.4.sub.33. 
FIG. 13 shows groups of pixel values Pyx obtained using the same data as 
that outputted from each of the states T1 through T4. The pixel values Pyx 
are classified into the groups that are composed of a predetermined number 
of the pixel values, which are symmetrically disposed in the matrix 
arrangement of the original image data, and are multiplied by the cosine 
coefficients which have the same absolute value. 
A first pixel group 0 is composed of P00, P07, P70, and P77, which are 
obtained based on the output data O.sup.1.sub.00, O.sup.2.sub.00, 
O.sup.3.sub.00, and O.sup.4.sub.00. A second pixel group 1 is composed 
of P01, P06, P71, and P76, which are obtained based on the output data 
O.sup.1.sub.01, O.sup.2.sub.01, O.sup.3.sub.01, and O.sup.4.sub.01. A 
third pixel group 2 is composed of P02, P05, P72, and P75, which are 
obtained based on the output data O.sup.1.sub.02, O.sup.2.sub.02, 
O.sup.3.sub.02, and O.sup.4.sub.02. A fourth pixel group 3 is composed 
of P03, P04, P73, and P74, which are obtained based on the output data 
O.sup.1.sub.03, O.sub.2.sub.03, O.sup.3.sub.03, and O.sup.4.sub.03. 
A fifth pixel group 0 is composed of P10, P17, P60, and P67, which are 
obtained based on the output data O.sup.1.sub.10, O.sup.2.sub.10, 
O.sup.3.sub.10, and O.sup.4.sub.10. A sixth pixel group 1 is composed 
of P11, P16, P61, and P66, which are obtained based on the output data 
O.sup.1.sub.11, O.sup.2.sub.11, O.sup.3.sub.11, and O.sup.4.sub.11. A 
seventh pixel group 2 is composed of P12, P15, P62, and P65, which are 
obtained based on the output data O.sup.1.sub.12, O.sup.2.sub.12, 
O.sup.3.sub.12, and O.sup.4.sub.12 . An eighth pixel group 3 is 
composed of P13, P14, P63, and P64, which are obtained based on the output 
data O.sup.1.sub.13, O.sup.2.sub.13, O.sup.3.sub.13, and O.sup.4.sub.13. 
A ninth pixel group 0 is composed of P20, P27, P50, and P57, which are 
obtained based on the output data O.sup.1.sub.20, O.sup.2.sub.20, 
O.sup.3.sub.20, and O.sup.4.sub.20. A tenth pixel group 1 is composed 
of P21, P26, P51, and P56, which are obtained based on the output data 
O.sup.1.sub.21, O.sup.2.sub.21, O.sup.3.sub.21, and O.sup.4.sub.21. An 
eleventh pixel group 2 is composed of P22, P25, P52, and P55, which are 
obtained based on the output data O.sup.1.sub.22, O.sup.2.sub.22, 
O.sup.3.sub.22, and O.sup.4.sub.22. A twelfth pixel group 3 is composed 
of P23, P24, P53, and P54, which are obtained based on the output data 
O.sup.1.sub.23, O.sup.2.sub.23, O.sup.3.sub.23, and O.sup.4.sub.23. 
A thirteenth pixel group 0 is composed of P30, P37, P40, and P47, which 
are obtained based on the output data O.sup.1.sub.30, O.sup.2.sub.30, 
O.sup.3.sub.30, and O.sup.4.sub.30. A fourteenth pixel group 1 is 
composed of P31, P36, P41, and P46, which are obtained based on the output 
data O.sup.1.sub.31, O.sup.2.sub.31, O.sup.3.sub.31, and O.sup.4.sub.31. A 
fifteenth pixel group PA 32 is composed of P32, P35, P42, and P45, which 
are obtained based on the output data O.sup.1.sub.32, O.sup.2.sub.32, 
O.sup.3.sub.32, and O.sup.4.sub.32. A sixteenth pixel group 3 is 
composed of P33, P34, P43, and P44, which are obtained based on the output 
data O.sup.1.sub.33, O.sup.2.sub.33, O.sup.3.sub.33, and O.sup.4.sub.33. 
A relationship between the output data O.sup.1.sub.j1 through 
O.sup.4.sub.ji of each of the stages T1 through T4 and the DCT 
coefficients Fvu or the pre-processed DCT coefficients Hvu will be 
described below. 
If, in equation (1), the first through fourth terms are expressed using the 
DCT coefficients and the fifth through sixteenth terms are expressed using 
X.sub.00 5 through X.sub.00 16, the following equation is obtained. 
EQU P00=1/4.multidot.(F00.multidot.c[4,4])+F04.multidot.c[4,4]+F40.multidot.c4, 
4]+F44.multidot.c[4,4])+ 
EQU 1/4.multidot.(F02.multidot.c[4,2]+F06.multidot.c[4,6]+F42.multidot.c[4,2]+F 
46.multidot.c[4,6])+1/4.multidot.(F20.multidot.c[4,2]+F24.multidot.c[4,2]+F 
60.multidot.c[4,6]+F64.multidot.c[4,6])+1/4.multidot.(F22.multidot.c[2,2]+F 
26.multidot.c[2,6]+F62.multidot.c[2,6]+F66.multidot.c[6,6])+X.sub.00 
5+X.sub.00 6+X.sub.00 7+X.sub.00 8+X.sub.00 9+X.sub.00 10+X.sub.00 
11+X.sub.00 12+X.sub.00 13+X.sub.00 14+X.sub.00 15+X.sub.00 16 (13) 
Also, regarding the pixel value P03, if the first through fourth terms are 
expressed using the DCT coefficients and the fifth through sixteenth terms 
are expressed using X.sub.03 5 through X.sub.03 16, the following equation 
is obtained: 
EQU P03=1/4.multidot.(F00.multidot.c[4,4])+F04.multidot.c[4,4]+F40.multidot.c4, 
4]+F44.multidot.c[4,4])+ 
EQU 1/4.multidot.(-F02.multidot.c[4,2]-F06.multidot.c[4,6]-F42.multidot.c[4,2]- 
F46.multidot.c[4,6])+1/4.multidot.(F20.multidot.c[4,2]+F24.multidot.c[4,2]+ 
F60.multidot.c[4,6]+F64.multidot.c[4,6])+1/4.multidot.(-F22.multidot.c[2,2] 
-F26.multidot.c[2,6]-F62.multidot.c[2,6]-F66.multidot.c[6,6])+X.sub.03 
5+X.sub.03 6+X.sub.03 7+X.sub.03 8+X.sub.03 9+X.sub.03 10+X.sub.03 
11+X.sub.03 12+X.sub.03 13+X.sub.03 14+X.sub.03 15+X.sub.03 16 (14) 
Also, regarding the pixel value P30, if the first through fourth terms are 
expressed using the DCT coefficients and the fifth through sixteenth terms 
are expressed using X.sub.30 5 through X.sub.30 16, the following equation 
is obtained. 
EQU P30=1/4.multidot.(F00.multidot.c[4,4])+F04.multidot.c[4,4]+F40.multidot.c4, 
4]+F44.multidot.c[4,4])+ 
EQU 1/4.multidot.(F02.multidot.c[4,2]+F06.multidot.c[4,6]+F42.multidot.c[4,2]+F 
46.multidot.c[4,6])+1/4.multidot.(-F20.multidot.c[4,2]-F24.multidot.c[4,2]- 
F60.multidot.c[4,6]-F64.multidot.c[4,6])+1/4.multidot.(-F22.multidot.c[2,2] 
-F26.multidot.c[2,6]-F62.multidot.c[2,6]-F66.multidot.c[6,6])+X.sub.30 
5+X.sub.30 6+X.sub.30 7+X.sub.30 8+X.sub.30 9+X.sub.30 10+X.sub.30 
11+X.sub.30 12+X.sub.30 13+X.sub.30 14+X.sub.30 15+X.sub.30 16 (15) 
Also regarding the pixel value P33, if the first through fourth terms are 
expressed using the DCT coefficients and the fifth through sixteenth terms 
are expressed using X.sub.33 5 through X.sub.33 16, the following equation 
is obtained. 
EQU P33=1/4.multidot.(F00.multidot.c[4,4])+F04.multidot.c[4,4]+F40.multidot.c4, 
4]+F44.multidot.c[4,4])+ 
EQU 1/4.multidot.(-F02.multidot.c[4,2]-F06.multidot.c[4,6]-F42.multidot.c[4,2]- 
F46.multidot.c[4,6])+1/4.multidot.(-F20.multidot.c[4,2]-F24.multidot.c[4,2] 
-F60.multidot.c[4,6]-F64.multidot.c[4,6])+1/4.multidot.(F22.multidot.c[2,2] 
+F26.multidot.c[2,6]+F62.multidot.c[2,6]+F66.multidot.c[6,6])+X.sub.33 
5+X.sub.33 6+X.sub.33 7+X.sub.33 8+X.sub.33 9+X.sub.33 10+X.sub.33 
11+X.sub.33 12+X.sub.33 13+X.sub.33 14+X.sub.33 15+X.sub.33 16 (16) 
In the calculations regarding the DCT coefficients F02, F06, F42, and F46 
which are the second terms in equations (13) through (16), respectively, 
the symbol of the second terms of the pixel values P00 and P30 is plus and 
the symbol of the second terms of the pixel values P03 and P33 is minus. 
Namely, the symbol of O.sup.1.sub.00, O.sup.1.sub.03, O.sup.1.sub.30, and 
O.sup.1.sub.33 obtained in stage T1 are plus, minus, plus, and minus, 
respectively. Similarly, by checking the symbols of the second terms 
regarding the other pixel values Pyx, the relationship shown in FIG. 14 is 
obtained. As described above, in the post-processing unit N2, the DCT 
coefficients Fvu are not used, but the pre-processed DCT coefficients Hvu 
are used. Therefore, the cosine coefficients shown in FIG. 14 can be 
converted into 1, .sqroot.2-1, and .sqroot.2+1, as shown in FIG. 15. 
By checking the coefficients, which the DCT coefficients Fvu are multiplied 
by, regarding the first, third, and fourth terms of the equations (13) 
through (16), the output data O.sup.1.sub.00 through O.sup.1.sub.33 the 
first stage T1 are obtained as follows: 
##EQU4## 
As described above, in the first stage T1, the six kinds of multiplications 
described below are carried out. Namely, 
##EQU5## 
On the other hand, in a comparative example, in which this embodiment is 
not used, with reference to equation (2), the number of multiplications 
carried out in the first stage T1 is (2.multidot.8)+(2.multidot.4)=24. 
Conversely, in this embodiment, the multiplication is performed six times 
for obtaining the output data O.sup.1.sub.00 through O.sup.1.sub.33 in the 
first stage T1, and each result of the multiplications is used for 
obtaining the other output data. Namely, according to this embodiment, the 
number of the multiplications is reduced to 6. 
In the second, third, and fourth stages T2, T3, and T4, the output data 
O.sup.2.sub.00 through O.sup.2.sub.33, O.sup.3.sub.00 through 
O.sup.3.sub.33, and O.sup.4.sub.00 through O.sup.4.sub.33 are obtained 
similarly to the above. 
Calculations for obtaining the pixel values Pyx based on the output data 
O.sup.1.sub.ji through O.sup.4.sub.ji of each of the stages T1 through T4 
will be described below. 
Similar to equation (3) relating to the pixel value P00, the equation, by 
which the pixel value P07 is obtained based on the DCT coefficients Fvu, 
is as follows: 
EQU P07=1/4.multidot.(F00.multidot.c[4,4]+F04.multidot.c[4,4]+F40.multidot.c[4, 
4]+F44.multidot.c[4,4])+ 
EQU 1/4.multidot.(F02.multidot.c[4,2]+F06.multidot.c[4,6]+F42.multidot.c[4,2]+F 
46.multidot.c[4,6])+1/4.multidot.(F20.multidot.c[4,2]+F24.multidot.c[4,2]+F 
60.multidot.c[4,6]+F64.multidot.c[4,6])+1/4.multidot.(F22.multidot.c[2,2]+F 
26.multidot.c[2,6]+F62.multidot.c[2,6]+F66.multidot.c[6,6])+1/4.multidot.(F 
10.multidot.c[4,1]+F30.multidot.c[4,3]+F50.multidot.c[4,5]+F70.multidot.c[4 
,7])+1/4.multidot.(F14.multidot.c[4,1]+F34.multidot.c[4,3]+F54.multidot.c[4 
,5]+F74.multidot.c[4,7])+1/4.multidot.(F12.multidot.c[2,1]+F32.multidot.c[2 
,3]+F52.multidot.c[2,5]+F72.multidot.c[2,7])+1/4.multidot.(F16.multidot.c[6 
,1]+F36.multidot.c[6,3]+F56.multidot.c[6,5]+F76.multidot.c[6,7])+1/4.multid 
ot.(-F01.multidot.c[4,1]-F03.multidot.c[4,3]-F05.multidot.c[4,5]-F07.multid 
ot.c[4,7])+1/4.multidot.(-F41.multidot.c[4,1]-F43.multidot.c[4,3]-F45.multi 
dot.c[4,5]-F47.multidot.c[4,7])+1/4.multidot.(-F21.multidot.c[2,1]-F23.mult 
idot.c[2,3]-F25.multidot.c[2,5]-F27.multidot.c[2,7])+1/4.multidot.(-F61.mul 
tidot.c[6,1]-F63.multidot.c[6,3]-F65.multidot.c[6,5]-F67.multidot.c[6,7])+1 
/4.multidot.(-F11.multidot.c[1,1]-F35.multidot.c[3,5]-F53.multidot.c[3,5]-F 
77.multidot.c[7,7])+1/4.multidot.(-F17.multidot.c[1,7]-F33.multidot.c[3,3]- 
F55.multidot.c[5,5]-F71.multidot.c[1,7])+1/4.multidot.(-F13.multidot.c[1,3] 
-F31.multidot.c[1,3]-F57.multidot.c[5,7]-F75.multidot.c[5,7])+1/4.multidot. 
(-F15.multidot.c[1,5]-F37.multidot.c[3,7]-F51.multidot.c[1,5]-F73.multidot. 
c[3,7]) (17) 
Equation (3) can be expressed using X.sub.00 1 through X.sub.00 16, as 
follows: 
EQU P00=X.sub.00 1+X.sub.00 2+X.sub.00 3+X.sub.00 4+X.sub.00 5+X.sub.00 
6+X.sub.00 7+X.sub.00 8+X.sub.00 9+X.sub.10 +X.sub.00 11+X.sub.00 
12+X.sub.00 13+X.sub.00 14+X.sub.00 15+X.sub.00 16 
The first through fourth terms are obtained in the first stage T1, and are 
O.sup.1.sub.00. The fifth through eighth terms are obtained in the second 
stage T2, and are O.sup.2.sub.00. The ninth through twelfth terms are 
obtained in the third stage T3, and are O.sup.3.sub.00. The thirteenth 
through sixteenth terms are obtained in the fourth stage T4, and are 
O.sup.4.sub.00. Namely, the pixel value P00 is obtained from the following 
equation: 
EQU P00=O.sup.1.sub.00 +O.sup.2.sub.00 +O.sup.3.sub.00 +O.sup.4.sub.00 (18) 
Equation (17) can be similarly expressed using X.sub.00 1 through X.sub.00 
16, as follows: 
EQU P00=X.sub.00 1+X.sub.00 2+X.sub.00 3+X.sub.00 4+X.sub.00 5+X.sub.00 
6+X.sub.00 7+X.sub.00 8-X.sub.00 9-X.sub.00 10-X.sub.00 11-X.sub.00 
12-X.sub.00 13-X.sub.00 14-X.sub.00 15-X.sub.00 16 
Namely, the pixel value P07 is obtained by 
EQU P07=O.sup.1.sub.00 +O.sup.2.sub.00 -O.sup.3.sub.00 -O.sup.4.sub.00 (19) 
Similarly, the pixel value P70 is obtained by 
EQU P70=O.sup.1.sub.00 -O.sup.2.sub.00 +O.sup.3.sub.00 -O.sup.4.sub.00 (20) 
The pixel value P77 is obtained by 
EQU P77=O.sup.1.sub.00 -O.sup.2.sub.00 -O.sup.3.sub.00+ O.sup.4.sub.00 (21) 
Thus, the pixel values P00, P07, P70, and P77 of the first pixel group 0 
are obtained by the addition and subtraction of the output data 
O.sup.1.sub.00, O.sup.2.sub.00, O.sup.3.sub.00, and O.sup.4.sub.00. 
Similarly, the pixel values P01, P06, P71, and P76 of the second pixel 
group 1 are obtained by the addition and subtraction of the output data 
O.sup.1.sub.01, O.sup.2.sub.01, O.sup.3.sub.01, and O.sup.4.sub.01. The 
plus and minus symbols of each of the output data are same as those of the 
equations (18) through (21). Regarding the other pixel groups, the pixel 
values Pyx are obtained by the addition and subtraction of the output data 
O.sup.1.sub.ji through O.sup.4.sub.ji. The plus and minus symbols are the 
same as that of the first pixel group. 
FIG. 16 shows a relationship between the symbol in the addition and 
subtraction for obtaining the pixel values Pyx and the output data 
O.sup.1.sub.ji through O.sup.4.sub.ji of each of the stages T1 through T4. 
In FIG. 16, the symbols marked by reference Z1 shown at the upper left 
portion, reference Z2 shown at the upper right portion, reference Z3 shown 
at the left and lower portion, and reference Z4 shown at the lower right 
portion correspond to the pixel values of the upper left portion, the 
pixel values of the upper right portion, the pixel values of the lower 
left portion, and the pixel values of the lower right portion of each of 
the groups of pixels shown in FIG. 13. 
The number of multiplications in the post-processing unit N2 is 6 in the 
first stage T1, 24 in the second stage T2, 24 in the third stage T3, and 
20 in the fourth stage T4, respectively, and the total number of the 
multiplications is 74. The number of multiplications in the pre-processing 
unit N1 is equal to the number of the quantized DCT coefficients, which is 
64. Therefore, according to this embodiment, the number of 
multiplications, which is necessary to restore the pixel values Pyx from 
the quantized DCT coefficients, is 138. 
Conversely, when this embodiment is not provided, 344 multiplications are 
needed in the IDCT as shown by equation (2), and 64 multiplications are 
needed in the quantization. Namely, the total number of multiplications is 
408. Therefore, according to this embodiment, the number of 
multiplications is reduced to approximately one third of that necessary 
using a conventional method, so that time required to restore the pixel 
signals is shortened. 
Although the embodiments of the present invention have been described 
herein with reference to the accompanying drawings, obviously many 
modifications and changes may be made by those skilled in this art without 
departing from the scope of the invention. 
The present disclosure relates to subject matter contained in Japanese 
Patent Application No. 7-293667 (filed on Oct. 16, 1995) which is 
expressly incorporated herein by reference, in its entirety.