US RE40854 E1 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).Claims(46) 1. An apparatus for carrying out a forward modified discrete cosine transform comprising:
an input signal;
a multiplier, said multiplier multiplying a predetermined forward transform window function and said input signal and outputting as a result a product signal;
transform carrying out means connected to said multiplier for carrying out a linear forward modified discrete cosine transform on said product signal and for outputting a forward modified discrete cosine transformed signal representative of said linear forward modified discrete cosine transform, wherein said transform carrying out means further comprises:
a first processing device connected to receive said product signal from said multiplier, said first processing device outputting a processed signal;
means connected to said first processing device for receiving said processed signal and carrying out a forward fast Fourier transform on said processed signal and outputting an internal signal representative of said forward fast Fourier transform; and
a second processing device connected to receive said internal signal from said means for carrying out a forward fast Fourier transform, said second processing device processing said internal signal and outputting as a result said forward modified discrete cosine transformed signal.
2. An apparatus as recited in
said first processing device includes a particular processing means connected to said multiplier for processing said zeroth through said (N/4−1)th product data into a succession of (3N/4) through Nth particular data having a first polarity in common;
said first processing device further includes a specific processing means connected to said multiplier for processing said (N/4)th through said (N−1)th product data into a succession of zeroth through (3N/4−1)th specific data having a second polarity in common, said second polarity being different from said first polarity; and
a calculating means is connected to said particular processing means, said specific processing means, and said means for carrying out a forward fast Fourier transform, for calculating said processed signal by using a predetermined signal and each of said (3N/4) through said Nth particular and said zeroth through said (3N/4−1)th specific data.
3. An apparatus as recited in
4. An apparatus as recited in
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 2pth through (N−1)th combined data, where p is variable between 0 and N/2−1, both inclusive;
a subtractor connected to said combining means, said subtractor subtracting said (N−1−2p)th combined datum from said 2pth combined datum to produce a difference and output a local signal representative of said difference; and
internal multiplying means connected to said subtractor and said means for carrying out a forward fast Fourier transform, for multiplying a predetermined signal with said local signal into an internal product to make said processed signal represent said internal product.
5. An apparatus as recited in
6. An apparatus as recited in
7. An apparatus for carrying out an inverse modified discrete cosine transform comprising:
an input signal comprising a modified discrete cosine transformed signal;
transform carrying out means for carrying out a linear inverse modified discrete cosine transform on said input signal and for outputting an inverse modified discrete cosine transformed signal representative of a result of said linear inverse modified discrete cosine transform;
a multiplier connected to said transform carrying out means, said multiplier multiplying a predetermined inverse transform window function and said inverse modified discrete cosine transformed signal to produce a product signal; wherein said transform carrying out means comprises:
a first processing device which receives said input signal and outputs a processed signal;
internal transform carrying out means connected to said first processing device for carrying out an inverse fast Fourier transform on said processed signal and for outputting as a result of said inverse fast Fourier transform an internal signal; and
a second processing device connected to said internal transform carrying out means to receive said internal signal and output as a result of processing said internal signal said inverse modified discrete cosine transformed signal.
8. An apparatus as recited in
9. An apparatus as recited in
10. An apparatus as recited in
said first processing device includes a particular processing means for processing said 2kth apparatus input datum into a kth particular datum, where k is variable between 0 and N/2−1, both inclusive and a specific processing means for processing said (2k+1)th apparatus input datum into a (N−1−k)th specific datum; and
a calculating means connected to said particular and said specific processing means for calculating said processed signal by using a predetermined signal and each of said kth particular and said (N−1−k)th specific data.
11. An apparatus as recited in
12. An apparatus as recited in
a multiplier connected to said internal transform carrying out means, said multiplier multiplying said pth internal datum and exp(2πj(p+½)/2N) resulting in a local product to make said inverse transformed signal represent said local product, j representing 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;
a particular processing means connected to said multiplier for processing said zeroth through said (N/4−1)th product data into a first succession of (3/N4−1) (
)th through (N/2)th particular data in a descending order and a second succession of (3N/4)th through Nth particular data in an ascending order, said particular data of said first and said second successions having a first polarity in common; and 3N/4−1 a specific processing means connected to said multiplier for processing 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, the specific data of said first and said second successions having a second polarity in common, said second polarity being different from said first polarity.
13. The apparatus of
14. The apparatus of
512.15. The apparatus of
^{2 } multiplications. 16. The apparatus of
N−) 1 additions. 17. The apparatus of
18. The apparatus of
19. The apparatus of
20. The apparatus of
512.21. The apparatus of
^{2 } multiplications to carry out said inverse discrete cosine transform. 22. The apparatus of
N−) 1 additions to carry out said inverse discrete cosine transform. 23. The apparatus of
24. The apparatus of
25. An apparatus for carrying out an inverse transform comprising:
an input signal y(m,k); transform carrying out means for carrying out a linear inverse transform xt(m,n) on said input signal y(m,k) and for outputting an inverse transformed signal representative of a result of said linear inverse transform, said linear inverse transform being defined by: where m represents a block number, n represents a sample number, N represents a block length and k is an integer between 0 and N−1; a multiplier connected to said transform carrying out means, said multiplier multiplying a predetermined inverse transform window function and said inverse transformed signal to produce a product signal; wherein said transform carrying out means comprises: a first processing device which receives said input signal y(m,k) and outputs a processed signal, said processed signal comprising a product signal formed by multiplying said input signal y(m,k) by a predetermined factor; internal transform carrying out means connected to said first processing device for carrying out an inverse fast Fourier transform on said processed signal and for outputting as a result of said inverse fast Fourier transform an internal signal; and a second processing device connected to said internal transform carrying out means to receive said internal signal and output as a result of processing said internal signal said inverse transformed signal. 26. The apparatus of
512.27. The apparatus of
^{2 } multiplications. 28. The apparatus of
N−) 1 additions. 29. An apparatus for carrying out an inverse transform comprising:
a transformed discrete audio input signal having a block size (N) of 512; transform carrying out means for carrying out a linear inverse transform on said input signal by calculating fewer than N ^{2 } multiplications and fewer than N(N−) 1 additions, and for outputting an inverse transformed signal representative of a result of said linear inverse transform; a first processing device which receives said input signal and outputs a processed signal; 30. An apparatus for carrying out a forward transform comprising:
an input signal x(n); a multiplier for multiplying a predetermined forward transform window function and said input signal x(n) to produce a product signal to produce a product signal xh(n); transform carrying out means connected to said multiplier for carrying out a linear forward transform on said product signal xh(n) and for outputting a forward transformed signal y(m,k) representative of a result of said forward transform, said linear forward transform being defined by; 0 and N−1; wherein said transform carrying out means comprises: a first processing device which receives said product signal xh(n) and outputs a processed signal, said processed signal comprising a product signal formed by multiplying said product signal xh(n) by a predetermined factor; internal transform carrying out means connected to said first processing device for carrying out a forward fast Fourier transform on said processed signal and for outputting as a result of said forward fast Fourier transform an internal signal; and a second processing device connected to said internal transform carrying out means to receive said internal signal and output as a result of processing said internal signal said forward transformed signal. 31. An apparatus for carrying out a forward transform comprising:
an input signal having a block size (N) of 512; a multiplier for multiplying a predetermined forward transform window function and said input signal to produce a product signal; and transform carrying out means connected to said multiplier for carrying out a linear forward transform on said product signal by calculating fewer than N ^{2 } multiplications and fewer than N(N−) 1 additions, and for outputting a forward transformed signal representative of a result of said linear forward transform; wherein said transform carrying out means comprises: a first processing device which receives said product signal and outputs a processed signal; 32. An apparatus for carrying out a forward modified discrete cosine transform comprising:
an input signal; a multiplier, said multiplier multiplying a predetermined forward transform window function and said input signal and outputting as a result a product signal; and transform carrying out means connected to said multiplier for carrying out a linear forward modified discrete cosine transform on said product signal and for outputting a forward modified discrete cosine transformed signal representative of said linear forward modified discrete cosine transform, wherein said transform carrying out means comprises: a first processing device connected to receive said product signal having N samples, N being an integer, from said multiplier, said first processing device outputting a processed signal having M samples, M being an integer different from N; means connected to said first processing device for receiving said processed signal and for carrying out a forward fast Fourier transform on said processed signal, and for outputting an internal signal representative of said forward fast Fourier transform; and a second processing device connected to receive said internal signal from said means for carrying out a forward fast Fourier transform, said second processing device processing said internal signal and outputting as a result said forward modified discrete cosine transformed signal. 33. The apparatus as claimed in
34. The apparatus as claimed in
2.35. An apparatus for carrying out an inverse modified discrete cosine transform comprising:
an input signal having M samples, M being an integer; transform carrying out means carrying out a linear inverse modified discrete cosine transform on said input signal and for outputting an inverse modified discrete cosine transformed signal having M samples representative of said linear inverse modified discrete cosine transform; and a multiplier connected to said transform carrying out means, said multiplier multiplying a predetermined inverse transform window function and said linear inverse modified discrete cosine transformed signal to produce a product signal having N samples, N being an integer different from M, wherein said transform carrying out means comprises: a first processing device which receives said input signal, said first processing device outputting a processed signal; internal transform carrying out means connected to said first processing device for carrying out an inverse fast Fourier transform on said processed signal as a result of processing said inverse fast Fourier transform an internal signal; and a second processing device connected to said internal transform carrying out means to receive said internal signal and output as a result of processing said inverse modified discrete cosine transformed signal. 36. The apparatus as claimed in
37. The apparatus as claimed in
2.38. An apparatus for carrying out a forward transform comprising:
an input signal x(n); a multiplier for multiplying a predetermined forward transform window function and said input signal x(n) to produce a product signal xh(n); and transform carrying out means connected to said multiplier for carrying out a linear forward transform on said product signal xh(n) and for outputting a forward transformed signal y(m,k) representative of a result of said forward transform, said linear forward transform being defined by; 0 and N−1; wherein said transform carrying out means comprises: a first processing device which receives said product signal xh(n) having N samples and outputs a processed signal having M samples, M being an integer different from N, said processed signal comprising a product signal formed by multiplying said product signal xh(n) by a predetermined factor; 39. The apparatus as claimed in
40. The apparatus as claimed in
2.41. An apparatus for carrying out an inverse transform comprising:
an input signal y(m,k) having M samples, M being an integer; transform carrying out means for carrying out a linear inverse transform on said input signal y(m,k) and for outputting an inverse transformed signal xt(m,n) representative of a result of said linear inverse transform, said linear inverse transform being defined by: 0 and N−1; a multiplier connected to said transform carrying out means, said multiplier multiplying a predetermined inverse transform window function and said inverse transformed signal xt(m,n) to produce a product signal having N samples, N being an integer different from M; wherein said transform carrying out means comprises: a first processing device which receives said input signal y(m,k) and outputs a processed signal, said processed signal comprising a product signal formed by multiplying said input signal y(m,k) by a predetermined factor; 42. The apparatus as claimed in
43. The apparatus as claimed in
2.44. An apparatus for carrying out an inverse transform comprising:
an input signal y(m,k) having M samples, M being an integer; transform carrying out means for carrying out a linear inverse transform on said input signal y(m,k) and for outputting an inverse transformed signal xt(m,n) representative of a result of said linear inverse transform, said linear inverse transform xt(m,n) being determined using the sum: where m represents a block number, n represents a sample number, N represents a block length and k is an integer between 0 and M−1; a multiplier connected to said transform carrying out means, said multiplier multiplying a predetermined inverse transform window function and said inverse transformed signal xt(m,n) to produce a product signal having N samples, N being an integer different from M; wherein said transform carrying out means comprises: a first processing device which receives said input signal y(m,k) and outputs a processed signal, said processed signal comprising a product signal formed by multiplying said input signal y(m,k) by a predetermined factor; 45. The apparatus as claimed in
46. The apparatus as claimed in
2.Description 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. In the MDCT technique, a forward transform equation and an inverse transform equation are given:
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 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 Other object of this invention will become clear as the description proceeds. According to an aspect of this invention, there is provided an apparatus for carrying out a forward transform calculation on an apparatus input signal. The apparatus includes multiplying means for multiplying a predetermined forward transform window function and the apparatus input signal to produce a multiplied signal and transform carrying out means for carrying out a linear forward transform on the product signal to produce a forward signal representative of a result of the linear forward transform. The transform carrying out means comprises first processing means connected to the multiplying means for processing the product signal into a processed signal, internal transform carrying out means connected to the first processing means for carrying out a forward fast Fourier transform on the processed signal to produce an internal signal representative of a result of the forward fast Fourier transform, and second processing means connected to the internal transform carrying out means for processing the internal signal into the forward transformed signal. According to another aspect of this invention, there is provided an apparatus for carrying out an inverse transform calculation on an apparatus input signal. The apparatus includes transform carrying out means for carrying out a linear inverse transform on the apparatus input signal to produce an inverse signal representative of a result of the linear inverse transform and multiplying means for multiplying a predetermined inverse transform window function and the inverse signal to produce a product signal. The transform carrying out means comprises first processing means for processing the apparatus input signal into a processed signal, internal transform carrying out means connected to the first processing means for carrying out an inverse fast Fourier transform on the processed signal to produce an internal signal representative of a result of the inverse fast Fourier transform, and second processing means connected to the internal transform carrying out means for processing the internal signal into the inverse transformed signal. Referring to The forward transform unit The inverse transform unit The product signal is supplied to the output buffer part As will be understood from the following equation, the output buffer part 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:
When n is shifted by (−N), the cosine has an argument shifted by 2π(k+½), 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:
where j represents an imaginary unit. It will be assumed that:
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).
The multiplications are required N times before execution of the FFT, at most Nlog 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:
Equation (19) represents the inverse FFT for the signal y2(m, k). Substituting Equations (18) and (19) in Equation (17):
The multiplication is carried out the number of times which is substantially equal to Nlog 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:
Herein, the product signal is processed into the particular and the specific data x2(p) which are represented as follows:
In Equation (23), the cosine has a nature such that:
When (N−1−p) is substituted for p, the cosine has an absolute value unchanged and a sign inverted between positive and negative. When p separated into an even and an odd number, Equation (23) is rewritten into:
It is assumed that:
In this event:
It is assumed that:
In this event:
Herein, Equation (14) 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).
The multiplication is carried out the number of times which is substantially equal to (N/2) log 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:
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:
In this event:
Herein, y2(m, k) is represented as follows:
Using Equation (32), Equation (37b) is represented as follows:
Equation (35) is rewritten into:
Equation (40) represents an inverse FFT for y3(m, k). Substituting Equations (39) and (40) into Equation (38):
In order to convert xt2(m, n) to xt(m, n), it is assumed from Equations (20), (24), and (32) that:
The multiplication is carried out the number of times which is substantially equal to (N/2) log Referring to The forward transform unit Referring to The second stage SA The third stage SA Returning to The second forward processing part Continuing reference to The first inverse processing part The first inverse processing part The inverse FFT part The second inverse processing part The second inverse processing part Referring to The first forward processing part Referring to The second stage SB The third stage SB The fourth stage SB The fifth stage SB Returning to The second forward processing part Referring to The second stage SC The third stage SC In Referring to The first stage SD The second stage SD The third stage SD 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. Patent Citations
Non-Patent Citations
Referenced by
Classifications
Rotate |