This application claims the benefits of the Taiwan Patent Application Serial Number 101100102, filed on Jan. 2, 2012, the subject matter of which is incorporated herein by reference.
1. Field of the Invention
The present invention relates to the technical field of digital signal processing and, more particularly, to a recursive type-IV discrete cosine transform (DCT) system.
2. Description of Related Art
With the development of digital signal processing technologies, various messages and media information can be conveniently obtained in daily living. A variety of modified discrete cosine transforms (MDCTs) and inverse modified discrete cosine transforms (IMDCTs) are widely used in various audio codec standards.
The audio codec standards include MP3, AAC, AC-3, TwinVQ, Ogg, for example. The MDCT and IMDCT operations in an audio codec occupy a very large portion of the entire operational complexity. If the MDCT/IMDCT is implemented with a same approach, sharing the hardware can be achieved on design for reducing the hardware requirement and the MDCT/IMDCT operational complexity.
For a high-efficiency Advanced Audio Coding (HE-AAC) audio codec, it uses high-quality spectral band replication (HQ-SBR) or low-power spectral band replication (LP-SBR) technologies in which complex-domain analysis quadrature mirror filter-banks (complex AQMFs) and synthesis quadrature mirror filter-banks (complex SQMFs) can be derived as the DCT of type III (DCT-III) and DCT-II kernel methods. Therefore, for implementing an aspect of AQMF and SQMF co-architecture in design, in addition to the MDCT and IMDCT computation, the operation of DCT-IV/DCT-III/DCT-II supports is accounted an essential key in hardware design.
However, the typical recursive architecture for IMDCT implementations has the disadvantages of having numerous operational periods and the overtime computation and being difficult to implement a co-architecture design for different operations such as the MDCT, AQMF at a decoder and the SQMF at an encoder. When the typical recursive architecture requires increasing the bit rate, only the hardware or the timing can be increased. However, the increased hardware indicates to increase the cost, and the increased timing indicates the high power consumption. In addition, for concurrently having the MDCT, AQMF, SQMF operational capabilities, it needs to design different hardware architectures for the operations, which also indicates the additional cost for hardware design.
Although the recursive discrete Fourier transforms (RDFTs) have developed for many years and thus advanced, it is still required for further reducing the operational complexity and hardware cost and increasing the data computational performance.
Therefore, it is desirable to provide an improved RDFT system to mitigate and/or obviate the aforementioned problems.
The object of the present invention is to provide a recursive type-IV discrete cosine transform system, which has a low operational complexity, a low amount of used multiplication coefficients, and a high performance data computation.
According to a feature of the present invention, a recursive type-IV discrete cosine transform system is provided, which includes a first permutation device, a recursive type-III discrete cosine/sine transform device, a cosine/sine factor generation device, a recursive type-II discrete cosine/sine transform device, and a second permutation device. The first permutation device receives N digital input signals and performs a two-dimensional order permutation operation on the N digital signals for generating N two-dimensional first temporal signals, where N is a positive integer. The recursive type-III discrete cosine/sine transform device is an m-point recursive type-III discrete cosine/sine transform device connected to the first permutation device in order to receive the N first temporal signals and repeat a type-III discrete cosine/sine transform c times on the N first temporal signals for generating c second temporal signals each with m points, where N=m×c, and m, c are a positive integer. The cosine/sine factor generation device is connected to the recursive type-III discrete cosine/sine transform device in order to sequentially perform cosine/sine factor multiplication and corresponding addition operations on the m-point second temporal signals for generating c third temporal signals with m points. The recursive type-II discrete cosine/sine transform device is a c-point recursive type-II discrete cosine/sine transform device connected to the cosine/sine factor generation device in order to receive the third temporal signals and repeat a type-II discrete cosine/sine transform in times for generating m fourth temporal signals each with c points. The second permutation device is connected to the recursive type-II discrete cosine/sine transform device in order to receive the fourth temporal signals and perform a one-dimensional order permutation operation on the fourth temporal signals for generating N one-dimensional output signals, wherein the N one-dimensional output signals are obtained by performing a type-IV discrete cosine transform on the N digital input signals.
According to another feature of the present invention, a recursive type-IV discrete cosine transform system is provided, which includes a first permutation device, a modified recursive type-III discrete cosine/sine transform device, a recursive type-II discrete cosine/sine transform device, and a second permutation device. The first permutation device receives N digital input signals and performs a two-dimensional order permutation operation on the N digital signals for generating N two-dimensional first temporal signals, where N is a positive integer. The modified recursive type-III discrete cosine/sine transform device is connected to the first permutation device and has a first and a second operational modes such that in the first operational mode a type-III discrete cosine/sine transform is repeated c times on the N first temporal signals for generating c second temporal signals each with m points, where N=m×c, and m, c are a positive integer. The recursive type-II discrete cosine/sine transform device is connected to the modified recursive type-III discrete cosine/sine transform device and has a first and a second operational modes such that in the first operational mode a third temporal signal is received and a type-II discrete cosine/sine transform is repeated m times on the third temporal signal for generating m fourth temporal signals each with c points. The second permutation device is connected to the recursive type-II discrete cosine/sine transform device in order to receive the fourth temporal signals and perform a one-dimensional order permutation operation on the fourth temporal signals for generating N one-dimensional output signals, wherein the N one-dimensional output signals are obtained by performing a type-IV discrete cosine transform on the N digital input signals.
Other objects, advantages, and novel features of the invention will become more apparent from the following detailed description when taken in conjunction with the accompanying drawings.
The first permutation device 110 receives N digital input signals and performs a two-dimensional order permutation operation on the N digital signals for generating N two-dimensional first temporal signals, where N is a positive integer.
The recursive type-III discrete cosine/sine transform device 120, which is an m-point recursive type-III discrete cosine/sine transform device, is connected to the first permutation device 110 in order to receive the N first temporal signals and repeat a type-III discrete cosine/sine transform c times on the N first temporal signals for generating c second temporal signals each with m points, where N===m×c, and m, c are each a positive integer.
The cosine/sine factor generation device 130 is connected to the recursive type-III discrete cosine/sine transform device 120 in order to sequentially perform cosine/sine factor multiplication and corresponding addition operations on the m-point second temporal signals for generating c third temporal signals with m points.
The recursive type-II discrete cosine/sine transform device 140, which is a c-point recursive type-II discrete cosine/sine transform device, is connected to the cosine/sine factor generation device 130 in order to receive the third temporal signals and repeat a type-II discrete cosine/sine transform m times for generating m fourth temporal signals each with c points.
The second permutation device 150 is connected to the recursive type-II discrete cosine/sine transform device 140 in order to receive the fourth temporal signals and perform a one-dimensional order permutation operation on the fourth temporal signals for generating N one-dimensional output signals, wherein the N one-dimensional output signals are obtained by performing a type-IV discrete cosine transform (DCT-IV) on the N digital input signals.
For implementing a common architecture or co-architecture of analysis and synthesis filter-banks, the invention uses a DCT-IV kernel method to implement the modified DCT (MDCT) and inverse MDCT (IMDCT).
The MDCT and IMDCT math models are defined respectively in equation (1) and equation (2), where k ranges from zero to (N/2)−1, n ranges from zero to N−1, and M=N/2.
After an order permutation, the above equations are rewritten as equation (3) and equation (4):
From equation (3) and equation (4), it is clearly known that the MDCT and IMDCT operation can be changed into a DCT-IV operation. In case of effectively sharing and reducing the DCT-IV operation, the computational complexity can be relatively reduced for the processes.
As compare with a parallel architecture, a recursive circuit has the advantages of small area, low power consumption, and flexible point number, but it also has the disadvantages of excess operational periods and overtime computation. For audio codec applications, such as long windows of Advanced Audio Coding (AAC; 2048 points), TwinVQ (4096 points), Ogg (up to 8192 points), the real-time computational requirement is difficult to be achieved due to the high point numbers.
Accordingly, the present invention applies a variable transform in a DCT-IV operation to thereby increase the speed of recursive architecture, and in this case an original one-dimensional computation equation is divided into two-dimensional operations to thereby shorten the cycle of a recursive operation.
An M-point DCT-IV math model is defined in equation (7) as follows.
where M=n×k. Assume n=n0+c×n1 and k=m×k0+k1, and plug it in equation (7), so
Upon the trigonometric functions' sum identities, Equation (3) can be expanded as:
Similarly, upon the trigonometric functions' sum identities, Equation (10) can be expended as:
By considering a change of the index k0, the kernel operation in equation (12), equation (13), equation (15), equation (16) is defined as:
If k0 is an odd number,
If k0 is an even number,
From equation (19) and equation (21), it is known that the change of k0 only has two types of A(n0, k1, 1) and A(n0, k1, 0) with respect to A(n0, k1, k0). Similarly, from equation (20) and equation (22), it is known that the change of k0 only has two types of B(n0, k1, 1) and B(n0, k1, 0) with respect to B(n0, k1, k0). Such a feature can relatively reduce the computational amount of Equation (17) and Equation (18).
Let k1=m−1−k1, and plug it in equation (19) to thereby derive the relation between equation (19) and equation (21), so as to have:
Similarly, let k1=m−1−k1, and plug it in Equation (20) to thereby derive the relation between Equation (20) and Equation (22), so
Accordingly, from equation (23) and equation (24), we have:
A(n0,k1,1)=A(n0,m−1−k1,0) (25)
B(n0,k1,1)=−B(n0,m−1−k1,0). (26)
By means of equation (25) and equation (26), the operations of equation (19) and equation (20) can be simplified.
By plugging the results in equation (12), equation (13), equation (15), equation (16), we have:
we have:
By summarizing the derivations, it is seen that the input signals pass through the DCT-II process of equation (21) and the DCT-III process of equation (22), then are multiplied by the respective cosine and sine factors in equation (32) and equation (34), and finally pass through the DCT-II process of equation (31) and the DCT-II process of equation (33). Thus, the faster DCT-IV operation is obtained.
Let n−0˜M−1, k=0˜M−1, M=m×c, n0−0˜c−1, k0=0˜c−1, n1=0˜m−1, and k1=U˜m−1, the complete M-point DCT-IV method can be written into the steps as follows.
1. The input signals are based on n=n0+c×n1 to be arranged as a two-dimensional order permutation.
2. The arranged data (the permutation) is input to an m-point DCT-III/DST-III hardware.
3. The resultant transformed by the m-point DCT-III/DST-II hardware is operated with the cosine and sine factors.
4. The resultant after the operation is input to a c-point DCT-III/DST-III hardware.
5. The results transformed by the c-point DCT-III and DST-III hardware are subtracted and permuted based on k=m×k0+k1.
Steps (1) and (5), which are regarded as pre- and post-processing, essentially perform the permutation, addition, and subtraction operations, and steps (2)-(4) are the operations of the kernel hardware architecture. The steps above are shown in
As cited above, the invention divides the M-point DCT-IV operation into an m-point DCT-III/DST-III operation and a c-point DCT-II/DST-II operation. In viewing
At first, the input data of the sequence is arranged into a two-dimensional order permutation based on n=n0+c×n1, as shown in
The duration required for a pipeline depends on which stage of circuit requires the highest time in operation. In practice, the operating speed of the first stage has to be smaller than or equal to that of the second stage, i.e., m≧c. In addition, when m=c, the pipeline can achieve the optimal efficiency.
With the pipelined scheme, the number of cycles is improved by c times as compared with the conventional method. However, a certain number of registers are relatively increased for an exchange. Since the data transfer between the stages requires the registers for storing, the number of registers required for the architecture is determined by c. Namely, the number of registers is increased with increasing the multiple of speeding.
Upon
Equation (35) and Equation (36) are defined as m-point DCT-III and DST-III math models respectively. For input signals y[n1] and z[n] and output signals YDCT-III[k1] and ZDCT-III[k1], n1=0˜m−1, k1=0˜m−1,
For different applications, the m-point number can be odd or even, which is separately discussed as follows.
(A) m is an Odd Number
If m is an odd number, Equation (35) is rewritten as Equation (37), Equation (38), and Equation (39):
From equation (37), equation (38), and equation (39), it is known that the data throughput per transformation (DTPT) in equation (35) is doubled, so that only m×(m−1)/2 cycles are required for completing the m-point DCT-III computation, but the operation in equation (39) requires using additional adders and registers, as shown in
Similarly, equation (36) can be rewritten as equation (40), equation (41), and equation (42).
From equation (40), equation (41), and equation (42), it is known that the DTPT in equation (36) is doubled, so only m×(m−1)/2 cycles are required for completing the m-point DCT-III computation, but the operation in equation (42) requires using additional adders and registers, as shown in
Next, for allowing DST-III and DCT-III to share the cosine coefficients, Equation (43) is derived from Equation (40), and Equation (44) is derived from Equation (41).
From Equation (43) and Equation (44), it is known that the cosine coefficients for DCT-II can be shared by simply ordering the input signals for DST-III and adjusting the positive and negative signs to thereby produce the operational result for DST-III and save the hardware cost.
(B) m is an Even Number:
If m is an even number, equation (35) can be rewritten as equation (45) and equation (46):
From equation (45) and equation (46), it is known that the DTPT in equation (35) is doubled, so only m2/2 cycles are required for completing the m-point DST-III computation.
Similarly, equation (36) can be rewritten as equation (47) and equation (48):
Next, for allowing DST-III and DCT-III to share the cosine coefficients, equation (49) is derived from equation (47), and equation (50) is derived from equation (48):
From equation (49) and equation (50), it is known that the cosine coefficients for DCT-III can be shared by simply ordering the input signals for DST-III and adjusting the positive and negative signs to thereby produce the operational result for DST-III and save the hardware cost.
Finally, upon equation (51) and equation (52), the Chebyshev polynomials are:
cos(n1θk
sin(n1θk
where
Expanding the Chebyshev polynomials, we have:
The initial values, cos((2k1+1)π/2m), 1, cos((2k1+1)(−1)π/2m), respectively for three cosine functions at the right side of the equality in equation (53) in the invention can be obtained by plugging n1=1.
Since cos((2k1+1)(−1)π/2m)=cos((2k1+1)π/2m), the cosine coefficients with a same k1 and different n1 can be generated by the recursive operation in equation (53), with accessing cos((2k1+1)π/2m) and the memory requirement of m words only.
Next, plugging equation (53) in equation (37), equation (38), equation (43), equation (44), equation (45), equation (46), the method with the low operation cycle and DCT-III/DST-III operational capabilities is obtained. In addition, the operations in equation (39) and equation (50) require addition only, which can be implemented by the common adders with other operations. In this case, the hardware architecture is designed as that shown in
In
When m is an odd number, the output signal Output1 corresponds to the result operated in equation (37) or equation (39), the output signal Output2 corresponds to the result operated in equation (38), the output signal Output3 corresponds to the result operated in equation (44), and the output signal Output4 corresponds to the result operated in equation (43) or equation (42).
When m is an even number, the output signal Output1 corresponds to the result operated in equation (45), the output signal Output2 corresponds to the result operated in equation (46), the output signal Output3 corresponds to the result operated in equation (48), and the output signal Output4 corresponds to the result operated in equation (47). The parameters corresponding to the output signals in
As cited above, the recursive type-III discrete cosine/sine transform device 120 is implemented by sharing the hardware, and the computational period includes m×(m+1)/2 cycles.
As shown in
Upon
Equation (54) and Equation (55) are defined as m-point DCT-II and DST-II math models respectively. For input signals p[n0] and q[n0] and output signals PDCT-II[k0] and QDCT-II[k0], where n0=0˜c−1, k0=0˜c−1,
For different applications, the c-point number can be odd or even, which is separately discussed as follows.
(A) c is an Odd Number
If c is an odd number, Equation (54) can be rewritten as Equation (56), Equation (57):
From equation (56), equation (57), it is known that the input data p[n0] in equation (54) is operated with equation (58) to produce p(1)[n0], which has a half of data amount than the original, so the computational period required for DCT-II includes (c−1)/2×c cycles only, but the operation in equation (56) requires using additional adders and registers, as shown in
Similarly equation (55) can be rewritten as equation (59), equation (60), and equation (61) as follows:
From equation (59), equation (60), it is known that the input data q[n0] in equation (55) is operated with equation (61) to thereby produce q(1)[n0], which has a half of data amount than the original, so the computational period required for DST-II includes (c−1)/2×c cycles only.
Next, the cosine function is derived from the sine function in the DST-II method, so the cosine coefficients in the DCT-II method can be shared in the hardware implementation as follows.
From equation (62), equation (53), it is known that the cosine coefficients for DCT-II can be shared by simply ordering the output signals and adjusting the positive and negative signs of the input signals for DST-II, to thereby produce the operational result for DST-II and save the hardware cost.
(B) c is an Even Number
If c is an even number, equation (54) can be rewritten as equation (64), equation (65) as follows.
From Equation (64), Equation (65), it is known that the input data p[n0] in Equation (54) is operated with Equation (58) to produce p(1)[n], which has a half of data amount than the original, so the computational period required for DCT-II includes c/2×(c−1) cycles only, but the operation in Equation (56) requires using additional adders and registers, as shown in
Similarly, Equation (55) can be rewritten as Equation (66), Equation (67) as follows:
Next, the cosine function can be derived from the sine function in the DST-II method, so the cosine coefficients in the DCT-II method can be shared in the hardware implementation as follows:
From equation (66), it is known that the cosine coefficients for DCT-II can be shared by simply ordering the output signals and adjusting the positive and negative signs of the input signals for DST-II to thereby produce the operational result for DST-II and save the hardware cost.
Finally, upon the Chebyshev polynomials, the following equations can be obtained:
The initial values, cos(k0π/c), cos(k0π/2c), cos(k0(−1)π/2c) respectively for three cosine functions at the right side of the equality in Equation (69) in the invention can be obtained by plugging n0=1. Since cos(kn(−1)π/2c)=cos(k0π2c), the cosine coefficients with a same k1 and different n1 can be generated by the recursive operation in Equation (69), with accessing cos(k0π/c) and cos(k0π/2c), and the memory requirement of 2c words only.
Plugging equation (69) in equation (57), equation (62), equation (65), equation (68), the method with the low operation cycle and DCT-III/DST-III operational capabilities is obtained. In this case, the derived method requires a hardware architecture designed as that shown in
In
When c is an even number, the output signals Output1 and Output2 correspond to the result operated in equation (64) and equation (65), the output signals Output3 and Output4 correspond to the result operated in equation (68). The parameters corresponding to the output signals in
indicates data missing or illegible when filed
As cited above and shown in
As cited above, an M-point DCT-V operation in the invention is divided into an m-point DCT-III/DST-III operation and a c-point DCT-II/DST-II operation. Namely, the input signals pass through the first stage of DCT-III/DST-III and sequentially the second stage of DCT-II/DST-II. However, the operation in the immediate stage of cosine and sine factors is required before the signals input to the second stage. The hardware architectures respectively for the first and the second stages are aforementioned, and the operation in the immediate stage of cosine and sine factors and corresponding hardware design are described in detail as follows.
The first permutation device 1310 receives N digital input signals and performs a two-dimensional order permutation operation on the N digital signals for generating N two-dimensional first temporal signals, where N is a positive integer.
The modified recursive type-III discrete cosine/sine transform device 1320 is connected to the first permutation device 1310 and has a first and a second operational modes such that in the first operational mode a type-II discrete cosine/sine transform is repeated c times on the N first temporal signals for generating c second temporal signals each with m points, where N=m×c, and m, c are a positive integer.
The recursive type-II discrete cosine/sine transform device 1330 is connected to the modified recursive type-III discrete cosine/sine transform device 1320 and has a first and a second operational modes such that in the first operational mode a third temporal signal is received and a type-II discrete cosine/sine transform is repeated m times on the third temporal signal for generating m fourth temporal signals each with c points.
The second permutation device 1340 is connected to the recursive type-II discrete cosine/sine transform device 1330 in order to receive the fourth temporal signals and perform a one-dimensional order permutation operation on the fourth temporal signals for generating N one-dimensional output signals, wherein the N one-dimensional output signals are obtained by performing a type-IV discrete cosine transform on the N digital input signals.
From equation (32) and equation (34), it is known that the result of the first stage of DCT-II and DST-III operations is multiplied by the cosine and sine factors defined as follows:
Cosine Factor:
Sine Factor:
From equation (70) and equation (71), it is seen that, with n0=0˜c 1, k1=0˜m−1, and M=m×c, the M-point DCT-IV requires M cosine factors and M sine factors, i.e., the memory capacity of 2M words is required for accessing the cosine and sine factors. To reduce a size of memory, the cosine and sine factor generation device, i.e., a cosine and sine coefficient generator, is designed in the invention.
First, since the first stage of hardware architecture generates two DCT-II and two DST-III operational results every in cycles, as shown in Table 5.3.1. Thus, the results (data) are multiplied by the corresponding cosine and sine factors defined in equation (72), such that the immediate stage of operations is complete as the four factors are concurrently generated.
It is known in
For a more clear derivation, some parameters in the invention are defined as:
Upon the trigonometric functions' sum identities:
equation (72) can be derived to the recursion as follows:
From the recursion above, it is easy to discover that the initial values cos(θf), sin(θf), cos(θb), sin(θb) and cos(2θf), sin(2θf), cos(2θb), sin(2θb) are required for completing the operation. The number of initial values can influence the ROM size, i.e., the more the number of initial values is, the more the number of words required for ROM. For reducing the number of initial values, the recursion is derived as follows:
where only the initial values cos(θf), sin(θf), cos(θb), sin(θb) are used to generate a same k1 and different no for the cosine and sine factors since cos(2θf), sin(2θf), cos(2θb), sin(2θb) can be calculated in equation (74). Therefore, the recursive relations are:
The hardware architecture can be implemented with reference to
Table 5.5.1 indicates the hardware estimation of cosine and sine factor generation device. It is known from Table 5.5.1 that the ROM size can be reduced from 2M to 2m, i.e., 1/c than the original, which is relatively improved in memory requirement, but the price is eight additional multipliers and four additional adders. To overcome this, the inventive architecture is further improved.
Cosine and sine factors' multiplication operation and data folding process:
Upon equation (32) and equation (34), the results of a DCT-III and DST-III operation are multiplied by the cosine and sine factors, and the results after the multiplication take an addition or subtraction operation to one another. Next, it is known from equation (58) and equation (63) that the data is folded to reduce the data amount to a half and input to the second stage of DST-II/DST-II operations. The cited above is the immediate stage of operations and generally divided into three steps as follows:
1. The input signals are multiplied by the cosine and sine factors respectively.
2. The signals multiplied by the cosine factor and by the sine factor are added or subtracted to one another.
3. The results after the operation in step (2) are folded.
The data after completing the immediate stage is stored in the registers. Since the folding operation reduces the data amount to a half, only [c/2] records of data are required in access. In addition, the immediate stage of operations can update the data of the registers, and the second stage of operations needs to repeatedly provide the immediate values c time to the registers, so that the data of the registers cannot be updated continuously. In this case, the number of registers is additionally doubled. Accordingly, c registers are required for the results of a folding operation. As to the hardware action of the folding operation, an example of c as even numbers is described as follows: generating c−1 data in step 2 and sequentially storing the 0-th to (c/2−1)-th records of data directly in the registers, as shown in
Next, plugging equation (12) and equation (14) in equation (58) and equation (63), the relation can be obtained as follows.
T
c′(n0,k1,0)=Tc(n0,k1,0)+Tc(c−n0−1,k1,0),
T
c′(n0,m−k1−1,0)=Tc(n0,m−k1−1,0)+Tc(c−n0−1,m−k1−1,0),
T
c′(n0,k1,1)=Tc(n0,k1,1)+Tc(c−n0−1,k1,1),
T
c′(n0,m−k1−1,1)=Tc(n0,m−k1−1,1)+Tc(c−n0−1,m−k1−1,1),
T
s′(n0,k1,0)=Ts(n0,k1,0)+Ts(c−n0−1,k1,0),
T
s′(n0,m−k1−1,0)=Ts(n0,m−k1−1,0)+Ts(c−n0−1,m−k1−1,0),
T
s′(n0,k1,1)=Ts(n0,k1,1)+Ts(c−n0−1,k1,1),
T
s′(n0,m−k1−1,1)=Ts(n0,m−k1−1,1)+Ts(c−n0−1,m−k1−1,1), (75)
where
With reference to the relation above, 8c registers are totally required, and the corresponding hardware architectures are shown in
Table 5.5.2 indicates the cosine and sine factors' multiplication operation and data folding process. It is known from Table 5.5.3 that the hardware cost for the immediate stage of operations is relatively high. To overcome this, the architecture is further improved.
As cited, it is discovered that the hardware cost for the immediate stage of operations is relatively high, which requires 24 multipliers and 20 adders in total. It is also easy to see in Table 5.5.3 that the multipliers of the immediate stage occupy 75% of the entire architecture while the adders occupy 67%, such that a total of 32 multipliers and 30 adders are required for the entire architecture, which is not expected in the invention because, though the operational speed or bit rate of the recursive architecture is relatively increased, the price is the huge hardware resources. Thus, reducing the hardware is further required for reducing the negative effect of the method.
First, the feature of the immediate-stage operations is first observed, where the input data is the results obtained from the first-stage operations, i.e., the immediate stage is operated only when the first stage generates the output data. As cited above, the first stage generates the output data every m cycles, such that the immediate stage is operated every m cycles. Upon the feature, the proposed solution uses the first and second stages of hardware to support the immediate-stage operations, and in this case the first and second stages of circuits are halted to increase more operational time. Namely, after the first stage generates the output data every m cycles, the first and second stages of circuits are halted. The hardware action on halting is described as follows:
1. The first halt cycle uses 3 multipliers, one adder in the first stage, and five multipliers, three adders in the second stage to thereby complete the operations of the aforementioned cosine and sine factor generation device.
2. The second halt cycle uses four multipliers, five adders in the first stage, and four multipliers, three adders in the second stage to thereby complete the operations of Tc′(n0,k1,0), Tc′(n0,k1,1), Ts′(n0,k1,0) Ts′(n0,k1,1) in
3. The third halt cycle uses four multipliers, five adders in the first stage and four multipliers, three adders in the second stage to thereby complete the operations of Tc′(n0,m−k1−1,0), Tc′(n0,m−k1−1,1), Ts′(n0,m−k1−1,0), Ts′(n0,m−k1−1,1) in
The concept of the common hardware is to provide different input signals in hardware at different time points, and thus additional multiplexers are used to control the select lines of the added multiplexers to thereby select the different input data. Therefore, the purpose of sharing the hardware is achieved. It is known in Table 5.5.5 that a number of transistors of a multiplexer (MUX) are far fewer than that of an adder and of a multiplier, so the effectiveness is very high while the multiplexers are used to reduce a number of used multipliers and adders,
In addition, the more the hardware is shared, the more the number of added multiplexers, but different hardware may have a same input signal corresponding to a same multiplexer, i.e., the different hardware may come from the same multiplexer. Such a multiplexer with the cited feature is shown in
As shown in
As shown in
As shown in
As shown in
indicates data missing or illegible when filed
Hardware Action and Cycle Number Estimation:
For implementing the proposed method in the invention, it is known as cited that the input data is pre-processed and sequentially input to the first stage of hardware architecture to operate. The first-stage hardware performs m-point DCT-III/DST-III operations and, upon the improved method and architecture, every m cycles can generate two records of data in transformation. The data generated in every m cycles passes through c cycles in the first stage to produce two sets of c-point data, and accordingly M-point outputs are generated for completing all data operations in the first-stage architecture. In this case, referring again to
m×c×[m/2]. (76)
As cited, it is known that the c-point DCT-II/DST-II operations are performed by the second-stage hardware and, upon the improved method and architecture, every [c/2]cycles can generate two records of data in transformation. Accordingly, M-point outputs are generated for completing all data operations in the second-stage architecture. In this case, referring again to
[c/2]×c×[m/2]. (77)
The invention uses a pipelined architecture to implement the required hardware in which the first stage generates the c-point data. The c-point data is operated with the immediate-stage cosine/sine factors to thereby introduce the data into the second stage. By pipelining, the first stage and the second stage of circuits can be concurrently operated as shown in
In the invention, the cosine and sine factor accesses require an overlarge memory, so that the circuits used for the factor generation device relatively reduce the ROM size and additionally increase the multipliers and adders. In addition, since the immediate-stage operations also require a lot of hardware, the first stage and the second stage are re-designed to share the hardware to thereby reduce the number of adders and multipliers, as shown in Table 5.5.6. However, the operational period is slightly increased due to the common hardware, as shown in Table 5.6.2.
First, the processing speed of the first stage in the pipelined hardware architecture cannot be greater than that of the second stage, otherwise the following stages cannot process the data output by the previous stage in real-time so as not to operate the entire architecture smoothly. For optimally operating the pipelined architecture, the first stage and the second stage needs to have a same operational period, and the number of points to be divided, i.e., m and c, can influence the operational period of the first stage and of the second stage. Next, it is known from Equation (76) and Equation (77) that the second-stage operational period is half the first-stage operational period. For an example of m, c as an even, when the first stage and second stage have a same operational period, the equality is derived from Equation (76) and Equation (77) as follows.
Equation (78) indicates that such an architecture has the highest performance when the number of points in the second stage is double that in the first stage. Thus, the number of points in this architecture is distributed to the second stage greater than the first stage as far as possible, but in cannot be small than c/2 to avoid that the second-stage operational period is greater than the first-stage operational period.
The proposed method and architecture is described. For an example of m, c as an even, as compared with N2/2 cycles required for the typical recursive architecture, it is known in Table 5.6.2 that the number of cycles required for the inventive design is:
As cited, the kernel hardware for the recursive type-III discrete cosine/sine transform device 120 and the recursive type-II discrete cosine/sine transform device 140 in the invention can support the DCT-IV/DCT-II/DCTIII/DST-II/DST-III operations concurrently and merge the pre- and post-processing operations for the first permutation device 110 and the second permutation device 150 to implement the IMDCT/MDCT/AQMF/SQMF operations to thereby gain the co-architecture design of analysis and synthesis filter-banks. Therefore, the operational period is relatively improved, as compared other recursive algorithms.
Although the present invention has been explained in relation to its preferred embodiment, it is to be understood that many other possible modifications and variations can be made without departing from the spirit and scope of the invention as hereinafter claimed.
Number | Date | Country | Kind |
---|---|---|---|
101100102 | Jan 2012 | TW | national |