Abstract:
In a 5×3 wavelet transform apparatus, a function-A module ( 11 ) calculates equations A1 and A2, a function-B module ( 12 ) calculates equations B1 and B2, function-C0 module ( 13 ) calculates an equation C0, and a function-C1 module ( 14 ) calculates an equation C1. Selectors have terminals thereof set to “1” for a forward transform, and to “0” for an inverse transform. The equations A1 and B1 are applied for reversible transform, and A2 and B2 are applied for irreversible transform. The aforementioned equations are as follows:
 
 A out=RoundOff {( A in0+ A in1+0×2000)&gt;&gt;2}. A1
 
 A out=0.25*( A in0+ A in1). A2
 
 B out=RoundOff( B in0+ B in1). B1
 
 B out=0.5*( B in0+ B in1). B2
 
 C 0out= C 0in0+ C 1in1. C0
 
 C 1out= C 0in0− C 1in1. C1.

Description:
BACKGROUND OF THE INVENTION 
   1. Field of the Invention 
   The present invention relates to a 5×3 wavelet transform apparatus used in JPEG 2000 or the like for example. 
   This application claims the priority of the Japanese Patent Application No. 2002-052040 filed on Feb. 27, 2002, the entirety of which is incorporated by reference herein. 
   2. Description of the Related Art 
   Recently, a still image compression method called JPEG 2000 (ISO/IEC JTC 1/SC 29/WG1) has been proposed. JPEG 2000 adopts a wavelet transform in which the 5×3 filter is lifted. In this method, a conversion for decomposition of original image data into low- and high-frequency components is called “forward transform” and a combination of such low- and high-frequency components into the original image is called “inverse transform”. 
   Also, JPEG 2000 adopts reversible wavelet transform or irreversible wavelet transform, either of which the user can selectively adopt. 
   However, in case a JPEG 2000 encoder/decoder is built by making a 5×3 wavelet filter as a hardware or software, it is necessary to form a forward reversible transform module, inverse irreversible transform module and an inverse reversible transform module, which will lead to a larger circuit scale. 
   OBJECT AND SUMMARY OF THE INVENTION 
   It is therefore an object of the present invention to overcome the above-mentioned drawbacks of the related art by providing a 5×3 wavelet transform apparatus whose circuit scale is reduced. 
   The present invention provides a 5×3 wavelet transform apparatus for making a forward transform of an original data stream composed of a plurality of original data by breaking down the original data stream into a low-frequency data stream including low-frequency components of the original data stream and a high-frequency data stream including high-frequency components of the original data stream, as well as for making an inverse transform of the low- and high-frequency data streams by reversing the forward transform. 
   The above object can be attained by providing a 5×3 wavelet transform apparatus for making a forward transform of an original data stream composed of a plurality of original data by breaking down the original data stream into a low-frequency data stream including low-frequency components of the original data stream and a high-frequency data stream including high-frequency components of the original data stream, as well as for making an inverse transform of the low- and high-frequency data streams by reversing the forward transform, the apparatus including, according to the present invention, a first computation means supplied with data Ain0 and Ain1 to determine data Amiddle by computing an equation (1) which will be given later, generate data Aout with the decimal part of the data Amiddle taken as zero (0) and output the data Aout, a second computation means supplied with data Bin0 and Bin1 to determine data Bmiddle by computing an equation (2) which will be given later, generate data Bout with the decimal part of the data Bmiddle taken as zero (0) and output the data Bout, a third computation means supplied with data C0in0 and C0in1 to determine data C0out by computing an equation (3) which will be given later and output the data C0out, and a fourth computation means supplied with data C1in0 and C1in1 to determine data C1out by computing an equation (4) which will be given later and output the data C1out. 
   For the forward transform, the above 5×3 wavelet transform apparatus is supplied, in every two steps, with the original data stream from first to last data, the first computation means is supplied with the (M−1)th data in the high-frequency data stream as the data Ain0 and also the output data C1out from the fourth computation means as the data Ain1, the second computation means is supplied with the (L−1)th data in the original data stream as the data Bin0 and also the (L+1)th data in the original data stream as the data Bin1, the third computation means is supplied with the (L−1)th data in the original data stream as the data C0in0 and also the output data Aout from the first computation means as the data C0in1, the fourth computation means is supplied with the L-th data in the original data stream as the data C1in0 and also the output data Bout from the second computation means as the data C1in1, and the apparatus outputs the output data C1out from the fourth computation means as the M-th data in the high-frequency data stream and also the output data C0out from the third computation means as the N-th data in the low-frequency data stream. 
   For the inverse transform, the 5×3 wavelet transform apparatus is supplied, in each step, with the low- and high-frequency data streams from first to last data, the first computation means is supplied with the M-th data in the high-frequency data stream as the data Ain0 and also the (M+1)th data in the high-frequency data stream as the data Ain1, the second computation means is supplied with the (L−1)th data in the original data stream as the data Bin0 and also the output data C1out from the fourth computation means as the data Bin1, the third computation means is supplied with the M-th data in the high-frequency data stream as the data C0in0 and also the output data Bout from the second computation means as the data C0in1, the fourth computation means is supplied with the (N+1)th data in the low-frequency data stream as the data C1in0 and also the output data Aout from the first computation means as the data C1in1, and the apparatus outputs the output data C1out from the third computation means as the L-th data in the original data stream and also the output data C1out from the fourth computation means as the (L+1)th data in the original data stream. 
   The equations used in the 5×3 wavelet transform apparatus are as follows:
 
 A middle=( A in0 +A in1+Coeff —   A ) 2 &gt;&gt;2  (1)
 
 B middle=( B in0 +B in1) 2 &gt;&gt;1  (2)
 
 C 0out=( C 0in0 +C 0in1)  (3)
 
 C 1out=( C 1in0 +C 1in1)  (4)
 
where X Y  is a notation of X by a numeration based on Y, and X 2 &gt;&gt;Y indicates an arithmetic Y-bit rightward shift of X (binary number).
 
   Coeff_A is 2 (decimal number). 
   The values L, M and N are integers having a relation of {L=2M=2N} or {(L+1)=2M=2(N+1)} with each other. 
   Also the above object can be attained by providing a 5×3 wavelet transform apparatus for making a forward transform of an original data stream composed of a plurality of original data by breaking down the original data stream into a low-frequency data stream including low-frequency components of the original data stream and a high-frequency data stream including high-frequency components of the original data stream, as well as for making an inverse transform of the low- and high-frequency data streams by reversing the forward transform, the apparatus including, according to the present invention, a first computation means supplied with data Ain0 and Ain1 to determine data Amiddle by computing an equation (1′) which will be given later and output the data Amiddle as the data Aout, a second computation means supplied with data Bin0 and Bin1 to determine data Bmiddle by computing an equation (2′) which will be given later and output the data Bmiddle as the data Bout, a third computation means supplied with data C0in0 and C0in1 to determine data C0out by computing an equation (3) which will be given later and output the data C0out, and a fourth computation means supplied with data C1in0 and C1in1 to determine data C1out by computing an equation (4) which will be given later and output the data C1out. 
   For the forward transform, the above 5×3 wavelet transform apparatus is supplied, in every two steps, with the original data stream from first to last data, the first computation means is supplied with the (M−1)th data in the high-frequency data stream as the data Ain0 and also the output data C1out from the fourth computation means as the data Ain1, the second computation means is supplied with the (L−1)th data in the original data stream as the data Bin0 and also the (L+1)th data in the original data stream as the data Bin1, the third computation means is supplied with the (L−1)th data in the original data stream as the data C0in0 and also the output data Aout from the first computation means as the data C0in1, the fourth computation means is supplied with the L-th data in the original data stream as the data C1in0 and also the output data Bout from the second computation means as the data C1in1, and the apparatus outputs the output data C1out from the fourth computation means as the M-th data in the high-frequency data stream and also the output data C0out from the third computation means as the N-th data in the low-frequency data stream. 
   For the inverse transform, the 5×3 wavelet transform apparatus is supplied, in each step, with the low- and high-frequency data streams from first to last data, the first computation means is supplied with the M-th data in the high-frequency data stream as the data Ain0 and also the (M+1)th data in the high-frequency data stream as the data Ain1, the second computation means is supplied with the (L−1)th data in the original data stream as the data Bin0 and also the output data C1out from the fourth computation means as the data Bin1, the third computation means is supplied with the M-th data in the high-frequency data stream as the data C0in0 and also the output data Bout from the second computation means as the data C0in1, the fourth computation means is supplied with the (N+1)th data in the low-frequency data stream as the data C1in0 and also the output data Aout from the first computation means as the data C1in1, and the apparatus outputs the output data C1out from the third computation means as the L-th data in the original data stream and also the output data C1out from the fourth computation means as the (L+1)th data in the original data stream. 
   The equations used in the 5×3 wavelet transform apparatus are as follows:
 
 A middle=0.25*( A in0 +A in1)  (1′)
 
 B middle=0.5*( B in0 +B in1)  (2′)
 
 C 0out=( C 0in0 +C 0in1)  (3)
 
 C 1out=( C 1in0 +C 1in1)  (4)
 
   The values L, M and N are integers having a relation of {L=2M=2N} or {(L+1)=2M=2(N+1)} with each other. 
   Also the above object can be attained by providing a 5×3 wavelet transform apparatus for making a forward transform of an original data stream composed of a plurality of original data to break down the original data stream into a low-frequency data stream including low-frequency components of the original data stream and a high-frequency data stream including high-frequency components of the original data stream, and for reversing the forward transform, the apparatus including, according to the present invention, a first computation means supplied with data Ain0 and Ain1 to determine data Amiddle by computing an equation (1) when in a reversible transform mode, while determining the data Amiddle by computing an equation (1″) when in an irreversible transform mode, and output data Aout with the decimal part of the data Amiddle taken as zero (0) when in the reversible transform mode, while outputting the data Amiddle as it is as the data Aout when in the irreversible transform mode, a second computation means supplied with data Bin0 and Bin1 to determine data Bmiddle by computing an equation (2) which will be given later, and output data Bout with the decimal part of the data Bmiddle taken as zero (0) when in the reversible transform mode, while outputting the data Bmiddle as it is as the data Bout when in the irreversible transform mode, a third computation means supplied with data C0in0 and C0in1 to determine data C0out by computing an equation (3) which will be given later and output the data C0out, and a fourth computation means supplied with data C1in0 and C1in1 to determine data C1out by computing an equation (4) which will be given later and output the data C1out. 
   For the forward transform, the above 5×3 wavelet transform apparatus is supplied, in every two steps, with the original data stream from first to last data, the first computation means is supplied with the (M−1)th data in the high-frequency data stream as the data Ain0 and also the output data C1out from the fourth computation means as the data Ain1, the second computation means is supplied with the (L−1)th data in the original data stream as the data Bin0 and also the (L+1)th data in the original data stream as the data Bin1, the third computation means is supplied with the (L−1)th data in the original data stream as the data C0in0 and also the output data Aout from the first computation means as the data C0in1, the fourth computation means is supplied with the L-th data in the original data stream as the data C1in0 and also the output data Bout from the second computation means as the data C1in1, and the apparatus outputs the output data C1out from the fourth computation means as the M-th data in the high-frequency data stream and also the output data C0out from the third computation means as the N-th data in the low-frequency data stream. 
   For the inverse transform, the 5×3 wavelet transform apparatus is supplied, in each step, with the low- and high-frequency data streams from first to last data, the first computation means is supplied with the M-th data in the high-frequency data stream as the data Ain0 and also the (M+1)th data in the high-frequency data stream as the data Ain1, the second computation means is supplied with the (L−1)th data in the original data stream as the data Bin0 and also the output data C1out from the fourth computation means as the data Bin1, the third computation means is supplied with the M-th data in the high-frequency data stream as the data C0in0 and also the output data Bout from the second computation means as the data C0in1, the fourth computation means is supplied with the (N+1)th data in the low-frequency data stream as the data C1in0 and also the output data Aout from the first computation means as the data C1in1, and the apparatus outputs the output data C1out from the third computation means as the L-th data in the original data stream and also the output data C1out from the fourth computation means as the (L+1)th data in the original data stream. 
   The equations used in the 5×3 wavelet transform apparatus are as follows:
 
 A middle=( A in0 +A in1+Coeff —   A ) 2 &gt;&gt;2  (1)
 
 A middle=( A in0 +A in1) 2 &gt;&gt;2  (1″)
 
 B middle=( B in0 +B in1) 2 &gt;&gt;1  (2)
 
 C 0out=( C 0in0 +C 0in1)  (3)
 
 C 1out=( C 1in0 +C 1in1)  (4)
 
where X Y  is a notation of X by a numeration based on Y, and X 2 &gt;&gt;Y indicates an arithmetic Y-bit rightward shift of X (binary number).
 
   Coeff_A is 2 (decimal number). 
   The values L, M and N are integers having a relation of {L=2M=2N} or {(L+1)=2M=2(N+1)} with each other. 
   These objects and other objects, features and advantages of the present invention will become more apparent from the following detailed description of the preferred embodiments of the present invention when taken in conjunction with the accompanying drawings. 

   
     BRIEF DESCRIPTION OF THE DRAWINGS 
       FIG. 1  explains the wavelet transform; 
       FIG. 2  explains the forward reversible wavelet transform; 
       FIG. 3  explains the inverse reversible wavelet transform; 
       FIG. 4  explains the forward irreversible wavelet transform; 
       FIG. 5  explains the inverse irreversible wavelet transform; 
       FIG. 6  explains a stream-top data symmetrical dilation in the forward transform; 
       FIG. 7  explains a stream-bottom data symmetrical dilation in the forward transform made in case a total number of original data is even; 
       FIG. 8  explains a stream-bottom data symmetrical dilation in the forward transform made in case a total number of original data is odd; 
       FIG. 9  explains a stream-top data symmetrical dilation in the inverse transform; 
       FIG. 10  explains a stream-bottom data symmetrical dilation in the inverse transform made in case a total number of original data is even; 
       FIG. 11  explains a stream-bottom data symmetrical dilation in the forward transform made in case a total number of original data is odd; 
       FIG. 12  is a circuit diagram of the wavelet transform apparatus; 
       FIG. 13  is a circuit diagram of a function-A module; 
       FIG. 14  is a circuit diagram of a function-B circuit; 
       FIG. 15  is a circuit diagram of a function-C 0  module; 
       FIG. 16  is a circuit diagram of a function-C 1  module; 
       FIG. 17  is a circuit diagram of a coefficient generation module; 
       FIG. 18  is a timing diagram of input and output data during an ordinary operation for the forward transform; 
       FIG. 19  is a timing diagram of input and output data when the stream-top data symmetrical dilation is done in the forward transform; 
       FIG. 20  is a timing diagram of input and output data when the stream-bottom data symmetrical dilation is done in the forward transform of an even total number of original data; 
       FIG. 21  is a timing diagram of input and output data when the stream-bottom data symmetrical dilation is done in the forward transform of an odd total number of original data; 
       FIG. 22  is a timing diagram of ordinary input and output data in the inverse transform; 
       FIG. 23  is a timing diagram of input and output data when the stream-top data symmetrical dilation is done in the inverse transform; 
       FIG. 24  is a timing diagram of input and output data when the stream-bottom data symmetrical dilation is done in the inverse transform of an even total number of original data; 
       FIG. 25  is a timing diagram of input and output data when the end symmetrical dilation is done in the inverse transform of an odd total number of original data; and 
       FIG. 26  explains the wavelet transform when data have been filtered in a phase sequence from the high- to low-frequency coefficient. 
   

   DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS 
   5×3 Wavelet Transform 
   As shown in  FIG. 1 , the forward 5×3 wavelet transform is to break down an original data stream composed of one-dimensionally listed pixel data (or coefficients) into high- and low-frequency components and generate a data stream composed of high-frequency coefficients and a data stream composed of low-frequency coefficients. The inverse 5×3 wavelet transform is to reverse the forward transform. That is, the inverse transform is to combine the data stream of high-frequency coefficients and data stream of low-frequency coefficients together into generate the original data stream. It should be noted that each of the numbers of the high and low-frequency coefficients is ½ when the total number of original pixels (or coefficients) is even. Also, when the number of pixels is odd, one of the numbers of high- and low-frequency frequencies, respectively, is a number resulting from round-up of the decimal part of ½, while the other is a number resulting from round-down of the decimal part of ½. 
   A data stream yet to undergo forward transform will be referred to as “original data stream” herein. Also, a data stream composed of high-frequency coefficients after having undergone the forward transform will be referred to as “high-frequency data stream” herein and a data stream composed of low-frequency coefficients having also undergone the forward transform will be referred to as “low-frequency data stream” herein. Further, each of pixels (or coefficients) in the original data stream and each of coefficients included in the high- and low-frequency data streams will be represented as follows: 
   The high-frequency coefficient is represented by “d n   f ” in which the subscript “n” indicates a position (order) of the high-frequency coefficient in the high-frequency data stream from the top and is an arbitrary natural number larger than 1. 
   The low-frequency coefficient is represented by “s n   f ” in which the subscript “n” indicates a position (order) of the low-frequency coefficient in the low-frequency data stream from the top and is an arbitrary natural number larger than 1. 
   Original data are represented by “s n   s ” and “d n   s ”. “s n   s ” is a pixel (or coefficient) in a pixel position corresponding to “s n   f ” and “d n   s ” is a pixel (or coefficient) in a pixel position corresponding to “d n   f ”. Also, “s n   s ” is an odd pixel (or coefficient) in an original data stream and “d n   s ” is an even pixel (or coefficient) in the original data stream. Therefore, the position (order) of “s n   s ” in the original data stream is the (2n−1)th and the position (order) of “d n   s ” in the original data stream is the 2n-th. 
   Next, the 5×3 wavelet transform in each of the directions, forward and inverse, will be described. It should be noted that for the convenience of the explanation of the wavelet transform, it will be assumed that each data in a data stream is expressed in the binary notation. Also, it should be noted that in the computing equation, the X&gt;&gt;Y indicates an arithmetic Y-bit rightward shift of X (binary number). 
   Forward Reversible Wavelet Transform 
   The 5×3 forward reversible wavelet transform uses a 5×3 forward reversible filtering computation to generate one high-frequency coefficient and one low-frequency coefficient. In this 5×3 forward reversible wavelet transform, the 5×3 forward reversible filtering computation is sequentially done of data from first to last pixels of an original data stream to generate a high-frequency data stream and low-frequency data stream. More particularly, in the 5×3 forward reversible wavelet transform, the 5×3 forward reversible filtering computation is made of the original data stream stepwise by two data to generate the high- and low-frequency data streams. 
     FIG. 2  schematically illustrates the 5×3 forward reversible filtering computation for determination of an n-th high-frequency coefficient “d n   f ” and n-th low-frequency coefficient “s n   f ”. 
   In the 5×3 forward reversible filtering computation, “d n   f ” and “s n   f ” are determined by computing the following equations, respectively:
 
 s   n   f   =s   n   s +{( d   n−1   f   +d   n   f +2)&gt;&gt;2}
 
 d   n   f   =d   n   s −{( s   n   s   +s   n+1   s )&gt;&gt;1}
 
where d n−1   f  is a value determined by the 5×3 forward reversible filtering computation in a preceding step.
 
   On the assumption that d n−1   f =I 0 , s n   s =I 1 , d n   s =I 2 , s n+1   s =I 3 , s n   f =O 0  and d n   f =O 1 , the above equations can be changed to the following ones (1-1) and (1-2), respectively:
 
 O   0   =I   1 +{( I   0   +O   1 +2)&gt;&gt;2}  (1-1)
 
 O   1   =I   2 −{( I   1   +I   3 )&gt;&gt;1}  (1-2)
 
   Inverse Reversible Wavelet Transform 
   The 5×3 inverse reversible wavelet transform uses a 5×3 inverse reversible filtering computation to generate two original pixel (or coefficient) data. In this 5×3 inverse reversible wavelet transform, the 5×3 inverse reversible filtering computation is sequentially made of data from first to last coefficients to generate the original data stream. More particularly, in the 5×3 inverse reversible wavelet transform, 5×3 inverse reversible filtering computation is made of the high- and low-frequency data streams stepwise by one data to generate the original data stream. 
     FIG. 3  schematically illustrates the 5×3 inverse reversible filtering computation to determine the 2n-th original data “d n   s ” and (2n+1)th original data “s n+1   s ”. 
   In the 5×3 inverse reversible filtering computation, “d n   s ” and “s n+1   s ” are determined by computing the following equations, respectively:
 
 d   n   s   =d   n   f +{( s   n   s   +s   n+1   s )&gt;&gt;1}
 
 s   n+1   s   =s   n+1   f −{( d   n   f   +d   n+1   f +2)&gt;&gt;2}
 
where s n   s  is a value determined by the 5×3 inverse reversible filtering computation in a preceding step.
 
   On the assumption that s n   s =I 0 , d n   f =I 1 , s n+1   f =I 2 , d n+1   f =I 3 , d n   s =O 0  and s n+   s =O 1 , the above equations can be changed to the following ones (2-1) and (2-2), respectively:
 
 O   0   =I   1 +{( I   0   +O   1 )&gt;&gt;1}  (2-1)
 
 O   1   =I   2 −{( I   1   +I   3 +2)&gt;&gt;2}  (2-2)
 
   Forward Irreversible Wavelet Transform 
   The 5×3 forward irreversible wavelet transform uses a 5×3 forward irreversible filtering computation to generate one high-frequency coefficient and one low-frequency coefficient. In this 5×3 forward irreversible wavelet transform, the 5×3 forward irreversible filtering computation is sequentially done of data from first to last pixels to generate a high-frequency data stream and low-frequency data stream. More particularly, in the 5×3 forward irreversible wavelet transform, the 5×3 forward irreversible filtering computation is made of the original data stream stepwise by two data to generate the high- and low-frequency data streams. 
     FIG. 4  schematically illustrates the 5×3 forward irreversible filtering computation for determination of an n-th high-frequency coefficient “d n   f ” and n-th low-frequency coefficient “s n   f ”. 
   In the 5×3 forward irreversible filtering computation, “d n   f ” and “s n   f ” are determined by computing the following equations, respectively:
 
 s   n   f   =s   n   s +β×( d   n−1   f   +d   n   f )
 
 d   n   f   =d   n   s −α×( s   n   s   +s   n+1   s )
 
where α=0.5, β=0.25 and d n−1   f  is a value determined by the 5×3 forward irreversible filtering computation in a preceding step.
 
   On the assumption that d n−1   f =I 0 , s n   s =I 1 , d n   s =I 2 , s n+1   s =I 3 , s n   f =O 0  and d n   f =O 1 , the above equations can be changed to the following ones (3-1) and (3-2), respectively:
 
 O   0   =I   1 +β×( I   0   +O   1 )  (3-1)
 
 O   1   =I   2 −α×( I   1   +I   3 )  (3-2)
 
   Inverse Irreversible Wavelet Transform 
   The 5×3 inverse irreversible wavelet transform uses a 5×3 inverse irreversible filtering computation to generate two original pixel (or coefficient) data. In this 5×3 inverse irreversible wavelet transform, the 5×3 inverse irreversible filtering computation is sequentially made of data from first to last coefficients to generate the original data stream. More particularly, in the 5×3 inverse irreversible wavelet transform, 5×3 inverse irreversible filtering computation is made of the high- and low-frequency data streams stepwise of one data to generate the original data stream. 
     FIG. 5  schematically illustrates the 5×3 inverse irreversible filtering computation to determine the 2n-th original data “d n   s ” and (2n+1)th original data “s n+1   s ”. 
   In the 5×3 inverse irreversible filtering computation, “d n   s ” and “s n+1   s ” are determined by computing the following equations, respectively:
 
 d   n   s   =d   n   f +α×( s   n   s   +s   n+1   s )
 
 s   n+1   s   =s   n+1   f −β×( d   n   f   +d   n+1   f )
 
where s n   s  is a value determined by the 5×3 inverse irreversible filtering computation in a preceding step.
 
   On the assumption that s n   s =I 0 , d n   f =I 1 , s n+1   f =I 2 , d n+1   f =I 3 , d n   s =O 0  and s n+1   s =O 1 , the above equations can be changed to the following ones (4-1) and (4-2), respectively:
 
 O   0   =I   1 +α×( I   0   +O   1 )  (4-1)
 
 O   1   =I   2 −β×( I   1   +I   3 )  (4-2)
 
   Symmetrical Dilation 
   Next, how data in the trailing portion of a data stream is generated will be described. 
   In case a first coefficient (s 1   f ) in the low-frequency data stream is generated by the 5×3 forward reversible wavelet transform or forward irreversible wavelet transform, there exists no data I 0  (high-frequency coefficient d 0   f ) to which the filter has to refer, as shown in  FIG. 6 . Therefore, for generation of the first low-frequency coefficient in the 5×3 forward wavelet transform, data O 1  (high-frequency coefficient d 1   f ) is placed at the data I 0  for filtering computation. The data in the leading portion of the data stream is dilated to a value to which the filter refers, which is called “stream-top data dilation” 
   In case a last high-frequency coefficient (d m   f ) in the high-frequency data stream is generated using an original data stream whose total number of pixel data is even, there exists no data I 3  (original data S m+1   s ) to which the filter has to refer, as shown in  FIG. 7 . Therefore, for generation of the last high-frequency coefficient in the 5×3 forward wavelet transform, data I 1  (original data S m   s ) is placed at the data I 3  for filtering computation. The data in the trailing portion of the data stream is dilated to a value to which the filter refers, which is called “stream-bottom data dilation”. 
   In case a last low-frequency coefficient (S m   f ) in the low-frequency data stream is generated using an original data stream whose total number of pixel data is odd, there exists no data O 1  (high-frequency coefficient d m   s ) to which the filter has to refer, as shown in  FIG. 8 . Therefore, for generation of the last low-frequency coefficient in the 5×3 forward wavelet transform, data I 0  (high-frequency coefficient d m+1   f ) is placed at the data O 1  for filtering computation. 
   In case a first original data (s 1   s ) in the original data stream is generated by the 5×3 inverse irreversible wavelet transform or inverse irreversible wavelet transform, there exists no data I 1  (high-frequency coefficient d 0   f ) to which the filter has to refer, as shown in  FIG. 9 . Therefore, for generation of the first original data in the 5×3 inverse wavelet transform, data I 3  (high-frequency coefficient d 1   f ) is placed at the data I 1  for filtering computation. 
   In case a last original data (d m   s ) in the original data stream is generated using high- and low-frequency data streams, of which total numbers of high- and low-frequency coefficient data are even, there exists no data O 1  (original data S m+1   s ) to which the filter has to refer, as shown in  FIG. 10 . Therefore, for generation of the last original data (d m   s ) in the 5×3 inverse wavelet transform, data I 0  (original data S m   s ) is placed at the data O 1  for filtering computation. 
   In case a last original data (s m   s ) in the original data stream is generated using high- and low-frequency data streams, of which total numbers of high- and low-frequency coefficient data are odd, there exists no data I 3  (high-frequency coefficient d m   f ) to which the filter has to refer, as shown in  FIG. 11 . Therefore, for generation of the last original data (s m   s ) in the 5×3 inverse wavelet transform, data I 1  (high-frequency coefficient d m−1   f ) is placed at the data I 3  for filtering computation. 
   Wavelet Transform Apparatus 
   Next, the 5×3 wavelet transform apparatus according to the present invention will be described. It should be noted that for the convenience of the explanation of the 5×3 wavelet transform apparatus, it will be assumed that each of an original data and high- and low-frequency coefficients is binary data having a width of 32 bits whose MSB is a code bit, lower 12 bits form a decimal part and remaining 19 bits form an integer part. Also it should be noted that the data bus used in the 5×3 wavelet transform apparatus has a width of 32 bits unless otherwise specified. 
     FIG. 12  is a circuit diagram of a wavelet transform apparatus. 
   The wavelet transform apparatus is generally indicated with a reference  1 . As shown in  FIG. 12 , the wavelet transform apparatus  1  includes a function-A module  11 , function-B module  12 , function-C 0  module  13 , function-C 1  module  14 , coefficient generation module  15 , first to seventh selectors  21  to  27 , and first to third flip-flops (F/F)  28  to  30 . 
   Also the wavelet transform apparatus  1  has input terminals I 0 , I 1 , I 2  and I 3 . These input terminals I 0 , I 1 , I 2  and I 3  are supplied with I 0 , I 1 , I 2  and I 3 , respectively, corresponding to the aforementioned equations (1-1) and (1-2) in the forward reversible transform, I 0 , I 1 , I 2  and I 3 , respectively, corresponding to the aforementioned equations (2-1) and (2-2) in the inverse reversible transform, I 0 , I 1 , I 2  and I 3 , respectively, corresponding to the aforementioned equations (3-1) and (3-2) in the forward irreversible transform, and I 0 , I 1 , I 2  and I 3 , respectively, corresponding to the aforementioned equations (4-1) and (4-2) in the inverse irreversible transform. 
   Also the wavelet transform apparatus  1  has output terminals O 0  and O 1 . The output terminals O 0  and O 1  provide outputs O 0  and O 1 , respectively, corresponding to the aforementioned equations (1-1) and (1-2) in the forward reversible transform, O 0  and O 1 , respectively, corresponding to the aforementioned equations (2-1) and (2-2) in the inverse reversible transform, O 0  and O 1 , respectively, corresponding to the aforementioned equations (3-1) and (3-2) in the forward irreversible transform, and O 0  and O 1 , respectively, corresponding to the aforementioned equations (4-1) and (4-2) in the inverse irreversible transform. 
   Function-A Module 
   The function-A module  11  is internally constructed as shown in the circuit diagram in  FIG. 13 . 
   As shown, the function-A module  11  includes an adder  31 , 2-bit rightward shift circuit  32 , integer extraction circuit  33 , decimal fraction extraction circuit  34 , AND circuit  35  and a synthesis circuit  36 . 
   Also, the function-A module II has terminals Ain0, Ain1, Coeff_A and Coeff_B to which data Ain0, Ain1, Coeff_A and Coeff_B are externally supplied, respectively. Each of the data Ain0, Ain1 and Coeff_A is a 32 bit-long data. The data Coeff_B is a 12 bit-long data. 
   The adder  31  adds the data Ain0, Ain1 and Coeff_A to provide 32-bit data. That is, the adder  31  makes an addition of (Ain0+Ain1+Coeff_A). The data Coeff_A is a coefficient originated from the coefficient generation module  15 . The data Coeff_A is made 2 (decimal) when in the reversible transform mode. That is, in this embodiment, since the lower 12 bits represent a decimal number, the data Coeff_A is “0×2000” as a hexadecimal notation. The data Coeff_A is made 0 (zero) when in the irreversible transform mode. 
   The 2-bit rightward shift circuit  32  makes an arithmetic 2-bit rightward shift calculation of the output (32 bits) from the adder  31 . 
   The integer extraction circuit  33  is provided to extract a code bit and integer part of the output (32 bits) from the 2-bit rightward shift circuit  32 . Namely, the integer extraction circuit  33  extracts upper 20 bits from the output of the 2-bit rightward shift circuit  32 . 
   The decimal fraction extraction circuit  34  extracts a decimal part of the output (32 bits) from the 2-bit rightward shift circuit  32 . Namely, the decimal fraction extraction circuit  33  extracts lower 12 bits from the output of the 2-bit rightward shift circuit  32 . 
   The AND circuit  35  is provided to AND the 12-bit data extracted by the decimal fraction extraction circuit  34  and data Coeff_B. The data Coeff_B is a coefficient generated by the coefficient generation module  15 . The data Coeff_B is made 0 (zero) when in the reversible transform mode, and “0×fff” (12-bit data) as a hexadecimal notation when in the irreversible transform mode. Namely, the AND circuit  35  outputs the data extracted by the decimal fraction extraction circuit  33  as 0 (zero) when in the reversible transform mode, and the data extracted by the decimal fraction extraction circuit  33  as it is when in the irreversible transform mode. 
   The synthesis circuit  36  combines the output data from the integer extraction circuit  33  and output data from the AND circuit  35  together. More specifically, the synthesis circuit  36  generates output data of 32 bits in which the output data from the integer extraction circuit  33  (20 bits) are taken as code bits and an integer part and the output data from the AND circuit  35  is taken as a decimal part. 
   The function-A module  11  delivers the output data from the synthesis circuit  36  as output data (Aout) therefrom at an output terminal Aout. 
   Therefore, the function-A module  11  makes a fixed-point calculation given by the following equation (A-1) when in the reversible transform mode, and by the following equation (A-2) when in the irreversible transform mode:
 
 A out=RoundOff{ A in0 +A in1+0×2000)&gt;&gt;2}  (A-1)
 
 A out=0.25*( A in0 +A in1)  (A-2)
 
where X&gt;&gt;Y indicates an arithmetic Y-bit rightward shift of X (binary value) and RoundOff(X) indicates a round-off of a decimal part of the value X.
 
   Function-B Module 
   The function-B module  12  is internally constructed as shown in the circuit diagram in  FIG. 14 . 
   The function-B module  12  includes an adder  41 , 1-bit rightward shift circuit  42 , integer extraction circuit  43 , decimal fraction extraction circuit  44 , AND circuit  45  and a synthesis circuit  46 . 
   The function-B module  12  has terminals Bin0, Bin1 and Coeff_B to which data Bin0, bin1 and Coeff_B are externally supplied, respectively. Each of the data Bin0 and Bin1 is a 32 bit-long data. The data Coeff_B is a 12 bit-long data. 
   The adder  41  adds the data Bin0 and Bin1 together to provide 32-bit data. That is, the adder  41  makes an addition of (Bin0+Bin1). 
   The 1-bit rightward shift circuit  42  makes an arithmetic 1-bit rightward shift calculation of the output (32 bits) from the adder  41 . 
   The integer extraction circuit  43  is provided to extract a code bit and integer part of the output (32 bits) from the 1-bit rightward shift circuit  42 . Namely, the integer extraction circuit  43  extracts upper 20 bits from the output from the 1-bit rightward shift circuit  42 . 
   The decimal fraction extraction circuit  44  extracts a decimal part of the output (32 bits) from the 1-bit rightward shift circuit  42 . Namely, the decimal fraction extraction circuit  43  extracts lower 12 bits from the output of the 1-bit rightward shift circuit  42 . 
   The AND circuit  45  is provided to AND the 12-bit data extracted by the decimal fraction extraction circuit  44  and data Coeff_B. The data Coeff_B is a coefficient generated by the coefficient generation module  15 . The data Coeff_B is made 0 (zero) when in the reversible transform mode, and “0×fff” (12-bit data) as a hexadecimal notation when in the irreversible transform mode. Namely, the AND circuit  45  outputs the data extracted by the decimal fraction extraction circuit  43  as 0 (zero) when in the reversible transform mode, and the data extracted by the decimal fraction extraction circuit  33  as it is when in the irreversible transform mode. 
   The synthesis circuit  46  combines the output data from the integer extraction circuit  33  and output data from the AND circuit  45  together. More specifically, the synthesis circuit  36  generates output data of 32 bits in which the output data from the integer extraction circuit  33  (20 bits) is taken as code bits and an integer part and the data extracted by the output data from the AND circuit  45  is taken as a decimal part. 
   The function-B module  12  delivers output data from the synthesis circuit  46  as the output data (Bout) therefrom at an output terminal Bout. 
   Therefore, the function-B module  12  makes a fixed-point calculation expressed by the following equation (B-1) when in the reversible transform mode, and by the following equation (B-2) when in the irreversible transform mode:
 
 B out=RoundOff{( B in0 +B in1)&gt;&gt;1}  (B-1)
 
 B out=0.5*( B in0 +B in1)  (B-2)
 
where X&gt;&gt;Y indicates an arithmetic Y-bit rightward shift of X (binary value) and RoundOff(X) indicates a round-off of a decimal part of the value X.
 
   Function-C 0  Module 
   The function-C 0  module  13  is internally constructed as will be described below.  FIG. 13  shows the circuit diagram of the function-C 0  module  13 . 
   The function-C 0  module  13  is constructed including an adder  51 . The function-C 0  module  13  has terminals C0in0 and C0in1 to which data C0in0, C0in1 are externally supplied, respectively. Each of the data C0in0 and C0in1 is a 32 bit-long data. 
   The adder  51  adds the data C0in0 and C0in1 together to provide 32-bit data. That is, the adder  51  makes an addition of (Cin0+Cin1). 
   The function-C 0  module  13  delivers the output data from the adder  51  as the output data (C0out) thereof at a terminal C0out. 
   Therefore, the function-C 0  module  13  makes a fixed-point calculation given by the following equation (C0-1):
 
 C 0out= C 0in0 +C 1in1  (C0-1)
 
   Function-C 1  Module 
   The function-C 1  module  14  is internally constructed as will be described below. The internal construction of the function-C 1  module  14  is shown in the circuit diagram of  FIG. 16 . 
   The function-C 1  module  14  is constructed including a two&#39;s complement calculation circuit  52  and an adder  53 . The function-C 1  module  14  has terminals C1in0 and C1in1 to which data C1in0, C1in1 are externally supplied, respectively. Each of the data C1in0 and C1in1 is a 32 bit-long data. 
   The two&#39;s complement calculation circuit  52  calculates a two&#39;s complement of C1in1. The adder  53  adds the output from the two&#39;s complement calculation circuit  52  and data C1in0 together to provide 32-bit data. That is, the two&#39;s complement calculation circuit  52  and adder  53  make a subtraction of (C0in0−C0in1). 
   The function-C 1  module  14  delivers the output data from the adder  53  as the output data (C1out) thereof at a terminal C1out. 
   Therefore, the function-C 0  module  13  makes a fixed-point calculation expressed by the following equation (C1-1):
 
 C 1 out=C 0in0 +C 1in1  (C1-1)
 
   Coefficient Generation Module 
   The coefficient generation module  15  is internally constructed as will be described below with reference to the circuit diagram of  FIG. 17 . 
   The coefficient generation module  15  generates coefficients Coeff_A and Coeff_B. The coefficient Coeff_A is a 32-bit data, and data Coeff_B is a 12-bit data. The coefficient Coeff_B has a bit length corresponding to the decimal-part data length dealt with in this apparatus. The coefficients Coeff_A and Coeff_B are switched between them under the control of an external controller for example. The coefficients Coeff_A and Coeff_B are different in value when in the reversible transform mode and when in the irreversible transform mode, as follows: 
   Reversible Transform Mode Coeff_A=0×2000 (in hexadecimal notation; “2” in decimal notation) Coeff_B=0 
   Irreversible Transform Mode Coeff_A=0 Coeff_B=0×fff (in hexadecimal notation) 
   Selectors 
   The selectors will be described below. 
   The aforementioned modules are connected to each other via the first to seventh selectors  21  to  27 . Each of the first to seventh selectors  21  to  27  has two input terminals “0” and “1” and one output terminal. That is, each of the first to seventh selectors  21  to  27  selects and supplies either of signals supplied to the two input terminals thereof. 
   Each of the first to sixth selectors  21  to  26  has the two input terminals thereof switched between them between when in the forward transform mode and when in the inverse transform mode. The input terminal “0” is selected when in the forward transform mode, and the input terminal “1” is selected when the inverse transform mode. The seventh selector  27  is used for the stream-bottom data dilation. More specifically, the seventh selector  27  has the input terminal “1” thereof selected when the wavelet transform is the forward one and the total number of original data in the original data stream is odd, and when the wavelet transform is the inverse one and the total number of original data in the original data stream is even. The seventh selector  27  has the input terminal “0” thereof selected in other cases. 
   Flip-Flops 
   Each of the first to third flip-flops  28 ,  29  and  30  delays data supplied to the input terminal thereof by one clock and delivers the thus delayed data from the output terminal thereof. 
   Connection of the Modules 
   Next, the aforementioned modules are connected to one another as will be described with reference to  FIG. 12 . 
   The terminal I 0  is connected to the input terminal of the first flip-flop  28  and input terminal “1” of the seventh selector  27 . The output terminal of the first flip-flop  28  is connected to the input terminal “0” of the first selector  21  and input terminal “1” of the third selector  23 . 
   The terminal I 1  is connected to the input terminal “1” of the first selector  21 , input terminal “0” of the third selector  23  and to the input terminal of the second flip-flop  29 . The output terminal of the second flip-flop  29  is connected to the terminal C0in0 of the function-C 0  module  13 . 
   The terminal I 2  is connected to the terminal C1in0 of the function-C 1  module  14 . 
   The terminal I 3  is connected to the input terminal “1” of the second selector  22  and input terminal “0” of the fourth selector  24 . 
   The output terminal of the first selector  21  is connected to the terminal Aout of the function-A module  11 . The output terminal of the second selector  22  is connected to the terminal Ain1 of the function-A module  11 . The output terminal of the third selector  23  is connected to the terminal Bin0 of the function-B module  12 . The output terminal of the fourth selector  24  is connected to the terminal Bin1 of the function-B module  12 . 
   The terminal Aout of the function-A module  11  is connected to the input terminal “0” of the fifth selector  25  and input terminal “1” of the sixth selector  26 . The terminal Bout of the function-B module  12  is connected to the input terminal “1” of the fifth selector  25  and input terminal “0” of the sixth selector  26 . 
   The output terminal of the fifth selector  25  is connected to the terminal C0in1 of the function-C 0  module  13 . The output terminal of the sixth selector  26  is connected to the terminal C1in1 of the function-C 1  module  14 . 
   The terminal C0out of the function-C 0  module  13  is connected to the terminal O 0 . The terminal C1out of the function-C 1  module  14  is connected to the terminal O 1  and to the input terminal “0” of the seventh selector  27 . 
   The output terminal of the seventh selector  27  is connected to the input terminal of the third flip-flop  30  whose output terminal is connected to the input terminal “0” of the second selector  22  and input terminal “1” of the fourth selector  24 . 
   The coefficient Coeff_A generated by the coefficient generation module  15  is supplied to the terminal Coeff_A of the function-A module  11 . The coefficient Coeff_B generated by the coefficient generation module  15  is supplied to the terminal Coeff_B of the function-A module  11  and terminal Coeff_B of the function-B module  12 . 
   Operations for the Forward Transform 
   The operations made for the forward transform will be described herebelow: 
   When in the forward transform mode, the wavelet transform apparatus  1  makes the 5×3 forward filtering computation to generate one high-frequency coefficient and one low-frequency coefficient at every pass of operations. The wavelet transform apparatus  1  has been supplied with each data in the original data stream and a high-frequency data stream already generated by a preceding pass, that have been selected by the external controller. The external controller steps data in the original data stream two by two per pass from first to last data for supply to the wavelet transform apparatus  1  which will thus generate a high-frequency data stream and low-frequency data stream. 
   When in the forward transform mode, each of the first to sixth selectors  21  to  26  is switched by the external controller to the input terminal “0” thereof When in the forward transform mode, the wavelet transform apparatus 1 is supplied at the terminal I 0  thereof with d n−1   f , at the terminal I 1  with s n   s , at the terminal I 2  with d n   s  and terminal I 3  with s n+1   s  under the control of the external controller. 
   As a result, the wavelet transform apparatus  1  will provide the following results of calculation when in the reversible transform mode:
 
 s   n   f   =s   n   s +{( d   n−1   f   +d   n   f +2)&gt;&gt;2}
 
 d   n   f   =d   n   s −{( s   n   s   +s   n+1   s )&gt;&gt;1}
 
   When in the irreversible transform mode, the wavelet transform apparatus  1  will provide the following results of calculation:
 
 s   n   f   =s   n   s +0.25×( d   n−1   f   +d   n   f )
 
 d   n   f   =d   n   s −0.5×( s   n   s   +s   n+1   s )
 
   The wavelet transform apparatus  1  will deliver a calculation result s n   f  at the terminal O 0  thereof, and a calculation result d n   f  at the terminal O 1 . 
     FIG. 18  is a timing diagram of input and output data during an ordinary operation for the forward transform. As shown in  FIG. 18 , the wavelet transform apparatus  1  makes one pass of operations with two clocks. With a first clock in one pass, the function-B module  12  and function-C 1  module  14  are put into operation, and with a second clock, the function-A module  11  and function-C 0  module  13  are put into operation. 
     FIG. 19  is a timing diagram of input and output data for generating a first coefficient (s 1   f ) in the low-frequency data stream. As shown in  FIG. 19 , the first low-frequency data (s 1   f ) is transformed with the second clock in the first pass. At this time, the external controller extracts the first high-frequency data (d 1   f ) supplied from the terminal O 1  with the first clock, and supplies it to the terminal I 0 . Thus, it is possible to make the stream-top data symmetrical dilation during the forward transform. 
     FIG. 20  is a timing diagram of input and output data for generating a last high-frequency coefficient (d m   f ) in the high-frequency data stream using the original data stream whose total number of pixel data is even. As shown in  FIG. 20 , the last high-frequency coefficient (d m   f ) is transformed with the first clock in the last pass. At this time, the external controller supplies the terminal I 3  as well with the original data (s m   s ) for supply to the terminal I 1 . Thus, it is possible to make the stream-bottom data symmetrical dilation during the forward transform mode when the total number of pixel data in the original data stream is even. 
     FIG. 21  is a timing diagram of input and output data for generating a last low-frequency coefficient (s m   f ) in the low-frequency data stream using an original data stream whose total number of pixel data is odd. As shown in  FIG. 21 , the last low-frequency coefficient (s m   f ) is transformed with the second clock in the last pass (not that no data will be generated with the first clock in the last pas; there exists no O 1 ). At this time, the seventh selector  27  has the input terminal “1” thereof switched by the external controller to a high-frequency coefficient (d m−1   f ) for supply to the terminal I 0  in place of data supplied from the output terminal O 1 . Thus, it is possible to the stream-bottom data symmetrical dilation during the forward transform mode when the total number of pixel data in the original data stream is odd. 
   Operations for the Inverse Transform 
   The operations made when in the forward transform mode will be described herebelow: 
   When in the inverse transform mode, the wavelet transform apparatus  1  makes one pass of operations with two clocks. With a first clock in one pass, the function-B module  12  and function-C 1  module  14  are put into operation for the wavelet transform computation, and with the second clock, the function-A module  11  and function-C 0  module  13  are put into operation for the wavelet transform computation. 
   When in the inverse transform mode, the wavelet transform apparatus  1  makes the 5×3 inverse filtering computation to generate two original image data at every pass of operations. The wavelet transform apparatus 1 is supplied with each data in low- and high-frequency data streams and each data in the original data stream already generated by a preceding pass, that have been selected by the external controller. The external controller steps data in the low- and high-frequency data streams one by one per pass from first to last data for supply to the wavelet transform apparatus  1  which will thus generate the original data stream. 
   For the inverse transform, each of the first to sixth selectors  21  to  26  is switched by the external controller to the input terminal “1” thereof. 
   When in the inverse transform mode, the wavelet transform apparatus  1  is supplied at the terminal I 0  thereof with s n   s , at the terminal I 1  with d n   f , at the terminal I 2  with s n+1   f  and terminal I 3  with d n+1   f  under the control of the external controller. 
   As a result, the wavelet transform apparatus  1  will provide the following results of calculation when in the reversible transform mode:
 
 d   n   s   =d   n   f +{( s   n   s   +s   n+1   s )&gt;&gt;1}
 
 s   n+1   s   =s   n+1   f −{( d   n   f   +d   n+1   f +2)&gt;&gt;2}
 
   When in the irreversible transform mode, the wavelet transform apparatus  1  will provide the following results of calculation:
 
 d   n   s   =d   n   f +0.5×( s   n   s   +s   n+1   s )
 
 s   n+1   s   =s   n+1   f −0.25×( d   n   f   +d   n+1   f )
 
   The wavelet transform apparatus  1  will deliver a calculation result d n   s  at the terminal O 0  thereof, and a calculation result s n+1   s  at the terminal O 1 . 
     FIG. 22  is a timing diagram of input and output data during an ordinary operation when in the inverse transform mode. As shown in  FIG. 22 , the wavelet transform apparatus  1  makes one pass of operations with two clocks. With a first clock in one pass, the function-A module  11  and function-C 1  module  14  are put into operation, and with a second clock, the function-B nodule  12  and function-C 0  module  13  are put into operation. 
     FIG. 23  is a timing diagram of input and output data for generating a first coefficient (s 1   s ) in the original data stream. As shown in  FIG. 23 , the first original data (s 1   s ) is transformed with the first clock in the first pass (note that no data will be generated with the second clock in the first pass). At this time, the external controller supplies the original data (d 1   f ) for supply to the terminal I 3  to the terminal I 1  as well. Thus, it is possible to make the stream-top data symmetrical dilation during the inverse transform mode. 
     FIG. 24  is a timing diagram of input and output data for generating a last original data (d m   s ) for generating an original data stream whose total number of pixel data is even. As shown in  FIG. 24 , the last original data (d m   s ) undergoes a wavelet transform with the second clock in the last pass. (Note that there exists no output data (O 1 ) at the first clock in the last pass.) At this time, the external controller switches the seventh selector  27  to the input terminal “1” and supplies the input terminal “1” with the original data (s m   s ) for supply to the terminal I 0  in place of data delivered at the output terminal O 1 . Thus, it is possible to make the stream-bottom data symmetrical dilation during the inverse transform when the total number of pixel data in the original data stream is even. 
     FIG. 25  is a timing diagram of input and output data for generating a last original data (s m   s ) for generating an original data stream whose total number of pixel data is odd. As shown in  FIG. 25 , the last original data (s m   s ) undergoes a wavelet transform with the first clock in the last pass. At this time, the external controller will supply a high-frequency coefficient (d m−1   f ) for supply to the terminal I 1  to the terminal I 3  as well. Thus, it is possible to the stream-bottom data symmetrical dilation during the inverse transform mode when the total number of pixel data in the original data stream is odd. 
   As having been described in the foregoing, in the wavelet transform apparatus  1 , the filtering computation block consists of the function-A module  11 , function-B module  12 , function-C 0  module  13  and the function-C 1  module  14 , whose connection to each other is switched by the selectors depending upon whether the wavelet transform going to be done is a forward or inverse one. Thus, the circuitry scale of the wavelet transform apparatus  1  is very small. 
   More particularly, in the wavelet transform apparatus  1 , the filtering computation block consists of the above function modules and the function modules are combined for either the forward or inverse transform to make the filtering computation. 
   
     
       
             
             
             
           
         
             
                 
                 
             
           
           
             
                 
               Function-A module 11: 
               (Ain0 + Ain1 + Coeff_A) &gt;&gt; 2 
             
             
                 
               Function-B module 12: 
               (Bin0 + Bin1) 2  &gt;&gt; 1 
             
             
                 
               Function-C0 module 13: 
               C0in0 + C0in1 
             
             
                 
               Function-C1 module 14: 
               C1in0 − C1in1 
             
             
                 
                 
             
           
        
       
     
   
   Also, in the wavelet transform apparatus  1 , the coefficient Coeff_A generated by the coefficient generation module  15  for supply to the function-A module  11  and the coefficient Coeff_B which determines whether or not the decimal part of the output result from the function-A module  11  and function-B module  12  is to be deleted or kept are switched between when in the reversible transform mode and when in the irreversible transform mode. Thus, the wavelet transform apparatus  1  can make both the reversible transform and irreversible transform by the single filtering computation module, which leads to an extremely small scale of the circuitry. 
   Note that in the wavelet transform apparatus  1  according to the present invention, low- and high-frequency coefficients are generated in the phase sequence from the low- to high-frequency as shown in  FIG. 1  but the present invention is not limited to this phase sequence but the coefficients may be generated in a phase sequence from high- to low-frequency as shown in  FIG. 26 . 
   In this case, the sequence of data in the original data stream and low-frequency data stream, supplied to and from the wavelet transform apparatus  1 , that is, the value of the subscript  n  to each data, is a one having been described in the aforementioned wavelet transform apparatus  1  plus one. 
   Assume here that a position (sequence) in the original data stream to which an original data belongs is L, a position (sequence) in the high-frequency data stream to which a high-frequency coefficient belongs is M and a position (sequence) in the low-frequency data stream to which a low-frequency coefficient belongs is N (L, M and N are integers). 
   In the aforementioned wavelet transform apparatus  1 , L, M and N and the subscript n are in the following relation:
 
2n=L=2M=2N
 
   For the filtering computation in the phase sequence from high- to low-frequency coefficient, L, M and N and the subscript n are in the following relation:
 
2 n =( L +1)=2 M =2( N +1)
 
   Also, for the filtering computation in the phase sequence from high- to low-frequency coefficient, the stream-top data symmetrical dilation to be done because there exists no high-frequency coefficient should be done using a high-frequency coefficient one high-frequency coefficient after the absent high-frequency coefficient. Similarly, the stream-top data symmetrical dilation to be done because there exists no original data should be done using original data two original data after the absent original data. 
   Also, for the filtering computation in the phase sequence from high- to low-frequency coefficient, the stream-bottom data symmetrical dilation to be done because there exists no high-frequency coefficient should be done using a high-frequency coefficient following the absent high-frequency coefficient. Similarly, the stream-bottom data symmetrical dilation to be done because there exists no original data should be done using original data two original data after the absent original data. 
   In the 5×3 wavelet transform apparatus according to the present invention, the connection between the computation means is switched between when in the forward transform mode and when in the inverse transform mode. Thus, the circuitry scale of the 5×3 wavelet transform apparatus according to the present invention can be reduced. 
   Also, in the 5×3 wavelet transform apparatus according to the present invention, it is selected to delete or keep the coefficient Coeff_A for supply to the first computation means and the decimal part of the output results from the first and second computation means between the reversible transform and irreversible transform. Thus, in the 5×3 wavelet transform apparatus according to the present invention, the single computation means can be used to make both the reversible transform and irreversible transform, which leads to a reduced circuitry scale.