Abstract:
An orthogonal transform apparatus has: 
     orthogonal transform circuit for performing n-dimensional s-order (n and s are natural numbers) orthogonal transform, modified-information control circuit for performing control in accordance with modified information for outputting n-dimensional m-order data as n-dimensional p-order data (m and p are natural numbers), and rearrangement circuit for performing the following in accordance with the control by said modified-information control circuit: 
     (1) m-p data values from the high-order side out of m-order input data values are set to 0 when m is equal to s and m is larger than p, p-m data values are added to the high-order side among m-order input data values to rearrange the data values when m is smaller than p, or data values are left as they are when m is equal to p; 
     (2) the data values in said Item ( 1 ) are rearranged after discarding m-s data values from the high-order side of said m-order input data values before rearranging the data values in said Item ( 1 ) when m is larger than s; and 
     (3) the data values in said Item ( 1 ) are rearranged after adding s-m 0 data values to the high-order side of said m-order input data values before rearranging the data values in said Item ( 1 ) when m is smaller than s; wherein 
     said orthogonal transform circuit performs orthogonal transform for the n-dimensional s-order data values rearranged by said rearrangement circuit.

Description:
BACKGROUND OF THE INVENTION 
     1. Field of the Invention 
     The present invention relates to an orthogonal transform apparatus and method capable of enlarging and shrinking an image and orthogonally transforming input data in orthogonal transform of an image such as dynamic-image data. 
     2. Related Art of the Invention 
     The method disclosed in the official gazette of Japanese Patent Laid-Open No. 143723/1993 has been known so far as a method for shrinking a dynamic image. Moreover, the method disclosed in the official gazette of Japanese Patent Application No. 200362/1992 has been known so far as a method for enlarging a dynamic image. The enlarging and shrinking methods disclosed in these official gazettes purpose the input of an 8-row 8-column discrete cosine transform (DCT) coefficient. 
     FIG. 9 shows a conventional inverse-DCT apparatus for shrinking an image size. In FIG. 9, a changeover switch  95  has input terminals a, b, and c. The input terminal. is connected to the output of an 8×8 inverse-DCT circuit  92 , the input terminal b is connected to that of 4×4 inverse-DCT circuit  93 , and the input terminal c is connected to that of a 2×2 inverse-DCT circuit  94 . Any one of these input terminals is selected and set in accordance with a control signal supplied from a control circuit  97  to output pixel data  98 . The 8×8 inverse-DCT circuit  92  is a circuit for inverse-DCT-processing an 8×8 DCT coefficient  91 . The 4×4 inverse-DCT circuit  93  is a circuit for inverse-DCT-processing a 4×4 DCT coefficient to reduce the length and width of an image size to ½ respectively and the 2×2 inverse-DCT circuit  94  is a circuit for inverse-DCT-processing a 2×2 DCT coefficient and reducing an image size to ¼. In this case, when an input is the 8×8 DCT coefficient  91 , the 8×8 DCT coefficient  91  is directly input to the 8×8 inverse-DCT circuit  92  and inverse-DCT-processed to become 8×8 pixel data. To shrink an image to ½, the 4×4 DCT coefficient of the low-band component of the 8×8 DCT coefficient  91  is input to the 4×4 inverse-DCT circuit  93  and inverse-DCT-processed to become 4×4 pixel data and a ½-size image. To shrink an image to ¼, the 2×2 DCT coefficient of the low-band component of the 8×8 DCT coefficient  91  is input to the 2×2 inverse-DCT circuit  94  and inverse-DCT-processed to become 2×2 pixel data and a ¼-size image. 
     FIG. 10 shows a conventional inverse-DCT apparatus for enlarging an image size. In FIG. 10, enlargement-block generation means  102  generates a new DCT coefficient of N 1 ×N 2  size (N 1  and N 2  are integers larger than 8) by using the 8×8 DCT coefficient  101  as a low-band component and a high-band component as 0. By inverse-DCT-processing the new N 1 ×N 2  DCT coefficient by inverse-DCT means  103 , N 1 ×N 2  pixel data  104  is generated and an image enlarged by N⅛ times in the longitudinal direction and by N{fraction (2/8)} times in the cross direction. 
     To realize the orthogonal transform apparatus capable of enlarging and shrinking an image with hardware, a inverse-DCT circuit for enlargement and a inverse-DCT circuit for shrinkion are necessary and moreover, an n-order inverse-DCT circuit (n is a natural number) is necessary. Thereby, because n inverse-DCT circuits are necessary, it is necessary to newly design an n-order inverse-DCT circuit for each degree. Moreover, a problem occurs that a circuit size increases because n inverse-DCT circuits are combined. 
     SUMMARY OF THE INVENTION 
     The present invention is made to solve the conventional problem that a circuit size increases to realize an orthogonal transform apparatus capable of enlarging and shrinking an image with hardware and its object is to provide an orthogonal transform apparatus whose circuit size is small. 
     It is another object of the present invention to provide an orthogonal transform apparatus capable of enlarging and shrinking an image by using an orthogonal transform apparatus used at present without newly requiring an orthogonal transform apparatus having a different degree. 
     An orthogonal transform apparatus of the present invention comprises; 
     orthogonal transform means for performing n-dimensional s-order (n and s are natural numbers) orthogonal transform, modified-information control means for performing control in accordance with modified information for outputting n-dimensional m-order data as n-dimensional p-order data (m and p are natural numbers), and rearrangement means for performing the following in accordance with the control by said modified-information control means: 
     (1) m-p data values from the high-order side out of m-order input data values are set to 0 when m is equal to s and m is larger than p, p-m data values are added to the high-order side among m-order input data values to rearrange the data values when m is smaller than p, or data values are left as they are when m is equal to p; 
     (2) the data values in said Item ( 1 ) are rearranged after discarding m-s data values from the high-order side of said m-order input data values before rearranging the data values in said Item ( 1 ) when m is larger than s; and 
     (3) the data values in said Item ( 1 ) are rearranged after adding s-m 0 data values to the high-order side of said m-order input data values before rearranging the data values in said Item ( 1 ) when m is smaller than s; wherein 
     said orthogonal transform means performs orthogonal transform for the n-dimensional s-order data values rearranged by said rearrangement means. 
     An orthogonal transform apparatus of the present invention comprises orthogonal transform means for performing the orthogonal transform of n-dimensional s-order (n and s are natural numbers), modified-information control means for performing control in accordance with the modified information for outputting n-dimensional m-order data as n-dimensional p-order data (m and p are natural numbers), and rearrangement means for performing the following in accordance with the control by said modified-information control means: 
     (1) m-p data values from the high-order side out of m-order input data values are set to 0 when m is equal to s and m is larger than p, p-m data values are added to the high-order side among m-order input data values to rearrange the data values when m is smaller than p, or data values are left as they are when m is equal to p; 
     (2) the data values in said Item ( 1 ) are rearranged after discarding m-s data values from the high-order side of said m-order input data values before rearranging the data values in said Item ( 1 ) when m is larger than s; and 
     (3) the data values in said Item ( 1 ) are rearranged after adding s-m 0 data values to the high-order side of said m-order input data values before rearranging the data values in said Item ( 1 ) when m is smaller than s; wherein 
     said orthogonal transform means performs orthogonal transform for the n-dimensional s-order data values rearranged by said rearrangement means and moreover, performs level adjustment for the data values. 
     An orthogonal transform apparatus of the present invention for two-dimensionally orthogonally transforming two-dimensional data of m 1  rows and m 2  columns into tow-dimensional data of pl rows and p 2  columns, comprises first orthogonal transform means for performing one-dimensional s1-order orthogonal transform, second orthogonal transform means for performing one-dimensional s 2 -order orthogonal transform, modified-information control means for performing control in accordance with modified information, and first rearrangement means for performing the following in accordance with the control by said modified-information control means: 
     (1) m 1 −p 1  data values from the high-order side out of m 1 -order input data values are set to 0 when m 1  is equal to s 1  and m 1  is larger than p 1 , p 1 −m 1  data values are added to the high-order side among m 1 -order input data values to rearrange the data values when m 1  is smaller than p 1 , or data values are left as they are when m 1  is equal to p 1 ; 
     (2) the data values in said Item ( 1 ) are rearranged after discarding m 1 −s 1  data values from the high-order side of said m 1 -order input data values before rearranging the data values in said Item ( 1 ) when m 1  is larger than s 1 ; and 
     (3) the data values in said Item ( 1 ) are rearranged after adding s 1 −m 1  0 data values to the high-order side of said m 1 -order input data values before rearranging the data values in said Item ( 1 ) when m 1  is smaller than s 1 ; further comprising transposition means for holding data of s 1  rows and m 2  columns output from said first orthogonal transform means and second rearrangement means for performing the following: 
     (4) m 2 −p 2  data values from the high-order side out of m 2 -order input data values are set to 0 when m 2  is equal to s 2  and m 2  is larger than p 2 , p 2 −m 2  data values are added to the high-order side among m 2 -order input data values to rearrange the data values when m 2  is smaller than p 2 , or data values are left as they are when m 2  is equal to p 2 ; 
     (5) the data values in said Item ( 4 ) are rearranged after discarding m 2 −s 2  data values from the high-order side of said m 2 -order input data values before rearranging the data values in said Item ( 4 ) when m 2  is larger than s 2 ; and 
     (6) the data values in said Item ( 4 ) are rearranged after adding s 2 −m 2  0 data values to the high-order side of said m 2 -order input data values before rearranging the data values in said Item ( 4 ) when m 2  is smaller than s 2 ; and further comprising timing control means for controlling the data input/output timing of each means; wherein 
     said first and second orthogonal transform means apply orthogonal transform to the two-dimensional data of s 1  rows and s 2  columns rearranged by said first and second rearrangement means. 
     An orthogonal transform apparatus of the present invention for two-dimensionally orthogonally transforming two-dimensional data of m 1  rows and m 2  columns into two-dimensional data of p 1  rows and p 2  columns comprises: orthogonal transform means for performing one-dimensional s-order orthogonal transform, transposition means for holding the data output from said orthogonal transform means and transposing the data when output, selection means for outputting the output data of said orthogonal transform means or selectively supplying the output data to said transposition means, modified-information control means for performing control in accordance with modified information, and rearrangement means for performing the following in accordance with the control by said modified-information control means by setting m 1  to m when the data to be rearranged is two-dimensional input data or setting m 2  to m when the data to be rearranged is the output data of said transposition means: 
     (1) m−p data values from the high-order side out of m-order input data values are set to 0 when m is equal to s and m is larger than p, p-m data values are added to the high-order side among m-order input data values to rearrange the data values when m is smaller than p, or data values are left as they are when m is equal to p; 
     (2) the data values in said Item ( 1 ) are rearranged after discarding m-s data values from the high-order side of said m-order input data values before rearranging the data values in said Item ( 1 ) when m is larger than s; and 
     (3) the data values in said Item ( 1 ) are rearranged after adding s−m 0 data values to the high-order side of said m-order input data values before rearranging the data values in said Item ( 1 ) when m is smaller than s; and further comprising timing control means for controlling the data input/output timing of each means; wherein 
     said orthogonal transform means applies orthogonal transform to the one-dimensional s-order data values rearranged by said rearrangement means. 
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS 
     FIG. 1 is a block diagram showing the orthogonal transform apparatus of embodiment 1 of the present invention; 
     FIGS.  2 ( a ) to  2 ( d ) are block diagrams showing rearrangement of input data of the present invention; 
     FIGS.  3 ( a ) to  3 ( d ) are block diagrams showing rearrangement of input data of the present invention; 
     FIGS.  4 ( a ) to  4 ( d ) are block diagrams showing rearrangement of input data of the present invention; 
     FIGS.  5 ( a ) to  5 ( d ) are block diagrams showing rearrangement of input data of the present invention; 
     FIG. 6 is a block diagram showing the orthogonal transform apparatus of embodiment 2 of the present invention; 
     FIG. 7 is a block diagram showing the orthogonal transform apparatus of embodiment 3 of the present invention; 
     FIG. 8 is a block diagram showing the orthogonal transform apparatus of embodiment 4 of the present invention; 
     FIG. 9 is a block diagram showing a conventional orthogonal transform apparatus; and 
     FIG. 10 is a block diagram showing a conventional orthogonal transform apparatus. 
     FIG. 11 shows a circuit of one example which rearranges for the example of FIG.  2 . 
    
    
     DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS 
     Embodiments of the present invention are described below by referring to the accompanying drawings. 
     (Embodiment 1) 
     FIG. 1 is a block diagram showing the structure of the orthogonal transform apparatus for performing n-dimensional orthogonal transform (n is a natural number). In FIG. 1, symbol  11  denotes n-dimensional input data,  12  denotes rearrangement means,  13  denotes orthogonal transform means,  14  denotes level adjustment means,  15  denotes modified-information control means,  16  denotes modified information, and  17  denotes n-dimensional output data. Operations of the orthogonal transform apparatus are described below. 
     In this case, to simpfy the description, a case in which the orthogonal transform means  13  performs one-dimensional eight-order inverse discrete cosine transform (inverse DCT) and the degree of input data is 2 k  (k is an integer of 0 to 3) is described as an example. 
     First, the one-dimensional input data  11  is rearranged by rearrangement means  12  in accordance with control information supplied from the modified-information control means  15  and the data unnecessary for orthogonal transform is set to 0. For the rearrangement method in the above case, FIGS. 2,  3 ,  4 , and  5  show the cases in which an input is octal data, quaternary data, secondary data, and primary data and an output is octal data, quaternary data, secondary data, and primary data. Octal, quaternary, secondary, or primary one-dimensional output data  17  of is obtained by applying one-dimensional 8-order inverse DCT to rearranged data by the orthogonal transform means  13  and level-adjusting transformed data by the level adjustment means  14 . Moreover, the modified-information control means  15  determines the rearrangement pattern of the rearrangement means  12  and the level adjustment value of the level adjustment means  14  in accordance with the degree of the one-dimensional input data  11 , the degree of the one-dimensional output data  17 , and modified information  16  which is the maximum degree capable of being orthogonally transformed in the orthogonal transform means  13 . 
     In this case, the reason why octal, quaternary, secondary, or primary output data is obtained by using one-dimensional 8-order inverse DCT from octal, quaternary, secondary, or primary input data and level adjustment are described below by using the following Equations 1, 2, 3, 4, 5, and 6.                  2   N            k   n          cos        (           (       2      m     +   1     )        n       2      N          π     )                       (           m   ,     n   =   0     ,   1   ,   ⋯              ,   N                 k   n     =     (             1                 ⋯                 n     ≠   0                   1     2                     ⋯                 n     =   0                               [     Equation                 1     ]                                
     Equation 1 shows the general expression of a inverse-DCT coefficient. In this expression, N denotes a degree. In accordance with the general expression, by assuming Cn=cos(nπ/16), an 8-order inverse-DCT coefficient is shown in Equation 2, a 4-order inverse DCT coefficient is shown in Equation 3, a 2-order inverse DCT coefficient is shown in Equation 4, and a primary inverse-DCT coefficient is shown in Equation 5.                  1   2          [           a   00           a   01           a   02           a   03           a   04           a   05           a   06           a   07               a   10           a   11           a   12           a   13           a   14           a   15           a   16           a   17               a   20           a   21           a   22           a   23           a   24           a   25           a   26           a   27               a   30           a   31           a   32           a   33           a   34           a   35           a   36           a   37               a   40           a   41           a   42           a   43           a   44           a   45           a   46           a   47               a   50           a   51           a   52           a   53           a   54           a   55           a   56           a   57               a   60           a   61           a   62           a   63           a   64           a   65           a   66           a   67               a   70           a   71           a   72           a   73           a   74           a   75           a   76           a   77           ]       =       1   2          [           C   4           C   1           C   2           C   3           C   4           C   5           C   6           C   7               C   4           C   3           C   6           -     C   7             -     C   4             -     C   1             -     C   2             -     C   5                 C   4           C   5           -     C   6             -     C   1             -     C   4             C   7           C   2           C   3               C   4           C   7           -     C   2             -     C   5             C   4           C   3           -     C   6             -     C   1                 C   4           -     C   7             -     C   2             C   5           C   4           -     C   3             -     C   6             C   1               C   4           -     C   5             -     C   6             C   1           -     C   4             -     C   7             C   2           -     C   3                 C   4           -     C   3             C   6           C   7           -     C   4             C   1           -     C   2             C   5               C   4           -     C   1             C   2           -     C   3             C   4           -     C   5             C   6           -     C   7             ]               [     Equation                 2     ]                   1     2            [           b   00           b   01           b   02           b   03               b   10           b   11           b   12           b   13               b   20           b   21           b   22           b   23               b   30           b   31           b   32           b   33           ]       =       1     2            [           C   4           C   2           C   4           C   6               C   4           C   6           -     C   4             -     C   2                 C   4           -     C   6             -     C   4             C   2               C   4           -     C   2             C   4           -     C   6             ]               [     Equation                 3     ]                 [           c   00           c   01               c   10           c   11           ]     =     [           C   4           C   4               C   4           -     C   4             ]             [     Equation                 4     ]                 [     d   00     ]     =       2                [     C   4     ]             [     Equation                 5     ]                                
     First, it is considered to obtain quaternary output data from quaternary input data by using 8-order inverse DCT. In this case, as the result of comparing the 8-order inverse-DCT coefficient (Equation 2) with the 4-order inverse DCT coefficient (Equation 3), it is found that cosine coefficients a00 and b00, a02 and b01, a04 and b02, a06 and b03, a10 and b10, a12 and b11, a14 and b12, a16 and b13, a20 and b20, a22 and b21, a24 and b22, a26 and b23, a30 and b30, a32 and b31, a34 and b32, and a36 and b33 are respectively equal to each other. Therefore, 8-order inverse DCT is performed by rearranging quaternary input data as shown in FIG.  3 ( b ). This is shown in Equation 6.                [           y   0               y   1               y   2               y   3               y   4               y   5               y   6               y   7           ]     =         1   2          [           C   4           C   1           C   2           C   3           C   4           C   5           C   6           C   7               C   4           C   3           C   6           -     C   7             -     C   4             -     C   1             -     C   2             -     C   5                 C   4           C   5           -     C   6             -     C   1             -     C   4             C   7           C   2           C   3               C   4           C   7           -     C   2             -     C   5             C   4           C   3           -     C   6             -     C   1                 C   4           -     C   7             -     C   2             C   5           C   4           -     C   3             -     C   6             C   1               C   4           -     C   5             -     C   6             C   1           -     C   4             -     C   7             C   2           -     C   3                 C   4           -     C   3             C   6           C   7           -     C   4             C   1           -     C   2             C   5               C   4           -     C   1             C   2           -     C   3             C   4           -     C   5             C   6           -     C   7             ]            [           x   0             0             x   1             0             x   2             0             x   3             0         ]               [     Equation                 6     ]                                
     By using rearranged data as an input and thereby performing 8-order inverse DCT, outputs of y0, y1, y2, y3, y4, y5, y6, and y7 are obtained. In these outputs, a portion coinciding with the inverse-DCT coefficient is as described above. Therefore, y0, y1, y2, and y3 serve as effective output data. Then, in the case of level adjustment, as shown in Equation 3, every quaternary input data value is multiplied by 1/{square root over (2)} but every input data is multiplied by ½ in the case of the 8-order inverse DCT. By computing the quaternary input data through the 8-order inverse DCT, it is found that every output data value is multiplied by 1/{square root over (2)} compared with the case in which 4-order inverse DCT. In this case, to adjust a level, every data output from the orthogonal transform means  13  for performing one-dimensional 8-order inverse DCT is multiplied by {square root over ( 2 )}. Thereby, the same result as the case of using 4-order inverse DCT can be obtained. 
     Then, to obtain quaternary output data from octal input data, inverse DCT is performed by using low-order four data values of octal input data. In this case, input data values are rearranged as shown in FIG.  2 ( b ) to perform the same rearrangement as the case of obtaining quaternary output data from the above quaternary input data. It is unnecessary to perform level adjustment after performing inverse DCT because input data is octal data. 
     Then, to obtain octal output data from quaternary input data as shown in FIG.  3 ( a ), inverse DCT is performed by assuming the quaternary input data as low-order data and high-order data as 0 and thereby rearranging the quaternary input data. For level adjustment, every output data value is multiplied by {square root over ( 2 )} similarly to the case of obtaining quaternary output data from quaternary input data because input data is quaternary data. 
     Cases of octal input data and quaternary input data are described above. The same is true for the case of secondary input data and primary input data in accordance with two expressions Equation 3 and Equation 4. Moreover, Table 1 shows level-adjustment values when input data is octal, quaternary, secondary, and primary and output data is octal, quaternary, secondary, and primary by summarizing them through 8-order inverse DCT. 
     
       
         
               
               
               
             
               
               
               
               
               
               
             
           
               
                   
                 TABLE 1 
               
             
             
               
                   
                   
               
               
                   
                 Output 
                   
               
             
          
           
               
                   
                 Input 
                 Octal 
                 Quaternary 
                 Secondary 
                 Primary 
               
               
                   
                   
               
               
                   
                 Octal 
                 1 
                 1 
                 1 
                 1 
               
               
                   
                 Quaternary 
                 2 
                 2 
                 2 
                 2 
               
               
                   
                 Secondary 
                 2 
                 2 
                 2 
                 2 
               
               
                   
                 Primary 
                 22 
                 22 
                 22 
                 22 
               
               
                   
                   
               
             
          
         
       
     
     One-dimensional 8-order inverse DCT is described above as an example. Moreover, in the case of two-dimensional 8-order inverse DCT or higher, it is possible to form a structure by applying the same rearrangement as the above mentioned to each dimension of input data and applying level adjustment to data after inverse DCT every dimension. 
     Moreover, when the orthogonal transform means  13  constitutes one-dimensional inverse DCT at an optional degree, inverse DCT can be performed if input and output degrees are divisors of the maximum degree allowing inverse DCT to be performed. Furthermore, the same is true for the cases of two dimensions or more. 
     Furthermore, though the case in which the orthogonal transform means  13  performs inverse DCT is described as an example, it is possible to form a structure same as the case of inverse DCT by performing rearrangement for DCT, discrete sine transform, inverse discrete sine transform, discrete Fourier transform, or inverse discrete Fourier transform by the rearrangement means  12  in accordance with each transform and performing level adjustment by the level adjustment means  14  in accordance with each transform. Furthermore, it is possible to form a structure by using a fast algorithm when performing each orthogonal transform. 
     Meanwhile FIG. 11 shows a circuit of one example which rearranges for the example of FIG.  2 . In the case the meaning of each symbol is as the following table 2. 
     
       
         
               
               
               
               
               
               
             
           
               
                   
                 TABLE 2 
               
               
                   
                   
               
               
                   
                 output 
                 a3 
                 a2 
                 a1 
                 a0 
               
               
                   
                   
               
             
             
               
                   
                 Octal 
                 1 
                 0 
                 0 
                 0 
               
               
                   
                 Quaternary 
                 0 
                 1 
                 0 
                 0 
               
               
                   
                 Secondary 
                 0 
                 0 
                 1 
                 0 
               
               
                   
                 Primary 
                 0 
                 0 
                 0 
                 1 
               
               
                   
                   
               
             
          
         
       
     
     In the circuit x0 to x7 are input data and y0 to y7 are data after rearrangment and z0 to a3 are 1 bit data shown in the Table 2. 
     (Embodiment 2) 
     FIG. 6 is a block diagram showing the structure of the orthogonal transform apparatus of claim  5  for performing n-dimensional orthogonal transform (n is a natural number). In FIG. 6, symbol  61  denotes n-dimensional data,  62  denotes rearrangement means,  63  denotes orthogonal transform means,  64  denotes modified-information control means,  65  denotes modified information, and  66  denotes n-dimensional output data. 
     In this case, to simplify description, a case in which the orthogonal transform means  63  performs one-dimensional 8-order inverse DCT and the degree of input data is 2 k  (k is an integer of 0 to 3) is described as an example. 
     First, the one-dimensional input data  61  is rearranged by the rearrangement means  62  in accordance with the control information supplied form the modified-information control means  64  to set the data unnecessary for orthogonal transform to 0. For the rearrangement method in the above case, FIGS. 2,  3 ,  4 , and  5  show the cases in which input data is octal data, quaternary data, secondary data, or primary data and output data is octal data, quaternary data, secondary data, or primary data. By performing one-dimensional 8-order inverse DCT for rearranged data by orthogonal transform means  63  and moreover performing level adjustment (not illustrated) for the rearranged data, octal, quaternary, secondary, or primary one-dimensional output data  66  is obtained. Moreover, the modified-information control means  64  determines the rearrangement patter of the rearrangement means  62  and the level adjustment value of the orthogonal transform means  63  in accordance with the degree of the one-dimensional input data  61 , degree of the one-dimensional output data  66 , and the modified information  65  having the maximum degree which can be orthogonally transformed. 
     In this case, the orthogonal transform means  63  performs one-dimensional inverse DCT and level adjustment which are described below. 
     Inverse DCT is computed by repeating the multiply-accumulate operation between a cosine coefficient and input data and level adjustment is applied to every output data value by using values obtained from the relation between degrees of an input and output (Table 1). The level adjustment is performed by multiplying a level adjustment value and every output data value. Thereby, to perform two operations such as inverse DCT and level adjustment at the same time, a inverse DCT coefficient including a level adjustment value is previously prepared to perform one-dimensional inverse DCT by using a inverse DCT coefficient determined by the level adjustment value of modification control means  64 . For example, to obtain quaternary output data from quaternary input data by using one-dimensional 8-order inverse DCT, it is necessary to multiply every output data value of inverse DCT by {square root over ( 2 )} as described above. However, by multiplying every coefficient of 8-order inverse DCT by {square root over ( 2 )}, the same result can be obtained. 
     One-dimensional 8-order inverse DCT is described above as an example. Moreover, in the case of two dimensions or higher, it is possible to form a structure by applying the same rearrangement as described above to each dimension of input data and using a inverse DCT coefficient including a level adjustment value for each dimension. 
     Furthermore, when the orthogonal transform means  63  constitutes one-dimensional inverse DCT at an optional degree, it is possible to perform inverse DCT if input and output degrees are divisors of the maximum degree allowing inverse DCT to be performed. Furthermore, the same is true for cases of two dimensions or higher. 
     Furthermore, though the case in which the orthogonal transform means  63  performs inverse DCT is described as an example, it is possible to form the same structure as the case of inverse DCT by using an orthogonal transform coefficient including a level adjustment value according to each transform and thereby, performing rearrangement by the rearrangement means  62  for DCT, discrete sine transform, inverse discrete sine transform, discrete Fourier transform, or inverse discrete Fourier transform in accordance with each transform. Furthermore, to perform each orthogonal transform, it is possible to form a structure by using a fast algorithm. 
     (Embodiment 3) 
     FIG. 7 is a block diagram showing the structure of the orthogonal transform apparatus of claim  9  for performing two-dimensional orthogonal transform. In FIG. 7, symbol  701  denotes two-dimensional input data,  702  denotes rearrangement means,  703  denotes orthogonal transform means,  704  denotes transposition means,  705  denotes rearrangement means,  706  denotes orthogonal transform means,  707  denotes level adjustment means,  708  denotes modified-information control means,  709  denotes modified information,  710  denotes timing control means, and  711  denotes two-dimensional output data. Operations of the orthogonal transform apparatus are described below. 
     Hereafter, to simplify description, a case is described in which the orthogonal transform means  703  and  706  perform one-dimensional 8-order inverse DCT and the two-dimensional input data  701  consists of  2   k  rows and  2   l  columns (each of k and l is an integer of 0 to 3). 
     First, data values in the row direction of the two-dimensional input data  701  are rearranged by the rearrangement means  702  in accordance with the control information supplied from the modified-information control means  708  to set the data unnecessary for orthogonal transform to 0. In this case, the data values to be rearranged are one-dimensional  2   l -order data values that are rearranged in accordance with FIGS. 2,  3 ,  4 , and  5 . The orthogonal transform means  703  applies one-dimensional 8-order inverse DCT to the data values rearranged in the row direction and the transposition means  704  holds the result and transposes rows and columns of the result to output it. Data values in the row direction of the two-dimensional data whose rows and columns are transposed are rearranged by the rearrangement means  705  in accordance with the control information supplied from the modified-information control means  708  to set the data unnecessary for orthogonal transform to 0. In this case, the data to be rearranged is one-dimensional  2   k -order data and rearranged in accordance with FIGS. 2,  3 ,  4 , and  5 . The orthogonal transform means  706  applies one-dimensional 8-order inverse DCT to the rearranged data and the level adjustment means  707  applies level adjustment to the rearranged data to obtain two-dimensional output data  711 . Moreover, the modified-information control means  709  determines the rearrangement patterns of the rearrangement means  702  and  705 , level adjustment value of the level adjustment means  711 , control information to be supplied to the timing control means  710  in accordance with the degrees of the two-dimensional input data  701  and two-dimensional output data  711  and the modified information  709  having the maximum degree which can be orthogonally transformed by the orthogonal transform means  703  and  706 . Moreover, the timing control means  710  controls the input/output timing of the data in each means. 
     Hereafter, a case of obtaining 8-row 4-column output data from 8-row 4-column input data is described below as an example. In this case, row-directional data consists of quaternary data values which are rearranged by the rearrangement means  702  as shown in FIG.  3 ( b ) and to which inversed DCT is applied by the orthogonal transform means  703 . In this case, as shown in Table 1, it is necessary to multiply every data value output from the orthogonal transform means  703  by {square root over (2)} in order to level-adjust the data value. In this case, however, level adjustment is not performed. The data not level-adjusted is transposed by the transposition means  704  and row-directional octal data values are rearranged by the rearrangement means  705  as shown in FIG.  2 ( a ) to apply inverse DCT to the data values by the orthogonal transform means  706 . In this case, it is unnecessary to perform level adjustment in accordance with Table 1 because inputs are octal. The level adjustment means  707  level-adjusts the data output from the orthogonal transform means  706  by {square root over (2)} obtained by multiplying a level-adjustment value ({square root over (2)}-fold) necessary for the orthogonal transform means  703  by a level-adjustment value (one-fold) necessary for the orthogonal transform means  706 . In this case, when considering the number of operation times, it is necessary to compute quaternary data eight times in the case of the orthogonal transform means  703 . In the case of the orthogonal transform means  706 , however, it is only necessary to compute octal data four times. The timing control means  710  controls the number of operation times through each means in accordance with the control information supplied from the modified-information control means  708 . 
     The case of 8-row 4-column input data is described above. Moreover, in the case of other  2   k -row  2   l -column input data, it is possible to control the number of operation times through the timing control means by rearranging the data, applying inverse DCT to the data, and level-adjusting the data. 
     Moreover, it is possible to form a structure for performing inverse DCT and level adjustment by using a inverse DCT coefficient including a level adjustment value for the orthogonal transform means  703  and  706 . Furthermore, when the orthogonal transform means  703  and  706  respectively constitute one-dimensional inverse DCT at an optional degree, it is possible to perform inverse DCT if degrees of the dimensions of input and output are divisors of the maximum degree allowing inverse DCT to be performed. 
     Furthermore, though the case in which orthogonal transform means  703  and  706  perform inverse DCT is described as an example, it is possible to form the same structure as the case of inverse DCT by performing rearrangement by the rearrangement means  702  and  705  in accordance with each transform, performing orthogonal transform by the orthogonal transform means  703  and  706 , and performing level adjustment by the level adjustment means  707  in accordance with each transform for DCT, discrete sine transform, inverse discrete sine transform, discrete Fourier transform, or inverse discrete Fourier transform in accordance with each transform. Furthermore, when performing each orthogonal transform, it is possible to form a structure by using a fast algorithm. 
     (Embodiment 4) 
     FIG. 8 is a block diagram showing the structure of the orthogonal transform apparatus for performing two-dimensional orthogonal transform. In FIG. 8, symbol  801  denotes two-dimensional input data,  802  denotes rearrangement means,  803  denotes orthogonal transform means,  804  denotes selection means,  805  denotes transposition means,  806  denotes level adjustment means,  807  denotes selection means,  808  denotes modified information,  809  denotes timing control means, and  810  denotes two-dimensional output data. 
     Hereafter, to simplify description, a case is described in which the orthogonal transform means  803  performs 8-order inverse DCT and the two-dimensional input data  801  consists of  2   k  rows and  2   l  columns (each of k and l is an integer of 0 to 3). 
     First, data values in the row direction of the two-dimensional input data  801  are rearranged by the rearrangement means  802  in accordance with the control information supplied from the modified-information control means  807  to set the data unnecessary for orthogonal transform to 0. In this case, the data values to be rearranged are one-dimensional  2   l -order data values that are rearranged in accordance with FIGS. 2,  3 ,  4 , and  5 . The orthogonal transform means  803  applies one-dimensional 8-order inverse DCT to the data values rearranged in the row direction, the selection means  804  transfers the operation result to the transposition means  805 , and the transposition means holds the result to transpose rows and columns of the result and output the result. The row-directional data values of the two-dimensional data whose rows and columns are transposed are rearranged by the rearrangement means  802  in accordance with the control information supplied from the modified-information control means  807  to set the data unnecessary for orthogonal transform to 0. In this case, the data to be rearranged is one-dimensional  2   k -order data that is rearranged in accordance with FIGS. 2,  3 ,  4 , and  5 . Orthogonal transform means  803  applies one-dimensional 8-order inverse DCT the rearranged data, the selection means  804  transfers the operation result to the level adjustment means  806 , and the level adjustment means  806  level-adjusts the result and thereby, the two-dimensional output data  810  can be obtained. Moreover, the modified-information control means  807  determines the rearrangement pattern of the rearrangement means  802 , level adjustment value of the level adjustment means  806 , and control information to be supplied to the timing control means  809  in accordance with the degrees of the two-dimensional input data  801  and two-dimensional output data  810  and the modified information  808  having the maximum degree which can be orthogonally transformed by the orthogonal transform means  803 . Moreover, the timing control means  809  controls the input/output timing of the data in each means. Furthermore, the timing control means  809  controls which to compute, the two-dimensional input data  801  or the data output from the transposition means  803  or to which to transfer the operation result of the orthogonal transform means  803  by the selection means  804 , the transposition means  805  or level adjustment means  806 . 
     A case of obtaining 8-row 4-column output data from 8-row 4-column input data is specifically described below. In this case, row-directional data is quaternary data which is rearranged by the rearrangement means  802  as shown in FIG.  3 ( b ) and the orthogonal transform means  803  applies first-time inverse DCT to the data. In this case, as shown in Table 1, it is necessary to multiply every data value output from the orthogonal transform means  803  by {square root over (2)} in order to level-adjust the data. In this case, however, level adjustment is not performed but the data is transferred to the transposition means  805  by the selection means  804 . The data not level-adjusted is transposed by the transposition means  805  and row-directional octal data is rearranged by the rearrangement means  802  as shown in FIG.  2 ( a ) to apply second-time inverse DCT to the data. In this case, because inputs are octal (Table 1), it is unnecessary to perform level adjustment. The result of performing the second-time inverse DCT is transferred to the level adjustment means  806  by the selection means  804 . The level adjustment means  806  adjusts a level by multiplying the data supplied from the selection means  804  by {square root over (2)} which is a value obtained by multiplying a level adjustment value ({square root over (2)}-fold) necessary for the first-time inverse DCT by a level adjustment value (one-fold) necessary for the second-time inverse DCT. In this case, when considering the number of operation times, it is necessary to compute the quaternary data eight times in the case of the first-time inverse DCT. However, it is only necessary to compute octal data only four times in the case of the second-time inverse DCT. The timing control means  809  controls the number of operation times in accordance with the control information supplied from the modified-information control means  807  through each means. 
     The case of 8-row 4-column input data is described above. Moreover, in the case of other  2   k -row  2   l -column input data, it is possible to control the number of operation times by timing control means by similarly rearranging and level-adjusting the data. 
     Moreover, by using a inverse DCT coefficient including a level adjustment value for the orthogonal transform means  803 , it is possible to form a structure for performing inverse DCT and level adjustment. 
     Furthermore, when the orthogonal transform means  803  constitutes one-dimensional inverse DCT at an optional degree, it is possible to perform inverse DCT if the degrees of dimensions of input and output are divisors of the maximum degree allowing inverse DCT to be performed. 
     Furthermore, though the case in which the orthogonal transform means  803  performs inverse DCT is described as an example, it is possible to form the same structure as the case of inverse DCT by performing rearrangement by the rearrangement means  802  in accordance with each transform, performing orthogonal transform by the orthogonal transform means  803 , and performing level adjustment by the level adjustment means  806  in accordance with each transform for DCT, discrete sine transform, inverse discrete sine transform, discrete Fourier transform, or inverse discrete Fourier transform in accordance with each transform. Furthermore, when performing each orthogonal transform, it is possible to form a structure by using a fast algorithm. 
     As described above, the present invention makes it possible to enlarge and shrink a maximum-degree divisor capable of performing orthogonal transform as input/output data only by adding hardware for controlling rearrangement, level adjustment, and modified information to an apparatus for performing orthogonal transform. 
     Moreover, the present invention makes it possible to enlarge and shrink a maximum-degree divisor as input/output data only by changing coefficients of an apparatus for performing orthogonal transform and adding hardware for controlling rearrangement and modified information. 
     Furthermore, the present invention makes it possible to enlarge and shrink a maximum-degree divisor capable of performing orthogonal transform as input/output data only by adding hardware for controlling level adjustment and modified information to an apparatus for performing two-dimensional orthogonal transform and moreover, decrease the number of operation times in accordance with an input degree. 
     Furthermore, the present invention makes it possible to enlarge and shrink a maximum-degree divisor capable of performing orthogonal transform as input/output data only by adding hardware for controlling rearrangement, level adjustment, and modified information to an apparatus for performing two-dimensional orthogonal transform and moreover, decrease the number of operation times in accordance with an input degree. 
     It will be understood that a circuit of the present invention can be realized by hardware such as OR circuit, AND circuit which can exhibit their function as well as the function being realized by software programmed for a computer. 
     The present invention is also an information storing media which stores programs by which all or a part of the functions of the means, circuit of the present invention are realized on a computer.