Fast calculation apparatus for carrying out a forward and an inverse transform

Abstract: In an apparatus for carrying out a linear transform calculation on a product signal produced by multiplying a predetermined transform window function and an apparatus input signal, an FFT part (23) carries out fast Fourier transform on a processed signal produced by processing the product signal in a first processing part (21). As a result, the FFT part produces an internal signal which is representative of a result of the fast Fourier transform. A second processing part (22) processes the internal signal into a transformed signal which represents a result of the linear transform calculation. The apparatus is applicable to either of forward and inverse transform units (11, 12).

Description: Background of the Invention: This invention relates to a fast calculation apparatus included in each of a forward transform calculation apparatus and an inverse transform calculation apparatus. A modified discrete cosine transform (hereinafter abbreviated to MDCT) apparatus is known as a linear transform apparatus for a digital signal such as an audio signal and a picture signal. In a conventional transform calculation apparatus, it is possible by the use of the MDCT technique to carry out a forward and an inverse transform calculation which are well known in the art. The MDCT apparatus is described in detail in an article contributed by N. Schiller to the SPIE Vol. 1001 Visual Communications and Image Processing '88, pages 834-839, under the title of "Overlapping Block Transform for Image Coding Preserving Equal Number of Samples and Coefficients". The article will be described below. 1990 International Symposium on Circuit and Systems, 1 May 1990, New Orleans USA, Vol. 1/4, pages 77-80, P. Duhamel: "A DCT Chip Based on a New Structured and Computationally Efficient DCT Algorithm" (D2) describes the main characteristics of a VLSI implementation chosen for an discrete cosine transform (DCT) and inverse DCT algorithm. In the MDCT technique, a forward transform equation and an inverse transform equation are given: and wherein x represents an input signal, N represents a block length (N is multiple of 4), m represents a block number, h represents a forward transform window function, f represents an inverse transform window function, and each of n and k represents an integer variable between 0 and N - 1, both inclusive. Herein, n0 is given as follows: n0 = N/4 + 1/2. It is necessary in each of the forward and the inverse transform calculations to carry out a large number of multiplication times and addition times. This is because k is the integer between 0 and (N - 1), both inclusive. Accordingly, an increase in the block length N results in an increased number of times of each of the multiplication and the addition. It is therefore an object of this invention to provide a forward transform calculation apparatus by which it is possible to reduce the number of times of multiplication and addition. It is another object of this invention to provide an inverse transform calculation apparatus by which it is possible to reduce the number of times of the multiplication and the addition. It is still another object of this invention to provide a calculation apparatus in which the number of times of the multiplication and the addition increases in proportion to only Nlog 2 N, where N represents an integer. It is yet another object of this invention to provide a calculation apparatus in which the number of times of the multiplication and the addition increases in proportion to (N/2)log 2 (N/2), where N represents an integer. Other object of this invention will become clear as the description proceeds. These objects are achieved with the features of the claims. Brief Description of the Drawing: Fig. 1 is a block diagram of a conventional calculation apparatus for successively carrying out a forward and an inverse transforms Fig. 2 is a block diagram of a calculation apparatus according to a first embodiment of this invention; Fig. 3 is a flow chart for use in describing operation of a first forward processing part included in the calculation apparatus of Fig. 2; Fig. 4 is a block diagram of a calculation apparatus according to a second embodiment of this invention; Fig. 5 is a flow chart for use in describing operation of a first forward processing part included in the calculation apparatus of Fig. 4; Fig. 6 is a flow chart for use in describing operation of a first inverse processing part included in the calculation apparatus of Fig. 4; and Fig. 7 is a flow chart for use in describing operation of a second inverse processing part included in the calculation apparatus of Fig. 4. Description of the Preferred Embodiments: Referring to Fig. 1, a conventional calculation apparatus will be described at first for a better understanding of the present invention. The conventional calculation apparatus is for successively carrying out a forward and an inverse transform and comprises forward and inverse transform units 11 and 12. The forward transform unit 11 comprises an input buffer part 13, a forward transform window part 14, and a forward calculation part 15. The input buffer part 13 is for memorizing N samples of original signals x(n), as an original data block. This means that the original data block has an original block length N. Responsive to the original signals x(n), the forward transform window part 14 carries out multiplication between each of the original signals x(n) and the forward transform window function h(n) to produce a product signal xh(n) as follows: xh(n) = x(n)h(n). Responsive to the product signal xh(n), the forward calculation part 15 calculates the left-hand side of Equation (1) as follows: The calculation part produces the left-hand side as a forward transformed signal y(m, k). It is necessary to carry out multiplication N 2 times and addition N(N - 1) times. This is because k is variable between 0 and (N - 1), both inclusive. Depending on the circumstances, each sample of the original signals x(n) is herein called an apparatus input signal. The inverse transform unit 12 comprises an inverse calculation part 16, an inverse transform window part 17, and an output buffer part 18. The inverse calculation part 16 calculates the left-hand side of Equation (2) as follows: The calculation part 16 produces the left-hand side as an inverse transformed signal xt(m, n). The inverse transform window part 17 multiplies the inverse transformed signal xt(m, n) and an inverse transform window function f(n) into a product in accordance with: xtf (m, n) = xt(m, n)f(n). The inverse transform window part 17 thereby produces a product signal xtf (m, n) representative of the product. The product signal is supplied to the output buffer part 18 whenever the multiplication is carried out by the inverse transform window part 17. As a result, the output buffer part 18 memorizes a plurality of the product signals as a current and a previous data block at a time. The current data block corresponds to the original data block. The previous data block is previous to the current data block. Each of the current and the previous data blocks is divided into a former and a latter half block. The former half block comprises zeroth through (N/2 - 1)-th product signals. The latter half block comprises N/2-th through (N - 1)-th product signals. As will be understood from the following equation, the output buffer part 18 carries out addition between the product signal xtf (m, n) of the former half block of the current data block and the product signal xtf (m - 1, n) of the latter half block of the previous data block to produce a modified or reproduced signal x'(n) of a modified half block having a modified block length which is a half of the original block length. The following equation is: x'(n) = xtf (m - 1, n + N/2) + xtf (m, n), when 0≦ n < N/2 - 1. Simultaneously, the output buffer part 18 memorizes, as the latter half block, the second product signal xtf (m, n) of the current data block. Each of the forward and the inverse transform window functions h(n) and f(n) can be given by Equation (9) on page 836 in the above-mentioned article. The description will now proceed to an example of an algorithm which is applicable to a forward transform calculation apparatus according to this invention. Substituting Equation (3), Equation (5) is rewritten into: In Equation (9), the cosine has a nature such that: cos [2π(k + 1/2)(n + 1/2)/N] = cos [2π(k + 1/2)((n - N) + 1/2 + N)/N] = cos [2π(k + 1/2)((n - N) + 1/2)/N + 2π(k + 1/2)N/N] = -cos[2π(k + 1/2)((n - N) + 1/2)/N] When n is shifted by (-N), the cosine has an argument shifted by 2π(k + 1/2), namely, an odd integral multiple of π. In this event, the cosine has an absolute value unchanged and a sign inverted between positive and negative. Therefore, it is possible to delete the term N/4 in the argument of xh in the right-hand side of Equation (9) by shifting n by (-N) with the sign of the product signal xh(n) inverted. Herein, the product signal is processed into particular and specific datum x2(n) which are represented as follows: x2(n) = - xh(n + 3N/4), when 0 ≦ n < N/4 and x2(n) = xh(n - N/4), when N/4 ≦ n<N. Therefore: where j represents an imaginary unit. It will be assumed that: x3(n) = x2(n)exp(- 2πjn/2N). In this event: Herein, Equation (14) is divided into a front part and a rear part which represents execution of a fast Fourier transform (hereinafter abbreviated to FFT) at a point N of a specific signal x3(n). The FFT is represented by Equation (15) which is given below. Accordingly, Equation (16) is given from Equation (14). and y(m, k) - real[exp(- 2πj(k + 1/2)/2N)xf(m, k)]. It is therefore possible to obtain the result of Equation (5). The multiplications are required N times before execution of the FFT, at most Nlog 2 N times for executing the FFT, and N times after execution of the FFT. As a result, the multiplication is carried out a number of times which is substantially equal to Nlog 2 N if N is great. The number of times of the addition is equal to 2Nlog 2 N. Accordingly, it is possible to reduce the number of times of the multiplication and the addition as compared with the conventional calculation apparatus. The description will proceed to an example of an algorithm which is applicable to an inverse transform calculation apparatus according to this invention. Substituting Equation (3), Equation (6) is rewritten into: The following equations are introduced: y20(m, k) = y(m, k)exp[2πj(N/4 + 1/2)k/N] and Equation (19) represents the inverse FFT for the signal y20(m, k). Substituting Equations (18) and (19) in Equation (17): xt(m, n) = 2/N real[exp(2πj(n + N/4 + 1/2)/2N)y30(m, n)]. It is therefore possible to obtain the result of Equation (6). The multiplication is carried out a number of times which is substantially equal to Nlog 2 N. The number of times of the addition is equal to 2Nlog 2 N. Accordingly, it is possible to reduce the number of times of the multiplication and the addition as compared with the conventional apparatus. The description will now proceed to another example of the algorithm that is applicable to the forward transform calculation apparatus according to this invention. With p substituted for n, Equation (9) is rewritten into: It is possible to delete the term N/4 in the argument of xh in the right-hand side of Equation (21) by shifting p by (-N) with the sign of the product signal xh(p) inverted. Herein, the product signal is processed into the particular and the specific data x2(p) which are represented as follows: x2(p) = - xh(p + 3N/4), when 0≦p < N/4 and x2(p) = xh(p - N/4), when N/4 ≦ p < N. Therefore: In Equation (23), the cosine has a nature such that: cos[2π(k + 1/2)(p + 1/2)/N] = cos[- 2π(k + 1/2) (p + 1/2)/N] = cos[2π(k + 1/2)((N - p - 1/2) - N)/N] = cos[2π(k + 1/2)((N - 1 - p) + 1/2)/N - 2π(k + 1/2)N/N] = -cos[2π(k + 1/2)((N - p - 1) + 1/2)/N] When (N - 1 - p) is substituted for p, the cosine has an absolute value unchanged and a sign inverted between positive and negative. With p separated into an even and an odd number, Equation (23) is rewritten into: It is assumed that: x31(p) = x2(2p) - x2(N - 1 - 2p), when 0 ≦ p ≦ N/2 - 1. In this event: It is assumed that: x4(p) = x31(p)exp(- 2πjp/N). In this event: Herein, Equation (29) is divided into a front part and a rear part which represents execution of the FFT at N/2 of x4(p). The FFT is represented by Equation (30) which is given below. Accordingly, Equation (31) is given from Equation (29). y(m, k) = real[exp(- 2πj(k + 1/2)/2N)xf2(m, k)] It is therefore possible to obtain the result of Equation (5). The multiplication is carried out a number of times which is substantially equal to (N/2)log 2 (N/2) if N is great. The total number of the additions and the subtractions is equal to N/2 for x3(p) and to Nlog 2 (N/2) for FFT. The number of the additions is substantially equal to Nlog 2 (N/2) if N is great. Accordingly, it is possible to reduce the number of times of the multiplication and the addition as compared with the conventional calculation apparatus. Since the FFT is carried out at N/2 points, y(m, n) is obtained in a case where k is variable between 0 and N/2 - 1, both inclusive. In Equation (24), p and k are symmetrical with one another. Using the symmetric nature of the cosine with respect to k, Equation (23) is rewritten into: Therefore, y(m, k) is obtained in another case where k is variable between N/2 and N - 1, both inclusive. The description will proceed to another example of the algorithm that is applicable to the inverse transform calculation apparatus according to this invention. Substituting Equation (3) with p substituted for n, Equation (6) is rewritten into: For convenience of the equation, it will be assumed that: xt2(m, p) = xt(m, p - N/4). In this event: Substituting Equation (32): Herein, y2(m, k) is represented as follows: y2(m, k) = y(m, 2k), when 0 ≦ k < N/4 and y2(m, k) = -y(m,2k), when N/4 ≦ k < N/2. (37b) Using Equation (32), Equation (37b) is represented as follows: y2(m, k) = -y2(m, N - 1 - 2k), when N/4≦ k<N/2. Equation (35) is rewritten into: It is assumed that: y3(m, k) = y2(m, k)exp(2πjk/N) and Equation (40) represents an inverse FFT for y3(m, k). Substituting Equations (39) and (40) into Equation (38): xt2(m, n) = 4/N real[exp(2πj(n + 1/2)/2N)y4(m, n)]. In order to convert xt2(m, n) to xt(m, n), it is assumed from Equations (20), (24), and (32) that: xt(m, 3N/4 - 1 - n) = xt(m, 3N/4 + n) = -xt2(m, n), when 0 ≦ n < N/4 and xt(m, n - N/4) = -xt(m, 3N/4 - 1 - n) = xt2(m, n), when N/4 ≦ n < N/2. It is therefore possible to obtain the result of Equation (6). The multiplication is carried out a number of times which is substantially equal to (N/2)log 2 (N/2). The addition is carried out a number of times which is substantially equal to Nlog 2 (N/2). Accordingly, it is possible to reduce the number of times of the multiplication and the addition as compared with the conventional calculation apparatus. Referring to Fig. 2, the description will be directed to a calculation apparatus according to a first embodiment of this invention. The calculation apparatus comprises similar parts designated by like reference numerals. The forward transform window part 14 produces, as the product signal, a succession of zeroth through (3N/4 - 1)-th and (3N/4)-th through (N - 1)-th product data. The forward transform window part 14 will be referred to as a multiplying arrangement. The forward transform unit 11a further comprises first forward processing, second forward processing, and forward FFT parts 21, 22, and 23. The first forward processing part 21 is connected to the forward transform window part 14 and is for processing the product signal into a processed signal. Referring to Fig. 3 together with Fig. 2, the description will be made as regards operation of the first forward processing part 21. At a first stage SA1, the first forward processing part 21 is supplied with the product signal from the forward transform window part 14. The first stage SA1 proceeds to a second stage SA2 at which the first forward processing part 21 processes the (3N/4)-th through the (N - 1)-th product data into a succession of zeroth through (N/4 - 1)-th particular data each having a polarity which is different from that of each of the (3N/4)-th through the (N-1)-th product data. In other words, the (3N/4)-th through the (N-1)-th product data are processed in accordance with Equation (11a). The first forward processing part 21 for carrying out the second stage SA2 will be referred to as a particular processing arrangement. The second stage SA2 proceeds to a third stage SA3 at which the first forward processing part 21 processes the zeroth through the (3N/4 - 1)-th product data into a succession of (N/4)-th through (N-1)-th specific data each having a polarity which is the same as that of each of the zeroth through the (3N/4-1)-th product data. In other words, the zeroth through the (3N/4-1)-th product data are processed in accordance with Equation (11b). The first forward processing part 21 for carrying out the third stage SA3 will be referred to as a specific processing arrangement. The third stage SA3 proceeds to a fourth stage SA4 at which the first forward processing part 21 multiplies exp[-2πjn/(2N)] and each of the zeroth through the (N/4-1)-th particular and the (N/4)-th through the (N-1)-th specific data in accordance with Equation (13) to produce the processed signal. The first forward processing part 21 for carrying out the fourth stage SA4 will be referred to as a calculating arrangement. Returning to Fig. 2, the forward FFT part 23 is connected to the first forward processing part 21 and is for carrying out a linear forward FFT on the processed signal in accordance with Equation (15) to produce an internal signal representative of a result of the forward FFT. The forward FFT part 23 is herein referred to as an internal transform carrying out arrangement. The second forward processing part 22 is connected to the forward FFT part 23 and is for processing the internal signal into the forward transformed signal in accordance with Equation (16). More particularly, the second forward processing part 22 multiplies the internal signal and [-2πj(k + 1/2)2N] into a local product, namely, a real part, to make the forward transformed signal represent the local product. In this event, the second forward processing part 22 will be referred to as an internal multiplying arrangement. A combination of the first forward processing, the second forward processing, and the forward FFT parts 21, 22, and 23 will be referred to as a transform carrying out arrangement. Continuing reference to Fig. 2, the description will proceed to the inverse transform unit 12a. The inverse transform unit 12 comprises first inverse processing, second inverse processing, and inverse FFT parts 31, 32, and 33. The first inverse processing part 31 is connected to the second forward processing part 22 and is for processing the forward transformed signal into a processed signal. The first inverse processing part 31 is supplied with the forward transformed signal as an apparatus input signal. The forward transformed signal is a succession of zeroth through (N - 1)-th apparatus input data. The first inverse processing part 31 carries out multiplication between the zeroth through the (N - 1)-th apparatus input data and exp[2πj(N/4 + 1/2)k/N] in accordance with Equation (18) into a first product to make the processed signal represent the first product. In this event, the first inverse processing part 31 will be referred to as a first multiplying arrangement. The inverse FFT part 33 is connected to the first inverse processing part 31 and is for carrying out a linear inverse FFT on the processed signal in accordance with Equation (19) to produce an internal signal representative of a result of the inverse FFT. The internal signal is a succession of zeroth through (N - 1)-th internal data. In this event, the inverse FFT part 33 is herein referred to as an internal transform carrying out arrangement. The second inverse processing part 32 is connected to the inverse FFT part 33 and is for carrying out multiplication between the zeroth through the (N - 1)-th internal data and 2exp[- 2πj(n + N/4 + 1/2)/(2N)] in accordance with Equation (20) into a second product, namely, a real part, to make the inverse transformed signal represent the second product. In this event, the second inverse processing part 32 will be referred to as a second multiplying arrangement. The second inverse processing part 32 is further connected to the inverse transform window part 17. The inverse transformed signal is sent from the second inverse processing part 32 to the inverse transform window part 17. Referring to Fig. 4, the description will be directed to a calculation apparatus according to a second embodiment of this invention. The calculation apparatus comprises similar parts designated by like reference numerals. The forward transform window part 14 produces, as the product signal, a succession of zeroth through (3N/4 - 1)-th and (3N/4)-th through (N - 1)-th product data. The forward transform window part 14 will be referred to as a multiplying arrangement. The first forward processing part 21 comprises subtracting and multiplying parts 41 and 42. The subtracting part 41 is connected to the forward transform window part 14 and is for producing a local signal in response to the product signal. The multiplying part 42 is connected to the subtracting part 41 and is for producing the processed signal in response to the local signal. Referring to Fig. 5 together with Fig. 4, the description will be made as regards operation of the first forward processing part 21. At a first stage SB1, the subtracting part 41 is supplied with the product signal from the forward transform window part 14. The first stage SB1 proceeds to a second stage SB2 at which the subtracting part 41 processes the (3N/4)th through the (N - 1)-th product data into a succession of zeroth through (N/4-1)-th particular data each having a polarity which is different from that of each of the (3N/4)-th through the (N-1)-th product data. In other words, the (3N/4)-th through the (N - 1)-th product data are processed in accordance with Equation (22a). The subtracting part 41 for carrying out the second stage SB2 will be referred to as a particular processing arrangement. The second stage SB2 proceeds to a third stage SB3 at which the subtracting part 41 processes the zeroth through the (3N/4 - 1)-th product data into a succession of (N/4)-th through (N-1)-th specific data each having a polarity which is the same as that of each of the zeroth through the (3N/4-1)-th product data. In other words, the zeroth through the (3N/4-1)-th product data are processed in accordance with Equation (22b). The subtracting part 41 for carrying out the third stage SB3 will be referred to as a specific processing arrangement. The third stage SB3 proceeds to a fourth stage SB4 at which the subtracting part 41 combines the particular and the specific data successions into a succession of zeroth through (N - 2 - 2p)-th and (2p+1)-th through (N - 1)-th combined data. When the fourth stage SB4 is carried out, the subtracting part 41 will be referred to as a combining arrangement. The fourth stage SB4 proceeds to a fifth stage SB5 at which the subtracting part 41 subtracts the (N - 1 - 2p)-th combined datum from the 2p-th combined datum in accordance with Equation (26) to produce a difference and the local signal that is representative of the difference. The subtracting part 41 for carrying out the fifth stage SB5 will be referred to as a subtracting arrangement. The fifth stage SB5 proceeds to a sixth stage SB6 at which the Multiplying part 42 carries out multiplication between exp(-2πjp/N)and the local signal in accordance with Equation (28) to produce an internal product to make the processed signal represent the internal product. The multiplying part 42 will be referred to an an internal multiplying arrangement. Returning to Fig. 4, the forward FFT part 23 is connected to the multiplying part 42 and is for carrying out the linear forward FFT on the processed signal in accordance with Equation (30) to produce an internal signal representative of a result of the forward FFT. The forward FFT part 23 is herein referred to as an internal transform carrying out arrangement. The second forward processing part 22 is connected to the forward FFT part 23 and is for processing the internal signal into the forward transformed signal in accordance with Equation (31). More particularly, the second forward processing part 22 carries out multiplication between the internal signal and [-2πj(k + 1/2)/(2N)] into a local product, namely, a real part, to make the forward transformed signal represent the local product. In this event, the second forward processing part 22 will be referred to as an internal multiplying arrangement. A combination of the first forward processing, the second forward processing, and the forward FFT parts 21, 22, and 23 will be referred to as a transform carrying out arrangement. Referring to Fig. 6 together with Fig. 4, operation of the first inverse processing part 31 will be described at first. At a first stage SC1, the first inverse processing part 31 is supplied with the forward transformed signal from the second forward processing part 22. The first stage SC1 proceeds to a second stage SC2 at which the first inverse processing part 31 processes the 2k-th apparatus input datum into a k-th particular datum. In other words, the forward transformed signal is processed in accordance with Equation (37a). In this event, the first inverse processing part 16 will be referred to as a particular processing arrangement. The second stage SC2 proceeds to a third stage SC3 at which the first inverse processing part 31 processes the (2k + 1)-th apparatus input datum into a (N - 1 - k)-th specific datum. In other words, the forward transformed signal is processed in accordance with Equation (37c). In this event, the first inverse processing part 31 will be referred to as a specific processing arrangement. The third stage SC3 proceeds to a fourth stage SC4 at which the first inverse processing part 31 carries out multiplication between exp(2njk/N) and each of the k-th particular and the (N - 1 - k)-th specific data in accordance with Equation (38) into the processed signal. In this event, the first inverse processing part 31 will be referred to as a calculation arrangement. In Fig. 4, the inverse FFT part 33 carries out the linear inverse FFT on the processed signal in accordance with Equation (40) to produce an internal signal representative of a result of the inverse FFT. The inverse FFT part 33 will be referred to as an internal transform carrying out arrangement. Referring to Fig. 7 together with Fig. 4, the description will be directed to operation of the second inverse processing part 32. The inverse FFT part 33 produces, as the internal signal, a succession of zeroth through (N/2 - 1)-th internal data. At a first stage SD1, the second inverse processing part 32 is supplied with the internal signal from the inverse FFT part 33. The first stage SD1 proceeds to a second stage SD2 at which the second inverse processing part 32 carries out multiplication between the p-th internal datum and the exp[2πj(p + 1/2)/(2N)] in accordance with Equation (41) into a local product to make the inverse transformed signal represent the local product. The local product is a succession of zeroth through (N/4 - 1)-th and (N/4)-th through (N/2 - 1)-th product data. In this event, the second inverse processing part 32 will be referred to as a multiplying arrangement. The second stage SD2 proceeds to a third stage SD3 at which the second inverse processing part 32 processes the zeroth through the (N/4 - 1)-th product data in accordance with Equation (42a) into a first succession of (3N/4 - 1)-th through (N/2)-th particular data in a descending order and a second succession of (3N/4)-th through (N-1)-th particular data in an ascending order. The particular data of the first and the second successions have a polarity which is different from that of the zeroth through the (N/4-1)-th product data. In this event, the second inverse processing part 32 will be referred to as a particular processing arrangement. The third stage SD3 proceeds to a fourth stage SD4 at which the second inverse processing part 32 processes the (N/4)-th through the (N/2 - 1)-th product data in accordance with Equation (42b) into a first succession of zeroth through (N/4 - 1)-th specific data in an ascending order and a second succession of (N/2 - 1)-th through (N/4)-th specific data in a descending order. Each of the specific data of the first succession has a polarity which is the same as that of each of the (N/4)-th through the (N/2-1)-th product data. On the other hand, each of the specific data of the second succession has a polarity which is different from that of each of the (N/4)-th through the (N/2-1)-th product data. In this event, the second inverse processing part 32 will be referred to as a specific processing arrangement. While the present invention has thus far been described in connection with only a few embodiment thereof, it will readily be possible for those skilled in the art to put this invention into practice in various other manners. For example, the block length N may be equal to 256 or 512.

Claims: An apparatus for carrying out a forward transform calculation on an apparatus input signal, said apparatus including multiplying means (14) for multiplying a predetermined forward transform window function and said apparatus input signal to produce a product signal and transform carrying out means for carrying out a linear forward transform on said product signal to produce a forward transformed signal representative of a result of said linear forward transform, characterized in that said transform carrying out means comprises: first processing means (21) connected to said multiplying means (14) for processing said product signal into a processed signal; internal transform carrying out means (23) connected to said first processing means (21) for carrying out a forward fast Fourier transform on said processed signal to produce an internal signal representative of a result of said forward fast Fourier transform; and second processing means (22) connected to said internal transform carrying out means (23) for processing said internal signal into said forward transformed signal, said multiplying means (14) producing, as said product signal, a succession of zeroth through (3N/4-1)-th and (3N/4)-th through (N-1)-th product data, where N represents an integral multiple of four, wherein said first processing means (21) comprises: particular processing means connected to said multiplying means (14) for shifting said (3N/4)-th through said (N-1)-th product data into a succession of zeroth through (N/4-1)-th particular data each having a polarity which is different from that of each of said (3N/4)-th through said (N-1)-th product data; specific processing means connected to said multiplying means (14) for shifting said zeroth through said (3N/4-1)-th product data into a succession of (N/4)-th through (N-1)-th specific data each having a polarity which is the same as that of each of said zeroth through said (3N/4-1)-th product data; and calculating means connected to said particular processing, said specific processing, and said internal transform carrying out means (23) for calculating said processed signal by multiplying exp[-2πjn/(2N)] with each of said zeroth through said (N/4-1)-th particular and said (N/4)-th through said (N-1)-th specific data. The apparatus as claimed in claim 1, wherein said calculating means being for multiplying said exp[-2πjn/(2N)] with each of said zeroth through said (N/4-1)-th particular and said (N/4-th) through the (N-1)-th specific data to produce said processed signal, where j is an imaginary unit, n being variable between 0 and N-1, both inclusive. The apparatus as claimed in claim 1, wherein said calculating means comprises: combining means connected to said particular and said specific processing means for combining said particular and said specific data successions into a succession of zeroth through (N-1-2p)-th and 2p-th through (N-1)-th combined data, where p is variable between 0 and N/2-1, both inclusive; subtracting means (41) connected to said combining means for subtracting said (N-1-2p)-th combined datum from said 2p-th combined datum to produce a difference and a local signal representative of said difference; and internal multiplying means (42) connected to said subtracting (41) and said internal transform carrying out means (23) for multiplying exp(-2πjp/N) and said local signal into an internal product, said processed signal representing said internal product. The apparatus as claimed in claim 3, wherein said internal multiplying means (42) being for multiplying said exp(-2πjp/N) and said local signal to produce said processed signal, where j is an imaginary unit, p being variable between 0 and N/2-1, both inclusive. The apparatus as claimed in any one of claims 1 to 4, said internal transform carrying out means (23) carrying out a linear forward Fast Fourier Transform for producing, as said internal signal, a succession of zeroth through (N/2-1)-th internal data, where N represents an integral multiple of four, k being variable between 0 and N/2-1, both inclusive, wherein said second processing means (22) comprises internal multiplying means connected to said internal transform carrying out means (23) for multiplying said k-th internal datum with exp[-2πj(k + 1/2)/(2N)] into a local product, said forward transformed signal representing said local product, where j is an imaginary unit. An apparatus for carrying out an inverse transform calculation on an apparatus input signal, said apparatus including transform carrying out means for carrying out a linear inverse transform on said apparatus input signal to produce an inverse transformed signal representative of a result of said linear inverse transform and multiplying means (17) for multiplying a predetermined inverse transform window function and said inverse transformed signal to produce a product signal, characterized in that said transform carrying out means comprises: first processing means (31) for processing said apparatus input signal into a processed signal; internal transform carrying out means (33) connected to said first processing means (31) for carrying out an inverse fast Fourier transform on said processed signal to produce an internal signal representative of a result of said inverse fast Fourier transform; and second processing means (32) connected to said internal transform carrying out means (33) for processing said internal signal into said inverse transformed signal, said apparatus input signal being a succession of zeroth through (N-1)-th apparatus input data, where N represents an integral multiple of four, wherein said first processing means (31) comprises first multiplying means for multiplying said zeroth through said (N-1)-th apparatus input data and exp[2πj(N/4 + 1/2)k/N] into a first product, said processed signal representing said first product, where j is an imaginary unit, k being variable between 0 and N-1, both inclusive. The apparatus as claimed in claim 6, said internal transform carrying out means (33) carrying out a linear inverse fast Fourier transform for producing, as said internal signal, a succession of zeroth through (N-1)-th internal data, where N represents an integral multiple of four, wherein said second processing means (32) comprises second multiplying means connected to said internal transform carrying out means (33) for multiplying said zeroth through said (N-1)-th internal data and exp[-2πj(n + N/4 + 1/2)/(2N)] into a second product, said inverse transformed signal representing said second product, where j is an imaginary unit, n being variable between 0 and N-1, both inclusive. An apparatus for carrying out an inverse transform calculation on an apparatus input signal, said apparatus including transform carrying out means for carrying out a linear inverse transform on said apparatus input signal to produce an inverse transformed signal representative of a result of said linear inverse transform and multiplying means (17) for multiplying a predetermined inverse transform window function and said inverse transformed signal to produce a product signal, characterized in that said transform carrying out means comprises: first processing means (31) for processing said apparatus input signal into a processed signal, internal transform carrying out means (33) connected to said first processing means (31) for carrying out an inverse fast Fourier transform on said processed signal to produce an internal signal representative of a result of said inverse fast Fourier transform; and second processing means (32) connected to said internal transform carrying out means (33) for processing said internal signal into said inverse transformed signal, said apparatus input signal being a succession of zeroth through (N/2-1)-th apparatus input data, where N represents an integral multiple of four, wherein said first processing means (31) comprises: first particular processing means for shifting said 2k-th apparatus input datum into a k-th particular datum, where k is variable between 0 and N/4-1, both inclusive; first specific processing means for shifting said (2k + 1)-th apparatus input datum into a (N-1-2k)-th specific datum, where k is variable between N/4 and N/2-1; and calculating means connected to said first particular and said first specific processing means for calculating said processed signal by multiplying exp(2πjk/N) and each of said k-th particular and said (N-1-2k)-th specific data. An apparatus as claimed in claim 8, wherein j is an imaginary unit, and wherein said internal calculating means is for multiplying exp(2πjk/N) and said k-th particular datum. An apparatus for carrying out an inverse transform calculation on an apparatus input signal, said apparatus including transform carrying out means for carrying out a linear inverse transform on said apparatus input signal to produce an inverse transformed signal representative of a result of said linear inverse transform and multiplying means (17) for multiplying a predetermined inverse transform window function and said inverse transformed signal to produce a product signal, characterized in that said transform carrying out means comprises: first processing means (31) for processing said apparatus input signal into a processed signal; internal transform carrying out means (33) connected to said first processing means (31) for carrying out an inverse fast Fourier transform on said processed signal to produce an internal signal representative of a result of said inverse fast Fourier transform; and second processing means (32) connected to said internal transform carrying out means (33) for processing said internal signal into said inverse transformed signal, said internal transform carrying out means (33) producing, as said internal signal, a succession of zeroth through (N/2-1)-th internal data, where N represents an integral multiple of four, wherein said second processing means (32) comprises: local multiplying means connected to said internal transform carrying out means (33) for multiplying a p-th internal datum and exp [2πj(p-1/2)/2N] into a local product, said inverse transformed signal representing said local product, p being a variable between 0 and N/2-1, both inclusive, j is an imaginary unit, said local product being a succession of zeroth through (N/4-1)-th and (N/4)-th through (N/2-1)-th product data; second particular processing means connected to said local multiplying means for shifting said zeroth through said (N/4-1)-th product data into a first succession of (3N/4-1)-th through (N/2)-th particular data in a descending order and a second succession of (3N/4)-th through (N-1)-th particular data in an ascending order, the particular data of said first and said second successions having a polarity which is different from that of each of said zeroth through said (N/4-1)-th product data; and second specific processing means connected to said local multiplying means for shifting said (N/4)-th through (N/2-1)-th product data into a first succession of zeroth through (N/4-1)-th specific data in an ascending order and a second succession of (N/2-1)-th through (N/4)-th specific data in a descending order, each of the specific data of said first succession having a polarity which is the same as that of each of said (N/4)-th through (N/2-1)-th product data, each of the specific data of said second succession having a polarity which is different from that of each of said (N/4)-th through (N/2-1)-th product data.

Inventors: IWADARE MASAHIRO, IWADARE, MASAHIRO, IWADARE, MASAHIRO, NEC CORPORATION
Applicants: NIPPON ELECTRIC CO, NEC CORPORATION
Application year: 1991
Main classification: G06F17
IPC codes: G10L15, G10L11, G06F17, H04N1, H04N7, G10L19