BACKGROUND OF THE INVENTION
The present invention relates to an audio encoder and decoder, and more particularly, to an audio encoder and decoder adopting high-speed analysis and synthesis filtering algorithms, respectively, in which the number of multiplications required for operations in a standardized filter is reduced utilizing characteristics of a window coefficient.
An international audio coding standard, i.e., IS 11172-3 proposed in the Moving Picture Experts Group (MPEG), provides a high-quality audio playback signal for use in, for example, a compact disk (CD), at 128 Kbps per audio channel. This international standard can be used to store an audio signal in a digital storage medium such as a CD, a digital audio tape (DAT), or a hard disk, and may reconstruct an audio signal by connecting the storage medium to a decoder directly or through other means such as a communication line. Further, a bit stream encoded by an encoder may be directly reconstructed to an audio signal in a decoder through a communication line.
In practically implementing such encoder and decoder in a system, analysis and synthesis filtering algorithms perform the most computations in the whole system. In particular, in an audio decoder, most of the time is consumed in a band synthesis filtering algorithm. Hence, the issue of how to efficiently realize the analysis and synthesis filtering algorithms is closely related to efficiently implementing the audio encoder and decoder.
That is, realization of the audio encoder and decoder in exclusive-use hardware by efficient implementation of the analysis and synthesis filtering algorithms reduces time required for encoding and decoding. Thus, the encoder and decoder may be realized using a slower and cheaper processor available. Further, due to increasing use of multimedia devices along with development of computers, communications, and broadcasting, there is an increase in the need for reconstructing an audio signal by decoding an encoded bit stream using software, rather than exclusive-use hardware. Though improvement of the performance of the multimedia devices increases the probability of real-time processing in a general-purpose processor of high performance, a fast algorithm enables operations of real-time processing software in more general-purpose processors.
However, the algorithm disclosed in the MPEG audio standard coding, i.e., IS 11172-3, simply uses operational equations related to analysis and synthesis filtering algorithm without simplification, thus consuming much time for analysis and synthesis filtering algorithms. To overcome this problem, algorithms relying on high-speed discrete cosine transform (DCT) have been suggested.
Such algorithms perform the same operations as those of the filtering algorithm for the MPEG audio standard coding, i.e., IS 11172-3, whereas mapping cosine values can be performed by a fast DCT algorithm. Most operations were implemented for mapping cosine values in IS 11172-3, while time for mapping cosine values is drastically reduced by using the high-speed DCT in the proposed algorithms. As a result, window-related operations including windowing an input signal and adding polyphase components are increased. However, no decrease in the window-related operations leads to no more decrease in operations.
However, symmetry of MPEG window coefficients can contribute to reduction of window-related operations and storage memory requirements.
SUMMARY OF THE INVENTION
To circumvent the above problems, an object of the present invention is to provide audio encoder and decoder adopting high-speed analysis and synthesis filtering algorithms, respectively, for simplifying filter-definition equations to utilize symmetry of MPEG window coefficients, improving the simplified definition equations to be used in a high-speed DCT algorithm, and thus reducing window-related operations.
To achieve the above object, there is provided an audio encoder adopting a high-speed analysis filter/audio decoder adopting a high-speed synthesis filtering algorithm, wherein the audio encoder comprising: a mapping unit for classifying a received audio signal according to a frequency band by using the high-speed band analysis filter; a psychoacoustic model for assigning bits to each frequency band by using psychoacoustic characteristics; a quantizing and encoding unit for quantizing and encoding the mapped signal according to the number of bits assigned to each frequency band; and a frame packing unit for generating a bit stream from a signal output from the quantizing and encoding unit, and wherein the audio decoder comprising: a frame unpacking unit for unpacking a signal from a coded and received bit stream; a decoding and inverse-quantizing unit for decoding and inverse-quantizing the quantized signal; and an inverse-mapping unit for time/frequency-inverse-mapping the inverse-quantized signal by using the high-speed band synthesis filtering algorithm.
BRIEF DESCRIPTION OF THE DRAWINGS
The above object and advantages of the present invention will become more apparent by describing in detail a preferred embodiment thereof with reference to the attached drawings in which:
FIG. 1 is a block diagram of the basic structure of an MPEG international standardized encoder;
FIG. 2 is a block diagram of the basic structure of an MPEG international standardized decoder;
FIG. 3 is flowchart of an algorithm for an analysis filter used in the MPEG international standardized encoder of FIG. 1;
FIG. 4 is a flowchart of an algorithm I for a high-speed analysis filter according to the present invention;
FIG. 5 is a flowchart of an algorithm II for the high-speed analysis filter according to the present invention;
FIG. 6 is a flowchart of an algorithm for an analysis filter used in the MPEG international standardized decoder of FIG. 2;
FIG. 7 is a flowchart of an algorithm I for a high-speed synthesis filtering algorithm according to the present invention;
FIG. 8 is a flowchart of an algorithm II for the high-speed synthesis filtering algorithm according to the present invention;
FIG. 9 is a block diagram for reducing the number of multiplications in computation of x=ad-bc and y=ac+bd;
FIG. 10 is a flowchart of an algorithm for a high-speed analysis filter by using symmetry in window coefficients according to the present invention;
FIG. 11 is a flowchart of an algorithm for a high-speed synthesis filtering algorithm by using symmetry in window coefficients according to the present invention;
FIGS. 12A to 12B illustrate C2128!, Csum128!, and Dsub128! used in FIG. 10; and
FIGS. 13A to 13C illustrate D2128!, Dsum128!, and Dsub128! used in FIG. 11.
DETAILED DESCRIPTION OF THE INVENTION
FIG. 1 is a block diagram of an audio encoder adopting a high-speed band analysis filter (here, an MPEG audio standard IS 11172-3 encoder) according to the present invention.
The audio encoder of FIG. 1 has a mapper 11 for analysis-windowing and time/frequency mapping an input signal, a psychoacoustic model 12 for assigning bits to each band by using psychoacoustic characteristics, a quantizer/encoder 13 for quantizing and encoding the mapped signal according to the number of bits assigned to a band, and a frame packer 14 for generating a bit stream.
The mapper 11 classifies an input audio bit stream according to a frequency band using an analysis window. Time/frequency mapped samples are called subband samples in layer I or II of MPEG IS, or transformed subband samples in layer III. The classification of the signal according to a band contributes to alleviate distribution of noise caused by quantization across the entire bands, when the signals are reconstructed.
The psychoacoustic model 12 models the procedure of human perception of sound, using especially a masking phenomenon and a critical band among psychoacoustic characteristics. The psychoacoustic model 12 produces a data set for controlling quantization and encoding.
The quantizer/encoder 13 performs quantization and encoding to prevent errors involved in signal reconstruction from being perceived by a human being, using the result of computations in the psychoacoustic model 12.
The frame packer 14 efficiently combines quantized data with information needed for decoding, and produces a bit stream by the Huffman coding method.
FIG. 2 is a block diagram of an audio decoder adopting a high-speed band synthesis filtering algorithm (here, an MPEG audio standard IS 11172-3 decoder) according to the present invention.
The decoder of FIG. 2 has a frame unpacker 21 for unpacking a signal from an input bit stream, a decoder/inverse-quantizer 22 for decoding and inverse-quantizing the quantized signal, and an inverse-mapper 23 for time/frequency inverse-mapping and synthesis-windowing the inverse-quantized signal.
The frame unpacker 21 separates quantized audio data and other additional information to be decoded from an encoded bit stream.
The decoder/inverse-quantizer 22 reconstructs the quantized audio data to the values prior to quantization using the quantization step-size.
The inverse-mapper 23 converts frequency-domain data to time-domain data. The time-domain sample values are synthesis-windowed and converted to the time-domain signal by overlap-and-add (OLA).
Meanwhile, a band dividing filter used in the mapper 11 of FIG. 1 can be defined as ##EQU1## where m is the number of a block, M is the size of a divided band, 2KM is the size of an analysis window, K is a constant proportional to a relationship between the window size and the size of the divided band, X.sub.m k! is an mth signal block obtained by formatting the input signal into blocks, hn! is a coefficient of an analysis window, and X.sub.m k! is a signal of a kth band transformed from the mth block signal.
1-1) International Standard
An algorithm as provided by the international standard is transformed into an algorithm with K of 8 and M of 32 as shown in FIG. 3 by reducing equation (1) to equation (2) using the periodicity of cosine cycle. ##EQU2##
The parameters of equation (2) are defined as follows: ##EQU3##
1-2) Fast Algorithm I
Equations (2) and (6) for the algorithm of the international standard are not fully simplified from equation (1) and have large memory requirements. Therefore, a new algorithm is produced from equation (1) in the present invention.
By the permutation that ##EQU4##
Taking into account equation (7), equation (1) is rewritten as ##EQU5##
If it is assumed that xts!=0 in the case of s<3M/2, or s>(2K+3/2)M, equation (8) is rewritten as ##EQU6##
When equation (9) is divided with l=2r and l=2r+1, equation (9) is rewritten as ##EQU7##
By the permutation that v=(2r+2)M-1-u in the first term of equation (10) and v=(2r+2)M+u in the second term thereof, equation (10) can be rewritten as ##EQU8##
By the permutation p=v+1 and xt(2r+2)M!cos(k+1/2).pi./M!=0 if v=M-1 in the first term of equation (11) and p=v in the second term thereof, equation (11) can be rewritten as ##EQU9##
Here, equation (12) can be rewritten as ##EQU10##
In equation (13), up! is defined as ##EQU11##
Taking into account equation (7), and assuming that X.sub.m n!=0 and hn!=0 when n<0 or n>-2KM, equation (14) is rewritten as ##EQU12##
Equation (15) can be expressed as follows according to the range of p by using a filter coefficient Cn! as defined in equation (5) in the international standard. ##EQU13##
The number M of signal up! is obtained from the number 2KM of input signal x.sub.m n! using equations (14), (15) and (16). By equation (13), the obtained up! is obtained by the size M of the DCT-III algorithm. The DCT-III transform equation of equation (13) can be obtained as a fast algorithm. The obtained algorithm can reduce the number M.sup.2 of multiplications to M/2.times.Log.sub.2 M+1. A fast analysis filtering algorithm as shown in FIG. 4 can be obtained by equations (13) and (16). FIG. 4 is for the case that K=8 and M=32.
1-3) Fast Algorithm II
Here, an algorithm different in structure from the above-described fast algorithm I is induced. This algorithm shows the same operational complexity as that of the fast algorithm I, but more regular constitution, thus being suited for parallel processing.
An input signal x.sub.m n! of an mth block has the following relationship with an input signal x.sub.m-r n! of an (m-r)th block.
Equation (16) can be expressed as equation (18) by using equation (17). ##EQU14##
M.sub.m-2s p! is defined as follows by transforming equations (18a) to (18c). ##EQU15##
UM.sub.m-2s-1 p! is defined as follows by transforming equations (18c) and (18d). ##EQU16##
Equation (19) can be changed into equation (21) by using an R sample time delay operator Z.sup.-R { }, in the case that 0.ltoreq.s<K-1. ##EQU17##
Equation (20) can also be changed into equation (22) by using the R sample time delay operator Z.sup.-R { }, in the case that 0.ltoreq.s<K-1. ##EQU18##
Also, u(p) of equation (18) can be expressed as follows by using UM.sub.m-2s p! defined in equations (19) and (20). ##EQU19##
A band-divided signal can be obtained by computing up! according to equation (23) as shown in FIG. 5, and using a fast DCT algorithm. As noted from equation (23), a previous computed and delayed term stored in a buffer is added to the computation result of a newly input block signal, and the added value is stored in the buffer. Here, the computation result stored in the buffer is independent, thus facilitating parallel processing relative to the fast algorithm I. FIG. 5 shows a fast algorithm with K=8 and M=32.
A band synthesis filtering algorithm used in the inverse-mapper 23 of FIG. 1 will be described.
A signal divided into 2KM bands is generated by equation (1). When the 2KM signals are transferred to the decoder, the signals can be reconstructed by the inverse transform of equation (24) and OLA such as equation (25).
XQ.sub.m k! of equation (24) is a signal including quantization noise generated in quantization and inverse-quantization to a signal x.sub.m k! produced by equation (1). ##EQU20##
A signal produced by equation (1) has the following periodicity: ##EQU21##
In equation (25), fn! is a synthesizing window coefficient.
Therefore, an inverse-transformed signal of equation (24) can be obtained only with M signals produced by equation (1). That is, by permutation, equation (24) is expressed as: ##EQU22##
By the permutation that k=2rM+s (0.ltoreq.r<k, 0.ltoreq.s<2M), equation (27) is rewritten as ##EQU23##
Taking into account the periodicity of equation (26a), equation (28) is rewritten as ##EQU24##
By the permutations that l=s in the case that 0.ltoreq.s<M, and l=2M-1-s in the case that M.ltoreq.s<2M, relying on the characteristics of equation (26b), equation (29) is rewritten as ##EQU25##
Accordingly, ##EQU26## where xq.sub.m n! is an inverse transformed signal, that is an inverse-transformed signal.
A signal can be reconstructed by transmitting information of not 2KM bands but m bands, operating xq.sub.m using equation (30), and applying the result to equation (25). As a result, M band-divided signals are encoded in practice.
As the band-divided signal of equation (26) has periodicity, so does a band-synthesized signal xq.sub.m n! or x.sub.m n! as follows:
When equation (25) is divided with q=2p and q=2p+1 and the periodicities of equation (32) is used, ##EQU27##
2-1) International Standard
An algorithm as shown in FIG. 6 is achieved for the audio decoder of FIG. 2 by producing the following equation, using equation (33). FIG. 6 is for the case that K=8 and M=32. ##EQU28## where D(n) and V.sub.m (n) are defined as ##EQU29## where Nn!l! is a matrix calculated by ##EQU30##
However, the algorithm for the international standard does not utilize periodicity enough and requires a large memory for operations of a synthesis filtering algorithm. Thus, a faster algorithm can be achieved by rearranging equation (35).
2-2) Fast Algorithm I
Using equations (31) and (35), equation (33) can be rewritten as ##EQU31##
When the symmetry of equation (36b) is utilized in the second term of equation (38), ##EQU32## which is expressed as follows, using the periodicity of equation (32) according to the range of n: ##EQU33##
A signal is rapidly reconstructed by computing x.sub.m n! by equation (30) and substituting the computed x.sub.m n! in equation (40). Inverse operation of DCT-II for an analysis filter serves to be a general DCT-III operation. Since equation (30) is the DCT-III operation, there exists a fast algorithm such as DCT-II. The obtained algorithm can reduce the number of multiplications from M.sup.2 to M/2.times.Log.sub.2 M+1. Therefore, a fast synthesis filtering algorithm as shown in FIG. 7 can be achieved by equations (3) and (4), under the conditions that K=8 and M=32.
2-3) Fast Algorithm II
Here, an algorithm different in structure from the fast algorithm II is induced. This algorithm has operational complexity as large as that of the fast algorithm II but shows more regular constitution, thus being more suited for parallel processing.
To induce the different structure, a part of equation (40) is defined as xbu.sub.m-2s n! given by ##EQU34##
Using the R sample time delay operator z.sup.R { } provided that 0.ltoreq.s<K-1, equation (20) can be rewritten as ##EQU35##
Using equation (42), a reconstructed signal can be obtained from signals x.sub.m n! and x.sub.m-1 n! inversely transformed by the fast DCT-II algorithm. Here, a computation result to be stored in each buffer is independent, thus facilitating parallel processing in contrast to the fast algorithm II. An algorithm as shown in FIG. 8 can be realized by using equation (42) on the condition that K=8 and M=32.
A fast algorithm having a symmetrical window will be described. From an original equation of the international standard, a window coefficient of an analysis filter hn! and a window coefficient of a synthesizing filter fn! are given as:
Thus, window coefficients Cn! and Dn! of the international standard, which are defined in equations (5) and (35) and are provided as tables, have the following relationship: ##EQU36##
Equation (44) contributes to the decrease of memory requirements in a system using both encoder and decoder.
Further, the window coefficients have the following symmetry:
Cn! and Dn! exhibit the following characteristics by equation (45): ##EQU37##
(3-1) Analysis Filter
Using the symmetry of equation (46), from equation (21) ##EQU38##
By replacing s with K-1-s, equation (48) can be rewritten as ##EQU39##
Then, by replacing p with M/2-p, equation (49) can be rewritten as ##EQU40##
Through the above procedure, equation (22) can be rewritten as ##EQU41##
To calculate x and y from a, b, c, and d values as in equation (52), four multiplications should be performed. However, the number of multiplications can be decreased to three using the structure of FIG. 9. This operation is used to increase the speed of multiplications of complex numbers.
If c and d are constants in FIG. 9, (d-c) and (c+d) are calculated in advance and stored in a memory. Hence, the number of additions increases from two to three. Since time for an addition is shorter than that for a multiplication, time required to calculate x and y is decreased.
However, equations (21b) & (51b), (22b) & (50b), and equation (52) have the same structure. The values of Cn} corresponding to c and d are stored in the memory, thus satisfying the above assumption. Therefore, an algorithm in which equation (21b) is operated with equation (51b), and equation (22b) is operated with equation (50b) can be realized using the structure of FIG. 9, as shown in FIG. 10. FIG. 10 illustrates an algorithm with K of 8 and M of 32. In the structure of FIG. 10, only M/4 window coefficients and the respective sums and differences thereof are stored. Thus, its memory requirements are smaller than that of an algorithm excluding use of symmetry but larger than that of an algorithm exclusively depending on symmetry.
To use the structure of FIG. 9, C2n!, Csumn!, and Csubn! of FIG. 10 are defined from a coefficient Cn! used for the international standard as in the following equations (54) and (55), calculated in advance, and stored for use. ##EQU42##
3-2) Synthesis Filtering Algorithm
The following equation (56) is defined using equations (42b) and (42c). ##EQU43## which is rewritten as ##EQU44##
After processing in the analysis filter, equation (42a) can be expressed as ##EQU45##
Through the same process, equation (57) is rewritten as ##EQU46##
Equations (42a) & (59b), equations (57b) & (58a), and equation (52) have the same structure. Therefore, FIG. 9 can be used to perform operations for these equations. FIG. 11 illustrates the case where equations (42a) and (59b) are operated together, and equations (57b) and (58a) are operated together, provided that K=8 and M=32. This structure has window coefficients and memory requirements for their calculation values. The memory requirements 3KM is smaller than that of an algorithm excluding symmetry, i.e., 2KM, and larger than that of an algorithm exclusively depending on symmetry, i.e., 1KM. However, such structure can reduce operational complexity in contrast to the above two algorithms.
To use the structure of FIG. 9, D2n!, Dsumn!, Dsubn! used in FIG. 11 are defined from the coefficient Dn! used in the international standard as shown in equations (60), (61), and (62), and stored for use in advance. ##EQU47##
Meanwhile, the fast algorithms applied to the three analysis and synthesis filtering algorithms suggested in the present invention will be compared in terms of performance, that is, operational complexity and memory requirements. To compare the total number of operations of the international standard method and the method proposed in the present invention with the number of operations of a method suggested by Iwadare and a method suggested by Konstantides, the number of additions and multiplications are shown in table 1!. In the international standard, K=8 and M=32. Therefore, the number of operations in the case that K=8 and M=32 are specifically shown in table 1!. As noted from table 1!, an algorithm considering window symmetry uses the smallest number of operations.
To decrease window multiplications, the window coefficients defined in the fast analysis filtering algorithm and used in FIG. 10 are calculated by equations (53), (54), and (55) as shown in FIG. 12. The window coefficients used in FIG. 11 may be calculated by equations (60), (61), and (62), and the calculated values are shown in FIG. 13.
As described above, the audio encoder and decoder having the high-speed analysis and synthesis filtering algorithms, respectively, according to the present invention exhibit the advantages: (1) operations in a band filter can be performed at a high speed by reducing operations of the band filter used for MPEG IS 11172-3; (2) storage space for window coefficients can be saved utilizing the symmetry of window coefficients in realizing a high-speed band filter; (3) when hardware for only MPEG audio is achieved by using the high-speed filtering algorithm, a slower processor can be used and thus the exclusive-use hardware becomes inexpensive; and (4) a real-time MPEG audio decoder can be realized in a general-purpose processor by using the fast filtering algorithm.