Orthogonal transform apparatus

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 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. JP 5 143 723 has been known so far as a method for shrinking a dynamic image. Moreover, the method disclosed in the official gazette of Japanese Patent Laid-Open No. JP 6 022 291 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 Q 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 1/2 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 1/4. 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 1/2, the 4×4 DCT coefficient of the low-band component of the 8×8 DCT coefficient 91 is input to the 4x4 inverse-DCT circuit 93 and inverse-DCT-processed to become 4×4 pixel data and a 1/2-size image. To shrink an image to 1/4, 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 1/4-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 N1×N2 size (N1 and N2 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 N1 × N2 DCT coefficient by inverse-DCT means 103, N1×N2 pixel data 104 is generated and an image enlarged by N1/8 times in the longitudinal direction and by N2/8 times in the cross direction. To realize the orthogonal transform apparatus capable of enlarging and shrinking an image with hardware, an inverse-DCT circuit for enlargement and a inverse-DCT circuit for shrinking are necessary and moreover, an n-dimensional 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-dimensional inverse-DCT circuit for each dimension. Moreover, a problem occurs that a circuit size increases because n inverse-DCT circuits are combined. King N. Ngan: "Experiments on two-dimensional decimation in time and orthogonal transform domains", Signal Processing Journal, Elsevier Science Publishers B.V., Amsterdam, Vol. 3, No. 11, 1986, pp. 249 - 263, ISSN 0165-1684 discloses the two-dimensional decimation in both the time and transform domain were demonstrated to produce good results employing FIR filter, DFT, DCT, and Hadamard transform. Decimation is normally carried out in two passes: lowpass filtering and subsampling. Subsampling is normally performed in the time domain. This document discloses a process to decimate a sequence x(n) in the DCT domain from N samples to M samples, wherein M is smaller than N. 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-point (n and s are natural numbers) orthogonal transform, rearrangement-information control means for performing control in accordance with rearrangement information for outputting n-dimensional m-point data as n-dimensional p-point data (m and p are natural numbers), and rearrangement means for performing the following in accordance with the control by said rearrangement-information control means: (1) m-p data values from the high-point side out of m-point 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-point side among m-point 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-point side of said m-point 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-point side of said m-point 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-point 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-point (n and s are natural numbers), rearrangement-information control means for performing control in accordance with the rearrangement information for outputting n-dimensional m-point data as n-dimensional p-point data (m and p are natural numbers), and rearrangement means for performing the following in accordance with the control by said rearrangement-information control means: (1) m-p data values from the high-point side out of m-point 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-point side among m-point 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-point side of said m-point 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-point side of said m-point 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-point 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 m1 rows and m2 columns into two-dimensional data of p1 rows and p2 columns, comprises first orthogonal transform means for performing one-dimensional s1-point orthogonal transform, second orthogonal transform means for performing one-dimensional s2-point orthogonal transform, rearrangement-information control means for performing control in accordance with rearrangement information, and first rearrangement means for performing the following in accordance with the control by said rearrangement-information control means: (1) m1-p1 data values from the high-point side out of m1-point input data values are set to 0 when m1 is equal to s1 and m1 is larger than p1, p1-m1 data values are added to the high-point side among m1-point input data values to rearrange the data values when m1 is smaller than p1, or data values are left as they are when m1 is equal to p1; (2) the data values in said Item (1) are rearranged after discarding m1-s1 data values from the high-point side of said m1-point input data values before rearranging the data values in said Item (1) when m1 is larger than s1; and (3) the data values in said Item (1) are rearranged after adding s1-m1 0 data values to the high-point side of said m1-point input data values before rearranging the data values in said Item (1) when m1 is smaller than s1; further comprising transposition means for holding data of s1 rows and m2 columns output from said first orthogonal transform means and second rearrangement means for performing the following: (4) m2-p2 data values from the high-point side out of m2-point input data values are set to 0 when m2 is equal to s2 and m2 is larger than p2, p2-m2 data values are added to the high-point side among m2-point input data values to rearrange the data values when m2 is smaller than p2, or data values are left as they are when m2 is equal to p2; (5) the data values in said Item (4) are rearranged after discarding m2-s2 data values from the high-point side of said m2-point input data values before rearranging the data values in said Item (4) when m2 is larger than s2; and (6) the data values in said Item (4) are rearranged after adding s2-m2 0 data values to the high-point side of said m2-point input data values before rearranging the data values in said Item (4) when m2 is smaller than s2; 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 s1 rows and s2 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 m1 rows and m2 columns into two-dimensional data of p1 rows and p2 columns comprises: orthogonal transform means for performing one-dimensional s-point 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, rearrangement-information control means for performing control in accordance with rearrangement information, and rearrangement means for performing the following in accordance with the control by said rearrangement-information control means by setting m to m1 when the data to be rearranged is two-dimensional input data or setting m to m2 when the data to be rearranged is the output data of said transposition means: (1) m-p data values from the high-point side out of m-point 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-point side among m-point 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-point side of said m-point 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-point side of said m-point 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-point 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 of claim 1 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 rearrangement-information control means, 16 denotes rearrangement 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-point inverse discrete cosine transform (inverse DCT) and the number of points 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 rearrangement 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 8 points data, 4 points data, 2 points data, and 1 point data and an output is 8 points data, 4 points data, 2 points data, and 1 point data. 8 points, 4 points, 2 points, or 1 point one-dimensional output data 17 of is obtained by applying one-dimensional 8-points inverse DCT to rearranged data by the orthogonal transform means 13 and level-adjusting transformed data by the level adjustment means 14. Moreover, the rearrangement-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 number of points of the one-dimensional input data 11, the number of points of the one-dimensional output data 17, and rearrangement information 16 which is the maximum degree capable of being orthogonally transformed in the orthogonal transform means 13. In this case, the reason why 8 points, 4 points, 2 points, or 1 point output data is obtained by using one-dimensional 8-points inverse DCT from 8 points, 4 points, 2 points, or 1 point input data and level adjustment are described below by using the following Equations 1, 2, 3, 4, 5, and 6. Equation 1 shows the general expression of a inverse-DCT coefficient. In this expression, N denotes the number of points. In accordance with the general expression, by assuming Cn=cos(nπ/16), an 8-point inverse-DCT coefficient is shown in Equation 2, a 4-point inverse DCT coefficient is shown in Equation 3, a 2-point inverse DCT coefficient is shown in Equation 4, and a primary inverse-DCT coefficient is shown in Equation 5. First, it is considered to obtain 4 points output data from 4 points input data by using 8-point inverse DCT. In this case, as the result of comparing the 8-point inverse-DCT coefficient (Equation 2) with the 4-point 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-point inverse DCT is performed by rearranging 4 points input data as shown in FIG. 3(b). This is shown in Equation 6. By using rearranged data as an input and thereby performing 8-point 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/√2 but every input data is multiplied by 1/2 in the case of the 8-point inverse DCT. By computing the 4 points input data through the 8-point inverse DCT, it is found that every output data value is multiplied by 1/√2 compared with the case in which 4-point inverse DCT. In this case, to adjust a level, every data output from the orthogonal transform means 13 for performing one-dimensional 8-point inverse DCT is multiplied by √2. Thereby, the same result as the case of using 4-point inverse DCT can be obtained. Then, to obtain 4 points output data from 8 points input data, inverse DCT is performed by using low-point four data values of 8 points 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 4 points output data from the above 4 points input data. It is unnecessary to perform level adjustment after performing inverse DCT because input data is 8 points data. Then, to obtain octal output data from 4 points input data as shown in FIG. 3(a), inverse DCT is performed by assuming the 4 points input data as low-point data and high-point data as 0 and thereby rearranging the 4 points input data. For level adjustment, every output data value is multiplied by √2 similarly to the case of obtaining 4 points output data from 4 points input data because input data is 4 points data. Cases of octal input data and 4 points input data are described above. The same is true for the case of 2 points input data and 1 point input data in accordance with two expressions Equation 3 and Equation 4. Moreover, Table 1 shows level-adjustment values when input data is 8 points, 4 points, 2 points, and 1 point and output data is 8 points, 4 points, 2 points, and 1 point by summarizing them through 8-point inverse DCT. One-dimensional 8-order inverse DCT is described above as an example. Moreover, in the case of two-dimensional 8-point 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 number of points, inverse DCT can be performed if input and output number of points are divisors of the maximum number of points 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. 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 rearrangement-information control means, 65 denotes rearrangement 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-point inverse DCT and the number of points 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 rearrangement 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 8 points, data, 4 points data, 2 points data, or 1 point data and output data is 8 points data, 4 points data, 2 points data, or 1 point data. By performing one-dimensional 8-point inverse DCT for rearranged data by orthogonal transform means 63 and moreover performing level adjustment (not illustrated) for the rearranged data, 8 points, 4 points, 2 points, or 1 point one-dimensional output data 66 is obtained. Moreover, the rearrangement-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 number of points of the one-dimensional input data 61, number of points of the one-dimensional output data 66, and the rearrangement information 65 having the maximum number of points 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 number of points 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 4 points output data from 4 points input data by using one-dimensional 8-point inverse DCT, it is necessary to multiply every output data value of inverse DCT by √2 as described above. However, by multiplying every coefficient of 8-point inverse DCT by √2, the same result can be obtained. One-dimensional 8-point 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 number of points, it is possible to perform inverse DCT if input and output number of points are divisors of the maximum number of points 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 rearrangement-information control means, 709 denotes rearrangement 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-point 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 rearrangement-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 -point data values that are rearranged in accordance with FIGS. 2, 3, 4, and 5. The orthogonal transform means 703 applies one-dimensional 8-point 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 rearrangement-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 -point data and rearranged in accordance with FIGS. 2, 3, 4, and 5. The orthogonal transform means 706 applies one-dimensional 8-point 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 rearrangement-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 number of points of the two-dimensional input data 701 and two-dimensional output data 711 and the rearrangement information 709 having the maximum number of points 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 4 points 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 √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 8 points 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 8 points. The level adjustment means 707 level-adjusts the data output from the orthogonal transform means 706 by √2 obtained by multiplying a level-adjustment value (√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 4 points 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 8 points 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 rearrangement-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 number of points, it is possible to perform inverse DCT if number of points of the dimensions of input and output are divisors of the maximum number of points 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 of claim 14 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 rearrangement 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-point 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 rearrangement-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 -point data values that are rearranged in accordance with FIGS. 2, 3, 4, and 5. The orthogonal transform means 803 applies one-dimensional 8-point 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 rearrangement-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 -point data that is rearranged in accordance with FIGS. 2, 3, 4, and 5. Orthogonal transform means 803 applies one-dimensional 8-point 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 rearrangement-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 number of points of the two-dimensional input data 801 and two-dimensional output data 810 and the rearrangement information 808 having the maximum number of points 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 √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 8 points (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 √2 which is a value obtained by multiplying a level adjustment value (√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 4 points 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 rearrangement-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 number of points, it is possible to perform inverse DCT if the number of points of dimensions of input and output are divisors of the maximum number of points 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-number of points divisor capable of performing orthogonal transform as input/output data only by adding hardware for controlling rearrangement, level adjustment, and rearrangement information to an apparatus for performing orthogonal transform. Moreover, the present invention makes it possible to enlarge and shrink a maximum-number of points divisor as input/output data only by changing coefficients of an apparatus for performing orthogonal transform and adding hardware for controlling rearrangement and rearrangement information. Furthermore, the present invention makes it possible to enlarge and shrink a maximum-number of points divisor capable of performing orthogonal transform as input/output data only by adding hardware for controlling level adjustment and rearrangement information to an apparatus for performing two-dimensional orthogonal transform and moreover, decrease the number of operation times in accordance with an input number of points. Furthermore, the present invention makes it possible to enlarge and shrink a maximum-number of points divisor capable of performing orthogonal transform as input/output data only by adding hardware for controlling rearrangement, level adjustment, and rearrangement information to an apparatus for performing two-dimensional orthogonal transform and moreover, decrease the number of operation times in accordance with an input number of points. Meanwhile the means, circuit of the present invention can be realized by hard-wares such as OR circuit, AND circuit which can exhibit their functions as well as realized by soft-wares by 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.

Claims: An orthogonal transform apparatus comprising: orthogonal transform means (13) for performing n-dimensional s-point orthogonal transform, n and s are natural numbers, n denotes the physical dimension of a data array, s is the number of points, s = s1, s2, ...sn, rearrangement-information control means (15) for performing control in accordance with rearrangement information for outputting n-dimensional m-point data as n-dimensional p-point data, m and p are natural numbers, m = m1, m2, ... mn; p = p1, p2, ...pn; and, rearrangement means (12) for performing the following in accordance with the control by said rearrangement-information control means: 1) m-p data values from the high point side out of m-point input data values are set to 0 when m is equal to s and m is larger than p, p-m 0 data values are added to the high-point side among m-point 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-point side of said m-point 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-point side of said m-point 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-point data values rearranged by said rearrangement means and output n-dimensional p-point data from the low-point side of the n-dimensional s-point output data. The orthogonal transform apparatus according to claim 1, further comprising level adjustment means (14) for adjusting the level of data handled by said orthogonal transform means or the level of data output by said orthogonal transform means in accordance with said rearrangement information. The orthogonal transform apparatus according to claim 1, wherein said rearrangement means rearranges the p data values present at the low-point side among m-point input data values every s/p data values and generates s-point data by setting remaining data to 0. The orthogonal transform apparatus according to claim 1, wherein the n-dimensional orthogonal transform is performed, for 1-dimension, by inputting s1 data values to output p1 data values, for 2-dimension, by inputting s2 data values to output p2 data values, ....., for n-dimension, by inputting sn data values to output pn data values, wherein p1 is a divisor of s1, p2 is a divisor of s2, ..., pn is a divisor of sn, when said orthogonal transform means combines n orthogonal transforms and performs n-dimensional orthogonal transform. The orthogonal transform apparatus according to claim 2, wherein said rearrangement information control means determines level adjustment values by said level adjustment means as s 1 / m 1 , s 2 / m 2 ,..., sn / mn by assuming the number of points m of the input data for n orthogonal transforms as m1, m2, ..., mn and uses values obtained by multiplying all orthogonal transform coefficients of said orthogonal transform means by the level adjustment values as new orthogonal transform coefficients to perform orthogonal transform. The orthogonal transform apparatus according to claim 1, 4, or 5, wherein said orthogonal transform means discrete-cosine-transforms, inverse-discrete-cosine-transforms, discrete-sine-transforms, inverse-discrete-sine-transforms, discrete-Fourier-transforms, or inverse-discrete-Fourier-transforms said n-dimensional m-point input data values rearranged by said rearrangement means. The orthogonal transform apparatus according to claim 1, wherein said orthogonal transform means (63) also performs level adjustment for the data values. The orthogonal transform apparatus according to claim 7, wherein said rearrangement-information control means determines level adjustment values as s 1 / m 1 , s 2 / m 2 ,..., sn / mn by assuming the number of points m of the input data for n orthogonal transforms as m1, m2, ..., mn and uses values obtained by multiplying all orthogonal transform coefficients of said orthogonal transform means by the level adjustment values as new orthogonal transform coefficients to perform orthogonal transform. The orthogonal transform apparatus according to claim 7 or 8, wherein said orthogonal transform means discrete-cosine-transforms, inverse-discrete-cosine-transforms, discrete-sine-transforms, inverse-discrete-sine-transforms, discrete-Fourier-transforms, or inverse-discrete-Fourier-transforms said n-dimensional m-point input data values rearranged by said rearrangement means. The orthogonal transform apparatus according to claim 1, for orthogonally transforming two-dimensional data of m1 rows and m2 columns into two-dimensional data of p1 rows and p2 columns, m1, m2, p1, p2, are natural numbers, wherein the orthogonal transform means comprises first orthogonal transform means (703) for performing one-dimensional s1-point orthogonal transform, and second orthogonal transform means (706) for performing one-dimensional s2-point orthogonal transform, s1 and s2 are natural numbers; and wherein the rearrangement means comprises first rearrangement means (702) and second rearrangement means (705); and further comprising: transposition means (704) for holding the two-dimensional data of s1 rows and m2 columns output from said first orthogonal transform means and transposing the data when output; and timing control means (710) for controlling the data input/output timing of each means; wherein said first rearrangement means (702) performs the following in accordance with the control by said rearrangement-information control means: 1) m1-p1 data values from the high-point side out of m1-point input data values are set to 0 when m1 is equal to s1 and m1 is larger than p1, p1-m1 0 data values are added to the high-point side among m1-point input data values to rearrange the data values when m1 is smaller than p1, or data values are left as they are when m1 is equal to p1; 2) the data values in said Item 1) are rearranged after discarding m1-s1 data values from the high-point side of said m1-point input data values before rearranging the data values in said Item 1) when m1 is larger than s1; and 3) the data values in said Item 1) are rearranged after adding s1-m1 0 data values to the high-point side of said m1-point input data values before rearranging the data values in said Item 1) when m1 is smaller than s1; and said second rearrangement means (705) performing the following in accordance with the control by said rearrangement-information control means: 4) m2-p2 data values from the high-point side out of m2-point input data values are set to 0 when m2 is equal to s2 and m2 is larger than p2, p2-m2 0 data values are added to the high-point side among m2-point input data values to rearrange the data values when m2 is smaller than p2, or data values are left as they are when m2 is equal to p2; 5) the data values in said Item 4) are rearranged after discarding m2-s2 data values from the high-point side of said m2-point input data values before rearranging the data values in said Item 4) when m2 is larger than s2; and 6) the data values in said Item 4) are rearranged after adding s2-m2 0 data values to the high-point side of said m2-point input data values before rearranging the data values in said Item 4) when m2 is smaller than s2; and wherein said first orthogonal transform means (703) applies orthogonal transform to the two-dimensional input data of s1 rows and m2 columns rearranged by said first rearrangement means (702) and generates two-dimensional output data of s1 rows and m2 columns; and said second orthogonal transform means (706) applies orthogonal transform to the two-dimensional input data of s1 rows and s2 columns rearranged by said second rearrangement means (705) and generates two-dimensional output data of s1 rows and s2 columns, then outputs two-dimensional data of p1 rows and p2 columns from the low-point side of said output data of s1 rows and s2 columns; and wherein the rearrangement information includes the point or points of the two-dimensional input data, the point or points of the two-dimensional output data, and the maximum point or points capable of being orthogonally transform in the orthogonal transform means. The orthogonal transform apparatus according to claim 10, further comprising level adjustment means (707) for adjusting the level of data handled by said first and second orthogonal transform means or the level of data output by said orthogonal transform means in accordance with said rearrangement information. The orthogonal transform apparatus according to claim 10, wherein said first rearrangement means rearranges the p1 data values present at the low-point side among m1-point input data values every s1/p1 data values and generates s1-point data by setting remaining data to 0 and said second rearrangement means rearranges the p2 data values present at the low-point side among m2-point input data values every s2/p2 data values and generates s2-point data by setting remaining data to 0. The orthogonal transform apparatus according to claim 10, wherein the number of points p1 of the data output from said first orthogonal transform means is a divisor of s1 and the number of points p2 of the data output from said second orthogonal transform means is a divisor of s2. The orthogonal transform apparatus according to claim 10 or 11, wherein said rearrangement-information control means determines the level adjustment values of said level adjustment means as s 1 / m 1 × s 2 / m 2 . The orthogonal transform apparatus according to any of claims 10-12, wherein said timing control means controls timing so that said first orthogonal transform means performs orthogonal transform only for p2 columns from the low-point side of the m1-point data of m2 columns and the second orthogonal transform means performs orthogonal transform only for p1 rows from the low-point side of the m2-point data of m1 rows. The orthogonal transform apparatus according to any of claims 10, 13, 14, or 15, wherein said first and second orthogonal transform means discrete-cosine-transforms, inverse-discrete-cosine-transforms, discrete-sine-transforms, inverse-discrete-sine-transforms, discrete-Fourier-transforms, or inverse discrete-Fourier-transforms said one-dimensional data values rearranged by said first or second rearrangement means. The orthogonal transform apparatus according to claim 1, for orthogonally transforming two-dimensional data of m1 rows and m2 columns into two-dimensional data of p1 rows and p2 columns, m1, m2, p1, p2, are natural numbers, further comprising: transposition means (805) for holding the output data from said orthogonal transform means and transposing the data when output, selection means (804) for outputting the output data of said orthogonal transform means or selectively supplying the output data to said transposition means, timing control means (809) for controlling the data input/output timing of each means; and wherein the rearrangement means (802) performs the following in accordance with the control by said rearrangement-information control means by setting m to m when the data to be rearranged is two-dimensional input data or setting m to m2 when the data to be rearranged is the output data of said transposition means: 1) m-p data values from the high-point side out of m-point input data values are set to 0 when m is equal to s and m is larger than p, p-m 0 data values are added to the high-point side among m-point 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-point side of said m-point input 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-point side of said m-point input data values before rearranging the data values in said Item 1) when m is smaller than s; and wherein orthogonal information means (803) applies orthogonal transform to one-dimensional s-point data rearranged by the rearrangement means in a row direction and in a column direction respectively, and generates two-dimensional output data of s rows and s columns, then outputs two-dimensional data of p1 rows and p2 columns from the low-point side of said two-dimensional output data of s rows and s columns; and wherein the rearrangement information (808) includes the point or points of the two-dimensional input data, the point or points of the two-dimensional output data, and the maximum point or points capable of being orthogonally transform in the orthogonal transform means. The orthogonal transform apparatus according to claim 17, further comprising level adjustment means (806) for adjusting the level of data handled by said orthogonal transform means or the level of data output by said orthogonal transform means in accordance with said rearrangement information. The orthogonal transform apparatus according to claim 17, wherein said rearrangement means (802) rearranges the p1 data values present at the low-point side among m1-point input data values every s/p1 data values and generates s-point data by setting remaining data to 0 and moreover, rearranges the p2 data values present at the low-point side among m2-point input data values every s/p2 data values and generates s-point data by setting remaining data to 0. The orthogonal transform apparatus according to claim 19, wherein the number of points p1 and p2 of the data values output from said orthogonal transform means are divisors of s. The orthogonal transform apparatus according to claim 17 or 20, wherein said rearrangement-information control means (807) determines a level adjustment value of said level adjustment means in accordance with the arithmetic expression of s / m 1 × s / m 2 . The orthogonal transform apparatus according to claim 18, wherein said timing control means controls the timings for said rearrangement means to select and rearrange the two-dimensional input data and the two-dimensional data supplied from said transposition means, for said orthogonal transform means to perform orthogonal transform, and for said selection means to selectively supply transformed results to said level adjustment means or said transposition means. The orthogonal transform apparatus according to claim 17, 20, or 22, wherein said timing control means controls timing so that said orthogonal transform means orthogonally transforms the data of only p2 columns from the low-point side among the m1-point data of m2 columns and transposition means transposes the data of p2 columns and thereafter orthogonally transforms the data of only p1 columns from the low point side among the m2 point data of a rows. The orthogonal transform apparatus according to claim 17, 20, 21, 22, or 23, wherein said orthogonal transform means discrete-cosine-transforms, inverse-discrete-cosine-transforms, discrete-sine-transforms, inverse-discrete-sine-transforms, discrete-Fourier-transforms, or inverse-discrete-Fourier-transforms said one-dimensional data rearranged by said rearrangement means.

Inventors: OHGOSE HIDEYUKI, OHGOSE, HIDEYUKI
Applicants: MATSUSHITA ELECTRIC IND CO LTD, MATSUSHITA ELECTRIC INDUSTRIAL CO., LTD.
Application year: 1998
Main classification: G06F17
IPC codes: G06F17, G06T3, H04N7, G09G5